From fc30491ab04cf0e646c6342ecfcda1156ef01a12 Mon Sep 17 00:00:00 2001 From: jiangguangming Date: Wed, 4 Jan 2023 13:39:18 +0800 Subject: [PATCH] ld: fix rtc.data rtc.bss section issues 1. rtc.data section: should include sbss srodata in rtc_wake_stub*.* 2. rtc.bss section: move rtc .bss .bss.* from rtc.data to rtc.bss --- components/esp_system/ld/esp32/sections.ld.in | 2 +- components/esp_system/ld/esp32c3/sections.ld.in | 4 ++-- components/esp_system/ld/esp32h2/sections.ld.in | 4 ++-- components/esp_system/ld/esp32s2/sections.ld.in | 2 +- components/esp_system/ld/esp32s3/sections.ld.in | 2 +- 5 files changed, 7 insertions(+), 7 deletions(-) diff --git a/components/esp_system/ld/esp32/sections.ld.in b/components/esp_system/ld/esp32/sections.ld.in index ac596e0cb8..8a5b2beb2c 100644 --- a/components/esp_system/ld/esp32/sections.ld.in +++ b/components/esp_system/ld/esp32/sections.ld.in @@ -63,7 +63,7 @@ SECTIONS mapping[rtc_data] - *rtc_wake_stub*.*(.data .rodata .data.* .rodata.* .bss .bss.*) + *rtc_wake_stub*.*(.data .rodata .data.* .rodata.*) _rtc_data_end = ABSOLUTE(.); } > rtc_data_location diff --git a/components/esp_system/ld/esp32c3/sections.ld.in b/components/esp_system/ld/esp32c3/sections.ld.in index 9458dc39c3..f0cb15d878 100644 --- a/components/esp_system/ld/esp32c3/sections.ld.in +++ b/components/esp_system/ld/esp32c3/sections.ld.in @@ -59,7 +59,7 @@ SECTIONS mapping[rtc_data] - *rtc_wake_stub*.*(.data .rodata .data.* .rodata.* .bss .bss.*) + *rtc_wake_stub*.*(.data .rodata .data.* .rodata.* .srodata.*) _rtc_data_end = ABSOLUTE(.); } > rtc_data_location @@ -67,7 +67,7 @@ SECTIONS .rtc.bss (NOLOAD) : { _rtc_bss_start = ABSOLUTE(.); - *rtc_wake_stub*.*(.bss .bss.*) + *rtc_wake_stub*.*(.bss .bss.* .sbss .sbss.*) *rtc_wake_stub*.*(COMMON) mapping[rtc_bss] diff --git a/components/esp_system/ld/esp32h2/sections.ld.in b/components/esp_system/ld/esp32h2/sections.ld.in index 2c46a076e1..c0220eaee4 100644 --- a/components/esp_system/ld/esp32h2/sections.ld.in +++ b/components/esp_system/ld/esp32h2/sections.ld.in @@ -66,7 +66,7 @@ SECTIONS mapping[rtc_data] - *rtc_wake_stub*.*(.data .rodata .data.* .rodata.* .bss .bss.*) + *rtc_wake_stub*.*(.data .rodata .data.* .rodata.* .srodata.*) _rtc_data_end = ABSOLUTE(.); } > rtc_data_location @@ -74,7 +74,7 @@ SECTIONS .rtc.bss (NOLOAD) : { _rtc_bss_start = ABSOLUTE(.); - *rtc_wake_stub*.*(.bss .bss.*) + *rtc_wake_stub*.*(.bss .bss.* .sbss .sbss.*) *rtc_wake_stub*.*(COMMON) mapping[rtc_bss] diff --git a/components/esp_system/ld/esp32s2/sections.ld.in b/components/esp_system/ld/esp32s2/sections.ld.in index 09974555d5..6055a14413 100644 --- a/components/esp_system/ld/esp32s2/sections.ld.in +++ b/components/esp_system/ld/esp32s2/sections.ld.in @@ -71,7 +71,7 @@ SECTIONS mapping[rtc_data] - *rtc_wake_stub*.*(.data .rodata .data.* .rodata.* .bss .bss.*) + *rtc_wake_stub*.*(.data .rodata .data.* .rodata.*) _rtc_data_end = ABSOLUTE(.); } > rtc_data_location diff --git a/components/esp_system/ld/esp32s3/sections.ld.in b/components/esp_system/ld/esp32s3/sections.ld.in index c340d8e085..f40473dfca 100644 --- a/components/esp_system/ld/esp32s3/sections.ld.in +++ b/components/esp_system/ld/esp32s3/sections.ld.in @@ -70,7 +70,7 @@ SECTIONS mapping[rtc_data] - *rtc_wake_stub*.*(.data .rodata .data.* .rodata.* .bss .bss.*) + *rtc_wake_stub*.*(.data .rodata .data.* .rodata.*) _rtc_data_end = ABSOLUTE(.); } > rtc_data_location