Re: [PATCH 12/12] headers, ppp: Add missing #include to <linux/if_ppp.h>
From: Ben Hutchings <hidden>
Date: 2011-08-09 12:40:20
Attachments
- signature.asc [application/pgp-signature] 828 bytes
From: Ben Hutchings <hidden>
Date: 2011-08-09 12:40:20
On Tue, 2011-08-09 at 00:27 -0700, David Miller wrote:
From: Ben Hutchings <redacted> Date: Mon, 08 Aug 2011 14:25:19 +0100quoted
<linux/if_ppp.h> uses various types defined in <linux/ppp_defs.h>. Signed-off-by: Ben Hutchings <redacted>Unfortunately there is a "net/if_ppp.h" provided by glibc that includes "net/ppp_defs.h", and all of this is presumably in order to discourage direct use of the kernel headers. Even though net/ppp_defs.h ends up including linux/ppp_defs.h anyways. Whilst I think your efforts are to be commended, we can't start doing or else we'll start breaking the build in various unexpected ways. The SIOCDEVPRIVATE (defined by GLIBC in bits/ioctls.h) case is just one such example.
I did try to check for these cases, but obviously missed some. I'll re-post the series without these ones. In the longer term I would really like to solve this mess somehow. glibc is obviously duplicating a lot of definitions in different headers (but tends to lag behind a little) and other C libraries may also have to duplicate that work for compatibility. Some kernel headers already *do* include headers such as <linux/if.h> that can conflict with C library headers, sometimes requiring userland to work around the conflict somehow. Ben.