Compiling kernel with -Wformat-signedness gcc flag
Himanshu Jha
himanshujha199640 at gmail.com
Fri Mar 9 08:16:28 EST 2018
Hello everyone,
I just compiled the kernel by passing "-Wformat-signedness" flag
https://gcc.gnu.org/onlinedocs/gcc/Warning-Options.html
-Wformat-signedness:
If -Wformat is specified, also warn if the format string requires an
unsigned argument and the argument is signed and vice versa.
Now, the C standard says:
"If a conversion specification is invalid, the behavior is undefined.
If any argument is
not the correct type for the corresponding conversion specification, the
behavior is *undefined*."
For eg:
drivers/iio/trigger/stm32-timer-trigger.c:228:24: warning: format ‘%d’
expects argument of type ‘int’, but argument 3 has type ‘unsigned int’
[-Wformat=]
return sprintf(buf, "%d\n", (unsigned int)freq);
~^ ~~~~~~~~~~~~~~~~~~
%d
What is the rationale for not including/using this flag in the
HOSTCFLAGS in the Makefile ?
--
Thanks
Himanshu Jha
More information about the Kernelnewbies
mailing list