perlasm scripts: work better if the command interpreter is cmd.exe.
This is done by using newer `perldoc -f open` syntax that provides an
argv list, not a single command string. On Windows this will be
converted into a command string by Perl with proper escaping; on other
systems it'll go directly into argv of the called process.
Also helps on *x in case directory names or similar are evil and contain
quotes (ugh).
Fixes
Can't open perl script "cryptocipherasm../../perlasm/arm-xlate.pl": No such file or directory
when run on Windows from cmd.exe, which stems from backslashes being
interpreted as escapes, not path separators, somewhere along the way.
Bug: 42220000
Change-Id: Ia989572f27bd9e65f05a77fea419b6fc6a6a6964
Reviewed-on: https://boringssl-review.googlesource.com/c/boringssl/+/87207
Reviewed-by: Adam Langley <agl@google.com>
Commit-Queue: Adam Langley <agl@google.com>
Auto-Submit: Rudolf Polzer <rpolzer@google.com>
diff --git a/crypto/chacha/asm/chacha-armv4.pl b/crypto/chacha/asm/chacha-armv4.pl
index 700da12..ea36c74 100755
--- a/crypto/chacha/asm/chacha-armv4.pl
+++ b/crypto/chacha/asm/chacha-armv4.pl
@@ -49,7 +49,7 @@
( $xlate="${dir}../../perlasm/arm-xlate.pl" and -f $xlate) or
die "can't locate arm-xlate.pl";
- open OUT,"| \"$^X\" \"$xlate\" $flavour \"$output\"";
+ open OUT, "|-", $^X, $xlate, $flavour, $output;
*STDOUT=*OUT;
} else {
open OUT,">$output";
diff --git a/crypto/chacha/asm/chacha-armv8.pl b/crypto/chacha/asm/chacha-armv8.pl
index 8f2fe30..e165828 100755
--- a/crypto/chacha/asm/chacha-armv8.pl
+++ b/crypto/chacha/asm/chacha-armv8.pl
@@ -48,7 +48,7 @@
( $xlate="${dir}../../perlasm/arm-xlate.pl" and -f $xlate) or
die "can't locate arm-xlate.pl";
-open OUT,"| \"$^X\" \"$xlate\" $flavour \"$output\"";
+open OUT, "|-", $^X, $xlate, $flavour, $output;
*STDOUT=*OUT;
sub AUTOLOAD() # thunk [simplified] x86-style perlasm
diff --git a/crypto/chacha/asm/chacha-x86_64.pl b/crypto/chacha/asm/chacha-x86_64.pl
index c34ed9a..8c07d8e 100755
--- a/crypto/chacha/asm/chacha-x86_64.pl
+++ b/crypto/chacha/asm/chacha-x86_64.pl
@@ -72,7 +72,7 @@
$avx = 2;
-open OUT,"| \"$^X\" \"$xlate\" $flavour \"$output\"";
+open OUT, "|-", $^X, $xlate, $flavour, $output;
*STDOUT=*OUT;
# input parameter block
diff --git a/crypto/cipher/asm/aes128gcmsiv-x86_64.pl b/crypto/cipher/asm/aes128gcmsiv-x86_64.pl
index 09da04f..a759d4e 100644
--- a/crypto/cipher/asm/aes128gcmsiv-x86_64.pl
+++ b/crypto/cipher/asm/aes128gcmsiv-x86_64.pl
@@ -28,7 +28,7 @@
( $xlate="${dir}../../perlasm/x86_64-xlate.pl" and -f $xlate) or
die "can't locate x86_64-xlate.pl";
-open OUT,"| \"$^X\" \"$xlate\" $flavour \"$output\"";
+open OUT, "|-", $^X, $xlate, $flavour, $output;
*STDOUT=*OUT;
$code.=<<___;
diff --git a/crypto/cipher/asm/chacha20_poly1305_armv8.pl b/crypto/cipher/asm/chacha20_poly1305_armv8.pl
index a4921e2..f194157 100644
--- a/crypto/cipher/asm/chacha20_poly1305_armv8.pl
+++ b/crypto/cipher/asm/chacha20_poly1305_armv8.pl
@@ -28,7 +28,7 @@
( $xlate="${dir}../../perlasm/arm-xlate.pl" and -f $xlate) or
die "can't locate arm-xlate.pl";
-open OUT,"| \"$^X\" $xlate $flavour $output";
+open OUT, "|-", $^X, $xlate, $flavour, $output;
*STDOUT=*OUT;
my ($oup,$inp,$inl,$adp,$adl,$keyp,$itr1,$itr2) = ("x0","x1","x2","x3","x4","x5","x6","x7");
diff --git a/crypto/cipher/asm/chacha20_poly1305_x86_64.pl b/crypto/cipher/asm/chacha20_poly1305_x86_64.pl
index 1abc178..bca0eb7 100644
--- a/crypto/cipher/asm/chacha20_poly1305_x86_64.pl
+++ b/crypto/cipher/asm/chacha20_poly1305_x86_64.pl
@@ -31,7 +31,7 @@
( $xlate="${dir}../../perlasm/x86_64-xlate.pl" and -f $xlate) or
die "can't locate x86_64-xlate.pl";
-open OUT,"| \"$^X\" \"$xlate\" $flavour \"$output\"";
+open OUT, "|-", $^X, $xlate, $flavour, $output;
*STDOUT=*OUT;
$avx = 2;
diff --git a/crypto/fipsmodule/aes/asm/aes-gcm-avx2-x86_64.pl b/crypto/fipsmodule/aes/asm/aes-gcm-avx2-x86_64.pl
index 23ec5da..db24730 100644
--- a/crypto/fipsmodule/aes/asm/aes-gcm-avx2-x86_64.pl
+++ b/crypto/fipsmodule/aes/asm/aes-gcm-avx2-x86_64.pl
@@ -58,7 +58,7 @@
or ( $xlate = "${dir}../../../perlasm/x86_64-xlate.pl" and -f $xlate )
or die "can't locate x86_64-xlate.pl";
-open OUT, "| \"$^X\" \"$xlate\" $flavour \"$output\"";
+open OUT, "|-", $^X, $xlate, $flavour, $output;
*STDOUT = *OUT;
my $g_cur_func_name;
diff --git a/crypto/fipsmodule/aes/asm/aes-gcm-avx512-x86_64.pl b/crypto/fipsmodule/aes/asm/aes-gcm-avx512-x86_64.pl
index 36b79c3..ba3f33a 100644
--- a/crypto/fipsmodule/aes/asm/aes-gcm-avx512-x86_64.pl
+++ b/crypto/fipsmodule/aes/asm/aes-gcm-avx512-x86_64.pl
@@ -65,7 +65,7 @@
or ( $xlate = "${dir}../../../perlasm/x86_64-xlate.pl" and -f $xlate )
or die "can't locate x86_64-xlate.pl";
-open OUT, "| \"$^X\" \"$xlate\" $flavour \"$output\"";
+open OUT, "|-", $^X, $xlate, $flavour, $output;
*STDOUT = *OUT;
my $g_cur_func_name;
diff --git a/crypto/fipsmodule/aes/asm/aesni-gcm-x86_64.pl b/crypto/fipsmodule/aes/asm/aesni-gcm-x86_64.pl
index 4ee045e..20222c5 100644
--- a/crypto/fipsmodule/aes/asm/aesni-gcm-x86_64.pl
+++ b/crypto/fipsmodule/aes/asm/aesni-gcm-x86_64.pl
@@ -69,7 +69,7 @@
# https://marc.info/?l=openssl-dev&m=146567589526984&w=2.
$avx = 2;
-open OUT,"| \"$^X\" \"$xlate\" $flavour \"$output\"";
+open OUT, "|-", $^X, $xlate, $flavour, $output;
*STDOUT=*OUT;
# See the comment above regarding why the condition is ($avx>1) when there are
diff --git a/crypto/fipsmodule/aes/asm/aesni-x86_64.pl b/crypto/fipsmodule/aes/asm/aesni-x86_64.pl
index 85632e9..fad29c7 100644
--- a/crypto/fipsmodule/aes/asm/aesni-x86_64.pl
+++ b/crypto/fipsmodule/aes/asm/aesni-x86_64.pl
@@ -208,7 +208,7 @@
( $xlate="${dir}../../../perlasm/x86_64-xlate.pl" and -f $xlate) or
die "can't locate x86_64-xlate.pl";
-open OUT,"| \"$^X\" \"$xlate\" $flavour \"$output\"";
+open OUT, "|-", $^X, $xlate, $flavour, $output;
*STDOUT=*OUT;
$movkey = $PREFIX eq "aes_hw" ? "movups" : "movups";
diff --git a/crypto/fipsmodule/aes/asm/aesv8-armx.pl b/crypto/fipsmodule/aes/asm/aesv8-armx.pl
index 337aaea..3d92671 100644
--- a/crypto/fipsmodule/aes/asm/aesv8-armx.pl
+++ b/crypto/fipsmodule/aes/asm/aesv8-armx.pl
@@ -52,7 +52,7 @@
( $xlate="${dir}../../../perlasm/arm-xlate.pl" and -f $xlate) or
die "can't locate arm-xlate.pl";
-open OUT,"| \"$^X\" \"$xlate\" $flavour \"$output\"";
+open OUT, "|-", $^X, $xlate, $flavour, $output;
*STDOUT=*OUT;
$prefix="aes_hw";
diff --git a/crypto/fipsmodule/aes/asm/aesv8-gcm-armv8.pl b/crypto/fipsmodule/aes/asm/aesv8-gcm-armv8.pl
index 4f862a9..d2b587b 100644
--- a/crypto/fipsmodule/aes/asm/aesv8-gcm-armv8.pl
+++ b/crypto/fipsmodule/aes/asm/aesv8-gcm-armv8.pl
@@ -191,7 +191,7 @@
( $xlate="${dir}../../../perlasm/arm-xlate.pl" and -f $xlate) or
die "can't locate arm-xlate.pl";
-open OUT,"| \"$^X\" $xlate $flavour $output";
+open OUT, "|-", $^X, $xlate, $flavour, $output;
*STDOUT=*OUT;
$code=<<___;
diff --git a/crypto/fipsmodule/aes/asm/bsaes-armv7.pl b/crypto/fipsmodule/aes/asm/bsaes-armv7.pl
index 53da1eb..249c485 100644
--- a/crypto/fipsmodule/aes/asm/bsaes-armv7.pl
+++ b/crypto/fipsmodule/aes/asm/bsaes-armv7.pl
@@ -65,7 +65,7 @@
( $xlate="${dir}../../../perlasm/arm-xlate.pl" and -f $xlate) or
die "can't locate arm-xlate.pl";
- open OUT,"| \"$^X\" \"$xlate\" $flavour \"$output\"";
+ open OUT, "|-", $^X, $xlate, $flavour, $output;
*STDOUT=*OUT;
} else {
open OUT,">$output";
diff --git a/crypto/fipsmodule/aes/asm/ghash-armv4.pl b/crypto/fipsmodule/aes/asm/ghash-armv4.pl
index c16ed37..812f666 100644
--- a/crypto/fipsmodule/aes/asm/ghash-armv4.pl
+++ b/crypto/fipsmodule/aes/asm/ghash-armv4.pl
@@ -96,7 +96,7 @@
( $xlate="${dir}../../../perlasm/arm-xlate.pl" and -f $xlate) or
die "can't locate arm-xlate.pl";
- open OUT,"| \"$^X\" \"$xlate\" $flavour \"$output\"";
+ open OUT, "|-", $^X, $xlate, $flavour, $output;
*STDOUT=*OUT;
} else {
open OUT,">$output";
diff --git a/crypto/fipsmodule/aes/asm/ghash-neon-armv8.pl b/crypto/fipsmodule/aes/asm/ghash-neon-armv8.pl
index b4ae1db..e3e9ff4 100644
--- a/crypto/fipsmodule/aes/asm/ghash-neon-armv8.pl
+++ b/crypto/fipsmodule/aes/asm/ghash-neon-armv8.pl
@@ -67,7 +67,7 @@
( $xlate="${dir}../../../perlasm/arm-xlate.pl" and -f $xlate) or
die "can't locate arm-xlate.pl";
- open OUT,"| \"$^X\" \"$xlate\" $flavour \"$output\"";
+ open OUT, "|-", $^X, $xlate, $flavour, $output;
*STDOUT=*OUT;
} else {
open OUT,">$output";
diff --git a/crypto/fipsmodule/aes/asm/ghash-ssse3-x86_64.pl b/crypto/fipsmodule/aes/asm/ghash-ssse3-x86_64.pl
index 4d478e7..4192576 100644
--- a/crypto/fipsmodule/aes/asm/ghash-ssse3-x86_64.pl
+++ b/crypto/fipsmodule/aes/asm/ghash-ssse3-x86_64.pl
@@ -84,7 +84,7 @@
( $xlate="${dir}../../../perlasm/x86_64-xlate.pl" and -f $xlate) or
die "can't locate x86_64-xlate.pl";
-open OUT, "| \"$^X\" \"$xlate\" $flavour \"$output\"";
+open OUT, "|-", $^X, $xlate, $flavour, $output;
*STDOUT = *OUT;
my ($Xi, $Htable, $in, $len) = $win64 ? ("%rcx", "%rdx", "%r8", "%r9") :
diff --git a/crypto/fipsmodule/aes/asm/ghash-x86_64.pl b/crypto/fipsmodule/aes/asm/ghash-x86_64.pl
index 2e8ce74..77958c6 100644
--- a/crypto/fipsmodule/aes/asm/ghash-x86_64.pl
+++ b/crypto/fipsmodule/aes/asm/ghash-x86_64.pl
@@ -117,7 +117,7 @@
# output, so this isn't useful anyway.
$avx = 1;
-open OUT,"| \"$^X\" \"$xlate\" $flavour \"$output\"";
+open OUT, "|-", $^X, $xlate, $flavour, $output;
*STDOUT=*OUT;
$do4xaggr=1;
diff --git a/crypto/fipsmodule/aes/asm/ghashv8-armx.pl b/crypto/fipsmodule/aes/asm/ghashv8-armx.pl
index d1355e0..d68435e 100644
--- a/crypto/fipsmodule/aes/asm/ghashv8-armx.pl
+++ b/crypto/fipsmodule/aes/asm/ghashv8-armx.pl
@@ -58,7 +58,7 @@
( $xlate="${dir}../../../perlasm/arm-xlate.pl" and -f $xlate) or
die "can't locate arm-xlate.pl";
-open OUT,"| \"$^X\" \"$xlate\" $flavour \"$output\"";
+open OUT, "|-", $^X, $xlate, $flavour, $output;
*STDOUT=*OUT;
$Xi="x0"; # argument block
diff --git a/crypto/fipsmodule/aes/asm/vpaes-armv7.pl b/crypto/fipsmodule/aes/asm/vpaes-armv7.pl
index bd291f9..13385be 100644
--- a/crypto/fipsmodule/aes/asm/vpaes-armv7.pl
+++ b/crypto/fipsmodule/aes/asm/vpaes-armv7.pl
@@ -116,7 +116,7 @@
( $xlate="${dir}../../../perlasm/arm-xlate.pl" and -f $xlate) or
die "can't locate arm-xlate.pl";
-open OUT,"| \"$^X\" \"$xlate\" $flavour \"$output\"";
+open OUT, "|-", $^X, $xlate, $flavour, $output;
*STDOUT=*OUT;
my $code = "";
diff --git a/crypto/fipsmodule/aes/asm/vpaes-armv8.pl b/crypto/fipsmodule/aes/asm/vpaes-armv8.pl
index 04ada10..5ab3763 100755
--- a/crypto/fipsmodule/aes/asm/vpaes-armv8.pl
+++ b/crypto/fipsmodule/aes/asm/vpaes-armv8.pl
@@ -52,7 +52,7 @@
( $xlate="${dir}../../../perlasm/arm-xlate.pl" and -f $xlate) or
die "can't locate arm-xlate.pl";
-open OUT,"| \"$^X\" \"$xlate\" $flavour \"$output\"";
+open OUT, "|-", $^X, $xlate, $flavour, $output;
*STDOUT=*OUT;
$code.=<<___;
diff --git a/crypto/fipsmodule/aes/asm/vpaes-x86_64.pl b/crypto/fipsmodule/aes/asm/vpaes-x86_64.pl
index b386ec9..33f9f79 100644
--- a/crypto/fipsmodule/aes/asm/vpaes-x86_64.pl
+++ b/crypto/fipsmodule/aes/asm/vpaes-x86_64.pl
@@ -72,7 +72,7 @@
( $xlate="${dir}../../../perlasm/x86_64-xlate.pl" and -f $xlate) or
die "can't locate x86_64-xlate.pl";
-open OUT,"| \"$^X\" \"$xlate\" $flavour \"$output\"";
+open OUT, "|-", $^X, $xlate, $flavour, $output;
*STDOUT=*OUT;
$PREFIX="vpaes";
diff --git a/crypto/fipsmodule/bn/asm/armv4-mont.pl b/crypto/fipsmodule/bn/asm/armv4-mont.pl
index d3c867d..abcb095 100644
--- a/crypto/fipsmodule/bn/asm/armv4-mont.pl
+++ b/crypto/fipsmodule/bn/asm/armv4-mont.pl
@@ -69,7 +69,7 @@
( $xlate="${dir}../../../perlasm/arm-xlate.pl" and -f $xlate) or
die "can't locate arm-xlate.pl";
- open OUT,"| \"$^X\" \"$xlate\" $flavour \"$output\"";
+ open OUT, "|-", $^X, $xlate, $flavour, $output;
*STDOUT=*OUT;
} else {
open OUT,">$output";
diff --git a/crypto/fipsmodule/bn/asm/armv8-mont.pl b/crypto/fipsmodule/bn/asm/armv8-mont.pl
index 44ad302..8e79da5 100644
--- a/crypto/fipsmodule/bn/asm/armv8-mont.pl
+++ b/crypto/fipsmodule/bn/asm/armv8-mont.pl
@@ -53,7 +53,7 @@
( $xlate="${dir}../../../perlasm/arm-xlate.pl" and -f $xlate) or
die "can't locate arm-xlate.pl";
-open OUT,"| \"$^X\" \"$xlate\" $flavour \"$output\"";
+open OUT, "|-", $^X, $xlate, $flavour, $output;
*STDOUT=*OUT;
($lo0,$hi0,$aj,$m0,$alo,$ahi,
diff --git a/crypto/fipsmodule/bn/asm/bn-armv8.pl b/crypto/fipsmodule/bn/asm/bn-armv8.pl
index 49379ea..031566e 100755
--- a/crypto/fipsmodule/bn/asm/bn-armv8.pl
+++ b/crypto/fipsmodule/bn/asm/bn-armv8.pl
@@ -26,7 +26,7 @@
( $xlate="${dir}../../../perlasm/arm-xlate.pl" and -f $xlate) or
die "can't locate arm-xlate.pl";
-open OUT, "| \"$^X\" \"$xlate\" $flavour \"$output\"";
+open OUT, "|-", $^X, $xlate, $flavour, $output;
*STDOUT = *OUT;
my ($rp, $ap, $bp, $num) = ("x0", "x1", "x2", "x3");
diff --git a/crypto/fipsmodule/bn/asm/rsaz-avx2.pl b/crypto/fipsmodule/bn/asm/rsaz-avx2.pl
index da4aef3..02f3776 100755
--- a/crypto/fipsmodule/bn/asm/rsaz-avx2.pl
+++ b/crypto/fipsmodule/bn/asm/rsaz-avx2.pl
@@ -60,7 +60,7 @@
# output, so this isn't useful anyway.
$avx = 2;
-open OUT,"| \"$^X\" \"$xlate\" $flavour \"$output\"";
+open OUT, "|-", $^X, $xlate, $flavour, $output;
*STDOUT = *OUT;
if ($avx>1) {{{
diff --git a/crypto/fipsmodule/bn/asm/x86_64-mont.pl b/crypto/fipsmodule/bn/asm/x86_64-mont.pl
index c1d4028..a3e50a0 100755
--- a/crypto/fipsmodule/bn/asm/x86_64-mont.pl
+++ b/crypto/fipsmodule/bn/asm/x86_64-mont.pl
@@ -62,7 +62,7 @@
( $xlate="${dir}../../../perlasm/x86_64-xlate.pl" and -f $xlate) or
die "can't locate x86_64-xlate.pl";
-open OUT,"| \"$^X\" \"$xlate\" $flavour \"$output\"";
+open OUT, "|-", $^X, $xlate, $flavour, $output;
*STDOUT=*OUT;
# In upstream, this is controlled by shelling out to the compiler to check
diff --git a/crypto/fipsmodule/bn/asm/x86_64-mont5.pl b/crypto/fipsmodule/bn/asm/x86_64-mont5.pl
index 43b9400..29b48cb 100755
--- a/crypto/fipsmodule/bn/asm/x86_64-mont5.pl
+++ b/crypto/fipsmodule/bn/asm/x86_64-mont5.pl
@@ -47,7 +47,7 @@
( $xlate="${dir}../../../perlasm/x86_64-xlate.pl" and -f $xlate) or
die "can't locate x86_64-xlate.pl";
-open OUT,"| \"$^X\" \"$xlate\" $flavour \"$output\"";
+open OUT, "|-", $^X, $xlate, $flavour, $output;
*STDOUT=*OUT;
# In upstream, this is controlled by shelling out to the compiler to check
diff --git a/crypto/fipsmodule/ec/asm/p256-armv8-asm.pl b/crypto/fipsmodule/ec/asm/p256-armv8-asm.pl
index a15d7e1..f844cbf 100644
--- a/crypto/fipsmodule/ec/asm/p256-armv8-asm.pl
+++ b/crypto/fipsmodule/ec/asm/p256-armv8-asm.pl
@@ -48,7 +48,7 @@
( $xlate="${dir}../../../perlasm/arm-xlate.pl" and -f $xlate) or
die "can't locate arm-xlate.pl";
-open OUT,"| \"$^X\" $xlate $flavour $output";
+open OUT, "|-", $^X, $xlate, $flavour, $output;
*STDOUT=*OUT;
{
diff --git a/crypto/fipsmodule/ec/asm/p256-x86_64-asm.pl b/crypto/fipsmodule/ec/asm/p256-x86_64-asm.pl
index cc878d5..08a6a93 100755
--- a/crypto/fipsmodule/ec/asm/p256-x86_64-asm.pl
+++ b/crypto/fipsmodule/ec/asm/p256-x86_64-asm.pl
@@ -58,7 +58,7 @@
( $xlate="${dir}../../../perlasm/x86_64-xlate.pl" and -f $xlate) or
die "can't locate x86_64-xlate.pl";
-open OUT,"| \"$^X\" \"$xlate\" $flavour \"$output\"";
+open OUT, "|-", $^X, $xlate, $flavour, $output;
*STDOUT=*OUT;
$avx = 2;
diff --git a/crypto/fipsmodule/ec/asm/p256_beeu-armv8-asm.pl b/crypto/fipsmodule/ec/asm/p256_beeu-armv8-asm.pl
index c104b4f..e215969 100644
--- a/crypto/fipsmodule/ec/asm/p256_beeu-armv8-asm.pl
+++ b/crypto/fipsmodule/ec/asm/p256_beeu-armv8-asm.pl
@@ -28,7 +28,7 @@
( $xlate="${dir}../../../perlasm/arm-xlate.pl" and -f $xlate) or
die "can't locate arm-xlate.pl";
-open OUT,"| \"$^X\" $xlate $flavour $output";
+open OUT, "|-", $^X, $xlate, $flavour, $output;
*STDOUT=*OUT;
#############################################################################
# extern int beeu_mod_inverse_vartime(BN_ULONG out[P256_LIMBS],
diff --git a/crypto/fipsmodule/ec/asm/p256_beeu-x86_64-asm.pl b/crypto/fipsmodule/ec/asm/p256_beeu-x86_64-asm.pl
index fb6a7ea..e8f16e5 100644
--- a/crypto/fipsmodule/ec/asm/p256_beeu-x86_64-asm.pl
+++ b/crypto/fipsmodule/ec/asm/p256_beeu-x86_64-asm.pl
@@ -28,7 +28,7 @@
( $xlate="${dir}../../../perlasm/x86_64-xlate.pl" and -f $xlate) or
die "can't locate x86_64-xlate.pl";
-open OUT,"| \"$^X\" \"$xlate\" $flavour \"$output\"";
+open OUT, "|-", $^X, $xlate, $flavour, $output;
*STDOUT=*OUT;
#############################################################################
diff --git a/crypto/fipsmodule/rand/asm/rdrand-x86_64.pl b/crypto/fipsmodule/rand/asm/rdrand-x86_64.pl
index be16c76..a9dde2a 100644
--- a/crypto/fipsmodule/rand/asm/rdrand-x86_64.pl
+++ b/crypto/fipsmodule/rand/asm/rdrand-x86_64.pl
@@ -29,7 +29,7 @@
( $xlate="${dir}../../../perlasm/x86_64-xlate.pl" and -f $xlate) or
die "can't locate x86_64-xlate.pl";
-open OUT,"| \"$^X\" \"$xlate\" $flavour \"$output\"";
+open OUT, "|-", $^X, $xlate, $flavour, $output;
*STDOUT=*OUT;
my ($out, $len, $tmp1, $tmp2) = $win64 ? ("%rcx", "%rdx", "%r8", "%r9")
diff --git a/crypto/fipsmodule/sha/asm/sha1-armv4-large.pl b/crypto/fipsmodule/sha/asm/sha1-armv4-large.pl
index 576d565..d260f4a 100644
--- a/crypto/fipsmodule/sha/asm/sha1-armv4-large.pl
+++ b/crypto/fipsmodule/sha/asm/sha1-armv4-large.pl
@@ -90,7 +90,7 @@
( $xlate="${dir}../../../perlasm/arm-xlate.pl" and -f $xlate) or
die "can't locate arm-xlate.pl";
- open OUT,"| \"$^X\" \"$xlate\" $flavour \"$output\"";
+ open OUT, "|-", $^X, $xlate, $flavour, $output;
*STDOUT=*OUT;
} else {
open OUT,">$output";
diff --git a/crypto/fipsmodule/sha/asm/sha1-armv8.pl b/crypto/fipsmodule/sha/asm/sha1-armv8.pl
index b81d5b4..a47a026 100644
--- a/crypto/fipsmodule/sha/asm/sha1-armv8.pl
+++ b/crypto/fipsmodule/sha/asm/sha1-armv8.pl
@@ -45,7 +45,7 @@
( $xlate="${dir}../../../perlasm/arm-xlate.pl" and -f $xlate) or
die "can't locate arm-xlate.pl";
-open OUT,"| \"$^X\" \"$xlate\" $flavour \"$output\"";
+open OUT, "|-", $^X, $xlate, $flavour, $output;
*STDOUT=*OUT;
($ctx,$inp,$num)=("x0","x1","x2");
diff --git a/crypto/fipsmodule/sha/asm/sha1-x86_64.pl b/crypto/fipsmodule/sha/asm/sha1-x86_64.pl
index 30f1238..d60b99f 100755
--- a/crypto/fipsmodule/sha/asm/sha1-x86_64.pl
+++ b/crypto/fipsmodule/sha/asm/sha1-x86_64.pl
@@ -115,7 +115,7 @@
$avx = 2;
$shaext=1; ### set to zero if compiling for 1.0.1
-open OUT,"| \"$^X\" \"$xlate\" $flavour \"$output\"";
+open OUT, "|-", $^X, $xlate, $flavour, $output;
*STDOUT=*OUT;
$ctx="%rdi"; # 1st arg
diff --git a/crypto/fipsmodule/sha/asm/sha256-armv4.pl b/crypto/fipsmodule/sha/asm/sha256-armv4.pl
index ab1e511..e908b3a 100644
--- a/crypto/fipsmodule/sha/asm/sha256-armv4.pl
+++ b/crypto/fipsmodule/sha/asm/sha256-armv4.pl
@@ -57,7 +57,7 @@
( $xlate="${dir}../../../perlasm/arm-xlate.pl" and -f $xlate) or
die "can't locate arm-xlate.pl";
- open OUT,"| \"$^X\" \"$xlate\" $flavour \"$output\"";
+ open OUT, "|-", $^X, $xlate, $flavour, $output;
*STDOUT=*OUT;
} else {
open OUT,">$output";
diff --git a/crypto/fipsmodule/sha/asm/sha512-armv4.pl b/crypto/fipsmodule/sha/asm/sha512-armv4.pl
index b1fa016..348635e 100644
--- a/crypto/fipsmodule/sha/asm/sha512-armv4.pl
+++ b/crypto/fipsmodule/sha/asm/sha512-armv4.pl
@@ -70,7 +70,7 @@
( $xlate="${dir}../../../perlasm/arm-xlate.pl" and -f $xlate) or
die "can't locate arm-xlate.pl";
- open OUT,"| \"$^X\" \"$xlate\" $flavour \"$output\"";
+ open OUT, "|-", $^X, $xlate, $flavour, $output;
*STDOUT=*OUT;
} else {
open OUT,">$output";
diff --git a/crypto/fipsmodule/sha/asm/sha512-armv8.pl b/crypto/fipsmodule/sha/asm/sha512-armv8.pl
index 0754cb8..79ca630 100644
--- a/crypto/fipsmodule/sha/asm/sha512-armv8.pl
+++ b/crypto/fipsmodule/sha/asm/sha512-armv8.pl
@@ -72,7 +72,7 @@
( $xlate="${dir}../../../perlasm/arm-xlate.pl" and -f $xlate) or
die "can't locate arm-xlate.pl";
- open OUT,"| \"$^X\" \"$xlate\" $flavour \"$output\"";
+ open OUT, "|-", $^X, $xlate, $flavour, $output;
*STDOUT=*OUT;
} else {
open OUT,">$output";
diff --git a/crypto/fipsmodule/sha/asm/sha512-x86_64.pl b/crypto/fipsmodule/sha/asm/sha512-x86_64.pl
index 6768bf3..b64789a 100755
--- a/crypto/fipsmodule/sha/asm/sha512-x86_64.pl
+++ b/crypto/fipsmodule/sha/asm/sha512-x86_64.pl
@@ -166,7 +166,7 @@
$avx = 1;
$shaext = 1;
-open OUT,"| \"$^X\" \"$xlate\" $flavour \"$output\"";
+open OUT, "|-", $^X, $xlate, $flavour, $output;
*STDOUT=*OUT;
$ctx="%rdi"; # 1st arg, zapped by $a3
diff --git a/crypto/md5/asm/md5-x86_64.pl b/crypto/md5/asm/md5-x86_64.pl
index 3e5b27a..69142e0 100644
--- a/crypto/md5/asm/md5-x86_64.pl
+++ b/crypto/md5/asm/md5-x86_64.pl
@@ -129,7 +129,7 @@
( $xlate="${dir}../../perlasm/x86_64-xlate.pl" and -f $xlate) or
die "can't locate x86_64-xlate.pl";
-open OUT,"| \"$^X\" \"$xlate\" $flavour \"$output\"";
+open OUT, "|-", $^X, $xlate, $flavour, $output;
*STDOUT=*OUT;
$code .= <<EOF;
diff --git a/crypto/test/asm/trampoline-armv4.pl b/crypto/test/asm/trampoline-armv4.pl
index 9097a41..2209fba 100755
--- a/crypto/test/asm/trampoline-armv4.pl
+++ b/crypto/test/asm/trampoline-armv4.pl
@@ -42,7 +42,7 @@
( $xlate="${dir}../../perlasm/arm-xlate.pl" and -f $xlate) or
die "can't locate arm-xlate.pl";
-open OUT, "| \"$^X\" \"$xlate\" $flavour \"$output\"";
+open OUT, "|-", $^X, $xlate, $flavour, $output;
*STDOUT = *OUT;
my ($func, $state, $argv, $argc) = ("r0", "r1", "r2", "r3");
diff --git a/crypto/test/asm/trampoline-armv8.pl b/crypto/test/asm/trampoline-armv8.pl
index 5ad3d04..642be4a 100755
--- a/crypto/test/asm/trampoline-armv8.pl
+++ b/crypto/test/asm/trampoline-armv8.pl
@@ -40,7 +40,7 @@
( $xlate="${dir}../../perlasm/arm-xlate.pl" and -f $xlate) or
die "can't locate arm-xlate.pl";
-open OUT, "| \"$^X\" \"$xlate\" $flavour \"$output\"";
+open OUT, "|-", $^X, $xlate, $flavour, $output;
*STDOUT = *OUT;
my ($func, $state, $argv, $argc) = ("x0", "x1", "x2", "x3");
diff --git a/crypto/test/asm/trampoline-x86_64.pl b/crypto/test/asm/trampoline-x86_64.pl
index 784929b..21b9147 100755
--- a/crypto/test/asm/trampoline-x86_64.pl
+++ b/crypto/test/asm/trampoline-x86_64.pl
@@ -43,7 +43,7 @@
( $xlate="${dir}../../perlasm/x86_64-xlate.pl" and -f $xlate) or
die "can't locate x86_64-xlate.pl";
-open OUT, "| \"$^X\" \"$xlate\" $flavour \"$output\"";
+open OUT, "|-", $^X, $xlate, $flavour, $output;
*STDOUT = *OUT;
# @inp is the registers used for function inputs, in order.