fix async thread cancellation stack alignment
[musl] / src / thread / __tls_get_addr.c
index 6945faa..19524fe 100644 (file)
@@ -1,16 +1,7 @@
-#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)
+void *__tls_get_addr(tls_mod_off_t *v)
 {
        pthread_t self = __pthread_self();
-       if (v[0]<=(size_t)self->dtv[0])
-               return (char *)self->dtv[v[0]]+v[1]+DTP_OFFSET;
-       return __tls_get_new(v);
+       return (void *)(self->dtv[v[0]] + v[1]);
 }
-
-weak_alias(__tls_get_addr, __tls_get_new);