OLD | NEW |
1 #include <stddef.h> | 1 #include <stddef.h> |
2 #include "pthread_impl.h" | 2 #include "pthread_impl.h" |
3 #include "libc.h" | 3 #include "libc.h" |
4 | 4 |
5 __attribute__((__visibility__("hidden"))) | 5 __attribute__((__visibility__("hidden"))) void* __tls_get_new(size_t*); |
6 void *__tls_get_new(size_t *); | |
7 | 6 |
8 void *__tls_get_addr(size_t *v) | 7 void* __tls_get_addr(size_t* v) { |
9 { | 8 pthread_t self = __pthread_self(); |
10 » pthread_t self = __pthread_self(); | 9 if (v[0] <= (size_t)self->dtv[0]) |
11 » if (v[0]<=(size_t)self->dtv[0]) | 10 return (char*)self->dtv[v[0]] + v[1] + DTP_OFFSET; |
12 » » return (char *)self->dtv[v[0]]+v[1]+DTP_OFFSET; | 11 return __tls_get_new(v); |
13 » return __tls_get_new(v); | |
14 } | 12 } |
15 | 13 |
16 weak_alias(__tls_get_addr, __tls_get_new); | 14 weak_alias(__tls_get_addr, __tls_get_new); |
OLD | NEW |