This is the mail archive of the
libc-alpha@sourceware.org
mailing list for the glibc project.
Re: First draft of the Y2038 design document
- From: Joseph Myers <joseph at codesourcery dot com>
- To: Rich Felker <dalias at libc dot org>
- Cc: Florian Weimer <fweimer at redhat dot com>, Albert ARIBAUD <albert dot aribaud at 3adev dot fr>, GNU C Library <libc-alpha at sourceware dot org>
- Date: Tue, 27 Oct 2015 00:32:50 +0000
- Subject: Re: First draft of the Y2038 design document
- Authentication-results: sourceware.org; auth=none
- References: <20151026001252 dot 590e09c1 dot albert dot aribaud at 3adev dot fr> <562DDD60 dot 2030803 at redhat dot com> <20151026132507 dot 620af723 dot albert dot aribaud at 3adev dot fr> <562E2B14 dot 3050208 at redhat dot com> <20151026200145 dot GH8645 at brightrain dot aerifal dot cx> <alpine dot DEB dot 2 dot 10 dot 1510262232550 dot 7391 at digraph dot polyomino dot org dot uk> <20151026234928 dot GK8645 at brightrain dot aerifal dot cx>
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