1999-08-21  Mark Kettenis  <kettenis@gnu.org>

	* stdio-common/vfscanf.c [! USE_IN_LIBIO]: Add necessary
	definitions for MEMCPY, ISSPACE, ISDIGIT, ISXDIGIT, TOLOWER, L_,
	CHAR_T, UCHAR_T and WIN_T to make the code compile again when
	stdio is used instead of libio.
	* stdio-common/vfprintf.c [! USE_IN_LIBIO]: Add necessary
	definitions for CHAR_T, UCHAR_T, INT_T, L_, ISDIGIT, PAD and PUTC
	to make the code compile again when stdio is used instead of
	libio.
	(vfprintf): Only check for correct orientation if ORIENT is
	defined.
	* stdio-common/Makefile (routines): Only add vfwprintf and
	vfwscanf if we're using libio.

1999-08-21  Mark Kettenis  <kettenis@gnu.org>

	* include/stdio.h [! USE_IN_LIBIO && __need_FILE]: Avoid defining
	any additional prototype just as we do for libio.

1999-08-21  Mark Kettenis  <kettenis@gnu.org>

	* include/bits/xopen_lim.h: Do not define STREAM_MAX and
	TZNAME_MAX.  These limits are not X/Open specific.
	* stdio-common/stdio_lim.h.in: Allow inclusion when __need_IOV_MAX
	is defined.

1999-08-21  Mark Kettenis  <kettenis@gnu.org>

	* Rules: When generated stdio_lim.h, avoid defining IOV_MAX if
	UIO_MAXIOV is left undefined in sys/uio.h.
	* stdio-common/stdio_lim.h.in: Adapt for change above.

1999-08-21  Andreas Jaeger  <aj@arthur.rhein-neckar.de>

	* sysdeps/unix/sysv/linux/mips/bits/sigaction.h (SA_RESETHAND): Add it.
	* sysdeps/mips/bits/dlfcn.h: Remove SGI specific calls, add RTLD_LOCAL.
	Patches by Ralf Baechle <ralf@uni-koblenz.de>
This commit is contained in:
Ulrich Drepper 1999-08-22 16:26:00 +00:00
parent fd292f70c0
commit ab58d6203b
10 changed files with 114 additions and 42 deletions

View File

@ -1,3 +1,42 @@
1999-08-21 Mark Kettenis <kettenis@gnu.org>
* stdio-common/vfscanf.c [! USE_IN_LIBIO]: Add necessary
definitions for MEMCPY, ISSPACE, ISDIGIT, ISXDIGIT, TOLOWER, L_,
CHAR_T, UCHAR_T and WIN_T to make the code compile again when
stdio is used instead of libio.
* stdio-common/vfprintf.c [! USE_IN_LIBIO]: Add necessary
definitions for CHAR_T, UCHAR_T, INT_T, L_, ISDIGIT, PAD and PUTC
to make the code compile again when stdio is used instead of
libio.
(vfprintf): Only check for correct orientation if ORIENT is
defined.
* stdio-common/Makefile (routines): Only add vfwprintf and
vfwscanf if we're using libio.
1999-08-21 Mark Kettenis <kettenis@gnu.org>
* include/stdio.h [! USE_IN_LIBIO && __need_FILE]: Avoid defining
any additional prototype just as we do for libio.
1999-08-21 Mark Kettenis <kettenis@gnu.org>
* include/bits/xopen_lim.h: Do not define STREAM_MAX and
TZNAME_MAX. These limits are not X/Open specific.
* stdio-common/stdio_lim.h.in: Allow inclusion when __need_IOV_MAX
is defined.
1999-08-21 Mark Kettenis <kettenis@gnu.org>
* Rules: When generated stdio_lim.h, avoid defining IOV_MAX if
UIO_MAXIOV is left undefined in sys/uio.h.
* stdio-common/stdio_lim.h.in: Adapt for change above.
1999-08-21 Andreas Jaeger <aj@arthur.rhein-neckar.de>
* sysdeps/unix/sysv/linux/mips/bits/sigaction.h (SA_RESETHAND): Add it.
* sysdeps/mips/bits/dlfcn.h: Remove SGI specific calls, add RTLD_LOCAL.
Patches by Ralf Baechle <ralf@uni-koblenz.de>
1999-08-21 Ulrich Drepper <drepper@cygnus.com>
* stdlib/fmtmsg.h: Don't define NULL to keep namespace clean.

