illegal instruction error with "get_d"
Torbjorn Granlund
tg at gmplib.org
Wed Apr 2 17:22:37 UTC 2014
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
<__gmpn_get_d+79>
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
<__gmpn_get_d+79>
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.
Torbjörn
Please encrypt, key id 0xC8601622
More information about the gmp-bugs
mailing list