diff options
author | dfr <dfr@FreeBSD.org> | 2002-03-10 20:19:32 +0000 |
---|---|---|
committer | dfr <dfr@FreeBSD.org> | 2002-03-10 20:19:32 +0000 |
commit | 98462a3128ec7a1827cf94ca3449fe21ae619a4b (patch) | |
tree | edfb8202ea43f5d14d2f891c1ffeeffe4b3ea2da | |
parent | ad77debfc5dfa5b73a27c6a6b4f1f7657090fb38 (diff) | |
download | FreeBSD-src-98462a3128ec7a1827cf94ca3449fe21ae619a4b.zip FreeBSD-src-98462a3128ec7a1827cf94ca3449fe21ae619a4b.tar.gz |
Don't try to print the arguments if the value of bsp is outside the
kernel - its asking for trouble.
-rw-r--r-- | sys/ia64/ia64/db_trace.c | 16 |
1 files changed, 9 insertions, 7 deletions
diff --git a/sys/ia64/ia64/db_trace.c b/sys/ia64/ia64/db_trace.c index 7c6e2a4..4ce6d84 100644 --- a/sys/ia64/ia64/db_trace.c +++ b/sys/ia64/ia64/db_trace.c @@ -88,13 +88,15 @@ db_stack_trace_cmd(db_expr_t addr, boolean_t have_addr, db_expr_t count, char *m nargs = sof - sol; if (nargs > 8) nargs = 8; - for (i = 0; i < nargs; i++) { - p = ia64_rse_register_address(bsp, 32 + i); - db_read_bytes((vm_offset_t) p, sizeof(reg), - (caddr_t) ®); - if (i > 0) - db_printf(", "); - db_printf("0x%lx", reg); + if (bsp >= IA64_RR_BASE(5)) { + for (i = 0; i < nargs; i++) { + p = ia64_rse_register_address(bsp, 32 + i); + db_read_bytes((vm_offset_t) p, sizeof(reg), + (caddr_t) ®); + if (i > 0) + db_printf(", "); + db_printf("0x%lx", reg); + } } db_printf(") at "); |