Section mismatch warnings (was Re: [PATCH] early_pfn_to_nid needs to be __meminit)
Yasunori Goto
y-goto at jp.fujitsu.com
Thu May 10 15:41:07 EST 2007
Add to CC: Sam-san. :-)
> On Wed, 2007-05-09 at 14:45 -0500, Linas Vepstas wrote:
> > On Wed, May 09, 2007 at 06:51:15PM +0200, Gabriel Paubert wrote:
> > > On Thu, May 10, 2007 at 02:25:52AM +1000, Stephen Rothwell wrote:
> > > > This removes a section mismatch warning in those circumstances.
> > >
> > > Speaking of this, I just tried to compile an official (Linus' git tree)
> > > kernel for my old PMac G4 and I get a lot of section mismatch warnings at
> > > the end of the compilation:
> > >
> > > WARNING: arch/powerpc/mm/built-in.o - Section mismatch: reference to .init.text:early_get_page from .text between 'pte_alloc_one_kernel' (at offset 0xf50) and 'v_mapped_by_bats'
> > >
> > > I find these 50 or so warnings so scary that I've not yet tried
> > > to boot the kernel. Note that this is a non-modular kernel.
> >
> > I'm getting oodles of these on an older -mm2 tree. The kernels seem to
> > work fine. Yes, they should be fixed but I'm up to my proverbial eyballs
> > in alligators.
>
> Yeah, I see all kinds of this too. Does anyone have an idea why they're
> being spit out? Or if it's related to a particular binutils version,
> etc?
These warnings are showed by scripts/mod/modposts.c.
It checks section mismatch stricter than before.
Some of them are not defined as __init even if it's called at just
boottime. This is simple to fix.
Second case is that the functions judge which functions
should call (boottime or normal) by themselves.
pte_alloc_one_kernel() looks its case.
In this case, they must be registered in whitelist of modpost.c
Other possibility is they are just rare called functions.
It should be investigated....
Bye.
--
Yasunori Goto
More information about the Linuxppc-dev
mailing list