Skip site navigation (1)Skip section navigation (2)
Date:      Fri, 23 Aug 2013 07:50:38 -0600
From:      Warner Losh <imp@bsdimp.com>
To:        David Chisnall <theraven@FreeBSD.org>
Cc:        toolchain@FreeBSD.org, John-Mark Gurney <jmg@funkthat.com>, Julian Elischer <julian@FreeBSD.org>, current@FreeBSD.org, "re@FreeBSD.org Engineering Team" <re@FreeBSD.org>
Subject:   Re: patch to add AES intrinsics to gcc
Message-ID:  <9D48CB3D-E3FE-4189-9A6E-FE441C6854AB@bsdimp.com>
In-Reply-To: <D879DDDA-EF9D-470A-A82E-04E83DB2A7E4@FreeBSD.org>
References:  <20130822200902.GG94127@funkthat.com> <105E26EE-8471-49D3-AB57-FBE2779CF8D0@FreeBSD.org> <CAE-m3X324rbdP_C=az4eO-EkMcR-yFAeRG7S4q%2BMUsnMezGddw@mail.gmail.com> <5CE4B5FA-9DA0-45E4-8D67-161E0829FE6B@FreeBSD.org> <52173C8D.20608@freebsd.org> <D879DDDA-EF9D-470A-A82E-04E83DB2A7E4@FreeBSD.org>

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

On Aug 23, 2013, at 5:06 AM, David Chisnall wrote:

> On 23 Aug 2013, at 11:42, Julian Elischer <julian@freebsd.org> wrote:
>=20
>> no, I believe we have said that 10 would ship with clang by default. =
NO mention was made about gcc being absent, and I am uncomfortable with =
taking that step yet. Having gcc just present, will not hurt you..  even =
after it is gone we will  need to support those who will be replacing =
clang with newer versions of gcc in hteir own products.
>=20
> The plan is not to delete gcc from the tree, it is to disable building =
gcc by default when clang is the system compiler.  If you are building =
products then you are perfectly at liberty to set WITH_GCC=3Dyes in your =
src.conf.
>=20
> Our gcc is from 2007.  It has no C11, no C++11 support.  It has bugs =
in its atomic generation so you can't use it sensibly without lots of =
inline assembly (which it doesn't support for newer architectures) for =
multithreaded things.
>=20
> Our libstdc++ is ancient and doesn't work with modern C++ codebases.  =
Putting them in the base system means that people will use them.  If =
anyone wants them to remain, then speak now and this will be taken as =
your volunteering to:
>=20
> - Maintain our forks of both gcc and libstdc++
> - Handle every single PR that is filed by people using these
>=20
> If you are willing to do this, then that's great.  If not, then you =
are asking other people to support ancient codebases that they are not =
using.

Well, it isn't quite that cut and dried.

The date that gcc is from is not relevant. It works today for most of =
the code out there. True, it doesn't have the latest features that a =
small fraction of the code needs, but it works well enough. And it also =
needs to be there for some upgrade paths. There's a use for gcc, and it =
will likely be needed for these paths. As such, it has to work. Doesn't =
matter if it is built by default or not, it simply has to keep working =
as well as it has been working for the past 5 years to fill these roles. =
For these tasks the nice C++ things simply don't matter or aren't =
relevant. c11 features can't be put into the base for some time still =
because of the issues on other architectures.

We *HAVE* to have gcc on the other architectures. clang simply isn't =
ready for MIPS, and has several outstanding problems on ARM. While work =
is ongoing in these areas, clang simply won't be in as good a shape for =
!x86 as it is for x86 in the 10.0 time frame.

So even if gcc is turned off by default in 10 on x86, it still has to =
work at least well enough to build the system and bootstrap clang. =
Turning it off by default or on by default doesn't change this, and the =
feature set that is used in 10 will basically be frozen soon, and the =
non-x86 architectures will require the MI parts continue to work. I =
don't see much decay that can happen in the x86MD parts that would break =
it...

Warner=



Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?9D48CB3D-E3FE-4189-9A6E-FE441C6854AB>