Messages in this thread | | | Date | Sat, 17 Jan 2009 17:18:17 +0100 | From | Ingo Molnar <> | Subject | Re: "eliminate warn_on_slowpath()" change causes many gcc-3.2.3 warnings |
| |
* Mikael Pettersson <mikpe@it.uu.se> wrote:
> 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.)
hm, that's unfortunate. GCC seems totally on crack for not accepting a NULL format string.
Ingo
| |