[GIT PULL] nolibc changes for v6.7

From: Paul E. McKenney
Date: Mon Oct 30 2023 - 18:21:53 EST


Hello, Linus,

Please please pull the latest nolibc changes from:

git://git.kernel.org/pub/scm/linux/kernel/git/paulmck/linux-rcu.git tags/nolibc.2023.10.23a
# HEAD: b8c60e8fc6f755c2cdf7164931afdbfa670c6646: selftests/nolibc: add tests for multi-object linkage (2023-10-12 21:14:20 +0200)

----------------------------------------------------------------
nolibc updates for v6.7

o Add stdarg.h header and a few additional system-call upgrades.

o Add support for constructors and destructors.

o Add tests to verify the ability to link multiple .o files
against nolibc.

o Numerous string-function optimizations and improvements.

o Prevent redundant kernel relinks by avoiding embedding of
initramfs into the kernel image.

o Allow building i386 with multiarch compiler and make ppc64le
use qemu-system-ppc64.

o Miscellaneous fixups, including addition of -nostdinc for
nolibc-test, avoiding -Wstringop-overflow warnings, and avoiding
unused parameter warnings for ENOSYS fallbacks.

----------------------------------------------------------------
Ammar Faizi (4):
tools/nolibc: x86-64: Use `rep movsb` for `memcpy()` and `memmove()`
tools/nolibc: x86-64: Use `rep stosb` for `memset()`
tools/nolibc: string: Remove the `_nolibc_memcpy_down()` function
tools/nolibc: string: Remove the `_nolibc_memcpy_up()` function

Thomas Weißschuh (12):
tools/nolibc: add stdarg.h header
selftests/nolibc: use -nostdinc for nolibc-test
selftests/nolibc: libc-test: avoid -Wstringop-overflow warnings
selftests/nolibc: don't embed initramfs into kernel image
selftests/nolibc: allow building i386 with multiarch compiler
tools/nolibc: avoid unused parameter warnings for ENOSYS fallbacks
tools/nolibc: don't define new syscall number
tools/nolibc: automatically detect necessity to use pselect6
tools/nolibc: drop test for getauxval(AT_PAGESZ)
tools/nolibc: add support for constructors and destructors
selftests/nolibc: use qemu-system-ppc64 for ppc64le
selftests/nolibc: add tests for multi-object linkage

tools/include/nolibc/Makefile | 1 +
tools/include/nolibc/arch-aarch64.h | 3 --
tools/include/nolibc/arch-loongarch.h | 4 +-
tools/include/nolibc/arch-riscv.h | 3 --
tools/include/nolibc/arch-x86_64.h | 42 ++++++++++++++++
tools/include/nolibc/crt.h | 23 ++++++++-
tools/include/nolibc/nolibc.h | 4 +-
tools/include/nolibc/stdarg.h | 16 ++++++
tools/include/nolibc/stdio.h | 3 +-
tools/include/nolibc/string.h | 36 +++++---------
tools/include/nolibc/sys.h | 57 +++++++++++++---------
tools/testing/selftests/nolibc/.gitignore | 1 +
tools/testing/selftests/nolibc/Makefile | 57 +++++++++++++---------
.../testing/selftests/nolibc/nolibc-test-linkage.c | 26 ++++++++++
.../testing/selftests/nolibc/nolibc-test-linkage.h | 9 ++++
tools/testing/selftests/nolibc/nolibc-test.c | 28 +++++++++--
16 files changed, 225 insertions(+), 88 deletions(-)
create mode 100644 tools/include/nolibc/stdarg.h
create mode 100644 tools/testing/selftests/nolibc/nolibc-test-linkage.c
create mode 100644 tools/testing/selftests/nolibc/nolibc-test-linkage.h