update from main archive 960912

Fri Sep 13 04:33:08 1996  Ulrich Drepper  <drepper@cygnus.com>

	* sched.h: New file.  helper to access posix/sched.h.
	* posix/sched.h: Change `sched_params' to `sched_param' to follow
	POSIX.4.

Thu Sep 12 20:12:40 1996  Ulrich Drepper  <drepper@cygnus.com>

	* db/makedb.c (usage): Print bug report address separately to
	ease translators task.
	* catgets/gencat.c (usage): Likewise.
	* locale/locale.c (usage): Likewise.
	* locale/localedef.c (usage): Likewise.

1996-09-12  Paul Eggert  <eggert@twinsun.com>

	* time/strftime.c (my_localtime_r): Define if ! HAVE_LOCALTIME_R,
	and #define localtime_r to it.	If _LIBC, use __localtime_r instead.
	(my_gmtime_r): Similar, except it's not needed if ! HAVE_TM_GMTOFF.

Thu Sep 12 14:03:29 1996  Ulrich Drepper  <drepper@cygnus.com>

	* crypt/Makefile: Include Makeconfig and add crypt object dir to
 	rpath-link so that running the check finds the new library.
	* crypt/cert.c: provide correct prototypes to prevent warnings.
	Reported by Andreas Jaeger.

	* sysdeps/mach/hurd/Makefile (rpath-link): Don't use += because
	old and new value must be glued using `:'.
	Reported by Marcus Daniels.
This commit is contained in:
Ulrich Drepper 1996-09-13 03:21:39 +00:00
parent ae2ddc98c1
commit fafaa44ef0
14 changed files with 166 additions and 38 deletions

View File

@ -1,3 +1,34 @@
Fri Sep 13 04:33:08 1996 Ulrich Drepper <drepper@cygnus.com>
* sched.h: New file. helper to access posix/sched.h.
* posix/sched.h: Change `sched_params' to `sched_param' to follow
POSIX.4.
Thu Sep 12 20:12:40 1996 Ulrich Drepper <drepper@cygnus.com>
* db/makedb.c (usage): Print bug report address separately to
ease translators task.
* catgets/gencat.c (usage): Likewise.
* locale/locale.c (usage): Likewise.
* locale/localedef.c (usage): Likewise.
1996-09-12 Paul Eggert <eggert@twinsun.com>
* time/strftime.c (my_localtime_r): Define if ! HAVE_LOCALTIME_R,
and #define localtime_r to it. If _LIBC, use __localtime_r instead.
(my_gmtime_r): Similar, except it's not needed if ! HAVE_TM_GMTOFF.
Thu Sep 12 14:03:29 1996 Ulrich Drepper <drepper@cygnus.com>
* crypt/Makefile: Include Makeconfig and add crypt object dir to
rpath-link so that running the check finds the new library.
* crypt/cert.c: provide correct prototypes to prevent warnings.
Reported by Andreas Jaeger.
* sysdeps/mach/hurd/Makefile (rpath-link): Don't use += because
old and new value must be glued using `:'.
Reported by Marcus Daniels.
Thu Sep 12 12:33:52 1996 Thomas Bushnell, n/BSG <thomas@gnu.ai.mit.edu> Thu Sep 12 12:33:52 1996 Thomas Bushnell, n/BSG <thomas@gnu.ai.mit.edu>
* stdio-common/vfprintf.c: Include <libc-lock.h>. * stdio-common/vfprintf.c: Include <libc-lock.h>.
@ -12,7 +43,6 @@ Thu Sep 12 12:33:52 1996 Thomas Bushnell, n/BSG <thomas@gnu.ai.mit.edu>
macro. macro.
(__libc_cleanup_region_end): New macro. (__libc_cleanup_region_end): New macro.
Thu Sep 12 03:35:27 1996 Ulrich Drepper <drepper@cygnus.com> Thu Sep 12 03:35:27 1996 Ulrich Drepper <drepper@cygnus.com>
* sysdeps/unix/sysv/linux/i386/Dist: Remove init-first.h. * sysdeps/unix/sysv/linux/i386/Dist: Remove init-first.h.

View File

@ -202,7 +202,8 @@ usage (int status)
fprintf (stderr, gettext ("Try `%s --help' for more information.\n"), fprintf (stderr, gettext ("Try `%s --help' for more information.\n"),
program_invocation_name); program_invocation_name);
else else
printf(gettext ("\ {
printf(gettext ("\
Usage: %s [OPTION]... -o OUTPUT-FILE [INPUT-FILE]...\n\ Usage: %s [OPTION]... -o OUTPUT-FILE [INPUT-FILE]...\n\
%s [OPTION]... [OUTPUT-FILE [INPUT-FILE]...]\n\ %s [OPTION]... [OUTPUT-FILE [INPUT-FILE]...]\n\
Mandatory arguments to long options are mandatory for short options too.\n\ Mandatory arguments to long options are mandatory for short options too.\n\
@ -212,9 +213,10 @@ Mandatory arguments to long options are mandatory for short options too.\n\
-o, --output=NAME write output to file NAME\n\ -o, --output=NAME write output to file NAME\n\
-V, --version output version information and exit\n\ -V, --version output version information and exit\n\
If INPUT-FILE is -, input is read from standard input. If OUTPUT-FILE\n\ If INPUT-FILE is -, input is read from standard input. If OUTPUT-FILE\n\
is -, output is written to standard output.\n\ is -, output is written to standard output.\n"),
Report bugs to <bug-glibc@prep.ai.mit.edu>.\n"),
program_invocation_name, program_invocation_name); program_invocation_name, program_invocation_name);
printf (gettext ("Report bugs to <bug-glibc@prep.ai.mit.edu>.\n"));
}
exit (status); exit (status);
} }

