[Bug libfortran/103886] New: Use 64-bit time_t on 32-bit glibc targets
jb at gcc dot gnu.org
gcc-bugzilla@gcc.gnu.org
Sat Jan 1 19:24:53 GMT 2022
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=103886
Bug ID: 103886
Summary: Use 64-bit time_t on 32-bit glibc targets
Product: gcc
Version: unknown
Status: UNCONFIRMED
Severity: enhancement
Priority: P3
Component: libfortran
Assignee: unassigned at gcc dot gnu.org
Reporter: jb at gcc dot gnu.org
Target Milestone: ---
In order to solve the Y2038 problem glibc now supports 64-bit time_t on 32-bit
platforms. As this is an ABI change, it has to be explicitly enabled through
setting the _TIME_BITS=64 preprocessor macro (similar to _FILE_OFFSET_BITS=64
to enable support for files larger than 2 GB).
See https://www.gnu.org/software/libc/manual/html_node/Feature-Test-Macros.html
and https://sourceware.org/glibc/wiki/Y2038ProofnessDesign
I don't think any time_t (or structs containing time_t members) are part of the
libgfortran ABI, so this should be an internal change not requiring any ABI
bumping.
Some other 32-bit targets already have 64-bit time_t; At least NetBSD, OpenBSD
and Linux with musl libc 1.2+, https://musl.libc.org/time64.html .
More information about the Gcc-bugs
mailing list