Commit 0b603bcc authored by Dr. Stephen Henson's avatar Dr. Stephen Henson
Browse files

VxWorks support.

parent 8de14571
Loading
Loading
Loading
Loading
+2 −0
Original line number Diff line number Diff line
@@ -524,6 +524,8 @@ my %table=(
"OS2-EMX", "gcc::::::::",

##### VxWorks for various targets
"vxworks-ppc60x","ccppc:-D_REENTRANT -mrtp -mhard-float -mstrict-align -fno-implicit-fp -DPPC32_fp60x -O2 -fstrength-reduce -fno-builtin -fno-strict-aliasing -Wall -DCPU=PPC32 -DTOOL_FAMILY=gnu -DTOOL=gnu -I\$(WIND_BASE)/target/usr/h -I\$(WIND_BASE)/target/usr/h/wrn/coreip:::VXWORKS:-Wl,--defsym,__wrs_rtp_base=0xe0000000 -L \$(WIND_BASE)/target/usr/lib/ppc/PPC32/common:::linux_ppc32.o:::::::::::::::ranlibppc:",
"vxworks-ppcgen","ccppc:-D_REENTRANT -mrtp -msoft-float -mstrict-align -O1 -fno-builtin -fno-strict-aliasing -Wall -DCPU=PPC32 -DTOOL_FAMILY=gnu -DTOOL=gnu -I\$(WIND_BASE)/target/usr/h -I\$(WIND_BASE)/target/usr/h/wrn/coreip:::VXWORKS:-Wl,--defsym,__wrs_rtp_base=0xe0000000 -L \$(WIND_BASE)/target/usr/lib/ppc/PPC32/sfcommon:::linux_ppc32.o:::::::::::::::ranlibppc:",
"vxworks-ppc405","ccppc:-g -msoft-float -mlongcall -DCPU=PPC405 -I\$(WIND_BASE)/target/h:::VXWORKS:-r:::::",
"vxworks-ppc750","ccppc:-ansi -nostdinc -DPPC750 -D_REENTRANT -fvolatile -fno-builtin -fno-for-scope -fsigned-char -Wall -msoft-float -mlongcall -DCPU=PPC604 -I\$(WIND_BASE)/target/h \$(DEBUG_FLAG):::VXWORKS:-r:::::",
"vxworks-ppc750-debug","ccppc:-ansi -nostdinc -DPPC750 -D_REENTRANT -fvolatile -fno-builtin -fno-for-scope -fsigned-char -Wall -msoft-float -mlongcall -DCPU=PPC604 -I\$(WIND_BASE)/target/h -DBN_DEBUG -DREF_CHECK -DCONF_DEBUG -DCRYPTO_MDEBUG -DPEDANTIC -DDEBUG_SAFESTACK -DDEBUG -g:::VXWORKS:-r:::::",
+1 −1
Original line number Diff line number Diff line
@@ -254,7 +254,7 @@
# endif
#endif

#if !defined(OPENSSL_SYS_VMS) && !defined(OPENSSL_SYS_WINDOWS) && !defined(OPENSSL_SYS_MACINTOSH_CLASSIC) && !defined(OPENSSL_SYS_OS2) && !defined(OPENSSL_SYS_NETWARE)
#if !defined(OPENSSL_SYS_VMS) && !defined(OPENSSL_SYS_WINDOWS) && !defined(OPENSSL_SYS_MACINTOSH_CLASSIC) && !defined(OPENSSL_SYS_OS2) && !defined(OPENSSL_SYS_NETWARE) && !defined(OPENSSL_SYS_VXWORKS)
# define HAVE_FORK 1
#endif

+6 −0
Original line number Diff line number Diff line
@@ -362,6 +362,10 @@ case "${SYSTEM}:${RELEASE}:${VERSION}:${MACHINE}" in
    NONSTOP_KERNEL*)
       echo "nsr-tandem-nsk"; exit 0;
       ;;

    vxworks*)
       echo "${MACHINE}-whatever-vxworks"; exit 0;
       ;;
esac

#
@@ -524,6 +528,8 @@ case "$GUESSOS" in
	OUT="linux-ppc64"
	;;
  ppc-*-linux2) OUT="linux-ppc" ;;
  ppc60x-*-vxworks*) OUT="vxworks-ppc60x" ;;
  ppcgen-*-vxworks*) OUT="vxworks-ppcgen" ;;
  ia64-*-linux?) OUT="linux-ia64" ;;
  sparc64-*-linux2)
	OUT="linux64-sparcv9" ;;
+37 −2
Original line number Diff line number Diff line
@@ -323,8 +323,43 @@ int RAND_poll(void)


#if defined(OPENSSL_SYS_VXWORKS)
/* Note: the existence of /dev/urandom on VxWorks platforms is uncommon
*  however we check for one and use it if found for those cases where
* it is present. */
int RAND_poll(void)
{
	unsigned long l;
#ifdef DEVRANDOM
	unsigned char buf[ENTROPY_NEEDED];
	int n = 0, r, fd;

	if ((fd = open("/dev/urandom", O_RDONLY, 0)) >= 0)
		{
		do
			{
			r = read(fd,(unsigned char *)buf+n, ENTROPY_NEEDED-n);
			if (r > 0)
				n += r;
			}
		while ((r > 0 || errno == EINTR) && n < ENTROPY_NEEDED);

		close(fd);
		}

	if (n > 0)
		{
		RAND_add(buf,sizeof buf,(double)n);
		OPENSSL_cleanse(buf,n);
		}
#endif

	l=time(NULL);
	RAND_add(&l,sizeof(l),0.0);

#if defined(DEVRANDOM)
	return 1;
#else
	return 0;
#endif
}
#endif
+4 −2
Original line number Diff line number Diff line
@@ -56,8 +56,6 @@
 * [including the GNU Public Licence.]
 */

/* We need to define this to get macros like S_IFBLK and S_IFCHR */
#define _XOPEN_SOURCE 500

#include <errno.h>
#include <stdio.h>
@@ -69,6 +67,10 @@
#include <openssl/rand.h>
#include <openssl/buffer.h>

#if !defined(OPENSSL_SYS_VXWORKS)
/* We need to define this to get macros like S_IFBLK and S_IFCHR */
# define _XOPEN_SOURCE 500
#endif
#ifdef OPENSSL_SYS_VMS
#include <unixio.h>
#endif
Loading