Skip to content
Snippets Groups Projects
Commit fa81545f authored by Frans Kaashoek's avatar Frans Kaashoek
Browse files

Make elf proghdr fields match what objdump prints

parent 5f069dcf
No related branches found
No related tags found
No related merge requests found
......@@ -35,8 +35,8 @@ bootmain(void)
ph = (struct proghdr*)((uchar*)elf + elf->phoff);
eph = ph + elf->phnum;
for(; ph < eph; ph++){
pa = (uchar*)ph->pa;
readseg(pa, ph->filesz, ph->offset);
pa = (uchar*)ph->paddr;
readseg(pa, ph->filesz, ph->off);
if(ph->memsz > ph->filesz)
stosb(pa + ph->filesz, 0, ph->memsz - ph->filesz);
}
......
......@@ -24,9 +24,9 @@ struct elfhdr {
// Program section header
struct proghdr {
uint type;
uint offset;
uint va;
uint pa;
uint off;
uint vaddr;
uint paddr;
uint filesz;
uint memsz;
uint flags;
......
......@@ -41,9 +41,9 @@ exec(char *path, char **argv)
continue;
if(ph.memsz < ph.filesz)
goto bad;
if((sz = allocuvm(pgdir, sz, ph.va + ph.memsz)) == 0)
if((sz = allocuvm(pgdir, sz, ph.vaddr + ph.memsz)) == 0)
goto bad;
if(loaduvm(pgdir, (char*)ph.va, ip, ph.offset, ph.filesz) < 0)
if(loaduvm(pgdir, (char*)ph.vaddr, ip, ph.off, ph.filesz) < 0)
goto bad;
}
iunlockput(ip);
......
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment