This is the mail archive of the
libc-alpha@sourceware.org
mailing list for the glibc project.
Re: Redefinition of struct in6_addr in <netinet/in.h> and<linux/in6.h>
- From: David Miller <davem at davemloft dot net>
- To: vapier at gentoo dot org
- Cc: libc-alpha at sourceware dot org, bhutchings at solarflare dot com,yoshfuji at linux-ipv6 dot org, amwang at redhat dot com, tmb at mageia dot org,eblake at redhat dot com, netdev at vger dot kernel dot org, linux-kernel at vger dot kernel dot org,libvirt-list at redhat dot com, tgraf at suug dot ch, schwab at suse dot de,carlos at systemhalted dot org
- Date: Thu, 17 Jan 2013 23:55:24 -0500 (EST)
- Subject: Re: Redefinition of struct in6_addr in <netinet/in.h> and<linux/in6.h>
- References: <1358351232.2923.10.camel@bwh-desktop.uk.solarflarecom.com><20130116.164511.2027039182184636075.davem@davemloft.net><201301172314.34193.vapier@gentoo.org>
From: Mike Frysinger <vapier@gentoo.org>
Date: Thu, 17 Jan 2013 23:14:31 -0500
> the kernel already exports many types with a __kernel_ prefix. i changed the
> kernel headers in Gentoo for a few releases (2.6.28 - 2.6.34) to do the same
> thing to pretty much all the networking headers. a few packages broke, but
> the number was low, and trivial to fix (a sed would do it most of the time).
>
> it's also trivial for userland packages to detect that they need to do this
> sort of thing in a local header by using linux/version.h and a set of defines
> to redirect the new structure name back to the old one.
>
> would be a lot cleaner to just break it and be done.
We are not at liberty to break something that has legitimately
compiled successfully for two decades.
Your __kernel_ prefix idea breaks compilation just as equally.
One thing you certainly don't have to be is happy about this header
file situation, but you cannot use that dissatisfaction as
justification to make the situation worse by breaking the build for
people outside of the world you directly control.