While playing with building 2.2-rc2 I found that our usual way didn't work anymore. We usually configured "make config T=x86_64-native-linuxapp-gcc" but then set CONFIG_RTE_MACHINE="default" to get something like the "lowest acceptable build" but with that wide CPU copatibility.
I found that with DPDK 2.2 this fails with issues like: In file included from /usr/lib/gcc/x86_64-linux-gnu/5/include/immintrin.h:37:0, from dpdk-2.2.0-rc2/lib/librte_sched/rte_sched.c:56: dpdk-2.2.0-rc2/lib/librte_sched/rte_sched.c: In function ?grinder_pipe_exists?: /usr/lib/gcc/x86_64-linux-gnu/5/include/smmintrin.h:67:1: error: inlining failed in call to always_inline ?_mm_testz_si128?: target specific option mismatch _mm_testz_si128 (__m128i __M, __m128i __V) ^ This is a hard need on newer SSE4.x features which are not given with march=core2. So if nehalem (the next march level which has SSE4.x) is the new minimum let us set this in the default machine config. Signed-off-by: Christian Ehrhardt <christian.ehrhardt at canonical.com> --- [diffstat] rte.vars.mk | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) [diff] diff --git a/mk/machine/default/rte.vars.mk b/mk/machine/default/rte.vars.mk index 53c6af6..170d880 100644 --- a/mk/machine/default/rte.vars.mk +++ b/mk/machine/default/rte.vars.mk @@ -55,4 +55,4 @@ # CPU_LDFLAGS = # CPU_ASFLAGS = -MACHINE_CFLAGS += -march=core2 +MACHINE_CFLAGS += -march=nehalem