From 6afea0e81c55a91879e349fc5ed14824915276e7 Mon Sep 17 00:00:00 2001 From: Angus Gratton Date: Tue, 21 Mar 2017 16:29:57 +0800 Subject: [PATCH] linker scripts: Add explicit symbols for _iram_start and _flash_cache_start This is to avoid confusion when idf_monitor prints the first symbol in each section, ie "WindowOverflow4" or similar, when bootloader prints the section mapping address. Closes #447 https://github.com/espressif/esp-idf/issues/447 --- components/esp32/ld/esp32.common.ld | 10 ++++++++++ 1 file changed, 10 insertions(+) diff --git a/components/esp32/ld/esp32.common.ld b/components/esp32/ld/esp32.common.ld index bc28e5ca9..4b1a35963 100644 --- a/components/esp32/ld/esp32.common.ld +++ b/components/esp32/ld/esp32.common.ld @@ -71,6 +71,10 @@ SECTIONS *(.init.literal) *(.init) _init_end = ABSOLUTE(.); + + /* This goes here, not at top of linker script, so addr2line finds it last, + and uses it in preference to the first symbol in IRAM */ + _iram_start = ABSOLUTE(0); } > iram0_0_seg .iram0.text : @@ -193,5 +197,11 @@ SECTIONS *(.gnu.version) _text_end = ABSOLUTE(.); _etext = .; + + /* Similar to _iram_start, this symbol goes here so it is + resolved by addr2line in preference to the first symbol in + the flash.text segment. + */ + _flash_cache_start = ABSOLUTE(0); } >iram0_2_seg }