From b14a15198504a2347d4337c611b8d2bd71f86f2f Mon Sep 17 00:00:00 2001 From: grehan Date: Fri, 23 Dec 2005 13:05:27 +0000 Subject: Mark the return address of the call to ast() in the generic trap handling code so the stack trace unwinders don't start trying to go into user-space. Found by trying to create core dumps with a KTR_COMPILE/KTR_GEOM kernel, which results in a stack_save() call in the ast() coredump path - this created a panic, and then calling 'trace' in ddb resulted in the black screen of death after printing out most of the backtrace. --- sys/powerpc/aim/trap_subr.S | 2 ++ 1 file changed, 2 insertions(+) (limited to 'sys/powerpc/aim') diff --git a/sys/powerpc/aim/trap_subr.S b/sys/powerpc/aim/trap_subr.S index c719917..06ed891 100644 --- a/sys/powerpc/aim/trap_subr.S +++ b/sys/powerpc/aim/trap_subr.S @@ -438,6 +438,8 @@ CNAME(trapexit): isync addi %r3,%r1,8 bl CNAME(ast) + .globl CNAME(asttrapexit) /* backtrace code sentinel #2 */ +CNAME(asttrapexit): b trapexit /* test ast ret value ? */ 1: FRAME_LEAVE(PC_TEMPSAVE) -- cgit v1.1