illegal instruction error with "get_d"
eda-qa at disemia.com
Wed Apr 2 17:36:38 UTC 2014
I also have the reproduction code working. Although it was linking
against the correct libraries it was running with a different version.
That version also happens to have the same so version name. But I guess
ArchLinux was compiled with different flags, thus it works.
Note: Just in case you're wondering, I don't use the system libraries
since on many of my target platforms the default libgmp is too old. It
just happens to be new on ArchLinux.
On 02/04/14 19:22, Torbjorn Granlund wrote:
> edA-qa mort-ora-y <eda-qa at disemia.com> writes:
> Program received signal SIGILL, Illegal instruction.
> 0x00007ffff433b70e in __gmpn_get_d () from /opt/gmp/install/lib/libgmp.so.10
> (gdb) x/10i $pc
> => 0x7ffff433b70e <__gmpn_get_d+158>: vmovsd -0x8(%rsp),%xmm0
> 0x7ffff433b714 <__gmpn_get_d+164>: retq
> 0x7ffff433b715 <__gmpn_get_d+165>: nopl (%rax)
> 0x7ffff433b718 <__gmpn_get_d+168>: cmp $0x1,%rsi
> 0x7ffff433b71c <__gmpn_get_d+172>: jle 0x7ffff433b6bf
> 0x7ffff433b71e <__gmpn_get_d+174>: mov -0x10(%r9),%rsi
> 0x7ffff433b722 <__gmpn_get_d+178>: mov %eax,%ecx
> 0x7ffff433b724 <__gmpn_get_d+180>: shr %cl,%rsi
> 0x7ffff433b727 <__gmpn_get_d+183>: or %rsi,%rdi
> 0x7ffff433b72a <__gmpn_get_d+186>: jmp 0x7ffff433b6bf
> I think that nails it. There were problems in old Xen releases too with
> AVX instructions. But wait, perhaps your GMP build is misconfigured,
> and your CPU doesn't really handle AVX insn?
> I cannot find any mention of the CPU type and GMP configure string used
> in your bug report.
> If this is a similar bug to te one in Xen, than we're stuck. Xen claims
> support in CPUid (both AVX and XSAVE bits are set). But AVX
> instructions all yield ILLOPsignals.
> Please encrypt, key id 0xC8601622
Leaf - the language we always wanted
More information about the gmp-bugs