From: Rich Felker Date: Thu, 12 Nov 2015 00:43:56 +0000 (-0500) Subject: eliminate use of SHARED macro in __tls_get_addr X-Git-Tag: v1.1.13~123 X-Git-Url: https://git.librecmc.org/?a=commitdiff_plain;h=4aaf879eb08a22c501b43d8604e67614f7dbc55f;p=oweals%2Fmusl.git eliminate use of SHARED macro in __tls_get_addr this was only a tiny optimization, and static-linked binaries should not be calling __tls_get_addr anyway since the linker is supposed to perform relaxation, resulting in use of the local-exec TLS model. --- diff --git a/src/thread/__tls_get_addr.c b/src/thread/__tls_get_addr.c index 84a413d4..6945faa0 100644 --- a/src/thread/__tls_get_addr.c +++ b/src/thread/__tls_get_addr.c @@ -1,16 +1,16 @@ #include #include "pthread_impl.h" +#include "libc.h" + +__attribute__((__visibility__("hidden"))) +void *__tls_get_new(size_t *); 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]+DTP_OFFSET; return __tls_get_new(v); -#else - return (char *)self->dtv[1]+v[1]+DTP_OFFSET; -#endif } + +weak_alias(__tls_get_addr, __tls_get_new);