public inbox for libc-help@sourceware.org
 help / color / mirror / Atom feed
From: Adhemerval Zanella Netto <adhemerval.zanella@linaro.org>
To: Rich Felker <dalias@libc.org>
Cc: "Florian Weimer" <fweimer@redhat.com>,
	"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 08:19:05 -0300	[thread overview]
Message-ID: <efd00e22-d360-4e5a-8263-c2ef39df5d3e@linaro.org> (raw)
In-Reply-To: <20240115222648.GO22081@brightrain.aerifal.cx>



On 15/01/24 19:26, Rich Felker wrote:
> On Mon, Jan 15, 2024 at 04:55:30PM -0300, Adhemerval Zanella Netto wrote:
>>
>>
>> On 15/01/24 10:40, Florian Weimer via Libc-help wrote:
>>> * Antonios Salios via Libc-help:
>>>
>>>> According to a kernel maintainer, the __USE_TIME_BITS64 macro should be
>>>> set on architectures that use 64-bit time [2], otherwise the kernel
>>>> headers will not be able to pick the correct definition.
>>>
>>> __USE_TIME_BITS64 is an internal glibc macro.  It is not used on
>>> architectures which have a 64-bit time_t by default.
>>>
>>> Surely the UAPI headers know which time size the architecture uses in
>>> the kernel interface, and can be written arcordingly?
>>
>> The use of a glibc internal definition on a kABI header is not really
>> a good design.  This seems to be only user so far, so I suggest to fix
>> on the kernel to not tie to a glibc internal definition. 
>>
>> CCing Rich from musl that most likely would want to see this fixed. The
>> Android developers might be interested.
> 
> At the time this was done, I understood __USE_TIME_BITS64 as the
> contract between the userspace implementation and the kernel uapi
> headers to say "we use 64-bit time_t and want the 64-bit version of
> the types/ioctls/etc." That's what musl does -- we always define
> __USE_TIME_BITS64, unconditionally. I haven't read this whole thread,
> but it sounds like glibc's rv32 port is breaking their own contract
> and not defining __USE_TIME_BITS64...

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.

  reply	other threads:[~2024-01-16 11:19 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 [this message]
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
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=efd00e22-d360-4e5a-8263-c2ef39df5d3e@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).