Message ID | 20190907094027.9537-1-romain.naour@smile.fr |
---|---|
Headers | show |
Series | Add the support for Clang cross-compiler | expand |
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 :-) > 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. 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]
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] >