Subject: port-sparc/33857: kernel longjmp does not work with gdb4
To: None <port-sparc-maintainer@netbsd.org, gnats-admin@netbsd.org,>
From: None <martin@duskware.de>
List: netbsd-bugs
Date: 06/28/2006 21:55:00
>Number:         33857
>Category:       port-sparc
>Synopsis:       kernel longjmp does not work with gdb4
>Confidential:   no
>Severity:       critical
>Priority:       high
>Responsible:    port-sparc-maintainer
>State:          open
>Class:          sw-bug
>Submitter-Id:   net
>Arrival-Date:   Wed Jun 28 21:55:00 +0000 2006
>Originator:     Martin Husemann
>Release:        NetBSD 3.99.21
>Organization:
>Environment:
System: NetBSD krups.duskware.de 3.99.21 NetBSD 3.99.21 (MP3) #0: Wed Jun 28 21:28:07 CEST 2006 martin@night-porter.duskware.de:/usr/src/sys/arch/sparc/compile/MP3 sparc
Architecture: sparc
Machine: sparc
>Description:

A current sparc kernel, compiled with gcc4, gets an alignement fault when
entering DDB (but that's not the topic now) - so ddb outputs an error message
and tries to longjmp to db_recover - which fails:

Stopped at      netbsd:cpu_Debugger+0x4:        or              %o7, %g0, %g1
trap type 0x7: pc=0xe8008530 npc=0xe8008534 psr=4400fc0<S,PS>
kernel: alignment fault trap
Faulted in DDB; continuing...
panic: longjmp botch
Stopped at      netbsd:cpu_Debugger+0x4:        or              %o7, %g0, %g1
trap type 0x7: pc=0xe8008530 npc=0xe8008534 psr=4400fc2<S,PS>
kernel: alignment fault trap
Faulted in DDB; continuing...
panic: longjmp botch

(this is on a JavaStation, if you wonder about the addresses - but happens the
same on a LX)

>How-To-Repeat:
Boot a gcc4 compiled kernel, break into ddb.

>Fix:
n/a