Below a patch which fixes the Linux/MIPS support in OpenSSL.  Didn't work
for most machine before since they're big endian.

Note that this was the first time I ever look at the OpenSSL code - and
sorry, I didn't like what I saw.  Especially the fact that the source tree
is modifying itself makes generating a diff unnecessarily difficult.  It's
also a problem with CVS.  And config.guess like most other packages
would have made the one half of this package unnecessary, autoconf the
other ...

  Ralf

diff -urN openssl-0.9.5a.orig/Configure openssl-0.9.5a/Configure
--- openssl-0.9.5a.orig/Configure       Mon Mar 27 23:28:10 2000
+++ openssl-0.9.5a/Configure    Fri Oct 20 20:35:40 2000
@@ -271,7 +271,8 @@
 "linux-elf",   "gcc:-DL_ENDIAN -DTERMIO -O3 -fomit-frame-pointer -m486 
-Wall::-D_REENTRANT::BN_LLONG ${x86_gcc_des} ${x86_gcc_opts}:${x86_elf_asm}",
 "debug-linux-elf","gcc:-DREF_CHECK -DBN_CTX_DEBUG -DCRYPTO_MDEBUG -DL_ENDIAN -DTERMIO 
-g -m486 -Wall::-D_REENTRANT:-lefence:BN_LLONG ${x86_gcc_des} 
${x86_gcc_opts}:${x86_elf_asm}",
 "linux-aout",  "gcc:-DL_ENDIAN -DTERMIO -O3 -fomit-frame-pointer -m486 
-Wall::(unknown)::BN_LLONG ${x86_gcc_des} ${x86_gcc_opts}:${x86_out_asm}",
-"linux-mips",   "gcc:-DL_ENDIAN -DTERMIO -O3 -fomit-frame-pointer 
-Wall::(unknown)::BN_LLONG:::",
+"linux-mipsel",   "gcc:-DL_ENDIAN -DTERMIO -O3 -fomit-frame-pointer 
+-Wall::(unknown)::BN_LLONG:::",
+"linux-mips",   "gcc:-DB_ENDIAN -DTERMIO -O3 -fomit-frame-pointer 
+-Wall::(unknown)::BN_LLONG:::",
 "linux-ppc",    "gcc:-DB_ENDIAN -DTERMIO -O3 -fomit-frame-pointer 
-Wall::-D_REENTRANT::BN_LLONG::",
 "linux-ia64",   "gcc:-DL_ENDIAN -DTERMIO -O3 -fomit-frame-pointer 
-Wall::(unknown)::SIXTY_FOUR_BIT_LONG::",
 "NetBSD-sparc",        "gcc:-DTERMIOS -O3 -fomit-frame-pointer -mv8 -Wall 
-DB_ENDIAN::(unknown)::BN_LLONG MD2_CHAR RC4_INDEX DES_UNROLL:::",
diff -urN openssl-0.9.5a.orig/config openssl-0.9.5a/config
--- openssl-0.9.5a.orig/config  Tue Mar 14 00:52:44 2000
+++ openssl-0.9.5a/config       Fri Oct 20 20:35:40 2000
@@ -407,7 +407,22 @@
            esac
        fi
        ;;
-  mips-*-linux?) OUT="linux-mips" ;;
+  mips-*-linux?)
+          cat >dummy.c <<EOF
+#include <stdio.h>  /* for printf() prototype */
+        int main (argc, argv) int argc; char *argv[]; {
+#ifdef __MIPSEB__
+  printf ("linux-%s\n", argv[1]);
+#endif
+#ifdef __MIPSEL__
+  printf ("linux-%sel\n", argv[1]);
+#endif
+  return 0;
+}
+EOF
+       ${CC} -o dummy dummy.c && OUT=`./dummy ${MACHINE}`
+       rm dummy dummy.c
+       ;;
   ppc-*-linux2) OUT="linux-ppc" ;;
   ia64-*-linux?) OUT="linux-ia64" ;;
   ppc-apple-rhapsody) OUT="rhapsody-ppc-cc" ;;
______________________________________________________________________
OpenSSL Project                                 http://www.openssl.org
Development Mailing List                       [EMAIL PROTECTED]
Automated List Manager                           [EMAIL PROTECTED]

Reply via email to