summary refs log tree commit diff
diff options
context:
space:
mode:
authorFlorian Weimer <fweimer@redhat.com>2020-05-12 11:30:30 +0200
committerFlorian Weimer <fweimer@redhat.com>2020-05-12 12:51:10 +0200
commit16536e98e36e08bc1ce1edbd8dd50c7c3bb7a936 (patch)
treea8acf52f52a58d60b350711a3f35a6e54c9f50e9
parentc2d0411488c68a07cc22a5dd76fa37e952d2a66b (diff)
downloadglibc-16536e98e36e08bc1ce1edbd8dd50c7c3bb7a936.tar.gz
glibc-16536e98e36e08bc1ce1edbd8dd50c7c3bb7a936.tar.xz
glibc-16536e98e36e08bc1ce1edbd8dd50c7c3bb7a936.zip
aarch64: Accept PLT calls to __getauxval within libc.so
When using outline atomics (-moutline-atomics, the default for ARMv8-A
starting with GCC 10), libgcc contains an ELF constructor which calls
__getauxval.  This code is built outside of glibc, so none of its
internal PLT avoidance schemes can be applied to it.  This change
suppresses the elf/check-localplt failure.
-rw-r--r--sysdeps/unix/sysv/linux/aarch64/localplt.data3
1 files changed, 3 insertions, 0 deletions
diff --git a/sysdeps/unix/sysv/linux/aarch64/localplt.data b/sysdeps/unix/sysv/linux/aarch64/localplt.data
index 56f362d3a7..2c14b652ef 100644
--- a/sysdeps/unix/sysv/linux/aarch64/localplt.data
+++ b/sysdeps/unix/sysv/linux/aarch64/localplt.data
@@ -7,6 +7,9 @@ libc.so: malloc
 libc.so: memalign
 libc.so: realloc
 libm.so: matherr
+# If outline atomics are used, libgcc (built outside of glibc) may
+# call __getauxval using the PLT.
+libc.so: __getauxval ?
 # The dynamic loader needs __tls_get_addr for TLS.
 ld.so: __tls_get_addr
 # The TLS-enabled version of these functions is interposed from libc.so.