aarch64: Remove ld.so __tls_get_addr plt usage
authorAdhemerval Zanella <adhemerval.zanella@linaro.org>
Thu, 4 Apr 2024 20:02:32 +0000 (17:02 -0300)
committerAdhemerval Zanella <adhemerval.zanella@linaro.org>
Thu, 4 Apr 2024 20:02:32 +0000 (17:02 -0300)
Use the hidden alias instead.

Checked on aarch64-linux-gnu.

sysdeps/aarch64/dl-tlsdesc.S
sysdeps/unix/sysv/linux/aarch64/localplt.data

index 9b253b39dd1d9d466526c4fdb7c922223314e323..4febf2ad21acc179a02d04a00861765618a50c98 100644 (file)
@@ -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
index 5d217cc50d13a22c733a268aa30fe7585233ee6b..5dd07472df5afc389de6d225ebefeea2e2d54e80 100644 (file)
@@ -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
This page took 2.197235 seconds and 5 git commands to generate.