public inbox for libc-alpha@sourceware.org
 help / color / mirror / Atom feed
From: Florian Weimer <fweimer@redhat.com>
To: Sam James via Libc-alpha <libc-alpha@sourceware.org>
Cc: Sam James <sam@gentoo.org>,
	 Adhemerval Zanella Netto <adhemerval.zanella@linaro.org>
Subject: Re: time64 / Large File Support: 2) default time64 breaks legacy 32bit binaries
Date: Fri, 03 Feb 2023 18:52:27 +0100	[thread overview]
Message-ID: <874js2iqlg.fsf@oldenburg.str.redhat.com> (raw)
In-Reply-To: <119ADDA5-39E5-40EF-84CB-6524E20D8D36@gentoo.org> (Sam James via Libc-alpha's message of "Wed, 1 Feb 2023 19:47:01 +0000")

* Sam James via Libc-alpha:

>> On 1 Feb 2023, at 16:26, Florian Weimer <fweimer@redhat.com> wrote:
>> 
>> * Sam James via Libc-alpha:
>> 
>>> Right, it seems RH has some needs due to supporting existing
>>> customers, but I don't think this should unduly affect what glibc
>>> upstream does if there's one clear technical path forward. Nobody
>>> seems to actually dispute that the end-game here is a hard switch at
>>> some point. Just about when.
>> 
>> I'm mostly worried about the glibc project issuing a statement that
>> distributions should change the i386 ABI of libraries layered on top of
>> glibc.  I don't quite see how this is in anyone's interest.
>
> From my side, the issue is that glibc has enabled something which is
> technically necessary, but given no guidance. This enables people to
> footgun (and there's a risk of e.g. Debian moving first on this, they're
> very keen to) and cause problems for compatibility, at least for arm.)
>
> I get your perspective and if the result from this is "let's wait 2 more
> years and no general-purpose distributions should be making the switch",
> then that's not a terrible outcome. But providing no guidance whatsoever
> Is dangerous, I feel.
>
> Even "wait until we figure this out" as guidance would be useful.

I can try to write a patch to amend the old NEWS entry.

> Then we're back to "how do we enable people to make the transition
> where they have the freedom to rebuild userspace?"

It depends on whether these people want to do actual work.

The full rebuild solves only some of the issues.

For example, we didn't add a __dlsym_time64 alias, so each time some FFI
(think Python ctypes, but pretty much anything that doesn't use the C
headers in the intended way) looks up “gettimeofday”, they get the
32-bit version.  This issue won't go away with a rebuild.  It will still
be there as long as the rebuild uses the standard i386 ABI, even if we
add a configure switch that enables 64-bit time_t by default and glibc
is built using this switch.  Maybe we can patch things up upstream so
that it is possible to build with

DEFAULT GLIBC_2.34

in sysdeps/unix/sysv/linux/i386/shlib-versions and the time32 interfaces
are just gone.  But that results in a really non-standard ABI.

> One more thing: I'm fine with us saying to wait, because
> ideally we'd be done (lol) with Modern C porting first,
> because implicit function declarations affect doing mass-
> rebuilds anyway if someone is doing this via the package
> manager rather than hard-changing the glibc default.

You are right, there is a definite connection here: if you call any of
the time64 functions through an implicit declaration, you won't get the
64-bit redirects, either.  It's similar to the dlsym problem.

Thanks,
Florian


  parent reply	other threads:[~2023-02-03 17:52 UTC|newest]

Thread overview: 22+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2023-01-25 23:57 The time64 and Large File Support mess Andreas K. Huettel
2023-01-25 23:58 ` time64 / Large File Support: 1) [2.28 Regression]: New getdents{64} implementation breaks qemu-user Andreas K. Huettel
2023-01-26 12:21   ` Adhemerval Zanella Netto
2023-01-27 20:08     ` Andreas K. Huettel
2023-01-25 23:59 ` time64 / Large File Support: 2) default time64 breaks legacy 32bit binaries Andreas K. Huettel
2023-01-26  4:13   ` Paul Eggert
2023-01-26 13:21     ` Adhemerval Zanella Netto
2023-01-26 23:35       ` Sam James
2023-01-27 17:33         ` Adhemerval Zanella Netto
2023-02-01 16:26         ` Florian Weimer
2023-02-01 19:47           ` Sam James
2023-02-01 19:54             ` Sam James
2023-02-03 17:52             ` Florian Weimer [this message]
2023-02-01 22:22           ` Michael Hudson-Doyle
2023-02-03 14:17             ` Adhemerval Zanella Netto
2023-02-03 18:56               ` Florian Weimer
2023-01-27  2:38       ` Paul Eggert
2023-01-27 17:40         ` Adhemerval Zanella Netto
2023-01-27 23:51           ` Paul Eggert
2023-01-27 23:58             ` Joseph Myers
2023-02-01 12:27               ` Adhemerval Zanella Netto
2023-01-26 10:43   ` Florian Weimer

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

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

  git send-email \
    --in-reply-to=874js2iqlg.fsf@oldenburg.str.redhat.com \
    --to=fweimer@redhat.com \
    --cc=adhemerval.zanella@linaro.org \
    --cc=libc-alpha@sourceware.org \
    --cc=sam@gentoo.org \
    /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).