This is the mail archive of the newlib@sourceware.org mailing list for the newlib project.


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]
Other format: [Raw text]

Re: [PATCH] [RTEMS] Move header files



This patch does not apply for me.

Applying: Move header files
/home/joel/test-gcc/newlib-cygwin/.git/rebase-apply/patch:91: new blank line at EOF.
+
error: patch failed: newlib/libc/sys/rtems/machine/param.h:1
error: newlib/libc/sys/rtems/machine/param.h: patch does not apply
error: patch failed: newlib/libc/sys/rtems/sys/dirent.h:1
error: newlib/libc/sys/rtems/sys/dirent.h: patch does not apply
error: patch failed: newlib/libc/sys/rtems/sys/param.h:1
error: newlib/libc/sys/rtems/sys/param.h: patch does not apply
error: patch failed: newlib/libc/sys/rtems/sys/syslimits.h:1
error: newlib/libc/sys/rtems/sys/syslimits.h: patch does not apply
Patch failed at 0001 Move header files
The copy of the patch that failed is found in:
   /home/joel/test-gcc/newlib-cygwin/.git/rebase-apply/patch
When you have resolved this problem, run "git am --resolved".
If you prefer to skip this patch, run "git am --skip" instead.
To restore the original branch and stop patching, run "git am --abort".

On 7/27/2015 4:31 AM, Sebastian Huber wrote:
During libgcc build the first include search path for <...> is
"../newlib/libc/sys/rtems/include".  Move all RTEMS specific header
files to "libc/sys/rtems/include" so that they can be found.  Later
during libc build the header files in the previous location were somehow
present, but for libgcc build they were invisible.  This change is
necessary to use <pthread.h> for the GCC thread model implementation.

newlib/ChangeLog
2015-07-27  Sebastian Huber  <sebastian.huber@embedded-brains.de>

         libc/sys/rtems/machine/_types.h: Move to ...
         libc/sys/rtems/include/machine/_types.h: ... here.
         libc/sys/rtems/machine/limits.h: Move to ...
         libc/sys/rtems/include/machine/limits.h: ... here.
         libc/sys/rtems/machine/param.h: Move to ...
         libc/sys/rtems/include/machine/param.h: ... here.
         libc/sys/rtems/sys/cpuset.h: Move to ...
         libc/sys/rtems/include/sys/cpuset.h: ... here.
         libc/sys/rtems/sys/dirent.h: Move to ...
         libc/sys/rtems/include/sys/dirent.h: ... here.
         libc/sys/rtems/sys/param.h: Move to ...
         libc/sys/rtems/include/sys/param.h: ... here.
         libc/sys/rtems/sys/syslimits.h: Move to ...
         libc/sys/rtems/include/sys/syslimits.h: ... here.
         libc/sys/rtems/sys/utime.h: Move to ...
         libc/sys/rtems/include/sys/utime.h: ... here.
---
  newlib/libc/sys/rtems/include/machine/_types.h |  38 +++
  newlib/libc/sys/rtems/include/machine/limits.h |   6 +
  newlib/libc/sys/rtems/include/machine/param.h  | 101 ++++++++
  newlib/libc/sys/rtems/include/sys/cpuset.h     | 311 +++++++++++++++++++++++++
  newlib/libc/sys/rtems/include/sys/dirent.h     |  64 +++++
  newlib/libc/sys/rtems/include/sys/param.h      | 217 +++++++++++++++++
  newlib/libc/sys/rtems/include/sys/syslimits.h  |  64 +++++
  newlib/libc/sys/rtems/include/sys/utime.h      |  34 +++
  newlib/libc/sys/rtems/machine/_types.h         |  38 ---
  newlib/libc/sys/rtems/machine/limits.h         |   6 -
  newlib/libc/sys/rtems/machine/param.h          | 101 --------
  newlib/libc/sys/rtems/sys/cpuset.h             | 311 -------------------------
  newlib/libc/sys/rtems/sys/dirent.h             |  64 -----
  newlib/libc/sys/rtems/sys/param.h              | 217 -----------------
  newlib/libc/sys/rtems/sys/syslimits.h          |  64 -----
  newlib/libc/sys/rtems/sys/utime.h              |  34 ---
  16 files changed, 835 insertions(+), 835 deletions(-)
  create mode 100644 newlib/libc/sys/rtems/include/machine/_types.h
  create mode 100644 newlib/libc/sys/rtems/include/machine/limits.h
  create mode 100644 newlib/libc/sys/rtems/include/machine/param.h
  create mode 100644 newlib/libc/sys/rtems/include/sys/cpuset.h
  create mode 100644 newlib/libc/sys/rtems/include/sys/dirent.h
  create mode 100644 newlib/libc/sys/rtems/include/sys/param.h
  create mode 100644 newlib/libc/sys/rtems/include/sys/syslimits.h
  create mode 100644 newlib/libc/sys/rtems/include/sys/utime.h
  delete mode 100644 newlib/libc/sys/rtems/machine/_types.h
  delete mode 100644 newlib/libc/sys/rtems/machine/limits.h
  delete mode 100644 newlib/libc/sys/rtems/machine/param.h
  delete mode 100644 newlib/libc/sys/rtems/sys/cpuset.h
  delete mode 100644 newlib/libc/sys/rtems/sys/dirent.h
  delete mode 100644 newlib/libc/sys/rtems/sys/param.h
  delete mode 100644 newlib/libc/sys/rtems/sys/syslimits.h
  delete mode 100644 newlib/libc/sys/rtems/sys/utime.h

