
Glibc is still not Y2038 compliant by default by chmaynard
Most of my readers are probably aware of the Y2038 issue by now. If not, it refers to 3:14:07 UTC on January 19, 2038, when 32-bit time_t
will overflow. The Linux kernel has internally switched to 64-bit timekeeping several years ago, and Alpine made the jump to 64-bit time_t
with the release of Alpine 3.13.
In the GNU/Linux world, the GNU libc started to support 64-bit time_t
in version 2.34. Unfortunately for the rest of us, the approach they have used to support 64-bit time_t
is technically deficient, following in the footsteps of other never-fully-completed transitions.
the right way to transition to new ABIs
In the musl C library, which Alpine uses, and in many other UNIX C library implementations, time_t
is alway