1.6 KiB
1.6 KiB
segment.h
Definitions needed to parse the elf program/segment headers.
elf_segment_type_E
- enum
- Null - Unused segment
- Load - Segment that should be included into mappings
- Dynamic - Segments of this type contain dynamic linking information
- Interpreter - This holds a path to an interpreter
- Note - These segments hold notes by the compiler / toolchain
- Program Header Table - This points to the table that is holding the segment headers
- TLS - This holds a Thread Local Storage template
elf_segment_T
- struct
Name | Type | Description |
---|---|---|
type | uint32_t | The segments type -> elf_segment_type_E |
flags | uint32_t | The segments flags (Read / Write / Execute) |
offset | uint64_t | The segments position in the elf file |
address_virtual | uint64_t | Where the segment should be mapped in the virtual address space |
address_physical | uint64_t | Not used in the System V ABI |
length_file | uint64_t | The segments size in the file |
length_memory | uint64_t | The size of the area that should be mapped for the segment |
align | uint64_t | The segments alignment (has to be a power of 2) |
g_elf_segment_type_strings
- global variable
An array of strings matching elf_segment_type_E.