Messages in this thread | | | Date | Sat, 17 Jan 2009 16:19:35 +0100 (MET) | From | Mikael Pettersson <> | Subject | "eliminate warn_on_slowpath()" change causes many gcc-3.2.3 warnings |
| |
Commit ec5679e513305f1411753e5f5489935bd638af23 "eliminate warn_on_slowpath()" changed __WARN() to call warn_slowpath() with a NULL value for the format string parameter. Now every WARN_ON() triggers a warning from gcc-3.2.3:
In file included from include/linux/kmod.h:22, from include/linux/module.h:13, from include/linux/crypto.h:21, from arch/x86/kernel/asm-offsets_32.c:7, from arch/x86/kernel/asm-offsets.c:2: include/linux/gfp.h: In function `allocflags_to_migratetype': include/linux/gfp.h:104: warning: null format string
Compiling kernel 2.6.29-rc2 with a minimalistic .config for my 486 generates 1767 'null format string' warnings.
warn_slowpath() is declared with attribute((format(printf, 3, 4))), and gcc-3.2.3 warns if the format string parameter is NULL. gcc-3.3 and newer do not warn in that case.
Since gcc-3.2 is still a supported compiler for the kernel, this is a regression.
(Just FYI. I don't consider this serious enough to warrant reverting that cleanup patch or declaring gcc-3.2.3 too old. I can always update my 486 to gcc-3.3.6 if the warnings start to bug me too much.)
/Mikael
| |