All of lore.kernel.org
 help / color / mirror / Atom feed
* [PATCH v3 00/14] tools/nolibc: always use 64-bit time-related types
@ 2025-12-20 13:55 Thomas Weißschuh
  2025-12-20 13:55 ` [PATCH v3 01/14] tools/nolibc/poll: use kernel types for system call invocations Thomas Weißschuh
                   ` (14 more replies)
  0 siblings, 15 replies; 19+ messages in thread
From: Thomas Weißschuh @ 2025-12-20 13:55 UTC (permalink / raw)
  To: Willy Tarreau, Shuah Khan
  Cc: Arnd Bergmann, linux-kernel, linux-kselftest,
	Thomas Weißschuh

nolibc currently uses 32-bit types for various APIs. These are
problematic as their reduced value range can lead to truncated values.

Intended for 6.19.

Signed-off-by: Thomas Weißschuh <linux@weissschuh.net>
---
Changes in v3:
- Only use _Static_assert() where available
- Link to v2: https://lore.kernel.org/r/20251122-nolibc-uapi-types-v2-0-b814a43654f5@weissschuh.net

Changes in v2:
- Drop already applied ino_t and off_t patches.
- Also handle 'struct timeval'.
- Make the progression of the series a bit clearer.
- Add compatibility assertions.
- Link to v1: https://lore.kernel.org/r/20251029-nolibc-uapi-types-v1-0-e79de3b215d8@weissschuh.net

---
Thomas Weißschuh (14):
      tools/nolibc/poll: use kernel types for system call invocations
      tools/nolibc/poll: drop __NR_poll fallback
      tools/nolibc/select: drop non-pselect based implementations
      tools/nolibc/time: drop invocation of gettimeofday system call
      tools/nolibc: prefer explicit 64-bit time-related system calls
      tools/nolibc/gettimeofday: avoid libgcc 64-bit divisions
      tools/nolibc/select: avoid libgcc 64-bit multiplications
      tools/nolibc: use custom structs timespec and timeval
      tools/nolibc: always use 64-bit time types
      selftests/nolibc: test compatibility of nolibc and kernel time types
      tools/nolibc: remove time conversions
      tools/nolibc: add compiler version detection macros
      tools/nolibc: add __nolibc_static_assert()
      selftests/nolibc: add static assertions around time types handling

 tools/include/nolibc/arch-s390.h             |   3 +
 tools/include/nolibc/compiler.h              |  24 +++++++
 tools/include/nolibc/poll.h                  |  14 ++--
 tools/include/nolibc/std.h                   |   2 +-
 tools/include/nolibc/sys/select.h            |  25 ++-----
 tools/include/nolibc/sys/time.h              |   6 +-
 tools/include/nolibc/sys/timerfd.h           |  32 +++------
 tools/include/nolibc/time.h                  | 102 +++++++++------------------
 tools/include/nolibc/types.h                 |  17 ++++-
 tools/testing/selftests/nolibc/nolibc-test.c |  27 +++++++
 10 files changed, 129 insertions(+), 123 deletions(-)
---
base-commit: 351ec197a66e47bea17c3d803c5472473640dd0d
change-id: 20251001-nolibc-uapi-types-1c072d10fcc7

Best regards,
-- 
Thomas Weißschuh <linux@weissschuh.net>


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

end of thread, other threads:[~2025-12-22  9:39 UTC | newest]

Thread overview: 19+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2025-12-20 13:55 [PATCH v3 00/14] tools/nolibc: always use 64-bit time-related types Thomas Weißschuh
2025-12-20 13:55 ` [PATCH v3 01/14] tools/nolibc/poll: use kernel types for system call invocations Thomas Weißschuh
2025-12-20 13:55 ` [PATCH v3 02/14] tools/nolibc/poll: drop __NR_poll fallback Thomas Weißschuh
2025-12-20 13:55 ` [PATCH v3 03/14] tools/nolibc/select: drop non-pselect based implementations Thomas Weißschuh
2025-12-20 13:55 ` [PATCH v3 04/14] tools/nolibc/time: drop invocation of gettimeofday system call Thomas Weißschuh
2025-12-20 13:55 ` [PATCH v3 05/14] tools/nolibc: prefer explicit 64-bit time-related system calls Thomas Weißschuh
2025-12-20 13:55 ` [PATCH v3 06/14] tools/nolibc/gettimeofday: avoid libgcc 64-bit divisions Thomas Weißschuh
2025-12-20 13:55 ` [PATCH v3 07/14] tools/nolibc/select: avoid libgcc 64-bit multiplications Thomas Weißschuh
2025-12-20 13:55 ` [PATCH v3 08/14] tools/nolibc: use custom structs timespec and timeval Thomas Weißschuh
2025-12-22  9:38   ` Arnd Bergmann
2025-12-20 13:55 ` [PATCH v3 09/14] tools/nolibc: always use 64-bit time types Thomas Weißschuh
2025-12-20 13:55 ` [PATCH v3 10/14] selftests/nolibc: test compatibility of nolibc and kernel " Thomas Weißschuh
2025-12-20 13:55 ` [PATCH v3 11/14] tools/nolibc: remove time conversions Thomas Weißschuh
2025-12-20 13:55 ` [PATCH v3 12/14] tools/nolibc: add compiler version detection macros Thomas Weißschuh
2025-12-22  8:48   ` Willy Tarreau
2025-12-20 13:55 ` [PATCH v3 13/14] tools/nolibc: add __nolibc_static_assert() Thomas Weißschuh
2025-12-22  8:47   ` Willy Tarreau
2025-12-20 13:55 ` [PATCH v3 14/14] selftests/nolibc: add static assertions around time types handling Thomas Weißschuh
2025-12-22  9:39 ` [PATCH v3 00/14] tools/nolibc: always use 64-bit time-related types Arnd Bergmann

This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.