From bc081f628b51337b525ca2d53aeff1b971f092f5 Mon Sep 17 00:00:00 2001 From: Rich Felker Date: Tue, 14 Apr 2015 10:42:44 -0400 Subject: fix inconsistent visibility for internal __tls_get_new function 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. --- src/thread/__tls_get_addr.c | 5 ++--- 1 file changed, 2 insertions(+), 3 deletions(-) (limited to 'src/thread') diff --git a/src/thread/__tls_get_addr.c b/src/thread/__tls_get_addr.c index 28ec7f02..36333967 100644 --- a/src/thread/__tls_get_addr.c +++ b/src/thread/__tls_get_addr.c @@ -1,13 +1,12 @@ #include #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); -- cgit v1.2.1