From: Andy Polyakov Date: Mon, 30 Apr 2007 09:22:27 +0000 (+0000) Subject: Engage s390x assembler modules. X-Git-Tag: OpenSSL_0_9_8k^2~868 X-Git-Url: https://git.openssl.org/?p=openssl.git;a=commitdiff_plain;h=b900df525848eb887bd91ef3e514d88514a3d0aa;hp=a2a54ffc5f3e27a5e12547063b0ebbb4ba30956f Engage s390x assembler modules. --- diff --git a/Configure b/Configure index c24cf9807f..9c9b3f04f8 100755 --- a/Configure +++ b/Configure @@ -124,6 +124,7 @@ my $x86_64_asm="x86_64cpuid.o:x86_64-gcc.o x86_64-mont.o::aes-x86_64.o::md5-x86_ my $ia64_asm="ia64cpuid.o:bn-ia64.o::aes_core.o aes_cbc.o aes-ia64.o::md5-ia64.o:sha1-ia64.o sha256-ia64.o sha512-ia64.o::rc4-ia64.o rc4_skey.o:::"; my $sparcv9_asm="sparcv9cap.o sparccpuid.o:bn-sparcv9.o sparcv9-mont.o sparcv9a-mont.o:des_enc-sparc.o fcrypt_b.o:aes_core.o aes_cbc.o aes-sparcv9.o::::::::"; my $alpha_asm=":bn_asm.o alpha-mont.o::::::::::"; +my $s390x_asm=":s390x-mont.o::aes_core.o aes_cbc.o aes-s390x.o:::sha1-s390x.o sha256-s390x.o sha512-s390x.o:::::"; my $no_asm=":::::::::::"; # As for $BSDthreads. Idea is to maintain "collective" set of flags, @@ -331,6 +332,7 @@ my %table=( "linux-ia64-ecc","ecc:-DL_ENDIAN -DTERMIO -O2 -Wall -no_cpprt::-D_REENTRANT::-ldl:SIXTY_FOUR_BIT_LONG RC4_CHUNK DES_INT:${ia64_asm}:dlfcn:linux-shared:-fPIC::.so.\$(SHLIB_MAJOR).\$(SHLIB_MINOR)", "linux-ia64-icc","icc:-DL_ENDIAN -DTERMIO -O2 -Wall -no_cpprt::-D_REENTRANT::-ldl:SIXTY_FOUR_BIT_LONG RC4_CHUNK DES_RISC1 DES_INT:${ia64_asm}:dlfcn:linux-shared:-fPIC::.so.\$(SHLIB_MAJOR).\$(SHLIB_MINOR)", "linux-x86_64", "gcc:-m64 -DL_ENDIAN -DTERMIO -O3 -Wall -DMD32_REG_T=int::-D_REENTRANT::-ldl:SIXTY_FOUR_BIT_LONG RC4_CHUNK BF_PTR2 DES_INT DES_UNROLL:${x86_64_asm}:dlfcn:linux-shared:-fPIC:-m64:.so.\$(SHLIB_MAJOR).\$(SHLIB_MINOR)", +"linux-s390x", "gcc:-m64 -DB_ENDIAN -DTERMIO -O3 -Wall::-D_REENTRANT::-ldl:SIXTY_FOUR_BIT_LONG RC4_CHAR RC4_CHUNK DES_INT DES_UNROLL:${s390x_asm}:dlfcn:linux-shared:-fPIC:-m64:.so.\$(SHLIB_MAJOR).\$(SHLIB_MINOR)", #### SPARC Linux setups # Ray Miller has patiently # assisted with debugging of following two configs. diff --git a/TABLE b/TABLE index d7b1732e2d..2892bc40bf 100644 --- a/TABLE +++ b/TABLE @@ -3080,6 +3080,34 @@ $shared_extension = .so.$(SHLIB_MAJOR).$(SHLIB_MINOR) $ranlib = $arflags = +*** linux-s390x +$cc = gcc +$cflags = -m64 -DB_ENDIAN -DTERMIO -O3 -Wall +$unistd = +$thread_cflag = -D_REENTRANT +$sys_id = +$lflags = -ldl +$bn_ops = SIXTY_FOUR_BIT_LONG RC4_CHAR RC4_CHUNK DES_INT DES_UNROLL +$cpuid_obj = +$bn_obj = s390x-mont.o +$des_obj = +$aes_obj = aes_core.o aes_cbc.o aes-s390x.o +$bf_obj = +$md5_obj = +$sha1_obj = sha1-s390x.o sha256-s390x.o sha512-s390x.o +$cast_obj = +$rc4_obj = +$rmd160_obj = +$rc5_obj = +$wp_obj = +$dso_scheme = dlfcn +$shared_target= linux-shared +$shared_cflag = -fPIC +$shared_ldflag = -m64 +$shared_extension = .so.$(SHLIB_MAJOR).$(SHLIB_MINOR) +$ranlib = +$arflags = + *** linux-sparcv8 $cc = gcc $cflags = -mv8 -DB_ENDIAN -DTERMIO -O3 -fomit-frame-pointer -Wall -DBN_DIV2W diff --git a/config b/config index e4644fda3c..eddad16041 100755 --- a/config +++ b/config @@ -596,7 +596,8 @@ case "$GUESSOS" in sh*b-*-linux2) OUT="linux-generic32"; options="$options -DB_ENDIAN" ;; sh*-*-linux2) OUT="linux-generic32"; options="$options -DL_ENDIAN" ;; m68k*-*-linux2) OUT="linux-generic32"; options="$options -DB_ENDIAN" ;; - s390*-*-linux2) OUT="linux-generic32"; options="$options -DB_ENDIAN -DNO_ASM" ;; + s390-*-linux2) OUT="linux-generic32"; options="$options -DB_ENDIAN" ;; + s390x-*-linux2) OUT="linux-s390x" ;; x86_64-*-linux?) OUT="linux-x86_64" ;; *86-*-linux2) OUT="linux-elf" if [ "$GCCVER" -gt 28 ]; then diff --git a/crypto/aes/Makefile b/crypto/aes/Makefile index 6567784e09..60f2b48a80 100644 --- a/crypto/aes/Makefile +++ b/crypto/aes/Makefile @@ -63,6 +63,9 @@ aes-x86_64.s: asm/aes-x86_64.pl aes-sparcv9.s: asm/aes-sparcv9.pl $(PERL) asm/aes-sparcv9.pl $(CFLAGS) > $@ +# GNU make "catch all" +aes-%.s: asm/aes-%.pl; $(PERL) $< $(CFLAGS) > $@ + files: $(PERL) $(TOP)/util/files.pl Makefile >> $(TOP)/MINFO diff --git a/crypto/bn/Makefile b/crypto/bn/Makefile index 3fd08e719a..ffcb42a2c0 100644 --- a/crypto/bn/Makefile +++ b/crypto/bn/Makefile @@ -132,6 +132,9 @@ osx_ppc64-mont.s: asm/ppc-mont.pl; $(PERL) $< $@ alpha-mont.s: asm/alpha-mont.pl $(PERL) $< | $(CC) -E - > $@ +# GNU make "catch all" +%-mont.s: asm/%-mont.pl; $(PERL) $< $(CFLAGS) > $@ + files: $(PERL) $(TOP)/util/files.pl Makefile >> $(TOP)/MINFO diff --git a/crypto/sha/Makefile b/crypto/sha/Makefile index 21259e8aee..2068ab4650 100644 --- a/crypto/sha/Makefile +++ b/crypto/sha/Makefile @@ -64,23 +64,28 @@ sha256-ia64.s: asm/sha512-ia64.pl (cd asm; $(PERL) sha512-ia64.pl ../$@ $(CFLAGS)) sha512-ia64.s: asm/sha512-ia64.pl (cd asm; $(PERL) sha512-ia64.pl ../$@ $(CFLAGS)) -sha1-x86_64.s: asm/sha1-x86_64.pl - $(PERL) asm/sha1-x86_64.pl $@ -sha256-x86_64.s: asm/sha512-x86_64.pl - $(PERL) asm/sha512-x86_64.pl $@ -sha512-x86_64.s: asm/sha512-x86_64.pl - $(PERL) asm/sha512-x86_64.pl $@ +# Solaris make has to be explicitly told +sha1-x86_64.s: asm/sha1-x86_64.pl; $(PERL) asm/sha1-x86_64.pl $@ +sha256-x86_64.s:asm/sha512-x86_64.pl; $(PERL) asm/sha512-x86_64.pl $@ +sha512-x86_64.s:asm/sha512-x86_64.pl; $(PERL) asm/sha512-x86_64.pl $@ + +# AIX make has to be explicitly told sha1-ppc_aix32.s: asm/sha1-ppc.pl; $(PERL) asm/sha1-ppc.pl $@ sha1-ppc_aix64.s: asm/sha1-ppc.pl; $(PERL) asm/sha1-ppc.pl $@ sha256-ppc_aix32.s: asm/sha512-ppc.pl; $(PERL) asm/sha512-ppc.pl $@ sha256-ppc_aix64.s: asm/sha512-ppc.pl; $(PERL) asm/sha512-ppc.pl $@ sha512-ppc_aix32.s: asm/sha512-ppc.pl; $(PERL) asm/sha512-ppc.pl $@ sha512-ppc_aix64.s: asm/sha512-ppc.pl; $(PERL) asm/sha512-ppc.pl $@ -# non-AIX targets are believed to be armed with GNU make + +# non-AIX ppc targets are believed to be armed with GNU make sha1-ppc_%.s: asm/sha1-ppc.pl; $(PERL) $< $@ sha256-ppc_%.s: asm/sha512-ppc.pl; $(PERL) $< $@ sha512-ppc_%.s: asm/sha512-ppc.pl; $(PERL) $< $@ +# GNU make "catch all" +sha1-%.s: asm/sha1-%.pl; $(PERL) $< $@ +sha256-%.s: asm/sha512-%.pl; $(PERL) $< $@ +sha512-%.s: asm/sha512-%.pl; $(PERL) $< $@ files: $(PERL) $(TOP)/util/files.pl Makefile >> $(TOP)/MINFO