public inbox for libc-help@sourceware.org
 help / color / mirror / Atom feed
From: Adhemerval Zanella Netto <adhemerval.zanella@linaro.org>
To: Florian Weimer <fweimer@redhat.com>, Rich Felker <dalias@libc.org>
Cc: "Antonios Salios via Libc-help" <libc-help@sourceware.org>,
	"Antonios Salios" <antonios@mwa.re>,
	"Jan Henrik Weinstock" <jan@mwa.re>,
	"Lukas Jünger" <lukas@mwa.re>
Subject: Re: 64 bit time_t on riscv32
Date: Tue, 16 Jan 2024 13:29:51 -0300	[thread overview]
Message-ID: <a225083b-466f-479d-9667-4939ec95c869@linaro.org> (raw)
In-Reply-To: <87r0ih1c4g.fsf@oldenburg.str.redhat.com>



On 16/01/24 13:22, Florian Weimer wrote:
> * Rich Felker:
> 
>> On Tue, Jan 16, 2024 at 04:46:17PM +0100, Florian Weimer wrote:
>>> * Adhemerval Zanella Netto:
>>>
>>>> My understanding was __USE_TIME_BITS64 would be required only for ABIs
>>>> that actually would multiple time_t sizes and the glibc 64 bit time_t 
>>>> supported was added on this assumption.  However, the design document 
>>>> does state __USE_TIME_BITS64 would be defined even for architectures 
>>>> where is does not require it.  I it was not really caught in development
>>>> because the design creator was not really much involved at the time.
>>>>
>>>> I think it should be feasible to fix it, although backporting it would
>>>> generate a quite large patch.
>>>
>>> It will break applications that use __USE_TIME_BITS64 with glibc's
>>> current semantics centered on time64 redirects (incorrectly, of
>>> course—it's an internal macro).  I think the use in the kernel is
>>> probably easier to address, and it has to be changed for compatibility
>>> with other libcs anyway.
>>
>> If there are applications assuming __USE_TIME_BITS64 implies redirects
>> and doing some hack around that, they really need to be fixed not to
>> do that. It will break on musl with (not yet merged) rv32 port as well
>> as any future 32-bit ports, which won't have any redirects because
>> there is no legacy 32-bit time_t ABI to support.
> 
> That's actually not a problem because __USE_TIME_BITS64 is not defined
> on rv32 et al. (hence the complaint about what the UAPI headers are
> doing).

A possible fix would just check the redirection with 

  if __USE_TIME_BITS64 && __TIMESIZE == 32

The code is already poking an implementation detail, so it can just
continue to mimic what the installed header would do.

  reply	other threads:[~2024-01-16 16:29 UTC|newest]

Thread overview: 12+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2024-01-15 12:52 Antonios Salios
2024-01-15 13:40 ` Florian Weimer
2024-01-15 19:55   ` Adhemerval Zanella Netto
2024-01-15 20:15     ` Adhemerval Zanella Netto
2024-01-15 20:29       ` Arnd Bergmann
2024-01-15 22:26     ` Rich Felker
2024-01-16 11:19       ` Adhemerval Zanella Netto
2024-01-16 15:46         ` Florian Weimer
2024-01-16 15:56           ` Rich Felker
2024-01-16 16:22             ` Florian Weimer
2024-01-16 16:29               ` Adhemerval Zanella Netto [this message]
2024-01-16 20:43               ` Rich Felker

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=a225083b-466f-479d-9667-4939ec95c869@linaro.org \
    --to=adhemerval.zanella@linaro.org \
    --cc=antonios@mwa.re \
    --cc=dalias@libc.org \
    --cc=fweimer@redhat.com \
    --cc=jan@mwa.re \
    --cc=libc-help@sourceware.org \
    --cc=lukas@mwa.re \
    /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).