diff options
author | Peter Collingbourne <peter@pcc.me.uk> | 2015-07-04 03:42:35 +0000 |
---|---|---|
committer | Peter Collingbourne <peter@pcc.me.uk> | 2015-07-04 03:42:35 +0000 |
commit | 17eff10f6806bbf676fc0c4731c9940c61d90cc0 (patch) | |
tree | 167198e8152055f99e972ae8400c34ad8facf19e /llvm/lib/LTO/LTOModule.cpp | |
parent | 0569ecfa9b643a8f0a14d83647927b546eba9abd (diff) | |
download | bcm5719-llvm-17eff10f6806bbf676fc0c4731c9940c61d90cc0.tar.gz bcm5719-llvm-17eff10f6806bbf676fc0c4731c9940c61d90cc0.zip |
LTO: expose LTO_SYMBOL_ALIAS, which indicates that the symbol is an alias.
This is needed for COFF linkers to distinguish between weak external aliases
and regular symbols with LLVM weak linkage, which are represented as strong
symbols in COFF.
llvm-svn: 241389
Diffstat (limited to 'llvm/lib/LTO/LTOModule.cpp')
-rw-r--r-- | llvm/lib/LTO/LTOModule.cpp | 3 |
1 files changed, 3 insertions, 0 deletions
diff --git a/llvm/lib/LTO/LTOModule.cpp b/llvm/lib/LTO/LTOModule.cpp index 6131c318024..53ed4175f8e 100644 --- a/llvm/lib/LTO/LTOModule.cpp +++ b/llvm/lib/LTO/LTOModule.cpp @@ -473,6 +473,9 @@ void LTOModule::addDefinedSymbol(const char *Name, const GlobalValue *def, if (def->hasComdat()) attr |= LTO_SYMBOL_COMDAT; + if (isa<GlobalAlias>(def)) + attr |= LTO_SYMBOL_ALIAS; + auto Iter = _defines.insert(Name).first; // fill information structure |