提交 fd073194 编写于 作者: I Ingo Molnar

x86, vmlinux.lds: fix relocatable symbols

__init_begin/_end symbols should be inside sections as well,
otherwise the relocatable kernel gets confused when freeing
init sections in the wrong place.

[ Impact: fix bootup crash ]

Cc: Sam Ravnborg <sam@ravnborg.org>
Cc: Tim Abbott <tabbott@MIT.EDU>
Cc: Linus Torvalds <torvalds@linux-foundation.org>
LKML-Reference: <20090429105056.GA28720@uranus.ravnborg.org>
Signed-off-by: NIngo Molnar <mingo@elte.hu>
上级 91fd7fe8
......@@ -255,8 +255,8 @@ SECTIONS
/* Init code and data - will be freed after init */
. = ALIGN(PAGE_SIZE);
__init_begin = .; /* paired with __init_end */
.init.text : AT(ADDR(.init.text) - LOAD_OFFSET) {
__init_begin = .; /* paired with __init_end */
_sinittext = .;
INIT_TEXT
_einittext = .;
......@@ -346,8 +346,11 @@ SECTIONS
#endif
. = ALIGN(PAGE_SIZE);
/* freed after init ends here */
__init_end = .;
.init.end : AT(ADDR(.init.end) - LOAD_OFFSET) {
__init_end = .;
}
#ifdef CONFIG_X86_64
.data_nosave : AT(ADDR(.data_nosave) - LOAD_OFFSET) {
......
Markdown is supported
0% .
You are about to add 0 people to the discussion. Proceed with caution.
先完成此消息的编辑!
想要评论请 注册