View File

@ -198,7 +198,8 @@ usage (status)
fprintf (stderr, gettext ("Try `%s --help' for more information.\n"), fprintf (stderr, gettext ("Try `%s --help' for more information.\n"),
program_invocation_name); program_invocation_name);
else else
printf (gettext ("\ {
printf (gettext ("\
Usage: %s [OPTION]... INPUT-FILE OUTPUT-FILE\n\ Usage: %s [OPTION]... INPUT-FILE OUTPUT-FILE\n\
%s [OPTION]... -o OUTPUT-FILE INPUT-FILE\n\ %s [OPTION]... -o OUTPUT-FILE INPUT-FILE\n\
%s [OPTION]... -u INPUT-FILE\n\ %s [OPTION]... -u INPUT-FILE\n\
@ -209,10 +210,11 @@ Mandatory arguments to long options are mandatory for short options too.\n\
--quiet don't print messages while building database\n\ --quiet don't print messages while building database\n\
-u, --undo print content of database file, one entry a line\n\ -u, --undo print content of database file, one entry a line\n\
-V, --version output version information and exit\n\ -V, --version output version information and exit\n\
If INPUT-FILE is -, input is read from standard input.\n\ If INPUT-FILE is -, input is read from standard input.\n"),
Report bugs to <bug-glibc@prep.ai.mit.edu>.\n"), program_invocation_name, program_invocation_name,
program_invocation_name, program_invocation_name, program_invocation_name);
program_invocation_name); printf (gettext ("Report bugs to <bug-glibc@prep.ai.mit.edu>.\n"));
}
exit (status); exit (status);
} }

View File

@ -40,7 +40,7 @@ include ../Makeconfig
ifneq (,$(filter %REENTRANT, $(defines))) ifneq (,$(filter %REENTRANT, $(defines)))
routines += clearerr_u feof_u ferror_u fputc_u getc_u getchar_u \ routines += clearerr_u feof_u ferror_u fputc_u getc_u getchar_u \
iofflush_u putc_u putchar_u ioflockfile iofflush_u putc_u putchar_u
CPPFLAGS += -D_IO_MTSAFE_IO CPPFLAGS += -D_IO_MTSAFE_IO
endif endif

View File

@ -150,9 +150,7 @@ typedef struct
/* Handle lock. */ /* Handle lock. */
#ifdef _IO_MTSAFE_IO #ifdef _IO_MTSAFE_IO
#include <pthread.h> #include <stdio-lock.h>
typedef pthread_mutex_t _IO_lock_t;
#define _IO_lock_init PTHREAD_MUTEX_INITIALIZER
#else #else
typedef void _IO_lock_t; typedef void _IO_lock_t;
#endif #endif

View File

