[uClibc-cvs] uClibc/libc/sysdeps/linux/sh setjmp.S,1.6,1.7

David McCullough davidm at uclibc.org
Mon Feb 17 12:20:45 UTC 2003


Update of /var/cvs/uClibc/libc/sysdeps/linux/sh
In directory winder:/tmp/cvs-serv7901/libc/sysdeps/linux/sh

Modified Files:
	setjmp.S 
Log Message:

If floating point was enabled,  setjmp would write to memory well past the
end of the buffer.



Index: setjmp.S
===================================================================
RCS file: /var/cvs/uClibc/libc/sysdeps/linux/sh/setjmp.S,v
retrieving revision 1.6
retrieving revision 1.7
diff -u -d -r1.6 -r1.7
--- setjmp.S	15 Nov 2002 09:21:07 -0000	1.6
+++ setjmp.S	17 Feb 2003 12:20:42 -0000	1.7
@@ -53,17 +53,18 @@
 	.globl	__sigsetjmp;
 __sigsetjmp:
 	mov     r0, r1
+	nop		/* align this guy */
 __sigsetjmp_intern:
 	/* Save registers */
 #if defined __UCLIBC_HAS_FLOATS__ && ! defined __UCLIBC_HAS_SOFT_FLOAT__
-	add	#(JB_SIZE*4), r4
+	add	#(JB_SIZE), r4
 	fmov.s	fr15, @-r4
 	fmov.s	fr14, @-r4
 	fmov.s	fr13, @-r4
 	fmov.s	fr12, @-r4
 	sts.l   fpscr, @-r4
 #else
-	add	#(JB_SIZE-5*4), r4 /* this code doesn't do FP yet */
+	add	#(JB_SIZE-(5*4)), r4 /* this code doesn't do FP yet */
 #endif		
 	stc.l	gbr, @-r4
 	sts.l	pr, @-r4




More information about the uClibc-cvs mailing list