From mboxrd@z Thu Jan 1 00:00:00 1970 From: Ferruh Yigit Subject: [PATCH] mk: fix scope of disabling AVX512F support Date: Wed, 19 Dec 2018 19:29:04 +0000 Message-ID: <20181219192904.61934-1-ferruh.yigit@intel.com> Cc: Ferruh Yigit , stable@dpdk.org, Tom Barbette , Yongseok Koh , Konstantin Ananyev , Bruce Richardson To: dev@dpdk.org, Thomas Monjalon Return-path: List-Id: DPDK patches and discussions List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: dev-bounces@dpdk.org Sender: "dev" AVX512 was disabled for GCC because of Bugzilla issue 97 [1], the GCC defect submitted for the issue [2] highlighted that this is a known binutils version 2.30 issue. Narrowed the scope of no-avx512 to the this specific binutils version. [1] https://bugs.dpdk.org/show_bug.cgi?id=97 [2] https://gcc.gnu.org/bugzilla/show_bug.cgi?id=88096 Fixes: 8d07c82b239f ("mk: disable gcc AVX512F support") Cc: stable@dpdk.org Signed-off-by: Ferruh Yigit --- Cc: Tom Barbette Cc: Thomas Monjalon Cc: Yongseok Koh Cc: Konstantin Ananyev Cc: Bruce Richardson We need similar check for meson which is missing right now. --- mk/rte.cpuflags.mk | 2 ++ mk/toolchain/gcc/rte.toolchain-compat.mk | 2 ++ 2 files changed, 4 insertions(+) diff --git a/mk/rte.cpuflags.mk b/mk/rte.cpuflags.mk index c3291b17a..5e52e580d 100644 --- a/mk/rte.cpuflags.mk +++ b/mk/rte.cpuflags.mk @@ -71,10 +71,12 @@ CPUFLAGS += AVX512F else # disable AVX512F support of gcc as a workaround for Bug 97 ifeq ($(CONFIG_RTE_TOOLCHAIN_GCC),y) +ifneq ($(filter 2.30%,$(LD_VERSION)),) MACHINE_CFLAGS += -mno-avx512f endif endif endif +endif # IBM Power CPU flags ifneq ($(filter $(AUTO_CPUFLAGS),__PPC64__),) diff --git a/mk/toolchain/gcc/rte.toolchain-compat.mk b/mk/toolchain/gcc/rte.toolchain-compat.mk index 44904295c..2690aeb4d 100644 --- a/mk/toolchain/gcc/rte.toolchain-compat.mk +++ b/mk/toolchain/gcc/rte.toolchain-compat.mk @@ -20,6 +20,8 @@ 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) +LD_VERSION = $(shell ld -v) + # if GCC is older than 4.x ifeq ($(shell test $(GCC_VERSION) -lt 40 && echo 1), 1) MACHINE_CFLAGS = -- 2.17.2