[v4,05/10] app/test: clean LTO build warnings (maybe-uninitialized)
Checks
Commit Message
During LTO build compiler reports some 'false positive' warnings about
variables being possibly used uninitialized. This patch silences these
warnings.
Exemplary compiler warning to suppress (with LTO enabled):
error: ‘stats.greatest_free_size’ may be used uninitialized in this
function [-Werror=maybe-uninitialized]
return len - overhead;
Signed-off-by: Andrzej Ostruszka <aostruszka@marvell.com>
---
app/test/test_hash_readwrite.c | 2 +-
app/test/test_link_bonding_mode4.c | 10 ++++++++--
app/test/test_memzone.c | 3 ++-
3 files changed, 11 insertions(+), 4 deletions(-)
@@ -298,7 +298,7 @@ test_rw_reader(void *arg)
begin = rte_rdtsc_precise();
for (i = 0; i < read_cnt; i++) {
- void *data;
+ void *data = arg;
rte_hash_lookup_data(tbl_rw_test_param.h,
tbl_rw_test_param.keys + i,
&data);
@@ -224,7 +224,7 @@ configure_ethdev(uint16_t port_id, uint8_t start)
static int
add_slave(struct slave_conf *slave, uint8_t start)
{
- struct rte_ether_addr addr, addr_check;
+ struct rte_ether_addr addr, addr_check = { { 0 } };
/* Some sanity check */
RTE_VERIFY(test_params.slave_ports <= slave &&
@@ -578,7 +578,13 @@ bond_get_update_timeout_ms(void)
{
struct rte_eth_bond_8023ad_conf conf;
- rte_eth_bond_8023ad_conf_get(test_params.bonded_port_id, &conf);
+ if (rte_eth_bond_8023ad_conf_get(test_params.bonded_port_id, &conf) < 0) {
+ RTE_LOG(DEBUG, EAL, "Failed to get bonding configuration: "
+ "%s at %d\n", __func__, __LINE__);
+ RTE_TEST_TRACE_FAILURE(__FILE__, __LINE__, __func__);
+ return 0;
+ }
+
return conf.update_timeout_ms;
}
@@ -476,7 +476,8 @@ find_max_block_free_size(unsigned int align, unsigned int socket_id)
struct rte_malloc_socket_stats stats;
size_t len, overhead;
- rte_malloc_get_socket_stats(socket_id, &stats);
+ if (rte_malloc_get_socket_stats(socket_id, &stats) < 0)
+ return 0;
len = stats.greatest_free_size;
overhead = MALLOC_ELEM_OVERHEAD;