fix overly pessimistic realloc strategy in getdelim
[musl] / src / thread / __tls_get_addr.c
index 28ec7f0..6945faa 100644 (file)
@@ -2,16 +2,15 @@
 #include "pthread_impl.h"
 #include "libc.h"
 
-void *__tls_get_new(size_t *) ATTR_LIBC_VISIBILITY;
+__attribute__((__visibility__("hidden")))
+void *__tls_get_new(size_t *);
 
 void *__tls_get_addr(size_t *v)
 {
        pthread_t self = __pthread_self();
-#ifdef SHARED
        if (v[0]<=(size_t)self->dtv[0])
-               return (char *)self->dtv[v[0]]+v[1];
+               return (char *)self->dtv[v[0]]+v[1]+DTP_OFFSET;
        return __tls_get_new(v);
-#else
-       return (char *)self->dtv[1]+v[1];
-#endif
 }
+
+weak_alias(__tls_get_addr, __tls_get_new);