r6304 - in glibc-package/trunk/debian: . patches/kfreebsd
Author: aurel32
Date: 2014-10-21 19:29:26 +0000 (Tue, 21 Oct 2014)
New Revision: 6304
Modified:
glibc-package/trunk/debian/changelog
glibc-package/trunk/debian/patches/kfreebsd/local-sysdeps.diff
Log:
kfreebsd/local-fbtl.diff: update to revision 5651 (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-21 19:26:18 UTC (rev 6303)
+++ glibc-package/trunk/debian/changelog 2014-10-21 19:29:26 UTC (rev 6304)
@@ -28,6 +28,8 @@
manpage. Add a Replaces: manpages-fr-extra (<= 20141008).
* Update French manpages translations, by David Prévot. Closes: #715289.
* Update German manpages translations, by Helge Kreutzmann. Closes: #717979.
+ * kfreebsd/local-fbtl.diff: update to revision 5651 (from glibc-bsd).
+ Workarounds a kfreebsd 9.0 to 10.1 ABI break. Closes: #740509.
[ Helmut Grohne ]
* debian/patches/any/local-bootstrap-headers.diff: Update to handle
Modified: glibc-package/trunk/debian/patches/kfreebsd/local-sysdeps.diff
===================================================================
--- glibc-package/trunk/debian/patches/kfreebsd/local-sysdeps.diff 2014-10-21 19:26:18 UTC (rev 6303)
+++ glibc-package/trunk/debian/patches/kfreebsd/local-sysdeps.diff 2014-10-21 19:29:26 UTC (rev 6304)
@@ -17400,7 +17400,7 @@
+libc_hidden_def (if_freenameindex)
--- /dev/null
+++ b/ports/sysdeps/unix/bsd/bsd4.4/kfreebsd/ifaddrs.c
-@@ -0,0 +1,362 @@
+@@ -0,0 +1,374 @@
+/* $KAME: getifaddrs.c,v 1.9 2001/08/20 02:31:20 itojun Exp $ */
+
+/*
@@ -17550,7 +17550,13 @@
+ 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);
++ if (rtm->rtm_msglen == 152) {
++ /* on kfreebsd-i386 9.0, struct rt_msghdr is 96 bytes */
++ dl = (struct sockaddr_dl *)((char *)ifm + 96);
++ }
+ dcnt += SA_RLEN((struct sockaddr *)(void*)dl) +
+ ALIGNBYTES;
+#ifdef HAVE_IFM_DATA
@@ -17637,7 +17643,13 @@
+ 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);
++ if (rtm->rtm_msglen == 152) {
++ /* on kfreebsd-i386 9.0, struct rt_msghdr is 96 bytes */
++ dl = (struct sockaddr_dl *)((char *)ifm + 96);
++ }
+
+ cif = ift;
+ ift->ifa_name = names;
Reply to: