Add full bss data support for darwin tls variables.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@104414 91177308-0d34-0410-b5e6-96231b3b80d8
This commit is contained in:
Eric Christopher
2010-05-22 00:10:22 +00:00
parent 65eb482e8f
commit 8116ca5134
3 changed files with 53 additions and 3 deletions
+8 -2
View File
@@ -627,6 +627,8 @@ void TargetLoweringObjectFileMachO::Initialize(MCContext &Ctx,
getContext().getMachOSection("__DWARF", "__debug_inlined",
MCSectionMachO::S_ATTR_DEBUG,
SectionKind::getMetadata());
TLSExtraDataSection = TLSTLVSection;
}
const MCSection *TargetLoweringObjectFileMachO::
@@ -666,9 +668,13 @@ getExplicitSectionGlobal(const GlobalValue *GV, SectionKind Kind,
const MCSection *TargetLoweringObjectFileMachO::
SelectSectionForGlobal(const GlobalValue *GV, SectionKind Kind,
Mangler *Mang, const TargetMachine &TM) const {
assert(!Kind.isThreadLocal() && "Darwin doesn't support TLS");
Mangler *Mang, const TargetMachine &TM) const {
// Handle one kind of thread local...
if (Kind.isThreadBSS()) return TLSBSSSection;
assert(!Kind.isThreadLocal() && "Darwin doesn't support TLS");
if (Kind.isText())
return GV->isWeakForLinker() ? TextCoalSection : TextSection;