Do not silently truncate files on perlasm errors
authorDavid Benjamin <davidben@google.com>
Mon, 17 Feb 2020 02:21:27 +0000 (12:21 +1000)
committerPauli <paul.dale@oracle.com>
Mon, 17 Feb 2020 02:21:27 +0000 (12:21 +1000)
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).

This is the OpenSSL 1.1.1 version of
https://github.com/openssl/openssl/pull/10883 and
https://github.com/openssl/openssl/pull/10930.

Reviewed-by: Mark J. Cox <mark@awe.com>
Reviewed-by: Paul Dale David Benjamin <davidben@google.com>
(Merged from https://github.com/openssl/openssl/pull/10931)

160 files changed:
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/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/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-ppc.pl
crypto/chacha/asm/chacha-s390x.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/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/perlasm/x86_64-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-s390x.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 998158998e90697fce14a53598c2841865a904bd..0a9d45a31b57001fb63d9be85cef3109fc51e597 100644 (file)
@@ -1242,4 +1242,4 @@ while(<SELF>) {
 close SELF;
 
 print $code;
-close STDOUT;  # enforce flush
+close STDOUT or die "error closing STDOUT: $!";        # enforce flush
index 19d2cc176fb2bd2efbdfce8e0a76ad13b45ec03d..a4a863fb1e46265798a8c9f71dd3fd8ff2619fc4 100644 (file)
@@ -1379,4 +1379,4 @@ AES_Td4:
 ___
 
 print $code;
-close STDOUT;
+close STDOUT or die "error closing STDOUT: $!";
index 716c3356ead90c0d39249441082fc6be4cab7d73..54c70ed1eebdafa453d85de4a5d43e2cf34d9050 100644 (file)
@@ -2167,4 +2167,4 @@ foreach (split("\n",$code)) {
        print $_,"\n";
 }
 
-close STDOUT;
+close STDOUT or die "error closing STDOUT: $!";
index e817c757f8c28215e4688cbdc50d25db04689768..1229ec6a2faaf2f7bc9506ee16e1551751ca2a49 100644 (file)
@@ -1035,4 +1035,4 @@ foreach (split("\n",$code)) {
 
        print $_,"\n";
 }
-close STDOUT;
+close STDOUT or die "error closing STDOUT: $!";
index ca69df4c3e95bd30bf545e94a575ff0f5fa8a1f5..d017b5064d7c0da7b6c24fbd4d1f52bd987596c8 100644 (file)
@@ -1456,4 +1456,4 @@ ___
 
 $code =~ s/\`([^\`]*)\`/eval $1/gem;
 print $code;
-close STDOUT;
+close STDOUT or die "error closing STDOUT: $!";
index 815fde8fcd7e2b7bf585ace4601011a908e4fc6f..cf748f102a184690938f72d126fb7e57d278678a 100644 (file)
@@ -2279,4 +2279,4 @@ ___
 
 $code =~ s/\`([^\`]*)\`/eval $1/gem;
 print $code;
-close STDOUT;  # force flush
+close STDOUT or die "error closing STDOUT: $!";        # force flush
index 40d1f94ccd7213f150a43136ef3355ddbb4d5b6f..7e2e1e42167cdb05795181ee37e5b5e0060a30df 100755 (executable)
@@ -1189,4 +1189,4 @@ ___
 $code =~ s/fmovs.*$//gm;
 
 print $code;
-close STDOUT;  # ensure flush
+close STDOUT or die "error closing STDOUT: $!";        # ensure flush
index 9ddf0b4b00ecbe528b1cbdbdc61a66e8a218cf24..422bb54ba8ba6716e72337f115265f73fd6326c3 100644 (file)
@@ -1267,4 +1267,4 @@ foreach (split("\n",$code)) {
     print $_,"\n";
 }
 
-close STDOUT;
+close STDOUT or die "error closing STDOUT: $!";
index 243ece462f1b9fcbdd0743ace21cdfb2a5c6adf0..66630311e24a5c16a3aed53dfc50e90c78ae6cca 100644 (file)
@@ -1471,4 +1471,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 50e6ed637e7ca4d019109864ca8ba6df29b2d35b..c90429d8e4ec2a99a8c83080d942ebad29e3e411 100644 (file)
@@ -2143,4 +2143,4 @@ foreach (split("\n",$code)) {
 
        print $_,"\n";
 }
-close STDOUT;
+close STDOUT or die "error closing STDOUT: $!";
index c361f339ead094d8e4ecc097f45f2fbbf6fb78e9..a811bbc8214ee9b09c09a6ce002df81785e874f3 100644 (file)
@@ -1799,4 +1799,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 b351fca28e023f4060ecdee00c62cb840cf2c2b0..4240b9445bf99b23222f1d1138530000f4e53a01 100644 (file)
@@ -3412,4 +3412,4 @@ my ($l_,$block,$i1,$i3,$i5) = ($rounds_,$key_,$rounds,$len,$out);
 
 &asm_finish();
 
-close STDOUT;
+close STDOUT or die "error closing STDOUT: $!";
index 5807f4eff784dd833c7c369dc6fcf0c112d1b469..dfedf6d758def7c329e9fc3061545f3701c9f747 100644 (file)
@@ -5154,4 +5154,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 c0da1b84aaa95355b0973b8086e87715c79843ef..d8a46253e5d6abc9e2072ce81fb2712877def131 100755 (executable)
@@ -3804,4 +3804,4 @@ foreach(split("\n",$code)) {
         print $_,"\n";
 }
 
-close STDOUT;
+close STDOUT or die "error closing STDOUT: $!";
index 54d0c58821a7f47aff5d155d8b03cc9fa305e0da..5260a3467181cf64837300fef1082e53618531b0 100644 (file)
@@ -926,4 +926,4 @@ ___
 
 &emit_assembler();
 
-close STDOUT;
+close STDOUT or die "error closing STDOUT: $!";
index eec0ed230a8886a26dd79df821574dcf2bc0139c..d515a5fc1d71c3b2dc543f46083aff5a063bf75a 100755 (executable)
@@ -1008,4 +1008,4 @@ if ($flavour =~ /64/) {                   ######## 64-bit code
     }
 }
 
-close STDOUT;
+close STDOUT or die "error closing STDOUT: $!";
index bfe825af0d92b8c0b8f5ba53aed639de76765cff..6f4aeb2e5c1d4c92aef7e13b1eb750de20354917 100644 (file)
@@ -2488,4 +2488,4 @@ close SELF;
 
 print $code;
 
-close STDOUT;
+close STDOUT or die "error closing STDOUT: $!";
index e38288af5558adefa7d0c5b0b88de7ea2e8f0803..84b7ba046d88ce4d0e37460ec24e7fbbb842a28f 100755 (executable)
@@ -1274,4 +1274,4 @@ ___
 }      }
 print $code;
 
-close STDOUT;
+close STDOUT or die "error closing STDOUT: $!";
index 3c771a7e98b1c2af3d68e92fb6318667a16b2c07..4469eaba3dad66ac509da3a997f553dc77230aee 100644 (file)
@@ -1591,4 +1591,4 @@ foreach  (split("\n",$code)) {
        print $_,"\n";
 }
 
-close STDOUT;
+close STDOUT or die "error closing STDOUT: $!";
index 7d57edc0eb6c1090838b50ac367a978f64b07118..bdebe6628f3c9d51d8b45a23a2e67a73fc9a3487 100644 (file)
@@ -913,4 +913,4 @@ $k_dsbo=0x2c0;              # decryption sbox final output
 
 &asm_finish();
 
-close STDOUT;
+close STDOUT or die "error closing STDOUT: $!";
index 33d293e623d5ba79b5d0ef6c6a3fea65c7a6a817..2b469b55a1b5601229a991c13c782cb0dcd7952a 100644 (file)
@@ -1238,4 +1238,4 @@ $code =~ s/\`([^\`]*)\`/eval($1)/gem;
 
 print $code;
 
-close STDOUT;
+close STDOUT or die "error closing STDOUT: $!";
index 6c7fd4c9dd3dd1dbd19a9c93141f44e6e6295716..8144555e0e329416f2606d655fcf92b5c57f7a22 100644 (file)
@@ -254,4 +254,4 @@ OPENSSL_instrument_bus2:
 ___
 }
 
-close STDOUT;
+close STDOUT or die "error closing STDOUT: $!";
index 06c8add7a07561f1f00b2e5edb6826881771ba83..397b00f87313591338e06f6c863eb9150a4bc405 100755 (executable)
@@ -144,4 +144,4 @@ CRYPTO_memcmp:
 ___
 
 print $code;
-close STDOUT;
+close STDOUT or die "error closing STDOUT: $!";
index ab007c19c3cd0c2caf9e16e50649cc4b76df8ae1..9619a4f4b07ed0ee1c9ce69bbab4fccff12fd5fc 100644 (file)
@@ -293,4 +293,4 @@ atomic_add_spinlock:
 ___
 
 print $code;
-close STDOUT;
+close STDOUT or die "error closing STDOUT: $!";
index 4e913aecf42da0cfd525a1484949fa469f52019d..982d2780b5d6915c16c043e8a1ee363d0324463c 100644 (file)
@@ -32,7 +32,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 c9b962a150de61c07a922a8a1a1390a7a6d6d6d4..efd724ce97d90e06ec914b862e6063432df0994d 100644 (file)
@@ -325,4 +325,4 @@ bn_mul_mont:
 ___
 
 print $code;
-close STDOUT;
+close STDOUT or die "error closing STDOUT: $!";
index 7a0cdb2e8a009642e15844016158d3089787c295..62450617b12d75daaa2a347223ca981ea970f789 100644 (file)
@@ -329,4 +329,4 @@ foreach (split("\n",$code)) {
 
        print $_,"\n";
 }
-close STDOUT;   # enforce flush
+close STDOUT or die "error closing STDOUT: $!";   # enforce flush
index 6bedc62ba62deb6b85a716943097290df62b84c5..c74967511ccc8c87d96432bba63af2b6833b3e7b 100644 (file)
@@ -754,4 +754,4 @@ foreach (split("\n",$code)) {
        print $_,"\n";
 }
 
-close STDOUT;
+close STDOUT or die "error closing STDOUT: $!";
index d8347bf932492895ea80366da3ea9a912e9d30b3..333c5ea9c23249b1b682f276974885ea0da5cb71 100755 (executable)
@@ -1511,4 +1511,4 @@ ___
 
 print $code;
 
-close STDOUT;
+close STDOUT or die "error closing STDOUT: $!";
index 58effc8808dd4793398d2cb6431eb4ed6b4580bd..41974738bfcfd212b2cba360188d83ce94d2475f 100644 (file)
@@ -31,7 +31,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 9c46da3af8d1f5406de210c3745ab5481e0d53d6..f077b39777f6caa4ffa6c64c56a5488aa2093b1a 100644 (file)
@@ -157,4 +157,4 @@ $code.=<<___;
 ___
 
 print $code;
-close STDOUT;
+close STDOUT or die "error closing STDOUT: $!";
index 64648c9192c18b902c7832fdee65ad29e582efc4..5a0a1533a36dad363332f17d7993f33d885f2a03 100644 (file)
@@ -22,7 +22,7 @@ open STDOUT,">$output";
 
 &asm_finish();
 
-close STDOUT;
+close STDOUT or die "error closing STDOUT: $!";
 
 sub mul_add_c
        {
index ec486f77792be6c2f0c430cd1437a0cd47800646..3071a675f66f348f80d0d91122f1175797f47ca7 100644 (file)
@@ -857,4 +857,4 @@ ___
 
 open STDOUT,">$output" if $output;
 print $code;
-close STDOUT;
+close STDOUT or die "error closing STDOUT: $!";
index fbe5d04f716c989090944655bea742ea5c777f35..3998ef81fb8b9c95f3b4ff2635621d26421ac478 100644 (file)
@@ -430,4 +430,4 @@ ___
 $code =~ s/\`([^\`]*)\`/eval $1/gem;
 
 print $code;
-close STDOUT;
+close STDOUT or die "error closing STDOUT: $!";
index a205189eb684fecd72d12616d331877d8964af89..12a293c43b80e6ecd96d95f18a8e95ce5422b65d 100644 (file)
@@ -2260,4 +2260,4 @@ $code.=<<___;
 .end   bn_sqr_comba4
 ___
 print $code;
-close STDOUT;
+close STDOUT or die "error closing STDOUT: $!";
index aa9f626ed267681311fda3624fb5cbdf24342963..002ec96dbc8320ce3930bbc82ab4784429ec8a2a 100644 (file)
@@ -1003,4 +1003,4 @@ foreach (split("\n",$code)) {
 
        print $_,"\n";
 }
-close STDOUT;
+close STDOUT or die "error closing STDOUT: $!";
index ec7e019a4380fbf35fbfadbcb07e87b414590c75..a997472e84252a41900aa2d0c3dd07ba5eda956e 100644 (file)
@@ -1987,4 +1987,4 @@ ___
 
 $code =~ s/\`([^\`]*)\`/eval $1/gem;
 print $code;
-close STDOUT;
+close STDOUT or die "error closing STDOUT: $!";
index d6d4e66f92e954d20bfa085caef37e740324f9c9..03481c28c8ca2d662974d9f27ca9db9fb6fd153a 100644 (file)
@@ -2009,4 +2009,4 @@ Lppcasm_maw_adios:
 EOF
 $data =~ s/\`([^\`]*)\`/eval $1/gem;
 print $data;
-close STDOUT;
+close STDOUT or die "error closing STDOUT: $!";
index c41b620bc23ec87a0bf46a2b9671d88bafa07d2b..e2b62f4dac04a5fea15d70b4215d32add8d85af7 100644 (file)
@@ -1649,4 +1649,4 @@ ___
 
 $code =~ s/\`([^\`]*)\`/eval $1/gem;
 print $code;
-close STDOUT;
+close STDOUT or die "error closing STDOUT: $!";
index ec66e2565c0b67a07da2cd716fdbd611dc431f0f..fca4cd110bc87cffa49eb490b9f1d07e6dffe896 100755 (executable)
@@ -1979,4 +1979,4 @@ rsaz_1024_gather5_avx2:
 ___
 }}}
 
-close STDOUT;
+close STDOUT or die "error closing STDOUT: $!";
index ac21676d8d3605ea174ed4acfcd531337d463b8f..3b92a423aab94c58ca8fdd0186677252879626bf 100755 (executable)
@@ -2428,4 +2428,4 @@ ___
 
 $code =~ s/\`([^\`]*)\`/eval $1/gem;
 print $code;
-close STDOUT;
+close STDOUT or die "error closing STDOUT: $!";
index 06181bf9b95f77a0c2589a17045d7d6673b1880a..75bf91817bfdaea994bbf9098c1ebb258e163bbc 100644 (file)
@@ -225,4 +225,4 @@ ___
 
 $code =~ s/\`([^\`]*)\`/eval($1)/gem;
 print $code;
-close STDOUT;
+close STDOUT or die "error closing STDOUT: $!";
index 21b935a96252fb6cea40c87184df377e717d3823..689d249cca1cbd0e66b5ad2fcdf596515454387b 100644 (file)
@@ -281,4 +281,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 fcae9cfc5b44bf43877c9ec1cddc64eca594a7e9..b3cf02a515595009782c08be7d89545fd08330fe 100755 (executable)
@@ -1225,4 +1225,4 @@ ___
 
 &emit_assembler();
 
-close STDOUT;
+close STDOUT or die "error closing STDOUT: $!";
index dcf11a87a18e2d5f7f50227f5e1d796e24f7a952..09471d4f608716fe2b798ea11e76e0e7259bbdd4 100644 (file)
@@ -197,4 +197,4 @@ ___
 
 $code =~ s/\`([^\`]*)\`/eval($1)/gem;
 print $code;
-close STDOUT;
+close STDOUT or die "error closing STDOUT: $!";
index b41903af985f56adeb1f22f8194611e0485e1a28..598839b6e36c05b2f2f40881f180166d15fe201a 100644 (file)
@@ -617,4 +617,4 @@ $code.=<<___;
 ___
 $code =~ s/\`([^\`]*)\`/eval($1)/gem;
 print $code;
-close STDOUT;
+close STDOUT or die "error closing STDOUT: $!";
index c8f759df9fbd1a73298ea9041adf31ad186382af..72df364764d4602f52cf9de2ae3d08a8a57c3911 100755 (executable)
@@ -884,4 +884,4 @@ $code =~ s/fzeros\s+%f([0-9]+)/
 
 print $code;
 # flush
-close STDOUT;
+close STDOUT or die "error closing STDOUT: $!";
index 9cf717e8410248a46a369d20e6df1fe76f3ef13b..c836019c5f2dd5a47a8bfe2fa0a4925c96adf041 100644 (file)
@@ -248,4 +248,4 @@ $sp=&DWP(28,"esp");
 
 &asm_finish();
 
-close STDOUT;
+close STDOUT or die "error closing STDOUT: $!";
index 04833a0c876df048b05c67dcba38236cab7720c2..826bb941f4097b2b78dc06c7ca0d9f30d25efc68 100644 (file)
@@ -381,4 +381,4 @@ foreach (split("\n",$code)) {
        print $_,"\n";
 }
 
-close STDOUT;
+close STDOUT or die "error closing STDOUT: $!";
index d03efcc75023dcadb711ed5e6badc57b3e6aae45..907062c618c92e6aac4b519b5802ce9e28ce0ccb 100644 (file)
@@ -322,4 +322,4 @@ if ($sse2) {
 
 &asm_finish();
 
-close STDOUT;
+close STDOUT or die "error closing STDOUT: $!";
index 7ba2133ac9c3a1e6efed81d84abc875714d416b8..a09c5368f2cc5894478f2b51a1d2cd8f1ffa233d 100755 (executable)
@@ -628,4 +628,4 @@ $sbit=$num;
 
 &asm_finish();
 
-close STDOUT;
+close STDOUT or die "error closing STDOUT: $!";
index 0fd6e985d7b05886c07354d4f7a019a488aff015..84ca2f1b93687e91760e9eaa4d9c28a4eadba411 100644 (file)
@@ -421,4 +421,4 @@ ___
 
 $code =~ s/\`([^\`]*)\`/eval($1)/gem;
 print $code;
-close STDOUT;
+close STDOUT or die "error closing STDOUT: $!";
index 01d6bbd64d8ac8b0eeafacbcaabc5f1f3747abf9..f79300822513f90c8aed59d4190f85575cf31c76 100755 (executable)
@@ -1589,4 +1589,4 @@ ___
 }
 
 print $code;
-close STDOUT;
+close STDOUT or die "error closing STDOUT: $!";
index f5bd0fc6e5997e44324b7d6dca247f987e9e4955..36a30ee33629559ca8603b05b65960e25f15937f 100755 (executable)
@@ -3960,4 +3960,4 @@ ___
 $code =~ s/\`([^\`]*)\`/eval($1)/gem;
 
 print $code;
-close STDOUT;
+close STDOUT or die "error closing STDOUT: $!";
index b7b11d50316b1cd497487d6e8d17e8e2e93f1a9b..496ae3f05ad0cfa66d646398fe8a5d2eb4a5adea 100644 (file)
@@ -284,4 +284,4 @@ bus_loop2_done?:
 ___
 
 print $code;
-close STDOUT;
+close STDOUT or die "error closing STDOUT: $!";
index 55af9b4e3d01f0fd02412610f949444957b28c5a..6d6fe9bc8ac08dc7ff5dc65024acda7f4f21566c 100644 (file)
@@ -1147,4 +1147,4 @@ my ($s0,$s1,$s2,$s3) = @T;
 
 &asm_finish();
 
-close STDOUT;
+close STDOUT or die "error closing STDOUT: $!";
index ff7bf12f3bdd1366a15b6738a160693f17637d05..36fd7cbfd4eedddb83ea98b34c57e489f90411e2 100644 (file)
@@ -1150,4 +1150,4 @@ ___
 
 $code =~ s/\`([^\`]*)\`/eval $1/gem;
 print $code;
-close STDOUT;
+close STDOUT or die "error closing STDOUT: $!";
index 6396679a5af4b24e2f86df946a0de77ed2157afd..30c5f95df338b49e353b9ad39a562b64b42b4eda 100644 (file)
@@ -936,4 +936,4 @@ ___
 
 &emit_assembler();
 
-close STDOUT;
+close STDOUT or die "error closing STDOUT: $!";
index d5d38965cf760a8ea0f799789329cab42de1e724..038f36e57dd16b48c716bc0f25ed05ebf396f657 100644 (file)
@@ -46,7 +46,7 @@ $S4="CAST_S_table3";
 
 &asm_finish();
 
-close STDOUT;
+close STDOUT or die "error closing STDOUT: $!";
 
 sub CAST_encrypt {
     local($name,$enc)=@_;
index d3fadcc63d3338e25f0eadb41d2c6ce435410413..736b1d0b0c0656525066e241736ccecbd153c865 100755 (executable)
@@ -1157,4 +1157,4 @@ foreach (split("\n",$code)) {
 
        print $_,"\n";
 }
-close STDOUT;
+close STDOUT or die "error closing STDOUT: $!";
index e90be6d0e5bdd629d7318056ef4b34643f503295..f8174055b393f541e562cae9bc2bc782e5640d38 100755 (executable)
@@ -1141,4 +1141,4 @@ foreach (split("\n",$code)) {
 
        print $_,"\n";
 }
-close STDOUT;  # flush
+close STDOUT or die "error closing STDOUT: $!";        # flush
index 266401eb1644b5983549ac3078a0e5146fd3347e..6b37618d9a33136f5cfcaf7a6438c3215c3f681e 100755 (executable)
@@ -923,4 +923,4 @@ $code.=<<___;
 ___
 
 print $code;
-close STDOUT;
+close STDOUT or die "error closing STDOUT: $!";
index f4f8610bf3bf78128cca227aa8eac5781be3ea7e..04d00b5eaf904738265a374f7aba79fa6b0c7db1 100755 (executable)
@@ -1345,4 +1345,4 @@ foreach (split("\n",$code)) {
        print $_,"\n";
 }
 
-close STDOUT;
+close STDOUT or die "error closing STDOUT: $!";
index c31526473dba4d59059088733fe16cb5fa7756c4..f8deecf262281823fb46f88e5dcfc854155ce3be 100755 (executable)
@@ -323,4 +323,4 @@ foreach (split("\n",$code)) {
 
        print $_,"\n";
 }
-close STDOUT;
+close STDOUT or die "error closing STDOUT: $!";
index b68d07fcb76ebeb0a911d338b89164c487ec7332..bdf53c877d2257c7dfd9c17001fb93f9710733b8 100755 (executable)
@@ -1152,4 +1152,4 @@ sub XOPROUND {
 
 &asm_finish();
 
-close STDOUT;
+close STDOUT or die "error closing STDOUT: $!";
index afb3fbf4a203d28acd06b1245cdcb7cc59de18f6..d80ab1377675206b088c306d6e0b014eda36c190 100755 (executable)
@@ -4002,4 +4002,4 @@ foreach (split("\n",$code)) {
        print $_,"\n";
 }
 
-close STDOUT;
+close STDOUT or die "error closing STDOUT: $!";
index a02d1806314949bc761aa2d86d36cbc5b6ca786f..3bd6b8a7f86f3b682cddc1296dc8509b7b1e83ae 100644 (file)
@@ -25,7 +25,7 @@ $R="esi";
 &fcrypt_body("fcrypt_body");
 &asm_finish();
 
-close STDOUT;
+close STDOUT or die "error closing STDOUT: $!";
 
 sub fcrypt_body
        {
index 2bcc54ef2f2551cf50c81b186cd63eb67f9dd238..49cf6bd1734451cca1a3ba7535486d49c903fdce 100644 (file)
@@ -47,7 +47,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 fe1fdc7025cf4466773357b5be3dd41e4bec213c..a67af1def61268cecc6fc42b965b746e8ca641b9 100644 (file)
@@ -624,4 +624,4 @@ ___
 
 &emit_assembler();
 
-close STDOUT;
+close STDOUT or die "error closing STDOUT: $!";
index f5e7a88163cbc8cd1d4bb2038e3c757d6fabf64b..ce2269ae6713724ccbc070f6a548b3525e461f58 100755 (executable)
@@ -1849,4 +1849,4 @@ foreach (split("\n",$code)) {
 
        print $_,"\n";
 }
-close STDOUT;  # enforce flush
+close STDOUT or die "error closing STDOUT: $!";        # enforce flush
index e32d0d9344d5c1daca1f35859f71a18d0bdd0cb8..66da3b639573b34d9adadb3a1f2b8a253924459b 100644 (file)
@@ -1871,4 +1871,4 @@ foreach (split("\n",$code)) {
 
        print $_,"\n";
 }
-close STDOUT;  # enforce flush
+close STDOUT or die "error closing STDOUT: $!";        # enforce flush
index a8cce34bbed874618e3b109fcfb2fd73beb87659..f0ff88ac0dde6ce29572c0b25eb7e754657d3adc 100755 (executable)
@@ -2077,4 +2077,4 @@ foreach (split("\n",$code)) {
        print $_,"\n";
 }
 
-close STDOUT;
+close STDOUT or die "error closing STDOUT: $!";
index 984c7f205056c721602a94b971c3dff2796e32f7..bc21df6f447ac28451de158ca2e62c0ee21f8aae 100755 (executable)
@@ -2379,4 +2379,4 @@ foreach (split("\n",$code)) {
 
        print $_,"\n";
 }
-close STDOUT;  # enforce flush
+close STDOUT or die "error closing STDOUT: $!";        # enforce flush
index 4383bea4a7bed6260fa765dac164ca25fc91d4fd..f345623b9ab1752018fb544af763fefea6d02057 100755 (executable)
@@ -3057,4 +3057,4 @@ foreach (split("\n",$code)) {
        print $_,"\n";
 }
 
-close STDOUT;
+close STDOUT or die "error closing STDOUT: $!";
index 1a44c639d7dc411889eab65c57241a125f256c8a..cc30e74f31f8ea8d8f2477b35bf5eb2cf5b8900e 100755 (executable)
@@ -1859,4 +1859,4 @@ for ($i=0;$i<7;$i++) {
 
 &asm_finish();
 
-close STDOUT;
+close STDOUT or die "error closing STDOUT: $!";
index 94b08165d0111663175b77d9c8756c0a4f9e8405..a678c6d66ebc4cf2a13671198a8cf7c2dac49bb8 100755 (executable)
@@ -4736,4 +4736,4 @@ ___
 
 $code =~ s/\`([^\`]*)\`/eval $1/gem;
 print $code;
-close STDOUT;
+close STDOUT or die "error closing STDOUT: $!";
index 6e8b36420f53bf9fcaf9af2f9a3d6f5d68a8621c..1f2f161f5997fb5b617252eea9c794eb146f2838 100755 (executable)
@@ -821,4 +821,4 @@ ___
 
 $code =~ s/\`([^\`]*)\`/eval $1/gem;
 print $code;
-close STDOUT;
+close STDOUT or die "error closing STDOUT: $!";
index 3a4a1483e79cffacedbe470c389f6919dc237e22..8e625c1147edef3726be9930309074ab1e87316c 100755 (executable)
@@ -1128,4 +1128,4 @@ ___
 
 $code =~ s/\`([^\`]*)\`/eval $1/gem;
 print $code;
-close STDOUT;
+close STDOUT or die "error closing STDOUT: $!";
index 15e14864d1950d5fa670291d8e0bebb90cd0db05..fe82c2e0625fdf883910bd8f61675b2c28f621b1 100644 (file)
@@ -43,7 +43,7 @@ $X="esi";
 &md5_block("md5_block_asm_data_order");
 &asm_finish();
 
-close STDOUT;
+close STDOUT or die "error closing STDOUT: $!";
 
 sub Np
        {
index 6a62c62531899ffef4f4afeb2ec639af8ec9e498..2f2c7b0f8ece9fad5409973d08fcc2109cce6c38 100644 (file)
@@ -434,4 +434,4 @@ foreach (split("\n",$code)) {
        print $_,"\n";
 }
 
-close STDOUT;
+close STDOUT or die "error closing STDOUT: $!";
index 386d8048ec02b29a2581bc324f43890b62cb9d79..10b5f2de74927d63025a7eabd7478b43a6f46a1a 100755 (executable)
@@ -390,4 +390,4 @@ ___
 
 print $code;
 
-close STDOUT;
+close STDOUT or die "error closing STDOUT: $!";
index 80e61faacfc04a768378985bbcb9f42a38f8719c..a11036c46452e2ae4a5e1d9e4d1379df3cf7a72e 100644 (file)
@@ -1104,4 +1104,4 @@ $code =~ s/\`([^\`]*)\`/eval($1)/gem;
 
 print $code;
 
-close STDOUT;
+close STDOUT or die "error closing STDOUT: $!";
index ccf6b2bd6fac43e0ce8987ce9373ee0b0dc6dabf..654b9c827267fead629c34fd766835ed1e2a0a7e 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 dcc23f7d7dbe403356328382a3ab7a5e8398df61..d07a249b1e193e23cacfee305b01803db2d2ea4a 100644 (file)
@@ -548,4 +548,4 @@ foreach (split("\n",$code)) {
 
        print $_,"\n";
 }
-close STDOUT; # enforce flush
+close STDOUT or die "error closing STDOUT: $!"; # enforce flush
index 3cadda39945cf1dfd163cd5a4e9aa92c9504279b..c60f5915e014d775701dabe7a6630819b8a84746 100644 (file)
@@ -244,4 +244,4 @@ $code.=<<___;
 ___
 
 print $code;
-close STDOUT;
+close STDOUT or die "error closing STDOUT: $!";
index eb9ded91e5b655f00754364a00e3ca6e8076d77c..2586a4e22db14f2c7f4666b25552544cc1ceb3dc 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 a614c99c22ce28b2fe0db3c5cfe2a6fab19b5550..0ed7e3fa8f64af6657e02a3d86e785990a096042 100644 (file)
@@ -745,4 +745,4 @@ foreach (split("\n",$code)) {
        print $_,"\n";
 }
 
-close STDOUT;
+close STDOUT or die "error closing STDOUT: $!";
index 17dc375053c5c092e0c7d7d9096d43b1c62e5069..fc0181f6c87c266de49ecb0a30866ad6bbc57503 100644 (file)
@@ -259,4 +259,4 @@ ___
 
 $code =~ s/\`([^\`]*)\`/eval $1/gem;
 print $code;
-close STDOUT;
+close STDOUT or die "error closing STDOUT: $!";
index c4eb3b1f02060edc69cdb129bd2438e1bf289d3c..2d835c41036e83160f49cf8b3caf3263ea62ce1c 100644 (file)
@@ -578,4 +578,4 @@ foreach (split("\n",$code)) {
        print $_,"\n";
 }
 
-close STDOUT;
+close STDOUT or die "error closing STDOUT: $!";
index bcbe6e399d13e8f6bb67f45cd3a00f4f3a902c5d..8bde220ae50e29c1447128455aa088586012f60b 100644 (file)
@@ -1378,7 +1378,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 1e5221005d0ec961a780d0a4eaef2493c575510e..554c5f54529e5d53c387ea2e48bbb4d750946b6f 100644 (file)
@@ -1815,4 +1815,4 @@ $code =~ s/\`([^\`]*)\`/eval($1)/gem;
 
 print $code;
 
-close STDOUT;
+close STDOUT or die "error closing STDOUT: $!";
index 6a2ac712950b470ec07a6fd5c93b7ece8b232ada..682c8462205919d5d79aa98dd3b4080299dbbe0b 100755 (executable)
@@ -668,4 +668,4 @@ foreach (split("\n",$code)) {
        print $_,"\n";
 }
 
-close STDOUT; # enforce flush
+close STDOUT or die "error closing STDOUT: $!"; # enforce flush
index 47e8820080693f614d63ef777e776cedba02d0e2..bfcd67df35bebdaa447088a3cedf5faad334de27 100644 (file)
@@ -778,4 +778,4 @@ if ($flavour =~ /64/) {                     ######## 64-bit code
     }
 }
 
-close STDOUT; # enforce flush
+close STDOUT or die "error closing STDOUT: $!"; # enforce flush
index 5a231c49f02a0a8df7a0b85b4f4db04c2d7630f2..d039bf4a87f1950523f648c155c65b98b7f2e28b 100644 (file)
@@ -272,5 +272,5 @@ foreach(split("\n",$code)) {
 
        print $_,"\n";
 }
-close STDOUT;
+close STDOUT or die "error closing STDOUT: $!";
 
index ca2f8b990b972ceb434151e8352b9dd0345d6596..90ec5ce7efcc1badc77a1188d107ff0f378bc131 100755 (executable)
@@ -174,4 +174,4 @@ while(my $line=<>) {
     print "\n";
 }
 
-close STDOUT;
+close STDOUT or die "error closing STDOUT: $!";
index d220c6245b563b6e7d84b965761394ea80476ef4..3bb8f23299014b9d164df9e11d609e93d4034eb2 100755 (executable)
@@ -341,4 +341,4 @@ while($line=<>) {
     print "\n";
 }
 
-close STDOUT;
+close STDOUT or die "error closing STDOUT: $!";
index 29a0eacfd532a6a41db6e986e144b33471920990..ff57e507d7beb8b2288875428868ac191bd359f5 100755 (executable)
@@ -1216,7 +1216,7 @@ while(defined(my $line=<>)) {
 print "\n$current_segment\tENDS\n"     if ($current_segment && $masm);
 print "END\n"                          if ($masm);
 
-close STDOUT;
+close STDOUT or die "error closing STDOUT: $!";
 
 \f#################################################
 # Cross-reference x86_64 ABI "card"
index 5cdb6be05914a6ef75e055a253b128c70547fa3f..659d77dff02c4a3413adda86b73206cbb7322fc7 100755 (executable)
@@ -1250,4 +1250,4 @@ foreach (split("\n",$code)) {
 
        print $_,"\n";
 }
-close STDOUT; # enforce flush
+close STDOUT or die "error closing STDOUT: $!"; # enforce flush
index 6c6c9bb05be074e442e41f2738075e9c4173017a..0a3c34cc7de2c215863e1467125d86e5aa1bff1e 100755 (executable)
@@ -943,4 +943,4 @@ foreach (split("\n",$code)) {
 
        print $_,"\n";
 }
-close STDOUT;
+close STDOUT or die "error closing STDOUT: $!";
index 28b6772ee5fe7954e4be9da30acedfc86f54ccb0..73a710a16f0afe412fbac0a06d5b335f651ea275 100755 (executable)
@@ -433,5 +433,5 @@ ___
 
 $output=pop and open STDOUT,">$output";
 print $code;
-close STDOUT;
+close STDOUT or die "error closing STDOUT: $!";
 
index 0c6d015d585bee046ab69cd12e0699f291aa8e5b..c077e0c307e30e8be8a71ed6edba829afdf49871 100755 (executable)
@@ -642,4 +642,4 @@ ___
 
 $code =~ s/\`([^\`]*)\`/eval $1/gem;
 print $code;
-close STDOUT;
+close STDOUT or die "error closing STDOUT: $!";
index 09f8185848427441c10132813efab265e807b1d4..9dc352171a2bdb5c6c8918085eb8fec67b1d5241 100755 (executable)
@@ -736,4 +736,4 @@ ___
 
 $code =~ s/\`([^\`]*)\`/eval $1/gem;
 print $code;
-close STDOUT;
+close STDOUT or die "error closing STDOUT: $!";
index 82d757d9a1caa860e559043b4d5d6d5b7d08f0f4..31a58fdb690bce0af6c24fd72706599f7f2c58e2 100755 (executable)
@@ -224,4 +224,4 @@ $code =~ s/\`([^\`]*)\`/eval $1/gem;
 $code =~ s/\b(srlg\s+)(%r[0-9]+\s*,)\s*([0-9]+)/$1$2$2$3/gm;
 
 print $code;
-close STDOUT;
+close STDOUT or die "error closing STDOUT: $!";
index 0bdd04892544a0787d6c58a62451a1792e9f9486..db96af645f7ac88fce492e3ec092378a913af57c 100755 (executable)
@@ -1117,4 +1117,4 @@ foreach (split("\n",$code)) {
        print $_,"\n";
 }
 
-close STDOUT;
+close STDOUT or die "error closing STDOUT: $!";
index 3e0e7883be58bd22b1055cd805799f45a7c3a6ed..a02823361bcc3b994de9df1e935313108d121d4d 100755 (executable)
@@ -1812,4 +1812,4 @@ sub vlazy_reduction {
 
 &asm_finish();
 
-close STDOUT;
+close STDOUT or die "error closing STDOUT: $!";
index c3b7ce36580f1e15b2b2829267c4ac97a176fc16..4aa71783ee0833895dff2a474624b1a8c96e650a 100755 (executable)
@@ -4180,4 +4180,4 @@ foreach (split('\n',$code)) {
 
        print $_,"\n";
 }
-close STDOUT;
+close STDOUT or die "error closing STDOUT: $!";
index a38445fd3c5292aa743b546741b725d02bed170b..4e35978d84060487067195a74281999effe6038b 100755 (executable)
@@ -379,4 +379,4 @@ ___
 
 $code =~ s/\`([^\`]*)\`/eval $1/gem;
 print $code;
-close STDOUT;
+close STDOUT or die "error closing STDOUT: $!";
index 8c5cf87d05cecfbafea847143d72a9ccce033715..211f0cd90ef22c3a77fb29ee91da1e0f38c3c691 100644 (file)
@@ -423,4 +423,4 @@ $idx="edx";
 
 &asm_finish();
 
-close STDOUT;
+close STDOUT or die "error closing STDOUT: $!";
index 1354d182149335f09b73fe8e54871bd7a3ccb631..c2843aea060de398f1b6495ab261181bcf5f7579 100644 (file)
@@ -189,4 +189,4 @@ ___
 $output=pop;
 open STDOUT,">$output";
 print $code;
-close STDOUT;
+close STDOUT or die "error closing STDOUT: $!";
index 7b02f09fedf1e6346711eda9676eefac9cbe64e8..0679c590d5b40ff88440458f52fd26901491090b 100644 (file)
@@ -660,4 +660,4 @@ $code =~ s/#rc4#//gm        if ($rc4);
 
 print $code;
 
-close STDOUT;
+close STDOUT or die "error closing STDOUT: $!";
index 4111f339dae4f6d206aebe3e52e80d305ec7323a..947dd4903b7ae4f495708e4495c4a7c6a1164052 100644 (file)
@@ -330,4 +330,4 @@ foreach(split("\n",$code)) {
 
        print $_,"\n";
 }
-close STDOUT;
+close STDOUT or die "error closing STDOUT: $!";
index 984afaab5caef404714484af33d112b1fd6c674b..b528d3feec5bb4033f9a5177a6ec9712ba03d5e9 100644 (file)
@@ -238,4 +238,4 @@ RC4_options:
 ___
 
 print $code;
-close STDOUT;  # force flush
+close STDOUT or die "error closing STDOUT: $!";        # force flush
index 32d842c59f9e439bd3f9a4cb33acf299dd59e8ab..7af3df46d0a87abd8accd6eafb5db59cc4e57a39 100755 (executable)
@@ -698,4 +698,4 @@ $code =~ s/\`([^\`]*)\`/eval $1/gem;
 
 print $code;
 
-close STDOUT;
+close STDOUT or die "error closing STDOUT: $!";
index e58a98bc83b609eec2150922ab64aaadacfc2a4d..b7d7ae6aee9d6b5221751f48771a051187a3ea14 100644 (file)
@@ -32,7 +32,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 84aa7ced17c0658dbc8558e5f654daf055154e83..b34f7bb2e473f9b553542527e733d655ae7d4412 100644 (file)
@@ -70,7 +70,7 @@ $KR3=0x7A6D76E9;
 &ripemd160_block("ripemd160_block_asm_data_order");
 &asm_finish();
 
-close STDOUT;
+close STDOUT or die "error closing STDOUT: $!";
 
 sub Xv
        {
index ec700a47d98e9277b1a00d93e42d99644d4b030b..a584ca4bc58864f6b376deb90fd7298519339b39 100755 (executable)
@@ -418,4 +418,4 @@ ___
 
 $code =~ s/\`([^\`]*)\`/eval $1/gem;
 print $code;
-close STDOUT;  # force flush
+close STDOUT or die "error closing STDOUT: $!";        # force flush
index cb8ccc90f5b9311506906d1bf78595ae0f8eec4b..a58c3ffb5cae609c341cba4e09335585a000a6d5 100755 (executable)
@@ -1603,4 +1603,4 @@ foreach (split($/,$code)) {
        print $_,"\n";
 }
 
-close STDOUT; # enforce flush
+close STDOUT or die "error closing STDOUT: $!"; # enforce flush
index 3173c77f53631bc025e8e9681459dd436e35e713..9bd6776d1f5470623083dfaaac7b4d8b6ec61589 100755 (executable)
@@ -877,4 +877,4 @@ foreach(split("\n",$code)) {
        print $_,"\n";
 }
 
-close STDOUT;
+close STDOUT or die "error closing STDOUT: $!";
index d9fc1c59ec29d0eda1bf892adb0039b46d47e50e..ce4f5a4b78d4a76d95845b9391eb14ac2ac5c9ac 100755 (executable)
@@ -479,4 +479,4 @@ ___
 $output=pop;
 open STDOUT,">$output";
 print $code;
-close STDOUT;
+close STDOUT or die "error closing STDOUT: $!";
index 9074ff02dec33b8097717277a7e2e700c5d308ed..41fd2fb446470f3e93ff7c2be64f5303707d3141 100755 (executable)
@@ -548,4 +548,4 @@ ___
 $output=pop;
 open STDOUT,">$output";
 print $code;
-close STDOUT;
+close STDOUT or die "error closing STDOUT: $!";
index a21bb8615a7cb9d36ab69d239af0a3a31d0a4246..ee630d685d01b0a3dee40fd2f78eba13b65d9ff6 100755 (executable)
@@ -389,4 +389,4 @@ ___
 $output=pop;
 open STDOUT,">$output";
 print $code;
-close STDOUT;
+close STDOUT or die "error closing STDOUT: $!";
index b00af9af91d84cc00baa79dff7566f429e5f88a3..1e49b508d66cfe8a8958faa4726360282f8fd732 100755 (executable)
@@ -882,4 +882,4 @@ ___
 $output=pop;
 open STDOUT,">$output";
 print $code;
-close STDOUT;
+close STDOUT or die "error closing STDOUT: $!";
index be24394d3548bfb95334e0067b5105d4c75a2a52..b390309b806d5d90f92ad42181b27fd519463dc3 100755 (executable)
@@ -437,4 +437,4 @@ sub Rho() {                         ######### regular Rho step
 
 &asm_finish();
 
-close STDOUT;
+close STDOUT or die "error closing STDOUT: $!";
index 30e70c5d6d7b9bf8fed6da6438d7930540800f37..c46c8530eed7991ac19a9c0f7b4c98c824d6b5a6 100755 (executable)
@@ -755,4 +755,4 @@ ___
 
 $code =~ s/\`([^\`]*)\`/eval $1/gem;
 print $code;
-close STDOUT;
+close STDOUT or die "error closing STDOUT: $!";
index 1184cf233eba2e92c901d34e3c75e81718b31045..188231e2b1cff4ff9e2307b53217394a2d707a62 100755 (executable)
@@ -557,4 +557,4 @@ ___
 $code =~ s/(srlg\s+)(%r[0-9]+),/$1$2,$2,/gm;
 
 print $code;
-close STDOUT;
+close STDOUT or die "error closing STDOUT: $!";
index 34457034bf61aa8813a1f03543675a7ca524b4fe..a48d40dbf5902b2f2af72e3b3ecdaaeb6342d00f 100755 (executable)
@@ -606,4 +606,4 @@ foreach (split("\n",$code)) {
        print $_, "\n";
 }
 
-close STDOUT;
+close STDOUT or die "error closing STDOUT: $!";
index de2bcd660a0926c42cc64ce6f850b15838ecdf2c..0dfb9620963e2dd801e08a96147caa04db06059d 100755 (executable)
@@ -847,4 +847,4 @@ foreach  (split("\n",$code)) {
        print $_,"\n";
 }
 
-close STDOUT;
+close STDOUT or die "error closing STDOUT: $!";
index 38167b9c5c96c8edfc01adc1c3650528632a4c2f..c0679a31ce7e93fd174b3e4fe54b329171b8fb41 100644 (file)
@@ -1488,4 +1488,4 @@ sub Xtail_avx()
 
 &asm_finish();
 
-close STDOUT;
+close STDOUT or die "error closing STDOUT: $!";
index c1a0b0c690412421497b07339f7095acbd957a5c..241853b347e9543204954f0b185665f5ae47ba12 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 7ff5bfbba6cbf55c439b5dde2ff2b6c5372363bd..61c832808d451a94a59acfc394e477fd42088af2 100644 (file)
@@ -739,4 +739,4 @@ foreach (split($/,$code)) {
        print $_,$/;
 }
 
-close STDOUT; # enforce flush
+close STDOUT or die "error closing STDOUT: $!"; # enforce flush
index 3ba871fedee65f0bce247e8da67a2c588dbbd134..008f6959d41cdeba4f08d84a2c311680f9b8657c 100644 (file)
@@ -361,4 +361,4 @@ foreach(split("\n",$code)) {
        print $_,"\n";
 }
 
-close STDOUT;
+close STDOUT or die "error closing STDOUT: $!";
index 4db2bcb06b317743df2e575c538b424cb14d661a..a47b663b47fc4ec756133c6e40c5ed48f83daa19 100644 (file)
@@ -334,4 +334,4 @@ $code.=<<___;
 ___
 
 print $code;
-close STDOUT;
+close STDOUT or die "error closing STDOUT: $!";
index 9ac233abc9897f82bf2a5058f7d17b42d5ebb7cb..6edadeed7497bbeb228de8e285609e8c1c10b475 100644 (file)
@@ -1625,4 +1625,4 @@ foreach (split("\n",$code)) {
        print $_,"\n";
 }
 
-close STDOUT;
+close STDOUT or die "error closing STDOUT: $!";
index 08f84bc3b3d9bb54cf7ebc7f41c0a2d790d4cbf6..de0a4ee7f269a8f3d8447157fa2820d7012c2a42 100644 (file)
@@ -458,4 +458,4 @@ $code.=<<___;
 .asciiz        "SHA1 for MIPS, CRYPTOGAMS by <appro\@openssl.org>"
 ___
 print $code;
-close STDOUT;
+close STDOUT or die "error closing STDOUT: $!";
index b001be16a23cd1fd5d37a0ea6a665326bc668112..e5260d5ef8c0f2c9fbd64e1d1c144469f6b9d784 100644 (file)
@@ -276,4 +276,4 @@ foreach(split("\n",$code)) {
 
        print $_,"\n";
 }
-close STDOUT;
+close STDOUT or die "error closing STDOUT: $!";
index 0cda0a3e151755e007d284c7b373bedcfe7e6e70..1518a5e560ef4c58c3a8377ce4cd6d9fa4b7aa35 100755 (executable)
@@ -348,4 +348,4 @@ ___
 
 $code =~ s/\`([^\`]*)\`/eval $1/gem;
 print $code;
-close STDOUT;
+close STDOUT or die "error closing STDOUT: $!";
index 5729c30898771f3fc6f653bf857b94d3d264cdbc..92de811a0255e858ac5ac2f4e10d903f5ee81bd6 100644 (file)
@@ -246,4 +246,4 @@ ___
 $code =~ s/\`([^\`]*)\`/eval $1/gem;
 
 print $code;
-close STDOUT;
+close STDOUT or die "error closing STDOUT: $!";
index 3e612e3d5f68f7dcb0430554fe3fece56d10e0e8..311cfa8adce9818272632d2e899abcf9e2beb926 100644 (file)
@@ -431,4 +431,4 @@ foreach (split("\n",$code)) {
        print $_,"\n";
 }
 
-close STDOUT;
+close STDOUT or die "error closing STDOUT: $!";
index 50d3e136a12db465cb596f37efeb3216ac2f71fe..2ad651f68e674cad541ea8dfaf75b6e45082178f 100644 (file)
@@ -605,4 +605,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 ac74a25d6ead1e6cb4394f207f3d6d8fde74654e..b87248e1c702487dbd473b0dde3aa244f388b84b 100644 (file)
@@ -263,4 +263,4 @@ $code.=<<___;
 ___
 
 print $code;
-close STDOUT; # enforce flush
+close STDOUT or die "error closing STDOUT: $!"; # enforce flush
index ef080f235a45c637b31c7b5f61c350e511eb7b76..e700133349276e3123ea91cada5692a5af960be6 100755 (executable)
@@ -2129,4 +2129,4 @@ foreach (split("\n",$code)) {
 
        print $_,"\n";
 }
-close STDOUT;
+close STDOUT or die "error closing STDOUT: $!";
index 913fca31051ce5265c1170e9dd845d7c6f885c95..645d21cc745e2da59113de654455ac3cca7c8e8a 100644 (file)
@@ -1293,4 +1293,4 @@ sub bodyx_00_15 () {                      # +10%
 
 &asm_finish();
 
-close STDOUT;
+close STDOUT or die "error closing STDOUT: $!";
index edcfc31278e376612f60839f9464c2f2c113e2e0..c2e46be79f568d4030f8243f7bdc5a2d28168fbe 100644 (file)
@@ -729,4 +729,4 @@ foreach (split($/,$code)) {
        print $_,"\n";
 }
 
-close STDOUT; # enforce flush
+close STDOUT or die "error closing STDOUT: $!"; # enforce flush
index 3ab7d9b689463770d880ca02134b1e6e984119e7..1ed1313149690e33da2289d67721fd34471f23a4 100644 (file)
@@ -317,4 +317,4 @@ K256:
 ___
 
 print $code;
-close STDOUT;
+close STDOUT or die "error closing STDOUT: $!";
index 7556b2123b8e7d045c06671365c355e03bd80e99..e122356017fccc191b3507dc26df4558e765a305 100644 (file)
@@ -1611,4 +1611,4 @@ foreach (split("\n",$code)) {
        print $_,"\n";
 }
 
-close STDOUT;
+close STDOUT or die "error closing STDOUT: $!";
index 867ce30b97217dc5d78c4fc42728be78ac5ea9d5..4fca59ec0a0e4852bb238ffb7f51684094e66262 100644 (file)
@@ -922,4 +922,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 0b4c5674d9df3051957f0d1b0769a78b7e5a7318..d880d2c422eebbeb23803fc6b2addf483945299f 100644 (file)
@@ -665,4 +665,4 @@ while(<SELF>) {
 close SELF;
 
 print $code;
-close STDOUT; # enforce flush
+close STDOUT or die "error closing STDOUT: $!"; # enforce flush
index 01ffe9f98c3ea8e6fb05729402bf06ce291632e0..ea0ed5877e3475bcaca40ea186bb4b9d0d7fd215 100644 (file)
@@ -902,4 +902,4 @@ foreach(split("\n",$code)) {
        print $_,"\n";
 }
 
-close STDOUT;
+close STDOUT or die "error closing STDOUT: $!";
index 9ebfc92e23ae79d2e91984493c7cdd8d643d09d2..b5b9e7cf979624f7f013953d544299c30c45a3c7 100644 (file)
@@ -435,4 +435,4 @@ K512:
 ___
 
 print $code;
-close STDOUT;
+close STDOUT or die "error closing STDOUT: $!";
index dab684dde5bc790fedc04f233192136c586202fc..ffcf4d3bc199c9f6489de439cc27369a064452d7 100644 (file)
@@ -518,4 +518,4 @@ ___
 
 $code =~ s/\`([^\`]*)\`/eval $1/gem;
 print $code;
-close STDOUT;
+close STDOUT or die "error closing STDOUT: $!";
index 59eb320ab6ed93f36bf32bbdb62d6c41cb6bb4df..9423fe10936cd008d46c9a94b810313c954fdcb1 100755 (executable)
@@ -804,4 +804,4 @@ foreach (split("\n",$code)) {
        print $_,"\n";
 }
 
-close STDOUT;
+close STDOUT or die "error closing STDOUT: $!";
index 71699f6637064051e92ae8ff7c18095be970d7ee..0f909c80a6f4dd94ae2f26a3aa8acaafc4f939b5 100755 (executable)
@@ -796,4 +796,4 @@ ___
 
 $code =~ s/\`([^\`]*)\`/eval $1/gem;
 print $code;
-close STDOUT;
+close STDOUT or die "error closing STDOUT: $!";
index 4c0f4e79315b94c2ede91a49dfda06fa440898ca..6ca62f2b05ade99db50acf733a5133194fc3afad 100644 (file)
@@ -321,4 +321,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 c215909633aec9fe2112188376ec3289b3f293a3..8824a7889d01db5dd84b5f345b1a7a0845a634d3 100644 (file)
@@ -854,4 +854,4 @@ foreach (split("\n",$code)) {
        print $_,"\n";
 }
 
-close STDOUT;
+close STDOUT or die "error closing STDOUT: $!";
index 6259dc246969783d41704b9d7201b2a1d2355bac..d2b5f751fa9a8ca862e5667531d232b022c9cbee 100755 (executable)
@@ -2555,4 +2555,4 @@ foreach (split("\n",$code)) {
 
        print $_,"\n";
 }
-close STDOUT;
+close STDOUT or die "error closing STDOUT: $!";
index 0d4fdd292c07a555ba7894fbedfab50b168130a8..cd162ed9201658421e8e629e7014610fe2e761a8 100755 (executable)
@@ -417,4 +417,4 @@ ___
 
 $code =~ s/\`([^\`]*)\`/eval $1/gem;
 print $code;
-close STDOUT;
+close STDOUT or die "error closing STDOUT: $!";
index f5a1ac027362fb422f80c92e88be0fd9cdc67fde..5ce02edde18544253518d6b6330d8b35c9dab4b7 100644 (file)
@@ -504,4 +504,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 fe23d8cad00bac7a3adfca894e3b3f61491bc4a0..b878daec7c6a5b96f4a1b511c1a576b745ad1c4b 100644 (file)
@@ -614,4 +614,4 @@ ___
 
 $code =~ s/\`([^\`]*)\`/eval $1/gem;
 print $code;
-close STDOUT;
+close STDOUT or die "error closing STDOUT: $!";
index b9d8f7322210055b634d8a80c9459e3371991a2c..781b297282c1fe176c7039f9f5d39371e6a0818e 100644 (file)
@@ -508,4 +508,4 @@ ___
 gen_random("rdrand");
 gen_random("rdseed");
 
-close STDOUT;  # flush
+close STDOUT or die "error closing STDOUT: $!";        # flush
index d43dda4d935cbdee633b11fc62366d09c2a245ec..4656e038f51db5491f670e398d3ec5aed993fb17 100644 (file)
@@ -506,4 +506,4 @@ my $rdop = shift;
 
 &asm_finish();
 
-close STDOUT;
+close STDOUT or die "error closing STDOUT: $!";