diff --git a/components/esp_system/ld/esp32p4/sections.rev3.ld.in b/components/esp_system/ld/esp32p4/sections.rev3.ld.in index 8163968790..d8cbd25729 100644 --- a/components/esp_system/ld/esp32p4/sections.rev3.ld.in +++ b/components/esp_system/ld/esp32p4/sections.rev3.ld.in @@ -407,8 +407,14 @@ SECTIONS ALIGNED_SYMBOL(4, __preinit_array_start) KEEP (*(.preinit_array)) __preinit_array_end = ABSOLUTE(.); - ALIGNED_SYMBOL(4, __init_array_start) + + . = ALIGN(4); + PROVIDE(__init_priority_array_start = ABSOLUTE(.)); KEEP (*(SORT_BY_INIT_PRIORITY(EXCLUDE_FILE (*crtend.* *crtbegin.*) .init_array.*))) + . = ALIGN(4); + PROVIDE(__init_priority_array_end = ABSOLUTE(.)); + + ALIGNED_SYMBOL(4, __init_array_start) KEEP (*(EXCLUDE_FILE (*crtend.* *crtbegin.*) .init_array)) __init_array_end = ABSOLUTE(.);