Subject: Re: problems w/setjmp/longjmp
To: None <macbsd-general@sun-lamp.cs.berkeley.edu>
From: Rod Morehead <rmore@netcom.com>
List: macbsd-general
Date: 01/11/1994 22:17:16
**Deleted original explanation of setjmp returning wrong value.**
> setjmp and longjmp go through hoops to save the signal states,
> etc.  I suggest you try _setjmp and _longjmp with your test
> program.  If that works, then we know that the problem is with
> setjmp/longjmp.  If it doesn't, then printout the value of the
> constant _JBLEN.  It should be 17.  Also, if you could write
> a program to test the sigreturn () system call, that would
> narrow down where the error is.  (longjmp uses sigreturn.)
> 
>   Alice dudes:  Have you heard of this happening with other NetBSD
> ports, especially the m68k ones?

I tried using _setjmp and _longjmp with success. After ftping and
looking at the assembler,I would guess that D0 is getting clobbered 
by the sigreturn call. (It could be worse, it could be getting set to 0).

_JBLEN is indeed 17. I will look at sigreturn (I hadn't thought of that)
and let you know. 

Thanks for all the help!! 

Rod Morehead




------------------------------------------------------------------------------