mirror of
git://projects.qi-hardware.com/openwrt-xburst.git
synced 2025-01-12 01:00:16 +02:00
uml: this patch went upstream
git-svn-id: svn://svn.openwrt.org/openwrt/trunk@24802 3c298f89-4303-0410-b956-a3cf2f4a3e73
This commit is contained in:
parent
8d00d695a0
commit
6f210ed73c
@ -1,38 +0,0 @@
|
|||||||
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/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 :
|
|
Loading…
Reference in New Issue
Block a user