Mikael Pettersson (on Sun, 11 Jun 2006 02:51:21 +0200 (MEST)) wrote: >On Sat, 10 Jun 2006 12:13:35 -0700, Randy.Dunlap wrote: >>On Sat, 10 Jun 2006 14:11:42 +0200 (MEST) Mikael Pettersson wrote: >> >>> While compiling 2.6.17-rc6 for a 486 with an NE2000 ISA ethernet card, I >>> got: >>> >>> WARNING: drivers/net/ne.o - Section mismatch: reference to >>> .init.data:isapnp_clone_list from .text between 'init_module' (at offset >>> 0x158) and 'ne_block_input' >>> WARNING: drivers/net/ne.o - Section mismatch: reference to >>> .init.data:isapnp_clone_list from .text between 'init_module' (at offset >>> 0x176) and 'ne_block_input' >>> WARNING: drivers/net/ne.o - Section mismatch: reference to >>> .init.data:isapnp_clone_list from .text between 'init_module' (at offset >>> 0x183) and 'ne_block_input' >>> WARNING: drivers/net/ne.o - Section mismatch: reference to >>> .init.data:isapnp_clone_list from .text between 'init_module' (at offset >>> 0x1ea) and 'ne_block_input' >>> WARNING: drivers/net/ne.o - Section mismatch: reference to >>> .init.data:isapnp_clone_list from .text between 'init_module' (at offset >>> 0x251) and 'ne_block_input' >>> WARNING: drivers/net/ne.o - Section mismatch: reference to .init.text: from >>> .text between 'init_module' (at offset 0x266) and 'ne_block_input' >>> WARNING: drivers/net/ne.o - Section mismatch: reference to .init.text: from >>> .text between 'init_module' (at offset 0x29b) and 'ne_block_input' >>> >>> Not sure how serious this is; the driver seems to work fine later on. >> >>Doesn't look serious. init_module() is not __init, but it calls >>some __init functions and touches some __initdata. >> >>BTW, I would be happy to see some consistent results from modpost >>section checking. I don't see all of these warnings (I see only 1) >>when using gcc 3.3.6. What gcc version are you using? >>Does that matter? (not directed at anyone in particular) > >The messages above are from when I used gcc-4.1.1. >With gcc-3.2.3 I only see a single warning.
Probably over enthusiastic gcc inlining. gcc 4 will inline functions that are not declared as inline. That is not so bad, except that some versions of gcc will ignore a mismatch in function attributes and inline a __init function into normal text, generating additional section mismatches. For a specific example, see http://marc.theaimsgroup.com/?l=linux-kernel&m=113824309203482&w=2 - To unsubscribe from this list: send the line "unsubscribe netdev" in the body of a message to [EMAIL PROTECTED] More majordomo info at http://vger.kernel.org/majordomo-info.html