From: Al Viro <viro@ftp.linux.org.uk>
To: Anton Altaparmakov <aia21@cam.ac.uk>
Cc: David Brownell <david-b@pacbell.net>,
Linus Torvalds <torvalds@linux-foundation.org>,
linux-kernel@vger.kernel.org
Subject: Re: [PATCH] ptrdiff_t is not uintptr_t, damnit
Date: Mon, 20 Aug 2007 01:57:43 +0100 [thread overview]
Message-ID: <20070820005743.GY21089@ftp.linux.org.uk> (raw)
In-Reply-To: <E83C36D0-B72E-4E70-BEF6-4AF54BAD2863@cam.ac.uk>
On Mon, Aug 20, 2007 at 01:29:21AM +0100, Anton Altaparmakov wrote:
> Hi,
>
> On 20 Aug 2007, at 01:19, David Brownell wrote:
> >On Sunday 19 August 2007, Al Viro wrote:
> >>is wrong; for one thing, it's a bad C (it's what uintptr_t is for;
> >>in general
> >>we are not even promised that ptrdiff_t is large enough to hold a
> >>pointer,
> >
> >ISTR we don't *have* a uintptr_t on all architectures, or that would
> >be the appropriate thing to use in these 32/64 bit ABI scenarios.
> >
> >
> >>Use unsigned long or uintptr_t instead.
> >
> >I suspect you mean "unsigned long long"...
>
> No he doesn't. "unsigned long" is guaranteed to be large enough to
> hold a pointer (at least on Linux anyway).
>
> On a 32-bit arch "unsigned long" is 32-bit and pointers are 32-bit.
... while unsigned long long is 64bit, which is definitely not what
one wants. For sparse it's "unsigned long is special".
FWIW, this patch puts it in linux/types.h as unsigned long. Eventually
we might want to switch explicit casts to/from unsigned long in such contexts
to uintptr_t, but for now we can't start complaining about unsigned long -
too many places are using it. I'll see what can be done to get sane
assistance from sparse in that kind of work...
next prev parent reply other threads:[~2007-08-20 0:58 UTC|newest]
Thread overview: 13+ messages / expand[flat|nested] mbox.gz Atom feed top
2007-08-19 22:55 [PATCH] ptrdiff_t is not uintptr_t, damnit Al Viro
2007-08-20 0:19 ` David Brownell
2007-08-20 0:29 ` Anton Altaparmakov
2007-08-20 0:57 ` Al Viro [this message]
2007-08-20 0:57 ` David Brownell
2007-08-20 3:01 ` Satyam Sharma
2007-08-20 3:26 ` David Brownell
2007-08-20 3:40 ` Al Viro
2007-08-20 4:17 ` David Brownell
2007-08-20 0:27 ` Anton Altaparmakov
2007-08-20 0:52 ` Al Viro
2007-08-20 1:12 ` David Brownell
2007-08-21 18:53 ` David Brownell
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=20070820005743.GY21089@ftp.linux.org.uk \
--to=viro@ftp.linux.org.uk \
--cc=aia21@cam.ac.uk \
--cc=david-b@pacbell.net \
--cc=linux-kernel@vger.kernel.org \
--cc=torvalds@linux-foundation.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.