Re: [PATCH] ia64: Depend on non-static printk for cmpxchg debug

From: Chris Down
Date: Fri Feb 26 2021 - 07:48:53 EST


+ akpm, linux-mm

Hey folks,

Chris Down writes:
With !CONFIG_PRINTK, printk() is static in the header, but ia64's
cmpxchg.h with CONFIG_IA64_DEBUG_CMPXCHG doesn't take this into account
before trying to use it as extern, resulting in a compiler error:

./include/linux/printk.h:219:5: error: static declaration of 'printk' follows non-static declaration
219 | int printk(const char *s, ...)
| ^~~~~~
./arch/ia64/include/uapi/asm/cmpxchg.h:142:14: note: previous declaration of 'printk' was here
142 | extern int printk(const char *fmt, ...); \
| ^~~~~~

Make CONFIG_IA64_DEBUG_CMPXCHG dependent on CONFIG_PRINTK to avoid this.

Signed-off-by: Chris Down <chris@xxxxxxxxxxxxxx>
Reported-by: kernel test robot <lkp@xxxxxxxxx>
Cc: Tony Luck <tony.luck@xxxxxxxxx>
Cc: Fenghua Yu <fenghua.yu@xxxxxxxxx>
Cc: linux-ia64@xxxxxxxxxxxxxxx

I now see that last month ia64 was marked as orphaned, so I'm going to send this over to Andrew/-mm.

Andrew, any chance you can take this in your tree? It's causing spurious LKP noise for some recent work on printk and would be great to have in -next.

Thanks,

Chris

---
arch/ia64/Kconfig.debug | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/arch/ia64/Kconfig.debug b/arch/ia64/Kconfig.debug
index 40ca23bd228d..2ce008e2d164 100644
--- a/arch/ia64/Kconfig.debug
+++ b/arch/ia64/Kconfig.debug
@@ -39,7 +39,7 @@ config DISABLE_VHPT

config IA64_DEBUG_CMPXCHG
bool "Turn on compare-and-exchange bug checking (slow!)"
- depends on DEBUG_KERNEL
+ depends on DEBUG_KERNEL && PRINTK
help
Selecting this option turns on bug checking for the IA-64
compare-and-exchange instructions. This is slow! Itaniums
--
2.30.1