[GIT PULL] nolibc changes for v6.3

From: Paul E. McKenney
Date: Tue Feb 21 2023 - 21:07:17 EST


Hello, Linus,

Please the latest nolibc changes from:

git://git.kernel.org/pub/scm/linux/kernel/git/paulmck/linux-rcu.git tags/nolibc.2023.02.06a
# HEAD: c54ba4178159e440bea3826d22d43a9d0d94b071: selftests/nolibc: Add a "run-user" target to test the program in user land (2023-01-24 15:35:45 -0800)

----------------------------------------------------------------
nolibc updates for v6.3

o Add s390 support.

o Add support for the ARM Thumb1 instruction set.

o Fix O_* flags definitions for open() and fcntl().

o Make errno a weak symbol instead of a static variable.

o Export environ as a weak symbol.

o Export _auxv as a weak symbol for auxilliary vector retrieval.

o Implement getauxval() and getpagesize().

o Further improve self tests, including permitting userland testing
of the nolibc library.

----------------------------------------------------------------
Ammar Faizi (3):
nolibc/stdlib: Implement `getauxval(3)` function
nolibc/sys: Implement `getpagesize(2)` function
selftests/nolibc: Add `getpagesize(2)` selftest

Sven Schnelle (7):
nolibc: fix fd_set type
nolibc: add support for s390
selftests/nolibc: add s390 support
rcutorture: add support for s390
rcutorture: build initrd for rcutorture with nolibc
tools/nolibc: export environ as a weak symbol on s390
tools/nolibc: add auxiliary vector retrieval for s390

Warner Losh (1):
tools/nolibc: Fix S_ISxxx macros

Willy Tarreau (23):
tools/nolibc: restore mips branch ordering in the _start block
tools/nolibc: fix missing includes causing build issues at -O0
tools/nolibc: prevent gcc from making memset() loop over itself
tools/nolibc: fix the O_* fcntl/open macro definitions for riscv
tools/nolibc: make compiler and assembler agree on the section around _start
tools/nolibc: enable support for thumb1 mode for ARM
tools/nolibc: support thumb mode with frame pointers on ARM
tools/nolibc: remove local definitions of O_* flags for open/fcntl
tools/nolibc: make errno a weak symbol instead of a static one
tools/nolibc: export environ as a weak symbol on x86_64
tools/nolibc: export environ as a weak symbol on i386
tools/nolibc: export environ as a weak symbol on arm64
tools/nolibc: export environ as a weak symbol on arm
tools/nolibc: export environ as a weak symbol on mips
tools/nolibc: export environ as a weak symbol on riscv
tools/nolibc: add auxiliary vector retrieval for i386
tools/nolibc: add auxiliary vector retrieval for x86_64
tools/nolibc: add auxiliary vector retrieval for arm64
tools/nolibc: add auxiliary vector retrieval for arm
tools/nolibc: add auxiliary vector retrieval for riscv
tools/nolibc: add auxiliary vector retrieval for mips
selftests/nolibc: Support "x86_64" for arch name
selftests/nolibc: Add a "run-user" target to test the program in user land

tools/include/nolibc/arch-aarch64.h | 52 ++---
tools/include/nolibc/arch-arm.h | 138 ++++++++-----
tools/include/nolibc/arch-i386.h | 60 +++---
tools/include/nolibc/arch-mips.h | 77 +++----
tools/include/nolibc/arch-riscv.h | 62 +++---
tools/include/nolibc/arch-s390.h | 226 +++++++++++++++++++++
tools/include/nolibc/arch-x86_64.h | 52 ++---
tools/include/nolibc/arch.h | 2 +
tools/include/nolibc/ctype.h | 3 +
tools/include/nolibc/errno.h | 7 +-
tools/include/nolibc/signal.h | 3 +
tools/include/nolibc/stdio.h | 3 +
tools/include/nolibc/stdlib.h | 30 +++
tools/include/nolibc/string.h | 8 +-
tools/include/nolibc/sys.h | 26 +++
tools/include/nolibc/time.h | 3 +
tools/include/nolibc/types.h | 70 ++++---
tools/include/nolibc/unistd.h | 3 +
tools/testing/selftests/nolibc/Makefile | 17 +-
tools/testing/selftests/nolibc/nolibc-test.c | 30 +++
.../testing/selftests/rcutorture/bin/functions.sh | 6 +
tools/testing/selftests/rcutorture/bin/mkinitrd.sh | 2 +-
22 files changed, 649 insertions(+), 231 deletions(-)
create mode 100644 tools/include/nolibc/arch-s390.h