RFT: Please help testing the llvm/clang 3.5.0 import

Warner Losh imp at bsdimp.com
Thu Dec 18 14:49:24 UTC 2014


> On Dec 18, 2014, at 6:02 AM, Dimitry Andric <dim at freebsd.org> wrote:
> 
> On 18 Dec 2014, at 02:17, NGie Cooper <yaneurabeya at gmail.com> wrote:
>> 
>> On Fri, Nov 28, 2014 at 1:03 PM, Dimitry Andric <dim at 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
-------------- next part --------------
A non-text attachment was scrubbed...
Name: signature.asc
Type: application/pgp-signature
Size: 842 bytes
Desc: Message signed with OpenPGP using GPGMail
URL: <http://lists.freebsd.org/pipermail/freebsd-current/attachments/20141218/4e8c7de6/attachment.sig>


More information about the freebsd-current mailing list