about summary refs log tree commit diff
path: root/sysdeps/arm/fpu/__longjmp.S
diff options
context:
space:
mode:
Diffstat (limited to 'sysdeps/arm/fpu/__longjmp.S')
-rw-r--r--sysdeps/arm/fpu/__longjmp.S10
1 files changed, 5 insertions, 5 deletions
diff --git a/sysdeps/arm/fpu/__longjmp.S b/sysdeps/arm/fpu/__longjmp.S
index 8afa177b20..25ba6b39fa 100644
--- a/sysdeps/arm/fpu/__longjmp.S
+++ b/sysdeps/arm/fpu/__longjmp.S
@@ -25,12 +25,12 @@
 /* __longjmp(jmpbuf, val) */
 
 ENTRY (__longjmp)
-	movs	r2, r0
+	mov	ip, r0		/* save jmp_buf pointer */
+	
 	movs	r0, r1		/* get the return value in place */
-	moveq	r1, #1		/* can't let setjmp() return zero! */
+	moveq	r0, #1		/* can't let setjmp() return zero! */
 
-	add	r2, r2, #48
-	lfmfd	f4, 4, [r2]
+	lfmia	f4, 4, [ip] !	/* load the floating point regs */
 
-	LOADREGS(ia, r2, {v1-v6, sl, fp, sp, pc})
+	LOADREGS(ia, ip, {v1-v6, sl, fp, sp, pc})
 END (__longjmp)