summaryrefslogtreecommitdiff
path: root/src/lib/libcrypto/sha/asm/sha1-sparcv9a.pl
diff options
context:
space:
mode:
Diffstat (limited to '')
-rw-r--r--src/lib/libcrypto/sha/asm/sha1-sparcv9a.pl17
1 files changed, 12 insertions, 5 deletions
diff --git a/src/lib/libcrypto/sha/asm/sha1-sparcv9a.pl b/src/lib/libcrypto/sha/asm/sha1-sparcv9a.pl
index e81a4dcb05..8e7674e9d2 100644
--- a/src/lib/libcrypto/sha/asm/sha1-sparcv9a.pl
+++ b/src/lib/libcrypto/sha/asm/sha1-sparcv9a.pl
@@ -396,7 +396,7 @@ ___
396} 396}
397 397
398$code.=<<___; 398$code.=<<___;
399.section ".text",#alloc,#execinstr 399.section ".rodata",#alloc
400 400
401.align 64 401.align 64
402vis_const: 402vis_const:
@@ -409,13 +409,22 @@ vis_const:
409.type vis_const,#object 409.type vis_const,#object
410.size vis_const,(.-vis_const) 410.size vis_const,(.-vis_const)
411 411
412.section ".text",#alloc,#execinstr
412.globl sha1_block_data_order 413.globl sha1_block_data_order
413sha1_block_data_order: 414sha1_block_data_order:
414 save %sp,-$frame,%sp 415 save %sp,-$frame,%sp
415 add %fp,$bias-256,$base 416 add %fp,$bias-256,$base
416 417
4171: call .+8 418#ifdef __PIC__
418 add %o7,vis_const-1b,$tmp0 419 sethi %hi(_GLOBAL_OFFSET_TABLE_-4), %o5
420 rd %pc, %o4
421 or %o5, %lo(_GLOBAL_OFFSET_TABLE_+4), %o5
422 add %o5, %o4, %o5
423 set vis_const, %o4
424 ldx [%o4+%o5], %o4
425#else
426 set vis_const, %o4
427#endif
419 428
420 ldd [$tmp0+0],$VK_00_19 429 ldd [$tmp0+0],$VK_00_19
421 ldd [$tmp0+8],$VK_20_39 430 ldd [$tmp0+8],$VK_20_39
@@ -538,8 +547,6 @@ $code.=<<___;
538 restore 547 restore
539.type sha1_block_data_order,#function 548.type sha1_block_data_order,#function
540.size sha1_block_data_order,(.-sha1_block_data_order) 549.size sha1_block_data_order,(.-sha1_block_data_order)
541.asciz "SHA1 block transform for SPARCv9a, CRYPTOGAMS by <appro\@openssl.org>"
542.align 4
543___ 550___
544 551
545# Purpose of these subroutines is to explicitly encode VIS instructions, 552# Purpose of these subroutines is to explicitly encode VIS instructions,