51 lines
1.6 KiB
Text
51 lines
1.6 KiB
Text
## This test checks -d disassembles an ELF file without section headers.
|
|
## Such files include kcore files extracted by linux perf tools, or
|
|
## executables with section headers stripped by e.g.
|
|
## llvm-strip --strip-sections.
|
|
|
|
# RUN: yaml2obj %s -o %t
|
|
# RUN: llvm-objdump -d %t | FileCheck %s
|
|
|
|
# CHECK: Disassembly of section PT_LOAD#0:
|
|
# CHECK-EMPTY:
|
|
# CHECK-NEXT: <PT_LOAD#0>:
|
|
# CHECK-NEXT: 55 pushq %rbp
|
|
# CHECK-NEXT: 48 89 e5 movq %rsp, %rbp
|
|
# CHECK-NEXT: 0f 1f 40 00 nopl (%rax)
|
|
# CHECK-NEXT: 5d popq %rbp
|
|
# CHECK-NEXT: c3 retq
|
|
|
|
## Check disassembly with an address range.
|
|
# RUN: llvm-objdump -d --start-address=0xffffffff00000000 \
|
|
# RUN: --stop-address=0xffffffff00000004 %t 2>&1 | \
|
|
# RUN: FileCheck %s --check-prefix RANGE
|
|
|
|
# RANGE: no section overlaps the range
|
|
# RANGE-EMPTY:
|
|
# RANGE-NEXT: Disassembly of section PT_LOAD#0:
|
|
# RANGE-EMPTY:
|
|
# RANGE-NEXT: <PT_LOAD#0>:
|
|
# RANGE-NEXT: 55 pushq %rbp
|
|
# RANGE-NEXT: 48 89 e5 movq %rsp, %rbp
|
|
# RANGE-EMPTY:
|
|
|
|
!ELF
|
|
FileHeader:
|
|
Class: ELFCLASS64
|
|
Data: ELFDATA2LSB
|
|
Type: ET_CORE
|
|
Machine: EM_X86_64
|
|
Sections:
|
|
- Type: SectionHeaderTable
|
|
NoHeaders: true
|
|
- Type: Fill
|
|
Name: code
|
|
Pattern: "554889E50F1F40005DC3"
|
|
Size: 10
|
|
Offset: 0x1000
|
|
ProgramHeaders:
|
|
- Type: PT_LOAD
|
|
Flags: [ PF_X ]
|
|
VAddr: 0xFFFFFFFF00000000
|
|
FirstSec: code
|
|
LastSec: code
|