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