Re: [RFC PATCH 00/10] Improve ARM target's support for LLVM toolchain

Michal Simek
2023-05-22T10:39:31Z

Hi

On 5/21/23 06:59, Sam Edwards wrote:
> On 5/20/23 22:26, Heinrich Schuchardt wrote:
>> Hello Sam,
>
> Hi Heinrich! Good to hear from you.
>
>> I guess the documentation and the CI testing would also have to be adjusted.
>
> Ah, yeah, those are going to be big things for me to look at when this series
> starts to mature out of the RFC phase. CI is definitely important so that the
> hard-won compatibility doesn't just decay away. :)
>
>> What about non-ARM architectures?
>
> If there's a groundswell of demand for building U-Boot on LLVM, I'd be willing
> to collaborate with others on getting the other architectures up to parity with
> GNU. But since the linker scripts, relocation thunks, sections, and whatnot are
> all arch-specific, I'm only focusing on ARM for now (which is both the arch I
> need and one of the more common ones).
>
> Is there a particular arch you'd like to see next? It seems everything U-Boot
> supports is supported by LLVM, except for Microblaze, NIOS2, and SH.
>
>> Could you, please, describe how built with lld so that reviewers can test it.
>
> I've been building with:
>
> nice make CC='clang --target=armv7l-none-eabi' \
>   LTO_FINAL_LDFLAGS=-fuse-ld=lld LD=ld.lld OBJCOPY=llvm-objcopy
>
> ...though mostly at this stage I'm just hoping for folks to confirm that this
> patchset causes no regressions in their existing GNU environments. (Feedback
> from LLVM-land would be appreciated nonetheless, though!!!)

Dockerfile in repo as I see is using 3 toolchain categories.
1. llvm deb repo
2. kernel.org
3. others - xtensa/arc

For CI loop you should pretty much provide a way how to get toolchain.
That's why would be good to figure it out and then I am happy to take a look at
changed you have done for Zynq.
Definitely nice to see this happening and I expect more warnings will be visible
and they should be fixed.

Thanks,
Michal