Skip site navigation (1)Skip section navigation (2)
Date:      Sat, 29 Feb 2020 21:23:31 +0000
From:      Brooks Davis <brooks@freebsd.org>
To:        Ed Maste <emaste@FreeBSD.org>
Cc:        src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-head@freebsd.org
Subject:   Re: svn commit: r358454 - in head: . etc/mtree gnu/lib gnu/lib/libgcov gnu/lib/libgomp gnu/lib/libstdc++ gnu/lib/libsupc++ gnu/usr.bin gnu/usr.bin/cc gnu/usr.bin/gperf share/mk targets/pseudo/bootstrap...
Message-ID:  <20200229212331.GA89716@spindle.one-eyed-alien.net>
In-Reply-To: <202002290325.01T3PpnO094677@repo.freebsd.org>
References:  <202002290325.01T3PpnO094677@repo.freebsd.org>

next in thread | previous in thread | raw e-mail | index | archive | help

--vkogqOf2sHV7VnPd
Content-Type: text/plain; charset=us-ascii
Content-Disposition: inline
Content-Transfer-Encoding: quoted-printable

On Sat, Feb 29, 2020 at 03:25:51AM +0000, Ed Maste wrote:
> Author: emaste
> Date: Sat Feb 29 03:25:51 2020
> New Revision: 358454
> URL: https://svnweb.freebsd.org/changeset/base/358454
>=20
> Log:
>   remove GCC 4.2.1 build infrastructure
>  =20
>   As described in Warner's email message[1] to the FreeBSD-arch mailing
>   list we have reached GCC 4.2.1's retirement date.  At this time all
>   supported architectures either use in-tree Clang, or rely on external
>   toolchain (i.e., a contemporary GCC version from ports).
>  =20
>   GCC 4.2.1 was released July 18, 2007 and was imported into FreeBSD later
>   that year, in r171825.  GCC has served us well, but version 4.2.1 is
>   obsolete and not used by default on any architecture in FreeBSD.  It
>   does not support modern C and does not support arm64 or RISC-V.
>  =20
>   Thanks to everyone responsible for maintaining, updating, and testing
>   GCC in the FreeBSD base system over the years.
>  =20
>   So long, and thanks for all the fish.

Thanks to everyone who made this possible.

We're approaching the 10th anniversary of the BSD Toolchain Summit held
at BSDCan 2010[0].  We'd been foundering for most of the past three
years since GCC went GPLv3, but with Clang starting to come together
it was time to make a plan.  Looking back, we didn't do a good job of
writing down the plan, but in essence, the plan was to adopt Clang
and ELF Toolchain to replace GCC and binutils.  Today we've basically
achieved that goal.

Along the way we've added support for external toolchains and in
addition to building most architectures with an integrated Clang and
LLD (powerpc32 and mips await LLVM 10.0.0 which is in progress) we
build most architectures against GCC 6 or 8 and will be migrating to GCC
9 soon.

This has been a massive effort involving too many to name and I know I'm
missing many major contributors, but I'd like to call out a few people's
contributions:
   - Roman Divacky's initial work on ClangBSD got use bootstrapped.
   - Dimitry Andric has maintained our LLVM integration for many years.
   - Ed Maste has maintained our ELF toolchain integration and put in a
     lot of work to push us over the finish line.
   - Warner Losh for sitting down and drafting a final schedule for
     GCC removal (and not to incidentally sparc64, the last poorly
     supported architecture).

For all that this has been a huge effort, moving early and aggressively
has brought us benefits.  We remain one of (if not *the*) best supported
open source operating systems when using LLVM.  This is enormously
advantageous in the research world where LLVM is the research compiler
of choice.  In the DARPA SSITH program where I'm working three of five
teams are using FreeBSD specifically due to our LLVM support.  Further,
our collaboration with Arm to bring CHERI[1] to ARMv8-A in the form of
the Morello prototype[2] would have been much harder if not impossible
without a permissively licensed operating system and toolchain.

-- Brooks

[0] https://wiki.freebsd.org/201005ToolchainSummit
[1] http://cheri-cpu.org
[2] https://www.cl.cam.ac.uk/research/security/ctsrd/cheri/cheri-morello.ht=
ml

--vkogqOf2sHV7VnPd
Content-Type: application/pgp-signature; name="signature.asc"

-----BEGIN PGP SIGNATURE-----

iQEcBAEBAgAGBQJeWtZRAAoJEKzQXbSebgfAS70H/2FUDttipv8Tkwid9RvO4G8m
AO55HoGXIHePqQVm5veKRSBlJD/9zYHYbsVch6giouqLtgq4ZRAmOq/sGifchYIK
+xwHpwoiTuLGEEuwt5I187wb7jXH05IIUJZfvTXtv7kSawP07Wqo90HAs7HU3ykb
Sr6JjTuXz6uDbHoDZasAP8Osy4A1U0i3Qz75Olmk7DNKDZomdoUIpr4C3AziIqx/
S3UEjTjqFSJyLroG/AI0anM+eJzqOROpANFHo7iyRSvxQfyKa3VFuVLWyfbzeWaa
p7ntsiTD4yVVlinODovDH9Git0P0bAqVY22cFxhsnNPTZRZtoGZeMumVq0LY4Rs=
=PrHf
-----END PGP SIGNATURE-----

--vkogqOf2sHV7VnPd--



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