[Date Prev][Date Next] [Thread Prev][Thread Next] [Date Index] [Thread Index]

r6315 - in glibc-package/trunk/debian: . patches/kfreebsd



Author: aurel32
Date: 2014-10-27 20:39:02 +0000 (Mon, 27 Oct 2014)
New Revision: 6315

Modified:
   glibc-package/trunk/debian/changelog
   glibc-package/trunk/debian/patches/kfreebsd/local-sysdeps.diff
Log:
kfreebsd/local-fbtl.diff: update to revision 5677 (from glibc-bsd).
Workarounds a kfreebsd 9.0 to 10.1 ABI break. Closes: #740509.

Modified: glibc-package/trunk/debian/changelog
===================================================================
--- glibc-package/trunk/debian/changelog	2014-10-27 20:36:54 UTC (rev 6314)
+++ glibc-package/trunk/debian/changelog	2014-10-27 20:39:02 UTC (rev 6315)
@@ -1,6 +1,8 @@
 glibc (2.19-13) UNRELEASED; urgency=medium
 
-  * 
+  [ Aurelien Jarno ]
+  * kfreebsd/local-fbtl.diff: update to revision 5677 (from glibc-bsd).
+    Workarounds a kfreebsd 9.0 to 10.1 ABI break. Closes: #740509.
 
  -- Aurelien Jarno <aurel32@debian.org>  Mon, 27 Oct 2014 21:36:32 +0100
 

Modified: glibc-package/trunk/debian/patches/kfreebsd/local-sysdeps.diff
===================================================================
--- glibc-package/trunk/debian/patches/kfreebsd/local-sysdeps.diff	2014-10-27 20:36:54 UTC (rev 6314)
+++ glibc-package/trunk/debian/patches/kfreebsd/local-sysdeps.diff	2014-10-27 20:39:02 UTC (rev 6315)
@@ -17400,7 +17400,7 @@
 +libc_hidden_def (if_freenameindex)
 --- /dev/null
 +++ b/ports/sysdeps/unix/bsd/bsd4.4/kfreebsd/ifaddrs.c
-@@ -0,0 +1,374 @@
+@@ -0,0 +1,380 @@
 +/*	$KAME: getifaddrs.c,v 1.9 2001/08/20 02:31:20 itojun Exp $	*/
 +
 +/*
@@ -17550,13 +17550,16 @@
 +			if (ifm->ifm_addrs & RTA_IFP) {
 +				idx = ifm->ifm_index;
 +				++icnt;
-+				/* XXX: smooth over a kfreebsd 9.0->10.1 ABI break:
-+				  sizeof(struct rt_msghdr) is correct for 10.1 kernel */
 +				dl = (struct sockaddr_dl *)(void *)(ifm + 1);
++				/* XXX: smooth over a kfreebsd 9.0->10.1 ABI break */
 +				if (rtm->rtm_msglen == 152) {
 +					/* on kfreebsd-i386 9.0, struct rt_msghdr is 96 bytes */
 +					dl = (struct sockaddr_dl *)((char *)ifm + 96);
 +				}
++				if (rtm->rtm_msglen == 156) {
++					/* on kfreebsd-i386 10.1, struct rt_msghdr is 100 bytes */
++					dl = (struct sockaddr_dl *)((char *)ifm + 100);
++				}
 +				dcnt += SA_RLEN((struct sockaddr *)(void*)dl) +
 +				    ALIGNBYTES;
 +#ifdef	HAVE_IFM_DATA
@@ -17643,13 +17646,16 @@
 +			ifm = (struct if_msghdr *)(void *)rtm;
 +			if (ifm->ifm_addrs & RTA_IFP) {
 +				idx = ifm->ifm_index;
-+				/* XXX: smooth over a kfreebsd 9.0->10.1 ABI break:
-+				  sizeof(struct rt_msghdr) is correct for 10.1 kernel */
 +				dl = (struct sockaddr_dl *)(void *)(ifm + 1);
++				/* XXX: smooth over a kfreebsd 9.0->10.1 ABI break */
 +				if (rtm->rtm_msglen == 152) {
 +					/* on kfreebsd-i386 9.0, struct rt_msghdr is 96 bytes */
 +					dl = (struct sockaddr_dl *)((char *)ifm + 96);
 +				}
++				if (rtm->rtm_msglen == 156) {
++					/* on kfreebsd-i386 10.1, struct rt_msghdr is 100 bytes */
++					dl = (struct sockaddr_dl *)((char *)ifm + 100);
++				}
 +
 +				cif = ift;
 +				ift->ifa_name = names;


Reply to: