2023-12-08 17:11:03

by Thomas Weißschuh

[permalink] [raw]
Subject: nolibc changes for 6.8

Hi Paul,

The following changes since commit b85ea95d086471afb4ad062012a4d73cd328fa86:

Linux 6.7-rc1 (2023-11-12 16:19:07 -0800)

are available in the Git repository at:

https://git.kernel.org/pub/scm/linux/kernel/git/nolibc/linux-nolibc.git/ next

for you to fetch changes up to b99c3b15310e7c7cd5f2d843289fe115ab3f8043:

selftests/nolibc: disable coredump via setrlimit (2023-11-26 11:39:52 +0100)

----------------------------------------------------------------
Summary:

* Support for PIC mode on MIPS.
* Support for getrlimit()/setrlimit().
* Replace some custom declarations with UAPI includes.
* A new script "run-tests.sh" to run the testsuite over different architectures
and configurations.
* A few non-functional code cleanups.
* Minor improvements to nolibc-test, primarily to support the test script.

There are no urgent fixes available at this time.

----------------------------------------------------------------
Mark Brown (1):
tools/nolibc: Use linux/wait.h rather than duplicating it

Thomas Weißschuh (21):
selftests/nolibc: don't hang on config input
selftests/nolibc: use EFI -bios for LoongArch qemu
selftests/nolibc: anchor paths in $(srcdir) if possible
selftests/nolibc: support out-of-tree builds
selftests/nolibc: add script to run testsuite
tools/nolibc: error out on unsupported architecture
tools/nolibc: move MIPS ABI validation into arch-mips.h
selftests/nolibc: use XARCH for MIPS
selftests/nolibc: explicitly specify ABI for MIPS
selftests/nolibc: extraconfig support
selftests/nolibc: add configuration for mipso32be
selftests/nolibc: fix testcase status alignment
selftests/nolibc: introduce QEMU_ARCH_USER
selftests/nolibc: run-tests.sh: enable testing via qemu-user
tools/nolibc: mips: add support for PIC
selftests/nolibc: make result alignment more robust
tools/nolibc: annotate va_list printf formats
tools/nolibc: drop duplicated testcase ioctl_tiocinq
tools/nolibc: drop custom definition of struct rusage
tools/nolibc: add support for getrlimit/setrlimit
selftests/nolibc: disable coredump via setrlimit

tools/include/nolibc/arch-mips.h | 11 +-
tools/include/nolibc/arch.h | 4 +-
tools/include/nolibc/stdio.h | 4 +-
tools/include/nolibc/sys.h | 38 ++++++
tools/include/nolibc/types.h | 25 +---
tools/testing/selftests/nolibc/.gitignore | 1 +
tools/testing/selftests/nolibc/Makefile | 65 ++++++++---
tools/testing/selftests/nolibc/nolibc-test.c | 51 ++++++--
tools/testing/selftests/nolibc/run-tests.sh | 169 +++++++++++++++++++++++++++
9 files changed, 318 insertions(+), 50 deletions(-)
create mode 100755 tools/testing/selftests/nolibc/run-tests.sh


Thanks,
Thomas


2023-12-09 00:02:40

by Paul E. McKenney

[permalink] [raw]
Subject: Re: nolibc changes for 6.8

On Fri, Dec 08, 2023 at 06:09:59PM +0100, Thomas Wei?schuh wrote:
> Hi Paul,
>
> The following changes since commit b85ea95d086471afb4ad062012a4d73cd328fa86:
>
> Linux 6.7-rc1 (2023-11-12 16:19:07 -0800)
>
> are available in the Git repository at:
>
> https://git.kernel.org/pub/scm/linux/kernel/git/nolibc/linux-nolibc.git/ next
>
> for you to fetch changes up to b99c3b15310e7c7cd5f2d843289fe115ab3f8043:
>
> selftests/nolibc: disable coredump via setrlimit (2023-11-26 11:39:52 +0100)

Thank you!

I pulled this in and got the following:

make run:
162 test(s): 162 passed, 0 skipped, 0 failed => status: success

make run-user:
162 test(s): 160 passed, 2 skipped, 0 failed => status: warning

This looks like complete success to me, but please let me know if this
is not expected behavior on an x86-64 laptop.

Thanx, Paul

