summaryrefslogtreecommitdiffstats
path: root/crypto/sha
diff options
context:
space:
mode:
authorAndy Polyakov <appro@openssl.org>2008-11-12 08:15:52 +0000
committerAndy Polyakov <appro@openssl.org>2008-11-12 08:15:52 +0000
commitaa8f38e49b2430a1939d7e9a8d2ecaa77edbb1a9 (patch)
tree46a196ea0c26f62de5890e05f25888ae3b54dede /crypto/sha
parent852537726574b0b568a3bd8d12e5c797c5e56c63 (diff)
x86_64 assembler pack to comply with updated styling x86_64-xlate.pl rules.
Diffstat (limited to 'crypto/sha')
-rwxr-xr-xcrypto/sha/asm/sha512-x86_64.pl9
1 files changed, 5 insertions, 4 deletions
diff --git a/crypto/sha/asm/sha512-x86_64.pl b/crypto/sha/asm/sha512-x86_64.pl
index b6252d31ec..10fd2abb65 100755
--- a/crypto/sha/asm/sha512-x86_64.pl
+++ b/crypto/sha/asm/sha512-x86_64.pl
@@ -40,14 +40,16 @@
# sha256_block:-( This is presumably because 64-bit shifts/rotates
# apparently are not atomic instructions, but implemented in microcode.
-$output=shift;
+$flavour = shift;
+$output = shift;
+if ($flavour =~ /\./) { $output = $flavour; undef $flavour; }
$0 =~ m/(.*[\/\\])[^\/\\]+$/; $dir=$1;
( $xlate="${dir}x86_64-xlate.pl" and -f $xlate ) or
( $xlate="${dir}../../perlasm/x86_64-xlate.pl" and -f $xlate) or
die "can't locate x86_64-xlate.pl";
-open STDOUT,"| $^X $xlate $output";
+open STDOUT,"| $^X $xlate $flavour $output";
if ($output =~ /512/) {
$func="sha512_block_data_order";
@@ -196,8 +198,7 @@ $func:
mov %rdx,$_end # save end pointer, "3rd" arg
mov %rbp,$_rsp # save copy of %rsp
- .picmeup $Tbl
- lea $TABLE-.($Tbl),$Tbl
+ lea $TABLE(%rip),$Tbl
mov $SZ*0($ctx),$A
mov $SZ*1($ctx),$B