From: Tim A. <ta...@ks...> - 2009-12-22 02:13:56
|
On Tue, 22 Dec 2009, richard -rw- weinberger wrote: > Adding the ALIGN(PAGE_SIZE) causes the segfault. > But I cannot tell you why. :-( OK, then the following patch should fix the regression by reverting that unintentional change. Someone should probably determine why the ALIGN causes a segfault, since that is probably a bug, but I don't have time to do that investigation. Richard, can you test that this patch fixes the issue for you? (adding the UML maintainer and list to the thread). -Tim Abbott um: remove PAGE_SIZE alignment in linker script causing kernel segfault. The linker script cleanup that I did in commit 5d150a97f9391f5bcd7ba0d59d7a11c3de3cea80 introduced an ALIGN(PAGE_SIZE) when using INIT_TEXT_SECTION; this apparently causes the kernel to segfault with CONFIG_STATIC_LINK=y. I'm not certain why this would cause the kernel to segfault, but it seems likely it is because previously it was the case that __init_begin = _stext = _text = _sinittext and with the extra ALIGN(PAGE_SIZE), _sinittext becomes different. Signed-off-by: Tim Abbott <ta...@ks...> Reported-by: richard -rw- weinberger <ric...@gm...> Cc: Jeff Dike <jd...@ad...> Cc: use...@li... --- arch/um/kernel/uml.lds.S | 2 +- 1 files changed, 1 insertions(+), 1 deletions(-) diff --git a/arch/um/kernel/uml.lds.S b/arch/um/kernel/uml.lds.S index e7a6cca..664f942 100644 --- a/arch/um/kernel/uml.lds.S +++ b/arch/um/kernel/uml.lds.S @@ -22,7 +22,7 @@ SECTIONS _text = .; _stext = .; __init_begin = .; - INIT_TEXT_SECTION(PAGE_SIZE) + INIT_TEXT_SECTION(0) . = ALIGN(PAGE_SIZE); .text : -- 1.6.5.7 |
From: richard -r. w. <ric...@gm...> - 2009-12-22 11:42:48
|
2009/12/22, Tim Abbott <ta...@ks...>: > Richard, can you test that this patch fixes the issue for you? Using INIT_TEXT_SECTION(0) instead of INIT_TEXT_SECTION(PAGE_SIZE) works fine here. (Tested with 2.6.33-rc1 and 2.6.32) //richard |