freebsd-dev/libexec/rtld-elf
Konstantin Belousov 510b525fa5 rtld: set osrel when in the direct exec mode.
Rtld itself is a shared object which does not have vendor note, so
after the direct exec of ld-elf.so.1 process has p_osrel set to zero.
This affects the ABI of syscalls.

Set osrel to the __FreeBSD_version value at compile time right after
rtld identified direct exec mode.  Then, switch to the osrel read from
the binary note or zero if no note, right before starting calling
ifunc resolvers, which is the first byte of the user code.

Sponsored by:	The FreeBSD Foundation
MFC after:	1 week
2020-06-12 22:10:03 +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 Move ARM specific flags to arm/Makefile.inc 2020-04-29 16:05:50 +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 rtld: set osrel when in the direct exec mode. 2020-06-12 22:10:03 +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 Remove tests for obsolete compilers in the build system 2020-05-12 15:22:40 +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 rtld: Add -b option to allow to specify image name different from arg0. 2020-05-31 22:37:33 +00:00
rtld.c rtld: set osrel when in the direct exec mode. 2020-06-12 22:10:03 +00:00
rtld.h Do not allow to load ET_DYN object with DF_1_PIE flag set. 2020-06-02 16:20:58 +00:00
Symbol.map Add version indicators to rtld. 2020-05-26 19:22:46 +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