mirror of
https://sourceware.org/git/glibc.git
synced 2025-08-01 10:06:57 +03:00
ARM: Clean up EABI-related configury
This commit is contained in:
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>
|
2014-07-15 Roland McGrath <roland@hack.frob.com>
|
||||||
|
|
||||||
* nptl/pthread_kill.c: New file.
|
* nptl/pthread_kill.c: New file.
|
||||||
|
8
sysdeps/arm/configure
vendored
8
sysdeps/arm/configure
vendored
@ -210,3 +210,11 @@ else
|
|||||||
config_vars="$config_vars
|
config_vars="$config_vars
|
||||||
have-arm-tls-desc = no"
|
have-arm-tls-desc = no"
|
||||||
fi
|
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
|
else
|
||||||
LIBC_CONFIG_VAR([have-arm-tls-desc], [no])
|
LIBC_CONFIG_VAR([have-arm-tls-desc], [no])
|
||||||
fi
|
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
|
case "$machine" in
|
||||||
arm*)
|
arm*)
|
||||||
case $config_os in
|
|
||||||
linux-gnueabi*)
|
cat confdefs.h - <<_ACEOF >conftest.$ac_ext
|
||||||
# If the compiler enables unwind tables by default, this causes
|
/* end confdefs.h. */
|
||||||
# problems with undefined symbols in -nostdlib link tests. To
|
|
||||||
# avoid this, add -fno-unwind-tables here and remove it in
|
#if !__ARM_EABI__
|
||||||
# sysdeps/unix/sysv/linux/arm/configure.ac after those tests have
|
#error
|
||||||
# been run.
|
#endif
|
||||||
if test "${CFLAGS+set}" != "set"; then
|
int
|
||||||
CFLAGS="-g -O2"
|
main ()
|
||||||
fi
|
{
|
||||||
CFLAGS="$CFLAGS -fno-unwind-tables"
|
|
||||||
;;
|
;
|
||||||
linux*)
|
return 0;
|
||||||
as_fn_error $? "Old ABI no longer supported" "$LINENO" 5
|
}
|
||||||
;;
|
_ACEOF
|
||||||
esac
|
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
|
base_machine=arm
|
||||||
# Lets ask the compiler which ARM family we've got
|
# 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
|
case "$machine" in
|
||||||
arm*)
|
arm*)
|
||||||
case $config_os in
|
AC_TRY_COMPILE([
|
||||||
linux-gnueabi*)
|
#if !__ARM_EABI__
|
||||||
# If the compiler enables unwind tables by default, this causes
|
#error
|
||||||
# problems with undefined symbols in -nostdlib link tests. To
|
#endif], [], [], [AC_MSG_ERROR([Old ABI no longer supported])])
|
||||||
# avoid this, add -fno-unwind-tables here and remove it in
|
|
||||||
# sysdeps/unix/sysv/linux/arm/configure.ac after those tests have
|
# If the compiler enables unwind tables by default, this causes
|
||||||
# been run.
|
# problems with undefined symbols in -nostdlib link tests. To
|
||||||
if test "${CFLAGS+set}" != "set"; then
|
# avoid this, add -fno-unwind-tables here and remove it in
|
||||||
CFLAGS="-g -O2"
|
# sysdeps/arm/configure.ac after those tests have been run.
|
||||||
fi
|
if test "${CFLAGS+set}" != "set"; then
|
||||||
CFLAGS="$CFLAGS -fno-unwind-tables"
|
CFLAGS="-g -O2"
|
||||||
;;
|
fi
|
||||||
linux*)
|
CFLAGS="$CFLAGS -fno-unwind-tables"
|
||||||
AC_MSG_ERROR([Old ABI no longer supported])
|
|
||||||
;;
|
|
||||||
esac
|
|
||||||
|
|
||||||
base_machine=arm
|
base_machine=arm
|
||||||
# Lets ask the compiler which ARM family we've got
|
# Lets ask the compiler which ARM family we've got
|
||||||
|
9
sysdeps/unix/sysv/linux/arm/configure
vendored
9
sysdeps/unix/sysv/linux/arm/configure
vendored
@ -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
|
|
Reference in New Issue
Block a user