From 32612615c58b394c3eb09f020f31310797ad3854 Mon Sep 17 00:00:00 2001 From: Adhemerval Zanella Date: Mon, 24 Jan 2022 10:46:17 -0300 Subject: elf: Issue la_symbind for bind-now (BZ #23734) The audit symbind callback is not called for binaries built with -Wl,-z,now or when LD_BIND_NOW=1 is used, nor the PLT tracking callbacks (plt_enter and plt_exit) since this would change the expected program semantics (where no PLT is expected) and would have performance implications (such as for BZ#15533). LAV_CURRENT is also bumped to indicate the audit ABI change (where la_symbind flags are set by the loader to indicate no possible PLT trace). To handle powerpc64 ELFv1 function descriptor, _dl_audit_symbind requires to know whether bind-now is used so the symbol value is updated to function text segment instead of the OPD (for lazy binding this is done by PPC64_LOAD_FUNCPTR on _dl_runtime_resolve). Checked on x86_64-linux-gnu, i686-linux-gnu, aarch64-linux-gnu, powerpc64-linux-gnu. Reviewed-by: Carlos O'Donell Tested-by: Carlos O'Donell --- NEWS | 4 ++++ 1 file changed, 4 insertions(+) (limited to 'NEWS') diff --git a/NEWS b/NEWS index 61acf41e66..34151fb3f3 100644 --- a/NEWS +++ b/NEWS @@ -168,6 +168,10 @@ Deprecated and removed features, and other changes affecting compatibility: removal of the LD_TRACE_PRELINKING, and LD_USE_LOAD_BIAS, environment variables and their functionality in the dynamic loader. +* The audit module interface version LAV_CURRENT is increased to enable + proper bind-now support. The loader now advertises via the la_symbind + flags that PLT trace is not possible. + Changes to build and runtime requirements: [Add changes to build and runtime requirements here] -- cgit 1.4.1