aboutsummaryrefslogtreecommitdiffstats
path: root/tools
diff options
context:
space:
mode:
authorBill Wendling <isanbard@gmail.com>2010-09-27 18:05:19 +0000
committerBill Wendling <isanbard@gmail.com>2010-09-27 18:05:19 +0000
commit563ef5ec911d219b54fdb508518abd02a8dd3cfd (patch)
treef083aad356e91ee1a5e0657c48a7e0ef732b278f /tools
parentd1e1703c39742f3c9fc3d27a442ff59bbdbfb5aa (diff)
downloadexternal_llvm-563ef5ec911d219b54fdb508518abd02a8dd3cfd.zip
external_llvm-563ef5ec911d219b54fdb508518abd02a8dd3cfd.tar.gz
external_llvm-563ef5ec911d219b54fdb508518abd02a8dd3cfd.tar.bz2
The "linker_private_weak*" linkages should set the LTO_SYMBOL_DEFINITION_WEAK
during LTO. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@114850 91177308-0d34-0410-b5e6-96231b3b80d8
Diffstat (limited to 'tools')
-rw-r--r--tools/lto/LTOModule.cpp4
1 files changed, 3 insertions, 1 deletions
diff --git a/tools/lto/LTOModule.cpp b/tools/lto/LTOModule.cpp
index c7cd585..fc028a2 100644
--- a/tools/lto/LTOModule.cpp
+++ b/tools/lto/LTOModule.cpp
@@ -325,7 +325,9 @@ void LTOModule::addDefinedSymbol(GlobalValue *def, Mangler &mangler,
}
// set definition part
- if (def->hasWeakLinkage() || def->hasLinkOnceLinkage()) {
+ if (def->hasWeakLinkage() || def->hasLinkOnceLinkage() ||
+ def->hasLinkerPrivateWeakLinkage() ||
+ def->hasLinkerPrivateWeakDefAutoLinkage()) {
attr |= LTO_SYMBOL_DEFINITION_WEAK;
}
else if (def->hasCommonLinkage()) {