[PATCH v3 0/3] Consolidate static TLS allocation for static binaries, fix extra TLS

Florian Weimer fweimer@redhat.com
Wed Jan 15 15:45:08 GMT 2025


This version addresses review comments from Adhemerval and Michael.

Retested on aarch64-linux-gnu, i686-linux-gnu, powerpc64le-linux-gnu,
s390x-linux-gnu, x86_64-linux-gnu.

Florian Weimer (3):
  elf: Iterate over loaded object list in _dl_determine_tlsoffset
  Consolidate TLS block allocation for static binaries with ld.so
  Linux: Add tests that check that TLS and rseq area are separate

 csu/libc-tls.c                                | 193 ++++-------------
 elf/dl-tls.c                                  | 123 ++++-------
 elf/dl-tls_block_align.h                      |  70 +++++++
 elf/rtld.c                                    |  23 +--
 sysdeps/unix/sysv/linux/Makefile              |  14 ++
 .../linux/tst-rseq-tls-range-4096-static.c    |   1 +
 .../unix/sysv/linux/tst-rseq-tls-range-4096.c |   1 +
 .../unix/sysv/linux/tst-rseq-tls-range-mod.c  |   1 +
 .../sysv/linux/tst-rseq-tls-range-static.c    |   1 +
 sysdeps/unix/sysv/linux/tst-rseq-tls-range.c  | 195 ++++++++++++++++++
 10 files changed, 366 insertions(+), 256 deletions(-)
 create mode 100644 elf/dl-tls_block_align.h
 create mode 100644 sysdeps/unix/sysv/linux/tst-rseq-tls-range-4096-static.c
 create mode 100644 sysdeps/unix/sysv/linux/tst-rseq-tls-range-4096.c
 create mode 100644 sysdeps/unix/sysv/linux/tst-rseq-tls-range-mod.c
 create mode 100644 sysdeps/unix/sysv/linux/tst-rseq-tls-range-static.c
 create mode 100644 sysdeps/unix/sysv/linux/tst-rseq-tls-range.c


base-commit: a402cae36d95a2141703df324b5de5b581868c5c
-- 
2.47.1



More information about the Libc-alpha mailing list