lkml.org 
[lkml]   [2010]   [Sep]   [13]   [last100]   RSS Feed
Views: [wrap][no wrap]   [headers]  [forward] 
 
Messages in this thread
    Patch in this message
    /
    Date
    From
    SubjectRe: linux-next: build warnings after merge of the final tree (tip treee related)
    On 09/12/2010 08:27 PM, Stephen Rothwell wrote:
    > Hi all,
    >
    > After merging the scsi-post-merge tree, today's linux-next build (powerpc
    > allnoconfig, i386 defconfig and others) produced these warnings (I build
    > with CONFIG_DEBUG_SECTION_MISMATCH=y):
    >
    > WARNING: mm/built-in.o(.text+0x25910): Section mismatch in reference from the function memblock_find_in_range() to the function .init.text:memblock_find_base()
    > The function memblock_find_in_range() references
    > the function __init memblock_find_base().
    > This is often because memblock_find_in_range lacks a __init
    > annotation or the annotation of memblock_find_base is wrong.

    please check it, and it should get into core/memblock branch.

    Thanks

    Yinghai

    [PATCH] memblock: Fix section mismatch warning

    for arches that use memblock other than x86

    Reported-by: Stephen Rothwell <sfr@canb.auug.org.au>
    Signed-off-by: Yinghai Lu <Yinghai@kernel.org>

    ---
    mm/memblock.c | 10 +++++-----
    1 file changed, 5 insertions(+), 5 deletions(-)

    Index: linux-2.6/mm/memblock.c
    ===================================================================
    --- linux-2.6.orig/mm/memblock.c
    +++ linux-2.6/mm/memblock.c
    @@ -125,8 +125,8 @@ static phys_addr_t __init memblock_find_
    return MEMBLOCK_ERROR;
    }

    -static phys_addr_t __init memblock_find_base(phys_addr_t size, phys_addr_t align,
    - phys_addr_t start, phys_addr_t end)
    +static phys_addr_t __init_memblock memblock_find_base(phys_addr_t size,
    + phys_addr_t align, phys_addr_t start, phys_addr_t end)
    {
    long i;

    @@ -439,12 +439,12 @@ long __init_memblock memblock_remove(phy
    return __memblock_remove(&memblock.memory, base, size);
    }

    -long __init memblock_free(phys_addr_t base, phys_addr_t size)
    +long __init_memblock memblock_free(phys_addr_t base, phys_addr_t size)
    {
    return __memblock_remove(&memblock.reserved, base, size);
    }

    -long __init memblock_reserve(phys_addr_t base, phys_addr_t size)
    +long __init_memblock memblock_reserve(phys_addr_t base, phys_addr_t size)
    {
    struct memblock_type *_rgn = &memblock.reserved;

    @@ -693,7 +693,7 @@ int __init_memblock memblock_is_region_r
    }


    -void __init memblock_set_current_limit(phys_addr_t limit)
    +void __init_memblock memblock_set_current_limit(phys_addr_t limit)
    {
    memblock.current_limit = limit;
    }

    \
     
     \ /
      Last update: 2010-09-13 06:19    [W:0.024 / U:0.568 seconds]
    ©2003-2016 Jasper Spaans. hosted at Digital OceanAdvertise on this site