mirror of
https://github.com/c64scene-ar/llvm-6502.git
synced 2024-11-01 15:11:24 +00:00
On Linux, uname -m reports the kernel type. Some Linux systems are 32-bit but
with a 64-bit kernel, which confuses LLVM. Make LLVM double-check this by checking which defines the system gcc actually sets. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@83047 91177308-0d34-0410-b5e6-96231b3b80d8
This commit is contained in:
parent
0475c9170e
commit
558aef86c2
@ -284,6 +284,14 @@ if test "$llvm_cv_target_arch" = "Unknown" ; then
|
|||||||
AC_MSG_WARN([Configuring LLVM for an unknown target archicture])
|
AC_MSG_WARN([Configuring LLVM for an unknown target archicture])
|
||||||
fi
|
fi
|
||||||
|
|
||||||
|
dnl Handle 32-bit linux systems running a 64-bit kernel.
|
||||||
|
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
|
||||||
|
|
||||||
# Determine the LLVM native architecture for the target
|
# Determine the LLVM native architecture for the target
|
||||||
case "$llvm_cv_target_arch" in
|
case "$llvm_cv_target_arch" in
|
||||||
x86) LLVM_NATIVE_ARCH="X86" ;;
|
x86) LLVM_NATIVE_ARCH="X86" ;;
|
||||||
|
17
autoconf/m4/linux_mixed_64_32.m4
Normal file
17
autoconf/m4/linux_mixed_64_32.m4
Normal file
@ -0,0 +1,17 @@
|
|||||||
|
#
|
||||||
|
# Some Linux machines run a 64-bit kernel with a 32-bit userspace. 'uname -m'
|
||||||
|
# shows these as x86_64. 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])
|
||||||
|
])
|
||||||
|
])
|
Loading…
Reference in New Issue
Block a user