Re: [PATCH v2] MIPS: Make MIPS32_O32 depends on !CC_IS_CLANG
From: Nathan Chancellor <nathan@kernel.org>
Date: 2021-03-04 06:47:28
Also in:
lkml
On Thu, Mar 04, 2021 at 02:19:38PM +0800, Tiezhu Yang wrote:
When build kernel with Clang [1]:
Sorry I did not catch this in the first revision but I think this would sound better as: When building with Clang [1]: I think the kernel part is obvious :) couple more comments about the commit message inline.
$ make CC=clang loongson3_defconfig $ make CC=clang there exists the following error: Checking missing-syscalls for O32 CALL scripts/checksyscalls.sh error: ABI 'o32' is not supported on CPU 'mips64r2' make[1]: *** [Kbuild:48: missing-syscalls] Error 1 make: *** [arch/mips/Makefile:419: archprepare] Error 2 This is a known bug [2] with Clang, as Simon Atanasyan said, "There is no plan on support O32 for MIPS64 due to lack of resources". It is not a good idea to remove CONFIG_MIPS32_O32=y directly in defconfig due to GCC works well, as Nathan said, the config
in defconfig because GCC works, as...
should not even be selectable when build kernel with Clang, so
building with Clang
just make MIPS32_O32 depends on !CC_IS_CLANG. [1] https://www.kernel.org/doc/html/latest/kbuild/llvm.html [2] https://bugs.llvm.org/show_bug.cgi?id=38063 Signed-off-by: Tiezhu Yang <yangtiezhu@loongson.cn>
I don't know if Nick will have any comments but for me: Acked-by: Nathan Chancellor <nathan@kernel.org> I have added this patch and the LLVM bug to our issue tracker: https://github.com/ClangBuiltLinux/linux/issues/884
quoted hunk ↗ jump to hunk
--- arch/mips/Kconfig | 2 ++ 1 file changed, 2 insertions(+)diff --git a/arch/mips/Kconfig b/arch/mips/Kconfig index 3a38d27..f6ba59f 100644 --- a/arch/mips/Kconfig +++ b/arch/mips/Kconfig@@ -3318,6 +3318,8 @@ config SYSVIPC_COMPAT config MIPS32_O32 bool "Kernel support for o32 binaries" depends on 64BIT + # https://bugs.llvm.org/show_bug.cgi?id=38063 + depends on !CC_IS_CLANG select ARCH_WANT_OLD_COMPAT_IPC select COMPAT select MIPS32_COMPAT-- 2.1.0