From 7be9ae16b34cf4a4e0676d4c1bffdc66a78aa827 Mon Sep 17 00:00:00 2001 From: Yilin Sun Date: Mon, 5 Feb 2024 22:45:37 +0800 Subject: [bsp][lpc55sxx] Add RTT constant table sections to GNU lds. The following RTT constant table sections are missing from the linker script which will cause non-functional image: * .rti_fn* * FSymTab * VSymTab Add these sections after .text sections. Signed-off-by: Yilin Sun --- .../board/linker_scripts/LPC55S06_flash.ld | 20 ++++++++++++++++++++ .../board/linker_scripts/LPC55S16_flash.ld | 20 ++++++++++++++++++++ .../board/linker_scripts/LPC55S28_flash.ld | 20 ++++++++++++++++++++ .../board/linker_scripts/LPC55S36_flash.ld | 20 ++++++++++++++++++++ .../linker_scripts/LPC55S69_cm33_core0_flash.ld | 20 ++++++++++++++++++++ 5 files changed, 100 insertions(+) diff --git a/bsp/lpc55sxx/lpc55s06_nxp_evk/board/linker_scripts/LPC55S06_flash.ld b/bsp/lpc55sxx/lpc55s06_nxp_evk/board/linker_scripts/LPC55S06_flash.ld index 6e686170df..e3d6a6a474 100644 --- a/bsp/lpc55sxx/lpc55s06_nxp_evk/board/linker_scripts/LPC55S06_flash.ld +++ b/bsp/lpc55sxx/lpc55s06_nxp_evk/board/linker_scripts/LPC55S06_flash.ld @@ -68,6 +68,26 @@ SECTIONS . = ALIGN(4); } > m_text + .rtt_const_tables : + { + /* section information for finsh shell */ + . = ALIGN(4); + __fsymtab_start = .; + KEEP(*(FSymTab)) + __fsymtab_end = .; + + . = ALIGN(4); + __vsymtab_start = .; + KEEP(*(VSymTab)) + __vsymtab_end = .; + + /* section information for initial. */ + . = ALIGN(4); + __rt_init_start = .; + KEEP(*(SORT(.rti_fn*))) + __rt_init_end = .; + } > m_text + .ARM.extab : { *(.ARM.extab* .gnu.linkonce.armextab.*) diff --git a/bsp/lpc55sxx/lpc55s16_nxp_evk/board/linker_scripts/LPC55S16_flash.ld b/bsp/lpc55sxx/lpc55s16_nxp_evk/board/linker_scripts/LPC55S16_flash.ld index 1897ad1137..1492f798f0 100644 --- a/bsp/lpc55sxx/lpc55s16_nxp_evk/board/linker_scripts/LPC55S16_flash.ld +++ b/bsp/lpc55sxx/lpc55s16_nxp_evk/board/linker_scripts/LPC55S16_flash.ld @@ -70,6 +70,26 @@ SECTIONS . = ALIGN(4); } > m_text + .rtt_const_tables : + { + /* section information for finsh shell */ + . = ALIGN(4); + __fsymtab_start = .; + KEEP(*(FSymTab)) + __fsymtab_end = .; + + . = ALIGN(4); + __vsymtab_start = .; + KEEP(*(VSymTab)) + __vsymtab_end = .; + + /* section information for initial. */ + . = ALIGN(4); + __rt_init_start = .; + KEEP(*(SORT(.rti_fn*))) + __rt_init_end = .; + } > m_text + .ARM.extab : { *(.ARM.extab* .gnu.linkonce.armextab.*) diff --git a/bsp/lpc55sxx/lpc55s28_nxp_evk/board/linker_scripts/LPC55S28_flash.ld b/bsp/lpc55sxx/lpc55s28_nxp_evk/board/linker_scripts/LPC55S28_flash.ld index 8c1a25098d..7ac88017a2 100644 --- a/bsp/lpc55sxx/lpc55s28_nxp_evk/board/linker_scripts/LPC55S28_flash.ld +++ b/bsp/lpc55sxx/lpc55s28_nxp_evk/board/linker_scripts/LPC55S28_flash.ld @@ -68,6 +68,26 @@ SECTIONS . = ALIGN(4); } > m_text + .rtt_const_tables : + { + /* section information for finsh shell */ + . = ALIGN(4); + __fsymtab_start = .; + KEEP(*(FSymTab)) + __fsymtab_end = .; + + . = ALIGN(4); + __vsymtab_start = .; + KEEP(*(VSymTab)) + __vsymtab_end = .; + + /* section information for initial. */ + . = ALIGN(4); + __rt_init_start = .; + KEEP(*(SORT(.rti_fn*))) + __rt_init_end = .; + } > m_text + .ARM.extab : { *(.ARM.extab* .gnu.linkonce.armextab.*) diff --git a/bsp/lpc55sxx/lpc55s36_nxp_evk/board/linker_scripts/LPC55S36_flash.ld b/bsp/lpc55sxx/lpc55s36_nxp_evk/board/linker_scripts/LPC55S36_flash.ld index bc23d2616f..2b92e0efa9 100644 --- a/bsp/lpc55sxx/lpc55s36_nxp_evk/board/linker_scripts/LPC55S36_flash.ld +++ b/bsp/lpc55sxx/lpc55s36_nxp_evk/board/linker_scripts/LPC55S36_flash.ld @@ -71,6 +71,26 @@ SECTIONS . = ALIGN(4); } > m_text + .rtt_const_tables : + { + /* section information for finsh shell */ + . = ALIGN(4); + __fsymtab_start = .; + KEEP(*(FSymTab)) + __fsymtab_end = .; + + . = ALIGN(4); + __vsymtab_start = .; + KEEP(*(VSymTab)) + __vsymtab_end = .; + + /* section information for initial. */ + . = ALIGN(4); + __rt_init_start = .; + KEEP(*(SORT(.rti_fn*))) + __rt_init_end = .; + } > m_text + .ARM.extab : { *(.ARM.extab* .gnu.linkonce.armextab.*) diff --git a/bsp/lpc55sxx/lpc55s69_nxp_evk/board/linker_scripts/LPC55S69_cm33_core0_flash.ld b/bsp/lpc55sxx/lpc55s69_nxp_evk/board/linker_scripts/LPC55S69_cm33_core0_flash.ld index ef9bc99b69..d7e513b157 100644 --- a/bsp/lpc55sxx/lpc55s69_nxp_evk/board/linker_scripts/LPC55S69_cm33_core0_flash.ld +++ b/bsp/lpc55sxx/lpc55s69_nxp_evk/board/linker_scripts/LPC55S69_cm33_core0_flash.ld @@ -89,6 +89,26 @@ SECTIONS . = ALIGN(4); } > m_text + .rtt_const_tables : + { + /* section information for finsh shell */ + . = ALIGN(4); + __fsymtab_start = .; + KEEP(*(FSymTab)) + __fsymtab_end = .; + + . = ALIGN(4); + __vsymtab_start = .; + KEEP(*(VSymTab)) + __vsymtab_end = .; + + /* section information for initial. */ + . = ALIGN(4); + __rt_init_start = .; + KEEP(*(SORT(.rti_fn*))) + __rt_init_end = .; + } > m_text + .ARM.extab : { *(.ARM.extab* .gnu.linkonce.armextab.*) -- cgit v1.3.1