--- glibc-2.2.5/sysdeps/powerpc/__longjmp.S.orig Wed Jul 3 12:34:10 2002 +++ glibc-2.2.5/sysdeps/powerpc/__longjmp.S Wed Jul 3 12:44:02 2002 @@ -23,6 +23,7 @@ #include #include #include +#include /* for HAVE_FP */ ENTRY (BP_SYM (__longjmp)) CHECK_BOUNDS_BOTH_WIDE_LIT (r3, r8, r9, JB_SIZE) @@ -30,6 +31,7 @@ lwz r1,(JB_GPR1*4)(r3) lwz r2,(JB_GPR2*4)(r3) lwz r0,(JB_LR*4)(r3) +#ifdef HAVE_FP lwz r14,((JB_GPRS+0)*4)(r3) lfd fp14,((JB_FPRS+0*2)*4)(r3) lwz r15,((JB_GPRS+1)*4)(r3) @@ -69,6 +71,29 @@ lfd fp30,((JB_FPRS+16*2)*4)(r3) lwz r31,((JB_GPRS+17)*4)(r3) lfd fp31,((JB_FPRS+17*2)*4)(r3) +#else + lwz r14,((JB_GPRS+0)*4)(r3) + lwz r15,((JB_GPRS+1)*4)(r3) + lwz r16,((JB_GPRS+2)*4)(r3) + lwz r17,((JB_GPRS+3)*4)(r3) + lwz r18,((JB_GPRS+4)*4)(r3) + lwz r19,((JB_GPRS+5)*4)(r3) + lwz r20,((JB_GPRS+6)*4)(r3) + mtlr r0 + lwz r21,((JB_GPRS+7)*4)(r3) + lwz r22,((JB_GPRS+8)*4)(r3) + lwz r0,(JB_CR*4)(r3) + lwz r23,((JB_GPRS+9)*4)(r3) + lwz r24,((JB_GPRS+10)*4)(r3) + lwz r25,((JB_GPRS+11)*4)(r3) + mtcrf 0xFF,r0 + lwz r26,((JB_GPRS+12)*4)(r3) + lwz r27,((JB_GPRS+13)*4)(r3) + lwz r28,((JB_GPRS+14)*4)(r3) + lwz r29,((JB_GPRS+15)*4)(r3) + lwz r30,((JB_GPRS+16)*4)(r3) + lwz r31,((JB_GPRS+17)*4)(r3) +#endif mr r3,r4 blr END (BP_SYM (__longjmp)) --- glibc-2.2.5/sysdeps/powerpc/setjmp.S.orig Wed Jul 3 12:21:07 2002 +++ glibc-2.2.5/sysdeps/powerpc/setjmp.S Wed Jul 3 12:44:09 2002 @@ -23,19 +23,15 @@ #include #include #include +#include /* for HAVE_FP */ ENTRY (BP_SYM (__sigsetjmp)) CHECK_BOUNDS_BOTH_WIDE_LIT (r3, r8, r9, JB_SIZE) stw r1,(JB_GPR1*4)(3) mflr r0 - stw r2,(JB_GPR2*4)(3) - stw r14,((JB_GPRS+0)*4)(3) - stfd fp14,((JB_FPRS+0*2)*4)(3) - stw r0,(JB_LR*4)(3) - stw r15,((JB_GPRS+1)*4)(3) - stfd fp15,((JB_FPRS+1*2)*4)(3) mfcr r0 +#ifdef HAVE_FP stw r16,((JB_GPRS+2)*4)(3) stfd fp16,((JB_FPRS+2*2)*4)(3) stw r0,(JB_CR*4)(3) @@ -69,5 +65,24 @@ stfd fp30,((JB_FPRS+16*2)*4)(3) stw r31,((JB_GPRS+17)*4)(3) stfd fp31,((JB_FPRS+17*2)*4)(3) +#else + stw r16,((JB_GPRS+2)*4)(3) + stw r0,(JB_CR*4)(3) + stw r17,((JB_GPRS+3)*4)(3) + stw r18,((JB_GPRS+4)*4)(3) + stw r19,((JB_GPRS+5)*4)(3) + stw r20,((JB_GPRS+6)*4)(3) + stw r21,((JB_GPRS+7)*4)(3) + stw r22,((JB_GPRS+8)*4)(3) + stw r23,((JB_GPRS+9)*4)(3) + stw r24,((JB_GPRS+10)*4)(3) + stw r25,((JB_GPRS+11)*4)(3) + stw r26,((JB_GPRS+12)*4)(3) + stw r27,((JB_GPRS+13)*4)(3) + stw r28,((JB_GPRS+14)*4)(3) + stw r29,((JB_GPRS+15)*4)(3) + stw r30,((JB_GPRS+16)*4)(3) + stw r31,((JB_GPRS+17)*4)(3) +#endif b JUMPTARGET (BP_SYM (__sigjmp_save)) END (BP_SYM (__sigsetjmp))