freebsd-dev/libexec/rtld-elf
Konstantin Belousov 137aed91e7 Fix AT_EXECPATH for direct exec mode.
When activated in direct exec mode, kernel-provided AT_EXECPATH points
to the interpreter.  We need to recalculate auxv to point to the
string with the path to the executable which is actually executed.

The somewhat problematic case is when the executable path is relative
and either $PATH use is not enabled or it contains '/' so $PATH search
is not performed. In this case resulting AT_EXECPATH is relative, I
might fix this later.

Reported and reviewed by:	rstone
Sponsored by:	The FreeBSD Foundation
MFC after:	1 week
Differential revision:	https://reviews.freebsd.org/D22894
2020-01-02 22:48:08 +00:00
..
aarch64 Improve R_AARCH64_TLSDESC relocation. 2018-12-15 10:38:07 +00:00
amd64 rtld-elf: Remove x86 elf_rtld.x linker scripts. 2019-08-04 21:43:34 +00:00
arm rtld: attempt to fix reloc_nonplt_object TLS allocation 2019-03-29 14:35:23 +00:00
i386 rtld-elf: Remove x86 elf_rtld.x linker scripts. 2019-08-04 21:43:34 +00:00
mips rtld: attempt to fix reloc_non_plt TLS allocation on MIPS 2019-03-29 15:07:00 +00:00
powerpc [PowerPC] powerpc32 rtld IFUNC handling code 2019-12-24 16:13:15 +00:00
powerpc64 [PowerPC] powerpc64 rtld IFUNC handling code 2019-12-24 16:07:35 +00:00
riscv Correct the offset of static TLS variables for Initial-Exec on RISC-V. 2019-12-10 21:56:44 +00:00
rtld-libc rtld-elf: fix build with xtoolchain-llvm90 2019-08-15 17:35:24 +00:00
sparc64 Improve R_AARCH64_TLSDESC relocation. 2018-12-15 10:38:07 +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 libcompat: Correct rtld MLINKS 2019-11-12 22:31:59 +00:00
Makefile.depend new depends 2015-06-16 23:37:19 +00:00
map_object.c rtld: make checks for mmap(2) failures compliant with documentation. 2019-12-12 22:59:22 +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 Reduce size of rtld by 22% by pulling in less code from libc 2019-06-30 11:49:58 +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 libexec: adoption of SPDX licensing ID tags. 2017-11-27 15:25:02 +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 Fix AT_EXECPATH for direct exec mode. 2020-01-02 22:48:08 +00:00
rtld.h rtld(1): Do booleans like C99 2019-12-31 05:41:47 +00:00
Symbol.map Add rtld private interface for dso to detect dynamic loading 2015-01-03 18:09:53 +00:00
xmalloc.c Reduce size of rtld by 22% by pulling in less code from libc 2019-06-30 11:49:58 +00:00