Messages in this thread | | | Date | Thu, 10 Jan 2008 20:38:11 +0100 | From | Sam Ravnborg <> | Subject | Re: Help needed to fix section mismatch warnings |
| |
On Wed, Jan 09, 2008 at 10:25:42PM -0800, Randy Dunlap wrote: > On Sun, 6 Jan 2008 15:07:28 +0100 Sam Ravnborg wrote: > > > > This is the current list of warnings > > Sam, > > Several of these are due to driver variable names not matching > the whitelisted names in modpost. I have patches for the ones > that I have identified so far. And I have patches for a few of > the others that are true section mismatch problems (total of 8 > patches ready for now). > > The whitelisted names will always be a (small) problem. > Can __init_refok be used in these cases.. or some other new > attribute, instead of forever adding to the whitelist or > modifying variable names?
We had 112 warnings with the modified allyesconfig build and many of these from the same module. So in these cases I greatly prefer to rename variables to match what other drivers use and thus enabling the current whitelist to supress the warnings.
The remaining bits to address is the const / non-const issue. Here we most likely need to invent a parallel set of section names (yrk).
init_refok is for me the last resort and if we need many more of these something else needs to be invented.
> > > > WARNING: vmlinux.o(.text+0x738a): Section mismatch: reference to .init.data:ebda_addr (between 'discover_ebda' and 'get_model_name') > > WARNING: vmlinux.o(.text+0x73c4): Section mismatch: reference to .init.data:ebda_size (between 'discover_ebda' and 'get_model_name') > > patch ready. > > > WARNING: vmlinux.o(.text+0x605e14): Section mismatch: reference to .init.text: (between 'cciss_pci_init' and 'cciss_getgeometry') > > patch ready. > > > WARNING: vmlinux.o(.exit.text+0xc64d): Section mismatch: reference to .init.data:_asc_def_iop_base (between 'advansys_isa_remove' and 'advansys_eisa_remove') > > patch ready. > > > WARNING: vmlinux.o(.data+0x7e9b8): Section mismatch: reference to .init.text:tpm_inf_pnp_probe (between 'tpm_inf_pnp' and 'cn_idx') > > patch ready. > > > WARNING: vmlinux.o(.data+0xd44d8): Section mismatch: reference to .init.data:prism2_plx_id_table (between 'prism2_plx_drv_id' and 'dev_info') > > patch ready. > > > WARNING: vmlinux.o(.data+0x149908): Section mismatch: reference to .init.text:av7110_attach (between 'av7110_extension' and 'ir_protocol') > > patch ready. > > > WARNING: vmlinux.o(.data+0x1b3ce0): Section mismatch: reference to .init.text:megaraid_probe_one (between 'megaraid_pci_driver_g' and 'class_device_attr_megaraid_mbox_app_hndl') > > patch ready. > > > WARNING: vmlinux.o(.text+0xb0c71d): Section mismatch: reference to .exit.text: (between 'qla2xxx_pci_error_detected' and 'qla2xxx_pci_mmio_enabled') > > patch ready. > > > WARNING: vmlinux.o(.text+0xb4ff4b): Section mismatch: reference to .exit.text: (between 'sym2_io_error_detected' and 'sym2_io_slot_dump') > > Patch sent by /me on 2007.OCT.29 to linux-scsi & akpm. > > I will send the ready patches sometime on THU 2008.JAN.10.
Great!
Sam
| |