linker: align _image_rodata and _image_rom start/end/size linker symbols
Cleanup and preparation commit for linker script generator. Zephyr linker scripts provides start and end symbols for each larger areas in the linker script. The symbols _image_rom_start and _image_rom_end corresponds to the group ROMABLE_REGION defined in the ld linker scripts. The symbols _image_rodata_start and _image_rodata_end is not placed as independent group but covers common-rom.ld, thread-local-storage.ld, kobject-rom.ld and snippets-rodata.ld. This commit align those names and prepares for generation of groups in linker scripts. The symbols describing the ROMABLE_REGION will be renamed to: _image_rom_start -> __rom_region_start _image_rom_end -> __rom_region_end The rodata will also use the group symbol notation as: _image_rodata_start -> __rodata_region_start _image_rodata_end -> __rodata_region_end Signed-off-by: Torsten Rasmussen <Torsten.Rasmussen@nordicsemi.no>
This commit is contained in:
parent
510d7dbfb6
commit
c6aded2dcb
23 changed files with 86 additions and 86 deletions
|
@ -74,7 +74,7 @@ SECTIONS {
|
|||
GROUP_START(ROMABLE_REGION)
|
||||
|
||||
SECTION_PROLOGUE(_TEXT_SECTION_NAME,,ALIGN(1024)) {
|
||||
_image_rom_start = .;
|
||||
__rom_region_start = .;
|
||||
_image_text_start = .;
|
||||
|
||||
/* Located in generated directory. This file is populated by the
|
||||
|
@ -96,7 +96,7 @@ SECTIONS {
|
|||
#endif /* CONFIG_CPLUSPLUS && !CONFIG_CPP_STATIC_INIT_GNU && __MWDT_LINKER_CMD__ */
|
||||
|
||||
_image_text_end = .;
|
||||
_image_rodata_start = .;
|
||||
__rodata_region_start = .;
|
||||
|
||||
#include <linker/common-rom.ld>
|
||||
#include <linker/thread-local-storage.ld>
|
||||
|
@ -127,10 +127,10 @@ SECTIONS {
|
|||
#include <linker/cplusplus-rom.ld>
|
||||
#endif /* __MWDT_LINKER_CMD__ */
|
||||
|
||||
_image_rodata_end = .;
|
||||
MPU_ALIGN(_image_rodata_end - _image_rom_start);
|
||||
_image_rom_end = .;
|
||||
_image_rom_size = _image_rom_end - _image_rom_start;
|
||||
__rodata_region_end = .;
|
||||
MPU_ALIGN(__rodata_region_end - __rom_region_start);
|
||||
__rom_region_end = .;
|
||||
__rom_region_size = __rom_region_end - __rom_region_start;
|
||||
|
||||
GROUP_END(ROMABLE_REGION)
|
||||
|
||||
|
|
|
@ -103,9 +103,9 @@ SECTIONS
|
|||
GROUP_START(ROMABLE_REGION)
|
||||
|
||||
#if defined(CONFIG_XIP)
|
||||
_image_rom_start = ROM_ADDR;
|
||||
__rom_region_start = ROM_ADDR;
|
||||
#else
|
||||
_image_rom_start = RAM_ADDR;
|
||||
__rom_region_start = RAM_ADDR;
|
||||
#endif
|
||||
|
||||
SECTION_PROLOGUE(rom_start,,)
|
||||
|
@ -170,7 +170,7 @@ SECTIONS
|
|||
__exidx_end = .;
|
||||
} GROUP_LINK_IN(ROMABLE_REGION)
|
||||
|
||||
_image_rodata_start = .;
|
||||
__rodata_region_start = .;
|
||||
|
||||
#include <linker/common-rom.ld>
|
||||
#include <linker/thread-local-storage.ld>
|
||||
|
@ -208,7 +208,7 @@ SECTIONS
|
|||
MPU_ALIGN(ABSOLUTE(.) - _image_rom_start);
|
||||
} GROUP_LINK_IN(ROMABLE_REGION)
|
||||
|
||||
_image_rodata_end = .;
|
||||
__rodata_region_end = .;
|
||||
_image_rom_end = .;
|
||||
_image_rom_end_order = (LOG2CEIL(_image_rom_end) - 1) << 1;
|
||||
|
||||
|
@ -345,6 +345,6 @@ SECTIONS
|
|||
|
||||
/* To provide the image size as a const expression,
|
||||
* calculate this value here. */
|
||||
_flash_used = LOADADDR(.last_section) - _image_rom_start;
|
||||
_flash_used = LOADADDR(.last_section) - __rom_region_start;
|
||||
|
||||
}
|
||||
|
|
|
@ -124,7 +124,7 @@ SECTIONS
|
|||
|
||||
GROUP_START(ROMABLE_REGION)
|
||||
|
||||
_image_rom_start = ROM_ADDR;
|
||||
__rom_region_start = ROM_ADDR;
|
||||
|
||||
SECTION_PROLOGUE(rom_start,,)
|
||||
{
|
||||
|
@ -189,7 +189,7 @@ SECTIONS
|
|||
__exidx_end = .;
|
||||
} GROUP_LINK_IN(ROMABLE_REGION)
|
||||
|
||||
_image_rodata_start = .;
|
||||
__rodata_region_start = .;
|
||||
|
||||
#include <linker/common-rom.ld>
|
||||
#include <linker/thread-local-storage.ld>
|
||||
|
@ -222,9 +222,9 @@ SECTIONS
|
|||
|
||||
#include <linker/cplusplus-rom.ld>
|
||||
|
||||
_image_rodata_end = .;
|
||||
MPU_ALIGN(_image_rodata_end -_image_rom_start);
|
||||
_image_rom_end = .;
|
||||
__rodata_region_end = .;
|
||||
MPU_ALIGN(__rodata_region_end -__rom_region_start);
|
||||
__rom_region_end = .;
|
||||
|
||||
GROUP_END(ROMABLE_REGION)
|
||||
|
||||
|
@ -460,6 +460,6 @@ SECTION_PROLOGUE(.last_section,(NOLOAD),)
|
|||
|
||||
/* To provide the image size as a const expression,
|
||||
* calculate this value here. */
|
||||
_flash_used = LOADADDR(.last_section) - _image_rom_start;
|
||||
_flash_used = LOADADDR(.last_section) - __rom_region_start;
|
||||
|
||||
}
|
||||
|
|
|
@ -89,7 +89,7 @@ SECTIONS
|
|||
|
||||
GROUP_START(ROMABLE_REGION)
|
||||
|
||||
_image_rom_start = ROM_ADDR;
|
||||
__rom_region_start = ROM_ADDR;
|
||||
|
||||
SECTION_PROLOGUE(_TEXT_SECTION_NAME,,)
|
||||
{
|
||||
|
@ -154,7 +154,7 @@ SECTIONS
|
|||
__exidx_end = .;
|
||||
} GROUP_ROM_LINK_IN(RAMABLE_REGION, ROMABLE_REGION)
|
||||
|
||||
_image_rodata_start = .;
|
||||
__rodata_region_start = .;
|
||||
|
||||
#include <linker/common-rom.ld>
|
||||
#include <linker/thread-local-storage.ld>
|
||||
|
@ -179,9 +179,9 @@ SECTIONS
|
|||
#include <linker/cplusplus-rom.ld>
|
||||
MMU_ALIGN;
|
||||
|
||||
_image_rodata_end = .;
|
||||
_image_rodata_size = _image_rodata_end - _image_rodata_start;
|
||||
_image_rom_end = .;
|
||||
__rodata_region_end = .;
|
||||
__rodata_region_size = __rodata_region_end - __rodata_region_start;
|
||||
__rom_region_end = .;
|
||||
|
||||
/*
|
||||
* These are here according to 'arm-zephyr-elf-ld --verbose',
|
||||
|
@ -317,6 +317,6 @@ SECTIONS
|
|||
|
||||
/* To provide the image size as a const expression,
|
||||
* calculate this value here. */
|
||||
_flash_used = LOADADDR(.last_section) - _image_rom_start;
|
||||
_flash_used = LOADADDR(.last_section) - __rom_region_start;
|
||||
|
||||
}
|
||||
|
|
|
@ -155,10 +155,10 @@ SECTIONS
|
|||
|
||||
#include <linker/cplusplus-rom.ld>
|
||||
|
||||
_image_rodata_end = .;
|
||||
_image_rodata_size = _image_rodata_end - _image_rodata_start;
|
||||
__rodata_region_end = .;
|
||||
__rodata_region_size = __rodata_region_end - __rodata_region_start;
|
||||
|
||||
_image_rom_end = .;
|
||||
__rom_region_end = .;
|
||||
__data_region_load_start = ALIGN(4); /* XIP imaged DATA ROM start addr */
|
||||
|
||||
GROUP_END(ROMABLE_REGION)
|
||||
|
|
|
@ -111,7 +111,7 @@ SECTIONS
|
|||
}
|
||||
|
||||
GROUP_START(ROMABLE_REGION)
|
||||
_image_rom_start = ROM_BASE;
|
||||
__rom_region_start = ROM_BASE;
|
||||
|
||||
SECTION_PROLOGUE(_VECTOR_SECTION_NAME,,)
|
||||
{
|
||||
|
@ -163,7 +163,7 @@ SECTIONS
|
|||
|
||||
_image_text_end = .;
|
||||
|
||||
_image_rodata_start = .;
|
||||
__rodata_region_start = .;
|
||||
#include <linker/common-rom.ld>
|
||||
#include <linker/thread-local-storage.ld>
|
||||
|
||||
|
@ -186,8 +186,8 @@ SECTIONS
|
|||
} GROUP_LINK_IN(ROMABLE_REGION)
|
||||
|
||||
#include <linker/cplusplus-rom.ld>
|
||||
_image_rodata_end = .;
|
||||
MPU_ALIGN(_image_rodata_end - _image_rom_start);
|
||||
__rodata_region_end = .;
|
||||
MPU_ALIGN(__rodata_region_end - __rom_region_start);
|
||||
GROUP_END(ROMABLE_REGION)
|
||||
|
||||
GROUP_START(RAMABLE_REGION)
|
||||
|
@ -369,7 +369,7 @@ SECTION_PROLOGUE(.last_section,(NOLOAD),)
|
|||
|
||||
/* To provide the image size as a const expression,
|
||||
* calculate this value here. */
|
||||
_image_rom_end = LOADADDR(.last_section);
|
||||
_image_rom_size = _image_rom_end - _image_rom_start;
|
||||
__rom_region_end = LOADADDR(.last_section);
|
||||
__rom_region_size = __rom_region_end - __rom_region_start;
|
||||
|
||||
}
|
||||
|
|
|
@ -24,7 +24,7 @@ SECTIONS
|
|||
|
||||
#include <linker/rel-sections.ld>
|
||||
|
||||
_image_rom_start = .;
|
||||
__rom_region_start = .;
|
||||
|
||||
SECTION_PROLOGUE(_TEXT_SECTION_NAME,,)
|
||||
{
|
||||
|
@ -40,7 +40,7 @@ SECTIONS
|
|||
} GROUP_LINK_IN(REGION_TEXT)
|
||||
|
||||
_image_text_end = .;
|
||||
_image_rodata_start = .;
|
||||
__rodata_region_start = .;
|
||||
|
||||
#include <linker/common-rom.ld>
|
||||
#include <linker/thread-local-storage.ld>
|
||||
|
@ -62,10 +62,10 @@ SECTIONS
|
|||
|
||||
#include <linker/cplusplus-rom.ld>
|
||||
|
||||
_image_rodata_end = .;
|
||||
_image_rodata_size = _image_rodata_end - _image_rodata_start;
|
||||
__rodata_region_end = .;
|
||||
__rodata_region_size = __rodata_region_end - __rodata_region_start;
|
||||
|
||||
_image_rom_end = .;
|
||||
__rom_region_end = .;
|
||||
|
||||
__data_region_load_start = .;
|
||||
__data_region_start = .;
|
||||
|
|
|
@ -289,7 +289,7 @@ SECTIONS
|
|||
. = ALIGN(8);
|
||||
|
||||
#ifdef CONFIG_XIP
|
||||
_image_rom_start = PHYS_LOAD_ADDR;
|
||||
__rom_region_start = PHYS_LOAD_ADDR;
|
||||
#endif
|
||||
SECTION_PROLOGUE(_TEXT_SECTION_NAME,,)
|
||||
{
|
||||
|
@ -329,7 +329,7 @@ SECTIONS
|
|||
|
||||
_image_text_end = .;
|
||||
_image_text_size = _image_text_end - _image_text_start;
|
||||
_image_rodata_start = .;
|
||||
__rodata_region_start = .;
|
||||
|
||||
#ifndef CONFIG_LINKER_USE_PINNED_SECTION
|
||||
#include <linker/common-rom.ld>
|
||||
|
@ -363,11 +363,11 @@ SECTIONS
|
|||
MMU_PAGE_ALIGN_PERM
|
||||
/* ROM ends here, position counter will now be in RAM areas */
|
||||
#ifdef CONFIG_XIP
|
||||
_image_rom_end = .;
|
||||
_image_rom_size = _image_rom_end - _image_rom_start;
|
||||
__rom_region_end = .;
|
||||
__rom_region_size = __rom_region_end - __rom_region_start;
|
||||
#endif
|
||||
_image_rodata_end = .;
|
||||
_image_rodata_size = _image_rodata_end - _image_rodata_start;
|
||||
__rodata_region_end = .;
|
||||
__rodata_region_size = __rodata_region_end - __rodata_region_start;
|
||||
GROUP_END(ROMABLE_REGION)
|
||||
/*
|
||||
* Needed for dynamic linking which we do not have, do discard
|
||||
|
|
|
@ -88,7 +88,7 @@ SECTIONS
|
|||
SECTION_PROLOGUE(_TEXT_SECTION_NAME,,)
|
||||
{
|
||||
. = ALIGN(16);
|
||||
_image_rom_start = .;
|
||||
__rom_region_start = .;
|
||||
_image_text_start = .;
|
||||
z_mapped_start = .;
|
||||
*(.text)
|
||||
|
@ -101,7 +101,7 @@ SECTIONS
|
|||
|
||||
_image_text_end = .;
|
||||
_image_text_size = _image_text_end - _image_text_start;
|
||||
_image_rodata_start = .;
|
||||
__rodata_region_start = .;
|
||||
|
||||
#include <linker/common-rom.ld>
|
||||
#include <linker/thread-local-storage.ld>
|
||||
|
@ -128,9 +128,9 @@ SECTIONS
|
|||
#include <linker/cplusplus-rom.ld>
|
||||
|
||||
MMU_PAGE_ALIGN_PERM
|
||||
_image_rodata_end = .;
|
||||
_image_rodata_size = _image_rodata_end - _image_rodata_start;
|
||||
_image_rom_end = .;
|
||||
__rodata_region_end = .;
|
||||
__rodata_region_size = __rodata_region_end - __rodata_region_start;
|
||||
__rom_region_end = .;
|
||||
|
||||
#ifdef CONFIG_USERSPACE
|
||||
/* APP SHARED MEMORY REGION */
|
||||
|
|
|
@ -236,9 +236,9 @@ extern char z_mapped_end[];
|
|||
#endif /* CONFIG_MMU */
|
||||
|
||||
/* Includes text and rodata */
|
||||
extern char _image_rom_start[];
|
||||
extern char _image_rom_end[];
|
||||
extern char _image_rom_size[];
|
||||
extern char __rom_region_start[];
|
||||
extern char __rom_region_end[];
|
||||
extern char __rom_region_size[];
|
||||
|
||||
/* Includes all ROMable data, i.e. the size of the output image file. */
|
||||
extern char _flash_used[];
|
||||
|
@ -251,9 +251,9 @@ extern char _image_text_start[];
|
|||
extern char _image_text_end[];
|
||||
extern char _image_text_size[];
|
||||
|
||||
extern char _image_rodata_start[];
|
||||
extern char _image_rodata_end[];
|
||||
extern char _image_rodata_size[];
|
||||
extern char __rodata_region_start[];
|
||||
extern char __rodata_region_end[];
|
||||
extern char __rodata_region_size[];
|
||||
|
||||
extern char _vector_start[];
|
||||
extern char _vector_end[];
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue