ARM: Clean up EABI-related configury
This commit is contained in:
parent
8badf496ab
commit
37fccd4192
12
ChangeLog
12
ChangeLog
|
@ -1,3 +1,15 @@
|
|||
2014-07-16 Roland McGrath <roland@hack.frob.com>
|
||||
|
||||
* sysdeps/arm/preconfigure.ac: Apply EABI sanity check to arm*, not
|
||||
just Linux configurations. Test empirically that the compiler sets
|
||||
__ARM_EABI__, rather than using the tuple to decide.
|
||||
* sysdeps/arm/preconfigure: Regenerated.
|
||||
* sysdeps/unix/sysv/linux/arm/configure: File removed.
|
||||
* sysdeps/unix/sysv/linux/arm/configure.ac: File removed,
|
||||
contents appended ...
|
||||
* sysdeps/arm/configure.ac: ... here.
|
||||
* sysdeps/arm/configure: Regenerated.
|
||||
|
||||
2014-07-15 Roland McGrath <roland@hack.frob.com>
|
||||
|
||||
* nptl/pthread_kill.c: New file.
|
||||
|
|
|
@ -210,3 +210,11 @@ else
|
|||
config_vars="$config_vars
|
||||
have-arm-tls-desc = no"
|
||||
fi
|
||||
|
||||
libc_cv_gcc_unwind_find_fde=no
|
||||
|
||||
# Remove -fno-unwind-tables that was added in sysdeps/arm/preconfigure.ac.
|
||||
CFLAGS=${CFLAGS% -fno-unwind-tables}
|
||||
|
||||
libc_cv_gcc_exceptions=yes
|
||||
exceptions=-fexceptions
|
||||
|
|
|
@ -39,3 +39,14 @@ if test $libc_cv_arm_tls_desc = yes; then
|
|||
else
|
||||
LIBC_CONFIG_VAR([have-arm-tls-desc], [no])
|
||||
fi
|
||||
|
||||
libc_cv_gcc_unwind_find_fde=no
|
||||
|
||||
# Remove -fno-unwind-tables that was added in sysdeps/arm/preconfigure.ac.
|
||||
CFLAGS=${CFLAGS% -fno-unwind-tables}
|
||||
|
||||
dnl The normal configure check for gcc -fexecptions fails because it can't
|
||||
dnl find __aeabi_unwind_cpp_pr0. Work around this here; our GCC definitely
|
||||
dnl has -fexceptions.
|
||||
libc_cv_gcc_exceptions=yes
|
||||
exceptions=-fexceptions
|
||||
|
|
|
@ -3,22 +3,36 @@
|
|||
|
||||
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*)
|
||||
as_fn_error $? "Old ABI no longer supported" "$LINENO" 5
|
||||
;;
|
||||
esac
|
||||
|
||||
cat confdefs.h - <<_ACEOF >conftest.$ac_ext
|
||||
/* end confdefs.h. */
|
||||
|
||||
#if !__ARM_EABI__
|
||||
#error
|
||||
#endif
|
||||
int
|
||||
main ()
|
||||
{
|
||||
|
||||
;
|
||||
return 0;
|
||||
}
|
||||
_ACEOF
|
||||
if ac_fn_c_try_compile "$LINENO"; then :
|
||||
|
||||
else
|
||||
as_fn_error $? "Old ABI no longer supported" "$LINENO" 5
|
||||
fi
|
||||
rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
|
||||
|
||||
# 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
|
||||
|
|
|
@ -3,22 +3,19 @@ GLIBC_PROVIDES dnl See aclocal.m4 in the top level source directory.
|
|||
|
||||
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
|
||||
AC_TRY_COMPILE([
|
||||
#if !__ARM_EABI__
|
||||
#error
|
||||
#endif], [], [], [AC_MSG_ERROR([Old ABI no longer supported])])
|
||||
|
||||
# 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
|
||||
|
|
|
@ -1,9 +0,0 @@
|
|||
# This file is generated from configure.ac by Autoconf. DO NOT EDIT!
|
||||
# Local configure fragment for sysdeps/unix/sysv/linux/arm.
|
||||
|
||||
libc_cv_gcc_unwind_find_fde=no
|
||||
# Remove -fno-unwind-tables that was added in sysdeps/arm/preconfigure.ac.
|
||||
CFLAGS=${CFLAGS% -fno-unwind-tables}
|
||||
|
||||
libc_cv_gcc_exceptions=yes
|
||||
exceptions=-fexceptions
|
|
@ -1,12 +0,0 @@
|
|||
GLIBC_PROVIDES dnl See aclocal.m4 in the top level source directory.
|
||||
# Local configure fragment for sysdeps/unix/sysv/linux/arm.
|
||||
|
||||
libc_cv_gcc_unwind_find_fde=no
|
||||
# Remove -fno-unwind-tables that was added in sysdeps/arm/preconfigure.ac.
|
||||
CFLAGS=${CFLAGS% -fno-unwind-tables}
|
||||
|
||||
dnl The normal configure check for gcc -fexecptions fails because it can't
|
||||
dnl find __aeabi_unwind_cpp_pr0. Work around this here; our GCC definitely
|
||||
dnl has -fexceptions.
|
||||
libc_cv_gcc_exceptions=yes
|
||||
exceptions=-fexceptions
|
Loading…
Reference in New Issue