diff options
author | Evan Cheng <evan.cheng@apple.com> | 2008-09-20 00:13:45 +0000 |
---|---|---|
committer | Evan Cheng <evan.cheng@apple.com> | 2008-09-20 00:13:45 +0000 |
commit | 91a23c82338819564ffa3a4af8aa4b462da7b3b0 (patch) | |
tree | 861cfb3f432154c720963d17cec5a40e2ca8c63f /lib | |
parent | 0333920a05e00e9bbd9b277ea2474b33e2db5063 (diff) | |
download | llvm-91a23c82338819564ffa3a4af8aa4b462da7b3b0.tar.gz llvm-91a23c82338819564ffa3a4af8aa4b462da7b3b0.tar.bz2 llvm-91a23c82338819564ffa3a4af8aa4b462da7b3b0.tar.xz |
No need to print function stubs for Mac OS X 10.5 and up. Linker will handle it.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@56378 91177308-0d34-0410-b5e6-96231b3b80d8
Diffstat (limited to 'lib')
-rw-r--r-- | lib/Target/X86/AsmPrinter/X86ATTAsmPrinter.cpp | 13 |
1 files changed, 10 insertions, 3 deletions
diff --git a/lib/Target/X86/AsmPrinter/X86ATTAsmPrinter.cpp b/lib/Target/X86/AsmPrinter/X86ATTAsmPrinter.cpp index 6977ead58e..678b619f7e 100644 --- a/lib/Target/X86/AsmPrinter/X86ATTAsmPrinter.cpp +++ b/lib/Target/X86/AsmPrinter/X86ATTAsmPrinter.cpp @@ -392,8 +392,13 @@ void X86ATTAsmPrinter::printOperand(const MachineInstr *MI, unsigned OpNo, if (GV->isDeclaration() || GV->isWeakForLinker()) { // Dynamically-resolved functions need a stub for the function. if (isCallOp && isa<Function>(GV)) { - FnStubs.insert(Name); - printSuffixedName(Name, "$stub"); + // Function stubs are no longer needed for Mac OS X 10.5 and up. + if (Subtarget->isTargetDarwin() && Subtarget->getDarwinVers() >= 9) { + O << Name; + } else { + FnStubs.insert(Name); + printSuffixedName(Name, "$stub"); + } } else { GVStubs.insert(Name); printSuffixedName(Name, "$non_lazy_ptr"); @@ -475,7 +480,9 @@ void X86ATTAsmPrinter::printOperand(const MachineInstr *MI, unsigned OpNo, bool needCloseParen = false; std::string Name(TAI->getGlobalPrefix()); Name += MO.getSymbolName(); - if (isCallOp && shouldPrintStub(TM, Subtarget)) { + // Print function stub suffix unless it's Mac OS X 10.5 and up. + if (isCallOp && shouldPrintStub(TM, Subtarget) && + !(Subtarget->isTargetDarwin() && Subtarget->getDarwinVers() >= 9)) { FnStubs.insert(Name); printSuffixedName(Name, "$stub"); return; |