Fix major problem with appending linkage changes


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@6185 91177308-0d34-0410-b5e6-96231b3b80d8
diff --git a/lib/Transforms/Utils/Linker.cpp b/lib/Transforms/Utils/Linker.cpp
index 13afe1f..c4d4fc6 100644
--- a/lib/Transforms/Utils/Linker.cpp
+++ b/lib/Transforms/Utils/Linker.cpp
@@ -597,7 +597,8 @@
   // Add all of the appending globals already in the Dest module to
   // AppendingVars.
   for (Module::giterator I = Dest->gbegin(), E = Dest->gend(); I != E; ++I)
-    AppendingVars.insert(std::make_pair(I->getName(), I));
+    if (I->hasAppendingLinkage())
+      AppendingVars.insert(std::make_pair(I->getName(), I));
 
   // Insert all of the globals in src into the Dest module... without linking
   // initializers (which could refer to functions not yet mapped over).