2009-09-05 11:18:09

by Jaswinder Singh Rajput

[permalink] [raw]
Subject: 20 Section mismatch warnings from x86_init, arch/x86/kernel/x86_init.c

WARNING: arch/x86/kernel/built-in.o(.data+0x1c8): Section mismatch in reference from the variable x86_init to the function .cpuinit.text:x86_init_noop()
The variable x86_init references
the function __cpuinit x86_init_noop()
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: arch/x86/kernel/built-in.o(.data+0x1cc): Section mismatch in reference from the variable x86_init to the function .init.text:reserve_standard_io_resources()
The variable x86_init references
the function __init reserve_standard_io_resources()
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: arch/x86/kernel/built-in.o(.data+0x1d0): Section mismatch in reference from the variable x86_init to the function .init.text:default_machine_specific_memory_setup()
The variable x86_init references
the function __init default_machine_specific_memory_setup()
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: arch/x86/kernel/built-in.o(.data+0x1d4): Section mismatch in reference from the variable x86_init to the function .init.text:x86_init_uint_noop()
The variable x86_init references
the function __init x86_init_uint_noop()
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: arch/x86/kernel/built-in.o(.data+0x1d8): Section mismatch in reference from the variable x86_init to the function .cpuinit.text:x86_init_noop()
The variable x86_init references
the function __cpuinit x86_init_noop()
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: arch/x86/kernel/built-in.o(.data+0x1dc): Section mismatch in reference from the variable x86_init to the function .init.text:default_mpc_apic_id()
The variable x86_init references
the function __init default_mpc_apic_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: arch/x86/kernel/built-in.o(.data+0x1e0): Section mismatch in reference from the variable x86_init to the function .init.text:default_smp_read_mpc_oem()
The variable x86_init references
the function __init default_smp_read_mpc_oem()
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: arch/x86/kernel/built-in.o(.data+0x1e8): Section mismatch in reference from the variable x86_init to the function .init.text:default_mpc_oem_bus_info()
The variable x86_init references
the function __init default_mpc_oem_bus_info()
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: arch/x86/kernel/built-in.o(.data+0x1ec): Section mismatch in reference from the variable x86_init to the function .init.text:default_find_smp_config()
The variable x86_init references
the function __init default_find_smp_config()
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: arch/x86/kernel/built-in.o(.data+0x1f0): Section mismatch in reference from the variable x86_init to the function .init.text:default_get_smp_config()
The variable x86_init references
the function __init default_get_smp_config()
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: arch/x86/kernel/built-in.o(.data+0x1f4): Section mismatch in reference from the variable x86_init to the function .init.text:init_ISA_irqs()
The variable x86_init references
the function __init init_ISA_irqs()
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: arch/x86/kernel/built-in.o(.data+0x1f8): Section mismatch in reference from the variable x86_init to the function .init.text:native_init_IRQ()
The variable x86_init references
the function __init native_init_IRQ()
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: arch/x86/kernel/built-in.o(.data+0x1fc): Section mismatch in reference from the variable x86_init to the function .cpuinit.text:x86_init_noop()
The variable x86_init references
the function __cpuinit x86_init_noop()
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: arch/x86/kernel/built-in.o(.data+0x200): Section mismatch in reference from the variable x86_init to the function .cpuinit.text:x86_init_noop()
The variable x86_init references
the function __cpuinit x86_init_noop()
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: arch/x86/kernel/built-in.o(.data+0x204): Section mismatch in reference from the variable x86_init to the function .cpuinit.text:x86_init_noop()
The variable x86_init references
the function __cpuinit x86_init_noop()
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: arch/x86/kernel/built-in.o(.data+0x210): Section mismatch in reference from the variable x86_init to the function .init.text:setup_boot_APIC_clock()
The variable x86_init references
the function __init setup_boot_APIC_clock()
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: arch/x86/kernel/built-in.o(.data+0x214): Section mismatch in reference from the variable x86_init to the function .cpuinit.text:x86_init_noop()
The variable x86_init references
the function __cpuinit x86_init_noop()
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: arch/x86/kernel/built-in.o(.data+0x218): Section mismatch in reference from the variable x86_init to the function .init.text:hpet_time_init()
The variable x86_init references
the function __init hpet_time_init()
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,

LD arch/x86/built-in.o
WARNING: arch/x86/built-in.o(.data+0x1c8): Section mismatch in reference from the variable x86_init to the function .cpuinit.text:x86_init_noop()
The variable x86_init references
the function __cpuinit x86_init_noop()
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: arch/x86/built-in.o(.data+0x1cc): Section mismatch in reference from the variable x86_init to the function .init.text:reserve_standard_io_resources()
The variable x86_init references
the function __init reserve_standard_io_resources()
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: arch/x86/built-in.o(.data+0x1d0): Section mismatch in reference from the variable x86_init to the function .init.text:default_machine_specific_memory_setup()
The variable x86_init references
the function __init default_machine_specific_memory_setup()
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: arch/x86/built-in.o(.data+0x1d4): Section mismatch in reference from the variable x86_init to the function .init.text:x86_init_uint_noop()
The variable x86_init references
the function __init x86_init_uint_noop()
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: arch/x86/built-in.o(.data+0x1d8): Section mismatch in reference from the variable x86_init to the function .cpuinit.text:x86_init_noop()
The variable x86_init references
the function __cpuinit x86_init_noop()
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: arch/x86/built-in.o(.data+0x1dc): Section mismatch in reference from the variable x86_init to the function .init.text:default_mpc_apic_id()
The variable x86_init references
the function __init default_mpc_apic_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: arch/x86/built-in.o(.data+0x1e0): Section mismatch in reference from the variable x86_init to the function .init.text:default_smp_read_mpc_oem()
The variable x86_init references
the function __init default_smp_read_mpc_oem()
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: arch/x86/built-in.o(.data+0x1e8): Section mismatch in reference from the variable x86_init to the function .init.text:default_mpc_oem_bus_info()
The variable x86_init references
the function __init default_mpc_oem_bus_info()
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: arch/x86/built-in.o(.data+0x1ec): Section mismatch in reference from the variable x86_init to the function .init.text:default_find_smp_config()
The variable x86_init references
the function __init default_find_smp_config()
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: arch/x86/built-in.o(.data+0x1f0): Section mismatch in reference from the variable x86_init to the function .init.text:default_get_smp_config()
The variable x86_init references
the function __init default_get_smp_config()
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: arch/x86/built-in.o(.data+0x1f4): Section mismatch in reference from the variable x86_init to the function .init.text:init_ISA_irqs()
The variable x86_init references
the function __init init_ISA_irqs()
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: arch/x86/built-in.o(.data+0x1f8): Section mismatch in reference from the variable x86_init to the function .init.text:native_init_IRQ()
The variable x86_init references
the function __init native_init_IRQ()
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: arch/x86/built-in.o(.data+0x1fc): Section mismatch in reference from the variable x86_init to the function .cpuinit.text:x86_init_noop()
The variable x86_init references
the function __cpuinit x86_init_noop()
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: arch/x86/built-in.o(.data+0x200): Section mismatch in reference from the variable x86_init to the function .cpuinit.text:x86_init_noop()
The variable x86_init references
the function __cpuinit x86_init_noop()
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: arch/x86/built-in.o(.data+0x204): Section mismatch in reference from the variable x86_init to the function .cpuinit.text:x86_init_noop()
The variable x86_init references
the function __cpuinit x86_init_noop()
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: arch/x86/built-in.o(.data+0x208): Section mismatch in reference from the variable x86_init to the function .init.text:native_pagetable_setup_start()
The variable x86_init references
the function __init native_pagetable_setup_start()
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: arch/x86/built-in.o(.data+0x20c): Section mismatch in reference from the variable x86_init to the function .init.text:native_pagetable_setup_done()
The variable x86_init references
the function __init native_pagetable_setup_done()
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: arch/x86/built-in.o(.data+0x210): Section mismatch in reference from the variable x86_init to the function .init.text:setup_boot_APIC_clock()
The variable x86_init references
the function __init setup_boot_APIC_clock()
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: arch/x86/built-in.o(.data+0x214): Section mismatch in reference from the variable x86_init to the function .cpuinit.text:x86_init_noop()
The variable x86_init references
the function __cpuinit x86_init_noop()
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: arch/x86/built-in.o(.data+0x218): Section mismatch in reference from the variable x86_init to the function .init.text:hpet_time_init()
The variable x86_init references
the function __init hpet_time_init()
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,


2009-09-05 11:24:26

by Jaswinder Singh Rajput

[permalink] [raw]
Subject: [PATCH] x86: Fix 20 section mismatch warnings from x86_init, arch/x86/kernel/x86_init.c


Check http://marc.info/?l=linux-kernel&m=125214951924366&w=2 to see more details.

Signed-off-by: Jaswinder Singh Rajput <[email protected]>
---
arch/x86/kernel/x86_init.c | 2 +-
1 files changed, 1 insertions(+), 1 deletions(-)

diff --git a/arch/x86/kernel/x86_init.c b/arch/x86/kernel/x86_init.c
index 24be7f3..81dd9d0 100644
--- a/arch/x86/kernel/x86_init.c
+++ b/arch/x86/kernel/x86_init.c
@@ -23,7 +23,7 @@ void __init x86_init_pgd_noop(pgd_t *unused) { }
* The platform setup functions are preset with the default functions
* for standard PC hardware.
*/
-struct __initdata x86_init_ops x86_init = {
+struct __initdata x86_init_ops x86_init_ops = {

.resources = {
.probe_roms = x86_init_noop,
--
1.6.0.6

2009-09-05 11:50:21

by Jaswinder Singh Rajput

[permalink] [raw]
Subject: Re: [PATCH] x86: Fix 20 section mismatch warnings from x86_init, arch/x86/kernel/x86_init.c


On Sat, 2009-09-05 at 16:50 +0530, Jaswinder Singh Rajput wrote:
> Check http://marc.info/?l=linux-kernel&m=125214951924366&w=2 to see more details.
>
> Signed-off-by: Jaswinder Singh Rajput <[email protected]>
> ---
> arch/x86/kernel/x86_init.c | 2 +-
> 1 files changed, 1 insertions(+), 1 deletions(-)
>
> diff --git a/arch/x86/kernel/x86_init.c b/arch/x86/kernel/x86_init.c
> index 24be7f3..81dd9d0 100644
> --- a/arch/x86/kernel/x86_init.c
> +++ b/arch/x86/kernel/x86_init.c
> @@ -23,7 +23,7 @@ void __init x86_init_pgd_noop(pgd_t *unused) { }
> * The platform setup functions are preset with the default functions
> * for standard PC hardware.
> */
> -struct __initdata x86_init_ops x86_init = {
> +struct __initdata x86_init_ops x86_init_ops = {
>
> .resources = {
> .probe_roms = x86_init_noop,

x86_init is used by many files and this breaks the kernel :

arch/x86/built-in.o: In function `init_IRQ':
(.text+0x4b12): undefined reference to `x86_init'
arch/x86/built-in.o: In function `trap_init':
(.init.text+0x385): undefined reference to `x86_init'
arch/x86/built-in.o: In function `x86_late_time_init':
time.c:(.init.text+0x39f): undefined reference to `x86_init'
arch/x86/built-in.o: In function `setup_arch':
(.init.text+0x80b): undefined reference to `x86_init'
arch/x86/built-in.o: In function `setup_arch':
(.init.text+0xa32): undefined reference to `x86_init'
arch/x86/built-in.o:(.init.text+0xc5e): more undefined references to `x86_init' follow

Now we need to look for some another option.

Thomas, any suggestions.

Thank you,
--
JSR

2009-09-19 04:44:10

by Jaswinder Singh Rajput

[permalink] [raw]
Subject: Re: [PATCH] x86: Fix 20 section mismatch warnings from x86_init, arch/x86/kernel/x86_init.c

[RESENDING]

On Sat, 2009-09-05 at 17:16 +0530, Jaswinder Singh Rajput wrote:
> On Sat, 2009-09-05 at 16:50 +0530, Jaswinder Singh Rajput wrote:
> > Check http://marc.info/?l=linux-kernel&m=125214951924366&w=2 to see more details.
> >
> > Signed-off-by: Jaswinder Singh Rajput <[email protected]>
> > ---
> > arch/x86/kernel/x86_init.c | 2 +-
> > 1 files changed, 1 insertions(+), 1 deletions(-)
> >
> > diff --git a/arch/x86/kernel/x86_init.c b/arch/x86/kernel/x86_init.c
> > index 24be7f3..81dd9d0 100644
> > --- a/arch/x86/kernel/x86_init.c
> > +++ b/arch/x86/kernel/x86_init.c
> > @@ -23,7 +23,7 @@ void __init x86_init_pgd_noop(pgd_t *unused) { }
> > * The platform setup functions are preset with the default functions
> > * for standard PC hardware.
> > */
> > -struct __initdata x86_init_ops x86_init = {
> > +struct __initdata x86_init_ops x86_init_ops = {
> >
> > .resources = {
> > .probe_roms = x86_init_noop,
>
> x86_init is used by many files and this breaks the kernel :
>
> arch/x86/built-in.o: In function `init_IRQ':
> (.text+0x4b12): undefined reference to `x86_init'
> arch/x86/built-in.o: In function `trap_init':
> (.init.text+0x385): undefined reference to `x86_init'
> arch/x86/built-in.o: In function `x86_late_time_init':
> time.c:(.init.text+0x39f): undefined reference to `x86_init'
> arch/x86/built-in.o: In function `setup_arch':
> (.init.text+0x80b): undefined reference to `x86_init'
> arch/x86/built-in.o: In function `setup_arch':
> (.init.text+0xa32): undefined reference to `x86_init'
> arch/x86/built-in.o:(.init.text+0xc5e): more undefined references to `x86_init' follow
>
> Now we need to look for some another option.
>
> Thomas, any suggestions.
>
> Thank you,
> --
> JSR