In process upgrade openssl to 0.9.8za. When building with fips module 1.2.4 lib, failed with link error. The same process and fips 1.2.4 lib works with 0.9.8y.
Compared the code difference with 0.9.8za and 0.9.8y, noticed BN_consttime_swap() is used in 0.9.8za crypto/ec/ec2_mult.c. perl Configure VC-WIN32 no-asm fips --with-fipslibdir=C:\openssl_build\openssl-fips-1.2.4\out32dll ms\do_ms nmake -f ms\ntdll.mak clean nmake -f ms\ntdll.mak The error I got cl /Fotmp32dll\fips_premain_dso.obj -DFINGERPRINT_PREMAIN_DSO_LOAD -Iinc32 -Itmp32dll /MD /Ox /O2 /Ob2 /W3 /WX /Gs0 /GF /Gy /nologo -DOPENSSL_SYSNAME_WIN32 -DWIN32_LEAN_AND_MEAN -DL_ENDIAN -DDSO_WIN32 -D_CRT_SECURE_NO_DEPRECATE -D_CRT_NONSTDC_NO_DEPRECATE -DOPENSSL_USE_APPLINK -I. /Fdout32dll -DOPENSSL_NO_CAMELLIA -DOPENSSL_NO_SEED -DOPENSSL_NO_RC5 -DOPENSSL_NO_MDC2 -DOPENSSL_NO_CMS -DOPENSSL_NO_JPAKE -DOPENSSL_NO_CAPIENG -DOPENSSL_NO_KRB5 -DOPENSSL_FIPS -DOPENSSL_NO_DYNAMIC_ENGINE -D_WINDLL -c .\fips\fips_premain.c fips_premain.c link /nologo /subsystem:console /opt:ref /out:out32dll\fips_premain_dso.exe @C:\DOCUME~1\zhangp\LOCALS~1\Temp\1\nm419.tmp Creating library out32dll\fips_premain_dso.lib and object out32dll\fips_premain_dso.exp ec2_mult.obj : error LNK2019: unresolved external symbol _BN_consttime_swap referenced in function _ec_GF2m_montgomery_point_multiply out32dll\fips_premain_dso.exe : fatal error LNK1120: 1 unresolved externals Any recommendation on solutions? Thanks, -Ping