HomeFreeBSD

rtld-elf: Pass parsed aux_info to ifunc_init

Description

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 4352999e0e6c ("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

Details

Provenance
jrtc27Authored on Aug 22 2024, 7:36 PM
Reviewer
kib
Differential Revision
D46276: rtld-elf: Pass parsed aux_info to ifunc_init
Parents
rG776cd02b891c: vmm ppt: Enable busmastering and BAR decoding while a device is assigned
Branches
Unknown
Tags
Unknown