diff options
author | Rich Felker <dalias@aerifal.cx> | 2015-11-11 19:43:56 -0500 |
---|---|---|
committer | Rich Felker <dalias@aerifal.cx> | 2015-11-11 19:43:56 -0500 |
commit | 4aaf879eb08a22c501b43d8604e67614f7dbc55f (patch) | |
tree | c62e2d96feb6fbb5910a86b0eb963971e01edccf | |
parent | 8a8fdf6398b85c99dffb237e47fa577e2ddc9e77 (diff) | |
download | musl-4aaf879eb08a22c501b43d8604e67614f7dbc55f.tar.gz musl-4aaf879eb08a22c501b43d8604e67614f7dbc55f.tar.bz2 musl-4aaf879eb08a22c501b43d8604e67614f7dbc55f.tar.xz musl-4aaf879eb08a22c501b43d8604e67614f7dbc55f.zip |
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.
-rw-r--r-- | src/thread/__tls_get_addr.c | 12 |
1 files 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 <stddef.h> #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); |