[<prev] [next>] [thread-next>] [day] [month] [year] [list]
Message-ID: <3d0f7e83-7d64-41cb-9909-9d84406d8f2e@t-8ch.de>
Date: Tue, 27 May 2025 16:58:14 +0200
From: Thomas Weißschuh <linux@...ssschuh.net>
To: Linus Torvalds <torvalds@...ux-foundation.org>
Cc: Thomas Weißschuh <linux@...ssschuh.net>,
Willy Tarreau <w@....eu>, Shuah Khan <shuah@...nel.org>,
"Paul E. McKenney" <paulmck@...nel.org>, linux-kernel@...r.kernel.org
Subject: [GIT PULL] nolibc updates for v6.16-rc1
Hi Linus,
The following changes since commit 0af2f6be1b4281385b618cb86ad946eded089ac8:
Linux 6.15-rc1 (2025-04-06 13:11:33 -0700)
are available in the Git repository at:
ssh://git@...olite.kernel.org/pub/scm/linux/kernel/git/nolibc/linux-nolibc.git/ tags/nolibc-20250526-for-6.16-1
for you to fetch changes up to 869c788909b93a78ead1ca28c42b95eeb0779215:
selftests: harness: Stop using setjmp()/longjmp() (2025-05-21 15:32:37 +0200)
This is the first pull coming directly from the nolibc maintainers.
Previous pulls where prepared by Shuah and Paul, many thanks to them.
----------------------------------------------------------------
nolibc changes for v6.16
Highlights:
* New supported architectures: m68k, SPARC (32 and 64 bit)
* Compatibility with kselftest_harness.h
* A more robust mechanism to include all of nolibc from each header
* Split existing features into new headers to simplify adoption
* Compatibility with UBSAN and it is used in the testsuite
* Many small new features focussing on usage in kselftests
----------------------------------------------------------------
Daniel Palmer (1):
tools/nolibc: Add m68k support
Jemmy Wong (1):
tools/nolibc/types.h: fix mismatched parenthesis in minor()
Thomas Weißschuh (81):
selftests/nolibc: drop unnecessary sys/io.h include
selftests/nolibc: drop dependency from sysroot to defconfig
selftests/nolibc: only consider XARCH for CFLAGS when requested
tools/nolibc: Add support for SPARC
tools/nolibc: drop manual stack pointer alignment
tools/nolibc: add __nolibc_has_feature()
tools/nolibc: add __nolibc_aligned() and __nolibc_aligned_as()
tools/nolibc: disable function sanitizer for _start_c()
tools/nolibc: properly align dirent buffer
tools/nolibc: fix integer overflow in i{64,}toa_r() and
selftests/nolibc: disable ubsan for smash_stack()
selftests/nolibc: enable UBSAN if available
tools/nolibc: prepare for headers in subdirectories
tools/nolibc: add elf.h
tools/nolibc: move open() and friends to fcntl.h
tools/nolibc: move getauxval() to sys/auxv.h
tools/nolibc: move mmap() and friends to sys/mman.h
tools/nolibc: move stat() and friends to sys/stat.h
tools/nolibc: move syscall() to sys/syscall.h
tools/nolibc: move gettimeofday() to sys/time.h
tools/nolibc: add sys/types.h shim
tools/nolibc: move wait() and friends to sys/wait.h
tools/nolibc: handle intmax_t/uintmax_t in printf
tools/nolibc: use intmax definitions from compiler
tools/nolibc: use pselect6_time64 if available
tools/nolibc: use ppoll_time64 if available
tools/nolibc: add tolower() and toupper()
tools/nolibc: add _exit()
tools/nolibc: add setpgrp()
tools/nolibc: implement waitpid() in terms of waitid()
Revert "selftests/nolibc: use waitid() over waitpid()"
tools/nolibc: add dprintf() and vdprintf()
tools/nolibc: add getopt()
tools/nolibc: allow different write callbacks in printf
tools/nolibc: allow limiting of printf destination size
tools/nolibc: add snprintf() and friends
selftests/nolibc: use snprintf() for printf tests
selftests/nolibc: rename vfprintf test suite
selftests/nolibc: add test for snprintf() truncation
tools/nolibc: implement width padding in printf()
tools/nolibc: add target to check header usability
tools/nolibc: include nolibc.h early from all header files
selftests/nolibc: always run nolibc header check
tools/nolibc: move poll() to poll.h
tools/nolibc: use poll-related definitions from UAPI headers
tools/nolibc: add strstr()
tools/nolibc: add %m printf format
tools/nolibc: add more stat() variants
tools/nolibc: add mremap()
tools/nolibc: add getrandom()
tools/nolibc: add abs() and friends
tools/nolibc: add support for access() and faccessat()
tools/nolibc: add clock_getres(), clock_gettime() and clock_settime()
tools/nolibc: add timer functions
tools/nolibc: add timerfd functionality
tools/nolibc: add difftime()
tools/nolibc: add namespace functionality
tools/nolibc: add fopen()
tools/nolibc: fall back to sys_clock_gettime() in gettimeofday()
tools/nolibc: implement wait() in terms of waitpid()
tools/nolibc: move ioctl() to sys/ioctl.h
tools/nolibc: move mount() to sys/mount.h
tools/nolibc: move prctl() to sys/prctl.h
tools/nolibc: move reboot() to sys/reboot.h
tools/nolibc: move getrlimit() and friends to sys/resource.h
tools/nolibc: move makedev() and friends to sys/sysmacros.h
tools/nolibc: move uname() and friends to sys/utsname.h
tools/nolibc: move NULL and offsetof() to sys/stddef.h
selftests/nolibc: drop include guards around standard headers
selftests: harness: Add kselftest harness selftest
selftests: harness: Use C89 comment style
selftests: harness: Ignore unused variant argument warning
selftests: harness: Mark functions without prototypes static
selftests: harness: Remove inline qualifier for wrappers
selftests: harness: Remove dependency on libatomic
selftests: harness: Implement test timeouts through pidfd
selftests: harness: Don't set setup_completed for fixtureless tests
selftests: harness: Move teardown conditional into test metadata
selftests: harness: Add teardown callback to test metadata
selftests: harness: Add "variant" and "self" to test metadata
selftests: harness: Stop using setjmp()/longjmp()
MAINTAINERS | 1 +
tools/include/nolibc/Makefile | 34 +-
tools/include/nolibc/arch-aarch64.h | 1 -
tools/include/nolibc/arch-arm.h | 2 -
tools/include/nolibc/arch-i386.h | 2 -
tools/include/nolibc/arch-loongarch.h | 7 -
tools/include/nolibc/arch-m68k.h | 141 +++++++
tools/include/nolibc/arch-powerpc.h | 2 -
tools/include/nolibc/arch-riscv.h | 1 -
tools/include/nolibc/arch-sparc.h | 191 ++++++++++
tools/include/nolibc/arch-x86_64.h | 1 -
tools/include/nolibc/arch.h | 4 +
tools/include/nolibc/compiler.h | 9 +
tools/include/nolibc/crt.h | 5 +
tools/include/nolibc/ctype.h | 6 +-
tools/include/nolibc/dirent.h | 10 +-
tools/include/nolibc/elf.h | 15 +
tools/include/nolibc/errno.h | 6 +-
tools/include/nolibc/fcntl.h | 69 ++++
tools/include/nolibc/getopt.h | 101 +++++
tools/include/nolibc/math.h | 31 ++
tools/include/nolibc/nolibc.h | 21 +
tools/include/nolibc/poll.h | 55 +++
tools/include/nolibc/sched.h | 50 +++
tools/include/nolibc/signal.h | 6 +-
tools/include/nolibc/std.h | 6 +-
tools/include/nolibc/stddef.h | 24 ++
tools/include/nolibc/stdint.h | 4 +-
tools/include/nolibc/stdio.h | 167 +++++++-
tools/include/nolibc/stdlib.h | 54 ++-
tools/include/nolibc/string.h | 40 +-
tools/include/nolibc/sys.h | 423 ++-------------------
tools/include/nolibc/sys/auxv.h | 41 ++
tools/include/nolibc/sys/ioctl.h | 29 ++
tools/include/nolibc/sys/mman.h | 82 ++++
tools/include/nolibc/sys/mount.h | 37 ++
tools/include/nolibc/sys/prctl.h | 36 ++
tools/include/nolibc/sys/random.h | 34 ++
tools/include/nolibc/sys/reboot.h | 34 ++
tools/include/nolibc/sys/resource.h | 53 +++
tools/include/nolibc/sys/stat.h | 94 +++++
tools/include/nolibc/sys/syscall.h | 19 +
tools/include/nolibc/sys/sysmacros.h | 20 +
tools/include/nolibc/sys/time.h | 49 +++
tools/include/nolibc/sys/timerfd.h | 87 +++++
tools/include/nolibc/sys/types.h | 7 +
tools/include/nolibc/sys/utsname.h | 42 ++
tools/include/nolibc/sys/wait.h | 116 ++++++
tools/include/nolibc/time.h | 189 ++++++++-
tools/include/nolibc/types.h | 32 +-
tools/include/nolibc/unistd.h | 40 +-
tools/testing/selftests/Makefile | 1 +
tools/testing/selftests/kselftest_harness.h | 170 ++++-----
.../testing/selftests/kselftest_harness/.gitignore | 2 +
tools/testing/selftests/kselftest_harness/Makefile | 7 +
.../selftests/kselftest_harness/harness-selftest.c | 136 +++++++
.../kselftest_harness/harness-selftest.expected | 64 ++++
.../kselftest_harness/harness-selftest.sh | 13 +
tools/testing/selftests/nolibc/Makefile | 28 +-
.../testing/selftests/nolibc/nolibc-test-linkage.c | 2 -
tools/testing/selftests/nolibc/nolibc-test.c | 331 +++++++++++++---
tools/testing/selftests/nolibc/run-tests.sh | 7 +
62 files changed, 2629 insertions(+), 662 deletions(-)
create mode 100644 tools/include/nolibc/arch-m68k.h
create mode 100644 tools/include/nolibc/arch-sparc.h
create mode 100644 tools/include/nolibc/elf.h
create mode 100644 tools/include/nolibc/fcntl.h
create mode 100644 tools/include/nolibc/getopt.h
create mode 100644 tools/include/nolibc/math.h
create mode 100644 tools/include/nolibc/poll.h
create mode 100644 tools/include/nolibc/sched.h
create mode 100644 tools/include/nolibc/stddef.h
create mode 100644 tools/include/nolibc/sys/auxv.h
create mode 100644 tools/include/nolibc/sys/ioctl.h
create mode 100644 tools/include/nolibc/sys/mman.h
create mode 100644 tools/include/nolibc/sys/mount.h
create mode 100644 tools/include/nolibc/sys/prctl.h
create mode 100644 tools/include/nolibc/sys/random.h
create mode 100644 tools/include/nolibc/sys/reboot.h
create mode 100644 tools/include/nolibc/sys/resource.h
create mode 100644 tools/include/nolibc/sys/stat.h
create mode 100644 tools/include/nolibc/sys/syscall.h
create mode 100644 tools/include/nolibc/sys/sysmacros.h
create mode 100644 tools/include/nolibc/sys/time.h
create mode 100644 tools/include/nolibc/sys/timerfd.h
create mode 100644 tools/include/nolibc/sys/types.h
create mode 100644 tools/include/nolibc/sys/utsname.h
create mode 100644 tools/include/nolibc/sys/wait.h
create mode 100644 tools/testing/selftests/kselftest_harness/.gitignore
create mode 100644 tools/testing/selftests/kselftest_harness/Makefile
create mode 100644 tools/testing/selftests/kselftest_harness/harness-selftest.c
create mode 100644 tools/testing/selftests/kselftest_harness/harness-selftest.expected
create mode 100755 tools/testing/selftests/kselftest_harness/harness-selftest.sh
Powered by blists - more mailing lists