* Re: [2.6 patch] add -Werror-implicit-function-declaration to CFLAGS [not found] <20060706163728.GN26941@stusta.de> @ 2006-07-07 3:36 ` Sam Ravnborg 2006-07-07 5:02 ` Valdis.Kletnieks ` (2 more replies) 0 siblings, 3 replies; 8+ messages in thread From: Sam Ravnborg @ 2006-07-07 3:36 UTC (permalink / raw) To: Adrian Bunk; +Cc: kai, linux-kernel, Dave Jones, linux-arch 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 ^ permalink raw reply [flat|nested] 8+ messages in thread
* Re: [2.6 patch] add -Werror-implicit-function-declaration to CFLAGS 2006-07-07 3:36 ` [2.6 patch] add -Werror-implicit-function-declaration to CFLAGS Sam Ravnborg @ 2006-07-07 5:02 ` Valdis.Kletnieks 2006-07-07 6:42 ` Sam Ravnborg 2006-07-07 7:18 ` Adrian Bunk 2006-07-07 7:49 ` Heiko Carstens 2 siblings, 1 reply; 8+ messages in thread From: Valdis.Kletnieks @ 2006-07-07 5:02 UTC (permalink / raw) To: Sam Ravnborg; +Cc: Adrian Bunk, kai, linux-kernel, Dave Jones, linux-arch [-- Attachment #1: Type: text/plain, Size: 644 bytes --] On Fri, 07 Jul 2006 05:36:30 +0200, Sam Ravnborg said: > On Thu, Jul 06, 2006 at 06:37:28PM +0200, Adrian Bunk wrote: > > With -Werror-implicit-function-declaration we are getting an immediate > > compile error instead. > This patch broke (-rc1): ... > 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. What source files did it break on, and with what error message? And is there a reason to focus on 'allnoconfig', or do the other canned config targets (allyes, allmod, rand, and so on) matter too? [-- Attachment #2: Type: application/pgp-signature, Size: 226 bytes --] ^ permalink raw reply [flat|nested] 8+ messages in thread
* Re: [2.6 patch] add -Werror-implicit-function-declaration to CFLAGS 2006-07-07 5:02 ` Valdis.Kletnieks @ 2006-07-07 6:42 ` Sam Ravnborg 2006-07-07 7:49 ` Adrian Bunk 0 siblings, 1 reply; 8+ messages in thread From: Sam Ravnborg @ 2006-07-07 6:42 UTC (permalink / raw) To: Valdis.Kletnieks; +Cc: Adrian Bunk, kai, linux-kernel, Dave Jones, linux-arch On Fri, Jul 07, 2006 at 01:02:18AM -0400, Valdis.Kletnieks@vt.edu wrote: > On Fri, 07 Jul 2006 05:36:30 +0200, Sam Ravnborg said: > > On Thu, Jul 06, 2006 at 06:37:28PM +0200, Adrian Bunk wrote: > > > With -Werror-implicit-function-declaration we are getting an immediate > > > compile error instead. > > This patch broke (-rc1): > ... > > 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. > > What source files did it break on, and with what error message? And is > there a reason to focus on 'allnoconfig', or do the other canned config > targets (allyes, allmod, rand, and so on) matter too? The other configs matters too - but it just seemed most logical to start out with the config that deselected the most. One could say that passing 'allnoconfig' was the minimal test. The error messages follows (for ia64, sparc and ppc64). I have not tried to fix any of them. Sam make -C /home/sam/kernel/kbuild.git O=/home/sam/kernel/oia64 Using /home/sam/kernel/kbuild.git as source for kernel GEN /home/sam/kernel/oia64/Makefile CHK include/linux/version.h CHK include/linux/utsrelease.h CC arch/ia64/kernel/asm-offsets.s In file included from /home/sam/kernel/kbuild.git/include/linux/poll.h:11, from /home/sam/kernel/kbuild.git/include/linux/rtc.h:113, from /home/sam/kernel/kbuild.git/include/linux/efi.h:19, from include2/asm/sal.h:40, from /home/sam/kernel/kbuild.git/include/asm-ia64/mca.h:20, from /home/sam/kernel/kbuild.git/arch/ia64/kernel/asm-offsets.c:15: /home/sam/kernel/kbuild.git/include/linux/mm.h: In function `lowmem_page_address': /home/sam/kernel/kbuild.git/include/linux/mm.h:530: error: implicit declaration of function `page_to_pfn' In file included from /home/sam/kernel/kbuild.git/include/linux/poll.h:12, from /home/sam/kernel/kbuild.git/include/linux/rtc.h:113, from /home/sam/kernel/kbuild.git/include/linux/efi.h:19, from include2/asm/sal.h:40, from /home/sam/kernel/kbuild.git/include/asm-ia64/mca.h:20, from /home/sam/kernel/kbuild.git/arch/ia64/kernel/asm-offsets.c:15: include2/asm/uaccess.h: In function `xlate_dev_mem_ptr': include2/asm/uaccess.h:374: error: implicit declaration of function `pfn_to_page' include2/asm/uaccess.h:374: warning: assignment makes pointer from integer without a cast include2/asm/uaccess.h: In function `xlate_dev_kmem_ptr': include2/asm/uaccess.h:392: warning: assignment makes pointer from integer without a cast make[3]: *** [arch/ia64/kernel/asm-offsets.s] Error 1 make[2]: *** [prepare0] Error 2 make[1]: *** [_all] Error 2 make: *** [all] Error 2 make -C /home/sam/kernel/kbuild.git O=/home/sam/kernel/oia64 Using /home/sam/kernel/kbuild.git as source for kernel GEN /home/sam/kernel/oia64/Makefile CHK include/linux/version.h CHK include/linux/utsrelease.h CC arch/ia64/kernel/asm-offsets.s In file included from /home/sam/kernel/kbuild.git/include/linux/poll.h:11, from /home/sam/kernel/kbuild.git/include/linux/rtc.h:113, from /home/sam/kernel/kbuild.git/include/linux/efi.h:19, from include2/asm/sal.h:40, from /home/sam/kernel/kbuild.git/include/asm-ia64/mca.h:20, from /home/sam/kernel/kbuild.git/arch/ia64/kernel/asm-offsets.c:15: /home/sam/kernel/kbuild.git/include/linux/mm.h: In function `lowmem_page_address': /home/sam/kernel/kbuild.git/include/linux/mm.h:530: error: implicit declaration of function `page_to_pfn' In file included from /home/sam/kernel/kbuild.git/include/linux/poll.h:12, from /home/sam/kernel/kbuild.git/include/linux/rtc.h:113, from /home/sam/kernel/kbuild.git/include/linux/efi.h:19, from include2/asm/sal.h:40, from /home/sam/kernel/kbuild.git/include/asm-ia64/mca.h:20, from /home/sam/kernel/kbuild.git/arch/ia64/kernel/asm-offsets.c:15: include2/asm/uaccess.h: In function `xlate_dev_mem_ptr': include2/asm/uaccess.h:374: error: implicit declaration of function `pfn_to_page' include2/asm/uaccess.h:374: warning: assignment makes pointer from integer without a cast include2/asm/uaccess.h: In function `xlate_dev_kmem_ptr': include2/asm/uaccess.h:392: warning: assignment makes pointer from integer without a cast make[3]: *** [arch/ia64/kernel/asm-offsets.s] Error 1 make[2]: *** [prepare0] Error 2 make[1]: *** [_all] Error 2 make: *** [all] Error 2 make -C /home/sam/kernel/kbuild.git O=/home/sam/kernel/osparc Using /home/sam/kernel/kbuild.git as source for kernel GEN /home/sam/kernel/osparc/Makefile CHK include/linux/version.h CHK include/linux/utsrelease.h CHK include/linux/compile.h CC arch/sparc/mm/init.o In file included from include2/asm/tlb.h:22, from /home/sam/kernel/kbuild.git/arch/sparc/mm/init.c:32: /home/sam/kernel/kbuild.git/include/asm-generic/tlb.h: In function `tlb_flush_mmu': /home/sam/kernel/kbuild.git/include/asm-generic/tlb.h:76: error: implicit declaration of function `release_pages' /home/sam/kernel/kbuild.git/include/asm-generic/tlb.h: In function `tlb_remove_page': /home/sam/kernel/kbuild.git/include/asm-generic/tlb.h:105: error: implicit declaration of function `page_cache_release' make[3]: *** [arch/sparc/mm/init.o] Error 1 make[2]: *** [arch/sparc/mm] Error 2 make[1]: *** [_all] Error 2 make: *** [all] Error 2 make -C /home/sam/kernel/kbuild.git O=/home/sam/kernel/oppc64 Using /home/sam/kernel/kbuild.git as source for kernel GEN /home/sam/kernel/oppc64/Makefile CHK include/linux/version.h CHK include/linux/utsrelease.h SYMLINK include/asm -> include/asm-powerpc CHK include/linux/compile.h CC arch/powerpc/mm/tlb_32.o In file included from include2/asm/tlb.h:52, from /home/sam/kernel/kbuild.git/arch/powerpc/mm/tlb_32.c:31: /home/sam/kernel/kbuild.git/include/asm-generic/tlb.h: In function `tlb_flush_mmu': /home/sam/kernel/kbuild.git/include/asm-generic/tlb.h:76: error: implicit declaration of function `release_pages' /home/sam/kernel/kbuild.git/include/asm-generic/tlb.h: In function `tlb_remove_page': /home/sam/kernel/kbuild.git/include/asm-generic/tlb.h:105: error: implicit declaration of function `page_cache_release' make[3]: *** [arch/powerpc/mm/tlb_32.o] Error 1 make[2]: *** [arch/powerpc/mm] Error 2 make[1]: *** [_all] Error 2 make: *** [all] Error 2 ^ permalink raw reply [flat|nested] 8+ messages in thread
* Re: [2.6 patch] add -Werror-implicit-function-declaration to CFLAGS 2006-07-07 6:42 ` Sam Ravnborg @ 2006-07-07 7:49 ` Adrian Bunk 0 siblings, 0 replies; 8+ messages in thread From: Adrian Bunk @ 2006-07-07 7:49 UTC (permalink / raw) To: Sam Ravnborg; +Cc: Valdis.Kletnieks, kai, linux-kernel, Dave Jones, linux-arch On Fri, Jul 07, 2006 at 08:42:18AM +0200, Sam Ravnborg wrote: >... > make -C /home/sam/kernel/kbuild.git O=/home/sam/kernel/osparc > Using /home/sam/kernel/kbuild.git as source for kernel > GEN /home/sam/kernel/osparc/Makefile > CHK include/linux/version.h > CHK include/linux/utsrelease.h > CHK include/linux/compile.h > CC arch/sparc/mm/init.o > In file included from include2/asm/tlb.h:22, > from /home/sam/kernel/kbuild.git/arch/sparc/mm/init.c:32: > /home/sam/kernel/kbuild.git/include/asm-generic/tlb.h: In function `tlb_flush_mmu': > /home/sam/kernel/kbuild.git/include/asm-generic/tlb.h:76: error: implicit declaration of function `release_pages' > /home/sam/kernel/kbuild.git/include/asm-generic/tlb.h: In function `tlb_remove_page': > /home/sam/kernel/kbuild.git/include/asm-generic/tlb.h:105: error: implicit declaration of function `page_cache_release' > make[3]: *** [arch/sparc/mm/init.o] Error 1 > make[2]: *** [arch/sparc/mm] Error 2 > make[1]: *** [_all] Error 2 > make: *** [all] Error 2 >... OK, I tried starting with this one. The problem is that in the CONFIG_SWAP=n case, linux/swap.h uses these functions. These implicit declarations are bugs that should be fixed. I tried adding an #include <linux/pagemap.h> to linux/swap.h, but this broke things faster than I could fix them. Does anyone know our header mess good enough for being able to help me with this issue? cu Adrian -- "Is there not promise of rain?" Ling Tan asked suddenly out of the darkness. There had been need of rain for many days. "Only a promise," Lao Er said. Pearl S. Buck - Dragon Seed ^ permalink raw reply [flat|nested] 8+ messages in thread
* Re: [2.6 patch] add -Werror-implicit-function-declaration to CFLAGS 2006-07-07 3:36 ` [2.6 patch] add -Werror-implicit-function-declaration to CFLAGS Sam Ravnborg 2006-07-07 5:02 ` Valdis.Kletnieks @ 2006-07-07 7:18 ` Adrian Bunk 2006-07-07 7:49 ` Heiko Carstens 2 siblings, 0 replies; 8+ messages in thread From: Adrian Bunk @ 2006-07-07 7:18 UTC (permalink / raw) To: Sam Ravnborg; +Cc: kai, linux-kernel, Dave Jones, linux-arch On Fri, Jul 07, 2006 at 05:36:30AM +0200, Sam Ravnborg wrote: > 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 >... I did defconfig builds on 12 architectures, but no allnoconfig builds. I'll try to fix them. > Sam >... cu Adrian -- "Is there not promise of rain?" Ling Tan asked suddenly out of the darkness. There had been need of rain for many days. "Only a promise," Lao Er said. Pearl S. Buck - Dragon Seed ^ permalink raw reply [flat|nested] 8+ messages in thread
* Re: [2.6 patch] add -Werror-implicit-function-declaration to CFLAGS 2006-07-07 3:36 ` [2.6 patch] add -Werror-implicit-function-declaration to CFLAGS Sam Ravnborg 2006-07-07 5:02 ` Valdis.Kletnieks 2006-07-07 7:18 ` Adrian Bunk @ 2006-07-07 7:49 ` Heiko Carstens 2006-07-07 9:33 ` Sam Ravnborg 2 siblings, 1 reply; 8+ messages in thread From: Heiko Carstens @ 2006-07-07 7:49 UTC (permalink / raw) To: Sam Ravnborg; +Cc: Adrian Bunk, kai, linux-kernel, Dave Jones, linux-arch > > 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. s390 builds with defconfig and allnoconfig and a few other variants as well. ^ permalink raw reply [flat|nested] 8+ messages in thread
* Re: [2.6 patch] add -Werror-implicit-function-declaration to CFLAGS 2006-07-07 7:49 ` Heiko Carstens @ 2006-07-07 9:33 ` Sam Ravnborg 0 siblings, 0 replies; 8+ messages in thread From: Sam Ravnborg @ 2006-07-07 9:33 UTC (permalink / raw) To: Heiko Carstens; +Cc: Adrian Bunk, kai, linux-kernel, Dave Jones, linux-arch On Fri, Jul 07, 2006 at 09:49:18AM +0200, Heiko Carstens 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. > > s390 builds with defconfig and allnoconfig and a few other variants as well. Thanks for testing. Sam ^ permalink raw reply [flat|nested] 8+ messages in thread
* RE: [2.6 patch] add -Werror-implicit-function-declaration to CFLAGS @ 2006-07-07 17:10 Luck, Tony 0 siblings, 0 replies; 8+ messages in thread From: Luck, Tony @ 2006-07-07 17:10 UTC (permalink / raw) To: Sam Ravnborg, Adrian Bunk; +Cc: kai, linux-kernel, Dave Jones, linux-arch > This patch broke (-rc1): > > sparc allnoconfig build > ia64 allnoconfig build > ppc64 allnoconfig build ia64 allnoconfig is (and has been for a while) broken for other reasons. Almost all of the real configurations still build. The only error that adding this turned up was building a generic uniprocessor config. smp_call_function_single() is used without a prototype by arch/ia64/sn/kernel/sn2/sn_hwperf.c:sn_hwperf_op_cpu() This isn't a real error because this function actually does return an "int", so the complier default is correct (plus the caller doesn't look at the return value, plus on a UP we'd never be able to get to this call-site because it is in the "else" !!!). But I'll fix it anyway. diff --git a/include/asm-ia64/smp.h b/include/asm-ia64/smp.h index 719ff30..949e3a2 100644 --- a/include/asm-ia64/smp.h +++ b/include/asm-ia64/smp.h @@ -133,6 +133,7 @@ #else #define cpu_logical_id(i) 0 #define cpu_physical_id(i) ia64_get_lid() +#define smp_call_function_single(cpuid, func, info, retry, wait) 0 #endif /* CONFIG_SMP */ #endif /* _ASM_IA64_SMP_H */ -Tony ^ permalink raw reply related [flat|nested] 8+ messages in thread
end of thread, other threads:[~2006-07-07 17:13 UTC | newest]
Thread overview: 8+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
[not found] <20060706163728.GN26941@stusta.de>
2006-07-07 3:36 ` [2.6 patch] add -Werror-implicit-function-declaration to CFLAGS Sam Ravnborg
2006-07-07 5:02 ` Valdis.Kletnieks
2006-07-07 6:42 ` Sam Ravnborg
2006-07-07 7:49 ` Adrian Bunk
2006-07-07 7:18 ` Adrian Bunk
2006-07-07 7:49 ` Heiko Carstens
2006-07-07 9:33 ` Sam Ravnborg
2006-07-07 17:10 Luck, Tony
This is a public inbox, see mirroring instructions for how to clone and mirror all data and code used for this inbox