From: Florian Weimer <fweimer@redhat.com>
To: Joseph Myers <joseph@codesourcery.com>
Cc: наб <nabijaczleweli@nabijaczleweli.xyz>,
"Alejandro Colomar (man-pages)" <alx.manpages@gmail.com>,
linux-man@vger.kernel.org, "Zack Weinberg" <zack@owlfolio.org>,
libc-alpha@sourceware.org
Subject: Re: [PATCH v3 3/3] system_data_types.7: note struct timespec::tv_nsec type for x32 and portability
Date: Tue, 07 Dec 2021 19:52:38 +0100 [thread overview]
Message-ID: <87v900nt6x.fsf@oldenburg.str.redhat.com> (raw)
In-Reply-To: <alpine.DEB.2.22.394.2112071841360.426691@digraph.polyomino.org.uk> (Joseph Myers's message of "Tue, 7 Dec 2021 18:43:56 +0000")
* Joseph Myers:
> On Tue, 7 Dec 2021, наб via Libc-alpha wrote:
>
>> Looking through "timespec" on Aardvark for prior art reveals nothing,
>> except for a likely resolution to any proposal of this sort:
>> > Although we agree that it would have been better if these functions had
>> > been designed this way to begin with, we believe that making the change
>> > now will break existing, conforming code with no real benefit.
>
> Geoff Clare said (austin-group-l, Thu, 29 May 2014 16:20:22 +0100):
>
> C11 requires tv_nsec to be type long, which means that if we change
> it to be a new snseconds_t type in Issue 8, we would have to require
> that snseconds_t is defined as long in order not to conflict with C11.
>
> and Rich Felker (Thu, 29 May 2014 13:08:59 -0400):
>
> This is just a linux kernel bug which needs to be fixed. They have a
> number of other such bugs in x32 too. It's possible to work around it
> in userspace on the library side (we do this in musl libc) but it's a
> bit costly/painful and glibc does not do so yet. There's an open bug
> for it which I filed:
>
> and I don't see any other responses in that discussion.
This came up again during the time64 work. The kernel was eventually
changed to ignore the padding, so userspace can use a long int type.
x32 wasn't changed for backwards compatibility reasons.
Thanks,
Florian
next prev parent reply other threads:[~2021-12-07 18:52 UTC|newest]
Thread overview: 31+ messages / expand[flat|nested] mbox.gz Atom feed top
2021-11-28 18:17 [PATCH 1/4] clock_getres.2, clock_nanosleep.2, io_getevents.2, nanosleep.2, poll.2, sched_rr_get_interval.2, select.2, sigwaitinfo.2, timer_settime.2, timerfd_create.2, utimensat.2, mq_receive.3, mq_send.3, pthread_tryjoin_np.3, sem_wait.3, system_data_types.7: standardise on struct timespec fields comments to ucase w/tv_nsec range наб
2021-11-28 18:17 ` [PATCH 2/4] poll.2, sigwaitinfo.2: fix struct timespec::tv_sec to be time_t, not long наб
2021-11-29 12:27 ` Alejandro Colomar (man-pages)
2021-11-28 18:17 ` [PATCH 3/4] clock_getres.2, clock_nanosleep.2, io_getevents.2, nanosleep.2, poll.2, sched_rr_get_interval.2, select.2, sigwaitinfo.2, timer_settime.2, timerfd_create.2, utimensat.2, mq_receive.3, mq_send.3, pthread_tryjoin_np.3, system_data_types.7: correct struct timespec::tv_nsec type for x32 наб
2021-11-29 9:45 ` Jakub Wilk
2021-11-29 12:31 ` Alejandro Colomar (man-pages)
2021-12-03 23:46 ` наб
2021-12-06 19:18 ` [PATCH 3/4] Many pages: " Alejandro Colomar (man-pages)
2021-12-06 20:11 ` [PATCH v2 0/4] timespec(3) migration наб
2021-12-06 20:12 ` [PATCH v2 1/4] clock_getres.2, clock_nanosleep.2, io_getevents.2, nanosleep.2, poll.2, sched_rr_get_interval.2, select.2, sigwaitinfo.2, timerfd_create.2, timer_settime.2, utimensat.2, mq_receive.3, mq_send.3, pthread_tryjoin_np.3, sem_wait.3: replace in-line struct timespec declarations with "timespec(3) structure" references наб
2021-12-06 21:14 ` Alejandro Colomar (man-pages)
2021-12-06 20:12 ` [PATCH v2 2/4] system_data_types.7: standardise on struct timespec fields comments to ucase w/tv_nsec range наб
2021-12-06 21:18 ` Alejandro Colomar (man-pages)
2021-12-06 20:12 ` [PATCH v2 3/4] system_data_types.7: correct struct timespec::tv_nsec type for x32 наб
2021-12-06 21:30 ` Alejandro Colomar (man-pages)
2021-12-06 22:03 ` [PATCH v3 3/3] system_data_types.7: note struct timespec::tv_nsec type for x32 and portability наб
2021-12-06 22:56 ` Alejandro Colomar (man-pages)
2021-12-06 23:31 ` наб
2021-12-07 0:38 ` Alejandro Colomar (man-pages)
2021-12-07 1:08 ` наб
2021-12-07 1:34 ` Alejandro Colomar (man-pages)
[not found] ` <a55c07d0-960f-4dfe-90bf-4fee33976198@www.fastmail.com>
[not found] ` <7c29781b-1030-44f9-b078-f5b09a14e321@gmail.com>
2021-12-07 1:41 ` наб
2021-12-07 18:43 ` Joseph Myers
2021-12-07 18:52 ` Florian Weimer [this message]
2022-01-03 15:44 ` наб
2022-01-03 16:54 ` Alejandro Colomar (man-pages)
2021-12-07 11:02 ` [PATCH v2 3/4] system_data_types.7: correct struct timespec::tv_nsec type for x32 Stefan Puiu
2021-12-07 11:05 ` Alejandro Colomar (man-pages)
2021-12-06 20:12 ` [PATCH v2 4/4] system_data_types.7: note that struct timespec::tv_nsec being long long on x32 is an extension наб
2021-11-28 18:17 ` [PATCH " наб
2021-11-29 12:26 ` [PATCH 1/4] clock_getres.2, clock_nanosleep.2, io_getevents.2, nanosleep.2, poll.2, sched_rr_get_interval.2, select.2, sigwaitinfo.2, timer_settime.2, timerfd_create.2, utimensat.2, mq_receive.3, mq_send.3, pthread_tryjoin_np.3, sem_wait.3, system_data_types.7: standardise on struct timespec fields comments to ucase w/tv_nsec range Alejandro Colomar (man-pages)
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=87v900nt6x.fsf@oldenburg.str.redhat.com \
--to=fweimer@redhat.com \
--cc=alx.manpages@gmail.com \
--cc=joseph@codesourcery.com \
--cc=libc-alpha@sourceware.org \
--cc=linux-man@vger.kernel.org \
--cc=nabijaczleweli@nabijaczleweli.xyz \
--cc=zack@owlfolio.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