aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorRoland McGrath <roland@gnu.org>1996-02-19 20:54:38 +0000
committerRoland McGrath <roland@gnu.org>1996-02-19 20:54:38 +0000
commitbe10a86854716071a64f559e1f5bc94e145d0fdb (patch)
treee7abce4d5ba8da4ff17dad3510c4bea6cb3e037e
parent1cbca0d93c6c1507c4e69a21e60c77e704b7e1da (diff)
downloadglibc-be10a86854716071a64f559e1f5bc94e145d0fdb.tar.xz
glibc-be10a86854716071a64f559e1f5bc94e145d0fdb.zip
*** empty log message ***
Mon Feb 19 15:30:26 1996 Roland McGrath <roland@charlie-brown.gnu.ai.mit.edu> * stdio-common/tstscanf.c (main): Add check for "0" as %d. * sysdeps/stub/msync.c: Undo change of Jan 29; just two args. Only some systems have three args; let them define their own stub. * sysdeps/generic/dl-sysdep.c: Declare _dl_secure. * sysdeps/generic/machine-gmon.h: New file. * gmon/Makefile (distribute): Add machine-gmon.h. * gmon/mcount.c: Undo changes of Feb 13. Include "machine-gmon.h". Sun Feb 18 13:24:06 1996 Roland McGrath <roland@charlie-brown.gnu.ai.mit.edu> * sysdeps/unix/sysv/linux/direct.h: File removed, since it is identical to unix/common/direct.h. * sysdeps/unix/Makefile [no_deps]: Don't include s-proto.d. * sysdeps/unix/sysv/linux/Makefile (sysdep_routines): Don't add ipc. * stdio-common/Makefile (tests): Remove scanf6. * sysdeps/unix/sysv/linux/Makefile (non-lib.a): Append libieee.a. * time/mktime.c (mktime): Move static variable localtime_offset to file scope. * stdio-common/vfscanf.c: Put '0' in buffer before scanning for %i base indicator. Thu Feb 15 16:56:17 1996 Andreas Schwab <schwab@issan.informatik.uni-dortmund.de> * sysdeps/m68k/dl-machine.h (elf_machine_load_address): Corrected. (ELF_MACHINE_BEFORE_RTLD_RELOC): Define. (_dl_runtime_resolve): Save %a1 as well. (ELF_MACHINE_RUNTIME_FIXUP_ARGS): Add second dummy arg. (elf_machine_relplt): Define. * elf/dl-runtime.c: Include possible extra args in declaration of fixup.
-rw-r--r--ChangeLog44
-rw-r--r--MakeTAGS38
-rw-r--r--Makerules4
-rw-r--r--dirent/dirent.h21
-rw-r--r--elf/dl-runtime.c6
-rw-r--r--intl/Makefile6
-rw-r--r--intl/dcgettext.c41
-rw-r--r--intl/finddomain.c26
-rw-r--r--intl/gettextP.h21
-rw-r--r--intl/hash-string.h26
-rw-r--r--intl/libintl.h34
-rw-r--r--intl/localealias.c20
-rw-r--r--manual/Makefile8
-rw-r--r--stdio-common/vfscanf.c1
-rw-r--r--sysdeps/m68k/bsd-_setjmp.S2
-rw-r--r--sysdeps/m68k/bsd-setjmp.S2
-rw-r--r--sysdeps/m68k/dl-machine.h27
-rw-r--r--sysdeps/unix/closedir.c6
-rw-r--r--sysdeps/unix/dirstream.h7
-rw-r--r--sysdeps/unix/opendir.c26
-rw-r--r--sysdeps/unix/readdir.c4
-rw-r--r--sysdeps/unix/seekdir.c6
-rw-r--r--sysdeps/unix/telldir.c4
-rw-r--r--time/mktime.c5
24 files changed, 248 insertions, 137 deletions
diff --git a/ChangeLog b/ChangeLog
index f9ff74f44c..465d2f4c12 100644
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,3 +1,47 @@
+Mon Feb 19 15:30:26 1996 Roland McGrath <roland@charlie-brown.gnu.ai.mit.edu>
+
+ * stdio-common/tstscanf.c (main): Add check for "0" as %d.
+
+ * sysdeps/stub/msync.c: Undo change of Jan 29; just two args.
+ Only some systems have three args; let them define their own stub.
+
+ * sysdeps/generic/dl-sysdep.c: Declare _dl_secure.
+
+ * sysdeps/generic/machine-gmon.h: New file.
+ * gmon/Makefile (distribute): Add machine-gmon.h.
+ * gmon/mcount.c: Undo changes of Feb 13.
+ Include "machine-gmon.h".
+
+Sun Feb 18 13:24:06 1996 Roland McGrath <roland@charlie-brown.gnu.ai.mit.edu>
+
+ * sysdeps/unix/sysv/linux/direct.h: File removed, since it is
+ identical to unix/common/direct.h.
+
+ * sysdeps/unix/Makefile [no_deps]: Don't include s-proto.d.
+
+ * sysdeps/unix/sysv/linux/Makefile (sysdep_routines): Don't add ipc.
+
+ * stdio-common/Makefile (tests): Remove scanf6.
+
+ * sysdeps/unix/sysv/linux/Makefile (non-lib.a): Append libieee.a.
+
+ * time/mktime.c (mktime): Move static variable localtime_offset to
+ file scope.
+
+ * stdio-common/vfscanf.c: Put '0' in buffer before scanning for %i
+ base indicator.
+
+Thu Feb 15 16:56:17 1996 Andreas Schwab <schwab@issan.informatik.uni-dortmund.de>
+
+ * sysdeps/m68k/dl-machine.h (elf_machine_load_address): Corrected.
+ (ELF_MACHINE_BEFORE_RTLD_RELOC): Define.
+ (_dl_runtime_resolve): Save %a1 as well.
+ (ELF_MACHINE_RUNTIME_FIXUP_ARGS): Add second dummy arg.
+ (elf_machine_relplt): Define.
+
+ * elf/dl-runtime.c: Include possible extra args in declaration of
+ fixup.
+
Fri Feb 16 11:01:59 1996 Roland McGrath <roland@charlie-brown.gnu.ai.mit.edu>
* time/tzset.c: Limit hours to 23, not 12. From jaffer.
diff --git a/MakeTAGS b/MakeTAGS
index a442ce8d1e..d75c875576 100644
--- a/MakeTAGS
+++ b/MakeTAGS
@@ -1,6 +1,6 @@
# Make the TAGS files.
-# Copyright (C) 1992, 1994, 1995 Free Software Foundation, Inc.
+# Copyright (C) 1992, 1994, 1995, 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
@@ -98,7 +98,7 @@ ifdef subdir
ifdef tags_sources
$(ETAGS) -o $@ $^
else
-# No sources. Create a dummy file.
+# No sources. Create a dummy file.
touch $@
endif # tags_sources
else # parent
@@ -114,3 +114,37 @@ $(subdirs:%=%/TAGS):
$(MAKE) -C $(@D) no_deps=t $(@F)
endif # subdir
+
+XGETTEXT = xgettext
+MSGJOIN = msgjoin
+
+P = $(..)po
+
+ifdef subdir
+domain = $(subdir)
+else
+domain = libc-top
+endif
+
+define extract
+@rm -f $@.new
+$(XGETTEXT) --keyword=_ --keyword=N_ --sort-output -d - \
+ > $@.new /dev/null $^
+mv -f $@.new $@
+endef
+
+$P/$(domain).pot: $(tags_sources); $(extract)
+
+$P/siglist.pot: $(..)sysdeps/generic/signame.c; $(extract)
+$P/errlist.pot: $(..)sysdeps/mach/hurd/errlist.c; $(extract)
+
+ifndef subdir
+$P/SYS_libc.pot: $P/libc-top.pot $(subdirs:%=$P/%.pot)
+ @rm -f $@.new
+ $(MSGJOIN) $^ > $@.new
+ mv -f $@.new $@
+
+$(subdirs:%=$P/%.pot): $P/%.pot: FORCE
+ $(MAKE) -C $* no_deps=t ../$@
+FORCE:
+endif
diff --git a/Makerules b/Makerules
index 21b260cc9a..9ab3a651ba 100644
--- a/Makerules
+++ b/Makerules
@@ -621,6 +621,10 @@ check: tests
TAGS: distinfo $(..)MakeTAGS
$(MAKE) $(addprefix -f ,$^) $@
+$(..)po/%.pot: distinfo $(..)MakeTAGS
+ $(MAKE) $(addprefix -f ,$^) $@
+
+
.PHONY: echo-headers
echo-headers:
@echo $(headers)
diff --git a/dirent/dirent.h b/dirent/dirent.h
index 5b99437301..8a6548601f 100644
--- a/dirent/dirent.h
+++ b/dirent/dirent.h
@@ -29,25 +29,8 @@ __BEGIN_DECLS
#include <gnu/types.h>
-
-/* Directory entry structure.
-
- This structure is laid out identically to the `struct direct' that
- represents directory entries in the GNU Hurd and in BSD 4.4 (and
- incidentally, on disk in the Berkeley fast file system). The `readdir'
- implementations for GNU and BSD know this; you must change them if you
- change this structure. */
-
-struct dirent
- {
- __ino_t d_fileno; /* File serial number. */
- unsigned short int d_reclen; /* Length of the whole `struct dirent'. */
- unsigned char d_type; /* File type, possibly unknown. */
- unsigned char d_namlen; /* Length of the file name. */
-
- /* Only this member is in the POSIX standard. */
- char d_name[1]; /* File name (actually longer). */
- };
+/* This file defines `struct dirent'. */
+#include <direntry.h>
#if defined(__USE_BSD) || defined(__USE_MISC)
#define d_ino d_fileno /* Backward compatibility. */
diff --git a/elf/dl-runtime.c b/elf/dl-runtime.c
index 6ee1a94128..3be90caa69 100644
--- a/elf/dl-runtime.c
+++ b/elf/dl-runtime.c
@@ -37,7 +37,11 @@ Cambridge, MA 02139, USA. */
in the trampoline code will be a local PC-relative call. Tell the
compiler not to worry that the function appears not to be called. */
-static Elf32_Addr fixup (struct link_map *l, Elf32_Word reloc_offset)
+static Elf32_Addr fixup (
+#ifdef ELF_MACHINE_RUNTIME_FIXUP_ARGS
+ ELF_MACHINE_RUNTIME_FIXUP_ARGS,
+#endif
+ struct link_map *l, Elf32_Word reloc_offset)
__attribute__ ((unused));
/* This function is called through a special trampoline from the PLT the
diff --git a/intl/Makefile b/intl/Makefile
index adc4d01e61..0354b427b3 100644
--- a/intl/Makefile
+++ b/intl/Makefile
@@ -31,9 +31,9 @@ CPPFLAGS += -D'GNULOCALEDIR="$(localedir)"' \
ifdef gettext-srcdir
-%:: $(gettext-srcdir)/intl/%.glibc; $(copysrc)
-%:: $(gettext-srcdir)/intl/%.c; $(copysrc)
-%:: $(gettext-srcdir)/intl/%.h; $(copysrc)
+%.h:: $(gettext-srcdir)/intl/%.glibc; $(copysrc)
+%.c:: $(gettext-srcdir)/intl/%.c; $(copysrc)
+%.h:: $(gettext-srcdir)/intl/%.h; $(copysrc)
define copysrc
cp -f $< $@.new
diff --git a/intl/dcgettext.c b/intl/dcgettext.c
index 09e0443494..7562f69ab4 100644
--- a/intl/dcgettext.c
+++ b/intl/dcgettext.c
@@ -1,5 +1,5 @@
-/* dcgettext.c -- implemenatation of the dcgettext(3) function
- Copyright (C) 1995 Software Foundation, Inc.
+/* dcgettext.c -- implementation of the dcgettext(3) function
+ Copyright (C) 1995 Free Software Foundation, Inc.
This program is free software; you can redistribute it and/or modify
it under the terms of the GNU General Public License as published by
@@ -24,7 +24,7 @@ Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. */
#ifdef __GNUC__
# define alloca __builtin_alloca
#else
-# ifdef HAVE_ALLOCA_H || defined _LIBC
+# if defined HAVE_ALLOCA_H || defined _LIBC
# include <alloca.h>
# else
# ifdef _AIX
@@ -151,10 +151,11 @@ const char _nl_default_dirname[] = GNULOCALEDIR;
struct binding *_nl_domain_bindings;
/* Prototypes for local functions. */
-static char *find_msg __P ((struct loaded_domain *domain, const char *msgid));
-static const char *category_to_name __P((int category));
-static const char *guess_category_value __P((int category,
- const char *categoryname));
+static char *find_msg PARAMS ((struct loaded_domain *domain,
+ const char *msgid));
+static const char *category_to_name PARAMS ((int category));
+static const char *guess_category_value PARAMS ((int category,
+ const char *categoryname));
/* Names for the libintl functions are a problem. They must not clash
@@ -182,6 +183,7 @@ DCGETTEXT (domainname, msgid, category)
char *dirname, *xdomainname;
char *single_locale;
char *retval;
+ int saved_errno = errno;
/* If no real MSGID is given return NULL. */
if (msgid == NULL)
@@ -233,9 +235,12 @@ DCGETTEXT (domainname, msgid, category)
}
if (ret == NULL)
- /* We cannot get the current working directory. Don't signal an
- error but simply return the default string. */
- return (char *) msgid;
+ {
+ /* We cannot get the current working directory. Don't signal an
+ error but simply return the default string. */
+ errno = saved_errno;
+ return (char *) msgid;
+ }
/* We don't want libintl.a to depend on any other library. So
we avoid the non-standard function stpcpy. In GNU C Library
@@ -302,7 +307,10 @@ DCGETTEXT (domainname, msgid, category)
domain. Return the MSGID. */
if (strcmp (single_locale, "C") == 0
|| strcmp (single_locale, "POSIX") == 0)
- return (char *) msgid;
+ {
+ errno = saved_errno;
+ return (char *) msgid;
+ }
/* Find structure describing the message catalog matching the
@@ -317,7 +325,7 @@ DCGETTEXT (domainname, msgid, category)
{
int cnt;
- for (cnt = 0; domain->successor[cnt] != NULL; --cnt)
+ for (cnt = 0; domain->successor[cnt] != NULL; ++cnt)
{
retval = find_msg (domain->successor[cnt], msgid);
@@ -327,7 +335,10 @@ DCGETTEXT (domainname, msgid, category)
}
if (retval != NULL)
- return retval;
+ {
+ errno = saved_errno;
+ return retval;
+ }
}
}
/* NOTREACHED */
@@ -375,8 +386,8 @@ find_msg (domain, msgid)
while (1)
{
- if (idx >= W (domain->must_swap, domain->hash_size) - incr)
- idx -= W (domain->must_swap, domain->hash_size) - incr;
+ if (idx >= domain->hash_size - incr)
+ idx -= domain->hash_size - incr;
else
idx += incr;
diff --git a/intl/finddomain.c b/intl/finddomain.c
index 007a87e075..07c5f44799 100644
--- a/intl/finddomain.c
+++ b/intl/finddomain.c
@@ -1,5 +1,5 @@
/* finddomain.c -- handle list of needed message catalogs
- Copyright (C) 1995 Software Foundation, Inc.
+ Copyright (C) 1995 Free Software Foundation, Inc.
Written by Ulrich Drepper <drepper@gnu.ai.mit.edu>, 1995.
This program is free software; you can redistribute it and/or modify
@@ -83,21 +83,21 @@ void free ();
static struct loaded_domain *_nl_loaded_domains;
/* Prototypes for local functions. */
-static struct loaded_domain *make_entry_rec __P ((const char *dirname,
- int mask,
- const char *language,
- const char *territory,
- const char *codeset,
- const char *modifier,
- const char *special,
- const char *sponsor,
- const char *revision,
- const char *domainname,
- int do_allocate));
+static struct loaded_domain *make_entry_rec PARAMS ((const char *dirname,
+ int mask,
+ const char *language,
+ const char *territory,
+ const char *codeset,
+ const char *modifier,
+ const char *special,
+ const char *sponsor,
+ const char *revision,
+ const char *domainname,
+ int do_allocate));
/* Substitution for systems lacking this function in their C library. */
#if !_LIBC && !HAVE_STPCPY
-static char *stpcpy __P ((char *dest, const char *src));
+static char *stpcpy PARAMS ((char *dest, const char *src));
#endif
diff --git a/intl/gettextP.h b/intl/gettextP.h
index 12031c605b..7c74f6c9ab 100644
--- a/intl/gettextP.h
+++ b/intl/gettextP.h
@@ -1,5 +1,5 @@
/* gettextP.h -- header describing internals of gettext library
- Copyright (C) 1995 Software Foundation, Inc.
+ Copyright (C) 1995 Free Software Foundation, Inc.
This program is free software; you can redistribute it and/or modify
it under the terms of the GNU General Public License as published by
@@ -20,11 +20,11 @@ Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. */
/* @@ end of prolog @@ */
-#ifndef __P
+#ifndef PARAMS
# if __STDC__
-# define __P(args) args
+# define PARAMS(args) args
# else
-# define __P(args) ()
+# define PARAMS(args) ()
# endif
#endif
@@ -32,6 +32,9 @@ Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. */
# define W(flag, data) ((flag) ? SWAP (data) : (data))
#endif
+
+static nls_uint32 SWAP PARAMS ((nls_uint32 i));
+
static inline nls_uint32
SWAP (i)
nls_uint32 i;
@@ -64,12 +67,12 @@ struct binding
char *dirname;
};
-struct loaded_domain *_nl_find_domain __P ((const char *__dirname,
- char *__locale,
- const char *__domainname));
-void _nl_load_domain __P ((struct loaded_domain *__domain));
+struct loaded_domain *_nl_find_domain PARAMS ((const char *__dirname,
+ char *__locale,
+ const char *__domainname));
+void _nl_load_domain PARAMS ((struct loaded_domain *__domain));
-const char *_nl_expand_alias __P ((const char *__name));
+const char *_nl_expand_alias PARAMS ((const char *__name));
/* @@ begin of epilog @@ */
diff --git a/intl/hash-string.h b/intl/hash-string.h
index e846b507ac..ef1f448d86 100644
--- a/intl/hash-string.h
+++ b/intl/hash-string.h
@@ -1,5 +1,5 @@
/* hash-string - Implements a string hashing function.
- Copyright (C) 1995 Software Foundation, Inc.
+ Copyright (C) 1995 Free Software Foundation, Inc.
This program is free software; you can redistribute it and/or modify
it under the terms of the GNU General Public License as published by
@@ -21,22 +21,28 @@ Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. */
/* @@ end of prolog @@ */
-#ifndef BITSPERBYTE
-# define BITSPERBYTE 8
+#ifndef PARAMS
+# if __STDC__
+# define PARAMS(Args) Args
+# else
+# define PARAMS(Args) ()
+# endif
#endif
-#ifndef LONGBITS
-# define LONGBITS (sizeof (long) * BITSPERBYTE)
-#endif /* LONGBITS */
+/* We assume to have `unsigned long int' value with at least 32 bits. */
+#define HASHWORDBITS 32
+
/* Defines the so called `hashpjw' function by P.J. Weinberger
[see Aho/Sethi/Ullman, COMPILERS: Principles, Techniques and Tools,
- 1986, 1987 Bell Telephone Laboratories, Inc.] */
+ 1986, 1987 Bell Telephone Laboratories, Inc.] */
+static unsigned long hash_string PARAMS ((const char *__str_param));
+
static inline unsigned long
hash_string (str_param)
const char *str_param;
{
- unsigned long hval, g;
+ unsigned long int hval, g;
const char *str = str_param;
/* Compute the hash value for the given string. */
@@ -45,10 +51,10 @@ hash_string (str_param)
{
hval <<= 4;
hval += (unsigned long) *str++;
- g = hval & ((unsigned long) 0xf << (LONGBITS - 4));
+ g = hval & ((unsigned long) 0xf << (HASHWORDBITS - 4));
if (g != 0)
{
- hval ^= g >> (LONGBITS - 8);
+ hval ^= g >> (HASHWORDBITS - 8);
hval ^= g;
}
}
diff --git a/intl/libintl.h b/intl/libintl.h
index f9a150d3df..8e5b8f9e69 100644
--- a/intl/libintl.h
+++ b/intl/libintl.h
@@ -37,34 +37,36 @@ __BEGIN_DECLS
/* Look up MSGID in the current default message catalog for the current
LC_MESSAGES locale. If not found, returns MSGID itself (the default
text). */
-extern char *gettext __P ((const char *__msgid));
-extern char *__gettext __P ((const char *__msgid));
+extern char *gettext __P ((__const char *__msgid));
+extern char *__gettext __P ((__const char *__msgid));
/* Look up MSGID in the DOMAINNAME message catalog for the current
LC_MESSAGES locale. */
-extern char *dgettext __P ((const char *__domainname, const char *__msgid));
-extern char *__dgettext __P ((const char *__domainname, const char *__msgid));
+extern char *dgettext __P ((__const char *__domainname,
+ __const char *__msgid));
+extern char *__dgettext __P ((__const char *__domainname,
+ __const char *__msgid));
/* Look up MSGID in the DOMAINNAME message catalog for the current CATEGORY
locale. */
-extern char *dcgettext __P ((const char *__domainname, const char *__msgid,
- int __category));
-extern char *__dcgettext __P ((const char *__domainname, const char *__msgid,
- int __category));
+extern char *dcgettext __P ((__const char *__domainname,
+ __const char *__msgid, int __category));
+extern char *__dcgettext __P ((__const char *__domainname,
+ __const char *__msgid, int __category));
/* Set the current default message catalog to DOMAINNAME.
If DOMAINNAME is null, return the current default.
If DOMAINNAME is "", reset to the default of "messages". */
-extern char *textdomain __P ((const char *__domainname));
-extern char *__textdomain __P ((const char *__domainname));
+extern char *textdomain __P ((__const char *__domainname));
+extern char *__textdomain __P ((__const char *__domainname));
/* Specify that the DOMAINNAME message catalog will be found
in DIRNAME rather than in the system locale data base. */
-extern char *bindtextdomain __P ((const char *__domainname,