summaryrefslogtreecommitdiffstats
path: root/llvm/lib/Linker
diff options
context:
space:
mode:
authorBill Wendling <isanbard@gmail.com>2009-07-20 01:03:30 +0000
committerBill Wendling <isanbard@gmail.com>2009-07-20 01:03:30 +0000
commita3c6f6bffaabc3e514cd9e46d16c5f9d93c6b4af (patch)
tree786729b22c11a5594587611ce98238d93cfe473c /llvm/lib/Linker
parent88f35c870b71eeb6b58da955007d2c3b5dc0cd00 (diff)
downloadbcm5719-llvm-a3c6f6bffaabc3e514cd9e46d16c5f9d93c6b4af.tar.gz
bcm5719-llvm-a3c6f6bffaabc3e514cd9e46d16c5f9d93c6b4af.zip
Add plumbing for the `linker_private' linkage type. This type is meant for
"private" symbols which the assember shouldn't strip, but which the linker may remove after evaluation. This is mostly useful for Objective-C metadata. This is plumbing, so we don't have a use of it yet. More to come, etc. llvm-svn: 76385
Diffstat (limited to 'llvm/lib/Linker')
-rw-r--r--llvm/lib/Linker/LinkModules.cpp3
1 files changed, 3 insertions, 0 deletions
diff --git a/llvm/lib/Linker/LinkModules.cpp b/llvm/lib/Linker/LinkModules.cpp
index 85ba9330737..afc06e4e47a 100644
--- a/llvm/lib/Linker/LinkModules.cpp
+++ b/llvm/lib/Linker/LinkModules.cpp
@@ -709,6 +709,9 @@ CalculateAliasLinkage(const GlobalValue *SGV, const GlobalValue *DGV) {
else if (SL == GlobalValue::InternalLinkage &&
DL == GlobalValue::InternalLinkage)
return GlobalValue::InternalLinkage;
+ else if (SL == GlobalValue::LinkerPrivateLinkage &&
+ DL == GlobalValue::LinkerPrivateLinkage)
+ return GlobalValue::LinkerPrivateLinkage;
else {
assert (SL == GlobalValue::PrivateLinkage &&
DL == GlobalValue::PrivateLinkage && "Unexpected linkage type");
OpenPOWER on IntegriCloud