diff options
author | Richard Levitte <levitte@openssl.org> | 2016-03-07 15:47:57 +0100 |
---|---|---|
committer | Richard Levitte <levitte@openssl.org> | 2016-03-09 11:09:26 +0100 |
commit | 4f0d5f1849fba056ae2e626dbce976efc4586383 (patch) | |
tree | bfb94e591bb44cd693b58ea3376f9abdd8d9f836 /crypto/modes | |
parent | 3aa3af68a52ed8e6fba9c5a7659943714593ac88 (diff) | |
download | openssl-4f0d5f1849fba056ae2e626dbce976efc4586383.tar.gz |
Unified - adapt the generation of modes assembler to use GENERATE
This gets rid of the BEGINRAW..ENDRAW sections in crypto/modes/build.info.
This also moves the assembler generating perl scripts to take the
output file name as last command line argument, where necessary.
Reviewed-by: Andy Polyakov <appro@openssl.org>
Diffstat (limited to 'crypto/modes')
-rw-r--r-- | crypto/modes/Makefile.in | 10 | ||||
-rw-r--r-- | crypto/modes/asm/ghash-alpha.pl | 2 | ||||
-rwxr-xr-x | crypto/modes/asm/ghash-ia64.pl | 2 | ||||
-rw-r--r-- | crypto/modes/asm/ghash-x86.pl | 5 | ||||
-rw-r--r-- | crypto/modes/build.info | 31 |
5 files changed, 22 insertions, 28 deletions
diff --git a/crypto/modes/Makefile.in b/crypto/modes/Makefile.in index a62486ed13..c37a8c8306 100644 --- a/crypto/modes/Makefile.in +++ b/crypto/modes/Makefile.in @@ -41,18 +41,18 @@ lib: $(LIBOBJ) @touch lib ghash-ia64.s: asm/ghash-ia64.pl - $(PERL) asm/ghash-ia64.pl $@ $(CFLAGS) + $(PERL) asm/ghash-ia64.pl $(CFLAGS) $@ ghash-x86.s: asm/ghash-x86.pl - $(PERL) asm/ghash-x86.pl $(PERLASM_SCHEME) $(CFLAGS) $(PROCESSOR) > $@ + $(PERL) asm/ghash-x86.pl $(PERLASM_SCHEME) $(CFLAGS) $(PROCESSOR) $@ ghash-x86_64.s: asm/ghash-x86_64.pl - $(PERL) asm/ghash-x86_64.pl $(PERLASM_SCHEME) > $@ + $(PERL) asm/ghash-x86_64.pl $(PERLASM_SCHEME) $@ aesni-gcm-x86_64.s: asm/aesni-gcm-x86_64.pl - $(PERL) asm/aesni-gcm-x86_64.pl $(PERLASM_SCHEME) > $@ + $(PERL) asm/aesni-gcm-x86_64.pl $(PERLASM_SCHEME) $@ ghash-sparcv9.S: asm/ghash-sparcv9.pl $(PERL) asm/ghash-sparcv9.pl $(PERLASM_SCHEME) $@ ghash-alpha.s: asm/ghash-alpha.pl (preproc=$$$$.$@.S; trap "rm $$preproc" INT; \ - $(PERL) asm/ghash-alpha.pl > $$preproc && \ + $(PERL) asm/ghash-alpha.pl $$preproc && \ $(CC) -E -P $$preproc > $@ && rm $$preproc) ghash-parisc.s: asm/ghash-parisc.pl $(PERL) asm/ghash-parisc.pl $(PERLASM_SCHEME) $@ diff --git a/crypto/modes/asm/ghash-alpha.pl b/crypto/modes/asm/ghash-alpha.pl index aa36029386..df6b3a3b6f 100644 --- a/crypto/modes/asm/ghash-alpha.pl +++ b/crypto/modes/asm/ghash-alpha.pl @@ -454,7 +454,7 @@ rem_4bit: .align 4 ___ -$output=shift and open STDOUT,">$output"; +$output=pop and open STDOUT,">$output"; print $code; close STDOUT; diff --git a/crypto/modes/asm/ghash-ia64.pl b/crypto/modes/asm/ghash-ia64.pl index 0354c95444..9d49143c31 100755 --- a/crypto/modes/asm/ghash-ia64.pl +++ b/crypto/modes/asm/ghash-ia64.pl @@ -32,7 +32,7 @@ # Itanium performance should remain the same as the "256B" version, # i.e. ~8.5 cycles. -$output=shift and (open STDOUT,">$output" or die "can't open $output: $!"); +$output=pop and (open STDOUT,">$output" or die "can't open $output: $!"); if ($^O eq "hpux") { $ADDP="addp4"; diff --git a/crypto/modes/asm/ghash-x86.pl b/crypto/modes/asm/ghash-x86.pl index 0269169fa7..db6eeae0fe 100644 --- a/crypto/modes/asm/ghash-x86.pl +++ b/crypto/modes/asm/ghash-x86.pl @@ -129,6 +129,9 @@ $0 =~ m/(.*[\/\\])[^\/\\]+$/; $dir=$1; push(@INC,"${dir}","${dir}../../perlasm"); require "x86asm.pl"; +$output=pop; +open STDOUT,">$output"; + &asm_init($ARGV[0],"ghash-x86.pl",$x86only = $ARGV[$#ARGV] eq "386"); $sse2=0; @@ -1369,6 +1372,8 @@ my ($Xhi,$Xi)=@_; &asciz("GHASH for x86, CRYPTOGAMS by <appro\@openssl.org>"); &asm_finish(); +close 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 # CPUs such as PIII, "4-bit" MMX version was observed to provide better diff --git a/crypto/modes/build.info b/crypto/modes/build.info index dfce733cd3..b59780f8d8 100644 --- a/crypto/modes/build.info +++ b/crypto/modes/build.info @@ -4,28 +4,17 @@ SOURCE[../../libcrypto]=\ ccm128.c xts128.c wrap128.c ocb128.c \ {- $target{modes_asm_src} -} -BEGINRAW[Makefile] -{- $builddir -}/ghash-ia64.s: {- $sourcedir -}/asm/ghash-ia64.pl - CC="$(CC)" $(PERL) {- $sourcedir -}/asm/ghash-ia64.pl $@ $(CFLAGS) -{- $builddir -}/ghash-x86.s: {- $sourcedir -}/asm/ghash-x86.pl - CC="$(CC)" $(PERL) {- $sourcedir -}/asm/ghash-x86.pl $(PERLASM_SCHEME) $(CFLAGS) $(PROCESSOR) > $@ -{- $builddir -}/ghash-x86_64.s: {- $sourcedir -}/asm/ghash-x86_64.pl - CC="$(CC)" $(PERL) {- $sourcedir -}/asm/ghash-x86_64.pl $(PERLASM_SCHEME) > $@ -{- $builddir -}/aesni-gcm-x86_64.s: {- $sourcedir -}/asm/aesni-gcm-x86_64.pl - CC="$(CC)" $(PERL) {- $sourcedir -}/asm/aesni-gcm-x86_64.pl $(PERLASM_SCHEME) > $@ -{- $builddir -}/ghash-sparcv9.S: {- $sourcedir -}/asm/ghash-sparcv9.pl - CC="$(CC)" $(PERL) {- $sourcedir -}/asm/ghash-sparcv9.pl $(PERLASM_SCHEME) $@ -{- $builddir -}/ghash-alpha.s: {- $sourcedir -}/asm/ghash-alpha.pl - (preproc=$$$$.$@.S; trap "rm $$preproc" INT; \ - CC="$(CC)" $(PERL) {- $sourcedir -}/asm/ghash-alpha.pl > $$preproc && \ - $(CC) -E -P $$preproc > $@ && rm $$preproc) -{- $builddir -}/ghash-parisc.s: {- $sourcedir -}/asm/ghash-parisc.pl - CC="$(CC)" $(PERL) {- $sourcedir -}/asm/ghash-parisc.pl $(PERLASM_SCHEME) $@ -{- $builddir -}/ghashv8-armx.S: {- $sourcedir -}/asm/ghashv8-armx.pl - CC="$(CC)" $(PERL) {- $sourcedir -}/asm/ghashv8-armx.pl $(PERLASM_SCHEME) $@ -{- $builddir -}/ghashp8-ppc.s: {- $sourcedir -}/asm/ghashp8-ppc.pl - CC="$(CC)" $(PERL) {- $sourcedir -}/asm/ghashp8-ppc.pl $(PERLASM_SCHEME) $@ +GENERATE[ghash-ia64.s]=asm/ghash-ia64.pl $(CFLAGS) +GENERATE[ghash-x86.s]=asm/ghash-x86.pl $(PERLASM_SCHEME) $(CFLAGS) $(PROCESSOR) +GENERATE[ghash-x86_64.s]=asm/ghash-x86_64.pl $(PERLASM_SCHEME) +GENERATE[aesni-gcm-x86_64.s]=asm/aesni-gcm-x86_64.pl $(PERLASM_SCHEME) +GENERATE[ghash-sparcv9.S]=asm/ghash-sparcv9.pl $(PERLASM_SCHEME) +GENERATE[ghash-alpha.s]=asm/ghash-alpha.pl +GENERATE[ghash-parisc.s]=asm/ghash-parisc.pl $(PERLASM_SCHEME) +GENERATE[ghashv8-armx.S]=asm/ghashv8-armx.pl $(PERLASM_SCHEME) +GENERATE[ghashp8-ppc.s]=asm/ghashp8-ppc.pl $(PERLASM_SCHEME) +BEGINRAW[Makefile] # GNU make "catch all" {- $builddir -}/ghash-%.S: {- $sourcedir -}/asm/ghash-%.pl CC="$(CC)" $(PERL) $< $(PERLASM_SCHEME) $@ |