67 lines
1.7 KiB
Diff
67 lines
1.7 KiB
Diff
commit 9afc2ee682d2f9fd3ad938756c841d7f0eed5f21
|
|
Author: Anton Blanchard <anton@samba.org>
|
|
Date: Thu Jul 11 12:03:57 2013 +1000
|
|
|
|
powerpc: enhance 32/64bit detection
|
|
|
|
We were using uname to determine if userspace was 32 or 64bit.
|
|
This fails when we have a 64bit kernel and a 32bit userspace.
|
|
|
|
* configure.ac (powerpc*): Similar to x86, use a runtime test
|
|
to determine if we are 32 or 64bit.
|
|
|
|
Signed-off-by: Anton Blanchard <anton@samba.org>
|
|
|
|
diff --git a/configure.ac b/configure.ac
|
|
index 03e49fe..b3b62e8 100644
|
|
--- a/configure.ac
|
|
+++ b/configure.ac
|
|
@@ -54,7 +54,11 @@ alpha*)
|
|
powerpc*)
|
|
arch=powerpc
|
|
AC_DEFINE([POWERPC], 1, [Define for the PowerPC architecture.])
|
|
- if test $host_cpu = powerpc64; then
|
|
+ AC_TRY_COMPILE(
|
|
+[#ifndef __LP64__
|
|
+# error 32 bit
|
|
+#endif], [], ppc_bits=64, ppc_bits=32)
|
|
+ if test "$ppc_bits" = "64"; then
|
|
AC_DEFINE([POWERPC64], 1, [Define for the PowerPC64 architecture.])
|
|
fi
|
|
;;
|
|
diff -up strace-4.8/configure.ppc64 strace-4.8/configure
|
|
--- strace-4.8/configure.ppc64 2013-06-05 02:02:43.000000000 +0200
|
|
+++ strace-4.8/configure 2014-07-25 16:16:01.000000000 +0200
|
|
@@ -4660,10 +4660,29 @@ powerpc*)
|
|
|
|
$as_echo "#define POWERPC 1" >>confdefs.h
|
|
|
|
- if test $host_cpu = powerpc64; then
|
|
+ cat confdefs.h - <<_ACEOF >conftest.$ac_ext
|
|
+/* end confdefs.h. */
|
|
+#ifndef __LP64__
|
|
+# error 32 bit
|
|
+#endif
|
|
+int
|
|
+main ()
|
|
+{
|
|
|
|
-$as_echo "#define POWERPC64 1" >>confdefs.h
|
|
+ ;
|
|
+ return 0;
|
|
+}
|
|
+_ACEOF
|
|
+if ac_fn_c_try_compile "$LINENO"; then :
|
|
+ ppc_bits=64
|
|
+else
|
|
+ ppc_bits=32
|
|
+fi
|
|
+rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
|
|
+ if test "$ppc_bits" = "64"; then
|
|
|
|
+$as_echo "#define POWERPC64 1" >>confdefs.h
|
|
+
|
|
fi
|
|
;;
|
|
arm*)
|