? db_machdep.c.diff Index: db_machdep.c =================================================================== RCS file: /cvsroot/src/sys/arch/amd64/amd64/db_machdep.c,v retrieving revision 1.3 diff -u -p -u -r1.3 db_machdep.c --- db_machdep.c 12 Jul 2012 17:14:39 -0000 1.3 +++ db_machdep.c 3 Oct 2012 16:56:58 -0000 @@ -131,7 +131,8 @@ db_nextframe(long **nextframe, long **re default: /* The only argument to trap() or syscall() is the trapframe. */ - tf = (struct trapframe *)argp; + tf = (struct trapframe *) + db_get_value((long)argp, sizeof(*tf), false); switch (is_trap) { case TRAP: (*pr)("--- trap (number %d) ---\n", tf->tf_trapno); @@ -143,8 +144,10 @@ db_nextframe(long **nextframe, long **re (*pr)("--- interrupt ---\n"); break; } - *ip = (db_addr_t)tf->tf_rip; - fp = (struct x86_64_frame *)tf->tf_rbp; + *ip = (db_addr_t) + db_get_value((long)tf->tf_rip, sizeof(*ip), false); + fp = (struct x86_64_frame *) + db_get_value((long)tf->tf_rbp, sizeof(*fp), false); if (fp == NULL) return 0; *nextframe = (long *)&fp->f_frame;