Re: [PATCH] arm64: Make CPU_BIG_ENDIAN depend on !LD_IS_LLD
flat view
From: Nathan Chancellor <nathan@kernel.org>
Date: 2021-02-07 02:31:28
Also in:
lkml
On Mon, Feb 01, 2021 at 07:24:42PM -0700, Nathan Chancellor 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
There are not currently plans to implement big endian support for
aarch64 in ld.lld but if it should be supported in the future, this
symbol can depend on the version that first supports it. In the
meantime, prevent this symbol from being selected to avoid these type
of build errors.
While we are here, the indentation of this symbol used spaces since its
introduction in commit a872013d6d03 ("arm64: kconfig: allow
CPU_BIG_ENDIAN to be selected"). Change it to tabs to be consistent with
kernel coding style.
Link: https://github.com/ClangBuiltLinux/linux/issues/380
Link: https://github.com/ClangBuiltLinux/linux/issues/1288
Reported-by: Arnd Bergmann <arnd@arndb.de>
Signed-off-by: Nathan Chancellor <nathan@kernel.org>Fangrui has pushed proper aarch64linuxb and elf64-bigaarch64 for ld.lld: https://reviews.llvm.org/D96211 https://reviews.llvm.org/D96188 This patch is needed for OUTPUT_FORMAT in the vDSO to work properly: https://reviews.llvm.org/D96214 Once these are all merged into LLVM 13, I will update this to be: depends on !LD_IS_LLD || LLD_VERSION >= 130000 Cheers, Nathan
quoted hunk ↗ jump to hunk
--- arch/arm64/Kconfig | 5 +++-- 1 file changed, 3 insertions(+), 2 deletions(-)diff --git a/arch/arm64/Kconfig b/arch/arm64/Kconfig index f39568b28ec1..5ddf9fe7b4ee 100644 --- a/arch/arm64/Kconfig +++ b/arch/arm64/Kconfig@@ -952,8 +952,9 @@ choice that is selected here. config CPU_BIG_ENDIAN - bool "Build big-endian kernel" - help + bool "Build big-endian kernel" + depends on !LD_IS_LLD + help Say Y if you plan on running a kernel with a big-endian userspace. config CPU_LITTLE_ENDIANbase-commit: 88bb507a74ea7d75fa49edd421eaa710a7d80598 -- 2.30.0 _______________________________________________ linux-arm-kernel mailing list linux-arm-kernel@lists.infradead.org http://lists.infradead.org/mailman/listinfo/linux-arm-kernel
_______________________________________________ linux-arm-kernel mailing list linux-arm-kernel@lists.infradead.org http://lists.infradead.org/mailman/listinfo/linux-arm-kernel