From 1ebd3bfcbd571ee101e0555653599b650c65fa48 Mon Sep 17 00:00:00 2001 From: Chris Lattner Date: Thu, 9 Jul 2009 05:09:24 +0000 Subject: [PATCH] make cygwin use its own stubs set, instead of overloading a darwin one. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@75105 91177308-0d34-0410-b5e6-96231b3b80d8 --- lib/Target/X86/AsmPrinter/X86ATTAsmPrinter.cpp | 5 ++--- lib/Target/X86/AsmPrinter/X86ATTAsmPrinter.h | 2 +- 2 files changed, 3 insertions(+), 4 deletions(-) diff --git a/lib/Target/X86/AsmPrinter/X86ATTAsmPrinter.cpp b/lib/Target/X86/AsmPrinter/X86ATTAsmPrinter.cpp index f8e6e8e314d..72958cb5682 100644 --- a/lib/Target/X86/AsmPrinter/X86ATTAsmPrinter.cpp +++ b/lib/Target/X86/AsmPrinter/X86ATTAsmPrinter.cpp @@ -351,11 +351,10 @@ void X86ATTAsmPrinter::print_pcrel_imm(const MachineInstr *MI, unsigned OpNo) { // Assemble call via PLT for externally visible symbols. if (MO.getTargetFlags() == X86II::MO_PLT) O << "@PLT"; - if (Subtarget->isTargetCygMing() && GV->isDeclaration()) // Save function name for later type emission - FnStubs.insert(Name); + CygMingStubs.insert(Name); } printOffset(MO.getOffset()); @@ -1050,7 +1049,7 @@ bool X86ATTAsmPrinter::doFinalization(Module &M) { O << "\t.subsections_via_symbols\n"; } else if (Subtarget->isTargetCygMing()) { // Emit type information for external functions - for (StringSet<>::iterator i = FnStubs.begin(), e = FnStubs.end(); + for (StringSet<>::iterator i = CygMingStubs.begin(), e = CygMingStubs.end(); i != e; ++i) { O << "\t.def\t " << i->getKeyData() << ";\t.scl\t" << COFF::C_EXT diff --git a/lib/Target/X86/AsmPrinter/X86ATTAsmPrinter.h b/lib/Target/X86/AsmPrinter/X86ATTAsmPrinter.h index f47daf1c724..64558d5a82b 100644 --- a/lib/Target/X86/AsmPrinter/X86ATTAsmPrinter.h +++ b/lib/Target/X86/AsmPrinter/X86ATTAsmPrinter.h @@ -199,7 +199,7 @@ class VISIBILITY_HIDDEN X86ATTAsmPrinter : public AsmPrinter { void emitFunctionHeader(const MachineFunction &MF); // Necessary for Darwin to print out the apprioriate types of linker stubs - StringSet<> FnStubs, GVStubs, HiddenGVStubs; + StringSet<> FnStubs, GVStubs, HiddenGVStubs, CygMingStubs; // Necessary for dllexport support StringSet<> DLLExportedFns, DLLExportedGVs;