svn commit: r359233 - in head: . share/man/man7 share/mk
Alex Richardson
arichardson at FreeBSD.org
Mon Mar 23 10:36:33 UTC 2020
Author: arichardson
Date: Mon Mar 23 10:36:32 2020
New Revision: 359233
URL: https://svnweb.freebsd.org/changeset/base/359233
Log:
Use Clang and LLD as the default toolchain for MIPS
Now that we have updated the in-tree version of LLVM to 10.0, we have all the
necessary LLVM changes to use Clang+LLD as the default toolchain for MIPS.
Relnotes: yes
Reviewed By: emaste, jhb, brooks, kevans
Differential Revision: https://reviews.freebsd.org/D23204
Modified:
head/Makefile
head/share/man/man7/arch.7
head/share/mk/src.opts.mk
Modified: head/Makefile
==============================================================================
--- head/Makefile Mon Mar 23 08:23:22 2020 (r359232)
+++ head/Makefile Mon Mar 23 10:36:32 2020 (r359233)
@@ -500,13 +500,13 @@ TARGET_ARCHES_riscv?= riscv64 riscv64sf
TARGET_ARCHES_${target}?= ${target}
.endfor
-MAKE_PARAMS_mips?= CROSS_TOOLCHAIN=mips-gcc6
-
-TOOLCHAINS_mips= mips-gcc6
-
# Remove architectures only supported by external toolchain from
# universe if required toolchain packages are missing.
-.for target in mips
+# Note: We no longer have targets that require an external toolchain, but for
+# now keep this block in case a new non-LLVM architecture is added and to reuse
+# it for a future extenal GCC make universe variant.
+_external_toolchain_targets=
+.for target in ${_external_toolchain_targets}
.if ${_UNIVERSE_TARGETS:M${target}}
.for toolchain in ${TOOLCHAINS_${target}}
.if !exists(/usr/local/share/toolchains/${toolchain}.mk)
Modified: head/share/man/man7/arch.7
==============================================================================
--- head/share/man/man7/arch.7 Mon Mar 23 08:23:22 2020 (r359232)
+++ head/share/man/man7/arch.7 Mon Mar 23 10:36:32 2020 (r359233)
@@ -302,15 +302,15 @@ This table shows the default tool chain for each archi
.It armv6 Ta Clang Ta lld
.It armv7 Ta Clang Ta lld
.It i386 Ta Clang Ta lld
-.It mips Ta GCC(1) Ta GNU ld(1)
-.It mipsel Ta GCC(1) Ta GNU ld(1)
-.It mipselhf Ta GCC(1) Ta GNU ld(1)
-.It mipshf Ta GCC(1) Ta GNU ld(1)
-.It mipsn32 Ta GCC(1) Ta GNU ld(1)
-.It mips64 Ta GCC(1) Ta GNU ld(1)
-.It mips64el Ta GCC(1) Ta GNU ld(1)
-.It mips64elhf Ta GCC(1) Ta GNU ld(1)
-.It mips64hf Ta GCC(1) Ta GNU ld(1)
+.It mips Ta Clang Ta lld
+.It mipsel Ta Clang Ta lld
+.It mipselhf Ta Clang Ta lld
+.It mipshf Ta Clang Ta lld
+.It mipsn32 Ta Clang Ta lld
+.It mips64 Ta Clang Ta lld
+.It mips64el Ta Clang Ta lld
+.It mips64elhf Ta Clang Ta lld
+.It mips64hf Ta Clang Ta lld
.It powerpc Ta Clang Ta GNU ld 2.17.50
.It powerpcspe Ta Clang Ta GNU ld 2.17.50
.It powerpc64 Ta Clang Ta lld
Modified: head/share/mk/src.opts.mk
==============================================================================
--- head/share/mk/src.opts.mk Mon Mar 23 08:23:22 2020 (r359232)
+++ head/share/mk/src.opts.mk Mon Mar 23 10:36:32 2020 (r359233)
@@ -79,6 +79,8 @@ __DEFAULT_YES_OPTIONS = \
CCD \
CDDL \
CLANG \
+ CLANG_BOOTSTRAP \
+ CLANG_IS_CC \
CPP \
CROSS_COMPILER \
CRYPT \
@@ -283,13 +285,6 @@ __DEFAULT_NO_OPTIONS+=LLVM_TARGET_BPF
.include <bsd.compiler.mk>
-.if ${__T:Mmips*} == ""
-# Clang is installed as the default /usr/bin/cc.
-__DEFAULT_YES_OPTIONS+=CLANG_BOOTSTRAP CLANG_IS_CC
-.else
-# Clang is enabled but we still require an external toolchain.
-__DEFAULT_NO_OPTIONS+=CLANG_BOOTSTRAP CLANG_IS_CC
-.endif
# In-tree binutils/gcc are older versions without modern architecture support.
.if ${__T} == "aarch64" || ${__T:Mriscv*} != ""
BROKEN_OPTIONS+=BINUTILS BINUTILS_BOOTSTRAP GDB
@@ -302,7 +297,7 @@ __DEFAULT_NO_OPTIONS+=BINUTILS_BOOTSTRAP
.if ${__T:Mriscv*} != ""
BROKEN_OPTIONS+=OFED
.endif
-.if ${__T:Mmips*} != "mips" && ${__T} != "powerpc" && ${__T} != "powerpcspe"
+.if ${__T} != "powerpc" && ${__T} != "powerpcspe"
__DEFAULT_YES_OPTIONS+=LLD_BOOTSTRAP LLD_IS_LD
.else
__DEFAULT_NO_OPTIONS+=LLD_BOOTSTRAP LLD_IS_LD
More information about the svn-src-head
mailing list