Messages in this thread | | | Date | Fri, 17 Feb 2006 16:09:21 -0800 | From | Greg KH <> | Subject | Re: kbuild: Section mismatch warnings |
| |
On Fri, Feb 17, 2006 at 11:47:02PM +0100, Sam Ravnborg wrote: > Background: > I have introduced a build-time check for section mismatch and it showed > up a great number of warnings. > Below is the result of the run on a 2.6.16-rc1 tree (which my kbuild > tree is based upon) based on a 'make allmodconfig' > > 159 warnings in 49 different modules > > I have included the obvious candidates for the modules in to: but some > are for sure missing and some may be wrong. > > WARNING: drivers/usb/gadget/g_ether.o - Section mismatch: reference to .init.text from .data between 'eth_driver' (at offset 0x10) and 'stringtab' > WARNING: drivers/usb/gadget/g_file_storage.o - Section mismatch: reference to .init.text from .data between 'fsg_driver' (at offset 0x10) and 'stringtab' > WARNING: drivers/usb/gadget/g_serial.o - Section mismatch: reference to .init.text from .text between 'gs_bind' (at offset 0x50) and '.text.lock.serial' > WARNING: drivers/usb/gadget/g_serial.o - Section mismatch: reference to .init.text from .text between 'gs_bind' (at offset 0x5f) and '.text.lock.serial' > WARNING: drivers/usb/gadget/g_serial.o - Section mismatch: reference to .init.text from .text between 'gs_bind' (at offset 0x88) and '.text.lock.serial' > WARNING: drivers/usb/gadget/g_serial.o - Section mismatch: reference to .init.text from .text between 'gs_bind' (at offset 0xba) and '.text.lock.serial' > WARNING: drivers/usb/gadget/g_zero.o - Section mismatch: reference to .init.text from .text between 'zero_bind' (at offset 0x11) and 'zero_suspend' > WARNING: drivers/usb/gadget/g_zero.o - Section mismatch: reference to .init.text from .text between 'zero_bind' (at offset 0x20) and 'zero_suspend' > WARNING: drivers/usb/gadget/g_zero.o - Section mismatch: reference to .init.text from .text between 'zero_bind' (at offset 0x68) and 'zero_suspend'
David, these all look like they are due to the calls in the drivers/usb/gadget/epautoconf.c file from functions within the gadget drivers. It looks like it's all safe, but can you verify that the bind callback is finished before module_init() exits?
And if so, we should mark the bind functions __init also, to prevent this from being flagged in the future.
> WARNING: drivers/usb/host/isp116x-hcd.o - Section mismatch: reference to .init.text from .data between '' (at offset 0x0) and 'isp116x_hc_driver'
This looks like the isp116x_remove function just needs to get the looney __init_or_module marking of of it. Again, David, do you agree?
thanks,
greg k-h - To unsubscribe from this list: send the line "unsubscribe linux-kernel" in the body of a message to majordomo@vger.kernel.org More majordomo info at http://vger.kernel.org/majordomo-info.html Please read the FAQ at http://www.tux.org/lkml/
| |