esp32: transfer coredump linker script blocks to ldgen

This commit is contained in:
Renz Bagaporo
2021-02-09 18:26:41 +08:00
parent 633ead5dcb
commit 115b6ac0ac
5 changed files with 15 additions and 83 deletions

View File

@@ -37,9 +37,7 @@ SECTIONS
. = ALIGN(4); . = ALIGN(4);
_rtc_force_fast_start = ABSOLUTE(.); _rtc_force_fast_start = ABSOLUTE(.);
_coredump_rtc_fast_start = ABSOLUTE(.); mapping[rtc_force_fast]
mapping[rtc_fast_coredump]
_coredump_rtc_fast_end = ABSOLUTE(.);
*(.rtc.force_fast .rtc.force_fast.*) *(.rtc.force_fast .rtc.force_fast.*)
. = ALIGN(4) ; . = ALIGN(4) ;
@@ -58,12 +56,6 @@ SECTIONS
{ {
_rtc_data_start = ABSOLUTE(.); _rtc_data_start = ABSOLUTE(.);
/* coredump mapping */
_coredump_rtc_start = ABSOLUTE(.);
mapping[rtc_coredump]
_coredump_rtc_end = ABSOLUTE(.);
/* should be placed after coredump mapping */
mapping[rtc_data] mapping[rtc_data]
*rtc_wake_stub*.*(.data .rodata .data.* .rodata.* .bss .bss.*) *rtc_wake_stub*.*(.data .rodata .data.* .rodata.* .bss .bss.*)
@@ -202,12 +194,6 @@ SECTIONS
*(.gnu.linkonce.s2.*) *(.gnu.linkonce.s2.*)
*(.jcr) *(.jcr)
/* coredump mapping */
_coredump_dram_start = ABSOLUTE(.);
mapping[dram_coredump]
_coredump_dram_end = ABSOLUTE(.);
/* should be placed after coredump mapping */
_esp_system_init_fn_array_start = ABSOLUTE(.); _esp_system_init_fn_array_start = ABSOLUTE(.);
KEEP (*(SORT(.esp_system_init_fn) SORT(.esp_system_init_fn.*))) KEEP (*(SORT(.esp_system_init_fn) SORT(.esp_system_init_fn.*)))
_esp_system_init_fn_array_end = ABSOLUTE(.); _esp_system_init_fn_array_end = ABSOLUTE(.);
@@ -369,12 +355,6 @@ SECTIONS
. = ALIGN(4); . = ALIGN(4);
_iram_data_start = ABSOLUTE(.); _iram_data_start = ABSOLUTE(.);
/* coredump mapping */
_coredump_iram_start = ABSOLUTE(.);
mapping[iram_coredump]
_coredump_iram_end = ABSOLUTE(.);
/* should be placed after coredump mapping */
mapping[iram0_data] mapping[iram0_data]
_iram_data_end = ABSOLUTE(.); _iram_data_end = ABSOLUTE(.);

View File

@@ -39,9 +39,7 @@ SECTIONS
. = ALIGN(4); . = ALIGN(4);
_rtc_force_fast_start = ABSOLUTE(.); _rtc_force_fast_start = ABSOLUTE(.);
_coredump_rtc_fast_start = ABSOLUTE(.); mapping[rtc_force_fast]
mapping[rtc_fast_coredump]
_coredump_rtc_fast_end = ABSOLUTE(.);
*(.rtc.force_fast .rtc.force_fast.*) *(.rtc.force_fast .rtc.force_fast.*)
. = ALIGN(4) ; . = ALIGN(4) ;
@@ -60,12 +58,6 @@ SECTIONS
{ {
_rtc_data_start = ABSOLUTE(.); _rtc_data_start = ABSOLUTE(.);
/* coredump mapping */
_coredump_rtc_start = ABSOLUTE(.);
mapping[rtc_coredump]
_coredump_rtc_end = ABSOLUTE(.);
/* should be placed after coredump mapping */
mapping[rtc_data] mapping[rtc_data]
*rtc_wake_stub*.*(.data .rodata .data.* .rodata.* .bss .bss.*) *rtc_wake_stub*.*(.data .rodata .data.* .rodata.* .bss .bss.*)
@@ -181,12 +173,6 @@ SECTIONS
*(.gnu.linkonce.s2.*) *(.gnu.linkonce.s2.*)
*(.jcr) *(.jcr)
/* coredump mapping */
_coredump_dram_start = ABSOLUTE(.);
mapping[dram_coredump]
_coredump_dram_end = ABSOLUTE(.);
/* should be placed after coredump mapping */
_esp_system_init_fn_array_start = ABSOLUTE(.); _esp_system_init_fn_array_start = ABSOLUTE(.);
KEEP (*(SORT(.esp_system_init_fn) SORT(.esp_system_init_fn.*))) KEEP (*(SORT(.esp_system_init_fn) SORT(.esp_system_init_fn.*)))
_esp_system_init_fn_array_end = ABSOLUTE(.); _esp_system_init_fn_array_end = ABSOLUTE(.);
@@ -369,12 +355,6 @@ SECTIONS
. = ALIGN(16); . = ALIGN(16);
_iram_data_start = ABSOLUTE(.); _iram_data_start = ABSOLUTE(.);
/* coredump mapping */
_coredump_iram_start = ABSOLUTE(.);
mapping[iram_coredump]
_coredump_iram_end = ABSOLUTE(.);
/* should be placed after coredump mapping */
mapping[iram0_data] mapping[iram0_data]
_iram_data_end = ABSOLUTE(.); _iram_data_end = ABSOLUTE(.);

View File

@@ -45,9 +45,7 @@ SECTIONS
. = ALIGN(4); . = ALIGN(4);
_rtc_force_fast_start = ABSOLUTE(.); _rtc_force_fast_start = ABSOLUTE(.);
_coredump_rtc_fast_start = ABSOLUTE(.); mapping[rtc_force_fast]
mapping[rtc_fast_coredump]
_coredump_rtc_fast_end = ABSOLUTE(.);
*(.rtc.force_fast .rtc.force_fast.*) *(.rtc.force_fast .rtc.force_fast.*)
. = ALIGN(4) ; . = ALIGN(4) ;
@@ -65,12 +63,6 @@ SECTIONS
{ {
_rtc_data_start = ABSOLUTE(.); _rtc_data_start = ABSOLUTE(.);
/* coredump mapping */
_coredump_rtc_start = ABSOLUTE(.);
mapping[rtc_coredump]
_coredump_rtc_end = ABSOLUTE(.);
/* should be placed after coredump mapping */
mapping[rtc_data] mapping[rtc_data]
*rtc_wake_stub*.*(.data .rodata .data.* .rodata.* .bss .bss.*) *rtc_wake_stub*.*(.data .rodata .data.* .rodata.* .bss .bss.*)
@@ -208,12 +200,6 @@ SECTIONS
*(.gnu.linkonce.s2.*) *(.gnu.linkonce.s2.*)
*(.jcr) *(.jcr)
/* coredump mapping */
_coredump_dram_start = ABSOLUTE(.);
mapping[dram_coredump]
_coredump_dram_end = ABSOLUTE(.);
/* should be placed after coredump mapping */
_esp_system_init_fn_array_start = ABSOLUTE(.); _esp_system_init_fn_array_start = ABSOLUTE(.);
KEEP (*(SORT(.esp_system_init_fn) SORT(.esp_system_init_fn.*))) KEEP (*(SORT(.esp_system_init_fn) SORT(.esp_system_init_fn.*)))
_esp_system_init_fn_array_end = ABSOLUTE(.); _esp_system_init_fn_array_end = ABSOLUTE(.);

View File

@@ -39,9 +39,7 @@ SECTIONS
. = ALIGN(4); . = ALIGN(4);
_rtc_force_fast_start = ABSOLUTE(.); _rtc_force_fast_start = ABSOLUTE(.);
_coredump_rtc_fast_start = ABSOLUTE(.); mapping[rtc_force_fast]
mapping[rtc_fast_coredump]
_coredump_rtc_fast_end = ABSOLUTE(.);
*(.rtc.force_fast .rtc.force_fast.*) *(.rtc.force_fast .rtc.force_fast.*)
. = ALIGN(4) ; . = ALIGN(4) ;
@@ -60,12 +58,6 @@ SECTIONS
{ {
_rtc_data_start = ABSOLUTE(.); _rtc_data_start = ABSOLUTE(.);
/* coredump mapping */
_coredump_rtc_start = ABSOLUTE(.);
mapping[rtc_coredump]
_coredump_rtc_end = ABSOLUTE(.);
/* should be placed after coredump mapping */
mapping[rtc_data] mapping[rtc_data]
*rtc_wake_stub*.*(.data .rodata .data.* .rodata.* .bss .bss.*) *rtc_wake_stub*.*(.data .rodata .data.* .rodata.* .bss .bss.*)
@@ -211,12 +203,6 @@ SECTIONS
*(.gnu.linkonce.s2.*) *(.gnu.linkonce.s2.*)
*(.jcr) *(.jcr)
/* coredump mapping */
_coredump_dram_start = ABSOLUTE(.);
mapping[dram_coredump]
_coredump_dram_end = ABSOLUTE(.);
/* should be placed after coredump mapping */
_esp_system_init_fn_array_start = ABSOLUTE(.); _esp_system_init_fn_array_start = ABSOLUTE(.);
KEEP (*(SORT(.esp_system_init_fn) SORT(.esp_system_init_fn.*))) KEEP (*(SORT(.esp_system_init_fn) SORT(.esp_system_init_fn.*)))
_esp_system_init_fn_array_end = ABSOLUTE(.); _esp_system_init_fn_array_end = ABSOLUTE(.);
@@ -386,12 +372,6 @@ SECTIONS
. = ALIGN(4); . = ALIGN(4);
_iram_data_start = ABSOLUTE(.); _iram_data_start = ABSOLUTE(.);
/* coredump mapping */
_coredump_iram_start = ABSOLUTE(.);
mapping[iram_coredump]
_coredump_iram_end = ABSOLUTE(.);
/* should be placed after coredump mapping */
mapping[iram0_data] mapping[iram0_data]
_iram_data_end = ABSOLUTE(.); _iram_data_end = ABSOLUTE(.);

View File

@@ -17,16 +17,22 @@ if IDF_TARGET_ESP32S2 = n:
[scheme:coredump_default] [scheme:coredump_default]
entries: entries:
dram_coredump -> dram_coredump dram_coredump -> dram0_data
rtc_coredump -> rtc_coredump rtc_coredump -> rtc_data
rtc_fast_coredump -> rtc_fast_coredump rtc_fast_coredump -> rtc_force_fast
if IDF_TARGET_ESP32S2 = n: if IDF_TARGET_ESP32S2 = n:
iram_coredump -> iram_coredump iram_coredump -> iram0_data
[mapping:coredump_default] [mapping:coredump_default]
archive: * archive: *
entries: entries:
* (coredump_default) * (coredump_default);
rtc_fast_coredump -> rtc_force_fast emit(coredump_rtc_fast),
rtc_coredump -> rtc_data emit(coredump_rtc),
dram_coredump -> dram0_data emit(coredump_dram)
if IDF_TARGET_ESP32S2 = n:
* (coredump_default);
iram_coredump -> iram0_data emit(coredump_iram)
[mapping:espcoredump] [mapping:espcoredump]
archive: libespcoredump.a archive: libespcoredump.a