tools/ci.sh: Enable a few more natmod tests on rv32imc and xtensa.#17379
tools/ci.sh: Enable a few more natmod tests on rv32imc and xtensa.#17379dpgeorge wants to merge 1 commit into
Conversation
|
Code size report: |
Codecov ReportAll modified and coverable lines are covered by tests ✅
Additional details and impacted files@@ Coverage Diff @@
## master #17379 +/- ##
=======================================
Coverage 98.54% 98.54%
=======================================
Files 169 169
Lines 21898 21898
=======================================
Hits 21579 21579
Misses 319 319 ☔ View full report in Codecov by Sentry. 🚀 New features to boost your workflow:
|
5bf9a4d to
0866dda
Compare
|
@dpgeorge The errno fix may not be specific to RV32 but rather to Ubuntu's 24.04 packaged picolibc libraries. Chances are it is also needed on Arm using the same distro's picolibc package (and on Xtensa if you want to use the LX106 picolibc package too). |
8d0d5af to
8f715fc
Compare
The `btree`, `deflat`, `framebuf` and `random` natmod examples can now build for xtensa if they are linked with the standard C library. Signed-off-by: Damien George <[email protected]>
07c9804 to
780621b
Compare
@agatti thanks for the hint, but I gave up on getting things working with RV32. I don't think it's possible with the picolibc used by the CI (although on my local machine with But I did get everything building for xtensa, just by linking with the libc runtime. Take a look now and see what you think. |
|
The Xtensa changes sort of clash with #17091, as in they bring in symbols from libc/libgcc/libm that with #17091 would be picked up from ROM whenever possible. Maybe for ESP32-series MCUs it's less of an issue (even though pretty much every chip has parts of stdio/libc in ROM, see That doesn't fully invalidate said PR, but defaulting to libc/libgcc/libm symbols doesn't exercise the PR changes in an automated fashion (I'll have to remove the makefile changes and symbol list fragments from natmods as they aren't useful anymore). For RV32, I actually got the Ubuntu version wrong - I meant 22.04, but I see the workflow is running on 24.04 now and still has the same issue. Maybe it'd be easier to patch the berkeleydb submodule to add a picolibc+tls compatible definition of errno instead? |
Oh, yes, it does indeed. Sorry I kind of forgot about #17091 in this context 😅 I can see the changes in this PR are almost exactly a sub-set of #17091 (the only difference is So I'll close this PR then, and we can continue the xtensa discussion over in #17091.
Oh, if we could patch berkeleydb to improve the way it uses errno, that would be great! Do you want to have a look at doing that? |
Summary
The
btreenatmod example can now build for rv32imc, andrandomcan build for xtensa if it's linked with the standard C library.Testing
Tested by CI.