[dpdk-dev] [PATCH v2] acl: fix build with gcc 11

Thomas Monjalon thomas at monjalon.net
Wed May 5 12:13:00 CEST 2021


26/04/2021 15:35, Konstantin Ananyev:
> gcc 11 with '-O2' complains about some variables being used without
> being initialized:
> 
> In file included from ../lib/librte_acl/acl_run_avx512x8.h:201,
>                  from ../lib/librte_acl/acl_run_avx512.c:110:
> In function ‘start_flow_avx512x8’,
>     inlined from ‘search_trie_avx512x8.constprop’ at ../lib/librte_acl/acl_run_avx512_common.h:317:2:
> ../lib/librte_acl/acl_run_avx512_common.h:210:13: warning: ‘pdata’ is used uninitialized [-Wuninitialized]
> In file included from ../lib/librte_acl/acl_run_avx512x8.h:201,
>                  from ../lib/librte_acl/acl_run_avx512.c:110:
> ../lib/librte_acl/acl_run_avx512_common.h: In function ‘search_trie_avx512x8.constprop’:
> ../lib/librte_acl/acl_run_avx512_common.h:314:32: note: ‘pdata’ declared here
> In file included from ../lib/librte_acl/acl_run_avx512x8.h:201,
>                  from ../lib/librte_acl/acl_run_avx512.c:110:
> ....
> 
> 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: b64c2295f7fc ("acl: add 256-bit AVX512 classify method")
> Fixes: 45da22e42ec3 ("acl: add 512-bit AVX512 classify method")
> Cc: stable at dpdk.org
> 
> Reported-by: Ali Alnubani <alialnu at nvidia.com>
> Signed-off-by: Konstantin Ananyev <konstantin.ananyev at intel.com>

Applied, thanks





More information about the dev mailing list