-----Original Message----- > Date: Tue, 26 Jun 2018 10:17:14 +0100 > From: Ferruh Yigit <[email protected]> > To: Jerin Jacob <[email protected]> > CC: Maciej Czekaj <[email protected]>, [email protected], > [email protected] > Subject: Re: [dpdk-dev] [PATCH] net/thunderx: fix build with gcc > optimization on > User-Agent: Mozilla/5.0 (Windows NT 10.0; WOW64; rv:52.0) Gecko/20100101 > Thunderbird/52.8.0 > > > On 6/24/2018 1:17 PM, Jerin Jacob wrote: > > -----Original Message----- > >> Date: Thu, 21 Jun 2018 19:14:50 +0100 > >> From: Ferruh Yigit <[email protected]> > >> To: Jerin Jacob <[email protected]>, Maciej Czekaj > >> <[email protected]> > >> CC: [email protected], Ferruh Yigit <[email protected]>, [email protected] > >> Subject: [PATCH] net/thunderx: fix build with gcc optimization on > >> X-Mailer: git-send-email 2.17.1 > >> > >> > >> build error gcc version 6.3.1 20161221 (Red Hat 6.3.1-1), > >> with EXTRA_CFLAGS="-O3": > >> > >> .../drivers/net/thunderx/nicvf_ethdev.c:907:9: > >> error: ‘txq’ may be used uninitialized in this function > >> [-Werror=maybe-uninitialized] > >> if (txq->pool_free == nicvf_single_pool_free_xmited_buffers) > >> ~~~^~~~~~~~~~~ > >> .../drivers/net/thunderx/nicvf_ethdev.c:886:20: > >> note: ‘txq’ was declared here > >> struct nicvf_txq *txq; > >> ^~~ > >> > >> Same error on function 'nicvf_eth_dev_init' and 'nicvf_dev_start', it > >> seems 'nicvf_set_tx_function' inlined when optimization enabled. > >> > >> Initialize the txq and add NULL check before using it to fix. > >> > >> Fixes: 7413feee662d ("net/thunderx: add device start/stop and close") > >> Cc: [email protected] > >> > >> Reported-by: Richard Walsh <[email protected]> > >> Signed-off-by: Ferruh Yigit <[email protected]> > > > > Acked-by: Jerin Jacob <[email protected]> > > > >> --- > >> > >> Btw, no compiler optimization enabled, only nicvf_rxtx.c has -Ofast, > >> is this intentional? > > > > Yes. At least in our setup, -Ofast turns out to be super set of -O3. > > That is what gcc documents about -Ofast, but again it is only for single > nicvf_rxtx.c file. The problem seen with -O3 case with other file.
OK. For other files, we intentionally kept non -03 as it is in slow path. >

