Skip site navigation (1)Skip section navigation (2)
Date:      Thu, 18 Dec 2014 07:21:41 -0700
From:      Warner Losh <imp@bsdimp.com>
To:        Dimitry Andric <dim@freebsd.org>
Cc:        FreeBSD ARM <freebsd-arm@freebsd.org>, FreeBSD-Current <freebsd-current@freebsd.org>, FreeBSD ports <freebsd-ports@freebsd.org>, NGie Cooper <yaneurabeya@gmail.com>
Subject:   Re: RFT: Please help testing the llvm/clang 3.5.0 import
Message-ID:  <A8483B90-1D9D-4D3F-952A-8FA467847745@bsdimp.com>
In-Reply-To: <D9C5A8D1-2158-4B37-9C9C-067A4DDE6E44@FreeBSD.org>
References:  <8598B1D4-5485-426F-B6D6-22BF26AC5FE1@FreeBSD.org> <CAGHfRMBPkQiTgW0Eahkoe1QwArBst-BZ-Lawor_CDda1x8K9xg@mail.gmail.com> <D9C5A8D1-2158-4B37-9C9C-067A4DDE6E44@FreeBSD.org>

index | next in thread | previous in thread | raw e-mail

[-- Attachment #1 --]

> On Dec 18, 2014, at 6:02 AM, Dimitry Andric <dim@freebsd.org> wrote:
> 
> On 18 Dec 2014, at 02:17, NGie Cooper <yaneurabeya@gmail.com> wrote:
>> 
>> On Fri, Nov 28, 2014 at 1:03 PM, Dimitry Andric <dim@freebsd.org> wrote:
> ...
>>   As a request to speed up the build process further,
>>   - Would it be [easily] possible in the clang35 branch to bootstrap
>> the compiler for a specific architecture? The bootstrap / cross
>> compiler for instance always builds N targets instead of building just
>> the desired TARGET/TARGET_ARCH combo.
> 
> It's not very easy, at least not without breaking various parts of our
> fragile build system, but I surely want to put something like this on
> the TODO list for *after* the import has completed.
> 
> The branch is making progress right now, and I would not want to
> complicate matters further by introducing yet another tricky feature. :)

The build system isn’t so much the issue, but you wind up with
files that refer to all the architectures.

But this is  a request for a new feature, not quite in scope for a compiler
upgrade.

>>   - Could a "MK_CLANG_ALL_TARGETS" or something similar option be
>> added to src.opts.mk to fine tune this process for those of us who
>> don't want to build a cross-compile toolchain every iteration for our
>> target MACHINE/MACHINE_ARCH?
> 
> I would be fine with something like this, as long as it is turned off by
> default, or if it is only used for the bootstrap stages.  It is actually
> an extremely useful feature of clang that you can target multiple
> architectures with one compiler binary.

This is a new feature. Various people have tried in the past to implement
it and compiling just the mips files on mips is straight forward. However,
convincing clang to not reference the other architectures requires more
sophistication than we currently have in the clang build process.

> A more interesting case would be to remodel the build system so it can
> use one toolchain (external, or pkg-ng'd, maybe?) for building an entire
> universe.  With clang, that should be relatively easy to do.

Another useful new feature. The hard part with this is getting all the fiddly
bits in the tree that depend on default CC producing proper binaries to
cooperate.. Doable, but that’s a lot of universe builds. And today it isn’t
very practical because sparc64 and mips are broken...

Warner

[-- Attachment #2 --]
-----BEGIN PGP SIGNATURE-----
Comment: GPGTools - https://gpgtools.org

iQIcBAEBCgAGBQJUkuL1AAoJEGwc0Sh9sBEAjZ8QAI6iBNKPSQmhd9pG/LFGfztN
cnlt5SdJgHCYuVqncB0/R7yIQiU2xm+kjXemXbd08lUqiXhcxdUQAeusNgVkw3pF
BR0kviv0qmWjbtdBkWRjVKbGdfGkk7lJZhKrFzSxEJNrL4/7cm3pvf4jGgX0UNl0
JiL7CQNl5tmeQMsKcy09SzI9MNXFxbhHiKD5majqgx4sFsguqNzZRwnh78Cez8GM
CMgVkRfGEY0FG49a+2iUDbq1/J7+tMTew8HpE5wgMsXlnYwi4jjTeZnpnoaq4IEa
u4kIedMMbNoGyUTuM5wWN7XUe4RtOWqbye6ZEdtIn7LIPQFkWXU0Wj2nCxjsiMYt
Kn+HJRhM2IaJA3RkYJW9o49Ek7841ZbG0zkUBFsRIM0UZstItZnUbUmHBqXG1pcB
JSOj+k/Obrn1aXa7va4XQidNwtGi03EHuDJTTk7KqpAwiHb4aqFmPTXzKpKNR37G
DZLQKZ32OWAqyr80pKrn33jj9mzq7CYAU8c6SvOWUkL2+W5dn5b5P7evvzmrglsX
noRNiiHmRJiDdn1HJemUVWyLlTyHbgm1DtMu/Dc/k40a3pRAv2kAYVNcZ0HpcyP3
sPKI3zeariL5x+bssleP0lUyJNKZcsyr1F9BlLhO2u+hOFbmjHucQgqekuQ/UOpv
/teGdffq8+qwuBVpJCFO
=7moE
-----END PGP SIGNATURE-----
help

Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?A8483B90-1D9D-4D3F-952A-8FA467847745>