Re: [patch] fat/msdos/vfat crud removal

David Woodhouse
2002-06-09T19:34:05Z

thunder@ngforever.de said:
> Stop! The reason for _some_ includes there is actually to keep some
> definitions in sync with the kernel, e.g. errno values! Stopping them
> altogether is a Really Bad Thing[tm], IMO, since it means users will
> have to get a new glibc with almost every kernel they have (don't
> tell me we don't change much!).

Er, no. If you randomly reassign errno values, the world breaks.
Don't even contemplate it.

The _only_ thing that userspace could possibly pick from the kernel headers
is the ABI. But if the ABI changes, that _must_ be a carefully-considered
thing.

To that end, we should put '#ifndef __KERNEL__ #error' into all kernel
headers, and C libraries should maintain a _separate_ set of headers which
contain only the ABI definitions and are suitable for userspace. I believe
dietlibc already does this, and recent Red Hat distributions contain a
'glibc-kernheaders' package with a slightly-sanitised version of kernel
headers, which should become more sanitised over time.

--
dwmw2