edfbb2
commit 16536e98e36e08bc1ce1edbd8dd50c7c3bb7a936
edfbb2
Author: Florian Weimer <fweimer@redhat.com>
edfbb2
Date:   Tue May 12 11:30:30 2020 +0200
edfbb2
edfbb2
    aarch64: Accept PLT calls to __getauxval within libc.so
edfbb2
    
edfbb2
    When using outline atomics (-moutline-atomics, the default for ARMv8-A
edfbb2
    starting with GCC 10), libgcc contains an ELF constructor which calls
edfbb2
    __getauxval.  This code is built outside of glibc, so none of its
edfbb2
    internal PLT avoidance schemes can be applied to it.  This change
edfbb2
    suppresses the elf/check-localplt failure.
edfbb2
edfbb2
diff -rup a/sysdeps/unix/sysv/linux/aarch64/localplt.data b/sysdeps/unix/sysv/linux/aarch64/localplt.data
edfbb2
--- a/sysdeps/unix/sysv/linux/aarch64/localplt.data	2018-08-01 01:10:47.000000000 -0400
edfbb2
+++ b/sysdeps/unix/sysv/linux/aarch64/localplt.data	2020-10-27 15:55:53.457002541 -0400
edfbb2
@@ -7,6 +7,9 @@ libc.so: malloc
edfbb2
 libc.so: memalign
edfbb2
 libc.so: realloc
edfbb2
 libm.so: matherr
edfbb2
+# If outline atomics are used, libgcc (built outside of glibc) may
edfbb2
+# call __getauxval using the PLT.
edfbb2
+libc.so: __getauxval ?
edfbb2
 # The dynamic loader needs __tls_get_addr for TLS.
edfbb2
 ld.so: __tls_get_addr
edfbb2
 # The main malloc is interposed into the dynamic linker, for