OSDN Git Service

* libc/include/sys/reent.h (_reent): Adjust _REENT_SMALL to be
authorkazu <kazu>
Wed, 9 Jun 2010 15:15:35 +0000 (15:15 +0000)
committerkazu <kazu>
Wed, 9 Jun 2010 15:15:35 +0000 (15:15 +0000)
binary compatible with normal layout.
(_REENT_INIT): Adjust to match struct layout.

newlib/ChangeLog
newlib/libc/include/sys/reent.h

index cf840ee..417c9fc 100644 (file)
@@ -1,3 +1,9 @@
+2010-06-09  Paul Brook  <paul@codesourcery.com>
+
+       * libc/include/sys/reent.h (_reent): Adjust _REENT_SMALL to be
+       binary compatible with normal layout.
+       (_REENT_INIT): Adjust to match struct layout.
+
 2010-06-08  Jeff Johnston  <jjohnstn@redhat.com>
 
        * libc/include/wordexp.h: Add __cplusplus wrapper.
index 12ac6b2..8518964 100644 (file)
@@ -357,14 +357,15 @@ struct _misc_reent
  * ports with 16-bit int's but 32-bit pointers, align nicely.  */
 struct _reent
 {
+  /* As an exception to the above put _errno first for binary
+     compatibility with non _REENT_SMALL targets.  */
+  int _errno;                  /* local copy of errno */
 
   /* FILE is a big struct and may change over time.  To try to achieve binary
      compatibility with future versions, put stdin,stdout,stderr here.
      These are pointers into member __sf defined below.  */
   __FILE *_stdin, *_stdout, *_stderr;  /* XXX */
 
-  int _errno;                  /* local copy of errno */
-
   int  _inc;                   /* used by tmpnam */
 
   char *_emergency;
@@ -405,12 +406,12 @@ extern const struct __sFILE_fake __sf_fake_stdin;
 extern const struct __sFILE_fake __sf_fake_stdout;
 extern const struct __sFILE_fake __sf_fake_stderr;
 
-#define _REENT_INIT(var) \
-  { (__FILE *)&__sf_fake_stdin, \
+# define _REENT_INIT(var) \
+  { 0, \
+    (__FILE *)&__sf_fake_stdin, \
     (__FILE *)&__sf_fake_stdout, \
     (__FILE *)&__sf_fake_stderr, \
     0, \
-    0, \
     _NULL, \
     0, \
     0, \