start-stop-address-relocatable-object.test 1.7 KB
## 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'