newlib-cygwin/newlib/libc/include/sys/config.h

177 lines
4.1 KiB
C
Raw Normal View History

2000-02-18 03:39:52 +08:00
#ifndef __SYS_CONFIG_H__
#define __SYS_CONFIG_H__
#include <machine/ieeefp.h> /* floating point macros */
2000-02-18 03:39:52 +08:00
/* exceptions first */
#if defined(__H8500__) || defined(__W65__)
#define __SMALL_BITFIELDS
2000-02-18 03:39:52 +08:00
/* ??? This conditional is true for the h8500 and the w65, defining H8300
in those cases probably isn't the right thing to do. */
#define H8300 1
#endif
/* 16 bit integer machines */
#if defined(__Z8001__) || defined(__Z8002__) || defined(__H8500__) || defined(__W65__) || defined (__mn10200__) || defined (__AVR__)
2000-02-18 03:39:52 +08:00
#undef INT_MAX
#undef UINT_MAX
#define INT_MAX 32767
#define UINT_MAX 65535
#endif
#if defined (__H8300__) || defined (__H8300H__) || defined(__H8300S__) || defined (__H8300SX__)
#define __SMALL_BITFIELDS
#define H8300 1
#undef INT_MAX
#undef UINT_MAX
#define INT_MAX __INT_MAX__
#define UINT_MAX (__INT_MAX__ * 2U + 1)
#endif
#ifdef __W65__
#define __SMALL_BITFIELDS
#endif
2000-02-18 03:39:52 +08:00
#if defined(__D10V__)
#define __SMALL_BITFIELDS
2000-02-18 03:39:52 +08:00
#undef INT_MAX
#undef UINT_MAX
#define INT_MAX __INT_MAX__
#define UINT_MAX (__INT_MAX__ * 2U + 1)
#define _POINTER_INT short
#endif
#if defined(__mc68hc11__) || defined(__mc68hc12__) || defined(__mc68hc1x__)
#undef INT_MAX
#undef UINT_MAX
#define INT_MAX __INT_MAX__
2000-02-18 03:39:52 +08:00
#define UINT_MAX (__INT_MAX__ * 2U + 1)
#define _POINTER_INT short
#endif
2000-02-18 03:39:52 +08:00
#ifdef ___AM29K__
#define _FLOAT_RET double
#endif
#ifdef __i386__
#ifndef __unix__
/* in other words, go32 */
#define _FLOAT_RET double
#endif
2002-05-17 Jeff Johnston <jjohnstn@redhat.com> * Makefile.am: Copy and install headers from sys/machine/include directory. Also pass $toollibdir to lower-level directories. * Makefile.in: Regenerated. * libc/include/stdio.h[!_REENT_ONLY]: Change stdin, stdout, and stderr to use _REENT macro instead of _impure_ptr directly. * libc/include/sys/config.h[__i386__][__linux__]: Define __DYNAMIC_REENT__. * libc/include/sys/reent.h[!_REENT_ONLY]: Change _REENT macro to be call to __getreent() function if !__SINGLE_THREAD__ and __DYNAMIC_REENT__ is set. * libc/reent/Makefile.am: Add support for getreent.c. * libc/reent/Makefile.in: Regenerated. * libc/string/strerror.c: Add check if EOPNOTSUPP and ENOTSUP are same. * libc/sys/linux/Makefile.am: Add support for new files. * libc/sys/linux/configure.in: Add $EXTRA_DIRS variable. * libc/sys/linux/Makefile.in: Regenerated. * libc/sys/linux/configure: Ditto. * libc/sys/linux/io.c: Add poll syscall. Also weak-alias __close, __read, __write, __poll, __open, __lseek, __fcntl from their __libc_ counterparts. * libc/sys/linux/io64.c: Add __libc_ prefix to lseek64 and open64 and weak-alias to regular names. * libc/sys/linux/pread64.c: Rename to __libc_pread64 and weak-alias to pread64 and __pread64. * libc/sys/linux/process.c: Weak_alias __libc_getpid to __getpid. * libc/sys/linux/pwrite64.c: Rename to __libc_pwrite64 and weak-alias to pwrite64. * libc/sys/linux/sched.c: Weak-alias __libc_sched_getparam, __libc_sched_getscheduler, __libc_sched_get_priority_max, __libc_sched_get_priority_min, and __libc_sched_setschedule to name with __ instead of __libc_. * libc/sys/linux/siglongjmp.c: Include <machine/weakalias.h>. Rename siglongjmp to __libc_siglongjmp and weak-alias to siglongjmp. Call __libc_longjmp instead of longjmp, from __libc_siglongjmp. * libc/sys/linux/signal.c: Rename raise to __libc_raise and weak-alias to raise. * libc/sys/linux/socket.c: Weak-alias __libc_connect to __connect and __libc_send to __send. * libc/sys/linux/time.c: Weak-alias __libc_gettimeofday to __gettimeofday. * libc/sys/linux/wait.c: Rename wait to __libc_wait and weak-alias it to wait. Rename wait3 to __libc_wait3 and weak-alias it to wait3. * libc/sys/linux/include/setjmp.h: Use __jmp_buf in sigjmp_buf type and typedef __jmp_buf to jmp_buf. * libc/sys/linux/machine/i386/Makefile.am: Add syscalls.c and setjmp.S. * libc/sys/linux/machine/i386/Makefile.in: Regenerated. * libc/sys/linux/machine/i386/crt0.c: Add support to clear .bss section. * libc/sys/linux/machine/i386/socketcall.h: Change to use __libc_ prefix for function macros and then use weak_alias() to regular names. * libc/sys/linux/machine/i386/syscall.h: Ditto. * libc/sys/linux/sys/errno.h: Define EOPNOTSUP to be ENOTSUP. * libc/sys/linux/sys/stdio.h: Define _flockfile and _funlockfile to be flockfile() and funlockfile() respectively. * libc/sys/linux/sys/types.h * libc/reent/getreent.c: New file. * libc/sys/linux/flockfile.c: Ditto. * libc/sys/linux/funlockfile.c: Ditto. * libc/sys/linux/getreent.c: Ditto. * libc/sys/linux/pread.c: Ditto. * libc/sys/linux/pwrite.c: Ditto. * libc/sys/linux/raise.c: Ditto. * libc/sys/linux/system.c: Ditto. * libc/sys/linux/tcdrain.c: Ditto. * libc/sys/linux/machine/i386/i386mach.h: Ditto. * libc/sys/linux/machine/i386/setjmp.S: Ditto. * libc/sys/linux/machine/i386/syscalls.c: Ditto. * libc/sys/linux/machine/i386/weakalias.h: Ditto. * libc/sys/linux/machine/i386/include/setjmp.h: Ditto.
2002-05-18 07:39:39 +08:00
#ifdef __linux__
/* we want the reentrancy structure to be returned by a function */
#define __DYNAMIC_REENT__
#define HAVE_GETDATE
#define _HAVE_SYSTYPES
#define _READ_WRITE_RETURN_TYPE _ssize_t
2002-07-17 Jeff Johnston <jjohnstn@redhat.com> * configure.host(stdio64_dir): New setting that is used to enable building of new stdio64 directory. * libc/Makefile.am[HAVE_STDIO64_DIR]: Add support for large files. (stmp-stdio64,stdio64.texi): New targets to optionally add in stdio64 info to info files. * libc/Makefile.in: Regenerated. * libc/configure: Ditto. * libc/configure.in: Add configuration variables that are set when stdio64 is selected as subdir in configure.host. * libc/libc.texinfo: Add optional menu item for Stdio64, based on whether STDIO64 flag is set or not. * libc/sys.tex: Add optional stdio64 syscalls based on whether STDIO64 flag is set or not. * libc/include/reent.h[__LARGE64_FILES]: Add new stdio64 _r sycall routines. * libc/include/stdio.h[__LARGE64_FILES]: Add new stdio64 prototypes. (FILE): Typedef'd to __FILE instead of struct __sFILE directly. (__SL64): New file flag indicating file is opened via fopen64. * libc/include/sys/_types.h(_off64_t): Added. * libc/include/sys/config.h: For x86-linux, define __LARGE64_FILES. * libc/include/sys/reent.h(struct __sFILE64): New file structure for 64-bit offset large file support. (__FILE): New intermediate type either set to struct __sFILE64 or struct __sFILE, depending on whether __LARGE64_FILES is set or not. * libc/reent/Makefile.am[HAVE_STDIO64_DIR]: Add new files. * libc/reent/Makefile.in: Regenerated. * libc/reent/fstat64r.c: New file. * libc/reent/lseek64r.c: Ditto. * libc/reent/open64r.c: Ditto. * libc/reent/reent.tex: Optionally add stdio64 reentrant syscalls based on whether STDIO64 flag is set. * libc/stdio/stdio.tex: Add blank line. * libc/stdio64/Makefile.am: New file. * libc/stdio64/Makefile.in: Ditto. * libc/stdio64/fgetpos64.c: Ditto. * libc/stdio64/fopen64.: Ditto. * libc/stdio64/freopen64.c: Ditto. * libc/stdio64/fseeko64.c: Ditto. * libc/stdio64/fsetpos64.c: Ditto. * libc/stdio64/ftello64.c: Ditto. * libc/stdio64/local64.h: Ditto. * libc/stdio64/stdio64.c: Ditto. * libc/stdio64/stdio64.tex: Ditto. * libc/stdio64/tmpfile64.c: Ditto. * libc/sys/linux/io64.c: Add weak aliases for lseek64, fstat64, and open64.
2002-07-18 07:25:44 +08:00
#define __LARGE64_FILES 1
/* we use some glibc header files so turn on glibc large file feature */
#define _LARGEFILE64_SOURCE 1
2002-05-17 Jeff Johnston <jjohnstn@redhat.com> * Makefile.am: Copy and install headers from sys/machine/include directory. Also pass $toollibdir to lower-level directories. * Makefile.in: Regenerated. * libc/include/stdio.h[!_REENT_ONLY]: Change stdin, stdout, and stderr to use _REENT macro instead of _impure_ptr directly. * libc/include/sys/config.h[__i386__][__linux__]: Define __DYNAMIC_REENT__. * libc/include/sys/reent.h[!_REENT_ONLY]: Change _REENT macro to be call to __getreent() function if !__SINGLE_THREAD__ and __DYNAMIC_REENT__ is set. * libc/reent/Makefile.am: Add support for getreent.c. * libc/reent/Makefile.in: Regenerated. * libc/string/strerror.c: Add check if EOPNOTSUPP and ENOTSUP are same. * libc/sys/linux/Makefile.am: Add support for new files. * libc/sys/linux/configure.in: Add $EXTRA_DIRS variable. * libc/sys/linux/Makefile.in: Regenerated. * libc/sys/linux/configure: Ditto. * libc/sys/linux/io.c: Add poll syscall. Also weak-alias __close, __read, __write, __poll, __open, __lseek, __fcntl from their __libc_ counterparts. * libc/sys/linux/io64.c: Add __libc_ prefix to lseek64 and open64 and weak-alias to regular names. * libc/sys/linux/pread64.c: Rename to __libc_pread64 and weak-alias to pread64 and __pread64. * libc/sys/linux/process.c: Weak_alias __libc_getpid to __getpid. * libc/sys/linux/pwrite64.c: Rename to __libc_pwrite64 and weak-alias to pwrite64. * libc/sys/linux/sched.c: Weak-alias __libc_sched_getparam, __libc_sched_getscheduler, __libc_sched_get_priority_max, __libc_sched_get_priority_min, and __libc_sched_setschedule to name with __ instead of __libc_. * libc/sys/linux/siglongjmp.c: Include <machine/weakalias.h>. Rename siglongjmp to __libc_siglongjmp and weak-alias to siglongjmp. Call __libc_longjmp instead of longjmp, from __libc_siglongjmp. * libc/sys/linux/signal.c: Rename raise to __libc_raise and weak-alias to raise. * libc/sys/linux/socket.c: Weak-alias __libc_connect to __connect and __libc_send to __send. * libc/sys/linux/time.c: Weak-alias __libc_gettimeofday to __gettimeofday. * libc/sys/linux/wait.c: Rename wait to __libc_wait and weak-alias it to wait. Rename wait3 to __libc_wait3 and weak-alias it to wait3. * libc/sys/linux/include/setjmp.h: Use __jmp_buf in sigjmp_buf type and typedef __jmp_buf to jmp_buf. * libc/sys/linux/machine/i386/Makefile.am: Add syscalls.c and setjmp.S. * libc/sys/linux/machine/i386/Makefile.in: Regenerated. * libc/sys/linux/machine/i386/crt0.c: Add support to clear .bss section. * libc/sys/linux/machine/i386/socketcall.h: Change to use __libc_ prefix for function macros and then use weak_alias() to regular names. * libc/sys/linux/machine/i386/syscall.h: Ditto. * libc/sys/linux/sys/errno.h: Define EOPNOTSUP to be ENOTSUP. * libc/sys/linux/sys/stdio.h: Define _flockfile and _funlockfile to be flockfile() and funlockfile() respectively. * libc/sys/linux/sys/types.h * libc/reent/getreent.c: New file. * libc/sys/linux/flockfile.c: Ditto. * libc/sys/linux/funlockfile.c: Ditto. * libc/sys/linux/getreent.c: Ditto. * libc/sys/linux/pread.c: Ditto. * libc/sys/linux/pwrite.c: Ditto. * libc/sys/linux/raise.c: Ditto. * libc/sys/linux/system.c: Ditto. * libc/sys/linux/tcdrain.c: Ditto. * libc/sys/linux/machine/i386/i386mach.h: Ditto. * libc/sys/linux/machine/i386/setjmp.S: Ditto. * libc/sys/linux/machine/i386/syscalls.c: Ditto. * libc/sys/linux/machine/i386/weakalias.h: Ditto. * libc/sys/linux/machine/i386/include/setjmp.h: Ditto.
2002-05-18 07:39:39 +08:00
#endif
2000-02-18 03:39:52 +08:00
#endif
#ifdef __mn10200__
#define __SMALL_BITFIELDS
#endif
#ifdef __AVR__
#define __SMALL_BITFIELDS
#define _POINTER_INT short
#endif
2000-02-18 03:39:52 +08:00
#ifdef __v850
#define __ATTRIBUTE_IMPURE_PTR__ __attribute__((__sda__))
#endif
/* For the PowerPC eabi, force the _impure_ptr to be in .sdata */
#if defined(__PPC__)
#if defined(_CALL_SYSV)
2000-02-18 03:39:52 +08:00
#define __ATTRIBUTE_IMPURE_PTR__ __attribute__((__section__(".sdata")))
#endif
#ifdef __SPE__
#define _LONG_DOUBLE double
#endif
2000-02-18 03:39:52 +08:00
#endif
In newlib/: 2001-12-22 Geoffrey Keating <geoffk@redhat.com> Catherine Moore <clm@redhat.com> Richard Henderson <rth@redhat.com> Corinna Vinschen <vinschen@redhat.com> * configure.host: Add support for xstormy16. * libc/include/machine/ieeefp.h: Add support for xstormy16. * libc/include/machine/setjmp.h: Add support for xstormy16. * libc/include/sys/config.h: Add support for xstormy16. * libc/machine/xstormy16/Makefile.am: New file. * libc/machine/xstormy16/Makefile.in: New file. * libc/machine/xstormy16/aclocal.m4: New file. * libc/machine/xstormy16/configure: New file. * libc/machine/xstormy16/configure.in: New file. * libc/machine/xstormy16/setjmp.S: New file. In libgloss/: 2001-12-22 Geoffrey Keating <geoffk@redhat.com> Mark Salter <msalter@redhat.com> Catherine Moore <clm@redhat.com> Richard Henderson <rth@redhat.com> * configure.in: Add xstormy16. * libnosys/configure.in: Add xstormy16. * configure: Regenerated. * libnosys/configure: Regenerated. * xstormy16/Makefile.in: New file. * xstormy16/close.c: New file. * xstormy16/configure: New file. * xstormy16/configure.in: New file. * xstormy16/crt0.s: New file. * xstormy16/crt0_stub.s: New file. * xstormy16/crti.s: New file. * xstormy16/crtn.s: New file. * xstormy16/eva_app.c: New file. * xstormy16/eva_app.ld: New file. * xstormy16/eva_stub.ld: New file. * xstormy16/fstat.c: New file. * xstormy16/getpid.c: New file. * xstormy16/kill.c: New file. * xstormy16/lseek.c: New file. * xstormy16/open.c: New file. * xstormy16/sbrk.c: New file. * xstormy16/sim_high.ld: New file. * xstormy16/stat.c: New file. * xstormy16/syscalls.S: New file. * xstormy16/syscalls.m4: New file. * xstormy16/unlink.c: New file. * xstormy16/xstormy16_stub.c: New file.
2001-12-23 06:47:58 +08:00
#ifdef __xstormy16__
#define __SMALL_BITFIELDS
#undef INT_MAX
#undef UINT_MAX
#define INT_MAX __INT_MAX__
#define UINT_MAX (__INT_MAX__ * 2U + 1)
#define MALLOC_ALIGNMENT 8
#define _POINTER_INT short
#define __BUFSIZ__ 16
#define _REENT_SMALL
In newlib/: 2001-12-22 Geoffrey Keating <geoffk@redhat.com> Catherine Moore <clm@redhat.com> Richard Henderson <rth@redhat.com> Corinna Vinschen <vinschen@redhat.com> * configure.host: Add support for xstormy16. * libc/include/machine/ieeefp.h: Add support for xstormy16. * libc/include/machine/setjmp.h: Add support for xstormy16. * libc/include/sys/config.h: Add support for xstormy16. * libc/machine/xstormy16/Makefile.am: New file. * libc/machine/xstormy16/Makefile.in: New file. * libc/machine/xstormy16/aclocal.m4: New file. * libc/machine/xstormy16/configure: New file. * libc/machine/xstormy16/configure.in: New file. * libc/machine/xstormy16/setjmp.S: New file. In libgloss/: 2001-12-22 Geoffrey Keating <geoffk@redhat.com> Mark Salter <msalter@redhat.com> Catherine Moore <clm@redhat.com> Richard Henderson <rth@redhat.com> * configure.in: Add xstormy16. * libnosys/configure.in: Add xstormy16. * configure: Regenerated. * libnosys/configure: Regenerated. * xstormy16/Makefile.in: New file. * xstormy16/close.c: New file. * xstormy16/configure: New file. * xstormy16/configure.in: New file. * xstormy16/crt0.s: New file. * xstormy16/crt0_stub.s: New file. * xstormy16/crti.s: New file. * xstormy16/crtn.s: New file. * xstormy16/eva_app.c: New file. * xstormy16/eva_app.ld: New file. * xstormy16/eva_stub.ld: New file. * xstormy16/fstat.c: New file. * xstormy16/getpid.c: New file. * xstormy16/kill.c: New file. * xstormy16/lseek.c: New file. * xstormy16/open.c: New file. * xstormy16/sbrk.c: New file. * xstormy16/sim_high.ld: New file. * xstormy16/stat.c: New file. * xstormy16/syscalls.S: New file. * xstormy16/syscalls.m4: New file. * xstormy16/unlink.c: New file. * xstormy16/xstormy16_stub.c: New file.
2001-12-23 06:47:58 +08:00
#endif
/* This block should be kept in sync with GCC's limits.h. The point
of having these definitions here is to not include limits.h, which
would pollute the user namespace, while still using types of the
the correct widths when deciding how to define __int32_t and
__int64_t. */
#ifndef __INT_MAX__
# ifdef INT_MAX
# define __INT_MAX__ INT_MAX
# else
# define __INT_MAX__ 2147483647
# endif
#endif
#ifndef __LONG_MAX__
# ifdef LONG_MAX
# define __LONG_MAX__ LONG_MAX
# else
# if defined (__alpha__) || (defined (__sparc__) && defined(__arch64__)) \
|| defined (__sparcv9)
# define __LONG_MAX__ 9223372036854775807L
# else
# define __LONG_MAX__ 2147483647L
# endif /* __alpha__ || sparc64 */
# endif
#endif
/* End of block that should be kept in sync with GCC's limits.h. */
2000-02-18 03:39:52 +08:00
#ifndef _POINTER_INT
#define _POINTER_INT long
#endif
#ifdef __frv__
#define __ATTRIBUTE_IMPURE_PTR__ __attribute__((__section__(".sdata")))
#endif
#undef __RAND_MAX
#if __INT_MAX__ == 32767
#define __RAND_MAX 32767
#else
#define __RAND_MAX 0x7fffffff
#endif
2000-02-18 03:39:52 +08:00
#if defined(__CYGWIN__)
#include <cygwin/config.h>
#endif
#if defined(__rtems__)
#define __FILENAME_MAX__ 255
#define _READ_WRITE_RETURN_TYPE _ssize_t
#endif
#ifndef __IMPORT
#define __IMPORT
#endif
/* Define return type of read/write routines. In POSIX, the return type
for read()/write() is "ssize_t" but legacy newlib code has been using
"int" for some time. If not specified, "int" is defaulted. */
#ifndef _READ_WRITE_RETURN_TYPE
#define _READ_WRITE_RETURN_TYPE int
#endif
#ifndef __WCHAR_MAX__
#if __INT_MAX__ == 32767 || defined (_WIN32)
#define __WCHAR_MAX__ 0xffffu
#endif
#endif
2000-02-18 03:39:52 +08:00
#endif /* __SYS_CONFIG_H__ */