[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