OSDN Git Service

2009-12-16 Ralf Corsépius <ralf.corsepius@rtems.org>
authorjjohnstn <jjohnstn>
Fri, 18 Dec 2009 01:10:41 +0000 (01:10 +0000)
committerjjohnstn <jjohnstn>
Fri, 18 Dec 2009 01:10:41 +0000 (01:10 +0000)
        * libc/sys/rtems/machine/_types.h: New (Derived from
        machine/_default_types.h).
        * libc/sys/rtems/crt0.c: Rework. Introduce macro RTEMS_STUB.
        * libc/sys/rtems/sys/param.h:
        Update copyright notice from FreeBSD.
        Remove HZ.
        Add #include <sys/priority.h>
        Remove priority handling (moved to sys/priority.h).
        Remove CLBYTES (Unused, abandoned in BSD).
        * libc/sys/rtems/sys/queue.h: Update copyright (from FreeBSD).
        Remove CIRCLEQ_*.

2

newlib/libc/sys/rtems/machine/_types.h [new file with mode: 0644]

diff --git a/newlib/libc/sys/rtems/machine/_types.h b/newlib/libc/sys/rtems/machine/_types.h
new file mode 100644 (file)
index 0000000..b557920
--- /dev/null
@@ -0,0 +1,34 @@
+/*
+ *  $Id: _types.h,v 1.3 2009/12/17 16:10:41 jjohnstn Exp $
+ */
+
+#ifndef _MACHINE__TYPES_H
+#define _MACHINE__TYPES_H
+
+/*
+ * GCC wants type symmetry between size_t and ssize_t.
+ * It supplies __SIZE_TYPE__, doesn't supply a corresponding __SSIZE_TYPE__,
+ * so we have to guess on which type GCC wants ssize_t to be.
+ * FIXME: GCC > 4.3.x supplies internal defines __SIZEOF_SIZE_T__ etc. which
+ * could be applied here.
+ */
+
+#if defined(__i386__) || defined(__m32r__) || defined(__h8300__) || defined(__arm__) || defined(__bfin__) || defined(__m68k__)
+#if defined(__H8300__)
+typedef signed int _ssize_t;
+#else
+typedef long signed int _ssize_t;
+#endif
+#define __ssize_t_defined 1
+#elif defined(__AVR__) || defined(__lm32__) || defined(__m32c__) || defined(__mips__) || defined(__PPC__) || defined(__sparc__) || defined(__sh__)
+typedef signed int _ssize_t;
+#define __ssize_t_defined 1
+#else
+# error unsupported target
+#endif
+
+#include <machine/_default_types.h>
+
+typedef __int32_t blksize_t;
+typedef __int32_t blkcnt_t;
+#endif