Enhanced support for Alpha Linux. See CHANGES for details.

This commit is contained in:
Andy Polyakov 2000-01-02 20:46:58 +00:00
parent 3d14b9d04a
commit bdf5e18317
3 changed files with 44 additions and 4 deletions

View file

@ -4,6 +4,14 @@
Changes between 0.9.4 and 0.9.5 [xx XXX 1999]
*) Enhanced support for Alpha Linux is added. Now ./config checks if
the host supports BWX extension and if Compaq C is present on the
$PATH. Just exploiting of the BWX extention results in 20-30%
performance kick for some algorithms, e.g. DES and RC4 to mention
a couple. Compaq C in turn generates ~20% faster code for MD5 and
SHA1.
[Andy Polyakov]
*) Add support for MS "fast SGC". This is arguably a violation of the
SSL3/TLS protocol. Netscape SGC does two handshakes: the first with
weak crypto and after checking the certificate is SGC a second one

View file

@ -203,6 +203,12 @@ my %table=(
"alpha164-cc", "cc:-std1 -tune host -fast -readonly_strings::(unknown)::SIXTY_FOUR_BIT_LONG RC4_CHUNK:asm/alpha.o::",
"FreeBSD-alpha","gcc:-DTERMIOS -O3 -fomit-frame-pointer::(unknown)::SIXTY_FOUR_BIT_LONG RC4_CHUNK DES_INT DES_PTR DES_RISC2:::",
#### Alpha Linux with GNU C and Compaq C setups
"linux-alpha-gcc","gcc:-O3 -DL_ENDIAN -DTERMIO::(unknown)::SIXTY_FOUR_BIT_LONG RC4_CHUNK DES_RISC1 DES_UNROLL:asm/alpha.o::",
"linux-alpha+bwx-gcc","gcc:-O3 -DL_ENDIAN -DTERMIO::(unknown)::SIXTY_FOUR_BIT_LONG RC4_CHAR RC4_CHUNK DES_RISC1 DES_UNROLL:asm/alpha.o::",
"linux-alpha-ccc","ccc:-fast -readonly_strings -DL_ENDIAN -DTERMIO::(unknown)::SIXTY_FOUR_BIT_LONG RC4_CHUNK DES_INT DES_PTR DES_RISC1 DES_UNROLL:asm/alpha.o::",
"linux-alpha+bwx-ccc","ccc:-fast -readonly_strings -DL_ENDIAN -DTERMIO::(unknown)::SIXTY_FOUR_BIT_LONG RC4_CHAR RC4_CHUNK DES_INT DES_PTR DES_RISC1 DES_UNROLL:asm/alpha.o::",
# assembler versions -- currently defunct:
##"OpenBSD-alpha","gcc:-DTERMIOS -O3 -fomit-frame-pointer::(unknown):SIXTY_FOUR_BIT_LONG DES_INT DES_PTR DES_RISC2:asm/alpha.o::",

34
config
View file

@ -311,7 +311,7 @@ else
fi
if [ "$SYSTEM" = "SunOS" ]; then
# assume output is "blah-blah C x.x"
# check for WorkShop C, expected output is "cc: blah-blah C x.x"
CCVER=`(cc -V 2>&1) 2>/dev/null | \
egrep -e '^cc: .* C [0-9]\.[0-9]' | \
sed 's/.* C \([0-9]\)\.\([0-9]\).*/\1\2/'`
@ -328,6 +328,19 @@ if [ "$SYSTEM" = "SunOS" ]; then
fi
fi
if [ "${SYSTEM}-${MACHINE}" = "Linux-alpha" ]; then
# check for Compaq C, expected output is "blah-blah C Vx.x"
CCCVER=`(ccc -V 2>&1) 2>/dev/null | \
egrep -e '.* C V[0-9]\.[0-9]' | \
sed 's/.* C V\([0-9]\)\.\([0-9]\).*/\1\2/'`
CCCVER=${CCCVER:-0}
if [ $CCCVER -gt 60 ]; then
CC=ccc # overrides gcc!!! well, ccc outperforms inoticeably
# only on hash routines and des, otherwise gcc (2.95)
# keeps along rather tight...
fi
fi
GCCVER=${GCCVER:-0}
CCVER=${CCVER:-0}
@ -340,9 +353,6 @@ echo Operating system: $GUESSOS
# script above so we end up with values in vars but that would take
# more time that I want to waste at the moment
case "$GUESSOS" in
alpha-*-linux2) OUT="alpha-gcc" ;;
ppc-*-linux2) OUT="linux-ppc" ;;
mips-*-linux?) OUT="linux-mips" ;;
mips2-sgi-irix)
CPU=`(hinv -t cpu) 2>/dev/null | sed 's/^CPU:[^R]*R\([0-9]*\).*/\1/'`
CPU=${CPU:-0}
@ -369,6 +379,22 @@ case "$GUESSOS" in
options="$options -mips4"
OUT="irix-mips3-$CC"
;;
alpha-*-linux2)
ISA=`awk '/cpu model/{print$4}' /proc/cpuinfo`
case ${ISA:-generic} in
*[67]) OUT="linux-alpha+bwx-$CC" ;;
*) OUT="linux-alpha-$CC" ;;
esac
if [ "$CC" = "gcc" ]; then
case ${ISA:-generic} in
EV5|EV45) options="$options -mcpu=ev5";;
EV56|PCA56) options="$options -mcpu=ev56";;
EV6|EV67|PCA57) options="$options -mcpu=ev6";;
esac
fi
;;
mips-*-linux?) OUT="linux-mips" ;;
ppc-*-linux2) OUT="linux-ppc" ;;
sparc64-*-linux2)
#Before we can uncomment following lines we have to wait at least
#till 64-bit glibc for SPARC is operational:-(