diff options
author | Richard Osborne <richard@xmos.com> | 2009-07-22 11:01:00 +0000 |
---|---|---|
committer | Richard Osborne <richard@xmos.com> | 2009-07-22 11:01:00 +0000 |
commit | 5550f62778e67ea478b57eaa5df8d38cc3e0bac3 (patch) | |
tree | c99e5658732bd62e217c1816b0f0fa55e1193d06 /lib/Target/XCore/XCoreTargetAsmInfo.cpp | |
parent | fd5545b789d61ed16178ce2edc871164d5e9caea (diff) |
Thread local globals don't require special handling by the linker and so can
be placed in the standard data / bss sections.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@76735 91177308-0d34-0410-b5e6-96231b3b80d8
Diffstat (limited to 'lib/Target/XCore/XCoreTargetAsmInfo.cpp')
-rw-r--r-- | lib/Target/XCore/XCoreTargetAsmInfo.cpp | 7 |
1 files changed, 7 insertions, 0 deletions
diff --git a/lib/Target/XCore/XCoreTargetAsmInfo.cpp b/lib/Target/XCore/XCoreTargetAsmInfo.cpp index 07cee8fb6b..842c427b3b 100644 --- a/lib/Target/XCore/XCoreTargetAsmInfo.cpp +++ b/lib/Target/XCore/XCoreTargetAsmInfo.cpp @@ -29,6 +29,13 @@ XCoreTargetAsmInfo::XCoreTargetAsmInfo(const XCoreTargetMachine &TM) SectionFlags::Small); BSSSection_ = getNamedSection("\t.dp.bss", SectionFlags::Writeable | SectionFlags::BSS | SectionFlags::Small); + + // TLS globals are lowered in the backend to arrays indexed by the current + // thread id. After lowering they require no special handling by the linker + // and can be placed in the standard data / bss sections. + TLSDataSection = DataSection; + TLSBSSSection = BSSSection_; + if (TM.getSubtargetImpl()->isXS1A()) { ReadOnlySection = getNamedSection("\t.dp.rodata", SectionFlags::None | SectionFlags::Writeable | |