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>