Donate to e Foundation | Murena handsets with /e/OS | Own a part of Murena! Learn more

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

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
Loading
Loading
Loading
Loading
+0 −1
Original line number Diff line number Diff line
@@ -57,7 +57,6 @@
	*(.uml.initcall.init)
	__uml_initcall_end = .;
  }
  __init_end = .;

  SECURITY_INIT

+4 −2
Original line number Diff line number Diff line
@@ -14,8 +14,6 @@ SECTIONS
  __binary_start = .;
  . = ALIGN(4096);		/* Init code and data */
  _text = .;
  _stext = .;
  __init_begin = .;
  INIT_TEXT_SECTION(PAGE_SIZE)

  . = ALIGN(PAGE_SIZE);
@@ -67,6 +65,7 @@ SECTIONS
  } =0x90909090
  .plt            : { *(.plt) }
  .text           : {
    _stext = .;
    TEXT_TEXT
    SCHED_TEXT
    LOCK_TEXT
@@ -91,7 +90,9 @@ SECTIONS

  #include <asm/common.lds.S>

  __init_begin = .;
  init.data : { INIT_DATA }
  __init_end = .;

  /* Ensure the __preinit_array_start label is properly aligned.  We
     could instead move the label definition inside the section, but
@@ -155,6 +156,7 @@ SECTIONS
   . = ALIGN(32 / 8);
  . = ALIGN(32 / 8);
  }
   __bss_stop = .;
  _end = .;
  PROVIDE (end = .);

+5 −2
Original line number Diff line number Diff line
@@ -20,13 +20,12 @@ SECTIONS
  . = START + SIZEOF_HEADERS;

  _text = .;
  _stext = .;
  __init_begin = .;
  INIT_TEXT_SECTION(0)
  . = ALIGN(PAGE_SIZE);

  .text      :
  {
    _stext = .;
    TEXT_TEXT
    SCHED_TEXT
    LOCK_TEXT
@@ -62,7 +61,10 @@ SECTIONS

  #include <asm/common.lds.S>

  __init_begin = .;
  init.data : { INIT_DATA }
  __init_end = .;

  .data    :
  {
    INIT_TASK_DATA(KERNEL_STACK_SIZE)
@@ -97,6 +99,7 @@ SECTIONS
  PROVIDE(_bss_start = .);
  SBSS(0)
  BSS(0)
   __bss_stop = .;
  _end = .;
  PROVIDE (end = .);