Re: [PATCH] MIPS: Add comment about CONFIG_MIPS32_O32 in loongson3_defconfig when build with Clang

From: Tiezhu Yang
Date: Wed Mar 03 2021 - 22:49:58 EST


On 03/04/2021 10:02 AM, Nathan Chancellor wrote:
On Thu, Mar 04, 2021 at 09:15:44AM +0800, Tiezhu Yang wrote:
When build kernel with Clang [1]:

$ make CC=clang loongson3_defconfig
$ make CC=clang

[snip]

I think this might be a better solution. I know that I personally never
read defconfig files if a build fails.

If CONFIG_MIPS32_O32 is broken with clang and the MIPS backend
maintainer has said that it will not be supported due to lack of
resources, then the config should not even be selectable in my opinion.

Cheers,
Nathan

diff --git a/arch/mips/Kconfig b/arch/mips/Kconfig
index d89efba3d8a4..ed35318a759d 100644
--- a/arch/mips/Kconfig
+++ b/arch/mips/Kconfig
@@ -3315,6 +3315,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 $(success,$(CC) $(CLANG_FLAGS) -march=mips64 -o32 -c -x c /dev/null -o /dev/null)
select ARCH_WANT_OLD_COMPAT_IPC
select COMPAT
select MIPS32_COMPAT

Hi Nathan,

Thank you very much for your reply and suggestion, maybe the following
change is simple, clear and better? If yes, I will send v2 later.

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

Thanks,
Tiezhu