summary refs log tree commit diff
diff options
context:
space:
mode:
-rw-r--r--MakeTAGS9
-rw-r--r--Makefile9
-rw-r--r--catgets/gencat.c37
-rwxr-xr-xconfigure8
-rw-r--r--configure.in5
-rw-r--r--db/makedb.c7
-rw-r--r--elf/dl-deps.c74
-rw-r--r--elf/dl-error.c9
-rw-r--r--elf/dynamic-link.h9
-rw-r--r--elf/elf.h10
-rw-r--r--elf/ldd.bash.in6
-rw-r--r--elf/ldd.sh.in8
-rw-r--r--elf/link.h9
-rw-r--r--features.h4
-rw-r--r--glibcbug.in253
-rw-r--r--inet/Makefile4
-rw-r--r--inet/netinet/ip.h164
-rw-r--r--intl/finddomain.c32
-rw-r--r--intl/locale.alias9
-rw-r--r--io/ftw.c6
-rw-r--r--io/ftw.h4
-rw-r--r--libio/_G_config.h1
-rw-r--r--libio/fcloseall.c6
-rw-r--r--libio/genops.c2
-rw-r--r--libio/stdfiles.c6
-rw-r--r--locale/programs/charmap.c32
-rw-r--r--locale/programs/ld-collate.c4
-rw-r--r--locale/programs/locale.c7
-rw-r--r--locale/programs/localedef.c7
-rw-r--r--locale/programs/simple-hash.c29
-rw-r--r--malloc/mcheck.c3
-rw-r--r--mcheck.h5
-rw-r--r--md5-crypt/Makefile4
-rw-r--r--misc/Makefile4
-rw-r--r--misc/getpass.c31
-rw-r--r--misc/mntent_r.c31
-rw-r--r--misc/sys/select.h5
-rw-r--r--misc/sys/syscall.h1
-rw-r--r--po/de.po2486
-rw-r--r--po/ko.po483
-rw-r--r--po/libc.pot416
-rw-r--r--po/sv.po32
-rw-r--r--posix/getopt.c45
-rw-r--r--posix/sys/types.h2
-rw-r--r--posix/unistd.h5
-rw-r--r--resolv/nss_dns/dns-host.c15
-rw-r--r--resolv/nss_dns/dns-network.c10
-rw-r--r--resolv/res_debug.c4
-rw-r--r--resolv/res_query.c3
-rw-r--r--set-init.c28
-rw-r--r--signal/Makefile4
-rw-r--r--signal/sigaddset.c26
-rw-r--r--signal/sigdelset.c26
-rw-r--r--signal/sigempty.c36
-rw-r--r--signal/sigfillset.c35
-rw-r--r--signal/siggetmask.c28
-rw-r--r--signal/sigismem.c26
-rw-r--r--signal/signal.h37
-rw-r--r--string/string.h4
-rw-r--r--syscall.h1
-rw-r--r--sysdeps/alpha/dl-machine.h13
-rw-r--r--sysdeps/generic/abort.c20
-rw-r--r--sysdeps/generic/gnu/types.h19
-rw-r--r--sysdeps/generic/selectbits.h29
-rw-r--r--sysdeps/generic/speed.c45
-rw-r--r--sysdeps/i386/selectbits.h57
-rw-r--r--sysdeps/mach/sys/syscall.h (renamed from sysdeps/mach/syscall.h)0
-rw-r--r--sysdeps/posix/signal.c15
-rw-r--r--sysdeps/posix/sigpause.c5
-rw-r--r--sysdeps/posix/sysv_signal.c (renamed from sysdeps/posix/bsd_signal.c)20
-rw-r--r--sysdeps/stub/libc-lock.h20
-rw-r--r--sysdeps/stub/sigpause.c12
-rw-r--r--sysdeps/stub/sys/syscall.h (renamed from sysdeps/stub/syscall.h)0
-rw-r--r--sysdeps/unix/Makefile15
-rw-r--r--sysdeps/unix/bsd/poll.c28
-rw-r--r--sysdeps/unix/bsd/sun/sunos4/tcsetattr.c29
-rw-r--r--sysdeps/unix/bsd/tcdrain.c28
-rw-r--r--sysdeps/unix/bsd/tcflow.c34
-rw-r--r--sysdeps/unix/bsd/tcflush.c28
-rw-r--r--sysdeps/unix/bsd/tcgetpgrp.c35
-rw-r--r--sysdeps/unix/bsd/tcsendbrk.c33
-rw-r--r--sysdeps/unix/bsd/tcsetpgrp.c35
-rw-r--r--sysdeps/unix/getdents.c28
-rw-r--r--sysdeps/unix/siglist.c86
-rw-r--r--sysdeps/unix/sysdep.h2
-rw-r--r--sysdeps/unix/sysv/getdents.c36
-rw-r--r--sysdeps/unix/sysv/i386/sigreturn.S28
-rw-r--r--sysdeps/unix/sysv/linux/Dist1
-rw-r--r--sysdeps/unix/sysv/linux/Makefile2
-rw-r--r--sysdeps/unix/sysv/linux/alpha/Dist2
-rw-r--r--sysdeps/unix/sysv/linux/alpha/gnu/types.h89
-rw-r--r--sysdeps/unix/sysv/linux/alpha/ioctl-types.h123
-rw-r--r--sysdeps/unix/sysv/linux/alpha/kernel_termios.h18
-rw-r--r--sysdeps/unix/sysv/linux/alpha/sys/acct.h66
-rw-r--r--sysdeps/unix/sysv/linux/alpha/termbits.h188
-rw-r--r--sysdeps/unix/sysv/linux/alpha/ustat.c32
-rw-r--r--sysdeps/unix/sysv/linux/alpha/xmknod.c46
-rw-r--r--sysdeps/unix/sysv/linux/direntry.h17
-rw-r--r--sysdeps/unix/sysv/linux/getdents.c105
-rw-r--r--sysdeps/unix/sysv/linux/gnu/types.h78
-rw-r--r--sysdeps/unix/sysv/linux/ioctl-types.h49
-rw-r--r--sysdeps/unix/sysv/linux/kernel_termios.h13
-rw-r--r--sysdeps/unix/sysv/linux/net/if.h147
-rw-r--r--sysdeps/unix/sysv/linux/netinet/in.h147
-rw-r--r--sysdeps/unix/sysv/linux/siglist.h84
-rw-r--r--sysdeps/unix/sysv/linux/sigset.h89
-rw-r--r--sysdeps/unix/sysv/linux/sigsuspend.c10
-rw-r--r--sysdeps/unix/sysv/linux/socketbits.h138
-rw-r--r--sysdeps/unix/sysv/linux/statfsbuf.h37
-rw-r--r--sysdeps/unix/sysv/linux/sys/acct.h35
-rw-r--r--sysdeps/unix/sysv/linux/sys/ptrace.h4
-rw-r--r--sysdeps/unix/sysv/linux/sys/syscall.h (renamed from sysdeps/unix/sysv/linux/syscall.h)0
-rw-r--r--sysdeps/unix/sysv/linux/sys/sysmacros.h11
-rw-r--r--sysdeps/unix/sysv/linux/syscalls.list4
-rw-r--r--sysdeps/unix/sysv/linux/tcgetattr.c56
-rw-r--r--sysdeps/unix/sysv/linux/tcsetattr.c73
-rw-r--r--sysdeps/unix/sysv/linux/termbits.h161
-rw-r--r--sysdeps/unix/sysv/linux/ustat.c32
-rw-r--r--sysdeps/unix/sysv/linux/ustatbits.h29
-rw-r--r--sysdeps/unix/sysv/linux/xmknod.c48
-rw-r--r--sysdeps/unix/sysv/sco3.2.4/sys/syscall.h (renamed from sysdeps/unix/sysv/sco3.2.4/syscall.h)0
-rw-r--r--sysdeps/unix/xmknod.c34
-rw-r--r--termios/Makefile8
-rw-r--r--termios/cfmakeraw.c32
-rw-r--r--termios/cfsetspeed.c28
-rw-r--r--time/ap.c16
-rw-r--r--time/localtime.c11
-rw-r--r--time/sys/time.h3
-rw-r--r--time/tzset.c18
-rw-r--r--version.c32
-rw-r--r--version.h2
131 files changed, 5585 insertions, 1839 deletions
diff --git a/MakeTAGS b/MakeTAGS
index 8401258541..c6f497ee00 100644
--- a/MakeTAGS
+++ b/MakeTAGS
@@ -147,14 +147,7 @@ else
 	$(extract)
 endif
 
-#$P/siglist.pot: $(common-objpfx)stdio-common/siglist.c; $(extract)
-$P/siglist.pot: siglist.c; $(extract)
-
-# Extract all strings from this file; its strings are not marked.
-# Their surroundings are also not interesting.
-XGETTEXTFLAGS-siglist.pot = -a --no-location
-
-all-pot = $P/libc-top.pot $P/subdirs.pot $P/siglist.pot
+all-pot = $P/libc-top.pot $P/subdirs.pot
 
 ifndef subdir
 # Collect all the subdir messages, massaging the file names in comments
diff --git a/Makefile b/Makefile
index 444962a005..00be7a8d89 100644
--- a/Makefile
+++ b/Makefile
@@ -1,4 +1,4 @@
-# Copyright (C) 1991, 92, 93, 94, 95, 96 Free Software Foundation, Inc.
+# Copyright (C) 1991, 92, 93, 94, 95, 96, 97 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
@@ -38,6 +38,7 @@ endef
 
 configure: configure.in aclocal.m4; $(autoconf-it)
 %/configure: %/configure.in aclocal.m4; $(autoconf-it)
+config.status: configure version.h; $(SHELL) ./config.status --recheck
 
 include Makeconfig
 
@@ -94,6 +95,7 @@ install-others = $(includedir)/gnu/stubs.h
 ifeq (yes,$(build-shared))
 install-others += $(includedir)/gnu/lib-names.h
 endif
+install-bin = glibcbug
 
 ifeq (yes,$(gnu-ld))
 libc-init = set-init
@@ -206,6 +208,11 @@ $(includedir)/gnu/lib-names.h: $(common-objpfx)soversions.mk
 	rm -f $(objpfx)lib-names.h
 endif
 
+# The `glibcbug' script contains the version number and it shall be rebuild
+# whenever this changes or the `glibcbug.in' file.
+glibcbug: glibcbug.in config.status
+	CONFIG_FILES=$@ CONFIG_HEADERS= $(SHELL) ./config.status
+
 # This makes the Info or DVI file of the documentation from the Texinfo source.
 .PHONY: info dvi
 info dvi:
diff --git a/catgets/gencat.c b/catgets/gencat.c
index 561b0e5230..1616abfa1e 100644
--- a/catgets/gencat.c
+++ b/catgets/gencat.c
@@ -1,21 +1,21 @@
-/* Copyright (C) 1996 Free Software Foundation, Inc.
-This file is part of the GNU C Library.
-Contributed by Ulrich Drepper, <drepper@gnu.ai.mit.edu>.
+/* Copyright (C) 1996, 1997 Free Software Foundation, Inc.
+   This file is part of the GNU C Library.
+   Contributed by Ulrich Drepper <drepper@gnu.ai.mit.edu>, 1996.
 
-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 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.
+   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.  */
+   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.  */
 
 #ifdef HAVE_CONFIG_H
 # include <config.h>
@@ -170,7 +170,7 @@ main (int argc, char *argv[])
 Copyright (C) %s Free Software Foundation, Inc.\n\
 This is free software; see the source for copying conditions.  There is NO\n\
 warranty; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.\n\
-"), "1996");
+"), "1996, 1997");
       printf (_("Written by %s.\n"), "Ulrich Drepper");
 
       exit (EXIT_SUCCESS);
@@ -221,7 +221,8 @@ Mandatory arguments to long options are mandatory for short options too.\n\
 If INPUT-FILE is -, input is read from standard input.  If OUTPUT-FILE\n\
 is -, output is written to standard output.\n"),
 	      program_invocation_name, program_invocation_name);
-      fputs (gettext ("Report bugs to <bug-glibc@prep.ai.mit.edu>.\n"),
+      fputs (gettext ("\
+Report bugs using the `glibcbug' script to <bugs@gnu.ai.mit.edu>.\n"),
 	     stdout);
     }
 
@@ -270,7 +271,7 @@ read_input_file (struct catalog *current, const char *fname)
       current->last_set = 0;
       current->current_set = find_set (current, NL_SETD);
 
-#define obstack_chunk_alloc xmalloc
+#define obstack_chunk_alloc malloc
 #define obstack_chunk_free free
       obstack_init (&current->mem_pool);
     }
diff --git a/configure b/configure
index eb37101ecb..cf93d8addb 100755
--- a/configure
+++ b/configure
@@ -1894,6 +1894,9 @@ else
   config_makefile=Makefile
 fi
 
+VERSION=`sed -e 's/^#define VERSION "\([^"]*\)"/\1/p' -e d < $srcdir/version.h`
+
+
 trap '' 1 2 15
 cat > confcache <<\EOF
 # This file is a shell script that caches the results of configure
@@ -1995,7 +1998,7 @@ done
 ac_given_srcdir=$srcdir
 ac_given_INSTALL="$INSTALL"
 
-trap 'rm -fr `echo "config.make ${config_makefile} ${config_uname} config.h" | sed "s/:[^ ]*//g"` conftest*; exit 1' 1 2 15
+trap 'rm -fr `echo "config.make glibcbug ${config_makefile} ${config_uname} config.h" | sed "s/:[^ ]*//g"` conftest*; exit 1' 1 2 15
 EOF
 cat >> $CONFIG_STATUS <<EOF
 
@@ -2067,6 +2070,7 @@ s%@shared@%$shared%g
 s%@profile@%$profile%g
 s%@omitfp@%$omitfp%g
 s%@DEFINES@%$DEFINES%g
+s%@VERSION@%$VERSION%g
 
 CEOF
 EOF
@@ -2108,7 +2112,7 @@ EOF
 
 cat >> $CONFIG_STATUS <<EOF
 
-CONFIG_FILES=\${CONFIG_FILES-"config.make ${config_makefile} ${config_uname}"}
+CONFIG_FILES=\${CONFIG_FILES-"config.make glibcbug ${config_makefile} ${config_uname}"}
 EOF
 cat >> $CONFIG_STATUS <<\EOF
 for ac_file in .. $CONFIG_FILES; do if test "x$ac_file" != x..; then
diff --git a/configure.in b/configure.in
index 2c11732598..4716052ba9 100644
--- a/configure.in
+++ b/configure.in
@@ -732,5 +732,8 @@ else
   config_makefile=Makefile
 fi
 
-AC_OUTPUT(config.make ${config_makefile} ${config_uname}, ,
+VERSION=`sed -e 's/^#define VERSION "\([^"]*\)"/\1/p' -e d < $srcdir/version.h`
+AC_SUBST(VERSION)
+
+AC_OUTPUT(config.make glibcbug ${config_makefile} ${config_uname}, ,
           [echo '$config_vars' >> config.make])
diff --git a/db/makedb.c b/db/makedb.c
index 4703121dea..ebdb9014c8 100644
--- a/db/makedb.c
+++ b/db/makedb.c
@@ -1,5 +1,5 @@
 /* makedb -- create simple DB database from textual input.
-   Copyright (C) 1996 Free Software Foundation, Inc.
+   Copyright (C) 1996, 1997 Free Software Foundation, Inc.
    This file is part of the GNU C Library.
    Contributed by Ulrich Drepper <drepper@cygnus.com>, 1996.
 
@@ -121,7 +121,7 @@ main (argc, argv)
 Copyright (C) %s Free Software Foundation, Inc.\n\
 This is free software; see the source for copying conditions.  There is NO\n\
 warranty; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.\n\
-"), "1996");
+"), "1996, 1997");
       printf (_("Written by %s.\n"), "Ulrich Drepper");
 
       exit (EXIT_SUCCESS);
@@ -224,7 +224,8 @@ Mandatory arguments to long options are mandatory for short options too.\n\
 If INPUT-FILE is -, input is read from standard input.\n"),
 	      program_invocation_name, program_invocation_name,
 	      program_invocation_name);
-      fputs (gettext ("Report bugs to <bug-glibc@prep.ai.mit.edu>.\n"),
+      fputs (gettext ("\
+Report bugs using the `glibcbug' script to <bugs@gnu.ai.mit.edu>.\n"),
 	     stdout);
     }
 
diff --git a/elf/dl-deps.c b/elf/dl-deps.c
index 01e4f1974e..f034196762 100644
--- a/elf/dl-deps.c
+++ b/elf/dl-deps.c
@@ -1,5 +1,5 @@
 /* Load the dependencies of a mapped object.
-   Copyright (C) 1996 Free Software Foundation, Inc.
+   Copyright (C) 1996, 1997 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
@@ -32,33 +32,65 @@ _dl_map_object_deps (struct link_map *map,
       struct link_map *map;
       struct list *next;
     };
-  struct list head[1 + npreloads], *tailp, *scanp;
+  struct list head[2 + npreloads], *tailp, *scanp;
   struct list duphead, *duptailp;
-  unsigned int nlist;
   unsigned int nduplist;
+  unsigned int nlist, naux, i;
+  inline void preload (struct link_map *map)
+    {
+      head[nlist].next = &head[nlist + 1];
+      head[nlist++].map = map;
 
-  /* Start the search list with one element: MAP itself.  */
-  head[0].map = map;
+      /* We use `l_reserved' as a mark bit to detect objects we have
+	 already put in the search list and avoid adding duplicate
+	 elements later in the list.  */
+      map->l_reserved = 1;
+    }
 
-  /* We use `l_reserved' as a mark bit to detect objects we have already
-     put in the search list and avoid adding duplicate elements later in
-     the list.  */
-  map->l_reserved = 1;
+  naux = nlist = 0;
 
-  /* Add the preloaded items after MAP but before any of its dependencies.  */
-  for (nlist = 0; nlist < npreloads; ++nlist)
+#define AUXTAG	(DT_NUM + DT_PROCNUM + DT_EXTRATAGIDX (DT_AUXILIARY))
+
+  if (map->l_info[AUXTAG])
     {
-      head[nlist].next = &head[nlist + 1];
-      head[nlist + 1].map = preloads[nlist];
-      preloads[nlist]->l_reserved = 1;
+      /* There is an auxiliary library specified.  We try to load it,
+	 and if we can, use its symbols in preference to our own.
+	 But if we can't load it, we just silently ignore it.
+	 XXX support multiple DT_AUXILIARYs?
+       */
+      struct link_map *aux;
+      void openaux (void)
+	{
+	  const char *strtab
+	    = ((void *) map->l_addr + map->l_info[DT_STRTAB]->d_un.d_ptr);
+	  aux = _dl_map_object (map, strtab + map->l_info[AUXTAG]->d_un.d_val,
+				map->l_type == lt_executable ? lt_library :
+				map->l_type, trace_mode);
+	}
+      char *errstring;
+      const char *objname;
+      if (! _dl_catch_error (&errstring, &objname, &openaux))
+	{
+	  /* The auxiliary object is actually there.  Use it
+	     as the first search element, even before MAP itself.  */
+	  preload (aux);
+	  naux = 1;
+	}
     }
 
+  /* Start the search list with one element: MAP itself.  */
+  preload (map);
+
+  /* Add the preloaded items after MAP but before any of its dependencies.  */
+  for (i = 0; i < npreloads; ++i)
+    preload (preloads[i]);
+
   /* Terminate the lists.  */
-  head[nlist].next = NULL;
+  head[nlist - 1].next = NULL;
   duphead.next = NULL;
 
   /* Start here for adding dependencies to the list.  */
-  tailp = &head[nlist++];
+  tailp = &head[nlist - 1];
 
   /* Until now we have the same number of libraries in the normal and
      the list with duplicates.  */
@@ -104,7 +136,7 @@ _dl_map_object_deps (struct link_map *map,
 		    dep->l_reserved = 1;
 		  }
 
-		/* In any case Append DEP to the duplicates search list.  */
+		/* In any case append DEP to the duplicates search list.  */
 		duptailp->next = alloca (sizeof *duptailp);
 		duptailp = duptailp->next;
 		duptailp->map = dep;
@@ -117,6 +149,9 @@ _dl_map_object_deps (struct link_map *map,
   /* Store the search list we built in the object.  It will be used for
      searches in the scope of this object.  */
   map->l_searchlist = malloc (nlist * sizeof (struct link_map *));
+  if (map->l_searchlist == NULL)
+    _dl_signal_error (ENOMEM, map->l_name,
+		      "cannot allocate symbol search list");
   map->l_nsearchlist = nlist;
 
   nlist = 0;
@@ -130,9 +165,12 @@ _dl_map_object_deps (struct link_map *map,
     }
 
   map->l_dupsearchlist = malloc (nduplist * sizeof (struct link_map *));
+  if (map->l_dupsearchlist == NULL)
+    _dl_signal_error (ENOMEM, map->l_name,
+		      "cannot allocate symbol search list");
   map->l_ndupsearchlist = nduplist;
 
-  for (nlist = 0; nlist < npreloads + 1; ++nlist)
+  for (nlist = 0; nlist < naux + 1 + npreloads; ++nlist)
     map->l_dupsearchlist[nlist] = head[nlist].map;
   for (scanp = duphead.next; scanp; scanp = scanp->next)
     map->l_dupsearchlist[nlist++] = scanp->map;
diff --git a/elf/dl-error.c b/elf/dl-error.c
index 55d9c2fc93..52eb577eb0 100644
--- a/elf/dl-error.c
+++ b/elf/dl-error.c
@@ -1,5 +1,5 @@
 /* Error handling for runtime dynamic linker.
-   Copyright (C) 1995, 1996 Free Software Foundation, Inc.
+   Copyright (C) 1995, 1996, 1997 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
@@ -76,21 +76,22 @@ _dl_catch_error (char **errstring,
 		 void (*operate) (void))
 {
   int errcode;
-  struct catch c = { errstring: NULL, objname: NULL };
+  struct catch *old, c = { errstring: NULL, objname: NULL };
 
+  old = catch;
   errcode = setjmp (c.env);
   if (errcode == 0)
     {
       catch = &c;
       (*operate) ();
-      catch = NULL;
+      catch = old;
       *errstring = NULL;
       *objname = NULL;
       return 0;
     }
 
   /* We get here only if we longjmp'd out of OPERATE.  */
-  catch = NULL;
+  catch = old;
   *errstring = c.errstring;
   *objname = c.objname;
   return errcode == -1 ? 0 : errcode;
diff --git a/elf/dynamic-link.h b/elf/dynamic-link.h
index 97eb6a58c8..c613f824d8 100644
--- a/elf/dynamic-link.h
+++ b/elf/dynamic-link.h
@@ -1,5 +1,5 @@
 /* Inline functions for dynamic linking.
-   Copyright (C) 1995, 1996 Free Software Foundation, Inc.
+   Copyright (C) 1995, 1996, 1997 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
@@ -25,11 +25,12 @@
 /* Read the dynamic section at DYN and fill in INFO with indices DT_*.  */
 
 static inline void __attribute__ ((unused))
-elf_get_dynamic_info (ElfW(Dyn) *dyn, ElfW(Dyn) *info[DT_NUM + DT_PROCNUM])
+elf_get_dynamic_info (ElfW(Dyn) *dyn,
+		      ElfW(Dyn) *info[DT_NUM + DT_PROCNUM + DT_EXTRANUM])
 {
   unsigned int i;
 
-  for (i = 0; i < DT_NUM + DT_PROCNUM; ++i)
+  for (i = 0; i < DT_NUM + DT_PROCNUM + DT_EXTRANUM; ++i)
     info[i] = NULL;
 
   if (! dyn)
@@ -42,6 +43,8 @@ elf_get_dynamic_info (ElfW(Dyn) *dyn, ElfW(Dyn) *info[DT_NUM + DT_PROCNUM])
       else if (dyn->d_tag >= DT_LOPROC &&
 	       dyn->d_tag < DT_LOPROC + DT_PROCNUM)
 	info[dyn->d_tag - DT_LOPROC + DT_NUM] = dyn;
+      else if ((Elf32_Word) DT_EXTRATAGIDX (dyn->d_tag) < DT_EXTRANUM)
+	info[DT_EXTRATAGIDX (dyn->d_tag) + DT_NUM + DT_PROCNUM] = dyn;
       else
 	assert (! "bad dynamic tag");
       dyn++;
diff --git a/elf/elf.h b/elf/elf.h
index f111508889..d25934b411 100644
--- a/elf/elf.h
+++ b/elf/elf.h
@@ -1,5 +1,5 @@
 /* This file defines standard ELF types, structures, and macros.
-   Copyright (C) 1995, 1996 Free Software Foundation, Inc.
+   Copyright (C) 1995, 1996, 1997 Free Software Foundation, Inc.
    This file is part of the GNU C Library.
    Contributed by Ian Lance Taylor <ian@cygnus.com>.
 
@@ -464,6 +464,14 @@ typedef struct
 #define DT_HIPROC	0x7fffffff	/* End of processor-specific */
 #define	DT_PROCNUM	DT_MIPS_NUM	/* Most used by any processor */
 
+/* Sun added these machine-independent extensions in the "processor-specific"
+   range.  Be compatible.  */
+#define DT_AUXILIARY    0x7ffffffd      /* Shared object to load before self */
+#define DT_FILTER       0x7fffffff      /* Shared object to get values from */
+#define DT_EXTRATAGIDX(tag)	((Elf32_Word)-((Elf32_Sword) (tag) <<1>>1)-1)
+#define DT_EXTRANUM	3
+
+
 /* Auxiliary vector.  */
 
 /* This vector is normally only used by the program interpreter.  The
diff --git a/elf/ldd.bash.in b/elf/ldd.bash.in
index 311ef82550..6e2b51591a 100644
--- a/elf/ldd.bash.in
+++ b/elf/ldd.bash.in
@@ -1,6 +1,6 @@
 #! @BASH@
 
-# Copyright (C) 1996 Free Software Foundation, Inc.
+# Copyright (C) 1996, 1997 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
@@ -34,7 +34,7 @@ while test $# -gt 0; do
   case "$1" in
   --v*)
     echo $"ldd (GNU libc) @VERSION@
-Copyright (C) 1996 Free Software Foundation, Inc.
+Copyright (C) 1996, 1997 Free Software Foundation, Inc.
 This is free software; see the source for copying conditions.  There is NO
 warranty; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE."
     exit 0 ;;
@@ -42,7 +42,7 @@ warranty; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE."
     echo $"ldd [OPTION]... FILE...
   --help           print this help and exit
   --version        print version information and exit
-Report bugs to <bug-glibc@prep.ai.mit.edu>."
+Report bugs using the \`glibcbug' script to <bugs@gnu.ai.mit.edu>."
     exit 0 ;;
   --)		# Stop option processing.
     shift; break ;;
diff --git a/elf/ldd.sh.in b/elf/ldd.sh.in
index 7b7276f544..5b6cc3a75d 100644
--- a/elf/ldd.sh.in
+++ b/elf/ldd.sh.in
@@ -1,6 +1,6 @@
 #! /bin/sh
 
-# Copyright (C) 1996 Free Software Foundation, Inc.
+# Copyright (C) 1996, 1997 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
@@ -30,15 +30,15 @@ while test $# -gt 0; do
   case "$1" in
   --v*)
     echo 'ldd (GNU libc) @VERSION@
-Copyright (C) 1996 Free Software Foundation, Inc.
+Copyright (C) 1996, 1997 Free Software Foundation, Inc.
 This is free software; see the source for copying conditions.  There is NO
 warranty; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.'
     exit 0 ;;
   --h*)
-    echo 'ldd [OPTION]... FILE...
+    echo "ldd [OPTION]... FILE...
   --help           print this help and exit
   --version        print version information and exit
-Report bugs to <bug-glibc@prep.ai.mit.edu>.'
+Report bugs using the \`glibcbug' script to <bugs@gnu.ai.mit.edu>."
     exit 0 ;;
   --)		# Stop option processing.
     shift; break ;;
diff --git a/elf/link.h b/elf/link.h
index b277bf75c1..7e0b60793f 100644
--- a/elf/link.h
+++ b/elf/link.h
@@ -1,5 +1,5 @@
 /* Run-time dynamic linker data structures for loaded ELF shared objects.
-   Copyright (C) 1995, 1996 Free Software Foundation, Inc.
+   Copyright (C) 1995, 1996, 1997 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
@@ -97,8 +97,11 @@ struct link_map
     const char *l_libname;	/* Name requested (before search).  */
     /* Indexed pointers to dynamic section.
        [0,DT_NUM) are indexed by the processor-independent tags.
-       [DT_NUM,DT_NUM+DT_PROCNUM] are indexed by the tag minus DT_LOPROC.  */
-    ElfW(Dyn) *l_info[DT_NUM + DT_PROCNUM];
+       [DT_NUM,DT_NUM+DT_PROCNUM) are indexed by the tag minus DT_LOPROC.
+       [DT_NUM+DT_PROCNUM,DT_NUM+DT_PROCNUM+DT_EXTRANUM) are indexed
+       by DT_EXTRATAGIDX(tagvalue) (see <elf.h>).  */
+
+    ElfW(Dyn) *l_info[DT_NUM + DT_PROCNUM + DT_EXTRANUM];
     const ElfW(Phdr) *l_phdr;	/* Pointer to program header table in core.  */
     ElfW(Addr) l_entry;		/* Entry point location.  */
     ElfW(Half) l_phnum;		/* Number of program header entries.  */
diff --git a/features.h b/features.h
index 00cccc33de..988c7960e7 100644
--- a/features.h
+++ b/features.h
@@ -1,4 +1,4 @@
-/* Copyright (C) 1991, 92, 93, 95, 96 Free Software Foundation, Inc.
+/* Copyright (C) 1991, 92, 93, 95, 96, 97 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
@@ -95,7 +95,7 @@
 /* If _BSD_SOURCE was defined by the user, favor BSD over POSIX.  */
 #if defined _BSD_SOURCE && \
     !(defined _POSIX_SOURCE || defined _POSIX_C_SOURCE || \
-      defined _XOPEN_SOURCE || defined _XOPEN_SOURCE_DEFINED || \
+      defined _XOPEN_SOURCE || defined _XOPEN_SOURCE_EXTENDED || \
       defined _GNU_SOURCE || defined _SVID_SOURCE)
 # define __FAVOR_BSD	1
 #endif
diff --git a/glibcbug.in b/glibcbug.in
new file mode 100644
index 0000000000..c23f32a9ea
--- /dev/null
+++ b/glibcbug.in
@@ -0,0 +1,253 @@
+#! /bin/sh
+#
+# glibcbug - create a bug report and mail it to the bug address.
+#
+# configuration section:
+#       these variables are filled in by configure
+#
+VERSION="@VERSION@"
+BUGGLIBC="bugs@gnu.ai.mit.edu"
+ADDONS="@subdirs@"
+
+PATH=/bin:/usr/bin:/usr/local/bin:$PATH
+export PATH
+
+TEMP=/tmp/glibcbug.$$
+
+BUGADDR=${1-$BUGGLIBC}
+ENVIRONMENT=`uname -a`
+
+: ${EDITOR=emacs}
+
+: ${USER=${LOGNAME-`whoami`}}
+
+trap 'rm -f $TEMP $TEMP.x; exit 1' 1 2 3 13 15
+trap 'rm -f $TEMP $TEMP.x' 0
+
+
+# How to read the passwd database.
+PASSWD="cat /etc/passwd"
+
+if [ -f /usr/lib/sendmail ] ; then
+        RMAIL="/usr/lib/sendmail -oi -t"
+elif [ -f /usr/sbin/sendmail ] ; then
+        RMAIL="/usr/sbin/sendmail -oi -t"
+else
+        RMAIL=rmail
+fi
+
+# Figure out how to echo a string without a trailing newline
+N=`echo 'hi there\c'`
+case "$N" in
+*c)	ECHON1='echo -n' ECHON2= ;;
+*)	ECHON1=echo ECHON2='\c' ;;
+esac
+
+# Find out the name of the originator of this PR.
+if [ -n "$NAME" ]; then
+  ORIGINATOR="$NAME"
+elif [ -f $HOME/.fullname ]; then
+  ORIGINATOR="`sed -e '1q' $HOME/.fullname`"
+else
+  # Must use temp file due to incompatibilities in quoting behavior
+  # and to protect shell metacharacters in the expansion of $LOGNAME
+  $PASSWD | grep "^$LOGNAME:" | awk -F: '{print $5}' | sed -e 's/,.*//' > $TEMP
+  ORIGINATOR="`cat $TEMP`"
+  rm -f $TEMP
+fi
+
+if [ -n "$ORGANIZATION" ]; then
+  if [ -f "$ORGANIZATION" ]; then
+    ORGANIZATION="`cat $ORGANIZATION`"
+  fi
+else
+  if [ -f $HOME/.organization ]; then
+    ORGANIZATION="`cat $HOME/.organization`"
+  elif [ -f $HOME/.signature ]; then
+    ORGANIZATION=`sed -e "s/^/  /" $HOME/.signature; echo ">"`
+  fi
+fi
+
+# If they don't have a preferred editor set, then use
+if [ -z "$VISUAL" ]; then
+  if [ -z "$EDITOR" ]; then
+    EDIT=vi
+  else
+    EDIT="$EDITOR"
+  fi
+else
+  EDIT="$VISUAL"
+fi
+
+# Find out some information.
+SYSTEM=`( [ -f /bin/uname ] && /bin/uname -a ) || \
+        ( [ -f /usr/bin/uname ] && /usr/bin/uname -a ) || echo ""`
+ARCH=`[ -f /bin/arch ] && /bin/arch`
+MACHINE=`[ -f /bin/machine ] && /bin/machine`
+
+ORGANIZATION_C='<organization of PR author (multiple lines)>'
+CONFIDENTIAL_C='<[ yes | no ] (one line)>'
+SYNOPSIS_C='<synopsis of the problem (one line)>'
+SEVERITY_C='<[ non-critical | serious | critical ] (one line)>'
+PRIORITY_C='<[ low | medium | high ] (one line)>'
+CLASS_C='<[ sw-bug | doc-bug | change-request | support ] (one line)>'
+RELEASE_C='<release number or tag (one line)>'
+ENVIRONMENT_C='<machine, os, target, libraries (multiple lines)>'
+DESCRIPTION_C='<precise description of the problem (multiple lines)>'
+HOW_TO_REPEAT_C='<code/input/activities to reproduce the problem (multiple lines)>'
+FIX_C='<how to correct or work around the problem, if known (multiple lines)>'
+
+
+cat > $TEMP <<EOF
+SEND-PR: -*- send-pr -*-
+SEND-PR: Lines starting with \`SEND-PR' will be removed automatically, as
+SEND-PR: will all comments (text enclosed in \`<' and \`>').
+SEND-PR:
+From: ${USER}
+To: ${BUGADDR}
+Subject: [50 character or so descriptive subject here (for reference)]
+
+>Submitter-Id:	<submitter ID>
+>Originator:	${ORIGINATOR}
+>Organization:
+${ORGANIZATION- $ORGANIZATION_C}
+>Confidential:	$CONFIDENTIAL_C
+>Synopsis:	$SYNOPSIS_C
+>Severity:	$SEVERITY_C
+>Priority:	$PRIORITY_C
+>Category:	libc
+>Class:		$CLASS_C
+>Release:	libc-${VERSION}
+>Environment:
+	<machine, os, target, libraries (multiple lines)>
+`[ -n "$SYSTEM" ] && echo System: $SYSTEM`
+`[ -n "$ARCH" ] && echo Architecture: $ARCH`
+`[ -n "$MACHINE" ] && echo Machine: $MACHINE`
+`[ -n "$ADDONS" ] && echo Addons: $ADDONS`
+
+>Description:
+	$DESCRIPTION_C
+>How-To-Repeat:
+	$HOW_TO_REPEAT_C
+>Fix:
+	$FIX_C
+EOF
+
+chmod u+w $TEMP
+cp $TEMP $TEMP.x
+
+eval $EDIT $TEMP
+
+if cmp -s $TEMP $TEMP.x; then
+	echo "File not changed, no bug report submitted."
+	exit 1
+fi
+
+#
+#       Check the enumeration fields
+
+# This is a "sed-subroutine" with one keyword parameter
+# (with workaround for Sun sed bug)
+#
+SED_CMD='
+/$PATTERN/{
+s|||
+s|<.*>||
+s|^[    ]*||
+s|[     ]*$||
+p
+q
+}'
+
+
+while :; do
+  CNT=0
+
+  # 1) Confidential
+  #
+  PATTERN=">Confidential:"
+  CONFIDENTIAL=`eval sed -n -e "\"$SED_CMD\"" $TEMP`
+  case "$CONFIDENTIAL" in
+    ""|yes|no) CNT=`expr $CNT + 1` ;;
+    *) echo "$COMMAND: \`$CONFIDENTIAL' is not a valid value for \`Confidential'." ;;
+  esac
+  #
+  # 2) Severity
+  #
+  PATTERN=">Severity:"
+  SEVERITY=`eval sed -n -e "\"$SED_CMD\"" $TEMP`
+  case "$SEVERITY" in
+    ""|non-critical|serious|critical) CNT=`expr $CNT + 1` ;;
+    *)  echo "$COMMAND: \`$SEVERITY' is not a valid value for \`Severity'."
+  esac
+  #
+  # 3) Priority
+  #
+  PATTERN=">Priority:"
+  PRIORITY=`eval sed -n -e "\"$SED_CMD\"" $TEMP`
+  case "$PRIORITY" in
+    ""|low|medium|high) CNT=`expr $CNT + 1` ;;
+    *)  echo "$COMMAND: \`$PRIORITY' is not a valid value for \`Priority'."
+  esac
+  #
+  # 4) Class
+  #
+  PATTERN=">Class:"
+  CLASS=`eval sed -n -e "\"$SED_CMD\"" $TEMP`
+  case "$CLASS" in
+    ""|sw-bug|doc-bug|change-request|support) CNT=`expr $CNT + 1` ;;
+    *)  echo "$COMMAND: \`$CLASS' is not a valid value for \`Class'."
+  esac
+
+  [ $CNT -lt 5 ] &&
+    echo "Errors were found with the problem report."
+
+  while :; do
+    $ECHON1 "a)bort, e)dit or s)end? $ECHON2"
+    read input
+    case "$input" in
+      a*)
+	echo "$COMMAND: problem report saved in $HOME/dead.glibcbug."
+	cat $TEMP >> $HOME/dead.glibcbug
+        xs=1; exit
+        ;;
+      e*)
+        eval $EDIT $TEMP
+        continue 2
+        ;;
+      s*)
+        break 2
+        ;;
+    esac
+  done
+done
+#
+#       Remove comments and send the problem report
+#       (we have to use patterns, where the comment contains regex chars)
+#
+# /^>Originator:/s;$ORIGINATOR;;
+sed  -e "
+/^SEND-PR:/d
+/^>Organization:/,/^>[A-Za-z-]*:/s;$ORGANIZATION_C;;
+/^>Confidential:/s;<.*>;;
+/^>Synopsis:/s;$SYNOPSIS_C;;
+/^>Severity:/s;<.*>;;
+/^>Priority:/s;<.*>;;
+/^>Class:/s;<.*>;;
+/^>Release:/,/^>[A-Za-z-]*:/s;$RELEASE_C;;
+/^>Environment:/,/^>[A-Za-z-]*:/s;$ENVIRONMENT_C;;
+/^>Description:/,/^>[A-Za-z-]*:/s;$DESCRIPTION_C;;
+/^>How-To-Repeat:/,/^>[A-Za-z-]*:/s;$HOW_TO_REPEAT_C;;
+/^>Fix:/,/^>[A-Za-z-]*:/s;$FIX_C;;
+" $TEMP > $REF
+
+if $MAIL_AGENT < $REF; then
+  echo "$COMMAND: problem report sent"
+  xs=0; exit
+else
+  echo "$COMMAND: mysterious mail failure, report not sent."
+  echo "$COMMAND: problem report saved in $HOME/dead.glibcbug."
+  cat $TEMP >> $HOME/dead.glibcbug
+fi
+
+exit 0
diff --git a/inet/Makefile b/inet/Makefile
index 96f19923da..e965390a63 100644
--- a/inet/Makefile
+++ b/inet/Makefile
@@ -1,4 +1,4 @@
-# Copyright (C) 1991, 92, 93, 94, 95, 96 Free Software Foundation, Inc.
+# Copyright (C) 1991, 92, 93, 94, 95, 96, 97 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
@@ -22,7 +22,7 @@
 subdir	:= inet
 
 headers	:= netinet/ether.h netinet/in.h netinet/if_ether.h \
-	   netinet/tcp.h $(wildcard arpa/*.h protocols/*.h) \
+	   netinet/tcp.h netinet/ip.h $(wildcard arpa/*.h protocols/*.h) \
 	   aliases.h
 
 distribute := netgroup.h
diff --git a/inet/netinet/ip.h b/inet/netinet/ip.h
new file mode 100644
index 0000000000..6624ac458e
--- /dev/null
+++ b/inet/netinet/ip.h
@@ -0,0 +1,164 @@
+/*
+ * Copyright (c) 1982, 1986, 1993
+ *	The Regents of the University of California.  All rights reserved.
+ *
+ * Redistribution and use in source and binary forms, with or without
+ * modification, are permitted provided that the following conditions
+ * are met:
+ * 1. Redistributions of source code must retain the above copyright
+ *    notice, this list of conditions and the following disclaimer.
+ * 2. Redistributions in binary form must reproduce the above copyright
+ *    notice, this list of conditions and the following disclaimer in the
+ *    documentation and/or other materials provided with the distribution.
+ * 3. All advertising materials mentioning features or use of this software
+ *    must display the following acknowledgement:
+ *	This product includes software developed by the University of
+ *	California, Berkeley and its contributors.
+ * 4. Neither the name of the University nor the names of its contributors
+ *    may be used to endorse or promote products derived from this software
+ *    without specific prior written permission.
+ *
+ * THIS SOFTWARE IS PROVIDED BY THE REGENTS AND CONTRIBUTORS ``AS IS'' AND
+ * ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
+ * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
+ * ARE DISCLAIMED.  IN NO EVENT SHALL THE REGENTS OR CONTRIBUTORS BE LIABLE
+ * FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
+ * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS
+ * OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
+ * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
+ * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY
+ * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
+ * SUCH DAMAGE.
+ *
+ *	@(#)ip.h	8.1 (Berkeley) 6/10/93
+ */
+
+#include <gnu/types.h>
+#include <endian.h>
+#include <netinet/in.h>
+
+/*
+ * Definitions for internet protocol version 4.
+ * Per RFC 791, September 1981.
+ */
+#define	IPVERSION	4
+
+/*
+ * Structure of an internet header, naked of options.
+ */
+struct ip {
+#if __BYTE_ORDER == __LITTLE_ENDIAN
+	__u_char  ip_hl:4,		/* header length */
+		  ip_v:4;		/* version */
+#endif
+#if __BYTE_ORDER == __BIG_ENDIAN
+	__u_char  ip_v:4,		/* version */
+		  ip_hl:4;		/* header length */
+#endif
+	__u_char  ip_tos;		/* type of service */
+	__u_short ip_len;		/* total length */
+	__u_short ip_id;		/* identification */
+	__u_short ip_off;		/* fragment offset field */
+#define	IP_RF 0x8000			/* reserved fragment flag */
+#define	IP_DF 0x4000			/* dont fragment flag */
+#define	IP_MF 0x2000			/* more fragments flag */
+#define	IP_OFFMASK 0x1fff		/* mask for fragmenting bits */
+	__u_char  ip_ttl;		/* time to live */
+	__u_char  ip_p;			/* protocol */
+	__u_short ip_sum;		/* checksum */
+	struct	  in_addr ip_src, ip_dst; /* source and dest address */
+};
+
+#define	IP_MAXPACKET	65535		/* maximum packet size */
+
+/*
+ * Definitions for IP type of service (ip_tos)
+ */
+#define	IPTOS_LOWDELAY		0x10
+#define	IPTOS_THROUGHPUT	0x08
+#define	IPTOS_RELIABILITY	0x04
+/*	IPTOS_LOWCOST		0x02 XXX */
+
+/*
+ * Definitions for IP precedence (also in ip_tos) (hopefully unused)
+ */
+#define	IPTOS_PREC_NETCONTROL		0xe0
+#define	IPTOS_PREC_INTERNETCONTROL	0xc0
+#define	IPTOS_PREC_CRITIC_ECP		0xa0
+#define	IPTOS_PREC_FLASHOVERRIDE	0x80
+#define	IPTOS_PREC_FLASH		0x60
+#define	IPTOS_PREC_IMMEDIATE		0x40
+#define	IPTOS_PREC_PRIORITY		0x20
+#define	IPTOS_PREC_ROUTINE		0x00
+
+/*
+ * Definitions for options.
+ */
+#define	IPOPT_COPIED(o)		((o)&0x80)
+#define	IPOPT_CLASS(o)		((o)&0x60)
+#define	IPOPT_NUMBER(o)		((o)&0x1f)
+
+#define	IPOPT_CONTROL		0x00
+#define	IPOPT_RESERVED1		0x20
+#define	IPOPT_DEBMEAS		0x40
+#define	IPOPT_RESERVED2		0x60
+
+#define	IPOPT_EOL		0		/* end of option list */
+#define	IPOPT_NOP		1		/* no operation */
+
+#define	IPOPT_RR		7		/* record packet route */
+#define	IPOPT_TS		68		/* timestamp */
+#define	IPOPT_SECURITY		130		/* provide s,c,h,tcc */
+#define	IPOPT_LSRR		131		/* loose source route */
+#define	IPOPT_SATID		136		/* satnet id */
+#define	IPOPT_SSRR		137		/* strict source route */
+
+/*
+ * Offsets to fields in options other than EOL and NOP.
+ */
+#define	IPOPT_OPTVAL		0		/* option ID */
+#define	IPOPT_OLEN		1		/* option length */
+#define	IPOPT_OFFSET		2		/* offset within option */
+#define	IPOPT_MINOFF		4		/* min value of above */
+
+/*
+ * Time stamp option structure.
+ */
+struct	ip_timestamp {
+	__u_char ipt_code;		/* IPOPT_TS */
+	__u_char ipt_len;		/* size of structure (variable) */
+	__u_char ipt_ptr;		/* index of current entry */
+#if __BYTE_ORDER == __LITTLE_ENDIAN
+	__u_char ipt_flg:4,		/* flags, see below */
+		 ipt_oflw:4;		/* overflow counter */
+#endif
+#if __BYTE_ORDER == __BIG_ENDIAN
+	__u_char ipt_oflw:4,		/* overflow counter */
+		 ipt_flg:4;		/* flags, see below */
+#endif
+	__u_long data[9];
+};
+
+/* flag bits for ipt_flg */
+#define	IPOPT_TS_TSONLY		0		/* timestamps only */
+#define	IPOPT_TS_TSANDADDR	1		/* timestamps and addresses */
+#define	IPOPT_TS_PRESPEC	3		/* specified modules only */
+
+/* bits for security (not byte swapped) */
+#define	IPOPT_SECUR_UNCLASS	0x0000
+#define	IPOPT_SECUR_CONFID	0xf135
+#define	IPOPT_SECUR_EFTO	0x789a
+#define	IPOPT_SECUR_MMMM	0xbc4d
+#define	IPOPT_SECUR_RESTR	0xaf13
+#define	IPOPT_SECUR_SECRET	0xd788
+#define	IPOPT_SECUR_TOPSECRET	0x6bc5
+
+/*
+ * Internet implementation parameters.
+ */
+#define	MAXTTL		255		/* maximum time to live (seconds) */
+#define	IPDEFTTL	64		/* default ttl, from RFC 1340 */
+#define	IPFRAGTTL	60		/* time to live for frags, slowhz */
+#define	IPTTLDEC	1		/* subtracted when forwarding */
+
+#define	IP_MSS		576		/* default maximum segment size */
diff --git a/intl/finddomain.c b/intl/finddomain.c
index ad03a45923..9b531c4f66 100644
--- a/intl/finddomain.c
+++ b/intl/finddomain.c
@@ -1,5 +1,5 @@
 /* finddomain.c -- handle list of needed message catalogs
-   Copyright (C) 1995, 1996 Free Software Foundation, Inc.
+   Copyright (C) 1995, 1996, 1997 Free Software Foundation, Inc.
    Written by Ulrich Drepper <drepper@gnu.ai.mit.edu>, 1995.
 
    This file is part of the GNU C Library.  Its master source is NOT part of
@@ -63,18 +63,6 @@ void free ();
 #endif
 
 /* @@ end of prolog @@ */
-
-#ifdef _LIBC
-/* Rename the non ANSI C functions.  This is required by the standard
-   because some ANSI C functions will require linking with this object
-   file and the name space must not be polluted.  */
-# define stpcpy(dest, src) __stpcpy(dest, src)
-#else
-# ifndef HAVE_STPCPY
-static char *stpcpy PARAMS ((char *dest, const char *src));
-# endif
-#endif
-
 /* List of already loaded domains.  */
 static struct loaded_l10nfile *_nl_loaded_domains;
 
@@ -200,21 +188,3 @@ _nl_find_domain (dirname, locale, domainname)
 
   return retval;
 }
-
-/* @@ begin of epilog @@ */
-
-/* We don't want libintl.a to depend on any other library.  So we
-   avoid the non-standard function stpcpy.  In GNU C Library this
-   function is available, though.  Also allow the symbol HAVE_STPCPY
-   to be defined.  */
-#if !_LIBC && !HAVE_STPCPY
-static char *
-stpcpy (dest, src)
-     char *dest;
-     const char *src;
-{
-  while ((*dest++ = *src++) != '\0')
-    /* Do nothing. */ ;
-  return dest - 1;
-}
-#endif
diff --git a/intl/locale.alias b/intl/locale.alias
index 99ce5d1f46..e685298ee6 100644
--- a/intl/locale.alias
+++ b/intl/locale.alias
@@ -1,5 +1,5 @@
-# Locale name alias data base
-# Copyright (C) 1996 Free Software Foundation, Inc.
+# Locale name alias data base.
+# Copyright (C) 1996, 1997 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
@@ -22,8 +22,9 @@
 # All entries are case independent.
 
 # Note: This file is far from being complete.  If you have a value for
-# your own site which you think might be useful for others too, share it
-# with the rest of us.  Send it to bug-gnu-utils@prep.ai.mit.edu.
+# your own site which you think might be useful for others too, share
+# it with the rest of us.  Send it using the `glibcbug' script to
+# bugs@gnu.ai.mit.edu.
 
 czech		cs_CZ.ISO-8859-2
 danish          da_DK.ISO-8859-1
diff --git a/io/ftw.c b/io/ftw.c
index 6bd97e6999..d7ec716936 100644
--- a/io/ftw.c
+++ b/io/ftw.c
@@ -1,4 +1,4 @@
-/* Copyright (C) 1992, 1995, 1996 Free Software Foundation, Inc.
+/* Copyright (C) 1992, 1995, 1996, 1997 Free Software Foundation, Inc.
    This file is part of the GNU C Library.
    Contributed by Ian Lance Taylor (ian@airs.com).
 
@@ -36,7 +36,7 @@
 
 static int
 ftw_dir (DIR **dirs, int level, int descriptors, char *dir, size_t len,
-	 int (*func) (const char *file, struct stat *status, int flag))
+	 int (*func) (const char *file, const struct stat *status, int flag))
 {
   int got;
   struct dirent *entry;
@@ -151,7 +151,7 @@ ftw_dir (DIR **dirs, int level, int descriptors, char *dir, size_t len,
 
 int
 ftw (const char *dir,
-     int (*func) (const char *file, struct stat *status, int flag),
+     int (*func) (const char *file, const struct stat *status, int flag),
      int descriptors)
 {
   DIR **dirs;
diff --git a/io/ftw.h b/io/ftw.h
index 9cc9b4fd18..0bfdf37431 100644
--- a/io/ftw.h
+++ b/io/ftw.h
@@ -1,4 +1,4 @@
-/* Copyright (C) 1992, 1996 Free Software Foundation, Inc.
+/* Copyright (C) 1992, 1996, 1997 Free Software Foundation, Inc.
    This file is part of the GNU C Library.
    Contributed by Ian Lance Taylor (ian@airs.com).
 
@@ -37,7 +37,7 @@
 /* Call a function on every element in a directory tree.  */
 extern int ftw __P ((__const char *__dir,
 		     int (*__func) (__const char *__file,
-				    struct stat *__status,
+				    __const struct stat *__status,
 				    int __flag),
 		     int __descriptors));
 
diff --git a/libio/_G_config.h b/libio/_G_config.h
index 5fa7300bf7..4b47e886a5 100644
--- a/libio/_G_config.h
+++ b/libio/_G_config.h
@@ -33,6 +33,7 @@ typedef unsigned int _G_uint32_t __attribute__ ((__mode__ (__SI__)));
 
 #define _G_HAVE_PRINTF_FP 1
 #define _G_HAVE_MMAP 1
+#define _G_HAVE_LONG_DOUBLE_IO 1
 
 /* This is defined by <statbuf.h> if `st_blksize' exists.  */
 #define _G_HAVE_ST_BLKSIZE defined (_STATBUF_ST_BLKSIZE)
diff --git a/libio/fcloseall.c b/libio/fcloseall.c
index 56233b0a5c..05693f3b61 100644
--- a/libio/fcloseall.c
+++ b/libio/fcloseall.c
@@ -1,5 +1,5 @@
 /*
-Copyright (C) 1993, 1995, 1996 Free Software Foundation, Inc.
+Copyright (C) 1993, 1995, 1996, 1997 Free Software Foundation, Inc.
 
 This file is part of the GNU IO Library.  This library is free
 software; you can redistribute it and/or modify it under the
@@ -23,9 +23,7 @@ This exception does not however invalidate any other reasons why
 the executable file might be covered by the GNU General Public License. */
 
 #include "libioP.h"
-#ifdef __STDC__
-#include <stdlib.h>
-#endif
+#include <stdio.h>
 
 int
 __fcloseall ()
diff --git a/libio/genops.c b/libio/genops.c
index 3267aa32c9..e57328d529 100644
--- a/libio/genops.c
+++ b/libio/genops.c
@@ -466,7 +466,7 @@ DEFUN(_IO_init, (fp, flags),
   fp->_markers = NULL;
   fp->_cur_column = 0;
 #ifdef _IO_MTSAFE_IO
-  _IO_lock_init_recursive (*fp->_lock);
+  _IO_lock_init (*fp->_lock);
 #endif
 }
 
diff --git a/libio/stdfiles.c b/libio/stdfiles.c
index c50d5f1d8b..7c6f789912 100644
--- a/libio/stdfiles.c
+++ b/libio/stdfiles.c
@@ -1,5 +1,5 @@
-/* 
-Copyright (C) 1993, 1994 Free Software Foundation
+/*
+Copyright (C) 1993, 1994, 1996, 1997 Free Software Foundation
 
 This file is part of the GNU IO Library.  This library is free
 software; you can redistribute it and/or modify it under the
@@ -33,7 +33,7 @@ the executable file might be covered by the GNU General Public License. */
 
 #ifdef _IO_MTSAFE_IO
 #define DEF_STDFILE(NAME, FD, CHAIN, FLAGS) \
-  static _IO_lock_t _IO_stdfile_##FD##_lock = _IO_lock_init; \
+  static _IO_lock_t _IO_stdfile_##FD##_lock = _IO_lock_initializer; \
   struct _IO_FILE_plus NAME \
     = {FILEBUF_LITERAL(CHAIN, FLAGS, FD), &_IO_file_jumps}
 #else
diff --git a/locale/programs/charmap.c b/locale/programs/charmap.c
index 8d7b4cf391..6b4ebb4a60 100644
--- a/locale/programs/charmap.c
+++ b/locale/programs/charmap.c
@@ -1,21 +1,21 @@
-/* Copyright (C) 1996 Free Software Foundation, Inc.
-This file is part of the GNU C Library.
-Contributed by Ulrich Drepper, <drepper@gnu.ai.mit.edu>.
+/* Copyright (C) 1996, 1997 Free Software Foundation, Inc.
+   This file is part of the GNU C Library.
+   Contributed by Ulrich Drepper <drepper@gnu.ai.mit.edu>, 1996.
 
-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 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.
+   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.  */
+   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.  */
 
 #ifdef HAVE_CONFIG_H
 # include <config.h>
@@ -128,7 +128,7 @@ parse_charmap (const char *filename)
   /* The default DEFAULT_WIDTH is 1.  */
   result->width_default = 1;
 
-#define obstack_chunk_alloc xmalloc
+#define obstack_chunk_alloc malloc
 #define obstack_chunk_free free
   obstack_init (&result->mem_pool);
 
diff --git a/locale/programs/ld-collate.c b/locale/programs/ld-collate.c
index 19f26c8688..d4b0f2b903 100644
--- a/locale/programs/ld-collate.c
+++ b/locale/programs/ld-collate.c
@@ -1,4 +1,4 @@
-/* Copyright (C) 1995, 1996 Free Software Foundation, Inc.
+/* Copyright (C) 1995, 1996, 1997 Free Software Foundation, Inc.
    This file is part of the GNU C Library.
    Contributed by Ulrich Drepper <drepper@gnu.ai.mit.edu>, 1995.
 
@@ -145,7 +145,7 @@ void *xmalloc (size_t __n);
 void *xrealloc (void *__p, size_t __n);
 
 
-#define obstack_chunk_alloc xmalloc
+#define obstack_chunk_alloc malloc
 #define obstack_chunk_free free
 
 
diff --git a/locale/programs/locale.c b/locale/programs/locale.c
index 9a2c6c4aa1..d42081bb53 100644
--- a/locale/programs/locale.c
+++ b/locale/programs/locale.c
@@ -1,5 +1,5 @@
 /* locale - Implementation of the locale program according to POSIX 1003.2
-   Copyright (C) 1995, 1996 Free Software Foundation, Inc.
+   Copyright (C) 1995, 1996, 1997 Free Software Foundation, Inc.
    This file is part of the GNU C Library.
    Contributed by Ulrich Drepper <drepper@gnu.ai.mit.edu>, 1995.
 
@@ -188,7 +188,7 @@ main (int argc, char *argv[])
 Copyright (C) %s Free Software Foundation, Inc.\n\
 This is free software; see the source for copying conditions.  There is NO\n\
 warranty; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.\n\
-"), "1995, 1996");
+"), "1995, 1996, 1997");
       printf (_("Written by %s.\n"), "Ulrich Drepper");
 
       exit (EXIT_SUCCESS);
@@ -254,7 +254,8 @@ Mandatory arguments to long options are mandatory for short options too.\n\
   -c, --category-name   write names of selected categories\n\
   -k, --keyword-name    write names of selected keywords\n"),
 	      __progname);
-      fputs (gettext ("Report bugs to <bug-glibc@prep.ai.mit.edu>.\n"),
+      fputs (gettext ("\
+Report bugs using the `glibcbug' script to <bugs@gnu.ai.mit.edu>.\n"),
 	     stdout);
     }
 
diff --git a/locale/programs/localedef.c b/locale/programs/localedef.c
index e9b934c533..950f0d0e31 100644
--- a/locale/programs/localedef.c
+++ b/locale/programs/localedef.c
@@ -1,4 +1,4 @@
-/* Copyright (C) 1995, 1996 Free Software Foundation, Inc.
+/* Copyright (C) 1995, 1996, 1997 Free Software Foundation, Inc.
    This file is part of the GNU C Library.
    Contributed by Ulrich Drepper <drepper@gnu.ai.mit.edu>, 1995.
 
@@ -178,7 +178,7 @@ main (int argc, char *argv[])
 Copyright (C) %s Free Software Foundation, Inc.\n\
 This is free software; see the source for copying conditions.  There is NO\n\
 warranty; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.\n\
-"), "1995, 1996");
+"), "1995, 1996, 1997");
       printf (_("Written by %s.\n"), "Ulrich Drepper");
 
       exit (0);
@@ -405,7 +405,8 @@ Mandatory arguments to long options are mandatory for short options too.\n\
 System's directory for character maps: %s\n\
                        locale files  : %s\n"),
 	      program_invocation_name, CHARMAP_PATH, LOCALE_PATH);
-      fputs (gettext ("Report bugs to <bug-glibc@prep.ai.mit.edu>.\n"),
+      fputs (gettext ("\
+Report bugs using the `glibcbug' script to <bugs@gnu.ai.mit.edu>.\n"),
 	     stdout);
     }
 
diff --git a/locale/programs/simple-hash.c b/locale/programs/simple-hash.c
index 234ba0c49e..5d8a93cda9 100644
--- a/locale/programs/simple-hash.c
+++ b/locale/programs/simple-hash.c
@@ -1,20 +1,21 @@
-/* hash - implement simple hashing table with string based keys.
-   Copyright (C) 1994, 1995, 1996 Free Software Foundation, Inc.
+/* Implement simple hashing table with string based keys.
+   Copyright (C) 1994, 1995, 1996, 1997 Free Software Foundation, Inc.
    Written by Ulrich Drepper <drepper@gnu.ai.mit.edu>, October 1994.
 
-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
-the Free Software Foundation; either version 2, or (at your option)
-any later version.
+   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.
 
-This program 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 General Public License for more details.
+   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 General Public License
-along with this program; if not, write to the Free Software
-Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA.  */
+   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.  */
 
 #ifdef HAVE_CONFIG_H
 # include <config.h>
@@ -37,7 +38,7 @@ Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA.  */
 
 #include "simple-hash.h"
 
-#define obstack_chunk_alloc xmalloc
+#define obstack_chunk_alloc malloc
 #define obstack_chunk_free free
 
 #ifndef BITSPERBYTE
diff --git a/malloc/mcheck.c b/malloc/mcheck.c
index 7f1112ea8b..1a80a56570 100644
--- a/malloc/mcheck.c
+++ b/malloc/mcheck.c
@@ -1,5 +1,5 @@
 /* Standard debugging hooks for `malloc'.
-   Copyright (C) 1990,91,92,93,94,95,96 Free Software Foundation, Inc.
+   Copyright (C) 1990,91,92,93,94,95,96,97 Free Software Foundation, Inc.
    Written May 1989 by Mike Haertel.
 
    This library is free software; you can redistribute it and/or
@@ -49,6 +49,7 @@ struct hdr
   };
 
 #if	defined(_LIBC) || defined(STDC_HEADERS) || defined(USG)
+#include <string.h>
 #define flood memset
 #else
 static void flood __P ((__ptr_t, int, __malloc_size_t));
diff --git a/mcheck.h b/mcheck.h
new file mode 100644
index 0000000000..2fbaebc9d3
--- /dev/null
+++ b/mcheck.h
@@ -0,0 +1,5 @@
+#ifdef USE_NEW_MALLOC
+# include <new-malloc/mcheck.h>
+#else
+# include <malloc/malloc.h>
+#endif
diff --git a/md5-crypt/Makefile b/md5-crypt/Makefile
index 4c461b0c68..cc28db8797 100644
--- a/md5-crypt/Makefile
+++ b/md5-crypt/Makefile
@@ -1,4 +1,4 @@
-# Copyright (C) 1996 Free Software Foundation, Inc.
+# Copyright (C) 1996, 1997 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
@@ -34,7 +34,7 @@ libcrypt-routines := crypt-entry md5-crypt md5
 
 include ../Makeconfig
 
-rpath-link := $(common-objpfx)crypt:$(rpath-link)
+rpath-link := $(common-objpfx)md5-crypt:$(rpath-link)
 
 ifeq ($(crypt-in-libc),yes)
 routines += $(libcrypt-routines)
diff --git a/misc/Makefile b/misc/Makefile
index 74e0a736e7..b789659eaa 100644
--- a/misc/Makefile
+++ b/misc/Makefile
@@ -1,4 +1,4 @@
-# Copyright (C) 1991, 92, 93, 94, 95, 96 Free Software Foundation, Inc.
+# Copyright (C) 1991, 92, 93, 94, 95, 96, 97 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
@@ -29,7 +29,7 @@ headers	:= sys/uio.h iovec.h sys/ioctl.h ioctls.h ioctl-types.h \
 	   sys/mman.h sys/param.h fstab.h mntent.h search.h err.h error.h\
 	   sys/queue.h sysexits.h syscall.h sys/syscall.h sys/swap.h \
 	   sys/select.h ustat.h sys/ustat.h ustatbits.h sys/sysinfo.h \
-	   regexp.h
+	   regexp.h selectbits.h
 
 routines := brk sbrk sstk ioctl \
 	    readv writev \
diff --git a/misc/getpass.c b/misc/getpass.c
index 81c0f689de..74af9b5dc7 100644
--- a/misc/getpass.c
+++ b/misc/getpass.c
@@ -1,4 +1,4 @@
-/* Copyright (C) 1992,1993,1994,1995,1996 Free Software Foundation, Inc.
+/* Copyright (C) 1992, 93, 94, 95, 96, 97 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
@@ -34,8 +34,8 @@ getpass (prompt)
      const char *prompt;
 {
   FILE *in, *out;
-  struct termios t;
-  int echo_off;
+  struct termios s, t;
+  int tty_changed;
   static char *buf = NULL;
   static size_t bufsize = 0;
   ssize_t nread;
@@ -56,17 +56,16 @@ getpass (prompt)
 
   if (tcgetattr (fileno (in), &t) == 0)
     {
-      if (t.c_lflag & ECHO)
-	{
-	  t.c_lflag &= ~ECHO;
-	  echo_off = tcsetattr (fileno (in), TCSAFLUSH|TCSASOFT, &t) == 0;
-	  t.c_lflag |= ECHO;
-	}
-      else
-	echo_off = 0;
+      /* Save the old one. */
+      s = t;
+      /* Tricky, tricky. */
+      t.c_lflag &= ~(ECHO|ISIG|ICANON);
+      t.c_cc[VTIME] = 0;
+      t.c_cc[VMIN] = 1;
+      tty_changed = (tcsetattr (fileno (in), TCSAFLUSH|TCSASOFT, &t) == 0);
     }
   else
-    echo_off = 0;
+    tty_changed = 0;
 
   /* Write the prompt.  */
   fputs (prompt, out);
@@ -81,14 +80,14 @@ getpass (prompt)
       {
 	/* Remove the newline.  */
 	buf[nread - 1] = '\0';
-	if (echo_off)
+	if (tty_changed)
 	  /* Write the newline that was not echoed.  */
 	  putc ('\n', out);
       }
 
-  /* Restore echoing.  */
-  if (echo_off)
-    (void) tcsetattr (fileno (in), TCSAFLUSH|TCSASOFT, &t);
+  /* Restore the original setting.  */
+  if (tty_changed)
+    (void) tcsetattr (fileno (in), TCSAFLUSH|TCSASOFT, &s);
 
   if (in != stdin)
     /* We opened the terminal; now close it.  */
diff --git a/misc/mntent_r.c b/misc/mntent_r.c
index 70da258de6..4dc0358f03 100644
--- a/misc/mntent_r.c
+++ b/misc/mntent_r.c
@@ -1,21 +1,21 @@
 /* Utilities for reading/writing fstab, mtab, etc.
-Copyright (C) 1995, 1996 Free Software Foundation, Inc.
-This file is part of the GNU C Library.
+   Copyright (C) 1995, 1996, 1997 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 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.
+   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., 675 Mass Ave,
-Cambridge, MA 02139, USA.  */
+   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 <mntent.h>
 #include <stdio.h>
@@ -134,6 +134,9 @@ __hasmntopt (const struct mntent *mnt, const char *opt)
 	return p;
 
       rest = strchr (rest, ',');
+      if (rest == NULL)
+	break;
+      ++rest;
     }
 
   return NULL;
diff --git a/misc/sys/select.h b/misc/sys/select.h
index 6a7e0213fb..2e102dd9fe 100644
--- a/misc/sys/select.h
+++ b/misc/sys/select.h
@@ -1,5 +1,5 @@
 /* `fd_set' type and related macros, and `select'/`pselect' declarations.
-   Copyright (C) 1996 Free Software Foundation, Inc.
+   Copyright (C) 1996, 1997 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
@@ -27,6 +27,9 @@
 /* Get definition of needed basic types.  */
 #include <gnu/types.h>
 
+/* Get __FD_* definitions.  */
+#include <selectbits.h>
+
 /* Get definition of timer specification structures.  */
 #define __need_timespec
 #include <time.h>
diff --git a/misc/sys/syscall.h b/misc/sys/syscall.h
deleted file mode 100644
index 27ba3782e3..0000000000
--- a/misc/sys/syscall.h
+++ /dev/null
@@ -1 +0,0 @@
-#include <syscall.h>
diff --git a/po/de.po b/po/de.po
index 62d3774a88..8df1fa9ed3 100644
--- a/po/de.po
+++ b/po/de.po
@@ -1,263 +1,255 @@
-# GNU glibc.
+# German translation of the GNU-libc-messages.
 # Copyright (C) 1996 Free Software Foundation, Inc.
-# Jochen Hein <hein@informatik.tu-clausthal.de>, 1996.
+# Jochen Hein <jochen.hein@delphi.central.de>, 1996.
 #
-#, fuzzy
 msgid ""
 msgstr ""
-"Project-Id-Version: GNU glibc 1.10\n"
-"PO-Revision-Date: 1996-04-20 12:20 MET\n"
-"POT-Creation-Date: 1996-05-29 14:03\n"
-"Last-Translator: Jochen Hein <hein@informatik.tu-clausthal.de>\n"
+"Project-Id-Version: GNU libc 1.98\n"
+"POT-Creation-Date: 1996-12-03 13:50+0100\n"
+"PO-Revision-Date: 1997-01-01 17:42 MET\n"
+"Last-Translator: Jochen Hein <jochen.hein@delphi.central.de>\n"
 "Language-Team: German <de@li.org>\n"
 "MIME-Version: 1.0\n"
 "Content-Type: text/plain; charset=ISO-8859-1\n"
 "Content-Transfer-Encoding: 8-bit\n"
 
-#: sunrpc/rpc_main.c:80
-#, c-format
-msgid "       %s [-c | -h | -l | -m] [-o outfile] [infile]\n"
-msgstr "       %s [-c | -h | -l | -m] [-o Ausgabedatei] [Eingabedatei]\n"
-
-#: sunrpc/rpc_main.c:83
-#, c-format
-msgid "       %s [-s udp|tcp]* [-o outfile] [infile]\n"
-msgstr "       %s [-s udp|tcp]* [-o Ausgabedatei] [Eingabedatei]\n"
-
 #: sunrpc/rpcinfo.c:612
 msgid "       rpcinfo -b prognum versnum\n"
-msgstr ""
+msgstr "       rpcinfo -b Programm-Nummer Versions-Nummer\n"
 
 #: sunrpc/rpcinfo.c:613
 msgid "       rpcinfo -d prognum versnum\n"
-msgstr ""
+msgstr "       rpcinfo -d Programm-Nummer Versions-Nummer\n"
 
 #: sunrpc/rpcinfo.c:611
 msgid "       rpcinfo -p [ host ]\n"
-msgstr ""
+msgstr "       rpcinfo -p [ Rechner ]\n"
 
 #: sunrpc/rpcinfo.c:610
 msgid "       rpcinfo [ -n portnum ] -t host prognum [ versnum ]\n"
-msgstr ""
+msgstr "       rpcinfo [ -n Port-Nummer ] -t Rechner Programm-Nummer [Versions-Nummer]\n"
 
 #: sunrpc/rpcinfo.c:517
 msgid "   program vers proto   port\n"
-msgstr ""
+msgstr "   program vers proto   port\n"
 
-#: time/zic.c:423
+#: time/zic.c:424
 #, c-format
 msgid " (rule from \"%s\", line %d)"
-msgstr ""
+msgstr " (Regel aus Datei »%s«, Zeile %d)"
 
-#: time/zic.c:420
-#, fuzzy, c-format
+#: locale/programs/ld-collate.c:360 locale/programs/ld-ctype.c:1234
+msgid " done\n"
+msgstr " Fertig\n"
+
+#: time/zic.c:421
+#, c-format
 msgid "\"%s\", line %d: %s"
-msgstr "%s, Zeile %d: "
+msgstr "»%s«, Zeile %d: %s"
 
-#: time/zic.c:908
+#: time/zic.c:945
 #, c-format
 msgid "\"Zone %s\" line and -l option are mutually exclusive"
-msgstr ""
+msgstr "»Zone %s«-Zeile und die Option -l schliessen sich aus"
 
-#: time/zic.c:916
+#: time/zic.c:953
 #, c-format
 msgid "\"Zone %s\" line and -p option are mutually exclusive"
-msgstr ""
+msgstr "»Zone %s«-Zeile und die Option -p schliessen sich aus"
 
-#: time/zic.c:721
+#: time/zic.c:758
 #, c-format
 msgid "%s in ruleless zone"
-msgstr ""
+msgstr "%s in einer regellosen Zone"
 
-# ### Checkit! format specifiers OK?
-#: assert/assert.c:48
+#: assert/assert.c:46
 #, c-format
 msgid "%s%s%s:%u: %s%sAssertion `%s' failed.\n"
-msgstr "%s%s%s:%u: %s%sZusicherung `%s' nicht erfüllt.\n"
+msgstr "%s%s%s:%u: %s%sZusicherung »%s« nicht erfüllt.\n"
 
-#: assert/assert-perr.c:46
+#: assert/assert-perr.c:47
 #, c-format
 msgid "%s%s%s:%u: %s%sUnexpected error: %s.\n"
 msgstr "%s%s%s:%u: %s%sNicht erwarteter Fehler: %s.\n"
 
-#: stdio-common/psignal.c:48
+#: stdio-common/psignal.c:47
 #, c-format
 msgid "%s%sUnknown signal %d\n"
 msgstr "%s%sUnbekanntes Signal %d\n"
 
-#: sunrpc/rpc_util.c:258
+#: time/zic.c:2139
 #, c-format
-msgid "%s, line %d: "
-msgstr "%s, Zeile %d: "
+msgid "%s: %d did not sign extend correctly\n"
+msgstr "%s: %d Das Vorzeichen der extended-Zahl ist nicht korrekt\n"
 
-#: time/zic.c:2035
+#: locale/programs/charmap.c:176
 #, c-format
-msgid "%s: %d did not sign extend correctly\n"
-msgstr ""
+msgid "%s: <mb_cur_max> must be greater than <mb_cur_min>\n"
+msgstr "%s: »<mb_cur_max>« muß größer als »<mb_cur_min>« sein\n"
 
-#: time/zic.c:1339
+#: time/zic.c:1430
 #, c-format
 msgid "%s: Can't create %s: %s\n"
-msgstr ""
+msgstr "%s: Kann »%s« nicht erzeugen: %s\n"
 
-#: time/zic.c:2014
+#: time/zic.c:2118
 #, c-format
 msgid "%s: Can't create directory %s: %s\n"
-msgstr ""
+msgstr "%s: Kann das Verzeichnis »%s« nicht erzeugen: %s\n"
 
-#: time/zic.c:600
+#: time/zic.c:612
 #, c-format
 msgid "%s: Can't link from %s to %s: %s\n"
-msgstr ""
+msgstr "%s: Kann nicht von »%s« nach »%s« linken: %s\n"
 
-#: time/zic.c:746
+#: time/zic.c:783
 #, c-format
 msgid "%s: Can't open %s: %s\n"
-msgstr ""
+msgstr "%s: Kann die Datei »%s« nicht öffnen: %s\n"
 
-#: time/zic.c:814
+#: time/zic.c:851
 #, c-format
 msgid "%s: Error closing %s: %s\n"
-msgstr ""
+msgstr "%s: Fehler beim Schliessen der Datei »%s«: %s\n"
 
-#: time/zic.c:808
+#: time/zic.c:845
 #, c-format
 msgid "%s: Error reading %s\n"
-msgstr ""
+msgstr "%s: Fehler beim Lesen der Datei »%s«\n"
 
-#: time/zic.c:1404
+#: time/zic.c:1494
 #, c-format
 msgid "%s: Error writing %s\n"
-msgstr ""
+msgstr "%s: Fehler beim Schreiben der Datei »%s«\n"
 
-#: time/zdump.c:257
+#: time/zdump.c:258
 #, c-format
 msgid "%s: Error writing standard output "
-msgstr ""
+msgstr "%s: Fehler beim Schreiben auf die Standardausgabe "
 
-#: time/zic.c:793
+#: time/zic.c:830
 #, c-format
 msgid "%s: Leap line in non leap seconds file %s\n"
-msgstr ""
+msgstr "%s: Schalt-Zeile in einer nicht-Schalt-Sekunden-Datei »%s«\n"
 
-#: time/zic.c:360
-#, fuzzy, c-format
+#: time/zic.c:362
+#, c-format
 msgid "%s: Memory exhausted: %s\n"
-msgstr "Kein Hauptspeicher mehr verfügbar"
+msgstr "%s: Kein Hauptspeicher mehr verfügbar: %s\n"
 
-#: time/zic.c:515
+#: time/zic.c:527
 #, c-format
 msgid "%s: More than one -L option specified\n"
-msgstr ""
+msgstr "%s: Mehr als eine -L Option angegeben\n"
 
-#: time/zic.c:475
+#: time/zic.c:487
 #, c-format
 msgid "%s: More than one -d option specified\n"
-msgstr ""
+msgstr "%s: Mehr als eine -d Option angegeben\n"
 
-#: time/zic.c:485
+#: time/zic.c:497
 #, c-format
 msgid "%s: More than one -l option specified\n"
-msgstr ""
+msgstr "%s: Mehr als eine -l Option angegeben\n"
 
-#: time/zic.c:495
+#: time/zic.c:507
 #, c-format
 msgid "%s: More than one -p option specified\n"
-msgstr ""
+msgstr "%s: Mehr als eine -p Option angegeben\n"
 
-#: time/zic.c:505
+#: time/zic.c:517
 #, c-format
 msgid "%s: More than one -y option specified\n"
-msgstr ""
+msgstr "%s: Mehr als eine -y Option angegeben\n"
 
-#: posix/getconf.c:149
-#, fuzzy, c-format
-msgid "%s: Unrecognized variable `%s'\n"
-msgstr "%s: Unbekannte Option `%c%s'\n"
-
-#: time/zic.c:1741
+#: time/zic.c:1845
 #, c-format
 msgid "%s: command was '%s', result was %d\n"
-msgstr ""
+msgstr "%s: Das Kommando war »%s«, das Ergebnis war %d\n"
 
-#: posix/getopt.c:686
+#: locale/programs/charmap.c:593 locale/programs/locfile.c:878
+#, c-format
+msgid "%s: error in state machine"
+msgstr "%s: Fehler im (intern verwendeten) endlichen Automaten"
+
+#: posix/getopt.c:687
 #, c-format
 msgid "%s: illegal option -- %c\n"
-msgstr "%s: Die Option ist nicht erlaubt -- %c\n"
+msgstr "%s: Die Option ist nicht erlaubt -- »%c«\n"
 
-#: posix/getopt.c:689
+#: posix/getopt.c:690
 #, c-format
 msgid "%s: invalid option -- %c\n"
-msgstr "%s: Ungültige option -- %c\n"
+msgstr "%s: Ungültige option -- »%c«\n"
 
-#: posix/getopt.c:610
+#: posix/getopt.c:611
 #, c-format
 msgid "%s: option `%c%s' doesn't allow an argument\n"
-msgstr "%s: Die Option `%c%s' erlaubt keine Argumente\n"
+msgstr "%s: Die Option »%c%s« erlaubt keine Argumente\n"
 
-#: posix/getopt.c:581
+#: posix/getopt.c:582
 #, c-format
 msgid "%s: option `%s' is ambiguous\n"
-msgstr "%s: Die Option `%s' ist nicht eindeutig\n"
+msgstr "%s: Die Option »%s« ist nicht eindeutig\n"
 
-#: posix/getopt.c:627
+#: posix/getopt.c:628 posix/getopt.c:801
 #, c-format
 msgid "%s: option `%s' requires an argument\n"
-msgstr "%s: Die Option `%s' erfordert ein Argument\n"
+msgstr "%s: Die Option »%s« erfordert ein Argument\n"
 
-#: posix/getopt.c:605
+#: posix/getopt.c:606
 #, c-format
 msgid "%s: option `--%s' doesn't allow an argument\n"
-msgstr "%s: Die Option `--%s' erlaubt kein Argument\n"
+msgstr "%s: Die Option »--%s« erlaubt kein Argument\n"
 
-#: posix/getopt.c:725
+#: posix/getopt.c:786
 #, c-format
-msgid "%s: option requires an argument -- %c\n"
-msgstr "%s: Die Option benötigt ein Argument -- %c\n"
+msgid "%s: option `-W %s' doesn't allow an argument\n"
+msgstr "%s: Die Option »-W %s« erlaubt keine Argumente\n"
 
-# Mit Quotes?
-#: sunrpc/rpc_main.c:146
+#: posix/getopt.c:767
 #, c-format
-msgid "%s: output would overwrite %s\n"
-msgstr "%s: Die Ausgabe würde %s überschreiben\n"
+msgid "%s: option `-W %s' is ambiguous\n"
+msgstr "%s: Die Option »-W %s« ist nicht eindeutig\n"
 
-#: time/zic.c:800 zic.c:1212 zic.c:1232
+#: posix/getopt.c:721 posix/getopt.c:850
+#, c-format
+msgid "%s: option requires an argument -- %c\n"
+msgstr "%s: Diese Option benötigt ein Argument -- »%c«\n"
+
+#: time/zic.c:837 time/zic.c:1248 time/zic.c:1268
 #, c-format
 msgid "%s: panic: Invalid l_value %d\n"
-msgstr ""
+msgstr "%s: Panik: ungültiger l_value %d\n"
 
-# Wenn der Doppelpunkt verwendet wird, dann müsste infinitivisch
-# konstruiert werden:
-#
-#     "%s: nicht zu öffnen "
-#
-# Oder ohne Doppelpunkt. ke
-#: sunrpc/rpc_main.c:152
+#: locale/programs/charmap.c:600
 #, c-format
-msgid "%s: unable to open "
-msgstr "%s: kann nicht geöffnet werden "
+msgid "%s: premature end of file"
+msgstr "%s: Unerwartetes Ende der Datei"
 
-#: posix/getopt.c:660
+#: posix/getopt.c:661
 #, c-format
 msgid "%s: unrecognized option `%c%s'\n"
-msgstr "%s: Unbekannte Option `%c%s'\n"
+msgstr "%s: Unbekannte Option »%c%s«\n"
 
-#: posix/getopt.c:656
+#: posix/getopt.c:657
 #, c-format
 msgid "%s: unrecognized option `--%s'\n"
-msgstr "%s: Unbekannte Option `--%s'\n"
+msgstr "%s: Unbekannte Option »--%s«\n"
 
-#: time/zic.c:432
+#: time/zic.c:446
 #, c-format
 msgid ""
 "%s: usage is %s [ -s ] [ -v ] [ -l localtime ] [ -p posixrules ] [ -d directory ]\n"
 "\t[ -L leapseconds ] [ -y yearistype ] [ filename ... ]\n"
 msgstr ""
+"%s: Syntax ist %s [ -s ] [ -v ] [ -l Lokale-Zeit ] [ -p Posix-Regeln ] [ -d Verzeichnis ]\n"
+"\t[ -L Schaltsekunden ] [ -y Jahrestyp ] [ Dateiname ... ]\n"
 
 #: time/zdump.c:165
 #, c-format
 msgid "%s: usage is %s [ -v ] [ -c cutoff ] zonename ...\n"
-msgstr ""
+msgstr "%s: Syntax %s [ -v ] [ -c cutoff ] Zonen-Name ...\n"
 
 #: sunrpc/clnt_perr.c:125
 #, c-format
@@ -265,31 +257,34 @@ msgid "(unknown authentication error - %d)"
 msgstr "(unbekannter Fehler bei der Authentifizierung - %d)"
 
 #: sunrpc/rpcinfo.c:555
-#, fuzzy
 msgid "(unknown)"
 msgstr "Unbekanntes Signal"
 
-#: catgets/gencat.c:242
+#: catgets/gencat.c:253
 msgid "*standard input*"
-msgstr ""
+msgstr "*Standard-Eingabe*"
+
+#: stdio-common/../sysdeps/gnu/errlist.c:766
+msgid ".lib section in a.out corrupted"
+msgstr "».lib«-Sektion in der a.out-Datei ist beschädigt"
 
-#: inet/rcmd.c:325
+#: inet/rcmd.c:358
 msgid ".rhosts fstat failed"
-msgstr "Fehler beim Holen des Status der Datei `.rhosts'"
+msgstr "Fehler beim Holen des Status der Datei ».rhosts«"
 
-#: inet/rcmd.c:321
+#: inet/rcmd.c:354
 msgid ".rhosts lstat failed"
-msgstr "Fehler beim Holen des Link-Status von `.rhosts'"
+msgstr "Fehler beim Holen des Link-Status von ».rhosts«"
 
-#: inet/rcmd.c:323
+#: inet/rcmd.c:356
 msgid ".rhosts not regular file"
-msgstr "`.rhosts' ist keine reguläre Datei"
+msgstr "».rhosts« ist keine reguläre Datei"
 
-#: inet/rcmd.c:329
+#: inet/rcmd.c:362
 msgid ".rhosts writeable by other than owner"
-msgstr "`.rhosts' ist auch für andere Benutzer als den Dateieigentümer beschreibbar"
+msgstr "».rhosts« ist auch für andere Benutzer als den Dateieigentümer beschreibbar"
 
-#: clnt_perr.c:133 sunrpc/clnt_perr.c:112
+#: sunrpc/clnt_perr.c:112 sunrpc/clnt_perr.c:133
 #, c-format
 msgid "; low version = %lu, high version = %lu"
 msgstr "; untere Version = %lu, obere Version = %lu"
@@ -298,41 +293,104 @@ msgstr "; untere Version = %lu, obere Version = %lu"
 msgid "; why = "
 msgstr "; Ursache = "
 
+#: locale/programs/ld-ctype.c:326
+#, c-format
+msgid "<SP> character must not be in class `%s'"
+msgstr "Das Zeichen »<SP>« darf nicht in der Klasse »%s« enthalten sein"
+
+#: locale/programs/ld-ctype.c:317
+#, c-format
+msgid "<SP> character not in class `%s'"
+msgstr "Das Zeichen »<SP>« ist nicht in der Klasse »%s« enthalten"
+
+#. TRANS The experienced user will know what is wrong.
+#. TRANS @c This error code is a joke.  Its perror text is part of the joke.
+#. TRANS @c Don't change it.
+#: stdio-common/../sysdeps/gnu/errlist.c:591
 msgid "?"
 msgstr "?"
 
+#: stdio-common/../sysdeps/gnu/errlist.c:762
+msgid "Accessing a corrupted shared library"
+msgstr "Zugriff auf eine fehlerhafte oder defekte Shared-Library"
+
+#. TRANS The requested socket address is already in use.  @xref{Socket Addresses}.
+#: stdio-common/../sysdeps/gnu/errlist.c:354
 msgid "Address already in use"
 msgstr "Die Adresse wird bereits verwendet"
 
-msgid "Address family not supported by protocol family"
+#. TRANS The address family specified for a socket is not supported; it is
+#. TRANS inconsistent with the protocol being used on the socket.  @xref{Sockets}.
+#: stdio-common/../sysdeps/gnu/errlist.c:349
+msgid "Address family not supported by protocol"
 msgstr "Die Adress-Familie wird von der Protokoll-Familie nicht unterstützt"
 
+#: stdio-common/../sysdeps/gnu/errlist.c:730
+msgid "Advertise error"
+msgstr "Fehler bei der Werbung"
+
 msgid "Alarm clock"
 msgstr "Der Wecker klingelt"
 
+#. TRANS Argument list too long; used when the arguments passed to a new program
+#. TRANS being executed with one of the @code{exec} functions (@pxref{Executing a
+#. TRANS File}) occupy too much memory space.  This condition never arises in the
+#. TRANS GNU system.
+#: stdio-common/../sysdeps/gnu/errlist.c:57
 msgid "Argument list too long"
 msgstr "Die Argumentliste ist zu lang"
 
+#: stdio-common/../sysdeps/gnu/errlist.c:770
+msgid "Attempting to link in too many shared libraries"
+msgstr "Versuch zu viele Shared-Libraries einzubinden"
+
 #: sunrpc/clnt_perr.c:276
 msgid "Authentication OK"
 msgstr "Authentifizierung OK"
 
+#. TRANS ???
+#: stdio-common/../sysdeps/gnu/errlist.c:549
 msgid "Authentication error"
 msgstr "Fehler bei der Authentifizierung"
 
+#. TRANS Bad address; an invalid pointer was detected.
+#. TRANS In the GNU system, this error never happens; you get a signal instead.
+#: stdio-common/../sysdeps/gnu/errlist.c:102
 msgid "Bad address"
 msgstr "Ungültige Adresse"
 
+#. TRANS Bad file descriptor; for example, I/O on a descriptor that has been
+#. TRANS closed or reading from a descriptor open only for writing (or vice
+#. TRANS versa).
+#: stdio-common/../sysdeps/gnu/errlist.c:70
 msgid "Bad file descriptor"
 msgstr "Ungültiger Datei-Deskriptor"
 
+#: stdio-common/../sysdeps/gnu/errlist.c:718
+msgid "Bad font file format"
+msgstr "Ungültiges Font-Datei-Format"
+
+#: stdio-common/../sysdeps/gnu/errlist.c:610
+msgid "Bad message"
+msgstr "Ungültige Nachricht"
+
+#. TRANS A file that isn't a block special file was given in a situation that
+#. TRANS requires one.  For example, trying to mount an ordinary file as a file
+#. TRANS system in Unix gives this error.
+#: stdio-common/../sysdeps/gnu/errlist.c:109
 msgid "Block device required"
 msgstr "Es ist ein Block-Device notwendig"
 
-#: sunrpc/pmap_rmt.c:336
+#: sunrpc/pmap_rmt.c:337
 msgid "Broadcast select problem"
 msgstr "Select-Problem beim Broadcast"
 
+#. TRANS Broken pipe; there is no process reading from the other end of a pipe.
+#. TRANS Every library function that returns this error code also generates a
+#. TRANS @code{SIGPIPE} signal; this signal terminates the program if not handled
+#. TRANS or blocked.  Thus, your program will never actually see @code{EPIPE}
+#. TRANS unless it has handled or blocked @code{SIGPIPE}.
+#: stdio-common/../sysdeps/gnu/errlist.c:222
 msgid "Broken pipe"
 msgstr "Datenübergabe unterbrochen (broken pipe)"
 
@@ -342,20 +400,48 @@ msgstr "Bus-Zugriffsfehler"
 msgid "CPU time limit exceeded"
 msgstr "Rechenzeitbegrenzung überschritten"
 
-msgid "Can't assign requested address"
-msgstr "Die angeforderte Adresse kann nicht zugewiesen werden"
+#: stdio-common/../sysdeps/gnu/errlist.c:758
+msgid "Can not access a needed shared library"
+msgstr "Auf eine benötigte Shared-Library kann nicht zugegriffen werden"
 
-msgid "Can't send after socket shutdown"
-msgstr "Ein Senden nach dem Beenden des Sockets ist nicht möglich"
+#: nis/ypclnt.c:637
+msgid "Can't bind to server which serves this domain"
+msgstr "Kein Server für diese NIS-Domain gefunden"
 
+#: nis/ypclnt.c:649
+msgid "Can't communicate with portmapper"
+msgstr "Keine Kommunikation mit dem Portmapper möglich"
+
+#: nis/ypclnt.c:651
+msgid "Can't communicate with ypbind"
+msgstr "Keine Kommunikation mit »ypbind« möglich"
+
+#: nis/ypclnt.c:653
+msgid "Can't communicate with ypserv"
+msgstr "Keine Kommunikation mit »ypserv« möglich"
+
+#. TRANS No memory available.  The system cannot allocate more virtual memory
+#. TRANS because its capacity is full.
+#: stdio-common/../sysdeps/gnu/errlist.c:91
 msgid "Cannot allocate memory"
 msgstr "Nicht genügend Hauptspeicher verfügbar"
 
-#: sunrpc/pmap_rmt.c:254
+#. TRANS The requested socket address is not available; for example, you tried
+#. TRANS to give a socket a name that doesn't match the local host name.
+#. TRANS @xref{Socket Addresses}.
+#: stdio-common/../sysdeps/gnu/errlist.c:361
+msgid "Cannot assign requested address"
+msgstr "Die angeforderte Adresse kann nicht zugewiesen werden"
+
+#: sunrpc/pmap_rmt.c:255
 msgid "Cannot create socket for broadcast rpc"
 msgstr "Kann den Socket für den Broadcast-RPC nicht erstellen"
 
-#: sunrpc/pmap_rmt.c:348
+#: stdio-common/../sysdeps/gnu/errlist.c:774
+msgid "Cannot exec a shared library directly"
+msgstr "Eine Shared-Library kann nicht direkt ausgeführt werden"
+
+#: sunrpc/pmap_rmt.c:349
 msgid "Cannot receive reply to broadcast"
 msgstr "Kann die Antwort auf den Broadcast nicht empfangen"
 
@@ -363,13 +449,22 @@ msgstr "Kann die Antwort auf den Broadcast nicht empfangen"
 msgid "Cannot register service"
 msgstr "Kann den Service nicht registrieren"
 
-#: sunrpc/pmap_rmt.c:312
+#. TRANS The socket has already been shut down.
+#: stdio-common/../sysdeps/gnu/errlist.c:422
+msgid "Cannot send after transport endpoint shutdown"
+msgstr "Ein Senden nach dem Beenden des Sockets ist nicht möglich"
+
+#: sunrpc/pmap_rmt.c:313
 msgid "Cannot send broadcast packet"
 msgstr "Kann das Broadcast-Paket nicht senden"
 
-#: sunrpc/pmap_rmt.c:260
+#: sunrpc/pmap_rmt.c:261
 msgid "Cannot set socket option SO_BROADCAST"
-msgstr "Kann die Option SO_BROADCAST nicht beim Socket setzen"
+msgstr "Kann die Option »SO_BROADCAST« nicht beim Socket setzen"
+
+#: stdio-common/../sysdeps/gnu/errlist.c:658
+msgid "Channel number out of range"
+msgstr "Das numerische Ergebnis ist außerhalb des gültigen Bereiches"
 
 msgid "Child exited"
 msgstr "Der Kind-Prozeß ist beendet"
@@ -378,81 +473,188 @@ msgstr "Der Kind-Prozeß ist beendet"
 msgid "Client credential too weak"
 msgstr "Die Bestätigung des Clients ist zu unsicher"
 
+#: stdio-common/../sysdeps/gnu/errlist.c:738
+msgid "Communication error on send"
+msgstr "Fehler bei der Authentifizierung"
+
+#. TRANS Go home and have a glass of warm, dairy-fresh milk.
+#: stdio-common/../sysdeps/gnu/errlist.c:601
 msgid "Computer bought the farm"
 msgstr "Der Computer hat den Bauernhof erworben"
 
+#: locale/programs/ld-ctype.c:1197
+msgid "Computing table size for character classes might take a while..."
+msgstr "Berechnung der Größe der Zeichentabelle: Dies kann einige Zeit dauern"
+
+#: locale/programs/ld-collate.c:327
+msgid "Computing table size for collation information might take a while..."
+msgstr "Berechnung der Größe der Zeichentabelle: Dies kann einige Zeit dauern"
+
+#. TRANS A remote host refused to allow the network connection (typically because
+#. TRANS it is not running the requested service).
+#: stdio-common/../sysdeps/gnu/errlist.c:439
 msgid "Connection refused"
 msgstr "Verbindungsaufbau abgelehnt"
 
+#. TRANS A network connection was closed for reasons outside the control of the
+#. TRANS local host, such as by the remote machine rebooting or an unrecoverable
+#. TRANS protocol violation.
+#: stdio-common/../sysdeps/gnu/errlist.c:389
 msgid "Connection reset by peer"
 msgstr "Die Verbindung wurde vom Kommunikationspartner zurückgesetzt"
 
+#. TRANS A socket operation with a specified timeout received no response during
+#. TRANS the timeout period.
+#: stdio-common/../sysdeps/gnu/errlist.c:433
 msgid "Connection timed out"
 msgstr "Die Wartezeit beim Verbindungsaufbau ist abgelaufen"
 
 msgid "Continued"
 msgstr "Fortgesetzt"
 
+#: catgets/gencat.c:169 db/makedb.c:120 locale/programs/locale.c:187
+#: locale/programs/localedef.c:177
+#, c-format
+msgid ""
+"Copyright (C) %s Free Software Foundation, Inc.\n"
+"This is free software; see the source for copying conditions.  There is NO\n"
+"warranty; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.\n"
+msgstr ""
+"Copyright © %s Free Software Foundation, Inc.\n"
+"Dies ist freie Software; in den Quellen befinden sich die Lizenzbedingungen.\n"
+"Es gibt KEINERLEI Garantie; nicht einmal für die TAUGLICHKEIT oder\n"
+"VERWENDBARKEIT FÜR EINEN ANGEGEBENEN ZWECK.\n"
+
+#: nis/ypclnt.c:663
+msgid "Database is busy"
+msgstr "Die Databank ist belegt"
+
+#. TRANS No default destination address was set for the socket.  You get this
+#. TRANS error when you try to transmit data over a connectionless socket,
+#. TRANS without first specifying a destination for the data with @code{connect}.
+#: stdio-common/../sysdeps/gnu/errlist.c:417
 msgid "Destination address required"
 msgstr "Es ist eine Zieladresse notwendig"
 
-msgid "Device busy"
-msgstr "Das Gerät ist bereits belegt"
+#: stdio-common/../sysdeps/gnu/errlist.c:638
+msgid "Device not a stream"
+msgstr "Das Gerät ist nicht konfiguriert"
 
+#. TRANS No such device or address.  The system tried to use the device
+#. TRANS represented by a file you specified, and it couldn't find the device.
+#. TRANS This can mean that the device file was installed incorrectly, or that
+#. TRANS the physical device is missing or not correctly attached to the
+#. TRANS computer.
+#: stdio-common/../sysdeps/gnu/errlist.c:49
 msgid "Device not configured"
 msgstr "Das Gerät ist nicht konfiguriert"
 
+#. TRANS Resource busy; a system resource that can't be shared is already in use.
+#. TRANS For example, if you try to delete a file that is the root of a currently
+#. TRANS mounted filesystem, you get this error.
+#: stdio-common/../sysdeps/gnu/errlist.c:116
+msgid "Device or resource busy"
+msgstr "Das Gerät ist bereits belegt"
+
+#. TRANS Directory not empty, where an empty directory was expected.  Typically,
+#. TRANS this error occurs when you are trying to delete a directory.
+#: stdio-common/../sysdeps/gnu/errlist.c:468
 msgid "Directory not empty"
 msgstr "Das Verzeichnis ist nicht leer"
 
+#. TRANS The user's disk quota was exceeded.
+#: stdio-common/../sysdeps/gnu/errlist.c:486
 msgid "Disc quota exceeded"
 msgstr "Der zugewiesene Plattenplatz (Quota) ist überschritten"
 
+#: nis/ypclnt.c:709
+msgid "Domain not bound"
+msgstr "Die Domain wurde nicht gefunden"
+
 #: sunrpc/clnt_perr.c:254
 #, c-format
 msgid "Error %d"
 msgstr "Fehler %d"
 
-#: string/../sysdeps/mach/_strerror.c:43
+#: string/../sysdeps/mach/_strerror.c:52
 msgid "Error in unknown error system: "
 msgstr "Fehler in unbekanntem Fehler-System: "
 
+#: inet/ruserpass.c:161
+msgid "Error: .netrc file is readable by others."
+msgstr "Fehler: Die Datei ».netrc« ist für andere Benutzer lesbar."
+
+#: stdio-common/../sysdeps/gnu/errlist.c:698
+msgid "Exchange full"
+msgstr "Umsteigebahnhof ist überfüllt"
+
+#. TRANS Invalid executable file format.  This condition is detected by the
+#. TRANS @code{exec} functions; see @ref{Executing a File}.
+#: stdio-common/../sysdeps/gnu/errlist.c:63
 msgid "Exec format error"
 msgstr "Fehler im Format der Programmdatei"
 
+#: locale/programs/localedef.c:213
+msgid "FATAL: system does not define `_POSIX2_LOCALEDEF'"
+msgstr "Fataler Fehler: Das System definiert das Symbol »_POSIX2_LOCALEDEF« nicht"
+
 #: sunrpc/clnt_perr.c:290
 msgid "Failed (unspecified error)"
 msgstr "Fehlgeschlagen (Fehler nicht genau zu spezifizieren)"
 
+#: stdio-common/../sysdeps/gnu/errlist.c:750
+msgid "File descriptor in bad state"
+msgstr "Die Dateizugriffsnummer ist ein schlechter Verfassung"
+
+#. TRANS File exists; an existing file was specified in a context where it only
+#. TRANS makes sense to specify a new file.
+#: stdio-common/../sysdeps/gnu/errlist.c:122
 msgid "File exists"
 msgstr "Die Datei existiert bereits"
 
+#: stdio-common/../sysdeps/gnu/errlist.c:714
+msgid "File locking deadlock error"
+msgstr "Verklemmung beim Datei-Locking"
+
+#. TRANS Filename too long (longer than @code{PATH_MAX}; @pxref{Limits for
+#. TRANS Files}) or host name too long (in @code{gethostname} or
+#. TRANS @code{sethostname}; @pxref{Host Identification}).
+#: stdio-common/../sysdeps/gnu/errlist.c:452
 msgid "File name too long"
 msgstr "Der Dateiname ist zu lang"
 
 msgid "File size limit exceeded"
 msgstr "Die maximale Länge eines Dateinamens ist überschritten"
 
+#. TRANS File too big; the size of a file would be larger than allowed by the system.
+#: stdio-common/../sysdeps/gnu/errlist.c:190
 msgid "File too large"
 msgstr "Die Datei ist zu groß"
 
 msgid "Floating point exception"
 msgstr "Gleitkomma-Ausnahme"
 
+#. TRANS Function not implemented.  Some functions have commands or options defined
+#. TRANS that might not be supported in all implementations, and this is the kind
+#. TRANS of error you get if you request them and they are not supported.
+#: stdio-common/../sysdeps/gnu/errlist.c:561
 msgid "Function not implemented"
 msgstr "Die angeforderte Funktion ist nicht implementiert"
 
-# ???
+#. TRANS This error code has no purpose.
+#: stdio-common/../sysdeps/gnu/errlist.c:606
 msgid "Gratuitous error"
 msgstr "Irgendein Fehler"
 
 msgid "Hangup"
 msgstr "Aufgelegt"
 
+#. TRANS The remote host for a requested network connection is down.
+#: stdio-common/../sysdeps/gnu/errlist.c:457
 msgid "Host is down"
 msgstr "Der Rechner ist nicht aktiv"
 
-#: resolv/herror.c:74
+#: resolv/herror.c:75
 msgid "Host name lookup failure"
 msgstr "Fehler beim Auflösen des Hostnamens"
 
@@ -462,34 +664,80 @@ msgstr "Ein-/Ausgabe ist möglich"
 msgid "IOT trap"
 msgstr "Ein-/Ausgabe-Trap (IOT)"
 
+#: stdio-common/../sysdeps/gnu/errlist.c:614
+msgid "Identifier removed"
+msgstr "Bezeichner wurde entfernt"
+
 msgid "Illegal Instruction"
 msgstr "Ungültiger Maschinenbefehl"
 
+#. TRANS Invalid seek operation (such as on a pipe).
+#: stdio-common/../sysdeps/gnu/errlist.c:201
 msgid "Illegal seek"
 msgstr "Nicht erlaubter Seek"
 
+#. TRANS Inappropriate file type or format.  The file was the wrong type for the
+#. TRANS operation, or a data file had the wrong format.
+#. TRANS
+#. TRANS On some systems @code{chmod} returns this error if you try to set the
+#. TRANS sticky bit on a non-directory file; @pxref{Setting Permissions}.
+#: stdio-common/../sysdeps/gnu/errlist.c:544
 msgid "Inappropriate file type or format"
 msgstr "Unpassender Dateityp oder unpassendes Dateiformat"
 
+#. TRANS Inappropriate I/O control operation, such as trying to set terminal
+#. TRANS modes on an ordinary file.
+#: stdio-common/../sysdeps/gnu/errlist.c:176
 msgid "Inappropriate ioctl for device"
 msgstr "Unpassender IOCTL (I/O-Control) für das Gerät"
 
+#. TRANS In the GNU system, servers supporting the @code{term} protocol return
+#. TRANS this error for certain operations when the caller is not in the
+#. TRANS foreground process group of the terminal.  Users do not usually see this
+#. TRANS error because functions such as @code{read} and @code{write} translate
+#. TRANS it into a @code{SIGTTIN} or @code{SIGTTOU} signal.  @xref{Job Control},
+#. TRANS for information on process groups and these signals.
+#: stdio-common/../sysdeps/gnu/errlist.c:577
 msgid "Inappropriate operation for background process"
 msgstr "Unpassende Operation für den Hintergrundprozeß"
 
+#. TRANS Input/output error; usually used for physical read or write errors.
+#: stdio-common/../sysdeps/gnu/errlist.c:40
 msgid "Input/output error"
 msgstr "Eingabe-/Ausgabe-Fehler"
 
+#: nis/ypclnt.c:643
+msgid "Internal NIS error"
+msgstr "Interner NIS-Fehler"
+
+#: nis/ypclnt.c:707
+msgid "Internal ypbind error"
+msgstr "Interner Fehler in »ypbind«"
+
 msgid "Interrupt"
 msgstr "Unterbrechung"
 
+#. TRANS Interrupted function call; an asynchronous signal occured and prevented
+#. TRANS completion of the call.  When this happens, you should try the call
+#. TRANS again.
+#. TRANS
+#. TRANS You can choose to have functions resume after a signal that is handled,
+#. TRANS rather than failing with @code{EINTR}; see @ref{Interrupted
+#. TRANS Primitives}.
+#: stdio-common/../sysdeps/gnu/errlist.c:35
 msgid "Interrupted system call"
 msgstr "Unterbrechung während Betriebssystemaufruf"
 
+#: stdio-common/../sysdeps/gnu/errlist.c:654
+msgid "Interrupted system call should be restarted"
+msgstr "Unterbrechung während Betriebssystemaufruf"
+
+#. TRANS Invalid argument.  This is used to indicate various kinds of problems
+#. TRANS with passing the wrong argument to a library function.
+#: stdio-common/../sysdeps/gnu/errlist.c:152
 msgid "Invalid argument"
 msgstr "Das Argument ist ungültig"
 
-# Eventuell Rückverweis? ke.
 #: posix/regex.c:946
 msgid "Invalid back reference"
 msgstr "Ungültiger Verweis zurück"
@@ -512,11 +760,25 @@ msgstr "Ungültiges Sortierzeichen"
 
 #: posix/regex.c:950
 msgid "Invalid content of \\{\\}"
-msgstr "Ungültiger Inhalt von \\{\\}"
+msgstr "Ungültiger Inhalt von »\\{\\}«"
 
+#. TRANS An attempt to make an improper link across file systems was detected.
+#. TRANS This happens not only when you use @code{link} (@pxref{Hard Links}) but
+#. TRANS also when you rename a file with @code{rename} (@pxref{Renaming Files}).
+#: stdio-common/../sysdeps/gnu/errlist.c:129
 msgid "Invalid cross-device link"
 msgstr "Ungültiger Link über Gerätegrenzen hinweg"
 
+#: stdio-common/../sysdeps/gnu/errlist.c:690
+msgid "Invalid exchange"
+msgstr "Das Ende des angegebenen Intervalls ist nicht gültig"
+
+#. TRANS While decoding a multibyte character the function came along an invalid
+#. TRANS or an incomplete sequence of bytes or the given wide character is invalid.
+#: stdio-common/../sysdeps/gnu/errlist.c:567
+msgid "Invalid or incomplete multibyte or wide character"
+msgstr "Ungültiges Sortierzeichen"
+
 #: posix/regex.c:953
 msgid "Invalid preceding regular expression"
 msgstr "Der vorherige reguläre Ausdruck ist nicht korrekt."
@@ -529,45 +791,157 @@ msgstr "Das Ende des angegebenen Intervalls ist nicht gültig"
 msgid "Invalid regular expression"
 msgstr "Ungültiger regulärer Ausdruck"
 
+#: stdio-common/../sysdeps/gnu/errlist.c:706
+msgid "Invalid request code"
+msgstr "Das Argument ist ungültig"
+
+#: stdio-common/../sysdeps/gnu/errlist.c:694
+msgid "Invalid request descriptor"
+msgstr "Ungültiger Datei-Deskriptor"
+
 #: sunrpc/clnt_perr.c:288
 msgid "Invalid server verifier"
 msgstr "Ungültige Überprüfung des Servers"
 
+#: stdio-common/../sysdeps/gnu/errlist.c:710
+msgid "Invalid slot"
+msgstr "Das Argument ist ungültig"
+
+#. TRANS File is a directory; you cannot open a directory for writing,
+#. TRANS or create or remove hard links to it.
+#: stdio-common/../sysdeps/gnu/errlist.c:146
 msgid "Is a directory"
 msgstr "Ist ein Verzeichnis"
 
+#: stdio-common/../sysdeps/gnu/errlist.c:794
+msgid "Is a named type file"
+msgstr "Ist eine 'named type file'"
+
 msgid "Killed"
 msgstr "Getötet"
 
+#: stdio-common/../sysdeps/gnu/errlist.c:686
+msgid "Level 2 halted"
+msgstr "Level 2 angehalten"
+
+#: stdio-common/../sysdeps/gnu/errlist.c:662
+msgid "Level 2 not synchronized"
+msgstr "Das Gerät ist nicht konfiguriert"
+
+#: stdio-common/../sysdeps/gnu/errlist.c:666
+msgid "Level 3 halted"
+msgstr "Level 3 angehalten"
+
+#: stdio-common/../sysdeps/gnu/errlist.c:670
+msgid "Level 3 reset"
+msgstr "Level 3 zurückgesetzt"
+
+#: stdio-common/../sysdeps/gnu/errlist.c:626
+msgid "Link has been severed"
+msgstr "Der Link wurde beschädigt"
+
+#: stdio-common/../sysdeps/gnu/errlist.c:674
+msgid "Link number out of range"
+msgstr "Das numerische Ergebnis ist außerhalb des gültigen Bereiches"
+
+#: nis/ypclnt.c:655
+msgid "Local domain name not set"
+msgstr "Der lokale Domain-Name ist nicht eingetragen"
+
+#: nis/ypclnt.c:645
+msgid "Local resource allocation failure"
+msgstr "Lokaler Fehler bei der Resourcen-Beschaffung"
+
+#: stdio-common/../sysdeps/gnu/errlist.c:722
+msgid "Machine is not on the network"
+msgstr "Die Maschine ist nicht an das Netzwerk angeschlossen"
+
 #: posix/regex.c:952
 msgid "Memory exhausted"
 msgstr "Kein Hauptspeicher mehr verfügbar"
 
+#. TRANS The size of a message sent on a socket was larger than the supported
+#. TRANS maximum size.
+#: stdio-common/../sysdeps/gnu/errlist.c:305
 msgid "Message too long"
 msgstr "Die Nachricht ist zu lang"
 
+#: stdio-common/../sysdeps/gnu/errlist.c:618
+msgid "Multihop attempted"
+msgstr "Ein 'Multihop' wurde versucht"
+
+#: nis/ypclnt.c:659
+msgid "NIS client/server version mismatch - can't supply service"
+msgstr "NIS Client/Server Versionen passen nicht zusammen - kein Service möglich"
+
+#: nis/ypclnt.c:657
+msgid "NIS map data base is bad"
+msgstr "Die Datenbank mit der NIS-Map ist ungültig"
+
+#: stdio-common/../sysdeps/gnu/errlist.c:746
+msgid "Name not unique on network"
+msgstr "Der Name ist im Netzwerk nicht eindeutig"
+
+#. TRANS ???
+#: stdio-common/../sysdeps/gnu/errlist.c:554
 msgid "Need authenticator"
 msgstr "Authentikator benötigt"
 
+#. TRANS A network connection was reset because the remote host crashed.
+#: stdio-common/../sysdeps/gnu/errlist.c:377
 msgid "Network dropped connection on reset"
 msgstr "Das Netzwerk hat die Verbindung nach einem Reset verloren"
 
+#. TRANS A socket operation failed because the network was down.
+#: stdio-common/../sysdeps/gnu/errlist.c:366
 msgid "Network is down"
 msgstr "Das Netzwerk ist nicht aktiv"
 
+#. TRANS A socket operation failed because the subnet containing the remote host
+#. TRANS was unreachable.
+#: stdio-common/../sysdeps/gnu/errlist.c:372
 msgid "Network is unreachable"
-msgstr "Das netzwerk ist nicht erreichbar"
+msgstr "Das Netzwerk ist nicht erreichbar"
 
-#: resolv/herror.c:76
+#: stdio-common/../sysdeps/gnu/errlist.c:682
+msgid "No CSI structure available"
+msgstr "Keine »CSI«-Struktur verfügbar"
+
+#: stdio-common/../sysdeps/gnu/errlist.c:790
+msgid "No XENIX semaphores available"
+msgstr "Keine XENIX-Semaphoren verfügbar"
+
+#: resolv/herror.c:77
 msgid "No address associated with name"
 msgstr "Zu diesem Namen gehört keine Adresse"
 
+#: stdio-common/../sysdeps/gnu/errlist.c:702
+msgid "No anode"
+msgstr "Keine Anode"
+
+#. TRANS The kernel's buffers for I/O operations are all in use.  In GNU, this
+#. TRANS error is always synonymous with @code{ENOMEM}; you may get one or the
+#. TRANS other from network operations.
+#: stdio-common/../sysdeps/gnu/errlist.c:396
 msgid "No buffer space available"
 msgstr "Kein Hauptspeicher für den Puffer verfügbar"
 
+#. TRANS There are no child processes.  This error happens on operations that are
+#. TRANS supposed to manipulate child processes, when there aren't any processes
+#. TRANS to manipulate.
+#: stdio-common/../sysdeps/gnu/errlist.c:77
 msgid "No child processes"
 msgstr "Kein Kind-Prozeß"
 
+#: stdio-common/../sysdeps/gnu/errlist.c:622
+msgid "No data available"
+msgstr "Keine Sperren verfügbar"
+
+#. TRANS No locks available.  This is used by the file locking facilities; see
+#. TRANS @ref{File Locks}.  This error is never generated by the GNU system, but
+#. TRANS it can result from an operation to an NFS server running another
+#. TRANS operating system.
+#: stdio-common/../sysdeps/gnu/errlist.c:535
 msgid "No locks available"
 msgstr "Keine Sperren verfügbar"
 
@@ -575,55 +949,145 @@ msgstr "Keine Sperren verfügbar"
 msgid "No match"
 msgstr "Keine Übereinstimmung gefunden"
 
-#: posix/regex.c:5200
+#: stdio-common/../sysdeps/gnu/errlist.c:630
+msgid "No message of desired type"
+msgstr "Keine Nachricht des gewünschten Typs"
+
+#: nis/ypclnt.c:647
+msgid "No more records in map database"
+msgstr "Keine weiteren Sätze in der Map-Datenbank"
+
+#: posix/regex.c:5204
 msgid "No previous regular expression"
 msgstr "Es wurde bisher noch kein regulärer Ausdruck definiert"
 
 #: sunrpc/rpcinfo.c:515
-#, fuzzy
 msgid "No remote programs registered.\n"
-msgstr "RPC: Programm nicht registriert"
+msgstr "Es sind keine entfernten Programme registriert.\n"
 
+#. TRANS The remote host for a requested network connection is not reachable.
+#: stdio-common/../sysdeps/gnu/errlist.c:462
 msgid "No route to host"
 msgstr "Keine Route zum entfernten Rechner"
 
+#. TRANS No space left on device; write operation on a file failed because the
+#. TRANS disk is full.
+#: stdio-common/../sysdeps/gnu/errlist.c:196
 msgid "No space left on device"
 msgstr "Auf dem Gerät ist kein Speicherplatz mehr verfügbar"
 
+#. TRANS No such file or directory.  This is a ``file doesn't exist'' error
+#. TRANS for ordinary files that are referenced in contexts where they are
+#. TRANS expected to already exist.
+#: stdio-common/../sysdeps/gnu/errlist.c:19
 msgid "No such file or directory"
 msgstr "Datei oder Verzeichnis nicht gefunden"
 
+#: nis/ypclnt.c:641
+msgid "No such key in map"
+msgstr "Kein passender Schlüssel in der Map"
+
+#: nis/ypclnt.c:639
+msgid "No such map in server's domain"
+msgstr "Keine passende Map in der Domain des Servers"
+
+#. TRANS No process matches the specified process ID.
+#: stdio-common/../sysdeps/gnu/errlist.c:24
 msgid "No such process"
 msgstr "Kein passender Prozeß gefunden"
 
+#: stdio-common/../sysdeps/gnu/errlist.c:786
+msgid "Not a XENIX named type file"
+msgstr "Keine XENIX 'named type' Datei"
+
+#. TRANS A file that isn't a directory was specified when a directory is required.
+#: stdio-common/../sysdeps/gnu/errlist.c:140
 msgid "Not a directory"
 msgstr "Ist kein Verzeichnis"
 
+#. TRANS Domain error; used by mathematical functions when an argument value does
+#. TRANS not fall into the domain over which the function is defined.
+#: stdio-common/../sysdeps/gnu/errlist.c:228
 msgid "Numerical argument out of domain"
 msgstr "Das numerische Argument ist außerhalb des Definitionsbereiches"
 
+#. TRANS Range error; used by mathematical functions when the result value is
+#. TRANS not representable because of overflow or underflow.
+#: stdio-common/../sysdeps/gnu/errlist.c:234
 msgid "Numerical result out of range"
 msgstr "Das numerische Ergebnis ist außerhalb des gültigen Bereiches"
 
-#: time/zic.c:1835
+#. TRANS An attempt was made to NFS-mount a remote file system with a file name that
+#. TRANS already specifies an NFS-mounted file.
+#. TRANS (This is an error on some operating systems, but we expect it to work
+#. TRANS properly on the GNU system, making this error code impossible.)
+#: stdio-common/../sysdeps/gnu/errlist.c:502
+msgid "Object is remote"
+msgstr "Das Objekt ist remote"
+
+#: time/zic.c:1939
 msgid "Odd number of quotation marks"
-msgstr ""
+msgstr "Ungerade Anzahl von Anführungszeichen"
 
+#. TRANS An operation is already in progress on an object that has non-blocking
+#. TRANS mode selected.
+#: stdio-common/../sysdeps/gnu/errlist.c:294
 msgid "Operation already in progress"
 msgstr "Die Operation wird bereits ausgeführt"
 
+#. TRANS Operation not permitted; only the owner of the file (or other resource)
+#. TRANS or processes with special privileges can perform the operation.
+#: stdio-common/../sysdeps/gnu/errlist.c:12
 msgid "Operation not permitted"
 msgstr "Die Operation ist nicht erlaubt"
 
+#. TRANS The operation you requested is not supported.  Some socket functions
+#. TRANS don't make sense for all types of sockets, and others may not be
+#. TRANS implemented for all communications protocols.  In the GNU system, this
+#. TRANS error can happen for many calls when the object does not support the
+#. TRANS particular operation; it is a generic indication that the server knows
+#. TRANS nothing to do for that call.
+#: stdio-common/../sysdeps/gnu/errlist.c:338
 msgid "Operation not supported"
 msgstr "Die Operation wird nicht unterstützt"
 
+#. TRANS The wrong type of device was given to a function that expects a
+#. TRANS particular sort of device.
+#: stdio-common/../sysdeps/gnu/errlist.c:135
 msgid "Operation not supported by device"
 msgstr "Die Operation wird von dem Gerät nicht unterstützt"
 
+#. TRANS An operation that cannot complete immediately was initiated on an object
+#. TRANS that has non-blocking mode selected.  Some functions that must always
+#. TRANS block (such as @code{connect}; @pxref{Connecting}) never return
+#. TRANS @code{EAGAIN}.  Instead, they return @code{EINPROGRESS} to indicate that
+#. TRANS the operation has begun and will take some time.  Attempts to manipulate
+#. TRANS the object before the call completes return @code{EALREADY}.  You can
+#. TRANS use the @code{select} function to find out when the pending operation
+#. TRANS has completed; @pxref{Waiting for I/O}.
+#: stdio-common/../sysdeps/gnu/errlist.c:288
 msgid "Operation now in progress"
 msgstr "Die Operation ist jetzt in Bearbeitung"
 
+#. TRANS In the GNU C library, this is another name for @code{EAGAIN} (above).
+#. TRANS The values are always the same, on every operating system.
+#. TRANS
+#. TRANS C libraries in many older Unix systems have @code{EWOULDBLOCK} as a
+#. TRANS separate error code.
+#: stdio-common/../sysdeps/gnu/errlist.c:276
+msgid "Operation would block"
+msgstr "Die Operation würde blockieren"
+
+#: stdio-common/../sysdeps/gnu/errlist.c:634
+msgid "Out of streams resources"
+msgstr "Keine Stream-Resourcen mehr verfügbar"
+
+#: stdio-common/../sysdeps/gnu/errlist.c:726
+msgid "Package not installed"
+msgstr "Das Zusatzpacket ist nicht installiert"
+
+#. TRANS Permission denied; the file permissions do not allow the attempted operation.
+#: nis/ypclnt.c:661 stdio-common/../sysdeps/gnu/errlist.c:96
 msgid "Permission denied"
 msgstr "Keine Berechtigung"
 
@@ -637,33 +1101,70 @@ msgstr "Unerwartetes Ende des regulären Ausdruckes"
 msgid "Profiling timer expired"
 msgstr "Zeitnehmer zur Laufzeitbestimmung ist abgelaufen"
 
+#: stdio-common/../sysdeps/gnu/errlist.c:678
+msgid "Protocol driver not attached"
+msgstr "Das Protokoll ist nicht verfügbar"
+
+#: stdio-common/../sysdeps/gnu/errlist.c:646
+msgid "Protocol error"
+msgstr "Fehler des Präprozessors"
+
+#. TRANS The socket communications protocol family you requested is not supported.
+#: stdio-common/../sysdeps/gnu/errlist.c:343
 msgid "Protocol family not supported"
 msgstr "Die Protokollfamilie wird nicht unterstützt"
 
+#. TRANS You specified a socket option that doesn't make sense for the
+#. TRANS particular protocol being used by the socket.  @xref{Socket Options}.
+#: stdio-common/../sysdeps/gnu/errlist.c:316
 msgid "Protocol not available"
 msgstr "Das Protokoll ist nicht verfügbar"
 
+#. TRANS The socket domain does not support the requested communications protocol
+#. TRANS (perhaps because the requested protocol is completely invalid.)
+#. TRANS @xref{Creating a Socket}.
+#: stdio-common/../sysdeps/gnu/errlist.c:323
 msgid "Protocol not supported"
 msgstr "Das Protokoll wird nicht unterstützt"
 
+#. TRANS The socket type does not support the requested communications protocol.
+#: stdio-common/../sysdeps/gnu/errlist.c:310
 msgid "Protocol wrong type for socket"
 msgstr "Das Protokoll paßt nicht zu dem Socket"
 
 msgid "Quit"
 msgstr "Verlassen"
 
+#: stdio-common/../sysdeps/gnu/errlist.c:742
+msgid "RFS specific error"
+msgstr "RFS-spezifischer Fehler"
+
+#. TRANS ???
+#: stdio-common/../sysdeps/gnu/errlist.c:527
 msgid "RPC bad procedure for program"
 msgstr "RPC: ungültige Prozedur für das Programm"
 
+#: nis/ypclnt.c:635
+msgid "RPC failure on NIS operation"
+msgstr "RPC Fehler bei einer NIS-Operation"
+
+#. TRANS ???
+#: stdio-common/../sysdeps/gnu/errlist.c:517
 msgid "RPC program not available"
 msgstr "RPC: Programm nicht verfügbar"
 
+#. TRANS ???
+#: stdio-common/../sysdeps/gnu/errlist.c:522
 msgid "RPC program version wrong"
 msgstr "RPC: Programm-Version nicht passend"
 
+#. TRANS ???
+#: stdio-common/../sysdeps/gnu/errlist.c:507
 msgid "RPC struct is bad"
 msgstr "RPC: Die Struktur ist ungültig"
 
+#. TRANS ???
+#: stdio-common/../sysdeps/gnu/errlist.c:512
 msgid "RPC version wrong"
 msgstr "RPC: falsche Version"
 
@@ -675,9 +1176,6 @@ msgstr "RPC: (Unbekannter Fehlercode)"
 msgid "RPC: Authentication error"
 msgstr "RPC: Fehler bei der Authentifizierung"
 
-# Ich finde gut, dass "kodieren" genommen wird (und nicht verschlüseln);
-# ich denke aber, es sollte mit 'k' geschrieben werden, wie du weiter
-# unten auch tust. ke.  
 #: sunrpc/clnt_perr.c:169
 msgid "RPC: Can't decode result"
 msgstr "RPC: Kann das Ergebnis nicht dekodieren"
@@ -746,6 +1244,12 @@ msgstr "RPC: Unbekannter Rechner"
 msgid "RPC: Unknown protocol"
 msgstr "RPC: Unbekanntes Protokoll"
 
+#: elf/dlsym.c:49
+msgid "RTLD_NEXT used in code not dynamically loaded"
+msgstr "»RTLD_NEXT« wird in Code verwendet, der nicht dynamisch geladen ist"
+
+#. TRANS An attempt was made to modify something on a read-only file system.
+#: stdio-common/../sysdeps/gnu/errlist.c:206
 msgid "Read-only file system"
 msgstr "Das Dateisystem ist nur lesbar"
 
@@ -753,71 +1257,73 @@ msgstr "Das Dateisystem ist nur lesbar"
 msgid "Regular expression too big"
 msgstr "Der reguläre Ausdruck ist zu groß"
 
-msgid "Reserved error 82"
-msgstr "Revervierter Fehlercode 82"
-
-msgid "Reserved error 83"
-msgstr "Revervierter Fehlercode 83"
-
-msgid "Reserved error 84"
-msgstr "Revervierter Fehlercode 85"
-
-msgid "Reserved error 85"
-msgstr "Revervierter Fehlercode 85"
-
-msgid "Reserved error 86"
-msgstr "Revervierter Fehlercode 86"
-
-msgid "Reserved error 87"
-msgstr "Revervierter Fehlercode 87"
-
-msgid "Reserved error 88"
-msgstr "Revervierter Fehlercode 88"
-
-msgid "Reserved error 89"
-msgstr "Revervierter Fehlercode 89"
-
-msgid "Reserved error 90"
-msgstr "Revervierter Fehlercode 90"
-
-msgid "Reserved error 91"
-msgstr "Revervierter Fehlercode 91"
-
-msgid "Reserved error 92"
-msgstr "Revervierter Fehlercode 92"
-
-msgid "Reserved error 93"
-msgstr "Revervierter Fehlercode 93"
+#: stdio-common/../sysdeps/gnu/errlist.c:798
+msgid "Remote I/O error"
+msgstr "RPC: Ein-/Ausgabe-Fehler des entfernten Systems"
 
-msgid "Reserved error 94"
-msgstr "Revervierter Fehlercode 94"
+#: stdio-common/../sysdeps/gnu/errlist.c:754
+msgid "Remote address changed"
+msgstr "Die entfernte Adresse hat sich geändert"
 
-msgid "Reserved error 95"
-msgstr "Revervierter Fehlercode 95"
+#: inet/ruserpass.c:162
+msgid "Remove password or make file unreadable by others."
+msgstr "Das Paßwort löschen oder die Datei für andere nicht lesbar anlegen."
 
-msgid "Reserved error 96"
-msgstr "Revervierter Fehlercode 96"
+#: catgets/gencat.c:224 db/makedb.c:227 locale/programs/locale.c:257
+#: locale/programs/localedef.c:408
+msgid "Report bugs to <bug-glibc@prep.ai.mit.edu>.\n"
+msgstr "Fehler bitte an <bug-glibc@prep.ai.mit.edu> melden.\n"
 
-msgid "Reserved error 97"
-msgstr "Revervierter Fehlercode 97"
+#: nis/ypclnt.c:633
+msgid "Request arguments bad"
+msgstr "Die Request-Argumente sind ungültig"
 
-msgid "Reserved error 98"
-msgstr "Revervierter Fehlercode 98"
-
-msgid "Reserved error 99"
-msgstr "Revervierter Fehlercode 99"
-
-#: resolv/herror.c:72
+#: resolv/herror.c:73
 msgid "Resolver Error 0 (no error)"
 msgstr "Fehler des Resolvers 0 (Kein Fehler)"
 
-#: resolv/herror.c:114
+#: resolv/herror.c:117
 msgid "Resolver internal error"
 msgstr "Interner Fehler des Resolvers"
 
+#. TRANS Deadlock avoided; allocating a system resource would have resulted in a
+#. TRANS deadlock situation.  The system does not guarantee that it will notice
+#. TRANS all such situations.  This error means you got lucky and the system
+#. TRANS noticed; it might just hang.  @xref{File Locks}, for an example.
+#: stdio-common/../sysdeps/gnu/errlist.c:85
 msgid "Resource deadlock avoided"
 msgstr "Verklemmung beim Zugriff auf eine Resource vermieden"
 
+#. TRANS Resource temporarily unavailable; the call might work if you try again
+#. TRANS later.  The macro @code{EWOULDBLOCK} is another name for @code{EAGAIN};
+#. TRANS they are always the same in the GNU C library.
+#. TRANS
+#. TRANS This error can happen in a few different situations:
+#. TRANS
+#. TRANS @itemize @bullet
+#. TRANS @item
+#. TRANS An operation that would block was attempted on an object that has
+#. TRANS non-blocking mode selected.  Trying the same operation again will block
+#. TRANS until some external condition makes it possible to read, write, or
+#. TRANS connect (whatever the operation).  You can use @code{select} to find out
+#. TRANS when the operation will be possible; @pxref{Waiting for I/O}.
+#. TRANS
+#. TRANS @strong{Portability Note:} In older Unix many systems, this condition
+#. TRANS was indicated by @code{EWOULDBLOCK}, which was a distinct error code
+#. TRANS different from @code{EAGAIN}.  To make your program portable, you should
+#. TRANS check for both codes and treat them the same.
+#. TRANS
+#. TRANS @item
+#. TRANS A temporary resource shortage made an operation impossible.  @code{fork}
+#. TRANS can return this error.  It indicates that the shortage is expected to
+#. TRANS pass, so your program can try the call again later and it may succeed.
+#. TRANS It is probably a good idea to delay for a few seconds before trying it
+#. TRANS again, to allow time for other processes to release scarce resources.
+#. TRANS Such shortages are usually fairly serious and affect the whole system,
+#. TRANS so usually an interactive program should report the error to the user
+#. TRANS and return to its command loop.
+#. TRANS @end itemize
+#: stdio-common/../sysdeps/gnu/errlist.c:267
 msgid "Resource temporarily unavailable"
 msgstr "Das Programm ist zur Zeit nicht verfügbar"
 
@@ -832,21 +1338,30 @@ msgstr "Der Server hat die Bestätigung zurückgewiesen"
 msgid "Server rejected verifier"
 msgstr "Der Server hat die Überprüfung zurückgewiesen"
 
-msgid "Socket is already connected"
-msgstr "Der Socket ist bereits verbunden"
-
-msgid "Socket is not connected"
-msgstr "Der Socket ist nicht verbunden"
-
+#. TRANS A file that isn't a socket was specified when a socket is required.
+#: stdio-common/../sysdeps/gnu/errlist.c:299
 msgid "Socket operation on non-socket"
 msgstr "Socket-Operation an einem nicht-Socket"
 
+#. TRANS The socket type is not supported.
+#: stdio-common/../sysdeps/gnu/errlist.c:328
 msgid "Socket type not supported"
 msgstr "Socket-Typ wird nicht unterstützt"
 
+#. TRANS A network connection was aborted locally.
+#: stdio-common/../sysdeps/gnu/errlist.c:382
 msgid "Software caused connection abort"
-msgstr "Das Programm verursacht den Abbruch der Verbindung"
+msgstr "Das Programm verursachte den Abbruch der Verbindung"
 
+#: stdio-common/../sysdeps/gnu/errlist.c:734
+msgid "Srmount error"
+msgstr "»Srmount«-Fehler"
+
+#. TRANS Stale NFS file handle.  This indicates an internal confusion in the NFS
+#. TRANS system which is due to file system rearrangements on the server host.
+#. TRANS Repairing this condition usually requires unmounting and remounting
+#. TRANS the NFS file system on the local host.
+#: stdio-common/../sysdeps/gnu/errlist.c:494
 msgid "Stale NFS file handle"
 msgstr "Ungültige NFS-Dateizugriffsnummer"
 
@@ -862,38 +1377,85 @@ msgstr "Angehalten (tty-Eingabe)"
 msgid "Stopped (tty output)"
 msgstr "Angehalten (tty-Ausgabe)"
 
-#: posix/regex.c:940
+#: stdio-common/../sysdeps/gnu/errlist.c:778
+msgid "Streams pipe error"
+msgstr "Fehler in Stream-Pipes"
+
+#: stdio-common/../sysdeps/gnu/errlist.c:782
+msgid "Structure needs cleaning"
+msgstr "Die Struktur muß bereinigt werden"
+
+#: nis/ypclnt.c:631 nis/ypclnt.c:705 posix/regex.c:940
+#: stdio-common/../sysdeps/gnu/errlist.c:7
 msgid "Success"
 msgstr "Erfolg"
 
+#: nis/ypclnt.c:711
+msgid "System resource allocation failure"
+msgstr "Fehler bei der Beschaffung einer System-Resource"
+
 msgid "Terminated"
 msgstr "Beendet"
 
+#. TRANS An attempt to execute a file that is currently open for writing, or
+#. TRANS write to a file that is currently being executed.  Often using a
+#. TRANS debugger to run a program is considered having it open for writing and
+#. TRANS will cause this error.  (The name stands for ``text file busy''.)  This
+#. TRANS is not an error in the GNU system; the text is copied as necessary.
+#: stdio-common/../sysdeps/gnu/errlist.c:185
 msgid "Text file busy"
-msgstr "Das Programm kann nicht verändert werden (busy)"
+msgstr "Das Programm kann nicht ausgeführt oder verändert werden (busy)"
 
-msgid "Too many levels of remote in path"
-msgstr "Zu viele \"entfernte\" Ebenen im Pfad"
+#: stdio-common/../sysdeps/gnu/errlist.c:650
+msgid "Timer expired"
+msgstr "Der virtuelle Zeitnehmer ist abgelaufen"
 
+#. TRANS Too many levels of symbolic links were encountered in looking up a file name.
+#. TRANS This often indicates a cycle of symbolic links.
+#: stdio-common/../sysdeps/gnu/errlist.c:445
 msgid "Too many levels of symbolic links"
 msgstr "Zu viele Ebenen aus symbolischen Links"
 
+#. TRANS Too many links; the link count of a single file would become too large.
+#. TRANS @code{rename} can cause this error if the file being renamed already has
+#. TRANS as many links as it can take (@pxref{Renaming Files}).
+#: stdio-common/../sysdeps/gnu/errlist.c:213
 msgid "Too many links"
 msgstr "Zu viele Links"
 
+#. TRANS The current process has too many files open and can't open any more.
+#. TRANS Duplicate descriptors do count toward this limit.
+#. TRANS
+#. TRANS In BSD and GNU, the number of open files is controlled by a resource
+#. TRANS limit that can usually be increased.  If you get this error, you might
+#. TRANS want to increase the @code{RLIMIT_NOFILE} limit or make it unlimited;
+#. TRANS @pxref{Limits on Resources}.
+#: stdio-common/../sysdeps/gnu/errlist.c:163
 msgid "Too many open files"
 msgstr "Zu viele offene Dateien"
 
+#. TRANS There are too many distinct file openings in the entire system.  Note
+#. TRANS that any number of linked channels count as just one file opening; see
+#. TRANS @ref{Linked Channels}.  This error never occurs in the GNU system.
+#: stdio-common/../sysdeps/gnu/errlist.c:170
 msgid "Too many open files in system"
 msgstr "Zu viele offene Dateien im System"
 
+#. TRANS This means that the per-user limit on new process would be exceeded by
+#. TRANS an attempted @code{fork}.  @xref{Limits on Resources}, for details on
+#. TRANS the @code{RLIMIT_NPROC} limit.
+#: stdio-common/../sysdeps/gnu/errlist.c:475
 msgid "Too many processes"
 msgstr "Zu viele Prozesse"
 
-# ???
-msgid "Too many references: can't splice"
+#. TRANS ???
+#: stdio-common/../sysdeps/gnu/errlist.c:427
+msgid "Too many references: cannot splice"
 msgstr "Zu viele Referenzen: can't splice"
 
+#. TRANS The file quota system is confused because there are too many users.
+#. TRANS @c This can probably happen in a GNU system when using NFS.
+#: stdio-common/../sysdeps/gnu/errlist.c:481
 msgid "Too many users"
 msgstr "Zu viele Benutzer"
 
@@ -902,67 +1464,104 @@ msgstr "Trace/Breakpoint ausgelöst"
 
 #: posix/regex.c:945
 msgid "Trailing backslash"
-msgstr "Angehängter \"Backslash\""
+msgstr "Angehängter Backslash (»\\«)"
 
+#. TRANS In the GNU system, opening a file returns this error when the file is
+#. TRANS translated by a program and the translator program dies while starting
+#. TRANS up, before it has connected to the file.
+#: stdio-common/../sysdeps/gnu/errlist.c:584
 msgid "Translator died"
 msgstr "Der Übersetzer ist gestorben"
 
-#: catgets/gencat.c:201
+#. TRANS You tried to connect a socket that is already connected.
+#. TRANS @xref{Connecting}.
+#: stdio-common/../sysdeps/gnu/errlist.c:402
+msgid "Transport endpoint is already connected"
+msgstr "Der Socket ist bereits verbunden"
+
+#. TRANS The socket is not connected to anything.  You get this error when you
+#. TRANS try to transmit data over a socket, without first specifying a
+#. TRANS destination for the data.  For a connectionless socket (for datagram
+#. TRANS protocols, such as UDP), you get @code{EDESTADDRREQ} instead.
+#: stdio-common/../sysdeps/gnu/errlist.c:410
+msgid "Transport endpoint is not connected"
+msgstr "Der Socket ist nicht verbunden"
+
+#: catgets/gencat.c:208 db/makedb.c:209 locale/programs/locale.c:241
+#: locale/programs/localedef.c:389
 #, c-format
 msgid "Try `%s --help' for more information.\n"
-msgstr ""
+msgstr "»%s --help« gibt weitere Informationen.\n"
 
-#: inet/rcmd.c:118
+#: inet/rcmd.c:136
 #, c-format
 msgid "Trying %s...\n"
-msgstr "Versuche %s...\n"
+msgstr "Versuche »%s«...\n"
+
+#: inet/ruserpass.c:246
+#, c-format
+msgid "Unknown .netrc keyword %s"
+msgstr "Unbekanntes Schlüsselwort »%s« in der Datei ».netrc«"
+
+#: nis/ypclnt.c:665
+msgid "Unknown NIS error code"
+msgstr "Unbekannter NIS-Fehlercode"
 
-#: ../sysdeps/mach/_strerror.c:58 string/../sysdeps/generic/_strerror.c:36
+#: string/../sysdeps/generic/_strerror.c:44
+#: string/../sysdeps/mach/_strerror.c:67
 msgid "Unknown error "
 msgstr "Unbekannter Fehler "
 
-#: resolv/herror.c:73
+#: resolv/herror.c:74
 msgid "Unknown host"
 msgstr "Unbekannter Rechner"
 
-#: resolv/herror.c:117
+#: resolv/herror.c:120
 msgid "Unknown resolver error"
-msgstr "Unbekannter Fehler des \"Resolvers\""
+msgstr "Unbekannter Fehler des »Resolvers«"
 
-#: resolv/herror.c:75
+#: resolv/herror.c:76
 msgid "Unknown server error"
 msgstr "Unbekannter Fehler des Servers"
 
-#: string/strsignal.c:40
+#: string/strsignal.c:41
 #, c-format
 msgid "Unknown signal %d"
 msgstr "Unbekanntes Signal %d"
 
-#: misc/error.c:92
+#: misc/error.c:95
 msgid "Unknown system error"
 msgstr "Unbekannter Systemfehler"
 
-# Die Klammern eventuell quotieren. ke.
+#: nis/ypclnt.c:713
+msgid "Unknown ypbind error"
+msgstr "Unbekannter Fehler im »ypbind«"
+
 #: posix/regex.c:948
 msgid "Unmatched ( or \\("
-msgstr "( oder \\( ohne schließende Klammer"
+msgstr "»(« oder »\\(« ohne schließende Klammer"
 
 #: posix/regex.c:956
 msgid "Unmatched ) or \\)"
-msgstr ") oder \\) ohne öffnende Klammer"
+msgstr "»)« oder »\\)« ohne öffnende Klammer"
 
 #: posix/regex.c:947
 msgid "Unmatched [ or [^"
-msgstr "[ oder [^ ohne schließende Klammer"
+msgstr "»[« oder »[^« ohne schließende Klammer"
 
 #: posix/regex.c:949
 msgid "Unmatched \\{"
-msgstr "\\{ ohne schließende Klammer"
+msgstr "»\\{« ohne schließende Klammer"
+
+#: posix/getconf.c:260
+#, c-format
+msgid "Unrecognized variable `%s'"
+msgstr "Unbekannte Variable »%s«"
 
 msgid "Urgent I/O condition"
 msgstr "Dringende Ein-/Ausgabe-Bedingung"
 
-#: catgets/gencat.c:204
+#: catgets/gencat.c:212
 #, c-format
 msgid ""
 "Usage: %s [OPTION]... -o OUTPUT-FILE [INPUT-FILE]...\n"
@@ -976,15 +1575,127 @@ msgid ""
 "If INPUT-FILE is -, input is read from standard input.  If OUTPUT-FILE\n"
 "is -, output is written to standard output.\n"
 msgstr ""
-
-#: posix/getconf.c:81
+"Syntax: %s [OPTION]... -o Ausgabe-Datei [Eingabe-Datei]...\n"
+"        %s [OPTION]... [Ausgabe-Datei [Eingabe-Datei]...]\n"
+"\n"
+"Notwendige Argumente für lange Optionen sind auch für kurze erforderlich. \n"
+"\n"
+"  -H, --header        Erzeuge C-Header-Dateien mit den Symbol-Definitionen\n"
+"  -h, --help          Zeigt diese Hilfe an\n"
+"      --new           Verwendet keinen existierenden Katalog sondern \n"
+"                      erzwingt die Erzeugung eines neuen\n"
+"  -o, --output=NAME   Erzeuge die Ausgabe-Datei NAME\n"
+"  -V, --version       Gibt die Versionsnummer aus\n"
+"\n"
+"Wenn als Name der Eingabe-Datei ein '-' angegeben ist, dann wird von\n"
+"der Standard-Eingabe gelesen.  Wird als Ausgabe-Datei '-' verwendet,\n"
+"so wird auf die Standard-Ausgabe geschreiben.\n"
+
+#: db/makedb.c:213
+#, c-format
+msgid ""
+"Usage: %s [OPTION]... INPUT-FILE OUTPUT-FILE\n"
+"       %s [OPTION]... -o OUTPUT-FILE INPUT-FILE\n"
+"       %s [OPTION]... -u INPUT-FILE\n"
+"Mandatory arguments to long options are mandatory for short options too.\n"
+"  -f, --fold-case     convert key to lower case\n"
+"  -h, --help          display this help and exit\n"
+"  -o, --output=NAME   write output to file NAME\n"
+"      --quiet         don't print messages while building database\n"
+"  -u, --undo          print content of database file, one entry a line\n"
+"  -V, --version       output version information and exit\n"
+"If INPUT-FILE is -, input is read from standard input.\n"
+msgstr ""
+"Syntax: %s [OPTION]... Eingabe-Datei Ausgabe-Datei\n"
+"        %s [OPTION]... -o Ausgabe-Datei Eingabe-Datei\n"
+"        %s [OPTION]... -u Eingabe-Datei\n"
+"\n"
+"\"Notwendige Argumente für lange Optionen sind auch für kurze erforderlich.\n"
+"\n"
+"  -f, --fold-case     Schlüssel werden nach Kleinschrift konvertiert\n"
+"  -h, --help          Zeigt diese Hilfe an\n"
+"  -o, --output=NAME   Gibt in die Datei NAME aus.\n"
+"      --quiet         Keine Meldungen beim Erzeugen der Datenbank ausgeben\n"
+"  -u, --undo          Gibt den Inhalt der Datenbank aus, jeder Eintrag\n"
+"                      steht in einer eigenen Zeile\n"
+"  -V, --version       Gibt die Versionsnummer aus\n"
+"\n"
+"Wenn als Name der Eingabe-Datei ein '-' angegeben ist, dann wird\n"
+"von der Standard-Eingabe gelesen.\n"
+
+#: locale/programs/localedef.c:393
+#, c-format
+msgid ""
+"Usage: %s [OPTION]... name\n"
+"Mandatory arguments to long options are mandatory for short options too.\n"
+"  -c, --force               create output even if warning messages were issued\n"
+"  -h, --help                display this help and exit\n"
+"  -f, --charmap=FILE        symbolic character names defined in FILE\n"
+"  -i, --inputfile=FILE      source definitions are found in FILE\n"
+"  -u, --code-set-name=NAME  specify code set for mapping ISO 10646 elements\n"
+"  -v, --verbose             print more messages\n"
+"  -V, --version             output version information and exit\n"
+"      --posix               be strictly POSIX conform\n"
+"\n"
+"System's directory for character maps: %s\n"
+"                       locale files  : %s\n"
+msgstr ""
+"Syntax: %s [Option]... Name\n"
+"\n"
+"Notwendige Argumente für lange Optionen sind auch für kurze erforderlich.\n"
+"\n"
+"  -c, --force               Erzeuge die Ausgabedateien auch dann, wenn\n"
+"                            Warnungen ausgegeben wurden.\n"
+"  -h, --help                Zeigt diese Hilfe an\n"
+"  -f, --charmap=DATEI       Die symbolischen Namen der Zeichen sind in \n"
+"                            der Datei DATEI definiert\n"
+"  -i, --inputfile=DATEI     Der Quellcode für die Lokale steht in DATEI\n"
+"  -u, --code-set-name=NAME  Gibt den Zeichensatz für die Zuordnung der\n"
+"                            ISO-10646-Elemente an\n"
+"  -v, --verbose             Gibt ausführlichere Nachrichten aus\n"
+"  -V, --version             Gibt die Versionsnummer aus\n"
+"      --posix               Das Programm verhält sich exakt wie im\n"
+"                            POSIX-Standard beschrieben\n"
+"\n"
+"System-Verzeichnis für Zeichensatzbeschreibungen: %s\n"
+"                       Lokale-Definitionen      : %s\n"
+
+#: locale/programs/locale.c:245
+#, c-format
+msgid ""
+"Usage: %s [OPTION]... name\n"
+"Mandatory arguments to long options are mandatory for short options too.\n"
+"  -h, --help            display this help and exit\n"
+"  -V, --version         output version information and exit\n"
+"\n"
+"  -a, --all-locales     write names of available locales\n"
+"  -m, --charmaps        write names of available charmaps\n"
+"\n"
+"  -c, --category-name   write names of selected categories\n"
+"  -k, --keyword-name    write names of selected keywords\n"
+msgstr ""
+"Syntax: %s [Option]... Name\n"
+"\n"
+"Notwendige Argumente für lange Optionen sind auch für kurze erforderlich.\n"
+"\n"
+"  -h, --help            Zeigt diese Hilfe an\n"
+"  -V, --version         Gibt die Versionsnummer an\n"
+"\n"
+"  -a, --all-locales     Gibt die Namen aller verfügbaren Lokalen aus\n"
+"  -m, --charmaps        Gibt die Namen aller verfügbaren Zeichensatz-\n"
+"                        beschreibungen aus\n"
+"\n"
+"  -c, --category-name   Gibt die Namen der gewünschten Kategorien aus\n"
+"  -k, --keyword-name    Gibt die Namen der geswünschten Schlüsselworte aus\n"
+
+#: posix/getconf.c:200
 #, c-format
 msgid "Usage: %s variable_name [pathname]\n"
-msgstr ""
+msgstr "Syntax: %s Variablen-Name [Pfadname]\n"
 
 #: sunrpc/rpcinfo.c:609
 msgid "Usage: rpcinfo [ -n portnum ] -u host prognum [ versnum ]\n"
-msgstr ""
+msgstr "Syntax: rpcinfo [ -n Portnummer ] -u Rechner Programm-Nummer [Versions-Nummer]\n"
 
 msgid "User defined signal 1"
 msgstr "Benutzerdefiniertes Signal 1"
@@ -992,702 +1703,1201 @@ msgstr "Benutzerdefiniertes Signal 1"
 msgid "User defined signal 2"
 msgstr "Benutzerdefiniertes Signal 2"
 
+#: stdio-common/../sysdeps/gnu/errlist.c:642
+msgid "Value too large for defined data type"
+msgstr "Der Wert ist zu groß für den definierten Datentyp"
+
 msgid "Virtual timer expired"
 msgstr "Der virtuelle Zeitnehmer ist abgelaufen"
 
-#: time/zic.c:1740
+#: time/zic.c:1844
 msgid "Wild result from command execution"
-msgstr ""
+msgstr "Wildes Ergebnis aus der Kommando-Ausführung"
 
 msgid "Window changed"
 msgstr "Die Fenstergröße wurde verändert"
 
+#: catgets/gencat.c:174 db/makedb.c:125 locale/programs/locale.c:192
+#: locale/programs/localedef.c:182
+#, c-format
+msgid "Written by %s.\n"
+msgstr "Implementiert von %s.\n"
+
+#: nis/ypclnt.c:146
+msgid "YPBINDPROC_DOMAIN: Internal error\n"
+msgstr "YPBINDPROC_DOMAIN: Interner Fehler\n"
+
+#: nis/ypclnt.c:150
+#, c-format
+msgid "YPBINDPROC_DOMAIN: No server for domain %s\n"
+msgstr "YPBINDPROC_DOMAIN: Kein Server für die NIS-Domain »%s«\n"
+
+#: nis/ypclnt.c:154
+msgid "YPBINDPROC_DOMAIN: Resource allocation failure\n"
+msgstr "YPBINDPROC_DOMAIN: Fehler bei der Resourcen-Beschaffung\n"
+
+#: nis/ypclnt.c:158
+msgid "YPBINDPROC_DOMAIN: Unknown error\n"
+msgstr "YPBINDPROC_DOMAIN: Unbekannter Fehler\n"
+
+#. TRANS You did @strong{what}?
+#: stdio-common/../sysdeps/gnu/errlist.c:596
 msgid "You really blew it this time"
 msgstr "Diesmal hast Du es wirklich kaputtgemacht"
 
-#: time/zic.c:1013
+#: time/zic.c:1050
 msgid "Zone continuation line end time is not after end time of previous line"
-msgstr ""
+msgstr "Die Ende-Zeit der Fortsetzungszeile ist nicht später als die Ende-Zeit der vorangegangenen Zeile"
+
+#: locale/programs/charmap.c:397 locale/programs/locfile.c:341
+#, c-format
+msgid "`%1$s' definition does not end with `END %1$s'"
+msgstr "Die Definition von »%1$s« ist nicht durch »END %1$s« abgeschlossen"
+
+#: locale/programs/ld-monetary.c:358 locale/programs/ld-numeric.c:190
+#, c-format
+msgid "`-1' must be last entry in `%s' field in `%s' category"
+msgstr "»-1« muß der letzte Eintrag im »%s«-Feld in der »%s«-Kategorie sein"
+
+#: locale/programs/ld-collate.c:1652
+msgid "`...' must only be used in `...' and `UNDEFINED' entries"
+msgstr "»...« darf nur in »...« und »UNDEFINED« Einträgen verwendet werden"
 
-#: sunrpc/rpc_parse.c:326
-msgid "array declaration expected"
-msgstr "Tabellendeklaration erwartet"
+#: locale/programs/locfile.c:538
+msgid "`from' expected after first argument to `collating-element'"
+msgstr "»from« erwartet nach dem ersten Argument von »collating-element«"
 
-#: sunrpc/auth_unix.c:314
+#: locale/programs/ld-collate.c:1109
+msgid "`from' string in collation element declaration contains unknown character"
+msgstr "Der »from«-String in der Deklaration des »collation element« enthält unbekannte Zeichen"
+
+#: locale/programs/charmap.c:267
+#, c-format
+msgid "argument to <%s> must be a single character"
+msgstr "Das Argument für »<%s>« muß ein einzelnes Zeichen sein"
+
+#: locale/programs/locfile.c:215
+#, c-format
+msgid "argument to `%s' must be a single character"
+msgstr "Das Argument zu »%s« muß ein eizelnes Zeichen sein"
+
+#: sunrpc/auth_unix.c:322
 msgid "auth_none.c - Fatal marshalling problem"
-msgstr "auth_none.c - Fatales \"marshalling\"-Problem"
+msgstr "auth_none.c - Fatales »marshalling«-Problem"
 
-#: inet/rcmd.c:327
+#: inet/rcmd.c:360
 msgid "bad .rhosts owner"
-msgstr "Ungültiger Eigentümer der Datei `.rhosts'"
+msgstr "Ungültiger Eigentümer der Datei ».rhosts«"
+
+#: locale/programs/charmap.c:212 locale/programs/locfile.c:209
+msgid "bad argument"
+msgstr "Das Argument ist ungültig"
 
-#: time/zic.c:1136
+#: time/zic.c:1172
 msgid "blank FROM field on Link line"
-msgstr ""
+msgstr "Leeres FROM-Feld in der Link-Zeile"
 
-#: time/zic.c:1140
+#: time/zic.c:1176
 msgid "blank TO field on Link line"
-msgstr ""
+msgstr "Leeres TO-Feld in der Link-Zeile"
 
-#: malloc/mcheck.c:174
+#: malloc/mcheck.c:189
 msgid "block freed twice"
 msgstr "Speicherblock zum zweiten Mal freigegeben"
 
-# Nich übersetzbare Ausdrücke eventuell mit "..." markieren; wir sollten
-# in de@li.org gelegentlich darüber diskutieren.
-#: malloc/mcheck.c:177
+#: malloc/mcheck.c:192
 msgid "bogus mcheck_status, library is buggy"
-msgstr "Eigenartiger \"mcheck_status\", die Bibliothek enthält Fehler"
+msgstr "Eigenartiger »mcheck_status«, die Bibliothek enthält Fehler"
 
-#: sunrpc/pmap_rmt.c:177
+#: sunrpc/pmap_rmt.c:179
 msgid "broadcast: ioctl (get interface configuration)"
 msgstr "Broadcast: ioctl (Holen der Konfiguration der Schnittstelle)"
 
-#: sunrpc/pmap_rmt.c:184
+#: sunrpc/pmap_rmt.c:186
 msgid "broadcast: ioctl (get interface flags)"
 msgstr "Broadcast: ioctl (Holen der Parameter der Schnittstelle)"
 
-#: sunrpc/svc_udp.c:398
+#: sunrpc/svc_udp.c:402
 msgid "cache_set: victim not found"
 msgstr "cache_set: Das Opfer wurde nicht gefunden"
 
+#: time/zic.c:1685
+msgid "can't determine time zone abbrevation to use just after until time"
+msgstr "Kann die Abkürzung der Zeitzone zur Verwendung direkt nach der Zeit nicht bestimmen"
+
 #: sunrpc/svc_simple.c:64
 #, c-format
 msgid "can't reassign procedure number %d\n"
 msgstr "Kann die Prozedurnummer %d nicht erneut zuweisen\n"
 
-#: catgets/gencat.c:248
-#, fuzzy, c-format
+#: locale/programs/localedef.c:287
+#, c-format
+msgid "cannot `stat' locale file `%s'"
+msgstr "Kann den Status der Lokale-Datei »%s« nicht bestimmen"
+
+#: locale/programs/ld-collate.c:1314
+#, c-format
+msgid "cannot insert collation element `%.*s'"
+msgstr "Kann das »Collation«-Element »%.*s« nicht einfügen"
+
+#: locale/programs/ld-collate.c:1493 locale/programs/ld-collate.c:1498
+msgid "cannot insert into result table"
+msgstr "Kann nicht in die Ergebnis-Tabelle einfügen"
+
+#: locale/programs/ld-collate.c:1166 locale/programs/ld-collate.c:1208
+#, c-format
+msgid "cannot insert new collating symbol definition: %s"
+msgstr "Kann die neue »Collating-Symbol«-Definition nicht einfügen: %s"
+
+#: db/makedb.c:161
+#, c-format
+msgid "cannot open database file `%s': %s"
+msgstr "Kann die Ausgabedatei »%s« nicht öffnen: %s"
+
+#: catgets/gencat.c:259 db/makedb.c:180
+#, c-format
 msgid "cannot open input file `%s'"
-msgstr "Kann die Ausgabedatei `%s' nicht öffnen: %m"
+msgstr "Kann die Eingabedatei »%s« nicht öffnen"
+
+#: locale/programs/localedef.c:221
+#, c-format
+msgid "cannot open locale definition file `%s'"
+msgstr "Kann die Lokale-Definitionsdatei »%s« nicht öffnen"
 
-#: catgets/gencat.c:753 gencat.c:794
-#, fuzzy, c-format
+#: catgets/gencat.c:764 catgets/gencat.c:805 db/makedb.c:189
+#, c-format
 msgid "cannot open output file `%s'"
-msgstr "Kann die Ausgabedatei `%s' nicht öffnen: %m"
+msgstr "Kann die Ausgabedatei »%s« nicht öffnen"
+
+#: locale/programs/locfile.c:986
+#, c-format
+msgid "cannot open output file `%s' for category `%s'"
+msgstr "Kann die Ausgabedatei »%s« für die Kategorie »%s« nicht öffnen"
+
+#: locale/programs/ld-collate.c:1360
+msgid "cannot process order specification"
+msgstr "Kann die Spezifikation der Sortierreihenfolge nicht verarbeiten"
+
+#: locale/programs/locale.c:303
+#, c-format
+msgid "cannot read character map directory `%s'"
+msgstr "Das Verzeichnis »%s« der Zeichensatz-Definitionen kann nicht gelesen werden"
+
+#: locale/programs/locale.c:278
+#, c-format
+msgid "cannot read locale directory `%s'"
+msgstr "Kann das Lokale-Verzeichnis »%s« nicht lesen"
+
+#: locale/programs/localedef.c:309
+#, c-format
+msgid "cannot read locale file `%s'"
+msgstr "Kann die Lokale-Datei »%s« nicht lesen"
+
+#: locale/programs/localedef.c:334
+#, c-format
+msgid "cannot write output files to `%s'"
+msgstr "Kann die Ausgabedatei »%s« nicht schreiben"
+
+#: locale/programs/localedef.c:377
+msgid "category data requested more than once: should not happen"
+msgstr "Die Daten einer Kategorie sind mehrfach angefordert worden, das sollte nicht passieren"
+
+#: locale/programs/ld-ctype.c:265
+#, c-format
+msgid "character %s'%s' in class `%s' must be in class `%s'"
+msgstr "Das Zeichen %s»%s«, das in der Zeichenklasse »%s« enthalten ist, muß auch in der Zeichenklasse »%s« enthalten sein"
+
+#: locale/programs/ld-ctype.c:289
+#, c-format
+msgid "character %s'%s' in class `%s' must not be in class `%s'"
+msgstr "Das Zeichen %s»%s« in der Zeichenklasse »%s« darf nicht in der Zeichenklasse »%s« enthalten sein"
+
+#: locale/programs/ld-ctype.c:310
+msgid "character <SP> not defined in character map"
+msgstr "Das Zeichen »<SP>« ist in der Zeichen-Definition nicht enthalten"
+
+#: locale/programs/ld-ctype.c:939 locale/programs/ld-ctype.c:1002
+#: locale/programs/ld-ctype.c:1010 locale/programs/ld-ctype.c:1018
+#: locale/programs/ld-ctype.c:1026 locale/programs/ld-ctype.c:1034
+#: locale/programs/ld-ctype.c:1042 locale/programs/ld-ctype.c:1068
+#: locale/programs/ld-ctype.c:1076 locale/programs/ld-ctype.c:1114
+#: locale/programs/ld-ctype.c:1141 locale/programs/ld-ctype.c:1152
+#, c-format
+msgid "character `%s' not defined while needed as default value"
+msgstr "Das Zeichen »%s« ist nicht definiert, wird aber als Vorgabewert benötigt"
+
+#: locale/programs/ld-ctype.c:801
+#, c-format
+msgid "character class `%s' already defined"
+msgstr "Die Zeichenklasse »%s« ist bereits definiert"
+
+#: locale/programs/ld-ctype.c:833
+#, c-format
+msgid "character map `%s' already defined"
+msgstr "Die Zeichensatzbeschreibung »%s« ist bereits definiert"
+
+#: locale/programs/charmap.c:76
+#, c-format
+msgid "character map file `%s' not found"
+msgstr "Die Zeichensatzbeschreibungs-Datei »%s« wurde nicht gefunden"
 
 #: sunrpc/clnt_raw.c:106
 msgid "clnt_raw.c - Fatal header serialization error."
 msgstr "clnt_raw.c - Fataler Fehler bei der Header-Serialisierung."
 
-#: inet/rcmd.c:112
+#: locale/programs/ld-collate.c:1329
+#, c-format
+msgid "collation element `%.*s' appears more than once: ignore line"
+msgstr "Das 'collation'-Element »%.*s« ist mehr als einmal angegeben: Die Zeile wird ignoriert"
+
+#: locale/programs/ld-collate.c:1347
+#, c-format
+msgid "collation symbol `%.*s' appears more than once: ignore line"
+msgstr "Das 'Collation'-Symbol »%.*s« ist mehr als einmal angegeben; die Zeile wird ignoriert"
+
+#: locale/programs/locfile.c:522
+#, c-format
+msgid "collation symbol expected after `%s'"
+msgstr "Nach »%s« wird ein 'collation'-Symbol erwartet"
+
+#: inet/rcmd.c:129
 #, c-format
 msgid "connect to address %s: "
 msgstr "Verbindungsaufbau zur Adresse %s: "
 
-#: sunrpc/rpc_scan.c:109
-msgid "constant or identifier expected"
-msgstr "Konstante oder Bezeichner erwartet"
-
 #: sunrpc/svc_simple.c:70
 msgid "couldn't create an rpc server\n"
 msgstr "Kann keinen RPC-Server erzeugen\n"
 
-#: sunrpc/portmap.c:122
-#, fuzzy
-msgid "couldn't do tcp_create\n"
-msgstr "Kann keinen RPC-Server erzeugen\n"
-
-#: sunrpc/portmap.c:100
-#, fuzzy
-msgid "couldn't do udp_create\n"
-msgstr "Kann keinen RPC-Server erzeugen\n"
-
 #: sunrpc/svc_simple.c:77
 #, c-format
 msgid "couldn't register prog %d vers %d\n"
 msgstr "Kann das Programm %d Version %d nicht registrieren\n"
 
-#: sunrpc/rpc_parse.c:77
-msgid "definition keyword expected"
-msgstr "Keyword-Definition erwartet"
+#: locale/programs/charmap.c:86
+#, c-format
+msgid "default character map file `%s' not found"
+msgstr "Die Default-Zeichensatzbeschreibung in der Datei »%s« wurde nicht gefunden"
 
-#: catgets/gencat.c:367
-#, fuzzy
+#: locale/programs/ld-time.c:154
+#, c-format
+msgid "direction flag in string %d in `era' field in category `%s' is not '+' nor '-'"
+msgstr "Der Richtungsanzeiger in der Zeichenkette %d im »era«-Feld in der Kategorie »%s« ist weder »+« noch »-«"
+
+#: locale/programs/ld-time.c:164
+#, c-format
+msgid "direction flag in string %d in `era' field in category `%s' is not a single character"
+msgstr "Der Richtungsanzeiger in der Zeichenkette %d im »era«-Feld in der Kategorie »%s« ist kein einzelnes Zeichen"
+
+#: locale/programs/charset.c:87 locale/programs/charset.c:132
+#, c-format
+msgid "duplicate character name `%s'"
+msgstr "Der Name des Zeichens »%s« ist mehrfach angegeben"
+
+#: locale/programs/ld-collate.c:1141
+msgid "duplicate collating element definition"
+msgstr "Mehrfache Definition des 'collating'-Elementes"
+
+#: locale/programs/ld-collate.c:1287
+#, c-format
+msgid "duplicate definition for character `%.*s'"
+msgstr "Mehrfache Definition des Eintrages »%.*s«"
+
+#: db/makedb.c:310
+msgid "duplicate key"
+msgstr "Doppelter Eintrag"
+
+#: catgets/gencat.c:378
 msgid "duplicate set definition"
-msgstr "%s:%u: Doppelte Spezifikation des Zeichensatz-Namens"
+msgstr "Doppelte »set«-Definition"
 
-#: time/zic.c:928
+#: time/zic.c:965
 #, c-format
 msgid "duplicate zone name %s (file \"%s\", line %d)"
-msgstr ""
+msgstr "Doppelter Zonen-Name »%s« (Datei »%s«, Zeile %d)"
 
-#: catgets/gencat.c:530
+#: catgets/gencat.c:541
 msgid "duplicated message identifier"
-msgstr ""
+msgstr "Der Nachrichten-Bezeichner ist mehrfach vorhanden"
 
-#: catgets/gencat.c:503
+#: catgets/gencat.c:514
 msgid "duplicated message number"
-msgstr ""
+msgstr "Die Nachrichten-Nummer ist mehrfach vorhanden"
 
-#: sunrpc/svc_udp.c:344
+#: locale/programs/ld-collate.c:1696
+msgid "empty weight name: line ignored"
+msgstr "Leerer »weight«-Name: Die Zeile wird ignoriert"
+
+#: sunrpc/svc_udp.c:348
 msgid "enablecache: cache already enabled"
 msgstr "enablecache: Cache ist bereits aktiv"
 
-#: sunrpc/svc_udp.c:349
+#: sunrpc/svc_udp.c:353
 msgid "enablecache: could not allocate cache"
 msgstr "enablecache: Kann keinen Cache anlegen"
 
-#: sunrpc/svc_udp.c:356
+#: sunrpc/svc_udp.c:360
 msgid "enablecache: could not allocate cache data"
 msgstr "enablecache: Kann die Cache-Daten nicht anlegen"
 
-#: sunrpc/svc_udp.c:362
+#: sunrpc/svc_udp.c:366
 msgid "enablecache: could not allocate cache fifo"
 msgstr "enablecache: Kann keinen FIFO-Cache anlegen"
 
-#: sunrpc/rpc_util.c:300
+#: locale/programs/ld-collate.c:1419
+msgid "end point of ellipsis range is bigger then start"
+msgstr "Das Ende eines Auslassungs-Intervalls ist gößer als der Start"
+
+#: locale/programs/ld-collate.c:1149
+msgid "error while inserting collation element into hash table"
+msgstr "Fehler beim Einfügen des Collation-Elementes in die Hash-Tabelle"
+
+#: locale/programs/ld-collate.c:1161
+msgid "error while inserting to hash table"
+msgstr "Fehler beim Einfügen in die Hash-Tabelle"
+
+#: locale/programs/locfile.c:465
+msgid "expect string argument for `copy'"
+msgstr "Für »copy« wird ein String-Argument erwartet"
+
+#: time/zic.c:856
+msgid "expected continuation line not found"
+msgstr "Die erwartete Fortsetzungszeile ist nicht vorhanden"
+
+#: locale/programs/locfile.c:1010
 #, c-format
-msgid "expected '%s'"
-msgstr "'%s' erwartet"
+msgid "failure while writing data for category `%s'"
+msgstr "Fehler beim Schreiben der Daten für die Kategorie »%s«"
 
-#: sunrpc/rpc_util.c:312
+#: locale/programs/ld-monetary.c:154 locale/programs/ld-numeric.c:95
 #, c-format
-msgid "expected '%s' or '%s'"
-msgstr "'%s' oder '%s' erwartet"
+msgid "field `%s' in category `%s' not defined"
+msgstr "Der Eintrag »%s« in der Kategorie »%s« ist undefiniert"
 
-#: sunrpc/rpc_util.c:325
+#: locale/programs/ld-messages.c:81 locale/programs/ld-messages.c:102
 #, c-format
-msgid "expected '%s', '%s' or '%s'"
-msgstr "'%s', '%s' oder '%s' erwartet"
+msgid "field `%s' in category `%s' undefined"
+msgstr "Der Eintrag »%s« in der Kategorie »%s« ist undefiniert"
 
-#: time/zic.c:819
-msgid "expected continuation line not found"
-msgstr ""
+#: locale/programs/locfile.c:547
+msgid "from-value of `collating-element' must be a string"
+msgstr "Der From-Wert eines `collating-Eelements' muß ein String sein"
 
-#: sunrpc/rpc_parse.c:384
-msgid "expected type specifier"
-msgstr "Type-Bezeichner erwartet"
+#: locale/programs/linereader.c:328
+msgid "garbage at end of character code specification"
+msgstr "Murks am Ende einer Zeichensatz-Spezifikation"
+
+#: locale/programs/linereader.c:214
+msgid "garbage at end of digit"
+msgstr "Am Ende der Ziffer sind unsinnige Einträge"
+
+#: locale/programs/ld-time.c:183
+#, c-format
+msgid "garbage at end of offset value in string %d in `era' field in category `%s'"
+msgstr "Unsinnige Einträge am Ende des Offset-Wertes in der Zeichenkette %d im »era«-Feld der Kategorie »%s«"
+
+#: locale/programs/ld-time.c:238
+#, c-format
+msgid "garbage at end of starting date in string %d in `era' field in category `%s'"
+msgstr "Unsinnige Einträge am Ende des Start-Datums in der Zeichenkette %d im »era«-Feld der Kategorie »%s«"
+
+#: locale/programs/ld-time.c:310
+#, c-format
+msgid "garbage at end of stopping date in string %d in `era' field in category `%s'"
+msgstr "Unsinnige Eintrage am Ende des Stop-Datums in der Zeichenkette %d im »era«-Feld der Kategorie »%s«"
 
 #: sunrpc/get_myaddr.c:73
 msgid "get_myaddress: ioctl (get interface configuration)"
 msgstr "get_myaddress: ioctl (Holen der Konfiguration der Schnittstelle)"
 
-#: time/zic.c:1113
+#: time/zic.c:1149
 msgid "illegal CORRECTION field on Leap line"
-msgstr ""
+msgstr "ungültiges »CORRECTION«-Feld in der 'Leap'-Zeile"
 
-#: time/zic.c:1117
+#: time/zic.c:1153
 msgid "illegal Rolling/Stationary field on Leap line"
-msgstr ""
+msgstr "ungültiges »Rolling/Stationary«-Feld in der 'Leap'-Zeile"
 
-#: sunrpc/rpc_scan.c:281
-msgid "illegal character in file: "
+#: locale/programs/ld-collate.c:1767
+msgid "illegal character constant in string"
 msgstr "Nicht erlaubtes Zeichen in der Datei: "
 
-#: sunrpc/rpc_parse.c:146
-msgid "illegal result type"
-msgstr "Nicht erlaubter Ergebnistyp"
+#: locale/programs/ld-collate.c:1116
+msgid "illegal collation element"
+msgstr "Nicht erlaubtes Zeichen in der Datei: "
+
+#: locale/programs/charmap.c:196
+msgid "illegal definition"
+msgstr "Ungültiger Maschinenbefehl"
+
+#: locale/programs/charmap.c:349
+msgid "illegal encoding given"
+msgstr "Ungültige Kodierung angegeben"
+
+#: locale/programs/linereader.c:546
+msgid "illegal escape sequence at end of string"
+msgstr "ungültige Escape-Sequenc am Ende des Strings"
+
+#: locale/programs/charset.c:101
+msgid "illegal names for character range"
+msgstr "Ungültige Namen für den Zeichen-Bereich"
+
+#: locale/programs/ld-time.c:176
+#, c-format
+msgid "illegal number for offset in string %d in `era' field in category `%s'"
+msgstr "ungültige Nummer für den Offset in der Zeichenkette %d im »era«-Feld in der Kategorie »%s«"
 
-#: catgets/gencat.c:340 gencat.c:417
-#, fuzzy
+#: catgets/gencat.c:351 catgets/gencat.c:428
 msgid "illegal set number"
 msgstr "Nicht erlaubter Seek"
 
-#: time/zic.c:777
+#: locale/programs/ld-time.c:230
+#, c-format
+msgid "illegal starting date in string %d in `era' field in category `%s'"
+msgstr "ungültiges Start-Datum in der Zeichenkette %d im »era«-Feld in der Kategorie »%s«"
+
+#: locale/programs/ld-time.c:302
+#, c-format
+msgid "illegal stopping date in string %d in `era' field in category `%s'"
+msgstr "ungültiges Ende-Datum in der Zeichenkette %d im »era«-Feld in der Kategorie »%s«"
+
+#: locale/programs/ld-ctype.c:807
+#, c-format
+msgid "implementation limit: no more than %d character classes allowed"
+msgstr "Limit der Implementation: Es sind nicht mehr als %d Zeichensatz-Klassen erlaubt"
+
+#: locale/programs/ld-ctype.c:839
+#, c-format
+msgid "implementation limit: no more than %d character maps allowed"
+msgstr "Limit der Implementation: Es sind nicht mehr als %d Zeichen-Maps erlaubt"
+
+#: db/makedb.c:163
+msgid "incorrectly formatted file"
+msgstr "ungültig formatierten Zeile"
+
+#: time/zic.c:814
 msgid "input line of unknown type"
-msgstr ""
+msgstr "Die Eingabezeile ist von einem unbekannten Typ"
+
+#: time/zic.c:1733
+msgid "internal error - addtype called with bad isdst"
+msgstr "Interner Fehler - »addtype« wurde mit einer ungültigen »isdst« aufgerufen"
+
+#: time/zic.c:1741
+msgid "internal error - addtype called with bad ttisgmt"
+msgstr "Interner Fehler - »addtype« wurde mit einem ungültigen »ttisgmt« aufgerufen"
+
+#: time/zic.c:1737
+msgid "internal error - addtype called with bad ttisstd"
+msgstr "Interner Fehler - »addtype« wurde mit einem ungültigen »ttisstd« aufgerufen"
 
-#: time/zic.c:984
+#: locale/programs/ld-ctype.c:301
+#, c-format
+msgid "internal error in %s, line %u"
+msgstr "Interner Fehler in der Datei »%s«, Zeile %u"
+
+#: time/zic.c:1021
 msgid "invalid GMT offset"
-msgstr ""
+msgstr "ungültiger GMT-Offset"
 
-#: time/zic.c:987
+#: time/zic.c:1024
 msgid "invalid abbreviation format"
-msgstr ""
+msgstr "ungültiges Abkürzungsformat"
 
-#: time/zic.c:1078 zic.c:1277 zic.c:1291
-#, fuzzy
+#: time/zic.c:1114 time/zic.c:1313 time/zic.c:1327
 msgid "invalid day of month"
-msgstr "Das Argument ist ungültig"
+msgstr "Ungültiger Tag des Monats"
 
-#: time/zic.c:1236
-#, fuzzy
+#: time/zic.c:1272
 msgid "invalid ending year"
-msgstr "Das Ende des angegebenen Intervalls ist nicht gültig"
+msgstr "Ungültiges Ende-Jahr"
 
-#: time/zic.c:1050
-#, fuzzy
+#: time/zic.c:1086
 msgid "invalid leaping year"
-msgstr "Das Ende des angegebenen Intervalls ist nicht gültig"
+msgstr "Ungültiges Schaltjahr"
 
-#: time/zic.c:1065 zic.c:1168
+#: time/zic.c:1101 time/zic.c:1204
 msgid "invalid month name"
-msgstr ""
+msgstr "ungültiger Monatsname"
 
-#: time/zic.c:883
-#, fuzzy
+#: time/zic.c:920
 msgid "invalid saved time"
-msgstr "Ungültige Überprüfung des Servers"
+msgstr "Ungültige gespeicherte Zeit"
 
-#: time/zic.c:1216
-#, fuzzy
+#: time/zic.c:1252
 msgid "invalid starting year"
-msgstr "Das Ende des angegebenen Intervalls ist nicht gültig"
+msgstr "Ungültiges Anfangsjahr"
 
-#: time/zic.c:1094 zic.c:1196
-#, fuzzy
+#: time/zic.c:1130 time/zic.c:1232
 msgid "invalid time of day"
-msgstr "Ungültiger Inhalt von \\{\\}"
+msgstr "Ungültige Tageszeit"
 
-#: time/zic.c:1282
+#: time/zic.c:1318
 msgid "invalid weekday name"
-msgstr ""
+msgstr "ungültiger Name für einen Wochentag"
+
+#: locale/programs/ld-collate.c:1412
+msgid "line after ellipsis must contain character definition"
+msgstr "Die Zeile nach einem Auslassungintervall muß eine Zeichen-Definition enthalten"
 
-#: time/zic.c:757
-#, fuzzy
+#: locale/programs/ld-collate.c:1391
+msgid "line before ellipsis does not contain definition for character constant"
+msgstr "Die Zeile vor einem Auslassungsintervall muß eine Zeichen-Definition enthalten"
+
+#: time/zic.c:794
 msgid "line too long"
-msgstr "Der Dateiname ist zu lang"
+msgstr "Die Zeile ist zu lang"
 
-#: catgets/gencat.c:598
+#: locale/programs/localedef.c:281
+#, c-format
+msgid "locale file `%s', used in `copy' statement, not found"
+msgstr "Die Lokale-Datei »%s«, die im »copy«-Befehl verwendet wird, ist nicht vorhanden"
+
+#: catgets/gencat.c:609
 msgid "malformed line ignored"
-msgstr ""
+msgstr "ungültige Eingabezeile ignoriert"
 
-#: malloc/mcheck.c:168
+#: malloc/mcheck.c:183
 msgid "memory clobbered before allocated block"
 msgstr "Der Speicher vor dem allozierten Block wurde überschrieben"
 
-#: malloc/mcheck.c:171
+#: malloc/mcheck.c:186
 msgid "memory clobbered past end of allocated block"
-msgstr "Der Zeicher nach dem Ende des allozierten Block wurde überschrieben"
+msgstr "Der Speicher nach dem Ende des allozierten Blockes wurde überschrieben"
 
-#: malloc/mcheck.c:165
+#: locale/programs/ld-collate.c:167 locale/programs/ld-collate.c:173
+#: locale/programs/ld-collate.c:177 locale/programs/ld-collate.c:1439
+#: locale/programs/ld-collate.c:1468 locale/programs/locfile.c:940
+#: locale/programs/xmalloc.c:68 posix/getconf.c:250
+msgid "memory exhausted"
+msgstr "Kein Hauptspeicher mehr verfügbar"
+
+#: malloc/obstack.c:425
+msgid "memory exhausted\n"
+msgstr "Kein Hauptspeicher mehr verfügbar\n"
+
+#: malloc/mcheck.c:180
 msgid "memory is consistent, library is buggy"
 msgstr "Die Speicherverwaltung ist konsistent, die Bibliothek enthält Fehler"
 
-#: time/zic.c:878
+#: locale/programs/ld-time.c:348
+#, c-format
+msgid "missing era format in string %d in `era' field in category `%s'"
+msgstr "fehlendes »era«-Format in der Zeichenkette %d im »era«-Feld in der Kategorie »%s«"
+
+#: locale/programs/ld-time.c:337
+#, c-format
+msgid "missing era name in string %d in `era' fieldin category `%s'"
+msgstr "fehlender »era«-Name in der Zeichenkette %d im »era« Feld in der Kategorie »%s«"
+
+#: time/zic.c:915
 msgid "nameless rule"
-msgstr ""
+msgstr "Regel ohne Name"
 
 #: sunrpc/svc_simple.c:140
 #, c-format
 msgid "never registered prog %d\n"
 msgstr "Das Programm %d wurde nie registriert\n"
 
-#: rpc_parse.c:313 sunrpc/rpc_parse.c:305
-msgid "no array-of-pointer declarations -- use typedef"
-msgstr "Kein Definition einer Tabelle von \"Zeigern\" -- Verwenden Sie \"typedef\""
+#: locale/programs/ld-messages.c:95 locale/programs/ld-messages.c:116
+#, c-format
+msgid "no correct regular expression for field `%s' in category `%s': %s"
+msgstr "Kein gültiger regulärer Ausdruck für den Eintrag »%s« in der Kategorie »%s«: %s"
 
-#: time/zic.c:1955
+#: time/zic.c:2059
 msgid "no day in month matches rule"
-msgstr ""
+msgstr "Kein Tag des Monats paßt zur angegebenen Regel"
 
-#: sunrpc/portmap.c:452
-msgid "portmap CALLIT: cannot fork.\n"
-msgstr ""
+#: locale/programs/ld-collate.c:259
+msgid "no definition of `UNDEFINED'"
+msgstr "Keine Definition für »UNDEFINED«"
 
-#: portmap.c:117 sunrpc/portmap.c:95
-msgid "portmap cannot bind"
-msgstr ""
+#: locale/programs/locfile.c:479
+msgid "no other keyword shall be specified when `copy' is used"
+msgstr "Es dürfen keine anderen Schlüsselworte angegeben werden, wenn »copy« verwendet wird"
 
-#: portmap.c:113 sunrpc/portmap.c:87
-msgid "portmap cannot create socket"
-msgstr ""
+#: locale/programs/localedef.c:340
+msgid "no output file produced because warning were issued"
+msgstr "Es wurde keine Ausgabe-Datei erzeugt, weil Warnungen ausgegeben wurden"
 
-#: rpc_scan.c:464 sunrpc/rpc_scan.c:456
-msgid "preprocessor error"
-msgstr "Fehler des Präprozessors"
+#: locale/programs/charmap.c:315 locale/programs/charmap.c:466
+#: locale/programs/charmap.c:545
+msgid "no symbolic name given"
+msgstr "Kein symbolischer Name angegeben"
 
-#: rpcinfo.c:350 sunrpc/rpcinfo.c:222
-#, fuzzy, c-format
+#: locale/programs/charmap.c:380 locale/programs/charmap.c:512
+#: locale/programs/charmap.c:578
+msgid "no symbolic name given for end of range"
+msgstr "Kein symbolische Name für das Ende eines Intervalles angegeben"
+
+#: locale/programs/ld-collate.c:244
+#, c-format
+msgid "no weight defined for symbol `%s'"
+msgstr "Kein »Weight« für das Symbol »%s« definiert"
+
+#: locale/programs/charmap.c:430
+msgid "only WIDTH definitions are allowed to follow the CHARMAP definition"
+msgstr "Nur »WIDTH«-Definitionen dürfen nach einer »CHARMAP«-Definition folgen"
+
+#: db/makedb.c:326
+#, c-format
+msgid "problems while reading `%s'"
+msgstr "Probleme beim Lesen von »%s«"
+
+#: sunrpc/rpcinfo.c:222 sunrpc/rpcinfo.c:350
+#, c-format
 msgid "program %lu is not available\n"
-msgstr "RPC: Programm nicht verfügbar"
+msgstr "Das Programm %lu ist nicht verfügbar\n"
 
-#: rpcinfo.c:282 rpcinfo.c:371 rpcinfo.c:408 rpcinfo.c:429
-#: sunrpc/rpcinfo.c:245 sunrpc/rpcinfo.c:462
-#, fuzzy, c-format
+#: sunrpc/rpcinfo.c:245 sunrpc/rpcinfo.c:282 sunrpc/rpcinfo.c:371
+#: sunrpc/rpcinfo.c:408 sunrpc/rpcinfo.c:429 sunrpc/rpcinfo.c:462
+#, c-format
 msgid "program %lu version %lu is not available\n"
-msgstr "RPC: Programm nicht verfügbar"
+msgstr "Das Programm %lu ist in der Version %lu nicht verfügbar\n"
 
 #: sunrpc/rpcinfo.c:466
 #, c-format
 msgid "program %lu version %lu ready and waiting\n"
-msgstr ""
+msgstr "Program %lu Version %lu ist bereit und wartet\n"
 
-#: inet/rcmd.c:154
+#: inet/rcmd.c:171
 #, c-format
-msgid "rcmd: select (setting up stderr): %s\n"
-msgstr "rcmd: Select (Einrichten der Standardfehlerausgabe): %s\n"
+msgid "rcmd: select (setting up stderr): %m\n"
+msgstr "rcmd: select (Vorbereiten der Standard-Fehlerausgabe): %m\n"
 
-#: inet/rcmd.c:86
+#: inet/rcmd.c:103
 msgid "rcmd: socket: All ports in use\n"
 msgstr "rcmd: Socket: Alle Ports sind zur Zeit belegt\n"
 
-#: inet/rcmd.c:141
+#: inet/rcmd.c:159
 #, c-format
-msgid "rcmd: write (setting up stderr): %s\n"
-msgstr "rcmd: Write (Einrichten der Standardfehlerausgabe): %s\n"
+msgid "rcmd: write (setting up stderr): %m\n"
+msgstr "rcmd: write (Vorbereiten der Standard-Fehlerausgabe): %m\n"
 
 #: sunrpc/svc_simple.c:83
 msgid "registerrpc: out of memory\n"
 msgstr "registerrpc: Hauptspeicher erschöpft\n"
 
-#: time/zic.c:1690
+#: time/zic.c:1794
 msgid "repeated leap second moment"
-msgstr ""
+msgstr "Wiederholung der Leap-Sekunde"
 
 #: sunrpc/rpcinfo.c:659
 #, c-format
 msgid "rpcinfo: %s is unknown host\n"
-msgstr ""
+msgstr "rpcinfo: »%s« ist ein unbekannter Rechner\n"
 
 #: sunrpc/rpcinfo.c:626
 #, c-format
 msgid "rpcinfo: %s is unknown service\n"
-msgstr ""
+msgstr "rpcinfo: »%s« ist ein unbekannter Service\n"
 
 #: sunrpc/rpcinfo.c:600
-#, fuzzy, c-format
+#, c-format
 msgid "rpcinfo: Could not delete registration for prog %s version %s\n"
-msgstr "Kann das Programm %d Version %d nicht registrieren\n"
+msgstr "Kann das Programm »%s« Version »%s« nicht registrieren\n"
 
 #: sunrpc/rpcinfo.c:576
 #, c-format
 msgid "rpcinfo: broadcast failed: %s\n"
-msgstr ""
+msgstr "rpcinfo: Broadcast ist fehlgeschlagen: %s\n"
 
 #: sunrpc/rpcinfo.c:505
 msgid "rpcinfo: can't contact portmapper"
-msgstr ""
+msgstr "rpcinfo: Kann den Portmapper nicht erreichen"
 
 #: sunrpc/rpcinfo.c:510
 msgid "rpcinfo: can't contact portmapper: "
-msgstr ""
+msgstr "rpcinfo: Kann den Portmapper nicht erreichen: "
 
-#: sunrpc/portmap.c:138
-msgid "run_svc returned unexpectedly\n"
-msgstr ""
+#: time/zic.c:708 time/zic.c:710
+msgid "same rule name in multiple files"
+msgstr "Dieselbe Regel ist in mehreren Dateien enthalten"
 
-#: inet/rcmd.c:158
+#: inet/rcmd.c:174
 msgid "select: protocol failure in circuit setup\n"
 msgstr "Select: Protokollfehler im Kreislauf-Setup\n"
 
-#: inet/rcmd.c:176
-msgid "socket: protocol failure in circuit setup.\n"
-msgstr "Socket: Protokollfehler im Kreislauf-Setup.\n"
+#: inet/rcmd.c:192
+msgid "socket: protocol failure in circuit setup\n"
+msgstr "socket: Protokoll-Fehler im Kreislauf-Setup\n"
 
-#: time/zic.c:742
+#: locale/programs/locfile.c:600
+msgid "sorting order `forward' and `backward' are mutually exclusive"
+msgstr "Die Anweisungen »forward« und »backward« schließen sich aus"
+
+#: locale/programs/ld-collate.c:1568 locale/programs/ld-collate.c:1614
+msgid "specification of sorting weight for collation symbol does not make sense"
+msgstr "Die Angabe eines Sortier-Gewichtes für ein »Collation«-Symbol ist nicht sinnvoll"
+
+#: time/zic.c:779
 msgid "standard input"
-msgstr ""
+msgstr "Standard-Eingabe"
 
-#: time/zdump.c:259
+#: time/zdump.c:260
 msgid "standard output"
-msgstr ""
+msgstr "Standard-Ausgabe"
 
-#: time/zic.c:1240
+#: locale/programs/ld-time.c:256
+#, c-format
+msgid "starting date is illegal in string %d in `era' field in category `%s'"
+msgstr "Das Start-Datum in der Zeichenkette %d im »era«-Feld der Kategorie »%s« ist ungültig"
+
+#: time/zic.c:1276
 msgid "starting year greater than ending year"
-msgstr ""
+msgstr "Das Start-Jahr ist größer als das Ende-Jahr"
 
-#: sunrpc/svc_tcp.c:199 svc_tcp.c:204
+#: locale/programs/ld-time.c:328
+#, c-format
+msgid "stopping date is illegal in string %d in `era' field in category `%s'"
+msgstr "Das Ende-Datum in der Zeichenkette %d im »era«-Feld in der Kategorie »%s« ist ungültig"
+
+#: sunrpc/svc_tcp.c:201 sunrpc/svc_tcp.c:206
 msgid "svc_tcp: makefd_xprt: out of memory\n"
 msgstr "svc_tcp: makefd_xprt: Hauptspeicher erschöpft\n"
 
-#: sunrpc/svc_tcp.c:147
+#: sunrpc/svc_tcp.c:149
 msgid "svctcp_.c - cannot getsockname or listen"
-msgstr "svctcp_.c - `getsockname' oder `listen' nicht möglich"
+msgstr "svctcp_.c - »getsockname« oder »listen« nicht möglich"
 
-#: sunrpc/svc_tcp.c:134
+#: sunrpc/svc_tcp.c:136
 msgid "svctcp_.c - udp socket creation problem"
 msgstr "svctcp_.c - Problem bei der Erstellung des UDP-Sockets"
 
-#: sunrpc/svc_tcp.c:154 svc_tcp.c:161
+#: sunrpc/svc_tcp.c:156 sunrpc/svc_tcp.c:163
 msgid "svctcp_create: out of memory\n"
 msgstr "svctcp_create: Hauptspeicher erschöpft\n"
 
-#: sunrpc/svc_udp.c:119
+#: sunrpc/svc_udp.c:123
 msgid "svcudp_create - cannot getsockname"
-msgstr "svcudp_create - `getsockname' fehlgeschlagen"
+msgstr "svcudp_create - »getsockname« fehlgeschlagen"
 
-#: sunrpc/svc_udp.c:107
+#: sunrpc/svc_udp.c:111
 msgid "svcudp_create: socket creation problem"
 msgstr "svcudp_create: Problem bei der Erstellung des Sockets"
 
-#: catgets/gencat.c:369 gencat.c:505 gencat.c:532
-msgid "this is the first definition"
-msgstr ""
-
-#: time/zic.c:1083
-msgid "time before zero"
-msgstr ""
-
-#: time/zic.c:1091 zic.c:1855 zic.c:1874
-msgid "time overflow"
-msgstr ""
-
-#: sunrpc/rpc_util.c:285
-msgid "too many files!\n"
-msgstr "Zu viele Dateien!\n"
+#: locale/programs/ld-collate.c:1191
+#, c-format
+msgid "symbol for multicharacter collating element `%.*s' duplicates element definition"
+msgstr "Das Symbol für das mehr-zeichen Collating-Element »%.*s« wiederholt die Element-Definition"
 
-#: time/zic.c:1684
-#, fuzzy
-msgid "too many leap seconds"
-msgstr "Zu viele Dateien!\n"
+#: locale/programs/ld-collate.c:1064
+#, c-format
+msgid "symbol for multicharacter collating element `%.*s' duplicates other element definition"
+msgstr "Das Symbol für das 'multicharacter collating'-Element »%.*s« wiederholt eine andere Element-Definition"
 
-#: time/zic.c:1656
-#, fuzzy
-msgid "too many local time types"
-msgstr "Zu viele Prozesse"
+#: locale/programs/ld-collate.c:1200
+#, c-format
+msgid "symbol for multicharacter collating element `%.*s' duplicates other symbol definition"
+msgstr "Das Symbol für das 'multicharacter collating'-Element »%.*s« wiederholt eine andere Symbol-Definition"
 
-#: time/zic.c:1622
-#, fuzzy
-msgid "too many transitions?!"
-msgstr "Zu viele Dateien!\n"
+#: locale/programs/ld-collate.c:1073
+#, c-format
+msgid "symbol for multicharacter collating element `%.*s' duplicates symbol definition"
+msgstr "Das Symbol für das 'multicharacter collating'-Element »%.*s« wiederholt eine Symbol-Definition"
 
-#: time/zic.c:1978
-msgid "too many, or too long, time zone abbreviations"
-msgstr ""
+#: locale/programs/ld-collate.c:1055 locale/programs/ld-collate.c:1182
+#, c-format
+msgid "symbol for multicharacter collating element `%.*s' duplicates symbolic name in charset"
+msgstr "Das Symbol für das 'multicharacter collating'-Element »%.*s« kollidiert mit einem symbolischen Namen in der Zeichensatzbeschreibung"
 
-#: sunrpc/svc_simple.c:132
+#: locale/programs/charmap.c:314 locale/programs/charmap.c:348
+#: locale/programs/charmap.c:378 locale/programs/charmap.c:465
+#: locale/programs/charmap.c:511 locale/programs/charmap.c:544
+#: locale/programs/charmap.c:576
 #, c-format
-msgid "trouble replying to prog %d\n"
-msgstr "Schwierigkeiten bei der Antwort an das Programm %d\n"
+msgid "syntax error in %s definition: %s"
+msgstr "Syntaxfehler in der »%s«-Definition: %s"
 
-#: time/zic.c:1247
-msgid "typed single year"
-msgstr ""
+#: locale/programs/locfile.c:620
+msgid "syntax error in `order_start' directive"
+msgstr "Syntaxfehler in der »order_start«-Anweisung"
 
-#: catgets/gencat.c:466
-#, c-format
-msgid "unknown directive `%s': line ignored"
-msgstr ""
+#: locale/programs/locfile.c:362
+msgid "syntax error in character class definition"
+msgstr "Syntaxfehler in der Zeichensatz-Definitionsdatei"
 
-#: catgets/gencat.c:445
-#, fuzzy, c-format
-msgid "unknown set `%s'"
-msgstr "Unbekannter Rechner"
+#: locale/programs/locfile.c:420
+msgid "syntax error in character conversion definition"
+msgstr "Syntaxfehler in der Zeichensatz-Umwandlungs-Defintion"
 
-msgid "unknown signal"
-msgstr "Unbekanntes Signal"
+#: locale/programs/locfile.c:662
+msgid "syntax error in collating order definition"
+msgstr "Syntaxfehler in der Definition der Sortierreihenfolge"
 
-#: time/zic.c:714
-msgid "unruly zone"
-msgstr ""
+#: locale/programs/locfile.c:512
+msgid "syntax error in collation definition"
+msgstr "Syntaxfehler in der Definition der Sortierung"
 
-#: catgets/gencat.c:950
-#, fuzzy
-msgid "unterminated message"
-msgstr "Zeichenkette wird nicht beendet"
+#: locale/programs/locfile.c:335
+msgid "syntax error in definition of LC_CTYPE category"
+msgstr "Syntaxfehler in der Definition der »LC_CTYPE«-Kategorie"
 
-#: sunrpc/rpc_scan.c:319
-msgid "unterminated string constant"
-msgstr "Zeichenkette wird nicht beendet"
+#: locale/programs/locfile.c:278
+msgid "syntax error in definition of new character class"
+msgstr "Syntaxfehler in der Definition einer neuen Zeichenklasse"
 
-#: sunrpc/rpc_main.c:78
-#, c-format
-msgid "usage: %s infile\n"
-msgstr "Aufruf: %s Eingabedatei\n"
+#: locale/programs/locfile.c:288
+msgid "syntax error in definition of new character map"
+msgstr "Syntaxfehler in der Definition eines neuen Zeichensatzes"
 
-#: time/zic.c:1921
-msgid "use of 2/29 in non leap-year"
-msgstr ""
+#: locale/programs/locfile.c:873
+msgid "syntax error in message locale definition"
+msgstr "Syntaxfehler in der Lokale-Definitionsdatei"
 
-# Das kommt mir komisch vor... ke
-#: sunrpc/rpc_parse.c:330
-msgid "variable-length array declaration expected"
-msgstr "Deklaration einer variabel langen Tabelle erwartet"
+#: locale/programs/locfile.c:784
+msgid "syntax error in monetary locale definition"
+msgstr "Syntaxfehler in der Lokale-Definitionsdatei"
 
-#: sunrpc/rpc_parse.c:370
-msgid "voids allowed only inside union and program definitions"
-msgstr "`void' ist nur innerhalb von `union'- oder `program'-Definitionen erlaubt"
+#: locale/programs/locfile.c:811
+msgid "syntax error in numeric locale definition"
+msgstr "Syntaxfehler in der Lokale-Definitionsdatei"
 
-#: login/setutent_r.c:47
-msgid "while opening UTMP file"
-msgstr ""
+#: locale/programs/locfile.c:722
+msgid "syntax error in order specification"
+msgstr "Syntaxfehler in der Lokale-Definitionsdatei"
 
-#: catgets/gencat.c:977
-msgid "while opening old catalog file"
-msgstr ""
+#: locale/programs/charmap.c:195 locale/programs/charmap.c:211
+#, c-format
+msgid "syntax error in prolog: %s"
+msgstr "Syntax-Fehler im Prolog: %s"
 
-#: time/zic.c:1041
-msgid "wrong number of fields on Leap line"
-msgstr ""
+#: locale/programs/locfile.c:849
+msgid "syntax error in time locale definition"
+msgstr "Syntaxfehler in der Lokale-Definition zur Zeit"
 
-#: time/zic.c:1132
-msgid "wrong number of fields on Link line"
-msgstr ""
+#: locale/programs/locfile.c:255
+msgid "syntax error: not inside a locale definition section"
+msgstr "Syntaxfehler: nicht in der in der Lokale-Definition"
 
-#: time/zic.c:874
-msgid "wrong number of fields on Rule line"
-msgstr ""
+#: catgets/gencat.c:380 catgets/gencat.c:516 catgets/gencat.c:543
+msgid "this is the first definition"
+msgstr "Dies ist die erste Definition"
 
-#: time/zic.c:944
-msgid "wrong number of fields on Zone continuation line"
-msgstr ""
+#: time/zic.c:1119
+msgid "time before zero"
+msgstr "Zeit vor Null"
 
-#: time/zic.c:902
-msgid "wrong number of fields on Zone line"
-msgstr ""
+#: time/zic.c:1127 time/zic.c:1959 time/zic.c:1978
+msgid "time overflow"
+msgstr "Überlauf der Zeit"
 
-#~ msgid "%s: `END CHARMAP' is missing"
-#~ msgstr "%s: `END CHARMAP' fehlt"
+#: locale/programs/charset.c:44
+msgid "too few bytes in character encoding"
+msgstr "Zu wenige Bytes in der Zeichen-Kodierung"
 
-#~ msgid "%s: unexpected end of file in charmap"
-#~ msgstr "%s: Unerwartetes Ende der Datei in charmap"
+#: locale/programs/charset.c:46
+msgid "too many bytes in character encoding"
+msgstr "Zu viele Bytes in der Zeichen-Kodierung"
 
-#~ msgid "%s: unexpected end of file in locale defintion file"
-#~ msgstr "%s: Unerwartetes Ende der Datei in der Lokale-Definitionsdatei"
+#: locale/programs/locales.h:72
+msgid "too many character classes defined"
+msgstr "Zu viele Zeichenklasse definiert"
 
-#~ msgid "%s:%Zd: `copy' must be sole rule"
-#~ msgstr "%s:%Zd: `copy' muß die einzige Regel sein"
+#: time/zic.c:1788
+msgid "too many leap seconds"
+msgstr "Zu viele Schaltsekunden"
 
-#~ msgid "%s:%Zd: category `%s' does not end with `END %s'"
-#~ msgstr "%s:%Zd: Die Kategorie `%s' ist nicht durch `END %s' abgeschlossen"
+#: time/zic.c:1760
+msgid "too many local time types"
+msgstr "Zu viele lokale Zeit-Typen"
+
+#: time/zic.c:1714
+msgid "too many transitions?!"
+msgstr "Zu viele Übergänge?!"
 
-#~ msgid "%s:%Zd: category item `%s' already defined"
-#~ msgstr "%s:%Zd: Die Kategorie `%s' ist bereits definiert"
+#: locale/programs/ld-collate.c:1623
+msgid "too many weights"
+msgstr "Zu viele Sortier-Gewichte"
 
-#~ msgid "%s:%Zd: character `%s' not defined"
-#~ msgstr "%s:%Zd: Das Zeichen `%s' ist nicht definiert"
+#: time/zic.c:2082
+msgid "too many, or too long, time zone abbreviations"
+msgstr "Zu viele oder zu lange Abkürzungen für Zeitzonen"
 
-#~ msgid "%s:%Zd: comment does not start in column 1"
-#~ msgstr "%s:%Zd: Der Kommentar beginnt nicht in der Spalte 1"
+#: locale/programs/linereader.h:146
+msgid "trailing garbage at end of line"
+msgstr "Am Zeilenende sind unsinnige Einträge"
 
-#~ msgid "%s:%Zd: directives `forward' and `backward' are mutually exclusive"
-#~ msgstr "%s:%Zd: Die Anweisungen `forward' und `backward' schließen sich aus"
+#: sunrpc/svc_simple.c:132
+#, c-format
+msgid "trouble replying to prog %d\n"
+msgstr "Schwierigkeiten bei der Antwort an das Programm %d\n"
 
-#~ msgid "%s:%Zd: duplicate definition of item `%s' in category `LC_CTYPE'"
-#~ msgstr "%s:%Zd: Mehrfache Definition des Eintrages `%s' in der Kategorie `LC_CTYPE'"
+#: locale/programs/ld-collate.c:1383
+msgid "two lines in a row containing `...' are not allowed"
+msgstr "Zwei aufeinanderfolgende Zeilen mit '...' sind nicht erlaubt"
 
-#~ msgid "%s:%Zd: duplicate definiton of item `%s' in category `LC_CTYPE'"
-#~ msgstr "%s:%Zd: Mehrfache Definition des Eintrages `%s' in der Kategorie `LC_CTYPE'"
+#: time/zic.c:1283
+msgid "typed single year"
+msgstr "Ein einzelnes Jahr angegeben"
 
-#~ msgid "%s:%Zd: end of line in character symbol"
-#~ msgstr "%s:%Zd: Zeilenende innerhalb eines Zeichen-Symbols"
+#: posix/getconf.c:239
+msgid "undefined"
+msgstr "nicht definiert"
 
-#~ msgid "%s:%Zd: illegal use of `...'"
-#~ msgstr "%s:%Zd: Fehlerhafter Einsatz des `...' Konstruktes"
+#: locale/programs/charmap.c:617 locale/programs/charmap.c:628
+#, c-format
+msgid "unknown character `%s'"
+msgstr "unbekanntes Zeichen »%s«"
 
-#~ msgid "%s:%Zd: invalid locale `%s' in copy statement"
-#~ msgstr "%s:%Zd: Ungültige Lokale `%s' im copy-Befehl"
+#: locale/programs/ld-messages.c:193 locale/programs/ld-messages.c:204
+#: locale/programs/ld-messages.c:215 locale/programs/ld-messages.c:226
+#: locale/programs/ld-time.c:696
+#, c-format
+msgid "unknown character in field `%s' of category `%s'"
+msgstr "Ungültiges Zeichen im Feld »%s« in der Kategorie »%s«"
 
-#~ msgid "%s:%Zd: invalid number"
-#~ msgstr "%s:%Zd: Ungültige Zahl"
+#: locale/programs/locfile.c:585
+msgid "unknown collation directive"
+msgstr "unbekannte »collation«-Anweisung"
 
-#~ msgid "%s:%Zd: line too long;  use `getconf LINE_MAX' to get the current maximum line length"
-#~ msgstr "%s:%Zd: Die Zeile ist zu lang;  `getconf LINE_MAX' gibt den aktuellen Wert für die maximale Zeilenlänge aus."
+#: catgets/gencat.c:477
+#, c-format
+msgid "unknown directive `%s': line ignored"
+msgstr "unbekannte Anweisung »%s«: Die Zeile wurde ignoriert"
 
-#~ msgid "%s:%Zd: line too long;  use `getconf LINE_MAX' to get the maximum line length"
-#~ msgstr "%s:%Zd: Die Zeile ist zu lang;  `getconf LINE_MAX' gibt die maximal erlaubte Zeilenlänge aus"
+#: catgets/gencat.c:456
+#, c-format
+msgid "unknown set `%s'"
+msgstr "Unbekanntes Set »%s«"
 
-#~ msgid "%s:%Zd: locale category start expected"
-#~ msgstr "%s:%Zd: Beginn einer Lokale-Kategorie erwartet"
+msgid "unknown signal"
+msgstr "Unbekanntes Signal"
 
-#~ msgid "%s:%Zd: lower bound of ellipsis not smaller"
-#~ msgstr "%s:%Zd: Der untere Eintrag bei einem Intervall ist nicht kleiner"
+#: locale/programs/ld-collate.c:1367 locale/programs/ld-collate.c:1558
+#: locale/programs/ld-collate.c:1732
+#, c-format
+msgid "unknown symbol `%.*s': line ignored"
+msgstr "Unbekanntes Symbol »%.*s«: Die Zeile wurde ignoriert"
 
-#~ msgid "%s:%Zd: multiple definition of locale category %s"
-#~ msgstr "%s:%Zd: Mehrfache Definition der Lokale-Kategorie %s"
+#: time/zic.c:751
+msgid "unruly zone"
+msgstr "Zeitzone ohne Regeln"
 
-#~ msgid "%s:%Zd: number expected"
-#~ msgstr "%s:%Zd: Zahl erwartet"
+#: catgets/gencat.c:961
+msgid "unterminated message"
+msgstr "Zeichenkette wird nicht beendet"
 
-#~ msgid "%s:%Zd: symbolic name must not be duplicate name in charmap"
-#~ msgstr "%s:%Zd: Ein symbolischer Name darf nicht mehrfach in einer Charmap-Datei definiert werden"
+#: locale/programs/linereader.c:515 locale/programs/linereader.c:550
+msgid "unterminated string"
+msgstr "Zeichenkette wird nicht beendet"
 
-#~ msgid "%s:%Zd: symbolic name must not duplicate name in charmap"
-#~ msgstr "%s:%Zd: Ein symbolischer Name darf nicht mehrfach in einer Charmap-Datei definiert werden"
+#: locale/programs/linereader.c:385
+msgid "unterminated symbolic name"
+msgstr "Der symbolische Name wird nicht beendet"
 
-#~ msgid "%s:%Zd: syntax error in locale definition file"
-#~ msgstr "%s:%Zd: Syntaxfehler in der Lokale-Definitionsdatei"
+#: locale/programs/ld-collate.c:1685
+msgid "unterminated weight name"
+msgstr "Der Name des Sortier-Gewichtes wird nicht beendet"
 
-#~ msgid "%s:%Zd: too few elements for item `%s'"
-#~ msgstr "%s:%Zd: Zu wenige Elemente für den Eintrag `%s'"
+#: locale/programs/charset.c:119
+msgid "upper limit in range is not smaller then lower limit"
+msgstr "Das obere Ende des Intervalls ist nicht kleiner als das untere Ende"
 
-#~ msgid "%s:%Zd: too many elements for item `%s`"
-#~ msgstr "%s:%Zd: Zu viele Elemente für den Eintrag `%s`"
+#: time/zic.c:2025
+msgid "use of 2/29 in non leap-year"
+msgstr "Der 29. Februar wurde in einem nicht-Schaltjahr verwendet"
 
-#~ msgid "%s:%Zd: trailing garbage at end of line"
-#~ msgstr "%s:%Zd: Am Zeilenende sind unsinnige Einträge"
+#: locale/programs/charmap.c:438 locale/programs/charmap.c:492
+#, c-format
+msgid "value for %s must be an integer"
+msgstr "Der Wert für »%s« muß eine Ganzzahl sein"
 
-#~ msgid "%s:%Zd: unterminated string at end of line"
-#~ msgstr "%s:%Zd: Zeichenkette ist am Zeilenende nicht beendet"
+#: locale/programs/charmap.c:233
+#, c-format
+msgid "value for <%s> must lie between 1 and 4"
+msgstr "Der Wert für <%s> muß zwischen eins und vier liegen"
 
-#~ msgid "%s:%u: byte constant has less than two digits"
-#~ msgstr "%s:%u: Die Byte-Konstante besteht aus weniger als zwei Ziffern"
+#: locale/programs/ld-monetary.c:148 locale/programs/ld-numeric.c:89
+#, c-format
+msgid "value for field `%s' in category `%s' must not be the empty string"
+msgstr "Der Eintrag für das Feld »%s« in der Kategorie »%s« darf nicht leer sein"
 
-#~ msgid "%s:%u: character encoding must be given in 8-bit bytes"
-#~ msgstr "%s:%u: Die Kodierung des Zeichens muß in 8-Bit Bytes angegeben werden"
+#: locale/programs/charmap.c:245
+msgid "value of <mb_cur_max> must be greater than the value of <mb_cur_min>"
+msgstr "Der Wert von »<mb_cur_max>« muß größer als der Wert von »<mb_cur_min>« sein"
 
-#~ msgid "%s:%u: duplicate definition of mb_cur_max"
-#~ msgstr "%s:%u: Mehrfache Definition des Eintrages mb_cur_max"
+#: locale/programs/ld-monetary.c:138
+msgid "value of field `int_curr_symbol' in category `LC_MONETARY' does not correspond to a valid name in ISO 4217"
+msgstr "Der Wert im Feld »int_surr_symbol« in der Kategorie »LC_MONETARY«gehört nicht zu einem gültigen Namen in ISO-4217"
 
-#~ msgid "%s:%u: duplicate definition of mb_cur_min"
-#~ msgstr "%s:%u: Mehrfache Definition des Eintrages mb_cur_min"
+#: locale/programs/ld-monetary.c:133
+msgid "value of field `int_curr_symbol' in category `LC_MONETARY' has wrong length"
+msgstr "Der Wert im Feld »int_curr_symbol« in der Kategorie »LC_MONETARY« hat die falsche Länge"
 
-#~ msgid "%s:%u: duplicate entry"
-#~ msgstr "%s:%u: Doppelter Eintrag"
+#: locale/programs/ld-monetary.c:370 locale/programs/ld-numeric.c:199
+#, c-format
+msgid "values for field `%s' in category `%s' must be smaller than 127"
+msgstr "Der Wert für den Eintrag »%s« in der Kategorie »%s« muß kleiner als 127 sein."
 
-#~ msgid "%s:%u: illegal value for mb_cur_max: %d"
-#~ msgstr "%s:%u: Ungültiger Wert für mb_cur_max: %d"
+#: locale/programs/ld-monetary.c:366
+#, c-format
+msgid "values for field `%s' in category `%s' must not be zero"
+msgstr "Der Eintrag im Feld »%s« in der Kategorie »%s« darf nicht Null sein"
 
-#~ msgid "%s:%u: illegal value for mb_cur_min: %d"
-#~ msgstr "%s:%u: Ungültiger Wert für mb_cur_min: %d"
+#: login/utmp_file.c:84
+msgid "while opening UTMP file"
+msgstr "beim Öffnen der UTMP-Datei"
 
-#~ msgid "%s:%u: line too long;  use `getconf LINE_MAX' to get the current maximum linelength"
-#~ msgstr "%s:%u: Zeile zu lang;  `getconf LINE_MAX' gibt die aktuell erlaubte maximale Zeilenlänge aus"
+#: catgets/gencat.c:988
+msgid "while opening old catalog file"
+msgstr "beim Öffnen der alten Katalog-Datei"
 
-#~ msgid "%s:%u: number of bytes in character definition exceeds `mb_cur_max'"
-#~ msgstr "%s:%u: Anzahl der Zeichen in der Zeichendefinition überschreitet den Wert `mb_cur_max'"
+#: db/makedb.c:353
+msgid "while reading database"
+msgstr "beim Lesen der Datenbank"
 
-#~ msgid "%s:%u: starting character is bigger than last"
-#~ msgstr "%s:%u: Das erste Zeichen ist größer als das letzte Zeichen"
+#: db/makedb.c:315
+msgid "while writing data base file"
+msgstr "beim Schreiben der Datenbak-Datei"
 
-#~ msgid "<SP> character must not be in class `%s'"
-#~ msgstr "Das Zeichen <SP> darf nicht in der Klasse `%s' enthalten sein"
+#: db/makedb.c:142
+msgid "wrong number of arguments"
+msgstr "Falsche Anzahl an Argumenten"
 
-#~ msgid "<SP> character not in class `%s'"
-#~ msgstr "Das Zeichen <SP> ist nicht in der Klasse `%s' enthalten"
+#: time/zic.c:1077
+msgid "wrong number of fields on Leap line"
+msgstr "Falsche Anzahl an Feldern in der Leap-Zeile"
 
-#~ msgid "Internal error in %s, line %u"
-#~ msgstr "Interner Fehler in der Datei `%s', Zeile %u"
+#: time/zic.c:1168
+msgid "wrong number of fields on Link line"
+msgstr "Falsche Anzahl der Felder in der Link-Zeile"
 
-#~ msgid "cannot copy locale definition file `%s'"
-#~ msgstr "Kann die Lokale-Definitionsdatei `%s' nicht kopieren"
+#: time/zic.c:911
+msgid "wrong number of fields on Rule line"
+msgstr "Falsche Anzahl der Felder in der Rule-Zeile"
 
-#~ msgid "cannot write output file `%s': %m"
-#~ msgstr "Kann die Ausgabedatei `%s' nicht schreiben: %m"
+#: time/zic.c:981
+msgid "wrong number of fields on Zone continuation line"
+msgstr "Falsche Anzahl der Felder in der Zeitzonen-Fortsetzungszeile"
 
-#~ msgid "category `%s' not defined"
-#~ msgstr "Die Kategorie `%s' ist nicht definiert"
+#: time/zic.c:939
+msgid "wrong number of fields on Zone line"
+msgstr "Falsche Anzahl an Feldern in der Zone-Zeile"
 
-#~ msgid "character '\\%o' in class `%s' must be in class `%s'"
-#~ msgstr "Das Zeichen '\\%o', das in der Zeichenklasse `%s' enthalten ist, muß auch in der Zeichenklasse `%s' enthalten sein"
+#: nis/ypclnt.c:570
+msgid "yp_all: clnttcp_create failed"
+msgstr "yp_all: »clnttcp_create« fehlgeschlagen"
 
-#~ msgid "character '\\%o' inc class `%s' must not be in class `%s'"
-#~ msgstr "Das Zeichen '\\%o' in der Zeichenklasse `%s' darf nicht in der Zeichenklasse `%s' enthalten sein"
+#: nis/ypclnt.c:772
+msgid "yp_update: cannot convert host to netname\n"
+msgstr "yp_update: Kann den Rechnername nicht in einen Netzname umwandeln\n"
 
-#~ msgid "character <SP> not defined in character map"
-#~ msgstr "Das Zeichen <SP> ist in der Zeichen-Definition nicht enthalten"
+#: nis/ypclnt.c:784
+msgid "yp_update: cannot get server address\n"
+msgstr "yp_update: Kann die Adresse des Servss nicht finden\n"
 
-#~ msgid "character `%s' not defined while needed as default value"
-#~ msgstr "Das Zeichen `%s' ist nicht definiert, wird aber als Vorgabewert benötigt"
+#~ msgid "variable-length array declaration expected"
+#~ msgstr "Deklaration einer variabel langen Tabelle erwartet"
 
-#~ msgid "computing character table size: this may take a while"
-#~ msgstr "Berechnung der Größe der Zeichentabelle: Dies kann einige Zeit dauern"
+#~ msgid "couldn't do tcp_create\n"
+#~ msgstr "Kann keinen RPC-Server erzeugen\n"
 
-#~ msgid "input file `%s' not found"
-#~ msgstr "Eingabedatei `%s' nicht gefunden"
+#~ msgid "       %s [-s udp|tcp]* [-o outfile] [infile]\n"
+#~ msgstr "       %s [-s udp|tcp]* [-o Ausgabedatei] [Eingabedatei]\n"
 
-#~ msgid "internal error in %s, line %u"
-#~ msgstr "Interner Fehler in der Datei `%s', Zeile %u"
+#~ msgid "%s: output would overwrite %s\n"
+#~ msgstr "%s: Die Ausgabe würde %s überschreiben\n"
 
-#~ msgid "item `%s' does not correspond to any valid name in ISO-4217"
-#~ msgstr "Der Eintrag `%s' gehört nicht zu einem gültigen Namen in ISO-4217"
+#~ msgid "illegal character in file: "
+#~ msgstr "Nicht erlaubtes Zeichen in der Datei: "
 
-#~ msgid "item `%s' in category `%s' must not be empty"
-#~ msgstr "Der Eintrag `%s' in der Kategorie `%s' darf nicht leer sein"
+#~ msgid "too many files!\n"
+#~ msgstr "Zu viele Dateien!\n"
 
-#~ msgid "item `%s' of category `%s' has wrong length"
-#~ msgstr "Der Eintrag `%s' in der Kategorie `%s' hat die falsche Länge"
+#~ msgid "voids allowed only inside union and program definitions"
+#~ msgstr "`void' ist nur innerhalb von `union'- oder `program'-Definitionen erlaubt"
 
-#~ msgid "item `%s' of category `%s' undefined"
-#~ msgstr "Der Eintrag `%s' in der Kategorie `%s' ist undefiniert"
+#~ msgid "rcmd: select (setting up stderr): %s\n"
+#~ msgstr "rcmd: Select (Einrichten der Standardfehlerausgabe): %s\n"
 
-#~ msgid "no correct regular expression for item `%s' in category `%s': %s"
-#~ msgstr "Kein gültiger regulärer Ausdruck für den Eintrag `%s' in der Kategorie `%s': %s"
+#~ msgid "%s: unable to open "
+#~ msgstr "%s: kann nicht geöffnet werden "
 
-#~ msgid "program limitation: for now only upto %Zu bytes per character are allowed"
-#~ msgstr "Interne Beschränkung: Zur Zeit sind nur bis zu %Zu Bytes je Zeichen erlaubt"
+#~ msgid "character `%c' not defined while needed as default value"
+#~ msgstr "Das Zeichen `%s' ist nicht definiert, wird aber als Vorgabewert benötigt"
 
-#~ msgid "value for item `%s' in category `%s' must be in range %d...%d"
-#~ msgstr "Der Wert für den Eintrag `%s' in der Kategorie `%s' muß im Intervall %d...%d liegen"
+#~ msgid "expected type specifier"
+#~ msgstr "Type-Bezeichner erwartet"
+
+#~ msgid "rcmd: write (setting up stderr): %s\n"
+#~ msgstr "rcmd: Write (Einrichten der Standardfehlerausgabe): %s\n"
+
+#~ msgid "expected '%s', '%s' or '%s'"
+#~ msgstr "'%s', '%s' oder '%s' erwartet"
+
+#~ msgid "usage: %s infile\n"
+#~ msgstr "Aufruf: %s Eingabedatei\n"
+
+#~ msgid "preprocessor error"
+#~ msgstr "Fehler des Präprozessors"
+
+#~ msgid "array declaration expected"
+#~ msgstr "Tabellendeklaration erwartet"
+
+#~ msgid "socket: protocol failure in circuit setup.\n"
+#~ msgstr "Socket: Protokollfehler im Kreislauf-Setup.\n"
+
+#~ msgid "couldn't do udp_create\n"
+#~ msgstr "Kann keinen RPC-Server erzeugen\n"
+
+#~ msgid "collation symbol `.*s' appears more than once: ignore line"
+#~ msgstr "Das 'collation'-Symbol `.*s' ist mehr als einmal angegeben: Die Zeile wird ignorier"
+
+#~ msgid "unterminated string constant"
+#~ msgstr "Zeichenkette wird nicht beendet"
+
+#~ msgid "expected '%s'"
+#~ msgstr "'%s' erwartet"
+
+#~ msgid "illegal result type"
+#~ msgstr "Nicht erlaubter Ergebnistyp"
+
+#~ msgid "no array-of-pointer declarations -- use typedef"
+#~ msgstr "Kein Definition einer Tabelle von \"Zeigern\" -- Verwenden Sie \"typedef\""
+
+#~ msgid "definition keyword expected"
+#~ msgstr "Keyword-Definition erwartet"
+
+#~ msgid "constant or identifier expected"
+#~ msgstr "Konstante oder Bezeichner erwartet"
+
+#~ msgid "       %s [-c | -h | -l | -m] [-o outfile] [infile]\n"
+#~ msgstr "       %s [-c | -h | -l | -m] [-o Ausgabedatei] [Eingabedatei]\n"
+
+#~ msgid "%s, line %d: "
+#~ msgstr "%s, Zeile %d: "
+
+#~ msgid ""
+#~ "Usage: %s [OPTION]... -o OUTPUT-FILE [INPUT-FILE]...\n"
+#~ "       %s [OPTION]... [OUTPUT-FILE [INPUT-FILE]...]\n"
+#~ "Mandatory arguments to long options are mandatory for short options too.\n"
+#~ "  -H, --header        create C header file containing symbol definitions\n"
+#~ "  -h, --help          display this help and exit\n"
+#~ "      --new           do not use existing catalog, force new output file\n"
+#~ "  -o, --output=NAME   write output to file NAME\n"
+#~ "  -V, --version       output version information and exit\n"
+#~ "If INPUT-FILE is -, input is read from standard input.  If OUTPUT-FILE\n"
+#~ "is -, output is written to standard output.\n"
+#~ "Report bugs to <bug-glibc@prep.ai.mit.edu>.\n"
+#~ msgstr ""
+#~ "Syntax: %s [Option]... -o Ausgabe-Datei [Eingabe-Datei]...\n"
+#~ "        %s [Option]... [Ausgabe-Datei [Eingabe-Datei]...]\n"
+#~ "\n"
+#~ "Notwendige Argumente zu langen Optionen sind auch bei kurzen erforderlich.\n"
+#~ "\n"
+#~ "  -H, --header        erzeuge C-Header-Datein mit Symbol-Definitionen\n"
+#~ "  -h, --help          zeige diese Hilfe an\n"
+#~ "      --new           verwende keinen bestehendn Katalog, sondern erzeuge \n"
+#~ "                      einen neuen\n"
+#~ "  -o, --output=Name   Die Ausgabe-Datei heißt 'Name'\n"
+#~ "  -V, --version       gebe die Versionsnummer aus\n"
+#~ "\n"
+#~ "Wenn '-' als Eingabe-Datei angegeben wird, dann wird von der Standard-Eingabe\n"
+#~ "gelesen.  Wenn '-' als Ausgabe-Datei angegeben wird, dann wird auf die\n"
+#~ "Standard-Ausgabe geschrieben.\n"
+#~ "\n"
+#~ "Fehler bitte an <bug-glibc@prep.ai.mit.edu> melden.\n"
+
+#~ msgid "Not a data message"
+#~ msgstr "Keine Nachricht mit Daten"
diff --git a/po/ko.po b/po/ko.po
index ed257110b5..6ff671cbb0 100644
--- a/po/ko.po
+++ b/po/ko.po
@@ -4,9 +4,9 @@
 #
 msgid ""
 msgstr ""
-"Project-Id-Version: GNU libc 1.96\n"
-"POT-Creation-Date: 1996-10-17 03:22+0200\n"
-"PO-Revision-Date: 1996-11-23 19:25+0900\n"
+"Project-Id-Version: GNU libc 1.98\n"
+"POT-Creation-Date: 1996-12-03 13:50+0100\n"
+"PO-Revision-Date: 1996-12-15 14:17+0900\n"
 "Last-Translator: Bang Jun-Young <bangjy@nownuri.nowcom.co.kr>\n"
 "Language-Team: Korean <ko@li.org>\n"
 "MIME-Version: 1.0\n"
@@ -62,17 +62,17 @@ msgstr "\"Áö¿ª %s\" Çà°ú -p ¿É¼ÇÀº ¼­·Î ¹èŸÀûÀÔ´Ï´Ù"
 msgid "%s in ruleless zone"
 msgstr "±ÔÄ¢¾ø´Â Áö¿ª¿¡ %s°¡ ÀÖÀ½"
 
-#: assert/assert.c:48
+#: assert/assert.c:46
 #, c-format
 msgid "%s%s%s:%u: %s%sAssertion `%s' failed.\n"
 msgstr ""
 
-#: assert/assert-perr.c:46
+#: assert/assert-perr.c:47
 #, c-format
 msgid "%s%s%s:%u: %s%sUnexpected error: %s.\n"
 msgstr "%s%s%s:%u: %s%s¿¹±âÄ¡ ¸øÇÑ ¿À·ù: %s.\n"
 
-#: stdio-common/psignal.c:48
+#: stdio-common/psignal.c:47
 #, c-format
 msgid "%s%sUnknown signal %d\n"
 msgstr "%s%s¾Ë ¼ö ¾ø´Â ½ÅÈ£ %d\n"
@@ -170,7 +170,7 @@ msgstr "%s: ¸í·ÉÀº '%s'¿´°í, °á°ú´Â %d¿´½À´Ï´Ù\n"
 #: locale/programs/charmap.c:593 locale/programs/locfile.c:878
 #, c-format
 msgid "%s: error in state machine"
-msgstr ""
+msgstr "%s: ½ºÅ×ÀÌÆ® ±â°è¿¡ ¿À·ù ¹ß»ý"
 
 #: posix/getopt.c:687
 #, c-format
@@ -223,9 +223,9 @@ msgid "%s: panic: Invalid l_value %d\n"
 msgstr "%s: panic: ºÎÀûÀýÇÑ ÁÂÇ×°ª %d\n"
 
 #: locale/programs/charmap.c:600
-#, c-format, fuzzy
+#, c-format
 msgid "%s: premature end of file"
-msgstr "ÆÄÀÏÀÌ ¿Ï°áµÇÁö ¾ÊÀº ä ³¡³²"
+msgstr "%s: ÆÄÀÏÀÌ ¿Ï°áµÇÁö ¾ÊÀº ä ³¡³²"
 
 #: posix/getopt.c:661
 #, c-format
@@ -270,19 +270,19 @@ msgstr "*Ç¥ÁØ ÀÔ·Â*"
 msgid ".lib section in a.out corrupted"
 msgstr "a.outÀÇ .lib ÀýÀÌ ¼Õ»óµÇ¾úÀ½"
 
-#: inet/rcmd.c:328
+#: inet/rcmd.c:358
 msgid ".rhosts fstat failed"
 msgstr ".rhosts fstat ½ÇÆÐ"
 
-#: inet/rcmd.c:324
+#: inet/rcmd.c:354
 msgid ".rhosts lstat failed"
 msgstr ".rhosts lstat ½ÇÆÐ"
 
-#: inet/rcmd.c:326
+#: inet/rcmd.c:356
 msgid ".rhosts not regular file"
 msgstr ".rhosts´Â ÀÏ¹Ý ÆÄÀÏÀÌ ¾Æ´Ô"
 
-#: inet/rcmd.c:332
+#: inet/rcmd.c:362
 msgid ".rhosts writeable by other than owner"
 msgstr ".rhosts´Â ¼ÒÀ¯ÀÚ°¡ ¾Æ´Ñ »ç¶÷ÀÌ º¯°æÇÒ ¼ö ÀÖÀ½"
 
@@ -327,7 +327,7 @@ msgstr "ÁÖ¼Ò°¡ ÀÌ¹Ì »ç¿ë ÁßÀÔ´Ï´Ù"
 msgid "Address family not supported by protocol"
 msgstr "ÁÖ¼Ò±ºÀÌ ±Ô¾à¿¡¼­ Áö¿øµÇÁö ¾ÊÀ½"
 
-#: stdio-common/../sysdeps/gnu/errlist.c:714
+#: stdio-common/../sysdeps/gnu/errlist.c:730
 msgid "Advertise error"
 msgstr ""
 
@@ -368,10 +368,14 @@ msgstr "À߸øµÈ ÁÖ¼Ò"
 msgid "Bad file descriptor"
 msgstr "À߸øµÈ ÆÄÀÏ ±â¼úÀÚ"
 
-#: stdio-common/../sysdeps/gnu/errlist.c:682
+#: stdio-common/../sysdeps/gnu/errlist.c:718
 msgid "Bad font file format"
 msgstr "À߸øµÈ ÆùÆ® ÆÄÀÏ Çü½Ä"
 
+#: stdio-common/../sysdeps/gnu/errlist.c:610
+msgid "Bad message"
+msgstr "À߸øµÈ ¸Þ½ÃÁö"
+
 #. TRANS A file that isn't a block special file was given in a situation that
 #. TRANS requires one.  For example, trying to mount an ordinary file as a file
 #. TRANS system in Unix gives this error.
@@ -402,6 +406,22 @@ msgstr "CPU ½Ã°£ Á¦ÇÑ ÃÊ°úÇÔ"
 msgid "Can not access a needed shared library"
 msgstr "ÇÊ¿äÇÑ °øÀ¯ ¶óÀ̺귯¸®¿¡ Á¢±ÙÇÒ ¼ö ¾ø½À´Ï´Ù"
 
+#: nis/ypclnt.c:637
+msgid "Can't bind to server which serves this domain"
+msgstr "ÀÌ µµ¸ÞÀÎÀ» Á¦°øÇÏ´Â ¼­¹ö¿¡ ¿¬°áÇÒ ¼ö ¾ø½À´Ï´Ù"
+
+#: nis/ypclnt.c:649
+msgid "Can't communicate with portmapper"
+msgstr "rpcinfo: Æ÷Æ®¸ÅÆÛ¿Í Åë½ÅÇÒ ¼ö ¾ø½À´Ï´Ù"
+
+#: nis/ypclnt.c:651
+msgid "Can't communicate with ypbind"
+msgstr "ypbind¿Í Åë½ÅÇÒ ¼ö ¾ø½À´Ï´Ù"
+
+#: nis/ypclnt.c:653
+msgid "Can't communicate with ypserv"
+msgstr "ypserv¿Í Åë½ÅÇÒ ¼ö ¾ø½À´Ï´Ù"
+
 #. TRANS No memory available.  The system cannot allocate more virtual memory
 #. TRANS because its capacity is full.
 #: stdio-common/../sysdeps/gnu/errlist.c:91
@@ -444,7 +464,7 @@ msgstr "ºê·Îµåij½ºÆ® ÆÐŶÀ» º¸³¾ ¼ö ¾ø½À´Ï´Ù"
 msgid "Cannot set socket option SO_BROADCAST"
 msgstr "¼ÒÄÏ ¿É¼Ç SO_BROADCAST¸¦ ¼³Á¤ÇÒ ¼ö ¾ø½À´Ï´Ù"
 
-#: stdio-common/../sysdeps/gnu/errlist.c:622
+#: stdio-common/../sysdeps/gnu/errlist.c:658
 msgid "Channel number out of range"
 msgstr "¹üÀ§¸¦ ¹þ¾î³­ ä³Î ¹øÈ£"
 
@@ -455,7 +475,7 @@ msgstr "ÀÚ½ÄÀÌ Á¾·áµÊ"
 msgid "Client credential too weak"
 msgstr "Ŭ¶óÀ̾ðÆ® ÀÚ°Ý ºÎ¿©°¡ ³Ê¹« ¾àÇÔ"
 
-#: stdio-common/../sysdeps/gnu/errlist.c:722
+#: stdio-common/../sysdeps/gnu/errlist.c:738
 msgid "Communication error on send"
 msgstr "Àü¼Û Áß Åë½Å ¿À·ù"
 
@@ -502,8 +522,10 @@ msgid ""
 "This is free software; see the source for copying conditions.  There is NO\n"
 "warranty; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.\n"
 msgstr ""
-"ÀúÀÛ±Ç (C) %s Free Software Foundation, Inc.\n"
-"ÀÌ ÇÁ·Î±×·¥Àº °ø°³ ¼ÒÇÁÆ®¿þ¾îÀÔ´Ï´Ù; º¹»ç Á¶°ÇÀº ¼Ò½º¸¦ ÂüÁ¶ÇϽʽÿÀ.\n"
+
+#: nis/ypclnt.c:663
+msgid "Database is busy"
+msgstr "µ¥ÀÌÅͺ£À̽º°¡ ÀÛ¾÷ ÁßÀÔ´Ï´Ù"
 
 #. TRANS No default destination address was set for the socket.  You get this
 #. TRANS error when you try to transmit data over a connectionless socket,
@@ -512,7 +534,7 @@ msgstr ""
 msgid "Destination address required"
 msgstr "¸ñÀûÁö ÁÖ¼Ò°¡ ÇÊ¿äÇÔ"
 
-#: stdio-common/../sysdeps/gnu/errlist.c:686
+#: stdio-common/../sysdeps/gnu/errlist.c:638
 msgid "Device not a stream"
 msgstr "ÀåÄ¡°¡ ½ºÆ®¸²ÀÌ ¾Æ´Ô"
 
@@ -543,12 +565,16 @@ msgstr "µð·ºÅ丮°¡ ºñ¾îÀÖÁö ¾ÊÀ½"
 msgid "Disc quota exceeded"
 msgstr "µð½ºÅ© ÇÒ´ç·®ÀÌ ÃÊ°úµÊ"
 
+#: nis/ypclnt.c:709
+msgid "Domain not bound"
+msgstr "µµ¸ÞÀÎÀÌ ¹Ù¿îµåµÇÁö ¾ÊÀ½"
+
 #: sunrpc/clnt_perr.c:254
 #, c-format
 msgid "Error %d"
 msgstr "¿À·ù %d"
 
-#: string/../sysdeps/mach/_strerror.c:43
+#: string/../sysdeps/mach/_strerror.c:52
 msgid "Error in unknown error system: "
 msgstr "¾Ë ¼ö ¾ø´Â ¿À·ù ½Ã½ºÅÛ¿¡ ¿À·ù: "
 
@@ -556,7 +582,7 @@ msgstr "¾Ë ¼ö ¾ø´Â ¿À·ù ½Ã½ºÅÛ¿¡ ¿À·ù: "
 msgid "Error: .netrc file is readable by others."
 msgstr "¿À·ù: .netrc ÆÄÀÏÀ» ´Ù¸¥ »ç¶÷ÀÌ ÀÐÀ» ¼ö ÀÖ½À´Ï´Ù."
 
-#: stdio-common/../sysdeps/gnu/errlist.c:662
+#: stdio-common/../sysdeps/gnu/errlist.c:698
 msgid "Exchange full"
 msgstr "±³È¯ÀÌ °¡µæÂü"
 
@@ -584,7 +610,7 @@ msgstr "ÆÄÀÏ ±â¼úÀÚ°¡ À߸øµÈ »óÅ¿¡ ÀÖÀ½"
 msgid "File exists"
 msgstr "ÆÄÀÏÀÌ Á¸ÀçÇÕ´Ï´Ù"
 
-#: stdio-common/../sysdeps/gnu/errlist.c:678
+#: stdio-common/../sysdeps/gnu/errlist.c:714
 msgid "File locking deadlock error"
 msgstr ""
 
@@ -636,7 +662,7 @@ msgstr "ÀÔÃâ·Â °¡´É"
 msgid "IOT trap"
 msgstr "IOT Æ®·¦"
 
-#: stdio-common/../sysdeps/gnu/errlist.c:618
+#: stdio-common/../sysdeps/gnu/errlist.c:614
 msgid "Identifier removed"
 msgstr "½Äº°ÀÚ Á¦°ÅµÊ"
 
@@ -678,6 +704,14 @@ msgstr "¹è°æ ÇÁ·Î¼¼½º·Î ºÎÀûÇÕÇÑ µ¿ÀÛ"
 msgid "Input/output error"
 msgstr "ÀÔ·Â/Ãâ·Â ¿À·ù"
 
+#: nis/ypclnt.c:643
+msgid "Internal NIS error"
+msgstr "³»ºÎ NIS ¿À·ù"
+
+#: nis/ypclnt.c:707
+msgid "Internal ypbind error"
+msgstr "³»ºÎ ypbind ¿À·ù"
+
 msgid "Interrupt"
 msgstr "ÀÎÅÍ·´Æ®"
 
@@ -692,7 +726,7 @@ msgstr "ÀÎÅÍ·´Æ®"
 msgid "Interrupted system call"
 msgstr "Áß´ÜµÈ ½Ã½ºÅÛ È£Ãâ"
 
-#: stdio-common/../sysdeps/gnu/errlist.c:610
+#: stdio-common/../sysdeps/gnu/errlist.c:654
 msgid "Interrupted system call should be restarted"
 msgstr "Áß´ÜµÈ ½Ã½ºÅÛ È£ÃâÀº Àç½ÃÀ۵Ǿî¾ß ÇÕ´Ï´Ù"
 
@@ -733,7 +767,7 @@ msgstr "\\{\\}¿¡ ºÎÀûÀýÇÑ ³»¿ë¹°ÀÌ ÀÖÀ½"
 msgid "Invalid cross-device link"
 msgstr "ÀåÄ¡°£ ¿¬°áÀÌ ºÎÀûÀýÇÔ"
 
-#: stdio-common/../sysdeps/gnu/errlist.c:654
+#: stdio-common/../sysdeps/gnu/errlist.c:690
 msgid "Invalid exchange"
 msgstr "ºÎÀûÀýÇÑ ±³È¯"
 
@@ -755,11 +789,11 @@ msgstr "ºÎÀûÀýÇÑ ¹üÀ§ ³¡"
 msgid "Invalid regular expression"
 msgstr "ºÎÀûÀýÇÑ Á¤±Ô½Ä"
 
-#: stdio-common/../sysdeps/gnu/errlist.c:670
+#: stdio-common/../sysdeps/gnu/errlist.c:706
 msgid "Invalid request code"
 msgstr "ºÎÀûÀýÇÑ ¿äû ÄÚµå"
 
-#: stdio-common/../sysdeps/gnu/errlist.c:658
+#: stdio-common/../sysdeps/gnu/errlist.c:694
 msgid "Invalid request descriptor"
 msgstr "À߸øµÈ ¿äû ±â¼úÀÚ"
 
@@ -767,7 +801,7 @@ msgstr "À߸øµÈ ¿äû ±â¼úÀÚ"
 msgid "Invalid server verifier"
 msgstr "ºÎÀûÀýÇÑ ¼­¹ö °ËÁõ±â"
 
-#: stdio-common/../sysdeps/gnu/errlist.c:674
+#: stdio-common/../sysdeps/gnu/errlist.c:710
 msgid "Invalid slot"
 msgstr "ºÎÀûÀýÇÑ ½½·Ô"
 
@@ -784,31 +818,39 @@ msgstr ""
 msgid "Killed"
 msgstr "Á×¾úÀ½"
 
-#: stdio-common/../sysdeps/gnu/errlist.c:650
+#: stdio-common/../sysdeps/gnu/errlist.c:686
 msgid "Level 2 halted"
 msgstr "µî±Þ 2 ¸Ü¾úÀ½"
 
-#: stdio-common/../sysdeps/gnu/errlist.c:626
+#: stdio-common/../sysdeps/gnu/errlist.c:662
 msgid "Level 2 not synchronized"
 msgstr "µî±Þ 2°¡ µ¿±âÈ­µÇÁö ¾ÊÀ½"
 
-#: stdio-common/../sysdeps/gnu/errlist.c:630
+#: stdio-common/../sysdeps/gnu/errlist.c:666
 msgid "Level 3 halted"
 msgstr "µî±Þ 3 ¸Ü¾úÀ½"
 
-#: stdio-common/../sysdeps/gnu/errlist.c:634
+#: stdio-common/../sysdeps/gnu/errlist.c:670
 msgid "Level 3 reset"
 msgstr "µî±Þ 3 ¸®¼Â"
 
-#: stdio-common/../sysdeps/gnu/errlist.c:710
+#: stdio-common/../sysdeps/gnu/errlist.c:626
 msgid "Link has been severed"
 msgstr ""
 
-#: stdio-common/../sysdeps/gnu/errlist.c:638
+#: stdio-common/../sysdeps/gnu/errlist.c:674
 msgid "Link number out of range"
 msgstr "¹üÀ§¸¦ ¹þ¾î³­ ¸µÅ© ¹øÈ£"
 
-#: stdio-common/../sysdeps/gnu/errlist.c:702
+#: nis/ypclnt.c:655
+msgid "Local domain name not set"
+msgstr "Áö¿ª µµ¸ÞÀθíÀÌ ¼³Á¤µÇÁö ¾Ê¾ÒÀ½"
+
+#: nis/ypclnt.c:645
+msgid "Local resource allocation failure"
+msgstr "Áö¿ª ÀÚ¿ø ÇÒ´ç ½ÇÆÐ"
+
+#: stdio-common/../sysdeps/gnu/errlist.c:722
 msgid "Machine is not on the network"
 msgstr "±â±â°¡ ³×Æ®¿öÅ© »ó¿¡ ÀÖÁö ¾Ê½À´Ï´Ù"
 
@@ -822,10 +864,18 @@ msgstr "¸Þ¸ð¸®°¡ ¹Ù´Ú³²"
 msgid "Message too long"
 msgstr "¸Þ½ÃÁö°¡ ³Ê¹« ±é´Ï´Ù"
 
-#: stdio-common/../sysdeps/gnu/errlist.c:730
+#: stdio-common/../sysdeps/gnu/errlist.c:618
 msgid "Multihop attempted"
 msgstr ""
 
+#: nis/ypclnt.c:659
+msgid "NIS client/server version mismatch - can't supply service"
+msgstr "NIS Ŭ¶óÀ̾ðÆ®/¼­¹ö ¹öÀü ºÒÀÏÄ¡ - ¼­ºñ½º¸¦ Á¦°øÇÒ ¼ö ¾ø½À´Ï´Ù"
+
+#: nis/ypclnt.c:657
+msgid "NIS map data base is bad"
+msgstr "NIS Áöµµ µ¥ÀÌÅͺ£À̽º°¡ À߸øµÇ¾ú½À´Ï´Ù"
+
 #: stdio-common/../sysdeps/gnu/errlist.c:746
 msgid "Name not unique on network"
 msgstr "À̸§ÀÌ ³×Æ®¿öÅ© »ó¿¡¼­ ´ÜÀÏÇÏÁö ¾ÊÀ½"
@@ -851,7 +901,7 @@ msgstr "³×Æ®¿öÅ©°¡ Á×¾ú½À´Ï´Ù"
 msgid "Network is unreachable"
 msgstr "³×Æ®¿öÅ©°¡ Á¢±Ù ºÒ°¡´ÉÇÕ´Ï´Ù"
 
-#: stdio-common/../sysdeps/gnu/errlist.c:646
+#: stdio-common/../sysdeps/gnu/errlist.c:682
 msgid "No CSI structure available"
 msgstr "»ç¿ë °¡´ÉÇÑ CSI ±¸Á¶°¡ ¾øÀ½"
 
@@ -863,7 +913,7 @@ msgstr "»ç¿ë °¡´ÉÇÑ XENIX ¼¼¸¶Æ÷¾î°¡ ¾øÀ½"
 msgid "No address associated with name"
 msgstr "À̸§°ú ´ëÀÀµÇ´Â ÁÖ¼Ò°¡ ¾øÀ½"
 
-#: stdio-common/../sysdeps/gnu/errlist.c:666
+#: stdio-common/../sysdeps/gnu/errlist.c:702
 msgid "No anode"
 msgstr ""
 
@@ -881,7 +931,7 @@ msgstr "»ç¿ë °¡´ÉÇÑ ¹öÆÛ °ø°£ÀÌ ¾øÀ½"
 msgid "No child processes"
 msgstr "ÀÚ½Ä ÇÁ·Î¼¼½º°¡ ¾øÀ½"
 
-#: stdio-common/../sysdeps/gnu/errlist.c:690
+#: stdio-common/../sysdeps/gnu/errlist.c:622
 msgid "No data available"
 msgstr "»ç¿ë °¡´ÉÇÑ ÀÚ·á°¡ ¾øÀ½"
 
@@ -897,10 +947,14 @@ msgstr "»ç¿ë°¡´ÉÇÑ Àá±ÝÀåÄ¡°¡ ¾øÀ½"
 msgid "No match"
 msgstr "¸Â´Â ¦ ¾øÀ½"
 
-#: stdio-common/../sysdeps/gnu/errlist.c:614
+#: stdio-common/../sysdeps/gnu/errlist.c:630
 msgid "No message of desired type"
 msgstr "Àû´çÇÑ ÇüÀ» °¡Áø ¸Þ½ÃÁö°¡ ¾øÀ½"
 
+#: nis/ypclnt.c:647
+msgid "No more records in map database"
+msgstr "Áöµµ µ¥ÀÌÅͺ£À̽º¿¡ ´õ ÀÌ»óÀÇ ±â·ÏÀÌ ¾øÀ½"
+
 #: posix/regex.c:5204
 msgid "No previous regular expression"
 msgstr "ÀüÀÇ Á¤±Ô½ÄÀÌ ¾øÀ½"
@@ -918,7 +972,7 @@ msgstr ""
 #. TRANS disk is full.
 #: stdio-common/../sysdeps/gnu/errlist.c:196
 msgid "No space left on device"
-msgstr "µð¹ÙÀ̽º¿¡ ³²Àº °ø°£ÀÌ ¾øÀ½"
+msgstr "ÀåÄ¡¿¡ ³²Àº °ø°£ÀÌ ¾øÀ½"
 
 #. TRANS No such file or directory.  This is a ``file doesn't exist'' error
 #. TRANS for ordinary files that are referenced in contexts where they are
@@ -927,6 +981,14 @@ msgstr "µð¹ÙÀ̽º¿¡ ³²Àº °ø°£ÀÌ ¾øÀ½"
 msgid "No such file or directory"
 msgstr "±×·± ÆÄÀÏÀ̳ª µð·ºÅ丮°¡ ¾øÀ½"
 
+#: nis/ypclnt.c:641
+msgid "No such key in map"
+msgstr "Áöµµ¿¡ ±×·± Å°°¡ ¾øÀ½"
+
+#: nis/ypclnt.c:639
+msgid "No such map in server's domain"
+msgstr "¼­¹öÀÇ µµ¸ÞÀο¡ ±×·± Áöµµ°¡ ¾øÀ½"
+
 #. TRANS No process matches the specified process ID.
 #: stdio-common/../sysdeps/gnu/errlist.c:24
 msgid "No such process"
@@ -936,10 +998,6 @@ msgstr "±×·± ÇÁ·Î¼¼½º°¡ ¾øÀ½"
 msgid "Not a XENIX named type file"
 msgstr ""
 
-#: stdio-common/../sysdeps/gnu/errlist.c:738
-msgid "Not a data message"
-msgstr "ÀÚ·á ¸Þ½ÃÁö°¡ ¾Æ´Ô"
-
 #. TRANS A file that isn't a directory was specified when a directory is required.
 #: stdio-common/../sysdeps/gnu/errlist.c:140
 msgid "Not a directory"
@@ -1007,7 +1065,7 @@ msgstr "ÀåÄ¡¿¡¼­ Áö¿øµÇÁö ¾Ê´Â ¸í·É"
 #. TRANS has completed; @pxref{Waiting for I/O}.
 #: stdio-common/../sysdeps/gnu/errlist.c:288
 msgid "Operation now in progress"
-msgstr "Áö±Ý ÁøÇàÁßÀÎ ¸í·É"
+msgstr "Áö±Ý ÁøÇà ÁßÀÎ ¸í·É"
 
 #. TRANS In the GNU C library, this is another name for @code{EAGAIN} (above).
 #. TRANS The values are always the same, on every operating system.
@@ -1018,16 +1076,16 @@ msgstr "Áö±Ý ÁøÇàÁßÀÎ ¸í·É"
 msgid "Operation would block"
 msgstr ""
 
-#: stdio-common/../sysdeps/gnu/errlist.c:698
+#: stdio-common/../sysdeps/gnu/errlist.c:634
 msgid "Out of streams resources"
 msgstr "½ºÆ®¸² ÀÚ¿ø ºÎÁ·"
 
-#: stdio-common/../sysdeps/gnu/errlist.c:706
+#: stdio-common/../sysdeps/gnu/errlist.c:726
 msgid "Package not installed"
 msgstr "ÆÐÅ°Áö°¡ ¼³Ä¡µÇÁö ¾ÊÀ½"
 
 #. TRANS Permission denied; the file permissions do not allow the attempted operation.
-#: stdio-common/../sysdeps/gnu/errlist.c:96
+#: nis/ypclnt.c:661 stdio-common/../sysdeps/gnu/errlist.c:96
 msgid "Permission denied"
 msgstr "Çã°¡ °ÅºÎµÊ"
 
@@ -1041,11 +1099,11 @@ msgstr "Á¤±Ô½ÄÀÌ ¿Ï°áµÇÁö ¾ÊÀº ä ³¡³²"
 msgid "Profiling timer expired"
 msgstr "ÇÁ·ÎÆÄÀϸµ ŸÀ̸ÓÀÇ ½Ã°£ÀÌ ÃÊ°úµÊ"
 
-#: stdio-common/../sysdeps/gnu/errlist.c:642
+#: stdio-common/../sysdeps/gnu/errlist.c:678
 msgid "Protocol driver not attached"
 msgstr "±Ô¾à ±¸µ¿±â¿¡ ¿¬°áµÇÁö ¾ÊÀ½"
 
-#: stdio-common/../sysdeps/gnu/errlist.c:726
+#: stdio-common/../sysdeps/gnu/errlist.c:646
 msgid "Protocol error"
 msgstr "±Ô¾à ¿À·ù"
 
@@ -1075,7 +1133,7 @@ msgstr "¼ÒÄÏ¿¡ ´ëÇÑ ±Ô¾àÀÌ À߸øµÊ"
 msgid "Quit"
 msgstr "Á¾·á"
 
-#: stdio-common/../sysdeps/gnu/errlist.c:734
+#: stdio-common/../sysdeps/gnu/errlist.c:742
 msgid "RFS specific error"
 msgstr "RFS¿¡ ±¹ÇÑµÈ ¿À·ù"
 
@@ -1084,6 +1142,10 @@ msgstr "RFS¿¡ ±¹ÇÑµÈ ¿À·ù"
 msgid "RPC bad procedure for program"
 msgstr "RPC ÇÁ·Î±×·¥ÀÇ ÇÁ·Î½ÃÁ®°¡ À߸øµÊ"
 
+#: nis/ypclnt.c:635
+msgid "RPC failure on NIS operation"
+msgstr ""
+
 #. TRANS ???
 #: stdio-common/../sysdeps/gnu/errlist.c:517
 msgid "RPC program not available"
@@ -1180,6 +1242,10 @@ msgstr "RPC: ¾Ë ¼ö ¾ø´Â È£½ºÆ®"
 msgid "RPC: Unknown protocol"
 msgstr "RPC: ¾Ë ¼ö ¾ø´Â ±Ô¾à"
 
+#: elf/dlsym.c:49
+msgid "RTLD_NEXT used in code not dynamically loaded"
+msgstr "µ¿ÀûÀ¸·Î ÀûÀçµÇÁö ¾ÊÀº Äڵ忡 RTLD_NEXT°¡ »ç¿ëµÊ"
+
 #. TRANS An attempt was made to modify something on a read-only file system.
 #: stdio-common/../sysdeps/gnu/errlist.c:206
 msgid "Read-only file system"
@@ -1199,20 +1265,24 @@ msgstr "¿ø°Ý ÁÖ¼Ò°¡ ¹Ù²î¾úÀ½"
 
 #: inet/ruserpass.c:162
 msgid "Remove password or make file unreadable by others."
-msgstr ""
+msgstr "¾ÏÈ£¸¦ Áö¿ì°Å³ª ´Ù¸¥ »ç¶÷ÀÌ ÀÐÀ» ¼ö ¾ø´Â ÆÄÀÏÀ» ¸¸µì´Ï´Ù."
 
 #: catgets/gencat.c:224 db/makedb.c:227 locale/programs/locale.c:257
 #: locale/programs/localedef.c:408
 msgid "Report bugs to <bug-glibc@prep.ai.mit.edu>.\n"
 msgstr "¹ö±×´Â <bug-glibc@prep.ai.mit.edu>¿¡ º¸°íÇϽʽÿÀ.\n"
 
+#: nis/ypclnt.c:633
+msgid "Request arguments bad"
+msgstr ""
+
 #: resolv/herror.c:73
 msgid "Resolver Error 0 (no error)"
-msgstr "¸®¼Ö¹ö ¿À·ù 0 (¿À·ù¾Æ´Ô)"
+msgstr "ÇØ°á±â ¿À·ù 0 (¿À·ù¾Æ´Ô)"
 
-#: resolv/herror.c:115
+#: resolv/herror.c:117
 msgid "Resolver internal error"
-msgstr "¸®¼Ö¹ö ³»ºÎ ¿À·ù"
+msgstr "ÇØ°á±â ³»ºÎ ¿À·ù"
 
 #. TRANS Deadlock avoided; allocating a system resource would have resulted in a
 #. TRANS deadlock situation.  The system does not guarantee that it will notice
@@ -1281,7 +1351,7 @@ msgstr "¼ÒÄÏ Å¸ÀÔÀÌ Áö¿øµÇÁö ¾Ê½À´Ï´Ù"
 msgid "Software caused connection abort"
 msgstr "¼ÒÇÁÆ®¿þ¾î°¡ ¿¬°á Áß´ÜÀ» ÃÊ·¡Çß½À´Ï´Ù"
 
-#: stdio-common/../sysdeps/gnu/errlist.c:718
+#: stdio-common/../sysdeps/gnu/errlist.c:734
 msgid "Srmount error"
 msgstr ""
 
@@ -1311,12 +1381,17 @@ msgstr "½ºÆ®¸² ÆÄÀÌÇÁ ¿À·ù"
 
 #: stdio-common/../sysdeps/gnu/errlist.c:782
 msgid "Structure needs cleaning"
-msgstr ""
+msgstr "±¸Á¶¿¡ û¼Ò°¡ ÇÊ¿äÇÕ´Ï´Ù"
 
-#: posix/regex.c:940 stdio-common/../sysdeps/gnu/errlist.c:7
+#: nis/ypclnt.c:631 nis/ypclnt.c:705 posix/regex.c:940
+#: stdio-common/../sysdeps/gnu/errlist.c:7
 msgid "Success"
 msgstr "¼º°ø"
 
+#: nis/ypclnt.c:711
+msgid "System resource allocation failure"
+msgstr "½Ã½ºÅÛ ÀÚ¿ø ÇÒ´ç ½ÇÆÐ"
+
 msgid "Terminated"
 msgstr "Á¾·áµÊ"
 
@@ -1327,11 +1402,11 @@ msgstr "Á¾·áµÊ"
 #. TRANS is not an error in the GNU system; the text is copied as necessary.
 #: stdio-common/../sysdeps/gnu/errlist.c:185
 msgid "Text file busy"
-msgstr "¹®¼­ ÆÄÀÏ »ç¿ëÁß"
+msgstr "¹®¼­ ÆÄÀÏ »ç¿ë Áß"
 
-#: stdio-common/../sysdeps/gnu/errlist.c:694
+#: stdio-common/../sysdeps/gnu/errlist.c:650
 msgid "Timer expired"
-msgstr "ŸÀ̸ÓÀÇ ½Ã°£ÀÌ ÃÊ°úµÊ"
+msgstr "ŸÀÌ¸Ó ½Ã°£ ÃÊ°úµÊ"
 
 #. TRANS Too many levels of symbolic links were encountered in looking up a file name.
 #. TRANS This often indicates a cycle of symbolic links.
@@ -1416,7 +1491,7 @@ msgstr "Àü¼Û Á¾·áÁöÁ¡ÀÌ ¿¬°áµÇ¾î ÀÖÁö ¾Ê½À´Ï´Ù"
 msgid "Try `%s --help' for more information.\n"
 msgstr "´õ ¸¹Àº Á¤º¸¸¦ º¸·Á¸é `%s --help' ÇϽʽÿÀ.\n"
 
-#: inet/rcmd.c:121
+#: inet/rcmd.c:136
 #, c-format
 msgid "Trying %s...\n"
 msgstr "%s ½ÃµµÁß...\n"
@@ -1426,8 +1501,12 @@ msgstr "%s ½ÃµµÁß...\n"
 msgid "Unknown .netrc keyword %s"
 msgstr "¾Ë ¼ö ¾ø´Â .netrc Å°¿öµå %s"
 
-#: string/../sysdeps/generic/_strerror.c:36
-#: string/../sysdeps/mach/_strerror.c:58
+#: nis/ypclnt.c:665
+msgid "Unknown NIS error code"
+msgstr "¾Ë ¼ö ¾ø´Â NIS ¿À·ù ÄÚµå"
+
+#: string/../sysdeps/generic/_strerror.c:44
+#: string/../sysdeps/mach/_strerror.c:67
 msgid "Unknown error "
 msgstr "¾Ë ¼ö ¾ø´Â ¿À·ù"
 
@@ -1435,7 +1514,7 @@ msgstr "¾Ë ¼ö ¾ø´Â ¿À·ù"
 msgid "Unknown host"
 msgstr "¾Ë ¼ö ¾ø´Â È£½ºÆ®"
 
-#: resolv/herror.c:118
+#: resolv/herror.c:120
 msgid "Unknown resolver error"
 msgstr "¾Ë ¼ö ¾ø´Â ¸®¼Ö¹ö ¿À·ù"
 
@@ -1443,15 +1522,19 @@ msgstr "¾Ë ¼ö ¾ø´Â ¸®¼Ö¹ö ¿À·ù"
 msgid "Unknown server error"
 msgstr "¾Ë ¼ö ¾ø´Â ¼­¹ö ¿À·ù"
 
-#: string/strsignal.c:40
+#: string/strsignal.c:41
 #, c-format
 msgid "Unknown signal %d"
 msgstr "¾Ë ¼ö ¾ø´Â ½ÅÈ£ %d"
 
-#: misc/error.c:94
+#: misc/error.c:95
 msgid "Unknown system error"
 msgstr "¾Ë ¼ö ¾ø´Â ½Ã½ºÅÛ ¿À·ù"
 
+#: nis/ypclnt.c:713
+msgid "Unknown ypbind error"
+msgstr "¾Ë ¼ö ¾ø´Â ypbind ¿À·ù"
+
 #: posix/regex.c:948
 msgid "Unmatched ( or \\("
 msgstr "¦ÀÌ ¸ÂÁö ¾Ê´Â ( ¶Ç´Â \\("
@@ -1468,7 +1551,7 @@ msgstr "¦ÀÌ ¸ÂÁö ¾Ê´Â [ ¶Ç´Â [^"
 msgid "Unmatched \\{"
 msgstr "¦ÀÌ ¸ÂÁö ¾Ê´Â \\{"
 
-#: posix/getconf.c:191
+#: posix/getconf.c:260
 #, c-format
 msgid "Unrecognized variable `%s'"
 msgstr "ÀνÄÇÒ ¼ö ¾ø´Â º¯¼ö `%s'"
@@ -1499,7 +1582,7 @@ msgstr ""
 "ÇÕ´Ï´Ù\n"
 "  -o, --output=NAME   NAMEÀ̶ó´Â ÆÄÀÏ¿¡ Ãâ·ÂÀ» ±â·ÏÇÕ´Ï´Ù\n"
 "  -V, --version       ¹öÀü Á¤º¸¸¦ Ãâ·ÂÇÏ°í ¸¶Ä¨´Ï´Ù\n"
-"ÀÔ·Â-ÆÄÀÏÀÌ - À̸é Ç¥ÁØ ÀÔ·ÂÀ¸·ÎºÎÅÍ ÀÔ·ÂÀ» ÀÐ°Ô µË´Ï´Ù.  Ãâ·Â-ÆÄÀÏÀÌ\n"
+"¸¸¾à ÀÔ·Â-ÆÄÀÏÀÌ - À̸é Ç¥ÁØ ÀÔ·ÂÀ¸·ÎºÎÅÍ ÀÔ·ÂÀ» ÀÐ°Ô µË´Ï´Ù.  Ãâ·Â-ÆÄÀÏÀÌ\n"
 "- À̸é Ç¥ÁØ Ãâ·Â¿¡ Ãâ·ÂÀÌ ±â·ÏµË´Ï´Ù.\n"
 
 #: db/makedb.c:213
@@ -1547,6 +1630,19 @@ msgid ""
 "System's directory for character maps: %s\n"
 "                       locale files  : %s\n"
 msgstr ""
+"»ç¿ë¹ý: %s [¿É¼Ç]... À̸§\n"
+"±ä ¿É¼Ç¿¡ ºÎ°¡µÇ´Â Àμö´Â ªÀº ¿É¼Ç¿¡µµ Àû¿ëµË´Ï´Ù.\n"
+"  -c, --force               °æ°í ¸Þ½ÃÁö°¡ ³ª¿À´õ¶óµµ Ãâ·ÂÀ» ¸¸µì´Ï´Ù\n"
+"  -h, --help                ÀÌ µµ¿ò¸»À» Ç¥½ÃÇÏ°í ¸¶Ä¨´Ï´Ù\n"
+"  -f, --charmaps=FILE       FILE¿¡ Á¤ÀÇµÈ ±âÈ£ ¹®ÀÚ À̸§\n"
+"  -i, --inputfile=FILE      ¼Ò½º Á¤ÀÇ°¡ FILE ¾È¿¡ ÀÖÀ½À» ³ªÅ¸³À´Ï´Ù\n"
+"  -u, --code-set-name=NAME  ISO 10646 ¿ø¼Ò¿¡ ´ëÀÀÇÏ´Â ÄÚµå ÁýÇÕÀ» ÁöÁ¤ÇÕ´Ï´Ù\n"
+"  -v, --verbose             ´õ ¸¹Àº ¸Þ½ÃÁö¸¦ Ãâ·ÂÇÕ´Ï´Ù\n"
+"  -V, --version             ¹öÀü Á¤º¸¸¦ Ãâ·ÂÇÏ°í ¸¶Ä¨´Ï´Ù\n"
+"      --posix               POSIX ¾ÈÀ» ¾ö°ÝÈ÷ ÁؼöÇÕ´Ï´Ù\n"
+"\n"
+"¹®ÀÚ ÁöµµÀÇ ½Ã½ºÅÛ µð·ºÅ丮: %s\n"
+"·ÎÄÉÀÏ ÆÄÀÏÀÇ ½Ã½ºÅÛ µð·ºÅ丮: %s\n"
 
 #: locale/programs/locale.c:245
 #, c-format
@@ -1562,8 +1658,18 @@ msgid ""
 "  -c, --category-name   write names of selected categories\n"
 "  -k, --keyword-name    write names of selected keywords\n"
 msgstr ""
+"»ç¿ë¹ý: %s [¿É¼Ç]... À̸§\n"
+"±ä ¿É¼Ç¿¡ ºÎ°¡µÇ´Â Àμö´Â ªÀº ¿É¼Ç¿¡µµ Àû¿ëµË´Ï´Ù.\n"
+"  -h, --help            ÀÌ µµ¿ò¸»À» Ç¥½ÃÇÏ°í ¸¶Ä¨´Ï´Ù\n"
+"  -V, --version         ¹öÀü Á¤º¸¸¦ Ãâ·ÂÇÏ°í ¸¶Ä¨´Ï´Ù\n"
+"\n"
+"  -a, --all-locales     »ç¿ë °¡´ÉÇÑ ·ÎÄÉÀÏÀÇ À̸§À» Ãâ·ÂÇÕ´Ï´Ù\n"
+"  -m, --charmaps        »ç¿ë °¡´ÉÇÑ ¹®ÀÚ ÁöµµÀÇ À̸§À» Ãâ·ÂÇÕ´Ï´Ù\n"
+"\n"
+"  -c, --category-name   ¼±ÅÃµÈ ¹üÁÖÀÇ À̸§À» Ãâ·ÂÇÕ´Ï´Ù\n"
+"  -k, --keyword-name    ¼±ÅÃµÈ ÇٽɾîÀÇ À̸§À» Ãâ·ÂÇÕ´Ï´Ù\n"
 
-#: posix/getconf.c:138
+#: posix/getconf.c:200
 #, c-format
 msgid "Usage: %s variable_name [pathname]\n"
 msgstr "»ç¿ë¹ý: %s º¯¼ö¸í [°æ·Î¸í]\n"
@@ -1578,12 +1684,12 @@ msgstr "»ç¿ëÀÚ Á¤ÀÇ ½ÅÈ£ 1"
 msgid "User defined signal 2"
 msgstr "»ç¿ëÀÚ ½ÅÈ£ ½ÅÈ£ 2"
 
-#: stdio-common/../sysdeps/gnu/errlist.c:742
+#: stdio-common/../sysdeps/gnu/errlist.c:642
 msgid "Value too large for defined data type"
-msgstr ""
+msgstr "Á¤ÀÇµÈ ÀÚ·áÇüÀ¸·Î ¾²±â¿£ ³Ê¹« Å« °ª"
 
 msgid "Virtual timer expired"
-msgstr "°¡»ó ŸÀ̸ÓÀÇ ½Ã°£ÀÌ ÃÊ°úµÊ"
+msgstr "°¡»ó ŸÀÌ¸Ó ½Ã°£ ÃÊ°ú"
 
 #: time/zic.c:1844
 msgid "Wild result from command execution"
@@ -1596,7 +1702,24 @@ msgstr "À©µµ¿ì º¯°æµÊ"
 #: locale/programs/localedef.c:182
 #, c-format
 msgid "Written by %s.\n"
-msgstr ""
+msgstr "ÀúÀÚ: %s.\n"
+
+#: nis/ypclnt.c:146
+msgid "YPBINDPROC_DOMAIN: Internal error\n"
+msgstr "YPBINDPROC_DOMAIN: ³»ºÎ ¿À·ù\n"
+
+#: nis/ypclnt.c:150
+#, c-format
+msgid "YPBINDPROC_DOMAIN: No server for domain %s\n"
+msgstr "YPBINDPROC_DOMAIN: µµ¸ÞÀÎ %s¿¡ ´ëÇÑ ¼­¹ö°¡ ¾øÀ½\n"
+
+#: nis/ypclnt.c:154
+msgid "YPBINDPROC_DOMAIN: Resource allocation failure\n"
+msgstr "YPBINDPROC_DOMAIN: ÀÚ¿ø ÇÒ´ç ½ÇÆÐ\n"
+
+#: nis/ypclnt.c:158
+msgid "YPBINDPROC_DOMAIN: Unknown error\n"
+msgstr "YPBINDPROC_DOMAIN: ¾Ë ¼ö ¾ø´Â ¿À·ù\n"
 
 #. TRANS You did @strong{what}?
 #: stdio-common/../sysdeps/gnu/errlist.c:596
@@ -1610,22 +1733,22 @@ msgstr ""
 #: locale/programs/charmap.c:397 locale/programs/locfile.c:341
 #, c-format
 msgid "`%1$s' definition does not end with `END %1$s'"
-msgstr ""
+msgstr "`%1%s' Á¤ÀÇ°¡ `END %1$s'·Î ³¡³ªÁö ¾Ê½À´Ï´Ù"
 
 #: locale/programs/ld-monetary.c:358 locale/programs/ld-numeric.c:190
 #, c-format
 msgid "`-1' must be last entry in `%s' field in `%s' category"
 msgstr ""
 
-#: locale/programs/ld-collate.c:1651
+#: locale/programs/ld-collate.c:1652
 msgid "`...' must only be used in `...' and `UNDEFINED' entries"
-msgstr ""
+msgstr "`...'´Â `...'¿Í `UNDEFINED' Ç׸ñ¿¡¸¸ ¾²¿©¾ß ÇÕ´Ï´Ù"
 
 #: locale/programs/locfile.c:538
 msgid "`from' expected after first argument to `collating-element'"
 msgstr ""
 
-#: locale/programs/ld-collate.c:1108
+#: locale/programs/ld-collate.c:1109
 msgid ""
 "`from' string in collation element declaration contains unknown character"
 msgstr ""
@@ -1633,24 +1756,24 @@ msgstr ""
 #: locale/programs/charmap.c:267
 #, c-format
 msgid "argument to <%s> must be a single character"
-msgstr ""
+msgstr "<%s>¿¡ ´ëÇÑ Àμö´Â ´ÜÀÏ ¹®ÀÚ¿©¾ß ÇÕ´Ï´Ù"
 
 #: locale/programs/locfile.c:215
 #, c-format
 msgid "argument to `%s' must be a single character"
-msgstr ""
+msgstr "`%s'¿¡ ´ëÇÑ Àμö´Â ´ÜÀÏ ¹®ÀÚ¿©¾ß ÇÕ´Ï´Ù"
 
 #: sunrpc/auth_unix.c:322
 msgid "auth_none.c - Fatal marshalling problem"
 msgstr ""
 
-#: inet/rcmd.c:330
+#: inet/rcmd.c:360
 msgid "bad .rhosts owner"
 msgstr "À߸øµÈ .rhosts ¼ÒÀ¯ÀÚ"
 
 #: locale/programs/charmap.c:212 locale/programs/locfile.c:209
 msgid "bad argument"
-msgstr "Àμö"
+msgstr "À߸øµÈ Àμö"
 
 #: time/zic.c:1172
 msgid "blank FROM field on Link line"
@@ -1662,7 +1785,7 @@ msgstr ""
 
 #: malloc/mcheck.c:189
 msgid "block freed twice"
-msgstr "ºí·ÏÀÌ µÎ¹ø ºñ¿öÁ³À½"
+msgstr "ºí·°ÀÌ µÎ¹ø ºñ¿öÁ³À½"
 
 #: malloc/mcheck.c:192
 msgid "bogus mcheck_status, library is buggy"
@@ -1694,16 +1817,16 @@ msgstr "ÇÁ·Î½ÃÁ® ¹øÈ£ %d¸¦ ÀçÁöÁ¤ÇÒ ¼ö ¾ø½À´Ï´Ù\n"
 msgid "cannot `stat' locale file `%s'"
 msgstr "·ÎÄÉÀÏ ÆÄÀÏ `%s'¸¦ `stat'ÇÒ ¼ö ¾ø½À´Ï´Ù"
 
-#: locale/programs/ld-collate.c:1313
+#: locale/programs/ld-collate.c:1314
 #, c-format
 msgid "cannot insert collation element `%.*s'"
 msgstr ""
 
-#: locale/programs/ld-collate.c:1492 locale/programs/ld-collate.c:1497
+#: locale/programs/ld-collate.c:1493 locale/programs/ld-collate.c:1498
 msgid "cannot insert into result table"
-msgstr ""
+msgstr "°á°úÇ¥¿¡ »ðÀÔÇÒ ¼ö ¾ø½À´Ï´Ù"
 
-#: locale/programs/ld-collate.c:1165 locale/programs/ld-collate.c:1207
+#: locale/programs/ld-collate.c:1166 locale/programs/ld-collate.c:1208
 #, c-format
 msgid "cannot insert new collating symbol definition: %s"
 msgstr ""
@@ -1733,14 +1856,14 @@ msgstr "Ãâ·Â ÆÄÀÏ `%s'¸¦ ¿­ ¼ö ¾ø½À´Ï´Ù"
 msgid "cannot open output file `%s' for category `%s'"
 msgstr "Ãâ·Â ÆÄÀÏ `%s'¸¦ ¹üÁÖ `%s'¿¡ ´ëÇØ ¿­ ¼ö ¾ø½À´Ï´Ù"
 
-#: locale/programs/ld-collate.c:1359
+#: locale/programs/ld-collate.c:1360
 msgid "cannot process order specification"
 msgstr ""
 
 #: locale/programs/locale.c:303
 #, c-format
 msgid "cannot read character map directory `%s'"
-msgstr ""
+msgstr "¹®ÀÚ Áöµµ µð·ºÅ丮 `%s'¸¦ ÀÐÀ» ¼ö ¾ø½À´Ï´Ù"
 
 #: locale/programs/locale.c:278
 #, c-format
@@ -1773,49 +1896,45 @@ msgstr ""
 
 #: locale/programs/ld-ctype.c:310
 msgid "character <SP> not defined in character map"
-msgstr ""
-
-#: locale/programs/ld-ctype.c:1141
-#, c-format
-msgid "character `%c' not defined while needed as default value"
-msgstr ""
+msgstr "¹®ÀÚ <SP>°¡ ¹®ÀÚ Áöµµ¿¡¼­ Á¤ÀǵÇÁö ¾ÊÀ½"
 
 #: locale/programs/ld-ctype.c:939 locale/programs/ld-ctype.c:1002
 #: locale/programs/ld-ctype.c:1010 locale/programs/ld-ctype.c:1018
 #: locale/programs/ld-ctype.c:1026 locale/programs/ld-ctype.c:1034
 #: locale/programs/ld-ctype.c:1042 locale/programs/ld-ctype.c:1068
 #: locale/programs/ld-ctype.c:1076 locale/programs/ld-ctype.c:1114
-#: locale/programs/ld-ctype.c:1152
+#: locale/programs/ld-ctype.c:1141 locale/programs/ld-ctype.c:1152
 #, c-format
 msgid "character `%s' not defined while needed as default value"
-msgstr ""
+msgstr "¹®ÀÚ `%s'´Â ³»Á¤Ä¡·Î ÇÊ¿äÇÏÁö¸¸ Á¤ÀǵÇÁö ¾Ê¾ÒÀ½"
 
 #: locale/programs/ld-ctype.c:801
 #, c-format
 msgid "character class `%s' already defined"
-msgstr ""
+msgstr "¹®ÀÚ Å¬·¡½º `%s'´Â ÀÌ¹Ì Á¤ÀǵǾúÀ½"
 
 #: locale/programs/ld-ctype.c:833
 #, c-format
 msgid "character map `%s' already defined"
-msgstr ""
+msgstr "¹®ÀÚ Áöµµ `%s'´Â ÀÌ¹Ì Á¤ÀǵǾúÀ½"
 
 #: locale/programs/charmap.c:76
 #, c-format
 msgid "character map file `%s' not found"
-msgstr ""
+msgstr "¹®ÀÚ Áöµµ ÆÄÀÏ `%s'¸¦ ãÁö ¸øÇßÀ½"
 
 #: sunrpc/clnt_raw.c:106
 msgid "clnt_raw.c - Fatal header serialization error."
 msgstr ""
 
-#: locale/programs/ld-collate.c:1328
+#: locale/programs/ld-collate.c:1329
 #, c-format
 msgid "collation element `%.*s' appears more than once: ignore line"
 msgstr ""
 
-#: locale/programs/ld-collate.c:1346
-msgid "collation symbol `.*s' appears more than once: ignore line"
+#: locale/programs/ld-collate.c:1347
+#, c-format
+msgid "collation symbol `%.*s' appears more than once: ignore line"
 msgstr ""
 
 #: locale/programs/locfile.c:522
@@ -1823,7 +1942,7 @@ msgstr ""
 msgid "collation symbol expected after `%s'"
 msgstr ""
 
-#: inet/rcmd.c:114
+#: inet/rcmd.c:129
 #, c-format
 msgid "connect to address %s: "
 msgstr "ÁÖ¼Ò %s¿¡ ¿¬°á: "
@@ -1832,14 +1951,6 @@ msgstr "ÁÖ¼Ò %s¿¡ ¿¬°á: "
 msgid "couldn't create an rpc server\n"
 msgstr "rpc ¼­¹ö¸¦ ¸¸µé ¼ö ¾ø½À´Ï´Ù\n"
 
-#: sunrpc/portmap.c:121
-msgid "couldn't do tcp_create\n"
-msgstr "tcp_create¸¦ ÇÒ ¼ö ¾ø½À´Ï´Ù\n"
-
-#: sunrpc/portmap.c:99
-msgid "couldn't do udp_create\n"
-msgstr "udp_create¸¦ ÇÒ ¼ö ¾ø½À´Ï´Ù\n"
-
 #: sunrpc/svc_simple.c:77
 #, c-format
 msgid "couldn't register prog %d vers %d\n"
@@ -1848,7 +1959,7 @@ msgstr "ÇÁ·Î±×·¥ %d ¹öÀü %d¸¦ µî·ÏÇÒ ¼ö ¾ø½À´Ï´Ù\n"
 #: locale/programs/charmap.c:86
 #, c-format
 msgid "default character map file `%s' not found"
-msgstr ""
+msgstr "±âº» ¹®ÀÚ Áöµµ ÆÄÀÏ `%s'¸¦ ãÁö ¸øÇßÀ½"
 
 #: locale/programs/ld-time.c:154
 #, c-format
@@ -1867,29 +1978,29 @@ msgstr ""
 #: locale/programs/charset.c:87 locale/programs/charset.c:132
 #, c-format
 msgid "duplicate character name `%s'"
-msgstr ""
+msgstr "¹®ÀÚ À̸§ `%s'ÀÌ Áߺ¹µÊ"
 
-#: locale/programs/ld-collate.c:1140
+#: locale/programs/ld-collate.c:1141
 msgid "duplicate collating element definition"
 msgstr ""
 
-#: locale/programs/ld-collate.c:1286
+#: locale/programs/ld-collate.c:1287
 #, c-format
 msgid "duplicate definition for character `%.*s'"
-msgstr ""
+msgstr "¹®ÀÚ `%.*s'¸¦ Áߺ¹ Á¤ÀÇÇÔ"
 
 #: db/makedb.c:310
 msgid "duplicate key"
-msgstr ""
+msgstr "Áߺ¹µÈ Å°"
 
 #: catgets/gencat.c:378
 msgid "duplicate set definition"
-msgstr ""
+msgstr "Áߺ¹µÈ ÁýÇÕ Á¤ÀÇ"
 
 #: time/zic.c:965
 #, c-format
 msgid "duplicate zone name %s (file \"%s\", line %d)"
-msgstr ""
+msgstr "Áߺ¹µÈ Áö¿ª¸í %s (ÆÄÀÏ \"%s\", Çà %d)"
 
 #: catgets/gencat.c:541
 msgid "duplicated message identifier"
@@ -1899,7 +2010,7 @@ msgstr "Áߺ¹µÈ ¸Þ½ÃÁö ½Äº°ÀÚ"
 msgid "duplicated message number"
 msgstr "Áߺ¹µÈ ¸Þ½ÃÁö ¹øÈ£"
 
-#: locale/programs/ld-collate.c:1695
+#: locale/programs/ld-collate.c:1696
 msgid "empty weight name: line ignored"
 msgstr ""
 
@@ -1919,17 +2030,17 @@ msgstr "enablecache: ij½¬ ÀڷḦ ÇÒ´çÇÒ ¼ö ¾ø½À´Ï´Ù"
 msgid "enablecache: could not allocate cache fifo"
 msgstr "enablecache: ij½¬ fifo¸¦ ÇÒ´çÇÒ ¼ö ¾ø½À´Ï´Ù"
 
-#: locale/programs/ld-collate.c:1418
+#: locale/programs/ld-collate.c:1419
 msgid "end point of ellipsis range is bigger then start"
 msgstr ""
 
-#: locale/programs/ld-collate.c:1148
+#: locale/programs/ld-collate.c:1149
 msgid "error while inserting collation element into hash table"
 msgstr ""
 
-#: locale/programs/ld-collate.c:1160
+#: locale/programs/ld-collate.c:1161
 msgid "error while inserting to hash table"
-msgstr ""
+msgstr "Çؽ¬ Å×ÀÌºí¿¡ »ðÀÔÇÏ´Â µµÁß ¿À·ù ¹ß»ý"
 
 #: locale/programs/locfile.c:465
 msgid "expect string argument for `copy'"
@@ -1942,7 +2053,7 @@ msgstr "¿¹»óÇß´ø ¿¬¼Ó ÇàÀ» ãÁö ¸øÇßÀ½"
 #: locale/programs/locfile.c:1010
 #, c-format
 msgid "failure while writing data for category `%s'"
-msgstr ""
+msgstr "¹üÁÖ `%s'ÀÇ ÀڷḦ ¾²´Â µ¥ ½ÇÆÐÇß½À´Ï´Ù"
 
 #: locale/programs/ld-monetary.c:154 locale/programs/ld-numeric.c:95
 #, c-format
@@ -1960,11 +2071,11 @@ msgstr ""
 
 #: locale/programs/linereader.c:328
 msgid "garbage at end of character code specification"
-msgstr ""
+msgstr "¹®ÀÚ ÄÚµå ¸í¼¼ÀÇ ³¡¿¡ ¾µ¸ð¾ø´Â °ÍÀÌ ÀÖÀ½"
 
 #: locale/programs/linereader.c:214
 msgid "garbage at end of digit"
-msgstr ""
+msgstr "¼ýÀÚÀÇ ³¡¿¡ ¾µ¸ð¾ø´Â °ÍÀÌ ÀÖÀ½"
 
 #: locale/programs/ld-time.c:183
 #, c-format
@@ -1996,11 +2107,11 @@ msgstr ""
 msgid "illegal Rolling/Stationary field on Leap line"
 msgstr ""
 
-#: locale/programs/ld-collate.c:1766
+#: locale/programs/ld-collate.c:1767
 msgid "illegal character constant in string"
 msgstr "¹®ÀÚ¿­¿¡ À߸øµÈ ¹®ÀÚ »ó¼ö°¡ ÀÖÀ½"
 
-#: locale/programs/ld-collate.c:1115
+#: locale/programs/ld-collate.c:1116
 msgid "illegal collation element"
 msgstr ""
 
@@ -2114,11 +2225,11 @@ msgstr ""
 msgid "invalid weekday name"
 msgstr "ºÎÀûÀýÇÑ ¿äÀÏ À̸§"
 
-#: locale/programs/ld-collate.c:1411
+#: locale/programs/ld-collate.c:1412
 msgid "line after ellipsis must contain character definition"
 msgstr ""
 
-#: locale/programs/ld-collate.c:1390
+#: locale/programs/ld-collate.c:1391
 msgid "line before ellipsis does not contain definition for character constant"
 msgstr ""
 
@@ -2129,7 +2240,7 @@ msgstr "ÇàÀÌ ³Ê¹« ±é´Ï´Ù"
 #: locale/programs/localedef.c:281
 #, c-format
 msgid "locale file `%s', used in `copy' statement, not found"
-msgstr ""
+msgstr "`copy' ¹®Àå¿¡¼­ ¾²ÀÌ´Â ·ÎÄÉÀÏ ÆÄÀÏ `%s'À» ãÁö ¸øÇß½À´Ï´Ù"
 
 #: catgets/gencat.c:609
 msgid "malformed line ignored"
@@ -2144,12 +2255,16 @@ msgid "memory clobbered past end of allocated block"
 msgstr ""
 
 #: locale/programs/ld-collate.c:167 locale/programs/ld-collate.c:173
-#: locale/programs/ld-collate.c:177 locale/programs/ld-collate.c:1438
-#: locale/programs/ld-collate.c:1467 locale/programs/locfile.c:940
-#: locale/programs/xmalloc.c:68 posix/getconf.c:181
+#: locale/programs/ld-collate.c:177 locale/programs/ld-collate.c:1439
+#: locale/programs/ld-collate.c:1468 locale/programs/locfile.c:940
+#: locale/programs/xmalloc.c:68 posix/getconf.c:250
 msgid "memory exhausted"
 msgstr "¸Þ¸ð¸®°¡ ¹Ù´Ú³²"
 
+#: malloc/obstack.c:425
+msgid "memory exhausted\n"
+msgstr "¸Þ¸ð¸®°¡ ¹Ù´Ú³²\n"
+
 #: malloc/mcheck.c:180
 msgid "memory is consistent, library is buggy"
 msgstr "¸Þ¸ð¸®´Â °ß°íÇÏÁö¸¸, ¶óÀ̺귯¸®´Â ¹ö±×°¡ ¸¹½À´Ï´Ù"
@@ -2213,22 +2328,10 @@ msgstr ""
 msgid "only WIDTH definitions are allowed to follow the CHARMAP definition"
 msgstr ""
 
-#: sunrpc/portmap.c:451
-msgid "portmap CALLIT: cannot fork.\n"
-msgstr ""
-
-#: sunrpc/portmap.c:94 sunrpc/portmap.c:116
-msgid "portmap cannot bind"
-msgstr ""
-
-#: sunrpc/portmap.c:86 sunrpc/portmap.c:112
-msgid "portmap cannot create socket"
-msgstr "Æ÷Æ®¸ÊÀÌ ¼ÒÄÏÀ» ¸¸µé ¼ö ¾ø½À´Ï´Ù"
-
 #: db/makedb.c:326
 #, c-format
 msgid "problems while reading `%s'"
-msgstr ""
+msgstr "`%s'¸¦ Àд µ¿¾È ¹®Á¦°¡ ¹ß»ýÇßÀ½"
 
 #: sunrpc/rpcinfo.c:222 sunrpc/rpcinfo.c:350
 #, c-format
@@ -2246,19 +2349,19 @@ msgstr "ÇÁ·Î±×·¥ %lu ¹öÀü %lu´Â »ç¿ë ºÒ°¡´ÉÇÕ´Ï´Ù\n"
 msgid "program %lu version %lu ready and waiting\n"
 msgstr "ÇÁ·Î±×·¥ %lu ¹öÀü %lu´Â ÁغñµÇ¾î ±â´Ù¸®°í ÀÖ½À´Ï´Ù\n"
 
-#: inet/rcmd.c:157
+#: inet/rcmd.c:171
 #, c-format
-msgid "rcmd: select (setting up stderr): %s\n"
-msgstr "rcmd: ¼±Åà (Ç¥ÁØ¿À·ù ¼³Á¤): %s\n"
+msgid "rcmd: select (setting up stderr): %m\n"
+msgstr "rcmd: ¼±Åà (Ç¥ÁØ¿À·ù ¼³Á¤): %m\n"
 
-#: inet/rcmd.c:87
+#: inet/rcmd.c:103
 msgid "rcmd: socket: All ports in use\n"
 msgstr "rcmd: socket: ¸ðµç Æ÷Æ®°¡ »ç¿ëÁß\n"
 
-#: inet/rcmd.c:144
+#: inet/rcmd.c:159
 #, c-format
-msgid "rcmd: write (setting up stderr): %s\n"
-msgstr "rcmd: ¾²±â (Ç¥ÁØ¿À·ù ¼³Á¤): %s\n"
+msgid "rcmd: write (setting up stderr): %m\n"
+msgstr "rcmd: ¾²±â (Ç¥ÁØ¿À·ù ¼³Á¤): %m\n"
 
 #: sunrpc/svc_simple.c:83
 msgid "registerrpc: out of memory\n"
@@ -2296,19 +2399,15 @@ msgstr "rpcinfo: Æ÷Æ®¸ÅÆÛ¿¡ ¿¬°áÇÒ ¼ö ¾ø½À´Ï´Ù"
 msgid "rpcinfo: can't contact portmapper: "
 msgstr "rpcinfo: Æ÷Æ®¸ÅÆÛ¿¡ ¿¬°áÇÒ ¼ö ¾ø½À´Ï´Ù: "
 
-#: sunrpc/portmap.c:137
-msgid "run_svc returned unexpectedly\n"
-msgstr ""
-
 #: time/zic.c:708 time/zic.c:710
 msgid "same rule name in multiple files"
 msgstr ""
 
-#: inet/rcmd.c:161
+#: inet/rcmd.c:174
 msgid "select: protocol failure in circuit setup\n"
 msgstr "select: ȸ·Î ¼³Á¤Áß ±Ô¾àÀÌ ºÒÀÌÇàµÊ\n"
 
-#: inet/rcmd.c:179
+#: inet/rcmd.c:192
 msgid "socket: protocol failure in circuit setup\n"
 msgstr "socket: ȸ·Î ¼³Á¤Áß ±Ô¾àÀÌ ºÒÀÌÇàµÊ\n"
 
@@ -2316,7 +2415,7 @@ msgstr "socket: ȸ·Î ¼³Á¤Áß ±Ô¾àÀÌ ºÒÀÌÇàµÊ\n"
 msgid "sorting order `forward' and `backward' are mutually exclusive"
 msgstr "Á¤·Ä ¼ø¼­ `forward'¿Í `backward'´Â ¼­·Î ¹èŸÀûÀÔ´Ï´Ù"
 
-#: locale/programs/ld-collate.c:1567 locale/programs/ld-collate.c:1613
+#: locale/programs/ld-collate.c:1568 locale/programs/ld-collate.c:1614
 msgid ""
 "specification of sorting weight for collation symbol does not make sense"
 msgstr ""
@@ -2367,35 +2466,35 @@ msgstr "svcudp_create - getsockname ºÒ°¡´É"
 msgid "svcudp_create: socket creation problem"
 msgstr "svcudp_create: ¼ÒÄÏ »ý¼º ¹®Á¦"
 
-#: locale/programs/ld-collate.c:1190
+#: locale/programs/ld-collate.c:1191
 #, c-format
 msgid ""
 "symbol for multicharacter collating element `%.*s' duplicates element "
 "definition"
 msgstr ""
 
-#: locale/programs/ld-collate.c:1063
+#: locale/programs/ld-collate.c:1064
 #, c-format
 msgid ""
 "symbol for multicharacter collating element `%.*s' duplicates other element "
 "definition"
 msgstr ""
 
-#: locale/programs/ld-collate.c:1199
+#: locale/programs/ld-collate.c:1200
 #, c-format
 msgid ""
 "symbol for multicharacter collating element `%.*s' duplicates other symbol "
 "definition"
 msgstr ""
 
-#: locale/programs/ld-collate.c:1072
+#: locale/programs/ld-collate.c:1073
 #, c-format
 msgid ""
 "symbol for multicharacter collating element `%.*s' duplicates symbol "
 "definition"
 msgstr ""
 
-#: locale/programs/ld-collate.c:1054 locale/programs/ld-collate.c:1181
+#: locale/programs/ld-collate.c:1055 locale/programs/ld-collate.c:1182
 #, c-format
 msgid ""
 "symbol for multicharacter collating element `%.*s' duplicates symbolic name "
@@ -2408,7 +2507,7 @@ msgstr ""
 #: locale/programs/charmap.c:576
 #, c-format
 msgid "syntax error in %s definition: %s"
-msgstr ""
+msgstr "%s Á¤ÀǺο¡ ¹®¹ý ¿À·ù ÀÖÀ½: %s"
 
 #: locale/programs/locfile.c:620
 msgid "syntax error in `order_start' directive"
@@ -2432,7 +2531,7 @@ msgstr ""
 
 #: locale/programs/locfile.c:335
 msgid "syntax error in definition of LC_CTYPE category"
-msgstr ""
+msgstr "LC_CTYPE ¹üÁÖÀÇ Á¤ÀǺο¡ ¹®¹ý ¿À·ù ÀÖÀ½"
 
 #: locale/programs/locfile.c:278
 msgid "syntax error in definition of new character class"
@@ -2440,19 +2539,19 @@ msgstr ""
 
 #: locale/programs/locfile.c:288
 msgid "syntax error in definition of new character map"
-msgstr ""
+msgstr "»õ·Î¿î ¹®ÀÚ Áöµµ Á¤ÀǺο¡ ¹®¹ý ¿À·ù ÀÖÀ½"
 
 #: locale/programs/locfile.c:873
 msgid "syntax error in message locale definition"
-msgstr ""
+msgstr "¸Þ½ÃÁö ·ÎÄÉÀÏ Á¤ÀǺο¡ ¹®¹ý ¿À·ù ÀÖÀ½"
 
 #: locale/programs/locfile.c:784
 msgid "syntax error in monetary locale definition"
-msgstr ""
+msgstr "È­Æó ·ÎÄÉÀÏ Á¤ÀǺο¡ ¹®¹ý ¿À·ù ÀÖÀ½"
 
 #: locale/programs/locfile.c:811
 msgid "syntax error in numeric locale definition"
-msgstr ""
+msgstr "¼ýÀÚ ·ÎÄÉÀÏ Á¤ÀǺο¡ ¹®¹ý ¿À·ù ÀÖÀ½"
 
 #: locale/programs/locfile.c:722
 msgid "syntax error in order specification"
@@ -2465,7 +2564,7 @@ msgstr ""
 
 #: locale/programs/locfile.c:849
 msgid "syntax error in time locale definition"
-msgstr ""
+msgstr "½Ã°£ ·ÎÄÉÀÏ Á¤ÀǺο¡ ¹®¹ý ¿À·ù ÀÖÀ½"
 
 #: locale/programs/locfile.c:255
 msgid "syntax error: not inside a locale definition section"
@@ -2507,7 +2606,7 @@ msgstr "Áö¿ª½ÃÀÇ Á¾·ù°¡ ³Ê¹« ¸¹À½"
 msgid "too many transitions?!"
 msgstr ""
 
-#: locale/programs/ld-collate.c:1622
+#: locale/programs/ld-collate.c:1623
 msgid "too many weights"
 msgstr ""
 
@@ -2524,7 +2623,7 @@ msgstr ""
 msgid "trouble replying to prog %d\n"
 msgstr "ÇÁ·Î±×·¥ %d¿¡ ÀÀ´äÇÏ´Â µ¥ ¹®Á¦°¡ ÀÖÀ½\n"
 
-#: locale/programs/ld-collate.c:1382
+#: locale/programs/ld-collate.c:1383
 msgid "two lines in a row containing `...' are not allowed"
 msgstr ""
 
@@ -2532,6 +2631,10 @@ msgstr ""
 msgid "typed single year"
 msgstr ""
 
+#: posix/getconf.c:239
+msgid "undefined"
+msgstr "Á¤ÀǵÇÁö ¾ÊÀ½"
+
 #: locale/programs/charmap.c:617 locale/programs/charmap.c:628
 #, c-format
 msgid "unknown character `%s'"
@@ -2561,8 +2664,8 @@ msgstr "¾Ë ¼ö ¾ø´Â ¼³Á¤ `%s'"
 msgid "unknown signal"
 msgstr "¾Ë ¼ö ¾ø´Â ½ÅÈ£"
 
-#: locale/programs/ld-collate.c:1366 locale/programs/ld-collate.c:1557
-#: locale/programs/ld-collate.c:1731
+#: locale/programs/ld-collate.c:1367 locale/programs/ld-collate.c:1558
+#: locale/programs/ld-collate.c:1732
 #, c-format
 msgid "unknown symbol `%.*s': line ignored"
 msgstr "¾Ë ¼ö ¾ø´Â ±âÈ£ `%.*s': Çà ¹«½ÃµÊ"
@@ -2583,13 +2686,13 @@ msgstr "Á¾·áµÇÁö ¾ÊÀº ¹®ÀÚ¿­"
 msgid "unterminated symbolic name"
 msgstr "Á¾·áµÇÁö ¾ÊÀº ±âÈ£ À̸§"
 
-#: locale/programs/ld-collate.c:1684
+#: locale/programs/ld-collate.c:1685
 msgid "unterminated weight name"
 msgstr ""
 
 #: locale/programs/charset.c:119
 msgid "upper limit in range is not smaller then lower limit"
-msgstr ""
+msgstr "¹üÀ§ÀÇ »óÇÑÀº ÇÏÇѺ¸´Ù ÀÛÁö ¾Ê¾Æ¾ß ÇÕ´Ï´Ù"
 
 #: time/zic.c:2025
 msgid "use of 2/29 in non leap-year"
@@ -2635,7 +2738,7 @@ msgstr ""
 msgid "values for field `%s' in category `%s' must not be zero"
 msgstr ""
 
-#: login/setutent_r.c:47
+#: login/utmp_file.c:84
 msgid "while opening UTMP file"
 msgstr "UTMP ÆÄÀÏÀ» ¿©´Â µ¿¾È"
 
@@ -2674,3 +2777,15 @@ msgstr ""
 #: time/zic.c:939
 msgid "wrong number of fields on Zone line"
 msgstr ""
+
+#: nis/ypclnt.c:570
+msgid "yp_all: clnttcp_create failed"
+msgstr "yp_all: clnttcp_create ½ÇÆÐ"
+
+#: nis/ypclnt.c:772
+msgid "yp_update: cannot convert host to netname\n"
+msgstr ""
+
+#: nis/ypclnt.c:784
+msgid "yp_update: cannot get server address\n"
+msgstr "yp_update: ¼­¹ö ÁÖ¼Ò¸¦ ¾òÀ» ¼ö ¾ø½À´Ï´Ù\n"
diff --git a/po/libc.pot b/po/libc.pot
index 9beb28b620..91d7d425d8 100644
--- a/po/libc.pot
+++ b/po/libc.pot
@@ -5,8 +5,8 @@
 #, fuzzy
 msgid ""
 msgstr ""
-"Project-Id-Version: libc 1.98\n"
-"POT-Creation-Date: 1996-12-03 13:50+0100\n"
+"Project-Id-Version: libc 1.100\n"
+"POT-Creation-Date: 1997-01-06 15:00+0100\n"
 "PO-Revision-Date: YEAR-MO-DA HO:MI+DIST\n"
 "Last-Translator: FULL NAME <EMAIL@ADDRESS>\n"
 "Language-Team: LANGUAGE <LL@li.org>\n"
@@ -34,31 +34,31 @@ msgstr ""
 msgid "   program vers proto   port\n"
 msgstr ""
 
-#: time/zic.c:424
+#: time/zic.c:425
 #, c-format
 msgid " (rule from \"%s\", line %d)"
 msgstr ""
 
-#: locale/programs/ld-collate.c:360 locale/programs/ld-ctype.c:1234
+#: locale/programs/ld-collate.c:360 locale/programs/ld-ctype.c:1235
 msgid " done\n"
 msgstr ""
 
-#: time/zic.c:421
+#: time/zic.c:422
 #, c-format
 msgid "\"%s\", line %d: %s"
 msgstr ""
 
-#: time/zic.c:945
+#: time/zic.c:949
 #, c-format
 msgid "\"Zone %s\" line and -l option are mutually exclusive"
 msgstr ""
 
-#: time/zic.c:953
+#: time/zic.c:957
 #, c-format
 msgid "\"Zone %s\" line and -p option are mutually exclusive"
 msgstr ""
 
-#: time/zic.c:758
+#: time/zic.c:760
 #, c-format
 msgid "%s in ruleless zone"
 msgstr ""
@@ -78,7 +78,7 @@ msgstr ""
 msgid "%s%sUnknown signal %d\n"
 msgstr ""
 
-#: time/zic.c:2139
+#: time/zic.c:2155
 #, c-format
 msgid "%s: %d did not sign extend correctly\n"
 msgstr ""
@@ -88,37 +88,42 @@ msgstr ""
 msgid "%s: <mb_cur_max> must be greater than <mb_cur_min>\n"
 msgstr ""
 
-#: time/zic.c:1430
+#: time/zic.c:1445
 #, c-format
 msgid "%s: Can't create %s: %s\n"
 msgstr ""
 
-#: time/zic.c:2118
+#: time/zic.c:2134
 #, c-format
 msgid "%s: Can't create directory %s: %s\n"
 msgstr ""
 
-#: time/zic.c:612
+#: time/zic.c:614
 #, c-format
 msgid "%s: Can't link from %s to %s: %s\n"
 msgstr ""
 
-#: time/zic.c:783
+#: time/zic.c:786
 #, c-format
 msgid "%s: Can't open %s: %s\n"
 msgstr ""
 
-#: time/zic.c:851
+#: time/zic.c:1435
+#, c-format
+msgid "%s: Can't remove %s: %s\n"
+msgstr ""
+
+#: time/zic.c:855
 #, c-format
 msgid "%s: Error closing %s: %s\n"
 msgstr ""
 
-#: time/zic.c:845
+#: time/zic.c:848
 #, c-format
 msgid "%s: Error reading %s\n"
 msgstr ""
 
-#: time/zic.c:1494
+#: time/zic.c:1509
 #, c-format
 msgid "%s: Error writing %s\n"
 msgstr ""
@@ -128,42 +133,42 @@ msgstr ""
 msgid "%s: Error writing standard output "
 msgstr ""
 
-#: time/zic.c:830
+#: time/zic.c:833
 #, c-format
 msgid "%s: Leap line in non leap seconds file %s\n"
 msgstr ""
 
-#: time/zic.c:362
+#: time/zic.c:363
 #, c-format
 msgid "%s: Memory exhausted: %s\n"
 msgstr ""
 
-#: time/zic.c:527
+#: time/zic.c:528
 #, c-format
 msgid "%s: More than one -L option specified\n"
 msgstr ""
 
-#: time/zic.c:487
+#: time/zic.c:488
 #, c-format
 msgid "%s: More than one -d option specified\n"
 msgstr ""
 
-#: time/zic.c:497
+#: time/zic.c:498
 #, c-format
 msgid "%s: More than one -l option specified\n"
 msgstr ""
 
-#: time/zic.c:507
+#: time/zic.c:508
 #, c-format
 msgid "%s: More than one -p option specified\n"
 msgstr ""
 
-#: time/zic.c:517
+#: time/zic.c:518
 #, c-format
 msgid "%s: More than one -y option specified\n"
 msgstr ""
 
-#: time/zic.c:1845
+#: time/zic.c:1860
 #, c-format
 msgid "%s: command was '%s', result was %d\n"
 msgstr ""
@@ -173,52 +178,52 @@ msgstr ""
 msgid "%s: error in state machine"
 msgstr ""
 
-#: posix/getopt.c:687
+#: posix/getopt.c:743
 #, c-format
 msgid "%s: illegal option -- %c\n"
 msgstr ""
 
-#: posix/getopt.c:690
+#: posix/getopt.c:746
 #, c-format
 msgid "%s: invalid option -- %c\n"
 msgstr ""
 
-#: posix/getopt.c:611
+#: posix/getopt.c:667
 #, c-format
 msgid "%s: option `%c%s' doesn't allow an argument\n"
 msgstr ""
 
-#: posix/getopt.c:582
+#: posix/getopt.c:638
 #, c-format
 msgid "%s: option `%s' is ambiguous\n"
 msgstr ""
 
-#: posix/getopt.c:628 posix/getopt.c:801
+#: posix/getopt.c:684 posix/getopt.c:858
 #, c-format
 msgid "%s: option `%s' requires an argument\n"
 msgstr ""
 
-#: posix/getopt.c:606
+#: posix/getopt.c:662
 #, c-format
 msgid "%s: option `--%s' doesn't allow an argument\n"
 msgstr ""
 
-#: posix/getopt.c:786
+#: posix/getopt.c:843
 #, c-format
 msgid "%s: option `-W %s' doesn't allow an argument\n"
 msgstr ""
 
-#: posix/getopt.c:767
+#: posix/getopt.c:824
 #, c-format
 msgid "%s: option `-W %s' is ambiguous\n"
 msgstr ""
 
-#: posix/getopt.c:721 posix/getopt.c:850
+#: posix/getopt.c:777 posix/getopt.c:907
 #, c-format
 msgid "%s: option requires an argument -- %c\n"
 msgstr ""
 
-#: time/zic.c:837 time/zic.c:1248 time/zic.c:1268
+#: time/zic.c:840 time/zic.c:1252 time/zic.c:1272
 #, c-format
 msgid "%s: panic: Invalid l_value %d\n"
 msgstr ""
@@ -228,17 +233,17 @@ msgstr ""
 msgid "%s: premature end of file"
 msgstr ""
 
-#: posix/getopt.c:661
+#: posix/getopt.c:717
 #, c-format
 msgid "%s: unrecognized option `%c%s'\n"
 msgstr ""
 
-#: posix/getopt.c:657
+#: posix/getopt.c:713
 #, c-format
 msgid "%s: unrecognized option `--%s'\n"
 msgstr ""
 
-#: time/zic.c:446
+#: time/zic.c:447
 #, c-format
 msgid ""
 "%s: usage is %s [ -s ] [ -v ] [ -l localtime ] [ -p posixrules ] [ -d "
@@ -260,7 +265,7 @@ msgstr ""
 msgid "(unknown)"
 msgstr ""
 
-#: catgets/gencat.c:253
+#: catgets/gencat.c:254
 msgid "*standard input*"
 msgstr ""
 
@@ -268,19 +273,19 @@ msgstr ""
 msgid ".lib section in a.out corrupted"
 msgstr ""
 
-#: inet/rcmd.c:358
+#: inet/rcmd.c:359
 msgid ".rhosts fstat failed"
 msgstr ""
 
-#: inet/rcmd.c:354
+#: inet/rcmd.c:355
 msgid ".rhosts lstat failed"
 msgstr ""
 
-#: inet/rcmd.c:356
+#: inet/rcmd.c:357
 msgid ".rhosts not regular file"
 msgstr ""
 
-#: inet/rcmd.c:362
+#: inet/rcmd.c:363
 msgid ".rhosts writeable by other than owner"
 msgstr ""
 
@@ -310,6 +315,10 @@ msgstr ""
 msgid "?"
 msgstr ""
 
+#: sysdeps/unix/sysv/linux/siglist.h:27
+msgid "Aborted"
+msgstr ""
+
 #: stdio-common/../sysdeps/gnu/errlist.c:762
 msgid "Accessing a corrupted shared library"
 msgstr ""
@@ -329,6 +338,8 @@ msgstr ""
 msgid "Advertise error"
 msgstr ""
 
+#: stdio-common/../sysdeps/unix/siglist.c:43
+#: sysdeps/unix/sysv/linux/siglist.h:33
 msgid "Alarm clock"
 msgstr ""
 
@@ -374,6 +385,11 @@ msgstr ""
 msgid "Bad message"
 msgstr ""
 
+#: stdio-common/../sysdeps/unix/siglist.c:41
+#: sysdeps/unix/sysv/linux/siglist.h:56
+msgid "Bad system call"
+msgstr ""
+
 #. TRANS A file that isn't a block special file was given in a situation that
 #. TRANS requires one.  For example, trying to mount an ordinary file as a file
 #. TRANS system in Unix gives this error.
@@ -391,12 +407,17 @@ msgstr ""
 #. TRANS or blocked.  Thus, your program will never actually see @code{EPIPE}
 #. TRANS unless it has handled or blocked @code{SIGPIPE}.
 #: stdio-common/../sysdeps/gnu/errlist.c:222
+#: stdio-common/../sysdeps/unix/siglist.c:42
+#: sysdeps/unix/sysv/linux/siglist.h:32
 msgid "Broken pipe"
 msgstr ""
 
+#: stdio-common/../sysdeps/unix/siglist.c:39
+#: sysdeps/unix/sysv/linux/siglist.h:30
 msgid "Bus error"
 msgstr ""
 
+#: sysdeps/unix/sysv/linux/siglist.h:43
 msgid "CPU time limit exceeded"
 msgstr ""
 
@@ -404,19 +425,19 @@ msgstr ""
 msgid "Can not access a needed shared library"
 msgstr ""
 
-#: nis/ypclnt.c:637
+#: nis/ypclnt.c:694
 msgid "Can't bind to server which serves this domain"
 msgstr ""
 
-#: nis/ypclnt.c:649
+#: nis/ypclnt.c:706
 msgid "Can't communicate with portmapper"
 msgstr ""
 
-#: nis/ypclnt.c:651
+#: nis/ypclnt.c:708
 msgid "Can't communicate with ypbind"
 msgstr ""
 
-#: nis/ypclnt.c:653
+#: nis/ypclnt.c:710
 msgid "Can't communicate with ypserv"
 msgstr ""
 
@@ -466,6 +487,8 @@ msgstr ""
 msgid "Channel number out of range"
 msgstr ""
 
+#: stdio-common/../sysdeps/unix/siglist.c:49
+#: sysdeps/unix/sysv/linux/siglist.h:39
 msgid "Child exited"
 msgstr ""
 
@@ -482,7 +505,7 @@ msgstr ""
 msgid "Computer bought the farm"
 msgstr ""
 
-#: locale/programs/ld-ctype.c:1197
+#: locale/programs/ld-ctype.c:1198
 msgid "Computing table size for character classes might take a while..."
 msgstr ""
 
@@ -509,6 +532,8 @@ msgstr ""
 msgid "Connection timed out"
 msgstr ""
 
+#: stdio-common/../sysdeps/unix/siglist.c:48
+#: sysdeps/unix/sysv/linux/siglist.h:38
 msgid "Continued"
 msgstr ""
 
@@ -521,7 +546,11 @@ msgid ""
 "warranty; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.\n"
 msgstr ""
 
-#: nis/ypclnt.c:663
+#: stdio-common/../sysdeps/unix/siglist.c:53
+msgid "Cputime limit exceeded"
+msgstr ""
+
+#: nis/ypclnt.c:720
 msgid "Database is busy"
 msgstr ""
 
@@ -563,10 +592,15 @@ msgstr ""
 msgid "Disc quota exceeded"
 msgstr ""
 
-#: nis/ypclnt.c:709
+#: nis/ypclnt.c:766
 msgid "Domain not bound"
 msgstr ""
 
+#: stdio-common/../sysdeps/unix/siglist.c:36
+#: sysdeps/unix/sysv/linux/siglist.h:53
+msgid "EMT trap"
+msgstr ""
+
 #: sunrpc/clnt_perr.c:254
 #, c-format
 msgid "Error %d"
@@ -619,6 +653,7 @@ msgstr ""
 msgid "File name too long"
 msgstr ""
 
+#: sysdeps/unix/sysv/linux/siglist.h:44
 msgid "File size limit exceeded"
 msgstr ""
 
@@ -627,6 +662,12 @@ msgstr ""
 msgid "File too large"
 msgstr ""
 
+#: stdio-common/../sysdeps/unix/siglist.c:54
+msgid "Filesize limit exceeded"
+msgstr ""
+
+#: stdio-common/../sysdeps/unix/siglist.c:37
+#: sysdeps/unix/sysv/linux/siglist.h:28
 msgid "Floating point exception"
 msgstr ""
 
@@ -642,6 +683,8 @@ msgstr ""
 msgid "Gratuitous error"
 msgstr ""
 
+#: stdio-common/../sysdeps/unix/siglist.c:30
+#: sysdeps/unix/sysv/linux/siglist.h:22
 msgid "Hangup"
 msgstr ""
 
@@ -654,9 +697,12 @@ msgstr ""
 msgid "Host name lookup failure"
 msgstr ""
 
+#: stdio-common/../sysdeps/unix/siglist.c:52
+#: sysdeps/unix/sysv/linux/siglist.h:42
 msgid "I/O possible"
 msgstr ""
 
+#: stdio-common/../sysdeps/unix/siglist.c:35
 msgid "IOT trap"
 msgstr ""
 
@@ -664,9 +710,14 @@ msgstr ""
 msgid "Identifier removed"
 msgstr ""
 
+#: sysdeps/unix/sysv/linux/siglist.h:25
 msgid "Illegal Instruction"
 msgstr ""
 
+#: stdio-common/../sysdeps/unix/siglist.c:33
+msgid "Illegal instruction"
+msgstr ""
+
 #. TRANS Invalid seek operation (such as on a pipe).
 #: stdio-common/../sysdeps/gnu/errlist.c:201
 msgid "Illegal seek"
@@ -697,23 +748,29 @@ msgstr ""
 msgid "Inappropriate operation for background process"
 msgstr ""
 
+#: sysdeps/unix/sysv/linux/siglist.h:62
+msgid "Information request"
+msgstr ""
+
 #. TRANS Input/output error; usually used for physical read or write errors.
 #: stdio-common/../sysdeps/gnu/errlist.c:40
 msgid "Input/output error"
 msgstr ""
 
-#: nis/ypclnt.c:643
+#: nis/ypclnt.c:700
 msgid "Internal NIS error"
 msgstr ""
 
-#: nis/ypclnt.c:707
+#: nis/ypclnt.c:764
 msgid "Internal ypbind error"
 msgstr ""
 
+#: stdio-common/../sysdeps/unix/siglist.c:31
+#: sysdeps/unix/sysv/linux/siglist.h:23
 msgid "Interrupt"
 msgstr ""
 
-#. TRANS Interrupted function call; an asynchronous signal occured and prevented
+#. TRANS Interrupted function call; an asynchronous signal occurred and prevented
 #. TRANS completion of the call.  When this happens, you should try the call
 #. TRANS again.
 #. TRANS
@@ -813,6 +870,8 @@ msgstr ""
 msgid "Is a named type file"
 msgstr ""
 
+#: stdio-common/../sysdeps/unix/siglist.c:38
+#: sysdeps/unix/sysv/linux/siglist.h:29
 msgid "Killed"
 msgstr ""
 
@@ -840,11 +899,11 @@ msgstr ""
 msgid "Link number out of range"
 msgstr ""
 
-#: nis/ypclnt.c:655
+#: nis/ypclnt.c:712
 msgid "Local domain name not set"
 msgstr ""
 
-#: nis/ypclnt.c:645
+#: nis/ypclnt.c:702
 msgid "Local resource allocation failure"
 msgstr ""
 
@@ -866,11 +925,11 @@ msgstr ""
 msgid "Multihop attempted"
 msgstr ""
 
-#: nis/ypclnt.c:659
+#: nis/ypclnt.c:716
 msgid "NIS client/server version mismatch - can't supply service"
 msgstr ""
 
-#: nis/ypclnt.c:657
+#: nis/ypclnt.c:714
 msgid "NIS map data base is bad"
 msgstr ""
 
@@ -949,7 +1008,7 @@ msgstr ""
 msgid "No message of desired type"
 msgstr ""
 
-#: nis/ypclnt.c:647
+#: nis/ypclnt.c:704
 msgid "No more records in map database"
 msgstr ""
 
@@ -979,11 +1038,11 @@ msgstr ""
 msgid "No such file or directory"
 msgstr ""
 
-#: nis/ypclnt.c:641
+#: nis/ypclnt.c:698
 msgid "No such key in map"
 msgstr ""
 
-#: nis/ypclnt.c:639
+#: nis/ypclnt.c:696
 msgid "No such map in server's domain"
 msgstr ""
 
@@ -1021,7 +1080,7 @@ msgstr ""
 msgid "Object is remote"
 msgstr ""
 
-#: time/zic.c:1939
+#: time/zic.c:1954
 msgid "Odd number of quotation marks"
 msgstr ""
 
@@ -1083,10 +1142,11 @@ msgid "Package not installed"
 msgstr ""
 
 #. TRANS Permission denied; the file permissions do not allow the attempted operation.
-#: nis/ypclnt.c:661 stdio-common/../sysdeps/gnu/errlist.c:96
+#: nis/ypclnt.c:718 stdio-common/../sysdeps/gnu/errlist.c:96
 msgid "Permission denied"
 msgstr ""
 
+#: sysdeps/unix/sysv/linux/siglist.h:64
 msgid "Power failure"
 msgstr ""
 
@@ -1094,6 +1154,8 @@ msgstr ""
 msgid "Premature end of regular expression"
 msgstr ""
 
+#: stdio-common/../sysdeps/unix/siglist.c:56
+#: sysdeps/unix/sysv/linux/siglist.h:46
 msgid "Profiling timer expired"
 msgstr ""
 
@@ -1128,6 +1190,8 @@ msgstr ""
 msgid "Protocol wrong type for socket"
 msgstr ""
 
+#: stdio-common/../sysdeps/unix/siglist.c:32
+#: sysdeps/unix/sysv/linux/siglist.h:24
 msgid "Quit"
 msgstr ""
 
@@ -1140,7 +1204,7 @@ msgstr ""
 msgid "RPC bad procedure for program"
 msgstr ""
 
-#: nis/ypclnt.c:635
+#: nis/ypclnt.c:692
 msgid "RPC failure on NIS operation"
 msgstr ""
 
@@ -1267,10 +1331,10 @@ msgstr ""
 
 #: catgets/gencat.c:224 db/makedb.c:227 locale/programs/locale.c:257
 #: locale/programs/localedef.c:408
-msgid "Report bugs to <bug-glibc@prep.ai.mit.edu>.\n"
+msgid "Report bugs using the `glibcbug' script to <bugs@gnu.ai.mit.edu>.\n"
 msgstr ""
 
-#: nis/ypclnt.c:633
+#: nis/ypclnt.c:690
 msgid "Request arguments bad"
 msgstr ""
 
@@ -1290,6 +1354,10 @@ msgstr ""
 msgid "Resource deadlock avoided"
 msgstr ""
 
+#: stdio-common/../sysdeps/unix/siglist.c:58
+msgid "Resource lost"
+msgstr ""
+
 #. TRANS Resource temporarily unavailable; the call might work if you try again
 #. TRANS later.  The macro @code{EWOULDBLOCK} is another name for @code{EAGAIN};
 #. TRANS they are always the same in the GNU C library.
@@ -1323,6 +1391,8 @@ msgstr ""
 msgid "Resource temporarily unavailable"
 msgstr ""
 
+#: stdio-common/../sysdeps/unix/siglist.c:40
+#: sysdeps/unix/sysv/linux/siglist.h:31
 msgid "Segmentation fault"
 msgstr ""
 
@@ -1334,6 +1404,10 @@ msgstr ""
 msgid "Server rejected verifier"
 msgstr ""
 
+#: stdio-common/../sysdeps/unix/siglist.c:29
+msgid "Signal 0"
+msgstr ""
+
 #. TRANS A file that isn't a socket was specified when a socket is required.
 #: stdio-common/../sysdeps/gnu/errlist.c:299
 msgid "Socket operation on non-socket"
@@ -1353,6 +1427,10 @@ msgstr ""
 msgid "Srmount error"
 msgstr ""
 
+#: sysdeps/unix/sysv/linux/siglist.h:59
+msgid "Stack fault"
+msgstr ""
+
 #. TRANS Stale NFS file handle.  This indicates an internal confusion in the NFS
 #. TRANS system which is due to file system rearrangements on the server host.
 #. TRANS Repairing this condition usually requires unmounting and remounting
@@ -1361,15 +1439,23 @@ msgstr ""
 msgid "Stale NFS file handle"
 msgstr ""
 
+#: stdio-common/../sysdeps/unix/siglist.c:47
+#: sysdeps/unix/sysv/linux/siglist.h:37
 msgid "Stopped"
 msgstr ""
 
+#: stdio-common/../sysdeps/unix/siglist.c:46
+#: sysdeps/unix/sysv/linux/siglist.h:36
 msgid "Stopped (signal)"
 msgstr ""
 
+#: stdio-common/../sysdeps/unix/siglist.c:50
+#: sysdeps/unix/sysv/linux/siglist.h:40
 msgid "Stopped (tty input)"
 msgstr ""
 
+#: stdio-common/../sysdeps/unix/siglist.c:51
+#: sysdeps/unix/sysv/linux/siglist.h:41
 msgid "Stopped (tty output)"
 msgstr ""
 
@@ -1381,15 +1467,17 @@ msgstr ""
 msgid "Structure needs cleaning"
 msgstr ""
 
-#: nis/ypclnt.c:631 nis/ypclnt.c:705 posix/regex.c:940
+#: nis/ypclnt.c:688 nis/ypclnt.c:762 posix/regex.c:940
 #: stdio-common/../sysdeps/gnu/errlist.c:7
 msgid "Success"
 msgstr ""
 
-#: nis/ypclnt.c:711
+#: nis/ypclnt.c:768
 msgid "System resource allocation failure"
 msgstr ""
 
+#: stdio-common/../sysdeps/unix/siglist.c:44
+#: sysdeps/unix/sysv/linux/siglist.h:34
 msgid "Terminated"
 msgstr ""
 
@@ -1455,6 +1543,11 @@ msgstr ""
 msgid "Too many users"
 msgstr ""
 
+#: stdio-common/../sysdeps/unix/siglist.c:34
+msgid "Trace/BPT trap"
+msgstr ""
+
+#: sysdeps/unix/sysv/linux/siglist.h:26
 msgid "Trace/breakpoint trap"
 msgstr ""
 
@@ -1489,7 +1582,7 @@ msgstr ""
 msgid "Try `%s --help' for more information.\n"
 msgstr ""
 
-#: inet/rcmd.c:136
+#: inet/rcmd.c:137
 #, c-format
 msgid "Trying %s...\n"
 msgstr ""
@@ -1499,7 +1592,7 @@ msgstr ""
 msgid "Unknown .netrc keyword %s"
 msgstr ""
 
-#: nis/ypclnt.c:665
+#: nis/ypclnt.c:722
 msgid "Unknown NIS error code"
 msgstr ""
 
@@ -1529,7 +1622,7 @@ msgstr ""
 msgid "Unknown system error"
 msgstr ""
 
-#: nis/ypclnt.c:713
+#: nis/ypclnt.c:770
 msgid "Unknown ypbind error"
 msgstr ""
 
@@ -1554,6 +1647,8 @@ msgstr ""
 msgid "Unrecognized variable `%s'"
 msgstr ""
 
+#: stdio-common/../sysdeps/unix/siglist.c:45
+#: sysdeps/unix/sysv/linux/siglist.h:35
 msgid "Urgent I/O condition"
 msgstr ""
 
@@ -1631,9 +1726,13 @@ msgstr ""
 msgid "Usage: rpcinfo [ -n portnum ] -u host prognum [ versnum ]\n"
 msgstr ""
 
+#: stdio-common/../sysdeps/unix/siglist.c:59
+#: sysdeps/unix/sysv/linux/siglist.h:48
 msgid "User defined signal 1"
 msgstr ""
 
+#: stdio-common/../sysdeps/unix/siglist.c:60
+#: sysdeps/unix/sysv/linux/siglist.h:49
 msgid "User defined signal 2"
 msgstr ""
 
@@ -1641,13 +1740,17 @@ msgstr ""
 msgid "Value too large for defined data type"
 msgstr ""
 
+#: stdio-common/../sysdeps/unix/siglist.c:55
+#: sysdeps/unix/sysv/linux/siglist.h:45
 msgid "Virtual timer expired"
 msgstr ""
 
-#: time/zic.c:1844
+#: time/zic.c:1859
 msgid "Wild result from command execution"
 msgstr ""
 
+#: stdio-common/../sysdeps/unix/siglist.c:57
+#: sysdeps/unix/sysv/linux/siglist.h:47
 msgid "Window changed"
 msgstr ""
 
@@ -1657,20 +1760,20 @@ msgstr ""
 msgid "Written by %s.\n"
 msgstr ""
 
-#: nis/ypclnt.c:146
+#: nis/ypclnt.c:142
 msgid "YPBINDPROC_DOMAIN: Internal error\n"
 msgstr ""
 
-#: nis/ypclnt.c:150
+#: nis/ypclnt.c:146
 #, c-format
 msgid "YPBINDPROC_DOMAIN: No server for domain %s\n"
 msgstr ""
 
-#: nis/ypclnt.c:154
+#: nis/ypclnt.c:150
 msgid "YPBINDPROC_DOMAIN: Resource allocation failure\n"
 msgstr ""
 
-#: nis/ypclnt.c:158
+#: nis/ypclnt.c:154
 msgid "YPBINDPROC_DOMAIN: Unknown error\n"
 msgstr ""
 
@@ -1679,7 +1782,7 @@ msgstr ""
 msgid "You really blew it this time"
 msgstr ""
 
-#: time/zic.c:1050
+#: time/zic.c:1054
 msgid "Zone continuation line end time is not after end time of previous line"
 msgstr ""
 
@@ -1720,7 +1823,7 @@ msgstr ""
 msgid "auth_none.c - Fatal marshalling problem"
 msgstr ""
 
-#: inet/rcmd.c:360
+#: inet/rcmd.c:361
 msgid "bad .rhosts owner"
 msgstr ""
 
@@ -1728,19 +1831,19 @@ msgstr ""
 msgid "bad argument"
 msgstr ""
 
-#: time/zic.c:1172
+#: time/zic.c:1176
 msgid "blank FROM field on Link line"
 msgstr ""
 
-#: time/zic.c:1176
+#: time/zic.c:1180
 msgid "blank TO field on Link line"
 msgstr ""
 
-#: malloc/mcheck.c:189
+#: new-malloc/mcheck.c:191
 msgid "block freed twice"
 msgstr ""
 
-#: malloc/mcheck.c:192
+#: new-malloc/mcheck.c:194
 msgid "bogus mcheck_status, library is buggy"
 msgstr ""
 
@@ -1756,8 +1859,8 @@ msgstr ""
 msgid "cache_set: victim not found"
 msgstr ""
 
-#: time/zic.c:1685
-msgid "can't determine time zone abbrevation to use just after until time"
+#: time/zic.c:1700
+msgid "can't determine time zone abbreviation to use just after until time"
 msgstr ""
 
 #: sunrpc/svc_simple.c:64
@@ -1789,7 +1892,7 @@ msgstr ""
 msgid "cannot open database file `%s': %s"
 msgstr ""
 
-#: catgets/gencat.c:259 db/makedb.c:180
+#: catgets/gencat.c:260 db/makedb.c:180
 #, c-format
 msgid "cannot open input file `%s'"
 msgstr ""
@@ -1799,7 +1902,7 @@ msgstr ""
 msgid "cannot open locale definition file `%s'"
 msgstr ""
 
-#: catgets/gencat.c:764 catgets/gencat.c:805 db/makedb.c:189
+#: catgets/gencat.c:765 catgets/gencat.c:806 db/makedb.c:189
 #, c-format
 msgid "cannot open output file `%s'"
 msgstr ""
@@ -1813,12 +1916,12 @@ msgstr ""
 msgid "cannot process order specification"
 msgstr ""
 
-#: locale/programs/locale.c:303
+#: locale/programs/locale.c:304
 #, c-format
 msgid "cannot read character map directory `%s'"
 msgstr ""
 
-#: locale/programs/locale.c:278
+#: locale/programs/locale.c:279
 #, c-format
 msgid "cannot read locale directory `%s'"
 msgstr ""
@@ -1895,7 +1998,7 @@ msgstr ""
 msgid "collation symbol expected after `%s'"
 msgstr ""
 
-#: inet/rcmd.c:129
+#: inet/rcmd.c:130
 #, c-format
 msgid "connect to address %s: "
 msgstr ""
@@ -1942,24 +2045,24 @@ msgstr ""
 msgid "duplicate definition for character `%.*s'"
 msgstr ""
 
-#: db/makedb.c:310
+#: db/makedb.c:311
 msgid "duplicate key"
 msgstr ""
 
-#: catgets/gencat.c:378
+#: catgets/gencat.c:379
 msgid "duplicate set definition"
 msgstr ""
 
-#: time/zic.c:965
+#: time/zic.c:969
 #, c-format
 msgid "duplicate zone name %s (file \"%s\", line %d)"
 msgstr ""
 
-#: catgets/gencat.c:541
+#: catgets/gencat.c:542
 msgid "duplicated message identifier"
 msgstr ""
 
-#: catgets/gencat.c:514
+#: catgets/gencat.c:515
 msgid "duplicated message number"
 msgstr ""
 
@@ -1999,7 +2102,7 @@ msgstr ""
 msgid "expect string argument for `copy'"
 msgstr ""
 
-#: time/zic.c:856
+#: time/zic.c:860
 msgid "expected continuation line not found"
 msgstr ""
 
@@ -2008,6 +2111,10 @@ msgstr ""
 msgid "failure while writing data for category `%s'"
 msgstr ""
 
+#: nis/ypclnt.c:186
+msgid "fcntl: F_SETFD"
+msgstr ""
+
 #: locale/programs/ld-monetary.c:154 locale/programs/ld-numeric.c:95
 #, c-format
 msgid "field `%s' in category `%s' not defined"
@@ -2052,11 +2159,11 @@ msgstr ""
 msgid "get_myaddress: ioctl (get interface configuration)"
 msgstr ""
 
-#: time/zic.c:1149
+#: time/zic.c:1153
 msgid "illegal CORRECTION field on Leap line"
 msgstr ""
 
-#: time/zic.c:1153
+#: time/zic.c:1157
 msgid "illegal Rolling/Stationary field on Leap line"
 msgstr ""
 
@@ -2089,7 +2196,7 @@ msgstr ""
 msgid "illegal number for offset in string %d in `era' field in category `%s'"
 msgstr ""
 
-#: catgets/gencat.c:351 catgets/gencat.c:428
+#: catgets/gencat.c:352 catgets/gencat.c:429
 msgid "illegal set number"
 msgstr ""
 
@@ -2117,19 +2224,19 @@ msgstr ""
 msgid "incorrectly formatted file"
 msgstr ""
 
-#: time/zic.c:814
+#: time/zic.c:817
 msgid "input line of unknown type"
 msgstr ""
 
-#: time/zic.c:1733
+#: time/zic.c:1748
 msgid "internal error - addtype called with bad isdst"
 msgstr ""
 
-#: time/zic.c:1741
+#: time/zic.c:1756
 msgid "internal error - addtype called with bad ttisgmt"
 msgstr ""
 
-#: time/zic.c:1737
+#: time/zic.c:1752
 msgid "internal error - addtype called with bad ttisstd"
 msgstr ""
 
@@ -2138,43 +2245,43 @@ msgstr ""
 msgid "internal error in %s, line %u"
 msgstr ""
 
-#: time/zic.c:1021
+#: time/zic.c:1025
 msgid "invalid GMT offset"
 msgstr ""
 
-#: time/zic.c:1024
+#: time/zic.c:1028
 msgid "invalid abbreviation format"
 msgstr ""
 
-#: time/zic.c:1114 time/zic.c:1313 time/zic.c:1327
+#: time/zic.c:1118 time/zic.c:1317 time/zic.c:1331
 msgid "invalid day of month"
 msgstr ""
 
-#: time/zic.c:1272
+#: time/zic.c:1276
 msgid "invalid ending year"
 msgstr ""
 
-#: time/zic.c:1086
+#: time/zic.c:1090
 msgid "invalid leaping year"
 msgstr ""
 
-#: time/zic.c:1101 time/zic.c:1204
+#: time/zic.c:1105 time/zic.c:1208
 msgid "invalid month name"
 msgstr ""
 
-#: time/zic.c:920
+#: time/zic.c:924
 msgid "invalid saved time"
 msgstr ""
 
-#: time/zic.c:1252
+#: time/zic.c:1256
 msgid "invalid starting year"
 msgstr ""
 
-#: time/zic.c:1130 time/zic.c:1232
+#: time/zic.c:1134 time/zic.c:1236
 msgid "invalid time of day"
 msgstr ""
 
-#: time/zic.c:1318
+#: time/zic.c:1322
 msgid "invalid weekday name"
 msgstr ""
 
@@ -2186,7 +2293,7 @@ msgstr ""
 msgid "line before ellipsis does not contain definition for character constant"
 msgstr ""
 
-#: time/zic.c:794
+#: time/zic.c:797
 msgid "line too long"
 msgstr ""
 
@@ -2195,15 +2302,15 @@ msgstr ""
 msgid "locale file `%s', used in `copy' statement, not found"
 msgstr ""
 
-#: catgets/gencat.c:609
+#: catgets/gencat.c:610
 msgid "malformed line ignored"
 msgstr ""
 
-#: malloc/mcheck.c:183
+#: new-malloc/mcheck.c:185
 msgid "memory clobbered before allocated block"
 msgstr ""
 
-#: malloc/mcheck.c:186
+#: new-malloc/mcheck.c:188
 msgid "memory clobbered past end of allocated block"
 msgstr ""
 
@@ -2214,11 +2321,11 @@ msgstr ""
 msgid "memory exhausted"
 msgstr ""
 
-#: malloc/obstack.c:425
+#: new-malloc/obstack.c:462
 msgid "memory exhausted\n"
 msgstr ""
 
-#: malloc/mcheck.c:180
+#: new-malloc/mcheck.c:182
 msgid "memory is consistent, library is buggy"
 msgstr ""
 
@@ -2232,7 +2339,7 @@ msgstr ""
 msgid "missing era name in string %d in `era' fieldin category `%s'"
 msgstr ""
 
-#: time/zic.c:915
+#: time/zic.c:919
 msgid "nameless rule"
 msgstr ""
 
@@ -2246,7 +2353,7 @@ msgstr ""
 msgid "no correct regular expression for field `%s' in category `%s': %s"
 msgstr ""
 
-#: time/zic.c:2059
+#: time/zic.c:2074
 msgid "no day in month matches rule"
 msgstr ""
 
@@ -2281,7 +2388,7 @@ msgstr ""
 msgid "only WIDTH definitions are allowed to follow the CHARMAP definition"
 msgstr ""
 
-#: db/makedb.c:326
+#: db/makedb.c:327
 #, c-format
 msgid "problems while reading `%s'"
 msgstr ""
@@ -2302,16 +2409,16 @@ msgstr ""
 msgid "program %lu version %lu ready and waiting\n"
 msgstr ""
 
-#: inet/rcmd.c:171
+#: inet/rcmd.c:172
 #, c-format
 msgid "rcmd: select (setting up stderr): %m\n"
 msgstr ""
 
-#: inet/rcmd.c:103
+#: inet/rcmd.c:104
 msgid "rcmd: socket: All ports in use\n"
 msgstr ""
 
-#: inet/rcmd.c:159
+#: inet/rcmd.c:160
 #, c-format
 msgid "rcmd: write (setting up stderr): %m\n"
 msgstr ""
@@ -2320,7 +2427,7 @@ msgstr ""
 msgid "registerrpc: out of memory\n"
 msgstr ""
 
-#: time/zic.c:1794
+#: time/zic.c:1809
 msgid "repeated leap second moment"
 msgstr ""
 
@@ -2352,15 +2459,15 @@ msgstr ""
 msgid "rpcinfo: can't contact portmapper: "
 msgstr ""
 
-#: time/zic.c:708 time/zic.c:710
+#: time/zic.c:710 time/zic.c:712
 msgid "same rule name in multiple files"
 msgstr ""
 
-#: inet/rcmd.c:174
+#: inet/rcmd.c:175
 msgid "select: protocol failure in circuit setup\n"
 msgstr ""
 
-#: inet/rcmd.c:192
+#: inet/rcmd.c:193
 msgid "socket: protocol failure in circuit setup\n"
 msgstr ""
 
@@ -2373,7 +2480,7 @@ msgid ""
 "specification of sorting weight for collation symbol does not make sense"
 msgstr ""
 
-#: time/zic.c:779
+#: time/zic.c:781
 msgid "standard input"
 msgstr ""
 
@@ -2386,7 +2493,7 @@ msgstr ""
 msgid "starting date is illegal in string %d in `era' field in category `%s'"
 msgstr ""
 
-#: time/zic.c:1276
+#: time/zic.c:1280
 msgid "starting year greater than ending year"
 msgstr ""
 
@@ -2523,15 +2630,15 @@ msgstr ""
 msgid "syntax error: not inside a locale definition section"
 msgstr ""
 
-#: catgets/gencat.c:380 catgets/gencat.c:516 catgets/gencat.c:543
+#: catgets/gencat.c:381 catgets/gencat.c:517 catgets/gencat.c:544
 msgid "this is the first definition"
 msgstr ""
 
-#: time/zic.c:1119
+#: time/zic.c:1123
 msgid "time before zero"
 msgstr ""
 
-#: time/zic.c:1127 time/zic.c:1959 time/zic.c:1978
+#: time/zic.c:1131 time/zic.c:1974 time/zic.c:1993
 msgid "time overflow"
 msgstr ""
 
@@ -2547,15 +2654,15 @@ msgstr ""
 msgid "too many character classes defined"
 msgstr ""
 
-#: time/zic.c:1788
+#: time/zic.c:1803
 msgid "too many leap seconds"
 msgstr ""
 
-#: time/zic.c:1760
+#: time/zic.c:1775
 msgid "too many local time types"
 msgstr ""
 
-#: time/zic.c:1714
+#: time/zic.c:1729
 msgid "too many transitions?!"
 msgstr ""
 
@@ -2563,7 +2670,7 @@ msgstr ""
 msgid "too many weights"
 msgstr ""
 
-#: time/zic.c:2082
+#: time/zic.c:2097
 msgid "too many, or too long, time zone abbreviations"
 msgstr ""
 
@@ -2580,7 +2687,7 @@ msgstr ""
 msgid "two lines in a row containing `...' are not allowed"
 msgstr ""
 
-#: time/zic.c:1283
+#: time/zic.c:1287
 msgid "typed single year"
 msgstr ""
 
@@ -2604,30 +2711,27 @@ msgstr ""
 msgid "unknown collation directive"
 msgstr ""
 
-#: catgets/gencat.c:477
+#: catgets/gencat.c:478
 #, c-format
 msgid "unknown directive `%s': line ignored"
 msgstr ""
 
-#: catgets/gencat.c:456
+#: catgets/gencat.c:457
 #, c-format
 msgid "unknown set `%s'"
 msgstr ""
 
-msgid "unknown signal"
-msgstr ""
-
 #: locale/programs/ld-collate.c:1367 locale/programs/ld-collate.c:1558
 #: locale/programs/ld-collate.c:1732
 #, c-format
 msgid "unknown symbol `%.*s': line ignored"
 msgstr ""
 
-#: time/zic.c:751
+#: time/zic.c:753
 msgid "unruly zone"
 msgstr ""
 
-#: catgets/gencat.c:961
+#: catgets/gencat.c:962
 msgid "unterminated message"
 msgstr ""
 
@@ -2647,7 +2751,7 @@ msgstr ""
 msgid "upper limit in range is not smaller then lower limit"
 msgstr ""
 
-#: time/zic.c:2025
+#: time/zic.c:2040
 msgid "use of 2/29 in non leap-year"
 msgstr ""
 
@@ -2695,15 +2799,15 @@ msgstr ""
 msgid "while opening UTMP file"
 msgstr ""
 
-#: catgets/gencat.c:988
+#: catgets/gencat.c:989
 msgid "while opening old catalog file"
 msgstr ""
 
-#: db/makedb.c:353
+#: db/makedb.c:354
 msgid "while reading database"
 msgstr ""
 
-#: db/makedb.c:315
+#: db/makedb.c:316
 msgid "while writing data base file"
 msgstr ""
 
@@ -2711,34 +2815,30 @@ msgstr ""
 msgid "wrong number of arguments"
 msgstr ""
 
-#: time/zic.c:1077
+#: time/zic.c:1081
 msgid "wrong number of fields on Leap line"
 msgstr ""
 
-#: time/zic.c:1168
+#: time/zic.c:1172
 msgid "wrong number of fields on Link line"
 msgstr ""
 
-#: time/zic.c:911
+#: time/zic.c:915
 msgid "wrong number of fields on Rule line"
 msgstr ""
 
-#: time/zic.c:981
+#: time/zic.c:985
 msgid "wrong number of fields on Zone continuation line"
 msgstr ""
 
-#: time/zic.c:939
+#: time/zic.c:943
 msgid "wrong number of fields on Zone line"
 msgstr ""
 
-#: nis/ypclnt.c:570
-msgid "yp_all: clnttcp_create failed"
-msgstr ""
-
-#: nis/ypclnt.c:772
+#: nis/ypclnt.c:810
 msgid "yp_update: cannot convert host to netname\n"
 msgstr ""
 
-#: nis/ypclnt.c:784
+#: nis/ypclnt.c:822
 msgid "yp_update: cannot get server address\n"
 msgstr ""
diff --git a/po/sv.po b/po/sv.po
index 4150aea1a1..bd573d2d4a 100644
--- a/po/sv.po
+++ b/po/sv.po
@@ -56,7 +56,7 @@ msgstr "\"Zone %s\"-rad och flaggan -l är ömsesidigt uteslutande"
 #: time/zic.c:953
 #, c-format
 msgid "\"Zone %s\" line and -p option are mutually exclusive"
-msgstr "\"Zone %s\" rad och -p flagga är ömsesidigt uteslutande"
+msgstr "\"Zone %s\"-rad och flaggan -p är ömsesidigt uteslutande"
 
 #: time/zic.c:758
 #, c-format
@@ -66,7 +66,7 @@ msgstr "%s i zon utan regel"
 #: assert/assert.c:46
 #, c-format
 msgid "%s%s%s:%u: %s%sAssertion `%s' failed.\n"
-msgstr "%s%s%s:%u: %s%sFörsäkran \"%s\" falskt.\n"
+msgstr "%s%s%s:%u: %s%sFörsäkran \"%s\" falsk.\n"
 
 #: assert/assert-perr.c:47
 #, c-format
@@ -693,7 +693,7 @@ msgstr "Filtyp eller format olämplig"
 #. TRANS modes on an ordinary file.
 #: stdio-common/../sysdeps/gnu/errlist.c:176
 msgid "Inappropriate ioctl for device"
-msgstr "Ioctl för enhet olämplig"
+msgstr "Olämplig \"ioctl\" för enhet"
 
 #. TRANS In the GNU system, servers supporting the @code{term} protocol return
 #. TRANS this error for certain operations when the caller is not in the
@@ -1902,16 +1902,16 @@ msgstr "kategoridata begärd mer än en gång: borde inte inträffa"
 #: locale/programs/ld-ctype.c:265
 #, c-format
 msgid "character %s'%s' in class `%s' must be in class `%s'"
-msgstr "tecken %s\"%s\" i klass \"%s\" måste vara i klass \"%s\""
+msgstr "tecknet %s\"%s\" i klass \"%s\" måste vara i klass \"%s\""
 
 #: locale/programs/ld-ctype.c:289
 #, c-format
 msgid "character %s'%s' in class `%s' must not be in class `%s'"
-msgstr "tecken %s\"%s\" i klass \"%s\" kan inte vara i klass \"%s\""
+msgstr "tecknet %s\"%s\" i klass \"%s\" kan inte vara i klass \"%s\""
 
 #: locale/programs/ld-ctype.c:310
 msgid "character <SP> not defined in character map"
-msgstr "tecken <SP> inte definierat i teckenuppsättning"
+msgstr "tecknet <SP> inte definierat i teckenuppsättning"
 
 #: locale/programs/ld-ctype.c:939 locale/programs/ld-ctype.c:1002
 #: locale/programs/ld-ctype.c:1010 locale/programs/ld-ctype.c:1018
@@ -1921,7 +1921,7 @@ msgstr "tecken <SP> inte definierat i teckenuppsättning"
 #: locale/programs/ld-ctype.c:1141 locale/programs/ld-ctype.c:1152
 #, c-format
 msgid "character `%s' not defined while needed as default value"
-msgstr "tecken \"%s\" inte definierad men behövs som standardvärde"
+msgstr "tecknet \"%s\" inte definierat men behövs som standardvärde"
 
 #: locale/programs/ld-ctype.c:801
 #, c-format
@@ -1992,7 +1992,7 @@ msgid ""
 "character"
 msgstr ""
 "riktningsflagga i sträng %d i \"era\"-fält i kategori \"%s\" är inte ett "
-"tecken"
+"enskilt tecken"
 
 #: locale/programs/charset.c:87 locale/programs/charset.c:132
 #, c-format
@@ -2251,7 +2251,7 @@ msgstr "ogiltigt veckodagsnamn"
 
 #: locale/programs/ld-collate.c:1412
 msgid "line after ellipsis must contain character definition"
-msgstr "rad efter ... får inte innehålla teckendefinition"
+msgstr "rad efter ... måste innehålla teckendefinition"
 
 #: locale/programs/ld-collate.c:1391
 msgid "line before ellipsis does not contain definition for character constant"
@@ -2296,12 +2296,12 @@ msgstr "minnet är konsistent, biblioteket är felaktigt"
 #: locale/programs/ld-time.c:348
 #, c-format
 msgid "missing era format in string %d in `era' field in category `%s'"
-msgstr "saknar eraformat i sträng %d i \"era\"-fält i kategori \"%s\""
+msgstr "eraformat i sträng %d i \"era\"-fält i kategori \"%s\" saknas"
 
 #: locale/programs/ld-time.c:337
 #, c-format
 msgid "missing era name in string %d in `era' fieldin category `%s'"
-msgstr "saknar eranamn i sträng %d i \"era\"-fält i kategori \"%s\""
+msgstr "eranamn i sträng %d i \"era\"-fält i kategori \"%s\" saknas"
 
 #: time/zic.c:915
 msgid "nameless rule"
@@ -2393,7 +2393,7 @@ msgstr "registerrpc: minnet slut\n"
 
 #: time/zic.c:1794
 msgid "repeated leap second moment"
-msgstr "upprepad skottsekundstillfälle"
+msgstr "upprepat skottsekundstillfälle"
 
 #: sunrpc/rpcinfo.c:659
 #, c-format
@@ -2408,7 +2408,7 @@ msgstr "rpcinfo: %s är en okänd tjänst\n"
 #: sunrpc/rpcinfo.c:600
 #, c-format
 msgid "rpcinfo: Could not delete registration for prog %s version %s\n"
-msgstr "rpcinfo: Kunde inte ta bort registrering för prog %s version %s\n"
+msgstr "rpcinfo: Kunde inte ta bort registrering av prog %s version %s\n"
 
 #: sunrpc/rpcinfo.c:576
 #, c-format
@@ -2735,17 +2735,17 @@ msgstr "använder 29/2 i icke-skottår"
 #: locale/programs/charmap.c:438 locale/programs/charmap.c:492
 #, c-format
 msgid "value for %s must be an integer"
-msgstr "värdet för %s måste vara heltal"
+msgstr "värdet på %s måste vara heltal"
 
 #: locale/programs/charmap.c:233
 #, c-format
 msgid "value for <%s> must lie between 1 and 4"
-msgstr "värde för <%s> måste vara mellan 1 och 4"
+msgstr "värde på <%s> måste vara mellan 1 och 4"
 
 #: locale/programs/ld-monetary.c:148 locale/programs/ld-numeric.c:89
 #, c-format
 msgid "value for field `%s' in category `%s' must not be the empty string"
-msgstr "värde för fält \"%s\" i kategori \"%s\" får inte vara tom sträng"
+msgstr "värde på fält \"%s\" i kategori \"%s\" får inte vara tom sträng"
 
 #: locale/programs/charmap.c:245
 msgid "value of <mb_cur_max> must be greater than the value of <mb_cur_min>"
diff --git a/posix/getopt.c b/posix/getopt.c
index a5fb9921a7..ac6ebe0cc0 100644
--- a/posix/getopt.c
+++ b/posix/getopt.c
@@ -3,7 +3,7 @@
    "Keep this file name-space clean" means, talk to roland@gnu.ai.mit.edu
    before changing it!
 
-   Copyright (C) 1987, 88, 89, 90, 91, 92, 93, 94, 95, 1996
+   Copyright (C) 1987, 88, 89, 90, 91, 92, 93, 94, 95, 96, 97
    	Free Software Foundation, Inc.
 
    This file is part of the GNU C Library.  Its master source is NOT part of
@@ -249,12 +249,31 @@ extern int strlen (const char *);
 static int first_nonopt;
 static int last_nonopt;
 
+#ifdef _LIBC
 /* Bash 2.0 gives us an environment variable containing flags
    indicating ARGV elements that should not be considered arguments.  */
 
 static const char *nonoption_flags;
 static int nonoption_flags_len;
 
+static int original_argc;
+static char *const *original_argv;
+
+/* Make sure the environment variable bash 2.0 puts in the environment
+   is valid for the getopt call we must make sure that the ARGV passed
+   to getopt is that one passed to the process.  */
+static void store_args (int argc, char *const *argv) __attribute__ ((unused));
+static void
+store_args (int argc, char *const *argv)
+{
+  /* XXX This is no good solution.  We should rather copy the args so
+     that we can compare them later.  But we must not use malloc(3).  */
+  original_argc = argc;
+  original_argv = argv;
+}
+text_set_element (__libc_subinit, store_args);
+#endif
+
 /* Exchange two adjacent subsequences of ARGV.
    One subsequence is elements [first_nonopt,last_nonopt)
    which contains all the non-options that have been skipped so far.
@@ -327,10 +346,12 @@ exchange (argv)
 /* Initialize the internal data when the first call is made.  */
 
 #if defined (__STDC__) && __STDC__
-static const char *_getopt_initialize (const char *);
+static const char *_getopt_initialize (int, char *const *, const char *);
 #endif
 static const char *
-_getopt_initialize (optstring)
+_getopt_initialize (argc, argv, optstring)
+     int argc;
+     char *const *argv;
      const char *optstring;
 {
   /* Start processing options with ARGV-element 1 (since ARGV-element 0
@@ -360,7 +381,9 @@ _getopt_initialize (optstring)
   else
     ordering = PERMUTE;
 
-  if (posixly_correct == NULL)
+#ifdef _LIBC
+  if (posixly_correct == NULL
+      && argc == original_argc && argv == original_argv)
     {
       /* Bash 2.0 puts a special variable in the environment for each
 	 command it runs, specifying which ARGV elements are the results of
@@ -374,6 +397,9 @@ _getopt_initialize (optstring)
       else
 	nonoption_flags_len = strlen (nonoption_flags);
     }
+  else
+    nonoption_flags_len = 0;
+#endif
 
   return optstring;
 }
@@ -445,19 +471,24 @@ _getopt_internal (argc, argv, optstring, longopts, longind, long_only)
 {
   optarg = NULL;
 
-  if (!__getopt_initialized)
+  if (!__getopt_initialized || optind == 0)
     {
-      optstring = _getopt_initialize (optstring);
+      optstring = _getopt_initialize (argc, argv, optstring);
       optind = 1;		/* Don't scan ARGV[0], the program name.  */
       __getopt_initialized = 1;
     }
 
   /* Test whether ARGV[optind] points to a non-option argument.
      Either it does not have option syntax, or there is an environment flag
-     from the shell indicating it is not an option.  */
+     from the shell indicating it is not an option.  The later information
+     is only used when the used in the GNU libc.  */
+#ifdef _LIBC
 #define NONOPTION_P (argv[optind][0] != '-' || argv[optind][1] == '\0'	      \
 		     || (optind < nonoption_flags_len			      \
 			 && nonoption_flags[optind] == '1'))
+#else
+#define NONOPTION_P (argv[optind][0] != '-' || argv[optind][1] == '\0')
+#endif
 
   if (nextchar == NULL || *nextchar == '\0')
     {
diff --git a/posix/sys/types.h b/posix/sys/types.h
index bbda57eee0..ffeeee1ff0 100644
--- a/posix/sys/types.h
+++ b/posix/sys/types.h
@@ -59,7 +59,7 @@ typedef __daddr_t daddr_t;
 typedef __caddr_t caddr_t;
 #endif
 
-#ifdef  __USE_SVID
+#if defined __USE_SVID || defined __USE_XOPEN
 typedef __key_t key_t;
 #endif
 
diff --git a/posix/unistd.h b/posix/unistd.h
index 5cf41df723..cfa53c7c8d 100644
--- a/posix/unistd.h
+++ b/posix/unistd.h
@@ -1,4 +1,4 @@
-/* Copyright (C) 1991, 92, 93, 94, 95, 96 Free Software Foundation, Inc.
+/* Copyright (C) 1991, 92, 93, 94, 95, 96, 97 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
@@ -333,6 +333,9 @@ extern int dup2 __P ((int __fd, int __fd2));
 
 /* NULL-terminated array of "NAME=VALUE" environment variables.  */
 extern char **__environ;
+#ifdef __USE_GNU
+extern char **environ;
+#endif
 
 
 /* Replace the current process, executing PATH with arguments ARGV and
diff --git a/resolv/nss_dns/dns-host.c b/resolv/nss_dns/dns-host.c
index e4a9c788ce..6ddf11cb53 100644
--- a/resolv/nss_dns/dns-host.c
+++ b/resolv/nss_dns/dns-host.c
@@ -1,4 +1,4 @@
-/* Copyright (C) 1996 Free Software Foundation, Inc.
+/* Copyright (C) 1996, 1997 Free Software Foundation, Inc.
    This file is part of the GNU C Library.
    Extended from original form by Ulrich Drepper <drepper@cygnus.com>, 1996.
 
@@ -119,12 +119,12 @@ typedef union querybuf
 
 static enum nss_status getanswer_r (const querybuf *answer, int anslen,
 				    const char *qname, int qtype,
-				    struct hostent *result,
-				    char *buffer, int buflen, int *h_errnop);
+				    struct hostent *result, char *buffer,
+				    size_t buflen, int *h_errnop);
 
 enum nss_status
 _nss_dns_gethostbyname2_r (const char *name, int af, struct hostent *result,
-			   char *buffer, int buflen, int *h_errnop)
+			   char *buffer, size_t buflen, int *h_errnop)
 {
   struct host_data
   {
@@ -253,7 +253,7 @@ _nss_dns_gethostbyname2_r (const char *name, int af, struct hostent *result,
 
 enum nss_status
 _nss_dns_gethostbyname_r (const char *name, struct hostent *result,
-			  char *buffer, int buflen, int *h_errnop)
+			  char *buffer, size_t buflen, int *h_errnop)
 {
   enum nss_status status = NSS_STATUS_NOTFOUND;
 
@@ -270,7 +270,7 @@ _nss_dns_gethostbyname_r (const char *name, struct hostent *result,
 
 enum nss_status
 _nss_dns_gethostbyaddr_r (const char *addr, int len, int af,
-			  struct hostent *result, char *buffer, int buflen,
+			  struct hostent *result, char *buffer, size_t buflen,
 			  int *h_errnop)
 {
   static const u_char mapped[] = { 0,0, 0,0, 0,0, 0,0, 0,0, 0xff,0xff };
@@ -368,7 +368,8 @@ _nss_dns_gethostbyaddr_r (const char *addr, int len, int af,
 
 static enum nss_status
 getanswer_r (const querybuf *answer, int anslen, const char *qname, int qtype,
-	     struct hostent *result, char *buffer, int buflen, int *h_errnop)
+	     struct hostent *result, char *buffer, size_t buflen,
+	     int *h_errnop)
 {
   struct host_data
   {
diff --git a/resolv/nss_dns/dns-network.c b/resolv/nss_dns/dns-network.c
index 37aa29fb21..61f6f90b47 100644
--- a/resolv/nss_dns/dns-network.c
+++ b/resolv/nss_dns/dns-network.c
@@ -1,4 +1,4 @@
-/* Copyright (C) 1996 Free Software Foundation, Inc.
+/* Copyright (C) 1996, 1997 Free Software Foundation, Inc.
    This file is part of the GNU C Library.
    Extended from original form by Ulrich Drepper <drepper@cygnus.com>, 1996.
 
@@ -99,12 +99,12 @@ typedef union querybuf
 /* Prototypes for local functions.  */
 static enum nss_status getanswer_r (const querybuf *answer, int anslen,
 				    struct netent *result, char *buffer,
-				    int buflen, lookup_method net_i);
+				    size_t buflen, lookup_method net_i);
 
 
 enum nss_status
 _nss_dns_getnetbyname_r (const char *name, struct netent *result,
-			 char *buffer, int buflen)
+			 char *buffer, size_t buflen)
 {
   /* Return entry for network with NAME.  */
   querybuf net_buffer;
@@ -127,7 +127,7 @@ _nss_dns_getnetbyname_r (const char *name, struct netent *result,
 
 enum nss_status
 _nss_dns_getnetbyaddr_r (long net, int type, struct netent *result,
-			 char *buffer, int buflen)
+			 char *buffer, size_t buflen)
 {
   /* Return entry for network with NAME.  */
   enum nss_status status;
@@ -196,7 +196,7 @@ _nss_dns_getnetbyaddr_r (long net, int type, struct netent *result,
 
 static enum nss_status
 getanswer_r (const querybuf *answer, int anslen, struct netent *result,
-	     char *buffer, int buflen, lookup_method net_i)
+	     char *buffer, size_t buflen, lookup_method net_i)
 {
   /*
    * Find first satisfactory answer
diff --git a/resolv/res_debug.c b/resolv/res_debug.c
index 23f27acb33..fa2ca80c34 100644
--- a/resolv/res_debug.c
+++ b/resolv/res_debug.c
@@ -805,7 +805,7 @@ __p_rr(cp, msg, file)
 				n, c);
 		/* orig ttl */
 		n = _getlong((u_char*)cp);
-		if (n != tmpttl)
+		if ((u_int32_t) n != tmpttl)
 			fprintf(file, " %u", n);
 		cp += INT32SZ;
 		/* sig expire */
@@ -1434,7 +1434,7 @@ loc_ntoa(binary, ascii)
 	longval = (templ - ((unsigned)1<<31));
 
 	GETLONG(templ, cp);
-	if (templ < referencealt) { /* below WGS 84 spheroid */
+	if (templ < (u_int32_t) referencealt) { /* below WGS 84 spheroid */
 		altval = referencealt - templ;
 		altsign = -1;
 	} else {
diff --git a/resolv/res_query.c b/resolv/res_query.c
index 3ddeb20bb2..545e009e8d 100644
--- a/resolv/res_query.c
+++ b/resolv/res_query.c
@@ -340,7 +340,8 @@ res_querydomain(name, domain, class, type, answer, anslen)
 		 * copy without '.' if present.
 		 */
 		n = strlen(name) - 1;
-		if (n != (0 - 1) && name[n] == '.' && n < sizeof(nbuf) - 1) {
+		if (n != (0 - 1) && name[n] == '.'
+		    && n < (int) (sizeof(nbuf) - 1)) {
 			bcopy(name, nbuf, n);
 			nbuf[n] = '\0';
 		} else
diff --git a/set-init.c b/set-init.c
index 8bf9d053a3..f4ecb2dfd9 100644
--- a/set-init.c
+++ b/set-init.c
@@ -1,20 +1,20 @@
-/* Copyright (C) 1991, 1992, 1994, 1995 Free Software Foundation, Inc.
-This file is part of the GNU C Library.
+/* Copyright (C) 1991, 1992, 1994, 1995, 1997 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 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.
+   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., 675 Mass Ave,
-Cambridge, MA 02139, USA.  */
+   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 <stdlib.h>
 #include "set-hooks.h"
diff --git a/signal/Makefile b/signal/Makefile
index eac9576895..2d99437208 100644
--- a/signal/Makefile
+++ b/signal/Makefile
@@ -1,4 +1,4 @@
-# Copyright (C) 1991, 92, 93, 94, 95, 96 Free Software Foundation, Inc.
+# Copyright (C) 1991, 92, 93, 94, 95, 96, 97 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
@@ -30,7 +30,7 @@ routines	:= signal raise killpg \
 		   sigstack sigaltstack sigintr \
 		   sigsetops sigempty sigfillset sigaddset sigdelset sigismem \
 		   sigreturn \
-		   siggetmask bsd_signal
+		   siggetmask sysv_signal
 
 tests		:= tst-signal
 
diff --git a/signal/sigaddset.c b/signal/sigaddset.c
index 69185edca6..055e45f6c9 100644
--- a/signal/sigaddset.c
+++ b/signal/sigaddset.c
@@ -1,20 +1,20 @@
 /* Copyright (C) 1991, 1996 Free Software Foundation, Inc.
-This file is part of the GNU C Library.
+   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 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.
+   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., 675 Mass Ave,
-Cambridge, MA 02139, USA.  */
+   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 "sigsetops.h"
 
diff --git a/signal/sigdelset.c b/signal/sigdelset.c
index 0b88a0977b..dc33550d55 100644
--- a/signal/sigdelset.c
+++ b/signal/sigdelset.c
@@ -1,20 +1,20 @@
 /* Copyright (C) 1991, 1996 Free Software Foundation, Inc.
-This file is part of the GNU C Library.
+   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 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.
+   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., 675 Mass Ave,
-Cambridge, MA 02139, USA.  */
+   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 "sigsetops.h"
 
diff --git a/signal/sigempty.c b/signal/sigempty.c
index 5e4bebb27c..9dde24d363 100644
--- a/signal/sigempty.c
+++ b/signal/sigempty.c
@@ -1,22 +1,24 @@
-/* Copyright (C) 1991, 1996 Free Software Foundation, Inc.
-This file is part of the GNU C Library.
+/* Copyright (C) 1991, 1996, 1997 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 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.
+   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., 675 Mass Ave,
-Cambridge, MA 02139, USA.  */
+   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 "sigsetops.h"
+#include <errno.h>
+#include <signal.h>
+#include <string.h>
 
 /* Clear all signals from SET.  */
 int
@@ -29,5 +31,7 @@ sigemptyset (set)
       return -1;
     }
 
-  return __sigemptyset (set);
+  memset (set, 0xff, sizeof (sigset_t));
+
+  return 0;
 }
diff --git a/signal/sigfillset.c b/signal/sigfillset.c
index 6ea4707e63..04c80a55dc 100644
--- a/signal/sigfillset.c
+++ b/signal/sigfillset.c
@@ -1,22 +1,23 @@
-/* Copyright (C) 1991, 1996 Free Software Foundation, Inc.
-This file is part of the GNU C Library.
+/* Copyright (C) 1991, 1996, 1997 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 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.
+   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., 675 Mass Ave,
-Cambridge, MA 02139, USA.  */
+   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 "sigsetops.h"
+#include <errno.h>
+#include <signal.h>
 
 /* Set all signals in SET.  */
 int
@@ -29,5 +30,7 @@ sigfillset (set)
       return -1;
     }
 
-  return __sigfillset (set);
+  memset (set, 0xff, sizeof (sigset_t));
+
+  return 0;
 }
diff --git a/signal/siggetmask.c b/signal/siggetmask.c
index 348fe9a0c3..95b69b7dc6 100644
--- a/signal/siggetmask.c
+++ b/signal/siggetmask.c
@@ -1,21 +1,21 @@
 /* siggetmask -- useless alias for `sigblock (0)' for old Linux compatibility.
-Copyright (C) 1996 Free Software Foundation, Inc.
-This file is part of the GNU C Library.
+   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 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.
+   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., 675 Mass Ave,
-Cambridge, MA 02139, USA.  */
+   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 <signal.h>
 
diff --git a/signal/sigismem.c b/signal/sigismem.c
index d171517509..73d792a98c 100644
--- a/signal/sigismem.c
+++ b/signal/sigismem.c
@@ -1,20 +1,20 @@
 /* Copyright (C) 1991, 1996 Free Software Foundation, Inc.
-This file is part of the GNU C Library.
+   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 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.
+   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., 675 Mass Ave,
-Cambridge, MA 02139, USA.  */
+   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 "sigsetops.h"
 
diff --git a/signal/signal.h b/signal/signal.h
index 66ab3dd09a..cd833e8783 100644
--- a/signal/signal.h
+++ b/signal/signal.h
@@ -1,4 +1,4 @@
-/* Copyright (C) 1991, 92, 93, 94, 95, 96 Free Software Foundation, Inc.
+/* Copyright (C) 1991, 92, 93, 94, 95, 96, 97 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
@@ -47,20 +47,28 @@ typedef __sig_atomic_t sig_atomic_t;
 /* Type of a signal handler.  */
 typedef void (*__sighandler_t) __P ((int));
 
-/* Set the handler for the signal SIG to HANDLER,
-   returning the old handler, or SIG_ERR on error.  */
+/* Set the handler for the signal SIG to HANDLER, returning the old
+   handler, or SIG_ERR on error.
+   By default `signal' has the BSD semantic.  */
 extern __sighandler_t signal __P ((int __sig, __sighandler_t __handler));
 
-#if defined __FAVOR_BSD || defined __USE_XOPEN
-/* The X/Open definition of `signal' conflicts with the BSD version.
-   So they defined another function `bsd_signal'.  We will use this
-   implementation as the official `signal' function if the BSD
-   interface is preferred.  */
-extern __sighandler_t bsd_signal __P ((int __sig, __sighandler_t __handler));
+#if defined __USE_XOPEN && !defined __USE_GNU
+/* The X/Open definition of `signal' specifies the SVID semantic.  Use
+   the additional function `sysv_signal' when X/Open compatibility is
+   requested.  */
+extern __sighandler_t __sysv_signal __P ((int __sig,
+					  __sighandler_t __handler));
+extern __sighandler_t sysv_signal __P ((int __sig, __sighandler_t __handler));
 
-#ifdef __FAVOR_BSD
-#define signal(sig, handler) bsd_signal ((sig), (handler))
+/* Make sure the used `signal' implementation is the SVID version.  */
+#define signal(sig, handler) __sysv_signal ((sig), (handler))
 #endif
+
+#ifdef __USE_XOPEN
+/* The X/Open definition of `signal' conflicts with the BSD version.
+   So they defined another function `bsd_signal'.  */
+extern __sighandler_t __bsd_signal __P ((int __sig, __sighandler_t __handler));
+extern __sighandler_t bsd_signal __P ((int __sig, __sighandler_t __handler));
 #endif
 
 /* Send signal SIG to process number PID.  If PID is zero,
@@ -103,13 +111,14 @@ extern int __sigsetmask __P ((int __mask));
 /* The `sigpause' function has two different interfaces.  The original
    BSD definition defines the argument as a mask of the signal, while
    the more modern interface in X/Open defines it as the signal
-   number.  We go with the more modern version unless the user
-   explitcly selects the BSD version.  */
+   number.  We go with the BSD version unless the user explicitly
+   selects the X/Open version.  */
 extern int __sigpause __P ((int __sig_or_mask, int __is_sig));
 
-#if defined __USE_BSD  && !defined __USE_XOPEN
+#if defined __USE_BSD || defined __USE_GNU
 /* Set the mask of blocked signals to MASK,
    wait for a signal to arrive, and then restore the mask.  */
+extern int sigpause __P ((int __mask));
 #define sigpause(mask) __sigpause ((mask), 0)
 #else
 #ifdef __USE_XOPEN
diff --git a/string/string.h b/string/string.h
index c51fb956ea..4560f612b5 100644
--- a/string/string.h
+++ b/string/string.h
@@ -1,4 +1,4 @@
-/* Copyright (C) 1991, 92, 93, 95, 96 Free Software Foundation, Inc.
+/* Copyright (C) 1991, 92, 93, 95, 96, 97 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
@@ -164,7 +164,7 @@ extern size_t strnlen __P ((__const char *__string, size_t __maxlen));
 extern __inline size_t
 strnlen (__const char *__string, size_t __maxlen)
 {
-  __const char *__end = memchr (__string, '\0', __maxlen);
+  __const char *__end = (__const char *) memchr (__string, '\0', __maxlen);
   return __end ? __end - __string : __maxlen;
 }
 #endif
diff --git a/syscall.h b/syscall.h
new file mode 100644
index 0000000000..8c53cfb204
--- /dev/null
+++ b/syscall.h
@@ -0,0 +1 @@
+#include <misc/syscall.h>
diff --git a/sysdeps/alpha/dl-machine.h b/sysdeps/alpha/dl-machine.h
index 78c5071b4e..1d01f035ea 100644
--- a/sysdeps/alpha/dl-machine.h
+++ b/sysdeps/alpha/dl-machine.h
@@ -1,5 +1,5 @@
 /* Machine-dependent ELF dynamic relocation inline functions.  Alpha version.
-   Copyright (C) 1996 Free Software Foundation, Inc.
+   Copyright (C) 1996, 1997 Free Software Foundation, Inc.
    This file is part of the GNU C Library.
    Contributed by Richard Henderson <rth@tamu.edu>.
 
@@ -14,9 +14,9 @@
    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.  */
+   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.  */
 
 /* This was written in the absence of an ABI -- don't expect
    it to remain unchanged.  */
@@ -43,7 +43,12 @@ elf_machine_matches_host (Elf64_Word e_machine)
 static inline Elf64_Addr
 elf_machine_dynamic (void)
 {
+#ifdef AXP_MULTI_GOT_LD
   return (Elf64_Addr) &_DYNAMIC;
+#else
+  register Elf64_Addr *gp __asm__ ("$29");
+  return gp[-4096];
+#endif
 }
 
 /* Return the run-time load address of the shared object.  */
diff --git a/sysdeps/generic/abort.c b/sysdeps/generic/abort.c
index 366a543791..14c182b411 100644
--- a/sysdeps/generic/abort.c
+++ b/sysdeps/generic/abort.c
@@ -1,4 +1,4 @@
-/* Copyright (C) 1991, 1993, 1995, 1996 Free Software Foundation, Inc.
+/* Copyright (C) 1991, 1993, 1995, 1996, 1997 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
@@ -20,11 +20,12 @@
 #include <signal.h>
 #include <stdio.h>
 #include <stdlib.h>
+#include <string.h>
 #include <unistd.h>
 
 /* Try to get a machine dependent instruction which will make the
    program crash.  This is used in case everything else fails.  */
-#include "abort-instr.h"
+#include <abort-instr.h>
 #ifndef ABORT_INSTRUCTION
 /* No such instruction is available.  */
 # define ABORT_INSTRUCTION
@@ -46,7 +47,7 @@ abort (void)
   sigset_t sigs;
 
   /* First acquire the lock.  */
-  __libc_lock_lock (lock);
+  __libc_lock_lock_recursive (lock);
 
   /* Now it's for sure we are alone.  But recursive calls are possible.  */
 
@@ -70,8 +71,19 @@ abort (void)
   /* Send signal which possibly calls a user handler.  */
   if (stage == 2)
     {
-      ++stage;
+      /* This stage is special: we must allow repeated calls of
+	 `abort' when a user defined handler for SIGABRT is installed.
+	 This is risky since the `raise' implementation might also
+	 fail but I don't see another possiblity.  */
+      int save_stage = stage;
+
+      stage = 0;
+      __libc_lock_unlock_recursive (lock);
+
       raise (SIGABRT);
+
+      __libc_lock_lock_recursive (lock);
+      stage = save_stage + 1;
     }
 
   /* There was a handler installed.  Now remove it.  */
diff --git a/sysdeps/generic/gnu/types.h b/sysdeps/generic/gnu/types.h
index acd817bcab..85f17a4fb1 100644
--- a/sysdeps/generic/gnu/types.h
+++ b/sysdeps/generic/gnu/types.h
@@ -1,4 +1,4 @@
-/* Copyright (C) 1991, 92, 94, 95, 96 Free Software Foundation, Inc.
+/* Copyright (C) 1991, 92, 94, 95, 96, 97 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
@@ -29,17 +29,17 @@ typedef unsigned long __u_long;
 #ifdef __GNUC__
 typedef unsigned long long int __u_quad_t;
 typedef long long int __quad_t;
-typedef __quad_t *__qaddr_t;
 #else
 typedef struct
 {
-  long val[2];
+  long __val[2];
 } __quad_t;
 typedef struct
 {
-  __u_long val[2];
+  __u_long __val[2];
 } __u_quad_t;
 #endif
+typedef __quad_t *__qaddr_t;
 typedef int __dev_t;		/* Type of device numbers.  */
 typedef unsigned int __uid_t;	/* Type of user identifications.  */
 typedef unsigned int __gid_t;	/* Type of group identifications.  */
@@ -72,17 +72,10 @@ typedef long int __key_t;	/* Type of an IPC key */
 
 typedef struct
   {
-    /* Some braindead old software uses this member name.  */
+    /* XPG4.2 requires this member name.  */
     unsigned long int fds_bits[(__FD_SETSIZE + (__NFDBITS - 1)) / __NFDBITS];
   } __fd_set;
 
-typedef unsigned long __fd_mask;
-
-/* This line MUST be split!  Otherwise m4 will not change it.  */
-#define	__FD_ZERO(set)	\
-  ((void) memset ((__ptr_t) (set), 0, sizeof (fd_set)))
-#define	__FD_SET(d, set)	((set)->fds_bits[__FDELT(d)] |= __FDMASK(d))
-#define	__FD_CLR(d, set)	((set)->fds_bits[__FDELT(d)] &= ~__FDMASK(d))
-#define	__FD_ISSET(d, set)	((set)->fds_bits[__FDELT(d)] & __FDMASK(d))
+typedef unsigned long int __fd_mask;
 
 #endif /* gnu/types.h */
diff --git a/sysdeps/generic/selectbits.h b/sysdeps/generic/selectbits.h
new file mode 100644
index 0000000000..e2bdf6049e
--- /dev/null
+++ b/sysdeps/generic/selectbits.h
@@ -0,0 +1,29 @@
+/* Copyright (C) 1997 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.  */
+
+#ifndef _SELECTBITS_H
+#define _SELECTBITS_H	1
+
+/* This line MUST be split!  Otherwise m4 will not change it.  */
+#define __FD_ZERO(set)  \
+  ((void) memset ((__ptr_t) (set), 0, sizeof (fd_set)))
+#define __FD_SET(d, set)	((set)->fds_bits[__FDELT(d)] |= __FDMASK(d))
+#define __FD_CLR(d, set)	((set)->fds_bits[__FDELT(d)] &= ~__FDMASK(d))
+#define __FD_ISSET(d, set)	((set)->fds_bits[__FDELT(d)] & __FDMASK(d))
+
+#endif /* selectbits.h */
diff --git a/sysdeps/generic/speed.c b/sysdeps/generic/speed.c
index 229c0665e2..52e89508c0 100644
--- a/sysdeps/generic/speed.c
+++ b/sysdeps/generic/speed.c
@@ -1,45 +1,47 @@
 /* `struct termios' speed frobnication functions.  4.4 BSD/generic GNU version.
-Copyright (C) 1991, 1992, 1993, 1996 Free Software Foundation, Inc.
-This file is part of the GNU C Library.
+   Copyright (C) 1991, 1992, 1993, 1996, 1997 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 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.
+   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., 675 Mass Ave,
-Cambridge, MA 02139, USA.  */
+   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 <ansidecl.h>
 #include <stddef.h>
 #include <errno.h>
 #include <termios.h>
 
 /* Return the output baud rate stored in *TERMIOS_P.  */
 speed_t
-DEFUN(cfgetospeed, (termios_p), CONST struct termios *termios_p)
+cfgetospeed (termios_p)
+     const struct termios *termios_p;
 {
   return termios_p->__ospeed;
 }
 
 /* Return the input baud rate stored in *TERMIOS_P.  */
 speed_t
-DEFUN(cfgetispeed, (termios_p), CONST struct termios *termios_p)
+cfgetispeed (termios_p)
+     const struct termios *termios_p;
 {
   return termios_p->__ispeed;
 }
 
 /* Set the output baud rate stored in *TERMIOS_P to SPEED.  */
 int
-DEFUN(cfsetospeed, (termios_p, speed),
-      struct termios *termios_p AND speed_t speed)
+cfsetospeed (termios_p, speed)
+     struct termios *termios_p;
+     speed_t speed;
 {
   if (termios_p == NULL)
     {
@@ -53,8 +55,9 @@ DEFUN(cfsetospeed, (termios_p, speed),
 
 /* Set the input baud rate stored in *TERMIOS_P to SPEED.  */
 int
-DEFUN(cfsetispeed, (termios_p, speed),
-      struct termios *termios_p AND speed_t speed)
+cfsetispeed (termios_p, speed)
+     struct termios *termios_p;
+     speed_t speed;
 {
   if (termios_p == NULL)
     {
diff --git a/sysdeps/i386/selectbits.h b/sysdeps/i386/selectbits.h
new file mode 100644
index 0000000000..973ecad58e
--- /dev/null
+++ b/sysdeps/i386/selectbits.h
@@ -0,0 +1,57 @@
+/* Copyright (C) 1997 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.  */
+
+#ifndef _SELECTBITS_H
+#define _SELECTBITS_H	1
+
+#if defined __GNUC__ && __GNUC__ >= 2
+
+#define __FD_ZERO(fdsetp) \
+  __asm__ __volatile__ ("cld ; rep ; stosl"				      \
+			: "=m" (*(__fd_set *) (fdsetp))			      \
+			: "a" (0), "c" (sizeof (__fd_set)		      \
+					/ sizeof (__fd_mask)),		      \
+			  "D" ((__fd_set *) (fdsetp))			      \
+			:"cx","di")
+#define __FD_SET(fd, fdsetp) \
+  __asm__ __volatile__ ("btsl %1,%0"					      \
+			: "=m" (*(__fd_set *) (fdsetp))			      \
+			: "r" ((int) (fd)))
+#define __FD_CLR(fd, fdsetp) \
+  __asm__ __volatile__ ("btrl %1,%0"					      \
+			: "=m" (*(__fd_set *) (fdsetp))			      \
+			: "r" ((int) (fd)))
+#define __FD_ISSET(fd, fdsetp) \
+  (__extension__							      \
+   ({unsigned char __result;						      \
+     __asm__ __volatile__ ("btl %1,%2 ; setb %0"			      \
+			   : "=q" (__result)				      \
+			   : "r" ((int) (fd)), "m" (*(__fd_set *) (fdsetp))); \
+     __result; }))
+
+#else	/* ! GNU CC */
+
+#define __FD_ZERO(set)  \
+  ((void) memset ((__ptr_t) (set), 0, sizeof (fd_set)))
+#define __FD_SET(d, set)	((set)->fds_bits[__FDELT(d)] |= __FDMASK(d))
+#define __FD_CLR(d, set)	((set)->fds_bits[__FDELT(d)] &= ~__FDMASK(d))
+#define __FD_ISSET(d, set)	((set)->fds_bits[__FDELT(d)] & __FDMASK(d))
+
+#endif	/* GNU CC */
+
+#endif /* selectbits.h */
diff --git a/sysdeps/mach/syscall.h b/sysdeps/mach/sys/syscall.h
index 6e4ed4d64e..6e4ed4d64e 100644
--- a/sysdeps/mach/syscall.h
+++ b/sysdeps/mach/sys/syscall.h
diff --git a/sysdeps/posix/signal.c b/sysdeps/posix/signal.c
index 25e7cab617..2e0cf64de3 100644
--- a/sysdeps/posix/signal.c
+++ b/sysdeps/posix/signal.c
@@ -1,4 +1,5 @@
-/* Copyright (C) 1991, 1992, 1996 Free Software Foundation, Inc.
+/* BSD-like signal function.
+   Copyright (C) 1991, 1992, 1996, 1997 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
@@ -20,10 +21,12 @@
 #include <signal.h>
 
 
+sigset_t _sigintr;		/* Set by siginterrupt.  */
+
 /* Set the handler for the signal SIG to HANDLER,
    returning the old handler, or SIG_ERR on error.  */
 __sighandler_t
-signal (sig, handler)
+__bsd_signal (sig, handler)
      int sig;
      __sighandler_t handler;
 {
@@ -39,12 +42,12 @@ signal (sig, handler)
   act.sa_handler = handler;
   if (__sigemptyset (&act.sa_mask) < 0)
     return SIG_ERR;
-  act.sa_flags = SA_ONESHOT | SA_NOMASK | SA_INTERRUPT;
-  act.sa_flags &= ~SA_RESTART;
+  act.sa_flags = __sigismember (&_sigintr, sig) ? 0 : SA_RESTART;
   if (__sigaction (sig, &act, &oact) < 0)
     return SIG_ERR;
 
   return oact.sa_handler;
 }
-
-weak_alias (signal, ssignal)
+weak_alias (__bsd_signal, bsd_signal)
+weak_alias (__bsd_signal, signal)
+weak_alias (__bsd_signal, ssignal)
diff --git a/sysdeps/posix/sigpause.c b/sysdeps/posix/sigpause.c
index 8b820ecad9..414019a40d 100644
--- a/sysdeps/posix/sigpause.c
+++ b/sysdeps/posix/sigpause.c
@@ -1,4 +1,4 @@
-/* Copyright (C) 1991, 92, 94, 95, 96 Free Software Foundation, Inc.
+/* Copyright (C) 1991, 92, 94, 95, 96, 97 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
@@ -33,7 +33,7 @@ __sigpause (sig_or_mask, is_sig)
     {
       /* The modern X/Open implementation is requested.  */
       if (sigprocmask (0, NULL, &set) < 0
-	  /* Yes, we call `sigaddset' and not `__sigaddset'.  */
+	  /* Yes, we call `sigdelset' and not `__sigdelset'.  */
 	  || sigdelset (&set, sig_or_mask) < 0)
 	return -1;
     }
@@ -66,4 +66,5 @@ __default_sigpause (mask)
 {
   return __sigpause (mask, 0);
 }
+#undef sigpause
 weak_alias (__default_sigpause, sigpause)
diff --git a/sysdeps/posix/bsd_signal.c b/sysdeps/posix/sysv_signal.c
index 4941485c0d..2b6d5f9d56 100644
--- a/sysdeps/posix/bsd_signal.c
+++ b/sysdeps/posix/sysv_signal.c
@@ -1,5 +1,4 @@
-/* X/Open compatibility function.
-   Copyright (C) 1991, 1992, 1996 Free Software Foundation, Inc.
+/* Copyright (C) 1991, 1992, 1996, 1997 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
@@ -20,13 +19,21 @@
 #include <errno.h>
 #include <signal.h>
 
-
-sigset_t _sigintr;		/* Set by siginterrupt.  */
+/* Tolerate non-threads versions of Posix */
+#ifndef SA_ONESHOT
+#define SA_ONESHOT 0
+#endif
+#ifndef SA_NOMASK
+#define SA_NOMASK 0
+#endif
+#ifndef SA_INTERRUPT
+#define SA_INTERRUPT 0
+#endif
 
 /* Set the handler for the signal SIG to HANDLER,
    returning the old handler, or SIG_ERR on error.  */
 __sighandler_t
-bsd_signal (sig, handler)
+__sysv_signal (sig, handler)
      int sig;
      __sighandler_t handler;
 {
@@ -42,7 +49,8 @@ bsd_signal (sig, handler)
   act.sa_handler = handler;
   if (__sigemptyset (&act.sa_mask) < 0)
     return SIG_ERR;
-  act.sa_flags = __sigismember (&_sigintr, sig) ? 0 : SA_RESTART;
+  act.sa_flags = SA_ONESHOT | SA_NOMASK | SA_INTERRUPT;
+  act.sa_flags &= ~SA_RESTART;
   if (__sigaction (sig, &act, &oact) < 0)
     return SIG_ERR;
 
diff --git a/sysdeps/stub/libc-lock.h b/sysdeps/stub/libc-lock.h
index 63ea622cc4..724b6e59d4 100644
--- a/sysdeps/stub/libc-lock.h
+++ b/sysdeps/stub/libc-lock.h
@@ -1,5 +1,5 @@
 /* libc-internal interface for mutex locks.  Stub version.
-   Copyright (C) 1996 Free Software Foundation, Inc.
+   Copyright (C) 1996, 1997 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
@@ -33,6 +33,10 @@
 /* Define an initialized lock variable NAME with storage class CLASS.  */
 #define __libc_lock_define_initialized(CLASS,NAME)
 
+/* Define an initialized recursive lock variable NAME with storage
+   class CLASS.  */
+#define __libc_lock_define_initialized_recursive(CLASS,NAME)
+
 /* Initialize the named lock variable, leaving it in a consistent, unlocked
    state.  */
 #define __libc_lock_init(NAME)
@@ -45,15 +49,27 @@
    called on a lock variable before the containing storage is reused.  */
 #define __libc_lock_fini(NAME)
 
+/* Finalize recursive named lock.  */
+#define __libc_lock_fini_recursive(NAME)
+
 /* Lock the named lock variable.  */
 #define __libc_lock_lock(NAME)
 
-/* Try tp lock the named lock variable.  */
+/* Lock the recursive named lock variable.  */
+#define __libc_lock_lock_recursive(NAME)
+
+/* Try to lock the named lock variable.  */
 #define __libc_lock_trylock(NAME) 0
 
+/* Try to lock the recursive named lock variable.  */
+#define __libc_lock_trylock_recursive(NAME) 0
+
 /* Unlock the named lock variable.  */
 #define __libc_lock_unlock(NAME)
 
+/* Unlock the recursive named lock variable.  */
+#define __libc_lock_unlock_recursive(NAME)
+
 /* Start critical region with cleanup.  */
 #define __libc_cleanup_region_start(FCT, ARG)
 
diff --git a/sysdeps/stub/sigpause.c b/sysdeps/stub/sigpause.c
index 5e68899ed8..3525e3536f 100644
--- a/sysdeps/stub/sigpause.c
+++ b/sysdeps/stub/sigpause.c
@@ -28,3 +28,15 @@ __sigpause (sig_or_mask, is_sig)
   return -1;
 }
 stub_warning (__sigpause)
+
+
+int __default_sigpause __P ((int mask));
+int
+__default_sigpause (mask)
+     int mask;
+{
+  __set_errno (ENOSYS);
+  return -1;
+}
+weak_alias (__default_sigpause, sigpause)
+stub_warning (sigpause)
diff --git a/sysdeps/stub/syscall.h b/sysdeps/stub/sys/syscall.h
index 719bd08904..719bd08904 100644
--- a/sysdeps/stub/syscall.h
+++ b/sysdeps/stub/sys/syscall.h
diff --git a/sysdeps/unix/Makefile b/sysdeps/unix/Makefile
index a7bfa39c27..15993b34ac 100644
--- a/sysdeps/unix/Makefile
+++ b/sysdeps/unix/Makefile
@@ -1,4 +1,4 @@
-# Copyright (C) 1991, 92, 93, 94, 95, 96 Free Software Foundation, Inc.
+# Copyright (C) 1991, 92, 93, 94, 95, 96, 97 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
@@ -12,9 +12,9 @@
 # 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., 675 Mass Ave,
-# Cambridge, MA 02139, USA.
+# 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.
 
 # The unix-specific configure fragment writes `unix-generated' in config.make.
 config-generated := $(config-generated) $(unix-generated)
@@ -227,9 +227,9 @@ endif
 endif # stdio-common
 
 ifeq (,$(filter-out $(sysdep_dir)/stub/ $(common-objpfx),\
-	$(dir $(firstword $(wildcard $(+sysdep_dirs:%=%/syscall.h))))))
+	$(dir $(firstword $(wildcard $(+sysdep_dirs:%=%/sys/syscall.h))))))
 
-# The syscall code assumes a file <syscall.h> that defines macros
+# The syscall code assumes a file <sys/syscall.h> that defines macros
 # `SYS_call' for syscall `call'.  Variations on this I have seen include:
 # it's in <sys/syscall.h>;
 # it's in <sys.s>;
@@ -246,7 +246,8 @@ syscall.h := $(firstword $(wildcard $(addprefix $(sysincludedir)/, \
 ifdef syscall.h
 
 # Transmogrify any of several formats of the file into the one we want.
-$(common-objpfx)syscall.h: $(syscall.h)
+$(common-objpfx)sys/syscall.h: $(syscall.h)
+	-mkdir $(common-objpfx)sys
 	tr '[A-Z]' '[a-z]' < $< | \
 	sed -e 's/[ 	]sys_/ /' \
 	    -e 's/^#define[ 	]*\([a-z0-9_]*\)[ 	]*/#define SYS_\1 /' \
diff --git a/sysdeps/unix/bsd/poll.c b/sysdeps/unix/bsd/poll.c
index 4cccfe3b35..972cd011f1 100644
--- a/sysdeps/unix/bsd/poll.c
+++ b/sysdeps/unix/bsd/poll.c
@@ -1,20 +1,20 @@
-/* Copyright (C) 1994, 1996 Free Software Foundation, Inc.
-This file is part of the GNU C Library.
+/* Copyright (C) 1994, 1996, 1997 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 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.
+   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., 675 Mass Ave,
-Cambridge, MA 02139, USA.  */
+   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 <sys/poll.h>
 #include <sys/types.h>
diff --git a/sysdeps/unix/bsd/sun/sunos4/tcsetattr.c b/sysdeps/unix/bsd/sun/sunos4/tcsetattr.c
index f825d41ab8..da30f7b4c2 100644
--- a/sysdeps/unix/bsd/sun/sunos4/tcsetattr.c
+++ b/sysdeps/unix/bsd/sun/sunos4/tcsetattr.c
@@ -1,23 +1,22 @@
-/* Copyright (C) 1993, 1996 Free Software Foundation, Inc.
-This file is part of the GNU C Library.
+/* Copyright (C) 1993, 1996, 1997 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 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.
+   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., 675 Mass Ave,
-Cambridge, MA 02139, USA.  */
+   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 <errno.h>
-#include <stddef.h>
 #include <termios.h>
 #include <sys/ioctl.h>
 
diff --git a/sysdeps/unix/bsd/tcdrain.c b/sysdeps/unix/bsd/tcdrain.c
index 84bc06813d..1620eeda89 100644
--- a/sysdeps/unix/bsd/tcdrain.c
+++ b/sysdeps/unix/bsd/tcdrain.c
@@ -1,20 +1,20 @@
-/* Copyright (C) 1991, 1996 Free Software Foundation, Inc.
-This file is part of the GNU C Library.
+/* Copyright (C) 1991, 1996, 1997 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 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.
+   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., 675 Mass Ave,
-Cambridge, MA 02139, USA.  */
+   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 <errno.h>
 #include <stddef.h>
diff --git a/sysdeps/unix/bsd/tcflow.c b/sysdeps/unix/bsd/tcflow.c
index 04895a0648..e21efcabb8 100644
--- a/sysdeps/unix/bsd/tcflow.c
+++ b/sysdeps/unix/bsd/tcflow.c
@@ -1,20 +1,20 @@
-/* Copyright (C) 1991, 1992, 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., 675 Mass Ave,
-Cambridge, MA 02139, USA.  */
+/* Copyright (C) 1991, 1992, 1996, 1997 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 <errno.h>
 #include <stddef.h>
diff --git a/sysdeps/unix/bsd/tcflush.c b/sysdeps/unix/bsd/tcflush.c
index 9806aaf435..3a88191d0c 100644
--- a/sysdeps/unix/bsd/tcflush.c
+++ b/sysdeps/unix/bsd/tcflush.c
@@ -1,20 +1,20 @@
-/* Copyright (C) 1991, 1992, 1996 Free Software Foundation, Inc.
-This file is part of the GNU C Library.
+/* Copyright (C) 1991, 1992, 1996, 1997 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 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.
+   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., 675 Mass Ave,
-Cambridge, MA 02139, USA.  */
+   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 <errno.h>
 #include <stddef.h>
diff --git a/sysdeps/unix/bsd/tcgetpgrp.c b/sysdeps/unix/bsd/tcgetpgrp.c
index b41f005375..afa24fbd31 100644
--- a/sysdeps/unix/bsd/tcgetpgrp.c
+++ b/sysdeps/unix/bsd/tcgetpgrp.c
@@ -1,22 +1,21 @@
-/* Copyright (C) 1991 Free Software Foundation, Inc.
-This file is part of the GNU C Library.
+/* Copyright (C) 1991, 1997 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 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.
+   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., 675 Mass Ave,
-Cambridge, MA 02139, USA.  */
+   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 <ansidecl.h>
 #include <sys/ioctl.h>
 #include <errno.h>
 #include <unistd.h>
@@ -24,10 +23,12 @@ Cambridge, MA 02139, USA.  */
 
 /* Return the foreground process group ID of FD.  */
 pid_t
-DEFUN(tcgetpgrp, (fd), int fd)
+tcgetpgrp (fd)
+     int fd;
 {
   int pgrp;
-  if (__ioctl(fd, TIOCGPGRP, &pgrp) < 0)
+
+  if (__ioctl (fd, TIOCGPGRP, &pgrp) < 0)
     return (pid_t) -1;
   return (pid_t) pgrp;
 }
diff --git a/sysdeps/unix/bsd/tcsendbrk.c b/sysdeps/unix/bsd/tcsendbrk.c
index 574f442b7b..8e63163af1 100644
--- a/sysdeps/unix/bsd/tcsendbrk.c
+++ b/sysdeps/unix/bsd/tcsendbrk.c
@@ -1,22 +1,21 @@
-/* Copyright (C) 1991, 1992 Free Software Foundation, Inc.
-This file is part of the GNU C Library.
+/* Copyright (C) 1991, 1992, 1997 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 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.
+   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., 675 Mass Ave,
-Cambridge, MA 02139, USA.  */
+   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 <ansidecl.h>
 #include <errno.h>
 #include <stddef.h>
 #include <signal.h>
@@ -29,7 +28,9 @@ Cambridge, MA 02139, USA.  */
 
 /* Send zero bits on FD.  */
 int
-DEFUN(tcsendbreak, (fd, duration), int fd AND int duration)
+tcsendbreak (fd, duration)
+     int fd;
+     int duration;
 {
   struct timeval delay;
 
diff --git a/sysdeps/unix/bsd/tcsetpgrp.c b/sysdeps/unix/bsd/tcsetpgrp.c
index e5da8b3f8c..cfb695a4f1 100644
--- a/sysdeps/unix/bsd/tcsetpgrp.c
+++ b/sysdeps/unix/bsd/tcsetpgrp.c
@@ -1,22 +1,21 @@
-/* Copyright (C) 1991 Free Software Foundation, Inc.
-This file is part of the GNU C Library.
+/* Copyright (C) 1991, 1997 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 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.
+   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., 675 Mass Ave,
-Cambridge, MA 02139, USA.  */
+   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 <ansidecl.h>
 #include <sys/types.h>
 #include <sys/ioctl.h>
 #include <errno.h>
@@ -24,7 +23,9 @@ Cambridge, MA 02139, USA.  */
 
 /* Set the foreground process group ID of FD set PGRP_ID.  */
 int
-DEFUN(tcsetpgrp, (fd, pgrp_id), int fd AND pid_t pgrp_id)
+tcsetpgrp (fd, pgrp_id)
+     int fd;
+     pid_t pgrp_id;
 {
-  return __ioctl(fd, TIOCSPGRP, &pgrp_id);
+  return __ioctl (fd, TIOCSPGRP, &pgrp_id);
 }
diff --git a/sysdeps/unix/getdents.c b/sysdeps/unix/getdents.c
index 6dec0dc5b5..e356e96d71 100644
--- a/sysdeps/unix/getdents.c
+++ b/sysdeps/unix/getdents.c
@@ -1,20 +1,20 @@
-/* Copyright (C) 1993, 1995, 1996 Free Software Foundation, Inc.
-This file is part of the GNU C Library.
+/* Copyright (C) 1993, 1995, 1996, 1997 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 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.
+   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., 675 Mass Ave,
-Cambridge, MA 02139, USA.  */
+   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 <stddef.h>
 #include <sys/types.h>
diff --git a/sysdeps/unix/siglist.c b/sysdeps/unix/siglist.c
index c904e7f38d..4e69530715 100644
--- a/sysdeps/unix/siglist.c
+++ b/sysdeps/unix/siglist.c
@@ -1,4 +1,21 @@
-#include <ansidecl.h>
+/* Copyright (C) 1996, 1997 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 <stddef.h>
 
 #ifndef HAVE_GNU_LD
@@ -7,40 +24,39 @@
 
 /* This is a list of all known signal numbers.  */
 
-CONST char *CONST _sys_siglist[] =
+const char *const _sys_siglist[] =
   {
-    "Signal 0",
-    "Hangup",
-    "Interrupt",
-    "Quit",
-    "Illegal instruction",
-    "Trace/BPT trap",
-    "IOT trap",
-    "EMT trap",
-    "Floating point exception",
-    "Killed",
-    "Bus error",
-    "Segmentation fault",
-    "Bad system call",
-    "Broken pipe",
-    "Alarm clock",
-    "Terminated",
-    "Urgent I/O condition",
-    "Stopped (signal)",
-    "Stopped",
-    "Continued",
-    "Child exited",
-    "Stopped (tty input)",
-    "Stopped (tty output)",
-    "I/O possible",
-    "Cputime limit exceeded",
-    "Filesize limit exceeded",
-    "Virtual timer expired",
-    "Profiling timer expired",
-    "Window changed",
-    "Resource lost",
-    "User defined signal 1",
-    "User defined signal 2",
+    N_("Signal 0"),
+    N_("Hangup"),
+    N_("Interrupt"),
+    N_("Quit"),
+    N_("Illegal instruction"),
+    N_("Trace/BPT trap"),
+    N_("IOT trap"),
+    N_("EMT trap"),
+    N_("Floating point exception"),
+    N_("Killed"),
+    N_("Bus error"),
+    N_("Segmentation fault"),
+    N_("Bad system call"),
+    N_("Broken pipe"),
+    N_("Alarm clock"),
+    N_("Terminated"),
+    N_("Urgent I/O condition"),
+    N_("Stopped (signal)"),
+    N_("Stopped"),
+    N_("Continued"),
+    N_("Child exited"),
+    N_("Stopped (tty input)"),
+    N_("Stopped (tty output)"),
+    N_("I/O possible"),
+    N_("Cputime limit exceeded"),
+    N_("Filesize limit exceeded"),
+    N_("Virtual timer expired"),
+    N_("Profiling timer expired"),
+    N_("Window changed"),
+    N_("Resource lost"),
+    N_("User defined signal 1"),
+    N_("User defined signal 2"),
     NULL
   };
-
diff --git a/sysdeps/unix/sysdep.h b/sysdeps/unix/sysdep.h
index f18b2656b1..dc8c0b34d2 100644
--- a/sysdeps/unix/sysdep.h
+++ b/sysdeps/unix/sysdep.h
@@ -18,7 +18,7 @@
 
 #include <sysdeps/generic/sysdep.h>
 
-#include <syscall.h>
+#include <sys/syscall.h>
 #define	HAVE_SYSCALLS
 
 /* Note that using a `PASTE' macro loses.  */
diff --git a/sysdeps/unix/sysv/getdents.c b/sysdeps/unix/sysv/getdents.c
index bb6c812647..109f29a2b1 100644
--- a/sysdeps/unix/sysv/getdents.c
+++ b/sysdeps/unix/sysv/getdents.c
@@ -1,22 +1,21 @@
-/* Copyright (C) 1993, 1995 Free Software Foundation, Inc.
-This file is part of the GNU C Library.
+/* Copyright (C) 1993, 1995, 1997 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 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.
+   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., 675 Mass Ave,
-Cambridge, MA 02139, USA.  */
+   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 <ansidecl.h>
 #include <stddef.h>
 #include <errno.h>
 #include <sys/types.h>
@@ -25,8 +24,11 @@ Cambridge, MA 02139, USA.  */
 extern int __getdents __P ((int fd, char *buf, size_t nbytes));
 
 int
-DEFUN(__getdirentries, (fd, buf, nbytes, basep),
-      int fd AND char *buf AND size_t nbytes AND off_t *basep)
+__getdirentries (fd, buf, nbytes, basep)
+     int fd;
+     char *buf;
+     size_t nbytes;
+     off_t *basep;
 {
   if (basep)
     *basep = __lseek (fd, (off_t) 0, SEEK_CUR);
diff --git a/sysdeps/unix/sysv/i386/sigreturn.S b/sysdeps/unix/sysv/i386/sigreturn.S
index be1c6b89bf..8477bbd075 100644
--- a/sysdeps/unix/sysv/i386/sigreturn.S
+++ b/sysdeps/unix/sysv/i386/sigreturn.S
@@ -1,20 +1,20 @@
-/* Copyright (C) 1994, 1995 Free Software Foundation, Inc.
-This file is part of the GNU C Library.
+/* Copyright (C) 1994, 1995, 1997 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 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.
+   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., 675 Mass Ave,
-Cambridge, MA 02139, USA.  */
+   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 <sysdep.h>
 
diff --git a/sysdeps/unix/sysv/linux/Dist b/sysdeps/unix/sysv/linux/Dist
index 425fb589f7..766d96a110 100644
--- a/sysdeps/unix/sysv/linux/Dist
+++ b/sysdeps/unix/sysv/linux/Dist
@@ -1,4 +1,5 @@
 init-first.h
+kernel_termios.h
 llseek.c
 siglist.h
 sysctl.c
diff --git a/sysdeps/unix/sysv/linux/Makefile b/sysdeps/unix/sysv/linux/Makefile
index c03d966a61..97fb5f14a5 100644
--- a/sysdeps/unix/sysv/linux/Makefile
+++ b/sysdeps/unix/sysv/linux/Makefile
@@ -13,7 +13,7 @@ sysdep_headers += sys/mount.h sys/acct.h sys/sysctl.h sys/mtio.h \
 		  sys/debugreg.h sys/kd.h sys/soundcard.h sys/vt.h
 
 # Generate the list of SYS_* macros for the system calls (__NR_* macros).
-$(objpfx)syscall-%.h $(objpfx)syscall-%.d: ../sysdeps/unix/sysv/linux/syscall.h
+$(objpfx)syscall-%.h $(objpfx)syscall-%.d: ../sysdeps/unix/sysv/linux/sys/syscall.h
 	rm -f $(@:.h=.d)
 	echo > $(@:.d=.h).new \
 	     '/* Generated at libc build time from kernel syscall list.  */'
diff --git a/sysdeps/unix/sysv/linux/alpha/Dist b/sysdeps/unix/sysv/linux/alpha/Dist
index d898d041a2..a15f181ff6 100644
--- a/sysdeps/unix/sysv/linux/alpha/Dist
+++ b/sysdeps/unix/sysv/linux/alpha/Dist
@@ -4,3 +4,5 @@ ioperm.c
 init-first.h
 clone.S
 sys/io.h
+kernel_termios.h
+sys/acct.h
diff --git a/sysdeps/unix/sysv/linux/alpha/gnu/types.h b/sysdeps/unix/sysv/linux/alpha/gnu/types.h
new file mode 100644
index 0000000000..5c1e407423
--- /dev/null
+++ b/sysdeps/unix/sysv/linux/alpha/gnu/types.h
@@ -0,0 +1,89 @@
+/* Copyright (C) 1991, 92, 94, 95, 96, 97 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.  */
+
+#ifndef	_GNU_TYPES_H
+#define	_GNU_TYPES_H	1
+
+#include <features.h>
+
+/* Convenience types.  */
+typedef unsigned char __u_char;
+typedef unsigned short __u_short;
+typedef unsigned int __u_int;
+typedef unsigned long __u_long;
+#ifdef __GNUC__
+typedef unsigned long long int __u_quad_t;
+typedef long long int __quad_t;
+#else
+typedef struct
+  {
+    long int __val[2];
+  } __quad_t;
+typedef struct
+  {
+    __u_long __val[2];
+  } __u_quad_t;
+#endif
+typedef __quad_t *__qaddr_t;
+
+typedef __u_long __dev_t;		/* Type of device numbers.  */
+typedef __u_int __uid_t;		/* Type of user identifications.  */
+typedef __u_int __gid_t;		/* Type of group identifications.  */
+typedef __u_int __ino_t;		/* Type of file serial numbers.  */
+typedef __u_int __mode_t;		/* Type of file attribute bitmasks.  */
+typedef __u_int __nlink_t; 		/* Type of file link counts.  */
+typedef long int __off_t;		/* Type of file sizes and offsets.  */
+typedef __quad_t __loff_t;		/* Type of file sizes and offsets.  */
+typedef int __pid_t;			/* Type of process identifications.  */
+typedef long int __ssize_t;		/* Type of a byte count, or error.  */
+
+typedef struct
+  {
+    int __val[2];
+  } __fsid_t;				/* Type of file system IDs.  */
+
+/* Everythin' else.  */
+typedef int __daddr_t;			/* The type of a disk address.  */
+typedef char *__caddr_t;
+typedef long int __time_t;
+typedef long int __swblk_t;		/* Type of a swap block maybe?  */
+
+typedef long int __clock_t;
+
+/* One element in the file descriptor mask array.  */
+typedef unsigned int __fd_mask;
+
+/* Number of descriptors that can fit in an `fd_set'.  */
+#define __FD_SETSIZE	1024
+
+/* It's easier to assume 8-bit bytes than to get CHAR_BIT.  */
+#define __NFDBITS	(8 * sizeof (__fd_mask))
+#define	__FDELT(d)	((d) / __NFDBITS)
+#define	__FDMASK(d)	(1 << ((d) % __NFDBITS))
+
+/* fd_set for select and pselect.  */
+typedef struct
+  {
+    /* XPG4.2 requires this member name.  */
+    __fd_mask fds_bits[__FD_SETSIZE / __NFDBITS];
+  } __fd_set;
+
+
+typedef int __key_t;
+
+#endif /* gnu/types.h */
diff --git a/sysdeps/unix/sysv/linux/alpha/ioctl-types.h b/sysdeps/unix/sysv/linux/alpha/ioctl-types.h
new file mode 100644
index 0000000000..c51310f4cd
--- /dev/null
+++ b/sysdeps/unix/sysv/linux/alpha/ioctl-types.h
@@ -0,0 +1,123 @@
+/* Structure types for pre-termios terminal ioctls.  Linux version.
+   Copyright (C) 1996, 1997 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.  */
+
+#ifndef _IOCTL_TYPES_H
+#define _IOCTL_TYPES_H 1
+
+/* Get definition of constants for use with `ioctl'.  */
+#include <asm/ioctl.h>
+
+
+#define FIOCLEX		_IO('f', 1)
+#define FIONCLEX	_IO('f', 2)
+#define FIOASYNC	_IOW('f', 125, int)
+#define FIONBIO		_IOW('f', 126, int)
+#define FIONREAD	_IOR('f', 127, int)
+#define TIOCINQ		FIONREAD
+
+#define TIOCGETP	_IOR('t', 8, struct sgttyb)
+#define TIOCSETP	_IOW('t', 9, struct sgttyb)
+#define TIOCSETN	_IOW('t', 10, struct sgttyb)	/* TIOCSETP wo flush */
+
+#define TIOCSETC	_IOW('t', 17, struct tchars)
+#define TIOCGETC	_IOR('t', 18, struct tchars)
+#define TCGETS		_IOR('t', 19, struct termios)
+#define TCSETS		_IOW('t', 20, struct termios)
+#define TCSETSW		_IOW('t', 21, struct termios)
+#define TCSETSF		_IOW('t', 22, struct termios)
+
+#define TCGETA		_IOR('t', 23, struct termio)
+#define TCSETA		_IOW('t', 24, struct termio)
+#define TCSETAW		_IOW('t', 25, struct termio)
+#define TCSETAF		_IOW('t', 28, struct termio)
+
+#define TCSBRK		_IO('t', 29)
+#define TCXONC		_IO('t', 30)
+#define TCFLSH		_IO('t', 31)
+
+#define TIOCSWINSZ	_IOW('t', 103, struct winsize)
+#define TIOCGWINSZ	_IOR('t', 104, struct winsize)
+#define	TIOCSTART	_IO('t', 110)		/* start output, like ^Q */
+#define	TIOCSTOP	_IO('t', 111)		/* stop output, like ^S */
+#define TIOCOUTQ        _IOR('t', 115, int)     /* output queue size */
+
+#define TIOCGLTC	_IOR('t', 116, struct ltchars)
+#define TIOCSLTC	_IOW('t', 117, struct ltchars)
+#define TIOCSPGRP	_IOW('t', 118, int)
+#define TIOCGPGRP	_IOR('t', 119, int)
+
+#define TIOCEXCL	0x540C
+#define TIOCNXCL	0x540D
+#define TIOCSCTTY	0x540E
+
+#define TIOCSTI		0x5412
+#define TIOCMGET	0x5415
+#define TIOCMBIS	0x5416
+#define TIOCMBIC	0x5417
+#define TIOCMSET	0x5418
+# define TIOCM_LE	0x001
+# define TIOCM_DTR	0x002
+# define TIOCM_RTS	0x004
+# define TIOCM_ST	0x008
+# define TIOCM_SR	0x010
+# define TIOCM_CTS	0x020
+# define TIOCM_CAR	0x040
+# define TIOCM_RNG	0x080
+# define TIOCM_DSR	0x100
+# define TIOCM_CD	TIOCM_CAR
+# define TIOCM_RI	TIOCM_RNG
+
+#define TIOCGSOFTCAR	0x5419
+#define TIOCSSOFTCAR	0x541A
+#define TIOCLINUX	0x541C
+#define TIOCCONS	0x541D
+#define TIOCGSERIAL	0x541E
+#define TIOCSSERIAL	0x541F
+#define TIOCPKT		0x5420
+# define TIOCPKT_DATA		 0
+# define TIOCPKT_FLUSHREAD	 1
+# define TIOCPKT_FLUSHWRITE	 2
+# define TIOCPKT_STOP		 4
+# define TIOCPKT_START		 8
+# define TIOCPKT_NOSTOP		16
+# define TIOCPKT_DOSTOP		32
+
+
+#define TIOCNOTTY	0x5422
+#define TIOCSETD	0x5423
+#define TIOCGETD	0x5424
+#define TCSBRKP		0x5425	/* Needed for POSIX tcsendbreak() */
+#define TIOCTTYGSTRUCT	0x5426  /* For debugging only */
+
+#define TIOCSERCONFIG	0x5453
+#define TIOCSERGWILD	0x5454
+#define TIOCSERSWILD	0x5455
+#define TIOCGLCKTRMIOS	0x5456
+#define TIOCSLCKTRMIOS	0x5457
+#define TIOCSERGSTRUCT	0x5458 /* For debugging only */
+#define TIOCSERGETLSR   0x5459 /* Get line status register */
+  /* ioctl (fd, TIOCSERGETLSR, &result) where result may be as below */
+# define TIOCSER_TEMT    0x01	/* Transmitter physically empty */
+#define TIOCSERGETMULTI 0x545A /* Get multiport config  */
+#define TIOCSERSETMULTI 0x545B /* Set multiport config */
+
+#define TIOCMIWAIT	0x545C	/* wait for a change on serial input line(s) */
+#define TIOCGICOUNT	0x545D	/* read serial port inline interrupt counts */
+
+#endif /* ioctl-types.h */
diff --git a/sysdeps/unix/sysv/linux/alpha/kernel_termios.h b/sysdeps/unix/sysv/linux/alpha/kernel_termios.h
new file mode 100644
index 0000000000..cb030e4de4
--- /dev/null
+++ b/sysdeps/unix/sysv/linux/alpha/kernel_termios.h
@@ -0,0 +1,18 @@
+/* The following corresponds to the values from the Linux 2.1.20 kernel.  */
+
+#define KERNEL_NCCS 19
+
+struct kernel_termios
+  {
+    tcflag_t c_iflag;		/* input mode flags */
+    tcflag_t c_oflag;		/* output mode flags */
+    tcflag_t c_cflag;		/* control mode flags */
+    tcflag_t c_lflag;		/* local mode flags */
+    cc_t c_cc[KERNEL_NCCS];	/* control characters */
+    cc_t c_line;		/* line discipline */
+    speed_t c_ispeed;		/* input speed */
+    speed_t c_ospeed;		/* output speed */
+  };
+
+#define _HAVE_C_ISPEED 1
+#define _HAVE_C_OSPEED 1
diff --git a/sysdeps/unix/sysv/linux/alpha/sys/acct.h b/sysdeps/unix/sysv/linux/alpha/sys/acct.h
new file mode 100644
index 0000000000..6dda5f4922
--- /dev/null
+++ b/sysdeps/unix/sysv/linux/alpha/sys/acct.h
@@ -0,0 +1,66 @@
+/* Copyright (C) 1996, 1997 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.  */
+
+#ifndef _SYS_ACCT_H
+
+#define _SYS_ACCT_H	1
+#include <features.h>
+
+#define	__need_time_t
+#include <time.h>
+
+
+__BEGIN_DECLS
+
+#define ACCT_COMM 16
+
+struct acct
+  {
+    char ac_comm[ACCT_COMM];		/* Accounting command name.  */
+    time_t ac_utime;			/* Accounting user time.  */
+    time_t ac_stime;			/* Accounting system time.  */
+    time_t ac_etime;			/* Accounting elapsed time.  */
+    time_t ac_btime;			/* Beginning time.  */
+    unsigned int ac_uid;		/* Accounting user ID.  */
+    unsigned int ac_gid;		/* Accounting group ID.  */
+    unsigned int ac_tty;		/* Controlling tty.  */
+    /* Please note that the value of the `ac_tty' field, a device number,
+       is encoded differently in the kernel and for the libc dev_t type.  */
+    char ac_flag;			/* Accounting flag.  */
+    long int ac_minflt;			/* Accounting minor pagefaults.  */
+    long int ac_majflt;			/* Accounting major pagefaults.  */
+    long int ac_exitcode;		/* Accounting process exitcode.  */
+  };
+
+enum
+  {
+    AFORK = 0001,		/* Has executed fork, but no exec.  */
+    ASU = 0002,			/* Used super-user privileges.  */
+    ACORE = 0004,		/* Dumped core.  */
+    AXSIG = 0010		/* Killed by a signal.  */
+  };
+
+#define AHZ     100
+
+
+/* Switch process accounting on and off.  */
+extern int acct __P ((__const char *__filename));
+
+__END_DECLS
+
+#endif	/* sys/acct.h */
diff --git a/sysdeps/unix/sysv/linux/alpha/termbits.h b/sysdeps/unix/sysv/linux/alpha/termbits.h
new file mode 100644
index 0000000000..6cb729f7f8
--- /dev/null
+++ b/sysdeps/unix/sysv/linux/alpha/termbits.h
@@ -0,0 +1,188 @@
+/* termios type and macro definitions.  Linux version.
+   Copyright (C) 1993, 1994, 1995, 1996, 1997 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.  */
+
+typedef unsigned char	cc_t;
+typedef unsigned int	speed_t;
+typedef unsigned int	tcflag_t;
+
+#define NCCS 32
+struct termios
+  {
+    tcflag_t c_iflag;		/* input mode flags */
+    tcflag_t c_oflag;		/* output mode flags */
+    tcflag_t c_cflag;		/* control mode flags */
+    tcflag_t c_lflag;		/* local mode flags */
+    cc_t c_cc[NCCS];		/* control characters */
+    cc_t c_line;		/* line discipline (== c_cc[19]) */
+    speed_t c_ispeed;		/* input speed */
+    speed_t c_ospeed;		/* output speed */
+  };
+
+/* c_cc characters */
+#define VEOF 0
+#define VEOL 1
+#define VEOL2 2
+#define VERASE 3
+#define VWERASE 4
+#define VKILL 5
+#define VREPRINT 6
+#define VSWTC 7
+#define VINTR 8
+#define VQUIT 9
+#define VSUSP 10
+#define VSTART 12
+#define VSTOP 13
+#define VLNEXT 14
+#define VDISCARD 15
+#define VMIN 16
+#define VTIME 17
+
+/* c_iflag bits */
+#define IGNBRK	0000001
+#define BRKINT	0000002
+#define IGNPAR	0000004
+#define PARMRK	0000010
+#define INPCK	0000020
+#define ISTRIP	0000040
+#define INLCR	0000100
+#define IGNCR	0000200
+#define ICRNL	0000400
+#define IXON	0001000
+#define IXOFF	0002000
+#ifdef __USE_BSD
+  /* POSIX.1 doesn't want these... */
+# define IXANY		0004000
+# define IUCLC		0010000
+# define IMAXBEL	0020000
+#endif
+
+/* c_oflag bits */
+#define OPOST	0000001
+#define ONLCR	0000002
+#define OLCUC	0000004
+
+#define OCRNL	0000010
+#define ONOCR	0000020
+#define ONLRET	0000040
+
+#define OFILL	00000100
+#define OFDEL	00000200
+#define NLDLY	00001400
+#define   NL0	00000000
+#define   NL1	00000400
+#define   NL2	00001000
+#define   NL3	00001400
+#define TABDLY	00006000
+#define   TAB0	00000000
+#define   TAB1	00002000
+#define   TAB2	00004000
+#define   TAB3	00006000
+#define CRDLY	00030000
+#define   CR0	00000000
+#define   CR1	00010000
+#define   CR2	00020000
+#define   CR3	00030000
+#define FFDLY	00040000
+#define   FF0	00000000
+#define   FF1	00040000
+#define BSDLY	00100000
+#define   BS0	00000000
+#define   BS1	00100000
+#define VTDLY	00200000
+#define   VT0	00000000
+#define   VT1	00200000
+#define XTABS	01000000 /* Hmm.. Linux/i386 considers this part of TABDLY.. */
+
+/* c_cflag bit meaning */
+#define CBAUD	0000037
+#define  B0	0000000		/* hang up */
+#define  B50	0000001
+#define  B75	0000002
+#define  B110	0000003
+#define  B134	0000004
+#define  B150	0000005
+#define  B200	0000006
+#define  B300	0000007
+#define  B600	0000010
+#define  B1200	0000011
+#define  B1800	0000012
+#define  B2400	0000013
+#define  B4800	0000014
+#define  B9600	0000015
+#define  B19200	0000016
+#define  B38400	0000017
+#define EXTA B19200
+#define EXTB B38400
+#define CBAUDEX 0000000
+#define  B57600   00020
+#define  B115200  00021
+#define  B230400  00022
+#define  B460800  00023
+
+#define CSIZE	00001400
+#define   CS5	00000000
+#define   CS6	00000400
+#define   CS7	00001000
+#define   CS8	00001400
+
+#define CSTOPB	00002000
+#define CREAD	00004000
+#define PARENB	00010000
+#define PARODD	00020000
+#define HUPCL	00040000
+
+#define CLOCAL	00100000
+#define CRTSCTS	  020000000000		/* flow control */
+
+/* c_lflag bits */
+#define ISIG	0x00000080
+#define ICANON	0x00000100
+#define XCASE	0x00004000
+#define ECHO	0x00000008
+#define ECHOE	0x00000002
+#define ECHOK	0x00000004
+#define ECHONL	0x00000010
+#define NOFLSH	0x80000000
+#define TOSTOP	0x00400000
+#define ECHOCTL	0x00000040
+#define ECHOPRT	0x00000020
+#define ECHOKE	0x00000001
+#define FLUSHO	0x00800000
+#define PENDIN	0x20000000
+#define IEXTEN	0x00000400
+
+/* Values for the ACTION argument to `tcflow'.  */
+#define	TCOOFF		0
+#define	TCOON		1
+#define	TCIOFF		2
+#define	TCION		3
+
+/* Values for the QUEUE_SELECTOR argument to `tcflush'.  */
+#define	TCIFLUSH	0
+#define	TCOFLUSH	1
+#define	TCIOFLUSH	2
+
+/* Values for the OPTIONAL_ACTIONS argument to `tcsetattr'.  */
+#define	TCSANOW		0
+#define	TCSADRAIN	1
+#define	TCSAFLUSH	2
+
+
+#define _IOT_termios /* Hurd ioctl type field.  */ \
+  _IOT (_IOTS (cflag_t), 4, _IOTS (cc_t), NCCS, _IOTS (speed_t), 2)
diff --git a/sysdeps/unix/sysv/linux/alpha/ustat.c b/sysdeps/unix/sysv/linux/alpha/ustat.c
new file mode 100644
index 0000000000..c09b4fd84e
--- /dev/null
+++ b/sysdeps/unix/sysv/linux/alpha/ustat.c
@@ -0,0 +1,32 @@
+/* Copyright (C) 1997 Free Software Foundation, Inc.
+   This file is part of the GNU C Library.
+   Contributed by Ulrich Drepper <drepper@cygnus.com>, 1997.
+
+   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 <sys/ustat.h>
+#include <sys/sysmacros.h>
+
+int
+ustat (dev_t dev, struct ustat *ubuf)
+{
+  unsigned int k_dev;
+
+  /* We must convert the value to dev_t type used by the kernel.  */
+  k_dev = ((major (dev) & 0xff) << 8) | (minor (dev) & 0xff);
+
+  return __syscall_ustat (k_dev, ubuf);
+}
diff --git a/sysdeps/unix/sysv/linux/alpha/xmknod.c b/sysdeps/unix/sysv/linux/alpha/xmknod.c
new file mode 100644
index 0000000000..f4cdd7135a
--- /dev/null
+++ b/sysdeps/unix/sysv/linux/alpha/xmknod.c
@@ -0,0 +1,46 @@
+/* xmknod call using old-style Unix mknod system call.
+   Copyright (C) 1991, 1993, 1995, 1996, 1997 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 <errno.h>
+#include <sys/types.h>
+#include <sys/stat.h>
+
+extern int __syscall_mknod (const char *, unsigned int, unsigned int);
+
+/* Create a device file named PATH, with permission and special bits MODE
+   and device number DEV (which can be constructed from major and minor
+   device numbers with the `makedev' macro above).  */
+int
+__xmknod (int vers, const char *path, mode_t mode, dev_t *dev)
+{
+  unsigned int k_dev;
+
+  if (vers != _MKNOD_VER)
+    {
+      __set_errno (EINVAL);
+      return -1;
+    }
+
+  /* We must convert the value to dev_t type used by the kernel.  */
+  k_dev = ((major (*dev) & 0xff) << 8) | (minor (*dev) & 0xff);
+
+  return __syscall_mknod (path, mode, k_dev);
+}
+
+weak_alias (__xmknod, _xmknod)
diff --git a/sysdeps/unix/sysv/linux/direntry.h b/sysdeps/unix/sysv/linux/direntry.h
index 486ad0a0f2..ccf5080151 100644
--- a/sysdeps/unix/sysv/linux/direntry.h
+++ b/sysdeps/unix/sysv/linux/direntry.h
@@ -1,4 +1,4 @@
-/* Copyright (C) 1996 Free Software Foundation, Inc.
+/* Copyright (C) 1996, 1997 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
@@ -19,14 +19,19 @@
 #ifndef _DIRENTRY_H
 #define _DIRENTRY_H	1
 
-/* Get `struct dirent' from the Linux kernel header file.  */
-#include <asm/posix_types.h>
-#include <linux/dirent.h>
-
-#define d_fileno	d_ino	/* backwards compatibility */
+struct dirent
+  {
+    long int d_ino;
+    __off_t d_off;
+    unsigned short int d_reclen;
+    unsigned char d_type;
+    char d_name[256];		/* We must not include limits.h! */
+  };
+#define d_fileno	d_ino	/* Backwards compatibility.  */
 
 #undef  _DIRENT_HAVE_D_NAMLEN
 #define _DIRENT_HAVE_D_RECLEN
 #define _DIRENT_HAVE_D_OFF
+#define _DIRENT_HAVE_D_TYPE
 
 #endif /* _DIRENTRY_H */
diff --git a/sysdeps/unix/sysv/linux/getdents.c b/sysdeps/unix/sysv/linux/getdents.c
new file mode 100644
index 0000000000..0504393e67
--- /dev/null
+++ b/sysdeps/unix/sysv/linux/getdents.c
@@ -0,0 +1,105 @@
+/* Copyright (C) 1993, 1995, 1996, 1997 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 <dirent.h>
+#include <stddef.h>
+#include <string.h>
+#include <unistd.h>
+#include <sys/types.h>
+
+#include <linux/posix_types.h>
+
+#define offsetof(TYPE, MEMBER) ((size_t) &((TYPE *)0)->MEMBER)
+
+
+extern int __getdents __P ((int fd, char *buf, size_t nbytes));
+
+/* For Linux we need a special version of this file since the
+   definition of `struct dirent' is not the same for the kernel and
+   the libc.  There is one additional field which might be introduced
+   in the kernel structure in the future.
+
+   He is the kernel definition of `struct dirent' as of 2.1.20:  */
+
+struct kernel_dirent
+  {
+    long int d_ino;
+    __kernel_off_t d_off;
+    unsigned short int d_reclen;
+    char d_name[256];
+  };
+
+
+/* The problem here is that we cannot simply read the next NBYTES
+   bytes.  We need to take the additional field into account.  We use
+   some heuristic.  Assume the directory contains names with at least
+   3 characters we can compute a maximum number of entries which fit
+   in the buffer.  Taking this number allows us to specify a correct
+   number of bytes to read.  If we should be wrong, we can reset the
+   file descriptor.  */
+int __getdirentries __P ((int fd, char *buf, size_t nbytes, off_t *basep));
+int
+__getdirentries (fd, buf, nbytes, basep)
+     int fd;
+     char *buf;
+     size_t nbytes;
+     off_t *basep;
+{
+  off_t base = __lseek (fd, (off_t) 0, SEEK_CUR);
+  size_t red_nbytes;
+  struct kernel_dirent *kdp;
+  struct dirent *dp;
+  int retval;
+
+  red_nbytes = nbytes - (nbytes / (offsetof (struct dirent, d_name) + 3));
+
+  dp = (struct dirent *) buf;
+  kdp = (struct kernel_dirent *) (buf + (nbytes - red_nbytes));
+
+  retval = __getdents (fd, (char *) kdp, red_nbytes);
+
+  while ((char *) kdp < buf + (nbytes - red_nbytes) + retval)
+    {
+      dp->d_ino = kdp->d_ino;
+      dp->d_off = kdp->d_off;
+      dp->d_reclen = (kdp->d_reclen
+		      + (offsetof (struct dirent, d_name)
+			 - offsetof (struct kernel_dirent, d_name)));
+      dp->d_type = DT_UNKNOWN;
+      memmove (dp->d_name, kdp->d_name,
+	       kdp->d_reclen - offsetof (struct kernel_dirent, d_name));
+
+      dp = (struct dirent *) (((char *) dp) + dp->d_reclen);
+      kdp = (struct kernel_dirent *) (((char *) kdp) + kdp->d_reclen);
+
+      if ((char *) dp >= (char *) kdp)
+	{
+	  /* Our heuristic failed.  We read too many entries.  Reset
+	     the stream.  */
+	  off_t used = ((char *) kdp - (char *) buf) - (nbytes - red_nbytes);
+	  base = __lseek (fd, retval - used, SEEK_CUR);
+	}
+    }
+
+  if (basep)
+    *basep = base;
+
+  return (char *) dp - (char *) buf;
+}
+
+weak_alias (__getdirentries, getdirentries)
diff --git a/sysdeps/unix/sysv/linux/gnu/types.h b/sysdeps/unix/sysv/linux/gnu/types.h
index 3212a85d96..872fc4e557 100644
--- a/sysdeps/unix/sysv/linux/gnu/types.h
+++ b/sysdeps/unix/sysv/linux/gnu/types.h
@@ -1,4 +1,4 @@
-/* Copyright (C) 1991, 92, 94, 95, 96 Free Software Foundation, Inc.
+/* Copyright (C) 1991, 92, 94, 95, 96, 97 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
@@ -21,9 +21,6 @@
 
 #include <features.h>
 
-/* Get actual type definitions for architecture from kernel headers.  */
-#include <linux/types.h>
-
 /* Convenience types.  */
 typedef unsigned char __u_char;
 typedef unsigned short __u_short;
@@ -32,46 +29,61 @@ typedef unsigned long __u_long;
 #ifdef __GNUC__
 typedef unsigned long long int __u_quad_t;
 typedef long long int __quad_t;
-typedef __quad_t *__qaddr_t;
 #else
 typedef struct
-{
-  long val[2];
-} __quad_t;
+  {
+    long int __val[2];
+  } __quad_t;
 typedef struct
-{
-  __u_long val[2];
-} __u_quad_t;
+  {
+    __u_long __val[2];
+  } __u_quad_t;
 #endif
+typedef __quad_t *__qaddr_t;
 
-typedef __kernel_dev_t __dev_t;		/* Type of device numbers.  */
-typedef __kernel_uid_t __uid_t;		/* Type of user identifications.  */
-typedef __kernel_gid_t __gid_t;		/* Type of group identifications.  */
-typedef __kernel_ino_t __ino_t;		/* Type of file serial numbers.  */
-typedef __kernel_mode_t __mode_t;	/* Type of file attribute bitmasks.  */
-typedef __kernel_nlink_t __nlink_t; 	/* Type of file link counts.  */
-typedef __kernel_off_t __off_t;		/* Type of file sizes and offsets.  */
-typedef __kernel_loff_t __loff_t;	/* Type of file sizes and offsets.  */
-typedef __kernel_pid_t __pid_t;		/* Type of process identifications.  */
-typedef __kernel_ssize_t __ssize_t;	/* Type of a byte count, or error.  */
-typedef __kernel_fsid_t __fsid_t;	/* Type of file system IDs.  */
+typedef __u_quad_t __dev_t;		/* Type of device numbers.  */
+typedef __u_int __uid_t;		/* Type of user identifications.  */
+typedef __u_int __gid_t;		/* Type of group identifications.  */
+typedef __u_long __ino_t;		/* Type of file serial numbers.  */
+typedef __u_int __mode_t;		/* Type of file attribute bitmasks.  */
+typedef __u_int __nlink_t; 		/* Type of file link counts.  */
+typedef long int __off_t;		/* Type of file sizes and offsets.  */
+typedef __quad_t __loff_t;		/* Type of file sizes and offsets.  */
+typedef int __pid_t;			/* Type of process identifications.  */
+typedef int __ssize_t;			/* Type of a byte count, or error.  */
+
+typedef struct
+  {
+    int __val[2];
+  } __fsid_t;				/* Type of file system IDs.  */
 
 /* Everythin' else.  */
-typedef __kernel_daddr_t __daddr_t;	/* The type of a disk address.  */
-typedef __kernel_caddr_t __caddr_t;
-typedef __kernel_time_t __time_t;
+typedef int __daddr_t;			/* The type of a disk address.  */
+typedef char *__caddr_t;
+typedef long int __time_t;
 typedef long int __swblk_t;		/* Type of a swap block maybe?  */
 
-/* fd_set for select.  */
-typedef __kernel_fd_set __fd_set;
-typedef __kernel_clock_t __clock_t;
+typedef long int __clock_t;
+
+/* One element in the file descriptor mask array.  */
+typedef unsigned long int __fd_mask;
+
+/* Number of descriptors that can fit in an `fd_set'.  */
+#define __FD_SETSIZE	1024
+
+/* It's easier to assume 8-bit bytes than to get CHAR_BIT.  */
+#define __NFDBITS	(8 * sizeof (__fd_mask))
+#define	__FDELT(d)	((d) / __NFDBITS)
+#define	__FDMASK(d)	(1 << ((d) % __NFDBITS))
+
+/* fd_set for select and pselect.  */
+typedef struct
+  {
+    /* XPG4.2 requires this member name.  */
+    __fd_mask fds_bits[__FD_SETSIZE / __NFDBITS];
+  } __fd_set;
 
-/* Linus doesn't want __kernel_fd_mask in <linux/posix_types.h> since
-   XPG4 seems to require `unsigned long'.  */
-typedef unsigned long __fd_mask;
 
-#ifdef	__USE_SVID
 typedef int __key_t;
-#endif
 
 #endif /* gnu/types.h */
diff --git a/sysdeps/unix/sysv/linux/ioctl-types.h b/sysdeps/unix/sysv/linux/ioctl-types.h
index 510428ee7a..91fcc2653b 100644
--- a/sysdeps/unix/sysv/linux/ioctl-types.h
+++ b/sysdeps/unix/sysv/linux/ioctl-types.h
@@ -1,5 +1,5 @@
 /* Structure types for pre-termios terminal ioctls.  Linux version.
-   Copyright (C) 1996 Free Software Foundation, Inc.
+   Copyright (C) 1996, 1997 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
@@ -20,8 +20,51 @@
 #ifndef _IOCTL_TYPES_H
 #define _IOCTL_TYPES_H 1
 
-/* The Linux kernel header defines the types associated with old ioctls.  */
+/* Get definition of constants for use with `ioctl'.  */
+#include <asm/ioctls.h>
+
+
+struct winsize
+  {
+    unsigned short int ws_row;
+    unsigned short int ws_col;
+    unsigned short int ws_xpixel;
+    unsigned short int ws_ypixel;
+  };
+
+#define NCC 8
+struct termio
+  {
+    unsigned short int c_iflag;		/* input mode flags */
+    unsigned short int c_oflag;		/* output mode flags */
+    unsigned short int c_cflag;		/* control mode flags */
+    unsigned short int c_lflag;		/* local mode flags */
+    unsigned char c_line;		/* line discipline */
+    unsigned char c_cc[NCC];		/* control characters */
+};
+
+/* modem lines */
+#define TIOCM_LE	0x001
+#define TIOCM_DTR	0x002
+#define TIOCM_RTS	0x004
+#define TIOCM_ST	0x008
+#define TIOCM_SR	0x010
+#define TIOCM_CTS	0x020
+#define TIOCM_CAR	0x040
+#define TIOCM_RNG	0x080
+#define TIOCM_DSR	0x100
+#define TIOCM_CD	TIOCM_CAR
+#define TIOCM_RI	TIOCM_RNG
+
+/* ioctl (fd, TIOCSERGETLSR, &result) where result may be as below */
+
+/* line disciplines */
+#define N_TTY		0
+#define N_SLIP		1
+#define N_MOUSE		2
+#define N_PPP		3
+#define N_STRIP		4
+#define N_AX25		5
 
-#include <asm/termios.h>
 
 #endif /* ioctl-types.h */
diff --git a/sysdeps/unix/sysv/linux/kernel_termios.h b/sysdeps/unix/sysv/linux/kernel_termios.h
new file mode 100644
index 0000000000..3b2653b2cd
--- /dev/null
+++ b/sysdeps/unix/sysv/linux/kernel_termios.h
@@ -0,0 +1,13 @@
+/* The following corresponds to the values from the Linux 2.1.20 kernel.  */
+
+#define KERNEL_NCCS 19
+
+struct kernel_termios
+  {
+    tcflag_t c_iflag;		/* input mode flags */
+    tcflag_t c_oflag;		/* output mode flags */
+    tcflag_t c_cflag;		/* control mode flags */
+    tcflag_t c_lflag;		/* local mode flags */
+    cc_t c_line;		/* line discipline */
+    cc_t c_cc[KERNEL_NCCS];	/* control characters */
+  };
diff --git a/sysdeps/unix/sysv/linux/net/if.h b/sysdeps/unix/sysv/linux/net/if.h
index 1aa8e7b90c..bf261175ec 100644
--- a/sysdeps/unix/sysv/linux/net/if.h
+++ b/sysdeps/unix/sysv/linux/net/if.h
@@ -1 +1,146 @@
-#include <linux/if.h>
+/* Copyright (C) 1997 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.  */
+
+#ifndef _NET_IF_H
+
+#define _NET_IF_H	1
+#include <features.h>
+
+#include <sys/types.h>
+#include <sys/socket.h>
+
+/* Standard interface flags. */
+enum
+  {
+    IFF_UP = 0x1,		/* Interface is up.  */
+    IFF_BROADCAST = 0x2,	/* Broadcast address valid.  */
+    IFF_DEBUG = 0x4,		/* Turn on debugging.  */
+    IFF_LOOPBACK = 0x8,		/* Is a loopback net.  */
+    IFF_POINTOPOINT = 0x10,	/* Interface is point-to-point link.  */
+    IFF_NOTRAILERS = 0x20,	/* Avoid use of trailers.  */
+    IFF_RUNNING = 0x40,		/* Resources allocated.  */
+    IFF_NOARP = 0x80,		/* No address resolution protocol.  */
+    IFF_PROMISC = 0x100,	/* Receive all packets.  */
+    /* Not supported */
+    IFF_ALLMULTI = 0x200,	/* Receive all multicast packets.  */
+
+    IFF_MASTER = 0x400,		/* Master of a load balancer.  */
+    IFF_SLAVE = 0x800,		/* Slave of a load balancer.  */
+
+    IFF_MULTICAST = 0x1000	/* Supports multicast.  */
+  };
+
+/* The ifaddr structure contains information about one address of an
+   interface.  They are maintained by the different address families,
+   are allocated and attached when an address is set, and are linked
+   together so all addresses for an interface can be located.  */
+
+struct ifaddr
+  {
+    struct sockaddr ifa_addr;	/* Address of interface.  */
+    union
+      {
+	struct sockaddr	ifu_broadaddr;
+	struct sockaddr	ifu_dstaddr;
+      } ifa_ifu;
+    struct iface *ifa_ifp;	/* Back-pointer to interface.  */
+    struct ifaddr *ifa_next;	/* Next address for interface.  */
+  };
+
+#define	ifa_broadaddr	ifa_ifu.ifu_broadaddr	/* broadcast address	*/
+#define	ifa_dstaddr	ifa_ifu.ifu_dstaddr	/* other end of link	*/
+
+/* Device mapping structure. I'd just gone off and designed a
+   beautiful scheme using only loadable modules with arguments for
+   driver options and along come the PCMCIA people 8)
+
+   Ah well. The get() side of this is good for WDSETUP, and it'll be
+   handy for debugging things. The set side is fine for now and being
+   very small might be worth keeping for clean configuration.  */
+
+struct ifmap
+  {
+    unsigned long int mem_start;
+    unsigned long int mem_end;
+    unsigned short int base_addr;
+    unsigned char irq;
+    unsigned char dma;
+    unsigned char port;
+    /* 3 bytes spare */
+  };
+
+/* Interface request structure used for socket ioctl's.  All interface
+   ioctl's must have parameter definitions which begin with ifr_name.
+   The remainder may be interface specific.  */
+
+struct ifreq
+  {
+#define IFHWADDRLEN	6
+#define	IFNAMSIZ	16
+    union
+      {
+	char ifrn_name[IFNAMSIZ];	/* Interface name, e.g. "en0".  */
+      } ifr_ifrn;
+
+    union
+      {
+	struct sockaddr ifru_addr;
+	struct sockaddr ifru_dstaddr;
+	struct sockaddr ifru_broadaddr;
+	struct sockaddr ifru_netmask;
+	struct sockaddr ifru_hwaddr;
+	short int ifru_flags;
+	int ifru_metric;
+	int ifru_mtu;
+	struct ifmap ifru_map;
+	char ifru_slave[IFNAMSIZ];	/* Just fits the size */
+	__caddr_t ifru_data;
+      } ifr_ifru;
+  };
+
+#define ifr_name	ifr_ifrn.ifrn_name	/* interface name 	*/
+#define ifr_hwaddr	ifr_ifru.ifru_hwaddr	/* MAC address 		*/
+#define	ifr_addr	ifr_ifru.ifru_addr	/* address		*/
+#define	ifr_dstaddr	ifr_ifru.ifru_dstaddr	/* other end of p-p lnk	*/
+#define	ifr_broadaddr	ifr_ifru.ifru_broadaddr	/* broadcast address	*/
+#define	ifr_netmask	ifr_ifru.ifru_netmask	/* interface net mask	*/
+#define	ifr_flags	ifr_ifru.ifru_flags	/* flags		*/
+#define	ifr_metric	ifr_ifru.ifru_metric	/* metric		*/
+#define	ifr_mtu		ifr_ifru.ifru_mtu	/* mtu			*/
+#define ifr_map		ifr_ifru.ifru_map	/* device map		*/
+#define ifr_slave	ifr_ifru.ifru_slave	/* slave device		*/
+#define	ifr_data	ifr_ifru.ifru_data	/* for use by interface	*/
+
+
+/* Structure used in SIOCGIFCONF request.  Used to retrieve interface
+   configuration for machine (useful for programs which must know all
+   networks accessible).  */
+
+struct ifconf
+  {
+    int	ifc_len;			/* Size of buffer.  */
+    union
+      {
+	__caddr_t ifcu_buf;
+	struct ifreq *ifcu_req;
+      } ifc_ifcu;
+  };
+#define	ifc_buf	ifc_ifcu.ifcu_buf	/* Buffer address.  */
+#define	ifc_req	ifc_ifcu.ifcu_req	/* Array of structures.  */
+
+#endif /* net/if.h */
diff --git a/sysdeps/unix/sysv/linux/netinet/in.h b/sysdeps/unix/sysv/linux/netinet/in.h
index 91c88835db..3dea878a21 100644
--- a/sysdeps/unix/sysv/linux/netinet/in.h
+++ b/sysdeps/unix/sysv/linux/netinet/in.h
@@ -1,4 +1,4 @@
-/* Copyright (C) 1991, 92, 93, 94, 95, 96 Free Software Foundation, Inc.
+/* Copyright (C) 1991, 92, 93, 94, 95, 96, 97 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
@@ -23,14 +23,25 @@
 
 #include <sys/socket.h>
 
-__BEGIN_DECLS
-#include <linux/in.h>
-__END_DECLS
 
-/* Standard well-known ports.  The use of these constants is
-   deprecated.  Instead use the contents of the file `/etc/services'
-   or similar databases by using the function getservbyname and
-   getservbyport.  */
+/* Standard well-defined IP protocols.  */
+enum
+  {
+    IPPROTO_IP = 0,	/* Dummy protocol for TCP.  */
+    IPPROTO_ICMP = 1,	/* Internet Control Message Protocol.  */
+    IPPROTO_IGMP = 2,	/* Internet Group Management Protocol. */
+    IPPROTO_IPIP = 4,	/* IPIP tunnels (older KA9Q tunnels use 94).  */
+    IPPROTO_TCP = 6,	/* Transmission Control Protocol.  */
+    IPPROTO_EGP = 8,	/* Exterior Gateway Protocol.  */
+    IPPROTO_PUP = 12,	/* PUP protocol.  */
+    IPPROTO_UDP = 17,	/* User Datagram Protocol.  */
+    IPPROTO_IDP = 22,	/* XNS IDP protocol.  */
+
+    IPPROTO_RAW = 255,	/* Raw IP packets.  */
+    IPPROTO_MAX
+  };
+
+/* Standard well-known ports.  */
 enum
   {
     IPPORT_ECHO = 7,		/* Echo service.  */
@@ -71,50 +82,120 @@ enum
   };
 
 
-/* Link numbers.  */
-#define	IMPLINK_IP		155
-#define	IMPLINK_LOWEXPER	156
-#define	IMPLINK_HIGHEXPER	158
+/* Internet address.  */
+struct in_addr
+  {
+    unsigned int s_addr;
+  };
+
+
+/* Definitions of the bits in an Internet address integer.
+
+   On subnets, host and network parts are found according to
+   the subnet mask, not these masks.  */
+
+#define	IN_CLASSA(a)		((((unsigned) (a)) & 0x80000000) == 0)
+#define	IN_CLASSA_NET		0xff000000
+#define	IN_CLASSA_NSHIFT	24
+#define	IN_CLASSA_HOST		(0xffffffff & ~IN_CLASSA_NET)
+#define	IN_CLASSA_MAX		128
+
+#define	IN_CLASSB(a)		((((unsigned) (a)) & 0xc0000000) == 0x80000000)
+#define	IN_CLASSB_NET		0xffff0000
+#define	IN_CLASSB_NSHIFT	16
+#define	IN_CLASSB_HOST		(0xffffffff & ~IN_CLASSB_NET)
+#define	IN_CLASSB_MAX		65536
+
+#define	IN_CLASSC(a)		((((unsigned) (a)) & 0xc0000000) == 0xc0000000)
+#define	IN_CLASSC_NET		0xffffff00
+#define	IN_CLASSC_NSHIFT	8
+#define	IN_CLASSC_HOST		(0xffffffff & ~IN_CLASSC_NET)
+
+#define	IN_CLASSD(a)		((((unsigned) (a)) & 0xf0000000) == 0xe0000000)
+#define	IN_MULTICAST(a)		IN_CLASSD(a)
+
+#define	IN_EXPERIMENTAL(a)	((((unsigned) (a)) & 0xe0000000) == 0xe0000000)
+#define	IN_BADCLASS(a)		((((unsigned) (a)) & 0xf0000000) == 0xf0000000)
+
+/* Address to accept any incoming messages.  */
+#define	INADDR_ANY		((unsigned) 0x00000000)
+/* Address to send to all hosts.  */
+#define	INADDR_BROADCAST	((unsigned) 0xffffffff)
+/* Address indicating an error return.  */
+#define	INADDR_NONE		0xffffffff
+
+/* Network number for local host loopback.  */
+#define	IN_LOOPBACKNET	127
+/* Address to loopback in software to local host.  */
+#ifndef INADDR_LOOPBACK
+#define	INADDR_LOOPBACK	0x7f000001	/* Internet address 127.0.0.1.  */
+#endif
+
 
 /* Get the definition of the macro to define the common sockaddr members.  */
 #include <sockaddrcom.h>
 
-/* Structure used to describe IP options for IP_OPTIONS and IP_RETOPTS.
-   The `ip_dst' field is used for the first-hop gateway when using a
-   source route (this gets put into the header proper).  */
+
+/* Structure describing an Internet socket address.  */
+struct sockaddr_in
+  {
+    __SOCKADDR_COMMON (sin_);
+    unsigned short int sin_port;	/* Port number.  */
+    struct in_addr sin_addr;		/* Internet address.  */
+
+    /* Pad to size of `struct sockaddr'.  */
+    unsigned char sin_zero[sizeof(struct sockaddr) -
+			   __SOCKADDR_COMMON_SIZE -
+			   sizeof(unsigned short int) -
+			   sizeof(struct in_addr)];
+  };
+
+
+/* Options for use with `getsockopt' and `setsockopt' at the IP level.
+   The first word in the comment at the right is the data type used;
+   "bool" means a boolean value stored in an `int'.  */
+#define	IP_TOS		   1	/* int; IP type of service and precedence.  */
+#define	IP_TTL		   2	/* int; IP time to live.  */
+#define	IP_HDRINCL	   3	/* int; Header is included with data.  */
+#define	IP_OPTIONS	   4	/* ip_opts; IP per-packet options.  */
+#define IP_MULTICAST_IF    32	/* in_addr; set/get IP multicast i/f */
+#define IP_MULTICAST_TTL   33	/* u_char; set/get IP multicast ttl */
+#define IP_MULTICAST_LOOP  34	/* i_char; set/get IP multicast loopback */
+#define IP_ADD_MEMBERSHIP  35	/* ip_mreq; add an IP group membership */
+#define IP_DROP_MEMBERSHIP 36	/* ip_mreq; drop an IP group membership */
+
+/* Structure used to describe IP options for IP_OPTIONS. The `ip_dst'
+   field is used for the first-hop gateway when using a source route
+   (this gets put into the header proper).  */
 struct ip_opts
   {
     struct in_addr ip_dst;	/* First hop; zero without source route.  */
     char ip_opts[40];		/* Actually variable in size.  */
   };
 
-__BEGIN_DECLS
+/* Structure used for IP_ADD_MEMBERSHIP and IP_DROP_MEMBERSHIP. */
+struct ip_mreq
+  {
+    struct in_addr imr_multiaddr;	/* IP multicast address of group */
+    struct in_addr imr_interface;	/* local IP address of interface */
+  };
 
 /* Functions to convert between host and network byte order.  */
 
-extern unsigned long int ntohl __P ((unsigned long int __long_word));
-extern unsigned short int ntohs __P ((unsigned short int __short_word));
-extern unsigned long int htonl __P ((unsigned long int __long_word));
-extern unsigned short int htons __P ((unsigned short int __short_word));
-
-/* Bind socket FD to a privileged IP address SIN.  */
-extern int bindresvport __P ((int __fd, struct sockaddr_in * __sock_in));
-
-__END_DECLS
+extern unsigned long int ntohl __P ((unsigned long int));
+extern unsigned short int ntohs __P ((unsigned short int));
+extern unsigned long int htonl __P ((unsigned long int));
+extern unsigned short int htons __P ((unsigned short int));
 
 #include <endian.h>
 
 #if __BYTE_ORDER == __BIG_ENDIAN
 /* The host byte order is the same as network byte order,
    so these functions are all just identity.  */
-# undef ntohl
-# define ntohl(x)	(x)
-# undef ntohs
-# define ntohs(x)	(x)
-# undef htonl
-# define htonl(x)	(x)
-# undef htons
-# define htons(x)	(x)
+#define	ntohl(x)	(x)
+#define	ntohs(x)	(x)
+#define	htonl(x)	(x)
+#define	htons(x)	(x)
 #endif
 
 #endif	/* netinet/in.h */
diff --git a/sysdeps/unix/sysv/linux/siglist.h b/sysdeps/unix/sysv/linux/siglist.h
index 44aa4d9027..c2bf2331d7 100644
--- a/sysdeps/unix/sysv/linux/siglist.h
+++ b/sysdeps/unix/sysv/linux/siglist.h
@@ -1,47 +1,65 @@
+/* Copyright (C) 1996, 1997 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.  */
+
 /* This file is included multiple times.  */
 
 /* Standard signals  */
-  init_sig (SIGHUP, "HUP", "Hangup")
-  init_sig (SIGINT, "INT", "Interrupt")
-  init_sig (SIGQUIT, "QUIT", "Quit")
-  init_sig (SIGILL, "ILL", "Illegal Instruction")
-  init_sig (SIGTRAP, "TRAP", "Trace/breakpoint trap")
-  init_sig (SIGABRT, "ABRT", "Aborted")
-  init_sig (SIGFPE, "FPE", "Floating point exception")
-  init_sig (SIGKILL, "KILL", "Killed")
-  init_sig (SIGBUS, "BUS", "Bus error")
-  init_sig (SIGSEGV, "SEGV", "Segmentation fault")
-  init_sig (SIGPIPE, "PIPE", "Broken pipe")
-  init_sig (SIGALRM, "ALRM", "Alarm clock")
-  init_sig (SIGTERM, "TERM", "Terminated")
-  init_sig (SIGURG, "URG", "Urgent I/O condition")
-  init_sig (SIGSTOP, "STOP", "Stopped (signal)")
-  init_sig (SIGTSTP, "TSTP", "Stopped")
-  init_sig (SIGCONT, "CONT", "Continued")
-  init_sig (SIGCHLD, "CHLD", "Child exited")
-  init_sig (SIGTTIN, "TTIN", "Stopped (tty input)")
-  init_sig (SIGTTOU, "TTOU", "Stopped (tty output)")
-  init_sig (SIGIO, "IO", "I/O possible")
-  init_sig (SIGXCPU, "XCPU", "CPU time limit exceeded")
-  init_sig (SIGXFSZ, "XFSZ", "File size limit exceeded")
-  init_sig (SIGVTALRM, "VTALRM", "Virtual timer expired")
-  init_sig (SIGPROF, "PROF", "Profiling timer expired")
-  init_sig (SIGWINCH, "WINCH", "Window changed")
-  init_sig (SIGUSR1, "USR1", "User defined signal 1")
-  init_sig (SIGUSR2, "USR2", "User defined signal 2")
+  init_sig (SIGHUP, "HUP", N_("Hangup"))
+  init_sig (SIGINT, "INT", N_("Interrupt"))
+  init_sig (SIGQUIT, "QUIT", N_("Quit"))
+  init_sig (SIGILL, "ILL", N_("Illegal Instruction"))
+  init_sig (SIGTRAP, "TRAP", N_("Trace/breakpoint trap"))
+  init_sig (SIGABRT, "ABRT", N_("Aborted"))
+  init_sig (SIGFPE, "FPE", N_("Floating point exception"))
+  init_sig (SIGKILL, "KILL", N_("Killed"))
+  init_sig (SIGBUS, "BUS", N_("Bus error"))
+  init_sig (SIGSEGV, "SEGV", N_("Segmentation fault"))
+  init_sig (SIGPIPE, "PIPE", N_("Broken pipe"))
+  init_sig (SIGALRM, "ALRM", N_("Alarm clock"))
+  init_sig (SIGTERM, "TERM", N_("Terminated"))
+  init_sig (SIGURG, "URG", N_("Urgent I/O condition"))
+  init_sig (SIGSTOP, "STOP", N_("Stopped (signal)"))
+  init_sig (SIGTSTP, "TSTP", N_("Stopped"))
+  init_sig (SIGCONT, "CONT", N_("Continued"))
+  init_sig (SIGCHLD, "CHLD", N_("Child exited"))
+  init_sig (SIGTTIN, "TTIN", N_("Stopped (tty input)"))
+  init_sig (SIGTTOU, "TTOU", N_("Stopped (tty output)"))
+  init_sig (SIGIO, "IO", N_("I/O possible"))
+  init_sig (SIGXCPU, "XCPU", N_("CPU time limit exceeded"))
+  init_sig (SIGXFSZ, "XFSZ", N_("File size limit exceeded"))
+  init_sig (SIGVTALRM, "VTALRM", N_("Virtual timer expired"))
+  init_sig (SIGPROF, "PROF", N_("Profiling timer expired"))
+  init_sig (SIGWINCH, "WINCH", N_("Window changed"))
+  init_sig (SIGUSR1, "USR1", N_("User defined signal 1"))
+  init_sig (SIGUSR2, "USR2", N_("User defined signal 2"))
 
 /* Variations  */
 #ifdef SIGEMT
-  init_sig (SIGEMT, "EMT", "EMT trap")
+  init_sig (SIGEMT, "EMT", N_("EMT trap"))
 #endif
 #ifdef SIGSYS
-  init_sig (SIGSYS, "SYS", "Bad system call")
+  init_sig (SIGSYS, "SYS", N_("Bad system call"))
 #endif
 #ifdef SIGSTKFLT
-  init_sig (SIGSTKFLT, "STKFLT", "Stack fault")
+  init_sig (SIGSTKFLT, "STKFLT", N_("Stack fault"))
 #endif
 #ifdef SIGINFO
-  init_sig (SIGINFO, "INFO", "Information request")
+  init_sig (SIGINFO, "INFO", N_("Information request"))
 #elif defined(SIGPWR)
-  init_sig (SIGPWR, "PWR", "Power failure")
+  init_sig (SIGPWR, "PWR", N_("Power failure"))
 #endif
diff --git a/sysdeps/unix/sysv/linux/sigset.h b/sysdeps/unix/sysv/linux/sigset.h
new file mode 100644
index 0000000000..69648b7e9c
--- /dev/null
+++ b/sysdeps/unix/sysv/linux/sigset.h
@@ -0,0 +1,89 @@
+/* __sig_atomic_t, __sigset_t, and related definitions.  Linux version.
+   Copyright (C) 1991, 1992, 1994, 1996, 1997 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.  */
+
+#ifndef	_SIGSET_H_types
+#define	_SIGSET_H_types	1
+
+typedef int __sig_atomic_t;
+
+/* A `sigset_t' has a bit for each signal.  Having 32 * 4 * 8 bits gives
+   us up to 1024 signals.  */
+#define _SIGSET_NWORDS	32
+typedef struct
+{
+  unsigned int __val[_SIGSET_NWORDS];
+} __sigset_t;
+
+#endif
+
+
+/* We only want to define these functions if <signal.h> was actually
+   included; otherwise we were included just to define the types.  Since we
+   are namespace-clean, it wouldn't hurt to define extra macros.  But
+   trouble can be caused by functions being defined (e.g., any global
+   register vars declared later will cause compilation errors).  */
+
+#if !defined (_SIGSET_H_fns) && defined (_SIGNAL_H)
+#define _SIGSET_H_fns 1
+
+#ifndef _EXTERN_INLINE
+#define _EXTERN_INLINE extern __inline
+#endif
+
+/* Return a mask that includes the bit for SIG only.  */
+#define	__sigmask(sig)	(((unsigned int) 1) << (((sig) - 1) \
+						% (8 * sizeof (unsigned int))))
+/* Return the word index for SIG.  */
+#define __sigword(sig)	(((sig) - 1) / (8 * sizeof (unsigned int)))
+
+#if defined __GNUC__ && __GNUC__ >= 2
+#define __sigemptyset(set) \
+  (__extension__ ({ unsigned int __cnt;					      \
+		    for (__cnt = 0; __cnt < _SIGSET_NWORDS; ++__cnt)	      \
+		      (set)->__val[__cnt] = 0; 0; }))
+#define __sigfillset(set) \
+  (__extension__ ({ unsigned int __cnt;					      \
+		    for (__cnt = 0; __cnt < _SIGSET_NWORDS; ++__cnt)	      \
+		      (set)->__val[__cnt] = ~0; 0; }))
+#endif
+
+/* These functions needn't check for a bogus signal number -- error
+   checking is done in the non __ versions.  */
+
+extern int __sigismember (__const __sigset_t *, int);
+extern int __sigaddset (__sigset_t *, int);
+extern int __sigdelset (__sigset_t *, int);
+
+#define __SIGSETFN(NAME, BODY, CONST)					      \
+  _EXTERN_INLINE int							      \
+  NAME (CONST __sigset_t *__set, int __sig)				      \
+  {									      \
+    unsigned int __mask = __sigmask (__sig);				      \
+    unsigned int __word = __sigword (__sig);				      \
+    return BODY;							      \
+  }
+
+__SIGSETFN (__sigismember, (__set->__val[__word] & __mask) ? 1 : 0, __const)
+__SIGSETFN (__sigaddset, ((__set->__val[__word] |= __mask), 0), )
+__SIGSETFN (__sigdelset, ((__set->__val[__word] &= ~__mask), 0), )
+
+#undef __SIGSETFN
+
+
+#endif /* ! _SIGSET_H_fns.  */
diff --git a/sysdeps/unix/sysv/linux/sigsuspend.c b/sysdeps/unix/sysv/linux/sigsuspend.c
index 8b3d2519ce..723f7629ec 100644
--- a/sysdeps/unix/sysv/linux/sigsuspend.c
+++ b/sysdeps/unix/sysv/linux/sigsuspend.c
@@ -1,4 +1,4 @@
-/* Copyright (C) 1996 Free Software Foundation, Inc.
+/* Copyright (C) 1996, 1997 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
@@ -20,7 +20,7 @@
 #include <stddef.h>
 #include <unistd.h>
 
-extern int __syscall_sigsuspend (int, unsigned long, unsigned long);
+extern int __syscall_sigsuspend (int, unsigned long int, unsigned long int);
 
 /* Change the set of blocked signals to SET,
    wait until a signal arrives, and restore the set of blocked signals.  */
@@ -28,6 +28,10 @@ int
 __sigsuspend (set)
      const sigset_t *set;
 {
-  return __syscall_sigsuspend (0, 0, *set);
+  /* XXX This will have to be changed once the kernel knows about
+     larger sigsets.  */
+  unsigned long int word = set->__val[0];
+
+  return __syscall_sigsuspend (0, 0, word);
 }
 weak_alias (__sigsuspend, sigsuspend)
diff --git a/sysdeps/unix/sysv/linux/socketbits.h b/sysdeps/unix/sysv/linux/socketbits.h
index 1c7cee0dad..3bb92ab733 100644
--- a/sysdeps/unix/sysv/linux/socketbits.h
+++ b/sysdeps/unix/sysv/linux/socketbits.h
@@ -1,2 +1,136 @@
-/* Get Linux specific constants and data types kernel header.  */
-#include <linux/socket.h>
+/* System-specific socket constants and types.  Linux version.
+   Copyright (C) 1991, 92, 94, 95, 96, 97 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.  */
+
+#ifndef	_SOCKETBITS_H
+
+#define	_SOCKETBITS_H	1
+#include <features.h>
+
+#define	__need_size_t
+#include <stddef.h>
+
+
+__BEGIN_DECLS
+
+/* Types of sockets.  */
+enum __socket_type
+{
+  SOCK_STREAM = 1,		/* Sequenced, reliable, connection-based
+				   byte streams.  */
+  SOCK_DGRAM = 2,		/* Connectionless, unreliable datagrams
+				   of fixed maximum length.  */
+  SOCK_RAW = 3,			/* Raw protocol interface.  */
+  SOCK_RDM = 4,			/* Reliably-delivered messages.  */
+  SOCK_SEQPACKET = 5,		/* Sequenced, reliable, connection-based,
+				   datagrams of fixed maximum length.  */
+  SOCK_PACKET = 10		/* Linux specific way of getting packets
+				   at the dev level.  For writing rarp and
+				   other similar things on the user level. */
+};
+
+/* Protocol families.  */
+#define	PF_UNSPEC	0	/* Unspecified.  */
+#define	PF_LOCAL	1	/* Local to host (pipes and file-domain).  */
+#define	PF_UNIX		PF_LOCAL /* Old BSD name for PF_LOCAL.  */
+#define	PF_INET		2	/* IP protocol family.  */
+#define	PF_AX25		3	/* Amateur Radio AX.25.  */
+#define	PF_IPX		4	/* Novell Internet Protocol.  */
+#define	PF_APPLETALK	5	/* Don't use this.  */
+#define	PF_NETROM	6	/* Amateur radio NetROM.  */
+#define	PF_BRIDGE	7	/* Multiprotocol bridge.  */
+#define	PF_AAL5		8	/* Reserved for Werner's ATM.  */
+#define	PF_X25		9	/* Reserved for X.25 project.  */
+#define	PF_INET6	10	/* IP version 6.  */
+#define	PF_MAX		12	/* For now.. */
+
+/* Address families.  */
+#define	AF_UNSPEC	PF_UNSPEC
+#define	AF_LOCAL	PF_LOCAL
+#define	AF_UNIX		PF_UNIX
+#define	AF_INET		PF_INET
+#define	AF_AX25		PF_AX25
+#define	AF_IPX		PF_IPX
+#define	AF_APPLETALK	PF_APPLETALK
+#define	AF_NETROM	PF_NETROM
+#define	AF_BRIDGE	PF_BRIDGE
+#define	AF_AAL5		PF_AAL5
+#define	AF_X25		PF_X25
+#define	AF_INET6	PF_INET6
+#define	AF_MAX		PF_MAX
+
+
+
+/* Maximum queue length specifiable by listen.  */
+#define SOMAXCONN	128
+
+/* Get the definition of the macro to define the common sockaddr members.  */
+#include <sockaddrcom.h>
+
+/* Structure describing a generic socket address.  */
+struct sockaddr
+  {
+    __SOCKADDR_COMMON (sa_);	/* Common data: address family and length.  */
+    char sa_data[14];		/* Address data.  */
+  };
+
+
+/* Bits in the FLAGS argument to `send', `recv', et al.  */
+enum
+  {
+    MSG_OOB		= 0x01,	/* Process out-of-band data.  */
+    MSG_PEEK		= 0x02,	/* Peek at incoming messages.  */
+    MSG_DONTROUTE	= 0x04,	/* Don't use local routing.  */
+    MSG_CTRUNC		= 0x08,	/* Control data lost before delivery.  */
+    MSG_PROXY		= 0x10	/* Supply or ask second address.  */
+  };
+
+
+/* Structure describing messages sent by
+   `sendmsg' and received by `recvmsg'.  */
+struct msghdr
+  {
+    __ptr_t msg_name;		/* Address to send to/receive from.  */
+    int msg_namelen;		/* Length of address data.  */
+    /* XXX Should be type `size_t' according to POSIX.1g.  */
+
+    struct iovec *msg_iov;	/* Vector of data to send/receive into.  */
+    int msg_iovlen;		/* Number of elements in the vector.  */
+    /* XXX Should be type `size_t' according to POSIX.1g.  */
+
+    __ptr_t msg_control;	/* Ancillary data (eg BSD filedesc passing). */
+    int msg_controllen;		/* Ancillary data buffer length.  */
+    /* XXX Should be type `size_t' according to POSIX.1g.  */
+    int msg_flags;		/* Flags on received message.  */
+  };
+
+
+/* Get socket manipulation related informations from kernel headers.  */
+#include <asm/socket.h>
+
+
+/* Structure used to manipulate the SO_LINGER option.  */
+struct linger
+  {
+    int l_onoff;		/* Nonzero to linger on close.  */
+    int l_linger;		/* Time to linger.  */
+  };
+
+__END_DECLS
+
+#endif /* socketbits.h */
diff --git a/sysdeps/unix/sysv/linux/statfsbuf.h b/sysdeps/unix/sysv/linux/statfsbuf.h
index 08a10cb495..1d1bbdae0d 100644
--- a/sysdeps/unix/sysv/linux/statfsbuf.h
+++ b/sysdeps/unix/sysv/linux/statfsbuf.h
@@ -1 +1,36 @@
-#include <asm/statfs.h>
+/* Copyright (C) 1997 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.  */
+
+#ifndef _STATFSBUF_H
+#define _STATFSBUF_H
+
+struct statfs
+  {
+    int f_type;
+    int f_bsize;
+    int f_blocks;
+    int f_bfree;
+    int f_bavail;
+    int f_files;
+    int f_ffree;
+    __fsid_t f_fsid;
+    int f_namelen;
+    int f_spare[6];
+  };
+
+#endif	/* statfsbuf.h */
diff --git a/sysdeps/unix/sysv/linux/sys/acct.h b/sysdeps/unix/sysv/linux/sys/acct.h
index 4267ef405e..1d723d55b8 100644
--- a/sysdeps/unix/sysv/linux/sys/acct.h
+++ b/sysdeps/unix/sysv/linux/sys/acct.h
@@ -1,4 +1,4 @@
-/* Copyright (C) 1996 Free Software Foundation, Inc.
+/* Copyright (C) 1996, 1997 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
@@ -24,11 +24,40 @@
 #define	__need_time_t
 #include <time.h>
 
-/* Get needed constants.  */
-#include <linux/acct.h>
 
 __BEGIN_DECLS
 
+#define ACCT_COMM 16
+
+struct acct
+  {
+    char ac_comm[ACCT_COMM];		/* Accounting command name.  */
+    time_t ac_utime;			/* Accounting user time.  */
+    time_t ac_stime;			/* Accounting system time.  */
+    time_t ac_etime;			/* Accounting elapsed time.  */
+    time_t ac_btime;			/* Beginning time.  */
+    unsigned short int ac_uid;		/* Accounting user ID.  */
+    unsigned short int ac_gid;		/* Accounting group ID.  */
+    unsigned short int ac_tty;		/* Controlling tty.  */
+    /* Please note that the value of the `ac_tty' field, a device number,
+       is encoded differently in the kernel and for the libc dev_t type.  */
+    char ac_flag;			/* Accounting flag.  */
+    long int ac_minflt;			/* Accounting minor pagefaults.  */
+    long int ac_majflt;			/* Accounting major pagefaults.  */
+    long int ac_exitcode;		/* Accounting process exitcode.  */
+  };
+
+enum
+  {
+    AFORK = 0001,		/* Has executed fork, but no exec.  */
+    ASU = 0002,			/* Used super-user privileges.  */
+    ACORE = 0004,		/* Dumped core.  */
+    AXSIG = 0010		/* Killed by a signal.  */
+  };
+
+#define AHZ     100
+
+
 /* Switch process accounting on and off.  */
 extern int acct __P ((__const char *__filename));
 
diff --git a/sysdeps/unix/sysv/linux/sys/ptrace.h b/sysdeps/unix/sysv/linux/sys/ptrace.h
index ec94def4c5..eda8b8c00f 100644
--- a/sysdeps/unix/sysv/linux/sys/ptrace.h
+++ b/sysdeps/unix/sysv/linux/sys/ptrace.h
@@ -1,5 +1,5 @@
 /* `ptrace' debugger support interface.  Linux version.
-   Copyright (C) 1996 Free Software Foundation, Inc.
+   Copyright (C) 1996, 1997 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
@@ -22,6 +22,8 @@
 #define _SYS_PTRACE_H	1
 #include <features.h>
 
+#include <asm/ptrace.h>
+
 __BEGIN_DECLS
 
 /* Type of the REQUEST argument to `ptrace.'  */
diff --git a/sysdeps/unix/sysv/linux/syscall.h b/sysdeps/unix/sysv/linux/sys/syscall.h
index cef91f6727..cef91f6727 100644
--- a/sysdeps/unix/sysv/linux/syscall.h
+++ b/sysdeps/unix/sysv/linux/sys/syscall.h
diff --git a/sysdeps/unix/sysv/linux/sys/sysmacros.h b/sysdeps/unix/sysv/linux/sys/sysmacros.h
index caf4566414..b859dc7d64 100644
--- a/sysdeps/unix/sysv/linux/sys/sysmacros.h
+++ b/sysdeps/unix/sysv/linux/sys/sysmacros.h
@@ -1,5 +1,5 @@
 /* Definitions of macros to access `dev_t' values.
-   Copyright (C) 1996 Free Software Foundation, Inc.
+   Copyright (C) 1996, 1997 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
@@ -21,12 +21,9 @@
 
 #define _SYS_SYSMACROS_H	1
 
-/* Get definition from kernel header.  */
-#include <linux/kdev_t.h>
-
 /* For compatibility we provide alternative names.  */
-#define major(dev) MAJOR ((unsigned int) (dev))
-#define minor(dev) MINOR ((unsigned int) (dev))
-#define makedev(major, minor) MKDEV (major, minor)
+#define major(dev) ((dev) >> 32)
+#define minor(dev) ((dev) & 0xffffffff)
+#define makedev(major, minor) (((major) << 32) | (monor))
 
 #endif /* _SYS_SYSMACROS_H */
diff --git a/sysdeps/unix/sysv/linux/syscalls.list b/sysdeps/unix/sysv/linux/syscalls.list
index 38896e7f18..246470a66a 100644
--- a/sysdeps/unix/sysv/linux/syscalls.list
+++ b/sysdeps/unix/sysv/linux/syscalls.list
@@ -31,11 +31,13 @@ pause		-	pause		0	__libc_pause	pause
 personality	init-first personality	1	__personality	personality
 pipe		-	pipe		1	__pipe		pipe
 query_module	EXTRA	query_module	5	query_module
+s_getdents	EXTRA	getdents	3	__getdents
 s_getpriority	getpriority getpriority	2	__syscall_getpriority
 s_ptrace	ptrace	ptrace		4	__syscall_ptrace
 s_reboot	EXTRA	reboot		3	__syscall_reboot
 s_sigsuspend	sigsuspend sigsuspend	3	__syscall_sigsuspend
 s_sysctl	sysctl	_sysctl		1	__syscall__sysctl
+s_ustat		ustat	ustat		2	__syscall_ustat
 sched_getp	-	sched_getparam	2	__sched_getparam	sched_getparam
 sched_gets	-	sched_getscheduler	1	__sched_getscheduler	sched_getscheduler
 sched_primax	-	sched_get_priority_max	1	__sched_get_priority_max	sched_get_priority_max
@@ -51,9 +53,9 @@ setpgid		-	setpgid		2	__setpgid	setpgid
 setresuid	EXTRA	setresuid	3	setresuid
 sigpending	-	sigpending	1	sigpending
 sigprocmask	-	sigprocmask	3	__sigprocmask	sigprocmask
+sigreturn	EXTRA	sigreturn	1	__sigreturn	sigreturn
 sysinfo		EXTRA	sysinfo		1	sysinfo
 swapon		-	swapon		2	swapon
 umount		EXTRA	umount		1	__umount	umount
 uselib		EXTRA	uselib		1	uselib
-ustat		-	ustat		2	__ustat		ustat
 wait4		-	wait4		4	__wait4		wait4
diff --git a/sysdeps/unix/sysv/linux/tcgetattr.c b/sysdeps/unix/sysv/linux/tcgetattr.c
index 3f12348478..2e8cb1cf79 100644
--- a/sysdeps/unix/sysv/linux/tcgetattr.c
+++ b/sysdeps/unix/sysv/linux/tcgetattr.c
@@ -1,23 +1,29 @@
-/* Copyright (C) 1992, 1995 Free Software Foundation, Inc.
-This file is part of the GNU C Library.
+/* Copyright (C) 1992, 1995, 1997 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 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.
+   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., 675 Mass Ave,
-Cambridge, MA 02139, USA.  */
+   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 <termios.h>
 #include <sys/ioctl.h>
+#include <sys/types.h>
+
+/* The difference here is that the termios structure used in the
+   kernel is not the same as we use in the libc.  Therefore we must
+   translate it here.  */
+#include <kernel_termios.h>
 
 /* Put the state of FD into *TERMIOS_P.  */
 int
@@ -25,7 +31,27 @@ __tcgetattr (fd, termios_p)
       int fd;
       struct termios *termios_p;
 {
-  return __ioctl (fd, TCGETS, termios_p);
+  struct kernel_termios k_termios;
+  int retval;
+  size_t cnt;
+
+  retval = __ioctl (fd, TCGETS, &k_termios);
+
+  termios_p->c_iflag = k_termios.c_iflag;
+  termios_p->c_oflag = k_termios.c_oflag;
+  termios_p->c_cflag = k_termios.c_cflag;
+  termios_p->c_lflag = k_termios.c_lflag;
+  termios_p->c_line = k_termios.c_line;
+#ifdef _HAVE_C_ISPEED
+  termios_p->c_ispeed = k_termios.c_ispeed;
+#endif
+#ifdef _HAVE_C_OSPEED
+  termios_p->c_ospeed = k_termios.c_ospeed;
+#endif
+  for (cnt = 0; cnt < KERNEL_NCCS; ++cnt)
+    termios_p->c_cc[cnt] = k_termios.c_cc[cnt];
+
+  return retval;
 }
 
 weak_alias (__tcgetattr, tcgetattr)
diff --git a/sysdeps/unix/sysv/linux/tcsetattr.c b/sysdeps/unix/sysv/linux/tcsetattr.c
index ef5009d1c8..7afaf1b986 100644
--- a/sysdeps/unix/sysv/linux/tcsetattr.c
+++ b/sysdeps/unix/sysv/linux/tcsetattr.c
@@ -1 +1,72 @@
-#include <sysdeps/unix/bsd/sun/sunos4/tcsetattr.c>
+/* Copyright (C) 1993, 1996, 1997 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 <errno.h>
+#include <termios.h>
+#include <sys/ioctl.h>
+#include <sys/types.h>
+
+/* The difference here is that the termios structure used in the
+   kernel is not the same as we use in the libc.  Therefore we must
+   translate it here.  */
+#include <kernel_termios.h>
+
+
+/* Set the state of FD to *TERMIOS_P.  */
+int
+tcsetattr (fd, optional_actions, termios_p)
+     int fd;
+     int optional_actions;
+     const struct termios *termios_p;
+{
+  struct kernel_termios k_termios;
+  unsigned long int cmd;
+  size_t cnt;
+
+  switch (optional_actions)
+    {
+    case TCSANOW:
+      cmd = TCSETS;
+      break;
+    case TCSADRAIN:
+      cmd = TCSETSW;
+      break;
+    case TCSAFLUSH:
+      cmd = TCSETSF;
+      break;
+    default:
+      __set_errno (EINVAL);
+      return -1;
+    }
+
+  k_termios.c_iflag = termios_p->c_iflag;
+  k_termios.c_oflag = termios_p->c_oflag;
+  k_termios.c_cflag = termios_p->c_cflag;
+  k_termios.c_lflag = termios_p->c_lflag;
+  k_termios.c_line = termios_p->c_line;
+#ifdef _HAVE_C_ISPEED
+  k_termios.c_ispeed = termios_p.c_ispeed;
+#endif
+#ifdef _HAVE_C_OSPEED
+  k_termios.c_ospeed = termios_p.c_ospeed;
+#endif
+  for (cnt = 0; cnt < KERNEL_NCCS; ++cnt)
+    k_termios.c_cc[cnt] = termios_p->c_cc[cnt];
+
+  return __ioctl (fd, cmd, &k_termios);
+}
diff --git a/sysdeps/unix/sysv/linux/termbits.h b/sysdeps/unix/sysv/linux/termbits.h
index 536ced356d..f8e59f1d3b 100644
--- a/sysdeps/unix/sysv/linux/termbits.h
+++ b/sysdeps/unix/sysv/linux/termbits.h
@@ -1,5 +1,5 @@
 /* termios type and macro definitions.  Linux version.
-   Copyright (C) 1993, 1994, 1995, 1996 Free Software Foundation, Inc.
+   Copyright (C) 1993, 1994, 1995, 1996, 1997 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
@@ -17,8 +17,163 @@
    write to the Free Software Foundation, Inc., 59 Temple Place - Suite 330,
    Boston, MA 02111-1307, USA.  */
 
-/* Use the architecture dependent definitions from the kernel.  */
-#include <asm/termbits.h>
+typedef unsigned char	cc_t;
+typedef unsigned int	speed_t;
+typedef unsigned int	tcflag_t;
+
+#define NCCS 32
+struct termios
+  {
+    tcflag_t c_iflag;		/* input mode flags */
+    tcflag_t c_oflag;		/* output mode flags */
+    tcflag_t c_cflag;		/* control mode flags */
+    tcflag_t c_lflag;		/* local mode flags */
+    cc_t c_line;			/* line discipline */
+    cc_t c_cc[NCCS];		/* control characters */
+    speed_t c_ispeed;		/* input speed */
+    speed_t c_ospeed;		/* output speed */
+  };
+
+/* c_cc characters */
+#define VINTR 0
+#define VQUIT 1
+#define VERASE 2
+#define VKILL 3
+#define VEOF 4
+#define VTIME 5
+#define VMIN 6
+#define VSWTC 7
+#define VSTART 8
+#define VSTOP 9
+#define VSUSP 10
+#define VEOL 11
+#define VREPRINT 12
+#define VDISCARD 13
+#define VWERASE 14
+#define VLNEXT 15
+#define VEOL2 16
+
+/* c_iflag bits */
+#define IGNBRK	0000001
+#define BRKINT	0000002
+#define IGNPAR	0000004
+#define PARMRK	0000010
+#define INPCK	0000020
+#define ISTRIP	0000040
+#define INLCR	0000100
+#define IGNCR	0000200
+#define ICRNL	0000400
+#define IUCLC	0001000
+#define IXON	0002000
+#define IXANY	0004000
+#define IXOFF	0010000
+#define IMAXBEL	0020000
+
+/* c_oflag bits */
+#define OPOST	0000001
+#define OLCUC	0000002
+#define ONLCR	0000004
+#define OCRNL	0000010
+#define ONOCR	0000020
+#define ONLRET	0000040
+#define OFILL	0000100
+#define OFDEL	0000200
+#define NLDLY	0000400
+#define   NL0	0000000
+#define   NL1	0000400
+#define CRDLY	0003000
+#define   CR0	0000000
+#define   CR1	0001000
+#define   CR2	0002000
+#define   CR3	0003000
+#define TABDLY	0014000
+#define   TAB0	0000000
+#define   TAB1	0004000
+#define   TAB2	0010000
+#define   TAB3	0014000
+#define   XTABS	0014000
+#define BSDLY	0020000
+#define   BS0	0000000
+#define   BS1	0020000
+#define VTDLY	0040000
+#define   VT0	0000000
+#define   VT1	0040000
+#define FFDLY	0100000
+#define   FF0	0000000
+#define   FF1	0100000
+
+/* c_cflag bit meaning */
+#define CBAUD	0010017
+#define  B0	0000000		/* hang up */
+#define  B50	0000001
+#define  B75	0000002
+#define  B110	0000003
+#define  B134	0000004
+#define  B150	0000005
+#define  B200	0000006
+#define  B300	0000007
+#define  B600	0000010
+#define  B1200	0000011
+#define  B1800	0000012
+#define  B2400	0000013
+#define  B4800	0000014
+#define  B9600	0000015
+#define  B19200	0000016
+#define  B38400	0000017
+#define EXTA B19200
+#define EXTB B38400
+#define CSIZE	0000060
+#define   CS5	0000000
+#define   CS6	0000020
+#define   CS7	0000040
+#define   CS8	0000060
+#define CSTOPB	0000100
+#define CREAD	0000200
+#define PARENB	0000400
+#define PARODD	0001000
+#define HUPCL	0002000
+#define CLOCAL	0004000
+#define CBAUDEX 0010000
+#define  B57600  0010001
+#define  B115200 0010002
+#define  B230400 0010003
+#define  B460800 0010004
+#define CIBAUD	  002003600000	/* input baud rate (not used) */
+#define CRTSCTS	  020000000000		/* flow control */
+
+/* c_lflag bits */
+#define ISIG	0000001
+#define ICANON	0000002
+#define XCASE	0000004
+#define ECHO	0000010
+#define ECHOE	0000020
+#define ECHOK	0000040
+#define ECHONL	0000100
+#define NOFLSH	0000200
+#define TOSTOP	0000400
+#define ECHOCTL	0001000
+#define ECHOPRT	0002000
+#define ECHOKE	0004000
+#define FLUSHO	0010000
+#define PENDIN	0040000
+#define IEXTEN	0100000
+
+/* tcflow() and TCXONC use these */
+#define	TCOOFF		0
+#define	TCOON		1
+#define	TCIOFF		2
+#define	TCION		3
+
+/* tcflush() and TCFLSH use these */
+#define	TCIFLUSH	0
+#define	TCOFLUSH	1
+#define	TCIOFLUSH	2
+
+/* tcsetattr uses these */
+#define	TCSANOW		0
+#define	TCSADRAIN	1
+#define	TCSAFLUSH	2
+
 
 #define _IOT_termios /* Hurd ioctl type field.  */ \
   _IOT (_IOTS (cflag_t), 4, _IOTS (cc_t), NCCS, _IOTS (speed_t), 2)
diff --git a/sysdeps/unix/sysv/linux/ustat.c b/sysdeps/unix/sysv/linux/ustat.c
new file mode 100644
index 0000000000..8cec8eb9b7
--- /dev/null
+++ b/sysdeps/unix/sysv/linux/ustat.c
@@ -0,0 +1,32 @@
+/* Copyright (C) 1997 Free Software Foundation, Inc.
+   This file is part of the GNU C Library.
+   Contributed by Ulrich Drepper <drepper@cygnus.com>, 1997.
+
+   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 <sys/ustat.h>
+#include <sys/sysmacros.h>
+
+int
+ustat (dev_t dev, struct ustat *ubuf)
+{
+  unsigned short int k_dev;
+
+  /* We must convert the value to dev_t type used by the kernel.  */
+  k_dev = ((major (dev) & 0xff) << 8) | (minor (dev) & 0xff);
+
+  return __syscall_ustat (k_dev, ubuf);
+}
diff --git a/sysdeps/unix/sysv/linux/ustatbits.h b/sysdeps/unix/sysv/linux/ustatbits.h
index 96580031c7..526069a7f3 100644
--- a/sysdeps/unix/sysv/linux/ustatbits.h
+++ b/sysdeps/unix/sysv/linux/ustatbits.h
@@ -1,2 +1,27 @@
-/* struct ustat is currently in <linux/types.h>.  Good or bad?  */
-#include <linux/types.h>
+/* Copyright (C) 1997 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 <sys/types.h>
+
+struct ustat
+  {
+    __daddr_t f_tfree;
+    __ino_t f_tinode;
+    char f_fname[6];
+    char f_fpack[6];
+  };
diff --git a/sysdeps/unix/sysv/linux/xmknod.c b/sysdeps/unix/sysv/linux/xmknod.c
new file mode 100644
index 0000000000..cd73849021
--- /dev/null
+++ b/sysdeps/unix/sysv/linux/xmknod.c
@@ -0,0 +1,48 @@
+/* xmknod call using old-style Unix mknod system call.
+   Copyright (C) 1991, 1993, 1995, 1996, 1997 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 <errno.h>
+#include <sys/types.h>
+#include <sys/stat.h>
+#include <sys/sysmacros.h>
+
+extern int __syscall_mknod (const char *, unsigned short int,
+			    unsigned short int);
+
+/* Create a device file named PATH, with permission and special bits MODE
+   and device number DEV (which can be constructed from major and minor
+   device numbers with the `makedev' macro above).  */
+int
+__xmknod (int vers, const char *path, mode_t mode, dev_t *dev)
+{
+  unsigned short int k_dev;
+
+  if (vers != _MKNOD_VER)
+    {
+      __set_errno (EINVAL);
+      return -1;
+    }
+
+  /* We must convert the value to dev_t type used by the kernel.  */
+  k_dev = ((major (*dev) & 0xff) << 8) | (minor (*dev) & 0xff);
+
+  return __syscall_mknod (path, mode, k_dev);
+}
+
+weak_alias (__xmknod, _xmknod)
diff --git a/sysdeps/unix/sysv/sco3.2.4/syscall.h b/sysdeps/unix/sysv/sco3.2.4/sys/syscall.h
index 9c03f89759..9c03f89759 100644
--- a/sysdeps/unix/sysv/sco3.2.4/syscall.h
+++ b/sysdeps/unix/sysv/sco3.2.4/sys/syscall.h
diff --git a/sysdeps/unix/xmknod.c b/sysdeps/unix/xmknod.c
index 21bd3f48bd..63d96a0897 100644
--- a/sysdeps/unix/xmknod.c
+++ b/sysdeps/unix/xmknod.c
@@ -1,21 +1,21 @@
 /* xmknod call using old-style Unix mknod system call.
-Copyright (C) 1991, 1993, 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
-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., 675 Mass Ave,
-Cambridge, MA 02139, USA.  */
+   Copyright (C) 1991, 1993, 1995, 1996, 1997 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 <errno.h>
 #include <sys/types.h>
diff --git a/termios/Makefile b/termios/Makefile
index 417c7bed3c..13c5b08cd8 100644
--- a/termios/Makefile
+++ b/termios/Makefile
@@ -1,4 +1,4 @@
-# Copyright (C) 1991, 1992, 1993, 1995 Free Software Foundation, Inc.
+# Copyright (C) 1991, 1992, 1993, 1995, 1997 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
@@ -12,9 +12,9 @@
 # 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., 675 Mass Ave,
-# Cambridge, MA 02139, USA.
+# 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.
 
 #
 #	Makefile for the terminal I/O functions.
diff --git a/termios/cfmakeraw.c b/termios/cfmakeraw.c
index a1f2eb2c74..1f5d24fd99 100644
--- a/termios/cfmakeraw.c
+++ b/termios/cfmakeraw.c
@@ -1,27 +1,27 @@
-/* Copyright (C) 1992, 1996 Free Software Foundation, Inc.
-This file is part of the GNU C Library.
+/* Copyright (C) 1992, 1996, 1997 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 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.
+   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., 675 Mass Ave,
-Cambridge, MA 02139, USA.  */
+   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 <ansidecl.h>
 #include <termios.h>
 
 /* Set *T to indicate raw mode.  */
 void
-DEFUN(cfmakeraw, (termios_p), struct termios *t)
+cfmakeraw (t)
+     struct termios *t;
 {
   t->c_iflag &= ~(IGNBRK|BRKINT|PARMRK|ISTRIP|INLCR|IGNCR|ICRNL|IXON);
   t->c_oflag &= ~OPOST;
diff --git a/termios/cfsetspeed.c b/termios/cfsetspeed.c
index 5f22eade4b..da31073ac2 100644
--- a/termios/cfsetspeed.c
+++ b/termios/cfsetspeed.c
@@ -1,20 +1,20 @@
-/* Copyright (C) 1992, 1993, 1996 Free Software Foundation, Inc.
-This file is part of the GNU C Library.
+/* Copyright (C) 1992, 1993, 1996, 1997 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 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.
+   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., 675 Mass Ave,
-Cambridge, MA 02139, USA.  */
+   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 <termios.h>
 #include <errno.h>
diff --git a/time/ap.c b/time/ap.c
index 5319763384..909ec0de73 100644
--- a/time/ap.c
+++ b/time/ap.c
@@ -1,4 +1,4 @@
-/* Copyright (C) 1991, 1996 Free Software Foundation, Inc.
+/* Copyright (C) 1991, 1996, 1997 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
@@ -20,11 +20,12 @@
 #include <stdlib.h>
 #include <time.h>
 #include <malloc.h>
+#include <mcheck.h>
 
 /* Prints the time in the form "hh:mm ?M", where ? is A or P.
    A simple test for strftime().  */
 int
-main (int argc, char **argv)
+main (int argc, char *argv[])
 {
   char buf[20];
   time_t t;
@@ -32,14 +33,13 @@ main (int argc, char **argv)
   mcheck (NULL);
 
   if (argc != 1)
-    fprintf(stderr, "Usage: %s\n", argv[0]);
+    fprintf (stderr, "Usage: %s\n", argv[0]);
 
-  t = time((time_t *) NULL);
-  if (strftime(buf, sizeof(buf), "%I:%M %p", localtime(&t)) == 0)
-    exit(EXIT_FAILURE);
+  t = time ((time_t *) NULL);
+  if (strftime (buf, sizeof (buf), "%I:%M %p", localtime (&t)) == 0)
+    exit (EXIT_FAILURE);
 
-  puts(buf);
+  puts (buf);
 
-  exit(EXIT_SUCCESS);
   return EXIT_SUCCESS;
 }
diff --git a/time/localtime.c b/time/localtime.c
index f228776952..ab8fc1ac45 100644
--- a/time/localtime.c
+++ b/time/localtime.c
@@ -1,5 +1,5 @@
 /* Convert `time_t' to `struct tm' in local time zone.
-   Copyright (C) 1991, 92, 93, 95, 96 Free Software Foundation, Inc.
+   Copyright (C) 1991, 92, 93, 95, 96, 97 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
@@ -25,7 +25,7 @@
 struct tm _tmbuf;
 
 /* Prototype for the internal function to get information based on TZ.  */
-extern void __tzset_internal __P ((void));
+extern void __tzset_internal __P ((int always));
 extern int __tz_compute __P ((time_t timer, struct tm *tp));
 extern int __tzfile_compute __P ((time_t timer,
 				  long int *leap_correct, int *leap_hit));
@@ -90,8 +90,8 @@ localtime (timer)
 
   __libc_lock_lock (__tzset_lock);
 
-  /* Make sure the database is initialized.  */
-  __tzset_internal ();
+  /* Update internal database according to current TZ setting.  */
+  __tzset_internal (1);
 
   result = localtime_internal (timer, &_tmbuf);
 
@@ -110,6 +110,9 @@ __localtime_r (timer, tp)
 
   __libc_lock_lock (__tzset_lock);
 
+  /* Make sure the database is initialized.  */
+  __tzset_internal (0);
+
   result = localtime_internal (timer, tp);
 
   __libc_lock_unlock (__tzset_lock);
diff --git a/time/sys/time.h b/time/sys/time.h
index f6c6f74878..5519f716ca 100644
--- a/time/sys/time.h
+++ b/time/sys/time.h
@@ -1,4 +1,4 @@
-/* Copyright (C) 1991, 92, 93, 94, 96 Free Software Foundation, Inc.
+/* Copyright (C) 1991, 92, 93, 94, 96, 97 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
@@ -22,6 +22,7 @@
 #include <features.h>
 
 #include <time.h>
+#include <sys/select.h>
 
 #define __need_timeval
 #include <timebits.h>
diff --git a/time/tzset.c b/time/tzset.c
index 886ac6c0c8..13360b445b 100644
--- a/time/tzset.c
+++ b/time/tzset.c
@@ -1,4 +1,4 @@
-/* Copyright (C) 1991, 92, 93, 94, 95, 96 Free Software Foundation, Inc.
+/* Copyright (C) 1991, 92, 93, 94, 95, 96, 97 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
@@ -77,15 +77,21 @@ static int compute_change __P ((tz_rule *rule, int year));
 static char *old_tz = NULL;
 
 /* Interpret the TZ envariable.  */
-void __tzset_internal __P ((void));
+void __tzset_internal __P ((int always));
 void
-__tzset_internal ()
+__tzset_internal (always)
+     int always;
 {
+  static int is_initialized = 0;
   register const char *tz;
   register size_t l;
   unsigned short int hh, mm, ss;
   unsigned short int whichrule;
 
+  if (is_initialized && !always)
+    return;
+  is_initialized = 1;
+
   /* Examine the TZ environment variable.  */
   tz = getenv ("TZ");
 
@@ -375,7 +381,7 @@ size_t __tzname_cur_max;
 long int
 __tzname_max ()
 {
-  __tzset_internal ();
+  __tzset_internal (0);
 
   return __tzname_cur_max;
 }
@@ -473,7 +479,7 @@ __tz_compute (timer, tm)
      time_t timer;
      const struct tm *tm;
 {
-  __tzset_internal ();
+  __tzset_internal (0);
 
   if (! compute_change (&tz_rules[0], 1900 + tm->tm_year) ||
       ! compute_change (&tz_rules[1], 1900 + tm->tm_year))
@@ -510,7 +516,7 @@ __tzset (void)
 {
   __libc_lock_lock (__tzset_lock);
 
-  __tzset_internal ();
+  __tzset_internal (1);
 
   if (!__use_tzfile)
     {
diff --git a/version.c b/version.c
index f55c41ed85..908558cf32 100644
--- a/version.c
+++ b/version.c
@@ -1,20 +1,20 @@
-/* Copyright (C) 1991, 92, 93, 94, 95, 96 Free Software Foundation, Inc.
-This file is part of the GNU C Library.
+/* Copyright (C) 1991, 92, 93, 94, 95, 96, 97 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 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.
+   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., 675 Mass Ave,
-Cambridge, MA 02139, USA.  */
+   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 "version.h"
 const char __libc_release[] = RELEASE;
@@ -23,12 +23,12 @@ const char __libc_version[] = VERSION;
 static const char banner[] =
 "GNU C Library "RELEASE" release version "VERSION", by Roland McGrath et al.\n\
 Compiled by GNU CC version "__VERSION__".\n\
-Copyright (C) 1992, 93, 94, 95, 96 Free Software Foundation, Inc.\n\
+Copyright (C) 1992, 93, 94, 95, 96, 97 Free Software Foundation, Inc.\n\
 This is free software; see the source for copying conditions.\n\
 There is NO warranty; not even for MERCHANTABILITY or FITNESS FOR A\n\
 PARTICULAR PURPOSE.\n"
 #include "version-info.h"
-"Report bugs to <bug-glibc@prep.ai.mit.edu>.\n";
+"Report bugs using the `glibcbug' script to <bugs@gnu.ai.mit.edu>.\n";
 
 #include <unistd.h>
 
diff --git a/version.h b/version.h
index 4136fc6839..7a7bcaa6c1 100644
--- a/version.h
+++ b/version.h
@@ -1,4 +1,4 @@
 /* This file just defines the current version number of libc.  */
 
 #define RELEASE "alpha"
-#define VERSION "1.99"
+#define VERSION "1.100"