Commit 7c510d6f authored by Dr. Stephen Henson's avatar Dr. Stephen Henson
Browse files

Initial attempt at Whirlpool assembler support on VC++.

parent 7bbcb2f6
Loading
Loading
Loading
Loading
+68 −63
Original line number Diff line number Diff line
@@ -53,6 +53,11 @@ cd crypto\rc5\asm
perl rc5-586.pl win32 > r5_win32.asm
cd ..\..\..

echo Whirlpool
cd crypto\whrlpool\asm
perl wp-mmx.pl win32 > wp_win32.asm
cd ..\..\..

echo on

perl util\mkfiles.pl >MINFO
+70 −65
Original line number Diff line number Diff line
@@ -54,6 +54,11 @@ cd crypto\rc5\asm
perl rc5-586.pl win32n > r5_win32.asm
cd ..\..\..

echo Whirlpool
cd crypto\whrlpool\asm
perl wp-mmx.pl win32n > wp_win32.asm
cd ..\..\..

echo on

perl util\mkfiles.pl >MINFO
+8 −0
Original line number Diff line number Diff line
@@ -414,6 +414,8 @@ SHA1_ASM_OBJ=$sha1_asm_obj
SHA1_ASM_SRC=$sha1_asm_src
RMD160_ASM_OBJ=$rmd160_asm_obj
RMD160_ASM_SRC=$rmd160_asm_src
WHIRLPOOL_ASM_OBJ=$whirlpool_asm_obj
WHIRLPOOL_ASM_SRC=$whirlpool_asm_src

# The output directory for everything intersting
OUT_D=$out_dir
@@ -657,6 +659,11 @@ foreach (values %lib_nam)
		$lib_obj =~ s/\s(\S*\/rmd_dgst\S*)/ $1 \$(RMD160_ASM_OBJ)/;
		$rules.=&do_asm_rule($rmd160_asm_obj,$rmd160_asm_src);
		}
	if (($whirlpool_asm_obj ne "") && ($_ eq "CRYPTO"))
		{
		$lib_obj =~ s/\s(\S*\/wp_dgst\S*)/ $1 \$(WHIRLPOOL_ASM_OBJ)/;
		$rules.=&do_asm_rule($whirlpool_asm_obj,$whirlpool_asm_src);
		}
	$defs.=&do_defs(${_}."OBJ",$lib_obj,"\$(OBJ_D)",$obj);
	$lib=($slib)?" \$(SHLIB_CFLAGS)".$shlib_ex_cflags{$_}:" \$(LIB_CFLAGS)";
	$rules.=&do_compile_rule("\$(OBJ_D)",$lib_obj{$_},$lib);
@@ -840,6 +847,7 @@ sub do_defs
		elsif ($_ =~ /MD5_ASM/)	{ $t="$_ "; }
		elsif ($_ =~ /SHA1_ASM/){ $t="$_ "; }
		elsif ($_ =~ /RMD160_ASM/){ $t="$_ "; }
		elsif ($_ =~ /WHIRLPOOL_ASM/){ $t="$_ "; }
		else	{ $t="$location${o}$_$pf "; }

		$Vars{$var}.="$t ";
+3 −1
Original line number Diff line number Diff line
@@ -194,7 +194,9 @@ if (!$no_asm)
	$sha1_asm_src='crypto\sha\asm\s1_win32.asm';
	$rmd160_asm_obj='crypto\ripemd\asm\rm_win32.obj';
	$rmd160_asm_src='crypto\ripemd\asm\rm_win32.asm';
	$cflags.=" -DBN_ASM -DMD5_ASM -DSHA1_ASM -DRMD160_ASM";
	$whirlpool_asm_obj='crypto\whrlpool\asm\wp_win32.obj';
	$whirlpool_asm_src='crypto\whrlpool\asm\wp_win32.asm';
	$cflags.=" -DBN_ASM -DMD5_ASM -DSHA1_ASM -DRMD160_ASM -DWHIRLPOOL_ASM";
	}

if ($shlib && $FLAVOR !~ /CE/)