[GIT PULL] nolibc changes for v6.1

From: Paul E. McKenney
Date: Sat Oct 01 2022 - 23:23:54 EST

Hello, Linus,

Once the merge window opens, please pull the latest nolibc changes from:

git://git.kernel.org/pub/scm/linux/kernel/git/paulmck/linux-rcu.git tags/nolibc.2022.09.30a
HEAD: 43cf168fa99992ee70ff041a61f866f56aa47f3b: selftests/nolibc: Avoid generated files being committed (2022-08-31 05:17:45 -0700)

nolibc pull request for v6.1

This pull request provides nolibc updates, most notably greatly improved
testing. These tests are located in tools/testing/selftests/nolibc. The
output of "make help" is as follows:

Supported targets under selftests/nolibc:
all call the "run" target below
help this help
sysroot create the nolibc sysroot here (uses $ARCH)
nolibc-test build the executable (uses $CC and $CROSS_COMPILE)
initramfs prepare the initramfs with nolibc-test
defconfig create a fresh new default config (uses $ARCH)
kernel (re)build the kernel with the initramfs (uses $ARCH)
run runs the kernel in QEMU after building it (uses $ARCH, $TEST)
rerun runs a previously prebuilt kernel in QEMU (uses $ARCH, $TEST)
clean clean the sysroot, initramfs, build and output files

The output file is "run.out". Test ranges may be passed using $TEST.

Currently using the following variables:
ARCH = x86
CC = gcc
OUTPUT = /home/git/linux-rcu/tools/testing/selftests/nolibc/
QEMU_ARCH = x86_64 [determined from $ARCH]
IMAGE_NAME = bzImage [determined from $ARCH]

The output of a successful x86 "make run" is currently as follows,
with kernel build output omitted:

$ make run
71 test(s) passed.

Fernanda Ma'rouf (1):
selftests/nolibc: Avoid generated files being committed

Willy Tarreau (17):
tools/nolibc: make argc 32-bit in riscv startup code
tools/nolibc: fix build warning in sys_mmap() when my_syscall6 is not defined
tools/nolibc: make sys_mmap() automatically use the right __NR_mmap definition
selftests/nolibc: add basic infrastructure to ease creation of nolibc tests
selftests/nolibc: support a test definition format
selftests/nolibc: implement a few tests for various syscalls
selftests/nolibc: add a few tests for some libc functions
selftests/nolibc: exit with poweroff on success when getpid() == 1
selftests/nolibc: on x86, support exiting with isa-debug-exit
selftests/nolibc: recreate and populate /dev and /proc if missing
selftests/nolibc: condition some tests on /proc existence
selftests/nolibc: support glibc as well
selftests/nolibc: add a "kernel" target to build the kernel with the initramfs
selftests/nolibc: add a "defconfig" target
selftests/nolibc: add a "run" target to start the kernel in QEMU
selftests/nolibc: "sysroot" target installs a local copy of the sysroot
selftests/nolibc: add a "help" target

tools/include/nolibc/arch-riscv.h | 2 +-
tools/include/nolibc/sys.h | 4 +-
tools/testing/selftests/nolibc/.gitignore | 4 +
tools/testing/selftests/nolibc/Makefile | 135 +++++
tools/testing/selftests/nolibc/nolibc-test.c | 757 +++++++++++++++++++++++++++
6 files changed, 900 insertions(+), 3 deletions(-)
create mode 100644 tools/testing/selftests/nolibc/.gitignore
create mode 100644 tools/testing/selftests/nolibc/Makefile
create mode 100644 tools/testing/selftests/nolibc/nolibc-test.c