2008-01-29 17:04:21

by Marcin Ślusarz

[permalink] [raw]
Subject: Section mismatch errors on current Linus tree

Hi
I'm getting these warnings on current Linus tree (0ba6c33bcddc64a54b5f1c25a696c4767dc76292):

LD vmlinux.o
MODPOST vmlinux.o
WARNING: vmlinux.o(.text+0x1a3c75): Section mismatch in reference from the function pci_scan_child_bus() to the function .devinit.text:pcibios_fixup_bus()
WARNING: vmlinux.o(.text+0x1e333c): Section mismatch in reference from the function acpi_pci_root_add() to the function .devinit.text:pci_acpi_scan_root()
WARNING: vmlinux.o(.meminit.text+0xc5e): Section mismatch in reference from the function free_area_init_node() to the function .init.text:__alloc_bootmem_node()
WARNING: vmlinux.o(__ksymtab+0x5400): Section mismatch in reference from the variable __ksymtab_pci_do_scan_bus to the function .devinit.text:pci_do_scan_bus()
WARNING: vmlinux.o (.init.data.2): unexpected section name.
The (.[number]+) following section name are ld generated and not expected.
Did you forget to use "ax"/"aw" in a .S file?
Note that for example <linux/init.h> contains
section definitions for use in .S files.

WARNING: vmlinux.o (.init.data.7): unexpected section name.
The (.[number]+) following section name are ld generated and not expected.
Did you forget to use "ax"/"aw" in a .S file?
Note that for example <linux/init.h> contains
section definitions for use in .S files.

WARNING: vmlinux.o (.init.data.8): unexpected section name.
The (.[number]+) following section name are ld generated and not expected.
Did you forget to use "ax"/"aw" in a .S file?
Note that for example <linux/init.h> contains
section definitions for use in .S files.

WARNING: vmlinux.o (.init.data.13): unexpected section name.
The (.[number]+) following section name are ld generated and not expected.
Did you forget to use "ax"/"aw" in a .S file?
Note that for example <linux/init.h> contains
section definitions for use in .S files.

WARNING: vmlinux.o (.init.data.14): unexpected section name.
The (.[number]+) following section name are ld generated and not expected.
Did you forget to use "ax"/"aw" in a .S file?
Note that for example <linux/init.h> contains
section definitions for use in .S files.

WARNING: vmlinux.o (.init.data.15): unexpected section name.
The (.[number]+) following section name are ld generated and not expected.
Did you forget to use "ax"/"aw" in a .S file?
Note that for example <linux/init.h> contains
section definitions for use in .S files.

WARNING: vmlinux.o (.sched.text.11): unexpected section name.
The (.[number]+) following section name are ld generated and not expected.
Did you forget to use "ax"/"aw" in a .S file?
Note that for example <linux/init.h> contains
section definitions for use in .S files.

modpost: Found 4 section mismatch(es).
To see additional details select "Enable full Section mismatch analysis"
in the Kernel Hacking menu (CONFIG_SECTION_MISMATCH).


and then:
Building modules, stage 2.
MODPOST 188 modules
WARNING: drivers/serial/8250_pci.o(.data+0x198): Section mismatch in reference from the variable pci_serial_quirks to the function .devexit.text:pci_ite887x_exit()
WARNING: drivers/serial/8250_pci.o(.data+0x1c0): Section mismatch in reference from the variable pci_serial_quirks to the function .devexit.text:pci_plx9050_exit()
WARNING: drivers/serial/8250_pci.o(.data+0x1e8): Section mismatch in reference from the variable pci_serial_quirks to the function .devexit.text:pci_plx9050_exit()
WARNING: drivers/serial/8250_pci.o(.data+0x238): Section mismatch in reference from the variable pci_serial_quirks to the function .devexit.text:pci_plx9050_exit()
WARNING: drivers/serial/8250_pci.o(.data+0x260): Section mismatch in reference from the variable pci_serial_quirks to the function .devexit.text:pci_plx9050_exit()
WARNING: drivers/serial/8250_pci.o(.data+0x288): Section mismatch in reference from the variable pci_serial_quirks to the function .devexit.text:pci_plx9050_exit()
WARNING: drivers/serial/8250_pci.o(.data+0x2b0): Section mismatch in reference from the variable pci_serial_quirks to the function .devexit.text:sbs_exit()
WARNING: drivers/serial/8250_pci.o(.data+0x2d8): Section mismatch in reference from the variable pci_serial_quirks to the function .devexit.text:sbs_exit()
WARNING: drivers/serial/8250_pci.o(.data+0x300): Section mismatch in reference from the variable pci_serial_quirks to the function .devexit.text:sbs_exit()
WARNING: drivers/serial/8250_pci.o(.data+0x328): Section mismatch in reference from the variable pci_serial_quirks to the function .devexit.text:sbs_exit()
modpost: Found 10 section mismatch(es).
To see additional details select "Enable full Section mismatch analysis"
in the Kernel Hacking menu (CONFIG_SECTION_MISMATCH).

