Record sysbols created by aliases. Fixes PR8414.
[oota-llvm.git] / 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) {