On 2010-10-10 23:17, Andy Polyakov via RT wrote:
>> With x64 I get warnings when linking applications, both openssl.exe and
>> test programs like sha1test.exe. A snippet of output from nmake -f
>> ms\nt.mak:
>> link /nologo /subsystem:console /opt:ref /debug
>> /out:out32\openssl.exe @C:\DOCUME~1\FRYKEN~1\LOCALS~1\Temp\nm3B3.tmp
>>
>> LIBCMT.lib(crt0init.obj) : warning LNK4254: section '.CRT' (60000020)
>> merged into '.rdata' (40000040) with different attributes
>>
>> And when linking our own application on x64/Release platform:
>> libeay32.lib(x86_64cpuid.obj) : warning LNK4078: multiple '.CRT'
>> sections found with different attributes (60500020)
>> libeay32.lib(x86_64cpuid.obj) : warning LNK4210: .CRT section exists;
>> there may be unhandled static initializers or terminators
>>
>> The warning implies that OPENSSL_cpuid_setup will not be called. I
>> confirmed this with printf("%lu", *OPENSSL_ia32cap_loc()) in our
>> application, which prints out 0 using the x64 code, while printing
>> 2951479295 using 32-bit code, indicating that OPENSSL_cpuid_setup has
>> only been executed with the 32-bit code.
> Could you please double-check http://cvs.openssl.org/chngview?cn=19935?
> A lot of thanks in advance. A.
>
>
Hi, was that for me to check? I've done it anyway by patching
x86_64-xlate.pl to 1.25.2.7
<http://cvs.openssl.org/fileview?f=openssl/crypto/perlasm/x86_64-xlate.pl&v=1.25.2.7>
, removing my old patched x86_64cpuid.asm, and building with nmake -f
ms\nt.mak. The results looks great as far as I'm concerned:
No warnings, and the *OPENSSL_ia32cap_loc() address is now initialized
in our application.
However, I've not made a complete openssl rebuild, so no idea of
possible impact on other assembler code, and I've not ventured trying
microsoft masm. And I still don't have a box for running a "make test"
on x64.
Thanks for the quick resolution!
Per
______________________________________________________________________
OpenSSL Project http://www.openssl.org
Development Mailing List [email protected]
Automated List Manager [email protected]