summaryrefslogtreecommitdiffstats
path: root/src/patchelf.cc
diff options
context:
space:
mode:
Diffstat (limited to 'src/patchelf.cc')
-rw-r--r--src/patchelf.cc3
1 files changed, 2 insertions, 1 deletions
diff --git a/src/patchelf.cc b/src/patchelf.cc
index ccd27ff..09a52fe 100644
--- a/src/patchelf.cc
+++ b/src/patchelf.cc
@@ -774,7 +774,8 @@ void ElfFile<ElfFileParamNames>::rewriteHeaders(Elf_Addr phdrAddress)
if (!shdr) error("cannot find .rel.dyn or .rel.got");
dyn->d_un.d_ptr = shdr->sh_addr;
}
- /* should probably update DT_RELA */
+ else if (d_tag == DT_RELA)
+ dyn->d_un.d_ptr = findSection(".rela.dyn").sh_addr; /* PPC Linux */
else if (d_tag == DT_VERNEED)
dyn->d_un.d_ptr = findSection(".gnu.version_r").sh_addr;
else if (d_tag == DT_VERSYM)