Bläddra i källkod

Fix FP handling alignment problems on ARM platforms without an FPU,
patch from Vadim Lebedev <vadim@7chips.com>.

David McCullough 21 år sedan
förälder
incheckning
1ad16873f1
2 ändrade filer med 4 tillägg och 0 borttagningar
  1. 2 0
      libc/sysdeps/linux/arm/__longjmp.S
  2. 2 0
      libc/sysdeps/linux/arm/setjmp.S

+ 2 - 0
libc/sysdeps/linux/arm/__longjmp.S

@@ -34,6 +34,8 @@ __longjmp:
 
 #if defined __UCLIBC_HAS_FLOATS__ && ! defined __UCLIBC_HAS_SOFT_FLOAT__
 	lfmfd	f4, 4, [ip] !	/* load the floating point regs */
+#else
+	add		ip, ip, #48		/* skip the FP registers */
 #endif	
 
 	ldmia     ip ,  {v1-v6, sl, fp, sp, pc}

+ 2 - 0
libc/sysdeps/linux/arm/setjmp.S

@@ -29,6 +29,8 @@ __sigsetjmp:
 	/* Save registers */
 #if defined __UCLIBC_HAS_FLOATS__ && ! defined __UCLIBC_HAS_SOFT_FLOAT__
 	sfmea   f4, 4, [r0]!
+#else
+	sub     r0, r0, #48		/* skip the FP registers */
 #endif
 	stmia   r0, {v1-v6, sl, fp, sp, lr}