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}
|
TARGET_ARCHES_${target}?= ${target}
|
||||||
.endfor
|
.endfor
|
||||||
|
|
||||||
MAKE_PARAMS_mips?= CROSS_TOOLCHAIN=mips-gcc6
|
|
||||||
|
|
||||||
TOOLCHAINS_mips= mips-gcc6
|
|
||||||
|
|
||||||
# Remove architectures only supported by external toolchain from
|
# Remove architectures only supported by external toolchain from
|
||||||
# universe if required toolchain packages are missing.
|
# 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}}
|
.if ${_UNIVERSE_TARGETS:M${target}}
|
||||||
.for toolchain in ${TOOLCHAINS_${target}}
|
.for toolchain in ${TOOLCHAINS_${target}}
|
||||||
.if !exists(/usr/local/share/toolchains/${toolchain}.mk)
|
.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 armv6 Ta Clang Ta lld
|
||||||
.It armv7 Ta Clang Ta lld
|
.It armv7 Ta Clang Ta lld
|
||||||
.It i386 Ta Clang Ta lld
|
.It i386 Ta Clang Ta lld
|
||||||
.It mips Ta GCC(1) Ta GNU ld(1)
|
.It mips Ta Clang Ta lld
|
||||||
.It mipsel Ta GCC(1) Ta GNU ld(1)
|
.It mipsel Ta Clang Ta lld
|
||||||
.It mipselhf Ta GCC(1) Ta GNU ld(1)
|
.It mipselhf Ta Clang Ta lld
|
||||||
.It mipshf Ta GCC(1) Ta GNU ld(1)
|
.It mipshf Ta Clang Ta lld
|
||||||
.It mipsn32 Ta GCC(1) Ta GNU ld(1)
|
.It mipsn32 Ta Clang Ta lld
|
||||||
.It mips64 Ta GCC(1) Ta GNU ld(1)
|
.It mips64 Ta Clang Ta lld
|
||||||
.It mips64el Ta GCC(1) Ta GNU ld(1)
|
.It mips64el Ta Clang Ta lld
|
||||||
.It mips64elhf Ta GCC(1) Ta GNU ld(1)
|
.It mips64elhf Ta Clang Ta lld
|
||||||
.It mips64hf Ta GCC(1) Ta GNU ld(1)
|
.It mips64hf Ta Clang Ta lld
|
||||||
.It powerpc Ta Clang Ta GNU ld 2.17.50
|
.It powerpc Ta Clang Ta GNU ld 2.17.50
|
||||||
.It powerpcspe Ta Clang Ta GNU ld 2.17.50
|
.It powerpcspe Ta Clang Ta GNU ld 2.17.50
|
||||||
.It powerpc64 Ta Clang Ta lld
|
.It powerpc64 Ta Clang Ta lld
|
||||||
|
@ -79,6 +79,8 @@ __DEFAULT_YES_OPTIONS = \
|
|||||||
CCD \
|
CCD \
|
||||||
CDDL \
|
CDDL \
|
||||||
CLANG \
|
CLANG \
|
||||||
|
CLANG_BOOTSTRAP \
|
||||||
|
CLANG_IS_CC \
|
||||||
CPP \
|
CPP \
|
||||||
CROSS_COMPILER \
|
CROSS_COMPILER \
|
||||||
CRYPT \
|
CRYPT \
|
||||||
@ -283,13 +285,6 @@ __DEFAULT_NO_OPTIONS+=LLVM_TARGET_BPF
|
|||||||
|
|
||||||
.include <bsd.compiler.mk>
|
.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.
|
# In-tree binutils/gcc are older versions without modern architecture support.
|
||||||
.if ${__T} == "aarch64" || ${__T:Mriscv*} != ""
|
.if ${__T} == "aarch64" || ${__T:Mriscv*} != ""
|
||||||
BROKEN_OPTIONS+=BINUTILS BINUTILS_BOOTSTRAP GDB
|
BROKEN_OPTIONS+=BINUTILS BINUTILS_BOOTSTRAP GDB
|
||||||
@ -302,7 +297,7 @@ __DEFAULT_NO_OPTIONS+=BINUTILS_BOOTSTRAP
|
|||||||
.if ${__T:Mriscv*} != ""
|
.if ${__T:Mriscv*} != ""
|
||||||
BROKEN_OPTIONS+=OFED
|
BROKEN_OPTIONS+=OFED
|
||||||
.endif
|
.endif
|
||||||
.if ${__T:Mmips*} != "mips" && ${__T} != "powerpc" && ${__T} != "powerpcspe"
|
.if ${__T} != "powerpc" && ${__T} != "powerpcspe"
|
||||||
__DEFAULT_YES_OPTIONS+=LLD_BOOTSTRAP LLD_IS_LD
|
__DEFAULT_YES_OPTIONS+=LLD_BOOTSTRAP LLD_IS_LD
|
||||||
.else
|
.else
|
||||||
__DEFAULT_NO_OPTIONS+=LLD_BOOTSTRAP LLD_IS_LD
|
__DEFAULT_NO_OPTIONS+=LLD_BOOTSTRAP LLD_IS_LD
|
||||||
|
Loading…
Reference in New Issue
Block a user