From 203ae57fe0842606f12d451f18cb348327c0cf75 Mon Sep 17 00:00:00 2001 From: "Dr. Stephen Henson" Date: Tue, 24 Jul 2007 18:27:35 +0000 Subject: [PATCH] Generate and use assembly language files in WIN32 build. --- ms/do_fips.bat | 1 + ms/do_nasm.bat | 1 + util/mk1mf.pl | 4 ++-- util/pl/VC-32.pl | 6 +++--- 4 files changed, 7 insertions(+), 5 deletions(-) diff --git a/ms/do_fips.bat b/ms/do_fips.bat index 36ef889834..c30c15015a 100644 --- a/ms/do_fips.bat +++ b/ms/do_fips.bat @@ -10,6 +10,7 @@ echo Bignum cd crypto\bn\asm perl bn-586.pl win32n %ASMOPTS% > bn_win32.asm perl co-586.pl win32n %ASMOPTS% > co_win32.asm +perl x86-mont.pl win32n %ASMOPTS% > mt_win32.asm cd ..\..\.. echo AES diff --git a/ms/do_nasm.bat b/ms/do_nasm.bat index 7a2fa45663..040d4d5f98 100755 --- a/ms/do_nasm.bat +++ b/ms/do_nasm.bat @@ -8,6 +8,7 @@ echo Bignum cd crypto\bn\asm perl bn-586.pl win32n %ASMOPTS% > bn_win32.asm perl co-586.pl win32n %ASMOPTS% > co_win32.asm +perl x86-mont.pl win32n %ASMOPTS% > mt_win32.asm cd ..\..\.. echo AES diff --git a/util/mk1mf.pl b/util/mk1mf.pl index c4f49575ce..f80fc56f1a 100755 --- a/util/mk1mf.pl +++ b/util/mk1mf.pl @@ -794,7 +794,7 @@ foreach (values %lib_nam) { if ($cpuid_asm_obj ne "") { - $lib_obj =~ s/\s(\S*\/cryptlib\S*)/ $1 \$(CPUID_ASM_OBJ)/; + $lib_obj =~ s/(\S*\/cryptlib\S*)/$1 \$(CPUID_ASM_OBJ)/; $rules.=&do_asm_rule($cpuid_asm_obj,$cpuid_asm_src); } if ($aes_asm_obj ne "") @@ -882,7 +882,7 @@ foreach (split(/\s+/,$test)) $t=&bname($_); my $ltype; # Check to see if test program is FIPS - if (/fips-1.0/) + if ($fips && /fips-1.0/) { # If fipsdso link to libosslfips.dll # otherwise perform static link to diff --git a/util/pl/VC-32.pl b/util/pl/VC-32.pl index 6da2a31c15..a67ddeb29d 100644 --- a/util/pl/VC-32.pl +++ b/util/pl/VC-32.pl @@ -190,8 +190,8 @@ if (!$no_asm) { $aes_asm_obj='crypto\aes\asm\a_win32.obj'; $aes_asm_src='crypto\aes\asm\a_win32.asm'; - $bn_asm_obj='crypto\bn\asm\bn_win32.obj'; - $bn_asm_src='crypto\bn\asm\bn_win32.asm'; + $bn_asm_obj='crypto\bn\asm\bn_win32.obj crypto\bn\asm\mt_win32.obj'; + $bn_asm_src='crypto\bn\asm\bn_win32.asm crypto\bn\asm\mt_win32.asm'; $bnco_asm_obj='crypto\bn\asm\co_win32.obj'; $bnco_asm_src='crypto\bn\asm\co_win32.asm'; $des_enc_obj='crypto\des\asm\d_win32.obj crypto\des\asm\y_win32.obj'; @@ -212,7 +212,7 @@ if (!$no_asm) $rmd160_asm_src='crypto\ripemd\asm\rm_win32.asm'; $cpuid_asm_obj='crypto\cpu_win32.obj'; $cpuid_asm_src='crypto\cpu_win32.asm'; - $cflags.=" -DOPENSSL_CPUID_OBJ -DOPENSSL_IA32_SSE2 -DAES_ASM -DBN_ASM -DOPENSSL_BN_ASM_PART_WORDS -DMD5_ASM -DSHA1_ASM -DRMD160_ASM"; + $cflags.=" -DOPENSSL_CPUID_OBJ -DOPENSSL_IA32_SSE2 -DAES_ASM -DBN_ASM -DOPENSSL_BN_ASM_PART_WORDS -DOPENSSL_BN_ASM_MONT -DMD5_ASM -DSHA1_ASM -DRMD160_ASM"; } if ($shlib && $FLAVOR !~ /CE/) -- 2.25.1