From 4afe5be04199079b0f89b6a205e6ba2a4ada044c Mon Sep 17 00:00:00 2001 From: Roland McGrath Date: Sun, 4 Dec 1994 18:46:59 +0000 Subject: [PATCH] Set members in ENV[0].__jmp_buf[0], not ENV[0]. --- sysdeps/m68k/setjmp.c | 19 +++++++++---------- 1 file changed, 9 insertions(+), 10 deletions(-) diff --git a/sysdeps/m68k/setjmp.c b/sysdeps/m68k/setjmp.c index acb831e655..75e06626e6 100644 --- a/sysdeps/m68k/setjmp.c +++ b/sysdeps/m68k/setjmp.c @@ -23,27 +23,26 @@ int __sigsetjmp (jmp_buf env, int savemask) { /* Save data registers D1 through D7. */ - asm volatile ("movem%.l d1-d7, %0" : : "m" (env[0].__dregs[0])); + asm volatile ("movem%.l d1-d7, %0" : : "m" (env[0].__jmp_buf[0].__dregs[0])); /* Save return address in place of register A0. */ - env[0].__aregs[0] = (PTR) ((PTR *) &env)[-1]; + env[0].__jmp_buf[0].__aregs[0] = (PTR) ((PTR *) &env)[-1]; /* Save address registers A1 through A5. */ - asm volatile ("movem%.l a1-a5, %0" : : "m" (env[0].__aregs[1])); - - /* Save the signal mask if requested. */ - __sigjmp_save (env, savemask); + asm volatile ("movem%.l a1-a5, %0" : : "m" (env[0].__jmp_buf[0].__aregs[1])); /* Save caller's FP, not our own. */ - env[0].__fp = (PTR) ((PTR *) &env)[-2]; + env[0].__jmp_buf[0].__fp = ((void **) &env)[-2]; /* Save caller's SP, not our own. */ - env[0].__sp = (PTR) &env; + env[0].__jmp_buf[0].__sp = (void *) &env; #if defined(__HAVE_68881__) || defined(__HAVE_FPU__) /* Save floating-point (68881) registers FP0 through FP7. */ - asm volatile("fmovem%.x fp0-fp7, %0" : : "m" (env[0].__fpregs[0])); + asm volatile ("fmovem%.x fp0-fp7, %0" + : : "m" (env[0].__jmp_buf[0].__fpregs[0])); #endif - return 0; + /* Save the signal mask if requested. */ + return __sigjmp_save (env, savemask); } -- 2.43.5