[RFC][PATCH 1/2] Create initial kernel ABI header infrastructure

Pavel Machek pavel at ucw.cz
Thu Mar 30 00:26:41 CEST 2006


Hi!

> I plan to add a lot of other definitions to this file 
> later on.  For  example different architectures have 
> different notions of what a  __kernel_ino_t is (unsigned 
> int versus unsigned long).  I may rename  this file as 
> types.h, but from looking through the code I figure I'll  
> have enough general purpose declarations about "This 
> architecture has  blah" that a separate stddef.h file 
> will be worth it.
> 
> >(and... why do you prefix these with _KABI? that's a 
> >mistake imo.  Don't bother with that. Really. Either 
> >these need exporting to  userspace, but then either use 
> >__ as prefix or don't use a prefix.  But KABI.. No.)
> 
> According to the various standards all symbols beginning 
> with __ are  reserved for "The Implementation", including 
> the compiler, the  standard library, the kernel, etc.  In 
> order to avoid clashing with  any/all of those, I picked 
> the __KABI_ and __kabi_ prefixes for  uniqueness.  In 
> theory I could just use __, but there are problems  with 
> that too.  For example, note how the current compiler.h 
> files  redefine __always_inline to mean something kinda 
> different.  The GCC  manual says we should be able to 
> write this:

__KABI_ everywhere will just make your headers totally unreadable.
Please don't do that.

-- 
Thanks, Sharp!


More information about the llh-discuss mailing list