Hi,

trying to compile openssl 1.0.1 on win32 with visual studio 2010
(SP1). I get the following error when assembling x86cpuid.asm:

---------
perl crypto\x86cpuid.pl win32 /MD /Ox /O2 /Ob2 -DOPENSSL_THREADS
-DDSO_WIN32 -W3 -Gs0 -GF -Gy -nologo -DOPENSSL_SYSNAME_WIN32
-DWIN32_LEAN_AND_MEAN -DL_ENDIAN -D_CRT_SECURE_NO_DEPRECATE
-DOPENSSL_BN_ASM_PART_WORDS -DOPENSSL_IA32_SSE2 -DOPENSSL_BN_ASM_MONT
-DOPENSSL_BN_ASM_GF2m -DSHA1_ASM -DSHA256_ASM -DSHA512_ASM -DMD5_ASM
-DRMD160_ASM -DAES_ASM -DVPAES_ASM -DWHIRLPOOL_ASM -DGHASH_ASM
-DOPENSSL_USE_APPLINK -I. -DOPENSSL_NO_MD2 -DOPENSSL_NO_KRB5
-DOPENSSL_NO_JPAKE -DOPENSSL_NO_STATIC_ENGINE >tmp32dll\x86cpuid.asm

        ml /nologo /Cp /coff /c /Cx /Zi /Fotmp32dll\x86cpuid.obj 
tmp32dll\x86cpuid.asm

 Assembling: tmp32dll\x86cpuid.asm

tmp32dll\x86cpuid.asm(155) : error A2022:instruction operands must be
the same size

tmp32dll\x86cpuid.asm(165) : error A2022:instruction operands must be
the same size

tmp32dll\x86cpuid.asm(219) : error A2022:instruction operands must be
the same size

NMAKE : fatal error U1077: '"c:\Program Files (x86)\Microsoft Visual
Studio 10.0\VC\BIN\ml.EXE"' : return code '0x1'

Stop.

NMAKE : fatal error U1077: '"c:\Program Files (x86)\Microsoft Visual
Studio 10.0\VC\BIN\nmake.EXE"' : return code '0x2'

Stop.
----------

Apparently this change in crypto/perlasm/x86masm.pl:

    if ($opcode =~ /lea/ && @arg[1] =~ s/.*PTR\s+([^\[]+)$/$1/) # no []
    {   $opcode="mov";  }
    elsif ($opcode !~ /movq/)

translates the "picmeup" in x86cpuid.pl:
        &picmeup("ecx","OPENSSL_ia32cap_P");
into:
        mov     ecx,_OPENSSL_ia32cap_P

which causes above compiler error. Older versions translated that into:
        lea     ecx,DWORD PTR _OPENSSL_ia32cap_P

Am I doing something wrong here?

Rgds,
Chris

PS:
c:\openssl>ml /?
Microsoft (R) Macro Assembler Version 10.00.40219.01
Copyright (C) Microsoft Corporation.  All rights reserved.
______________________________________________________________________
OpenSSL Project                                 http://www.openssl.org
Development Mailing List                       [email protected]
Automated List Manager                           [email protected]

Reply via email to