* [GIT] kbuild core updates for 2.6.39-rc1
@ 2011-03-19 8:58 Michal Marek
2011-03-21 0:53 ` Linus Torvalds
0 siblings, 1 reply; 4+ messages in thread
From: Michal Marek @ 2011-03-19 8:58 UTC (permalink / raw)
To: Linus Torvalds
Cc: bp, dot, mikew, mmarek, randy.dunlap, u.kleine-koenig,
linux-kbuild, linux-kernel
Hi Linus,
please pull these kbuild updates for 2.6.39-rc1:
* Section mismatch analysis enabled by default
- there are only a few warnings for defconfig builds,
all{yes,mod}config still has a lot of them. Depending on the general
perception of this change, we might disable it later in the rc phase
again.
* Update of unifdef. This is a noop for kbuild, but being in sync
with upstream is good.
* make W=1 mode that enables a lot of non-default gcc warnings.
* genksyms detects changes in enum constant values.
* two minor fixes.
The following changes since commit c56eb8fb6dccb83d9fe62fd4dc00c834de9bc470:
Linux 2.6.38-rc1 (2011-01-18 15:14:02 -0800)
are available in the git repository at:
git://git.kernel.org/pub/scm/linux/kernel/git/mmarek/kbuild-2.6.git kbuild
Borislav Petkov (1):
kbuild: Add extra gcc checks
Michal Marek (8):
genksyms: Do not paste the bison header file to lex.c
genksyms: Simplify lexer
genksyms: Simplify printing of symbol types
genksyms: Add helpers for building string lists
genksyms: simplify usage of find_symbol()
genksyms: Track changes to enum constants
genksyms: Regenerate lexer and parser
Merge branch 'genksyms-enum' into kbuild/kbuild
Mike Waychison (1):
KBuild: silence "'scripts/unifdef' is up to date."
Randy Dunlap (1):
modpost: fix trailing comma
Tony Finch (1):
unifdef: update to upstream version 2.5
Uwe Kleine-König (1):
kbuild: reenable section mismatch analysis
Documentation/kbuild/kbuild.txt | 5 +
Makefile | 7 +-
lib/Kconfig.debug | 4 -
scripts/Makefile | 5 +
scripts/Makefile.build | 35 ++-
scripts/genksyms/Makefile | 4 +-
scripts/genksyms/genksyms.c | 192 +++++--
scripts/genksyms/genksyms.h | 7 +-
scripts/genksyms/lex.c_shipped | 427 ++++++----------
scripts/genksyms/lex.l | 44 ++-
scripts/genksyms/parse.c_shipped | 1071 ++++++++++++++++++++++----------------
scripts/genksyms/parse.h_shipped | 72 +--
scripts/genksyms/parse.y | 34 ++-
scripts/mod/modpost.c | 23 +-
scripts/unifdef.c | 247 +++++++---
15 files changed, 1237 insertions(+), 940 deletions(-)
^ permalink raw reply [flat|nested] 4+ messages in thread
* Re: [GIT] kbuild core updates for 2.6.39-rc1
2011-03-19 8:58 [GIT] kbuild core updates for 2.6.39-rc1 Michal Marek
@ 2011-03-21 0:53 ` Linus Torvalds
2011-03-21 7:47 ` Uwe Kleine-König
0 siblings, 1 reply; 4+ messages in thread
From: Linus Torvalds @ 2011-03-21 0:53 UTC (permalink / raw)
To: Michal Marek
Cc: bp, dot, mikew, randy.dunlap, u.kleine-koenig, linux-kbuild,
linux-kernel
On Sat, Mar 19, 2011 at 1:58 AM, Michal Marek <mmarek@suse.cz> wrote:
>
> * Section mismatch analysis enabled by default
> - there are only a few warnings for defconfig builds,
> all{yes,mod}config still has a lot of them. Depending on the general
> perception of this change, we might disable it later in the rc phase
> again.
No.
We don't enable stuff like this by default. Not when it actually
changes some really fundamental compiler flags, and thus the whole "we
can disable it late in -rc again" is a totally broken option, since if
we have any compiler issues, we'd want to know it early.
And we _know_ we are going to disable it, since it enables the "don't
inline" flag to gcc for called-once functions. So there's no question
at all what the default should be in any release kernel.
Anyway - in general, enabling options like this had better have some
_seriously_ major reasons. IOW, major known issues that just have to
be sorted out and cannot be sorted out any other way. That doesn't
seem to be the case here.
WE DO NOT EVER ENABLE NEW THINGS BY DEFAULT. I know, I know - every
developer always thinks that _his_ code is special and magically so
important that it should be enabled by default, but no, that is simply
not the case. The only reason to enable something by default is that
it used to never be a config option in the first place, so if somebody
builds a new kernel, and he used to just silently get the feature,
then the new config option is still on by default.
Not pulling. This is a pet peeve of mine. We don't use "set to 'y' on
default" as a way to trick people into enabling code. No, no, no.
Linus
^ permalink raw reply [flat|nested] 4+ messages in thread
* Re: [GIT] kbuild core updates for 2.6.39-rc1
2011-03-21 0:53 ` Linus Torvalds
@ 2011-03-21 7:47 ` Uwe Kleine-König
2011-03-21 10:17 ` Michal Marek
0 siblings, 1 reply; 4+ messages in thread
From: Uwe Kleine-König @ 2011-03-21 7:47 UTC (permalink / raw)
To: Linus Torvalds
Cc: Michal Marek, bp, dot, mikew, randy.dunlap, linux-kbuild,
linux-kernel, Mike Frysinger, Randy Dunlap
On Sun, Mar 20, 2011 at 05:53:24PM -0700, Linus Torvalds wrote:
> On Sat, Mar 19, 2011 at 1:58 AM, Michal Marek <mmarek@suse.cz> wrote:
> >
> > * Section mismatch analysis enabled by default
> > - there are only a few warnings for defconfig builds,
> > all{yes,mod}config still has a lot of them. Depending on the general
> > perception of this change, we might disable it later in the rc phase
> > again.
>
> No.
>
> We don't enable stuff like this by default. Not when it actually
> changes some really fundamental compiler flags, and thus the whole "we
> can disable it late in -rc again" is a totally broken option, since if
> we have any compiler issues, we'd want to know it early.
Note that the default y doesn't result from the patch in this pull
request but from
1d53661 (blackfin: enable DEBUG_SECTION_MISMATCH)
. I admit I didn't think deeply about it, but keeping it seemed OK for
me.
> And we _know_ we are going to disable it, since it enables the "don't
> inline" flag to gcc for called-once functions. So there's no question
> at all what the default should be in any release kernel.
I wasn't aware of that, Mike so even "default y if BLACKFIN" seems to be
a bad idea.
Michal, do you want just remove the default y and squash it into the
commit?
And something that just occured my now is that the warning about
CONFIG_DEBUG_SECTION_MISMATCH in scripts/mod/modpost.c could get an
update, too. Something like:
warn("modpost: Found %d section mismatch(es).\n"
- "To see full details build your kernel with:\n"
- "'make CONFIG_DEBUG_SECTION_MISMATCH=y'\n",
+ "To see full details enable CONFIG_DEBUG_SECTION_MISMATCH in your .config.\n"
sec_mismatch_count);
Best regards
Uwe
--
Pengutronix e.K. | Uwe Kleine-König |
Industrial Linux Solutions | http://www.pengutronix.de/ |
^ permalink raw reply [flat|nested] 4+ messages in thread
* Re: [GIT] kbuild core updates for 2.6.39-rc1
2011-03-21 7:47 ` Uwe Kleine-König
@ 2011-03-21 10:17 ` Michal Marek
0 siblings, 0 replies; 4+ messages in thread
From: Michal Marek @ 2011-03-21 10:17 UTC (permalink / raw)
To: Uwe Kleine-König
Cc: Linus Torvalds, bp, dot, mikew, randy.dunlap, linux-kbuild,
linux-kernel, Mike Frysinger, Randy Dunlap
On Mon, Mar 21, 2011 at 08:47:48AM +0100, Uwe Kleine-König wrote:
> On Sun, Mar 20, 2011 at 05:53:24PM -0700, Linus Torvalds wrote:
> > On Sat, Mar 19, 2011 at 1:58 AM, Michal Marek <mmarek@suse.cz> wrote:
> > >
> > > * Section mismatch analysis enabled by default
> > > - there are only a few warnings for defconfig builds,
> > > all{yes,mod}config still has a lot of them. Depending on the general
> > > perception of this change, we might disable it later in the rc phase
> > > again.
> >
> > No.
> >
> > We don't enable stuff like this by default. Not when it actually
> > changes some really fundamental compiler flags, and thus the whole "we
> > can disable it late in -rc again" is a totally broken option, since if
> > we have any compiler issues, we'd want to know it early.
OK, point taken.
> Michal, do you want just remove the default y and squash it into the
> commit?
I'm about to add this to the kbuild branch. Linus, would you pull such
version?
From: Michal Marek <mmarek@suse.cz>
Subject: [PATCH] kbuild: Make DEBUG_SECTION_MISMATCH selectable, but not on by default
CONFIG_DEBUG_SECTION_MISMATCH has also runtime effects due to the
-fno-inline-functions-called-once compiler flag, so forcing it on
everyone is not a good idea.
Signed-off-by: Michal Marek <mmarek@suse.cz>
diff --git a/lib/Kconfig.debug b/lib/Kconfig.debug
index 8b6a4f1..5a24805 100644
--- a/lib/Kconfig.debug
+++ b/lib/Kconfig.debug
@@ -102,7 +102,6 @@ config HEADERS_CHECK
config DEBUG_SECTION_MISMATCH
bool "Enable full Section mismatch analysis"
- default y
help
The section mismatch analysis checks if there are illegal
references from one section to another section.
Michal
^ permalink raw reply related [flat|nested] 4+ messages in thread
end of thread, other threads:[~2011-03-21 10:17 UTC | newest]
Thread overview: 4+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2011-03-19 8:58 [GIT] kbuild core updates for 2.6.39-rc1 Michal Marek
2011-03-21 0:53 ` Linus Torvalds
2011-03-21 7:47 ` Uwe Kleine-König
2011-03-21 10:17 ` Michal Marek
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox