2006-12-22 14:47:13

by Thomas Meyer

[permalink] [raw]
Subject: Section mismatch on current git head

Hello.

What kind of problem is this:
1.) the one that should be fixed, but also can be ignored or
2.) the one that have to be fixed and ignorance is a bad idea?


WARNING: vmlinux - Section mismatch: reference to .init.data:boot_params
from .text between '_text' (at offset 0xc0100029) and 'startup_32_smp'
WARNING: vmlinux - Section mismatch: reference to .init.data:boot_params
from .text between '_text' (at offset 0xc0100037) and 'startup_32_smp'
WARNING: vmlinux - Section mismatch: reference to
.init.data:init_pg_tables_end from .text between '_text' (at offset
0xc0100099) and 'startup_32_smp'
WARNING: vmlinux - Section mismatch: reference to
.init.data:new_cpu_data from .text between 'checkCPUtype' (at offset
0xc0100126) and 'is486'
WARNING: vmlinux - Section mismatch: reference to
.init.data:new_cpu_data from .text between 'checkCPUtype' (at offset
0xc0100130) and 'is486'
WARNING: vmlinux - Section mismatch: reference to
.init.data:new_cpu_data from .text between 'checkCPUtype' (at offset
0xc010014f) and 'is486'
WARNING: vmlinux - Section mismatch: reference to
.init.data:new_cpu_data from .text between 'checkCPUtype' (at offset
0xc0100160) and 'is486'
WARNING: vmlinux - Section mismatch: reference to
.init.data:new_cpu_data from .text between 'checkCPUtype' (at offset
0xc0100166) and 'is486'
WARNING: vmlinux - Section mismatch: reference to
.init.data:new_cpu_data from .text between 'checkCPUtype' (at offset
0xc010016c) and 'is486'
WARNING: vmlinux - Section mismatch: reference to
.init.data:new_cpu_data from .text between 'checkCPUtype' (at offset
0xc0100172) and 'is486'
WARNING: vmlinux - Section mismatch: reference to
.init.data:new_cpu_data from .text between 'checkCPUtype' (at offset
0xc0100188) and 'is486'
WARNING: vmlinux - Section mismatch: reference to
.init.data:new_cpu_data from .text between 'checkCPUtype' (at offset
0xc0100192) and 'is486'
WARNING: vmlinux - Section mismatch: reference to
.init.data:new_cpu_data from .text between 'checkCPUtype' (at offset
0xc010019b) and 'is486'
WARNING: vmlinux - Section mismatch: reference to
.init.data:new_cpu_data from .text between 'checkCPUtype' (at offset
0xc01001a1) and 'is486'
WARNING: vmlinux - Section mismatch: reference to
.init.data:new_cpu_data from .text between 'check_x87' (at offset
0xc010021b) and 'setup_pda'
WARNING: vmlinux - Section mismatch: reference to
.init.data:new_cpu_data from .text between 'check_x87' (at offset
0xc010023a) and 'setup_pda'
WARNING: vmlinux - Section mismatch: reference to
.init.text:start_kernel from .text between 'is386' (at offset
0xc0100215) and 'check_x87'
WARNING: vmlinux - Section mismatch: reference to
.init.text:smp_prepare_cpus from .text between 'init' (at offset
0xc01003db) and 'rest_init'
WARNING: vmlinux - Section mismatch: reference to
.init.text:migration_init from .text between 'init' (at offset
0xc01003e0) and 'rest_init'
WARNING: vmlinux - Section mismatch: reference to
.init.text:spawn_ksoftirqd from .text between 'init' (at offset
0xc01003e5) and 'rest_init'
WARNING: vmlinux - Section mismatch: reference to
.init.text:smp_cpus_done from .text between 'init' (at offset
0xc0100459) and 'rest_init'
WARNING: vmlinux - Section mismatch: reference to
.init.text:sched_init_smp from .text between 'init' (at offset
0xc010045e) and 'rest_init'
WARNING: vmlinux - Section mismatch: reference to
.init.text:cpuset_init_smp from .text between 'init' (at offset
0xc0100463) and 'rest_init'
WARNING: vmlinux - Section mismatch: reference to
.init.text:usermodehelper_init from .text between 'init' (at offset
0xc010046d) and 'rest_init'
WARNING: vmlinux - Section mismatch: reference to .init.text:driver_init
from .text between 'init' (at offset 0xc0100472) and 'rest_init'
WARNING: vmlinux - Section mismatch: reference to .init.text:sysctl_init
from .text between 'init' (at offset 0xc0100477) and 'rest_init'
WARNING: vmlinux - Section mismatch: reference to .init.data: from .text
between 'init' (at offset 0xc010048c) and 'rest_init'
WARNING: vmlinux - Section mismatch: reference to .init.data: from .text
between 'init' (at offset 0xc01004ca) and 'rest_init'
WARNING: vmlinux - Section mismatch: reference to
.init.text:prepare_namespace from .text between 'init' (at offset
0xc010058d) and 'rest_init'
WARNING: vmlinux - Section mismatch: reference to
.init.text:efi_set_rtc_mmss from .text between 'sync_cmos_clock' (at
offset 0xc0105987) and 'get_cmos_time'
WARNING: vmlinux - Section mismatch: reference to
.init.text:machine_specific_memory_setup from .text between
'memory_setup' (at offset 0xc01065d9) and 'i8259A_suspend'
WARNING: vmlinux - Section mismatch: reference to
.init.text:__alloc_bootmem from .text between 'init_gdt' (at offset
0xc0108869) and 'cpu_init'
WARNING: vmlinux - Section mismatch: reference to
.init.text:__alloc_bootmem from .text between 'init_gdt' (at offset
0xc010887f) and 'cpu_init'
WARNING: vmlinux - Section mismatch: reference to
.init.text:sysenter_setup from .text between 'identify_cpu' (at offset
0xc0108d43) and 'display_cacheinfo'
WARNING: vmlinux - Section mismatch: reference to
.init.text:mtrr_bp_init from .text between 'identify_cpu' (at offset
0xc0108d4d) and 'display_cacheinfo'
WARNING: vmlinux - Section mismatch: reference to
.init.data:acpi_sci_flags from .text between 'acpi_sci_ioapic_setup' (at
offset 0xc010e020) and 'acpi_unmap_lsapic'
WARNING: vmlinux - Section mismatch: reference to
.init.data:acpi_sci_flags from .text between 'acpi_sci_ioapic_setup' (at
offset 0xc010e04a) and 'acpi_unmap_lsapic'
WARNING: vmlinux - Section mismatch: reference to
.init.text:mp_override_legacy_irq from .text between
'acpi_sci_ioapic_setup' (at offset 0xc010e062) and 'acpi_unmap_lsapic'
WARNING: vmlinux - Section mismatch: reference to
.init.data:acpi_sci_override_gsi from .text between
'acpi_sci_ioapic_setup' (at offset 0xc010e068) and 'acpi_unmap_lsapic'
WARNING: vmlinux - Section mismatch: reference to .init.data: from .text
between 'start_secondary' (at offset 0xc01117ac) and 'initialize_secondary'
WARNING: vmlinux - Section mismatch: reference to .init.data: from .text
between 'start_secondary' (at offset 0xc01117b8) and 'initialize_secondary'
WARNING: vmlinux - Section mismatch: reference to .init.data: from .text
between 'start_secondary' (at offset 0xc01117c7) and 'initialize_secondary'
WARNING: vmlinux - Section mismatch: reference to .init.data: from .text
between 'start_secondary' (at offset 0xc01117e6) and 'initialize_secondary'
WARNING: vmlinux - Section mismatch: reference to .init.data: from .text
between 'start_secondary' (at offset 0xc01117ed) and 'initialize_secondary'
WARNING: vmlinux - Section mismatch: reference to .init.data: from .text
between 'start_secondary' (at offset 0xc0111801) and 'initialize_secondary'
WARNING: vmlinux - Section mismatch: reference to .init.data: from .text
between 'start_secondary' (at offset 0xc0111810) and 'initialize_secondary'
WARNING: vmlinux - Section mismatch: reference to .init.data:maxcpus
from .text between 'MP_processor_info' (at offset 0xc0111d7e) and
'mp_register_lapic'
WARNING: vmlinux - Section mismatch: reference to
.init.text:__init_begin from .text between 'free_initmem' (at offset
0xc0116dd5) and 'do_test_wp_bit'
WARNING: vmlinux - Section mismatch: reference to .init.text: from .text
between 'online_page' (at offset 0xc0116e3b) and 'page_is_ram'
WARNING: vmlinux - Section mismatch: reference to .init.text:_sinittext
from .text between 'core_kernel_text' (at offset 0xc012de6e) and
'kernel_text_address'
WARNING: vmlinux - Section mismatch: reference to .init.text:_einittext
from .text between 'core_kernel_text' (at offset 0xc012de77) and
'kernel_text_address'
WARNING: vmlinux - Section mismatch: reference to .init.text:_sinittext
from .text between 'get_symbol_pos' (at offset 0xc0138e3a) and 'reset_iter'
WARNING: vmlinux - Section mismatch: reference to .init.text:_einittext
from .text between 'get_symbol_pos' (at offset 0xc0138e41) and 'reset_iter'
WARNING: vmlinux - Section mismatch: reference to .init.text:_sinittext
from .text between 'is_ksym_addr' (at offset 0xc01390c7) and
'kallsyms_lookup'
WARNING: vmlinux - Section mismatch: reference to .init.text:_einittext
from .text between 'is_ksym_addr' (at offset 0xc01390cf) and
'kallsyms_lookup'
WARNING: vmlinux - Section mismatch: reference to
.init.data:initkmem_list3 from .text between 'set_up_list3s' (at offset
0xc015e54d) and 's_stop'
WARNING: vmlinux - Section mismatch: reference to .init.data: from .text
between 'asus_hides_smbus_lpc' (at offset 0xc01d38b6) and 'quirk_sis_503'
WARNING: vmlinux - Section mismatch: reference to .init.data: from .text
between 'asus_hides_smbus_lpc_ich6' (at offset 0xc01d3de0) and
'quirk_cardbus_legacy'
WARNING: vmlinux - Section mismatch: reference to
.init.data:logo_linux_mono from .text between 'fb_find_logo' (at offset
0xc01e991e) and 'cfb_fillrect'
WARNING: vmlinux - Section mismatch: reference to
.init.data:logo_linux_clut224 from .text between 'fb_find_logo' (at
offset 0xc01e9928) and 'cfb_fillrect'
WARNING: vmlinux - Section mismatch: reference to
.init.data:logo_linux_vga16 from .text between 'fb_find_logo' (at offset
0xc01e992d) and 'cfb_fillrect'
Root device is (8, 2)
Boot sector 512 bytes.
Setup is 6887 bytes.
System is 1422 kB


