[pypy-issue] [issue1751] --jit-backend=x86-without-sse2 is broken

Stefano Rivera tracker at bugs.pypy.org
Mon May 5 15:03:39 CEST 2014


Stefano Rivera <pypy at rivera.za.net> added the comment:

BTW, I built 3484aaa1e858, and it still dies on SIGILL before saying anything.

Program received signal SIGILL, Illegal instruction.
0x08c97d9b in pypy_g_IncrementalMiniMarkGC_allocate_nursery ()

(gdb) bt
#0  0x08c97d9b in pypy_g_IncrementalMiniMarkGC_allocate_nursery ()
#1  0x08c99ca8 in pypy_g_IncrementalMiniMarkGC_setup ()
#2  0x08ca2720 in pypy_g_frameworkgc_setup ()
#3  0x08057438 in RPython_StartupCode ()
#4  0x08e8c7cc in pypy_main_function ()
#5  0x0805733b in main ()

(gdb) disas
Dump of assembler code for function pypy_g_IncrementalMiniMarkGC_allocate_nursery:
   0x08c97d40 <+0>:     push   %edi
   0x08c97d41 <+1>:     push   %esi
   0x08c97d42 <+2>:     push   %ebx
   0x08c97d43 <+3>:     sub    $0x10,%esp
   0x08c97d46 <+6>:     mov    0x20(%esp),%ebx
   0x08c97d4a <+10>:    movl   $0x8f49259,(%esp)
   0x08c97d51 <+17>:    call   0x8e8d180 <pypy_debug_start>
   0x08c97d56 <+22>:    testb  $0x1,0x9e48a50
   0x08c97d5d <+29>:    mov    0xe4(%ebx),%edi
   0x08c97d63 <+35>:    jne    0x8c97e70
<pypy_g_IncrementalMiniMarkGC_allocate_nursery+304>
   0x08c97d69 <+41>:    add    $0x10800,%edi
   0x08c97d6f <+47>:    mov    %edi,(%esp)
   0x08c97d72 <+50>:    call   0x8055cd0 <malloc at plt>
   0x08c97d79 <+57>:    test   %eax,%eax
   0x08c97d7b <+59>:    je     0x8c97e28
<pypy_g_IncrementalMiniMarkGC_allocate_nursery+232>
   0x08c97d81 <+65>:    mov    %edi,0x8(%esp)
   0x08c97d85 <+69>:    movl   $0x0,0x4(%esp)
   0x08c97d8d <+77>:    mov    %eax,(%esp)
   0x08c97d90 <+80>:    call   0x8055a80 <memset at plt>
   0x08c97d95 <+85>:    mov    0xe4(%ebx),%eax
=> 0x08c97d9b <+91>:    movsd  0x24(%ebx),%xmm1
   0x08c97da0 <+96>:    mov    %esi,0xd0(%ebx)
   0x08c97da6 <+102>:   xorpd  %xmm2,%xmm2
   0x08c97daa <+106>:   mov    %esi,0xd8(%ebx)
   0x08c97db0 <+112>:   add    %eax,%esi
   0x08c97db2 <+114>:   cvtsi2sd %eax,%xmm0
   0x08c97db6 <+118>:   mulsd  0xc(%ebx),%xmm0
   0x08c97dbb <+123>:   mov    %esi,0xec(%ebx)
   0x08c97dc1 <+129>:   maxsd  %xmm0,%xmm1
   0x08c97dc5 <+133>:   movapd %xmm1,%xmm0
   0x08c97dc9 <+137>:   movsd  %xmm1,0x24(%ebx)
   0x08c97dce <+142>:   mov    %esi,0xe0(%ebx)
   0x08c97dd4 <+148>:   mulsd  0x4(%ebx),%xmm1
   0x08c97dd9 <+153>:   ucomisd %xmm1,%xmm2
   0x08c97ddd <+157>:   ja     0x8c97ea0
