diff options
Diffstat (limited to 'elf')
-rw-r--r-- | elf/do-rel.h | 5 |
1 files changed, 3 insertions, 2 deletions
diff --git a/elf/do-rel.h b/elf/do-rel.h index 5f07544..7f3b06a 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. */ |