@ -234,7 +234,8 @@ usage (int status)
fprintf (stderr, gettext ("Try `%s --help' for more information.\n"), fprintf (stderr, gettext ("Try `%s --help' for more information.\n"),
__progname); __progname);
else else
printf (gettext ("\ {
printf (gettext ("\
Usage: %s [OPTION]... name\n\ Usage: %s [OPTION]... name\n\
Mandatory arguments to long options are mandatory for short options too.\n\ Mandatory arguments to long options are mandatory for short options too.\n\
-h, --help display this help and exit\n\ -h, --help display this help and exit\n\
@ -244,9 +245,10 @@ Mandatory arguments to long options are mandatory for short options too.\n\
-m, --charmaps write names of available charmaps\n\ -m, --charmaps write names of available charmaps\n\
\n\ \n\
-c, --category-name write names of selected categories\n\ -c, --category-name write names of selected categories\n\
-k, --keyword-name write names of selected keywords\n\ -k, --keyword-name write names of selected keywords\n"),
Report bugs to <bug-glibc@prep.ai.mit.edu>.\n"), __progname);
__progname); printf (gettext ("Report bugs to <bug-glibc@prep.ai.mit.edu>.\n"));
}
exit (status); exit (status);
} }

View File

@ -383,7 +383,8 @@ usage (int status)
fprintf (stderr, _("Try `%s --help' for more information.\n"), fprintf (stderr, _("Try `%s --help' for more information.\n"),
program_invocation_name); program_invocation_name);
else else
printf (_("\ {
printf (_("\
Usage: %s [OPTION]... name\n\ Usage: %s [OPTION]... name\n\
Mandatory arguments to long options are mandatory for short options too.\n\ Mandatory arguments to long options are mandatory for short options too.\n\
-c, --force create output even if warning messages were issued\n\ -c, --force create output even if warning messages were issued\n\
@ -396,9 +397,10 @@ Mandatory arguments to long options are mandatory for short options too.\n\
--posix be strictly POSIX conform\n\ --posix be strictly POSIX conform\n\
\n\ \n\
System's directory for character maps: %s\n\ System's directory for character maps: %s\n\
locale files : %s\n\ locale files : %s\n"),
Report bugs to <bug-glibc@prep.ai.mit.edu>.\n"), program_invocation_name, CHARMAP_PATH, LOCALE_PATH);
program_invocation_name, CHARMAP_PATH, LOCALE_PATH); printf (gettext ("Report bugs to <bug-glibc@prep.ai.mit.edu>.\n"));
}
exit (status); exit (status);
} }

View File

@ -33,19 +33,19 @@ __BEGIN_DECLS
/* Set scheduling parameters for a process. */ /* Set scheduling parameters for a process. */
extern int __sched_setparam __P ((__pid_t __pid, extern int __sched_setparam __P ((__pid_t __pid,
__const struct sched_params *__param)); __const struct sched_param *__param));
extern int sched_setparam __P ((__pid_t __pid, extern int sched_setparam __P ((__pid_t __pid,
__const struct sched_params *__param)); __const struct sched_param *__param));
/* Retrieve scheduling parameters for a particular process. */ /* Retrieve scheduling parameters for a particular process. */
extern int __sched_getparam __P ((__pid_t __pid, struct sched_params *__param)); extern int __sched_getparam __P ((__pid_t __pid, struct sched_param *__param));
extern int sched_getparam __P ((__pid_t __pid, struct sched_params *__param)); extern int sched_getparam __P ((__pid_t __pid, struct sched_param *__param));
/* Set scheduling algorithm and/or parameters for a process. */ /* Set scheduling algorithm and/or parameters for a process. */
extern int __sched_setscheduler __P ((__pid_t __pid, int __policy, extern int __sched_setscheduler __P ((__pid_t __pid, int __policy,
__const struct sched_params *__param)); __const struct sched_param *__param));
extern int sched_setscheduler __P ((__pid_t __pid, int __policy, extern int sched_setscheduler __P ((__pid_t __pid, int __policy,
__const struct sched_params *__param)); __const struct sched_param *__param));
/* Retrieve scheduling algorithm for a particular purpose. */ /* Retrieve scheduling algorithm for a particular purpose. */
extern int __sched_getscheduler __P ((__pid_t __pid)); extern int __sched_getscheduler __P ((__pid_t __pid));

1
sched.h Normal file
View File

@ -0,0 +1 @@
#include "posix/sched.h"

View File

@ -33,6 +33,11 @@ routines := \
tmpfile tmpnam tempnam tempname \ tmpfile tmpnam tempnam tempname \
getline getw putw \ getline getw putw \
remove rename remove rename
ifneq (,$(filter %REENTRANT, $(defines)))
routines += lockfile
endif
aux := errlist siglist aux := errlist siglist
distribute := _itoa.h printf-parse.h distribute := _itoa.h printf-parse.h

View File

