summaryrefslogtreecommitdiffstats
path: root/patches
diff options
context:
space:
mode:
authorChris Dearman <chris@mips.com>2012-08-01 16:59:41 -0700
committerDuane Sand <duanes@mips.com>2012-08-15 10:31:19 -0700
commit2178392bec7b69d0f469bce29f653c9fbd09b614 (patch)
tree045e26757a2326c56326890e543ed0d87fb2b1f6 /patches
parent2a9ba31461c7a3bd16f382baa2033d0141d08a8d (diff)
downloadreplicant_openssl-2178392bec7b69d0f469bce29f653c9fbd09b614.zip
replicant_openssl-2178392bec7b69d0f469bce29f653c9fbd09b614.tar.gz
replicant_openssl-2178392bec7b69d0f469bce29f653c9fbd09b614.tar.bz2
[MIPS] Append private_ to AES_set_encrypt_key and AES_set_decrypt_key for MIPS.
Update import script to generate o32 .s files for MIPS. Release 1.0.1 of openssl renamed the C and assembler routines for AES_set_encrypt_key() and AES_set_decrypt_key(), but forgot to do this in the Mips assembler version. The following mips_private.patch fixes that problem in the upstream source, until such time as it is fixed upstream. The upstream version of openssl builds for a "n32" Mips abi used on SGI workstations. Android's import_openssl.sh script is now modified to build for the "o32" abi used throughout Mips Android. That change is permanent, and will not be upstreamed. Signed-off-by: Raghu Gandham <raghu@mips.com> Change-Id: Iec5ce7f11a74a3674e96057f2ce97d8ba9238464
Diffstat (limited to 'patches')
-rw-r--r--patches/README7
-rw-r--r--patches/mips_private.patch64
2 files changed, 71 insertions, 0 deletions
diff --git a/patches/README b/patches/README
index 7fd8093..d9f1b30 100644
--- a/patches/README
+++ b/patches/README
@@ -29,3 +29,10 @@ Support for JSSE implementation based on OpenSSL.
sha1_armv4_large.patch
This patch eliminates memory stores to addresses below SP.
+
+
+mips_private.patch:
+
+Fix duplicate defines of labels AES_set_encrypt_key and AES_set_decrypt_key
+by prefixing Mips version with private_ .
+Revise import script to generate o32-abi .s files for Mips.
diff --git a/patches/mips_private.patch b/patches/mips_private.patch
new file mode 100644
index 0000000..97c076a
--- /dev/null
+++ b/patches/mips_private.patch
@@ -0,0 +1,64 @@
+--- openssl-1.0.1c.orig/crypto/aes/asm/aes-mips.pl 2011-11-14 20:55:23.000000000 +0000
++++ openssl-1.0.1c/crypto/aes/asm/aes-mips.pl 2012-08-14 22:13:55.250604273 +0000
+@@ -1036,9 +1036,9 @@ _mips_AES_set_encrypt_key:
+ 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 =~ /nubi/i); #
+ ___
+ $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 ($tp1,$tp2,$tp4,$tp8,$tp9,$tpb,$tpd,$
+ 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 =~ /nubi/i); #
+ ___
+ $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
+ ___
+ }}}
+