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: