Mailing List Archive

[PATCH v3 00/12] nolibc: add generic part1 of prepare for rv32
Hi, Willy

This is the v3 generic part1 for rv32, all of the found issues of v2
part1 [1] have been fixed up, several generic patches have been fixed up
and merged from v2 part2 [2] to this series, the standalone test_fork
patch [4] is merged with a Reviewed-by line into this series too.

This series is based on 20230528-nolibc-rv32+stkp5 branch of [5].

Changes from v2 -> v3:

* selftests/nolibc: fix up compile warning with glibc on x86_64

Use simpler 'long long' conversion instead of old #ifdef ...
(Suggestion from Willy)

* tools/nolibc: add missing nanoseconds support for __NR_statx

Split the compound assignment into two single assignments
(Suggestion from Thomas)

* selftests/nolibc: add new gettimeofday test cases

Removed the gettimeofday(NULL, &tz)
(Suggestion from Thomas)

All of the commit messages have been re-checked, some missing
Suggested-by lines are added.

The whole patchset have been tested on arm, aarch64, rv32 and rv64, no
regressions (the next compile patchset is required to do rv32 test).

The nolibc-test has been tested with glibc on x86_64 too.

Btw, we have found such poll failures on arm (not introduced by this
patchset), this will be fixed in our coming ppoll_time64 patchset:

48 poll_null = -1 ENOSYS [FAIL]
49 poll_stdout = -1 ENOSYS [FAIL]
50 poll_fault = -1 ENOSYS != (-1 EFAULT) [FAIL]

And the gettimeofday_null removal patch from Thomas [3] may conflicts
with the gettimeofday removal and addition patches, but it is not hard
to fix.

Best regards,
Zhangjin
---

[1]: https://lore.kernel.org/linux-riscv/cover.1685362482.git.falcon@tinylab.org/T/#t
[2]: https://lore.kernel.org/linux-riscv/cover.1685387484.git.falcon@tinylab.org/T/#t
[3]: https://lore.kernel.org/lkml/20230530-nolibc-gettimeofday-v1-1-7307441a002b@weissschuh.net/
[4]: https://lore.kernel.org/lkml/61bdfe7bacebdef8aa9195f6f2550a5b0d33aab3.1685426545.git.falcon@tinylab.org/
[5]: https://git.kernel.org/pub/scm/linux/kernel/git/wtarreau/nolibc.git

Zhangjin Wu (12):
selftests/nolibc: syscall_args: use generic __NR_statx
tools/nolibc: add missing nanoseconds support for __NR_statx
selftests/nolibc: allow specify extra arguments for qemu
selftests/nolibc: fix up compile warning with glibc on x86_64
selftests/nolibc: not include limits.h for nolibc
selftests/nolibc: use INT_MAX instead of __INT_MAX__
tools/nolibc: arm: add missing my_syscall6
tools/nolibc: open: fix up compile warning for arm
selftests/nolibc: support two errnos with EXPECT_SYSER2()
selftests/nolibc: remove gettimeofday_bad1/2 completely
selftests/nolibc: add new gettimeofday test cases
selftests/nolibc: test_fork: fix up duplicated print

tools/include/nolibc/arch-arm.h | 23 +++++++++++
tools/include/nolibc/stdint.h | 14 +++++++
tools/include/nolibc/sys.h | 39 +++++++++---------
tools/testing/selftests/nolibc/Makefile | 2 +-
tools/testing/selftests/nolibc/nolibc-test.c | 42 ++++++++++++--------
5 files changed, 85 insertions(+), 35 deletions(-)

