> From: dev [mailto:dev-boun...@dpdk.org] On Behalf Of Shahaf Shuler > Sent: Thursday, April 13, 2017 6:29 AM > To: thomas.monja...@6wind.com > Cc: adrien.mazarg...@6wind.com; nelio.laranje...@6wind.com; dev@dpdk.org > Subject: [dpdk-dev] [PATCH] ethdev: fix compilation issue with strict flags > > Compilation error seen while compiling mlx5 in debug mode > under RHEL 7.3: > > rte_ethdev.h:1670:7: error: type of bit-field 'state' is a GCC extension > [-Werror=pedantic] > > Address it by removing the unnecessary bit-field width limitation. > > Fixes: d52268a8b24b ("ethdev: expose device states") > > Signed-off-by: Shahaf Shuler <shah...@mellanox.com> > --- > lib/librte_ether/rte_ethdev.h | 2 +- > 1 file changed, 1 insertion(+), 1 deletion(-) > > diff --git a/lib/librte_ether/rte_ethdev.h b/lib/librte_ether/rte_ethdev.h > index d07253874..2d1bc12aa 100644 > --- a/lib/librte_ether/rte_ethdev.h > +++ b/lib/librte_ether/rte_ethdev.h > @@ -1667,7 +1667,7 @@ struct rte_eth_dev { > * received packets before passing them to the driver for transmission. > */ > struct rte_eth_rxtx_callback *pre_tx_burst_cbs[RTE_MAX_QUEUES_PER_PORT]; > - enum rte_eth_dev_state state:8; /**< Flag indicating the port state */ > + enum rte_eth_dev_state state; /**< Flag indicating the port state */ > } __rte_cache_aligned; > > struct rte_eth_dev_sriov {
What is the guidelines of changing ABI of an @internal structure? If I understand correctly, this @internal structure shouldn't be allocated in the app - so we can extend it at the end without breaking ABI. Since the state is at the end of the struct, I think this change is safe. ABI Validate tool with GCC 5.4.0 says ABI compatible, so Acked-by: Harry van Haaren <harry.van.haa...@intel.com>