X-Git-Url: http://nsz.repo.hu/git/?a=blobdiff_plain;f=arch%2Farm%2Fpthread_arch.h;h=43a1c012f466dcd41bc6444edfd4c265c722f7cd;hb=5afc74fbaa2371f30df0dc9fb7bc3afe6bd96137;hp=c6b973681fc14cef800395047df18171efd46327;hpb=d960d4f2cbf18ff3476c7ac03698ec253885dd8e;p=musl diff --git a/arch/arm/pthread_arch.h b/arch/arm/pthread_arch.h index c6b97368..43a1c012 100644 --- a/arch/arm/pthread_arch.h +++ b/arch/arm/pthread_arch.h @@ -1,7 +1,9 @@ -static inline struct pthread *__pthread_self() -{ - return ((void *(*)(void))0xffff0fe0)(); -} +typedef char *(*__ptr_func_t)(void) __attribute__((const)); + +#define __pthread_self() \ + ((pthread_t)(((__ptr_func_t)0xffff0fe0)()+8-sizeof(struct pthread))) + +#define TLS_ABOVE_TP +#define TP_ADJ(p) ((char *)(p) + sizeof(struct pthread) - 8) -#define CANCEL_REG_SP 16 #define CANCEL_REG_IP 18