Skip site navigation (1)Skip section navigation (2)
Date:      Fri, 4 Apr 2014 13:55:50 +0100
From:      David Chisnall <theraven@FreeBSD.org>
To:        Jordan Hubbard <jkh@ixsystems.com>
Cc:        svn-src-head@freebsd.org, Baptiste Daroussin <bapt@FreeBSD.org>, src-committers@freebsd.org, svn-src-all@freebsd.org
Subject:   Re: svn commit: r264042 - in head: include lib/libc/gen lib/libc/include lib/libc/stdlib
Message-ID:  <152D73EE-DF9E-4757-B547-F1F22B12C824@FreeBSD.org>
In-Reply-To: <6A02504F-5543-4F91-92F6-7B4FB9A34DC4@ixsystems.com>
References:  <201404021607.s32G7mhw051355@svn.freebsd.org> <20140404115256.GA85137@ivaldir.etoilebsd.net> <F2A33EA8-14F2-4D62-9021-9023A1751E48@FreeBSD.org> <8D6AF193-A5A3-4A28-A230-97A543395ACA@ixsystems.com> <2E0EC8CB-B3EE-4DB8-A33D-58FD2107F14D@FreeBSD.org> <6A02504F-5543-4F91-92F6-7B4FB9A34DC4@ixsystems.com>

next in thread | previous in thread | raw e-mail | index | archive | help
On 4 Apr 2014, at 13:44, Jordan Hubbard <jkh@ixsystems.com> wrote:

> On Apr 4, 2014, at 5:33 PM, David Chisnall <theraven@FreeBSD.org> =
wrote:
>=20
>> The slight problem, however, is that we would still like to be able =
to build the base system with a more or less standard C compiler.  =
Blocks are in clang and are slowly making their way into commercial =
compilers, but the only two versions of gcc that support them are the =
ones shipped by Apple and FreeBSD. =20
>=20
> Huh.  Can I ask what specific need is driving that?  As you point out, =
you=92ve got clang and you=92ve also got the blocks support from Apple =
gcc back-ported, so that covers all the architectures you could possibly =
want to generate code for.  Wanting to hold base to some retro K&R =
standard for its own sake seems=85 weird=85 so I must be missing some =
part of the need statement, hence my question?

There are two requirements:

We'd like to kill off gcc 4.2.1 in base, because it doesn't support C11 =
or C++11. The lack of C++11 support is a problem because it means gcc =
architectures can't build libc++, so they need to use an old libstdc++ =
to build C++ things in the base system (which also means that these =
things can't take advantage of C++11, which cleans up the language a =
huge amount).  The prerequisite for this is the availability of external =
toolchains for the non-clang platforms.  If we could build base with =
gcc47 from ports, that would be okay, because then we'd have a modern =
C/C++ compiler in the base system and a modern(ish - 4.8 / 4.9 would be =
better, but 4.7 is a reasonable baseline) C/C++ compiler in ports to =
drive an external toolchain.

For embedded uses, we'd also like to build FreeBSD with =
vendor's-ugly-hacked-up-gcc-of-the-week.  This is less of an issue now =
for ARM, but MIPS vendors still hack up gcc in such a way that there's =
no way that they can get their changes upstreamed and then ship the =
result with their chips.

David




Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?152D73EE-DF9E-4757-B547-F1F22B12C824>