diff options
-rw-r--r-- | ports/ChangeLog.eglibc | 5 | ||||
-rw-r--r-- | ports/sysdeps/powerpc/powerpc32/e500/fpu/__longjmp-common.S | 15 |
2 files changed, 13 insertions, 7 deletions
diff --git a/ports/ChangeLog.eglibc b/ports/ChangeLog.eglibc index a0f360dfe..bba6bc445 100644 --- a/ports/ChangeLog.eglibc +++ b/ports/ChangeLog.eglibc @@ -1,3 +1,8 @@ +2009-08-25 Joseph Myers <joseph@codesourcery.com> + + * sysdeps/powerpc/powerpc32/e500/fpu/__longjmp-common.S: Move + CHECK_SP earlier. + 2009-08-20 Maxim Kuvyrkov <maxim@codesourcery.com> Carlos O'Donell <carlos@codesourcery.com> diff --git a/ports/sysdeps/powerpc/powerpc32/e500/fpu/__longjmp-common.S b/ports/sysdeps/powerpc/powerpc32/e500/fpu/__longjmp-common.S index 93080c066..765701dea 100644 --- a/ports/sysdeps/powerpc/powerpc32/e500/fpu/__longjmp-common.S +++ b/ports/sysdeps/powerpc/powerpc32/e500/fpu/__longjmp-common.S @@ -33,6 +33,13 @@ ENTRY (BP_SYM (__longjmp)) #if defined PTR_DEMANGLE || defined CHECK_SP lwz r24,(JB_GPR1*4)(r3) +# ifdef CHECK_SP +# ifdef PTR_DEMANGLE + PTR_DEMANGLE3 (r24, r24, r25) +# endif + CHECK_SP (r24) + mr r1,r24 +# endif #else lwz r1,(JB_GPR1*4)(r3) #endif @@ -59,17 +66,11 @@ ENTRY (BP_SYM (__longjmp)) evldd r20,((JB_FPRS+6*2)*4)(r3) lwz r20,((JB_GPRS+6)*4)(r3) #ifdef PTR_DEMANGLE -# ifdef CHECK_SP - PTR_DEMANGLE3 (r24, r24, r25) -# else +# ifndef CHECK_SP PTR_DEMANGLE3 (r1, r24, r25) # endif PTR_DEMANGLE2 (r0, r25) #endif -#ifdef CHECK_SP - CHECK_SP (r24) - mr r1,r24 -#endif mtlr r0 /*lfd fp21,((JB_FPRS+7*2)*4)(r3)*/ evldd r21,((JB_FPRS+7*2)*4)(r3) |