Skip site navigation (1)Skip section navigation (2)
Date:      Sun, 5 Jan 2020 02:47:56 +0000 (UTC)
From:      Ed Maste <emaste@FreeBSD.org>
To:        src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-head@freebsd.org
Subject:   svn commit: r356367 - in head: . share/mk
Message-ID:  <202001050247.0052lu11098031@repo.freebsd.org>

next in thread | raw e-mail | index | archive | help
Author: emaste
Date: Sun Jan  5 02:47:56 2020
New Revision: 356367
URL: https://svnweb.freebsd.org/changeset/base/356367

Log:
  Do not build GCC 4.2.1 by default for any CPU architecture
  
  By default set to NO:
  
  GCC
  GCC_BOOTSTRAP
  GNUCXX
  
  As described by imp@ on the freebsd-arch mailing list Aug 13, 2019 with
  Subject: Gcc 4.2.1 to be removed before FreeBSD 13, a firm timeline
  https://lists.freebsd.org/pipermail/freebsd-arch/2019-August/019674.html
  
  Reviewed by:	jhb, imp
  Sponsored by:	The FreeBSD Foundation
  Differential Revision:	https://reviews.freebsd.org/D23026

Modified:
  head/UPDATING
  head/share/mk/src.opts.mk

Modified: head/UPDATING
==============================================================================
--- head/UPDATING	Sun Jan  5 01:42:21 2020	(r356366)
+++ head/UPDATING	Sun Jan  5 02:47:56 2020	(r356367)
@@ -26,6 +26,13 @@ NOTE TO PEOPLE WHO THINK THAT FreeBSD 13.x IS SLOW:
 	disable the most expensive debugging functionality run
 	"ln -s 'abort:false,junk:false' /etc/malloc.conf".)
 
+20200104:
+	GCC 4.2.1 is now not built by default, as part of the GCC 4.2.1
+	retirement plan.  Specifically, the GCC, GCC_BOOTSTRAP, and GNUCXX
+	options default to off for all supported CPU architectures.  As a
+	short-term transition aid they may be enabled via WITH_* options.
+	GCC 4.2.1 is expected to be removed from the tree on 2020-03-31.
+
 20200102:
 	Support for armv5 has been disconnected and is being removed. The
 	machine combination MACHINE=arm MACHINE_ARCH=arm is no longer valid.

Modified: head/share/mk/src.opts.mk
==============================================================================
--- head/share/mk/src.opts.mk	Sun Jan  5 01:42:21 2020	(r356366)
+++ head/share/mk/src.opts.mk	Sun Jan  5 02:47:56 2020	(r356367)
@@ -199,6 +199,9 @@ __DEFAULT_NO_OPTIONS = \
     CLANG_EXTRAS \
     DTRACE_TESTS \
     EXPERIMENTAL \
+    GCC \
+    GCC_BOOTSTRAP \
+    GNUCXX \
     GNU_GREP_COMPAT \
     GPL_DTC \
     HESIOD \
@@ -297,24 +300,22 @@ __DEFAULT_DEPENDENT_OPTIONS+=	LLVM_TARGET_${__llt:${__
 __DEFAULT_NO_OPTIONS+=LLVM_TARGET_BPF
 
 .include <bsd.compiler.mk>
-# If the compiler is not C++11 capable, disable Clang and use GCC instead.
-# This means that architectures that have GCC 4.2 as default can not
-# build Clang without using an external compiler.
+# If the compiler is not C++11 capable, disable Clang.  External toolchain will
+# be required.
 
 .if ${COMPILER_FEATURES:Mc++11} && (${__TT} != "mips" && \
     ${__TT} != "riscv" && ${__TT} != "sparc64")
 # 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
 .elif ${COMPILER_FEATURES:Mc++11} && ${__T} != "sparc64"
 # If an external compiler that supports C++11 is used as ${CC} and Clang
-# supports the target, then Clang is enabled but GCC is installed as the
+# supports the target, then Clang is enabled but we still require an external
+# toolchain.
 # default /usr/bin/cc.
-__DEFAULT_YES_OPTIONS+=CLANG GCC GCC_BOOTSTRAP GNUCXX LLD
+__DEFAULT_YES_OPTIONS+=CLANG LLD
 __DEFAULT_NO_OPTIONS+=CLANG_BOOTSTRAP CLANG_IS_CC
 .else
 # Everything else disables Clang, and uses GCC instead.
-__DEFAULT_YES_OPTIONS+=GCC GCC_BOOTSTRAP GNUCXX
 __DEFAULT_NO_OPTIONS+=CLANG CLANG_BOOTSTRAP CLANG_IS_CC LLD
 .endif
 # In-tree binutils/gcc are older versions without modern architecture support.



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