> ----------------------------------------------------------------
> Summary:
>
> * Support for PIC mode on MIPS.
> * Support for getrlimit()/setrlimit().
> * Replace some custom declarations with UAPI includes.
> * A new script "run-tests.sh" to run the testsuite over different architectures
> and configurations.
> * A few non-functional code cleanups.
> * Minor improvements to nolibc-test, primarily to support the test script.
>
> There are no urgent fixes available at this time.
>
> ----------------------------------------------------------------
> Mark Brown (1):
> tools/nolibc: Use linux/wait.h rather than duplicating it
>
> Thomas Wei?schuh (21):
> selftests/nolibc: don't hang on config input
> selftests/nolibc: use EFI -bios for LoongArch qemu
> selftests/nolibc: anchor paths in $(srcdir) if possible
> selftests/nolibc: support out-of-tree builds
> selftests/nolibc: add script to run testsuite
> tools/nolibc: error out on unsupported architecture
> tools/nolibc: move MIPS ABI validation into arch-mips.h
> selftests/nolibc: use XARCH for MIPS
> selftests/nolibc: explicitly specify ABI for MIPS
> selftests/nolibc: extraconfig support
> selftests/nolibc: add configuration for mipso32be
> selftests/nolibc: fix testcase status alignment
> selftests/nolibc: introduce QEMU_ARCH_USER
> selftests/nolibc: run-tests.sh: enable testing via qemu-user
> tools/nolibc: mips: add support for PIC
> selftests/nolibc: make result alignment more robust
> tools/nolibc: annotate va_list printf formats
> tools/nolibc: drop duplicated testcase ioctl_tiocinq
> tools/nolibc: drop custom definition of struct rusage
> tools/nolibc: add support for getrlimit/setrlimit
> selftests/nolibc: disable coredump via setrlimit
>
> tools/include/nolibc/arch-mips.h | 11 +-
> tools/include/nolibc/arch.h | 4 +-
> tools/include/nolibc/stdio.h | 4 +-
> tools/include/nolibc/sys.h | 38 ++++++
> tools/include/nolibc/types.h | 25 +---
> tools/testing/selftests/nolibc/.gitignore | 1 +
> tools/testing/selftests/nolibc/Makefile | 65 ++++++++---
> tools/testing/selftests/nolibc/nolibc-test.c | 51 ++++++--
> tools/testing/selftests/nolibc/run-tests.sh | 169 +++++++++++++++++++++++++++
> 9 files changed, 318 insertions(+), 50 deletions(-)
> create mode 100755 tools/testing/selftests/nolibc/run-tests.sh
>
>
> Thanks,
> Thomas

2023-12-09 08:27:54

by Thomas Weißschuh

[permalink] [raw]
Subject: Re: nolibc changes for 6.8

On 2023-12-08 16:02:27-0800, Paul E. McKenney wrote:
> On Fri, Dec 08, 2023 at 06:09:59PM +0100, Thomas Weißschuh wrote:
> > Hi Paul,
> >
> > The following changes since commit b85ea95d086471afb4ad062012a4d73cd328fa86:
> >
> > Linux 6.7-rc1 (2023-11-12 16:19:07 -0800)
> >
> > are available in the Git repository at:
> >
> > https://git.kernel.org/pub/scm/linux/kernel/git/nolibc/linux-nolibc.git/ next
> >
> > for you to fetch changes up to b99c3b15310e7c7cd5f2d843289fe115ab3f8043:
> >
> > selftests/nolibc: disable coredump via setrlimit (2023-11-26 11:39:52 +0100)
>
> Thank you!
>
> I pulled this in and got the following:
>
> make run:
> 162 test(s): 162 passed, 0 skipped, 0 failed => status: success
>
> make run-user:
> 162 test(s): 160 passed, 2 skipped, 0 failed => status: warning
>
> This looks like complete success to me, but please let me know if this
> is not expected behavior on an x86-64 laptop.

This looks good.

FYI you could also use the new run-tests.sh script.
Prerequisites:
* qemu-user and qemu-system binaries for all supported architectures
* /usr/share/edk2/loongarch64/OVMF_CODE.fd for the loongarch system
tests
* Pass "-p" the first time to download the toolchains.

$ ./run-tests.sh -m system
i386: 162 test(s): 162 passed, 0 skipped, 0 failed => status: success
x86_64: 162 test(s): 162 passed, 0 skipped, 0 failed => status: success
arm64: 162 test(s): 162 passed, 0 skipped, 0 failed => status: success
arm: 162 test(s): 162 passed, 0 skipped, 0 failed => status: success
mips32le: 162 test(s): 161 passed, 1 skipped, 0 failed => status: warning
mips32be: 162 test(s): 161 passed, 1 skipped, 0 failed => status: warning
ppc: 162 test(s): 162 passed, 0 skipped, 0 failed => status: success
ppc64: 162 test(s): 162 passed, 0 skipped, 0 failed => status: success
ppc64le: 162 test(s): 162 passed, 0 skipped, 0 failed => status: success
riscv: 162 test(s): 162 passed, 0 skipped, 0 failed => status: success
s390: 162 test(s): 161 passed, 1 skipped, 0 failed => status: warning
loongarch: 162 test(s): 161 passed, 1 skipped, 0 failed => status: warning

