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

David McCullough davidm at uclibc.org
Thu May 1 05:28:46 UTC 2003


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

Modified Files:
	setjmp.S 
Log Message:

setjmp was trashing r12 which is bad and can cause apps to crash if they are
using r12. r12 is supposed to be preserved across C function calls.  r0-r7
are trashable :-)



Index: setjmp.S
===================================================================
RCS file: /var/cvs/uClibc/libc/sysdeps/linux/sh/setjmp.S,v
retrieving revision 1.7
retrieving revision 1.8
diff -u -d -r1.7 -r1.8
--- setjmp.S	17 Feb 2003 12:20:42 -0000	1.7
+++ setjmp.S	1 May 2003 05:28:43 -0000	1.8
@@ -78,12 +78,12 @@
 	mov.l	r8, @-r4
 
 #if defined __HAVE_ELF__ && defined __HAVE_SHARED__ 
-	mov.l	.LG, r12
+	mov.l	.LG, r2
 	mova	.LG, r0
-	add	r0, r12
+	add	r0, r2
 	/* Make a tail call to __sigjmp_save; it takes the same args.  */
 	mov.l	.L1, r0
-	mov.l   @(r0,r12),r0
+	mov.l   @(r0,r2),r0
 	jmp	@r0
 	 mov     r1, r0
 	.align	2



More information about the uClibc-cvs mailing list