This is an automated email from the ASF dual-hosted git repository.
jerzy pushed a commit to branch master
in repository https://gitbox.apache.org/repos/asf/mynewt-core.git
The following commit(s) were added to refs/heads/master by this push:
new db77b0248 link: Add link_tables to all ld scripts
db77b0248 is described below
commit db77b02486ab428bd2f588eb9eea650ac81df49f
Author: Jerzy Kasenberg <[email protected]>
AuthorDate: Mon Mar 25 07:52:43 2024 +0100
link: Add link_tables to all ld scripts
newt tool can create link_tables.ld.h file from
pkg.link_table section
This modifies all linker scripts to have this
functionality.
Signed-off-by: Jerzy Kasenberg <[email protected]>
---
hw/bsp/ada_feather_nrf52/ada_feather_nrf52_no_boot.ld | 1 +
hw/bsp/ada_feather_nrf52/split_ada_feather_nrf52.ld | 1 +
hw/bsp/ada_feather_stm32f405/run_from_sram.ld | 1 +
hw/bsp/arduino_primo_nrf52/primo_no_boot.ld | 1 +
hw/bsp/arduino_primo_nrf52/split-primo.ld | 1 +
hw/bsp/bbc_microbit/split-microbit.ld | 1 +
hw/bsp/black_vet6/run_from_sram.ld | 1 +
hw/bsp/ble400/ble400_no_boot.ld | 1 +
hw/bsp/ble400/split-ble400.ld | 1 +
hw/bsp/bmd200/nrf51dk_no_boot.ld | 1 +
hw/bsp/bmd200/split-nrf51dk.ld | 1 +
hw/bsp/bmd300eval/bmd300eval_no_boot.ld | 1 +
hw/bsp/bmd300eval/split-bmd300eval.ld | 1 +
hw/bsp/calliope_mini/split-calliope_mini.ld | 1 +
hw/bsp/dwm1001-dev/dwm1001-dev_no_boot.ld | 1 +
hw/bsp/dwm1001-dev/split-dwm1001-dev.ld | 1 +
hw/bsp/fanstel-ev-bt840/fanstel-ev-bt840_no_boot.ld | 1 +
hw/bsp/fanstel-ev-bt840/split-fanstel-ev-bt840.ld | 1 +
hw/bsp/frdm-k64f/MK64FN1M0xxx12_flash.ld | 1 +
hw/bsp/frdm-k64f/boot-MK64FN1M0xxx12_flash.ld | 1 +
hw/bsp/frdm-k82f/MK82FN256xxx15_flash.ld | 1 +
hw/bsp/frdm-k82f/boot-MK82FN256xxx15_flash.ld | 1 +
hw/bsp/hifive1/hifive1.ld | 1 +
hw/bsp/nina-b1/nrf52dk_no_boot.ld | 1 +
hw/bsp/nina-b1/split-nrf52dk.ld | 1 +
hw/bsp/nordic_pca10028-16k/nordic_pca10028-16k_no_boot.ld | 1 +
hw/bsp/nordic_pca10028-16k/split-nordic_pca10028-16k.ld | 1 +
hw/bsp/nordic_pca10028/nordic_pca10028_no_boot.ld | 1 +
hw/bsp/nordic_pca10028/split-nordic_pca10028.ld | 1 +
hw/bsp/nordic_pca10040/nordic_pca10040_no_boot.ld | 1 +
hw/bsp/nordic_pca10040/split-nordic_pca10040.ld | 1 +
hw/bsp/nordic_pca10056/nordic_pca10056_no_boot.ld | 1 +
hw/bsp/nordic_pca10056/split-nordic_pca10056.ld | 1 +
hw/bsp/nordic_pca10059/nordic_pca10059_no_boot.ld | 1 +
hw/bsp/nordic_pca10059/split-nordic_pca10059.ld | 1 +
hw/bsp/nordic_pca10090/split-nordic_pca10090.ld | 1 +
hw/bsp/nordic_pca10095/nordic_pca10095_no_boot.ld | 1 +
hw/bsp/nordic_pca10095_net/nordic_pca10095_net_no_boot.ld | 1 +
hw/bsp/nordic_pca10121/net/no_boot.ld | 1 +
hw/bsp/nordic_pca10121/no_boot.ld | 1 +
hw/bsp/nordic_pca20020/nordic_pca20020_no_boot.ld | 1 +
hw/bsp/nordic_pca20020/split-nordic_pca20020.ld | 1 +
hw/bsp/nrf51-arduino_101/nrf51dk-16kbram_no_boot.ld | 1 +
hw/bsp/nrf51-blenano/nrf51dk_no_boot.ld | 1 +
hw/bsp/nrf51-blenano/split-nrf51dk.ld | 1 +
hw/bsp/olimex_stm32-e407_devboard/run_from_sram.ld | 1 +
hw/bsp/puckjs/puckjs_no_boot.ld | 1 +
hw/bsp/puckjs/split_puckjs.ld | 1 +
hw/bsp/rb-blend2/rb-blend2_no_boot.ld | 1 +
hw/bsp/rb-blend2/split-rb-blend2.ld | 1 +
hw/bsp/rb-nano2/rb-nano2_no_boot.ld | 1 +
hw/bsp/rb-nano2/split-rb-nano2.ld | 1 +
hw/bsp/reel_board/reel_board_no_boot.ld | 1 +
hw/bsp/reel_board/split-reel_board.ld | 1 +
hw/bsp/ruuvitag_rev_b/ruuvitag_rev_b_no_boot.ld | 1 +
hw/bsp/ruuvitag_rev_b/split-ruuvitag_rev_b.ld | 1 +
hw/bsp/telee02/split-telee02.ld | 1 +
hw/bsp/telee02/telee02_no_boot.ld | 1 +
hw/bsp/ublox_bmd_345/split-ublox_bmd_345.ld | 1 +
hw/bsp/ublox_bmd_345/ublox_bmd_345_no_boot.ld | 1 +
hw/bsp/usbmkw41z/boot-mkw41z512.ld | 1 +
hw/bsp/usbmkw41z/mkw41z512.ld | 1 +
hw/bsp/usbmkw41z/no-boot-mkw41z512.ld | 1 +
hw/bsp/vbluno51/split-vbluno51.ld | 1 +
hw/bsp/vbluno51/vbluno51_no_boot.ld | 1 +
hw/bsp/vbluno52/split-vbluno52.ld | 1 +
hw/bsp/vbluno52/vbluno52_no_boot.ld | 1 +
hw/mcu/ambiq/apollo2/apollo2.ld | 1 +
hw/mcu/ambiq/apollo3/apollo3.ld | 1 +
hw/mcu/atmel/samd21xx/samd21xx.ld | 1 +
hw/mcu/dialog/cmac/cmac.ld | 1 +
hw/mcu/dialog/da1469x/da1469x.ld | 1 +
hw/mcu/dialog/da1469x/da1469x_ram_resident.ld | 1 +
hw/mcu/nordic/nrf51xxx/nrf51.ld | 1 +
hw/mcu/nordic/nrf52xxx/nrf52.ld | 1 +
hw/mcu/nordic/nrf52xxx/nrf52_ram_resident.ld | 1 +
hw/mcu/nordic/nrf5340/nrf5340.ld | 1 +
hw/mcu/nordic/nrf5340/nrf5340_ram_resident.ld | 1 +
hw/mcu/nordic/nrf5340_net/nrf5340_net.ld | 1 +
hw/mcu/nordic/nrf5340_net/nrf5340_net_ram_resident.ld | 1 +
hw/mcu/nordic/nrf91xx/nrf91.ld | 1 +
hw/mcu/nordic/nrf91xx/nrf91_ram_resident.ld | 1 +
hw/mcu/stm/stm32f0xx/stm32f0xx.ld | 1 +
hw/mcu/stm/stm32f1xx/stm32f103.ld | 1 +
hw/mcu/stm/stm32f3xx/stm32f303.ld | 1 +
hw/mcu/stm/stm32f4xx/stm32f401.ld | 1 +
hw/mcu/stm/stm32f4xx/stm32f407.ld | 1 +
hw/mcu/stm/stm32f4xx/stm32f411.ld | 1 +
hw/mcu/stm/stm32f4xx/stm32f413.ld | 1 +
hw/mcu/stm/stm32f4xx/stm32f427.ld | 1 +
hw/mcu/stm/stm32f4xx/stm32f429.ld | 1 +
hw/mcu/stm/stm32f4xx/stm32f439.ld | 1 +
hw/mcu/stm/stm32f7xx/stm32f746.ld | 1 +
hw/mcu/stm/stm32f7xx/stm32f767.ld | 1 +
hw/mcu/stm/stm32h7xx/stm32h723.ld | 1 +
hw/mcu/stm/stm32l0xx/stm32l072.ld | 1 +
hw/mcu/stm/stm32l0xx/stm32l073.ld | 1 +
hw/mcu/stm/stm32l1xx/stm32l152.ld | 1 +
hw/mcu/stm/stm32l4xx/stm32l476.ld | 1 +
hw/mcu/stm/stm32u5xx/stm32u5xx.ld | 1 +
hw/mcu/stm/stm32wbxx/stm32wb55.ld | 1 +
101 files changed, 101 insertions(+)
diff --git a/hw/bsp/ada_feather_nrf52/ada_feather_nrf52_no_boot.ld
b/hw/bsp/ada_feather_nrf52/ada_feather_nrf52_no_boot.ld
index 3d8cf2270..a627bf105 100644
--- a/hw/bsp/ada_feather_nrf52/ada_feather_nrf52_no_boot.ld
+++ b/hw/bsp/ada_feather_nrf52/ada_feather_nrf52_no_boot.ld
@@ -80,6 +80,7 @@ SECTIONS
*(SORT(.dtors.*))
*(.dtors)
+INCLUDE "link_tables.ld.h"
*(.rodata*)
*(.eh_frame*)
diff --git a/hw/bsp/ada_feather_nrf52/split_ada_feather_nrf52.ld
b/hw/bsp/ada_feather_nrf52/split_ada_feather_nrf52.ld
index 696b6c416..af231bdda 100644
--- a/hw/bsp/ada_feather_nrf52/split_ada_feather_nrf52.ld
+++ b/hw/bsp/ada_feather_nrf52/split_ada_feather_nrf52.ld
@@ -83,6 +83,7 @@ SECTIONS
*(SORT(.dtors.*))
*(.dtors)
+INCLUDE "link_tables.ld.h"
*(.rodata*)
*(.eh_frame*)
diff --git a/hw/bsp/ada_feather_stm32f405/run_from_sram.ld
b/hw/bsp/ada_feather_stm32f405/run_from_sram.ld
index 4984da436..df4869bac 100644
--- a/hw/bsp/ada_feather_stm32f405/run_from_sram.ld
+++ b/hw/bsp/ada_feather_stm32f405/run_from_sram.ld
@@ -89,6 +89,7 @@ SECTIONS
*(SORT(.dtors.*))
*(.dtors)
+INCLUDE "link_tables.ld.h"
*(.rodata*)
KEEP(*(.eh_frame*))
diff --git a/hw/bsp/arduino_primo_nrf52/primo_no_boot.ld
b/hw/bsp/arduino_primo_nrf52/primo_no_boot.ld
index 3d8cf2270..a627bf105 100644
--- a/hw/bsp/arduino_primo_nrf52/primo_no_boot.ld
+++ b/hw/bsp/arduino_primo_nrf52/primo_no_boot.ld
@@ -80,6 +80,7 @@ SECTIONS
*(SORT(.dtors.*))
*(.dtors)
+INCLUDE "link_tables.ld.h"
*(.rodata*)
*(.eh_frame*)
diff --git a/hw/bsp/arduino_primo_nrf52/split-primo.ld
b/hw/bsp/arduino_primo_nrf52/split-primo.ld
index 696b6c416..af231bdda 100644
--- a/hw/bsp/arduino_primo_nrf52/split-primo.ld
+++ b/hw/bsp/arduino_primo_nrf52/split-primo.ld
@@ -83,6 +83,7 @@ SECTIONS
*(SORT(.dtors.*))
*(.dtors)
+INCLUDE "link_tables.ld.h"
*(.rodata*)
*(.eh_frame*)
diff --git a/hw/bsp/bbc_microbit/split-microbit.ld
b/hw/bsp/bbc_microbit/split-microbit.ld
index 6df17d300..c9c4675e6 100644
--- a/hw/bsp/bbc_microbit/split-microbit.ld
+++ b/hw/bsp/bbc_microbit/split-microbit.ld
@@ -83,6 +83,7 @@ SECTIONS
*(SORT(.dtors.*))
*(.dtors)
+INCLUDE "link_tables.ld.h"
*(.rodata*)
*(.eh_frame*)
diff --git a/hw/bsp/black_vet6/run_from_sram.ld
b/hw/bsp/black_vet6/run_from_sram.ld
index c78988375..41e5ad5c0 100644
--- a/hw/bsp/black_vet6/run_from_sram.ld
+++ b/hw/bsp/black_vet6/run_from_sram.ld
@@ -89,6 +89,7 @@ SECTIONS
*(SORT(.dtors.*))
*(.dtors)
+INCLUDE "link_tables.ld.h"
*(.rodata*)
KEEP(*(.eh_frame*))
diff --git a/hw/bsp/ble400/ble400_no_boot.ld b/hw/bsp/ble400/ble400_no_boot.ld
index b7a27b308..8ff1e6915 100644
--- a/hw/bsp/ble400/ble400_no_boot.ld
+++ b/hw/bsp/ble400/ble400_no_boot.ld
@@ -80,6 +80,7 @@ SECTIONS
*(SORT(.dtors.*))
*(.dtors)
+INCLUDE "link_tables.ld.h"
*(.rodata*)
*(.eh_frame*)
diff --git a/hw/bsp/ble400/split-ble400.ld b/hw/bsp/ble400/split-ble400.ld
index 4ac1f31e3..b98080440 100644
--- a/hw/bsp/ble400/split-ble400.ld
+++ b/hw/bsp/ble400/split-ble400.ld
@@ -83,6 +83,7 @@ SECTIONS
*(SORT(.dtors.*))
*(.dtors)
+INCLUDE "link_tables.ld.h"
*(.rodata*)
*(.eh_frame*)
diff --git a/hw/bsp/bmd200/nrf51dk_no_boot.ld b/hw/bsp/bmd200/nrf51dk_no_boot.ld
index b7a27b308..8ff1e6915 100644
--- a/hw/bsp/bmd200/nrf51dk_no_boot.ld
+++ b/hw/bsp/bmd200/nrf51dk_no_boot.ld
@@ -80,6 +80,7 @@ SECTIONS
*(SORT(.dtors.*))
*(.dtors)
+INCLUDE "link_tables.ld.h"
*(.rodata*)
*(.eh_frame*)
diff --git a/hw/bsp/bmd200/split-nrf51dk.ld b/hw/bsp/bmd200/split-nrf51dk.ld
index 4ac1f31e3..b98080440 100644
--- a/hw/bsp/bmd200/split-nrf51dk.ld
+++ b/hw/bsp/bmd200/split-nrf51dk.ld
@@ -83,6 +83,7 @@ SECTIONS
*(SORT(.dtors.*))
*(.dtors)
+INCLUDE "link_tables.ld.h"
*(.rodata*)
*(.eh_frame*)
diff --git a/hw/bsp/bmd300eval/bmd300eval_no_boot.ld
b/hw/bsp/bmd300eval/bmd300eval_no_boot.ld
index 82e0aa20c..5294c7ff7 100644
--- a/hw/bsp/bmd300eval/bmd300eval_no_boot.ld
+++ b/hw/bsp/bmd300eval/bmd300eval_no_boot.ld
@@ -80,6 +80,7 @@ SECTIONS
*(SORT(.dtors.*))
*(.dtors)
+INCLUDE "link_tables.ld.h"
*(.rodata*)
*(.eh_frame*)
diff --git a/hw/bsp/bmd300eval/split-bmd300eval.ld
b/hw/bsp/bmd300eval/split-bmd300eval.ld
index 696b6c416..af231bdda 100644
--- a/hw/bsp/bmd300eval/split-bmd300eval.ld
+++ b/hw/bsp/bmd300eval/split-bmd300eval.ld
@@ -83,6 +83,7 @@ SECTIONS
*(SORT(.dtors.*))
*(.dtors)
+INCLUDE "link_tables.ld.h"
*(.rodata*)
*(.eh_frame*)
diff --git a/hw/bsp/calliope_mini/split-calliope_mini.ld
b/hw/bsp/calliope_mini/split-calliope_mini.ld
index 740e6977b..b5dc492b9 100644
--- a/hw/bsp/calliope_mini/split-calliope_mini.ld
+++ b/hw/bsp/calliope_mini/split-calliope_mini.ld
@@ -83,6 +83,7 @@ SECTIONS
*(SORT(.dtors.*))
*(.dtors)
+INCLUDE "link_tables.ld.h"
*(.rodata*)
*(.eh_frame*)
diff --git a/hw/bsp/dwm1001-dev/dwm1001-dev_no_boot.ld
b/hw/bsp/dwm1001-dev/dwm1001-dev_no_boot.ld
index 3d8cf2270..a627bf105 100644
--- a/hw/bsp/dwm1001-dev/dwm1001-dev_no_boot.ld
+++ b/hw/bsp/dwm1001-dev/dwm1001-dev_no_boot.ld
@@ -80,6 +80,7 @@ SECTIONS
*(SORT(.dtors.*))
*(.dtors)
+INCLUDE "link_tables.ld.h"
*(.rodata*)
*(.eh_frame*)
diff --git a/hw/bsp/dwm1001-dev/split-dwm1001-dev.ld
b/hw/bsp/dwm1001-dev/split-dwm1001-dev.ld
index 696b6c416..af231bdda 100644
--- a/hw/bsp/dwm1001-dev/split-dwm1001-dev.ld
+++ b/hw/bsp/dwm1001-dev/split-dwm1001-dev.ld
@@ -83,6 +83,7 @@ SECTIONS
*(SORT(.dtors.*))
*(.dtors)
+INCLUDE "link_tables.ld.h"
*(.rodata*)
*(.eh_frame*)
diff --git a/hw/bsp/fanstel-ev-bt840/fanstel-ev-bt840_no_boot.ld
b/hw/bsp/fanstel-ev-bt840/fanstel-ev-bt840_no_boot.ld
index a55bcd8ed..4ddd42c2a 100644
--- a/hw/bsp/fanstel-ev-bt840/fanstel-ev-bt840_no_boot.ld
+++ b/hw/bsp/fanstel-ev-bt840/fanstel-ev-bt840_no_boot.ld
@@ -80,6 +80,7 @@ SECTIONS
*(SORT(.dtors.*))
*(.dtors)
+INCLUDE "link_tables.ld.h"
*(.rodata*)
*(.eh_frame*)
diff --git a/hw/bsp/fanstel-ev-bt840/split-fanstel-ev-bt840.ld
b/hw/bsp/fanstel-ev-bt840/split-fanstel-ev-bt840.ld
index 047e4fd7b..526108c46 100644
--- a/hw/bsp/fanstel-ev-bt840/split-fanstel-ev-bt840.ld
+++ b/hw/bsp/fanstel-ev-bt840/split-fanstel-ev-bt840.ld
@@ -83,6 +83,7 @@ SECTIONS
*(SORT(.dtors.*))
*(.dtors)
+INCLUDE "link_tables.ld.h"
*(.rodata*)
*(.eh_frame*)
diff --git a/hw/bsp/frdm-k64f/MK64FN1M0xxx12_flash.ld
b/hw/bsp/frdm-k64f/MK64FN1M0xxx12_flash.ld
index a3276b2a7..45bc773f2 100644
--- a/hw/bsp/frdm-k64f/MK64FN1M0xxx12_flash.ld
+++ b/hw/bsp/frdm-k64f/MK64FN1M0xxx12_flash.ld
@@ -96,6 +96,7 @@ SECTIONS
. = ALIGN(4);
*(.text) /* .text sections (code) */
*(.text*) /* .text* sections (code) */
+INCLUDE "link_tables.ld.h"
*(.rodata) /* .rodata sections (constants, strings, etc.) */
*(.rodata*) /* .rodata* sections (constants, strings, etc.) */
*(.glue_7) /* glue arm to thumb code */
diff --git a/hw/bsp/frdm-k64f/boot-MK64FN1M0xxx12_flash.ld
b/hw/bsp/frdm-k64f/boot-MK64FN1M0xxx12_flash.ld
index bea71abfa..dde619b15 100644
--- a/hw/bsp/frdm-k64f/boot-MK64FN1M0xxx12_flash.ld
+++ b/hw/bsp/frdm-k64f/boot-MK64FN1M0xxx12_flash.ld
@@ -89,6 +89,7 @@ SECTIONS
. = ALIGN(4);
*(.text) /* .text sections (code) */
*(.text*) /* .text* sections (code) */
+INCLUDE "link_tables.ld.h"
*(.rodata) /* .rodata sections (constants, strings, etc.) */
*(.rodata*) /* .rodata* sections (constants, strings, etc.) */
*(.glue_7) /* glue arm to thumb code */
diff --git a/hw/bsp/frdm-k82f/MK82FN256xxx15_flash.ld
b/hw/bsp/frdm-k82f/MK82FN256xxx15_flash.ld
index ccf5b652b..3390a0944 100644
--- a/hw/bsp/frdm-k82f/MK82FN256xxx15_flash.ld
+++ b/hw/bsp/frdm-k82f/MK82FN256xxx15_flash.ld
@@ -65,6 +65,7 @@ SECTIONS
. = ALIGN(4);
*(.text) /* .text sections (code) */
*(.text*) /* .text* sections (code) */
+INCLUDE "link_tables.ld.h"
*(.rodata) /* .rodata sections (constants, strings, etc.) */
*(.rodata*) /* .rodata* sections (constants, strings, etc.) */
*(.glue_7) /* glue arm to thumb code */
diff --git a/hw/bsp/frdm-k82f/boot-MK82FN256xxx15_flash.ld
b/hw/bsp/frdm-k82f/boot-MK82FN256xxx15_flash.ld
index 7abac84d7..129adef51 100644
--- a/hw/bsp/frdm-k82f/boot-MK82FN256xxx15_flash.ld
+++ b/hw/bsp/frdm-k82f/boot-MK82FN256xxx15_flash.ld
@@ -76,6 +76,7 @@ SECTIONS
. = ALIGN(4);
*(.text) /* .text sections (code) */
*(.text*) /* .text* sections (code) */
+INCLUDE "link_tables.ld.h"
*(.rodata) /* .rodata sections (constants, strings, etc.) */
*(.rodata*) /* .rodata* sections (constants, strings, etc.) */
*(.glue_7) /* glue arm to thumb code */
diff --git a/hw/bsp/hifive1/hifive1.ld b/hw/bsp/hifive1/hifive1.ld
index accf18a2d..3676d39f9 100644
--- a/hw/bsp/hifive1/hifive1.ld
+++ b/hw/bsp/hifive1/hifive1.ld
@@ -57,6 +57,7 @@ SECTIONS
.rodata :
{
*(.rdata)
+INCLUDE "link_tables.ld.h"
*(.rodata .rodata.*)
*(.gnu.linkonce.r.*)
} >flash
diff --git a/hw/bsp/nina-b1/nrf52dk_no_boot.ld
b/hw/bsp/nina-b1/nrf52dk_no_boot.ld
index 3d8cf2270..a627bf105 100644
--- a/hw/bsp/nina-b1/nrf52dk_no_boot.ld
+++ b/hw/bsp/nina-b1/nrf52dk_no_boot.ld
@@ -80,6 +80,7 @@ SECTIONS
*(SORT(.dtors.*))
*(.dtors)
+INCLUDE "link_tables.ld.h"
*(.rodata*)
*(.eh_frame*)
diff --git a/hw/bsp/nina-b1/split-nrf52dk.ld b/hw/bsp/nina-b1/split-nrf52dk.ld
index 81bc25191..ddb09e59f 100644
--- a/hw/bsp/nina-b1/split-nrf52dk.ld
+++ b/hw/bsp/nina-b1/split-nrf52dk.ld
@@ -83,6 +83,7 @@ SECTIONS
*(SORT(.dtors.*))
*(.dtors)
+INCLUDE "link_tables.ld.h"
*(.rodata*)
*(.eh_frame*)
diff --git a/hw/bsp/nordic_pca10028-16k/nordic_pca10028-16k_no_boot.ld
b/hw/bsp/nordic_pca10028-16k/nordic_pca10028-16k_no_boot.ld
index ef03282fd..3160f2d11 100644
--- a/hw/bsp/nordic_pca10028-16k/nordic_pca10028-16k_no_boot.ld
+++ b/hw/bsp/nordic_pca10028-16k/nordic_pca10028-16k_no_boot.ld
@@ -80,6 +80,7 @@ SECTIONS
*(SORT(.dtors.*))
*(.dtors)
+INCLUDE "link_tables.ld.h"
*(.rodata*)
*(.eh_frame*)
diff --git a/hw/bsp/nordic_pca10028-16k/split-nordic_pca10028-16k.ld
b/hw/bsp/nordic_pca10028-16k/split-nordic_pca10028-16k.ld
index 6df17d300..c9c4675e6 100644
--- a/hw/bsp/nordic_pca10028-16k/split-nordic_pca10028-16k.ld
+++ b/hw/bsp/nordic_pca10028-16k/split-nordic_pca10028-16k.ld
@@ -83,6 +83,7 @@ SECTIONS
*(SORT(.dtors.*))
*(.dtors)
+INCLUDE "link_tables.ld.h"
*(.rodata*)
*(.eh_frame*)
diff --git a/hw/bsp/nordic_pca10028/nordic_pca10028_no_boot.ld
b/hw/bsp/nordic_pca10028/nordic_pca10028_no_boot.ld
index b7a27b308..8ff1e6915 100644
--- a/hw/bsp/nordic_pca10028/nordic_pca10028_no_boot.ld
+++ b/hw/bsp/nordic_pca10028/nordic_pca10028_no_boot.ld
@@ -80,6 +80,7 @@ SECTIONS
*(SORT(.dtors.*))
*(.dtors)
+INCLUDE "link_tables.ld.h"
*(.rodata*)
*(.eh_frame*)
diff --git a/hw/bsp/nordic_pca10028/split-nordic_pca10028.ld
b/hw/bsp/nordic_pca10028/split-nordic_pca10028.ld
index 4ac1f31e3..b98080440 100644
--- a/hw/bsp/nordic_pca10028/split-nordic_pca10028.ld
+++ b/hw/bsp/nordic_pca10028/split-nordic_pca10028.ld
@@ -83,6 +83,7 @@ SECTIONS
*(SORT(.dtors.*))
*(.dtors)
+INCLUDE "link_tables.ld.h"
*(.rodata*)
*(.eh_frame*)
diff --git a/hw/bsp/nordic_pca10040/nordic_pca10040_no_boot.ld
b/hw/bsp/nordic_pca10040/nordic_pca10040_no_boot.ld
index 3d8cf2270..a627bf105 100644
--- a/hw/bsp/nordic_pca10040/nordic_pca10040_no_boot.ld
+++ b/hw/bsp/nordic_pca10040/nordic_pca10040_no_boot.ld
@@ -80,6 +80,7 @@ SECTIONS
*(SORT(.dtors.*))
*(.dtors)
+INCLUDE "link_tables.ld.h"
*(.rodata*)
*(.eh_frame*)
diff --git a/hw/bsp/nordic_pca10040/split-nordic_pca10040.ld
b/hw/bsp/nordic_pca10040/split-nordic_pca10040.ld
index 696b6c416..af231bdda 100644
--- a/hw/bsp/nordic_pca10040/split-nordic_pca10040.ld
+++ b/hw/bsp/nordic_pca10040/split-nordic_pca10040.ld
@@ -83,6 +83,7 @@ SECTIONS
*(SORT(.dtors.*))
*(.dtors)
+INCLUDE "link_tables.ld.h"
*(.rodata*)
*(.eh_frame*)
diff --git a/hw/bsp/nordic_pca10056/nordic_pca10056_no_boot.ld
b/hw/bsp/nordic_pca10056/nordic_pca10056_no_boot.ld
index a55bcd8ed..4ddd42c2a 100644
--- a/hw/bsp/nordic_pca10056/nordic_pca10056_no_boot.ld
+++ b/hw/bsp/nordic_pca10056/nordic_pca10056_no_boot.ld
@@ -80,6 +80,7 @@ SECTIONS
*(SORT(.dtors.*))
*(.dtors)
+INCLUDE "link_tables.ld.h"
*(.rodata*)
*(.eh_frame*)
diff --git a/hw/bsp/nordic_pca10056/split-nordic_pca10056.ld
b/hw/bsp/nordic_pca10056/split-nordic_pca10056.ld
index 047e4fd7b..526108c46 100644
--- a/hw/bsp/nordic_pca10056/split-nordic_pca10056.ld
+++ b/hw/bsp/nordic_pca10056/split-nordic_pca10056.ld
@@ -83,6 +83,7 @@ SECTIONS
*(SORT(.dtors.*))
*(.dtors)
+INCLUDE "link_tables.ld.h"
*(.rodata*)
*(.eh_frame*)
diff --git a/hw/bsp/nordic_pca10059/nordic_pca10059_no_boot.ld
b/hw/bsp/nordic_pca10059/nordic_pca10059_no_boot.ld
index a55bcd8ed..4ddd42c2a 100644
--- a/hw/bsp/nordic_pca10059/nordic_pca10059_no_boot.ld
+++ b/hw/bsp/nordic_pca10059/nordic_pca10059_no_boot.ld
@@ -80,6 +80,7 @@ SECTIONS
*(SORT(.dtors.*))
*(.dtors)
+INCLUDE "link_tables.ld.h"
*(.rodata*)
*(.eh_frame*)
diff --git a/hw/bsp/nordic_pca10059/split-nordic_pca10059.ld
b/hw/bsp/nordic_pca10059/split-nordic_pca10059.ld
index 047e4fd7b..526108c46 100644
--- a/hw/bsp/nordic_pca10059/split-nordic_pca10059.ld
+++ b/hw/bsp/nordic_pca10059/split-nordic_pca10059.ld
@@ -83,6 +83,7 @@ SECTIONS
*(SORT(.dtors.*))
*(.dtors)
+INCLUDE "link_tables.ld.h"
*(.rodata*)
*(.eh_frame*)
diff --git a/hw/bsp/nordic_pca10090/split-nordic_pca10090.ld
b/hw/bsp/nordic_pca10090/split-nordic_pca10090.ld
index 696b6c416..af231bdda 100644
--- a/hw/bsp/nordic_pca10090/split-nordic_pca10090.ld
+++ b/hw/bsp/nordic_pca10090/split-nordic_pca10090.ld
@@ -83,6 +83,7 @@ SECTIONS
*(SORT(.dtors.*))
*(.dtors)
+INCLUDE "link_tables.ld.h"
*(.rodata*)
*(.eh_frame*)
diff --git a/hw/bsp/nordic_pca10095/nordic_pca10095_no_boot.ld
b/hw/bsp/nordic_pca10095/nordic_pca10095_no_boot.ld
index 41c0dd179..ad449838c 100644
--- a/hw/bsp/nordic_pca10095/nordic_pca10095_no_boot.ld
+++ b/hw/bsp/nordic_pca10095/nordic_pca10095_no_boot.ld
@@ -80,6 +80,7 @@ SECTIONS
*(SORT(.dtors.*))
*(.dtors)
+INCLUDE "link_tables.ld.h"
*(.rodata*)
*(.eh_frame*)
diff --git a/hw/bsp/nordic_pca10095_net/nordic_pca10095_net_no_boot.ld
b/hw/bsp/nordic_pca10095_net/nordic_pca10095_net_no_boot.ld
index 336c688bd..1b0dd456d 100644
--- a/hw/bsp/nordic_pca10095_net/nordic_pca10095_net_no_boot.ld
+++ b/hw/bsp/nordic_pca10095_net/nordic_pca10095_net_no_boot.ld
@@ -80,6 +80,7 @@ SECTIONS
*(SORT(.dtors.*))
*(.dtors)
+INCLUDE "link_tables.ld.h"
*(.rodata*)
*(.eh_frame*)
diff --git a/hw/bsp/nordic_pca10121/net/no_boot.ld
b/hw/bsp/nordic_pca10121/net/no_boot.ld
index 336c688bd..1b0dd456d 100644
--- a/hw/bsp/nordic_pca10121/net/no_boot.ld
+++ b/hw/bsp/nordic_pca10121/net/no_boot.ld
@@ -80,6 +80,7 @@ SECTIONS
*(SORT(.dtors.*))
*(.dtors)
+INCLUDE "link_tables.ld.h"
*(.rodata*)
*(.eh_frame*)
diff --git a/hw/bsp/nordic_pca10121/no_boot.ld
b/hw/bsp/nordic_pca10121/no_boot.ld
index 41c0dd179..ad449838c 100644
--- a/hw/bsp/nordic_pca10121/no_boot.ld
+++ b/hw/bsp/nordic_pca10121/no_boot.ld
@@ -80,6 +80,7 @@ SECTIONS
*(SORT(.dtors.*))
*(.dtors)
+INCLUDE "link_tables.ld.h"
*(.rodata*)
*(.eh_frame*)
diff --git a/hw/bsp/nordic_pca20020/nordic_pca20020_no_boot.ld
b/hw/bsp/nordic_pca20020/nordic_pca20020_no_boot.ld
index 3d8cf2270..a627bf105 100644
--- a/hw/bsp/nordic_pca20020/nordic_pca20020_no_boot.ld
+++ b/hw/bsp/nordic_pca20020/nordic_pca20020_no_boot.ld
@@ -80,6 +80,7 @@ SECTIONS
*(SORT(.dtors.*))
*(.dtors)
+INCLUDE "link_tables.ld.h"
*(.rodata*)
*(.eh_frame*)
diff --git a/hw/bsp/nordic_pca20020/split-nordic_pca20020.ld
b/hw/bsp/nordic_pca20020/split-nordic_pca20020.ld
index 696b6c416..af231bdda 100644
--- a/hw/bsp/nordic_pca20020/split-nordic_pca20020.ld
+++ b/hw/bsp/nordic_pca20020/split-nordic_pca20020.ld
@@ -83,6 +83,7 @@ SECTIONS
*(SORT(.dtors.*))
*(.dtors)
+INCLUDE "link_tables.ld.h"
*(.rodata*)
*(.eh_frame*)
diff --git a/hw/bsp/nrf51-arduino_101/nrf51dk-16kbram_no_boot.ld
b/hw/bsp/nrf51-arduino_101/nrf51dk-16kbram_no_boot.ld
index 99131e16b..748c00ca2 100644
--- a/hw/bsp/nrf51-arduino_101/nrf51dk-16kbram_no_boot.ld
+++ b/hw/bsp/nrf51-arduino_101/nrf51dk-16kbram_no_boot.ld
@@ -80,6 +80,7 @@ SECTIONS
*(SORT(.dtors.*))
*(.dtors)
+INCLUDE "link_tables.ld.h"
*(.rodata*)
*(.eh_frame*)
diff --git a/hw/bsp/nrf51-blenano/nrf51dk_no_boot.ld
b/hw/bsp/nrf51-blenano/nrf51dk_no_boot.ld
index b7a27b308..8ff1e6915 100644
--- a/hw/bsp/nrf51-blenano/nrf51dk_no_boot.ld
+++ b/hw/bsp/nrf51-blenano/nrf51dk_no_boot.ld
@@ -80,6 +80,7 @@ SECTIONS
*(SORT(.dtors.*))
*(.dtors)
+INCLUDE "link_tables.ld.h"
*(.rodata*)
*(.eh_frame*)
diff --git a/hw/bsp/nrf51-blenano/split-nrf51dk.ld
b/hw/bsp/nrf51-blenano/split-nrf51dk.ld
index 4ac1f31e3..b98080440 100644
--- a/hw/bsp/nrf51-blenano/split-nrf51dk.ld
+++ b/hw/bsp/nrf51-blenano/split-nrf51dk.ld
@@ -83,6 +83,7 @@ SECTIONS
*(SORT(.dtors.*))
*(.dtors)
+INCLUDE "link_tables.ld.h"
*(.rodata*)
*(.eh_frame*)
diff --git a/hw/bsp/olimex_stm32-e407_devboard/run_from_sram.ld
b/hw/bsp/olimex_stm32-e407_devboard/run_from_sram.ld
index fab36a87b..e2be7f0e5 100644
--- a/hw/bsp/olimex_stm32-e407_devboard/run_from_sram.ld
+++ b/hw/bsp/olimex_stm32-e407_devboard/run_from_sram.ld
@@ -89,6 +89,7 @@ SECTIONS
*(SORT(.dtors.*))
*(.dtors)
+INCLUDE "link_tables.ld.h"
*(.rodata*)
KEEP(*(.eh_frame*))
diff --git a/hw/bsp/puckjs/puckjs_no_boot.ld b/hw/bsp/puckjs/puckjs_no_boot.ld
index 3d8cf2270..a627bf105 100644
--- a/hw/bsp/puckjs/puckjs_no_boot.ld
+++ b/hw/bsp/puckjs/puckjs_no_boot.ld
@@ -80,6 +80,7 @@ SECTIONS
*(SORT(.dtors.*))
*(.dtors)
+INCLUDE "link_tables.ld.h"
*(.rodata*)
*(.eh_frame*)
diff --git a/hw/bsp/puckjs/split_puckjs.ld b/hw/bsp/puckjs/split_puckjs.ld
index 696b6c416..af231bdda 100644
--- a/hw/bsp/puckjs/split_puckjs.ld
+++ b/hw/bsp/puckjs/split_puckjs.ld
@@ -83,6 +83,7 @@ SECTIONS
*(SORT(.dtors.*))
*(.dtors)
+INCLUDE "link_tables.ld.h"
*(.rodata*)
*(.eh_frame*)
diff --git a/hw/bsp/rb-blend2/rb-blend2_no_boot.ld
b/hw/bsp/rb-blend2/rb-blend2_no_boot.ld
index 3d8cf2270..a627bf105 100644
--- a/hw/bsp/rb-blend2/rb-blend2_no_boot.ld
+++ b/hw/bsp/rb-blend2/rb-blend2_no_boot.ld
@@ -80,6 +80,7 @@ SECTIONS
*(SORT(.dtors.*))
*(.dtors)
+INCLUDE "link_tables.ld.h"
*(.rodata*)
*(.eh_frame*)
diff --git a/hw/bsp/rb-blend2/split-rb-blend2.ld
b/hw/bsp/rb-blend2/split-rb-blend2.ld
index 696b6c416..af231bdda 100644
--- a/hw/bsp/rb-blend2/split-rb-blend2.ld
+++ b/hw/bsp/rb-blend2/split-rb-blend2.ld
@@ -83,6 +83,7 @@ SECTIONS
*(SORT(.dtors.*))
*(.dtors)
+INCLUDE "link_tables.ld.h"
*(.rodata*)
*(.eh_frame*)
diff --git a/hw/bsp/rb-nano2/rb-nano2_no_boot.ld
b/hw/bsp/rb-nano2/rb-nano2_no_boot.ld
index 3d8cf2270..a627bf105 100644
--- a/hw/bsp/rb-nano2/rb-nano2_no_boot.ld
+++ b/hw/bsp/rb-nano2/rb-nano2_no_boot.ld
@@ -80,6 +80,7 @@ SECTIONS
*(SORT(.dtors.*))
*(.dtors)
+INCLUDE "link_tables.ld.h"
*(.rodata*)
*(.eh_frame*)
diff --git a/hw/bsp/rb-nano2/split-rb-nano2.ld
b/hw/bsp/rb-nano2/split-rb-nano2.ld
index 696b6c416..af231bdda 100644
--- a/hw/bsp/rb-nano2/split-rb-nano2.ld
+++ b/hw/bsp/rb-nano2/split-rb-nano2.ld
@@ -83,6 +83,7 @@ SECTIONS
*(SORT(.dtors.*))
*(.dtors)
+INCLUDE "link_tables.ld.h"
*(.rodata*)
*(.eh_frame*)
diff --git a/hw/bsp/reel_board/reel_board_no_boot.ld
b/hw/bsp/reel_board/reel_board_no_boot.ld
index a55bcd8ed..4ddd42c2a 100644
--- a/hw/bsp/reel_board/reel_board_no_boot.ld
+++ b/hw/bsp/reel_board/reel_board_no_boot.ld
@@ -80,6 +80,7 @@ SECTIONS
*(SORT(.dtors.*))
*(.dtors)
+INCLUDE "link_tables.ld.h"
*(.rodata*)
*(.eh_frame*)
diff --git a/hw/bsp/reel_board/split-reel_board.ld
b/hw/bsp/reel_board/split-reel_board.ld
index 047e4fd7b..526108c46 100644
--- a/hw/bsp/reel_board/split-reel_board.ld
+++ b/hw/bsp/reel_board/split-reel_board.ld
@@ -83,6 +83,7 @@ SECTIONS
*(SORT(.dtors.*))
*(.dtors)
+INCLUDE "link_tables.ld.h"
*(.rodata*)
*(.eh_frame*)
diff --git a/hw/bsp/ruuvitag_rev_b/ruuvitag_rev_b_no_boot.ld
b/hw/bsp/ruuvitag_rev_b/ruuvitag_rev_b_no_boot.ld
index 3d8cf2270..a627bf105 100644
--- a/hw/bsp/ruuvitag_rev_b/ruuvitag_rev_b_no_boot.ld
+++ b/hw/bsp/ruuvitag_rev_b/ruuvitag_rev_b_no_boot.ld
@@ -80,6 +80,7 @@ SECTIONS
*(SORT(.dtors.*))
*(.dtors)
+INCLUDE "link_tables.ld.h"
*(.rodata*)
*(.eh_frame*)
diff --git a/hw/bsp/ruuvitag_rev_b/split-ruuvitag_rev_b.ld
b/hw/bsp/ruuvitag_rev_b/split-ruuvitag_rev_b.ld
index 696b6c416..af231bdda 100644
--- a/hw/bsp/ruuvitag_rev_b/split-ruuvitag_rev_b.ld
+++ b/hw/bsp/ruuvitag_rev_b/split-ruuvitag_rev_b.ld
@@ -83,6 +83,7 @@ SECTIONS
*(SORT(.dtors.*))
*(.dtors)
+INCLUDE "link_tables.ld.h"
*(.rodata*)
*(.eh_frame*)
diff --git a/hw/bsp/telee02/split-telee02.ld b/hw/bsp/telee02/split-telee02.ld
index 696b6c416..af231bdda 100644
--- a/hw/bsp/telee02/split-telee02.ld
+++ b/hw/bsp/telee02/split-telee02.ld
@@ -83,6 +83,7 @@ SECTIONS
*(SORT(.dtors.*))
*(.dtors)
+INCLUDE "link_tables.ld.h"
*(.rodata*)
*(.eh_frame*)
diff --git a/hw/bsp/telee02/telee02_no_boot.ld
b/hw/bsp/telee02/telee02_no_boot.ld
index 3d8cf2270..a627bf105 100644
--- a/hw/bsp/telee02/telee02_no_boot.ld
+++ b/hw/bsp/telee02/telee02_no_boot.ld
@@ -80,6 +80,7 @@ SECTIONS
*(SORT(.dtors.*))
*(.dtors)
+INCLUDE "link_tables.ld.h"
*(.rodata*)
*(.eh_frame*)
diff --git a/hw/bsp/ublox_bmd_345/split-ublox_bmd_345.ld
b/hw/bsp/ublox_bmd_345/split-ublox_bmd_345.ld
index 047e4fd7b..526108c46 100644
--- a/hw/bsp/ublox_bmd_345/split-ublox_bmd_345.ld
+++ b/hw/bsp/ublox_bmd_345/split-ublox_bmd_345.ld
@@ -83,6 +83,7 @@ SECTIONS
*(SORT(.dtors.*))
*(.dtors)
+INCLUDE "link_tables.ld.h"
*(.rodata*)
*(.eh_frame*)
diff --git a/hw/bsp/ublox_bmd_345/ublox_bmd_345_no_boot.ld
b/hw/bsp/ublox_bmd_345/ublox_bmd_345_no_boot.ld
index a55bcd8ed..4ddd42c2a 100644
--- a/hw/bsp/ublox_bmd_345/ublox_bmd_345_no_boot.ld
+++ b/hw/bsp/ublox_bmd_345/ublox_bmd_345_no_boot.ld
@@ -80,6 +80,7 @@ SECTIONS
*(SORT(.dtors.*))
*(.dtors)
+INCLUDE "link_tables.ld.h"
*(.rodata*)
*(.eh_frame*)
diff --git a/hw/bsp/usbmkw41z/boot-mkw41z512.ld
b/hw/bsp/usbmkw41z/boot-mkw41z512.ld
index 99c766a0d..57dd8518b 100644
--- a/hw/bsp/usbmkw41z/boot-mkw41z512.ld
+++ b/hw/bsp/usbmkw41z/boot-mkw41z512.ld
@@ -97,6 +97,7 @@ SECTIONS
*(SORT(.dtors.*))
*(.dtors)
+INCLUDE "link_tables.ld.h"
*(.rodata*)
*(.eh_frame*)
diff --git a/hw/bsp/usbmkw41z/mkw41z512.ld b/hw/bsp/usbmkw41z/mkw41z512.ld
index 491a1ac40..315685d2c 100644
--- a/hw/bsp/usbmkw41z/mkw41z512.ld
+++ b/hw/bsp/usbmkw41z/mkw41z512.ld
@@ -87,6 +87,7 @@ SECTIONS
*(SORT(.dtors.*))
*(.dtors)
+INCLUDE "link_tables.ld.h"
*(.rodata*)
*(.eh_frame*)
diff --git a/hw/bsp/usbmkw41z/no-boot-mkw41z512.ld
b/hw/bsp/usbmkw41z/no-boot-mkw41z512.ld
index 6dff11457..df475caa2 100644
--- a/hw/bsp/usbmkw41z/no-boot-mkw41z512.ld
+++ b/hw/bsp/usbmkw41z/no-boot-mkw41z512.ld
@@ -97,6 +97,7 @@ SECTIONS
*(SORT(.dtors.*))
*(.dtors)
+INCLUDE "link_tables.ld.h"
*(.rodata*)
*(.eh_frame*)
diff --git a/hw/bsp/vbluno51/split-vbluno51.ld
b/hw/bsp/vbluno51/split-vbluno51.ld
index 4ac1f31e3..b98080440 100644
--- a/hw/bsp/vbluno51/split-vbluno51.ld
+++ b/hw/bsp/vbluno51/split-vbluno51.ld
@@ -83,6 +83,7 @@ SECTIONS
*(SORT(.dtors.*))
*(.dtors)
+INCLUDE "link_tables.ld.h"
*(.rodata*)
*(.eh_frame*)
diff --git a/hw/bsp/vbluno51/vbluno51_no_boot.ld
b/hw/bsp/vbluno51/vbluno51_no_boot.ld
index b7a27b308..8ff1e6915 100644
--- a/hw/bsp/vbluno51/vbluno51_no_boot.ld
+++ b/hw/bsp/vbluno51/vbluno51_no_boot.ld
@@ -80,6 +80,7 @@ SECTIONS
*(SORT(.dtors.*))
*(.dtors)
+INCLUDE "link_tables.ld.h"
*(.rodata*)
*(.eh_frame*)
diff --git a/hw/bsp/vbluno52/split-vbluno52.ld
b/hw/bsp/vbluno52/split-vbluno52.ld
index 696b6c416..af231bdda 100644
--- a/hw/bsp/vbluno52/split-vbluno52.ld
+++ b/hw/bsp/vbluno52/split-vbluno52.ld
@@ -83,6 +83,7 @@ SECTIONS
*(SORT(.dtors.*))
*(.dtors)
+INCLUDE "link_tables.ld.h"
*(.rodata*)
*(.eh_frame*)
diff --git a/hw/bsp/vbluno52/vbluno52_no_boot.ld
b/hw/bsp/vbluno52/vbluno52_no_boot.ld
index 3d8cf2270..a627bf105 100644
--- a/hw/bsp/vbluno52/vbluno52_no_boot.ld
+++ b/hw/bsp/vbluno52/vbluno52_no_boot.ld
@@ -80,6 +80,7 @@ SECTIONS
*(SORT(.dtors.*))
*(.dtors)
+INCLUDE "link_tables.ld.h"
*(.rodata*)
*(.eh_frame*)
diff --git a/hw/mcu/ambiq/apollo2/apollo2.ld b/hw/mcu/ambiq/apollo2/apollo2.ld
index 3c15b58fe..421b1c187 100644
--- a/hw/mcu/ambiq/apollo2/apollo2.ld
+++ b/hw/mcu/ambiq/apollo2/apollo2.ld
@@ -79,6 +79,7 @@ SECTIONS
*(SORT(.dtors.*))
*(.dtors)
+INCLUDE "link_tables.ld.h"
*(.rodata*)
*(.eh_frame*)
diff --git a/hw/mcu/ambiq/apollo3/apollo3.ld b/hw/mcu/ambiq/apollo3/apollo3.ld
index b2f308311..3aa2098ee 100644
--- a/hw/mcu/ambiq/apollo3/apollo3.ld
+++ b/hw/mcu/ambiq/apollo3/apollo3.ld
@@ -43,6 +43,7 @@ SECTIONS
/* .rodata */
. = ALIGN(4);
+INCLUDE "link_tables.ld.h"
*(.rodata)
*(.rodata*)
diff --git a/hw/mcu/atmel/samd21xx/samd21xx.ld
b/hw/mcu/atmel/samd21xx/samd21xx.ld
index 35e064e18..8a12ab7a2 100644
--- a/hw/mcu/atmel/samd21xx/samd21xx.ld
+++ b/hw/mcu/atmel/samd21xx/samd21xx.ld
@@ -107,6 +107,7 @@ SECTIONS
*(SORT(.dtors.*))
*(.dtors)
+INCLUDE "link_tables.ld.h"
*(.rodata*)
KEEP(*(.eh_frame*))
diff --git a/hw/mcu/dialog/cmac/cmac.ld b/hw/mcu/dialog/cmac/cmac.ld
index f7eb6cec0..f5097f442 100644
--- a/hw/mcu/dialog/cmac/cmac.ld
+++ b/hw/mcu/dialog/cmac/cmac.ld
@@ -67,6 +67,7 @@ SECTIONS
*(SORT(.dtors.*))
*(.dtors)
+INCLUDE "link_tables.ld.h"
*(.rodata*)
*(.eh_frame*)
diff --git a/hw/mcu/dialog/da1469x/da1469x.ld b/hw/mcu/dialog/da1469x/da1469x.ld
index 9f1e29bd5..4345d18e4 100644
--- a/hw/mcu/dialog/da1469x/da1469x.ld
+++ b/hw/mcu/dialog/da1469x/da1469x.ld
@@ -105,6 +105,7 @@ SECTIONS
*(SORT(.dtors.*))
*(.dtors)
+INCLUDE "link_tables.ld.h"
*(.rodata*)
*(.eh_frame*)
diff --git a/hw/mcu/dialog/da1469x/da1469x_ram_resident.ld
b/hw/mcu/dialog/da1469x/da1469x_ram_resident.ld
index 0caf676f2..8e3ed7dc4 100644
--- a/hw/mcu/dialog/da1469x/da1469x_ram_resident.ld
+++ b/hw/mcu/dialog/da1469x/da1469x_ram_resident.ld
@@ -69,6 +69,7 @@ SECTIONS
*(SORT(.dtors.*))
*(.dtors)
+INCLUDE "link_tables.ld.h"
*(.rodata*)
*(.eh_frame*)
diff --git a/hw/mcu/nordic/nrf51xxx/nrf51.ld b/hw/mcu/nordic/nrf51xxx/nrf51.ld
index ea89e0f3e..710407c12 100644
--- a/hw/mcu/nordic/nrf51xxx/nrf51.ld
+++ b/hw/mcu/nordic/nrf51xxx/nrf51.ld
@@ -99,6 +99,7 @@ SECTIONS
*(SORT(.dtors.*))
*(.dtors)
+INCLUDE "link_tables.ld.h"
*(.rodata*)
*(.eh_frame*)
diff --git a/hw/mcu/nordic/nrf52xxx/nrf52.ld b/hw/mcu/nordic/nrf52xxx/nrf52.ld
index af7de107e..4c25985d5 100644
--- a/hw/mcu/nordic/nrf52xxx/nrf52.ld
+++ b/hw/mcu/nordic/nrf52xxx/nrf52.ld
@@ -99,6 +99,7 @@ SECTIONS
*(SORT(.dtors.*))
*(.dtors)
+INCLUDE "link_tables.ld.h"
*(.rodata*)
*(.eh_frame*)
diff --git a/hw/mcu/nordic/nrf52xxx/nrf52_ram_resident.ld
b/hw/mcu/nordic/nrf52xxx/nrf52_ram_resident.ld
index f482248ee..9cc5b105b 100644
--- a/hw/mcu/nordic/nrf52xxx/nrf52_ram_resident.ld
+++ b/hw/mcu/nordic/nrf52xxx/nrf52_ram_resident.ld
@@ -95,6 +95,7 @@ SECTIONS
*(SORT(.dtors.*))
*(.dtors)
+INCLUDE "link_tables.ld.h"
*(.rodata*)
*(.eh_frame*)
diff --git a/hw/mcu/nordic/nrf5340/nrf5340.ld b/hw/mcu/nordic/nrf5340/nrf5340.ld
index d8e27e769..339ac60ab 100644
--- a/hw/mcu/nordic/nrf5340/nrf5340.ld
+++ b/hw/mcu/nordic/nrf5340/nrf5340.ld
@@ -99,6 +99,7 @@ SECTIONS
*(SORT(.dtors.*))
*(.dtors)
+INCLUDE "link_tables.ld.h"
*(.rodata*)
*(.eh_frame*)
diff --git a/hw/mcu/nordic/nrf5340/nrf5340_ram_resident.ld
b/hw/mcu/nordic/nrf5340/nrf5340_ram_resident.ld
index 05dfd466e..ef482672c 100644
--- a/hw/mcu/nordic/nrf5340/nrf5340_ram_resident.ld
+++ b/hw/mcu/nordic/nrf5340/nrf5340_ram_resident.ld
@@ -95,6 +95,7 @@ SECTIONS
*(SORT(.dtors.*))
*(.dtors)
+INCLUDE "link_tables.ld.h"
*(.rodata*)
*(.eh_frame*)
diff --git a/hw/mcu/nordic/nrf5340_net/nrf5340_net.ld
b/hw/mcu/nordic/nrf5340_net/nrf5340_net.ld
index f235d6d5f..74a20ff49 100644
--- a/hw/mcu/nordic/nrf5340_net/nrf5340_net.ld
+++ b/hw/mcu/nordic/nrf5340_net/nrf5340_net.ld
@@ -99,6 +99,7 @@ SECTIONS
*(SORT(.dtors.*))
*(.dtors)
+INCLUDE "link_tables.ld.h"
*(.rodata*)
*(.eh_frame*)
diff --git a/hw/mcu/nordic/nrf5340_net/nrf5340_net_ram_resident.ld
b/hw/mcu/nordic/nrf5340_net/nrf5340_net_ram_resident.ld
index f482248ee..9cc5b105b 100644
--- a/hw/mcu/nordic/nrf5340_net/nrf5340_net_ram_resident.ld
+++ b/hw/mcu/nordic/nrf5340_net/nrf5340_net_ram_resident.ld
@@ -95,6 +95,7 @@ SECTIONS
*(SORT(.dtors.*))
*(.dtors)
+INCLUDE "link_tables.ld.h"
*(.rodata*)
*(.eh_frame*)
diff --git a/hw/mcu/nordic/nrf91xx/nrf91.ld b/hw/mcu/nordic/nrf91xx/nrf91.ld
index af7de107e..4c25985d5 100644
--- a/hw/mcu/nordic/nrf91xx/nrf91.ld
+++ b/hw/mcu/nordic/nrf91xx/nrf91.ld
@@ -99,6 +99,7 @@ SECTIONS
*(SORT(.dtors.*))
*(.dtors)
+INCLUDE "link_tables.ld.h"
*(.rodata*)
*(.eh_frame*)
diff --git a/hw/mcu/nordic/nrf91xx/nrf91_ram_resident.ld
b/hw/mcu/nordic/nrf91xx/nrf91_ram_resident.ld
index f482248ee..9cc5b105b 100644
--- a/hw/mcu/nordic/nrf91xx/nrf91_ram_resident.ld
+++ b/hw/mcu/nordic/nrf91xx/nrf91_ram_resident.ld
@@ -95,6 +95,7 @@ SECTIONS
*(SORT(.dtors.*))
*(.dtors)
+INCLUDE "link_tables.ld.h"
*(.rodata*)
*(.eh_frame*)
diff --git a/hw/mcu/stm/stm32f0xx/stm32f0xx.ld
b/hw/mcu/stm/stm32f0xx/stm32f0xx.ld
index a9602ac84..d06161921 100644
--- a/hw/mcu/stm/stm32f0xx/stm32f0xx.ld
+++ b/hw/mcu/stm/stm32f0xx/stm32f0xx.ld
@@ -107,6 +107,7 @@ SECTIONS
*(SORT(.dtors.*))
*(.dtors)
+INCLUDE "link_tables.ld.h"
*(.rodata*)
KEEP(*(.eh_frame*))
diff --git a/hw/mcu/stm/stm32f1xx/stm32f103.ld
b/hw/mcu/stm/stm32f1xx/stm32f103.ld
index 5a646e5ee..7055654ac 100644
--- a/hw/mcu/stm/stm32f1xx/stm32f103.ld
+++ b/hw/mcu/stm/stm32f1xx/stm32f103.ld
@@ -107,6 +107,7 @@ SECTIONS
*(SORT(.dtors.*))
*(.dtors)
+INCLUDE "link_tables.ld.h"
*(.rodata*)
KEEP(*(.eh_frame*))
diff --git a/hw/mcu/stm/stm32f3xx/stm32f303.ld
b/hw/mcu/stm/stm32f3xx/stm32f303.ld
index b7ee776c3..8636a22fd 100644
--- a/hw/mcu/stm/stm32f3xx/stm32f303.ld
+++ b/hw/mcu/stm/stm32f3xx/stm32f303.ld
@@ -108,6 +108,7 @@ SECTIONS
*(SORT(.dtors.*))
*(.dtors)
+INCLUDE "link_tables.ld.h"
*(.rodata*)
KEEP(*(.eh_frame*))
diff --git a/hw/mcu/stm/stm32f4xx/stm32f401.ld
b/hw/mcu/stm/stm32f4xx/stm32f401.ld
index 40a35de32..e5dd916f0 100644
--- a/hw/mcu/stm/stm32f4xx/stm32f401.ld
+++ b/hw/mcu/stm/stm32f4xx/stm32f401.ld
@@ -105,6 +105,7 @@ SECTIONS
*(SORT(.dtors.*))
*(.dtors)
+INCLUDE "link_tables.ld.h"
*(.rodata*)
KEEP(*(.eh_frame*))
diff --git a/hw/mcu/stm/stm32f4xx/stm32f407.ld
b/hw/mcu/stm/stm32f4xx/stm32f407.ld
index 51eaa3b47..1b4526b73 100644
--- a/hw/mcu/stm/stm32f4xx/stm32f407.ld
+++ b/hw/mcu/stm/stm32f4xx/stm32f407.ld
@@ -105,6 +105,7 @@ SECTIONS
*(SORT(.dtors.*))
*(.dtors)
+INCLUDE "link_tables.ld.h"
*(.rodata*)
KEEP(*(.eh_frame*))
diff --git a/hw/mcu/stm/stm32f4xx/stm32f411.ld
b/hw/mcu/stm/stm32f4xx/stm32f411.ld
index 40a35de32..e5dd916f0 100644
--- a/hw/mcu/stm/stm32f4xx/stm32f411.ld
+++ b/hw/mcu/stm/stm32f4xx/stm32f411.ld
@@ -105,6 +105,7 @@ SECTIONS
*(SORT(.dtors.*))
*(.dtors)
+INCLUDE "link_tables.ld.h"
*(.rodata*)
KEEP(*(.eh_frame*))
diff --git a/hw/mcu/stm/stm32f4xx/stm32f413.ld
b/hw/mcu/stm/stm32f4xx/stm32f413.ld
index 7615341cd..90b0e3655 100644
--- a/hw/mcu/stm/stm32f4xx/stm32f413.ld
+++ b/hw/mcu/stm/stm32f4xx/stm32f413.ld
@@ -107,6 +107,7 @@ SECTIONS
*(SORT(.dtors.*))
*(.dtors)
+INCLUDE "link_tables.ld.h"
*(.rodata*)
KEEP(*(.eh_frame*))
diff --git a/hw/mcu/stm/stm32f4xx/stm32f427.ld
b/hw/mcu/stm/stm32f4xx/stm32f427.ld
index 51eaa3b47..1b4526b73 100644
--- a/hw/mcu/stm/stm32f4xx/stm32f427.ld
+++ b/hw/mcu/stm/stm32f4xx/stm32f427.ld
@@ -105,6 +105,7 @@ SECTIONS
*(SORT(.dtors.*))
*(.dtors)
+INCLUDE "link_tables.ld.h"
*(.rodata*)
KEEP(*(.eh_frame*))
diff --git a/hw/mcu/stm/stm32f4xx/stm32f429.ld
b/hw/mcu/stm/stm32f4xx/stm32f429.ld
index e473e33ff..eea022765 100644
--- a/hw/mcu/stm/stm32f4xx/stm32f429.ld
+++ b/hw/mcu/stm/stm32f4xx/stm32f429.ld
@@ -108,6 +108,7 @@ SECTIONS
*(SORT(.dtors.*))
*(.dtors)
+INCLUDE "link_tables.ld.h"
*(.rodata*)
KEEP(*(.eh_frame*))
diff --git a/hw/mcu/stm/stm32f4xx/stm32f439.ld
b/hw/mcu/stm/stm32f4xx/stm32f439.ld
index e473e33ff..eea022765 100644
--- a/hw/mcu/stm/stm32f4xx/stm32f439.ld
+++ b/hw/mcu/stm/stm32f4xx/stm32f439.ld
@@ -108,6 +108,7 @@ SECTIONS
*(SORT(.dtors.*))
*(.dtors)
+INCLUDE "link_tables.ld.h"
*(.rodata*)
KEEP(*(.eh_frame*))
diff --git a/hw/mcu/stm/stm32f7xx/stm32f746.ld
b/hw/mcu/stm/stm32f7xx/stm32f746.ld
index 2b017b47a..e1929bfbd 100644
--- a/hw/mcu/stm/stm32f7xx/stm32f746.ld
+++ b/hw/mcu/stm/stm32f7xx/stm32f746.ld
@@ -107,6 +107,7 @@ SECTIONS
*(SORT(.dtors.*))
*(.dtors)
+INCLUDE "link_tables.ld.h"
*(.rodata*)
KEEP(*(.eh_frame*))
diff --git a/hw/mcu/stm/stm32f7xx/stm32f767.ld
b/hw/mcu/stm/stm32f7xx/stm32f767.ld
index 2b017b47a..e1929bfbd 100644
--- a/hw/mcu/stm/stm32f7xx/stm32f767.ld
+++ b/hw/mcu/stm/stm32f7xx/stm32f767.ld
@@ -107,6 +107,7 @@ SECTIONS
*(SORT(.dtors.*))
*(.dtors)
+INCLUDE "link_tables.ld.h"
*(.rodata*)
KEEP(*(.eh_frame*))
diff --git a/hw/mcu/stm/stm32h7xx/stm32h723.ld
b/hw/mcu/stm/stm32h7xx/stm32h723.ld
index 2e41eed0b..72557cdfc 100644
--- a/hw/mcu/stm/stm32h7xx/stm32h723.ld
+++ b/hw/mcu/stm/stm32h7xx/stm32h723.ld
@@ -107,6 +107,7 @@ SECTIONS
*(SORT(.dtors.*))
*(.dtors)
+INCLUDE "link_tables.ld.h"
*(.rodata*)
KEEP(*(.eh_frame*))
diff --git a/hw/mcu/stm/stm32l0xx/stm32l072.ld
b/hw/mcu/stm/stm32l0xx/stm32l072.ld
index 15b0a8007..d18107458 100644
--- a/hw/mcu/stm/stm32l0xx/stm32l072.ld
+++ b/hw/mcu/stm/stm32l0xx/stm32l072.ld
@@ -106,6 +106,7 @@ SECTIONS
*(SORT(.dtors.*))
*(.dtors)
+INCLUDE "link_tables.ld.h"
*(.rodata*)
KEEP(*(.eh_frame*))
diff --git a/hw/mcu/stm/stm32l0xx/stm32l073.ld
b/hw/mcu/stm/stm32l0xx/stm32l073.ld
index 15b0a8007..d18107458 100644
--- a/hw/mcu/stm/stm32l0xx/stm32l073.ld
+++ b/hw/mcu/stm/stm32l0xx/stm32l073.ld
@@ -106,6 +106,7 @@ SECTIONS
*(SORT(.dtors.*))
*(.dtors)
+INCLUDE "link_tables.ld.h"
*(.rodata*)
KEEP(*(.eh_frame*))
diff --git a/hw/mcu/stm/stm32l1xx/stm32l152.ld
b/hw/mcu/stm/stm32l1xx/stm32l152.ld
index 5a646e5ee..7055654ac 100644
--- a/hw/mcu/stm/stm32l1xx/stm32l152.ld
+++ b/hw/mcu/stm/stm32l1xx/stm32l152.ld
@@ -107,6 +107,7 @@ SECTIONS
*(SORT(.dtors.*))
*(.dtors)
+INCLUDE "link_tables.ld.h"
*(.rodata*)
KEEP(*(.eh_frame*))
diff --git a/hw/mcu/stm/stm32l4xx/stm32l476.ld
b/hw/mcu/stm/stm32l4xx/stm32l476.ld
index e0b6bf2cf..3a9e4b474 100644
--- a/hw/mcu/stm/stm32l4xx/stm32l476.ld
+++ b/hw/mcu/stm/stm32l4xx/stm32l476.ld
@@ -106,6 +106,7 @@ SECTIONS
*(SORT(.dtors.*))
*(.dtors)
+INCLUDE "link_tables.ld.h"
*(.rodata*)
KEEP(*(.eh_frame*))
diff --git a/hw/mcu/stm/stm32u5xx/stm32u5xx.ld
b/hw/mcu/stm/stm32u5xx/stm32u5xx.ld
index e0b6bf2cf..3a9e4b474 100644
--- a/hw/mcu/stm/stm32u5xx/stm32u5xx.ld
+++ b/hw/mcu/stm/stm32u5xx/stm32u5xx.ld
@@ -106,6 +106,7 @@ SECTIONS
*(SORT(.dtors.*))
*(.dtors)
+INCLUDE "link_tables.ld.h"
*(.rodata*)
KEEP(*(.eh_frame*))
diff --git a/hw/mcu/stm/stm32wbxx/stm32wb55.ld
b/hw/mcu/stm/stm32wbxx/stm32wb55.ld
index bc61dc028..411ec7a60 100644
--- a/hw/mcu/stm/stm32wbxx/stm32wb55.ld
+++ b/hw/mcu/stm/stm32wbxx/stm32wb55.ld
@@ -107,6 +107,7 @@ SECTIONS
*(SORT(.dtors.*))
*(.dtors)
+INCLUDE "link_tables.ld.h"
*(.rodata*)
KEEP(*(.eh_frame*))