| ## Show how --start-address and --stop-address work in a relocatable object. |
| ## They limit the disassembly to the relative offset ranges within sections. |
| # RUN: yaml2obj %s -o %t.o |
| # RUN: llvm-objdump -d %t.o --start-address=1 --stop-address=2 | FileCheck %s --check-prefix=COMMON |
| # RUN: llvm-objdump -d %t.o --start-address=1 | FileCheck %s --check-prefixes=START,COMMON |
| # RUN: llvm-objdump -d %t.o --stop-address=2 | FileCheck %s --check-prefixes=STOP,COMMON |
| |
| # COMMON: Disassembly of section .text: |
| # COMMON-EMPTY: |
| # COMMON-NEXT: 0000000000000000 .text: |
| # STOP-NEXT: 0: 90 nop |
| # COMMON-NEXT: 1: 90 nop |
| # START-NEXT: 2: 90 nop |
| # COMMON-EMPTY: |
| # COMMON-NEXT: Disassembly of section .text2: |
| # COMMON-EMPTY: |
| # COMMON-NEXT: 0000000000000000 .text2: |
| # STOP-NEXT: 0: c3 retq |
| # COMMON-NEXT: 1: c3 retq |
| # START-NEXT: 2: c3 retq |
| # STOP-EMPTY: |
| # STOP-NEXT: Disassembly of section .text3: |
| # STOP-EMPTY: |
| # STOP-NEXT: 0000000000000000 .text3: |
| # STOP-NEXT: 0: cc int3 |
| # COMMON-NOT: {{.}} |
| |
| --- !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: '909090' |
| - Name: .text2 |
| Type: SHT_PROGBITS |
| Flags: [SHF_ALLOC, SHF_EXECINSTR] |
| Content: 'c3c3c3' |
| - Name: .text3 |
| Type: SHT_PROGBITS |
| Flags: [SHF_ALLOC, SHF_EXECINSTR] |
| Content: 'cc' |