diff options
author | Sam Ravnborg <sam@ravnborg.org> | 2008-01-24 15:12:37 -0500 |
---|---|---|
committer | Sam Ravnborg <sam@ravnborg.org> | 2008-01-28 17:21:18 -0500 |
commit | 588ccd732ba2d32db8228802ef9283b583d3395f (patch) | |
tree | 435ad4432c165190d70b82f8392c37b375679b53 /lib | |
parent | f5eaa323eb6819d2f737ead42464efccaf2b98b9 (diff) |
kbuild: add verbose option to Section mismatch reporting in modpost
If the config option CONFIG_SECTION_MISMATCH is not set and
we see a Section mismatch present the following to the user:
modpost: Found 1 section mismatch(es).
To see additional details select "Enable full Section mismatch analysis"
in the Kernel Hacking menu (CONFIG_SECTION_MISMATCH).
If the option CONFIG_SECTION_MISMATCH is selected
then be verbose in the Section mismatch reporting from mdopost.
Sample outputs:
WARNING: o-x86_64/vmlinux.o(.text+0x7396): Section mismatch in reference from the function discover_ebda() to the variable .init.data:ebda_addr
The function discover_ebda() references
the variable __initdata ebda_addr.
This is often because discover_ebda lacks a __initdata
annotation or the annotation of ebda_addr is wrong.
WARNING: o-x86_64/vmlinux.o(.data+0x74d58): Section mismatch in reference from the variable pci_serial_quirks to the function .devexit.text:pci_plx9050_exit()
The variable pci_serial_quirks references
the function __devexit pci_plx9050_exit()
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: o-x86_64/vmlinux.o(__ksymtab+0x630): Section mismatch in reference from the variable __ksymtab_arch_register_cpu to the function .cpuinit.text:arch_register_cpu()
The symbol arch_register_cpu is exported and annotated __cpuinit
Fix this by removing the __cpuinit annotation of arch_register_cpu or drop the export.
Signed-off-by: Sam Ravnborg <sam@ravnborg.org>
Diffstat (limited to 'lib')
-rw-r--r-- | lib/Kconfig.debug | 2 |
1 files changed, 2 insertions, 0 deletions
diff --git a/lib/Kconfig.debug b/lib/Kconfig.debug index 748e72be6e6..c4ecb2994ba 100644 --- a/lib/Kconfig.debug +++ b/lib/Kconfig.debug | |||
@@ -108,6 +108,8 @@ config DEBUG_SECTION_MISMATCH | |||
108 | will tell where the mismatch happens much closer to the | 108 | will tell where the mismatch happens much closer to the |
109 | source. The drawback is that we will report the same | 109 | source. The drawback is that we will report the same |
110 | mismatch at least twice. | 110 | mismatch at least twice. |
111 | - Enable verbose reporting from modpost to help solving | ||
112 | the section mismatches reported. | ||
111 | 113 | ||
112 | config DEBUG_KERNEL | 114 | config DEBUG_KERNEL |
113 | bool "Kernel debugging" | 115 | bool "Kernel debugging" |