dimm0k |
05-11-2011 06:24 AM |
compiling kernel 2.6.38.6 on Slackware 13.37
Anyone able to compile kernel 2.6.38.6 on Slackware 13.37 successfully using the config from testing/2.6.38.4? I was able to get .4 and .5 to compile successfully, but with .6 I get the following after running "make modules"
Code:
WARNING: modpost: Found 11 section mismatch(es).
To see full details build your kernel with:
'make CONFIG_DEBUG_SECTION_MISMATCH=y'
Running "make CONFIG_DEBUG_SECTION_MISMATCH=y 2>&1 > outfile" gives me a bunch of WARNINGS as follows:
Code:
WARNING: vmlinux.o(.text+0xe656a): Section mismatch in reference from the function build_all_zonelists() to the function .meminit.text:setup_zone_pageset.clone.56()
The function build_all_zonelists() references
the function __meminit setup_zone_pageset.clone.56().
This is often because build_all_zonelists lacks a __meminit
annotation or the annotation of setup_zone_pageset.clone.56 is wrong.
WARNING: drivers/char/ipmi/ipmi_si.o(.devinit.text+0xe21): Section mismatch in reference from the function init_module() to the function .exit.text:cleanup_ipmi_si()
The function __devinit init_module() references
a function __exit cleanup_ipmi_si().
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
cleanup_ipmi_si() so it may be used outside an exit section.
WARNING: drivers/gpio/cs5535-gpio.o(.data+0x20): Section mismatch in reference from the variable cs5535_gpio_drv to the function .devinit.text:cs5535_gpio_probe()
The variable cs5535_gpio_drv references
the function __devinit cs5535_gpio_probe()
If the reference is valid then annotate the
variable with __init* or __refdata (see linux/init.h) or name the variable:
*driver, *_template, *_timer, *_sht, *_ops, *_probe, *_probe_one, *_console,
WARNING: drivers/gpio/cs5535-gpio.o(.data+0x28): Section mismatch in reference from the variable cs5535_gpio_drv to the function .devexit.text:cs5535_gpio_remove()
The variable cs5535_gpio_drv references
the function __devexit cs5535_gpio_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,
WARNING: drivers/leds/leds-lp5521.o(.text+0xec7): Section mismatch in reference from the function lp5521_probe() to the function .init.text:lp5521_init_led.clone.5()
The function lp5521_probe() references
the function __init lp5521_init_led.clone.5().
This is often because lp5521_probe lacks a __init
annotation or the annotation of lp5521_init_led.clone.5 is wrong.
WARNING: drivers/leds/leds-lp5523.o(.text+0x153c): Section mismatch in reference from the function lp5523_probe() to the function .init.text:lp5523_init_led.clone.6()
The function lp5523_probe() references
the function __init lp5523_init_led.clone.6().
This is often because lp5523_probe lacks a __init
annotation or the annotation of lp5523_init_led.clone.6 is wrong.
WARNING: drivers/mfd/cs5535-mfd.o(.data+0x20): Section mismatch in reference from the variable cs5535_mfd_drv to the function .devinit.text:cs5535_mfd_probe()
The variable cs5535_mfd_drv references
the function __devinit cs5535_mfd_probe()
If the reference is valid then annotate the
variable with __init* or __refdata (see linux/init.h) or name the variable:
*driver, *_template, *_timer, *_sht, *_ops, *_probe, *_probe_one, *_console,
WARNING: drivers/mfd/cs5535-mfd.o(.data+0x28): Section mismatch in reference from the variable cs5535_mfd_drv to the function .
devexit.text:cs5535_mfd_remove()
The variable cs5535_mfd_drv references
the function __devexit cs5535_mfd_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,
WARNING: drivers/misc/cs5535-mfgpt.o(.data+0x0): Section mismatch in reference from the variable cs5535_mfgpt_drv to the function .devinit.text:cs5535_mfgpt_probe()
The variable cs5535_mfgpt_drv references
the function __devinit cs5535_mfgpt_probe()
If the reference is valid then annotate the
variable with __init* or __refdata (see linux/init.h) or name the variable:
*driver, *_template, *_timer, *_sht, *_ops, *_probe, *_probe_one, *_console,
WARNING: drivers/misc/ioc4.o(.data+0x18): Section mismatch in reference from the variable ioc4_load_modules_work to the function .devinit.text:ioc4_load_modules()
The variable ioc4_load_modules_work references
the function __devinit ioc4_load_modules()
If the reference is valid then annotate the
variable with __init* or __refdata (see linux/init.h) or name the variable:
*driver, *_template, *_timer, *_sht, *_ops, *_probe, *_probe_one, *_console,
WARNING: drivers/net/irda/smsc-ircc2.o(.devinit.text+0xd3): Section mismatch in reference from the function smsc_ircc_pnp_probe() to the function .init.text:smsc_ircc_open()
The function __devinit smsc_ircc_pnp_probe() references
a function __init smsc_ircc_open().
If smsc_ircc_open is only used by smsc_ircc_pnp_probe then
annotate smsc_ircc_open with a matching annotation.
WARNING: drivers/net/pch_gbe/pch_gbe.o(.data+0x38): Section mismatch in reference from the variable pch_gbe_pcidev to the variable .devinit.rodata:pch_gbe_pcidev_id
The variable pch_gbe_pcidev references
the variable __devinitconst pch_gbe_pcidev_id
If the reference is valid then annotate the
variable with __init* or __refdata (see linux/init.h) or name the variable:
*driver, *_template, *_timer, *_sht, *_ops, *_probe, *_probe_one, *_console,
WARNING: drivers/target/target_core_mod.o(.text+0x5c0c): Section mismatch in reference from the function init_module() to the function .init.text:rd_module_init()
The function init_module() references
the function __init rd_module_init().
This is often because init_module lacks a __init
annotation or the annotation of rd_module_init is wrong.
WARNING: drivers/video/geode/gx1fb.o(.data+0x80): Section mismatch in reference from the variable gx1fb_driver to the function .init.text:gx1fb_probe()
The variable gx1fb_driver references
the function __init gx1fb_probe()
If the reference is valid then annotate the
variable with __init* or __refdata (see linux/init.h) or name the variable:
*_template, *_timer, *_sht, *_ops, *_probe, *_probe_one, *_console,
WARNING: drivers/watchdog/nv_tco.o(.devinit.text+0x14): Section mismatch in reference from the function nv_tco_init() to the function .init.text:nv_tco_getdevice()
The function __devinit nv_tco_init() references
a function __init nv_tco_getdevice().
If nv_tco_getdevice is only used by nv_tco_init then
annotate nv_tco_getdevice with a matching annotation.
|