From c9bd40daaee18cf1d9824e4a7ebaebe321e0a5a8 Mon Sep 17 00:00:00 2001 From: Carlos O'Donell Date: Tue, 7 Jun 2016 04:46:37 -0400 Subject: 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 | 15 ++++++++++++++- 1 file changed, 14 insertions(+), 1 deletion(-) (limited to 'ChangeLog') diff --git a/ChangeLog b/ChangeLog index 8697644058..f006508efd 100644 --- a/ChangeLog +++ b/ChangeLog @@ -1,4 +1,17 @@ -2016-06-03 Carlos O'Donell +2016-06-07 Carlos O'Donell + + [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 [BZ #20198] * stdlib/Makefile (tests): Add tst-quick_exit, and -- cgit 1.4.1