13 typedef uint32_t Elf32_Addr;
14 typedef uint16_t Elf32_Half;
15 typedef uint32_t Elf32_Off;
16 typedef int32_t Elf32_Sword;
17 typedef uint32_t Elf32_Word;
98 EF_ARM_HASENTRY = 0x02,
99 EF_ARM_SYMSARESORTED = 0x04,
100 EF_ARM_DYNSYMSUSESEGIDX = 0x08,
101 EF_ARM_MAPSYMSFIRST = 0x10,
103 EF_ARM_EABIMASK = 0xff000000,
106 ARM_EABI_VERSION = 0x02000000
155 SHN_LORESERVE = 0xff00,
160 SHN_HIRESERVE = 0xffff
197 SHF_ENTRYSECT = 0x10000000,
198 SHF_COMDEF = 0x80000000
201 #define BSS_SECTION_NAME ".bss" 202 #define DATA_SECTION_NAME ".data" 203 #define TEXT_SECTION_NAME ".text" 204 #define SHSTRTAB_SECTION_NAME ".shstrtab" 205 #define STRTAB_SECTION_NAME ".strtab" 206 #define SYMTAB_SECTION_NAME ".symtab" 290 #define ELF32_ST_BIND(i) ((i) >> 4) 291 #define ELF32_ST_TYPE(i) ((i)&0x0f) 292 #define ELF32_ST_INFO(b, t) \ 293 (((b) << 4) + ((t)&0x0f)) 336 #define ARM_SEQUENCE_MAPSYM "$a" 337 #define DATA_SEQUENCE_MAPSYM "$d" 338 #define THUMB_SEQUENCE_MAPSYM "$t" 340 #define THUMB_BL_TAGSYM "$b" 341 #define FN_PTR_CONST_TAGSYM "$f" 342 #define INDIRECT_FN_CALL_TAGSYM "$p" 343 #define MAPPING_SYMBOL_COUNT_TAGSYM "$m" Elf32_Half e_phentsize
Size in bytes of one entry in the program header table.
Definition: apps/elftosb/common/ELF.h:72
ELF section header.
Definition: apps/elftosb/common/ELF.h:135
Elf32_Word sh_link
Section header table link index. Interpretation depends on section type.
Definition: apps/elftosb/common/ELF.h:143
Elf32_Off p_offset
Offset in bytes from start of file to the first byte of the segment.
Definition: apps/elftosb/common/ELF.h:226
Elf32_Half e_ehsize
The ELF header's size in bytes.
Definition: apps/elftosb/common/ELF.h:71
Elf32_Word st_size
Size associated with symbol. 0 if the symbol has no size or an unknown size.
Definition: apps/elftosb/common/ELF.h:281
Elf32_Word p_memsz
Size in bytes of the segment in memory. May be zero.
Definition: apps/elftosb/common/ELF.h:230
Elf32_Half st_shndx
Section header table index for this symbol.
Definition: apps/elftosb/common/ELF.h:284
Elf32_Word p_filesz
Number of bytes of file data the segment consumes. May be zero.
Definition: apps/elftosb/common/ELF.h:229
Elf32_Addr p_paddr
Physical address, for systems where this is relevant.
Definition: apps/elftosb/common/ELF.h:228
Elf32_Word sh_name
The section's name. Index into the section header string table section.
Definition: apps/elftosb/common/ELF.h:137
Elf32_Word sh_type
Section type, describing the contents and semantics.
Definition: apps/elftosb/common/ELF.h:138
Elf32_Word p_align
Alignment constraint for segment addresses. Possible values are 0 and positive powers of 2...
Definition: apps/elftosb/common/ELF.h:232
Elf32_Word p_flags
Flags relevant to the segment.
Definition: apps/elftosb/common/ELF.h:231
ELF program header.
Definition: apps/elftosb/common/ELF.h:223
Elf32_Half e_shstrndx
Section header table index of the section name string table.
Definition: apps/elftosb/common/ELF.h:76
unsigned char e_ident[EI_NIDENT]
Magic number identifying the file format.
Definition: apps/elftosb/common/ELF.h:63
Elf32_Addr sh_addr
The address at which the section will appear in the memory image, or 0.
Definition: apps/elftosb/common/ELF.h:140
Elf32_Word e_flags
Processor-specific flags associated with the file.
Definition: apps/elftosb/common/ELF.h:70
unsigned char st_info
Specified the symbol's type and binding attributes.
Definition: apps/elftosb/common/ELF.h:282
ELF symbol table entry.
Definition: apps/elftosb/common/ELF.h:277
Elf32_Addr p_vaddr
Virtual address at which the segment will reside in memory.
Definition: apps/elftosb/common/ELF.h:227
Elf32_Off e_phoff
Program header table offset in bytes, or 0 if no program header table.
Definition: apps/elftosb/common/ELF.h:68
Elf32_Word st_name
Index into file's string table.
Definition: apps/elftosb/common/ELF.h:279
Elf32_Word sh_size
The section's size in bytes.
Definition: apps/elftosb/common/ELF.h:142
Elf32_Half e_shentsize
Size in bytes of an entry in the section header table.
Definition: apps/elftosb/common/ELF.h:74
Elf32_Word sh_addralign
Address alignment constraint. Values are 0 and positive powers of 2.
Definition: apps/elftosb/common/ELF.h:145
Elf32_Half e_type
Identifies the object file format.
Definition: apps/elftosb/common/ELF.h:64
Elf32_Half e_shnum
Number of entries in the section header table.
Definition: apps/elftosb/common/ELF.h:75
Elf32_Word sh_flags
Section flags describing various attributes.
Definition: apps/elftosb/common/ELF.h:139
ELF file header.
Definition: apps/elftosb/common/ELF.h:61
unsigned char st_other
Currently 0 (reserved).
Definition: apps/elftosb/common/ELF.h:283
Elf32_Word e_version
Object file version.
Definition: apps/elftosb/common/ELF.h:66
Elf32_Half e_machine
Specified the architecture for the object file.
Definition: apps/elftosb/common/ELF.h:65
Elf32_Word sh_entsize
Size in bytes of section entries, or 0 if the section does not have fixed-size entries.
Definition: apps/elftosb/common/ELF.h:146
Elf32_Off sh_offset
Offset from beginning of the file to the first byte in the section.
Definition: apps/elftosb/common/ELF.h:141
Elf32_Addr st_value
Value associated with the symbol. Depends on context.
Definition: apps/elftosb/common/ELF.h:280
Elf32_Half e_phnum
Number of entries in the program header table.
Definition: apps/elftosb/common/ELF.h:73
Elf32_Word p_type
What type of segment this header describes.
Definition: apps/elftosb/common/ELF.h:225
Elf32_Word sh_info
Extra information about the section. Depends on section type.
Definition: apps/elftosb/common/ELF.h:144
Elf32_Off e_shoff
Section header table offset in bytes, or 0 if no section header table.
Definition: apps/elftosb/common/ELF.h:69
Elf32_Addr e_entry
Virtual address of the entry point, or 0.
Definition: apps/elftosb/common/ELF.h:67