提交 627ec355 编写于 作者: D Dr. Stephen Henson

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
上级 4184a787
...@@ -4,6 +4,12 @@ ...@@ -4,6 +4,12 @@
Changes between 0.9.6 and 0.9.7 [xx XXX 2000] 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 <mainbug@celocom.de>, Steve Henson]
*) Fix typo in get_cert_by_subject() in by_dir.c *) Fix typo in get_cert_by_subject() in by_dir.c
[Jean-Marc Desperrier <jean-marc.desperrier@certplus.com>] [Jean-Marc Desperrier <jean-marc.desperrier@certplus.com>]
......
...@@ -55,8 +55,8 @@ ...@@ -55,8 +55,8 @@
static EVP_CIPHER rd_cipher[3][3]; static EVP_CIPHER rd_cipher[3][3];
static anSizes[]={16,24,32}; static int anSizes[]={16,24,32};
static anNIDs[3][3]= static int anNIDs[3][3]=
{ {
{ NID_rijndael_ecb_k128_b128,NID_rijndael_ecb_k192_b128,NID_rijndael_ecb_k256_b128 }, { 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 }, { NID_rijndael_ecb_k128_b192,NID_rijndael_ecb_k192_b192,NID_rijndael_ecb_k256_b192 },
......
...@@ -317,7 +317,7 @@ sub BODY_60_79 ...@@ -317,7 +317,7 @@ sub BODY_60_79
sub sha1_block_host sub sha1_block_host
{ {
local($name)=@_; local($name, $sclabel)=@_;
&function_begin_B($name,""); &function_begin_B($name,"");
...@@ -352,7 +352,7 @@ sub sha1_block_host ...@@ -352,7 +352,7 @@ sub sha1_block_host
&mov(&swtmp($i+0),$A); &mov(&swtmp($i+0),$A);
&mov(&swtmp($i+1),$B); &mov(&swtmp($i+1),$B);
} }
&jmp(&label("shortcut")); &jmp($sclabel);
&function_end_B($name); &function_end_B($name);
} }
...@@ -529,10 +529,12 @@ sub sha1_block_data ...@@ -529,10 +529,12 @@ sub sha1_block_data
&pop("esi"); &pop("esi");
&ret(); &ret();
# it has to reside within sha1_block_asm_host_order body # keep a note of shortcut label so it can be used outside
# because it calls &jmp(&label("shortcut")); # block.
&sha1_block_host("sha1_block_asm_host_order"); my $sclabel = &label("shortcut");
&function_end_B($name); &function_end_B($name);
# Putting this here avoids problems with MASM in debugging mode
&sha1_block_host("sha1_block_asm_host_order", $sclabel);
} }
Markdown is supported
0% .
You are about to add 0 people to the discussion. Proceed with caution.
先完成此消息的编辑!
想要评论请 注册