Index: lib/libc/arm/aeabi/aeabi_vfp.h =================================================================== --- lib/libc/arm/aeabi/aeabi_vfp.h +++ lib/libc/arm/aeabi/aeabi_vfp.h @@ -67,7 +67,7 @@ * C Helper macros */ -#if __ARM_ARCH >= 6 +#if __ARM_ARCH >= 6 && !defined(SOFTFLOAT_FOR_GCC) /* * Generate a function that will either call into the VFP implementation, * or the soft float version for a given __aeabi_* helper. The function Index: lib/libc/arm/gen/_setjmp.S =================================================================== --- lib/libc/arm/gen/_setjmp.S +++ lib/libc/arm/gen/_setjmp.S @@ -61,7 +61,7 @@ ENTRY(_setjmp) ldr r1, .L_setjmp_magic -#if !defined(_STANDALONE) && __ARM_ARCH >= 6 +#if !defined(_STANDALONE) && __ARM_ARCH >= 6 && !defined(SOFTFLOAT_FOR_GCC) add r2, r0, #(_JB_REG_D8 * 4) vstmia r2, {d8-d15} vmrs r2, fpscr @@ -94,7 +94,7 @@ teq ip, r2 /* magic correct? */ bne botch /* no, botch */ -#if !defined(_STANDALONE) && __ARM_ARCH >= 6 +#if !defined(_STANDALONE) && __ARM_ARCH >= 6 && !defined(SOFTFLOAT_FOR_GCC) add ip, r0, #(_JB_REG_D8 * 4) vldmia ip, {d8-d15} ldr ip, [r0, #(_JB_REG_FPSCR * 4)] Index: lib/libc/arm/gen/setjmp.S =================================================================== --- lib/libc/arm/gen/setjmp.S +++ lib/libc/arm/gen/setjmp.S @@ -64,7 +64,7 @@ ldr r1, .Lsetjmp_magic -#if __ARM_ARCH >= 6 +#if __ARM_ARCH >= 6 && !defined(SOFTFLOAT_FOR_GCC) add r2, r0, #(_JB_REG_D8 * 4) vstmia r2, {d8-d15} vmrs r2, fpscr @@ -105,7 +105,7 @@ bl PIC_SYM(_C_LABEL(sigprocmask), PLT) ldmfd sp!, {r0-r2, r14} -#if __ARM_ARCH >= 6 +#if __ARM_ARCH >= 6 && !defined(SOFTFLOAT_FOR_GCC) add ip, r0, #(_JB_REG_D8 * 4) vldmia ip, {d8-d15} ldr ip, [r0, #(_JB_REG_FPSCR * 4)]