]> Devi Nivas Git - cs3210-lab0.git/commitdiff
Make elf proghdr fields match what objdump prints
authorFrans Kaashoek <kaashoek@Frans-Kaashoeks-MacBook-Pro.local>
Thu, 18 Aug 2011 00:23:36 +0000 (20:23 -0400)
committerFrans Kaashoek <kaashoek@Frans-Kaashoeks-MacBook-Pro.local>
Thu, 18 Aug 2011 00:23:36 +0000 (20:23 -0400)
bootmain.c
elf.h
exec.c

index fa2725df22a84d66abd0ddf85e9208ea85ea7136..c2d6050485501ec8eae82209ce0c211b5a65bf14 100644 (file)
@@ -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);
   }
diff --git a/elf.h b/elf.h
index 17f83219dc1cba57b172cac735ca4e19feb5c152..d16c96753a47a194587b86868bc4b2481aa8fef5 100644 (file)
--- a/elf.h
+++ b/elf.h
@@ -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;
diff --git a/exec.c b/exec.c
index 2ec1c512b997ea1c86dd81d9d5365d9d2a9de7d9..dfff3e6eedc19573880ff173b830e3dcfbb739c8 100644 (file)
--- a/exec.c
+++ b/exec.c
@@ -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);