linux-um.lists.infradead.org archive mirror
 help / color / mirror / Atom feed
* [PATCH v2 00/11] Start porting UML to nolibc
@ 2025-09-19 15:34 Benjamin Berg
  2025-09-19 15:34 ` [PATCH v2 01/11] tools compiler.h: fix __used definition Benjamin Berg
                   ` (12 more replies)
  0 siblings, 13 replies; 35+ messages in thread
From: Benjamin Berg @ 2025-09-19 15:34 UTC (permalink / raw)
  To: linux-um, Willy Tarreau, Thomas Weißschuh, linux-kselftest,
	Arnaldo Carvalho de Melo
  Cc: linux-kernel, Benjamin Berg

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



^ permalink raw reply	[flat|nested] 35+ messages in thread

end of thread, other threads:[~2025-09-25  1:06 UTC | newest]

Thread overview: 35+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2025-09-19 15:34 [PATCH v2 00/11] Start porting UML to nolibc Benjamin Berg
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

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 NNTP newsgroup(s).