Do not silently truncate files on perlasm errors
authorDavid Benjamin <davidben@google.com>
Fri, 17 Jan 2020 21:53:56 +0000 (16:53 -0500)
committerTomas Mraz <tmraz@fedoraproject.org>
Wed, 22 Jan 2020 17:11:30 +0000 (18:11 +0100)
If one of the perlasm xlate drivers crashes, OpenSSL's build will
currently swallow the error and silently truncate the output to however
far the driver got. This will hopefully fail to build, but better to
check such things.

Handle this by checking for errors when closing STDOUT (which is a pipe
to the xlate driver).

Reviewed-by: Richard Levitte <levitte@openssl.org>
Reviewed-by: Tim Hudson <tjh@openssl.org>
Reviewed-by: Tomas Mraz <tmraz@fedoraproject.org>
(Merged from https://github.com/openssl/openssl/pull/10883)

162 files changed:
crypto/aes/asm/aes-586.pl
crypto/aes/asm/aes-armv4.pl
crypto/aes/asm/aes-c64xplus.pl
crypto/aes/asm/aes-mips.pl
crypto/aes/asm/aes-parisc.pl
crypto/aes/asm/aes-ppc.pl
crypto/aes/asm/aes-s390x.pl
crypto/aes/asm/aes-sparcv9.pl
crypto/aes/asm/aes-x86_64.pl
crypto/aes/asm/aesfx-sparcv9.pl
crypto/aes/asm/aesni-mb-x86_64.pl
crypto/aes/asm/aesni-sha1-x86_64.pl
crypto/aes/asm/aesni-sha256-x86_64.pl
crypto/aes/asm/aesni-x86.pl
crypto/aes/asm/aesni-x86_64.pl
crypto/aes/asm/aesp8-ppc.pl
crypto/aes/asm/aest4-sparcv9.pl
crypto/aes/asm/aesv8-armx.pl
crypto/aes/asm/bsaes-armv7.pl
crypto/aes/asm/bsaes-x86_64.pl
crypto/aes/asm/vpaes-armv8.pl
crypto/aes/asm/vpaes-ppc.pl
crypto/aes/asm/vpaes-x86.pl
crypto/aes/asm/vpaes-x86_64.pl
crypto/alphacpuid.pl
crypto/arm64cpuid.pl
crypto/armv4cpuid.pl
crypto/bf/asm/bf-586.pl
crypto/bn/asm/alpha-mont.pl
crypto/bn/asm/armv4-gf2m.pl
crypto/bn/asm/armv4-mont.pl
crypto/bn/asm/armv8-mont.pl
crypto/bn/asm/bn-586.pl
crypto/bn/asm/c64xplus-gf2m.pl
crypto/bn/asm/co-586.pl
crypto/bn/asm/ia64-mont.pl
crypto/bn/asm/mips-mont.pl
crypto/bn/asm/mips.pl
crypto/bn/asm/parisc-mont.pl
crypto/bn/asm/ppc-mont.pl
crypto/bn/asm/ppc.pl
crypto/bn/asm/ppc64-mont.pl
crypto/bn/asm/rsaz-avx2.pl
crypto/bn/asm/rsaz-x86_64.pl
crypto/bn/asm/s390x-gf2m.pl
crypto/bn/asm/s390x-mont.pl
crypto/bn/asm/sparct4-mont.pl
crypto/bn/asm/sparcv9-gf2m.pl
crypto/bn/asm/sparcv9-mont.pl
crypto/bn/asm/sparcv9a-mont.pl
crypto/bn/asm/via-mont.pl
crypto/bn/asm/vis3-mont.pl
crypto/bn/asm/x86-gf2m.pl
crypto/bn/asm/x86-mont.pl
crypto/bn/asm/x86_64-gf2m.pl
crypto/bn/asm/x86_64-mont.pl
crypto/bn/asm/x86_64-mont5.pl
crypto/c64xpluscpuid.pl
crypto/camellia/asm/cmll-x86.pl
crypto/camellia/asm/cmll-x86_64.pl
crypto/camellia/asm/cmllt4-sparcv9.pl
crypto/cast/asm/cast-586.pl
crypto/chacha/asm/chacha-armv4.pl
crypto/chacha/asm/chacha-armv8.pl
crypto/chacha/asm/chacha-c64xplus.pl
crypto/chacha/asm/chacha-ia64.pl
crypto/chacha/asm/chacha-ppc.pl
crypto/chacha/asm/chacha-x86.pl
crypto/chacha/asm/chacha-x86_64.pl
crypto/des/asm/crypt586.pl
crypto/des/asm/des-586.pl
crypto/des/asm/dest4-sparcv9.pl
crypto/ec/asm/ecp_nistz256-armv4.pl
crypto/ec/asm/ecp_nistz256-armv8.pl
crypto/ec/asm/ecp_nistz256-avx2.pl
crypto/ec/asm/ecp_nistz256-ppc64.pl
crypto/ec/asm/ecp_nistz256-sparcv9.pl
crypto/ec/asm/ecp_nistz256-x86.pl
crypto/ec/asm/ecp_nistz256-x86_64.pl
crypto/ec/asm/x25519-ppc64.pl
crypto/ec/asm/x25519-x86_64.pl
crypto/md5/asm/md5-586.pl
crypto/md5/asm/md5-sparcv9.pl
crypto/md5/asm/md5-x86_64.pl
crypto/modes/asm/aes-gcm-armv8_64.pl
crypto/modes/asm/aesni-gcm-x86_64.pl
crypto/modes/asm/ghash-alpha.pl
crypto/modes/asm/ghash-armv4.pl
crypto/modes/asm/ghash-c64xplus.pl
crypto/modes/asm/ghash-ia64.pl
crypto/modes/asm/ghash-parisc.pl
crypto/modes/asm/ghash-s390x.pl
crypto/modes/asm/ghash-sparcv9.pl
crypto/modes/asm/ghash-x86.pl
crypto/modes/asm/ghash-x86_64.pl
crypto/modes/asm/ghashp8-ppc.pl
crypto/modes/asm/ghashv8-armx.pl
crypto/pariscid.pl
crypto/perlasm/arm-xlate.pl
crypto/perlasm/ppc-xlate.pl
crypto/poly1305/asm/poly1305-armv4.pl
crypto/poly1305/asm/poly1305-armv8.pl
crypto/poly1305/asm/poly1305-mips.pl
crypto/poly1305/asm/poly1305-ppc.pl
crypto/poly1305/asm/poly1305-ppcfp.pl
crypto/poly1305/asm/poly1305-sparcv9.pl
crypto/poly1305/asm/poly1305-x86.pl
crypto/poly1305/asm/poly1305-x86_64.pl
crypto/ppccpuid.pl
crypto/rc4/asm/rc4-586.pl
crypto/rc4/asm/rc4-c64xplus.pl
crypto/rc4/asm/rc4-md5-x86_64.pl
crypto/rc4/asm/rc4-parisc.pl
crypto/rc4/asm/rc4-s390x.pl
crypto/rc4/asm/rc4-x86_64.pl
crypto/rc5/asm/rc5-586.pl
crypto/ripemd/asm/rmd-586.pl
crypto/s390xcpuid.pl
crypto/sha/asm/keccak1600-armv4.pl
crypto/sha/asm/keccak1600-armv8.pl
crypto/sha/asm/keccak1600-avx2.pl
crypto/sha/asm/keccak1600-avx512.pl
crypto/sha/asm/keccak1600-avx512vl.pl
crypto/sha/asm/keccak1600-c64x.pl
crypto/sha/asm/keccak1600-mmx.pl
crypto/sha/asm/keccak1600-ppc64.pl
crypto/sha/asm/keccak1600-s390x.pl
crypto/sha/asm/keccak1600-x86_64.pl
crypto/sha/asm/keccak1600p8-ppc.pl
crypto/sha/asm/sha1-586.pl
crypto/sha/asm/sha1-alpha.pl
crypto/sha/asm/sha1-armv4-large.pl
crypto/sha/asm/sha1-armv8.pl
crypto/sha/asm/sha1-c64xplus.pl
crypto/sha/asm/sha1-mb-x86_64.pl
crypto/sha/asm/sha1-mips.pl
crypto/sha/asm/sha1-parisc.pl
crypto/sha/asm/sha1-ppc.pl
crypto/sha/asm/sha1-s390x.pl
crypto/sha/asm/sha1-sparcv9.pl
crypto/sha/asm/sha1-sparcv9a.pl
crypto/sha/asm/sha1-thumb.pl
crypto/sha/asm/sha1-x86_64.pl
crypto/sha/asm/sha256-586.pl
crypto/sha/asm/sha256-armv4.pl
crypto/sha/asm/sha256-c64xplus.pl
crypto/sha/asm/sha256-mb-x86_64.pl
crypto/sha/asm/sha512-586.pl
crypto/sha/asm/sha512-armv4.pl
crypto/sha/asm/sha512-armv8.pl
crypto/sha/asm/sha512-c64xplus.pl
crypto/sha/asm/sha512-mips.pl
crypto/sha/asm/sha512-parisc.pl
crypto/sha/asm/sha512-ppc.pl
crypto/sha/asm/sha512-s390x.pl
crypto/sha/asm/sha512-sparcv9.pl
crypto/sha/asm/sha512-x86_64.pl
crypto/sha/asm/sha512p8-ppc.pl
crypto/whrlpool/asm/wp-mmx.pl
crypto/whrlpool/asm/wp-x86_64.pl
crypto/x86_64cpuid.pl
crypto/x86cpuid.pl

index 1fe8245f3986a20421e5a8347c7432d2ecd59bc9..401469eed731433b4e8b88a23d4156acab6ec56a 100755 (executable)
@@ -2995,4 +2995,4 @@ sub deckey()
 
 &asm_finish();
 
-close STDOUT;
+close STDOUT or die "error closing STDOUT";
index 9367f1f33b8442780926fb829d25d8c7676327b7..2461535012d39a80cb29ead98c13a7a99cf048b0 100644 (file)
@@ -1245,4 +1245,4 @@ while(<SELF>) {
 close SELF;
 
 print $code;
-close STDOUT;  # enforce flush
+close STDOUT or die "error closing STDOUT";    # enforce flush
index d290afc0af2bced1ae8cf9cad677c4722c74ff82..4a9b41af7622aa440af2d6ef65b0b5dc1498b7e9 100644 (file)
@@ -1378,4 +1378,4 @@ AES_Td4:
 ___
 
 print $code;
-close STDOUT;
+close STDOUT or die "error closing STDOUT";
index c64933e93c99538551bc9c3198104e2b56690122..73ed9885262899acf6bfe6324c965ca9ac6afac6 100644 (file)
@@ -2203,4 +2203,4 @@ foreach (split("\n",$code)) {
        print $_,"\n";
 }
 
-close STDOUT;
+close STDOUT or die "error closing STDOUT";
index 96ba9986562335386d13ae6b67af96c91385d7cd..761c2347336f5515eb62137d885f3d65d5fc7aaf 100644 (file)
@@ -1038,4 +1038,4 @@ foreach (split("\n",$code)) {
 
        print $_,"\n";
 }
-close STDOUT;
+close STDOUT or die "error closing STDOUT";
index b235b00b835c03a00b17c329ba94f0cf241dc24d..219bd69d6f9a87eefd75e922ca9be4948a949e06 100644 (file)
@@ -1460,4 +1460,4 @@ ___
 
 $code =~ s/\`([^\`]*)\`/eval $1/gem;
 print $code;
-close STDOUT;
+close STDOUT or die "error closing STDOUT";
index 1affce3fd27cfc6bef701b7025c283c2affc3dd5..a4982554d231638a6dc5e3900c537a31be4e2db3 100644 (file)
@@ -2281,4 +2281,4 @@ ___
 
 $code =~ s/\`([^\`]*)\`/eval $1/gem;
 print $code;
-close STDOUT;  # force flush
+close STDOUT or die "error closing STDOUT";    # force flush
index f80638639da34189a7a41367ccaf676ab547fd19..f57a9a3fea2577112dcee6ef9b5d5102c54dfa53 100755 (executable)
@@ -1188,4 +1188,4 @@ ___
 $code =~ s/fmovs.*$//gm;
 
 print $code;
-close STDOUT;  # ensure flush
+close STDOUT or die "error closing STDOUT";    # ensure flush
index a657e3624787e1b086088d5c3666a198aa71911a..813817ed4655ec292bc16145c803b3bcf7cbdef6 100755 (executable)
@@ -2919,4 +2919,4 @@ $code =~ s/\`([^\`]*)\`/eval($1)/gem;
 
 print $code;
 
-close STDOUT;
+close STDOUT or die "error closing STDOUT";
index c59970d5cf0346204ec711424aa6bd703297b9a0..2512dffa6bf3f00ee15ff3f76ff2ae868539df84 100644 (file)
@@ -1266,4 +1266,4 @@ foreach (split("\n",$code)) {
     print $_,"\n";
 }
 
-close STDOUT;
+close STDOUT or die "error closing STDOUT";
index e531137e8da8adb291cff00cc002d5b7587de252..eb852cc663ecfaf4abbee13b6b47a0a4b0a90193 100644 (file)
@@ -1473,4 +1473,4 @@ $code =~ s/\`([^\`]*)\`/eval($1)/gem;
 $code =~ s/\b(aes.*%xmm[0-9]+).*$/aesni($1)/gem;
 
 print $code;
-close STDOUT;
+close STDOUT or die "error closing STDOUT";
index 6bf295565b9e37101358149c39d64c8cc8e32ccc..4a881f8e10ec19c64213c4e0ada920e28b4e0810 100644 (file)
@@ -2145,4 +2145,4 @@ foreach (split("\n",$code)) {
 
        print $_,"\n";
 }
-close STDOUT;
+close STDOUT or die "error closing STDOUT";
index 8f230855c3f19776eb96831643fa05a4781cf8d1..58ef8ad2ed95a2b03264fc6cefa83d68a59303f2 100644 (file)
@@ -1801,4 +1801,4 @@ sub rex {
 $code =~ s/\`([^\`]*)\`/eval $1/gem;
 $code =~ s/\b(sha256[^\s]*)\s+(.*)/sha256op38($1,$2)/gem;
 print $code;
-close STDOUT;
+close STDOUT or die "error closing STDOUT";
index 2d04fd6ef95fcb5c6a476c1d3a8350986b010462..1c714531eae7f17a5c39ebb0d9d97b53012f179b 100644 (file)
@@ -3410,4 +3410,4 @@ my ($l_,$block,$i1,$i3,$i5) = ($rounds_,$key_,$rounds,$len,$out);
 
 &asm_finish();
 
-close STDOUT;
+close STDOUT or die "error closing STDOUT";
index 2c164d45656eb81c3a0a34c438ef0e37d44481a1..ce65427f7e7640a70021a38f85b66e76fbf52bce 100644 (file)
@@ -5156,4 +5156,4 @@ $code =~ s/\bmovbe\s+%eax,\s*([0-9]+)\(%rsp\)/movbe($1)/gem;
 
 print $code;
 
-close STDOUT;
+close STDOUT or die "error closing STDOUT";
index 97734b4b1daddfbe4cff7f23e7f94822a171dc5f..9408bf0a541e4dff8ecd3bcf24a9dbec8459504a 100755 (executable)
@@ -3808,4 +3808,4 @@ foreach(split("\n",$code)) {
         print $_,"\n";
 }
 
-close STDOUT;
+close STDOUT or die "error closing STDOUT";
index d34a7ef02a85efc48ae8d60657aed1446f6e4bf6..c9a2ff69d35e96a4db25988c0d280a4431fda456 100644 (file)
@@ -925,4 +925,4 @@ ___
 
 &emit_assembler();
 
-close STDOUT;
+close STDOUT or die "error closing STDOUT";
index d0ae34bc48fd0ff75d2d44f1632db8cac3bfed30..f89bba5cfa35685c7f6ac6ac850ed3eabbb09506 100755 (executable)
@@ -2237,4 +2237,4 @@ if ($flavour =~ /64/) {                   ######## 64-bit code
     }
 }
 
-close STDOUT;
+close STDOUT or die "error closing STDOUT";
index b917dbf1e595546c21e48d8bebe480996d616bc7..601b6b394204d283342020e475cfadafd9d70a14 100644 (file)
@@ -2491,4 +2491,4 @@ close SELF;
 
 print $code;
 
-close STDOUT;
+close STDOUT or die "error closing STDOUT";
index 1f9f261ca48e2fc888d257c695d616ecf2ca1003..b75d95ffab341e861a534edf62db692c951fb162 100644 (file)
@@ -3238,4 +3238,4 @@ $code =~ s/\`([^\`]*)\`/eval($1)/gem;
 
 print $code;
 
-close STDOUT;
+close STDOUT or die "error closing STDOUT";
index 4bf4630e3db7149ad988c66d845bb0c6b215fad2..2dba92dd24ffa08e6df81025e39ae7facd176c49 100755 (executable)
@@ -1278,4 +1278,4 @@ ___
 }      }
 print $code;
 
-close STDOUT;
+close STDOUT or die "error closing STDOUT";
index 1b839e8cae566b0b7c51c071fcb6a8d3043f8470..74f4d9af28b7322609222b3b17323ac710c4e747 100644 (file)
@@ -1595,4 +1595,4 @@ foreach  (split("\n",$code)) {
        print $_,"\n";
 }
 
-close STDOUT;
+close STDOUT or die "error closing STDOUT";
index c1417a8f74aad6758ad7bed63d0d97d919294935..a737f2db76a12df1bbc3020738d6a73535687ff2 100644 (file)
@@ -911,4 +911,4 @@ $k_dsbo=0x2c0;              # decryption sbox final output
 
 &asm_finish();
 
-close STDOUT;
+close STDOUT or die "error closing STDOUT";
index 51ff5df4d3685570b6f73290d64c3e9cde08efd9..5c1dc9f9ea5758d83c678d4065e3e1fe36e0f294 100644 (file)
@@ -1240,4 +1240,4 @@ $code =~ s/\`([^\`]*)\`/eval($1)/gem;
 
 print $code;
 
-close STDOUT;
+close STDOUT or die "error closing STDOUT";
index 50a413438f25e80400e81baedd3735566179a679..c64d50218ab1ebea35742cf389156495ebf04019 100644 (file)
@@ -253,4 +253,4 @@ OPENSSL_instrument_bus2:
 ___
 }
 
-close STDOUT;
+close STDOUT or die "error closing STDOUT";
index 920277666c51d6d1b351ca01679c038e85d656a5..0fdaf3db678d5f5ac513cd3ac1545d4b84727d1e 100755 (executable)
@@ -147,4 +147,4 @@ CRYPTO_memcmp:
 ___
 
 print $code;
-close STDOUT;
+close STDOUT or die "error closing STDOUT";
index 6367cbffd71508efc8f402183ccc83b1a0901762..3646617326007c452c143c5cc244dca2eef1b80e 100644 (file)
@@ -297,4 +297,4 @@ atomic_add_spinlock:
 ___
 
 print $code;
-close STDOUT;
+close STDOUT or die "error closing STDOUT";
index 8622f5b12a8921f4b32880986d0ccd96b48c1c30..a4317f7134ef1328dc8424de89de1e66b7b483a4 100644 (file)
@@ -31,7 +31,7 @@ $tmp4="edx";
 &cbc("BF_cbc_encrypt","BF_encrypt","BF_decrypt",1,4,5,3,-1,-1);
 &asm_finish();
 
-close STDOUT;
+close STDOUT or die "error closing STDOUT";
 
 sub BF_encrypt
        {
index b46c79ca4f738b69dd36b9914a725619a1b22d78..b242098c753f671795af52018d89b9fb65327e8d 100644 (file)
@@ -324,4 +324,4 @@ bn_mul_mont:
 ___
 
 print $code;
-close STDOUT;
+close STDOUT or die "error closing STDOUT";
index e7a865581f3cc18ab0cf485e8605df2820c53122..400712f05227b46a2d579ce0705af0df5b5283fc 100644 (file)
@@ -338,4 +338,4 @@ foreach (split("\n",$code)) {
 
        print $_,"\n";
 }
-close STDOUT;   # enforce flush
+close STDOUT or die "error closing STDOUT";   # enforce flush
index 72c883fe9f949c46ebc9b0f32d902a86224d166b..85ec79344c96f007a9afaa2d7037cf325c4da2cc 100644 (file)
@@ -763,4 +763,4 @@ foreach (split("\n",$code)) {
        print $_,"\n";
 }
 
-close STDOUT;
+close STDOUT or die "error closing STDOUT";
index 3e92881bc0b914937758ff17f5091e8a9b22586f..77e77ae03fdef3bb54d503f25891932535a94da8 100755 (executable)
@@ -1514,4 +1514,4 @@ ___
 
 print $code;
 
-close STDOUT;
+close STDOUT or die "error closing STDOUT";
index 287162161c6461e212edb51784e781bf2a1311a6..3bd422ceb666f90df2607dc3688d74c07a516513 100644 (file)
@@ -30,7 +30,7 @@ for (@ARGV) { $sse2=1 if (/-DOPENSSL_IA32_SSE2/); }
 
 &asm_finish();
 
-close STDOUT;
+close STDOUT or die "error closing STDOUT";
 
 sub bn_mul_add_words
        {
index d4913867d0b6102b39d56fee65eb2a29228be0ce..da9b24a5baa257d7902096abe99e635f5f612e28 100644 (file)
@@ -156,4 +156,4 @@ $code.=<<___;
 ___
 
 print $code;
-close STDOUT;
+close STDOUT or die "error closing STDOUT";
index d9263094b4b09997444b1fa8783b866e8380d272..a9be2729e2f63cbef2e260d8bdb70c1947a90546 100644 (file)
@@ -21,7 +21,7 @@ $output = pop and open STDOUT,">$output";
 
 &asm_finish();
 
-close STDOUT;
+close STDOUT or die "error closing STDOUT";
 
 sub mul_add_c
        {
index ce51b17ef9d866d03614e290bc37021b2ddf908e..63db78367b4155e23656bbcd88de386c79427402 100644 (file)
@@ -858,4 +858,4 @@ ___
 
 open STDOUT,">$output" if $output;
 print $code;
-close STDOUT;
+close STDOUT or die "error closing STDOUT";
index c0b46291842cee8d0425694117f5859259ebe455..93aa1bf45666a60162c5df68f2c959670d16ee15 100644 (file)
@@ -433,4 +433,4 @@ ___
 $code =~ s/\`([^\`]*)\`/eval $1/gem;
 
 print $code;
-close STDOUT;
+close STDOUT or die "error closing STDOUT";
index af44c9786e70d090930a1f170a569613cd166f44..e24fe2e82757e2415c7ed6ca7e80b7ba7453c6b7 100644 (file)
@@ -2262,4 +2262,4 @@ $code.=<<___;
 .end   bn_sqr_comba4
 ___
 print $code;
-close STDOUT;
+close STDOUT or die "error closing STDOUT";
index 1420840d62bdd5519de1e3dbc496b33b40016753..757f68af21f74b4147c05acae754190cacb108d6 100644 (file)
@@ -1005,4 +1005,4 @@ foreach (split("\n",$code)) {
 
        print $_,"\n";
 }
-close STDOUT;
+close STDOUT or die "error closing STDOUT";
index 01c8d11baee94438adc993476d91ba27f8cce9c3..b208f2dc6fe405b0c27084a60d194a3f51247d6a 100644 (file)
@@ -1991,4 +1991,4 @@ ___
 
 $code =~ s/\`([^\`]*)\`/eval $1/gem;
 print $code;
-close STDOUT;
+close STDOUT or die "error closing STDOUT";
index 4b4e6c610095481143b621aa3244668ff77c7ba9..a9f50a8ebf94446611a11429fabffa026a80f55d 100644 (file)
@@ -2013,4 +2013,4 @@ Lppcasm_maw_adios:
 EOF
 $data =~ s/\`([^\`]*)\`/eval $1/gem;
 print $data;
-close STDOUT;
+close STDOUT or die "error closing STDOUT";
index 4420a14a0a479dc0f8a2f8e6c2c365cd4b57dc32..e869ec87f9c8e1df0588053f904c0d97f1473aed 100644 (file)
@@ -1653,4 +1653,4 @@ ___
 
 $code =~ s/\`([^\`]*)\`/eval $1/gem;
 print $code;
-close STDOUT;
+close STDOUT or die "error closing STDOUT";
index b68a8d61c7611de4cd9b3625b6ef18941065fa09..e0332426a96f0a2065a004fb0b46481d387f80d6 100755 (executable)
@@ -1981,4 +1981,4 @@ rsaz_1024_gather5_avx2:
 ___
 }}}
 
-close STDOUT;
+close STDOUT or die "error closing STDOUT";
index e9ff9834c6b546c3aa85b2ba51a3c92d22d03a6a..ee92dfe3c486b0d8ad969076866e39a805c224cd 100755 (executable)
@@ -2430,4 +2430,4 @@ ___
 
 $code =~ s/\`([^\`]*)\`/eval $1/gem;
 print $code;
-close STDOUT;
+close STDOUT or die "error closing STDOUT";
index 85e5eaa84fa941cebcf1e78b6239f178fde663fd..4e85800178dd86da054e9d36bfd15832e4c5b260 100644 (file)
@@ -227,4 +227,4 @@ ___
 
 $code =~ s/\`([^\`]*)\`/eval($1)/gem;
 print $code;
-close STDOUT;
+close STDOUT or die "error closing STDOUT";
index 6ca0c43769b38b10627025e938e0f7c476024217..f7b1dc2111ae599391e16f4ca17207bd5dd8c73b 100644 (file)
@@ -283,4 +283,4 @@ foreach (split("\n",$code)) {
        s/_dswap\s+(%r[0-9]+)/sprintf("rllg\t%s,%s,32",$1,$1) if($SIZE_T==4)/e;
        print $_,"\n";
 }
-close STDOUT;
+close STDOUT or die "error closing STDOUT";
index 76fffaf2689d98216256ae983ea051f27b566d72..1d4b5ee9e5d61886e1e3c1745d759bab857ab768 100755 (executable)
@@ -1224,4 +1224,4 @@ ___
 
 &emit_assembler();
 
-close STDOUT;
+close STDOUT or die "error closing STDOUT";
index d4dda792195a52d0873a0e5a4792eb493fe7fba5..40bac74a894f88fbb45a6ec4abe210f9223d8409 100644 (file)
@@ -196,4 +196,4 @@ ___
 
 $code =~ s/\`([^\`]*)\`/eval($1)/gem;
 print $code;
-close STDOUT;
+close STDOUT or die "error closing STDOUT";
index 6348c2a63b248c3e7c053401d1ff372b6cecaf48..33c4ffb5ae7fb27be88377e0915f669cae03c42a 100644 (file)
@@ -616,4 +616,4 @@ $code.=<<___;
 ___
 $code =~ s/\`([^\`]*)\`/eval($1)/gem;
 print $code;
-close STDOUT;
+close STDOUT or die "error closing STDOUT";
index a1170c7639dccdfb4e4f76ac3191e26a3ec9f433..a91e40edb077f9bf77165d4c4619327d33f57dc9 100755 (executable)
@@ -886,4 +886,4 @@ $code =~ s/fzeros\s+%f([0-9]+)/
 
 print $code;
 # flush
-close STDOUT;
+close STDOUT or die "error closing STDOUT";
index d873082d4b55c3e4187f0c29365b642b2d354bf3..3c2762889073826b48ec6cc5920f4072091239cd 100644 (file)
@@ -247,4 +247,4 @@ $sp=&DWP(28,"esp");
 
 &asm_finish();
 
-close STDOUT;
+close STDOUT or die "error closing STDOUT";
index 53f9920efe9fe09ba5f5c44537e828dd274acd0d..827679b396b40a6ca778dd093db55f9653fe537a 100644 (file)
@@ -380,4 +380,4 @@ foreach (split("\n",$code)) {
        print $_,"\n";
 }
 
-close STDOUT;
+close STDOUT or die "error closing STDOUT";
index bcc6de08a91b01fe7572f7a9a8f698bb0e10345b..c909065fd9038524c4c4ca9e85ae8024619c6c41 100644 (file)
@@ -321,4 +321,4 @@ if ($sse2) {
 
 &asm_finish();
 
-close STDOUT;
+close STDOUT or die "error closing STDOUT";
index 864816fb1ab3dadf447a0e82addf1822bafca78d..e23433594b41b51b05589f93888088e14974303d 100755 (executable)
@@ -627,4 +627,4 @@ $sbit=$num;
 
 &asm_finish();
 
-close STDOUT;
+close STDOUT or die "error closing STDOUT";
index f312a0c72a691c5a3d84b477c1f6c9c32ae99b8e..27034285ded20da4cb08601d2001439481790bdf 100644 (file)
@@ -423,4 +423,4 @@ ___
 
 $code =~ s/\`([^\`]*)\`/eval($1)/gem;
 print $code;
-close STDOUT;
+close STDOUT or die "error closing STDOUT";
index 9e425b227b9138de7cb52a0ea7f60b55435f6aae..bcc0f83ec00cfe1adaf1f8fdbd90484f9856085c 100755 (executable)
@@ -1591,4 +1591,4 @@ ___
 }
 
 print $code;
-close STDOUT;
+close STDOUT or die "error closing STDOUT";
index 5e70547704f87f1077cf5f1eaf540f1dda7f5cce..0eb127b4e766e9823002a7ac9ef62e2bf5fd3d7a 100755 (executable)
@@ -3962,4 +3962,4 @@ ___
 $code =~ s/\`([^\`]*)\`/eval($1)/gem;
 
 print $code;
-close STDOUT;
+close STDOUT or die "error closing STDOUT";
index a807e7f59dd69fb2029d64825563ae0d0b72a0ac..0fc1b8b60a0262dfe9c671c8d4ba0ea00db4edc7 100644 (file)
@@ -284,4 +284,4 @@ bus_loop2_done?:
 ___
 
 print $code;
-close STDOUT;
+close STDOUT or die "error closing STDOUT";
index 1a3ec88b392160beb887d5f84c86908b89df2b2d..d1e522fbd2baf9192f18fdc9267e310f13aa5b3b 100644 (file)
@@ -1146,4 +1146,4 @@ my ($s0,$s1,$s2,$s3) = @T;
 
 &asm_finish();
 
-close STDOUT;
+close STDOUT or die "error closing STDOUT";
index d0a45f27abc1c4c337550f3bdbb9b1b73af04e0e..6865e73a7bf7d340b156e3987c512893e8f4db4f 100644 (file)
@@ -1152,4 +1152,4 @@ ___
 
 $code =~ s/\`([^\`]*)\`/eval $1/gem;
 print $code;
-close STDOUT;
+close STDOUT or die "error closing STDOUT";
index 0b3448ee58aa7cc1747a6e161defa221c6acf471..954891724111ebf01e4aafcd6ff07b3f822b43ea 100644 (file)
@@ -935,4 +935,4 @@ ___
 
 &emit_assembler();
 
-close STDOUT;
+close STDOUT or die "error closing STDOUT";
index 9e8d7d9b43f90462971d27eb413d5fee6d44fbf5..c74810bba9b8d762a75850be3799720057096090 100644 (file)
@@ -45,7 +45,7 @@ $S4="CAST_S_table3";
 
 &asm_finish();
 
-close STDOUT;
+close STDOUT or die "error closing STDOUT";
 
 sub CAST_encrypt {
     local($name,$enc)=@_;
index 8a9f6c4f19ddc8a6e617a416650acba79e90a9ca..021da300ee6bb5979cc6f131d59ebf5548d73608 100755 (executable)
@@ -1166,4 +1166,4 @@ foreach (split("\n",$code)) {
 
        print $_,"\n";
 }
-close STDOUT;
+close STDOUT or die "error closing STDOUT";
index 7868389f7166f23bee710dc57404a6cc8999c6ca..466de51867f08eddd5bec60efe12efe145357248 100755 (executable)
@@ -1289,4 +1289,4 @@ foreach (split("\n",$code)) {
 
        print $_,"\n";
 }
-close STDOUT;  # flush
+close STDOUT or die "error closing STDOUT";    # flush
index dfa89229b0504633d8d181dce211c26218a0564d..0b146288f780208c8cd195ed02f8095d440bf36d 100755 (executable)
@@ -922,4 +922,4 @@ $code.=<<___;
 ___
 
 print $code;
-close STDOUT;
+close STDOUT or die "error closing STDOUT";
index e3641426fcbb2a31786dd948462efd128cbfe6b1..9276dd0fbfa2157cda337261b32395b6d00529f0 100644 (file)
@@ -288,4 +288,4 @@ stringz "ChaCha20 for IA64, CRYPTOGAMS by \@dot-asm"
 ___
 
 print $code;
-close STDOUT;
+close STDOUT or die "error closing STDOUT";
index 1db31fa9781ae35a0d66c597429c3f009dc970b3..c9c43435172a1ed4e694dc77ffe4b634b9c91268 100755 (executable)
@@ -1349,4 +1349,4 @@ foreach (split("\n",$code)) {
        print $_,"\n";
 }
 
-close STDOUT;
+close STDOUT or die "error closing STDOUT";
index 566a8b79e6ace2750ea4e4895602f18c5d69ed48..6cf696889002db5ef138ebb35eeb90c859bcd4a5 100755 (executable)
@@ -1151,4 +1151,4 @@ sub XOPROUND {
 
 &asm_finish();
 
-close STDOUT;
+close STDOUT or die "error closing STDOUT";
index fee0a963a9df1b4bf58a9040c1af034a891614a0..25140104cee866e588883557a0ffb716e92ad1d6 100755 (executable)
@@ -4004,4 +4004,4 @@ foreach (split("\n",$code)) {
        print $_,"\n";
 }
 
-close STDOUT;
+close STDOUT or die "error closing STDOUT";
index b611b4e983e8578ad7e1f7debee9d7698e270356..def4e7fd52f30d9091b2c35e9d87582e58c22e79 100644 (file)
@@ -24,7 +24,7 @@ $R="esi";
 &fcrypt_body("fcrypt_body");
 &asm_finish();
 
-close STDOUT;
+close STDOUT or die "error closing STDOUT";
 
 sub fcrypt_body
        {
index 483f19503f350429666f57565e291c374520aa3c..45fe3d2d443a3605a20603b5062f031ab9da84ea 100644 (file)
@@ -46,7 +46,7 @@ $small_footprint=1 if (grep(/\-DOPENSSL_SMALL_FOOTPRINT/,@ARGV));
 
 &asm_finish();
 
-close STDOUT;
+close STDOUT or die "error closing STDOUT";
 
 sub DES_encrypt_internal()
        {
index 0cf25add75ac0638b92b90b7abbb74e4aee129b3..90438f0e1b59cc8f6fecd2d90f9b7134df48d097 100644 (file)
@@ -623,4 +623,4 @@ ___
 
 &emit_assembler();
 
-close STDOUT;
+close STDOUT or die "error closing STDOUT";
index 4809360ac427325bb0a22bb7a26960c88dd79028..8813c97ae88b02cbcc932eef53c9e1035d894e07 100755 (executable)
@@ -1853,4 +1853,4 @@ foreach (split("\n",$code)) {
 
        print $_,"\n";
 }
-close STDOUT;  # enforce flush
+close STDOUT or die "error closing STDOUT";    # enforce flush
index 3be0c1c02665ba283adb6aef0abe530cf37362fc..794f7631e43c63d8368c68f436da42e195093e46 100644 (file)
@@ -1874,4 +1874,4 @@ foreach (split("\n",$code)) {
 
        print $_,"\n";
 }
-close STDOUT;  # enforce flush
+close STDOUT or die "error closing STDOUT";    # enforce flush
index 669eb560254fa08442e1aed755e6ba0add7f4036..8c04b0e9246d6f6561b5d42d6033907a5c52eb79 100755 (executable)
@@ -2079,4 +2079,4 @@ foreach (split("\n",$code)) {
        print $_,"\n";
 }
 
-close STDOUT;
+close STDOUT or die "error closing STDOUT";
index 944380107aa9ef902bdabda7f2bc89b878ed5497..b7ca4e97eae9e6308edbb99aad20618c7fae0cb1 100755 (executable)
@@ -2382,4 +2382,4 @@ foreach (split("\n",$code)) {
 
        print $_,"\n";
 }
-close STDOUT;  # enforce flush
+close STDOUT or die "error closing STDOUT";    # enforce flush
index 3956a4a9015b95115fcf0cc1a8943970aadd474a..29194089b98d0e03e494b571f107b45c794d0a03 100755 (executable)
@@ -3056,4 +3056,4 @@ foreach (split("\n",$code)) {
        print $_,"\n";
 }
 
-close STDOUT;
+close STDOUT or die "error closing STDOUT";
index bf8c4db5a460efdb2ffbcbd252a1decdabe668f6..edc1d5a3a9f2003aea3603d9847f13cde87b4864 100755 (executable)
@@ -1858,4 +1858,4 @@ for ($i=0;$i<7;$i++) {
 
 &asm_finish();
 
-close STDOUT;
+close STDOUT or die "error closing STDOUT";
index 2fb0a2a6907440de0f19be0f8f490daf5ac53b4c..33485c61ec5705a8779ab178739538ac5b444ea9 100755 (executable)
@@ -4738,4 +4738,4 @@ ___
 
 $code =~ s/\`([^\`]*)\`/eval $1/gem;
 print $code;
-close STDOUT;
+close STDOUT or die "error closing STDOUT";
index e2e0a14f493cce3af51e67437b8469c1c4f347a4..9a48d2ad0e5f9cce66bac8790380d79eae15d6c2 100755 (executable)
@@ -824,4 +824,4 @@ ___
 
 $code =~ s/\`([^\`]*)\`/eval $1/gem;
 print $code;
-close STDOUT;
+close STDOUT or die "error closing STDOUT";
index e5f5f759233ce9701d72d77ea3abe22f778594b7..1a42728d900451b0d966e20c522fd77838883247 100755 (executable)
@@ -1130,4 +1130,4 @@ ___
 
 $code =~ s/\`([^\`]*)\`/eval $1/gem;
 print $code;
-close STDOUT;
+close STDOUT or die "error closing STDOUT";
index 74b82f02cdee5438daa3812a5579cbb6701e94dc..b03bf11ed4bacbd33a05f3cd5cf0c9fbaa8f2d18 100644 (file)
@@ -45,7 +45,7 @@ $X="esi";
 &md5_block("md5_block_asm_data_order");
 &asm_finish();
 
-close STDOUT;
+close STDOUT or die "error closing STDOUT";
 
 sub Np
        {
index fd77b8b1de8eafd0d0abf0b406a4c1fb742fcc1c..9cf039656f5b8cc1f5bf2ef2052c7beed7caf1d8 100644 (file)
@@ -436,4 +436,4 @@ foreach (split("\n",$code)) {
        print $_,"\n";
 }
 
-close STDOUT;
+close STDOUT or die "error closing STDOUT";
index c3d82455d1bfdceb3b3bf915dd2ee33cfdfd15d5..99cbbea7749cc63d069a6339b2e875b9b618a9e3 100755 (executable)
@@ -392,4 +392,4 @@ ___
 
 print $code;
 
-close STDOUT;
+close STDOUT or die "error closing STDOUT";
index ee88906d85d4aa88864ed5dd37bea69f37dafc4a..5078424eb1cc77127501ae27ccdb5fb7aae50adf 100755 (executable)
@@ -5719,4 +5719,4 @@ if ($flavour =~ /64/) {         ######## 64-bit code
     }
 }
 
-close STDOUT; # enforce flush
+close STDOUT or die "error closing STDOUT"; # enforce flush
index c3facaa1ac6e23e400c0f3b69d8837737df1e511..70b1757f7a6433f4276bc10cdcb3c2fe6e8973b9 100644 (file)
@@ -1106,4 +1106,4 @@ $code =~ s/\`([^\`]*)\`/eval($1)/gem;
 
 print $code;
 
-close STDOUT;
+close STDOUT or die "error closing STDOUT";
index 0c4a982d529d6f1a92e5b4e1abbc77b43325a251..8f56d277de2890d35be479f64e02c67d9b6e4d7f 100644 (file)
@@ -463,5 +463,5 @@ rem_4bit:
 ___
 $output=pop and open STDOUT,">$output";
 print $code;
-close STDOUT;
+close STDOUT or die "error closing STDOUT";
 
index 9a3a1f4e8d9578e8fe4b2a773f8b2795a7abaed3..0b94340d3b44b475e672599cedcc7bd5e513c577 100644 (file)
@@ -551,4 +551,4 @@ foreach (split("\n",$code)) {
 
        print $_,"\n";
 }
-close STDOUT; # enforce flush
+close STDOUT or die "error closing STDOUT"; # enforce flush
index 70cef3bc0fc4feea1849f6c88a1681627af09700..fa9822b3c93a8f977817417716181dbe669a4394 100644 (file)
@@ -243,4 +243,4 @@ $code.=<<___;
 ___
 
 print $code;
-close STDOUT;
+close STDOUT or die "error closing STDOUT";
index f61cd8294445e506d5c0f0d7752961a304b4ed39..404207a92d8c6d3ba71b207c763ef544c89d92f3 100755 (executable)
@@ -467,4 +467,4 @@ $code =~ s/mux1(\s+)\S+\@rev/nop.i$1 0x0/gm      if ($big_endian);
 $code =~ s/\`([^\`]*)\`/eval $1/gem;
 
 print $code;
-close STDOUT;
+close STDOUT or die "error closing STDOUT";
index 4eccdc71be8f2f94acc29942ea846b283f9e68c8..8192831e8b73f0f41449d59d3e6009fbf788cd1e 100644 (file)
@@ -748,4 +748,4 @@ foreach (split("\n",$code)) {
        print $_,"\n";
 }
 
-close STDOUT;
+close STDOUT or die "error closing STDOUT";
index 5355a30748e181ebcaf4594e18bd899a21b1e4fa..b9a637628f6f02698acfee60ac3959a4a9e541d9 100644 (file)
@@ -261,4 +261,4 @@ ___
 
 $code =~ s/\`([^\`]*)\`/eval $1/gem;
 print $code;
-close STDOUT;
+close STDOUT or die "error closing STDOUT";
index b8b102282fd43a96c9845241022fe9a9afa4abcf..ac61df6069c24f29e2de68373071c2e9cd4f33bd 100644 (file)
@@ -577,4 +577,4 @@ foreach (split("\n",$code)) {
        print $_,"\n";
 }
 
-close STDOUT;
+close STDOUT or die "error closing STDOUT";
index 5372b48704e34cfcccc070a2f5a1bfe7d457b044..d3b0ed868430724e85def1e411d1cac9b6fc5a61 100644 (file)
@@ -1377,7 +1377,7 @@ my ($Xhi,$Xi)=@_;
 &asciz("GHASH for x86, CRYPTOGAMS by <appro\@openssl.org>");
 &asm_finish();
 
-close STDOUT;
+close STDOUT or die "error closing STDOUT";
 
 # A question was risen about choice of vanilla MMX. Or rather why wasn't
 # SSE2 chosen instead? In addition to the fact that MMX runs on legacy
index f9d425ce3349bb194bf87254f1491a8fe0cd93c8..3af31abc4f156bd93c1b92867f5b166111126320 100644 (file)
@@ -1817,4 +1817,4 @@ $code =~ s/\`([^\`]*)\`/eval($1)/gem;
 
 print $code;
 
-close STDOUT;
+close STDOUT or die "error closing STDOUT";
index 44add7958e779254ef62c270698a11b1ca74f37f..aa3af21af1b142a37c18456c629fc47df3a39bb7 100755 (executable)
@@ -671,4 +671,4 @@ foreach (split("\n",$code)) {
        print $_,"\n";
 }
 
-close STDOUT; # enforce flush
+close STDOUT or die "error closing STDOUT"; # enforce flush
index aa5251df9fcd51538159a18f8f63b362d0545c95..5618410a3d6736269e2f88ef6fb5b09f1c28522b 100644 (file)
@@ -794,4 +794,4 @@ if ($flavour =~ /64/) {                     ######## 64-bit code
     }
 }
 
-close STDOUT; # enforce flush
+close STDOUT or die "error closing STDOUT"; # enforce flush
index aafcb2a9bc3b06f35c79832eedbce025345936e2..8d21c30dbbc61170cf0802eb1f7924ff51fbe585 100644 (file)
@@ -275,5 +275,5 @@ foreach(split("\n",$code)) {
 
        print $_,"\n";
 }
-close STDOUT;
+close STDOUT or die "error closing STDOUT";
 
index af6f7d31885abe16573f16c87a47e18054f8893b..bee0523fefb21c3876ea49c6d9523a8e4998264c 100755 (executable)
@@ -191,4 +191,4 @@ while(my $line=<>) {
     print "\n";
 }
 
-close STDOUT;
+close STDOUT or die "error closing STDOUT";
index 5fcd0526dffc88d7c68d6e3f0e002f1359abe084..330510109ced82c667ce1c97ee67cee3571e185b 100755 (executable)
@@ -343,4 +343,4 @@ while($line=<>) {
     print "\n";
 }
 
-close STDOUT;
+close STDOUT or die "error closing STDOUT";
index 8d6049829d7405b7983ed7867a75a9cf2c469a0a..2884cda7714a4fb428bdcbca72499eb10dcb9d01 100755 (executable)
@@ -1252,4 +1252,4 @@ foreach (split("\n",$code)) {
 
        print $_,"\n";
 }
-close STDOUT; # enforce flush
+close STDOUT or die "error closing STDOUT"; # enforce flush
index 5ebc57298e5d0c4f2ba5c53c3f4a88da5b71ca93..d547f4e723df56ca2467f48cb78e096f87be10c8 100755 (executable)
@@ -940,4 +940,4 @@ foreach (split("\n",$code)) {
 
        print $_,"\n";
 }
-close STDOUT;
+close STDOUT or die "error closing STDOUT";
index a2504347c236b1c2fccff3723a1f838e9fbc97a7..92deb0b0f9880cd18b91387427beae130bd7d729 100755 (executable)
@@ -437,5 +437,5 @@ ___
 
 $output and open STDOUT,">$output";
 print $code;
-close STDOUT;
+close STDOUT or die "error closing STDOUT";
 
index fa11afc6e080db67c71fc50989f0d4c2a499b1c8..980dcd330106a1ba9eb07a943ad66359ae6b361b 100755 (executable)
@@ -1978,4 +1978,4 @@ foreach (split("\n",$code)) {
 
        print $_,"\n";
 }
-close STDOUT;
+close STDOUT or die "error closing STDOUT";
index 710916566756ee1a0d9f96a0deee6646ec00a895..78e1bf85462cce7bbe9afd8ff86088dbb2e37c61 100755 (executable)
@@ -740,4 +740,4 @@ ___
 
 $code =~ s/\`([^\`]*)\`/eval $1/gem;
 print $code;
-close STDOUT;
+close STDOUT or die "error closing STDOUT";
index d7b67b8593750e4e9f9e3a5172aa197637d97fc4..c80790423f6c9828370b0a6fd65c8f77befd7c9b 100755 (executable)
@@ -1116,4 +1116,4 @@ foreach (split("\n",$code)) {
        print $_,"\n";
 }
 
-close STDOUT;
+close STDOUT or die "error closing STDOUT";
index 08b0da1a3b42ff37199b83bd3354ad91dbbcb300..b1c746617a9cc049813f3bbfe56e582e40553304 100755 (executable)
@@ -1811,4 +1811,4 @@ sub vlazy_reduction {
 
 &asm_finish();
 
-close STDOUT;
+close STDOUT or die "error closing STDOUT";
index 8a469219b8b4fed6a8131d258bd19dac952c94fe..c03af53922bf7ad230fbe408ecb197e45a78a5e3 100755 (executable)
@@ -4182,4 +4182,4 @@ foreach (split('\n',$code)) {
 
        print $_,"\n";
 }
-close STDOUT;
+close STDOUT or die "error closing STDOUT";
index de5d7e26679deeb9050ca25b7eaf1a07498b90f6..ea705e3e92b60775b35e25da2ebc3640b0847531 100755 (executable)
@@ -383,4 +383,4 @@ ___
 
 $code =~ s/\`([^\`]*)\`/eval $1/gem;
 print $code;
-close STDOUT;
+close STDOUT or die "error closing STDOUT";
index ad9674070d877cb87328f06adb07692833b26d7d..79068ffdcec7b38fbe1b7e512dbb971b56a8e72f 100644 (file)
@@ -422,4 +422,4 @@ $idx="edx";
 
 &asm_finish();
 
-close STDOUT;
+close STDOUT or die "error closing STDOUT";
index 0167b05e6a861fde3965fdb2ebaf13b476d0d4d5..2c998d5035f4321a878981a69c1cfc10eb94520c 100644 (file)
@@ -188,4 +188,4 @@ ___
 
 $output = pop and open STDOUT,">$output";
 print $code;
-close STDOUT;
+close STDOUT or die "error closing STDOUT";
index 560eb4c432745f63816994878f1e7afd60bd5b2b..853e6d6d1787c59ddbc151c2b8a4e15468e9cced 100644 (file)
@@ -662,4 +662,4 @@ $code =~ s/#rc4#//gm        if ($rc4);
 
 print $code;
 
-close STDOUT;
+close STDOUT or die "error closing STDOUT";
index a60f2f9ea5d820b7b4bd68f50eae1a528400da93..30a8bb505eea4929f233d3b85de475aefd5519ab 100644 (file)
@@ -333,4 +333,4 @@ foreach(split("\n",$code)) {
 
        print $_,"\n";
 }
-close STDOUT;
+close STDOUT or die "error closing STDOUT";
index 8214b488c690f1ca1e993307c513d2bee8bb467f..f6d3401c9316ca8eaaead5ac2ff96aa4d0714652 100644 (file)
@@ -240,4 +240,4 @@ RC4_options:
 ___
 
 print $code;
-close STDOUT;  # force flush
+close STDOUT or die "error closing STDOUT";    # force flush
index 9572f77378380f9397bd9d70d30d4c98825718dc..b86425e5822e00927c1e2abf8235f25b281d7601 100755 (executable)
@@ -700,4 +700,4 @@ $code =~ s/\`([^\`]*)\`/eval $1/gem;
 
 print $code;
 
-close STDOUT;
+close STDOUT or die "error closing STDOUT";
index 70ff5d4180a460497c8d4d8d988df0f14256cb85..cf5536798c98e04ee4bef8dfbf6b2ddb6b65eb67 100644 (file)
@@ -31,7 +31,7 @@ $tmp4="edx";
 &cbc("RC5_32_cbc_encrypt","RC5_32_encrypt","RC5_32_decrypt",0,4,5,3,-1,-1);
 &asm_finish();
 
-close STDOUT;
+close STDOUT or die "error closing STDOUT";
 
 sub RC5_32_encrypt
        {
index f6b283c9417ce14c5d450de1d2cf5724f2473ac0..45f03eb36b90f9d2500c9e0dfe9a3f0f321e0c7b 100644 (file)
@@ -69,7 +69,7 @@ $KR3=0x7A6D76E9;
 &ripemd160_block("ripemd160_block_asm_data_order");
 &asm_finish();
 
-close STDOUT;
+close STDOUT or die "error closing STDOUT";
 
 sub Xv
        {
index ac0c5b48cbbf90f18f79fb7ce0ed8d3535ab46c2..713dae9bdb8d40624e61082b0e60650164a93743 100755 (executable)
@@ -558,4 +558,4 @@ ___
 
 $code =~ s/\`([^\`]*)\`/eval $1/gem;
 print $code;
-close STDOUT;  # force flush
+close STDOUT or die "error closing STDOUT";    # force flush
index 1ab0e8119ae4938399118a5be2614d1a83b7680f..8a1b1b6eb4a66db96a68380eaf412fda5efa2315 100755 (executable)
@@ -1633,4 +1633,4 @@ foreach (split($/,$code)) {
        print $_,"\n";
 }
 
-close STDOUT; # enforce flush
+close STDOUT or die "error closing STDOUT"; # enforce flush
index 515491a9db60338c82661b38b2b1509eec7f7e3d..c80d135529d8f9fa73fb0c87134a7f1be93ef72b 100755 (executable)
@@ -873,4 +873,4 @@ foreach(split("\n",$code)) {
        print $_,"\n";
 }
 
-close STDOUT;
+close STDOUT or die "error closing STDOUT";
index a56756fb3126adf6ffd3c7ee611d95f188f99e43..5e5e5db2c339b05f1bed901ff703643c993a0af3 100755 (executable)
@@ -478,4 +478,4 @@ ___
 
 $output=pop and open STDOUT,">$output";
 print $code;
-close STDOUT;
+close STDOUT or die "error closing STDOUT";
index be4a7acec2093764c2284eafd6bfe994a858194c..52d3f2929e1fc03426fe8167d2f505dfebf7d7a0 100755 (executable)
@@ -547,4 +547,4 @@ ___
 
 $output=pop and open STDOUT,">$output";
 print $code;
-close STDOUT;
+close STDOUT or die "error closing STDOUT";
index 8616050a2405be988afeeacaf3af0950b4a2fe66..d0254969e9af83272df37dcb5af7b2118623d901 100755 (executable)
@@ -388,4 +388,4 @@ ___
 
 $output=pop and open STDOUT,">$output";
 print $code;
-close STDOUT;
+close STDOUT or die "error closing STDOUT";
index 7433c9987ea43abefca72d075f61abc3b356ab37..9238dd5ebb96a99560e02931a8470a300d5d9b53 100755 (executable)
@@ -881,4 +881,4 @@ ___
 
 $output=pop and open STDOUT,">$output";
 print $code;
-close STDOUT;
+close STDOUT or die "error closing STDOUT";
index 8be05a1f58258a51db7ea2c4fb83e0fed7cf1831..3976a7b101221cad71c14c80c4feefb1d92bb18c 100755 (executable)
@@ -436,4 +436,4 @@ sub Rho() {                         ######### regular Rho step
 
 &asm_finish();
 
-close STDOUT;
+close STDOUT or die "error closing STDOUT";
index 6f5906352df9642c2e1f8e8edca7f3351cce48b0..fb73291c3aaa3990f043a6f495cff4bb6241b602 100755 (executable)
@@ -759,4 +759,4 @@ ___
 
 $code =~ s/\`([^\`]*)\`/eval $1/gem;
 print $code;
-close STDOUT;
+close STDOUT or die "error closing STDOUT";
index 99cbee30b6d32ff0730e21fe8859cf80efafd52f..5dc970ef55252d34844887cfe54091c31ab657de 100755 (executable)
@@ -559,4 +559,4 @@ ___
 $code =~ s/(srlg\s+)(%r[0-9]+),/$1$2,$2,/gm;
 
 print $code;
-close STDOUT;
+close STDOUT or die "error closing STDOUT";
index aee356adbb892fb5513eff239dac43ca0f73cd2e..808319cff1b5fe601ff32e41c596de5148ddad51 100755 (executable)
@@ -608,4 +608,4 @@ foreach (split("\n",$code)) {
        print $_, "\n";
 }
 
-close STDOUT;
+close STDOUT or die "error closing STDOUT";
index 0fdc23f68912c1ddc1e8507854fc9dde0b3e0dc8..c6285af7b8d28db028cdc950aeaf5322b1ecd5a5 100755 (executable)
@@ -851,4 +851,4 @@ foreach  (split("\n",$code)) {
        print $_,"\n";
 }
 
-close STDOUT;
+close STDOUT or die "error closing STDOUT";
index 2c3c7bc905472720b0357ee3f5848114b5534f83..eed01f308a84e7bd841b849eb0f8f0986752e01a 100644 (file)
@@ -1487,4 +1487,4 @@ sub Xtail_avx()
 
 &asm_finish();
 
-close STDOUT;
+close STDOUT or die "error closing STDOUT";
index 158c5ea6e786794845f3f53edcd78561173860bb..b4f9388a3caa1397afe95fc1800b5c7308a20e71 100644 (file)
@@ -326,4 +326,4 @@ $code.=<<___;
 ___
 $output=pop and open STDOUT,">$output";
 print $code;
-close STDOUT;
+close STDOUT or die "error closing STDOUT";
index 24fc5bf430c8d9efeb74b8f25e20245adcfc7882..8ed304799d7a520c92a23c0431f5c15683f11093 100644 (file)
@@ -749,4 +749,4 @@ foreach (split($/,$code)) {
        print $_,$/;
 }
 
-close STDOUT; # enforce flush
+close STDOUT or die "error closing STDOUT"; # enforce flush
index f9f3c5f3cfd16f25387b4841412f8f885f282276..cb0e38339649a6d947095b9ec2130f8f5af24fa0 100644 (file)
@@ -357,4 +357,4 @@ foreach(split("\n",$code)) {
        print $_,"\n";
 }
 
-close STDOUT;
+close STDOUT or die "error closing STDOUT";
index 66f15e22fd3dfb3e58573eb85fbcb57593835151..4a4772eaabb943dbff99fd97f5901fc7bc14b698 100644 (file)
@@ -333,4 +333,4 @@ $code.=<<___;
 ___
 
 print $code;
-close STDOUT;
+close STDOUT or die "error closing STDOUT";
index 2da2ffffe5d6bc94259ee201912d782e1f686013..71aacc569a774949eb172d419b4091845f042366 100644 (file)
@@ -1627,4 +1627,4 @@ foreach (split("\n",$code)) {
        print $_,"\n";
 }
 
-close STDOUT;
+close STDOUT or die "error closing STDOUT";
index 0f23b6b074de18b1c1f5ced8691ca82b7b3036be..4a510c6ace6454b5a569f82c99d2b65efb203586 100644 (file)
@@ -461,4 +461,4 @@ $code.=<<___;
 .asciiz        "SHA1 for MIPS, CRYPTOGAMS by <appro\@openssl.org>"
 ___
 print $code;
-close STDOUT;
+close STDOUT or die "error closing STDOUT";
index 00c85378e298f66a5c1a2182e573aa0dedcd85f4..4f64346306bf1e1e545904372c1e19546c959d37 100644 (file)
@@ -279,4 +279,4 @@ foreach(split("\n",$code)) {
 
        print $_,"\n";
 }
-close STDOUT;
+close STDOUT or die "error closing STDOUT";
index f7a75b743eac4d843ef19b9bbdeb92b13a857680..0bc16c0ad797e4ca186276f46833d853bb9bccaf 100755 (executable)
@@ -352,4 +352,4 @@ ___
 
 $code =~ s/\`([^\`]*)\`/eval $1/gem;
 print $code;
-close STDOUT;
+close STDOUT or die "error closing STDOUT";
index 091e1c00b3c0297d11dcec580517af74a02cafb4..4de9f384c11bea258f1f8242a9e2b14ee01f4a71 100644 (file)
@@ -248,4 +248,4 @@ ___
 $code =~ s/\`([^\`]*)\`/eval $1/gem;
 
 print $code;
-close STDOUT;
+close STDOUT or die "error closing STDOUT";
index 8ef8b5fee019eaf145634c1e0ea6a674de6fdfc6..585996b13da860244f04ecc41e6a60753ffb1b2c 100644 (file)
@@ -430,4 +430,4 @@ foreach (split("\n",$code)) {
        print $_,"\n";
 }
 
-close STDOUT;
+close STDOUT or die "error closing STDOUT";
index e0ccea2a98f89e42dbd10309f41fbe9c04a0be6a..9c24a48e3d1968e15a810f5c6819fdb53107a582 100644 (file)
@@ -604,4 +604,4 @@ $code =~ s/\b(alignaddr)\s+(%[goli][0-7]),(%[goli][0-7]),(%[goli][0-7])/
                &unalignaddr($1,$2,$3,$4)
          /gem;
 print $code;
-close STDOUT;
+close STDOUT or die "error closing STDOUT";
index dbe57547005506db61f0c28b95a929d9a781ad64..b89bd978c371cb803bc5d2da753c4bdaf5bd1ffe 100644 (file)
@@ -262,4 +262,4 @@ $code.=<<___;
 ___
 
 print $code;
-close STDOUT; # enforce flush
+close STDOUT or die "error closing STDOUT"; # enforce flush
index 315f3d89b2e0537539a17148fc5de3d455faad81..7ed39165ef0c4761cccff37127f8c172e0a4ecde 100755 (executable)
@@ -2131,4 +2131,4 @@ foreach (split("\n",$code)) {
 
        print $_,"\n";
 }
-close STDOUT;
+close STDOUT or die "error closing STDOUT";
index 33bb8a74e33f0b2f5d0f8fbd515cdb0f1e0d63e8..962e1e9aaec42d910eb4cc1dbb3bfe88bc80ba6c 100644 (file)
@@ -1292,4 +1292,4 @@ sub bodyx_00_15 () {                      # +10%
 
 &asm_finish();
 
-close STDOUT;
+close STDOUT or die "error closing STDOUT";
index 80c697e00c52a6c71b5ef79a798c0c6fe0ec2b29..f20840d2b971e5f4f080489c064886c89cc57682 100644 (file)
@@ -739,4 +739,4 @@ foreach (split($/,$code)) {
        print $_,"\n";
 }
 
-close STDOUT; # enforce flush
+close STDOUT or die "error closing STDOUT"; # enforce flush
index 480b49e4d0e2aa9172c3d74edafb6f3393feebef..8dba0c84e02e4840c72acc137145480e25bd34fa 100644 (file)
@@ -316,4 +316,4 @@ K256:
 ___
 
 print $code;
-close STDOUT;
+close STDOUT or die "error closing STDOUT";
index 99d786a276feb2db01d475772efb992895a3e66a..2f939781ccdb6c91729baee628ace4073947647b 100644 (file)
@@ -1613,4 +1613,4 @@ foreach (split("\n",$code)) {
        print $_,"\n";
 }
 
-close STDOUT;
+close STDOUT or die "error closing STDOUT";
index c20a673dfc16998536d6dfb11523deec8a3a4907..78cafda6a2a2e7cb2072ec4b861aba0399cac5cb 100644 (file)
@@ -921,4 +921,4 @@ sub BODY_00_15_ssse3 {              # "phase-less" copy of BODY_00_15_sse2
 
 &asm_finish();
 
-close STDOUT;
+close STDOUT or die "error closing STDOUT";
index 410dde2cde3f0834de288c9862ebbbf9585a9eb7..7c6ac41b5b60fd76421648e07900f6f74800a77a 100644 (file)
@@ -677,4 +677,4 @@ while(<SELF>) {
 close SELF;
 
 print $code;
-close STDOUT; # enforce flush
+close STDOUT or die "error closing STDOUT"; # enforce flush
index 2051157ccadcabda376a6680ef9936e8859f7a93..228b643c830fab2f018fcc0c22c25c106f1eb7c1 100644 (file)
@@ -891,4 +891,4 @@ foreach(split("\n",$code)) {
        print $_,"\n";
 }
 
-close STDOUT;
+close STDOUT or die "error closing STDOUT";
index b7a12544b9fc29c83d51b7f9a17872bf15453484..14b6bb5ab66194c3327c6452c763ec497ca88255 100644 (file)
@@ -434,4 +434,4 @@ K512:
 ___
 
 print $code;
-close STDOUT;
+close STDOUT or die "error closing STDOUT";
index c581bdcb04d08da6e328fc3bec36ff4c277c7943..5f585eb91dd1fec7168caddfea99a692670a7eec 100644 (file)
@@ -524,4 +524,4 @@ ___
 
 $code =~ s/\`([^\`]*)\`/eval $1/gem;
 print $code;
-close STDOUT;
+close STDOUT or die "error closing STDOUT";
index f40642692878bd30126375138fe9e14f1e533387..17a304cb808bf62ea5b3f809f4b01e295b102313 100755 (executable)
@@ -807,4 +807,4 @@ foreach (split("\n",$code)) {
        print $_,"\n";
 }
 
-close STDOUT;
+close STDOUT or die "error closing STDOUT";
index 722621ec3fefff3760372979bae14203235f4ef6..f5c4138d0cdfe395a92a081156ad2f29edeca022 100755 (executable)
@@ -799,4 +799,4 @@ ___
 
 $code =~ s/\`([^\`]*)\`/eval $1/gem;
 print $code;
-close STDOUT;
+close STDOUT or die "error closing STDOUT";
index 65cb88316602cd656ea46a81b77623c4c9f6b394..78d710c30e0f35bf61b5ec691b41c626342a9246 100644 (file)
@@ -323,4 +323,4 @@ $code =~ s/\`([^\`]*)\`/eval $1/gem;
 $code =~ s/(srlg\s+)(%r[0-9]+),/$1$2,$2,/gm;
 
 print $code;
-close STDOUT;
+close STDOUT or die "error closing STDOUT";
index fca6e863da49ef174eda79074f31e6afa4e855c5..11dd8d6117c7149522bb2891f156ca777063669f 100644 (file)
@@ -856,4 +856,4 @@ foreach (split("\n",$code)) {
        print $_,"\n";
 }
 
-close STDOUT;
+close STDOUT or die "error closing STDOUT";
index 7ecded191c95c9d420725e8e556e8d3b1652edf7..7c7cb23cd72a9fe262762db81e6581d08fe2624e 100755 (executable)
@@ -2557,4 +2557,4 @@ foreach (split("\n",$code)) {
 
        print $_,"\n";
 }
-close STDOUT;
+close STDOUT or die "error closing STDOUT";
index 9ee3ed7734e91851fc032caf5bc2cb18b60cc1a5..ea3d308373722a8698ae4a6956cbf42d02fb848c 100755 (executable)
@@ -420,4 +420,4 @@ ___
 
 $code =~ s/\`([^\`]*)\`/eval $1/gem;
 print $code;
-close STDOUT;
+close STDOUT or die "error closing STDOUT";
index 39cd2204568c8767070fe7a5ae6794cf7b1c4462..812c42f1b2aeea193bf645410fae7840bd85b661 100644 (file)
@@ -503,4 +503,4 @@ for($i=0;$i<8;$i++) {
 &function_end_B("whirlpool_block_mmx");
 &asm_finish();
 
-close STDOUT;
+close STDOUT or die "error closing STDOUT";
index e5b51501e96b254583c643b9c120ecb4e8963f15..ee09234adb7e2c2cbb5f68b6b7470af6ca13cef9 100644 (file)
@@ -616,4 +616,4 @@ ___
 
 $code =~ s/\`([^\`]*)\`/eval $1/gem;
 print $code;
-close STDOUT;
+close STDOUT or die "error closing STDOUT";
index c9d636444fed4e96234464f4ddb460ddf645ffe5..966dddbb7d1060bd198546f5eed14e1c9bb5c816 100644 (file)
@@ -510,4 +510,4 @@ ___
 gen_random("rdrand");
 gen_random("rdseed");
 
-close STDOUT;  # flush
+close STDOUT or die "error closing STDOUT";    # flush
index bf8020d2afc82b2c504b527e6146a5e9836b33b7..4aaac9163dee348d3eeed21a93debca85eff71cf 100644 (file)
@@ -504,4 +504,4 @@ my $rdop = shift;
 
 &asm_finish();
 
-close STDOUT;
+close STDOUT or die "error closing STDOUT";