diff options
author | Adhemerval Zanella <adhemerval.zanella@linaro.org> | 2024-04-04 17:02:32 -0300 |
---|---|---|
committer | Adhemerval Zanella <adhemerval.zanella@linaro.org> | 2024-04-04 17:02:32 -0300 |
commit | 50c2be2390be849176297d231ecce71c6642f407 (patch) | |
tree | 4a5f11a0bea869e130d11f0f92b1453f3d44349a | |
parent | 44ccc2465c6af5bd811d8258bf744aaafd5392fc (diff) | |
download | glibc-50c2be2390be849176297d231ecce71c6642f407.tar.gz glibc-50c2be2390be849176297d231ecce71c6642f407.tar.xz glibc-50c2be2390be849176297d231ecce71c6642f407.zip |
aarch64: Remove ld.so __tls_get_addr plt usage
Use the hidden alias instead. Checked on aarch64-linux-gnu.
-rw-r--r-- | sysdeps/aarch64/dl-tlsdesc.S | 3 | ||||
-rw-r--r-- | sysdeps/unix/sysv/linux/aarch64/localplt.data | 2 |
2 files changed, 2 insertions, 3 deletions
diff --git a/sysdeps/aarch64/dl-tlsdesc.S b/sysdeps/aarch64/dl-tlsdesc.S index 9b253b39dd..4febf2ad21 100644 --- a/sysdeps/aarch64/dl-tlsdesc.S +++ b/sysdeps/aarch64/dl-tlsdesc.S @@ -220,7 +220,7 @@ _dl_tlsdesc_dynamic: SAVE_Q_REGISTERS mov x0, x1 - bl __tls_get_addr + bl HIDDEN_JUMPTARGET(__tls_get_addr) mrs x1, tpidr_el0 sub PTR_REG (0), PTR_REG (0), PTR_REG (1) @@ -246,5 +246,6 @@ _dl_tlsdesc_dynamic: b 1b cfi_endproc .size _dl_tlsdesc_dynamic, .-_dl_tlsdesc_dynamic + .hidden HIDDEN_JUMPTARGET(__tls_get_addr) # undef NSAVEXREGPAIRS #endif diff --git a/sysdeps/unix/sysv/linux/aarch64/localplt.data b/sysdeps/unix/sysv/linux/aarch64/localplt.data index 5d217cc50d..5dd07472df 100644 --- a/sysdeps/unix/sysv/linux/aarch64/localplt.data +++ b/sysdeps/unix/sysv/linux/aarch64/localplt.data @@ -9,5 +9,3 @@ 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 |