diff options
-rw-r--r-- | test/Object/X86/objdump-cfg.yaml | 86 | ||||
-rw-r--r-- | tools/llvm-objdump/llvm-objdump.cpp | 2 |
2 files changed, 87 insertions, 1 deletions
diff --git a/test/Object/X86/objdump-cfg.yaml b/test/Object/X86/objdump-cfg.yaml new file mode 100644 index 0000000..c5bff03 --- /dev/null +++ b/test/Object/X86/objdump-cfg.yaml @@ -0,0 +1,86 @@ +# RUN: yaml2obj -format=elf %s | llvm-objdump -d -yaml-cfg=%t - && FileCheck --check-prefix=CFG < %t %s +# REQUIRES: shell +# +# Generated from: +# main: +# movl $48, %eax +# cmpl $3, %edi +# jl .LBB0_2 +# movq 8(%rsi), %rax +# movsbl (%rax), %eax +# .LBB0_2: +# ret +# + +!ELF +FileHeader: + Class: ELFCLASS64 + Data: ELFDATA2LSB + Type: ET_REL + Machine: EM_X86_64 +Sections: + - Name: .text + Type: SHT_PROGBITS + Flags: [ SHF_ALLOC, SHF_EXECINSTR ] + Content: "B83000000083FF037C07488B46080FBE00C3" + +## 0000000000000000 <main>: + +#CFG: Atoms: +#CFG: - StartAddress: 0x0000000000000000 +#CFG: Size: 10 + +## 0: b8 30 00 00 00 mov $0x30,%eax +#CFG: - Inst: MOV32ri +#CFG: Size: 5 +#CFG: Ops: [ REAX, I48 ] + +## 5: 83 ff 03 cmp $0x3,%edi +#CFG: - Inst: CMP32ri8 +#CFG: Size: 3 +#CFG: Ops: [ REDI, I3 ] + +## 8: 7c 07 jl 11 <main+0x11> +#CFG: - Inst: JL_1 +#CFG: Size: 2 +#CFG: Ops: [ I7 ] + +#CFG: - StartAddress: 0x000000000000000A +#CFG: Size: 7 + +## a: 48 8b 46 08 mov 0x8(%rsi),%rax +#CFG: - Inst: MOV64rm +#CFG: Size: 4 +#CFG: Ops: [ RRAX, RRSI, I1, R, I8, R ] + +## e: 0f be 00 movsbl (%rax),%eax +#CFG: - Inst: MOVSX32rm8 +#CFG: Size: 3 +#CFG: Ops: [ REAX, RRAX, I1, R, I0, R ] +#CFG: - StartAddress: 0x0000000000000011 +#CFG: Size: 1 + +## 11: c3 retq +#CFG: - Inst: RET +#CFG: Size: 1 +#CFG: Ops: [ ] + +Symbols: + Global: + - Name: main + Type: STT_FUNC + Section: .text + Value: 0x0 + Size: 18 + +#CFG: Functions: +#CFG: BasicBlocks: +#CFG: - Address: 0x0000000000000000 +#CFG: Preds: [ ] +#CFG: Succs: [ 0x0000000000000011, 0x000000000000000A ] +#CFG: - Address: 0x0000000000000011 +#CFG: Preds: [ 0x0000000000000000, 0x000000000000000A ] +#CFG: Succs: [ ] +#CFG: - Address: 0x000000000000000A +#CFG: Preds: [ 0x0000000000000000 ] +#CFG: Succs: [ 0x0000000000000011 ] diff --git a/tools/llvm-objdump/llvm-objdump.cpp b/tools/llvm-objdump/llvm-objdump.cpp index a4cd6a2..8065787 100644 --- a/tools/llvm-objdump/llvm-objdump.cpp +++ b/tools/llvm-objdump/llvm-objdump.cpp @@ -374,7 +374,7 @@ static void DisassembleObject(const ObjectFile *Obj, bool InlineRelocs) { std::string Error; raw_fd_ostream YAMLOut(YAMLCFG.c_str(), Error); if (!Error.empty()) { - errs() << "llvm-objdump: warning: " << Error << '\n'; + errs() << ToolName << ": warning: " << Error << '\n'; return; } mcmodule2yaml(YAMLOut, *Mod, *MII, *MRI); |