-
-
Notifications
You must be signed in to change notification settings - Fork 40
loader: export symbols for Arduino_JSON library #266
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
base: main
Are you sure you want to change the base?
Conversation
|
Hi @hajimef , thanks for the contribution! I'd move |
facchinm
left a comment
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
As per comment, plus need to fix the commit message before merging
hajimef
left a comment
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Thank you for comment.
I moved the line as you suggested.
I then tried the Adafruit NeoPixel library and found that I also needed to add strtol, so I added that line as well.
5630ffb to
dbb4842
Compare
dbb4842 to
a93b329
Compare
platform.txt
Outdated
| 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" |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Those added libraries are not used in the final link stage, so this change masks actual build errors AFAICS. What am I missing?
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
I built it with the 0.51.0 tag.
And the target was arduino_uno_q.
This may be the cause.
Minor fixes for Arduino_JSON library compatibility: - '__assert_no_args' and 'exit' are actually libc symbols, so the guards prevented their export in certain situations. - _exit, stdin, stdout, stderr symbols are also exported to cover the dynamic link case. - an 'undefined reference to _ctype_' error occurred because the libc is compiled with -Os, while the sketches are NOT - this creates an issue because the size optimization auto-selects a different version of ctype functions in picolibc. -D_PICOLIBC_CTYPE_SMALL=1 forces the small version to be used. Signed-off-by: Luca Burelli <l.burelli@arduino.cc>
f21b6b0 to
7037c1d
Compare
When running the Arduino_JSON library (https://github.com/arduino-libraries/Arduino_JSON), I encountered the error "llext: Undefined symbol with no entry in symbol table."
So I added the necessary symbols.