Skip site navigation (1)Skip section navigation (2)
Date:      Mon, 23 Mar 2020 10:36:33 +0000 (UTC)
From:      Alex Richardson <arichardson@FreeBSD.org>
To:        src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-head@freebsd.org
Subject:   svn commit: r359233 - in head: . share/man/man7 share/mk
Message-ID:  <202003231036.02NAaXQR059437@repo.freebsd.org>

next in thread | raw e-mail | index | archive | help
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



Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?202003231036.02NAaXQR059437>