linker scripts: add symbols for ROM/RAM boundaries
These symbols have more meaningful names when trying to figure out where the ROM/RAM starts/ends, rather than relying on e.g. __data_rom_start for the end of the ROM (__data_rom_start is the beginning of the data in ROM, thus is not part of the image). Change-Id: I4aa0354ee414fd0d46d0f40952e091ba090e7bce Signed-off-by: Benjamin Walsh <benjamin.walsh@windriver.com>
This commit is contained in:
parent
f80bc35d58
commit
09303f7f68
3 changed files with 16 additions and 0 deletions
|
@ -65,6 +65,8 @@ SECTIONS
|
|||
{
|
||||
GROUP_START(ROMABLE_REGION)
|
||||
|
||||
_image_rom_start = CONFIG_FLASH_BASE_ADDRESS;
|
||||
|
||||
SECTION_PROLOGUE(_TEXT_SECTION_NAME,,)
|
||||
{
|
||||
KEEP(*(.exc_vector_table))
|
||||
|
@ -133,6 +135,7 @@ SECTIONS
|
|||
*(".rodata.*")
|
||||
} GROUP_LINK_IN(ROMABLE_REGION)
|
||||
|
||||
_image_rom_end = .;
|
||||
__data_rom_start = ALIGN(4); /* XIP imaged DATA ROM start addr */
|
||||
|
||||
GROUP_END(ROMABLE_REGION)
|
||||
|
@ -145,6 +148,7 @@ SECTIONS
|
|||
SECTION_PROLOGUE(_DATA_SECTION_NAME,,)
|
||||
#endif
|
||||
{
|
||||
_image_ram_start = .;
|
||||
__data_ram_start = .;
|
||||
*(.data)
|
||||
*(".data.*")
|
||||
|
@ -244,6 +248,7 @@ SECTIONS
|
|||
|
||||
/* Define linker symbols */
|
||||
|
||||
_image_ram_end = .;
|
||||
_end = .; /* end of image */
|
||||
__bss_num_words = (__bss_end - __bss_start) >> 2;
|
||||
|
||||
|
|
|
@ -63,8 +63,11 @@ SECTIONS
|
|||
{
|
||||
GROUP_START(ROMABLE_REGION)
|
||||
|
||||
_image_rom_start = PHYS_LOAD_ADDR;
|
||||
|
||||
SECTION_PROLOGUE(_TEXT_SECTION_NAME, (OPTIONAL),)
|
||||
{
|
||||
|
||||
*(.text_start)
|
||||
*(".text_start.*")
|
||||
*(.text)
|
||||
|
@ -110,6 +113,7 @@ SECTIONS
|
|||
KEXEC_PGALIGN_PAD(MMU_PAGE_SIZE)
|
||||
} GROUP_LINK_IN(ROMABLE_REGION)
|
||||
|
||||
_image_rom_end = .;
|
||||
__data_rom_start = ALIGN(4); /* XIP imaged DATA ROM start addr */
|
||||
|
||||
GROUP_END(ROMABLE_REGION)
|
||||
|
@ -124,6 +128,7 @@ SECTIONS
|
|||
#endif
|
||||
{
|
||||
KEXEC_PGALIGN_PAD(MMU_PAGE_SIZE)
|
||||
_image_ram_start = .;
|
||||
__data_ram_start = .;
|
||||
*(.data)
|
||||
*(".data.*")
|
||||
|
@ -231,6 +236,7 @@ SECTIONS
|
|||
} GROUP_LINK_IN(RAM)
|
||||
|
||||
/* Define linker symbols */
|
||||
_image_ram_end = .;
|
||||
_end = .; /* end of image */
|
||||
|
||||
. = ALIGN(MMU_PAGE_SIZE);
|
||||
|
|
|
@ -113,6 +113,11 @@ extern char __data_ram_start[];
|
|||
extern int __data_num_words[];
|
||||
#endif
|
||||
|
||||
extern char _image_rom_start[];
|
||||
extern char _image_rom_end[];
|
||||
extern char _image_ram_start[];
|
||||
extern char _image_ram_end[];
|
||||
|
||||
/* end address of image. */
|
||||
extern char _end[];
|
||||
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue