freebsd-dev/libexec/rtld-elf
Leandro Lupori a5467d6ca2 Handle non-PLT GNU IFUNC relocations in rtld
In the last IFUNC related changes to rtld, the code that handled non-PLT
GNU IFUNC relocations ended up getting lost. This could leave some
relocations unhandled, causing crashes or misbehavior. This change restores
the handling of these relocations, but now together with the other IFUNC
relocations, allowing resolvers to reference external symbols.

Reviewed by:	kib
MFC after:	2 weeks
Sponsored by:	Eldorado Research Institute (eldorado.org.br)
Differential Revision:	https://reviews.freebsd.org/D25550
2020-07-06 11:57:59 +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 Handle non-PLT GNU IFUNC relocations in rtld 2020-07-06 11:57:59 +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