about summary refs log tree commit diff
path: root/src/thread
diff options
context:
space:
mode:
authorRich Felker <dalias@aerifal.cx>2015-11-11 19:43:56 -0500
committerRich Felker <dalias@aerifal.cx>2015-11-11 19:43:56 -0500
commit4aaf879eb08a22c501b43d8604e67614f7dbc55f (patch)
treec62e2d96feb6fbb5910a86b0eb963971e01edccf /src/thread
parent8a8fdf6398b85c99dffb237e47fa577e2ddc9e77 (diff)
downloadmusl-4aaf879eb08a22c501b43d8604e67614f7dbc55f.tar.gz
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.
Diffstat (limited to 'src/thread')
-rw-r--r--src/thread/__tls_get_addr.c12
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);