1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25
|
Author: Sergei Golovan
Description: This patch fixes FTBFS for x86_x32 architecture (x86_64
with 32-bit integers, longs and pointers).
Last-Modified: Sun, 27 Dec 2015 12:39:07 +0300
--- a/erts/lib_src/pthread/ethread.c
+++ b/erts/lib_src/pthread/ethread.c
@@ -190,7 +190,7 @@
void
ethr_x86_cpuid__(int *eax, int *ebx, int *ecx, int *edx)
{
-#if ETHR_SIZEOF_PTR == 4
+#if ETHR_SIZEOF_PTR == 4 && (!defined(__x86_64__) || !(__x86_64__ && __ILP32__))
int have_cpuid;
/*
* If it is possible to toggle eflags bit 21,
@@ -217,7 +217,7 @@
return;
}
#endif
-#if ETHR_SIZEOF_PTR == 4 && defined(__PIC__) && __PIC__
+#if ETHR_SIZEOF_PTR == 4 && (!defined(__x86_64__) || !(__x86_64__ && __ILP32__)) && defined(__PIC__) && __PIC__
/*
* When position independent code is used in 32-bit mode, the B register
* is used for storage of global offset table address, and we may not
|