Project:Time64

From Adélie Linux

Project Time64 is a multidisciplinary project involving developers and stakeholders of Adélie Linux, the musl libc, the Linux kernel, and others to change the definition of the time_t type to 64 bits on 32-bit CPU architectures.


Build failures

This table contains the failures seen building on ppc32/i586/armv7.

Package Issue(s) Patch Upstream ref (if any)
GCC std::chrono rt mode for libstdcxx-time nsz says GCC 11 will be fixed
doxygen raw gettimeofday (time32 stub) Commit ✗ Not sent upstream yet
mtdev input_event Commit ✓ Patched in release 1.1.6
libinput input_event Commit ✓ Sent upstream, applied as !369
v4l-utils input_event Commit ✗ Not sent upstream yet
xf86-input-synaptics input_event Commit ✗ Not sent upstream yet
mdadm printf format Commit ✗ Not sent upstream yet
x11vnc input_event Commit ✓ Upstreamed by Khem Raj, !117
qemu input_event Commit ✗ Not sent upstream yet
OpenSSH syscall changes break seccomp filters Commit ✓ Yes, but unreleased
e2fsprogs printf format Commit ✗ Not sent upstream yet
BDB Internal copy of timeval struct Commit ✗ Unmaintained branch


Potentially affected packages

This table was initially created by arnd using Debian Codesearch.

Package Issue(s) Fixed upstream Patches (if any)
Linux kernel Many ✓ 5.6 y2038-endgame branch
fpc time_t definition, syscalls Unknown
ldc time_t definition, syscalls Unknown
Mono time_t definition, syscalls ✗ No
emscripten Uses code from musl 1.0 ✗ No
Qemu syscalls, futex, struct input_event Unknown
ltp syscalls Unknown
strace syscalls, SO_TIMESTAMP*, IPC_STAT != 2 Partial note on musl list about IPC_STAT issue
systemtap syscalls Unknown
sysdig syscalls Unknown
GDB syscalls? Unknown no issues encountered on ppc32 nor i586
golang syscalls ✗ No GCC Go patched locally
firejail seccomp Unknown
Firefox seccomp, futex ✗ No
Thunderbird Same codebase as Firefox ✗ No
Tor seccomp Unknown
VSFTP seccomp Unknown
Mesa seccomp Unknown
libinput input_event Unreleased !346, !369
py3-evdev input_event ✓ 1.3.0 Upstream commit
Rust struct input_event, SO_TIMESTAMP* ✗ No https://github.com/rust-lang/libc/blob/master/src/unix/linux_like/linux/mod.rs#L174
bucklespring struct input_event Unknown
mokomaze struct input_event Unknown
lua-ljsyscall time_t definition, syscalls, struct input_event Unknown
ext2/3 On-disk timestamp ✗ No No mitigation at present
XFS On-disk timestamp ✗ No Thread
libxfs file system layout, ioctls ✗ No
alsa-lib asound.h UAPI Unreleased Lines 30-32 of recipe kill vendored headers
tinyalsa asound.h UAPI Unknown
RetroArch asound.h UAPI Unknown
GNU cpio Timestamps ✓ 2.7
Coda FS Kernel ABI ✓ 7.0.6 Upstream commit
OpenNTPd NTP time Unknown Thread
BlueZ hcidump kernel ABI ✗ No TODO (Arnd)


Raw system calls

The following packages use raw system calls which may cause issues on time64 systems:

__NR_clock_gettime

  • mariadb
  • busybox-runsv
  • unscd
  • swi-prolog
  • papi

__NR_gettimeofday

  • qt < 3.x
  • valgrind
  • iPXE
  • umview
  • stress-ng
  • virtualbox


Futex

The following projects use futex, which may or may not be affected by the time64 change:

  • supercollider (not in user/)
  • capnproto (not in user/)
  • cogl
  • Kamailio (not in user/)
  • Boost
  • nsync (not in user/)
  • Ceph
  • DirectFB (not in user/)
  • liburcu (not in user/)
  • google-perftools (not in user/)