diff options
author | Maciej W. Rozycki <macro@codesourcery.com> | 2014-06-20 20:08:03 +0100 |
---|---|---|
committer | Maciej W. Rozycki <macro@codesourcery.com> | 2014-06-20 20:22:42 +0100 |
commit | 90e5dd482fc4708d559fbec9740104470ffdb9df (patch) | |
tree | 0e1cf5705463c270c44330e0b8b4660004dc55e6 /sysdeps/arm/configure.ac | |
parent | 809fdf0d23ddb683eb60672465d7a39d02ef272b (diff) | |
download | glibc-90e5dd482fc4708d559fbec9740104470ffdb9df.tar.gz glibc-90e5dd482fc4708d559fbec9740104470ffdb9df.tar.xz glibc-90e5dd482fc4708d559fbec9740104470ffdb9df.zip |
[BZ #17075] ARM: Fix immediate calculation of R_ARM_TLS_DESC
This fixes the calculation of R_ARM_TLS_DESC relocations for lazy global symbol references, i.e. created with `-z lazy' in effect with the static linker, where immediate resolution is requested with LD_BIND_NOW.
Diffstat (limited to 'sysdeps/arm/configure.ac')
-rw-r--r-- | sysdeps/arm/configure.ac | 13 |
1 files changed, 13 insertions, 0 deletions
diff --git a/sysdeps/arm/configure.ac b/sysdeps/arm/configure.ac index d66500b3fd..fdc52c0408 100644 --- a/sysdeps/arm/configure.ac +++ b/sysdeps/arm/configure.ac @@ -44,3 +44,16 @@ if test $libc_cv_arm_pcs_vfp = yes; then 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 |