freebsd-dev/libexec/rtld-elf/amd64
Michal Meloun 4849c3a570 Improve R_AARCH64_TLSDESC relocation.
The original code did not support dynamically loaded libraries and used
suboptimal access to TLS variables.
New implementation removes lazy resolving of TLS relocation - due to flaw
in TLSDESC design is impossible to switch resolver function at runtime
without expensive locking.

Due to this, 3 specialized resolvers are implemented:
 - load time resolver for TLS relocation from libraries loaded with main
   executable (thus with known TLS offset).
 - resolver for undefined thread weak symbols.
 - slower lazy resolver for dynamically loaded libraries with fast path for
   already resolved symbols.

PR:		228892, 232149, 233204, 232311
MFC after:	2 weeks
Differential Revision:	https://reviews.freebsd.org/D18417
2018-12-15 10:38:07 +00:00
..
elf_rtld.x
Makefile.inc Disable SSE in libthr 2015-08-05 12:53:55 +00:00
reloc.c Improve R_AARCH64_TLSDESC relocation. 2018-12-15 10:38:07 +00:00
rtld_machdep.h libexec: adoption of SPDX licensing ID tags. 2017-11-27 15:25:02 +00:00
rtld_start.S rtld: do not rely on a populated GOT on amd64 2017-01-16 14:49:29 +00:00