summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorJörg Thalheim <Mic92@users.noreply.github.com>2022-02-05 07:35:34 +0000
committerGitHub <noreply@github.com>2022-02-05 07:35:34 +0000
commita99261672293e50e7bc2de414a50a03ec62d4085 (patch)
treef588ee616f8f1938c5c5cacb923cf6bc74529423
parent8fc702001589ba31493513ca22cdb52c24b963c3 (diff)
parent457d297922eaabddcda27517d34a90e18708e326 (diff)
downloadpatchelf-a99261672293e50e7bc2de414a50a03ec62d4085.tar.gz
Merge pull request #365 from a-m-joseph/master
fix incorrect polarity on dyn_offset; closes #364
-rw-r--r--src/patchelf.cc2
1 files changed, 1 insertions, 1 deletions
diff --git a/src/patchelf.cc b/src/patchelf.cc
index e824cbf..b2552f7 100644
--- a/src/patchelf.cc
+++ b/src/patchelf.cc
@@ -1021,7 +1021,7 @@ void ElfFile<ElfFileParamNames>::rewriteHeaders(Elf_Addr phdrAddress)
if (shdr) {
auto rld_map_addr = findSectionHeader(".rld_map").sh_addr;
auto dyn_offset = ((char*)dyn) - ((char*)dyn_table);
- dyn->d_un.d_ptr = rld_map_addr + dyn_offset - (*shdrDynamic).get().sh_addr;
+ dyn->d_un.d_ptr = rld_map_addr - dyn_offset - (*shdrDynamic).get().sh_addr;
} else {
/* ELF file with DT_MIPS_RLD_MAP_REL but without .rld_map
is broken, and it's not our job to fix it; yet, we have