diff options
author | Jeff Johnston <jjohnstn@redhat.com> | 2008-03-07 19:45:04 +0300 |
---|---|---|
committer | Jeff Johnston <jjohnstn@redhat.com> | 2008-03-07 19:45:04 +0300 |
commit | 0382d26727416adf62287dfc0ce66aa9a38db95b (patch) | |
tree | 70e228e28769d1d2eea4aaef0d0094749c78c3bd /newlib | |
parent | 360b05b451fbbc2a2768fa84d86a78ec9002979a (diff) |
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.
Diffstat (limited to 'newlib')
-rw-r--r-- | newlib/ChangeLog | 9 | ||||
-rw-r--r-- | newlib/libc/include/sys/reent.h | 15 | ||||
-rw-r--r-- | newlib/libc/stdio/dprintf.c | 1 | ||||
-rw-r--r-- | newlib/libc/stdio/vdiprintf.c | 1 | ||||
-rw-r--r-- | newlib/libc/stdio/vdprintf.c | 1 |
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), |