--
2.25.1
Re: [PATCH v3 00/12] nolibc: add generic part1 of prepare for rv32 [ In reply to ]
On 2023-06-03 15:59:29+0800, Zhangjin Wu wrote:
> Hi, Willy
>
> This is the v3 generic part1 for rv32, all of the found issues of v2
> part1 [1] have been fixed up, several generic patches have been fixed up
> and merged from v2 part2 [2] to this series, the standalone test_fork
> patch [4] is merged with a Reviewed-by line into this series too.
>
> This series is based on 20230528-nolibc-rv32+stkp5 branch of [5].
>
> Changes from v2 -> v3:
>
> * selftests/nolibc: fix up compile warning with glibc on x86_64
>
> Use simpler 'long long' conversion instead of old #ifdef ...
> (Suggestion from Willy)
>
> * tools/nolibc: add missing nanoseconds support for __NR_statx
>
> Split the compound assignment into two single assignments
> (Suggestion from Thomas)
>
> * selftests/nolibc: add new gettimeofday test cases
>
> Removed the gettimeofday(NULL, &tz)
> (Suggestion from Thomas)
>
> All of the commit messages have been re-checked, some missing
> Suggested-by lines are added.
>
> The whole patchset have been tested on arm, aarch64, rv32 and rv64, no
> regressions (the next compile patchset is required to do rv32 test).
>
> The nolibc-test has been tested with glibc on x86_64 too.
>
> Btw, we have found such poll failures on arm (not introduced by this
> patchset), this will be fixed in our coming ppoll_time64 patchset:
>
> 48 poll_null = -1 ENOSYS [FAIL]
> 49 poll_stdout = -1 ENOSYS [FAIL]
> 50 poll_fault = -1 ENOSYS != (-1 EFAULT) [FAIL]
>
> And the gettimeofday_null removal patch from Thomas [3] may conflicts
> with the gettimeofday removal and addition patches, but it is not hard
> to fix.
>
> Best regards,
> Zhangjin
> ---
>
> [1]: https://lore.kernel.org/linux-riscv/cover.1685362482.git.falcon@tinylab.org/T/#t
> [2]: https://lore.kernel.org/linux-riscv/cover.1685387484.git.falcon@tinylab.org/T/#t
> [3]: https://lore.kernel.org/lkml/20230530-nolibc-gettimeofday-v1-1-7307441a002b@weissschuh.net/
> [4]: https://lore.kernel.org/lkml/61bdfe7bacebdef8aa9195f6f2550a5b0d33aab3.1685426545.git.falcon@tinylab.org/
> [5]: https://git.kernel.org/pub/scm/linux/kernel/git/wtarreau/nolibc.git
>
> Zhangjin Wu (12):
> selftests/nolibc: syscall_args: use generic __NR_statx
> tools/nolibc: add missing nanoseconds support for __NR_statx
> selftests/nolibc: allow specify extra arguments for qemu
> selftests/nolibc: fix up compile warning with glibc on x86_64
> selftests/nolibc: not include limits.h for nolibc
> selftests/nolibc: use INT_MAX instead of __INT_MAX__
> tools/nolibc: arm: add missing my_syscall6
> tools/nolibc: open: fix up compile warning for arm
> selftests/nolibc: support two errnos with EXPECT_SYSER2()
> selftests/nolibc: remove gettimeofday_bad1/2 completely
> selftests/nolibc: add new gettimeofday test cases
> selftests/nolibc: test_fork: fix up duplicated print
>
> tools/include/nolibc/arch-arm.h | 23 +++++++++++
> tools/include/nolibc/stdint.h | 14 +++++++
> tools/include/nolibc/sys.h | 39 +++++++++---------
> tools/testing/selftests/nolibc/Makefile | 2 +-
> tools/testing/selftests/nolibc/nolibc-test.c | 42 ++++++++++++--------
> 5 files changed, 85 insertions(+), 35 deletions(-)

For the full series:

Reviewed-by: Thomas Weißschuh <linux@weissschuh.net>

