[llvm-commits] [llvm] r66765 - in /llvm/trunk: Makefile.rules autoconf/configure.ac autoconf/m4/linux_mixed_64_32.m4
Nick Lewycky
nicholas at mxc.ca
Wed Mar 11 20:34:20 PDT 2009
Author: nicholas
Date: Wed Mar 11 22:34:19 2009
New Revision: 66765
URL: http://llvm.org/viewvc/llvm-project?rev=66765&view=rev
Log:
Set ARCH to x86 on mixed 32/64-bit Linux systems.
Remove the explicit if OS = Darwin test around the setting of -m32/-m64.
Added:
llvm/trunk/autoconf/m4/linux_mixed_64_32.m4
Modified:
llvm/trunk/Makefile.rules
llvm/trunk/autoconf/configure.ac
Modified: llvm/trunk/Makefile.rules
URL: http://llvm.org/viewvc/llvm-project/llvm/trunk/Makefile.rules?rev=66765&r1=66764&r2=66765&view=diff
==============================================================================
--- llvm/trunk/Makefile.rules (original)
+++ llvm/trunk/Makefile.rules Wed Mar 11 22:34:19 2009
@@ -522,13 +522,11 @@
# Building universal cannot compute dependencies automatically.
DISABLE_AUTO_DEPENDENCIES=1
else
- ifeq ($(OS),Darwin)
- ifeq ($(ARCH),x86_64)
- CompileCommonOpts += -m64
- else
- ifeq ($(ARCH),x86)
- CompileCommonOpts += -m32
- endif
+ ifeq ($(ARCH),x86_64)
+ CompileCommonOpts += -m64
+ else
+ ifeq ($(ARCH),x86)
+ CompileCommonOpts += -m32
endif
endif
endif
Modified: llvm/trunk/autoconf/configure.ac
URL: http://llvm.org/viewvc/llvm-project/llvm/trunk/autoconf/configure.ac?rev=66765&r1=66764&r2=66765&view=diff
==============================================================================
--- llvm/trunk/autoconf/configure.ac (original)
+++ llvm/trunk/autoconf/configure.ac Wed Mar 11 22:34:19 2009
@@ -233,6 +233,13 @@
AC_MSG_WARN([Configuring LLVM for an unknown target archicture])
fi
+if test "$llvm_cv_os_type" = "Linux" -a "$llvm_cv_target_arch" = "x86_64" ; then
+ AC_IS_LINUX_MIXED
+ if test "$llvm_cv_linux_mixed" = "yes"; then
+ llvm_cv_target_arch="x86"
+ fi
+fi
+
dnl Define a substitution, ARCH, for the target architecture
AC_SUBST(ARCH,$llvm_cv_target_arch)
Added: llvm/trunk/autoconf/m4/linux_mixed_64_32.m4
URL: http://llvm.org/viewvc/llvm-project/llvm/trunk/autoconf/m4/linux_mixed_64_32.m4?rev=66765&view=auto
==============================================================================
--- llvm/trunk/autoconf/m4/linux_mixed_64_32.m4 (added)
+++ llvm/trunk/autoconf/m4/linux_mixed_64_32.m4 Wed Mar 11 22:34:19 2009
@@ -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])
+])
+])
More information about the llvm-commits
mailing list