ldso: fix TLSDESC addend processing on archs with backwards descriptors
commite17b9d74740df413fae2502c0010591c7998c40d
authorRich Felker <dalias@aerifal.cx>
Tue, 7 Nov 2023 02:50:37 +0000 (6 21:50 -0500)
committerRich Felker <dalias@aerifal.cx>
Tue, 7 Nov 2023 02:50:37 +0000 (6 21:50 -0500)
treeae0b33838861229d904615fd67efee3535d94054
parent039d3c34f2e3578a8b7ada42f89213b844aa7a4e
ldso: fix TLSDESC addend processing on archs with backwards descriptors

presently this only affects 32-bit arm. despite correctly reversing
the function pointer and argument fields based on the
TLSDESC_BACKWARDS macro, we did not read the addend from the
swapped-order argument field, so nonzero addends were lost, producing
wrong runtime addresses for TLS objects needing an addend.

based on report and patch by Rui Ueyama.
ldso/dynlink.c