mirror of git://git.musl-libc.org/musl
eliminate use of SHARED macro in __tls_get_addr
this was only a tiny optimization, and static-linked binaries should not be calling __tls_get_addr anyway since the linker is supposed to perform relaxation, resulting in use of the local-exec TLS model.
This commit is contained in:
parent
8a8fdf6398
commit
4aaf879eb0
|
@ -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);
|
||||
|
|
Loading…
Reference in New Issue