This is a workaround to prevent a crash, which might be caused by optimization of newer gcc (7.3.0) on Intel Skylake.
Bugzilla ID: 97 Cc: sta...@dpdk.org Signed-off-by: Yongseok Koh <ys...@mellanox.com> --- config/x86/meson.build | 5 +++++ mk/rte.cpuflags.mk | 5 +++++ 2 files changed, 10 insertions(+) diff --git a/config/x86/meson.build b/config/x86/meson.build index 33efb5e547..e10ba872ac 100644 --- a/config/x86/meson.build +++ b/config/x86/meson.build @@ -47,6 +47,11 @@ endif if cc.get_define('__AVX512F__', args: march_opt) != '' dpdk_conf.set('RTE_MACHINE_CPUFLAG_AVX512F', 1) compile_time_cpuflags += ['RTE_CPUFLAG_AVX512F'] +else +# disable compiler's AVX512F support as a workaround for Bug 97 + if cc.has_argument('-mavx512f') + machine_args += '-mno-avx512f' + endif endif dpdk_conf.set('RTE_CACHE_LINE_SIZE', 64) diff --git a/mk/rte.cpuflags.mk b/mk/rte.cpuflags.mk index 43ed84155b..8fdb0cc2c3 100644 --- a/mk/rte.cpuflags.mk +++ b/mk/rte.cpuflags.mk @@ -68,6 +68,11 @@ endif ifneq ($(filter $(AUTO_CPUFLAGS),__AVX512F__),) ifeq ($(CONFIG_RTE_ENABLE_AVX512),y) CPUFLAGS += AVX512F +else +# disable compiler's AVX512F support as a workaround for Bug 97 +ifeq ($(shell $(CC) --target-help | grep -q mavx512f && echo 1), 1) +MACHINE_CFLAGS += -mno-avx512f +endif endif endif -- 2.11.0