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);