diff --git a/src/ldso/dynlink.c b/src/ldso/dynlink.c index 46183ce7bafee2a45f84a0c80eccdc9b65c70708..0151f74d248d2eb8ecfbda4ff6b74b57aee845b1 100644 --- a/src/ldso/dynlink.c +++ b/src/ldso/dynlink.c @@ -1051,6 +1051,7 @@ void *__copy_tls(unsigned char *mem) return td; } +__attribute__((__visibility__("hidden"))) void *__tls_get_new(size_t *v) { pthread_t self = __pthread_self(); diff --git a/src/thread/__tls_get_addr.c b/src/thread/__tls_get_addr.c index 28ec7f02cb5f254fe6728052a57f453df4614f02..36333967bee9b237d5a006bf435d8a2976ba30f0 100644 --- a/src/thread/__tls_get_addr.c +++ b/src/thread/__tls_get_addr.c @@ -1,13 +1,12 @@ #include #include "pthread_impl.h" -#include "libc.h" - -void *__tls_get_new(size_t *) ATTR_LIBC_VISIBILITY; void *__tls_get_addr(size_t *v) { pthread_t self = __pthread_self(); #ifdef SHARED + __attribute__((__visibility__("hidden"))) + void *__tls_get_new(size_t *); if (v[0]<=(size_t)self->dtv[0]) return (char *)self->dtv[v[0]]+v[1]; return __tls_get_new(v);