Re: (hacky) [PATCH] silence MODPOST section mismatch warnings

From: David Miller
Date: Thu May 10 2007 - 17:01:54 EST


From: Russell King <rmk+lkml@xxxxxxxxxxxxxxxx>
Date: Thu, 10 May 2007 21:40:38 +0100

> On Thu, May 10, 2007 at 01:34:18PM -0700, Chris Wedgwood wrote:
> > MODPOST seems to be spewing bogus warnings. It's not clear how best
> > to fix it so perhaps we should silence it for now?
>
> I agree. Example bogus warning:
>
> WARNING: arch/arm/mach-iop32x/built-in.o - Section mismatch:
> reference to .init.text: from .data between 'iq80321_timer'
> (at offset 0x428) and 'iq80321_serial_device'
>
> c04088fc d iq80321_timer
> c0408950 d iq80321_serial_device
>
> It's completely unclear what is referencing what, what the two named
> symbols mean, and even what "at offset" relates to.
>
> What I can say is that iq80321_timer doesn't reference iq80321_serial_device
> nor vice versa, and iq80321_timer is far smaller than 0x428 bytes.

The range of symbols is just provided to handle inaccuracies
in mid-function and mid-object references, it actually helps.

In this particular case iq80321_timer, which is not init-data,
is referencing iq80321_timer_init() which is init.text

If this is legitimate (which I believe this case is, the init function
method can be init but the offset one is not), add an exception case
like we already have for console drivers et al. to modpost.c and this
warning will go away.
-
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/