diff options
author | Rafael Espindola <rafael.espindola@gmail.com> | 2014-04-23 14:42:32 +0000 |
---|---|---|
committer | Rafael Espindola <rafael.espindola@gmail.com> | 2014-04-23 14:42:32 +0000 |
commit | 6a4a0799a526542b446139e1be7215477aea2a01 (patch) | |
tree | 5b9dee14acc80f1d4f834741bbfe35425cadfd78 /llvm/lib/MC/ELFObjectWriter.cpp | |
parent | 47bff44d3dab2fa52d06592e3b2f0b73084e0f5a (diff) | |
download | bcm5719-llvm-6a4a0799a526542b446139e1be7215477aea2a01.tar.gz bcm5719-llvm-6a4a0799a526542b446139e1be7215477aea2a01.zip |
Centralize handling of ELF_Other_ThumbFunc.
No functionality change.
llvm-svn: 206988
Diffstat (limited to 'llvm/lib/MC/ELFObjectWriter.cpp')
-rw-r--r-- | llvm/lib/MC/ELFObjectWriter.cpp | 5 |
1 files changed, 2 insertions, 3 deletions
diff --git a/llvm/lib/MC/ELFObjectWriter.cpp b/llvm/lib/MC/ELFObjectWriter.cpp index 636d449e207..f11ec79210a 100644 --- a/llvm/lib/MC/ELFObjectWriter.cpp +++ b/llvm/lib/MC/ELFObjectWriter.cpp @@ -513,7 +513,8 @@ uint64_t ELFObjectWriter::SymbolValue(MCSymbolData &OrigData, } } - if (Data && Data->getFlags() & ELF_Other_ThumbFunc) + if ((Data && Data->getFlags() & ELF_Other_ThumbFunc) || + OrigData.getFlags() & ELF_Other_ThumbFunc) Res |= 1; if (!Symbol || !Symbol->isInSection()) @@ -644,8 +645,6 @@ void ELFObjectWriter::WriteSymbol(SymbolTableWriter &Writer, ELFSymbolData &MSD, Other |= Visibility; uint64_t Value = SymbolValue(OrigData, Layout); - if (OrigData.getFlags() & ELF_Other_ThumbFunc) - Value |= 1; uint64_t Size = 0; const MCExpr *ESize = OrigData.getSize(); |