From 396df7311e599e6fa0d6500e644194e57cd655d2 Mon Sep 17 00:00:00 2001 From: Andy Polyakov Date: Thu, 8 Jul 2010 15:03:42 +0000 Subject: [PATCH] crypto/*/Makefile: unify "catch-all" assembler make rules and harmonize ARM assembler modules. --- crypto/aes/Makefile | 2 +- crypto/aes/asm/aes-armv4.pl | 4 ++++ crypto/bn/Makefile | 2 +- crypto/modes/Makefile | 3 ++- crypto/modes/asm/ghash-armv4.pl | 6 +++--- crypto/sha/Makefile | 6 +++--- crypto/sha/asm/sha1-armv4-large.pl | 2 +- crypto/sha/asm/sha256-armv4.pl | 2 +- crypto/sha/asm/sha512-armv4.pl | 2 +- 9 files changed, 17 insertions(+), 12 deletions(-) diff --git a/crypto/aes/Makefile b/crypto/aes/Makefile index 71db995736..8ed82c9238 100644 --- a/crypto/aes/Makefile +++ b/crypto/aes/Makefile @@ -68,7 +68,7 @@ aes-parisc.s: asm/aes-parisc.pl $(PERL) asm/aes-parisc.pl $(PERLASM_SCHEME) $@ # GNU make "catch all" -aes-%.s: asm/aes-%.pl; $(PERL) $< $(CFLAGS) > $@ +aes-%.s: asm/aes-%.pl; $(PERL) $< $(PERLASM_SCHEME) $@ files: $(PERL) $(TOP)/util/files.pl Makefile >> $(TOP)/MINFO diff --git a/crypto/aes/asm/aes-armv4.pl b/crypto/aes/asm/aes-armv4.pl index 690244111a..5a736744a9 100644 --- a/crypto/aes/asm/aes-armv4.pl +++ b/crypto/aes/asm/aes-armv4.pl @@ -22,6 +22,9 @@ # # AES_set_[en|de]crypt_key is added. +while (($output=shift) && ($output!~/^\w[\w\-]*\.\w+$/)) {} +open STDOUT,">$output"; + $s0="r0"; $s1="r1"; $s2="r2"; @@ -1029,3 +1032,4 @@ ___ $code =~ s/\bbx\s+lr\b/.word\t0xe12fff1e/gm; # make it possible to compile with -march=armv4 print $code; +close STDOUT; # enforce flush diff --git a/crypto/bn/Makefile b/crypto/bn/Makefile index 134b4a9777..272dd48765 100644 --- a/crypto/bn/Makefile +++ b/crypto/bn/Makefile @@ -114,7 +114,7 @@ alpha-mont.s: asm/alpha-mont.pl $(PERL) $< | $(CC) -E - | tee $@ > /dev/null # GNU make "catch all" -%-mont.s: asm/%-mont.pl; $(PERL) $< $(CFLAGS) > $@ +%-mont.s: asm/%-mont.pl; $(PERL) $< $(PERLASM_SCHEME) $@ files: $(PERL) $(TOP)/util/files.pl Makefile >> $(TOP)/MINFO diff --git a/crypto/modes/Makefile b/crypto/modes/Makefile index 6617619fa9..cbda0522cf 100644 --- a/crypto/modes/Makefile +++ b/crypto/modes/Makefile @@ -55,8 +55,9 @@ ghash-alpha.s: asm/ghash-alpha.pl $(PERL) $< | $(CC) -E - | tee $@ > /dev/null ghash-parisc.s: asm/ghash-parisc.pl $($PERL) asm/ghash-parisc.pl $(PERLASM_SCHEME) $@ + # GNU make "catch all" -ghash-%.s: asm/ghash-%.pl; $(PERL) $< $(PERLASM_SCHEME) $(CFLAGS) > $@ +ghash-%.s: asm/ghash-%.pl; $(PERL) $< $(PERLASM_SCHEME) $@ files: $(PERL) $(TOP)/util/files.pl Makefile >> $(TOP)/MINFO diff --git a/crypto/modes/asm/ghash-armv4.pl b/crypto/modes/asm/ghash-armv4.pl index 5385d39d5b..45d79b6000 100644 --- a/crypto/modes/asm/ghash-armv4.pl +++ b/crypto/modes/asm/ghash-armv4.pl @@ -39,6 +39,9 @@ # *native* byte order on current platform. See gcm128.c for working # example... +while (($output=shift) && ($output!~/^\w[\w\-]*\.\w+$/)) {} +open STDOUT,">$output"; + $Xi="r0"; # argument block $Htbl="r1"; $inp="r2"; @@ -59,9 +62,6 @@ $nhi="r14"; $rem_4bit=$inp; # used in gcm_gmult_4bit $cnt=$len; -$output=shift; -open STDOUT,">$output"; - sub Zsmash() { my $i=12; my @args=@_; diff --git a/crypto/sha/Makefile b/crypto/sha/Makefile index 3431f497c6..75a1d460de 100644 --- a/crypto/sha/Makefile +++ b/crypto/sha/Makefile @@ -79,9 +79,9 @@ sha256-parisc.s:asm/sha512-parisc.pl; $(PERL) asm/sha512-parisc.pl $(PERLASM_SCH sha512-parisc.s:asm/sha512-parisc.pl; $(PERL) asm/sha512-parisc.pl $(PERLASM_SCHEME) $@ # GNU make "catch all" -sha1-%.s: asm/sha1-%.pl; $(PERL) $< $@ -sha256-%.s: asm/sha512-%.pl; $(PERL) $< $@ -sha512-%.s: asm/sha512-%.pl; $(PERL) $< $@ +sha1-%.s: asm/sha1-%.pl; $(PERL) $< $(PERLASM_SCHEME) $@ +sha256-%.s: asm/sha512-%.pl; $(PERL) $< $(PERLASM_SCHEME) $@ +sha512-%.s: asm/sha512-%.pl; $(PERL) $< $(PERLASM_SCHEME) $@ files: $(PERL) $(TOP)/util/files.pl Makefile >> $(TOP)/MINFO diff --git a/crypto/sha/asm/sha1-armv4-large.pl b/crypto/sha/asm/sha1-armv4-large.pl index c85fdb261e..4a3b3d5e6f 100644 --- a/crypto/sha/asm/sha1-armv4-large.pl +++ b/crypto/sha/asm/sha1-armv4-large.pl @@ -39,7 +39,7 @@ # small and always slower. # [***] which is also ~35% better than compiler generated code. -$output=shift; +while (($output=shift) && ($output!~/^\w[\w\-]*\.\w+$/)) {} open STDOUT,">$output"; $ctx="r0"; diff --git a/crypto/sha/asm/sha256-armv4.pl b/crypto/sha/asm/sha256-armv4.pl index 48d846deec..db87434f91 100644 --- a/crypto/sha/asm/sha256-armv4.pl +++ b/crypto/sha/asm/sha256-armv4.pl @@ -13,7 +13,7 @@ # lute" terms is ~2250 cycles per 64-byte block or ~35 cycles per # byte. -$output=shift; +while (($output=shift) && ($output!~/^\w[\w\-]*\.\w+$/)) {} open STDOUT,">$output"; $ctx="r0"; $t0="r0"; diff --git a/crypto/sha/asm/sha512-armv4.pl b/crypto/sha/asm/sha512-armv4.pl index 4fbb94a914..7d27f0b78d 100644 --- a/crypto/sha/asm/sha512-armv4.pl +++ b/crypto/sha/asm/sha512-armv4.pl @@ -22,7 +22,7 @@ $hi=0; $lo=4; # ==================================================================== -$output=shift; +while (($output=shift) && ($output!~/^\w[\w\-]*\.\w+$/)) {} open STDOUT,">$output"; $ctx="r0"; -- 2.34.1