[parisc-linux] glibc 2.2.3: setjmp/longjmp

Alan Modra alan@SPRI.Levels.UniSA.Edu.Au
Sat, 5 May 2001 10:19:05 +0930 (CST)


On Sat, 5 May 2001, Matthew Wilcox wrote:

> OK, got it.  the first time we call _setjmp, everything is fine.
> But when we return to it through longjmp, the `rp' which got stored has
> changed, and now its the rp for the last function we called.

Oh horrible.  Yes, the stack frame that sysdeps/generic/bsd-_setjmp.c is
using to load rp is no longer valid.  Oh well, the comment in
generic/bsd-_setjmp.c should have warned us, which leads to another
question.  Why was this added to gcc/config/pa/pa-linux.h?

/* Sibcalls, stubs, and elf sections don't play well.  */
#undef FUNCTION_OK_FOR_SIBCALL
#define FUNCTION_OK_FOR_SIBCALL(x) 0

Seems a bit drastic to me.  The correspnding define in pa.h should be OK
for us.

-- 
Alan Modra