[glibc] x86_64: Remove stalled __GNUC_PREREQ (6, 0) test in THREAD_SELF()

H.J. Lu hjl@sourceware.org
Wed Aug 20 18:49:19 GMT 2025


https://sourceware.org/git/gitweb.cgi?p=glibc.git;h=b0f0c41a5fd82edb5435d0fd1f7beb161fd12873

commit b0f0c41a5fd82edb5435d0fd1f7beb161fd12873
Author: Uros Bizjak <ubizjak@gmail.com>
Date:   Sun Aug 17 17:49:54 2025 +0200

    x86_64: Remove stalled __GNUC_PREREQ (6, 0) test in THREAD_SELF()
    
    Currenty GCC-12 is required as the minimum supported compiler
    version.  Remove stalled __GNUC_PREREQ (6, 0) test for
    GCC compiler version in THREAD_SELF() macro definition.
    
    Signed-off-by: Uros Bizjak <ubizjak@gmail.com>
    Cc: H.J.Lu <hjl.tools@gmail.com>
    Cc: Florian Weimer <fweimer@redhat.com>
    Cc: Carlos O'Donell <carlos@redhat.com>
    Reviewed-by: H.J. Lu <hjl.tools@gmail.com>

Diff:
---
 sysdeps/x86_64/nptl/tls.h | 15 +--------------
 1 file changed, 1 insertion(+), 14 deletions(-)

diff --git a/sysdeps/x86_64/nptl/tls.h b/sysdeps/x86_64/nptl/tls.h
index 551d342d52..29b028cdcd 100644
--- a/sysdeps/x86_64/nptl/tls.h
+++ b/sysdeps/x86_64/nptl/tls.h
@@ -168,22 +168,9 @@ _Static_assert (offsetof (tcbhead_t, __glibc_unused2) == 0x80,
      THREAD_GETMEM (__pd, header.dtv); })
 
 
-/* Return the thread descriptor for the current thread.
-
-   The contained asm must *not* be marked volatile since otherwise
-   assignments like
-	pthread_descr self = thread_self();
-   do not get optimized away.  */
-# if __GNUC_PREREQ (6, 0)
+/* Return the thread descriptor for the current thread.  */
 #  define THREAD_SELF \
   (*(struct pthread *__seg_fs *) offsetof (struct pthread, header.self))
-# else
-#  define THREAD_SELF \
-  ({ struct pthread *__self;						      \
-     asm ("mov %%fs:%c1,%0" : "=r" (__self)				      \
-	  : "i" (offsetof (struct pthread, header.self)));	 	      \
-     __self;})
-# endif
 
 /* Magic for libthread_db to know how to do THREAD_SELF.  */
 # define DB_THREAD_SELF_INCLUDE  <sys/reg.h> /* For the FS constant.  */


More information about the Glibc-cvs mailing list