Module Name: src
Committed By: matt
Date: Fri Jul 27 23:01:23 UTC 2012
Modified Files:
src/crypto/external/bsd/openssl/dist/crypto: ppccap.c ppccpuid.pl
src/crypto/external/bsd/openssl/lib/libcrypto/arch/powerpc: crypto.inc
ppccpuid.S
Log Message:
Get new openssl to work on powerpc.
To generate a diff of this commit:
cvs rdiff -u -r1.1.1.1 -r1.2 \
src/crypto/external/bsd/openssl/dist/crypto/ppccap.c
cvs rdiff -u -r1.1.1.3 -r1.2 \
src/crypto/external/bsd/openssl/dist/crypto/ppccpuid.pl
cvs rdiff -u -r1.1 -r1.2 \
src/crypto/external/bsd/openssl/lib/libcrypto/arch/powerpc/crypto.inc
cvs rdiff -u -r1.3 -r1.4 \
src/crypto/external/bsd/openssl/lib/libcrypto/arch/powerpc/ppccpuid.S
Please note that diffs are not public domain; they are subject to the
copyright notices on the relevant files.
Modified files:
Index: src/crypto/external/bsd/openssl/dist/crypto/ppccap.c
diff -u src/crypto/external/bsd/openssl/dist/crypto/ppccap.c:1.1.1.1 src/crypto/external/bsd/openssl/dist/crypto/ppccap.c:1.2
--- src/crypto/external/bsd/openssl/dist/crypto/ppccap.c:1.1.1.1 Thu Jul 26 14:59:15 2012
+++ src/crypto/external/bsd/openssl/dist/crypto/ppccap.c Fri Jul 27 23:01:23 2012
@@ -74,7 +74,7 @@ void OPENSSL_cpuid_setup(void)
sigdelset(&all_masked,SIGBUS);
sigdelset(&all_masked,SIGSEGV);
- if ((e=getenv("OPENSSL_ppccap")))
+ if ((e=getenv("OPENSSL_ppccap")) != NULL)
{
OPENSSL_ppccap_P=strtoul(e,NULL,0);
return;
@@ -106,6 +106,7 @@ void OPENSSL_cpuid_setup(void)
if (sigsetjmp(ill_jmp,1) == 0)
{
+ void OPENSSL_altivec_probe();
OPENSSL_altivec_probe();
OPENSSL_ppccap_P |= PPC_ALTIVEC;
}
Index: src/crypto/external/bsd/openssl/dist/crypto/ppccpuid.pl
diff -u src/crypto/external/bsd/openssl/dist/crypto/ppccpuid.pl:1.1.1.3 src/crypto/external/bsd/openssl/dist/crypto/ppccpuid.pl:1.2
--- src/crypto/external/bsd/openssl/dist/crypto/ppccpuid.pl:1.1.1.3 Thu Jul 26 14:59:15 2012
+++ src/crypto/external/bsd/openssl/dist/crypto/ppccpuid.pl Fri Jul 27 23:01:23 2012
@@ -88,8 +88,12 @@ Ladd: lwarx r5,0,r3
.globl .OPENSSL_rdtsc
.align 4
.OPENSSL_rdtsc:
- mftb r3
+Lrdtsc:
+ mftb r5
mftbu r4
+ mftb r3
+ cmplw r3,r5
+ bne Lrdtsc
blr
.long 0
.byte 0,12,0x14,0,0,0,0,0
Index: src/crypto/external/bsd/openssl/lib/libcrypto/arch/powerpc/crypto.inc
diff -u src/crypto/external/bsd/openssl/lib/libcrypto/arch/powerpc/crypto.inc:1.1 src/crypto/external/bsd/openssl/lib/libcrypto/arch/powerpc/crypto.inc:1.2
--- src/crypto/external/bsd/openssl/lib/libcrypto/arch/powerpc/crypto.inc:1.1 Fri Jul 27 18:10:40 2012
+++ src/crypto/external/bsd/openssl/lib/libcrypto/arch/powerpc/crypto.inc Fri Jul 27 23:01:23 2012
@@ -1,3 +1,3 @@
-CPUID_SRCS = ppccap.c
+CPUID_SRCS = ppccap.c ppccpuid.S
CPUID = yes
.include "../../crypto.inc"
Index: src/crypto/external/bsd/openssl/lib/libcrypto/arch/powerpc/ppccpuid.S
diff -u src/crypto/external/bsd/openssl/lib/libcrypto/arch/powerpc/ppccpuid.S:1.3 src/crypto/external/bsd/openssl/lib/libcrypto/arch/powerpc/ppccpuid.S:1.4
--- src/crypto/external/bsd/openssl/lib/libcrypto/arch/powerpc/ppccpuid.S:1.3 Thu Jul 26 19:58:40 2012
+++ src/crypto/external/bsd/openssl/lib/libcrypto/arch/powerpc/ppccpuid.S Fri Jul 27 23:01:23 2012
@@ -71,8 +71,12 @@ OPENSSL_atomic_add:
.type OPENSSL_rdtsc,@function
.align 4
OPENSSL_rdtsc:
- mftb 3
+.Lrdtsc:
mftbu 4
+ mftb 3
+ mftbu 5
+ cmplw 4,5
+ bne- .Lrdtsc
blr
.long 0
.byte 0,12,0x14,0,0,0,0,0
@@ -85,12 +89,13 @@ OPENSSL_cleanse:
li 0,0
bge .Lot
cmplwi 4,0
- bclr 14,2
-.Little: mtctr 4
+ beqlr-
+.Little:
+ mtctr 4
stb 0,0(3)
addi 3,3,1
- bc 16,0,$-8
- blr
+ bdnz $-8
+ blr
.Lot: andi. 5,3,3
beq .Laligned
stb 0,0(3)
@@ -100,9 +105,10 @@ OPENSSL_cleanse:
.Laligned:
srwi 5,4,2
mtctr 5
+.Lstore4:
stw 0,0(3)
addi 3,3,4
- bc 16,0,$-8
+ bdnz .Lstore4
andi. 4,4,3
bne .Little
blr