@ -124,8 +124,6 @@ ssize_t __wprintf_pad __P ((FILE *, wchar_t pad, size_t n));
} \ } \
while (0) while (0)
# define UNBUFFERED_P(s) ((s)->__buffer == NULL) # define UNBUFFERED_P(s) ((s)->__buffer == NULL)
# define __flockfile(S) /* nothing */
# define __funlockfile(S) /* nothing */
#endif /* USE_IN_LIBIO */ #endif /* USE_IN_LIBIO */
@ -155,6 +153,14 @@ ssize_t __wprintf_pad __P ((FILE *, wchar_t pad, size_t n));
#endif #endif
#ifdef _LIBC_REENTRANT
extern void __flockfile (FILE *);
weak_extern (__flockfile);
extern void __funlockfile (FILE *);
weak_extern (__funlockfile);
#endif
/* Global variables. */ /* Global variables. */
static const char null[] = "(null)"; static const char null[] = "(null)";
@ -848,15 +854,10 @@ vfprintf (FILE *s, const CHAR_T *format, va_list ap)
f = lead_str_end = find_spec (format, &mbstate); f = lead_str_end = find_spec (format, &mbstate);
/* Lock stream. */ /* Lock stream. */
#ifdef USE_IN_LIBIO
__libc_cleanup_region_start ((void (*) (void *)) &_IO_funlockfile, s);
#else
#if 0
/* XXX For now stdio has no locking. */
__libc_cleanup_region_start ((void (*) (void *)) &__funlockfile, s); __libc_cleanup_region_start ((void (*) (void *)) &__funlockfile, s);
#endif
#endif if (__flockfile != NULL)
__flockfile (s); __flockfile (s);
/* Write the literal text before the first format. */ /* Write the literal text before the first format. */
outstring ((const UCHAR_T *) format, outstring ((const UCHAR_T *) format,

45
sysdeps/stub/lockfile.c Normal file
View File

@ -0,0 +1,45 @@
/* lockfile - Handle locking and unlocking of stream.
Copyright (C) 1996 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
modify it under the terms of the GNU Library General Public License as
published by the Free Software Foundation; either version 2 of the
License, or (at your option) any later version.
The GNU C Library is distributed in the hope that it will be useful,
but WITHOUT ANY WARRANTY; without even the implied warranty of
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
Library General Public License for more details.
You should have received a copy of the GNU Library General Public
License along with the GNU C Library; see the file COPYING.LIB. If
not, write to the Free Software Foundation, Inc., 59 Temple Place - Suite 330,
Boston, MA 02111-1307, USA. */
#include <stdio.h>
void
__flockfile (FILE *stream)
{
/* Do nothing. Using this version does not do any locking. */
}
weak_alias (__flockfile, flockfile);
void
__funlockfile (FILE *stream)
{
/* Do nothing. Using this version does not do any locking. */
}
weak_alias (__funlockfile, funlockfile);
int
__ftrylockfile (FILE *stream)
{
/* Do nothing. Using this version does not do any locking. */
return 1;
}
weak_alias (__ftrylockfile, ftrylockfile);

View File

@ -27,7 +27,7 @@ Boston, MA 02111-1307, USA. */
#define SCHED_RR 2 #define SCHED_RR 2
/* Data structure to describe a process' schedulability. */ /* Data structure to describe a process' schedulability. */
struct sched_params struct sched_param
{ {
int sched_priority; int sched_priority;
}; };

View File

@ -92,6 +92,46 @@ Cambridge, MA 02139, USA. */
#define TM_YEAR_BASE 1900 #define TM_YEAR_BASE 1900
#ifdef _LIBC
# define gmtime_r __gmtime_r
# define localtime_r __localtime_r
#else
# if ! HAVE_LOCALTIME_R
# if ! HAVE_TM_GMTOFF
/* Approximate gmtime_r as best we can in its absence. */
#define gmtime_r my_gmtime_r
static struct tm *gmtime_r __P ((const time_t *, struct tm *));
static struct tm *
gmtime_r (t, tp)
const time_t *t;
struct tm *tp;
{
struct tm *l = gmtime (t);
if (! l)
return 0;
*tp = *l;
return tp;
}
# endif /* ! HAVE_TM_GMTOFF */
/* Approximate localtime_r as best we can in its absence. */
#define localtime_r my_localtime_r
static struct tm *localtime_r __P ((const time_t *, struct tm *));
static struct tm *
localtime_r (t, tp)
const time_t *t;
struct tm *tp;
{
struct tm *l = localtime (t);
if (! l)
return 0;
*tp = *l;
return tp;
}
# endif /* ! HAVE_LOCALTIME_R */
#endif /* ! defined (_LIBC) */
static unsigned int week __P ((const struct tm *const, int, int)); static unsigned int week __P ((const struct tm *const, int, int));