sys/Makefile.include: check for newlib_nano instead of USE_NANO_SPECS #11883
sys/Makefile.include: check for newlib_nano instead of USE_NANO_SPECS #11883maribu merged 2 commits intoRIOT-OS:masterfrom
Conversation
Check for the usage of `newlib_nano` module instead of the `USE_NANO_SPECS` variable. This allows also benefiting from the `printf_float` and `scanf_float` behaviour on `arm7` and `riscv` cpus.
It was replaced by using directly the `newlib_nano` module.
|
@maribu if you want to take a look. For the @kenrabold can you try on the |
|
@cladmi: Thanks for adressing this. Should I update the other PR to do move the build system setup from boards to cpu/arm7_common (and remove the superseeded stdio with float support fix)? Or do you want to have a look at that yourself? (As said, I only have basic understanding of the build system and would be happy someone with more insight would refactor this.) |
|
It looks like some tests using and also However it makes
|
You can do it if you want, moving to If you prefer I can take care of it inspired by your PR.
No worry. There are many things that are not made as documented, with side-effects, limitation, and different way in each architecture/cpu/board. How should anybody understand without spending a lot of time in it. I am working to removing these things but it takes time, extensive testing procedure. |
|
I have a weird thing. I manage to make
|
|
The |
|
The issue from Nothing in the documentation says if it is supposed to work in interrupt or not. How an interrupt is supposed to trigger a normal This should be moved to a separated issue though and does not block this PR. |
|
I confirmed that on HiFive1 and HiFive1B boards with the PR and they all passed: tests/unittests tests-scanf_float with master, the above unit tests all failed. |
|
OK, here is what I did for testing
I can confirm that |
|
@kenrabold: Thanks for testing! |
|
I opened an issue for the failing |
|
Thank you for the review. |
|
You're very welcome :-) Thanks for the fix! |
|
@MrKevinWeiss If you want, I can backport this one as it fixed the The impact is limited to only these two architectures and when |
|
For the Edit: Before causing confusion: I did't want to suggest to magically split of the |
|
@maribu it is listed on the http://riot-os.org/ website under supported architectures. The number of supported architectures and boards is often advertised. I am running the test suite on it regularly and for the release too https://ci-ilab.imp.fu-berlin.de/job/build-results/27/artifact/msba2/failuresummary.md/*view*/ It is the output of the |
|
Backport provided in #11890 |
Contribution description
Check for the usage of
newlib_nanomodule instead of theUSE_NANO_SPECSvariable.This allows also benefiting from the
printf_floatandscanf_floatbehaviour on
arm7andriscvcpus.Testing procedure
Verify it is actually handled correctly on
arm7andriscvboards.Run the
tests/unittests tests-scanf_floatonarm7andriscvboards.Run other relevant tests:
Issues/PRs references
General fix for #11882
USE_NANO_SPECSwas added in #5094Not sure why it was not set with
newlib_nanoat the end.