[LLVMdev] Targeting ARM Cortex-a9 from x86_64 with clang

Alp Toker alp at nuanti.com
Wed Nov 27 18:36:15 PST 2013


On 27/11/2013 10:00, David Chisnall wrote:
> On 26 Nov 2013, at 19:10, Joerg Sonnenberger <joerg at britannica.bec.de> wrote:
>
>> On Tue, Nov 26, 2013 at 12:40:17PM -0500, Sean Silva wrote:
>>> Well, just remember that the GNU binutils that those tools are derived from
>>> support far more architectures (3x, 5x?) than LLVM does (just supporting
>>> linux requires like 30 architectures). When we get to that point, it will
>>> probably not make sense for a distro to ship a binary targeting all the
>>> architectures that we support, for the same reason it doesn't make sense
>>> for them to install binaries for every target supported by the GNU
>>> toolchain.
>> I know that FreeBSD limits the set of targets by default mostly for
>> compile reasons, the size difference is not that big. The trade off is
>> *much* better with LLVM.
> We only do it, I believe, for the bootstrap build.  When you build FreeBSD, you first build the toolchain that you'll build the system with (from the source tree that you're going to build, for the host arch), then you build the tree with that toolchain (for whatever your target arch is).  Given how much of the total build time LLVM / Clang accounts for, building it twice caused a lot of irritating.  We quite aggressively stripped down the bootstrap build, so that it only supports the specified target (unless requested otherwise), doesn't include the Clang rewriter, the static analyser, and a few other things.  Removing the JIT would probably also make sense.

Since you're on the topic and this thread has already gone off on a 
tangent..

While investigating vendor patches on various third party LLVM branches, 
I noticed FreeBSD also strips out the entire LLVM and clang test suites 
from the repository.

As a result, some of the platform-specific changes and cherry-picks from 
upstream don't appear to have obvious tests despite being a little 
invasive. Are the related tests hiding away in a surrogate repository 
somewhere or is it more of a "compiles, then ship it" policy?

(Not intended as a criticism, rather that I've been trying to understand 
how external projects are consuming clang so we might accommodate them 
better upstream, eg. by providing a streamlined boostrap configuration.)

Alp.


>
> David
>
>
> _______________________________________________
> LLVM Developers mailing list
> LLVMdev at cs.uiuc.edu         http://llvm.cs.uiuc.edu
> http://lists.cs.uiuc.edu/mailman/listinfo/llvmdev

-- 
http://www.nuanti.com
the browser experts




More information about the llvm-dev mailing list