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

David S. Miller
2003-05-07T06:14:05Z

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

On Tue, May 06, 2003 at 10:07:14PM -0700, David S. Miller wrote:
> For example, I just changed the values of a few SADB_EALG_* values in
> pfkeyv2.h. Now ipsec-tools is effectively broken. Oops, when will
> the copy in ipsec-tools get updated?

You just broke the userland ABI which must not happen. at all. That's
why userland having older headers is fine.

Wrong, the ABI in the 2.5.x IPSEC stuff is not cast in
stone yet.

What about if I extend stuff without breaking the ABI?
How do apps get at the new features?

That's why we want the glibc-kernheader package. Or even better
a package of headers that can be used by the kernel and userland,
but this would require people to properly sort out kernel header
functionality like internal structures and prototypes/inlines from
the actual ABI-relevant contents. The networking headers currently
are very bad on this.

Yes, this is one way to deal with it.

Actually, if you look, things like include/linux/xfrm.h are excellent
examples of userland compatible kernel headers :-)