about summary refs log tree commit diff
diff options
context:
space:
mode:
authorUlrich Drepper <drepper@redhat.com>1998-11-28 21:06:13 +0000
committerUlrich Drepper <drepper@redhat.com>1998-11-28 21:06:13 +0000
commit6d4752d8b97037222ad88e74eb149459e5c0b53c (patch)
treec9c41e66f548371babddbbbb1c5883a86f5c92d0
parent48252123bcf7a2ceed907a51fea74897fd601769 (diff)
downloadglibc-6d4752d8b97037222ad88e74eb149459e5c0b53c.tar.gz
glibc-6d4752d8b97037222ad88e74eb149459e5c0b53c.tar.xz
glibc-6d4752d8b97037222ad88e74eb149459e5c0b53c.zip
Update.
1998-11-27  Philip Blundell  <pb@nexus.co.uk>

	Fixes to allow compilation with static NSS:
	* nss/Makefile: Make explicit the dependency of getent on
	libnss_files.a.
	[build_static_nss]: Define $(otherlibs) appropriately.
	* nss/Depend: Add a dependency on `resolv'.

1998-11-27  Andreas Jaeger  <aj@arthur.rhein-neckar.de>

	Partial support for MIPS ISO C 9x exception handling:
	* sysdeps/mips/fclrexcpt.c: New file.
	* sysdeps/mips/ftestexcept.c: New file.
	* sysdeps/mips/fgetexcptflg.c: New file.
	* sysdeps/mips/fesetround.c: New file.
	* sysdeps/mips/fegetround.c: New file.
	* sysdeps/mips/fegetenv.c: New file.
	* sysdeps/mips/fesetenv.c: New file.
	* sysdeps/mips/feupdateenv.c: Likewise.
	* sysdeps/mips/bits/fenv.h: New file.

1998-11-28  Andreas Jaeger  <aj@arthur.rhein-neckar.de>

	* sysdeps/unix/sysv/linux/mips/bits/signum.h: Remove inclusion of
	<asm/signal.h> and add needed symbols from <asm/signal.h>; bring
	in sync with linux specific version.

	Patches by Ralf Baechle <ralf@uni-koblenz.de> for mips-linux:

	* sysdeps/unix/mips/sysdep.S: Define _errno as weak_alias, rewrite
	errno declaration.

	* sysdeps/unix/sysv/linux/mips/ustat.c: Use INLINE_SYSCALL instead
	of calling __syscall_*.
	* sysdeps/unix/sysv/linux/mips/xmknod.c: Likewise.

	* sysdeps/unix/sysv/linux/mips/syscalls.list: Update entries.

	* sysdeps/unix/sysv/linux/mips/sys/syscall.h: Add missing SYS_*
	constants, correct values according to Linux 2.1.130.

	* sysdeps/unix/sysv/linux/mips/pwrite.c: New file.
	* sysdeps/unix/sysv/linux/mips/pwrite64.c: New file.
	* sysdeps/unix/sysv/linux/mips/pread.c: New file.
	* sysdeps/unix/sysv/linux/mips/pread64.c: New file.

	* sysdeps/mips/Makefile (sysdep_routines): Use += instead of a
	:=.

	* sysdeps/unix/sysv/linux/mips/bits/ipc.h: Remove ipc_kludge.

	* sysdeps/unix/sysv/linux/mips/xstatconv.c: New file.

	* sysdeps/unix/sysv/linux/mips/xstat.c: Removed.

	* sysdeps/unix/sysv/linux/mips/sys/ucontext.h: New file.

	* sysdeps/unix/sysv/linux/mips/kernel_termios.h: Add copyright
	message, change name of include protection, remove inclusion of
	<bits/termios.h>.

	* sysdeps/unix/sysv/linux/mips/kernel_sigaction.h
	(old_kernel_sigaction): Define.
	(struct kernel_sigaction): Rename sa_handler to k_sa_handler.

	* sysdeps/unix/sysv/linux/mips/bits/time.h: Removed, we can use
	the general linux version.
	* sysdeps/unix/sysv/linux/mips/bits/stat.h (_STAT_VER_KERNEL): Added.

	* sysdeps/unix/sysv/linux/mips/bits/socket.h: Update file.

1998-09-03  Philip Blundell  <pb@nexus.co.uk>

	* sysdeps/arm/bits/endian.h (__FLOAT_WORD_ORDER): Define to big
	endian.
	* math/math_private.h: Use __FLOAT_WORD_ORDER rather than
	BYTE_ORDER.
	* string/endian.h: If __FLOAT_WORD_ORDER wasn't defined by
	<bits/endian.h>, make it the same as __BYTE_ORDER.

1998-11-26  Andreas Schwab  <schwab@issan.cs.uni-dortmund.de>

	* Makeconfig ($(common-objpfx)sysd-dirs): Use automatic variables
	if possible.
	($(common-objpfx)sysd-sorted): Likewise.

1998-11-27  Andreas Jaeger  <aj@arthur.rhein-neckar.de>

	* sysdeps/libm-ieee754/e_log.c (__ieee754_log): Add declaration of
	local variables t1,t2 only if needed.

	* sysdeps/libm-ieee754/s_truncf.c (__truncf): Likewise.
	* sysdeps/libm-ieee754/s_trunc.c (__trunc): Likewise.

	* sysdeps/mips/mul_1.S (Loop): Add closing comment to avoid
	warning.

1998-11-27  Andreas Jaeger  <aj@arthur.rhein-neckar.de>

	* math/math.h: Add brace to correct #if expression.

1998-11-26  Philip Blundell  <philb@gnu.org>

	Undo change of 1998-11-12:
	* sysdeps/unix/sysv/linux/netlink/netlink.h: Deleted.
	* sysdeps/unix/sysv/linux/Makefile (sysdep_headers): Remove
	netlink/netlink.h.
	* sysdeps/unix/sysv/linux/Dist: Likewise.

1998-11-22  Thorsten Kukuk  <kukuk@vt.uni-paderborn.de>

	* nis/nis_print.c (nis_print_entry): Changes to match Solaris output.

1998-11-26  Andreas Jaeger  <aj@arthur.rhein-neckar.de>

	* sysdeps/generic/pselect.c (__pselect): Change interface,
	set/restore sigmask.

	* misc/sys/select.h: Change declaration according to Stevens' Unix
	Network Programming.
	* include/sys/select.h (__pselect): Likewise.
	Reported by <bwelling@anomaly.munge.com> [PR libc/872].

	* include/fpu_control.h: New file, contains __setfpucw
	declaration.

	* sysdeps/generic/fpu_control.h: Remove __setfpucw declaration,
	it's an internal symbol.
	* sysdeps/alpha/fpu/fpu_control.h: Likewise.
	* sysdeps/arm/fpu/fpu_control.h: Likewise.
	* sysdeps/i386/fpu_control.h: Likewise.
	* sysdeps/m68k/fpu_control.h: Likewise.
	* sysdeps/powerpc/fpu_control.h: Likewise.
	* sysdeps/sparc/sparc32/fpu/fpu_control.h: Likewise.
	* sysdeps/sparc/sparc64/fpu/fpu_control.h: Likewise.
-rw-r--r--ChangeLog201
-rw-r--r--nss/Depend1
-rw-r--r--nss/Makefile9
-rw-r--r--po/libc.pot1394
-rw-r--r--sysdeps/mips/Makefile2
-rw-r--r--sysdeps/mips/bits/fenv.h72
-rw-r--r--sysdeps/mips/fclrexcpt.c40
-rw-r--r--sysdeps/mips/fegetenv.c28
-rw-r--r--sysdeps/mips/fegetround.c33
-rw-r--r--sysdeps/mips/fesetenv.c31
-rw-r--r--sysdeps/mips/fesetround.c43
-rw-r--r--sysdeps/mips/feupdateenv.c40
-rw-r--r--sysdeps/mips/fgetexcptflg.c33
-rw-r--r--sysdeps/mips/ftestexcept.c33
-rw-r--r--sysdeps/unix/mips/sysdep.S12
-rw-r--r--sysdeps/unix/sysv/linux/mips/bits/ipc.h11
-rw-r--r--sysdeps/unix/sysv/linux/mips/bits/signum.h59
-rw-r--r--sysdeps/unix/sysv/linux/mips/bits/socket.h149
-rw-r--r--sysdeps/unix/sysv/linux/mips/bits/stat.h4
-rw-r--r--sysdeps/unix/sysv/linux/mips/bits/time.h57
-rw-r--r--sysdeps/unix/sysv/linux/mips/kernel_sigaction.h5
-rw-r--r--sysdeps/unix/sysv/linux/mips/kernel_termios.h25
-rw-r--r--sysdeps/unix/sysv/linux/mips/pread.c62
-rw-r--r--sysdeps/unix/sysv/linux/mips/pread64.c65
-rw-r--r--sysdeps/unix/sysv/linux/mips/pwrite.c62
-rw-r--r--sysdeps/unix/sysv/linux/mips/pwrite64.c65
-rw-r--r--sysdeps/unix/sysv/linux/mips/sys/syscall.h26
-rw-r--r--sysdeps/unix/sysv/linux/mips/sys/ucontext.h77
-rw-r--r--sysdeps/unix/sysv/linux/mips/syscalls.list21
-rw-r--r--sysdeps/unix/sysv/linux/mips/ustat.c7
-rw-r--r--sysdeps/unix/sysv/linux/mips/xmknod.c7
-rw-r--r--sysdeps/unix/sysv/linux/mips/xstat.c80
-rw-r--r--sysdeps/unix/sysv/linux/mips/xstatconv.c120
-rw-r--r--sysdeps/unix/sysv/linux/pwrite.c4
34 files changed, 1811 insertions, 1067 deletions
diff --git a/ChangeLog b/ChangeLog
index 13ec054646..b4692185c6 100644
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,12 +1,83 @@
-1998-09-03  Philip Blundell  <pb@nexus.co.uk> 
- 
-	* sysdeps/arm/bits/endian.h (__FLOAT_WORD_ORDER): Define to big 
-	endian. 
-	* math/math_private.h: Use __FLOAT_WORD_ORDER rather than 
-	BYTE_ORDER. 
-	* string/endian.h: If __FLOAT_WORD_ORDER wasn't defined by 
-	<bits/endian.h>, make it the same as __BYTE_ORDER. 
- 
+1998-11-27  Philip Blundell  <pb@nexus.co.uk>
+
+	Fixes to allow compilation with static NSS:
+	* nss/Makefile: Make explicit the dependency of getent on
+	libnss_files.a.
+	[build_static_nss]: Define $(otherlibs) appropriately.
+	* nss/Depend: Add a dependency on `resolv'.
+
+1998-11-27  Andreas Jaeger  <aj@arthur.rhein-neckar.de>
+
+	Partial support for MIPS ISO C 9x exception handling:
+	* sysdeps/mips/fclrexcpt.c: New file.
+	* sysdeps/mips/ftestexcept.c: New file.
+	* sysdeps/mips/fgetexcptflg.c: New file.
+	* sysdeps/mips/fesetround.c: New file.
+	* sysdeps/mips/fegetround.c: New file.
+	* sysdeps/mips/fegetenv.c: New file.
+	* sysdeps/mips/fesetenv.c: New file.
+	* sysdeps/mips/feupdateenv.c: Likewise.
+	* sysdeps/mips/bits/fenv.h: New file.
+
+1998-11-28  Andreas Jaeger  <aj@arthur.rhein-neckar.de>
+
+	* sysdeps/unix/sysv/linux/mips/bits/signum.h: Remove inclusion of
+	<asm/signal.h> and add needed symbols from <asm/signal.h>; bring
+	in sync with linux specific version.
+
+	Patches by Ralf Baechle <ralf@uni-koblenz.de> for mips-linux:
+
+	* sysdeps/unix/mips/sysdep.S: Define _errno as weak_alias, rewrite
+	errno declaration.
+
+	* sysdeps/unix/sysv/linux/mips/ustat.c: Use INLINE_SYSCALL instead
+	of calling __syscall_*.
+	* sysdeps/unix/sysv/linux/mips/xmknod.c: Likewise.
+
+	* sysdeps/unix/sysv/linux/mips/syscalls.list: Update entries.
+
+	* sysdeps/unix/sysv/linux/mips/sys/syscall.h: Add missing SYS_*
+	constants, correct values according to Linux 2.1.130.
+
+	* sysdeps/unix/sysv/linux/mips/pwrite.c: New file.
+	* sysdeps/unix/sysv/linux/mips/pwrite64.c: New file.
+	* sysdeps/unix/sysv/linux/mips/pread.c: New file.
+	* sysdeps/unix/sysv/linux/mips/pread64.c: New file.
+
+	* sysdeps/mips/Makefile (sysdep_routines): Use += instead of a
+	:=.
+
+	* sysdeps/unix/sysv/linux/mips/bits/ipc.h: Remove ipc_kludge.
+
+	* sysdeps/unix/sysv/linux/mips/xstatconv.c: New file.
+
+	* sysdeps/unix/sysv/linux/mips/xstat.c: Removed.
+
+	* sysdeps/unix/sysv/linux/mips/sys/ucontext.h: New file.
+
+	* sysdeps/unix/sysv/linux/mips/kernel_termios.h: Add copyright
+	message, change name of include protection, remove inclusion of
+	<bits/termios.h>.
+
+	* sysdeps/unix/sysv/linux/mips/kernel_sigaction.h
+	(old_kernel_sigaction): Define.
+	(struct kernel_sigaction): Rename sa_handler to k_sa_handler.
+
+	* sysdeps/unix/sysv/linux/mips/bits/time.h: Removed, we can use
+	the general linux version.
+	* sysdeps/unix/sysv/linux/mips/bits/stat.h (_STAT_VER_KERNEL): Added.
+
+	* sysdeps/unix/sysv/linux/mips/bits/socket.h: Update file.
+
+1998-09-03  Philip Blundell  <pb@nexus.co.uk>
+
+	* sysdeps/arm/bits/endian.h (__FLOAT_WORD_ORDER): Define to big
+	endian.
+	* math/math_private.h: Use __FLOAT_WORD_ORDER rather than
+	BYTE_ORDER.
+	* string/endian.h: If __FLOAT_WORD_ORDER wasn't defined by
+	<bits/endian.h>, make it the same as __BYTE_ORDER.
+
 1998-11-27  Ulrich Drepper  <drepper@cygnus.com>
 
 	* math/math.h: Avoid using long double functions in generic macros
@@ -17,41 +88,41 @@
 	* scripts/config.sub: Add Netwinder specific matches.
 	Patch by Scott Bambrough <scottb@corelcomputer.com>.
 
-1998-11-26  Andreas Schwab  <schwab@issan.cs.uni-dortmund.de> 
- 
-	* Makeconfig ($(common-objpfx)sysd-dirs): Use automatic variables 
-	if possible. 
-	($(common-objpfx)sysd-sorted): Likewise. 
- 
-1998-11-27  Andreas Jaeger  <aj@arthur.rhein-neckar.de> 
- 
-	* sysdeps/libm-ieee754/e_log.c (__ieee754_log): Add declaration of  
-	local variables t1,t2 only if needed. 
- 
+1998-11-26  Andreas Schwab  <schwab@issan.cs.uni-dortmund.de>
+
+	* Makeconfig ($(common-objpfx)sysd-dirs): Use automatic variables
+	if possible.
+	($(common-objpfx)sysd-sorted): Likewise.
+
+1998-11-27  Andreas Jaeger  <aj@arthur.rhein-neckar.de>
+
+	* sysdeps/libm-ieee754/e_log.c (__ieee754_log): Add declaration of
+	local variables t1,t2 only if needed.
+
 	* sysdeps/libm-ieee754/e_atan2.c: Added braces to avoid compiler
 	warnings.
-	* sysdeps/libm-ieee754/s_truncf.c (__truncf): Likewise. 
-	* sysdeps/libm-ieee754/s_trunc.c (__trunc): Likewise. 
- 
-	* sysdeps/mips/mul_1.S (Loop): Add closing comment to avoid 
-	warning. 
- 
-1998-11-27  Andreas Jaeger  <aj@arthur.rhein-neckar.de> 
- 
-	* math/math.h: Add brace to correct #if expression. 
- 
-1998-11-26  Philip Blundell  <philb@gnu.org> 
- 
-	Undo change of 1998-11-12: 
-	* sysdeps/unix/sysv/linux/netlink/netlink.h: Deleted. 
-	* sysdeps/unix/sysv/linux/Makefile (sysdep_headers): Remove 
-	netlink/netlink.h. 
-	* sysdeps/unix/sysv/linux/Dist: Likewise. 
- 
-1998-11-22  Thorsten Kukuk  <kukuk@vt.uni-paderborn.de> 
- 
-	* nis/nis_print.c (nis_print_entry): Changes to match Solaris output. 
- 
+	* sysdeps/libm-ieee754/s_truncf.c (__truncf): Likewise.
+	* sysdeps/libm-ieee754/s_trunc.c (__trunc): Likewise.
+
+	* sysdeps/mips/mul_1.S (Loop): Add closing comment to avoid
+	warning.
+
+1998-11-27  Andreas Jaeger  <aj@arthur.rhein-neckar.de>
+
+	* math/math.h: Add brace to correct #if expression.
+
+1998-11-26  Philip Blundell  <philb@gnu.org>
+
+	Undo change of 1998-11-12:
+	* sysdeps/unix/sysv/linux/netlink/netlink.h: Deleted.
+	* sysdeps/unix/sysv/linux/Makefile (sysdep_headers): Remove
+	netlink/netlink.h.
+	* sysdeps/unix/sysv/linux/Dist: Likewise.
+
+1998-11-22  Thorsten Kukuk  <kukuk@vt.uni-paderborn.de>
+
+	* nis/nis_print.c (nis_print_entry): Changes to match Solaris output.
+
 1998-11-26  Ulrich Drepper  <drepper@cygnus.com>
 
 	* sysdeps/mips/dl-machine.h (ELF_MACHINE_NO_PLT): New defined macro.
@@ -64,29 +135,29 @@
 	* sysdeps/mips/sys/ucontext.h: New file.
 	Patches by kaz Kojima <kkojima@rr.iij4u.or.jp>.
 
-1998-11-26  Andreas Jaeger  <aj@arthur.rhein-neckar.de> 
- 
-	* sysdeps/generic/pselect.c (__pselect): Change interface, 
-	set/restore sigmask. 
- 
-	* misc/sys/select.h: Change declaration according to Stevens' Unix  
-	Network Programming. 
-	* include/sys/select.h (__pselect): Likewise. 
-	Reported by <bwelling@anomaly.munge.com> [PR libc/872]. 
- 
-	* include/fpu_control.h: New file, contains __setfpucw 
-	declaration. 
- 
-	* sysdeps/generic/fpu_control.h: Remove __setfpucw declaration, 
-	it's an internal symbol. 
-	* sysdeps/alpha/fpu/fpu_control.h: Likewise. 
-	* sysdeps/arm/fpu/fpu_control.h: Likewise. 
-	* sysdeps/i386/fpu_control.h: Likewise. 
-	* sysdeps/m68k/fpu_control.h: Likewise. 
-	* sysdeps/powerpc/fpu_control.h: Likewise. 
-	* sysdeps/sparc/sparc32/fpu/fpu_control.h: Likewise. 
-	* sysdeps/sparc/sparc64/fpu/fpu_control.h: Likewise. 
- 
+1998-11-26  Andreas Jaeger  <aj@arthur.rhein-neckar.de>
+
+	* sysdeps/generic/pselect.c (__pselect): Change interface,
+	set/restore sigmask.
+
+	* misc/sys/select.h: Change declaration according to Stevens' Unix
+	Network Programming.
+	* include/sys/select.h (__pselect): Likewise.
+	Reported by <bwelling@anomaly.munge.com> [PR libc/872].
+
+	* include/fpu_control.h: New file, contains __setfpucw
+	declaration.
+
+	* sysdeps/generic/fpu_control.h: Remove __setfpucw declaration,
+	it's an internal symbol.
+	* sysdeps/alpha/fpu/fpu_control.h: Likewise.
+	* sysdeps/arm/fpu/fpu_control.h: Likewise.
+	* sysdeps/i386/fpu_control.h: Likewise.
+	* sysdeps/m68k/fpu_control.h: Likewise.
+	* sysdeps/powerpc/fpu_control.h: Likewise.
+	* sysdeps/sparc/sparc32/fpu/fpu_control.h: Likewise.
+	* sysdeps/sparc/sparc64/fpu/fpu_control.h: Likewise.
+
 1998-11-25  Ulrich Drepper  <drepper@cygnus.com>
 
 	* version.h (VERSION): Bump to 2.0.104.
diff --git a/nss/Depend b/nss/Depend
index 4921fe6c85..c0c4073623 100644
--- a/nss/Depend
+++ b/nss/Depend
@@ -1 +1,2 @@
 db2
+resolv
diff --git a/nss/Makefile b/nss/Makefile
index 2b7bbc3f2b..56159304e1 100644
--- a/nss/Makefile
+++ b/nss/Makefile
@@ -43,6 +43,11 @@ tests			= test-netdb
 
 include ../Makeconfig
 
+ifeq (yes,$(build-static-nss))
+otherlibs += $(nssobjdir)/libnss_files.a $(resolvobjdir)/libnss_dns.a \
+	     $(resolvobjdir)/libresolv.a
+endif
+
 # Specify rules for the nss_* modules.  We have some services.
 services		:= files db
 
@@ -84,6 +89,10 @@ $(libnss_db-routines:%=$(objpfx)%.c): $(objpfx)db-%.c: nss_files/files-%.c
 	 echo '#include <$<>') > $@.new
 	mv -f $@.new $@
 
+ifeq (yes,$(build-static-nss))
+$(objpfx)getent: $(objpfx)libnss_files.a
+endif
+
 # Depend on libc.so so a DT_NEEDED is generated in the shared objects.
 # This ensures they will load libc.so for needed symbols if loaded by
 # a statically-linked program that hasn't already loaded it.
diff --git a/po/libc.pot b/po/libc.pot
index 6ba88e30f7..7da6b3527b 100644
--- a/po/libc.pot
+++ b/po/libc.pot
@@ -5,8 +5,8 @@
 #, fuzzy
 msgid ""
 msgstr ""
-"Project-Id-Version: libc 2.0.94\n"
-"POT-Creation-Date: 1998-07-26 08:52-0700\n"
+"Project-Id-Version: libc 2.0.104\n"
+"POT-Creation-Date: 1998-11-28 09:29-0800\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"
@@ -22,24 +22,24 @@ msgstr ""
 msgid "\t\tAttributes    : "
 msgstr ""
 
-#: sunrpc/rpc_main.c:1360
+#: sunrpc/rpc_main.c:1416
 #, c-format
 msgid ""
 "\t%s [-abkCLNTM][-Dname[=value]] [-i size] [-I [-K seconds]] [-Y path] "
 "infile\n"
 msgstr ""
 
-#: sunrpc/rpc_main.c:1362
+#: sunrpc/rpc_main.c:1418
 #, c-format
 msgid "\t%s [-c | -h | -l | -m | -t | -Sc | -Ss | -Sm] [-o outfile] [infile]\n"
 msgstr ""
 
-#: sunrpc/rpc_main.c:1365
+#: sunrpc/rpc_main.c:1421
 #, c-format
 msgid "\t%s [-n netid]* [-o outfile] [infile]\n"
 msgstr ""
 
-#: sunrpc/rpc_main.c:1364
+#: sunrpc/rpc_main.c:1420
 #, c-format
 msgid "\t%s [-s nettype]* [-o outfile] [infile]\n"
 msgstr ""
@@ -82,12 +82,21 @@ msgstr ""
 msgid "\t[%u] - [%u bytes] "
 msgstr ""
 
-#: nscd/grpcache.c:400
-msgid "\tgroup cache is disabled\n"
-msgstr ""
-
-#: nscd/pwdcache.c:416
-msgid "\tpasswd cache is disabled\n"
+#: nscd/nscd_stat.c:153
+msgid ""
+"\n"
+"%s cache:\n"
+"\n"
+"%15s  cache is enabled\n"
+"%15Zd  suggested size\n"
+"%15ld  seconds time to live for positive entries\n"
+"%15ld  seconds time to live for negative entries\n"
+"%15ld  cache hits on positive entries\n"
+"%15ld  cache hits on negative entries\n"
+"%15ld  cache misses on positive entries\n"
+"%15ld  cache misses on negative entries\n"
+"%15ld%% cache hit rate\n"
+"%15s  check /etc/%s for changes\n"
 msgstr ""
 
 #: nis/nis_print.c:251
@@ -96,7 +105,7 @@ msgid ""
 "Group Members :\n"
 msgstr ""
 
-#: nis/nis_print.c:317
+#: nis/nis_print.c:320
 msgid ""
 "\n"
 "Time to Live  : "
@@ -118,7 +127,15 @@ msgstr ""
 msgid "       rpcinfo [ -n portnum ] -t host prognum [ versnum ]\n"
 msgstr ""
 
-#: nis/nis_print.c:341
+#: nscd/nscd_stat.c:145 nscd/nscd_stat.c:147
+msgid "      no"
+msgstr ""
+
+#: nscd/nscd_stat.c:145 nscd/nscd_stat.c:147
+msgid "     yes"
+msgstr ""
+
+#: nis/nis_print.c:344
 #, c-format
 msgid "    Data Length = %u\n"
 msgstr ""
@@ -171,7 +188,7 @@ msgstr ""
 msgid "   program vers proto   port\n"
 msgstr ""
 
-#: argp/argp-help.c:1531
+#: argp/argp-help.c:1571
 msgid "  or: "
 msgstr ""
 
@@ -180,11 +197,11 @@ msgstr ""
 msgid " (rule from \"%s\", line %d)"
 msgstr ""
 
-#: argp/argp-help.c:1543
+#: argp/argp-help.c:1583
 msgid " [OPTION...]"
 msgstr ""
 
-#: locale/programs/ld-collate.c:367 locale/programs/ld-ctype.c:1286
+#: locale/programs/ld-collate.c:370 locale/programs/ld-ctype.c:1291
 msgid " done\n"
 msgstr ""
 
@@ -193,84 +210,30 @@ msgstr ""
 msgid "\"%s\", line %d: %s"
 msgstr ""
 
-#: timezone/zic.c:957
+#: timezone/zic.c:958
 #, c-format
 msgid "\"Zone %s\" line and -l option are mutually exclusive"
 msgstr ""
 
-#: timezone/zic.c:965
+#: timezone/zic.c:966
 #, c-format
 msgid "\"Zone %s\" line and -p option are mutually exclusive"
 msgstr ""
 
-#: sunrpc/rpc_main.c:1345
+#: sunrpc/rpc_main.c:1401
 msgid "\"infile\" is required for template generation flags.\n"
 msgstr ""
 
-#: argp/argp-help.c:185
+#: argp/argp-help.c:210
 #, c-format
 msgid "%.*s: ARGP_HELP_FMT parameter requires a value"
 msgstr ""
 
-#: argp/argp-help.c:194
+#: argp/argp-help.c:219
 #, c-format
 msgid "%.*s: Unknown ARGP_HELP_FMT parameter"
 msgstr ""
 
-#: nscd/nscd_stat.c:62
-#, c-format
-msgid ""
-"%12d  server debug level\n"
-"\n"
-msgstr ""
-
-#: nscd/nscd_stat.c:67 nscd/nscd_stat.c:79
-#, c-format
-msgid "%12ld  cache hits on negative entries\n"
-msgstr ""
-
-#: nscd/nscd_stat.c:66 nscd/nscd_stat.c:78
-#, c-format
-msgid "%12ld  cache hits on positive entries\n"
-msgstr ""
-
-#: nscd/nscd_stat.c:69 nscd/nscd_stat.c:81
-#, c-format
-msgid "%12ld  cache misses on negative entries\n"
-msgstr ""
-
-#: nscd/nscd_stat.c:68 nscd/nscd_stat.c:80
-#, c-format
-msgid "%12ld  cache misses on positive entries\n"
-msgstr ""
-
-#: nscd/nscd_stat.c:85
-#, c-format
-msgid "%12ld  seconds time to live for negative entries\n"
-msgstr ""
-
-#: nscd/nscd_stat.c:73
-#, c-format
-msgid ""
-"%12ld  seconds time to live for negative entries\n"
-"\n"
-msgstr ""
-
-#: nscd/nscd_stat.c:71 nscd/nscd_stat.c:83
-#, c-format
-msgid "%12ld  seconds time to live for positive entries\n"
-msgstr ""
-
-#: nscd/nscd_stat.c:70 nscd/nscd_stat.c:82
-#, c-format
-msgid "%12ld  suggested size\n"
-msgstr ""
-
-#: nscd/nscd_stat.c:65 nscd/nscd_stat.c:77
-#, c-format
-msgid "%12s  cache is enabled\n"
-msgstr ""
-
 #: timezone/zic.c:768
 #, c-format
 msgid "%s in ruleless zone"
@@ -291,7 +254,7 @@ msgstr ""
 msgid "%s%sUnknown signal %d\n"
 msgstr ""
 
-#: timezone/zic.c:2200
+#: timezone/zic.c:2201
 #, c-format
 msgid "%s: %d did not sign extend correctly\n"
 msgstr ""
@@ -301,12 +264,22 @@ msgstr ""
 msgid "%s: <mb_cur_max> must be greater than <mb_cur_min>\n"
 msgstr ""
 
-#: timezone/zic.c:1468
+#: sunrpc/rpc_main.c:422
+#, c-format
+msgid "%s: C preprocessor failed with exit code %d\n"
+msgstr ""
+
+#: sunrpc/rpc_main.c:419
+#, c-format
+msgid "%s: C preprocessor failed with signal %d\n"
+msgstr ""
+
+#: timezone/zic.c:1469
 #, c-format
 msgid "%s: Can't create %s: %s\n"
 msgstr ""
 
-#: timezone/zic.c:2178
+#: timezone/zic.c:2179
 #, c-format
 msgid "%s: Can't create directory %s: %s\n"
 msgstr ""
@@ -321,7 +294,7 @@ msgstr ""
 msgid "%s: Can't open %s: %s\n"
 msgstr ""
 
-#: timezone/zic.c:1458
+#: timezone/zic.c:1459
 #, c-format
 msgid "%s: Can't remove %s: %s\n"
 msgstr ""
@@ -336,7 +309,7 @@ msgstr ""
 msgid "%s: Error reading %s\n"
 msgstr ""
 
-#: timezone/zic.c:1534
+#: timezone/zic.c:1535
 #, c-format
 msgid "%s: Error writing %s\n"
 msgstr ""
@@ -381,7 +354,7 @@ msgstr ""
 msgid "%s: More than one -y option specified\n"
 msgstr ""
 
-#: argp/argp-parse.c:638
+#: argp/argp-parse.c:640
 #, c-format
 msgid "%s: Too many arguments\n"
 msgstr ""
@@ -391,27 +364,27 @@ msgstr ""
 msgid "%s: cannot get modification time"
 msgstr ""
 
-#: timezone/zic.c:1899
+#: timezone/zic.c:1900
 #, c-format
 msgid "%s: command was '%s', result was %d\n"
 msgstr ""
 
-#: locale/programs/charmap.c:677 locale/programs/locfile.c:1007
+#: locale/programs/charmap.c:677 locale/programs/locfile.c:1008
 #, c-format
 msgid "%s: error in state machine"
 msgstr ""
 
-#: posix/getopt.c:782
+#: posix/getopt.c:784
 #, c-format
 msgid "%s: illegal option -- %c\n"
 msgstr ""
 
-#: posix/getopt.c:785
+#: posix/getopt.c:787
 #, c-format
 msgid "%s: invalid option -- %c\n"
 msgstr ""
 
-#: posix/getopt.c:706
+#: posix/getopt.c:707
 #, c-format
 msgid "%s: option `%c%s' doesn't allow an argument\n"
 msgstr ""
@@ -421,37 +394,37 @@ msgstr ""
 msgid "%s: option `%s' is ambiguous\n"
 msgstr ""
 
-#: posix/getopt.c:723 posix/getopt.c:896
+#: posix/getopt.c:725 posix/getopt.c:898
 #, c-format
 msgid "%s: option `%s' requires an argument\n"
 msgstr ""
 
-#: posix/getopt.c:701
+#: posix/getopt.c:702
 #, c-format
 msgid "%s: option `--%s' doesn't allow an argument\n"
 msgstr ""
 
-#: posix/getopt.c:880
+#: posix/getopt.c:882
 #, c-format
 msgid "%s: option `-W %s' doesn't allow an argument\n"
 msgstr ""
 
-#: posix/getopt.c:862
+#: posix/getopt.c:864
 #, c-format
 msgid "%s: option `-W %s' is ambiguous\n"
 msgstr ""
 
-#: posix/getopt.c:815 posix/getopt.c:945
+#: posix/getopt.c:817 posix/getopt.c:947
 #, c-format
 msgid "%s: option requires an argument -- %c\n"
 msgstr ""
 
-#: sunrpc/rpc_main.c:285
+#: sunrpc/rpc_main.c:287
 #, c-format
 msgid "%s: output would overwrite %s\n"
 msgstr ""
 
-#: timezone/zic.c:848 timezone/zic.c:1261 timezone/zic.c:1286
+#: timezone/zic.c:848 timezone/zic.c:1262 timezone/zic.c:1287
 #, c-format
 msgid "%s: panic: Invalid l_value %d\n"
 msgstr ""
@@ -461,17 +434,17 @@ msgstr ""
 msgid "%s: premature end of file"
 msgstr ""
 
-#: sunrpc/rpc_main.c:292
+#: sunrpc/rpc_main.c:294
 #, c-format
 msgid "%s: unable to open "
 msgstr ""
 
-#: posix/getopt.c:756
+#: posix/getopt.c:758
 #, c-format
 msgid "%s: unrecognized option `%c%s'\n"
 msgstr ""
 
-#: posix/getopt.c:752
+#: posix/getopt.c:754
 #, c-format
 msgid "%s: unrecognized option `--%s'\n"
 msgstr ""
@@ -489,11 +462,16 @@ msgstr ""
 msgid "%s: usage is %s [ -v ] [ -c cutoff ] zonename ...\n"
 msgstr ""
 
+#: sunrpc/rpc_main.c:307
+#, c-format
+msgid "%s: while writing output: "
+msgstr ""
+
 #: argp/argp-parse.c:164
 msgid "(PROGRAM ERROR) No version known!?"
 msgstr ""
 
-#: argp/argp-parse.c:777
+#: argp/argp-parse.c:781
 msgid "(PROGRAM ERROR) Option should have been recognized!?"
 msgstr ""
 
@@ -501,54 +479,6 @@ msgstr ""
 msgid "(Unknown object)\n"
 msgstr ""
 
-#: nscd/grpcache.c:506
-msgid "(grptable_update) Have write lock"
-msgstr ""
-
-#: nscd/grpcache.c:558
-msgid "(grptable_update) Release wait lock"
-msgstr ""
-
-#: nscd/grpcache.c:501
-msgid "(grptable_update) Wait for write lock!"
-msgstr ""
-
-#: nscd/grpcache.c:581
-msgid "(neggrptable_update) Have write lock"
-msgstr ""
-
-#: nscd/grpcache.c:612
-msgid "(neggrptable_update) Release wait lock"
-msgstr ""
-
-#: nscd/grpcache.c:576
-msgid "(neggrptable_update) Wait for write lock!"
-msgstr ""
-
-#: nscd/pwdcache.c:597
-msgid "(negpwdtable_update) Have write lock"
-msgstr ""
-
-#: nscd/pwdcache.c:628
-msgid "(negpwdtable_update) Release wait lock"
-msgstr ""
-
-#: nscd/pwdcache.c:592
-msgid "(negpwdtable_update) Wait for write lock!"
-msgstr ""
-
-#: nscd/pwdcache.c:522
-msgid "(pwdtable_update) Have write lock"
-msgstr ""
-
-#: nscd/pwdcache.c:574
-msgid "(pwdtable_update) Release wait lock"
-msgstr ""
-
-#: nscd/pwdcache.c:517
-msgid "(pwdtable_update) Wait for write lock!"
-msgstr ""
-
 #: sunrpc/clnt_perr.c:124
 #, c-format
 msgid "(unknown authentication error - %d)"
@@ -558,12 +488,12 @@ msgstr ""
 msgid "(unknown)"
 msgstr ""
 
-#: elf/sprof.c:564
+#: elf/sprof.c:574
 #, c-format
 msgid "*** The file `%s' is stripped: no detailed analysis possible\n"
 msgstr ""
 
-#: catgets/gencat.c:265
+#: catgets/gencat.c:266
 msgid "*standard input*"
 msgstr ""
 
@@ -591,12 +521,12 @@ msgstr ""
 msgid "<%s> and <%s> are illegal names for range"
 msgstr ""
 
-#: locale/programs/ld-ctype.c:337
+#: locale/programs/ld-ctype.c:342
 #, c-format
 msgid "<SP> character must not be in class `%s'"
 msgstr ""
 
-#: locale/programs/ld-ctype.c:325
+#: locale/programs/ld-ctype.c:330
 #, c-format
 msgid "<SP> character not in class `%s'"
 msgstr ""
@@ -612,7 +542,7 @@ msgstr ""
 msgid "Aborted"
 msgstr ""
 
-#: nis/nis_print.c:315
+#: nis/nis_print.c:318
 msgid "Access Rights : "
 msgstr ""
 
@@ -639,7 +569,7 @@ msgstr ""
 msgid "Advertise error"
 msgstr ""
 
-#: stdio-common/../sysdeps/unix/siglist.c:43
+#: stdio-common/../sysdeps/unix/siglist.c:39
 #: sysdeps/unix/sysv/linux/siglist.h:33
 msgid "Alarm clock"
 msgstr ""
@@ -694,7 +624,7 @@ msgstr ""
 msgid "Bad message"
 msgstr ""
 
-#: stdio-common/../sysdeps/unix/siglist.c:41
+#: stdio-common/../sysdeps/unix/siglist.c:37
 #: sysdeps/unix/sysv/linux/siglist.h:56
 msgid "Bad system call"
 msgstr ""
@@ -703,7 +633,7 @@ msgstr ""
 msgid "Bad value for ai_flags"
 msgstr ""
 
-#: locale/programs/localedef.c:108
+#: locale/programs/localedef.c:104
 msgid "Be strictly POSIX conform"
 msgstr ""
 
@@ -718,7 +648,7 @@ msgstr ""
 msgid "Block device required"
 msgstr ""
 
-#: sunrpc/pmap_rmt.c:348
+#: sunrpc/pmap_rmt.c:347
 msgid "Broadcast poll problem"
 msgstr ""
 
@@ -728,12 +658,12 @@ 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:234
-#: stdio-common/../sysdeps/unix/siglist.c:42
+#: stdio-common/../sysdeps/unix/siglist.c:38
 #: sysdeps/unix/sysv/linux/siglist.h:32
 msgid "Broken pipe"
 msgstr ""
 
-#: stdio-common/../sysdeps/unix/siglist.c:39
+#: stdio-common/../sysdeps/unix/siglist.c:35
 #: sysdeps/unix/sysv/linux/siglist.h:30
 msgid "Bus error"
 msgstr ""
@@ -742,6 +672,7 @@ msgstr ""
 msgid "CDS"
 msgstr ""
 
+#: stdio-common/../sysdeps/unix/siglist.c:49
 #: sysdeps/unix/sysv/linux/siglist.h:43
 msgid "CPU time limit exceeded"
 msgstr ""
@@ -754,19 +685,19 @@ msgstr ""
 msgid "Can not access a needed shared library"
 msgstr ""
 
-#: nis/ypclnt.c:775
+#: nis/ypclnt.c:769
 msgid "Can't bind to server which serves this domain"
 msgstr ""
 
-#: nis/ypclnt.c:787
+#: nis/ypclnt.c:781
 msgid "Can't communicate with portmapper"
 msgstr ""
 
-#: nis/ypclnt.c:789
+#: nis/ypclnt.c:783
 msgid "Can't communicate with ypbind"
 msgstr ""
 
-#: nis/ypclnt.c:791
+#: nis/ypclnt.c:785
 msgid "Can't communicate with ypserv"
 msgstr ""
 
@@ -791,11 +722,11 @@ msgstr ""
 msgid "Cannot exec a shared library directly"
 msgstr ""
 
-#: sunrpc/rpc_main.c:1350
+#: sunrpc/rpc_main.c:1406
 msgid "Cannot have more than one file generation flag!\n"
 msgstr ""
 
-#: sunrpc/pmap_rmt.c:361
+#: sunrpc/pmap_rmt.c:360
 msgid "Cannot receive reply to broadcast"
 msgstr ""
 
@@ -808,7 +739,7 @@ msgstr ""
 msgid "Cannot send after transport endpoint shutdown"
 msgstr ""
 
-#: sunrpc/pmap_rmt.c:323
+#: sunrpc/pmap_rmt.c:322
 msgid "Cannot send broadcast packet"
 msgstr ""
 
@@ -816,19 +747,19 @@ msgstr ""
 msgid "Cannot set socket option SO_BROADCAST"
 msgstr ""
 
-#: sunrpc/rpc_main.c:1137
+#: sunrpc/rpc_main.c:1193
 msgid "Cannot specify more than one input file!\n"
 msgstr ""
 
-#: sunrpc/rpc_main.c:1307
+#: sunrpc/rpc_main.c:1363
 msgid "Cannot use netid flag with inetd flag!\n"
 msgstr ""
 
-#: sunrpc/rpc_main.c:1319
+#: sunrpc/rpc_main.c:1375
 msgid "Cannot use netid flag without TIRPC!\n"
 msgstr ""
 
-#: sunrpc/rpc_main.c:1326
+#: sunrpc/rpc_main.c:1382
 msgid "Cannot use table flags with newstyle!\n"
 msgstr ""
 
@@ -841,7 +772,7 @@ msgstr ""
 msgid "Character Separator : %c\n"
 msgstr ""
 
-#: stdio-common/../sysdeps/unix/siglist.c:49
+#: stdio-common/../sysdeps/unix/siglist.c:45
 #: sysdeps/unix/sysv/linux/siglist.h:39
 msgid "Child exited"
 msgstr ""
@@ -858,7 +789,7 @@ msgstr ""
 msgid "Communication error on send"
 msgstr ""
 
-#: locale/programs/localedef.c:116
+#: locale/programs/localedef.c:112
 msgid "Compile locale specification"
 msgstr ""
 
@@ -867,11 +798,11 @@ msgstr ""
 msgid "Computer bought the farm"
 msgstr ""
 
-#: locale/programs/ld-ctype.c:1248
+#: locale/programs/ld-ctype.c:1253
 msgid "Computing table size for character classes might take a while..."
 msgstr ""
 
-#: locale/programs/ld-collate.c:333
+#: locale/programs/ld-collate.c:336
 msgid "Computing table size for collation information might take a while..."
 msgstr ""
 
@@ -894,22 +825,23 @@ msgstr ""
 msgid "Connection timed out"
 msgstr ""
 
-#: stdio-common/../sysdeps/unix/siglist.c:48
+#: stdio-common/../sysdeps/unix/siglist.c:44
 #: sysdeps/unix/sysv/linux/siglist.h:38
 msgid "Continued"
 msgstr ""
 
-#: iconv/iconv_prog.c:64
+#: iconv/iconv_prog.c:66
 msgid "Convert encoding of given files from one encoding to another."
 msgstr ""
 
-#: db2/makedb.c:57
+#: db2/makedb.c:58
 msgid "Convert key to lower case"
 msgstr ""
 
-#: catgets/gencat.c:235 db2/makedb.c:232 elf/sprof.c:349
-#: iconv/iconv_prog.c:288 locale/programs/locale.c:267
-#: locale/programs/localedef.c:396 nscd/nscd.c:229 posix/getconf.c:262
+#: catgets/gencat.c:236 db2/makedb.c:242 elf/sprof.c:359
+#: iconv/iconv_prog.c:294 locale/programs/locale.c:267
+#: locale/programs/localedef.c:403 nscd/nscd.c:223 nss/getent.c:65
+#: posix/getconf.c:624
 #, c-format
 msgid ""
 "Copyright (C) %s Free Software Foundation, Inc.\n"
@@ -917,37 +849,28 @@ msgid ""
 "warranty; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.\n"
 msgstr ""
 
-#: nscd/nscd_conf.c:134
+#: nscd/nscd_conf.c:167
 #, c-format
 msgid "Could not create log file \"%s\""
 msgstr ""
 
-#: stdio-common/../sysdeps/unix/siglist.c:53
-msgid "Cputime limit exceeded"
-msgstr ""
-
 #: catgets/gencat.c:107
 msgid "Create C header file NAME containing symbol definitions"
 msgstr ""
 
-#: locale/programs/localedef.c:107
+#: locale/programs/localedef.c:103
 msgid "Create output even if warning messages were issued"
 msgstr ""
 
-#: db2/makedb.c:67
+#: db2/makedb.c:68
 msgid "Create simple DB database from textual input."
 msgstr ""
 
-#: nis/nis_print.c:319
+#: nis/nis_print.c:322
 #, c-format
 msgid "Creation Time : %s"
 msgstr ""
 
-#: nscd/nscd.c:362 nscd/nscd.c:386 nscd/nscd.c:409 nscd/nscd.c:432
-#, c-format
-msgid "Creation of thread failed: %s"
-msgstr ""
-
 #: nis/nss_nisplus/nisplus-publickey.c:89
 #: nis/nss_nisplus/nisplus-publickey.c:159
 #, c-format
@@ -970,7 +893,7 @@ msgstr ""
 msgid "Database for table does not exist"
 msgstr ""
 
-#: nis/ypclnt.c:801
+#: nis/ypclnt.c:795
 msgid "Database is busy"
 msgstr ""
 
@@ -1010,7 +933,7 @@ msgstr ""
 msgid "Diffie-Hellmann (%d bits)\n"
 msgstr ""
 
-#: nis/nis_print.c:312
+#: nis/nis_print.c:315
 #, c-format
 msgid "Directory     : %s\n"
 msgstr ""
@@ -1026,11 +949,11 @@ msgstr ""
 msgid "Disc quota exceeded"
 msgstr ""
 
-#: nscd/nscd.c:81
+#: nscd/nscd.c:80
 msgid "Do not fork and display messages on the current tty"
 msgstr ""
 
-#: db2/makedb.c:60
+#: db2/makedb.c:61
 msgid "Do not print messages while building database"
 msgstr ""
 
@@ -1038,21 +961,11 @@ msgstr ""
 msgid "Do not use existing catalog, force new output file"
 msgstr ""
 
-#: nscd/grpcache.c:437 nscd/pwdcache.c:453
-#, c-format
-msgid "Doesn't found \"%d\" in cache !"
-msgstr ""
-
-#: nscd/grpcache.c:340 nscd/pwdcache.c:357
-#, c-format
-msgid "Doesn't found \"%s\" in cache !"
-msgstr ""
-
-#: nis/ypclnt.c:847
+#: nis/ypclnt.c:841
 msgid "Domain not bound"
 msgstr ""
 
-#: stdio-common/../sysdeps/unix/siglist.c:36
+#: stdio-common/../sysdeps/unix/siglist.c:32
 #: sysdeps/unix/sysv/linux/siglist.h:53
 msgid "EMT trap"
 msgstr ""
@@ -1100,11 +1013,11 @@ msgstr ""
 msgid "Exec format error"
 msgstr ""
 
-#: locale/programs/localedef.c:195
+#: locale/programs/localedef.c:190
 msgid "FATAL: system does not define `_POSIX2_LOCALEDEF'"
 msgstr ""
 
-#: locale/programs/localedef.c:103
+#: locale/programs/localedef.c:99
 msgid "FILE contains mapping from symbolic names to UCS4 values"
 msgstr ""
 
@@ -1133,6 +1046,7 @@ msgstr ""
 msgid "File name too long"
 msgstr ""
 
+#: stdio-common/../sysdeps/unix/siglist.c:50
 #: sysdeps/unix/sysv/linux/siglist.h:44
 msgid "File size limit exceeded"
 msgstr ""
@@ -1142,29 +1056,15 @@ msgstr ""
 msgid "File too large"
 msgstr ""
 
-#: stdio-common/../sysdeps/unix/siglist.c:54
-msgid "Filesize limit exceeded"
-msgstr ""
-
 #: nis/nis_error.c:37
 msgid "First/Next chain broken"
 msgstr ""
 
