projects
/
centaur.git
/ blobdiff
commit
grep
author
committer
pickaxe
?
search:
re
summary
|
shortlog
|
log
|
commit
|
commitdiff
|
tree
raw
|
inline
| side by side
Lookup dynamically linked global variables.
[centaur.git]
/
src
/
libelfu
/
modelops
/
relocate.c
diff --git
a/src/libelfu/modelops/relocate.c
b/src/libelfu/modelops/relocate.c
index 7f78524acf962b9af6ce1736376fde770bdbe7dd..94598e607a85e1e7db3b795e0851a76c4338ea32 100644
(file)
--- 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);
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);
+ }
}
}
}
}