Module Name: src Committed By: matt Date: Fri Jan 25 08:52:16 UTC 2013
Modified Files: src/lib/libc/arch/arm/gen: _setjmp.S setjmp.S Log Message: Use __ARM_PCS_VFP to determine whether the VFP is being used. To generate a diff of this commit: cvs rdiff -u -r1.8 -r1.9 src/lib/libc/arch/arm/gen/_setjmp.S cvs rdiff -u -r1.10 -r1.11 src/lib/libc/arch/arm/gen/setjmp.S Please note that diffs are not public domain; they are subject to the copyright notices on the relevant files.
Modified files: Index: src/lib/libc/arch/arm/gen/_setjmp.S diff -u src/lib/libc/arch/arm/gen/_setjmp.S:1.8 src/lib/libc/arch/arm/gen/_setjmp.S:1.9 --- src/lib/libc/arch/arm/gen/_setjmp.S:1.8 Fri Jan 11 13:55:25 2013 +++ src/lib/libc/arch/arm/gen/_setjmp.S Fri Jan 25 08:52:16 2013 @@ -1,4 +1,4 @@ -/* $NetBSD: _setjmp.S,v 1.8 2013/01/11 13:55:25 matt Exp $ */ +/* $NetBSD: _setjmp.S,v 1.9 2013/01/25 08:52:16 matt Exp $ */ /* * Copyright (c) 1997 Mark Brinicombe @@ -32,7 +32,7 @@ * SUCH DAMAGE. */ -#if !defined(__SOFTFP__) && !defined(__VFP_FP__) +#if !defined(__SOFTFP__) && !defined(__VFP_FP__) && !defined(__ARM_PCS) #error FPA is not supported anymore #endif @@ -56,12 +56,12 @@ ENTRY(_setjmp) ldr r1, .L_setjmp_magic str r1, [r0] -#ifndef __SOFTFP__ +#ifdef __ARM_PCS_VFP add r1, r0, #(_JB_REG_D8 * 4) vstmia r1, {d8-d15} vmrs r1, fpscr str r1, [r0, #(_JB_REG_FPSCR * 4)] -#endif +#endif /* __ARM_PCS_VFP */ add r0, r0, #(_JB_REG_R4 * 4) /* Store integer registers */ @@ -71,10 +71,10 @@ ENTRY(_setjmp) RET .L_setjmp_magic: -#ifdef __SOFTFP__ - .word _JB_MAGIC__SETJMP -#else +#ifdef __ARM_PCS_VFP .word _JB_MAGIC__SETJMP_VFP +#else + .word _JB_MAGIC__SETJMP #endif ENTRY(_longjmp) @@ -83,12 +83,12 @@ ENTRY(_longjmp) teq r2, r3 bne botch -#ifndef __SOFTFP__ +#ifdef __ARM_PCS_VFP add r1, r0, #(_JB_REG_D8 * 4) vldmia r1, {d8-d15} ldr r1, [r0, #(_JB_REG_FPSCR * 4)] vmsr fpscr, r1 -#endif +#endif /* __ARM_PCS_VFP */ add r0, r0, #(_JB_REG_R4 * 4) /* Restore integer registers */ Index: src/lib/libc/arch/arm/gen/setjmp.S diff -u src/lib/libc/arch/arm/gen/setjmp.S:1.10 src/lib/libc/arch/arm/gen/setjmp.S:1.11 --- src/lib/libc/arch/arm/gen/setjmp.S:1.10 Fri Jan 11 13:55:25 2013 +++ src/lib/libc/arch/arm/gen/setjmp.S Fri Jan 25 08:52:16 2013 @@ -1,4 +1,4 @@ -/* $NetBSD: setjmp.S,v 1.10 2013/01/11 13:55:25 matt Exp $ */ +/* $NetBSD: setjmp.S,v 1.11 2013/01/25 08:52:16 matt Exp $ */ /* * Copyright (c) 1997 Mark Brinicombe @@ -32,7 +32,7 @@ * SUCH DAMAGE. */ -#if !defined(__SOFTFP__) && !defined(__VFP_FP__) +#if !defined(__SOFTFP__) && !defined(__VFP_FP__) && !defined(__ARM_PCS) #error FPA is not supported anymore #endif @@ -61,12 +61,12 @@ ENTRY(__setjmp14) ldr r1, .Lsetjmp_magic str r1, [r0] -#ifndef __SOFTFP__ +#ifdef __ARM_PCS_VFP add r1, r0, #(_JB_REG_D8 * 4) vstmia r1, {d8-d15} vmrs r1, fpscr str r1, [r0, #(_JB_REG_FPSCR * 4)] -#endif /* !__SOFTFP__ */ +#endif /* __ARM_PCS_VFP */ /* Store integer registers */ add r0, r0, #(_JB_REG_R4 * 4) @@ -75,10 +75,10 @@ ENTRY(__setjmp14) RET .Lsetjmp_magic: -#ifdef __SOFTFP__ - .word _JB_MAGIC_SETJMP -#else +#ifdef __ARM_PCS_VFP .word _JB_MAGIC_SETJMP_VFP +#else + .word _JB_MAGIC_SETJMP #endif @@ -96,12 +96,12 @@ ENTRY(__longjmp14) bl PIC_SYM(_C_LABEL(__sigprocmask14), PLT) ldmfd sp!, {r0-r2, r14} -#ifndef __SOFTFP__ +#ifdef __ARM_PCS_VFP add r1, r0, #(_JB_REG_D8 * 4) vldmia r1, {d8-d15} ldr r1, [r0, #(_JB_REG_FPSCR * 4)] vmsr fpscr, r1 -#endif /* !__SOFTFP__ */ +#endif /* __ARM_PCS_VFP */ add r0, r0, #(_JB_REG_R4 * 4) /* Restore integer registers */