public inbox for distributions@lists.linux.dev
 help / color / mirror / Atom feed
From: "Arsen Arsenović" <arsen@aarsen.me>
To: Bruno Haible <bruno@clisp.org>
Cc: "Andreas K. Huettel" <dilfridge@gentoo.org>,
	 Wookey <wookey@wookware.org>,  Khem Raj <raj.khem@gmail.com>,
	 Paul Eggert <eggert@cs.ucla.edu>,
	 libc-alpha@sourceware.org, binutils@sourceware.org,
	 gcc@gcc.gnu.org,  config-patches@gnu.org,
	distributions@lists.linux.dev,  devel@lists.fedoraproject.org,
	glaubitz@debian.org,  maskray@google.com,
	 dickey@invisible-island.net, toolchain@gentoo.org
Subject: Re: Proposed CHOST change for the 64bit time_t transition
Date: Sun, 08 Sep 2024 16:08:02 +0200	[thread overview]
Message-ID: <86mskitf0d.fsf@aarsen.me> (raw)
In-Reply-To: <1868152.c1hCyg87lr@nimes> (Bruno Haible's message of "Sat, 07 Sep 2024 02:16:49 +0200")

[-- Attachment #1: Type: text/plain, Size: 2932 bytes --]

Bruno Haible <bruno@clisp.org> writes:

> Paul Eggert wrote:
>> I'd rather just switch, as Debian has.
>
> I'd go one step further, and not only
>   make the ABI transition without changing the canonical triplet,
> but also
>   make gcc and clang define -D_FILE_OFFSET_BITS=64 -D_TIME_BITS=64
>   among their predefines.

At that point, we should bump SONAME of libc and simply remove 32-bit
time support.  This would probably be okay generally.  Just doing the
predefine doesn't really fix anything - all the problems of not being
able to detect whether t64 support exists still persist, with no
mechanism to prevent mixing.

But, in the case we don't do a bump, why not update the tuple?  This'd
allow easy communication of whether we have 32 bit time to all
components of the system, and, in lieu of a better detection mechanism,
it'd allow anyone at a glance to look at a hosts tuple and see whether
it is compatible with something based on the tuple it was built on.

AFAIK the only reason not to do that is cosmetic - and it is ugly, but
this is for a dead platform, so I'm not too worried.

> Rationale:
>
>   * We want that a user of a distro with the new ABI can build
>     packages in the usual way:
>       - ./configure; make; make install (when using Autoconf), or
>       - make; make install  (when there is just a Makefile).
>     This *requires* that gcc and clang get patched, as indicated
>     above.
>     (Only changing Debian-specific files or variables won't do it.)
>
>   * Once this has been done, is there a need for a triplet change?
>     Not in the toolchain, and not in the packages either.
>     Needs that have been mentioned in [1][2]:
>
>       - Users would like to know in which ABI they / their distro lives.
>         This can be done through a property in /etc/os-release.
>
>       - "risks incompatibility with other distributions" [2]
>         What is the problem? Do we expect users to build binaries
>         on 32-bit distro X and try to run them on 32-bit distro Y?
>         Or do we expect binary package distributors (like Mozilla,
>         videolan.org) to do so?
>         It was my impression that this approach is doomed anyway,
>         because so many shared libraries have different major version
>         in distro X than in distro Y.

It is, many do it anyway, and what's worse, many users misguidedly
prefer it to better approaches (like the ones you mentioned).

>         And that such binary package distributors use flatpak, AppImage, etc.
>         precisely to get out of this dilemma.
>
>       - Building gcc and glibc might need some particular options.
>         Such options can be documented without requiring a new triplet.
>
> References:
> [1] https://wiki.debian.org/ReleaseGoals/64bit-time
> [2] https://wiki.gentoo.org/wiki/Project:Toolchain/time64_migration

-- 
Arsen Arsenović

[-- Attachment #2: signature.asc --]
[-- Type: application/pgp-signature, Size: 381 bytes --]

  reply	other threads:[~2024-09-08 14:08 UTC|newest]

Thread overview: 24+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2024-09-04 15:48 Proposed CHOST change for the 64bit time_t transition Andreas K. Huettel
2024-09-05  0:32 ` Oskari Pirhonen
2024-09-05  2:06 ` Wookey
2024-09-05  3:10   ` Khem Raj
2024-09-05 13:50     ` Andreas K. Huettel
2024-09-05 15:39       ` Paul Eggert
2024-09-05 16:33         ` Todd Vierling
2024-09-05 16:59           ` Andreas K. Huettel
2024-09-05 17:03         ` Andreas K. Huettel
2024-09-05 18:20           ` Paul Eggert
2024-09-05 21:54             ` Andreas K. Huettel
2024-09-06 16:06         ` Arsen Arsenović
2024-09-07  0:24           ` Bruno Haible
2024-09-07 11:52             ` Arsen Arsenović
2024-09-07  0:16         ` Bruno Haible
2024-09-08 14:08           ` Arsen Arsenović [this message]
2024-09-08 23:42             ` Jacob Bachmeyer
2024-09-09 23:08               ` Arsen Arsenović
2024-09-10 10:16                 ` Andreas K. Huettel
2024-09-10 14:11                   ` Todd Vierling
2024-09-10 16:23             ` Florian Weimer
2024-09-05 16:39       ` Khem Raj
2024-09-05 13:49   ` Andreas K. Huettel
2024-09-07 12:32   ` Michał Górny

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=86mskitf0d.fsf@aarsen.me \
    --to=arsen@aarsen.me \
    --cc=binutils@sourceware.org \
    --cc=bruno@clisp.org \
    --cc=config-patches@gnu.org \
    --cc=devel@lists.fedoraproject.org \
    --cc=dickey@invisible-island.net \
    --cc=dilfridge@gentoo.org \
    --cc=distributions@lists.linux.dev \
    --cc=eggert@cs.ucla.edu \
    --cc=gcc@gcc.gnu.org \
    --cc=glaubitz@debian.org \
    --cc=libc-alpha@sourceware.org \
    --cc=maskray@google.com \
    --cc=raj.khem@gmail.com \
    --cc=toolchain@gentoo.org \
    --cc=wookey@wookware.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