mirror of
https://github.com/espressif/esp-idf.git
synced 2025-07-30 18:57:19 +02:00
fix(system): linker script: free unused .rtc.text memory for esp32c3/esp32s2/esp32s3
This commit is contained in:
@ -19,14 +19,18 @@ SECTIONS
|
|||||||
{
|
{
|
||||||
ALIGNED_SYMBOL(4, _rtc_fast_start)
|
ALIGNED_SYMBOL(4, _rtc_fast_start)
|
||||||
|
|
||||||
|
HIDDEN(_rtc_code_start = .);
|
||||||
|
|
||||||
mapping[rtc_text]
|
mapping[rtc_text]
|
||||||
|
|
||||||
*rtc_wake_stub*.*(.text .text.*)
|
*rtc_wake_stub*.*(.text .text.*)
|
||||||
*(.rtc_text_end_test)
|
*(.rtc_text_end_test)
|
||||||
|
|
||||||
/* Padding for possible CPU prefetch + alignment for PMS split lines */
|
HIDDEN(_rtc_code_end = .);
|
||||||
. += _esp_memprot_prefetch_pad_size;
|
|
||||||
. = ALIGN(_esp_memprot_align_size);
|
/* Padding for possible CPU prefetch + 4B alignment for PMS split lines. */
|
||||||
|
. = ((_rtc_code_end - _rtc_code_start) == 0) ?
|
||||||
|
ALIGN(0) : _esp_memprot_prefetch_pad_size + ALIGN(4);
|
||||||
|
|
||||||
_rtc_text_end = ABSOLUTE(.);
|
_rtc_text_end = ABSOLUTE(.);
|
||||||
} > rtc_iram_seg
|
} > rtc_iram_seg
|
||||||
|
@ -26,13 +26,16 @@ SECTIONS
|
|||||||
{
|
{
|
||||||
ALIGNED_SYMBOL(4, _rtc_text_start)
|
ALIGNED_SYMBOL(4, _rtc_text_start)
|
||||||
|
|
||||||
|
HIDDEN(_rtc_code_start = .);
|
||||||
|
|
||||||
mapping[rtc_text]
|
mapping[rtc_text]
|
||||||
|
|
||||||
*rtc_wake_stub*.*(.literal .text .literal.* .text.*)
|
*rtc_wake_stub*.*(.literal .text .literal.* .text.*)
|
||||||
|
|
||||||
/* Padding for possible CPU prefetch + alignment for PMS split lines */
|
HIDDEN(_rtc_code_end = .);
|
||||||
. += _esp_memprot_prefetch_pad_size;
|
|
||||||
. = ALIGN(_esp_memprot_align_size);
|
/* Possibly align + 16B for CPU dummy speculative instruction fetch. */
|
||||||
|
. = ((_rtc_code_end - _rtc_code_start) == 0) ? ALIGN(0) : ALIGN(4) + 16;
|
||||||
|
|
||||||
_rtc_text_end = ABSOLUTE(.);
|
_rtc_text_end = ABSOLUTE(.);
|
||||||
} > rtc_iram_seg
|
} > rtc_iram_seg
|
||||||
|
@ -20,6 +20,8 @@ SECTIONS
|
|||||||
ALIGNED_SYMBOL(4, _rtc_fast_start)
|
ALIGNED_SYMBOL(4, _rtc_fast_start)
|
||||||
ALIGNED_SYMBOL(4, _rtc_text_start)
|
ALIGNED_SYMBOL(4, _rtc_text_start)
|
||||||
|
|
||||||
|
HIDDEN(_rtc_code_start = .);
|
||||||
|
|
||||||
*(.rtc.entry.literal .rtc.entry.text)
|
*(.rtc.entry.literal .rtc.entry.text)
|
||||||
|
|
||||||
mapping[rtc_text]
|
mapping[rtc_text]
|
||||||
@ -27,9 +29,11 @@ SECTIONS
|
|||||||
*rtc_wake_stub*.*(.literal .text .literal.* .text.*)
|
*rtc_wake_stub*.*(.literal .text .literal.* .text.*)
|
||||||
*(.rtc_text_end_test)
|
*(.rtc_text_end_test)
|
||||||
|
|
||||||
/* Padding for possible CPU prefetch + alignment for PMS split lines */
|
HIDDEN(_rtc_code_end = .);
|
||||||
. += _esp_memprot_prefetch_pad_size;
|
|
||||||
. = ALIGN(_esp_memprot_align_size);
|
/* Padding for possible CPU prefetch + 4B alignment for PMS split lines. */
|
||||||
|
. = ((_rtc_code_end - _rtc_code_start) == 0) ?
|
||||||
|
ALIGN(0) : _esp_memprot_prefetch_pad_size + ALIGN(4);
|
||||||
|
|
||||||
_rtc_text_end = ABSOLUTE(.);
|
_rtc_text_end = ABSOLUTE(.);
|
||||||
} > rtc_iram_seg
|
} > rtc_iram_seg
|
||||||
|
Reference in New Issue
Block a user