diff --git a/UPDATING b/UPDATING index a5c3f4f4696a..3c6e22b62db4 100644 --- a/UPDATING +++ b/UPDATING @@ -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. diff --git a/share/mk/src.opts.mk b/share/mk/src.opts.mk index 91dc02d4f546..e537428df597 100644 --- a/share/mk/src.opts.mk +++ b/share/mk/src.opts.mk @@ -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:${__LLVM_TARGET_FILT}:tu}/LLVM __DEFAULT_NO_OPTIONS+=LLVM_TARGET_BPF .include -# 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.