Bug 20214: Fix linux/in6.h and netinet/in.h sync.
authorCarlos O'Donell <carlos@redhat.com>
Tue, 7 Jun 2016 08:46:37 +0000 (04:46 -0400)
committerCarlos O'Donell <carlos@redhat.com>
Tue, 7 Jun 2016 08:46:37 +0000 (04:46 -0400)
commitc9bd40daaee18cf1d9824e4a7ebaebe321e0a5a8
tree74691eecf1193dda1522f553bce5a198bedd796b
parent47dd3543d36465496970406da03db5aecdc377ee
Bug 20214: Fix linux/in6.h and netinet/in.h sync.

In: https://sourceware.org/glibc/wiki/Synchronizing_Headers
we explain how we synchronize our headers with Linux kernel
headers.

In order to synchronize with the Linux linux/in6.h and
linux/ipv6.h headers we checked for their guard macros and
then defined __USE_KERNEL_IPV6_DEFS and conditionalized code
on this macro.

In upstream kernel 56c176c9 the _UAPI prefix was stripped and
this broke our synchronized headers again. We now need to check
for _LINUX_IN6_H and _IPV6_H, and keep checking the old versions
of the header guard checks for maximum backwards compatibility
with older Linux headers (the history is actually a bit muddled
here and it appears upstream linus kernel broke this 10 months
*before* our fix was ever applied to glibc, but without glibc
testing we didn't notice and distro kernels have their own
testing to fix this).

This patch fixes synchronization with linux/in6.h and
with netinet/in.h.
ChangeLog
sysdeps/unix/sysv/linux/bits/in.h