$ ./run-tests.sh -m user
i386: 162 test(s): 160 passed, 2 skipped, 0 failed => status: warning
x86_64: 162 test(s): 160 passed, 2 skipped, 0 failed => status: warning
arm64: 162 test(s): 160 passed, 2 skipped, 0 failed => status: warning
arm: 162 test(s): 160 passed, 2 skipped, 0 failed => status: warning
mips32le: 162 test(s): 159 passed, 3 skipped, 0 failed => status: warning
mips32be: 162 test(s): 159 passed, 3 skipped, 0 failed => status: warning
ppc: 162 test(s): 160 passed, 2 skipped, 0 failed => status: warning
ppc64: 162 test(s): 160 passed, 2 skipped, 0 failed => status: warning
ppc64le: 162 test(s): 160 passed, 2 skipped, 0 failed => status: warning
riscv: 162 test(s): 160 passed, 2 skipped, 0 failed => status: warning
s390: 162 test(s): 159 passed, 3 skipped, 0 failed => status: warning
loongarch: 162 test(s): 158 passed, 3 skipped, 1 failed => status: failure

[ Note: loongarch user is currently broken due to a QEMU bug ]

Thomas

2023-12-11 16:02:58

by Shuah Khan

[permalink] [raw]
Subject: Re: nolibc changes for 6.8

On 12/8/23 17:02, Paul E. McKenney wrote:
> On Fri, Dec 08, 2023 at 06:09:59PM +0100, Thomas Weißschuh wrote:
>> Hi Paul,
>>
>> The following changes since commit b85ea95d086471afb4ad062012a4d73cd328fa86:
>>
>> Linux 6.7-rc1 (2023-11-12 16:19:07 -0800)
>>
>> are available in the Git repository at:
>>
>> https://git.kernel.org/pub/scm/linux/kernel/git/nolibc/linux-nolibc.git/ next
>>
>> for you to fetch changes up to b99c3b15310e7c7cd5f2d843289fe115ab3f8043:
>>
>> selftests/nolibc: disable coredump via setrlimit (2023-11-26 11:39:52 +0100)
>
> Thank you!
>
> I pulled this in and got the following:
>
> make run:
> 162 test(s): 162 passed, 0 skipped, 0 failed => status: success
>
> make run-user:
> 162 test(s): 160 passed, 2 skipped, 0 failed => status: warning
>
> This looks like complete success to me, but please let me know if this
> is not expected behavior on an x86-64 laptop.
>

Paul,

This is my turn to send the pull request. Would you like
me to take care of it?

thanks,
-- Shuah

2023-12-11 16:20:52

by Paul E. McKenney

[permalink] [raw]
Subject: Re: nolibc changes for 6.8

On Mon, Dec 11, 2023 at 08:26:00AM -0700, Shuah Khan wrote:
> On 12/8/23 17:02, Paul E. McKenney wrote:
> > On Fri, Dec 08, 2023 at 06:09:59PM +0100, Thomas Wei?schuh wrote:
> > > Hi Paul,
> > >
> > > The following changes since commit b85ea95d086471afb4ad062012a4d73cd328fa86:
> > >
> > > Linux 6.7-rc1 (2023-11-12 16:19:07 -0800)
> > >
> > > are available in the Git repository at:
> > >
> > > https://git.kernel.org/pub/scm/linux/kernel/git/nolibc/linux-nolibc.git/ next
> > >
> > > for you to fetch changes up to b99c3b15310e7c7cd5f2d843289fe115ab3f8043:
> > >
> > > selftests/nolibc: disable coredump via setrlimit (2023-11-26 11:39:52 +0100)
> >
> > Thank you!
> >
> > I pulled this in and got the following:
> >
> > make run:
> > 162 test(s): 162 passed, 0 skipped, 0 failed => status: success
> >
> > make run-user:
> > 162 test(s): 160 passed, 2 skipped, 0 failed => status: warning
> >
> > This looks like complete success to me, but please let me know if this
> > is not expected behavior on an x86-64 laptop.
> >
>
> Paul,
>
> This is my turn to send the pull request. Would you like
> me to take care of it?

It is indeed, apologies!!!

Please do take this round.

Thanx, Paul

2023-12-11 19:52:26

by Shuah Khan

[permalink] [raw]
Subject: Re: nolibc changes for 6.8

