program header entries tell us how to load executables More...
Public Types | |
enum | { PT_NULL, PT_LOAD, PT_DYNAMIC, PT_INTERP, PT_NOTE, PT_SHLIB, PT_PHDR } |
enum | { PF_X = 0b1, PF_W = 0b10, PF_R = 0b100 } |
Data Fields | |
enum elf_program_header_entry_t:: { ... } | p_type |
program header type | |
uint32_t | p_offset |
where the segment starts in the file | |
void * | p_vaddr |
where the segment is located in virtual memory | |
void * | p_paddr |
same for physical memory (only on systems without MMU) | |
uint32_t | p_filesz |
the segment's length in the file | |
uint32_t | p_memsz |
the segment's length in memory | |
enum elf_program_header_entry_t:: { ... } | p_flags |
whether the segment should be executable, writable or readable | |
uint32_t | p_align |
how this segment is aligned | |