Engage s390x assembler modules.
authorAndy Polyakov <appro@openssl.org>
Mon, 30 Apr 2007 09:22:27 +0000 (09:22 +0000)
committerAndy Polyakov <appro@openssl.org>
Mon, 30 Apr 2007 09:22:27 +0000 (09:22 +0000)
Configure
TABLE
config
crypto/aes/Makefile
crypto/bn/Makefile
crypto/sha/Makefile

index c24cf98..9c9b3f0 100755 (executable)
--- 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 <ray.miller@computing-services.oxford.ac.uk> has patiently
 # assisted with debugging of following two configs.
diff --git a/TABLE b/TABLE
index d7b1732..2892bc4 100644 (file)
--- 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 e4644fd..eddad16 100755 (executable)
--- 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
index 6567784..60f2b48 100644 (file)
@@ -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
 
index 3fd08e7..ffcb42a 100644 (file)
@@ -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
 
index 21259e8..2068ab4 100644 (file)
@@ -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