Re: sections mismatch detection

From: Michal Marek
Date: Wed Jan 06 2010 - 06:38:33 EST


On 6.1.2010 11:48, Sam Ravnborg wrote:
> On Wed, Jan 06, 2010 at 12:11:23PM +0200, Artem Bityutskiy wrote:
>> Hi,
>>
>> I wonder is it good time to enable DEBUG_SECTION_MISMATCH by default
>> now? I mean, remove the following from lib/Kconfig.debug:
>>
>> config DEBUG_SECTION_MISMATCH
>> bool "Enable full Section mismatch analysis"
>> depends on UNDEFINED
>> # This option is on purpose disabled for now.
>> # It will be enabled when we are down to a resonable number
>> # of section mismatch warnings (< 10 for an allyesconfig build)
>>
>> Just spotted this, and decided to remind.
>
> My original criteria for enabling this was that we had a warnign free build
> for all*config on x86 and a few other architectures.
> While focusing on this I never reached this goal as I usually ended
> up with some problems related to CPU hotplug.
> I dunno how close we are today at the "zero warning" target.
>
...
>
> But I can see a steady flow of section mismatch fixes so I think the
> situation looks better these days.

There is also steady flow of new code ;-). FWIW, a 2.6.32.2 x86 distro
build shows 29 section mismatch warnings, 12 of these come from
drivers/staging, the remaining are (duplicates removed):

WARNING: drivers/pci/built-in.o(.text+0x10a12): Section mismatch in
reference from the function dmar_ir_support() to the variable
.init.data:dmar_tbl
WARNING: vmlinux.o(.devinit.text+0x3aa2): Section mismatch in reference
from the function ezx_pcap_probe() to the function
.init.text:set_irq_noprobe()
WARNING: drivers/char/hw_random/virtio-rng.o(.data+0x44): Section
mismatch in reference from the variable virtio_rng to the function
.devexit.text:virtrng_remove()
WARNING: drivers/scsi/hpsa.o(.text+0x192c): Section mismatch in
reference from the function hpsa_pci_init() to the function
.devinit.text:hpsa_interrupt_mode()
WARNING: drivers/virtio/virtio_balloon.o(.data+0x44): Section mismatch
in reference from the variable virtio_balloon to the function
.devexit.text:virtballoon_remove()

I'll try a current mainline build with DEBUG_SECTION_MISMATCH=y to see
if/how this changed.

Michal
--
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/