[dpdk-users] Segfault while running on older CPU
Van Haaren, Harry
harry.van.haaren at intel.com
Thu Feb 14 15:46:46 CET 2019
> -----Original Message-----
> From: users [mailto:users-bounces at dpdk.org] On Behalf Of Filip Janiszewski
> Sent: Thursday, February 14, 2019 2:15 PM
> To: Wiles, Keith <keith.wiles at intel.com>
> Cc: users at dpdk.org
> Subject: Re: [dpdk-users] Segfault while running on older CPU
> 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:
Gcc bug report;
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?
<snip previous discussion>
More information about the users