diff options
-rw-r--r-- | llvm/test/tools/llvm-objdump/X86/Inputs/stub-nosyms.macho-x86_64 | bin | 0 -> 528 bytes | |||
-rw-r--r-- | llvm/test/tools/llvm-objdump/X86/macho-stub-nosyms-disassembly.test | 3 | ||||
-rw-r--r-- | llvm/tools/llvm-objdump/MachODump.cpp | 7 |
3 files changed, 8 insertions, 2 deletions
diff --git a/llvm/test/tools/llvm-objdump/X86/Inputs/stub-nosyms.macho-x86_64 b/llvm/test/tools/llvm-objdump/X86/Inputs/stub-nosyms.macho-x86_64 Binary files differnew file mode 100644 index 00000000000..a7f122b5508 --- /dev/null +++ b/llvm/test/tools/llvm-objdump/X86/Inputs/stub-nosyms.macho-x86_64 diff --git a/llvm/test/tools/llvm-objdump/X86/macho-stub-nosyms-disassembly.test b/llvm/test/tools/llvm-objdump/X86/macho-stub-nosyms-disassembly.test new file mode 100644 index 00000000000..af66b0e7a63 --- /dev/null +++ b/llvm/test/tools/llvm-objdump/X86/macho-stub-nosyms-disassembly.test @@ -0,0 +1,3 @@ +// RUN: llvm-objdump -d -m -no-show-raw-insn -full-leading-addr -print-imm-hex %p/Inputs/stub-nosyms.macho-x86_64 | FileCheck %s + +CHECK: 0000000000000001 callq 0x7 ## symbol stub for: _foo diff --git a/llvm/tools/llvm-objdump/MachODump.cpp b/llvm/tools/llvm-objdump/MachODump.cpp index 80cbe4bc657..b2e23f5032f 100644 --- a/llvm/tools/llvm-objdump/MachODump.cpp +++ b/llvm/tools/llvm-objdump/MachODump.cpp @@ -6798,8 +6798,10 @@ static void DisassembleMachO(StringRef Filename, MachOObjectFile *MachOOF, MCInst Inst; uint64_t PC = SectAddress + Index; + SmallVector<char, 64> AnnotationsBytes; + raw_svector_ostream Annotations(AnnotationsBytes); if (DisAsm->getInstruction(Inst, InstSize, Bytes.slice(Index), PC, - DebugOut, nulls())) { + DebugOut, Annotations)) { if (!NoLeadingAddr) { if (FullLeadingAddr) { if (MachOOF->is64Bit()) @@ -6814,7 +6816,8 @@ static void DisassembleMachO(StringRef Filename, MachOObjectFile *MachOOF, outs() << "\t"; dumpBytes(makeArrayRef(Bytes.data() + Index, InstSize), outs()); } - IP->printInst(&Inst, outs(), "", *STI); + StringRef AnnotationsStr = Annotations.str(); + IP->printInst(&Inst, outs(), AnnotationsStr, *STI); outs() << "\n"; } else { unsigned int Arch = MachOOF->getArch(); |