numam-dpdk/lib
Konstantin Ananyev 8e2dd74f0a acl: fix build with GCC 11
gcc 11 with '-O2' complains about some variables being used without
being initialized:

In function ‘start_flow_avx512x8’,
    inlined from ‘search_trie_avx512x8.constprop’ at acl_run_avx512_common.h:317:
lib/librte_acl/acl_run_avx512_common.h:210:13: warning:
    ‘pdata’ is used uninitialized [-Wuninitialized]
In function ‘search_trie_avx512x8.constprop’:
lib/librte_acl/acl_run_avx512_common.h:314:32: note: ‘pdata’ declared here
...

Indeed, these variables are not explicitly initialized,
but this is done intentionally.
We rely on constant mask value that we pass to start_flow*() functions
as a parameter to mask out uninitialized values.
Note that '-O3' doesn't produce this warning.
Anyway, to support clean build with gcc-11 this patch adds
explicit initialization for these variables.
I checked the output binary: with '-O3' both clang and gcc 10/11
generate no extra code for it.
Also performance test didn't reveal any regressions.

Bugzilla ID: 673
Fixes: b64c2295f7 ("acl: add 256-bit AVX512 classify method")
Fixes: 45da22e42e ("acl: add 512-bit AVX512 classify method")
Cc: stable@dpdk.org

Reported-by: Ali Alnubani <alialnu@nvidia.com>
Signed-off-by: Konstantin Ananyev <konstantin.ananyev@intel.com>
2021-05-05 12:10:15 +02:00
..
acl acl: fix build with GCC 11 2021-05-05 12:10:15 +02:00
bbdev lib: remove librte_ prefix from directory names 2021-04-21 14:04:09 +02:00
bitratestats lib: remove librte_ prefix from directory names 2021-04-21 14:04:09 +02:00
bpf lib: remove librte_ prefix from directory names 2021-04-21 14:04:09 +02:00
cfgfile lib: remove librte_ prefix from directory names 2021-04-21 14:04:09 +02:00
cmdline lib: remove librte_ prefix from directory names 2021-04-21 14:04:09 +02:00
compressdev lib: remove librte_ prefix from directory names 2021-04-21 14:04:09 +02:00
cryptodev lib: remove librte_ prefix from directory names 2021-04-21 14:04:09 +02:00
distributor lib: remove librte_ prefix from directory names 2021-04-21 14:04:09 +02:00
eal eal/windows: fix MinGW build 2021-05-04 19:32:28 +02:00
efd lib: remove librte_ prefix from directory names 2021-04-21 14:04:09 +02:00
ethdev ethdev: add sanity checks in control APIs 2021-04-21 18:36:56 +02:00
eventdev eventdev: fix memory leakage on thread creation failure 2021-05-03 11:46:26 +02:00
fib lib: remove librte_ prefix from directory names 2021-04-21 14:04:09 +02:00
flow_classify lib: remove librte_ prefix from directory names 2021-04-21 14:04:09 +02:00
graph lib: remove librte_ prefix from directory names 2021-04-21 14:04:09 +02:00
gro lib: remove librte_ prefix from directory names 2021-04-21 14:04:09 +02:00
gso lib: remove librte_ prefix from directory names 2021-04-21 14:04:09 +02:00
hash lib: remove librte_ prefix from directory names 2021-04-21 14:04:09 +02:00
ip_frag ip_frag: fix fragmenting IPv4 packet with header option 2021-04-21 16:50:46 +02:00
ipsec lib: remove librte_ prefix from directory names 2021-04-21 14:04:09 +02:00
jobstats lib: remove librte_ prefix from directory names 2021-04-21 14:04:09 +02:00
kni lib: remove librte_ prefix from directory names 2021-04-21 14:04:09 +02:00
kvargs lib: remove librte_ prefix from directory names 2021-04-21 14:04:09 +02:00
latencystats lib: remove librte_ prefix from directory names 2021-04-21 14:04:09 +02:00
lpm lib: remove librte_ prefix from directory names 2021-04-21 14:04:09 +02:00
mbuf mbuf: clarify usage of packet pool initializers 2021-05-04 22:41:32 +02:00
member lib: remove librte_ prefix from directory names 2021-04-21 14:04:09 +02:00
mempool mempool: distinguish cache and pool debug counters 2021-05-04 09:44:55 +02:00
meter lib: remove librte_ prefix from directory names 2021-04-21 14:04:09 +02:00
metrics lib: remove librte_ prefix from directory names 2021-04-21 14:04:09 +02:00
net lib: remove librte_ prefix from directory names 2021-04-21 14:04:09 +02:00
node lib: remove librte_ prefix from directory names 2021-04-21 14:04:09 +02:00
pci lib: remove librte_ prefix from directory names 2021-04-21 14:04:09 +02:00
pdump lib: remove librte_ prefix from directory names 2021-04-21 14:04:09 +02:00
pipeline lib: remove librte_ prefix from directory names 2021-04-21 14:04:09 +02:00
port lib: remove librte_ prefix from directory names 2021-04-21 14:04:09 +02:00
power build: fix formatting of Meson lists 2021-05-04 15:01:47 +02:00
rawdev lib: remove librte_ prefix from directory names 2021-04-21 14:04:09 +02:00
rcu lib: remove librte_ prefix from directory names 2021-04-21 14:04:09 +02:00
regexdev lib: remove librte_ prefix from directory names 2021-04-21 14:04:09 +02:00
reorder lib: remove librte_ prefix from directory names 2021-04-21 14:04:09 +02:00
rib lib: remove librte_ prefix from directory names 2021-04-21 14:04:09 +02:00
ring lib: remove librte_ prefix from directory names 2021-04-21 14:04:09 +02:00
sched sched: fix traffic class oversubscription parameter 2021-04-21 16:57:18 +02:00
security lib: remove librte_ prefix from directory names 2021-04-21 14:04:09 +02:00
stack stack: allow lock-free only on relevant architectures 2021-05-03 18:46:15 +02:00
table build: fix formatting of Meson lists 2021-05-04 15:01:47 +02:00
telemetry telemetry: fix build on FreeBSD < 12.2 2021-04-21 20:07:59 +02:00
timer lib: remove librte_ prefix from directory names 2021-04-21 14:04:09 +02:00
vhost lib: remove librte_ prefix from directory names 2021-04-21 14:04:09 +02:00
meson.build build: fix formatting of Meson lists 2021-05-04 15:01:47 +02:00