diff options
Diffstat (limited to 'src/libelfu/modelops/relocate.c')
-rw-r--r-- | src/libelfu/modelops/relocate.c | 7 |
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); + } } } |