All of lore.kernel.org
 help / color / mirror / Atom feed
* [PATCH 00/20] y2038: libcobalt: Allow both, native + time64_t interfaces at the same time
@ 2026-02-20  9:08 Florian Bezdeka
  2026-02-20  9:08 ` [PATCH 01/20] lib/cobalt: Introduce cond.h Florian Bezdeka
                   ` (20 more replies)
  0 siblings, 21 replies; 37+ messages in thread
From: Florian Bezdeka @ 2026-02-20  9:08 UTC (permalink / raw)
  To: Xenomai; +Cc: Jan Kiszka, Florian Bezdeka

Hi all,

The current time64_t / y2038 support switched libcobalt to time64_t
only, removing the interfaces for the native time_t type.

With that series applied both worlds can live together in one libcobalt
build which should hopefully increase the backward compatibility a bit.

All time64_t services have been moved into a separate compile unit that
can be compiled twice now, if necessary. Unaffected environments like
x86_64 won't do that. It's not necessary as the native type is already
64 bit.

The most tricky part where the __RT(), __STD() and __WRAP() macros.
That has been solved by redirects on linker level.

To: Xenomai <xenomai@lists.linux.dev>
Cc: Jan Kiszka <jan.kiszka@siemens.com>

Signed-off-by: Florian Bezdeka <florian.bezdeka@siemens.com>
---
Florian Bezdeka (20):
      lib/cobalt: Introduce cond.h
      lib/cobalt: Introduce mutex.h
      lib/cobalt: Introduce mq.h
      lib/cobalt: Introduce rtdm.h
      lib/cobalt: Introduce wrappers_time64.c
      lib/cobalt: clock: Move all time64 related services to wrappers_time64.c
      lib/cobalt: cond: Move all time64 related services to wrappers_time64.c
      lib/cobalt: mq: Move all time64 related services to wrappers_time64.c
      lib/cobalt: mutex: Move all time64 related services to wrappers_time64.c
      lib/cobalt: mutex: Provide time64 variant of pthread_timedmutex_lock_interruptible_np
      lib/cobalt: rtdm: Move all time64 related services to wrappers_time64.c
      lib/cobalt: select: Move select services into wrappers_time64.c
      lib/cobalt: semaphore: Move time64 related services to wrappers_time64.c
      lib/cobalt: signal: Move time64 related services to wrappers_time64.c
      lib/cobalt: timer: Move all time64 related services to wrappers_time64.c
      lib/cobalt: timerfd: Move time64 related services to wrappers_time64.c
      lib/cobalt: Move XN_USE_TIME64_SYSCALL to wrappers_time64.c
      lib/cobalt: Finally build the native time_t interfaces on top
      lib/cobalt: thread: Cleanup and reorder includes
      scripts/xeno-config: Allow disabling the y2038 / time64_t support

 include/cobalt/pthread.h      |   16 +-
 include/cobalt/wrappers.h     |   13 +-
 lib/cobalt/Makefile.am        |   27 +-
 lib/cobalt/clock.c            |  309 +-----------
 lib/cobalt/cond.c             |  154 +-----
 lib/cobalt/cond.h             |   78 +++
 lib/cobalt/internal.h         |    5 -
 lib/cobalt/mq.c               |  151 +-----
 lib/cobalt/mq.h               |   34 ++
 lib/cobalt/mutex.c            |  211 +-------
 lib/cobalt/mutex.h            |   90 ++++
 lib/cobalt/rtdm.c             |  105 +---
 lib/cobalt/rtdm.h             |   32 ++
 lib/cobalt/select.c           |  108 ----
 lib/cobalt/semaphore.c        |   67 +--
 lib/cobalt/signal.c           |   26 +-
 lib/cobalt/thread.c           |    8 +-
 lib/cobalt/timer.c            |  121 +----
 lib/cobalt/timerfd.c          |   39 --
 lib/cobalt/wrappers_time64.c  | 1089 +++++++++++++++++++++++++++++++++++++++++
 scripts/xeno-config-cobalt.in |    5 +
 21 files changed, 1407 insertions(+), 1281 deletions(-)
