From fb7661640c629d350fd75c9dde13a11700bb3a0d Mon Sep 17 00:00:00 2001 From: sommerfeld Date: Sun, 16 Jan 2000 00:51:06 +0000 Subject: Avoid misaligned loads on alpha in util/inet_addr_local.c: copy *ifr in such a way that gcc doesn't make unwarranted assumptions about the alignment of *ifr. Simply casting to (char *) wasn't sufficient. --- mail/postfix/files/patch-sum | 3 ++- mail/postfix/patches/patch-bs | 22 ++++++++++++++++++++++ 2 files changed, 24 insertions(+), 1 deletion(-) create mode 100644 mail/postfix/patches/patch-bs (limited to 'mail/postfix') diff --git a/mail/postfix/files/patch-sum b/mail/postfix/files/patch-sum index 4427f2f86ec..6e397d768e5 100644 --- a/mail/postfix/files/patch-sum +++ b/mail/postfix/files/patch-sum @@ -1,4 +1,4 @@ -$NetBSD: patch-sum,v 1.5 1999/11/18 14:36:20 agc Exp $ +$NetBSD: patch-sum,v 1.6 2000/01/16 00:51:06 sommerfeld Exp $ MD5 (patch-aa) = cdf2646ba580757237d38ddd98768214 MD5 (patch-ab) = 8b503cf0ecfaffdfefa2273631588d30 @@ -44,3 +44,4 @@ MD5 (patch-bo) = e2ee220c316ad8a3530b3ffb0bc069bc MD5 (patch-bp) = 6cacc40a5e145fa0d83179f0712fe4e5 MD5 (patch-bq) = 28f7c23282edafb36d3754c022f44178 MD5 (patch-br) = c9bded674e4e2d415f06da232cab26c4 +MD5 (patch-bs) = c4e2c5417c2a18e523531dd88ae8dfb0 diff --git a/mail/postfix/patches/patch-bs b/mail/postfix/patches/patch-bs new file mode 100644 index 00000000000..756ca03b67f --- /dev/null +++ b/mail/postfix/patches/patch-bs @@ -0,0 +1,22 @@ +$NetBSD: patch-bs,v 1.1 2000/01/16 00:51:07 sommerfeld Exp $ + +--- util/inet_addr_local.c.orig Fri Aug 27 08:08:43 1999 ++++ util/inet_addr_local.c Sat Jan 15 17:41:30 2000 +@@ -42,6 +42,7 @@ + #include + #endif + #include ++#include + + /* Utility library. */ + +@@ -114,7 +115,8 @@ + the_end = (struct ifreq *) (ifc.ifc_buf + ifc.ifc_len); + for (ifr = ifc.ifc_req; ifr < the_end;) { + if (ifr->ifr_addr.sa_family == AF_INET) { /* IP interface */ +- ifreq = *ifr; ++ char *ifrp = (char *)ifr; ++ memcpy(&ifreq, ifrp, sizeof(*ifr)); + if (ioctl(sock, SIOCGIFFLAGS, (char *) &ifreq) < 0) + msg_fatal("%s: ioctl SIOCGIFFLAGS: %m", myname); + if (ifreq.ifr_flags & IFF_UP) { /* active interface */ -- cgit v1.2.3