source: trunk/target/linux/uml/patches-2.6.33/003-fix_text_section.patch @ 21081

Last change on this file since 21081 was 21081, checked in by juhosg, 6 years ago

kernel: refresh patches for 2.6.33.2, and drop md5sum for older 2.6.32 kernels

File size: 1.3 KB
  • arch/um/kernel/uml.lds.S

    um: remove PAGE_SIZE alignment in linker script causing kernel segfault.
    
    The linker script cleanup that I did in commit 
    5d150a97f9391f5bcd7ba0d59d7a11c3de3cea80 accidentally introduced an 
    ALIGN(PAGE_SIZE) when converting to use INIT_TEXT_SECTION; Richard 
    Weinberger reported that this causes the kernel to segfault with 
    CONFIG_STATIC_LINK=y.
    
    I'm not certain why this extra alignment is a problem, but it seems likely 
    it is because previously
    
    __init_begin = _stext = _text = _sinittext 
    
    and with the extra ALIGN(PAGE_SIZE), _sinittext becomes different from the 
    rest.  So there is likely a bug here where something is assuming that 
    _sinittext is the same as one of those other symbols.  But reverting the 
    accidental change fixes the regression, so it seems worth committing that 
    now.
    
    Signed-off-by: Tim Abbott <tabbott@ksplice.com>
    Reported-by: richard -rw- weinberger <richard.weinberger@gmail.com>
    Cc: Jeff Dike <jdike@addtoit.com>
    Cc: user-mode-linux-devel@lists.sourceforge.net
    ---
     arch/um/kernel/uml.lds.S |    2 +-
     1 files changed, 1 insertions(+), 1 deletions(-)
    
    a b SECTIONS 
    2222  _text = .; 
    2323  _stext = .; 
    2424  __init_begin = .; 
    25   INIT_TEXT_SECTION(PAGE_SIZE) 
     25  INIT_TEXT_SECTION(0) 
    2626  . = ALIGN(PAGE_SIZE); 
    2727 
    2828  .text      : 
Note: See TracBrowser for help on using the repository browser.