lists.openwall.net   lists  /  announce  owl-users  owl-dev  john-users  john-dev  passwdqc-users  yescrypt  popa3d-users  /  oss-security  kernel-hardening  musl  sabotage  tlsify  passwords  /  crypt-dev  xvendor  /  Bugtraq  Full-Disclosure  linux-kernel  linux-netdev  linux-ext4  linux-hardening  linux-cve-announce  PHC 
Open Source and information security mailing list archives
 
Hash Suite: Windows password security audit tool. GUI, reports in PDF.
[<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

Powered by Openwall GNU/*/Linux Powered by OpenVZ