Re: [PATCH] elf: Remove dead l_need_tls_init static-TLS init path
Florian Weimer <[email protected]> Mon, 03 Aug 2026 15:01:14 +0200
| Newsgroups | gmane.comp.lib.glibc.alpha |
|---|---|
| Message-ID | <[email protected]> |
* 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.
Thanks,
Florian
PS: I won't make it to the patch review meeting today.