sha[1|512]-x86_64.pl: fix logical errors with $shaext=0.

This commit is contained in:
Andy Polyakov 2014-07-07 17:01:07 +02:00
parent 9d23f422a3
commit 07b635cceb
2 changed files with 11 additions and 1 deletions

View File

@ -1835,7 +1835,9 @@ se_handler:
jmp .Lcommon_seh_tail jmp .Lcommon_seh_tail
.size se_handler,.-se_handler .size se_handler,.-se_handler
___
$code.=<<___ if ($shaext);
.type shaext_handler,\@abi-omnipotent .type shaext_handler,\@abi-omnipotent
.align 16 .align 16
shaext_handler: shaext_handler:
@ -1868,7 +1870,9 @@ shaext_handler:
jmp .Lcommon_seh_tail jmp .Lcommon_seh_tail
.size shaext_handler,.-shaext_handler .size shaext_handler,.-shaext_handler
___
$code.=<<___;
.type ssse3_handler,\@abi-omnipotent .type ssse3_handler,\@abi-omnipotent
.align 16 .align 16
ssse3_handler: ssse3_handler:
@ -1991,9 +1995,13 @@ $code.=<<___;
.LSEH_info_sha1_block_data_order: .LSEH_info_sha1_block_data_order:
.byte 9,0,0,0 .byte 9,0,0,0
.rva se_handler .rva se_handler
___
$code.=<<___ if ($shaext);
.LSEH_info_sha1_block_data_order_shaext: .LSEH_info_sha1_block_data_order_shaext:
.byte 9,0,0,0 .byte 9,0,0,0
.rva shaext_handler .rva shaext_handler
___
$code.=<<___;
.LSEH_info_sha1_block_data_order_ssse3: .LSEH_info_sha1_block_data_order_ssse3:
.byte 9,0,0,0 .byte 9,0,0,0
.rva ssse3_handler .rva ssse3_handler

View File

@ -2339,10 +2339,12 @@ $code.=<<___;
.rva se_handler .rva se_handler
.rva .Lprologue,.Lepilogue # HandlerData[] .rva .Lprologue,.Lepilogue # HandlerData[]
___ ___
$code.=<<___ if ($SZ==4); $code.=<<___ if ($SZ==4 && $shaext);
.LSEH_info_${func}_shaext: .LSEH_info_${func}_shaext:
.byte 9,0,0,0 .byte 9,0,0,0
.rva shaext_handler .rva shaext_handler
___
$code.=<<___ if ($SZ==4);
.LSEH_info_${func}_ssse3: .LSEH_info_${func}_ssse3:
.byte 9,0,0,0 .byte 9,0,0,0
.rva se_handler .rva se_handler