Module Name:    src
Committed By:   dsl
Date:           Sat Nov 21 19:59:51 UTC 2009

Modified Files:
        src/sys/arch/i386/i386: db_trace.c

Log Message:
Don't call lwp_getpcb() when not KERNEL.


To generate a diff of this commit:
cvs rdiff -u -r1.64 -r1.65 src/sys/arch/i386/i386/db_trace.c

Please note that diffs are not public domain; they are subject to the
copyright notices on the relevant files.

Modified files:

Index: src/sys/arch/i386/i386/db_trace.c
diff -u src/sys/arch/i386/i386/db_trace.c:1.64 src/sys/arch/i386/i386/db_trace.c:1.65
--- src/sys/arch/i386/i386/db_trace.c:1.64	Sat Nov 21 03:11:00 2009
+++ src/sys/arch/i386/i386/db_trace.c	Sat Nov 21 19:59:51 2009
@@ -1,4 +1,4 @@
-/*	$NetBSD: db_trace.c,v 1.64 2009/11/21 03:11:00 rmind Exp $	*/
+/*	$NetBSD: db_trace.c,v 1.65 2009/11/21 19:59:51 dsl Exp $	*/
 
 /* 
  * Mach Operating System
@@ -27,7 +27,7 @@
  */
 
 #include <sys/cdefs.h>
-__KERNEL_RCSID(0, "$NetBSD: db_trace.c,v 1.64 2009/11/21 03:11:00 rmind Exp $");
+__KERNEL_RCSID(0, "$NetBSD: db_trace.c,v 1.65 2009/11/21 19:59:51 dsl Exp $");
 
 #include <sys/param.h>
 #include <sys/systm.h>
@@ -452,7 +452,6 @@
 				    sizeof(l), (char *)&l);
 			}
 			(*pr)("lid %d ", l.l_lid);
-			pcb = lwp_getpcb(&l);
 #ifdef _KERNEL
 			if (l.l_proc == curproc &&
 			    (lwp_t *)lwpaddr == curlwp) {
@@ -462,6 +461,11 @@
 			} else
 #endif
 			{
+#ifdef _KERNEL
+				pcb = lwp_getpcb(&l);
+#else
+				pcb = &l.l_addr->u_pcb;
+#endif
 				db_read_bytes((db_addr_t)&pcb->pcb_ebp,
 				    sizeof(frame), (char *)&frame);
 				db_read_bytes((db_addr_t)(frame + 1),

Reply via email to