On Wed, Nov 23, 2022 at 10:06:03AM +0800, Ren Zhijie wrote:
在 2022/11/23 0:48, Mark Rutland 写道:I think you must also have CONFIG_WERROR enabled?
On Tue, Nov 22, 2022 at 03:20:10AM +0000, Ren Zhijie wrote:No,i just run the normal command as follow:
If CONFIG_SWP_EMULATION is not set andThis also depends on building with additional options to turn warnings into
CONFIG_CP15_BARRIER_EMULATION is not set,
aarch64-linux-gnu complained about unused-function :
arch/arm64/kernel/armv8_deprecated.c:67:21: error: ‘aarch32_check_condition’ defined but not used [-Werror=unused-function]
static unsigned int aarch32_check_condition(u32 opcode, u32 psr)
^~~~~~~~~~~~~~~~~~~~~~~
cc1: all warnings being treated as errors
To fix this error, warp the definition of
aarch32_check_condition() by defined(CONFIG_SWP_EMULATION) ||
defined(CONFIG_CP15_BARRIER_EMULATION)
Fixes: 0c5f416219da ("arm64: armv8_deprecated: move aarch32 helper earlier")
errors, no?
make ARCH="arm64" CROSS_COMPILE="aarch64-linux-gnu-"
Just building defconfig + CONFIG_ARMV8_DEPRECATED=y gives me a warning, but not
an error, and the kernel builds just fine.
So this is a problem to fix, and I appreciate that in test configs this might
be broken, but it's not a full build-time failure for most users.
Thanks,
Mark.
.sure, i will use __maybe_unused in v2.Signed-off-by: Ren Zhijie <renzhijie2@xxxxxxxxxx>Could we mark this as '__maybe_unused' or 'inline' instead? I think that's
---
arch/arm64/kernel/armv8_deprecated.c | 2 ++
1 file changed, 2 insertions(+)
diff --git a/arch/arm64/kernel/armv8_deprecated.c b/arch/arm64/kernel/armv8_deprecated.c
index ed0788cf6bbb..3f29ceb6653a 100644
--- a/arch/arm64/kernel/armv8_deprecated.c
+++ b/arch/arm64/kernel/armv8_deprecated.c
@@ -64,6 +64,7 @@ struct insn_emulation {
#define ARM_OPCODE_CONDITION_UNCOND 0xf
+#if defined(CONFIG_SWP_EMULATION) || defined(CONFIG_CP15_BARRIER_EMULATION)
static unsigned int aarch32_check_condition(u32 opcode, u32 psr)
{
u32 cc_bits = opcode >> 28;
@@ -76,6 +77,7 @@ static unsigned int aarch32_check_condition(u32 opcode, u32 psr)
}
return ARM_OPCODE_CONDTEST_UNCOND;
}
+#endif
preferable to the ifdeferry.
Thanks,
Ren.
Thanks,
Mark.
#ifdef CONFIG_SWP_EMULATION.
/*
--
2.17.1