Remove filename argument to x86 asm_init.
authorDavid Benjamin <davidben@google.com>
Wed, 10 May 2017 18:24:56 +0000 (14:24 -0400)
committerRich Salz <rsalz@openssl.org>
Thu, 11 May 2017 21:00:23 +0000 (17:00 -0400)
The assembler already knows the actual path to the generated file and,
in other perlasm architectures, is left to manage debug symbols itself.
Notably, in OpenSSL 1.1.x's new build system, which allows a separate
build directory, converting .pl to .s as the scripts currently do result
in the wrong paths.

This also avoids inconsistencies from some of the files using $0 and
some passing in the filename.

Reviewed-by: Richard Levitte <levitte@openssl.org>
Reviewed-by: Andy Polyakov <appro@openssl.org>
(Merged from https://github.com/openssl/openssl/pull/3431)

33 files changed:
crypto/aes/asm/aes-586.pl
crypto/aes/asm/aesni-x86.pl
crypto/aes/asm/vpaes-x86.pl
crypto/bf/asm/bf-586.pl
crypto/bn/asm/bn-586.pl
crypto/bn/asm/co-586.pl
crypto/bn/asm/via-mont.pl
crypto/bn/asm/x86-gf2m.pl
crypto/bn/asm/x86-mont.pl
crypto/bn/asm/x86.pl
crypto/camellia/asm/cmll-x86.pl
crypto/cast/asm/cast-586.pl
crypto/chacha/asm/chacha-x86.pl
crypto/des/asm/crypt586.pl
crypto/des/asm/des-586.pl
crypto/ec/asm/ecp_nistz256-x86.pl
crypto/md5/asm/md5-586.pl
crypto/modes/asm/ghash-x86.pl
crypto/perlasm/README
crypto/perlasm/x86asm.pl
crypto/perlasm/x86gas.pl
crypto/perlasm/x86masm.pl
crypto/poly1305/asm/poly1305-x86.pl
crypto/rc4/asm/rc4-586.pl
crypto/rc5/asm/rc5-586.pl
crypto/ripemd/asm/rmd-586.pl
crypto/sha/asm/sha1-586.pl
crypto/sha/asm/sha256-586.pl
crypto/sha/asm/sha512-586.pl
crypto/whrlpool/asm/wp-mmx.pl
crypto/x86cpuid.pl
engines/asm/e_padlock-x86.pl
ms/uplink-x86.pl

index 61bdce865c1b72b10b6d091f3231782a08dcd180..51fde64decdde2e1d2d81f6e60a9f761fa292b15 100755 (executable)
@@ -202,7 +202,7 @@ $output = pop;
 open OUT,">$output";
 *STDOUT=*OUT;
 
-&asm_init($ARGV[0],"aes-586.pl",$x86only = $ARGV[$#ARGV] eq "386");
+&asm_init($ARGV[0],$x86only = $ARGV[$#ARGV] eq "386");
 &static_label("AES_Te");
 &static_label("AES_Td");
 
index b1eca6351937e9cb32d001eacca84b03af52c294..81c1cd651bc4e8cbcacede9a87b0284b589beffa 100644 (file)
@@ -80,7 +80,7 @@ $output = pop;
 open OUT,">$output";
 *STDOUT=*OUT;
 
-&asm_init($ARGV[0],$0);
+&asm_init($ARGV[0]);
 
 &external_label("OPENSSL_ia32cap_P");
 &static_label("key_const");
index d9157fa06dee15379135463faa44d7c0ad314fdf..7d57edc0eb6c1090838b50ac367a978f64b07118 100644 (file)
@@ -62,7 +62,7 @@ $output = pop;
 open OUT,">$output";
 *STDOUT=*OUT;
 
-&asm_init($ARGV[0],"vpaes-x86.pl",$x86only = $ARGV[$#ARGV] eq "386");
+&asm_init($ARGV[0],$x86only = $ARGV[$#ARGV] eq "386");
 
 $PREFIX="vpaes";
 
index ebc24f48a152c882a5d3dfc0d746e2cacb107e74..4e913aecf42da0cfd525a1484949fa469f52019d 100644 (file)
@@ -15,7 +15,7 @@ require "cbc.pl";
 $output = pop;
 open STDOUT,">$output";
 
-&asm_init($ARGV[0],"bf-586.pl",$ARGV[$#ARGV] eq "386");
+&asm_init($ARGV[0],$ARGV[$#ARGV] eq "386");
 
 $BF_ROUNDS=16;
 $BF_OFF=($BF_ROUNDS+2)*4;
index 1350bcd8fada874b2a483082768100c5213c4675..58effc8808dd4793398d2cb6431eb4ed6b4580bd 100644 (file)
@@ -14,7 +14,7 @@ require "x86asm.pl";
 $output = pop;
 open STDOUT,">$output";
 
-&asm_init($ARGV[0],$0);
+&asm_init($ARGV[0]);
 
 $sse2=0;
 for (@ARGV) { $sse2=1 if (/-DOPENSSL_IA32_SSE2/); }
index 6f34c37cf8e98ef042dfffb40d1289602d995416..97f5e3a19fc43a862c3adcecfd4d37e35019fdf6 100644 (file)
@@ -13,7 +13,7 @@ require "x86asm.pl";
 $output = pop;
 open STDOUT,">$output";
 
-&asm_init($ARGV[0],$0);
+&asm_init($ARGV[0]);
 
 &bn_mul_comba("bn_mul_comba8",8);
 &bn_mul_comba("bn_mul_comba4",4);
index 558501c3159da85d9f106357502815080ab78fe7..94775d3f6c83c163206b27e78754029ff6e19d28 100644 (file)
@@ -91,7 +91,7 @@ require "x86asm.pl";
 $output = pop;
 open STDOUT,">$output";
 
-&asm_init($ARGV[0],"via-mont.pl");
+&asm_init($ARGV[0]);
 
 # int bn_mul_mont(BN_ULONG *rp, const BN_ULONG *ap, const BN_ULONG *bp, const BN_ULONG *np,const BN_ULONG *n0, int num);
 $func="bn_mul_mont_padlock";
index f4643687332f4623dad84310f76e3430e578b6b8..562f539943f935963b9ff4cd25c334281f981cc5 100644 (file)
@@ -46,7 +46,7 @@ require "x86asm.pl";
 $output = pop;
 open STDOUT,">$output";
 
-&asm_init($ARGV[0],$0,$x86only = $ARGV[$#ARGV] eq "386");
+&asm_init($ARGV[0],$x86only = $ARGV[$#ARGV] eq "386");
 
 $sse2=0;
 for (@ARGV) { $sse2=1 if (/-DOPENSSL_IA32_SSE2/); }
index a8b402d59b348c60bf82681a37c556e2e83278b7..9c495ca6da88c5ab2c66fce1c826432d365e23c0 100755 (executable)
@@ -40,7 +40,7 @@ require "x86asm.pl";
 $output = pop;
 open STDOUT,">$output";
 
-&asm_init($ARGV[0],$0);
+&asm_init($ARGV[0]);
 
 $sse2=0;
 for (@ARGV) { $sse2=1 if (/-DOPENSSL_IA32_SSE2/); }
index d57571db5d09c27a22c60c69809b9218c2be41ff..274099f6cfc656f9f05e474e3b7296c4893290e6 100644 (file)
@@ -20,7 +20,7 @@ require("x86/comba.pl");
 $output = pop;
 open STDOUT,">$output";
 
-&asm_init($ARGV[0],$0);
+&asm_init($ARGV[0]);
 
 &bn_mul_add_words("bn_mul_add_words");
 &bn_mul_words("bn_mul_words");
index 26afad8c95dca6b609a56734bb652ef56a230516..55af9b4e3d01f0fd02412610f949444957b28c5a 100644 (file)
@@ -52,7 +52,7 @@ $OPENSSL=1;
 $output = pop;
 open STDOUT,">$output";
 
-&asm_init($ARGV[0],"cmll-586.pl",$ARGV[$#ARGV] eq "386");
+&asm_init($ARGV[0],$ARGV[$#ARGV] eq "386");
 
 @T=("eax","ebx","ecx","edx");
 $idx="esi";
index 1fc2b1a309d14eab713a1922e2a77e11c54416c0..d5d38965cf760a8ea0f799789329cab42de1e724 100644 (file)
@@ -21,7 +21,7 @@ require "cbc.pl";
 $output=pop;
 open STDOUT,">$output";
 
-&asm_init($ARGV[0],"cast-586.pl",$ARGV[$#ARGV] eq "386");
+&asm_init($ARGV[0],$ARGV[$#ARGV] eq "386");
 
 $CAST_ROUNDS=16;
 $L="edi";
index d606db8a61b0b3ed21bed836e999e9bdb0a4f703..e177a22242ddb0b8c93286279eb805b80c57da3c 100755 (executable)
@@ -43,7 +43,7 @@ require "x86asm.pl";
 $output=pop;
 open STDOUT,">$output";
 
-&asm_init($ARGV[0],"chacha-x86.pl",$ARGV[$#ARGV] eq "386");
+&asm_init($ARGV[0],$ARGV[$#ARGV] eq "386");
 
 $xmm=$ymm=0;
 for (@ARGV) { $xmm=1 if (/-DOPENSSL_IA32_SSE2/); }
index ad89eeb08557b5f44c9bcd5d20a34c57f175548b..391404727dcea945d37e14a514fb9c7ed6c10055 100644 (file)
@@ -16,7 +16,7 @@ require "x86asm.pl";
 $output=pop;
 open STDOUT,">$output";
 
-&asm_init($ARGV[0],"crypt586.pl");
+&asm_init($ARGV[0]);
 
 $L="edi";
 $R="esi";
index d45102c1da5aadfb30623c3c4ecb54d8df9e665e..4ce889c8abcb68191dabb974ae3ed0915c8be5b6 100644 (file)
@@ -23,7 +23,7 @@ require "desboth.pl";
 $output=pop;
 open STDOUT,">$output";
 
-&asm_init($ARGV[0],"des-586.pl");
+&asm_init($ARGV[0]);
 
 $L="edi";
 $R="esi";
index f637c844c4ef064d388e2f22ae8a1afa71d18ab4..a89a9f93bc6e3a2bef6fcdf35334a4a792a47095 100755 (executable)
@@ -45,7 +45,7 @@ require "x86asm.pl";
 $output=pop;
 open STDOUT,">$output";
 
-&asm_init($ARGV[0],"ecp_nistz256-x86.pl",$ARGV[$#ARGV] eq "386");
+&asm_init($ARGV[0],$ARGV[$#ARGV] eq "386");
 
 $sse2=0;
 for (@ARGV) { $sse2=1 if (/-DOPENSSL_IA32_SSE2/); }
index de5758f4c6386e4ee93d796bf2975248247c23f6..15e14864d1950d5fa670291d8e0bebb90cd0db05 100644 (file)
@@ -21,7 +21,7 @@ require "x86asm.pl";
 $output=pop;
 open STDOUT,">$output";
 
-&asm_init($ARGV[0],$0);
+&asm_init($ARGV[0]);
 
 $A="eax";
 $B="ebx";
index 66307ae304d57a0e841fc0dc1778e43838bb6452..5765e3fceb75312442d257c929b955e3d2842b62 100644 (file)
@@ -139,7 +139,7 @@ require "x86asm.pl";
 $output=pop;
 open STDOUT,">$output";
 
-&asm_init($ARGV[0],"ghash-x86.pl",$x86only = $ARGV[$#ARGV] eq "386");
+&asm_init($ARGV[0],$x86only = $ARGV[$#ARGV] eq "386");
 
 $sse2=0;
 for (@ARGV) { $sse2=1 if (/-DOPENSSL_IA32_SSE2/); }
index e90bd8e01459e60edb7a7b5a2e466ad198d74564..3177c371654254bec2f709be54dfcfd768618486 100644 (file)
@@ -9,7 +9,7 @@ require "x86asm.pl";
 
 The first thing we do is setup the file and type of assembler
 
-&asm_init($ARGV[0],$0);
+&asm_init($ARGV[0]);
 
 The first argument is the 'type'.  Currently
 'cpp', 'sol', 'a.out', 'elf' or 'win32'.
@@ -62,7 +62,7 @@ So a very simple version of this function could be coded as
        push(@INC,"perlasm","../../perlasm");
        require "x86asm.pl";
        
-       &asm_init($ARGV[0],"cacl.pl");
+       &asm_init($ARGV[0]);
 
        &external_label("other");
 
index 1ff46c92ccd305f1867425b8b86ad8480bc0398e..fef94b30768f493d7ccb3ffbea3de2a7f16ecc99 100644 (file)
@@ -8,7 +8,7 @@
 
 
 # require 'x86asm.pl';
-# &asm_init(<flavor>,"des-586.pl"[,$i386only]);
+# &asm_init(<flavor>[,$i386only]);
 # &function_begin("foo");
 # ...
 # &function_end("foo");
@@ -259,9 +259,8 @@ sub ::asm_finish
 }
 
 sub ::asm_init
-{ my ($type,$fn,$cpu)=@_;
+{ my ($type,$cpu)=@_;
 
-    $filename=$fn;
     $i386=$cpu;
 
     $elf=$cpp=$coff=$aout=$macosx=$win32=$netware=$mwerks=$android=0;
@@ -301,8 +300,7 @@ EOF
     $pic=0;
     for (@ARGV) { $pic=1 if (/\-[fK]PIC/i); }
 
-    $filename =~ s/\.pl$//;
-    &file($filename);
+    &file();
 }
 
 sub ::hidden {}
index 2c8fce077939f4ad57ca99209a5a64b6909984bc..5c7ea3880e4d3965c6864c07ba5d940a39a4917d 100644 (file)
@@ -104,7 +104,7 @@ sub ::BC    { @_;           }
 sub ::DWC      { @_;           }
 
 sub ::file
-{   push(@out,".file\t\"$_[0].s\"\n.text\n");  }
+{   push(@out,".text\n");      }
 
 sub ::function_begin_B
 { my $func=shift;
index d352f47055ea11ba92af53cb8ca8251bd5226824..dffee762115f8edc2d879bc8ab2b6e95c6016a06 100644 (file)
@@ -85,7 +85,6 @@ sub ::DWC     { "@_"; }
 
 sub ::file
 { my $tmp=<<___;
-TITLE  $_[0].asm
 IF \@Version LT 800
 ECHO MASM version 8.00 or later is strongly recommended.
 ENDIF
index 9db38b5ecc4b60ce79462ad1a2c070ed50d47dd0..b6f09bf737ebc641ec9a89354dfc4e45d03a6c5e 100755 (executable)
@@ -50,7 +50,7 @@ require "x86asm.pl";
 $output=pop;
 open STDOUT,">$output";
 
-&asm_init($ARGV[0],"poly1305-x86.pl",$ARGV[$#ARGV] eq "386");
+&asm_init($ARGV[0],$ARGV[$#ARGV] eq "386");
 
 $sse2=$avx=0;
 for (@ARGV) { $sse2=1 if (/-DOPENSSL_IA32_SSE2/); }
index 7d6f97c59efba305caa7031771c1148c077faa88..ab16a97b6805835023b97259a1f32ad92d726c37 100644 (file)
@@ -73,7 +73,7 @@ require "x86asm.pl";
 $output=pop;
 open STDOUT,">$output";
 
-&asm_init($ARGV[0],"rc4-586.pl",$x86only = $ARGV[$#ARGV] eq "386");
+&asm_init($ARGV[0],$x86only = $ARGV[$#ARGV] eq "386");
 
 $xx="eax";
 $yy="ebx";
index e3e1c64242958ea55f841a32b9c196cc36cbac48..e58a98bc83b609eec2150922ab64aaadacfc2a4d 100644 (file)
@@ -15,7 +15,7 @@ require "cbc.pl";
 $output = pop;
 open STDOUT,">$output";
 
-&asm_init($ARGV[0],"rc5-586.pl");
+&asm_init($ARGV[0]);
 
 $RC5_MAX_ROUNDS=16;
 $RC5_32_OFF=($RC5_MAX_ROUNDS+2)*4;
index f19fdc9f9ac48fa7d9a98995d28517c852774148..72bcbcc9aa1ca9f4ec83c073bec0737b97d3e798 100644 (file)
@@ -19,7 +19,7 @@ require "x86asm.pl";
 $output=pop;
 open STDOUT,">$output";
 
-&asm_init($ARGV[0],$0);
+&asm_init($ARGV[0]);
 
 $A="ecx";
 $B="esi";
index 59e115557a2790d09e1d47993d3665319289f4e7..8225e3a6f82027408242abca42efb5f602fffa73 100644 (file)
@@ -127,7 +127,7 @@ require "x86asm.pl";
 $output=pop;
 open STDOUT,">$output";
 
-&asm_init($ARGV[0],"sha1-586.pl",$ARGV[$#ARGV] eq "386");
+&asm_init($ARGV[0],$ARGV[$#ARGV] eq "386");
 
 $xmm=$ymm=0;
 for (@ARGV) { $xmm=1 if (/-DOPENSSL_IA32_SSE2/); }
index 705de2a648c3d667f40a0106896c635471610de9..bc25b2dab519c436aaee66b92ebe4a220e444a02 100644 (file)
@@ -76,7 +76,7 @@ require "x86asm.pl";
 $output=pop;
 open STDOUT,">$output";
 
-&asm_init($ARGV[0],"sha512-586.pl",$ARGV[$#ARGV] eq "386");
+&asm_init($ARGV[0],$ARGV[$#ARGV] eq "386");
 
 $xmm=$avx=0;
 for (@ARGV) { $xmm=1 if (/-DOPENSSL_IA32_SSE2/); }
index 94017779a768917dfd01ae79f4dccdf31516c112..35006e8b9fbc8cd38d84def164c03169de01adfd 100644 (file)
@@ -62,7 +62,7 @@ require "x86asm.pl";
 $output=pop;
 open STDOUT,">$output";
 
-&asm_init($ARGV[0],"sha512-586.pl",$ARGV[$#ARGV] eq "386");
+&asm_init($ARGV[0],$ARGV[$#ARGV] eq "386");
 
 $sse2=0;
 for (@ARGV) { $sse2=1 if (/-DOPENSSL_IA32_SSE2/); }
index d628d565065922a109bf283acee449f72926cf91..468cae8032e65d6d41051e84fa876cac8bb1247a 100644 (file)
@@ -59,7 +59,7 @@ require "x86asm.pl";
 $output=pop;
 open STDOUT,">$output";
 
-&asm_init($ARGV[0],"wp-mmx.pl");
+&asm_init($ARGV[0]);
 
 sub L()  { &data_byte(@_); }
 sub LL()
index 9d2f34eb8da03ab497bb943287d8aea93737a73f..1266d7634c152777f98896f4ca89a86c679ee2ea 100644 (file)
@@ -14,7 +14,7 @@ $output = pop;
 open OUT,">$output";
 *STDOUT=*OUT;
 
-&asm_init($ARGV[0],"x86cpuid");
+&asm_init($ARGV[0]);
 
 for (@ARGV) { $sse2=1 if (/-DOPENSSL_IA32_SSE2/); }
 
index bf6b312cd1b824cde1ac60906ff915248940554a..c4129e837a75ca13c22b24f3bfdbd4bbc7a6b487 100644 (file)
@@ -45,7 +45,7 @@ require "x86asm.pl";
 $output=pop;
 open STDOUT,">$output";
 
-&asm_init($ARGV[0],$0);
+&asm_init($ARGV[0]);
 
 %PADLOCK_PREFETCH=(ecb=>128, cbc=>64); # prefetch errata
 $PADLOCK_CHUNK=512;    # Must be a power of 2 larger than 16
index e25668ea35d1c8a0a123aea1b6f81185e9c3b175..440bf7d5f6b95b8f5cf330a1bd078ee3b4999bc9 100755 (executable)
@@ -15,7 +15,7 @@ require "uplink-common.pl";
 $output = pop;
 open STDOUT,">$output";
 
-&asm_init($ARGV[0],"uplink-x86");
+&asm_init($ARGV[0]);
 
 &external_label("OPENSSL_Uplink");
 &public_label("OPENSSL_UplinkTable");