mailing list of musl libc
 help / color / mirror / code / Atom feed
From: Rich Felker <dalias@libc.org>
To: "H.J. Lu" <hjl.tools@gmail.com>
Cc: Catalin Marinas <catalin.marinas@arm.com>,
	Andrew Pinski <apinski@cavium.com>,
	"linux-arm-kernel@lists.infradead.org" 
	<linux-arm-kernel@lists.infradead.org>,
	LKML <linux-kernel@vger.kernel.org>,
	Andrew Pinski <pinskia@gmail.com>,
	musl@lists.openwall.com,
	GNU C Library <libc-alpha@sourceware.org>
Subject: Re: [PATCHv3 00/24] ILP32 support in ARM64
Date: Wed, 11 Feb 2015 14:47:41 -0500	[thread overview]
Message-ID: <20150211194741.GI23507@brightrain.aerifal.cx> (raw)
In-Reply-To: <CAMe9rOpr6j1siK5gJ_HPLTOfjG_sLOL48TFzaLx+shCS9O8ahA@mail.gmail.com>

On Wed, Feb 11, 2015 at 11:34:23AM -0800, H.J. Lu wrote:
> On Wed, Feb 11, 2015 at 11:25 AM, Rich Felker <dalias@libc.org> wrote:
> > On Wed, Feb 11, 2015 at 11:16:58AM -0800, H.J. Lu wrote:
> >> >> > I don't know if this has been discussed on libc-alpha yet or not, but
> >> >> > I think we need to open a discussion of how it relates to open glibc
> >> >> > bug #16437, which presently applies only to x32 (ILP32 ABI on x86_64):
> >> >> >
> >> >> > https://sourceware.org/bugzilla/show_bug.cgi?id=16437
> >> >>
> >> >> Please leave x32 out of this discussion.  I have resolved this bug
> >> >> as WONTFIX.
> >> >
> >> > From the glibc side, I thought things went by a consensus process
> >> > these days, not the old WONTFIX regime of he who shall not be named.
> >> > If this is not fixed for x32, then x32 cannot provide a conforming C
> >> > environment and thus it's rather a toy target. But I think we should
> >> > discuss this on libc-alpha. In the mean time please leave it REOPENED.
> >>
> >> As I said in PR,  the issue has been raised in Mar, 2012 when the
> >> x32 port was submitted.  It has been decided that x32 won't conform
> >> to tv_nsec, blksize_t, and suseconds_t as long.  I don't believe we
> >> will change them to conform to POSIX.
> >
> > I briefly reviewed that discussion and I think the decision made was
> > about an obscure POSIX requirement about supporting at least one
> > compilation environment where certain types have rank <= long. This is
> 
> The example you gave in PR is similar to
> 
> https://sourceware.org/ml/libc-alpha/2012-03/msg00456.html

Yes, but after that the conversation seemed to get derailed into the
blksize_t etc. stuff about "compilation environments" that's largely
irrelevant. I think this prevented the core tv_nsec issue from getting
discussed further, unless I'm missing part of that thread.

> > trivially satisfied if you consider x32 and x86_64 separate
> > compilation environments, but it's not related to the core issue: that
> > the definition of timespec violates core (not obscure) requirements of
> > both POSIX and C11. At the time you were probably unaware of the C11
> > requirement. Note that it's a LOT harder to effect change in the C
> > standard, so even if the Austin Group would be amenable to changing
> > the requirement for timespec to allow something like nseconds_t,
> > getting WG14 to make this change to work around a Linux/glibc mistake
> > does not sound practical.
> 
> That is very unfortunate.  I consider it is too late for x32 to change.

Why? It's hardly an incompatible ABI change, as long as the
kernel/libc fills the upper bits (for old programs that read them
based on the old headers) when structs are read from the kernel to the
application, and ignores the upper bits (potentially set or left
uninitialized by the application) when strings are passed from
userspace to the kernel. Newly built apps using the struct definition
with 32-bit tv_nsec would need new libc to ensure that the high bits
aren't interpreted, but this could be handled by symbol versioning.

Rich

  reply	other threads:[~2015-02-11 19:47 UTC|newest]

Thread overview: 39+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
     [not found] <20141002155217.GH32147@e104818-lin.cambridge.arm.com>
2015-02-10 18:13 ` Rich Felker
2015-02-11 17:39   ` Catalin Marinas
2015-02-11 19:05     ` Szabolcs Nagy
2015-02-11 19:22       ` [musl] " H.J. Lu
2015-02-11 19:50       ` arnd
2015-02-11 20:12         ` Rich Felker
2015-02-11 20:47           ` Jens Gustedt
2015-02-11 21:02           ` arnd
2015-02-11 21:09             ` arnd
2015-02-11 21:37             ` [musl] " Rich Felker
2015-02-16 17:20               ` Arnd Bergmann
2015-02-16 17:51                 ` [musl] " Rich Felker
2015-02-16 19:38                   ` Arnd Bergmann
2015-02-12  8:12       ` Szabolcs Nagy
2015-02-12 17:07         ` Catalin Marinas
2015-02-11 19:21     ` Rich Felker
2015-02-12 18:17       ` Catalin Marinas
2015-02-12 18:59         ` arnd
2015-02-13 13:33           ` Catalin Marinas
2015-02-13 16:30             ` Rich Felker
2015-02-13 17:33               ` Catalin Marinas
2015-02-13 18:37                 ` Rich Felker
2015-02-16 14:40                   ` Arnd Bergmann
2015-02-16 15:38                     ` Rich Felker
2015-02-16 16:54                       ` Arnd Bergmann
2015-02-11 18:33   ` H.J. Lu
2015-02-11 19:02     ` Rich Felker
2015-02-11 19:16       ` H.J. Lu
2015-02-11 19:25         ` Rich Felker
2015-02-11 19:34           ` H.J. Lu
2015-02-11 19:47             ` Rich Felker [this message]
2015-02-11 19:57               ` H.J. Lu
2015-02-11 20:15                 ` Andy Lutomirski
2015-02-12 15:50                   ` Catalin Marinas
2015-02-12 16:13                     ` Rich Felker
2015-02-12 16:30                     ` H.J. Lu
2015-02-12 17:00                       ` Rich Felker
2015-02-11 21:41       ` Joseph Myers
2015-02-11 19:04     ` Josiah Worcester

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=20150211194741.GI23507@brightrain.aerifal.cx \
    --to=dalias@libc.org \
    --cc=apinski@cavium.com \
    --cc=catalin.marinas@arm.com \
    --cc=hjl.tools@gmail.com \
    --cc=libc-alpha@sourceware.org \
    --cc=linux-arm-kernel@lists.infradead.org \
    --cc=linux-kernel@vger.kernel.org \
    --cc=musl@lists.openwall.com \
    --cc=pinskia@gmail.com \
    /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.
Code repositories for project(s) associated with this public inbox

	https://git.vuxu.org/mirror/musl/

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 NNTP newsgroup(s).