Messages in this thread |  | | From | Mike Frysinger <> | Subject | Re: Redefinition of struct in6_addr in <netinet/in.h> and <linux/in6.h> | Date | Thu, 17 Jan 2013 23:20:17 -0500 |
| |
On Wednesday 16 January 2013 22:15:38 David Miller wrote: > From: Carlos O'Donell <carlos@systemhalted.org> > Date: Wed, 16 Jan 2013 21:15:03 -0500 > > > +/* If a glibc-based userspace has already included in.h, then we will > > not + * define in6_addr (nor the defines), sockaddr_in6, or ipv6_mreq. > > The + * ABI used by the kernel and by glibc match exactly. Neither the > > kernel + * nor glibc should break this ABI without coordination. > > + */ > > +#ifndef _NETINET_IN_H > > + > > I think we should shoot for a non-glibc-centric solution. > > I can't imagine that other libc's won't have the same exact problem > with their netinet/in.h conflicting with the kernel's, redefining > structures like in6_addr, that we'd want to provide a protection > scheme for here as well.
yes, the kernel's use of __GLIBC__ in exported headers has already caused problems in the past. fortunately, it's been reduced down to just one case now (stat.h). let's not balloon it back up. -mike [unhandled content-type:application/pgp-signature] |  |