mirror of
https://github.com/espressif/esp-idf.git
synced 2025-08-07 14:44:32 +02:00
sections_ld: add description to .flash.rodata_noload
This commit also move _rodata_reserved_end symbol right at the entry of the .flash.rodata_noload.
This commit is contained in:
@@ -324,11 +324,19 @@ SECTIONS
|
|||||||
|
|
||||||
_flash_rodata_align = ALIGNOF(.flash.rodata);
|
_flash_rodata_align = ALIGNOF(.flash.rodata);
|
||||||
|
|
||||||
|
/*
|
||||||
|
This section is a place where we dump all the rodata which aren't used at runtime,
|
||||||
|
so as to avoid binary size increase
|
||||||
|
*/
|
||||||
.flash.rodata_noload (NOLOAD) :
|
.flash.rodata_noload (NOLOAD) :
|
||||||
{
|
{
|
||||||
|
/*
|
||||||
|
This is a symbol marking the flash.rodata end, this can be used for mmu driver to maintain virtual address
|
||||||
|
We don't need to include the noload rodata in this section
|
||||||
|
*/
|
||||||
|
_rodata_reserved_end = ABSOLUTE(.);
|
||||||
. = ALIGN (4);
|
. = ALIGN (4);
|
||||||
mapping[rodata_noload]
|
mapping[rodata_noload]
|
||||||
_rodata_reserved_end = ABSOLUTE(.); /* This is a symbol marking the flash.rodata end, this can be used for mmu driver to maintain virtual address */
|
|
||||||
} > default_rodata_seg
|
} > default_rodata_seg
|
||||||
|
|
||||||
.flash.text :
|
.flash.text :
|
||||||
|
@@ -245,11 +245,19 @@ SECTIONS
|
|||||||
__eh_frame_hdr_end = ABSOLUTE(.);
|
__eh_frame_hdr_end = ABSOLUTE(.);
|
||||||
} > default_rodata_seg
|
} > default_rodata_seg
|
||||||
|
|
||||||
|
/*
|
||||||
|
This section is a place where we dump all the rodata which aren't used at runtime,
|
||||||
|
so as to avoid binary size increase
|
||||||
|
*/
|
||||||
.flash.rodata_noload (NOLOAD) :
|
.flash.rodata_noload (NOLOAD) :
|
||||||
{
|
{
|
||||||
|
/*
|
||||||
|
This is a symbol marking the flash.rodata end, this can be used for mmu driver to maintain virtual address
|
||||||
|
We don't need to include the noload rodata in this section
|
||||||
|
*/
|
||||||
|
_rodata_reserved_end = ABSOLUTE(.);
|
||||||
. = ALIGN (4);
|
. = ALIGN (4);
|
||||||
mapping[rodata_noload]
|
mapping[rodata_noload]
|
||||||
_rodata_reserved_end = ABSOLUTE(.); /* This is a symbol marking the flash.rodata end, this can be used for mmu driver to maintain virtual address */
|
|
||||||
} > default_rodata_seg
|
} > default_rodata_seg
|
||||||
|
|
||||||
/* Marks the end of IRAM code segment */
|
/* Marks the end of IRAM code segment */
|
||||||
|
@@ -355,11 +355,19 @@ SECTIONS
|
|||||||
__eh_frame_hdr_end = ABSOLUTE(.);
|
__eh_frame_hdr_end = ABSOLUTE(.);
|
||||||
} > default_rodata_seg
|
} > default_rodata_seg
|
||||||
|
|
||||||
|
/*
|
||||||
|
This section is a place where we dump all the rodata which aren't used at runtime,
|
||||||
|
so as to avoid binary size increase
|
||||||
|
*/
|
||||||
.flash.rodata_noload (NOLOAD) :
|
.flash.rodata_noload (NOLOAD) :
|
||||||
{
|
{
|
||||||
|
/*
|
||||||
|
This is a symbol marking the flash.rodata end, this can be used for mmu driver to maintain virtual address
|
||||||
|
We don't need to include the noload rodata in this section
|
||||||
|
*/
|
||||||
|
_rodata_reserved_end = ABSOLUTE(.);
|
||||||
. = ALIGN (4);
|
. = ALIGN (4);
|
||||||
mapping[rodata_noload]
|
mapping[rodata_noload]
|
||||||
_rodata_reserved_end = ABSOLUTE(.); /* This is a symbol marking the flash.rodata end, this can be used for mmu driver to maintain virtual address */
|
|
||||||
} > default_rodata_seg
|
} > default_rodata_seg
|
||||||
|
|
||||||
/* Marks the end of IRAM code segment */
|
/* Marks the end of IRAM code segment */
|
||||||
|
@@ -388,11 +388,19 @@ SECTIONS
|
|||||||
__eh_frame_hdr_end = ABSOLUTE(.);
|
__eh_frame_hdr_end = ABSOLUTE(.);
|
||||||
} > default_rodata_seg
|
} > default_rodata_seg
|
||||||
|
|
||||||
|
/*
|
||||||
|
This section is a place where we dump all the rodata which aren't used at runtime,
|
||||||
|
so as to avoid binary size increase
|
||||||
|
*/
|
||||||
.flash.rodata_noload (NOLOAD) :
|
.flash.rodata_noload (NOLOAD) :
|
||||||
{
|
{
|
||||||
|
/*
|
||||||
|
This is a symbol marking the flash.rodata end, this can be used for mmu driver to maintain virtual address
|
||||||
|
We don't need to include the noload rodata in this section
|
||||||
|
*/
|
||||||
|
_rodata_reserved_end = ABSOLUTE(.);
|
||||||
. = ALIGN (4);
|
. = ALIGN (4);
|
||||||
mapping[rodata_noload]
|
mapping[rodata_noload]
|
||||||
_rodata_reserved_end = ABSOLUTE(.); /* This is a symbol marking the flash.rodata end, this can be used for mmu driver to maintain virtual address */
|
|
||||||
} > default_rodata_seg
|
} > default_rodata_seg
|
||||||
|
|
||||||
/* Marks the end of data, bss and possibly rodata */
|
/* Marks the end of data, bss and possibly rodata */
|
||||||
|
@@ -358,11 +358,18 @@ SECTIONS
|
|||||||
__eh_frame_hdr_end = ABSOLUTE(.);
|
__eh_frame_hdr_end = ABSOLUTE(.);
|
||||||
} > default_rodata_seg
|
} > default_rodata_seg
|
||||||
|
|
||||||
|
/*
|
||||||
|
This section is a place where we dump all the rodata which aren't used at runtime,
|
||||||
|
so as to avoid binary size increase
|
||||||
|
*/
|
||||||
.flash.rodata_noload (NOLOAD) :
|
.flash.rodata_noload (NOLOAD) :
|
||||||
{
|
{
|
||||||
|
/*
|
||||||
|
This is a symbol marking the flash.rodata end, this can be used for mmu driver to maintain virtual address
|
||||||
|
We don't need to include the noload rodata in this section
|
||||||
|
*/
|
||||||
|
_rodata_reserved_end = ABSOLUTE(.);
|
||||||
. = ALIGN (4);
|
. = ALIGN (4);
|
||||||
/* Empty for now, only a container for `_rodata_reserved_end` symbol, add needed rodata noload mappings here if needed */
|
|
||||||
_rodata_reserved_end = ABSOLUTE(.); /* This is a symbol marking the flash.rodata end, this can be used for mmu driver to maintain virtual address */
|
|
||||||
} > default_rodata_seg
|
} > default_rodata_seg
|
||||||
|
|
||||||
/* Marks the end of IRAM code segment */
|
/* Marks the end of IRAM code segment */
|
||||||
|
@@ -340,11 +340,19 @@ SECTIONS
|
|||||||
|
|
||||||
_flash_rodata_align = ALIGNOF(.flash.rodata);
|
_flash_rodata_align = ALIGNOF(.flash.rodata);
|
||||||
|
|
||||||
|
/*
|
||||||
|
This section is a place where we dump all the rodata which aren't used at runtime,
|
||||||
|
so as to avoid binary size increase
|
||||||
|
*/
|
||||||
.flash.rodata_noload (NOLOAD) :
|
.flash.rodata_noload (NOLOAD) :
|
||||||
{
|
{
|
||||||
|
/*
|
||||||
|
This is a symbol marking the flash.rodata end, this can be used for mmu driver to maintain virtual address
|
||||||
|
We don't need to include the noload rodata in this section
|
||||||
|
*/
|
||||||
|
_rodata_reserved_end = ABSOLUTE(.);
|
||||||
. = ALIGN (4);
|
. = ALIGN (4);
|
||||||
mapping[rodata_noload]
|
mapping[rodata_noload]
|
||||||
_rodata_reserved_end = ABSOLUTE(.); /* This is a symbol marking the flash.rodata end, this can be used for mmu driver to maintain virtual address */
|
|
||||||
} > default_rodata_seg
|
} > default_rodata_seg
|
||||||
|
|
||||||
.flash.text :
|
.flash.text :
|
||||||
|
@@ -366,11 +366,19 @@ SECTIONS
|
|||||||
|
|
||||||
_flash_rodata_align = ALIGNOF(.flash.rodata);
|
_flash_rodata_align = ALIGNOF(.flash.rodata);
|
||||||
|
|
||||||
|
/*
|
||||||
|
This section is a place where we dump all the rodata which aren't used at runtime,
|
||||||
|
so as to avoid binary size increase
|
||||||
|
*/
|
||||||
.flash.rodata_noload (NOLOAD) :
|
.flash.rodata_noload (NOLOAD) :
|
||||||
{
|
{
|
||||||
|
/*
|
||||||
|
This is a symbol marking the flash.rodata end, this can be used for mmu driver to maintain virtual address
|
||||||
|
We don't need to include the noload rodata in this section
|
||||||
|
*/
|
||||||
|
_rodata_reserved_end = ABSOLUTE(.);
|
||||||
. = ALIGN (4);
|
. = ALIGN (4);
|
||||||
mapping[rodata_noload]
|
mapping[rodata_noload]
|
||||||
_rodata_reserved_end = ABSOLUTE(.); /* This is a symbol marking the flash.rodata end, this can be used for mmu driver to maintain virtual address */
|
|
||||||
} > default_rodata_seg
|
} > default_rodata_seg
|
||||||
|
|
||||||
/**
|
/**
|
||||||
|
Reference in New Issue
Block a user