[Buildroot] [PATCH v2 00/12] Add the support for Clang cross-compiler

Romain Naour romain.naour at gmail.com
Mon Sep 14 19:53:16 UTC 2020


Hi Arnout,

Le 29/08/2020 à 20:53, Arnout Vandecappelle a écrit :
>  Hi Romain,
> 
>  After almost a year, let's try to make some progress on this series :-)
> 
> On 07/09/2019 11:40, Romain Naour wrote:
> [snip]
>> Recently, I've tried to build an aarch64 Linux kernel (5.2.7) with
>> Clang and it worked under Qemu [3]. I also tested for x86_64 but we need
>> the upcomming llvm/clang version 9 to build the kernel [4].
> 
>  Since we waited long enough, this is now in Buildroot :-)

We are in late about llvm version, the version 11 should be released anytime soon.

> 
>> This new version add the support of "asm-goto" which was the last
>> missing part to be able to build the Linux kernel on x86_64 [5].
>> But for theses tests, only the kernel was built with Clang.
>>
>> While testing the x86_64 kernel and it's rootfs built with Clang under Qemu,
>> I had a runtime issue during the userspace boot process (Busybox's init).
>> While searching about the issue, I discover the lowRISC blog from Luís Marques
>> about the same issue and tested the patch he contributed to the Busybox project
>> (Thanks!).
>>
>> So, this series is about to complete the integration of Clang as cross-compiler
>> by using a toolchain-wrapper and fixing some build system infrastructure
>> (cmake, meson) to use Clang instead of GCC.
> 
>  I started integrating the series, but then I had some fundamental problems with
> the core patch itself. So I stopped and pushed my results to
> https://gitlab.com/arnout/buildroot branch clang-as-cross-compiler. I put my
> changes as squash patches rather than changing the original patches, so you can
> easily take over from there. Note that I haven't tested my rebased and modified
> branch (just a build test immediately after applying the modified patch), so
> there may still be some rebase f**up there.
> 
>  I'll put my feedback in the individual patches.

Thanks!

I'm not sure how many free time I will able to devote to this series.
I recently did a test with llvm/clang 10 for risv64 [1] but the series needs
some work to be upstreamable...

I'd like to be able to work on this series as a full day job :)

[1] https://asciinema.org/a/DDspJVktlVl1Rh97dwLgtYcRY

Best regards,
Romain

> 
>  Regards,
>  Arnout
> 
>>
>> Add this new experimental option into "Advanced" menu since we are expecting
>> some build and runtime issues for number of packages (bootloaders, kernel).
>>
>> For now, Clang cross-compiler can only be use as internal toolchain,
>> so it is build from the source which take a long time...
> [snip]
> 



More information about the buildroot mailing list