From: Benjamin Berg <benjamin@sipsolutions.net>
To: linux-um@lists.infradead.org, "Willy Tarreau" <w@1wt.eu>,
"Thomas Weißschuh" <linux@weissschuh.net>,
linux-kselftest@vger.kernel.org,
"Arnaldo Carvalho de Melo" <acme@redhat.com>
Cc: linux-kernel@vger.kernel.org, Benjamin Berg <benjamin.berg@intel.com>
Subject: [PATCH v2 00/11] Start porting UML to nolibc
Date: Fri, 19 Sep 2025 17:34:09 +0200 [thread overview]
Message-ID: <20250919153420.727385-1-benjamin@sipsolutions.net> (raw)
From: Benjamin Berg <benjamin.berg@intel.com>
This patchset is an attempt to start a nolibc port of UML. The goal is
to port UML to use nolibc in smaller chunks to make the switch more
manageable.
There are three parts to this patchset:
* Two patches to use tools/include headers instead of kernel headers
for userspace files.
* A few nolibc fixes and a new NOLIBC_NO_STARTCODE compile flag for it
* Finally nolibc build support for UML and switching two files while
adding the appropriate support in nolibc itself.
v1 of this patchset was
https://lore.kernel.org/all/20250915071115.1429196-1-benjamin@sipsolutions.net/
Changes in v2:
- add sys/uio.h and sys/ptrace.h to nolibc
- Use NOLIBC_NO_RUNTIME to disable nolibc startup code
- Fix out-of-tree build
- various small improvements and cleanups
Should the nolibc changes be merged separately or could everything go
through the same branch?
Also, what about tools/include/linux/compiler.h? It seems that was added
for the tracing code, but it is not clear to me who might ACK that fix.
Benjamin
Benjamin Berg (11):
tools compiler.h: fix __used definition
um: use tools/include for user files
tools/nolibc/stdio: remove perror if NOLIBC_IGNORE_ERRNO is set
tools/nolibc/dirent: avoid errno in readdir_r
tools/nolibc: use __fallthrough__ rather than fallthrough
tools/nolibc: add option to disable runtime
um: add infrastructure to build files using nolibc
um: use nolibc for the --showconfig implementation
tools/nolibc: add uio.h with readv and writev
tools/nolibc: add ptrace support
um: switch ptrace FP register access to nolibc
arch/um/Makefile | 38 +++++++++++---
arch/um/include/shared/init.h | 2 +-
arch/um/include/shared/os.h | 2 +
arch/um/include/shared/user.h | 6 ---
arch/um/kernel/Makefile | 2 +-
arch/um/kernel/skas/stub.c | 1 +
arch/um/kernel/skas/stub_exe.c | 4 +-
arch/um/os-Linux/skas/process.c | 6 +--
arch/um/os-Linux/start_up.c | 4 +-
arch/um/scripts/Makefile.rules | 10 +++-
arch/x86/um/Makefile | 6 ++-
arch/x86/um/os-Linux/Makefile | 5 +-
arch/x86/um/os-Linux/registers.c | 16 ++----
arch/x86/um/user-offsets.c | 1 -
tools/include/linux/compiler.h | 2 +-
tools/include/nolibc/Makefile | 2 +
tools/include/nolibc/arch-arm.h | 2 +
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 | 2 +
tools/include/nolibc/arch-powerpc.h | 2 +
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 | 4 ++
tools/include/nolibc/compiler.h | 4 +-
tools/include/nolibc/crt.h | 3 ++
tools/include/nolibc/dirent.h | 6 +--
tools/include/nolibc/nolibc.h | 2 +
tools/include/nolibc/stackprotector.h | 2 +
tools/include/nolibc/stdio.h | 2 +
tools/include/nolibc/stdlib.h | 2 +
tools/include/nolibc/sys.h | 3 +-
tools/include/nolibc/sys/auxv.h | 3 ++
tools/include/nolibc/sys/ptrace.h | 52 ++++++++++++++++++++
tools/include/nolibc/sys/uio.h | 49 ++++++++++++++++++
tools/testing/selftests/nolibc/nolibc-test.c | 11 +++++
39 files changed, 222 insertions(+), 48 deletions(-)
create mode 100644 tools/include/nolibc/sys/ptrace.h
create mode 100644 tools/include/nolibc/sys/uio.h
--
2.51.0
next reply other threads:[~2025-09-19 15:36 UTC|newest]
Thread overview: 35+ messages / expand[flat|nested] mbox.gz Atom feed top
2025-09-19 15:34 Benjamin Berg [this message]
2025-09-19 15:34 ` [PATCH v2 01/11] tools compiler.h: fix __used definition Benjamin Berg
2025-09-19 15:34 ` [PATCH v2 02/11] um: use tools/include for user files Benjamin Berg
2025-09-19 15:34 ` [PATCH v2 03/11] tools/nolibc/stdio: remove perror if NOLIBC_IGNORE_ERRNO is set Benjamin Berg
2025-09-21 7:55 ` Willy Tarreau
2025-09-21 16:37 ` Thomas Weißschuh
2025-09-21 17:05 ` Benjamin Berg
2025-09-21 17:13 ` Willy Tarreau
2025-09-21 17:16 ` Benjamin Berg
2025-09-21 17:23 ` Willy Tarreau
2025-09-21 18:26 ` Thomas Weißschuh
2025-09-21 18:28 ` Willy Tarreau
2025-09-21 17:09 ` Willy Tarreau
2025-09-19 15:34 ` [PATCH v2 04/11] tools/nolibc/dirent: avoid errno in readdir_r Benjamin Berg
2025-09-19 15:34 ` [PATCH v2 05/11] tools/nolibc: use __fallthrough__ rather than fallthrough Benjamin Berg
2025-09-19 15:34 ` [PATCH v2 06/11] tools/nolibc: add option to disable runtime Benjamin Berg
2025-09-20 9:08 ` Thomas Weißschuh
2025-09-19 15:34 ` [PATCH v2 07/11] um: add infrastructure to build files using nolibc Benjamin Berg
2025-09-21 8:13 ` Willy Tarreau
2025-09-22 7:11 ` Berg, Benjamin
2025-09-19 15:34 ` [PATCH v2 08/11] um: use nolibc for the --showconfig implementation Benjamin Berg
2025-09-19 15:34 ` [PATCH v2 09/11] tools/nolibc: add uio.h with readv and writev Benjamin Berg
2025-09-20 9:11 ` Thomas Weißschuh
2025-09-19 15:34 ` [PATCH v2 10/11] tools/nolibc: add ptrace support Benjamin Berg
2025-09-20 9:27 ` Thomas Weißschuh
2025-09-21 8:19 ` Willy Tarreau
2025-09-19 15:34 ` [PATCH v2 11/11] um: switch ptrace FP register access to nolibc Benjamin Berg
2025-09-19 20:50 ` kernel test robot
2025-09-19 15:40 ` [PATCH v2 00/11] Start porting UML " Christoph Hellwig
2025-09-22 7:41 ` Johannes Berg
2025-09-23 23:58 ` Hajime Tazaki
2025-09-24 3:32 ` Willy Tarreau
2025-09-24 7:55 ` Benjamin Berg
2025-09-25 1:05 ` Hajime Tazaki
2025-09-20 9:30 ` Thomas Weißschuh
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=20250919153420.727385-1-benjamin@sipsolutions.net \
--to=benjamin@sipsolutions.net \
--cc=acme@redhat.com \
--cc=benjamin.berg@intel.com \
--cc=linux-kernel@vger.kernel.org \
--cc=linux-kselftest@vger.kernel.org \
--cc=linux-um@lists.infradead.org \
--cc=linux@weissschuh.net \
--cc=w@1wt.eu \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for read-only IMAP folder(s) and NNTP newsgroup(s).