freebsd-dev/libexec/rtld-elf
Konstantin Belousov 62af2dc3fb rtld: ignore static TLS segments when tracing.
For PIE binaries, ldd(1) performs dlopen(RTLD_TRACE) on the binary.
It is legal for binary to use initial exec TLS mode, but when such
binary (actually dso) is dlopened, we might not have enough free space
in the finalized static TLS segment.  Make ldd operational by skipping
TLS space allocation, we are not going to execute any code from the
dso anyway.

Reported by:	tobik
PR:	245677
Sponsored by:	The FreeBSD Foundation
MFC after:	1 week
2020-04-22 18:39:45 +00:00
..
aarch64 Align initial-exec TLS segments to the p_vaddr % align. 2020-04-19 09:28:59 +00:00
amd64 Align initial-exec TLS segments to the p_vaddr % align. 2020-04-19 09:28:59 +00:00
arm Align initial-exec TLS segments to the p_vaddr % align. 2020-04-19 09:28:59 +00:00
i386 Align initial-exec TLS segments to the p_vaddr % align. 2020-04-19 09:28:59 +00:00
mips Align initial-exec TLS segments to the p_vaddr % align. 2020-04-19 09:28:59 +00:00
powerpc Align initial-exec TLS segments to the p_vaddr % align. 2020-04-19 09:28:59 +00:00
powerpc64 Align initial-exec TLS segments to the p_vaddr % align. 2020-04-19 09:28:59 +00:00
riscv Align initial-exec TLS segments to the p_vaddr % align. 2020-04-19 09:28:59 +00:00
rtld-libc Remove sparc64 specific parts of rtld-elf. 2020-02-26 18:49:25 +00:00
tests Fix regression tests broken by r337067. 2018-08-02 11:55:16 +00:00
debug.c libexec: adoption of SPDX licensing ID tags. 2017-11-27 15:25:02 +00:00
debug.h Use rtld_putstr() instead of write() for the rtld msg() macro 2019-06-26 15:43:26 +00:00
libmap.c Reduce size of rtld by 22% by pulling in less code from libc 2019-06-30 11:49:58 +00:00
libmap.conf Move libmap.conf to libexec/rtld-elf/ 2018-09-18 00:25:00 +00:00
libmap.h rtld-elf: make it compile with WARNS=3 2018-10-29 21:08:11 +00:00
Makefile rtld: clean up Makefile. 2020-01-11 09:18:58 +00:00
Makefile.depend new depends 2015-06-16 23:37:19 +00:00
map_object.c Make p_vaddr % p_align == p_offset % p_align for (some) TLS segments. 2020-04-04 22:37:50 +00:00
paths.h rtld-elf: compile with WANRS=4 warnings other than -Wcast-align 2018-10-29 21:08:19 +00:00
rtld_lock.c Use sigfastblock(2) in rtld. 2020-02-09 12:22:43 +00:00
rtld_lock.h libexec: adoption of SPDX licensing ID tags. 2017-11-27 15:25:02 +00:00
rtld_malloc.c Remove remnants of optimization for > pagesize allocations. 2019-09-02 08:03:29 +00:00
rtld_malloc.h Add header file missed in r343564. 2019-01-29 22:45:24 +00:00
rtld_printf.c Reduce size of rtld by 22% by pulling in less code from libc 2019-06-30 11:49:58 +00:00
rtld_printf.h Use rtld_putstr() instead of write() for the rtld msg() macro 2019-06-26 15:43:26 +00:00
rtld_tls.h Remove sparc64 specific parts of rtld-elf. 2020-02-26 18:49:25 +00:00
rtld_utrace.h Renumber copyright clause 4 2017-02-28 23:42:47 +00:00
rtld.1 Add serial comma. 2017-09-01 16:56:37 +00:00
rtld.c rtld: ignore static TLS segments when tracing. 2020-04-22 18:39:45 +00:00
rtld.h rtld: ignore static TLS segments when tracing. 2020-04-22 18:39:45 +00:00
Symbol.map Add rtld private interface for dso to detect dynamic loading 2015-01-03 18:09:53 +00:00
xmalloc.c Make p_vaddr % p_align == p_offset % p_align for (some) TLS segments. 2020-04-04 22:37:50 +00:00