From 4959e310bfbf3fa34b5a4b4ff688d8d564c8363c Mon Sep 17 00:00:00 2001 From: Ulrich Drepper Date: Tue, 30 Jun 1998 12:09:42 +0000 Subject: Update. 1998-06-30 11:47 Ulrich Drepper * include/aio.h: New file. * posix/Makefile (distribute): Add bits/pthreadtypes.h. (tests): Build and run annexc program. * posix/annexc.c: New file. * posix/bits/posix1_lim.h: Add several more _POSIX_* limits. * rt/aio.h: Remove __need_timespec_t. We can include the whole time.h. * rt/aio_misc.c: Include limits.h. * rt/aio_notify.c: Include errno.h. * sysdeps/unix/sysv/linux/alpha/bits/types.h: Include pthreadtypes.h. Define size_t. * sysdeps/unix/sysv/linux/bits/types.h: Likewise. * sysdeps/unix/sysv/linux/mips/bits/types.h: Likewise. * sysdeps/unix/sysv/linux/sparc/sparc64/bits/types.h: Likewise. * sysdeps/unix/sysv/linux/bits/errno.h: Define ENOTSUP though the kernel doesn't do this. * sysdeps/unix/sysv/linux/bits/fcntl.h: Define O_LARGEFILE only if __USE_LARGEFILE64 is defined. * sysdeps/unix/sysv/linux/bits/pthreadtypes.h: New file. Empty. * sysdeps/unix/sysv/linux/bits/sched.h: Define __sched_param struct if requested. * sysdeps/unix/sysv/linux/bits/siginifo.h: Protect non-standard names. * stdlib/isomac.c: Avoid include_next warning. --- sysdeps/unix/sysv/linux/alpha/bits/types.h | 7 ++++++ sysdeps/unix/sysv/linux/bits/errno.h | 3 +++ sysdeps/unix/sysv/linux/bits/fcntl.h | 6 +++-- sysdeps/unix/sysv/linux/bits/pthreadtypes.h | 1 + sysdeps/unix/sysv/linux/bits/sched.h | 26 +++++++++++++++++----- sysdeps/unix/sysv/linux/bits/siginfo.h | 12 +++++----- sysdeps/unix/sysv/linux/bits/types.h | 7 ++++++ sysdeps/unix/sysv/linux/mips/bits/types.h | 7 ++++++ sysdeps/unix/sysv/linux/sparc/sparc64/bits/types.h | 7 ++++++ 9 files changed, 62 insertions(+), 14 deletions(-) create mode 100644 sysdeps/unix/sysv/linux/bits/pthreadtypes.h (limited to 'sysdeps/unix/sysv') diff --git a/sysdeps/unix/sysv/linux/alpha/bits/types.h b/sysdeps/unix/sysv/linux/alpha/bits/types.h index 70b7d7294f..276236d4f5 100644 --- a/sysdeps/unix/sysv/linux/alpha/bits/types.h +++ b/sysdeps/unix/sysv/linux/alpha/bits/types.h @@ -25,6 +25,9 @@ #include +#define __need_size_t +#include + /* Convenience types. */ typedef unsigned char __u_char; typedef unsigned short int __u_short; @@ -107,4 +110,8 @@ typedef struct typedef int __t_scalar_t; typedef unsigned int __t_uscalar_t; + +/* Now add the thread types. */ +#include + #endif /* bits/types.h */ diff --git a/sysdeps/unix/sysv/linux/bits/errno.h b/sysdeps/unix/sysv/linux/bits/errno.h index 8f701c1b8d..5976c25f02 100644 --- a/sysdeps/unix/sysv/linux/bits/errno.h +++ b/sysdeps/unix/sysv/linux/bits/errno.h @@ -24,6 +24,9 @@ # undef ERANGE # include +/* Linux has no ENOTSUP error code. */ +# define ENOTSUP EOPNOTSUPP + # ifndef __ASSEMBLER__ /* We now need a declaration of the `errno' variable. */ extern int errno; diff --git a/sysdeps/unix/sysv/linux/bits/fcntl.h b/sysdeps/unix/sysv/linux/bits/fcntl.h index 302fa00498..4222631129 100644 --- a/sysdeps/unix/sysv/linux/bits/fcntl.h +++ b/sysdeps/unix/sysv/linux/bits/fcntl.h @@ -1,5 +1,5 @@ /* O_*, F_*, FD_* bit values for Linux. - Copyright (C) 1995, 1996, 1997 Free Software Foundation, Inc. + Copyright (C) 1995, 1996, 1997, 1998 Free Software Foundation, Inc. This file is part of the GNU C Library. The GNU C Library is free software; you can redistribute it and/or @@ -48,7 +48,9 @@ #define O_ASYNC 020000 /* XXX missing */ -#define O_LARGEFILE 0 +#ifdef __USE_LARGEFILE64 +# define O_LARGEFILE 0 +#endif /* Values for the second argument to `fcntl'. */ #define F_DUPFD 0 /* Duplicate file descriptor. */ diff --git a/sysdeps/unix/sysv/linux/bits/pthreadtypes.h b/sysdeps/unix/sysv/linux/bits/pthreadtypes.h new file mode 100644 index 0000000000..0e26952c96 --- /dev/null +++ b/sysdeps/unix/sysv/linux/bits/pthreadtypes.h @@ -0,0 +1 @@ +/* No thread support. */ diff --git a/sysdeps/unix/sysv/linux/bits/sched.h b/sysdeps/unix/sysv/linux/bits/sched.h index 187039b2dc..c7f6d8d902 100644 --- a/sysdeps/unix/sysv/linux/bits/sched.h +++ b/sysdeps/unix/sysv/linux/bits/sched.h @@ -18,6 +18,8 @@ write to the Free Software Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. */ +#ifndef __need_schedparam + #ifndef _SCHED_H # error "Never include directly; use instead." #endif @@ -28,12 +30,6 @@ #define SCHED_FIFO 1 #define SCHED_RR 2 -/* Data structure to describe a process' schedulability. */ -struct sched_param - { - int sched_priority; - }; - #ifdef __USE_MISC /* Cloning flags. */ # define CSIGNAL 0x000000ff /* Signal mask to be sent at exit. */ @@ -45,6 +41,11 @@ struct sched_param # define CLONE_PTRACE 0x00002000 /* Set if tracing continues on the child. */ #endif +/* The official definition. */ +struct sched_param + { + int sched_priority; + }; __BEGIN_DECLS @@ -56,4 +57,17 @@ extern int clone __P ((int (*__fn) (void *__arg), void *__child_stack, int __flags, void *__arg)); #endif +#endif /* need schedparam */ + +#if !defined __defined_schedparam \ + && (defined __need_schedparam || defined _SCHED_H) +# define __defined_schedparam 1 +/* Data structure to describe a process' schedulability. */ +struct __sched_param + { + int sched_priority; + }; +# undef __need_schedparam +#endif + __END_DECLS diff --git a/sysdeps/unix/sysv/linux/bits/siginfo.h b/sysdeps/unix/sysv/linux/bits/siginfo.h index 0a346181c9..1e423636c8 100644 --- a/sysdeps/unix/sysv/linux/bits/siginfo.h +++ b/sysdeps/unix/sysv/linux/bits/siginfo.h @@ -32,8 +32,8 @@ typedef union sigval void *sival_ptr; } sigval_t; -# define SI_MAX_SIZE 128 -# define SI_PAD_SIZE ((SI_MAX_SIZE / sizeof (int)) - 3) +# define __SI_MAX_SIZE 128 +# define __SI_PAD_SIZE ((__SI_MAX_SIZE / sizeof (int)) - 3) typedef struct siginfo { @@ -44,7 +44,7 @@ typedef struct siginfo union { - int _pad[SI_PAD_SIZE]; + int _pad[__SI_PAD_SIZE]; /* kill(). */ struct @@ -237,8 +237,8 @@ enum # define __have_sigevent_t 1 /* Structure to transport application-defined values with signals. */ -# define SIGEV_MAX_SIZE 64 -# define SIGEV_PAD_SIZE ((SIGEV_MAX_SIZE / sizeof (int)) - 3) +# define __SIGEV_MAX_SIZE 64 +# define __SIGEV_PAD_SIZE ((__SIGEV_MAX_SIZE / sizeof (int)) - 3) typedef struct sigevent { @@ -248,7 +248,7 @@ typedef struct sigevent union { - int _pad[SIGEV_PAD_SIZE]; + int _pad[__SIGEV_PAD_SIZE]; struct { diff --git a/sysdeps/unix/sysv/linux/bits/types.h b/sysdeps/unix/sysv/linux/bits/types.h index 16111beed0..916910908f 100644 --- a/sysdeps/unix/sysv/linux/bits/types.h +++ b/sysdeps/unix/sysv/linux/bits/types.h @@ -25,6 +25,9 @@ #include +#define __need_size_t +#include + /* Convenience types. */ typedef unsigned char __u_char; typedef unsigned short __u_short; @@ -131,4 +134,8 @@ typedef __loff_t __off64_t; typedef int __t_scalar_t; typedef unsigned int __t_uscalar_t; + +/* Now add the thread types. */ +#include + #endif /* bits/types.h */ diff --git a/sysdeps/unix/sysv/linux/mips/bits/types.h b/sysdeps/unix/sysv/linux/mips/bits/types.h index 1d72de0321..313e96b480 100644 --- a/sysdeps/unix/sysv/linux/mips/bits/types.h +++ b/sysdeps/unix/sysv/linux/mips/bits/types.h @@ -25,6 +25,9 @@ #include +#define __need_size_t +#include + /* Convenience types. */ typedef unsigned char __u_char; typedef unsigned short __u_short; @@ -131,4 +134,8 @@ typedef __loff_t __off64_t; typedef int __t_scalar_t; typedef unsigned int __t_uscalar_t; + +/* Now add the thread types. */ +#include + #endif /* bits/types.h */ diff --git a/sysdeps/unix/sysv/linux/sparc/sparc64/bits/types.h b/sysdeps/unix/sysv/linux/sparc/sparc64/bits/types.h index 5c77f9a84d..774e7dbd30 100644 --- a/sysdeps/unix/sysv/linux/sparc/sparc64/bits/types.h +++ b/sysdeps/unix/sysv/linux/sparc/sparc64/bits/types.h @@ -25,6 +25,9 @@ #include +#define __need_size_t +#include + /* Convenience types. */ typedef unsigned char __u_char; typedef unsigned short int __u_short; @@ -117,4 +120,8 @@ typedef __u_quad_t __fsfilcnt64_t; typedef int __t_scalar_t; typedef unsigned int __t_uscalar_t; + +/* Now add the thread types. */ +#include + #endif /* bits/types.h */ -- cgit v1.2.3