diff options
author | Eelco Dolstra <e.dolstra@tudelft.nl> | 2010-08-26 08:55:28 (GMT) |
---|---|---|
committer | Eelco Dolstra <e.dolstra@tudelft.nl> | 2010-08-26 08:55:28 (GMT) |
commit | f78ceb56774f28d3652535153f0d54f37be3ded8 (patch) | |
tree | ab59ff3eee59e2b0bdc28bdaaad1b2d9dbf21c39 /src | |
parent | 396955bb71e5f398e4e0864388b8e47040e34242 (diff) | |
download | patchelf-f78ceb56774f28d3652535153f0d54f37be3ded8.zip patchelf-f78ceb56774f28d3652535153f0d54f37be3ded8.tar.gz patchelf-f78ceb56774f28d3652535153f0d54f37be3ded8.tar.bz2 |
* Update DT_RELA.
Diffstat (limited to 'src')
-rw-r--r-- | src/patchelf.cc | 3 |
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) |