On Fri, Oct 06, 2006 at 02:39:41PM -0400, Jeff Garzik wrote:
> Matthew Wilcox wrote:
> >From: Helge Deller <[email protected]>
> >
> >WARNING: drivers/net/tulip/de2104x.o - Section mismatch: reference to
> >.init.text:de_init_one from .data.rel.local after 'de_driver' (at offset
> >0x20)
> >WARNING: drivers/net/tulip/de2104x.o - Section mismatch: reference to
> >.exit.text:de_remove_one from .data.rel.local after 'de_driver' (at offset
> >0x28)
>
> I'm a bit blind, so help me out here... what precisely is mismatched?
>
> AFAICS everything is properly marked __init or __exit.
(Cc'd Richard Henderson as resident gcc guru.)
We're discussing a way to get more information out of section mismatch
reports so that the causes of section mismatches are a little more
obvious. I'd like to see something like:
foo() is marked __init at line 34
bar() calls foo() at line 57
Arjan points out that optimization may make this difficult; I'm happy
with a separate script running at a lower level of optimization that
you can run by hand when one of these warnings shows up.
Ideas?
-VAL