aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--ChangeLog73
-rw-r--r--Rules16
-rw-r--r--bits/ipc.h5
-rw-r--r--bits/types.h3
-rw-r--r--debug/Versions4
-rw-r--r--include/bits/xopen_lim.h32
-rw-r--r--include/features.h7
-rw-r--r--io/sys/stat.h17
-rw-r--r--libio/stdio.h8
-rw-r--r--math/bits/mathcalls.h4
-rw-r--r--misc/search.h3
-rw-r--r--posix/sys/types.h14
-rw-r--r--stdio-common/stdio_lim.h.in6
-rw-r--r--stdlib/getsubopt.c4
-rw-r--r--stdlib/monetary.h12
-rw-r--r--stdlib/stdlib.h4
-rw-r--r--sysdeps/generic/bits/ipc.h5
-rw-r--r--sysdeps/generic/bits/types.h3
-rw-r--r--sysdeps/generic/msgsnd.c6
-rw-r--r--sysdeps/generic/putenv.c2
-rw-r--r--sysdeps/generic/semop.c6
-rw-r--r--sysdeps/generic/shmget.c6
-rw-r--r--sysdeps/gnu/bits/ipc.h4
-rw-r--r--sysdeps/mach/hurd/bits/stat.h6
-rw-r--r--sysdeps/unix/bsd/bits/stat.h4
-rw-r--r--sysdeps/unix/bsd/osf/alpha/bits/stat.h4
-rw-r--r--sysdeps/unix/bsd/usleep.c4
-rw-r--r--sysdeps/unix/sysv/linux/alpha/bits/ipc.h4
-rw-r--r--sysdeps/unix/sysv/linux/alpha/bits/stat.h6
-rw-r--r--sysdeps/unix/sysv/linux/alpha/bits/types.h5
-rw-r--r--sysdeps/unix/sysv/linux/bits/stat.h6
-rw-r--r--sysdeps/unix/sysv/linux/bits/types.h3
-rw-r--r--sysdeps/unix/sysv/linux/mips/bits/ipc.h4
-rw-r--r--sysdeps/unix/sysv/linux/mips/bits/stat.h6
-rw-r--r--sysdeps/unix/sysv/linux/mips/bits/types.h3
-rw-r--r--sysdeps/unix/sysv/linux/msgsnd.c6
-rw-r--r--sysdeps/unix/sysv/linux/powerpc/bits/ipc.h4
-rw-r--r--sysdeps/unix/sysv/linux/semop.c6
-rw-r--r--sysdeps/unix/sysv/linux/shmget.c6
-rw-r--r--sysdeps/unix/sysv/linux/sparc/bits/types.h3
-rw-r--r--sysdeps/unix/sysv/sysv4/i386/bits/stat.h4
-rw-r--r--sysdeps/unix/sysv/sysv4/solaris2/bits/stat.h6
-rw-r--r--sysdeps/unix/sysv/sysv4/solaris2/bits/types.h3
-rw-r--r--sysvipc/sys/ipc.h26
-rw-r--r--sysvipc/sys/msg.h4
-rw-r--r--sysvipc/sys/sem.h7
-rw-r--r--sysvipc/sys/shm.h10
47 files changed, 281 insertions, 103 deletions
diff --git a/ChangeLog b/ChangeLog
index ef9056e569..461e3bb822 100644
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,3 +1,76 @@
+1999-08-18 Ulrich Drepper <drepper@cygnus.com>
+
+ * Rules: When generating stdio_lim.h also rewrite IOV_MAX definition.
+ * stdio-common/stdio_lim.h.in: Add IOV_MAX template.
+ * include/bits/xopen_lim.h: Don't define IOV_MAX here, get it from
+ stdio_lim.h. Define LONG_BIT and WORD_BIT.
+
+ * include/features.h: Define __USE_XOPEN2K if _XOPEN_SOURCE == 600.
+
+ * libio/stdio.h: Don't declare cuserid and getopt for X/Open issue 6.
+
+ * misc/search.h: Don't define NULL.
+
+ * posix/sys/types.h: Define blksize_t if it hasn't happened.
+ Only define key_t and blkcnt_t if it hasn't happened before.
+ Define blksize_t if not happened before.
+ * io/sys/stat.h: Don't define pid_t. Define blkcnt_t and blksize_t.
+ * sysdeps/generic/bits/types.h: Define __blksize_t.
+ * sysdeps/unix/sysv/linux/alpha/bits/types.h: Likewise.
+ * sysdeps/unix/sysv/linux/bits/types.h: Likewise.
+ * sysdeps/unix/sysv/linux/mips/bits/types.h: Likewise.
+ * sysdeps/unix/sysv/linux/sparc/bits/types.h: Likewise.
+ * sysdeps/unix/sysv/sysv4/solaris2/bits/types.h: Likewise.
+ * sysdeps/mach/hurd/bits/stat.h (struct stat): Use __blksize_t for
+ st_blksize member.
+ (struct stat64): Likewise.
+ * sysdeps/unix/bsd/bits/stat.h: Likewise.
+ * sysdeps/unix/bsd/osf/alpha/bits/stat.h: Likewise.
+ * sysdeps/unix/sysv/linux/alpha/bits/stat.h: Likewise.
+ * sysdeps/unix/sysv/linux/bits/stat.h: Likewise.
+ * sysdeps/unix/sysv/linux/mips/bits/stat.h: Likewise.
+ * sysdeps/unix/sysv/sysv4/i386/bist/stat.h: Likewise.
+ * sysdeps/unix/sysv/sysv4/solaris2/bits/stat.h: Likewise.
+
+ * stdlib/getsubopt.c: Correct type of second argument.
+ * stdlib/stdlib.h: Likewise.
+
+ * stdlib/monetary.h: Don't include sys/types.h. Define only size_t
+ and ssize_t.
+
+ * sysdeps/generic/putenv.c: Correct type of parameter.
+ * stdlib/stdlib.h: Likewise.
+
+ * sysdeps/generic/msgsnd.c: Correct type of second parameter.
+ * sysdeps/unix/sysv/linux/msgsnd.c: Likewise.
+ * sysvips/sys/msg.h: Likewise.
+
+ * sysdeps/generic/semop.c: Correct type of third parameter.
+ * sysdeps/unix/sysv/linux/semop.c: Likewise.
+ * sysvipc/sys/sem.h: Likewise. Don't include sys/types.h, define
+ size_t.
+
+ * sysdeps/generic/shmget.c: Correct type of second parameter.
+ * sysdeps/unix/sysv/linux/shmget.c: Likewise.
+ * sysvips/sys/shm.h: Likewise. Don't include unistd.h and sys/types.h.
+ Declare __getpagesize here.
+
+ * sysdeps/generic/bits/ipc.h: Include bits/types.h instead of
+ sys/types.h.
+ * sysdeps/gnu/bits/ipc.h: Likewise.
+ * sysdeps/unix/sysv/linux/alpha/bits/ipc.h: Likewise.
+ * sysdeps/unix/sysv/linux/mips/bits/ipc.h: Likewise.
+ * sysdeps/unix/sysv/linux/powerpc/bits/ipc.h: Likewise.
+ * sysvipc/sys/ipc.h: Define uid_t, gid_t, mode_t, and key_t if not
+ already done.
+
+ * sysdeps/unix/bsd/usleep.c: Correct type of parameter.
+
+ * debug/versions: Export __cyg_profile_func_enter and
+ __cyg_profile_func_exit.
+
+ * math/bits/mathcalls.h: Pretty print.
+
1999-08-17 Ulrich Drepper <drepper@cygnus.com>
* timezone/tst-timezone.c (tests): Update America/Sao_Paulo test
diff --git a/Rules b/Rules
index a5a0c5bf8f..2a54a39529 100644
--- a/Rules
+++ b/Rules
@@ -191,26 +191,32 @@ $(stdio_lim:h=st): $(..)stdio-common/stdio_lim.h.in $(..)Rules \
echo '#include "$(..)posix/bits/posix1_lim.h"' | \
SUNPRO_DEPENDENCIES='$(@:st=dT) $@' \
$(CC) $(+includes) -E -dM -xc - -o $(@:st=hT)
+ echo '#include "$(..)misc/sys/uio.h"' | \
+ SUNPRO_DEPENDENCIES='$(@:st=dT) $@' \
+ $(CC) $(+includes) -E -dM -xc - | cat - >> $(@:st=hT)
ifdef sed-remove-objpfx
sed $(sed-remove-objpfx) $(@:st=dT) > $(@:st=dt)
- mv -f $(@:st=dt) $(@:st=d)
+ cat $(@:st=dt) >> $(@:st=d)
else
- mv -f $(@:st=dT) $(@:st=d)
+ cat $(@:st=dT) >> $(@:st=d)
endif
- fopen_max=`sed -n 's/^#define OPEN_MAX //p' $(@:st=hT)`; \
- filename_max=`sed -n 's/^#define PATH_MAX //p' $(@:st=hT)`; \
+ fopen_max=`sed -n 's/^#define OPEN_MAX //1p' $(@:st=hT)`; \
+ filename_max=`sed -n 's/^#define PATH_MAX //1p' $(@:st=hT)`; \
+ iov_max=`sed -n 's/^#define UIO_MAXIOV //p' $(@:st=hT)`; \
fopen_max=$${fopen_max:-16}; \
filename_max=$${filename_max:-1024}; \
+ iov_max=$${iov_max:-_XOPEN_IOV_MAX}; \
sed -e "s/@FOPEN_MAX@/$$fopen_max/" \
-e "s/@FILENAME_MAX@/$$filename_max/" \
-e "s/@L_tmpnam@/$(L_tmpnam)/" \
-e "s/@TMP_MAX@/$(TMP_MAX)/" \
-e "s/@L_ctermid@/$(L_ctermid)/" \
-e "s/@L_cuserid@/$(L_cuserid)/" \
+ -e "s/@IOV_MAX@/$$iov_max/" \
$< > $(@:st=h.new)
$(move-if-change) $(@:st=h.new) $(@:st=h)
# Remove these last so that they can be examined if something went wrong.
- rm -f $(@:st=hT) $(@:st=dT)
+ rm -f $(@:st=hT) $(@:st=dT) $(@:st=dt)
touch $@
# Get dependencies.
ifndef no_deps
diff --git a/bits/ipc.h b/bits/ipc.h
index 58f419be1d..7e38fdf5ea 100644
--- a/bits/ipc.h
+++ b/bits/ipc.h
@@ -1,6 +1,5 @@
-/* Copyright (C) 1995, 1996, 1997 Free Software Foundation, Inc.
+/* Copyright (C) 1995, 1996, 1997, 1999 Free Software Foundation, Inc.
This file is part of the GNU C Library.
- Contributed by Ulrich Drepper <drepper@gnu.ai.mit.edu>, August 1995.
The GNU C Library is free software; you can redistribute it and/or
modify it under the terms of the GNU Library General Public License as
@@ -21,7 +20,7 @@
# error "Never use <bits/ipc.h> directly; include <sys/ipc.h> instead."
#endif
-#include <sys/types.h>
+#include <bits/types.h>
/* Mode bits for `msgget', `semget', and `shmget'. */
#define IPC_CREAT 01000 /* create key if key does not exist */
diff --git a/bits/types.h b/bits/types.h
index 8d2061235d..fd9818e15d 100644
--- a/bits/types.h
+++ b/bits/types.h
@@ -115,6 +115,9 @@ typedef struct
typedef unsigned short int __ipc_pid_t;
+/* Type to represent block size. */
+typedef unsigned int __blksize_t;
+
/* Types from the Large File Support interface. */
/* Type to count number os disk blocks. */
diff --git a/debug/Versions b/debug/Versions
index 01d390eb9f..c2b6396d82 100644
--- a/debug/Versions
+++ b/debug/Versions
@@ -6,4 +6,8 @@ libc {
# b*
backtrace; backtrace_symbols; backtrace_symbols_fd;
}
+ GLIBC_2.2 {
+ # These are to support some gcc features.
+ __cyg_profile_func_enter; __cyg_profile_func_exit;
+ }
}
diff --git a/include/bits/xopen_lim.h b/include/bits/xopen_lim.h
index 9f22e44e25..607c50b678 100644
--- a/include/bits/xopen_lim.h
+++ b/include/bits/xopen_lim.h
@@ -1,4 +1,4 @@
-/* Copyright (C) 1996, 1997 Free Software Foundation, Inc.
+/* Copyright (C) 1996, 1997, 1999 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
@@ -31,6 +31,7 @@
#define _XOPEN_LIM_H 1
#define __need_FOPEN_MAX
+#define __need_IOV_MAX
#include <bits/stdio_lim.h>
/* We do not provide fixed values for
@@ -44,6 +45,9 @@
CHILD_MAX Maximum number of simultaneous processes per real
user ID.
+ IOV_MAX Maximum number of `iovec' structures that one process has
+ available for use with `readv' or writev'.
+
OPEN_MAX Maximum number of files that one process can have open
at anyone time.
@@ -53,11 +57,6 @@
PASS_MAX Maximum number of significant bytes in a password.
*/
-
-/* Maximum number of `iovec' structures that one process has available
- for use with `readv' or writev'. */
-#define IOV_MAX _XOPEN_IOV_MAX
-
/* The number of streams that one process can have open at one time. */
#define STREAM_MAX FOPEN_MAX
@@ -93,4 +92,25 @@
/* Default process priority. */
#define NZERO 20
+
+/* Number of bits in a word of type `int'. */
+#if INT_MAX == 32767
+# define WORD_BIT 16
+#else
+# if INT_MAX == 2147483647
+# define WORD_BIT 32
+# else
+/* Safe assumption. */
+# define WORD_BIT 64
+# endif
+#endif
+
+/* Number of bits in a word of type `long int'. */
+#if INT_MAX == 2147483647
+# define LONG_BIT 32
+#else
+/* Safe assumption. */
+# define LONG_BIT 64
+#endif
+
#endif /* bits/xopen_lim.h */
diff --git a/include/features.h b/include/features.h
index f04184ac12..1189e3ea79 100644
--- a/include/features.h
+++ b/include/features.h
@@ -125,7 +125,7 @@
# undef _POSIX_C_SOURCE
# define _POSIX_C_SOURCE 199506L
# undef _XOPEN_SOURCE
-# define _XOPEN_SOURCE 500
+# define _XOPEN_SOURCE 600
# undef _XOPEN_SOURCE_EXTENDED
# define _XOPEN_SOURCE_EXTENDED 1
# undef _LARGEFILE64_SOURCE
@@ -182,11 +182,14 @@
#ifdef _XOPEN_SOURCE
# define __USE_XOPEN 1
-# if (_XOPEN_SOURCE - 0) == 500
+# if (_XOPEN_SOURCE - 0) >= 500
# define __USE_XOPEN_EXTENDED 1
# define __USE_UNIX98 1
# undef _LARGEFILE_SOURCE
# define _LARGEFILE_SOURCE 1
+# if (_XOPEN_SOURCE - 0) == 600
+# define __USE_XOPEN2K 1
+# endif
# else
# ifdef _XOPEN_SOURCE_EXTENDED
# define __USE_XOPEN_EXTENDED 1
diff --git a/io/sys/stat.h b/io/sys/stat.h
index 058c91e51b..97f789715d 100644
--- a/io/sys/stat.h
+++ b/io/sys/stat.h
@@ -1,4 +1,4 @@
-/* Copyright (C) 1991, 92, 95, 96, 97, 98 Free Software Foundation, Inc.
+/* Copyright (C) 1991, 92, 95, 96, 97, 98, 99 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
@@ -78,9 +78,18 @@ typedef __uid_t uid_t;
#endif /* X/Open */
#ifdef __USE_UNIX98
-# ifndef __pid_t_defined
-typedef __pid_t pid_t;
-# define __pid_t_defined
+# ifndef __blkcnt_t_defined
+# ifndef __USE_FILE_OFFSET64
+typedef __blkcnt_t blkcnt_t;
+# else
+typedef __blkcnt64_t blkcnt_t;
+# endif
+# define __blkcnt_t_defined
+# endif
+
+# ifndef __blksize_t_defined
+typedef __blksize_t blksize_t;
+# define __blksize_t_defined
# endif
#endif /* Unix98 */
diff --git a/libio/stdio.h b/libio/stdio.h
index 3c726c8ce5..7b6490367a 100644
--- a/libio/stdio.h
+++ b/libio/stdio.h
@@ -588,10 +588,10 @@ extern char *ctermid __P ((char *__s));
#endif /* Use POSIX. */
-#ifdef __USE_XOPEN
+#if defined __USE_XOPEN && !defined __USE_XOPEN2K
/* Return the name of the current user. */
extern char *cuserid __P ((char *__s));
-#endif /* Use X/Open. */
+#endif /* Use X/Open, but not issue 6. */
#ifdef __USE_GNU
@@ -620,13 +620,13 @@ extern int ftrylockfile __P ((FILE *__stream));
extern void funlockfile __P ((FILE *__stream));
#endif /* POSIX || misc */
-#if defined __USE_XOPEN && !defined __USE_GNU
+#if defined __USE_XOPEN && !defined __USE_XOPEN2K && !defined __USE_GNU
/* The X/Open standard requires some functions and variables to be
declared here which do not belong into this header. But we have to
follow. In GNU mode we don't do this nonsense. */
# define __need_getopt
# include <getopt.h>
-#endif
+#endif /* X/Open, but not issue 6 and not for GNU. */
/* If we are compiling with optimizing read this file. It contains
several optizing inline functions and macros. */
diff --git a/math/bits/mathcalls.h b/math/bits/mathcalls.h
index 025c4c78e4..7f41ef9711 100644
--- a/math/bits/mathcalls.h
+++ b/math/bits/mathcalls.h
@@ -259,10 +259,10 @@ __MATHCALLX (nexttoward,, (_Mdouble_ __x, long double __y), (__const__));
/* Return the remainder of integer divison X / Y with infinite precision.