mirror of
git://sourceware.org/git/glibc.git
synced 2024-12-15 04:20:28 +08:00
a885fc2d68
The ARM preconfigure script tries to detect the capabilities of the target platform by checking the compiler's predefined architecture macros. However, if the compiler is tuning for AArch32 on ARMv8/v9 this step fails: checking for sysdeps preconfigure fragments... aarch64 alpha arc arm WARNING: arm/preconfigure: Did not find ARM architecture type; using default This is because preconfigure.ac doesn't escape the square brackets in the glob for matching compilers targeting ARMv8. Adding another pair of brackets to escape the first pair fixes this: checking for sysdeps preconfigure fragments... aarch64 alpha arc arm Found compiler is configured for something newer than v7 - using v7 Signed-off-by: Felix Riemann <felix.riemann@sma.de> Reviewed-by: Adhemerval Zanella <adhemerval.zanella@linaro.org>
57 lines
1.7 KiB
Plaintext
57 lines
1.7 KiB
Plaintext
GLIBC_PROVIDES dnl See aclocal.m4 in the top level source directory.
|
|
# Local preconfigure fragment for sysdeps/arm
|
|
|
|
case "$machine" in
|
|
arm*)
|
|
# If the compiler enables unwind tables by default, this causes
|
|
# problems with undefined symbols in -nostdlib link tests. To
|
|
# avoid this, add -fno-unwind-tables here and remove it in
|
|
# sysdeps/arm/configure.ac after those tests have been run.
|
|
if test "${CFLAGS+set}" != "set"; then
|
|
CFLAGS="-g -O2"
|
|
fi
|
|
CFLAGS="$CFLAGS -fno-unwind-tables"
|
|
|
|
base_machine=arm
|
|
# Lets ask the compiler which ARM family we've got
|
|
# Unfortunately it doesn't define any flags for implementations
|
|
# that you might pass to -mcpu or -mtune
|
|
# Note if you add patterns here you must ensure that
|
|
# an appropriate directory exists in sysdeps/arm
|
|
archcppflag=`$CC $CFLAGS $CPPFLAGS -E -dM -xc /dev/null |
|
|
sed -n 's/^#define \(__ARM_ARCH_[0-9].*__\) .*$/\1/p'`
|
|
|
|
case "x$archcppflag" in
|
|
x__ARM_ARCH_[[89]]*__)
|
|
machine=armv7
|
|
AC_MSG_NOTICE([Found compiler is configured for something newer than v7 - using v7])
|
|
;;
|
|
|
|
x__ARM_ARCH_7A__)
|
|
machine=armv7
|
|
AC_MSG_NOTICE([Found compiler is configured for $machine])
|
|
;;
|
|
|
|
x__ARM_ARCH_6T2__)
|
|
machine=armv6t2
|
|
AC_MSG_NOTICE([Found compiler is configured for $machine])
|
|
;;
|
|
x__ARM_ARCH_6*__)
|
|
machine=armv6
|
|
AC_MSG_NOTICE([Found compiler is configured for $machine])
|
|
;;
|
|
*)
|
|
machine=arm
|
|
AC_MSG_WARN([arm/preconfigure: Did not find ARM architecture type; using default])
|
|
;;
|
|
esac
|
|
|
|
AC_EGREP_CPP(yes,[#if __BYTE_ORDER__ == __ORDER_LITTLE_ENDIAN__
|
|
yes
|
|
#endif
|
|
], endianness=le, endianness=be)
|
|
|
|
machine=arm/$endianness/$machine
|
|
with_fp_cond="!defined __SOFTFP__"
|
|
esac
|