Skip site navigation (1)Skip section navigation (2)
Date:      Fri, 27 Dec 2019 03:54:27 +0000 (UTC)
From:      Justin Hibbits <jhibbits@FreeBSD.org>
To:        src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-head@freebsd.org
Subject:   svn commit: r356111 - in head/share: man/man7 mk
Message-ID:  <201912270354.xBR3sRHr048261@repo.freebsd.org>

next in thread | raw e-mail | index | archive | help
Author: jhibbits
Date: Fri Dec 27 03:54:27 2019
New Revision: 356111
URL: https://svnweb.freebsd.org/changeset/base/356111

Log:
  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

Modified:
  head/share/man/man7/arch.7
  head/share/mk/src.opts.mk

Modified: head/share/man/man7/arch.7
==============================================================================
--- head/share/man/man7/arch.7	Fri Dec 27 03:00:18 2019	(r356110)
+++ head/share/man/man7/arch.7	Fri Dec 27 03:54:27 2019	(r356111)
@@ -323,9 +323,9 @@ This table shows the default tool chain for each archi
 .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

Modified: head/share/mk/src.opts.mk
==============================================================================
--- head/share/mk/src.opts.mk	Fri Dec 27 03:00:18 2019	(r356110)
+++ head/share/mk/src.opts.mk	Fri Dec 27 03:54:27 2019	(r356111)
@@ -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_BO
 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



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