diff options
Diffstat (limited to 'src/lib/libcrypto/md5')
| -rwxr-xr-x | src/lib/libcrypto/md5/asm/md5-x86_64.pl | 106 |
1 files changed, 0 insertions, 106 deletions
diff --git a/src/lib/libcrypto/md5/asm/md5-x86_64.pl b/src/lib/libcrypto/md5/asm/md5-x86_64.pl index f11224d172..c902a1b532 100755 --- a/src/lib/libcrypto/md5/asm/md5-x86_64.pl +++ b/src/lib/libcrypto/md5/asm/md5-x86_64.pl | |||
| @@ -112,8 +112,6 @@ my $flavour = shift; | |||
| 112 | my $output = shift; | 112 | my $output = shift; |
| 113 | if ($flavour =~ /\./) { $output = $flavour; undef $flavour; } | 113 | if ($flavour =~ /\./) { $output = $flavour; undef $flavour; } |
| 114 | 114 | ||
| 115 | my $win64=0; $win64=1 if ($flavour =~ /[nm]asm|mingw64/ || $output =~ /\.asm$/); | ||
| 116 | |||
| 117 | $0 =~ m/(.*[\/\\])[^\/\\]+$/; my $dir=$1; my $xlate; | 115 | $0 =~ m/(.*[\/\\])[^\/\\]+$/; my $dir=$1; my $xlate; |
| 118 | ( $xlate="${dir}x86_64-xlate.pl" and -f $xlate ) or | 116 | ( $xlate="${dir}x86_64-xlate.pl" and -f $xlate ) or |
| 119 | ( $xlate="${dir}../../perlasm/x86_64-xlate.pl" and -f $xlate) or | 117 | ( $xlate="${dir}../../perlasm/x86_64-xlate.pl" and -f $xlate) or |
| @@ -261,110 +259,6 @@ $code .= <<EOF; | |||
| 261 | .size md5_block_asm_data_order,.-md5_block_asm_data_order | 259 | .size md5_block_asm_data_order,.-md5_block_asm_data_order |
| 262 | EOF | 260 | EOF |
| 263 | 261 | ||
| 264 | # EXCEPTION_DISPOSITION handler (EXCEPTION_RECORD *rec,ULONG64 frame, | ||
| 265 | # CONTEXT *context,DISPATCHER_CONTEXT *disp) | ||
| 266 | if ($win64) { | ||
| 267 | my $rec="%rcx"; | ||
| 268 | my $frame="%rdx"; | ||
| 269 | my $context="%r8"; | ||
| 270 | my $disp="%r9"; | ||
| 271 | |||
| 272 | $code.=<<___; | ||
| 273 | .extern __imp_RtlVirtualUnwind | ||
| 274 | .type se_handler,\@abi-omnipotent | ||
| 275 | .align 16 | ||
| 276 | se_handler: | ||
| 277 | push %rsi | ||
| 278 | push %rdi | ||
| 279 | push %rbx | ||
| 280 | push %rbp | ||
| 281 | push %r12 | ||
| 282 | push %r13 | ||
| 283 | push %r14 | ||
| 284 | push %r15 | ||
| 285 | pushfq | ||
| 286 | sub \$64,%rsp | ||
| 287 | |||
| 288 | mov 120($context),%rax # pull context->Rax | ||
| 289 | mov 248($context),%rbx # pull context->Rip | ||
| 290 | |||
| 291 | lea .Lprologue(%rip),%r10 | ||
| 292 | cmp %r10,%rbx # context->Rip<.Lprologue | ||
| 293 | jb .Lin_prologue | ||
| 294 | |||
| 295 | mov 152($context),%rax # pull context->Rsp | ||
| 296 | |||
| 297 | lea .Lepilogue(%rip),%r10 | ||
| 298 | cmp %r10,%rbx # context->Rip>=.Lepilogue | ||
| 299 | jae .Lin_prologue | ||
| 300 | |||
| 301 | lea 40(%rax),%rax | ||
| 302 | |||
| 303 | mov -8(%rax),%rbp | ||
| 304 | mov -16(%rax),%rbx | ||
| 305 | mov -24(%rax),%r12 | ||
| 306 | mov -32(%rax),%r14 | ||
| 307 | mov -40(%rax),%r15 | ||
| 308 | mov %rbx,144($context) # restore context->Rbx | ||
| 309 | mov %rbp,160($context) # restore context->Rbp | ||
| 310 | mov %r12,216($context) # restore context->R12 | ||
| 311 | mov %r14,232($context) # restore context->R14 | ||
| 312 | mov %r15,240($context) # restore context->R15 | ||
| 313 | |||
| 314 | .Lin_prologue: | ||
| 315 | mov 8(%rax),%rdi | ||
| 316 | mov 16(%rax),%rsi | ||
| 317 | mov %rax,152($context) # restore context->Rsp | ||
| 318 | mov %rsi,168($context) # restore context->Rsi | ||
| 319 | mov %rdi,176($context) # restore context->Rdi | ||
| 320 | |||
| 321 | mov 40($disp),%rdi # disp->ContextRecord | ||
| 322 | mov $context,%rsi # context | ||
| 323 | mov \$154,%ecx # sizeof(CONTEXT) | ||
| 324 | .long 0xa548f3fc # cld; rep movsq | ||
| 325 | |||
| 326 | mov $disp,%rsi | ||
| 327 | xor %rcx,%rcx # arg1, UNW_FLAG_NHANDLER | ||
| 328 | mov 8(%rsi),%rdx # arg2, disp->ImageBase | ||
| 329 | mov 0(%rsi),%r8 # arg3, disp->ControlPc | ||
| 330 | mov 16(%rsi),%r9 # arg4, disp->FunctionEntry | ||
| 331 | mov 40(%rsi),%r10 # disp->ContextRecord | ||
| 332 | lea 56(%rsi),%r11 # &disp->HandlerData | ||
| 333 | lea 24(%rsi),%r12 # &disp->EstablisherFrame | ||
| 334 | mov %r10,32(%rsp) # arg5 | ||
| 335 | mov %r11,40(%rsp) # arg6 | ||
| 336 | mov %r12,48(%rsp) # arg7 | ||
| 337 | mov %rcx,56(%rsp) # arg8, (NULL) | ||
| 338 | call *__imp_RtlVirtualUnwind(%rip) | ||
| 339 | |||
| 340 | mov \$1,%eax # ExceptionContinueSearch | ||
| 341 | add \$64,%rsp | ||
| 342 | popfq | ||
| 343 | pop %r15 | ||
| 344 | pop %r14 | ||
| 345 | pop %r13 | ||
| 346 | pop %r12 | ||
| 347 | pop %rbp | ||
| 348 | pop %rbx | ||
| 349 | pop %rdi | ||
| 350 | pop %rsi | ||
| 351 | ret | ||
| 352 | .size se_handler,.-se_handler | ||
| 353 | |||
| 354 | .section .pdata | ||
| 355 | .align 4 | ||
| 356 | .rva .LSEH_begin_md5_block_asm_data_order | ||
| 357 | .rva .LSEH_end_md5_block_asm_data_order | ||
| 358 | .rva .LSEH_info_md5_block_asm_data_order | ||
| 359 | |||
| 360 | .section .xdata | ||
| 361 | .align 8 | ||
| 362 | .LSEH_info_md5_block_asm_data_order: | ||
| 363 | .byte 9,0,0,0 | ||
| 364 | .rva se_handler | ||
| 365 | ___ | ||
| 366 | } | ||
| 367 | |||
| 368 | print $code; | 262 | print $code; |
| 369 | 263 | ||
| 370 | close STDOUT; | 264 | close STDOUT; |
