diff options
author | marcel <marcel@FreeBSD.org> | 2002-10-20 06:03:05 +0000 |
---|---|---|
committer | marcel <marcel@FreeBSD.org> | 2002-10-20 06:03:05 +0000 |
commit | d91408e73a35f283640aeb211acd3dcf87150de1 (patch) | |
tree | f5b93145534336b54f2c38db18317beea683efbc /sys | |
parent | 446c299a3104da1d056c9b4c48e7bf8e01b5d6c9 (diff) | |
download | FreeBSD-src-d91408e73a35f283640aeb211acd3dcf87150de1.zip FreeBSD-src-d91408e73a35f283640aeb211acd3dcf87150de1.tar.gz |
Remove the special casing for IP addresses that are within the IVT
or the do_syscall() function. We have unwind directives to stop the
unwinder.
Diffstat (limited to 'sys')
-rw-r--r-- | sys/ia64/ia64/db_trace.c | 24 |
1 files changed, 2 insertions, 22 deletions
diff --git a/sys/ia64/ia64/db_trace.c b/sys/ia64/ia64/db_trace.c index baf78ad..7c79d06 100644 --- a/sys/ia64/ia64/db_trace.c +++ b/sys/ia64/ia64/db_trace.c @@ -104,28 +104,8 @@ db_stack_trace_cmd(db_expr_t addr, boolean_t have_addr, db_expr_t count, char *m db_printsym(ip, DB_STGY_PROC); db_printf("\n"); - /* - * Was this an exception? If so, we can keep unwinding - * based on the interrupted trapframe. We could do - * this by constructing funky unwind records in - * exception.s but this is easier. - */ - if (ip >= (u_int64_t) &ia64_vector_table[0] - && ip < (u_int64_t) &ia64_vector_table[32768]) { - u_int64_t sp = ia64_unwind_state_get_sp(us); - ia64_free_unwind_state(us); - us = ia64_create_unwind_state((struct trapframe *) - (sp + 16)); - } else if (ip >= (u_int64_t) &do_syscall[0] - && ip < (u_int64_t) &do_syscall_end[0]) { - u_int64_t sp = ia64_unwind_state_get_sp(us); - ia64_free_unwind_state(us); - us = ia64_create_unwind_state((struct trapframe *) - (sp + 16 + 8*8)); - } else { - if (ia64_unwind_state_previous_frame(us)) - break; - } + if (ia64_unwind_state_previous_frame(us)) + break; ip = ia64_unwind_state_get_ip(us); if (!ip) |