From owner-freebsd-current@FreeBSD.ORG Fri Nov 2 16:23:50 2012 Return-Path: Delivered-To: freebsd-current@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [69.147.83.52]) by hub.freebsd.org (Postfix) with ESMTP id 20CE33FF; Fri, 2 Nov 2012 16:23:50 +0000 (UTC) (envelope-from brooks@lor.one-eyed-alien.net) Received: from lor.one-eyed-alien.net (lor.one-eyed-alien.net [69.66.77.232]) by mx1.freebsd.org (Postfix) with ESMTP id 35AD78FC0A; Fri, 2 Nov 2012 16:23:48 +0000 (UTC) Received: from lor.one-eyed-alien.net (localhost [127.0.0.1]) by lor.one-eyed-alien.net (8.14.5/8.14.5) with ESMTP id qA2GNlbq092583; Fri, 2 Nov 2012 11:23:47 -0500 (CDT) (envelope-from brooks@lor.one-eyed-alien.net) Received: (from brooks@localhost) by lor.one-eyed-alien.net (8.14.5/8.14.5/Submit) id qA2GNlTM092582; Fri, 2 Nov 2012 11:23:47 -0500 (CDT) (envelope-from brooks) Date: Fri, 2 Nov 2012 11:23:47 -0500 From: Brooks Davis To: Roman Divacky Subject: Re: November 5th is Clang-Day Message-ID: <20121102162347.GC92218@lor.one-eyed-alien.net> References: <20121102032945.GF65074@lor.one-eyed-alien.net> <20121102153050.GA44876@freebsd.org> MIME-Version: 1.0 Content-Type: multipart/signed; micalg=pgp-sha1; protocol="application/pgp-signature"; boundary="+nBD6E3TurpgldQp" Content-Disposition: inline In-Reply-To: <20121102153050.GA44876@freebsd.org> User-Agent: Mutt/1.5.21 (2010-09-15) Cc: freebsd-current@freebsd.org X-BeenThere: freebsd-current@freebsd.org X-Mailman-Version: 2.1.14 Precedence: list List-Id: Discussions about the use of FreeBSD-current List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Fri, 02 Nov 2012 16:23:50 -0000 --+nBD6E3TurpgldQp Content-Type: text/plain; charset=us-ascii Content-Disposition: inline Content-Transfer-Encoding: quoted-printable On Fri, Nov 02, 2012 at 04:30:50PM +0100, Roman Divacky wrote: > Nice :) >=20 > Does this deserve mentioning in UPDATING and/or version bump? It certainly does deserve mention in UPDATING. A version bump is probably useful if we end up wanting to make USE_GCC=3Dany the default post the switch so I will do both. -- Brooks >=20 > On Thu, Nov 01, 2012 at 10:29:45PM -0500, Brooks Davis wrote: > > On Monday, November 5th I plan to commit the following patch to make > > clang the default compiler on i386 and amd64. Many people have worked > > long and hard to make this a reality and we're finally close enough to > > throw the switch. For many users the transition should be transparent. > > Others will likely hit some bumps, but I think we've addresses most > > major issues at this point and the LLVM community has demonstrated it's > > ability and willingness to help given actionable bug reports. > >=20 > > Known Issues > > - Not all ports compile with clang. This can be worked around in > > individual ports by setting USE_GCC=3Dany which will cause the base = gcc > > to be used. Depending how things shake out we may end up making > > USE_GCC=3Dany the default for a period. [0] > > - Not all libm tests pass. More work by subject matter experts is > > required to create tests cases for LLVM developers. Most problems a= re > > not expected to be major in practice given that LLVM is being used f= or > > scientific computing in a number of products including Cray's FORTRAN > > compiler, most OpenCL compilers, and the Julia language. > > - Small but noticeable slowdown in some benchmarks. For example > > sysbench against mysql was found to run about 1% slower on top of a > > clang compiled world+kernel. http://people.freebsd.org/~flo/perf.pdf > >=20 > > Known Non-Issues > > - "make buildenv" works fine with clang. > >=20 > > -- Brooks > >=20 > > [0] Work is underway to switch to building ports with a ports specific > > compiler version. Likely this will be gcc-4.6 initially. This would > > help insulate ports from the base compiler. That being said, there are > > significant advantages to getting as many ports as possible to build > > with clang. Among other things, cross building for embedded systems is > > much easier with clang. > >=20 > >=20 > > Index: share/mk/bsd.own.mk > > =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D > > --- share/mk/bsd.own.mk (revision 242464) > > +++ share/mk/bsd.own.mk (working copy) > > @@ -426,7 +426,6 @@ > > BIND_XML \ > > BSDCONFIG \ > > CLANG_EXTRAS \ > > - CLANG_IS_CC \ > > CTF \ > > HESIOD \ > > ICONV \ > > @@ -455,6 +454,12 @@ > > .else > > __DEFAULT_NO_OPTIONS+=3DCLANG > > .endif > > +# Clang the default system compiler only on x86. > > +.if ${__T} =3D=3D "amd64" || ${__T} =3D=3D "i386" > > +__DEFAULT_YES_OPTIONS+=3DCLANG_IS_CC > > +.else > > +__DEFAULT_NO_OPTIONS+=3DCLANG_IS_CC > > +.endif > > # FDT is needed only for arm, mips and powerpc > > .if ${__T:Marm*} || ${__T:Mpowerpc*} || ${__T:Mmips*} > > __DEFAULT_YES_OPTIONS+=3DFDT >=20 >=20 --+nBD6E3TurpgldQp Content-Type: application/pgp-signature -----BEGIN PGP SIGNATURE----- Version: GnuPG v1.4.11 (FreeBSD) iD8DBQFQk/OSXY6L6fI4GtQRAsLPAJ4i4fG8bQESblWJfZ6tGYwO2/untACffgx+ X6QQXUSnx5N7GMFq7JyvAAw= =vFKc -----END PGP SIGNATURE----- --+nBD6E3TurpgldQp--