Skip to contentSkip to conversation

Linux 3.5-rc7

DISCUSSION Paweł Sikora 2 participants 2 messages Jul 17, 2012

lore
Share & tools
lore
#0 lore raw

Hi,

the modular kernel fails to build:

(...)
Building modules, stage 2.
MODPOST 3571 modules

WARNING: drivers/scsi/fcoe/libfcoe.o(.init.text+0x1f): Section mismatch in reference from the function init_module() to the function .exit.text:fcoe_transport_exit() The function __init init_module() references
a function __exit fcoe_transport_exit().
This is often seen when error handling in the init function
uses functionality in the exit path.
The fix is often to remove the __exit annotation of
fcoe_transport_exit() so it may be used outside an exit section.

WARNING: drivers/staging/ipack/bridges/tpci200.o(.data+0x28): Section mismatch in reference from the variable tpci200_pci_drv to the function .devexit.text:tpci200_pci_remove() The variable tpci200_pci_drv references
the function __devexit tpci200_pci_remove()
If the reference is valid then annotate the
variable with __exit* (see linux/init.h) or name the variable:
*driver, *_template, *_timer, *_sht, *_ops, *_probe, *_probe_one, *_console

BR,
Paweł.

#1 lore raw
Quoted 16 lines · Paweł Sikora

Hi,

the modular kernel fails to build:

(...)
Building modules, stage 2.
MODPOST 3571 modules

WARNING: drivers/scsi/fcoe/libfcoe.o(.init.text+0x1f): Section mismatch in reference from the function init_module() to the function .exit.text:fcoe_transport_exit() The function __init init_module() references
a function __exit fcoe_transport_exit().
This is often seen when error handling in the init function
uses functionality in the exit path.
The fix is often to remove the __exit annotation of
fcoe_transport_exit() so it may be used outside an exit section.

Quoted 6 lines

WARNING: drivers/staging/ipack/bridges/tpci200.o(.data+0x28): Section mismatch in reference from the variable tpci200_pci_drv to the function .devexit.text:tpci200_pci_remove() The variable tpci200_pci_drv references
the function __devexit tpci200_pci_remove()
If the reference is valid then annotate the
variable with __exit* (see linux/init.h) or name the variable:
*driver, *_template, *_timer, *_sht, *_ops, *_probe, *_probe_one, *_console

Those are section mismatch warnings, see the help to CONFIG_DEBUG_SECTION_MISMATCH.

Signature · 2 lines
Regards/Gruss,
Boris.