From 56583289b18a9680e06f6b8b26d05b51e4c39a42 Mon Sep 17 00:00:00 2001 From: Joseph Myers Date: Tue, 27 Oct 2015 23:56:50 +0000 Subject: [PATCH] Remove configure test for ARM TLS descriptors support. GCC 4.7 added support for ARM TLS descriptors. The binutils support is present in binutils 2.22. Thus, this patch removes the associated configure test as obsolete (leaving Makefile conditionals, as NaCl sets have-arm-tls-desc = no in its sysdeps fragment). Tested for ARM that installed shared libraries are unchanged by the patch. * sysdeps/arm/configure.ac (libc_cv_arm_tls_desc): Remove configure test. * sysdeps/arm/configure: Regenerated. * sysdeps/arm/Makefile [!have-arm-tls-desc] (have-arm-tls-desc): Define variable if not already defined. --- ChangeLog | 6 ++++++ sysdeps/arm/Makefile | 5 +++++ sysdeps/arm/configure | 36 ------------------------------------ sysdeps/arm/configure.ac | 13 ------------- 4 files changed, 11 insertions(+), 49 deletions(-) diff --git a/ChangeLog b/ChangeLog index a9a4ad088ad..362b0aaea0a 100644 --- a/ChangeLog +++ b/ChangeLog @@ -1,5 +1,11 @@ 2015-10-27 Joseph Myers + * sysdeps/arm/configure.ac (libc_cv_arm_tls_desc): Remove + configure test. + * sysdeps/arm/configure: Regenerated. + * sysdeps/arm/Makefile [!have-arm-tls-desc] (have-arm-tls-desc): + Define variable if not already defined. + [BZ #17404] * sysdeps/mips/atomic-machine.h [__GNUC_PREREQ (4, 8) || (__mips16 && __GNUC_PREREQ (4, 7))]: diff --git a/sysdeps/arm/Makefile b/sysdeps/arm/Makefile index 17c129b2e15..2849aeda423 100644 --- a/sysdeps/arm/Makefile +++ b/sysdeps/arm/Makefile @@ -1,6 +1,11 @@ gnulib-arch = $(elf-objpfx)libgcc-stubs.a static-gnulib-arch = $(elf-objpfx)libgcc-stubs.a +# All supported build tools support TLS descriptors, but the OS may not. +ifndef have-arm-tls-desc +have-arm-tls-desc = yes +endif + ifeq ($(subdir),elf) sysdep-dl-routines += tlsdesc dl-tlsdesc sysdep_routines += aeabi_unwind_cpp_pr1 find_exidx diff --git a/sysdeps/arm/configure b/sysdeps/arm/configure index 87ec430da15..431e843b2b5 100644 --- a/sysdeps/arm/configure +++ b/sysdeps/arm/configure @@ -176,42 +176,6 @@ else default-abi = soft" fi -{ $as_echo "$as_me:${as_lineno-$LINENO}: checking whether the build tools support the GNU descriptor TLS scheme" >&5 -$as_echo_n "checking whether the build tools support the GNU descriptor TLS scheme... " >&6; } -if ${libc_cv_arm_tls_desc+:} false; then : - $as_echo_n "(cached) " >&6 -else - old_CFLAGS="$CFLAGS" - CFLAGS="$CFLAGS -mtls-dialect=gnu2" - cat confdefs.h - <<_ACEOF >conftest.$ac_ext -/* end confdefs.h. */ -asm (".word\tfoo(tlsdesc)"); -int -main () -{ - - ; - return 0; -} -_ACEOF -if ac_fn_c_try_compile "$LINENO"; then : - libc_cv_arm_tls_desc=yes -else - libc_cv_arm_tls_desc=no -fi -rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext - CFLAGS="$old_CFLAGS" -fi -{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $libc_cv_arm_tls_desc" >&5 -$as_echo "$libc_cv_arm_tls_desc" >&6; } -if test $libc_cv_arm_tls_desc = yes; then - config_vars="$config_vars -have-arm-tls-desc = yes" -else - config_vars="$config_vars -have-arm-tls-desc = no" -fi - { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether PC-relative relocs in movw/movt work properly" >&5 $as_echo_n "checking whether PC-relative relocs in movw/movt work properly... " >&6; } if ${libc_cv_arm_pcrel_movw+:} false; then : diff --git a/sysdeps/arm/configure.ac b/sysdeps/arm/configure.ac index a9b114e3b93..90cdd69c757 100644 --- a/sysdeps/arm/configure.ac +++ b/sysdeps/arm/configure.ac @@ -26,19 +26,6 @@ else LIBC_CONFIG_VAR([default-abi], [soft]) fi -AC_CACHE_CHECK([whether the build tools support the GNU descriptor TLS scheme], - [libc_cv_arm_tls_desc], - [old_CFLAGS="$CFLAGS" - CFLAGS="$CFLAGS -mtls-dialect=gnu2" - AC_COMPILE_IFELSE([AC_LANG_PROGRAM([asm (".word\tfoo(tlsdesc)");], [])], - [libc_cv_arm_tls_desc=yes], [libc_cv_arm_tls_desc=no]) - CFLAGS="$old_CFLAGS"]) -if test $libc_cv_arm_tls_desc = yes; then - LIBC_CONFIG_VAR([have-arm-tls-desc], [yes]) -else - LIBC_CONFIG_VAR([have-arm-tls-desc], [no]) -fi - AC_CACHE_CHECK([whether PC-relative relocs in movw/movt work properly], libc_cv_arm_pcrel_movw, [ cat > conftest.s <<\EOF -- 2.39.5