llvm-project/llvm/test/tools/llvm-objdump/X86/start-stop-address-relocatable-object.test
Fangrui Song 71e2ca6e32 [llvm-objdump] -d: print 00000000 <foo>: instead of 00000000 foo:
The new behavior matches GNU objdump. A pair of angle brackets makes tests slightly easier.

`.foo:` is not unique and thus cannot be used in a `CHECK-LABEL:` directive.
Without `-LABEL`, the CHECK line can match the `Disassembly of section`
line and causes the next `CHECK-NEXT:` to fail.

```
Disassembly of section .foo:

0000000000001634 .foo:
```

Bdragon: <> has metalinguistic connotation. it just "feels right"

Reviewed By: rupprecht

Differential Revision: https://reviews.llvm.org/D75713
2020-03-05 18:05:28 -08:00

47 lines
1.7 KiB
Plaintext

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