Hi, Andy,

> http://git.openssl.org/gitweb/?p=openssl.git;a=commitdiff;h=750398acd85a7ae220d272d28a76dff7bb269c31
> works around this one.
> 
> Serguei, could you test if it fixes even your problem[s]?

Thank you. OK, ectest passed.

-- 
Sorry for my bests English.
 
Sternberg Astronom. w:+7(495)780-4820 USSR,Moscow,127018,Sushchevskij val 16-5
Institute, MSU      h:+7(495)318-1146 USSR,Moscow,113303,Kakhovka 6-40
                    m:+7(916)686-1081 SMS: <http://www.mts.ru/sms>
           <http://lnfm1.sai.msu.ru/~leo>



14.02.2013, в 12:56, Andy Polyakov via RT <r...@openssl.org> написал(а):

>>>> Probably this "strict aliasing" 64-bit optimization bug for 
>>>> "crypto/bn/bn_nist.c"
>> 
>> What bug are you talking about?  There doesn't seem to be a strict
>> aliasing warning in that file, and they use a union to get around
>> the problem.
>> 
>>>> Mac OSX compiler fail test/ectest: cc [Apple LLVM version 4.2 
>>>> (clang-425.0.24) (based on LLVM 3.2svn)] gcc-mp-4.3 gcc-mp-4.4 gcc-mp-4.5 
>>>> gcc-mp-4.6 clang-mp-3.0 clang-mp-3.1 clang-mp-3.2
>>>> 
>>>> Mac OSX compiler test/ectest OK: gcc-apple-4.2 gcc-mp-4.7 gcc-mp-4.8 
>>>> [gcc-mp-4.8 (MacPorts gcc48 4.8-20130203_0+universal) 4.8.0 20130203 
>>>> (experimental)] clang-mp-2.9 clang-mp-3.3 [clang version 3.3 (trunk 
>>>> 173279)]
>> 
>> I can at least reproduce the problem with clang 3.0.
> 
> Oh, that I managed to reproduce.
> http://git.openssl.org/gitweb/?p=openssl.git;a=commitdiff;h=750398acd85a7ae220d272d28a76dff7bb269c31
> works around this one.
> 
> Serguei, could you test if it fixes even your problem[s]?
> 
>> PS: I think at least this patch makes sense, but doesn't change anything:
>> --- a/crypto/bn/bn_nist.c
>> +++ b/crypto/bn/bn_nist.c
>> @@ -530,7 +530,7 @@ int BN_nist_mod_224(BIGNUM *r, const BIGNUM *a, const 
>> BIGNUM *field,
>>        {
>>        NIST_INT64              acc;    /* accumulator */
>>        unsigned int            *rp=(unsigned int *)r_d;
>> -       const unsigned int      *bp=(const unsigned int *)buf;
>> +       const unsigned int      *bp=(const unsigned int *)buf.ui;
>> 
>>        acc  = rp[0];   acc -= bp[7-7];
>>                        acc -= bp[11-7]; rp[0] = (unsigned int)acc; acc >>= 
>> 32;
> 
> The typo will be fixed as we go.
> 
> 
> ______________________________________________________________________
> OpenSSL Project                                 http://www.openssl.org
> Development Mailing List                       openssl-dev@openssl.org
> Automated List Manager                           majord...@openssl.org

______________________________________________________________________
OpenSSL Project                                 http://www.openssl.org
Development Mailing List                       openssl-dev@openssl.org
Automated List Manager                           majord...@openssl.org

Reply via email to