rpms/collectd/devel collectd-4.5.3-gcc-4.4-strict-aliasing-issue.patch, NONE, 1.1 collectd.spec, 1.16, 1.17

Alan Pevec apevec at fedoraproject.org
Tue Mar 3 13:48:30 UTC 2009


Author: apevec

Update of /cvs/pkgs/rpms/collectd/devel
In directory cvs1.fedora.phx.redhat.com:/tmp/cvs-serv26447

Modified Files:
	collectd.spec 
Added Files:
	collectd-4.5.3-gcc-4.4-strict-aliasing-issue.patch 
Log Message:
* Tue Mar 03 2009 Alan Pevec <apevec at redhat.com> 4.5.3-2
- patch for strict-aliasing issue in liboping.c


collectd-4.5.3-gcc-4.4-strict-aliasing-issue.patch:

--- NEW FILE collectd-4.5.3-gcc-4.4-strict-aliasing-issue.patch ---
>From 76cdc4d21f40a65d775bbce3468996c4d0045d96 Mon Sep 17 00:00:00 2001
From: Alan Pevec <apevec at redhat.com>
Date: Tue, 3 Mar 2009 14:36:36 +0100
Subject: [PATCH] Fix gcc-4.4 strict-aliasing issue

cc1: warnings being treated as errors
liboping.c: In function 'ping_host_add':
liboping.c:995: error: dereferencing pointer 'si' does break strict-aliasing rules
...

Signed-off-by: Alan Pevec <apevec at redhat.com>
---
 src/liboping/liboping.c |   18 ++++++++++++------
 1 files changed, 12 insertions(+), 6 deletions(-)

diff --git a/src/liboping/liboping.c b/src/liboping/liboping.c
index 13bcc92..dee28fb 100644
--- a/src/liboping/liboping.c
+++ b/src/liboping/liboping.c
@@ -987,9 +987,12 @@ int ping_host_add (pingobj_t *obj, const char *host)
 
 		if (ai_ptr->ai_family == AF_INET)
 		{
-			struct sockaddr_in *si;
-
-			si = (struct sockaddr_in *) &sockaddr;
+			union {
+			    struct sockaddr_storage any_socket;
+			    struct sockaddr_in si;
+			} s;
+			s.any_socket = sockaddr;
+			si = &s.si;
 			si->sin_family = AF_INET;
 			si->sin_port   = htons (ph->ident);
 			si->sin_addr.s_addr = htonl (INADDR_ANY);
@@ -999,9 +1002,12 @@ int ping_host_add (pingobj_t *obj, const char *host)
 		}
 		else if (ai_ptr->ai_family == AF_INET6)
 		{
-			struct sockaddr_in6 *si;
-
-			si = (struct sockaddr_in6 *) &sockaddr;
+			union {
+			    struct sockaddr_storage any_socket;
+			    struct sockaddr_in6 si;
+			} s;
+			s.any_socket = sockaddr;
+			si = &s.si;
 			si->sin6_family = AF_INET6;
 			si->sin6_port   = htons (ph->ident);
 			si->sin6_addr   = in6addr_any;
-- 
1.6.0.6



Index: collectd.spec
===================================================================
RCS file: /cvs/pkgs/rpms/collectd/devel/collectd.spec,v
retrieving revision 1.16
retrieving revision 1.17
diff -u -r1.16 -r1.17
--- collectd.spec	2 Mar 2009 23:43:02 -0000	1.16
+++ collectd.spec	3 Mar 2009 13:47:59 -0000	1.17
@@ -1,7 +1,7 @@
 Summary: Statistics collection daemon for filling RRD files
 Name: collectd
 Version: 4.5.3
-Release: 1%{?dist}
+Release: 2%{?dist}
 License: GPLv2
 Group: System Environment/Daemons
 URL: http://collectd.org/
@@ -10,6 +10,8 @@
 Patch0: %{name}-4.5.1-include-collectd.d.patch
 # bug 468067 "pkg-config --libs OpenIPMIpthread" fails
 Patch1: %{name}-4.5.1-configure-OpenIPMI.patch
+# posted upstream
+Patch2: collectd-4.5.3-gcc-4.4-strict-aliasing-issue.patch
 
 BuildRoot: %{_tmppath}/%{name}-%{version}-%{release}-root
 
@@ -151,6 +153,7 @@
 %setup -q
 %patch0 -p1
 %patch1 -p0
+%patch2 -p1
 
 sed -i.orig -e 's|-Werror||g' Makefile.in */Makefile.in
 
@@ -407,6 +410,9 @@
 
 
 %changelog
+* Tue Mar 03 2009 Alan Pevec <apevec at redhat.com> 4.5.3-2
+- patch for strict-aliasing issue in liboping.c
+
 * Mon Mar 02 2009 Alan Pevec <apevec at redhat.com> 4.5.3-1
 - New upstream version 4.5.3
 - fixes collectd is built without iptables plugin, bz# 479208




More information about the fedora-extras-commits mailing list