Disable JIT on x32 ABI
authorDmitry Shachnev <mitya57@gmail.com>
Sat, 28 Feb 2015 11:29:52 +0000 (14:29 +0300)
committerErik Verbruggen <erik.verbruggen@theqtcompany.com>
Wed, 4 Mar 2015 09:21:56 +0000 (09:21 +0000)
Linux x32 interface has a different ABI, and our JIT does not work there,
so it should be disabled.

See <http://en.wikipedia.org/wiki/X32_ABI>.

Done-with: Adam Borowski <kilobyte@angband.pl>
Change-Id: I0771e48a51f999a97b49abc01ee72621a5aaa6c3
Reviewed-by: Thiago Macieira <thiago.macieira@intel.com>
src/qml/jsruntime/qv4global_p.h

index a58beb3..1208f0f 100644 (file)
@@ -69,9 +69,11 @@ inline double trunc(double d) { return d > 0 ? floor(d) : ceil(d); }
 //
 // NOTE: This should match the logic in qv4targetplatform_p.h!
 
-#if defined(Q_PROCESSOR_X86) && (defined(Q_OS_WIN) || defined(Q_OS_LINUX) || defined(Q_OS_QNX) || defined(Q_OS_FREEBSD))
+#if defined(Q_PROCESSOR_X86) && !defined(__ILP32__) \
+    && (defined(Q_OS_WIN) || defined(Q_OS_LINUX) || defined(Q_OS_QNX) || defined(Q_OS_FREEBSD))
 #define V4_ENABLE_JIT
-#elif defined(Q_PROCESSOR_X86_64) && (defined(Q_OS_WIN) || defined(Q_OS_LINUX) || defined(Q_OS_MAC) || defined(Q_OS_FREEBSD))
+#elif defined(Q_PROCESSOR_X86_64) && !defined(__ILP32__) \
+    && (defined(Q_OS_WIN) || defined(Q_OS_LINUX) || defined(Q_OS_MAC) || defined(Q_OS_FREEBSD))
 #define V4_ENABLE_JIT
 #elif defined(Q_PROCESSOR_ARM_32)