[OE-core] Exploring LLVM/Clang for OE

Muhammad Tauqir Ahmad mian.muhammad.tauqir.ahmad at gmail.com
Wed Dec 4 16:31:40 UTC 2013


Updates:
- I am able to compile most of the packages using clang except the
kernel, gcc and a few others. The ones that don't compile are
mentioned in the README.md in the github repositories listed below.
- The busybox still doesn't seem to be compiling correctly even with
the patch (although it does successfully compile) because the
clang-built busybox causes a kernel panic.
- elfutils is failing to build with clang despite the few patches that I added.

TODO:
- Need to add the set of patches to the kernel to compile it using clang.
- Investigate compiling the failing packages using clang.
- Investigate busybox runtime failure when built with clang

Any help with any of these TODOs would be helpful.

I am hosting my work on my github account in these two repositories:

https://github.com/mtahmed/poky-clang
https://github.com/mtahmed/meta-tc-llvm

The first is upstream poky clone with additional patches to allow it
to compile using clang.
The second is a secondary toolchain layer that allows llvm to be used
for the secondary toolchain.

Muhammad Tauqir Ahmad
--------------------------------------
Software Developer Intern at WindRiver Systems
Candidate for Honours Computer Science
Combinatorics and Optimizations Minor
University of Waterloo


On Mon, Nov 18, 2013 at 8:35 AM, Muhammad Tauqir Ahmad
<mian.muhammad.tauqir.ahmad at gmail.com> wrote:
> On Sun, Nov 17, 2013 at 12:39 PM, Behan Webster <behanw at gmail.com> wrote:
>> On 11/13/13 06:47, Randy MacLeod wrote:
>>> On Tue, Nov 12, 2013 at 8:47 PM, Muhammad Tauqir Ahmad
>>> <mian.muhammad.tauqir.ahmad at gmail.com> wrote:
>>>> According to the link below [1], it seems some works has been done at
>>>> least for llvm+clang bitbake recipes, although I couldn't find any
>>>> clang recipes when searching the net. If anyone can point me in the
>>>> right direction for finding these recipes, that would be great.
>>>>
>>>> [1]: http://lists.linuxfoundation.org/pipermail/llvmlinux/2013-March/000205.html
>>>
>>> That would be Behan's work, adding him here.
>>>
>>> Behan,
>>> Are your clang recipes from, "Worked on bitbake recipes for LLVM and
>>> clang" mentioned in the March 2013 llvmlinux notes available?
>> Khem Raj's work on recipes for llvm and clang were way better than mine,
>> so I just use his now from meta-oe
>
> I only found recipes for llvm in meta-oe. Didn't find any for clang. I
> am in the process of writing one for clang and will push it to my
> github once it's clean enough.
>
>>
>>> Everyone,
>>> Where should Muhammad stage his work and is there an example of using
>>> an alternative cross-compiler.
>> Essentially the idea right now is to provide your own do_compile() which
>> does whatever is necessary to use the other compiler. There may be a
>> better way to do it, but I haven't found it yet.
>>
>
> Currently I am exploring using the secondary toolchain method
> (http://www.openembedded.org/wiki/Adding_a_secondary_toolchain) as
> suggested by fray (Mark Hatle).
> Initially I will pre-compile a clang cross-compiler and use that as
> the secondary toolchain and hopefully get as much compiled as possible
> with the secondary llvm toolchain.
> Then I can move to using a clang recipe to build the secondary
> toolchain as well.
>
>> Behan
>>
>> --
>> Behan Webster
>> behanw at gmail.com
>>
>
> Muhammad Tauqir Ahmad
> --------------------------------------
> Software Developer Intern at WindRiver Systems
> Candidate for Honours Computer Science
> Combinatorics and Optimizations Minor
> University of Waterloo



More information about the Openembedded-core mailing list