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

Reply via email to