Public Attributes | List of all members
SgAsmElfFileHeader::Elf32FileHeader_disk Struct Reference


File format of an ELF header.

Byte order of members depends on e_ident value. This code comes directly from "System V Application Binary Interface, Edition 4.1" and the FreeBSD elf(5) man page, and the "Executable and Linkable Format (ELF) Portable Formats Specifications, Version 1.2" and not from any header file.

Definition at line 4639 of file binaryInstruction.C.

Public Attributes

unsigned char e_ident_magic [4]
 0x7f, 'E', 'L', 'F'
unsigned char e_ident_file_class
 1=>32-bit; 2=>64-bit; other is error
unsigned char e_ident_data_encoding
 1=>LSB; 2=>MSB; other is error
unsigned char e_ident_file_version
 Format version number (same as e_version); must be 1.
unsigned char e_ident_padding [9]
 Padding to byte 16; must be zero.
uint16_t e_type
 Object file type: relocatable, executable, lib, core.
uint16_t e_machine
 Required architecture for an individual file.
uint32_t e_version
 Object file version, currently zero or one.
uint32_t e_entry
 Entry virtual address or zero if none.
uint32_t e_phoff
 File offset of program header table or zero if none.
uint32_t e_shoff
 File offset of section header table or zero if none.
uint32_t e_flags
 Processor-specific flags (EF_* constants in docs)
uint16_t e_ehsize
 Size of ELF header in bytes.
uint16_t e_phentsize
 Size of each entry in the program header table.
uint16_t e_phnum
 Number of program headers, or PN_XNUM, or zero.
uint16_t e_shentsize
 Size of each entry in the section header table.
uint16_t e_shnum
 Number of section headers, or zero for extended entries.
uint16_t e_shstrndx
 Index of name section, or SHN_UNDEF, or SHN_XINDEX.

The documentation for this struct was generated from the following file: