deduplicate __pthread_self thread pointer adjustment out of each arch
[musl] / arch / riscv64 / pthread_arch.h
index 50f0868..a20d7fb 100644 (file)
@@ -1,8 +1,8 @@
-static inline struct pthread *__pthread_self()
+static inline uintptr_t __get_tp()
 {
-       char *tp;
+       uintptr_t tp;
        __asm__ __volatile__("mv %0, tp" : "=r"(tp));
-       return (void *)(tp - sizeof(struct pthread));
+       return tp;
 }
 
 #define TLS_ABOVE_TP