From owner-freebsd-arch@freebsd.org Fri Jun 1 22:29:17 2018 Return-Path: Delivered-To: freebsd-arch@mailman.ysv.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mailman.ysv.freebsd.org (Postfix) with ESMTP id C1CFDFD5A1B for ; Fri, 1 Jun 2018 22:29:17 +0000 (UTC) (envelope-from brooks@spindle.one-eyed-alien.net) Received: from spindle.one-eyed-alien.net (spindle.one-eyed-alien.net [199.48.129.229]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (Client did not present a certificate) by mx1.freebsd.org (Postfix) with ESMTPS id 546D177C77; Fri, 1 Jun 2018 22:29:17 +0000 (UTC) (envelope-from brooks@spindle.one-eyed-alien.net) Received: by spindle.one-eyed-alien.net (Postfix, from userid 3001) id C605E5A9F12; Fri, 1 Jun 2018 22:29:14 +0000 (UTC) Date: Fri, 1 Jun 2018 22:29:14 +0000 From: Brooks Davis To: Sean Bruno Cc: freebsd-arch Subject: Re: Building and Iterating Message-ID: <20180601222914.GE29648@spindle.one-eyed-alien.net> References: <20180601201221.GC29648@spindle.one-eyed-alien.net> <43b75e30-70af-e98d-7d9f-8fccaf3dcbba@freebsd.org> MIME-Version: 1.0 Content-Type: multipart/signed; micalg=pgp-sha1; protocol="application/pgp-signature"; boundary="5p8PegU4iirBW1oA" Content-Disposition: inline In-Reply-To: <43b75e30-70af-e98d-7d9f-8fccaf3dcbba@freebsd.org> User-Agent: Mutt/1.9.4 (2018-02-28) X-BeenThere: freebsd-arch@freebsd.org X-Mailman-Version: 2.1.26 Precedence: list List-Id: Discussion related to FreeBSD architecture List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Fri, 01 Jun 2018 22:29:17 -0000 --5p8PegU4iirBW1oA Content-Type: text/plain; charset=us-ascii Content-Disposition: inline Content-Transfer-Encoding: quoted-printable On Fri, Jun 01, 2018 at 04:11:06PM -0600, Sean Bruno wrote: >=20 >=20 > On 06/01/18 14:12, Brooks Davis wrote: > > On Fri, Jun 01, 2018 at 11:20:22AM -0600, Sean Bruno wrote: > >> 3. If the boostrap toolchain needs to be built in the normal case, on= ly > >> target the ARCH being requested. I understand that we "want" a CC > >> installed that targets all architectures and this is something I agree= with. > >=20 > > The LLVM backends are a tiny part of the LLVM build both in terms > > of number of files and compile complexity. Removing them would > > require quite a bit of work (and ongoing maintenance) for a negliable > > improvement. >=20 > Can you educate me on why its so hard to maintain this part of our > tools? I'm ignorant here and haven't looked to deeply into the abyss > whereas you have been swimming in the darkness. Because upstream makes absolutely no provision for this. In our case we do maintain the build infrastructure which would help a bit (since we wouldn't be maintaining diffs to CMakeFiles), but it won't help at all with the fact that any code can assume that all backends are there and the constants associated with there are defined. I'm not sure how big that part is, but we'd certainly have some divergence to maintain. IIRC the backends are <5% of LLVM compile time. IMO, the best way to avoid building LLVM as a bootstrap tool is to use xtoolchain ports. For i386 and amd64 I mostly use CROSS_TOOLCHAIN=3Dllvm60 (having installed xtoolchain-llvm60). I think there is still work to be done to make all of this more friendly (e.g. I'd love an xtoolchain-universe12 metaport and a simple way to use it.) -- Brooks --5p8PegU4iirBW1oA Content-Type: application/pgp-signature; name="signature.asc" -----BEGIN PGP SIGNATURE----- iQEcBAEBAgAGBQJbEci6AAoJEKzQXbSebgfApHoH/iIpnOSS/o/q3GCGagy3C9ug sUsFXmbVxzJlpADWSUXjj02b4wV6bFcZWJg/0G5DMPtXTXtp4EjR2jl1sKCBmPDY CxWYIZPq9TdAhEeJcS1ZZBczCllXMyQC98/adeKS2MSmiVj+JO6ZgZy+fdWv4pVp l5/m2EmmkOgIeX5w53PMRK+ZKJ0Ukgb6k7FZrzGQry996AohdjA98Z4zV78n8uFs KPE9Pg4pbYtAw/7Wbet4QkuozZRbUbDDseQQqg0VBmDQnY4FxkBGHfURf0JvFQ7P FTcPTdoodIYOQs9TOK3u+QhAOFhAtkIw+ah2cDyQWQpLlz1wOCc4nEstBZthdgI= =sg3Q -----END PGP SIGNATURE----- --5p8PegU4iirBW1oA--