svn commit: r354700 - in head/lib/libc/arm: aeabi gen

Warner Losh imp at FreeBSD.org
Thu Nov 14 01:38:50 UTC 2019


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)]


More information about the svn-src-all mailing list