From: Chris Lattner Date: Wed, 5 Aug 2009 05:25:18 +0000 (+0000) Subject: cgobjcgnu was making invalid common globals. X-Git-Url: https://granicus.if.org/sourcecode?a=commitdiff_plain;h=f35271b8677a5f31498b89587b1da42a06dd46fd;p=clang cgobjcgnu was making invalid common globals. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@78161 91177308-0d34-0410-b5e6-96231b3b80d8 --- diff --git a/lib/CodeGen/CGObjCGNU.cpp b/lib/CodeGen/CGObjCGNU.cpp index 139d9ae8a2..e8c3e2ffef 100644 --- a/lib/CodeGen/CGObjCGNU.cpp +++ b/lib/CodeGen/CGObjCGNU.cpp @@ -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; }