aboutsummaryrefslogtreecommitdiffstats
path: root/crypto
diff options
context:
space:
mode:
authorDr. Stephen Henson <steve@openssl.org>2000-10-20 00:36:45 +0000
committerDr. Stephen Henson <steve@openssl.org>2000-10-20 00:36:45 +0000
commit627ec355d8126b4dc564019bf09495aa1da301c7 (patch)
treeb841fa780fc4725e31a3180e5ac33f48ca8bd42b /crypto
parent4184a78761c01460e71cb251dc512fd0384637e0 (diff)
downloadopenssl-627ec355d8126b4dc564019bf09495aa1da301c7.tar.gz
Fix for bug (?) in assembly language routines for SHA1. This
causes MASM to complain and not produce valid debug info. Hopefully this wont break anything else... Also fix typo in e_rd.c
Diffstat (limited to 'crypto')
-rw-r--r--crypto/evp/e_rd.c4
-rw-r--r--crypto/sha/asm/sha1-586.pl12
2 files changed, 9 insertions, 7 deletions
diff --git a/crypto/evp/e_rd.c b/crypto/evp/e_rd.c
index e51d9bc1ec..78122edc7a 100644
--- a/crypto/evp/e_rd.c
+++ b/crypto/evp/e_rd.c
@@ -55,8 +55,8 @@
static EVP_CIPHER rd_cipher[3][3];
-static anSizes[]={16,24,32};
-static anNIDs[3][3]=
+static int anSizes[]={16,24,32};
+static int anNIDs[3][3]=
{
{ NID_rijndael_ecb_k128_b128,NID_rijndael_ecb_k192_b128,NID_rijndael_ecb_k256_b128 },
{ NID_rijndael_ecb_k128_b192,NID_rijndael_ecb_k192_b192,NID_rijndael_ecb_k256_b192 },
diff --git a/crypto/sha/asm/sha1-586.pl b/crypto/sha/asm/sha1-586.pl
index 09df993ecd..fe51fd0794 100644
--- a/crypto/sha/asm/sha1-586.pl
+++ b/crypto/sha/asm/sha1-586.pl
@@ -317,7 +317,7 @@ sub BODY_60_79
sub sha1_block_host
{
- local($name)=@_;
+ local($name, $sclabel)=@_;
&function_begin_B($name,"");
@@ -352,7 +352,7 @@ sub sha1_block_host
&mov(&swtmp($i+0),$A);
&mov(&swtmp($i+1),$B);
}
- &jmp(&label("shortcut"));
+ &jmp($sclabel);
&function_end_B($name);
}
@@ -529,10 +529,12 @@ sub sha1_block_data
&pop("esi");
&ret();
- # it has to reside within sha1_block_asm_host_order body
- # because it calls &jmp(&label("shortcut"));
- &sha1_block_host("sha1_block_asm_host_order");
+ # keep a note of shortcut label so it can be used outside
+ # block.
+ my $sclabel = &label("shortcut");
&function_end_B($name);
+ # Putting this here avoids problems with MASM in debugging mode
+ &sha1_block_host("sha1_block_asm_host_order", $sclabel);
}