bug-gnulib@gnu.org mirror (unofficial)
 help / color / mirror / Atom feed
From: Paul Eggert <eggert@cs.ucla.edu>
To: Florian Weimer <fweimer@redhat.com>
Cc: Gnulib bugs <bug-gnulib@gnu.org>, Bruno Haible <bruno@clisp.org>
Subject: Re: [PATCH] year2038: support glibc 2.34 _TIME_BITS=64
Date: Mon, 5 Jul 2021 13:14:08 -0700	[thread overview]
Message-ID: <80b0b2e9-fe2d-f11d-7644-058220394237@cs.ucla.edu> (raw)
In-Reply-To: <87y2akltl7.fsf@oldenburg.str.redhat.com>

On 7/5/21 7:32 AM, Florian Weimer wrote:

> I assume GNU clisp (at least in a full build) need to link to some
> system libraries which are not dual ABI (and probably never will be).
> If gnulib forces the use of time64 mode, then it creates a push towards
> time64 mode in those libraries, too.

Only in libraries that expose time_t (or time_t-dependent types like 
struct timespec and struct stat) directly to their users, right? For 
example, libselinux is unaffected by this issue even though it calls 
'lstat' internally, because its user-side ABI is unaffected by time_t width.

I take your point, though, that there will be a hassle with libraries 
whose user-side ABIs depend on time_t width. I expect distros will 
migrate these libraries and their users to _TIME_BITS=64 in an 
all-or-nothing way.

But again, this is not strictly a Gnulib issue. Apps like Coreutils 
should be fine even with the new Gnulib, as Coreutils doesn't use any of 
the problematic libraries. Conversely, apps that '#define _TIME_BITS 64' 
directly and use GLib (or whatever) can have the problem, even if they 
don't use Gnulib.

> It is not, gnulib is pushing things in one particular direction, a
> direction that not everyone working on the GNU toolchain agrees with.

That's OK; we needn't have universal agreement on this point, which is a 
good thing because it'd be impractical to insist on universal agreement. 
  There is a way to build with 32-bit time_t even in Gnulib-using apps, 
so distros wanting to stick with 32-bit time_t can build Gnulib-using 
apps with the appropriate flags so that they're still living in the 
32-bit time_t world for now.

> There are some major differences to _FILE_OFFSET_BITS=64:
> 
> There weren't 20+ years of backwards compatibility in 2005

Not on Linux-based platforms of course, but there were on BSD-based 
platforms with 20+ years of backwards compatibility back then (SunOS 
comes to mind). Admittedly there were fewer computers back then but the 
compatibility issues were quite extensive.

> 64-bit file offsets enabled real use cases. 

Designing devices now, that will be used past 2038, is a real use case.


  reply	other threads:[~2021-07-05 20:14 UTC|newest]

Thread overview: 13+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2021-07-02  2:33 [PATCH] year2038: support glibc 2.34 _TIME_BITS=64 Paul Eggert
2021-07-02 15:32 ` Florian Weimer
2021-07-02 22:29   ` Bruno Haible
2021-07-03  2:40     ` Paul Eggert
2021-07-05 14:32     ` Florian Weimer
2021-07-05 20:14       ` Paul Eggert [this message]
2021-07-06  1:34         ` Bruno Haible
2021-07-06 22:29           ` Paul Eggert
2021-07-06  2:11       ` Bruno Haible
2021-07-07  8:45         ` Florian Weimer
2021-07-07 21:58           ` Paul Eggert
2021-07-08  5:36             ` Florian Weimer
2021-07-17  3:39               ` Paul Eggert

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

  List information: https://lists.gnu.org/mailman/listinfo/bug-gnulib

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=80b0b2e9-fe2d-f11d-7644-058220394237@cs.ucla.edu \
    --to=eggert@cs.ucla.edu \
    --cc=bruno@clisp.org \
    --cc=bug-gnulib@gnu.org \
    --cc=fweimer@redhat.com \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for read-only IMAP folder(s) and NNTP newsgroup(s).