summaryrefslogtreecommitdiffstats
path: root/lib/clang
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 /lib/clang
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 'lib/clang')
-rw-r--r--lib/clang/clang.build.mk11
1 files changed, 7 insertions, 4 deletions
diff --git a/lib/clang/clang.build.mk b/lib/clang/clang.build.mk
index 6bc4cdf..a2ee0a5 100644
--- a/lib/clang/clang.build.mk
+++ b/lib/clang/clang.build.mk
@@ -21,16 +21,19 @@ CFLAGS+= -fno-strict-aliasing
TARGET_ARCH?= ${MACHINE_ARCH}
BUILD_ARCH?= ${MACHINE_ARCH}
-.if ${TARGET_ARCH:Marm*hf*} != ""
+# Armv6 uses hard float abi, unless the CPUTYPE has soft in it.
+# arm (for armv4 and armv5 CPUs) always uses the soft float ABI.
+# For all other targets, we stick with 'unknown'.
+.if ${TARGET_ARCH:Marmv6*} && (!defined(CPUTYPE) || ${CPUTYPE:M*soft*} == "")
TARGET_ABI= gnueabihf
-.elif ${TARGET_ARCH:Marm*} != ""
+.elif ${TARGET_ARCH:Marm*}
TARGET_ABI= gnueabi
.else
TARGET_ABI= unknown
.endif
-TARGET_TRIPLE?= ${TARGET_ARCH:C/amd64/x86_64/:C/armv6hf/armv6/:C/arm64/aarch64/}-${TARGET_ABI}-freebsd11.0
-BUILD_TRIPLE?= ${BUILD_ARCH:C/amd64/x86_64/:C/armv6hf/armv6/:C/arm64/aarch64/}-unknown-freebsd11.0
+TARGET_TRIPLE?= ${TARGET_ARCH:C/amd64/x86_64/:C/arm64/aarch64/}-${TARGET_ABI}-freebsd11.0
+BUILD_TRIPLE?= ${BUILD_ARCH:C/amd64/x86_64/:C/arm64/aarch64/}-unknown-freebsd11.0
CFLAGS+= -DLLVM_DEFAULT_TARGET_TRIPLE=\"${TARGET_TRIPLE}\" \
-DLLVM_HOST_TRIPLE=\"${BUILD_TRIPLE}\" \
-DDEFAULT_SYSROOT=\"${TOOLS_PREFIX}\"
OpenPOWER on IntegriCloud