Record sysbols created by aliases. Fixes PR8414.
authorRafael Espindola <rafael.espindola@gmail.com>
Wed, 20 Oct 2010 04:57:22 +0000 (04:57 +0000)
committerRafael Espindola <rafael.espindola@gmail.com>
Wed, 20 Oct 2010 04:57:22 +0000 (04:57 +0000)
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@116910 91177308-0d34-0410-b5e6-96231b3b80d8

tools/lto/LTOModule.cpp

index f0f3dbcce4a9db34578c3bf5bab74d667e84dcc6..c1f670ae4ba99481dad12fc2429c1c10b04e6a26 100644 (file)
@@ -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) {