Re: [PATCH] arm64: Make CPU_BIG_ENDIAN depend on !LD_IS_LLD

Nathan Chancellor
2021-02-02T19:53:12Z

On Tue, Feb 02, 2021 at 09:04:34AM +0100, Arnd Bergmann wrote:
> On Tue, Feb 2, 2021 at 3:25 AM Nathan Chancellor <nathan@kernel.org> wrote:
> >
> > Similar to commit 28187dc8ebd9 ("ARM: 9025/1: Kconfig: CPU_BIG_ENDIAN
> > depends on !LD_IS_LLD"), ld.lld does not support aarch64 big endian,
> > leading to the following build error when CONFIG_CPU_BIG_ENDIAN is
> > selected:
> >
> > ld.lld: error: unknown emulation: aarch64linuxb
>
> While this is the original error message I reported, I think it would be
> better to explain that lld actually does support linking big-endian
> kernels but they don't boot, for unknown reasons.

That statement seems to contradict what Peter Smith says:

https://github.com/ClangBuiltLinux/linux/issues/1288#issuecomment-770693582

https://reviews.llvm.org/D58655#1410282

> I can send a patch to address the build error and mark big-endian
> as "depends on !LD_IS_LLD || COMPILE_TEST" to reflect that
> and help with randconfig testing.

I have no strong opinion on handling this though.

Cheers,
Nathan