lkml.org 
[lkml]   [2008]   [Jun]   [18]   [last100]   RSS Feed
Views: [wrap][no wrap]   [headers]  [forward] 
 
Messages in this thread
    Patch in this message
    /
    Date
    From
    Subject[PATCH] move __attribute__((__cold__)) functions back into final .text section
    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.

    Cc: Lukas Lipavsky <llipavsky@suse.cz>
    Signed-off-by: Jan Beulich <jbeulich@novell.com>

    ---
    include/asm-generic/vmlinux.lds.h | 4 +++-
    1 file changed, 3 insertions(+), 1 deletion(-)

    --- linux-2.6.26-rc6/include/asm-generic/vmlinux.lds.h 2008-04-17 04:49:44.000000000 +0200
    +++ 2.6.26-rc6-hot-cold-text/include/asm-generic/vmlinux.lds.h 2008-06-18 12:19:22.000000000 +0200
    @@ -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




    \
     
     \ /
      Last update: 2008-06-18 13:39    [W:0.043 / U:59.460 seconds]
    ©2003-2016 Jasper Spaans. hosted at Digital OceanAdvertise on this site