> -----Original Message----- > From: users [mailto:[email protected]] On Behalf Of Filip Janiszewski > Sent: Thursday, February 14, 2019 2:15 PM > To: Wiles, Keith <[email protected]> > Cc: [email protected] > Subject: Re: [dpdk-users] Segfault while running on older CPU > > Hi, > > I prepared a simple test application with only a call to rte_eal_init > and it crashes, DPDK version is 18.05 and apparently the problem is with > the BMI2 instruction set, the faulty line is: > > . > │0x57fec9 <rte_cpu_get_flag_enabled+89> shrx %eax,%edx,%eax > . > > I'm attempting to disable those instructions by setting march to corei7 > which according to gcc does not include BMI2, but still when opening the > asm list of the binary can see that instruction. > > If I understand correctly how the DPDK building process works then I > should be able to set this 'corei7' switch by just changing > mk/machine/default/rte.vars.mk and then setting > CONFIG_RTE_MACHINE="default" in the x86_64-native-linuxapp-gcc/.config > file, but I'm not sure whether it's picking it up while building (make > T=x86_64-native-linuxapp-gcc DESTDIR=. -j28).
Possibly related crashing bugs; DPDK rte memcpy / binutils 2.30: https://bugs.dpdk.org/show_bug.cgi?id=97#c48 Gcc bug report; https://gcc.gnu.org/bugzilla/show_bug.cgi?id=88096 And a related/duplicate: https://gcc.gnu.org/bugzilla/show_bug.cgi?id=86735 Please check if you're using binutils 2.30, and if so try latest DPDK code which has merged a fix for disabling certain features as a workaround. As Keith mentioned, what OS / Distro / Release, and what version of gcc / binutils is in use? Regards, -Harry <snip previous discussion>
