Half working elf loader

This commit is contained in:
Alex
2023-09-02 19:46:10 +03:00
parent 20227aabe5
commit 0840c046b9
3 changed files with 197 additions and 118 deletions

View File

@ -225,10 +225,6 @@ enum SegmentTypes
PT_SHLIB = 5,
PT_PHDR = 6,
PT_TLS = 7,
PT_LOSUNW = 0x6ffffffa,
PT_SUNWBSS = 0x6ffffffb,
PT_SUNWSTACK = 0x6ffffffa,
PT_HISUNW = 0x6fffffff,
PT_LOPROC = 0x70000000,
PT_HIPROC = 0x7fffffff,
PT_GNU_EH_FRAME = 0x6474e550,

View File

@ -66,6 +66,18 @@ namespace Execute
std::vector<AuxiliaryVector> Elfauxv;
Tasking::IP ip;
void *ELFProgramHeaders;
void LoadPhdrs_x86_32(int fd,
Elf64_Ehdr ELFHeader,
Memory::MemMgr *mm,
Tasking::PCB *TargetProcess);
void LoadPhdrs_x86_64(int fd,
Elf64_Ehdr ELFHeader,
Memory::MemMgr *mm,
Tasking::PCB *TargetProcess);
void GenerateAuxiliaryVector_x86_32(Memory::MemMgr *mm,
int fd,
Elf32_Ehdr ELFHeader,