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:
parent
a0d1b778a4
commit
213bad1de0
4 changed files with 17 additions and 26 deletions
|
@ -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)
|
||||||
|
|
||||||
|
|
|
@ -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 --- */
|
||||||
|
|
|
@ -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 --- */
|
||||||
|
|
|
@ -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.
|
||||||
|
|
Loading…
Add table
Add a link
Reference in a new issue