patch to add AES intrinsics to gcc
Warner Losh
imp at bsdimp.com
Fri Aug 23 13:50:46 UTC 2013
On Aug 23, 2013, at 5:06 AM, David Chisnall wrote:
> On 23 Aug 2013, at 11:42, Julian Elischer <julian at freebsd.org> wrote:
>
>> 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.
>
> 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=yes in your src.conf.
>
> 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.
>
> 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:
>
> - Maintain our forks of both gcc and libstdc++
> - Handle every single PR that is filed by people using these
>
> 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
More information about the freebsd-current
mailing list