File libcxgb4-fix_puns.patch of Package libcxgb4-rdmav2

From: Jan Engelhardt <jengelh@inai.de>
Date: 2012-09-05 20:41:59.987153970 +0200

build: resolve breakage of strict aliasing

src/t4.h: In function 't4_ring_sq_db':
src/t4.h:458:4: warning: dereferencing type-punned pointer will break strict-aliasing rules [-Wstrict-aliasing]

---
 src/t4.h |    4 ++--
 1 file changed, 2 insertions(+), 2 deletions(-)

Index: src/t4.h
===================================================================
--- src/t4.h.orig	2014-02-26 17:28:50.563333349 +0100
+++ src/t4.h	2014-02-26 17:31:09.468130319 +0100
@@ -501,9 +501,9 @@ static inline void t4_ring_sq_db(struct
 		}
 	} else {
 		if (t4_sq_onchip(wq)) {
-			int i;
+			uint32_t i;
 			for (i = 0; i < 16; i++)
-				*(u32 *)&wq->sq.queue[wq->sq.size].flits[2] = i;
+				memcpy(&wq->sq.queue[wq->sq.size].flits[2], &i, sizeof(i));
 		}
 	}
 	writel(V_QID(wq->sq.qid & wq->qid_mask) | V_PIDX(inc), wq->sq.udb);
openSUSE Build Service is sponsored by