summaryrefslogtreecommitdiffstats
path: root/llvm/lib/CodeGen/TargetLoweringObjectFileImpl.cpp
diff options
context:
space:
mode:
authorRafael Espindola <rafael.espindola@gmail.com>2013-11-27 15:52:11 +0000
committerRafael Espindola <rafael.espindola@gmail.com>2013-11-27 15:52:11 +0000
commit3c8e147a6bb107eb7b5d5d71efc7880953d44f91 (patch)
tree32b7da2838baf80d7df6a60ba110a82fbe55608d /llvm/lib/CodeGen/TargetLoweringObjectFileImpl.cpp
parent6f9165a478d66c44d23df814aa1bd638838bc646 (diff)
downloadbcm5719-llvm-3c8e147a6bb107eb7b5d5d71efc7880953d44f91.tar.gz
bcm5719-llvm-3c8e147a6bb107eb7b5d5d71efc7880953d44f91.zip
Use the same tls section name as msvc.
We currently error in clang with: "error: thread-local storage is unsupported for the current target", but we can start to get the llvm level ready. When compiling template<typename T> struct foo { static __declspec(thread) int bar; }; template<typename T> __declspec(therad) int foo<T>::bar; template struct foo<int>; msvc produces SECTION HEADER #3 .tls$ name 0 physical address 0 virtual address 4 size of raw data 12F file pointer to raw data (0000012F to 00000132) 0 file pointer to relocation table 0 file pointer to line numbers 0 number of relocations 0 number of line numbers C0301040 flags Initialized Data COMDAT; sym= "public: static int foo<int>::bar" (?bar@?$foo@H@@2HA) 4 byte align Read Write gcc produces a ".data$__emutls_v.<symbol>" for the testcase with __declspec(thread) replaced with thread_local. llvm-svn: 195849
Diffstat (limited to 'llvm/lib/CodeGen/TargetLoweringObjectFileImpl.cpp')
-rw-r--r--llvm/lib/CodeGen/TargetLoweringObjectFileImpl.cpp2
1 files changed, 1 insertions, 1 deletions
diff --git a/llvm/lib/CodeGen/TargetLoweringObjectFileImpl.cpp b/llvm/lib/CodeGen/TargetLoweringObjectFileImpl.cpp
index 229ccfae28a..25d8cdc4399 100644
--- a/llvm/lib/CodeGen/TargetLoweringObjectFileImpl.cpp
+++ b/llvm/lib/CodeGen/TargetLoweringObjectFileImpl.cpp
@@ -744,7 +744,7 @@ static const char *getCOFFSectionNameForUniqueGlobal(SectionKind Kind) {
if (Kind.isBSS ())
return ".bss";
if (Kind.isThreadLocal())
- return ".tls";
+ return ".tls$";
if (Kind.isWriteable())
return ".data";
return ".rdata";
OpenPOWER on IntegriCloud