summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorMike Pall <mike>2022-09-12 11:16:20 +0200
committerMike Pall <mike>2022-09-12 11:16:20 +0200
commite19db605129ea755b325e4396f58141dbdfd23a0 (patch)
treeb027992a7ef08f0685e81dac7e4c6b57c15846ed
parent03080b795aa3496ed62d4a0697c9f4767e7ca7e5 (diff)
downloadluajit2-e19db605129ea755b325e4396f58141dbdfd23a0.tar.gz
Fix QNX build.
Note: this is not an officially supported target. Contributed by Wen Yang.
-rw-r--r--src/lj_arch.h3
-rw-r--r--src/lj_prng.c2
-rw-r--r--src/lj_profile.c4
3 files changed, 8 insertions, 1 deletions
diff --git a/src/lj_arch.h b/src/lj_arch.h
index 882c99cb..5fb798d9 100644
--- a/src/lj_arch.h
+++ b/src/lj_arch.h
@@ -93,6 +93,9 @@
#elif defined(__CYGWIN__)
#define LJ_TARGET_CYGWIN 1
#define LUAJIT_OS LUAJIT_OS_POSIX
+#elif defined(__QNX__)
+#define LJ_TARGET_QNX 1
+#define LUAJIT_OS LUAJIT_OS_POSIX
#else
#define LUAJIT_OS LUAJIT_OS_OTHER
#endif
diff --git a/src/lj_prng.c b/src/lj_prng.c
index 9e57505e..01935e57 100644
--- a/src/lj_prng.c
+++ b/src/lj_prng.c
@@ -125,7 +125,7 @@ static PRGR libfunc_rgr;
#if __MAC_OS_X_VERSION_MIN_REQUIRED >= 101200
#define LJ_TARGET_HAS_GETENTROPY 1
#endif
-#elif (LJ_TARGET_BSD && !defined(__NetBSD__)) || LJ_TARGET_SOLARIS || LJ_TARGET_CYGWIN
+#elif (LJ_TARGET_BSD && !defined(__NetBSD__)) || LJ_TARGET_SOLARIS || LJ_TARGET_CYGWIN || LJ_TARGET_QNX
#define LJ_TARGET_HAS_GETENTROPY 1
#endif
diff --git a/src/lj_profile.c b/src/lj_profile.c
index f0af91cb..4a13537d 100644
--- a/src/lj_profile.c
+++ b/src/lj_profile.c
@@ -185,7 +185,11 @@ static void profile_timer_start(ProfileState *ps)
tm.it_value.tv_sec = tm.it_interval.tv_sec = interval / 1000;
tm.it_value.tv_usec = tm.it_interval.tv_usec = (interval % 1000) * 1000;
setitimer(ITIMER_PROF, &tm, NULL);
+#if LJ_TARGET_QNX
+ sa.sa_flags = 0;
+#else
sa.sa_flags = SA_RESTART;
+#endif
sa.sa_handler = profile_signal;
sigemptyset(&sa.sa_mask);
sigaction(SIGPROF, &sa, &ps->oldsa);