First draft of the Y2038 design document
Joseph Myers
joseph@codesourcery.com
Tue Oct 27 00:32:00 GMT 2015
On Mon, 26 Oct 2015, Rich Felker wrote:
> While _FILE_OFFSET_BITS or _TIME_BITS avoids an ABI transition in
> libc, they force an ABI transition for all third-party libraries that
> use the types. A library that uses off_t in its API and that's built
> with _FILE_OFFSET_BITS=64 is ABI-incompatible with a version of
> itself, or an application, built with _FILE_OFFSET_BITS=32. Thankfully
And Paul Eggert's analysis suggested that this ABI transition has largely
happened - that affected libraries on GNU/Linux systems generally are
built with _FILE_OFFSET_BITS=64 now.
> Another goal that might make this less distasteful than
> _FILE_OFFSET_BITS would be a planned timeline for switching the
> default to 64.
We need to get the fts patch reviewed. At some point I might look at
fixing bug 14106 (with new __*64 exports for all affected functions in any
supported ISO C / POSIX standard) if noone else gets there first. Then,
given Paul Eggert's analysis, we could seriously look at changing the
_FILE_OFFSET_BITS default (cf
<https://sourceware.org/ml/libc-alpha/2014-03/msg00290.html> as a patch
for that purpose - using _FILE_OFFSET_BITS=64 while building glibc itself
would be hard, and no doubt the same would apply for _TIME_BITS=64).
I think for _TIME_BITS we'd similarly need to wait for widespread use
before changing the default.
--
Joseph S. Myers
joseph@codesourcery.com
More information about the Libc-alpha
mailing list