[dpdk-dev,v3,1/2] mk: fix cross build errors

Message ID 1527576667-26415-1-git-send-email-gavin.hu@arm.com (mailing list archive)
State Superseded, archived
Headers

Checks

Context Check Description
ci/checkpatch success coding style OK
ci/Intel-compilation success Compilation OK

Commit Message

Gavin Hu May 29, 2018, 6:51 a.m. UTC
  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(-)
  

Comments

Gavin Hu May 29, 2018, 7:21 a.m. UTC | #1
*** 1. Simply use -Wnoimplicit-fallthrough for pmdinfogen, other than gcc version check. ***
*** 2. Make the doc in the correct format ***
*** 3. Correct the rst index file ***

Gavin Hu (2):
  mk: fix cross build errors
  doc: add a guide doc for cross compiling from x86

 buildtools/pmdinfogen/Makefile                     |   2 +-
 .../linux_gsg/cross_build_dpdk_for_arm64.rst       | 125 +++++++++++++++++++++
 doc/guides/linux_gsg/index.rst                     |   1 +
 3 files changed, 127 insertions(+), 1 deletion(-)
 create mode 100644 doc/guides/linux_gsg/cross_build_dpdk_for_arm64.rst
  
Gavin Hu May 29, 2018, 10:43 a.m. UTC | #2
*** Correct two spelling errors in the doc ***

Gavin Hu (2):
  mk: fix cross build errors
  doc: add a guide doc for cross compiling from x86

 buildtools/pmdinfogen/Makefile                     |   2 +-
 .../linux_gsg/cross_build_dpdk_for_arm64.rst       | 125 +++++++++++++++++++++
 doc/guides/linux_gsg/index.rst                     |   1 +
 3 files changed, 127 insertions(+), 1 deletion(-)
 create mode 100644 doc/guides/linux_gsg/cross_build_dpdk_for_arm64.rst
  

Patch

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