From: Devang Patel Date: Tue, 15 Jul 2008 00:00:11 +0000 (+0000) Subject: LinkOnce definitions have default scope, like weak definitions. Otherwise, the linker... X-Git-Url: http://demsky.eecs.uci.edu/git/?a=commitdiff_plain;h=f0d286b77fe40017192b527e5cc5d87974093d54;p=oota-llvm.git LinkOnce definitions have default scope, like weak definitions. Otherwise, the linker may not be able to match LinkOnce definition from one module with an exteranl reference from other module. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@53580 91177308-0d34-0410-b5e6-96231b3b80d8 --- diff --git a/tools/lto/LTOModule.cpp b/tools/lto/LTOModule.cpp index 333e9ba103c..f31f0dfb739 100644 --- a/tools/lto/LTOModule.cpp +++ b/tools/lto/LTOModule.cpp @@ -224,7 +224,8 @@ void LTOModule::addDefinedSymbol(GlobalValue* def, Mangler &mangler, // set scope part if ( def->hasHiddenVisibility() ) attr |= LTO_SYMBOL_SCOPE_HIDDEN; - else if ( def->hasExternalLinkage() || def->hasWeakLinkage() ) + else if ( def->hasExternalLinkage() || def->hasWeakLinkage() + || def->hasLinkOnceLinkage() ) attr |= LTO_SYMBOL_SCOPE_DEFAULT; else attr |= LTO_SYMBOL_SCOPE_INTERNAL;