All of lore.kernel.org
 help / color / mirror / Atom feed
From: "H. Peter Anvin" <hpa@zytor.com>
To: Mike Frysinger <vapier@gentoo.org>
Cc: Sam Ravnborg <sam@ravnborg.org>, Ingo Molnar <mingo@elte.hu>,
	tglx@linutronix.de, mingo@redhat.com,
	linux-kernel@vger.kernel.org
Subject: Re: [PATCH] x86 byteorder.h: use __asm__/__inline__ for userspace
Date: Sat, 27 Dec 2008 12:45:25 -0800	[thread overview]
Message-ID: <495693E5.3060604@zytor.com> (raw)
In-Reply-To: <200812271505.46872.vapier@gentoo.org>

Mike Frysinger wrote:
> On Saturday 27 December 2008 14:23:19 H. Peter Anvin wrote:
>> Mike Frysinger wrote:
>>> {su}{8,16,32,64} doesnt matter too much to me vs {u,}int_t{8,16,32,64}_t.
>>>  as long as people stop using __{su}{8,16,32,64}.  using the latter
>>> though does mean headers will more likely be "just usable" w/out needing
>>> linux/types.h include.  but then people would be forced to include
>>> stdint.h or similar before a linux header ... and that sucks.
>> That is a total non-starter.  This would mean that the C library itself
>> cannot use these headers without exporting additional symbols into the
>> namespace, *WHICH IT IS NOT ALLOWED TO DO*.
> 
> which is already happening today you mean.  grep the kernel headers and you'll 
> see a ton of [u]intXX_t hits.

Now, keep in mind this is only true for headers exported to userspace.
But this is correct - which is the base of this conversation (Sam
suggesting that they should be warned about, and I suggested
auto-converting them.)

> this logic though means that the kernel should not be defining any structures 
> that the C library is defining (such as asm-generic/fcntl.h).  such structs 
> should get renamed the same way as __[us]XX types

This is also correct, at least for exported headers.  For
kernel-internal headers, it doesn't matter.  Unfortunately we do have at
least several cases of exported interfaces with globally visible names.

There is one other exception of note, which is a header file which can
only be included by the userspace *application*, using a nonportable
top-level include (either directly <linux/*> or indirectly via <sys/*>).
 In those cases we can be looser about at least structure names.  This
is common for ioctl structures.

	-hpa


-- 
H. Peter Anvin, Intel Open Source Technology Center
I work for Intel.  I don't speak on their behalf.


  reply	other threads:[~2008-12-27 20:46 UTC|newest]

Thread overview: 33+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2008-12-27  6:50 [PATCH] x86 byteorder.h: use __asm__/__inline__ for userspace Mike Frysinger
2008-12-27  7:12 ` Sam Ravnborg
2008-12-27  7:55   ` Mike Frysinger
2008-12-27  8:47   ` Ingo Molnar
2008-12-27  9:21     ` Mike Frysinger
2008-12-27 18:57     ` Sam Ravnborg
2008-12-27 18:58       ` H. Peter Anvin
2008-12-27 19:12         ` Sam Ravnborg
2008-12-27 19:15           ` H. Peter Anvin
2008-12-27 19:21             ` Mike Frysinger
2008-12-27 19:23               ` H. Peter Anvin
2008-12-27 20:05                 ` Mike Frysinger
2008-12-27 20:45                   ` H. Peter Anvin [this message]
2008-12-27 20:57                     ` Mike Frysinger
2008-12-27 21:08                       ` H. Peter Anvin
2008-12-27 21:09                       ` H. Peter Anvin
2008-12-29 11:56                         ` Mike Frysinger
2008-12-29 17:44                           ` H. Peter Anvin
2008-12-27 19:24             ` Sam Ravnborg
2008-12-27 19:24               ` H. Peter Anvin
2008-12-29 11:12             ` [PATCH] kbuild: auto-convert size types in userspace headers Mike Frysinger
2008-12-29 14:03               ` Sam Ravnborg
2008-12-29 20:34                 ` Mike Frysinger
2008-12-29 20:36                   ` H. Peter Anvin
2008-12-29 22:04                     ` Mike Frysinger
2008-12-29 23:35                 ` H. Peter Anvin
2008-12-30 10:43                   ` Sam Ravnborg
2008-12-30 17:42                     ` H. Peter Anvin
2009-01-18 20:53                       ` Sam Ravnborg
2009-01-07 16:44           ` [PATCH] x86 byteorder.h: use __asm__/__inline__ for userspace David Woodhouse
2008-12-27 21:15     ` H. Peter Anvin
2008-12-28 22:35 ` Marcin Slusarz
2008-12-28 23:03   ` H. Peter Anvin

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=495693E5.3060604@zytor.com \
    --to=hpa@zytor.com \
    --cc=linux-kernel@vger.kernel.org \
    --cc=mingo@elte.hu \
    --cc=mingo@redhat.com \
    --cc=sam@ravnborg.org \
    --cc=tglx@linutronix.de \
    --cc=vapier@gentoo.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.