about summary refs log tree commit diff
diff options
context:
space:
mode:
authorJakub Jelinek <jakub@redhat.com>2007-10-17 20:24:59 +0000
committerJakub Jelinek <jakub@redhat.com>2007-10-17 20:24:59 +0000
commite2ff293ba10d38af29b08307d6bf90d11143596f (patch)
tree4f57da23acb1a50b8fcc4940d173195fd44d21d3
parent378e8bab9688c447e7567b5066ef26482a4fd8f1 (diff)
downloadglibc-e2ff293ba10d38af29b08307d6bf90d11143596f.tar.gz
glibc-e2ff293ba10d38af29b08307d6bf90d11143596f.tar.xz
glibc-e2ff293ba10d38af29b08307d6bf90d11143596f.zip
Updated to fedora-glibc-20071017T2007
-rw-r--r--ChangeLog97
-rw-r--r--fedora/branch.mk4
-rw-r--r--fedora/glibc.spec.in8
-rw-r--r--nptl/ChangeLog10
-rw-r--r--nptl/init.c2
-rwxr-xr-xnptl/sysdeps/pthread/configure82
-rw-r--r--nptl/sysdeps/unix/sysv/linux/i386/i486/sem_post.S21
-rw-r--r--nss/getXXbyYY_r.c32
-rw-r--r--po/libc.pot1760
-rw-r--r--resolv/nss_dns/dns-host.c8
-rwxr-xr-xsysdeps/i386/elf/configure8
-rw-r--r--sysdeps/posix/getaddrinfo.c27
-rw-r--r--sysdeps/unix/sysv/linux/alpha/bits/fcntl.h2
-rw-r--r--sysdeps/unix/sysv/linux/i386/bits/fcntl.h2
-rw-r--r--sysdeps/unix/sysv/linux/ia64/bits/fcntl.h2
-rw-r--r--sysdeps/unix/sysv/linux/powerpc/bits/fcntl.h2
-rw-r--r--sysdeps/unix/sysv/linux/s390/bits/fcntl.h2
-rw-r--r--sysdeps/unix/sysv/linux/sh/bits/fcntl.h2
-rw-r--r--sysdeps/unix/sysv/linux/sparc/bits/fcntl.h2
-rw-r--r--sysdeps/unix/sysv/linux/x86_64/bits/fcntl.h2
-rw-r--r--sysdeps/x86_64/bzero.S4
-rw-r--r--sysdeps/x86_64/cacheinfo.c38
-rwxr-xr-xsysdeps/x86_64/elf/configure8
-rw-r--r--sysdeps/x86_64/memset.S32
-rw-r--r--time/strftime_l.c70
-rw-r--r--time/tzfile.c76
-rw-r--r--time/tzset.c7
27 files changed, 1286 insertions, 1024 deletions
diff --git a/ChangeLog b/ChangeLog
index fb7ef42c9e..4c3121c7ec 100644
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,3 +1,100 @@
+2007-10-17  Ulrich Drepper  <drepper@redhat.com>
+
+	* sysdeps/unix/sysv/linux/i386/bits/fcntl.h: Define F_DUPFD_CLOEXEC.
+	* sysdeps/unix/sysv/linux/ia64/bits/fcntl.h: Likewise.
+	* sysdeps/unix/sysv/linux/powerpc/bits/fcntl.h: Likewise.
+	* sysdeps/unix/sysv/linux/s390/bits/fcntl.h: Likewise.
+	* sysdeps/unix/sysv/linux/sh/bits/fcntl.h: Likewise.
+	* sysdeps/unix/sysv/linux/sparc/bits/fcntl.h: Likewise.
+	* sysdeps/unix/sysv/linux/x86_64/bits/fcntl.h:  Likewise.
+	* sysdeps/unix/sysv/linux/alpha/bits/fcntl.h: Likewise.
+
+2007-10-17  Jakub Jelinek  <jakub@redhat.com>
+
+	* sysdeps/posix/getaddrinfo.c (getaddrinfo): When sorting addresses
+	and admin selects to be able to replace the gai.conf file, lock
+	data structures around the qsort call.
+
+2007-10-17  Ulrich Drepper  <drepper@redhat.com>
+
+	* sysdeps/x86_64/cacheinfo.c: Comment out code added in support of
+	new memset.
+	* sysdeps/x86_64/memset.S: Revert to old version for now.  The cost is
+	too high for the improvements.  Implement bzero unconditionally for
+	use in libc.
+
+2007-10-17  Ulrich Drepper  <drepper@redhat.com>
+	    Jakub Jelinek  <jakub@redhat.com>
+
+	* time/tzfile.c (__tzfile_read): Read POSIX TZ string if available
+	even when time_t is 32-bit.
+	(__tzfile_compute): Override POSIX TZ string STD/DST zone names if
+	timezone data read by __tzfile_default.  Ensure __tzname[0] is
+	always set after the search.
+
+2007-10-16  Ulrich Drepper  <drepper@redhat.com>
+
+	* time/tzfile.c (__tzfile_read): Help the compiler recognize
+	unreachable code on 32-bit machines.
+
+2007-10-16  Jakub Jelinek  <jakub@redhat.com>
+
+	[BZ #5184]
+	* time/strftime_l.c: Include stdbool.h.
+	(my_strftime): New wrapper, old function renamed to...
+	(__strftime_internal): ... new function.  Add tzset_called
+	argument, pass it down to recursive calls, don't call tzset ()
+	if already true, set to true after call to tzset ().
+
+2007-10-16  Ulrich Drepper  <drepper@redhat.com>
+
+	* time/tzfile.c (__tzfile_read): Take extra memory requested by caller
+	into account when copying TZ string.
+
+2007-10-16  Jakub Jelinek  <jakub@redhat.com>
+
+	* time/tzfile.c (__tzfile_compute): For use_last case set i to
+	num_transition rather than num_transitions - 1.
+
+2007-10-16  Jakub Jelinek  <jakub@redhat.com>
+
+	* sysdeps/x86_64/memset.S (memset): Fix sse2_nt_move
+	PIC indirect jump.
+
+	* sysdeps/x86_64/memset.S: Jump from bzero to memset using
+	a local label rather than HIDDEN_JUMPTARGET.
+
+2007-10-15  Ulrich Drepper  <drepper@redhat.com>
+
+	* sysdeps/x86_64/cacheinfo.c (__x86_64_shared_cache_size): Define.
+	(init_cacheinfo): Initialize it.
+	* sysdeps/x86_64/memset.S: Use __x86_64_shared_cache_size.
+	Always define bzero.
+	Remove non-glibc code.
+	* sysdeps/x86_64/bzero.S: Make an empty file.
+
+2007-10-15  H.J. Lu  <hongjiu.lu@intel.com>
+
+	* sysdeps/x86_64/cacheinfo.c
+	(__x86_64_preferred_memory_instruction): New.
+	(init_cacheinfo): Initialize __x86_64_preferred_memory_instruction.
+
+	* sysdeps/x86_64/memset.S: Rewrite.
+
+2007-10-15  Roland McGrath  <roland@redhat.com>
+
+	* po/libc.pot: Regenerated.
+
+2007-10-15  Ulrich Drepper  <drepper@redhat.com>
+
+	* nss/getXXbyYY_r.c (REENTRANT_NAME): Mangle startp and start_fct
+	pointers.
+
+	[BZ #3425]
+	* resolv/nss_dns/dns-host.c (getanswer_r): Fail with
+	NSS_STATUS_NOTFOUND if the server replied with only a CNAME and no
+	address record to T_A/T_AAAA requests.
+
 2007-10-14  Ulrich Drepper  <drepper@redhat.com>
 
 	* posix/glob.c: Reimplement link_exists_p to use fstatat64.
diff --git a/fedora/branch.mk b/fedora/branch.mk
index 1dc4e6b574..25da2e3c2b 100644
--- a/fedora/branch.mk
+++ b/fedora/branch.mk
@@ -3,5 +3,5 @@ glibc-branch := fedora
 glibc-base := HEAD
 DIST_BRANCH := devel
 COLLECTION := dist-f8
-fedora-sync-date := 2007-10-15 07:28 UTC
-fedora-sync-tag := fedora-glibc-20071015T0728
+fedora-sync-date := 2007-10-17 20:07 UTC
+fedora-sync-tag := fedora-glibc-20071017T2007
diff --git a/fedora/glibc.spec.in b/fedora/glibc.spec.in
index a00d799987..19c39c2245 100644
--- a/fedora/glibc.spec.in
+++ b/fedora/glibc.spec.in
@@ -1,4 +1,4 @@
-%define glibcrelease 21
+%define glibcrelease 22
 %define run_glibc_tests 1
 %define auxarches i586 i686 athlon sparcv9v sparc64v alphaev6
 %define xenarches i686 athlon
@@ -1010,6 +1010,12 @@ rm -f *.filelist*
 %endif
 
 %changelog
+* Wed Oct 17 2007 Jakub Jelinek <jakub@redhat.com> 2.6.90-22
+- fix tzfile.c for times after last transition (#333561)
+- fix sem_post@GLIBC_2.0 on i?86
+- appease valgrind in libpthread.so initialization
+- misc fixes (BZ#3425, BZ#5184, BZ#5186)
+
 * Mon Oct 15 2007 Jakub Jelinek <jakub@redhat.com> 2.6.90-21
 - fix getgr{name,gid}{,_r} with nscd
 
diff --git a/nptl/ChangeLog b/nptl/ChangeLog
index a5bce5f682..62e6ae3120 100644
--- a/nptl/ChangeLog
+++ b/nptl/ChangeLog
@@ -1,3 +1,13 @@
+2007-10-17  Jakub Jelinek  <jakub@redhat.com>
+
+	* sysdeps/unix/sysv/linux/i386/i486/sem_post.S (__old_sem_post): New
+	routine instead of an alias to __new_sem_post.
+
+2007-10-15  Jakub Jelinek  <jakub@redhat.com>
+
+	* init.c (__pthread_initialize_minimal): Initialize word to appease
+	valgrind.
+
 2007-10-10  Jakub Jelinek  <jakub@redhat.com>
 
 	* sysdeps/pthread/bits/libc-lock.h (__libc_rwlock_init): Inside of
diff --git a/nptl/init.c b/nptl/init.c
index ffb50b4cca..d445de0795 100644
--- a/nptl/init.c
+++ b/nptl/init.c
@@ -284,7 +284,7 @@ __pthread_initialize_minimal_internal (void)
   /* Private futexes are always used (at least internally) so that
      doing the test once this early is beneficial.  */
   {
-    int word;
+    int word = 0;
     word = INTERNAL_SYSCALL (futex, err, 3, &word,
 			    FUTEX_WAKE | FUTEX_PRIVATE_FLAG, 1);
     if (!INTERNAL_SYSCALL_ERROR_P (word, err))
diff --git a/nptl/sysdeps/pthread/configure b/nptl/sysdeps/pthread/configure
index 3cbe55e14f..2396dbf9bc 100755
--- a/nptl/sysdeps/pthread/configure
+++ b/nptl/sysdeps/pthread/configure
@@ -24,8 +24,8 @@ echo "$as_me: error: CFI directive support in assembler is required" >&2;}
 fi
 
 
-echo "$as_me:$LINENO: checking for forced unwind support" >&5
-echo $ECHO_N "checking for forced unwind support... $ECHO_C" >&6
+{ echo "$as_me:$LINENO: checking for forced unwind support" >&5
+echo $ECHO_N "checking for forced unwind support... $ECHO_C" >&6; }
 if test "${libc_cv_forced_unwind+set}" = set; then
   echo $ECHO_N "(cached) $ECHO_C" >&6
 else
@@ -48,39 +48,36 @@ _Unwind_GetCFA (context)
 }
 _ACEOF
 rm -f conftest.$ac_objext conftest$ac_exeext
-if { (eval echo "$as_me:$LINENO: \"$ac_link\"") >&5
-  (eval $ac_link) 2>conftest.er1
+if { (ac_try="$ac_link"
+case "(($ac_try" in
+  *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
+  *) ac_try_echo=$ac_try;;
+esac
+eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
+  (eval "$ac_link") 2>conftest.er1
   ac_status=$?
   grep -v '^ *+' conftest.er1 >conftest.err
   rm -f conftest.er1
   cat conftest.err >&5
   echo "$as_me:$LINENO: \$? = $ac_status" >&5
-  (exit $ac_status); } &&
-	 { ac_try='test -z "$ac_c_werror_flag"
-			 || test ! -s conftest.err'
-  { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
-  (eval $ac_try) 2>&5
-  ac_status=$?
-  echo "$as_me:$LINENO: \$? = $ac_status" >&5
-  (exit $ac_status); }; } &&
-	 { ac_try='test -s conftest$ac_exeext'
-  { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
-  (eval $ac_try) 2>&5
-  ac_status=$?
-  echo "$as_me:$LINENO: \$? = $ac_status" >&5
-  (exit $ac_status); }; }; then
+  (exit $ac_status); } && {
+	 test -z "$ac_c_werror_flag" ||
+	 test ! -s conftest.err
+       } && test -s conftest$ac_exeext &&
+       $as_test_x conftest$ac_exeext; then
   libc_cv_forced_unwind=yes
 else
   echo "$as_me: failed program was:" >&5
 sed 's/^/| /' conftest.$ac_ext >&5
 
-libc_cv_forced_unwind=no
+	libc_cv_forced_unwind=no
 fi
-rm -f conftest.err conftest.$ac_objext \
+
+rm -f core conftest.err conftest.$ac_objext conftest_ipa8_conftest.oo \
       conftest$ac_exeext conftest.$ac_ext
 fi
-echo "$as_me:$LINENO: result: $libc_cv_forced_unwind" >&5
-echo "${ECHO_T}$libc_cv_forced_unwind" >&6
+{ echo "$as_me:$LINENO: result: $libc_cv_forced_unwind" >&5
+echo "${ECHO_T}$libc_cv_forced_unwind" >&6; }
 if test $libc_cv_forced_unwind = yes; then
   cat >>confdefs.h <<\_ACEOF
 #define HAVE_FORCED_UNWIND 1
@@ -88,8 +85,8 @@ _ACEOF
 
   old_CFLAGS="$CFLAGS"
   CFLAGS="$CFLAGS -Werror -fexceptions"
-  echo "$as_me:$LINENO: checking for C cleanup handling" >&5
-echo $ECHO_N "checking for C cleanup handling... $ECHO_C" >&6
+  { echo "$as_me:$LINENO: checking for C cleanup handling" >&5
+echo $ECHO_N "checking for C cleanup handling... $ECHO_C" >&6; }
 if test "${libc_cv_c_cleanup+set}" = set; then
   echo $ECHO_N "(cached) $ECHO_C" >&6
 else
@@ -113,39 +110,36 @@ main ()
 }
 _ACEOF
 rm -f conftest.$ac_objext conftest$ac_exeext
-if { (eval echo "$as_me:$LINENO: \"$ac_link\"") >&5
-  (eval $ac_link) 2>conftest.er1
+if { (ac_try="$ac_link"
+case "(($ac_try" in
+  *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
+  *) ac_try_echo=$ac_try;;
+esac
+eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
+  (eval "$ac_link") 2>conftest.er1
   ac_status=$?
   grep -v '^ *+' conftest.er1 >conftest.err
   rm -f conftest.er1
   cat conftest.err >&5
   echo "$as_me:$LINENO: \$? = $ac_status" >&5
-  (exit $ac_status); } &&
-	 { ac_try='test -z "$ac_c_werror_flag"
-			 || test ! -s conftest.err'
-  { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
-  (eval $ac_try) 2>&5
-  ac_status=$?
-  echo "$as_me:$LINENO: \$? = $ac_status" >&5
-  (exit $ac_status); }; } &&
-	 { ac_try='test -s conftest$ac_exeext'
-  { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
-  (eval $ac_try) 2>&5
-  ac_status=$?
-  echo "$as_me:$LINENO: \$? = $ac_status" >&5
-  (exit $ac_status); }; }; then
+  (exit $ac_status); } && {
+	 test -z "$ac_c_werror_flag" ||
+	 test ! -s conftest.err
+       } && test -s conftest$ac_exeext &&
+       $as_test_x conftest$ac_exeext; then
   libc_cv_c_cleanup=yes
 else
   echo "$as_me: failed program was:" >&5
 sed 's/^/| /' conftest.$ac_ext >&5
 
-libc_cv_c_cleanup=no
+	libc_cv_c_cleanup=no
 fi
-rm -f conftest.err conftest.$ac_objext \
+
+rm -f core conftest.err conftest.$ac_objext conftest_ipa8_conftest.oo \
       conftest$ac_exeext conftest.$ac_ext
 fi
-echo "$as_me:$LINENO: result: $libc_cv_c_cleanup" >&5
-echo "${ECHO_T}$libc_cv_c_cleanup" >&6
+{ echo "$as_me:$LINENO: result: $libc_cv_c_cleanup" >&5
+echo "${ECHO_T}$libc_cv_c_cleanup" >&6; }
   CFLAGS="$old_CFLAGS"
   if test $libc_cv_c_cleanup = no; then
     { { echo "$as_me:$LINENO: error: the compiler must support C cleanup handling" >&5
diff --git a/nptl/sysdeps/unix/sysv/linux/i386/i486/sem_post.S b/nptl/sysdeps/unix/sysv/linux/i386/i486/sem_post.S
index 8f656b4e0f..ac045b6e34 100644
--- a/nptl/sysdeps/unix/sysv/linux/i386/i486/sem_post.S
+++ b/nptl/sysdeps/unix/sysv/linux/i386/i486/sem_post.S
@@ -86,7 +86,26 @@ __new_sem_post:
 	versioned_symbol(libpthread, __new_sem_post, sem_post, GLIBC_2_1)
 #if SHLIB_COMPAT(libpthread, GLIBC_2_0, GLIBC_2_1)
 	.global	__old_sem_post
-__old_sem_post = __new_sem_post
+	.type	__old_sem_post,@function
+__old_sem_post:
+	pushl	%ebx
+
+	movl	8(%esp), %ebx
+	LOCK
+	addl	$1, (%ebx)
+
+	movl	$SYS_futex, %eax
+	movl	$FUTEX_WAKE, %ecx
+	movl	$1, %edx
+	ENTER_KERNEL
+
+	testl	%eax, %eax
+	js	1b
+
+	xorl	%eax, %eax
+	popl	%ebx
+	ret
+	.size	__old_sem_post,.-__old_sem_post
 	compat_symbol(libpthread, __old_sem_post, sem_post, GLIBC_2_0)
 #endif
 
diff --git a/nss/getXXbyYY_r.c b/nss/getXXbyYY_r.c
index 080163aac9..6c90ba543d 100644
--- a/nss/getXXbyYY_r.c
+++ b/nss/getXXbyYY_r.c
@@ -1,4 +1,4 @@
-/* Copyright (C) 1996-2002, 2003, 2004, 2006 Free Software Foundation, Inc.
+/* Copyright (C) 1996-2004, 2006, 2007 Free Software Foundation, Inc.
    This file is part of the GNU C Library.
    Contributed by Ulrich Drepper <drepper@cygnus.com>, 1996.
 
@@ -22,6 +22,7 @@
 #include <errno.h>
 #include <stdbool.h>
 #include "nsswitch.h"
+#include "sysdep.h"
 #ifdef USE_NSCD
 # include <nscd/nscd_proto.h>
 #endif
@@ -120,6 +121,7 @@ int
 INTERNAL (REENTRANT_NAME) (ADD_PARAMS, LOOKUP_TYPE *resbuf, char *buffer,
 			   size_t buflen, LOOKUP_TYPE **result H_ERRNO_PARM)
 {
+  static bool startp_initialized;
   static service_user *startp;
   static lookup_function start_fct;
   service_user *nip;
@@ -167,11 +169,15 @@ INTERNAL (REENTRANT_NAME) (ADD_PARAMS, LOOKUP_TYPE *resbuf, char *buffer,
     }
 #endif
 
-  if (startp == NULL)
+  if (! startp_initialized)
     {
       no_more = DB_LOOKUP_FCT (&nip, REENTRANT_NAME_STRING, &fct.ptr);
       if (no_more)
-	startp = (service_user *) -1l;
+	{
+	  void *tmp_ptr = (service_user *) -1l;
+	  PTR_MANGLE (tmp_ptr);
+	  startp = tmp_ptr;
+	}
       else
 	{
 #ifdef NEED__RES
@@ -189,16 +195,26 @@ INTERNAL (REENTRANT_NAME) (ADD_PARAMS, LOOKUP_TYPE *resbuf, char *buffer,
 	    _res_hconf_init ();
 #endif /* need _res_hconf */
 
-	  start_fct = fct.l;
-	  /* Make sure start_fct is written before startp.  */
-	  atomic_write_barrier ();
-	  startp = nip;
+	  void *tmp_ptr = fct.l;
+	  PTR_MANGLE (tmp_ptr);
+	  start_fct = tmp_ptr;
+	  tmp_ptr = nip;
+	  PTR_MANGLE (tmp_ptr);
+	  startp = tmp_ptr;
 	}
+
+      /* Make sure start_fct and startp are written before
+	 startp_initialized.  */
+      atomic_write_barrier ();
+      startp_initialized = true;
     }
   else
     {
       fct.l = start_fct;
-      no_more = (nip = startp) == (service_user *) -1l;
+      PTR_DEMANGLE (fct.l);
+      nip = startp;
+      PTR_DEMANGLE (nip);
+      no_more = nip == (service_user *) -1l;
     }
 
   while (no_more == 0)
diff --git a/po/libc.pot b/po/libc.pot
index 9371660b22..2919793be4 100644
--- a/po/libc.pot
+++ b/po/libc.pot
@@ -5,8 +5,8 @@
 #, fuzzy
 msgid ""
 msgstr ""
-"Project-Id-Version: libc 2.5\n"
-"POT-Creation-Date: 2006-09-29 11:38-0700\n"
+"Project-Id-Version: libc 2.6.90\n"
+"POT-Creation-Date: 2007-10-15 21:18-0700\n"
 "PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n"
 "Last-Translator: FULL NAME <EMAIL@ADDRESS>\n"
 "Language-Team: LANGUAGE <LL@li.org>\n"
@@ -14,45 +14,45 @@ msgstr ""
 "Content-Type: text/plain; charset=CHARSET\n"
 "Content-Transfer-Encoding: 8bit\n"
 
-#: argp/argp-help.c:227
+#: argp/argp-help.c:228
 #, c-format
 msgid "%.*s: ARGP_HELP_FMT parameter requires a value"
 msgstr ""
 
-#: argp/argp-help.c:237
+#: argp/argp-help.c:238
 #, c-format
 msgid "%.*s: Unknown ARGP_HELP_FMT parameter"
 msgstr ""
 
-#: argp/argp-help.c:250
+#: argp/argp-help.c:251
 #, c-format
 msgid "Garbage in ARGP_HELP_FMT: %s"
 msgstr ""
 
-#: argp/argp-help.c:1214
+#: argp/argp-help.c:1215
 msgid ""
 "Mandatory or optional arguments to long options are also mandatory or "
 "optional for any corresponding short options."
 msgstr ""
 
-#: argp/argp-help.c:1600
+#: argp/argp-help.c:1601
 msgid "Usage:"
 msgstr ""
 
-#: argp/argp-help.c:1604
+#: argp/argp-help.c:1605
 msgid "  or: "
 msgstr ""
 
-#: argp/argp-help.c:1616
+#: argp/argp-help.c:1617
 msgid " [OPTION...]"
 msgstr ""
 
-#: argp/argp-help.c:1643
+#: argp/argp-help.c:1644
 #, c-format
 msgid "Try `%s --help' or `%s --usage' for more information.\n"
 msgstr ""
 
-#: argp/argp-help.c:1671
+#: argp/argp-help.c:1672
 #, c-format
 msgid "Report bugs to %s.\n"
 msgstr ""
@@ -100,49 +100,49 @@ msgstr ""
 msgid "%s%s%s:%u: %s%sAssertion `%s' failed.\n"
 msgstr ""
 
-#: catgets/gencat.c:109 catgets/gencat.c:113 nscd/nscd.c:96 nss/makedb.c:61
+#: catgets/gencat.c:110 catgets/gencat.c:114 nscd/nscd.c:97 nss/makedb.c:61
 msgid "NAME"
 msgstr ""
 
-#: catgets/gencat.c:110
+#: catgets/gencat.c:111
 msgid "Create C header file NAME containing symbol definitions"
 msgstr ""
 
-#: catgets/gencat.c:112
+#: catgets/gencat.c:113
 msgid "Do not use existing catalog, force new output file"
 msgstr ""
 
-#: catgets/gencat.c:113 nss/makedb.c:61
+#: catgets/gencat.c:114 nss/makedb.c:61
 msgid "Write output to file NAME"
 msgstr ""
 
-#: catgets/gencat.c:118
+#: catgets/gencat.c:119
 msgid ""
-"Generate message catalog.\013If INPUT-FILE is -, input is read from standard "
+"Generate message catalog.\vIf INPUT-FILE is -, input is read from standard "
 "input.  If OUTPUT-FILE\n"
 "is -, output is written to standard output.\n"
 msgstr ""
 
-#: catgets/gencat.c:123
+#: catgets/gencat.c:124
 msgid ""
 "-o OUTPUT-FILE [INPUT-FILE]...\n"
 "[OUTPUT-FILE [INPUT-FILE]...]"
 msgstr ""
 
-#: catgets/gencat.c:231 debug/pcprofiledump.c:199 iconv/iconv_prog.c:410
-#: iconv/iconvconfig.c:379 locale/programs/localedef.c:370
-#: login/programs/pt_chown.c:88 malloc/memusagestat.c:525 nss/makedb.c:231
+#: catgets/gencat.c:232 debug/pcprofiledump.c:204 iconv/iconv_prog.c:411
+#: iconv/iconvconfig.c:380 locale/programs/localedef.c:371
+#: login/programs/pt_chown.c:88 malloc/memusagestat.c:526 nss/makedb.c:231
 msgid ""
 "For bug reporting instructions, please see:\n"
 "<http://www.gnu.org/software/libc/bugs.html>.\n"
 msgstr ""
 
-#: catgets/gencat.c:245 debug/xtrace.sh:64 elf/ldconfig.c:285
-#: elf/ldd.bash.in:39 elf/sprof.c:355 iconv/iconv_prog.c:425
-#: iconv/iconvconfig.c:394 locale/programs/locale.c:274
-#: locale/programs/localedef.c:386 login/programs/pt_chown.c:59
-#: malloc/memusage.sh:71 nscd/nscd.c:401 nss/getent.c:83 nss/makedb.c:245
-#: posix/getconf.c:1007
+#: catgets/gencat.c:246 debug/xtrace.sh:64 elf/ldconfig.c:296
+#: elf/ldd.bash.in:39 elf/sprof.c:355 iconv/iconv_prog.c:426
+#: iconv/iconvconfig.c:395 locale/programs/locale.c:275
+#: locale/programs/localedef.c:387 login/programs/pt_chown.c:59
+#: malloc/memusage.sh:71 nscd/nscd.c:406 nss/getent.c:83 nss/makedb.c:245
+#: posix/getconf.c:1012
 #, c-format
 msgid ""
 "Copyright (C) %s Free Software Foundation, Inc.\n"
@@ -150,121 +150,121 @@ msgid ""
 "warranty; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.\n"
 msgstr ""
 
-#: catgets/gencat.c:250 debug/xtrace.sh:68 elf/ldconfig.c:290 elf/sprof.c:361
-#: iconv/iconv_prog.c:430 iconv/iconvconfig.c:399 locale/programs/locale.c:279
-#: locale/programs/localedef.c:391 malloc/memusage.sh:75 nscd/nscd.c:406
-#: nss/getent.c:88 nss/makedb.c:250 posix/getconf.c:1012
+#: catgets/gencat.c:251 debug/xtrace.sh:68 elf/ldconfig.c:301 elf/sprof.c:361
+#: iconv/iconv_prog.c:431 iconv/iconvconfig.c:400 locale/programs/locale.c:280
+#: locale/programs/localedef.c:392 malloc/memusage.sh:75 nscd/nscd.c:411
+#: nss/getent.c:88 nss/makedb.c:250 posix/getconf.c:1017
 #, c-format
 msgid "Written by %s.\n"
 msgstr ""
 
-#: catgets/gencat.c:281
+#: catgets/gencat.c:282
 msgid "*standard input*"
 msgstr ""
 
-#: catgets/gencat.c:287 iconv/iconv_charmap.c:157 iconv/iconv_prog.c:297
+#: catgets/gencat.c:288 iconv/iconv_charmap.c:158 iconv/iconv_prog.c:298
 #: nss/makedb.c:170
 #, c-format
 msgid "cannot open input file `%s'"
 msgstr ""
 
-#: catgets/gencat.c:416 catgets/gencat.c:493
+#: catgets/gencat.c:417 catgets/gencat.c:494
 msgid "illegal set number"
 msgstr ""
 
-#: catgets/gencat.c:443
+#: catgets/gencat.c:444
 msgid "duplicate set definition"
 msgstr ""
 
-#: catgets/gencat.c:445 catgets/gencat.c:622 catgets/gencat.c:676
+#: catgets/gencat.c:446 catgets/gencat.c:623 catgets/gencat.c:677
 msgid "this is the first definition"
 msgstr ""
 
-#: catgets/gencat.c:521
+#: catgets/gencat.c:522
 #, c-format
 msgid "unknown set `%s'"
 msgstr ""
 
-#: catgets/gencat.c:562
+#: catgets/gencat.c:563
 msgid "invalid quote character"
 msgstr ""
 
-#: catgets/gencat.c:575
+#: catgets/gencat.c:576
 #, c-format
 msgid "unknown directive `%s': line ignored"
 msgstr ""
 
-#: catgets/gencat.c:620
+#: catgets/gencat.c:621
 msgid "duplicated message number"
 msgstr ""
 
-#: catgets/gencat.c:673
+#: catgets/gencat.c:674
 msgid "duplicated message identifier"
 msgstr ""
 
-#: catgets/gencat.c:730
+#: catgets/gencat.c:731
 msgid "invalid character: message ignored"
 msgstr ""
 
-#: catgets/gencat.c:773
+#: catgets/gencat.c:774
 msgid "invalid line"
 msgstr ""
 
-#: catgets/gencat.c:827
+#: catgets/gencat.c:828
 msgid "malformed line ignored"
 msgstr ""
 
-#: catgets/gencat.c:991 catgets/gencat.c:1032 nss/makedb.c:183
+#: catgets/gencat.c:992 catgets/gencat.c:1033 nss/makedb.c:183
 #, c-format
 msgid "cannot open output file `%s'"
 msgstr ""
 
-#: catgets/gencat.c:1194 locale/programs/linereader.c:559
+#: catgets/gencat.c:1195 locale/programs/linereader.c:560
 msgid "invalid escape sequence"
 msgstr ""
 
-#: catgets/gencat.c:1216
+#: catgets/gencat.c:1217
 msgid "unterminated message"
 msgstr ""
 
-#: catgets/gencat.c:1240
+#: catgets/gencat.c:1241
 #, c-format
 msgid "while opening old catalog file"
 msgstr ""
 
-#: catgets/gencat.c:1331
+#: catgets/gencat.c:1332
 #, c-format
 msgid "conversion modules not available"
 msgstr ""
 
-#: catgets/gencat.c:1357
+#: catgets/gencat.c:1358
 #, c-format
 msgid "cannot determine escape character"
 msgstr ""
 
-#: debug/pcprofiledump.c:52
+#: debug/pcprofiledump.c:53
 msgid "Don't buffer output"
 msgstr ""
 
-#: debug/pcprofiledump.c:57
+#: debug/pcprofiledump.c:58
 msgid "Dump information generated by PC profiling."
 msgstr ""
 
-#: debug/pcprofiledump.c:60
+#: debug/pcprofiledump.c:61
 msgid "[FILE]"
 msgstr ""
 
-#: debug/pcprofiledump.c:100
+#: debug/pcprofiledump.c:104
 #, c-format
 msgid "cannot open input file"
 msgstr ""
 
-#: debug/pcprofiledump.c:106
+#: debug/pcprofiledump.c:111
 #, c-format
 msgid "cannot read header"
 msgstr ""
 
-#: debug/pcprofiledump.c:170
+#: debug/pcprofiledump.c:175
 #, c-format
 msgid "invalid pointer size"
 msgstr ""
@@ -274,11 +274,11 @@ msgid "Usage: xtrace [OPTION]... PROGRAM [PROGRAMOPTION]...\\n"
 msgstr ""
 
 #: debug/xtrace.sh:33
-msgid "Try `xtrace --help' for more information.\\n"
+msgid "Try \\`xtrace --help' for more information.\\n"
 msgstr ""
 
 #: debug/xtrace.sh:39
-msgid "xtrace: option `$1' requires an argument.\\n"
+msgid "xtrace: option \\`$1' requires an argument.\\n"
 msgstr ""
 
 #: debug/xtrace.sh:46
@@ -301,7 +301,7 @@ msgid ""
 msgstr ""
 
 #: debug/xtrace.sh:125
-msgid "xtrace: unrecognized option `$1'\\n"
+msgid "xtrace: unrecognized option \\`$1'\\n"
 msgstr ""
 
 #: debug/xtrace.sh:138
@@ -310,19 +310,19 @@ msgstr ""
 
 #: debug/xtrace.sh:146
 #, sh-format
-msgid "executable `$program' not found\\n"
+msgid "executable \\`$program' not found\\n"
 msgstr ""
 
 #: debug/xtrace.sh:150
 #, sh-format
-msgid "`$program' is no executable\\n"
+msgid "\\`$program' is no executable\\n"
 msgstr ""
 
-#: dlfcn/dlinfo.c:67
+#: dlfcn/dlinfo.c:64
 msgid "RTLD_SELF used in code not dynamically loaded"
 msgstr ""
 
-#: dlfcn/dlinfo.c:76
+#: dlfcn/dlinfo.c:73
 msgid "unsupported dlinfo request"
 msgstr ""
 
@@ -338,97 +338,91 @@ msgstr ""
 msgid "invalid mode parameter"
 msgstr ""
 
-#: elf/cache.c:67
+#: elf/cache.c:69
 msgid "unknown"
 msgstr ""
 
-#: elf/cache.c:110
+#: elf/cache.c:112
 msgid "Unknown OS"
 msgstr ""
 
-#: elf/cache.c:115
+#: elf/cache.c:117
 #, c-format
 msgid ", OS ABI: %s %d.%d.%d"
 msgstr ""
 
-#: elf/cache.c:141 elf/ldconfig.c:1231
+#: elf/cache.c:134 elf/ldconfig.c:1270
 #, c-format
 msgid "Can't open cache file %s\n"
 msgstr ""
 
-#: elf/cache.c:153
+#: elf/cache.c:148
 #, c-format
 msgid "mmap of cache file failed.\n"
 msgstr ""
 
-#: elf/cache.c:157 elf/cache.c:167
+#: elf/cache.c:152 elf/cache.c:166
 #, c-format
 msgid "File is not a cache file.\n"
 msgstr ""
 
-#: elf/cache.c:200 elf/cache.c:210
+#: elf/cache.c:199 elf/cache.c:209
 #, c-format
 msgid "%d libs found in cache `%s'\n"
 msgstr ""
 
-#: elf/cache.c:409
-#, c-format
-msgid "Can't remove old temporary cache file %s"
-msgstr ""
-
-#: elf/cache.c:416
+#: elf/cache.c:403
 #, c-format
 msgid "Can't create temporary cache file %s"
 msgstr ""
 
-#: elf/cache.c:424 elf/cache.c:434 elf/cache.c:438
+#: elf/cache.c:411 elf/cache.c:421 elf/cache.c:425 elf/cache.c:430
 #, c-format
 msgid "Writing of cache data failed"
 msgstr ""
 
-#: elf/cache.c:442
-#, c-format
-msgid "Writing of cache data failed."
-msgstr ""
-
-#: elf/cache.c:449
+#: elf/cache.c:435
 #, c-format
 msgid "Changing access rights of %s to %#o failed"
 msgstr ""
 
-#: elf/cache.c:454
+#: elf/cache.c:440
 #, c-format
 msgid "Renaming of %s to %s failed"
 msgstr ""
 
-#: elf/dl-close.c:116
+#: elf/dl-close.c:378 elf/dl-open.c:460
+msgid "cannot create scope list"
+msgstr ""
+
+#: elf/dl-close.c:724
 msgid "shared object not open"
 msgstr ""
 
-#: elf/dl-deps.c:112
+#: elf/dl-deps.c:114
 msgid "DST not allowed in SUID/SGID programs"
 msgstr ""
 
-#: elf/dl-deps.c:125
-msgid "empty dynamics string token substitution"
+#: elf/dl-deps.c:127 elf/dl-open.c:282
+msgid "empty dynamic string token substitution"
 msgstr ""
 
-#: elf/dl-deps.c:131
+#: elf/dl-deps.c:133
 #, c-format
 msgid ""
 "cannot load auxiliary `%s' because of empty dynamic string token "
 "substitution\n"
 msgstr ""
 
-#: elf/dl-deps.c:472
+#: elf/dl-deps.c:474
 msgid "cannot allocate dependency list"
 msgstr ""
 
-#: elf/dl-deps.c:505 elf/dl-deps.c:560
+#: elf/dl-deps.c:510 elf/dl-deps.c:565
 msgid "cannot allocate symbol search list"
 msgstr ""
 
-#: elf/dl-deps.c:545
+#: elf/dl-deps.c:550
 msgid "Filters not supported with LD_TRACE_PRELINKING"
 msgstr ""
 
@@ -456,225 +450,217 @@ msgstr ""
 msgid "cannot allocate name record"
 msgstr ""
 
-#: elf/dl-load.c:474 elf/dl-load.c:553 elf/dl-load.c:673 elf/dl-load.c:786
+#: elf/dl-load.c:474 elf/dl-load.c:582 elf/dl-load.c:667 elf/dl-load.c:780
 msgid "cannot create cache for search path"
 msgstr ""
 
-#: elf/dl-load.c:576
+#: elf/dl-load.c:565
 msgid "cannot create RUNPATH/RPATH copy"
 msgstr ""
 
-#: elf/dl-load.c:659
+#: elf/dl-load.c:653
 msgid "cannot create search path array"
 msgstr ""
 
-#: elf/dl-load.c:870
+#: elf/dl-load.c:864
 msgid "cannot stat shared object"
 msgstr ""
 
-#: elf/dl-load.c:940
+#: elf/dl-load.c:934
 msgid "cannot open zero fill device"
 msgstr ""
 
-#: elf/dl-load.c:985 elf/dl-load.c:2215
+#: elf/dl-load.c:979 elf/dl-load.c:2224
 msgid "cannot create shared object descriptor"
 msgstr ""
 
-#: elf/dl-load.c:1004 elf/dl-load.c:1663 elf/dl-load.c:1755
+#: elf/dl-load.c:998 elf/dl-load.c:1656 elf/dl-load.c:1748
 msgid "cannot read file data"
 msgstr ""
 
-#: elf/dl-load.c:1048
+#: elf/dl-load.c:1042
 msgid "ELF load command alignment not page-aligned"
 msgstr ""
 
-#: elf/dl-load.c:1055
+#: elf/dl-load.c:1049
 msgid "ELF load command address/offset not properly aligned"
 msgstr ""
 
-#: elf/dl-load.c:1139
+#: elf/dl-load.c:1132
 msgid "cannot allocate TLS data structures for initial thread"
 msgstr ""
 
-#: elf/dl-load.c:1163
+#: elf/dl-load.c:1155
 msgid "cannot handle TLS data"
 msgstr ""
 
-#: elf/dl-load.c:1182
+#: elf/dl-load.c:1174
 msgid "object file has no loadable segments"
 msgstr ""
 
-#: elf/dl-load.c:1218
+#: elf/dl-load.c:1210
 msgid "failed to map segment from shared object"
 msgstr ""
 
-#: elf/dl-load.c:1242
+#: elf/dl-load.c:1236
 msgid "cannot dynamically load executable"
 msgstr ""
 
-#: elf/dl-load.c:1303
+#: elf/dl-load.c:1298
 msgid "cannot change memory protections"
 msgstr ""
 
-#: elf/dl-load.c:1322
+#: elf/dl-load.c:1317
 msgid "cannot map zero-fill pages"
 msgstr ""
 
-#: elf/dl-load.c:1336
+#: elf/dl-load.c:1331
 msgid "object file has no dynamic section"
 msgstr ""
 
-#: elf/dl-load.c:1359
+#: elf/dl-load.c:1354
 msgid "shared object cannot be dlopen()ed"
 msgstr ""
 
-#: elf/dl-load.c:1372
+#: elf/dl-load.c:1367
 msgid "cannot allocate memory for program header"
 msgstr ""
 
-#: elf/dl-load.c:1389 elf/dl-open.c:174
+#: elf/dl-load.c:1384 elf/dl-open.c:218
 msgid "invalid caller"
 msgstr ""
 
-#: elf/dl-load.c:1428
+#: elf/dl-load.c:1423
 msgid "cannot enable executable stack as shared object requires"
 msgstr ""
 
-#: elf/dl-load.c:1443
+#: elf/dl-load.c:1436
 msgid "cannot close file descriptor"
 msgstr ""
 
-#: elf/dl-load.c:1485
+#: elf/dl-load.c:1478
 msgid "cannot create searchlist"
 msgstr ""
 
-#: elf/dl-load.c:1663
+#: elf/dl-load.c:1656
 msgid "file too short"
 msgstr ""
 
-#: elf/dl-load.c:1692
+#: elf/dl-load.c:1685
 msgid "invalid ELF header"
 msgstr ""
 
-#: elf/dl-load.c:1704
+#: elf/dl-load.c:1697
 msgid "ELF file data encoding not big-endian"
 msgstr ""
 
-#: elf/dl-load.c:1706
+#: elf/dl-load.c:1699
 msgid "ELF file data encoding not little-endian"
 msgstr ""
 
-#: elf/dl-load.c:1710
+#: elf/dl-load.c:1703
 msgid "ELF file version ident does not match current one"
 msgstr ""
 
-#: elf/dl-load.c:1714
+#: elf/dl-load.c:1707
 msgid "ELF file OS ABI invalid"
 msgstr ""
 
-#: elf/dl-load.c:1716
+#: elf/dl-load.c:1709
 msgid "ELF file ABI version invalid"
 msgstr ""
 
-#: elf/dl-load.c:1719
+#: elf/dl-load.c:1712
 msgid "internal error"
 msgstr ""
 
-#: elf/dl-load.c:1726
+#: elf/dl-load.c:1719
 msgid "ELF file version does not match current one"
 msgstr ""
 
-#: elf/dl-load.c:1734
+#: elf/dl-load.c:1727
 msgid "only ET_DYN and ET_EXEC can be loaded"
 msgstr ""
 
-#: elf/dl-load.c:1740
+#: elf/dl-load.c:1733
 msgid "ELF file's phentsize not the expected size"
 msgstr ""
 
-#: elf/dl-load.c:2231
+#: elf/dl-load.c:2240
 msgid "wrong ELF class: ELFCLASS64"
 msgstr ""
 
-#: elf/dl-load.c:2232
+#: elf/dl-load.c:2241
 msgid "wrong ELF class: ELFCLASS32"
 msgstr ""
 
-#: elf/dl-load.c:2235
+#: elf/dl-load.c:2244
 msgid "cannot open shared object file"
 msgstr ""
 
-#: elf/dl-lookup.c:261
+#: elf/dl-lookup.c:356
 msgid "relocation error"
 msgstr ""
 
-#: elf/dl-lookup.c:289
+#: elf/dl-lookup.c:384
 msgid "symbol lookup error"
 msgstr ""
 
-#: elf/dl-open.c:112
+#: elf/dl-open.c:114
 msgid "cannot extend global scope"
 msgstr ""
 
-#: elf/dl-open.c:237
-msgid "empty dynamic string token substitution"
-msgstr ""
-
-#: elf/dl-open.c:406 elf/dl-open.c:417 elf/dl-open.c:425
-msgid "cannot create scope list"
-msgstr ""
-
-#: elf/dl-open.c:470
+#: elf/dl-open.c:512
 msgid "TLS generation counter wrapped!  Please report this."
 msgstr ""
 
-#: elf/dl-open.c:508
+#: elf/dl-open.c:549
 msgid "invalid mode for dlopen()"
 msgstr ""
 
-#: elf/dl-open.c:525
+#: elf/dl-open.c:566
 msgid "no more namespaces available for dlmopen()"
 msgstr ""
 
-#: elf/dl-open.c:538
+#: elf/dl-open.c:579
 msgid "invalid target namespace in dlmopen()"
 msgstr ""
 
-#: elf/dl-reloc.c:55
+#: elf/dl-reloc.c:54
 msgid "cannot allocate memory in static TLS block"
 msgstr ""
 
-#: elf/dl-reloc.c:198
+#: elf/dl-reloc.c:196
 msgid "cannot make segment writable for relocation"
 msgstr ""
 
-#: elf/dl-reloc.c:279
+#: elf/dl-reloc.c:277
 #, c-format
 msgid "%s: no PLTREL found in object %s\n"
 msgstr ""
 
-#: elf/dl-reloc.c:290
+#: elf/dl-reloc.c:288
 #, c-format
 msgid "%s: out of memory to store relocation results for %s\n"
 msgstr ""
 
-#: elf/dl-reloc.c:306
+#: elf/dl-reloc.c:304
 msgid "cannot restore segment prot after reloc"
 msgstr ""
 
-#: elf/dl-reloc.c:331
+#: elf/dl-reloc.c:329
 msgid "cannot apply additional memory protection after relocation"
 msgstr ""
 
-#: elf/dl-sym.c:98
+#: elf/dl-sym.c:162
 msgid "RTLD_NEXT used in code not dynamically loaded"
 msgstr ""
 
-#: elf/dl-sysdep.c:495
+#: elf/dl-sysdep.c:469 elf/dl-sysdep.c:481
 msgid "cannot create capability list"
 msgstr ""
 
-#: elf/dl-tls.c:829
+#: elf/dl-tls.c:825
 msgid "cannot create TLS data structures"
 msgstr ""
 
@@ -682,223 +668,222 @@ msgstr ""
 msgid "cannot allocate version reference table"
 msgstr ""
 
-#: elf/ldconfig.c:133
+#: elf/ldconfig.c:138
 msgid "Print cache"
 msgstr ""
 
-#: elf/ldconfig.c:134
+#: elf/ldconfig.c:139
 msgid "Generate verbose messages"
 msgstr ""
 
-#: elf/ldconfig.c:135
+#: elf/ldconfig.c:140
 msgid "Don't build cache"
 msgstr ""
 
-#: elf/ldconfig.c:136
+#: elf/ldconfig.c:141
 msgid "Don't generate links"
 msgstr ""
 
-#: elf/ldconfig.c:137
+#: elf/ldconfig.c:142
 msgid "Change to and use ROOT as root directory"
 msgstr ""
 
-#: elf/ldconfig.c:137
+#: elf/ldconfig.c:142
 msgid "ROOT"
 msgstr ""
 
-#: elf/ldconfig.c:138
+#: elf/ldconfig.c:143
 msgid "CACHE"
 msgstr ""
 
-#: elf/ldconfig.c:138
+#: elf/ldconfig.c:143
 msgid "Use CACHE as cache file"
 msgstr ""
 
-#: elf/ldconfig.c:139
+#: elf/ldconfig.c:144
 msgid "CONF"
 msgstr ""
 
-#: elf/ldconfig.c:139
+#: elf/ldconfig.c:144
 msgid "Use CONF as configuration file"
 msgstr ""
 
-#: elf/ldconfig.c:140
+#: elf/ldconfig.c:145
 msgid ""
 "Only process directories specified on the command line.  Don't build cache."
 msgstr ""
 
-#: elf/ldconfig.c:141
+#: elf/ldconfig.c:146
 msgid "Manually link individual libraries."
 msgstr ""
 
-#: elf/ldconfig.c:142
+#: elf/ldconfig.c:147
 msgid "FORMAT"
 msgstr ""
 
-#: elf/ldconfig.c:142
+#: elf/ldconfig.c:147
 msgid "Format to use: new, old or compat (default)"
 msgstr ""
 
-#: elf/ldconfig.c:150
+#: elf/ldconfig.c:148
+msgid "Ignore auxiliary cache file"
+msgstr ""
+
+#: elf/ldconfig.c:156
 msgid "Configure Dynamic Linker Run Time Bindings."
 msgstr ""
 
-#: elf/ldconfig.c:308
+#: elf/ldconfig.c:319
 #, c-format
 msgid "Path `%s' given more than once"
 msgstr ""
 
-#: elf/ldconfig.c:348
+#: elf/ldconfig.c:359
 #, c-format
 msgid "%s is not a known library type"
 msgstr ""
 
-#: elf/ldconfig.c:373
+#: elf/ldconfig.c:384
 #, c-format
 msgid "Can't stat %s"
 msgstr ""
 
-#: elf/ldconfig.c:447
+#: elf/ldconfig.c:458
 #, c-format
 msgid "Can't stat %s\n"
 msgstr ""
 
-#: elf/ldconfig.c:457
+#: elf/ldconfig.c:468
 #, c-format
 msgid "%s is not a symbolic link\n"
 msgstr ""
 
-#: elf/ldconfig.c:476
+#: elf/ldconfig.c:487
 #, c-format
 msgid "Can't unlink %s"
 msgstr ""
 
-#: elf/ldconfig.c:482
+#: elf/ldconfig.c:493
 #, c-format
 msgid "Can't link %s to %s"
 msgstr ""
 
-#: elf/ldconfig.c:488
+#: elf/ldconfig.c:499
 msgid " (changed)\n"
 msgstr ""
 
-#: elf/ldconfig.c:490
+#: elf/ldconfig.c:501
 msgid " (SKIPPED)\n"
 msgstr ""
 
-#: elf/ldconfig.c:545
+#: elf/ldconfig.c:556
 #, c-format
 msgid "Can't find %s"
 msgstr ""
 
-#: elf/ldconfig.c:561
+#: elf/ldconfig.c:572 elf/ldconfig.c:745 elf/ldconfig.c:793 elf/ldconfig.c:827
 #, c-format
-msgid "Can't lstat %s"
+msgid "Cannot lstat %s"
 msgstr ""
 
-#: elf/ldconfig.c:568
+#: elf/ldconfig.c:579
 #, c-format
 msgid "Ignored file %s since it is not a regular file."
 msgstr ""
 
-#: elf/ldconfig.c:576
+#: elf/ldconfig.c:588
 #, c-format
 msgid "No link created since soname could not be found for %s"
 msgstr ""
 
-#: elf/ldconfig.c:667
+#: elf/ldconfig.c:671
 #, c-format
 msgid "Can't open directory %s"
 msgstr ""
 
-#: elf/ldconfig.c:735 elf/ldconfig.c:782
-#, c-format
-msgid "Cannot lstat %s"
-msgstr ""
-
-#: elf/ldconfig.c:747
+#: elf/ldconfig.c:759
 #, c-format
 msgid "Cannot stat %s"
 msgstr ""
 
-#: elf/ldconfig.c:804 elf/readlib.c:90
+#: elf/ldconfig.c:814 elf/readlib.c:91
 #, c-format
 msgid "Input file %s not found.\n"
 msgstr ""
 
-#: elf/ldconfig.c:855
+#: elf/ldconfig.c:888
 #, c-format
 msgid "libc5 library %s in wrong directory"
 msgstr ""
 
-#: elf/ldconfig.c:858
+#: elf/ldconfig.c:891
 #, c-format
 msgid "libc6 library %s in wrong directory"
 msgstr ""
 
-#: elf/ldconfig.c:861
+#: elf/ldconfig.c:894
 #, c-format
 msgid "libc4 library %s in wrong directory"
 msgstr ""
 
-#: elf/ldconfig.c:888
+#: elf/ldconfig.c:922
 #, c-format
 msgid ""
 "libraries %s and %s in directory %s have same soname but different type."
 msgstr ""
 
-#: elf/ldconfig.c:995
+#: elf/ldconfig.c:1031
 #, c-format
 msgid "Can't open configuration file %s"
 msgstr ""
 
-#: elf/ldconfig.c:1059
+#: elf/ldconfig.c:1095
 #, c-format
 msgid "%s:%u: bad syntax in hwcap line"
 msgstr ""
 
-#: elf/ldconfig.c:1065
+#: elf/ldconfig.c:1101
 #, c-format
 msgid "%s:%u: hwcap index %lu above maximum %u"
 msgstr ""
 
-#: elf/ldconfig.c:1072 elf/ldconfig.c:1080
+#: elf/ldconfig.c:1108 elf/ldconfig.c:1116
 #, c-format
 msgid "%s:%u: hwcap index %lu already defined as %s"
 msgstr ""
 
-#: elf/ldconfig.c:1083
+#: elf/ldconfig.c:1119
 #, c-format
 msgid "%s:%u: duplicate hwcap %lu %s"
 msgstr ""
 
-#: elf/ldconfig.c:1105
+#: elf/ldconfig.c:1141
 #, c-format
 msgid "need absolute file name for configuration file when using -r"
 msgstr ""
 
-#: elf/ldconfig.c:1112 locale/programs/xmalloc.c:69 malloc/obstack.c:434
-#: malloc/obstack.c:436 posix/getconf.c:980 posix/getconf.c:1158
+#: elf/ldconfig.c:1148 locale/programs/xmalloc.c:70 malloc/obstack.c:434
+#: malloc/obstack.c:436 posix/getconf.c:985 posix/getconf.c:1163
 #, c-format
 msgid "memory exhausted"
 msgstr ""
 
-#: elf/ldconfig.c:1142
+#: elf/ldconfig.c:1178
 #, c-format
 msgid "%s:%u: cannot read directory %s"
 msgstr ""
 
-#: elf/ldconfig.c:1182
+#: elf/ldconfig.c:1223
 #, c-format
 msgid "relative path `%s' used to build cache"
 msgstr ""
 
-#: elf/ldconfig.c:1210
+#: elf/ldconfig.c:1249
 #, c-format
 msgid "Can't chdir to /"
 msgstr ""
 
-#: elf/ldconfig.c:1252
+#: elf/ldconfig.c:1291
 #, c-format
 msgid "Can't open cache file directory %s\n"
 msgstr ""
@@ -921,7 +906,7 @@ msgid ""
 msgstr ""
 
 #: elf/ldd.bash.in:80
-msgid "ldd: option `$1' is ambiguous"
+msgid "ldd: option \\`$1' is ambiguous"
 msgstr ""
 
 #: elf/ldd.bash.in:87
@@ -929,7 +914,7 @@ msgid "unrecognized option"
 msgstr ""
 
 #: elf/ldd.bash.in:88 elf/ldd.bash.in:126
-msgid "Try `ldd --help' for more information."
+msgid "Try \\`ldd --help' for more information."
 msgstr ""
 
 #: elf/ldd.bash.in:125
@@ -993,27 +978,27 @@ msgstr ""
 msgid "more than one dynamic segment\n"
 msgstr ""
 
-#: elf/readlib.c:96
+#: elf/readlib.c:97
 #, c-format
 msgid "Cannot fstat file %s.\n"
 msgstr ""
 
-#: elf/readlib.c:107
+#: elf/readlib.c:108
 #, c-format
 msgid "File %s is empty, not checked."
 msgstr ""
 
-#: elf/readlib.c:113
+#: elf/readlib.c:114
 #, c-format
 msgid "File %s is too small, not checked."
 msgstr ""
 
-#: elf/readlib.c:123
+#: elf/readlib.c:124
 #, c-format
 msgid "Cannot mmap file %s.\n"
 msgstr ""
 
-#: elf/readlib.c:161
+#: elf/readlib.c:162
 #, c-format
 msgid "%s is not an ELF file - it has the wrong magic bytes at the start.\n"
 msgstr ""
@@ -1036,7 +1021,7 @@ msgstr ""
 
 #: elf/sprof.c:89
 msgid ""
-"Read and display shared object profiling data.\013For bug reporting "
+"Read and display shared object profiling data.\vFor bug reporting "
 "instructions, please see:\n"
 "<http://www.gnu.org/software/libc/bugs.html>.\n"
 msgstr ""
@@ -1135,136 +1120,136 @@ msgstr ""
 msgid "cannot allocate symbol data"
 msgstr ""
 
-#: iconv/iconv_charmap.c:175 iconv/iconv_prog.c:315
+#: iconv/iconv_charmap.c:176 iconv/iconv_prog.c:316
 #, c-format
 msgid "error while closing input `%s'"
 msgstr ""
 
-#: iconv/iconv_charmap.c:449
+#: iconv/iconv_charmap.c:450
 #, c-format
 msgid "illegal input sequence at position %Zd"
 msgstr ""
 
-#: iconv/iconv_charmap.c:468 iconv/iconv_prog.c:525
+#: iconv/iconv_charmap.c:469 iconv/iconv_prog.c:526
 #, c-format
 msgid "incomplete character or shift sequence at end of buffer"
 msgstr ""
 
-#: iconv/iconv_charmap.c:513 iconv/iconv_charmap.c:549 iconv/iconv_prog.c:568
-#: iconv/iconv_prog.c:604
+#: iconv/iconv_charmap.c:514 iconv/iconv_charmap.c:550 iconv/iconv_prog.c:569
+#: iconv/iconv_prog.c:605
 #, c-format
 msgid "error while reading the input"
 msgstr ""
 
-#: iconv/iconv_charmap.c:531 iconv/iconv_prog.c:586
+#: iconv/iconv_charmap.c:532 iconv/iconv_prog.c:587
 #, c-format
 msgid "unable to allocate buffer for input"
 msgstr ""
 
-#: iconv/iconv_prog.c:59
+#: iconv/iconv_prog.c:60
 msgid "Input/Output format specification:"
 msgstr ""
 
-#: iconv/iconv_prog.c:60
+#: iconv/iconv_prog.c:61
 msgid "encoding of original text"
 msgstr ""
 
-#: iconv/iconv_prog.c:61
+#: iconv/iconv_prog.c:62
 msgid "encoding for output"
 msgstr ""
 
-#: iconv/iconv_prog.c:62
+#: iconv/iconv_prog.c:63
 msgid "Information:"
 msgstr ""
 
-#: iconv/iconv_prog.c:63
+#: iconv/iconv_prog.c:64
 msgid "list all known coded character sets"
 msgstr ""
 
-#: iconv/iconv_prog.c:64 locale/programs/localedef.c:126
+#: iconv/iconv_prog.c:65 locale/programs/localedef.c:127
 msgid "Output control:"
 msgstr ""
 
-#: iconv/iconv_prog.c:65
+#: iconv/iconv_prog.c:66
 msgid "omit invalid characters from output"
 msgstr ""
 
-#: iconv/iconv_prog.c:66
+#: iconv/iconv_prog.c:67
 msgid "output file"
 msgstr ""
 
-#: iconv/iconv_prog.c:67
+#: iconv/iconv_prog.c:68
 msgid "suppress warnings"
 msgstr ""
 
-#: iconv/iconv_prog.c:68
+#: iconv/iconv_prog.c:69
 msgid "print progress information"
 msgstr ""
 
-#: iconv/iconv_prog.c:73
+#: iconv/iconv_prog.c:74
 msgid "Convert encoding of given files from one encoding to another."
 msgstr ""
 
-#: iconv/iconv_prog.c:77
+#: iconv/iconv_prog.c:78
 msgid "[FILE...]"
 msgstr ""
 
-#: iconv/iconv_prog.c:199
+#: iconv/iconv_prog.c:200
 #, c-format
 msgid "cannot open output file"
 msgstr ""
 
-#: iconv/iconv_prog.c:241
+#: iconv/iconv_prog.c:242
 #, c-format
 msgid "conversions from `%s' and to `%s' are not supported"
 msgstr ""
 
-#: iconv/iconv_prog.c:246
+#: iconv/iconv_prog.c:247
 #, c-format
 msgid "conversion from `%s' is not supported"
 msgstr ""
 
-#: iconv/iconv_prog.c:253
+#: iconv/iconv_prog.c:254
 #, c-format
 msgid "conversion to `%s' is not supported"
 msgstr ""
 
-#: iconv/iconv_prog.c:257
+#: iconv/iconv_prog.c:258
 #, c-format
 msgid "conversion from `%s' to `%s' is not supported"
 msgstr ""
 
-#: iconv/iconv_prog.c:267
+#: iconv/iconv_prog.c:268
 #, c-format
 msgid "failed to start conversion processing"
 msgstr ""
 
-#: iconv/iconv_prog.c:361
+#: iconv/iconv_prog.c:362
 #, c-format
 msgid "error while closing output file"
 msgstr ""
 
-#: iconv/iconv_prog.c:470 iconv/iconv_prog.c:496
+#: iconv/iconv_prog.c:471 iconv/iconv_prog.c:497
 #, c-format
 msgid "conversion stopped due to problem in writing the output"
 msgstr ""
 
-#: iconv/iconv_prog.c:521
+#: iconv/iconv_prog.c:522
 #, c-format
 msgid "illegal input sequence at position %ld"
 msgstr ""
 
-#: iconv/iconv_prog.c:529
+#: iconv/iconv_prog.c:530
 #, c-format
 msgid "internal error (illegal descriptor)"
 msgstr ""
 
-#: iconv/iconv_prog.c:532
+#: iconv/iconv_prog.c:533
 #, c-format
 msgid "unknown iconv() error %d"
 msgstr ""
 
-#: iconv/iconv_prog.c:778
+#: iconv/iconv_prog.c:779
 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"
@@ -1274,44 +1259,44 @@ msgid ""
 "  "
 msgstr ""
 
-#: iconv/iconvconfig.c:109
+#: iconv/iconvconfig.c:110
 msgid "Create fastloading iconv module configuration file."
 msgstr ""
 
-#: iconv/iconvconfig.c:113
+#: iconv/iconvconfig.c:114
 msgid "[DIR...]"
 msgstr ""
 
-#: iconv/iconvconfig.c:126
+#: iconv/iconvconfig.c:127
 msgid "Prefix used for all file accesses"
 msgstr ""
 
-#: iconv/iconvconfig.c:127
+#: iconv/iconvconfig.c:128
 msgid ""
 "Put output in FILE instead of installed location (--prefix does not apply to "
 "FILE)"
 msgstr ""
 
-#: iconv/iconvconfig.c:131
+#: iconv/iconvconfig.c:132
 msgid "Do not search standard directories, only those on the command line"
 msgstr ""
 
-#: iconv/iconvconfig.c:300
+#: iconv/iconvconfig.c:301
 #, c-format
 msgid "Directory arguments required when using --nostdlib"
 msgstr ""
 
-#: iconv/iconvconfig.c:342 locale/programs/localedef.c:290
+#: iconv/iconvconfig.c:343 locale/programs/localedef.c:291
 #, c-format
 msgid "no output file produced because warnings were issued"
 msgstr ""
 
-#: iconv/iconvconfig.c:428
+#: iconv/iconvconfig.c:429
 #, c-format
 msgid "while inserting in search tree"
 msgstr ""
 
-#: iconv/iconvconfig.c:1236
+#: iconv/iconvconfig.c:1238
 #, c-format
 msgid "cannot generate output file"
 msgstr ""
@@ -1402,1134 +1387,1134 @@ msgstr ""
 msgid "Character out of range for UTF-8"
 msgstr ""
 
-#: locale/programs/charmap-dir.c:57
+#: locale/programs/charmap-dir.c:59
 #, c-format
 msgid "cannot read character map directory `%s'"
 msgstr ""
 
-#: locale/programs/charmap.c:137
+#: locale/programs/charmap.c:138
 #, c-format
 msgid "character map file `%s' not found"
 msgstr ""
 
-#: locale/programs/charmap.c:194
+#: locale/programs/charmap.c:195
 #, c-format
 msgid "default character map file `%s' not found"
 msgstr ""
 
-#: locale/programs/charmap.c:257
+#: locale/programs/charmap.c:258
 #, c-format
 msgid ""
 "character map `%s' is not ASCII compatible, locale not ISO C compliant\n"
 msgstr ""
 
-#: locale/programs/charmap.c:336
+#: locale/programs/charmap.c:337
 #, c-format
 msgid "%s: <mb_cur_max> must be greater than <mb_cur_min>\n"
 msgstr ""
 
-#: locale/programs/charmap.c:356 locale/programs/charmap.c:373
+#: locale/programs/charmap.c:357 locale/programs/charmap.c:374
 #: locale/programs/repertoire.c:174
 #, c-format
 msgid "syntax error in prolog: %s"
 msgstr ""
 
-#: locale/programs/charmap.c:357
+#: locale/programs/charmap.c:358
 msgid "invalid definition"
 msgstr ""
 
-#: locale/programs/charmap.c:374 locale/programs/locfile.c:125
-#: locale/programs/locfile.c:152 locale/programs/repertoire.c:175
+#: locale/programs/charmap.c:375 locale/programs/locfile.c:126
+#: locale/programs/locfile.c:153 locale/programs/repertoire.c:175
 msgid "bad argument"
 msgstr ""
 
-#: locale/programs/charmap.c:402
+#: locale/programs/charmap.c:403
 #, c-format
 msgid "duplicate definition of <%s>"
 msgstr ""
 
-#: locale/programs/charmap.c:409
+#: locale/programs/charmap.c:410
 #, c-format
 msgid "value for <%s> must be 1 or greater"
 msgstr ""
 
-#: locale/programs/charmap.c:421
+#: locale/programs/charmap.c:422
 #, c-format
 msgid "value of <%s> must be greater or equal than the value of <%s>"
 msgstr ""
 
-#: locale/programs/charmap.c:444 locale/programs/repertoire.c:183
+#: locale/programs/charmap.c:445 locale/programs/repertoire.c:183
 #, c-format
 msgid "argument to <%s> must be a single character"
 msgstr ""
 
-#: locale/programs/charmap.c:470
+#: locale/programs/charmap.c:471
 msgid "character sets with locking states are not supported"
 msgstr ""
 
-#: locale/programs/charmap.c:497 locale/programs/charmap.c:551
-#: locale/programs/charmap.c:583 locale/programs/charmap.c:677
-#: locale/programs/charmap.c:732 locale/programs/charmap.c:773
-#: locale/programs/charmap.c:814
+#: locale/programs/charmap.c:498 locale/programs/charmap.c:552
+#: locale/programs/charmap.c:584 locale/programs/charmap.c:678
+#: locale/programs/charmap.c:733 locale/programs/charmap.c:774
+#: locale/programs/charmap.c:815
 #, c-format
 msgid "syntax error in %s definition: %s"
 msgstr ""
 
-#: locale/programs/charmap.c:498 locale/programs/charmap.c:678
-#: locale/programs/charmap.c:774 locale/programs/repertoire.c:230
+#: locale/programs/charmap.c:499 locale/programs/charmap.c:679
+#: locale/programs/charmap.c:775 locale/programs/repertoire.c:230
 msgid "no symbolic name given"
 msgstr ""
 
-#: locale/programs/charmap.c:552
+#: locale/programs/charmap.c:553
 msgid "invalid encoding given"
 msgstr ""
 
-#: locale/programs/charmap.c:561
+#: locale/programs/charmap.c:562
 msgid "too few bytes in character encoding"
 msgstr ""
 
-#: locale/programs/charmap.c:563
+#: locale/programs/charmap.c:564
 msgid "too many bytes in character encoding"
 msgstr ""
 
-#: locale/programs/charmap.c:585 locale/programs/charmap.c:733
-#: locale/programs/charmap.c:816 locale/programs/repertoire.c:296
+#: locale/programs/charmap.c:586 locale/programs/charmap.c:734
+#: locale/programs/charmap.c:817 locale/programs/repertoire.c:296
 msgid "no symbolic name given for end of range"
 msgstr ""
 
-#: locale/programs/charmap.c:609 locale/programs/locfile.c:818
+#: locale/programs/charmap.c:610 locale/programs/ld-address.c:600
+#: locale/programs/ld-collate.c:2767 locale/programs/ld-collate.c:3924
+#: locale/programs/ld-ctype.c:2232 locale/programs/ld-ctype.c:2984
+#: locale/programs/ld-identification.c:452
+#: locale/programs/ld-measurement.c:238 locale/programs/ld-messages.c:332
+#: locale/programs/ld-monetary.c:943 locale/programs/ld-name.c:307
+#: locale/programs/ld-numeric.c:368 locale/programs/ld-paper.c:241
+#: locale/programs/ld-telephone.c:313 locale/programs/ld-time.c:1221
 #: locale/programs/repertoire.c:313
 #, c-format
-msgid "`%1$s' definition does not end with `END %1$s'"
+msgid "%1$s: definition does not end with `END %1$s'"
 msgstr ""
 
-#: locale/programs/charmap.c:642
+#: locale/programs/charmap.c:643
 msgid "only WIDTH definitions are allowed to follow the CHARMAP definition"
 msgstr ""
 
-#: locale/programs/charmap.c:650 locale/programs/charmap.c:713
+#: locale/programs/charmap.c:651 locale/programs/charmap.c:714
 #, c-format
 msgid "value for %s must be an integer"
 msgstr ""
 
-#: locale/programs/charmap.c:841
+#: locale/programs/charmap.c:842
 #, c-format
 msgid "%s: error in state machine"
 msgstr ""
 
-#: locale/programs/charmap.c:849 locale/programs/ld-address.c:615
-#: locale/programs/ld-collate.c:2650 locale/programs/ld-collate.c:3820
-#: locale/programs/ld-ctype.c:2224 locale/programs/ld-ctype.c:2996
-#: locale/programs/ld-identification.c:467
-#: locale/programs/ld-measurement.c:253 locale/programs/ld-messages.c:347
-#: locale/programs/ld-monetary.c:956 locale/programs/ld-name.c:322
-#: locale/programs/ld-numeric.c:383 locale/programs/ld-paper.c:256
-#: locale/programs/ld-telephone.c:328 locale/programs/ld-time.c:1236
-#: locale/programs/locfile.c:825 locale/programs/repertoire.c:324
+#: locale/programs/charmap.c:850 locale/programs/ld-address.c:616
+#: locale/programs/ld-collate.c:2764 locale/programs/ld-collate.c:4115
+#: locale/programs/ld-ctype.c:2229 locale/programs/ld-ctype.c:3001
+#: locale/programs/ld-identification.c:468
+#: locale/programs/ld-measurement.c:254 locale/programs/ld-messages.c:348
+#: locale/programs/ld-monetary.c:959 locale/programs/ld-name.c:323
+#: locale/programs/ld-numeric.c:384 locale/programs/ld-paper.c:257
+#: locale/programs/ld-telephone.c:329 locale/programs/ld-time.c:1237
+#: locale/programs/locfile.c:826 locale/programs/repertoire.c:324
 #, c-format
 msgid "%s: premature end of file"
 msgstr ""
 
-#: locale/programs/charmap.c:868 locale/programs/charmap.c:879
+#: locale/programs/charmap.c:869 locale/programs/charmap.c:880
 #, c-format
 msgid "unknown character `%s'"
 msgstr ""
 
-#: locale/programs/charmap.c:887
+#: locale/programs/charmap.c:888
 #, c-format
 msgid ""
 "number of bytes for byte sequence of beginning and end of range not the "
 "same: %d vs %d"
 msgstr ""
 
-#: locale/programs/charmap.c:992 locale/programs/ld-collate.c:2933
+#: locale/programs/charmap.c:993 locale/programs/ld-collate.c:3047
 #: locale/programs/repertoire.c:419
 msgid "invalid names for character range"
 msgstr ""
 
-#: locale/programs/charmap.c:1004 locale/programs/repertoire.c:431
+#: locale/programs/charmap.c:1005 locale/programs/repertoire.c:431
 msgid "hexadecimal range format should use only capital characters"
 msgstr ""
 
-#: locale/programs/charmap.c:1022
+#: locale/programs/charmap.c:1023 locale/programs/repertoire.c:449
 #, c-format
-msgid "<%s> and <%s> are illegal names for range"
+msgid "<%s> and <%s> are invalid names for range"
 msgstr ""
 
-#: locale/programs/charmap.c:1028
-msgid "upper limit in range is not higher then lower limit"
+#: locale/programs/charmap.c:1029 locale/programs/repertoire.c:456
+msgid "upper limit in range is smaller than lower limit"
 msgstr ""
 
-#: locale/programs/charmap.c:1086
+#: locale/programs/charmap.c:1087
 msgid "resulting bytes for range not representable."
 msgstr ""
 
-#: locale/programs/ld-address.c:132 locale/programs/ld-collate.c:1532
-#: locale/programs/ld-ctype.c:419 locale/programs/ld-identification.c:132
-#: locale/programs/ld-measurement.c:93 locale/programs/ld-messages.c:96
-#: locale/programs/ld-monetary.c:192 locale/programs/ld-name.c:93
-#: locale/programs/ld-numeric.c:97 locale/programs/ld-paper.c:90
-#: locale/programs/ld-telephone.c:93 locale/programs/ld-time.c:158
+#: locale/programs/ld-address.c:133 locale/programs/ld-collate.c:1556
+#: locale/programs/ld-ctype.c:420 locale/programs/ld-identification.c:133
+#: locale/programs/ld-measurement.c:94 locale/programs/ld-messages.c:97
+#: locale/programs/ld-monetary.c:194 locale/programs/ld-name.c:94
+#: locale/programs/ld-numeric.c:98 locale/programs/ld-paper.c:91
+#: locale/programs/ld-telephone.c:94 locale/programs/ld-time.c:159
 #, c-format
 msgid "No definition for %s category found"
 msgstr ""
 
-#: locale/programs/ld-address.c:143 locale/programs/ld-address.c:181
-#: locale/programs/ld-address.c:199 locale/programs/ld-address.c:228
-#: locale/programs/ld-address.c:300 locale/programs/ld-address.c:319
-#: locale/programs/ld-address.c:332 locale/programs/ld-identification.c:145
-#: locale/programs/ld-measurement.c:104 locale/programs/ld-monetary.c:204
-#: locale/programs/ld-monetary.c:248 locale/programs/ld-monetary.c:264
-#: locale/programs/ld-monetary.c:276 locale/programs/ld-name.c:104
-#: locale/programs/ld-name.c:141 locale/programs/ld-numeric.c:111
-#: locale/programs/ld-numeric.c:125 locale/programs/ld-paper.c:101
-#: locale/programs/ld-paper.c:110 locale/programs/ld-telephone.c:104
-#: locale/programs/ld-telephone.c:161 locale/programs/ld-time.c:174
-#: locale/programs/ld-time.c:195
+#: locale/programs/ld-address.c:144 locale/programs/ld-address.c:182
+#: locale/programs/ld-address.c:200 locale/programs/ld-address.c:229
+#: locale/programs/ld-address.c:301 locale/programs/ld-address.c:320
+#: locale/programs/ld-address.c:333 locale/programs/ld-identification.c:146
+#: locale/programs/ld-measurement.c:105 locale/programs/ld-monetary.c:206
+#: locale/programs/ld-monetary.c:250 locale/programs/ld-monetary.c:266
+#: locale/programs/ld-monetary.c:278 locale/programs/ld-name.c:105
+#: locale/programs/ld-name.c:142 locale/programs/ld-numeric.c:112
+#: locale/programs/ld-numeric.c:126 locale/programs/ld-paper.c:102
+#: locale/programs/ld-paper.c:111 locale/programs/ld-telephone.c:105
+#: locale/programs/ld-telephone.c:162 locale/programs/ld-time.c:175
+#: locale/programs/ld-time.c:196
 #, c-format
 msgid "%s: field `%s' not defined"
 msgstr ""
 
-#: locale/programs/ld-address.c:155 locale/programs/ld-address.c:207
-#: locale/programs/ld-address.c:237 locale/programs/ld-address.c:275
-#: locale/programs/ld-name.c:116 locale/programs/ld-telephone.c:116
+#: locale/programs/ld-address.c:156 locale/programs/ld-address.c:208
+#: locale/programs/ld-address.c:238 locale/programs/ld-address.c:276
+#: locale/programs/ld-name.c:117 locale/programs/ld-telephone.c:117
 #, c-format
 msgid "%s: field `%s' must not be empty"
 msgstr ""
 
-#: locale/programs/ld-address.c:167
+#: locale/programs/ld-address.c:168
 #, c-format
 msgid "%s: invalid escape `%%%c' sequence in field `%s'"
 msgstr ""
 
-#: locale/programs/ld-address.c:218
+#: locale/programs/ld-address.c:219
 #, c-format
 msgid "%s: terminology language code `%s' not defined"
 msgstr ""
 
-#: locale/programs/ld-address.c:243
+#: locale/programs/ld-address.c:244
 #, c-format
 msgid "%s: field `%s' must not be defined"
 msgstr ""
 
-#: locale/programs/ld-address.c:257 locale/programs/ld-address.c:286
+#: locale/programs/ld-address.c:258 locale/programs/ld-address.c:287
 #, c-format
 msgid "%s: language abbreviation `%s' not defined"
 msgstr ""
 
-#: locale/programs/ld-address.c:264 locale/programs/ld-address.c:292
-#: locale/programs/ld-address.c:326 locale/programs/ld-address.c:338
+#: locale/programs/ld-address.c:265 locale/programs/ld-address.c:293
+#: locale/programs/ld-address.c:327 locale/programs/ld-address.c:339
 #, c-format
 msgid "%s: `%s' value does not match `%s' value"
 msgstr ""
 
-#: locale/programs/ld-address.c:311
+#: locale/programs/ld-address.c:312
 #, c-format
 msgid "%s: numeric country code `%d' not valid"
 msgstr ""
 
-#: locale/programs/ld-address.c:507 locale/programs/ld-address.c:544
-#: locale/programs/ld-address.c:582 locale/programs/ld-ctype.c:2603
-#: locale/programs/ld-identification.c:363
-#: locale/programs/ld-measurement.c:220 locale/programs/ld-messages.c:300
-#: locale/programs/ld-monetary.c:698 locale/programs/ld-monetary.c:733
-#: locale/programs/ld-monetary.c:774 locale/programs/ld-name.c:279
-#: locale/programs/ld-numeric.c:262 locale/programs/ld-paper.c:223
-#: locale/programs/ld-telephone.c:287 locale/programs/ld-time.c:1125
-#: locale/programs/ld-time.c:1167
+#: locale/programs/ld-address.c:508 locale/programs/ld-address.c:545
+#: locale/programs/ld-address.c:583 locale/programs/ld-ctype.c:2608
+#: locale/programs/ld-identification.c:364
+#: locale/programs/ld-measurement.c:221 locale/programs/ld-messages.c:301
+#: locale/programs/ld-monetary.c:701 locale/programs/ld-monetary.c:736
+#: locale/programs/ld-monetary.c:777 locale/programs/ld-name.c:280
+#: locale/programs/ld-numeric.c:263 locale/programs/ld-paper.c:224
+#: locale/programs/ld-telephone.c:288 locale/programs/ld-time.c:1126
+#: locale/programs/ld-time.c:1168
 #, c-format
 msgid "%s: field `%s' declared more than once"
 msgstr ""
 
-#: locale/programs/ld-address.c:511 locale/programs/ld-address.c:549
-#: locale/programs/ld-identification.c:367 locale/programs/ld-messages.c:310
-#: locale/programs/ld-monetary.c:702 locale/programs/ld-monetary.c:737
-#: locale/programs/ld-name.c:283 locale/programs/ld-numeric.c:266
-#: locale/programs/ld-telephone.c:291 locale/programs/ld-time.c:1019
-#: locale/programs/ld-time.c:1088 locale/programs/ld-time.c:1130
+#: locale/programs/ld-address.c:512 locale/programs/ld-address.c:550
+#: locale/programs/ld-identification.c:368 locale/programs/ld-messages.c:311
+#: locale/programs/ld-monetary.c:705 locale/programs/ld-monetary.c:740
+#: locale/programs/ld-name.c:284 locale/programs/ld-numeric.c:267
+#: locale/programs/ld-telephone.c:292 locale/programs/ld-time.c:1020
+#: locale/programs/ld-time.c:1089 locale/programs/ld-time.c:1131
 #, c-format
 msgid "%s: unknown character in field `%s'"
 msgstr ""
 
-#: locale/programs/ld-address.c:596 locale/programs/ld-collate.c:3802
-#: locale/programs/ld-ctype.c:2976 locale/programs/ld-identification.c:448
-#: locale/programs/ld-measurement.c:234 locale/programs/ld-messages.c:329
-#: locale/programs/ld-monetary.c:938 locale/programs/ld-name.c:304
-#: locale/programs/ld-numeric.c:365 locale/programs/ld-paper.c:238
-#: locale/programs/ld-telephone.c:310 locale/programs/ld-time.c:1218
+#: locale/programs/ld-address.c:597 locale/programs/ld-collate.c:3922
+#: locale/programs/ld-ctype.c:2981 locale/programs/ld-identification.c:449
+#: locale/programs/ld-measurement.c:235 locale/programs/ld-messages.c:330
+#: locale/programs/ld-monetary.c:941 locale/programs/ld-name.c:305
+#: locale/programs/ld-numeric.c:366 locale/programs/ld-paper.c:239
+#: locale/programs/ld-telephone.c:311 locale/programs/ld-time.c:1219
 #, c-format
 msgid "%s: incomplete `END' line"
 msgstr ""
 
-#: locale/programs/ld-address.c:599 locale/programs/ld-collate.c:2653
-#: locale/programs/ld-collate.c:3804 locale/programs/ld-ctype.c:2227
-#: locale/programs/ld-ctype.c:2979 locale/programs/ld-identification.c:451
-#: locale/programs/ld-measurement.c:237 locale/programs/ld-messages.c:331
-#: locale/programs/ld-monetary.c:940 locale/programs/ld-name.c:306
-#: locale/programs/ld-numeric.c:367 locale/programs/ld-paper.c:240
-#: locale/programs/ld-telephone.c:312 locale/programs/ld-time.c:1220
-#, c-format
-msgid "%1$s: definition does not end with `END %1$s'"
-msgstr ""
-
-#: locale/programs/ld-address.c:606 locale/programs/ld-collate.c:521
-#: locale/programs/ld-collate.c:573 locale/programs/ld-collate.c:869
-#: locale/programs/ld-collate.c:882 locale/programs/ld-collate.c:2640
-#: locale/programs/ld-collate.c:3811 locale/programs/ld-ctype.c:1955
-#: locale/programs/ld-ctype.c:2214 locale/programs/ld-ctype.c:2801
-#: locale/programs/ld-ctype.c:2987 locale/programs/ld-identification.c:458
-#: locale/programs/ld-measurement.c:244 locale/programs/ld-messages.c:338
-#: locale/programs/ld-monetary.c:947 locale/programs/ld-name.c:313
-#: locale/programs/ld-numeric.c:374 locale/programs/ld-paper.c:247
-#: locale/programs/ld-telephone.c:319 locale/programs/ld-time.c:1227
+#: locale/programs/ld-address.c:607 locale/programs/ld-collate.c:542
+#: locale/programs/ld-collate.c:594 locale/programs/ld-collate.c:890
+#: locale/programs/ld-collate.c:903 locale/programs/ld-collate.c:2733
+#: locale/programs/ld-collate.c:2754 locale/programs/ld-collate.c:4105
+#: locale/programs/ld-ctype.c:1960 locale/programs/ld-ctype.c:2219
+#: locale/programs/ld-ctype.c:2806 locale/programs/ld-ctype.c:2992
+#: locale/programs/ld-identification.c:459
+#: locale/programs/ld-measurement.c:245 locale/programs/ld-messages.c:339
+#: locale/programs/ld-monetary.c:950 locale/programs/ld-name.c:314
+#: locale/programs/ld-numeric.c:375 locale/programs/ld-paper.c:248
+#: locale/programs/ld-telephone.c:320 locale/programs/ld-time.c:1228
 #, c-format
 msgid "%s: syntax error"
 msgstr ""
 
-#: locale/programs/ld-collate.c:396
+#: locale/programs/ld-collate.c:417
 #, c-format
 msgid "`%.*s' already defined in charmap"
 msgstr ""
 
-#: locale/programs/ld-collate.c:405
+#: locale/programs/ld-collate.c:426
 #, c-format
 msgid "`%.*s' already defined in repertoire"
 msgstr ""
 
-#: locale/programs/ld-collate.c:412
+#: locale/programs/ld-collate.c:433
 #, c-format
 msgid "`%.*s' already defined as collating symbol"
 msgstr ""
 
-#: locale/programs/ld-collate.c:419
+#: locale/programs/ld-collate.c:440
 #, c-format
 msgid "`%.*s' already defined as collating element"
 msgstr ""
 
-#: locale/programs/ld-collate.c:450 locale/programs/ld-collate.c:476
+#: locale/programs/ld-collate.c:471 locale/programs/ld-collate.c:497
 #, c-format
 msgid "%s: `forward' and `backward' are mutually excluding each other"
 msgstr ""
 
-#: locale/programs/ld-collate.c:460 locale/programs/ld-collate.c:486
-#: locale/programs/ld-collate.c:502
+#: locale/programs/ld-collate.c:481 locale/programs/ld-collate.c:507
+#: locale/programs/ld-collate.c:523
 #, c-format
 msgid "%s: `%s' mentioned more than once in definition of weight %d"
 msgstr ""
 
-#: locale/programs/ld-collate.c:558
+#: locale/programs/ld-collate.c:579
 #, c-format
 msgid "%s: too many rules; first entry only had %d"
 msgstr ""
 
-#: locale/programs/ld-collate.c:594
+#: locale/programs/ld-collate.c:615
 #, c-format
 msgid "%s: not enough sorting rules"
 msgstr ""
 
-#: locale/programs/ld-collate.c:759
+#: locale/programs/ld-collate.c:780
 #, c-format
 msgid "%s: empty weight string not allowed"
 msgstr ""
 
-#: locale/programs/ld-collate.c:854
+#: locale/programs/ld-collate.c:875
 #, c-format
 msgid "%s: weights must use the same ellipsis symbol as the name"
 msgstr ""
 
-#: locale/programs/ld-collate.c:910
+#: locale/programs/ld-collate.c:931
 #, c-format
 msgid "%s: too many values"
 msgstr ""
 
-#: locale/programs/ld-collate.c:1029 locale/programs/ld-collate.c:1204
+#: locale/programs/ld-collate.c:1051 locale/programs/ld-collate.c:1226
 #, c-format
 msgid "order for `%.*s' already defined at %s:%Zu"
 msgstr ""
 
-#: locale/programs/ld-collate.c:1079
+#: locale/programs/ld-collate.c:1101
 #, c-format
 msgid "%s: the start and the end symbol of a range must stand for characters"
 msgstr ""
 
-#: locale/programs/ld-collate.c:1106
+#: locale/programs/ld-collate.c:1128
 #, c-format
 msgid ""
 "%s: byte sequences of first and last character must have the same length"
 msgstr ""
 
-#: locale/programs/ld-collate.c:1148
+#: locale/programs/ld-collate.c:1170
 #, c-format
 msgid ""
-"%s: byte sequence of first character of sequence is not lower than that of "
-"the last character"
+"%s: byte sequence of first character of range is not lower than that of the "
+"last character"
 msgstr ""
 
-#: locale/programs/ld-collate.c:1273
+#: locale/programs/ld-collate.c:1295
 #, c-format
 msgid "%s: symbolic range ellipsis must not directly follow `order_start'"
 msgstr ""
 
-#: locale/programs/ld-collate.c:1277
+#: locale/programs/ld-collate.c:1299
 #, c-format
 msgid ""
 "%s: symbolic range ellipsis must not be directly followed by `order_end'"
 msgstr ""
 
-#: locale/programs/ld-collate.c:1297 locale/programs/ld-ctype.c:1475
+#: locale/programs/ld-collate.c:1319 locale/programs/ld-ctype.c:1477
 #, c-format
 msgid "`%s' and `%.*s' are not valid names for symbolic range"
 msgstr ""
 
-#: locale/programs/ld-collate.c:1346 locale/programs/ld-collate.c:3739
+#: locale/programs/ld-collate.c:1369 locale/programs/ld-collate.c:3858
 #, c-format
 msgid "%s: order for `%.*s' already defined at %s:%Zu"
 msgstr ""
 
-#: locale/programs/ld-collate.c:1355
+#: locale/programs/ld-collate.c:1378
 #, c-format
 msgid "%s: `%s' must be a character"
 msgstr ""
 
-#: locale/programs/ld-collate.c:1548
+#: locale/programs/ld-collate.c:1573
 #, c-format
 msgid ""
 "%s: `position' must be used for a specific level in all sections or none"
 msgstr ""
 
-#: locale/programs/ld-collate.c:1573
+#: locale/programs/ld-collate.c:1598
 #, c-format
 msgid "symbol `%s' not defined"
 msgstr ""
 
-#: locale/programs/ld-collate.c:1649 locale/programs/ld-collate.c:1755
+#: locale/programs/ld-collate.c:1674 locale/programs/ld-collate.c:1780
 #, c-format
 msgid "symbol `%s' has the same encoding as"
 msgstr ""
 
-#: locale/programs/ld-collate.c:1653 locale/programs/ld-collate.c:1759
+#: locale/programs/ld-collate.c:1678 locale/programs/ld-collate.c:1784
 #, c-format
 msgid "symbol `%s'"
 msgstr ""
 
-#: locale/programs/ld-collate.c:1801
+#: locale/programs/ld-collate.c:1826
 #, c-format
 msgid "no definition of `UNDEFINED'"
 msgstr ""
 
-#: locale/programs/ld-collate.c:1830
+#: locale/programs/ld-collate.c:1855
 #, c-format
 msgid "too many errors; giving up"
 msgstr ""
 
-#: locale/programs/ld-collate.c:2738
+#: locale/programs/ld-collate.c:2659 locale/programs/ld-collate.c:4044
+#, c-format
+msgid "%s: nested conditionals not supported"
+msgstr ""
+
+#: locale/programs/ld-collate.c:2677
+#, c-format
+msgid "%s: more then one 'else'"
+msgstr ""
+
+#: locale/programs/ld-collate.c:2852
 #, c-format
 msgid "%s: duplicate definition of `%s'"
 msgstr ""
 
-#: locale/programs/ld-collate.c:2774
+#: locale/programs/ld-collate.c:2888
 #, c-format
 msgid "%s: duplicate declaration of section `%s'"
 msgstr ""
 
-#: locale/programs/ld-collate.c:2913
+#: locale/programs/ld-collate.c:3027
 #, c-format
 msgid "%s: unknown character in collating symbol name"
 msgstr ""
 
-#: locale/programs/ld-collate.c:3045
+#: locale/programs/ld-collate.c:3159
 #, c-format
 msgid "%s: unknown character in equivalent definition name"
 msgstr ""
 
-#: locale/programs/ld-collate.c:3058
+#: locale/programs/ld-collate.c:3172
 #, c-format
 msgid "%s: unknown character in equivalent definition value"
 msgstr ""
 
-#: locale/programs/ld-collate.c:3068
+#: locale/programs/ld-collate.c:3182
 #, c-format
 msgid "%s: unknown symbol `%s' in equivalent definition"
 msgstr ""
 
-#: locale/programs/ld-collate.c:3077
+#: locale/programs/ld-collate.c:3191
 msgid "error while adding equivalent collating symbol"
 msgstr ""
 
-#: locale/programs/ld-collate.c:3107
+#: locale/programs/ld-collate.c:3221
 #, c-format
 msgid "duplicate definition of script `%s'"
 msgstr ""
 
-#: locale/programs/ld-collate.c:3155
+#: locale/programs/ld-collate.c:3269
 #, c-format
-msgid "%s: unknown section name `%s'"
+msgid "%s: unknown section name `%.*s'"
 msgstr ""
 
-#: locale/programs/ld-collate.c:3183
+#: locale/programs/ld-collate.c:3298
 #, c-format
 msgid "%s: multiple order definitions for section `%s'"
 msgstr ""
 
-#: locale/programs/ld-collate.c:3208
+#: locale/programs/ld-collate.c:3326
 #, c-format
 msgid "%s: invalid number of sorting rules"
 msgstr ""
 
-#: locale/programs/ld-collate.c:3235
+#: locale/programs/ld-collate.c:3353
 #, c-format
 msgid "%s: multiple order definitions for unnamed section"
 msgstr ""
 
-#: locale/programs/ld-collate.c:3289 locale/programs/ld-collate.c:3417
-#: locale/programs/ld-collate.c:3780
+#: locale/programs/ld-collate.c:3407 locale/programs/ld-collate.c:3537
+#: locale/programs/ld-collate.c:3900
 #, c-format
 msgid "%s: missing `order_end' keyword"
 msgstr ""
 
-#: locale/programs/ld-collate.c:3350
+#: locale/programs/ld-collate.c:3470
 #, c-format
 msgid "%s: order for collating symbol %.*s not yet defined"
 msgstr ""
 
-#: locale/programs/ld-collate.c:3368
+#: locale/programs/ld-collate.c:3488
 #, c-format
 msgid "%s: order for collating element %.*s not yet defined"
 msgstr ""
 
-#: locale/programs/ld-collate.c:3379
+#: locale/programs/ld-collate.c:3499
 #, c-format
 msgid "%s: cannot reorder after %.*s: symbol not known"
 msgstr ""
 
-#: locale/programs/ld-collate.c:3431 locale/programs/ld-collate.c:3792
+#: locale/programs/ld-collate.c:3551 locale/programs/ld-collate.c:3912
 #, c-format
 msgid "%s: missing `reorder-end' keyword"
 msgstr ""
 
-#: locale/programs/ld-collate.c:3465 locale/programs/ld-collate.c:3664
+#: locale/programs/ld-collate.c:3585 locale/programs/ld-collate.c:3783
 #, c-format
 msgid "%s: section `%.*s' not known"
 msgstr ""
 
-#: locale/programs/ld-collate.c:3530
+#: locale/programs/ld-collate.c:3650
 #, c-format
 msgid "%s: bad symbol <%.*s>"
 msgstr ""
 
-#: locale/programs/ld-collate.c:3727
+#: locale/programs/ld-collate.c:3846
 #, c-format
 msgid "%s: cannot have `%s' as end of ellipsis range"
 msgstr ""
 
-#: locale/programs/ld-collate.c:3776
+#: locale/programs/ld-collate.c:3896
 #, c-format
 msgid "%s: empty category description not allowed"
 msgstr ""
 
-#: locale/programs/ld-collate.c:3795
+#: locale/programs/ld-collate.c:3915
 #, c-format
 msgid "%s: missing `reorder-sections-end' keyword"
 msgstr ""
 
-#: locale/programs/ld-ctype.c:438
+#: locale/programs/ld-collate.c:4077
+#, c-format
+msgid "%s: '%s' without matching 'ifdef' or 'ifndef'"
+msgstr ""
+
+#: locale/programs/ld-collate.c:4095
+#, c-format
+msgid "%s: 'endif' without matching 'ifdef' or 'ifndef'"
+msgstr ""
+
+#: locale/programs/ld-ctype.c:439
 #, c-format
 msgid "No character set name specified in charmap"
 msgstr ""
 
-#: locale/programs/ld-ctype.c:467
+#: locale/programs/ld-ctype.c:468
 #, c-format
 msgid "character L'\\u%0*x' in class `%s' must be in class `%s'"
 msgstr ""
 
-#: locale/programs/ld-ctype.c:482
+#: locale/programs/ld-ctype.c:483
 #, c-format
 msgid "character L'\\u%0*x' in class `%s' must not be in class `%s'"
 msgstr ""
 
-#: locale/programs/ld-ctype.c:496 locale/programs/ld-ctype.c:554
+#: locale/programs/ld-ctype.c:497 locale/programs/ld-ctype.c:555
 #, c-format
 msgid "internal error in %s, line %u"
 msgstr ""
 
-#: locale/programs/ld-ctype.c:525
+#: locale/programs/ld-ctype.c:526
 #, c-format
 msgid "character '%s' in class `%s' must be in class `%s'"
 msgstr ""
 
-#: locale/programs/ld-ctype.c:541
+#: locale/programs/ld-ctype.c:542
 #, c-format
 msgid "character '%s' in class `%s' must not be in class `%s'"
 msgstr ""
 
-#: locale/programs/ld-ctype.c:571 locale/programs/ld-ctype.c:609
+#: locale/programs/ld-ctype.c:572 locale/programs/ld-ctype.c:610
 #, c-format
 msgid "<SP> character not in class `%s'"
 msgstr ""
 
-#: locale/programs/ld-ctype.c:583 locale/programs/ld-ctype.c:620
+#: locale/programs/ld-ctype.c:584 locale/programs/ld-ctype.c:621
 #, c-format
 msgid "<SP> character must not be in class `%s'"
 msgstr ""
 
-#: locale/programs/ld-ctype.c:598
+#: locale/programs/ld-ctype.c:599
 #, c-format
 msgid "character <SP> not defined in character map"
 msgstr ""
 
-#: locale/programs/ld-ctype.c:712
+#: locale/programs/ld-ctype.c:714
 #, c-format
 msgid "`digit' category has not entries in groups of ten"
 msgstr ""
 
-#: locale/programs/ld-ctype.c:761
+#: locale/programs/ld-ctype.c:763
 #, c-format
 msgid "no input digits defined and none of the standard names in the charmap"
 msgstr ""
 
-#: locale/programs/ld-ctype.c:826
+#: locale/programs/ld-ctype.c:828
 #, c-format
 msgid "not all characters used in `outdigit' are available in the charmap"
 msgstr ""
 
-#: locale/programs/ld-ctype.c:843
+#: locale/programs/ld-ctype.c:845
 #, c-format
 msgid "not all characters used in `outdigit' are available in the repertoire"
 msgstr ""
 
-#: locale/programs/ld-ctype.c:1243
+#: locale/programs/ld-ctype.c:1245
 #, c-format
 msgid "character class `%s' already defined"
 msgstr ""
 
-#: locale/programs/ld-ctype.c:1249
+#: locale/programs/ld-ctype.c:1251
 #, c-format
 msgid "implementation limit: no more than %Zd character classes allowed"
 msgstr ""
 
-#: locale/programs/ld-ctype.c:1275
+#: locale/programs/ld-ctype.c:1277
 #, c-format
 msgid "character map `%s' already defined"
 msgstr ""
 
-#: locale/programs/ld-ctype.c:1281
+#: locale/programs/ld-ctype.c:1283
 #, c-format
 msgid "implementation limit: no more than %d character maps allowed"
 msgstr ""
 
-#: locale/programs/ld-ctype.c:1546 locale/programs/ld-ctype.c:1671
-#: locale/programs/ld-ctype.c:1777 locale/programs/ld-ctype.c:2466
-#: locale/programs/ld-ctype.c:3462
+#: locale/programs/ld-ctype.c:1548 locale/programs/ld-ctype.c:1673
+#: locale/programs/ld-ctype.c:1779 locale/programs/ld-ctype.c:2471
+#: locale/programs/ld-ctype.c:3467
 #, c-format
 msgid "%s: field `%s' does not contain exactly ten entries"
 msgstr ""
 
-#: locale/programs/ld-ctype.c:1574 locale/programs/ld-ctype.c:2145
+#: locale/programs/ld-ctype.c:1576 locale/programs/ld-ctype.c:2150
 #, c-format
 msgid "to-value <U%0*X> of range is smaller than from-value <U%0*X>"
 msgstr ""
 
-#: locale/programs/ld-ctype.c:1701
+#: locale/programs/ld-ctype.c:1703
 msgid "start and end character sequence of range must have the same length"
 msgstr ""
 
-#: locale/programs/ld-ctype.c:1708
+#: locale/programs/ld-ctype.c:1710
 msgid "to-value character sequence is smaller than from-value sequence"
 msgstr ""
 
-#: locale/programs/ld-ctype.c:2065 locale/programs/ld-ctype.c:2116
+#: locale/programs/ld-ctype.c:2070 locale/programs/ld-ctype.c:2121
 msgid "premature end of `translit_ignore' definition"
 msgstr ""
 
-#: locale/programs/ld-ctype.c:2071 locale/programs/ld-ctype.c:2122
-#: locale/programs/ld-ctype.c:2164
+#: locale/programs/ld-ctype.c:2076 locale/programs/ld-ctype.c:2127
+#: locale/programs/ld-ctype.c:2169
 msgid "syntax error"
 msgstr ""
 
-#: locale/programs/ld-ctype.c:2298
+#: locale/programs/ld-ctype.c:2303
 #, c-format
 msgid "%s: syntax error in definition of new character class"
 msgstr ""
 
-#: locale/programs/ld-ctype.c:2313
+#: locale/programs/ld-ctype.c:2318
 #, c-format
 msgid "%s: syntax error in definition of new character map"
 msgstr ""
 
-#: locale/programs/ld-ctype.c:2488
+#: locale/programs/ld-ctype.c:2493
 msgid "ellipsis range must be marked by two operands of same type"
 msgstr ""
 
-#: locale/programs/ld-ctype.c:2497
+#: locale/programs/ld-ctype.c:2502
 msgid ""
 "with symbolic name range values the absolute ellipsis `...' must not be used"
 msgstr ""
 
-#: locale/programs/ld-ctype.c:2512
+#: locale/programs/ld-ctype.c:2517
 msgid ""
 "with UCS range values one must use the hexadecimal symbolic ellipsis `..'"
 msgstr ""
 
-#: locale/programs/ld-ctype.c:2526
+#: locale/programs/ld-ctype.c:2531
 msgid ""
 "with character code range values one must use the absolute ellipsis `...'"
 msgstr ""
 
-#: locale/programs/ld-ctype.c:2677
+#: locale/programs/ld-ctype.c:2682
 #, c-format
 msgid "duplicated definition for mapping `%s'"
 msgstr ""
 
-#: locale/programs/ld-ctype.c:2763 locale/programs/ld-ctype.c:2907
+#: locale/programs/ld-ctype.c:2768 locale/programs/ld-ctype.c:2912
 #, c-format
 msgid "%s: `translit_start' section does not end with `translit_end'"
 msgstr ""
 
-#: locale/programs/ld-ctype.c:2858
+#: locale/programs/ld-ctype.c:2863
 #, c-format
 msgid "%s: duplicate `default_missing' definition"
 msgstr ""
 
-#: locale/programs/ld-ctype.c:2863
+#: locale/programs/ld-ctype.c:2868
 msgid "previous definition was here"
 msgstr ""
 
-#: locale/programs/ld-ctype.c:2885
+#: locale/programs/ld-ctype.c:2890
 #, c-format
 msgid "%s: no representable `default_missing' definition found"
 msgstr ""
 
-#: locale/programs/ld-ctype.c:3038
-#, c-format
-msgid "%s: character `%s' not defined in charmap while needed as default value"
-msgstr ""
-
 #: locale/programs/ld-ctype.c:3043 locale/programs/ld-ctype.c:3127
 #: locale/programs/ld-ctype.c:3147 locale/programs/ld-ctype.c:3168
 #: locale/programs/ld-ctype.c:3189 locale/programs/ld-ctype.c:3210
 #: locale/programs/ld-ctype.c:3231 locale/programs/ld-ctype.c:3271
 #: locale/programs/ld-ctype.c:3292 locale/programs/ld-ctype.c:3359
-#, c-format
-msgid "%s: character `%s' in charmap not representable with one byte"
-msgstr ""
-
-#: locale/programs/ld-ctype.c:3122 locale/programs/ld-ctype.c:3142
-#: locale/programs/ld-ctype.c:3184 locale/programs/ld-ctype.c:3205
-#: locale/programs/ld-ctype.c:3226 locale/programs/ld-ctype.c:3266
-#: locale/programs/ld-ctype.c:3287 locale/programs/ld-ctype.c:3354
-#: locale/programs/ld-ctype.c:3396 locale/programs/ld-ctype.c:3421
+#: locale/programs/ld-ctype.c:3401 locale/programs/ld-ctype.c:3426
 #, c-format
 msgid "%s: character `%s' not defined while needed as default value"
 msgstr ""
 
-#: locale/programs/ld-ctype.c:3163
+#: locale/programs/ld-ctype.c:3048 locale/programs/ld-ctype.c:3132
+#: locale/programs/ld-ctype.c:3152 locale/programs/ld-ctype.c:3173
+#: locale/programs/ld-ctype.c:3194 locale/programs/ld-ctype.c:3215
+#: locale/programs/ld-ctype.c:3236 locale/programs/ld-ctype.c:3276
+#: locale/programs/ld-ctype.c:3297 locale/programs/ld-ctype.c:3364
 #, c-format
-msgid "character `%s' not defined while needed as default value"
+msgid "%s: character `%s' in charmap not representable with one byte"
 msgstr ""
 
-#: locale/programs/ld-ctype.c:3403 locale/programs/ld-ctype.c:3428
+#: locale/programs/ld-ctype.c:3408 locale/programs/ld-ctype.c:3433
 #, c-format
 msgid ""
 "%s: character `%s' needed as default value not representable with one byte"
 msgstr ""
 
-#: locale/programs/ld-ctype.c:3483
+#: locale/programs/ld-ctype.c:3489
 #, c-format
 msgid "no output digits defined and none of the standard names in the charmap"
 msgstr ""
 
-#: locale/programs/ld-ctype.c:3774
+#: locale/programs/ld-ctype.c:3780
 #, c-format
 msgid "%s: transliteration data from locale `%s' not available"
 msgstr ""
 
-#: locale/programs/ld-ctype.c:3875
+#: locale/programs/ld-ctype.c:3881
 #, c-format
 msgid "%s: table for class \"%s\": %lu bytes\n"
 msgstr ""
 
-#: locale/programs/ld-ctype.c:3944
+#: locale/programs/ld-ctype.c:3950
 #, c-format
 msgid "%s: table for map \"%s\": %lu bytes\n"
 msgstr ""
 
-#: locale/programs/ld-ctype.c:4077
+#: locale/programs/ld-ctype.c:4083
 #, c-format
 msgid "%s: table for width: %lu bytes\n"
 msgstr ""
 
-#: locale/programs/ld-identification.c:169
+#: locale/programs/ld-identification.c:170
 #, c-format
 msgid "%s: no identification for category `%s'"
 msgstr ""
 
-#: locale/programs/ld-identification.c:434
+#: locale/programs/ld-identification.c:435
 #, c-format
 msgid "%s: duplicate category version definition"
 msgstr ""
 
-#: locale/programs/ld-measurement.c:112
+#: locale/programs/ld-measurement.c:113
 #, c-format
 msgid "%s: invalid value for field `%s'"
 msgstr ""
 
-#: locale/programs/ld-messages.c:113 locale/programs/ld-messages.c:147
+#: locale/programs/ld-messages.c:114 locale/programs/ld-messages.c:148
 #, c-format
 msgid "%s: field `%s' undefined"
 msgstr ""
 
-#: locale/programs/ld-messages.c:120 locale/programs/ld-messages.c:154
+#: locale/programs/ld-messages.c:121 locale/programs/ld-messages.c:155
+#: locale/programs/ld-monetary.c:256 locale/programs/ld-numeric.c:118
 #, c-format
 msgid "%s: value for field `%s' must not be an empty string"
 msgstr ""
 
-#: locale/programs/ld-messages.c:136 locale/programs/ld-messages.c:170
+#: locale/programs/ld-messages.c:137 locale/programs/ld-messages.c:171
 #, c-format
 msgid "%s: no correct regular expression for field `%s': %s"
 msgstr ""
 
-#: locale/programs/ld-monetary.c:222
+#: locale/programs/ld-monetary.c:224
 #, c-format
 msgid "%s: value of field `int_curr_symbol' has wrong length"
 msgstr ""
 
-#: locale/programs/ld-monetary.c:235
+#: locale/programs/ld-monetary.c:237
 #, c-format
 msgid ""
 "%s: value of field `int_curr_symbol' does not correspond to a valid name in "
 "ISO 4217"
 msgstr ""
 
-#: locale/programs/ld-monetary.c:254 locale/programs/ld-numeric.c:117
-#, c-format
-msgid "%s: value for field `%s' must not be the empty string"
-msgstr ""
-
-#: locale/programs/ld-monetary.c:282 locale/programs/ld-monetary.c:312
+#: locale/programs/ld-monetary.c:285 locale/programs/ld-monetary.c:315
 #, c-format
 msgid "%s: value for field `%s' must be in range %d...%d"
 msgstr ""
 
-#: locale/programs/ld-monetary.c:744 locale/programs/ld-numeric.c:273
+#: locale/programs/ld-monetary.c:747 locale/programs/ld-numeric.c:274
 #, c-format
 msgid "%s: value for field `%s' must be a single character"
 msgstr ""
 
-#: locale/programs/ld-monetary.c:841 locale/programs/ld-numeric.c:317
+#: locale/programs/ld-monetary.c:844 locale/programs/ld-numeric.c:318
 #, c-format
 msgid "%s: `-1' must be last entry in `%s' field"
 msgstr ""
 
-#: locale/programs/ld-monetary.c:863 locale/programs/ld-numeric.c:334
+#: locale/programs/ld-monetary.c:866 locale/programs/ld-numeric.c:335
 #, c-format
 msgid "%s: values for field `%s' must be smaller than 127"
 msgstr ""
 
-#: locale/programs/ld-monetary.c:906
+#: locale/programs/ld-monetary.c:909
 msgid "conversion rate value cannot be zero"
 msgstr ""
 
-#: locale/programs/ld-name.c:128 locale/programs/ld-telephone.c:125
-#: locale/programs/ld-telephone.c:148
+#: locale/programs/ld-name.c:129 locale/programs/ld-telephone.c:126
+#: locale/programs/ld-telephone.c:149
 #, c-format
 msgid "%s: invalid escape sequence in field `%s'"
 msgstr ""
 
-#: locale/programs/ld-time.c:246
+#: locale/programs/ld-time.c:247
 #, c-format
 msgid "%s: direction flag in string %Zd in `era' field is not '+' nor '-'"
 msgstr ""
 
-#: locale/programs/ld-time.c:257
+#: locale/programs/ld-time.c:258
 #, c-format
 msgid ""
 "%s: direction flag in string %Zd in `era' field is not a single character"
 msgstr ""
 
-#: locale/programs/ld-time.c:270
+#: locale/programs/ld-time.c:271
 #, c-format
 msgid "%s: invalid number for offset in string %Zd in `era' field"
 msgstr ""
 
-#: locale/programs/ld-time.c:278
+#: locale/programs/ld-time.c:279
 #, c-format
 msgid "%s: garbage at end of offset value in string %Zd in `era' field"
 msgstr ""
 
-#: locale/programs/ld-time.c:329
+#: locale/programs/ld-time.c:330
 #, c-format
 msgid "%s: invalid starting date in string %Zd in `era' field"
 msgstr ""
 
-#: locale/programs/ld-time.c:338
+#: locale/programs/ld-time.c:339
 #, c-format
 msgid "%s: garbage at end of starting date in string %Zd in `era' field "
 msgstr ""
 
-#: locale/programs/ld-time.c:357
+#: locale/programs/ld-time.c:358
 #, c-format
 msgid "%s: starting date is invalid in string %Zd in `era' field"
 msgstr ""
 
-#: locale/programs/ld-time.c:406
+#: locale/programs/ld-time.c:407
 #, c-format
 msgid "%s: invalid stopping date in string %Zd in `era' field"
 msgstr ""
 
-#: locale/programs/ld-time.c:415
+#: locale/programs/ld-time.c:416
 #, c-format
 msgid "%s: garbage at end of stopping date in string %Zd in `era' field"
 msgstr ""
 
-#: locale/programs/ld-time.c:434
+#: locale/programs/ld-time.c:435
 #, c-format
 msgid "%s: stopping date is invalid in string %Zd in `era' field"
 msgstr ""
 
-#: locale/programs/ld-time.c:443
+#: locale/programs/ld-time.c:444
 #, c-format
 msgid "%s: missing era name in string %Zd in `era' field"
 msgstr ""
 
-#: locale/programs/ld-time.c:455
+#: locale/programs/ld-time.c:456
 #, c-format
 msgid "%s: missing era format in string %Zd in `era' field"
 msgstr ""
 
-#: locale/programs/ld-time.c:496
+#: locale/programs/ld-time.c:497
 #, c-format
 msgid "%s: third operand for value of field `%s' must not be larger than %d"
 msgstr ""
 
-#: locale/programs/ld-time.c:504 locale/programs/ld-time.c:512
-#, c-format
-msgid "%s: values of field `%s' must not be larger than %d"
-msgstr ""
-
-#: locale/programs/ld-time.c:520
+#: locale/programs/ld-time.c:505 locale/programs/ld-time.c:513
+#: locale/programs/ld-time.c:521
 #, c-format
 msgid "%s: values for field `%s' must not be larger than %d"
 msgstr ""
 
-#: locale/programs/ld-time.c:1003
+#: locale/programs/ld-time.c:1004
 #, c-format
 msgid "%s: too few values for field `%s'"
 msgstr ""
 
-#: locale/programs/ld-time.c:1048
+#: locale/programs/ld-time.c:1049
 msgid "extra trailing semicolon"
 msgstr ""
 
-#: locale/programs/ld-time.c:1051
+#: locale/programs/ld-time.c:1052
 #, c-format
 msgid "%s: too many values for field `%s'"
 msgstr ""
 
-#: locale/programs/linereader.c:129
+#: locale/programs/linereader.c:130
 msgid "trailing garbage at end of line"
 msgstr ""
 
-#: locale/programs/linereader.c:297
+#: locale/programs/linereader.c:298
 msgid "garbage at end of number"
 msgstr ""
 
-#: locale/programs/linereader.c:409
+#: locale/programs/linereader.c:410
 msgid "garbage at end of character code specification"
 msgstr ""
 
-#: locale/programs/linereader.c:495
+#: locale/programs/linereader.c:496
 msgid "unterminated symbolic name"
 msgstr ""
 
-#: locale/programs/linereader.c:622
+#: locale/programs/linereader.c:623
 msgid "illegal escape sequence at end of string"
 msgstr ""
 
-#: locale/programs/linereader.c:626 locale/programs/linereader.c:854
+#: locale/programs/linereader.c:627 locale/programs/linereader.c:855
 msgid "unterminated string"
 msgstr ""
 
-#: locale/programs/linereader.c:668
+#: locale/programs/linereader.c:669
 msgid "non-symbolic character value should not be used"
 msgstr ""
 
-#: locale/programs/linereader.c:815
+#: locale/programs/linereader.c:816
 #, c-format
 msgid "symbol `%.*s' not in charmap"
 msgstr ""
 
-#: locale/programs/linereader.c:836
+#: locale/programs/linereader.c:837
 #, c-format
 msgid "symbol `%.*s' not in repertoire map"
 msgstr ""
 
-#: locale/programs/locale.c:73
+#: locale/programs/locale.c:74
 msgid "System information:"
 msgstr ""
 
-#: locale/programs/locale.c:75
+#: locale/programs/locale.c:76
 msgid "Write names of available locales"
 msgstr ""
 
-#: locale/programs/locale.c:77
+#: locale/programs/locale.c:78
 msgid "Write names of available charmaps"
 msgstr ""
 
-#: locale/programs/locale.c:78
+#: locale/programs/locale.c:79
 msgid "Modify output format:"
 msgstr ""
 
-#: locale/programs/locale.c:79
+#: locale/programs/locale.c:80
 msgid "Write names of selected categories"
 msgstr ""
 
-#: locale/programs/locale.c:80
+#: locale/programs/locale.c:81
 msgid "Write names of selected keywords"
 msgstr ""
 
-#: locale/programs/locale.c:81
+#: locale/programs/locale.c:82
 msgid "Print more information"
 msgstr ""
 
-#: locale/programs/locale.c:86
+#: locale/programs/locale.c:87
 msgid ""
-"Get locale-specific information.\013For bug reporting instructions, please "
+"Get locale-specific information.\vFor bug reporting instructions, please "
 "see:\n"
 "<http://www.gnu.org/software/libc/bugs.html>.\n"
 msgstr ""
 
-#: locale/programs/locale.c:91
+#: locale/programs/locale.c:92
 msgid ""
 "NAME\n"
 "[-a|-m]"
 msgstr ""
 
-#: locale/programs/locale.c:192
+#: locale/programs/locale.c:193
 #, c-format
 msgid "Cannot set LC_CTYPE to default locale"
 msgstr ""
 
-#: locale/programs/locale.c:194
+#: locale/programs/locale.c:195
 #, c-format
 msgid "Cannot set LC_MESSAGES to default locale"
 msgstr ""
 
-#: locale/programs/locale.c:207
+#: locale/programs/locale.c:208
 #, c-format
 msgid "Cannot set LC_COLLATE to default locale"
 msgstr ""
 
-#: locale/programs/locale.c:223
+#: locale/programs/locale.c:224
 #, c-format
 msgid "Cannot set LC_ALL to default locale"
 msgstr ""
 
-#: locale/programs/locale.c:499
+#: locale/programs/locale.c:500
 #, c-format
 msgid "while preparing output"
 msgstr ""
 
-#: locale/programs/localedef.c:119
+#: locale/programs/localedef.c:120
 msgid "Input Files:"
 msgstr ""
 
-#: locale/programs/localedef.c:121
+#: locale/programs/localedef.c:122
 msgid "Symbolic character names defined in FILE"
 msgstr ""
 
-#: locale/programs/localedef.c:122
+#: locale/programs/localedef.c:123
 msgid "Source definitions are found in FILE"
 msgstr ""
 
-#: locale/programs/localedef.c:124
+#: locale/programs/localedef.c:125
 msgid "FILE contains mapping from symbolic names to UCS4 values"
 msgstr ""
 
-#: locale/programs/localedef.c:128
+#: locale/programs/localedef.c:129
 msgid "Create output even if warning messages were issued"
 msgstr ""
 
-#: locale/programs/localedef.c:129
+#: locale/programs/localedef.c:130
 msgid "Create old-style tables"
 msgstr ""
 
-#: locale/programs/localedef.c:130
+#: locale/programs/localedef.c:131
 msgid "Optional output file prefix"
 msgstr ""
 
-#: locale/programs/localedef.c:131
+#: locale/programs/localedef.c:132
 msgid "Be strictly POSIX conform"
 msgstr ""
 
-#: locale/programs/localedef.c:133
+#: locale/programs/localedef.c:134
 msgid "Suppress warnings and information messages"
 msgstr ""
 
-#: locale/programs/localedef.c:134
+#: locale/programs/localedef.c:135
 msgid "Print more messages"
 msgstr ""
 
-#: locale/programs/localedef.c:135
+#: locale/programs/localedef.c:136
 msgid "Archive control:"
 msgstr ""
 
-#: locale/programs/localedef.c:137
+#: locale/programs/localedef.c:138
 msgid "Don't add new data to archive"
 msgstr ""
 
-#: locale/programs/localedef.c:139
+#: locale/programs/localedef.c:140
 msgid "Add locales named by parameters to archive"
 msgstr ""
 
-#: locale/programs/localedef.c:140
+#: locale/programs/localedef.c:141
 msgid "Replace existing archive content"
 msgstr ""
 
-#: locale/programs/localedef.c:142
+#: locale/programs/localedef.c:143
 msgid "Remove locales named by parameters from archive"
 msgstr ""
 
-#: locale/programs/localedef.c:143
+#: locale/programs/localedef.c:144
 msgid "List content of archive"
 msgstr ""
 
-#: locale/programs/localedef.c:145
+#: locale/programs/localedef.c:146
 msgid "locale.alias file to consult when making archive"
 msgstr ""
 
-#: locale/programs/localedef.c:150
+#: locale/programs/localedef.c:151
 msgid "Compile locale specification"
 msgstr ""
 
-#: locale/programs/localedef.c:153
+#: locale/programs/localedef.c:154
 msgid ""
 "NAME\n"
 "[--add-to-archive|--delete-from-archive] FILE...\n"
 "--list-archive [FILE]"
 msgstr ""
 
-#: locale/programs/localedef.c:231
+#: locale/programs/localedef.c:232
 #, c-format
 msgid "cannot create directory for output files"
 msgstr ""
 
-#: locale/programs/localedef.c:242
+#: locale/programs/localedef.c:243
 #, c-format
 msgid "FATAL: system does not define `_POSIX2_LOCALEDEF'"
 msgstr ""
 
-#: locale/programs/localedef.c:256 locale/programs/localedef.c:272
-#: locale/programs/localedef.c:598 locale/programs/localedef.c:618
+#: locale/programs/localedef.c:257 locale/programs/localedef.c:273
+#: locale/programs/localedef.c:599 locale/programs/localedef.c:619
 #, c-format
 msgid "cannot open locale definition file `%s'"
 msgstr ""
 
-#: locale/programs/localedef.c:284
+#: locale/programs/localedef.c:285
 #, c-format
 msgid "cannot write output files to `%s'"
 msgstr ""
 
-#: locale/programs/localedef.c:365
+#: locale/programs/localedef.c:366
 #, c-format
 msgid ""
 "System's directory for character maps : %s\n"
@@ -2538,180 +2523,185 @@ msgid ""
 "%s"
 msgstr ""
 
-#: locale/programs/localedef.c:566
+#: locale/programs/localedef.c:567
 #, c-format
 msgid "circular dependencies between locale definitions"
 msgstr ""
 
-#: locale/programs/localedef.c:572
+#: locale/programs/localedef.c:573
 #, c-format
 msgid "cannot add already read locale `%s' a second time"
 msgstr ""
 
-#: locale/programs/locarchive.c:87 locale/programs/locarchive.c:256
+#: locale/programs/locarchive.c:88 locale/programs/locarchive.c:261
 #, c-format
 msgid "cannot create temporary file"
 msgstr ""
 
-#: locale/programs/locarchive.c:116 locale/programs/locarchive.c:302
+#: locale/programs/locarchive.c:118 locale/programs/locarchive.c:307
 #, c-format
 msgid "cannot initialize archive file"
 msgstr ""
 
-#: locale/programs/locarchive.c:123 locale/programs/locarchive.c:309
+#: locale/programs/locarchive.c:125 locale/programs/locarchive.c:314
 #, c-format
 msgid "cannot resize archive file"
 msgstr ""
 
-#: locale/programs/locarchive.c:132 locale/programs/locarchive.c:318
-#: locale/programs/locarchive.c:506
+#: locale/programs/locarchive.c:134 locale/programs/locarchive.c:323
+#: locale/programs/locarchive.c:527
 #, c-format
 msgid "cannot map archive header"
 msgstr ""
 
-#: locale/programs/locarchive.c:154
+#: locale/programs/locarchive.c:156
 #, c-format
 msgid "failed to create new locale archive"
 msgstr ""
 
-#: locale/programs/locarchive.c:166
+#: locale/programs/locarchive.c:168
 #, c-format
 msgid "cannot change mode of new locale archive"
 msgstr ""
 
-#: locale/programs/locarchive.c:250
+#: locale/programs/locarchive.c:255
 #, c-format
 msgid "cannot map locale archive file"
 msgstr ""
 
-#: locale/programs/locarchive.c:326
+#: locale/programs/locarchive.c:331
 #, c-format
 msgid "cannot lock new archive"
 msgstr ""
 
-#: locale/programs/locarchive.c:375
+#: locale/programs/locarchive.c:396
 #, c-format
 msgid "cannot extend locale archive file"
 msgstr ""
 
-#: locale/programs/locarchive.c:384
+#: locale/programs/locarchive.c:405
 #, c-format
 msgid "cannot change mode of resized locale archive"
 msgstr ""
 
-#: locale/programs/locarchive.c:392
+#: locale/programs/locarchive.c:413
 #, c-format
 msgid "cannot rename new archive"
 msgstr ""
 
-#: locale/programs/locarchive.c:445
+#: locale/programs/locarchive.c:466
 #, c-format
 msgid "cannot open locale archive \"%s\""
 msgstr ""
 
-#: locale/programs/locarchive.c:450
+#: locale/programs/locarchive.c:471
 #, c-format
 msgid "cannot stat locale archive \"%s\""
 msgstr ""
 
-#: locale/programs/locarchive.c:469
+#: locale/programs/locarchive.c:490
 #, c-format
 msgid "cannot lock locale archive \"%s\""
 msgstr ""
 
-#: locale/programs/locarchive.c:492
+#: locale/programs/locarchive.c:513
 #, c-format
 msgid "cannot read archive header"
 msgstr ""
 
-#: locale/programs/locarchive.c:552
+#: locale/programs/locarchive.c:573
 #, c-format
 msgid "locale '%s' already exists"
 msgstr ""
 
-#: locale/programs/locarchive.c:783 locale/programs/locarchive.c:798
-#: locale/programs/locarchive.c:810 locale/programs/locarchive.c:822
-#: locale/programs/locfile.c:343
+#: locale/programs/locarchive.c:804 locale/programs/locarchive.c:819
+#: locale/programs/locarchive.c:831 locale/programs/locarchive.c:843
+#: locale/programs/locfile.c:344
 #, c-format
 msgid "cannot add to locale archive"
 msgstr ""
 
-#: locale/programs/locarchive.c:977
+#: locale/programs/locarchive.c:998
 #, c-format
 msgid "locale alias file `%s' not found"
 msgstr ""
 
-#: locale/programs/locarchive.c:1121
+#: locale/programs/locarchive.c:1142
 #, c-format
 msgid "Adding %s\n"
 msgstr ""
 
-#: locale/programs/locarchive.c:1127
+#: locale/programs/locarchive.c:1148
 #, c-format
 msgid "stat of \"%s\" failed: %s: ignored"
 msgstr ""
 
-#: locale/programs/locarchive.c:1133
+#: locale/programs/locarchive.c:1154
 #, c-format
 msgid "\"%s\" is no directory; ignored"
 msgstr ""
 
-#: locale/programs/locarchive.c:1140
+#: locale/programs/locarchive.c:1161
 #, c-format
 msgid "cannot open directory \"%s\": %s: ignored"
 msgstr ""
 
-#: locale/programs/locarchive.c:1212
+#: locale/programs/locarchive.c:1233
 #, c-format
 msgid "incomplete set of locale files in \"%s\""
 msgstr ""
 
-#: locale/programs/locarchive.c:1276
+#: locale/programs/locarchive.c:1297
 #, c-format
 msgid "cannot read all files in \"%s\": ignored"
 msgstr ""
 
-#: locale/programs/locarchive.c:1346
+#: locale/programs/locarchive.c:1367
 #, c-format
 msgid "locale \"%s\" not in archive"
 msgstr ""
 
-#: locale/programs/locfile.c:131
+#: locale/programs/locfile.c:132
 #, c-format
 msgid "argument to `%s' must be a single character"
 msgstr ""
 
-#: locale/programs/locfile.c:251
+#: locale/programs/locfile.c:252
 msgid "syntax error: not inside a locale definition section"
 msgstr ""
 
-#: locale/programs/locfile.c:625
+#: locale/programs/locfile.c:626
 #, c-format
 msgid "cannot open output file `%s' for category `%s'"
 msgstr ""
 
-#: locale/programs/locfile.c:649
+#: locale/programs/locfile.c:650
 #, c-format
 msgid "failure while writing data for category `%s'"
 msgstr ""
 
-#: locale/programs/locfile.c:745
+#: locale/programs/locfile.c:746
 #, c-format
 msgid "cannot create output file `%s' for category `%s'"
 msgstr ""
 
-#: locale/programs/locfile.c:781
+#: locale/programs/locfile.c:782
 msgid "expect string argument for `copy'"
 msgstr ""
 
-#: locale/programs/locfile.c:785
+#: locale/programs/locfile.c:786
 msgid "locale name should consist only of portable characters"
 msgstr ""
 
-#: locale/programs/locfile.c:804
+#: locale/programs/locfile.c:805
 msgid "no other keyword shall be specified when `copy' is used"
 msgstr ""
 
+#: locale/programs/locfile.c:819
+#, c-format
+msgid "`%1$s' definition does not end with `END %1$s'"
+msgstr ""
+
 #: locale/programs/repertoire.c:229 locale/programs/repertoire.c:270
 #: locale/programs/repertoire.c:295
 #, c-format
@@ -2732,15 +2722,6 @@ msgstr ""
 msgid "repertoire map file `%s' not found"
 msgstr ""
 
-#: locale/programs/repertoire.c:449
-#, c-format
-msgid "<%s> and <%s> are invalid names for range"
-msgstr ""
-
-#: locale/programs/repertoire.c:456
-msgid "upper limit in range is not smaller then lower limit"
-msgstr ""
-
 #: login/programs/pt_chown.c:74
 #, c-format
 msgid ""
@@ -2769,32 +2750,32 @@ msgstr ""
 msgid "needs to be installed setuid `root'"
 msgstr ""
 
-#: malloc/mcheck.c:324
+#: malloc/mcheck.c:330
 msgid "memory is consistent, library is buggy\n"
 msgstr ""
 
-#: malloc/mcheck.c:327
+#: malloc/mcheck.c:333
 msgid "memory clobbered before allocated block\n"
 msgstr ""
 
-#: malloc/mcheck.c:330
+#: malloc/mcheck.c:336
 msgid "memory clobbered past end of allocated block\n"
 msgstr ""
 
-#: malloc/mcheck.c:333
+#: malloc/mcheck.c:339
 msgid "block freed twice\n"
 msgstr ""
 
-#: malloc/mcheck.c:336
+#: malloc/mcheck.c:342
 msgid "bogus mcheck_status, library is buggy\n"
 msgstr ""
 
 #: malloc/memusage.sh:27
-msgid "Try `memusage --help' for more information."
+msgid "Try \\`memusage --help' for more information."
 msgstr ""
 
 #: malloc/memusage.sh:33
-msgid "memusage: option `$1' requires an argument"
+msgid "memusage: option \\`$1' requires an argument"
 msgstr ""
 
 #: malloc/memusage.sh:39
@@ -2807,7 +2788,8 @@ msgid ""
 "   -d,--data=FILE         Generate binary data file and store it in FILE\n"
 "   -u,--unbuffered        Don't buffer output\n"
 "   -b,--buffer=SIZE       Collect SIZE entries before writing them out\n"
-"      --no-timer          Don't collect additional information though timer\n"
+"      --no-timer          Don't collect additional information through "
+"timer\n"
 "   -m,--mmap              Also trace mmap & friends\n"
 "\n"
 "   -?,--help              Print this help and exit\n"
@@ -2829,7 +2811,7 @@ msgid ""
 "<http://www.gnu.org/software/libc/bugs.html>."
 msgstr ""
 
-#: malloc/memusage.sh:90
+#: malloc/memusage.sh:99
 msgid ""
 "Syntax: memusage [--data=FILE] [--progname=NAME] [--png=FILE] [--"
 "unbuffered]\n"
@@ -2838,53 +2820,53 @@ msgid ""
 "            PROGRAM [PROGRAMOPTION]..."
 msgstr ""
 
-#: malloc/memusage.sh:182
-msgid "memusage: option `${1##*=}' is ambiguous"
+#: malloc/memusage.sh:191
+msgid "memusage: option \\`${1##*=}' is ambiguous"
 msgstr ""
 
-#: malloc/memusage.sh:191
-msgid "memusage: unrecognized option `$1'"
+#: malloc/memusage.sh:200
+msgid "memusage: unrecognized option \\`$1'"
 msgstr ""
 
-#: malloc/memusage.sh:204
+#: malloc/memusage.sh:213
 msgid "No program name given"
 msgstr ""
 
-#: malloc/memusagestat.c:53
+#: malloc/memusagestat.c:54
 msgid "Name output file"
 msgstr ""
 
-#: malloc/memusagestat.c:54
+#: malloc/memusagestat.c:55
 msgid "Title string used in output graphic"
 msgstr ""
 
-#: malloc/memusagestat.c:55
+#: malloc/memusagestat.c:56
 msgid ""
 "Generate output linear to time (default is linear to number of function "
 "calls)"
 msgstr ""
 
-#: malloc/memusagestat.c:57
+#: malloc/memusagestat.c:58
 msgid "Also draw graph for total memory consumption"
 msgstr ""
 
-#: malloc/memusagestat.c:58
-msgid "make output graphic VALUE pixel wide"
+#: malloc/memusagestat.c:59
+msgid "Make output graphic VALUE pixels wide"
 msgstr ""
 
-#: malloc/memusagestat.c:59
-msgid "make output graphic VALUE pixel high"
+#: malloc/memusagestat.c:60
+msgid "Make output graphic VALUE pixels high"
 msgstr ""
 
-#: malloc/memusagestat.c:64
+#: malloc/memusagestat.c:65
 msgid "Generate graphic from memory profiling data"
 msgstr ""
 
-#: malloc/memusagestat.c:67
+#: malloc/memusagestat.c:68
 msgid "DATAFILE [OUTFILE]"
 msgstr ""
 
-#: misc/error.c:118 timezone/zic.c:396
+#: misc/error.c:118 timezone/zic.c:417
 msgid "Unknown system error"
 msgstr ""
 
@@ -3371,7 +3353,7 @@ msgstr ""
 msgid "    No recursive members\n"
 msgstr ""
 
-#: nis/nis_print_group_entry.c:149 nis/nis_print_group_entry.c:165
+#: nis/nis_print_group_entry.c:149
 msgid "    Explicit nonmembers:\n"
 msgstr ""
 
@@ -3387,6 +3369,10 @@ msgstr ""
 msgid "    No implicit nonmembers\n"
 msgstr ""
 
+#: nis/nis_print_group_entry.c:165
+msgid "    Recursive nonmembers:\n"
+msgstr ""
+
 #: nis/nis_print_group_entry.c:170
 msgid "    No recursive nonmembers\n"
 msgstr ""
@@ -3399,7 +3385,7 @@ msgstr ""
 
 #: nis/nss_nisplus/nisplus-publickey.c:220
 #, c-format
-msgid "netname2user: missing group id list in `%s'."
+msgid "netname2user: missing group id list in `%s'"
 msgstr ""
 
 #: nis/nss_nisplus/nisplus-publickey.c:302
@@ -3517,385 +3503,394 @@ msgstr ""
 msgid "yp_update: cannot get server address\n"
 msgstr ""
 
-#: nscd/aicache.c:76 nscd/hstcache.c:461
+#: nscd/aicache.c:77 nscd/hstcache.c:468
 #, c-format
 msgid "Haven't found \"%s\" in hosts cache!"
 msgstr ""
 
-#: nscd/aicache.c:78 nscd/hstcache.c:463
+#: nscd/aicache.c:79 nscd/hstcache.c:470
 #, c-format
 msgid "Reloading \"%s\" in hosts cache!"
 msgstr ""
 
-#: nscd/cache.c:126
+#: nscd/cache.c:146
 #, c-format
 msgid "add new entry \"%s\" of type %s for %s to cache%s"
 msgstr ""
 
-#: nscd/cache.c:233 nscd/connections.c:750
+#: nscd/cache.c:148
+msgid " (first)"
+msgstr ""
+
+#: nscd/cache.c:256 nscd/connections.c:810
 #, c-format
 msgid "cannot stat() file `%s': %s"
 msgstr ""
 
-#: nscd/cache.c:262
+#: nscd/cache.c:285
 #, c-format
 msgid "pruning %s cache; time %ld"
 msgstr ""
 
-#: nscd/cache.c:289
+#: nscd/cache.c:312
 #, c-format
 msgid "considering %s entry \"%s\", timeout %<PRIu64>"
 msgstr ""
 
-#: nscd/connections.c:469 nscd/connections.c:481 nscd/connections.c:493
-#: nscd/connections.c:512
+#: nscd/connections.c:521 nscd/connections.c:533 nscd/connections.c:545
+#: nscd/connections.c:564
 #, c-format
 msgid "invalid persistent database file \"%s\": %s"
 msgstr ""
 
-#: nscd/connections.c:483
+#: nscd/connections.c:535
 msgid "header size does not match"
 msgstr ""
 
-#: nscd/connections.c:495
+#: nscd/connections.c:547
 msgid "file size does not match"
 msgstr ""
 
-#: nscd/connections.c:514
+#: nscd/connections.c:566
 msgid "verification failed"
 msgstr ""
 
-#: nscd/connections.c:528
+#: nscd/connections.c:580
 #, c-format
 msgid ""
 "suggested size of table for database %s larger than the persistent "
 "database's table"
 msgstr ""
 
-#: nscd/connections.c:538 nscd/connections.c:619
+#: nscd/connections.c:591 nscd/connections.c:673
 #, c-format
 msgid "cannot create read-only descriptor for \"%s\"; no mmap"
 msgstr ""
 
-#: nscd/connections.c:598
+#: nscd/connections.c:652
 #, c-format
 msgid ""
 "database for %s corrupted or simultaneously used; remove %s manually if "
 "necessary and restart"
 msgstr ""
 
-#: nscd/connections.c:605
+#: nscd/connections.c:659
 #, c-format
 msgid "cannot create %s; no persistent database used"
 msgstr ""
 
-#: nscd/connections.c:608
+#: nscd/connections.c:662
 #, c-format
 msgid "cannot create %s; no sharing possible"
 msgstr ""
 
-#: nscd/connections.c:679
+#: nscd/connections.c:733
 #, c-format
 msgid "cannot write to database file %s: %s"
 msgstr ""
 
-#: nscd/connections.c:713
+#: nscd/connections.c:772
 #, c-format
 msgid "cannot set socket to close on exec: %s; disabling paranoia mode"
 msgstr ""
 
-#: nscd/connections.c:763
+#: nscd/connections.c:823
 #, c-format
 msgid "cannot open socket: %s"
 msgstr ""
 
-#: nscd/connections.c:780
+#: nscd/connections.c:840
 #, c-format
 msgid "cannot change socket to nonblocking mode: %s"
 msgstr ""
 
-#: nscd/connections.c:788
+#: nscd/connections.c:848
 #, c-format
 msgid "cannot set socket to close on exec: %s"
 msgstr ""
 
-#: nscd/connections.c:799
+#: nscd/connections.c:859
 #, c-format
 msgid "cannot enable socket to accept connections: %s"
 msgstr ""
 
-#: nscd/connections.c:892
+#: nscd/connections.c:955
 #, c-format
 msgid "provide access to FD %d, for %s"
 msgstr ""
 
-#: nscd/connections.c:904
+#: nscd/connections.c:967
 #, c-format
 msgid "cannot handle old request version %d; current version is %d"
 msgstr ""
 
-#: nscd/connections.c:954 nscd/connections.c:1007
+#: nscd/connections.c:1009 nscd/connections.c:1062
 #, c-format
 msgid "cannot write result: %s"
 msgstr ""
 
-#: nscd/connections.c:1082
+#: nscd/connections.c:1145
 #, c-format
 msgid "error getting caller's id: %s"
 msgstr ""
 
-#: nscd/connections.c:1140 nscd/connections.c:1154
+#: nscd/connections.c:1204
 #, c-format
 msgid "cannot open /proc/self/cmdline: %s; disabling paranoia mode"
 msgstr ""
 
-#: nscd/connections.c:1194
+#: nscd/connections.c:1218
+#, c-format
+msgid "cannot read /proc/self/cmdline: %s; disabling paranoia mode"
+msgstr ""
+
+#: nscd/connections.c:1258
 #, c-format
 msgid "cannot change to old UID: %s; disabling paranoia mode"
 msgstr ""
 
-#: nscd/connections.c:1204
+#: nscd/connections.c:1268
 #, c-format
 msgid "cannot change to old GID: %s; disabling paranoia mode"
 msgstr ""
 
-#: nscd/connections.c:1217
+#: nscd/connections.c:1281
 #, c-format
 msgid "cannot change to old working directory: %s; disabling paranoia mode"
 msgstr ""
 
-#: nscd/connections.c:1245
+#: nscd/connections.c:1310
 #, c-format
 msgid "re-exec failed: %s; disabling paranoia mode"
 msgstr ""
 
-#: nscd/connections.c:1254
+#: nscd/connections.c:1319
 #, c-format
 msgid "cannot change current working directory to \"/\": %s"
 msgstr ""
 
-#: nscd/connections.c:1372
+#: nscd/connections.c:1437
 #, c-format
 msgid "short read while reading request: %s"
 msgstr ""
 
-#: nscd/connections.c:1404
+#: nscd/connections.c:1468
 #, c-format
 msgid "key length in request too long: %d"
 msgstr ""
 
-#: nscd/connections.c:1417
+#: nscd/connections.c:1481
 #, c-format
 msgid "short read while reading request key: %s"
 msgstr ""
 
-#: nscd/connections.c:1426
+#: nscd/connections.c:1490
 #, c-format
 msgid "handle_request: request received (Version = %d) from PID %ld"
 msgstr ""
 
-#: nscd/connections.c:1431
+#: nscd/connections.c:1495
 #, c-format
 msgid "handle_request: request received (Version = %d)"
 msgstr ""
 
-#: nscd/connections.c:1792
+#: nscd/connections.c:1856
 #, c-format
 msgid "could only start %d threads; terminating"
 msgstr ""
 
-#: nscd/connections.c:1840 nscd/connections.c:1841 nscd/connections.c:1858
-#: nscd/connections.c:1867 nscd/connections.c:1885 nscd/connections.c:1896
-#: nscd/connections.c:1907
+#: nscd/connections.c:1904 nscd/connections.c:1905 nscd/connections.c:1922
+#: nscd/connections.c:1931 nscd/connections.c:1949 nscd/connections.c:1960
+#: nscd/connections.c:1971
 #, c-format
 msgid "Failed to run nscd as user '%s'"
 msgstr ""
 
-#: nscd/connections.c:1859
+#: nscd/connections.c:1923
 #, c-format
 msgid "initial getgrouplist failed"
 msgstr ""
 
-#: nscd/connections.c:1868
+#: nscd/connections.c:1932
 #, c-format
 msgid "getgrouplist failed"
 msgstr ""
 
-#: nscd/connections.c:1886
+#: nscd/connections.c:1950
 #, c-format
 msgid "setgroups failed"
 msgstr ""
 
-#: nscd/grpcache.c:400 nscd/hstcache.c:411 nscd/initgrcache.c:411
-#: nscd/pwdcache.c:395
+#: nscd/grpcache.c:402 nscd/hstcache.c:418 nscd/initgrcache.c:412
+#: nscd/pwdcache.c:397 nscd/servicescache.c:343
 #, c-format
 msgid "short write in %s: %s"
 msgstr ""
 
-#: nscd/grpcache.c:443 nscd/initgrcache.c:77
+#: nscd/grpcache.c:445 nscd/initgrcache.c:78
 #, c-format
 msgid "Haven't found \"%s\" in group cache!"
 msgstr ""
 
-#: nscd/grpcache.c:445 nscd/initgrcache.c:79
+#: nscd/grpcache.c:447 nscd/initgrcache.c:80
 #, c-format
 msgid "Reloading \"%s\" in group cache!"
 msgstr ""
 
-#: nscd/grpcache.c:536
+#: nscd/grpcache.c:524
 #, c-format
 msgid "Invalid numeric gid \"%s\"!"
 msgstr ""
 
-#: nscd/mem.c:382
+#: nscd/mem.c:383
 #, c-format
 msgid "freed %zu bytes in %s cache"
 msgstr ""
 
-#: nscd/mem.c:511
+#: nscd/mem.c:512
 #, c-format
 msgid "no more memory for database '%s'"
 msgstr ""
 
-#: nscd/nscd.c:97
+#: nscd/nscd.c:98
 msgid "Read configuration data from NAME"
 msgstr ""
 
-#: nscd/nscd.c:99
+#: nscd/nscd.c:100
 msgid "Do not fork and display messages on the current tty"
 msgstr ""
 
-#: nscd/nscd.c:100
+#: nscd/nscd.c:101
 msgid "NUMBER"
 msgstr ""
 
-#: nscd/nscd.c:100
+#: nscd/nscd.c:101
 msgid "Start NUMBER threads"
 msgstr ""
 
-#: nscd/nscd.c:101
+#: nscd/nscd.c:102
 msgid "Shut the server down"
 msgstr ""
 
-#: nscd/nscd.c:102
+#: nscd/nscd.c:103
 msgid "Print current configuration statistic"
 msgstr ""
 
-#: nscd/nscd.c:103
+#: nscd/nscd.c:104
 msgid "TABLE"
 msgstr ""
 
-#: nscd/nscd.c:104
+#: nscd/nscd.c:105
 msgid "Invalidate the specified cache"
 msgstr ""
 
-#: nscd/nscd.c:105
+#: nscd/nscd.c:106
 msgid "TABLE,yes"
 msgstr ""
 
-#: nscd/nscd.c:106
+#: nscd/nscd.c:107
 msgid "Use separate cache for each user"
 msgstr ""
 
-#: nscd/nscd.c:111
+#: nscd/nscd.c:112
 msgid "Name Service Cache Daemon."
 msgstr ""
 
-#: nscd/nscd.c:143 nss/getent.c:858 nss/makedb.c:123
+#: nscd/nscd.c:144 nss/getent.c:858 nss/makedb.c:123
 #, c-format
 msgid "wrong number of arguments"
 msgstr ""
 
-#: nscd/nscd.c:153
+#: nscd/nscd.c:154
 #, c-format
 msgid "failure while reading configuration file; this is fatal"
 msgstr ""
 
-#: nscd/nscd.c:162
+#: nscd/nscd.c:163
 #, c-format
 msgid "already running"
 msgstr ""
 
-#: nscd/nscd.c:177 nscd/nscd.c:232
+#: nscd/nscd.c:178 nscd/nscd.c:233
 #, c-format
 msgid "cannot fork"
 msgstr ""
 
-#: nscd/nscd.c:240
+#: nscd/nscd.c:241
 #, c-format
-msgid "cannot change current working cirectory to \"/\""
+msgid "cannot change current working directory to \"/\""
 msgstr ""
 
-#: nscd/nscd.c:248
+#: nscd/nscd.c:249
 msgid "Could not create log file"
 msgstr ""
 
-#: nscd/nscd.c:301 nscd/nscd.c:326 nscd/nscd_stat.c:172
+#: nscd/nscd.c:302 nscd/nscd.c:327 nscd/nscd_stat.c:172
 #, c-format
 msgid "Only root is allowed to use this option!"
 msgstr ""
 
-#: nscd/nscd.c:359 nscd/nscd_stat.c:191
+#: nscd/nscd.c:364 nscd/nscd_stat.c:191
 #, c-format
 msgid "write incomplete"
 msgstr ""
 
-#: nscd/nscd.c:370
+#: nscd/nscd.c:375
 #, c-format
 msgid "cannot read invalidate ACK"
 msgstr ""
 
-#: nscd/nscd.c:376
+#: nscd/nscd.c:381
 #, c-format
 msgid "invalidation failed"
 msgstr ""
 
-#: nscd/nscd.c:386
+#: nscd/nscd.c:391
 #, c-format
 msgid "secure services not implemented anymore"
 msgstr ""
 
-#: nscd/nscd_conf.c:55
+#: nscd/nscd_conf.c:57
 #, c-format
-msgid "database %s is not supported\n"
+msgid "database %s is not supported"
 msgstr ""
 
-#: nscd/nscd_conf.c:106
+#: nscd/nscd_conf.c:108
 #, c-format
 msgid "Parse error: %s"
 msgstr ""
 
-#: nscd/nscd_conf.c:191
+#: nscd/nscd_conf.c:193
 #, c-format
 msgid "Must specify user name for server-user option"
 msgstr ""
 
-#: nscd/nscd_conf.c:198
+#: nscd/nscd_conf.c:200
 #, c-format
 msgid "Must specify user name for stat-user option"
 msgstr ""
 
-#: nscd/nscd_conf.c:242
+#: nscd/nscd_conf.c:244
 #, c-format
 msgid "invalid value for 'reload-count': %u"
 msgstr ""
 
-#: nscd/nscd_conf.c:257
+#: nscd/nscd_conf.c:259
 #, c-format
 msgid "Must specify value for restart-interval option"
 msgstr ""
 
-#: nscd/nscd_conf.c:271
+#: nscd/nscd_conf.c:273
 #, c-format
 msgid "Unknown option: %s %s %s"
 msgstr ""
 
-#: nscd/nscd_conf.c:284
+#: nscd/nscd_conf.c:286
 #, c-format
 msgid "cannot get current working directory: %s; disabling paranoia mode"
 msgstr ""
 
-#: nscd/nscd_conf.c:304
+#: nscd/nscd_conf.c:306
 #, c-format
 msgid "maximum file size for %s database too small"
 msgstr ""
@@ -3994,97 +3989,93 @@ msgid ""
 "%15s  check /etc/%s for changes\n"
 msgstr ""
 
-#: nscd/pwdcache.c:438
+#: nscd/pwdcache.c:440
 #, c-format
 msgid "Haven't found \"%s\" in password cache!"
 msgstr ""
 
-#: nscd/pwdcache.c:440
+#: nscd/pwdcache.c:442
 #, c-format
 msgid "Reloading \"%s\" in password cache!"
 msgstr ""
 
-#: nscd/pwdcache.c:532
+#: nscd/pwdcache.c:520
 #, c-format
 msgid "Invalid numeric uid \"%s\"!"
 msgstr ""
 
-#: nscd/selinux.c:151
+#: nscd/selinux.c:156
 #, c-format
 msgid "Failed opening connection to the audit subsystem: %m"
 msgstr ""
 
-#: nscd/selinux.c:172
+#: nscd/selinux.c:177
 msgid "Failed to set keep-capabilities"
 msgstr ""
 
-#: nscd/selinux.c:173 nscd/selinux.c:232
+#: nscd/selinux.c:178 nscd/selinux.c:241
 #, c-format
 msgid "prctl(KEEPCAPS) failed"
 msgstr ""
 
-#: nscd/selinux.c:187
+#: nscd/selinux.c:192
 msgid "Failed to initialize drop of capabilities"
 msgstr ""
 
-#: nscd/selinux.c:188
+#: nscd/selinux.c:193
 #, c-format
 msgid "cap_init failed"
 msgstr ""
 
-#: nscd/selinux.c:205
-msgid "Failed to drop capabilities\n"
+#: nscd/selinux.c:214 nscd/selinux.c:231
+msgid "Failed to drop capabilities"
 msgstr ""
 
-#: nscd/selinux.c:206 nscd/selinux.c:223
+#: nscd/selinux.c:215 nscd/selinux.c:232
 #, c-format
 msgid "cap_set_proc failed"
 msgstr ""
 
-#: nscd/selinux.c:222
-msgid "Failed to drop capabilities"
-msgstr ""
-
-#: nscd/selinux.c:231
+#: nscd/selinux.c:240
 msgid "Failed to unset keep-capabilities"
 msgstr ""
 
-#: nscd/selinux.c:247
+#: nscd/selinux.c:256
 msgid "Failed to determine if kernel supports SELinux"
 msgstr ""
 
-#: nscd/selinux.c:262
+#: nscd/selinux.c:271
 #, c-format
 msgid "Failed to start AVC thread"
 msgstr ""
 
-#: nscd/selinux.c:284
+#: nscd/selinux.c:293
 #, c-format
 msgid "Failed to create AVC lock"
 msgstr ""
 
-#: nscd/selinux.c:324
+#: nscd/selinux.c:333
 #, c-format
 msgid "Failed to start AVC"
 msgstr ""
 
-#: nscd/selinux.c:326
+#: nscd/selinux.c:335
 msgid "Access Vector Cache (AVC) started"
 msgstr ""
 
-#: nscd/selinux.c:347
+#: nscd/selinux.c:356
 msgid "Error getting context of socket peer"
 msgstr ""
 
-#: nscd/selinux.c:352
+#: nscd/selinux.c:361
 msgid "Error getting context of nscd"
 msgstr ""
 
-#: nscd/selinux.c:358
+#: nscd/selinux.c:367
 msgid "Error getting sid from context"
 msgstr ""
 
-#: nscd/selinux.c:390
+#: nscd/selinux.c:399
 #, c-format
 msgid ""
 "\n"
@@ -4100,6 +4091,16 @@ msgid ""
 "%15u  CAV misses\n"
 msgstr ""
 
+#: nscd/servicescache.c:390
+#, c-format
+msgid "Haven't found \"%s\" in services cache!"
+msgstr ""
+
+#: nscd/servicescache.c:392
+#, c-format
+msgid "Reloading \"%s\" in services cache!"
+msgstr ""
+
 #: nss/getent.c:52
 msgid "database [key ...]"
 msgstr ""
@@ -4110,7 +4111,7 @@ msgstr ""
 
 #: nss/getent.c:62
 msgid ""
-"Get entries from administrative database.\013For bug reporting instructions, "
+"Get entries from administrative database.\vFor bug reporting instructions, "
 "please see:\n"
 "<http://www.gnu.org/software/libc/bugs.html>.\n"
 msgstr ""
@@ -4190,31 +4191,31 @@ msgstr ""
 msgid "while reading database"
 msgstr ""
 
-#: posix/getconf.c:940
+#: posix/getconf.c:945
 #, c-format
 msgid "Usage: %s [-v specification] variable_name [pathname]\n"
 msgstr ""
 
-#: posix/getconf.c:943
+#: posix/getconf.c:948
 #, c-format
 msgid "       %s -a [pathname]\n"
 msgstr ""
 
-#: posix/getconf.c:1062
+#: posix/getconf.c:1067
 #, c-format
 msgid "unknown specification \"%s\""
 msgstr ""
 
-#: posix/getconf.c:1090
+#: posix/getconf.c:1095
 #, c-format
 msgid "Couldn't execute %s"
 msgstr ""
 
-#: posix/getconf.c:1130 posix/getconf.c:1146
+#: posix/getconf.c:1135 posix/getconf.c:1151
 msgid "undefined"
 msgstr ""
 
-#: posix/getconf.c:1168
+#: posix/getconf.c:1173
 #, c-format
 msgid "Unrecognized variable `%s'"
 msgstr ""
@@ -4433,7 +4434,7 @@ msgid "authunix_create: out of memory\n"
 msgstr ""
 
 #: sunrpc/auth_unix.c:350
-msgid "auth_none.c - Fatal marshalling problem"
+msgid "auth_unix.c: Fatal marshalling problem"
 msgstr ""
 
 #: sunrpc/clnt_perr.c:118 sunrpc/clnt_perr.c:139
@@ -4559,7 +4560,7 @@ msgid "Failed (unspecified error)"
 msgstr ""
 
 #: sunrpc/clnt_raw.c:117
-msgid "clnt_raw.c - Fatal header serialization error."
+msgid "clnt_raw.c: fatal header serialization error"
 msgstr ""
 
 #: sunrpc/clnt_tcp.c:131
@@ -4575,7 +4576,7 @@ msgid "clntunix_create: out of memory\n"
 msgstr ""
 
 #: sunrpc/pm_getmaps.c:83
-msgid "pmap_getmaps rpc problem"
+msgid "pmap_getmaps.c: rpc problem"
 msgstr ""
 
 #: sunrpc/pmap_clnt.c:129
@@ -4638,7 +4639,7 @@ msgstr ""
 
 #: sunrpc/rpc_main.c:460
 #, c-format
-msgid "illegal nettype :`%s'\n"
+msgid "illegal nettype: `%s'\n"
 msgstr ""
 
 #: sunrpc/rpc_main.c:1122
@@ -4814,7 +4815,11 @@ msgstr ""
 msgid "rpcinfo: %s is unknown host\n"
 msgstr ""
 
-#: sunrpc/svc_run.c:76
+#: sunrpc/svc_run.c:70
+msgid "svc_run: - out of memory"
+msgstr ""
+
+#: sunrpc/svc_run.c:90
 msgid "svc_run: - poll failed"
 msgstr ""
 
@@ -6013,406 +6018,405 @@ msgstr ""
 msgid "cannot read header from `%s'"
 msgstr ""
 
-#: timezone/zdump.c:215
+#: timezone/zdump.c:211
 msgid "lacks alphabetic at start"
 msgstr ""
 
-#: timezone/zdump.c:217
+#: timezone/zdump.c:213
 msgid "has fewer than 3 alphabetics"
 msgstr ""
 
-#: timezone/zdump.c:219
+#: timezone/zdump.c:215
 msgid "has more than 6 alphabetics"
 msgstr ""
 
-#: timezone/zdump.c:227
+#: timezone/zdump.c:223
 msgid "differs from POSIX standard"
 msgstr ""
 
-#: timezone/zdump.c:233
+#: timezone/zdump.c:229
 #, c-format
 msgid "%s: warning: zone \"%s\" abbreviation \"%s\" %s\n"
 msgstr ""
 
-#: timezone/zdump.c:284
+#: timezone/zdump.c:280
 #, c-format
 msgid ""
 "%s: usage is %s [ --version ] [ -v ] [ -c [loyear,]hiyear ] zonename ...\n"
 msgstr ""
 
-#: timezone/zdump.c:301
+#: timezone/zdump.c:297
 #, c-format
 msgid "%s: wild -c argument %s\n"
 msgstr ""
 
-#: timezone/zdump.c:392
+#: timezone/zdump.c:388
 msgid "Error writing to standard output"
 msgstr ""
 
-#: timezone/zdump.c:415
+#: timezone/zdump.c:411
 #, c-format
 msgid ""
 "%s: use of -v on system with floating time_t other than float or double\n"
 msgstr ""
 
-#: timezone/zic.c:371
+#: timezone/zic.c:392
 #, c-format
 msgid "%s: Memory exhausted: %s\n"
 msgstr ""
 
-#: timezone/zic.c:430
+#: timezone/zic.c:451
 #, c-format
 msgid "\"%s\", line %d: %s"
 msgstr ""
 
-#: timezone/zic.c:433
+#: timezone/zic.c:454
 #, c-format
 msgid " (rule from \"%s\", line %d)"
 msgstr ""
 
-#: timezone/zic.c:445
+#: timezone/zic.c:466
 msgid "warning: "
 msgstr ""
 
-#: timezone/zic.c:455
+#: timezone/zic.c:476
 #, c-format
 msgid ""
-"%s: usage is %s [ --version ] [ -s ] [ -v ] [ -l localtime ] [ -p "
-"posixrules ] \\\n"
+"%s: usage is %s [ --version ] [ -v ] [ -l localtime ] [ -p posixrules ] \\\n"
 "\t[ -d directory ] [ -L leapseconds ] [ -y yearistype ] [ filename ... ]\n"
 msgstr ""
 
-#: timezone/zic.c:503
+#: timezone/zic.c:511
+msgid "wild compilation-time specification of zic_t"
+msgstr ""
+
+#: timezone/zic.c:528
 #, c-format
 msgid "%s: More than one -d option specified\n"
 msgstr ""
 
-#: timezone/zic.c:513
+#: timezone/zic.c:538
 #, c-format
 msgid "%s: More than one -l option specified\n"
 msgstr ""
 
-#: timezone/zic.c:523
+#: timezone/zic.c:548
 #, c-format
 msgid "%s: More than one -p option specified\n"
 msgstr ""
 
-#: timezone/zic.c:533
+#: timezone/zic.c:558
 #, c-format
 msgid "%s: More than one -y option specified\n"
 msgstr ""
 
-#: timezone/zic.c:543
+#: timezone/zic.c:568
 #, c-format
 msgid "%s: More than one -L option specified\n"
 msgstr ""
 
-#: timezone/zic.c:592
+#: timezone/zic.c:617
 msgid "link to link"
 msgstr ""
 
-#: timezone/zic.c:657
+#: timezone/zic.c:682
 msgid "hard link failed, symbolic link used"
 msgstr ""
 
-#: timezone/zic.c:665
+#: timezone/zic.c:690
 #, c-format
 msgid "%s: Can't link from %s to %s: %s\n"
 msgstr ""
 
-#: timezone/zic.c:774 timezone/zic.c:776
+#: timezone/zic.c:762 timezone/zic.c:764
 msgid "same rule name in multiple files"
 msgstr ""
 
-#: timezone/zic.c:817
+#: timezone/zic.c:805
 msgid "unruly zone"
 msgstr ""
 
-#: timezone/zic.c:824
+#: timezone/zic.c:812
 #, c-format
 msgid "%s in ruleless zone"
 msgstr ""
 
-#: timezone/zic.c:845
+#: timezone/zic.c:833
 msgid "standard input"
 msgstr ""
 
-#: timezone/zic.c:850
+#: timezone/zic.c:838
 #, c-format
 msgid "%s: Can't open %s: %s\n"
 msgstr ""
 
-#: timezone/zic.c:861
+#: timezone/zic.c:849
 msgid "line too long"
 msgstr ""
 
-#: timezone/zic.c:881
+#: timezone/zic.c:869
 msgid "input line of unknown type"
 msgstr ""
 
-#: timezone/zic.c:897
+#: timezone/zic.c:885
 #, c-format
 msgid "%s: Leap line in non leap seconds file %s\n"
 msgstr ""
 
-#: timezone/zic.c:904 timezone/zic.c:1325 timezone/zic.c:1350
+#: timezone/zic.c:892 timezone/zic.c:1329 timezone/zic.c:1351
 #, c-format
 msgid "%s: panic: Invalid l_value %d\n"
 msgstr ""
 
-#: timezone/zic.c:912
+#: timezone/zic.c:900
 #, c-format
 msgid "%s: Error reading %s\n"
 msgstr ""
 
-#: timezone/zic.c:919
+#: timezone/zic.c:907
 #, c-format
 msgid "%s: Error closing %s: %s\n"
 msgstr ""
 
-#: timezone/zic.c:924
+#: timezone/zic.c:912
 msgid "expected continuation line not found"
 msgstr ""
 
-#: timezone/zic.c:968
+#: timezone/zic.c:956 timezone/zic.c:2489 timezone/zic.c:2508
+msgid "time overflow"
+msgstr ""
+
+#: timezone/zic.c:960
 msgid "24:00 not handled by pre-1998 versions of zic"
 msgstr ""
 
-#: timezone/zic.c:982
+#: timezone/zic.c:963
+msgid "values over 24 hours not handled by pre-2007 versions of zic"
+msgstr ""
+
+#: timezone/zic.c:976
 msgid "wrong number of fields on Rule line"
 msgstr ""
 
-#: timezone/zic.c:986
+#: timezone/zic.c:980
 msgid "nameless rule"
 msgstr ""
 
-#: timezone/zic.c:991
+#: timezone/zic.c:985
 msgid "invalid saved time"
 msgstr ""
 
-#: timezone/zic.c:1010
+#: timezone/zic.c:1006
 msgid "wrong number of fields on Zone line"
 msgstr ""
 
-#: timezone/zic.c:1016
+#: timezone/zic.c:1012
 #, c-format
 msgid "\"Zone %s\" line and -l option are mutually exclusive"
 msgstr ""
 
-#: timezone/zic.c:1024
+#: timezone/zic.c:1020
 #, c-format
 msgid "\"Zone %s\" line and -p option are mutually exclusive"
 msgstr ""
 
-#: timezone/zic.c:1036
+#: timezone/zic.c:1032
 #, c-format
 msgid "duplicate zone name %s (file \"%s\", line %d)"
 msgstr ""
 
-#: timezone/zic.c:1052
+#: timezone/zic.c:1048
 msgid "wrong number of fields on Zone continuation line"
 msgstr ""
 
-#: timezone/zic.c:1092
+#: timezone/zic.c:1088
 msgid "invalid UTC offset"
 msgstr ""
 
-#: timezone/zic.c:1095
+#: timezone/zic.c:1091
 msgid "invalid abbreviation format"
 msgstr ""
 
-#: timezone/zic.c:1122
+#: timezone/zic.c:1120
 msgid "Zone continuation line end time is not after end time of previous line"
 msgstr ""
 
-#: timezone/zic.c:1150
+#: timezone/zic.c:1148
 msgid "wrong number of fields on Leap line"
 msgstr ""
 
-#: timezone/zic.c:1159
+#: timezone/zic.c:1157
 msgid "invalid leaping year"
 msgstr ""
 
-#: timezone/zic.c:1174 timezone/zic.c:1280
+#: timezone/zic.c:1177 timezone/zic.c:1283
 msgid "invalid month name"
 msgstr ""
 
-#: timezone/zic.c:1187 timezone/zic.c:1402 timezone/zic.c:1416
+#: timezone/zic.c:1190 timezone/zic.c:1396 timezone/zic.c:1410
 msgid "invalid day of month"
 msgstr ""
 
-#: timezone/zic.c:1192
+#: timezone/zic.c:1195
 msgid "time before zero"
 msgstr ""
 
-#: timezone/zic.c:1196
+#: timezone/zic.c:1199
 msgid "time too small"
 msgstr ""
 
-#: timezone/zic.c:1200
+#: timezone/zic.c:1203
 msgid "time too large"
 msgstr ""
 
-#: timezone/zic.c:1204 timezone/zic.c:1309
+#: timezone/zic.c:1207 timezone/zic.c:1312
 msgid "invalid time of day"
 msgstr ""
 
-#: timezone/zic.c:1223
+#: timezone/zic.c:1226
 msgid "illegal CORRECTION field on Leap line"
 msgstr ""
 
-#: timezone/zic.c:1228
+#: timezone/zic.c:1231
 msgid "illegal Rolling/Stationary field on Leap line"
 msgstr ""
 
-#: timezone/zic.c:1244
+#: timezone/zic.c:1247
 msgid "wrong number of fields on Link line"
 msgstr ""
 
-#: timezone/zic.c:1248
+#: timezone/zic.c:1251
 msgid "blank FROM field on Link line"
 msgstr ""
 
-#: timezone/zic.c:1252
+#: timezone/zic.c:1255
 msgid "blank TO field on Link line"
 msgstr ""
 
-#: timezone/zic.c:1329
-msgid "invalid starting year"
-msgstr ""
-
 #: timezone/zic.c:1333
-msgid "starting year too low to be represented"
-msgstr ""
-
-#: timezone/zic.c:1335
-msgid "starting year too high to be represented"
+msgid "invalid starting year"
 msgstr ""
 
-#: timezone/zic.c:1354
+#: timezone/zic.c:1355
 msgid "invalid ending year"
 msgstr ""
 
-#: timezone/zic.c:1358
-msgid "ending year too low to be represented"
-msgstr ""
-
-#: timezone/zic.c:1360
-msgid "ending year too high to be represented"
-msgstr ""
-
-#: timezone/zic.c:1363
+#: timezone/zic.c:1359
 msgid "starting year greater than ending year"
 msgstr ""
 
-#: timezone/zic.c:1370
+#: timezone/zic.c:1366
 msgid "typed single year"
 msgstr ""
 
-#: timezone/zic.c:1407
+#: timezone/zic.c:1401
 msgid "invalid weekday name"
 msgstr ""
 
-#: timezone/zic.c:1521
+#: timezone/zic.c:1579
 #, c-format
 msgid "%s: Can't remove %s: %s\n"
 msgstr ""
 
-#: timezone/zic.c:1531
+#: timezone/zic.c:1589
 #, c-format
 msgid "%s: Can't create %s: %s\n"
 msgstr ""
 
-#: timezone/zic.c:1598
+#: timezone/zic.c:1739
 #, c-format
 msgid "%s: Error writing %s\n"
 msgstr ""
 
-#: timezone/zic.c:1789
+#: timezone/zic.c:2031
+msgid "no POSIX environment variable for zone"
+msgstr ""
+
+#: timezone/zic.c:2185
 msgid "can't determine time zone abbreviation to use just after until time"
 msgstr ""
 
-#: timezone/zic.c:1832
+#: timezone/zic.c:2231
 msgid "too many transitions?!"
 msgstr ""
 
-#: timezone/zic.c:1851
+#: timezone/zic.c:2250
 msgid "internal error - addtype called with bad isdst"
 msgstr ""
 
-#: timezone/zic.c:1855
+#: timezone/zic.c:2254
 msgid "internal error - addtype called with bad ttisstd"
 msgstr ""
 
-#: timezone/zic.c:1859
+#: timezone/zic.c:2258
 msgid "internal error - addtype called with bad ttisgmt"
 msgstr ""
 
-#: timezone/zic.c:1878
+#: timezone/zic.c:2277
 msgid "too many local time types"
 msgstr ""
 
-#: timezone/zic.c:1906
+#: timezone/zic.c:2281
+msgid "UTC offset out of range"
+msgstr ""
+
+#: timezone/zic.c:2309
 msgid "too many leap seconds"
 msgstr ""
 
-#: timezone/zic.c:1912
+#: timezone/zic.c:2315
 msgid "repeated leap second moment"
 msgstr ""
 
-#: timezone/zic.c:1964
+#: timezone/zic.c:2367
 msgid "Wild result from command execution"
 msgstr ""
 
-#: timezone/zic.c:1965
+#: timezone/zic.c:2368
 #, c-format
 msgid "%s: command was '%s', result was %d\n"
 msgstr ""
 
-#: timezone/zic.c:2062
+#: timezone/zic.c:2466
 msgid "Odd number of quotation marks"
 msgstr ""
 
-#: timezone/zic.c:2083 timezone/zic.c:2102
-msgid "time overflow"
-msgstr ""
-
-#: timezone/zic.c:2149
+#: timezone/zic.c:2555
 msgid "use of 2/29 in non leap-year"
 msgstr ""
 
-#: timezone/zic.c:2184
+#: timezone/zic.c:2590
 msgid ""
 "rule goes past start/end of month--will not work with pre-2004 versions of "
 "zic"
 msgstr ""
 
-#: timezone/zic.c:2218
+#: timezone/zic.c:2622
 msgid "time zone abbreviation lacks alphabetic at start"
 msgstr ""
 
-#: timezone/zic.c:2220
+#: timezone/zic.c:2624
 msgid "time zone abbreviation has more than 3 alphabetics"
 msgstr ""
 
-#: timezone/zic.c:2222
+#: timezone/zic.c:2626
 msgid "time zone abbreviation has too many alphabetics"
 msgstr ""
 
-#: timezone/zic.c:2232
+#: timezone/zic.c:2636
 msgid "time zone abbreviation differs from POSIX standard"
 msgstr ""
 
-#: timezone/zic.c:2244
+#: timezone/zic.c:2648
 msgid "too many, or too long, time zone abbreviations"
 msgstr ""
 
-#: timezone/zic.c:2285
+#: timezone/zic.c:2689
 #, c-format
 msgid "%s: Can't create directory %s: %s\n"
 msgstr ""
 
-#: timezone/zic.c:2307
+#: timezone/zic.c:2711
 #, c-format
 msgid "%s: %d did not sign extend correctly\n"
 msgstr ""
diff --git a/resolv/nss_dns/dns-host.c b/resolv/nss_dns/dns-host.c
index cf060be8ef..0e25564670 100644
--- a/resolv/nss_dns/dns-host.c
+++ b/resolv/nss_dns/dns-host.c
@@ -215,7 +215,7 @@ _nss_dns_gethostbyname3_r (const char *name, int af, struct hostent *result,
       map = 1;
 
       result->h_addrtype = AF_INET;
-      result->h_length = INADDRSZ;;
+      result->h_length = INADDRSZ;
     }
 
   status = getanswer_r (host_buffer.buf, n, name, type, result, buffer, buflen,
@@ -836,5 +836,9 @@ getanswer_r (const querybuf *answer, int anslen, const char *qname, int qtype,
  no_recovery:
   *h_errnop = NO_RECOVERY;
   *errnop = ENOENT;
-  return NSS_STATUS_TRYAGAIN;
+  /* Special case here: if the resolver sent a result but it only
+     contains a CNAME while we are looking for a T_A or T_AAAA record,
+     we fail with NOTFOUND instead of TRYAGAIN.  */
+  return ((qtype == T_A || qtype == T_AAAA) && ap != host_data->aliases
+	   ? NSS_STATUS_NOTFOUND : NSS_STATUS_TRYAGAIN);
 }
diff --git a/sysdeps/i386/elf/configure b/sysdeps/i386/elf/configure
index 1182d974bc..12e92cd0eb 100755
--- a/sysdeps/i386/elf/configure
+++ b/sysdeps/i386/elf/configure
@@ -4,8 +4,8 @@
 if test "$usetls" != no; then
 # Check for support of thread-local storage handling in assembler and
 # linker.
-echo "$as_me:$LINENO: checking for i386 TLS support" >&5
-echo $ECHO_N "checking for i386 TLS support... $ECHO_C" >&6
+{ echo "$as_me:$LINENO: checking for i386 TLS support" >&5
+echo $ECHO_N "checking for i386 TLS support... $ECHO_C" >&6; }
 if test "${libc_cv_386_tls+set}" = set; then
   echo $ECHO_N "(cached) $ECHO_C" >&6
 else
@@ -37,8 +37,8 @@ else
 fi
 rm -f conftest*
 fi
-echo "$as_me:$LINENO: result: $libc_cv_386_tls" >&5
-echo "${ECHO_T}$libc_cv_386_tls" >&6
+{ echo "$as_me:$LINENO: result: $libc_cv_386_tls" >&5
+echo "${ECHO_T}$libc_cv_386_tls" >&6; }
 if test $libc_cv_386_tls = yes; then
   cat >>confdefs.h <<\_ACEOF
 #define HAVE_TLS_SUPPORT 1
diff --git a/sysdeps/posix/getaddrinfo.c b/sysdeps/posix/getaddrinfo.c
index 8f37ec5c11..8cf9c6bdfe 100644
--- a/sysdeps/posix/getaddrinfo.c
+++ b/sysdeps/posix/getaddrinfo.c
@@ -1426,10 +1426,13 @@ in6aicmp (const void *p1, const void *p2)
 #define GAICONF_FNAME "/etc/gai.conf"
 
 
-/* Nozero if we are supposed to reload the config file automatically
+/* Non-zero if we are supposed to reload the config file automatically
    whenever it changed.  */
 static int gaiconf_reload_flag;
 
+/* Non-zero if gaiconf_reload_flag was ever set to true.  */
+static int gaiconf_reload_flag_ever_set;
+
 /* Last modification time.  */
 static struct timespec gaiconf_mtime;
 
@@ -1611,7 +1614,11 @@ gaiconf_init (void)
 
 	    case 6:
 	      if (strcmp (cmd, "reload") == 0)
-		gaiconf_reload_flag = strcmp (val1, "yes") == 0;
+		{
+		  gaiconf_reload_flag = strcmp (val1, "yes") == 0;
+		  if (gaiconf_reload_flag)
+		    gaiconf_reload_flag_ever_set = 1;
+		}
 	      break;
 
 	    case 10:
@@ -1934,9 +1941,6 @@ getaddrinfo (const char *name, const char *service,
       __libc_once_define (static, once);
       __typeof (once) old_once = once;
       __libc_once (once, gaiconf_init);
-      if (old_once && gaiconf_reload_flag)
-	gaiconf_reload ();
-
       /* Sort results according to RFC 3484.  */
       struct sort_result results[nresults];
       struct addrinfo *q;
@@ -2055,7 +2059,18 @@ getaddrinfo (const char *name, const char *service,
 
       /* We got all the source addresses we can get, now sort using
 	 the information.  */
-      qsort (results, nresults, sizeof (results[0]), rfc3484_sort);
+      if (__builtin_expect (gaiconf_reload_flag_ever_set, 0))
+	{
+	  __libc_lock_define_initialized (static, lock);
+
+	  __libc_lock_lock (lock);
+	  if (old_once && gaiconf_reload_flag)
+	    gaiconf_reload ();
+	  qsort (results, nresults, sizeof (results[0]), rfc3484_sort);
+	  __libc_lock_unlock (lock);
+	}
+      else
+	qsort (results, nresults, sizeof (results[0]), rfc3484_sort);
 
       /* Queue the results up as they come out of sorting.  */
       q = p = results[0].dest_addr;
diff --git a/sysdeps/unix/sysv/linux/alpha/bits/fcntl.h b/sysdeps/unix/sysv/linux/alpha/bits/fcntl.h
index 7c93183ad4..710bace21f 100644
--- a/sysdeps/unix/sysv/linux/alpha/bits/fcntl.h
+++ b/sysdeps/unix/sysv/linux/alpha/bits/fcntl.h
@@ -93,6 +93,8 @@
 # define F_SETLEASE	1024	/* Set a lease.	 */
 # define F_GETLEASE	1025	/* Enquire what lease is active.  */
 # define F_NOTIFY	1026	/* Request notfications on a directory.	 */
+# define F_DUPFD_CLOEXEC 1030	/* Duplicate file descriptor with
+				   close-on-exit set.  */
 #endif
 
 /* for F_[GET|SET]FD */
diff --git a/sysdeps/unix/sysv/linux/i386/bits/fcntl.h b/sysdeps/unix/sysv/linux/i386/bits/fcntl.h
index 1ad51ad6b0..fdf0df3cd8 100644
--- a/sysdeps/unix/sysv/linux/i386/bits/fcntl.h
+++ b/sysdeps/unix/sysv/linux/i386/bits/fcntl.h
@@ -98,6 +98,8 @@
 # define F_SETLEASE	1024	/* Set a lease.	 */
 # define F_GETLEASE	1025	/* Enquire what lease is active.  */
 # define F_NOTIFY	1026	/* Request notfications on a directory.	 */
+# define F_DUPFD_CLOEXEC 1030	/* Duplicate file descriptor with
+				   close-on-exit set.  */
 #endif
 
 /* For F_[GET|SET]FD.  */
diff --git a/sysdeps/unix/sysv/linux/ia64/bits/fcntl.h b/sysdeps/unix/sysv/linux/ia64/bits/fcntl.h
index 69bc39f692..c5d5c150d3 100644
--- a/sysdeps/unix/sysv/linux/ia64/bits/fcntl.h
+++ b/sysdeps/unix/sysv/linux/ia64/bits/fcntl.h
@@ -94,6 +94,8 @@
 # define F_SETLEASE	1024	/* Set a lease.	 */
 # define F_GETLEASE	1025	/* Enquire what lease is active.  */
 # define F_NOTIFY	1026	/* Request notfications on a directory.	 */
+# define F_DUPFD_CLOEXEC 1030	/* Duplicate file descriptor with
+				   close-on-exit set.  */
 #endif
 
 /* For F_[GET|SET]FD.  */
diff --git a/sysdeps/unix/sysv/linux/powerpc/bits/fcntl.h b/sysdeps/unix/sysv/linux/powerpc/bits/fcntl.h
index 0ad99b5eae..556e83da20 100644
--- a/sysdeps/unix/sysv/linux/powerpc/bits/fcntl.h
+++ b/sysdeps/unix/sysv/linux/powerpc/bits/fcntl.h
@@ -98,6 +98,8 @@
 # define F_SETLEASE	1024	/* Set a lease.	 */
 # define F_GETLEASE	1025	/* Enquire what lease is active.  */
 # define F_NOTIFY	1026	/* Request notfications on a directory.	 */
+# define F_DUPFD_CLOEXEC 1030	/* Duplicate file descriptor with
+				   close-on-exit set.  */
 #endif
 
 /* For F_[GET|SET]FD.  */
diff --git a/sysdeps/unix/sysv/linux/s390/bits/fcntl.h b/sysdeps/unix/sysv/linux/s390/bits/fcntl.h
index c26e0e7710..e0cc664789 100644
--- a/sysdeps/unix/sysv/linux/s390/bits/fcntl.h
+++ b/sysdeps/unix/sysv/linux/s390/bits/fcntl.h
@@ -113,6 +113,8 @@
 # define F_SETLEASE	1024	/* Set a lease.	 */
 # define F_GETLEASE	1025	/* Enquire what lease is active.  */
 # define F_NOTIFY	1026	/* Request notfications on a directory.	 */
+# define F_DUPFD_CLOEXEC 1030	/* Duplicate file descriptor with
+				   close-on-exit set.  */
 #endif
 
 /* For F_[GET|SET]FD.  */
diff --git a/sysdeps/unix/sysv/linux/sh/bits/fcntl.h b/sysdeps/unix/sysv/linux/sh/bits/fcntl.h
index 1ad51ad6b0..fdf0df3cd8 100644
--- a/sysdeps/unix/sysv/linux/sh/bits/fcntl.h
+++ b/sysdeps/unix/sysv/linux/sh/bits/fcntl.h
@@ -98,6 +98,8 @@
 # define F_SETLEASE	1024	/* Set a lease.	 */
 # define F_GETLEASE	1025	/* Enquire what lease is active.  */
 # define F_NOTIFY	1026	/* Request notfications on a directory.	 */
+# define F_DUPFD_CLOEXEC 1030	/* Duplicate file descriptor with
+				   close-on-exit set.  */
 #endif
 
 /* For F_[GET|SET]FD.  */
diff --git a/sysdeps/unix/sysv/linux/sparc/bits/fcntl.h b/sysdeps/unix/sysv/linux/sparc/bits/fcntl.h
index ebfeb605ae..c5c035c620 100644
--- a/sysdeps/unix/sysv/linux/sparc/bits/fcntl.h
+++ b/sysdeps/unix/sysv/linux/sparc/bits/fcntl.h
@@ -105,6 +105,8 @@
 # define F_SETLEASE     1024	/* Set a lease.  */
 # define F_GETLEASE     1025	/* Enquire what lease is active.  */
 # define F_NOTIFY       1026	/* Request notfications on a directory.  */
+# define F_DUPFD_CLOEXEC 1030	/* Duplicate file descriptor with
+				   close-on-exit set.  */
 #endif
 
 #if __WORDSIZE == 64
diff --git a/sysdeps/unix/sysv/linux/x86_64/bits/fcntl.h b/sysdeps/unix/sysv/linux/x86_64/bits/fcntl.h
index f1fd3c4e41..cf96ac7599 100644
--- a/sysdeps/unix/sysv/linux/x86_64/bits/fcntl.h
+++ b/sysdeps/unix/sysv/linux/x86_64/bits/fcntl.h
@@ -112,6 +112,8 @@
 # define F_SETLEASE	1024	/* Set a lease.	 */
 # define F_GETLEASE	1025	/* Enquire what lease is active.  */
 # define F_NOTIFY	1026	/* Request notfications on a directory.	 */
+# define F_DUPFD_CLOEXEC 1030	/* Duplicate file descriptor with
+				   close-on-exit set.  */
 #endif
 
 /* For F_[GET|SET]FD.  */
diff --git a/sysdeps/x86_64/bzero.S b/sysdeps/x86_64/bzero.S
index 2688f456b5..f96d567fd8 100644
--- a/sysdeps/x86_64/bzero.S
+++ b/sysdeps/x86_64/bzero.S
@@ -1,3 +1 @@
-#define memset __bzero
-#include <sysdeps/x86_64/memset.S>
-weak_alias (__bzero, bzero)
+/* Implemented in memset.S.  */
diff --git a/sysdeps/x86_64/cacheinfo.c b/sysdeps/x86_64/cacheinfo.c
index 12102fea81..83e7b3c60b 100644
--- a/sysdeps/x86_64/cacheinfo.c
+++ b/sysdeps/x86_64/cacheinfo.c
@@ -404,9 +404,24 @@ long int __x86_64_data_cache_size_half attribute_hidden = 32 * 1024 / 2;
 /* Shared cache size for use in memory and string routines, typically
    L2 or L3 size.  */
 long int __x86_64_shared_cache_size_half attribute_hidden = 1024 * 1024 / 2;
+#ifdef NOT_USED_RIGHT_NOW
+long int __x86_64_shared_cache_size attribute_hidden = 1024 * 1024;
+#endif
 /* PREFETCHW support flag for use in memory and string routines.  */
 int __x86_64_prefetchw attribute_hidden;
 
+#ifdef NOT_USED_RIGHT_NOW
+/* Instructions preferred for memory and string routines.
+
+  0: Regular instructions
+  1: MMX instructions
+  2: SSE2 instructions
+  3: SSSE3 instructions
+
+  */
+int __x86_64_preferred_memory_instruction attribute_hidden;
+#endif
+
 
 static void
 __attribute__((constructor))
@@ -444,6 +459,19 @@ init_cacheinfo (void)
           shared = handle_intel (_SC_LEVEL2_CACHE_SIZE, max_cpuid);
 	}
 
+      asm volatile ("cpuid"
+		    : "=a" (eax), "=b" (ebx), "=c" (ecx), "=d" (edx)
+		    : "0" (1));
+
+#ifdef NOT_USED_RIGHT_NOW
+      /* Intel prefers SSSE3 instructions for memory/string rountines
+	 if they are avaiable.  */
+      if ((ecx & 0x200))
+	__x86_64_preferred_memory_instruction = 3;
+      else
+	__x86_64_preferred_memory_instruction = 2;
+#endif
+
       /* Figure out the number of logical threads that share the
 	 highest cache level.  */
       if (max_cpuid >= 4)
@@ -472,9 +500,6 @@ init_cacheinfo (void)
         {
 	intel_bug_no_cache_info:
 	  /* Assume that all logical threads share the highest cache level.  */
-          asm volatile ("cpuid"
-		        : "=a" (eax), "=b" (ebx), "=c" (ecx), "=d" (edx)
-		        : "0" (1));
 
 	  threads = (ebx >> 16) & 0xff;
 	}
@@ -549,5 +574,10 @@ init_cacheinfo (void)
     __x86_64_data_cache_size_half = data / 2;
 
   if (shared > 0)
-    __x86_64_shared_cache_size_half = shared / 2;
+    {
+      __x86_64_shared_cache_size_half = shared / 2;
+#ifdef NOT_USED_RIGHT_NOW
+      __x86_64_shared_cache_size = shared;
+#endif
+    }
 }
diff --git a/sysdeps/x86_64/elf/configure b/sysdeps/x86_64/elf/configure
index 24eff6284d..7a2e3004a5 100755
--- a/sysdeps/x86_64/elf/configure
+++ b/sysdeps/x86_64/elf/configure
@@ -3,8 +3,8 @@
 
 if test "$usetls" != no; then
 # Check for support of thread-local storage handling in assembler and linker.
-echo "$as_me:$LINENO: checking for x86-64 TLS support" >&5
-echo $ECHO_N "checking for x86-64 TLS support... $ECHO_C" >&6
+{ echo "$as_me:$LINENO: checking for x86-64 TLS support" >&5
+echo $ECHO_N "checking for x86-64 TLS support... $ECHO_C" >&6; }
 if test "${libc_cv_x86_64_tls+set}" = set; then
   echo $ECHO_N "(cached) $ECHO_C" >&6
 else
@@ -33,8 +33,8 @@ else
 fi
 rm -f conftest*
 fi
-echo "$as_me:$LINENO: result: $libc_cv_x86_64_tls" >&5
-echo "${ECHO_T}$libc_cv_x86_64_tls" >&6
+{ echo "$as_me:$LINENO: result: $libc_cv_x86_64_tls" >&5
+echo "${ECHO_T}$libc_cv_x86_64_tls" >&6; }
 if test $libc_cv_x86_64_tls = yes; then
   cat >>confdefs.h <<\_ACEOF
 #define HAVE_TLS_SUPPORT 1
diff --git a/sysdeps/x86_64/memset.S b/sysdeps/x86_64/memset.S
index 1c421c75f3..db39b09c89 100644
--- a/sysdeps/x86_64/memset.S
+++ b/sysdeps/x86_64/memset.S
@@ -1,6 +1,6 @@
 /* memset/bzero -- set memory area to CH/0
    Optimized version for x86-64.
-   Copyright (C) 2002, 2003, 2004, 2005 Free Software Foundation, Inc.
+   Copyright (C) 2002, 2003, 2004, 2005, 2007 Free Software Foundation, Inc.
    This file is part of the GNU C Library.
    Contributed by Andreas Jaeger <aj@suse.de>.
 
@@ -24,37 +24,35 @@
 #include "bp-sym.h"
 #include "bp-asm.h"
 
-/* BEWARE: `#ifdef memset' means that memset is redefined as `bzero' */
-#define BZERO_P (defined memset)
-
 /* This is somehow experimental and could made dependend on the cache
    size.  */
 #define LARGE $120000
 
         .text
-#if !BZERO_P && defined PIC && !defined NOT_IN_libc
+#ifndef NOT_IN_libc
+ENTRY(bzero)
+	mov	%rsi,%rdx	/* Adjust parameter.  */
+	xorl	%esi,%esi	/* Fill with 0s.  */
+	jmp	L(memset_entry)
+END(bzero)
+#endif
+
+#if defined PIC && !defined NOT_IN_libc
 ENTRY (__memset_chk)
 	cmpq	%rdx, %rcx
 	jb	HIDDEN_JUMPTARGET (__chk_fail)
 END (__memset_chk)
 #endif
 ENTRY (memset)
-#if BZERO_P
-	mov	%rsi,%rdx	/* Adjust parameter.  */
-	xorl	%esi,%esi	/* Fill with 0s.  */
-#endif
+L(memset_entry):
 	cmp	$0x7,%rdx	/* Check for small length.  */
 	mov	%rdi,%rcx	/* Save ptr as return value.  */
 	jbe	7f
 
-#if BZERO_P
-	mov	%rsi,%r8	/* Just copy 0.  */
-#else
 	/* Populate 8 bit data to full 64-bit.  */
 	movabs	$0x0101010101010101,%r8
 	movzbl	%sil,%eax
 	imul	%rax,%r8
-#endif
 	test	$0x7,%edi	/* Check for alignment.  */
 	je	2f
 
@@ -109,12 +107,8 @@ ENTRY (memset)
 	dec	%rdx
 	jne	8b
 9:
-#if BZERO_P
-	nop
-#else
 	/* Load result (only if used as memset).  */
 	mov	%rdi,%rax	/* start address of destination is result */
-#endif
 	retq
 
 	.p2align 4
@@ -135,11 +129,9 @@ ENTRY (memset)
 	jmp	4b
 
 END (memset)
-#if !BZERO_P
 libc_hidden_builtin_def (memset)
-#endif
 
-#if !BZERO_P && defined PIC && !defined NOT_IN_libc
+#if defined PIC && !defined NOT_IN_libc
 strong_alias (__memset_chk, __memset_zero_constant_len_parameter)
 	.section .gnu.warning.__memset_zero_constant_len_parameter
 	.string "memset used with constant zero length parameter; this could be due to transposed parameters"
diff --git a/time/strftime_l.c b/time/strftime_l.c
index 0fd3f7764f..4a57b1599d 100644
--- a/time/strftime_l.c
+++ b/time/strftime_l.c
@@ -1,4 +1,4 @@
-/* Copyright (C) 2002, 2004 Free Software Foundation, Inc.
+/* Copyright (C) 2002, 2004, 2007 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
@@ -84,6 +84,7 @@ extern char *tzname[];
 # include <stddef.h>
 # include <stdlib.h>
 # include <string.h>
+# include <stdbool.h>
 #else
 # ifndef HAVE_MEMCPY
 #  define memcpy(d, s, n) bcopy ((s), (d), (n))
@@ -453,27 +454,9 @@ static CHAR_T const month_name[][10] =
 # define ut 0
 #endif
 
-#if !defined _LIBC && HAVE_TZNAME && HAVE_TZSET
-  /* Solaris 2.5 tzset sometimes modifies the storage returned by localtime.
-     Work around this bug by copying *tp before it might be munged.  */
-  size_t _strftime_copytm (char *, size_t, const char *,
-			   const struct tm * ut_argument_spec_iso) __THROW;
-  size_t
-  my_strftime (s, maxsize, format, tp ut_argument)
-      CHAR_T *s;
-      size_t maxsize;
-      const CHAR_T *format;
-      const struct tm *tp;
-      ut_argument_spec
-  {
-    struct tm tmcopy;
-    tmcopy = *tp;
-    return _strftime_copytm (s, maxsize, format, &tmcopy ut_argument);
-  }
-# undef my_strftime
-# define my_strftime _strftime_copytm
-#endif
-
+static size_t __strftime_internal (CHAR_T *, size_t, const CHAR_T *,
+				   const struct tm *, bool ut_argument_spec_iso
+				   LOCALE_PARAM_PROTO) __THROW;
 
 /* Write information from TP into S according to the format
    string FORMAT, writing no more that MAXSIZE characters
@@ -481,12 +464,38 @@ static CHAR_T const month_name[][10] =
    characters written.  If S is NULL, nothing will be written
    anywhere, so to determine how many characters would be
    written, use NULL for S and (size_t) UINT_MAX for MAXSIZE.  */
+
 size_t
 my_strftime (s, maxsize, format, tp ut_argument LOCALE_PARAM)
+     CHAR_T *s;
+     size_t maxsize;
+     const CHAR_T *format;
+     const struct tm *tp;
+     ut_argument_spec
+     LOCALE_PARAM_DECL
+{
+#if !defined _LIBC && HAVE_TZNAME && HAVE_TZSET
+  /* Solaris 2.5 tzset sometimes modifies the storage returned by localtime.
+     Work around this bug by copying *tp before it might be munged.  */
+  struct tm tmcopy;
+  tmcopy = *tp;
+  tp = &tmcopy;
+#endif
+  return __strftime_internal (s, maxsize, format, tp, false
+			      ut_argument LOCALE_ARG);
+}
+#ifdef _LIBC
+libc_hidden_def (my_strftime)
+#endif
+
+static size_t
+__strftime_internal (s, maxsize, format, tp, tzset_called ut_argument
+		     LOCALE_PARAM)
       CHAR_T *s;
       size_t maxsize;
       const CHAR_T *format;
       const struct tm *tp;
+      bool tzset_called;
       ut_argument_spec
       LOCALE_PARAM_DECL
 {
@@ -559,7 +568,9 @@ my_strftime (s, maxsize, format, tp ut_argument LOCALE_PARAM)
       /* POSIX.1 requires that local time zone information is used as
 	 though strftime called tzset.  */
 # if HAVE_TZSET
-      tzset ();
+      if (!tzset_called)
+	tzset ();
+      tzset_called = true;
 # endif
     }
 #endif
@@ -834,10 +845,12 @@ my_strftime (s, maxsize, format, tp ut_argument LOCALE_PARAM)
 	subformat:
 	  {
 	    CHAR_T *old_start = p;
-	    size_t len = my_strftime (NULL, (size_t) -1, subfmt,
-				      tp ut_argument LOCALE_ARG);
-	    add (len, my_strftime (p, maxsize - i, subfmt,
-				   tp ut_argument LOCALE_ARG));
+	    size_t len = __strftime_internal (NULL, (size_t) -1, subfmt,
+					      tp, tzset_called ut_argument
+					      LOCALE_ARG);
+	    add (len, __strftime_internal (p, maxsize - i, subfmt,
+					   tp, tzset_called ut_argument
+					   LOCALE_ARG));
 
 	    if (to_uppcase)
 	      while (old_start < p)
@@ -1409,9 +1422,6 @@ my_strftime (s, maxsize, format, tp ut_argument LOCALE_PARAM)
     *p = L_('\0');
   return i;
 }
-#ifdef _LIBC
-libc_hidden_def (my_strftime)
-#endif
 
 
 #ifdef emacs
diff --git a/time/tzfile.c b/time/tzfile.c
index 44d6614771..d19b7e9b4f 100644
--- a/time/tzfile.c
+++ b/time/tzfile.c
@@ -243,7 +243,7 @@ __tzfile_read (const char *file, size_t extra, char **extrap)
 		& ~(__alignof__ (struct leap) - 1));
   leaps_idx = total_size;
   total_size += num_leaps * sizeof (struct leap);
-  tzspec_len = (trans_width == 8
+  tzspec_len = (sizeof (time_t) == 8 && trans_width == 8
 		? st.st_size - (ftello (f)
 				+ num_transitions * (8 + 1)
 				+ num_types * 6
@@ -263,14 +263,14 @@ __tzfile_read (const char *file, size_t extra, char **extrap)
   types = (struct ttinfo *) ((char *) transitions + types_idx);
   zone_names = (char *) types + num_types * sizeof (struct ttinfo);
   leaps = (struct leap *) ((char *) transitions + leaps_idx);
-  if (trans_width == 8)
-    tzspec = (char *) leaps + num_leaps * sizeof (struct leap);
+  if (sizeof (time_t) == 8 && trans_width == 8)
+    tzspec = (char *) leaps + num_leaps * sizeof (struct leap) + extra;
   else
     tzspec = NULL;
   if (extra > 0)
     *extrap = (char *) &leaps[num_leaps];
 
-  if (sizeof (time_t) == 4 || trans_width == 8)
+  if (sizeof (time_t) == 4 || __builtin_expect (trans_width == 8, 1))
     {
       if (__builtin_expect (fread_unlocked (transitions, trans_width + 1,
 					    num_transitions, f)
@@ -371,15 +371,53 @@ __tzfile_read (const char *file, size_t extra, char **extrap)
     types[i++].isgmt = 0;
 
   /* Read the POSIX TZ-style information if possible.  */
-  if (tzspec != NULL)
+  if (sizeof (time_t) == 8 && tzspec != NULL)
     {
       /* Skip over the newline first.  */
       if (getc_unlocked (f) != '\n'
-	  || fread_unlocked (tzspec, 1, tzspec_len - 1, f) != tzspec_len - 1)
+	  || (fread_unlocked (tzspec, 1, tzspec_len - 1, f)
+	      != tzspec_len - 1))
 	tzspec = NULL;
       else
 	tzspec[tzspec_len - 1] = '\0';
     }
+  else if (sizeof (time_t) == 4 && tzhead.tzh_version != '\0')
+    {
+      /* Get the TZ string.  */
+      if (__builtin_expect (fread_unlocked ((void *) &tzhead, sizeof (tzhead),
+					    1, f) != 1, 0)
+	  || (memcmp (tzhead.tzh_magic, TZ_MAGIC, sizeof (tzhead.tzh_magic))
+	      != 0))
+	goto lose;
+
+      size_t num_transitions2 = (size_t) decode (tzhead.tzh_timecnt);
+      size_t num_types2 = (size_t) decode (tzhead.tzh_typecnt);
+      size_t chars2 = (size_t) decode (tzhead.tzh_charcnt);
+      size_t num_leaps2 = (size_t) decode (tzhead.tzh_leapcnt);
+      size_t num_isstd2 = (size_t) decode (tzhead.tzh_ttisstdcnt);
+      size_t num_isgmt2 = (size_t) decode (tzhead.tzh_ttisgmtcnt);
+
+      /* Position the stream before the second header.  */
+      size_t to_skip = (num_transitions2 * (8 + 1)
+			+ num_types2 * 6
+			+ chars2
+			+ num_leaps2 * 12
+			+ num_isstd2
+			+ num_isgmt2);
+      off_t off;
+      if (fseek (f, to_skip, SEEK_CUR) != 0
+	  || (off = ftello (f)) < 0
+	  || st.st_size < off + 2)
+	goto lose;
+
+      tzspec_len = st.st_size - off - 1;
+      char *tzstr = alloca (tzspec_len);
+      if (getc_unlocked (f) != '\n'
+	  || (fread_unlocked (tzstr, 1, tzspec_len - 1, f) != tzspec_len - 1))
+	goto lose;
+      tzstr[tzspec_len - 1] = '\0';
+      tzspec = __tzstring (tzstr);
+    }
 
   fclose (f);
 
@@ -561,7 +599,7 @@ __tzfile_compute (time_t timer, int use_localtime,
       __tzname[0] = NULL;
       __tzname[1] = NULL;
 
-      if (num_transitions == 0 || timer < transitions[0])
+      if (__builtin_expect (num_transitions == 0 || timer < transitions[0], 0))
 	{
 	  /* TIMER is before any transition (or there are no transitions).
 	     Choose the first non-DST type
@@ -591,12 +629,12 @@ __tzfile_compute (time_t timer, int use_localtime,
 		  ++j;
 	    }
 	}
-      else if (timer >= transitions[num_transitions - 1])
+      else if (__builtin_expect (timer >= transitions[num_transitions - 1], 0))
 	{
-	  if (tzspec == NULL)
+	  if (__builtin_expect (tzspec == NULL, 0))
 	    {
 	    use_last:
-	      i = num_transitions - 1;
+	      i = num_transitions;
 	      goto found;
 	    }
 
@@ -605,12 +643,22 @@ __tzfile_compute (time_t timer, int use_localtime,
 
 	  /* Convert to broken down structure.  If this fails do not
 	     use the string.  */
-	  if (! __offtime (&timer, 0, tp))
+	  if (__builtin_expect (! __offtime (&timer, 0, tp), 0))
 	    goto use_last;
 
 	  /* Use the rules from the TZ string to compute the change.  */
 	  __tz_compute (timer, tp, 1);
 
+	  /* If tzspec comes from posixrules loaded by __tzfile_default,
+	     override the STD and DST zone names with the ones user
+	     requested in TZ envvar.  */
+	  if (__builtin_expect (zone_names == (char *) &leaps[num_leaps], 0))
+	    {
+	      assert (num_types == 2);
+	      __tzname[0] = __tzstring (zone_names);
+	      __tzname[1] = __tzstring (&zone_names[strlen (zone_names) + 1]);
+	    }
+
 	  *leap_correct = 0L;
 	  *leap_hit = 0;
 	  return;
@@ -666,7 +714,8 @@ __tzfile_compute (time_t timer, int use_localtime,
 	  i = hi;
 
 	found:
-	  /* assert (timer >= transitions[i - 1] && timer < transitions[i]); */
+	  /* assert (timer >= transitions[i - 1]
+	     && (i == num_transitions || timer < transitions[i])); */
 	  __tzname[types[type_idxs[i - 1]].isdst]
 	    = __tzstring (&zone_names[types[type_idxs[i - 1]].idx]);
 	  size_t j = i;
@@ -687,6 +736,9 @@ __tzfile_compute (time_t timer, int use_localtime,
 	      ++j;
 	    }
 
+	  if (__builtin_expect (__tzname[0] == NULL, 0))
+	    __tzname[0] = __tzname[1];
+
 	  i = type_idxs[i - 1];
 	}
 
diff --git a/time/tzset.c b/time/tzset.c
index 27efef0f7a..0d54202185 100644
--- a/time/tzset.c
+++ b/time/tzset.c
@@ -401,7 +401,7 @@ tzset_internal (always, explicit)
   if (tz && *tz == ':')
     ++tz;
 
-  /* Check whether the value changes since the last run.  */
+  /* Check whether the value changed since the last run.  */
   if (old_tz != NULL && tz != NULL && strcmp (tz, old_tz) == 0)
     /* No change, simply return.  */
     return;
@@ -606,9 +606,8 @@ __tz_convert (const time_t *timer, int use_localtime, struct tm *tp)
 
   /* Update internal database according to current TZ setting.
      POSIX.1 8.3.7.2 says that localtime_r is not required to set tzname.
-     This is a good idea since this allows at least a bit more parallelism.
-     By analogy we apply the same rule to gmtime_r.  */
-  tzset_internal (tp == &_tmbuf, 0);
+     This is a good idea since this allows at least a bit more parallelism.  */
+  tzset_internal (tp == &_tmbuf && use_localtime, 1);
 
   if (__use_tzfile)
     __tzfile_compute (*timer, use_localtime, &leap_correction,