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
diff options
context:
space:
mode:
-rw-r--r--newlib/ChangeLog9
-rw-r--r--newlib/libc/include/sys/reent.h15
-rw-r--r--newlib/libc/stdio/dprintf.c1
-rw-r--r--newlib/libc/stdio/vdiprintf.c1
-rw-r--r--newlib/libc/stdio/vdprintf.c1
5 files changed, 25 insertions, 2 deletions
diff --git a/newlib/ChangeLog b/newlib/ChangeLog
index b38996cc6..04526b07e 100644
--- a/newlib/ChangeLog
+++ b/newlib/ChangeLog
@@ -1,3 +1,12 @@
+2008-03-07 Jeff Johnston <jjohnstn@redhat.com>
+
+ * libc/include/sys/reent.h(_REENT_SMALL_CHECK_INIT): Specify
+ this macro completely instead of referring to CHECK_STD_INIT which
+ is only found in libc/stdio/local.h.
+ * libc/stdio/dprintf.c: Add include of local.h.
+ * libc/stdio/vdprintf.c: Ditto.
+ * libc/stdio/vdiprintf.c: Ditto.
+
2008-03-04 Eric Blake <ebb9@byu.net>
Fix strtod("nan()", ptr).
diff --git a/newlib/libc/include/sys/reent.h b/newlib/libc/include/sys/reent.h
index 39785d77d..37fad56c1 100644
--- a/newlib/libc/include/sys/reent.h
+++ b/newlib/libc/include/sys/reent.h
@@ -149,8 +149,19 @@ struct __sFILE_fake {
struct _reent *_data;
};
-/* CHECK_STD_INIT() comes from stdio/local.h; be sure to include that. */
-# define _REENT_SMALL_CHECK_INIT(ptr) CHECK_STD_INIT(ptr)
+
+/* Following is needed both in libc/stdio and libc/stdlib so we put it
+ * here instead of libc/stdio/local.h where it was previously. */
+
+extern _VOID _EXFUN(__sinit,(struct _reent *));
+
+# define _REENT_SMALL_CHECK_INIT(ptr) \
+ do \
+ { \
+ if ((ptr) && !(ptr)->__sdidinit) \
+ __sinit (ptr); \
+ } \
+ while (0)
#else
# define _REENT_SMALL_CHECK_INIT(ptr) /* nothing */
#endif
diff --git a/newlib/libc/stdio/dprintf.c b/newlib/libc/stdio/dprintf.c
index 53bb50bfa..b0eb19192 100644
--- a/newlib/libc/stdio/dprintf.c
+++ b/newlib/libc/stdio/dprintf.c
@@ -45,6 +45,7 @@ Supporting OS subroutines required: <<sbrk>>, <<write>>.
#include <stdio.h>
#include <unistd.h>
#include <stdarg.h>
+#include "local.h"
int
_DEFUN(_dprintf_r, (ptr, fd, format),
diff --git a/newlib/libc/stdio/vdiprintf.c b/newlib/libc/stdio/vdiprintf.c
index b9b94735c..51bdb000e 100644
--- a/newlib/libc/stdio/vdiprintf.c
+++ b/newlib/libc/stdio/vdiprintf.c
@@ -10,6 +10,7 @@
#include <stdlib.h>
#include <unistd.h>
#include <stdarg.h>
+#include "local.h"
int
_DEFUN(_vdiprintf_r, (ptr, fd, format, ap),
diff --git a/newlib/libc/stdio/vdprintf.c b/newlib/libc/stdio/vdprintf.c
index 8a20235ef..bfb19c95b 100644
--- a/newlib/libc/stdio/vdprintf.c
+++ b/newlib/libc/stdio/vdprintf.c
@@ -10,6 +10,7 @@
#include <stdlib.h>
#include <unistd.h>
#include <stdarg.h>
+#include "local.h"
int
_DEFUN(_vdprintf_r, (ptr, fd, format, ap),