mirror of
https://github.com/FEX-Emu/linux.git
synced 2025-02-22 13:22:49 +00:00
UML: normalize global variables exported by vmlinux.lds
Normalize global variables exported by vmlinux.lds to conform usage guidelines from include/asm-generic/sections.h. 1) Use _text to mark the start of the kernel image including the head text, and _stext to mark the start of the .text section. 2) Export mandatory global variables __bss_stop. 3) Adjust __init_begin and __init_end to avoid acrossing .text and .data sections. Signed-off-by: Jiang Liu <jiang.liu@huawei.com> Cc: Jeff Dike <jdike@addtoit.com> Cc: Richard Weinberger <richard@nod.at> Cc: Al Viro <viro@zeniv.linux.org.uk> Signed-off-by: Andrew Morton <akpm@linux-foundation.org> Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
This commit is contained in:
parent
40a3b8df7b
commit
a214a8c68b
@ -57,7 +57,6 @@
|
|||||||
*(.uml.initcall.init)
|
*(.uml.initcall.init)
|
||||||
__uml_initcall_end = .;
|
__uml_initcall_end = .;
|
||||||
}
|
}
|
||||||
__init_end = .;
|
|
||||||
|
|
||||||
SECURITY_INIT
|
SECURITY_INIT
|
||||||
|
|
||||||
|
@ -14,8 +14,6 @@ SECTIONS
|
|||||||
__binary_start = .;
|
__binary_start = .;
|
||||||
. = ALIGN(4096); /* Init code and data */
|
. = ALIGN(4096); /* Init code and data */
|
||||||
_text = .;
|
_text = .;
|
||||||
_stext = .;
|
|
||||||
__init_begin = .;
|
|
||||||
INIT_TEXT_SECTION(PAGE_SIZE)
|
INIT_TEXT_SECTION(PAGE_SIZE)
|
||||||
|
|
||||||
. = ALIGN(PAGE_SIZE);
|
. = ALIGN(PAGE_SIZE);
|
||||||
@ -67,6 +65,7 @@ SECTIONS
|
|||||||
} =0x90909090
|
} =0x90909090
|
||||||
.plt : { *(.plt) }
|
.plt : { *(.plt) }
|
||||||
.text : {
|
.text : {
|
||||||
|
_stext = .;
|
||||||
TEXT_TEXT
|
TEXT_TEXT
|
||||||
SCHED_TEXT
|
SCHED_TEXT
|
||||||
LOCK_TEXT
|
LOCK_TEXT
|
||||||
@ -91,7 +90,9 @@ SECTIONS
|
|||||||
|
|
||||||
#include <asm/common.lds.S>
|
#include <asm/common.lds.S>
|
||||||
|
|
||||||
|
__init_begin = .;
|
||||||
init.data : { INIT_DATA }
|
init.data : { INIT_DATA }
|
||||||
|
__init_end = .;
|
||||||
|
|
||||||
/* Ensure the __preinit_array_start label is properly aligned. We
|
/* Ensure the __preinit_array_start label is properly aligned. We
|
||||||
could instead move the label definition inside the section, but
|
could instead move the label definition inside the section, but
|
||||||
@ -155,6 +156,7 @@ SECTIONS
|
|||||||
. = ALIGN(32 / 8);
|
. = ALIGN(32 / 8);
|
||||||
. = ALIGN(32 / 8);
|
. = ALIGN(32 / 8);
|
||||||
}
|
}
|
||||||
|
__bss_stop = .;
|
||||||
_end = .;
|
_end = .;
|
||||||
PROVIDE (end = .);
|
PROVIDE (end = .);
|
||||||
|
|
||||||
|
@ -20,13 +20,12 @@ SECTIONS
|
|||||||
. = START + SIZEOF_HEADERS;
|
. = START + SIZEOF_HEADERS;
|
||||||
|
|
||||||
_text = .;
|
_text = .;
|
||||||
_stext = .;
|
|
||||||
__init_begin = .;
|
|
||||||
INIT_TEXT_SECTION(0)
|
INIT_TEXT_SECTION(0)
|
||||||
. = ALIGN(PAGE_SIZE);
|
. = ALIGN(PAGE_SIZE);
|
||||||
|
|
||||||
.text :
|
.text :
|
||||||
{
|
{
|
||||||
|
_stext = .;
|
||||||
TEXT_TEXT
|
TEXT_TEXT
|
||||||
SCHED_TEXT
|
SCHED_TEXT
|
||||||
LOCK_TEXT
|
LOCK_TEXT
|
||||||
@ -62,7 +61,10 @@ SECTIONS
|
|||||||
|
|
||||||
#include <asm/common.lds.S>
|
#include <asm/common.lds.S>
|
||||||
|
|
||||||
|
__init_begin = .;
|
||||||
init.data : { INIT_DATA }
|
init.data : { INIT_DATA }
|
||||||
|
__init_end = .;
|
||||||
|
|
||||||
.data :
|
.data :
|
||||||
{
|
{
|
||||||
INIT_TASK_DATA(KERNEL_STACK_SIZE)
|
INIT_TASK_DATA(KERNEL_STACK_SIZE)
|
||||||
@ -97,6 +99,7 @@ SECTIONS
|
|||||||
PROVIDE(_bss_start = .);
|
PROVIDE(_bss_start = .);
|
||||||
SBSS(0)
|
SBSS(0)
|
||||||
BSS(0)
|
BSS(0)
|
||||||
|
__bss_stop = .;
|
||||||
_end = .;
|
_end = .;
|
||||||
PROVIDE (end = .);
|
PROVIDE (end = .);
|
||||||
|
|
||||||
|
Loading…
x
Reference in New Issue
Block a user