about summary refs log tree commit diff
path: root/ChangeLog
diff options
context:
space:
mode:
authorCarlos O'Donell <carlos@redhat.com>2016-06-07 04:46:37 -0400
committerCarlos O'Donell <carlos@redhat.com>2016-06-07 04:46:37 -0400
commitc9bd40daaee18cf1d9824e4a7ebaebe321e0a5a8 (patch)
tree74691eecf1193dda1522f553bce5a198bedd796b /ChangeLog
parent47dd3543d36465496970406da03db5aecdc377ee (diff)
downloadglibc-c9bd40daaee18cf1d9824e4a7ebaebe321e0a5a8.tar.gz
glibc-c9bd40daaee18cf1d9824e4a7ebaebe321e0a5a8.tar.xz
glibc-c9bd40daaee18cf1d9824e4a7ebaebe321e0a5a8.zip
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.
Diffstat (limited to 'ChangeLog')
-rw-r--r--ChangeLog15
1 files changed, 14 insertions, 1 deletions
diff --git a/ChangeLog b/ChangeLog
index 8697644058..f006508efd 100644
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,4 +1,17 @@
-2016-06-03  Carlos O'Donell  <carlos@redhat.com>
+2016-06-07  Carlos O'Donell  <carlos@redhat.com>
+
+	[BZ #20214]
+	* sysdeps/unix/sysv/linux/bits/in.h
+	[defined _UAPI_LINUX_IN6_H || defined _UAPI_IPV6_H
+	 || defined _LINUX_IN6_H || defined _IPV6_H] (__USE_KERNEL_IPV6_DEFS):
+	Define to 1.
+	[!(defined _UAPI_LINUX_IN6_H || defined _UAPI_IPV6_H
+	 || defined _LINUX_IN6_H || defined _IPV6_H)] (__USE_KERNEL_IPV6_DEFS):
+	Define to 0.
+	[!__USE_KERNEL_IPV6_DEFS] (IPV6_ADD_MEMBERSHIP): Define.
+	[!__USE_KERNEL_IPV6_DEFS] (IPV6_DROP_MEMBERSHIP): Define.
+
+2016-06-06  Carlos O'Donell  <carlos@redhat.com>
 
 	[BZ #20198]
 	* stdlib/Makefile (tests): Add tst-quick_exit, and