From: Adrian M. <ad...@ne...> - 2007-05-26 16:12:28
|
There used to be a lot of these sort of errors for -rc2, but most have now gone, but still getting these... WARNING: arch/sh/kernel/built-in.o(.text+0x87b4): Section mismatch: reference to .init.data: (between 'get_sys_timer' and 'tmu_timer_start') WARNING: arch/sh/kernel/built-in.o(.text+0x87b8): Section mismatch: reference to .init.data: (between 'get_sys_timer' and 'tmu_timer_start') WARNING: arch/sh/boards/dreamcast/built-in.o(.data+0x0): Section mismatch: reference to .init.text: (between 'mv_dreamcast' and 'systemasic_int') WARNING: drivers/built-in.o(.text+0x168e0): Section mismatch: reference to .init.data: (between 'pvr2fb_check_var' and 'pvr2fb_interrupt') WARNING: drivers/built-in.o(.text+0x1701c): Section mismatch: reference to .init.data: (between 'pvr2fb_pci_probe' and 'read_mem') WARNING: drivers/built-in.o(.text+0x17024): Section mismatch: reference to .init.text: (between 'pvr2fb_pci_probe' and 'read_mem') WARNING: drivers/built-in.o(.data+0x738): Section mismatch: reference to .init.text: (between 'board_list' and 'pvr2fb_pci_driver') WARNING: drivers/built-in.o(.data+0x750): Section mismatch: reference to .init.text: (between 'board_list' and 'pvr2fb_pci_driver') |
From: Manuel L. <ma...@ro...> - 2007-05-26 20:03:22
|
Adrian McMenamin wrote: > There used to be a lot of these sort of errors for -rc2, but most have > now gone, but still getting these... > > WARNING: arch/sh/kernel/built-in.o(.text+0x87b4): Section mismatch: > reference to .init.data: (between 'get_sys_timer' and 'tmu_timer_start') > WARNING: arch/sh/kernel/built-in.o(.text+0x87b8): Section mismatch: > reference to .init.data: (between 'get_sys_timer' and 'tmu_timer_start') These two can be removed by adding "__init" to 'get_sys_timer()', > WARNING: arch/sh/boards/dreamcast/built-in.o(.data+0x0): Section > mismatch: reference to .init.text: (between 'mv_dreamcast' and > 'systemasic_int') and this one by removing the "__init" from all functions which are referenced by the machvec. I think these warnings are bogus in general because both get_sys_timer and sh_mv.mv_init_irq() are called only once: during kernel init. > WARNING: drivers/built-in.o(.text+0x168e0): Section mismatch: reference > to .init.data: (between 'pvr2fb_check_var' and 'pvr2fb_interrupt') > WARNING: drivers/built-in.o(.text+0x1701c): Section mismatch: reference > to .init.data: (between 'pvr2fb_pci_probe' and 'read_mem') > WARNING: drivers/built-in.o(.text+0x17024): Section mismatch: reference > to .init.text: (between 'pvr2fb_pci_probe' and 'read_mem') > WARNING: drivers/built-in.o(.data+0x738): Section mismatch: reference > to .init.text: (between 'board_list' and 'pvr2fb_pci_driver') > WARNING: drivers/built-in.o(.data+0x750): Section mismatch: reference > to .init.text: (between 'board_list' and 'pvr2fb_pci_driver') Can't help with those, sorry. Thanks, Manuel Lauss |
From: Paul M. <le...@li...> - 2007-05-31 04:39:35
|
On Sat, May 26, 2007 at 10:02:31PM +0200, Manuel Lauss wrote: > Adrian McMenamin wrote: > > There used to be a lot of these sort of errors for -rc2, but most have > > now gone, but still getting these... > > > > WARNING: arch/sh/kernel/built-in.o(.text+0x87b4): Section mismatch: > > reference to .init.data: (between 'get_sys_timer' and 'tmu_timer_start') > > WARNING: arch/sh/kernel/built-in.o(.text+0x87b8): Section mismatch: > > reference to .init.data: (between 'get_sys_timer' and 'tmu_timer_start') > > These two can be removed by adding "__init" to 'get_sys_timer()', > Well, no, that will break future sys_timer references. Dropping __initdata from sys_timers and timer_override does the job, though. > > WARNING: arch/sh/boards/dreamcast/built-in.o(.data+0x0): Section > > mismatch: reference to .init.text: (between 'mv_dreamcast' and > > 'systemasic_int') > > and this one by removing the "__init" from all functions which are referenced > by the machvec. > > I think these warnings are bogus in general because both get_sys_timer and > sh_mv.mv_init_irq() are called only once: during kernel init. > Yes, those are bogus. The recent machvec tidying for 2.6.23 has these fixed, since the section was renamed to something that modpost could identify as a machvec section and __initmv was changed to unconditionally set this section attribute. Other architectures (ia64, ppc, etc.) with machvecs of their own had this problem, too. The problem currently is that __initmv is a no-op for the general case, whereas 2.6.23 reworks this to always place the machvec in its own section (which we copy out of over top of the always-present generic machvec if the section is non-zero size and discard immediately afterwards). > > WARNING: drivers/built-in.o(.text+0x168e0): Section mismatch: reference > > to .init.data: (between 'pvr2fb_check_var' and 'pvr2fb_interrupt') > > WARNING: drivers/built-in.o(.text+0x1701c): Section mismatch: reference > > to .init.data: (between 'pvr2fb_pci_probe' and 'read_mem') > > WARNING: drivers/built-in.o(.text+0x17024): Section mismatch: reference > > to .init.text: (between 'pvr2fb_pci_probe' and 'read_mem') > > WARNING: drivers/built-in.o(.data+0x738): Section mismatch: reference > > to .init.text: (between 'board_list' and 'pvr2fb_pci_driver') > > WARNING: drivers/built-in.o(.data+0x750): Section mismatch: reference > > to .init.text: (between 'board_list' and 'pvr2fb_pci_driver') > These are because of the board_list references, though the usage is quite legal. These can be ignored for now. |