|
|
|
@ -70,15 +70,15 @@ ElfReader::ElfReader(void *ptr) |
|
|
|
segments = (Elf32_Phdr *)(base + header->e_phoff); |
|
|
|
sections = (Elf32_Shdr *)(base + header->e_shoff); |
|
|
|
|
|
|
|
for (int i = 0; i < GetNumSegments(); i++) |
|
|
|
{ |
|
|
|
byteswapSegment(segments[i]); |
|
|
|
} |
|
|
|
|
|
|
|
for (int i = 0; i < GetNumSections(); i++) |
|
|
|
{ |
|
|
|
byteswapSection(sections[i]); |
|
|
|
} |
|
|
|
//for (int i = 0; i < GetNumSegments(); i++)
|
|
|
|
//{
|
|
|
|
// byteswapSegment(segments[i]);
|
|
|
|
//}
|
|
|
|
|
|
|
|
//for (int i = 0; i < GetNumSections(); i++)
|
|
|
|
//{
|
|
|
|
// byteswapSection(sections[i]);
|
|
|
|
//}
|
|
|
|
entryPoint = header->e_entry; |
|
|
|
} |
|
|
|
|
|
|
|
@ -122,6 +122,7 @@ bool ElfReader::LoadInto(u32 vaddr) |
|
|
|
u32 segmentVAddr[32]; |
|
|
|
|
|
|
|
u32 baseAddress = bRelocate?vaddr:0; |
|
|
|
|
|
|
|
for (int i = 0; i < header->e_phnum; i++) |
|
|
|
{ |
|
|
|
Elf32_Phdr *p = segments + i; |
|
|
|
|