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.
This commit is contained in:
parent
7cf6e2a35b
commit
0fad6cb7e7
3
CHANGES
3
CHANGES
@ -4,6 +4,9 @@
|
|||||||
|
|
||||||
Changes between 0.9.4 and 0.9.5 [xx XXX 2000]
|
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
|
*) 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).
|
equal (it gave wrong results if (rem=(n1-q*d0)&BN_MASK2) < d0).
|
||||||
[Ulf Möller]
|
[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", "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::::",
|
"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
|
my @WinTargets=qw(VC-NT VC-WIN32 VC-WIN16 VC-W31-16 VC-W31-32 VC-MSDOS BC-32
|
||||||
|
5
config
5
config
@ -187,6 +187,10 @@ case "${SYSTEM}:${RELEASE}:${VERSION}:${MACHINE}" in
|
|||||||
echo "i860-intel-osf1"; exit 0
|
echo "i860-intel-osf1"; exit 0
|
||||||
;;
|
;;
|
||||||
|
|
||||||
|
Rhapsody:*)
|
||||||
|
echo "ppc-apple-rhapsody"; exit 0
|
||||||
|
;;
|
||||||
|
|
||||||
SunOS:5.*)
|
SunOS:5.*)
|
||||||
echo "${MACHINE}-sun-solaris2"; exit 0
|
echo "${MACHINE}-sun-solaris2"; exit 0
|
||||||
;;
|
;;
|
||||||
@ -395,6 +399,7 @@ case "$GUESSOS" in
|
|||||||
;;
|
;;
|
||||||
mips-*-linux?) OUT="linux-mips" ;;
|
mips-*-linux?) OUT="linux-mips" ;;
|
||||||
ppc-*-linux2) OUT="linux-ppc" ;;
|
ppc-*-linux2) OUT="linux-ppc" ;;
|
||||||
|
ppc-apple-rhapsody) OUT="rhapsody-ppc-cc" ;;
|
||||||
sparc64-*-linux2)
|
sparc64-*-linux2)
|
||||||
#Before we can uncomment following lines we have to wait at least
|
#Before we can uncomment following lines we have to wait at least
|
||||||
#till 64-bit glibc for SPARC is operational:-(
|
#till 64-bit glibc for SPARC is operational:-(
|
||||||
|
@ -200,16 +200,16 @@
|
|||||||
*/
|
*/
|
||||||
# if defined(__i386)
|
# if defined(__i386)
|
||||||
# define ROTATE(a,n) ({ register unsigned int ret; \
|
# define ROTATE(a,n) ({ register unsigned int ret; \
|
||||||
asm volatile ( \
|
asm ( \
|
||||||
"roll %1,%0" \
|
"roll %1,%0" \
|
||||||
: "=r"(ret) \
|
: "=r"(ret) \
|
||||||
: "I"(n), "0"(a) \
|
: "I"(n), "0"(a) \
|
||||||
: "cc"); \
|
: "cc"); \
|
||||||
ret; \
|
ret; \
|
||||||
})
|
})
|
||||||
# elif defined(__powerpc)
|
# elif defined(__powerpc) || defined(__ppc)
|
||||||
# define ROTATE(a,n) ({ register unsigned int ret; \
|
# define ROTATE(a,n) ({ register unsigned int ret; \
|
||||||
asm volatile ( \
|
asm ( \
|
||||||
"rlwinm %0,%1,%2,0,31" \
|
"rlwinm %0,%1,%2,0,31" \
|
||||||
: "=r"(ret) \
|
: "=r"(ret) \
|
||||||
: "r"(a), "I"(n)); \
|
: "r"(a), "I"(n)); \
|
||||||
@ -226,14 +226,14 @@
|
|||||||
/* some GNU C inline assembler templates by <appro@fy.chalmers.se> */
|
/* some GNU C inline assembler templates by <appro@fy.chalmers.se> */
|
||||||
# if defined(__i386) && !defined(I386_ONLY)
|
# if defined(__i386) && !defined(I386_ONLY)
|
||||||
# define BE_FETCH32(a) ({ register unsigned int l=(a);\
|
# define BE_FETCH32(a) ({ register unsigned int l=(a);\
|
||||||
asm volatile ( \
|
asm ( \
|
||||||
"bswapl %0" \
|
"bswapl %0" \
|
||||||
: "=r"(l) : "0"(l)); \
|
: "=r"(l) : "0"(l)); \
|
||||||
l; \
|
l; \
|
||||||
})
|
})
|
||||||
# elif defined(__powerpc)
|
# elif defined(__powerpc)
|
||||||
# define LE_FETCH32(a) ({ register unsigned int l; \
|
# define LE_FETCH32(a) ({ register unsigned int l; \
|
||||||
asm volatile ( \
|
asm ( \
|
||||||
"lwbrx %0,0,%1" \
|
"lwbrx %0,0,%1" \
|
||||||
: "=r"(l) \
|
: "=r"(l) \
|
||||||
: "r"(a)); \
|
: "r"(a)); \
|
||||||
@ -242,7 +242,7 @@
|
|||||||
|
|
||||||
# elif defined(__sparc) && defined(ULTRASPARC)
|
# elif defined(__sparc) && defined(ULTRASPARC)
|
||||||
# define LE_FETCH32(a) ({ register unsigned int l; \
|
# define LE_FETCH32(a) ({ register unsigned int l; \
|
||||||
asm volatile ( \
|
asm ( \
|
||||||
"lda [%1]#ASI_PRIMARY_LITTLE,%0"\
|
"lda [%1]#ASI_PRIMARY_LITTLE,%0"\
|
||||||
: "=r"(l) \
|
: "=r"(l) \
|
||||||
: "r"(a)); \
|
: "r"(a)); \
|
||||||
|
Loading…
x
Reference in New Issue
Block a user