From: Chris Lattner Date: Wed, 9 Sep 2009 00:23:32 +0000 (+0000) Subject: make sure to send external symbols through the mangler, X-Git-Url: http://plrg.eecs.uci.edu/git/?a=commitdiff_plain;h=572d972b994493f19aacfdcd53a91dfb6d0a6320;p=oota-llvm.git make sure to send external symbols through the mangler, this fixes mingw-alloca.ll with the new asmprinter. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@81301 91177308-0d34-0410-b5e6-96231b3b80d8 --- diff --git a/lib/Target/X86/AsmPrinter/X86MCInstLower.cpp b/lib/Target/X86/AsmPrinter/X86MCInstLower.cpp index 3c8f4031743..ccc12d9e0b9 100644 --- a/lib/Target/X86/AsmPrinter/X86MCInstLower.cpp +++ b/lib/Target/X86/AsmPrinter/X86MCInstLower.cpp @@ -112,11 +112,9 @@ MCSymbol *X86ATTAsmPrinter::GetGlobalAddressSymbol(const MachineOperand &MO) { } MCSymbol *X86ATTAsmPrinter::GetExternalSymbolSymbol(const MachineOperand &MO) { - std::string Name = MO.getSymbolName(); - if (MO.getTargetFlags() == X86II::MO_DARWIN_STUB) { + std::string Name = Mang->makeNameProper(MO.getSymbolName()); + if (MO.getTargetFlags() == X86II::MO_DARWIN_STUB) Name += "$stub"; - } - switch (MO.getTargetFlags()) { default: llvm_unreachable("Unknown target flag on GV operand"); @@ -129,7 +127,7 @@ MCSymbol *X86ATTAsmPrinter::GetExternalSymbolSymbol(const MachineOperand &MO) { Name = "__imp_" + Name; break; case X86II::MO_DARWIN_STUB: - FnStubs[Name] = MO.getSymbolName(); + FnStubs[Name] = Mang->makeNameProper(MO.getSymbolName()); break; // FIXME: These probably should be a modifier on the symbol or something?? case X86II::MO_TLSGD: Name += "@TLSGD"; break;