soc: espressif: add missing linker symbols

Provide missing symbols to the default linker scripts.

Signed-off-by: Marek Matej <marek.matej@espressif.com>
This commit is contained in:
Marek Matej 2024-04-11 14:18:50 +02:00 committed by Alberto Escolar
commit 213bad1de0
4 changed files with 17 additions and 26 deletions

View file

@ -789,7 +789,6 @@ SECTIONS
*(.dynamic) *(.dynamic)
*(.gnu.version_d) *(.gnu.version_d)
. = ALIGN(4); . = ALIGN(4);
_rodata_end = ABSOLUTE(.);
__rodata_region_end = ABSOLUTE(.); __rodata_region_end = ABSOLUTE(.);
/* Literals are also RO data. */ /* Literals are also RO data. */
_lit4_start = ABSOLUTE(.); _lit4_start = ABSOLUTE(.);
@ -846,6 +845,7 @@ SECTIONS
_stext = .; _stext = .;
_instruction_reserved_start = ABSOLUTE(.); /* This is a symbol marking the flash.text start, this can be used for mmu driver to maintain virtual address */ _instruction_reserved_start = ABSOLUTE(.); /* This is a symbol marking the flash.text start, this can be used for mmu driver to maintain virtual address */
_text_start = ABSOLUTE(.); _text_start = ABSOLUTE(.);
__text_region_start = ABSOLUTE(.);
#ifndef CONFIG_ESP32_WIFI_IRAM_OPT #ifndef CONFIG_ESP32_WIFI_IRAM_OPT
*libnet80211.a:( .wifi0iram .wifi0iram.* .wifislpiram .wifislpiram.*) *libnet80211.a:( .wifi0iram .wifi0iram.* .wifislpiram .wifislpiram.*)
@ -864,6 +864,7 @@ SECTIONS
. = ALIGN(4); . = ALIGN(4);
_text_end = ABSOLUTE(.); _text_end = ABSOLUTE(.);
_instruction_reserved_end = ABSOLUTE(.); /* This is a symbol marking the flash.text end, this can be used for mmu driver to maintain virtual address */ _instruction_reserved_end = ABSOLUTE(.); /* This is a symbol marking the flash.text end, this can be used for mmu driver to maintain virtual address */
__text_region_end = ABSOLUTE(.);
_etext = .; _etext = .;
} GROUP_DATA_LINK_IN(FLASH_CODE_REGION, ROMABLE_REGION) } GROUP_DATA_LINK_IN(FLASH_CODE_REGION, ROMABLE_REGION)

View file

@ -658,7 +658,7 @@ SECTIONS
*(.rodata_desc .rodata_desc.*) *(.rodata_desc .rodata_desc.*)
*(.rodata_custom_desc .rodata_custom_desc.*) *(.rodata_custom_desc .rodata_custom_desc.*)
__rodata_region_start = .; __rodata_region_start = ABSOLUTE(.);
. = ALIGN(4); . = ALIGN(4);
#include <snippets-rodata.ld> #include <snippets-rodata.ld>
@ -684,7 +684,7 @@ SECTIONS
*(.xt_except_desc_end) *(.xt_except_desc_end)
*(.dynamic) *(.dynamic)
*(.gnu.version_d) *(.gnu.version_d)
__rodata_region_end = .; __rodata_region_end = ABSOLUTE(.);
_rodata_end = ABSOLUTE(.); _rodata_end = ABSOLUTE(.);
/* Literals are also RO data. */ /* Literals are also RO data. */
_lit4_start = ABSOLUTE(.); _lit4_start = ABSOLUTE(.);
@ -745,6 +745,7 @@ SECTIONS
_instruction_reserved_start = ABSOLUTE(.); _instruction_reserved_start = ABSOLUTE(.);
_text_start = ABSOLUTE(.); _text_start = ABSOLUTE(.);
_instruction_reserved_start = ABSOLUTE(.); _instruction_reserved_start = ABSOLUTE(.);
__text_region_start = ABSOLUTE(.);
#if !defined(CONFIG_ESP32_WIFI_IRAM_OPT) #if !defined(CONFIG_ESP32_WIFI_IRAM_OPT)
*libnet80211.a:( .wifi0iram .wifi0iram.* .wifislpiram .wifislpiram.*) *libnet80211.a:( .wifi0iram .wifi0iram.* .wifislpiram .wifislpiram.*)
@ -765,7 +766,7 @@ SECTIONS
*(.gnu.version) *(.gnu.version)
/** CPU will try to prefetch up to 16 bytes of /* CPU will try to prefetch up to 16 bytes of
* of instructions. This means that any configuration (e.g. MMU, PMS) must allow * of instructions. This means that any configuration (e.g. MMU, PMS) must allow
* safe access to up to 16 bytes after the last real instruction, add * safe access to up to 16 bytes after the last real instruction, add
* dummy bytes to ensure this * dummy bytes to ensure this
@ -775,14 +776,9 @@ SECTIONS
_instruction_reserved_end = ABSOLUTE(.); _instruction_reserved_end = ABSOLUTE(.);
_text_end = ABSOLUTE(.); _text_end = ABSOLUTE(.);
_instruction_reserved_end = ABSOLUTE(.); _instruction_reserved_end = ABSOLUTE(.);
__text_region_end = ABSOLUTE(.);
_etext = .; _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);
} GROUP_DATA_LINK_IN(FLASH_CODE_REGION, ROMABLE_REGION) } GROUP_DATA_LINK_IN(FLASH_CODE_REGION, ROMABLE_REGION)
/* --- END OF .flash.text --- */ /* --- END OF .flash.text --- */

