2008-02-14 20:54:23

by Erez Zadok

[permalink] [raw]
Subject: [PATCH] unhide CONFIG_DEBUG_SECTION_MISMATCH

Using: v2.6.25-rc1-120-ge760e71

In a normal compilation, I might this message:

...
MODPOST vmlinux.o
WARNING: modpost: Found 4 section mismatch(es).
To see full details build your kernel with:
'make CONFIG_DEBUG_SECTION_MISMATCH=y'
...

I can indeed try to re-make, passing CONFIG_DEBUG_SECTION_MISMATCH=y on the
command line, but I can't turn on the option in my .config. That's because
the option depends on "UNDEFINED". (Was that an attempt to "hide" the
option? Why?) The following small patch allows me to set the option in my
.config.

Cheers,
Erez.



Signed-off-by: Erez Zadok <[email protected]>

diff --git a/lib/Kconfig.debug b/lib/Kconfig.debug
index a370fe8..3399d9d 100644
--- a/lib/Kconfig.debug
+++ b/lib/Kconfig.debug
@@ -81,7 +81,6 @@ config HEADERS_CHECK

config DEBUG_SECTION_MISMATCH
bool "Enable full Section mismatch analysis"
- depends on UNDEFINED
help
The section mismatch analysis checks if there are illegal
references from one section to another section.


2008-02-14 20:57:55

by Roland Dreier

[permalink] [raw]
Subject: Re: [PATCH] unhide CONFIG_DEBUG_SECTION_MISMATCH

> I can indeed try to re-make, passing CONFIG_DEBUG_SECTION_MISMATCH=y on the
> command line, but I can't turn on the option in my .config. That's because
> the option depends on "UNDEFINED". (Was that an attempt to "hide" the
> option? Why?) The following small patch allows me to set the option in my
> .config.

It seems this was intentional, see the log for e5f95c8b:

kbuild: print only total number of section mismatces found

We have too many section mismatches detected at the moment.
So silence modpost and prevent the option from being
set in a typical allyesconfig build.

Tell the user how to see all the deteils in the summary
message from modpost.

Signed-off-by: Sam Ravnborg <[email protected]>

2008-02-14 21:00:25

by Sam Ravnborg

[permalink] [raw]
Subject: Re: [PATCH] unhide CONFIG_DEBUG_SECTION_MISMATCH

On Thu, Feb 14, 2008 at 03:54:04PM -0500, Erez Zadok wrote:
> Using: v2.6.25-rc1-120-ge760e71
>
> In a normal compilation, I might this message:
>
> ...
> MODPOST vmlinux.o
> WARNING: modpost: Found 4 section mismatch(es).
> To see full details build your kernel with:
> 'make CONFIG_DEBUG_SECTION_MISMATCH=y'
> ...
>
> I can indeed try to re-make, passing CONFIG_DEBUG_SECTION_MISMATCH=y on the
> command line, but I can't turn on the option in my .config. That's because
> the option depends on "UNDEFINED". (Was that an attempt to "hide" the
> option? Why?) The following small patch allows me to set the option in my
> .config.

It was done so on purpose.
The rationale here is that we yet have too many section mismatch for
a typical build to pass my "good stomach" test.
So until we get down on an acceptable level we should not be
too noisy.
And I wanted it to be turned off also for allyesconfig builds.

I hope to spend time on the reaming warnings soon but the
option will not be enabled until latest next mergewindow.

You could argue that I could have doen this in better ways
The present version was just simple.

Sam

2008-02-14 21:06:14

by Erez Zadok

[permalink] [raw]
Subject: Re: [PATCH] unhide CONFIG_DEBUG_SECTION_MISMATCH

In message <[email protected]>, Sam Ravnborg writes:
> On Thu, Feb 14, 2008 at 03:54:04PM -0500, Erez Zadok wrote:
> > Using: v2.6.25-rc1-120-ge760e71
> >
> > In a normal compilation, I might this message:
> >
> > ...
> > MODPOST vmlinux.o
> > WARNING: modpost: Found 4 section mismatch(es).
> > To see full details build your kernel with:
> > 'make CONFIG_DEBUG_SECTION_MISMATCH=y'
> > ...
> >
> > I can indeed try to re-make, passing CONFIG_DEBUG_SECTION_MISMATCH=y on the
> > command line, but I can't turn on the option in my .config. That's because
> > the option depends on "UNDEFINED". (Was that an attempt to "hide" the
> > option? Why?) The following small patch allows me to set the option in my
> > .config.
>
> It was done so on purpose.
> The rationale here is that we yet have too many section mismatch for
> a typical build to pass my "good stomach" test.
> So until we get down on an acceptable level we should not be
> too noisy.
> And I wanted it to be turned off also for allyesconfig builds.
>
> I hope to spend time on the reaming warnings soon but the
> option will not be enabled until latest next mergewindow.
>
> You could argue that I could have doen this in better ways
> The present version was just simple.
>
> Sam

Thanks, Sam. That explains it. Perhaps a small comment next to the Kconfig
entry might help explain why the option is "hidden" for now, so others won't
bother unhiding it again.

Of course, forcing it on might help people to fix those warnings sooner. :-)

Erez.

2008-02-14 21:11:24

by Sam Ravnborg

[permalink] [raw]
Subject: Re: [PATCH] unhide CONFIG_DEBUG_SECTION_MISMATCH

On Thu, Feb 14, 2008 at 04:05:14PM -0500, Erez Zadok wrote:
> In message <[email protected]>, Sam Ravnborg writes:
> > On Thu, Feb 14, 2008 at 03:54:04PM -0500, Erez Zadok wrote:
> > > Using: v2.6.25-rc1-120-ge760e71
> > >
> > > In a normal compilation, I might this message:
> > >
> > > ...
> > > MODPOST vmlinux.o
> > > WARNING: modpost: Found 4 section mismatch(es).
> > > To see full details build your kernel with:
> > > 'make CONFIG_DEBUG_SECTION_MISMATCH=y'
> > > ...
> > >
> > > I can indeed try to re-make, passing CONFIG_DEBUG_SECTION_MISMATCH=y on the
> > > command line, but I can't turn on the option in my .config. That's because
> > > the option depends on "UNDEFINED". (Was that an attempt to "hide" the
> > > option? Why?) The following small patch allows me to set the option in my
> > > .config.
> >
> > It was done so on purpose.
> > The rationale here is that we yet have too many section mismatch for
> > a typical build to pass my "good stomach" test.
> > So until we get down on an acceptable level we should not be
> > too noisy.
> > And I wanted it to be turned off also for allyesconfig builds.
> >
> > I hope to spend time on the reaming warnings soon but the
> > option will not be enabled until latest next mergewindow.
> >
> > You could argue that I could have doen this in better ways
> > The present version was just simple.
> >
> > Sam
>
> Thanks, Sam. That explains it. Perhaps a small comment next to the Kconfig
> entry might help explain why the option is "hidden" for now, so others won't
> bother unhiding it again.

Something like this?
diff --git a/lib/Kconfig.debug b/lib/Kconfig.debug
index a370fe8..8a6b514 100644
--- a/lib/Kconfig.debug
+++ b/lib/Kconfig.debug
@@ -81,6 +81,8 @@ config HEADERS_CHECK

config DEBUG_SECTION_MISMATCH
bool "Enable full Section mismatch analysis"
+# Hide this option until we are down to a reasonable amount of warnings
+# for a typical kernel configuration
depends on UNDEFINED
help


Sam