public inbox for linux-kernel@vger.kernel.org
 help / color / mirror / Atom feed
* [PATCH 00/12] making the kernel -Wshadow clean - The initial step
@ 2006-07-30 16:30 Jesper Juhl
  2006-07-30 16:35 ` [PATCH 01/12] making the kernel -Wshadow clean - fix mconf Jesper Juhl
                   ` (14 more replies)
  0 siblings, 15 replies; 34+ messages in thread
From: Jesper Juhl @ 2006-07-30 16:30 UTC (permalink / raw)
  To: linux-kernel
  Cc: Andrew Morton, Nikita Danilov, Joe Perches, Martin Waitz,
	Jan-Benedict Glaw, Christoph Hellwig, David Woodhouse,
	Arjan van de Ven, Dmitry Torokhov, Valdis Kletnieks, Sam Ravnborg,
	Russell King, Rusty Russell, Randy Dunlap, Jesper Juhl

Ok, here we go again...

This is a series of patches that try to be an initial step towards making
the kernel build -Wshadow clean.

Yeah, I'm persisting with this since I get the impression, from the feedback
I've been getting, that this effort is mostly looked upon favorably.

The reasons why we should do this should be obvious, but I'll list the main
reasons anyway.
In the end the compiler will help us prevent new (and hard to find bugs)
due to symbol shadowing.
It'll help us keep our namespaces separate.
We may find some bugs along the way - and even if it's just one it'll be
worth it :)

I have recieved a lot of useful feedback to the previous patches I've
posted and I've tried to incorporate all the feedback in this series.

There should be no change in behaviour from these patches and it's my hope
that they are acceptable for merging so that, going forward, I will have 
these 12 less to keep track of separately.

