diff options
author | Bill Wendling <isanbard@gmail.com> | 2009-07-20 01:03:30 +0000 |
---|---|---|
committer | Bill Wendling <isanbard@gmail.com> | 2009-07-20 01:03:30 +0000 |
commit | a3c6f6bffaabc3e514cd9e46d16c5f9d93c6b4af (patch) | |
tree | 786729b22c11a5594587611ce98238d93cfe473c /llvm/lib/Linker | |
parent | 88f35c870b71eeb6b58da955007d2c3b5dc0cd00 (diff) | |
download | bcm5719-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.cpp | 3 |
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"); |