aboutsummaryrefslogtreecommitdiff
path: root/autoconf/m4
diff options
context:
space:
mode:
authorNick Lewycky <nicholas@mxc.ca>2009-03-12 03:34:19 +0000
committerNick Lewycky <nicholas@mxc.ca>2009-03-12 03:34:19 +0000
commit8bc080358f15ab814822e29795b17dbaceb769e7 (patch)
tree844c95faa0e52d5837ec138f798e597b13ceaf0f /autoconf/m4
parent054401b9f2f90e07d06ce0550f6df4f4ecbe2f18 (diff)
Set ARCH to x86 on mixed 32/64-bit Linux systems.
Remove the explicit if OS = Darwin test around the setting of -m32/-m64. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@66765 91177308-0d34-0410-b5e6-96231b3b80d8
Diffstat (limited to 'autoconf/m4')
-rw-r--r--autoconf/m4/linux_mixed_64_32.m417
1 files changed, 17 insertions, 0 deletions
diff --git a/autoconf/m4/linux_mixed_64_32.m4 b/autoconf/m4/linux_mixed_64_32.m4
new file mode 100644
index 0000000000..7c781ac280
--- /dev/null
+++ b/autoconf/m4/linux_mixed_64_32.m4
@@ -0,0 +1,17 @@
+#
+# Some Linux machines run a 64-bit kernel with a 32-bit userspace. 'uname -m'
+# shows these at x86_64, so in that case, ask the system 'gcc' what it thinks.
+#
+AC_DEFUN([AC_IS_LINUX_MIXED],
+[AC_CACHE_CHECK(for 32-bit userspace on 64-bit system,llvm_cv_linux_mixed,
+[ AC_LANG_PUSH([C])
+ AC_COMPILE_IFELSE([AC_LANG_PROGRAM(
+ [[#ifndef __x86_64__
+ error: Not x86-64 even if uname says so!
+ #endif
+ ]])],
+ [llvm_cv_linux_mixed=no],
+ [llvm_cv_linux_mixed=yes])
+ AC_LANG_POP([C])
+])
+])