Commit a214a8c6 authored by Jiang Liu's avatar Jiang Liu Committed by Linus Torvalds

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: default avatarJiang 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: default avatarAndrew Morton <akpm@linux-foundation.org>
Signed-off-by: default avatarLinus Torvalds <torvalds@linux-foundation.org>
parent 40a3b8df
...@@ -57,7 +57,6 @@ ...@@ -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 ...@@ -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 ...@@ -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 ...@@ -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 ...@@ -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 ...@@ -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 ...@@ -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 ...@@ -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 = .);
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment