lkml.org 
[lkml]   [2008]   [Jun]   [30]   [last100]   RSS Feed
Views: [wrap][no wrap]   [headers]  [forward] 
 
Messages in this thread
    Patch in this message
    /
    From
    Subject[PATCH 15/24] vmlinux.lds: move __attribute__((__cold__)) functions back into final .text section
    Date
    From: Jan Beulich <jbeulich@novell.com>

    Due to the addition of __attribute__((__cold__)) to a few symbols
    without adjusting the linker scripts, those symbols currently may end
    up outside the [_stext,_etext) range, as they get placed in
    .text.unlikely by (at least) gcc 4.3.0. This may confuse code not only
    outside of the kernel, symbol_put_addr()'s BUG() could also trigger.
    Hence we need to add .text.unlikely (and for future uses of
    __attribute__((__hot__)) also .text.hot) to the TEXT_TEXT() macro.

    Issue observed by Lukas Lipavsky.

    Signed-off-by: Jan Beulich <jbeulich@novell.com>
    Tested-by: Lukas Lipavsky <llipavsky@suse.cz>
    Signed-off-by: Sam Ravnborg <sam@ravnborg.org>
    ---
    include/asm-generic/vmlinux.lds.h | 4 +++-
    1 files changed, 3 insertions(+), 1 deletions(-)

    diff --git a/include/asm-generic/vmlinux.lds.h b/include/asm-generic/vmlinux.lds.h
    index f054778..5a544bf 100644
    --- a/include/asm-generic/vmlinux.lds.h
    +++ b/include/asm-generic/vmlinux.lds.h
    @@ -204,6 +204,7 @@
    * during second ld run in second ld pass when generating System.map */
    #define TEXT_TEXT \
    ALIGN_FUNCTION(); \
    + *(.text.hot) \
    *(.text) \
    *(.ref.text) \
    *(.text.init.refok) \
    @@ -213,7 +214,8 @@
    CPU_KEEP(init.text) \
    CPU_KEEP(exit.text) \
    MEM_KEEP(init.text) \
    - MEM_KEEP(exit.text)
    + MEM_KEEP(exit.text) \
    + *(.text.unlikely)


    /* sched.text is aling to function alignment to secure we have same
    --
    1.5.6.1.93.gef98


    \
     
     \ /
      Last update: 2008-06-30 23:45    [W:0.019 / U:1.132 seconds]
    ©2003-2016 Jasper Spaans. hosted at Digital OceanAdvertise on this site