svn commit: r198943 - head/sys/arm/arm
Marcel Moolenaar
marcel at FreeBSD.org
Thu Nov 5 06:27:46 UTC 2009
Author: marcel
Date: Thu Nov 5 06:27:46 2009
New Revision: 198943
URL: http://svn.freebsd.org/changeset/base/198943
Log:
Implement db_trace_thread() by calling db_stack_trace_cmd() and
passing a frame pointer that comes from the thread context. This
fixes DDB backtraces by not unwinding debugger functions first.
Modified:
head/sys/arm/arm/db_trace.c
Modified: head/sys/arm/arm/db_trace.c
==============================================================================
--- head/sys/arm/arm/db_trace.c Thu Nov 5 06:23:02 2009 (r198942)
+++ head/sys/arm/arm/db_trace.c Thu Nov 5 06:27:46 2009 (r198943)
@@ -194,13 +194,10 @@ db_md_set_watchpoint(db_expr_t addr, db_
int
db_trace_thread(struct thread *thr, int count)
{
- uint32_t addr;
+ struct pcb *ctx;
- if (thr == curthread)
- addr = (uint32_t)__builtin_frame_address(0);
- else
- addr = thr->td_pcb->un_32.pcb32_r11;
- db_stack_trace_cmd(addr, -1);
+ ctx = kdb_thr_ctx(thr);
+ db_stack_trace_cmd(ctx->un_32.pcb32_r11, -1);
return (0);
}
More information about the svn-src-all
mailing list