-#: stdio-common/../sysdeps/unix/siglist.c:37
+#: stdio-common/../sysdeps/unix/siglist.c:33
 #: sysdeps/unix/sysv/linux/siglist.h:28
 msgid "Floating point exception"
 msgstr ""
 
-#: nscd/grpcache.c:422 nscd/pwdcache.c:438
-#, c-format
-msgid "Found \"%d\" in cache !"
-msgstr ""
-
-#: nscd/grpcache.c:324 nscd/pwdcache.c:341
-#, c-format
-msgid "Found \"%s\" in cache !"
-msgstr ""
-
 #: nis/nis_error.c:67
 msgid "Full resync required for directory"
 msgstr ""
@@ -1180,7 +1080,7 @@ msgstr ""
 msgid "GROUP\n"
 msgstr ""
 
-#: argp/argp-help.c:206
+#: argp/argp-help.c:231
 #, c-format
 msgid "Garbage in ARGP_HELP_FMT: %s"
 msgstr ""
@@ -1200,36 +1100,20 @@ msgstr ""
 msgid "Get locale-specific information."
 msgstr ""
 
-#: nscd/grpcache.c:520 nscd/grpcache.c:593 nscd/pwdcache.c:536
-#: nscd/pwdcache.c:609
-#, c-format
-msgid "Give \"%s\" free"
-msgstr ""
-
 #: argp/argp-parse.c:88
 msgid "Give a short usage message"
 msgstr ""
 
-#: nscd/grpcache.c:527
-#, c-format
-msgid "Give gid for \"%s\" free"
-msgstr ""
-
 #: argp/argp-parse.c:87
 msgid "Give this help list"
 msgstr ""
 
-#: nscd/pwdcache.c:543
-#, c-format
-msgid "Give uid for \"%s\" free"
-msgstr ""
-
 #. TRANS This error code has no purpose.
 #: stdio-common/../sysdeps/gnu/errlist.c:618
 msgid "Gratuitous error"
 msgstr ""
 
-#: nis/nis_print.c:314
+#: nis/nis_print.c:317
 #, c-format
 msgid "Group         : %s\n"
 msgstr ""
@@ -1247,11 +1131,37 @@ msgstr ""
 msgid "Hang for SECS seconds (default 3600)"
 msgstr ""
 
-#: stdio-common/../sysdeps/unix/siglist.c:30
+#: stdio-common/../sysdeps/unix/siglist.c:26
 #: sysdeps/unix/sysv/linux/siglist.h:22
 msgid "Hangup"
 msgstr ""
 
+#: nscd/grpcache.c:238
+#, c-format
+msgid "Haven't found \"%d\" in group cache!"
+msgstr ""
+
+#: nscd/pwdcache.c:235
+#, c-format
+msgid "Haven't found \"%d\" in password cache!"
+msgstr ""
+
+#: nscd/grpcache.c:210
+#, c-format
+msgid "Haven't found \"%s\" in group cache!"
+msgstr ""
+
+#: nscd/hstcache.c:297 nscd/hstcache.c:328 nscd/hstcache.c:359
+#: nscd/hstcache.c:390
+#, c-format
+msgid "Haven't found \"%s\" in hosts cache!"
+msgstr ""
+
+#: nscd/pwdcache.c:207
+#, c-format
+msgid "Haven't found \"%s\" in password cache!"
+msgstr ""
+
 #. TRANS The remote host for a requested network connection is down.
 #: stdio-common/../sysdeps/gnu/errlist.c:469
 msgid "Host is down"
@@ -1261,19 +1171,19 @@ msgstr ""
 msgid "Host name lookup failure"
 msgstr ""
 
-#: stdio-common/../sysdeps/unix/siglist.c:52
+#: stdio-common/../sysdeps/unix/siglist.c:48
 #: sysdeps/unix/sysv/linux/siglist.h:42
 msgid "I/O possible"
 msgstr ""
 
-#: db2/makedb.c:70
+#: db2/makedb.c:71
 msgid ""
 "INPUT-FILE OUTPUT-FILE\n"
 "-o OUTPUT-FILE INPUT-FILE\n"
 "-u INPUT-FILE"
 msgstr ""
 
-#: stdio-common/../sysdeps/unix/siglist.c:35
+#: stdio-common/../sysdeps/unix/siglist.c:31
 msgid "IOT trap"
 msgstr ""
 
@@ -1285,15 +1195,8 @@ msgstr ""
 msgid "Identifier removed"
 msgstr ""
 
-#: nscd/connections.c:126
-msgid "Ignoring client connect request"
-msgstr ""
-
+#: stdio-common/../sysdeps/unix/siglist.c:29
 #: sysdeps/unix/sysv/linux/siglist.h:25
-msgid "Illegal Instruction"
-msgstr ""
-
-#: stdio-common/../sysdeps/unix/siglist.c:33
 msgid "Illegal instruction"
 msgstr ""
 
@@ -1335,15 +1238,15 @@ msgstr ""
 msgid "Information request"
 msgstr ""
 
-#: iconv/iconv_prog.c:55
+#: iconv/iconv_prog.c:57
 msgid "Information:"
 msgstr ""
 
-#: locale/programs/localedef.c:98
+#: locale/programs/localedef.c:94
 msgid "Input Files:"
 msgstr ""
 
-#: iconv/iconv_prog.c:52
+#: iconv/iconv_prog.c:54
 msgid "Input/Output format specification:"
 msgstr ""
 
@@ -1352,15 +1255,15 @@ msgstr ""
 msgid "Input/output error"
 msgstr ""
 
-#: nis/ypclnt.c:781
+#: nis/ypclnt.c:775
 msgid "Internal NIS error"
 msgstr ""
 
-#: nis/ypclnt.c:845
+#: nis/ypclnt.c:839
 msgid "Internal ypbind error"
 msgstr ""
 
-#: stdio-common/../sysdeps/unix/siglist.c:31
+#: stdio-common/../sysdeps/unix/siglist.c:27
 #: sysdeps/unix/sysv/linux/siglist.h:23
 msgid "Interrupt"
 msgstr ""
@@ -1390,11 +1293,11 @@ msgstr ""
 msgid "Invalid argument"
 msgstr ""
 
-#: posix/regex.c:1016
+#: posix/regex.c:1018
 msgid "Invalid back reference"
 msgstr ""
 
-#: posix/regex.c:1014
+#: posix/regex.c:1016
 msgid "Invalid character class name"
 msgstr ""
 
@@ -1406,11 +1309,11 @@ msgstr ""
 msgid "Invalid client verifier"
 msgstr ""
 
-#: posix/regex.c:1013
+#: posix/regex.c:1015
 msgid "Invalid collation character"
 msgstr ""
 
-#: posix/regex.c:1020
+#: posix/regex.c:1022
 msgid "Invalid content of \\{\\}"
 msgstr ""
 
@@ -1431,15 +1334,15 @@ msgstr ""
 msgid "Invalid or incomplete multibyte or wide character"
 msgstr ""
 
-#: posix/regex.c:1023
+#: posix/regex.c:1025
 msgid "Invalid preceding regular expression"
 msgstr ""
 
-#: posix/regex.c:1021
+#: posix/regex.c:1023
 msgid "Invalid range end"
 msgstr ""
 
-#: posix/regex.c:1012
+#: posix/regex.c:1014
 msgid "Invalid regular expression"
 msgstr ""
 
@@ -1473,7 +1376,7 @@ msgstr ""
 msgid "Kerberos.\n"
 msgstr ""
 
-#: stdio-common/../sysdeps/unix/siglist.c:38
+#: stdio-common/../sysdeps/unix/siglist.c:34
 #: sysdeps/unix/sysv/linux/siglist.h:29
 msgid "Killed"
 msgstr ""
@@ -1524,11 +1427,11 @@ msgstr ""
 msgid "Linked to : %s\n"
 msgstr ""
 
-#: nis/ypclnt.c:793
+#: nis/ypclnt.c:787
 msgid "Local domain name not set"
 msgstr ""
 
-#: nis/ypclnt.c:783
+#: nis/ypclnt.c:777
 msgid "Local resource allocation failure"
 msgstr ""
 
@@ -1540,7 +1443,7 @@ msgstr ""
 msgid "Malformed Name, or illegal name"
 msgstr ""
 
-#: argp/argp-help.c:1146
+#: argp/argp-help.c:1182
 msgid ""
 "Mandatory or optional arguments to long options are also mandatory or "
 "optional for any corresponding short options."
@@ -1558,7 +1461,7 @@ msgstr ""
 msgid "Memory allocation failure"
 msgstr ""
 
-#: posix/regex.c:1022
+#: posix/regex.c:1024
 msgid "Memory exhausted"
 msgstr ""
 
@@ -1572,7 +1475,7 @@ msgstr ""
 msgid "Missing or malformed attribute"
 msgstr ""
 
-#: nis/nis_print.c:320
+#: nis/nis_print.c:323
 #, c-format
 msgid "Mod. Time     : %s"
 msgstr ""
@@ -1593,8 +1496,8 @@ msgstr ""
 msgid "Multihop attempted"
 msgstr ""
 
-#: catgets/gencat.c:106 catgets/gencat.c:110 db2/makedb.c:58
-#: locale/programs/localedef.c:119 nscd/nscd.c:78
+#: catgets/gencat.c:106 catgets/gencat.c:110 db2/makedb.c:59
+#: locale/programs/localedef.c:115 nscd/nscd.c:77
 msgid "NAME"
 msgstr ""
 
@@ -1608,11 +1511,11 @@ msgstr ""
 msgid "NIS"
 msgstr ""
 
-#: nis/ypclnt.c:797
+#: nis/ypclnt.c:791
 msgid "NIS client/server version mismatch - can't supply service"
 msgstr ""
 
-#: nis/ypclnt.c:795
+#: nis/ypclnt.c:789
 msgid "NIS map database is bad"
 msgstr ""
 
@@ -1632,13 +1535,17 @@ msgstr ""
 msgid "NO OBJECT\n"
 msgstr ""
 
+#: nscd/nscd.c:81
+msgid "NUMBER"
+msgstr ""
+
 #: nis/nis_print.c:162
 #, c-format
 msgid "Name : '%s'\n"
 msgstr ""
 
 #: nscd/nscd.c:88
-msgid "Name Switch Cache Daemon."
+msgid "Name Service Cache Daemon."
 msgstr ""
 
 #: nis/nis_error.c:40
@@ -1682,10 +1589,6 @@ msgstr ""
 msgid "Network is unreachable"
 msgstr ""
 
-#: nscd/nscd_stat.c:65 nscd/nscd_stat.c:77
-msgid "No"
-msgstr ""
-
 #: stdio-common/../sysdeps/gnu/errlist.c:694
 msgid "No CSI structure available"
 msgstr ""
@@ -1736,7 +1639,7 @@ msgstr ""
 msgid "No locks available"
 msgstr ""
 
-#: posix/regex.c:1011
+#: posix/regex.c:1013
 msgid "No match"
 msgstr ""
 
@@ -1748,11 +1651,11 @@ msgstr ""
 msgid "No message of desired type"
 msgstr ""
 
-#: nis/ypclnt.c:785
+#: nis/ypclnt.c:779
 msgid "No more records in map database"
 msgstr ""
 
-#: posix/regex.c:5506
+#: posix/regex.c:5515
 msgid "No previous regular expression"
 msgstr ""
 
@@ -1765,16 +1668,18 @@ msgstr ""
 msgid "No route to host"
 msgstr ""
 
-#: nscd/connections.c:163
-msgid "No sockets with data found !"
-msgstr ""
-
 #. TRANS No space left on device; write operation on a file failed because the
 #. TRANS disk is full.
 #: stdio-common/../sysdeps/gnu/errlist.c:208
 msgid "No space left on device"
 msgstr ""
 
+#. 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:147
+msgid "No such device"
+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
 #. TRANS expected to already exist.
@@ -1782,11 +1687,11 @@ msgstr ""
 msgid "No such file or directory"
 msgstr ""
 
-#: nis/ypclnt.c:779
+#: nis/ypclnt.c:773
 msgid "No such key in map"
 msgstr ""
 
-#: nis/ypclnt.c:777
+#: nis/ypclnt.c:771
 msgid "No such map in server's domain"
 msgstr ""
 
@@ -1820,10 +1725,6 @@ msgstr ""
 msgid "Not a directory"
 msgstr ""
 
-#: nscd/nscd.c:168
-msgid "Not enough memory\n"
-msgstr ""
-
 #: nis/nis_error.c:30
 msgid "Not found"
 msgstr ""
@@ -1841,7 +1742,7 @@ msgstr ""
 msgid "Number of Columns   : %d\n"
 msgstr ""
 
-#: nis/nis_print.c:355
+#: nis/nis_print.c:358
 #, c-format
 msgid "Number of objects : %u\n"
 msgstr ""
@@ -1858,17 +1759,17 @@ msgstr ""
 msgid "Numerical result out of range"
 msgstr ""
 
-#: nis/nis_print.c:359
+#: nis/nis_print.c:362
 #, c-format
 msgid "Object #%d:\n"
 msgstr ""
 
-#: nis/nis_print.c:311
+#: nis/nis_print.c:314
 #, c-format
 msgid "Object Name   : %s\n"
 msgstr ""
 
-#: nis/nis_print.c:321
+#: nis/nis_print.c:324
 msgid "Object Type   : "
 msgstr ""
 
@@ -1884,14 +1785,12 @@ msgstr ""
 msgid "Object with same name exists"
 msgstr ""
 
-#: timezone/zic.c:1994
+#: timezone/zic.c:1995
 msgid "Odd number of quotation marks"
 msgstr ""
 
-#: nscd/nscd.c:194
-msgid ""
-"Only root is allowed to use this option!\n"
-"\n"
+#: nscd/nscd.c:185
+msgid "Only root is allowed to use this option!"
 msgstr ""
 
 #. TRANS An operation is already in progress on an object that has non-blocking
@@ -1916,12 +1815,6 @@ msgstr ""
 msgid "Operation not supported"
 msgstr ""
 
-#. 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:147
-msgid "Operation not supported by device"
-msgstr ""
-
 #. 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
@@ -1947,7 +1840,7 @@ msgstr ""
 msgid "Out of streams resources"
 msgstr ""
 
-#: iconv/iconv_prog.c:57 locale/programs/localedef.c:105
+#: iconv/iconv_prog.c:59 locale/programs/localedef.c:101
 msgid "Output control:"
 msgstr ""
 
@@ -1955,7 +1848,7 @@ msgstr ""
 msgid "Output selection:"
 msgstr ""
 
-#: nis/nis_print.c:313
+#: nis/nis_print.c:316
 #, c-format
 msgid "Owner         : %s\n"
 msgstr ""
@@ -1968,7 +1861,7 @@ msgstr ""
 msgid "Package not installed"
 msgstr ""
 
-#: nscd/nscd_conf.c:74
+#: nscd/nscd_conf.c:84
 #, c-format
 msgid "Parse error: %s"
 msgstr ""
@@ -1982,24 +1875,20 @@ msgid "Passed object is not the same object on server"
 msgstr ""
 
 #. TRANS Permission denied; the file permissions do not allow the attempted operation.
-#: nis/nis_error.c:38 nis/ypclnt.c:799
+#: nis/nis_error.c:38 nis/ypclnt.c:793
 #: stdio-common/../sysdeps/gnu/errlist.c:108
 msgid "Permission denied"
 msgstr ""
 
-#: nscd/connections.c:261
-msgid "Poll new reads"
-msgstr ""
-
 #: sysdeps/unix/sysv/linux/siglist.h:64
 msgid "Power failure"
 msgstr ""
 
-#: posix/regex.c:1024
+#: posix/regex.c:1026
 msgid "Premature end of regular expression"
 msgstr ""
 
-#: db2/makedb.c:62
+#: db2/makedb.c:63
 msgid "Print content of database file, one entry a line"
 msgstr ""
 
@@ -2007,7 +1896,7 @@ msgstr ""
 msgid "Print current configuration statistic"
 msgstr ""
 
-#: locale/programs/localedef.c:111
+#: locale/programs/localedef.c:107
 msgid "Print more messages"
 msgstr ""
 
@@ -2023,7 +1912,7 @@ msgstr ""
 msgid "Probably not found"
 msgstr ""
 
-#: stdio-common/../sysdeps/unix/siglist.c:56
+#: stdio-common/../sysdeps/unix/siglist.c:52
 #: sysdeps/unix/sysv/linux/siglist.h:46
 msgid "Profiling timer expired"
 msgstr ""
@@ -2063,7 +1952,7 @@ msgstr ""
 msgid "Query illegal for named table"
 msgstr ""
 
-#: stdio-common/../sysdeps/unix/siglist.c:32
+#: stdio-common/../sysdeps/unix/siglist.c:28
 #: sysdeps/unix/sysv/linux/siglist.h:24
 msgid "Quit"
 msgstr ""
@@ -2077,7 +1966,7 @@ msgstr ""
 msgid "RPC bad procedure for program"
 msgstr ""
 
-#: nis/ypclnt.c:773
+#: nis/ypclnt.c:767
 msgid "RPC failure on NIS operation"
 msgstr ""
 
@@ -2182,47 +2071,29 @@ msgstr ""
 msgid "RSA (%d bits)\n"
 msgstr ""
 
-#: elf/dlsym.c:61 elf/dlvsym.c:63
+#: elf/dlsym.c:59 elf/dlvsym.c:62
 msgid "RTLD_NEXT used in code not dynamically loaded"
 msgstr ""
 
-#: elf/sprof.c:86
+#: elf/sprof.c:88
 msgid "Read and display shared object profiling data"
 msgstr ""
 
-#: nscd/nscd.c:79
+#: nscd/nscd.c:78
 msgid "Read configuration data from NAME"
 msgstr ""
 
-#: nscd/connections.c:191
-#, c-format
-msgid "Read(%d|%d) error on get request: %s"
-msgstr ""
-
-#: nscd/connections.c:224
-msgid "Read() error on get request"
-msgstr ""
-
-#: nscd/connections.c:196 nscd/connections.c:228
-msgid "Read, data < request buf size, ignoring data"
-msgstr ""
-
 #. TRANS An attempt was made to modify something on a read-only file system.
 #: stdio-common/../sysdeps/gnu/errlist.c:218
 msgid "Read-only file system"
 msgstr ""
 
-#: nscd/connections.c:179 nscd/connections.c:212
-#, c-format
-msgid "Real close socket %d|%d"
-msgstr ""
-
 #: string/strsignal.c:66
 #, c-format
 msgid "Real-time signal %d"
 msgstr ""
 
-#: posix/regex.c:1025
+#: posix/regex.c:1027
 msgid "Regular expression too big"
 msgstr ""
 
@@ -2238,7 +2109,7 @@ msgstr ""
 msgid "Remove password or make file unreadable by others."
 msgstr ""
 
-#: elf/sprof.c:527
+#: elf/sprof.c:537
 #, c-format
 msgid "Reopening shared object `%s' failed"
 msgstr ""
@@ -2247,17 +2118,17 @@ msgstr ""
 msgid "Replicate :\n"
 msgstr ""
 
-#: argp/argp-help.c:1598
+#: argp/argp-help.c:1638
 #, c-format
 msgid "Report bugs to %s.\n"
 msgstr ""
 
-#: catgets/gencat.c:222 db2/makedb.c:219 iconv/iconv_prog.c:274
-#: locale/programs/locale.c:254 locale/programs/localedef.c:382
+#: catgets/gencat.c:223 db2/makedb.c:229 iconv/iconv_prog.c:280
+#: locale/programs/locale.c:254 locale/programs/localedef.c:389
 msgid "Report bugs using the `glibcbug' script to <bugs@gnu.org>.\n"
 msgstr ""
 
-#: nis/ypclnt.c:771
+#: nis/ypclnt.c:765
 msgid "Request arguments bad"
 msgstr ""
 
@@ -2277,7 +2148,7 @@ msgstr ""
 msgid "Resource deadlock avoided"
 msgstr ""
 
-#: stdio-common/../sysdeps/unix/siglist.c:58
+#: stdio-common/../sysdeps/unix/siglist.c:54
 msgid "Resource lost"
 msgstr ""
 
@@ -2318,7 +2189,7 @@ msgstr ""
 msgid "Results Sent to callback proc"
 msgstr ""
 
-#: elf/sprof.c:89
+#: elf/sprof.c:91
 msgid "SHOBJ [PROFDATA]"
 msgstr ""
 
@@ -2331,7 +2202,7 @@ msgstr ""
 msgid "Search Path         : %s\n"
 msgstr ""
 
-#: stdio-common/../sysdeps/unix/siglist.c:40
+#: stdio-common/../sysdeps/unix/siglist.c:36
 #: sysdeps/unix/sysv/linux/siglist.h:31
 msgid "Segmentation fault"
 msgstr ""
@@ -2364,7 +2235,7 @@ msgstr ""
 msgid "Shut the server down"
 msgstr ""
 
-#: stdio-common/../sysdeps/unix/siglist.c:29
+#: stdio-common/../sysdeps/unix/siglist.c:25
 msgid "Signal 0"
 msgstr ""
 
@@ -2387,7 +2258,7 @@ msgstr ""
 msgid "Sorry. You are not root\n"
 msgstr ""
 
-#: locale/programs/localedef.c:101
+#: locale/programs/localedef.c:97
 msgid "Source definitions are found in FILE"
 msgstr ""
 
@@ -2407,27 +2278,31 @@ msgstr ""
 msgid "Stale NFS file handle"
 msgstr ""
 
-#: nis/nis_print.c:354
+#: nscd/nscd.c:81
+msgid "Start NUMBER threads"
+msgstr ""
+
+#: nis/nis_print.c:357
 #, c-format
 msgid "Status            : %s\n"
 msgstr ""
 
-#: stdio-common/../sysdeps/unix/siglist.c:47
+#: stdio-common/../sysdeps/unix/siglist.c:43
 #: sysdeps/unix/sysv/linux/siglist.h:37
 msgid "Stopped"
 msgstr ""
 
-#: stdio-common/../sysdeps/unix/siglist.c:46
+#: stdio-common/../sysdeps/unix/siglist.c:42
 #: sysdeps/unix/sysv/linux/siglist.h:36
 msgid "Stopped (signal)"
 msgstr ""
 
-#: stdio-common/../sysdeps/unix/siglist.c:50
+#: stdio-common/../sysdeps/unix/siglist.c:46
 #: sysdeps/unix/sysv/linux/siglist.h:40
 msgid "Stopped (tty input)"
 msgstr ""
 
-#: stdio-common/../sysdeps/unix/siglist.c:51
+#: stdio-common/../sysdeps/unix/siglist.c:47
 #: sysdeps/unix/sysv/linux/siglist.h:41
 msgid "Stopped (tty output)"
 msgstr ""
@@ -2440,20 +2315,16 @@ msgstr ""
 msgid "Structure needs cleaning"
 msgstr ""
 
-#: nis/nis_error.c:28 nis/ypclnt.c:769 nis/ypclnt.c:843 posix/regex.c:1010
+#: nis/nis_error.c:28 nis/ypclnt.c:763 nis/ypclnt.c:837 posix/regex.c:1012
 #: stdio-common/../sysdeps/gnu/errlist.c:19
 msgid "Success"
 msgstr ""
 
-#: nscd/connections.c:125
-msgid "Supported number of simultaneous connections exceeded"
-msgstr ""
-
-#: locale/programs/localedef.c:110
+#: locale/programs/localedef.c:106
 msgid "Suppress warnings and information messages"
 msgstr ""
 
-#: locale/programs/localedef.c:100
+#: locale/programs/localedef.c:96
 msgid "Symbolic character names defined in FILE"
 msgstr ""
 
@@ -2465,11 +2336,11 @@ msgstr ""
 msgid "System information:"
 msgstr ""
 
-#: nis/ypclnt.c:849
+#: nis/ypclnt.c:843
 msgid "System resource allocation failure"
 msgstr ""
 
-#: locale/programs/localedef.c:377
+#: locale/programs/localedef.c:384
 #, c-format
 msgid ""
 "System's directory for character maps : %s\n"
@@ -2491,7 +2362,7 @@ msgstr ""
 msgid "Temporary failure in name resolution"
 msgstr ""
 
