Add a few more VxWorks targets.
Correct misspelled VXWORKS macros. Add VXWORKS identifying macros to e_os2.h. Add required inclusions and mappings for VxWorks in e_os.h. A few small modifications to make OpenSSL build and work on VxWorks. PR: 253, except for the change that was handled in an earlier commit, and a request for easy build of just parts of OpenSSL.
This commit is contained in:
parent
001ab3abad
commit
6a89a25c27
11 changed files with 55 additions and 17 deletions
|
@ -558,6 +558,8 @@ my %table=(
|
|||
|
||||
##### VxWorks for various targets
|
||||
"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 -DBN_CTX_DEBUG -DCRYPTO_MDEBUG -DPEDANTIC -DDEBUG_SAFESTACK -DDEBUG -g:::VXWORKS:-r:::::",
|
||||
|
||||
);
|
||||
|
||||
|
|
|
@ -34,7 +34,7 @@
|
|||
#include "e_os.h"
|
||||
|
||||
/* VxWorks defines SSIZE_MAX with an empty value causing compile errors */
|
||||
#if defined(OPENSSL_SYS_VSWORKS)
|
||||
#if defined(OPENSSL_SYS_VXWORKS)
|
||||
# undef SSIZE_MAX
|
||||
#endif
|
||||
#ifndef SSIZE_MAX
|
||||
|
|
|
@ -208,7 +208,8 @@ static int def_load(CONF *conf, const char *name, long *line)
|
|||
|
||||
static int def_load_bio(CONF *conf, BIO *in, long *line)
|
||||
{
|
||||
#define BUFSIZE 512
|
||||
/* The macro BUFSIZE conflicts with a system macro in VxWorks */
|
||||
#define CONFBUFSIZE 512
|
||||
int bufnum=0,i,ii;
|
||||
BUF_MEM *buff=NULL;
|
||||
char *s,*p,*end;
|
||||
|
@ -255,15 +256,15 @@ static int def_load_bio(CONF *conf, BIO *in, long *line)
|
|||
for (;;)
|
||||
{
|
||||
again=0;
|
||||
if (!BUF_MEM_grow(buff,bufnum+BUFSIZE))
|
||||
if (!BUF_MEM_grow(buff,bufnum+CONFBUFSIZE))
|
||||
{
|
||||
CONFerr(CONF_F_CONF_LOAD_BIO,ERR_R_BUF_LIB);
|
||||
goto err;
|
||||
}
|
||||
p= &(buff->data[bufnum]);
|
||||
*p='\0';
|
||||
BIO_gets(in, p, BUFSIZE-1);
|
||||
p[BUFSIZE-1]='\0';
|
||||
BIO_gets(in, p, CONFBUFSIZE-1);
|
||||
p[CONFBUFSIZE-1]='\0';
|
||||
ii=i=strlen(p);
|
||||
if (i == 0) break;
|
||||
while (i > 0)
|
||||
|
|
|
@ -133,7 +133,7 @@
|
|||
#define SGTTY
|
||||
#endif
|
||||
|
||||
#if defined(OPENSSL_SYS_VSWORKS)
|
||||
#if defined(OPENSSL_SYS_VXWORKS)
|
||||
#undef TERMIOS
|
||||
#undef TERMIO
|
||||
#undef SGTTY
|
||||
|
@ -274,7 +274,7 @@ int des_read_pw(char *buf, char *buff, int size, const char *prompt,
|
|||
#ifdef OPENSSL_SYS_MSDOS
|
||||
if ((tty=fopen("con","r")) == NULL)
|
||||
tty=stdin;
|
||||
#elif defined(MAC_OS_pre_X) || defined(OPENSSL_SYS_VSWORKS)
|
||||
#elif defined(MAC_OS_pre_X) || defined(OPENSSL_SYS_VXWORKS)
|
||||
tty=stdin;
|
||||
#else
|
||||
#ifndef OPENSSL_SYS_MPE
|
||||
|
|
|
@ -114,7 +114,7 @@ int RAND_egd_bytes(const char *path,int bytes)
|
|||
#include <sys/types.h>
|
||||
#include <sys/socket.h>
|
||||
#ifndef NO_SYS_UN_H
|
||||
# ifdef OPENSSL_SYS_VSWORKS
|
||||
# ifdef OPENSSL_SYS_VXWORKS
|
||||
# include <streams/un.h>
|
||||
# else
|
||||
# include <sys/un.h>
|
||||
|
|
|
@ -115,7 +115,7 @@
|
|||
#include <openssl/rand.h>
|
||||
#include "rand_lcl.h"
|
||||
|
||||
#if !(defined(OPENSSL_SYS_WINDOWS) || defined(OPENSSL_SYS_WIN32) || defined(OPENSSL_SYS_VMS) || defined(OPENSSL_SYS_OS2))
|
||||
#if !(defined(OPENSSL_SYS_WINDOWS) || defined(OPENSSL_SYS_WIN32) || defined(OPENSSL_SYS_VMS) || defined(OPENSSL_SYS_OS2) || defined(OPENSSL_SYS_VXWORKS))
|
||||
|
||||
#include <sys/types.h>
|
||||
#include <sys/time.h>
|
||||
|
|
|
@ -65,7 +65,7 @@
|
|||
#undef TIMES
|
||||
#endif
|
||||
|
||||
#if !defined(OPENSSL_SYS_MSDOS) && !defined(OPENSSL_SYS_WIN32) && !defined(OPENSSL_SYS_VMS) || defined(__DECC) && !defined(OPENSSL_SYS_MACOSX) && !defined(OPENSSL_SYS_VXWORKS)
|
||||
#if !defined(OPENSSL_SYS_MSDOS) && !defined(OPENSSL_SYS_WIN32) && !(defined(OPENSSL_SYS_VMS) || defined(__DECC)) && !defined(OPENSSL_SYS_MACOSX) && !defined(OPENSSL_SYS_VXWORKS)
|
||||
# define TIMES
|
||||
#endif
|
||||
|
||||
|
@ -121,7 +121,7 @@ typedef struct ms_tm
|
|||
HANDLE thread_id;
|
||||
FILETIME ms_win32;
|
||||
# else
|
||||
# ifdef OPENSSL_SYS_VSWORKS
|
||||
# ifdef OPENSSL_SYS_VXWORKS
|
||||
unsigned long ticks;
|
||||
# else
|
||||
struct timeb ms_timeb;
|
||||
|
@ -163,7 +163,7 @@ void ms_time_get(char *a)
|
|||
# ifdef OPENSSL_SYS_WIN32
|
||||
GetThreadTimes(tm->thread_id,&tmpa,&tmpb,&tmpc,&(tm->ms_win32));
|
||||
# else
|
||||
# ifdef OPENSSL_SYS_VSWORKS
|
||||
# ifdef OPENSSL_SYS_VXWORKS
|
||||
tm->ticks = tickGet();
|
||||
# else
|
||||
ftime(&tm->ms_timeb);
|
||||
|
@ -197,7 +197,7 @@ double ms_time_diff(char *ap, char *bp)
|
|||
ret=((double)(lb-la))/1e7;
|
||||
}
|
||||
# else
|
||||
# ifdef OPENSSL_SYS_VSWORKS
|
||||
# ifdef OPENSSL_SYS_VXWORKS
|
||||
ret = (double)(b->ticks - a->ticks) / (double)sysClkRateGet();
|
||||
# else
|
||||
ret= (double)(b->ms_timeb.time-a->ms_timeb.time)+
|
||||
|
@ -222,7 +222,7 @@ int ms_time_cmp(char *ap, char *bp)
|
|||
d =(b->ms_win32.dwHighDateTime&0x000fffff)*10+b->ms_win32.dwLowDateTime/1e7;
|
||||
d-=(a->ms_win32.dwHighDateTime&0x000fffff)*10+a->ms_win32.dwLowDateTime/1e7;
|
||||
# else
|
||||
# ifdef OPENSSL_SYS_VSWORKS
|
||||
# ifdef OPENSSL_SYS_VXWORKS
|
||||
d = (b->ticks - a->ticks);
|
||||
# else
|
||||
d= (double)(b->ms_timeb.time-a->ms_timeb.time)+
|
||||
|
|
|
@ -191,7 +191,7 @@
|
|||
# define SGTTY
|
||||
#endif
|
||||
|
||||
#if defined(OPENSSL_SYS_VSWORKS)
|
||||
#if defined(OPENSSL_SYS_VXWORKS)
|
||||
#undef TERMIOS
|
||||
#undef TERMIO
|
||||
#undef SGTTY
|
||||
|
@ -450,7 +450,7 @@ static int open_console(UI *ui)
|
|||
CRYPTO_w_lock(CRYPTO_LOCK_UI);
|
||||
is_a_tty = 1;
|
||||
|
||||
#if defined(OPENSSL_SYS_MACINTOSH_CLASSIC) || defined(OPENSSL_SYS_VSWORKS)
|
||||
#if defined(OPENSSL_SYS_MACINTOSH_CLASSIC) || defined(OPENSSL_SYS_VXWORKS)
|
||||
tty_in=stdin;
|
||||
tty_out=stderr;
|
||||
#else
|
||||
|
|
|
@ -65,7 +65,7 @@ int OPENSSL_issetugid(void)
|
|||
return issetugid();
|
||||
}
|
||||
|
||||
#elif defined(OPENSSL_SYS_WIN32)
|
||||
#elif defined(OPENSSL_SYS_WIN32) || defined(OPENSSL_SYS_VXWORKS)
|
||||
|
||||
int OPENSSL_issetugid(void)
|
||||
{
|
||||
|
|
30
e_os.h
30
e_os.h
|
@ -485,6 +485,36 @@ extern char *sys_errlist[]; extern int sys_nerr;
|
|||
# define strcasecmp stricmp
|
||||
#endif
|
||||
|
||||
/* vxworks */
|
||||
#if defined(OPENSSL_SYS_VXWORKS)
|
||||
#include <ioLib.h>
|
||||
#include <tickLib.h>
|
||||
#include <sysLib.h>
|
||||
|
||||
#define TTY_STRUCT int
|
||||
|
||||
#define sleep(a) taskDelay((a) * sysClkRateGet())
|
||||
#if defined(ioctlsocket)
|
||||
#undef ioctlsocket
|
||||
#endif
|
||||
#define ioctlsocket(a,b,c) ioctl((a),(b),*(c))
|
||||
|
||||
#include <vxWorks.h>
|
||||
#include <sockLib.h>
|
||||
#include <taskLib.h>
|
||||
|
||||
#define getpid taskIdSelf
|
||||
|
||||
/* NOTE: these are implemented by helpers in database app!
|
||||
* if the database is not linked, we need to implement them
|
||||
* elswhere */
|
||||
struct hostent *gethostbyname(const char *name);
|
||||
struct hostent *gethostbyaddr(const char *addr, int length, int type);
|
||||
struct servent *getservbyname(const char *name, const char *proto);
|
||||
|
||||
#endif
|
||||
/* end vxworks */
|
||||
|
||||
#ifdef __cplusplus
|
||||
}
|
||||
#endif
|
||||
|
|
5
e_os2.h
5
e_os2.h
|
@ -178,6 +178,11 @@ extern "C" {
|
|||
# endif
|
||||
#endif
|
||||
|
||||
/* ------------------------------- VxWorks --------------------------------- */
|
||||
#ifdef OPENSSL_SYSNAME_VXWORKS
|
||||
# define OPENSSL_SYS_VXWORKS
|
||||
#endif
|
||||
|
||||
/**
|
||||
* That's it for OS-specific stuff
|
||||
*****************************************************************************/
|
||||
|
|
Loading…
Reference in a new issue