summaryrefslogtreecommitdiff
path: root/src/libelfu/modelops/relocate.c
diff options
context:
space:
mode:
Diffstat (limited to 'src/libelfu/modelops/relocate.c')
-rw-r--r--src/libelfu/modelops/relocate.c7
1 files changed, 5 insertions, 2 deletions
diff --git a/src/libelfu/modelops/relocate.c b/src/libelfu/modelops/relocate.c
index 7f78524..94598e6 100644
--- a/src/libelfu/modelops/relocate.c
+++ b/src/libelfu/modelops/relocate.c
@@ -36,8 +36,11 @@ int elfu_mRelocate(ElfuElf *metarget, ElfuScn *mstarget, ElfuScn *msrt)
haveSymval = !elfu_mDynLookupPltAddrByName(metarget,
elfu_mSymtabSymToName(msrt->linkptr, sym),
&s);
- } else if (sym->shndx == SHN_COMMON) {
- // TODO: Lookup in .rel.dyn
+ if (!haveSymval) {
+ haveSymval = !elfu_mDynLookupReldynAddrByName(metarget,
+ elfu_mSymtabSymToName(msrt->linkptr, sym),
+ &s);
+ }
}
}