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 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.