diff options
author | Florian Weimer <fweimer@redhat.com> | 2020-05-12 11:30:30 +0200 |
---|---|---|
committer | Andreas K. Hüttel <dilfridge@gentoo.org> | 2020-06-09 23:22:51 +0300 |
commit | 0ecf2c5a06c238c357d718f66bd954fdad12352b (patch) | |
tree | 94febd70ad61830769394d70289e9c4d2fdb309d | |
parent | [no-patch] Gentoo: remove etc files, now in FILESDIR (diff) | |
download | glibc-0ecf2c5a06c238c357d718f66bd954fdad12352b.tar.gz glibc-0ecf2c5a06c238c357d718f66bd954fdad12352b.tar.bz2 glibc-0ecf2c5a06c238c357d718f66bd954fdad12352b.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.
(cherry picked from commit 16536e98e36e08bc1ce1edbd8dd50c7c3bb7a936)
(cherry picked from commit 587a332b6fadc4d9f1035ecaa52ba32ee41cd300)
(cherry picked from commit 109474122400ca7d60782b131dc867a5c1f2fe55)
-rw-r--r-- | sysdeps/unix/sysv/linux/aarch64/localplt.data | 3 |
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 a60053b914..08af68b5e8 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 main malloc is interposed into the dynamic linker, for |