-#: stdio-common/../sysdeps/unix/siglist.c:44
+#: stdio-common/../sysdeps/unix/siglist.c:40
 #: sysdeps/unix/sysv/linux/siglist.h:34
 msgid "Terminated"
 msgstr ""
@@ -2505,7 +2376,7 @@ msgstr ""
 msgid "Text file busy"
 msgstr ""
 
-#: iconv/iconv_prog.c:530
+#: iconv/iconv_prog.c:536
 msgid ""
 "The following list contain all the coded character sets known.  This does\n"
 "not necessarily mean that all combinations of these names can be used for\n"
@@ -2580,15 +2451,12 @@ msgstr ""
 msgid "Too many users"
 msgstr ""
 
-#: stdio-common/../sysdeps/unix/siglist.c:34
-msgid "Trace/BPT trap"
-msgstr ""
-
+#: stdio-common/../sysdeps/unix/siglist.c:30
 #: sysdeps/unix/sysv/linux/siglist.h:26
 msgid "Trace/breakpoint trap"
 msgstr ""
 
-#: posix/regex.c:1015
+#: posix/regex.c:1017
 msgid "Trailing backslash"
 msgstr ""
 
@@ -2613,12 +2481,12 @@ msgstr ""
 msgid "Transport endpoint is not connected"
 msgstr ""
 
-#: argp/argp-help.c:1570
+#: argp/argp-help.c:1610
 #, c-format
 msgid "Try `%s --help' or `%s --usage' for more information.\n"
 msgstr ""
 
-#: inet/rcmd.c:141
+#: inet/rcmd.c:143
 #, c-format
 msgid "Trying %s...\n"
 msgstr ""
@@ -2658,10 +2526,15 @@ msgstr ""
 msgid "Unknown .netrc keyword %s"
 msgstr ""
 
-#: nis/ypclnt.c:803
+#: nis/ypclnt.c:797
 msgid "Unknown NIS error code"
 msgstr ""
 
+#: nss/getent.c:505
+#, c-format
+msgid "Unknown database: %s\n"
+msgstr ""
+
 #: posix/../sysdeps/posix/gai_strerror.c:51
 msgid "Unknown error"
 msgstr ""
@@ -2680,16 +2553,11 @@ msgstr ""
 msgid "Unknown object"
 msgstr ""
 
-#: nscd/nscd_conf.c:143
+#: nscd/nscd_conf.c:181
 #, c-format
 msgid "Unknown option: %s %s %s"
 msgstr ""
 
-#: nscd/nscd.c:474
-#, c-format
-msgid "Unknown request (%d)"
-msgstr ""
-
 #: resolv/herror.c:120
 msgid "Unknown resolver error"
 msgstr ""
@@ -2698,7 +2566,7 @@ msgstr ""
 msgid "Unknown server error"
 msgstr ""
 
-#: string/strsignal.c:68
+#: string/strsignal.c:70
 #, c-format
 msgid "Unknown signal %d"
 msgstr ""
@@ -2707,41 +2575,41 @@ msgstr ""
 msgid "Unknown system error"
 msgstr ""
 
-#: nis/ypclnt.c:851
+#: nis/ypclnt.c:845
 msgid "Unknown ypbind error"
 msgstr ""
 
-#: posix/regex.c:1018
+#: posix/regex.c:1020
 msgid "Unmatched ( or \\("
 msgstr ""
 
-#: posix/regex.c:1026
+#: posix/regex.c:1028
 msgid "Unmatched ) or \\)"
 msgstr ""
 
-#: posix/regex.c:1017
+#: posix/regex.c:1019
 msgid "Unmatched [ or [^"
 msgstr ""
 
-#: posix/regex.c:1019
+#: posix/regex.c:1021
 msgid "Unmatched \\{"
 msgstr ""
 
-#: posix/getconf.c:328
+#: posix/getconf.c:692
 #, c-format
 msgid "Unrecognized variable `%s'"
 msgstr ""
 
-#: stdio-common/../sysdeps/unix/siglist.c:45
+#: stdio-common/../sysdeps/unix/siglist.c:41
 #: sysdeps/unix/sysv/linux/siglist.h:35
 msgid "Urgent I/O condition"
 msgstr ""
 
-#: argp/argp-help.c:1527
+#: argp/argp-help.c:1567
 msgid "Usage:"
 msgstr ""
 
-#: posix/getconf.c:242
+#: posix/getconf.c:604
 #, c-format
 msgid "Usage: %s variable_name [pathname]\n"
 msgstr ""
@@ -2750,12 +2618,12 @@ msgstr ""
 msgid "Usage: rpcinfo [ -n portnum ] -u host prognum [ versnum ]\n"
 msgstr ""
 
-#: stdio-common/../sysdeps/unix/siglist.c:59
+#: stdio-common/../sysdeps/unix/siglist.c:55
 #: sysdeps/unix/sysv/linux/siglist.h:48
 msgid "User defined signal 1"
 msgstr ""
 
-#: stdio-common/../sysdeps/unix/siglist.c:60
+#: stdio-common/../sysdeps/unix/siglist.c:56
 #: sysdeps/unix/sysv/linux/siglist.h:49
 msgid "User defined signal 2"
 msgstr ""
@@ -2764,16 +2632,16 @@ msgstr ""
 msgid "Value too large for defined data type"
 msgstr ""
 
-#: stdio-common/../sysdeps/unix/siglist.c:55
+#: stdio-common/../sysdeps/unix/siglist.c:51
 #: sysdeps/unix/sysv/linux/siglist.h:45
 msgid "Virtual timer expired"
 msgstr ""
 
-#: timezone/zic.c:1898
+#: timezone/zic.c:1899
 msgid "Wild result from command execution"
 msgstr ""
 
-#: stdio-common/../sysdeps/unix/siglist.c:57
+#: stdio-common/../sysdeps/unix/siglist.c:53
 #: sysdeps/unix/sysv/linux/siglist.h:47
 msgid "Window changed"
 msgstr ""
@@ -2794,13 +2662,14 @@ msgstr ""
 msgid "Write names of selected keywords"
 msgstr ""
 
-#: catgets/gencat.c:110 db2/makedb.c:58
+#: catgets/gencat.c:110 db2/makedb.c:59
 msgid "Write output to file NAME"
 msgstr ""
 
-#: catgets/gencat.c:240 db2/makedb.c:237 elf/sprof.c:355
-#: iconv/iconv_prog.c:293 locale/programs/locale.c:272
-#: locale/programs/localedef.c:401 nscd/nscd.c:234 posix/getconf.c:267
+#: catgets/gencat.c:241 db2/makedb.c:247 elf/sprof.c:365
+#: iconv/iconv_prog.c:299 locale/programs/locale.c:272
+#: locale/programs/localedef.c:408 nscd/nscd.c:228 nss/getent.c:70
+#: posix/getconf.c:629
 #, c-format
 msgid "Written by %s.\n"
 msgstr ""
@@ -2817,15 +2686,11 @@ msgstr ""
 msgid "XCHS"
 msgstr ""
 
-#: nis/ypclnt.c:189
+#: nis/ypclnt.c:185
 #, c-format
 msgid "YPBINDPROC_DOMAIN: %s\n"
 msgstr ""
 
-#: nscd/nscd_stat.c:65 nscd/nscd_stat.c:77
-msgid "Yes"
-msgstr ""
-
 #: nis/nis_error.c:70
 msgid "Yes, 42 is the meaning of life"
 msgstr ""
@@ -2835,39 +2700,39 @@ msgstr ""
 msgid "You really blew it this time"
 msgstr ""
 
-#: timezone/zic.c:1062
+#: timezone/zic.c:1063
 msgid "Zone continuation line end time is not after end time of previous line"
 msgstr ""
 
-#: iconv/iconv_prog.c:68
+#: iconv/iconv_prog.c:70
 msgid "[FILE...]"
 msgstr ""
 
-#: locale/programs/charmap.c:481 locale/programs/locfile.c:470
+#: locale/programs/charmap.c:481 locale/programs/locfile.c:471
 #: locale/programs/repertoire.c:278
 #, c-format
 msgid "`%1$s' definition does not end with `END %1$s'"
 msgstr ""
 
-#: elf/sprof.c:755
+#: elf/sprof.c:766
 #, c-format
 msgid "`%s' is no correct profile data file for `%s'"
 msgstr ""
 
-#: locale/programs/ld-monetary.c:362 locale/programs/ld-numeric.c:190
+#: locale/programs/ld-monetary.c:369 locale/programs/ld-numeric.c:193
 #, c-format
 msgid "`-1' must be last entry in `%s' field in `%s' category"
 msgstr ""
 
-#: locale/programs/ld-collate.c:1663
+#: locale/programs/ld-collate.c:1666
 msgid "`...' must only be used in `...' and `UNDEFINED' entries"
 msgstr ""
 
-#: locale/programs/locfile.c:667
+#: locale/programs/locfile.c:668
 msgid "`from' expected after first argument to `collating-element'"
 msgstr ""
 
-#: locale/programs/ld-collate.c:1115
+#: locale/programs/ld-collate.c:1118
 msgid ""
 "`from' string in collation element declaration contains unknown character"
 msgstr ""
@@ -2880,7 +2745,7 @@ msgstr ""
 msgid "ai_socktype not supported"
 msgstr ""
 
-#: nscd/nscd.c:122
+#: nscd/nscd.c:121
 msgid "already running"
 msgstr ""
 
@@ -2889,7 +2754,7 @@ msgstr ""
 msgid "argument to <%s> must be a single character"
 msgstr ""
 
-#: locale/programs/locfile.c:239
+#: locale/programs/locfile.c:240
 #, c-format
 msgid "argument to `%s' must be a single character"
 msgstr ""
@@ -2902,35 +2767,20 @@ msgstr ""
 msgid "authunix_create: out of memory\n"
 msgstr ""
 
-#: locale/programs/charmap.c:297 locale/programs/locfile.c:233
-#: locale/programs/locfile.c:260 locale/programs/repertoire.c:144
+#: locale/programs/charmap.c:297 locale/programs/locfile.c:234
+#: locale/programs/locfile.c:261 locale/programs/repertoire.c:144
 msgid "bad argument"
 msgstr ""
 
-#: nscd/connections.c:532
-#, c-format
-msgid "bad connection id on send gr_disabled response [%d|%d]"
-msgstr ""
-
-#: nscd/connections.c:353 nscd/connections.c:413 nscd/connections.c:454
-#, c-format
-msgid "bad connection id on send response [%d|%d]"
-msgstr ""
-
-#: nscd/connections.c:549
-#, c-format
-msgid "bad connection id on send stat response [%d|%d]"
-msgstr ""
-
-#: inet/rcmd.c:316
+#: inet/rcmd.c:318
 msgid "bad owner"
 msgstr ""
 
-#: timezone/zic.c:1184
+#: timezone/zic.c:1185
 msgid "blank FROM field on Link line"
 msgstr ""
 
-#: timezone/zic.c:1188
+#: timezone/zic.c:1189
 msgid "blank TO field on Link line"
 msgstr ""
 
@@ -2966,7 +2816,7 @@ msgstr ""
 msgid "cache_set: victim not found"
 msgstr ""
 
-#: timezone/zic.c:1725
+#: timezone/zic.c:1726
 msgid "can't determine time zone abbreviation to use just after until time"
 msgstr ""
 
@@ -2975,59 +2825,61 @@ msgstr ""
 msgid "can't reassign procedure number %d\n"
 msgstr ""
 
-#: locale/programs/localedef.c:274
+#: locale/programs/localedef.c:279
 #, c-format
 msgid "cannot `stat' locale file `%s'"
 msgstr ""
 
-#: elf/sprof.c:924 elf/sprof.c:976
+#: elf/sprof.c:935 elf/sprof.c:987
 msgid "cannot allocate symbol data"
 msgstr ""
 
-#: elf/sprof.c:708 elf/sprof.c:766
+#: elf/sprof.c:719 elf/sprof.c:777
 msgid "cannot create internal descriptor"
 msgstr ""
 
-#: elf/sprof.c:407
+#: elf/sprof.c:417
 msgid "cannot create internal descriptors"
 msgstr ""
 
-#: nscd/connections.c:293
-msgid "cannot create socket"
-msgstr ""
-
-#: nscd/connections.c:310
-msgid "cannot enable socket to accept connections"
+#: nscd/connections.c:180
+#, c-format
+msgid "cannot enable socket to accept connections: %s"
 msgstr ""
 
-#: sunrpc/rpc_main.c:328
+#: sunrpc/rpc_main.c:342
 #, c-format
 msgid "cannot find C preprocessor: %s \n"
 msgstr ""
 
-#: sunrpc/rpc_main.c:336
+#: sunrpc/rpc_main.c:350
 msgid "cannot find any C preprocessor (cpp)\n"
 msgstr ""
 
-#: locale/programs/ld-collate.c:1321
+#: nscd/connections.c:205
+#, c-format
+msgid "cannot handle old request version %d; current version is %d"
+msgstr ""
+
+#: locale/programs/ld-collate.c:1324
 #, c-format
 msgid "cannot insert collation element `%.*s'"
 msgstr ""
 
-#: locale/programs/ld-collate.c:1500 locale/programs/ld-collate.c:1507
+#: locale/programs/ld-collate.c:1503 locale/programs/ld-collate.c:1510
 msgid "cannot insert into result table"
 msgstr ""
 
-#: locale/programs/ld-collate.c:1172 locale/programs/ld-collate.c:1215
+#: locale/programs/ld-collate.c:1175 locale/programs/ld-collate.c:1218
 #, c-format
 msgid "cannot insert new collating symbol definition: %s"
 msgstr ""
 
-#: elf/sprof.c:664
+#: elf/sprof.c:674
 msgid "cannot load profiling data"
 msgstr ""
 
-#: inet/rcmd.c:312
+#: inet/rcmd.c:314
 msgid "cannot open"
 msgstr ""
 
@@ -3036,36 +2888,41 @@ msgstr ""
 msgid "cannot open `%s'"
 msgstr ""
 
-#: db2/makedb.c:143
+#: db2/makedb.c:146
 #, c-format
 msgid "cannot open database file `%s': %s"
 msgstr ""
 
-#: catgets/gencat.c:271 db2/makedb.c:162 iconv/iconv_prog.c:173
+#: catgets/gencat.c:272 db2/makedb.c:167 iconv/iconv_prog.c:177
 #, c-format
 msgid "cannot open input file `%s'"
 msgstr ""
 
-#: locale/programs/localedef.c:203
+#: locale/programs/localedef.c:198
 #, c-format
 msgid "cannot open locale definition file `%s'"
 msgstr ""
 
-#: iconv/iconv_prog.c:151
+#: iconv/iconv_prog.c:155
 msgid "cannot open output file"
 msgstr ""
 
-#: catgets/gencat.c:776 catgets/gencat.c:817 db2/makedb.c:171
+#: catgets/gencat.c:774 catgets/gencat.c:815 db2/makedb.c:181
 #, c-format
 msgid "cannot open output file `%s'"
 msgstr ""
 
-#: locale/programs/locfile.c:1128
+#: locale/programs/locfile.c:1129
 #, c-format
 msgid "cannot open output file `%s' for category `%s'"
 msgstr ""
 
-#: locale/programs/ld-collate.c:1367
+#: nscd/connections.c:162
+#, c-format
+msgid "cannot open socket: %s"
+msgstr ""
+
+#: locale/programs/ld-collate.c:1370
 msgid "cannot process order specification"
 msgstr ""
 
@@ -3074,6 +2931,10 @@ msgstr ""
 msgid "cannot read character map directory `%s'"
 msgstr ""
 
+#: nscd/connections.c:122
+msgid "cannot read configuration file; this is fatal"
+msgstr ""
+
 #: login/programs/request.c:91
 msgid "cannot read from client"
 msgstr ""
@@ -3088,61 +2949,80 @@ msgstr ""
 msgid "cannot read locale directory `%s'"
 msgstr ""
 
-#: locale/programs/localedef.c:296
+#: locale/programs/localedef.c:303
 #, c-format
 msgid "cannot read locale file `%s'"
 msgstr ""
 
-#: locale/programs/locfile.c:287 locale/programs/locfile.c:305
-#: locale/programs/locfile.c:323 locale/programs/locfile.c:341
-#: locale/programs/locfile.c:359 locale/programs/locfile.c:377
+#: locale/programs/locfile.c:288 locale/programs/locfile.c:306
+#: locale/programs/locfile.c:324 locale/programs/locfile.c:342
+#: locale/programs/locfile.c:360 locale/programs/locfile.c:378
 #, c-format
 msgid "cannot read repertoire map `%s'"
 msgstr ""
 
-#: locale/programs/localedef.c:321
+#: nscd/nscd_stat.c:127
+msgid "cannot read statistics data"
+msgstr ""
+
+#: nscd/cache.c:141 nscd/connections.c:148
+#, c-format
+msgid "cannot stat() file `%s': %s"
+msgstr ""
+
+#: locale/programs/localedef.c:328
 #, c-format
 msgid "cannot write output files to `%s'"
 msgstr ""
 
+#: nscd/connections.c:229 nscd/connections.c:250
+#, c-format
+msgid "cannot write result: %s"
+msgstr ""
+
+#: nscd/nscd_stat.c:86
+#, c-format
+msgid "cannot write statistics: %s"
+msgstr ""
+
 #: login/programs/request.c:120
 msgid "cannot write to client"
 msgstr ""
 
-#: locale/programs/localedef.c:435
+#: locale/programs/localedef.c:442
 msgid "category data requested more than once: should not happen"
 msgstr ""
 
-#: locale/programs/ld-ctype.c:266
+#: locale/programs/ld-ctype.c:269
 #, c-format
 msgid "character %s'%s' in class `%s' must be in class `%s'"
 msgstr ""
 
-#: locale/programs/ld-ctype.c:291
+#: locale/programs/ld-ctype.c:294
 #, c-format
 msgid "character %s'%s' in class `%s' must not be in class `%s'"
 msgstr ""
 
-#: locale/programs/ld-ctype.c:315
+#: locale/programs/ld-ctype.c:320
 msgid "character <SP> not defined in character map"
 msgstr ""
 
-#: locale/programs/ld-ctype.c:959 locale/programs/ld-ctype.c:1024
-#: locale/programs/ld-ctype.c:1035 locale/programs/ld-ctype.c:1046
-#: locale/programs/ld-ctype.c:1057 locale/programs/ld-ctype.c:1068
-#: locale/programs/ld-ctype.c:1079 locale/programs/ld-ctype.c:1108
-#: locale/programs/ld-ctype.c:1119 locale/programs/ld-ctype.c:1160
-#: locale/programs/ld-ctype.c:1189 locale/programs/ld-ctype.c:1201
+#: locale/programs/ld-ctype.c:964 locale/programs/ld-ctype.c:1029
+#: locale/programs/ld-ctype.c:1040 locale/programs/ld-ctype.c:1051
+#: locale/programs/ld-ctype.c:1062 locale/programs/ld-ctype.c:1073
+#: locale/programs/ld-ctype.c:1084 locale/programs/ld-ctype.c:1113
+#: locale/programs/ld-ctype.c:1124 locale/programs/ld-ctype.c:1165
+#: locale/programs/ld-ctype.c:1194 locale/programs/ld-ctype.c:1206
 #, c-format
 msgid "character `%s' not defined while needed as default value"
 msgstr ""
 
-#: locale/programs/ld-ctype.c:820
+#: locale/programs/ld-ctype.c:825
 #, c-format
 msgid "character class `%s' already defined"
 msgstr ""
 
-#: locale/programs/ld-ctype.c:852
+#: locale/programs/ld-ctype.c:857
 #, c-format
 msgid "character map `%s' already defined"
 msgstr ""
@@ -3156,39 +3036,34 @@ msgstr ""
 msgid "clnt_raw.c - Fatal header serialization error."
 msgstr ""
 
-#: sunrpc/clnt_tcp.c:124 sunrpc/clnt_tcp.c:132
+#: sunrpc/clnt_tcp.c:125 sunrpc/clnt_tcp.c:133
 msgid "clnttcp_create: out of memory\n"
 msgstr ""
 
-#: sunrpc/clnt_udp.c:129 sunrpc/clnt_udp.c:139
+#: sunrpc/clnt_udp.c:124 sunrpc/clnt_udp.c:134
 msgid "clntudp_create: out of memory\n"
 msgstr ""
 
-#: nscd/connections.c:79
-#, c-format
-msgid "close socket (%d|%d)"
-msgstr ""
-
-#: nscd/connections.c:56
-msgid "close_sockets called"
+#: sunrpc/clnt_unix.c:123 sunrpc/clnt_unix.c:131
+msgid "clntunix_create: out of memory\n"
 msgstr ""
 
-#: locale/programs/ld-collate.c:1336
+#: locale/programs/ld-collate.c:1339
 #, c-format
 msgid "collation element `%.*s' appears more than once: ignore line"
 msgstr ""
 
-#: locale/programs/ld-collate.c:1354
+#: locale/programs/ld-collate.c:1357
 #, c-format
 msgid "collation symbol `%.*s' appears more than once: ignore line"
 msgstr ""
 
-#: locale/programs/locfile.c:651
+#: locale/programs/locfile.c:652
 #, c-format
 msgid "collation symbol expected after `%s'"
 msgstr ""
 
-#: inet/rcmd.c:134
+#: inet/rcmd.c:136
 #, c-format
 msgid "connect to address %s: "
 msgstr ""
@@ -3197,12 +3072,12 @@ msgstr ""
 msgid "constant or identifier expected"
 msgstr ""
 
-#: iconv/iconv_prog.c:141
+#: iconv/iconv_prog.c:144
 #, c-format
 msgid "conversion from `%s' to `%s' not supported"
 msgstr ""
 
-#: iconv/iconv_prog.c:320
+#: iconv/iconv_prog.c:326
 msgid "conversion stopped due to problem in writing the output"
 msgstr ""
 
@@ -3215,19 +3090,23 @@ msgstr ""
 msgid "couldn't register prog %d vers %d\n"
 msgstr ""
 
+#: nss/getent.c:49
+msgid "database [key ...]"
+msgstr ""
+
 #: locale/programs/charmap.c:170
 #, c-format
 msgid "default character map file `%s' not found"
 msgstr ""
 
-#: locale/programs/ld-time.c:160
+#: locale/programs/ld-time.c:163
 #, c-format
 msgid ""
 "direction flag in string %d in `era' field in category `%s' is not '+' nor "
 "'-'"
 msgstr ""
 
-#: locale/programs/ld-time.c:171
+#: locale/programs/ld-time.c:174
 #, c-format
 msgid ""
 "direction flag in string %d in `era' field in category `%s' is not a single "
@@ -3239,33 +3118,33 @@ msgstr ""
 msgid "duplicate character name `%s'"
 msgstr ""
 
-#: locale/programs/ld-collate.c:1147
+#: locale/programs/ld-collate.c:1150
 msgid "duplicate collating element definition"
 msgstr ""
 
-#: locale/programs/ld-collate.c:1294
+#: locale/programs/ld-collate.c:1297
 #, c-format
 msgid "duplicate definition for character `%.*s'"
 msgstr ""
 
-#: db2/makedb.c:316
+#: db2/makedb.c:328
 msgid "duplicate key"
 msgstr ""
 
-#: catgets/gencat.c:390
+#: catgets/gencat.c:388
 msgid "duplicate set definition"
 msgstr ""
 
-#: timezone/zic.c:977
+#: timezone/zic.c:978
 #, c-format
 msgid "duplicate zone name %s (file \"%s\", line %d)"
 msgstr ""
 
-#: catgets/gencat.c:553
+#: catgets/gencat.c:551
 msgid "duplicated message identifier"
 msgstr ""
 
-#: catgets/gencat.c:526
+#: catgets/gencat.c:524
 msgid "duplicated message number"
 msgstr ""
 
@@ -3273,7 +3152,7 @@ msgstr ""
 msgid "empty char string"
 msgstr ""
 
-#: locale/programs/ld-collate.c:1707
+#: locale/programs/ld-collate.c:1710
 msgid "empty weight name: line ignored"
 msgstr ""
 
@@ -3293,44 +3172,44 @@ msgstr ""
 msgid "enablecache: could not allocate cache fifo"
 msgstr ""
 
-#: iconv/iconv_prog.c:54
+#: iconv/iconv_prog.c:56
 msgid "encoding for output"
 msgstr ""
 
