Ioan Ionita wrote:
> Linus doesn't plan on making any header useable by userspace.

Not entirely true; from what I was reading in the archives, Linus
doesn't mind making the kernel headers usable by glibc.  But he
absolutely does not want random userspace programs using them, because
they will never follow namespace rules.  (They'll always be creating
structs, constants, etc., with names that might conflict with stuff that
the userspace program wants to use.)

glibc can use them, but he doesn't want glibc copying them into
/usr/include/bits or something like that.

> I don't quite understand his whole point.

His point seemed to be, "look at /usr/include/bits/fcntl.h".  When the
size of "struct flock" changes depending on whether the userspace
program wants large-file support or not, that's really hard to do in the
kernel headers.  He does *not* want the kernel headers to cater to this
kind of thing, and I agree with him completely on that.  This kind of
thing is for glibc to do, not the kernel.

(That's because fcntl.h is glibc's interface to the rest of userspace.
It needs to define that interface well enough that random userspace
programs will almost all work.  In the same vein, though, the Linux
kernel needs to define its interface to all of userspace, glibc or
anything that wants to bypass glibc -- and right now it doesn't do that
all that well.  Yes, the syscall interface is stable, but it isn't
documented; the easiest documentation is probably a set of headers.)

Attachment: signature.asc
Description: OpenPGP digital signature

-- 
http://linuxfromscratch.org/mailman/listinfo/lfs-dev
FAQ: http://www.linuxfromscratch.org/faq/
Unsubscribe: See the above information page

Reply via email to