aboutsummaryrefslogtreecommitdiff
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
parentd1e1703c39742f3c9fc3d27a442ff59bbdbfb5aa (diff)
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
-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 c7cd585d03..fc028a27c5 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()) {