diff options
author | Scott Douglass <sdouglass@arm.com> | 2014-06-30 09:37:24 +0000 |
---|---|---|
committer | Scott Douglass <sdouglass@arm.com> | 2014-06-30 09:37:24 +0000 |
commit | 7650a9b8713e6f23495d558bb8c72e3f3c13a42b (patch) | |
tree | 30ff92a0fb98b8298d6f9863218cd97e0d3407ba /llvm/lib/Target/ARM/MCTargetDesc/ARMELFStreamer.cpp | |
parent | 06812bc98b88d5769f3283a1d3085c1fd50d3908 (diff) | |
download | bcm5719-llvm-7650a9b8713e6f23495d558bb8c72e3f3c13a42b.tar.gz bcm5719-llvm-7650a9b8713e6f23495d558bb8c72e3f3c13a42b.zip |
ARM: take care not to set the ThumbFunc bit on TLS data symbols
This fixes LNT SingleSource/UnitTests/Threads with -mthumb.
Differential Revision: http://reviews.llvm.org/D4324
llvm-svn: 212029
Diffstat (limited to 'llvm/lib/Target/ARM/MCTargetDesc/ARMELFStreamer.cpp')
-rw-r--r-- | llvm/lib/Target/ARM/MCTargetDesc/ARMELFStreamer.cpp | 3 |
1 files changed, 2 insertions, 1 deletions
diff --git a/llvm/lib/Target/ARM/MCTargetDesc/ARMELFStreamer.cpp b/llvm/lib/Target/ARM/MCTargetDesc/ARMELFStreamer.cpp index 3782a6b43ad..7b5d8b01dfe 100644 --- a/llvm/lib/Target/ARM/MCTargetDesc/ARMELFStreamer.cpp +++ b/llvm/lib/Target/ARM/MCTargetDesc/ARMELFStreamer.cpp @@ -992,7 +992,8 @@ void ARMTargetELFStreamer::emitLabel(MCSymbol *Symbol) { return; const MCSymbolData &SD = Streamer.getOrCreateSymbolData(Symbol); - if (MCELF::GetType(SD) & (ELF::STT_FUNC << ELF_STT_Shift)) + unsigned Type = MCELF::GetType(SD); + if (Type == ELF_STT_Func || Type == ELF_STT_GnuIFunc) Streamer.EmitThumbFunc(Symbol); } |