glibc/sysdeps/arm/preconfigure.ac
Will Newton 28162f4dac ARM: Allow auto-detection of linker relro feature
Set values for libc_commonpagesize and libc_relro_required for the
ARM port to enable relro by default and suppress a warning at
configure time.

ChangeLog:

2014-05-09  Will Newton  <will.newton@linaro.org>

	* sysdeps/arm/preconfigure.ac: Set libc_commonpagesize
	and libc_relro_required for ARM.
	* sysdeps/arm/preconfigure: Regenerate.
2014-05-09 16:57:12 +01:00

67 lines
1.8 KiB
Plaintext

GLIBC_PROVIDES dnl See aclocal.m4 in the top level source directory.
# Local preconfigure fragment for sysdeps/arm
case "$machine" in
arm*)
case $config_os in
linux-gnueabi*)
# 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/unix/sysv/linux/arm/configure.ac after those tests have
# been run.
if test "${CFLAGS+set}" != "set"; then
CFLAGS="-g -O2"
fi
CFLAGS="$CFLAGS -fno-unwind-tables"
;;
linux*)
AC_MSG_ERROR([Old ABI no longer supported])
;;
esac
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
machine=arm/$machine
esac
case "$machine" in
arm*)
# Parameters to allow auto-detection of -z relro.
libc_commonpagesize=0x1000
libc_relro_required=yes
;;
esac