summaryrefslogtreecommitdiffstats
path: root/llvm/tools
diff options
context:
space:
mode:
authorRafael Espindola <rafael.espindola@gmail.com>2010-10-20 04:57:22 +0000
committerRafael Espindola <rafael.espindola@gmail.com>2010-10-20 04:57:22 +0000
commita8a74ece085c97df11ddb3e01084d6a6f1741255 (patch)
tree3a20b9b4bf863bfffe95b5a78e85c177f708868f /llvm/tools
parentffea0abe813bb6d0355f5adb07f4d08a2d56a99e (diff)
downloadbcm5719-llvm-a8a74ece085c97df11ddb3e01084d6a6f1741255.tar.gz
bcm5719-llvm-a8a74ece085c97df11ddb3e01084d6a6f1741255.zip
Record sysbols created by aliases. Fixes PR8414.
llvm-svn: 116910
Diffstat (limited to 'llvm/tools')
-rw-r--r--llvm/tools/lto/LTOModule.cpp9
1 files changed, 9 insertions, 0 deletions
diff --git a/llvm/tools/lto/LTOModule.cpp b/llvm/tools/lto/LTOModule.cpp
index f0f3dbcce4a..c1f670ae4ba 100644
--- a/llvm/tools/lto/LTOModule.cpp
+++ b/llvm/tools/lto/LTOModule.cpp
@@ -469,6 +469,15 @@ void LTOModule::lazyParseSymbols() {
pos = inlineAsm.find(glbl, pend);
}
+ // add aliases
+ for (Module::alias_iterator i = _module->alias_begin(),
+ e = _module->alias_end(); i != e; ++i) {
+ if (i->isDeclaration())
+ addPotentialUndefinedSymbol(i, mangler);
+ else
+ addDefinedDataSymbol(i, mangler);
+ }
+
// make symbols for all undefines
for (StringMap<NameAndAttributes>::iterator it=_undefines.begin();
it != _undefines.end(); ++it) {
OpenPOWER on IntegriCloud