[PATCH 1/2] x86_64: Remove stalled __GNUC_PREREQ (6, 0) test in THREAD_SELF()

H.J. Lu hjl.tools@gmail.com
Sun Aug 17 16:36:02 GMT 2025


On Sun, Aug 17, 2025 at 8:50 AM Uros Bizjak <ubizjak@gmail.com> wrote:
>
> 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>
> ---
> v2: Split from v1 patch.
> ---
>  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.  */
> --
> 2.50.1
>

LGTM.

Reviewed-by: H.J. Lu <hjl.tools@gmail.com>

Thanks.

-- 
H.J.


More information about the Libc-alpha mailing list