Hi Ferruh, Jerin > Can be reproduced with "make EXTRA_CFLAGS='-O1'" command using > gcc (GCC) 9.3.1 20200408 (Red Hat 9.3.1-2) > > Build error: > In file included from .../drivers/mempool/octeontx2/otx2_mempool.h:13, > from .../drivers/mempool/octeontx2/otx2_mempool_ops.c:8: > .../drivers/mempool/octeontx2/otx2_mempool_ops.c: > In function ‘otx2_npa_alloc’: > .../drivers/common/octeontx2/otx2_common.h:94:2: > error: ‘aura_handle’ may be used uninitialized in this function > [-Werror=maybe-uninitialized] > 94 | rte_log(RTE_LOG_DEBUG, otx2_logtype_ ## subsystem, \ > | ^~~~~~~ > .../drivers/mempool/octeontx2/otx2_mempool_ops.c:643:11: > note: ‘aura_handle’ was declared here > 643 | uint64_t aura_handle; > | ^~~~~~~~~~~ > > This looks like false positive, assigning an initial value to > 'aura_handle' to fix the build error. > > Signed-off-by: Ferruh Yigit <ferruh.yi...@intel.com> > --- > This is assuming assigning initial value won't have a performance affect > if it does, we need to find another fix. > And overall not sure why this false positive warning is generated. > --- > drivers/mempool/octeontx2/otx2_mempool_ops.c | 2 +- > 1 file changed, 1 insertion(+), 1 deletion(-) > > diff --git a/drivers/mempool/octeontx2/otx2_mempool_ops.c > b/drivers/mempool/octeontx2/otx2_mempool_ops.c > index 162b7f01da..078ffac3e2 100644 > --- a/drivers/mempool/octeontx2/otx2_mempool_ops.c > +++ b/drivers/mempool/octeontx2/otx2_mempool_ops.c > @@ -640,7 +640,7 @@ otx2_npa_alloc(struct rte_mempool *mp) > struct otx2_npa_lf *lf; > struct npa_aura_s aura; > struct npa_pool_s pool; > - uint64_t aura_handle; > + uint64_t aura_handle = 0; > size_t padding; > int rc; > > --
Confirm that it helps, though I am seeing one more issue with EXTRA_CFLAGS='-O1' (gcc 7.3.0). This time with drivers/event/octeontx2/otx2_evdev_stats.h: In file included from /local/kananye1/dpdk.2005.rngf1/drivers/event/octeontx2/ot x2_evdev.c:15:0: /local/kananye1/dpdk.2005.rngf1/drivers/event/octeontx2/otx2_evdev_stats.h: In function ‘otx2_sso_xstats_get’: /local/kananye1/dpdk.2005.rngf1/drivers/event/octeontx2/otx2_evdev_stats.h:124:9: error: ‘xstats’ may be used uninitialized in this function [-Werror=maybe-uninitialized] xstat = &xstats[ids[i] - start_offset]; ~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ /local/kananye1/dpdk.2005.rngf1/drivers/event/octeontx2/otx2_evdev.c: At top level: cc1: error: unrecognized command line option ‘-Wno-address-of-packed-member’ [-Werror] cc1: all warnings being treated as errors As I can see xtstats is not set for RTE_EVENT_DEV_XSTATS_DEVICE case. Just to make gcc quiet, I added: --- a/drivers/event/octeontx2/otx2_evdev_stats.h +++ b/drivers/event/octeontx2/otx2_evdev_stats.h @@ -67,6 +67,7 @@ otx2_sso_xstats_get(const struct rte_eventdev *event_dev, switch (mode) { case RTE_EVENT_DEV_XSTATS_DEVICE: + xstats = NULL; break; case RTE_EVENT_DEV_XSTATS_PORT: if (queue_port_id >= (signed int)dev->nb_event_ports) Konstantin