<pypy_g_IncrementalMiniMarkGC_allocate_nursery+352>
   0x08c97de3 <+163>:   movapd %xmm2,%xmm1
   0x08c97de7 <+167>:   maxsd  %xmm1,%xmm0
   0x08c97deb <+171>:   movapd %xmm0,%xmm1
   0x08c97def <+175>:   movsd  0x1c(%ebx),%xmm0
   0x08c97df4 <+180>:   ucomisd %xmm2,%xmm0
   0x08c97df8 <+184>:   jbe    0x8c97eb0
<pypy_g_IncrementalMiniMarkGC_allocate_nursery+368>
   0x08c97dfe <+190>:   minsd  %xmm1,%xmm0
   0x08c97e02 <+194>:   movsd  %xmm0,0x2c(%ebx)
   0x08c97e07 <+199>:   movsd  %xmm0,0x34(%ebx)
   0x08c97e0c <+204>:   mov    %eax,0xb0(%ebx)
   0x08c97e12 <+210>:   movl   $0x8f49259,0x20(%esp)
   0x08c97e1a <+218>:   add    $0x10,%esp
   0x08c97e1d <+221>:   pop    %ebx
   0x08c97e1e <+222>:   pop    %esi
   0x08c97e1f <+223>:   pop    %edi
   0x08c97e20 <+224>:   jmp    0x8e8d370 <pypy_debug_stop>
   0x08c97e25 <+229>:   lea    0x0(%esi),%esi
   0x08c97e28 <+232>:   movl   $0x941bf44,0x4(%esp)
   0x08c97e30 <+240>:   movl   $0x941af9c,(%esp)
   0x08c97e37 <+247>:   call   0x8e78a50 <pypy_g_RPyRaiseException>
   0x08c97e3c <+252>:   mov    0x9f09f04,%eax
   0x08c97e41 <+257>:   movl   $0x9e1e88c,0x9f0b700(,%eax,8)
   0x08c97e4c <+268>:   movl   $0x0,0x9f0b704(,%eax,8)
   0x08c97e57 <+279>:   add    $0x1,%eax
   0x08c97e5a <+282>:   and    $0x7f,%eax
   0x08c97e5d <+285>:   mov    %eax,0x9f09f04
   0x08c97e62 <+290>:   add    $0x10,%esp
   0x08c97e65 <+293>:   pop    %ebx
   0x08c97e66 <+294>:   pop    %esi
   0x08c97e67 <+295>:   pop    %edi
   0x08c97e68 <+296>:   ret
   0x08c97e69 <+297>:   lea    0x0(%esi,%eiz,1),%esi
   0x08c97e70 <+304>:   call   0x8e8cf30 <pypy_debug_ensure_opened>
   0x08c97e75 <+309>:   mov    0x9f09eb0,%eax
   0x08c97e7a <+314>:   mov    %edi,0x8(%esp)
   0x08c97e7e <+318>:   movl   $0x8f4926d,0x4(%esp)
   0x08c97e86 <+326>:   mov    %eax,(%esp)
   0x08c97e89 <+329>:   call   0x8056740 <fprintf at plt>
   0x08c97e8e <+334>:   mov    0xe4(%ebx),%edi
   0x08c97e94 <+340>:   jmp    0x8c97d69
<pypy_g_IncrementalMiniMarkGC_allocate_nursery+41>
   0x08c97e99 <+345>:   lea    0x0(%esi,%eiz,1),%esi
   0x08c97ea0 <+352>:   addsd  %xmm2,%xmm1
   0x08c97ea4 <+356>:   jmp    0x8c97de7
<pypy_g_IncrementalMiniMarkGC_allocate_nursery+167>
   0x08c97ea9 <+361>:   lea    0x0(%esi,%eiz,1),%esi
   0x08c97eb0 <+368>:   movapd %xmm1,%xmm0
   0x08c97eb4 <+372>:   jmp    0x8c97e02
<pypy_g_IncrementalMiniMarkGC_allocate_nursery+194>
End of assembler dump.

________________________________________
PyPy bug tracker <tracker at bugs.pypy.org>
<https://bugs.pypy.org/issue1751>
________________________________________


More information about the pypy-issue mailing list