From fdfc8cf7f04e2f4d24ec9fff331ebd71a2e768a3 Mon Sep 17 00:00:00 2001 From: Christophe Lyon Date: Fri, 16 Aug 2019 08:26:45 +0000 Subject: [PATCH] [ld] [arm] Add support for noinit section 2019-08-16 Christophe Lyon * emulparams/armelf.sh (OTHER_SECTIONS): Add support for noinit section. Change-Id: Ib293f28cc5f21e9e9a13abf4d4e37f0a0eec41c0 --- ld/ChangeLog | 5 +++++ ld/emulparams/armelf.sh | 14 +++++++++++++- 2 files changed, 18 insertions(+), 1 deletion(-) 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 + + * emulparams/armelf.sh (OTHER_SECTIONS): Add support for noinit + section. + 2019-08-16 Alan Modra * 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.*}) } -- 2.7.4