|
@@ -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);
|