]> CyberLeo.Net >> Repos - FreeBSD/FreeBSD.git/commit
Rework rtld's TLS Variant I implementation to match r326794
authorbrooks <brooks@FreeBSD.org>
Fri, 17 Aug 2018 16:19:47 +0000 (16:19 +0000)
committerbrooks <brooks@FreeBSD.org>
Fri, 17 Aug 2018 16:19:47 +0000 (16:19 +0000)
commit214c1ab8d73377acded6092b2df1263ade8182a2
treebd84000681ffbc6a4200ad1cc6558f41a1cc5122
parentd1a00acf4dbc12204b03a1bfa39d43e2715288ae
Rework rtld's TLS Variant I implementation to match r326794

The above commit fixed handling overaligned TLS segments in libc's
TLS Variant I implementation, but rtld provides its own implementation
for dynamically-linked executables which lacks these fixes.  Thus,
port these changes to rtld.

Submitted by: James Clarke
Reviewed by: kbowling
Testing byL kbowling (powerpc64), br (riscv), kevans (armv7)
Obtained from: CheriBSD
Sponsored by: DARPA, AFRL
Differential Revision: https://reviews.freebsd.org/D16510
libexec/rtld-elf/aarch64/rtld_machdep.h
libexec/rtld-elf/arm/rtld_machdep.h
libexec/rtld-elf/mips/rtld_machdep.h
libexec/rtld-elf/powerpc/rtld_machdep.h
libexec/rtld-elf/powerpc64/rtld_machdep.h
libexec/rtld-elf/riscv/rtld_machdep.h
libexec/rtld-elf/rtld.c