-#: iconv/iconv_prog.c:53
+#: iconv/iconv_prog.c:55
 msgid "encoding of original text"
 msgstr ""
 
-#: locale/programs/ld-collate.c:1426
+#: locale/programs/ld-collate.c:1429
 msgid "end point of ellipsis range is bigger then start"
 msgstr ""
 
-#: iconv/iconv_prog.c:188
+#: iconv/iconv_prog.c:193
 #, c-format
 msgid "error while closing input `%s'"
 msgstr ""
 
-#: iconv/iconv_prog.c:233
+#: iconv/iconv_prog.c:239
 msgid "error while closing output file"
 msgstr ""
 
-#: elf/sprof.c:699
+#: elf/sprof.c:710
 msgid "error while closing the profiling data file"
 msgstr ""
 
-#: locale/programs/ld-collate.c:1155
+#: locale/programs/ld-collate.c:1158
 msgid "error while inserting collation element into hash table"
 msgstr ""
 
-#: locale/programs/ld-collate.c:1167
+#: locale/programs/ld-collate.c:1170
 msgid "error while inserting to hash table"
 msgstr ""
 
-#: iconv/iconv_prog.c:383 iconv/iconv_prog.c:414
+#: iconv/iconv_prog.c:389 iconv/iconv_prog.c:420
 msgid "error while reading the input"
 msgstr ""
 
-#: locale/programs/locfile.c:594
+#: locale/programs/locfile.c:595
 msgid "expect string argument for `copy'"
 msgstr ""
 
@@ -3338,52 +3217,52 @@ msgstr ""
 msgid "expected continuation line not found"
 msgstr ""
 
-#: elf/sprof.c:398
+#: elf/sprof.c:408
 #, c-format
 msgid "failed to load shared object `%s'"
 msgstr ""
 
-#: elf/sprof.c:594
+#: elf/sprof.c:604
 msgid "failed to load symbol data"
 msgstr ""
 
-#: elf/sprof.c:691
+#: elf/sprof.c:702
 msgid "failed to mmap the profiling data file"
 msgstr ""
 
-#: iconv/iconv_prog.c:144
+#: iconv/iconv_prog.c:147
 msgid "failed to start conversion processing"
 msgstr ""
 
-#: locale/programs/locfile.c:1153
+#: locale/programs/locfile.c:1154
 #, c-format
 msgid "failure while writing data for category `%s'"
 msgstr ""
 
-#: nis/nis_call.c:156
+#: nis/nis_call.c:155
 msgid "fcntl: F_SETFD"
 msgstr ""
 
-#: locale/programs/ld-monetary.c:158 locale/programs/ld-numeric.c:95
+#: locale/programs/ld-monetary.c:163 locale/programs/ld-numeric.c:98
 #, c-format
 msgid "field `%s' in category `%s' not defined"
 msgstr ""
 
-#: locale/programs/ld-messages.c:83 locale/programs/ld-messages.c:107
+#: locale/programs/ld-messages.c:86 locale/programs/ld-messages.c:110
 #, c-format
 msgid "field `%s' in category `%s' undefined"
 msgstr ""
 
-#: sunrpc/rpc_main.c:1092
+#: sunrpc/rpc_main.c:1148
 #, c-format
 msgid "file '%s' already exists and may be overwritten\n"
 msgstr ""
 
-#: locale/programs/locfile.c:676
+#: locale/programs/locfile.c:677
 msgid "from-value of `collating-element' must be a string"
 msgstr ""
 
-#: inet/rcmd.c:314
+#: inet/rcmd.c:316
 msgid "fstat failed"
 msgstr ""
 
@@ -3395,29 +3274,29 @@ msgstr ""
 msgid "garbage at end of number"
 msgstr ""
 
-#: locale/programs/ld-time.c:192
+#: locale/programs/ld-time.c:195
 #, c-format
 msgid ""
 "garbage at end of offset value in string %d in `era' field in category `%s'"
 msgstr ""
 
-#: locale/programs/ld-time.c:249
+#: locale/programs/ld-time.c:252
 #, c-format
 msgid ""
 "garbage at end of starting date in string %d in `era' field in category `%s'"
 msgstr ""
 
-#: locale/programs/ld-time.c:325
+#: locale/programs/ld-time.c:328
 #, c-format
 msgid ""
 "garbage at end of stopping date in string %d in `era' field in category `%s'"
 msgstr ""
 
-#: elf/sprof.c:79
+#: elf/sprof.c:81
 msgid "generate call graph"
 msgstr ""
 
-#: elf/sprof.c:78
+#: elf/sprof.c:80
 msgid "generate flat profile with counts and ticks"
 msgstr ""
 
@@ -3425,63 +3304,32 @@ msgstr ""
 msgid "get_myaddress: ioctl (get interface configuration)"
 msgstr ""
 
-#: nscd/nscd_stat.c:76
-msgid ""
-"group cache:\n"
-"\n"
+#: nss/getent.c:53
+msgid "getent - get entries from administrative database."
 msgstr ""
 
-#: nscd/grpcache.c:185
+#: nscd/connections.c:200
 #, c-format
-msgid "grp_add_cache (%s)"
-msgstr ""
-
-#: nscd/grpcache.c:263
-#, c-format
-msgid "grp_add_netgache (%s|%ld)"
-msgstr ""
-
-#: nscd/grpcache.c:293
-#, c-format
-msgid "grp_cache_search_neg (%s|%ld)"
-msgstr ""
-
-#: nscd/connections.c:98
-msgid "handle_new_connection"
-msgstr ""
-
-#: nscd/connections.c:117
-#, c-format
-msgid "handle_new_connection used socket %d|%d"
-msgstr ""
-
-#: nscd/connections.c:168
-#, c-format
-msgid "handle_new_request uses socket %d"
-msgstr ""
-
-#: nscd/nscd.c:340
-#, c-format
-msgid "handle_requests: request received (Version = %d)"
+msgid "handle_request: request received (Version = %d)"
 msgstr ""
 
 #: timezone/zic.c:613
 msgid "hard link failed, symbolic link used"
 msgstr ""
 
-#: inet/rcmd.c:320
+#: inet/rcmd.c:322
 msgid "hard linked somewhere"
 msgstr ""
 
-#: timezone/zic.c:1161
+#: timezone/zic.c:1162
 msgid "illegal CORRECTION field on Leap line"
 msgstr ""
 
-#: timezone/zic.c:1165
+#: timezone/zic.c:1166
 msgid "illegal Rolling/Stationary field on Leap line"
 msgstr ""
 
-#: locale/programs/ld-collate.c:1779
+#: locale/programs/ld-collate.c:1782
 msgid "illegal character constant in string"
 msgstr ""
 
@@ -3489,7 +3337,7 @@ msgstr ""
 msgid "illegal character in file: "
 msgstr ""
 
-#: locale/programs/ld-collate.c:1122
+#: locale/programs/ld-collate.c:1125
 msgid "illegal collation element"
 msgstr ""
 
@@ -3505,7 +3353,7 @@ msgstr ""
 msgid "illegal escape sequence at end of string"
 msgstr ""
 
-#: iconv/iconv_prog.c:336
+#: iconv/iconv_prog.c:342
 #, c-format
 msgid "illegal input sequence at position %ld"
 msgstr ""
@@ -3514,45 +3362,45 @@ msgstr ""
 msgid "illegal names for character range"
 msgstr ""
 
-#: sunrpc/rpc_main.c:421
+#: sunrpc/rpc_main.c:462
 #, c-format
 msgid "illegal nettype :'%s'\n"
 msgstr ""
 
-#: locale/programs/ld-time.c:184
+#: locale/programs/ld-time.c:187
 #, c-format
 msgid "illegal number for offset in string %d in `era' field in category `%s'"
 msgstr ""
 
-#: catgets/gencat.c:363 catgets/gencat.c:440
+#: catgets/gencat.c:361 catgets/gencat.c:438
 msgid "illegal set number"
 msgstr ""
 
-#: locale/programs/ld-time.c:240
+#: locale/programs/ld-time.c:243
 #, c-format
 msgid "illegal starting date in string %d in `era' field in category `%s'"
 msgstr ""
 
-#: locale/programs/ld-time.c:316
+#: locale/programs/ld-time.c:319
 #, c-format
 msgid "illegal stopping date in string %d in `era' field in category `%s'"
 msgstr ""
 
-#: locale/programs/ld-ctype.c:826
+#: locale/programs/ld-ctype.c:831
 #, c-format
 msgid "implementation limit: no more than %d character classes allowed"
 msgstr ""
 
-#: locale/programs/ld-ctype.c:858
+#: locale/programs/ld-ctype.c:863
 #, c-format
 msgid "implementation limit: no more than %d character maps allowed"
 msgstr ""
 
-#: iconv/iconv_prog.c:340
+#: iconv/iconv_prog.c:346
 msgid "incomplete character or shift sequence at end of buffer"
 msgstr ""
 
-#: db2/makedb.c:145
+#: db2/makedb.c:148
 msgid "incorrectly formatted file"
 msgstr ""
 
@@ -3560,72 +3408,81 @@ msgstr ""
 msgid "input line of unknown type"
 msgstr ""
 
-#: iconv/iconv_prog.c:344
+#: iconv/iconv_prog.c:350
 msgid "internal error (illegal descriptor)"
 msgstr ""
 
-#: timezone/zic.c:1787
+#: timezone/zic.c:1788
 msgid "internal error - addtype called with bad isdst"
 msgstr ""
 
-#: timezone/zic.c:1795
+#: timezone/zic.c:1796
 msgid "internal error - addtype called with bad ttisgmt"
 msgstr ""
 
-#: timezone/zic.c:1791
+#: timezone/zic.c:1792
 msgid "internal error - addtype called with bad ttisstd"
 msgstr ""
 
-#: locale/programs/ld-ctype.c:304
+#: locale/programs/ld-ctype.c:307
 #, c-format
 msgid "internal error in %s, line %u"
 msgstr ""
 
-#: timezone/zic.c:1033
+#: timezone/zic.c:1034
 msgid "invalid UTC offset"
 msgstr ""
 
-#: timezone/zic.c:1036
+#: timezone/zic.c:1037
 msgid "invalid abbreviation format"
 msgstr ""
 
-#: timezone/zic.c:1126 timezone/zic.c:1338 timezone/zic.c:1352
+#: timezone/zic.c:1127 timezone/zic.c:1339 timezone/zic.c:1353
 msgid "invalid day of month"
 msgstr ""
 
-#: timezone/zic.c:1290
+#: timezone/zic.c:1291
 msgid "invalid ending year"
 msgstr ""
 
-#: timezone/zic.c:1098
+#: timezone/zic.c:1099
 msgid "invalid leaping year"
 msgstr ""
 
-#: timezone/zic.c:1113 timezone/zic.c:1216
+#: elf/dl-open.c:159
+msgid "invalid mode for dlopen()"
+msgstr ""
+
+#: timezone/zic.c:1114 timezone/zic.c:1217
 msgid "invalid month name"
 msgstr ""
 
-#: timezone/zic.c:932
+#: timezone/zic.c:933
 msgid "invalid saved time"
 msgstr ""
 
-#: timezone/zic.c:1265
+#: timezone/zic.c:1266
 msgid "invalid starting year"
 msgstr ""
 
-#: timezone/zic.c:1142 timezone/zic.c:1245
+#: timezone/zic.c:1143 timezone/zic.c:1246
 msgid "invalid time of day"
 msgstr ""
 
-#: timezone/zic.c:1343
+#: timezone/zic.c:1344
 msgid "invalid weekday name"
 msgstr ""
 
-#: locale/programs/ld-collate.c:1419
+#: nscd/connections.c:375
+#, c-format
+msgid "key length in request too long: %Zd"
+msgstr ""
+
+#: locale/programs/ld-collate.c:1422
 msgid "line after ellipsis must contain character definition"
 msgstr ""
 
-#: locale/programs/ld-collate.c:1398
+#: locale/programs/ld-collate.c:1401
 msgid "line before ellipsis does not contain definition for character constant"
 msgstr ""
 
@@ -3633,28 +3490,28 @@ msgstr ""
 msgid "line too long"
 msgstr ""
 
-#: iconv/iconv_prog.c:56
+#: iconv/iconv_prog.c:58
 msgid "list all known coded character sets"
 msgstr ""
 
-#: locale/programs/localedef.c:268
+#: locale/programs/localedef.c:273
 #, c-format
 msgid "locale file `%s', used in `copy' statement, not found"
 msgstr ""
 
-#: inet/rcmd.c:305
+#: inet/rcmd.c:307
 msgid "lstat failed"
 msgstr ""
 
-#: catgets/gencat.c:621
+#: catgets/gencat.c:619
 msgid "malformed line ignored"
 msgstr ""
 
-#: elf/sprof.c:544
+#: elf/sprof.c:554
 msgid "mapping of section header string table failed"
 msgstr ""
 
-#: elf/sprof.c:534
+#: elf/sprof.c:544
 msgid "mapping of section headers failed"
 msgstr ""
 
@@ -3666,16 +3523,16 @@ msgstr ""
 msgid "memory clobbered past end of allocated block\n"
 msgstr ""
 
-#: locale/programs/ld-collate.c:167 locale/programs/ld-collate.c:173
-#: locale/programs/ld-collate.c:177 locale/programs/ld-collate.c:1446
-#: locale/programs/ld-collate.c:1475 locale/programs/locfile.c:1081
+#: locale/programs/ld-collate.c:170 locale/programs/ld-collate.c:176
+#: locale/programs/ld-collate.c:180 locale/programs/ld-collate.c:1449
+#: locale/programs/ld-collate.c:1478 locale/programs/locfile.c:1082
 #: locale/programs/xmalloc.c:70 login/programs/database.c:62
 #: login/programs/database.c:79 login/programs/database.c:95
-#: posix/getconf.c:318
+#: posix/getconf.c:682
 msgid "memory exhausted"
 msgstr ""
 
-#: malloc/obstack.c:470
+#: malloc/obstack.c:471
 msgid "memory exhausted\n"
 msgstr ""
 
@@ -3683,21 +3540,21 @@ msgstr ""
 msgid "memory is consistent, library is buggy\n"
 msgstr ""
 
-#: locale/programs/ld-time.c:367
+#: locale/programs/ld-time.c:370
 #, c-format
 msgid "missing era format in string %d in `era' field in category `%s'"
 msgstr ""
 
-#: locale/programs/ld-time.c:355
+#: locale/programs/ld-time.c:358
 #, c-format
 msgid "missing era name in string %d in `era' field in category `%s'"
 msgstr ""
 
-#: timezone/zic.c:927
+#: timezone/zic.c:928
 msgid "nameless rule"
 msgstr ""
 
-#: iconv/iconv_prog.c:131
+#: iconv/iconv_prog.c:133
 msgid "neither original nor target encoding specified"
 msgstr ""
 
@@ -3742,36 +3599,36 @@ msgstr ""
 msgid "no <Uxxxx> or <Uxxxxxxxx> value given"
 msgstr ""
 
-#: locale/programs/ld-messages.c:98 locale/programs/ld-messages.c:122
+#: locale/programs/ld-messages.c:101 locale/programs/ld-messages.c:125
 #, c-format
 msgid "no correct regular expression for field `%s' in category `%s': %s"
 msgstr ""
 
-#: timezone/zic.c:2114
+#: timezone/zic.c:2115
 msgid "no day in month matches rule"
 msgstr ""
 
-#: locale/programs/ld-collate.c:264
+#: locale/programs/ld-collate.c:267
 msgid "no definition of `UNDEFINED'"
 msgstr ""
 
-#: elf/sprof.c:272
+#: elf/sprof.c:276
 #, c-format
 msgid ""
 "no filename for profiling data given and shared object `%s' has no soname"
 msgstr ""
 
-#: locale/programs/locfile.c:608
+#: locale/programs/locfile.c:609
 msgid "no other keyword shall be specified when `copy' is used"
 msgstr ""
 
-#: locale/programs/localedef.c:327
+#: locale/programs/localedef.c:334
 msgid "no output file produced because warning were issued"
 msgstr ""
 
-#: locale/programs/locfile.c:282 locale/programs/locfile.c:300
-#: locale/programs/locfile.c:318 locale/programs/locfile.c:336
-#: locale/programs/locfile.c:354 locale/programs/locfile.c:372
+#: locale/programs/locfile.c:283 locale/programs/locfile.c:301
+#: locale/programs/locfile.c:319 locale/programs/locfile.c:337
+#: locale/programs/locfile.c:355 locale/programs/locfile.c:373
 msgid "no repertoire map specified: cannot proceed"
 msgstr ""
 
@@ -3785,22 +3642,24 @@ msgstr ""
 msgid "no symbolic name given for end of range"
 msgstr ""
 
-#: locale/programs/ld-collate.c:246
+#: locale/programs/ld-collate.c:249
 #, c-format
 msgid "no weight defined for symbol `%s'"
 msgstr ""
 
-#: inet/rcmd.c:307
+#: inet/rcmd.c:309
 msgid "not regular file"
 msgstr ""
 
-#: nscd/nscd_stat.c:61
+#: nscd/nscd_stat.c:130
+#, c-format
 msgid ""
 "nscd configuration:\n"
 "\n"
+"%15d  server debug level\n"
 msgstr ""
 
-#: nscd/nscd_stat.c:36
+#: nscd/nscd_stat.c:104
 msgid "nscd not running!\n"
 msgstr ""
 
@@ -3808,25 +3667,19 @@ msgstr ""
 msgid "only WIDTH definitions are allowed to follow the CHARMAP definition"
 msgstr ""
 
-#: iconv/iconv_prog.c:133
+#: iconv/iconv_prog.c:135
 msgid "original encoding not specified using `-f'"
 msgstr ""
 
-#: iconv/iconv_prog.c:58
+#: iconv/iconv_prog.c:60
 msgid "output file"
 msgstr ""
 
-#: nscd/nscd_stat.c:64
-msgid ""
-"passwd cache:\n"
-"\n"
-msgstr ""
-
 #: sunrpc/pm_getmaps.c:73
 msgid "pmap_getmaps rpc problem"
 msgstr ""
 
-#: inet/rcmd.c:177
+#: inet/rcmd.c:179
 msgid "poll: protocol failure in circuit setup\n"
 msgstr ""
 
@@ -3834,18 +3687,22 @@ msgstr ""
 msgid "preprocessor error"
 msgstr ""
 
-#: iconv/iconv_prog.c:59
+#: elf/sprof.c:78
+msgid "print list of count paths and their number of use"
+msgstr ""
+
+#: iconv/iconv_prog.c:61
 msgid "print progress information"
 msgstr ""
 
-#: db2/makedb.c:333
+#: db2/makedb.c:345
 #, c-format
 msgid "problems while reading `%s'"
 msgstr ""
 
-#: elf/sprof.c:680
+#: elf/sprof.c:691
 #, c-format
-msgid "profiling data file `%s' does match shared object `%s'"
+msgid "profiling data file `%s' does not match shared object `%s'"
 msgstr ""
 
 #: sunrpc/rpcinfo.c:237 sunrpc/rpcinfo.c:383
@@ -3865,44 +3722,25 @@ msgstr ""
 msgid "program %lu version %lu ready and waiting\n"
 msgstr ""
 
-#: nscd/pwdcache.c:209
-#, c-format
-msgid "pwd_add_cache (%s)"
-msgstr ""
-
-#: nscd/pwdcache.c:279
-#, c-format
-msgid "pwd_add_netgache (%s|%ld)"
-msgstr ""
-
-#: nscd/pwdcache.c:310
-#, c-format
-msgid "pwd_cache_search_neg (%s|%ld)"
-msgstr ""
-
-#: inet/rcmd.c:174
+#: inet/rcmd.c:176
 #, c-format
 msgid "rcmd: poll (setting up stderr): %m\n"
 msgstr ""
 
-#: inet/rcmd.c:108
+#: inet/rcmd.c:110
 msgid "rcmd: socket: All ports in use\n"
 msgstr ""
 
-#: inet/rcmd.c:164
+#: inet/rcmd.c:166
 #, c-format
 msgid "rcmd: write (setting up stderr): %m\n"
 msgstr ""
 
-#: nscd/nscd_stat.c:54
-msgid "read incomplete"
-msgstr ""
-
 #: sunrpc/svc_simple.c:98
 msgid "registerrpc: out of memory\n"
 msgstr ""
 
-#: timezone/zic.c:1848
+#: timezone/zic.c:1849
 msgid "repeated leap second moment"
 msgstr ""
 
@@ -3911,11 +3749,11 @@ msgstr ""
 msgid "repertoire map file `%s' not found"
 msgstr ""
 
-#: sunrpc/rpc_main.c:1061
+#: sunrpc/rpc_main.c:1117
 msgid "rpcgen: arglist coding error\n"
 msgstr ""
 
-#: sunrpc/rpc_main.c:1049
+#: sunrpc/rpc_main.c:1105
 msgid "rpcgen: too many defines\n"
 msgstr ""
 
@@ -3947,30 +3785,30 @@ msgstr ""
 msgid "same rule name in multiple files"
 msgstr ""
 
-#: nscd/nscd_conf.c:109 nscd/nscd_conf.c:118 nscd/nscd_conf.c:129
+#: nscd/connections.c:387
 #, c-format
-msgid "service %s is not supported"
+msgid "short read while reading request key: %s"
 msgstr ""
 
-#: nscd/connections.c:65
+#: nscd/connections.c:364
 #, c-format
-msgid "socket [%d|%d] close: %s"
+msgid "short read while reading request: %s"
 msgstr ""
 
-#: nscd/connections.c:110
+#: nscd/grpcache.c:191 nscd/hstcache.c:278 nscd/pwdcache.c:188
 #, c-format
-msgid "socket accept: %s"
+msgid "short write in %s: %s"
 msgstr ""
 
-#: inet/rcmd.c:195
+#: inet/rcmd.c:197
 msgid "socket: protocol failure in circuit setup\n"
 msgstr ""
 
-#: locale/programs/locfile.c:729
+#: locale/programs/locfile.c:730
 msgid "sorting order `forward' and `backward' are mutually exclusive"
 msgstr ""
 
-#: locale/programs/ld-collate.c:1579 locale/programs/ld-collate.c:1625
+#: locale/programs/ld-collate.c:1582 locale/programs/ld-collate.c:1628
 msgid ""
 "specification of sorting weight for collation symbol does not make sense"
 msgstr ""
@@ -3983,24 +3821,24 @@ msgstr ""
 msgid "standard output"
 msgstr ""
 
-#: locale/programs/ld-time.c:269
+#: locale/programs/ld-time.c:272
 #, c-format
 msgid "starting date is illegal in string %d in `era' field in category `%s'"
 msgstr ""
 
-#: timezone/zic.c:1299
+#: timezone/zic.c:1300
 msgid "starting year greater than ending year"
 msgstr ""
 
-#: timezone/zic.c:1271 timezone/zic.c:1296
+#: timezone/zic.c:1272 timezone/zic.c:1297
 msgid "starting year too high to be represented"
 msgstr ""
 
-#: timezone/zic.c:1269 timezone/zic.c:1294
+#: timezone/zic.c:1270 timezone/zic.c:1295
 msgid "starting year too low to be represented"
 msgstr ""
 
-#: locale/programs/ld-time.c:345
+#: locale/programs/ld-time.c:348
 #, c-format
 msgid "stopping date is illegal in string %d in `era' field in category `%s'"
 msgstr ""
@@ -4009,19 +3847,31 @@ msgstr ""
 msgid "svc_run: - select failed"
 msgstr ""
 
-#: sunrpc/svc_tcp.c:208 sunrpc/svc_tcp.c:214
+#: sunrpc/svc_tcp.c:160
+msgid "svc_tcp.c - cannot getsockname or listen"
+msgstr ""
+
+#: sunrpc/svc_tcp.c:145
+msgid "svc_tcp.c - tcp socket creation problem"
+msgstr ""
+
+#: sunrpc/svc_tcp.c:209 sunrpc/svc_tcp.c:215
 msgid "svc_tcp: makefd_xprt: out of memory\n"
 msgstr ""
 
-#: sunrpc/svc_tcp.c:159
-msgid "svctcp_.c - cannot getsockname or listen"
+#: sunrpc/svc_unix.c:135
+msgid "svc_unix.c - AF_UNIX socket creation problem"
+msgstr ""
+
+#: sunrpc/svc_unix.c:151
+msgid "svc_unix.c - cannot getsockname or listen"
 msgstr ""
 
