[ld] [arm] Add support for noinit section
authorChristophe Lyon <christophe.lyon@linaro.org>
Fri, 16 Aug 2019 08:26:45 +0000 (08:26 +0000)
committerChristophe Lyon <christophe.lyon@linaro.org>
Fri, 16 Aug 2019 08:28:52 +0000 (08:28 +0000)
2019-08-16  Christophe Lyon  <christophe.lyon@linaro.org>

* emulparams/armelf.sh (OTHER_SECTIONS): Add support for noinit
section.

Change-Id: Ib293f28cc5f21e9e9a13abf4d4e37f0a0eec41c0

ld/ChangeLog
ld/emulparams/armelf.sh

index de8e1b9..34d3240 100644 (file)
@@ -1,3 +1,8 @@
+2019-08-16  Christophe Lyon  <christophe.lyon@linaro.org>
+
+       * emulparams/armelf.sh (OTHER_SECTIONS): Add support for noinit
+       section.
+
 2019-08-16  Alan Modra  <amodra@gmail.com>
 
        * emultempl/ppc32elf.em (ppc_before_allocation): Force running
index 272a8bc..d46e0bd 100644 (file)
@@ -10,7 +10,19 @@ OTHER_TEXT_SECTIONS='*(.glue_7t) *(.glue_7) *(.vfp11_veneer) *(.v4_bx)'
 OTHER_BSS_SYMBOLS="${CREATE_SHLIB+PROVIDE (}__bss_start__ = .${CREATE_SHLIB+)};"
 OTHER_BSS_END_SYMBOLS="${CREATE_SHLIB+PROVIDE (}_bss_end__ = .${CREATE_SHLIB+)}; ${CREATE_SHLIB+PROVIDE (}__bss_end__ = .${CREATE_SHLIB+)};"
 OTHER_END_SYMBOLS="${CREATE_SHLIB+PROVIDE (}__end__ = .${CREATE_SHLIB+)};"
-OTHER_SECTIONS='.note.gnu.arm.ident 0 : { KEEP (*(.note.gnu.arm.ident)) }'
+OTHER_SECTIONS='
+.note.gnu.arm.ident 0 : { KEEP (*(.note.gnu.arm.ident)) }
+/* This section contains data that is not initialised during load
+   *or* application reset.  */
+ .noinit (NOLOAD) :
+ {
+   . = ALIGN(2);
+   PROVIDE (__noinit_start = .);
+   *(.noinit)
+   . = ALIGN(2);
+   PROVIDE (__noinit_end = .);
+ }
+'
 ATTRS_SECTIONS='.ARM.attributes 0 : { KEEP (*(.ARM.attributes)) KEEP (*(.gnu.attributes)) }'
 OTHER_READONLY_SECTIONS="
   .ARM.extab ${RELOCATING-0} : { *(.ARM.extab${RELOCATING+* .gnu.linkonce.armextab.*}) }