2006-12-22 17:46:20

by Randy Dunlap

[permalink] [raw]
Subject: Re: Section mismatch on current git head

On Fri, 22 Dec 2006 15:24:41 +0100 Thomas Meyer wrote:

> Hello.
>
> What kind of problem is this:
> 1.) the one that should be fixed, but also can be ignored or
> 2.) the one that have to be fixed and ignorance is a bad idea?
>

Is this with CONFIG_RELOCATABLE=y?
There were some patches posted to address section mismatches
with that config option. I suppose that they will be in the
next -mm release (?), so this needs to be retested with
those patches applied.

> WARNING: vmlinux - Section mismatch: reference to .init.data:boot_params
> from .text between '_text' (at offset 0xc0100029) and 'startup_32_smp'
> WARNING: vmlinux - Section mismatch: reference to .init.data:boot_params
> from .text between '_text' (at offset 0xc0100037) and 'startup_32_smp'
> WARNING: vmlinux - Section mismatch: reference to
> .init.data:init_pg_tables_end from .text between '_text' (at offset
> 0xc0100099) and 'startup_32_smp'
> WARNING: vmlinux - Section mismatch: reference to
> .init.data:new_cpu_data from .text between 'checkCPUtype' (at offset
> 0xc0100126) and 'is486'
> WARNING: vmlinux - Section mismatch: reference to
> .init.data:new_cpu_data from .text between 'checkCPUtype' (at offset
> 0xc0100130) and 'is486'
> WARNING: vmlinux - Section mismatch: reference to
> .init.data:new_cpu_data from .text between 'checkCPUtype' (at offset
> 0xc010014f) and 'is486'
> WARNING: vmlinux - Section mismatch: reference to
> .init.data:new_cpu_data from .text between 'checkCPUtype' (at offset
> 0xc0100160) and 'is486'
> WARNING: vmlinux - Section mismatch: reference to
> .init.data:new_cpu_data from .text between 'checkCPUtype' (at offset
> 0xc0100166) and 'is486'
> WARNING: vmlinux - Section mismatch: reference to
> .init.data:new_cpu_data from .text between 'checkCPUtype' (at offset
> 0xc010016c) and 'is486'
> WARNING: vmlinux - Section mismatch: reference to
> .init.data:new_cpu_data from .text between 'checkCPUtype' (at offset
> 0xc0100172) and 'is486'
> WARNING: vmlinux - Section mismatch: reference to
> .init.data:new_cpu_data from .text between 'checkCPUtype' (at offset
> 0xc0100188) and 'is486'
> WARNING: vmlinux - Section mismatch: reference to
> .init.data:new_cpu_data from .text between 'checkCPUtype' (at offset
> 0xc0100192) and 'is486'
> WARNING: vmlinux - Section mismatch: reference to
> .init.data:new_cpu_data from .text between 'checkCPUtype' (at offset
> 0xc010019b) and 'is486'
> WARNING: vmlinux - Section mismatch: reference to
> .init.data:new_cpu_data from .text between 'checkCPUtype' (at offset
> 0xc01001a1) and 'is486'
> WARNING: vmlinux - Section mismatch: reference to
> .init.data:new_cpu_data from .text between 'check_x87' (at offset
> 0xc010021b) and 'setup_pda'
> WARNING: vmlinux - Section mismatch: reference to
> .init.data:new_cpu_data from .text between 'check_x87' (at offset
> 0xc010023a) and 'setup_pda'
> WARNING: vmlinux - Section mismatch: reference to
> .init.text:start_kernel from .text between 'is386' (at offset
> 0xc0100215) and 'check_x87'
> WARNING: vmlinux - Section mismatch: reference to
> .init.text:smp_prepare_cpus from .text between 'init' (at offset
> 0xc01003db) and 'rest_init'
> WARNING: vmlinux - Section mismatch: reference to
> .init.text:migration_init from .text between 'init' (at offset
> 0xc01003e0) and 'rest_init'
> WARNING: vmlinux - Section mismatch: reference to
> .init.text:spawn_ksoftirqd from .text between 'init' (at offset
> 0xc01003e5) and 'rest_init'
> WARNING: vmlinux - Section mismatch: reference to
> .init.text:smp_cpus_done from .text between 'init' (at offset
> 0xc0100459) and 'rest_init'
> WARNING: vmlinux - Section mismatch: reference to
> .init.text:sched_init_smp from .text between 'init' (at offset
> 0xc010045e) and 'rest_init'
> WARNING: vmlinux - Section mismatch: reference to
> .init.text:cpuset_init_smp from .text between 'init' (at offset
> 0xc0100463) and 'rest_init'
> WARNING: vmlinux - Section mismatch: reference to
> .init.text:usermodehelper_init from .text between 'init' (at offset
> 0xc010046d) and 'rest_init'
> WARNING: vmlinux - Section mismatch: reference to .init.text:driver_init
> from .text between 'init' (at offset 0xc0100472) and 'rest_init'
> WARNING: vmlinux - Section mismatch: reference to .init.text:sysctl_init
> from .text between 'init' (at offset 0xc0100477) and 'rest_init'
> WARNING: vmlinux - Section mismatch: reference to .init.data: from .text
> between 'init' (at offset 0xc010048c) and 'rest_init'
> WARNING: vmlinux - Section mismatch: reference to .init.data: from .text
> between 'init' (at offset 0xc01004ca) and 'rest_init'
> WARNING: vmlinux - Section mismatch: reference to
> .init.text:prepare_namespace from .text between 'init' (at offset
> 0xc010058d) and 'rest_init'
> WARNING: vmlinux - Section mismatch: reference to
> .init.text:efi_set_rtc_mmss from .text between 'sync_cmos_clock' (at
> offset 0xc0105987) and 'get_cmos_time'
> WARNING: vmlinux - Section mismatch: reference to
> .init.text:machine_specific_memory_setup from .text between
> 'memory_setup' (at offset 0xc01065d9) and 'i8259A_suspend'
> WARNING: vmlinux - Section mismatch: reference to
> .init.text:__alloc_bootmem from .text between 'init_gdt' (at offset
> 0xc0108869) and 'cpu_init'
> WARNING: vmlinux - Section mismatch: reference to
> .init.text:__alloc_bootmem from .text between 'init_gdt' (at offset
> 0xc010887f) and 'cpu_init'
> WARNING: vmlinux - Section mismatch: reference to
> .init.text:sysenter_setup from .text between 'identify_cpu' (at offset
> 0xc0108d43) and 'display_cacheinfo'
> WARNING: vmlinux - Section mismatch: reference to
> .init.text:mtrr_bp_init from .text between 'identify_cpu' (at offset
> 0xc0108d4d) and 'display_cacheinfo'
> WARNING: vmlinux - Section mismatch: reference to
> .init.data:acpi_sci_flags from .text between 'acpi_sci_ioapic_setup' (at
> offset 0xc010e020) and 'acpi_unmap_lsapic'
> WARNING: vmlinux - Section mismatch: reference to
> .init.data:acpi_sci_flags from .text between 'acpi_sci_ioapic_setup' (at
> offset 0xc010e04a) and 'acpi_unmap_lsapic'
> WARNING: vmlinux - Section mismatch: reference to
> .init.text:mp_override_legacy_irq from .text between
> 'acpi_sci_ioapic_setup' (at offset 0xc010e062) and 'acpi_unmap_lsapic'
> WARNING: vmlinux - Section mismatch: reference to
> .init.data:acpi_sci_override_gsi from .text between
> 'acpi_sci_ioapic_setup' (at offset 0xc010e068) and 'acpi_unmap_lsapic'
> WARNING: vmlinux - Section mismatch: reference to .init.data: from .text
> between 'start_secondary' (at offset 0xc01117ac) and 'initialize_secondary'
> WARNING: vmlinux - Section mismatch: reference to .init.data: from .text
> between 'start_secondary' (at offset 0xc01117b8) and 'initialize_secondary'
> WARNING: vmlinux - Section mismatch: reference to .init.data: from .text
> between 'start_secondary' (at offset 0xc01117c7) and 'initialize_secondary'
> WARNING: vmlinux - Section mismatch: reference to .init.data: from .text
> between 'start_secondary' (at offset 0xc01117e6) and 'initialize_secondary'
> WARNING: vmlinux - Section mismatch: reference to .init.data: from .text
> between 'start_secondary' (at offset 0xc01117ed) and 'initialize_secondary'
> WARNING: vmlinux - Section mismatch: reference to .init.data: from .text
> between 'start_secondary' (at offset 0xc0111801) and 'initialize_secondary'
> WARNING: vmlinux - Section mismatch: reference to .init.data: from .text
> between 'start_secondary' (at offset 0xc0111810) and 'initialize_secondary'
> WARNING: vmlinux - Section mismatch: reference to .init.data:maxcpus
> from .text between 'MP_processor_info' (at offset 0xc0111d7e) and
> 'mp_register_lapic'
> WARNING: vmlinux - Section mismatch: reference to
> .init.text:__init_begin from .text between 'free_initmem' (at offset
> 0xc0116dd5) and 'do_test_wp_bit'
> WARNING: vmlinux - Section mismatch: reference to .init.text: from .text
> between 'online_page' (at offset 0xc0116e3b) and 'page_is_ram'
> WARNING: vmlinux - Section mismatch: reference to .init.text:_sinittext
> from .text between 'core_kernel_text' (at offset 0xc012de6e) and
> 'kernel_text_address'
> WARNING: vmlinux - Section mismatch: reference to .init.text:_einittext
> from .text between 'core_kernel_text' (at offset 0xc012de77) and
> 'kernel_text_address'
> WARNING: vmlinux - Section mismatch: reference to .init.text:_sinittext
> from .text between 'get_symbol_pos' (at offset 0xc0138e3a) and 'reset_iter'
> WARNING: vmlinux - Section mismatch: reference to .init.text:_einittext
> from .text between 'get_symbol_pos' (at offset 0xc0138e41) and 'reset_iter'
> WARNING: vmlinux - Section mismatch: reference to .init.text:_sinittext
> from .text between 'is_ksym_addr' (at offset 0xc01390c7) and
> 'kallsyms_lookup'
> WARNING: vmlinux - Section mismatch: reference to .init.text:_einittext
> from .text between 'is_ksym_addr' (at offset 0xc01390cf) and
> 'kallsyms_lookup'
> WARNING: vmlinux - Section mismatch: reference to
> .init.data:initkmem_list3 from .text between 'set_up_list3s' (at offset
> 0xc015e54d) and 's_stop'
> WARNING: vmlinux - Section mismatch: reference to .init.data: from .text
> between 'asus_hides_smbus_lpc' (at offset 0xc01d38b6) and 'quirk_sis_503'
> WARNING: vmlinux - Section mismatch: reference to .init.data: from .text
> between 'asus_hides_smbus_lpc_ich6' (at offset 0xc01d3de0) and
> 'quirk_cardbus_legacy'
> WARNING: vmlinux - Section mismatch: reference to
> .init.data:logo_linux_mono from .text between 'fb_find_logo' (at offset
> 0xc01e991e) and 'cfb_fillrect'
> WARNING: vmlinux - Section mismatch: reference to
> .init.data:logo_linux_clut224 from .text between 'fb_find_logo' (at
> offset 0xc01e9928) and 'cfb_fillrect'
> WARNING: vmlinux - Section mismatch: reference to
> .init.data:logo_linux_vga16 from .text between 'fb_find_logo' (at offset
> 0xc01e992d) and 'cfb_fillrect'
> Root device is (8, 2)
> Boot sector 512 bytes.
> Setup is 6887 bytes.
> System is 1422 kB

