[dpdk-dev] [PATCH v2] node: fix arm64 build issue for older gcc

Nithin Dabilpuram ndabilpuram at marvell.com
Wed May 13 14:06:04 CEST 2020


Older GCC(~4) complains about uninitialized 'dip'
var though all the lanes of the vec register are set.
Hence this patch explicitly initializes vec register
to fix the issue.

In file included from ip4_lookup.c:34:0:
ip4_lookup_neon.h: n function ‘ip4_lookup_node_process’: \
ip4_lookup_neon.h:25:12: error: ‘dip’ may be used uninitialized in \
				this function [-Werror=maybe-uninitialized]
  int32x4_t dip;
            ^

Fixes: 16df6a2c6671 ("node: add IPv4 lookup for arm64")

Signed-off-by: Nithin Dabilpuram <ndabilpuram at marvell.com>
Reviewed-by: Ruifeng Wang <ruifeng.wang at arm.com>
---
v2:
- Add error in commit msg.

 lib/librte_node/ip4_lookup_neon.h | 1 +
 1 file changed, 1 insertion(+)

diff --git a/lib/librte_node/ip4_lookup_neon.h b/lib/librte_node/ip4_lookup_neon.h
index bb3150f..dd21cb2 100644
--- a/lib/librte_node/ip4_lookup_neon.h
+++ b/lib/librte_node/ip4_lookup_neon.h
@@ -45,6 +45,7 @@ ip4_lookup_node_process(struct rte_graph *graph, struct rte_node *node,
 		rte_prefetch0(rte_pktmbuf_mtod_offset(pkts[i], void *,
 						sizeof(struct rte_ether_hdr)));
 
+	dip = vdupq_n_s32(0);
 	/* Get stream for the speculated next node */
 	to_next = rte_node_next_stream_get(graph, node, next_index, nb_objs);
 	while (n_left_from >= 4) {
-- 
2.8.4



More information about the dev mailing list