From 16536e98e36e08bc1ce1edbd8dd50c7c3bb7a936 Mon Sep 17 00:00:00 2001 From: Florian Weimer Date: Tue, 12 May 2020 11:30:30 +0200 Subject: [PATCH] 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. --- sysdeps/unix/sysv/linux/aarch64/localplt.data | 3 +++ 1 file changed, 3 insertions(+) diff --git a/sysdeps/unix/sysv/linux/aarch64/localplt.data b/sysdeps/unix/sysv/linux/aarch64/localplt.data index 56f362d..2c14b65 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. -- 2.7.4