From 4aaf879eb08a22c501b43d8604e67614f7dbc55f Mon Sep 17 00:00:00 2001 From: Rich Felker Date: Wed, 11 Nov 2015 19:43:56 -0500 Subject: [PATCH] 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. --- src/thread/__tls_get_addr.c | 12 ++++++------ 1 file changed, 6 insertions(+), 6 deletions(-) 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); -- 2.25.1