lkml.org 
[lkml]   [2021]   [Feb]   [13]   [last100]   RSS Feed
Views: [wrap][no wrap]   [headers]  [forward] 
 
Messages in this thread
/
Date
From
SubjectRe: [PATCH v4] printk: Userspace format enumeration support
kernel test robot writes:
>Hi Chris,
>
>Thank you for the patch! Yet something to improve:

I'm pretty sure !CONFIG_PRINTK && CONFIG_IA64_DEBUG_CMPXCHG has been broken
like this long before this change.

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.

CONFIG_IA64_DEBUG_CMPXCHG should be dependent on CONFIG_PRINTK. I'll send a
separate patch for that, no reason to put it in this series. Not sure why LKP
only caught it now though.

Here's how it is even on the parent commit LKP applied this patch to:

% git checkout bff4c8b4b0b9bcc31917d3b0f1a01a7573a1f473^
Previous HEAD position was bff4c8b4b0b9 printk: Userspace format enumeration support
HEAD is now at 1fa67f8391ac module: mark TRIM_UNUSED_KSYMS as BROKEN on powerpc
% COMPILER_INSTALL_PATH=$HOME/0day COMPILER=gcc-9.3.0 /tmp/make.cross ARCH=ia64 -s
Compiler will be installed in /home/cdown/0day
make W=1 CROSS_COMPILE=/home/cdown/0day/gcc-9.3.0-nolibc/ia64-linux/bin/ia64-linux- --jobs=32 ARCH=ia64 -s
In file included from ./include/linux/kernel.h:16,
from ./include/asm-generic/bug.h:20,
from ./arch/ia64/include/asm/bug.h:17,
from ./include/linux/bug.h:5,
from ./include/linux/page-flags.h:10,
from kernel/bounds.c:10:
./include/linux/printk.h:219:5: error: static declaration of 'printk' follows non-static declaration
219 | int printk(const char *s, ...)
| ^~~~~~
In file included from ./arch/ia64/include/uapi/asm/intrinsics.h:22,
from ./arch/ia64/include/asm/intrinsics.h:11,
from ./arch/ia64/include/asm/bitops.h:19,
from ./include/linux/bitops.h:32,
from ./include/linux/kernel.h:11,
from ./include/asm-generic/bug.h:20,
from ./arch/ia64/include/asm/bug.h:17,
from ./include/linux/bug.h:5,
from ./include/linux/page-flags.h:10,
from kernel/bounds.c:10:
./arch/ia64/include/uapi/asm/cmpxchg.h:142:14: note: previous declaration of 'printk' was here
142 | extern int printk(const char *fmt, ...); \
| ^~~~~~
./arch/ia64/include/asm/bitops.h:309:3: note: in expansion of macro 'CMPXCHG_BUGCHECK'
309 | CMPXCHG_BUGCHECK(m);
| ^~~~~~~~~~~~~~~~
make[1]: *** [scripts/Makefile.build:117: kernel/bounds.s] Error 1
make[1]: *** Waiting for unfinished jobs....
make: *** [Makefile:1206: prepare0] Error 2

\
 
 \ /
  Last update: 2021-02-13 15:31    [W:0.228 / U:0.092 seconds]
©2003-2020 Jasper Spaans|hosted at Digital Ocean and TransIP|Read the blog|Advertise on this site