Re: [RFC] Splitting out kernel<=>userspace ABI headers

From: H. Peter Anvin
Date: Sat Sep 03 2005 - 10:02:00 EST


Erik Andersen wrote:

That is certainly not what I was proposing. Why are you bringing
sys/stat.h into this? The contents of sys/stat.h are entirely up
to SUSv3 and the C library to worry about. Nobody has proposed
mucking with that. I dunno about your C library, but mine
doesn't include linux/* header files (not even sys/stat.h). And
I'd really like to fix uClibc to not use any asm/* either, since
much of it is entirely unsuitable for user space.


I'm in particular commenting on the stat structure involved with the kernel interface.

I am proposing a single consistant policy for all of linux/* such
that all linux/* headers that need integer types of a specific
size shall #include unistd.h and use ISO C99 types rather that
the ad-hoc kernel types they now use.

The policy has _long_ been that user space must never include
linux/* header files. Since we are now proposing a project to
reverse this policy, the long standing policy making linux/*
verboten now leaves us completely free to do pretty much anything
with linux/*. And what I want is for linux/* to use the shiny
ISO C99 types.

And I'm pointing out that that you're not only excluding a whole major portion of the kernel ABI from this mechanism if you do that, you're effectively requiring new mechanisms every time something is included into POSIX over time! If that isn't insane, I don't know what is.

-hpa
-
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/