Use LLVM as default toolchain for all PowerPC targets

This enables LLVM as the default compiler for powerpc, powerpc64, and
powerpcspe, as well as LLD as the default linker for powerpc64.

LLD is not yet ready for prime time for powerpc and powerpcspe, but work is
continuing on it.

Submitted by:	alfredo.junior_eldorado.org.br
Relnotes:	YES
Differential Revision:	https://reviews.freebsd.org/D20378
This commit is contained in:
jhibbits 2019-12-27 03:54:27 +00:00
parent 05669d021d
commit 9d8c7cddb3
2 changed files with 8 additions and 7 deletions

View File

@ -323,9 +323,9 @@ This table shows the default tool chain for each architecture.
.It mips64el Ta GCC 4.2.1 Ta GNU ld 2.17.50
.It mips64elhf Ta GCC 4.2.1 Ta GNU ld 2.17.50
.It mips64hf Ta GCC 4.2.1 Ta GNU ld 2.17.50
.It powerpc Ta GCC 4.2.1 Ta GNU ld 2.17.50
.It powerpcspe Ta GCC 4.2.1 Ta GNU ld 2.17.50
.It powerpc64 Ta GCC 4.2.1 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 powerpc64 Ta Clang Ta lld
.It riscv64 Ta GCC(1) Ta GNU ld(1)
.It riscv64sf Ta GCC(1) Ta GNU ld(1)
.It sparc64 Ta GCC 4.2.1 Ta GNU ld 2.17.50
@ -339,7 +339,7 @@ Any CPU architectures not migrated by then
may be removed from the tree after that date.
Unless the make variable
.Dv MAKE_OBSOLETE_GCC
is defined, make universe will not build mips, powerpc, nor sparc64
is defined, make universe will not build mips or sparc64
architectures unless the xtoolchain binaries have been installed for
the architecture.
.Ss MACHINE_ARCH vs MACHINE_CPUARCH vs MACHINE

View File

@ -305,7 +305,8 @@ __DEFAULT_NO_OPTIONS+=LLVM_TARGET_BPF
# build Clang without using an external compiler.
.if ${COMPILER_FEATURES:Mc++11} && (${__T} == "aarch64" || \
${__T} == "amd64" || ${__TT} == "arm" || ${__T} == "i386")
${__T} == "amd64" || ${__TT} == "arm" || ${__T} == "i386" || \
${__TT} == "powerpc")
# Clang is enabled, and will be installed as the default /usr/bin/cc.
__DEFAULT_YES_OPTIONS+=CLANG CLANG_BOOTSTRAP CLANG_IS_CC LLD
__DEFAULT_NO_OPTIONS+=GCC GCC_BOOTSTRAP GNUCXX GPL_DTC
@ -328,13 +329,13 @@ BROKEN_OPTIONS+=BINUTILS BINUTILS_BOOTSTRAP GCC GCC_BOOTSTRAP GDB
BROKEN_OPTIONS+=OFED
.endif
.if ${__T} == "aarch64" || ${__T} == "amd64" || ${__T} == "i386" || \
${__T:Mriscv*} != "" || ${__TT} == "mips"
${__TT} == "powerpc" || ${__T:Mriscv*} != "" || ${__TT} == "mips"
__DEFAULT_YES_OPTIONS+=LLVM_LIBUNWIND
.else
__DEFAULT_NO_OPTIONS+=LLVM_LIBUNWIND
.endif
.if ${__T} == "aarch64" || ${__T} == "amd64" || ${__T} == "armv6" || \
${__T} == "armv7" || ${__T} == "i386"
${__T} == "armv7" || ${__T} == "i386" || ${__T} == "powerpc64"
__DEFAULT_YES_OPTIONS+=LLD_BOOTSTRAP LLD_IS_LD
.else
__DEFAULT_NO_OPTIONS+=LLD_BOOTSTRAP LLD_IS_LD