From d962f9c52e6fc6154e0f6cb382cd953dd7e17d45 Mon Sep 17 00:00:00 2001 From: matt Date: Sat, 30 Dec 2000 20:16:34 +0000 Subject: [PATCH] Add a kludge that makes stack tracebacks work. --- sys/arch/vax/vax/db_machdep.c | 24 ++++++++++++------------ 1 file changed, 12 insertions(+), 12 deletions(-) diff --git a/sys/arch/vax/vax/db_machdep.c b/sys/arch/vax/vax/db_machdep.c index e39e14d7e428..6d55871f2fb2 100644 --- a/sys/arch/vax/vax/db_machdep.c +++ b/sys/arch/vax/vax/db_machdep.c @@ -1,4 +1,4 @@ -/* $NetBSD: db_machdep.c,v 1.23 2000/06/29 07:14:23 mrg Exp $ */ +/* $NetBSD: db_machdep.c,v 1.24 2000/12/30 20:16:34 matt Exp $ */ /* * :set tabs=4 @@ -81,16 +81,16 @@ static int splsave; /* IPL before entering debugger */ * ISBN 0-932376-07-X */ typedef struct __vax_frame { - u_int vax_cond; /* condition handler */ - u_int vax_psw:16; /* 16 bit processor status word */ - u_int vax_regs:12; /* Register save mask. */ - u_int vax_zero:1; /* Always zero */ - u_int vax_calls:1; /* True if CALLS, false if CALLG */ - u_int vax_spa:2; /* Stack pointer alignment */ - u_int *vax_ap; /* argument pointer */ - struct __vax_frame *vax_fp; /* frame pointer of previous frame */ - u_int vax_pc; /* program counter */ - u_int vax_args[1]; /* 0 or more arguments */ + u_int vax_cond; /* condition handler */ + u_int vax_psw:16; /* 16 bit processor status word */ + u_int vax_regs:12; /* Register save mask. */ + u_int vax_zero:1; /* Always zero */ + u_int vax_calls:1; /* True if CALLS, false if CALLG */ + u_int vax_spa:2; /* Stack pointer alignment */ + u_int *vax_ap; /* argument pointer */ + struct __vax_frame *vax_fp; /* frame pointer of previous frame */ + u_int vax_pc; /* program counter */ + u_int vax_args[1]; /* 0 or more arguments */ } VAX_CALLFRAME; /* @@ -257,7 +257,7 @@ db_dump_stack(VAX_CALLFRAME *fp, u_int stackbase, return; } - while (((u_int)(fp->vax_fp) > stackbase) && + while (((u_int)(fp->vax_fp) > stackbase - 0x100) && ((u_int)(fp->vax_fp) < (stackbase + USPACE))) { diff = INT_MAX;