diff --git a/kernel/start.c b/kernel/start.c
index e16f18a..1f9da65 100644
--- a/kernel/start.c
+++ b/kernel/start.c
@@ -55,7 +55,7 @@ start()
 }
 
 // arrange to receive timer interrupts.
-// they will arrive in machine mode at
+// they will arrive in machine mode
 // at timervec in kernelvec.S,
 // which turns them into software interrupts for
 // devintr() in trap.c.
diff --git a/kernel/trap.c b/kernel/trap.c
index f21fa26..5f34e10 100644
--- a/kernel/trap.c
+++ b/kernel/trap.c
@@ -68,8 +68,8 @@ usertrap(void)
   } else if((which_dev = devintr()) != 0){
     // ok
   } else {
-    printf("usertrap(): unexpected scause %lx pid=%d\n", r_scause(), p->pid);
-    printf("            sepc=%lx stval=%lx\n", r_sepc(), r_stval());
+    printf("usertrap(): unexpected scause 0x%lx pid=%d\n", r_scause(), p->pid);
+    printf("            sepc=0x%lx stval=0x%lx\n", r_sepc(), r_stval());
     setkilled(p);
   }
 
@@ -145,8 +145,8 @@ kerneltrap()
     panic("kerneltrap: interrupts enabled");
 
   if((which_dev = devintr()) == 0){
-    printf("scause %lx\n", scause);
-    printf("sepc=%lx stval=%lx\n", r_sepc(), r_stval());
+    printf("scause 0x%lx\n", scause);
+    printf("sepc=0x%lx stval=0x%lx\n", r_sepc(), r_stval());
     panic("kerneltrap");
   }
 
diff --git a/user/user.ld b/user/user.ld
index 0ca922b..23b6db5 100644
--- a/user/user.ld
+++ b/user/user.ld
@@ -15,9 +15,14 @@ SECTIONS
     *(.srodata .srodata.*) /* do not need to distinguish this from .rodata */
     . = ALIGN(16);
     *(.rodata .rodata.*)
-    . = ALIGN(0x1000);
   }
 
+  .eh_frame : {
+       *(.eh_frame)
+       *(.eh_frame.*)
+   }
+
+  . = ALIGN(0x1000);
   .data : {
     . = ALIGN(16);
     *(.sdata .sdata.*) /* do not need to distinguish this from .data */
diff --git a/user/usertests.c b/user/usertests.c
index 55debe7..2376506 100644
--- a/user/usertests.c
+++ b/user/usertests.c
@@ -2666,7 +2666,7 @@ bigdir(char *s)
     name[2] = '0' + (i % 64);
     name[3] = '\0';
     if(link("bd", name) != 0){
-      printf("%s: bigdir link(bd, %s) failed\n", s, name);
+      printf("%s: bigdir i=%d link(bd, %s) failed\n", s, i, name);
       exit(1);
     }
   }