-#: sunrpc/svc_tcp.c:144
-msgid "svctcp_.c - udp socket creation problem"
+#: sunrpc/svc_unix.c:201 sunrpc/svc_unix.c:207
+msgid "svc_unix: makefd_xprt: out of memory\n"
 msgstr ""
 
-#: sunrpc/svc_tcp.c:167 sunrpc/svc_tcp.c:175
+#: sunrpc/svc_tcp.c:168 sunrpc/svc_tcp.c:176
 msgid "svctcp_create: out of memory\n"
 msgstr ""
 
@@ -4037,35 +3887,39 @@ msgstr ""
 msgid "svcudp_create: socket creation problem"
 msgstr ""
 
-#: locale/programs/ld-collate.c:1198
+#: sunrpc/svc_unix.c:160 sunrpc/svc_unix.c:168
+msgid "svcunix_create: out of memory\n"
+msgstr ""
+
+#: locale/programs/ld-collate.c:1201
 #, c-format
 msgid ""
 "symbol for multicharacter collating element `%.*s' duplicates element "
 "definition"
 msgstr ""
 
-#: locale/programs/ld-collate.c:1070
+#: locale/programs/ld-collate.c:1073
 #, c-format
 msgid ""
 "symbol for multicharacter collating element `%.*s' duplicates other element "
 "definition"
 msgstr ""
 
-#: locale/programs/ld-collate.c:1207
+#: locale/programs/ld-collate.c:1210
 #, c-format
 msgid ""
 "symbol for multicharacter collating element `%.*s' duplicates other symbol "
 "definition"
 msgstr ""
 
-#: locale/programs/ld-collate.c:1079
+#: locale/programs/ld-collate.c:1082
 #, c-format
 msgid ""
 "symbol for multicharacter collating element `%.*s' duplicates symbol "
 "definition"
 msgstr ""
 
-#: locale/programs/ld-collate.c:1061 locale/programs/ld-collate.c:1189
+#: locale/programs/ld-collate.c:1064 locale/programs/ld-collate.c:1192
 #, c-format
 msgid ""
 "symbol for multicharacter collating element `%.*s' duplicates symbolic name "
@@ -4080,51 +3934,51 @@ msgstr ""
 msgid "syntax error in %s definition: %s"
 msgstr ""
 
-#: locale/programs/locfile.c:749
+#: locale/programs/locfile.c:750
 msgid "syntax error in `order_start' directive"
 msgstr ""
 
-#: locale/programs/locfile.c:491
+#: locale/programs/locfile.c:492
 msgid "syntax error in character class definition"
 msgstr ""
 
-#: locale/programs/locfile.c:549
+#: locale/programs/locfile.c:550
 msgid "syntax error in character conversion definition"
 msgstr ""
 
-#: locale/programs/locfile.c:791
+#: locale/programs/locfile.c:792
 msgid "syntax error in collating order definition"
 msgstr ""
 
-#: locale/programs/locfile.c:641
+#: locale/programs/locfile.c:642
 msgid "syntax error in collation definition"
 msgstr ""
 
-#: locale/programs/locfile.c:464
+#: locale/programs/locfile.c:465
 msgid "syntax error in definition of LC_CTYPE category"
 msgstr ""
 
-#: locale/programs/locfile.c:407
+#: locale/programs/locfile.c:408
 msgid "syntax error in definition of new character class"
 msgstr ""
 
-#: locale/programs/locfile.c:417
+#: locale/programs/locfile.c:418
 msgid "syntax error in definition of new character map"
 msgstr ""
 
-#: locale/programs/locfile.c:1002
+#: locale/programs/locfile.c:1003
 msgid "syntax error in message locale definition"
 msgstr ""
 
-#: locale/programs/locfile.c:913
+#: locale/programs/locfile.c:914
 msgid "syntax error in monetary locale definition"
 msgstr ""
 
-#: locale/programs/locfile.c:940
+#: locale/programs/locfile.c:941
 msgid "syntax error in numeric locale definition"
 msgstr ""
 
-#: locale/programs/locfile.c:851
+#: locale/programs/locfile.c:852
 msgid "syntax error in order specification"
 msgstr ""
 
@@ -4140,27 +3994,27 @@ msgstr ""
 msgid "syntax error in repertoire map definition: %s"
 msgstr ""
 
-#: locale/programs/locfile.c:978
+#: locale/programs/locfile.c:979
 msgid "syntax error in time locale definition"
 msgstr ""
 
-#: locale/programs/locfile.c:384
+#: locale/programs/locfile.c:385
 msgid "syntax error: not inside a locale definition section"
 msgstr ""
 
-#: iconv/iconv_prog.c:135
+#: iconv/iconv_prog.c:137
 msgid "target encoding not specified using `-t'"
 msgstr ""
 
-#: catgets/gencat.c:392 catgets/gencat.c:528 catgets/gencat.c:555
+#: catgets/gencat.c:390 catgets/gencat.c:526 catgets/gencat.c:553
 msgid "this is the first definition"
 msgstr ""
 
-#: timezone/zic.c:1131
+#: timezone/zic.c:1132
 msgid "time before zero"
 msgstr ""
 
-#: timezone/zic.c:1139 timezone/zic.c:2014 timezone/zic.c:2033
+#: timezone/zic.c:1140 timezone/zic.c:2015 timezone/zic.c:2034
 msgid "time overflow"
 msgstr ""
 
@@ -4172,27 +4026,27 @@ msgstr ""
 msgid "too many bytes in character encoding"
 msgstr ""
 
-#: locale/programs/locales.h:72
+#: locale/programs/locales.h:92
 msgid "too many character classes defined"
 msgstr ""
 
-#: timezone/zic.c:1842
+#: timezone/zic.c:1843
 msgid "too many leap seconds"
 msgstr ""
 
-#: timezone/zic.c:1814
+#: timezone/zic.c:1815
 msgid "too many local time types"
 msgstr ""
 
-#: timezone/zic.c:1768
+#: timezone/zic.c:1769
 msgid "too many transitions?!"
 msgstr ""
 
-#: locale/programs/ld-collate.c:1634
+#: locale/programs/ld-collate.c:1637
 msgid "too many weights"
 msgstr ""
 
-#: timezone/zic.c:2137
+#: timezone/zic.c:2138
 msgid "too many, or too long, time zone abbreviations"
 msgstr ""
 
@@ -4205,15 +4059,15 @@ msgstr ""
 msgid "trouble replying to prog %d\n"
 msgstr ""
 
-#: locale/programs/ld-collate.c:1390
+#: locale/programs/ld-collate.c:1393
 msgid "two lines in a row containing `...' are not allowed"
 msgstr ""
 
-#: timezone/zic.c:1306
+#: timezone/zic.c:1307
 msgid "typed single year"
 msgstr ""
 
-#: iconv/iconv_prog.c:400
+#: iconv/iconv_prog.c:406
 msgid "unable to allocate buffer for input"
 msgstr ""
 
@@ -4221,7 +4075,7 @@ msgstr ""
 msgid "unable to free arguments"
 msgstr ""
 
-#: posix/getconf.c:292 posix/getconf.c:307
+#: posix/getconf.c:654 posix/getconf.c:670
 msgid "undefined"
 msgstr ""
 
@@ -4230,34 +4084,34 @@ msgstr ""
 msgid "unknown character `%s'"
 msgstr ""
 
-#: locale/programs/ld-messages.c:199 locale/programs/ld-messages.c:210
-#: locale/programs/ld-messages.c:221 locale/programs/ld-messages.c:232
-#: locale/programs/ld-time.c:715
+#: locale/programs/ld-messages.c:202 locale/programs/ld-messages.c:213
+#: locale/programs/ld-messages.c:224 locale/programs/ld-messages.c:235
+#: locale/programs/ld-time.c:718
 #, c-format
 msgid "unknown character in field `%s' of category `%s'"
 msgstr ""
 
-#: locale/programs/locfile.c:714
+#: locale/programs/locfile.c:715
 msgid "unknown collation directive"
 msgstr ""
 
-#: catgets/gencat.c:489
+#: catgets/gencat.c:487
 #, c-format
 msgid "unknown directive `%s': line ignored"
 msgstr ""
 
-#: iconv/iconv_prog.c:347
+#: iconv/iconv_prog.c:353
 #, c-format
 msgid "unknown iconv() error %d"
 msgstr ""
 
-#: catgets/gencat.c:468
+#: catgets/gencat.c:466
 #, c-format
 msgid "unknown set `%s'"
 msgstr ""
 
-#: locale/programs/ld-collate.c:1374 locale/programs/ld-collate.c:1569
-#: locale/programs/ld-collate.c:1744
+#: locale/programs/ld-collate.c:1377 locale/programs/ld-collate.c:1572
+#: locale/programs/ld-collate.c:1747
 #, c-format
 msgid "unknown symbol `%.*s': line ignored"
 msgstr ""
@@ -4266,7 +4120,7 @@ msgstr ""
 msgid "unruly zone"
 msgstr ""
 
-#: catgets/gencat.c:973
+#: catgets/gencat.c:971
 msgid "unterminated message"
 msgstr ""
 
@@ -4282,7 +4136,7 @@ msgstr ""
 msgid "unterminated symbolic name"
 msgstr ""
 
-#: locale/programs/ld-collate.c:1696
+#: locale/programs/ld-collate.c:1699
 msgid "unterminated weight name"
 msgstr ""
 
@@ -4290,12 +4144,12 @@ msgstr ""
 msgid "upper limit in range is not smaller then lower limit"
 msgstr ""
 
-#: sunrpc/rpc_main.c:1359
+#: sunrpc/rpc_main.c:1415
 #, c-format
 msgid "usage:  %s infile\n"
 msgstr ""
 
-#: timezone/zic.c:2080
+#: timezone/zic.c:2081
 msgid "use of 2/29 in non leap-year"
 msgstr ""
 
@@ -4309,7 +4163,7 @@ msgstr ""
 msgid "value for <%s> must lie between 1 and 4"
 msgstr ""
 
-#: locale/programs/ld-monetary.c:152 locale/programs/ld-numeric.c:89
+#: locale/programs/ld-monetary.c:157 locale/programs/ld-numeric.c:92
 #, c-format
 msgid "value for field `%s' in category `%s' must not be the empty string"
 msgstr ""
@@ -4318,96 +4172,88 @@ msgstr ""
 msgid "value of <mb_cur_max> must be greater than the value of <mb_cur_min>"
 msgstr ""
 
-#: locale/programs/ld-monetary.c:142
+#: locale/programs/ld-monetary.c:147
 msgid ""
 "value of field `int_curr_symbol' in category `LC_MONETARY' does not "
 "correspond to a valid name in ISO 4217"
 msgstr ""
 
-#: locale/programs/ld-monetary.c:135
+#: locale/programs/ld-monetary.c:139
 msgid ""
 "value of field `int_curr_symbol' in category `LC_MONETARY' has wrong length"
 msgstr ""
 
-#: locale/programs/ld-monetary.c:376 locale/programs/ld-numeric.c:204
+#: locale/programs/ld-monetary.c:383 locale/programs/ld-numeric.c:207
 #, c-format
 msgid "values for field `%s' in category `%s' must be smaller than 127"
 msgstr ""
 
-#: catgets/gencat.c:1002
-msgid "while opening old catalog file"
-msgstr ""
-
-#: locale/programs/locale.c:346
-msgid "while preparing output"
+#: nscd/connections.c:355
+#, c-format
+msgid "while accepting connection: %s"
 msgstr ""
 
-#: db2/makedb.c:360
-msgid "while reading database"
+#: nscd/grpcache.c:149 nscd/hstcache.c:168 nscd/pwdcache.c:142
+msgid "while allocating cache entry"
 msgstr ""
 
-#: elf/sprof.c:673
-msgid "while stat'ing profiling data file"
+#: nscd/cache.c:85
+msgid "while allocating hash table entry"
 msgstr ""
 
-#: db2/makedb.c:322
-msgid "while writing database file"
+#: nscd/grpcache.c:99 nscd/hstcache.c:109 nscd/pwdcache.c:105
+msgid "while allocating key copy"
 msgstr ""
 
-#: nscd/nscd_stat.c:46
-msgid "write incomplete"
+#: catgets/gencat.c:1001
+msgid "while opening old catalog file"
 msgstr ""
 
-#: nscd/connections.c:540
-#, c-format
-msgid "write incomplete on send gr_disabled response: %s"
+#: locale/programs/locale.c:346
+msgid "while preparing output"
 msgstr ""
 
-#: nscd/connections.c:508 nscd/connections.c:514
-#, c-format
-msgid "write incomplete on send group answer: %s"
+#: db2/makedb.c:365 db2/makedb.c:382
+msgid "while reading database"
 msgstr ""
 
-#: nscd/connections.c:392
-#, c-format
-msgid "write incomplete on send passwd answer: %s"
+#: elf/sprof.c:683
+msgid "while stat'ing profiling data file"
 msgstr ""
 
-#: nscd/connections.c:421
-#, c-format
-msgid "write incomplete on send response: %s"
+#: db2/makedb.c:334
+msgid "while writing database file"
 msgstr ""
 
-#: nscd/connections.c:557
-#, c-format
-msgid "write incomplete on send stat response: %s"
+#: nscd/nscd_stat.c:115
+msgid "write incomplete"
 msgstr ""
 
-#: inet/rcmd.c:318
+#: inet/rcmd.c:320
 msgid "writeable by other than owner"
 msgstr ""
 
-#: db2/makedb.c:122 nscd/nscd.c:114
+#: db2/makedb.c:124 nscd/nscd.c:114 nss/getent.c:392
 msgid "wrong number of arguments"
 msgstr ""
 
-#: timezone/zic.c:1089
+#: timezone/zic.c:1090
 msgid "wrong number of fields on Leap line"
 msgstr ""
 
-#: timezone/zic.c:1180
+#: timezone/zic.c:1181
 msgid "wrong number of fields on Link line"
 msgstr ""
 
-#: timezone/zic.c:923
+#: timezone/zic.c:924
 msgid "wrong number of fields on Rule line"
 msgstr ""
 
-#: timezone/zic.c:993
+#: timezone/zic.c:994
 msgid "wrong number of fields on Zone continuation line"
 msgstr ""
 
-#: timezone/zic.c:951
+#: timezone/zic.c:952
 msgid "wrong number of fields on Zone line"
 msgstr ""
 
@@ -4419,10 +4265,10 @@ msgstr ""
 msgid "xdrrec_create: out of memory\n"
 msgstr ""
 
-#: nis/ypclnt.c:890
+#: nis/ypclnt.c:884
 msgid "yp_update: cannot convert host to netname\n"
 msgstr ""
 
-#: nis/ypclnt.c:902
+#: nis/ypclnt.c:896
 msgid "yp_update: cannot get server address\n"
 msgstr ""
diff --git a/sysdeps/mips/Makefile b/sysdeps/mips/Makefile
index 736414197a..5585c61f03 100644
--- a/sysdeps/mips/Makefile
+++ b/sysdeps/mips/Makefile
@@ -1,3 +1,3 @@
 ifeq ($(subdir),setjmp)
-sysdep_routines := $(sysdep_routines) setjmp_aux
+sysdep_routines += setjmp_aux
 endif
diff --git a/sysdeps/mips/bits/fenv.h b/sysdeps/mips/bits/fenv.h
new file mode 100644
index 0000000000..0637bf7623
--- /dev/null
+++ b/sysdeps/mips/bits/fenv.h
@@ -0,0 +1,72 @@
+/* Copyright (C) 1998 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 _FENV_H
+# error "Never use <bits/fenv.h> directly; include <fenv.h> instead."
+#endif
+
+
+/* Define bits representing the exception.  We use the bit positions
+   of the appropriate bits in the FPU control word.  */
+enum
+  {
+    FE_INEXACT = 0x04,
+#define FE_INEXACT	FE_INEXACT
+    FE_UNDERFLOW = 0x08,
+#define FE_UNDERFLOW	FE_UNDERFLOW
+    FE_OVERFLOW = 0x10,
+#define FE_OVERFLOW	FE_OVERFLOW
+    FE_DIVBYZERO = 0x20,
+#define FE_DIVBYZERO	FE_DIVBYZERO
+    FE_INVALID = 0x40,
+#define FE_INVALID	FE_INVALID
+  };
+
+#define FE_ALL_EXCEPT \
+	(FE_INEXACT | FE_DIVBYZERO | FE_UNDERFLOW | FE_OVERFLOW | FE_INVALID)
+
+/* The MIPS FPU supports all of the four defined rounding modes.  We
+   use again the bit positions in the FPU control word as the values
+   for the appropriate macros.  */
+enum
+  {
+    FE_TONEAREST = 0x0,
+#define FE_TONEAREST	FE_TONEAREST
+    FE_TOWARDZERO = 0x1,
+#define FE_TOWARDZERO	FE_TOWARDZERO
+    FE_UPWARD = 0x2,
+#define FE_UPWARD	FE_UPWARD
+    FE_DOWNWARD = 0x3
+#define FE_DOWNWARD	FE_DOWNWARD
+  };
+
+
+/* Type representing exception flags.  */
+typedef unsigned short int fexcept_t;
+
+
+/* Type representing floating-point environment.  This function corresponds
+   to the layout of the block written by the `fstenv'.  */
+typedef struct
+  {
+    unsigned int fp_control_register;
+  }
+fenv_t;
+
+/* If the default argument is used we use this value.  */
+#define FE_DFL_ENV	((fenv_t *) -1)
diff --git a/sysdeps/mips/fclrexcpt.c b/sysdeps/mips/fclrexcpt.c
new file mode 100644
index 0000000000..de96dd0b5c
--- /dev/null
+++ b/sysdeps/mips/fclrexcpt.c
@@ -0,0 +1,40 @@
+/* Clear given exceptions in current floating-point environment.
+   Copyright (C) 1998 Free Software Foundation, Inc.
+   This file is part of the GNU C Library.
+   Contributed by Andreas Jaeger <aj@arthur.rhein-neckar.de>, 1998.
+
+   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 <fenv.h>
+#include <fpu_control.h>
+
+void
+feclearexcept (int excepts)
+{
+  int cw;
+
+  /* Mask out unsupported bits/exceptions.  */
+  excepts &= FE_ALL_EXCEPT;
+
+  /* Read the complete control word.  */
+  _FPU_GETCW (cw);
+
+  /* Clear exception bits.  */
+  cw &= ~excepts;
+  
+  /* Put the new data in effect.  */
+  _FPU_SETCW (cw);
+}
diff --git a/sysdeps/mips/fegetenv.c b/sysdeps/mips/fegetenv.c
new file mode 100644
index 0000000000..13a2c8fc19
--- /dev/null
+++ b/sysdeps/mips/fegetenv.c
@@ -0,0 +1,28 @@
+/* Store current floating-point environment.
+   Copyright (C) 1998 Free Software Foundation, Inc.
+   This file is part of the GNU C Library.
+   Contributed by Andreas Jaeger <aj@arthur.rhein-neckar.de>, 1998.
+
+   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 <fenv.h>
+#include <fpu_control.h>
+
+void
+fegetenv (fenv_t *envp)
+{
+  _FPU_GETCW (*envp);
+}
diff --git a/sysdeps/mips/fegetround.c b/sysdeps/mips/fegetround.c
new file mode 100644
index 0000000000..e2e51ae64d
--- /dev/null
+++ b/sysdeps/mips/fegetround.c
@@ -0,0 +1,33 @@
+/* Return current rounding direction.
+   Copyright (C) 1998 Free Software Foundation, Inc.
+   This file is part of the GNU C Library.
+   Contributed by Andreas Jaeger <aj@arthur.rhein-neckar.de>, 1998.
+
+   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 <fenv.h>
+#include <fpu_control.h>
+
+int
+fegetround (void)
+{
+  int cw;
+
+  /* Get control word.  */
+  _FPU_GETCW (cw);
+
+  return cw & 0x3;
+}
diff --git a/sysdeps/mips/fesetenv.c b/sysdeps/mips/fesetenv.c
new file mode 100644
index 0000000000..58df06391e
--- /dev/null
+++ b/sysdeps/mips/fesetenv.c
@@ -0,0 +1,31 @@
+/* Install given floating-point environment.
+   Copyright (C) 1998 Free Software Foundation, Inc.
+   This file is part of the GNU C Library.
+   Contributed by Andreas Jaeger <aj@arthur.rhein-neckar.de>, 1998.
+
+   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 <fenv.h>
+#include <fpu_control.h>
+
+void
+fesetenv (const fenv_t *envp)
+{
+  if (envp == FE_DFL_ENV)
+    _FPU_SETCW (_FPU_DEFAULT);
+  else
+    _FPU_SETCW (envp->fp_control_register);
+}
diff --git a/sysdeps/mips/fesetround.c b/sysdeps/mips/fesetround.c
new file mode 100644
index 0000000000..6b623d6eab
--- /dev/null
+++ b/sysdeps/mips/fesetround.c
@@ -0,0 +1,43 @@
+/* Set current rounding direction.
+   Copyright (C) 1998 Free Software Foundation, Inc.
+   This file is part of the GNU C Library.
+   Contributed by Andreas Jaeger <aj@arthur.rhein-neckar.de>, 1998.
+
+   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 <fenv.h>
+#include <fpu_control.h>
+
+int
+fesetround (int round)
+{
+  unsigned short int cw;
+
+  if ((round & ~0x3) != 0)
+    /* ROUND is no valid rounding mode.  */
+    return 0;
+
+  /* Get current state.  */
+  _FPU_GETCW (cw);
+
+  /* Set rounding bits.  */
+  cw &= ~0x3;
+  cw |= round;
+  /* Set new state.  */
+  _FPU_SETCW (cw);
+
+  return 1;
+}
diff --git a/sysdeps/mips/feupdateenv.c b/sysdeps/mips/feupdateenv.c
new file mode 100644
index 0000000000..e826084671
--- /dev/null
+++ b/sysdeps/mips/feupdateenv.c
@@ -0,0 +1,40 @@
+/* Install given floating-point environment and raise exceptions.
+   Copyright (C) 1998 Free Software Foundation, Inc.
+   This file is part of the GNU C Library.
+   Contributed by Andreas Jaeger <aj@arthur.rhein-neckar.de>, 1998.
+
+   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 <fenv.h>
+#include <fpu_control.h>
+
+void
+feupdateenv (const fenv_t *envp)
+{
+  int temp;
+
+  /* Save current exceptions.  */
+  _FPU_GETCW (temp);
+  temp &= FE_ALL_EXCEPT;
+
+  /* Install new environment.  */
+  fesetenv (envp);
+
+  /* Raise the safed exception.  Incidently for us the implementation
+     defined format of the values in objects of type fexcept_t is the
+     same as the ones specified using the FE_* constants.  */
+  feraiseexcept (temp);
+}
diff --git a/sysdeps/mips/fgetexcptflg.c b/sysdeps/mips/fgetexcptflg.c
new file mode 100644
index 0000000000..f3d52bc555
--- /dev/null
+++ b/sysdeps/mips/fgetexcptflg.c
@@ -0,0 +1,33 @@
+/* Store current representation for exceptions.
+   Copyright (C) 1998 Free Software Foundation, Inc.
+   This file is part of the GNU C Library.
+   Contributed by Andreas Jaeger <aj@arthur.rhein-neckar.de>, 1998.
+
+   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 <fenv.h>
+#include <fpu_control.h>
+
+void
+fegetexceptflag (fexcept_t *flagp, int excepts)
+{
+  fexcept_t temp;
+
+  /* Get the current exceptions.  */
+  _FPU_GETCW (temp);
+
+  *flagp = temp & excepts & FE_ALL_EXCEPT;
+}
diff --git a/sysdeps/mips/ftestexcept.c b/sysdeps/mips/ftestexcept.c
new file mode 100644
index 0000000000..f348258318
--- /dev/null
+++ b/sysdeps/mips/ftestexcept.c
@@ -0,0 +1,33 @@
+/* Test exception in current environment.
+   Copyright (C) 1998 Free Software Foundation, Inc.
+   This file is part of the GNU C Library.
+   Contributed by Andreas Jaeger <aj@arthur.rhein-neckar.de>, 1998.
+
+   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 <fenv.h>
+#include <fpu_control.h>
+
+int
+fetestexcept (int excepts)
+{
+  int cw;
+
+  /* Get current control word.  */
+  _FPU_GETCW (cw);
+
+  return cw & excepts & FE_ALL_EXCEPT;
+}
diff --git a/sysdeps/unix/mips/sysdep.S b/sysdeps/unix/mips/sysdep.S
index 4275d664ec..fa8888663e 100644
--- a/sysdeps/unix/mips/sysdep.S
+++ b/sysdeps/unix/mips/sysdep.S
@@ -1,4 +1,4 @@
-/* Copyright (C) 1992, 1993, 1994, 1997 Free Software Foundation, Inc.
+/* Copyright (C) 1992, 1993, 1994, 1997, 1998 Free Software Foundation, Inc.
    This file is part of the GNU C Library.
    Contributed by Brendan Kehoe (brendan@zen.org).
 
@@ -21,10 +21,16 @@
 #define _ERRNO_H
 #include <bits/errno.h>
 
-	.comm errno, 4
+	.bss
+	.globl	errno
 #ifdef __ELF__
-	.type errno, @object
+	.type	errno, @object
 #endif
+	.size	errno, 4
+errno:
+	.space	4
+
+weak_alias (errno, _errno)
 
 	.set noreorder
 
diff --git a/sysdeps/unix/sysv/linux/mips/bits/ipc.h b/sysdeps/unix/sysv/linux/mips/bits/ipc.h
index 2841e6a5e2..04bd3f0ce2 100644
--- a/sysdeps/unix/sysv/linux/mips/bits/ipc.h
+++ b/sysdeps/unix/sysv/linux/mips/bits/ipc.h
@@ -1,4 +1,4 @@
-/* Copyright (C) 1995, 1996, 1997 Free Software Foundation, Inc.
+/* Copyright (C) 1995, 1996, 1997, 1998 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,6 @@
 #define IPC_STAT	2		/* Get `ipc_perm' options.  */
 #define IPC_INFO	3		/* See ipcs.  */
 
