Welcome to mirror list, hosted at ThFree Co, Russian Federation.

cygwin.com/git/newlib-cygwin.git - Unnamed repository; edit this file 'description' to name the repository.
summaryrefslogtreecommitdiff
path: root/newlib
diff options
context:
space:
mode:
authorCorinna Vinschen <corinna@vinschen.de>2010-11-16 20:29:39 +0300
committerCorinna Vinschen <corinna@vinschen.de>2010-11-16 20:29:39 +0300
commitf43dea8084f7ce989c17d2a00b643aac5b404325 (patch)
tree37ef464abc0aa8bc85027ee022532e327e526038 /newlib
parent4a20b7de18632ecfab84bb3ad305642d86b55ca2 (diff)
* libc/include/sys/types.h: Add _mode_t for __rtems__.
* libc/sys/rtems/machine/_types.h: Provide _mode_t, _fpos_t, _off_t. Add _ssize_t for 64bit sparc. Let arm, i386, m68k, mips, PPC, sparc use 64bit _off_t, _fpos_t.
Diffstat (limited to 'newlib')
-rw-r--r--newlib/ChangeLog7
-rw-r--r--newlib/libc/include/sys/types.h6
-rw-r--r--newlib/libc/sys/rtems/machine/_types.h23
3 files changed, 35 insertions, 1 deletions
diff --git a/newlib/ChangeLog b/newlib/ChangeLog
index 29ace2ac9..54fbfa8cd 100644
--- a/newlib/ChangeLog
+++ b/newlib/ChangeLog
@@ -1,5 +1,12 @@
2010-11-16 Ralf Corsépius <ralf.corsepius@rtems.org>
+ * libc/include/sys/types.h: Add _mode_t for __rtems__.
+ * libc/sys/rtems/machine/_types.h: Provide _mode_t, _fpos_t, _off_t.
+ Add _ssize_t for 64bit sparc.
+ Let arm, i386, m68k, mips, PPC, sparc use 64bit _off_t, _fpos_t.
+
+2010-11-16 Ralf Corsépius <ralf.corsepius@rtems.org>
+
* configure.host: Add -D_COMPILING_NEWLIB to newlib_cflags.
2010-11-04 Ralf Corsépius <ralf.corsepius@rtems.org>
diff --git a/newlib/libc/include/sys/types.h b/newlib/libc/include/sys/types.h
index 823a9c0f5..17f9306ac 100644
--- a/newlib/libc/include/sys/types.h
+++ b/newlib/libc/include/sys/types.h
@@ -171,12 +171,16 @@ typedef signed char pid_t;
typedef int pid_t;
#endif
+#if defined(__rtems__)
+typedef _mode_t mode_t;
+#endif
+
#ifndef __CYGWIN__
typedef long key_t;
#endif
typedef _ssize_t ssize_t;
-#ifndef __CYGWIN__
+#if !defined(__CYGWIN__) && !defined(__rtems__)
#ifdef __MS_types__
typedef char * addr_t;
typedef int mode_t;
diff --git a/newlib/libc/sys/rtems/machine/_types.h b/newlib/libc/sys/rtems/machine/_types.h
index e1c6ba671..2e0204335 100644
--- a/newlib/libc/sys/rtems/machine/_types.h
+++ b/newlib/libc/sys/rtems/machine/_types.h
@@ -20,6 +20,9 @@ typedef signed int _ssize_t;
typedef long signed int _ssize_t;
#endif
#define __ssize_t_defined 1
+#elif defined(__sparc__) && defined(__LP64__)
+typedef long signed int _ssize_t;
+#define __ssize_t_defined 1
#elif defined(__AVR__) || defined(__lm32__) || defined(__m32c__) || defined(__mips__) || defined(__moxie__) || defined(__PPC__) || defined(__sparc__) || defined(__sh__)
typedef signed int _ssize_t;
#define __ssize_t_defined 1
@@ -31,4 +34,24 @@ typedef signed int _ssize_t;
typedef __int32_t blksize_t;
typedef __int32_t blkcnt_t;
+
+#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