This patchset is against OpenSSL 1.0.1c.

It does 2 things very minor things.

First, it adds a linux-mipsel target to Configure.

Second, it fixes the MIPS perlasm, it appears as though at some point
AES_set_encrypt_key and AES_set_decrypt_key in the ASM needed to be
renamed to private_AES_set_encrypt_key and private_AES_set_decrypt_key,
respectively and MIPS got missed.

Thanks.
-Brad
diff -ruN openssl-1.0.1c/Configure openssl-1.0.1c.mips/Configure
--- openssl-1.0.1c/Configure    2012-03-14 18:20:40.000000000 -0400
+++ openssl-1.0.1c.mips/Configure       2012-09-07 09:00:15.000000000 -0400
@@ -401,6 +401,14 @@
 "linux-alpha-ccc","ccc:-fast -readonly_strings -DL_ENDIAN 
-DTERMIO::-D_REENTRANT:::SIXTY_FOUR_BIT_LONG RC4_CHUNK DES_INT DES_PTR 
DES_RISC1 DES_UNROLL:${alpha_asm}",
 "linux-alpha+bwx-ccc","ccc:-fast -readonly_strings -DL_ENDIAN 
-DTERMIO::-D_REENTRANT:::SIXTY_FOUR_BIT_LONG RC4_CHAR RC4_CHUNK DES_INT DES_PTR 
DES_RISC1 DES_UNROLL:${alpha_asm}",
 
+#### MIPS Linux with GNU C
+# Special notes:
+# - in order for the assembly instructions to be usable, must be mips2 or 
higher
+#   as specified with the -march command line argument.
+#   An example cross-compile command line might be:
+#   CROSS_COMPILE=mipsel-linux- ./Configure "-march=4ksd 
--sysroot=/opt/uclibc" linux-mipsel
+"linux-mipsel",   "gcc:-DL_ENDIAN -DTERMIO -O3 
-Wall::-D_REENTRANT::-ldl:BN_LLONG RC2_CHAR RC4_INDEX DES_INT DES_UNROLL 
DES_RISC2:${mips32_asm}:elf:dlfcn:linux-shared:-fPIC::.so.\$(SHLIB_MAJOR).\$(SHLIB_MINOR)",
+
 # Android: linux-* but without -DTERMIO and pointers to headers and libs.
 "android","gcc:-mandroid -I\$(ANDROID_DEV)/include -B\$(ANDROID_DEV)/lib -O3 
-fomit-frame-pointer -Wall::-D_REENTRANT::-ldl:BN_LLONG RC4_CHAR RC4_CHUNK 
DES_INT DES_UNROLL 
BF_PTR:${no_asm}:dlfcn:linux-shared:-fPIC::.so.\$(SHLIB_MAJOR).\$(SHLIB_MINOR)",
 "android-x86","gcc:-mandroid -I\$(ANDROID_DEV)/include -B\$(ANDROID_DEV)/lib 
-O3 -fomit-frame-pointer -Wall::-D_REENTRANT::-ldl:BN_LLONG ${x86_gcc_des} 
${x86_gcc_opts}:".eval{my 
$asm=${x86_elf_asm};$asm=~s/:elf/:android/;$asm}.":dlfcn:linux-shared:-fPIC::.so.\$(SHLIB_MAJOR).\$(SHLIB_MINOR)",
diff -ruN openssl-1.0.1c/crypto/aes/asm/aes-mips.pl 
openssl-1.0.1c.mips/crypto/aes/asm/aes-mips.pl
--- openssl-1.0.1c/crypto/aes/asm/aes-mips.pl   2011-11-14 15:55:23.000000000 
-0500
+++ openssl-1.0.1c.mips/crypto/aes/asm/aes-mips.pl      2012-09-07 
08:22:30.000000000 -0400
@@ -1036,9 +1036,9 @@
        nop
 .end   _mips_AES_set_encrypt_key
 
-.globl AES_set_encrypt_key
-.ent   AES_set_encrypt_key
-AES_set_encrypt_key:
+.globl private_AES_set_encrypt_key
+.ent   private_AES_set_encrypt_key
+private_AES_set_encrypt_key:
        .frame  $sp,$FRAMESIZE,$ra
        .mask   $SAVED_REGS_MASK,-$SZREG
        .set    noreorder
@@ -1060,7 +1060,7 @@
 ___
 $code.=<<___ if ($flavour !~ /o32/i);  # non-o32 PIC-ification
        .cplocal        $Tbl
-       .cpsetup        $pf,$zero,AES_set_encrypt_key
+       .cpsetup        $pf,$zero,private_AES_set_encrypt_key
 ___
 $code.=<<___;
        .set    reorder
@@ -1083,7 +1083,7 @@
 $code.=<<___;
        jr      $ra
        $PTR_ADD $sp,$FRAMESIZE
-.end   AES_set_encrypt_key
+.end   private_AES_set_encrypt_key
 ___
 
 my ($head,$tail)=($inp,$bits);
@@ -1091,9 +1091,9 @@
 my ($m,$x80808080,$x7f7f7f7f,$x1b1b1b1b)=($at,$t0,$t1,$t2);
 $code.=<<___;
 .align 5
-.globl AES_set_decrypt_key
-.ent   AES_set_decrypt_key
-AES_set_decrypt_key:
+.globl private_AES_set_decrypt_key
+.ent   private_AES_set_decrypt_key
+private_AES_set_decrypt_key:
        .frame  $sp,$FRAMESIZE,$ra
        .mask   $SAVED_REGS_MASK,-$SZREG
        .set    noreorder
@@ -1115,7 +1115,7 @@
 ___
 $code.=<<___ if ($flavour !~ /o32/i);  # non-o32 PIC-ification
        .cplocal        $Tbl
-       .cpsetup        $pf,$zero,AES_set_decrypt_key
+       .cpsetup        $pf,$zero,private_AES_set_decrypt_key
 ___
 $code.=<<___;
        .set    reorder
@@ -1226,7 +1226,7 @@
 $code.=<<___;
        jr      $ra
        $PTR_ADD $sp,$FRAMESIZE
-.end   AES_set_decrypt_key
+.end   private_AES_set_decrypt_key
 ___
 }}}
 

Reply via email to