[dpdk-dev] [PATCH] mk: Work around Debian/Ubuntu-specific 'gcc -dumpversion' output

David Marchand david.marchand at 6wind.com
Tue Feb 24 11:59:09 CET 2015


Panu,

ack (and works with my debian gcc).

-- 
David Marchand

On Tue, Feb 24, 2015 at 11:46 AM, Panu Matilainen <pmatilai at redhat.com>
wrote:

> 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.
>
> Signed-off-by: Panu Matilainen <pmatilai at redhat.com>
> ---
>  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 2730b81..998bf23 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 484379a..64bab16 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 ab56cbf..43870f7 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 9dda0a7..fc616c4 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 a867559..05aa37f 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.1.0
>
>


More information about the dev mailing list