cpu/esp32: use module newlib_nano#13812
Conversation
|
@kaspar030 The merge of this PR has to be synchronized with the update of the workers with the new toolchain version |
|
@gschorcht Why do you think only some workers were updated? Let's run some more Murdock jobs and see if it stays consistent. (Feel free to kick them any time) |
nvm, I see…
|
No, the compilation of PR #13749 failed in an earlier run but did not fail in the last run. Furthermore, according to PR #13734: tests: add test to test RDNSS option handling According to the logs, all tests failed on |
|
@gschorcht I enabled a coupld of more workers in mobi9. This usually pulls in the latest riotdocker image. Do you think the problem is with the latest image? |
Ah, I see. The docker image seems to have already the new version of the toolchain with the What are the options? If we don't merge, compilation of We could blacklist ESP32 boards for this test until all Murdock nodes are updated. |
|
@gschorcht then let's get this in as soon as possible. I updated all the mobis to use the latest riotdocker image. I also triggered an update to haw-icc. It takes a bit time until all pods in that cluster react to the command, though. I guess @kaspar030 is then updating the image on breeze and @aabadie on riotbuild? |
|
Looks like Murdock is happy now. |
I think that's luck. I am not sure whether breeze and riotbuild have yet been updated. haw-icc still take a lot of time to update all the docker images. |
ESP32 boards must be blacklisted for `tests/libc_newlib` to avoid CI compilation errors until the toolchain is updated on all nodes.
0092f4f to
ec2fed4
Compare
Good question. I guess if there's megabytes of flash, it would be less surprising to have actually working long long prints in stdio. I'm a bit worried about portability issues. One of the biggest selling points of RIOT is that applications written for one MCU can be ported easily to another, usually be just re-compiling. That promise is broken if the application is using |
Ah ok, I see, it makes sense. I have encountered this problem with |
How many are there? :) |
But the DEBUG outputs are per-file. Is it easy to turn on full stdio (when debugging esp32)? |
There is only one file |
How could it be controlled to use |
If the toolchain supports both (like ARM), nano is selected by the "newlib-nano" module. Without that, the full newlib is used. "newlib-nano" should be a default module, then it can be disabled case-by-case. |
It should be possible to use the ARM approach. The newlib could be compiled once with |
Hm, maybe this is overkill. I'm happy with this PR for now. Should we just fix the |
|
@benpicco Thanks for merging the PR. Obviously, you had simply luck with Murdock 😉 It seems that there are workers that are still not updated. The compilation of your PR #13965 failed in |
|
Gnarly, I would have thought after a month the update would have trickled down to all the workers 😕 |
ping @kaspar030 |
|
breeze should be updated now. |
|
I still get the occasional |
Contribution description
This PR fixes the compilation and execution problem of
tests/libc_newlibfor ESP32. The new toolchain version uses thenewlibc-nano. Modulenewlib_nanohas to be used therefore.Testing procedure
Compilation and execution of
tests/libc_newlibshould work with any ESP32 board, for exampleIssues/PRs references
Depends on #13814