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