[Pkg-openssl-devel] Bug#699692: Bug#699692: "Illegal instruction" when installing (creating certificate) with Wheezy's version 1.0.1c-4 of openssl on a system with Cyrix MII / IBM 6x86

Kurt Roeckx kurt at roeckx.be
Mon Feb 11 17:48:11 UTC 2013


On Sun, Feb 03, 2013 at 09:52:48PM +0100, Hans-Juergen Mauser wrote:
> Hello Kurt,
> 
> thanks for your reply. Of course I like to help, see the required
> information (and a little bit more) attached to this mail.
> 
> The "cmov" instruction by itself should not be the problem as this
> CPU supports it - but maybe the presence of cmov suggests using
> other instructions which are missing?
> 
> Hope my information helps you a bit - if I can provide further
> details, don't hesitate to ask!

> Program received signal SIGILL, Illegal instruction.
> 0xb7e032b5 in OPENSSL_ia32_rdrand () at x86cpuid.s:333
> 333     x86cpuid.s: Datei oder Verzeichnis nicht gefunden.
> (gdb) bt
> #0  0xb7e032b5 in OPENSSL_ia32_rdrand () at x86cpuid.s:333
> (gdb) frame
> #0  0xb7e032b5 in OPENSSL_ia32_rdrand () at x86cpuid.s:333
> 333     in x86cpuid.s
> (gdb) info frame
> Stack level 0, frame at 0x0:
>  eip = 0xb7e032b5 in OPENSSL_ia32_rdrand (x86cpuid.s:333); saved eip 0xb7e032b5
>  Outermost frame: outermost
>  source language asm.
>  Arglist at unknown address.
>  Locals at unknown address, Previous frame's sp in esp
> (gdb)

Line 333 seems to be:
.section        .init
        call    OPENSSL_cpuid_setup

So I doubt that it's the correct line.

Just before that, there is the OPENSSL_ia32_rdrand function, that
looks like:
.globl  OPENSSL_ia32_rdrand
.type   OPENSSL_ia32_rdrand, at function
.align  16
OPENSSL_ia32_rdrand:
.L_OPENSSL_ia32_rdrand_begin:
        movl    $8,%ecx
.L019loop:
.byte   15,199,240
        jc      .L020break
        loop    .L019loop
.L020break:
        cmpl    $0,%eax
        cmovel  %ecx,%eax
        ret
.size   OPENSSL_ia32_rdrand,.-.L_OPENSSL_ia32_rdrand_begin

Note that is has a "cmovel" in there.

Can you run "disas" in gdb and see at which instruction is
actually points?



Kurt



More information about the Pkg-openssl-devel mailing list