Selaa lähdekoodia

[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 <imi415@imi.moe>
Yilin Sun 1 vuosi sitten
vanhempi
commit
7be9ae16b3

+ 20 - 0
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.*)

+ 20 - 0
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.*)

+ 20 - 0
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.*)

+ 20 - 0
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.*)

+ 20 - 0
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.*)