---
~Randy

2006-12-23 05:41:22

by Len Brown

[permalink] [raw]
Subject: Re: Section mismatch on current git head


> WARNING: vmlinux - Section mismatch: reference to
> .init.data:acpi_sci_flags from .text between 'acpi_sci_ioapic_setup' (at
> offset 0xc010e020) and 'acpi_unmap_lsapic'
> WARNING: vmlinux - Section mismatch: reference to
> .init.data:acpi_sci_flags from .text between 'acpi_sci_ioapic_setup' (at
> offset 0xc010e04a) and 'acpi_unmap_lsapic'
> WARNING: vmlinux - Section mismatch: reference to
> .init.text:mp_override_legacy_irq from .text between
> 'acpi_sci_ioapic_setup' (at offset 0xc010e062) and 'acpi_unmap_lsapic'
> WARNING: vmlinux - Section mismatch: reference to
> .init.data:acpi_sci_override_gsi from .text between
> 'acpi_sci_ioapic_setup' (at offset 0xc010e068) and 'acpi_unmap_lsapic'

The acpi_sci_ioapic_setup ones should go away with the patch below, but do no harm in the mean-time.
cheers,
-Len

commit 0351a612f7a46995c28d4ef6189229b5d1dfc6c3
Author: Len Brown <[email protected]>
Date: Thu Dec 21 01:29:59 2006 -0500

