1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
| # invalid-phdr.elf is generated by creating a simple elf file with yaml2obj:
# !ELF
# FileHeader:
# Class: ELFCLASS64
# Data: ELFDATA2LSB
# Type: ET_EXEC
# Machine: EM_X86_64
# Sections:
# - Name: .text
# Type: SHT_PROGBITS
# Flags: [ SHF_ALLOC, SHF_EXECINSTR ]
# AddressAlign: 0x0000000000001000
# Content: "00000000"
# ProgramHeaders:
# - Type: PT_LOAD
# Flags: [ PF_X, PF_R ]
# VAddr: 0xAAAA1000
# PAddr: 0xFFFF1000
# Sections:
# - Section: .text
#
# Then editing the e_phoff in with a hexeditor to set it to 0xffffff
RUN: not llvm-objdump -private-headers %p/Inputs/invalid-phdr.elf 2>&1 \
RUN: | FileCheck %s
CHECK: LLVM ERROR: program headers are longer than binary of size 4162: e_phoff = 0xffffff, e_phnum = 1, e_phentsize = 56 |