at the point of call it was declared hidden, but the definition was
not hidden. for some toolchains this inconsistency produced textrels
without ld-time binding.
return td;
}
+__attribute__((__visibility__("hidden")))
void *__tls_get_new(size_t *v)
{
pthread_t self = __pthread_self();
#include <stddef.h>
#include "pthread_impl.h"
-#include "libc.h"
-
-void *__tls_get_new(size_t *) ATTR_LIBC_VISIBILITY;
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];
return __tls_get_new(v);