## 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'