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
This commit is contained in:
parent
a75f9261d6
commit
4a4c9a0f9e
10
Makefile
10
Makefile
@ -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)
|
||||
|
@ -302,15 +302,15 @@ This table shows the default tool chain for each architecture.
|
||||
.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
|
||||
|
@ -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
|
||||
|
Loading…
Reference in New Issue
Block a user