[openssl-dev] [openssl.org #3650] sha1-586.asm broken in 1.0.2-stable for Windows builds
Andy Polyakov via RT
rt at openssl.org
Thu Feb 5 08:09:28 UTC 2015
> I am also having a issue this issue. It is a 32 bit build issue
> only. The 64 bit build completes using the same development
> environment. The offending instruction is "movd". Unfortunately
> I am not a x86 assembler expert.
>
> Mark
>
> perl crypto\sha\asm\sha1-586.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_RC5 -DOPENSSL_NO_MD2 -DOPENSSL_NO_KR
> B5 -DOPENSSL_NO_JPAKE -DOPENSSL_NO_DYNAMIC_ENGINE >tmp32dll\sha1-586.asm
> ml /nologo /Cp /coff /c /Cx /Zi /Fotmp32dll\sha1-586.obj tmp32dll\sha1-5
> 86.asm
> Assembling: tmp32dll\sha1-586.asm
> tmp32dll\sha1-586.asm(1432) : error A2070:invalid instruction operands
> tmp32dll\sha1-586.asm(1576) : error A2070:invalid instruction operands
> NMAKE : fatal error U1077: '"C:\Program Files (x86)\Microsoft Visual Studio 11.0
> \VC\BIN\ml.EXE"' : return code '0x1'
> Stop.
>
> $Lshaext_shortcut::
> mov edi,DWORD PTR 20[esp]
> mov ebx,esp
> mov esi,DWORD PTR 24[esp]
> mov ecx,DWORD PTR 28[esp]
> sub esp,32
> movdqu xmm0,XMMWORD PTR [edi]
> movd xmm1,XMMWORD PTR 16[edi] * 1432
Ah! It should be DWORD, not XMMWORD... Devja vu! There was similar case
with movq elsewhere. See if attached fixes the problem.
-------------- next part --------------
A non-text attachment was scrubbed...
Name: masm.diff
Type: text/x-patch
Size: 958 bytes
Desc: not available
URL: <http://mta.openssl.org/pipermail/openssl-dev/attachments/20150205/3a718a9e/attachment.bin>
More information about the openssl-dev
mailing list