From 6eb85c0e443fada3a74a7a45559cfeac6befcc6c Mon Sep 17 00:00:00 2001 From: Panu Matilainen Date: Tue, 24 Feb 2015 12:46:56 +0200 Subject: [PATCH] mk: fix build with Debian/Ubuntu-specific gcc version Commit 71f0ab1849b4fc3ca928deb566df12ca725ed150 broke compilation on some versions of Debian and Ubuntu where gcc has been modified to only emit MAJOR.MINOR part of the version from 'gcc -dumpversion'. Drop the micro-version from gcc version comparisons to work around this, it wasn't being used for anything anyway. Fixes: 71f0ab1849b4 ("mk: rework gcc version detection to permit versions newer than 4.x") Signed-off-by: Panu Matilainen Acked-by: David Marchand --- lib/librte_pmd_fm10k/Makefile | 2 +- lib/librte_pmd_i40e/Makefile | 2 +- lib/librte_pmd_ixgbe/Makefile | 6 +++--- lib/librte_pmd_vmxnet3/Makefile | 2 +- mk/toolchain/gcc/rte.toolchain-compat.mk | 16 ++++++++-------- 5 files changed, 14 insertions(+), 14 deletions(-) diff --git a/lib/librte_pmd_fm10k/Makefile b/lib/librte_pmd_fm10k/Makefile index 2730b8150e..998bf23898 100644 --- a/lib/librte_pmd_fm10k/Makefile +++ b/lib/librte_pmd_fm10k/Makefile @@ -62,7 +62,7 @@ else # # CFLAGS for gcc # -ifeq ($(shell test $(GCC_VERSION) -ge 440 && echo 1), 1) +ifeq ($(shell test $(GCC_VERSION) -ge 44 && echo 1), 1) CFLAGS += -Wno-deprecated endif CFLAGS_BASE_DRIVER = -Wno-unused-parameter -Wno-unused-value diff --git a/lib/librte_pmd_i40e/Makefile b/lib/librte_pmd_i40e/Makefile index 484379af21..64bab1689f 100644 --- a/lib/librte_pmd_i40e/Makefile +++ b/lib/librte_pmd_i40e/Makefile @@ -69,7 +69,7 @@ CFLAGS_BASE_DRIVER += -Wno-pointer-to-int-cast CFLAGS_BASE_DRIVER += -Wno-format-nonliteral CFLAGS_BASE_DRIVER += -Wno-format-security -ifeq ($(shell test $(GCC_VERSION) -ge 440 && echo 1), 1) +ifeq ($(shell test $(GCC_VERSION) -ge 44 && echo 1), 1) CFLAGS_BASE_DRIVER += -Wno-unused-but-set-variable endif diff --git a/lib/librte_pmd_ixgbe/Makefile b/lib/librte_pmd_ixgbe/Makefile index ab56cbfcd2..43870f75d2 100644 --- a/lib/librte_pmd_ixgbe/Makefile +++ b/lib/librte_pmd_ixgbe/Makefile @@ -60,18 +60,18 @@ else # # CFLAGS for gcc # -ifeq ($(shell test $(GCC_VERSION) -ge 440 && echo 1), 1) +ifeq ($(shell test $(GCC_VERSION) -ge 44 && echo 1), 1) CFLAGS += -Wno-deprecated endif CFLAGS_BASE_DRIVER = -Wno-unused-parameter -Wno-unused-value CFLAGS_BASE_DRIVER += -Wno-strict-aliasing -Wno-format-extra-args -ifeq ($(shell test $(GCC_VERSION) -ge 460 && echo 1), 1) +ifeq ($(shell test $(GCC_VERSION) -ge 46 && echo 1), 1) CFLAGS_ixgbe_common.o += -Wno-unused-but-set-variable CFLAGS_ixgbe_x550.o += -Wno-unused-but-set-variable -Wno-maybe-uninitialized endif -ifeq ($(shell test $(GCC_VERSION) -le 460 && echo 1), 1) +ifeq ($(shell test $(GCC_VERSION) -le 46 && echo 1), 1) CFLAGS_ixgbe_x550.o += -Wno-uninitialized CFLAGS_ixgbe_phy.o += -Wno-uninitialized endif diff --git a/lib/librte_pmd_vmxnet3/Makefile b/lib/librte_pmd_vmxnet3/Makefile index 9dda0a78b4..fc616c42c6 100644 --- a/lib/librte_pmd_vmxnet3/Makefile +++ b/lib/librte_pmd_vmxnet3/Makefile @@ -56,7 +56,7 @@ else # # CFLAGS for gcc # -ifeq ($(shell test $(GCC_VERSION) -ge 440 && echo 1), 1) +ifeq ($(shell test $(GCC_VERSION) -ge 44 && echo 1), 1) CFLAGS += -Wno-deprecated endif CFLAGS_BASE_DRIVER = -Wno-unused-parameter -Wno-unused-value diff --git a/mk/toolchain/gcc/rte.toolchain-compat.mk b/mk/toolchain/gcc/rte.toolchain-compat.mk index a8675594ac..05aa37f3d8 100644 --- a/mk/toolchain/gcc/rte.toolchain-compat.mk +++ b/mk/toolchain/gcc/rte.toolchain-compat.mk @@ -38,10 +38,10 @@ #find out GCC version -GCC_VERSION = $(subst .,,$(shell $(CC) -dumpversion)) +GCC_VERSION = $(subst .,,$(shell $(CC) -dumpversion | cut -f1-2 -d.)) # if GCC is older than 4.x -ifeq ($(shell test $(GCC_VERSION) -lt 400 && echo 1), 1) +ifeq ($(shell test $(GCC_VERSION) -lt 40 && echo 1), 1) MACHINE_CFLAGS = $(warning You are using GCC < 4.x. This is neither supported, nor tested.) @@ -55,18 +55,18 @@ else # GCC 4.6.x - added support for corei7, corei7-avx # GCC 4.7.x - added support for fsgsbase, rdrnd, f16c, core-avx-i, core-avx2 - ifeq ($(shell test $(GCC_VERSION) -le 470 && echo 1), 1) + ifeq ($(shell test $(GCC_VERSION) -le 47 && echo 1), 1) MACHINE_CFLAGS := $(patsubst -march=core-avx-i,-march=corei7-avx,$(MACHINE_CFLAGS)) MACHINE_CFLAGS := $(patsubst -march=core-avx2,-march=core-avx2,$(MACHINE_CFLAGS)) endif - ifeq ($(shell test $(GCC_VERSION) -lt 460 && echo 1), 1) + ifeq ($(shell test $(GCC_VERSION) -lt 46 && echo 1), 1) MACHINE_CFLAGS := $(patsubst -march=corei7-avx,-march=core2 -maes -mpclmul -mavx,$(MACHINE_CFLAGS)) MACHINE_CFLAGS := $(patsubst -march=corei7,-march=core2 -maes -mpclmul,$(MACHINE_CFLAGS)) endif - ifeq ($(shell test $(GCC_VERSION) -lt 450 && echo 1), 1) + ifeq ($(shell test $(GCC_VERSION) -lt 45 && echo 1), 1) MACHINE_CFLAGS := $(patsubst -march=atom,-march=core2 -mssse3,$(MACHINE_CFLAGS)) endif - ifeq ($(shell test $(GCC_VERSION) -lt 440 && echo 1), 1) + ifeq ($(shell test $(GCC_VERSION) -lt 44 && echo 1), 1) MACHINE_CFLAGS := $(filter-out -mavx -mpclmul -maes,$(MACHINE_CFLAGS)) ifneq ($(findstring SSE4_2, $(CPUFLAGS)),) MACHINE_CFLAGS += -msse4.2 @@ -75,12 +75,12 @@ else MACHINE_CFLAGS += -msse4.1 endif endif - ifeq ($(shell test $(GCC_VERSION) -lt 430 && echo 1), 1) + ifeq ($(shell test $(GCC_VERSION) -lt 43 && echo 1), 1) MACHINE_CFLAGS := $(filter-out -msse% -mssse%,$(MACHINE_CFLAGS)) MACHINE_CFLAGS := $(patsubst -march=core2,-march=generic,$(MACHINE_CFLAGS)) MACHINE_CFLAGS += -msse3 endif - ifeq ($(shell test $(GCC_VERSION) -lt 420 && echo 1), 1) + ifeq ($(shell test $(GCC_VERSION) -lt 42 && echo 1), 1) MACHINE_CFLAGS := $(filter-out -march% -mtune% -msse%,$(MACHINE_CFLAGS)) endif endif -- 2.20.1