Re: [PATCH v2 00/20] y2038: libcobalt: Allow both, native + time64_t interfaces at the same time

Jan Kiszka <[email protected]>
Newsgroups dev.linux.lists.xenomai
Message-ID <[email protected]>
On 02.03.26 10:37, Florian Bezdeka wrote:
> 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 <[email protected]>
> Cc: Jan Kiszka <[email protected]>
> 
> Signed-off-by: Florian Bezdeka <[email protected]>
> ---
> Changes in v2:
> - SPDX headers for all created files
> - Add copyright notice to all created files
>   I checked all moved code parts for their previous authors and in case
>   there was a copyright notice in the old location I copied it over
> - Link to v1: https://lore.kernel.org/r/20260220-wip-flo-fix-time64-32bit-native-v1-0-731c773e72cc@siemens.com
> 
> ---
> Florian Bezdeka (20):
>       lib/cobalt: Introduce cond.h
>       lib/cobalt: Introduce mq.h
>       lib/cobalt: Introduce mutex.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             |   85 ++++
>  lib/cobalt/internal.h         |    5 -
>  lib/cobalt/mq.c               |  151 +-----
>  lib/cobalt/mq.h               |   39 ++
>  lib/cobalt/mutex.c            |  211 +-------
>  lib/cobalt/mutex.h            |   97 ++++
>  lib/cobalt/rtdm.c             |  105 +---
>  lib/cobalt/rtdm.h             |   37 ++
>  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  | 1097 +++++++++++++++++++++++++++++++++++++++++
>  scripts/xeno-config-cobalt.in |    5 +
>  21 files changed, 1439 insertions(+), 1281 deletions(-)
> ---
> base-commit: c7226edf0167451a290b9a82e7331a15cc88122b
> change-id: 20260219-wip-flo-fix-time64-32bit-native-8e5d8b7c7ca8
> 
> Best regards,

Thanks, applied.

Jan

-- 
Siemens AG, Foundational Technologies
Linux Expert Center
lmpx.com only provides a reader for public news (NNTP) servers. It is not affiliated with the servers or forums shown here and is not responsible for the content of articles, which is written by their respective authors.