aboutsummaryrefslogtreecommitdiffstats
path: root/crypto/modes
diff options
context:
space:
mode:
authorRichard Levitte <levitte@openssl.org>2016-03-07 15:47:57 +0100
committerRichard Levitte <levitte@openssl.org>2016-03-09 11:09:26 +0100
commit4f0d5f1849fba056ae2e626dbce976efc4586383 (patch)
treebfb94e591bb44cd693b58ea3376f9abdd8d9f836 /crypto/modes
parent3aa3af68a52ed8e6fba9c5a7659943714593ac88 (diff)
downloadopenssl-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.in10
-rw-r--r--crypto/modes/asm/ghash-alpha.pl2
-rwxr-xr-xcrypto/modes/asm/ghash-ia64.pl2
-rw-r--r--crypto/modes/asm/ghash-x86.pl5
-rw-r--r--crypto/modes/build.info31
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) $@