---
base-commit: 363115d15682076ea0766a55c3c5b1eed87e1225
change-id: 20260219-wip-flo-fix-time64-32bit-native-8e5d8b7c7ca8

Best regards,
-- 
Florian Bezdeka <florian.bezdeka@siemens.com>


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

end of thread, other threads:[~2026-02-27 12:07 UTC | newest]

Thread overview: 37+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2026-02-20  9:08 [PATCH 00/20] y2038: libcobalt: Allow both, native + time64_t interfaces at the same time Florian Bezdeka
2026-02-20  9:08 ` [PATCH 01/20] lib/cobalt: Introduce cond.h Florian Bezdeka
2026-02-20 14:33   ` Jan Kiszka
2026-02-20  9:08 ` [PATCH 02/20] lib/cobalt: Introduce mutex.h Florian Bezdeka
2026-02-20  9:08 ` [PATCH 03/20] lib/cobalt: Introduce mq.h Florian Bezdeka
2026-02-20  9:08 ` [PATCH 04/20] lib/cobalt: Introduce rtdm.h Florian Bezdeka
2026-02-20  9:08 ` [PATCH 05/20] lib/cobalt: Introduce wrappers_time64.c Florian Bezdeka
2026-02-20 14:36   ` Jan Kiszka
2026-02-20 14:46     ` Florian Bezdeka
2026-02-20 14:47       ` Jan Kiszka
2026-02-27 11:56     ` Florian Bezdeka
2026-02-20  9:08 ` [PATCH 06/20] lib/cobalt: clock: Move all time64 related services to wrappers_time64.c Florian Bezdeka
2026-02-20  9:08 ` [PATCH 07/20] lib/cobalt: cond: " Florian Bezdeka
2026-02-20  9:08 ` [PATCH 08/20] lib/cobalt: mq: " Florian Bezdeka
2026-02-20  9:08 ` [PATCH 09/20] lib/cobalt: mutex: " Florian Bezdeka
2026-02-20  9:08 ` [PATCH 10/20] lib/cobalt: mutex: Provide time64 variant of pthread_timedmutex_lock_interruptible_np Florian Bezdeka
2026-02-20  9:08 ` [PATCH 11/20] lib/cobalt: rtdm: Move all time64 related services to wrappers_time64.c Florian Bezdeka
2026-02-20  9:08 ` [PATCH 12/20] lib/cobalt: select: Move select services into wrappers_time64.c Florian Bezdeka
2026-02-20 14:38   ` Jan Kiszka
2026-02-20 14:57     ` Florian Bezdeka
2026-02-20  9:08 ` [PATCH 13/20] lib/cobalt: semaphore: Move time64 related services to wrappers_time64.c Florian Bezdeka
2026-02-20  9:08 ` [PATCH 14/20] lib/cobalt: signal: " Florian Bezdeka
2026-02-20  9:08 ` [PATCH 15/20] lib/cobalt: timer: Move all " Florian Bezdeka
2026-02-20  9:08 ` [PATCH 16/20] lib/cobalt: timerfd: Move " Florian Bezdeka
2026-02-20  9:09 ` [PATCH 17/20] lib/cobalt: Move XN_USE_TIME64_SYSCALL " Florian Bezdeka
2026-02-20  9:09 ` [PATCH 18/20] lib/cobalt: Finally build the native time_t interfaces on top Florian Bezdeka
2026-02-20  9:09 ` [PATCH 19/20] lib/cobalt: thread: Cleanup and reorder includes Florian Bezdeka
2026-02-20  9:09 ` [PATCH 20/20] scripts/xeno-config: Allow disabling the y2038 / time64_t support Florian Bezdeka
2026-02-20 14:50   ` Jan Kiszka
2026-02-20 15:05     ` Florian Bezdeka
2026-02-20  9:28 ` [PATCH 00/20] y2038: libcobalt: Allow both, native + time64_t interfaces at the same time Philippe Gerum
2026-02-20  9:36   ` Jan Kiszka
2026-02-20 11:12     ` Philippe Gerum
2026-02-20 11:19       ` Florian Bezdeka
2026-02-20 15:06         ` Philippe Gerum
2026-02-20 11:20       ` Philippe Gerum
2026-02-20 11:49       ` Jan Kiszka

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.