From: Bodo Möller Date: Thu, 22 Nov 2001 11:09:42 +0000 (+0000) Subject: OS/390 support X-Git-Tag: OpenSSL_0_9_6c~26^2 X-Git-Url: https://git.openssl.org/?p=openssl.git;a=commitdiff_plain;h=1d4581c2dd402b327b69dd73bc069df39113b53f OS/390 support Submitted by: Richard Shapiro --- diff --git a/CHANGES b/CHANGES index 8f62d89a23..5d785a03e2 100644 --- a/CHANGES +++ b/CHANGES @@ -12,6 +12,12 @@ *) applies to 0.9.6a/0.9.6b/0.9.6c and 0.9.7 +) applies to 0.9.7 only + *) Add a configuration entry for OS/390 Unix. The C compiler 'c89' + is called via tools/c89.sh because arguments have to be + rearranged (all '-L' options must appear before the first object + modules). + [Richard Shapiro ] + +) Use wNAFs in EC_POINTs_mul() for improved efficiency (up to about 10% better than before for P-192 and P-224). [Bodo Moeller] diff --git a/Configure b/Configure index 80b1368728..1d58c617a5 100755 --- a/Configure +++ b/Configure @@ -464,6 +464,12 @@ my %table=( # SIEMENS BS2000/OSD: an EBCDIC-based mainframe "BS2000-OSD","c89:-O -XLLML -XLLMK -XL -DB_ENDIAN -DTERMIOS -DCHARSET_EBCDIC::(unknown)::-lsocket -lnsl:THIRTY_TWO_BIT DES_PTR DES_UNROLL MD2_CHAR RC4_INDEX RC4_CHAR BF_PTR:::", +# OS/390 Unix an EBCDIC-based Unix system on IBM mainframe +# You need to compile using the c89.sh wrapper in the tools directory, because the +# IBM compiler does not like the -L switch after any object modules. +# +"OS390-Unix","c89.sh:-O -DB_ENDIAN -DCHARSET_EBCDIC -DNO_SYS_PARAM_H -D_ALL_SOURCE::(unknown):::THIRTY_TWO_BIT DES_PTR DES_UNROLL MD2_CHAR RC4_INDEX RC4_CHAR BF_PTR:::", + # Windows NT, Microsoft Visual C++ 4.0 "VC-NT","cl::::WINNT::BN_LLONG RC4_INDEX EXPORT_VAR_AS_FN ${x86_gcc_opts}::::::::::win32", diff --git a/TABLE b/TABLE index cf4346cb14..b922375ad8 100644 --- a/TABLE +++ b/TABLE @@ -299,6 +299,29 @@ $shared_cflag = $shared_extension = $ranlib = +*** OS390-Unix +$cc = c89.sh +$cflags = -O -DB_ENDIAN -DCHARSET_EBCDIC -DNO_SYS_PARAM_H -D_ALL_SOURCE +$unistd = +$thread_cflag = (unknown) +$sys_id = +$lflags = +$bn_ops = THIRTY_TWO_BIT DES_PTR DES_UNROLL MD2_CHAR RC4_INDEX RC4_CHAR BF_PTR +$bn_obj = +$des_obj = +$bf_obj = +$md5_obj = +$sha1_obj = +$cast_obj = +$rc4_obj = +$rmd160_obj = +$rc5_obj = +$dso_scheme = +$shared_target= +$shared_cflag = +$shared_extension = +$ranlib = + *** OpenBSD $cc = gcc $cflags = -DTERMIOS -O3 -fomit-frame-pointer diff --git a/tools/c89.sh b/tools/c89.sh new file mode 100755 index 0000000000..b25c9fda2d --- /dev/null +++ b/tools/c89.sh @@ -0,0 +1,15 @@ +#!/bin/sh -k +# +# Re-order arguments so that -L comes first +# +opts="" +lopts="" + +for arg in $* ; do + case $arg in + -L*) lopts="$lopts $arg" ;; + *) opts="$opts $arg" ;; + esac +done + +c89 $lopts $opts