diff options
author | Chris Lattner <sabre@nondot.org> | 2009-09-09 00:23:32 +0000 |
---|---|---|
committer | Chris Lattner <sabre@nondot.org> | 2009-09-09 00:23:32 +0000 |
commit | d456b2e7d9e9d219e1d429104a35cb6ea5db91ab (patch) | |
tree | 61d80fda27fd9a41345d8e05938df1f7c52045de | |
parent | abe57efd23c3d7f05b01aa30be895f5ae3a41ff4 (diff) | |
download | external_llvm-d456b2e7d9e9d219e1d429104a35cb6ea5db91ab.zip external_llvm-d456b2e7d9e9d219e1d429104a35cb6ea5db91ab.tar.gz external_llvm-d456b2e7d9e9d219e1d429104a35cb6ea5db91ab.tar.bz2 |
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
-rw-r--r-- | lib/Target/X86/AsmPrinter/X86MCInstLower.cpp | 8 |
1 files changed, 3 insertions, 5 deletions
diff --git a/lib/Target/X86/AsmPrinter/X86MCInstLower.cpp b/lib/Target/X86/AsmPrinter/X86MCInstLower.cpp index 3c8f403..ccc12d9 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; |