picolibc: enable read()/write() with !VFS, implement missing fs functions#14843
picolibc: enable read()/write() with !VFS, implement missing fs functions#14843benpicco merged 2 commits intoRIOT-OS:masterfrom
Conversation
e4930d5 to
2512c7f
Compare
7526304 to
21988b5
Compare
|
Uh guess it was late yesterday 😅 So no need for any offsets then. |
The read()/write() functions still work without VFS when reading/writing to stdin, stdout or stderr. Provide dummy functions for the remaining fs functions so linking does not fail with !VFS.
Those are used by `tests/pkg_fatfs_vfs`.
21988b5 to
3f35564
Compare
|
It's not compiling for: |
I'm probably missing something... |
|
What version of picolibc do you use / how did you install it? |
|
|
I allays forget to set the environment variable with |
|
I just installed the Debian package, no need for Docker 😄 |
bergzand
left a comment
There was a problem hiding this comment.
Improves the current situation and only affects PicoLIBC. ACK!
fjmolinas
left a comment
There was a problem hiding this comment.
I ran BOARD=nrf52840dk make -C tests/pkg_fatfs_vfs/ flash term -j with and without PICOLIBC, I get the same result as on master, not sure if its the expected result, but its the same as in master.
2020-09-11 17:28:56,511 # main(): This is RIOT! (Version: 2020.10-devel-954-g3f3556-pr-14843)
2020-09-11 17:28:56,771 # Tests for FatFs over VFS - test results will be printed in the format test_name:result
2020-09-11 17:28:57,025 # test_mount__mount:[FAILED]
2020-09-11 17:28:57,027 # test_mount__umount:[FAILED]
2020-09-11 17:28:57,281 # test_open__mount:[FAILED]
2020-09-11 17:28:57,283 # test_open__open:[OK]
2020-09-11 17:28:57,285 # test_open__open_ro:[FAILED]
2020-09-11 17:28:57,288 # test_open__close_ro:[FAILED]
2020-09-11 17:28:57,290 # test_open__open_wo:[FAILED]
2020-09-11 17:28:57,293 # test_open__close_wo:[FAILED]
2020-09-11 17:28:57,295 # test_open__open_rw:[FAILED]
2020-09-11 17:28:57,298 # test_open__close_rw:[FAILED]
2020-09-11 17:28:57,300 # test_open__umount:[FAILED]
2020-09-11 17:28:57,555 # test_rw__mount:[FAILED]
2020-09-11 17:28:57,556 # test_rw__open_ro:[FAILED]
2020-09-11 17:28:57,559 # test_rw__read_ro:[FAILED]
2020-09-11 17:28:57,561 # test_rw__write_ro:[OK]
2020-09-11 17:28:57,563 # test_rw__close_ro:[FAILED]
2020-09-11 17:28:57,565 # test_rw__open_wo:[FAILED]
2020-09-11 17:28:57,567 # test_rw__read_wo:[OK]
2020-09-11 17:28:57,570 # test_rw__close_wo:[FAILED]
2020-09-11 17:28:57,572 # test_rw__open_rw:[FAILED]
2020-09-11 17:28:57,574 # test_rw__read_rw:[FAILED]
2020-09-11 17:28:57,577 # test_rw__write_rw:[FAILED]
2020-09-11 17:28:57,579 # test_rw__lseek:[FAILED]
2020-09-11 17:28:57,581 # test_rw__read_rw:[FAILED]
2020-09-11 17:28:57,583 # test_rw__close_rw:[FAILED]
2020-09-11 17:28:57,586 # test_rw__open_rwc:[FAILED]
2020-09-11 17:28:57,589 # test_rw__write_rwc:[FAILED]
2020-09-11 17:28:57,591 # test_rw__lseek_rwc:[FAILED]
2020-09-11 17:28:57,594 # test_rw__read_rwc:[FAILED]
2020-09-11 17:28:57,596 # test_rw__close_rwc:[FAILED]
2020-09-11 17:28:57,598 # test_rw__umount:[FAILED]
2020-09-11 17:28:57,852 # test_dir__mount:[FAILED]
2020-09-11 17:28:57,854 # test_dir__opendir:[FAILED]
2020-09-11 17:28:57,856 # test_dir__readdir1:[FAILED]
2020-09-11 17:28:57,859 # test_dir__readdir2:[FAILED]
2020-09-11 17:28:57,862 # test_dir__readdir_name:[FAILED]
2020-09-11 17:28:57,864 # test_dir__readdir3:[FAILED]
2020-09-11 17:28:57,867 # test_dir__closedir:[FAILED]
2020-09-11 17:28:57,869 # test_dir__umount:[FAILED]
2020-09-11 17:28:58,123 # test_rename__mount:[FAILED]
2020-09-11 17:28:58,126 # test_rename__rename:[FAILED]
2020-09-11 17:28:58,128 # test_rename__opendir:[FAILED]
2020-09-11 17:28:58,131 # test_rename__readdir1:[FAILED]
2020-09-11 17:28:58,134 # test_rename__readdir2:[FAILED]
2020-09-11 17:28:58,137 # test_rename__check_name:[FAILED]
2020-09-11 17:28:58,139 # test_rename__readdir3:[FAILED]
2020-09-11 17:28:58,142 # test_rename__closedir:[FAILED]
2020-09-11 17:28:58,145 # test_rename__umount:[FAILED]
2020-09-11 17:28:58,399 # test_unlink__mount:[FAILED]
2020-09-11 17:28:58,401 # test_unlink__unlink1:[FAILED]
2020-09-11 17:28:58,405 # test_unlink__unlink2:[FAILED]
2020-09-11 17:28:58,407 # test_unlink__opendir:[FAILED]
2020-09-11 17:28:58,409 # test_unlink__readdir:[FAILED]
2020-09-11 17:28:58,412 # test_unlink__closedir:[FAILED]
2020-09-11 17:28:58,414 # test_unlink__umount:[FAILED]
2020-09-11 17:28:58,670 # test_mkrmdir__mount:[FAILED]
2020-09-11 17:28:58,672 # test_mkrmdir__mkdir:[FAILED]
2020-09-11 17:28:58,675 # test_mkrmdir__opendir1:[FAILED]
2020-09-11 17:28:58,677 # test_mkrmdir__closedir:[FAILED]
2020-09-11 17:28:58,680 # test_mkrmdir__rmdir:[FAILED]
2020-09-11 17:28:58,682 # test_mkrmdir__opendir2:[OK]
2020-09-11 17:28:58,685 # test_mkrmdir__umount:[FAILED]
2020-09-11 17:28:58,939 # test_create__mount:[FAILED]
2020-09-11 17:28:58,941 # test_create__open_wo:[FAILED]
2020-09-11 17:28:58,944 # test_create__write_wo:[FAILED]
2020-09-11 17:28:58,947 # test_create__close_wo:[FAILED]
2020-09-11 17:28:58,950 # test_create__open_wo2:[FAILED]
2020-09-11 17:28:58,953 # test_create__write_wo2:[FAILED]
2020-09-11 17:28:58,955 # test_create__close_wo2:[FAILED]
2020-09-11 17:28:58,958 # test_create__umount:[FAILED]
2020-09-11 17:28:59,212 # test_stat__mount:[FAILED]
2020-09-11 17:28:59,214 # test_stat__open:[FAILED]
2020-09-11 17:28:59,216 # test_stat__write:[FAILED]
2020-09-11 17:28:59,219 # test_stat__close:[FAILED]
2020-09-11 17:28:59,221 # test_stat__open:[FAILED]
2020-09-11 17:28:59,223 # test_stat__stat:[FAILED]
2020-09-11 17:28:59,225 # test_stat__close:[FAILED]
2020-09-11 17:28:59,228 # test_stat__size:[FAILED]
2020-09-11 17:28:59,230 # test_stat__umount:[FAILED]
2020-09-11 17:28:59,484 # test_libc__mount:[FAILED]
2020-09-11 17:28:59,486 # test_libc__fopen:[OK]
2020-09-11 17:28:59,488 # test_libc__fopen_w:[FAILED]
2020-09-11 17:28:59,491 # test_libc__fopen_r:[FAILED]
2020-09-11 17:28:59,493 # test_libc__remove:[FAILED]
2020-09-11 17:28:59,495 # test_libc__fopen_a:[FAILED]
2020-09-11 17:28:59,498 # test_libc__fopen_a2:[FAILED]
2020-09-11 17:28:59,501 # test_libc__remove:[FAILED]
2020-09-11 17:28:59,503 # test_libc__umount:[FAILED]
2020-09-11 17:28:59,504 # Test end.
2020-09-11 17:29:07,393 # Exiting Pyterm
|
Well the test uses |
Contribution description
Picolibc does not implement
read()/write()on it's own. We already have them implemented for the VFS adaption, butthe
read()/write()functions still work without VFS when reading/writing to stdin, stdout or stderr.This also provide the remaining functions necessary to build
tests/pkg_fatfs_vfswith PICOLIBC.Testing procedure
works and the output of
ping6looks normal.should now also work.
Issues/PRs references
alternative to #14841