Re: [2.6 patch] add -Werror-implicit-function-declaration to CFLAGS

From: Sam Ravnborg
Date: Thu Jul 06 2006 - 23:35:32 EST


On Thu, Jul 06, 2006 at 06:37:28PM +0200, Adrian Bunk wrote:
> Currently, using an undeclared function gives a compile warning, but it
> can lead to a nasty to debug runtime stack corruptions if the prototype
> of the function is different from what gcc guessed.
>
> With -Werror-implicit-function-declaration we are getting an immediate
> compile error instead.
This patch broke (-rc1):

sparc allnoconfig build
ia64 allnoconfig build
ppc64 allnoconfig build

x86_64 succeded an allnoconfig build

I did not try other architectures. We need to fix the allnoconfig cases
at least for the popular architectures before applying this patch
otherwise it will create too much trouble/noise.

linux-arch copied in the hope that the arch maintaines may try it out
and fix their issues.

Sam

---

Makefile | 3 ++-
drivers/input/joystick/iforce/Makefile | 2 --
2 files changed, 2 insertions(+), 3 deletions(-)

--- linux-2.6.17-mm6-full/Makefile.old 2006-07-06 12:17:02.000000000 +0200
+++ linux-2.6.17-mm6-full/Makefile 2006-07-06 12:18:52.000000000 +0200
@@ -318,7 +318,8 @@
CPPFLAGS := -D__KERNEL__ $(LINUXINCLUDE)

CFLAGS := -Wall -Wundef -Wstrict-prototypes -Wno-trigraphs \
- -fno-strict-aliasing -fno-common
+ -fno-strict-aliasing -fno-common \
+ -Werror-implicit-function-declaration
# Force gcc to behave correct even for buggy distributions
CFLAGS += $(call cc-option, -fno-stack-protector-all \
-fno-stack-protector)
--- linux-2.6.17-mm6-full/drivers/input/joystick/iforce/Makefile.old 2006-07-06 12:19:08.000000000 +0200
+++ linux-2.6.17-mm6-full/drivers/input/joystick/iforce/Makefile 2006-07-06 12:19:16.000000000 +0200
@@ -16,5 +16,3 @@
ifeq ($(CONFIG_JOYSTICK_IFORCE_USB),y)
iforce-objs += iforce-usb.o
endif
-
-EXTRA_CFLAGS = -Werror-implicit-function-declaration


-
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/