]> granicus.if.org Git - clang/commitdiff
cgobjcgnu was making invalid common globals.
authorChris Lattner <sabre@nondot.org>
Wed, 5 Aug 2009 05:25:18 +0000 (05:25 +0000)
committerChris Lattner <sabre@nondot.org>
Wed, 5 Aug 2009 05:25:18 +0000 (05:25 +0000)
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@78161 91177308-0d34-0410-b5e6-96231b3b80d8

lib/CodeGen/CGObjCGNU.cpp

index 139d9ae8a2083c24f2b07b481066c9bb53e78ecc..e8c3e2ffef8f2374c3f439a0f316b2c293ea3548 100644 (file)
@@ -189,7 +189,7 @@ void CGObjCGNU::EmitClassRef(const std::string &className) {
         llvm::GlobalValue::ExternalLinkage, 0, symbolName);
   }
   new llvm::GlobalVariable(TheModule, ClassSymbol->getType(), true,
-    llvm::GlobalValue::CommonLinkage, ClassSymbol, symbolRef);
+    llvm::GlobalValue::WeakAnyLinkage, ClassSymbol, symbolRef);
 }
 
 static std::string SymbolNameForClass(const std::string &ClassName) {
@@ -1580,7 +1580,7 @@ llvm::GlobalVariable *CGObjCGNU::ObjCIvarOffsetVariable(
     llvm::ConstantInt *OffsetGuess =
       llvm::ConstantInt::get(LongTy, Offset, "ivar");
     IvarOffsetGV = new llvm::GlobalVariable(TheModule, LongTy, false,
-        llvm::GlobalValue::CommonLinkage, OffsetGuess, Name);
+        llvm::GlobalValue::WeakAnyLinkage, OffsetGuess, Name);
   }
   return IvarOffsetGV;
 }