Commit bdf5e183 authored by Andy Polyakov's avatar Andy Polyakov
Browse files

Enhanced support for Alpha Linux. See CHANGES for details.

parent 3d14b9d0
Loading
Loading
Loading
Loading
+8 −0
Original line number Diff line number Diff line
@@ -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
+6 −0
Original line number Diff line number Diff line
@@ -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::",

+30 −4
Original line number Diff line number Diff line
@@ -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:-(