Re: kernel headers & userland

From: Eric W. Biederman (ebiederm@xmission.com)
Date: Mon Aug 06 2001 - 10:20:16 EST


Abraham vd Merwe <abraham@2d3d.co.za> writes:

> Hi Eric!
>
> > > Apparently Linus told Felix von Leitner (the author of dietlibc - a small,
> > > no nonsense glibc replacement C library) a while ago _not_ to include any
> > > linux kernel headers in userland (i.e. the C library headers in this case).
> > >
> > > This imho is obviously wrong since there are definitely a need for including
>
> > > kernel headers on a linux platform.
> >
> > ??? Necessity no. Are there practical benefits yes.
> >
> > The policy of the kernel developers in general is that if your apps
> > includes kernel headers and it breaks, it is a kernel problem.
> >
> > As for ioctl it is a giant mess that needs to be taken out and shot.
> >
> > And yes there are places where even the mighty glibc is in the wrong.
>
> Just acknowledging that it is a problem doesn't solve the problem though.
> The question remains how you approach the kernel headers issue at the moment?
>
> My guess is the only way is by including the kernel headers for now and
> change it one day when someone decides to clean up the mess.

Well. I'm not certain which mess you are refering too. A normal
user space program should never include kernel headers period. If it
does it should get fixed. At minimum ``cp include/linux/xx.h . ''

And probably something similiar for libc.

The problem is not that it is evil to include kernel headers but
instead that it is a maintenance nightmare from both the glibc and
the kernel to have one set of headers that satisfy both their.
purposes. Perhaps if someone built a set of headers with that in mind
it could work.

Eric

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



This archive was generated by hypermail 2b29 : Tue Aug 07 2001 - 21:00:39 EST