freebsd-dev/libexec/rtld-elf
Dmitry Chagin 3bdf68086d rtld: Add a stop indicator to rtld_start to satisfy unwinders on x86_64
The right unwinding stop indicator should be CFI-undefined PC.
https://dwarfstd.org/doc/Dwarf3.pdf - page 118:
If a Return Address register is defined in the virtual unwind table,
and its rule is undefined (for example, by DW_CFA_undefined), then
there is no return address and no call address, and the virtual
unwind of stack activations is complete.

That is allows gdb and libunwind successfully stop when unwinding stack
from global constructors and destructors.

Reviewed by:		kib
Differential Revision:	https://reviews.freebsd.org/D40794
2023-07-01 10:51:35 +03:00
..
aarch64 rtld: fix typo in comment 2023-06-10 04:35:14 +03:00
amd64 rtld: Add a stop indicator to rtld_start to satisfy unwinders on x86_64 2023-07-01 10:51:35 +03:00
arm rtld-elf: Remove set but unused variable on 32-bit arm. 2023-06-20 09:29:00 -07:00
i386 rtld: rename tls_done to tls_static 2023-06-05 22:33:17 +03:00
powerpc rtld: rename tls_done to tls_static 2023-06-05 22:33:17 +03:00
powerpc64 rtld: rename tls_done to tls_static 2023-06-05 22:33:17 +03:00
riscv rtld: rename tls_done to tls_static 2023-06-05 22:33:17 +03:00
rtld-libc Have rtld query the page size from the kernel 2022-04-07 15:37:37 +01:00
tests spdx: The BSD-2-Clause-FreeBSD identifier is obsolete, drop -FreeBSD 2023-05-12 10:44:03 -06:00
debug.c spdx: The BSD-2-Clause-FreeBSD identifier is obsolete, drop -FreeBSD 2023-05-12 10:44:03 -06:00
debug.h spdx: The BSD-2-Clause-FreeBSD identifier is obsolete, drop -FreeBSD 2023-05-12 10:44:03 -06:00
libmap.c rtld: fix typo in comment 2022-10-17 17:10:03 +03:00
libmap.conf Move libmap.conf to libexec/rtld-elf/ 2018-09-18 00:25:00 +00:00
libmap.h rtld-elf/libmap.h: style declarations 2022-09-19 01:49:41 +03:00
Makefile rtld: don't add extraneous -L directory when MK_TOOLCHAIN == no 2023-05-02 18:01:43 -04:00
Makefile.depend Update/fix Makefile.depend for userland 2023-04-18 17:14:23 -07:00
map_object.c rtld: rename tls_done to tls_static 2023-06-05 22:33:17 +03:00
rtld_lock.c spdx: The BSD-2-Clause-FreeBSD identifier is obsolete, drop -FreeBSD 2023-05-12 10:44:03 -06:00
rtld_lock.h spdx: The BSD-2-Clause-FreeBSD identifier is obsolete, drop -FreeBSD 2023-05-12 10:44:03 -06:00
rtld_malloc.c rtld-elf/paths.h: Make it usable outside rtld 2021-10-21 03:08:54 +03:00
rtld_malloc.h spdx: The BSD-2-Clause-FreeBSD identifier is obsolete, drop -FreeBSD 2023-05-12 10:44:03 -06:00
rtld_paths.h libcasper: Move helper libraries from /lib/casper to /lib. 2023-03-29 15:04:28 -07:00
rtld_printf.c rtld: add rtld_fdprintfx() 2021-11-13 19:33:13 +02:00
rtld_printf.h spdx: The BSD-2-Clause-FreeBSD identifier is obsolete, drop -FreeBSD 2023-05-12 10:44:03 -06:00
rtld_tls.h rtld_tls.h: style 2023-06-05 22:33:17 +03:00
rtld_utrace.h
rtld.1 rtld: add support for the $LIB token 2022-11-11 12:06:30 +02:00
rtld.c rtld-elf: Mark tls_init_align __unused in free_tls for Variant I TLS. 2023-06-20 12:38:48 -07:00
rtld.h rtld: do not allow both dynamic DTV index and static TLS offset 2023-06-05 22:33:18 +03:00
Symbol.map rtld dl_iterate_phdr(): dlpi_tls_data is wrong 2021-04-06 03:23:08 +03:00
xmalloc.c spdx: The BSD-2-Clause-FreeBSD identifier is obsolete, drop -FreeBSD 2023-05-12 10:44:03 -06:00