A patch to add -Wshadow to the toplevel Makefile is not included since it's
still a little early for that. There are still a lot of warnings that need 
to be fixed, this series is just the first step (but as I think the numbers
below will show, it's a pretty big first step).
I'm only able to work against i386 at the moment, so the results below
probably won't be as nice for other archs, but no need to worry, I do plan
to clean up other archs as well - I just need to get a bunch of
cross-compilers installed.
My plan is to keep submitting new series of patches against -mm (assuming
that these will get merged there) until we are down to less than 100 warnings
for all the standard configs for all archs and then at that point submit a
patch to add -Wshadow to the toplevel Makefile - if someone wants to help
out I'd appreciate it - there are still lots of warnings left to work on, some
of them I've just not gotten to yet, but some of them I'll definately need 
help with as well.


All of this is against 2.6.18-rc3.

Without the patches, adding -Wshadow to the makefile results in these 
warnings for a few different .config's :

allnoconfig
---
$ grep warning build.log.allno | grep shadow | wc -l
1267

allmodconfig
---
$ grep warning build.log.allmod | grep shadow | wc -l
39921

allyesconfig
---
$ grep warning build.log.allyes | grep shadow | wc -l
32477

with my normal workstation config
---
$ grep warning build.log.juhl | grep shadow | wc -l
5298


After applying the patches in this series, quite a different picture
emerges.

allnoconfig :	124 warnings	(~10%)
allmodconfig :	6508 warnings	(~16%)
allyesconfig :	6522 warnings (~20%)
my config :	958 warnings	(~18%)

So with just 12 small patches the number of -Wshadow related warnings is
reduced to between 10 and 20 percent of what they previously were. 
Personally I'd say that's a pretty good first step.

I've added a bunch of people to Cc: on this mail, trying to pick those that
have either responded to my previous attempts or whoes code I'm changing.
I may not have gotten it 100% right, so please bear with me.
I'll not be sending the actual patches to all of you guys - don't want to 
spam your inbox too much. Instead I'll send all 12 patches as a reply to
this email to LKML with just akpm cc.   I hope that's OK with everyone.


Patch series overview : 

[PATCH 00/12] making the kernel -Wshadow clean - The initial step
[PATCH 01/12] making the kernel -Wshadow clean - fix mconf
[PATCH 02/12] making the kernel -Wshadow clean - fix lxdialog
[PATCH 03/12] making the kernel -Wshadow clean - fix jiffies.h
[PATCH 04/12] making the kernel -Wshadow clean - warnings related to 'up'
[PATCH 05/12] making the kernel -Wshadow clean - warnings related to wbc and map_bh
[PATCH 06/12] making the kernel -Wshadow clean - fix checksum
[PATCH 07/12] making the kernel -Wshadow clean - fix vgacon
[PATCH 08/12] making the kernel -Wshadow clean - fix keyboard.c
[PATCH 09/12] making the kernel -Wshadow clean - neighbour.h and 'proc_handler'
[PATCH 10/12] making the kernel -Wshadow clean - mm/truncate.c
[PATCH 11/12] making the kernel -Wshadow clean - USB & completion
[PATCH 12/12] making the kernel -Wshadow clean - 'irq' shadows local and global


-- 
Jesper Juhl <jesper.juhl@gmail.com>
Don't top-post  http://www.catb.org/~esr/jargon/html/T/top-post.html
Plain text mails only, please      http://www.expita.com/nomime.html


^ permalink raw reply	[flat|nested] 34+ messages in thread

end of thread, other threads:[~2006-08-01  6:52 UTC | newest]

Thread overview: 34+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2006-07-30 16:30 [PATCH 00/12] making the kernel -Wshadow clean - The initial step Jesper Juhl
2006-07-30 16:35 ` [PATCH 01/12] making the kernel -Wshadow clean - fix mconf Jesper Juhl
2006-07-30 18:34   ` Paul Jackson
2006-07-30 18:48     ` Jesper Juhl
2006-07-30 19:06       ` Andrew Morton
2006-07-30 19:17         ` Jesper Juhl
2006-07-30 19:51           ` Andrew Morton
2006-07-30 19:57             ` Arjan van de Ven
2006-07-30 20:03             ` Jesper Juhl
2006-07-30 19:32         ` Paul Jackson
2006-07-30 23:41       ` Arnd Bergmann
2006-07-31 15:41       ` Horst H. von Brand
2006-07-31 16:04         ` H. Peter Anvin
2006-07-30 16:36 ` [PATCH 02/12] making the kernel -Wshadow clean - fix lxdialog Jesper Juhl
2006-07-30 16:37 ` [PATCH 03/12] making the kernel -Wshadow clean - fix jiffies.h Jesper Juhl
2006-07-30 16:38 ` [PATCH 04/12] making the kernel -Wshadow clean - warnings related to 'up' Jesper Juhl
2006-07-30 16:38 ` [PATCH 05/12] making the kernel -Wshadow clean - warnings related to wbc and map_bh Jesper Juhl
2006-07-30 16:39 ` [PATCH 06/12] making the kernel -Wshadow clean - fix checksum Jesper Juhl
2006-07-30 16:40 ` [PATCH 07/12] making the kernel -Wshadow clean - fix vgacon Jesper Juhl
2006-07-30 16:41 ` [PATCH 08/12] making the kernel -Wshadow clean - fix keyboard.c Jesper Juhl
2006-07-30 16:42 ` [PATCH 09/12] making the kernel -Wshadow clean - neighbour.h and 'proc_handler' Jesper Juhl
2006-07-30 16:42 ` [PATCH 10/12] making the kernel -Wshadow clean - mm/truncate.c Jesper Juhl
2006-07-30 16:43 ` [PATCH 11/12] making the kernel -Wshadow clean - USB & completion Jesper Juhl
2006-07-30 16:44 ` [PATCH 12/12] making the kernel -Wshadow clean - 'irq' shadows local and global Jesper Juhl
2006-07-30 16:54 ` [PATCH 00/12] making the kernel -Wshadow clean - The initial step Krzysztof Halasa
2006-07-30 17:14   ` Jesper Juhl
2006-07-30 17:27     ` Krzysztof Halasa
2006-07-30 18:29       ` Andrew Morton
2006-07-30 23:36         ` Arnd Bergmann
2006-08-01  6:17       ` Jan Engelhardt
2006-07-30 19:24 ` Jesper Juhl
2006-07-30 20:09   ` Jan-Benedict Glaw
2006-07-30 19:29 ` Sam Ravnborg
2006-07-30 19:39   ` Jesper Juhl

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox