diff options
Diffstat (limited to 'newlib/libc/include/sys')
-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 |
3 files changed, 14 insertions, 0 deletions
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); \ |