[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