View file

@ -839,7 +839,7 @@ SECTIONS
*(.dynamic) *(.dynamic)
*(.gnu.version_d) *(.gnu.version_d)
. = ALIGN(4); . = ALIGN(4);
__rodata_region_end = ABSOLUTE(.); _rodata_end = ABSOLUTE(.);
/* Literals are also RO data. */ /* Literals are also RO data. */
_lit4_start = ABSOLUTE(.); _lit4_start = ABSOLUTE(.);
*(*.lit4) *(*.lit4)
@ -868,8 +868,8 @@ SECTIONS
{ {
. = ALIGN(CACHE_ALIGN); . = ALIGN(CACHE_ALIGN);
_image_rodata_end = ABSOLUTE(.); _image_rodata_end = ABSOLUTE(.);
_rodata_region_end = ABSOLUTE(.);
_rodata_reserved_end = ABSOLUTE(.); _rodata_reserved_end = ABSOLUTE(.);
__rodata_region_end = ABSOLUTE(.);
} GROUP_DATA_LINK_IN(RODATA_REGION, ROMABLE_REGION) } GROUP_DATA_LINK_IN(RODATA_REGION, ROMABLE_REGION)
@ -891,6 +891,7 @@ SECTIONS
_stext = .; _stext = .;
_instruction_reserved_start = ABSOLUTE(.); _instruction_reserved_start = ABSOLUTE(.);
_text_start = ABSOLUTE(.); _text_start = ABSOLUTE(.);
__text_region_start = ABSOLUTE(.);
#if !defined(CONFIG_ESP32_WIFI_IRAM_OPT) #if !defined(CONFIG_ESP32_WIFI_IRAM_OPT)
*libnet80211.a:( .wifi0iram .wifi0iram.* .wifislpiram .wifislpiram.*) *libnet80211.a:( .wifi0iram .wifi0iram.* .wifislpiram .wifislpiram.*)
@ -919,13 +920,9 @@ SECTIONS
_text_end = ABSOLUTE(.); _text_end = ABSOLUTE(.);
_instruction_reserved_end = ABSOLUTE(.); /* This is a symbol marking the flash.text end, this can be used for mmu driver to maintain virtual address */ _instruction_reserved_end = ABSOLUTE(.); /* This is a symbol marking the flash.text end, this can be used for mmu driver to maintain virtual address */
__text_region_end = ABSOLUTE(.);
_etext = .; _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);
} GROUP_DATA_LINK_IN(ROTEXT_REGION, ROMABLE_REGION) } GROUP_DATA_LINK_IN(ROTEXT_REGION, ROMABLE_REGION)
/* --- END OF .flash.text --- */ /* --- END OF .flash.text --- */

View file

@ -744,6 +744,7 @@ SECTIONS
_stext = .; _stext = .;
_instruction_reserved_start = ABSOLUTE(.); _instruction_reserved_start = ABSOLUTE(.);
_text_start = ABSOLUTE(.); _text_start = ABSOLUTE(.);
__text_region_start = ABSOLUTE(.);
#if !defined(CONFIG_ESP32_WIFI_IRAM_OPT) #if !defined(CONFIG_ESP32_WIFI_IRAM_OPT)
*libnet80211.a:( .wifi0iram .wifi0iram.* .wifislpiram .wifislpiram.*) *libnet80211.a:( .wifi0iram .wifi0iram.* .wifislpiram .wifislpiram.*)
@ -771,13 +772,9 @@ SECTIONS
_text_end = ABSOLUTE(.); _text_end = ABSOLUTE(.);
_instruction_reserved_end = ABSOLUTE(.); /* This is a symbol marking the flash.text end, this can be used for mmu driver to maintain virtual address */ _instruction_reserved_end = ABSOLUTE(.); /* This is a symbol marking the flash.text end, this can be used for mmu driver to maintain virtual address */
__text_region_end = ABSOLUTE(.);
_etext = .; _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);
} GROUP_DATA_LINK_IN(FLASH_CODE_REGION, ROMABLE_REGION) } GROUP_DATA_LINK_IN(FLASH_CODE_REGION, ROMABLE_REGION)
/* This dummy section represents the .flash.text section but in default_rodata_seg. /* This dummy section represents the .flash.text section but in default_rodata_seg.