OSDN Git Service

arm: use a_ll/a_sc atomics when building for ARMv6T2
[android-x86/external-musl-libc.git] / arch / aarch64 / pthread_arch.h
1 static inline struct pthread *__pthread_self()
2 {
3         char *self;
4         __asm__ __volatile__ ("mrs %0,tpidr_el0" : "=r"(self));
5         return (void*)(self + 16 - sizeof(struct pthread));
6 }
7
8 #define TLS_ABOVE_TP
9 #define TP_ADJ(p) ((char *)(p) + sizeof(struct pthread) - 16)
10
11 #define MC_PC pc