aboutsummaryrefslogtreecommitdiff
path: root/ld
diff options
context:
space:
mode:
authorChristophe Lyon <christophe.lyon@linaro.org>2019-08-16 08:26:45 +0000
committerChristophe Lyon <christophe.lyon@linaro.org>2019-08-16 08:28:52 +0000
commitfdfc8cf7f04e2f4d24ec9fff331ebd71a2e768a3 (patch)
tree78b0a621a3d3df88739c098d91a020e4ff787dfb /ld
parent0b8b76098ff3d3dcd0c621f2e45cc0b4e7211d6a (diff)
downloadgdb-fdfc8cf7f04e2f4d24ec9fff331ebd71a2e768a3.zip
gdb-fdfc8cf7f04e2f4d24ec9fff331ebd71a2e768a3.tar.gz
gdb-fdfc8cf7f04e2f4d24ec9fff331ebd71a2e768a3.tar.bz2
[ld] [arm] Add support for noinit section
2019-08-16 Christophe Lyon <christophe.lyon@linaro.org> * emulparams/armelf.sh (OTHER_SECTIONS): Add support for noinit section. Change-Id: Ib293f28cc5f21e9e9a13abf4d4e37f0a0eec41c0
Diffstat (limited to 'ld')
-rw-r--r--ld/ChangeLog5
-rw-r--r--ld/emulparams/armelf.sh14
2 files changed, 18 insertions, 1 deletions
diff --git a/ld/ChangeLog b/ld/ChangeLog
index de8e1b9..34d3240 100644
--- a/ld/ChangeLog
+++ b/ld/ChangeLog
@@ -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
diff --git a/ld/emulparams/armelf.sh b/ld/emulparams/armelf.sh
index 272a8bc..d46e0bd 100644
--- a/ld/emulparams/armelf.sh
+++ b/ld/emulparams/armelf.sh
@@ -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.*}) }