[kernel] refresh 2.6.32 patches
[openwrt.git] / target / linux / uml / patches-2.6.32 / 004-fix_text_section.patch
1 um: remove PAGE_SIZE alignment in linker script causing kernel segfault.
2
3 The linker script cleanup that I did in commit
4 5d150a97f9391f5bcd7ba0d59d7a11c3de3cea80 accidentally introduced an
5 ALIGN(PAGE_SIZE) when converting to use INIT_TEXT_SECTION; Richard
6 Weinberger reported that this causes the kernel to segfault with
7 CONFIG_STATIC_LINK=y.
8
9 I'm not certain why this extra alignment is a problem, but it seems likely
10 it is because previously
11
12 __init_begin = _stext = _text = _sinittext
13
14 and with the extra ALIGN(PAGE_SIZE), _sinittext becomes different from the
15 rest. So there is likely a bug here where something is assuming that
16 _sinittext is the same as one of those other symbols. But reverting the
17 accidental change fixes the regression, so it seems worth committing that
18 now.
19
20 Signed-off-by: Tim Abbott <tabbott@ksplice.com>
21 Reported-by: richard -rw- weinberger <richard.weinberger@gmail.com>
22 Cc: Jeff Dike <jdike@addtoit.com>
23 Cc: user-mode-linux-devel@lists.sourceforge.net
24 ---
25 arch/um/kernel/uml.lds.S | 2 +-
26 1 files changed, 1 insertions(+), 1 deletions(-)
27
28 --- a/arch/um/kernel/uml.lds.S
29 +++ b/arch/um/kernel/uml.lds.S
30 @@ -22,7 +22,7 @@ SECTIONS
31 _text = .;
32 _stext = .;
33 __init_begin = .;
34 - INIT_TEXT_SECTION(PAGE_SIZE)
35 + INIT_TEXT_SECTION(0)
36 . = ALIGN(PAGE_SIZE);
37
38 .text :
This page took 0.043802 seconds and 5 git commands to generate.