blob: 84a413d4a8cd4be9bdd662b66d10c6fe877bc76b (
plain) (
blame)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
|
#include <stddef.h>
#include "pthread_impl.h"
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
}
|