On Sat, Apr 11, 2020 at 4:16 PM <jer...@marvell.com> wrote:
>
> From: Nithin Dabilpuram <ndabilpu...@marvell.com>
>
> Add arm64 specific IPv4 lookup process function
> for ip4_lookup node. This node performs LPM lookup
> on every packet received and forwards it to a next
> node that is identified by lookup result.
>
> Signed-off-by: Nithin Dabilpuram <ndabilpu...@marvell.com>
> Signed-off-by: Kiran Kumar K <kirankum...@marvell.com>
> Signed-off-by: Pavan Nikhilesh <pbhagavat...@marvell.com>
> ---
>  lib/librte_node/ip4_lookup.c      |   6 +
>  lib/librte_node/ip4_lookup_neon.h | 238 ++++++++++++++++++++++++++++++
>  2 files changed, 244 insertions(+)
>  create mode 100644 lib/librte_node/ip4_lookup_neon.h

Checking OVS dpdk-latest branch, I caught a build issue on Ubuntu
16.04 for aarch64.
I reproduced it in travis by forcing the distribution to xenial in .travis.yml.

FAILED: gcc -Ilib/lib@@rte_node@sta -Ilib -I../lib -Ilib/librte_node
-I../lib/librte_node -I. -I../ -Iconfig -I../config
-Ilib/librte_eal/include -I../lib/librte_eal/include
-Ilib/librte_eal/linux/include -I../lib/librte_eal/linux/include
-Ilib/librte_eal/arm/include -I../lib/librte_eal/arm/include
-Ilib/librte_eal/common -I../lib/librte_eal/common -Ilib/librte_eal
-I../lib/librte_eal -Ilib/librte_kvargs -I../lib/librte_kvargs
-Ilib/librte_telemetry/../librte_metrics
-I../lib/librte_telemetry/../librte_metrics -Ilib/librte_telemetry
-I../lib/librte_telemetry -Ilib/librte_graph -I../lib/librte_graph
-Ilib/librte_mbuf -I../lib/librte_mbuf -Ilib/librte_mempool
-I../lib/librte_mempool -Ilib/librte_ring -I../lib/librte_ring
-Ilib/librte_lpm -I../lib/librte_lpm -Ilib/librte_hash
-I../lib/librte_hash -Ilib/librte_ethdev -I../lib/librte_ethdev
-Ilib/librte_net -I../lib/librte_net -Ilib/librte_meter
-I../lib/librte_meter -Ilib/librte_cryptodev -I../lib/librte_cryptodev
-fdiagnostics-color=always -pipe -D_FILE_OFFSET_BITS=64 -Wall
-Winvalid-pch -Werror -O2 -g -include rte_config.h -Wextra -Wcast-qual
-Wdeprecated -Wformat-nonliteral -Wformat-security
-Wmissing-declarations -Wmissing-prototypes -Wnested-externs
-Wold-style-definition -Wpointer-arith -Wsign-compare
-Wstrict-prototypes -Wundef -Wwrite-strings
-Wno-missing-field-initializers -D_GNU_SOURCE -fPIC
-DALLOW_EXPERIMENTAL_API -DALLOW_INTERNAL_API -fno-strict-aliasing
-MD -MQ 'lib/lib@@rte_node@sta/librte_node_ip4_lookup.c.o' -MF
'lib/lib@@rte_node@sta/librte_node_ip4_lookup.c.o.d' -o
'lib/lib@@rte_node@sta/librte_node_ip4_lookup.c.o' -c
../lib/librte_node/ip4_lookup.c
In file included from ../lib/librte_node/ip4_lookup.c:34:0:
../lib/librte_node/ip4_lookup_neon.h: In function ‘ip4_lookup_node_process’:
../lib/librte_node/ip4_lookup_neon.h:25:12: error: ‘dip’ may be used
uninitialized in this function [-Werror=maybe-uninitialized]
  int32x4_t dip;
            ^
cc1: all warnings being treated as errors
ninja: build stopped: subcommand failed.


The odd thing is that a more recent gcc does not complain.
So there must be a catch, can you have a look?
Thanks.


-- 
David Marchand

Reply via email to