8
Rules
View File

@ -205,14 +205,18 @@ endif
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}; \
if [ -z $$iov_max ]; then \
define_iov_max="# undef IOV_MAX"; \
else \
define_iov_max="# define IOV_MAX $$iov_max"; \
fi; \
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/" \
-e "s/@define_IOV_MAX@/$$define_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.

View File

@ -45,9 +45,6 @@
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.
@ -55,14 +52,15 @@
PAGE_SIZE Size of bytes of a page.
PASS_MAX Maximum number of significant bytes in a password.
We only provide a fixed limit for
IOV_MAX Maximum number of `iovec' structures that one process has
available for use with `readv' or writev'.
if this is indeed fixed by the underlying system.
*/
/* The number of streams that one process can have open at one time. */
#define STREAM_MAX FOPEN_MAX
/* Maximum number of bytes supported for the name of a time zone. */
#define TZNAME_MAX _POSIX_TZNAME_MAX
/* Maximum number of `iovec' structures that one process has available
for use with `readv' or writev'. */

View File

@ -1,9 +1,13 @@
#ifndef _STDIO_H
#ifdef USE_IN_LIBIO
#ifdef __need_FILE
# include <libio/stdio.h>
#else
# include <libio/stdio.h>
# ifdef __need_FILE
# ifdef USE_IN_LIBIO
# include <libio/stdio.h>
# else
# include <stdio/stdio.h>
# endif
# else
# ifdef USE_IN_LIBIO
# include <libio/stdio.h>
/* Now define the internal interfaces. */
extern int __fcloseall __P ((void));
@ -24,13 +28,12 @@ extern int __vsscanf __P ((__const char *__restrict __s,
_G_va_list __arg))
__attribute__ ((__format__ (__scanf__, 2, 0)));
#endif
#else
#include <stdio/stdio.h>
#endif
# else
# include <stdio/stdio.h>
# endif
# define __need_size_t
# include <stddef.h>
# define __need_size_t
# include <stddef.h>
/* Generate a unique file name (and possibly open it). */
extern int __path_search __P ((char *__tmpl, size_t __tmpl_len,
__const char *__dir, __const char *__pfx,
@ -38,14 +41,15 @@ extern int __path_search __P ((char *__tmpl, size_t __tmpl_len,
extern int __gen_tempname __P ((char *__tmpl, int __kind));
/* The __kind argument to __gen_tempname may be one of: */
#define __GT_FILE 0 /* create a file */
#define __GT_BIGFILE 1 /* create a file, using open64 */
#define __GT_DIR 2 /* create a directory */
#define __GT_NOCREATE 3 /* just find a name not currently in use */
# define __GT_FILE 0 /* create a file */
# define __GT_BIGFILE 1 /* create a file, using open64 */
# define __GT_DIR 2 /* create a directory */
# define __GT_NOCREATE 3 /* just find a name not currently in use */
/* Print out MESSAGE on the error output and abort. */
extern void __libc_fatal __P ((__const char *__message))
__attribute__ ((__noreturn__));
# endif
#endif

View File

@ -30,7 +30,6 @@ routines := \
printf_size fprintf printf snprintf sprintf asprintf dprintf \
vfscanf \
fscanf scanf sscanf \
vfwprintf vfwscanf \
perror psignal \
tmpfile tmpfile64 tmpnam tmpnam_r tempnam tempname \
getline getw putw \
@ -66,6 +65,7 @@ $(inst_includedir)/bits/stdio_lim.h: $(common-objpfx)bits/stdio_lim.h
$(do-install)
ifeq ($(stdio),libio)
routines += vfwprintf vfwscanf
ifneq (,$(filter %REENTRANT, $(defines)))
CPPFLAGS += -D_IO_MTSAFE_IO
endif

View File

@ -16,7 +16,7 @@
write to the Free Software Foundation, Inc., 59 Temple Place - Suite 330,
Boston, MA 02111-1307, USA. */
#if !defined _STDIO_H && !defined __need_FOPEN_MAX
#if !defined _STDIO_H && !defined __need_FOPEN_MAX && !defined __need_IOV_MAX
# error "Never include <bits/stdio_lim.h> directly; use <stdio.h> instead."
#endif
@ -37,5 +37,5 @@
#endif
#if defined __need_IOV_MAX && !defined IOV_MAX
# define IOV_MAX @IOV_MAX@
@define_IOV_MAX@
#endif

View File

@ -104,7 +104,6 @@
#else /* ! USE_IN_LIBIO */
/* This code is for use in the GNU C library. */
# include <stdio.h>
# define PUT(F, S, N) fwrite (S, 1, N, F)
# define ARGCHECK(S, Format) \
do \
{ \
@ -128,6 +127,25 @@
while (0)
# define UNBUFFERED_P(s) ((s)->__buffer == NULL)
# define CHAR_T char
# define UCHAR_T unsigned char
# define INT_T int
# define L_(Str) Str
# define ISDIGIT(Ch) isdigit (Ch)
# define PUT(F, S, N) fwrite (S, 1, N, F)
ssize_t __printf_pad __P ((FILE *, char pad, size_t n));
# define PAD(Padchar) \
if (width > 0) \
{ ssize_t __res = __printf_pad (s, (Padchar), width); \
if (__res == -1) \
{ \
done = -1; \
goto all_done; \
} \
done += __res; }
# define PUTC(C, F) putc (C, F)
/* XXX These declarations should go as soon as the stdio header files
have these prototypes. */
extern void __flockfile (FILE *);
@ -1155,15 +1173,17 @@ vfprintf (FILE *s, const CHAR_T *format, va_list ap)
/* Sanity check of arguments. */
ARGCHECK (s, format);
#ifdef ORIENT
/* Check for correct orientation. */
if (
#ifdef USE_IN_LIBIO
# ifdef USE_IN_LIBIO
s->_vtable_offset == 0 &&
#endif
# endif
_IO_fwide (s, sizeof (CHAR_T) == 1 ? -1 : 1)
!= (sizeof (CHAR_T) == 1 ? -1 : 1))
/* The stream is already oriented otherwise. */
return EOF;
#endif
if (UNBUFFERED_P (s))
/* Use a helper function which will allocate a local temporary buffer

View File

@ -169,6 +169,17 @@
# define ungetc(c, s) ((void) (c != EOF && --read_in), ungetc (c, s))
# define inchar() (c == EOF ? EOF \
: ((c = getc (s)), (void) (c != EOF && ++read_in), c))
# define MEMCPY(d, s, n) memcpy (d, s, n)
# define ISSPACE(Ch) isspace (Ch)
# define ISDIGIT(Ch) isdigit (Ch)
# define ISXDIGIT(Ch) isxdigit (Ch)
# define TOLOWER(Ch) tolower (Ch)
# define L_(Str) Str
# define CHAR_T char
# define UCHAR_T unsigned char
# define WINT_T int
# define encode_error() do { \
funlockfile (s); \
__set_errno (EILSEQ); \

View File

@ -31,12 +31,7 @@
visible as if the object were linked directly into the program. */
#define RTLD_GLOBAL 0x004
__BEGIN_DECLS
/* Some SGI specific calls that aren't implemented yet. */
extern void *sgidladd __P ((__const char *, int));
extern void *sgidlopen_version __P ((__const char *, int, __const char *,
int));
extern char *sgigetdsoversion __P ((__const char *));
__END_DECLS
/* Unix98 demands the following flag which is the inverse to RTLD_GLOBAL.
The implementation does this by default and so we can define the
value to zero. */
#define RTLD_LOCAL 0

View File

@ -1,5 +1,5 @@
/* The proper definitions for Linux/MIPS's sigaction.
Copyright (C) 1993, 1994, 1995, 1997, 1998 Free Software Foundation, Inc.
Copyright (C) 1993, 94, 95, 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
@ -60,6 +60,7 @@ struct sigaction
three arguments instead of one. */
#if defined __USE_UNIX98 || defined __USE_MISC
# define SA_ONSTACK 0x00000001 /* Use signal stack by using `sa_restorer'. */
# define SA_RESETHAND 0x00000002 /* Reset to SIG_DFL on entry to handler. */
# define SA_RESTART 0x00000004 /* Restart syscall on signal return. */
# define SA_NODEFER 0x00000010 /* Don't automatically block the signal when
its handler is being executed. */