From: Evan Cheng Date: Thu, 26 Oct 2006 19:18:18 +0000 (+0000) Subject: Put cstrings in .cstring section when compiling for Mac OS X. X-Git-Url: http://demsky.eecs.uci.edu/git/?a=commitdiff_plain;h=8910c1cacb116dfd9d854572512b5298274ff7e7;p=oota-llvm.git Put cstrings in .cstring section when compiling for Mac OS X. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@31203 91177308-0d34-0410-b5e6-96231b3b80d8 --- diff --git a/lib/Target/X86/X86AsmPrinter.cpp b/lib/Target/X86/X86AsmPrinter.cpp index 5e13a35f831..0a4106c9538 100644 --- a/lib/Target/X86/X86AsmPrinter.cpp +++ b/lib/Target/X86/X86AsmPrinter.cpp @@ -204,9 +204,17 @@ bool X86SharedAsmPrinter::doFinalization(Module &M) { // If external or appending, declare as a global symbol O << "\t.globl " << name << "\n"; // FALL THROUGH - case GlobalValue::InternalLinkage: + case GlobalValue::InternalLinkage: { + if (TAI->getCStringSection()) { + const ConstantArray *CVA = dyn_cast(C); + if (CVA && CVA->isCString()) { + SwitchToDataSection(TAI->getCStringSection(), I); + break; + } + } SwitchToDataSection(TAI->getDataSection(), I); break; + } default: assert(0 && "Unknown linkage type!"); } diff --git a/lib/Target/X86/X86TargetAsmInfo.cpp b/lib/Target/X86/X86TargetAsmInfo.cpp index cf085485190..e67773711cb 100644 --- a/lib/Target/X86/X86TargetAsmInfo.cpp +++ b/lib/Target/X86/X86TargetAsmInfo.cpp @@ -32,6 +32,7 @@ X86TargetAsmInfo::X86TargetAsmInfo(const X86TargetMachine &TM) { PrivateGlobalPrefix = "L"; // Marker for constant pool idxs ConstantPoolSection = "\t.const\n"; JumpTableDataSection = "\t.const\n"; + CStringSection = "\t.cstring"; FourByteConstantSection = "\t.literal4\n"; EightByteConstantSection = "\t.literal8\n"; if (Subtarget->is64Bit())