[PATCH] Use TLS initial-exec model for __libc_tsd_* thread variables

Stefan Liebler stli@linux.ibm.com
Tue Aug 5 12:00:36 GMT 2025


On 8/4/25 17:08, Florian Weimer wrote:
> * Jens Remus:
> 
>>>> Eventually, we should use local-exec TLS for libc.a, addressing (1).
>>>> I hope it won't bring back the S390 bug.
>>
>> Given the GNU linker fix in Binutils 2.41 this should not be an issue.
> 
> Our minimum required version currently is 2.39.
> 
> We need to backport the <ctype.h> fix to older branches, so bumping the
> binutils requirement is not really an option.
Both commits:
- Commit 10a66a8e421b ("Remove <libc-tsd.h>"):
- Commit a894f04d8776 ("Optimize __libc_tsd_* thread variable access")
went into glibc 2.42 release. Thus if I should, I can backport this
patch to glibc 2.42 branch?
Which change is needed in ctype.h? (this patch only re-adds the
attribute to the definitions in ctype-info.c)
> 
> The commit message should reference __libc_tsd_CTYPE_*.  There's another
> historic leftover, __libc_tsd_LOCALE, which is not updated by this
> patch.
> 
> With that change:
> 
> Reviewed-by: Florian Weimer <fweimer@redhat.com>
> 
> (And please drop the Signed-off-by:, too, per Stefan's latest comments.)
> 
> Thanks,
> Florian
> 

I've just committed the patch as:
Use TLS initial-exec model for __libc_tsd_CTYPE_* thread variables [BZ
#33234]
https://sourceware.org/git/?p=glibc.git;a=commit;h=e5363e6f460c2d58809bf10fc96d70fd1ef8b5b2

And adjusted the commit-message before:
- __libc_tsd_* => __libc_tsd_CTYPE_*
- Removed Signed-off-by
- Added hint for bug 33234 (which is now closed)

Thanks,
Stefan


More information about the Libc-alpha mailing list