Current-Users archive
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index][Old Index]
libcrypto: Illegal instruction ``pshufb'' on non-sse3 CPU
As of late, when building (and installing) -head I end up with a libcrypto causing SIGILL, apparently due to using the ``pshufb'' instruction (which I believe is part of the SSE3 extension).
My CPU is, according to /proc/cpuinfo:
> processor : 0
> vendor_id : AuthenticAMD
> cpu family : 15
> model : 6
> model name : AMD Athlon(tm) II X2 265 Processor
> stepping : 3
> cpu MHz : 3311.46
> fdiv_bug : no
> fpu : yes
> fpu_exception : yes
> cpuid level : 5
> wp : yes
> flags : fpu vme de pse tsc msr pae mce cx8 apic sep mtrr pge mca cmov pat pse36 clflush mmx fxsr sse sse2 ht
>
> processor : 1
> [another core]
(No sse3)
As far as gdb is concerned, in libcrypto.so.8.4, this is the point where it blows up:
[...]
>0x7f7ff6f3ba87 pshufb %xmm6,%xmm0 ;bang
0x7f7ff6f3ba8c add $0x40,%r9 ;for context
0x7f7ff6f3ba90 pshufb %xmm6,%xmm1
0x7f7ff6f3ba95 pshufb %xmm6,%xmm2
0x7f7ff6f3ba9a pshufb %xmm6,%xmm3
0x7f7ff6f3ba9f paddd %xmm9,%xmm0
(Core dump available on request)
The assembly code originates from crypto/external/bsd/openssl/dist/crypto/sha/asm/sha1-x86_64.pl (around line 346), but seems to have been untouched for too long to be the culprit (a -head build in March didn't provoke the problem yet).
Any ideas?
Home |
Main Index |
Thread Index |
Old Index