[PATCH v2 00/13] nolibc: add part2 of support for rv32

Zhangjin Wu falcon at tinylab.org
Mon May 29 12:45:23 PDT 2023


Hi, all

Thanks very much for your review suggestions of the v1 series [1], we
just sent out the generic part1 [2], and here is the part2 of the whole
v2 revision.

Changes from v1 -> v2:

* Don't emulate the return values in the new syscalls path, fix up or
  support the new syscalls in the side of the related test cases (1-3)

  selftests/nolibc: remove gettimeofday_bad1/2 completely
  selftests/nolibc: support two errnos with EXPECT_SYSER2()
  selftests/nolibc: waitpid_min: add waitid syscall support

  (Review suggestions from Willy and Thomas)

* Fix up new failure of the state_timestamps test case (4, new)

  tools/nolibc: add missing nanoseconds support for __NR_statx

  (Fixes for the commit a89c937d781a ("tools/nolibc: support nanoseconds in stat()")

* Add new waitstatus macros as a standalone patch for the waitid support (5)

  tools/nolibc: add more wait status related types

  (Split and Cleanup for the waitid syscall based sys_wait4)

* Pure 64bit lseek and time64 select/poll/gettimeofday support (6-11)

  tools/nolibc: add pure 64bit off_t, time_t and blkcnt_t
  tools/nolibc: sys_lseek: add pure 64bit lseek
  tools/nolibc: add pure 64bit time structs
  tools/nolibc: sys_select: add pure 64bit select
  tools/nolibc: sys_poll: add pure 64bit poll
  tools/nolibc: sys_gettimeofday: add pure 64bit gettimeofday

  (Review suggestions from Arnd, Thomas and Willy, time32 variants have
   been removed completely and some fixups)

* waitid syscall support cleanup (12)

  tools/nolibc: sys_wait4: add waitid syscall support

  (Sync with the waitstatus macros update and Removal of emulated code)

* rv32 nolibc-test support, commit message update (13)

  selftests/nolibc: riscv: customize makefile for rv32

  (Review suggestions from Thomas, explain more about the change logic in commit message)

Best regards,
Zhangjin
---

[1]: https://lore.kernel.org/linux-riscv/20230529113143.GB2762@1wt.eu/T/#t
[2]: https://lore.kernel.org/linux-riscv/cover.1685362482.git.falcon@tinylab.org/

Zhangjin Wu (13):
  selftests/nolibc: remove gettimeofday_bad1/2 completely
  selftests/nolibc: support two errnos with EXPECT_SYSER2()
  selftests/nolibc: waitpid_min: add waitid syscall support
  tools/nolibc: add missing nanoseconds support for __NR_statx
  tools/nolibc: add more wait status related types
  tools/nolibc: add pure 64bit off_t, time_t and blkcnt_t
  tools/nolibc: sys_lseek: add pure 64bit lseek
  tools/nolibc: add pure 64bit time structs
  tools/nolibc: sys_select: add pure 64bit select
  tools/nolibc: sys_poll: add pure 64bit poll
  tools/nolibc: sys_gettimeofday: add pure 64bit gettimeofday
  tools/nolibc: sys_wait4: add waitid syscall support
  selftests/nolibc: riscv: customize makefile for rv32

 tools/include/nolibc/arch-aarch64.h          |   3 -
 tools/include/nolibc/arch-loongarch.h        |   3 -
 tools/include/nolibc/arch-riscv.h            |   3 -
 tools/include/nolibc/std.h                   |  28 ++--
 tools/include/nolibc/sys.h                   | 134 +++++++++++++++----
 tools/include/nolibc/types.h                 |  58 +++++++-
 tools/testing/selftests/nolibc/Makefile      |  11 +-
 tools/testing/selftests/nolibc/nolibc-test.c |  20 +--
 8 files changed, 202 insertions(+), 58 deletions(-)

-- 
2.25.1




More information about the linux-riscv mailing list