[dpdk-dev] [PATCH] net/thunderx: fix build with gcc optimization on

Ferruh Yigit ferruh.yigit at intel.com
Tue Jun 26 11:17:14 CEST 2018


On 6/24/2018 1:17 PM, Jerin Jacob wrote:
> -----Original Message-----
>> Date: Thu, 21 Jun 2018 19:14:50 +0100
>> From: Ferruh Yigit <ferruh.yigit at intel.com>
>> To: Jerin Jacob <jerin.jacob at caviumnetworks.com>, Maciej Czekaj
>>  <maciej.czekaj at caviumnetworks.com>
>> CC: dev at dpdk.org, Ferruh Yigit <ferruh.yigit at intel.com>, stable at dpdk.org
>> 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: stable at dpdk.org
>>
>> Reported-by: Richard Walsh <richard.walsh at intel.com>
>> Signed-off-by: Ferruh Yigit <ferruh.yigit at intel.com>
> 
> Acked-by: Jerin Jacob <jerin.jacob at caviumnetworks.com>
> 
>> ---
>>
>> 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.



More information about the dev mailing list