opnsense-src/libexec/rtld-elf
Jessica Clarke 33658afd4e rtld-elf: Pass parsed aux_info to ifunc_init
Currently we pass the raw pointer to the on-stack auxargs. This can
legitimately have fewer than AT_COUNT entries, so the use of
__min_size(AT_COUNT), i.e. static AT_COUNT, is inaccurate, and also
needlessly forces the callee to iterate over the elements to find the
entry for a given type. Instead we can just pass aux_info like we use
for everything else.

Note that the argument has been left unused by every callee since its
introduction in 4352999e0e ("Pass CPUID[1] %edx (cpu_feature), %ecx
(cpu_feature2) and CPUID[7].%ebx (cpu_stdext_feature), %ecx
(cpu_stdext_feature2) to the ifunc resolvers on x86.")

Reviewed by:	kib
MFC after:	1 month
Differential Revision:	https://reviews.freebsd.org/D46276
2024-08-22 20:36:44 +01:00
..
aarch64 rtld-elf: Pass parsed aux_info to ifunc_init 2024-08-22 20:36:44 +01:00
amd64 rtld-elf: Pass parsed aux_info to ifunc_init 2024-08-22 20:36:44 +01:00
arm rtld-elf: Pass parsed aux_info to ifunc_init 2024-08-22 20:36:44 +01:00
i386 rtld-elf: Pass parsed aux_info to ifunc_init 2024-08-22 20:36:44 +01:00
powerpc rtld-elf: Pass parsed aux_info to ifunc_init 2024-08-22 20:36:44 +01:00
powerpc64 rtld-elf: Pass parsed aux_info to ifunc_init 2024-08-22 20:36:44 +01:00
riscv rtld-elf: Pass parsed aux_info to ifunc_init 2024-08-22 20:36:44 +01:00
rtld-libc rtld: remove pointless "extern" 2024-02-21 02:26:10 +02:00
tests Remove residual blank line at start of Makefile 2024-07-15 16:43:39 -06:00
debug.c Remove $FreeBSD$: two-line .h pattern 2023-08-16 11:54:16 -06:00
debug.h Remove $FreeBSD$: two-line .h pattern 2023-08-16 11:54:16 -06:00
libmap.c Remove $FreeBSD$: one-line .h pattern 2023-08-16 11:54:23 -06:00
libmap.conf Remove $FreeBSD$: one-line sh pattern 2023-08-16 11:55:03 -06:00
libmap.h Remove $FreeBSD$: one-line .h pattern 2023-08-16 11:54:23 -06:00
Makefile Remove residual blank line at start of Makefile 2024-07-15 16:43:39 -06:00
Makefile.depend Remove $FreeBSD$: one-line sh pattern 2023-08-16 11:55:03 -06:00
map_object.c Remove $FreeBSD$: two-line .h pattern 2023-08-16 11:54:16 -06:00
rtld.1 rtld: add LD_NO_DL_ITERATE_PHDR_AFTER_FORK env var 2024-07-30 02:57:33 +03:00
rtld.c rtld-elf: Pass parsed aux_info to ifunc_init 2024-08-22 20:36:44 +01:00
rtld.h rtld-elf: Pass parsed aux_info to ifunc_init 2024-08-22 20:36:44 +01:00
rtld_lock.c rtld: add LD_NO_DL_ITERATE_PHDR_AFTER_FORK env var 2024-07-30 02:57:33 +03:00
rtld_lock.h Remove $FreeBSD$: two-line .h pattern 2023-08-16 11:54:16 -06:00
rtld_malloc.c libexec: Remove ancient SCCS tags. 2023-11-26 22:23:28 -07:00
rtld_malloc.h Remove "All Rights Reserved" from FreeBSD Foundation copyrights 2024-07-30 12:16:36 -04:00
rtld_paths.h Remove $FreeBSD$: two-line .h pattern 2023-08-16 11:54:16 -06:00
rtld_printf.c rtld-elf: Fix signed conversion for %hh 2024-07-14 12:01:43 -06:00
rtld_printf.h Remove $FreeBSD$: two-line .h pattern 2023-08-16 11:54:16 -06:00
rtld_tls.h Remove $FreeBSD$: two-line .h pattern 2023-08-16 11:54:16 -06:00
rtld_utrace.h Remove $FreeBSD$: two-line .h pattern 2023-08-16 11:54:16 -06:00
Symbol.map Remove $FreeBSD$: one-line .h pattern 2023-08-16 11:54:23 -06:00
xmalloc.c rtld: switch from malloc_aligned() to __crt_aligned_alloc() 2023-08-21 17:16:42 +03:00