-
 /* Special key values.  */
 #define IPC_PRIVATE	((__key_t) 0)	/* Private key.  */
 
@@ -51,14 +50,6 @@ struct ipc_perm
   };
 
 
-/* Kludge to work around Linux' restriction of only up to five
-   arguments to a system call.  */
-struct ipc_kludge
-  {
-    void *msgp;
-    long int msgtyp;
-  };
-
 __BEGIN_DECLS
 
 /* The actual system call: all functions are multiplexed by this.  */
diff --git a/sysdeps/unix/sysv/linux/mips/bits/signum.h b/sysdeps/unix/sysv/linux/mips/bits/signum.h
index c30abe3841..2cf5814739 100644
--- a/sysdeps/unix/sysv/linux/mips/bits/signum.h
+++ b/sysdeps/unix/sysv/linux/mips/bits/signum.h
@@ -19,16 +19,61 @@
 
 #ifdef	_SIGNAL_H
 
-/* Take these architecture specific stuff from the kernel header files.  */
-#define __need_fake_sigfuns
-#define __need_signums
-#include <asm/signal.h>
+/* Fake signal functions.  */
+#define SIG_ERR ((__sighandler_t) -1)		/* Error return.  */
+#define SIG_DFL ((__sighandler_t) 0)		/* Default action.  */
+#define SIG_IGN ((__sighandler_t) 1)		/* Ignore signal.  */
 
 #ifdef __USE_UNIX98
 # define SIG_HOLD	((__sighandler_t) 2)	/* Add signal to hold mask.  */
 #endif
 
-#endif	/* <signal.h> included.  */
 
-#define __need__nsig
-#include <asm/signal.h>
+#define SIGHUP		 1	/* Hangup (POSIX).  */
+#define SIGINT		 2	/* Interrupt (ANSI).  */
+#define SIGQUIT		 3	/* Quit (POSIX).  */
+#define SIGILL		 4	/* Illegal instruction (ANSI).  */
+#define SIGTRAP		 5	/* Trace trap (POSIX).  */
+#define SIGIOT		 6	/* IOT trap (4.2 BSD).  */
+#define SIGABRT		 SIGIOT	/* Abort (ANSI).  */
+#define SIGEMT		 7
+#define SIGFPE		 8	/* Floating-point exception (ANSI).  */
+#define SIGKILL		 9	/* Kill, unblockable (POSIX).  */
+#define SIGBUS		10	/* BUS error (4.2 BSD).  */
+#define SIGSEGV		11	/* Segmentation violation (ANSI).  */
+#define SIGSYS		12
+#define SIGPIPE		13	/* Broken pipe (POSIX).  */
+#define SIGALRM		14	/* Alarm clock (POSIX).  */
+#define SIGTERM		15	/* Termination (ANSI).  */
+#define SIGUSR1		16	/* User-defined signal 1 (POSIX).  */
+#define SIGUSR2		17	/* User-defined signal 2 (POSIX).  */
+#define SIGCHLD		18	/* Child status has changed (POSIX).  */
+#define SIGCLD		SIGCHLD	/* Same as SIGCHLD (System V).  */
+#define SIGPWR		19	/* Power failure restart (System V).  */
+#define SIGWINCH	20	/* Window size change (4.3 BSD, Sun).  */
+#define SIGURG		21	/* Urgent condition on socket (4.2 BSD).  */
+#define SIGIO		22	/* I/O now possible (4.2 BSD).  */
+#define SIGPOLL		SIGIO	/* Pollable event occurred (System V).  */
+#define SIGSTOP		23	/* Stop, unblockable (POSIX).  */
+#define SIGTSTP		24	/* Keyboard stop (POSIX).  */
+#define SIGCONT		25	/* Continue (POSIX).  */
+#define SIGTTIN		26	/* Background read from tty (POSIX).  */
+#define SIGTTOU		27	/* Background write to tty (POSIX).  */
+#define SIGVTALRM	28	/* Virtual alarm clock (4.2 BSD).  */
+#define SIGPROF		29	/* Profiling alarm clock (4.2 BSD).  */
+#define SIGXCPU		30	/* CPU limit exceeded (4.2 BSD).  */
+#define SIGXFSZ		31	/* File size limit exceeded (4.2 BSD).  */
+
+
+#define _NSIG		128	/* Biggest signal number + 1
+				   (including real-time signals).  */
+
+#define SIGRTMIN	(__libc_current_sigrtmin ())
+#define SIGRTMAX	(__libc_current_sigrtmax ())
+
+/* These are the hard limits of the kernel.  These values should not be
+   used directly at user level.  */
+#define __SIGRTMIN	32
+#define __SIGRTMAX	(_NSIG - 1)
+
+#endif	/* <signal.h> included.  */
diff --git a/sysdeps/unix/sysv/linux/mips/bits/socket.h b/sysdeps/unix/sysv/linux/mips/bits/socket.h
index 528b8be8d4..cd85df7ef3 100644
--- a/sysdeps/unix/sysv/linux/mips/bits/socket.h
+++ b/sysdeps/unix/sysv/linux/mips/bits/socket.h
@@ -1,4 +1,4 @@
-/* System-specific socket constants and types.  Linux version.
+/* System-specific socket constants and types.  Linux/MIPS version.
    Copyright (C) 1991, 92, 94, 95, 96, 97, 98 Free Software Foundation, Inc.
    This file is part of the GNU C Library.
 
@@ -17,7 +17,10 @@
    write to the Free Software Foundation, Inc., 59 Temple Place - Suite 330,
    Boston, MA 02111-1307, USA.  */
 
-#if !defined _SYS_STAT_H && !defined _NETINET_IN_H
+#ifndef __BITS_SOCKET_H
+#define __BITS_SOCKET_H
+
+#if !defined _SYS_SOCKET_H && !defined _NETINET_IN_H
 # error "Never include <bits/socket.h> directly; use <sys/socket.h> instead."
 #endif
 
@@ -25,65 +28,93 @@
 #define __need_NULL
 #include <stddef.h>
 
+#include <sys/types.h>
+
 /* Type for length arguments in socket calls.  */
 typedef unsigned int socklen_t;
 
-/* Supported address families. */
-#define PF_UNSPEC	0
+/* Types of sockets.  */
+enum __socket_type
+{
+  SOCK_DGRAM = 1,		/* Connectionless, unreliable datagrams
+				   of fixed maximum length.  */
+#define SOCK_DGRAM SOCK_DGRAM
+  SOCK_STREAM = 2,		/* Sequenced, reliable, connection-based
+				   byte streams.  */
+#define SOCK_STREAM SOCK_STREAM
+  SOCK_RAW = 3,			/* Raw protocol interface.  */
+#define SOCK_RAW SOCK_RAW
+  SOCK_RDM = 4,			/* Reliably-delivered messages.  */
+#define SOCK_RDM SOCK_RDM
+  SOCK_SEQPACKET = 5,		/* Sequenced, reliable, connection-based,
+				   datagrams of fixed maximum length.  */
+#define SOCK_SEQPACKET SOCK_SEQPACKET
+  SOCK_PACKET = 10		/* Linux specific way of getting packets
+				   at the dev level.  For writing rarp and
+				   other similar things on the user level. */
+#define SOCK_PACKET SOCK_PACKET
+};
+
+/* 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_FILE		PF_LOCAL /* POSIX name for PF_LOCAL.  */
+#define	PF_FILE		PF_LOCAL /* Another non-standard 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_APPLETALK	5	/* Appletalk DDP.  */
 #define	PF_NETROM	6	/* Amateur radio NetROM.  */
 #define	PF_BRIDGE	7	/* Multiprotocol bridge.  */
-#define	PF_AAL5		8	/* Reserved for Werner's ATM.  */
+#define	PF_ATMPVC	8	/* ATM PVCs.  */
 #define	PF_X25		9	/* Reserved for X.25 project.  */
 #define	PF_INET6	10	/* IP version 6.  */
-#define	PF_ROSE		11	/* Amateur Radio X.25 PLP       */
-#define	PF_DECnet	12	/* Reserved for DECnet project  */
-#define	PF_NETBEUI	13	/* Reserved for 802.2LLC project*/
-#define	PF_SECURITY	14	/* Security callback pseudo AF */
-#define	PF_KEY		15	/* PF_KEY key management API */
+#define	PF_ROSE		11	/* Amateur Radio X.25 PLP.  */
+#define	PF_DECnet	12	/* Reserved for DECnet project.  */
+#define	PF_NETBEUI	13	/* Reserved for 802.2LLC project.  */
+#define	PF_SECURITY	14	/* Security callback pseudo AF.  */
+#define	PF_KEY		15	/* PF_KEY key management API.  */
 #define	PF_NETLINK	16
-#define	PF_ROUTE	PF_NETLINK /* Alias to emulate 4.4BSD */
-#define	PF_PACKET	17	/* Packet family                */
-#define	PF_ASH		18	/* Ash */
-#define PF_MAX		32		/* For now.. */
-
-/* Protocol families, same as address families. */
-#define AF_UNSPEC	PF_UNSPEC
-#define AF_UNIX		PF_UNIX
-#define AF_LOCAL	PF_LOCAL
-#define AF_FILE		PF_FILE
-
-#define AF_AX25		PF_AX25
-#define AF_IPX		PF_IPX
-#define AF_APPLETALK	PF_APPLETALK
+#define	PF_ROUTE	PF_NETLINK /* Alias to emulate 4.4BSD.  */
+#define	PF_PACKET	17	/* Packet family.  */
+#define	PF_ASH		18	/* Ash.  */
+#define	PF_ECONET	19	/* Acorn Econet.  */
+#define	PF_ATMSVC	20	/* ATM SVCs.  */
+#define	PF_SNA		22	/* Linux SNA Project */
+#define	PF_MAX		32	/* For now..  */
+
+/* Address families.  */
+#define	AF_UNSPEC	PF_UNSPEC
+#define	AF_LOCAL	PF_LOCAL
+#define	AF_UNIX		PF_UNIX
+#define	AF_FILE		PF_FILE
+#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_ROSE		PF_ROSE
-#define AF_DECNET	PF_DECNET
-#define AF_NETBEUI	PF_NETBEUI
+#define	AF_BRIDGE	PF_BRIDGE
+#define	AF_ATMPVC	PF_ATMPVC
+#define	AF_X25		PF_X25
+#define	AF_INET6	PF_INET6
+#define	AF_ROSE		PF_ROSE
+#define	AF_DECnet	PF_DECnet
+#define	AF_NETBEUI	PF_NETBEUI
 #define	AF_SECURITY	PF_SECURITY
 #define	pseudo_AF_KEY	PF_KEY
 #define	AF_NETLINK	PF_NETLINK
 #define	AF_ROUTE	PF_ROUTE
 #define	AF_PACKET	PF_PACKET
 #define	AF_ASH		PF_ASH
-#define AF_MAX		PF_MAX
+#define	AF_ECONET	PF_ECONET
+#define	AF_ATMSVC	PF_ATMSVC
+#define	AF_SNA		PF_SNA
+#define	AF_MAX		PF_MAX
 
 /* Socket level values.  Others are defined in the appropriate headers.
 
    XXX These definitions also should go into the appropriate headers as
    far as they are available.  */
-#define SOL_IPV6        41
-#define SOL_ICMPV6      58
 #define SOL_RAW		255
 #define SOL_DECNET      261
 #define SOL_X25         262
@@ -106,10 +137,15 @@ struct sockaddr
 enum
   {
     MSG_OOB		= 0x01,	/* Process out-of-band data.  */
+#define MSG_OOB		MSG_OOB
     MSG_PEEK		= 0x02,	/* Peek at incoming messages.  */
+#define MSG_PEEK	MSG_PEEK
     MSG_DONTROUTE	= 0x04,	/* Don't use local routing.  */
+#define MSG_DONTROUTE	MSG_DONTROUTE
     MSG_CTRUNC		= 0x08,	/* Control data lost before delivery.  */
+#define MSG_CTRUNC	MSG_CTRUNC
     MSG_PROXY		= 0x10	/* Supply or ask second address.  */
+#define MSG_PROXY	MSG_PROXY
   };
 
 
@@ -121,10 +157,10 @@ struct msghdr
     socklen_t msg_namelen;	/* Length of address data.  */
 
     struct iovec *msg_iov;	/* Vector of data to send/receive into.  */
-    int msg_iovlen;		/* Number of elements in the vector.  */
+    size_t msg_iovlen;		/* Number of elements in the vector.  */
 
     __ptr_t msg_control;	/* Ancillary data (eg BSD filedesc passing). */
-    socklen_t msg_controllen;	/* Ancillary data buffer length.  */
+    size_t msg_controllen;	/* Ancillary data buffer length.  */
 
     int msg_flags;		/* Flags on received message.  */
   };
@@ -132,12 +168,13 @@ struct msghdr
 /* Structure used for storage of ancillary data object information.  */
 struct cmsghdr
   {
-    socklen_t cmsg_len;		/* Length of data in cmsg_data plus length
+    size_t cmsg_len;		/* Length of data in cmsg_data plus length
 				   of cmsghdr structure.  */
     int cmsg_level;		/* Originating protocol.  */
     int cmsg_type;		/* Protocol specific type.  */
 #if !defined __STRICT_ANSI__ && defined __GNUC__ && __GNUC__ >= 2
     unsigned char __cmsg_data[0]; /* Ancillary data.  */
+    /* XXX Perhaps this should be removed.  */
 #endif
   };
 
@@ -157,14 +194,14 @@ struct cmsghdr
 			 + CMSG_ALIGN (sizeof (struct cmsghdr)))
 #define CMSG_LEN(len)   (CMSG_ALIGN (sizeof (struct cmsghdr)) + (len))
 
-
-#ifndef _EXTERN_INLINE
-# define _EXTERN_INLINE extern __inline
-#endif
 extern struct cmsghdr *__cmsg_nxthdr __P ((struct msghdr *__mhdr,
 					   struct cmsghdr *__cmsg));
+#ifdef __USE_EXTERN_INLINES
+# ifndef _EXTERN_INLINE
+#  define _EXTERN_INLINE extern __inline
+# endif
 _EXTERN_INLINE struct cmsghdr *
-__cmsg_nxthdr (struct msghdr *__mhdr, struct cmsghdr *__cmsg)
+__cmsg_nxthdr (struct msghdr *__mhdr, struct cmsghdr *__cmsg) __THROW
 {
   if ((size_t) __cmsg->cmsg_len < sizeof (struct cmsghdr))
     /* The kernel header does this so there may be a reason.  */
@@ -180,7 +217,29 @@ __cmsg_nxthdr (struct msghdr *__mhdr, struct cmsghdr *__cmsg)
     return NULL;
   return __cmsg;
 }
+#endif	/* Use `extern inline'.  */
 
+/* Socket level message types.  This must match the definitions in
+   <linux/socket.h>.  */
+enum
+  {
+    SCM_RIGHTS = 0x01,		/* Transfer file descriptors.  */
+#define SCM_RIGHTS SCM_RIGHTS
+#ifdef __USE_BSD
+    SCM_CREDENTIALS = 0x02,     /* Credentials passing.  */
+# define SCM_CREDENTIALS SCM_CREDENTIALS
+#endif
+    __SCM_CONNECT = 0x03	/* Data array is `struct scm_connect'.  */
+  };
+
+/* User visible structure for SCM_CREDENTIALS message */
+
+struct ucred
+{
+  pid_t pid;			/* PID of sending process.  */
+  uid_t uid;			/* UID of sending process.  */
+  gid_t gid;			/* GID of sending process.  */
+};
 
 /* Get socket manipulation related informations from kernel headers.  */
 #include <asm/socket.h>
@@ -192,3 +251,5 @@ struct linger
     int l_onoff;		/* Nonzero to linger on close.  */
     int l_linger;		/* Time to linger.  */
   };
+
+#endif	/* bits/socket.h */
diff --git a/sysdeps/unix/sysv/linux/mips/bits/stat.h b/sysdeps/unix/sysv/linux/mips/bits/stat.h
index 3bcf1a9299..f0afd5e728 100644
--- a/sysdeps/unix/sysv/linux/mips/bits/stat.h
+++ b/sysdeps/unix/sysv/linux/mips/bits/stat.h
@@ -22,15 +22,17 @@
 
 /* Versions of the `struct stat' data structure.  */
 #define _STAT_VER_LINUX_OLD	1
+#define _STAT_VER_KERNEL	1
 #define _STAT_VER_SVR4		2
 #define _STAT_VER_LINUX		3
-#define _STAT_VER		_STAT_VER_LINUX	/* The one defined below.  */
+#define _STAT_VER		_STAT_VER_LINUX /* The one defined below.  */
 
 /* Versions of the `xmknod' interface.  */
 #define _MKNOD_VER_LINUX	1
 #define _MKNOD_VER_SVR4		2
 #define _MKNOD_VER		_MKNOD_VER_LINUX /* The bits defined below.  */
 
