// RUN: yaml2obj -o %t.out %p/Inputs/simple-executable-x86_64.yaml // RUN: llvm-objdump -d %t.out --start-address=0x18 --stop-address=0x2f | FileCheck %s // RUN: llvm-objdump -d %t.out --start-address=0xc --stop-address=0x11 | FileCheck %s --check-prefix CROSSSECTION // RUN: llvm-objdump -d %t.out --start-address=0x40 --stop-address=0x47 | FileCheck %s --check-prefix CROSSDATA // RUN: llvm-objdump -d %t.out --start-address=0x40 | FileCheck %s --check-prefix START // RUN: llvm-objdump -d %t.out --stop-address=0x11 | FileCheck %s --check-prefix STOP // RUN: llvm-objdump -d %t.out --start-address=0xffffffff | FileCheck %s --check-prefix OUT-OF-RANGE // CHECK-NOT: Disassembly // CHECK: Disassembly of section .anothertext: // CHECK-EMPTY: // CHECK-NEXT: <main>: // CHECK-NEXT: 18: 48 8d 04 25 a8 00 00 00 leaq 168, %rax // CHECK-NEXT: 20: c7 45 fc 00 00 00 00 movl $0, -4(%rbp) // CHECK-NEXT: 27: 48 89 45 f0 movq %rax, -16(%rbp) // CHECK-NEXT: 2b: 48 8b 45 f0 movq -16(%rbp), %rax // CHECK-NOT: {{.}} // CROSSECTION-NOT: Disassembly // CROSSSECTION: Disassembly of section .text: // CROSSSECTION-EMPTY: // CROSSSECTION-NEXT: <foo>: // CROSSSECTION-NEXT: c: c3 retq // CROSSSECTION-NEXT: d: 0f 1f 00 nopl (%rax) // CROSSSECTION-EMPTY: // CROSSSECTION-NEXT: Disassembly of section .anothertext: // CROSSSECTION-EMPTY: // CROSSSECTION-NEXT: <main>: // CROSSSECTION-NEXT: 10: 55 pushq %rbp // CROSSSECTION-NOT: {{.}} // CROSSDATA-NOT: Disassembly // CROSSDATA: Disassembly of section .anothertext: // CROSSDATA: <main>: // CROSSDATA: 40: 48 83 c4 20 addq $32, %rsp // CROSSDATA: 44: 5d popq %rbp // CROSSDATA-DAG: <somedata>: // CROSSDATA-NEXT: 45: 74 65 te // CROSSDATA-NOT: {{.}} // START-NOT: Disassembly // START: Disassembly of section .anothertext: // START-EMPTY: // START-NEXT: 0000000000000010 <main>: // START-NEXT: 40: 48 83 c4 20 addq $32, %rsp // START-NEXT: 44: 5d popq %rbp // START-EMPTY: // START-NEXT: 0000000000000045 <somedata>: // START-NEXT: 45: 74 65 73 74 20 73 74 72 test str // START-NEXT: 4d: 00 c3 .. // STOP: Disassembly of section .text: // STOP-EMPTY: // STOP-NEXT: 0000000000000000 <foo>: // STOP-NEXT: 0: 55 pushq %rbp // STOP-NEXT: 1: 48 89 e5 movq %rsp, %rbp // STOP-NEXT: 4: 8b 04 25 a8 00 00 00 movl 168, %eax // STOP-NEXT: b: 5d popq %rbp // STOP-NEXT: c: c3 retq // STOP-NEXT: d: 0f 1f 00 nopl (%rax) // STOP-EMPTY: // STOP-NEXT: Disassembly of section .anothertext: // STOP-EMPTY: // STOP-NEXT: 0000000000000010 <main>: // STOP-NEXT: 10: 55 pushq %rbp // STOP-NOT: {{.}} // OUT-OF-RANGE-NOT: Disassembly // RUN: not llvm-objdump %t.out --start-address=0x40 --stop-address=0x3f 2>&1 | FileCheck %s --check-prefix ERRMSG // RUN: not llvm-objdump %t.out --start-address=0x40 --stop-address=0x40 2>&1 | FileCheck %s --check-prefix ERRMSG // ERRMSG: start address should be less than stop address