Commit 2d183e4c authored by Dr. Stephen Henson's avatar Dr. Stephen Henson
Browse files

Add BSD-ppc85xx support and avoid copying overlapping buffers in fips_dssvs.c

parent 7049d13c
Loading
Loading
Loading
Loading
+2 −0
Original line number Diff line number Diff line
@@ -409,6 +409,8 @@ my %table=(
"BSD-x86-elf",	"gcc:-DL_ENDIAN -DTERMIOS -O3 -fomit-frame-pointer -Wall::${BSDthreads}:::BN_LLONG ${x86_gcc_des} ${x86_gcc_opts}:${x86_elf_asm}:dlfcn:bsd-shared:-fPIC::.so.\$(SHLIB_MAJOR).\$(SHLIB_MINOR)",
"debug-BSD-x86-elf",	"gcc:-DL_ENDIAN -DTERMIOS -O3 -Wall -g::${BSDthreads}:::BN_LLONG ${x86_gcc_des} ${x86_gcc_opts}:${x86_elf_asm}:dlfcn:bsd-shared:-fPIC::.so.\$(SHLIB_MAJOR).\$(SHLIB_MINOR)",
"BSD-sparcv8",	"gcc:-DB_ENDIAN -DTERMIOS -O3 -mv8 -Wall::${BSDthreads}:::BN_LLONG RC2_CHAR RC4_INDEX DES_INT DES_UNROLL:${sparcv8_asm}:dlfcn:bsd-gcc-shared:-fPIC::.so.\$(SHLIB_MAJOR).\$(SHLIB_MINOR)",
"BSD-ppc85xx","gcc:-DTERMIOS -O3 -fomit-frame-pointer -msoft-float -Wall::${BSDthreads}:::BN_LLONG RC2_CHAR RC4_INDEX DES_INT DES_UNROLL:${no_asm}:dlfcn:bsd-gcc-shared:-fPIC::.so.\$(SHLIB_MAJOR).\$(SHLIB_MINOR)",
"debug-BSD-ppc85xx","gcc:-DTERMIOS -O0 -fomit-frame-pointer -msoft-float -Wall -g::${BSDthreads}:::BN_LLONG RC2_CHAR RC4_INDEX DES_INT DES_UNROLL:${no_asm}:dlfcn:bsd-gcc-shared:-fPIC::.so.\$(SHLIB_MAJOR).\$(SHLIB_MINOR)",

"BSD-generic64","gcc:-DTERMIOS -O3 -Wall::${BSDthreads}:::SIXTY_FOUR_BIT_LONG RC4_CHUNK DES_INT DES_UNROLL:${no_asm}:dlfcn:bsd-gcc-shared:-fPIC::.so.\$(SHLIB_MAJOR).\$(SHLIB_MINOR)",
# -DMD32_REG_T=int doesn't actually belong in sparc64 target, it
+22 −12
Original line number Diff line number Diff line
@@ -219,7 +219,11 @@ case "${SYSTEM}:${RELEASE}:${VERSION}:${MACHINE}" in
	;;

    NetBSD:*:*:*386*)
	if [ -z ${CROSS_COMPILE} ]; then
           echo "`(/usr/sbin/sysctl -n hw.model || /sbin/sysctl -n hw.model) | sed 's,.*\(.\)86-class.*,i\186,'`-whatever-netbsd"; exit 0
        else
           echo "${MACHINE}-whatever-netbsd"; exit 0
	fi
	;;

    NetBSD:*)
@@ -734,17 +738,23 @@ case "$GUESSOS" in
  sparc64-*-*bsd*)	OUT="BSD-sparc64" ;;
  ia64-*-*bsd*)		OUT="BSD-ia64" ;;
  amd64-*-*bsd*)	OUT="BSD-x86_64" ;;
  *86*-*-*bsd*)		# mimic ld behaviour when it's looking for libc...
  *86*-*-*bsd*)		if [ -z ${CROSS_COMPILE} ]; then 
			   # mimic ld behaviour when it's looking for libc...
			   if [ -L /usr/lib/libc.so ]; then	# [Free|Net]BSD
			       libc=/usr/lib/libc.so
			   else					# OpenBSD
			       # ld searches for highest libc.so.* and so do we
			       libc=`(ls /usr/lib/libc.so.* | tail -1) 2>/dev/null`
			   fi
			   echo "libc = $libc"
			   case "`(file -L $libc) 2>/dev/null`" in
			   *ELF*)	OUT="BSD-x86-elf" ;;
			   *)	OUT="BSD-x86"; options="$options no-sse2" ;;
			esac ;;
			  esac 
			else
			   OUT="BSD-x86-elf"
			fi;;
  ppc85xx-*-*bsd*)      OUT="BSD-ppc85xx" ;;  # MPC85XX has no hardware FP accelerator
  *-*-*bsd*)		OUT="BSD-generic32" ;;

  *-*-osf)		OUT="osf1-alpha-cc" ;;
+2 −1
Original line number Diff line number Diff line
@@ -46,7 +46,8 @@ static int parse_mod(char *line, int *pdsa2, int *pL, int *pN,
	if (strcmp(keyword, "L"))
		return 0;
	*pL = atoi(value);
	strcpy(line, p + 1);
	strcpy(lbuf, p + 1);
        strcpy(line, lbuf);
	if (pmd)
		p = strchr(line, ',');
	else
+1 −0
Original line number Diff line number Diff line
@@ -32,6 +32,7 @@ const void *FIPS_text_end(void);
				  defined(__i386__)|| defined(__i386)))	|| \
	(defined(__vxworks)   && (defined(__ppc__) || defined(__ppc)	|| \
				  defined(__mips__)|| defined(__mips)))	|| \
        (defined(__NetBSD__)  && (defined(__powerpc__) || defined(__i386))) || \
	(defined(__linux)     && ((defined(__PPC__) && !defined(__PPC64__)) || \
				  defined(__arm__) || defined(__arm)))	|| \
	(defined(__APPLE__) /* verified on all MacOS X & iOS flavors */)|| \