Re: [PATCH] 2.4.21-rc1: byteorder.h breaks with __STRICT_ANSI__ defined (trivial)

David S. Miller
2003-05-07T06:37:44Z

From: Christoph Hellwig <hch@infradead.org>
Date: Wed, 7 May 2003 07:41:11 +0100

If we have kernel declaration in those ABI headers you'd need an
updated abi-headers package for each change in one of your
prototypes, rendering it almost useless.

This reminds me about why this topic is actually a sticky area.

The main argument goes like this, I compile glibc against kernel
headers FOO therefore it is illegal to update headers that user apps
could see (without rebuilding GLIBC against them first) because this
could indirectly change glibc "stuff".

For this to work you really need two classes of headers, one the defines
ABIs and only ABIs and one that's for all kernel internal stuff.

I agree that this kind of splitup is desirable. As I mentioned,
things like {linux,net}/xfrm.h are probably the best model.

Thanks for reminding me about this, I'll start to split rtnetlink.h
and friends up.