All of lore.kernel.org
 help / color / mirror / Atom feed
From: Romain Naour <romain.naour@gmail.com>
To: buildroot@busybox.net
Subject: [Buildroot] [PATCH v2 00/12] Add the support for Clang cross-compiler
Date: Mon, 14 Sep 2020 21:53:16 +0200	[thread overview]
Message-ID: <7d8a4fff-2ca5-4dc1-fe8d-098422070519@gmail.com> (raw)
In-Reply-To: <6b09950c-b36e-fdab-ff93-503445e7cddb@mind.be>

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]
> 

      reply	other threads:[~2020-09-14 19:53 UTC|newest]

Thread overview: 27+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2019-09-07  9:40 [Buildroot] [PATCH v2 00/12] Add the support for Clang cross-compiler Romain Naour
2019-09-07  9:40 ` [Buildroot] [PATCH v2 01/12] package/clang: help host-clang to find our external toolchain Romain Naour
2019-09-09 14:26   ` Matthew Weber
2020-08-29 19:00   ` Arnout Vandecappelle
2019-09-07  9:40 ` [Buildroot] [PATCH v2 02/12] package/llvm: add the version major variable Romain Naour
2020-08-29 19:00   ` Arnout Vandecappelle
2019-09-07  9:40 ` [Buildroot] [PATCH v2 03/12] package/clang: " Romain Naour
2019-09-07  9:40 ` [Buildroot] [PATCH v2 04/12] package/clang: install a toolchain-wrapper for the host clang cross-compiler Romain Naour
2020-08-29 19:40   ` Arnout Vandecappelle
2019-09-07  9:40 ` [Buildroot] [PATCH v2 05/12] linux: override CC for the case CC is not GCC Romain Naour
2020-08-30  7:57   ` Arnout Vandecappelle
2019-09-07  9:40 ` [Buildroot] [PATCH v2 06/12] package/meson: use TARGET_{CC, CXX} instead of TARGET_CROSS for cc and cpp Romain Naour
2019-09-07  9:40 ` [Buildroot] [PATCH v2 07/12] package/busybox: fix applets runtime issue when building with clang cross-compiler Romain Naour
2019-09-09 14:29   ` Matthew Weber
2020-08-29 20:21   ` Arnout Vandecappelle
2020-09-14 19:58     ` Romain Naour
2019-09-07  9:40 ` [Buildroot] [PATCH v2 08/12] package/clang: add a host entry for clang Romain Naour
2020-08-29 20:34   ` Arnout Vandecappelle
2019-09-07  9:40 ` [Buildroot] [PATCH v2 09/12] package/glibc: use GCC cross-compiler if Clang is used as cross-compiler Romain Naour
2019-09-07  9:40 ` [Buildroot] [PATCH v2 10/12] core: allow to use Clang " Romain Naour
2019-09-09 14:29   ` Matthew Weber
2020-08-29 21:13   ` Arnout Vandecappelle
2019-09-07  9:40 ` [Buildroot] [PATCH v2 11/12] toolchain: add a warning when Clang is used " Romain Naour
2019-09-07  9:40 ` [Buildroot] [PATCH v2 12/12] linux: don't set -Wno-attribute-alias flag " Romain Naour
2019-09-09 14:28   ` Matthew Weber
2020-08-29 18:53 ` [Buildroot] [PATCH v2 00/12] Add the support for Clang cross-compiler Arnout Vandecappelle
2020-09-14 19:53   ` Romain Naour [this message]

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=7d8a4fff-2ca5-4dc1-fe8d-098422070519@gmail.com \
    --to=romain.naour@gmail.com \
    --cc=buildroot@busybox.net \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.