You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.

138 lines
3.1 KiB

#! /bin/sh
# testfile-phdrs.elf generated with python3 script
# import struct
# import sys
#
# phnum = 66000
#
# sys.stdout.buffer.write(
# struct.pack(
# "<16BHHIQQQIHHHHHH",
# # EI_MAG
# *b"\x7fELF",
# # EI_CLASS = ELFCLASS64
# 2,
# # EI_DATA = ELFDATA2LSB
# 1,
# # EI_VERSION
# 1,
# # EI_OSABI = ELFOSABI_SYSV
# 0,
# # EI_ABIVERSION
# 0,
# # EI_PAD
# *bytes(7),
# # e_type = ET_CORE
# 4,
# # e_machine = EM_X86_64
# 62,
# # e_version
# 1,
# # e_entry
# 0,
# # e_phoff = sizeof(Elf64_Ehdr) + sizeof(Elf64_Shdr)
# 128,
# # e_shoff = sizeof(Elf64_Ehdr)
# 64,
# # e_flags
# 0,
# # e_ehsize
# 64,
# # e_phentsize
# 56,
# # e_phnum = PN_XNUM
# 0xFFFF,
# # e_shentsize
# 64,
# # e_shnum
# 1,
# # e_shstrndx
# 0,
# )
# )
#
# sys.stdout.buffer.write(
# struct.pack(
# "<IIQQQQIIQQ",
# # sh_name
# 0,
# # sh_type = SHT_NULL
# 0,
# # sh_flags
# 0,
# # sh_addr
# 0,
# # sh_offset
# 0,
# # sh_size
# 0,
# # sh_link
# 0,
# # sh_info
# phnum,
# # sh_addralign
# 0,
# # sh_entsize
# 0,
# )
# )
#
# for i in range(phnum):
# sys.stdout.buffer.write(
# struct.pack(
# "<IIQQQQQQ",
# # p_type = PT_LOAD
# 1,
# # p_flags = PF_X|PF_W|PF_R
# 0x7,
# # p_offset
# 0,
# # p_vaddr
# # i * 4096,
# 4096,
# # p_paddr
# 0,
# # p_filesz
# 0,
# # p_memsz
# 4096,
# # p_align
# 0,
# )
# )
. $srcdir/test-subr.sh
testfiles testfile-phdrs.elf
testrun_compare ${abs_top_builddir}/src/readelf -h testfile-phdrs.elf<<\EOF
ELF Header:
Magic: 7f 45 4c 46 02 01 01 00 00 00 00 00 00 00 00 00
Class: ELF64
Data: 2's complement, little endian
Ident Version: 1 (current)
OS/ABI: UNIX - System V
ABI Version: 0
Type: CORE (Core file)
Machine: AMD x86-64
Version: 1 (current)
Entry point address: 0
Start of program headers: 128 (bytes into file)
Start of section headers: 64 (bytes into file)
Flags:
Size of this header: 64 (bytes)
Size of program header entries: 56 (bytes)
Number of program headers entries: 65535 (66000 in [0].sh_info)
Size of section header entries: 64 (bytes)
Number of section headers entries: 1
Section header string table index: 0
EOF
testrun_compare ${abs_builddir}/getphdrnum testfile-phdrs.elf<<\EOF
66000
EOF
exit 0