Source-Changes-HG archive

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index][Old Index]

[src/trunk]: src/lib/libc/arch/arm/gen Use __ARM_PCS_VFP to determine whether...



details:   https://anonhg.NetBSD.org/src/rev/84a3db8a8d11
branches:  trunk
changeset: 784319:84a3db8a8d11
user:      matt <matt%NetBSD.org@localhost>
date:      Fri Jan 25 08:52:16 2013 +0000

description:
Use __ARM_PCS_VFP to determine whether the VFP is being used.

diffstat:

 lib/libc/arch/arm/gen/_setjmp.S |  18 +++++++++---------
 lib/libc/arch/arm/gen/setjmp.S  |  18 +++++++++---------
 2 files changed, 18 insertions(+), 18 deletions(-)

diffs (124 lines):

diff -r c3b31fadb871 -r 84a3db8a8d11 lib/libc/arch/arm/gen/_setjmp.S
--- a/lib/libc/arch/arm/gen/_setjmp.S   Fri Jan 25 08:31:43 2013 +0000
+++ b/lib/libc/arch/arm/gen/_setjmp.S   Fri Jan 25 08:52:16 2013 +0000
@@ -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 @@
        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 @@
         RET
 
 .L_setjmp_magic:
-#ifdef __SOFTFP__
+#ifdef __ARM_PCS_VFP
+       .word   _JB_MAGIC__SETJMP_VFP
+#else
        .word   _JB_MAGIC__SETJMP
-#else
-       .word   _JB_MAGIC__SETJMP_VFP
 #endif
 
 ENTRY(_longjmp)
@@ -83,12 +83,12 @@
        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 */
diff -r c3b31fadb871 -r 84a3db8a8d11 lib/libc/arch/arm/gen/setjmp.S
--- a/lib/libc/arch/arm/gen/setjmp.S    Fri Jan 25 08:31:43 2013 +0000
+++ b/lib/libc/arch/arm/gen/setjmp.S    Fri Jan 25 08:52:16 2013 +0000
@@ -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 @@
        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 @@
         RET
 
 .Lsetjmp_magic:
-#ifdef __SOFTFP__
+#ifdef __ARM_PCS_VFP
+       .word   _JB_MAGIC_SETJMP_VFP
+#else
        .word   _JB_MAGIC_SETJMP
-#else
-       .word   _JB_MAGIC_SETJMP_VFP
 #endif
 
 
@@ -96,12 +96,12 @@
        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 */



Home | Main Index | Thread Index | Old Index