Re: [PATCH] elf: Remove dead l_need_tls_init static-TLS init path
Adhemerval Zanella Netto <[email protected]> Mon, 3 Aug 2026 11:23:50 -0300
| Newsgroups | gmane.comp.lib.glibc.alpha |
|---|---|
| Organization | Linaro |
| Message-ID | <[email protected]> |
On 03/08/26 10:01, Florian Weimer wrote:
> * Adhemerval Zanella:
>
>> Since af34b1376a3 ("elf: Initialize static TLS before relocation
>> processing", BZ 34164) dropped the 'defer-if-not-relocated' branch in
>> _dl_try_allocate_static_tls, nothing sets l_need_tls_init any more. The
>> second pass in update_tls_slotinfo, guarded by l_need_tls_init, is
>> therefore dead: its _dl_update_slotinfo / _dl_init_static_tls calls never
>> run, and the static TLS image is initialised inline during relocation (IE
>> model) or lazily on first dynamic-TLS access instead.
>>
>> Remove the dead loop, the now write-only l_need_tls_init field and its
>> clear in _dl_allocate_tls_init. No functional change.
>>
>> Checked on aarch64-linux-gnu, x86_64-linux-gnu, and i686-linux-gnu.
>> I also run the elf tests on armv7-a, alpha, loongarch64, mips64le,
>> powerpc, riscv, and s390x using qemu system.
>> ---
>> elf/dl-open.c | 50 +++++++++++---------------------------------------
>> elf/dl-tls.c | 9 +++------
>> include/link.h | 3 ---
>> 3 files changed, 14 insertions(+), 48 deletions(-)
>>
>> diff --git a/elf/dl-open.c b/elf/dl-open.c
>> index cf4749694f9..ba06e837bae 100644
>> --- a/elf/dl-open.c
>> +++ b/elf/dl-open.c
>> @@ -382,36 +382,6 @@ update_tls_slotinfo (struct link_map *new)
>> TLS generation counter wrapped! Please report this."));
>> /* Can be read concurrently. */
>> atomic_store_release (&GL(dl_tls_generation), newgen);
>
> I think update_tls_slotinfo can now be inlined into its caller? At the
> least the function is now about updating the TLS generation counter, so
> the name doesn't quite match anymore.
It makes sense, I will send a v2.
>
> Thanks,
> Florian
>
> PS: I won't make it to the patch review meeting today.
>