[openssl-dev] [openssl.org #4641] [openssl-1.1.0-pre6] make test stops with solaris64-x86_64-gcc
Kiyoshi KANAZAWA via RT
rt at openssl.org
Fri Sep 2 14:21:13 UTC 2016
I forgot writing.
crypto/x86_64cpuid.s generated by 64 bit perl & generated by rebuilt 32 bit perl
is the same.
Regards,
--- Kiyoshi <yoi_no_myoujou at yahoo.co.jp>
> With my old 32 bit perl,built by default except for prefix,
> perl -e 'use integer; printf
> "%d\n",0xffffffff<<32>>32'
> prints 0.
> 64 bit perl prints -1.
>
> After rebuilding 32 bit perl with Configuring "-Duse64bitint", output
> was changed to -1.
> With this rebuilt 32 bit perl, openssl-1.1.0 "make test" passes.
>
>
> (I checked perl-5.24.0, building both with gcc 5.4.0 & developerstudio12.5
> cc,
> and had the same results.)
>
> Regards,
>
> --- Kiyoshi <yoi_no_myoujou at yahoo.co.jp>
>
>
>>
>>> Note that a 32-bit Perl can be compiled with or without support for
> 64-bit
>> integers.
>>> That fact hit me once doing OpenSSL builds, some 64-bit constants were
> not
>>> calculated correctly, however that showed up at build time so not
> likely
>>> to be the case here. However, it might be helpful checking if the
> 32-bit
>> perl
>>> in question supports 64-bit or not.
>>
>> Those problems were addressed and both configurations are known to work.
>> For example 32-bit perl I use by default on Linux is *not* compiled with
>> 64-bit integers, while 32-bit perl I have on Solaris is. No problem with
>> either. It appears to me that problem is likely to occur at sign
>> extension when processing effective addresses. To demonstrate this with
>> one-liner:
>>
>> perl -e 'use integer; printf
>> "%d\n",0xffffffff<<32>>32'
>>
>> It should print -1 in either combination of bitnesses.
>>
>>
>> --
>> Ticket here: http://rt.openssl.org/Ticket/Display.html?id=4641
>> Please log in as guest with password guest if prompted
>>
>
--
Ticket here: http://rt.openssl.org/Ticket/Display.html?id=4641
Please log in as guest with password guest if prompted
More information about the openssl-dev
mailing list