nolibc changes for 6.8

Message ID 4208adae-d185-44a6-a564-ec9bc4c6eb2a@t-8ch.de
State New
Headers
Series nolibc changes for 6.8 |

Pull-request

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

Message

Thomas Weißschuh Dec. 8, 2023, 5:09 p.m. UTC
  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
  

Comments

Paul E. McKenney Dec. 9, 2023, 12:02 a.m. UTC | #1
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
  
Thomas Weißschuh Dec. 9, 2023, 8:27 a.m. UTC | #2
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
  
Shuah Khan Dec. 11, 2023, 3:26 p.m. UTC | #3
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
  
Paul E. McKenney Dec. 11, 2023, 4:20 p.m. UTC | #4
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
  
Shuah Khan Dec. 11, 2023, 7:52 p.m. UTC | #5
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:    broonie@kernel.org
	committer email: linux@weissschuh.net
	Signed-off-by: Mark Brown <broonie@kernel.org>
	Signed-off-by: Willy Tarreau <w@1wt.eu>

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

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

thanks,
-- Shuah
  
Thomas Weißschuh Dec. 11, 2023, 9:40 p.m. UTC | #6
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:    broonie@kernel.org
> 	committer email: linux@weissschuh.net
> 	Signed-off-by: Mark Brown <broonie@kernel.org>
> 	Signed-off-by: Willy Tarreau <w@1wt.eu>
> 
> 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
  
Shuah Khan Dec. 11, 2023, 11:49 p.m. UTC | #7
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
  
Shuah Khan Dec. 12, 2023, 3:31 p.m. UTC | #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