[Bug c++/71918] Internal compiler error: Illegal instruction

jordyruiz at hotmail dot fr gcc-bugzilla@gcc.gnu.org
Mon Jul 18 15:50:00 GMT 2016


https://gcc.gnu.org/bugzilla/show_bug.cgi?id=71918

--- Comment #6 from jordyruiz at hotmail dot fr ---
> Also this is most likely GMP not compiled for generic but a specific CPU and
> you don't have a compatible CPU.
> 
> Did you compile GMP yourself or did you get it from a distro?  If you got it
> from a distro, you should report the bug to that distro.

I compiled GMP myself, on a different machine. So you probably found the cause
of the issue.


(In reply to Markus Trippelsdorf from comment #5)
> 
> Yes.
> 
>  set follow-fork-mode child
>  run
>  disass
> (and please also post the backtrace)
>  bt

(gdb)  disass
Dump of assembler code for function __gmpn_mul_1:
   0x00007ffff750b460 <+0>:     push   %rbx
   0x00007ffff750b461 <+1>:     push   %rbp
   0x00007ffff750b462 <+2>:     push   %r12
   0x00007ffff750b464 <+4>:     mov    %rdx,%rbp
   0x00007ffff750b467 <+7>:     shr    $0x2,%rbp
   0x00007ffff750b46b <+11>:    test   $0x1,%dl
   0x00007ffff750b46e <+14>:    jne    0x7ffff750b4b6 <__gmpn_mul_1+86>
   0x00007ffff750b470 <+16>:    test   $0x2,%dl
   0x00007ffff750b473 <+19>:    mov    %rcx,%rdx
   0x00007ffff750b476 <+22>:    jne    0x7ffff750b492 <__gmpn_mul_1+50>
   0x00007ffff750b478 <+24>:    mulx   (%rsi),%r9,%r8
   0x00007ffff750b47d <+29>:    mulx   0x8(%rsi),%r11,%r10
   0x00007ffff750b483 <+35>:    mulx   0x10(%rsi),%rcx,%r12
   0x00007ffff750b489 <+41>:    lea    -0x20(%rdi),%rdi
   0x00007ffff750b48d <+45>:    jmpq   0x7ffff750b530 <__gmpn_mul_1+208>
   0x00007ffff750b492 <+50>:    mulx   (%rsi),%rcx,%r12
   0x00007ffff750b497 <+55>:    mulx   0x8(%rsi),%rbx,%rax
   0x00007ffff750b49d <+61>:    lea    -0x10(%rdi),%rdi
   0x00007ffff750b4a1 <+65>:    test   %rbp,%rbp
   0x00007ffff750b4a4 <+68>:    je     0x7ffff750b550 <__gmpn_mul_1+240>
   0x00007ffff750b4aa <+74>:    mulx   0x10(%rsi),%r9,%r8
   0x00007ffff750b4b0 <+80>:    lea    0x10(%rsi),%rsi
   0x00007ffff750b4b4 <+84>:    jmp    0x7ffff750b516 <__gmpn_mul_1+182>
   0x00007ffff750b4b6 <+86>:    test   $0x2,%dl
   0x00007ffff750b4b9 <+89>:    mov    %rcx,%rdx
   0x00007ffff750b4bc <+92>:    jne    0x7ffff750b4dc <__gmpn_mul_1+124>
=> 0x00007ffff750b4be <+94>:    mulx   (%rsi),%rbx,%rax
   0x00007ffff750b4c3 <+99>:    lea    -0x18(%rdi),%rdi
   0x00007ffff750b4c7 <+103>:   test   %rbp,%rbp
   0x00007ffff750b4ca <+106>:   je     0x7ffff750b557 <__gmpn_mul_1+247>
   0x00007ffff750b4d0 <+112>:   mulx   0x8(%rsi),%r9,%r8
   0x00007ffff750b4d6 <+118>:   lea    0x8(%rsi),%rsi
   0x00007ffff750b4da <+122>:   jmp    0x7ffff750b51d <__gmpn_mul_1+189>
   0x00007ffff750b4dc <+124>:   mulx   (%rsi),%r11,%r10
   0x00007ffff750b4e1 <+129>:   mulx   0x8(%rsi),%rcx,%r12
   0x00007ffff750b4e7 <+135>:   mulx   0x10(%rsi),%rbx,%rax
   0x00007ffff750b4ed <+141>:   lea    -0x8(%rdi),%rdi
   0x00007ffff750b4f1 <+145>:   test   %rbp,%rbp
   0x00007ffff750b4f4 <+148>:   je     0x7ffff750b549 <__gmpn_mul_1+233>
   0x00007ffff750b4f6 <+150>:   lea    0x18(%rsi),%rsi
   0x00007ffff750b4fa <+154>:   jmp    0x7ffff750b50a <__gmpn_mul_1+170>
   0x00007ffff750b4fc <+156>:   nopl   0x0(%rax)
   0x00007ffff750b500 <+160>:   lea    0x20(%rdi),%rdi
   0x00007ffff750b504 <+164>:   mov    %r9,(%rdi)
   0x00007ffff750b507 <+167>:   adc    %r8,%r11
   0x00007ffff750b50a <+170>:   mulx   (%rsi),%r9,%r8
   0x00007ffff750b50f <+175>:   mov    %r11,0x8(%rdi)
   0x00007ffff750b513 <+179>:   adc    %r10,%rcx
   0x00007ffff750b516 <+182>:   mov    %rcx,0x10(%rdi)
   0x00007ffff750b51a <+186>:   adc    %r12,%rbx
   0x00007ffff750b51d <+189>:   mulx   0x8(%rsi),%r11,%r10
   0x00007ffff750b523 <+195>:   adc    %rax,%r9
   0x00007ffff750b526 <+198>:   mulx   0x10(%rsi),%rcx,%r12
   0x00007ffff750b52c <+204>:   mov    %rbx,0x18(%rdi)
   0x00007ffff750b530 <+208>:   mulx   0x18(%rsi),%rbx,%rax
   0x00007ffff750b536 <+214>:   lea    0x20(%rsi),%rsi
   0x00007ffff750b53a <+218>:   dec    %rbp
   0x00007ffff750b53d <+221>:   jne    0x7ffff750b500 <__gmpn_mul_1+160>
   0x00007ffff750b53f <+223>:   lea    0x20(%rdi),%rdi
   0x00007ffff750b543 <+227>:   mov    %r9,(%rdi)
   0x00007ffff750b546 <+230>:   adc    %r8,%r11
   0x00007ffff750b549 <+233>:   mov    %r11,0x8(%rdi)
   0x00007ffff750b54d <+237>:   adc    %r10,%rcx
   0x00007ffff750b550 <+240>:   mov    %rcx,0x10(%rdi)
   0x00007ffff750b554 <+244>:   adc    %r12,%rbx
   0x00007ffff750b557 <+247>:   mov    %rbx,0x18(%rdi)
   0x00007ffff750b55b <+251>:   adc    $0x0,%rax
   0x00007ffff750b55f <+255>:   pop    %r12
   0x00007ffff750b561 <+257>:   pop    %rbp
   0x00007ffff750b562 <+258>:   pop    %rbx
---Type <return> to continue, or q <return> to quit---


(gdb) bt
#0  0x00007ffff750b4be in __gmpn_mul_1 () from
/home/jruiz/.local/lib/libgmp.so.10
#1  0x00007fffffffd240 in ?? ()
#2  0x000000000000000a in ?? ()
#3  0x0000000000000061 in ?? ()
#4  0x00007ffff751687d in __gmpn_bc_set_str () from
/home/jruiz/.local/lib/libgmp.so.10
#5  0x00007ffff7516ce7 in __gmpn_set_str () from
/home/jruiz/.local/lib/libgmp.so.10
#6  0x00007ffff7798923 in parsed_string_to_mpfr () from /lib64/libmpfr.so.4
#7  0x00007ffff7799d9c in mpfr_strtofr () from /lib64/libmpfr.so.4
#8  0x000000000104a004 in real_from_string(real_value*, char const*) ()
#9  0x00000000013bc990 in real_from_string3(real_value*, char const*,
format_helper) ()
#10 0x00000000013764d3 in ?? ()
#11 0x0000000000e5766e in c_lex_with_flags(tree_node**, unsigned int*, unsigned
char*, int) ()
#12 0x000000000134a113 in c_parse_file() ()
#13 0x0000000001377243 in c_common_parse_file() ()
#14 0x00000000013c41c8 in ?? ()
#15 0x0000000000d6059a in toplev::main(int, char**) ()
#16 0x0000000000d61d97 in main ()


More information about the Gcc-bugs mailing list