diff options
author | Szabolcs Nagy <szabolcs.nagy@arm.com> | 2021-01-05 16:10:40 +0000 |
---|---|---|
committer | Szabolcs Nagy <szabolcs.nagy@arm.com> | 2021-01-08 11:14:02 +0000 |
commit | 2f056e8a5dd4dc0f075413f931e82cede37d1057 (patch) | |
tree | 6548c6c7d03f017920c107ba4d2b2064a00cad42 | |
parent | 18b640c57094236e6c991ba16f87467085a1d55a (diff) | |
download | glibc-2f056e8a5dd4dc0f075413f931e82cede37d1057.tar.gz glibc-2f056e8a5dd4dc0f075413f931e82cede37d1057.tar.xz glibc-2f056e8a5dd4dc0f075413f931e82cede37d1057.zip |
aarch64: define PI_STATIC_AND_HIDDEN
AArch64 always uses pc relative access to static and hidden object symbols, but the config setting was previously missing. This affects ld.so start up code.
-rw-r--r-- | sysdeps/aarch64/configure | 5 | ||||
-rw-r--r-- | sysdeps/aarch64/configure.ac | 4 |
2 files changed, 9 insertions, 0 deletions
diff --git a/sysdeps/aarch64/configure b/sysdeps/aarch64/configure index 1f8223725f..5f5f3cc44c 100644 --- a/sysdeps/aarch64/configure +++ b/sysdeps/aarch64/configure @@ -1,6 +1,11 @@ # This file is generated from configure.ac by Autoconf. DO NOT EDIT! # Local configure fragment for sysdeps/aarch64. +# Static and hidden objects are accessed without dynamic relocations. +# The exception is -mcmodel=large which is unsupported with PIC/PIE. +$as_echo "#define PI_STATIC_AND_HIDDEN 1" >>confdefs.h + + # We check to see if the compiler and flags are # selecting the big endian ABI and if they are then # we set libc_cv_aarch64_be to yes which causes diff --git a/sysdeps/aarch64/configure.ac b/sysdeps/aarch64/configure.ac index da2a8d81d0..180a16a29f 100644 --- a/sysdeps/aarch64/configure.ac +++ b/sysdeps/aarch64/configure.ac @@ -1,6 +1,10 @@ GLIBC_PROVIDES dnl See aclocal.m4 in the top level source directory. # Local configure fragment for sysdeps/aarch64. +# Static and hidden objects are accessed without dynamic relocations. +# The exception is -mcmodel=large which is unsupported with PIC/PIE. +AC_DEFINE(PI_STATIC_AND_HIDDEN) + # We check to see if the compiler and flags are # selecting the big endian ABI and if they are then # we set libc_cv_aarch64_be to yes which causes |