Author: imp
Date: Thu Nov 14 01:38:48 2019
New Revision: 354700
URL: https://svnweb.freebsd.org/changeset/base/354700

Log:
  armv6 soft float build fixed
  
  Add ifdefs in the assembler for soft-float compile case.
  
  Submitted by: Hiroki Mori
  Reviewed by: ray@
  Differential Review: https://reviews.freebsd.org/D22352

Modified:
  head/lib/libc/arm/aeabi/aeabi_vfp.h
  head/lib/libc/arm/gen/_setjmp.S
  head/lib/libc/arm/gen/setjmp.S

Modified: head/lib/libc/arm/aeabi/aeabi_vfp.h
==============================================================================
--- head/lib/libc/arm/aeabi/aeabi_vfp.h Wed Nov 13 23:31:23 2019        
(r354699)
+++ head/lib/libc/arm/aeabi/aeabi_vfp.h Thu Nov 14 01:38:48 2019        
(r354700)
@@ -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

Modified: head/lib/libc/arm/gen/_setjmp.S
==============================================================================
--- head/lib/libc/arm/gen/_setjmp.S     Wed Nov 13 23:31:23 2019        
(r354699)
+++ head/lib/libc/arm/gen/_setjmp.S     Thu Nov 14 01:38:48 2019        
(r354700)
@@ -61,7 +61,7 @@ __FBSDID("$FreeBSD$");
 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 @@ ENTRY(_longjmp)
        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)]

Modified: head/lib/libc/arm/gen/setjmp.S
==============================================================================
--- head/lib/libc/arm/gen/setjmp.S      Wed Nov 13 23:31:23 2019        
(r354699)
+++ head/lib/libc/arm/gen/setjmp.S      Thu Nov 14 01:38:48 2019        
(r354700)
@@ -64,7 +64,7 @@ ENTRY(setjmp)
 
        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 @@ ENTRY(__longjmp)
        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)]
_______________________________________________
svn-src-head@freebsd.org mailing list
https://lists.freebsd.org/mailman/listinfo/svn-src-head
To unsubscribe, send any mail to "svn-src-head-unsubscr...@freebsd.org"

Reply via email to