[PATCH] elf: correct relocation statistics for !ELF_MACHINE_START_ADDRESS
Andreas Schwab
schwab@suse.de
Mon Jan 29 16:03:33 GMT 2024
Fixes: 6628c742b2 ("elf: Remove prelink support")
---
elf/rtld.c | 7 +++----
1 file changed, 3 insertions(+), 4 deletions(-)
diff --git a/elf/rtld.c b/elf/rtld.c
index 4f494b792e..ac4bb23652 100644
--- a/elf/rtld.c
+++ b/elf/rtld.c
@@ -2815,10 +2815,9 @@ print_statistics (const hp_timing_t *rtld_total_timep)
num_relative_relocations
+= l->l_info[VERSYMIDX (DT_RELCOUNT)]->d_un.d_val;
#ifndef ELF_MACHINE_REL_RELATIVE
- /* Relative relocations are processed on these architectures if
- library is loaded to different address than p_vaddr. */
- if ((l->l_addr != 0)
- && l->l_info[VERSYMIDX (DT_RELACOUNT)])
+ /* Relative relocations are always processed on these
+ architectures. */
+ if (l->l_info[VERSYMIDX (DT_RELACOUNT)])
#else
/* On e.g. IA-64 or Alpha, relative relocations are processed
only if library is loaded to different address than p_vaddr. */
--
2.43.0
--
Andreas Schwab, SUSE Labs, schwab@suse.de
GPG Key fingerprint = 0196 BAD8 1CE9 1970 F4BE 1748 E4D4 88E3 0EEA B9D7
"And now for something completely different."
More information about the Libc-alpha
mailing list