patches for DPDK stable branches
 help / color / mirror / Atom feed
* [dpdk-stable] [PATCH 1/2] mk: fix cross build errors
       [not found] <1527133127-29407-1-git-send-email-gavin.hu@arm.com>
@ 2018-05-24  3:38 ` Gavin Hu
  2018-05-28  6:53 ` [dpdk-stable] [PATCH v2 " Gavin Hu
  1 sibling, 0 replies; 23+ messages in thread
From: Gavin Hu @ 2018-05-24  3:38 UTC (permalink / raw)
  To: dev; +Cc: stable

The "-Wimplicit-fallthrough=2" option was introduced into gcc 7.0, it was
enabled when the cross compiler gcc is greater than 7.0, but for the host
side buildtools/pmdinfogen, if the native is older than 7.0, it should not
be enabled.

The fix is to differentiate the host gcc Werror options from the cross gcc.

gcc -Wp,-MD,./.pmdinfogen.o.d.tmp  -W -Wall -Wstrict-prototypes
-Wmissing-prototypes -Wmissing-declarations -Wold-style-definition
-Wpointer-arith -Wcast-align -Wnested-externs -Wcast-qual
-Wformat-nonliteral -Wformat-security -Wundef -Wwrite-strings -Wdeprecated
-Werror -Wimplicit-fallthrough=2 -Dbbb -Wno-format-truncation -g
-I/home/gavin/arm_repo/dpdk/build/include    -o pmdinfogen.o -c
~/dpdk/buildtools/pmdinfogen/pmdinfogen.c gcc: error:
unrecognized command line option ‘-Wimplicit-fallthrough=2’
~/dpdk/mk/internal/rte.compile-pre.mk:114: recipe for target 'pmdinfogen.o'
failed make[3]: *** [pmdinfogen.o] Error 1

Fixes: ced3e6f8 ("mk: adjust gcc flags for new gcc 7 warnings")
Cc: stable@dpdk.org

Signed-off-by: Gavin Hu <gavin.hu@arm.com>
Reviewed-by: Honnappa Nagarahalli <Honnappa.Nagarahalli@arm.com>
Reviewed-by: Steve Capper <Steve.Capper@arm.com>
---
 buildtools/pmdinfogen/Makefile           | 2 +-
 mk/toolchain/gcc/rte.toolchain-compat.mk | 5 +++++
 mk/toolchain/gcc/rte.vars.mk             | 9 +++++++++
 3 files changed, 15 insertions(+), 1 deletion(-)

diff --git a/buildtools/pmdinfogen/Makefile b/buildtools/pmdinfogen/Makefile
index bf07b6f..ff7a5fa 100644
--- a/buildtools/pmdinfogen/Makefile
+++ b/buildtools/pmdinfogen/Makefile
@@ -41,7 +41,7 @@ HOSTAPP = dpdk-pmdinfogen
 #
 SRCS-y += pmdinfogen.c
 
-HOST_CFLAGS += $(WERROR_FLAGS) -g
+HOST_CFLAGS += $(HOST_WERROR_FLAGS) -g
 HOST_CFLAGS += -I$(RTE_OUTPUT)/include
 
 include $(RTE_SDK)/mk/rte.hostapp.mk
diff --git a/mk/toolchain/gcc/rte.toolchain-compat.mk b/mk/toolchain/gcc/rte.toolchain-compat.mk
index 255c896..1e4434f 100644
--- a/mk/toolchain/gcc/rte.toolchain-compat.mk
+++ b/mk/toolchain/gcc/rte.toolchain-compat.mk
@@ -15,6 +15,11 @@ GCC_MINOR = $(shell echo __GNUC_MINOR__ | $(CC) -E -x c - | tail -n 1)
 GCC_PATCHLEVEL = $(shell echo __GNUC_PATCHLEVEL__ | $(CC) -E -x c - | tail -n 1)
 GCC_VERSION = $(GCC_MAJOR)$(GCC_MINOR)
 
+HOST_GCC_MAJOR = $(shell echo __GNUC__ | $(HOSTCC) -E -x c - | tail -n 1)
+HOST_GCC_MINOR = $(shell echo __GNUC_MINOR__ | $(HOSTCC) -E -x c - | tail -n 1)
+HOST_GCC_PATCHLEVEL = $(shell echo __GNUC_PATCHLEVEL__ | $(HOSTCC) -E -x c - | tail -n 1)
+HOST_GCC_VERSION = $(HOST_GCC_MAJOR)$(HOST_GCC_MINOR)
+
 # if GCC is older than 4.x
 ifeq ($(shell test $(GCC_VERSION) -lt 40 && echo 1), 1)
 	MACHINE_CFLAGS =
diff --git a/mk/toolchain/gcc/rte.vars.mk b/mk/toolchain/gcc/rte.vars.mk
index 7e4531b..d9a4e09 100644
--- a/mk/toolchain/gcc/rte.vars.mk
+++ b/mk/toolchain/gcc/rte.vars.mk
@@ -71,6 +71,15 @@ ifeq ($(shell test $(GCC_VERSION) -lt 47 && echo 1), 1)
 WERROR_FLAGS += -Wno-uninitialized
 endif
 
+HOST_WERROR_FLAGS := $(WERROR_FLAGS)
+
+ifeq ($(shell test $(USE_HOST) -e 1 && test $(HOST_GCC_VERSION) -gt 70 && echo 1), 1)
+# Tell GCC only to error for switch fallthroughs without a suitable comment
+HOST_WERROR_FLAGS += -Wimplicit-fallthrough=2
+# Ignore errors for snprintf truncation
+HOST_WERROR_FLAGS += -Wno-format-truncation
+endif
+
 ifeq ($(shell test $(GCC_VERSION) -gt 70 && echo 1), 1)
 # Tell GCC only to error for switch fallthroughs without a suitable comment
 WERROR_FLAGS += -Wimplicit-fallthrough=2
-- 
2.1.4

^ permalink raw reply	[flat|nested] 23+ messages in thread

* [dpdk-stable] [PATCH v2 1/2] mk: fix cross build errors
       [not found] <1527133127-29407-1-git-send-email-gavin.hu@arm.com>
  2018-05-24  3:38 ` [dpdk-stable] [PATCH 1/2] mk: fix cross build errors Gavin Hu
@ 2018-05-28  6:53 ` Gavin Hu
  2018-05-28 13:24   ` [dpdk-stable] [dpdk-dev] " Bruce Richardson
  2018-05-29  6:51   ` [dpdk-stable] [PATCH v3 " Gavin Hu
  1 sibling, 2 replies; 23+ messages in thread
From: Gavin Hu @ 2018-05-28  6:53 UTC (permalink / raw)
  To: dev; +Cc: gavin.hu, stable

The "-Wimplicit-fallthrough=2" option was introduced into gcc 7.0, it was
enabled when the cross compiler gcc is greater than 7.0, but for the host
side buildtools/pmdinfogen, if the native is older than 7.0, it should not
be enabled.

The fix is to differentiate the host gcc Werror options from the cross gcc.

gcc -Wp,-MD,./.pmdinfogen.o.d.tmp  -W -Wall -Wstrict-prototypes
-Wmissing-prototypes -Wmissing-declarations -Wold-style-definition
-Wpointer-arith -Wcast-align -Wnested-externs -Wcast-qual
-Wformat-nonliteral -Wformat-security -Wundef -Wwrite-strings -Wdeprecated
-Werror -Wimplicit-fallthrough=2 -Dbbb -Wno-format-truncation -g
-I/home/gavin/arm_repo/dpdk/build/include    -o pmdinfogen.o -c
~/dpdk/buildtools/pmdinfogen/pmdinfogen.c gcc: error:
unrecognized command line option ‘-Wimplicit-fallthrough=2’
~/dpdk/mk/internal/rte.compile-pre.mk:114: recipe for target 'pmdinfogen.o'
failed make[3]: *** [pmdinfogen.o] Error 1

Fixes: ced3e6f8 ("mk: adjust gcc flags for new gcc 7 warnings")
Cc: stable@dpdk.org

Signed-off-by: Gavin Hu <gavin.hu@arm.com>
Reviewed-by: Honnappa Nagarahalli <Honnappa.Nagarahalli@arm.com>
Reviewed-by: Steve Capper <Steve.Capper@arm.com>
Reviewed-by: Thomas Monjalon <thomas@monjalon.net>
---
 buildtools/pmdinfogen/Makefile           | 2 +-
 mk/toolchain/gcc/rte.toolchain-compat.mk | 5 +++++
 mk/toolchain/gcc/rte.vars.mk             | 9 +++++++++
 3 files changed, 15 insertions(+), 1 deletion(-)

diff --git a/buildtools/pmdinfogen/Makefile b/buildtools/pmdinfogen/Makefile
index bf07b6f..ff7a5fa 100644
--- a/buildtools/pmdinfogen/Makefile
+++ b/buildtools/pmdinfogen/Makefile
@@ -41,7 +41,7 @@ HOSTAPP = dpdk-pmdinfogen
 #
 SRCS-y += pmdinfogen.c
 
-HOST_CFLAGS += $(WERROR_FLAGS) -g
+HOST_CFLAGS += $(HOST_WERROR_FLAGS) -g
 HOST_CFLAGS += -I$(RTE_OUTPUT)/include
 
 include $(RTE_SDK)/mk/rte.hostapp.mk
diff --git a/mk/toolchain/gcc/rte.toolchain-compat.mk b/mk/toolchain/gcc/rte.toolchain-compat.mk
index 255c896..1e4434f 100644
--- a/mk/toolchain/gcc/rte.toolchain-compat.mk
+++ b/mk/toolchain/gcc/rte.toolchain-compat.mk
@@ -15,6 +15,11 @@ GCC_MINOR = $(shell echo __GNUC_MINOR__ | $(CC) -E -x c - | tail -n 1)
 GCC_PATCHLEVEL = $(shell echo __GNUC_PATCHLEVEL__ | $(CC) -E -x c - | tail -n 1)
 GCC_VERSION = $(GCC_MAJOR)$(GCC_MINOR)
 
+HOST_GCC_MAJOR = $(shell echo __GNUC__ | $(HOSTCC) -E -x c - | tail -n 1)
+HOST_GCC_MINOR = $(shell echo __GNUC_MINOR__ | $(HOSTCC) -E -x c - | tail -n 1)
+HOST_GCC_PATCHLEVEL = $(shell echo __GNUC_PATCHLEVEL__ | $(HOSTCC) -E -x c - | tail -n 1)
+HOST_GCC_VERSION = $(HOST_GCC_MAJOR)$(HOST_GCC_MINOR)
+
 # if GCC is older than 4.x
 ifeq ($(shell test $(GCC_VERSION) -lt 40 && echo 1), 1)
 	MACHINE_CFLAGS =
diff --git a/mk/toolchain/gcc/rte.vars.mk b/mk/toolchain/gcc/rte.vars.mk
index 7e4531b..d8b99fa 100644
--- a/mk/toolchain/gcc/rte.vars.mk
+++ b/mk/toolchain/gcc/rte.vars.mk
@@ -71,6 +71,15 @@ ifeq ($(shell test $(GCC_VERSION) -lt 47 && echo 1), 1)
 WERROR_FLAGS += -Wno-uninitialized
 endif
 
+HOST_WERROR_FLAGS := $(WERROR_FLAGS)
+
+ifeq ($(shell test $(HOST_GCC_VERSION) -gt 70 && echo 1), 1)
+# Tell GCC only to error for switch fallthroughs without a suitable comment
+HOST_WERROR_FLAGS += -Wimplicit-fallthrough=2
+# Ignore errors for snprintf truncation
+HOST_WERROR_FLAGS += -Wno-format-truncation
+endif
+
 ifeq ($(shell test $(GCC_VERSION) -gt 70 && echo 1), 1)
 # Tell GCC only to error for switch fallthroughs without a suitable comment
 WERROR_FLAGS += -Wimplicit-fallthrough=2
-- 
2.1.4

^ permalink raw reply	[flat|nested] 23+ messages in thread

* Re: [dpdk-stable] [dpdk-dev] [PATCH v2 1/2] mk: fix cross build errors
  2018-05-28  6:53 ` [dpdk-stable] [PATCH v2 " Gavin Hu
@ 2018-05-28 13:24   ` Bruce Richardson
  2018-05-29  1:22     ` Gavin Hu
  2018-05-29  6:51   ` [dpdk-stable] [PATCH v3 " Gavin Hu
  1 sibling, 1 reply; 23+ messages in thread
From: Bruce Richardson @ 2018-05-28 13:24 UTC (permalink / raw)
  To: Gavin Hu; +Cc: dev, stable

On Mon, May 28, 2018 at 02:53:47AM -0400, Gavin Hu wrote:
> The "-Wimplicit-fallthrough=2" option was introduced into gcc 7.0, it was
> enabled when the cross compiler gcc is greater than 7.0, but for the host
> side buildtools/pmdinfogen, if the native is older than 7.0, it should not
> be enabled.
> 
> The fix is to differentiate the host gcc Werror options from the cross gcc.
> 
> gcc -Wp,-MD,./.pmdinfogen.o.d.tmp  -W -Wall -Wstrict-prototypes
> -Wmissing-prototypes -Wmissing-declarations -Wold-style-definition
> -Wpointer-arith -Wcast-align -Wnested-externs -Wcast-qual
> -Wformat-nonliteral -Wformat-security -Wundef -Wwrite-strings -Wdeprecated
> -Werror -Wimplicit-fallthrough=2 -Dbbb -Wno-format-truncation -g
> -I/home/gavin/arm_repo/dpdk/build/include    -o pmdinfogen.o -c
> ~/dpdk/buildtools/pmdinfogen/pmdinfogen.c gcc: error:
> unrecognized command line option ‘-Wimplicit-fallthrough=2’
> ~/dpdk/mk/internal/rte.compile-pre.mk:114: recipe for target 'pmdinfogen.o'
> failed make[3]: *** [pmdinfogen.o] Error 1
> 
> Fixes: ced3e6f8 ("mk: adjust gcc flags for new gcc 7 warnings")
> Cc: stable@dpdk.org
> 
> Signed-off-by: Gavin Hu <gavin.hu@arm.com>
> Reviewed-by: Honnappa Nagarahalli <Honnappa.Nagarahalli@arm.com>
> Reviewed-by: Steve Capper <Steve.Capper@arm.com>
> Reviewed-by: Thomas Monjalon <thomas@monjalon.net>
> ---

Would a simpler solution for this not be to put "-Wno-implicit-fallthrough"
for pmdinfogen? GCC will not give a warning for an unrecognised "-Wno"
flag when compiling, unless there are other errors. This means we can just
use the flag without bothering with version checks.

/Bruce

^ permalink raw reply	[flat|nested] 23+ messages in thread

* Re: [dpdk-stable] [dpdk-dev] [PATCH v2 1/2] mk: fix cross build errors
  2018-05-28 13:24   ` [dpdk-stable] [dpdk-dev] " Bruce Richardson
@ 2018-05-29  1:22     ` Gavin Hu
  0 siblings, 0 replies; 23+ messages in thread
From: Gavin Hu @ 2018-05-29  1:22 UTC (permalink / raw)
  To: Bruce Richardson; +Cc: dev, stable

Hi Bruce,

Thanks for your helpful comment, see my inline comments.

Best Regards,
Gavin

-----Original Message-----
From: Bruce Richardson <bruce.richardson@intel.com>
Sent: Monday, May 28, 2018 9:24 PM
To: Gavin Hu <Gavin.Hu@arm.com>
Cc: dev@dpdk.org; stable@dpdk.org
Subject: Re: [dpdk-dev] [PATCH v2 1/2] mk: fix cross build errors

On Mon, May 28, 2018 at 02:53:47AM -0400, Gavin Hu wrote:
> The "-Wimplicit-fallthrough=2" option was introduced into gcc 7.0, it
> was enabled when the cross compiler gcc is greater than 7.0, but for
> the host side buildtools/pmdinfogen, if the native is older than 7.0,
> it should not be enabled.
>
> The fix is to differentiate the host gcc Werror options from the cross gcc.
>
> gcc -Wp,-MD,./.pmdinfogen.o.d.tmp  -W -Wall -Wstrict-prototypes
> -Wmissing-prototypes -Wmissing-declarations -Wold-style-definition
> -Wpointer-arith -Wcast-align -Wnested-externs -Wcast-qual
> -Wformat-nonliteral -Wformat-security -Wundef -Wwrite-strings
> -Wdeprecated -Werror -Wimplicit-fallthrough=2 -Dbbb -Wno-format-truncation -g
> -I/home/gavin/arm_repo/dpdk/build/include    -o pmdinfogen.o -c
> ~/dpdk/buildtools/pmdinfogen/pmdinfogen.c gcc: error:
> unrecognized command line option ‘-Wimplicit-fallthrough=2’
> ~/dpdk/mk/internal/rte.compile-pre.mk:114: recipe for target 'pmdinfogen.o'
> failed make[3]: *** [pmdinfogen.o] Error 1
>
> Fixes: ced3e6f8 ("mk: adjust gcc flags for new gcc 7 warnings")
> Cc: stable@dpdk.org
>
> Signed-off-by: Gavin Hu <gavin.hu@arm.com>
> Reviewed-by: Honnappa Nagarahalli <Honnappa.Nagarahalli@arm.com>
> Reviewed-by: Steve Capper <Steve.Capper@arm.com>
> Reviewed-by: Thomas Monjalon <thomas@monjalon.net>
> ---

Would a simpler solution for this not be to put "-Wno-implicit-fallthrough"
for pmdinfogen? GCC will not give a warning for an unrecognised "-Wno"
flag when compiling, unless there are other errors. This means we can just use the flag without bothering with version checks.

 [Gavin Hu] I tried your proposal, added "-Wno-implicit-fallthrough" before $( WERROR_FLAGS) in the pmdinfo Makefile.
It took precedence and made following " Wimplicit-fallthrough=2" useless, the compilation succeeded.

Is this what you mean?
Note the two options must be in this order, otherwise the compiling error still hit.

Another option is totally disable WERROR_FLAGS for pmdinfo, but this is not a best way as it includes a lot of other options.

toolchain/gcc/rte.vars.mk:46:WERROR_FLAGS := -W -Wall -Wstrict-prototypes -Wmissing-prototypes
toolchain/gcc/rte.vars.mk:47:WERROR_FLAGS += -Wmissing-declarations -Wold-style-definition -Wpointer-arith
toolchain/gcc/rte.vars.mk:48:WERROR_FLAGS += -Wcast-align -Wnested-externs -Wcast-qual
toolchain/gcc/rte.vars.mk:49:WERROR_FLAGS += -Wformat-nonliteral -Wformat-security
toolchain/gcc/rte.vars.mk:50:WERROR_FLAGS += -Wundef -Wwrite-strings -Wdeprecated
toolchain/gcc/rte.vars.mk:53:WERROR_FLAGS += -Werror
toolchain/gcc/rte.vars.mk:59:WERROR_FLAGS += -Wno-error=cast-align
toolchain/gcc/rte.vars.mk:67:WERROR_FLAGS += -Wno-missing-field-initializers
toolchain/gcc/rte.vars.mk:71:WERROR_FLAGS += -Wno-uninitialized
toolchain/gcc/rte.vars.mk:85:WERROR_FLAGS += -Wimplicit-fallthrough=2
toolchain/gcc/rte.vars.mk:87:WERROR_FLAGS += -Wno-format-truncation

/Bruce
IMPORTANT NOTICE: The contents of this email and any attachments are confidential and may also be privileged. If you are not the intended recipient, please notify the sender immediately and do not disclose the contents to any other person, use it for any purpose, or store or copy the information in any medium. Thank you.

^ permalink raw reply	[flat|nested] 23+ messages in thread

* [dpdk-stable] [PATCH v3 1/2] mk: fix cross build errors
  2018-05-28  6:53 ` [dpdk-stable] [PATCH v2 " Gavin Hu
  2018-05-28 13:24   ` [dpdk-stable] [dpdk-dev] " Bruce Richardson
@ 2018-05-29  6:51   ` Gavin Hu
       [not found]     ` <1527578508-27297-1-git-send-email-gavin.hu@arm.com>
  1 sibling, 1 reply; 23+ messages in thread
From: Gavin Hu @ 2018-05-29  6:51 UTC (permalink / raw)
  To: dev; +Cc: gavin.hu, stable

The "-Wimplicit-fallthrough=2" option was introduced into gcc 7.0, it was
enabled when the cross compiler gcc is greater than 7.0, but for the host
side buildtools/pmdinfogen, if the native is older than 7.0, it should not
be enabled.

The fix is to differentiate the host gcc Werror options from the cross gcc.

gcc -Wp,-MD,./.pmdinfogen.o.d.tmp  -W -Wall -Wstrict-prototypes
-Wmissing-prototypes -Wmissing-declarations -Wold-style-definition
-Wpointer-arith -Wcast-align -Wnested-externs -Wcast-qual
-Wformat-nonliteral -Wformat-security -Wundef -Wwrite-strings -Wdeprecated
-Werror -Wimplicit-fallthrough=2 -Dbbb -Wno-format-truncation -g
-I/home/gavin/arm_repo/dpdk/build/include    -o pmdinfogen.o -c
~/dpdk/buildtools/pmdinfogen/pmdinfogen.c gcc: error:
unrecognized command line option ‘-Wimplicit-fallthrough=2’
~/dpdk/mk/internal/rte.compile-pre.mk:114: recipe for target 'pmdinfogen.o'
failed make[3]: *** [pmdinfogen.o] Error 1

Fixes: ced3e6f8 ("mk: adjust gcc flags for new gcc 7 warnings")
Cc: stable@dpdk.org

Signed-off-by: Gavin Hu <gavin.hu@arm.com>
Reviewed-by: Honnappa Nagarahalli <Honnappa.Nagarahalli@arm.com>
Reviewed-by: Steve Capper <Steve.Capper@arm.com>
Reviewed-by: Thomas Monjalon <thomas@monjalon.net>
Reviewed-by: Bruce Richardson <bruce.richardson@intel.com>
---
 buildtools/pmdinfogen/Makefile | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/buildtools/pmdinfogen/Makefile b/buildtools/pmdinfogen/Makefile
index bf07b6f..8ee6427 100644
--- a/buildtools/pmdinfogen/Makefile
+++ b/buildtools/pmdinfogen/Makefile
@@ -41,7 +41,7 @@ HOSTAPP = dpdk-pmdinfogen
 #
 SRCS-y += pmdinfogen.c
 
-HOST_CFLAGS += $(WERROR_FLAGS) -g
+HOST_CFLAGS += -Wno-implicit-fallthrough $(WERROR_FLAGS) -g
 HOST_CFLAGS += -I$(RTE_OUTPUT)/include
 
 include $(RTE_SDK)/mk/rte.hostapp.mk
-- 
2.1.4

^ permalink raw reply	[flat|nested] 23+ messages in thread

* [dpdk-stable] [PATCH v4 1/2] mk: fix cross build errors
       [not found]     ` <1527578508-27297-1-git-send-email-gavin.hu@arm.com>
@ 2018-05-29  7:21       ` Gavin Hu
       [not found]       ` <1527590616-28299-1-git-send-email-gavin.hu@arm.com>
  1 sibling, 0 replies; 23+ messages in thread
From: Gavin Hu @ 2018-05-29  7:21 UTC (permalink / raw)
  To: dev; +Cc: gavin.hu, stable

The "-Wimplicit-fallthrough=2" option was introduced into gcc 7.0, it was
enabled when the cross compiler gcc is greater than 7.0, but for the host
side buildtools/pmdinfogen, if the native is older than 7.0, it should not
be enabled.

The fix is to simply enable -Wnoimplicit-fallthrough for pmdinfogen.

gcc -Wp,-MD,./.pmdinfogen.o.d.tmp  -W -Wall -Wstrict-prototypes
-Wmissing-prototypes -Wmissing-declarations -Wold-style-definition
-Wpointer-arith -Wcast-align -Wnested-externs -Wcast-qual
-Wformat-nonliteral -Wformat-security -Wundef -Wwrite-strings -Wdeprecated
-Werror -Wimplicit-fallthrough=2 -Dbbb -Wno-format-truncation -g
-I/home/gavin/arm_repo/dpdk/build/include    -o pmdinfogen.o -c
~/dpdk/buildtools/pmdinfogen/pmdinfogen.c gcc: error:
unrecognized command line option ‘-Wimplicit-fallthrough=2’
~/dpdk/mk/internal/rte.compile-pre.mk:114: recipe for target 'pmdinfogen.o'
failed make[3]: *** [pmdinfogen.o] Error 1

Fixes: ced3e6f8 ("mk: adjust gcc flags for new gcc 7 warnings")
Cc: stable@dpdk.org

Signed-off-by: Gavin Hu <gavin.hu@arm.com>
Reviewed-by: Honnappa Nagarahalli <Honnappa.Nagarahalli@arm.com>
Reviewed-by: Steve Capper <Steve.Capper@arm.com>
Reviewed-by: Thomas Monjalon <thomas@monjalon.net>
Reviewed-by: Bruce Richardson <bruce.richardson@intel.com>
---
 buildtools/pmdinfogen/Makefile | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/buildtools/pmdinfogen/Makefile b/buildtools/pmdinfogen/Makefile
index bf07b6f..8ee6427 100644
--- a/buildtools/pmdinfogen/Makefile
+++ b/buildtools/pmdinfogen/Makefile
@@ -41,7 +41,7 @@ HOSTAPP = dpdk-pmdinfogen
 #
 SRCS-y += pmdinfogen.c
 
-HOST_CFLAGS += $(WERROR_FLAGS) -g
+HOST_CFLAGS += -Wno-implicit-fallthrough $(WERROR_FLAGS) -g
 HOST_CFLAGS += -I$(RTE_OUTPUT)/include
 
 include $(RTE_SDK)/mk/rte.hostapp.mk
-- 
2.1.4

^ permalink raw reply	[flat|nested] 23+ messages in thread

* [dpdk-stable] [PATCH v5 1/2] mk: fix cross build errors
       [not found]       ` <1527590616-28299-1-git-send-email-gavin.hu@arm.com>
@ 2018-05-29 10:43         ` Gavin Hu
  2018-05-29 15:09           ` Thomas Monjalon
       [not found]         ` <20180614095127.16245-1-gavin.hu@arm.com>
  1 sibling, 1 reply; 23+ messages in thread
From: Gavin Hu @ 2018-05-29 10:43 UTC (permalink / raw)
  To: dev; +Cc: gavin.hu, stable

The "-Wimplicit-fallthrough=2" option was introduced into gcc 7.0, it was
enabled when the cross compiler gcc is greater than 7.0, but for the host
side buildtools/pmdinfogen, if the native is older than 7.0, it should not
be enabled.

The fix is to simply enable -Wnoimplicit-fallthrough for pmdinfogen.

gcc -Wp,-MD,./.pmdinfogen.o.d.tmp  -W -Wall -Wstrict-prototypes
-Wmissing-prototypes -Wmissing-declarations -Wold-style-definition
-Wpointer-arith -Wcast-align -Wnested-externs -Wcast-qual
-Wformat-nonliteral -Wformat-security -Wundef -Wwrite-strings -Wdeprecated
-Werror -Wimplicit-fallthrough=2 -Dbbb -Wno-format-truncation -g
-I/home/gavin/arm_repo/dpdk/build/include    -o pmdinfogen.o -c
~/dpdk/buildtools/pmdinfogen/pmdinfogen.c gcc: error:
unrecognized command line option ‘-Wimplicit-fallthrough=2’
~/dpdk/mk/internal/rte.compile-pre.mk:114: recipe for target 'pmdinfogen.o'
failed make[3]: *** [pmdinfogen.o] Error 1

Fixes: ced3e6f8 ("mk: adjust gcc flags for new gcc 7 warnings")
Cc: stable@dpdk.org

Signed-off-by: Gavin Hu <gavin.hu@arm.com>
Reviewed-by: Honnappa Nagarahalli <Honnappa.Nagarahalli@arm.com>
Reviewed-by: Steve Capper <Steve.Capper@arm.com>
Reviewed-by: Thomas Monjalon <thomas@monjalon.net>
Reviewed-by: Bruce Richardson <bruce.richardson@intel.com>
---
 buildtools/pmdinfogen/Makefile | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/buildtools/pmdinfogen/Makefile b/buildtools/pmdinfogen/Makefile
index bf07b6f..8ee6427 100644
--- a/buildtools/pmdinfogen/Makefile
+++ b/buildtools/pmdinfogen/Makefile
@@ -41,7 +41,7 @@ HOSTAPP = dpdk-pmdinfogen
 #
 SRCS-y += pmdinfogen.c
 
-HOST_CFLAGS += $(WERROR_FLAGS) -g
+HOST_CFLAGS += -Wno-implicit-fallthrough $(WERROR_FLAGS) -g
 HOST_CFLAGS += -I$(RTE_OUTPUT)/include
 
 include $(RTE_SDK)/mk/rte.hostapp.mk
-- 
2.1.4

^ permalink raw reply	[flat|nested] 23+ messages in thread

* Re: [dpdk-stable] [PATCH v5 1/2] mk: fix cross build errors
  2018-05-29 10:43         ` [dpdk-stable] [PATCH v5 " Gavin Hu
@ 2018-05-29 15:09           ` Thomas Monjalon
  0 siblings, 0 replies; 23+ messages in thread
From: Thomas Monjalon @ 2018-05-29 15:09 UTC (permalink / raw)
  To: Gavin Hu; +Cc: stable, dev

29/05/2018 12:43, Gavin Hu:
> --- a/buildtools/pmdinfogen/Makefile
> +++ b/buildtools/pmdinfogen/Makefile
> -HOST_CFLAGS += $(WERROR_FLAGS) -g
> +HOST_CFLAGS += -Wno-implicit-fallthrough $(WERROR_FLAGS) -g

There is a compilation error with clang. Please see this comment:
	http://dpdk.org/ml/archives/dev/2018-May/103136.html

^ permalink raw reply	[flat|nested] 23+ messages in thread

* [dpdk-stable] [PATCH v6 1/7] mk: fix cross build errors
       [not found]         ` <20180614095127.16245-1-gavin.hu@arm.com>
@ 2018-06-14  9:51           ` Gavin Hu
  2018-06-14  9:51           ` [dpdk-stable] [PATCH v6 3/7] devtools: fix the Exec format error Gavin Hu
                             ` (4 subsequent siblings)
  5 siblings, 0 replies; 23+ messages in thread
From: Gavin Hu @ 2018-06-14  9:51 UTC (permalink / raw)
  To: dev; +Cc: gavin hu, stable

From: gavin hu <gavin.hu@arm.com>

The "-Wimplicit-fallthrough=2" option was introduced into gcc 7.0, it was
enabled when the cross compiler gcc is greater than 7.0, but for the host
side buildtools/pmdinfogen, if the native gcc is older than 7.0, or the
host cc compiler is clang, it should not be enabled.

The fix is to differentiate the host gcc Werror options from the cross gcc.

gcc -Wp,-MD,./.pmdinfogen.o.d.tmp  -W -Wall -Wstrict-prototypes
-Wmissing-prototypes -Wmissing-declarations -Wold-style-definition
-Wpointer-arith -Wcast-align -Wnested-externs -Wcast-qual
-Wformat-nonliteral -Wformat-security -Wundef -Wwrite-strings -Wdeprecated
-Werror -Wimplicit-fallthrough=2 -Dbbb -Wno-format-truncation -g
-I/home/gavin/arm_repo/dpdk/build/include    -o pmdinfogen.o -c
~/dpdk/buildtools/pmdinfogen/pmdinfogen.c gcc: error:
unrecognized command line option ‘-Wimplicit-fallthrough=2’
~/dpdk/mk/internal/rte.compile-pre.mk:114: recipe for target 'pmdinfogen.o'
failed make[3]: *** [pmdinfogen.o] Error 1

Fixes: ced3e6f8 ("mk: adjust gcc flags for new gcc 7 warnings")
Cc: stable@dpdk.org

Signed-off-by: Gavin Hu <gavin.hu@arm.com>
Reviewed-by: Honnappa Nagarahalli <Honnappa.Nagarahalli@arm.com>
Reviewed-by: Steve Capper <Steve.Capper@arm.com>
---
 buildtools/pmdinfogen/Makefile           | 2 +-
 mk/toolchain/gcc/rte.toolchain-compat.mk | 5 +++++
 mk/toolchain/gcc/rte.vars.mk             | 9 +++++++++
 3 files changed, 15 insertions(+), 1 deletion(-)

diff --git a/buildtools/pmdinfogen/Makefile b/buildtools/pmdinfogen/Makefile
index bf07b6f2e..ff7a5fae6 100644
--- a/buildtools/pmdinfogen/Makefile
+++ b/buildtools/pmdinfogen/Makefile
@@ -41,7 +41,7 @@ HOSTAPP = dpdk-pmdinfogen
 #
 SRCS-y += pmdinfogen.c
 
-HOST_CFLAGS += $(WERROR_FLAGS) -g
+HOST_CFLAGS += $(HOST_WERROR_FLAGS) -g
 HOST_CFLAGS += -I$(RTE_OUTPUT)/include
 
 include $(RTE_SDK)/mk/rte.hostapp.mk
diff --git a/mk/toolchain/gcc/rte.toolchain-compat.mk b/mk/toolchain/gcc/rte.toolchain-compat.mk
index 255c89677..1e4434fa9 100644
--- a/mk/toolchain/gcc/rte.toolchain-compat.mk
+++ b/mk/toolchain/gcc/rte.toolchain-compat.mk
@@ -15,6 +15,11 @@ GCC_MINOR = $(shell echo __GNUC_MINOR__ | $(CC) -E -x c - | tail -n 1)
 GCC_PATCHLEVEL = $(shell echo __GNUC_PATCHLEVEL__ | $(CC) -E -x c - | tail -n 1)
 GCC_VERSION = $(GCC_MAJOR)$(GCC_MINOR)
 
+HOST_GCC_MAJOR = $(shell echo __GNUC__ | $(HOSTCC) -E -x c - | tail -n 1)
+HOST_GCC_MINOR = $(shell echo __GNUC_MINOR__ | $(HOSTCC) -E -x c - | tail -n 1)
+HOST_GCC_PATCHLEVEL = $(shell echo __GNUC_PATCHLEVEL__ | $(HOSTCC) -E -x c - | tail -n 1)
+HOST_GCC_VERSION = $(HOST_GCC_MAJOR)$(HOST_GCC_MINOR)
+
 # if GCC is older than 4.x
 ifeq ($(shell test $(GCC_VERSION) -lt 40 && echo 1), 1)
 	MACHINE_CFLAGS =
diff --git a/mk/toolchain/gcc/rte.vars.mk b/mk/toolchain/gcc/rte.vars.mk
index 7e4531bab..d8b99faf6 100644
--- a/mk/toolchain/gcc/rte.vars.mk
+++ b/mk/toolchain/gcc/rte.vars.mk
@@ -71,6 +71,15 @@ ifeq ($(shell test $(GCC_VERSION) -lt 47 && echo 1), 1)
 WERROR_FLAGS += -Wno-uninitialized
 endif
 
+HOST_WERROR_FLAGS := $(WERROR_FLAGS)
+
+ifeq ($(shell test $(HOST_GCC_VERSION) -gt 70 && echo 1), 1)
+# Tell GCC only to error for switch fallthroughs without a suitable comment
+HOST_WERROR_FLAGS += -Wimplicit-fallthrough=2
+# Ignore errors for snprintf truncation
+HOST_WERROR_FLAGS += -Wno-format-truncation
+endif
+
 ifeq ($(shell test $(GCC_VERSION) -gt 70 && echo 1), 1)
 # Tell GCC only to error for switch fallthroughs without a suitable comment
 WERROR_FLAGS += -Wimplicit-fallthrough=2
-- 
2.11.0

^ permalink raw reply	[flat|nested] 23+ messages in thread

* [dpdk-stable] [PATCH v6 3/7] devtools: fix the Exec format error
       [not found]         ` <20180614095127.16245-1-gavin.hu@arm.com>
  2018-06-14  9:51           ` [dpdk-stable] [PATCH v6 1/7] " Gavin Hu
@ 2018-06-14  9:51           ` Gavin Hu
  2018-06-14 10:34             ` [dpdk-stable] [dpdk-dev] " Bruce Richardson
  2018-06-14  9:51           ` [dpdk-stable] [PATCH v6 4/7] build: fix the meson build warning Gavin Hu
                             ` (3 subsequent siblings)
  5 siblings, 1 reply; 23+ messages in thread
From: Gavin Hu @ 2018-06-14  9:51 UTC (permalink / raw)
  To: dev; +Cc: stable

meson will natively compile and generate the sanitycheck.exe file.  It will
be spawned and run at the host side.  Export the cross compiler is not
necessary as it is already done by the cross-file, and even worse it
generate the files in the wrong target format.

The fix to the following compiling error is select the native compiler for
the sanity test source file.

Traceback (most recent call last): File
"/usr/share/meson/mesonbuild/mesonmain.py", line 361, in run app.generate()
File "/usr/share/meson/mesonbuild/mesonmain.py", line 150, in generate
self._generate(env) File "/usr/share/meson/mesonbuild/mesonmain.py", line
189, in _generate intr = interpreter.Interpreter(b, g) File
"/usr/share/meson/mesonbuild/interpreter.py", line 1444, in __init__
self.parse_project() File "/usr/share/meson/mesonbuild/interpreterbase.py",
line 159, in parse_project self.evaluate_codeblock(self.ast, end=1) File
"/usr/share/meson/mesonbuild/interpreterbase.py", line 195, in
evaluate_codeblock raise e File
"/usr/share/meson/mesonbuild/interpreterbase.py", line 189, in
evaluate_codeblock self.evaluate_statement(cur) File
"/usr/share/meson/mesonbuild/interpreterbase.py", line 200, in
evaluate_statement return self.function_call(cur) File
"/usr/share/meson/mesonbuild/interpreterbase.py", line 456, in
function_call return self.funcs[func_name](node, self.flatten(posargs),
kwargs) File "/usr/share/meson/mesonbuild/interpreterbase.py", line 55, in
wrapped return f(self, node, args, kwargs) File
"/usr/share/meson/mesonbuild/interpreterbase.py", line 79, in wrapped
return f(s, node_or_state, args, kwargs) File
"/usr/share/meson/mesonbuild/interpreter.py", line 1947, in func_project
self.add_languages(proj_langs, True) File
"/usr/share/meson/mesonbuild/interpreter.py", line 2078, in add_languages
(comp, cross_comp) = self.detect_compilers(lang, need_cross_compiler) File
"/usr/share/meson/mesonbuild/interpreter.py", line 2047, in
detect_compilers comp.sanity_check(self.environment.get_scratch_dir(),
self.environment) File "/usr/share/meson/mesonbuild/compilers/c.py", line
254, in sanity_check return self.sanity_check_impl(work_dir, environment,
'sanitycheckc.c', code) File "/usr/share/meson/mesonbuild/compilers/c.py",
line 247, in sanity_check_impl pe = subprocess.Popen(cmdlist) File
"/usr/lib/python3.5/subprocess.py", line 676, in __init__ restore_signals,
start_new_session) File "/usr/lib/python3.5/subprocess.py", line 1282, in
_execute_child raise child_exception_type(errno_num, err_msg) OSError:
[Errno 8] Exec format error

Build started at 2018-06-01T12:48:46.852286 Main binary: /usr/bin/python3
Python system: Linux The Meson build system Version: 0.45.1 Build type:
cross build Project name: DPDK Sanity testing C compiler:
aarch64-linux-gnu-gcc Is cross compiler: False.  Sanity check compiler
command line: aarch64-linux-gnu-gcc
dpdk/build-arm64-armv8/meson-private/sanitycheckc.c -o
dpdk/build-arm64-armv8/meson-private/sanitycheckc.exe

Fixes: a55277a788 ("devtools: add test script for meson builds")
Cc: stable@dpdk.org

Signed-off-by: Gavin Hu <gavin.hu@arm.com>
Reviewed-by: Phil Yang <phil.yang@arm.com>
Reviewed-by: Song Zhu <song.zhu@arm.com>
---
 devtools/test-meson-builds.sh | 11 +++++++----
 1 file changed, 7 insertions(+), 4 deletions(-)

diff --git a/devtools/test-meson-builds.sh b/devtools/test-meson-builds.sh
index 9868c325b..6bce3df7f 100755
--- a/devtools/test-meson-builds.sh
+++ b/devtools/test-meson-builds.sh
@@ -1,6 +1,7 @@
 #! /bin/sh -e
 # SPDX-License-Identifier: BSD-3-Clause
 # Copyright(c) 2018 Intel Corporation
+# Copyright(c) 2018 ARM Corporation
 
 # Run meson to auto-configure the various builds.
 # * all builds get put in a directory whose name starts with "build-"
@@ -18,7 +19,6 @@ build () # <directory> <meson options>
 		options="--werror -Dexamples=all $*"
 		echo "$MESON $options $srcdir $builddir"
 		$MESON $options $srcdir $builddir
-		unset CC
 	fi
 	echo "ninja -C $builddir"
 	ninja -C $builddir
@@ -26,10 +26,11 @@ build () # <directory> <meson options>
 
 # shared and static linked builds with gcc and clang
 for c in gcc clang ; do
+	export CC="ccache $c"
 	for s in static shared ; do
-		export CC="ccache $c"
 		build build-$c-$s --default-library=$s
 	done
+	unset CC
 done
 
 # test compilation with minimal x86 instruction set
@@ -39,8 +40,10 @@ build build-x86-default -Dmachine=nehalem
 for f in config/arm/arm*gcc ; do
 	c=aarch64-linux-gnu-gcc
 	if ! command -v $c >/dev/null 2>&1 ; then
-		continue
+		echo "## ERROR: aarch64-linux-gnu-gcc is missing..."
+		exit 1
 	fi
-	export CC="ccache $c"
+	export CC="ccache gcc"
 	build build-$(basename $f | tr '_' '-' | cut -d'-' -f-2) --cross-file $f
+	unset CC
 done
-- 
2.11.0

^ permalink raw reply	[flat|nested] 23+ messages in thread

* [dpdk-stable] [PATCH v6 4/7] build: fix the meson build warning
       [not found]         ` <20180614095127.16245-1-gavin.hu@arm.com>
  2018-06-14  9:51           ` [dpdk-stable] [PATCH v6 1/7] " Gavin Hu
  2018-06-14  9:51           ` [dpdk-stable] [PATCH v6 3/7] devtools: fix the Exec format error Gavin Hu
@ 2018-06-14  9:51           ` Gavin Hu
  2018-06-14 10:34             ` [dpdk-stable] [dpdk-dev] " Bruce Richardson
  2018-06-14  9:51           ` [dpdk-stable] [PATCH v6 5/7] devtools: fix the missing ninja command error on CentOS Gavin Hu
                             ` (2 subsequent siblings)
  5 siblings, 1 reply; 23+ messages in thread
From: Gavin Hu @ 2018-06-14  9:51 UTC (permalink / raw)
  To: dev; +Cc: stable

This is to fix the unnecessary warning output, it is not consistent with
the configurations of other platforms.

WARNING: Cross file does not specify strip binary, result will not be
stripped.

Fixes: e53a5299d2 ("build: support vendor specific ARM cross builds")
Cc: stable@dpdk.org

Signed-off-by: Gavin Hu <gavin.hu@arm.com>
Reviewed-by: Phil Yang <phil.yang@arm.com>
Reviewed-by: Song Zhu <song.zhu@arm.com>
---
 config/arm/arm64_thunderx_linuxapp_gcc | 1 +
 1 file changed, 1 insertion(+)

diff --git a/config/arm/arm64_thunderx_linuxapp_gcc b/config/arm/arm64_thunderx_linuxapp_gcc
index 7ff34af74..967d9d46d 100644
--- a/config/arm/arm64_thunderx_linuxapp_gcc
+++ b/config/arm/arm64_thunderx_linuxapp_gcc
@@ -2,6 +2,7 @@
 c = 'aarch64-linux-gnu-gcc'
 cpp = 'aarch64-linux-gnu-cpp'
 ar = 'aarch64-linux-gnu-gcc-ar'
+strip = 'aarch64-linux-gnu-strip'
 
 [host_machine]
 system = 'linux'
-- 
2.11.0

^ permalink raw reply	[flat|nested] 23+ messages in thread

* [dpdk-stable] [PATCH v6 5/7] devtools: fix the missing ninja command error on CentOS
       [not found]         ` <20180614095127.16245-1-gavin.hu@arm.com>
                             ` (2 preceding siblings ...)
  2018-06-14  9:51           ` [dpdk-stable] [PATCH v6 4/7] build: fix the meson build warning Gavin Hu
@ 2018-06-14  9:51           ` Gavin Hu
  2018-06-14 10:40             ` [dpdk-stable] [dpdk-dev] " Bruce Richardson
  2018-06-14  9:51           ` [dpdk-stable] [PATCH v6 6/7] build: fix the meson cross compile error Gavin Hu
  2018-06-14  9:51           ` [dpdk-stable] [PATCH v6 7/7] devtools: expand meson cross compiling coverage Gavin Hu
  5 siblings, 1 reply; 23+ messages in thread
From: Gavin Hu @ 2018-06-14  9:51 UTC (permalink / raw)
  To: dev; +Cc: stable

On CentOS, the ninja executable has a different name:
ninja-build, this patch is to fix the missing command error
on CentOS as follows:
./devtools/test-meson-builds.sh: line 24: ninja: command not found

Fixes: a55277a788 ("devtools: add test script for meson builds")
Cc: stable@dpdk.org

Signed-off-by: Gavin Hu <gavin.hu@arm.com>
Reviewed-by: Phil Yang <phil.yang@arm.com>
Reviewed-by: Song Zhu <song.zhu@arm.com>
---
 devtools/test-meson-builds.sh | 6 +++++-
 1 file changed, 5 insertions(+), 1 deletion(-)

diff --git a/devtools/test-meson-builds.sh b/devtools/test-meson-builds.sh
index 6bce3df7f..4afac76dd 100755
--- a/devtools/test-meson-builds.sh
+++ b/devtools/test-meson-builds.sh
@@ -21,7 +21,11 @@ build () # <directory> <meson options>
 		$MESON $options $srcdir $builddir
 	fi
 	echo "ninja -C $builddir"
-	ninja -C $builddir
+	if [ "$(lsb_release -d | grep -c 'CentOS')" != "0" ] ; then
+		ninja-build -C $builddir
+	else
+		ninja -C $builddir
+	fi
 }
 
 # shared and static linked builds with gcc and clang
-- 
2.11.0

^ permalink raw reply	[flat|nested] 23+ messages in thread

* [dpdk-stable] [PATCH v6 6/7] build: fix the meson cross compile error
       [not found]         ` <20180614095127.16245-1-gavin.hu@arm.com>
                             ` (3 preceding siblings ...)
  2018-06-14  9:51           ` [dpdk-stable] [PATCH v6 5/7] devtools: fix the missing ninja command error on CentOS Gavin Hu
@ 2018-06-14  9:51           ` Gavin Hu
  2018-06-14 10:42             ` [dpdk-stable] [dpdk-dev] " Bruce Richardson
  2018-06-14  9:51           ` [dpdk-stable] [PATCH v6 7/7] devtools: expand meson cross compiling coverage Gavin Hu
  5 siblings, 1 reply; 23+ messages in thread
From: Gavin Hu @ 2018-06-14  9:51 UTC (permalink / raw)
  To: dev; +Cc: stable

The following error hits if host cc compiler is clang(default one in most
linux distributions) and the cross compiler is gcc.

The root cause is: the hybride compilers add the warning options to the
meson project as project arguments, which apply for both host compiling and
cross compiling. But some options such as '-Wno-format-truncation' are not
supported nor recognized by clang, so they have to be removed from the
project arguments for the host compiler to run smoothily and added back as
cflags for the cross compiler to compile for cross source files.

The fix is remove unrecognized warning options from the meson project
arguments shared by gcc and clang, as add them specifically for gcc or
clang as cflags.

[265/893] Compiling C object
'buildtools/pmdinfogen/pmdinfogen@exe/pmdinfogen.c.o'.  warning: unknown
warning option '-Wno-format-truncation' [-Wunknown-warning-option]

Fixes: a55277a788 ("devtools: add test script for meson builds")
Cc: stable@dpdk.org

Signed-off-by: Gavin Hu <gavin.hu@arm.com>
Reviewed-by: Phil Yang <phil.yang@arm.com>
Reviewed-by: Song Zhu <song.zhu@arm.com>
Reviewed-by: Steve Capper <Steve.Capper@arm.com>
---
 config/meson.build    | 3 +--
 drivers/meson.build   | 3 +++
 examples/meson.build  | 4 ++++
 lib/meson.build       | 4 ++++
 test/test/meson.build | 7 ++++++-
 5 files changed, 18 insertions(+), 3 deletions(-)

diff --git a/config/meson.build b/config/meson.build
index 50081b572..272d4a838 100644
--- a/config/meson.build
+++ b/config/meson.build
@@ -57,8 +57,7 @@ add_project_arguments('-include', 'rte_config.h', language: 'c')
 warning_flags = [
 	'-Wsign-compare',
 	'-Wcast-qual',
-	'-Wno-address-of-packed-member',
-	'-Wno-format-truncation'
+	'-Wno-address-of-packed-member'
 ]
 foreach arg: warning_flags
 	if cc.has_argument(arg)
diff --git a/drivers/meson.build b/drivers/meson.build
index ac6c97297..1737d86b8 100644
--- a/drivers/meson.build
+++ b/drivers/meson.build
@@ -32,6 +32,9 @@ foreach class:driver_classes
 		sources = []
 		objs = []
 		cflags = machine_args
+		if cc.has_argument('-Wno-format-truncation')
+			cflags += '-Wno-format-truncation'
+		endif
 		includes = [include_directories(drv_path)]
 		# set up internal deps. Drivers can append/override as necessary
 		deps = std_deps
diff --git a/examples/meson.build b/examples/meson.build
index 3d1568497..e6558875a 100644
--- a/examples/meson.build
+++ b/examples/meson.build
@@ -24,6 +24,10 @@ foreach example: examples
 	sources = []
 	allow_experimental_apis = false
 	cflags = machine_args
+	if cc.has_argument('-Wno-format-truncation')
+		cflags += '-Wno-format-truncation'
+	endif
+
 	ext_deps = [execinfo]
 	includes = [include_directories(example)]
 	deps = ['eal', 'mempool', 'net', 'mbuf', 'ethdev', 'cmdline']
diff --git a/lib/meson.build b/lib/meson.build
index 9d11571f9..fefb3605d 100644
--- a/lib/meson.build
+++ b/lib/meson.build
@@ -34,6 +34,10 @@ foreach l:libraries
 	headers = []
 	includes = []
 	cflags = machine_args
+	if cc.has_argument('-Wno-format-truncation')
+	    cflags += '-Wno-format-truncation'
+	endif
+
 	objs = [] # other object files to link against, used e.g. for
 	          # instruction-set optimized versions of code
 
diff --git a/test/test/meson.build b/test/test/meson.build
index a907fd256..dc4ba5514 100644
--- a/test/test/meson.build
+++ b/test/test/meson.build
@@ -235,6 +235,11 @@ if dpdk_conf.has('RTE_LIBRTE_KNI')
 	test_deps += 'kni'
 endif
 
+cflags = machine_args
+if cc.has_argument('-Wno-format-truncation')
+    cflags += '-Wno-format-truncation'
+endif
+
 test_dep_objs = []
 compress_test_dep = dependency('zlib', required: false)
 if compress_test_dep.found()
@@ -260,7 +265,7 @@ if get_option('tests')
 		test_sources,
 		link_whole: link_libs,
 		dependencies: test_dep_objs,
-		c_args: [machine_args, '-DALLOW_EXPERIMENTAL_API'],
+		c_args: [cflags, '-DALLOW_EXPERIMENTAL_API'],
 		install_rpath: driver_install_path,
 		install: false)
 
-- 
2.11.0

^ permalink raw reply	[flat|nested] 23+ messages in thread

* [dpdk-stable] [PATCH v6 7/7] devtools: expand meson cross compiling coverage
       [not found]         ` <20180614095127.16245-1-gavin.hu@arm.com>
                             ` (4 preceding siblings ...)
  2018-06-14  9:51           ` [dpdk-stable] [PATCH v6 6/7] build: fix the meson cross compile error Gavin Hu
@ 2018-06-14  9:51           ` Gavin Hu
  2018-06-14 10:45             ` [dpdk-stable] [dpdk-dev] " Bruce Richardson
  5 siblings, 1 reply; 23+ messages in thread
From: Gavin Hu @ 2018-06-14  9:51 UTC (permalink / raw)
  To: dev; +Cc: stable

The default test script covers only default host cc compiler, either gcc or
clang, the fix is to cover both, gcc and clang. And also the build dirs are
changed to *-host-$c, indicating the difference of cc used.

Fixes: a55277a788 ("devtools: add test script for meson builds")
Cc: stable@dpdk.org

Signed-off-by: Gavin Hu <gavin.hu@arm.com>
Reviewed-by: Phil Yang <phil.yang@arm.com>
Reviewed-by: Song Zhu <song.zhu@arm.com>
---
 devtools/test-meson-builds.sh | 9 ++++++---
 1 file changed, 6 insertions(+), 3 deletions(-)

diff --git a/devtools/test-meson-builds.sh b/devtools/test-meson-builds.sh
index 4afac76dd..74fe5abc8 100755
--- a/devtools/test-meson-builds.sh
+++ b/devtools/test-meson-builds.sh
@@ -47,7 +47,10 @@ for f in config/arm/arm*gcc ; do
 		echo "## ERROR: aarch64-linux-gnu-gcc is missing..."
 		exit 1
 	fi
-	export CC="ccache gcc"
-	build build-$(basename $f | tr '_' '-' | cut -d'-' -f-2) --cross-file $f
-	unset CC
+	for c in gcc clang ; do
+        export CC="ccache $c"
+        build build-$(basename $f | tr '_' '-' | cut -d'-' -f-2)-host-$c \
+             --cross-file $f
+        unset CC
+	done
 done
-- 
2.11.0

^ permalink raw reply	[flat|nested] 23+ messages in thread

* Re: [dpdk-stable] [dpdk-dev] [PATCH v6 3/7] devtools: fix the Exec format error
  2018-06-14  9:51           ` [dpdk-stable] [PATCH v6 3/7] devtools: fix the Exec format error Gavin Hu
@ 2018-06-14 10:34             ` Bruce Richardson
  2018-06-15  8:07               ` Gavin Hu
  0 siblings, 1 reply; 23+ messages in thread
From: Bruce Richardson @ 2018-06-14 10:34 UTC (permalink / raw)
  To: Gavin Hu; +Cc: dev, stable

On Thu, Jun 14, 2018 at 05:51:23PM +0800, Gavin Hu wrote:
> meson will natively compile and generate the sanitycheck.exe file.  It will
> be spawned and run at the host side.  Export the cross compiler is not
> necessary as it is already done by the cross-file, and even worse it
> generate the files in the wrong target format.
> 
> The fix to the following compiling error is select the native compiler for
> the sanity test source file.
> 
> Traceback (most recent call last): File
> "/usr/share/meson/mesonbuild/mesonmain.py", line 361, in run app.generate()
> File "/usr/share/meson/mesonbuild/mesonmain.py", line 150, in generate
> self._generate(env) File "/usr/share/meson/mesonbuild/mesonmain.py", line
> 189, in _generate intr = interpreter.Interpreter(b, g) File
> "/usr/share/meson/mesonbuild/interpreter.py", line 1444, in __init__
> self.parse_project() File "/usr/share/meson/mesonbuild/interpreterbase.py",
> line 159, in parse_project self.evaluate_codeblock(self.ast, end=1) File
> "/usr/share/meson/mesonbuild/interpreterbase.py", line 195, in
> evaluate_codeblock raise e File
> "/usr/share/meson/mesonbuild/interpreterbase.py", line 189, in
> evaluate_codeblock self.evaluate_statement(cur) File
> "/usr/share/meson/mesonbuild/interpreterbase.py", line 200, in
> evaluate_statement return self.function_call(cur) File
> "/usr/share/meson/mesonbuild/interpreterbase.py", line 456, in
> function_call return self.funcs[func_name](node, self.flatten(posargs),
> kwargs) File "/usr/share/meson/mesonbuild/interpreterbase.py", line 55, in
> wrapped return f(self, node, args, kwargs) File
> "/usr/share/meson/mesonbuild/interpreterbase.py", line 79, in wrapped
> return f(s, node_or_state, args, kwargs) File
> "/usr/share/meson/mesonbuild/interpreter.py", line 1947, in func_project
> self.add_languages(proj_langs, True) File
> "/usr/share/meson/mesonbuild/interpreter.py", line 2078, in add_languages
> (comp, cross_comp) = self.detect_compilers(lang, need_cross_compiler) File
> "/usr/share/meson/mesonbuild/interpreter.py", line 2047, in
> detect_compilers comp.sanity_check(self.environment.get_scratch_dir(),
> self.environment) File "/usr/share/meson/mesonbuild/compilers/c.py", line
> 254, in sanity_check return self.sanity_check_impl(work_dir, environment,
> 'sanitycheckc.c', code) File "/usr/share/meson/mesonbuild/compilers/c.py",
> line 247, in sanity_check_impl pe = subprocess.Popen(cmdlist) File
> "/usr/lib/python3.5/subprocess.py", line 676, in __init__ restore_signals,
> start_new_session) File "/usr/lib/python3.5/subprocess.py", line 1282, in
> _execute_child raise child_exception_type(errno_num, err_msg) OSError:
> [Errno 8] Exec format error
> 
> Build started at 2018-06-01T12:48:46.852286 Main binary: /usr/bin/python3
> Python system: Linux The Meson build system Version: 0.45.1 Build type:
> cross build Project name: DPDK Sanity testing C compiler:
> aarch64-linux-gnu-gcc Is cross compiler: False.  Sanity check compiler
> command line: aarch64-linux-gnu-gcc
> dpdk/build-arm64-armv8/meson-private/sanitycheckc.c -o
> dpdk/build-arm64-armv8/meson-private/sanitycheckc.exe
> 
> Fixes: a55277a788 ("devtools: add test script for meson builds")
> Cc: stable@dpdk.org
> 
> Signed-off-by: Gavin Hu <gavin.hu@arm.com>
> Reviewed-by: Phil Yang <phil.yang@arm.com>
> Reviewed-by: Song Zhu <song.zhu@arm.com>
> ---
>  devtools/test-meson-builds.sh | 11 +++++++----
>  1 file changed, 7 insertions(+), 4 deletions(-)
>
I think this patch is fixing the same error as this one[1], just in a slightly
longer way. [Though the addition of the message about missing the
cross-compiler is nice].

http://dpdk.org/dev/patchwork/patch/40817/

^ permalink raw reply	[flat|nested] 23+ messages in thread

* Re: [dpdk-stable] [dpdk-dev] [PATCH v6 4/7] build: fix the meson build warning
  2018-06-14  9:51           ` [dpdk-stable] [PATCH v6 4/7] build: fix the meson build warning Gavin Hu
@ 2018-06-14 10:34             ` Bruce Richardson
  0 siblings, 0 replies; 23+ messages in thread
From: Bruce Richardson @ 2018-06-14 10:34 UTC (permalink / raw)
  To: Gavin Hu; +Cc: dev, stable

On Thu, Jun 14, 2018 at 05:51:24PM +0800, Gavin Hu wrote:
> This is to fix the unnecessary warning output, it is not consistent with
> the configurations of other platforms.
> 
> WARNING: Cross file does not specify strip binary, result will not be
> stripped.
> 
> Fixes: e53a5299d2 ("build: support vendor specific ARM cross builds")
> Cc: stable@dpdk.org
> 
> Signed-off-by: Gavin Hu <gavin.hu@arm.com>
> Reviewed-by: Phil Yang <phil.yang@arm.com>
> Reviewed-by: Song Zhu <song.zhu@arm.com>
> ---
Acked-by: Bruce Richardson <bruce.richardson@intel.com>

^ permalink raw reply	[flat|nested] 23+ messages in thread

* Re: [dpdk-stable] [dpdk-dev] [PATCH v6 5/7] devtools: fix the missing ninja command error on CentOS
  2018-06-14  9:51           ` [dpdk-stable] [PATCH v6 5/7] devtools: fix the missing ninja command error on CentOS Gavin Hu
@ 2018-06-14 10:40             ` Bruce Richardson
  2018-06-15  8:08               ` Gavin Hu
  0 siblings, 1 reply; 23+ messages in thread
From: Bruce Richardson @ 2018-06-14 10:40 UTC (permalink / raw)
  To: Gavin Hu; +Cc: dev, stable

On Thu, Jun 14, 2018 at 05:51:25PM +0800, Gavin Hu wrote:
> On CentOS, the ninja executable has a different name:
> ninja-build, this patch is to fix the missing command error
> on CentOS as follows:
> ./devtools/test-meson-builds.sh: line 24: ninja: command not found
> 
> Fixes: a55277a788 ("devtools: add test script for meson builds")
> Cc: stable@dpdk.org
> 
> Signed-off-by: Gavin Hu <gavin.hu@arm.com>
> Reviewed-by: Phil Yang <phil.yang@arm.com>
> Reviewed-by: Song Zhu <song.zhu@arm.com>
> ---
>  devtools/test-meson-builds.sh | 6 +++++-
>  1 file changed, 5 insertions(+), 1 deletion(-)
> 
> diff --git a/devtools/test-meson-builds.sh b/devtools/test-meson-builds.sh
> index 6bce3df7f..4afac76dd 100755
> --- a/devtools/test-meson-builds.sh
> +++ b/devtools/test-meson-builds.sh
> @@ -21,7 +21,11 @@ build () # <directory> <meson options>
>  		$MESON $options $srcdir $builddir
>  	fi
>  	echo "ninja -C $builddir"
> -	ninja -C $builddir
> +	if [ "$(lsb_release -d | grep -c 'CentOS')" != "0" ] ; then
> +		ninja-build -C $builddir
> +	else
> +		ninja -C $builddir
> +	fi
>  }

Rather than tying this to CentOS explicitly, would it be better at the
start of the script to test e.g "which ninja" and "which ninja-build" and
use that to work out the command to use. It's possible to have ninja
installed directly from tarball on CentOS as "ninja" (as I have in my test
VM), and the binary might be called ninja-build on other systems too e.g.
RHEL, perhaps.

/Bruce

^ permalink raw reply	[flat|nested] 23+ messages in thread

* Re: [dpdk-stable] [dpdk-dev] [PATCH v6 6/7] build: fix the meson cross compile error
  2018-06-14  9:51           ` [dpdk-stable] [PATCH v6 6/7] build: fix the meson cross compile error Gavin Hu
@ 2018-06-14 10:42             ` Bruce Richardson
  0 siblings, 0 replies; 23+ messages in thread
From: Bruce Richardson @ 2018-06-14 10:42 UTC (permalink / raw)
  To: Gavin Hu; +Cc: dev, stable

On Thu, Jun 14, 2018 at 05:51:26PM +0800, Gavin Hu wrote:
> The following error hits if host cc compiler is clang(default one in most
> linux distributions) and the cross compiler is gcc.
> 
> The root cause is: the hybride compilers add the warning options to the
> meson project as project arguments, which apply for both host compiling and
> cross compiling. But some options such as '-Wno-format-truncation' are not
> supported nor recognized by clang, so they have to be removed from the
> project arguments for the host compiler to run smoothily and added back as
> cflags for the cross compiler to compile for cross source files.
> 
> The fix is remove unrecognized warning options from the meson project
> arguments shared by gcc and clang, as add them specifically for gcc or
> clang as cflags.
> 
> [265/893] Compiling C object
> 'buildtools/pmdinfogen/pmdinfogen@exe/pmdinfogen.c.o'.  warning: unknown
> warning option '-Wno-format-truncation' [-Wunknown-warning-option]
> 
> Fixes: a55277a788 ("devtools: add test script for meson builds")
> Cc: stable@dpdk.org
> 
> Signed-off-by: Gavin Hu <gavin.hu@arm.com>
> Reviewed-by: Phil Yang <phil.yang@arm.com>
> Reviewed-by: Song Zhu <song.zhu@arm.com>
> Reviewed-by: Steve Capper <Steve.Capper@arm.com>
> ---

Yes, I think this solution works. A cleaner fix might be to move away from
having these flags as meson project arguments, and instead manage them
directly in our files as arrays of native and cross cflags, but that can be
a job for later. As it is:

Acked-by: Bruce Richardson <bruce.richardson@intel.com>

^ permalink raw reply	[flat|nested] 23+ messages in thread

* Re: [dpdk-stable] [dpdk-dev] [PATCH v6 7/7] devtools: expand meson cross compiling coverage
  2018-06-14  9:51           ` [dpdk-stable] [PATCH v6 7/7] devtools: expand meson cross compiling coverage Gavin Hu
@ 2018-06-14 10:45             ` Bruce Richardson
  2018-06-15  8:09               ` Gavin Hu
  2018-06-15 10:23               ` Gavin Hu
  0 siblings, 2 replies; 23+ messages in thread
From: Bruce Richardson @ 2018-06-14 10:45 UTC (permalink / raw)
  To: Gavin Hu; +Cc: dev, stable

On Thu, Jun 14, 2018 at 05:51:27PM +0800, Gavin Hu wrote:
> The default test script covers only default host cc compiler, either gcc or
> clang, the fix is to cover both, gcc and clang. And also the build dirs are
> changed to *-host-$c, indicating the difference of cc used.
> 
> Fixes: a55277a788 ("devtools: add test script for meson builds")
> Cc: stable@dpdk.org
> 
> Signed-off-by: Gavin Hu <gavin.hu@arm.com>
> Reviewed-by: Phil Yang <phil.yang@arm.com>
> Reviewed-by: Song Zhu <song.zhu@arm.com>
> ---
Given that the only native code we have in a cross-build is pmdinfogen,
doing two copies of each cross-build seems overkill, and makes the test
longer than it should be. I suggest that we just do one of the
cross-builds, e.g. the generic armv8 one, for both clang and gcc, and do
the others only once.

/Bruce

^ permalink raw reply	[flat|nested] 23+ messages in thread

* Re: [dpdk-stable] [dpdk-dev] [PATCH v6 3/7] devtools: fix the Exec format error
  2018-06-14 10:34             ` [dpdk-stable] [dpdk-dev] " Bruce Richardson
@ 2018-06-15  8:07               ` Gavin Hu
  0 siblings, 0 replies; 23+ messages in thread
From: Gavin Hu @ 2018-06-15  8:07 UTC (permalink / raw)
  To: Bruce Richardson; +Cc: dev, stable, nd

Hi Bruce,

This patch was dropped, thanks for your review.

Best Regards,
Gavin

> -----Original Message-----
> From: Bruce Richardson <bruce.richardson@intel.com>
> Sent: Thursday, June 14, 2018 6:34 PM
> To: Gavin Hu <Gavin.Hu@arm.com>
> Cc: dev@dpdk.org; stable@dpdk.org
> Subject: Re: [dpdk-dev] [PATCH v6 3/7] devtools: fix the Exec format error
> 
> On Thu, Jun 14, 2018 at 05:51:23PM +0800, Gavin Hu wrote:
> > meson will natively compile and generate the sanitycheck.exe file.  It
> > will be spawned and run at the host side.  Export the cross compiler
> > is not necessary as it is already done by the cross-file, and even
> > worse it generate the files in the wrong target format.
> >
> > The fix to the following compiling error is select the native compiler
> > for the sanity test source file.
> >
> > Traceback (most recent call last): File
> > "/usr/share/meson/mesonbuild/mesonmain.py", line 361, in run
> > app.generate() File "/usr/share/meson/mesonbuild/mesonmain.py", line
> > 150, in generate
> > self._generate(env) File "/usr/share/meson/mesonbuild/mesonmain.py",
> > line 189, in _generate intr = interpreter.Interpreter(b, g) File
> > "/usr/share/meson/mesonbuild/interpreter.py", line 1444, in __init__
> > self.parse_project() File
> > "/usr/share/meson/mesonbuild/interpreterbase.py",
> > line 159, in parse_project self.evaluate_codeblock(self.ast, end=1)
> > File "/usr/share/meson/mesonbuild/interpreterbase.py", line 195, in
> > evaluate_codeblock raise e File
> > "/usr/share/meson/mesonbuild/interpreterbase.py", line 189, in
> > evaluate_codeblock self.evaluate_statement(cur) File
> > "/usr/share/meson/mesonbuild/interpreterbase.py", line 200, in
> > evaluate_statement return self.function_call(cur) File
> > "/usr/share/meson/mesonbuild/interpreterbase.py", line 456, in
> > function_call return self.funcs[func_name](node,
> > self.flatten(posargs),
> > kwargs) File "/usr/share/meson/mesonbuild/interpreterbase.py", line
> > 55, in wrapped return f(self, node, args, kwargs) File
> > "/usr/share/meson/mesonbuild/interpreterbase.py", line 79, in wrapped
> > return f(s, node_or_state, args, kwargs) File
> > "/usr/share/meson/mesonbuild/interpreter.py", line 1947, in
> > func_project self.add_languages(proj_langs, True) File
> > "/usr/share/meson/mesonbuild/interpreter.py", line 2078, in
> > add_languages (comp, cross_comp) = self.detect_compilers(lang,
> > need_cross_compiler) File
> > "/usr/share/meson/mesonbuild/interpreter.py", line 2047, in
> > detect_compilers comp.sanity_check(self.environment.get_scratch_dir(),
> > self.environment) File "/usr/share/meson/mesonbuild/compilers/c.py",
> > line 254, in sanity_check return self.sanity_check_impl(work_dir,
> > environment, 'sanitycheckc.c', code) File
> > "/usr/share/meson/mesonbuild/compilers/c.py",
> > line 247, in sanity_check_impl pe = subprocess.Popen(cmdlist) File
> > "/usr/lib/python3.5/subprocess.py", line 676, in __init__
> > restore_signals,
> > start_new_session) File "/usr/lib/python3.5/subprocess.py", line 1282,
> > in _execute_child raise child_exception_type(errno_num, err_msg) OSError:
> > [Errno 8] Exec format error
> >
> > Build started at 2018-06-01T12:48:46.852286 Main binary:
> > /usr/bin/python3 Python system: Linux The Meson build system Version:
> 0.45.1 Build type:
> > cross build Project name: DPDK Sanity testing C compiler:
> > aarch64-linux-gnu-gcc Is cross compiler: False.  Sanity check compiler
> > command line: aarch64-linux-gnu-gcc
> > dpdk/build-arm64-armv8/meson-private/sanitycheckc.c -o
> > dpdk/build-arm64-armv8/meson-private/sanitycheckc.exe
> >
> > Fixes: a55277a788 ("devtools: add test script for meson builds")
> > Cc: stable@dpdk.org
> >
> > Signed-off-by: Gavin Hu <gavin.hu@arm.com>
> > Reviewed-by: Phil Yang <phil.yang@arm.com>
> > Reviewed-by: Song Zhu <song.zhu@arm.com>
> > ---
> >  devtools/test-meson-builds.sh | 11 +++++++----
> >  1 file changed, 7 insertions(+), 4 deletions(-)
> >
> I think this patch is fixing the same error as this one[1], just in a slightly
> longer way. [Though the addition of the message about missing the cross-
> compiler is nice].
> 
> http://dpdk.org/dev/patchwork/patch/40817/

^ permalink raw reply	[flat|nested] 23+ messages in thread

* Re: [dpdk-stable] [dpdk-dev] [PATCH v6 5/7] devtools: fix the missing ninja command error on CentOS
  2018-06-14 10:40             ` [dpdk-stable] [dpdk-dev] " Bruce Richardson
@ 2018-06-15  8:08               ` Gavin Hu
  0 siblings, 0 replies; 23+ messages in thread
From: Gavin Hu @ 2018-06-15  8:08 UTC (permalink / raw)
  To: Bruce Richardson; +Cc: dev, stable



> -----Original Message-----
> From: Bruce Richardson <bruce.richardson@intel.com>
> Sent: Thursday, June 14, 2018 6:41 PM
> To: Gavin Hu <Gavin.Hu@arm.com>
> Cc: dev@dpdk.org; stable@dpdk.org
> Subject: Re: [dpdk-dev] [PATCH v6 5/7] devtools: fix the missing ninja
> command error on CentOS
>
> On Thu, Jun 14, 2018 at 05:51:25PM +0800, Gavin Hu wrote:
> > On CentOS, the ninja executable has a different name:
> > ninja-build, this patch is to fix the missing command error on CentOS
> > as follows:
> > ./devtools/test-meson-builds.sh: line 24: ninja: command not found
> >
> > Fixes: a55277a788 ("devtools: add test script for meson builds")
> > Cc: stable@dpdk.org
> >
> > Signed-off-by: Gavin Hu <gavin.hu@arm.com>
> > Reviewed-by: Phil Yang <phil.yang@arm.com>
> > Reviewed-by: Song Zhu <song.zhu@arm.com>
> > ---
> >  devtools/test-meson-builds.sh | 6 +++++-
> >  1 file changed, 5 insertions(+), 1 deletion(-)
> >
> > diff --git a/devtools/test-meson-builds.sh
> > b/devtools/test-meson-builds.sh index 6bce3df7f..4afac76dd 100755
> > --- a/devtools/test-meson-builds.sh
> > +++ b/devtools/test-meson-builds.sh
> > @@ -21,7 +21,11 @@ build () # <directory> <meson options>
> >  $MESON $options $srcdir $builddir
> >  fi
> >  echo "ninja -C $builddir"
> > -ninja -C $builddir
> > +if [ "$(lsb_release -d | grep -c 'CentOS')" != "0" ] ; then
> > +ninja-build -C $builddir
> > +else
> > +ninja -C $builddir
> > +fi
> >  }
>
> Rather than tying this to CentOS explicitly, would it be better at the start of
> the script to test e.g "which ninja" and "which ninja-build" and use that to
> work out the command to use. It's possible to have ninja installed directly
> from tarball on CentOS as "ninja" (as I have in my test VM), and the binary
> might be called ninja-build on other systems too e.g.
> RHEL, perhaps.
>
> /Bruce
[Gavin Hu] I submitted new v8 patch for this, please help review it.
IMPORTANT NOTICE: The contents of this email and any attachments are confidential and may also be privileged. If you are not the intended recipient, please notify the sender immediately and do not disclose the contents to any other person, use it for any purpose, or store or copy the information in any medium. Thank you.

^ permalink raw reply	[flat|nested] 23+ messages in thread

* Re: [dpdk-stable] [dpdk-dev] [PATCH v6 7/7] devtools: expand meson cross compiling coverage
  2018-06-14 10:45             ` [dpdk-stable] [dpdk-dev] " Bruce Richardson
@ 2018-06-15  8:09               ` Gavin Hu
  2018-06-15 10:23               ` Gavin Hu
  1 sibling, 0 replies; 23+ messages in thread
From: Gavin Hu @ 2018-06-15  8:09 UTC (permalink / raw)
  To: Bruce Richardson; +Cc: dev, stable



> -----Original Message-----
> From: Bruce Richardson <bruce.richardson@intel.com>
> Sent: Thursday, June 14, 2018 6:45 PM
> To: Gavin Hu <Gavin.Hu@arm.com>
> Cc: dev@dpdk.org; stable@dpdk.org
> Subject: Re: [dpdk-dev] [PATCH v6 7/7] devtools: expand meson cross
> compiling coverage
>
> On Thu, Jun 14, 2018 at 05:51:27PM +0800, Gavin Hu wrote:
> > The default test script covers only default host cc compiler, either
> > gcc or clang, the fix is to cover both, gcc and clang. And also the
> > build dirs are changed to *-host-$c, indicating the difference of cc used.
> >
> > Fixes: a55277a788 ("devtools: add test script for meson builds")
> > Cc: stable@dpdk.org
> >
> > Signed-off-by: Gavin Hu <gavin.hu@arm.com>
> > Reviewed-by: Phil Yang <phil.yang@arm.com>
> > Reviewed-by: Song Zhu <song.zhu@arm.com>
> > ---
> Given that the only native code we have in a cross-build is pmdinfogen, doing
> two copies of each cross-build seems overkill, and makes the test longer than
> it should be. I suggest that we just do one of the cross-builds, e.g. the generic
> armv8 one, for both clang and gcc, and do the others only once.
>
> /Bruce
[Gavin Hu] I submitted a new v8 patch for this, thanks, please help review again.
IMPORTANT NOTICE: The contents of this email and any attachments are confidential and may also be privileged. If you are not the intended recipient, please notify the sender immediately and do not disclose the contents to any other person, use it for any purpose, or store or copy the information in any medium. Thank you.

^ permalink raw reply	[flat|nested] 23+ messages in thread

* Re: [dpdk-stable] [dpdk-dev] [PATCH v6 7/7] devtools: expand meson cross compiling coverage
  2018-06-14 10:45             ` [dpdk-stable] [dpdk-dev] " Bruce Richardson
  2018-06-15  8:09               ` Gavin Hu
@ 2018-06-15 10:23               ` Gavin Hu
  1 sibling, 0 replies; 23+ messages in thread
From: Gavin Hu @ 2018-06-15 10:23 UTC (permalink / raw)
  To: Bruce Richardson; +Cc: dev, stable

Thanks Bruce, I submitted v10 patch set fixing the whitespace issues.

> -----Original Message-----
> From: Bruce Richardson <bruce.richardson@intel.com>
> Sent: Thursday, June 14, 2018 6:45 PM
> To: Gavin Hu <Gavin.Hu@arm.com>
> Cc: dev@dpdk.org; stable@dpdk.org
> Subject: Re: [dpdk-dev] [PATCH v6 7/7] devtools: expand meson cross
> compiling coverage
>
> On Thu, Jun 14, 2018 at 05:51:27PM +0800, Gavin Hu wrote:
> > The default test script covers only default host cc compiler, either
> > gcc or clang, the fix is to cover both, gcc and clang. And also the
> > build dirs are changed to *-host-$c, indicating the difference of cc used.
> >
> > Fixes: a55277a788 ("devtools: add test script for meson builds")
> > Cc: stable@dpdk.org
> >
> > Signed-off-by: Gavin Hu <gavin.hu@arm.com>
> > Reviewed-by: Phil Yang <phil.yang@arm.com>
> > Reviewed-by: Song Zhu <song.zhu@arm.com>
> > ---
> Given that the only native code we have in a cross-build is pmdinfogen, doing
> two copies of each cross-build seems overkill, and makes the test longer than
> it should be. I suggest that we just do one of the cross-builds, e.g. the generic
> armv8 one, for both clang and gcc, and do the others only once.
>
> /Bruce
IMPORTANT NOTICE: The contents of this email and any attachments are confidential and may also be privileged. If you are not the intended recipient, please notify the sender immediately and do not disclose the contents to any other person, use it for any purpose, or store or copy the information in any medium. Thank you.

^ permalink raw reply	[flat|nested] 23+ messages in thread

end of thread, other threads:[~2018-06-15 10:23 UTC | newest]

Thread overview: 23+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
     [not found] <1527133127-29407-1-git-send-email-gavin.hu@arm.com>
2018-05-24  3:38 ` [dpdk-stable] [PATCH 1/2] mk: fix cross build errors Gavin Hu
2018-05-28  6:53 ` [dpdk-stable] [PATCH v2 " Gavin Hu
2018-05-28 13:24   ` [dpdk-stable] [dpdk-dev] " Bruce Richardson
2018-05-29  1:22     ` Gavin Hu
2018-05-29  6:51   ` [dpdk-stable] [PATCH v3 " Gavin Hu
     [not found]     ` <1527578508-27297-1-git-send-email-gavin.hu@arm.com>
2018-05-29  7:21       ` [dpdk-stable] [PATCH v4 " Gavin Hu
     [not found]       ` <1527590616-28299-1-git-send-email-gavin.hu@arm.com>
2018-05-29 10:43         ` [dpdk-stable] [PATCH v5 " Gavin Hu
2018-05-29 15:09           ` Thomas Monjalon
     [not found]         ` <20180614095127.16245-1-gavin.hu@arm.com>
2018-06-14  9:51           ` [dpdk-stable] [PATCH v6 1/7] " Gavin Hu
2018-06-14  9:51           ` [dpdk-stable] [PATCH v6 3/7] devtools: fix the Exec format error Gavin Hu
2018-06-14 10:34             ` [dpdk-stable] [dpdk-dev] " Bruce Richardson
2018-06-15  8:07               ` Gavin Hu
2018-06-14  9:51           ` [dpdk-stable] [PATCH v6 4/7] build: fix the meson build warning Gavin Hu
2018-06-14 10:34             ` [dpdk-stable] [dpdk-dev] " Bruce Richardson
2018-06-14  9:51           ` [dpdk-stable] [PATCH v6 5/7] devtools: fix the missing ninja command error on CentOS Gavin Hu
2018-06-14 10:40             ` [dpdk-stable] [dpdk-dev] " Bruce Richardson
2018-06-15  8:08               ` Gavin Hu
2018-06-14  9:51           ` [dpdk-stable] [PATCH v6 6/7] build: fix the meson cross compile error Gavin Hu
2018-06-14 10:42             ` [dpdk-stable] [dpdk-dev] " Bruce Richardson
2018-06-14  9:51           ` [dpdk-stable] [PATCH v6 7/7] devtools: expand meson cross compiling coverage Gavin Hu
2018-06-14 10:45             ` [dpdk-stable] [dpdk-dev] " Bruce Richardson
2018-06-15  8:09               ` Gavin Hu
2018-06-15 10:23               ` Gavin Hu

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).