From b38a54aeb16cb36e42d638c4335b8314aa0b1794 Mon Sep 17 00:00:00 2001 From: Thomas Monjalon Date: Tue, 13 Aug 2019 01:03:56 +0200 Subject: [PATCH] net/mlx: fix build with make and recent gcc With VERBOSE=1, this error was seen in debug mode with gcc 9.1: In file included from /tmp/dpdk.auto-config-h.sh.c.w0VWMi:1: In file included from rdma-core/build/include/infiniband/mlx5dv.h:47: In file included from rdma-core/build/include/infiniband/verbs.h:46: In file included from rdma-core/build/include/infiniband/verbs_api.h:66: In file included from rdma-core/build/include/infiniband/ib_user_ioctl_verbs.h:38: include/rdma/ib_user_verbs.h:161:28: fatal error: zero size arrays are an extension [-Wzero-length-array] __aligned_u64 driver_data0; ^ 1 error generated. As a result, buildtools/auto-config-h.sh was not generating a correct autoconf file, so the compilation was generating such error: fatal error: redefinition of 'mlx5_ib_uapi_flow_action_packet_reformat_type' It is fixed by disabling -pedantic option when calling auto-config-h.sh from the makefile-based system. Cc: stable@dpdk.org Signed-off-by: Thomas Monjalon Acked-by: Luca Boccassi Acked-by: Matan Azrad --- drivers/net/mlx4/Makefile | 3 ++- drivers/net/mlx5/Makefile | 3 ++- 2 files changed, 4 insertions(+), 2 deletions(-) diff --git a/drivers/net/mlx4/Makefile b/drivers/net/mlx4/Makefile index 8126b0dfc6..25d7c7555d 100644 --- a/drivers/net/mlx4/Makefile +++ b/drivers/net/mlx4/Makefile @@ -68,6 +68,7 @@ endif # User-defined CFLAGS. ifeq ($(CONFIG_RTE_LIBRTE_MLX4_DEBUG),y) CFLAGS += -pedantic -UNDEBUG -DPEDANTIC +AUTO_CONFIG_CFLAGS += -Wno-pedantic else CFLAGS += -DNDEBUG -UPEDANTIC endif @@ -77,7 +78,7 @@ include $(RTE_SDK)/mk/rte.lib.mk # Generate and clean-up mlx4_autoconf.h. export CC CFLAGS CPPFLAGS EXTRA_CFLAGS EXTRA_CPPFLAGS -export AUTO_CONFIG_CFLAGS = -Wno-error +export AUTO_CONFIG_CFLAGS += -Wno-error ifndef V AUTOCONF_OUTPUT := >/dev/null diff --git a/drivers/net/mlx5/Makefile b/drivers/net/mlx5/Makefile index dbb2a4e80c..299cf3afe4 100644 --- a/drivers/net/mlx5/Makefile +++ b/drivers/net/mlx5/Makefile @@ -83,6 +83,7 @@ endif # User-defined CFLAGS. ifeq ($(CONFIG_RTE_LIBRTE_MLX5_DEBUG),y) CFLAGS += -pedantic -UNDEBUG -DPEDANTIC +AUTO_CONFIG_CFLAGS += -Wno-pedantic else CFLAGS += -DNDEBUG -UPEDANTIC endif @@ -92,7 +93,7 @@ include $(RTE_SDK)/mk/rte.lib.mk # Generate and clean-up mlx5_autoconf.h. export CC CFLAGS CPPFLAGS EXTRA_CFLAGS EXTRA_CPPFLAGS -export AUTO_CONFIG_CFLAGS = -Wno-error +export AUTO_CONFIG_CFLAGS += -Wno-error ifndef V AUTOCONF_OUTPUT := >/dev/null