This is an automated email from the ASF dual-hosted git repository. acassis pushed a commit to branch master in repository https://gitbox.apache.org/repos/asf/nuttx.git
commit 8e283e3acd437621c85c561e46149aae4b8fbfe0 Author: Marco Casaroli <[email protected]> AuthorDate: Tue Oct 6 23:01:32 2026 +0200 boards/pimoroni-pico-2-plus: Define _sinit and _einit. The linker scripts of the board name the bounds of .init_array the way the Pico SDK does, __init_array_start and __init_array_end, and do not define _sinit and _einit. lib_cxx_initialize() walks _sinit to _einit, so a configuration with CONFIG_HAVE_CXXINITIALIZE does not link: "undefined reference to `_sinit'". Define _sinit and _einit at the same places in the three scripts. Assisted-by: Claude Code:claude-opus-5-5 Signed-off-by: Marco Casaroli <[email protected]> --- boards/arm/rp23xx/pimoroni-pico-2-plus/scripts/memmap_copy_to_ram.ld | 2 ++ boards/arm/rp23xx/pimoroni-pico-2-plus/scripts/memmap_default.ld | 2 ++ boards/arm/rp23xx/pimoroni-pico-2-plus/scripts/memmap_no_flash.ld | 2 ++ 3 files changed, 6 insertions(+) diff --git a/boards/arm/rp23xx/pimoroni-pico-2-plus/scripts/memmap_copy_to_ram.ld b/boards/arm/rp23xx/pimoroni-pico-2-plus/scripts/memmap_copy_to_ram.ld index efb4a7d6d84..b269d63f62e 100644 --- a/boards/arm/rp23xx/pimoroni-pico-2-plus/scripts/memmap_copy_to_ram.ld +++ b/boards/arm/rp23xx/pimoroni-pico-2-plus/scripts/memmap_copy_to_ram.ld @@ -213,9 +213,11 @@ SECTIONS . = ALIGN(4); /* init data */ PROVIDE_HIDDEN (__init_array_start = .); + _sinit = .; KEEP(*(SORT(.init_array.*))) KEEP(*(.init_array)) PROVIDE_HIDDEN (__init_array_end = .); + _einit = .; . = ALIGN(4); /* finit data */ diff --git a/boards/arm/rp23xx/pimoroni-pico-2-plus/scripts/memmap_default.ld b/boards/arm/rp23xx/pimoroni-pico-2-plus/scripts/memmap_default.ld index 7e833a433a2..f54458c5ac8 100644 --- a/boards/arm/rp23xx/pimoroni-pico-2-plus/scripts/memmap_default.ld +++ b/boards/arm/rp23xx/pimoroni-pico-2-plus/scripts/memmap_default.ld @@ -116,9 +116,11 @@ SECTIONS . = ALIGN(4); /* init data */ PROVIDE_HIDDEN (__init_array_start = .); + _sinit = .; KEEP(*(SORT(.init_array.*))) KEEP(*(.init_array)) PROVIDE_HIDDEN (__init_array_end = .); + _einit = .; . = ALIGN(4); /* finit data */ diff --git a/boards/arm/rp23xx/pimoroni-pico-2-plus/scripts/memmap_no_flash.ld b/boards/arm/rp23xx/pimoroni-pico-2-plus/scripts/memmap_no_flash.ld index 19dedcb0307..2be7462c80e 100644 --- a/boards/arm/rp23xx/pimoroni-pico-2-plus/scripts/memmap_no_flash.ld +++ b/boards/arm/rp23xx/pimoroni-pico-2-plus/scripts/memmap_no_flash.ld @@ -162,9 +162,11 @@ SECTIONS . = ALIGN(4); /* init data */ PROVIDE_HIDDEN (__init_array_start = .); + _sinit = .; KEEP(*(SORT(.init_array.*))) KEEP(*(.init_array)) PROVIDE_HIDDEN (__init_array_end = .); + _einit = .; . = ALIGN(4); /* finit data */