diff --git a/newlib/libc/sys/rtems/include/machine/_types.h b/newlib/libc/sys/rtems/include/machine/_types.h
new file mode 100644
index 0000000..1711c7a
--- /dev/null
+++ b/newlib/libc/sys/rtems/include/machine/_types.h
@@ -0,0 +1,38 @@
+/*
+ *  $Id$
+ */
+
+#ifndef _MACHINE__TYPES_H
+#define _MACHINE__TYPES_H
+
+/* This disables some conflicting type definitions in <machine/types.h> */
+#define _HAVE_SYSTYPES
+
+#include <machine/_default_types.h>
+
+typedef __int32_t blksize_t;
+typedef __int32_t blkcnt_t;
+
+typedef __uint64_t __dev_t;
+#define __dev_t_defined 1
+
+#if defined(__arm__) || defined(__i386__) || defined(__m68k__) || defined(__mips__) || defined(__PPC__) || defined(__sparc__)
+/* Use 64bit types */
+typedef __int64_t _off_t;
+#define __off_t_defined 1
+
+typedef __int64_t _fpos_t;
+#define __fpos_t_defined 1
+#else
+/* Use 32bit types */
+typedef __int32_t _off_t;
+#define __off_t_defined 1
+
+typedef __int32_t _fpos_t;
+#define __fpos_t_defined 1
+#endif
+
+typedef __uint32_t _mode_t;
+#define __mode_t_defined 1
+
+#endif
diff --git a/newlib/libc/sys/rtems/include/machine/limits.h b/newlib/libc/sys/rtems/include/machine/limits.h
new file mode 100644
index 0000000..5a6ee03
--- /dev/null
+++ b/newlib/libc/sys/rtems/include/machine/limits.h
@@ -0,0 +1,6 @@
+/*
+ *  $Id$
+ */
+
+/* intentionally empty file */
+
diff --git a/newlib/libc/sys/rtems/include/machine/param.h b/newlib/libc/sys/rtems/include/machine/param.h
new file mode 100644
index 0000000..74891f5
--- /dev/null
+++ b/newlib/libc/sys/rtems/include/machine/param.h
@@ -0,0 +1,101 @@
+/*
+ *  $Id$
+ */
+
+#ifndef _MACHINE_PARAM_H_
+#define        _MACHINE_PARAM_H_
+
+/*
+ * These aren't really machine-dependent for RTEMS.....
+ */
+
+/*
+#define MACHINE                "i386"
+#define MID_MACHINE    MID_I386
+*/
+
+/*
+ * Round p (pointer or byte index) up to a correctly-aligned value
+ * for all data types (int, long, ...).   The result is unsigned int
+ * and must be cast to any desired pointer type.
+ */
+#if defined(__sparc__)
+#define ALIGNBYTES     (sizeof(double) - 1)
+#else
+#define ALIGNBYTES     (sizeof(int) - 1)
+#endif
+#define ALIGN(p)       (((unsigned)(p) + ALIGNBYTES) & ~ALIGNBYTES)
+
+#define PAGE_SHIFT     12              /* LOG2(PAGE_SIZE) */
+#define PAGE_SIZE      (1<<PAGE_SHIFT) /* bytes/page */
+#define PAGE_MASK      (PAGE_SIZE-1)
+#define NPTEPG         (PAGE_SIZE/(sizeof (pt_entry_t)))
+
+#define NPDEPG         (PAGE_SIZE/(sizeof (pd_entry_t)))
+#define PDRSHIFT       22              /* LOG2(NBPDR) */
+#define NBPDR          (1<<PDRSHIFT)   /* bytes/page dir */
+
+#define DEV_BSHIFT     9               /* log2(DEV_BSIZE) */
+#define DEV_BSIZE      (1<<DEV_BSHIFT)
+
+#if defined(__AVR__) || defined(__h8300__)
+#define BLKDEV_IOSIZE  1024
+#define MAXPHYS                (1 * 1024)      /* max raw I/O transfer size */
+#else
+#define BLKDEV_IOSIZE  2048
+#define MAXPHYS                (64 * 1024)     /* max raw I/O transfer size */
+#endif
+
+#define UPAGES 2               /* pages of u-area */
+
+/*
+ * Constants related to network buffer management.
+ * MCLBYTES must be no larger than CLBYTES (the software page size), and,
+ * on machines that exchange pages of input or output buffers with mbuf
+ * clusters (MAPPED_MBUFS), MCLBYTES must also be an integral multiple
+ * of the hardware page size.
+ */
+#ifndef        MSIZE
+#define MSIZE          128             /* size of an mbuf */
+#endif /* MSIZE */
+
+#ifndef        MCLSHIFT
+#define MCLSHIFT       11              /* convert bytes to m_buf clusters */
+#endif /* MCLSHIFT */
+#define MCLBYTES       (1 << MCLSHIFT) /* size of an m_buf cluster */
+#define MCLOFSET       (MCLBYTES - 1)  /* offset within an m_buf cluster */
+
+/*
+ * Some macros for units conversion
+ */
+
+/* clicks to bytes */
+#define ctob(x)        ((x)<<PAGE_SHIFT)
+
+/* bytes to clicks */
+#define btoc(x)        (((unsigned)(x)+PAGE_MASK)>>PAGE_SHIFT)
+
+/*
+ * btodb() is messy and perhaps slow because `bytes' may be an off_t.  We
+ * want to shift an unsigned type to avoid sign extension and we don't
+ * want to widen `bytes' unnecessarily.  Assume that the result fits in
+ * a daddr_t.
+ */
+#define btodb(bytes)                   /* calculates (bytes / DEV_BSIZE) */ \
+       (sizeof (bytes) > sizeof(long) \
+        ? (daddr_t)((unsigned long long)(bytes) >> DEV_BSHIFT) \
+        : (daddr_t)((unsigned long)(bytes) >> DEV_BSHIFT))
+
+#define dbtob(db)                      /* calculates (db * DEV_BSIZE) */ \
+       ((off_t)(db) << DEV_BSHIFT)
+
+/*
+ * Mach derived conversion macros
+ */
+#define trunc_page(x)          ((unsigned)(x) & ~PAGE_MASK)
+#define round_page(x)          ((((unsigned)(x)) + PAGE_MASK) & ~PAGE_MASK)
+
+#define atop(x)                        ((unsigned)(x) >> PAGE_SHIFT)
+#define ptoa(x)                        ((unsigned)(x) << PAGE_SHIFT)
+
+#endif /* !_MACHINE_PARAM_H_ */
diff --git a/newlib/libc/sys/rtems/include/sys/cpuset.h b/newlib/libc/sys/rtems/include/sys/cpuset.h
new file mode 100644
index 0000000..8fae475
--- /dev/null
+++ b/newlib/libc/sys/rtems/include/sys/cpuset.h
@@ -0,0 +1,311 @@
+/*
+ * Copyright (c) 2013 On-Line Applications Research Corporation.
+ * All rights reserved.
+ *
+ *  On-Line Applications Research Corporation
+ *  7047 Old Madison Pike Suite 320
+ *  Huntsville Alabama 35806
+ *  <info@oarcorp.com>
+ *
+ * Redistribution and use in source and binary forms, with or without
+ * modification, are permitted provided that the following conditions
+ * are met:
+ * 1. Redistributions of source code must retain the above copyright
+ *    notice, this list of conditions and the following disclaimer.
+ * 2. Redistributions in binary form must reproduce the above copyright
+ *    notice, this list of conditions and the following disclaimer in the
+ *    documentation and/or other materials provided with the distribution.
+ *
+ * THIS SOFTWARE IS PROVIDED BY THE AUTHOR AND CONTRIBUTORS ``AS IS'' AND
+ * ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
+ * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
+ * ARE DISCLAIMED.  IN NO EVENT SHALL THE AUTHOR OR CONTRIBUTORS BE LIABLE
+ * FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
+ * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS
+ * OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
+ * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
+ * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY
+ * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
+ * SUCH DAMAGE.
+ */
+
+/*
+ *  This file implements an API compatible with static portion of
+ *  the GNU/Linux cpu_set_t macros but is independently implemented.
+ *  The GNU/Linux manual page and the FreeBSD cpuset_t implementation
+ *  were used as reference material.
+ *
+ *  Not implemented:
+ *    + Linux CPU_XXX_S
+ *    + FreeBSD CPU_SUBSET
+ *    + FreeBSD CPU_OVERLAP
+ */
+
+
+#ifndef _SYS_CPUSET_H_
+#define _SYS_CPUSET_H_
+
+#include <sys/cdefs.h>
+
+#ifdef __cplusplus
+extern "C" {
+#endif /* __cplusplus */
+
+/* RTEMS supports a maximum of 32 CPU cores */
+#ifndef CPU_SETSIZE
+#define CPU_SETSIZE 32
+#endif
+
+/* word in the cpu set */
+typedef __uint32_t cpu_set_word_t;
+
+/* Number of bits per cpu_set_t element */
+#define _NCPUBITS  (sizeof(cpu_set_word_t) * 8)
+
+/* Number of words in the cpu_set_t array */
+#define _NCPUWORDS   (((CPU_SETSIZE)+((_NCPUBITS)-1))/(_NCPUBITS))
+
+/* Define the cpu set structure */
+typedef struct _cpuset {
+  cpu_set_word_t __bits[_NCPUWORDS];
+} cpu_set_t;
+
+/* determine the mask for a particular cpu within the element */
+static __inline cpu_set_word_t  __cpuset_mask(int cpu)
+{
+  return (cpu_set_word_t)1 << ((size_t)cpu % _NCPUBITS);
+}
+
+/* determine the index for this cpu within the cpu set array */
+static __inline size_t __cpuset_index(int cpu)
+{
+  return (size_t)cpu / _NCPUBITS;
+}
+
+#define CPU_ALLOC_SIZE(_num_cpus) \
+  (sizeof(cpu_set_word_t) * (((_num_cpus) + _NCPUBITS - 1) / _NCPUBITS))
+
+cpu_set_t *__cpuset_alloc(int num_cpus);
+
+static __inline cpu_set_t *CPU_ALLOC(int num_cpus)
+{
+  return __cpuset_alloc(num_cpus);
+}
+
+void __cpuset_free(cpu_set_t *set);
+
+static __inline void CPU_FREE(cpu_set_t *set)
+{
+  __cpuset_free(set);
+}
+
+static __inline void CPU_ZERO_S(size_t setsize, cpu_set_t *set)
+{
+  cpu_set_word_t *w = &set->__bits[0];
+  size_t n = setsize / sizeof(*w);
+  size_t i;
+
+  for (i = 0; i < n; ++i)
+    w[i] = 0;
+}
+
+static __inline void CPU_ZERO(cpu_set_t *set)
+{
+  CPU_ZERO_S(sizeof(*set), set);
+}
+
+static __inline void CPU_FILL_S(size_t setsize, cpu_set_t *set)
+{
+  cpu_set_word_t *w = &set->__bits[0];
+  size_t n = setsize / sizeof(*w);
+  size_t i;
+
+  for (i = 0; i < n; ++i)
+    w[i] = ~(cpu_set_word_t)0;
+}
+
+static __inline void CPU_FILL(cpu_set_t *set)
+{
+  CPU_FILL_S(sizeof(*set), set);
+}
+
+static __inline void CPU_SET_S(int cpu, size_t setsize, cpu_set_t *set)
+{
+  cpu_set_word_t *w = &set->__bits[0];
+
+  w[__cpuset_index(cpu)] |= __cpuset_mask(cpu);
+}
+
+static __inline void CPU_SET(int cpu, cpu_set_t *set)
+{
+  CPU_SET_S(cpu, sizeof(*set), set);
+}
+
+static __inline void CPU_CLR_S(int cpu, size_t setsize, cpu_set_t *set)
+{
+  cpu_set_word_t *w = &set->__bits[0];
+
+  w[__cpuset_index(cpu)] &= ~__cpuset_mask(cpu);
+}
+
+static __inline void CPU_CLR(int cpu, cpu_set_t *set)
+{
+  CPU_CLR_S(cpu, sizeof(*set), set);
+}
+
+static __inline int CPU_ISSET_S(int cpu, size_t setsize, const cpu_set_t *set)
+{
+  const cpu_set_word_t *w = &set->__bits[0];
+
+  return ((w[__cpuset_index(cpu)] & __cpuset_mask(cpu)) != 0);
+}
+
+static __inline int CPU_ISSET(int cpu, const cpu_set_t *set)
+{
+  return CPU_ISSET_S(cpu, sizeof(*set), set);
+}
+
+/* copy src set to dest set */
+static __inline void CPU_COPY( cpu_set_t *dest, const cpu_set_t *src )
+{
+  *dest = *src;
+}
+
+static __inline void CPU_AND_S(size_t setsize, cpu_set_t *destset,
+  const cpu_set_t *srcset1, const cpu_set_t *srcset2)
+{
+  cpu_set_word_t *wdest = &destset->__bits[0];
+  const cpu_set_word_t *wsrc1 = &srcset1->__bits[0];
+  const cpu_set_word_t *wsrc2 = &srcset2->__bits[0];
+  size_t n = setsize / sizeof(*wdest);
+  size_t i;
+
+  for (i = 0; i < n; ++i)
+    wdest[i] = wsrc1[i] & wsrc2[i];
+}
+
+static __inline void CPU_AND(cpu_set_t *destset, const cpu_set_t *srcset1,
+  const cpu_set_t *srcset2)
+{
+  CPU_AND_S(sizeof(*destset), destset, srcset1, srcset2);
+}
+
+static __inline void CPU_OR_S(size_t setsize, cpu_set_t *destset,
+  const cpu_set_t *srcset1, const cpu_set_t *srcset2)
+{
+  cpu_set_word_t *wdest = &destset->__bits[0];
+  const cpu_set_word_t *wsrc1 = &srcset1->__bits[0];
+  const cpu_set_word_t *wsrc2 = &srcset2->__bits[0];
+  size_t n = setsize / sizeof(*wdest);
+  size_t i;
+
+  for (i = 0; i < n; ++i)
+    wdest[i] = wsrc1[i] | wsrc2[i];
+}
+
+static __inline void CPU_OR(cpu_set_t *destset, const cpu_set_t *srcset1,
+  const cpu_set_t *srcset2)
+{
+  CPU_OR_S(sizeof(*destset), destset, srcset1, srcset2);
+}
+
+static __inline void CPU_XOR_S(size_t setsize, cpu_set_t *destset,
+  const cpu_set_t *srcset1, const cpu_set_t *srcset2)
+{
+  cpu_set_word_t *wdest = &destset->__bits[0];
+  const cpu_set_word_t *wsrc1 = &srcset1->__bits[0];
+  const cpu_set_word_t *wsrc2 = &srcset2->__bits[0];
+  size_t n = setsize / sizeof(*wdest);
+  size_t i;
+
+  for (i = 0; i < n; ++i)
+    wdest[i] = wsrc1[i] ^ wsrc2[i];
+}
+
+static __inline void CPU_XOR(cpu_set_t *destset, const cpu_set_t *srcset1,
+  const cpu_set_t *srcset2)
+{
+  CPU_XOR_S(sizeof(*destset), destset, srcset1, srcset2);
+}
+
+static __inline void CPU_NAND_S(size_t setsize, cpu_set_t *destset,
+  const cpu_set_t *srcset1, const cpu_set_t *srcset2)
+{
+  cpu_set_word_t *wdest = &destset->__bits[0];
+  const cpu_set_word_t *wsrc1 = &srcset1->__bits[0];
+  const cpu_set_word_t *wsrc2 = &srcset2->__bits[0];
+  size_t n = setsize / sizeof(*wdest);
+  size_t i;
+
+  for (i = 0; i < n; ++i)
+    wdest[i] = ~(wsrc1[i] & wsrc2[i]);
+}
+
+static __inline void CPU_NAND(cpu_set_t *destset, const cpu_set_t *srcset1,
+  const cpu_set_t *srcset2)
+{
+  CPU_NAND_S(sizeof(*destset), destset, srcset1, srcset2);
+}
+
+static __inline int CPU_COUNT_S(size_t setsize, const cpu_set_t *set)
+{
+  int count = 0;
+  const cpu_set_word_t *w = &set->__bits[0];
+  size_t n = setsize / sizeof(*w);
+  size_t i;
+  int cpu;
+
+  for (i = 0; i < n; ++i)
+    for (cpu = 0; cpu < (int)_NCPUBITS; ++cpu)
+      count += (w[i] & __cpuset_mask(cpu)) != 0;
+
+  return count;
+}
+
+static __inline int CPU_COUNT(const cpu_set_t *set)
+{
+  return CPU_COUNT_S(sizeof(*set), set);
+}
+
+static __inline int CPU_EQUAL_S(size_t setsize, const cpu_set_t *set1,
+  const cpu_set_t *set2)
+{
+  const cpu_set_word_t *w1 = &set1->__bits[0];
+  const cpu_set_word_t *w2 = &set2->__bits[0];
+  size_t n = setsize / sizeof(*w1);
+  size_t i;
+
+  for (i = 0; i < n; ++i)
+    if (w1[i] != w2[i])
+      return 0;
+
+  return 1;
+}
+
+static __inline int CPU_EQUAL(const cpu_set_t *set1, const cpu_set_t *set2)
+{
+  return CPU_EQUAL_S(sizeof(*set1), set1, set2);
+}
+
+/* return 1 if the sets set1 and set2 are equal, otherwise return 0 */
+static __inline int CPU_CMP( const cpu_set_t *set1, const cpu_set_t *set2 )
+{
+  return CPU_EQUAL(set1, set2);
+}
+
+/* return 1 if the set is empty, otherwise return 0 */
+static __inline int CPU_EMPTY( const cpu_set_t *set )
+{
+  size_t i;
+
+  for (i=0; i < _NCPUWORDS; i++)
+    if (set->__bits[i] != 0 )
+      return 0;
+  return 1;
+}
+
+#ifdef __cplusplus
+}
+#endif /* __cplusplus */
+
+#endif
diff --git a/newlib/libc/sys/rtems/include/sys/dirent.h b/newlib/libc/sys/rtems/include/sys/dirent.h
new file mode 100644
index 0000000..8d2aa38
--- /dev/null
+++ b/newlib/libc/sys/rtems/include/sys/dirent.h
@@ -0,0 +1,64 @@
+#ifndef _SYS_DIRENT_H
+# define _SYS_DIRENT_H
+
+#ifdef __cplusplus
+extern "C" {
+#endif
+
+/*
+ * This file was written to be compatible with the BSD directory
+ * routines, so it looks like it.  But it was written from scratch.
+ * Sean Eric Fagan, sef@Kithrup.COM
+ *
+ *  Copied to RTEMS configuration without modification.
+ */
+
+typedef struct _dirdesc {
+       int     dd_fd;
+       long    dd_loc;
+       long    dd_size;
+       char    *dd_buf;
+       int     dd_len;
+       long    dd_seek;
+} DIR;
+
+# define __dirfd(dp)   ((dp)->dd_fd)
+
+DIR *opendir(const char *);
+struct dirent *readdir(DIR *);
+int readdir_r(DIR *__restrict, struct dirent *__restrict,
+              struct dirent **__restrict);
+void rewinddir(DIR *);
+int closedir(DIR *);
+void seekdir(DIR *dir, long loc);
+long telldir(DIR *dir);
+
+#ifdef _COMPILING_NEWLIB
+void _seekdir(DIR *dir, long offset);
+#endif
+
+#include <sys/types.h>
+
+#include <limits.h>
+
+struct dirent {
+       long    d_ino;
+       off_t   d_off;
+       unsigned short  d_reclen;
+       /* we need better syntax for variable-sized arrays */
+       unsigned short  d_namlen;
+       char            d_name[NAME_MAX + 1];
+};
+
+int scandir ( const char *dirname,
+   struct dirent *** namelist,
+   int (*select)(const struct dirent *),
+   int (*dcomp)(const struct dirent **, const struct dirent **)
+);
+
+#ifdef __cplusplus
+}
+#endif
+
+
+#endif
diff --git a/newlib/libc/sys/rtems/include/sys/param.h b/newlib/libc/sys/rtems/include/sys/param.h
new file mode 100644
index 0000000..808745f
--- /dev/null
+++ b/newlib/libc/sys/rtems/include/sys/param.h
@@ -0,0 +1,217 @@
+/*-
+ * Copyright (c) 1982, 1986, 1989, 1993
+ *     The Regents of the University of California.  All rights reserved.
+ * (c) UNIX System Laboratories, Inc.
+ * All or some portions of this file are derived from material licensed
+ * to the University of California by American Telephone and Telegraph
+ * Co. or Unix System Laboratories, Inc. and are reproduced herein with
+ * the permission of UNIX System Laboratories, Inc.
+ *
+ * Redistribution and use in source and binary forms, with or without
+ * modification, are permitted provided that the following conditions
+ * are met:
+ * 1. Redistributions of source code must retain the above copyright
+ *    notice, this list of conditions and the following disclaimer.
+ * 2. Redistributions in binary form must reproduce the above copyright
+ *    notice, this list of conditions and the following disclaimer in the
+ *    documentation and/or other materials provided with the distribution.
+ * 4. Neither the name of the University nor the names of its contributors
+ *    may be used to endorse or promote products derived from this software
+ *    without specific prior written permission.
+ *
+ * THIS SOFTWARE IS PROVIDED BY THE REGENTS AND CONTRIBUTORS ``AS IS'' AND
+ * ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
+ * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
+ * ARE DISCLAIMED.  IN NO EVENT SHALL THE REGENTS OR CONTRIBUTORS BE LIABLE
+ * FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
+ * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS
+ * OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
+ * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
+ * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY
+ * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
+ * SUCH DAMAGE.
+ *
+ *     @(#)param.h     8.3 (Berkeley) 4/4/95
+ * $Id$
+ */
+
+#ifndef _SYS_PARAM_H_
+#define _SYS_PARAM_H_
+
+/* from newlib's <sys/param.h> */
+
+#include <sys/config.h>
+#include <machine/endian.h>
+
+# define PATHSIZE (1024)
+
+/* end of from newlib's <sys/param.h> */
+
+#include <unistd.h>
+
+#define        BSD     199506          /* System version (year & month). */
+#define BSD4_3 1
+#define BSD4_4 1
+
+#ifndef NULL
+#define        NULL    0
+#endif
+
+#ifndef LOCORE
+#include <sys/types.h>
+#endif
+
+/*
+ * Machine-independent constants (some used in following include files).
+ * Redefined constants are from POSIX 1003.1 limits file.
+ *
+ * MAXCOMLEN should be >= sizeof(ac_comm) (see <acct.h>)
+ */
+#include <sys/syslimits.h>
+
+#define        MAXCOMLEN       19              /* max command name remembered */
+#define        MAXINTERP       PATH_MAX        /* max interpreter file name length */
+#define        MAXLOGNAME      33              /* max login name length (incl. NUL) */
+#define        MAXUPRC         CHILD_MAX       /* max simultaneous processes */
+#define        NCARGS          ARG_MAX         /* max bytes for an exec function */
+#define        NGROUPS         (NGROUPS_MAX+1) /* max number groups */
+#define        NOFILE          OPEN_MAX        /* max open files per process */
+#define        NOGROUP         65535           /* marker for empty group set member */
+#define MAXHOSTNAMELEN 256             /* max hostname size */
+#define SPECNAMELEN    63              /* max length of devicename */
+
+/* More types and definitions used throughout the kernel. */
+#if defined(KERNEL) || defined(_KERNEL)
+#include <sys/cdefs.h>
+#include <sys/errno.h>
+#include <sys/time.h>
+#include <sys/resource.h>
+#include <sys/uio.h>
+#include <sys/priority.h>
+
+#ifndef FALSE
+#define        FALSE   0
+#endif
+#ifndef TRUE
+#define        TRUE    1
+#endif
+#endif
+
+/* Signals. */
+#include <sys/signal.h>
+
+/* Machine type dependent parameters. */
+#include <machine/param.h>
+#include <machine/limits.h>
+
+#define        PRIMASK 0x0ff
+#define        PCATCH  0x100           /* OR'd with pri for tsleep to check signals */
+
+#define        NZERO   0               /* default "nice" */
+
+#define        NBPW    sizeof(int)     /* number of bytes per word (integer) */
+
+#define        CMASK   022             /* default file mask: S_IWGRP|S_IWOTH */
+#define        NODEV   (dev_t)(-1)     /* non-existent device */
+
+#define        CBLOCK  128             /* Clist block size, must be a power of 2. */
+#define CBQSIZE        (CBLOCK/NBBY)   /* Quote bytes/cblock - can do better. */
+                               /* Data chars/clist. */
+#define        CBSIZE  (CBLOCK - sizeof(struct cblock *) - CBQSIZE)
+#define        CROUND  (CBLOCK - 1)    /* Clist rounding. */
+
+/*
+ * File system parameters and macros.
+ *
+ * MAXBSIZE -  Filesystems are made out of blocks of at most MAXBSIZE bytes
+ *             per block.  MAXBSIZE may be made larger without effecting
+ *             any existing filesystems as long as it does not exceed MAXPHYS,
+ *             and may be made smaller at the risk of not being able to use
+ *             filesystems which require a block size exceeding MAXBSIZE.
+ *
+ * BKVASIZE -  Nominal buffer space per buffer, in bytes.  BKVASIZE is the
+ *             minimum KVM memory reservation the kernel is willing to make.
+ *             Filesystems can of course request smaller chunks.  Actual
+ *             backing memory uses a chunk size of a page (PAGE_SIZE).
+ *
+ *             If you make BKVASIZE too small you risk seriously fragmenting
+ *             the buffer KVM map which may slow things down a bit.  If you
+ *             make it too big the kernel will not be able to optimally use
+ *             the KVM memory reserved for the buffer cache and will wind
+ *             up with too-few buffers.
+ *
+ *             The default is 16384, roughly 2x the block size used by a
+ *             normal UFS filesystem.
+ */
+#define MAXBSIZE       65536   /* must be power of 2 */
+#define BKVASIZE       16384   /* must be power of 2 */
+#define BKVAMASK       (BKVASIZE-1)
+
+/*
+ * MAXPATHLEN defines the longest permissible path length after expanding
+ * symbolic links. It is used to allocate a temporary buffer from the buffer
+ * pool in which to do the name expansion, hence should be a power of two,
+ * and must be less than or equal to MAXBSIZE.  MAXSYMLINKS defines the
+ * maximum number of symbolic links that may be expanded in a path name.
+ * It should be set high enough to allow all legitimate uses, but halt
+ * infinite loops reasonably quickly.
+ */
+#define        MAXPATHLEN      PATH_MAX
+#define MAXSYMLINKS    32
+
+/* Bit map related macros. */
+#define        setbit(a,i)     (((unsigned char *)(a))[(i)/NBBY] |= 1<<((i)%NBBY))
+#define        clrbit(a,i)     (((unsigned char *)(a))[(i)/NBBY] &= ~(1<<((i)%NBBY)))
+#define        isset(a,i)                                                      \
+       (((const unsigned char *)(a))[(i)/NBBY] & (1<<((i)%NBBY)))
+#define        isclr(a,i)                                                      \
+       ((((const unsigned char *)(a))[(i)/NBBY] & (1<<((i)%NBBY))) == 0)
+
+/* Macros for counting and rounding. */
+#ifndef howmany
+#define        howmany(x, y)   (((x)+((y)-1))/(y))
+#endif
+#define        rounddown(x, y) (((x)/(y))*(y))
+#define        roundup(x, y)   ((((x)+((y)-1))/(y))*(y))  /* to any y */
+#define        roundup2(x, y)  (((x)+((y)-1))&(~((y)-1))) /* if y is powers of two */
+#define powerof2(x)    ((((x)-1)&(x))==0)
+
+/* Macros for min/max. */
+#if !(defined(KERNEL) || defined(_KERNEL))
+#define        MIN(a,b) (((a)<(b))?(a):(b))
+#define        MAX(a,b) (((a)>(b))?(a):(b))
+#endif
+
+/*
+ * Constants for setting the parameters of the kernel memory allocator.
+ *
+ * 2 ** MINBUCKET is the smallest unit of memory that will be
+ * allocated. It must be at least large enough to hold a pointer.
+ *
+ * Units of memory less or equal to MAXALLOCSAVE will permanently
+ * allocate physical memory; requests for these size pieces of
+ * memory are quite fast. Allocations greater than MAXALLOCSAVE must
+ * always allocate and free physical memory; requests for these
+ * size allocations should be done infrequently as they will be slow.
+ *
+ * Constraints: PAGE_SIZE <= MAXALLOCSAVE <= 2 ** (MINBUCKET + 14), and
+ * MAXALLOCSIZE must be a power of two.
+ */
+#define MINBUCKET      4               /* 4 => min allocation of 16 bytes */
+#define MAXALLOCSAVE   (2 * PAGE_SIZE)
+
+/*
+ * Scale factor for scaled integers used to count %cpu time and load avgs.
+ *
+ * The number of CPU `tick's that map to a unique `%age' can be expressed
+ * by the formula (1 / (2 ^ (FSHIFT - 11))).  The maximum load average that
+ * can be calculated (assuming 32 bits) can be closely approximated using
+ * the formula (2 ^ (2 * (16 - FSHIFT))) for (FSHIFT < 15).
+ *
+ * For the scheduler to maintain a 1:1 mapping of CPU `tick' to `%age',
+ * FSHIFT must be at least 11; this gives us a maximum load avg of ~1024.
+ */
+#define        FSHIFT  11              /* bits to right of fixed binary point */
+#define FSCALE (1<<FSHIFT)
+
+#endif /* _SYS_PARAM_H_ */
diff --git a/newlib/libc/sys/rtems/include/sys/syslimits.h b/newlib/libc/sys/rtems/include/sys/syslimits.h
new file mode 100644
index 0000000..2295afe
--- /dev/null
+++ b/newlib/libc/sys/rtems/include/sys/syslimits.h
@@ -0,0 +1,64 @@
+/*
+ * Copyright (c) 1988, 1993
+ *     The Regents of the University of California.  All rights reserved.
+ *
+ * Redistribution and use in source and binary forms, with or without
+ * modification, are permitted provided that the following conditions
+ * are met:
+ * 1. Redistributions of source code must retain the above copyright
+ *    notice, this list of conditions and the following disclaimer.
+ * 2. Redistributions in binary form must reproduce the above copyright
+ *    notice, this list of conditions and the following disclaimer in the
+ *    documentation and/or other materials provided with the distribution.
+ * 3. All advertising materials mentioning features or use of this software
+ *    must display the following acknowledgement:
+ *     This product includes software developed by the University of
+ *     California, Berkeley and its contributors.
+ * 4. Neither the name of the University nor the names of its contributors
+ *    may be used to endorse or promote products derived from this software
+ *    without specific prior written permission.
+ *
+ * THIS SOFTWARE IS PROVIDED BY THE REGENTS AND CONTRIBUTORS ``AS IS'' AND
+ * ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
+ * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
+ * ARE DISCLAIMED.  IN NO EVENT SHALL THE REGENTS OR CONTRIBUTORS BE LIABLE
+ * FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
+ * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS
+ * OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
+ * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
+ * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY
+ * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
+ * SUCH DAMAGE.
+ *
+ *     @(#)syslimits.h 8.1 (Berkeley) 6/2/93
+ * $Id$
+ */
+
+#ifndef _SYS_SYSLIMITS_H_
+#define _SYS_SYSLIMITS_H_
+
+#define        ARG_MAX                  4096   /* max bytes for an exec function */
+#ifndef CHILD_MAX
+#define        CHILD_MAX                   6   /* max simultaneous processes */
+#endif
+#define        LINK_MAX                    8   /* max file link count */
+#define        MAX_CANON                 255   /* max bytes in term canon input line */
+#define        MAX_INPUT                 255   /* max bytes in terminal input */
+#define        NAME_MAX                  255   /* max bytes in a file name */
+#define        NGROUPS_MAX                15   /* max supplemental group id's */
+#ifndef OPEN_MAX
+#define        OPEN_MAX                   64   /* max open files per process */
+#endif
+#define        PATH_MAX                  255   /* max bytes in pathname */
+#define        PIPE_BUF                  512   /* max bytes for atomic pipe writes */
+#define        IOV_MAX                  1024   /* max elements in i/o vector */
+#define        BC_BASE_MAX                99   /* max ibase/obase values in bc(1) */
+#define        BC_DIM_MAX               2048   /* max array elements in bc(1) */
+#define        BC_SCALE_MAX               99   /* max scale value in bc(1) */
+#define        BC_STRING_MAX            1000   /* max const string length in bc(1) */
+#define        COLL_WEIGHTS_MAX            0   /* max weights for order keyword */
+#define        EXPR_NEST_MAX              32   /* max expressions nested in expr(1) */
+#define        LINE_MAX                 2048   /* max bytes in an input line */
+#define        RE_DUP_MAX                255   /* max RE's in interval notation */
+
+#endif
diff --git a/newlib/libc/sys/rtems/include/sys/utime.h b/newlib/libc/sys/rtems/include/sys/utime.h
new file mode 100644
index 0000000..561136b
--- /dev/null
+++ b/newlib/libc/sys/rtems/include/sys/utime.h
@@ -0,0 +1,34 @@
+/*
+ *  $Id$
+ */
+
+#ifndef __UTIME_h__
+#define __UTIME_h__
+
+#include <sys/types.h>
+
+#ifdef __cplusplus
+extern "C" {
+#endif
+
+/*
+ *  POSIX 1003.1b 5.6.6 Set File Access and Modification Times
+ */
+
+struct utimbuf {
+  time_t  actime;   /* Access time */
+  time_t  modtime;  /* Modification time */
+};
+
+/* Functions */
+
+int utime(
+  const char           *path,
+  const struct utimbuf *times
+);
+
+#ifdef __cplusplus
+};
+#endif
+
+#endif /* _SYS_UTIME_H */
diff --git a/newlib/libc/sys/rtems/machine/_types.h b/newlib/libc/sys/rtems/machine/_types.h
deleted file mode 100644
index 1711c7a..0000000
--- a/newlib/libc/sys/rtems/machine/_types.h
+++ /dev/null
@@ -1,38 +0,0 @@
-/*
- *  $Id$
- */
-
-#ifndef _MACHINE__TYPES_H
-#define _MACHINE__TYPES_H
-
-/* This disables some conflicting type definitions in <machine/types.h> */
-#define _HAVE_SYSTYPES
-
-#include <machine/_default_types.h>
-
-typedef __int32_t blksize_t;
-typedef __int32_t blkcnt_t;
-
-typedef __uint64_t __dev_t;
-#define __dev_t_defined 1
-
-#if defined(__arm__) || defined(__i386__) || defined(__m68k__) || defined(__mips__) || defined(__PPC__) || defined(__sparc__)
-/* Use 64bit types */
-typedef __int64_t _off_t;
-#define __off_t_defined 1
-
-typedef __int64_t _fpos_t;
-#define __fpos_t_defined 1
-#else
-/* Use 32bit types */
-typedef __int32_t _off_t;
-#define __off_t_defined 1
-
-typedef __int32_t _fpos_t;
-#define __fpos_t_defined 1
-#endif
-
-typedef __uint32_t _mode_t;
-#define __mode_t_defined 1
-
-#endif
diff --git a/newlib/libc/sys/rtems/machine/limits.h b/newlib/libc/sys/rtems/machine/limits.h
deleted file mode 100644
index 5a6ee03..0000000
--- a/newlib/libc/sys/rtems/machine/limits.h
+++ /dev/null
@@ -1,6 +0,0 @@
-/*
- *  $Id$
- */
-
-/* intentionally empty file */
-
diff --git a/newlib/libc/sys/rtems/machine/param.h b/newlib/libc/sys/rtems/machine/param.h
deleted file mode 100644
index 74891f5..0000000
--- a/newlib/libc/sys/rtems/machine/param.h
+++ /dev/null
@@ -1,101 +0,0 @@
-/*
- *  $Id$
- */
-
-#ifndef _MACHINE_PARAM_H_
-#define        _MACHINE_PARAM_H_
-
-/*
- * These aren't really machine-dependent for RTEMS.....
- */
-
-/*
-#define MACHINE                "i386"
-#define MID_MACHINE    MID_I386
-*/
-
-/*
- * Round p (pointer or byte index) up to a correctly-aligned value
- * for all data types (int, long, ...).   The result is unsigned int
- * and must be cast to any desired pointer type.
- */
-#if defined(__sparc__)
-#define ALIGNBYTES     (sizeof(double) - 1)
-#else
-#define ALIGNBYTES     (sizeof(int) - 1)
-#endif
-#define ALIGN(p)       (((unsigned)(p) + ALIGNBYTES) & ~ALIGNBYTES)
-
-#define PAGE_SHIFT     12              /* LOG2(PAGE_SIZE) */
-#define PAGE_SIZE      (1<<PAGE_SHIFT) /* bytes/page */
-#define PAGE_MASK      (PAGE_SIZE-1)
-#define NPTEPG         (PAGE_SIZE/(sizeof (pt_entry_t)))
-
-#define NPDEPG         (PAGE_SIZE/(sizeof (pd_entry_t)))
-#define PDRSHIFT       22              /* LOG2(NBPDR) */
-#define NBPDR          (1<<PDRSHIFT)   /* bytes/page dir */
-
-#define DEV_BSHIFT     9               /* log2(DEV_BSIZE) */
-#define DEV_BSIZE      (1<<DEV_BSHIFT)
-
-#if defined(__AVR__) || defined(__h8300__)
-#define BLKDEV_IOSIZE  1024
-#define MAXPHYS                (1 * 1024)      /* max raw I/O transfer size */
-#else
-#define BLKDEV_IOSIZE  2048
-#define MAXPHYS                (64 * 1024)     /* max raw I/O transfer size */
-#endif
-
-#define UPAGES 2               /* pages of u-area */
-
-/*
- * Constants related to network buffer management.
- * MCLBYTES must be no larger than CLBYTES (the software page size), and,
- * on machines that exchange pages of input or output buffers with mbuf
- * clusters (MAPPED_MBUFS), MCLBYTES must also be an integral multiple
- * of the hardware page size.
- */
-#ifndef        MSIZE
-#define MSIZE          128             /* size of an mbuf */
-#endif /* MSIZE */
-
-#ifndef        MCLSHIFT
-#define MCLSHIFT       11              /* convert bytes to m_buf clusters */
-#endif /* MCLSHIFT */
-#define MCLBYTES       (1 << MCLSHIFT) /* size of an m_buf cluster */
-#define MCLOFSET       (MCLBYTES - 1)  /* offset within an m_buf cluster */
-
-/*
- * Some macros for units conversion
- */
-
-/* clicks to bytes */
-#define ctob(x)        ((x)<<PAGE_SHIFT)
-
-/* bytes to clicks */
-#define btoc(x)        (((unsigned)(x)+PAGE_MASK)>>PAGE_SHIFT)
-
-/*
- * btodb() is messy and perhaps slow because `bytes' may be an off_t.  We
- * want to shift an unsigned type to avoid sign extension and we don't
- * want to widen `bytes' unnecessarily.  Assume that the result fits in
- * a daddr_t.
- */
-#define btodb(bytes)                   /* calculates (bytes / DEV_BSIZE) */ \
-       (sizeof (bytes) > sizeof(long) \
-        ? (daddr_t)((unsigned long long)(bytes) >> DEV_BSHIFT) \
-        : (daddr_t)((unsigned long)(bytes) >> DEV_BSHIFT))
-
-#define dbtob(db)                      /* calculates (db * DEV_BSIZE) */ \
-       ((off_t)(db) << DEV_BSHIFT)
-
-/*
- * Mach derived conversion macros
- */
-#define trunc_page(x)          ((unsigned)(x) & ~PAGE_MASK)
-#define round_page(x)          ((((unsigned)(x)) + PAGE_MASK) & ~PAGE_MASK)
-
-#define atop(x)                        ((unsigned)(x) >> PAGE_SHIFT)
-#define ptoa(x)                        ((unsigned)(x) << PAGE_SHIFT)
-
-#endif /* !_MACHINE_PARAM_H_ */
diff --git a/newlib/libc/sys/rtems/sys/cpuset.h b/newlib/libc/sys/rtems/sys/cpuset.h
deleted file mode 100644
index 8fae475..0000000
--- a/newlib/libc/sys/rtems/sys/cpuset.h
+++ /dev/null
@@ -1,311 +0,0 @@
-/*
- * Copyright (c) 2013 On-Line Applications Research Corporation.
- * All rights reserved.
- *
- *  On-Line Applications Research Corporation
- *  7047 Old Madison Pike Suite 320
- *  Huntsville Alabama 35806
- *  <info@oarcorp.com>
- *
- * Redistribution and use in source and binary forms, with or without
- * modification, are permitted provided that the following conditions
- * are met:
- * 1. Redistributions of source code must retain the above copyright
- *    notice, this list of conditions and the following disclaimer.
- * 2. Redistributions in binary form must reproduce the above copyright
- *    notice, this list of conditions and the following disclaimer in the
- *    documentation and/or other materials provided with the distribution.
- *
- * THIS SOFTWARE IS PROVIDED BY THE AUTHOR AND CONTRIBUTORS ``AS IS'' AND
- * ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
- * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
- * ARE DISCLAIMED.  IN NO EVENT SHALL THE AUTHOR OR CONTRIBUTORS BE LIABLE
- * FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
- * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS
- * OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
- * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
- * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY
- * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
- * SUCH DAMAGE.
- */
-
-/*
- *  This file implements an API compatible with static portion of
- *  the GNU/Linux cpu_set_t macros but is independently implemented.
- *  The GNU/Linux manual page and the FreeBSD cpuset_t implementation
- *  were used as reference material.
- *
- *  Not implemented:
- *    + Linux CPU_XXX_S
- *    + FreeBSD CPU_SUBSET
- *    + FreeBSD CPU_OVERLAP
- */
-
-
-#ifndef _SYS_CPUSET_H_
-#define _SYS_CPUSET_H_
-
-#include <sys/cdefs.h>
-
-#ifdef __cplusplus
-extern "C" {
-#endif /* __cplusplus */
-
-/* RTEMS supports a maximum of 32 CPU cores */
-#ifndef CPU_SETSIZE
-#define CPU_SETSIZE 32
-#endif
-
-/* word in the cpu set */
-typedef __uint32_t cpu_set_word_t;
-
-/* Number of bits per cpu_set_t element */
-#define _NCPUBITS  (sizeof(cpu_set_word_t) * 8)
-
-/* Number of words in the cpu_set_t array */
-#define _NCPUWORDS   (((CPU_SETSIZE)+((_NCPUBITS)-1))/(_NCPUBITS))
-
-/* Define the cpu set structure */
-typedef struct _cpuset {
-  cpu_set_word_t __bits[_NCPUWORDS];
-} cpu_set_t;
-
-/* determine the mask for a particular cpu within the element */
-static __inline cpu_set_word_t  __cpuset_mask(int cpu)
-{
-  return (cpu_set_word_t)1 << ((size_t)cpu % _NCPUBITS);
-}
-
-/* determine the index for this cpu within the cpu set array */
-static __inline size_t __cpuset_index(int cpu)
-{
-  return (size_t)cpu / _NCPUBITS;
-}
-
-#define CPU_ALLOC_SIZE(_num_cpus) \
-  (sizeof(cpu_set_word_t) * (((_num_cpus) + _NCPUBITS - 1) / _NCPUBITS))
-
-cpu_set_t *__cpuset_alloc(int num_cpus);
-
-static __inline cpu_set_t *CPU_ALLOC(int num_cpus)
-{
-  return __cpuset_alloc(num_cpus);
-}
-
-void __cpuset_free(cpu_set_t *set);
-
-static __inline void CPU_FREE(cpu_set_t *set)
-{
-  __cpuset_free(set);
-}
-
-static __inline void CPU_ZERO_S(size_t setsize, cpu_set_t *set)
-{
-  cpu_set_word_t *w = &set->__bits[0];
-  size_t n = setsize / sizeof(*w);
-  size_t i;
-
-  for (i = 0; i < n; ++i)
-    w[i] = 0;
-}
-
-static __inline void CPU_ZERO(cpu_set_t *set)
-{
-  CPU_ZERO_S(sizeof(*set), set);
-}
-
-static __inline void CPU_FILL_S(size_t setsize, cpu_set_t *set)
-{
-  cpu_set_word_t *w = &set->__bits[0];
-  size_t n = setsize / sizeof(*w);
-  size_t i;
-
-  for (i = 0; i < n; ++i)
-    w[i] = ~(cpu_set_word_t)0;
-}
-
-static __inline void CPU_FILL(cpu_set_t *set)
-{
-  CPU_FILL_S(sizeof(*set), set);
-}
-
-static __inline void CPU_SET_S(int cpu, size_t setsize, cpu_set_t *set)
-{
-  cpu_set_word_t *w = &set->__bits[0];
-
-  w[__cpuset_index(cpu)] |= __cpuset_mask(cpu);
-}
-
-static __inline void CPU_SET(int cpu, cpu_set_t *set)
-{
-  CPU_SET_S(cpu, sizeof(*set), set);
-}
-
-static __inline void CPU_CLR_S(int cpu, size_t setsize, cpu_set_t *set)
-{
-  cpu_set_word_t *w = &set->__bits[0];
-
-  w[__cpuset_index(cpu)] &= ~__cpuset_mask(cpu);
-}
-
-static __inline void CPU_CLR(int cpu, cpu_set_t *set)
-{
-  CPU_CLR_S(cpu, sizeof(*set), set);
-}
-
-static __inline int CPU_ISSET_S(int cpu, size_t setsize, const cpu_set_t *set)
-{
-  const cpu_set_word_t *w = &set->__bits[0];
-
-  return ((w[__cpuset_index(cpu)] & __cpuset_mask(cpu)) != 0);
-}
-
-static __inline int CPU_ISSET(int cpu, const cpu_set_t *set)
-{
-  return CPU_ISSET_S(cpu, sizeof(*set), set);
-}
-
-/* copy src set to dest set */
-static __inline void CPU_COPY( cpu_set_t *dest, const cpu_set_t *src )
-{
-  *dest = *src;
-}
-
-static __inline void CPU_AND_S(size_t setsize, cpu_set_t *destset,
-  const cpu_set_t *srcset1, const cpu_set_t *srcset2)
-{
-  cpu_set_word_t *wdest = &destset->__bits[0];
-  const cpu_set_word_t *wsrc1 = &srcset1->__bits[0];
-  const cpu_set_word_t *wsrc2 = &srcset2->__bits[0];
-  size_t n = setsize / sizeof(*wdest);
-  size_t i;
-
-  for (i = 0; i < n; ++i)
-    wdest[i] = wsrc1[i] & wsrc2[i];
-}
-
-static __inline void CPU_AND(cpu_set_t *destset, const cpu_set_t *srcset1,
-  const cpu_set_t *srcset2)
-{
-  CPU_AND_S(sizeof(*destset), destset, srcset1, srcset2);
-}
-
-static __inline void CPU_OR_S(size_t setsize, cpu_set_t *destset,
-  const cpu_set_t *srcset1, const cpu_set_t *srcset2)
-{
-  cpu_set_word_t *wdest = &destset->__bits[0];
-  const cpu_set_word_t *wsrc1 = &srcset1->__bits[0];
-  const cpu_set_word_t *wsrc2 = &srcset2->__bits[0];
-  size_t n = setsize / sizeof(*wdest);
-  size_t i;
-
-  for (i = 0; i < n; ++i)
-    wdest[i] = wsrc1[i] | wsrc2[i];
-}
-
-static __inline void CPU_OR(cpu_set_t *destset, const cpu_set_t *srcset1,
-  const cpu_set_t *srcset2)
-{
-  CPU_OR_S(sizeof(*destset), destset, srcset1, srcset2);
-}
-
-static __inline void CPU_XOR_S(size_t setsize, cpu_set_t *destset,
-  const cpu_set_t *srcset1, const cpu_set_t *srcset2)
-{
-  cpu_set_word_t *wdest = &destset->__bits[0];
-  const cpu_set_word_t *wsrc1 = &srcset1->__bits[0];
-  const cpu_set_word_t *wsrc2 = &srcset2->__bits[0];
-  size_t n = setsize / sizeof(*wdest);
-  size_t i;
-
-  for (i = 0; i < n; ++i)
-    wdest[i] = wsrc1[i] ^ wsrc2[i];
-}
-
-static __inline void CPU_XOR(cpu_set_t *destset, const cpu_set_t *srcset1,
-  const cpu_set_t *srcset2)
-{
-  CPU_XOR_S(sizeof(*destset), destset, srcset1, srcset2);
-}
-
-static __inline void CPU_NAND_S(size_t setsize, cpu_set_t *destset,
-  const cpu_set_t *srcset1, const cpu_set_t *srcset2)
-{
-  cpu_set_word_t *wdest = &destset->__bits[0];
-  const cpu_set_word_t *wsrc1 = &srcset1->__bits[0];
-  const cpu_set_word_t *wsrc2 = &srcset2->__bits[0];
-  size_t n = setsize / sizeof(*wdest);
-  size_t i;
-
-  for (i = 0; i < n; ++i)
-    wdest[i] = ~(wsrc1[i] & wsrc2[i]);
-}
-
-static __inline void CPU_NAND(cpu_set_t *destset, const cpu_set_t *srcset1,
-  const cpu_set_t *srcset2)
-{
-  CPU_NAND_S(sizeof(*destset), destset, srcset1, srcset2);
-}
-
-static __inline int CPU_COUNT_S(size_t setsize, const cpu_set_t *set)
-{
-  int count = 0;
-  const cpu_set_word_t *w = &set->__bits[0];
-  size_t n = setsize / sizeof(*w);
-  size_t i;
-  int cpu;
-
-  for (i = 0; i < n; ++i)
-    for (cpu = 0; cpu < (int)_NCPUBITS; ++cpu)
-      count += (w[i] & __cpuset_mask(cpu)) != 0;
-
-  return count;
-}
-
-static __inline int CPU_COUNT(const cpu_set_t *set)
-{
-  return CPU_COUNT_S(sizeof(*set), set);
-}
-
-static __inline int CPU_EQUAL_S(size_t setsize, const cpu_set_t *set1,
-  const cpu_set_t *set2)
-{
-  const cpu_set_word_t *w1 = &set1->__bits[0];
-  const cpu_set_word_t *w2 = &set2->__bits[0];
-  size_t n = setsize / sizeof(*w1);
-  size_t i;
-
-  for (i = 0; i < n; ++i)
-    if (w1[i] != w2[i])
-      return 0;
-
-  return 1;
-}
-
-static __inline int CPU_EQUAL(const cpu_set_t *set1, const cpu_set_t *set2)
-{
-  return CPU_EQUAL_S(sizeof(*set1), set1, set2);
-}
-
-/* return 1 if the sets set1 and set2 are equal, otherwise return 0 */
-static __inline int CPU_CMP( const cpu_set_t *set1, const cpu_set_t *set2 )
-{
-  return CPU_EQUAL(set1, set2);
-}
-
-/* return 1 if the set is empty, otherwise return 0 */
-static __inline int CPU_EMPTY( const cpu_set_t *set )
-{
-  size_t i;
-
-  for (i=0; i < _NCPUWORDS; i++)
-    if (set->__bits[i] != 0 )
-      return 0;
-  return 1;
-}
-
-#ifdef __cplusplus
-}
-#endif /* __cplusplus */
-
-#endif
diff --git a/newlib/libc/sys/rtems/sys/dirent.h b/newlib/libc/sys/rtems/sys/dirent.h
deleted file mode 100644
index 8d2aa38..0000000
--- a/newlib/libc/sys/rtems/sys/dirent.h
+++ /dev/null
@@ -1,64 +0,0 @@
-#ifndef _SYS_DIRENT_H
-# define _SYS_DIRENT_H
-
-#ifdef __cplusplus
-extern "C" {
-#endif
-
-/*
- * This file was written to be compatible with the BSD directory
- * routines, so it looks like it.  But it was written from scratch.
- * Sean Eric Fagan, sef@Kithrup.COM
- *
- *  Copied to RTEMS configuration without modification.
- */
-
-typedef struct _dirdesc {
-       int     dd_fd;
-       long    dd_loc;
-       long    dd_size;
-       char    *dd_buf;
-       int     dd_len;
-       long    dd_seek;
-} DIR;
-
-# define __dirfd(dp)   ((dp)->dd_fd)
-
-DIR *opendir(const char *);
-struct dirent *readdir(DIR *);
-int readdir_r(DIR *__restrict, struct dirent *__restrict,
-              struct dirent **__restrict);
-void rewinddir(DIR *);
-int closedir(DIR *);
-void seekdir(DIR *dir, long loc);
-long telldir(DIR *dir);
-
-#ifdef _COMPILING_NEWLIB
-void _seekdir(DIR *dir, long offset);
-#endif
-
-#include <sys/types.h>
-
-#include <limits.h>
-
-struct dirent {
-       long    d_ino;
-       off_t   d_off;
-       unsigned short  d_reclen;
-       /* we need better syntax for variable-sized arrays */
-       unsigned short  d_namlen;
-       char            d_name[NAME_MAX + 1];
-};
-
-int scandir ( const char *dirname,
-   struct dirent *** namelist,
-   int (*select)(const struct dirent *),
-   int (*dcomp)(const struct dirent **, const struct dirent **)
-);
-
-#ifdef __cplusplus
-}
-#endif
-
-
-#endif
diff --git a/newlib/libc/sys/rtems/sys/param.h b/newlib/libc/sys/rtems/sys/param.h
deleted file mode 100644
index 808745f..0000000
--- a/newlib/libc/sys/rtems/sys/param.h
+++ /dev/null
@@ -1,217 +0,0 @@
-/*-
- * Copyright (c) 1982, 1986, 1989, 1993
- *     The Regents of the University of California.  All rights reserved.
- * (c) UNIX System Laboratories, Inc.
- * All or some portions of this file are derived from material licensed
- * to the University of California by American Telephone and Telegraph
- * Co. or Unix System Laboratories, Inc. and are reproduced herein with
- * the permission of UNIX System Laboratories, Inc.
- *
- * Redistribution and use in source and binary forms, with or without
- * modification, are permitted provided that the following conditions
- * are met:
- * 1. Redistributions of source code must retain the above copyright
- *    notice, this list of conditions and the following disclaimer.
- * 2. Redistributions in binary form must reproduce the above copyright
- *    notice, this list of conditions and the following disclaimer in the
- *    documentation and/or other materials provided with the distribution.
- * 4. Neither the name of the University nor the names of its contributors
- *    may be used to endorse or promote products derived from this software
- *    without specific prior written permission.
- *
- * THIS SOFTWARE IS PROVIDED BY THE REGENTS AND CONTRIBUTORS ``AS IS'' AND
- * ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
- * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
- * ARE DISCLAIMED.  IN NO EVENT SHALL THE REGENTS OR CONTRIBUTORS BE LIABLE
- * FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
- * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS
- * OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
- * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
- * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY
- * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
- * SUCH DAMAGE.
- *
- *     @(#)param.h     8.3 (Berkeley) 4/4/95
- * $Id$
- */
-
-#ifndef _SYS_PARAM_H_
-#define _SYS_PARAM_H_
-
-/* from newlib's <sys/param.h> */
-
-#include <sys/config.h>
-#include <machine/endian.h>
-
-# define PATHSIZE (1024)
-
-/* end of from newlib's <sys/param.h> */
-
-#include <unistd.h>
-
-#define        BSD     199506          /* System version (year & month). */
-#define BSD4_3 1
-#define BSD4_4 1
-
-#ifndef NULL
-#define        NULL    0
-#endif
-
-#ifndef LOCORE
-#include <sys/types.h>
-#endif
-
-/*
- * Machine-independent constants (some used in following include files).
- * Redefined constants are from POSIX 1003.1 limits file.
- *
- * MAXCOMLEN should be >= sizeof(ac_comm) (see <acct.h>)
- */
-#include <sys/syslimits.h>
-
-#define        MAXCOMLEN       19              /* max command name remembered */
-#define        MAXINTERP       PATH_MAX        /* max interpreter file name length */
-#define        MAXLOGNAME      33              /* max login name length (incl. NUL) */
-#define        MAXUPRC         CHILD_MAX       /* max simultaneous processes */
-#define        NCARGS          ARG_MAX         /* max bytes for an exec function */
-#define        NGROUPS         (NGROUPS_MAX+1) /* max number groups */
-#define        NOFILE          OPEN_MAX        /* max open files per process */
-#define        NOGROUP         65535           /* marker for empty group set member */
-#define MAXHOSTNAMELEN 256             /* max hostname size */
-#define SPECNAMELEN    63              /* max length of devicename */
-
-/* More types and definitions used throughout the kernel. */
-#if defined(KERNEL) || defined(_KERNEL)
-#include <sys/cdefs.h>
-#include <sys/errno.h>
-#include <sys/time.h>
-#include <sys/resource.h>
-#include <sys/uio.h>
-#include <sys/priority.h>
-
-#ifndef FALSE
-#define        FALSE   0
-#endif
-#ifndef TRUE
-#define        TRUE    1
-#endif
-#endif
-
-/* Signals. */
-#include <sys/signal.h>
-
-/* Machine type dependent parameters. */
-#include <machine/param.h>
-#include <machine/limits.h>
-
-#define        PRIMASK 0x0ff
-#define        PCATCH  0x100           /* OR'd with pri for tsleep to check signals */
-
-#define        NZERO   0               /* default "nice" */
-
-#define        NBPW    sizeof(int)     /* number of bytes per word (integer) */
-
-#define        CMASK   022             /* default file mask: S_IWGRP|S_IWOTH */
-#define        NODEV   (dev_t)(-1)     /* non-existent device */
-
-#define        CBLOCK  128             /* Clist block size, must be a power of 2. */
-#define CBQSIZE        (CBLOCK/NBBY)   /* Quote bytes/cblock - can do better. */
-                               /* Data chars/clist. */
-#define        CBSIZE  (CBLOCK - sizeof(struct cblock *) - CBQSIZE)
-#define        CROUND  (CBLOCK - 1)    /* Clist rounding. */
-
-/*
- * File system parameters and macros.
- *
- * MAXBSIZE -  Filesystems are made out of blocks of at most MAXBSIZE bytes
- *             per block.  MAXBSIZE may be made larger without effecting
- *             any existing filesystems as long as it does not exceed MAXPHYS,
- *             and may be made smaller at the risk of not being able to use
- *             filesystems which require a block size exceeding MAXBSIZE.
- *
- * BKVASIZE -  Nominal buffer space per buffer, in bytes.  BKVASIZE is the
- *             minimum KVM memory reservation the kernel is willing to make.
- *             Filesystems can of course request smaller chunks.  Actual
- *             backing memory uses a chunk size of a page (PAGE_SIZE).
- *
- *             If you make BKVASIZE too small you risk seriously fragmenting
- *             the buffer KVM map which may slow things down a bit.  If you
- *             make it too big the kernel will not be able to optimally use
- *             the KVM memory reserved for the buffer cache and will wind
- *             up with too-few buffers.
- *
- *             The default is 16384, roughly 2x the block size used by a
- *             normal UFS filesystem.
- */
-#define MAXBSIZE       65536   /* must be power of 2 */
-#define BKVASIZE       16384   /* must be power of 2 */
-#define BKVAMASK       (BKVASIZE-1)
-
-/*
- * MAXPATHLEN defines the longest permissible path length after expanding
- * symbolic links. It is used to allocate a temporary buffer from the buffer
- * pool in which to do the name expansion, hence should be a power of two,
- * and must be less than or equal to MAXBSIZE.  MAXSYMLINKS defines the
- * maximum number of symbolic links that may be expanded in a path name.
- * It should be set high enough to allow all legitimate uses, but halt
- * infinite loops reasonably quickly.
- */
-#define        MAXPATHLEN      PATH_MAX
-#define MAXSYMLINKS    32
-
-/* Bit map related macros. */
-#define        setbit(a,i)     (((unsigned char *)(a))[(i)/NBBY] |= 1<<((i)%NBBY))
-#define        clrbit(a,i)     (((unsigned char *)(a))[(i)/NBBY] &= ~(1<<((i)%NBBY)))
-#define        isset(a,i)                                                      \
-       (((const unsigned char *)(a))[(i)/NBBY] & (1<<((i)%NBBY)))
-#define        isclr(a,i)                                                      \
-       ((((const unsigned char *)(a))[(i)/NBBY] & (1<<((i)%NBBY))) == 0)
-
-/* Macros for counting and rounding. */
-#ifndef howmany
-#define        howmany(x, y)   (((x)+((y)-1))/(y))
-#endif
-#define        rounddown(x, y) (((x)/(y))*(y))
-#define        roundup(x, y)   ((((x)+((y)-1))/(y))*(y))  /* to any y */
-#define        roundup2(x, y)  (((x)+((y)-1))&(~((y)-1))) /* if y is powers of two */
-#define powerof2(x)    ((((x)-1)&(x))==0)
-
-/* Macros for min/max. */
-#if !(defined(KERNEL) || defined(_KERNEL))
-#define        MIN(a,b) (((a)<(b))?(a):(b))
-#define        MAX(a,b) (((a)>(b))?(a):(b))
-#endif
-
-/*
- * Constants for setting the parameters of the kernel memory allocator.
- *
- * 2 ** MINBUCKET is the smallest unit of memory that will be
- * allocated. It must be at least large enough to hold a pointer.
- *
- * Units of memory less or equal to MAXALLOCSAVE will permanently
- * allocate physical memory; requests for these size pieces of
- * memory are quite fast. Allocations greater than MAXALLOCSAVE must
- * always allocate and free physical memory; requests for these
- * size allocations should be done infrequently as they will be slow.
- *
- * Constraints: PAGE_SIZE <= MAXALLOCSAVE <= 2 ** (MINBUCKET + 14), and
- * MAXALLOCSIZE must be a power of two.
- */
-#define MINBUCKET      4               /* 4 => min allocation of 16 bytes */
-#define MAXALLOCSAVE   (2 * PAGE_SIZE)
-
-/*
- * Scale factor for scaled integers used to count %cpu time and load avgs.
- *
- * The number of CPU `tick's that map to a unique `%age' can be expressed
- * by the formula (1 / (2 ^ (FSHIFT - 11))).  The maximum load average that
- * can be calculated (assuming 32 bits) can be closely approximated using
- * the formula (2 ^ (2 * (16 - FSHIFT))) for (FSHIFT < 15).
- *
- * For the scheduler to maintain a 1:1 mapping of CPU `tick' to `%age',
- * FSHIFT must be at least 11; this gives us a maximum load avg of ~1024.
- */
-#define        FSHIFT  11              /* bits to right of fixed binary point */
-#define FSCALE (1<<FSHIFT)
-
-#endif /* _SYS_PARAM_H_ */
diff --git a/newlib/libc/sys/rtems/sys/syslimits.h b/newlib/libc/sys/rtems/sys/syslimits.h
deleted file mode 100644
index 2295afe..0000000
--- a/newlib/libc/sys/rtems/sys/syslimits.h
+++ /dev/null
@@ -1,64 +0,0 @@
-/*
- * Copyright (c) 1988, 1993
- *     The Regents of the University of California.  All rights reserved.
- *
- * Redistribution and use in source and binary forms, with or without
- * modification, are permitted provided that the following conditions
- * are met:
- * 1. Redistributions of source code must retain the above copyright
- *    notice, this list of conditions and the following disclaimer.
- * 2. Redistributions in binary form must reproduce the above copyright
- *    notice, this list of conditions and the following disclaimer in the
- *    documentation and/or other materials provided with the distribution.
- * 3. All advertising materials mentioning features or use of this software
- *    must display the following acknowledgement:
- *     This product includes software developed by the University of
- *     California, Berkeley and its contributors.
- * 4. Neither the name of the University nor the names of its contributors
- *    may be used to endorse or promote products derived from this software
- *    without specific prior written permission.
- *
- * THIS SOFTWARE IS PROVIDED BY THE REGENTS AND CONTRIBUTORS ``AS IS'' AND
- * ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
- * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
- * ARE DISCLAIMED.  IN NO EVENT SHALL THE REGENTS OR CONTRIBUTORS BE LIABLE
- * FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
- * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS
- * OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
- * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
- * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY
- * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
- * SUCH DAMAGE.
- *
- *     @(#)syslimits.h 8.1 (Berkeley) 6/2/93
- * $Id$
- */
-
-#ifndef _SYS_SYSLIMITS_H_
-#define _SYS_SYSLIMITS_H_
-
-#define        ARG_MAX                  4096   /* max bytes for an exec function */
-#ifndef CHILD_MAX
-#define        CHILD_MAX                   6   /* max simultaneous processes */
-#endif
-#define        LINK_MAX                    8   /* max file link count */
-#define        MAX_CANON                 255   /* max bytes in term canon input line */
-#define        MAX_INPUT                 255   /* max bytes in terminal input */
-#define        NAME_MAX                  255   /* max bytes in a file name */
-#define        NGROUPS_MAX                15   /* max supplemental group id's */
-#ifndef OPEN_MAX
-#define        OPEN_MAX                   64   /* max open files per process */
-#endif
-#define        PATH_MAX                  255   /* max bytes in pathname */
-#define        PIPE_BUF                  512   /* max bytes for atomic pipe writes */
-#define        IOV_MAX                  1024   /* max elements in i/o vector */
-#define        BC_BASE_MAX                99   /* max ibase/obase values in bc(1) */
-#define        BC_DIM_MAX               2048   /* max array elements in bc(1) */
-#define        BC_SCALE_MAX               99   /* max scale value in bc(1) */
-#define        BC_STRING_MAX            1000   /* max const string length in bc(1) */
-#define        COLL_WEIGHTS_MAX            0   /* max weights for order keyword */
-#define        EXPR_NEST_MAX              32   /* max expressions nested in expr(1) */
-#define        LINE_MAX                 2048   /* max bytes in an input line */
-#define        RE_DUP_MAX                255   /* max RE's in interval notation */
-
-#endif
diff --git a/newlib/libc/sys/rtems/sys/utime.h b/newlib/libc/sys/rtems/sys/utime.h
deleted file mode 100644
index 561136b..0000000
--- a/newlib/libc/sys/rtems/sys/utime.h
+++ /dev/null
@@ -1,34 +0,0 @@
-/*
- *  $Id$
- */
-
-#ifndef __UTIME_h__
-#define __UTIME_h__
-
-#include <sys/types.h>
-
-#ifdef __cplusplus
-extern "C" {
-#endif
-
-/*
- *  POSIX 1003.1b 5.6.6 Set File Access and Modification Times
- */
-
-struct utimbuf {
-  time_t  actime;   /* Access time */
-  time_t  modtime;  /* Modification time */
-};
-
-/* Functions */
-
-int utime(
-  const char           *path,
-  const struct utimbuf *times
-);
-
-#ifdef __cplusplus
-};
-#endif
-
-#endif /* _SYS_UTIME_H */
--
1.8.4.5


_______________________________________________
devel mailing list
devel@rtems.org
http://lists.rtems.org/mailman/listinfo/devel


--
Joel Sherrill, Ph.D.             Director of Research & Development
joel.sherrill@OARcorp.com        On-Line Applications Research
Ask me about RTEMS: a free RTOS  Huntsville AL 35805
Support Available                (256) 722-9985


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]