summary refs log tree commit diff
path: root/elf/do-rel.h
diff options
context:
space:
mode:
Diffstat (limited to 'elf/do-rel.h')
-rw-r--r--elf/do-rel.h5
1 files changed, 3 insertions, 2 deletions
diff --git a/elf/do-rel.h b/elf/do-rel.h
index 5f07544369..7f3b06acd2 100644
--- a/elf/do-rel.h
+++ b/elf/do-rel.h
@@ -83,11 +83,12 @@ elf_dynamic_do_rel (struct link_map *map,
       weak_extern (GL(dl_rtld_map));
 # endif
       if (map != &GL(dl_rtld_map)) /* Already done in rtld itself.  */
-# ifndef DO_RELA
+# if !defined DO_RELA || defined ELF_MACHINE_REL_RELATIVE
 	/* Rela platforms get the offset from r_addend and this must
 	   be copied in the relocation address.  Therefore we can skip
 	   the relative relocations only if this is for rel
-	   relocations...  */
+	   relocations or rela relocations if they are computed as
+	   memory_loc += l_addr...  */
 	if (l_addr != 0)
 # else
 	/* ...or we know the object has been prelinked.  */