llvm-objdump currently calls report_fatal_error() when the e_phoff field is invalid. This is tested by elf-invalid-phdr.test which has the following issues: 1) It uses a precompiled object. 2) it could be a part of invalid.test. 3) It tests the Object lib, but we have no separate test for llvm-objdump. This patch addresses issues mentioned. Differential revision: https://reviews.llvm.org/D83559
17 lines
690 B
Plaintext
17 lines
690 B
Plaintext
## Test how we handle the case when the e_phoff field is invalid.
|
|
# RUN: yaml2obj %s -o %t
|
|
# RUN: not llvm-objdump --private-headers %t 2>&1 | \
|
|
# RUN: FileCheck -DFILE=%t %s --check-prefix=INVALID-PHOFF
|
|
|
|
# INVALID-PHOFF: Program Header:
|
|
# INVALID-PHOFF-NEXT: warning: '[[FILE]]': unable to read program headers: program headers are longer than binary of size 280: e_phoff = 0xffffff, e_phnum = 0, e_phentsize = 0
|
|
# INVALID-PHOFF-NEXT: error: '[[FILE]]': program headers are longer than binary of size 280: e_phoff = 0xffffff, e_phnum = 0, e_phentsize = 0
|
|
|
|
--- !ELF
|
|
FileHeader:
|
|
Class: ELFCLASS64
|
|
Data: ELFDATA2LSB
|
|
Type: ET_EXEC
|
|
Machine: EM_X86_64
|
|
EPhOff: 0xffffff
|