Thread local globals don't require special handling by the linker and so can

be placed in the standard data / bss sections.

llvm-svn: 76735
This commit is contained in:
Richard Osborne 2009-07-22 11:01:00 +00:00
parent 23f730ab40
commit 4f7f19a7c0
1 changed files with 7 additions and 0 deletions

View File

@ -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 |