Re: include file conflict

Ion Badulescu (ionut@moisil.cs.columbia.edu)
Sat, 14 Nov 1998 03:07:33 -0500


On 11 Nov 1998 02:24:54 GMT, H. Peter Anvin wrote:
>
> I think there are legitimate uses for the <linux/*.h> style headers,
> even within glibc. For example <linux/auto_fs.h> contains the
> communications protocol which the kernel uses to talk to the autofs
> daemon.
>
> However, kernel headers should use #ifdef __KERNEL__ for most things
> and only export things that are truly needed in user space.

Finally a reasonable attitude. :-) Obviously, anything bypassing the libc
interface needs to use kernel protocols, data type, data structures, etc.
And -- Linus knows this fact well, and uses it at times -- a compile error
due to a header file that changed is much preferrable to a silent data
corruption from an application that compiled correctly with its own headers.

The am-utils has the same problem as autofs, only it's larger by about
one order of magnitude. Just imagine trying to compile the beast under
libc5 _and_ glibc, kernel 2.0 _and_ 2.1, not to count some 10 other
OS's, and you get the idea. To call the resulting configure script "complex"
is a gross understatement.

I am willing to clean up the kernel headers with proper #ifdef __KERNEL__
and #ifdef __KERNEL_STRICT_NAMES, but I'd like to know that my work will
have some finality. Would such patches be accepted still in 2.1 or am I
wasting my time?

Thanks,
Ion

-- 
  It is better to keep your mouth shut and be thought a fool,
            than to open it and remove all doubt.

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