aboutsummaryrefslogtreecommitdiff
path: root/sysdeps/unix/sysv/linux/tst-rseq-tls-range.c
diff options
context:
space:
mode:
authorFlorian Weimer <fweimer@redhat.com>2025-01-16 20:02:42 +0100
committerFlorian Weimer <fweimer@redhat.com>2025-01-16 20:02:42 +0100
commit7f784ffc173b5a2166ff846fd003a2264d614456 (patch)
treeaae075df1710ce59fb449d88646725bbd42026f5 /sysdeps/unix/sysv/linux/tst-rseq-tls-range.c
parent0b795abd62282767a219a72c8c6fef753bacedfa (diff)
downloadglibc-7f784ffc173b5a2166ff846fd003a2264d614456.zip
glibc-7f784ffc173b5a2166ff846fd003a2264d614456.tar.gz
glibc-7f784ffc173b5a2166ff846fd003a2264d614456.tar.bz2
elf: Iterate over loaded object list in _dl_determine_tlsoffset
The old code used the slotinfo array as a scratch area to pass the list of TLS-using objects to _dl_determine_tlsoffset. All array entries are subsequently overwritten by _dl_add_to_slotinfo, except the first one. The link maps are usually not at their right position for their module ID in the slotinfo array, so the initial use of the slotinfo array would be incorrect if not for scratch purposes only. In _dl_tls_initial_modid_limit_setup, the old code relied that some link map was written to the first slotinfo entry. After the change, this no longer happens because TLS module ID zero is unused. It's also necessary to move the call after the real initialization of the slotinfo array.
Diffstat (limited to 'sysdeps/unix/sysv/linux/tst-rseq-tls-range.c')
0 files changed, 0 insertions, 0 deletions