From a93b32999e6ed0657cc9d471e1537c921b11ce63 Mon Sep 17 00:00:00 2001 From: Hajime Fujimoto Date: Sat, 15 Nov 2025 17:07:44 +0900 Subject: [PATCH 1/2] loader: add symbols for Arduino_JSON library --- loader/llext_exports.c | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/loader/llext_exports.c b/loader/llext_exports.c index c9bbc142..af7c6f4f 100644 --- a/loader/llext_exports.c +++ b/loader/llext_exports.c @@ -17,6 +17,8 @@ EXPORT_SYMBOL(strstr); EXPORT_SYMBOL(strncmp); EXPORT_SYMBOL(strncpy); EXPORT_SYMBOL(strcasecmp); +EXPORT_SYMBOL(strtod); +EXPORT_SYMBOL(strtol); EXPORT_SYMBOL(strtoul); EXPORT_SYMBOL(strcmp); EXPORT_SYMBOL(strlen); @@ -232,6 +234,7 @@ EXPORT_SYMBOL(sprintf); EXPORT_SYMBOL(snprintf); EXPORT_SYMBOL(cbvprintf); FORCE_EXPORT_SYM(abort); +EXPORT_SYMBOL(sscanf); #if defined(CONFIG_RING_BUFFER) EXPORT_SYMBOL(ring_buf_get); @@ -274,6 +277,7 @@ FORCE_EXPORT_SYM(__aeabi_dcmpge); #if defined (CONFIG_CPP) FORCE_EXPORT_SYM(__cxa_pure_virtual); +FORCE_EXPORT_SYM(__assert_no_args); #endif #if defined(CONFIG_BOARD_ARDUINO_UNO_Q) From f21b6b0dbc759503cfac47a38b25ca82dd6808cb Mon Sep 17 00:00:00 2001 From: Martino Facchin Date: Tue, 18 Nov 2025 15:30:51 +0100 Subject: [PATCH 2/2] linker: remove false positive compilation error libc shouldn't be linked in dynamic build, while it's needed when the validation step is executed. Validated against the previous patch, nigthly arduino-cli and ~/Arduino/libraries/Arduino_JSON/examples/JSONArray/ example --- platform.txt | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/platform.txt b/platform.txt index 888ee402..6c3f0b7e 100644 --- a/platform.txt +++ b/platform.txt @@ -56,7 +56,7 @@ upload.extension=elf-zsk.bin build.ldscript.path={runtime.platform.path}/variants/_ldscripts build.link_command="{compiler.path}{compiler.c.elf.cmd}" "-L{build.path}" "-L{build.variant.path}" {compiler.c.elf.flags} {compiler.c.elf.extra_flags} {build.extra_flags} {build.extra_ldflags} {compiler.zephyr.common_ldflags} --specs=picolibc.specs --specs=nosys.specs {compiler.ldflags} {object_files} -Wl,--start-group "{build.path}/{archive_file}" {compiler.zephyr.extra_ldflags} {compiler.libraries.ldflags} -Wl,--end-group {build.link_args.{build.link_mode}} -build.check_command-dynamic={build.link_command} {build.link_args.check-dynamic} -o "{build.path}/{build.project_name}_check.tmp" +build.check_command-dynamic={build.link_command} -lc -lm -lgcc {build.link_args.check-dynamic} -o "{build.path}/{build.project_name}_check.tmp" build.check_command-static=/bin/true build.check_command-static.windows=cmd /C cd . build.combine_command={build.link_command} {build.link_args.build-{build.link_mode}} {build.link_args.build-common}