diff mbox series

nptl: fix __builtin_thread_pointer detection on LoongArch

Message ID 20241106021110.1159632-2-caiyinyu@loongson.cn
State New
Headers show
Series nptl: fix __builtin_thread_pointer detection on LoongArch | expand

Commit Message

caiyinyu Nov. 6, 2024, 2:11 a.m. UTC
Signed-off-by: caiyinyu <caiyinyu@loongson.cn>

this is version 4 disscussed in https://sourceware.org/pipermail/libc-alpha/2024-November/161242.html
v3: https://sourceware.org/pipermail/libc-alpha/2024-November/161237.html
v2: https://sourceware.org/pipermail/libc-alpha/2024-November/161213.html
v1: https://sourceware.org/pipermail/libc-alpha/2024-November/161185.html

---
 sysdeps/loongarch/nptl/thread_pointer.h | 10 ++--------
 sysdeps/loongarch/nptl/tls.h            |  2 +-
 2 files changed, 3 insertions(+), 9 deletions(-)
diff mbox series

Patch

diff --git a/sysdeps/loongarch/nptl/thread_pointer.h b/sysdeps/loongarch/nptl/thread_pointer.h
index 5dec2ef4c6..cc96062c93 100644
--- a/sysdeps/loongarch/nptl/thread_pointer.h
+++ b/sysdeps/loongarch/nptl/thread_pointer.h
@@ -19,18 +19,12 @@ 
 #ifndef _SYS_THREAD_POINTER_H
 #define _SYS_THREAD_POINTER_H
 
-#include <sys/cdefs.h>
+register void *__thread_self asm ("$tp");
 
 static inline void *
 __thread_pointer (void)
 {
-#if __glibc_has_builtin (__builtin_thread_pointer)
-  return __builtin_thread_pointer ();
-#else
-  void *__thread_register;
-  __asm__ ("move %0, $tp" : "=r" (__thread_register));
-  return __thread_register;
-#endif
+  return __thread_self;
 }
 
 #endif /* _SYS_THREAD_POINTER_H */
diff --git a/sysdeps/loongarch/nptl/tls.h b/sysdeps/loongarch/nptl/tls.h
index ac1a92ea7b..675c0d27c1 100644
--- a/sysdeps/loongarch/nptl/tls.h
+++ b/sysdeps/loongarch/nptl/tls.h
@@ -26,8 +26,8 @@ 
 #include <stddef.h>
 #include <stdint.h>
 #include <dl-dtv.h>
+#include "thread_pointer.h"
 
-register void *__thread_self asm ("$tp");
 #define READ_THREAD_POINTER() ({ __thread_self; })
 
 /* Get system call information.  */