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 */