]> git.droids-corp.org - dpdk.git/commitdiff
node: fix arm64 build with old gcc
authorNithin Dabilpuram <ndabilpuram@marvell.com>
Wed, 13 May 2020 12:06:04 +0000 (17:36 +0530)
committerDavid Marchand <david.marchand@redhat.com>
Wed, 13 May 2020 13:38:50 +0000 (15:38 +0200)
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")
Reported-by: David Marchand <david.marchand@redhat.com>
Signed-off-by: Nithin Dabilpuram <ndabilpuram@marvell.com>
Reviewed-by: Ruifeng Wang <ruifeng.wang@arm.com>
Reviewed-by: Jerin Jacob <jerinj@marvell.com>
lib/librte_node/ip4_lookup_neon.h

index bb3150ff29ef56940cf12c6fbac87a983619110b..dd21cb28a24688007b261a2118db11d1099ca72d 100644 (file)
@@ -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) {