[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

[patches] e500 longjmp_chk update



I've applied this patch to fix e500 longjmp for the recent libc changes to 
Power longjmp for longjmp_chk signal stack support.  This fixes 
debug/tst-longjmp_chk2.

Index: sysdeps/powerpc/powerpc32/e500/fpu/__longjmp-common.S
===================================================================
--- sysdeps/powerpc/powerpc32/e500/fpu/__longjmp-common.S	(revision 8872)
+++ sysdeps/powerpc/powerpc32/e500/fpu/__longjmp-common.S	(working copy)
@@ -33,6 +33,13 @@
 
 #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 @@
 	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)
Index: ChangeLog.eglibc
===================================================================
--- ChangeLog.eglibc	(revision 8872)
+++ ChangeLog.eglibc	(working copy)
@@ -1,3 +1,8 @@
+2009-08-25  Joseph Myers  <joseph@xxxxxxxxxxxxxxxx>
+
+	* sysdeps/powerpc/powerpc32/e500/fpu/__longjmp-common.S: Move
+	CHECK_SP earlier.
+
 2009-08-20  Maxim Kuvyrkov  <maxim@xxxxxxxxxxxxxxxx>
 	    Carlos O'Donell  <carlos@xxxxxxxxxxxxxxxx>
 

-- 
Joseph S. Myers
joseph@xxxxxxxxxxxxxxxx