> --
> 2.25.1
>
Re: [PATCH v3 00/12] nolibc: add generic part1 of prepare for rv32 [ In reply to ]
On Sun, Jun 04, 2023 at 08:49:52AM +0200, Thomas Wei?schuh wrote:
> On 2023-06-03 15:59:29+0800, Zhangjin Wu wrote:
> > Hi, Willy
> >
> > This is the v3 generic part1 for rv32, all of the found issues of v2
> > part1 [1] have been fixed up, several generic patches have been fixed up
> > and merged from v2 part2 [2] to this series, the standalone test_fork
> > patch [4] is merged with a Reviewed-by line into this series too.
> >
> > This series is based on 20230528-nolibc-rv32+stkp5 branch of [5].
> >
> > Changes from v2 -> v3:
> >
> > * selftests/nolibc: fix up compile warning with glibc on x86_64
> >
> > Use simpler 'long long' conversion instead of old #ifdef ...
> > (Suggestion from Willy)
> >
> > * tools/nolibc: add missing nanoseconds support for __NR_statx
> >
> > Split the compound assignment into two single assignments
> > (Suggestion from Thomas)
> >
> > * selftests/nolibc: add new gettimeofday test cases
> >
> > Removed the gettimeofday(NULL, &tz)
> > (Suggestion from Thomas)
> >
> > All of the commit messages have been re-checked, some missing
> > Suggested-by lines are added.
> >
> > The whole patchset have been tested on arm, aarch64, rv32 and rv64, no
> > regressions (the next compile patchset is required to do rv32 test).
> >
> > The nolibc-test has been tested with glibc on x86_64 too.
> >
> > Btw, we have found such poll failures on arm (not introduced by this
> > patchset), this will be fixed in our coming ppoll_time64 patchset:
> >
> > 48 poll_null = -1 ENOSYS [FAIL]
> > 49 poll_stdout = -1 ENOSYS [FAIL]
> > 50 poll_fault = -1 ENOSYS != (-1 EFAULT) [FAIL]
> >
> > And the gettimeofday_null removal patch from Thomas [3] may conflicts
> > with the gettimeofday removal and addition patches, but it is not hard
> > to fix.
> >
> > Best regards,
> > Zhangjin
> > ---
> >
> > [1]: https://lore.kernel.org/linux-riscv/cover.1685362482.git.falcon@tinylab.org/T/#t
> > [2]: https://lore.kernel.org/linux-riscv/cover.1685387484.git.falcon@tinylab.org/T/#t
> > [3]: https://lore.kernel.org/lkml/20230530-nolibc-gettimeofday-v1-1-7307441a002b@weissschuh.net/
> > [4]: https://lore.kernel.org/lkml/61bdfe7bacebdef8aa9195f6f2550a5b0d33aab3.1685426545.git.falcon@tinylab.org/
> > [5]: https://git.kernel.org/pub/scm/linux/kernel/git/wtarreau/nolibc.git
> >
> > Zhangjin Wu (12):
> > selftests/nolibc: syscall_args: use generic __NR_statx
> > tools/nolibc: add missing nanoseconds support for __NR_statx
> > selftests/nolibc: allow specify extra arguments for qemu
> > selftests/nolibc: fix up compile warning with glibc on x86_64
> > selftests/nolibc: not include limits.h for nolibc
> > selftests/nolibc: use INT_MAX instead of __INT_MAX__
> > tools/nolibc: arm: add missing my_syscall6
> > tools/nolibc: open: fix up compile warning for arm
> > selftests/nolibc: support two errnos with EXPECT_SYSER2()
> > selftests/nolibc: remove gettimeofday_bad1/2 completely
> > selftests/nolibc: add new gettimeofday test cases
> > selftests/nolibc: test_fork: fix up duplicated print
> >
> > tools/include/nolibc/arch-arm.h | 23 +++++++++++
> > tools/include/nolibc/stdint.h | 14 +++++++
> > tools/include/nolibc/sys.h | 39 +++++++++---------
> > tools/testing/selftests/nolibc/Makefile | 2 +-
> > tools/testing/selftests/nolibc/nolibc-test.c | 42 ++++++++++++--------
> > 5 files changed, 85 insertions(+), 35 deletions(-)
>
> For the full series:
>
> Reviewed-by: Thomas Wei?schuh <linux@weissschuh.net>

I forgot to say, all the series is now queued, and I squashed the
__NR_statx fix into Thomas' patch.

Willy