Hi,

> this patch solve the problem of Program terminated with signal 4,
> Illegal instruction on cpu amd geode-lx and VIA Nehemiah?

Is it question or statement?

> root@gatto:/tmp# openssl version
> Illegal instruction (core dumped)

Is it crash before of after?

> root@gatto:/tmp# gdb -c core /usr/bin/openssl
> GNU gdb (GDB) 7.4
> Program terminated with signal 4, Illegal instruction.
> #0  0xb76bc1f3 in _init () from /usr/lib/libcrypto.so.0
> (gdb) disassemble
> Dump of assembler code for function _init:
>    0xb76bc1d0 <+0>:     push   %ebx
>    0xb76bc1d1 <+1>:     sub    $0x8,%esp
>    0xb76bc1d4 <+4>:     call   0xb76bc840
>    0xb76bc1d9 <+9>:     add    $0x12c697,%ebx
>    0xb76bc1df <+15>:    mov    -0x220(%ebx),%eax
>    0xb76bc1e5 <+21>:    test   %eax,%eax
>    0xb76bc1e7 <+23>:    je     0xb76bc1ee <_init+30>
>    0xb76bc1e9 <+25>:    call   0xb76bc4d0 <__gmon_start__@plt>
>    0xb76bc1ee <+30>:    call   0xb76bc970
> => 0xb76bc1f3 <+35>:    nopw   %cs:0x0(%eax,%eax,1)

Obviously CPUs in question can't handle this kind of nop. Formally it's
binutils' fault, they should have been more conservative and not throw
in the kind of nop that is not recognized universally. But it's easy to
carry away in world of multiple x86 vendors, so it could not have been
avoided...

>    0xb76bc1fd <+45>:    nopl   (%eax)
>    0xb76bc200 <+48>:    call   0xb76bcc10 <OPENSSL_cpuid_setup>
>    0xb76bc205 <+53>:    jmp    0xb76bc210 <_init+64>
>    0xb76bc207 <+55>:    mov    %esi,%esi
>    0xb76bc209 <+57>:    lea    0x0(%edi,%eiz,1),%edi
>    0xb76bc210 <+64>:    call   0xb7797110
>    0xb76bc215 <+69>:    add    $0x8,%esp
>    0xb76bc218 <+72>:    pop    %ebx
>    0xb76bc219 <+73>:    ret
> End of assembler dump.
> (gdb)

If the crash dump is before, then no, the commit in question did not fix
the problem. If anything,  http://cvs.openssl.org/chngview?cn=21588 did.
______________________________________________________________________
OpenSSL Project                                 http://www.openssl.org
Development Mailing List                       [email protected]
Automated List Manager                           [email protected]

Reply via email to