diff options
author | Andy Polyakov <appro@openssl.org> | 2000-02-06 11:15:20 +0000 |
---|---|---|
committer | Andy Polyakov <appro@openssl.org> | 2000-02-06 11:15:20 +0000 |
commit | 0fad6cb7e7359dd0911ab54a80c1b3e10b378fd3 (patch) | |
tree | f6762d5b14262fe04b60edea64bb76ade1e19977 | |
parent | 7cf6e2a35b36b690c93b85cb68d103b4bc946e30 (diff) | |
download | openssl-0fad6cb7e7359dd0911ab54a80c1b3e10b378fd3.tar.gz |
Support for MacOS X (Rhapsody) is added. Also get rid of volatile
qualifier in asm definitions as it prevents compiler from moving
the instruction(s) during optimization pass.
-rw-r--r-- | CHANGES | 3 | ||||
-rwxr-xr-x | Configure | 3 | ||||
-rwxr-xr-x | config | 5 | ||||
-rw-r--r-- | crypto/md32_common.h | 12 |
4 files changed, 17 insertions, 6 deletions
@@ -4,6 +4,9 @@ Changes between 0.9.4 and 0.9.5 [xx XXX 2000] + *) ./config recognizes MacOS X now. + [Andy Polyakov] + *) Bug fix for BN_div() when the first words of num and divsor are equal (it gave wrong results if (rem=(n1-q*d0)&BN_MASK2) < d0). [Ulf Möller] @@ -314,6 +314,9 @@ my %table=( "OpenBSD", "gcc:-DTERMIOS -O3 -fomit-frame-pointer::(unknown)::BN_LLONG RC2_CHAR RC4_INDEX DES_UNROLL:::", "OpenBSD-mips","gcc:-O2 -DL_ENDIAN::(unknown):BN_LLONG MD2_CHAR RC4_INDEX RC4_CHAR DES_UNROLL DES_RISC2 DES_PTR BF_PTR::::", +##### MacOS X (a.k.a. Rhapsody) setup +"rhapsody-ppc-cc","cc:-O3 -DB_ENDIAN::(unknown)::BN_LLONG RC4_CHAR RC4_CHUNK DES_UNROLL BF_PTR:::", + ); my @WinTargets=qw(VC-NT VC-WIN32 VC-WIN16 VC-W31-16 VC-W31-32 VC-MSDOS BC-32 @@ -187,6 +187,10 @@ case "${SYSTEM}:${RELEASE}:${VERSION}:${MACHINE}" in echo "i860-intel-osf1"; exit 0 ;; + Rhapsody:*) + echo "ppc-apple-rhapsody"; exit 0 + ;; + SunOS:5.*) echo "${MACHINE}-sun-solaris2"; exit 0 ;; @@ -395,6 +399,7 @@ case "$GUESSOS" in ;; mips-*-linux?) OUT="linux-mips" ;; ppc-*-linux2) OUT="linux-ppc" ;; + ppc-apple-rhapsody) OUT="rhapsody-ppc-cc" ;; sparc64-*-linux2) #Before we can uncomment following lines we have to wait at least #till 64-bit glibc for SPARC is operational:-( diff --git a/crypto/md32_common.h b/crypto/md32_common.h index a5b838442b..9a6a27512f 100644 --- a/crypto/md32_common.h +++ b/crypto/md32_common.h @@ -200,16 +200,16 @@ */ # if defined(__i386) # define ROTATE(a,n) ({ register unsigned int ret; \ - asm volatile ( \ + asm ( \ "roll %1,%0" \ : "=r"(ret) \ : "I"(n), "0"(a) \ : "cc"); \ ret; \ }) -# elif defined(__powerpc) +# elif defined(__powerpc) || defined(__ppc) # define ROTATE(a,n) ({ register unsigned int ret; \ - asm volatile ( \ + asm ( \ "rlwinm %0,%1,%2,0,31" \ : "=r"(ret) \ : "r"(a), "I"(n)); \ @@ -226,14 +226,14 @@ /* some GNU C inline assembler templates by <appro@fy.chalmers.se> */ # if defined(__i386) && !defined(I386_ONLY) # define BE_FETCH32(a) ({ register unsigned int l=(a);\ - asm volatile ( \ + asm ( \ "bswapl %0" \ : "=r"(l) : "0"(l)); \ l; \ }) # elif defined(__powerpc) # define LE_FETCH32(a) ({ register unsigned int l; \ - asm volatile ( \ + asm ( \ "lwbrx %0,0,%1" \ : "=r"(l) \ : "r"(a)); \ @@ -242,7 +242,7 @@ # elif defined(__sparc) && defined(ULTRASPARC) # define LE_FETCH32(a) ({ register unsigned int l; \ - asm volatile ( \ + asm ( \ "lda [%1]#ASI_PRIMARY_LITTLE,%0"\ : "=r"(l) \ : "r"(a)); \ |