On 1/14/20 6:52 PM, Ferruh Yigit wrote:
> Build error:
> In function ‘ixgbe_recv_pkts_lro_bulk_alloc’:
> ../drivers/net/ixgbe/ixgbe_rxtx.c:2209:24:
> error: ‘next_sc_entry’ may be used uninitialized in this function
> [-Werror=maybe-uninitialized]
> next_sc_entry->fbuf = first_seg;
> ^
> http://mails.dpdk.org/archives/test-report/2020-January/113891.html
>
> This is a compiler false positive and error not seen by newer compilers,
> or clang but to fix the warning initializing the complained variable.
You might want to add the RHEL7 GCC version I reproduced it on:
$ gcc --version
gcc (GCC) 4.8.5 20150623 (Red Hat 4.8.5-39)
> According git bisect, no idea how:
> Fixes: 8a2e7ce976fd ("net/ixgbe: avoid multiple definitions of bool")
>
> Reported-by: Maxime Coquelin <maxime.coque...@redhat.com>
> Signed-off-by: Ferruh Yigit <ferruh.yi...@intel.com>
Tested-by: Maxime Coquelin <maxime.coque...@redhat.com>
> ---
> Cc: dharmik.thak...@arm.com
> ---
> drivers/net/ixgbe/ixgbe_rxtx.c | 2 +-
> 1 file changed, 1 insertion(+), 1 deletion(-)
>
> diff --git a/drivers/net/ixgbe/ixgbe_rxtx.c b/drivers/net/ixgbe/ixgbe_rxtx.c
> index 13b06eb9c..30f890572 100644
> --- a/drivers/net/ixgbe/ixgbe_rxtx.c
> +++ b/drivers/net/ixgbe/ixgbe_rxtx.c
> @@ -2028,7 +2028,7 @@ ixgbe_recv_pkts_lro(void *rx_queue, struct rte_mbuf
> **rx_pkts, uint16_t nb_pkts,
> bool eop;
> struct ixgbe_rx_entry *rxe;
> struct ixgbe_scattered_rx_entry *sc_entry;
> - struct ixgbe_scattered_rx_entry *next_sc_entry;
> + struct ixgbe_scattered_rx_entry *next_sc_entry = NULL;
> struct ixgbe_rx_entry *next_rxe = NULL;
> struct rte_mbuf *first_seg;
> struct rte_mbuf *rxm;
>