illegal instruction error with "get_d"

edA-qa mort-ora-y eda-qa at disemia.com
Wed Apr 2 17:30:22 UTC 2014


I'm running inside VirtualBox 4.3.6, I'll give the details for guest and
host:

Host: Ubuntu 12.04 64Bit
AMD FX(tm)-8150 Eight-Core Processor
flags       : fpu vme de pse tsc msr pae mce cx8 apic sep mtrr pge mca
cmov pat pse36 clflush mmx fxsr sse sse2 ht syscall nx mmxext fxsr_opt
pdpe1gb rdtscp lm constant_tsc rep_good nopl nonstop_tsc extd_apicid
aperfmperf pni pclmulqdq monitor ssse3 cx16 sse4_1 sse4_2 popcnt aes
xsave avx lahf_lm cmp_legacy svm extapic cr8_legacy abm sse4a
misalignsse 3dnowprefetch osvw ibs xop skinit wdt lwp fma4 nodeid_msr
topoext perfctr_core arat cpb npt lbrv svm_lock nrip_save tsc_scale
vmcb_clean flushbyasid decodeassists pausefilter pfthreshold

Linux silent-red 3.2.0-60-generic #91-Ubuntu SMP Wed Feb 19 03:54:44 UTC
2014 x86_64 x86_64 x86_64 GNU/Linux

Guest: ArchLinux 64bit
AMD FX(tm)-8150 Eight-Core Processor
flags       : fpu vme de pse tsc msr pae mce cx8 apic sep mtrr pge mca
cmov pat pse36 clflush mmx fxsr sse sse2 ht syscall nx fxsr_opt rdtscp
lm rep_good nopl extd_apicid pni ssse3 lahf_lm cmp_legacy cr8_legacy arat

Linux localhost 3.13.7-1-ARCH #1 SMP PREEMPT Mon Mar 24 20:06:08 CET
2014 x86_64 GNU/Linux


My configure/build is simply:

	./configure --prefix=/opt/gmp-5.1.2/install --enable-cxx
	make
	make install



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
>   <__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
> 
> 


-- 
edA-qa mort-ora-y
http://mortoray.com/

Leaf - the language we always wanted
http://leaflang.org/


More information about the gmp-bugs mailing list