>>>>>Sorry, I've forgotten to mention I use 20050627 snapshot and
>>>>>./config -g shared zlib works fine.

>
>
>>Yet I find it a bit too puzzling... After I've replied I came to realize
>>that no-sse2/386 shouldn't actually affect the referred test
>>procedure... Indeed, even though there're SSE2 instructions present in
>>bn_mul_add_words, they operate on mmx registers and therefore don't
>>actually require kernel support. Kernel support required for SSE2
>>instructions operating on 128-bit xmm registers, but not on 64-bit mmx
>>ones, and therefore if CPUID said SSE2 is available, then
>>bn_mul_add_words should have worked... So if you can have time I'd still
>>appreciate if you could collect and send over disassemble output in the
>>vicinity of segmentation fault, as well as info registers... Once again,
>>this is optional. A.

>
>
> (gdb) bt
> #0 0x281330a1 in bn_mul_add_words () from ./libcrypto.so.0.9.8
> (gdb) info r
> eax 0x30281d48 807935304
> (gdb) disassemble
> Dump of assembler code for function bn_mul_add_words:
> 0x28133090 : call 0x28133095
> 0x28133095 : pop %eax
> 0x28133096 : add $0x163630,%eax
> 0x2813309b : mov 0x2cc(%eax),%eax
> 0x281330a1 : btl $0x1a,(%eax)


btl? This most likely indicates bug in binutils or run-time linker, as
it's ld, which is solely responsible for constants above btl and
run-time linker is responsible for value found at 0x2cc(%eax) location.
So that 386/no-sse2 doesn't really have everyting to do with SSE2
instruction per se, it simply excludes the above snippet and thus avoid
bug condition. It might be possible to avoid the bug in OpenSSL [is it
really important?]. Binutils upgrade might help [is it an option?]. Or
simply avoid -ggdb... A.

__________________________________________________ ____________________
OpenSSL Project http://www.openssl.org
Development Mailing List openssl-dev@openssl.org
Automated List Manager majordomo@openssl.org