ACPI: fix section mis-match build warning

Dunno why this pops out in only in the allmodconfig build.
Though the warning is accurate, all the callers of the flagged
non __init function are __init, this is not a functional change.

WARNING: vmlinux - Section mismatch: reference to .init.data:acpi_sci_flags from .text between 'acpi_sci_ioapic_setup' (at offset 0xc010f0a
6) and 'acpi_gsi_to_irq' WARNING: vmlinux - Section mismatch: reference to .init.text:mp_override_legacy_irq from .text between 'acpi_sci_ioapic_setup' (at offset 0
xc010f0de) and 'acpi_gsi_to_irq' WARNING: vmlinux - Section mismatch: reference to .init.data:acpi_sci_override_gsi from .text between 'acpi_sci_ioapic_setup' (at offset 0x
c010f0e4) and 'acpi_gsi_to_irq'

Signed-off-by: Len Brown <[email protected]>

diff --git a/arch/i386/kernel/acpi/boot.c b/arch/i386/kernel/acpi/boot.c
index c8f96cf..45cffbf 100644
--- a/arch/i386/kernel/acpi/boot.c
+++ b/arch/i386/kernel/acpi/boot.c
@@ -333,7 +333,7 @@ acpi_parse_ioapic(acpi_table_entry_header * header, const unsigned long end)
/*
* Parse Interrupt Source Override for the ACPI SCI
*/
-static void acpi_sci_ioapic_setup(u32 gsi, u16 polarity, u16 trigger)
+static void __init acpi_sci_ioapic_setup(u32 gsi, u16 polarity, u16 trigger)
{
if (trigger == 0) /* compatible SCI trigger is level */
trigger = 3;

2007-01-03 06:00:12

by Vivek Goyal

[permalink] [raw]
Subject: Re: Section mismatch on current git head

On Fri, Dec 22, 2006 at 09:47:10AM -0800, Randy Dunlap wrote:
> On Fri, 22 Dec 2006 15:24:41 +0100 Thomas Meyer wrote:
>
> > Hello.
> >
> > What kind of problem is this:
> > 1.) the one that should be fixed, but also can be ignored or
> > 2.) the one that have to be fixed and ignorance is a bad idea?
> >
>
> Is this with CONFIG_RELOCATABLE=y?
> There were some patches posted to address section mismatches
> with that config option. I suppose that they will be in the
> next -mm release (?), so this needs to be retested with
> those patches applied.
>

