More info on section mismatches (was Re: [PATCH] [TULIP] Fix section mismatch in de2104x.c)

From: Valerie Henson
Date: Fri Oct 06 2006 - 15:26:23 EST


On Fri, Oct 06, 2006 at 02:39:41PM -0400, Jeff Garzik wrote:
> Matthew Wilcox wrote:
> >From: Helge Deller <deller@xxxxxxxxxxxxxxxx>
> >
> >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
-
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/