remove remaining traces of __tls_get_new
authorSzabolcs Nagy <nsz@port70.net>
Sun, 29 Sep 2019 12:25:39 +0000 (12:25 +0000)
committerRich Felker <dalias@aerifal.cx>
Sun, 29 Sep 2019 21:59:30 +0000 (17:59 -0400)
Some declarations of __tls_get_new were left in the code, even
though the definition got removed in

  commit 9d44b6460ab603487dab4d916342d9ba4467e6b9
  install dynamic tls synchronously at dlopen, streamline access

this can make the build fail with

  ld: lib/libc.so: hidden symbol `__tls_get_new' isn't defined

when libc.so is linked without --gc-sections, because a .hidden
declaration in asm code creates a reference even if the symbol
is not actually used.

src/internal/pthread_impl.h
src/ldso/aarch64/tlsdesc.s
src/ldso/arm/tlsdesc.S
src/ldso/i386/tlsdesc.s
src/ldso/x86_64/tlsdesc.s

index 9b001421200f59a0e276972ad7d40302583469b6..5742dfc55cb979a225dc6e12aaf784807da7eb12 100644 (file)
@@ -125,7 +125,6 @@ struct __timer {
         0x80000000 })
 
 void *__tls_get_addr(tls_mod_off_t *);
-hidden void *__tls_get_new(tls_mod_off_t *);
 hidden int __init_tp(void *);
 hidden void *__copy_tls(unsigned char *);
 hidden void __reset_tls();
index 04d97e730431a957dab6c2bbc7dfa0242265c20e..c6c685b3d7f03eedf0b1cdb25beb148a64ce455f 100644 (file)
@@ -9,15 +9,11 @@ __tlsdesc_static:
        ldr x0,[x0,#8]
        ret
 
-.hidden __tls_get_new
-
 // size_t __tlsdesc_dynamic(size_t *a)
 // {
 //     struct {size_t modidx,off;} *p = (void*)a[1];
 //     size_t *dtv = *(size_t**)(tp - 8);
-//     if (p->modidx <= dtv[0])
-//             return dtv[p->modidx] + p->off - tp;
-//     return __tls_get_new(p) - tp;
+//     return dtv[p->modidx] + p->off - tp;
 // }
 .global __tlsdesc_dynamic
 .hidden __tlsdesc_dynamic
index 2bb75a1b3db7c4f5faa97f372b2795ff67a611bd..3ae133c96b82f233b8a19e8f26349cb3805e3a16 100644 (file)
@@ -8,8 +8,6 @@ __tlsdesc_static:
        ldr r0,[r0]
        bx lr
 
-.hidden __tls_get_new
-
 .global __tlsdesc_dynamic
 .hidden __tlsdesc_dynamic
 .type __tlsdesc_dynamic,%function
index a5c0100c3f896e956205eaaeaf433503f15ad4e4..32c81766915b8b10c0fe6fa50729ce06a6caa02b 100644 (file)
@@ -6,8 +6,6 @@ __tlsdesc_static:
        mov 4(%eax),%eax
        ret
 
-.hidden __tls_get_new
-
 .global __tlsdesc_dynamic
 .hidden __tlsdesc_dynamic
 .type __tlsdesc_dynamic,@function
index 0151d15c928a8792db44091d23f55d7367a97eea..e08f1d7df589ef1f28beeca61a57c841b86df44a 100644 (file)
@@ -6,8 +6,6 @@ __tlsdesc_static:
        mov 8(%rax),%rax
        ret
 
-.hidden __tls_get_new
-
 .global __tlsdesc_dynamic
 .hidden __tlsdesc_dynamic
 .type __tlsdesc_dynamic,@function