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);
}
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);