diff options
author | 2021-06-30 10:24:09 -0300 | |
---|---|---|
committer | 2021-12-28 08:40:38 -0300 | |
commit | 063f9ba220f434c7f30dd65c4cff17c0c458a7cf (patch) | |
tree | 00737e23f3b48e8d8dd338f16fc8cb98f0e6c051 /sysdeps/unix/sysv/linux/kernel-posix-timers.h | |
parent | elf: Add _dl_audit_pltexit (diff) | |
download | glibc-063f9ba220f434c7f30dd65c4cff17c0c458a7cf.tar.xz glibc-063f9ba220f434c7f30dd65c4cff17c0c458a7cf.zip |
elf: Avoid unnecessary slowdown from profiling with audit (BZ#15533)
The rtld-audit interfaces introduces a slowdown due to enabling
profiling instrumentation (as if LD_AUDIT implied LD_PROFILE).
However, instrumenting is only necessary if one of audit libraries
provides PLT callbacks (la_pltenter or la_pltexit symbols). Otherwise,
the slowdown can be avoided.
The following patch adjusts the logic that enables profiling to iterate
over all audit modules and check if any of those provides a PLT hook.
To keep la_symbind to work even without PLT callbacks, _dl_fixup now
calls the audit callback if the modules implements it.
Co-authored-by: Alexander Monakov <amonakov@ispras.ru>
Checked on x86_64-linux-gnu, i686-linux-gnu, and aarch64-linux-gnu.
Reviewed-by: Florian Weimer <fweimer@redhat.com>
Diffstat (limited to 'sysdeps/unix/sysv/linux/kernel-posix-timers.h')
0 files changed, 0 insertions, 0 deletions