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

Randy.Dunlap
2006-04-02T00:20:01Z

On Wed, 29 Mar 2006 22:26:41 +0000 Pavel Machek wrote:

> 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.

Ack, I agree.

---
~Randy