+
 /* Structure describing file characteristics.  */
 struct stat
   {
diff --git a/sysdeps/unix/sysv/linux/mips/bits/time.h b/sysdeps/unix/sysv/linux/mips/bits/time.h
deleted file mode 100644
index 15c7cb3852..0000000000
--- a/sysdeps/unix/sysv/linux/mips/bits/time.h
+++ /dev/null
@@ -1,57 +0,0 @@
-/* System-dependent timing definitions.  Linux/MIPS version.
-   Copyright (C) 1996, 1997, 1998 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.  */
-
-/*
- * Never include this file directly; use <time.h> instead.
- */
-
-#ifndef __need_timeval
-# ifndef _BITS_TIME_H
-#  define _BITS_TIME_H	1
-
-/* ISO/IEC 9899:1990 7.12.1: <time.h>
-   The macro `CLOCKS_PER_SEC' is the number per second of the value
-   returned by the `clock' function. */
-/* CAE XSH, Issue 4, Version 2: <time.h>
-   The value of CLOCKS_PER_SEC is required to be 1 million on all
-   XSI-conformant systems. */
-#  define CLOCKS_PER_SEC  1000000
-
-#  ifndef __STRICT_ANSI__
-/* Even though CLOCKS_PER_SEC has such a strange value CLK_TCK
-   presents the real value for clock ticks per second for the system.  */
-#   define CLK_TCK 100		/* XXX not correct for all systems.  */
-#  endif
-
-# endif  /* bits/time.h */
-#endif
-
-#ifdef __need_timeval 
-# undef __need_timeval
-# ifndef _STRUCT_TIMEVAL
-#  define _STRUCT_TIMEVAL	1
-/* A time value that is accurate to the nearest
-   microsecond but also has a range of years.  */
-struct timeval
-  {
-    long int tv_sec;		/* Seconds.  */
-    long int tv_usec;		/* Microseconds.  */
-  };
-# endif	/* struct timeval */
-#endif	/* need timeval */
diff --git a/sysdeps/unix/sysv/linux/mips/kernel_sigaction.h b/sysdeps/unix/sysv/linux/mips/kernel_sigaction.h
index bb7fe6bece..3a803a66a5 100644
--- a/sysdeps/unix/sysv/linux/mips/kernel_sigaction.h
+++ b/sysdeps/unix/sysv/linux/mips/kernel_sigaction.h
@@ -4,9 +4,12 @@
 
 #define HAVE_SA_RESTORER
 
+/* Linux/MIPS still uses the old sigaction structure in the kernel.  */
+#define old_kernel_sigaction kernel_sigaction
+
 struct kernel_sigaction {
 	unsigned int	sa_flags;
-	__sighandler_t	sa_handler;
+	__sighandler_t	k_sa_handler;
 	unsigned long	sa_mask;
 	unsigned int    __pad0[3]; /* reserved, keep size constant */
 
diff --git a/sysdeps/unix/sysv/linux/mips/kernel_termios.h b/sysdeps/unix/sysv/linux/mips/kernel_termios.h
index 35be1bb290..e8768627fc 100644
--- a/sysdeps/unix/sysv/linux/mips/kernel_termios.h
+++ b/sysdeps/unix/sysv/linux/mips/kernel_termios.h
@@ -1,9 +1,24 @@
-#ifndef _SYS_KERNEL_TERMIOS_H
-#define _SYS_KERNEL_TERMIOS_H 1
-/* The following corresponds to the values from the Linux 2.1.24 kernel.  */
+/* 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.
 
-/* We need the definition of tcflag_t, cc_t, and speed_t.  */
-#include <bits/termios.h>
+   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 _KERNEL_TERMIOS_H
+#define _KERNEL_TERMIOS_H 1
+/* The following corresponds to the values from the Linux 2.1.24 kernel.  */
 
 #define __KERNEL_NCCS 23
 
diff --git a/sysdeps/unix/sysv/linux/mips/pread.c b/sysdeps/unix/sysv/linux/mips/pread.c
new file mode 100644
index 0000000000..c3bdcf9cc7
--- /dev/null
+++ b/sysdeps/unix/sysv/linux/mips/pread.c
@@ -0,0 +1,62 @@
+/* Copyright (C) 1997, 1998 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 <errno.h>
+#include <unistd.h>
+
+#include <sysdep.h>
+#include <sys/syscall.h>
+
+#ifdef __NR_pread
+
+extern ssize_t __syscall_pread (int fd, void *buf, size_t count, int dummy,
+				off_t offset_hi, off_t offset_lo);
+
+static ssize_t __emulate_pread (int fd, void *buf, size_t count,
+				off_t offset) internal_function;
+
+
+ssize_t
+__pread (fd, buf, count, offset)
+     int fd;
+     void *buf;
+     size_t count;
+     off_t offset;
+{
+  ssize_t result;
+
+  /* First try the syscall.  */
+#if defined(__MIPSEB__)
+  result = INLINE_SYSCALL (pread, 6, fd, buf, count, 0, 0, offset);
+#elif defined(__MIPSEL__)
+  result = INLINE_SYSCALL (pread, 6, fd, buf, count, 0, offset, 0);
+#endif
+  if (result == -1 && errno == ENOSYS)
+    /* No system call available.  Use the emulation.  */
+    result = __emulate_pread (fd, buf, count, offset);
+
+  return result;
+}
+
+weak_alias (__pread, pread)
+
+#define __pread(fd, buf, count, offset) \
+     static internal_function __emulate_pread (fd, buf, count, offset)
+#endif
+#include <sysdeps/posix/pread.c>
diff --git a/sysdeps/unix/sysv/linux/mips/pread64.c b/sysdeps/unix/sysv/linux/mips/pread64.c
new file mode 100644
index 0000000000..dfcfa01318
--- /dev/null
+++ b/sysdeps/unix/sysv/linux/mips/pread64.c
@@ -0,0 +1,65 @@
+/* Copyright (C) 1997, 1998 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 <errno.h>
+#include <unistd.h>
+
+#include <sysdep.h>
+#include <sys/syscall.h>
+
+#ifdef __NR_pread
+
+extern ssize_t __syscall_pread (int fd, void *buf, size_t count, int dummy,
+			        off_t offset_hi, off_t offset_lo);
+
+static ssize_t __emulate_pread64 (int fd, void *buf, size_t count,
+				  off64_t offset) internal_function;
+
+
+ssize_t
+__pread64 (fd, buf, count, offset)
+     int fd;
+     void *buf;
+     size_t count;
+     off64_t offset;
+{
+  ssize_t result;
+
+  /* First try the syscall.  */
+#if defined(__MIPSEB__)
+  result = INLINE_SYSCALL (pread, 6, fd, buf, count, 0, (off_t) (offset >> 32),
+			   (off_t) (offset & 0xffffffff));
+#elif defined(__MIPSEL__)
+  result = INLINE_SYSCALL (pread, 6, fd, buf, count, 0,
+			   (off_t) (offset & 0xffffffff),
+			   (off_t) (offset >> 32));
+#endif
+  if (result == -1 && errno == ENOSYS)
+    /* No system call available.  Use the emulation.  */
+    result = __emulate_pread64 (fd, buf, count, offset);
+
+  return result;
+}
+
+weak_alias (__pread64, pread64)
+
+#define __pread64(fd, buf, count, offset) \
+     static internal_function __emulate_pread64 (fd, buf, count, offset)
+#endif
+#include <sysdeps/posix/pread64.c>
diff --git a/sysdeps/unix/sysv/linux/mips/pwrite.c b/sysdeps/unix/sysv/linux/mips/pwrite.c
new file mode 100644
index 0000000000..274c14266e
--- /dev/null
+++ b/sysdeps/unix/sysv/linux/mips/pwrite.c
@@ -0,0 +1,62 @@
+/* Copyright (C) 1997, 1998 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 <errno.h>
+#include <unistd.h>
+
+#include <sysdep.h>
+#include <sys/syscall.h>
+
+#ifdef __NR_pwrite
+
+extern ssize_t __syscall_pwrite (int fd, const void *buf, size_t count,
+				 int dummy, off_t offset_hi, off_t offset_lo);
+
+static ssize_t __emulate_pwrite (int fd, const void *buf, size_t count,
+				 off_t offset) internal_function;
+
+
+ssize_t
+__pwrite (fd, buf, count, offset)
+     int fd;
+     const void *buf;
+     size_t count;
+     off_t offset;
+{
+  ssize_t result;
+
+  /* First try the syscall.  */
+#if defined(__MIPSEB__)
+  result = INLINE_SYSCALL (pwrite, 6, fd, buf, count, 0, 0, offset);
+#elif defined(__MIPSEL__)
+  result = INLINE_SYSCALL (pwrite, 6, fd, buf, count, 0, offset, 0);
+#endif
+  if (result == -1 && errno == ENOSYS)
+    /* No system call available.  Use the emulation.  */
+    result = __emulate_pwrite (fd, buf, count, offset);
+
+  return result;
+}
+
+weak_alias (__pwrite, pwrite)
+
+#define __pwrite(fd, buf, count, offset) \
+     static internal_function __emulate_pwrite (fd, buf, count, offset)
+#endif
+#include <sysdeps/posix/pwrite.c>
diff --git a/sysdeps/unix/sysv/linux/mips/pwrite64.c b/sysdeps/unix/sysv/linux/mips/pwrite64.c
new file mode 100644
index 0000000000..f73b10e0aa
--- /dev/null
+++ b/sysdeps/unix/sysv/linux/mips/pwrite64.c
@@ -0,0 +1,65 @@
+/* Copyright (C) 1997, 1998 Free Software Foundation, Inc.
+   This file is part of the GNU C Library.
+   Contributed by Ralf Baechle <ralf@gnu.org>, 1998.
+
+   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 <unistd.h>
+
+#include <sysdep.h>
+#include <sys/syscall.h>
+
+#ifdef __NR_pwrite
+
+extern ssize_t __syscall_pwrite (int fd, const void *buf, size_t count,
+				 int dummy, off_t offset_hi, off_t offset_lo);
+
+static ssize_t __emulate_pwrite64 (int fd, const void *buf, size_t count,
+				   off64_t offset) internal_function;
+
+
+ssize_t
+__pwrite64 (fd, buf, count, offset)
+     int fd;
+     const void *buf;
+     size_t count;
+     off64_t offset;
+{
+  ssize_t result;
+
+  /* First try the syscall.  */
+#if defined(__MIPSEB__)
+  result = INLINE_SYSCALL (pwrite, 6, fd, buf, count, 0, (off_t) (offset >> 32),
+			   (off_t) (offset & 0xffffffff));
+#elif defined(__MIPSEL__)
+  result = INLINE_SYSCALL (pwrite, 6, fd, buf, count, 0,
+			   (off_t) (offset & 0xffffffff),
+			   (off_t) (offset >> 32));
+#endif
+  if (result == -1 && errno == ENOSYS)
+    /* No system call available.  Use the emulation.  */
+    result = __emulate_pwrite64 (fd, buf, count, offset);
+
+  return result;
+}
+
+weak_alias (__pwrite64, pwrite64)
+
+#define __pwrite64(fd, buf, count, offset) \
+     static internal_function __emulate_pwrite64 (fd, buf, count, offset)
+#endif
+#include <sysdeps/posix/pwrite64.c>
diff --git a/sysdeps/unix/sysv/linux/mips/sys/syscall.h b/sysdeps/unix/sysv/linux/mips/sys/syscall.h
index 82f8427aa0..36214e4162 100644
--- a/sysdeps/unix/sysv/linux/mips/sys/syscall.h
+++ b/sysdeps/unix/sysv/linux/mips/sys/syscall.h
@@ -1,4 +1,4 @@
-/* Copyright (C) 1995, 1996, 1997 Free Software Foundation, Inc.
+/* Copyright (C) 1995, 1996, 1997, 1998 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
@@ -1009,7 +1009,7 @@
 #define SYS_time			(SYS_Linux +  13)
 #define SYS_mknod			(SYS_Linux +  14)
 #define SYS_chmod			(SYS_Linux +  15)
-#define SYS_chown			(SYS_Linux +  16)
+#define SYS_lchown			(SYS_Linux +  16)
 #define SYS_break			(SYS_Linux +  17)
 #define SYS_oldstat			(SYS_Linux +  18)
 #define SYS_lseek			(SYS_Linux +  19)
@@ -1045,7 +1045,7 @@
 #define SYS_geteuid			(SYS_Linux +  49)
 #define SYS_getegid			(SYS_Linux +  50)
 #define SYS_acct			(SYS_Linux +  51)
-#define SYS_phys			(SYS_Linux +  52)
+#define SYS_umount2			(SYS_Linux +  52)
 #define SYS_lock			(SYS_Linux +  53)
 #define SYS_ioctl			(SYS_Linux +  54)
 #define SYS_fcntl			(SYS_Linux +  55)
@@ -1183,5 +1183,25 @@
 #define SYS_query_module		(SYS_Linux + 187)
 #define SYS_poll			(SYS_Linux + 188)
 #define SYS_nfsservctl			(SYS_Linux + 189)
+#define SYS_setresgid			(SYS_Linux + 190)
+#define SYS_getresgid			(SYS_Linux + 191)
+#define SYS_prctl			(SYS_Linux + 192)
+#define SYS_rt_sigreturn		(SYS_Linux + 193)
+#define SYS_rt_sigaction		(SYS_Linux + 194)
+#define SYS_rt_sigprocmask		(SYS_Linux + 195)
+#define SYS_rt_sigpending		(SYS_Linux + 196)
+#define SYS_rt_sigtimedwait		(SYS_Linux + 197)
+#define SYS_rt_sigqueueinfo		(SYS_Linux + 198)
+#define SYS_rt_sigsuspend		(SYS_Linux + 199)
+#define SYS_pread			(SYS_Linux + 200)
+#define SYS_pwrite			(SYS_Linux + 201)
+#define SYS_chown			(SYS_Linux + 202)
+#define SYS_getcwd			(SYS_Linux + 203)
+#define SYS_capget			(SYS_Linux + 204)
+#define SYS_capset			(SYS_Linux + 205)
+#define SYS_sigaltstack			(SYS_Linux + 206)
+#define SYS_sendfile			(SYS_Linux + 207)
+#define SYS_putpmsg			(SYS_Linux + 208)
+#define SYS_getpmsg			(SYS_Linux + 209)
 
 #endif	/* sys/syscall.h */
diff --git a/sysdeps/unix/sysv/linux/mips/sys/ucontext.h b/sysdeps/unix/sysv/linux/mips/sys/ucontext.h
new file mode 100644
index 0000000000..dd534eae20
--- /dev/null
+++ b/sysdeps/unix/sysv/linux/mips/sys/ucontext.h
@@ -0,0 +1,77 @@
+/* Copyright (C) 1997, 1998 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.  */
+
+/* Don't rely on this, the interface is currently messed up and may need to
+   be broken to be fixed.  */
+#ifndef _SYS_UCONTEXT_H
+#define _SYS_UCONTEXT_H	1
+
+#include <features.h>
+#include <signal.h>
+
+/* We need the signal context definitions even if they are not used
+   included in <signal.h>.  */
+#include <bits/sigcontext.h>
+
+
+/* Type for general register.  */
+typedef unsigned long greg_t;
+
+/* Number of general registers.  */
+#define NGREG	37
+#define NFPREG	33
+
+/* Container for all general registers.  */
+typedef struct gregset {
+	greg_t	g_regs[32];
+	greg_t	g_hi;
+	greg_t	g_lo;
+	greg_t	g_pad[3];
+} gregset_t;
+
+/* Container for all FPU registers.  */
+typedef struct fpregset {
+	union {
+		double	fp_dregs[32];
+		struct {
+			float		_fp_fregs;
+			unsigned int	_fp_pad;
+		} fp_fregs[32];
+	} fp_r;
+	unsigned int	fp_csr;
+	unsigned int	fp_pad;
+} fpregset_t;
+
+/* Context to describe whole processor state.  */
+typedef struct
+  {
+    gregset_t gregs;
+    fpregset_t fpregs;
+  } mcontext_t;
+
+/* Userlevel context.  */
+typedef struct ucontext
+  {
+    unsigned long uc_flags;
+    struct ucontext *uc_link;
+    stack_t uc_stack;
+    mcontext_t uc_mcontext;
+    __sigset_t uc_sigmask;
+  } ucontext_t;
+
+#endif /* sys/ucontext.h */
diff --git a/sysdeps/unix/sysv/linux/mips/syscalls.list b/sysdeps/unix/sysv/linux/mips/syscalls.list
index dd38647d95..dd29d159aa 100644
--- a/sysdeps/unix/sysv/linux/mips/syscalls.list
+++ b/sysdeps/unix/sysv/linux/mips/syscalls.list
@@ -34,13 +34,16 @@ shutdown	-	shutdown	2	__shutdown	shutdown
 socket		-	socket		3	__socket	socket
 socketpair	-	socketpair	4	__socketpair	socketpair
 
-getresuid	-	getresuid	3	getresuid
-getresgid	-	getresgid	3	getresgid
-
 #
 # There are defined locally because the caller is also defined in this dir.
 #
-s_llseek	llseek	_llseek		5	__syscall__llseek
+s_llseek	llseek	_llseek		5	__sys_llseek
+s_sigaction	sigaction sigaction	3	__syscall_sigaction
+s_ustat		ustat	ustat		2	__syscall_ustat
+sys_mknod	xmknod	mknod		3	__syscall_mknod
+sys_fstat	fxstat	fstat		2	__syscall_fstat
+sys_lstat	lxstat	lstat		2	__syscall_lstat
+sys_stat	xstat	stat		2	__syscall_stat
 
 # System calls with wrappers.
 rt_sigaction	-	rt_sigaction	4	__syscall_rt_sigaction
@@ -55,16 +58,14 @@ s_getpriority	getpriority getpriority	2	__syscall_getpriority
 s_getresgid	getresgid getresgid	3	__syscall_getresgid
 s_getresuid	getresuid getresuid	3	__syscall_getresuid
 s_poll		poll	poll		3	__syscall_poll
-s_pread64	pread64	pread		5	__syscall_pread
+s_pread		pread	pread		6	__syscall_pread
 s_ptrace	ptrace	ptrace		4	__syscall_ptrace
-s_pwrite64	pwrite64 pwrite		5	__syscall_pwrite
+s_pwrite	pwrite	pwrite		6	__syscall_pwrite
 s_reboot	reboot	reboot		3	__syscall_reboot
-s_sigaction	sigaction sigaction	3	__syscall_sigaction
 s_sigpending	sigpending sigpending	1	__syscall_sigpending
 s_sigprocmask	sigprocmask sigprocmask	3	__syscall_sigprocmask
-s_sigsuspend	sigsuspend sigsuspend	3	__syscall_sigsuspend
-s_sysctl	sysctl	_sysctl		1	__syscall__sysctl
-s_ustat		ustat	ustat		2	__syscall_ustat
+# Todo: we can pass 6 args in registers, no need for the wrapper
+sysctl		sysctl	_sysctl		1	__syscall_sysctl
 sys_fstat	fxstat	fstat		2	__syscall_fstat
 sys_lstat	lxstat	lstat		2	__syscall_lstat
 sys_mknod	xmknod	mknod		3	__syscall_mknod
diff --git a/sysdeps/unix/sysv/linux/mips/ustat.c b/sysdeps/unix/sysv/linux/mips/ustat.c
index 447ab2947e..63eb68c602 100644
--- a/sysdeps/unix/sysv/linux/mips/ustat.c
+++ b/sysdeps/unix/sysv/linux/mips/ustat.c
@@ -1,4 +1,4 @@
-/* Copyright (C) 1997 Free Software Foundation, Inc.
+/* Copyright (C) 1997, 1998 Free Software Foundation, Inc.
    This file is part of the GNU C Library.
    Contributed by Ulrich Drepper <drepper@cygnus.com>, 1997.
 
@@ -17,9 +17,12 @@
    write to the Free Software Foundation, Inc., 59 Temple Place - Suite 330,
    Boston, MA 02111-1307, USA.  */
 
+#include <errno.h>
 #include <sys/ustat.h>
 #include <sys/sysmacros.h>
 
+#include <sysdep.h>
+#include <sys/syscall.h>
 
 extern int __syscall_ustat (unsigned long dev, struct ustat *ubuf);
 
@@ -31,5 +34,5 @@ ustat (dev_t dev, struct ustat *ubuf)
   /* 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);
+  return INLINE_SYSCALL (ustat, 2, k_dev, ubuf);
 }
diff --git a/sysdeps/unix/sysv/linux/mips/xmknod.c b/sysdeps/unix/sysv/linux/mips/xmknod.c
index c7ff64fecb..ba1b468b78 100644
--- a/sysdeps/unix/sysv/linux/mips/xmknod.c
+++ b/sysdeps/unix/sysv/linux/mips/xmknod.c
@@ -1,5 +1,5 @@
 /* xmknod call using old-style Unix mknod system call.
-   Copyright (C) 1991, 1993, 1995, 1996, 1997 Free Software Foundation, Inc.
+   Copyright (C) 1991, 93, 95, 96, 97, 98 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,9 @@
 #include <sys/stat.h>
 #include <sys/sysmacros.h>
 
+#include <sysdep.h>
+#include <sys/syscall.h>
+
 extern int __syscall_mknod (const char *, unsigned long, unsigned int);
 
 /* Create a device file named PATH, with permission and special bits MODE
@@ -41,7 +44,7 @@ __xmknod (int vers, const char *path, mode_t mode, dev_t *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_mknod (path, mode, k_dev);
+  return INLINE_SYSCALL (mknod, 3, path, mode, k_dev);
 }
 
 weak_alias (__xmknod, _xmknod)
diff --git a/sysdeps/unix/sysv/linux/mips/xstat.c b/sysdeps/unix/sysv/linux/mips/xstat.c
deleted file mode 100644
index 9f7eb58e0a..0000000000
--- a/sysdeps/unix/sysv/linux/mips/xstat.c
+++ /dev/null
@@ -1,80 +0,0 @@
-/* xstat using old-style Unix stat system call.
-   Copyright (C) 1991, 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 <stddef.h>
-#include <sys/stat.h>
-
-#include <kernel_stat.h>
-
-extern int __syscall_stat (const char *, struct kernel_stat *);
-
-/* Get information about the file NAME in BUF.  */
-int
-__xstat (int vers, const char *name, struct stat *buf)
-{
-  struct kernel_stat kbuf;
-  int result;
-
-  switch (vers)
-    {
-    case _STAT_VER_LINUX_OLD:
-      /* Nothing to do.  The struct is in the form the kernel expects
-	 it to be.  */
-      result = __syscall_stat (name, (struct kernel_stat *) buf);
-      break;
-
-    case _STAT_VER_LINUX:
-      /* Do the system call.  */
-      result = __syscall_stat (name, &kbuf);
-
-      /* Convert to current kernel version of `struct stat'.  */
-      buf->st_dev = kbuf.st_dev;
-      buf->st_pad1[0]  = 0; buf->st_pad1[1]  = 0; buf->st_pad1[2]  = 0;
-      buf->st_ino = kbuf.st_ino;
-      buf->st_mode = kbuf.st_mode;
-      buf->st_nlink = kbuf.st_nlink;
-      buf->st_uid = kbuf.st_uid;
-      buf->st_gid = kbuf.st_gid;
-      buf->st_rdev = kbuf.st_rdev;
-      buf->st_pad2[0] = 0; buf->st_pad2[1] = 0;
-      buf->st_pad3 = 0;
-      buf->st_size = kbuf.st_size;
-      buf->st_blksize = kbuf.st_blksize;
-      buf->st_blocks = kbuf.st_blocks;
-
-      buf->st_atime = kbuf.st_atime; buf->__reserved0 = 0;
-      buf->st_mtime = kbuf.st_mtime; buf->__reserved1 = 0;
-      buf->st_ctime = kbuf.st_ctime; buf->__reserved2 = 0;
-
-      buf->st_pad4[0] = 0; buf->st_pad4[1] = 0;
-      buf->st_pad4[2] = 0; buf->st_pad4[3] = 0;
-      buf->st_pad4[4] = 0; buf->st_pad4[5] = 0;
-      buf->st_pad4[6] = 0; buf->st_pad4[7] = 0;
-      break;
-
-    default:
-      __set_errno (EINVAL);
-      result = -1;
-      break;
-    }
-
-  return result;
-}
-weak_alias (__xstat, _xstat)
diff --git a/sysdeps/unix/sysv/linux/mips/xstatconv.c b/sysdeps/unix/sysv/linux/mips/xstatconv.c
new file mode 100644
index 0000000000..356235ace7
--- /dev/null
+++ b/sysdeps/unix/sysv/linux/mips/xstatconv.c
@@ -0,0 +1,120 @@
+/* Convert between the kernel's `struct stat' format, and libc's.
+   Copyright (C) 1991, 1995, 1996, 1997, 1998 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 <string.h>
+
+
+static inline int
+xstat_conv (int vers, struct kernel_stat *kbuf, void *ubuf)
+{
+  switch (vers)
+    {
+    case _STAT_VER_KERNEL:
+      /* Nothing to do.  The struct is in the form the kernel expects.
+         We should have short-circuted before we got here, but for
+         completeness... */
+      *(struct kernel_stat *) ubuf = *kbuf;
+      break;
+
+    case _STAT_VER_LINUX:
+      {
+	struct stat *buf = ubuf;
+
+	/* Convert to current kernel version of `struct stat'.  */
+	buf->st_dev = kbuf->st_dev;
+	buf->st_pad1[0]  = 0; buf->st_pad1[1]  = 0; buf->st_pad1[2]  = 0;
+	buf->st_ino = kbuf->st_ino;
+	buf->st_mode = kbuf->st_mode;
+	buf->st_nlink = kbuf->st_nlink;
+	buf->st_uid = kbuf->st_uid;
+	buf->st_gid = kbuf->st_gid;
+	buf->st_rdev = kbuf->st_rdev;
+	buf->st_pad2[0] = 0; buf->st_pad2[1] = 0;
+	buf->st_pad3 = 0;
+	buf->st_size = kbuf->st_size;
+	buf->st_blksize = kbuf->st_blksize;
+	buf->st_blocks = kbuf->st_blocks;
+	
+	buf->st_atime = kbuf->st_atime; buf->__reserved0 = 0;
+	buf->st_mtime = kbuf->st_mtime; buf->__reserved1 = 0;
+	buf->st_ctime = kbuf->st_ctime; buf->__reserved2 = 0;
+	
+	buf->st_pad4[0] = 0; buf->st_pad4[1] = 0;
+	buf->st_pad4[2] = 0; buf->st_pad4[3] = 0;
+	buf->st_pad4[4] = 0; buf->st_pad4[5] = 0;
+	buf->st_pad4[6] = 0; buf->st_pad4[7] = 0;
+      }
+      break;
+
+    default:
+      __set_errno (EINVAL);
+      return -1;
+    }
+
+  return 0;
+}
+
+static inline int
+xstat64_conv (int vers, struct kernel_stat *kbuf, void *ubuf)
+{
+#ifdef XSTAT_IS_XSTAT64
+  return xstat_conv (vers, kbuf, ubuf);
+#else
+  switch (vers)
+    {
+    case _STAT_VER_LINUX:
+      {
+	struct stat64 *buf = ubuf;
+
+	buf->st_dev = kbuf->st_dev;
+	buf->st_pad1[0]  = 0; buf->st_pad1[1]  = 0; buf->st_pad1[2]  = 0;
+	buf->st_ino = kbuf->st_ino;
+	buf->st_mode = kbuf->st_mode;
+	buf->st_nlink = kbuf->st_nlink;
+	buf->st_uid = kbuf->st_uid;
+	buf->st_gid = kbuf->st_gid;
+	buf->st_rdev = kbuf->st_rdev;
+	buf->st_pad2[0] = 0; buf->st_pad2[1] = 0;
+	buf->st_pad3 = 0;
+	buf->st_size = kbuf->st_size;
+	buf->st_blksize = kbuf->st_blksize;
+	buf->st_blocks = kbuf->st_blocks;
+
+	buf->st_atime = kbuf->st_atime; buf->__reserved0 = 0;
+	buf->st_mtime = kbuf->st_mtime; buf->__reserved1 = 0;
+	buf->st_ctime = kbuf->st_ctime; buf->__reserved2 = 0;
+
+	buf->st_pad4[0] = 0; buf->st_pad4[1] = 0;
+	buf->st_pad4[2] = 0; buf->st_pad4[3] = 0;
+	buf->st_pad4[4] = 0; buf->st_pad4[5] = 0;
+	buf->st_pad4[6] = 0; buf->st_pad4[7] = 0;
+      }
+      break;
+
+      /* If struct stat64 is different from struct stat then
+	 _STAT_VER_KERNEL does not make sense.  */
+    case _STAT_VER_KERNEL:
+    default:
+      __set_errno (EINVAL);
+      return -1;
+    }
+
+  return 0;
+#endif
+}
diff --git a/sysdeps/unix/sysv/linux/pwrite.c b/sysdeps/unix/sysv/linux/pwrite.c
index 74be599b09..cd7b8adaa1 100644
--- a/sysdeps/unix/sysv/linux/pwrite.c
+++ b/sysdeps/unix/sysv/linux/pwrite.c
@@ -25,8 +25,8 @@
 
 #ifdef __NR_pwrite
 
-extern ssize_t __syscall_pwrite64 (int fd, const void *buf, size_t count,
-				   off_t offset_hi, off_t offset_lo);
+extern ssize_t __syscall_pwrite (int fd, const void *buf, size_t count,
+				 off_t offset_hi, off_t offset_lo);
 
 static ssize_t __emulate_pwrite (int fd, const void *buf, size_t count,
 				 off_t offset) internal_function;