Source-Changes-HG archive

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index][Old Index]

[src/trunk]: src/sys/arch/m68k/m68k use the pcb of the thread we are tracing ...



details:   https://anonhg.NetBSD.org/src/rev/b0f45a6b83c5
branches:  trunk
changeset: 368658:b0f45a6b83c5
user:      chs <chs%NetBSD.org@localhost>
date:      Mon Jul 25 01:59:26 2022 +0000

description:
use the pcb of the thread we are tracing rather than always curlwp.

diffstat:

 sys/arch/m68k/m68k/db_trace.c |  9 +++++----
 1 files changed, 5 insertions(+), 4 deletions(-)

diffs (49 lines):

diff -r 45cb3cbda574 -r b0f45a6b83c5 sys/arch/m68k/m68k/db_trace.c
--- a/sys/arch/m68k/m68k/db_trace.c     Sun Jul 24 20:28:39 2022 +0000
+++ b/sys/arch/m68k/m68k/db_trace.c     Mon Jul 25 01:59:26 2022 +0000
@@ -1,4 +1,4 @@
-/*     $NetBSD: db_trace.c,v 1.59 2015/10/18 17:13:32 maxv Exp $       */
+/*     $NetBSD: db_trace.c,v 1.60 2022/07/25 01:59:26 chs Exp $        */
 
 /* 
  * Mach Operating System
@@ -27,7 +27,7 @@
  */
 
 #include <sys/cdefs.h>
-__KERNEL_RCSID(0, "$NetBSD: db_trace.c,v 1.59 2015/10/18 17:13:32 maxv Exp $");
+__KERNEL_RCSID(0, "$NetBSD: db_trace.c,v 1.60 2022/07/25 01:59:26 chs Exp $");
 
 #include <sys/param.h>
 #include <sys/proc.h>
@@ -393,6 +393,7 @@
        const char *    name;
        struct stackpos pos;
        struct pcb      *pcb;
+       struct lwp      *l;
 #ifdef _KERNEL
        bool            kernel_only = true;
 #endif
@@ -417,12 +418,12 @@
                }
        }
 
+       l = curlwp;
        if (!have_addr)
                stacktop(&ddb_regs, &pos, pr);
        else {
                if (trace_thread) {
                        struct proc *p;
-                       struct lwp *l;
 
                        if (lwpaddr) {
                                l = (struct lwp *)addr;
@@ -554,7 +555,7 @@
                 * Stop tracing if frame ptr no longer points into kernel
                 * stack.
                 */
-               pcb = lwp_getpcb(curlwp);
+               pcb = lwp_getpcb(l);
                if (kernel_only && !INKERNEL(pos.k_fp, pcb))
                        break;
                if (nextframe(&pos, pcb, kernel_only, pr) == 0)



Home | Main Index | Thread Index | Old Index