On 01/16/2013 10:22 PM, YOSHIFUJI Hideaki wrote: > Carlos O'Donell wrote: >> diff --git a/include/uapi/linux/in6.h b/include/uapi/linux/in6.h >> index f79c372..a2b16a5 100644 >> --- a/include/uapi/linux/in6.h >> +++ b/include/uapi/linux/in6.h >> @@ -23,6 +23,13 @@ >> >> #include <linux/types.h> >> >> +/* 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 >> + >> /* >> * IPv6 address structure >> */ > > This should be > #if !defined(__GLIBC__) || !defined(_NETINET_IN_H) Correct. If it's non-glibc we want these defines to be used even if a non-glibc defined _NETINET_IN_H. >> @@ -30,12 +37,20 @@ >> struct in6_addr { >> union { >> __u8 u6_addr8[16]; >> +#if !defined(__GLIBC__) \ >> + || (defined(__GLIBC__) && (defined(__USE_MISC) || defined(__USE_GNU))) \ >> + || defined(__KERNEL__) >> __be16 u6_addr16[8]; >> __be32 u6_addr32[4]; >> +#endif >> } in6_u; >> +#if !defined(__GLIBC__) \ >> + || (defined(__GLIBC__) && (defined(__USE_MISC) || defined(__USE_GNU))) \ >> + || defined(__KERNEL__) >> #define s6_addr in6_u.u6_addr8 >> #define s6_addr16 in6_u.u6_addr16 >> #define s6_addr32 in6_u.u6_addr32 >> +#endif >> }; > > 2nd "if" be after s6_addr? Correct. We want to unconditinally define s6_addr in this case. I've fixed both of those cases in the next version of the patch. Thanks. Cheers, Carlos. -- libvir-list mailing list libvir-list@xxxxxxxxxx https://www.redhat.com/mailman/listinfo/libvir-list