A recent change (within the last 3 days I think) seems to have broken
the build of the FIPS module on 64-bit Windows. Here's the relevant
output:
----------------------------------
set ASM=nasm -f win64 -DNEAR -Ox -g
perl crypto\bn\asm\modexp512-x86_64.pl tmp32dll\modexp512-x86_64.asm
perl util\fipsas.pl . tmp32dll\modexp512-x86_64.asm norunasm
/MD /Ox -DOPENSSL_FIPSCANISTER -DOPENSSL_THREADS -DDSO_WIN32 -W3 -Gs0
-Gy -nologo -DOPENSSL_SYSNAME_WIN32 -DWIN32_LEAN_AND_MEAN -DL_ENDIAN
-DUNICODE -D_UNICODE -D_CRT_SECURE_NO_DEPRECATE -DOPENSSL_IA32_SSE2
-DOPENSSL_BN_ASM_MONT -DOPENSSL_BN_ASM_MONT5 -DOPENSSL_BN_ASM_GF2m
-DSHA1_ASM -DSHA256_ASM -DSHA512_ASM -DMD5_ASM -DAES_ASM
-DWHIRLPOOL_ASM -DGHASH_ASM -DOPENSSL_USE_APPLINK -I. -DOPENSSL_NO_RC5
-DOPENSSL_NO_MD2 -DOPENSSL_NO_KRB5 -DOPENSSL_FIPS -DOPENSSL_NO_JPAKE
-DOPENSSL_NO_STATIC_ENGINE
nasm -f win64 -DNEAR -Ox -g -o tmp32dll\modexp512-x86_64.obj
tmp32dll\modexp512-x86_64.asm
tmp32dll\modexp512-x86_64.asm:1616: error: parser: instruction expected
tmp32dll\modexp512-x86_64.asm:1617: error: symbol `movzxx' redefined
tmp32dll\modexp512-x86_64.asm:1617: error: parser: instruction expected
tmp32dll\modexp512-x86_64.asm:1673: error: symbol `movzxx' redefined
tmp32dll\modexp512-x86_64.asm:1673: error: parser: instruction expected
tmp32dll\modexp512-x86_64.asm:1674: error: symbol `movzxx' redefined
tmp32dll\modexp512-x86_64.asm:1674: error: parser: instruction expected
----------------------------------
The noted lines in the assembly file are:
loop_2:
movzxx rbx,WORD[192+rsi]
movzxx rax,WORD[448+rsi]
...
loop_3:
movzxx rbx,WORD[192+rsi]
movzxx rax,WORD[448+rsi]
I'm not sure exactly how this is generated, though I can see where I
think it's coming from in modexp512-x86_64.pl. The instruction used
there is movzxw. Somehow in the conversion process it's turning into
movzxx, which as far as I can find is not a valid instruction.
Any ideas?
Tyrel
______________________________________________________________________
OpenSSL Project http://www.openssl.org
Development Mailing List [email protected]
Automated List Manager [email protected]