Skip site navigation (1)Skip section navigation (2)
Date:      Sat, 24 Aug 2013 11:05:15 +0100
From:      David Chisnall <theraven@freebsd.org>
To:        Warner Losh <imp@bsdimp.com>
Cc:        toolchain@freebsd.org, John-Mark Gurney <jmg@funkthat.com>, Alfred Perlstein <alfred@freebsd.org>, "re@FreeBSD.org Engineering Team" <re@freebsd.org>, current@freebsd.org
Subject:   Re: patch to add AES intrinsics to gcc
Message-ID:  <1380949A-254A-4222-BEDE-0C23E16E4F67@freebsd.org>
In-Reply-To: <86032E72-A569-4946-B4F8-26F687067B31@bsdimp.com>
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> <5217DBAB.5030607@freebsd.org> <86032E72-A569-4946-B4F8-26F687067B31@bsdimp.com>

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

--Apple-Mail=_69A682A3-CBD1-4732-B617-BCAE64BAB327
Content-Transfer-Encoding: quoted-printable
Content-Type: text/plain;
	charset=iso-8859-1

On 23 Aug 2013, at 23:37, Warner Losh <imp@bsdimp.com> wrote:

> I'd dispute the 'and surely it seems like it does' part of this. Non =
x86 architectures will continue to use gcc because clang just isn't =
ready at this time for them. Some are very close (arm), some are close =
(powerpc64, mips*), some are no where near ready, or will never be ready =
(sparc64, ia64). There's no coherent, documented plan for these absent =
gcc at the moment. There are lots of pieces there, and those pieces will =
form the basis of the solution (+handbook updates) for the removal of =
gcc in 11, but we just aren't there yet.

The plan, which has been discussed on mailing lists, on IRC, and at =
DevSummits is for tier 2 ports to depend on an external toolchain.  For =
those vendors that are not prevented from using GPLv3 compilers, this =
means that they will be able to take advantage of, for example, the =
significant improvements to the MIPS and PowerPC back ends that gcc has =
had over the last 6 years. For everyone else, it will mean installing a =
compiler from ports.

For now, tier 2 architectures will continue to build a toolchain from =
the src tree and use that.  By 11.0, gcc will be gone from the base =
system and they will be required to use something external if they are =
not supported by clang.  Brooks has been working hard on making this =
easy, and it is generally an improvement for cross-building embedded =
systems as the cross-compile toolchain is no longer rebuilt every time =
you change a file in the kernel, resulting in faster builds.  It is also =
easier to use toolchains provided by chip vendors, which is something =
that MIPS and ARM vendors have been asking for for a very long time. =20

For x86 and ARMv6/7, Clang has been the default compiler for a long time =
and gcc has been increasingly problematic (for example, our gcc does not =
support ARM EABI, which will be the default in 10.0 for ARMv6 and later, =
so if you want to build for a modern ARM chip then you need either clang =
or a more recent gcc than we ship).  Claiming that this is something =
done at the expense of non-x86 architectures is highly misleading, as =
improving ARM support is one of the driving factors behind the switch.

If you are shipping a product that relies on gcc, then for the 10.x =
timeframe, you are free to build and use the gcc from the base system, =
and the tinderboxes will prevent any non-optional components from being =
modified in such a way that they can't build with this gcc.  In the 11.x =
timeframe, architectures that aren't supported by clang will need an =
external toolchain. =20

AMD, Intel, AMD, Oracle, ARM, and MIPS are all actively contributing to =
LLVM and Clang, so the only platform that is unlikely to have an LLVM =
back end in the 11.0 timeframe is IA64, and if you really care about =
IA64 then Intel will happily sell you a compiler that does a much better =
job than GCC of targeting this architecture.

David


--Apple-Mail=_69A682A3-CBD1-4732-B617-BCAE64BAB327
Content-Transfer-Encoding: 7bit
Content-Disposition: attachment;
	filename=signature.asc
Content-Type: application/pgp-signature;
	name=signature.asc
Content-Description: Message signed with OpenPGP using GPGMail

-----BEGIN PGP SIGNATURE-----
Version: GnuPG/MacGPG2 v2.0.18 (Darwin)
Comment: GPGTools - http://gpgtools.org

iQIcBAEBAgAGBQJSGIVbAAoJEKx65DEEsqId0egQAMvbN7D098fi3SlVoIPiiQFA
28ZZuzTOTFqN/Oa8J91TmpQXBCF08D5S0zVYU1lTCzdvb8YpL++uTCvcaa3C5/19
xsSX0Z67JPq72PTIt3uWAjzDbYWAkZI8KugCQAxhlrI+eYFQ4MvqUPT084+FlzN6
3pRZ00npFz51DSME2/kJoTu50QkdAhACij1bcNcndGRns4Z0HgbNPGuIJnx0/Ix8
3ZuxiCOCrtvWCHQfrJWA51vroY+z6vHKpylX+IvFqyI6XJNI4lIViGD0r1fikkq7
DD33jL3qC7Yc6cJchJfmd8iURWJOztNn1rydukoFjXR86kmja4ekeG9JxIGiQidQ
uGE4VPtTltUwv7d1UI+XTEQSLi02hqoVbW6oUHVp30Kw5uGaRKt9H9xtIz+3U+l9
gRiSBd8fxn2yhpqHTsGsQ2p5EYpKP0TOEIeWCmuA51V/dciUEwRG3dMF6goXoM42
yjoeWd9m234YDFRq1HPr/0RzuTMXb8YN3S+2IpBXOL8PRXZk6RyR0P8AncH62Bgs
ld4P0Z5DkJ1R0DgnR4AYZAp04rfSWiCmVdvKXp+YFTlNfn484WVWKOUlQZCizCsb
TDAVg4cEkV4bwsZguCmgwahyJ5LDxiLBZ3Ouph6dOSYK4TThtNhdYR3pAzIofSLV
o+2fKlJOcZeiCK6CmDFt
=09Fb
-----END PGP SIGNATURE-----

--Apple-Mail=_69A682A3-CBD1-4732-B617-BCAE64BAB327--



Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?1380949A-254A-4222-BEDE-0C23E16E4F67>