diff options
author | Jeff Johnston <jjohnstn@redhat.com> | 2007-02-01 16:33:05 +0000 |
---|---|---|
committer | Jeff Johnston <jjohnstn@redhat.com> | 2007-02-01 16:33:05 +0000 |
commit | 7d592bb1785253ba2266392dbb41f5bd563469d6 (patch) | |
tree | 6a07a6865d6ab61a65711f68ab22869f7afb793e /newlib/libc/include | |
parent | 4815dd49bb1483af60dad347ff351db13178a21e (diff) | |
download | cygnal-7d592bb1785253ba2266392dbb41f5bd563469d6.tar.gz cygnal-7d592bb1785253ba2266392dbb41f5bd563469d6.tar.bz2 cygnal-7d592bb1785253ba2266392dbb41f5bd563469d6.zip |
2007-02-01 Joel Schopp <jschopp@austin.ibm.com>
Kazunori Asayama <asayama@sm.sony.co.jp>
* configure.host: Enable SPU specific stdio directory.
* libc/machine/spu/Makefile.am: Add objects.
* libc/machine/spu/Makefile.in: Regenerated.
* libc/machine/spu/c99ppe.h: Add macros and function
declarations to initialize SPU specific stdio stuffs.
* libc/machine/spu/stdio.c: Add functions to manage Cell SPU
specific FILE structures.
* libc/machine/spu/perror.c: Add initialization routine of
stdio stuffs.
* libc/machine/spu/printf.c: Ditto.
* libc/machine/spu/putchar.c: Ditto.
* libc/machine/spu/puts.c: Ditto.
* libc/machine/spu/vprintf.c: Ditto.
* libc/machine/spu/clearerr.c: New file. Add a stdio function
implementation.
* libc/machine/spu/feof.c: Ditto.
* libc/machine/spu/ferror.c: Ditto.
* libc/machine/spu/fileno.c: Ditto.
* libc/machine/spu/fopen.c: Ditto.
* libc/machine/spu/fclose.c: Ditto.
* libc/machine/spu/freopen.c: Ditto.
* libc/machine/spu/fflush.c: Ditto.
* libc/machine/spu/fseek.c: Ditto.
* libc/machine/spu/ftell.c: Ditto.
* libc/machine/spu/rewind.c: Ditto.
* libc/machine/spu/fgetpos.c: Ditto.
* libc/machine/spu/fsetpos.c: Ditto.
* libc/machine/spu/fread.c: Ditto.
* libc/machine/spu/fwrite.c: Ditto.
* libc/machine/spu/getc.c: Ditto.
* libc/machine/spu/getchar.c: Ditto.
* libc/machine/spu/gets.c: Ditto.
* libc/machine/spu/fgetc.c: Ditto.
* libc/machine/spu/fgets.c: Ditto.
* libc/machine/spu/ungetc.c: Ditto.
* libc/machine/spu/putc.c: Ditto.
* libc/machine/spu/fputc.c: Ditto.
* libc/machine/spu/fputs.c: Ditto.
* libc/machine/spu/vfprintf.c: Ditto.
* libc/machine/spu/vfscanf.c: Ditto.
* libc/machine/spu/fprintf.c: Ditto.
* libc/machine/spu/fscanf.c: Ditto.
* libc/machine/spu/scanf.c: Ditto.
* libc/machine/spu/vscanf.c: Ditto.
* libc/machine/spu/setbuf.c: Ditto.
* libc/machine/spu/setvbuf.c: Ditto.
* libc/machine/spu/tmpfile.c: Ditto.
2007-02-01 Jeff Johnston <jjohnstn@redhat.com>
* libc/include/sys/config.h[__SPU__]: Define __CUSTOM_FILE_IO__.
* libc/include/stdio.h[!__CUSTOM_FILE_IO__]: Add flag check
around stdio macros that manipulate fields in the normal file
structure.
* libc/include/sys/reent.h[__CUSTOM_FILE_IO__]: Include
<sys/custom_file.h> to define custom FILE structure.
* libc/include/sys/custom_file.h: New default header file
that generates error if not overridden when __CUSTOM_FILE_IO__ set.
* libc/machine/spu/sys/custom_file.h: New file.
Diffstat (limited to 'newlib/libc/include')
-rw-r--r-- | newlib/libc/include/stdio.h | 9 | ||||
-rw-r--r-- | newlib/libc/include/sys/config.h | 1 | ||||
-rw-r--r-- | newlib/libc/include/sys/custom_file.h | 2 | ||||
-rw-r--r-- | newlib/libc/include/sys/reent.h | 11 |
4 files changed, 20 insertions, 3 deletions
diff --git a/newlib/libc/include/stdio.h b/newlib/libc/include/stdio.h index f99480d44..4d3e0c597 100644 --- a/newlib/libc/include/stdio.h +++ b/newlib/libc/include/stdio.h @@ -395,6 +395,7 @@ FILE *_EXFUN(funopen,(const _PTR _cookie, #define fwopen(cookie, fn) funopen(cookie, (int (*)())0, fn, (fpos_t (*)())0, (int (*)())0) #endif +#ifndef __CUSTOM_FILE_IO__ /* * The __sfoo macros are here so that we can * define function versions in the C library. @@ -472,9 +473,6 @@ static __inline int __sputc_r(struct _reent *_ptr, int _c, FILE *_p) { #endif /* lint */ #endif /* __CYGWIN__ */ -#define getchar() getc(stdin) -#define putchar(x) putc(x, stdout) - #ifndef __STRICT_ANSI__ /* fast always-buffered version, true iff error */ #define fast_putc(x,p) (--(p)->_w < 0 ? \ @@ -486,6 +484,11 @@ static __inline int __sputc_r(struct _reent *_ptr, int _c, FILE *_p) { #endif #endif +#endif /* !__CUSTOM_FILE_IO__ */ + +#define getchar() getc(stdin) +#define putchar(x) putc(x, stdout) + _END_STD_C #endif /* _STDIO_H_ */ diff --git a/newlib/libc/include/sys/config.h b/newlib/libc/include/sys/config.h index 1f3c3e03d..58305d4a8 100644 --- a/newlib/libc/include/sys/config.h +++ b/newlib/libc/include/sys/config.h @@ -132,6 +132,7 @@ #ifdef __SPU__ #define MALLOC_ALIGNMENT 16 +#define __CUSTOM_FILE_IO__ #endif /* This block should be kept in sync with GCC's limits.h. The point diff --git a/newlib/libc/include/sys/custom_file.h b/newlib/libc/include/sys/custom_file.h new file mode 100644 index 000000000..96314fb91 --- /dev/null +++ b/newlib/libc/include/sys/custom_file.h @@ -0,0 +1,2 @@ +#error System-specific custom_file.h is missing. + diff --git a/newlib/libc/include/sys/reent.h b/newlib/libc/include/sys/reent.h index a7d4f968f..93c79ffc7 100644 --- a/newlib/libc/include/sys/reent.h +++ b/newlib/libc/include/sys/reent.h @@ -212,6 +212,12 @@ struct __sFILE { #endif }; +#ifdef __CUSTOM_FILE_IO__ + +/* Get custom _FILE definition. */ +#include <sys/custom_file.h> + +#else /* !__CUSTOM_FILE_IO__ */ #ifdef __LARGE64_FILES struct __sFILE64 { unsigned char *_p; /* current position in (some) buffer */ @@ -260,6 +266,7 @@ typedef struct __sFILE64 __FILE; #else typedef struct __sFILE __FILE; #endif /* __LARGE64_FILES */ +#endif /* !__CUSTOM_FILE_IO__ */ struct _glue { @@ -459,6 +466,10 @@ extern const struct __sFILE_fake __sf_fake_stderr; #define __reent_assert(x) ((void)0) #endif +#ifdef __CUSTOM_FILE_IO__ +#error Custom FILE I/O and _REENT_SMALL not currently supported. +#endif + /* Generic _REENT check macro. */ #define _REENT_CHECK(var, what, type, size, init) do { \ struct _reent *_r = (var); \ |