segfault on x86_64-*-* amd64 mpi asm code

t66667 at t66667 at
Fri Aug 13 04:45:24 CEST 2010


The segfault produced on Windows 7 x64 with 64 bits binary.
The asm code of mpi runtime crash on amd64.
(gdb) disass
Dump of assembler code for function gcry_mpih_mul_1:
    0x000000000729700f <+0>:     mov    %rdx,%r11
    0x0000000007297012 <+3>:     lea    (%rsi,%rdx,8),%rsi
    0x0000000007297016 <+7>:     lea    (%rdi,%rdx,8),%rdi
    0x000000000729701a <+11>:    neg    %r11
    0x000000000729701d <+14>:    xor    %r8d,%r8d
    0x0000000007297020 <+17>:    mov    (%rsi,%r11,8),%rax
    0x0000000007297024 <+21>:    mul    %rcx
    0x0000000007297027 <+24>:    add    %r8,%rax
    0x000000000729702a <+27>:    mov    $0x0,%r8d
    0x0000000007297030 <+33>:    adc    %rdx,%r8
=> 0x0000000007297033 <+36>:    mov    %rax,(%rdi,%r11,8)
    0x0000000007297037 <+40>:    inc    %r11
    0x000000000729703a <+43>:    jne    0x7297020 <gcry_mpih_mul_1+17>
    0x000000000729703c <+45>:    mov    %r8,%rax
    0x000000000729703f <+48>:    retq
End of assembler dump.

Compiler used x86_64-w64-mingw32-gcc 4.5 branch.

However I can --disable-asm for amd64 to avoid crash on runtime.
If anyone know any possible solution for this please reply.


More information about the Gcrypt-devel mailing list