[PATCH 00/10] tools/nolibc: split out functionality into new headers

From: Thomas Weißschuh
Date: Wed Apr 16 2025 - 08:08:14 EST


Porting applications to nolibc is made harder by the lack of standard
header names. Split out the existing functionality from the big catch-all
headers into new dedicated ones.

This series does not introduce any new logic.

The last patch for sys/wait.h will conflict with
"tools/nolibc: implement waitpid() in terms of waitid()" [0].
But as both patches will go through the nolibc tree anyways we can take
care of the conflict there.

Based on linux-nolibc.git/next

[0] https://lore.kernel.org/lkml/20250411-nolibc-kselftest-harness-v3-21-4d9c0295893f@xxxxxxxxxxxxx/

Signed-off-by: Thomas Weißschuh <thomas.weissschuh@xxxxxxxxxxxxx>
---
Thomas Weißschuh (10):
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/include/nolibc/Makefile | 11 +-
tools/include/nolibc/dirent.h | 1 +
tools/include/nolibc/elf.h | 15 +++
tools/include/nolibc/fcntl.h | 69 +++++++++++
tools/include/nolibc/nolibc.h | 8 ++
tools/include/nolibc/stdlib.h | 26 -----
tools/include/nolibc/sys.h | 230 -------------------------------------
tools/include/nolibc/sys/auxv.h | 41 +++++++
tools/include/nolibc/sys/mman.h | 63 ++++++++++
tools/include/nolibc/sys/stat.h | 74 ++++++++++++
tools/include/nolibc/sys/syscall.h | 19 +++
tools/include/nolibc/sys/time.h | 36 ++++++
tools/include/nolibc/sys/types.h | 7 ++
tools/include/nolibc/sys/wait.h | 71 ++++++++++++
tools/include/nolibc/unistd.h | 6 -
15 files changed, 414 insertions(+), 263 deletions(-)
---
base-commit: 7c73c10b906778384843b9d3ac6c2224727bbf5c
change-id: 20250416-nolibc-split-sys-e7f83832ca77

Best regards,
--
Thomas Weißschuh <thomas.weissschuh@xxxxxxxxxxxxx>