diff --git a/CHANGES b/CHANGES index 0d09b71ddb65c0147e4cd05cf6ccc8e548266966..c39eb584ff22a577c2933bf3c704d8d58d78320f 100644 --- a/CHANGES +++ b/CHANGES @@ -4,6 +4,12 @@ Changes between 0.9.6 and 0.9.7 [xx XXX 2000] + *) Fix for SHA1 assembly problem with MASM: it produces + warnings about corrupt line number information when assembling + with debugging information. This is caused by the overlapping + of two sections. + [Bernd Matthes , Steve Henson] + *) Fix typo in get_cert_by_subject() in by_dir.c [Jean-Marc Desperrier ] diff --git a/crypto/evp/e_rd.c b/crypto/evp/e_rd.c index e51d9bc1ec5e711f93b606e919afe0dae15458ea..78122edc7a261fea8407e214ac58d37d23bc109a 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 09df993ecd4e09b91523db2f81ad968e2993cac6..fe51fd0794575e0e9ef3f701c36bd5fceab1fe0f 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); }