From: Florian Weimer <fweimer@redhat.com>
To: "Arsen Arsenović via Gcc" <gcc@gcc.gnu.org>
Cc: "Bruno Haible" <bruno@clisp.org>,
"Arsen Arsenović" <arsen@aarsen.me>,
"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,
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: Tue, 10 Sep 2024 18:23:22 +0200 [thread overview]
Message-ID: <87a5gfo4ud.fsf@oldenburg.str.redhat.com> (raw)
In-Reply-To: <86mskitf0d.fsf@aarsen.me> ("Arsen Arsenović via Gcc"'s message of "Sun, 08 Sep 2024 16:08:02 +0200")
* Arsen Arsenović via Gcc:
> 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.
Defaulting to 64-bit time_t would also make dlsym etc. work again. For
post-GLIBC_2.1 targets (where valid binaries are expected to use symbol
versioning) it's not absolutely required to do a soname bump, just
changing the symbol version baseline should be enough (set DEFAULT to
e.g. GLIBC_2.40 in shlib-versions). Old binaries will use
__libc_start_main@GLIBC_2.4 or __libc_start_main@GLIBC_2.34, and fail to
load. This could be a more source-compatible change becaue I suspect
not everyone uses LIBC_SO in <gnu/lib-names.h> to get the soname for
libc.so.
I do not have a strong opinion whether this should be done for most
32-bit targets. Except for i386, where I think we should aim to
preserve compatibility with legacy binaries for many years to come.
All these changes have implications for LSB complinace, as people keep
reminding us:
LoongArch glibc does not provide libutil shared object, against LSB 5.0
<https://sourceware.org/bugzilla/show_bug.cgi?id=31136>
But as I explained on the ticket, the way LSB is constructed, it's
surprisingly architecture-specific even in its generic parts, and 32-bit
Arm with its GLIBC_2.4 baseline won't have the required GLIBC_2.3.4
symbols (such as __chk_fail@GLIBC_2.3.4) anyway.
Thanks,
Florian
next prev parent reply other threads:[~2024-09-10 16:23 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ć
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 [this message]
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=87a5gfo4ud.fsf@oldenburg.str.redhat.com \
--to=fweimer@redhat.com \
--cc=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 an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.