On Wed, Sep 05, 2007 at 09:29:22AM -0700, Patrick Mansfield wrote:
For SPU, use 4 bytes for uid_t and gid_t.
Use 4 bytes for dev_t to match the linux kernel dev_t size, though glibc
uses 8 bytes, we want to keep our assist call ABI the same for now (in
jsre_stat and mknod), and only the low 32 bits of dev are used in
glibc.
newlib ChangeLog:
2007-09-05 Patrick Mansfield <patmans@us.ibm.com>
* libc/include/sys/types.h: For SPU, use 4 byte uid_t and gid_t,
and 4 byte dev_t.
Jeff - do you want this redone, changing types.h and SPU machine _types.h?
If so, what should I use for define names? types.h already uses lower case
(like __timer_t_defined), but the other patch I made used uppercase
(__FPOS_T_DEFINED).
i.e. which form of case and underscore prefix: __gid_t_defined,
_gid_t_defined, __GID_T_DEFINED or _GID_T_DEFINED?
-- Patrick Mansfield
Index: src/newlib/libc/include/sys/types.h
===================================================================
--- src.orig/newlib/libc/include/sys/types.h
+++ src/newlib/libc/include/sys/types.h
@@ -161,6 +161,8 @@ typedef int32_t register_t;
#if defined(__rtems__)
/* device numbers are 32-bit major and and 32-bit minor */
typedef unsigned long long dev_t;
+#elif defined(__SPU__)
+typedef unsigned dev_t;
#else
#ifndef __CYGWIN__
typedef short dev_t;
@@ -170,9 +172,14 @@ typedef short dev_t;
#ifndef __CYGWIN__ /* which defines these types in it's own types.h. */
typedef long off_t;
+#ifdef __SPU__
+typedef unsigned int uid_t;
+typedef unsigned int gid_t;
+#else
typedef unsigned short uid_t;
typedef unsigned short gid_t;
#endif
+#endif
typedef int pid_t;
#ifndef __CYGWIN__