summaryrefslogtreecommitdiffstats
path: root/share/mk/bsd.cpu.mk
diff options
context:
space:
mode:
authorimp <imp@FreeBSD.org>2016-05-18 06:01:18 +0000
committerimp <imp@FreeBSD.org>2016-05-18 06:01:18 +0000
commit3b518c4dc10bf43b7ae4c1d618b3853c07293818 (patch)
tree6b3be8c1f55460e86fa3d3968f0fd655e0ebd2ba /share/mk/bsd.cpu.mk
parent28fe011e628781e5ebbde5d9dd55d81c88382819 (diff)
downloadFreeBSD-src-3b518c4dc10bf43b7ae4c1d618b3853c07293818.zip
FreeBSD-src-3b518c4dc10bf43b7ae4c1d618b3853c07293818.tar.gz
Make armv6 hard float abi by default. Kill armv6hf.
Allow CPUTYPE=soft to build the current soft-float abi libraries. Add UPDATING entry to announce this. Approved by: re@ (gjb)
Diffstat (limited to 'share/mk/bsd.cpu.mk')
-rw-r--r--share/mk/bsd.cpu.mk8
1 files changed, 6 insertions, 2 deletions
diff --git a/share/mk/bsd.cpu.mk b/share/mk/bsd.cpu.mk
index 7081c9e..ff64d7d 100644
--- a/share/mk/bsd.cpu.mk
+++ b/share/mk/bsd.cpu.mk
@@ -309,14 +309,18 @@ MACHINE_CPU += arm
. if ${MACHINE_ARCH:Marmv6*} != ""
MACHINE_CPU += armv6
. endif
-# armv6 is a hybrid. It uses the softfp ABI, but doesn't emulate
+# armv6 is a hybrid. It can use the softfp ABI, but doesn't emulate
# floating point in the general case, so don't define softfp for
# it at this time. arm and armeb are pure softfp, so define it
# for them.
. if ${MACHINE_ARCH:Marmv6*} == ""
MACHINE_CPU += softfp
. endif
-.if ${MACHINE_ARCH} == "armv6"
+# Normally armv6 is hard float ABI from FreeBSD 11 onwards. However
+# when CPUTYPE has 'soft' in it, we use the soft-float ABI to allow
+# building of soft-float ABI libraries. In this case, we have to
+# add the -mfloat-abi=softfp to force that.
+.if ${MACHINE_ARCH:Marmv6*} && defined(CPUTYPE) && ${CPUTYPE:M*soft*} != ""
# Needs to be CFLAGS not _CPUCFLAGS because it's needed for the ABI
# not a nice optimization.
CFLAGS += -mfloat-abi=softfp
OpenPOWER on IntegriCloud