summaryrefslogtreecommitdiffstats
path: root/crypto/sha
diff options
context:
space:
mode:
authorAndy Polyakov <appro@openssl.org>2007-08-23 12:01:58 +0000
committerAndy Polyakov <appro@openssl.org>2007-08-23 12:01:58 +0000
commit55eab3b74b61eef2fe320710ee3675583035d5c5 (patch)
tree3f768f906f552e74bb56a9d827f11eacee50b1b8 /crypto/sha
parentdc0fcb98dffb20f6ee4cd6a8ee588c9f64373a99 (diff)
Make x86_64 modules work under Win64/x64.
Diffstat (limited to 'crypto/sha')
-rwxr-xr-xcrypto/sha/asm/sha512-x86_64.pl8
1 files changed, 7 insertions, 1 deletions
diff --git a/crypto/sha/asm/sha512-x86_64.pl b/crypto/sha/asm/sha512-x86_64.pl
index 4cf5c623d6..b6252d31ec 100755
--- a/crypto/sha/asm/sha512-x86_64.pl
+++ b/crypto/sha/asm/sha512-x86_64.pl
@@ -41,7 +41,13 @@
# apparently are not atomic instructions, but implemented in microcode.
$output=shift;
-open STDOUT,"| $^X ../perlasm/x86_64-xlate.pl $output";
+
+$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";
if ($output =~ /512/) {
$func="sha512_block_data_order";