From: Anton Korobeynikov Date: Sun, 22 Oct 2006 21:37:13 +0000 (+0000) Subject: Do section switching right way for Mingw\Cygwin and Linux. X-Git-Url: http://plrg.eecs.uci.edu/git/?a=commitdiff_plain;h=1a3ecbb4a63980bdb0b67d7344e528a72cc94d15;p=oota-llvm.git Do section switching right way for Mingw\Cygwin and Linux. This will allow (after llvm-gcc linkage fix) more dummy tests using libstdc++ to pass on mingw :) git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@31120 91177308-0d34-0410-b5e6-96231b3b80d8 --- diff --git a/lib/Target/X86/X86AsmPrinter.cpp b/lib/Target/X86/X86AsmPrinter.cpp index bab80dbd443..2438546f3db 100644 --- a/lib/Target/X86/X86AsmPrinter.cpp +++ b/lib/Target/X86/X86AsmPrinter.cpp @@ -180,12 +180,18 @@ bool X86SharedAsmPrinter::doFinalization(Module &M) { << "\t.weak_definition " << name << "\n"; SwitchToDataSection(".section __DATA,__const_coal,coalesced", I); } else if (Subtarget->isTargetCygwin()) { - O << "\t.section\t.data$linkonce." << name << ",\"aw\"\n" - << "\t.globl " << name << "\n" + std::string SectionName(".section\t.data$linkonce." + + name + + ",\"aw\"\n"); + SwitchToDataSection(SectionName.c_str(), I); + O << "\t.globl " << name << "\n" << "\t.linkonce same_size\n"; } else { - O << "\t.section\t.llvm.linkonce.d." << name << ",\"aw\",@progbits\n" - << "\t.weak " << name << "\n"; + std::string SectionName("\t.section\t.llvm.linkonce.d." + + name + + ",\"aw\",@progbits\n"); + SwitchToDataSection(SectionName.c_str(), I); + O << "\t.weak " << name << "\n"; } break; case GlobalValue::AppendingLinkage: