diff options
author | imp <imp@FreeBSD.org> | 2016-05-18 06:01:18 +0000 |
---|---|---|
committer | imp <imp@FreeBSD.org> | 2016-05-18 06:01:18 +0000 |
commit | 3b518c4dc10bf43b7ae4c1d618b3853c07293818 (patch) | |
tree | 6b3be8c1f55460e86fa3d3968f0fd655e0ebd2ba /share | |
parent | 28fe011e628781e5ebbde5d9dd55d81c88382819 (diff) | |
download | FreeBSD-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')
-rw-r--r-- | share/mk/bsd.cpu.mk | 8 | ||||
-rw-r--r-- | share/mk/local.meta.sys.mk | 2 | ||||
-rw-r--r-- | share/mk/sys.mk | 2 |
3 files changed, 8 insertions, 4 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 diff --git a/share/mk/local.meta.sys.mk b/share/mk/local.meta.sys.mk index 6088c75..55febe0 100644 --- a/share/mk/local.meta.sys.mk +++ b/share/mk/local.meta.sys.mk @@ -43,7 +43,7 @@ OBJROOT:= ${OBJROOT:H:tA}/${OBJROOT:T} .endif # from src/Makefile (for universe) -TARGET_ARCHES_arm?= arm armeb armv6 armv6hf +TARGET_ARCHES_arm?= arm armeb armv6 TARGET_ARCHES_arm64?= aarch64 TARGET_ARCHES_mips?= mipsel mips mips64el mips64 mipsn32 mipsn32el TARGET_ARCHES_powerpc?= powerpc powerpc64 diff --git a/share/mk/sys.mk b/share/mk/sys.mk index 3b2d472a..7aea72f 100644 --- a/share/mk/sys.mk +++ b/share/mk/sys.mk @@ -13,7 +13,7 @@ unix ?= We run FreeBSD, not UNIX. # and/or endian. This is called MACHINE_CPU in NetBSD, but that's used # for something different in FreeBSD. # -MACHINE_CPUARCH=${MACHINE_ARCH:C/mips(n32|64)?(el)?/mips/:C/arm(v6)?(eb|hf)?/arm/:C/powerpc64/powerpc/:C/riscv64/riscv/} +MACHINE_CPUARCH=${MACHINE_ARCH:C/mips(n32|64)?(el)?/mips/:C/arm(v6)?(eb)?/arm/:C/powerpc64/powerpc/:C/riscv64/riscv/} .endif |