]> CyberLeo.Net >> Repos - FreeBSD/FreeBSD.git/commit
Fix wrong offset calculation for R_ARM_TLS_TPOFF32 relocations.
authorMichal Meloun <mmel@FreeBSD.org>
Sat, 25 Aug 2018 16:54:37 +0000 (16:54 +0000)
committerMichal Meloun <mmel@FreeBSD.org>
Sat, 25 Aug 2018 16:54:37 +0000 (16:54 +0000)
commitee6281c3d385306e6b6a7cc272f122154d409cba
tree6a100cac9a930198a01a2aa5334221d8178beafc
parentee97b2336aa47851a1dc5681ea2017cc2193aac4
Fix wrong offset calculation for R_ARM_TLS_TPOFF32 relocations.
TLS_TCB_SIZE is already accounted in defobj-> tlsoffset so all these symbols
were incorrectly relocated by +8.

Note:
The only consumer (for all binaries on my ARM board) of R_ARM_TLS_TPOFF32
relocation is _ThreadRuneLocale variable. And the incorrectly relocated
ThreadRuneLocale accidentally pointed to zeroed memory before memory layout
change from D16510 had changed status quo.

MFC after: 3 weeks
Reviewed by: imp, jhb
Approved by: re (marius)
libexec/rtld-elf/arm/reloc.c