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-head mailing list