[lkml]   [2009]   [Apr]   [20]   [last100]   RSS Feed
Views: [wrap][no wrap]   [headers]  [forward] 
Messages in this thread
    SubjectRe: [tip:x86/urgent] x86: Fix false positive section mismatch warnings in the apic code
    On 4/19/09, Sam Ravnborg <> wrote:
    > If I understand it correct we have the following:

    > (data) struct apic apic_es7000.acpi_madt_oem_check =>
    > (function) es7000_acpi_madt_oem_check =>
    > (function) find_unisys_acpi_oem_table
    > (__init) early_acpi_os_unmap_memory
    > So the real fix is to:
    > 1) annotate find_unisys_acpi_oem_table __init
    > 2) annotate es7000_acpi_madt_oem_check __init
    > 3) teach modpost that struct apic apic_es7000 may reference __init
    > Step 3 is done using __refdata
    > Based on the above analysis I would assume the best fix
    > would look like this the following.
    > [I only looked at the first warning]
    > Rabik/Marcin - if you agree in the analysis could you produce
    > a proper patch and send to Ingo - thanks.
    > You can add my:
    > Signed-off-by: Sam Ravnborg <>
    > if the patch is ok.
    > Sam
    Hi Sam, after applying your suggested three steps, we still have the
    following warning:

    WARNING: arch/x86/kernel/built-in.o(.text+0x36174): Section mismatch
    in reference from the function unmap_unisys_acpi_oem_table() to the
    function .init.text:__acpi_unmap_table()
    The function unmap_unisys_acpi_oem_table() references
    the function __init __acpi_unmap_table().
    This is often because unmap_unisys_acpi_oem_table lacks a __init
    annotation or the annotation of __acpi_unmap_table is wrong.

    So, I think we've to annote unmap_unisys_acpi_oem_table with __init (
    If we apply Sam's suggested steps). If anything else please notice.


     \ /
      Last update: 2009-04-20 06:09    [W:0.025 / U:36.452 seconds]
    ©2003-2016 Jasper Spaans. hosted at Digital OceanAdvertise on this site