Don't tell the linker about available_externally definitions. If we do, it will
authorRafael Espindola <rafael.espindola@gmail.com>
Tue, 1 Feb 2011 00:41:51 +0000 (00:41 +0000)
committerRafael Espindola <rafael.espindola@gmail.com>
Tue, 1 Feb 2011 00:41:51 +0000 (00:41 +0000)
complain about duplicated definitions.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@124634 91177308-0d34-0410-b5e6-96231b3b80d8

tools/lto/LTOModule.cpp

index 59c8b3517ffd313f07c5ad8bca5eb21b69af7df6..e2ecabcc1c367c9440d9d737b387362e4e127496 100644 (file)
@@ -304,6 +304,10 @@ void LTOModule::addDefinedSymbol(GlobalValue *def, Mangler &mangler,
   if (def->getName().startswith("llvm."))
     return;
 
+  // ignore available_externally
+  if (def->hasAvailableExternallyLinkage())
+    return;
+
   // string is owned by _defines
   const char *symbolName = ::strdup(mangler.getNameWithPrefix(def).c_str());