[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