Re: [git pull] PCI changes for 2.6.30

From: Sam Ravnborg
Date: Wed Apr 01 2009 - 15:10:32 EST


On Wed, Apr 01, 2009 at 12:37:49PM -0600, Alex Chiang wrote:
> * Jesse Barnes <jbarnes@xxxxxxxxxxxxxxxx>:
> > On Wed, 1 Apr 2009 10:01:12 -0700 (PDT)
> > Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> wrote:
> >
> > >
> > >
> > > On Tue, 31 Mar 2009, Jesse Barnes wrote:
> > > >
> > > > Please consider pulling my PCI tree from
> > > > git://git.kernel.org/pub/scm/linux/kernel/git/jbarnes/pci-2.6
> > > > linux-next
> > >
> > > This produces
> > >
> > > WARNING: drivers/built-in.o(.text+0x69a1): Section mismatch in
> > > reference from the function dev_rescan_store() to the
> > > function .devinit.text:pci_rescan_bus() The function
> > > dev_rescan_store() references the function __devinit
> > > pci_rescan_bus(). This is often because dev_rescan_store lacks a
> > > __devinit annotation or the annotation of pci_rescan_bus is wrong.
> > >
> > > Hmm?
> >
> > Arg how did I miss that? Maybe the last build I did was missing
> > hotplug support or something... Anyway looking now (at first glance I
> > think pci_rescan_bus needs to drop __devinit).
>
> This was my fault. pci_rescan_bus() definitely does not want
> __devinit.
>
> But I'm confused -- didn't we used to have an option in
> menuconfig under Kernel Hacking that would turn on section
> mismatch warnings? I used to have that turned on, and don't
> remember turning it off, and I can't find it now.
>
> I'm told that we're supposed to set it on the make command line,
> like:
>
> make CONFIG_DEBUG_SECTION_MISMATCH=y -j16
>
> or something. Has this changed recently or am I just imagining
> things (or just plain stupid?)

That was maybe one year ago we had it in menuconfig.
When I get on top of things I will enable it and try to
help fixing the remaining warnings.

I have resisted enabling it for now as I cannot support the people
that see the warnings atm.

The patch to enable it is simple so if anyone want
to help fix the warnings then...

diff --git a/lib/Kconfig.debug b/lib/Kconfig.debug
index 9638d99..ee5e6f3 100644
--- a/lib/Kconfig.debug
+++ b/lib/Kconfig.debug
@@ -95,10 +95,6 @@ config HEADERS_CHECK

config DEBUG_SECTION_MISMATCH
bool "Enable full Section mismatch analysis"
- depends on UNDEFINED
- # This option is on purpose disabled for now.
- # It will be enabled when we are down to a resonable number
- # of section mismatch warnings (< 10 for an allyesconfig build)
help
The section mismatch analysis checks if there are illegal
references from one section to another section.


Sam
--
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/