adaint.c, [...]: Initial port to arm-mentor-nucleus.
2007-10-15 Geert Bosch <bosch@adacore.com> * adaint.c, socket.c, cal.c: Initial port to arm-mentor-nucleus. * expect.c: Initial port to arm-mentor-nucleus. Use kill for __gnat_kill() on VMS. From-SVN: r129319
This commit is contained in:
parent
67ce0d7e96
commit
aace458a3e
@ -94,6 +94,7 @@
|
||||
#include <utime.h>
|
||||
#endif
|
||||
|
||||
/* wait.h processing */
|
||||
#ifdef __MINGW32__
|
||||
#if OLD_MINGW
|
||||
#include <sys/wait.h>
|
||||
@ -108,7 +109,10 @@
|
||||
preventing the inclusion of the GCC header from doing anything. */
|
||||
#define GCC_RESOURCE_H
|
||||
#include <sys/wait.h>
|
||||
#elif defined (__nucleus__)
|
||||
/* No wait() or waitpid() calls available */
|
||||
#else
|
||||
/* Default case */
|
||||
#include <sys/wait.h>
|
||||
#endif
|
||||
|
||||
@ -275,7 +279,7 @@ const int __gnat_vmsp = 0;
|
||||
#elif defined (VMS)
|
||||
#define GNAT_MAX_PATH_LEN 256 /* PATH_MAX */
|
||||
|
||||
#elif defined (__vxworks) || defined (__OPENNT)
|
||||
#elif defined (__vxworks) || defined (__OPENNT) || defined(__nucleus__)
|
||||
#define GNAT_MAX_PATH_LEN PATH_MAX
|
||||
|
||||
#else
|
||||
@ -391,38 +395,34 @@ __gnat_to_gm_time
|
||||
|
||||
/* Place the contents of the symbolic link named PATH in the buffer BUF,
|
||||
which has size BUFSIZ. If PATH is a symbolic link, then return the number
|
||||
of characters of its content in BUF. Otherwise, return -1. For Windows,
|
||||
OS/2 and vxworks, always return -1. */
|
||||
of characters of its content in BUF. Otherwise, return -1.
|
||||
For systems not supporting symbolic links, always return -1. */
|
||||
|
||||
int
|
||||
__gnat_readlink (char *path ATTRIBUTE_UNUSED,
|
||||
char *buf ATTRIBUTE_UNUSED,
|
||||
size_t bufsiz ATTRIBUTE_UNUSED)
|
||||
{
|
||||
#if defined (MSDOS) || defined (_WIN32) || defined (__EMX__)
|
||||
return -1;
|
||||
#elif defined (__INTERIX) || defined (VMS)
|
||||
return -1;
|
||||
#elif defined (__vxworks)
|
||||
#if defined (MSDOS) || defined (_WIN32) || defined (__EMX__) \
|
||||
|| defined (__INTERIX) || defined (VMS) \
|
||||
|| defined(__vxworks) || defined (__nucleus__)
|
||||
return -1;
|
||||
#else
|
||||
return readlink (path, buf, bufsiz);
|
||||
#endif
|
||||
}
|
||||
|
||||
/* Creates a symbolic link named NEWPATH which contains the string OLDPATH. If
|
||||
NEWPATH exists it will NOT be overwritten. For Windows, OS/2, VxWorks,
|
||||
Interix and VMS, always return -1. */
|
||||
/* Creates a symbolic link named NEWPATH which contains the string OLDPATH.
|
||||
If NEWPATH exists it will NOT be overwritten.
|
||||
For systems not supporting symbolic links, always return -1. */
|
||||
|
||||
int
|
||||
__gnat_symlink (char *oldpath ATTRIBUTE_UNUSED,
|
||||
char *newpath ATTRIBUTE_UNUSED)
|
||||
{
|
||||
#if defined (MSDOS) || defined (_WIN32) || defined (__EMX__)
|
||||
return -1;
|
||||
#elif defined (__INTERIX) || defined (VMS)
|
||||
return -1;
|
||||
#elif defined (__vxworks)
|
||||
#if defined (MSDOS) || defined (_WIN32) || defined (__EMX__) \
|
||||
|| defined (__INTERIX) || defined (VMS) \
|
||||
|| defined(__vxworks) || defined (__nucleus__)
|
||||
return -1;
|
||||
#else
|
||||
return symlink (oldpath, newpath);
|
||||
@ -431,7 +431,7 @@ __gnat_symlink (char *oldpath ATTRIBUTE_UNUSED,
|
||||
|
||||
/* Try to lock a file, return 1 if success. */
|
||||
|
||||
#if defined (__vxworks) || defined (MSDOS) || defined (_WIN32)
|
||||
#if defined (__vxworks) || defined (__nucleus__) || defined (MSDOS) || defined (_WIN32)
|
||||
|
||||
/* Version that does not use link. */
|
||||
|
||||
@ -888,6 +888,8 @@ __gnat_open_new_temp (char *path, int fmode)
|
||||
return mkstemp (path);
|
||||
#elif defined (__Lynx__)
|
||||
mktemp (path);
|
||||
#elif defined (__nucleus__)
|
||||
return -1;
|
||||
#else
|
||||
if (mktemp (path) == NULL)
|
||||
return -1;
|
||||
@ -1649,7 +1651,7 @@ __gnat_is_writable_file (char *name)
|
||||
void
|
||||
__gnat_set_writable (char *name)
|
||||
{
|
||||
#ifndef __vxworks
|
||||
#if ! defined (__vxworks) && ! defined(__nucleus__)
|
||||
struct stat statbuf;
|
||||
|
||||
if (stat (name, &statbuf) == 0)
|
||||
@ -1663,7 +1665,7 @@ __gnat_set_writable (char *name)
|
||||
void
|
||||
__gnat_set_executable (char *name)
|
||||
{
|
||||
#ifndef __vxworks
|
||||
#if ! defined (__vxworks) && ! defined(__nucleus__)
|
||||
struct stat statbuf;
|
||||
|
||||
if (stat (name, &statbuf) == 0)
|
||||
@ -1677,7 +1679,7 @@ __gnat_set_executable (char *name)
|
||||
void
|
||||
__gnat_set_readonly (char *name)
|
||||
{
|
||||
#ifndef __vxworks
|
||||
#if ! defined (__vxworks) && ! defined(__nucleus__)
|
||||
struct stat statbuf;
|
||||
|
||||
if (stat (name, &statbuf) == 0)
|
||||
@ -1691,7 +1693,7 @@ __gnat_set_readonly (char *name)
|
||||
int
|
||||
__gnat_is_symbolic_link (char *name ATTRIBUTE_UNUSED)
|
||||
{
|
||||
#if defined (__vxworks)
|
||||
#if defined (__vxworks) || defined (__nucleus__)
|
||||
return 0;
|
||||
|
||||
#elif defined (_AIX) || defined (__APPLE__) || defined (__unix__)
|
||||
@ -1739,7 +1741,7 @@ __gnat_portable_spawn (char *args[])
|
||||
else
|
||||
return status;
|
||||
|
||||
#elif defined (__vxworks)
|
||||
#elif defined (__vxworks) || defined(__nucleus__)
|
||||
return -1;
|
||||
#else
|
||||
|
||||
@ -2039,7 +2041,7 @@ __gnat_portable_no_block_spawn (char *args[])
|
||||
pid = win32_no_block_spawn (args[0], args);
|
||||
return pid;
|
||||
|
||||
#elif defined (__vxworks)
|
||||
#elif defined (__vxworks) || defined (__nucleus__)
|
||||
return -1;
|
||||
|
||||
#else
|
||||
@ -2074,7 +2076,7 @@ __gnat_portable_wait (int *process_status)
|
||||
#elif defined (__EMX__) || defined (MSDOS)
|
||||
/* ??? See corresponding comment in portable_no_block_spawn. */
|
||||
|
||||
#elif defined (__vxworks)
|
||||
#elif defined (__vxworks) || defined (__nucleus__)
|
||||
/* Not sure what to do here, so do same as __EMX__ case, i.e., nothing but
|
||||
return zero. */
|
||||
#else
|
||||
@ -2897,7 +2899,7 @@ char __gnat_environment_char = '$';
|
||||
int
|
||||
__gnat_copy_attribs (char *from, char *to, int mode)
|
||||
{
|
||||
#if defined (VMS) || defined (__vxworks)
|
||||
#if defined (VMS) || defined (__vxworks) || defined (__nucleus__)
|
||||
return -1;
|
||||
#else
|
||||
struct stat fbuf;
|
||||
|
@ -6,7 +6,7 @@
|
||||
* *
|
||||
* C Implementation File *
|
||||
* *
|
||||
* Copyright (C) 1992-2006, Free Software Foundation, Inc. *
|
||||
* Copyright (C) 1992-2007, Free Software Foundation, Inc. *
|
||||
* *
|
||||
* GNAT is free software; you can redistribute it and/or modify it under *
|
||||
* terms of the GNU General Public License as published by the Free Soft- *
|
||||
@ -36,7 +36,7 @@
|
||||
/* struct timeval fields type are not normalized (they are generally */
|
||||
/* defined as int or long values). */
|
||||
|
||||
#if defined(VMS)
|
||||
#if defined(VMS) || defined(__nucleus__)
|
||||
|
||||
/* this is temporary code to avoid build failure under VMS */
|
||||
|
||||
@ -62,6 +62,8 @@ __gnat_duration_to_timeval (long sec, long usec, void *t)
|
||||
#else
|
||||
#include <sys/times.h>
|
||||
#endif
|
||||
#elif defined (__nucleus__)
|
||||
#include <time.h>
|
||||
#else
|
||||
#include <sys/time.h>
|
||||
#endif
|
||||
|
@ -55,6 +55,8 @@
|
||||
/* ??? See comment in adaint.c. */
|
||||
#define GCC_RESOURCE_H
|
||||
#include <sys/wait.h>
|
||||
#elif defined (__nucleus__)
|
||||
/* No wait.h available on Nucleus */
|
||||
#else
|
||||
#include <sys/wait.h>
|
||||
#endif
|
||||
@ -243,6 +245,13 @@ __gnat_expect_poll (int *fd, int num_fd, int timeout, int *is_set)
|
||||
#include <stdio.h>
|
||||
#include <vms/stsdef.h>
|
||||
#include <vms/iodef.h>
|
||||
#include <signal.h>
|
||||
|
||||
void
|
||||
__gnat_kill (int pid, int sig, int close)
|
||||
{
|
||||
kill (pid, sig);
|
||||
}
|
||||
|
||||
int
|
||||
__gnat_waitpid (int pid)
|
||||
@ -367,8 +376,7 @@ __gnat_expect_poll (int *fd, int num_fd, int timeout, int *is_set)
|
||||
|
||||
return ready;
|
||||
}
|
||||
|
||||
#elif defined (__unix__)
|
||||
#elif defined (__unix__) && !defined (__nucleus__)
|
||||
|
||||
#ifdef __hpux__
|
||||
#include <sys/ptyio.h>
|
||||
|
@ -31,7 +31,10 @@
|
||||
****************************************************************************/
|
||||
|
||||
/* This file provides a portable binding to the sockets API */
|
||||
|
||||
#if defined (__nucleus__)
|
||||
/* ??? Need proper implementation */
|
||||
#warning Sockets not yet supported on Nucleus
|
||||
#else
|
||||
#include "gsocket.h"
|
||||
/* Include all the necessary system-specific headers and define the
|
||||
necessary macros (shared with gen-soccon). */
|
||||
@ -408,3 +411,4 @@ __gnat_get_h_errno (void) {
|
||||
return h_errno;
|
||||
#endif
|
||||
}
|
||||
#endif /* __nucleus__ */
|
||||
|
Loading…
Reference in New Issue
Block a user