freebsd-dev/libexec/rtld-elf
Ryan Libby 63f93c7e11 rtld-elf: link libcompiler_rt on all architectures
Statically link rtld-elf with libcompiler_rt on all architectures so
that we don't need to try to pick and choose the bits we need from it
for each architecture (we now leave that to the linker).  Compilers may
emit calls to support functions in this library, but because of the use
of the linker flag -nostdlib for rtld's special needs, the library is
not linked as normal.

Previously we had two different solutions.  On some architectures, we
were able to extract reimplementations of the necessary builtin
functions from our special build of libc.  On ARM, we just linked
libcompiler_rt.

This is motivated by the same issue as D26199 and D27665, but should be
a simpler solution that will apply to all architectures.

Reviewed by:	arichardson, kib
Sponsored by:	Dell EMC Isilon
Differential Revision:	https://reviews.freebsd.org/D27736
2020-12-28 00:44:25 -08:00
..
aarch64 rtld-elf(1): remove obsolete pre_init() hook 2020-12-25 19:47:46 +01:00
amd64 rtld-elf(1): remove obsolete pre_init() hook 2020-12-25 19:47:46 +01:00
arm rtld-elf: link libcompiler_rt on all architectures 2020-12-28 00:44:25 -08:00
i386 rtld-elf(1): remove obsolete pre_init() hook 2020-12-25 19:47:46 +01:00
mips rtld-elf(1): remove obsolete pre_init() hook 2020-12-25 19:47:46 +01:00
powerpc rtld-elf(1): remove obsolete pre_init() hook 2020-12-25 19:47:46 +01:00
powerpc64 rtld-elf(1): remove obsolete pre_init() hook 2020-12-25 19:47:46 +01:00
riscv rtld-elf(1): remove obsolete pre_init() hook 2020-12-25 19:47:46 +01:00
rtld-libc rtld-elf: link libcompiler_rt on all architectures 2020-12-28 00:44:25 -08:00
tests Do a sweep and remove most WARNS=6 settings 2020-10-01 01:10:51 +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-elf: link libcompiler_rt on all architectures 2020-12-28 00:44:25 -08:00
Makefile.depend new depends 2015-06-16 23:37:19 +00:00
map_object.c Undo 'fix off by one' part of r365360. 2020-09-05 22:48:27 +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 Fix a few mandoc issues 2020-10-09 15:14:19 +00:00
rtld.c rtld-elf(1): remove obsolete pre_init() hook 2020-12-25 19:47:46 +01:00
rtld.h rtld-elf(1): remove obsolete pre_init() hook 2020-12-25 19:47:46 +01: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