Date: Wed, 2 Nov 2016 16:45:38 +0000 From: Brooks Davis <brooks@freebsd.org> To: Jonathan Anderson <jonathan@FreeBSD.org> Cc: Dimitry Andric <dim@FreeBSD.org>, src-committers <src-committers@freebsd.org>, svn-src-all@freebsd.org, svn-src-head@freebsd.org, Ed Maste <emaste@freebsd.org> Subject: Re: svn commit: r308181 - in head: . share/mk Message-ID: <20161102164538.GA83465@spindle.one-eyed-alien.net> In-Reply-To: <69A64340-FE51-4AF0-9905-B46220D041E9@FreeBSD.org> References: <201611012127.uA1LRg0B045900@repo.freebsd.org> <46715A69-03C5-404F-B133-C8FE89D59A9B@FreeBSD.org> <69A64340-FE51-4AF0-9905-B46220D041E9@FreeBSD.org>
next in thread | previous in thread | raw e-mail | index | archive | help
--/9DWx/yDrRhgMJTb Content-Type: text/plain; charset=us-ascii Content-Disposition: inline Content-Transfer-Encoding: quoted-printable On Wed, Nov 02, 2016 at 04:55:22AM -0230, Jonathan Anderson wrote: > Hi, >=20 > On 1 Nov 2016, at 21:10, Dimitry Andric wrote: >=20 > > Please note, I reverted r307823 (which changed the suffixes from .bco > > and .llo to .bc and .ll) in r308003, since it caused a number of ports > > failures. These ports were already using .ll as a suffix for C++ lex > > scripts. >=20 > The changes to bsd.suffixes-posix.mk (included by sys.mk) would have affe= cted anything compiled with bmake, and indeed, I'd imagine that adding a .c= ->.ll rule alongside .c->.o could cause problems with C++ lex rules. In fac= t, part of brooks' original motivation for introducing .llo suffixes was to= avoid name conflicts (although conflicts with program IR like we're introd= ucing in this commit). The changes in this commit should only be picked up = by things that explicit include bsd.{lib,prog}.mk, however, and they also h= ave slightly more esoteric names (e.g., progname.full.ll) that are less lik= ely to cause a conflict. Perhaps I ought to have done an exp-run, but I sus= pect that this commit will cause much less / no fallout. I don't suppose yo= u have a list of the ports that failed after your r307823 change so that I = could do spot checks? As a bit of background, the original motivation for the .bco and .llo files what that I wanted to differentiate between IR files produced from single translation units (.c files) and IR files produced by llvm-link so I didn't have to worry about things like name space collisions in the case of transitions like: clang llvm-link opt ld (prog.c, utils.c) =3D> (prog.llo, util.llo) =3D> prog.ll =3D> prog.o =3D> p= rog Part of the fun is that you might instead want: clang opt ld (prog.c, utils.c) =3D> (prog.llo, util.llo) =3D> (prog.o, util.o) =3D> prog and for extra fun you might insert instrumentation at any IR stage so yet more suffixes may be required if your tools don't fit neatly into clang, opt, etc plugins. Make is lousy at this stuff so a certain about of ugliness is likely to remain required. -- Brooks --/9DWx/yDrRhgMJTb Content-Type: application/pgp-signature; name="signature.asc" -----BEGIN PGP SIGNATURE----- iQEcBAEBAgAGBQJYGhgyAAoJEKzQXbSebgfAHToH/A0zptfJES+9bRZRLrUEJjpR tEsoFE4v/xJPb1iz7LGKB327NX1nM7sFSalHcnFOy++5o9gAUzEmhQMHWx6dWyo2 HzOhIGySxhUqvieG1o8Yj01E9ObyhpBBPXGAeA1G4kWRlO2wi5Ze7ZwdmJPP0Cel aNsBo0p2O0coT+qhbphs0GbQH112zsErvFdfSgjgz5HnACaXl5mr85rDxCYXxKye nbWka0+HsFMMUxmeQWBoj5/jgrPI0H8sV86Wf7TZklijPvROa+r5HCI9kFzu+Xe6 gNc94FJDYOH8K1qwKATzCDFYvSJnvN7J2umBRxygNtECIA9DWrx1bSXcK8VPY9M= =VM2J -----END PGP SIGNATURE----- --/9DWx/yDrRhgMJTb--
Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?20161102164538.GA83465>