This is the mail archive of the libc-alpha@sourceware.org mailing list for the glibc project.


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]
Other format: [Raw text]

Re: Redefinition of struct in6_addr in <netinet/in.h> and <linux/in6.h>


On Wednesday 16 January 2013 16:45:11 David Miller wrote:
> What would be really nice is if GCC treated multiple identical
> definitions of structures the same way it handles multiple identical
> definitions of CPP defines.  Which is to silently accept them.
> 
> But that's not the case, so we need a different solution.
> 
> Another thing to do is to use a new structure for in6_addr in kernel
> headers exported to userland.

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.
-mike

Attachment: signature.asc
Description: This is a digitally signed message part.


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]