[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Message-ID: <69EBF163CEC09696+20250217142857.49414-1-wangyuli@uniontech.com>
Date: Mon, 17 Feb 2025 22:28:56 +0800
From: WangYuli <wangyuli@...ontech.com>
To: wangyuli@...ontech.com
Cc: chenlinxuan@...ontech.com,
guanwentao@...ontech.com,
linux-kernel@...r.kernel.org,
linux-mips@...r.kernel.org,
macro@...am.me.uk,
masahiroy@...nel.org,
niecheng1@...ontech.com,
tsbogend@...ha.franken.de,
zhanjun@...ontech.com
Subject: [PATCH v3 1/2] MIPS: dec: Only check -msym32 when need compiler
During 'make modules_install', the need-compiler variable becomes
null, so Makefile.compiler isn't included.
This results in call cc-option-yn returning nothing.
For more technical details on why need-compiler is null during
‘make modules_install’ and why no compiler invocation is actually
needed at this point, please refer to commit 4fe4a6374c4d ("MIPS:
Only fiddle with CHECKFLAGS if need-compiler") and commit
805b2e1d427a ("kbuild: include Makefile.compiler only when compiler
is needed").
Commit a79a404e6c22 ("MIPS: Fix CONFIG_CPU_DADDI_WORKAROUNDS
`modules_install' regression") tried to fix the same issue but it
caused a compile error on clang compiler because it doesn't support
'-msym32'. Then, commit 18ca63a2e23c ("MIPS: Probe toolchain support
of -msym32") fixed it but reintroduced the CONFIG_CPU_DADDI_WORKAROUNDS
`modules_install' regression.
Wrapping this entire code block with #ifdef need-compiler to avoid
all issues is the best solution for now.
To get rid of spurious "CONFIG_CPU_DADDI_WORKAROUNDS unsupported
without -msym32" error.
Link: https://lore.kernel.org/all/alpine.DEB.2.21.2502120612000.65342@angie.orcam.me.uk/
Link: https://lore.kernel.org/all/alpine.DEB.2.21.2307180025120.62448@angie.orcam.me.uk/
Fixes: a79a404e6c22 ("MIPS: Fix CONFIG_CPU_DADDI_WORKAROUNDS `modules_install' regression")
Reported-by: Maciej W. Rozycki <macro@...am.me.uk>
Closes: https://lore.kernel.org/all/alpine.DEB.2.21.2501030535080.49841@angie.orcam.me.uk/
Co-developed-by: Chen Linxuan <chenlinxuan@...ontech.com>
Signed-off-by: Chen Linxuan <chenlinxuan@...ontech.com>
Signed-off-by: WangYuli <wangyuli@...ontech.com>
---
arch/mips/Makefile | 4 +++-
1 file changed, 3 insertions(+), 1 deletion(-)
diff --git a/arch/mips/Makefile b/arch/mips/Makefile
index be8cb44a89fd..89928d6d4b5b 100644
--- a/arch/mips/Makefile
+++ b/arch/mips/Makefile
@@ -288,6 +288,7 @@ entry-y = $(shell $(objtree)/arch/mips/tools/elf-entry vmlinux)
cflags-y += -I$(srctree)/arch/mips/include/asm/mach-generic
drivers-$(CONFIG_PCI) += arch/mips/pci/
+ifdef need-compiler
#
# Automatically detect the build format. By default we choose
# the elf format according to the load address.
@@ -308,7 +309,8 @@ ifdef CONFIG_64BIT
$(error CONFIG_CPU_DADDI_WORKAROUNDS unsupported without -msym32)
endif
endif
-endif
+endif # CONFIG_64BIT
+endif # need-compiler
# When linking a 32-bit executable the LLVM linker cannot cope with a
# 32-bit load address that has been sign-extended to 64 bits. Simply
--
2.47.2
Powered by blists - more mailing lists