Should I enable CONFIG_SECTION_MISMATCH or is it easly fixable?

Marcin


2008-01-29 20:16:49

by Sam Ravnborg

[permalink] [raw]
Subject: Re: Section mismatch errors on current Linus tree

On Tue, Jan 29, 2008 at 06:03:30PM +0100, Marcin Slusarz wrote:
> Hi
> I'm getting these warnings on current Linus tree (0ba6c33bcddc64a54b5f1c25a696c4767dc76292):
>
> LD vmlinux.o
> MODPOST vmlinux.o
> WARNING: vmlinux.o(.text+0x1a3c75): Section mismatch in reference from the function pci_scan_child_bus() to the function .devinit.text:pcibios_fixup_bus()
> WARNING: vmlinux.o(.text+0x1e333c): Section mismatch in reference from the function acpi_pci_root_add() to the function .devinit.text:pci_acpi_scan_root()
> WARNING: vmlinux.o(.meminit.text+0xc5e): Section mismatch in reference from the function free_area_init_node() to the function .init.text:__alloc_bootmem_node()
> WARNING: vmlinux.o(__ksymtab+0x5400): Section mismatch in reference from the variable __ksymtab_pci_do_scan_bus to the function .devinit.text:pci_do_scan_bus()
...

Thanks for the report Marcin.

We have a lot of section mismatch warnings at present.
I am personally awaiting merge of x86.git and first
batch from Andrew Morton before I start to fix them.

This is for two reasons:
1) I know several warnings are fixed in the two trees
2) I expect these two merges to touch a lot of the files
where I need to fix the warnings.

Can you please repost no earlier than when you see -rc1. I hope that
my builds get down below 25 warnings when we get there (> 120 warnings
when I did a full build last time).

Sam

2008-01-29 21:39:03

by Marcin Ślusarz

[permalink] [raw]
Subject: Re: Section mismatch errors on current Linus tree

On Tue, Jan 29, 2008 at 09:16:41PM +0100, Sam Ravnborg wrote:
> On Tue, Jan 29, 2008 at 06:03:30PM +0100, Marcin Slusarz wrote:
> > Hi
> > I'm getting these warnings on current Linus tree (0ba6c33bcddc64a54b5f1c25a696c4767dc76292):
> >
> > LD vmlinux.o
> > MODPOST vmlinux.o
> > WARNING: vmlinux.o(.text+0x1a3c75): Section mismatch in reference from the function pci_scan_child_bus() to the function .devinit.text:pcibios_fixup_bus()
> > WARNING: vmlinux.o(.text+0x1e333c): Section mismatch in reference from the function acpi_pci_root_add() to the function .devinit.text:pci_acpi_scan_root()
> > WARNING: vmlinux.o(.meminit.text+0xc5e): Section mismatch in reference from the function free_area_init_node() to the function .init.text:__alloc_bootmem_node()
> > WARNING: vmlinux.o(__ksymtab+0x5400): Section mismatch in reference from the variable __ksymtab_pci_do_scan_bus to the function .devinit.text:pci_do_scan_bus()
> ...
>
> Thanks for the report Marcin.
>
> We have a lot of section mismatch warnings at present.
> I am personally awaiting merge of x86.git and first
> batch from Andrew Morton before I start to fix them.
>
> This is for two reasons:
> 1) I know several warnings are fixed in the two trees
> 2) I expect these two merges to touch a lot of the files
> where I need to fix the warnings.
>
> Can you please repost no earlier than when you see -rc1. I hope that
> my builds get down below 25 warnings when we get there (> 120 warnings
> when I did a full build last time).
Ok, I'll do it after rc1.

Marcin