summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorSzabolcs Nagy <nsz@port70.net>2019-09-29 12:25:39 +0000
committerRich Felker <dalias@aerifal.cx>2019-09-29 17:59:30 -0400
commit33bc7f05fc856d8819083afe4668907a9d262e4c (patch)
tree78d6d2efbfc9f5bab6fd748befd9961daebc89cc
parentca577951138127dcf4190a2eb3c7148b2ad6d779 (diff)
downloadmusl-33bc7f05fc856d8819083afe4668907a9d262e4c.tar.gz
musl-33bc7f05fc856d8819083afe4668907a9d262e4c.tar.bz2
musl-33bc7f05fc856d8819083afe4668907a9d262e4c.tar.xz
musl-33bc7f05fc856d8819083afe4668907a9d262e4c.zip
remove remaining traces of __tls_get_new
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.
-rw-r--r--src/internal/pthread_impl.h1
-rw-r--r--src/ldso/aarch64/tlsdesc.s6
-rw-r--r--src/ldso/arm/tlsdesc.S2
-rw-r--r--src/ldso/i386/tlsdesc.s2
-rw-r--r--src/ldso/x86_64/tlsdesc.s2
5 files changed, 1 insertions, 12 deletions
diff --git a/src/internal/pthread_impl.h b/src/internal/pthread_impl.h
index 9b001421..5742dfc5 100644
--- a/src/internal/pthread_impl.h
+++ b/src/internal/pthread_impl.h
@@ -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();
diff --git a/src/ldso/aarch64/tlsdesc.s b/src/ldso/aarch64/tlsdesc.s
index 04d97e73..c6c685b3 100644
--- a/src/ldso/aarch64/tlsdesc.s
+++ b/src/ldso/aarch64/tlsdesc.s
@@ -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
diff --git a/src/ldso/arm/tlsdesc.S b/src/ldso/arm/tlsdesc.S
index 2bb75a1b..3ae133c9 100644
--- a/src/ldso/arm/tlsdesc.S
+++ b/src/ldso/arm/tlsdesc.S
@@ -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
diff --git a/src/ldso/i386/tlsdesc.s b/src/ldso/i386/tlsdesc.s
index a5c0100c..32c81766 100644
--- a/src/ldso/i386/tlsdesc.s
+++ b/src/ldso/i386/tlsdesc.s
@@ -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
diff --git a/src/ldso/x86_64/tlsdesc.s b/src/ldso/x86_64/tlsdesc.s
index 0151d15c..e08f1d7d 100644
--- a/src/ldso/x86_64/tlsdesc.s
+++ b/src/ldso/x86_64/tlsdesc.s
@@ -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