diff options
author | Chris Dearman <chris@mips.com> | 2012-08-01 16:59:41 -0700 |
---|---|---|
committer | Duane Sand <duanes@mips.com> | 2012-08-15 10:31:19 -0700 |
commit | 2178392bec7b69d0f469bce29f653c9fbd09b614 (patch) | |
tree | 045e26757a2326c56326890e543ed0d87fb2b1f6 /patches | |
parent | 2a9ba31461c7a3bd16f382baa2033d0141d08a8d (diff) | |
download | replicant_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/README | 7 | ||||
-rw-r--r-- | patches/mips_private.patch | 64 |
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 + ___ + }}} + |