From: Denis Vlasenko <vda@ilport.com.ua>
To: Kyle Moffett <mrmacman_g4@mac.com>
Cc: andersen@codepoet.org, "H. Peter Anvin" <hpa@zytor.com>,
linux-kernel@vger.kernel.org
Subject: Re: [RFC] Splitting out kernel<=>userspace ABI headers
Date: Sat, 3 Sep 2005 18:36:22 +0300 [thread overview]
Message-ID: <200509031836.22357.vda@ilport.com.ua> (raw)
In-Reply-To: <AFDE003F-F14F-42CE-B964-2E04A4402406@mac.com>
On Saturday 03 September 2005 08:55, Kyle Moffett wrote:
> On Sep 3, 2005, at 00:28:59, Erik Andersen wrote:
> >> Absolutely not. This would be a POSIX namespace violation; they
> >> *must* use double-underscore types.
> >
> > I assume you are worried about the stuff under asm that ends up
> > being included by nearly every header file in the world. Of
> > course asm must use double-underscore types. But the thing is,
> > the vast majority of the kernel headers live under
> > linux/include/linux/ and do not use double-underscore types, they
> > use kernel specific, non-underscored types such as s8, u32, etc.
> > My copy of IEEE 1003.1 and my copy of ISO/IEC 9899:1999 both fail
> > to prohibit using the shiny new ISO C99 type for the various
> > #include <linux/*> header files, which is what I was suggesting.
>
> Anything in linux/* that is included by userspace should not
> presume that stdint.h has already been included or include it on
> its own, because the userspace program may have already made its
> own definitions of uint32_t, or it may not want them defined at
> all.
Is this an excercise in academia? Userspace app which defines
uint32_t to anything different than 'typedef <appropriate int type>'
deserves the punishment, and one which does have such typedef
instead of #include stdint.h will not notice.
All these u32, uint32_t, __u32 end up typedef'ing to same
integer type anyway...
Why should we care of such 'struct uint32_t { ... };' pervert cases?
If we will do, I suspect we will end up with __________u32's.
We already have a lot of __'s:
linux/cache.h:#define ____cacheline_aligned __attribute__((__aligned__(SMP_CACHE_BYTES)))
linux/rcupdate.h: typeof(p) _________p1 = p; \
*three underscores* line count over kernel's include/:
# grep -r ___ . | wc -l
10129
and "only" two underscores:
# grep -r __ . | wc -l
72216
--
vda
next prev parent reply other threads:[~2005-09-03 15:36 UTC|newest]
Thread overview: 56+ messages / expand[flat|nested] mbox.gz Atom feed top
2005-09-02 3:00 [RFC] Splitting out kernel<=>userspace ABI headers Kyle Moffett
2005-09-02 13:41 ` Erik Andersen
2005-09-02 20:51 ` Kyle Moffett
2005-09-02 23:58 ` Erik Andersen
2005-09-03 0:07 ` H. Peter Anvin
2005-09-03 0:30 ` Kyle Moffett
2005-09-03 0:34 ` H. Peter Anvin
2005-09-03 0:50 ` Kyle Moffett
2005-09-03 4:28 ` Erik Andersen
2005-09-03 5:22 ` H. Peter Anvin
2005-09-03 5:50 ` Erik Andersen
2005-09-03 5:53 ` H. Peter Anvin
2005-09-03 6:41 ` Erik Andersen
2005-09-03 15:01 ` H. Peter Anvin
2005-09-03 15:19 ` H. Peter Anvin
2005-09-03 16:55 ` Kyle Moffett
2005-09-05 16:35 ` H. Peter Anvin
2005-09-05 23:28 ` Kyle Moffett
2005-09-06 1:29 ` [RFC][MEGAPATCH] Change __ASSEMBLY__ to __ASSEMBLER__ (defined by GCC from 2.95 to current CVS) Kyle Moffett
2005-09-10 8:40 ` Kyle Moffett
2005-09-10 8:45 ` Andrew Morton
2005-09-10 17:38 ` Kyle Moffett
2005-09-10 22:04 ` Andrew Morton
2005-09-11 0:33 ` Kyle Moffett
2005-09-11 0:48 ` Andrew Morton
2005-09-11 3:15 ` Kyle Moffett
2005-09-12 8:09 ` Paul Jackson
2005-09-12 15:19 ` H. Peter Anvin
2005-09-12 15:47 ` Paul Jackson
2005-09-12 17:17 ` Sam Ravnborg
2005-09-12 21:14 ` Paul Jackson
2005-09-12 21:39 ` Kyle Moffett
2005-09-12 17:18 ` H. Peter Anvin
2005-09-12 17:51 ` Kyle Moffett
2005-09-12 21:04 ` Paul Jackson
2005-09-14 13:56 ` Bill Davidsen
2005-09-15 21:53 ` Jeremy Fitzhardinge
2005-09-03 5:55 ` [RFC] Splitting out kernel<=>userspace ABI headers Kyle Moffett
2005-09-03 5:57 ` H. Peter Anvin
2005-09-03 6:05 ` Kyle Moffett
2005-09-03 15:36 ` Denis Vlasenko [this message]
2005-09-03 16:33 ` Kyle Moffett
2005-09-03 16:51 ` Denis Vlasenko
2005-09-14 13:46 ` Bill Davidsen
2005-09-14 17:01 ` Sam Ravnborg
2005-09-14 17:01 ` H. Peter Anvin
2005-09-14 18:14 ` Kyle Moffett
2005-09-14 19:09 ` linux-os (Dick Johnson)
2005-09-14 19:20 ` H. Peter Anvin
2005-09-14 19:46 ` Kyle Moffett
2005-09-02 21:42 ` Jeff Dike
2005-09-02 21:55 ` H. Peter Anvin
2005-09-02 22:44 ` Kyle Moffett
2005-09-02 23:24 ` H. Peter Anvin
2005-09-02 23:41 ` Kyle Moffett
2005-09-02 23:53 ` 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=200509031836.22357.vda@ilport.com.ua \
--to=vda@ilport.com.ua \
--cc=andersen@codepoet.org \
--cc=hpa@zytor.com \
--cc=linux-kernel@vger.kernel.org \
--cc=mrmacman_g4@mac.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.
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.