diff --git a/arch/common/CMakeLists.txt b/arch/common/CMakeLists.txt index b39cc404ac0..ca0062a317f 100644 --- a/arch/common/CMakeLists.txt +++ b/arch/common/CMakeLists.txt @@ -24,6 +24,15 @@ zephyr_linker_sources_ifdef(CONFIG_GEN_ISR_TABLES ${ZEPHYR_BASE}/include/linker/intlist.ld ) +if(CONFIG_GEN_ISR_TABLES) + zephyr_linker_section(NAME .intList VMA IDT_LIST LMA IDT_LIST NOINPUT PASS 1) + zephyr_linker_section_configure(SECTION .intList KEEP INPUT ".irq_info" FIRST) + zephyr_linker_section_configure(SECTION .intList KEEP INPUT ".intList") + + zephyr_linker_section_configure(SECTION /DISCARD/ KEEP INPUT ".irq_info" PASS 2) + zephyr_linker_section_configure(SECTION /DISCARD/ KEEP INPUT ".intList" PASS 2) +endif() + zephyr_linker_sources_ifdef(CONFIG_ARCH_HAS_RAMFUNC_SUPPORT RAM_SECTIONS ramfunc.ld