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,@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 -- To UNSUBSCRIBE, email to debian-bugs-dist-requ...@lists.debian.org with a subject of "unsubscribe". Trouble? Contact listmas...@lists.debian.org