From owner-svn-src-all@FreeBSD.ORG Fri Apr 4 12:55:59 2014 Return-Path: Delivered-To: svn-src-all@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [8.8.178.115]) (using TLSv1 with cipher ADH-AES256-SHA (256/256 bits)) (No client certificate requested) by hub.freebsd.org (Postfix) with ESMTPS id DFFB5F2F; Fri, 4 Apr 2014 12:55:59 +0000 (UTC) Received: from theravensnest.org (theraven.freebsd.your.org [216.14.102.27]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (Client CN "theravensnest.org", Issuer "theravensnest.org" (not verified)) by mx1.freebsd.org (Postfix) with ESMTPS id 8C8ACACB; Fri, 4 Apr 2014 12:55:58 +0000 (UTC) Received: from [192.168.0.100] (cpc14-cmbg15-2-0-cust307.5-4.cable.virginm.net [82.26.1.52]) (authenticated bits=0) by theravensnest.org (8.14.7/8.14.7) with ESMTP id s34CtsHR072960 (version=TLSv1/SSLv3 cipher=AES128-SHA bits=128 verify=NO); Fri, 4 Apr 2014 12:55:56 GMT (envelope-from theraven@FreeBSD.org) Content-Type: text/plain; charset=windows-1252 Mime-Version: 1.0 (Mac OS X Mail 7.2 \(1874\)) Subject: Re: svn commit: r264042 - in head: include lib/libc/gen lib/libc/include lib/libc/stdlib From: David Chisnall In-Reply-To: <6A02504F-5543-4F91-92F6-7B4FB9A34DC4@ixsystems.com> Date: Fri, 4 Apr 2014 13:55:50 +0100 Content-Transfer-Encoding: quoted-printable Message-Id: <152D73EE-DF9E-4757-B547-F1F22B12C824@FreeBSD.org> References: <201404021607.s32G7mhw051355@svn.freebsd.org> <20140404115256.GA85137@ivaldir.etoilebsd.net> <8D6AF193-A5A3-4A28-A230-97A543395ACA@ixsystems.com> <2E0EC8CB-B3EE-4DB8-A33D-58FD2107F14D@FreeBSD.org> <6A02504F-5543-4F91-92F6-7B4FB9A34DC4@ixsystems.com> To: Jordan Hubbard X-Mailer: Apple Mail (2.1874) Cc: svn-src-head@freebsd.org, Baptiste Daroussin , src-committers@freebsd.org, svn-src-all@freebsd.org X-BeenThere: svn-src-all@freebsd.org X-Mailman-Version: 2.1.17 Precedence: list List-Id: "SVN commit messages for the entire src tree \(except for " user" and " projects" \)" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Fri, 04 Apr 2014 12:56:00 -0000 On 4 Apr 2014, at 13:44, Jordan Hubbard wrote: > On Apr 4, 2014, at 5:33 PM, David Chisnall = 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