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: Rich Felker <dalias at libc dot org>
- To: Joseph Myers <joseph at codesourcery dot com>
- 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: Mon, 26 Oct 2015 20:35:37 -0400
- 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> <alpine dot DEB dot 2 dot 10 dot 1510270016590 dot 7391 at digraph dot polyomino dot org dot uk>
On Tue, Oct 27, 2015 at 12:32:50AM +0000, Joseph Myers wrote:
> 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.
Yes. It's just frustrating that applications have to explicitly
request it an many new developers aren't aware of this.
> > 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).
Yes, I agree these are practical concerns for changing the default
that should be fixed first. I just wish this had been planned and
dealt with 10+ years ago.
> I think for _TIME_BITS we'd similarly need to wait for widespread use
> before changing the default.
Agreed. It would be helpful to have an aim though, possibly
coordinated with major distributions. Otherwise I fear by default it
might end up being 2037. ;-)
Rich