[GIT PULL] nolibc changes for v7.2

From: Thomas Weißschuh

Date: Sun Jun 14 2026 - 05:17:51 EST


Hi Linus,

The following changes since commit 7fd2df204f342fc17d1a0bfcd474b24232fb0f32:

Linux 7.1-rc2 (2026-05-03 14:21:25 -0700)

are available in the Git repository at:

ssh://git@xxxxxxxxxxxxxxxxxxx/pub/scm/linux/kernel/git/nolibc/linux-nolibc.git/ tags/nolibc-20260614-for-7.2-1

for you to fetch changes up to 3850c2920a10d5f50f5c2f8acccfb3925002f30b:

selftests/nolibc: test against -Wwrite-strings (2026-05-26 21:06:26 +0200)

----------------------------------------------------------------
nolibc changes for 7.2

Highlights:
* New architectures: OpenRISC and 32-bit parisc
* New library functionality: alloca(), assert(), creat() and ftruncate()
* Automatic large file support
* Proper 64-bit system call argument passing on x32 and MIPS N32
* Cleanups of the testmatrix
* Various bugfixes and cleanups

----------------------------------------------------------------
Daniel Palmer (5):
tools/nolibc: Rename __no_stack_protector to __nolibc_no_stack_protector
tools/nolibc: Don't use stack protector before setting it up
tools/nolibc: getopt: Fix potential out of bounds access
tools/nolibc: stackprotector: Avoid stalling program startup if crng is not init yet
tools/nolibc: add a helper to split a 64-bit argument into 32-bit halves

Thomas Weißschuh (33):
tools/nolibc: add assert() and assert.h
tools/nolibc: add alloca()
tools/nolibc: make __nolibc_enosys() a compile time error
tools/nolibc: avoid call to wcslen() in _start_c() inserted by clang
selftests/nolibc: drop unnecessary 'mode' argument to open()
tools/nolibc: add creat()
tools/nolibc: also handle _llseek system call
tools/nolibc: add __nolibc_arg_to_reg()
tools/nolibc: cast pointers returned from system calls through integers
tools/nolibc: handle 64-bit system call arguments on x32
tools/nolibc: handle 64-bit system call arguments on MIPS N32
tools/nolibc: open files with O_LARGEFILE
selftests/nolibc: test large file support
selftests/nolibc: align QEMU_ARCH_mips32be
selftests/nolibc: drop riscv configuration
selftests/nolibc: use QEMU_ARCH for QEMU_ARCH_USER
selftests/nolibc: trim QEMU_ARCH mappings
selftests/nolibc: trim DEFCONFIG mappings
selftests/nolibc: trim IMAGE mappings
selftests/nolibc: use vmlinux for MIPS tests
tools/nolibc: add support for OpenRISC / or1k
selftests/nolibc: avoid function pointer comparisons
tools/nolibc: add support for 32-bit parisc
Merge tag 'v7.1-rc2' into nolibc/for-next
tools/nolibc: split implicit open flags into a macro
tools/nolibc: split open mode handling into a macro
tools/nolibc: always pass mode to open syscall
selftests/nolibc: test open mode handling
selftests/nolibc: enable CONFIG_TMPFS for sparc32
tools/nolibc: add ftruncate()
tools/nolibc: cast default values of program_invocation_name
selftests/nolibc: use mutable buffer for execve() argv string
selftests/nolibc: test against -Wwrite-strings

tools/include/nolibc/Makefile | 4 +-
tools/include/nolibc/alloca.h | 15 ++
tools/include/nolibc/arch-arm.h | 12 +-
tools/include/nolibc/arch-arm64.h | 2 +-
tools/include/nolibc/arch-loongarch.h | 2 +-
tools/include/nolibc/arch-m68k.h | 2 +-
tools/include/nolibc/arch-mips.h | 108 ++++++++------
tools/include/nolibc/arch-openrisc.h | 160 ++++++++++++++++++++
tools/include/nolibc/arch-parisc.h | 185 ++++++++++++++++++++++++
tools/include/nolibc/arch-powerpc.h | 20 ++-
tools/include/nolibc/arch-riscv.h | 2 +-
tools/include/nolibc/arch-s390.h | 2 +-
tools/include/nolibc/arch-sh.h | 2 +-
tools/include/nolibc/arch-sparc.h | 2 +-
tools/include/nolibc/arch-x86.h | 74 +++++-----
tools/include/nolibc/arch.h | 4 +
tools/include/nolibc/assert.h | 36 +++++
tools/include/nolibc/compiler.h | 4 +-
tools/include/nolibc/crt.h | 8 +-
tools/include/nolibc/errno.h | 4 +-
tools/include/nolibc/fcntl.h | 45 +++---
tools/include/nolibc/getopt.h | 2 +-
tools/include/nolibc/nolibc.h | 2 +
tools/include/nolibc/stackprotector.h | 5 +-
tools/include/nolibc/sys.h | 43 +++++-
tools/include/nolibc/sys/mman.h | 6 +-
tools/include/nolibc/unistd.h | 24 +++
tools/testing/selftests/nolibc/Makefile.include | 2 +-
tools/testing/selftests/nolibc/Makefile.nolibc | 51 ++-----
tools/testing/selftests/nolibc/nolibc-test.c | 172 +++++++++++++++++++++-
tools/testing/selftests/nolibc/run-tests.sh | 10 +-
31 files changed, 831 insertions(+), 179 deletions(-)
create mode 100644 tools/include/nolibc/alloca.h
create mode 100644 tools/include/nolibc/arch-openrisc.h
create mode 100644 tools/include/nolibc/arch-parisc.h
create mode 100644 tools/include/nolibc/assert.h