Hi Randy,

I have posted some patches. But there are lots of warnings and I am
still working through the rest. Already posted patches are available
in rc2-mm1.

Any help from respective subsystem maintainers is appreciated. :-)

These problems are already present. CONFIG_RELOCATABLE=y just makes
them visible to MODPOST as relocatation information is retained in
vmlinux if CONFIG_RELOCATABLE=y.

Thanks
Vivek

2007-01-03 06:04:56

by Vivek Goyal

[permalink] [raw]
Subject: Re: Section mismatch on current git head

On Sat, Dec 23, 2006 at 12:40:27AM -0500, Len Brown wrote:
>
> > WARNING: vmlinux - Section mismatch: reference to
> > .init.data:acpi_sci_flags from .text between 'acpi_sci_ioapic_setup' (at
> > offset 0xc010e020) and 'acpi_unmap_lsapic'
> > WARNING: vmlinux - Section mismatch: reference to
> > .init.data:acpi_sci_flags from .text between 'acpi_sci_ioapic_setup' (at
> > offset 0xc010e04a) and 'acpi_unmap_lsapic'
> > WARNING: vmlinux - Section mismatch: reference to
> > .init.text:mp_override_legacy_irq from .text between
> > 'acpi_sci_ioapic_setup' (at offset 0xc010e062) and 'acpi_unmap_lsapic'
> > WARNING: vmlinux - Section mismatch: reference to
> > .init.data:acpi_sci_override_gsi from .text between
> > 'acpi_sci_ioapic_setup' (at offset 0xc010e068) and 'acpi_unmap_lsapic'
>
> The acpi_sci_ioapic_setup ones should go away with the patch below, but do no harm in the mean-time.
> cheers,
> -Len
>
> commit 0351a612f7a46995c28d4ef6189229b5d1dfc6c3
> Author: Len Brown <[email protected]>
> Date: Thu Dec 21 01:29:59 2006 -0500
>
> ACPI: fix section mis-match build warning
>
> Dunno why this pops out in only in the allmodconfig build.
> Though the warning is accurate, all the callers of the flagged
> non __init function are __init, this is not a functional change.
>

Hi Len,

These warnings pop up on allmodconfig as CONFIG_RELOCATABLE is set.

This option retains relocation information in vmlinux file and MODPOST
goes through these relocations and generates warnings.

So till date MODPOST never cribbed about vmlinux section mismatches as
it could never detect those. But with CONFIG_RELOCATABLE=y, these mismatches
become visible to MODPOST.

Thanks
Vivek