__sigsetjmp_aux (sigjmp_buf env, int savemask, long int *sp, long int *fp)
{
/* Save the integer registers. */
- env[0].__9 = r9;
- env[0].__10 = r10;
- env[0].__11 = r11;
- env[0].__12 = r12;
- env[0].__13 = r13;
- env[0].__14 = r14;
+ env[0].__jmpbuf[0].__9 = r9;
+ env[0].__jmpbuf[0].__10 = r10;
+ env[0].__jmpbuf[0].__11 = r11;
+ env[0].__jmpbuf[0].__12 = r12;
+ env[0].__jmpbuf[0].__13 = r13;
+ env[0].__jmpbuf[0].__14 = r14;
#if 1 /* XXX */
/* Save the floating point registers. */
- env[0].__f2 = f2;
- env[0].__f3 = f3;
- env[0].__f4 = f4;
- env[0].__f5 = f5;
- env[0].__f6 = f6;
- env[0].__f7 = f7;
- env[0].__f8 = f8;
- env[0].__f9 = f9;
+ env[0].__jmpbuf[0].__f2 = f2;
+ env[0].__jmpbuf[0].__f3 = f3;
+ env[0].__jmpbuf[0].__f4 = f4;
+ env[0].__jmpbuf[0].__f5 = f5;
+ env[0].__jmpbuf[0].__f6 = f6;
+ env[0].__jmpbuf[0].__f7 = f7;
+ env[0].__jmpbuf[0].__f8 = f8;
+ env[0].__jmpbuf[0].__f9 = f9;
#endif
/* Save the return address of our caller, where longjmp will jump to. */
- env[0].__pc = retpc;
+ env[0].__jmpbuf[0].__pc = retpc;
/* Save the FP and SP of our caller. The __sigsetjmp entry point
simply puts these in the argument registers for us to fetch. */
- env[0].__fp = fp;
- env[0].__sp = sp;
+ env[0].__jmpbuf[0].__fp = fp;
+ env[0].__jmpbuf[0].__sp = sp;
/* Save the signal mask if requested. */
__sigjmp_save (env, savemask);