From owner-svn-src-all@freebsd.org Mon Mar 23 10:36:33 2020 Return-Path: Delivered-To: svn-src-all@mailman.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mailman.nyi.freebsd.org (Postfix) with ESMTP id D572D27F1B4; Mon, 23 Mar 2020 10:36:33 +0000 (UTC) (envelope-from arichardson@FreeBSD.org) Received: from mxrelay.nyi.freebsd.org (mxrelay.nyi.freebsd.org [IPv6:2610:1c1:1:606c::19:3]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) server-signature RSA-PSS (4096 bits) client-signature RSA-PSS (4096 bits) client-digest SHA256) (Client CN "mxrelay.nyi.freebsd.org", Issuer "Let's Encrypt Authority X3" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 48m9m15MgBz49t2; Mon, 23 Mar 2020 10:36:33 +0000 (UTC) (envelope-from arichardson@FreeBSD.org) Received: from repo.freebsd.org (repo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:0]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id B3567D1C9; Mon, 23 Mar 2020 10:36:33 +0000 (UTC) (envelope-from arichardson@FreeBSD.org) Received: from repo.freebsd.org ([127.0.1.37]) by repo.freebsd.org (8.15.2/8.15.2) with ESMTP id 02NAaXCa059440; Mon, 23 Mar 2020 10:36:33 GMT (envelope-from arichardson@FreeBSD.org) Received: (from arichardson@localhost) by repo.freebsd.org (8.15.2/8.15.2/Submit) id 02NAaXQR059437; Mon, 23 Mar 2020 10:36:33 GMT (envelope-from arichardson@FreeBSD.org) Message-Id: <202003231036.02NAaXQR059437@repo.freebsd.org> X-Authentication-Warning: repo.freebsd.org: arichardson set sender to arichardson@FreeBSD.org using -f From: Alex Richardson Date: Mon, 23 Mar 2020 10:36:33 +0000 (UTC) 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 X-SVN-Group: head X-SVN-Commit-Author: arichardson X-SVN-Commit-Paths: in head: . share/man/man7 share/mk X-SVN-Commit-Revision: 359233 X-SVN-Commit-Repository: base MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit X-BeenThere: svn-src-all@freebsd.org X-Mailman-Version: 2.1.29 Precedence: list List-Id: "SVN commit messages for the entire src tree \(except for " user" and " projects" \)" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Mon, 23 Mar 2020 10:36:33 -0000 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 -.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