On 12/8/23 10:09, Thomas Weißschuh wrote:
> Hi Paul,
>
> The following changes since commit b85ea95d086471afb4ad062012a4d73cd328fa86:
>
> Linux 6.7-rc1 (2023-11-12 16:19:07 -0800)
>
> are available in the Git repository at:
>
> https://git.kernel.org/pub/scm/linux/kernel/git/nolibc/linux-nolibc.git/ next
>
> for you to fetch changes up to b99c3b15310e7c7cd5f2d843289fe115ab3f8043:
>
> selftests/nolibc: disable coredump via setrlimit (2023-11-26 11:39:52 +0100)
>
> ----------------------------------------------------------------
> Summary:
>
> * Support for PIC mode on MIPS.
> * Support for getrlimit()/setrlimit().
> * Replace some custom declarations with UAPI includes.
> * A new script "run-tests.sh" to run the testsuite over different architectures
> and configurations.
> * A few non-functional code cleanups.
> * Minor improvements to nolibc-test, primarily to support the test script.
>
> There are no urgent fixes available at this time.
>
> ----------------------------------------------------------------
> Mark Brown (1):
> tools/nolibc: Use linux/wait.h rather than duplicating it


I am seeing the following problem when I run my verify_signedoff.sh

verify_signedoff.sh HEAD~22...HEAD /linux/linux_kselftest/
Commit a0fa60e42bbe ("tools/nolibc: Use linux/wait.h rather than duplicating it")
committer Signed-off-by missing
author email: [email protected]
committer email: [email protected]
Signed-off-by: Mark Brown <[email protected]>
Signed-off-by: Willy Tarreau <[email protected]>

Errors in with Signed-off-by, please fix!

Is it possible to fix this? It appears commiter signed-off is missing.

thanks,
-- Shuah

2023-12-11 21:41:25

by Thomas Weißschuh

[permalink] [raw]
Subject: Re: nolibc changes for 6.8

Hi Shuah,

On 2023-12-11 12:52:10-0700, Shuah Khan wrote:
> On 12/8/23 10:09, Thomas Weißschuh wrote:
> > The following changes since commit b85ea95d086471afb4ad062012a4d73cd328fa86:
> >
> > Linux 6.7-rc1 (2023-11-12 16:19:07 -0800)
> >
> > are available in the Git repository at:
> >
> > https://git.kernel.org/pub/scm/linux/kernel/git/nolibc/linux-nolibc.git/ next
> >
> > for you to fetch changes up to b99c3b15310e7c7cd5f2d843289fe115ab3f8043:
> >
> > selftests/nolibc: disable coredump via setrlimit (2023-11-26 11:39:52 +0100)

> [..]

> > ----------------------------------------------------------------
> > Mark Brown (1):
> > tools/nolibc: Use linux/wait.h rather than duplicating it
>
>
> I am seeing the following problem when I run my verify_signedoff.sh
>
> verify_signedoff.sh HEAD~22...HEAD /linux/linux_kselftest/
> Commit a0fa60e42bbe ("tools/nolibc: Use linux/wait.h rather than duplicating it")
> committer Signed-off-by missing
> author email: [email protected]
> committer email: [email protected]
> Signed-off-by: Mark Brown <[email protected]>
> Signed-off-by: Willy Tarreau <[email protected]>
>
> Errors in with Signed-off-by, please fix!
>
> Is it possible to fix this? It appears commiter signed-off is missing.

Thanks for spotting this!

The fixed commits are published on the same "next" branch as before with
final commit d543d9ddf593b1f4cb1d57d9ac0ad279fe18adaf.

Thomas

2023-12-11 23:49:49

by Shuah Khan

[permalink] [raw]
Subject: Re: nolibc changes for 6.8

Hi Thomas,

On 12/11/23 14:40, Thomas Weißschuh wrote:
> Hi Shuah,
>

>
> Thanks for spotting this!
>
> The fixed commits are published on the same "next" branch as before with
> final commit d543d9ddf593b1f4cb1d57d9ac0ad279fe18adaf.
>

Thank you.

Pulled and pushed to linux-kselftest nolibc branch.

thanks,
-- Shuah

2023-12-12 15:31:30

by Shuah Khan

[permalink] [raw]
Subject: Re: nolibc changes for 6.8

On 12/11/23 16:49, Shuah Khan wrote:
> Hi Thomas,
>
> On 12/11/23 14:40, Thomas Weißschuh wrote:
>> Hi Shuah,
>>
>
>>
>> Thanks for spotting this!
>>
>> The fixed commits are published on the same "next" branch as before with
>> final commit d543d9ddf593b1f4cb1d57d9ac0ad279fe18adaf.
>>
>
> Thank you.
>
> Pulled and pushed to linux-kselftest nolibc branch.
>

Forgot to mention that I ran "make run" and "make run-user" and
saw the same results Paul saw. All good.

thanks,
-- Shuah