commit bdac1623cca4c3d1683e24cc7d093201c5d9fa26
Author: Florian Weimer <fweimer@redhat.com>
Date:   Tue Feb 6 09:19:03 2018 +0100

    Record CVE-2018-6551 in NEWS and ChangeLog [BZ #22774]
    
    (cherry picked from commit 71aa429b029fdb6f9e65d44050388b51eca460d6)

diff --git a/ChangeLog b/ChangeLog
index f3fe2716b2..76e2767086 100644
--- a/ChangeLog
+++ b/ChangeLog
@@ -710,7 +710,9 @@
 2018-01-18  Arjun Shankar  <arjun@redhat.com>
 
 	[BZ #22343]
+	[BZ #22774]
 	CVE-2018-6485
+	CVE-2018-6551
 	* malloc/malloc.c (checked_request2size): call REQUEST_OUT_OF_RANGE
 	after padding.
 	(_int_memalign): check for integer overflow before calling
diff --git a/NEWS b/NEWS
index a71c1038a8..0f7b0d5a9a 100644
--- a/NEWS
+++ b/NEWS
@@ -262,6 +262,10 @@ Security related changes:
   an object size near the value of SIZE_MAX, would return a pointer to a
   buffer which is too small, instead of NULL.  Reported by Jakub Wilk.
 
+  CVE-2018-6551: The malloc function, when called with an object size near
+  the value of SIZE_MAX, would return a pointer to a buffer which is too
+  small, instead of NULL.
+
 The following bugs are resolved with this release:
 
   [866] glob: glob should match dangling symlinks

commit ce8a6550fa33363f9c5043fe1b3e9900c1145888
Author: H.J. Lu <hjl.tools@gmail.com>
Date:   Mon Feb 5 05:46:38 2018 -0800

    sparc: Check PIC instead of SHARED in start.S [BZ #22638]
    
    Since start.o may be compiled as PIC, we should check PIC instead of
    SHARED.
    
            [BZ #22638]
            * sysdeps/sparc/sparc32/start.S (_start): Check PIC instead of
            SHARED.
            * sysdeps/sparc/sparc64/start.S (_start): Likewise.
    
    (cherry picked from commit 371b220f6208968d5f4bffc9f66bf885930a42a5)

diff --git a/ChangeLog b/ChangeLog
index 76e2767086..6b1369a357 100644
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,3 +1,9 @@
+2018-02-05  H.J. Lu  <hongjiu.lu@intel.com>
+
+	[BZ #22638]
+	* sysdeps/sparc/sparc32/start.S (_start): Check PIC instead of
+	SHARED.
+
 2018-02-01  Dmitry V. Levin  <ldv@altlinux.org>
 
 	* version.h (RELEASE): Set to "stable".
diff --git a/sysdeps/sparc/sparc32/start.S b/sysdeps/sparc/sparc32/start.S
index 1db7327fc6..46ba8b6afa 100644
--- a/sysdeps/sparc/sparc32/start.S
+++ b/sysdeps/sparc/sparc32/start.S
@@ -42,7 +42,7 @@
 	.global _start
 	.type _start,#function
 _start:
-#ifdef SHARED
+#ifdef PIC
 	SETUP_PIC_REG(l7)
 #endif
 
@@ -57,7 +57,7 @@ _start:
 	add	%sp, 23*4, %o2
 
   /* Load the addresses of the user entry points.  */
-#ifndef SHARED
+#ifndef PIC
 	sethi	%hi(main), %o0
 	sethi	%hi(__libc_csu_init), %o3
 	sethi	%hi(__libc_csu_fini), %o4
diff --git a/sysdeps/sparc/sparc64/start.S b/sysdeps/sparc/sparc64/start.S
index e1865f10cb..75ff5093dc 100644
--- a/sysdeps/sparc/sparc64/start.S
+++ b/sysdeps/sparc/sparc64/start.S
@@ -42,7 +42,7 @@
 	.global _start
 	.type _start,#function
 _start:
-#ifdef SHARED
+#ifdef PIC
 	SETUP_PIC_REG(l7)
 #endif
 
@@ -58,7 +58,7 @@ _start:
 	add	%sp, STACK_BIAS+23*8, %o2
 
   /* Load the addresses of the user entry points.  */
-#ifndef SHARED
+#ifndef PIC
 	sethi	%hi(main), %o0
 	sethi	%hi(__libc_csu_init), %o3
 	sethi	%hi(__libc_csu_fini), %o4

commit c8ad6ac1d1ac7600138b9dbd0b92e88c36cc999c
Author: Dmitry V. Levin <ldv@altlinux.org>
Date:   Tue Feb 6 09:31:30 2018 +0000

    NEWS: add an entry for bug 22638

diff --git a/NEWS b/NEWS
index 0f7b0d5a9a..4bb08b1dbf 100644
--- a/NEWS
+++ b/NEWS
@@ -5,6 +5,14 @@ See the end for copying conditions.
 Please send GNU C library bug reports via <https://sourceware.org/bugzilla/>
 using `glibc' in the "product" field.
 
+Version 2.27.1
+
+The following bugs are resolved with this release:
+
+  [22638] sparc: static binaries are broken if glibc is built by gcc
+    configured with --enable-default-pie
+
+
 Version 2.27
 
 Major new features:

commit 00c5a2d77a541fa005cb460bd1a45f51f1aa71ea
Author: H.J. Lu <hjl.tools@gmail.com>
Date:   Mon Feb 5 06:17:18 2018 -0800

    Add a missing ChangeLog item in commit 371b220f620
    
    (cherry picked from commit 658050164df9bce9ef8f2ccb1b74ba9ee2b2f4af)

diff --git a/ChangeLog b/ChangeLog
index 6b1369a357..65ebfbcb52 100644
--- a/ChangeLog
+++ b/ChangeLog
@@ -3,6 +3,7 @@
 	[BZ #22638]
 	* sysdeps/sparc/sparc32/start.S (_start): Check PIC instead of
 	SHARED.
+	* sysdeps/sparc/sparc64/start.S (_start): Likewise.
 
 2018-02-01  Dmitry V. Levin  <ldv@altlinux.org>
 

commit 56170e064e2b21ce204f0817733e92f1730541ea
Author: Igor Gnatenko <ignatenko@redhat.com>
Date:   Wed Feb 7 13:53:10 2018 +0100

    Linux: use reserved name __key in pkey_get [BZ #22797]
    
    _key is not reserved name and we should avoid using that. It seems that
    it was simple typo when pkey_* was implemented.
    
    (cherry picked from commit 388ff7bd0d57d7061fdd39a2f26f65687e8058da)

diff --git a/ChangeLog b/ChangeLog
index 65ebfbcb52..cfe43e3bc0 100644
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,3 +1,9 @@
+2018-02-07  Igor Gnatenko  <ignatenko@redhat.com>
+
+	[BZ #22797]
+	* sysdeps/unix/sysv/linux/bits/mman-shared.h (pkey_get): Add
+	missing second underscore to parameter name.
+
 2018-02-05  H.J. Lu  <hongjiu.lu@intel.com>
 
 	[BZ #22638]
diff --git a/NEWS b/NEWS
index 4bb08b1dbf..1e4cb10612 100644
--- a/NEWS
+++ b/NEWS
@@ -11,6 +11,7 @@ The following bugs are resolved with this release:
 
   [22638] sparc: static binaries are broken if glibc is built by gcc
     configured with --enable-default-pie
+  [22797] Linux: use reserved name __key in pkey_get
 
 
 Version 2.27
diff --git a/sysdeps/unix/sysv/linux/bits/mman-shared.h b/sysdeps/unix/sysv/linux/bits/mman-shared.h
index 7715e680ca..d15ba95c9d 100644
--- a/sysdeps/unix/sysv/linux/bits/mman-shared.h
+++ b/sysdeps/unix/sysv/linux/bits/mman-shared.h
@@ -61,7 +61,7 @@ int pkey_set (int __key, unsigned int __access_rights) __THROW;
 
 /* Return the access rights for the current thread for KEY, which must
    have been allocated using pkey_alloc.  */
-int pkey_get (int _key) __THROW;
+int pkey_get (int __key) __THROW;
 
 /* Free an allocated protection key, which must have been allocated
    using pkey_alloc.  */

commit 750a1c253f81a9dfe2cef5a568c68a5838ab46b9
Author: DJ Delorie <dj@redhat.com>
Date:   Fri Feb 9 18:37:15 2018 -0500

    [RISC-V] Fix parsing flags in ELF64 files.
    
    When ldconfig reads Elf64 files to determine the ABI, it used the
    Elf32 type, so read the wrong location, and stored the wrong ABI
    type in the cache, making the cache useless.  This patch uses
    an Elf64 type for Elf64 objects instead.
    
    Note that pre-patch caches might need to be manually removed and
    regenerated to get the correct ABIs stored.
    
            [BZ #22827]
            * sysdeps/unix/sysv/linux/riscv/readelflib.c (process_elf_file): Use
            64-bit ELF type for 64-bit ELF objects.
    
    (cherry picked from commit 6a1ff640dcec04905d8518983ad6252d38b7a733)

diff --git a/ChangeLog b/ChangeLog
index cfe43e3bc0..7be7772777 100644
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,3 +1,9 @@
+2018-02-09  DJ Delorie  <dj@redhat.com>
+
+	[BZ #22827]
+	* sysdeps/unix/sysv/linux/riscv/readelflib.c (process_elf_file): Use
+	64-bit ELF type for 64-bit ELF objects.
+
 2018-02-07  Igor Gnatenko  <ignatenko@redhat.com>
 
 	[BZ #22797]
diff --git a/sysdeps/unix/sysv/linux/riscv/readelflib.c b/sysdeps/unix/sysv/linux/riscv/readelflib.c
index 6e249ff82f..7e27e0c1d6 100644
--- a/sysdeps/unix/sysv/linux/riscv/readelflib.c
+++ b/sysdeps/unix/sysv/linux/riscv/readelflib.c
@@ -43,6 +43,7 @@ process_elf_file (const char *file_name, const char *lib, int *flag,
 {
   ElfW(Ehdr) *elf_header = (ElfW(Ehdr) *) file_contents;
   Elf32_Ehdr *elf32_header = (Elf32_Ehdr *) elf_header;
+  Elf64_Ehdr *elf64_header = (Elf64_Ehdr *) elf_header;
   int ret;
   long flags;
 
@@ -59,7 +60,7 @@ process_elf_file (const char *file_name, const char *lib, int *flag,
     {
       ret = process_elf64_file (file_name, lib, flag, osversion, soname,
 				file_contents, file_length);
-      flags = elf32_header->e_flags;
+      flags = elf64_header->e_flags;
     }
 
   /* RISC-V linkers encode the floating point ABI as part of the ELF headers.  */

commit 55171cd08f86b76ba140283d1b00bb903b49b6f4
Author: Adhemerval Zanella <adhemerval.zanella@linaro.org>
Date:   Wed Feb 14 14:03:13 2018 -0200

    Update SH libm-tests-ulps
    
            * sysdeps/sh/libm-test-ulps: Update.
    
    Signed-off-by: Adhemerval Zanella <adhemerval.zanella@linaro.org>

diff --git a/ChangeLog b/ChangeLog
index 7be7772777..cd72813419 100644
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,3 +1,7 @@
+2018-02-14  Adhemerval Zanella  <adhemerval.zanella@linaro.org>
+
+	* sysdeps/sh/libm-test-ulps: Update.
+
 2018-02-09  DJ Delorie  <dj@redhat.com>
 
 	[BZ #22827]
diff --git a/sysdeps/sh/libm-test-ulps b/sysdeps/sh/libm-test-ulps
index da4224c2d6..11c5f3216d 100644
--- a/sysdeps/sh/libm-test-ulps
+++ b/sysdeps/sh/libm-test-ulps
@@ -1,13 +1,31 @@
 # Begin of automatic generation
 
 # Maximal error of functions:
-Function: "acos_towardzero":
+Function: "acos":
 float: 1
 ifloat: 1
 
-Function: "acosh":
+Function: "acos_towardzero":
 double: 1
+float: 1
 idouble: 1
+ifloat: 1
+
+Function: "acosh":
+double: 2
+float: 2
+idouble: 2
+ifloat: 2
+
+Function: "acosh_towardzero":
+double: 2
+float: 2
+idouble: 2
+ifloat: 2
+
+Function: "asin":
+float: 1
+ifloat: 1
 
 Function: "asin_towardzero":
 double: 1
@@ -18,16 +36,55 @@ ifloat: 1
 Function: "asinh":
 double: 1
 float: 1
+idouble: 1
+ifloat: 1
+
+Function: "asinh_towardzero":
+double: 2
+float: 2
+idouble: 2
+ifloat: 2
+
+Function: "atan":
+float: 1
 ifloat: 1
 
 Function: "atan2":
 float: 1
 ifloat: 1
 
-Function: "atanh":
+Function: "atan2_towardzero":
+double: 1
+float: 2
+idouble: 1
+ifloat: 2
+
+Function: "atan_towardzero":
+double: 1
 float: 1
+idouble: 1
 ifloat: 1
 
+Function: "atanh":
+double: 2
+float: 2
+idouble: 2
+ifloat: 2
+
+Function: "atanh_towardzero":
+double: 2
+float: 2
+idouble: 2
+ifloat: 2
+
+Function: "cabs":
+double: 1
+idouble: 1
+
+Function: "cabs_towardzero":
+double: 1
+idouble: 1
+
 Function: Real part of "cacos":
 double: 1
 float: 2
@@ -35,18 +92,52 @@ idouble: 1
 ifloat: 2
 
 Function: Imaginary part of "cacos":
-double: 1
+double: 2
 float: 2
-idouble: 1
+idouble: 2
+ifloat: 2
+
+Function: Real part of "cacos_towardzero":
+double: 3
+float: 2
+idouble: 3
+ifloat: 2
+
+Function: Imaginary part of "cacos_towardzero":
+double: 4
+float: 2
+idouble: 4
 ifloat: 2
 
 Function: Real part of "cacosh":
+double: 2
+float: 2
+idouble: 2
+ifloat: 2
+
+Function: Imaginary part of "cacosh":
 double: 1
 float: 2
 idouble: 1
 ifloat: 2
 
-Function: Imaginary part of "cacosh":
+Function: Real part of "cacosh_towardzero":
+double: 4
+float: 2
+idouble: 4
+ifloat: 2
+
+Function: Imaginary part of "cacosh_towardzero":
+double: 3
+float: 2
+idouble: 3
+ifloat: 2
+
+Function: "carg":
+float: 1
+ifloat: 1
+
+Function: "carg_towardzero":
 double: 1
 float: 2
 idouble: 1
@@ -59,15 +150,27 @@ idouble: 1
 ifloat: 1
 
 Function: Imaginary part of "casin":
-double: 1
+double: 2
 float: 2
-idouble: 1
+idouble: 2
+ifloat: 2
+
+Function: Real part of "casin_towardzero":
+double: 3
+float: 1
+idouble: 3
+ifloat: 1
+
+Function: Imaginary part of "casin_towardzero":
+double: 4
+float: 2
+idouble: 4
 ifloat: 2
 
 Function: Real part of "casinh":
-double: 1
+double: 2
 float: 2
-idouble: 1
+idouble: 2
 ifloat: 2
 
 Function: Imaginary part of "casinh":
@@ -76,8 +179,22 @@ float: 1
 idouble: 1
 ifloat: 1
 
+Function: Real part of "casinh_towardzero":
+double: 4
+float: 2
+idouble: 4
+ifloat: 2
+
+Function: Imaginary part of "casinh_towardzero":
+double: 3
+float: 1
+idouble: 3
+ifloat: 1
+
 Function: Real part of "catan":
+double: 1
 float: 1
+idouble: 1
 ifloat: 1
 
 Function: Imaginary part of "catan":
@@ -86,6 +203,18 @@ float: 1
 idouble: 1
 ifloat: 1
 
+Function: Real part of "catan_towardzero":
+double: 1
+float: 2
+idouble: 1
+ifloat: 2
+
+Function: Imaginary part of "catan_towardzero":
+double: 2
+float: 2
+idouble: 2
+ifloat: 2
+
 Function: Real part of "catanh":
 double: 1
 float: 1
@@ -93,13 +222,33 @@ idouble: 1
 ifloat: 1
 
 Function: Imaginary part of "catanh":
+double: 1
 float: 1
+idouble: 1
 ifloat: 1
 
-Function: "cbrt":
+Function: Real part of "catanh_towardzero":
+double: 2
+float: 2
+idouble: 2
+ifloat: 2
+
+Function: Imaginary part of "catanh_towardzero":
 double: 1
-float: 1
+float: 2
 idouble: 1
+ifloat: 2
+
+Function: "cbrt":
+double: 3
+float: 1
+idouble: 3
+ifloat: 1
+
+Function: "cbrt_towardzero":
+double: 3
+float: 1
+idouble: 3
 ifloat: 1
 
 Function: Real part of "ccos":
@@ -114,6 +263,18 @@ float: 1
 idouble: 1
 ifloat: 1
 
+Function: Real part of "ccos_towardzero":
+double: 1
+float: 2
+idouble: 1
+ifloat: 2
+
+Function: Imaginary part of "ccos_towardzero":
+double: 2
+float: 3
+idouble: 2
+ifloat: 3
+
 Function: Real part of "ccosh":
 double: 1
 float: 1
@@ -126,6 +287,18 @@ float: 1
 idouble: 1
 ifloat: 1
 
+Function: Real part of "ccosh_towardzero":
+double: 1
+float: 3
+idouble: 1
+ifloat: 3
+
+Function: Imaginary part of "ccosh_towardzero":
+double: 2
+float: 3
+idouble: 2
+ifloat: 3
+
 Function: Real part of "cexp":
 double: 2
 float: 1
@@ -138,27 +311,63 @@ float: 2
 idouble: 1
 ifloat: 2
 
-Function: Real part of "clog":
+Function: Real part of "cexp_towardzero":
 double: 1
-float: 1
+float: 2
 idouble: 1
-ifloat: 1
+ifloat: 2
+
+Function: Imaginary part of "cexp_towardzero":
+double: 1
+float: 3
+idouble: 1
+ifloat: 3
+
+Function: Real part of "clog":
+double: 3
+float: 3
+idouble: 3
+ifloat: 3
 
 Function: Imaginary part of "clog":
 float: 1
 ifloat: 1
 
 Function: Real part of "clog10":
+double: 3
+float: 4
+idouble: 3
+ifloat: 4
+
+Function: Imaginary part of "clog10":
 double: 2
 float: 2
 idouble: 2
 ifloat: 2
 
-Function: Imaginary part of "clog10":
+Function: Real part of "clog10_towardzero":
+double: 5
+float: 5
+idouble: 5
+ifloat: 5
+
+Function: Imaginary part of "clog10_towardzero":
+double: 2
+float: 3
+idouble: 2
+ifloat: 3
+
+Function: Real part of "clog_towardzero":
+double: 4
+float: 4
+idouble: 4
+ifloat: 4
+
+Function: Imaginary part of "clog_towardzero":
 double: 1
-float: 1
+float: 3
 idouble: 1
-ifloat: 1
+ifloat: 3
 
 Function: "cos":
 float: 1
@@ -184,42 +393,90 @@ ifloat: 1
 
 Function: Real part of "cpow":
 double: 2
-float: 4
+float: 5
 idouble: 2
-ifloat: 4
+ifloat: 5
 
 Function: Imaginary part of "cpow":
 float: 2
 ifloat: 2
 
+Function: Real part of "cpow_towardzero":
+double: 4
+float: 8
+idouble: 4
+ifloat: 8
+
+Function: Imaginary part of "cpow_towardzero":
+double: 1
+float: 2
+idouble: 1
+ifloat: 2
+
 Function: Real part of "csin":
 double: 1
 float: 1
 idouble: 1
 ifloat: 1
 
-Function: Real part of "csinh":
-float: 1
-ifloat: 1
+Function: Real part of "csin_towardzero":
+double: 2
+float: 3
+idouble: 2
+ifloat: 3
 
-Function: Imaginary part of "csinh":
+Function: Imaginary part of "csin_towardzero":
 double: 1
 float: 1
 idouble: 1
 ifloat: 1
 
-Function: Real part of "csqrt":
-double: 1
+Function: Real part of "csinh":
 float: 1
-idouble: 1
 ifloat: 1
 
-Function: Imaginary part of "csqrt":
+Function: Imaginary part of "csinh":
 double: 1
 float: 1
 idouble: 1
 ifloat: 1
 
+Function: Real part of "csinh_towardzero":
+double: 2
+float: 2
+idouble: 2
+ifloat: 2
+
+Function: Imaginary part of "csinh_towardzero":
+double: 2
+float: 3
+idouble: 2
+ifloat: 3
+
+Function: Real part of "csqrt":
+double: 2
+float: 2
+idouble: 2
+ifloat: 2
+
+Function: Imaginary part of "csqrt":
+double: 2
+float: 2
+idouble: 2
+ifloat: 2
+
+Function: Real part of "csqrt_towardzero":
+double: 4
+float: 3
+idouble: 4
+ifloat: 3
+
+Function: Imaginary part of "csqrt_towardzero":
+double: 4
+float: 3
+idouble: 4
+ifloat: 3
+
 Function: Real part of "ctan":
 double: 1
 float: 1
@@ -246,9 +503,9 @@ ifloat: 3
 
 Function: Real part of "ctanh":
 double: 2
-float: 1
+float: 2
 idouble: 2
-ifloat: 1
+ifloat: 2
 
 Function: Imaginary part of "ctanh":
 double: 2
@@ -270,25 +527,51 @@ ifloat: 3
 
 Function: "erf":
 double: 1
+float: 1
 idouble: 1
+ifloat: 1
 
-Function: "erfc":
+Function: "erf_towardzero":
 double: 1
 float: 1
 idouble: 1
 ifloat: 1
 
+Function: "erfc":
+double: 3
+float: 2
+idouble: 3
+ifloat: 2
+
+Function: "erfc_towardzero":
+double: 3
+float: 3
+idouble: 3
+ifloat: 3
+
 Function: "exp10":
+double: 2
+idouble: 2
+
+Function: "exp10_towardzero":
+double: 2
+float: 1
+idouble: 2
+ifloat: 1
+
+Function: "exp2":
 double: 1
 idouble: 1
 
-Function: "exp10_towardzero":
+Function: "exp2_towardzero":
 double: 1
 idouble: 1
 
 Function: "exp_towardzero":
 double: 1
+float: 1
 idouble: 1
+ifloat: 1
 
 Function: "expm1":
 double: 1
@@ -298,21 +581,31 @@ ifloat: 1
 
 Function: "expm1_towardzero":
 double: 1
-float: 1
+float: 2
 idouble: 1
-ifloat: 1
+ifloat: 2
 
 Function: "fma_towardzero":
 double: 1
 idouble: 1
 
 Function: "gamma":
+double: 4
+float: 3
+idouble: 4
+ifloat: 3
+
+Function: "gamma_towardzero":
+double: 5
+float: 3
+idouble: 5
+ifloat: 3
+
+Function: "hypot":
 double: 1
-float: 1
 idouble: 1
-ifloat: 1
 
-Function: "hypot":
+Function: "hypot_towardzero":
 double: 1
 idouble: 1
 
@@ -322,44 +615,94 @@ float: 2
 idouble: 2
 ifloat: 2
 
+Function: "j0_towardzero":
+double: 3
+float: 1
+idouble: 3
+ifloat: 1
+
 Function: "j1":
 double: 1
 float: 2
 idouble: 1
 ifloat: 2
 
+Function: "j1_towardzero":
+double: 3
+float: 2
+idouble: 3
+ifloat: 2
+
 Function: "jn":
 double: 4
 float: 4
 idouble: 4
 ifloat: 4
 
+Function: "jn_towardzero":
+double: 5
+float: 5
+idouble: 5
+ifloat: 5
+
 Function: "lgamma":
-double: 1
-float: 1
-idouble: 1
-ifloat: 1
+double: 4
+float: 3
+idouble: 4
+ifloat: 3
+
+Function: "lgamma_towardzero":
+double: 5
+float: 3
+idouble: 5
+ifloat: 3
 
 Function: "log":
 float: 1
 ifloat: 1
 
 Function: "log10":
-double: 1
+double: 2
 float: 2
-idouble: 1
+idouble: 2
 ifloat: 2
 
+Function: "log10_towardzero":
+double: 2
+float: 1
+idouble: 2
+ifloat: 1
+
 Function: "log1p":
+double: 1
+float: 1
+idouble: 1
+ifloat: 1
+
+Function: "log1p_towardzero":
+double: 2
+float: 2
+idouble: 2
+ifloat: 2
+
+Function: "log2":
+double: 2
 float: 1
+idouble: 2
 ifloat: 1
 
+Function: "log2_towardzero":
+double: 2
+idouble: 2
+
 Function: "pow":
 float: 1
 ifloat: 1
 
 Function: "pow_towardzero":
+double: 1
 float: 1
+idouble: 1
 ifloat: 1
 
 Function: "sin":
@@ -376,9 +719,27 @@ Function: "sincos":
 float: 1
 ifloat: 1
 
-Function: "sinh_towardzero":
+Function: "sincos_towardzero":
 double: 1
+float: 1
 idouble: 1
+ifloat: 1
+
+Function: "sinh":
+double: 2
+float: 2
+idouble: 2
+ifloat: 2
+
+Function: "sinh_towardzero":
+double: 2
+float: 2
+idouble: 2
+ifloat: 2
+
+Function: "tan":
+float: 1
+ifloat: 1
 
 Function: "tan_towardzero":
 double: 1
@@ -386,11 +747,29 @@ float: 1
 idouble: 1
 ifloat: 1
 
+Function: "tanh":
+double: 2
+float: 2
+idouble: 2
+ifloat: 2
+
+Function: "tanh_towardzero":
+double: 2
+float: 2
+idouble: 2
+ifloat: 2
+
 Function: "tgamma":
-double: 4
-float: 3
-idouble: 4
-ifloat: 3
+double: 5
+float: 4
+idouble: 5
+ifloat: 4
+
+Function: "tgamma_towardzero":
+double: 5
+float: 4
+idouble: 5
+ifloat: 4
 
 Function: "y0":
 double: 2
@@ -398,16 +777,34 @@ float: 1
 idouble: 2
 ifloat: 1
 
+Function: "y0_towardzero":
+double: 3
+float: 3
+idouble: 3
+ifloat: 3
+
 Function: "y1":
 double: 3
 float: 2
 idouble: 3
 ifloat: 2
 
+Function: "y1_towardzero":
+double: 3
+float: 2
+idouble: 3
+ifloat: 2
+
 Function: "yn":
 double: 3
 float: 2
 idouble: 3
 ifloat: 2
 
+Function: "yn_towardzero":
+double: 3
+float: 3
+idouble: 3
+ifloat: 3
+
 # end of automatic generation

commit 79543e547945085041e004b460c61135890a2607
Author: Dmitry V. Levin <ldv@altlinux.org>
Date:   Tue Feb 6 09:31:30 2018 +0000

    NEWS: add an entry for bug 22827

diff --git a/NEWS b/NEWS
index 1e4cb10612..40c0fbc3ba 100644
--- a/NEWS
+++ b/NEWS
@@ -12,6 +12,7 @@ The following bugs are resolved with this release:
   [22638] sparc: static binaries are broken if glibc is built by gcc
     configured with --enable-default-pie
   [22797] Linux: use reserved name __key in pkey_get
+  [22827] RISC-V ELF64 parser mis-reads flag in ldconfig
 
 
 Version 2.27

commit 516fa6080481a1433c173320b1c1432868e1e38a
Author: Dmitry V. Levin <ldv@altlinux.org>
Date:   Fri Dec 29 23:19:32 2017 +0000

    linux/aarch64: sync sys/ptrace.h with Linux 4.15 [BZ #22433]
    
    Remove compat-specific constants that were never exported by kernel
    headers under these names.  Before linux commit v3.7-rc1~16^2~1 they
    were exported with COMPAT_ prefix, and since that commit they are not
    exported at all.
    
    * sysdeps/unix/sysv/linux/aarch64/sys/ptrace.h (__ptrace_request):
    Remove arm-specific PTRACE_GET_THREAD_AREA, PTRACE_GETHBPREGS,
    and PTRACE_SETHBPREGS.
    
    (cherry picked from commit 2fd4bbaa1446f1be700e10c526cf585a796c4991)

diff --git a/ChangeLog b/ChangeLog
index cd72813419..08f2612cf4 100644
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,3 +1,10 @@
+2018-02-10  Dmitry V. Levin  <ldv@altlinux.org>
+
+	[BZ #22433]
+	* sysdeps/unix/sysv/linux/aarch64/sys/ptrace.h (__ptrace_request):
+	Remove arm-specific PTRACE_GET_THREAD_AREA, PTRACE_GETHBPREGS,
+	and PTRACE_SETHBPREGS.
+
 2018-02-14  Adhemerval Zanella  <adhemerval.zanella@linaro.org>
 
 	* sysdeps/sh/libm-test-ulps: Update.
diff --git a/sysdeps/unix/sysv/linux/aarch64/sys/ptrace.h b/sysdeps/unix/sysv/linux/aarch64/sys/ptrace.h
index 4be45b95ff..444edbb702 100644
--- a/sysdeps/unix/sysv/linux/aarch64/sys/ptrace.h
+++ b/sysdeps/unix/sysv/linux/aarch64/sys/ptrace.h
@@ -78,18 +78,10 @@ enum __ptrace_request
   PTRACE_DETACH = 17,
 #define PT_DETACH PTRACE_DETACH
 
-  PTRACE_GET_THREAD_AREA = 22,
-
   /* Continue and stop at the next entry to or return from syscall.  */
   PTRACE_SYSCALL = 24,
 #define PT_SYSCALL PTRACE_SYSCALL
 
-  /* Get all hardware breakpoint registers.  */
-  PTRACE_GETHBPREGS = 29,
-
-  /* Set all hardware breakpoint registers.  */
-  PTRACE_SETHBPREGS = 30,
-
   /* Set ptrace filter options.  */
   PTRACE_SETOPTIONS = 0x4200,
 #define PT_SETOPTIONS PTRACE_SETOPTIONS

commit 1b7671f6e19d2f8f71752a25e490337dbbcb1d12
Author: Sean McKean <smckean83@gmail.com>
Date:   Fri Feb 2 11:59:31 2018 +0100

    time: Reference CLOCKS_PER_SEC in clock comment [BZ #22735]
    
    (cherry picked from commit 09e56b9e18f987105e39768f907db800e9330930)

diff --git a/ChangeLog b/ChangeLog
index 08f2612cf4..4c0b25042d 100644
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,3 +1,8 @@
+2018-02-02  Sean McKean  <smckean83@gmail.com>
+
+	[BZ #22735]
+	* time/time.h (clock): Reference CLOCKS_PER_SEC in comment.
+
 2018-02-10  Dmitry V. Levin  <ldv@altlinux.org>
 
 	[BZ #22433]
diff --git a/NEWS b/NEWS
index 40c0fbc3ba..d7f156790d 100644
--- a/NEWS
+++ b/NEWS
@@ -11,6 +11,7 @@ The following bugs are resolved with this release:
 
   [22638] sparc: static binaries are broken if glibc is built by gcc
     configured with --enable-default-pie
+  [22735] Misleading typo in time.h source comment regarding CLOCKS_PER_SECOND
   [22797] Linux: use reserved name __key in pkey_get
   [22827] RISC-V ELF64 parser mis-reads flag in ldconfig
 
diff --git a/time/time.h b/time/time.h
index 49d30438f3..4b55e34402 100644
--- a/time/time.h
+++ b/time/time.h
@@ -68,7 +68,7 @@ typedef __pid_t pid_t;
 __BEGIN_DECLS
 
 /* Time used by the program so far (user time + system time).
-   The result / CLOCKS_PER_SECOND is program time in seconds.  */
+   The result / CLOCKS_PER_SEC is program time in seconds.  */
 extern clock_t clock (void) __THROW;
 
 /* Return the current time and put it in *TIMER if TIMER is not NULL.  */

commit d5f136743d84ca2f7786ad796451b41881a8786b
Author: Aurelien Jarno <aurelien@aurel32.net>
Date:   Sun Feb 18 18:23:14 2018 +0100

    Fix posix/tst-glob_lstat_compat on alpha [BZ #22818]
    
    The tst-glob_lstat_compat test needs to run tests on the previous
    version of glob. On alpha, there are three versions of glob, GLIBC_2.0,
    GLIBC_2.1 and GLIBC_2.27, while on other architectures there are only
    the GLIBC_2.0 and GLIBC_2.27 version. Therefore on alpha the previous
    version is GLIBC_2.1 and not GLIBC_2.0.
    
    Changelog:
            [BZ #22818]
            * posix/tst-glob_lstat_compat.c [__alpha__] (glob): Access
            the GLIBC_2.1 version.
    
    (cherry picked from commit f8d79582896c52cc2b50bdd030a3ec27ef23b587)

diff --git a/ChangeLog b/ChangeLog
index 4c0b25042d..25624b6854 100644
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,3 +1,9 @@
+2018-02-18  Aurelien Jarno  <aurelien@aurel32.net>
+
+	[BZ #22818]
+	* posix/tst-glob_lstat_compat.c [__alpha__] (glob): Access
+	the GLIBC_2.1 version.
+
 2018-02-02  Sean McKean  <smckean83@gmail.com>
 
 	[BZ #22735]
diff --git a/NEWS b/NEWS
index d7f156790d..e40fa8d1df 100644
--- a/NEWS
+++ b/NEWS
@@ -13,6 +13,7 @@ The following bugs are resolved with this release:
     configured with --enable-default-pie
   [22735] Misleading typo in time.h source comment regarding CLOCKS_PER_SECOND
   [22797] Linux: use reserved name __key in pkey_get
+  [22818] posix/tst-glob_lstat_compat failure on alpha
   [22827] RISC-V ELF64 parser mis-reads flag in ldconfig
 
 
diff --git a/posix/tst-glob_lstat_compat.c b/posix/tst-glob_lstat_compat.c
index c46bc9e578..22cd1f02f9 100644
--- a/posix/tst-glob_lstat_compat.c
+++ b/posix/tst-glob_lstat_compat.c
@@ -35,7 +35,14 @@
 #if TEST_COMPAT (libc, GLIBC_2_0, GLIBC_2_27)
 
 __typeof (glob) glob;
+/* On alpha glob exists in version GLIBC_2_0, GLIBC_2_1, and GLIBC_2_27.
+   This test needs to access the version prior to GLIBC_2_27, which is
+   GLIBC_2_1 on alpha, GLIBC_2_0 elsewhere.  */
+# ifdef __alpha__
+compat_symbol_reference (libc, glob, glob, GLIBC_2_1);
+# else
 compat_symbol_reference (libc, glob, glob, GLIBC_2_0);
+# endif
 
 /* Compat glob should not call gl_lstat since for some old binaries it
    might be unitialized (for instance GNUmake).  Check if it is indeed

commit 6031b49c397a7f88d9f27f2ad4f53ad0ced57bde
Author: Rical Jasan <ricaljasan@pacific.net>
Date:   Wed Jan 24 01:03:38 2018 -0800

    manual: Fix Texinfo warnings about improper node names.
    
    A number of cross-references to the GCC info manual cause Texinfo
    warnings; e.g.:
    
      ./creature.texi:11: warning: @xref node name should not contain `.'
    
    This is due to "gcc.info" being used in the INFO-FILE-NAME (fourth)
    argument.  Changing it to "gcc" removes these warnings.  (Manually
    confirmed equivalent behaviour for make info, html, and pdf.)
    
            * manual/creature.texi: Convert references to gcc.info to gcc.
            * manual/stdio.texi: Likewise.
            * manual/string.texi: Likewise.
    
    (cherry picked from commit 1f6676d7da1b7c864e9a5d59fe9162a88bd21952)

diff --git a/ChangeLog b/ChangeLog
index 25624b6854..abbcc70ebb 100644
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,3 +1,9 @@
+2018-02-09  Rical Jasan  <ricaljasan@pacific.net>
+
+	* manual/creature.texi: Convert references to gcc.info to gcc.
+	* manual/stdio.texi: Likewise.
+	* manual/string.texi: Likewise.
+
 2018-02-18  Aurelien Jarno  <aurelien@aurel32.net>
 
 	[BZ #22818]
diff --git a/manual/creature.texi b/manual/creature.texi
index 96f8ee0a0c..2e05958756 100644
--- a/manual/creature.texi
+++ b/manual/creature.texi
@@ -8,7 +8,7 @@ is controlled by which @dfn{feature test macros} you define.
 If you compile your programs using @samp{gcc -ansi}, you get only the
 @w{ISO C} library features, unless you explicitly request additional
 features by defining one or more of the feature macros.
-@xref{Invoking GCC,, GNU CC Command Options, gcc.info, The GNU CC Manual},
+@xref{Invoking GCC,, GNU CC Command Options, gcc, The GNU CC Manual},
 for more information about GCC options.@refill
 
 You should define these macros by using @samp{#define} preprocessor
diff --git a/manual/stdio.texi b/manual/stdio.texi
index 5d7b50c442..38be236991 100644
--- a/manual/stdio.texi
+++ b/manual/stdio.texi
@@ -1808,7 +1808,7 @@ verifies that the correct number and types of arguments are supplied.
 There is also a GNU C syntax to tell the compiler that a function you
 write uses a @code{printf}-style format string.
 @xref{Function Attributes, , Declaring Attributes of Functions,
-gcc.info, Using GNU CC}, for more information.
+gcc, Using GNU CC}, for more information.
 
 @node Table of Output Conversions
 @subsection Table of Output Conversions
@@ -2730,7 +2730,7 @@ This tells the compiler that @code{eprintf} uses a format string like
 the format string appears as the first argument;
 and the arguments to satisfy the format begin with the second.
 @xref{Function Attributes, , Declaring Attributes of Functions,
-gcc.info, Using GNU CC}, for more information.
+gcc, Using GNU CC}, for more information.
 
 @node Parsing a Template String
 @subsection Parsing a Template String
@@ -3478,7 +3478,7 @@ verifies that the correct number and types of arguments are supplied.
 There is also a GNU C syntax to tell the compiler that a function you
 write uses a @code{scanf}-style format string.
 @xref{Function Attributes, , Declaring Attributes of Functions,
-gcc.info, Using GNU CC}, for more information.
+gcc, Using GNU CC}, for more information.
 
 @node Table of Input Conversions
 @subsection Table of Input Conversions
@@ -4033,7 +4033,7 @@ know that a function uses a @code{scanf}-style format string.  Then it
 can check the number and types of arguments in each call to the
 function, and warn you when they do not match the format string.
 For details, see @ref{Function Attributes, , Declaring Attributes of Functions,
-gcc.info, Using GNU CC}.
+gcc, Using GNU CC}.
 
 @node EOF and Errors
 @section End-Of-File and Errors
diff --git a/manual/string.texi b/manual/string.texi
index ac02c6d85e..b07cfb4550 100644
--- a/manual/string.texi
+++ b/manual/string.texi
@@ -1087,7 +1087,7 @@ are often easier and safer automatic techniques that cause buffer
 overruns to reliably terminate a program, such as GCC's
 @option{-fcheck-pointer-bounds} and @option{-fsanitize=address}
 options.  @xref{Debugging Options,, Options for Debugging Your Program
-or GCC, gcc.info, Using GCC}.  Because truncation functions can mask
+or GCC, gcc, Using GCC}.  Because truncation functions can mask
 application bugs that would otherwise be caught by the automatic
 techniques, these functions should be used only when the application's
 underlying logic requires truncation.

commit aa02f2b2f53363fb4b8cfc508989fc161e28b6d9
Author: Rical Jasan <ricaljasan@pacific.net>
Date:   Fri Feb 16 08:21:47 2018 -0800

    manual: Fix a syntax error.
    
    The opening parenthesis for function arguments in an @deftypefun need
    to be separated from the function name.  This isn't just a matter of
    the GNU coding style---it causes the "(void" (in this case) to be
    rendered as a part of the function name, causing a visual defect, and
    also results in a warning to the following effect during `make pdf':
    
      Warning: unbalanced parentheses in @def...)
    
            * manual/platform.texi (__riscv_flush_icache): Fix @deftypefun
            syntax.
    
    (cherry picked from commit 16efad5171ac1ac2c8728405f2703045f08c494b)

diff --git a/ChangeLog b/ChangeLog
index abbcc70ebb..8eb6078485 100644
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,3 +1,8 @@
+2018-02-16  Rical Jasan  <ricaljasan@pacific.net>
+
+	* manual/platform.texi (__riscv_flush_icache): Fix @deftypefun
+	syntax.
+
 2018-02-09  Rical Jasan  <ricaljasan@pacific.net>
 
 	* manual/creature.texi: Convert references to gcc.info to gcc.
diff --git a/manual/platform.texi b/manual/platform.texi
index b8721a0712..504addc956 100644
--- a/manual/platform.texi
+++ b/manual/platform.texi
@@ -123,7 +123,7 @@ when it is not allowed, the priority is set to medium.
 Cache management facilities specific to RISC-V systems that implement the Linux
 ABI are declared in @file{sys/cachectl.h}.
 
-@deftypefun {void} __riscv_flush_icache(void *@var{start}, void *@var{end}, unsigned long int @var{flags})
+@deftypefun {void} __riscv_flush_icache (void *@var{start}, void *@var{end}, unsigned long int @var{flags})
 @safety{@prelim{}@mtsafe{}@assafe{}@acsafe{}}
 Enforce ordering between stores and instruction cache fetches.  The range of
 addresses over which ordering is enforced is specified by @var{start} and

commit b4108a361f05ee87122b86aa7d799e4512013588
Author: Rical Jasan <ricaljasan@pacific.net>
Date:   Fri Feb 16 08:47:20 2018 -0800

    manual: Improve documentation of get_current_dir_name. [BZ #6889]
    
    This is a minor rewording to clarify the behaviour of
    get_current_dir_name.  Additionally, the @vindex is moved above the
    @deftypefun so that following links give a better result with regard
    to context.
    
            [BZ #6889]
            * manual/filesys.texi (get_current_dir_name): Clarify
            behaviour.
    
    (cherry picked from commit 7d15ef84f50a80cb170f8ce3457010f59e221cb8)

diff --git a/ChangeLog b/ChangeLog
index 8eb6078485..727b2f92c3 100644
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,3 +1,8 @@
+2018-02-19  Rical Jasan  <ricaljasan@pacific.net>
+
+	[BZ #6889]
+	* manual/filesys.texi (get_current_dir_name): Clarify behaviour.
+
 2018-02-16  Rical Jasan  <ricaljasan@pacific.net>
 
 	* manual/platform.texi (__riscv_flush_icache): Fix @deftypefun
diff --git a/NEWS b/NEWS
index e40fa8d1df..5571c592bf 100644
--- a/NEWS
+++ b/NEWS
@@ -9,6 +9,7 @@ Version 2.27.1
 
 The following bugs are resolved with this release:
 
+  [6889] 'PWD' mentioned but not specified
   [22638] sparc: static binaries are broken if glibc is built by gcc
     configured with --enable-default-pie
   [22735] Misleading typo in time.h source comment regarding CLOCKS_PER_SECOND
diff --git a/manual/filesys.texi b/manual/filesys.texi
index ca77996902..cc70a6b7ee 100644
--- a/manual/filesys.texi
+++ b/manual/filesys.texi
@@ -147,19 +147,20 @@ necessarily enough space to contain the directory name.  That is why
 this function is deprecated.
 @end deftypefn
 
+@vindex PWD
 @deftypefun {char *} get_current_dir_name (void)
 @standards{GNU, unistd.h}
 @safety{@prelim{}@mtsafe{@mtsenv{}}@asunsafe{@ascuheap{}}@acunsafe{@acsmem{} @acsfd{}}}
 @c Besides getcwd, which this function calls as a fallback, it calls
 @c getenv, with the potential thread-safety issues that brings about.
-@vindex PWD
-This @code{get_current_dir_name} function is basically equivalent to
-@w{@code{getcwd (NULL, 0)}}.  The only difference is that the value of
-the @code{PWD} variable is returned if this value is correct.  This is a
-subtle difference which is visible if the path described by the
-@code{PWD} value is using one or more symbol links in which case the
-value returned by @code{getcwd} can resolve the symbol links and
-therefore yield a different result.
+The @code{get_current_dir_name} function is basically equivalent to
+@w{@code{getcwd (NULL, 0)}}, except the value of the @env{PWD}
+environment variable is first examined, and if it does in fact
+correspond to the current directory, that value is returned.  This is
+a subtle difference which is visible if the path described by the
+value in @env{PWD} is using one or more symbolic links, in which case
+the value returned by @code{getcwd} would resolve the symbolic links
+and therefore yield a different result.
 
 This function is a GNU extension.
 @end deftypefun

commit e51dfc04ef9bc7bf7d44ac76b12a20bbadbe9add
Author: Adhemerval Zanella <adhemerval.zanella@linaro.org>
Date:   Mon Mar 5 14:46:24 2018 -0300

    powerpc: Fix TLE build for SPE (BZ #22926)
    
    Some SPE opcodes clashes with some recent PowerISA opcodes and
    until recently gas did not complain about it.  However binutils
    recently changed it and now VLE configured gas does not support to
    assembler some instruction that might class with VLE (HTM for
    instance).  It also does not help that glibc build hardware lock
    elision support as default (regardless of assembler support).
    
    Although runtime will not actually enables TLE on SPE hardware
    (since kernel will not advertise it), I see little advantage on
    adding HTM support on SPE built glibc.  SPE uses an incompatible
    ABI which does not allow share the same build with default
    powerpc and HTM code slows down SPE without any benefict.
    
    This patch fixes it by only building HTM when SPE configuration
    is not used.
    
    Checked with a powerpc-linux-gnuspe build. I also did some sniff
    tests on a e500 hardware without any issue.
    
            [BZ #22926]
            * sysdeps/powerpc/powerpc32/sysdep.h (ABORT_TRANSACTION_IMPL): Define
            empty for __SPE__.
            * sysdeps/powerpc/sysdep.h (ABORT_TRANSACTION): Likewise.
            * sysdeps/unix/sysv/linux/powerpc/elision-lock.c (__lll_lock_elision):
            Do not build hardware transactional code for __SPE__.
            * sysdeps/unix/sysv/linux/powerpc/elision-trylock.c
            (__lll_trylock_elision): Likewise.
            * sysdeps/unix/sysv/linux/powerpc/elision-unlock.c
            (__lll_unlock_elision): Likewise.
    
    Cherry-pick from e921c89e01389161c036ec09112da6e18aeaa688.

diff --git a/ChangeLog b/ChangeLog
index 727b2f92c3..494f98b51b 100644
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,3 +1,16 @@
+2018-03-07  Adhemerval Zanella  <adhemerval.zanella@linaro.org>
+
+	[BZ #22926]
+	* sysdeps/powerpc/powerpc32/sysdep.h (ABORT_TRANSACTION_IMPL): Define
+	empty for __SPE__.
+	* sysdeps/powerpc/sysdep.h (ABORT_TRANSACTION): Likewise.
+	* sysdeps/unix/sysv/linux/powerpc/elision-lock.c (__lll_lock_elision):
+	Do not build hardware transactional code for __SPE__.
+	* sysdeps/unix/sysv/linux/powerpc/elision-trylock.c
+	(__lll_trylock_elision): Likewise.
+	* sysdeps/unix/sysv/linux/powerpc/elision-unlock.c
+	(__lll_unlock_elision): Likewise.
+
 2018-02-19  Rical Jasan  <ricaljasan@pacific.net>
 
 	[BZ #6889]
diff --git a/sysdeps/powerpc/powerpc32/sysdep.h b/sysdeps/powerpc/powerpc32/sysdep.h
index 8e32a2a131..5f1294ead3 100644
--- a/sysdeps/powerpc/powerpc32/sysdep.h
+++ b/sysdeps/powerpc/powerpc32/sysdep.h
@@ -90,7 +90,7 @@ GOT_LABEL:			;					      \
   cfi_endproc;								      \
   ASM_SIZE_DIRECTIVE(name)
 
-#if ! IS_IN(rtld)
+#if !IS_IN(rtld) && !defined(__SPE__)
 # define ABORT_TRANSACTION_IMPL \
     cmpwi    2,0;		\
     beq      1f;		\
diff --git a/sysdeps/powerpc/sysdep.h b/sysdeps/powerpc/sysdep.h
index 03db75fcb7..8a6d236caa 100644
--- a/sysdeps/powerpc/sysdep.h
+++ b/sysdeps/powerpc/sysdep.h
@@ -174,7 +174,7 @@
    we abort transaction just before syscalls.
 
    [1] Documentation/powerpc/transactional_memory.txt [Syscalls]  */
-#if !IS_IN(rtld)
+#if !IS_IN(rtld) && !defined(__SPE__)
 # define ABORT_TRANSACTION \
   ({ 						\
     if (THREAD_GET_TM_CAPABLE ())		\
diff --git a/sysdeps/unix/sysv/linux/powerpc/elision-lock.c b/sysdeps/unix/sysv/linux/powerpc/elision-lock.c
index b7093feab9..98a23f0dd2 100644
--- a/sysdeps/unix/sysv/linux/powerpc/elision-lock.c
+++ b/sysdeps/unix/sysv/linux/powerpc/elision-lock.c
@@ -45,6 +45,7 @@
 int
 __lll_lock_elision (int *lock, short *adapt_count, EXTRAARG int pshared)
 {
+#ifndef __SPE__
   /* adapt_count is accessed concurrently but is just a hint.  Thus,
      use atomic accesses but relaxed MO is sufficient.  */
   if (atomic_load_relaxed (adapt_count) > 0)
@@ -82,5 +83,6 @@ __lll_lock_elision (int *lock, short *adapt_count, EXTRAARG int pshared)
 			  aconf.skip_lock_out_of_tbegin_retries);
 
 use_lock:
+#endif
   return LLL_LOCK ((*lock), pshared);
 }
diff --git a/sysdeps/unix/sysv/linux/powerpc/elision-trylock.c b/sysdeps/unix/sysv/linux/powerpc/elision-trylock.c
index b74a810648..fabb03b2c4 100644
--- a/sysdeps/unix/sysv/linux/powerpc/elision-trylock.c
+++ b/sysdeps/unix/sysv/linux/powerpc/elision-trylock.c
@@ -30,6 +30,7 @@
 int
 __lll_trylock_elision (int *futex, short *adapt_count)
 {
+#ifndef __SPE__
   /* Implement POSIX semantics by forbiding nesting elided trylocks.  */
   __libc_tabort (_ABORT_NESTED_TRYLOCK);
 
@@ -65,5 +66,6 @@ __lll_trylock_elision (int *futex, short *adapt_count)
     }
 
 use_lock:
+#endif
   return lll_trylock (*futex);
 }
diff --git a/sysdeps/unix/sysv/linux/powerpc/elision-unlock.c b/sysdeps/unix/sysv/linux/powerpc/elision-unlock.c
index dcfab199d7..14e0680ee9 100644
--- a/sysdeps/unix/sysv/linux/powerpc/elision-unlock.c
+++ b/sysdeps/unix/sysv/linux/powerpc/elision-unlock.c
@@ -23,6 +23,7 @@
 int
 __lll_unlock_elision (int *lock, short *adapt_count, int pshared)
 {
+#ifndef __SPE__
   /* When the lock was free we're in a transaction.  */
   if (*lock == 0)
     __libc_tend (0);
@@ -39,5 +40,8 @@ __lll_unlock_elision (int *lock, short *adapt_count, int pshared)
 
       lll_unlock ((*lock), pshared);
     }
+#else
+  lll_unlock ((*lock), pshared);
+#endif
   return 0;
 }

commit 3a53ef9b02eb98c66c04309176ed47c9c73eac59
Author: Aurelien Jarno <aurelien@aurel32.net>
Date:   Fri Mar 9 00:14:27 2018 +0100

    sparc32: Add nop before __startcontext to stop unwinding [BZ #22919]
    
    On sparc32 tst-makecontext fails, as backtrace called within a context
    created by makecontext to yield infinite backtrace.
    
    Fix that the same way than nios2 by adding a nop just before
    __startcontext. This is needed as otherwise FDE lookup just repeatedly
    finds __setcontext's FDE in an infinite loop, due to the convention of
    using 'address - 1' for FDE lookup.
    
    Changelog:
            [BZ #22919]
            * sysdeps/unix/sysv/linux/sparc/sparc32/setcontext.S (__startcontext):
            Add nop before __startcontext, add explaining comments.
    
    (cherry picked from commit 9aa5c222b9e0409143410a02b6364a3b25dbf028)

diff --git a/ChangeLog b/ChangeLog
index 494f98b51b..3ae0ecd07a 100644
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,3 +1,9 @@
+2018-03-09  Aurelien Jarno  <aurelien@aurel32.net>
+
+	[BZ #22919]
+	* sysdeps/unix/sysv/linux/sparc/sparc32/setcontext.S (__startcontext):
+	Add nop before __startcontext, add explaining comments.
+
 2018-03-07  Adhemerval Zanella  <adhemerval.zanella@linaro.org>
 
 	[BZ #22926]
diff --git a/sysdeps/unix/sysv/linux/sparc/sparc32/setcontext.S b/sysdeps/unix/sysv/linux/sparc/sparc32/setcontext.S
index 695f172c63..283aef1b30 100644
--- a/sysdeps/unix/sysv/linux/sparc/sparc32/setcontext.S
+++ b/sysdeps/unix/sysv/linux/sparc/sparc32/setcontext.S
@@ -95,6 +95,19 @@ END(__setcontext)
 
 weak_alias (__setcontext, setcontext)
 
+/* We add an NOP here to separate between __setcontext/__startcontext. The
+   wanted behavior that happens is: when unwinding from a function called
+   inside a makecontext() context, FDE lookup will use '&__startcontext - 1',
+   then returns NULL for no FDE found, and immediately ends the unwind, in
+   a normal fashion.
+
+   If this NOP word does not exist, FDE lookup just repeatedly finds
+   __setcontext's FDE in an infinite loop, due to the convention of using
+   'address - 1' for FDE lookup. Modifiying/deleting the below
+   __startcontext's FDE has no help on this.  */
+
+	nop
+
 /* This is the helper code which gets called if a function which is
    registered with 'makecontext' returns.  In this case we have to
    install the context listed in the uc_link element of the context

commit fc0ad3d5e7a0ccc0b4813dd4fcfd4f68e073a9e4
Author: Dmitry V. Levin <ldv@altlinux.org>
Date:   Thu Mar 8 23:30:56 2018 +0000

    NEWS: add entries for bugs 22919 and 22926

diff --git a/NEWS b/NEWS
index 5571c592bf..e237227c9f 100644
--- a/NEWS
+++ b/NEWS
@@ -16,6 +16,8 @@ The following bugs are resolved with this release:
   [22797] Linux: use reserved name __key in pkey_get
   [22818] posix/tst-glob_lstat_compat failure on alpha
   [22827] RISC-V ELF64 parser mis-reads flag in ldconfig
+  [22919] sparc32: backtrace yields infinite backtrace with makecontext
+  [22926] FTBFS on powerpcspe
 
 
 Version 2.27

commit b6c9b80e729455d268b52db02763970a946744cd
Author: Rical Jasan <ricaljasan@pacific.net>
Date:   Mon Feb 19 03:30:06 2018 -0800

    manual: Document missing feature test macros.
    
    Several feature test macros are documented in features.h but absent in
    the manual, and some documented macros accept undocumented values.
    This commit updates the manual to mention all the accepted macros,
    along with any values that hold special meaning.
    
            * manual/creature.texi (_POSIX_C_SOURCE): Document special
            values of 199606L, 200112L, and 200809L.
            (_XOPEN_SOURCE): Document special values of 600 and 700.
            (_ISOC11_SOURCE): Document macro.
            (_ATFILE_SOURCE): Likewise.
            (_FORTIFY_SOURCE): Likewise.
    
    (cherry picked from commit 6a3962c4a408e8cbc305d2433711196107374e89)
    (cherry picked from commit da81ae645d8ee89052f109c814a68a9489f562e6)

diff --git a/ChangeLog b/ChangeLog
index 3ae0ecd07a..911e0900b7 100644
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,3 +1,13 @@
+2018-02-20  Rical Jasan  <ricaljasan@pacific.net>
+
+	[BZ #16335]
+	* manual/creature.texi (_POSIX_C_SOURCE): Document special values
+	of 199606L, 200112L, and 200809L.
+	(_XOPEN_SOURCE): Document special values of 600 and 700.
+	(_ISOC11_SOURCE): Document macro.
+	(_ATFILE_SOURCE): Likewise.
+	(_FORTIFY_SOURCE): Likewise.
+
 2018-03-09  Aurelien Jarno  <aurelien@aurel32.net>
 
 	[BZ #22919]
diff --git a/NEWS b/NEWS
index e237227c9f..d3ca5289b0 100644
--- a/NEWS
+++ b/NEWS
@@ -10,6 +10,7 @@ Version 2.27.1
 The following bugs are resolved with this release:
 
   [6889] 'PWD' mentioned but not specified
+  [16335] Feature test macro documentation incomplete and out of date
   [22638] sparc: static binaries are broken if glibc is built by gcc
     configured with --enable-default-pie
   [22735] Misleading typo in time.h source comment regarding CLOCKS_PER_SECOND
diff --git a/manual/creature.texi b/manual/creature.texi
index 2e05958756..483bf85ad7 100644
--- a/manual/creature.texi
+++ b/manual/creature.texi
@@ -61,13 +61,27 @@ If you define this macro to a value greater than or equal to @code{199309L},
 then the functionality from the 1993 edition of the POSIX.1b standard
 (IEEE Standard 1003.1b-1993) is made available.
 
+If you define this macro to a value greater than or equal to
+@code{199506L}, then the functionality from the 1995 edition of the
+POSIX.1c standard (IEEE Standard 1003.1c-1995) is made available.
+
+If you define this macro to a value greater than or equal to
+@code{200112L}, then the functionality from the 2001 edition of the
+POSIX standard (IEEE Standard 1003.1-2001) is made available.
+
+If you define this macro to a value greater than or equal to
+@code{200809L}, then the functionality from the 2008 edition of the
+POSIX standard (IEEE Standard 1003.1-2008) is made available.
+
 Greater values for @code{_POSIX_C_SOURCE} will enable future extensions.
 The POSIX standards process will define these values as necessary, and
 @theglibc{} should support them some time after they become standardized.
 The 1996 edition of POSIX.1 (ISO/IEC 9945-1: 1996) states that
 if you define @code{_POSIX_C_SOURCE} to a value greater than
 or equal to @code{199506L}, then the functionality from the 1996
-edition is made available.
+edition is made available.  In general, in @theglibc{}, bugfixes to
+the standards are included when specifying the base version; e.g.,
+POSIX.1-2004 will always be included with a value of @code{200112L}.
 @end defvr
 
 @defvr Macro _XOPEN_SOURCE
@@ -87,7 +101,10 @@ available which are necessary for the X/Open Unix brand.
 
 If the macro @code{_XOPEN_SOURCE} has the value @math{500} this includes
 all functionality described so far plus some new definitions from the
-Single Unix Specification, @w{version 2}.
+Single Unix Specification, @w{version 2}.  The value @math{600}
+(corresponding to the sixth revision) includes definitions from SUSv3,
+and using @math{700} (the seventh revision) includes definitions from
+SUSv4.
 @end defvr
 
 @defvr Macro _LARGEFILE_SOURCE
@@ -156,6 +173,11 @@ implementation of the new standard and to enable the new features the
 macro @code{_ISOC99_SOURCE} should be defined.
 @end defvr
 
+@defvr Macro _ISOC11_SOURCE
+@standards{C11, (none)}
+If this macro is defined, ISO C11 extensions to ISO C99 are included.
+@end defvr
+
 @defvr Macro __STDC_WANT_LIB_EXT2__
 @standards{ISO, (none)}
 If you define this macro to the value @code{1}, features from ISO/IEC
@@ -209,6 +231,19 @@ enables those features even when the other options would otherwise
 cause them to be disabled.
 @end defvr
 
+@defvr Macro _ATFILE_SOURCE
+@standards{GNU, (none)}
+If this macro is defined, additional @code{*at} interfaces are
+included.
+@end defvr
+
+@defvr Macro _FORTIFY_SOURCE
+@standards{GNU, (none)}
+If this macro is defined to @math{1}, security hardening is added to
+various library functions.  If defined to @math{2}, even stricter
+checks are applied.
+@end defvr
+
 @defvr Macro _REENTRANT
 @defvrx Macro _THREAD_SAFE
 @standards{Obsolete, (none)}

commit e12a365d3a9b6de453db86ad82e0fbe1f0889a30
Author: Rical Jasan <ricaljasan@pacific.net>
Date:   Mon Feb 19 04:32:35 2018 -0800

    manual: Update the _ISOC99_SOURCE description.
    
    The current description refers to ISO C99 not being widely adopted,
    which it is believed to be now.
    
            * manual/creature.texi (_ISOC99_SOURCE): Update the dated
            description.
    
    (cherry picked from commit e8d190b9ed81a1b342f0969bc2b5505403183bce)

diff --git a/ChangeLog b/ChangeLog
index 911e0900b7..e158364c7e 100644
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,5 +1,8 @@
 2018-02-20  Rical Jasan  <ricaljasan@pacific.net>
 
+	* manual/creature.texi (_ISOC99_SOURCE): Update the dated
+	description.
+
 	[BZ #16335]
 	* manual/creature.texi (_POSIX_C_SOURCE): Document special values
 	of 199606L, 200112L, and 200809L.
diff --git a/manual/creature.texi b/manual/creature.texi
index 483bf85ad7..fe7a7790a2 100644
--- a/manual/creature.texi
+++ b/manual/creature.texi
@@ -167,10 +167,9 @@ This macro was introduced as part of the Large File Support extension
 
 @defvr Macro _ISOC99_SOURCE
 @standards{GNU, (none)}
-Until the revised @w{ISO C} standard is widely adopted the new features
-are not automatically enabled.  @Theglibc{} nevertheless has a complete
-implementation of the new standard and to enable the new features the
-macro @code{_ISOC99_SOURCE} should be defined.
+If this macro is defined, features from ISO C99 are included.  Since
+these features are included by default, this macro is mostly relevant
+when the compiler uses an earlier language version.
 @end defvr
 
 @defvr Macro _ISOC11_SOURCE

commit ea4ea9f875bfc85154838bb69e8b42b9e19c414c
Author: Rical Jasan <ricaljasan@pacific.net>
Date:   Wed Feb 21 04:00:03 2018 -0800

    Fix a typo in a comment.
    
            * io/fcntl.h: Fix a typo in a comment.
    
    (cherry picked from commit 0d217f4082473e5fdca87831df928dd525a02f72)

diff --git a/ChangeLog b/ChangeLog
index e158364c7e..ddac819a8f 100644
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,3 +1,7 @@
+2018-02-21  Rical Jasan  <ricaljasan@pacific.net>
+
+	* io/fcntl.h: Fix a typo in a comment.
+
 2018-02-20  Rical Jasan  <ricaljasan@pacific.net>
 
 	* manual/creature.texi (_ISOC99_SOURCE): Update the dated
diff --git a/io/fcntl.h b/io/fcntl.h
index 3d239e8f09..69a4394191 100644
--- a/io/fcntl.h
+++ b/io/fcntl.h
@@ -139,7 +139,7 @@ typedef __pid_t pid_t;
 # define SEEK_END	2	/* Seek from end of file.  */
 #endif	/* XPG */
 
-/* The constants AT_REMOVEDIR and AT_EACCESS have the same value.  AT_EASSESS
+/* The constants AT_REMOVEDIR and AT_EACCESS have the same value.  AT_EACCESS
    is meaningful only to faccessat, while AT_REMOVEDIR is meaningful only to
    unlinkat.  The two functions do completely different things and therefore,
    the flags can be allowed to overlap.  For example, passing AT_REMOVEDIR to

commit f36553bf6a4f69070f99badbdab5802b43e6e211
Author: Mike FABIAN <mfabian@redhat.com>
Date:   Mon Feb 19 21:59:30 2018 +0100

    Add missing “reorder-end” in LC_COLLATE of et_EE [BZ #22517]
    
            [BZ #22517]
            * localedata/locales/et_EE (LC_COLLATE): add missing “reorder-end”
    
    (cherry picked from commit 7ec5f9465e732e668d0dc94ac078ba68056d6d0a)

diff --git a/ChangeLog b/ChangeLog
index ddac819a8f..8d05fbeab5 100644
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,3 +1,8 @@
+2018-02-21  Mike FABIAN  <mfabian@redhat.com>
+
+	[BZ #22517]
+	* localedata/locales/et_EE (LC_COLLATE): add missing “reorder-end”
+
 2018-02-21  Rical Jasan  <ricaljasan@pacific.net>
 
 	* io/fcntl.h: Fix a typo in a comment.
diff --git a/localedata/locales/et_EE b/localedata/locales/et_EE
index 9cb55b568f..bab7493c98 100644
--- a/localedata/locales/et_EE
+++ b/localedata/locales/et_EE
@@ -103,6 +103,8 @@ reorder-after <w>
 <U00FC> <u-diaresis>;<BAS>;<MIN>;IGNORE % ü
 <U00DC> <u-diaresis>;<BAS>;<CAP>;IGNORE % Ü
 
+reorder-end
+
 END LC_COLLATE
 
 LC_CTYPE

commit 8e79230a5edebade9cfa92819bbd33b8cc012d3d
Author: Tulio Magno Quites Machado Filho <tuliom@linux.vnet.ibm.com>
Date:   Mon Feb 26 10:40:17 2018 -0300

    powerpc: Undefine Linux ptrace macros that conflict with __ptrace_request
    
    Linux ptrace headers define macros whose tokens conflict with the
    constants of enum __ptrace_request causing build errors when
    asm/ptrace.h or linux/ptrace.h are included before sys/ptrace.h.
    
            * sysdeps/unix/sysv/linux/powerpc/sys/ptrace.h: Undefine Linux
            macros used in __ptrace_request.
    
    Signed-off-by: Tulio Magno Quites Machado Filho <tuliom@linux.vnet.ibm.com>
    (cherry picked from commit 398c6fddafcee2dc4c2b2574417a2d0cfccaeec1)

diff --git a/ChangeLog b/ChangeLog
index 8d05fbeab5..6ae33c2dbf 100644
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,3 +1,8 @@
+2018-02-26  Tulio Magno Quites Machado Filho  <tuliom@linux.vnet.ibm.com>
+
+	* sysdeps/unix/sysv/linux/powerpc/sys/ptrace.h: Undefine Linux
+	macros used in __ptrace_request.
+
 2018-02-21  Mike FABIAN  <mfabian@redhat.com>
 
 	[BZ #22517]
diff --git a/sysdeps/unix/sysv/linux/powerpc/sys/ptrace.h b/sysdeps/unix/sysv/linux/powerpc/sys/ptrace.h
index 75567b2bad..1c68895159 100644
--- a/sysdeps/unix/sysv/linux/powerpc/sys/ptrace.h
+++ b/sysdeps/unix/sysv/linux/powerpc/sys/ptrace.h
@@ -24,6 +24,49 @@
 
 __BEGIN_DECLS
 
+#if defined _LINUX_PTRACE_H || defined _ASM_POWERPC_PTRACE_H
+/* Do not let Linux headers macros interfere with enum __ptrace_request.  */
+# undef PTRACE_ATTACH
+# undef PTRACE_CONT
+# undef PTRACE_DETACH
+# undef PTRACE_GET_DEBUGREG
+# undef PTRACE_GETEVENTMSG
+# undef PTRACE_GETEVRREGS
+# undef PTRACE_GETFPREGS
+# undef PTRACE_GETREGS
+# undef PTRACE_GETREGS64
+# undef PTRACE_GETREGSET
+# undef PTRACE_GETSIGINFO
+# undef PTRACE_GETSIGMASK
+# undef PTRACE_GETVRREGS
+# undef PTRACE_GETVSRREGS
+# undef PTRACE_INTERRUPT
+# undef PTRACE_KILL
+# undef PTRACE_LISTEN
+# undef PTRACE_PEEKDATA
+# undef PTRACE_PEEKSIGINFO
+# undef PTRACE_PEEKTEXT
+# undef PTRACE_POKEDATA
+# undef PTRACE_POKETEXT
+# undef PTRACE_SECCOMP_GET_FILTER
+# undef PTRACE_SEIZE
+# undef PTRACE_SET_DEBUGREG
+# undef PTRACE_SETEVRREGS
+# undef PTRACE_SETFPREGS
+# undef PTRACE_SETOPTIONS
+# undef PTRACE_SETREGS
+# undef PTRACE_SETREGS64
+# undef PTRACE_SETREGSET
+# undef PTRACE_SETSIGINFO
+# undef PTRACE_SETSIGMASK
+# undef PTRACE_SETVRREGS
+# undef PTRACE_SETVSRREGS
+# undef PTRACE_SINGLEBLOCK
+# undef PTRACE_SINGLESTEP
+# undef PTRACE_SYSCALL
+# undef PTRACE_TRACEME
+#endif
+
 /* Type of the REQUEST argument to `ptrace.'  */
 enum __ptrace_request
 {

commit 11dbb01577d4284e77800dfb9f563477f2848a59
Author: Dmitry V. Levin <ldv@altlinux.org>
Date:   Sat Feb 10 23:19:32 2018 +0000

    linux/powerpc: sync sys/ptrace.h with Linux 4.15 [BZ #22433, #22807]
    
    Tested with strace.
    
    * sysdeps/unix/sysv/linux/powerpc/sys/ptrace.h (__ptrace_request): Add
    PTRACE_GETREGS, PTRACE_SETREGS, PTRACE_GETFPREGS, PTRACE_SETFPREGS,
    PTRACE_GETVRREGS, PTRACE_SETVRREGS, PTRACE_GETEVRREGS,
    PTRACE_SETEVRREGS, PTRACE_GETREGS64, PTRACE_SETREGS64,
    PTRACE_GET_DEBUGREG, PTRACE_SET_DEBUGREG, PTRACE_GETVSRREGS,
    PTRACE_SETVSRREGS, and PTRACE_SINGLEBLOCK.
    
    (cherry picked from commit f5f473a9d0e8fdbede858fa1ef0d01d12142367b)

diff --git a/ChangeLog b/ChangeLog
index 6ae33c2dbf..e7f672a8e2 100644
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,3 +1,14 @@
+2018-02-26  Dmitry V. Levin  <ldv@altlinux.org>
+
+	[BZ #22433]
+	[BZ #22807]
+	* sysdeps/unix/sysv/linux/powerpc/sys/ptrace.h (__ptrace_request): Add
+	PTRACE_GETREGS, PTRACE_SETREGS, PTRACE_GETFPREGS, PTRACE_SETFPREGS,
+	PTRACE_GETVRREGS, PTRACE_SETVRREGS, PTRACE_GETEVRREGS,
+	PTRACE_SETEVRREGS, PTRACE_GETREGS64, PTRACE_SETREGS64,
+	PTRACE_GET_DEBUGREG, PTRACE_SET_DEBUGREG, PTRACE_GETVSRREGS,
+	PTRACE_SETVSRREGS, and PTRACE_SINGLEBLOCK.
+
 2018-02-26  Tulio Magno Quites Machado Filho  <tuliom@linux.vnet.ibm.com>
 
 	* sysdeps/unix/sysv/linux/powerpc/sys/ptrace.h: Undefine Linux
diff --git a/NEWS b/NEWS
index d3ca5289b0..d6da060f8b 100644
--- a/NEWS
+++ b/NEWS
@@ -15,6 +15,7 @@ The following bugs are resolved with this release:
     configured with --enable-default-pie
   [22735] Misleading typo in time.h source comment regarding CLOCKS_PER_SECOND
   [22797] Linux: use reserved name __key in pkey_get
+  [22807] PTRACE_* constants missing for powerpc
   [22818] posix/tst-glob_lstat_compat failure on alpha
   [22827] RISC-V ELF64 parser mis-reads flag in ldconfig
   [22919] sparc32: backtrace yields infinite backtrace with makecontext
diff --git a/sysdeps/unix/sysv/linux/powerpc/sys/ptrace.h b/sysdeps/unix/sysv/linux/powerpc/sys/ptrace.h
index 1c68895159..8317821ab5 100644
--- a/sysdeps/unix/sysv/linux/powerpc/sys/ptrace.h
+++ b/sysdeps/unix/sysv/linux/powerpc/sys/ptrace.h
@@ -112,6 +112,22 @@ enum __ptrace_request
   PTRACE_SINGLESTEP = 9,
 #define PT_STEP PTRACE_SINGLESTEP
 
+  /* Get all general purpose registers used by a process.  */
+  PTRACE_GETREGS = 12,
+#define PT_GETREGS PTRACE_GETREGS
+
+  /* Set all general purpose registers used by a process.  */
+  PTRACE_SETREGS = 13,
+#define PT_SETREGS PTRACE_SETREGS
+
+  /* Get all floating point registers used by a process.  */
+  PTRACE_GETFPREGS = 14,
+#define PT_GETFPREGS PTRACE_GETFPREGS
+
+  /* Set all floating point registers used by a process.  */
+  PTRACE_SETFPREGS = 15,
+#define PT_SETFPREGS PTRACE_SETFPREGS
+
   /* Attach to a process that is already running. */
   PTRACE_ATTACH = 16,
 #define PT_ATTACH PTRACE_ATTACH
@@ -120,10 +136,56 @@ enum __ptrace_request
   PTRACE_DETACH = 17,
 #define PT_DETACH PTRACE_DETACH
 
+  /* Get all altivec registers used by a process.  */
+  PTRACE_GETVRREGS = 18,
+#define PT_GETVRREGS PTRACE_GETVRREGS
+
+  /* Set all altivec registers used by a process.  */
+  PTRACE_SETVRREGS = 19,
+#define PT_SETVRREGS PTRACE_SETVRREGS
+
+  /* Get all SPE registers used by a process.  */
+  PTRACE_GETEVRREGS = 20,
+#define PT_GETEVRREGS PTRACE_GETEVRREGS
+
+  /* Set all SPE registers used by a process.  */
+  PTRACE_SETEVRREGS = 21,
+#define PT_SETEVRREGS PTRACE_SETEVRREGS
+
+  /* Same as PTRACE_GETREGS except a 32-bit process will obtain
+     the full 64-bit registers.  Implemented by 64-bit kernels only.  */
+  PTRACE_GETREGS64 = 22,
+#define PT_GETREGS64 PTRACE_GETREGS64
+
+  /* Same as PTRACE_SETREGS except a 32-bit process will set
+     the full 64-bit registers.  Implemented by 64-bit kernels only.  */
+  PTRACE_SETREGS64 = 23,
+#define PT_SETREGS64 PTRACE_SETREGS64
+
   /* Continue and stop at the next entry to or return from syscall.  */
   PTRACE_SYSCALL = 24,
 #define PT_SYSCALL PTRACE_SYSCALL
 
+  /* Get a debug register of a process.  */
+  PTRACE_GET_DEBUGREG = 25,
+#define PT_GET_DEBUGREG PTRACE_GET_DEBUGREG
+
+  /* Set a debug register of a process.  */
+  PTRACE_SET_DEBUGREG = 26,
+#define PT_SET_DEBUGREG PTRACE_SET_DEBUGREG
+
+  /* Get the first 32 VSX registers of a process.  */
+  PTRACE_GETVSRREGS = 27,
+#define PT_GETVSRREGS PTRACE_GETVSRREGS
+
+  /* Set the first 32 VSX registers of a process.  */
+  PTRACE_SETVSRREGS = 28,
+#define PT_SETVSRREGS PTRACE_SETVSRREGS
+
+  /* Execute process until next taken branch.  */
+  PTRACE_SINGLEBLOCK = 256,
+#define PT_STEPBLOCK PTRACE_SINGLEBLOCK
+
   /* Set ptrace filter options.  */
   PTRACE_SETOPTIONS = 0x4200,
 #define PT_SETOPTIONS PTRACE_SETOPTIONS

commit 7c6304182b9f422b782ace1cdd3efbde056aec36
Author: DJ Delorie <dj@redhat.com>
Date:   Thu Mar 1 23:20:45 2018 -0500

    [BZ #22342] Fix netgroup cache keys.
    
    Unlike other nscd caches, the netgroup cache contains two types of
    records - those for "iterate through a netgroup" (i.e. setnetgrent())
    and those for "is this user in this netgroup" (i.e. innetgr()),
    i.e. full and partial records.  The timeout code assumes these records
    have the same key for the group name, so that the collection of records
    that is "this netgroup" can be expired as a unit.
    
    However, the keys are not the same, as the in-netgroup key is generated
    by nscd rather than being passed to it from elsewhere, and is generated
    without the trailing NUL.  All other keys have the trailing NUL, and as
    noted in the linked BZ, debug statements confirm that two keys for the
    same netgroup are added to the cache with two different lengths.
    
    The result of this is that as records in the cache expire, the purge
    code only cleans out one of the two types of entries, resulting in
    stale, possibly incorrect, and possibly inconsistent cache data.
    
    The patch simply includes the existing NUL in the computation for the
    key length ('key' points to the char after the NUL, and 'group' to the
    first char of the group, so 'key-group' includes the first char to the
    NUL, inclusive).
    
            [BZ #22342]
            * nscd/netgroupcache.c (addinnetgrX): Include trailing NUL in
            key value.
    
    Reviewed-by: Carlos O'Donell <carlos@redhat.com>
    (cherry picked from commit 1c81d55fc4b07b51adf68558ba74ce975153e580)

diff --git a/ChangeLog b/ChangeLog
index e7f672a8e2..baff9fa479 100644
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,3 +1,9 @@
+2018-03-01  DJ Delorie  <dj@delorie.com>
+
+	[BZ #22342]
+	* nscd/netgroupcache.c (addinnetgrX): Include trailing NUL in
+	key value.
+
 2018-02-26  Dmitry V. Levin  <ldv@altlinux.org>
 
 	[BZ #22433]
diff --git a/NEWS b/NEWS
index d6da060f8b..ad425f2c37 100644
--- a/NEWS
+++ b/NEWS
@@ -11,6 +11,7 @@ The following bugs are resolved with this release:
 
   [6889] 'PWD' mentioned but not specified
   [16335] Feature test macro documentation incomplete and out of date
+  [22342] NSCD not properly caching netgroup
   [22638] sparc: static binaries are broken if glibc is built by gcc
     configured with --enable-default-pie
   [22735] Misleading typo in time.h source comment regarding CLOCKS_PER_SECOND
diff --git a/nscd/netgroupcache.c b/nscd/netgroupcache.c
index b832c9315f..2f187b208c 100644
--- a/nscd/netgroupcache.c
+++ b/nscd/netgroupcache.c
@@ -480,7 +480,7 @@ addinnetgrX (struct database_dyn *db, int fd, request_header *req,
 {
   const char *group = key;
   key = (char *) rawmemchr (key, '\0') + 1;
-  size_t group_len = key - group - 1;
+  size_t group_len = key - group;
   const char *host = *key++ ? key : NULL;
   if (host != NULL)
     key = (char *) rawmemchr (key, '\0') + 1;

commit 78a90c2f74a2012dd3eff302189e47ff6779a757
Author: Andreas Schwab <schwab@linux-m68k.org>
Date:   Fri Mar 2 23:07:14 2018 +0100

    Fix multiple definitions of __nss_*_database (bug 22918)
    
    (cherry picked from commit eaf6753f8aac33a36deb98c1031d1bad7b593d2d)

diff --git a/ChangeLog b/ChangeLog
index baff9fa479..8585b90d0d 100644
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,3 +1,13 @@
+2018-03-03  Andreas Schwab  <schwab@linux-m68k.org>
+
+	[BZ #22918]
+	* nss/nsswitch.h (DEFINE_DATABASE): Don't define __nss_*_database.
+	* nss/nsswitch.c (DEFINE_DATABASE): Define __nss_*_database here.
+	* nscd/gai.c (__nss_hosts_database): Readd definition.
+	* posix/tst-rfc3484.c (__nss_hosts_database): Likewise.
+	* posix/tst-rfc3484-3.c (__nss_hosts_database): Likewise.
+	* posix/tst-rfc3484-2.c (__nss_hosts_database): Likewise.
+
 2018-03-01  DJ Delorie  <dj@delorie.com>
 
 	[BZ #22342]
diff --git a/NEWS b/NEWS
index ad425f2c37..d0dfacd264 100644
--- a/NEWS
+++ b/NEWS
@@ -19,6 +19,7 @@ The following bugs are resolved with this release:
   [22807] PTRACE_* constants missing for powerpc
   [22818] posix/tst-glob_lstat_compat failure on alpha
   [22827] RISC-V ELF64 parser mis-reads flag in ldconfig
+  [22918] multiple common of `__nss_shadow_database'
   [22919] sparc32: backtrace yields infinite backtrace with makecontext
   [22926] FTBFS on powerpcspe
 
diff --git a/nscd/gai.c b/nscd/gai.c
index d081747797..576fd0045b 100644
--- a/nscd/gai.c
+++ b/nscd/gai.c
@@ -45,3 +45,6 @@
 #ifdef HAVE_LIBIDN
 # include <libidn/idn-stub.c>
 #endif
+
+/* Some variables normally defined in libc.  */
+service_user *__nss_hosts_database attribute_hidden;
diff --git a/nss/nsswitch.c b/nss/nsswitch.c
index d5e655974f..b0f0c11a3e 100644
--- a/nss/nsswitch.c
+++ b/nss/nsswitch.c
@@ -62,7 +62,7 @@ static service_library *nss_new_service (name_database *database,
 
 /* Declare external database variables.  */
 #define DEFINE_DATABASE(name)						      \
-  extern service_user *__nss_##name##_database attribute_hidden;	      \
+  service_user *__nss_##name##_database attribute_hidden;		      \
   weak_extern (__nss_##name##_database)
 #include "databases.def"
 #undef DEFINE_DATABASE
diff --git a/nss/nsswitch.h b/nss/nsswitch.h
index eccb535ef5..63573b9ebc 100644
--- a/nss/nsswitch.h
+++ b/nss/nsswitch.h
@@ -226,10 +226,10 @@ libc_hidden_proto (__nss_hostname_digits_dots)
 #define MAX_NR_ADDRS    48
 
 /* Prototypes for __nss_*_lookup2 functions.  */
-#define DEFINE_DATABASE(arg)				    \
-  service_user *__nss_##arg##_database attribute_hidden;    \
-  int __nss_##arg##_lookup2 (service_user **, const char *, \
-			     const char *, void **);	    \
+#define DEFINE_DATABASE(arg)						      \
+  extern service_user *__nss_##arg##_database attribute_hidden;		      \
+  int __nss_##arg##_lookup2 (service_user **, const char *,		      \
+			     const char *, void **);			      \
   libc_hidden_proto (__nss_##arg##_lookup2)
 #include "databases.def"
 #undef DEFINE_DATABASE
diff --git a/posix/tst-rfc3484-2.c b/posix/tst-rfc3484-2.c
index f509534ca9..8c64ac59ff 100644
--- a/posix/tst-rfc3484-2.c
+++ b/posix/tst-rfc3484-2.c
@@ -58,6 +58,7 @@ _res_hconf_init (void)
 #undef	USE_NSCD
 #include "../sysdeps/posix/getaddrinfo.c"
 
+service_user *__nss_hosts_database attribute_hidden;
 
 /* This is the beginning of the real test code.  The above defines
    (among other things) the function rfc3484_sort.  */
diff --git a/posix/tst-rfc3484-3.c b/posix/tst-rfc3484-3.c
index ae44087a10..1c61aaf844 100644
--- a/posix/tst-rfc3484-3.c
+++ b/posix/tst-rfc3484-3.c
@@ -58,6 +58,7 @@ _res_hconf_init (void)
 #undef	USE_NSCD
 #include "../sysdeps/posix/getaddrinfo.c"
 
+service_user *__nss_hosts_database attribute_hidden;
 
 /* This is the beginning of the real test code.  The above defines
    (among other things) the function rfc3484_sort.  */
diff --git a/posix/tst-rfc3484.c b/posix/tst-rfc3484.c
index 7f191abbbc..8f45848e44 100644
--- a/posix/tst-rfc3484.c
+++ b/posix/tst-rfc3484.c
@@ -58,6 +58,7 @@ _res_hconf_init (void)
 #undef	USE_NSCD
 #include "../sysdeps/posix/getaddrinfo.c"
 
+service_user *__nss_hosts_database attribute_hidden;
 
 /* This is the beginning of the real test code.  The above defines
    (among other things) the function rfc3484_sort.  */

commit 1e52d8e65a58c49a48549053a1b89c06240e0c6c
Author: Adhemerval Zanella <adhemerval.zanella@linaro.org>
Date:   Fri Nov 17 16:04:29 2017 -0200

    i386: Fix i386 sigaction sa_restorer initialization (BZ#21269)
    
    This patch fixes the i386 sa_restorer field initialization for sigaction
    syscall for kernel with vDSO.  As described in bug report, i386 Linux
    (and compat on x86_64) interprets SA_RESTORER clear with nonzero
    sa_restorer as a request for stack switching if the SS segment is 'funny'.
    This means that anything that tries to mix glibc's signal handling with
    segmentation (for instance through modify_ldt syscall) is randomly broken
    depending on what values lands in sa_restorer.
    
    The testcase added  is based on Linux test tools/testing/selftests/x86/ldt_gdt.c,
    more specifically in do_multicpu_tests function.  The main changes are:
    
      - C11 atomics instead of plain access.
    
      - Remove x86_64 support which simplifies the syscall handling and fallbacks.
    
      - Replicate only the test required to trigger the issue.
    
    Checked on i686-linux-gnu.
    
            [BZ #21269]
            * sysdeps/unix/sysv/linux/i386/Makefile (tests): Add tst-bz21269.
            * sysdeps/unix/sysv/linux/i386/sigaction.c (SET_SA_RESTORER): Clear
            sa_restorer for vDSO case.
            * sysdeps/unix/sysv/linux/i386/tst-bz21269.c: New file.
    
    (cherry picked from commit 68448be208ee06e76665918b37b0a57e3e00c8b4)

diff --git a/ChangeLog b/ChangeLog
index 8585b90d0d..65672fde09 100644
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,3 +1,11 @@
+2018-03-03  Adhemerval Zanella  <adhemerval.zanella@linaro.org>
+
+	[BZ #21269]
+	* sysdeps/unix/sysv/linux/i386/Makefile (tests): Add tst-bz21269.
+	* sysdeps/unix/sysv/linux/i386/sigaction.c (SET_SA_RESTORER): Clear
+	sa_restorer for vDSO case.
+	* sysdeps/unix/sysv/linux/i386/tst-bz21269.c: New file.
+
 2018-03-03  Andreas Schwab  <schwab@linux-m68k.org>
 
 	[BZ #22918]
diff --git a/NEWS b/NEWS
index d0dfacd264..0f224114b8 100644
--- a/NEWS
+++ b/NEWS
@@ -11,6 +11,7 @@ The following bugs are resolved with this release:
 
   [6889] 'PWD' mentioned but not specified
   [16335] Feature test macro documentation incomplete and out of date
+  [21269] i386 sigaction sa_restorer handling is wrong
   [22342] NSCD not properly caching netgroup
   [22638] sparc: static binaries are broken if glibc is built by gcc
     configured with --enable-default-pie
diff --git a/sysdeps/unix/sysv/linux/i386/Makefile b/sysdeps/unix/sysv/linux/i386/Makefile
index 4080b8c966..da716e2c1b 100644
--- a/sysdeps/unix/sysv/linux/i386/Makefile
+++ b/sysdeps/unix/sysv/linux/i386/Makefile
@@ -3,6 +3,9 @@ default-abi := 32
 
 ifeq ($(subdir),misc)
 sysdep_routines += ioperm iopl vm86
+
+tests += tst-bz21269
+$(objpfx)tst-bz21269: $(shared-thread-library)
 endif
 
 ifeq ($(subdir),elf)
diff --git a/sysdeps/unix/sysv/linux/i386/sigaction.c b/sysdeps/unix/sysv/linux/i386/sigaction.c
index a5eb9e0d3e..177ff60ee6 100644
--- a/sysdeps/unix/sysv/linux/i386/sigaction.c
+++ b/sysdeps/unix/sysv/linux/i386/sigaction.c
@@ -42,7 +42,6 @@ extern void restore_rt (void) asm ("__restore_rt") attribute_hidden;
 #endif
 extern void restore (void) asm ("__restore") attribute_hidden;
 
-
 /* If ACT is not NULL, change the action for SIG to *ACT.
    If OACT is not NULL, put the old action for SIG in *OACT.  */
 int
@@ -65,6 +64,8 @@ __libc_sigaction (int sig, const struct sigaction *act, struct sigaction *oact)
 	  kact.sa_restorer = ((act->sa_flags & SA_SIGINFO)
 			      ? &restore_rt : &restore);
 	}
+      else
+	kact.sa_restorer = NULL;
     }
 
   /* XXX The size argument hopefully will have to be changed to the
diff --git a/sysdeps/unix/sysv/linux/i386/tst-bz21269.c b/sysdeps/unix/sysv/linux/i386/tst-bz21269.c
new file mode 100644
index 0000000000..353e36507d
--- /dev/null
+++ b/sysdeps/unix/sysv/linux/i386/tst-bz21269.c
@@ -0,0 +1,233 @@
+/* Test for i386 sigaction sa_restorer handling (BZ#21269)
+   Copyright (C) 2017 Free Software Foundation, Inc.
+   This file is part of the GNU C Library.
+
+   The GNU C Library is free software; you can redistribute it and/or
+   modify it under the terms of the GNU Lesser General Public
+   License as published by the Free Software Foundation; either
+   version 2.1 of the License, or (at your option) any later version.
+
+   The GNU C Library is distributed in the hope that it will be useful,
+   but WITHOUT ANY WARRANTY; without even the implied warranty of
+   MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
+   Lesser General Public License for more details.
+
+   You should have received a copy of the GNU Lesser General Public
+   License along with the GNU C Library; if not, see
+   <http://www.gnu.org/licenses/>.  */
+
+/* This is based on Linux test tools/testing/selftests/x86/ldt_gdt.c,
+   more specifically in do_multicpu_tests function.  The main changes
+   are:
+
+   - C11 atomics instead of plain access.
+   - Remove x86_64 support which simplifies the syscall handling
+     and fallbacks.
+   - Replicate only the test required to trigger the issue for the
+     BZ#21269.  */
+
+#include <stdatomic.h>
+
+#include <asm/ldt.h>
+#include <linux/futex.h>
+
+#include <setjmp.h>
+#include <signal.h>
+#include <errno.h>
+#include <sys/syscall.h>
+#include <sys/mman.h>
+
+#include <support/xunistd.h>
+#include <support/check.h>
+#include <support/xthread.h>
+
+static int
+xset_thread_area (struct user_desc *u_info)
+{
+  long ret = syscall (SYS_set_thread_area, u_info);
+  TEST_VERIFY_EXIT (ret == 0);
+  return ret;
+}
+
+static void
+xmodify_ldt (int func, const void *ptr, unsigned long bytecount)
+{
+  TEST_VERIFY_EXIT (syscall (SYS_modify_ldt, 1, ptr, bytecount) == 0);
+}
+
+static int
+futex (int *uaddr, int futex_op, int val, void *timeout, int *uaddr2,
+	int val3)
+{
+  return syscall (SYS_futex, uaddr, futex_op, val, timeout, uaddr2, val3);
+}
+
+static void
+xsethandler (int sig, void (*handler)(int, siginfo_t *, void *), int flags)
+{
+  struct sigaction sa = { 0 };
+  sa.sa_sigaction = handler;
+  sa.sa_flags = SA_SIGINFO | flags;
+  TEST_VERIFY_EXIT (sigemptyset (&sa.sa_mask) == 0);
+  TEST_VERIFY_EXIT (sigaction (sig, &sa, 0) == 0);
+}
+
+static jmp_buf jmpbuf;
+
+static void
+sigsegv_handler (int sig, siginfo_t *info, void *ctx_void)
+{
+  siglongjmp (jmpbuf, 1);
+}
+
+/* Points to an array of 1024 ints, each holding its own index.  */
+static const unsigned int *counter_page;
+static struct user_desc *low_user_desc;
+static struct user_desc *low_user_desc_clear; /* Used to delete GDT entry.  */
+static int gdt_entry_num;
+
+static void
+setup_counter_page (void)
+{
+  long page_size = sysconf (_SC_PAGE_SIZE);
+  TEST_VERIFY_EXIT (page_size > 0);
+  unsigned int *page = xmmap (NULL, page_size, PROT_READ | PROT_WRITE,
+			      MAP_ANONYMOUS | MAP_PRIVATE | MAP_32BIT, -1);
+  for (int i = 0; i < (page_size / sizeof (unsigned int)); i++)
+    page[i] = i;
+  counter_page = page;
+}
+
+static void
+setup_low_user_desc (void)
+{
+  low_user_desc = xmmap (NULL, 2 * sizeof (struct user_desc),
+			 PROT_READ | PROT_WRITE,
+			 MAP_ANONYMOUS | MAP_PRIVATE | MAP_32BIT, -1);
+
+  low_user_desc->entry_number    = -1;
+  low_user_desc->base_addr       = (unsigned long) &counter_page[1];
+  low_user_desc->limit           = 0xffff;
+  low_user_desc->seg_32bit       = 1;
+  low_user_desc->contents        = 0;
+  low_user_desc->read_exec_only  = 0;
+  low_user_desc->limit_in_pages  = 1;
+  low_user_desc->seg_not_present = 0;
+  low_user_desc->useable         = 0;
+
+  xset_thread_area (low_user_desc);
+
+  low_user_desc_clear = low_user_desc + 1;
+  low_user_desc_clear->entry_number = gdt_entry_num;
+  low_user_desc_clear->read_exec_only = 1;
+  low_user_desc_clear->seg_not_present = 1;
+}
+
+/* Possible values of futex:
+   0: thread is idle.
+   1: thread armed.
+   2: thread should clear LDT entry 0.
+   3: thread should exit.  */
+static atomic_uint ftx;
+
+static void *
+threadproc (void *ctx)
+{
+  while (1)
+    {
+      futex ((int *) &ftx, FUTEX_WAIT, 1, NULL, NULL, 0);
+      while (atomic_load (&ftx) != 2)
+	{
+	  if (atomic_load (&ftx) >= 3)
+	    return NULL;
+	}
+
+      /* clear LDT entry 0.  */
+      const struct user_desc desc = { 0 };
+      xmodify_ldt (1, &desc, sizeof (desc));
+
+      /* If ftx == 2, set it to zero,  If ftx == 100, quit.  */
+      if (atomic_fetch_add (&ftx, -2) != 2)
+	return NULL;
+    }
+}
+
+
+/* As described in testcase, for historical reasons x86_32 Linux (and compat
+   on x86_64) interprets SA_RESTORER clear with nonzero sa_restorer as a
+   request for stack switching if the SS segment is 'funny' (this is default
+   scenario for vDSO system).  This means that anything that tries to mix
+   signal handling with segmentation should explicit clear the sa_restorer.
+
+   This testcase check if sigaction in fact does it by changing the local
+   descriptor table (LDT) through the modify_ldt syscall and triggering
+   a synchronous segfault on iret fault by trying to install an invalid
+   segment.  With a correct zeroed sa_restorer it should not trigger an
+   'real' SEGSEGV and allows the siglongjmp in signal handler.  */
+
+static int
+do_test (void)
+{
+  setup_counter_page ();
+  setup_low_user_desc ();
+
+  pthread_t thread;
+  unsigned short orig_ss;
+
+  xsethandler (SIGSEGV, sigsegv_handler, 0);
+  /* 32-bit kernels send SIGILL instead of SIGSEGV on IRET faults.  */
+  xsethandler (SIGILL, sigsegv_handler, 0);
+
+  thread = xpthread_create (0, threadproc, 0);
+
+  asm volatile ("mov %%ss, %0" : "=rm" (orig_ss));
+
+  for (int i = 0; i < 5; i++)
+    {
+      if (sigsetjmp (jmpbuf, 1) != 0)
+	continue;
+
+      /* Make sure the thread is ready after the last test. */
+      while (atomic_load (&ftx) != 0)
+	;
+
+      struct user_desc desc = {
+	.entry_number       = 0,
+	.base_addr          = 0,
+	.limit              = 0xffff,
+	.seg_32bit          = 1,
+	.contents           = 0,
+	.read_exec_only     = 0,
+	.limit_in_pages     = 1,
+	.seg_not_present    = 0,
+	.useable            = 0
+      };
+
+      xmodify_ldt (0x11, &desc, sizeof (desc));
+
+      /* Arm the thread.  */
+      ftx = 1;
+      futex ((int*) &ftx, FUTEX_WAKE, 0, NULL, NULL, 0);
+
+      asm volatile ("mov %0, %%ss" : : "r" (0x7));
+
+      /* Fire up thread modify_ldt call.  */
+      atomic_store (&ftx, 2);
+
+      while (atomic_load (&ftx) != 0)
+	;
+
+      /* On success, modify_ldt will segfault us synchronously and we will
+	 escape via siglongjmp.  */
+      support_record_failure ();
+    }
+
+  atomic_store (&ftx, 100);
+  futex ((int*) &ftx, FUTEX_WAKE, 0, NULL, NULL, 0);
+
+  xpthread_join (thread);
+
+  return 0;
+}
+
+#include <support/test-driver.c>

commit b63daad97ec1a9adccf028cfdebedff2b3660097
Author: Dmitry V. Levin <ldv@altlinux.org>
Date:   Mon Mar 12 13:24:46 2018 +0000

    Update translations from the Translation Project
    
    * po/pt_BR.po: Update translations.
    
    (cherry picked from commit 778f1974863d63e858b6d0105e41d6f0c30732d3)

diff --git a/ChangeLog b/ChangeLog
index 65672fde09..8baa2123ed 100644
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,3 +1,7 @@
+2018-03-12  Dmitry V. Levin  <ldv@altlinux.org>
+
+	* po/pt_BR.po: Update translations.
+
 2018-03-03  Adhemerval Zanella  <adhemerval.zanella@linaro.org>
 
 	[BZ #21269]
diff --git a/po/pt_BR.po b/po/pt_BR.po
index b7c1650957..d49d6ec279 100644
--- a/po/pt_BR.po
+++ b/po/pt_BR.po
@@ -1,4283 +1,7213 @@
-# Brazilian portuguese messages for glibc.
-# Copyright � 1998, 1999 Free Software Foundation, Inc.
+# Brazilian Portuguese translation for glibc.
+# Copyright © 2018 Free Software Foundation, Inc.
+# This file is distributed under the same license as the glibc package.
 # Fabio Dorival Victorelli <fabio@conectiva.com.br>, 1998.
-# M�rcio Macedo <marciom@conectiva.com.br>, 1998.
+# Márcio Macedo <marciom@conectiva.com.br>, 1998.
 # Arnaldo Carvalho de Mello <acme@conectiva.com.br>, 1998.
 # Sandro Nunes Henrique <sandro@conectiva.com.br>, 1998.
 # Rodrigo Stulzer Lopes <rodrigo@conectiva.com.br>, 1999.
-#
+# Rafael Fontenelle <rafaelff@gnome.org>, 2018.
 msgid ""
 msgstr ""
-"Project-Id-Version: libc 2.1\n"
-"POT-Creation-Date: 1998-11-28 09:29-0800\n"
-"PO-Revision-Date: 1999-06-29 18:07-0300\n"
-"Last-Translator: Rodrigo Parra Novo <rodarvus@conectiva.com.br>\n"
-"Language-Team: Brazilian Portuguese <ldp-br@bazar.conectiva.com.br>\n"
-"X-Bugs: Report translation errors to the Language-Team address.\n"
+"Project-Id-Version: libc 2.26.9000\n"
+"POT-Creation-Date: 2018-01-10 15:00+0000\n"
+"PO-Revision-Date: 2018-03-11 11:16-0300\n"
+"Last-Translator: Rafael Fontenelle <rafaelff@gnome.org>\n"
+"Language-Team: Brazilian Portuguese <ldpbr-translation@lists.sourceforge.net>\n"
+"Language: pt_BR\n"
 "MIME-Version: 1.0\n"
-"Content-Type: text/plain; charset=ISO-8859-1\n"
-"Content-Transfer-Encoding: 8-bit\n"
-
-#: nis/nis_print.c:273
-msgid "\t\tAccess Rights : "
-msgstr "\t\tDireitos de Acesso: "
-
-#: nis/nis_print.c:271
-msgid "\t\tAttributes    : "
-msgstr "\t\tAtributos         : "
-
-#: sunrpc/rpc_main.c:1416
-#, c-format
-msgid "\t%s [-abkCLNTM][-Dname[=value]] [-i size] [-I [-K seconds]] [-Y path] infile\n"
-msgstr "%s [-abkCLNTM][-Dname[=valor]] [-i tamanho] [-I [-K segundos]] [-Y rota] arquivo_entrada\n"
+"Content-Type: text/plain; charset=UTF-8\n"
+"Content-Transfer-Encoding: 8bit\n"
+"X-Bugs: Report translation errors to the Language-Team address.\n"
+"Plural-Forms: nplurals=2; plural=(n > 1);\n"
+"X-Generator: Virtaal 1.0.0-beta1\n"
 
-#: sunrpc/rpc_main.c:1418
+#: argp/argp-help.c:227
 #, c-format
-msgid "\t%s [-c | -h | -l | -m | -t | -Sc | -Ss | -Sm] [-o outfile] [infile]\n"
-msgstr "\t%s [-c | -h | -l | -m | -t | -Sc | -Ss | -Sm] [-o arquivo-sa�da] [arquivo-entrada]\n"
+msgid "%.*s: ARGP_HELP_FMT parameter requires a value"
+msgstr "%.*s: ARGP_HELP_FMT parâmetro requer um valor"
 
-#: sunrpc/rpc_main.c:1421
+#: argp/argp-help.c:237
 #, c-format
-msgid "\t%s [-n netid]* [-o outfile] [infile]\n"
-msgstr "\t%s [-n id-rede]* [-o arquivo-sa�da] [arquivo-entrada]\n"
+msgid "%.*s: Unknown ARGP_HELP_FMT parameter"
+msgstr "%.*s: Parâmetro ARGP_HELP_FMT desconhecido"
 
-#: sunrpc/rpc_main.c:1420
+#: argp/argp-help.c:250
 #, c-format
-msgid "\t%s [-s nettype]* [-o outfile] [infile]\n"
-msgstr "\t%s [-s tipo-rede]* [-o arquivo-sa�da] [arquivo-entrada]\n"
+msgid "Garbage in ARGP_HELP_FMT: %s"
+msgstr "Lixo em ARGP_HELP_FMT: %s"
 
-#: nis/nis_print.c:235
-msgid "\tAccess rights: "
-msgstr "\tDireitos acesso: "
+#: argp/argp-help.c:1214
+msgid "Mandatory or optional arguments to long options are also mandatory or optional for any corresponding short options."
+msgstr "Parâmetros obrigatórios ou opcionais para opções longas são também obrigatórios ou opcionais para qualquer opção curta correspondente."
 
-#: nis/nis_print.c:293
-#, c-format
-msgid "\tEntry data of type %s\n"
-msgstr "\tEntrada de dados de tipo %s\n"
+#: argp/argp-help.c:1600
+msgid "Usage:"
+msgstr "Uso:"
 
-#: nis/nis_print.c:171
-#, c-format
-msgid "\tName       : %s\n"
-msgstr "\tNome         : %s\n"
+#: argp/argp-help.c:1604
+msgid "  or: "
+msgstr "  ou: "
 
-#: nis/nis_print.c:172
-msgid "\tPublic Key : "
-msgstr "\tChave p�blica: "
+#: argp/argp-help.c:1616
+msgid " [OPTION...]"
+msgstr " [OPÇÃO...]"
 
-#: nis/nis_print.c:234
+#: argp/argp-help.c:1643
 #, c-format
-msgid "\tType         : %s\n"
-msgstr "\tTipo           : %s\n"
+msgid "Try `%s --help' or `%s --usage' for more information.\n"
+msgstr "Tente “%s --help” ou “%s --usage” para mais informações.\n"
 
-#: nis/nis_print.c:201
+#: argp/argp-help.c:1671
 #, c-format
-msgid "\tUniversal addresses (%u)\n"
-msgstr "\tEndere�o universal (%u)\n"
+msgid "Report bugs to %s.\n"
+msgstr "Relate erros para %s.\n"
 
-#: nis/nis_print.c:269
-#, c-format
-msgid "\t[%d]\tName          : %s\n"
-msgstr "\t[%d]\tNome          : %s\n"
+#: argp/argp-parse.c:101
+msgid "Give this help list"
+msgstr "Retorna este arquivo de ajuda"
 
-#: nis/nis_print.c:296
-#, c-format
-msgid "\t[%u] - [%u bytes] "
-msgstr "\t[%u] - [%u bytes] "
+#: argp/argp-parse.c:102
+msgid "Give a short usage message"
+msgstr "Retorna uma mensagem de uso curta"
 
-#: nscd/nscd_stat.c:153
-msgid ""
-"\n"
-"%s cache:\n"
-"\n"
-"%15s  cache is enabled\n"
-"%15Zd  suggested size\n"
-"%15ld  seconds time to live for positive entries\n"
-"%15ld  seconds time to live for negative entries\n"
-"%15ld  cache hits on positive entries\n"
-"%15ld  cache hits on negative entries\n"
-"%15ld  cache misses on positive entries\n"
-"%15ld  cache misses on negative entries\n"
-"%15ld%% cache hit rate\n"
-"%15s  check /etc/%s for changes\n"
-msgstr ""
-"\n"
-"cache %s:\n"
-"\n"
-"%15s  cache est� habilitado\n"
-"%15Zd  tamanho sugerido%15ld  segundos de vida para entradas positivas\n"
-"%15ld  segundos de vida para entradas negativas\n"
-"%15ld  hits do cache para entradas positivas\n"
-"%15ld  hits do cache para entradas negativas\n"
-"%15ld%% quantidade de hits no cache\n"
-"%15s  verifique o arquivo /etc/%s para mudan�as\n"
+#: argp/argp-parse.c:103 catgets/gencat.c:109 catgets/gencat.c:113
+#: iconv/iconv_prog.c:60 iconv/iconv_prog.c:61 nscd/nscd.c:105
+#: nss/makedb.c:120
+msgid "NAME"
+msgstr "NOME"
 
-#: nis/nis_print.c:251
-msgid "\nGroup Members :\n"
-msgstr "\nMembros do Grupo : \n"
+#: argp/argp-parse.c:104
+msgid "Set the program name"
+msgstr "Configura o nome do programa"
 
-#: nis/nis_print.c:320
-msgid "\nTime to Live  : "
-msgstr "\nTempo de Vida  : "
+#: argp/argp-parse.c:105
+msgid "SECS"
+msgstr "SEG"
 
-#: sunrpc/rpcinfo.c:679
-msgid "       rpcinfo -b prognum versnum\n"
-msgstr "       rpcinfo -b n�mprog n�mvers\n"
+#: argp/argp-parse.c:106
+msgid "Hang for SECS seconds (default 3600)"
+msgstr "Retém por SEG segundos (o padrão é 3600)"
 
-#: sunrpc/rpcinfo.c:680
-msgid "       rpcinfo -d prognum versnum\n"
-msgstr "       rpcinfo -b n�mprog n�mvers\n"
+#: argp/argp-parse.c:167
+msgid "Print program version"
+msgstr "Mostra versão do programa"
 
-#: sunrpc/rpcinfo.c:678
-msgid "       rpcinfo -p [ host ]\n"
-msgstr "       rpcinfo -p [ host ]\n"
+#: argp/argp-parse.c:183
+msgid "(PROGRAM ERROR) No version known!?"
+msgstr "(ERRO DE PROGRAMA) Versão desconhecida!?"
 
-#: sunrpc/rpcinfo.c:676
-msgid "       rpcinfo [ -n portnum ] -t host prognum [ versnum ]\n"
-msgstr "       rpcinfo [ -n n�mporta ] -t host n�mprog [ n�mvers ]\n"
+#: argp/argp-parse.c:623
+#, c-format
+msgid "%s: Too many arguments\n"
+msgstr "%s: Argumentos demais\n"
 
-#: nscd/nscd_stat.c:145 nscd/nscd_stat.c:147
-msgid "      no"
-msgstr "    n�o"
+#: argp/argp-parse.c:766
+msgid "(PROGRAM ERROR) Option should have been recognized!?"
+msgstr "(ERRO DE PROGRAMA) Opção deveria ter sido reconhecida!?"
 
-#: nscd/nscd_stat.c:145 nscd/nscd_stat.c:147
-msgid "     yes"
-msgstr "    sim"
+#: assert/assert-perr.c:35
+#, c-format
+msgid "%s%s%s:%u: %s%sUnexpected error: %s.\n"
+msgstr "%s%s%s:%u: %s%sErro inesperado: %s.\n"
 
-#: nis/nis_print.c:344
+#: assert/assert.c:101
 #, c-format
-msgid "    Data Length = %u\n"
-msgstr "  Tamanho dados = %u\n"
+msgid ""
+"%s%s%s:%u: %s%sAssertion `%s' failed.\n"
+"%n"
+msgstr ""
+"%s%s%s:%u: %s%sAssertiva “%s” falhou.\n"
+"%n"
 
-#: nis/nis_print_group_entry.c:121
-msgid "    Explicit members:\n"
-msgstr "  Membros expl�citos:\n"
+#: catgets/gencat.c:110
+msgid "Create C header file NAME containing symbol definitions"
+msgstr "Cria arquivo NOME com cabeçalho C contendo definições de símbolos"
 
-#: nis/nis_print_group_entry.c:145 nis/nis_print_group_entry.c:161
-msgid "    Explicit nonmembers:\n"
-msgstr " N�o-membros expl�citos:\n"
+#: catgets/gencat.c:112
+msgid "Do not use existing catalog, force new output file"
+msgstr "Não usa catálogo existente, força um novo arquivo de saída"
 
-#: nis/nis_print_group_entry.c:129
-msgid "    Implicit members:\n"
-msgstr "  Membros impl�citos:\n"
+#: catgets/gencat.c:113 nss/makedb.c:120
+msgid "Write output to file NAME"
+msgstr "Escreve a saída para o arquivo NOME"
 
-#: nis/nis_print_group_entry.c:153
-msgid "    Implicit nonmembers:\n"
-msgstr " N�o-membros impl�citos:\n"
+#: catgets/gencat.c:118
+msgid ""
+"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 ""
+"Gera catálogo de mensagens.\\vSe ARQUIVO-DE-ENTRADA for -, a entrada é lida da entrada padrão.\n"
+"Se ARQUIVO-DE-SAÍDA for -, a saída é escrita para a saída padrão.\n"
 
-#: nis/nis_print_group_entry.c:126
-msgid "    No explicit members\n"
-msgstr " Membros n�o expl�citos\n"
+#: catgets/gencat.c:123
+msgid ""
+"-o OUTPUT-FILE [INPUT-FILE]...\n"
+"[OUTPUT-FILE [INPUT-FILE]...]"
+msgstr ""
+"-o ARQUIVO-SAÍDA [ARQUIVO-ENTRADA]...\n"
+"[ARQUIVO-SAÍDA [ARQUIVO-ENTRADA...]"
 
-#: nis/nis_print_group_entry.c:150
-msgid "    No explicit nonmembers\n"
-msgstr "N�o-membros n�o expl�citos\n"
+#: catgets/gencat.c:229 debug/pcprofiledump.c:209 elf/ldconfig.c:308
+#: elf/pldd.c:252 elf/sln.c:77 elf/sprof.c:372 iconv/iconv_prog.c:405
+#: iconv/iconvconfig.c:379 locale/programs/locale.c:275
+#: locale/programs/localedef.c:427 login/programs/pt_chown.c:89
+#: malloc/memusagestat.c:563 nss/getent.c:913 nss/makedb.c:369
+#: posix/getconf.c:503 sysdeps/unix/sysv/linux/lddlibc4.c:61
+#, c-format
+msgid ""
+"For bug reporting instructions, please see:\n"
+"%s.\n"
+msgstr ""
+"Para instruções sobre como relatar erros, por favor veja:\n"
+"%s.\n"
 
-#: nis/nis_print_group_entry.c:134
-msgid "    No implicit members\n"
-msgstr " Membros n�o impl�citos\n"
+#: catgets/gencat.c:245 debug/pcprofiledump.c:225 debug/xtrace.sh:64
+#: elf/ldconfig.c:324 elf/ldd.bash.in:38 elf/pldd.c:268 elf/sotruss.sh:75
+#: elf/sprof.c:389 iconv/iconv_prog.c:422 iconv/iconvconfig.c:396
+#: locale/programs/locale.c:292 locale/programs/localedef.c:453
+#: login/programs/pt_chown.c:63 malloc/memusage.sh:71
+#: malloc/memusagestat.c:581 nscd/nscd.c:509 nss/getent.c:86 nss/makedb.c:385
+#: posix/getconf.c:485 sysdeps/unix/sysv/linux/lddlibc4.c:68
+#, c-format
+msgid ""
+"Copyright (C) %s Free Software Foundation, Inc.\n"
+"This is free software; see the source for copying conditions.  There is NO\n"
+"warranty; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.\n"
+msgstr ""
+"Copyright (C) %s Free Software Foundation, Inc.\n"
+"Este é um software livre; leia os fontes para condições de cópia. NÃO HÁ\n"
+"QUALQUER GARANTIA; nem para COMERCIALIZAÇÃO ou ADEQUAÇÃO A QUALQUER\n"
+"PROPÓSITO EME PARTICULAR.\n"
 
-#: nis/nis_print_group_entry.c:158
-msgid "    No implicit nonmembers\n"
-msgstr "N�o-membros n�o impl�citos\n"
+#: catgets/gencat.c:250 debug/pcprofiledump.c:230 debug/xtrace.sh:68
+#: elf/ldconfig.c:329 elf/pldd.c:273 elf/sprof.c:395 iconv/iconv_prog.c:427
+#: iconv/iconvconfig.c:401 locale/programs/locale.c:297
+#: locale/programs/localedef.c:458 malloc/memusage.sh:75
+#: malloc/memusagestat.c:586 nscd/nscd.c:514 nss/getent.c:91 nss/makedb.c:390
+#: posix/getconf.c:490
+#, c-format
+msgid "Written by %s.\n"
+msgstr "Escrito por %s.\n"
 
-#: nis/nis_print_group_entry.c:142
-msgid "    No recursive members\n"
-msgstr "Membros n�o recursivos\n"
+#: catgets/gencat.c:281
+msgid "*standard input*"
+msgstr "*entrada padrão*"
 
-#: nis/nis_print_group_entry.c:166
-msgid "    No recursive nonmembers\n"
-msgstr "N�o-membros n�o recursivos\n"
+#: catgets/gencat.c:287 iconv/iconv_charmap.c:167 iconv/iconv_prog.c:290
+#: nss/makedb.c:246
+#, c-format
+msgid "cannot open input file `%s'"
+msgstr "não é possível abrir arquivo de entrada “%s”"
 
-#: nis/nis_print_group_entry.c:137
-msgid "    Recursive members:\n"
-msgstr "   Membros recursivos:\n"
+#: catgets/gencat.c:416 catgets/gencat.c:491
+msgid "illegal set number"
+msgstr "número de conjunto ilegal"
 
-#: sunrpc/rpcinfo.c:574
-msgid "   program vers proto   port\n"
-msgstr "   programa vers�o protocolo   porta\n"
+#: catgets/gencat.c:443
+msgid "duplicate set definition"
+msgstr "definição de conjunto duplicada"
 
-#: argp/argp-help.c:1571
-msgid "  or: "
-msgstr "  ou: "
+#: catgets/gencat.c:445 catgets/gencat.c:617 catgets/gencat.c:669
+msgid "this is the first definition"
+msgstr "esta é a primeira definição"
 
-#: timezone/zic.c:421
+#: catgets/gencat.c:516
 #, c-format
-msgid " (rule from \"%s\", line %d)"
-msgstr " (regra de \"%s\", linha %d)"
-
-#: argp/argp-help.c:1583
-msgid " [OPTION...]"
-msgstr " [OP��O...]"
+msgid "unknown set `%s'"
+msgstr "conjunto desconhecido “%s”"
 
-#: locale/programs/ld-collate.c:370 locale/programs/ld-ctype.c:1291
-msgid " done\n"
-msgstr " feito\n"
+#: catgets/gencat.c:557
+msgid "invalid quote character"
+msgstr "caractere de aspas inválido"
 
-#: timezone/zic.c:418
+#: catgets/gencat.c:570
 #, c-format
-msgid "\"%s\", line %d: %s"
-msgstr "\"%s\", linha %d: %s"
+msgid "unknown directive `%s': line ignored"
+msgstr "diretiva desconhecida “%s”: linha ignorada"
 
-#: timezone/zic.c:958
-#, c-format
-msgid "\"Zone %s\" line and -l option are mutually exclusive"
-msgstr "A linha \"Zone %s\" e a op��o -l s�o mutuamente exclusivas"
+#: catgets/gencat.c:615
+msgid "duplicated message number"
+msgstr "número de mensagem duplicado"
 
-#: timezone/zic.c:966
-#, c-format
-msgid "\"Zone %s\" line and -p option are mutually exclusive"
-msgstr "A linha \"Zone %s\" e a op��o -p s�o mutuamente exclusivas"
+#: catgets/gencat.c:666
+msgid "duplicated message identifier"
+msgstr "identificador de mensagens duplicado"
 
-#: sunrpc/rpc_main.c:1401
-msgid "\"infile\" is required for template generation flags.\n"
-msgstr "\"arquivo-entrada\" � necess�rio para gera��o de indicadores do modelo.\n"
+#: catgets/gencat.c:723
+msgid "invalid character: message ignored"
+msgstr "caractere inválido: mensagem ignorada"
 
-#: argp/argp-help.c:210
-#, c-format
-msgid "%.*s: ARGP_HELP_FMT parameter requires a value"
-msgstr "%.*s: ARGP_HELP_FMT par�metro requer um valor"
+#: catgets/gencat.c:766
+msgid "invalid line"
+msgstr "linha inválida"
 
-#: argp/argp-help.c:219
-#, c-format
-msgid "%.*s: Unknown ARGP_HELP_FMT parameter"
-msgstr "%.*s: Par�metro ARGP_HELP_FMT desconhecido"
+#: catgets/gencat.c:820
+msgid "malformed line ignored"
+msgstr "linha inválida ignorada"
 
-#: timezone/zic.c:768
+#: catgets/gencat.c:984 catgets/gencat.c:1025
 #, c-format
-msgid "%s in ruleless zone"
-msgstr "%s em uma zona sem regras"
+msgid "cannot open output file `%s'"
+msgstr "não é possível abrir arquivo de saída “%s”"
 
-#: assert/assert.c:51
-#, c-format
-msgid "%s%s%s:%u: %s%sAssertion `%s' failed.\n"
-msgstr "%s%s%s:%u: %s%sAssertiva `%s' falhou.\n"
+#: catgets/gencat.c:1187 locale/programs/linereader.c:560
+msgid "invalid escape sequence"
+msgstr "sequência de escape inválida"
 
-#: assert/assert-perr.c:52
-#, c-format
-msgid "%s%s%s:%u: %s%sUnexpected error: %s.\n"
-msgstr "%s%s%s:%u: %s%sErro inesperado: %s.\n"
+#: catgets/gencat.c:1209
+msgid "unterminated message"
+msgstr "mensagem não terminada"
 
-#: stdio-common/psignal.c:47
+#: catgets/gencat.c:1233
 #, c-format
-msgid "%s%sUnknown signal %d\n"
-msgstr "%s%sSinal desconhecido %d\n"
+msgid "while opening old catalog file"
+msgstr "enquanto abrindo antigo arquivo de catálogo"
 
-#: timezone/zic.c:2201
+#: catgets/gencat.c:1324
 #, c-format
-msgid "%s: %d did not sign extend correctly\n"
-msgstr "%s: %d n�o fez extens�o de sinal corretamente\n"
+msgid "conversion modules not available"
+msgstr "módulos de conversão não estão disponíveis"
 
-#: locale/programs/charmap.c:261
+#: catgets/gencat.c:1350
 #, c-format
-msgid "%s: <mb_cur_max> must be greater than <mb_cur_min>\n"
-msgstr "%s: <mb_cur_max> deve ser maior que <mb_cur_min>\n"
+msgid "cannot determine escape character"
+msgstr "não é possível determinar caractere de escape"
 
-#: sunrpc/rpc_main.c:422
-#, c-format
-msgid "%s: C preprocessor failed with exit code %d\n"
-msgstr "%s: Pr�-processador C falhou com c�digo de sa�da %d\n"
+#: debug/pcprofiledump.c:53
+msgid "Don't buffer output"
+msgstr "Não usa buffer para a saída"
 
-#: sunrpc/rpc_main.c:419
-#, c-format
-msgid "%s: C preprocessor failed with signal %d\n"
-msgstr "%s: Pr�-processador C falhou com sinal %d\n"
+#: debug/pcprofiledump.c:58
+msgid "Dump information generated by PC profiling."
+msgstr "Despeja a informação gerada pelo perfilador de PC."
 
-#: timezone/zic.c:1469
-#, c-format
-msgid "%s: Can't create %s: %s\n"
-msgstr "%s: N�o � poss�vel criar %s: %s\n"
+#: debug/pcprofiledump.c:61
+msgid "[FILE]"
+msgstr "[ARQUIVO]"
 
-#: timezone/zic.c:2179
+#: debug/pcprofiledump.c:108
 #, c-format
-msgid "%s: Can't create directory %s: %s\n"
-msgstr "%s: N�o � poss�vel criar o diret�rio %s: %s\n"
+msgid "cannot open input file"
+msgstr "não foi possível abrir arquivo de entrada"
 
-#: timezone/zic.c:620
+#: debug/pcprofiledump.c:115
 #, c-format
-msgid "%s: Can't link from %s to %s: %s\n"
-msgstr "%s: N�o � poss�vel criar um link de %s para %s: %s\n"
+msgid "cannot read header"
+msgstr "não foi possível ler cabeçalho"
 
-#: timezone/zic.c:794
+#: debug/pcprofiledump.c:179
 #, c-format
-msgid "%s: Can't open %s: %s\n"
-msgstr "%s: N�o � poss�vel abrir %s: %s\n"
+msgid "invalid pointer size"
+msgstr "tamanho de ponteiro inválido"
 
-#: timezone/zic.c:1459
-#, c-format
-msgid "%s: Can't remove %s: %s\n"
-msgstr "%s: N�o � poss�vel remover %s: %s\n"
+#: debug/xtrace.sh:26 debug/xtrace.sh:44
+msgid "Usage: xtrace [OPTION]... PROGRAM [PROGRAMOPTION]...\\n"
+msgstr "Uso: xtrace [OPÇÃO]... PROGRAMA [OPÇÃOPROGRAMA]...\\n"
 
-#: timezone/zic.c:863
-#, c-format
-msgid "%s: Error closing %s: %s\n"
-msgstr "%s: Erro fechando %s: %s\n"
+#: debug/xtrace.sh:32 elf/sotruss.sh:56 elf/sotruss.sh:67 elf/sotruss.sh:135
+#: malloc/memusage.sh:26
+msgid "Try \\`%s --help' or \\`%s --usage' for more information.\\n"
+msgstr "Tente “%s --help” ou “%s --usage” para mais informações.\\n"
 
-#: timezone/zic.c:856
-#, c-format
-msgid "%s: Error reading %s\n"
-msgstr "%s: Erro lendo %s\n"
+#: debug/xtrace.sh:38
+msgid "%s: option '%s' requires an argument.\\n"
+msgstr "%s: opção “%s” requer um argumento.\\n"
 
-#: timezone/zic.c:1535
-#, c-format
-msgid "%s: Error writing %s\n"
-msgstr "%s: Erro escrevendo %s\n"
+#: debug/xtrace.sh:45
+msgid ""
+"Trace execution of program by printing currently executed function.\n"
+"\n"
+"     --data=FILE          Don't run the program, just print the data from FILE.\n"
+"\n"
+"   -?,--help              Print this help and exit\n"
+"      --usage             Give a short usage message\n"
+"   -V,--version           Print version information and exit\n"
+"\n"
+"Mandatory arguments to long options are also mandatory for any corresponding\n"
+"short options.\n"
+"\n"
+msgstr ""
+"Rastreia a execução do programa exibindo a função atualmente executada.\n"
+"\n"
+"     --data=ARQUIVO       Não executa o programa, apenas exibe os dados\n"
+"                            do ARQUIVO.\n"
+"\n"
+"   -?,--help              Exibe essa ajuda e sai\n"
+"      --usage             Fornece uma curta mensagem de uso\n"
+"   -V,--version           Exibe informação da versão e sai\n"
+"\n"
+"Argumentos obrigatórios para opções longas são também obrigatórias para opções curtas correspondentes.\n"
+"\n"
 
-#: timezone/zdump.c:266
-#, c-format
-msgid "%s: Error writing standard output "
-msgstr "%s: Erro escrevendo para sa�da padr�o "
+#: debug/xtrace.sh:57 elf/ldd.bash.in:55 elf/sotruss.sh:49
+#: malloc/memusage.sh:64
+msgid "For bug reporting instructions, please see:\\\\n%s.\\\\n"
+msgstr "Para instruções sobre como relatar erros, por favor veja:\\\\n%s.\\\\n"
 
-#: timezone/zic.c:841
-#, c-format
-msgid "%s: Leap line in non leap seconds file %s\n"
-msgstr "%s: linha Leap no arquivo %s, que n�o � arquivo de ajuste\n"
+#: debug/xtrace.sh:125
+msgid "xtrace: unrecognized option \\`$1'\\n"
+msgstr "xtrace: opção não reconhecida “$1”\\n"
 
-#: timezone/zic.c:359
-#, c-format
-msgid "%s: Memory exhausted: %s\n"
-msgstr "%s: Mem�ria esgotada: %s\n"
+#: debug/xtrace.sh:138
+msgid "No program name given\\n"
+msgstr "Nenhum nome de programa dado\\n"
 
-#: timezone/zic.c:524
-#, c-format
-msgid "%s: More than one -L option specified\n"
-msgstr "%s: Mais que uma op��o -L foi especificada\n"
+#: debug/xtrace.sh:146
+#, sh-format
+msgid "executable \\`$program' not found\\n"
+msgstr "“$program” executável não foi encontrado\\n"
 
-#: timezone/zic.c:484
-#, c-format
-msgid "%s: More than one -d option specified\n"
-msgstr "%s: Mais que uma op��o -d foi especificada\n"
+#: debug/xtrace.sh:150
+#, sh-format
+msgid "\\`$program' is no executable\\n"
+msgstr "“$program” não é um executável\\n"
 
-#: timezone/zic.c:494
-#, c-format
-msgid "%s: More than one -l option specified\n"
-msgstr "%s: Mais que uma op��o -l especificada\n"
+#: dlfcn/dlinfo.c:63
+msgid "RTLD_SELF used in code not dynamically loaded"
+msgstr "RTLD_SELF usado em código não carregado dinamicamente"
 
-#: timezone/zic.c:504
-#, c-format
-msgid "%s: More than one -p option specified\n"
-msgstr "%s: Mais que uma op��o -p especificada\n"
+#: dlfcn/dlinfo.c:72
+msgid "unsupported dlinfo request"
+msgstr "requisição dlinfo sem suporte"
 
-#: timezone/zic.c:514
-#, c-format
-msgid "%s: More than one -y option specified\n"
-msgstr "%s: Mais que uma op��o -y especificada\n"
+#: dlfcn/dlmopen.c:63
+msgid "invalid namespace"
+msgstr "espaço de nome inválido"
 
-#: argp/argp-parse.c:640
-#, c-format
-msgid "%s: Too many arguments\n"
-msgstr "%s: Muitos par�metros\n"
+#: dlfcn/dlmopen.c:68
+msgid "invalid mode"
+msgstr "modo inválido"
 
-#: login/programs/database.c:129
-#, c-format
-msgid "%s: cannot get modification time"
-msgstr "%s: n�o � poss�vel processar modifica��es de hor�rio"
+#: dlfcn/dlopen.c:64
+msgid "invalid mode parameter"
+msgstr "parâmetro de modo inválido"
 
-#: timezone/zic.c:1900
-#, c-format
-msgid "%s: command was '%s', result was %d\n"
-msgstr "%s: comando era '%s', resultado era %d\n"
+#: elf/cache.c:69
+msgid "unknown"
+msgstr "desconhecido"
 
-#: locale/programs/charmap.c:677 locale/programs/locfile.c:1008
-#, c-format
-msgid "%s: error in state machine"
-msgstr "%s: erro na m�quina de estados"
+# Operating System (OS) = Sistema Operacional (SO)
+#: elf/cache.c:135
+msgid "Unknown OS"
+msgstr "SO desconhecido"
 
-#: posix/getopt.c:784
+#: elf/cache.c:140
 #, c-format
-msgid "%s: illegal option -- %c\n"
-msgstr "%s: op��o ilegal -- %c\n"
+msgid ", OS ABI: %s %d.%d.%d"
+msgstr ", ABI de SO: %s %d.%d.%d"
 
-#: posix/getopt.c:787
+#: elf/cache.c:157 elf/ldconfig.c:1332
 #, c-format
-msgid "%s: invalid option -- %c\n"
-msgstr "%s: op��o inv�lida -- %c\n"
+msgid "Can't open cache file %s\n"
+msgstr "Não foi possível abrir arquivo de cache %s\n"
 
-#: posix/getopt.c:707
+#: elf/cache.c:171
 #, c-format
-msgid "%s: option `%c%s' doesn't allow an argument\n"
-msgstr "%s: op��o `%c%s' n�o permite um argumento\n"
+msgid "mmap of cache file failed.\n"
+msgstr "mmap de arquivo de cache falhou.\n"
 
-#: posix/getopt.c:677
+#: elf/cache.c:175 elf/cache.c:189
 #, c-format
-msgid "%s: option `%s' is ambiguous\n"
-msgstr "%s: op��o `%s' � amb�gua\n"
+msgid "File is not a cache file.\n"
+msgstr "Arquivo não é um arquivo de cache.\n"
 
-#: posix/getopt.c:725 posix/getopt.c:898
+# %d = número (quantidade) de bibliotecas
+#: elf/cache.c:222 elf/cache.c:232
 #, c-format
-msgid "%s: option `%s' requires an argument\n"
-msgstr "%s: op��o `%s' requer um argumento\n"
+msgid "%d libs found in cache `%s'\n"
+msgstr "%d bibliotecas localizadas no cache “%s”\n"
 
-#: posix/getopt.c:702
+#: elf/cache.c:426
 #, c-format
-msgid "%s: option `--%s' doesn't allow an argument\n"
-msgstr "%s: op��o `--%s' n�o permite um argumento\n"
+msgid "Can't create temporary cache file %s"
+msgstr "Não foi possível criar arquivo temporário de cache %s"
 
-#: posix/getopt.c:882
+#: elf/cache.c:434 elf/cache.c:444 elf/cache.c:448 elf/cache.c:453
 #, c-format
-msgid "%s: option `-W %s' doesn't allow an argument\n"
-msgstr "%s: op��o `-W %s' n�o permite um argumento\n"
+msgid "Writing of cache data failed"
+msgstr "Escrita de dados de cache falhou"
 
-#: posix/getopt.c:864
+#: elf/cache.c:458
 #, c-format
-msgid "%s: option `-W %s' is ambiguous\n"
-msgstr "%s: op��o `-W %s' � amb�gua\n"
+msgid "Changing access rights of %s to %#o failed"
+msgstr "Mudança de direitos de acesso de %s para %#o falhou"
 
-#: posix/getopt.c:817 posix/getopt.c:947
+#: elf/cache.c:463
 #, c-format
-msgid "%s: option requires an argument -- %c\n"
-msgstr "%s: op��o requer um argumento -- %c\n"
+msgid "Renaming of %s to %s failed"
+msgstr "Renomeio de %s para %s falhou"
 
-#: sunrpc/rpc_main.c:287
-#, c-format
-msgid "%s: output would overwrite %s\n"
-msgstr "%s: sa�da poder� sobrescrever %s\n"
+#: elf/dl-close.c:399 elf/dl-open.c:425
+msgid "cannot create scope list"
+msgstr "não é possível criar lista de escopo"
 
-#: timezone/zic.c:848 timezone/zic.c:1262 timezone/zic.c:1287
-#, c-format
-msgid "%s: panic: Invalid l_value %d\n"
-msgstr "%s: p�nico: l_value inv�lido %d\n"
+#: elf/dl-close.c:839
+msgid "shared object not open"
+msgstr "objeto compartilhado não está aberto"
 
-#: locale/programs/charmap.c:684 locale/programs/repertoire.c:289
-#, c-format
-msgid "%s: premature end of file"
-msgstr "%s: fim de arquivo prematuro"
+#: elf/dl-deps.c:111
+msgid "DST not allowed in SUID/SGID programs"
+msgstr "DST não permitido em programas SUID/SGID"
 
-#: sunrpc/rpc_main.c:294
-#, c-format
-msgid "%s: unable to open "
-msgstr "%s: N�o foi poss�vel abrir "
+#: elf/dl-deps.c:124
+msgid "empty dynamic string token substitution"
+msgstr "substituição de token de string dinâmica vazia"
 
-#: posix/getopt.c:758
+#: elf/dl-deps.c:130
 #, c-format
-msgid "%s: unrecognized option `%c%s'\n"
-msgstr "%s: op��o n�o reconhecida `%c%s'\n"
+msgid "cannot load auxiliary `%s' because of empty dynamic string token substitution\n"
+msgstr "não foi possível carregar “%s” auxiliar por causa de substituição de token de string dinâmica vazia\n"
 
-#: posix/getopt.c:754
-#, c-format
-msgid "%s: unrecognized option `--%s'\n"
-msgstr "%s: op��o n�o reconhecida `--%s'\n"
+#: elf/dl-deps.c:442
+msgid "cannot allocate dependency list"
+msgstr "não foi possível alocar lista de dependências"
 
-#: timezone/zic.c:443
-#, c-format
-msgid ""
-"%s: usage is %s [ -s ] [ -v ] [ -l localtime ] [ -p posixrules ] [ -d directory ]\n"
-"\t[ -L leapseconds ] [ -y yearistype ] [ filename ... ]\n"
-msgstr ""
-"%s: uso � %s [ -s ] [ -v ] [ -l tempolocal ] [ -p regrasposix ] [ -d diret�rio ]\n"
-"\t[ -L segundosajuste ] [ -y tipoano ] [ nome do arquivo ... ]\n"
+#: elf/dl-deps.c:479 elf/dl-deps.c:539
+msgid "cannot allocate symbol search list"
+msgstr "não foi possível alocar lista de pesquisa de símbolos"
 
-#: timezone/zdump.c:174
-#, c-format
-msgid "%s: usage is %s [ -v ] [ -c cutoff ] zonename ...\n"
-msgstr "%s: uso � %s [ -v ] [ -c cutoff ] nomezona ...\n"
+#: elf/dl-deps.c:519
+msgid "Filters not supported with LD_TRACE_PRELINKING"
+msgstr "Filtros sem suporte com LD_TRACE_PRELINKING"
 
-#: sunrpc/rpc_main.c:307
-#, c-format
-msgid "%s: while writing output: "
-msgstr "%s: enquanto escrevendo sa�da: "
+#: elf/dl-error-skeleton.c:80
+msgid "error while loading shared libraries"
+msgstr "erro ao carregar bibliotecas compartilhadas"
 
-#: argp/argp-parse.c:164
-msgid "(PROGRAM ERROR) No version known!?"
-msgstr "(ERRO DE PROGRAMA) Vers�o desconhecida!?"
+#: elf/dl-error-skeleton.c:113
+msgid "DYNAMIC LINKER BUG!!!"
+msgstr "ERRO NO VINCULADOR DINÂMICO!!!"
 
-#: argp/argp-parse.c:781
-msgid "(PROGRAM ERROR) Option should have been recognized!?"
-msgstr "(ERRO DE PROGRAMA) Op��o deveria ter sido reconhecida!?"
+#: elf/dl-fptr.c:88 sysdeps/hppa/dl-fptr.c:95
+msgid "cannot map pages for fdesc table"
+msgstr "não foi possível mapear as páginas para tabela de fdesc"
 
-#: nis/nis_print.c:129
-msgid "(Unknown object)\n"
-msgstr "(Objeto  desconhecido)\n"
+#: elf/dl-fptr.c:192 sysdeps/hppa/dl-fptr.c:213
+msgid "cannot map pages for fptr table"
+msgstr "não foi possível mapear as páginas para tabela de fptr"
 
-#: sunrpc/clnt_perr.c:124
-#, c-format
-msgid "(unknown authentication error - %d)"
-msgstr "(erro de autentica��o desconhecido - %d)"
+#: elf/dl-fptr.c:221 sysdeps/hppa/dl-fptr.c:242
+msgid "internal error: symidx out of range of fptr table"
+msgstr "erro interno: symidx fora de alcance da tabela fptr"
 
-#: sunrpc/rpcinfo.c:613
-msgid "(unknown)"
-msgstr "(desconhecido)"
+#: elf/dl-hwcaps.c:202 elf/dl-hwcaps.c:214
+msgid "cannot create capability list"
+msgstr "não foi possível criar lista de capacidades"
 
-#: elf/sprof.c:574
-#, c-format
-msgid "*** The file `%s' is stripped: no detailed analysis possible\n"
-msgstr "*** O arquivo  `%s' est� sem s�mbolos (stripped): a an�lise detalhada � imposs�vel\n"
+#: elf/dl-load.c:369
+msgid "cannot allocate name record"
+msgstr "não foi possível alocar registro de nome"
 
-#: catgets/gencat.c:266
-msgid "*standard input*"
-msgstr "*entrada padr�o*"
+#: elf/dl-load.c:455 elf/dl-load.c:568 elf/dl-load.c:657 elf/dl-load.c:753
+msgid "cannot create cache for search path"
+msgstr "não foi possível criar socket para caminho de pesquisa"
 
-#: catgets/gencat.c:120
-msgid ""
-"-o OUTPUT-FILE [INPUT-FILE]...\n"
-"[OUTPUT-FILE [INPUT-FILE]...]"
-msgstr ""
-"-o ARQUIVO-SA�DA [ARQUIVO-ENTRADA]...\n"
-"[ARQUIVO-SA�DA [ARQUIVO-ENTRADA...]"
+#: elf/dl-load.c:551
+msgid "cannot create RUNPATH/RPATH copy"
+msgstr "não foi possível criar cópia de RUNPATH/RPATH"
 
-#: stdio-common/../sysdeps/gnu/errlist.c:778
-msgid ".lib section in a.out corrupted"
-msgstr "se��o .lib corrompida em a.out"
+#: elf/dl-load.c:644
+msgid "cannot create search path array"
+msgstr "não foi possível criar vetor de caminho de pesquisa"
 
-#: sunrpc/clnt_perr.c:110 sunrpc/clnt_perr.c:131
-#, c-format
-msgid "; low version = %lu, high version = %lu"
-msgstr "; vers�o baixa = %lu, vers�o alta = %lu"
+#: elf/dl-load.c:825
+msgid "cannot stat shared object"
+msgstr "não foi possível obter estado do objeto compartilhado"
 
-#: sunrpc/clnt_perr.c:117
-msgid "; why = "
-msgstr "; porque = "
+#: elf/dl-load.c:902
+msgid "cannot open zero fill device"
+msgstr "não foi possível abrir dispositivo preenchido com zero"
 
-#: locale/programs/charset.c:98
-#, c-format
-msgid "<%s> and <%s> are illegal names for range"
-msgstr "<%s> e <%s> s�o nomes ilegais para faixa de caracteres"
+#: elf/dl-load.c:949 elf/dl-load.c:2125
+msgid "cannot create shared object descriptor"
+msgstr "não foi possível criar descritor de objeto compartilhado"
 
-#: locale/programs/ld-ctype.c:342
-#, c-format
-msgid "<SP> character must not be in class `%s'"
-msgstr "<SP> caracter n�o deve estar na classe `%s'"
+#: elf/dl-load.c:968 elf/dl-load.c:1499 elf/dl-load.c:1611
+msgid "cannot read file data"
+msgstr "não foi possível carregar dados do arquivo"
 
-#: locale/programs/ld-ctype.c:330
-#, c-format
-msgid "<SP> character not in class `%s'"
-msgstr "<SP> caracter n�o est� na classe `%s'"
+#: elf/dl-load.c:1014
+msgid "ELF load command alignment not page-aligned"
+msgstr "alinhamento de comando de carregamento de ELF não está alinhado por página"
 
-#. TRANS The experienced user will know what is wrong.
-#. TRANS @c This error code is a joke.  Its perror text is part of the joke.
-#. TRANS @c Don't change it.
-#: stdio-common/../sysdeps/gnu/errlist.c:603
-msgid "?"
-msgstr "?"
+#: elf/dl-load.c:1021
+msgid "ELF load command address/offset not properly aligned"
+msgstr "endereço/deslocamento de comando de carregamento de ELF não alinhado adequadamente"
 
-#: sysdeps/unix/sysv/linux/siglist.h:27
-msgid "Aborted"
-msgstr "Abortado"
+#: elf/dl-load.c:1106
+msgid "object file has no loadable segments"
+msgstr "arquivo de objeto não possui segmentos carregáveis"
 
-#: nis/nis_print.c:318
-msgid "Access Rights : "
-msgstr "Direitos de Acesso : "
+#: elf/dl-load.c:1115 elf/dl-load.c:1591
+msgid "cannot dynamically load executable"
+msgstr "não foi possível carregar dinamicamente o executável"
 
-#: stdio-common/../sysdeps/gnu/errlist.c:774
-msgid "Accessing a corrupted shared library"
-msgstr "Acessando uma biblioteca compartilhado corrompida"
+#: elf/dl-load.c:1136
+msgid "object file has no dynamic section"
+msgstr "arquivo de objeto não possui seção dinâmica"
 
-#. TRANS The requested socket address is already in use.  @xref{Socket Addresses}.
-#: stdio-common/../sysdeps/gnu/errlist.c:366
-msgid "Address already in use"
-msgstr "Endere�o j� em uso"
+#: elf/dl-load.c:1159
+msgid "shared object cannot be dlopen()ed"
+msgstr "objeto compartilhado não pode ser dlopen()ado"
 
-#: posix/../sysdeps/posix/gai_strerror.c:30
-msgid "Address family for hostname not supported"
-msgstr "Fam�lia de endere�os n�o suportada para nome de m�quina"
+#: elf/dl-load.c:1172
+msgid "cannot allocate memory for program header"
+msgstr "não foi possível alocar memória para cabeçalho do programa"
 
-#. TRANS The address family specified for a socket is not supported; it is
-#. TRANS inconsistent with the protocol being used on the socket.  @xref{Sockets}.
-#: stdio-common/../sysdeps/gnu/errlist.c:361
-msgid "Address family not supported by protocol"
-msgstr "Fam�lia de endere�os n�o suportada pelo protocolo"
+#: elf/dl-load.c:1188 elf/dl-open.c:193
+msgid "invalid caller"
+msgstr "chamador inválido"
 
-#: stdio-common/../sysdeps/gnu/errlist.c:742
-msgid "Advertise error"
-msgstr "Erro de aviso"
+#: elf/dl-load.c:1211 elf/dl-load.h:130
+msgid "cannot change memory protections"
+msgstr "não é possível alterar proteções de memória"
 
-#: stdio-common/../sysdeps/unix/siglist.c:39
-#: sysdeps/unix/sysv/linux/siglist.h:33
-msgid "Alarm clock"
-msgstr "Alarme de tempo"
+#: elf/dl-load.c:1231
+msgid "cannot enable executable stack as shared object requires"
+msgstr "não foi possível habilitar pilhas de executável como requisitado pelo objeto compartilhado"
 
-#. TRANS Argument list too long; used when the arguments passed to a new program
-#. TRANS being executed with one of the @code{exec} functions (@pxref{Executing a
-#. TRANS File}) occupy too much memory space.  This condition never arises in the
-#. TRANS GNU system.
-#: stdio-common/../sysdeps/gnu/errlist.c:69
-msgid "Argument list too long"
-msgstr "Lista de argumentos muito longa"
+#: elf/dl-load.c:1244
+msgid "cannot close file descriptor"
+msgstr "não é possível fechar o descritor de arquivo"
 
-#: nis/nis_error.c:65
-msgid "Attempt to remove a non-empty table"
-msgstr "Tentativa de remo��o de uma tabela que n�o est� vazia"
+#: elf/dl-load.c:1499
+msgid "file too short"
+msgstr "arquivo pequeno demais"
 
-#: stdio-common/../sysdeps/gnu/errlist.c:782
-msgid "Attempting to link in too many shared libraries"
-msgstr "Tentando o link em muitas bibliotecas compartilhadas"
+#: elf/dl-load.c:1534
+msgid "invalid ELF header"
+msgstr "cabeçalho de ELF inválido"
 
-#: sunrpc/clnt_perr.c:273
-msgid "Authentication OK"
-msgstr "Autentica��o OK"
+#: elf/dl-load.c:1546
+msgid "ELF file data encoding not big-endian"
+msgstr "codificação de dados de arquivo ELF não é big-endian"
 
-#. TRANS ???
-#: stdio-common/../sysdeps/gnu/errlist.c:561
-msgid "Authentication error"
-msgstr "Erro de autentica��o"
+#: elf/dl-load.c:1548
+msgid "ELF file data encoding not little-endian"
+msgstr "codificação de dados de arquivo ELF não é little-endian"
 
-#: nis/nis_print.c:105
-msgid "BOGUS OBJECT\n"
-msgstr "OBJETO FALSO\n"
+#: elf/dl-load.c:1552
+msgid "ELF file version ident does not match current one"
+msgstr "identificação de versão de arquivo ELF não corresponde ao atual"
 
-#. TRANS Bad address; an invalid pointer was detected.
-#. TRANS In the GNU system, this error never happens; you get a signal instead.
-#: stdio-common/../sysdeps/gnu/errlist.c:114
-msgid "Bad address"
-msgstr "Endere�o inv�lido"
+#: elf/dl-load.c:1556
+msgid "ELF file OS ABI invalid"
+msgstr "ABI de SO do arquivo ELF inválido"
 
-#. TRANS Bad file descriptor; for example, I/O on a descriptor that has been
-#. TRANS closed or reading from a descriptor open only for writing (or vice
-#. TRANS versa).
-#: stdio-common/../sysdeps/gnu/errlist.c:82
-msgid "Bad file descriptor"
-msgstr "Descritor de arquivo inv�lido"
+#: elf/dl-load.c:1559
+msgid "ELF file ABI version invalid"
+msgstr "versão de ABI do arquivo ELF inválido"
 
-#: stdio-common/../sysdeps/gnu/errlist.c:730
-msgid "Bad font file format"
-msgstr "Formato do arquivo fonte inv�lido "
+#: elf/dl-load.c:1562
+msgid "nonzero padding in e_ident"
+msgstr "espaçamento não-zero em e_ident"
 
-#: stdio-common/../sysdeps/gnu/errlist.c:622
-msgid "Bad message"
-msgstr "Mensagem inv�lida"
+#: elf/dl-load.c:1565
+msgid "internal error"
+msgstr "erro interno"
 
-#: stdio-common/../sysdeps/unix/siglist.c:37
-#: sysdeps/unix/sysv/linux/siglist.h:56
-msgid "Bad system call"
-msgstr "Chamada de sistema inv�lida"
+#: elf/dl-load.c:1572
+msgid "ELF file version does not match current one"
+msgstr "versão de arquivo ELF não corresponde à atual"
 
-#: posix/../sysdeps/posix/gai_strerror.c:32
-msgid "Bad value for ai_flags"
-msgstr "Valor inv�lido para ai_flags"
-
-#: locale/programs/localedef.c:104
-msgid "Be strictly POSIX conform"
-msgstr "Se extremamente compat�vel com o POSIX"
+#: elf/dl-load.c:1580
+msgid "only ET_DYN and ET_EXEC can be loaded"
+msgstr "apenas ET_DYN e ET_EXEC podem ser carregados"
 
-#: nis/nis_print.c:301
-msgid "Binary data\n"
-msgstr "Dados bin�rios\n"
+#: elf/dl-load.c:1596
+msgid "ELF file's phentsize not the expected size"
+msgstr "phentsize do arquivo ELF não está no tamanho esperado"
 
-#. TRANS A file that isn't a block special file was given in a situation that
-#. TRANS requires one.  For example, trying to mount an ordinary file as a file
-#. TRANS system in Unix gives this error.
-#: stdio-common/../sysdeps/gnu/errlist.c:121
-msgid "Block device required"
-msgstr "Dispositivo de bloco requerido"
+#: elf/dl-load.c:2144
+msgid "wrong ELF class: ELFCLASS64"
+msgstr "classe ELF errada: ELFCLASS64"
 
-#: sunrpc/pmap_rmt.c:347
-msgid "Broadcast poll problem"
-msgstr "Problema em select para broadcast"
+#: elf/dl-load.c:2145
+msgid "wrong ELF class: ELFCLASS32"
+msgstr "classe ELF errada: ELFCLASS32"
 
-#. TRANS Broken pipe; there is no process reading from the other end of a pipe.
-#. TRANS Every library function that returns this error code also generates a
-#. TRANS @code{SIGPIPE} signal; this signal terminates the program if not handled
-#. TRANS or blocked.  Thus, your program will never actually see @code{EPIPE}
-#. TRANS unless it has handled or blocked @code{SIGPIPE}.
-#: stdio-common/../sysdeps/gnu/errlist.c:234
-#: stdio-common/../sysdeps/unix/siglist.c:38
-#: sysdeps/unix/sysv/linux/siglist.h:32
-msgid "Broken pipe"
-msgstr "Pipe quebrado"
+#: elf/dl-load.c:2148
+msgid "cannot open shared object file"
+msgstr "não é possível abrir arquivo compartilhado"
 
-#: stdio-common/../sysdeps/unix/siglist.c:35
-#: sysdeps/unix/sysv/linux/siglist.h:30
-msgid "Bus error"
-msgstr "Erro no barramento"
+#: elf/dl-load.h:128
+msgid "failed to map segment from shared object"
+msgstr "falha no mapeamento de segmento do objeto compartilhado"
 
-#: nis/nis_print.c:45
-msgid "CDS"
-msgstr "CDS"
+#: elf/dl-load.h:132
+msgid "cannot map zero-fill pages"
+msgstr "não é possível mapear páginas preenchidas com zero"
 
-#: stdio-common/../sysdeps/unix/siglist.c:49
-#: sysdeps/unix/sysv/linux/siglist.h:43
-msgid "CPU time limit exceeded"
-msgstr "Tempo de CPU excedido"
+#: elf/dl-lookup.c:834
+msgid "relocation error"
+msgstr "erro de realocação"
 
-#: nis/nis_error.c:32
-msgid "Cache expired"
-msgstr "Tempo expirado"
+#: elf/dl-lookup.c:857
+msgid "symbol lookup error"
+msgstr "erro de procura por símbolo"
 
-#: stdio-common/../sysdeps/gnu/errlist.c:770
-msgid "Can not access a needed shared library"
-msgstr "N�o foi poss�vel acessar uma biblioteca compartilhada"
+#: elf/dl-open.c:101
+msgid "cannot extend global scope"
+msgstr "não foi possível estender escopo global"
 
-#: nis/ypclnt.c:769
-msgid "Can't bind to server which serves this domain"
-msgstr "N�o posso executar bind com o servidor deste dom�nio"
+#: elf/dl-open.c:475
+msgid "TLS generation counter wrapped!  Please report this."
+msgstr "Contador de geração TLS envolto! Por favor, relate isso."
 
-#: nis/ypclnt.c:781
-msgid "Can't communicate with portmapper"
-msgstr "N�o foi poss�vel comunicar-se com o portmapper"
+#: elf/dl-open.c:539
+msgid "invalid mode for dlopen()"
+msgstr "modo inválido para dlopen()"
 
-#: nis/ypclnt.c:783
-msgid "Can't communicate with ypbind"
-msgstr "N�o foi poss�vel comunicar-se com o ypbind"
+#: elf/dl-open.c:556
+msgid "no more namespaces available for dlmopen()"
+msgstr "não há mais espaços de nomes disponíveis para dlmopen()"
 
-#: nis/ypclnt.c:785
-msgid "Can't communicate with ypserv"
-msgstr "N�o foi poss�vel comunicar-se com o ypserv"
+#: elf/dl-open.c:580
+msgid "invalid target namespace in dlmopen()"
+msgstr "espaço de nomes de alvo inválido em dlmopen()"
 
-#. TRANS No memory available.  The system cannot allocate more virtual memory
-#. TRANS because its capacity is full.
-#: stdio-common/../sysdeps/gnu/errlist.c:103
-msgid "Cannot allocate memory"
-msgstr "N�o foi poss�vel alocar mem�ria"
+#: elf/dl-reloc.c:120
+msgid "cannot allocate memory in static TLS block"
+msgstr "não foi possível alocar memória em bloco TLS estático"
 
-#. TRANS The requested socket address is not available; for example, you tried
-#. TRANS to give a socket a name that doesn't match the local host name.
-#. TRANS @xref{Socket Addresses}.
-#: stdio-common/../sysdeps/gnu/errlist.c:373
-msgid "Cannot assign requested address"
-msgstr "N�o foi poss�vel acessar o endere�o requisitado"
+#: elf/dl-reloc.c:205
+msgid "cannot make segment writable for relocation"
+msgstr "não foi possível fazer segmento gravável para realocação"
 
-#: sunrpc/pmap_rmt.c:264
-msgid "Cannot create socket for broadcast rpc"
-msgstr "N�o � poss�vel criar socket para rpc de broadcast"
+#: elf/dl-reloc.c:276
+#, c-format
+msgid "%s: out of memory to store relocation results for %s\n"
+msgstr "%s: memória insuficiente para armazenar resultados de realocação para %s\n"
 
-#: stdio-common/../sysdeps/gnu/errlist.c:786
-msgid "Cannot exec a shared library directly"
-msgstr "N�o foi poss�vel executar uma biblioteca compartilhado diretamente"
+#: elf/dl-reloc.c:292
+msgid "cannot restore segment prot after reloc"
+msgstr "não foi possível restaurar proteção de segmento após realocação"
 
-#: sunrpc/rpc_main.c:1406
-msgid "Cannot have more than one file generation flag!\n"
-msgstr "N�o � poss�vel ter mais de um indicador de gera��o de arquivo!\n"
+#: elf/dl-reloc.c:323
+msgid "cannot apply additional memory protection after relocation"
+msgstr "não foi possível aplicar proteção de memória adicional após realocação"
 
-#: sunrpc/pmap_rmt.c:360
-msgid "Cannot receive reply to broadcast"
-msgstr "N�o foi poss�vel receber resposta para broadcast"
+#: elf/dl-sym.c:136
+msgid "RTLD_NEXT used in code not dynamically loaded"
+msgstr "RTLD_NEXT usado em código não dinamicamente carregado"
 
-#: sunrpc/pmap_clnt.c:74
-msgid "Cannot register service"
-msgstr "N�o foi poss�vel registrar servi�o"
+#: elf/dl-tls.c:931
+msgid "cannot create TLS data structures"
+msgstr "não é possível criar estruturas de dados TLS"
 
-#. TRANS The socket has already been shut down.
-#: stdio-common/../sysdeps/gnu/errlist.c:434
-msgid "Cannot send after transport endpoint shutdown"
-msgstr "N�o � poss�vel enviar ap�s desligamento do ponto final de transporte"
+#: elf/dl-version.c:148
+msgid "version lookup error"
+msgstr "erro na procura por versão"
 
-#: sunrpc/pmap_rmt.c:322
-msgid "Cannot send broadcast packet"
-msgstr "N�o foi poss�vel enviar pacote de broadcast"
+#: elf/dl-version.c:279
+msgid "cannot allocate version reference table"
+msgstr "não foi possível alocar tabela de referência de versão"
 
-#: sunrpc/pmap_rmt.c:271
-msgid "Cannot set socket option SO_BROADCAST"
-msgstr "N�o foi poss�vel usar op��o do socket SO_BROADCAST"
+#: elf/ldconfig.c:142
+msgid "Print cache"
+msgstr "Mostra o cache"
 
-#: sunrpc/rpc_main.c:1193
-msgid "Cannot specify more than one input file!\n"
-msgstr "Nao � poss�vel especificar mais de um arquivo de entrada!\n"
+#: elf/ldconfig.c:143
+msgid "Generate verbose messages"
+msgstr "Gera mensagens detalhadas"
 
-#: sunrpc/rpc_main.c:1363
-msgid "Cannot use netid flag with inetd flag!\n"
-msgstr "N�o � poss�vel user tabela de indicadores com novo estilo!\n"
+#: elf/ldconfig.c:144
+msgid "Don't build cache"
+msgstr "Não compila o cache"
 
-#: sunrpc/rpc_main.c:1375
-msgid "Cannot use netid flag without TIRPC!\n"
-msgstr "N�o � poss�vel usar indicador netid sem TIRPC!\n"
+#: elf/ldconfig.c:145
+msgid "Don't update symbolic links"
+msgstr "Não atualiza links simbólicos"
 
-#: sunrpc/rpc_main.c:1382
-msgid "Cannot use table flags with newstyle!\n"
-msgstr "N�o � poss�vel usar indicadores de tabelas com novo estilo!\n"
+#: elf/ldconfig.c:146
+msgid "Change to and use ROOT as root directory"
+msgstr "Muda para e usa ROOT como diretório raiz"
 
-#: stdio-common/../sysdeps/gnu/errlist.c:670
-msgid "Channel number out of range"
-msgstr "N�mero do canal fora do intervalo"
+#: elf/ldconfig.c:146
+msgid "ROOT"
+msgstr "ROOT"
 
-#: nis/nis_print.c:264
-#, c-format
-msgid "Character Separator : %c\n"
-msgstr "Separador de caracteres \"%c\n"
+#: elf/ldconfig.c:147
+msgid "CACHE"
+msgstr "CACHE"
 
-#: stdio-common/../sysdeps/unix/siglist.c:45
-#: sysdeps/unix/sysv/linux/siglist.h:39
-msgid "Child exited"
-msgstr "Filho finalizado"
+#: elf/ldconfig.c:147
+msgid "Use CACHE as cache file"
+msgstr "Usa CACHE como arquivo de cache"
 
-#: sunrpc/clnt_perr.c:283
-msgid "Client credential too weak"
-msgstr "Credencial do cliente muito fraca"
+#: elf/ldconfig.c:148
+msgid "CONF"
+msgstr "CONF"
 
-#: nis/nis_print.c:266
-msgid "Columns             :\n"
-msgstr "Colunas             :\n"
+#: elf/ldconfig.c:148
+msgid "Use CONF as configuration file"
+msgstr "Usa CONF como arquivo de configuração"
 
-#: stdio-common/../sysdeps/gnu/errlist.c:750
-msgid "Communication error on send"
-msgstr "Erro de communica��o ao enviar"
+#: elf/ldconfig.c:149
+msgid "Only process directories specified on the command line.  Don't build cache."
+msgstr "Processa apenas diretórios especificados na linha de comando. Não compila o cache."
 
-#: locale/programs/localedef.c:112
-msgid "Compile locale specification"
-msgstr "Compila especifica��o localizada"
+#: elf/ldconfig.c:150
+msgid "Manually link individual libraries."
+msgstr "Vincula manualmente bibliotecas individuais."
 
-#. TRANS Go home and have a glass of warm, dairy-fresh milk.
-#: stdio-common/../sysdeps/gnu/errlist.c:613
-msgid "Computer bought the farm"
-msgstr "O computador comprou a fazenda"
+#: elf/ldconfig.c:151
+msgid "FORMAT"
+msgstr "FORMATO"
 
-#: locale/programs/ld-ctype.c:1253
-msgid "Computing table size for character classes might take a while..."
-msgstr "O c�lculo do tamanho da tabela de classes de caracteres pode demorar..."
+#: elf/ldconfig.c:151
+msgid "Format to use: new, old or compat (default)"
+msgstr "Formato para usar: new, old ou compat (padrão)"
 
-#: locale/programs/ld-collate.c:336
-msgid "Computing table size for collation information might take a while..."
-msgstr "O c�lculo do tamanho da tabela de informa��es de compara��o (collation) pode demorar..."
+#: elf/ldconfig.c:152
+msgid "Ignore auxiliary cache file"
+msgstr "Ignora arquivo de cache auxiliar"
 
-#. TRANS A remote host refused to allow the network connection (typically because
-#. TRANS it is not running the requested service).
-#: stdio-common/../sysdeps/gnu/errlist.c:451
-msgid "Connection refused"
-msgstr "Conex�o recusada"
+#: elf/ldconfig.c:160
+msgid "Configure Dynamic Linker Run Time Bindings."
+msgstr "Configura associações de tempo real do vinculador dinâmico."
 
-#. TRANS A network connection was closed for reasons outside the control of the
-#. TRANS local host, such as by the remote machine rebooting or an unrecoverable
-#. TRANS protocol violation.
-#: stdio-common/../sysdeps/gnu/errlist.c:401
-msgid "Connection reset by peer"
-msgstr "Conex�o fechada pela outra ponta"
+#: elf/ldconfig.c:347
+#, c-format
+msgid "Path `%s' given more than once"
+msgstr "Caminho “%s” fornecido mais de uma vez"
 
-#. TRANS A socket operation with a specified timeout received no response during
-#. TRANS the timeout period.
-#: stdio-common/../sysdeps/gnu/errlist.c:445
-msgid "Connection timed out"
-msgstr "Tempo esgotado para conex�o"
+#: elf/ldconfig.c:387
+#, c-format
+msgid "%s is not a known library type"
+msgstr "%s não é um tipo de memória conhecida"
 
-#: stdio-common/../sysdeps/unix/siglist.c:44
-#: sysdeps/unix/sysv/linux/siglist.h:38
-msgid "Continued"
-msgstr "Continua"
+#: elf/ldconfig.c:415
+#, c-format
+msgid "Can't stat %s"
+msgstr "Não foi possível obter estado de %s"
 
-#: iconv/iconv_prog.c:66
-msgid "Convert encoding of given files from one encoding to another."
-msgstr "Converte codifica��o dos arquivos dados de uma codifica��o para outra."
+#: elf/ldconfig.c:489
+#, c-format
+msgid "Can't stat %s\n"
+msgstr "Não foi possível obter estado de %s\n"
 
-#: db2/makedb.c:58
-msgid "Convert key to lower case"
-msgstr "Converte chave para letras min�sculas"
+#: elf/ldconfig.c:499
+#, c-format
+msgid "%s is not a symbolic link\n"
+msgstr "%s não é um link simbólico\n"
 
-#: catgets/gencat.c:236 db2/makedb.c:242 elf/sprof.c:359
-#: iconv/iconv_prog.c:294 locale/programs/locale.c:267
-#: locale/programs/localedef.c:403 nscd/nscd.c:223 nss/getent.c:65
-#: posix/getconf.c:624
+#: elf/ldconfig.c:518
 #, c-format
-msgid ""
-"Copyright (C) %s Free Software Foundation, Inc.\n"
-"This is free software; see the source for copying conditions.  There is NO\n"
-"warranty; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.\n"
-msgstr ""
-"Copyright (C) %s Free Software Foundation, Inc.\n"
-"Este � um software free; leia os fontes para condic�es de c�pia. N�o existe\n"
-"garantia; nem para com�rcio ou adequac�o para prop�stios particulares.\n"
+msgid "Can't unlink %s"
+msgstr "Não foi possível desvincular %s"
 
-#: nscd/nscd_conf.c:167
+#: elf/ldconfig.c:524
 #, c-format
-msgid "Could not create log file \"%s\""
-msgstr "n�o � poss�vel ler arquivo de registro \"%s\""
+msgid "Can't link %s to %s"
+msgstr "Não foi possível vincular %s a %s"
 
-#: catgets/gencat.c:107
-msgid "Create C header file NAME containing symbol definitions"
-msgstr "Cria arquivo NOME com cabe�alho C contendo defini��es de s�mbolos "
+# link alterado
+#: elf/ldconfig.c:530
+msgid " (changed)\n"
+msgstr " (alterado)\n"
 
-#: locale/programs/localedef.c:103
-msgid "Create output even if warning messages were issued"
-msgstr "Cria sa�da mesmo que mensagens de aviso forem produzidas"
+# link ignorado
+#: elf/ldconfig.c:532
+msgid " (SKIPPED)\n"
+msgstr " (IGNORADO)\n"
 
-#: db2/makedb.c:68
-msgid "Create simple DB database from textual input."
-msgstr "Cria um base de dados DB simples de uma entrada textual."
+#: elf/ldconfig.c:587
+#, c-format
+msgid "Can't find %s"
+msgstr "Não foi possível localizar %s"
 
-#: nis/nis_print.c:322
+# `lstat' similar a stat(), mas para links; `stat' = obtém estado de arquivo
+#: elf/ldconfig.c:603 elf/ldconfig.c:769 elf/ldconfig.c:825 elf/ldconfig.c:857
 #, c-format
-msgid "Creation Time : %s"
-msgstr "Hor�rio de cria��o : %s"
+msgid "Cannot lstat %s"
+msgstr "Não foi possível obter estado do link %s"
 
-#: nis/nss_nisplus/nisplus-publickey.c:89
-#: nis/nss_nisplus/nisplus-publickey.c:159
+#: elf/ldconfig.c:610
 #, c-format
-msgid "DES entry for netname %s not unique\n"
-msgstr "Entrada DES para nome de rede (netname) %s n�o � �nica\n"
+msgid "Ignored file %s since it is not a regular file."
+msgstr "Arquivo %s ignorado já que agora não é mais um arquivo comum."
 
-#: nis/nis_print.c:111
-msgid "DIRECTORY\n"
-msgstr "DIRET�RIO\n"
+#: elf/ldconfig.c:619
+#, c-format
+msgid "No link created since soname could not be found for %s"
+msgstr "Nenhum link foi criado porque um soname não foi encontrado para %s"
 
-#: nis/nis_print.c:41
-msgid "DNANS"
-msgstr "DNANS"
+#: elf/ldconfig.c:702
+#, c-format
+msgid "Can't open directory %s"
+msgstr "Não foi possível abrir o diretório %s"
 
-#: nis/nis_print.c:37
-msgid "DNS"
-msgstr "DNS"
+#: elf/ldconfig.c:787 elf/ldconfig.c:845 elf/readlib.c:97
+#, c-format
+msgid "Input file %s not found.\n"
+msgstr "Arquivo de entrada %s não foi localizado.\n"
 
-#: nis/nis_error.c:51
-msgid "Database for table does not exist"
-msgstr "Base de dados para tabela n�o existe"
+#: elf/ldconfig.c:794
+#, c-format
+msgid "Cannot stat %s"
+msgstr "Não foi possível obter estado do arquivo %s"
 
-#: nis/ypclnt.c:795
-msgid "Database is busy"
-msgstr "Base de dados est� ocupada"
+#: elf/ldconfig.c:939
+#, c-format
+msgid "libc5 library %s in wrong directory"
+msgstr "biblioteca libc5 %s em diretório errado"
 
-#: nis/nis_print.c:225
-msgid "Default Access rights :\n"
-msgstr "Direitos de Acesso padr�o :\n"
+#: elf/ldconfig.c:942
+#, c-format
+msgid "libc6 library %s in wrong directory"
+msgstr "biblioteca libc6 %s em diretório errado"
 
-#. TRANS No default destination address was set for the socket.  You get this
-#. TRANS error when you try to transmit data over a connectionless socket,
-#. TRANS without first specifying a destination for the data with @code{connect}.
-#: stdio-common/../sysdeps/gnu/errlist.c:429
-msgid "Destination address required"
-msgstr "Endere�o de destino requerido"
+#: elf/ldconfig.c:945
+#, c-format
+msgid "libc4 library %s in wrong directory"
+msgstr "biblioteca libc4 %s em diretório errado"
 
-#: stdio-common/../sysdeps/gnu/errlist.c:650
-msgid "Device not a stream"
-msgstr "Dispositivo n�o � um stream"
+#: elf/ldconfig.c:973
+#, c-format
+msgid "libraries %s and %s in directory %s have same soname but different type."
+msgstr "bibliotecas %s e %s no diretório %s possuem o mesmo soname, mas tipos diferentes."
 
-#. TRANS No such device or address.  The system tried to use the device
-#. TRANS represented by a file you specified, and it couldn't find the device.
-#. TRANS This can mean that the device file was installed incorrectly, or that
-#. TRANS the physical device is missing or not correctly attached to the
-#. TRANS computer.
-#: stdio-common/../sysdeps/gnu/errlist.c:61
-msgid "Device not configured"
-msgstr "Dispositivo n�o configurado"
+#: elf/ldconfig.c:1082
+#, c-format
+msgid "Warning: ignoring configuration file that cannot be opened: %s"
+msgstr "Aviso: ignorando arquivo de configuração que não pode ser aberto: %s"
 
-#. TRANS Resource busy; a system resource that can't be shared is already in use.
-#. TRANS For example, if you try to delete a file that is the root of a currently
-#. TRANS mounted filesystem, you get this error.
-#: stdio-common/../sysdeps/gnu/errlist.c:128
-msgid "Device or resource busy"
-msgstr "Dispositivo ou recurso est� ocupado"
+#: elf/ldconfig.c:1148
+#, c-format
+msgid "%s:%u: bad syntax in hwcap line"
+msgstr "%s:%u: sintaxe incorreta na linha hwcap"
 
-#: nis/nis_print.c:179
+#: elf/ldconfig.c:1154
 #, c-format
-msgid "Diffie-Hellmann (%d bits)\n"
-msgstr "Diffie-Hellmann (%d bits)\n"
+msgid "%s:%u: hwcap index %lu above maximum %u"
+msgstr "%s:%u: índica de hwcap %lu acima do máximo %u"
 
-#: nis/nis_print.c:315
+#: elf/ldconfig.c:1161 elf/ldconfig.c:1169
 #, c-format
-msgid "Directory     : %s\n"
-msgstr "Diret�rio     : %s\n"
+msgid "%s:%u: hwcap index %lu already defined as %s"
+msgstr "%s:%u: índice de hwcap %lu já definido como %s"
 
-#. TRANS Directory not empty, where an empty directory was expected.  Typically,
-#. TRANS this error occurs when you are trying to delete a directory.
-#: stdio-common/../sysdeps/gnu/errlist.c:480
-msgid "Directory not empty"
-msgstr "Diret�rio n�o vazio"
+#: elf/ldconfig.c:1172
+#, c-format
+msgid "%s:%u: duplicate hwcap %lu %s"
+msgstr "%s:%u: hwcap %lu duplicado %s"
 
-#. TRANS The user's disk quota was exceeded.
-#: stdio-common/../sysdeps/gnu/errlist.c:498
-msgid "Disc quota exceeded"
-msgstr "Cota de disco excedida"
+#: elf/ldconfig.c:1194
+#, c-format
+msgid "need absolute file name for configuration file when using -r"
+msgstr "necessita de nome de arquivo absoluto para arquivo de configuração quando usado -r"
 
-#: nscd/nscd.c:80
-msgid "Do not fork and display messages on the current tty"
-msgstr "N�o divide (fork) e mostre mensagens na tty corrente"
+#: elf/ldconfig.c:1201 locale/programs/xmalloc.c:63 malloc/obstack.c:416
+#: malloc/obstack.c:418 posix/getconf.c:458 posix/getconf.c:697
+#, c-format
+msgid "memory exhausted"
+msgstr "memória esgotada"
 
-#: db2/makedb.c:61
-msgid "Do not print messages while building database"
-msgstr "N�o mostra mensagens enquanto constr�i base de dados"
+#: elf/ldconfig.c:1233
+#, c-format
+msgid "%s:%u: cannot read directory %s"
+msgstr "%s:%u: não foi possível ler diretório %s"
 
-#: catgets/gencat.c:109
-msgid "Do not use existing catalog, force new output file"
-msgstr "N�o usar cat�logo existente, for�ar novo arquivo de sa�da"
+#: elf/ldconfig.c:1281
+#, c-format
+msgid "relative path `%s' used to build cache"
+msgstr "caminho relativo “%s” usado para compilar o cache"
 
-#: nis/ypclnt.c:841
-msgid "Domain not bound"
-msgstr "Dom�nio n�o limitado (not bound)"
+#: elf/ldconfig.c:1311
+#, c-format
+msgid "Can't chdir to /"
+msgstr "Não foi possível mudar o diretório para /"
 
-#: stdio-common/../sysdeps/unix/siglist.c:32
-#: sysdeps/unix/sysv/linux/siglist.h:53
-msgid "EMT trap"
-msgstr "trap EMT"
+#: elf/ldconfig.c:1352
+#, c-format
+msgid "Can't open cache file directory %s\n"
+msgstr "Não foi possível abrir o diretório de arquivo cache %s\n"
 
-#: nis/nis_print.c:120
-msgid "ENTRY\n"
-msgstr "ENTRADA\n"
+#: elf/ldd.bash.in:42
+msgid "Written by %s and %s.\n"
+msgstr "Escrito por %s e %s.\n"
 
-#: nis/nis_print.c:299
-msgid "Encrypted data\n"
-msgstr "Dado criptografado\n"
+#: elf/ldd.bash.in:47
+msgid ""
+"Usage: ldd [OPTION]... FILE...\n"
+"      --help              print this help and exit\n"
+"      --version           print version information and exit\n"
+"  -d, --data-relocs       process data relocations\n"
+"  -r, --function-relocs   process data and function relocations\n"
+"  -u, --unused            print unused direct dependencies\n"
+"  -v, --verbose           print all information\n"
+msgstr ""
+"Uso: ldd [OPÇÃO]... ARQUIVO...\n"
+"      --help              exibe essa ajuda e sai\n"
+"      --version           exibe informação da versão e sai\n"
+"  -d, --data-relocs       processa realocações de dados\n"
+"  -r, --function-relocs   processa realocações de dados e funções\n"
+"  -u, --unused            exibe dependências diretas não usadas\n"
+"  -v, --verbose           exibe todas informações\n"
+
+#: elf/ldd.bash.in:80
+msgid "ldd: option \\`$1' is ambiguous"
+msgstr "ldd: opção “$1” é ambígua"
+
+#: elf/ldd.bash.in:87
+msgid "unrecognized option"
+msgstr "opção não reconhecida"
+
+#: elf/ldd.bash.in:88 elf/ldd.bash.in:125
+msgid "Try \\`ldd --help' for more information."
+msgstr "Tente “ldd --help” para mais informações."
+
+#: elf/ldd.bash.in:124
+msgid "missing file arguments"
+msgstr "faltando argumento ARQUIVO"
+
+#. TRANS This is a ``file doesn't exist'' error
+#. TRANS for ordinary files that are referenced in contexts where they are
+#. TRANS expected to already exist.
+#: elf/ldd.bash.in:147 sysdeps/gnu/errlist.c:37
+msgid "No such file or directory"
+msgstr "Arquivo ou diretório inexistente"
 
-#: nis/nis_error.c:52
-msgid "Entry/Table type mismatch"
-msgstr "Tipo de entrada/tabela incompat�veis"
+#: elf/ldd.bash.in:150 inet/rcmd.c:480
+msgid "not regular file"
+msgstr "não é arquivo normal"
 
-#: nis/nis_error.c:56
-msgid "Error in RPC subsystem"
-msgstr "Erro no subsistema RPC"
+# após "for" vem um nome de arquivo
+#: elf/ldd.bash.in:153
+msgid "warning: you do not have execution permission for"
+msgstr "aviso: você não tem permissão para execução para"
 
-#: nis/nis_error.c:66
-msgid "Error in accessing NIS+ cold start file.  Is NIS+ installed?"
-msgstr "Erro acessando arquivo inicial do NIS+. O NIS+ est� instalado?"
+#: elf/ldd.bash.in:170
+msgid "\tnot a dynamic executable"
+msgstr "\tnão é um executável dinâmico"
 
-#: string/../sysdeps/mach/_strerror.c:56
-#: sysdeps/mach/hurd/mips/dl-machine.c:67
-msgid "Error in unknown error system: "
-msgstr "Falha no erro desconhecido do sistema: "
+#: elf/ldd.bash.in:178
+msgid "exited with unknown exit code"
+msgstr "saiu com código de saída desconhecido"
 
-#: nis/nis_error.c:59
-msgid "Error while talking to callback proc"
-msgstr "Erro durante a chamada a processo callback"
+# após "for" vem um nome de arquivo
+#: elf/ldd.bash.in:183
+msgid "error: you do not have read permission for"
+msgstr "erro: você não possui permissão de leitura para"
 
-#: inet/ruserpass.c:161
-msgid "Error: .netrc file is readable by others."
-msgstr "Erro: arquivo .netrc � leg�vel por outros."
+#: elf/pldd-xx.c:105
+#, c-format
+msgid "cannot find program header of process"
+msgstr "não foi possível localizar cabeçalho do programa do processo"
 
-#: stdio-common/../sysdeps/gnu/errlist.c:710
-msgid "Exchange full"
-msgstr "Troca completa"
+#: elf/pldd-xx.c:110
+#, c-format
+msgid "cannot read program header"
+msgstr "não foi possível ler o cabeçalho do programa"
 
-#. TRANS Invalid executable file format.  This condition is detected by the
-#. TRANS @code{exec} functions; see @ref{Executing a File}.
-#: stdio-common/../sysdeps/gnu/errlist.c:75
-msgid "Exec format error"
-msgstr "Erro no formato exec"
+#: elf/pldd-xx.c:135
+#, c-format
+msgid "cannot read dynamic section"
+msgstr "não foi possível ler a seção dinâmica"
 
-#: locale/programs/localedef.c:190
-msgid "FATAL: system does not define `_POSIX2_LOCALEDEF'"
-msgstr "FATAL: sistema n�o define `_POSIX2_LOCALEDEF'"
+#: elf/pldd-xx.c:147
+#, c-format
+msgid "cannot read r_debug"
+msgstr "não foi possível ler r_debug"
 
-#: locale/programs/localedef.c:99
-msgid "FILE contains mapping from symbolic names to UCS4 values"
-msgstr "ARQUIVO cont�m mapas de nomes simb�licos para valores UCS4"
+#: elf/pldd-xx.c:167
+#, c-format
+msgid "cannot read program interpreter"
+msgstr "não foi possível ler o interpretador de programa"
 
-#: sunrpc/clnt_perr.c:287
-msgid "Failed (unspecified error)"
-msgstr "Falha (erro n�o especificado)"
+#: elf/pldd-xx.c:197
+#, c-format
+msgid "cannot read link map"
+msgstr "não foi possível ler o mapa de links"
 
-#: stdio-common/../sysdeps/gnu/errlist.c:762
-msgid "File descriptor in bad state"
-msgstr "Descritor de arquivo em mal estado"
+#: elf/pldd-xx.c:209
+#, c-format
+msgid "cannot read object name"
+msgstr "não foi possível ler o nome do objeto"
 
-#. TRANS File exists; an existing file was specified in a context where it only
-#. TRANS makes sense to specify a new file.
-#: stdio-common/../sysdeps/gnu/errlist.c:134
-msgid "File exists"
-msgstr "Arquivo existe"
+#: elf/pldd-xx.c:219
+#, c-format
+msgid "cannot allocate buffer for object name"
+msgstr "não foi possível alocar buffer para o nome de objeto"
 
-#: stdio-common/../sysdeps/gnu/errlist.c:726
-msgid "File locking deadlock error"
-msgstr "Erro de bloqueio em arquivo (deadlock)"
+#: elf/pldd.c:64
+msgid "List dynamic shared objects loaded into process."
+msgstr "Lista objetos compartilhados dinâmicos carregados no processo."
 
-#. TRANS Filename too long (longer than @code{PATH_MAX}; @pxref{Limits for
-#. TRANS Files}) or host name too long (in @code{gethostname} or
-#. TRANS @code{sethostname}; @pxref{Host Identification}).
-#: stdio-common/../sysdeps/gnu/errlist.c:464
-msgid "File name too long"
-msgstr "Nome de arquivo muito longo"
+#: elf/pldd.c:68
+msgid "PID"
+msgstr "PID"
 
-#: stdio-common/../sysdeps/unix/siglist.c:50
-#: sysdeps/unix/sysv/linux/siglist.h:44
-msgid "File size limit exceeded"
-msgstr "Excedido tamanho limite de arquivo"
+#: elf/pldd.c:100
+#, c-format
+msgid "Exactly one parameter with process ID required.\n"
+msgstr "É necessário exatamente um parâmetro com ID de processo.\n"
 
-#. TRANS File too big; the size of a file would be larger than allowed by the system.
-#: stdio-common/../sysdeps/gnu/errlist.c:202
-msgid "File too large"
-msgstr "Arquivo muito grande"
+#: elf/pldd.c:112
+#, c-format
+msgid "invalid process ID '%s'"
+msgstr "ID de processo inválido “%s”"
 
-#: nis/nis_error.c:37
-msgid "First/Next chain broken"
-msgstr "Primeira/pr�xima corrente quebrada"
+#: elf/pldd.c:120
+#, c-format
+msgid "cannot open %s"
+msgstr "não foi possível abrir %s"
 
-#: stdio-common/../sysdeps/unix/siglist.c:33
-#: sysdeps/unix/sysv/linux/siglist.h:28
-msgid "Floating point exception"
-msgstr "Exce��o de ponto flutuante"
+#: elf/pldd.c:152
+#, c-format
+msgid "cannot open %s/task"
+msgstr "não foi possível abrir %s/tarefa"
 
-#: nis/nis_error.c:67
-msgid "Full resync required for directory"
-msgstr "Resincronismo total necess�rio para o diret�rio"
+#: elf/pldd.c:155
+#, c-format
+msgid "cannot prepare reading %s/task"
+msgstr "não foi possível preparar a leitura de %s/tarefa"
 
-#. TRANS Function not implemented.  Some functions have commands or options defined
-#. TRANS that might not be supported in all implementations, and this is the kind
-#. TRANS of error you get if you request them and they are not supported.
-#: stdio-common/../sysdeps/gnu/errlist.c:573
-msgid "Function not implemented"
-msgstr "Fun��o n�o implementada"
+#: elf/pldd.c:168
+#, c-format
+msgid "invalid thread ID '%s'"
+msgstr "ID de thread “%s” inválido"
 
-#: nis/nis_print.c:114
-msgid "GROUP\n"
-msgstr "GRUPO\n"
+#: elf/pldd.c:179
+#, c-format
+msgid "cannot attach to process %lu"
+msgstr "não foi possível anexar ao processado %lu"
 
-#: argp/argp-help.c:231
+#: elf/pldd.c:294
 #, c-format
-msgid "Garbage in ARGP_HELP_FMT: %s"
-msgstr "Lixo em ARGP_HELP_FMT: %s"
+msgid "cannot get information about process %lu"
+msgstr "não foi possível obter informação sobre o processo %lu"
 
-#: catgets/gencat.c:115
-msgid ""
-"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 ""
-"Gera cat�logo de mensagens.\\vSe ARQUIVO-DE-ENTRADA � -, a entrada � lidada entrada padr�o.  Se ARQUIVO-DE-SA�DA\n"
-"� -, a sa�da � escrita para a sa�da padr�o.\n"
+#: elf/pldd.c:307
+#, c-format
+msgid "process %lu is no ELF program"
+msgstr "processo %lu não é um programa ELF"
 
-#: nis/nis_error.c:36
-msgid "Generic system error"
-msgstr "Erro desconhecido de sistema"
+#: elf/readelflib.c:34
+#, c-format
+msgid "file %s is truncated\n"
+msgstr "arquivo %s está truncado\n"
 
-#: locale/programs/locale.c:75
-msgid "Get locale-specific information."
-msgstr "Pegar informa��es espec�ficas de localiza��o."
+#: elf/readelflib.c:66
+#, c-format
+msgid "%s is a 32 bit ELF file.\n"
+msgstr "%s é um arquivo ELF de 32 bits.\n"
 
-#: argp/argp-parse.c:88
-msgid "Give a short usage message"
-msgstr "Retorna uma mensagem de uso curta"
+#: elf/readelflib.c:68
+#, c-format
+msgid "%s is a 64 bit ELF file.\n"
+msgstr "%s é um arquivo ELF de 64 bits.\n"
 
-#: argp/argp-parse.c:87
-msgid "Give this help list"
-msgstr "Retorna este arquivo de ajuda"
+#: elf/readelflib.c:70
+#, c-format
+msgid "Unknown ELFCLASS in file %s.\n"
+msgstr "ELFCLASS desconhecida em arquivo %s.\n"
 
-#. TRANS This error code has no purpose.
-#: stdio-common/../sysdeps/gnu/errlist.c:618
-msgid "Gratuitous error"
-msgstr "Erro gratuito"
+#: elf/readelflib.c:77
+#, c-format
+msgid "%s is not a shared object file (Type: %d).\n"
+msgstr "%s não é um arquivo de objeto compartilhado (Tipo: %d).\n"
 
-#: nis/nis_print.c:317
+#: elf/readelflib.c:108
 #, c-format
-msgid "Group         : %s\n"
-msgstr "Grupo         : %s\n"
+msgid "more than one dynamic segment\n"
+msgstr "mais do que um segmento dinâmico\n"
 
-#: nis/nis_print.c:248
-msgid "Group Flags :"
-msgstr "Indicadores de Grupo :"
+#: elf/readlib.c:103
+#, c-format
+msgid "Cannot fstat file %s.\n"
+msgstr "Não é possível obter estado do arquivo %s.\n"
 
-#: nis/nis_print_group_entry.c:113
+#: elf/readlib.c:114
 #, c-format
-msgid "Group entry for \"%s.%s\" group:\n"
-msgstr "Entrada de Grupo para grupo \"%s.%s\":\n"
+msgid "File %s is empty, not checked."
+msgstr "Arquivo %s está vazio, não verificado."
 
-#: argp/argp-parse.c:91
-msgid "Hang for SECS seconds (default 3600)"
-msgstr "Pendurar por SEG segundos (o padr�o � 3600)"
+#: elf/readlib.c:120
+#, c-format
+msgid "File %s is too small, not checked."
+msgstr "Arquivo %s é pequeno demais, não verificado."
 
-#: stdio-common/../sysdeps/unix/siglist.c:26
-#: sysdeps/unix/sysv/linux/siglist.h:22
-msgid "Hangup"
-msgstr "Desconex�o"
+#: elf/readlib.c:130
+#, c-format
+msgid "Cannot mmap file %s.\n"
+msgstr "Não foi possível executar mmap no arquivo %s.\n"
 
-#: nscd/grpcache.c:238
+#: elf/readlib.c:169
 #, c-format
-msgid "Haven't found \"%d\" in group cache!"
-msgstr "N�o encontrado \"%d\" no cache de grupo!"
+msgid "%s is not an ELF file - it has the wrong magic bytes at the start.\n"
+msgstr "%s não é um arquivo ELF – ele tem os magic bytes errados no início.\n"
 
-#: nscd/pwdcache.c:235
+#: elf/sln.c:76
 #, c-format
-msgid "Haven't found \"%d\" in password cache!"
-msgstr "N�o encontrado \"%d\" no cache de senhas!"
+msgid ""
+"Usage: sln src dest|file\n"
+"\n"
+msgstr ""
+"Uso: sln fonte destino|arquivo\n"
+"\n"
 
-#: nscd/grpcache.c:210
+#: elf/sln.c:97
 #, c-format
-msgid "Haven't found \"%s\" in group cache!"
-msgstr "N�o encontrado \"%s\" no cache de grupo!"
+msgid "%s: file open error: %m\n"
+msgstr "%s: erro na abertura do arquivo: %m\n"
 
-#: nscd/hstcache.c:297 nscd/hstcache.c:328 nscd/hstcache.c:359
-#: nscd/hstcache.c:390
+#: elf/sln.c:134
 #, c-format
-msgid "Haven't found \"%s\" in hosts cache!"
-msgstr "N�o encontrado \"%s\" no cache de m�quinas!"
+msgid "No target in line %d\n"
+msgstr "Nenhum alvo na linha %d\n"
 
-#: nscd/pwdcache.c:207
+#: elf/sln.c:164
 #, c-format
-msgid "Haven't found \"%s\" in password cache!"
-msgstr "N�o encontrado \"%s\" no cache de senhas! "
+msgid "%s: destination must not be a directory\n"
+msgstr "%s: destino não pode ser um diretório\n"
 
-#. TRANS The remote host for a requested network connection is down.
-#: stdio-common/../sysdeps/gnu/errlist.c:469
-msgid "Host is down"
-msgstr "Host est� desligado"
+#: elf/sln.c:170
+#, c-format
+msgid "%s: failed to remove the old destination\n"
+msgstr "%s: falha ao remover o destino antigo\n"
 
-#: resolv/herror.c:75
-msgid "Host name lookup failure"
-msgstr "Falha na procura do nome de host"
+#: elf/sln.c:178
+#, c-format
+msgid "%s: invalid destination: %s\n"
+msgstr "%s: destino inválido: %s\n"
 
-#: stdio-common/../sysdeps/unix/siglist.c:48
-#: sysdeps/unix/sysv/linux/siglist.h:42
-msgid "I/O possible"
-msgstr "poss�vel E/S"
+#: elf/sln.c:189 elf/sln.c:198
+#, c-format
+msgid "Invalid link from \"%s\" to \"%s\": %s\n"
+msgstr "Link inválido de “%s” para “%s”: %s\n"
 
-#: db2/makedb.c:71
+#: elf/sotruss.sh:32
+#, sh-format
 msgid ""
-"INPUT-FILE OUTPUT-FILE\n"
-"-o OUTPUT-FILE INPUT-FILE\n"
-"-u INPUT-FILE"
+"Usage: sotruss [OPTION...] [--] EXECUTABLE [EXECUTABLE-OPTION...]\n"
+"  -F, --from FROMLIST     Trace calls from objects on FROMLIST\n"
+"  -T, --to TOLIST         Trace calls to objects on TOLIST\n"
+"\n"
+"  -e, --exit              Also show exits from the function calls\n"
+"  -f, --follow            Trace child processes\n"
+"  -o, --output FILENAME   Write output to FILENAME (or FILENAME.$PID in case\n"
+"\t\t\t  -f is also used) instead of standard error\n"
+"\n"
+"  -?, --help              Give this help list\n"
+"      --usage             Give a short usage message\n"
+"      --version           Print program version"
 msgstr ""
-"ARQUIVO-ENTRADA ARQUIVO-SA�DA\n"
-"-o ARQUIVO-SA�DA ARQUIVO-ENTRADA\n"
-"-u ARQUIVO-ENTRADA"
+"Uso: sotruss [OPÇÃO...] [--] EXECUTÁVEL [OPÇÃO-EXECUTÁVEL...]\n"
+"  -F, --from LISTA-DE     Rastreia chamadas a partir de objetos na LISTA-DE\n"
+"  -T, --to LISTA-PARA     Rastreia chamadas para objetos na LISTA-PARA\n"
+"\n"
+"  -e, --exit              Também mostra saídas de chamadas de função\n"
+"  -f, --follow            Rastreia processos filhos\n"
+"  -o, --output ARQUIVO    Escreve a saída para ARQUIVO (ou ARQUIVO.$PID, caso\n"
+"                            -f também seja usada) em vez da saída de erro\n"
+"\n"
+"  -?, --help              Fornece essa lista de ajuda\n"
+"      --usage             Fornece uma mensagem curta de uso\n"
+"      --version           Exibe a versão do programa"
 
-#: stdio-common/../sysdeps/unix/siglist.c:31
-msgid "IOT trap"
-msgstr "trap IOT"
+# caractere de nova linha (\n) inserido visando não ultrapassar 80 caracteres.
+#: elf/sotruss.sh:46
+msgid "Mandatory arguments to long options are also mandatory for any corresponding\\nshort options.\\n"
+msgstr "Argumentos obrigatórios para opções longas são também obrigatórios para\\nqualquer opção curta correspondente.\\n"
 
-#: nis/nis_print.c:35
-msgid "IVY"
-msgstr "IVY"
+#: elf/sotruss.sh:55
+msgid "%s: option requires an argument -- '%s'\\n"
+msgstr "%s: opção requer um argumento -- “%s”\\n"
 
-#: stdio-common/../sysdeps/gnu/errlist.c:626
-msgid "Identifier removed"
-msgstr "Identificador removido"
+#: elf/sotruss.sh:61
+msgid "%s: option is ambiguous; possibilities:"
+msgstr "%s: opção é ambígua; possibilidades:"
 
-#: stdio-common/../sysdeps/unix/siglist.c:29
-#: sysdeps/unix/sysv/linux/siglist.h:25
-msgid "Illegal instruction"
-msgstr "Instru��o ilegal"
+#: elf/sotruss.sh:79
+msgid "Written by %s.\\n"
+msgstr "Escrito por %s.\\n"
 
-#: nis/nis_error.c:61
-msgid "Illegal object type for operation"
-msgstr "Tipo ilegal de objeto para a opera��o"
-
-#. TRANS Invalid seek operation (such as on a pipe).
-#: stdio-common/../sysdeps/gnu/errlist.c:213
-msgid "Illegal seek"
-msgstr "Procura ilegal"
+#: elf/sotruss.sh:86
+msgid ""
+"Usage: %s [-ef] [-F FROMLIST] [-o FILENAME] [-T TOLIST] [--exit]\n"
+"\t    [--follow] [--from FROMLIST] [--output FILENAME] [--to TOLIST]\n"
+"\t    [--help] [--usage] [--version] [--]\n"
+"\t    EXECUTABLE [EXECUTABLE-OPTION...]\\n"
+msgstr ""
+"Uso: %s [-ef] [-F LISTA-DE] [-o ARQUIVO] [-T LISTA-PARA] [--exit]\n"
+"\t    [--follow] [--from LISTA-DE] [--output ARQUIVO] [--to LISTA-PARA]\n"
+"\t    [--help] [--usage] [--version] [--]\n"
+"\t    EXECUTÁVEL [OPÇÃO-EXECUTÁVEL...]\\n"
 
-#. TRANS Inappropriate file type or format.  The file was the wrong type for the
-#. TRANS operation, or a data file had the wrong format.
-#. TRANS
-#. TRANS On some systems @code{chmod} returns this error if you try to set the
-#. TRANS sticky bit on a non-directory file; @pxref{Setting Permissions}.
-#: stdio-common/../sysdeps/gnu/errlist.c:556
-msgid "Inappropriate file type or format"
-msgstr "Tipo ou formato de arquivo inapropriado"
+#: elf/sotruss.sh:134
+msgid "%s: unrecognized option '%c%s'\\n"
+msgstr "%s: opção não reconhecida “%c%s”\\n"
 
-#. TRANS Inappropriate I/O control operation, such as trying to set terminal
-#. TRANS modes on an ordinary file.
-#: stdio-common/../sysdeps/gnu/errlist.c:188
-msgid "Inappropriate ioctl for device"
-msgstr "ioctl inapropriado para dispositivo"
+#: elf/sprof.c:77
+msgid "Output selection:"
+msgstr "Seleção de saída:"
 
-#. TRANS In the GNU system, servers supporting the @code{term} protocol return
-#. TRANS this error for certain operations when the caller is not in the
-#. TRANS foreground process group of the terminal.  Users do not usually see this
-#. TRANS error because functions such as @code{read} and @code{write} translate
-#. TRANS it into a @code{SIGTTIN} or @code{SIGTTOU} signal.  @xref{Job Control},
-#. TRANS for information on process groups and these signals.
-#: stdio-common/../sysdeps/gnu/errlist.c:589
-msgid "Inappropriate operation for background process"
-msgstr "Opera��o inapropriada para processo em background"
+#: elf/sprof.c:79
+msgid "print list of count paths and their number of use"
+msgstr "mostra lista de número de rotas e seu número de uso"
 
-#: sysdeps/unix/sysv/linux/siglist.h:62
-msgid "Information request"
-msgstr "Requesi��o de informa��o"
+#: elf/sprof.c:81
+msgid "generate flat profile with counts and ticks"
+msgstr "gera perfil com contadores e “ticks”"
 
-#: iconv/iconv_prog.c:57
-msgid "Information:"
-msgstr "Informa��o:"
+#: elf/sprof.c:82
+msgid "generate call graph"
+msgstr "gera gráfico de chamadas"
 
-#: locale/programs/localedef.c:94
-msgid "Input Files:"
-msgstr "Arquivos de entrada:"
+#: elf/sprof.c:89
+msgid "Read and display shared object profiling data."
+msgstr "Lê e mostra dados de perfil do objeto compartilhado."
 
-#: iconv/iconv_prog.c:54
-msgid "Input/Output format specification:"
-msgstr "Especifica��o de formato de Entrada/Sa�da:"
+#: elf/sprof.c:94
+msgid "SHOBJ [PROFDATA]"
+msgstr "SHOBJ [DADOSPERFIL]"
 
-#. TRANS Input/output error; usually used for physical read or write errors.
-#: stdio-common/../sysdeps/gnu/errlist.c:52
-msgid "Input/output error"
-msgstr "Erro de entrada/sa�da"
+#: elf/sprof.c:433
+#, c-format
+msgid "failed to load shared object `%s'"
+msgstr "falha no carregamento do objeto compartilhado “%s”"
 
-#: nis/ypclnt.c:775
-msgid "Internal NIS error"
-msgstr "Erro NIS interno"
+#: elf/sprof.c:442 elf/sprof.c:825 elf/sprof.c:923
+#, c-format
+msgid "cannot create internal descriptor"
+msgstr "não é possível criar descritor interno"
 
-#: nis/ypclnt.c:839
-msgid "Internal ypbind error"
-msgstr "Erro interno de ypbind"
+#: elf/sprof.c:554
+#, c-format
+msgid "Reopening shared object `%s' failed"
+msgstr "Reabertura de objeto compartilhado “%s” falhou"
 
-#: stdio-common/../sysdeps/unix/siglist.c:27
-#: sysdeps/unix/sysv/linux/siglist.h:23
-msgid "Interrupt"
-msgstr "Interrup��o"
+#: elf/sprof.c:561 elf/sprof.c:656
+#, c-format
+msgid "reading of section headers failed"
+msgstr "a leitura de cabeçalhos de seção falhou"
 
-#. TRANS Interrupted function call; an asynchronous signal occurred and prevented
-#. TRANS completion of the call.  When this happens, you should try the call
-#. TRANS again.
-#. TRANS
-#. TRANS You can choose to have functions resume after a signal that is handled,
-#. TRANS rather than failing with @code{EINTR}; see @ref{Interrupted
-#. TRANS Primitives}.
-#: stdio-common/../sysdeps/gnu/errlist.c:47
-msgid "Interrupted system call"
-msgstr "Chamada de sistema interrompida"
+#: elf/sprof.c:569 elf/sprof.c:664
+#, c-format
+msgid "reading of section header string table failed"
+msgstr "a leitura da tabela de string do cabeçalho da seção falhou"
 
-#: stdio-common/../sysdeps/gnu/errlist.c:666
-msgid "Interrupted system call should be restarted"
-msgstr "Chamada de sistema interrompida deve ser reiniciada"
+#: elf/sprof.c:595
+#, c-format
+msgid "*** Cannot read debuginfo file name: %m\n"
+msgstr "*** Não foi possível ler o arquivo de debuginfo: %m\n"
 
-#: nis/nis_error.c:44
-msgid "Invalid Object for operation"
-msgstr "Objeto inv�lido para opera��o"
+#: elf/sprof.c:616
+#, c-format
+msgid "cannot determine file name"
+msgstr "não foi possível determinar o nome do arquivo"
 
-#. TRANS Invalid argument.  This is used to indicate various kinds of problems
-#. TRANS with passing the wrong argument to a library function.
-#: stdio-common/../sysdeps/gnu/errlist.c:164
-msgid "Invalid argument"
-msgstr "Argumento inv�lido"
+#: elf/sprof.c:649
+#, c-format
+msgid "reading of ELF header failed"
+msgstr "a leitura de cabeçalho de ELF falhou"
 
-#: posix/regex.c:1018
-msgid "Invalid back reference"
-msgstr "Refer�ncia anterior inv�lida"
+#: elf/sprof.c:685
+#, c-format
+msgid "*** The file `%s' is stripped: no detailed analysis possible\n"
+msgstr "*** O arquivo “%s” está sem símbolos (stripped): análise detalhada é impossível\n"
 
-#: posix/regex.c:1016
-msgid "Invalid character class name"
-msgstr "Nome de classe de caracter inv�lido"
+#: elf/sprof.c:715
+#, c-format
+msgid "failed to load symbol data"
+msgstr "falha ao carregar dados de símbolos"
 
-#: sunrpc/clnt_perr.c:275
-msgid "Invalid client credential"
-msgstr "Credencial de cliente inv�lido"
+#: elf/sprof.c:780
+#, c-format
+msgid "cannot load profiling data"
+msgstr "impossível carregar dados de perfil"
 
-#: sunrpc/clnt_perr.c:279
-msgid "Invalid client verifier"
-msgstr "Verificador de cliente inv�lido"
+#: elf/sprof.c:789
+#, c-format
+msgid "while stat'ing profiling data file"
+msgstr "enquanto obtinha estado do arquivo de dados de perfil"
 
-#: posix/regex.c:1015
-msgid "Invalid collation character"
-msgstr "Caracter de compara��o inv�lido"
+#: elf/sprof.c:797
+#, c-format
+msgid "profiling data file `%s' does not match shared object `%s'"
+msgstr "arquivo de dados de perfil “%s” não coincide com objetos compartilhados “%s”"
 
-#: posix/regex.c:1022
-msgid "Invalid content of \\{\\}"
-msgstr "Conte�do inv�lido de \\{\\}"
+#: elf/sprof.c:808
+#, c-format
+msgid "failed to mmap the profiling data file"
+msgstr "falha para mapear (mmap) o arquivo de dados de perfil"
 
-#. TRANS An attempt to make an improper link across file systems was detected.
-#. TRANS This happens not only when you use @code{link} (@pxref{Hard Links}) but
-#. TRANS also when you rename a file with @code{rename} (@pxref{Renaming Files}).
-#: stdio-common/../sysdeps/gnu/errlist.c:141
-msgid "Invalid cross-device link"
-msgstr "Link entre dispositivos inv�lido"
+#: elf/sprof.c:816
+#, c-format
+msgid "error while closing the profiling data file"
+msgstr "erro ao fechar arquivo de dados de perfil"
 
-#: stdio-common/../sysdeps/gnu/errlist.c:702
-msgid "Invalid exchange"
-msgstr "Troca inv�lida"
+#: elf/sprof.c:899
+#, c-format
+msgid "`%s' is no correct profile data file for `%s'"
+msgstr "“%s” não é o arquivo de perfil de dados correto para “%s”"
 
-#. TRANS While decoding a multibyte character the function came along an invalid
-#. TRANS or an incomplete sequence of bytes or the given wide character is invalid.
-#: stdio-common/../sysdeps/gnu/errlist.c:579
-msgid "Invalid or incomplete multibyte or wide character"
-msgstr "Multibyte ou caracter largo inv�lido"
+#: elf/sprof.c:1080 elf/sprof.c:1138
+#, c-format
+msgid "cannot allocate symbol data"
+msgstr "não foi possível alocar dados de símbolos"
 
-#: posix/regex.c:1025
-msgid "Invalid preceding regular expression"
-msgstr "Express�o regular precedente inv�lida"
+#: iconv/iconv_charmap.c:141 iconv/iconv_prog.c:445
+#, c-format
+msgid "cannot open output file"
+msgstr "não foi possível abrir arquivo de saída"
 
-#: posix/regex.c:1023
-msgid "Invalid range end"
-msgstr "Intervalo final inv�lida"
+#: iconv/iconv_charmap.c:187 iconv/iconv_prog.c:308
+#, c-format
+msgid "error while closing input `%s'"
+msgstr "erro ao fechar a entrada “%s”"
 
-#: posix/regex.c:1014
-msgid "Invalid regular expression"
-msgstr "Express�o regular inv�lida"
+#: iconv/iconv_charmap.c:435
+#, c-format
+msgid "illegal input sequence at position %Zd"
+msgstr "sequência de entrada ilegal na posição %Zd"
 
-#: stdio-common/../sysdeps/gnu/errlist.c:718
-msgid "Invalid request code"
-msgstr "C�digo de requisi��o inv�lido"
+#: iconv/iconv_charmap.c:454 iconv/iconv_prog.c:536
+#, c-format
+msgid "incomplete character or shift sequence at end of buffer"
+msgstr "caractere incompleto ou mudança de sequência no final do buffer"
 
-#: stdio-common/../sysdeps/gnu/errlist.c:706
-msgid "Invalid request descriptor"
-msgstr "Descritor de requisi��o inv�lido"
+#: iconv/iconv_charmap.c:499 iconv/iconv_charmap.c:535 iconv/iconv_prog.c:579
+#: iconv/iconv_prog.c:615
+#, c-format
+msgid "error while reading the input"
+msgstr "erro ao ler a entrada"
 
-#: sunrpc/clnt_perr.c:285
-msgid "Invalid server verifier"
-msgstr "Verificador de servidor inv�lido"
+#: iconv/iconv_charmap.c:517 iconv/iconv_prog.c:597
+#, c-format
+msgid "unable to allocate buffer for input"
+msgstr "não foi possível alocar espaço para entrada"
 
-#: stdio-common/../sysdeps/gnu/errlist.c:722
-msgid "Invalid slot"
-msgstr "Slot inv�lido"
+#: iconv/iconv_prog.c:59
+msgid "Input/Output format specification:"
+msgstr "Especificação de formato de entrada/saída:"
 
-#. TRANS File is a directory; you cannot open a directory for writing,
-#. TRANS or create or remove hard links to it.
-#: stdio-common/../sysdeps/gnu/errlist.c:158
-msgid "Is a directory"
-msgstr "� um diret�rio"
+#: iconv/iconv_prog.c:60
+msgid "encoding of original text"
+msgstr "codificação para o texto original"
 
-#: stdio-common/../sysdeps/gnu/errlist.c:806
-msgid "Is a named type file"
-msgstr "� um arquivo tipo nome�vel"
+#: iconv/iconv_prog.c:61
+msgid "encoding for output"
+msgstr "codificação para a saída"
 
-#: nis/nis_print.c:187
-msgid "Kerberos.\n"
-msgstr "Kerberos.\n"
+#: iconv/iconv_prog.c:62
+msgid "Information:"
+msgstr "Informação:"
 
-#: stdio-common/../sysdeps/unix/siglist.c:34
-#: sysdeps/unix/sysv/linux/siglist.h:29
-msgid "Killed"
-msgstr "Morto"
+#: iconv/iconv_prog.c:63
+msgid "list all known coded character sets"
+msgstr "lista todas as coleções de caracteres codificados"
 
-#: nis/nis_print.c:123
-msgid "LINK\n"
-msgstr "LINK\n"
+#: iconv/iconv_prog.c:64 locale/programs/localedef.c:120
+msgid "Output control:"
+msgstr "Controle de saída:"
 
-#: nis/nis_local_names.c:125
-#, c-format
-msgid "LOCAL entry for UID %d in directory %s not unique\n"
-msgstr "Entrada LOCAL para UID %d no diret�rio %s n�o � �nica\n"
+#: iconv/iconv_prog.c:65
+msgid "omit invalid characters from output"
+msgstr "omite caracteres inválidos da saída"
 
-#: stdio-common/../sysdeps/gnu/errlist.c:698
-msgid "Level 2 halted"
-msgstr "Parada de sistema n�vel 2"
+#: iconv/iconv_prog.c:66 iconv/iconvconfig.c:128
+#: locale/programs/localedef.c:113 locale/programs/localedef.c:115
+#: locale/programs/localedef.c:117 locale/programs/localedef.c:144
+#: malloc/memusagestat.c:56
+msgid "FILE"
+msgstr "ARQUIVO"
 
-#: stdio-common/../sysdeps/gnu/errlist.c:674
-msgid "Level 2 not synchronized"
-msgstr "N�vel 2 n�o sincronizado"
+#: iconv/iconv_prog.c:66
+msgid "output file"
+msgstr "arquivo de saída"
 
-#: stdio-common/../sysdeps/gnu/errlist.c:678
-msgid "Level 3 halted"
-msgstr "N�vel 3 parado"
+#: iconv/iconv_prog.c:67
+msgid "suppress warnings"
+msgstr "suprime avisos"
 
-#: stdio-common/../sysdeps/gnu/errlist.c:682
-msgid "Level 3 reset"
-msgstr "N�vel 3 resetado"
+#: iconv/iconv_prog.c:68
+msgid "print progress information"
+msgstr "mostra informações de progresso"
 
-#: nis/nis_error.c:53
-msgid "Link Points to illegal name"
-msgstr "V�nculo aponta para nome ilegal"
+#: iconv/iconv_prog.c:73
+msgid "Convert encoding of given files from one encoding to another."
+msgstr "Converte codificação dos arquivos dados de uma codificação para outra."
 
-#: stdio-common/../sysdeps/gnu/errlist.c:638
-msgid "Link has been severed"
-msgstr "Link foi cortado"
+#: iconv/iconv_prog.c:77
+msgid "[FILE...]"
+msgstr "[ARQUIVO...]"
 
-#: stdio-common/../sysdeps/gnu/errlist.c:686
-msgid "Link number out of range"
-msgstr "N�mero de link fora da faixa"
+#: iconv/iconv_prog.c:230
+#, c-format
+msgid "conversions from `%s' and to `%s' are not supported"
+msgstr "não há suporte para as conversões de “%s” e para “%s”"
 
-#: nis/nis_print.c:282
-msgid "Linked Object Type : "
-msgstr "Tipo de Objeto Vinculado (linked) : "
+#: iconv/iconv_prog.c:235
+#, c-format
+msgid "conversion from `%s' is not supported"
+msgstr "não há suporte para a conversão de “%s”"
 
-#: nis/nis_print.c:284
+#: iconv/iconv_prog.c:242
 #, c-format
-msgid "Linked to : %s\n"
-msgstr "Vinculado (linked) para : %s\n"
+msgid "conversion to `%s' is not supported"
+msgstr "não há suporte para a conversão para “%s”"
 
-#: nis/ypclnt.c:787
-msgid "Local domain name not set"
-msgstr "N�o foi configurado nome de dom�nio local"
+#: iconv/iconv_prog.c:246
+#, c-format
+msgid "conversion from `%s' to `%s' is not supported"
+msgstr "não há suporte para a conversão de “%s” para “%s”"
 
-#: nis/ypclnt.c:777
-msgid "Local resource allocation failure"
-msgstr "Falha na aloca��o de recurso local"
+#: iconv/iconv_prog.c:256
+#, c-format
+msgid "failed to start conversion processing"
+msgstr "falha ao iniciar o processo de conversão"
 
-#: stdio-common/../sysdeps/gnu/errlist.c:734
-msgid "Machine is not on the network"
-msgstr "A maquina n�o est� na rede"
+#: iconv/iconv_prog.c:354
+#, c-format
+msgid "error while closing output file"
+msgstr "erro ao fechar o arquivo de saída"
 
-#: nis/nis_error.c:45
-msgid "Malformed Name, or illegal name"
-msgstr "Nome malformado ou ilegal"
+#: iconv/iconv_prog.c:455
+#, c-format
+msgid "conversion stopped due to problem in writing the output"
+msgstr "a conversão parou devido a problemas de escrita na saída"
 
-#: argp/argp-help.c:1182
-msgid "Mandatory or optional arguments to long options are also mandatory or optional for any corresponding short options."
-msgstr "Par�metros obrigat�rios ou opcionais para op��es longas s�o tamb�m obrigat�rios ou opcionais para qualquer op��o curta correspondente."
+#: iconv/iconv_prog.c:532
+#, c-format
+msgid "illegal input sequence at position %ld"
+msgstr "sequência de entrada ilegal na posição %ld"
 
-#: nis/nis_print.c:168
-msgid "Master Server :\n"
-msgstr "Servidor Mestre :\n"
+#: iconv/iconv_prog.c:540
+#, c-format
+msgid "internal error (illegal descriptor)"
+msgstr "erro interno (descritor ilegal)"
 
-#: nis/nis_error.c:75
-msgid "Master server busy, full dump rescheduled."
-msgstr "Servidor Mestre ocupado, descarregamento completo (dump) remarcado."
+#: iconv/iconv_prog.c:543
+#, c-format
+msgid "unknown iconv() error %d"
+msgstr "erro iconv() desconhecido: %d"
 
-#: posix/../sysdeps/posix/gai_strerror.c:35
-msgid "Memory allocation failure"
-msgstr "Falha de aloca��o de mem�ria"
+#: iconv/iconv_prog.c:786
+msgid ""
+"The following list contains all the coded character sets known.  This does\n"
+"not necessarily mean that all combinations of these names can be used for\n"
+"the FROM and TO command line parameters.  One coded character set can be\n"
+"listed with several different names (aliases).\n"
+"\n"
+"  "
+msgstr ""
+"A lista a seguir contém todos os conjuntos de codificação de caracteres \n"
+"conhecidos. Isto não quer dizer necessariamente que todas as combinações\n"
+"destes nomes podem ser utilizadas nos parâmetros DE e PARA. Um conjunto\n"
+"de caracteres pode ser listado com vários nomes diferentes (apelidos).\n"
+"\n"
+"  "
 
-#: posix/regex.c:1024
-msgid "Memory exhausted"
-msgstr "Mem�ria esgotada"
+#: iconv/iconvconfig.c:109
+msgid "Create fastloading iconv module configuration file."
+msgstr "Cria um arquivo de configuração para carregamento rápido de módulos iconv."
 
-#. TRANS The size of a message sent on a socket was larger than the supported
-#. TRANS maximum size.
-#: stdio-common/../sysdeps/gnu/errlist.c:317
-msgid "Message too long"
-msgstr "Mensagem muito longa"
+#: iconv/iconvconfig.c:113
+msgid "[DIR...]"
+msgstr "[DIR...]"
 
-#: nis/nis_error.c:57
-msgid "Missing or malformed attribute"
-msgstr "Atributo perdido ou malformado"
+#: iconv/iconvconfig.c:126 locale/programs/localedef.c:123
+msgid "PATH"
+msgstr "CAMINHO"
 
-#: nis/nis_print.c:323
-#, c-format
-msgid "Mod. Time     : %s"
-msgstr "Hor�rio  Mod. : %s"
+#: iconv/iconvconfig.c:127
+msgid "Prefix used for all file accesses"
+msgstr "Prefixo usado para todos os acessos a arquivos"
 
-#: nis/nis_error.c:50
-msgid "Modification failed"
-msgstr "Modifica��o falhou"
+#: iconv/iconvconfig.c:128
+msgid "Put output in FILE instead of installed location (--prefix does not apply to FILE)"
+msgstr "Coloca saída em ARQUIVO, em vez da localização instalada (--prefix não se aplica a ARQUIVO)"
 
-#: nis/nis_error.c:63
-msgid "Modify operation failed"
-msgstr "Opera��o de modifica��o falhou"
+#: iconv/iconvconfig.c:132
+msgid "Do not search standard directories, only those on the command line"
+msgstr "Não pesquisa por diretórios padrões, e sim apenas por aqueles na linha de comando"
 
-#: locale/programs/locale.c:68
-msgid "Modify output format:"
-msgstr "Formato de modifica��o de sa�da:"
+#: iconv/iconvconfig.c:299
+#, c-format
+msgid "Directory arguments required when using --nostdlib"
+msgstr "Argumentos de diretório são necessários ao usar --nostdlib"
 
-#: stdio-common/../sysdeps/gnu/errlist.c:630
-msgid "Multihop attempted"
-msgstr "Tentativa de Multihop"
+#: iconv/iconvconfig.c:341
+#, c-format
+msgid "no output file produced because warnings were issued"
+msgstr "nenhum arquivo de saída foi produzido porque avisos foram emitidos"
 
-#: catgets/gencat.c:106 catgets/gencat.c:110 db2/makedb.c:59
-#: locale/programs/localedef.c:115 nscd/nscd.c:77
-msgid "NAME"
-msgstr "NOME"
+#: iconv/iconvconfig.c:430
+#, c-format
+msgid "while inserting in search tree"
+msgstr "erro ao inserir na área de pesquisa"
 
-#: locale/programs/locale.c:78
-msgid ""
-"NAME\n"
-"[-a|-m]"
-msgstr ""
-"NOME\n"
-"[-a|-m]"
+#: iconv/iconvconfig.c:1238
+#, c-format
+msgid "cannot generate output file"
+msgstr "não foi possível gerar o arquivo de saída"
 
-#: nis/nis_print.c:31
-msgid "NIS"
-msgstr "NIS"
+#: inet/rcmd.c:157
+msgid "rcmd: Cannot allocate memory\n"
+msgstr "rcmd: Não foi possível alocar memória\n"
 
-#: nis/ypclnt.c:791
-msgid "NIS client/server version mismatch - can't supply service"
-msgstr "Vers�es cliente/servidor NIS n�o conferem - n�o � poss�vel oferecer servi�o"
+#: inet/rcmd.c:174
+msgid "rcmd: socket: All ports in use\n"
+msgstr "rcmd: socket: Todas as portas em uso\n"
 
-#: nis/ypclnt.c:789
-msgid "NIS map database is bad"
-msgstr "Base de dados de mapas NIS est� ruim"
+#: inet/rcmd.c:202
+#, c-format
+msgid "connect to address %s: "
+msgstr "conectar ao endereço %s: "
 
-#: nis/nis_error.c:68
-msgid "NIS+ operation failed"
-msgstr "Opera��o NIS+ falhou"
+#: inet/rcmd.c:215
+#, c-format
+msgid "Trying %s...\n"
+msgstr "Tentando %s...\n"
 
-#: nis/nis_error.c:33
-msgid "NIS+ servers unreachable"
-msgstr "Servidores NIS+ fora do alcance"
+#: inet/rcmd.c:251
+#, c-format
+msgid "rcmd: write (setting up stderr): %m\n"
+msgstr "rcmd: write (configurando stderr): %m\n"
 
-#: nis/nis_error.c:69
-msgid "NIS+ service is unavailable or not installed"
-msgstr "Servi�o NIS+ est� indispon�vel ou n�o est� instalado"
+#: inet/rcmd.c:267
+#, c-format
+msgid "rcmd: poll (setting up stderr): %m\n"
+msgstr "rcmd: poll (configurando stderr): %m\n"
 
-#: nis/nis_print.c:108
-msgid "NO OBJECT\n"
-msgstr "SEM OBJETO\n"
+#: inet/rcmd.c:270
+msgid "poll: protocol failure in circuit setup\n"
+msgstr "poll: falha de protocolo na configuração do circuito\n"
 
-#: nscd/nscd.c:81
-msgid "NUMBER"
-msgstr "N�MERO"
+#: inet/rcmd.c:302
+msgid "socket: protocol failure in circuit setup\n"
+msgstr "socket: falha de protocolo na configuração do circuito\n"
 
-#: nis/nis_print.c:162
+#: inet/rcmd.c:326
 #, c-format
-msgid "Name : '%s'\n"
-msgstr "Nome : `%s'\n"
+msgid "rcmd: %s: short read"
+msgstr "rcmd: %s: leitura insuficiente"
 
-#: nscd/nscd.c:88
-msgid "Name Service Cache Daemon."
-msgstr "Servidor de Cache de Nomes."
+#: inet/rcmd.c:478
+msgid "lstat failed"
+msgstr "lstat falhou"
 
-#: nis/nis_error.c:40
-msgid "Name not served by this server"
-msgstr "Nome n�o servidor por este servidor"
+#: inet/rcmd.c:485
+msgid "cannot open"
+msgstr "não foi possível abrir"
 
-#: stdio-common/../sysdeps/gnu/errlist.c:758
-msgid "Name not unique on network"
-msgstr "O nome n�o � �nico na rede"
+#: inet/rcmd.c:487
+msgid "fstat failed"
+msgstr "fstat falhou"
 
-#: posix/../sysdeps/posix/gai_strerror.c:37
-msgid "Name or service not known"
-msgstr "Nome ou servi�o desconhecido"
+#: inet/rcmd.c:489
+msgid "bad owner"
+msgstr "dono inválido"
 
-#: nis/nis_error.c:49
-msgid "Name/entry isn't unique"
-msgstr "Nome/entrada n�o � �nico"
+#: inet/rcmd.c:491
+msgid "writeable by other than owner"
+msgstr "permissão de escrita para outros"
 
-#: nis/nis_error.c:58
-msgid "Named object is not searchable"
-msgstr "Objeto nomeado n�o � pesquis�vel"
+#: inet/rcmd.c:493
+msgid "hard linked somewhere"
+msgstr "link absoluto em algum lugar"
 
-#. TRANS ???
-#: stdio-common/../sysdeps/gnu/errlist.c:566
-msgid "Need authenticator"
-msgstr "� necess�rio um autenticador"
+#: inet/ruserpass.c:165 inet/ruserpass.c:188
+msgid "out of memory"
+msgstr "memória insuficiente"
 
-#. TRANS A network connection was reset because the remote host crashed.
-#: stdio-common/../sysdeps/gnu/errlist.c:389
-msgid "Network dropped connection on reset"
-msgstr "A rede desconectou-se ao resetar"
+#: inet/ruserpass.c:179
+msgid "Error: .netrc file is readable by others."
+msgstr "Erro: arquivo .netrc é legível por outros."
 
-#. TRANS A socket operation failed because the network was down.
-#: stdio-common/../sysdeps/gnu/errlist.c:378
-msgid "Network is down"
-msgstr "A rede n�o responde"
+#: inet/ruserpass.c:180
+msgid "Remove password or make file unreadable by others."
+msgstr "Remove a senha ou torne arquivo não-legível por outros."
 
-#. TRANS A socket operation failed because the subnet containing the remote host
-#. TRANS was unreachable.
-#: stdio-common/../sysdeps/gnu/errlist.c:384
-msgid "Network is unreachable"
-msgstr "A rede est� fora de alcance"
+#: inet/ruserpass.c:199
+#, c-format
+msgid "Unknown .netrc keyword %s"
+msgstr "Palavra-chave em .netrc desconhecida %s"
 
-#: stdio-common/../sysdeps/gnu/errlist.c:694
-msgid "No CSI structure available"
-msgstr "N�o h� estrutura CSI dispon�vel"
+#: libidn/nfkc.c:463
+msgid "Character out of range for UTF-8"
+msgstr "Caractere fora do limite para UTF-8"
 
-#: stdio-common/../sysdeps/gnu/errlist.c:802
-msgid "No XENIX semaphores available"
-msgstr "N�o h� sem�foros XENIX dispon�veis"
+#: locale/programs/charmap-dir.c:56
+#, c-format
+msgid "cannot read character map directory `%s'"
+msgstr "não é possível ler diretório de mapa de caracteres “%s”"
 
-#: posix/../sysdeps/posix/gai_strerror.c:36
-msgid "No address associated with hostname"
-msgstr "N�o h� endere�o associado com o nome"
+#: locale/programs/charmap.c:138
+#, c-format
+msgid "character map file `%s' not found"
+msgstr "arquivo de mapa de caracteres “%s” não foi localizado"
 
-#: resolv/herror.c:77
-msgid "No address associated with name"
-msgstr "N�o h� endere�o associado com o nome"
+#: locale/programs/charmap.c:196
+#, c-format
+msgid "default character map file `%s' not found"
+msgstr "arquivo padrão de mapa de caracteres “%s” não localizado"
 
-#: stdio-common/../sysdeps/gnu/errlist.c:714
-msgid "No anode"
-msgstr "Sem anode"
+#: locale/programs/charmap.c:265
+#, c-format
+msgid "character map `%s' is not ASCII compatible, locale not ISO C compliant [--no-warnings=ascii]"
+msgstr "mapa de caracteres “%s” não é compatível com ASCII; localidade não é compatível com C ISO [--no-warnings=ascii]"
 
-#. TRANS The kernel's buffers for I/O operations are all in use.  In GNU, this
-#. TRANS error is always synonymous with @code{ENOMEM}; you may get one or the
-#. TRANS other from network operations.
-#: stdio-common/../sysdeps/gnu/errlist.c:408
-msgid "No buffer space available"
-msgstr "N�o h� espa�o de buffer dispon�vel"
+#: locale/programs/charmap.c:343
+#, c-format
+msgid "%s: <mb_cur_max> must be greater than <mb_cur_min>\n"
+msgstr "%s: <mb_cur_max> deve ser maior que <mb_cur_min>\n"
 
-#. TRANS There are no child processes.  This error happens on operations that are
-#. TRANS supposed to manipulate child processes, when there aren't any processes
-#. TRANS to manipulate.
-#: stdio-common/../sysdeps/gnu/errlist.c:89
-msgid "No child processes"
-msgstr "N�o h� processos filhos"
+#: locale/programs/charmap.c:363 locale/programs/charmap.c:380
+#: locale/programs/repertoire.c:173
+#, c-format
+msgid "syntax error in prolog: %s"
+msgstr "erro de sintaxe em prolog: %s"
 
-#: stdio-common/../sysdeps/gnu/errlist.c:634
-msgid "No data available"
-msgstr "N�o h� dados dispon�veis"
+#: locale/programs/charmap.c:364
+msgid "invalid definition"
+msgstr "definição inválida"
 
-#: nis/nis_error.c:73
-msgid "No file space on server"
-msgstr "N�o h� espa�o dispon�vel no servidor"
+#: locale/programs/charmap.c:381 locale/programs/locfile.c:131
+#: locale/programs/locfile.c:158 locale/programs/repertoire.c:174
+msgid "bad argument"
+msgstr "argumento inválido"
 
-#. TRANS No locks available.  This is used by the file locking facilities; see
-#. TRANS @ref{File Locks}.  This error is never generated by the GNU system, but
-#. TRANS it can result from an operation to an NFS server running another
-#. TRANS operating system.
-#: stdio-common/../sysdeps/gnu/errlist.c:547
-msgid "No locks available"
-msgstr "N�o h� locks dispon�veis"
+#: locale/programs/charmap.c:408
+#, c-format
+msgid "duplicate definition of <%s>"
+msgstr "definição duplicada de <%s>"
 
-#: posix/regex.c:1013
-msgid "No match"
-msgstr "N�o confere"
+#: locale/programs/charmap.c:415
+#, c-format
+msgid "value for <%s> must be 1 or greater"
+msgstr "o valor para <%s> deve ser 1 ou maior"
 
-#: stdio-common/../sysdeps/gnu/errlist.c:814
-msgid "No medium found"
-msgstr "M�dia n�o encontrada"
+#: locale/programs/charmap.c:427
+#, c-format
+msgid "value of <%s> must be greater or equal than the value of <%s>"
+msgstr "o valor de <%s> deve ser maior ou igual ao valor de <%s>"
 
-#: stdio-common/../sysdeps/gnu/errlist.c:642
-msgid "No message of desired type"
-msgstr "N�o h� mensagens do tipo desejado"
+#: locale/programs/charmap.c:450 locale/programs/repertoire.c:182
+#, c-format
+msgid "argument to <%s> must be a single character"
+msgstr "o argumento para <%s> deve ser um caractere simples"
 
-#: nis/ypclnt.c:779
-msgid "No more records in map database"
-msgstr "N�o h� mais registros no banco de dados map"
+#: locale/programs/charmap.c:476
+msgid "character sets with locking states are not supported"
+msgstr "não há suporte a conjuntos de caracteres com estados de trava"
 
-#: posix/regex.c:5515
-msgid "No previous regular expression"
-msgstr "N�o h� express�o regular anterior"
+#: locale/programs/charmap.c:503 locale/programs/charmap.c:557
+#: locale/programs/charmap.c:589 locale/programs/charmap.c:683
+#: locale/programs/charmap.c:738 locale/programs/charmap.c:779
+#: locale/programs/charmap.c:820
+#, c-format
+msgid "syntax error in %s definition: %s"
+msgstr "erro de sintaxe na definição %s: %s"
 
-#: sunrpc/rpcinfo.c:570
-msgid "No remote programs registered.\n"
-msgstr "N�o h� programas remotos registrados.\n"
+#: locale/programs/charmap.c:504 locale/programs/charmap.c:684
+#: locale/programs/charmap.c:780 locale/programs/repertoire.c:229
+msgid "no symbolic name given"
+msgstr "nenhum nome simbólico dado"
 
-#. TRANS The remote host for a requested network connection is not reachable.
-#: stdio-common/../sysdeps/gnu/errlist.c:474
-msgid "No route to host"
-msgstr "N�o h� rota para o host"
+#: locale/programs/charmap.c:558
+msgid "invalid encoding given"
+msgstr "codificação inválida dada"
 
-#. TRANS No space left on device; write operation on a file failed because the
-#. TRANS disk is full.
-#: stdio-common/../sysdeps/gnu/errlist.c:208
-msgid "No space left on device"
-msgstr "N�o h� espa�o dispon�vel no dispositivo"
+#: locale/programs/charmap.c:567
+msgid "too few bytes in character encoding"
+msgstr "poucos bytes na codificação do caractere"
 
-#. TRANS The wrong type of device was given to a function that expects a
-#. TRANS particular sort of device.
-#: stdio-common/../sysdeps/gnu/errlist.c:147
-msgid "No such device"
-msgstr "Dispositivo inexistente"
+#: locale/programs/charmap.c:569
+msgid "too many bytes in character encoding"
+msgstr "muitos bytes na codificação do caractere"
 
-#. TRANS No such file or directory.  This is a ``file doesn't exist'' error
-#. TRANS for ordinary files that are referenced in contexts where they are
-#. TRANS expected to already exist.
-#: stdio-common/../sysdeps/gnu/errlist.c:31
-msgid "No such file or directory"
-msgstr "Arquivo ou diret�rio n�o encontrado"
+#: locale/programs/charmap.c:591 locale/programs/charmap.c:739
+#: locale/programs/charmap.c:822 locale/programs/repertoire.c:295
+msgid "no symbolic name given for end of range"
+msgstr "nenhum nome simbólico dado para fim do intervalo"
+
+#: locale/programs/charmap.c:615 locale/programs/ld-address.c:524
+#: locale/programs/ld-collate.c:2616 locale/programs/ld-collate.c:3774
+#: locale/programs/ld-ctype.c:2117 locale/programs/ld-ctype.c:2829
+#: locale/programs/ld-identification.c:397
+#: locale/programs/ld-measurement.c:213 locale/programs/ld-messages.c:295
+#: locale/programs/ld-monetary.c:748 locale/programs/ld-name.c:262
+#: locale/programs/ld-numeric.c:325 locale/programs/ld-paper.c:212
+#: locale/programs/ld-telephone.c:276 locale/programs/ld-time.c:934
+#: locale/programs/repertoire.c:312
+#, c-format
+msgid "%1$s: definition does not end with `END %1$s'"
+msgstr "%1$s: definição não termina com “END %1$s”"
+
+#: locale/programs/charmap.c:648
+msgid "only WIDTH definitions are allowed to follow the CHARMAP definition"
+msgstr "apenas definições de WIDTH são permitidas em seguida à definição de CHARMAP"
 
-#: nis/ypclnt.c:773
-msgid "No such key in map"
-msgstr "Chave no est� no mapa"
+#: locale/programs/charmap.c:656 locale/programs/charmap.c:719
+#, c-format
+msgid "value for %s must be an integer"
+msgstr "o valor para %s deve ser um inteiro"
 
-#: nis/ypclnt.c:771
-msgid "No such map in server's domain"
-msgstr "Mapa n�o encontrado no dom�nio do servidor"
+#: locale/programs/charmap.c:847
+#, c-format
+msgid "%s: error in state machine"
+msgstr "%s: erro na máquina de estados"
+
+#: locale/programs/charmap.c:855 locale/programs/ld-address.c:540
+#: locale/programs/ld-collate.c:2613 locale/programs/ld-collate.c:3967
+#: locale/programs/ld-ctype.c:2114 locale/programs/ld-ctype.c:2846
+#: locale/programs/ld-identification.c:413
+#: locale/programs/ld-measurement.c:229 locale/programs/ld-messages.c:311
+#: locale/programs/ld-monetary.c:764 locale/programs/ld-name.c:278
+#: locale/programs/ld-numeric.c:341 locale/programs/ld-paper.c:228
+#: locale/programs/ld-telephone.c:292 locale/programs/ld-time.c:950
+#: locale/programs/locfile.c:997 locale/programs/repertoire.c:323
+#, c-format
+msgid "%s: premature end of file"
+msgstr "%s: fim de arquivo prematuro"
 
-#. TRANS No process matches the specified process ID.
-#: stdio-common/../sysdeps/gnu/errlist.c:36
-msgid "No such process"
-msgstr "Processo inexistente"
+#: locale/programs/charmap.c:874 locale/programs/charmap.c:885
+#, c-format
+msgid "unknown character `%s'"
+msgstr "caractere desconhecido “%s”"
+
+#: locale/programs/charmap.c:893
+#, c-format
+msgid "number of bytes for byte sequence of beginning and end of range not the same: %d vs %d"
+msgstr "número de bytes para a sequência de bytes de começo e término de intervalo não é o mesmo: %d vs %d"
+
+#: locale/programs/charmap.c:998 locale/programs/ld-collate.c:2893
+#: locale/programs/repertoire.c:418
+msgid "invalid names for character range"
+msgstr "nomes inválidos para intervalo de caracteres"
+
+#: locale/programs/charmap.c:1010 locale/programs/repertoire.c:430
+msgid "hexadecimal range format should use only capital characters"
+msgstr "formato de intervalo hexadecimal deve usar apenas caracteres maiúsculos"
+
+#: locale/programs/charmap.c:1028 locale/programs/repertoire.c:448
+#, c-format
+msgid "<%s> and <%s> are invalid names for range"
+msgstr "<%s> e <%s> são nomes inválidos para o intervalo"
+
+#: locale/programs/charmap.c:1034 locale/programs/repertoire.c:455
+msgid "upper limit in range is smaller than lower limit"
+msgstr "o limite superior do intervalo é menor que o limite inferior"
+
+#: locale/programs/charmap.c:1092
+msgid "resulting bytes for range not representable."
+msgstr "bytes resultantes para o intervalo não representáveis."
+
+#: locale/programs/ld-address.c:133 locale/programs/ld-collate.c:1563
+#: locale/programs/ld-ctype.c:430 locale/programs/ld-identification.c:131
+#: locale/programs/ld-measurement.c:92 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:89
+#: locale/programs/ld-telephone.c:92 locale/programs/ld-time.c:158
+#, c-format
+msgid "No definition for %s category found"
+msgstr "Nenhuma definição para a categoria %s localizada"
+
+#: locale/programs/ld-address.c:144 locale/programs/ld-address.c:182
+#: 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:331 locale/programs/ld-identification.c:144
+#: locale/programs/ld-measurement.c:103 locale/programs/ld-monetary.c:204
+#: locale/programs/ld-monetary.c:258 locale/programs/ld-monetary.c:274
+#: locale/programs/ld-monetary.c:286 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:100
+#: locale/programs/ld-paper.c:109 locale/programs/ld-telephone.c:103
+#: locale/programs/ld-telephone.c:160 locale/programs/ld-time.c:174
+#: locale/programs/ld-time.c:195
+#, c-format
+msgid "%s: field `%s' not defined"
+msgstr "%s: campo “%s” não definido"
 
-#: nis/nis_error.c:60
-msgid "Non NIS+ namespace encountered"
-msgstr "Namespace NIS+ n�o encontrado"
+#: locale/programs/ld-address.c:156 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:115
+#, c-format
+msgid "%s: field `%s' must not be empty"
+msgstr "%s: campo “%s” não pode estar vazio"
 
-#: posix/../sysdeps/posix/gai_strerror.c:33
-msgid "Non-recoverable failure in name resolution"
-msgstr "Falha irrecuper�vel na resolu��o de nome"
+#: locale/programs/ld-address.c:168
+#, c-format
+msgid "%s: invalid escape `%%%c' sequence in field `%s'"
+msgstr "%s: sequência de escape “%%%c” inválida no campo “%s”"
 
-#: nis/nis_print.c:176
-msgid "None.\n"
-msgstr "nenhum.\n"
+#: locale/programs/ld-address.c:218
+#, c-format
+msgid "%s: terminology language code `%s' not defined"
+msgstr "%s: código de idioma de terminologia “%s” não definido"
 
-#: nis/nis_error.c:48
-msgid "Not Found, no such name"
-msgstr "N�o encontrado, nome inexistente"
+#: locale/programs/ld-address.c:243
+#, c-format
+msgid "%s: field `%s' must not be defined"
+msgstr "%s: campo “%s” não pode estar definido"
 
-#: stdio-common/../sysdeps/gnu/errlist.c:798
-msgid "Not a XENIX named type file"
-msgstr "N�o � um arquivo nome�vel XENIX"
+#: locale/programs/ld-address.c:257 locale/programs/ld-address.c:286
+#, c-format
+msgid "%s: language abbreviation `%s' not defined"
+msgstr "%s: abreviação de idioma “%s” não definida"
 
-#. TRANS A file that isn't a directory was specified when a directory is required.
-#: stdio-common/../sysdeps/gnu/errlist.c:152
-msgid "Not a directory"
-msgstr "N�o � um diret�rio"
+#: locale/programs/ld-address.c:264 locale/programs/ld-address.c:292
+#: locale/programs/ld-address.c:325 locale/programs/ld-address.c:337
+#, c-format
+msgid "%s: `%s' value does not match `%s' value"
+msgstr "%s: o valor “%s” não corresponde ao valor “%s”"
 
-#: nis/nis_error.c:30
-msgid "Not found"
-msgstr "N�o encontrado"
+#: locale/programs/ld-address.c:311
+#, c-format
+msgid "%s: numeric country code `%d' not valid"
+msgstr "%s: código numérico do país “%d” não válido"
 
-#: nis/nis_error.c:43
-msgid "Not master server for this domain"
-msgstr "N�o � um servidor mestre para este dom�nio"
+#: locale/programs/ld-address.c:432 locale/programs/ld-address.c:469
+#: locale/programs/ld-address.c:507 locale/programs/ld-ctype.c:2478
+#: locale/programs/ld-identification.c:309
+#: locale/programs/ld-measurement.c:196 locale/programs/ld-messages.c:264
+#: locale/programs/ld-monetary.c:503 locale/programs/ld-monetary.c:538
+#: locale/programs/ld-monetary.c:579 locale/programs/ld-name.c:235
+#: locale/programs/ld-numeric.c:217 locale/programs/ld-paper.c:195
+#: locale/programs/ld-telephone.c:251 locale/programs/ld-time.c:839
+#: locale/programs/ld-time.c:881
+#, c-format
+msgid "%s: field `%s' declared more than once"
+msgstr "%s: campo “%s” declarado mais de uma vez"
 
-#: nis/nis_error.c:39
-msgid "Not owner"
-msgstr "Dono inv�lido"
+#: locale/programs/ld-address.c:436 locale/programs/ld-address.c:474
+#: locale/programs/ld-identification.c:313 locale/programs/ld-messages.c:274
+#: locale/programs/ld-monetary.c:507 locale/programs/ld-monetary.c:542
+#: locale/programs/ld-name.c:239 locale/programs/ld-numeric.c:221
+#: locale/programs/ld-telephone.c:255 locale/programs/ld-time.c:733
+#: locale/programs/ld-time.c:802 locale/programs/ld-time.c:844
+#, c-format
+msgid "%s: unknown character in field `%s'"
+msgstr "%s: caractere desconhecido no campo “%s”"
 
-#: nis/nis_print.c:263
+#: locale/programs/ld-address.c:521 locale/programs/ld-collate.c:3772
+#: locale/programs/ld-ctype.c:2826 locale/programs/ld-identification.c:394
+#: locale/programs/ld-measurement.c:210 locale/programs/ld-messages.c:293
+#: locale/programs/ld-monetary.c:746 locale/programs/ld-name.c:260
+#: locale/programs/ld-numeric.c:323 locale/programs/ld-paper.c:210
+#: locale/programs/ld-telephone.c:274 locale/programs/ld-time.c:932
 #, c-format
-msgid "Number of Columns   : %d\n"
-msgstr "N�mero de Colunas   : %d\n"
+msgid "%s: incomplete `END' line"
+msgstr "%s: linha “END” incompleta"
 
-#: nis/nis_print.c:358
+#: locale/programs/ld-address.c:531 locale/programs/ld-collate.c:550
+#: locale/programs/ld-collate.c:602 locale/programs/ld-collate.c:898
+#: locale/programs/ld-collate.c:911 locale/programs/ld-collate.c:2582
+#: locale/programs/ld-collate.c:2603 locale/programs/ld-collate.c:3957
+#: locale/programs/ld-ctype.c:1846 locale/programs/ld-ctype.c:2104
+#: locale/programs/ld-ctype.c:2676 locale/programs/ld-ctype.c:2837
+#: locale/programs/ld-identification.c:404
+#: locale/programs/ld-measurement.c:220 locale/programs/ld-messages.c:302
+#: locale/programs/ld-monetary.c:755 locale/programs/ld-name.c:269
+#: locale/programs/ld-numeric.c:332 locale/programs/ld-paper.c:219
+#: locale/programs/ld-telephone.c:283 locale/programs/ld-time.c:941
 #, c-format
-msgid "Number of objects : %u\n"
-msgstr "N�mero de objetos : %u\n"
+msgid "%s: syntax error"
+msgstr "%s: erro de sintaxe"
 
-#. TRANS Domain error; used by mathematical functions when an argument value does
-#. TRANS not fall into the domain over which the function is defined.
-#: stdio-common/../sysdeps/gnu/errlist.c:240
-msgid "Numerical argument out of domain"
-msgstr "Argumento num�rico fora de dom�nio"
+#: locale/programs/ld-collate.c:425
+#, c-format
+msgid "`%.*s' already defined in charmap"
+msgstr "“%.*s” já definido no mapa de caracteres"
 
-#. TRANS Range error; used by mathematical functions when the result value is
-#. TRANS not representable because of overflow or underflow.
-#: stdio-common/../sysdeps/gnu/errlist.c:246
-msgid "Numerical result out of range"
-msgstr "Resultado num�rico fora de alcance"
+#: locale/programs/ld-collate.c:434
+#, c-format
+msgid "`%.*s' already defined in repertoire"
+msgstr "“%.*s” já definido no repertório"
 
-#: nis/nis_print.c:362
+#: locale/programs/ld-collate.c:441
 #, c-format
-msgid "Object #%d:\n"
-msgstr "Objeto #%d:\n"
+msgid "`%.*s' already defined as collating symbol"
+msgstr "“%.*s” já definido como símbolo de comparação"
 
-#: nis/nis_print.c:314
+#: locale/programs/ld-collate.c:448
 #, c-format
-msgid "Object Name   : %s\n"
-msgstr "Nome do Objeto: %s\n"
+msgid "`%.*s' already defined as collating element"
+msgstr "“%.*s” já definido como elemento de comparação"
 
-#: nis/nis_print.c:324
-msgid "Object Type   : "
-msgstr "Tipo do Objeto: "
+#: locale/programs/ld-collate.c:479 locale/programs/ld-collate.c:505
+#, c-format
+msgid "%s: `forward' and `backward' are mutually excluding each other"
+msgstr "%s: “forward” e “backward” são mutuamente exclusivas entre si"
 
-#. TRANS An attempt was made to NFS-mount a remote file system with a file name that
-#. TRANS already specifies an NFS-mounted file.
-#. TRANS (This is an error on some operating systems, but we expect it to work
-#. TRANS properly on the GNU system, making this error code impossible.)
-#: stdio-common/../sysdeps/gnu/errlist.c:514
-msgid "Object is remote"
-msgstr "Objeto � remoto"
+#: locale/programs/ld-collate.c:489 locale/programs/ld-collate.c:515
+#: locale/programs/ld-collate.c:531
+#, c-format
+msgid "%s: `%s' mentioned more than once in definition of weight %d"
+msgstr "%s: “%s” mencionado mais de uma vez na definição de peso %d"
 
-#: nis/nis_error.c:42
-msgid "Object with same name exists"
-msgstr "Objeto com o mesmo nome existe"
+#: locale/programs/ld-collate.c:587
+#, c-format
+msgid "%s: too many rules; first entry only had %d"
+msgstr "%s: número excessivo de regras; a primeira entrada tinha apenas %d"
 
-#: timezone/zic.c:1995
-msgid "Odd number of quotation marks"
-msgstr "N�mero �mpar de aspas"
+#: locale/programs/ld-collate.c:623
+#, c-format
+msgid "%s: not enough sorting rules"
+msgstr "%s: número insuficiente de regras de ordenação"
 
-#: nscd/nscd.c:185
-msgid "Only root is allowed to use this option!"
-msgstr "Somente o superusu�rio pode usar esta op��o!"
+#: locale/programs/ld-collate.c:788
+#, c-format
+msgid "%s: empty weight string not allowed"
+msgstr "%s: texto de peso vazio não permitida"
 
-#. TRANS An operation is already in progress on an object that has non-blocking
-#. TRANS mode selected.
-#: stdio-common/../sysdeps/gnu/errlist.c:306
-msgid "Operation already in progress"
-msgstr "Opera��o j� em progresso"
+#: locale/programs/ld-collate.c:883
+#, c-format
+msgid "%s: weights must use the same ellipsis symbol as the name"
+msgstr "%s: pesos devem usar o mesmo símbolo de elipse que o nome"
 
-#. TRANS Operation not permitted; only the owner of the file (or other resource)
-#. TRANS or processes with special privileges can perform the operation.
-#: stdio-common/../sysdeps/gnu/errlist.c:24
-msgid "Operation not permitted"
-msgstr "Opera��o n�o permitida"
+#: locale/programs/ld-collate.c:939
+#, c-format
+msgid "%s: too many values"
+msgstr "%s: número excessivo de valores"
 
-#. TRANS The operation you requested is not supported.  Some socket functions
-#. TRANS don't make sense for all types of sockets, and others may not be
-#. TRANS implemented for all communications protocols.  In the GNU system, this
-#. TRANS error can happen for many calls when the object does not support the
-#. TRANS particular operation; it is a generic indication that the server knows
-#. TRANS nothing to do for that call.
-#: stdio-common/../sysdeps/gnu/errlist.c:350
-msgid "Operation not supported"
-msgstr "Opera��o n�o suportada "
+#: locale/programs/ld-collate.c:1059 locale/programs/ld-collate.c:1234
+#, c-format
+msgid "order for `%.*s' already defined at %s:%Zu"
+msgstr "ordem para “%.*s” já definida em %s:%Zu"
 
-#. TRANS An operation that cannot complete immediately was initiated on an object
-#. TRANS that has non-blocking mode selected.  Some functions that must always
-#. TRANS block (such as @code{connect}; @pxref{Connecting}) never return
-#. TRANS @code{EAGAIN}.  Instead, they return @code{EINPROGRESS} to indicate that
-#. TRANS the operation has begun and will take some time.  Attempts to manipulate
-#. TRANS the object before the call completes return @code{EALREADY}.  You can
-#. TRANS use the @code{select} function to find out when the pending operation
-#. TRANS has completed; @pxref{Waiting for I/O}.
-#: stdio-common/../sysdeps/gnu/errlist.c:300
-msgid "Operation now in progress"
-msgstr "Opera��o agora em progresso"
+#: locale/programs/ld-collate.c:1109
+#, c-format
+msgid "%s: the start and the end symbol of a range must stand for characters"
+msgstr "%s: o símbolo de início e terminação de um intervalo deve representar caracteres"
 
-#. TRANS In the GNU C library, this is another name for @code{EAGAIN} (above).
-#. TRANS The values are always the same, on every operating system.
-#. TRANS
-#. TRANS C libraries in many older Unix systems have @code{EWOULDBLOCK} as a
-#. TRANS separate error code.
-#: stdio-common/../sysdeps/gnu/errlist.c:288
-msgid "Operation would block"
-msgstr "Operation causaria bloqueio"
+#: locale/programs/ld-collate.c:1136
+#, c-format
+msgid "%s: byte sequences of first and last character must have the same length"
+msgstr "%s: sequências de byte de primeiro e último caractere deve ter o mesmo comprimento"
 
-#: stdio-common/../sysdeps/gnu/errlist.c:646
-msgid "Out of streams resources"
-msgstr "Sem recursos de streams"
+#: locale/programs/ld-collate.c:1178
+#, c-format
+msgid "%s: byte sequence of first character of range is not lower than that of the last character"
+msgstr "%s: sequência de byte do primeiro caractere de intervalo não é menor que aquele do último caractere"
 
-#: iconv/iconv_prog.c:59 locale/programs/localedef.c:101
-msgid "Output control:"
-msgstr "Controle de Sa�da:"
+#: locale/programs/ld-collate.c:1303
+#, c-format
+msgid "%s: symbolic range ellipsis must not directly follow `order_start'"
+msgstr "%s: elipse de intervalo simbólico não pode seguir diretamente “order_start”"
 
-#: elf/sprof.c:76
-msgid "Output selection:"
-msgstr "Sele��o de Sa�da:"
+#: locale/programs/ld-collate.c:1307
+#, c-format
+msgid "%s: symbolic range ellipsis must not be directly followed by `order_end'"
+msgstr "%s: elipse de intervalo simbólico não pode estar seguido diretamente por “order_end”"
 
-#: nis/nis_print.c:316
+#: locale/programs/ld-collate.c:1327 locale/programs/ld-ctype.c:1363
 #, c-format
-msgid "Owner         : %s\n"
-msgstr "Dono          : %s\n"
+msgid "`%s' and `%.*s' are not valid names for symbolic range"
+msgstr "“%s” e “%.*s” não são nomes válidos para intervalo simbólico"
 
-#: nis/nis_print.c:126
-msgid "PRIVATE\n"
-msgstr "PRIVADO\n"
+#: locale/programs/ld-collate.c:1377 locale/programs/ld-collate.c:3708
+#, c-format
+msgid "%s: order for `%.*s' already defined at %s:%Zu"
+msgstr "%s: ordem para “%.*s” já definida em %s:%Zu"
 
-#: stdio-common/../sysdeps/gnu/errlist.c:738
-msgid "Package not installed"
-msgstr "Pacote n�o instalado"
+#: locale/programs/ld-collate.c:1386
+#, c-format
+msgid "%s: `%s' must be a character"
+msgstr "%s: “%s” deve ser um caractere"
 
-#: nscd/nscd_conf.c:84
+#: locale/programs/ld-collate.c:1580
 #, c-format
-msgid "Parse error: %s"
-msgstr "Erro de verifica��o (parser): %s"
+msgid "%s: `position' must be used for a specific level in all sections or none"
+msgstr "%s: “position” deve ser usado para um nível específico em todas as seções ou nenhuma"
 
-#: nis/nis_error.c:54
-msgid "Partial Success"
-msgstr "Sucesso Parcial"
+#: locale/programs/ld-collate.c:1604
+#, c-format
+msgid "symbol `%s' not defined"
+msgstr "símbolo “%s” não definido"
 
-#: nis/nis_error.c:62
-msgid "Passed object is not the same object on server"
-msgstr "Objeto passado n�o � o mesmo objeto no servidor"
+#: locale/programs/ld-collate.c:1680 locale/programs/ld-collate.c:1785
+#, c-format
+msgid "symbol `%s' has the same encoding as"
+msgstr "o símbolo “%s” possui a mesma codificação que"
 
-#. TRANS Permission denied; the file permissions do not allow the attempted operation.
-#: nis/nis_error.c:38 nis/ypclnt.c:793
-#: stdio-common/../sysdeps/gnu/errlist.c:108
-msgid "Permission denied"
-msgstr "Permiss�o negada"
+#: locale/programs/ld-collate.c:1684 locale/programs/ld-collate.c:1789
+#, c-format
+msgid "symbol `%s'"
+msgstr "símbolo “%s”"
 
-#: sysdeps/unix/sysv/linux/siglist.h:64
-msgid "Power failure"
-msgstr "Falha de energia"
+#: locale/programs/ld-collate.c:1852
+msgid "too many errors; giving up"
+msgstr "número excessivo de erros; desistindo"
 
-#: posix/regex.c:1026
-msgid "Premature end of regular expression"
-msgstr "Fim prematuro da express�o regular"
+#: locale/programs/ld-collate.c:2508 locale/programs/ld-collate.c:3896
+#, c-format
+msgid "%s: nested conditionals not supported"
+msgstr "%s: condicionais aninhados sem suporte"
 
-#: db2/makedb.c:63
-msgid "Print content of database file, one entry a line"
-msgstr "Mostra o conte�do da base de dados do arquivo, um entrada por linha"
+#: locale/programs/ld-collate.c:2526
+#, c-format
+msgid "%s: more than one 'else'"
+msgstr "%s: mais que um “else”"
 
-#: nscd/nscd.c:83
-msgid "Print current configuration statistic"
-msgstr "Mostra estat�stica da configura��o atual"
+#: locale/programs/ld-collate.c:2701
+#, c-format
+msgid "%s: duplicate definition of `%s'"
+msgstr "%s: definição duplicada de “%s”"
 
-#: locale/programs/localedef.c:107
-msgid "Print more messages"
-msgstr "Mostra mais mensagens"
+#: locale/programs/ld-collate.c:2737
+#, c-format
+msgid "%s: duplicate declaration of section `%s'"
+msgstr "%s: declaração duplicada da seção “%s”"
 
-#: argp/argp-parse.c:148
-msgid "Print program version"
-msgstr "Mostra vers�o do programa"
+#: locale/programs/ld-collate.c:2873
+#, c-format
+msgid "%s: unknown character in collating symbol name"
+msgstr "%s: caractere desconhecido no nome de símbolo de comparação"
 
-#: nis/nis_error.c:29
-msgid "Probable success"
-msgstr "Sucesso prov�vel"
+#: locale/programs/ld-collate.c:3002
+#, c-format
+msgid "%s: unknown character in equivalent definition name"
+msgstr "%s: caractere desconhecido no nome de definição equivalente"
 
-#: nis/nis_error.c:31
-msgid "Probably not found"
-msgstr "Provavelmente n�o encontrado"
+#: locale/programs/ld-collate.c:3013
+#, c-format
+msgid "%s: unknown character in equivalent definition value"
+msgstr "%s: caractere desconhecido no valor de definição equivalente"
 
-#: stdio-common/../sysdeps/unix/siglist.c:52
-#: sysdeps/unix/sysv/linux/siglist.h:46
-msgid "Profiling timer expired"
-msgstr "Tempo expirado para profiling"
+#: locale/programs/ld-collate.c:3023
+#, c-format
+msgid "%s: unknown symbol `%s' in equivalent definition"
+msgstr "%s: símbolo desconhecido “%s” na definição equivalente"
 
-#: stdio-common/../sysdeps/gnu/errlist.c:690
-msgid "Protocol driver not attached"
-msgstr "Driver de protocolo n�o anexado"
+#: locale/programs/ld-collate.c:3032
+msgid "error while adding equivalent collating symbol"
+msgstr "erro ao adicionar símbolo de colação equivalente"
 
-#: stdio-common/../sysdeps/gnu/errlist.c:658
-msgid "Protocol error"
-msgstr "Erro de protocolo"
+#: locale/programs/ld-collate.c:3070
+#, c-format
+msgid "duplicate definition of script `%s'"
+msgstr "definição duplicada de script “%s”"
 
-#. TRANS The socket communications protocol family you requested is not supported.
-#: stdio-common/../sysdeps/gnu/errlist.c:355
-msgid "Protocol family not supported"
-msgstr "Fam�lia de protocolo n�o suportada"
+#: locale/programs/ld-collate.c:3118
+#, c-format
+msgid "%s: unknown section name `%.*s'"
+msgstr "%s: nome de seção desconhecida “%.*s”"
 
-#. TRANS You specified a socket option that doesn't make sense for the
-#. TRANS particular protocol being used by the socket.  @xref{Socket Options}.
-#: stdio-common/../sysdeps/gnu/errlist.c:328
-msgid "Protocol not available"
-msgstr "Protocolo n�o dispon�vel"
+#: locale/programs/ld-collate.c:3147
+#, c-format
+msgid "%s: multiple order definitions for section `%s'"
+msgstr "%s: múltiplas definições de ordem para a seção “%s”"
 
-#. TRANS The socket domain does not support the requested communications protocol
-#. TRANS (perhaps because the requested protocol is completely invalid).
-#. TRANS @xref{Creating a Socket}.
-#: stdio-common/../sysdeps/gnu/errlist.c:335
-msgid "Protocol not supported"
-msgstr "Protocolo n�o suportado"
+#: locale/programs/ld-collate.c:3175
+#, c-format
+msgid "%s: invalid number of sorting rules"
+msgstr "%s: número inválido de regras de ordenação"
 
-#. TRANS The socket type does not support the requested communications protocol.
-#: stdio-common/../sysdeps/gnu/errlist.c:322
-msgid "Protocol wrong type for socket"
-msgstr "Tipo errado de protocolo para socket"
+#: locale/programs/ld-collate.c:3202
+#, c-format
+msgid "%s: multiple order definitions for unnamed section"
+msgstr "%s: múltiplas definições de ordem para seção sem nome"
 
-#: nis/nis_error.c:64
-msgid "Query illegal for named table"
-msgstr "Pergunta ilegal para tabela nominada"
+#: locale/programs/ld-collate.c:3257 locale/programs/ld-collate.c:3387
+#: locale/programs/ld-collate.c:3750
+#, c-format
+msgid "%s: missing `order_end' keyword"
+msgstr "%s: faltando palavra-chave “order_end”"
 
-#: stdio-common/../sysdeps/unix/siglist.c:28
-#: sysdeps/unix/sysv/linux/siglist.h:24
-msgid "Quit"
-msgstr "Sair"
+#: locale/programs/ld-collate.c:3320
+#, c-format
+msgid "%s: order for collating symbol %.*s not yet defined"
+msgstr "%s: ordem para símbolo de comparação %.*s ainda não definida"
 
-#: stdio-common/../sysdeps/gnu/errlist.c:754
-msgid "RFS specific error"
-msgstr "Erro espec�fico de RFS"
+#: locale/programs/ld-collate.c:3338
+#, c-format
+msgid "%s: order for collating element %.*s not yet defined"
+msgstr "%s: ordem para elemento de comparação %.*s ainda não definida"
 
-#. TRANS ???
-#: stdio-common/../sysdeps/gnu/errlist.c:539
-msgid "RPC bad procedure for program"
-msgstr "Procedimento RPC ruim para programa"
+#: locale/programs/ld-collate.c:3349
+#, c-format
+msgid "%s: cannot reorder after %.*s: symbol not known"
+msgstr "%s: não foi possível reordenar após %.*s: símbolo desconhecido"
 
-#: nis/ypclnt.c:767
-msgid "RPC failure on NIS operation"
-msgstr "Falha RPC na opera��o NIS"
+#: locale/programs/ld-collate.c:3401 locale/programs/ld-collate.c:3762
+#, c-format
+msgid "%s: missing `reorder-end' keyword"
+msgstr "%s: faltando palavra-chave “reorder-end”"
 
-#. TRANS ???
-#: stdio-common/../sysdeps/gnu/errlist.c:529
-msgid "RPC program not available"
-msgstr "Programa RPC n�o dispon�vel"
+#: locale/programs/ld-collate.c:3435 locale/programs/ld-collate.c:3633
+#, c-format
+msgid "%s: section `%.*s' not known"
+msgstr "%s: seção “%.*s” desconhecida"
 
-#. TRANS ???
-#: stdio-common/../sysdeps/gnu/errlist.c:534
-msgid "RPC program version wrong"
-msgstr "Vers�o incorreta de programa RPC"
+#: locale/programs/ld-collate.c:3500
+#, c-format
+msgid "%s: bad symbol <%.*s>"
+msgstr "%s: símbolo inválido <%.*s>"
 
-#. TRANS ???
-#: stdio-common/../sysdeps/gnu/errlist.c:519
-msgid "RPC struct is bad"
-msgstr "Estrutura RPC inv�lida"
+#: locale/programs/ld-collate.c:3696
+#, c-format
+msgid "%s: cannot have `%s' as end of ellipsis range"
+msgstr "%s: não pode ter “%s” como terminação de intervalo de elipse"
 
-#. TRANS ???
-#: stdio-common/../sysdeps/gnu/errlist.c:524
-msgid "RPC version wrong"
-msgstr "Vers�o RPC incorreta"
+#: locale/programs/ld-collate.c:3746
+#, c-format
+msgid "%s: empty category description not allowed"
+msgstr "%s: descrição vazia para categoria não permitida"
 
-#: sunrpc/clnt_perr.c:215
-msgid "RPC: (unknown error code)"
-msgstr "RPC: (c�digo de erro desconhecido)"
+#: locale/programs/ld-collate.c:3765
+#, c-format
+msgid "%s: missing `reorder-sections-end' keyword"
+msgstr "%s: faltando palavra-chave “reorder-sections-end”"
 
-#: sunrpc/clnt_perr.c:176
-msgid "RPC: Authentication error"
-msgstr "RPC: Erro de autentica��o"
+#: locale/programs/ld-collate.c:3929
+#, c-format
+msgid "%s: '%s' without matching 'ifdef' or 'ifndef'"
+msgstr "%s: “%s” sem “ifdef” ou “ifndef” correspondente"
 
-#: sunrpc/clnt_perr.c:166
-msgid "RPC: Can't decode result"
-msgstr "RPC: Imposs�vel decodificar resultado"
+#: locale/programs/ld-collate.c:3947
+#, c-format
+msgid "%s: 'endif' without matching 'ifdef' or 'ifndef'"
+msgstr "%s: “endif” sem “ifdef” ou “ifndef” correspondente"
 
-#: sunrpc/clnt_perr.c:164
-msgid "RPC: Can't encode arguments"
-msgstr "RPC: imposs�vel codificar argumentos"
+#: locale/programs/ld-ctype.c:448
+msgid "No character set name specified in charmap"
+msgstr "Nenhum nome de conjunto de caracteres especificado no mapa de caracteres"
 
-#: sunrpc/clnt_perr.c:196
-msgid "RPC: Failed (unspecified error)"
-msgstr "RPC: Falhou (erro n�o especificado)"
+#: locale/programs/ld-ctype.c:476
+#, c-format
+msgid "character L'\\u%0*x' in class `%s' must be in class `%s'"
+msgstr "caractere L“\\u%0*x” na classe “%s” deve estar na classe “%s”"
 
-#: sunrpc/clnt_perr.c:174
-msgid "RPC: Incompatible versions of RPC"
-msgstr "RPC: Vers�es incompat�veis de RPC"
+#: locale/programs/ld-ctype.c:490
+#, c-format
+msgid "character L'\\u%0*x' in class `%s' must not be in class `%s'"
+msgstr "caractere L“\\u%0*x” na classe “%s” não pode estar na classe “%s”"
 
-#: sunrpc/clnt_perr.c:192
-msgid "RPC: Port mapper failure"
-msgstr "RPC: Falha no Port mapper"
+#: locale/programs/ld-ctype.c:504 locale/programs/ld-ctype.c:560
+#, c-format
+msgid "internal error in %s, line %u"
+msgstr "erro interno em %s, linha %u"
 
-#: sunrpc/clnt_perr.c:182
-msgid "RPC: Procedure unavailable"
-msgstr "RPC: Procedimento indispon�vel"
+#: locale/programs/ld-ctype.c:532
+#, c-format
+msgid "character '%s' in class `%s' must be in class `%s'"
+msgstr "caractere “%s” na classe “%s” deve estar na classe “%s”"
 
-#: sunrpc/clnt_perr.c:194
-msgid "RPC: Program not registered"
-msgstr "RPC: Programa n�o registrado"
+#: locale/programs/ld-ctype.c:547
+#, c-format
+msgid "character '%s' in class `%s' must not be in class `%s'"
+msgstr "caractere “%s” na classe “%s” não pode estar na classe “%s”"
 
-#: sunrpc/clnt_perr.c:178
-msgid "RPC: Program unavailable"
-msgstr "RPC: Programa indispon�vel"
+#: locale/programs/ld-ctype.c:576 locale/programs/ld-ctype.c:611
+#, c-format
+msgid "<SP> character not in class `%s'"
+msgstr "<SP> caractere não está na classe “%s”"
 
-#: sunrpc/clnt_perr.c:180
-msgid "RPC: Program/version mismatch"
-msgstr "RPC: Programa/vers�o incompat�veis"
-
-#: sunrpc/clnt_perr.c:186
-msgid "RPC: Remote system error"
-msgstr "RPC: Erro remoto de sistema"
-
-#: sunrpc/clnt_perr.c:184
-msgid "RPC: Server can't decode arguments"
-msgstr "RPC: O servidor n�o pode decodificar os argumentos"
-
-#: sunrpc/clnt_perr.c:162
-msgid "RPC: Success"
-msgstr "RPC: Sucesso"
+#: locale/programs/ld-ctype.c:587 locale/programs/ld-ctype.c:621
+#, c-format
+msgid "<SP> character must not be in class `%s'"
+msgstr "<SP> caractere não pode estar na classe “%s”"
 
-#: sunrpc/clnt_perr.c:172
-msgid "RPC: Timed out"
-msgstr "RPC: Tempo esgotado"
+#: locale/programs/ld-ctype.c:601
+msgid "character <SP> not defined in character map"
+msgstr "caractere <SP> não definido no mapa de caracteres"
 
-#: sunrpc/clnt_perr.c:170
-msgid "RPC: Unable to receive"
-msgstr "RPC: Imposs�vel receber"
+#: locale/programs/ld-ctype.c:735
+msgid "`digit' category has not entries in groups of ten"
+msgstr "categoria “digit” não possui entradas em grupos de dez"
 
-#: sunrpc/clnt_perr.c:168
-msgid "RPC: Unable to send"
-msgstr "RPC: Imposs�vel enviar"
+#: locale/programs/ld-ctype.c:784
+msgid "no input digits defined and none of the standard names in the charmap"
+msgstr "nenhum dígito de entrada definido e nenhum dos nomes padrões no mapa de caracteres"
 
-#: sunrpc/clnt_perr.c:188
-msgid "RPC: Unknown host"
-msgstr "RPC: Host desconhecido"
+#: locale/programs/ld-ctype.c:849
+msgid "not all characters used in `outdigit' are available in the charmap"
+msgstr "nem todos os caracteres usados em “outdigit” estão disponíveis no mapa de caracteres"
 
-#: sunrpc/clnt_perr.c:190
-msgid "RPC: Unknown protocol"
-msgstr "RPC: Protocolo desconhecido"
+#: locale/programs/ld-ctype.c:866
+msgid "not all characters used in `outdigit' are available in the repertoire"
+msgstr "nem todos os caracteres usados em “outdigit” estão disponíveis no repertório"
 
-#: nis/nis_print.c:184
+#: locale/programs/ld-ctype.c:1131
 #, c-format
-msgid "RSA (%d bits)\n"
-msgstr "RSA (%d bits)\n"
+msgid "character class `%s' already defined"
+msgstr "classe de caractere “%s” já definida"
 
-#: elf/dlsym.c:59 elf/dlvsym.c:62
-msgid "RTLD_NEXT used in code not dynamically loaded"
-msgstr "RTLD_NEXT usado em c�digo n�o dinamicamente carregado"
+#: locale/programs/ld-ctype.c:1137
+#, c-format
+msgid "implementation limit: no more than %Zd character classes allowed"
+msgstr "limite de implementação: não são permitidos mais que %Zd classes de caracteres"
 
-#: elf/sprof.c:88
-msgid "Read and display shared object profiling data"
-msgstr "L� e mostra perfil de dados do objeto compartilhado"
+#: locale/programs/ld-ctype.c:1163
+#, c-format
+msgid "character map `%s' already defined"
+msgstr "mapa de caracteres “%s” já definido"
 
-#: nscd/nscd.c:78
-msgid "Read configuration data from NAME"
-msgstr "L� configura��o de dados de NOME"
+#: locale/programs/ld-ctype.c:1169
+#, c-format
+msgid "implementation limit: no more than %d character maps allowed"
+msgstr "limite de implementação: não são permitidos mais que %d mapas de caracteres"
 
-#. TRANS An attempt was made to modify something on a read-only file system.
-#: stdio-common/../sysdeps/gnu/errlist.c:218
-msgid "Read-only file system"
-msgstr "Sistema de arquivos somente para leitura"
+#: locale/programs/ld-ctype.c:1434 locale/programs/ld-ctype.c:1559
+#: locale/programs/ld-ctype.c:1665 locale/programs/ld-ctype.c:2341
+#: locale/programs/ld-ctype.c:3299
+#, c-format
+msgid "%s: field `%s' does not contain exactly ten entries"
+msgstr "%s: campo “%s” não contém exatamente dez entradas"
 
-#: string/strsignal.c:66
+#: locale/programs/ld-ctype.c:1462 locale/programs/ld-ctype.c:2036
 #, c-format
-msgid "Real-time signal %d"
-msgstr "Sinal de tempo-real %d"
+msgid "to-value <U%0*X> of range is smaller than from-value <U%0*X>"
+msgstr "valor-para <U%0*X> de intervalo é menor que o valor-de <U%0*X>"
 
-#: posix/regex.c:1027
-msgid "Regular expression too big"
-msgstr "Express�o regular muito longa"
+#: locale/programs/ld-ctype.c:1589
+msgid "start and end character sequence of range must have the same length"
+msgstr "sequência de caracteres de início e término de intervalo devem ter o mesmo comprimento"
 
-#: stdio-common/../sysdeps/gnu/errlist.c:810
-msgid "Remote I/O error"
-msgstr "Erro de E/S remota"
+#: locale/programs/ld-ctype.c:1596
+msgid "to-value character sequence is smaller than from-value sequence"
+msgstr "sequência de caracteres do valor-para é menor que a sequência de valor-de"
 
-#: stdio-common/../sysdeps/gnu/errlist.c:766
-msgid "Remote address changed"
-msgstr "Endere�o remoto alterado"
+#: locale/programs/ld-ctype.c:1956 locale/programs/ld-ctype.c:2007
+msgid "premature end of `translit_ignore' definition"
+msgstr "fim prematuro da definição “translit_ignore”"
 
-#: inet/ruserpass.c:162
-msgid "Remove password or make file unreadable by others."
-msgstr "Remova senha ou torne arquivo n�o-leg�vel por outros."
+#: locale/programs/ld-ctype.c:1962 locale/programs/ld-ctype.c:2013
+#: locale/programs/ld-ctype.c:2055
+msgid "syntax error"
+msgstr "erro de sintaxe"
 
-#: elf/sprof.c:537
+#: locale/programs/ld-ctype.c:2188
 #, c-format
-msgid "Reopening shared object `%s' failed"
-msgstr "Reabertura de objeto compartilhado `%s' falhou"
-
-#: nis/nis_print.c:170
-msgid "Replicate :\n"
-msgstr "Duplicado :\n"
+msgid "%s: syntax error in definition of new character class"
+msgstr "%s: erro de sintaxe na definição da nova classe de caracteres"
 
-#: argp/argp-help.c:1638
+#: locale/programs/ld-ctype.c:2203
 #, c-format
-msgid "Report bugs to %s.\n"
-msgstr "Reporte erros (bugs) para %s.\n"
+msgid "%s: syntax error in definition of new character map"
+msgstr "%s: erro de sintaxe na definição do novo mapa de caracteres"
 
-#: catgets/gencat.c:223 db2/makedb.c:229 iconv/iconv_prog.c:280
-#: locale/programs/locale.c:254 locale/programs/localedef.c:389
-msgid "Report bugs using the `glibcbug' script to <bugs@gnu.org>.\n"
-msgstr "Reportar erros usando o script `glibcbug' para <bugs@gnu.org>.\n"
+#: locale/programs/ld-ctype.c:2363
+msgid "ellipsis range must be marked by two operands of same type"
+msgstr "intervalo de elipse deve estar marcado per dois operandos do mesmo tipo"
 
-#: nis/ypclnt.c:765
-msgid "Request arguments bad"
-msgstr "Argumentos de requisi��o inv�lidos"
+#: locale/programs/ld-ctype.c:2372
+msgid "with symbolic name range values the absolute ellipsis `...' must not be used"
+msgstr "com valores de intervalo com nome simbólico, a elipse absoluta “...” não pode ser usada"
 
-#: resolv/herror.c:73
-msgid "Resolver Error 0 (no error)"
-msgstr "Erro de resolvedor 0 (n�o h� erro)"
+#: locale/programs/ld-ctype.c:2387
+msgid "with UCS range values one must use the hexadecimal symbolic ellipsis `..'"
+msgstr "com valores de intervalo de UCS, deve-se usar a elipse hexadecimal simbólica “..”"
 
-#: resolv/herror.c:117
-msgid "Resolver internal error"
-msgstr "Erro interno do resolvedor"
+#: locale/programs/ld-ctype.c:2401
+msgid "with character code range values one must use the absolute ellipsis `...'"
+msgstr "com valores de intervalo de código de caracteres, deve-se usar a elipse absoluta “…”"
 
-#. TRANS Deadlock avoided; allocating a system resource would have resulted in a
-#. TRANS deadlock situation.  The system does not guarantee that it will notice
-#. TRANS all such situations.  This error means you got lucky and the system
-#. TRANS noticed; it might just hang.  @xref{File Locks}, for an example.
-#: stdio-common/../sysdeps/gnu/errlist.c:97
-msgid "Resource deadlock avoided"
-msgstr "Evitado deadlock de recurso"
+#: locale/programs/ld-ctype.c:2552
+#, c-format
+msgid "duplicated definition for mapping `%s'"
+msgstr "definição duplicada para o mapeamento “%s”"
 
-#: stdio-common/../sysdeps/unix/siglist.c:54
-msgid "Resource lost"
-msgstr "Recurso perdido"
+#: locale/programs/ld-ctype.c:2638 locale/programs/ld-ctype.c:2782
+#, c-format
+msgid "%s: `translit_start' section does not end with `translit_end'"
+msgstr "%s: a seção “translit_start” não termina com “translit_end”"
 
-#. TRANS Resource temporarily unavailable; the call might work if you try again
-#. TRANS later.  The macro @code{EWOULDBLOCK} is another name for @code{EAGAIN};
-#. TRANS they are always the same in the GNU C library.
-#. TRANS
-#. TRANS This error can happen in a few different situations:
-#. TRANS
-#. TRANS @itemize @bullet
-#. TRANS @item
-#. TRANS An operation that would block was attempted on an object that has
-#. TRANS non-blocking mode selected.  Trying the same operation again will block
-#. TRANS until some external condition makes it possible to read, write, or
-#. TRANS connect (whatever the operation).  You can use @code{select} to find out
-#. TRANS when the operation will be possible; @pxref{Waiting for I/O}.
-#. TRANS
-#. TRANS @strong{Portability Note:} In many older Unix systems, this condition
-#. TRANS was indicated by @code{EWOULDBLOCK}, which was a distinct error code
-#. TRANS different from @code{EAGAIN}.  To make your program portable, you should
-#. TRANS check for both codes and treat them the same.
-#. TRANS
-#. TRANS @item
-#. TRANS A temporary resource shortage made an operation impossible.  @code{fork}
-#. TRANS can return this error.  It indicates that the shortage is expected to
-#. TRANS pass, so your program can try the call again later and it may succeed.
-#. TRANS It is probably a good idea to delay for a few seconds before trying it
-#. TRANS again, to allow time for other processes to release scarce resources.
-#. TRANS Such shortages are usually fairly serious and affect the whole system,
-#. TRANS so usually an interactive program should report the error to the user
-#. TRANS and return to its command loop.
-#. TRANS @end itemize
-#: stdio-common/../sysdeps/gnu/errlist.c:279
-msgid "Resource temporarily unavailable"
-msgstr "Recurso temporariamente indispon�vel"
+#: locale/programs/ld-ctype.c:2733
+#, c-format
+msgid "%s: duplicate `default_missing' definition"
+msgstr "%s: definição duplicada de “default_missing”"
 
-#: nis/nis_error.c:47
-msgid "Results Sent to callback proc"
-msgstr "Resultados enviados para processo chamador"
+#: locale/programs/ld-ctype.c:2738
+msgid "previous definition was here"
+msgstr "definição anterior estava aqui"
 
-#: elf/sprof.c:91
-msgid "SHOBJ [PROFDATA]"
-msgstr "SHOBJ [PROFDATA]"
+#: locale/programs/ld-ctype.c:2760
+#, c-format
+msgid "%s: no representable `default_missing' definition found"
+msgstr "%s: nenhuma definição representável de “default_missing” localizada"
 
-#: nis/nis_print.c:33
-msgid "SUNYP"
-msgstr "SUNYP"
+#: locale/programs/ld-ctype.c:2877 locale/programs/ld-ctype.c:2973
+#: locale/programs/ld-ctype.c:2992 locale/programs/ld-ctype.c:3012
+#: locale/programs/ld-ctype.c:3032 locale/programs/ld-ctype.c:3052
+#: locale/programs/ld-ctype.c:3072 locale/programs/ld-ctype.c:3111
+#: locale/programs/ld-ctype.c:3131 locale/programs/ld-ctype.c:3195
+#: locale/programs/ld-ctype.c:3236 locale/programs/ld-ctype.c:3259
+#, c-format
+msgid "%s: character `%s' not defined while needed as default value"
+msgstr "%s: caractere “%s” não definido enquanto necessário como valor padrão"
 
-#: nis/nis_print.c:265
+#: locale/programs/ld-ctype.c:2882 locale/programs/ld-ctype.c:2978
+#: locale/programs/ld-ctype.c:2997 locale/programs/ld-ctype.c:3017
+#: locale/programs/ld-ctype.c:3037 locale/programs/ld-ctype.c:3057
+#: locale/programs/ld-ctype.c:3077 locale/programs/ld-ctype.c:3116
+#: locale/programs/ld-ctype.c:3136 locale/programs/ld-ctype.c:3200
 #, c-format
-msgid "Search Path         : %s\n"
-msgstr "Rota de Busca       :%s\n"
+msgid "%s: character `%s' in charmap not representable with one byte"
+msgstr "%s: caractere “%s” no mapa de caracteres não representável com um byte"
 
-#: stdio-common/../sysdeps/unix/siglist.c:36
-#: sysdeps/unix/sysv/linux/siglist.h:31
-msgid "Segmentation fault"
-msgstr "Falha de segmenta��o"
+#: locale/programs/ld-ctype.c:3242 locale/programs/ld-ctype.c:3265
+#, c-format
+msgid "%s: character `%s' needed as default value not representable with one byte"
+msgstr "%s: caractere “%s” necessário como valor padrão não representável com um byte"
 
-#: nis/nis_error.c:35
-msgid "Server busy, try again"
-msgstr "Servidor ocupado, tente novamente"
+#: locale/programs/ld-ctype.c:3321
+msgid "no output digits defined and none of the standard names in the charmap"
+msgstr "nenhum dígito de saída definido e nenhum dos nomes padrões no mapa de caracteres"
 
-#: nis/nis_error.c:41
-msgid "Server out of memory"
-msgstr "Mem�ria do servidor exaurida"
+#: locale/programs/ld-ctype.c:3570
+#, c-format
+msgid "%s: transliteration data from locale `%s' not available"
+msgstr "%s: dados de transliteração da localidade “%s” não disponíveis"
 
-#: sunrpc/clnt_perr.c:277
-msgid "Server rejected credential"
-msgstr "Servidor rejeitou credencial"
+#: locale/programs/ld-ctype.c:3669
+#, c-format
+msgid "%s: table for class \"%s\": %lu bytes"
+msgstr "%s: tabela para a classe “%s”: %lu bytes"
 
-#: sunrpc/clnt_perr.c:281
-msgid "Server rejected verifier"
-msgstr "Servidor rejeitou verificador"
+#: locale/programs/ld-ctype.c:3733
+#, c-format
+msgid "%s: table for map \"%s\": %lu bytes"
+msgstr "%s: tabela para o mapa “%s”: %lu bytes"
 
-#: posix/../sysdeps/posix/gai_strerror.c:38
-msgid "Servname not supported for ai_socktype"
-msgstr "`Servname' n�o suportado para `ai_socktype'"
+#: locale/programs/ld-ctype.c:3857
+#, c-format
+msgid "%s: table for width: %lu bytes"
+msgstr "%s: tabela para largura: %lu bytes"
 
-#: argp/argp-parse.c:89
-msgid "Set the program name"
-msgstr "Configura o nome do programa"
+#: locale/programs/ld-identification.c:173
+#, c-format
+msgid "%s: no identification for category `%s'"
+msgstr "%s: nenhuma identificação para a categoria “%s”"
 
-#: nscd/nscd.c:82
-msgid "Shut the server down"
-msgstr "Encerra o servidor"
+#: locale/programs/ld-identification.c:197
+#, c-format
+msgid "%s: unknown standard `%s' for category `%s'"
+msgstr "%s: padrão desconhecido “%s” para a categoria “%s”"
 
-#: stdio-common/../sysdeps/unix/siglist.c:25
-msgid "Signal 0"
-msgstr "Sinal 0"
+#: locale/programs/ld-identification.c:380
+#, c-format
+msgid "%s: duplicate category version definition"
+msgstr "%s: definição duplicada da versão da categoria"
 
-#. TRANS A file that isn't a socket was specified when a socket is required.
-#: stdio-common/../sysdeps/gnu/errlist.c:311
-msgid "Socket operation on non-socket"
-msgstr "Opera��o socket em um arquivo n�o-socket"
+#: locale/programs/ld-measurement.c:111
+#, c-format
+msgid "%s: invalid value for field `%s'"
+msgstr "%s: valor inválido para o campo “%s”"
 
-#. TRANS The socket type is not supported.
-#: stdio-common/../sysdeps/gnu/errlist.c:340
-msgid "Socket type not supported"
-msgstr "Tipo socket n�o suportado"
+#: locale/programs/ld-messages.c:113 locale/programs/ld-messages.c:146
+#, c-format
+msgid "%s: field `%s' undefined"
+msgstr "%s: campo “%s” indefinido"
 
-#. TRANS A network connection was aborted locally.
-#: stdio-common/../sysdeps/gnu/errlist.c:394
-msgid "Software caused connection abort"
-msgstr "T�rmino de conex�o causada por software"
+#: locale/programs/ld-messages.c:119 locale/programs/ld-messages.c:152
+#: locale/programs/ld-monetary.c:264 locale/programs/ld-numeric.c:117
+#, c-format
+msgid "%s: value for field `%s' must not be an empty string"
+msgstr "%s: valor para campo “%s” não pode estar vazio"
 
-#: sunrpc/rpcinfo.c:658
-msgid "Sorry. You are not root\n"
-msgstr "Lamento. Voc� n�o � o superusu�rio\n"
+#: locale/programs/ld-messages.c:135 locale/programs/ld-messages.c:168
+#, c-format
+msgid "%s: no correct regular expression for field `%s': %s"
+msgstr "%s: nenhuma expressão regular correta para o campo “%s”: %s"
 
-#: locale/programs/localedef.c:97
-msgid "Source definitions are found in FILE"
-msgstr "Defini��es fonte s�o encontrada no ARQUIVO"
+#: locale/programs/ld-monetary.c:228
+#, c-format
+msgid "%s: value of field `int_curr_symbol' has wrong length"
+msgstr "%s: valor do campo “int_curr_symbol” possui comprimento incorreto"
 
-#: stdio-common/../sysdeps/gnu/errlist.c:746
-msgid "Srmount error"
-msgstr "Erro de Srmount"
+#: locale/programs/ld-monetary.c:245
+#, c-format
+msgid "%s: value of field `int_curr_symbol' does not correspond to a valid name in ISO 4217 [--no-warnings=intcurrsym]"
+msgstr "%s: valor do campo “int_curr_symbol” não corresponde a um nome válido na ISO 4217 [--no-warnings=intcurrsym]"
 
-#: sysdeps/unix/sysv/linux/siglist.h:59
-msgid "Stack fault"
-msgstr "Falha de pilha"
+#: locale/programs/ld-monetary.c:293 locale/programs/ld-monetary.c:322
+#, c-format
+msgid "%s: value for field `%s' must be in range %d...%d"
+msgstr "%s: valor para o campo “%s” deve estar no intervalo %d…%d"
 
-#. TRANS Stale NFS file handle.  This indicates an internal confusion in the NFS
-#. TRANS system which is due to file system rearrangements on the server host.
-#. TRANS Repairing this condition usually requires unmounting and remounting
-#. TRANS the NFS file system on the local host.
-#: stdio-common/../sysdeps/gnu/errlist.c:506
-msgid "Stale NFS file handle"
-msgstr "Manipulador de arquivo NFS corrompido"
+#: locale/programs/ld-monetary.c:549 locale/programs/ld-numeric.c:228
+#, c-format
+msgid "%s: value for field `%s' must be a single character"
+msgstr "%s: valor para o campo “%s” deve estar em um único caractere"
 
-#: nscd/nscd.c:81
-msgid "Start NUMBER threads"
-msgstr "Iniciar N�MERO de linhas (threads)"
+#: locale/programs/ld-monetary.c:646 locale/programs/ld-numeric.c:272
+#, c-format
+msgid "%s: `-1' must be last entry in `%s' field"
+msgstr "%s: “-1” deve ser o último registro no campo “%s”"
 
-#: nis/nis_print.c:357
+#: locale/programs/ld-monetary.c:668 locale/programs/ld-numeric.c:289
 #, c-format
-msgid "Status            : %s\n"
-msgstr "Posi��o           : %s\n"
+msgid "%s: values for field `%s' must be smaller than 127"
+msgstr "%s: valor para o campo “%s” deve ser menor que 127"
 
-#: stdio-common/../sysdeps/unix/siglist.c:43
-#: sysdeps/unix/sysv/linux/siglist.h:37
-msgid "Stopped"
-msgstr "Parado"
+#: locale/programs/ld-monetary.c:714
+msgid "conversion rate value cannot be zero"
+msgstr "valor da taxa de conversão não pode ser zero"
 
-#: stdio-common/../sysdeps/unix/siglist.c:42
-#: sysdeps/unix/sysv/linux/siglist.h:36
-msgid "Stopped (signal)"
-msgstr "Parado (sinal)"
+#: locale/programs/ld-name.c:128 locale/programs/ld-telephone.c:124
+#: locale/programs/ld-telephone.c:147
+#, c-format
+msgid "%s: invalid escape sequence in field `%s'"
+msgstr "%s: sequência de escape inválida no campo “%s”"
 
-#: stdio-common/../sysdeps/unix/siglist.c:46
-#: sysdeps/unix/sysv/linux/siglist.h:40
-msgid "Stopped (tty input)"
-msgstr "Parado (entrada tty)"
+#: locale/programs/ld-time.c:245
+#, c-format
+msgid "%s: direction flag in string %Zd in `era' field is not '+' nor '-'"
+msgstr "%s: sinalizador de direção na string %Zd no campo “era” não é “+” nem “-”"
 
-#: stdio-common/../sysdeps/unix/siglist.c:47
-#: sysdeps/unix/sysv/linux/siglist.h:41
-msgid "Stopped (tty output)"
-msgstr "Parado (sa�da tty)"
+#: locale/programs/ld-time.c:255
+#, c-format
+msgid "%s: direction flag in string %Zd in `era' field is not a single character"
+msgstr "%s: sinalizador de direção na string %Zd no campo “era” não é um único caractere"
 
-#: stdio-common/../sysdeps/gnu/errlist.c:790
-msgid "Streams pipe error"
-msgstr "Erro de pipe streams"
+#: locale/programs/ld-time.c:267
+#, c-format
+msgid "%s: invalid number for offset in string %Zd in `era' field"
+msgstr "%s: número inválido para deslocamento na string %Zd no campo “era”"
 
-#: stdio-common/../sysdeps/gnu/errlist.c:794
-msgid "Structure needs cleaning"
-msgstr "A estrutura necessita de limpeza"
+#: locale/programs/ld-time.c:274
+#, c-format
+msgid "%s: garbage at end of offset value in string %Zd in `era' field"
+msgstr "%s: lixo no final do valor do deslocamento na string %Zd no campo “era”"
 
-#: nis/nis_error.c:28 nis/ypclnt.c:763 nis/ypclnt.c:837 posix/regex.c:1012
-#: stdio-common/../sysdeps/gnu/errlist.c:19
-msgid "Success"
-msgstr "Sucesso"
+#: locale/programs/ld-time.c:324
+#, c-format
+msgid "%s: invalid starting date in string %Zd in `era' field"
+msgstr "%s: data de início inválida na string %Zd no campo “era”"
 
-#: locale/programs/localedef.c:106
-msgid "Suppress warnings and information messages"
-msgstr "Suprime avisos e mensagens de informa��o"
+#: locale/programs/ld-time.c:332
+#, c-format
+msgid "%s: garbage at end of starting date in string %Zd in `era' field "
+msgstr "%s: lixo no final da data início na string %Zd no campo “era” "
 
-#: locale/programs/localedef.c:96
-msgid "Symbolic character names defined in FILE"
-msgstr "Nomes de caracteres simb�licos definido en ARQUIVO"
+#: locale/programs/ld-time.c:350
+#, c-format
+msgid "%s: starting date is invalid in string %Zd in `era' field"
+msgstr "%s: data de início inválida na string %Zd no campo “era”"
 
-#: posix/../sysdeps/posix/gai_strerror.c:40
-msgid "System error"
-msgstr "Erro de sistema"
+#: locale/programs/ld-time.c:398 locale/programs/ld-time.c:424
+#, c-format
+msgid "%s: invalid stopping date in string %Zd in `era' field"
+msgstr "%s: data de parada inválida na string %Zd no campo “era”"
 
-#: locale/programs/locale.c:63
-msgid "System information:"
-msgstr "Informa��o do Sistema:"
+#: locale/programs/ld-time.c:406
+#, c-format
+msgid "%s: garbage at end of stopping date in string %Zd in `era' field"
+msgstr "%s: lixo no final da data de parada na string %Zd no campo “era”"
 
-#: nis/ypclnt.c:843
-msgid "System resource allocation failure"
-msgstr "Falha de aloca��o de recursos do sistema"
+#: locale/programs/ld-time.c:432
+#, c-format
+msgid "%s: missing era name in string %Zd in `era' field"
+msgstr "%s: faltando o nome da era na string %Zd no campo “era”"
 
-#: locale/programs/localedef.c:384
+#: locale/programs/ld-time.c:443
 #, c-format
-msgid ""
-"System's directory for character maps : %s\n"
-"                       repertoire maps: %s\n"
-"                       locale path    : %s\n"
-"%s"
-msgstr ""
-"Diret�rio do sistema para mapas de caracteres: %s\n"
-"                          mapas de repert�rio: %s\n"
-"                          rota de localiza��o: %s\n"
-"%s"
+msgid "%s: missing era format in string %Zd in `era' field"
+msgstr "%s: faltando o formato era na string %Zd no campo “era”"
 
-#: nis/nis_print.c:117
-msgid "TABLE\n"
-msgstr "TABELA\n"
+#: locale/programs/ld-time.c:488
+#, c-format
+msgid "%s: third operand for value of field `%s' must not be larger than %d"
+msgstr "%s: terceiro operando para o valor de campo “%s” não pode ser maior que %d"
 
-#: nis/nis_print.c:262
+#: locale/programs/ld-time.c:496 locale/programs/ld-time.c:504
+#: locale/programs/ld-time.c:512
 #, c-format
-msgid "Table Type          : %s\n"
-msgstr "Tipo de Tabela      : %s\n"
+msgid "%s: values for field `%s' must not be larger than %d"
+msgstr "%s: valor para o campo “%s” não pode ser maior que %d"
 
-#: posix/../sysdeps/posix/gai_strerror.c:31
-msgid "Temporary failure in name resolution"
-msgstr "Falha tempor�rio na resolu��o de nome"
+#: locale/programs/ld-time.c:717
+#, c-format
+msgid "%s: too few values for field `%s'"
+msgstr "%s: número insuficiente de valores para o campo “%s”"
 
-#: stdio-common/../sysdeps/unix/siglist.c:40
-#: sysdeps/unix/sysv/linux/siglist.h:34
-msgid "Terminated"
-msgstr "Terminado"
+#: locale/programs/ld-time.c:762
+msgid "extra trailing semicolon"
+msgstr "ponto e vírgula extra no final"
 
-#. TRANS An attempt to execute a file that is currently open for writing, or
-#. TRANS write to a file that is currently being executed.  Often using a
-#. TRANS debugger to run a program is considered having it open for writing and
-#. TRANS will cause this error.  (The name stands for ``text file busy''.)  This
-#. TRANS is not an error in the GNU system; the text is copied as necessary.
-#: stdio-common/../sysdeps/gnu/errlist.c:197
-msgid "Text file busy"
-msgstr "�rea de texto ocupada"
+#: locale/programs/ld-time.c:765
+#, c-format
+msgid "%s: too many values for field `%s'"
+msgstr "%s: número excessivo de valores para o campo “%s” de valores"
 
-#: iconv/iconv_prog.c:536
-msgid ""
-"The following list contain all the coded character sets known.  This does\n"
-"not necessarily mean that all combinations of these names can be used for\n"
-"the FROM and TO command line parameters.  One coded character set can be\n"
-"listed with several different names (aliases).\n"
-"  Some of the names are no plain strings but instead regular expressions and\n"
-"they match a variety of names which can be given as parameters to the\n"
-"program.\n"
-"\n"
-"  "
-msgstr ""
-"A lista seguinte cont�m todos os conjuntos de codifica��o de caracteres \n"
-"conhecidos.  Isto n�o quer dizer necess�riamente que todas as combina��es\n"
-"destes nomes podem ser utilizadas nos par�metros FROM e TO.  Um conjunto\n"
-"de caracteres pode ser listado com v�rios nomes diferentes (apelidos).\n"
-"  Alguns destes nomes n�o strings simples mas sim, express�es regulares, e\n"
-"eles combinam com uma variedade de nomes que podem ser dados como par�metrosao programa.\n"
-"\n"
-"  "
+#: locale/programs/linereader.c:130
+msgid "trailing garbage at end of line"
+msgstr "lixo no final da linha"
 
-#: nis/nis_print.c:223
-msgid "Time to live : "
-msgstr "Tempo de vida : "
+#: locale/programs/linereader.c:298
+msgid "garbage at end of number"
+msgstr "lixo no final do número"
 
-#: stdio-common/../sysdeps/gnu/errlist.c:662
-msgid "Timer expired"
-msgstr "Tempo expirado"
+#: locale/programs/linereader.c:410
+msgid "garbage at end of character code specification"
+msgstr "lixo no final da especificação do código de caractere"
 
-#: nis/nis_error.c:55
-msgid "Too Many Attributes"
-msgstr "Muitos atributos"
+#: locale/programs/linereader.c:496
+msgid "unterminated symbolic name"
+msgstr "nome simbólico não terminado"
 
-#. TRANS Too many levels of symbolic links were encountered in looking up a file name.
-#. TRANS This often indicates a cycle of symbolic links.
-#: stdio-common/../sysdeps/gnu/errlist.c:457
-msgid "Too many levels of symbolic links"
-msgstr "Muitos n�veis de links simb�licos"
+#: locale/programs/linereader.c:623
+msgid "illegal escape sequence at end of string"
+msgstr "sequência de escape ilegal no final da string"
 
-#. TRANS Too many links; the link count of a single file would become too large.
-#. TRANS @code{rename} can cause this error if the file being renamed already has
-#. TRANS as many links as it can take (@pxref{Renaming Files}).
-#: stdio-common/../sysdeps/gnu/errlist.c:225
-msgid "Too many links"
-msgstr "Muitos links"
+#: locale/programs/linereader.c:627 locale/programs/linereader.c:847
+msgid "unterminated string"
+msgstr "string não terminada"
 
-#. TRANS The current process has too many files open and can't open any more.
-#. TRANS Duplicate descriptors do count toward this limit.
-#. TRANS
-#. TRANS In BSD and GNU, the number of open files is controlled by a resource
-#. TRANS limit that can usually be increased.  If you get this error, you might
-#. TRANS want to increase the @code{RLIMIT_NOFILE} limit or make it unlimited;
-#. TRANS @pxref{Limits on Resources}.
-#: stdio-common/../sysdeps/gnu/errlist.c:175
-msgid "Too many open files"
-msgstr "Muitos arquivos abertos"
+#: locale/programs/linereader.c:808
+#, c-format
+msgid "symbol `%.*s' not in charmap"
+msgstr "símbolo “%.*s” não está no mapa de caracteres"
 
-#. TRANS There are too many distinct file openings in the entire system.  Note
-#. TRANS that any number of linked channels count as just one file opening; see
-#. TRANS @ref{Linked Channels}.  This error never occurs in the GNU system.
-#: stdio-common/../sysdeps/gnu/errlist.c:182
-msgid "Too many open files in system"
-msgstr "Muitos arquivos abertos no sistema"
+#: locale/programs/linereader.c:829
+#, c-format
+msgid "symbol `%.*s' not in repertoire map"
+msgstr "símbolo “%.*s” não está no mapa de repertório"
 
-#. TRANS This means that the per-user limit on new process would be exceeded by
-#. TRANS an attempted @code{fork}.  @xref{Limits on Resources}, for details on
-#. TRANS the @code{RLIMIT_NPROC} limit.
-#: stdio-common/../sysdeps/gnu/errlist.c:487
-msgid "Too many processes"
-msgstr "Muitos processos"
+#: locale/programs/locale-spec.c:130
+#, c-format
+msgid "unknown name \"%s\""
+msgstr "nome desconhecido “%s”"
 
-#. TRANS ???
-#: stdio-common/../sysdeps/gnu/errlist.c:439
-msgid "Too many references: cannot splice"
-msgstr "Muitas refer�ncias: n�o � poss�vel unir"
+#: locale/programs/locale.c:70
+msgid "System information:"
+msgstr "Informação do sistema:"
 
-#. TRANS The file quota system is confused because there are too many users.
-#. TRANS @c This can probably happen in a GNU system when using NFS.
-#: stdio-common/../sysdeps/gnu/errlist.c:493
-msgid "Too many users"
-msgstr "Muitos usu�rios"
+#: locale/programs/locale.c:72
+msgid "Write names of available locales"
+msgstr "Escreve nomes das localidades (locales) disponíveis"
 
-#: stdio-common/../sysdeps/unix/siglist.c:30
-#: sysdeps/unix/sysv/linux/siglist.h:26
-msgid "Trace/breakpoint trap"
-msgstr "Trace/breakpoint trap"
+#: locale/programs/locale.c:74
+msgid "Write names of available charmaps"
+msgstr "Escreve nomes dos mapas de caracteres disponíveis"
 
-#: posix/regex.c:1017
-msgid "Trailing backslash"
-msgstr "Contrabarra final"
+#: locale/programs/locale.c:75
+msgid "Modify output format:"
+msgstr "Formato de modificação de saída:"
 
-#. TRANS In the GNU system, opening a file returns this error when the file is
-#. TRANS translated by a program and the translator program dies while starting
-#. TRANS up, before it has connected to the file.
-#: stdio-common/../sysdeps/gnu/errlist.c:596
-msgid "Translator died"
-msgstr "Tradutor morto"
+#: locale/programs/locale.c:76
+msgid "Write names of selected categories"
+msgstr "Escreve nomes das categorias selecionadas"
 
-#. TRANS You tried to connect a socket that is already connected.
-#. TRANS @xref{Connecting}.
-#: stdio-common/../sysdeps/gnu/errlist.c:414
-msgid "Transport endpoint is already connected"
-msgstr "Ponto final de transporte j� est� conectado"
+#: locale/programs/locale.c:77
+msgid "Write names of selected keywords"
+msgstr "Escreve nomes das palavras-chave selecionadas"
 
-#. TRANS The socket is not connected to anything.  You get this error when you
-#. TRANS try to transmit data over a socket, without first specifying a
-#. TRANS destination for the data.  For a connectionless socket (for datagram
-#. TRANS protocols, such as UDP), you get @code{EDESTADDRREQ} instead.
-#: stdio-common/../sysdeps/gnu/errlist.c:422
-msgid "Transport endpoint is not connected"
-msgstr "Ponto final de transporte n�o est� conectado"
+#: locale/programs/locale.c:78
+msgid "Print more information"
+msgstr "Imprime mais informações"
 
-#: argp/argp-help.c:1610
-#, c-format
-msgid "Try `%s --help' or `%s --usage' for more information.\n"
-msgstr "Tente `%s --help' ou `%s --usage' para mais informa��es.\n"
+#: locale/programs/locale.c:83
+msgid "Get locale-specific information."
+msgstr "Obtém informações específicas da localidade."
 
-#: inet/rcmd.c:143
-#, c-format
-msgid "Trying %s...\n"
-msgstr "Tentando %s...\n"
+#: locale/programs/locale.c:86
+msgid ""
+"NAME\n"
+"[-a|-m]"
+msgstr ""
+"NOME\n"
+"[-a|-m]"
 
-#: nis/nis_print.c:163
+#: locale/programs/locale.c:190
 #, c-format
-msgid "Type : %s\n"
-msgstr "Tipo : %s\n"
+msgid "Cannot set LC_CTYPE to default locale"
+msgstr "Não foi possível definir LC_CTYPE para a localidade padrão"
 
-#: nis/nis_print.c:47
-msgid "UNKNOWN"
-msgstr "DESCONHECIDO"
-
-#: nis/nis_error.c:72
-msgid "Unable to authenticate NIS+ client"
-msgstr "Imposs�vel autenticar cliente NIS+"
-
-#: nis/nis_error.c:71
-msgid "Unable to authenticate NIS+ server"
-msgstr "Imposs�vel autenticar servidor NIS+"
-
-#: nis/nis_error.c:46
-msgid "Unable to create callback"
-msgstr "Imposs�vel criar chamador"
-
-#: nis/nis_error.c:74
-msgid "Unable to create process on server"
-msgstr "Imposs�vel criar processo no servidor"
-
-#: nis/nis_print.c:190
+#: locale/programs/locale.c:192
 #, c-format
-msgid "Unknown (type = %d, bits = %d)\n"
-msgstr "Desconhecido (tipo = %d, bits = %d)\n"
+msgid "Cannot set LC_MESSAGES to default locale"
+msgstr "Não foi possível definir LC_MESSAGES para a localidade padrão"
 
-#: inet/ruserpass.c:248
+#: locale/programs/locale.c:205
 #, c-format
-msgid "Unknown .netrc keyword %s"
-msgstr "Palavra-chave em .netrc desconhecida %s"
+msgid "Cannot set LC_COLLATE to default locale"
+msgstr "Não foi possível definir LC_COLLATE para a localidade padrão"
 
-#: nis/ypclnt.c:797
-msgid "Unknown NIS error code"
-msgstr "C�digo de erro NIS desconhecido"
-
-#: nss/getent.c:505
+#: locale/programs/locale.c:221
 #, c-format
-msgid "Unknown database: %s\n"
-msgstr "Base de dados desconhecida: %s\n"
-
-#: posix/../sysdeps/posix/gai_strerror.c:51
-msgid "Unknown error"
-msgstr "Erro desconhecido"
-
-#: string/../sysdeps/generic/_strerror.c:48
-#: string/../sysdeps/mach/_strerror.c:86
-#: sysdeps/mach/hurd/mips/dl-machine.c:82
-msgid "Unknown error "
-msgstr "Erro desconhecido "
-
-#: resolv/herror.c:74
-msgid "Unknown host"
-msgstr "Host desconhecido"
-
-#: nis/nis_error.c:34
-msgid "Unknown object"
-msgstr "Objeto desconhecido"
+msgid "Cannot set LC_ALL to default locale"
+msgstr "Não foi possível definir LC_ALL para a localidade padrão"
 
-#: nscd/nscd_conf.c:181
+#: locale/programs/locale.c:521
 #, c-format
-msgid "Unknown option: %s %s %s"
-msgstr "Op��o desconhecida: %s %s %s"
-
-#: resolv/herror.c:120
-msgid "Unknown resolver error"
-msgstr "Erro desconhecido do resolvedor"
-
-#: resolv/herror.c:76
-msgid "Unknown server error"
-msgstr "Erro desconhecido de servidor"
+msgid "while preparing output"
+msgstr "enquanto preparava a saída"
 
-#: string/strsignal.c:70
-#, c-format
-msgid "Unknown signal %d"
-msgstr "Sinal desconhecido %d"
+#: locale/programs/localedef.c:112
+msgid "Input Files:"
+msgstr "Arquivos de entrada:"
 
-#: misc/error.c:107
-msgid "Unknown system error"
-msgstr "Erro desconhecido de sistema"
+#: locale/programs/localedef.c:114
+msgid "Symbolic character names defined in FILE"
+msgstr "Nomes de caracteres simbólicos definido no ARQUIVO"
 
-#: nis/ypclnt.c:845
-msgid "Unknown ypbind error"
-msgstr "Erro desconhecido de ypbind"
+#: locale/programs/localedef.c:116
+msgid "Source definitions are found in FILE"
+msgstr "Definições fonte são encontradas no ARQUIVO"
 
-#: posix/regex.c:1020
-msgid "Unmatched ( or \\("
-msgstr "( ou \\( descasados"
+#: locale/programs/localedef.c:118
+msgid "FILE contains mapping from symbolic names to UCS4 values"
+msgstr "ARQUIVO contém mapas de nomes simbólicos para valores UCS4"
 
-#: posix/regex.c:1028
-msgid "Unmatched ) or \\)"
-msgstr ") ou \\) descasados"
+#: locale/programs/localedef.c:122
+msgid "Create output even if warning messages were issued"
+msgstr "Cria saída mesmo que mensagens de aviso forem produzidas"
 
-#: posix/regex.c:1019
-msgid "Unmatched [ or [^"
-msgstr "[ ou [^ descasados"
+#: locale/programs/localedef.c:123
+msgid "Optional output file prefix"
+msgstr "Prefixo opcional de arquivo de saída"
 
-#: posix/regex.c:1021
-msgid "Unmatched \\{"
-msgstr "\\{ descasado"
+#: locale/programs/localedef.c:124
+msgid "Strictly conform to POSIX"
+msgstr "Adapta estritamente ao POSIX"
 
-#: posix/getconf.c:692
-#, c-format
-msgid "Unrecognized variable `%s'"
-msgstr "Vari�vel n�o reconhecida `%s'"
+#: locale/programs/localedef.c:126
+msgid "Suppress warnings and information messages"
+msgstr "Suprime avisos e mensagens de informação"
 
-#: stdio-common/../sysdeps/unix/siglist.c:41
-#: sysdeps/unix/sysv/linux/siglist.h:35
-msgid "Urgent I/O condition"
-msgstr "Condi��o urgente de E/S"
+#: locale/programs/localedef.c:127
+msgid "Print more messages"
+msgstr "Mostra mais mensagens"
 
-#: argp/argp-help.c:1567
-msgid "Usage:"
-msgstr "Uso:"
+#: locale/programs/localedef.c:128 locale/programs/localedef.c:131
+msgid "<warnings>"
+msgstr "<avisos>"
 
-#: posix/getconf.c:604
-#, c-format
-msgid "Usage: %s variable_name [pathname]\n"
-msgstr "Uso: %s nome_da_vari�vel [caminho]\n"
+#: locale/programs/localedef.c:129
+msgid "Comma-separated list of warnings to disable; supported warnings are: ascii, intcurrsym"
+msgstr "Lista separada por vírgulas de avisos para desabilitar; há suporte para os avisos: ascii, intcurrsym"
 
-#: sunrpc/rpcinfo.c:674
-msgid "Usage: rpcinfo [ -n portnum ] -u host prognum [ versnum ]\n"
-msgstr "Uso: rpcinfo [ -n n�mporta ] -u host n�mprog [ n�mvers ]\n"
+#: locale/programs/localedef.c:132
+msgid "Comma-separated list of warnings to enable; supported warnings are: ascii, intcurrsym"
+msgstr "Lista separada por vírgulas de avisos para habilitar; há suporte para os avisos: ascii, intcurrsym"
 
-#: stdio-common/../sysdeps/unix/siglist.c:55
-#: sysdeps/unix/sysv/linux/siglist.h:48
-msgid "User defined signal 1"
-msgstr "Sinal 1 definido pelo usu�rio"
+#: locale/programs/localedef.c:135
+msgid "Archive control:"
+msgstr "Controle de pacote:"
 
-#: stdio-common/../sysdeps/unix/siglist.c:56
-#: sysdeps/unix/sysv/linux/siglist.h:49
-msgid "User defined signal 2"
-msgstr "Sinal 2 definido pelo usu�rio"
+#: locale/programs/localedef.c:137
+msgid "Don't add new data to archive"
+msgstr "Não adiciona novos dados ao pacote"
 
-#: stdio-common/../sysdeps/gnu/errlist.c:654
-msgid "Value too large for defined data type"
-msgstr "Valor muito extenso para o tipo de dados definido"
+#: locale/programs/localedef.c:139
+msgid "Add locales named by parameters to archive"
+msgstr "Adiciona localidades nomeadas por parâmetros ao pacote"
 
-#: stdio-common/../sysdeps/unix/siglist.c:51
-#: sysdeps/unix/sysv/linux/siglist.h:45
-msgid "Virtual timer expired"
-msgstr "Temporizador virtual expirado"
+#: locale/programs/localedef.c:140
+msgid "Replace existing archive content"
+msgstr "Substitui o conteúdo de pacote existente"
 
-#: timezone/zic.c:1899
-msgid "Wild result from command execution"
-msgstr "Resultado insensato da execu��o do comando"
+#: locale/programs/localedef.c:142
+msgid "Remove locales named by parameters from archive"
+msgstr "Remove localidades nomeadas por parâmetros do pacote"
 
-#: stdio-common/../sysdeps/unix/siglist.c:53
-#: sysdeps/unix/sysv/linux/siglist.h:47
-msgid "Window changed"
-msgstr "Janela alterada"
+#: locale/programs/localedef.c:143
+msgid "List content of archive"
+msgstr "Lista conteúdo do pacote"
 
-#: locale/programs/locale.c:67
-msgid "Write names of available charmaps"
-msgstr "Escreve nomes dos mapas de caracteres (charmaps) dispon�veis"
+#: locale/programs/localedef.c:145
+msgid "locale.alias file to consult when making archive"
+msgstr "arquivo localidade.apelido a ser consultado ao criar pacote"
 
-#: locale/programs/locale.c:65
-msgid "Write names of available locales"
-msgstr "Escreve nomes das localiza��es (locales) dispon�veis"
+#: locale/programs/localedef.c:147
+msgid "Generate little-endian output"
+msgstr "Gera saída em little-endian"
 
-#: locale/programs/locale.c:69
-msgid "Write names of selected categories"
-msgstr "Escreve nomes das categorias selecionadasd"
+#: locale/programs/localedef.c:149
+msgid "Generate big-endian output"
+msgstr "Gera saída em big-endian"
 
-#: locale/programs/locale.c:70
-msgid "Write names of selected keywords"
-msgstr "Escreve nomes das palavras-chave selecionadas"
+#: locale/programs/localedef.c:154
+msgid "Compile locale specification"
+msgstr "Compila especificação localizada"
 
-#: catgets/gencat.c:110 db2/makedb.c:59
-msgid "Write output to file NAME"
-msgstr "Escreve a sa�da para o arquivo NOME"
+#: locale/programs/localedef.c:157
+msgid ""
+"NAME\n"
+"[--add-to-archive|--delete-from-archive] FILE...\n"
+"--list-archive [FILE]"
+msgstr ""
+"NOME\n"
+"[--add-to-archive|--delete-from-archive] ARQUIVO...\n"
+"--list-archive [ARQUIVO]"
 
-#: catgets/gencat.c:241 db2/makedb.c:247 elf/sprof.c:365
-#: iconv/iconv_prog.c:299 locale/programs/locale.c:272
-#: locale/programs/localedef.c:408 nscd/nscd.c:228 nss/getent.c:70
-#: posix/getconf.c:629
+#: locale/programs/localedef.c:232
 #, c-format
-msgid "Written by %s.\n"
-msgstr "Escrito por %s.\n"
-
-#: stdio-common/../sysdeps/gnu/errlist.c:818
-msgid "Wrong medium type"
-msgstr "Tipo de m�dia incorreta"
+msgid "cannot create directory for output files"
+msgstr "não foi possível criar diretório para os arquivos de saída"
 
-#: nis/nis_print.c:39
-msgid "X500"
-msgstr "X500"
-
-#: nis/nis_print.c:43
-msgid "XCHS"
-msgstr "XCHS"
+#: locale/programs/localedef.c:243
+msgid "FATAL: system does not define `_POSIX2_LOCALEDEF'"
+msgstr "FATAL: sistema não define “_POSIX2_LOCALEDEF”"
 
-#: nis/ypclnt.c:185
+#: locale/programs/localedef.c:257 locale/programs/localedef.c:273
+#: locale/programs/localedef.c:663 locale/programs/localedef.c:683
 #, c-format
-msgid "YPBINDPROC_DOMAIN: %s\n"
-msgstr "YPBINDPROC_DOMAIN: %s\n"
+msgid "cannot open locale definition file `%s'"
+msgstr "não é possível abrir arquivo de definição da localidade “%s”"
 
-#: nis/nis_error.c:70
-msgid "Yes, 42 is the meaning of life"
-msgstr "Sim, 42 � o sentido da vida"
+#: locale/programs/localedef.c:297
+#, c-format
+msgid "cannot write output files to `%s'"
+msgstr "não é possível escrever arquivo de saída para “%s”"
 
-#. TRANS You did @strong{what}?
-#: stdio-common/../sysdeps/gnu/errlist.c:608
-msgid "You really blew it this time"
-msgstr "Voc� realmente o destruiu desta vez"
+#: locale/programs/localedef.c:303
+msgid "no output file produced because errors were issued"
+msgstr "nenhum arquivo de saída foi produzido porque erros foram emitidos"
 
-#: timezone/zic.c:1063
-msgid "Zone continuation line end time is not after end time of previous line"
-msgstr "Tempo final da linha de zona n�o est� ap�s o tempo final da linha anterior"
+#: locale/programs/localedef.c:431
+#, c-format
+msgid ""
+"System's directory for character maps : %s\n"
+"\t\t       repertoire maps: %s\n"
+"\t\t       locale path    : %s\n"
+"%s"
+msgstr ""
+"Diretório do sistema para mapas de caracteres: %s\n"
+"                         mapas de repertórios: %s\n"
+"                        caminho da localidade: %s\n"
+"%s"
 
-#: iconv/iconv_prog.c:70
-msgid "[FILE...]"
-msgstr "[ARQUIVO...]"
+#: locale/programs/localedef.c:631
+msgid "circular dependencies between locale definitions"
+msgstr "dependências circulares entre definições de localidade"
 
-#: locale/programs/charmap.c:481 locale/programs/locfile.c:471
-#: locale/programs/repertoire.c:278
+#: locale/programs/localedef.c:637
 #, c-format
-msgid "`%1$s' definition does not end with `END %1$s'"
-msgstr "`%1$s' defini��o n�o termina com `END %1$s'"
+msgid "cannot add already read locale `%s' a second time"
+msgstr "não foi possível adicionar localidade já lida “%s” uma segunda vez"
 
-#: elf/sprof.c:766
+#: locale/programs/locarchive.c:133 locale/programs/locarchive.c:380
 #, c-format
-msgid "`%s' is no correct profile data file for `%s'"
-msgstr "`%s' n�o � o arquivo deperfil de dados correto para `%s'"
+msgid "cannot create temporary file: %s"
+msgstr "não foi possível criar arquivo temporário: %s"
 
-#: locale/programs/ld-monetary.c:369 locale/programs/ld-numeric.c:193
+#: locale/programs/locarchive.c:167 locale/programs/locarchive.c:430
 #, c-format
-msgid "`-1' must be last entry in `%s' field in `%s' category"
-msgstr "`-1' deve ser o �ltimo registro no `%s' campo na `%s' categoria"
-
-#: locale/programs/ld-collate.c:1666
-msgid "`...' must only be used in `...' and `UNDEFINED' entries"
-msgstr "`...' deve ser usado apenas em `...' e entradas `UNDEFINED'"
-
-#: locale/programs/locfile.c:668
-msgid "`from' expected after first argument to `collating-element'"
-msgstr "`from' esperado ap�s primeiro argumento para `collating-element'"
-
-#: locale/programs/ld-collate.c:1118
-msgid "`from' string in collation element declaration contains unknown character"
-msgstr "string `from' na declara��o de elemento de compara��o cont�m caracter desconhecido"
+msgid "cannot initialize archive file"
+msgstr "não foi possível inicializar o arquivo do pacote"
 
-#: posix/../sysdeps/posix/gai_strerror.c:34
-msgid "ai_family not supported"
-msgstr "Fam�lia de protocolo (ai_family) n�o suportada"
-
-#: posix/../sysdeps/posix/gai_strerror.c:39
-msgid "ai_socktype not supported"
-msgstr "Tipo socket (ai_socktype) n�o suportado"
-
-#: nscd/nscd.c:121
-msgid "already running"
-msgstr "j� est� rodando"
-
-#: locale/programs/charmap.c:352 locale/programs/repertoire.c:152
+#: locale/programs/locarchive.c:174 locale/programs/locarchive.c:437
 #, c-format
-msgid "argument to <%s> must be a single character"
-msgstr "argumento para <%s> deve ser um caracter simples"
+msgid "cannot resize archive file"
+msgstr "não foi possível redimensionar o arquivo do pacote"
 
-#: locale/programs/locfile.c:240
+#: locale/programs/locarchive.c:189 locale/programs/locarchive.c:452
+#: locale/programs/locarchive.c:674
 #, c-format
-msgid "argument to `%s' must be a single character"
-msgstr "argumento para `%s' deve ser um caracter simples"
-
-#: sunrpc/auth_unix.c:321
-msgid "auth_none.c - Fatal marshalling problem"
-msgstr "auth_none.c - Problema fatal de marshalling"
-
-#: sunrpc/auth_unix.c:116 sunrpc/auth_unix.c:122 sunrpc/auth_unix.c:151
-msgid "authunix_create: out of memory\n"
-msgstr "authunix_create: n�o h� mem�ria suficiente\n"
-
-#: locale/programs/charmap.c:297 locale/programs/locfile.c:234
-#: locale/programs/locfile.c:261 locale/programs/repertoire.c:144
-msgid "bad argument"
-msgstr "argumento inv�lido"
-
-#: inet/rcmd.c:318
-msgid "bad owner"
-msgstr "dono inv�lido"
-
-#: timezone/zic.c:1185
-msgid "blank FROM field on Link line"
-msgstr "campo FROM em branco na linha Link"
-
-#: timezone/zic.c:1189
-msgid "blank TO field on Link line"
-msgstr "campo TO em branco na linha Link"
-
-#: malloc/mcheck.c:208
-msgid "block freed twice\n"
-msgstr "bloco liberado duas vezes\n"
-
-#: malloc/mcheck.c:211
-msgid "bogus mcheck_status, library is buggy\n"
-msgstr "mcheck_status inv�lido, biblioteca est� com problemas\n"
-
-#: sunrpc/pmap_rmt.c:185
-msgid "broadcast: ioctl (get interface configuration)"
-msgstr "broadcast: ioctl (obter configura��o de interface)"
+msgid "cannot map archive header"
+msgstr "não foi possível mapear o cabeçalho do pacote"
 
-#: sunrpc/pmap_rmt.c:194
-msgid "broadcast: ioctl (get interface flags)"
-msgstr "broadcast: ioctl (obter flags de interface)"
-
-#: login/programs/request.c:167
-msgid "buffer overflow"
-msgstr "estouro de buffer"
-
-#: sunrpc/svc_udp.c:446
-msgid "cache_set: could not allocate new rpc_buffer"
-msgstr "cache_set: n�o foi poss�vel alocar novo rpc_buffer"
-
-#: sunrpc/svc_udp.c:440
-msgid "cache_set: victim alloc failed"
-msgstr "cache_set: aloca��o de v�tima falhou"
+#: locale/programs/locarchive.c:211
+#, c-format
+msgid "failed to create new locale archive"
+msgstr "falha ao criar o novo pacote de localidade"
 
-#: sunrpc/svc_udp.c:429
-msgid "cache_set: victim not found"
-msgstr "cache_set: v�tima n�o localizada"
+#: locale/programs/locarchive.c:223
+#, c-format
+msgid "cannot change mode of new locale archive"
+msgstr "não foi possível alterar o modo do novo arquivo de localidade"
 
-#: timezone/zic.c:1726
-msgid "can't determine time zone abbreviation to use just after until time"
-msgstr "n�o � poss�vel determinar abrevia��o para zona de tempo"
+#: locale/programs/locarchive.c:324
+msgid "cannot read data from locale archive"
+msgstr "não foi possível ler dados do pacote de localidade"
 
-#: sunrpc/svc_simple.c:75
+#: locale/programs/locarchive.c:355
 #, c-format
-msgid "can't reassign procedure number %d\n"
-msgstr "n�o � poss�vel reassinalar n�mero de procedimento %d\n"
+msgid "cannot map locale archive file"
+msgstr "não foi possível mapear o arquivo do pacote de localidade"
 
-#: locale/programs/localedef.c:279
+#: locale/programs/locarchive.c:460
 #, c-format
-msgid "cannot `stat' locale file `%s'"
-msgstr "n�o � poss�vel acessar arquivo de locale `%s'"
+msgid "cannot lock new archive"
+msgstr "não foi possível travar o novo pacote"
 
-#: elf/sprof.c:935 elf/sprof.c:987
-msgid "cannot allocate symbol data"
-msgstr "N�o foi poss�vel alocar mem�ria"
+#: locale/programs/locarchive.c:529
+#, c-format
+msgid "cannot extend locale archive file"
+msgstr "não foi possível estender o arquivo do pacote de localidade"
 
-#: elf/sprof.c:719 elf/sprof.c:777
-msgid "cannot create internal descriptor"
-msgstr "n�o � poss�vel criar descritor interno"
+#: locale/programs/locarchive.c:538
+#, c-format
+msgid "cannot change mode of resized locale archive"
+msgstr "não foi possível alterar o modo do arquivo de localidade redimensionado"
 
-#: elf/sprof.c:417
-msgid "cannot create internal descriptors"
-msgstr "n�o � possivel criar descritores internos"
+#: locale/programs/locarchive.c:546
+#, c-format
+msgid "cannot rename new archive"
+msgstr "não foi possível renomear o novo pacote"
 
-#: nscd/connections.c:180
+#: locale/programs/locarchive.c:608
 #, c-format
-msgid "cannot enable socket to accept connections: %s"
-msgstr "imposs�vel habilitar soquete para aceitar conec��es: %s"
+msgid "cannot open locale archive \"%s\""
+msgstr "não foi possível abrir pacote de localidade “%s”"
 
-#: sunrpc/rpc_main.c:342
+#: locale/programs/locarchive.c:613
 #, c-format
-msgid "cannot find C preprocessor: %s \n"
-msgstr "imposs�vel encontrar pr�-processador C: %s\n"
+msgid "cannot stat locale archive \"%s\""
+msgstr "não foi possível obter estado do pacote de localidade “%s”"
 
-#: sunrpc/rpc_main.c:350
-msgid "cannot find any C preprocessor (cpp)\n"
-msgstr "imposs�vel encontrar qualquer pr�-processador C (cpp)\n"
+#: locale/programs/locarchive.c:632
+#, c-format
+msgid "cannot lock locale archive \"%s\""
+msgstr "não foi possível travar o pacote de localidade “%s”"
 
-#: nscd/connections.c:205
+#: locale/programs/locarchive.c:655
 #, c-format
-msgid "cannot handle old request version %d; current version is %d"
-msgstr "imposs�vel lidar com requisi��es de vers�es antigas %d; a vers�o atual � %d"
+msgid "cannot read archive header"
+msgstr "não foi possível ler o cabeçalho do pacote"
 
-#: locale/programs/ld-collate.c:1324
+#: locale/programs/locarchive.c:728
 #, c-format
-msgid "cannot insert collation element `%.*s'"
-msgstr "n�o � poss�vel inserir elemento de compara��o `%.*s'"
+msgid "locale '%s' already exists"
+msgstr "localidade “%s” já existe"
 
-#: locale/programs/ld-collate.c:1503 locale/programs/ld-collate.c:1510
-msgid "cannot insert into result table"
-msgstr "n�o � poss�vel inserir na tabela de resultados"
+#: locale/programs/locarchive.c:1003 locale/programs/locarchive.c:1018
+#: locale/programs/locarchive.c:1030 locale/programs/locarchive.c:1042
+#: locale/programs/locfile.c:350
+#, c-format
+msgid "cannot add to locale archive"
+msgstr "não foi possível adicionar ao pacote de localidade"
 
-#: locale/programs/ld-collate.c:1175 locale/programs/ld-collate.c:1218
+#: locale/programs/locarchive.c:1203
 #, c-format
-msgid "cannot insert new collating symbol definition: %s"
-msgstr "n�o � poss�vel inserir nova defini��o de s�mbolo de compara��o: %s"
+msgid "locale alias file `%s' not found"
+msgstr "arquivo de apelido de localidade “%s” não localizado"
 
-#: elf/sprof.c:674
-msgid "cannot load profiling data"
-msgstr "imposs�vel carregar perfis de dados"
+#: locale/programs/locarchive.c:1351
+#, c-format
+msgid "Adding %s\n"
+msgstr "Adicionando %s\n"
 
-#: inet/rcmd.c:314
-msgid "cannot open"
-msgstr "imposs�vel abrir"
+#: locale/programs/locarchive.c:1357
+#, c-format
+msgid "stat of \"%s\" failed: %s: ignored"
+msgstr "obtenção de estado de “%s” falhou: %s: ignorado"
 
-#: sysdeps/unix/sysv/linux/lddlibc4.c:64
+#: locale/programs/locarchive.c:1363
 #, c-format
-msgid "cannot open `%s'"
-msgstr "n�o � poss�vel abrir `%s'"
+msgid "\"%s\" is no directory; ignored"
+msgstr "“%s” não é um diretório; ignorado"
 
-#: db2/makedb.c:146
+#: locale/programs/locarchive.c:1370
 #, c-format
-msgid "cannot open database file `%s': %s"
-msgstr "n�o � poss�vel abrir arquivo de banco de dados `%s': %s"
+msgid "cannot open directory \"%s\": %s: ignored"
+msgstr "não foi possível abrir o diretório “%s”: %s: ignorado"
 
-#: catgets/gencat.c:272 db2/makedb.c:167 iconv/iconv_prog.c:177
+#: locale/programs/locarchive.c:1438
 #, c-format
-msgid "cannot open input file `%s'"
-msgstr "n�o � poss�vel abrir arquivo de entrada `%s'"
+msgid "incomplete set of locale files in \"%s\""
+msgstr "definição incompleta dos arquivos de localização em “%s”"
 
-#: locale/programs/localedef.c:198
+#: locale/programs/locarchive.c:1502
 #, c-format
-msgid "cannot open locale definition file `%s'"
-msgstr "n�o � poss�vel abrir arquivo de defini��o locale `%s'"
+msgid "cannot read all files in \"%s\": ignored"
+msgstr "não foi possível ler todos os arquivos em “%s”: ignorado"
 
-#: iconv/iconv_prog.c:155
-msgid "cannot open output file"
-msgstr "n�o � poss�vel abrir arquivo de sa�da"
+#: locale/programs/locarchive.c:1572
+#, c-format
+msgid "locale \"%s\" not in archive"
+msgstr "localidade “%s” não está no pacote"
 
-#: catgets/gencat.c:774 catgets/gencat.c:815 db2/makedb.c:181
+#: locale/programs/locfile.c:137
 #, c-format
-msgid "cannot open output file `%s'"
-msgstr "n�o � poss�vel abrir arquivo de sa�da `%s'"
+msgid "argument to `%s' must be a single character"
+msgstr "argumento para “%s” deve ser um caractere simples"
+
+#: locale/programs/locfile.c:257
+msgid "syntax error: not inside a locale definition section"
+msgstr "erro de sintaxe: não está dentro de uma seção de definição de localidade"
 
-#: locale/programs/locfile.c:1129
+#: locale/programs/locfile.c:799
 #, c-format
 msgid "cannot open output file `%s' for category `%s'"
-msgstr "n�o � poss�vel abrir arquivo de sa�da `%s' para categoria `%s'"
+msgstr "não foi possível abrir o arquivo de saída “%s” para a categoria “%s”"
 
-#: nscd/connections.c:162
+#: locale/programs/locfile.c:822
 #, c-format
-msgid "cannot open socket: %s"
-msgstr "n�o � poss�vel abrir soquete: `%s'"
-
-#: locale/programs/ld-collate.c:1370
-msgid "cannot process order specification"
-msgstr "n�o � poss�vel processar specifica��o de ordem"
+msgid "failure while writing data for category `%s'"
+msgstr "falha ao escrever dados para categoria “%s”"
 
-#: locale/programs/locale.c:449
+#: locale/programs/locfile.c:917
 #, c-format
-msgid "cannot read character map directory `%s'"
-msgstr "n�o � poss�vel ler diret�rio de mapa de caracter `%s'"
+msgid "cannot create output file `%s' for category `%s'"
+msgstr "não foi possível criar o arquivo de saída “%s” para a categoria “%s”"
 
-#: nscd/connections.c:122
-msgid "cannot read configuration file; this is fatal"
-msgstr "imposs�vel ler arquivo de configura��o; isto � fatal"
+#: locale/programs/locfile.c:953
+msgid "expecting string argument for `copy'"
+msgstr "esperando argumento em string para “copy”"
 
-#: login/programs/request.c:91
-msgid "cannot read from client"
-msgstr "n�o � poss�vel ler do cliente"
+#: locale/programs/locfile.c:957
+msgid "locale name should consist only of portable characters"
+msgstr "nome de localidade deve consistir apenas em caracteres portáteis"
 
-#: sysdeps/unix/sysv/linux/lddlibc4.c:68
-#, c-format
-msgid "cannot read header from `%s'"
-msgstr "n�o � poss�vel ler cabe�alho de `%s'"
+#: locale/programs/locfile.c:976
+msgid "no other keyword shall be specified when `copy' is used"
+msgstr "nenhuma outra palavra-chave deve ser especificada quando “copy” é usado"
 
-#: locale/programs/locale.c:306
+#: locale/programs/locfile.c:990
 #, c-format
-msgid "cannot read locale directory `%s'"
-msgstr "n�o � poss�vel ler diret�rio locale `%s'"
+msgid "`%1$s' definition does not end with `END %1$s'"
+msgstr "“%1$s” definição não termina com “END %1$s”"
 
-#: locale/programs/localedef.c:303
+#: locale/programs/repertoire.c:228 locale/programs/repertoire.c:269
+#: locale/programs/repertoire.c:294
 #, c-format
-msgid "cannot read locale file `%s'"
-msgstr "n�o � poss�vel ler arquivo locale `%s'"
+msgid "syntax error in repertoire map definition: %s"
+msgstr "erro de sintaxe no mapa de repertório: %s"
 
-#: locale/programs/locfile.c:288 locale/programs/locfile.c:306
-#: locale/programs/locfile.c:324 locale/programs/locfile.c:342
-#: locale/programs/locfile.c:360 locale/programs/locfile.c:378
-#, c-format
-msgid "cannot read repertoire map `%s'"
-msgstr "n�o � poss�vel ler mapa de repert�rio `%s'"
+#: locale/programs/repertoire.c:270
+msgid "no <Uxxxx> or <Uxxxxxxxx> value given"
+msgstr "valores <Uxxxx> ou <Uxxxxxxxx> não dados"
 
-#: nscd/nscd_stat.c:127
-msgid "cannot read statistics data"
-msgstr "imposs�vel ler dados de estat�stica"
+#: locale/programs/repertoire.c:330
+msgid "cannot save new repertoire map"
+msgstr "não foi possível salvar novo mapa de repertório"
 
-#: nscd/cache.c:141 nscd/connections.c:148
+#: locale/programs/repertoire.c:341
 #, c-format
-msgid "cannot stat() file `%s': %s"
-msgstr "n�o � poss�vel ler atributos do arquivo `%s': %s"
+msgid "repertoire map file `%s' not found"
+msgstr "arquivo de mapa de repertório “%s” não foi encontrado"
 
-#: locale/programs/localedef.c:328
+#: login/programs/pt_chown.c:79
 #, c-format
-msgid "cannot write output files to `%s'"
-msgstr "n�o � poss�vel escrever arquivo de sa�da para `%s'"
+msgid "Set the owner, group and access permission of the slave pseudo terminal corresponding to the master pseudo terminal passed on file descriptor `%d'.  This is the helper program for the `grantpt' function.  It is not intended to be run directly from the command line.\n"
+msgstr "Define o dono, grupo e permissão de acesso ao pseudoterminal escravo correspondente ao pseudoterminal mestre passado no descritor de arquivo “%d”. Esse é um programa auxiliar para a função “grantpt”. Ele não tem a intenção de ser executado diretamente da linha de comando.\n"
 
-#: nscd/connections.c:229 nscd/connections.c:250
+#: login/programs/pt_chown.c:93
 #, c-format
-msgid "cannot write result: %s"
-msgstr "n�o � poss�vel escrever resultado: %s"
+msgid ""
+"The owner is set to the current user, the group is set to `%s', and the access permission is set to `%o'.\n"
+"\n"
+"%s"
+msgstr ""
+"O dono está definido como o usuário atual, o grupo está definido para “%s” e a permissão de acesso está definida para “%o”.\n"
+"\n"
+"%s"
 
-#: nscd/nscd_stat.c:86
+#: login/programs/pt_chown.c:204
 #, c-format
-msgid "cannot write statistics: %s"
-msgstr "n�o � poss�vel escrever estatisticas: %s"
+msgid "too many arguments"
+msgstr "número excessivo de argumentos"
 
-#: login/programs/request.c:120
-msgid "cannot write to client"
-msgstr "n�o � poss�vel escrever para o cliente"
+#: login/programs/pt_chown.c:212
+#, c-format
+msgid "needs to be installed setuid `root'"
+msgstr "precisa ser instalado com setuid “root”"
 
-#: locale/programs/localedef.c:442
-msgid "category data requested more than once: should not happen"
-msgstr "categoria de dados requisitada mais que uma vez: isto n�o deveria acontecer"
+#: malloc/mcheck.c:344
+msgid "memory is consistent, library is buggy\n"
+msgstr "a memória está consistente; a biblioteca está problemática\n"
 
-#: locale/programs/ld-ctype.c:269
-#, c-format
-msgid "character %s'%s' in class `%s' must be in class `%s'"
-msgstr "caracter %s'%s' na classe `%s' deve estar na classe `%s'"
+#: malloc/mcheck.c:347
+msgid "memory clobbered before allocated block\n"
+msgstr "memória sobrescrita antes do bloco alocado\n"
 
-#: locale/programs/ld-ctype.c:294
-#, c-format
-msgid "character %s'%s' in class `%s' must not be in class `%s'"
-msgstr "caracter %s'%s' na classe `%s' n�o deve estar na classe `%s'"
+#: malloc/mcheck.c:350
+msgid "memory clobbered past end of allocated block\n"
+msgstr "memória sobrescrita após o fim do bloco alocado\n"
 
-#: locale/programs/ld-ctype.c:320
-msgid "character <SP> not defined in character map"
-msgstr "caracter <SP> n�o definido no mapa de caracteres"
+#: malloc/mcheck.c:353
+msgid "block freed twice\n"
+msgstr "bloco liberado duas vezes\n"
 
-#: locale/programs/ld-ctype.c:964 locale/programs/ld-ctype.c:1029
-#: locale/programs/ld-ctype.c:1040 locale/programs/ld-ctype.c:1051
-#: locale/programs/ld-ctype.c:1062 locale/programs/ld-ctype.c:1073
-#: locale/programs/ld-ctype.c:1084 locale/programs/ld-ctype.c:1113
-#: locale/programs/ld-ctype.c:1124 locale/programs/ld-ctype.c:1165
-#: locale/programs/ld-ctype.c:1194 locale/programs/ld-ctype.c:1206
-#, c-format
-msgid "character `%s' not defined while needed as default value"
-msgstr "caracter `%s' n�o definido enquanto necess�rio como valor default"
+#: malloc/mcheck.c:356
+msgid "bogus mcheck_status, library is buggy\n"
+msgstr "mcheck_status inválido; a biblioteca está problemática\n"
 
-#: locale/programs/ld-ctype.c:825
-#, c-format
-msgid "character class `%s' already defined"
-msgstr "classe de caracter `%s' j� definida"
+#: malloc/memusage.sh:32
+msgid "%s: option '%s' requires an argument\\n"
+msgstr "%s: a opção “%s” requer um argumento\\n"
 
-#: locale/programs/ld-ctype.c:857
-#, c-format
-msgid "character map `%s' already defined"
-msgstr "mapa de caracteres `%s' j� definido"
+#: malloc/memusage.sh:38
+msgid ""
+"Usage: memusage [OPTION]... PROGRAM [PROGRAMOPTION]...\n"
+"Profile memory usage of PROGRAM.\n"
+"\n"
+"   -n,--progname=NAME     Name of the program file to profile\n"
+"   -p,--png=FILE          Generate PNG graphic and store it in FILE\n"
+"   -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 through timer\n"
+"   -m,--mmap              Also trace mmap & friends\n"
+"\n"
+"   -?,--help              Print this help and exit\n"
+"      --usage             Give a short usage message\n"
+"   -V,--version           Print version information and exit\n"
+"\n"
+" The following options only apply when generating graphical output:\n"
+"   -t,--time-based        Make graph linear in time\n"
+"   -T,--total             Also draw graph of total memory use\n"
+"      --title=STRING      Use STRING as title of the graph\n"
+"   -x,--x-size=SIZE       Make graphic SIZE pixels wide\n"
+"   -y,--y-size=SIZE       Make graphic SIZE pixels high\n"
+"\n"
+"Mandatory arguments to long options are also mandatory for any corresponding\n"
+"short options.\n"
+"\n"
+msgstr ""
+"Uso: memusage [OPÇÃO]... PROGRAMA [OPÇÃO-PROGRAMA]...\n"
+"Perfila o uso de memória do PROGRAMA.\n"
+"\n"
+"   -n,--progname=NOME     Nome do arquivo de programa a perfilar\n"
+"   -p,--png=ARQUIVO       Gera um gráfico em PNG e o armazena em ARQUIVO\n"
+"   -d,--data=ARQUIVO      Gera um arquivo de dados binários e o armazena \n"
+"                            em ARQUIVO\n"
+"   -u,--unbuffered        Não utiliza buffer na saída\n"
+"   -b,--buffer=TAM        Coleta TAM registros antes de escrevê-los na saída\n"
+"      --no-timer          Não coleta informações adicionais do temporizador\n"
+"   -m,--mmap              Também rastreia mmap & amigos\n"
+"\n"
+"   -?,--help              Exibe essa ajuda e sai\n"
+"      --usage             Fornece uma curta mensagem de uso\n"
+"   -V,--version           Exibe informação da versão e sai\n"
+"\n"
+" As seguintes opções se aplicam apenas ao gerar saída gráfica:\n"
+"   -t,--time-based        Cria um gráfico linear no tempo\n"
+"   -T,--total             Também desenha um gráfico do uso total de memória\n"
+"      --title=TEXTO       Usa TEXTO como título do gráfico\n"
+"   -x,--x-size=TAM        Faz com que o gráfico tenha TAM pixels de largura\n"
+"   -y,--y-size=TAM        Faz com que o gráfico tenha TAM pixels de altura\n"
+"\n"
+"Argumentos obrigatórios para opções longas são também obrigatórios para\n"
+"qualquer opção curta correspondente.\n"
+"\n"
 
-#: locale/programs/charmap.c:83
-#, c-format
-msgid "character map file `%s' not found"
-msgstr "arquivo de mapa de caracter `%s' n�o foi localizado"
+# Usei "Uso:" para caber tudo na mesma linha e para padronizar -- Rafael
+#: malloc/memusage.sh:99
+msgid ""
+"Syntax: memusage [--data=FILE] [--progname=NAME] [--png=FILE] [--unbuffered]\n"
+"\t    [--buffer=SIZE] [--no-timer] [--time-based] [--total]\n"
+"\t    [--title=STRING] [--x-size=SIZE] [--y-size=SIZE]\n"
+"\t    PROGRAM [PROGRAMOPTION]..."
+msgstr ""
+"Uso: memusage [--data=ARQUIVO] [--progname=NOME] [--png=ARQUIVO] [--unbuffered]\n"
+"\t    [--buffer=TAM] [--no-timer] [--time-based] [--total]\n"
+"\t    [--title=TEXTO] [--x-size=TAM] [--y-size=TAM]\n"
+"\t    PROGRAMA [OPÇÃO-PROGRAMA]..."
 
-#: sunrpc/clnt_raw.c:110
-msgid "clnt_raw.c - Fatal header serialization error."
-msgstr "clnt_raw.c - Erro fatal no cabe�alho de serializa��o."
+#: malloc/memusage.sh:191
+msgid "memusage: option \\`${1##*=}' is ambiguous"
+msgstr "memusage: opção “${1##*=}” é ambígua"
 
-#: sunrpc/clnt_tcp.c:125 sunrpc/clnt_tcp.c:133
-msgid "clnttcp_create: out of memory\n"
-msgstr "clnttcp_create: n�o h� mem�ria suficiente\n"
+#: malloc/memusage.sh:200
+msgid "memusage: unrecognized option \\`$1'"
+msgstr "memusage: opção não reconhecida “$1”"
 
-#: sunrpc/clnt_udp.c:124 sunrpc/clnt_udp.c:134
-msgid "clntudp_create: out of memory\n"
-msgstr "clntudp_create: n�o h� mem�ria suficiente\n"
+#: malloc/memusage.sh:213
+msgid "No program name given"
+msgstr "Nenhum nome de programa fornecido"
 
-#: sunrpc/clnt_unix.c:123 sunrpc/clnt_unix.c:131
-msgid "clntunix_create: out of memory\n"
-msgstr "clntunix_reate: n�o h� mem�ria suficiente\n"
+#: malloc/memusagestat.c:56
+msgid "Name output file"
+msgstr "Nome do arquivo de saída"
 
-#: locale/programs/ld-collate.c:1339
-#, c-format
-msgid "collation element `%.*s' appears more than once: ignore line"
-msgstr "o elemento de compara��o `%.*s' aparece mais que uma vez: ignorar linha"
+#: malloc/memusagestat.c:57
+msgid "STRING"
+msgstr "TEXTO"
 
-#: locale/programs/ld-collate.c:1357
-#, c-format
-msgid "collation symbol `%.*s' appears more than once: ignore line"
-msgstr "o s�mbolo de compara��o `%.*s' aparece mais que uma vez: ignorar linha"
+#: malloc/memusagestat.c:57
+msgid "Title string used in output graphic"
+msgstr "Texto do título usado no gráfico de saída"
 
-#: locale/programs/locfile.c:652
-#, c-format
-msgid "collation symbol expected after `%s'"
-msgstr "s�mbolo de compara��o esperado ap�s `%s'"
+#: malloc/memusagestat.c:58
+msgid "Generate output linear to time (default is linear to number of function calls)"
+msgstr "Gera uma saída linear no tempo (padrão é linear ao número de chamadas de função)"
 
-#: inet/rcmd.c:136
-#, c-format
-msgid "connect to address %s: "
-msgstr "connectar-se ao endere�o %s: "
+#: malloc/memusagestat.c:62
+msgid "Also draw graph for total memory consumption"
+msgstr "Também desenha um gráfico de consumo total de memória"
 
-#: sunrpc/rpc_scan.c:115
-msgid "constant or identifier expected"
-msgstr "identificador ou constante esperado"
+#: malloc/memusagestat.c:63
+msgid "VALUE"
+msgstr "VALOR"
 
-#: iconv/iconv_prog.c:144
-#, c-format
-msgid "conversion from `%s' to `%s' not supported"
-msgstr "convers�o de `%s' para `%s' n�o � suportada"
+#: malloc/memusagestat.c:64
+msgid "Make output graphic VALUE pixels wide"
+msgstr "Fazer um gráfico de saída com VALOR pixels de largura"
 
-#: iconv/iconv_prog.c:326
-msgid "conversion stopped due to problem in writing the output"
-msgstr "a convers�o parou devido a problemas de escrita na sa�da"
+#: malloc/memusagestat.c:65
+msgid "Make output graphic VALUE pixels high"
+msgstr "Fazer um gráfico de saída com VALOR pixels de altura"
 
-#: sunrpc/svc_simple.c:83
-msgid "couldn't create an rpc server\n"
-msgstr "n�o foi poss�vel criar um servidor rpc\n"
+#: malloc/memusagestat.c:70
+msgid "Generate graphic from memory profiling data"
+msgstr "Gera um gráfico a partir dos dados de perfilamento de memória"
 
-#: sunrpc/svc_simple.c:91
-#, c-format
-msgid "couldn't register prog %d vers %d\n"
-msgstr "n�o foi poss�vel registrar prog %d vers %d\n"
+#: malloc/memusagestat.c:73
+msgid "DATAFILE [OUTFILE]"
+msgstr "ARQUIVO-DADOS [ARQUIVO-SAÍDA]"
 
-#: nss/getent.c:49
-msgid "database [key ...]"
-msgstr "base de dados [chave ...]"
+#: misc/error.c:192
+msgid "Unknown system error"
+msgstr "Erro desconhecido de sistema"
+
+#: nis/nis_callback.c:188
+msgid "unable to free arguments"
+msgstr "não foi possível liberar argumentos"
+
+#: nis/nis_error.h:1 nis/ypclnt.c:824 nis/ypclnt.c:913 posix/regcomp.c:137
+#: sysdeps/gnu/errlist.c:21
+msgid "Success"
+msgstr "Sucesso"
+
+#: nis/nis_error.h:2
+msgid "Probable success"
+msgstr "Sucesso provável"
+
+#: nis/nis_error.h:3
+msgid "Not found"
+msgstr "Não localizado"
+
+#: nis/nis_error.h:4
+msgid "Probably not found"
+msgstr "Provavelmente não encontrado"
+
+#: nis/nis_error.h:5
+msgid "Cache expired"
+msgstr "Tempo expirado"
+
+#: nis/nis_error.h:6
+msgid "NIS+ servers unreachable"
+msgstr "Servidores NIS+ fora do alcance"
+
+#: nis/nis_error.h:7
+msgid "Unknown object"
+msgstr "Objeto desconhecido"
+
+#: nis/nis_error.h:8
+msgid "Server busy, try again"
+msgstr "Servidor ocupado, tente novamente"
+
+#: nis/nis_error.h:9
+msgid "Generic system error"
+msgstr "Erro genérico de sistema"
+
+#: nis/nis_error.h:10
+msgid "First/next chain broken"
+msgstr "Primeira/próxima corrente quebrada"
+
+#. TRANS The file permissions do not allow the attempted operation.
+#: nis/nis_error.h:11 nis/ypclnt.c:869 sysdeps/gnu/errlist.c:158
+msgid "Permission denied"
+msgstr "Permissão negada"
+
+#: nis/nis_error.h:12
+msgid "Not owner"
+msgstr "Dono inválido"
+
+#: nis/nis_error.h:13
+msgid "Name not served by this server"
+msgstr "Nome não servido por este servidor"
+
+#: nis/nis_error.h:14
+msgid "Server out of memory"
+msgstr "Memória do servidor exaurida"
+
+#: nis/nis_error.h:15
+msgid "Object with same name exists"
+msgstr "Um objeto com o mesmo nome existe"
+
+#: nis/nis_error.h:16
+msgid "Not master server for this domain"
+msgstr "Não é um servidor mestre para este domínio"
+
+#: nis/nis_error.h:17
+msgid "Invalid object for operation"
+msgstr "Objeto inválido para a operação"
+
+#: nis/nis_error.h:18
+msgid "Malformed name, or illegal name"
+msgstr "Nome malformado ou nome ilegal"
+
+#: nis/nis_error.h:19
+msgid "Unable to create callback"
+msgstr "Impossível criar retorno de chamada"
+
+#: nis/nis_error.h:20
+msgid "Results sent to callback proc"
+msgstr "Resultados enviados para o processo de retorno chamada"
+
+#: nis/nis_error.h:21
+msgid "Not found, no such name"
+msgstr "Não localizado, nome inexistente"
+
+#: nis/nis_error.h:22
+msgid "Name/entry isn't unique"
+msgstr "Nome/entrada não é único"
+
+#: nis/nis_error.h:23
+msgid "Modification failed"
+msgstr "Modificação falhou"
+
+#: nis/nis_error.h:24
+msgid "Database for table does not exist"
+msgstr "Banco de dados para a tabela não existe"
+
+#: nis/nis_error.h:25
+msgid "Entry/table type mismatch"
+msgstr "Tipo de entrada/tabela incompatível"
+
+#: nis/nis_error.h:26
+msgid "Link points to illegal name"
+msgstr "Link aponta para um nome ilegal"
+
+#: nis/nis_error.h:27
+msgid "Partial success"
+msgstr "Sucesso parcial"
+
+#: nis/nis_error.h:28
+msgid "Too many attributes"
+msgstr "Número excessivo de atributos"
+
+#: nis/nis_error.h:29
+msgid "Error in RPC subsystem"
+msgstr "Erro no subsistema RPC"
+
+#: nis/nis_error.h:30
+msgid "Missing or malformed attribute"
+msgstr "Atributo perdido ou malformado"
+
+#: nis/nis_error.h:31
+msgid "Named object is not searchable"
+msgstr "Objeto nomeado não é pesquisável"
+
+#: nis/nis_error.h:32
+msgid "Error while talking to callback proc"
+msgstr "Erro durante a chamada a processo de retorno de chamada"
+
+#: nis/nis_error.h:33
+msgid "Non NIS+ namespace encountered"
+msgstr "Espaço de nomes não-NIS+ encontrado"
+
+#: nis/nis_error.h:34
+msgid "Illegal object type for operation"
+msgstr "Tipo ilegal de objeto para a operação"
+
+#: nis/nis_error.h:35
+msgid "Passed object is not the same object on server"
+msgstr "Objeto passado não é o mesmo objeto no servidor"
+
+#: nis/nis_error.h:36
+msgid "Modify operation failed"
+msgstr "Operação de modificação falhou"
+
+#: nis/nis_error.h:37
+msgid "Query illegal for named table"
+msgstr "Pergunta ilegal para tabela nominada"
+
+#: nis/nis_error.h:38
+msgid "Attempt to remove a non-empty table"
+msgstr "Tentativa de remoção de uma tabela não vazia"
+
+#: nis/nis_error.h:39
+msgid "Error in accessing NIS+ cold start file.  Is NIS+ installed?"
+msgstr "Erro acessando arquivo inicial do NIS+. O NIS+ está instalado?"
+
+#: nis/nis_error.h:40
+msgid "Full resync required for directory"
+msgstr "Nova sincronização total necessária para o diretório"
+
+#: nis/nis_error.h:41
+msgid "NIS+ operation failed"
+msgstr "Operação NIS+ falhou"
+
+#: nis/nis_error.h:42
+msgid "NIS+ service is unavailable or not installed"
+msgstr "Serviço NIS+ está indisponível ou não está instalado"
+
+#: nis/nis_error.h:43
+msgid "Yes, 42 is the meaning of life"
+msgstr "Sim, 42 é o sentido da vida"
+
+#: nis/nis_error.h:44
+msgid "Unable to authenticate NIS+ server"
+msgstr "Não foi possível autenticar servidor NIS+"
+
+#: nis/nis_error.h:45
+msgid "Unable to authenticate NIS+ client"
+msgstr "Não foi possível autenticar cliente NIS+"
+
+#: nis/nis_error.h:46
+msgid "No file space on server"
+msgstr "Não há espaço disponível no servidor"
 
-#: locale/programs/charmap.c:170
+#: nis/nis_error.h:47
+msgid "Unable to create process on server"
+msgstr "Não foi possível criar processo no servidor"
+
+#: nis/nis_error.h:48
+msgid "Master server busy, full dump rescheduled."
+msgstr "Servidor mestre ocupado, descarregamento completo (dump) remarcado."
+
+#: nis/nis_local_names.c:122
 #, c-format
-msgid "default character map file `%s' not found"
-msgstr "arquivo default de mapa de caracter `%s' n�o localizado"
+msgid "LOCAL entry for UID %d in directory %s not unique\n"
+msgstr "Entrada LOCAL para UID %d no diretório %s não é única\n"
+
+#: nis/nis_print.c:52
+msgid "UNKNOWN"
+msgstr "DESCONHECIDO"
+
+#: nis/nis_print.c:110
+msgid "BOGUS OBJECT\n"
+msgstr "OBJETO FALSO\n"
+
+#: nis/nis_print.c:113
+msgid "NO OBJECT\n"
+msgstr "SEM OBJETO\n"
+
+#: nis/nis_print.c:116
+msgid "DIRECTORY\n"
+msgstr "DIRETÓRIO\n"
+
+#: nis/nis_print.c:119
+msgid "GROUP\n"
+msgstr "GRUPO\n"
+
+#: nis/nis_print.c:122
+msgid "TABLE\n"
+msgstr "TABELA\n"
+
+#: nis/nis_print.c:125
+msgid "ENTRY\n"
+msgstr "ENTRADA\n"
+
+#: nis/nis_print.c:128
+msgid "LINK\n"
+msgstr "LINK\n"
+
+#: nis/nis_print.c:131
+msgid "PRIVATE\n"
+msgstr "PRIVADO\n"
 
-#: locale/programs/ld-time.c:163
+#: nis/nis_print.c:134
+msgid "(Unknown object)\n"
+msgstr "(Objeto desconhecido)\n"
+
+#: nis/nis_print.c:168
 #, c-format
-msgid "direction flag in string %d in `era' field in category `%s' is not '+' nor '-'"
-msgstr "flag de dire��o na string %d no campo `era', categoria `%s', n�o � '+'nem '_'"
+msgid "Name : `%s'\n"
+msgstr "Nome : “%s”\n"
 
-#: locale/programs/ld-time.c:174
+#: nis/nis_print.c:169
 #, c-format
-msgid "direction flag in string %d in `era' field in category `%s' is not a single character"
-msgstr "flag de dire��o na string %d no campo `era', categoria `%s', n�o � um caracter simples"
+msgid "Type : %s\n"
+msgstr "Tipo : %s\n"
+
+#: nis/nis_print.c:174
+msgid "Master Server :\n"
+msgstr "Servidor mestre :\n"
+
+#: nis/nis_print.c:176
+msgid "Replicate :\n"
+msgstr "Duplicado :\n"
 
-#: locale/programs/charset.c:64 locale/programs/charset.c:118
+#: nis/nis_print.c:177
 #, c-format
-msgid "duplicate character name `%s'"
-msgstr "nome de caracter duplicado `%s'"
+msgid "\tName       : %s\n"
+msgstr "\tNome          : %s\n"
 
-#: locale/programs/ld-collate.c:1150
-msgid "duplicate collating element definition"
-msgstr "defini��o de elemento de compara��o duplicada"
+#: nis/nis_print.c:178
+msgid "\tPublic Key : "
+msgstr "\tChave pública : "
+
+#: nis/nis_print.c:182
+msgid "None.\n"
+msgstr "nenhum.\n"
 
-#: locale/programs/ld-collate.c:1297
+#: nis/nis_print.c:185
 #, c-format
-msgid "duplicate definition for character `%.*s'"
-msgstr "defini��o para caracter duplicada `%.*s'"
+msgid "Diffie-Hellmann (%d bits)\n"
+msgstr "Diffie-Hellman (%d bits)\n"
 
-#: db2/makedb.c:328
-msgid "duplicate key"
-msgstr "chave duplicada"
+#: nis/nis_print.c:190
+#, c-format
+msgid "RSA (%d bits)\n"
+msgstr "RSA (%d bits)\n"
 
-#: catgets/gencat.c:388
-msgid "duplicate set definition"
-msgstr "defini��o de conjunto duplicada"
+#: nis/nis_print.c:193
+msgid "Kerberos.\n"
+msgstr "Kerberos.\n"
 
-#: timezone/zic.c:978
+#: nis/nis_print.c:196
 #, c-format
-msgid "duplicate zone name %s (file \"%s\", line %d)"
-msgstr "nome de zona duplicado %s (arquivo \"%s\", linha %d)"
+msgid "Unknown (type = %d, bits = %d)\n"
+msgstr "Desconhecido (tipo = %d, bits = %d)\n"
 
-#: catgets/gencat.c:551
-msgid "duplicated message identifier"
-msgstr "identificador de mensagens duplicado"
+#: nis/nis_print.c:207
+#, c-format
+msgid "\tUniversal addresses (%u)\n"
+msgstr "\tEndereço universal (%u)\n"
 
-#: catgets/gencat.c:524
-msgid "duplicated message number"
-msgstr "n�mero de mensagem duplicado"
+#: nis/nis_print.c:229
+msgid "Time to live : "
+msgstr "Tempo de vida : "
 
-#: sunrpc/rpc_scan.c:382
-msgid "empty char string"
-msgstr "cadeia de caractere vazia"
+#: nis/nis_print.c:231
+msgid "Default Access rights :\n"
+msgstr "Direitos de acesso padrão :\n"
 
-#: locale/programs/ld-collate.c:1710
-msgid "empty weight name: line ignored"
-msgstr "nome do peso vazio: linha ignorada"
+#: nis/nis_print.c:240
+#, c-format
+msgid "\tType         : %s\n"
+msgstr "\tTipo           : %s\n"
 
-#: sunrpc/svc_udp.c:372
-msgid "enablecache: cache already enabled"
-msgstr "enablecache: cache j� ativado"
+#: nis/nis_print.c:241
+msgid "\tAccess rights: "
+msgstr "\tDireitos acesso: "
 
-#: sunrpc/svc_udp.c:378
-msgid "enablecache: could not allocate cache"
-msgstr "enablecache: n�o foi poss�vel alocar cache"
+#: nis/nis_print.c:255
+msgid "Group Flags :"
+msgstr "Indicadores de grupo :"
 
-#: sunrpc/svc_udp.c:386
-msgid "enablecache: could not allocate cache data"
-msgstr "enablecache: n�o foi poss�vel alocar dados do cache"
+#: nis/nis_print.c:258
+msgid ""
+"\n"
+"Group Members :\n"
+msgstr ""
+"\n"
+"Membros do grupo :\n"
 
-#: sunrpc/svc_udp.c:393
-msgid "enablecache: could not allocate cache fifo"
-msgstr "enablecache: n�o foi poss�vel alocar cache fifo"
+#: nis/nis_print.c:270
+#, c-format
+msgid "Table Type          : %s\n"
+msgstr "Tipo de tabela          : %s\n"
 
-#: iconv/iconv_prog.c:56
-msgid "encoding for output"
-msgstr "codifica��o para a sa�da"
+#: nis/nis_print.c:271
+#, c-format
+msgid "Number of Columns   : %d\n"
+msgstr "Número de colunas       : %d\n"
 
-#: iconv/iconv_prog.c:55
-msgid "encoding of original text"
-msgstr "codifica��o para o texto original"
+#: nis/nis_print.c:272
+#, c-format
+msgid "Character Separator : %c\n"
+msgstr "Separador de caracteres : %c\n"
+
+#: nis/nis_print.c:273
+#, c-format
+msgid "Search Path         : %s\n"
+msgstr "Caminho de pesquisa     : %s\n"
+
+#: nis/nis_print.c:274
+msgid "Columns             :\n"
+msgstr "Colunas                 :\n"
+
+#: nis/nis_print.c:277
+#, c-format
+msgid "\t[%d]\tName          : %s\n"
+msgstr "\t[%d]\tNome               : %s\n"
+
+#: nis/nis_print.c:279
+msgid "\t\tAttributes    : "
+msgstr "\t\tAtributos          : "
+
+#: nis/nis_print.c:281
+msgid "\t\tAccess Rights : "
+msgstr "\t\tDireitos de acesso : "
+
+#: nis/nis_print.c:291
+msgid "Linked Object Type : "
+msgstr "Tipo de objeto vinculado : "
+
+#: nis/nis_print.c:293
+#, c-format
+msgid "Linked to : %s\n"
+msgstr "Vinculado a : %s\n"
+
+#: nis/nis_print.c:303
+#, c-format
+msgid "\tEntry data of type %s\n"
+msgstr "\tEntrada de dados de tipo %s\n"
+
+#: nis/nis_print.c:306
+#, c-format
+msgid "\t[%u] - [%u bytes] "
+msgstr "\t[%u] – [%u bytes] "
+
+#: nis/nis_print.c:309
+msgid "Encrypted data\n"
+msgstr "Dados criptografados\n"
+
+#: nis/nis_print.c:311
+msgid "Binary data\n"
+msgstr "Dados binários\n"
+
+#: nis/nis_print.c:327
+#, c-format
+msgid "Object Name   : %s\n"
+msgstr "Nome do objeto     : %s\n"
+
+#: nis/nis_print.c:328
+#, c-format
+msgid "Directory     : %s\n"
+msgstr "Diretório          : %s\n"
+
+#: nis/nis_print.c:329
+#, c-format
+msgid "Owner         : %s\n"
+msgstr "Dono               : %s\n"
+
+#: nis/nis_print.c:330
+#, c-format
+msgid "Group         : %s\n"
+msgstr "Grupo              : %s\n"
+
+#: nis/nis_print.c:331
+msgid "Access Rights : "
+msgstr "Direitos de acesso : "
+
+#: nis/nis_print.c:333
+#, c-format
+msgid ""
+"\n"
+"Time to Live  : "
+msgstr ""
+"\n"
+"Tempo de vida      : "
+
+#: nis/nis_print.c:336
+#, c-format
+msgid "Creation Time : %s"
+msgstr "Horário de criação : %s"
+
+#: nis/nis_print.c:338
+#, c-format
+msgid "Mod. Time     : %s"
+msgstr "Horário de mod.    : %s"
+
+#: nis/nis_print.c:339
+msgid "Object Type   : "
+msgstr "Tipo do objeto     : "
+
+#: nis/nis_print.c:359
+#, c-format
+msgid "    Data Length = %u\n"
+msgstr "  Tamanho dados = %u\n"
+
+#: nis/nis_print.c:373
+#, c-format
+msgid "Status            : %s\n"
+msgstr "Posição           : %s\n"
 
-#: locale/programs/ld-collate.c:1429
-msgid "end point of ellipsis range is bigger then start"
-msgstr "o ponto final da �rea da elipse � maior que o in�cio "
+#: nis/nis_print.c:374
+#, c-format
+msgid "Number of objects : %u\n"
+msgstr "Número de objetos : %u\n"
+
+#: nis/nis_print.c:378
+#, c-format
+msgid "Object #%d:\n"
+msgstr "Objeto #%d:\n"
+
+#: nis/nis_print_group_entry.c:117
+#, c-format
+msgid "Group entry for \"%s.%s\" group:\n"
+msgstr "Entrada para o grupo “%s.%s”:\n"
+
+#: nis/nis_print_group_entry.c:125
+msgid "    Explicit members:\n"
+msgstr "    Membros explícitos:\n"
+
+#: nis/nis_print_group_entry.c:130
+msgid "    No explicit members\n"
+msgstr "    Nenhum membro explícito\n"
+
+#: nis/nis_print_group_entry.c:133
+msgid "    Implicit members:\n"
+msgstr "    Membros implícitos:\n"
+
+#: nis/nis_print_group_entry.c:138
+msgid "    No implicit members\n"
+msgstr "    Nenhum membro implícito\n"
+
+#: nis/nis_print_group_entry.c:141
+msgid "    Recursive members:\n"
+msgstr "    Membros recursivos:\n"
+
+#: nis/nis_print_group_entry.c:146
+msgid "    No recursive members\n"
+msgstr "    Nenhuma membros recursivo\n"
+
+#: nis/nis_print_group_entry.c:149
+msgid "    Explicit nonmembers:\n"
+msgstr "    Não-membros explícitos:\n"
+
+#: nis/nis_print_group_entry.c:154
+msgid "    No explicit nonmembers\n"
+msgstr "    Nenhum não-membro explícito\n"
+
+#: nis/nis_print_group_entry.c:157
+msgid "    Implicit nonmembers:\n"
+msgstr "    Não-membros implícitos:\n"
+
+#: nis/nis_print_group_entry.c:162
+msgid "    No implicit nonmembers\n"
+msgstr "    Nenhum não-membro implícito\n"
+
+#: nis/nis_print_group_entry.c:165
+msgid "    Recursive nonmembers:\n"
+msgstr "    Não-membros recursivos:\n"
+
+#: nis/nis_print_group_entry.c:170
+msgid "    No recursive nonmembers\n"
+msgstr "    Nenhum não-membro recursivo\n"
+
+#: nis/nss_nisplus/nisplus-publickey.c:100
+#: nis/nss_nisplus/nisplus-publickey.c:182
+#, c-format
+msgid "DES entry for netname %s not unique\n"
+msgstr "Entrada DES para nome de rede (netname) %s não é única\n"
+
+#: nis/nss_nisplus/nisplus-publickey.c:219
+#, c-format
+msgid "netname2user: missing group id list in `%s'"
+msgstr "netname2user: faltando lista de id do grupo em “%s”"
+
+#: nis/nss_nisplus/nisplus-publickey.c:301
+#: nis/nss_nisplus/nisplus-publickey.c:307
+#: nis/nss_nisplus/nisplus-publickey.c:372
+#: nis/nss_nisplus/nisplus-publickey.c:381
+#, c-format
+msgid "netname2user: (nis+ lookup): %s\n"
+msgstr "netname2user: (nis+ lookup): %s\n"
+
+#: nis/nss_nisplus/nisplus-publickey.c:320
+#, c-format
+msgid "netname2user: DES entry for %s in directory %s not unique"
+msgstr "netname2user: entrada DES para %s no diretório %s não é única"
+
+#: nis/nss_nisplus/nisplus-publickey.c:338
+#, c-format
+msgid "netname2user: principal name `%s' too long"
+msgstr "netname2user: nome princpal “%s” longo demais"
+
+#: nis/nss_nisplus/nisplus-publickey.c:394
+#, c-format
+msgid "netname2user: LOCAL entry for %s in directory %s not unique"
+msgstr "netname2user: entrada LOCAL para %s no diretório %s não é única"
+
+#: nis/nss_nisplus/nisplus-publickey.c:401
+msgid "netname2user: should not have uid 0"
+msgstr "netname2user: não deve possuir uid 0"
+
+#: nis/ypclnt.c:827
+msgid "Request arguments bad"
+msgstr "Argumentos de requisição inválidos"
+
+#: nis/ypclnt.c:830
+msgid "RPC failure on NIS operation"
+msgstr "Falha RPC na operação NIS"
+
+#: nis/ypclnt.c:833
+msgid "Can't bind to server which serves this domain"
+msgstr "Não é possível vincular ao servidor que serve este domínio"
+
+#: nis/ypclnt.c:836
+msgid "No such map in server's domain"
+msgstr "Mapa inexistente no domínio do servidor"
+
+#: nis/ypclnt.c:839
+msgid "No such key in map"
+msgstr "Chave inexistente no mapa"
+
+#: nis/ypclnt.c:842
+msgid "Internal NIS error"
+msgstr "Erro NIS interno"
+
+#: nis/ypclnt.c:845
+msgid "Local resource allocation failure"
+msgstr "Falha na alocação de recurso local"
+
+#: nis/ypclnt.c:848
+msgid "No more records in map database"
+msgstr "Não há mais registros no banco de dados de mapas"
+
+#: nis/ypclnt.c:851
+msgid "Can't communicate with portmapper"
+msgstr "Não foi possível comunicar com o portmapper"
+
+#: nis/ypclnt.c:854
+msgid "Can't communicate with ypbind"
+msgstr "Não foi possível comunicar com o ypbind"
+
+#: nis/ypclnt.c:857
+msgid "Can't communicate with ypserv"
+msgstr "Não foi possível comunicar com o ypserv"
+
+#: nis/ypclnt.c:860
+msgid "Local domain name not set"
+msgstr "Nome de domínio local não definido"
+
+#: nis/ypclnt.c:863
+msgid "NIS map database is bad"
+msgstr "Banco de dados de mapas NIS é inválido"
+
+#: nis/ypclnt.c:866
+msgid "NIS client/server version mismatch - can't supply service"
+msgstr "Versões cliente/servidor NIS não conferem – não foi possível oferecer serviço"
+
+#: nis/ypclnt.c:872
+msgid "Database is busy"
+msgstr "Banco de dados está ocupado"
+
+#: nis/ypclnt.c:875
+msgid "Unknown NIS error code"
+msgstr "Código de erro NIS desconhecido"
+
+#: nis/ypclnt.c:916
+msgid "Internal ypbind error"
+msgstr "Erro interno de ypbind"
+
+#: nis/ypclnt.c:919
+msgid "Domain not bound"
+msgstr "Domínio não vinculado"
+
+#: nis/ypclnt.c:922
+msgid "System resource allocation failure"
+msgstr "Falha de alocação de recursos do sistema"
+
+#: nis/ypclnt.c:925
+msgid "Unknown ypbind error"
+msgstr "Erro desconhecido de ypbind"
+
+#: nis/ypclnt.c:966
+msgid "yp_update: cannot convert host to netname\n"
+msgstr "yp_update: não foi possível converter host para netname\n"
+
+#: nis/ypclnt.c:984
+msgid "yp_update: cannot get server address\n"
+msgstr "yp_update: não foi possível obter o endereço do servidor\n"
+
+#: nscd/aicache.c:85 nscd/hstcache.c:485
+#, c-format
+msgid "Haven't found \"%s\" in hosts cache!"
+msgstr "Não foi encontrado “%s” no cache de máquinas!"
+
+#: nscd/aicache.c:87 nscd/hstcache.c:487
+#, c-format
+msgid "Reloading \"%s\" in hosts cache!"
+msgstr "Recarregando “%s” no cache de máquinas!"
+
+#: nscd/cache.c:151
+#, c-format
+msgid "add new entry \"%s\" of type %s for %s to cache%s"
+msgstr "adicionar nova entrada “%s” do tipo %s para %s ao cache%s"
+
+#: nscd/cache.c:153
+msgid " (first)"
+msgstr " (primeira)"
+
+#: nscd/cache.c:288
+#, c-format
+msgid "checking for monitored file `%s': %s"
+msgstr "verificando pelo arquivo monitorado “%s”: %s"
+
+#: nscd/cache.c:298
+#, c-format
+msgid "monitored file `%s` changed (mtime)"
+msgstr "arquivo monitorado “%s” foi modificado (mtime)"
+
+#: nscd/cache.c:341
+#, c-format
+msgid "pruning %s cache; time %ld"
+msgstr "removendo cache %s; tempo %ld"
+
+#: nscd/cache.c:370
+#, c-format
+msgid "considering %s entry \"%s\", timeout %<PRIu64>"
+msgstr "considerando entrada %s “%s”, tempo limite %<PRIu64>"
+
+#: nscd/connections.c:537
+#, c-format
+msgid "invalid persistent database file \"%s\": %s"
+msgstr "arquivo inválido de banco de dados persistente “%s”: %s"
+
+#: nscd/connections.c:545
+msgid "uninitialized header"
+msgstr "cabeçalho não inicializado"
+
+#: nscd/connections.c:550
+msgid "header size does not match"
+msgstr "tamanho do cabeçalho não confere"
+
+#: nscd/connections.c:560
+msgid "file size does not match"
+msgstr "tamanho de arquivo não confere"
+
+#: nscd/connections.c:577
+msgid "verification failed"
+msgstr "verificação falhou"
+
+#: nscd/connections.c:591
+#, c-format
+msgid "suggested size of table for database %s larger than the persistent database's table"
+msgstr "tamanho sugerido de tabela para banco de dados %s maior que a tabela do banco de dados persistente"
+
+#: nscd/connections.c:602 nscd/connections.c:686
+#, c-format
+msgid "cannot create read-only descriptor for \"%s\"; no mmap"
+msgstr "não foi possível criar descritor somente leitura para “%s”; nenhum mmap"
+
+#: nscd/connections.c:618
+#, c-format
+msgid "cannot access '%s'"
+msgstr "não foi possível acessar “%s”"
+
+#: nscd/connections.c:666
+#, c-format
+msgid "database for %s corrupted or simultaneously used; remove %s manually if necessary and restart"
+msgstr "banco de dados para %s corrompido ou usado simultaneamente; remova %s manualmente, se necessário, e reinicie"
+
+#: nscd/connections.c:672
+#, c-format
+msgid "cannot create %s; no persistent database used"
+msgstr "não foi possível criar %s; nenhum banco de dados persistente usado"
+
+#: nscd/connections.c:675
+#, c-format
+msgid "cannot create %s; no sharing possible"
+msgstr "não foi possível criar %s; nenhum compartilhamento possível"
+
+#: nscd/connections.c:746
+#, c-format
+msgid "cannot write to database file %s: %s"
+msgstr "não foi possível escrever para o arquivo de banco de dados %s: %s"
+
+#: nscd/connections.c:802
+#, c-format
+msgid "cannot open socket: %s"
+msgstr "não é possível abrir soquete: “%s”"
+
+#: nscd/connections.c:821
+#, c-format
+msgid "cannot enable socket to accept connections: %s"
+msgstr "impossível habilitar soquete para aceitar conexões: %s"
+
+#: nscd/connections.c:878
+#, c-format
+msgid "disabled inotify-based monitoring for file `%s': %s"
+msgstr "desabilitado monitoramento baseado em inotify para o arquivo “%s”: %s"
+
+#: nscd/connections.c:882
+#, c-format
+msgid "monitoring file `%s` (%d)"
+msgstr "monitorando o arquivo “%s” (%d)"
+
+#: nscd/connections.c:895
+#, c-format
+msgid "disabled inotify-based monitoring for directory `%s': %s"
+msgstr "desabilitado monitoramento baseado em inotify para o diretório “%s”: %s"
+
+#: nscd/connections.c:899
+#, c-format
+msgid "monitoring directory `%s` (%d)"
+msgstr "monitorando o diretório “%s” (%d)"
+
+#: nscd/connections.c:927
+#, c-format
+msgid "monitoring file %s for database %s"
+msgstr "monitorando o arquivo %s para o banco de dados %s"
+
+#: nscd/connections.c:937
+#, c-format
+msgid "stat failed for file `%s'; will try again later: %s"
+msgstr "obtenção de estado falhou para o arquivo “%s”; nova tentativa posteriormente: %s"
+
+#: nscd/connections.c:1056
+#, c-format
+msgid "provide access to FD %d, for %s"
+msgstr "fornece acesso ao descritor de arquivo %d, para %s"
+
+#: nscd/connections.c:1068
+#, c-format
+msgid "cannot handle old request version %d; current version is %d"
+msgstr "impossível lidar com requisições de versões antigas %d; a versão atual é %d"
+
+#: nscd/connections.c:1091
+#, c-format
+msgid "request from %ld not handled due to missing permission"
+msgstr "requisição de %ld não manipulada em razão de falta de permissão"
+
+#: nscd/connections.c:1096
+#, c-format
+msgid "request from '%s' [%ld] not handled due to missing permission"
+msgstr "requisição de “%s” [%ld] não manipulada em razão de falta de permissão"
+
+#: nscd/connections.c:1101
+msgid "request not handled due to missing permission"
+msgstr "requisição não manipulada em razão de falta de permissão"
+
+#: nscd/connections.c:1139 nscd/connections.c:1192
+#, c-format
+msgid "cannot write result: %s"
+msgstr "não é possível escrever resultado: %s"
+
+#: nscd/connections.c:1283
+#, c-format
+msgid "error getting caller's id: %s"
+msgstr "erro ao obter o id do chamador: %s"
+
+#: nscd/connections.c:1343
+#, c-format
+msgid "cannot open /proc/self/cmdline: %s; disabling paranoia mode"
+msgstr "não foi possível abrir /proc/self/cmdline: %s; desabilitando modo paranoia"
+
+#: nscd/connections.c:1357
+#, c-format
+msgid "cannot read /proc/self/cmdline: %s; disabling paranoia mode"
+msgstr "não foi possível ler /proc/self/cmdline: %s; desabilitando modo paranoia"
+
+#: nscd/connections.c:1397
+#, c-format
+msgid "cannot change to old UID: %s; disabling paranoia mode"
+msgstr "não foi possível alterar para UID antigo: %s; desabilitando modo paranoia"
+
+#: nscd/connections.c:1407
+#, c-format
+msgid "cannot change to old GID: %s; disabling paranoia mode"
+msgstr "não foi possível alterar para GID antigo: %s; desabilitando modo paranoia"
+
+#: nscd/connections.c:1420
+#, c-format
+msgid "cannot change to old working directory: %s; disabling paranoia mode"
+msgstr "não foi possível mudar para diretório de trabalho anterior: %s; desabilitando modo paranoia"
+
+#: nscd/connections.c:1466
+#, c-format
+msgid "re-exec failed: %s; disabling paranoia mode"
+msgstr "reexecução falhou: %s; desabilitando modo paranoia"
+
+#: nscd/connections.c:1475
+#, c-format
+msgid "cannot change current working directory to \"/\": %s"
+msgstr "não foi possível mudar o diretório de trabalho atual para “/”: %s"
+
+#: nscd/connections.c:1658
+#, c-format
+msgid "short read while reading request: %s"
+msgstr "leitura insuficiente durante a leitura da requisição: %s"
+
+#: nscd/connections.c:1691
+#, c-format
+msgid "key length in request too long: %d"
+msgstr "tamanho da chave na requisição é grande demais: %d"
+
+#: nscd/connections.c:1704
+#, c-format
+msgid "short read while reading request key: %s"
+msgstr "leitura insuficiente durante a leitura da chave de requisição: %s"
+
+#: nscd/connections.c:1714
+#, c-format
+msgid "handle_request: request received (Version = %d) from PID %ld"
+msgstr "handle_request: requisição recebida (Versão = %d) do PID %ld"
+
+#: nscd/connections.c:1719
+#, c-format
+msgid "handle_request: request received (Version = %d)"
+msgstr "handle_request: requisição recebida (Versão = %d)"
+
+#: nscd/connections.c:1859
+#, c-format
+msgid "ignored inotify event for `%s` (file exists)"
+msgstr "evento inotify ignorado para “%s” (arquivo existe)"
+
+#: nscd/connections.c:1864
+#, c-format
+msgid "monitored file `%s` was %s, removing watch"
+msgstr "arquivo monitorado “%s” era %s, removendo inspeção"
+
+#: nscd/connections.c:1872 nscd/connections.c:1914
+#, c-format
+msgid "failed to remove file watch `%s`: %s"
+msgstr "falha ao remover inspeção do arquivo “%s”: %s"
+
+#: nscd/connections.c:1887
+#, c-format
+msgid "monitored file `%s` was written to"
+msgstr "arquivo monitorado “%s” foi escrito para"
+
+#: nscd/connections.c:1911
+#, c-format
+msgid "monitored parent directory `%s` was %s, removing watch on `%s`"
+msgstr "diretório pai monitorado “%s” foi %s, removendo inspeção em “%s”"
+
+#: nscd/connections.c:1937
+#, c-format
+msgid "monitored file `%s` was %s, adding watch"
+msgstr "arquivo monitorado “%s” foi %s, adicionando inspeção"
+
+#: nscd/connections.c:1949
+#, c-format
+msgid "failed to add file watch `%s`: %s"
+msgstr "falha ao adicionar inspeção do arquivo “%s”: %s"
+
+#: nscd/connections.c:2127 nscd/connections.c:2292
+#, c-format
+msgid "disabled inotify-based monitoring after read error %d"
+msgstr "desabilitado monitoramento baseado em inotify após erro de leitura %d"
+
+#: nscd/connections.c:2407
+msgid "could not initialize conditional variable"
+msgstr "não foi possível inicializar variável condicional"
+
+#: nscd/connections.c:2415
+msgid "could not start clean-up thread; terminating"
+msgstr "não foi possível iniciar fluxo de limpeza; terminando"
+
+#: nscd/connections.c:2429
+msgid "could not start any worker thread; terminating"
+msgstr "não foi possível iniciar qualquer fluxo de trabalho; terminando"
+
+#: nscd/connections.c:2484 nscd/connections.c:2486 nscd/connections.c:2502
+#: nscd/connections.c:2512 nscd/connections.c:2530 nscd/connections.c:2541
+#: nscd/connections.c:2551
+#, c-format
+msgid "Failed to run nscd as user '%s'"
+msgstr "Falha ao executar nscd como usuário “%s”"
+
+#: nscd/connections.c:2504
+msgid "initial getgrouplist failed"
+msgstr "getgrouplist inicial falhou"
+
+#: nscd/connections.c:2513
+msgid "getgrouplist failed"
+msgstr "getgrouplist falhou"
+
+#: nscd/connections.c:2531
+msgid "setgroups failed"
+msgstr "setgroups falhou"
+
+#: nscd/grpcache.c:416 nscd/hstcache.c:432 nscd/initgrcache.c:416
+#: nscd/pwdcache.c:394 nscd/servicescache.c:338
+#, c-format
+msgid "short write in %s: %s"
+msgstr "escrita insuficiente em %s: %s"
+
+#: nscd/grpcache.c:461 nscd/initgrcache.c:84
+#, c-format
+msgid "Haven't found \"%s\" in group cache!"
+msgstr "Não foi encontrado “%s” no cache de grupo!"
+
+#: nscd/grpcache.c:463 nscd/initgrcache.c:86
+#, c-format
+msgid "Reloading \"%s\" in group cache!"
+msgstr "Recarregando “%s” no cache de grupo!"
+
+#: nscd/grpcache.c:542
+#, c-format
+msgid "Invalid numeric gid \"%s\"!"
+msgstr "GID numérico inválido “%s”!"
+
+#: nscd/mem.c:425
+#, c-format
+msgid "freed %zu bytes in %s cache"
+msgstr "liberados %zu bytes no cache de %s"
+
+#: nscd/mem.c:568
+#, c-format
+msgid "no more memory for database '%s'"
+msgstr "não há mais memória para o banco de dados “%s”"
+
+#: nscd/netgroupcache.c:121
+#, c-format
+msgid "Haven't found \"%s\" in netgroup cache!"
+msgstr "Não foi encontrado “%s” no cache de netgroup!"
+
+#: nscd/netgroupcache.c:123
+#, c-format
+msgid "Reloading \"%s\" in netgroup cache!"
+msgstr "Recarregando “%s” no cache de netgroup!"
+
+#: nscd/netgroupcache.c:495
+#, c-format
+msgid "Haven't found \"%s (%s,%s,%s)\" in netgroup cache!"
+msgstr "Não foi encontrado “%s (%s,%s,%s)” no cache de netgroup!"
+
+#: nscd/netgroupcache.c:498
+#, c-format
+msgid "Reloading \"%s (%s,%s,%s)\" in netgroup cache!"
+msgstr "Recarregando “%s (%s,%s,%s)” no cache de netgroup!"
+
+#: nscd/nscd.c:106
+msgid "Read configuration data from NAME"
+msgstr "Lê configuração de dados de NOME"
+
+#: nscd/nscd.c:108
+msgid "Do not fork and display messages on the current tty"
+msgstr "Não bifurca (fork) e mostre mensagens na tty corrente"
+
+#: nscd/nscd.c:110
+msgid "Do not fork, but otherwise behave like a daemon"
+msgstr "Não bifurca (fork), mas, em vez disso, se comporta como um serviço (daemon)"
+
+#: nscd/nscd.c:111
+msgid "NUMBER"
+msgstr "NÚMERO"
+
+# Espaço inical adicionado para corrigir alinhamento; veja 'nscd --help' -- Rafael
+#: nscd/nscd.c:111
+msgid "Start NUMBER threads"
+msgstr " Inicia NÚMERO threads"
+
+#: nscd/nscd.c:112
+msgid "Shut the server down"
+msgstr "Encerra o servidor"
+
+#: nscd/nscd.c:113
+msgid "Print current configuration statistics"
+msgstr "Reúne e imprime as estatísticas de configuração"
+
+#: nscd/nscd.c:114
+msgid "TABLE"
+msgstr "TABELA"
+
+#: nscd/nscd.c:115
+msgid "Invalidate the specified cache"
+msgstr "Invalida o cache especificado"
+
+#: nscd/nscd.c:116
+msgid "TABLE,yes"
+msgstr "TABELA,sim"
+
+#: nscd/nscd.c:117
+msgid "Use separate cache for each user"
+msgstr "Usa um cache separado para cada usuário"
+
+#: nscd/nscd.c:122
+msgid "Name Service Cache Daemon."
+msgstr "Daemon de cache de serviço de nomes."
+
+#: nscd/nscd.c:155 nss/getent.c:947 nss/makedb.c:206
+#, c-format
+msgid "wrong number of arguments"
+msgstr "número incorreto de argumentos"
+
+#: nscd/nscd.c:165
+#, c-format
+msgid "failure while reading configuration file; this is fatal"
+msgstr "falha ao ler arquivo de configuração; isto é fatal"
+
+#: nscd/nscd.c:174
+#, c-format
+msgid "already running"
+msgstr "já está em execução"
+
+#: nscd/nscd.c:194
+#, c-format
+msgid "cannot create a pipe to talk to the child"
+msgstr "não foi possível criar um pipe para falar com o processo filho"
+
+#: nscd/nscd.c:198
+#, c-format
+msgid "cannot fork"
+msgstr "não foi possível bifurcar (fork)"
+
+#: nscd/nscd.c:268
+msgid "cannot change current working directory to \"/\""
+msgstr "não foi possível mudar o diretório de trabalho atual para “/”"
+
+#: nscd/nscd.c:276
+msgid "Could not create log file"
+msgstr "Não foi possível criar o arquivo de log"
+
+#: nscd/nscd.c:355 nscd/nscd_stat.c:209
+#, c-format
+msgid "write incomplete"
+msgstr "escrita incompleta"
+
+#: nscd/nscd.c:366
+#, c-format
+msgid "cannot read invalidate ACK"
+msgstr "não foi possível ler ACK inválida"
+
+#: nscd/nscd.c:372
+#, c-format
+msgid "invalidation failed"
+msgstr "invalidação falhou"
+
+#: nscd/nscd.c:417 nscd/nscd.c:442 nscd/nscd_stat.c:190
+#, c-format
+msgid "Only root is allowed to use this option!"
+msgstr "Somente o superusuário pode usar esta opção!"
+
+#: nscd/nscd.c:437
+#, c-format
+msgid "'%s' is not a known database"
+msgstr "“%s” não é um banco de dados conhecido"
+
+#: nscd/nscd.c:452
+#, c-format
+msgid "secure services not implemented anymore"
+msgstr "serviços seguros não mais implementado"
+
+#: nscd/nscd.c:485
+#, c-format
+msgid ""
+"Supported tables:\n"
+"%s\n"
+"\n"
+"For bug reporting instructions, please see:\n"
+"%s.\n"
+msgstr ""
+"Há suporte às seguintes tabelas:\n"
+"%s\n"
+"\n"
+"Para instruções sobre como relatar erros, por favor veja:\n"
+"%s.\n"
+
+#: nscd/nscd.c:635
+#, c-format
+msgid "'wait' failed\n"
+msgstr "“wait” falhou\n"
+
+#: nscd/nscd.c:642
+#, c-format
+msgid "child exited with status %d\n"
+msgstr "processo filho saiu com erro %d\n"
+
+#: nscd/nscd.c:647
+#, c-format
+msgid "child terminated by signal %d\n"
+msgstr "processo filho terminado pelo sinal %d\n"
+
+#: nscd/nscd_conf.c:54
+#, c-format
+msgid "database %s is not supported"
+msgstr "sem suporte ao banco de dados %s"
+
+#: nscd/nscd_conf.c:105
+#, c-format
+msgid "Parse error: %s"
+msgstr "Erro de análise: %s"
+
+#: nscd/nscd_conf.c:191
+#, c-format
+msgid "Must specify user name for server-user option"
+msgstr "Deve-se especificar o nome do usuário para a opção “server-user”"
+
+#: nscd/nscd_conf.c:198
+#, c-format
+msgid "Must specify user name for stat-user option"
+msgstr "Deve-se especificar o nome do usuário para a opção “stat-user”"
+
+#: nscd/nscd_conf.c:255
+#, c-format
+msgid "Must specify value for restart-interval option"
+msgstr "Deve-se especificar valor para a opção “restart-interval”"
+
+#: nscd/nscd_conf.c:269
+#, c-format
+msgid "Unknown option: %s %s %s"
+msgstr "Opção desconhecida: %s %s %s"
+
+#: nscd/nscd_conf.c:282
+#, c-format
+msgid "cannot get current working directory: %s; disabling paranoia mode"
+msgstr "não foi possível obter o diretório de trabalho: %s; desabilitando modo paranoia"
+
+#: nscd/nscd_conf.c:302
+#, c-format
+msgid "maximum file size for %s database too small"
+msgstr "tamanho máximo de arquivo para o banco de dados %s é pequeno demais"
+
+#: nscd/nscd_stat.c:159
+#, c-format
+msgid "cannot write statistics: %s"
+msgstr "não foi possível escrever estatísticas: %s"
+
+#: nscd/nscd_stat.c:174
+msgid "yes"
+msgstr "sim"
+
+#: nscd/nscd_stat.c:175
+msgid "no"
+msgstr "não"
+
+#: nscd/nscd_stat.c:186
+#, c-format
+msgid "Only root or %s is allowed to use this option!"
+msgstr "Somente o superusuário ou %s pode usar esta opção!"
+
+#: nscd/nscd_stat.c:197
+#, c-format
+msgid "nscd not running!\n"
+msgstr "nscd não está em execução!\n"
+
+#: nscd/nscd_stat.c:221
+#, c-format
+msgid "cannot read statistics data"
+msgstr "não foi possível ler dados de estatística"
+
+#: nscd/nscd_stat.c:224
+#, c-format
+msgid ""
+"nscd configuration:\n"
+"\n"
+"%15d  server debug level\n"
+msgstr ""
+"configuração do nscd:\n"
+"\n"
+"%15d nível de depuração do servidor\n"
+
+#: nscd/nscd_stat.c:248
+#, c-format
+msgid "%3ud %2uh %2um %2lus  server runtime\n"
+msgstr "%3ud %2uh %2um %2lus  tempo de execução do servidor\n"
+
+#: nscd/nscd_stat.c:251
+#, c-format
+msgid "    %2uh %2um %2lus  server runtime\n"
+msgstr "    %2uh %2um %2lus  tempo de execução do servidor\n"
+
+#: nscd/nscd_stat.c:253
+#, c-format
+msgid "        %2um %2lus  server runtime\n"
+msgstr "        %2um %2lus  tempo de execução do servidor\n"
+
+#: nscd/nscd_stat.c:255
+#, c-format
+msgid "            %2lus  server runtime\n"
+msgstr "            %2lus  tempo de execução do servidor\n"
+
+#: nscd/nscd_stat.c:257
+#, c-format
+msgid ""
+"%15d  current number of threads\n"
+"%15d  maximum number of threads\n"
+"%15lu  number of times clients had to wait\n"
+"%15s  paranoia mode enabled\n"
+"%15lu  restart internal\n"
+"%15u  reload count\n"
+msgstr ""
+"%15d  número atual de threads\n"
+"%15d  número máximo de threads\n"
+"%15lu  número de tempos de espera de clientes\n"
+"%15s  modo paranoia habilitado\n"
+"%15lu  reinicialização interna\n"
+"%15u  recarregamento de contagem\n"
+
+#: nscd/nscd_stat.c:292
+#, c-format
+msgid ""
+"\n"
+"%s cache:\n"
+"\n"
+"%15s  cache is enabled\n"
+"%15s  cache is persistent\n"
+"%15s  cache is shared\n"
+"%15zu  suggested size\n"
+"%15zu  total data pool size\n"
+"%15zu  used data pool size\n"
+"%15lu  seconds time to live for positive entries\n"
+"%15lu  seconds time to live for negative entries\n"
+"%15<PRIuMAX>  cache hits on positive entries\n"
+"%15<PRIuMAX>  cache hits on negative entries\n"
+"%15<PRIuMAX>  cache misses on positive entries\n"
+"%15<PRIuMAX>  cache misses on negative entries\n"
+"%15lu%% cache hit rate\n"
+"%15zu  current number of cached values\n"
+"%15zu  maximum number of cached values\n"
+"%15zu  maximum chain length searched\n"
+"%15<PRIuMAX>  number of delays on rdlock\n"
+"%15<PRIuMAX>  number of delays on wrlock\n"
+"%15<PRIuMAX>  memory allocations failed\n"
+"%15s  check /etc/%s for changes\n"
+msgstr ""
+"\n"
+"cache %s:\n"
+"\n"
+"%15s  cache está habilitado\n"
+"%15s  cache é persistente\n"
+"%15s  cache está compartilhado\n"
+"%15zu  tamanho sugerido\n"
+"%15zu  tamanho total de pool de dados\n"
+"%15zu  tamanho usado de pool de dados\n"
+"%15lu  segundos de vida para entradas positivas\n"
+"%15lu  segundos de vida para entradas negativas\n"
+"%15<PRIuMAX>  acertos do cache para entradas positivas\n"
+"%15<PRIuMAX>  acertos do cache para entradas negativas\n"
+"%15<PRIuMAX>  erros do cache para entradas positivas\n"
+"%15<PRIuMAX>  erros do cache para entradas negativas\n"
+"%15lu%% taxa de acertos do cache\n"
+"%15zu  número atual de valores em cache\n"
+"%15zu  número máximo de valores em cache\n"
+"%15zu  tamanho máximo de correntes pesquisadas\n"
+"%15<PRIuMAX>  número de atraso no rdlock\n"
+"%15<PRIuMAX>  número de atraso no wrlock\n"
+"%15<PRIuMAX>  alocações de memória falharam\n"
+"%15s  verifica /etc/%s por alterações\n"
+
+#: nscd/pwdcache.c:439
+#, c-format
+msgid "Haven't found \"%s\" in password cache!"
+msgstr "Não foi encontrado “%s” no cache de senhas!"
+
+#: nscd/pwdcache.c:441
+#, c-format
+msgid "Reloading \"%s\" in password cache!"
+msgstr "Recarregando “%s” no cache de senhas!"
+
+#: nscd/pwdcache.c:522
+#, c-format
+msgid "Invalid numeric uid \"%s\"!"
+msgstr "UID numérico inválido “%s”!"
+
+#: nscd/selinux.c:154
+#, c-format
+msgid "Failed opening connection to the audit subsystem: %m"
+msgstr "Falha ao abrir conexão com o subsistema de auditoria: %m"
+
+#: nscd/selinux.c:175
+msgid "Failed to set keep-capabilities"
+msgstr "Falha ao definir capacidades a serem mantidas"
+
+#: nscd/selinux.c:176 nscd/selinux.c:239
+msgid "prctl(KEEPCAPS) failed"
+msgstr "prctl(KEEPCAPS) falhou"
+
+#: nscd/selinux.c:190
+msgid "Failed to initialize drop of capabilities"
+msgstr "Falha ao inicializar descarte de capacidades"
+
+#: nscd/selinux.c:191
+msgid "cap_init failed"
+msgstr "cap_init falhou"
+
+#: nscd/selinux.c:212 nscd/selinux.c:229
+msgid "Failed to drop capabilities"
+msgstr "Falha ao descartar capacidades"
+
+#: nscd/selinux.c:213 nscd/selinux.c:230
+msgid "cap_set_proc failed"
+msgstr "cap_set_proc falhou"
+
+#: nscd/selinux.c:238
+msgid "Failed to unset keep-capabilities"
+msgstr "Falha ao remover definição de capacidades a serem mantidas"
+
+#: nscd/selinux.c:254
+msgid "Failed to determine if kernel supports SELinux"
+msgstr "Falha ao determinar se o kernel oferece suporte a SELinux"
+
+#: nscd/selinux.c:269
+msgid "Failed to start AVC thread"
+msgstr "Falha ao iniciar fluxo de AVC"
+
+#: nscd/selinux.c:291
+msgid "Failed to create AVC lock"
+msgstr "Falha ao criar trava de AVC"
+
+#: nscd/selinux.c:331
+msgid "Failed to start AVC"
+msgstr "Falha ao iniciar AVC"
+
+#: nscd/selinux.c:333
+msgid "Access Vector Cache (AVC) started"
+msgstr "Cache do Vetor de Acesso (AVC) iniciado"
+
+#: nscd/selinux.c:368
+msgid "Error querying policy for undefined object classes or permissions."
+msgstr "Erro ao consultar política por classes de objetos indefinidos ou permissões."
+
+#: nscd/selinux.c:375
+msgid "Error getting security class for nscd."
+msgstr "Erro ao obter classe de segurança para nscd."
+
+#: nscd/selinux.c:380
+#, c-format
+msgid "Error translating permission name \"%s\" to access vector bit."
+msgstr "Erro ao traduzir nome de permissão “%s” para bit do vetor de acesso."
+
+#: nscd/selinux.c:390
+msgid "Error getting context of socket peer"
+msgstr "Erro ao obter contexto do soquete da outra ponta"
+
+#: nscd/selinux.c:395
+msgid "Error getting context of nscd"
+msgstr "Erro ao obter um contexto do nscd"
+
+#: nscd/selinux.c:401
+msgid "Error getting sid from context"
+msgstr "Erro ao obter sid do contexto"
+
+#: nscd/selinux.c:439
+#, c-format
+msgid ""
+"\n"
+"SELinux AVC Statistics:\n"
+"\n"
+"%15u  entry lookups\n"
+"%15u  entry hits\n"
+"%15u  entry misses\n"
+"%15u  entry discards\n"
+"%15u  CAV lookups\n"
+"%15u  CAV hits\n"
+"%15u  CAV probes\n"
+"%15u  CAV misses\n"
+msgstr ""
+"\n"
+"Estatísticas do AVC do SELinux:\n"
+"\n"
+"%15u  consultas a registros\n"
+"%15u  acerto a registros\n"
+"%15u  erros a registros\n"
+"%15u  descarte de registros\n"
+"%15u  consultas a CAV\n"
+"%15u  acertos a CAV\n"
+"%15u  investigações de CAV\n"
+"%15u  erros de CAV\n"
+
+#: nscd/servicescache.c:387
+#, c-format
+msgid "Haven't found \"%s\" in services cache!"
+msgstr "Não foi encontrado “%s” no cache de serviços!"
+
+#: nscd/servicescache.c:389
+#, c-format
+msgid "Reloading \"%s\" in services cache!"
+msgstr "Recarregando “%s” no cache de serviços!"
+
+#: nss/getent.c:53
+msgid "database [key ...]"
+msgstr "base_de_dados [chave ...]"
+
+#: nss/getent.c:58
+msgid "CONFIG"
+msgstr "CONFIG"
+
+#: nss/getent.c:58
+msgid "Service configuration to be used"
+msgstr "Serviço de configuração a ser usado"
+
+#: nss/getent.c:59
+msgid "disable IDN encoding"
+msgstr "desabilita codificação de IDN"
+
+#: nss/getent.c:64
+msgid "Get entries from administrative database."
+msgstr "Obtém registros de banco de dados administrativo."
+
+#: nss/getent.c:148 nss/getent.c:441 nss/getent.c:486
+#, c-format
+msgid "Enumeration not supported on %s\n"
+msgstr "Sem suporte a enumeração no %s\n"
+
+#: nss/getent.c:861
+#, c-format
+msgid "Unknown database name"
+msgstr "Nome de banco de dados desconhecido"
+
+#: nss/getent.c:891
+msgid "Supported databases:\n"
+msgstr "Há suporte aos seguintes bancos de dados:\n"
+
+#: nss/getent.c:957
+#, c-format
+msgid "Unknown database: %s\n"
+msgstr "Base de dados desconhecida: %s\n"
+
+#: nss/makedb.c:119
+msgid "Convert key to lower case"
+msgstr "Converte chave para letras minúsculas"
+
+#: nss/makedb.c:122
+msgid "Do not print messages while building database"
+msgstr "Não mostra mensagens enquanto constrói base de dados"
+
+#: nss/makedb.c:124
+msgid "Print content of database file, one entry a line"
+msgstr "Mostra o conteúdo da base de dados do arquivo, um entrada por linha"
+
+#: nss/makedb.c:125
+msgid "CHAR"
+msgstr "CARACT"
+
+#: nss/makedb.c:126
+msgid "Generated line not part of iteration"
+msgstr "Linha gerada não é parte da iteração"
+
+#: nss/makedb.c:131
+msgid "Create simple database from textual input."
+msgstr "Cria um banco de dados simples de uma entrada textual."
+
+#: nss/makedb.c:134
+msgid ""
+"INPUT-FILE OUTPUT-FILE\n"
+"-o OUTPUT-FILE INPUT-FILE\n"
+"-u INPUT-FILE"
+msgstr ""
+"ARQUIVO-ENTRADA ARQUIVO-SAÍDA\n"
+"-o ARQUIVO-SAÍDA ARQUIVO-ENTRADA\n"
+"-u ARQUIVO-ENTRADA"
+
+#: nss/makedb.c:227
+#, c-format
+msgid "cannot open database file `%s'"
+msgstr "não foi possível abrir o arquivo de banco de dados “%s”"
+
+#: nss/makedb.c:272
+#, c-format
+msgid "no entries to be processed"
+msgstr "nenhum registro a ser processado"
+
+#: nss/makedb.c:282
+#, c-format
+msgid "cannot create temporary file name"
+msgstr "não foi possível criar um nome de arquivo temporário"
+
+#: nss/makedb.c:288
+#, c-format
+msgid "cannot create temporary file"
+msgstr "não foi possível criar um arquivo temporário"
+
+#: nss/makedb.c:304
+#, c-format
+msgid "cannot stat newly created file"
+msgstr "não foi possível obter estado do arquivo recém-criado"
+
+#: nss/makedb.c:315
+#, c-format
+msgid "cannot rename temporary file"
+msgstr "não foi possível renomear o arquivo temporário"
+
+#: nss/makedb.c:527 nss/makedb.c:550
+#, c-format
+msgid "cannot create search tree"
+msgstr "não foi possível criar árvore de pesquisa"
+
+#: nss/makedb.c:556
+msgid "duplicate key"
+msgstr "chave duplicada"
+
+#: nss/makedb.c:568
+#, c-format
+msgid "problems while reading `%s'"
+msgstr "problemas durante a leitura de “%s”"
+
+#: nss/makedb.c:795
+#, c-format
+msgid "failed to write new database file"
+msgstr "falha ao escrever novo arquivo de banco de dados"
+
+#: nss/makedb.c:808
+#, c-format
+msgid "cannot stat database file"
+msgstr "não foi possível obter estado do arquivo de banco de dados"
+
+#: nss/makedb.c:813
+#, c-format
+msgid "cannot map database file"
+msgstr "não foi possível mapear o arquivo de banco de dados"
+
+#: nss/makedb.c:816
+#, c-format
+msgid "file not a database file"
+msgstr "o arquivo não é um arquivo de banco de dados"
+
+#: nss/makedb.c:867
+#, c-format
+msgid "cannot set file creation context for `%s'"
+msgstr "não foi possível definir contexto de criação de arquivo para “%s”"
+
+#: posix/getconf.c:417
+#, c-format
+msgid "Usage: %s [-v specification] variable_name [pathname]\n"
+msgstr "Uso: %s [-v especificação] nome_da_variável [caminho]\n"
+
+#: posix/getconf.c:420
+#, c-format
+msgid "       %s -a [pathname]\n"
+msgstr "     %s -a [caminho]\n"
+
+#: posix/getconf.c:496
+#, c-format
+msgid ""
+"Usage: getconf [-v SPEC] VAR\n"
+"  or:  getconf [-v SPEC] PATH_VAR PATH\n"
+"\n"
+"Get the configuration value for variable VAR, or for variable PATH_VAR\n"
+"for path PATH.  If SPEC is given, give values for compilation\n"
+"environment SPEC.\n"
+"\n"
+msgstr ""
+"Uso: getconf [-v ESPEC] VAR\n"
+" ou: getconf [-v ESPEC] VAR_CAMINHO CAMINHO\n"
+"\n"
+"Obtém o valor de configuração da variável VAR ou para variável VAR_CAMINHO\n"
+"para caminho CAMINHO. Se ESPEC for dado, atribuir valores para ambiente de\n"
+"compilação ESPEC.\n"
+"\n"
+
+#: posix/getconf.c:572
+#, c-format
+msgid "unknown specification \"%s\""
+msgstr "especificação desconhecida “%s”"
+
+#: posix/getconf.c:624
+#, c-format
+msgid "Couldn't execute %s"
+msgstr "Não foi possível executar %s"
+
+#: posix/getconf.c:669 posix/getconf.c:685
+msgid "undefined"
+msgstr "indefinido"
+
+#: posix/getconf.c:707
+#, c-format
+msgid "Unrecognized variable `%s'"
+msgstr "Variável não reconhecida “%s”"
+
+#: posix/getopt.c:277
+#, c-format
+msgid "%s: option '%s%s' is ambiguous\n"
+msgstr "%s: a opção “%s%s” é ambígua\n"
+
+#: posix/getopt.c:283
+#, c-format
+msgid "%s: option '%s%s' is ambiguous; possibilities:"
+msgstr "%s: a opção “%s%s” é ambígua; possibilidades:"
+
+#: posix/getopt.c:318
+#, c-format
+msgid "%s: unrecognized option '%s%s'\n"
+msgstr "%s: opção não reconhecida “%s%s”\n"
+
+#: posix/getopt.c:344
+#, c-format
+msgid "%s: option '%s%s' doesn't allow an argument\n"
+msgstr "%s: a opção “%s%s” não permite um argumento\n"
+
+#: posix/getopt.c:359
+#, c-format
+msgid "%s: option '%s%s' requires an argument\n"
+msgstr "%s: a opção “%s%s” requer um argumento\n"
+
+#: posix/getopt.c:620
+#, c-format
+msgid "%s: invalid option -- '%c'\n"
+msgstr "%s: opção inválida -- “%c”\n"
+
+#: posix/getopt.c:635 posix/getopt.c:681
+#, c-format
+msgid "%s: option requires an argument -- '%c'\n"
+msgstr "%s: a opção requer um argumento -- “%c”\n"
+
+#: posix/regcomp.c:140
+msgid "No match"
+msgstr "Não confere"
+
+#: posix/regcomp.c:143
+msgid "Invalid regular expression"
+msgstr "Expressão regular inválida"
+
+#: posix/regcomp.c:146
+msgid "Invalid collation character"
+msgstr "Caractere de comparação inválido"
+
+#: posix/regcomp.c:149
+msgid "Invalid character class name"
+msgstr "Nome de classe de caractere inválido"
+
+#: posix/regcomp.c:152
+msgid "Trailing backslash"
+msgstr "Barra invertida final"
+
+#: posix/regcomp.c:155
+msgid "Invalid back reference"
+msgstr "Referência anterior inválida"
+
+#: posix/regcomp.c:158
+msgid "Unmatched [ or [^"
+msgstr "[ ou [^ descasados"
+
+#: posix/regcomp.c:161
+msgid "Unmatched ( or \\("
+msgstr "( ou \\( descasados"
+
+#: posix/regcomp.c:164
+msgid "Unmatched \\{"
+msgstr "\\{ descasado"
+
+#: posix/regcomp.c:167
+msgid "Invalid content of \\{\\}"
+msgstr "Conteúdo inválido de \\{\\}"
+
+#: posix/regcomp.c:170
+msgid "Invalid range end"
+msgstr "Intervalo final inválida"
+
+#: posix/regcomp.c:173
+msgid "Memory exhausted"
+msgstr "Memória esgotada"
+
+#: posix/regcomp.c:176
+msgid "Invalid preceding regular expression"
+msgstr "Expressão regular precedente inválida"
+
+#: posix/regcomp.c:179
+msgid "Premature end of regular expression"
+msgstr "Fim prematuro da expressão regular"
+
+#: posix/regcomp.c:182
+msgid "Regular expression too big"
+msgstr "Expressão regular muito longa"
+
+#: posix/regcomp.c:185
+msgid "Unmatched ) or \\)"
+msgstr ") ou \\) descasados"
+
+#: posix/regcomp.c:675
+msgid "No previous regular expression"
+msgstr "Não há expressão regular anterior"
+
+#: posix/wordexp.c:1803
+msgid "parameter null or not set"
+msgstr "parâmetro nulo ou não definido"
+
+#: resolv/herror.c:63
+msgid "Resolver Error 0 (no error)"
+msgstr "Erro de resolvedor 0 (não há erro)"
+
+#: resolv/herror.c:64
+msgid "Unknown host"
+msgstr "Host desconhecido"
+
+#: resolv/herror.c:65
+msgid "Host name lookup failure"
+msgstr "Falha na procura do nome de host"
+
+#: resolv/herror.c:66
+msgid "Unknown server error"
+msgstr "Erro desconhecido de servidor"
+
+#: resolv/herror.c:67
+msgid "No address associated with name"
+msgstr "Não há endereço associado com o nome"
+
+#: resolv/herror.c:102
+msgid "Resolver internal error"
+msgstr "Erro interno do resolvedor"
+
+#: resolv/herror.c:105
+msgid "Unknown resolver error"
+msgstr "Erro desconhecido do resolvedor"
+
+#: resolv/res_hconf.c:118
+#, c-format
+msgid "%s: line %d: cannot specify more than %d trim domains"
+msgstr "%s: linha %d: não é possível especificar mais de %d domínios"
+
+#: resolv/res_hconf.c:139
+#, c-format
+msgid "%s: line %d: list delimiter not followed by domain"
+msgstr "%s: linha %d: delimitador de lista não seguido pelo domínio"
+
+#: resolv/res_hconf.c:176
+#, c-format
+msgid "%s: line %d: expected `on' or `off', found `%s'\n"
+msgstr "%s: linha %d: esperava “on” ou “off”, encontrou “%s”\n"
+
+#: resolv/res_hconf.c:219
+#, c-format
+msgid "%s: line %d: bad command `%s'\n"
+msgstr "%s: linha %d: comando inválido “%s”\n"
+
+#: resolv/res_hconf.c:252
+#, c-format
+msgid "%s: line %d: ignoring trailing garbage `%s'\n"
+msgstr "%s: linha %d: ignorando lixo ao final “%s”\n"
+
+#: stdio-common/psiginfo-data.h:2
+msgid "Illegal opcode"
+msgstr "Código de operação ilegal"
+
+#: stdio-common/psiginfo-data.h:3
+msgid "Illegal operand"
+msgstr "Operando ilegal"
+
+#: stdio-common/psiginfo-data.h:4
+msgid "Illegal addressing mode"
+msgstr "Modo de endereçamento ilegal"
+
+#: stdio-common/psiginfo-data.h:5
+msgid "Illegal trap"
+msgstr "Armadilha ilegal"
+
+#: stdio-common/psiginfo-data.h:6
+msgid "Privileged opcode"
+msgstr "Código de operação privilegiado"
+
+#: stdio-common/psiginfo-data.h:7
+msgid "Privileged register"
+msgstr "Registrador privilegiado"
+
+#: stdio-common/psiginfo-data.h:8
+msgid "Coprocessor error"
+msgstr "Erro do coprocessador"
+
+#: stdio-common/psiginfo-data.h:9
+msgid "Internal stack error"
+msgstr "Erro interno da pilha"
+
+#: stdio-common/psiginfo-data.h:12
+msgid "Integer divide by zero"
+msgstr "Divisão de inteiro por zero"
+
+#: stdio-common/psiginfo-data.h:13
+msgid "Integer overflow"
+msgstr "Estouro de valor inteiro"
+
+#: stdio-common/psiginfo-data.h:14
+msgid "Floating-point divide by zero"
+msgstr "Divisão de ponto flutuante por zero"
+
+#: stdio-common/psiginfo-data.h:15
+msgid "Floating-point overflow"
+msgstr "Estouro de ponto flutuante"
+
+#: stdio-common/psiginfo-data.h:16
+msgid "Floating-point underflow"
+msgstr "Estouro negativo de ponto flutuante"
+
+#: stdio-common/psiginfo-data.h:17
+msgid "Floating-poing inexact result"
+msgstr "Resultado inexato de ponto flutuante"
+
+#: stdio-common/psiginfo-data.h:18
+msgid "Invalid floating-point operation"
+msgstr "Operação inválida de ponto flutuante"
+
+#: stdio-common/psiginfo-data.h:19
+msgid "Subscript out of range"
+msgstr "Subscrito fora da faixa"
+
+#: stdio-common/psiginfo-data.h:22
+msgid "Address not mapped to object"
+msgstr "Endereço não mapeado ao objeto"
+
+#: stdio-common/psiginfo-data.h:23
+msgid "Invalid permissions for mapped object"
+msgstr "Permissões inválidas para objeto mapeado"
+
+#: stdio-common/psiginfo-data.h:26
+msgid "Invalid address alignment"
+msgstr "Alinhamento inválido de endereço"
+
+#: stdio-common/psiginfo-data.h:27
+msgid "Nonexisting physical address"
+msgstr "Endereço físico inexistente"
+
+#: stdio-common/psiginfo-data.h:28
+msgid "Object-specific hardware error"
+msgstr "Erro de hardware específico do objeto"
+
+#: stdio-common/psiginfo-data.h:31
+msgid "Process breakpoint"
+msgstr "Ponto de interrupção de processo"
+
+#: stdio-common/psiginfo-data.h:32
+msgid "Process trace trap"
+msgstr "Interrupção de rastreamento de processo"
+
+#: stdio-common/psiginfo-data.h:35
+msgid "Child has exited"
+msgstr "Processo filho saiu"
+
+#: stdio-common/psiginfo-data.h:36
+msgid "Child has terminated abnormally and did not create a core file"
+msgstr "Processo filho foi terminado anormalmente e não criou um arquivo de núcleo"
+
+#: stdio-common/psiginfo-data.h:37
+msgid "Child has terminated abnormally and created a core file"
+msgstr "Processo filho foi terminado anormalmente e criou um arquivo de núcleo"
+
+#: stdio-common/psiginfo-data.h:38
+msgid "Traced child has trapped"
+msgstr "Processo filho rastreado atingiu uma armadilha"
+
+#: stdio-common/psiginfo-data.h:39
+msgid "Child has stopped"
+msgstr "Processo filho parou"
+
+#: stdio-common/psiginfo-data.h:40
+msgid "Stopped child has continued"
+msgstr "Processo filho parado continuou"
+
+#: stdio-common/psiginfo-data.h:43
+msgid "Data input available"
+msgstr "Entrada de dados disponível"
+
+#: stdio-common/psiginfo-data.h:44
+msgid "Output buffers available"
+msgstr "Buffers de saída disponíveis"
+
+#: stdio-common/psiginfo-data.h:45
+msgid "Input message available"
+msgstr "Mensagem de entrada disponível"
+
+#: stdio-common/psiginfo-data.h:46 timezone/zdump.c:381 timezone/zic.c:520
+msgid "I/O error"
+msgstr "Erro de E/S"
+
+#: stdio-common/psiginfo-data.h:47
+msgid "High priority input available"
+msgstr "Entrada de prioridade muito alta disponível"
+
+#: stdio-common/psiginfo-data.h:48
+msgid "Device disconnected"
+msgstr "Dispositivo desconectado"
+
+#: stdio-common/psiginfo.c:140
+msgid "Signal sent by kill()"
+msgstr "Sinal enviado por kill()"
+
+#: stdio-common/psiginfo.c:143
+msgid "Signal sent by sigqueue()"
+msgstr "Sinal enviado por sigqueue()"
+
+#: stdio-common/psiginfo.c:146
+msgid "Signal generated by the expiration of a timer"
+msgstr "Sinal gerado pela expiração de um temporizador"
+
+#: stdio-common/psiginfo.c:149
+msgid "Signal generated by the completion of an asynchronous I/O request"
+msgstr "Sinal gerado pelo completamento de uma requisição assíncrona de E/S"
+
+#: stdio-common/psiginfo.c:153
+msgid "Signal generated by the arrival of a message on an empty message queue"
+msgstr "Sinal gerado pela chegada de uma mensagem em uma pilhe de mensagens vazia"
+
+#: stdio-common/psiginfo.c:158
+msgid "Signal sent by tkill()"
+msgstr "Sinal enviado por tkill()"
+
+#: stdio-common/psiginfo.c:163
+msgid "Signal generated by the completion of an asynchronous name lookup request"
+msgstr "Sinal gerada pelo completamento de uma requisição assíncrona de procura de nome"
+
+#: stdio-common/psiginfo.c:169
+msgid "Signal generated by the completion of an I/O request"
+msgstr "Sinal gerado pelo completamento de uma requisição de E/S"
+
+#: stdio-common/psiginfo.c:175
+msgid "Signal sent by the kernel"
+msgstr "Sinal enviado pelo kernel"
+
+#: stdio-common/psiginfo.c:199
+#, c-format
+msgid "Unknown signal %d\n"
+msgstr "Sinal desconhecido %d\n"
+
+#: stdio-common/psignal.c:43
+#, c-format
+msgid "%s%sUnknown signal %d\n"
+msgstr "%s%sSinal desconhecido %d\n"
+
+#: stdio-common/psignal.c:44
+msgid "Unknown signal"
+msgstr "Sinal desconhecido"
+
+#: string/_strerror.c:45 sysdeps/mach/_strerror.c:86
+msgid "Unknown error "
+msgstr "Erro desconhecido "
+
+#: string/strerror.c:41
+msgid "Unknown error"
+msgstr "Erro desconhecido"
+
+#: string/strsignal.c:60
+#, c-format
+msgid "Real-time signal %d"
+msgstr "Sinal de tempo-real %d"
+
+#: string/strsignal.c:64
+#, c-format
+msgid "Unknown signal %d"
+msgstr "Sinal desconhecido %d"
+
+#: sunrpc/auth_unix.c:112 sunrpc/clnt_tcp.c:124 sunrpc/clnt_udp.c:139
+#: sunrpc/clnt_unix.c:125 sunrpc/svc_tcp.c:189 sunrpc/svc_tcp.c:233
+#: sunrpc/svc_udp.c:161 sunrpc/svc_unix.c:189 sunrpc/svc_unix.c:229
+#: sunrpc/xdr.c:628 sunrpc/xdr.c:788 sunrpc/xdr_array.c:102
+#: sunrpc/xdr_rec.c:153 sunrpc/xdr_ref.c:79
+msgid "out of memory\n"
+msgstr "memória insuficiente\n"
+
+#: sunrpc/auth_unix.c:349
+msgid "auth_unix.c: Fatal marshalling problem"
+msgstr "auth_unix.c: Problema fatal de marshalling"
+
+#: sunrpc/clnt_perr.c:96 sunrpc/clnt_perr.c:112
+#, c-format
+msgid "%s: %s; low version = %lu, high version = %lu"
+msgstr "%s: %s; versão baixa = %lu, versão alta = %lu"
+
+#: sunrpc/clnt_perr.c:103
+#, c-format
+msgid "%s: %s; why = %s\n"
+msgstr "%s: %s; por que = %s\n"
+
+#: sunrpc/clnt_perr.c:105
+#, c-format
+msgid "%s: %s; why = (unknown authentication error - %d)\n"
+msgstr "%s: %s; por que = (erro desconhecido de autenticação – %d)\n"
+
+#: sunrpc/clnt_perr.c:154
+msgid "RPC: Success"
+msgstr "RPC: Sucesso"
+
+#: sunrpc/clnt_perr.c:157
+msgid "RPC: Can't encode arguments"
+msgstr "RPC: não foi possível codificar argumentos"
+
+#: sunrpc/clnt_perr.c:161
+msgid "RPC: Can't decode result"
+msgstr "RPC: não foi possível decodificar resultado"
+
+#: sunrpc/clnt_perr.c:165
+msgid "RPC: Unable to send"
+msgstr "RPC: não foi possível enviar"
+
+#: sunrpc/clnt_perr.c:169
+msgid "RPC: Unable to receive"
+msgstr "RPC: não foi possível receber"
+
+#: sunrpc/clnt_perr.c:173
+msgid "RPC: Timed out"
+msgstr "RPC: Tempo esgotado"
+
+#: sunrpc/clnt_perr.c:177
+msgid "RPC: Incompatible versions of RPC"
+msgstr "RPC: Versões incompatíveis de RPC"
+
+#: sunrpc/clnt_perr.c:181
+msgid "RPC: Authentication error"
+msgstr "RPC: Erro de autenticação"
+
+#: sunrpc/clnt_perr.c:185
+msgid "RPC: Program unavailable"
+msgstr "RPC: Programa indisponível"
+
+#: sunrpc/clnt_perr.c:189
+msgid "RPC: Program/version mismatch"
+msgstr "RPC: Programa/versão incompatíveis"
+
+#: sunrpc/clnt_perr.c:193
+msgid "RPC: Procedure unavailable"
+msgstr "RPC: Procedimento indisponível"
+
+#: sunrpc/clnt_perr.c:197
+msgid "RPC: Server can't decode arguments"
+msgstr "RPC: O servidor não pode decodificar os argumentos"
+
+#: sunrpc/clnt_perr.c:201
+msgid "RPC: Remote system error"
+msgstr "RPC: Erro remoto de sistema"
+
+#: sunrpc/clnt_perr.c:205
+msgid "RPC: Unknown host"
+msgstr "RPC: Host desconhecido"
+
+#: sunrpc/clnt_perr.c:209
+msgid "RPC: Unknown protocol"
+msgstr "RPC: Protocolo desconhecido"
+
+#: sunrpc/clnt_perr.c:213
+msgid "RPC: Port mapper failure"
+msgstr "RPC: Falha no Port mapper"
+
+#: sunrpc/clnt_perr.c:217
+msgid "RPC: Program not registered"
+msgstr "RPC: Programa não registrado"
+
+#: sunrpc/clnt_perr.c:221
+msgid "RPC: Failed (unspecified error)"
+msgstr "RPC: Falhou (erro não especificado)"
+
+#: sunrpc/clnt_perr.c:262
+msgid "RPC: (unknown error code)"
+msgstr "RPC: (código de erro desconhecido)"
+
+#: sunrpc/clnt_perr.c:334
+msgid "Authentication OK"
+msgstr "Autenticação OK"
+
+#: sunrpc/clnt_perr.c:337
+msgid "Invalid client credential"
+msgstr "Credencial de cliente inválido"
+
+#: sunrpc/clnt_perr.c:341
+msgid "Server rejected credential"
+msgstr "Servidor rejeitou credencial"
+
+#: sunrpc/clnt_perr.c:345
+msgid "Invalid client verifier"
+msgstr "Verificador de cliente inválido"
+
+#: sunrpc/clnt_perr.c:349
+msgid "Server rejected verifier"
+msgstr "Servidor rejeitou verificador"
+
+#: sunrpc/clnt_perr.c:353
+msgid "Client credential too weak"
+msgstr "Credencial do cliente muito fraca"
+
+#: sunrpc/clnt_perr.c:357
+msgid "Invalid server verifier"
+msgstr "Verificador de servidor inválido"
+
+#: sunrpc/clnt_perr.c:361
+msgid "Failed (unspecified error)"
+msgstr "Falha (erro não especificado)"
+
+#: sunrpc/clnt_raw.c:116
+msgid "clnt_raw.c: fatal header serialization error"
+msgstr "clnt_raw.c: erro fatal no cabeçalho de serialização"
+
+#: sunrpc/pm_getmaps.c:78
+msgid "pmap_getmaps.c: rpc problem"
+msgstr "pmap_getmaps.c: problema de rpc"
+
+#: sunrpc/pmap_clnt.c:128
+msgid "Cannot register service"
+msgstr "Não foi possível registrar serviço"
+
+#: sunrpc/pmap_rmt.c:244
+msgid "Cannot create socket for broadcast rpc"
+msgstr "Não foi possível criar socket para rpc de broadcast"
+
+#: sunrpc/pmap_rmt.c:251
+msgid "Cannot set socket option SO_BROADCAST"
+msgstr "Não foi possível usar opção do socket SO_BROADCAST"
+
+#: sunrpc/pmap_rmt.c:303
+msgid "Cannot send broadcast packet"
+msgstr "Não foi possível enviar pacote de broadcast"
+
+#: sunrpc/pmap_rmt.c:328
+msgid "Broadcast poll problem"
+msgstr "Problema na pesquisa de broadcast"
+
+#: sunrpc/pmap_rmt.c:341
+msgid "Cannot receive reply to broadcast"
+msgstr "Não foi possível receber resposta para broadcast"
+
+#: sunrpc/rpc_main.c:281
+#, c-format
+msgid "%s: output would overwrite %s\n"
+msgstr "%s: saída poderá sobrescrever %s\n"
+
+#: sunrpc/rpc_main.c:288
+#, c-format
+msgid "%s: unable to open %s: %m\n"
+msgstr "%s: não foi possível abrir %s: %m\n"
+
+#: sunrpc/rpc_main.c:300
+#, c-format
+msgid "%s: while writing output %s: %m"
+msgstr "%s: ao escrever saída %s: %m"
+
+#: sunrpc/rpc_main.c:336 sunrpc/rpc_main.c:375
+#, c-format
+msgid "cannot find C preprocessor: %s\n"
+msgstr "não foi possível localizar pré-processador C: %s\n"
+
+#: sunrpc/rpc_main.c:411
+#, c-format
+msgid "%s: C preprocessor failed with signal %d\n"
+msgstr "%s: pré-processador C falhou com sinal %d\n"
+
+#: sunrpc/rpc_main.c:414
+#, c-format
+msgid "%s: C preprocessor failed with exit code %d\n"
+msgstr "%s: pré-processador C falhou com código de saída %d\n"
+
+#: sunrpc/rpc_main.c:454
+#, c-format
+msgid "illegal nettype: `%s'\n"
+msgstr "nettype ilegal: “%s”\n"
+
+#: sunrpc/rpc_main.c:1089
+#, c-format
+msgid "rpcgen: too many defines\n"
+msgstr "rpcgen: número excessivo de definições\n"
+
+#: sunrpc/rpc_main.c:1101
+#, c-format
+msgid "rpcgen: arglist coding error\n"
+msgstr "rpcgen: erro na codificação de parâmetros\n"
+
+#. TRANS: the file will not be removed; this is an
+#. TRANS: informative message.
+#: sunrpc/rpc_main.c:1134
+#, c-format
+msgid "file `%s' already exists and may be overwritten\n"
+msgstr "o arquivo “%s” já existe e pode ser sobrescrito\n"
+
+#: sunrpc/rpc_main.c:1179
+#, c-format
+msgid "Cannot specify more than one input file!\n"
+msgstr "Não é possível especificar mais de um arquivo de entrada!\n"
+
+#: sunrpc/rpc_main.c:1349
+#, c-format
+msgid "This implementation doesn't support newstyle or MT-safe code!\n"
+msgstr "Essa implementação não oferece suporte a código newstyle ou MT-safe!\n"
+
+#: sunrpc/rpc_main.c:1358
+#, c-format
+msgid "Cannot use netid flag with inetd flag!\n"
+msgstr "Não é possível usar tabela de indicadores com novo estilo!\n"
+
+#: sunrpc/rpc_main.c:1367
+#, c-format
+msgid "Cannot use netid flag without TIRPC!\n"
+msgstr "Não é possível usar indicador netid sem TIRPC!\n"
+
+#: sunrpc/rpc_main.c:1374
+#, c-format
+msgid "Cannot use table flags with newstyle!\n"
+msgstr "Não é possível usar indicadores de tabelas com novo estilo!\n"
+
+#: sunrpc/rpc_main.c:1393
+#, c-format
+msgid "\"infile\" is required for template generation flags.\n"
+msgstr "“arq-entrada” é necessário para geração de indicadores do modelo.\n"
+
+#: sunrpc/rpc_main.c:1398
+#, c-format
+msgid "Cannot have more than one file generation flag!\n"
+msgstr "Não é possível ter mais de um indicador de geração de arquivo!\n"
+
+#: sunrpc/rpc_main.c:1407
+#, c-format
+msgid "usage: %s infile\n"
+msgstr "uso: %s arq-entrada\n"
+
+#: sunrpc/rpc_main.c:1408
+#, c-format
+msgid "\t%s [-abkCLNTM][-Dname[=value]] [-i size] [-I [-K seconds]] [-Y path] infile\n"
+msgstr "\t%s [-abkCLNTM][-Dnome[=valor]] [-i tam] [-I [-K segs]] [-Y rota] arq-entrada\n"
+
+#: sunrpc/rpc_main.c:1410
+#, c-format
+msgid "\t%s [-c | -h | -l | -m | -t | -Sc | -Ss | -Sm] [-o outfile] [infile]\n"
+msgstr "\t%s [-c | -h | -l | -m | -t | -Sc | -Ss | -Sm] [-o arq-saída] [arq-entrada]\n"
+
+#: sunrpc/rpc_main.c:1412
+#, c-format
+msgid "\t%s [-s nettype]* [-o outfile] [infile]\n"
+msgstr "\t%s [-s tipo-rede]* [-o arq-saída] [arq-entrada]\n"
+
+#: sunrpc/rpc_main.c:1413
+#, c-format
+msgid "\t%s [-n netid]* [-o outfile] [infile]\n"
+msgstr "\t%s [-n id-rede]* [-o arq-saída] [arq-entrada]\n"
+
+#: sunrpc/rpc_main.c:1421
+#, c-format
+msgid "options:\n"
+msgstr "opções:\n"
+
+#: sunrpc/rpc_main.c:1422
+#, c-format
+msgid "-a\t\tgenerate all files, including samples\n"
+msgstr "-a\t\tgera todos arquivos, incluindo amostras\n"
+
+#: sunrpc/rpc_main.c:1423
+#, c-format
+msgid "-b\t\tbackward compatibility mode (generates code for SunOS 4.1)\n"
+msgstr "-b\t\tmodo de compatibilidade reversa (gera código para SunOS 4.1)\n"
+
+#: sunrpc/rpc_main.c:1424
+#, c-format
+msgid "-c\t\tgenerate XDR routines\n"
+msgstr "-c\t\tgera rotinas XDR\n"
+
+#: sunrpc/rpc_main.c:1425
+#, c-format
+msgid "-C\t\tANSI C mode\n"
+msgstr "-C\t\tmodo ANSI C\n"
+
+#: sunrpc/rpc_main.c:1426
+#, c-format
+msgid "-Dname[=value]\tdefine a symbol (same as #define)\n"
+msgstr "-Dnome[=valor]\tdefine um símbolo (mesmos que #define)\n"
+
+#: sunrpc/rpc_main.c:1427
+#, c-format
+msgid "-h\t\tgenerate header file\n"
+msgstr "-h\t\tgera arquivo de cabeçalho\n"
+
+#: sunrpc/rpc_main.c:1428
+#, c-format
+msgid "-i size\t\tsize at which to start generating inline code\n"
+msgstr "-i tamanho\ttamanho no qual se inicia geração de código em linha\n"
+
+#: sunrpc/rpc_main.c:1429
+#, c-format
+msgid "-I\t\tgenerate code for inetd support in server (for SunOS 4.1)\n"
+msgstr "-I\t\tgera código para suporte inetd em servidor (para SunOS 4.1)\n"
+
+#: sunrpc/rpc_main.c:1430
+#, c-format
+msgid "-K seconds\tserver exits after K seconds of inactivity\n"
+msgstr "-K segundos\tservidor sai após K segundos de inatividade\n"
+
+#: sunrpc/rpc_main.c:1431
+#, c-format
+msgid "-l\t\tgenerate client side stubs\n"
+msgstr "-l\t\tgera stubs do lado do cliente\n"
+
+#: sunrpc/rpc_main.c:1432
+#, c-format
+msgid "-L\t\tserver errors will be printed to syslog\n"
+msgstr "-L\t\terros de servidor serão imprimidos ao syslog\n"
+
+#: sunrpc/rpc_main.c:1433
+#, c-format
+msgid "-m\t\tgenerate server side stubs\n"
+msgstr "-l\t\tgera stubs do lado do servidor\n"
+
+#: sunrpc/rpc_main.c:1434
+#, c-format
+msgid "-M\t\tgenerate MT-safe code\n"
+msgstr "-M\t\tgera código MT-safe\n"
+
+#: sunrpc/rpc_main.c:1435
+#, c-format
+msgid "-n netid\tgenerate server code that supports named netid\n"
+msgstr "-n id-rede\tgera código de servidor que aceita o id-rede nomeado\n"
+
+#: sunrpc/rpc_main.c:1436
+#, c-format
+msgid "-N\t\tsupports multiple arguments and call-by-value\n"
+msgstr "-N\t\taceita múltiplos argumentos de chamadas por valor\n"
+
+#: sunrpc/rpc_main.c:1437
+#, c-format
+msgid "-o outfile\tname of the output file\n"
+msgstr "-o arq-saída\tnome do arquivo de saída\n"
+
+#: sunrpc/rpc_main.c:1438
+#, c-format
+msgid "-s nettype\tgenerate server code that supports named nettype\n"
+msgstr "-s tipo-rede\tgera código de servidor que aceita o tipo-rede nomeado\n"
+
+#: sunrpc/rpc_main.c:1439
+#, c-format
+msgid "-Sc\t\tgenerate sample client code that uses remote procedures\n"
+msgstr "-Sc\t\tgera amostra de código cliente que usa procedimentos remotos\n"
+
+#: sunrpc/rpc_main.c:1440
+#, c-format
+msgid "-Ss\t\tgenerate sample server code that defines remote procedures\n"
+msgstr "-Ss\t\tgera amostra de código servidor que define procedimentos remotos\n"
+
+#: sunrpc/rpc_main.c:1441
+#, c-format
+msgid "-Sm \t\tgenerate makefile template \n"
+msgstr "-Sm \t\tgera modelo de makefile \n"
+
+#: sunrpc/rpc_main.c:1442
+#, c-format
+msgid "-t\t\tgenerate RPC dispatch table\n"
+msgstr "-t\t\tgera tabela de expedição RPC\n"
+
+#: sunrpc/rpc_main.c:1443
+#, c-format
+msgid "-T\t\tgenerate code to support RPC dispatch tables\n"
+msgstr "-T\t\tgera código para lidar com tabelas de expedição RPC\n"
+
+#: sunrpc/rpc_main.c:1444
+#, c-format
+msgid "-Y path\t\tdirectory name to find C preprocessor (cpp)\n"
+msgstr "-Y rota\t\tnome do diretório para localizar pré-processador C (cpp)\n"
+
+#: sunrpc/rpc_main.c:1445
+#, c-format
+msgid "-5\t\tSysVr4 compatibility mode\n"
+msgstr "-5\t\tmodo de compatibilidade com SysVr4\n"
+
+#: sunrpc/rpc_main.c:1446
+#, c-format
+msgid "--help\t\tgive this help list\n"
+msgstr "--help\t\tfornece essa lista de ajuda\n"
+
+#: sunrpc/rpc_main.c:1447
+#, c-format
+msgid "--version\tprint program version\n"
+msgstr "--version\temite a versão do programa\n"
+
+#: sunrpc/rpc_main.c:1449
+#, c-format
+msgid ""
+"\n"
+"For bug reporting instructions, please see:\n"
+"%s.\n"
+msgstr ""
+"\n"
+"Para instruções sobre relatório de erro, veja:\n"
+"%s.\n"
+
+#: sunrpc/rpc_scan.c:112
+msgid "constant or identifier expected"
+msgstr "identificador ou constante esperado"
+
+#: sunrpc/rpc_scan.c:308
+msgid "illegal character in file: "
+msgstr "caracteres ilegais no arquivo: "
+
+#: sunrpc/rpc_scan.c:347 sunrpc/rpc_scan.c:373
+msgid "unterminated string constant"
+msgstr "constante string não terminada"
+
+#: sunrpc/rpc_scan.c:379
+msgid "empty char string"
+msgstr "cadeia de caractere vazia"
+
+#: sunrpc/rpc_scan.c:521 sunrpc/rpc_scan.c:531
+msgid "preprocessor error"
+msgstr "Erro de pré-processador"
+
+#: sunrpc/svc_run.c:72
+msgid "svc_run: - out of memory"
+msgstr "svc_run: – memória insuficiente"
+
+#: sunrpc/svc_run.c:92
+msgid "svc_run: - poll failed"
+msgstr "svc_run: – poll falhou"
+
+#: sunrpc/svc_simple.c:80
+#, c-format
+msgid "can't reassign procedure number %ld\n"
+msgstr "não é possível reatribuir número de procedimento %ld\n"
+
+#: sunrpc/svc_simple.c:90
+msgid "couldn't create an rpc server\n"
+msgstr "não foi possível criar um servidor rpc\n"
+
+#: sunrpc/svc_simple.c:98
+#, c-format
+msgid "couldn't register prog %ld vers %ld\n"
+msgstr "não foi possível registrar prog %ld vers %ld\n"
+
+#: sunrpc/svc_simple.c:106
+msgid "registerrpc: out of memory\n"
+msgstr "registerrpc: memória insuficiente\n"
+
+#: sunrpc/svc_simple.c:169
+#, c-format
+msgid "trouble replying to prog %d\n"
+msgstr "problemas ao responder ao prog %d\n"
+
+#: sunrpc/svc_simple.c:178
+#, c-format
+msgid "never registered prog %d\n"
+msgstr "prog %d nunca registrado\n"
+
+#: sunrpc/svc_tcp.c:165
+msgid "svc_tcp.c - tcp socket creation problem"
+msgstr "svc_tcp_.c – problema na criação do soquete AF_UNIX"
+
+#: sunrpc/svc_tcp.c:180
+msgid "svc_tcp.c - cannot getsockname or listen"
+msgstr "svc_tcp_.c – não foi possível receber getsocknome ou listen"
+
+#: sunrpc/svc_udp.c:136
+msgid "svcudp_create: socket creation problem"
+msgstr "svcudp_create: problema na criação socket"
+
+#: sunrpc/svc_udp.c:150
+msgid "svcudp_create - cannot getsockname"
+msgstr "svcudp_create – não foi possível getsockname"
+
+#: sunrpc/svc_udp.c:182
+msgid "svcudp_create: xp_pad is too small for IP_PKTINFO\n"
+msgstr "svcudp_create: xp_pad é pequeno demais para IP_PKTINFO\n"
+
+#: sunrpc/svc_udp.c:481
+msgid "enablecache: cache already enabled"
+msgstr "enablecache: cache já ativado"
+
+#: sunrpc/svc_udp.c:487
+msgid "enablecache: could not allocate cache"
+msgstr "enablecache: não foi possível alocar cache"
+
+#: sunrpc/svc_udp.c:496
+msgid "enablecache: could not allocate cache data"
+msgstr "enablecache: não foi possível alocar dados do cache"
+
+#: sunrpc/svc_udp.c:504
+msgid "enablecache: could not allocate cache fifo"
+msgstr "enablecache: não foi possível alocar fifo de cache"
+
+#: sunrpc/svc_udp.c:540
+msgid "cache_set: victim not found"
+msgstr "cache_set: vítima não localizada"
+
+#: sunrpc/svc_udp.c:551
+msgid "cache_set: victim alloc failed"
+msgstr "cache_set: alocação de vítima falhou"
+
+#: sunrpc/svc_udp.c:558
+msgid "cache_set: could not allocate new rpc_buffer"
+msgstr "cache_set: não foi possível alocar novo rpc_buffer"
+
+#: sunrpc/svc_unix.c:163
+msgid "svc_unix.c - AF_UNIX socket creation problem"
+msgstr "svc_tcp_.c – problema na criação do soquete AF_UNIX"
+
+#: sunrpc/svc_unix.c:179
+msgid "svc_unix.c - cannot getsockname or listen"
+msgstr "svc_tcp_.c – não foi possível receber getsocknome ou listen"
+
+#: sysdeps/generic/siglist.h:29
+msgid "Hangup"
+msgstr "Desconexão"
+
+#: sysdeps/generic/siglist.h:30
+msgid "Interrupt"
+msgstr "Interrupção"
+
+#: sysdeps/generic/siglist.h:31
+msgid "Quit"
+msgstr "Sair"
+
+#: sysdeps/generic/siglist.h:32
+msgid "Illegal instruction"
+msgstr "Instrução ilegal"
+
+#: sysdeps/generic/siglist.h:33
+msgid "Trace/breakpoint trap"
+msgstr "Trace/breakpoint trap"
+
+#: sysdeps/generic/siglist.h:34
+msgid "Aborted"
+msgstr "Abortado"
+
+#: sysdeps/generic/siglist.h:35
+msgid "Floating point exception"
+msgstr "Exceção de ponto flutuante"
+
+#: sysdeps/generic/siglist.h:36
+msgid "Killed"
+msgstr "Morto"
+
+#: sysdeps/generic/siglist.h:37
+msgid "Bus error"
+msgstr "Erro no barramento"
+
+#: sysdeps/generic/siglist.h:38
+msgid "Bad system call"
+msgstr "Chamada de sistema inválida"
+
+#: sysdeps/generic/siglist.h:39
+msgid "Segmentation fault"
+msgstr "Falha de segmentação"
+
+#. TRANS There is no process reading from the other end of a pipe.
+#. TRANS Every library function that returns this error code also generates a
+#. TRANS @code{SIGPIPE} signal; this signal terminates the program if not handled
+#. TRANS or blocked.  Thus, your program will never actually see @code{EPIPE}
+#. TRANS unless it has handled or blocked @code{SIGPIPE}.
+#: sysdeps/generic/siglist.h:40 sysdeps/gnu/errlist.c:360
+msgid "Broken pipe"
+msgstr "Pipe quebrado"
+
+#: sysdeps/generic/siglist.h:41
+msgid "Alarm clock"
+msgstr "Alarme de tempo"
+
+#: sysdeps/generic/siglist.h:42
+msgid "Terminated"
+msgstr "Terminado"
+
+#: sysdeps/generic/siglist.h:43
+msgid "Urgent I/O condition"
+msgstr "Condição urgente de E/S"
+
+#: sysdeps/generic/siglist.h:44
+msgid "Stopped (signal)"
+msgstr "Parado (sinal)"
+
+#: sysdeps/generic/siglist.h:45
+msgid "Stopped"
+msgstr "Parado"
+
+#: sysdeps/generic/siglist.h:46
+msgid "Continued"
+msgstr "Continua"
+
+#: sysdeps/generic/siglist.h:47
+msgid "Child exited"
+msgstr "Filho finalizado"
+
+#: sysdeps/generic/siglist.h:48
+msgid "Stopped (tty input)"
+msgstr "Parado (entrada tty)"
+
+#: sysdeps/generic/siglist.h:49
+msgid "Stopped (tty output)"
+msgstr "Parado (saída tty)"
+
+#: sysdeps/generic/siglist.h:50
+msgid "I/O possible"
+msgstr "Possível E/S"
+
+#: sysdeps/generic/siglist.h:51
+msgid "CPU time limit exceeded"
+msgstr "Tempo de CPU excedido"
+
+#: sysdeps/generic/siglist.h:52
+msgid "File size limit exceeded"
+msgstr "Excedido tamanho limite de arquivo"
+
+#: sysdeps/generic/siglist.h:53
+msgid "Virtual timer expired"
+msgstr "Temporizador virtual expirado"
+
+#: sysdeps/generic/siglist.h:54
+msgid "Profiling timer expired"
+msgstr "Tempo expirado para perfilamento"
+
+#: sysdeps/generic/siglist.h:55
+msgid "User defined signal 1"
+msgstr "Sinal 1 definido pelo usuário"
+
+#: sysdeps/generic/siglist.h:56
+msgid "User defined signal 2"
+msgstr "Sinal 2 definido pelo usuário"
+
+#: sysdeps/generic/siglist.h:57
+msgid "Window changed"
+msgstr "Janela alterada"
+
+#: sysdeps/generic/siglist.h:61
+msgid "EMT trap"
+msgstr "Trap EMT"
+
+#: sysdeps/generic/siglist.h:64
+msgid "Stack fault"
+msgstr "Falha de pilha"
+
+#: sysdeps/generic/siglist.h:67
+msgid "Power failure"
+msgstr "Falha de energia"
+
+#: sysdeps/generic/siglist.h:70
+msgid "Information request"
+msgstr "Requisição de informação"
+
+#: sysdeps/generic/siglist.h:73
+msgid "Resource lost"
+msgstr "Recurso perdido"
+
+#. TRANS Only the owner of the file (or other resource)
+#. TRANS or processes with special privileges can perform the operation.
+#: sysdeps/gnu/errlist.c:26
+msgid "Operation not permitted"
+msgstr "Operação não permitida"
+
+#. TRANS No process matches the specified process ID.
+#: sysdeps/gnu/errlist.c:46
+msgid "No such process"
+msgstr "Processo inexistente"
+
+#. TRANS An asynchronous signal occurred and prevented
+#. TRANS completion of the call.  When this happens, you should try the call
+#. TRANS again.
+#. TRANS
+#. TRANS You can choose to have functions resume after a signal that is handled,
+#. TRANS rather than failing with @code{EINTR}; see @ref{Interrupted
+#. TRANS Primitives}.
+#: sysdeps/gnu/errlist.c:61
+msgid "Interrupted system call"
+msgstr "Chamada de sistema interrompida"
+
+#. TRANS Usually used for physical read or write errors.
+#: sysdeps/gnu/errlist.c:70
+msgid "Input/output error"
+msgstr "Erro de entrada/saída"
+
+#. TRANS The system tried to use the device
+#. TRANS represented by a file you specified, and it couldn't find the device.
+#. TRANS This can mean that the device file was installed incorrectly, or that
+#. TRANS the physical device is missing or not correctly attached to the
+#. TRANS computer.
+#: sysdeps/gnu/errlist.c:83
+msgid "No such device or address"
+msgstr "Endereço ou dispositivo inexistente"
+
+#. TRANS Used when the arguments passed to a new program
+#. TRANS being executed with one of the @code{exec} functions (@pxref{Executing a
+#. TRANS File}) occupy too much memory space.  This condition never arises on
+#. TRANS @gnuhurdsystems{}.
+#: sysdeps/gnu/errlist.c:95
+msgid "Argument list too long"
+msgstr "Lista de argumentos muito longa"
+
+#. TRANS Invalid executable file format.  This condition is detected by the
+#. TRANS @code{exec} functions; see @ref{Executing a File}.
+#: sysdeps/gnu/errlist.c:105
+msgid "Exec format error"
+msgstr "Erro no formato exec"
+
+#. TRANS For example, I/O on a descriptor that has been
+#. TRANS closed or reading from a descriptor open only for writing (or vice
+#. TRANS versa).
+#: sysdeps/gnu/errlist.c:116
+msgid "Bad file descriptor"
+msgstr "Descritor de arquivo inválido"
+
+#. TRANS This error happens on operations that are
+#. TRANS supposed to manipulate child processes, when there aren't any processes
+#. TRANS to manipulate.
+#: sysdeps/gnu/errlist.c:127
+msgid "No child processes"
+msgstr "Não há processos filhos"
+
+#. TRANS Allocating a system resource would have resulted in a
+#. TRANS deadlock situation.  The system does not guarantee that it will notice
+#. TRANS all such situations.  This error means you got lucky and the system
+#. TRANS noticed; it might just hang.  @xref{File Locks}, for an example.
+#: sysdeps/gnu/errlist.c:139
+msgid "Resource deadlock avoided"
+msgstr "Evitado deadlock de recurso"
+
+#. TRANS The system cannot allocate more virtual memory
+#. TRANS because its capacity is full.
+#: sysdeps/gnu/errlist.c:149
+msgid "Cannot allocate memory"
+msgstr "Não foi possível alocar memória"
+
+#. TRANS An invalid pointer was detected.
+#. TRANS On @gnuhurdsystems{}, this error never happens; you get a signal instead.
+#: sysdeps/gnu/errlist.c:168
+msgid "Bad address"
+msgstr "Endereço inválido"
+
+#. TRANS A file that isn't a block special file was given in a situation that
+#. TRANS requires one.  For example, trying to mount an ordinary file as a file
+#. TRANS system in Unix gives this error.
+#: sysdeps/gnu/errlist.c:179
+msgid "Block device required"
+msgstr "Dispositivo de bloco requerido"
+
+#. TRANS A system resource that can't be shared is already in use.
+#. TRANS For example, if you try to delete a file that is the root of a currently
+#. TRANS mounted filesystem, you get this error.
+#: sysdeps/gnu/errlist.c:190
+msgid "Device or resource busy"
+msgstr "Dispositivo ou recurso está ocupado"
+
+#. TRANS An existing file was specified in a context where it only
+#. TRANS makes sense to specify a new file.
+#: sysdeps/gnu/errlist.c:200
+msgid "File exists"
+msgstr "Arquivo existe"
+
+#. TRANS An attempt to make an improper link across file systems was detected.
+#. TRANS This happens not only when you use @code{link} (@pxref{Hard Links}) but
+#. TRANS also when you rename a file with @code{rename} (@pxref{Renaming Files}).
+#: sysdeps/gnu/errlist.c:211
+msgid "Invalid cross-device link"
+msgstr "Link entre dispositivos inválido"
+
+#. TRANS The wrong type of device was given to a function that expects a
+#. TRANS particular sort of device.
+#: sysdeps/gnu/errlist.c:221
+msgid "No such device"
+msgstr "Dispositivo inexistente"
+
+#. TRANS A file that isn't a directory was specified when a directory is required.
+#: sysdeps/gnu/errlist.c:230
+msgid "Not a directory"
+msgstr "Não é um diretório"
+
+#. TRANS You cannot open a directory for writing,
+#. TRANS or create or remove hard links to it.
+#: sysdeps/gnu/errlist.c:240
+msgid "Is a directory"
+msgstr "É um diretório"
+
+#. TRANS This is used to indicate various kinds of problems
+#. TRANS with passing the wrong argument to a library function.
+#: sysdeps/gnu/errlist.c:250
+msgid "Invalid argument"
+msgstr "Argumento inválido"
+
+#. TRANS The current process has too many files open and can't open any more.
+#. TRANS Duplicate descriptors do count toward this limit.
+#. TRANS
+#. TRANS In BSD and GNU, the number of open files is controlled by a resource
+#. TRANS limit that can usually be increased.  If you get this error, you might
+#. TRANS want to increase the @code{RLIMIT_NOFILE} limit or make it unlimited;
+#. TRANS @pxref{Limits on Resources}.
+#: sysdeps/gnu/errlist.c:265
+msgid "Too many open files"
+msgstr "Muitos arquivos abertos"
+
+#. TRANS There are too many distinct file openings in the entire system.  Note
+#. TRANS that any number of linked channels count as just one file opening; see
+#. TRANS @ref{Linked Channels}.  This error never occurs on @gnuhurdsystems{}.
+#: sysdeps/gnu/errlist.c:276
+msgid "Too many open files in system"
+msgstr "Muitos arquivos abertos no sistema"
+
+#. TRANS Inappropriate I/O control operation, such as trying to set terminal
+#. TRANS modes on an ordinary file.
+#: sysdeps/gnu/errlist.c:286
+msgid "Inappropriate ioctl for device"
+msgstr "ioctl inapropriado para dispositivo"
+
+#. TRANS An attempt to execute a file that is currently open for writing, or
+#. TRANS write to a file that is currently being executed.  Often using a
+#. TRANS debugger to run a program is considered having it open for writing and
+#. TRANS will cause this error.  (The name stands for ``text file busy''.)  This
+#. TRANS is not an error on @gnuhurdsystems{}; the text is copied as necessary.
+#: sysdeps/gnu/errlist.c:299
+msgid "Text file busy"
+msgstr "Área de texto ocupada"
+
+#. TRANS The size of a file would be larger than allowed by the system.
+#: sysdeps/gnu/errlist.c:308
+msgid "File too large"
+msgstr "Arquivo muito grande"
+
+#. TRANS Write operation on a file failed because the
+#. TRANS disk is full.
+#: sysdeps/gnu/errlist.c:318
+msgid "No space left on device"
+msgstr "Não há espaço disponível no dispositivo"
+
+#. TRANS Invalid seek operation (such as on a pipe).
+#: sysdeps/gnu/errlist.c:327
+msgid "Illegal seek"
+msgstr "Procura ilegal"
+
+#. TRANS An attempt was made to modify something on a read-only file system.
+#: sysdeps/gnu/errlist.c:336
+msgid "Read-only file system"
+msgstr "Sistema de arquivos somente para leitura"
+
+#. TRANS The link count of a single file would become too large.
+#. TRANS @code{rename} can cause this error if the file being renamed already has
+#. TRANS as many links as it can take (@pxref{Renaming Files}).
+#: sysdeps/gnu/errlist.c:347
+msgid "Too many links"
+msgstr "Muitos links"
+
+#. TRANS Used by mathematical functions when an argument value does
+#. TRANS not fall into the domain over which the function is defined.
+#: sysdeps/gnu/errlist.c:370
+msgid "Numerical argument out of domain"
+msgstr "Argumento numérico fora de domínio"
+
+#. TRANS Used by mathematical functions when the result value is
+#. TRANS not representable because of overflow or underflow.
+#: sysdeps/gnu/errlist.c:380
+msgid "Numerical result out of range"
+msgstr "Resultado numérico fora de alcance"
+
+#. TRANS The call might work if you try again
+#. TRANS later.  The macro @code{EWOULDBLOCK} is another name for @code{EAGAIN};
+#. TRANS they are always the same in @theglibc{}.
+#. TRANS
+#. TRANS This error can happen in a few different situations:
+#. TRANS
+#. TRANS @itemize @bullet
+#. TRANS @item
+#. TRANS An operation that would block was attempted on an object that has
+#. TRANS non-blocking mode selected.  Trying the same operation again will block
+#. TRANS until some external condition makes it possible to read, write, or
+#. TRANS connect (whatever the operation).  You can use @code{select} to find out
+#. TRANS when the operation will be possible; @pxref{Waiting for I/O}.
+#. TRANS
+#. TRANS @strong{Portability Note:} In many older Unix systems, this condition
+#. TRANS was indicated by @code{EWOULDBLOCK}, which was a distinct error code
+#. TRANS different from @code{EAGAIN}.  To make your program portable, you should
+#. TRANS check for both codes and treat them the same.
+#. TRANS
+#. TRANS @item
+#. TRANS A temporary resource shortage made an operation impossible.  @code{fork}
+#. TRANS can return this error.  It indicates that the shortage is expected to
+#. TRANS pass, so your program can try the call again later and it may succeed.
+#. TRANS It is probably a good idea to delay for a few seconds before trying it
+#. TRANS again, to allow time for other processes to release scarce resources.
+#. TRANS Such shortages are usually fairly serious and affect the whole system,
+#. TRANS so usually an interactive program should report the error to the user
+#. TRANS and return to its command loop.
+#. TRANS @end itemize
+#: sysdeps/gnu/errlist.c:417
+msgid "Resource temporarily unavailable"
+msgstr "Recurso temporariamente indisponível"
+
+#. TRANS In @theglibc{}, this is another name for @code{EAGAIN} (above).
+#. TRANS The values are always the same, on every operating system.
+#. TRANS
+#. TRANS C libraries in many older Unix systems have @code{EWOULDBLOCK} as a
+#. TRANS separate error code.
+#: sysdeps/gnu/errlist.c:430
+msgid "Operation would block"
+msgstr "Operation causaria bloqueio"
+
+#. TRANS An operation that cannot complete immediately was initiated on an object
+#. TRANS that has non-blocking mode selected.  Some functions that must always
+#. TRANS block (such as @code{connect}; @pxref{Connecting}) never return
+#. TRANS @code{EAGAIN}.  Instead, they return @code{EINPROGRESS} to indicate that
+#. TRANS the operation has begun and will take some time.  Attempts to manipulate
+#. TRANS the object before the call completes return @code{EALREADY}.  You can
+#. TRANS use the @code{select} function to find out when the pending operation
+#. TRANS has completed; @pxref{Waiting for I/O}.
+#: sysdeps/gnu/errlist.c:446
+msgid "Operation now in progress"
+msgstr "Operação agora em progresso"
+
+#. TRANS An operation is already in progress on an object that has non-blocking
+#. TRANS mode selected.
+#: sysdeps/gnu/errlist.c:456
+msgid "Operation already in progress"
+msgstr "Operação já em progresso"
+
+#. TRANS A file that isn't a socket was specified when a socket is required.
+#: sysdeps/gnu/errlist.c:465
+msgid "Socket operation on non-socket"
+msgstr "Operação socket em um arquivo não-socket"
+
+#. TRANS The size of a message sent on a socket was larger than the supported
+#. TRANS maximum size.
+#: sysdeps/gnu/errlist.c:475
+msgid "Message too long"
+msgstr "Mensagem muito longa"
+
+#. TRANS The socket type does not support the requested communications protocol.
+#: sysdeps/gnu/errlist.c:484
+msgid "Protocol wrong type for socket"
+msgstr "Tipo errado de protocolo para socket"
+
+#. TRANS You specified a socket option that doesn't make sense for the
+#. TRANS particular protocol being used by the socket.  @xref{Socket Options}.
+#: sysdeps/gnu/errlist.c:494
+msgid "Protocol not available"
+msgstr "Protocolo não disponível"
+
+#. TRANS The socket domain does not support the requested communications protocol
+#. TRANS (perhaps because the requested protocol is completely invalid).
+#. TRANS @xref{Creating a Socket}.
+#: sysdeps/gnu/errlist.c:505
+msgid "Protocol not supported"
+msgstr "Protocolo sem suporte"
+
+#. TRANS The socket type is not supported.
+#: sysdeps/gnu/errlist.c:514
+msgid "Socket type not supported"
+msgstr "Tipo socket sem suporte"
+
+#. TRANS The operation you requested is not supported.  Some socket functions
+#. TRANS don't make sense for all types of sockets, and others may not be
+#. TRANS implemented for all communications protocols.  On @gnuhurdsystems{}, this
+#. TRANS error can happen for many calls when the object does not support the
+#. TRANS particular operation; it is a generic indication that the server knows
+#. TRANS nothing to do for that call.
+#: sysdeps/gnu/errlist.c:528
+msgid "Operation not supported"
+msgstr "Operação sem suporte"
+
+#. TRANS The socket communications protocol family you requested is not supported.
+#: sysdeps/gnu/errlist.c:537
+msgid "Protocol family not supported"
+msgstr "Família de protocolo sem suporte"
+
+#. TRANS The address family specified for a socket is not supported; it is
+#. TRANS inconsistent with the protocol being used on the socket.  @xref{Sockets}.
+#: sysdeps/gnu/errlist.c:547
+msgid "Address family not supported by protocol"
+msgstr "Família de endereços sem suporte pelo protocolo"
+
+#. TRANS The requested socket address is already in use.  @xref{Socket Addresses}.
+#: sysdeps/gnu/errlist.c:556
+msgid "Address already in use"
+msgstr "Endereço já em uso"
+
+#. TRANS The requested socket address is not available; for example, you tried
+#. TRANS to give a socket a name that doesn't match the local host name.
+#. TRANS @xref{Socket Addresses}.
+#: sysdeps/gnu/errlist.c:567
+msgid "Cannot assign requested address"
+msgstr "Não foi possível acessar o endereço requisitado"
 
-#: iconv/iconv_prog.c:193
-#, c-format
-msgid "error while closing input `%s'"
-msgstr "erro fechando entrada `%s'"
+#. TRANS A socket operation failed because the network was down.
+#: sysdeps/gnu/errlist.c:576
+msgid "Network is down"
+msgstr "A rede não responde"
 
-#: iconv/iconv_prog.c:239
-msgid "error while closing output file"
-msgstr "erro fechando arquivo de sa�da"
+#. TRANS A socket operation failed because the subnet containing the remote host
+#. TRANS was unreachable.
+#: sysdeps/gnu/errlist.c:586
+msgid "Network is unreachable"
+msgstr "A rede está fora de alcance"
 
-#: elf/sprof.c:710
-msgid "error while closing the profiling data file"
-msgstr "erro fechando arquivo de dados de perfil"
+#. TRANS A network connection was reset because the remote host crashed.
+#: sysdeps/gnu/errlist.c:595
+msgid "Network dropped connection on reset"
+msgstr "A rede desconectou-se ao reiniciar"
 
-#: locale/programs/ld-collate.c:1158
-msgid "error while inserting collation element into hash table"
-msgstr "erro enquanto inserindo elemento de compara��o na tabela hash"
+#. TRANS A network connection was aborted locally.
+#: sysdeps/gnu/errlist.c:604
+msgid "Software caused connection abort"
+msgstr "Término de conexão causada por software"
 
-#: locale/programs/ld-collate.c:1170
-msgid "error while inserting to hash table"
-msgstr "erro ao inserir na tabela hash"
+#. TRANS A network connection was closed for reasons outside the control of the
+#. TRANS local host, such as by the remote machine rebooting or an unrecoverable
+#. TRANS protocol violation.
+#: sysdeps/gnu/errlist.c:615
+msgid "Connection reset by peer"
+msgstr "Conexão fechada pela outra ponta"
 
-#: iconv/iconv_prog.c:389 iconv/iconv_prog.c:420
-msgid "error while reading the input"
-msgstr "enquanto lendo entrada"
+#. TRANS The kernel's buffers for I/O operations are all in use.  In GNU, this
+#. TRANS error is always synonymous with @code{ENOMEM}; you may get one or the
+#. TRANS other from network operations.
+#: sysdeps/gnu/errlist.c:626
+msgid "No buffer space available"
+msgstr "Não há espaço de buffer disponível"
 
-#: locale/programs/locfile.c:595
-msgid "expect string argument for `copy'"
-msgstr "esperado argumento tipo string para `copy'"
+#. TRANS You tried to connect a socket that is already connected.
+#. TRANS @xref{Connecting}.
+#: sysdeps/gnu/errlist.c:636
+msgid "Transport endpoint is already connected"
+msgstr "Ponto final de transporte já está conectado"
 
-#: timezone/zic.c:868
-msgid "expected continuation line not found"
-msgstr "linha de continua��o n�o foi localizada"
+#. TRANS The socket is not connected to anything.  You get this error when you
+#. TRANS try to transmit data over a socket, without first specifying a
+#. TRANS destination for the data.  For a connectionless socket (for datagram
+#. TRANS protocols, such as UDP), you get @code{EDESTADDRREQ} instead.
+#: sysdeps/gnu/errlist.c:648
+msgid "Transport endpoint is not connected"
+msgstr "Ponto final de transporte não está conectado"
 
-#: elf/sprof.c:408
-#, c-format
-msgid "failed to load shared object `%s'"
-msgstr "falha no carregamento do objeto compartilhado `%s'"
+#. TRANS No default destination address was set for the socket.  You get this
+#. TRANS error when you try to transmit data over a connectionless socket,
+#. TRANS without first specifying a destination for the data with @code{connect}.
+#: sysdeps/gnu/errlist.c:659
+msgid "Destination address required"
+msgstr "Endereço de destino requerido"
 
-#: elf/sprof.c:604
-msgid "failed to load symbol data"
-msgstr "falha para carregar dados de s�mbolos"
+#. TRANS The socket has already been shut down.
+#: sysdeps/gnu/errlist.c:668
+msgid "Cannot send after transport endpoint shutdown"
+msgstr "Não é possível enviar após desligamento do ponto final de transporte"
 
-#: elf/sprof.c:702
-msgid "failed to mmap the profiling data file"
-msgstr "falha para mapear (mmap) o arquivo de dados do perfil"
+#: sysdeps/gnu/errlist.c:676
+msgid "Too many references: cannot splice"
+msgstr "Muitas referências: não é possível unir"
 
-#: iconv/iconv_prog.c:147
-msgid "failed to start conversion processing"
-msgstr "falha para iniciar o processo de convers�o"
+#. TRANS A socket operation with a specified timeout received no response during
+#. TRANS the timeout period.
+#: sysdeps/gnu/errlist.c:686
+msgid "Connection timed out"
+msgstr "Tempo esgotado para conexão"
 
-#: locale/programs/locfile.c:1154
-#, c-format
-msgid "failure while writing data for category `%s'"
-msgstr "falha ao escrever dados para categoria `%s'"
+#. TRANS A remote host refused to allow the network connection (typically because
+#. TRANS it is not running the requested service).
+#: sysdeps/gnu/errlist.c:696
+msgid "Connection refused"
+msgstr "Conexão recusada"
 
-#: nis/nis_call.c:155
-msgid "fcntl: F_SETFD"
-msgstr "fcntl: F_SETFD"
+#. TRANS Too many levels of symbolic links were encountered in looking up a file name.
+#. TRANS This often indicates a cycle of symbolic links.
+#: sysdeps/gnu/errlist.c:706
+msgid "Too many levels of symbolic links"
+msgstr "Muitos níveis de links simbólicos"
 
-#: locale/programs/ld-monetary.c:163 locale/programs/ld-numeric.c:98
-#, c-format
-msgid "field `%s' in category `%s' not defined"
-msgstr "campo `%s' na categoria `%s' n�o definido"
+#. TRANS Filename too long (longer than @code{PATH_MAX}; @pxref{Limits for
+#. TRANS Files}) or host name too long (in @code{gethostname} or
+#. TRANS @code{sethostname}; @pxref{Host Identification}).
+#: sysdeps/gnu/errlist.c:717
+msgid "File name too long"
+msgstr "Nome de arquivo muito longo"
 
-#: locale/programs/ld-messages.c:86 locale/programs/ld-messages.c:110
-#, c-format
-msgid "field `%s' in category `%s' undefined"
-msgstr "campo `%s' na categoria `%s' n�o definido"
+#. TRANS The remote host for a requested network connection is down.
+#: sysdeps/gnu/errlist.c:726
+msgid "Host is down"
+msgstr "Host está desligado"
 
-#: sunrpc/rpc_main.c:1148
-#, c-format
-msgid "file '%s' already exists and may be overwritten\n"
-msgstr "arquivo `%s' j� existe e pode ser sobrescrito\n"
+#. TRANS The remote host for a requested network connection is not reachable.
+#: sysdeps/gnu/errlist.c:735
+msgid "No route to host"
+msgstr "Não há rota para o host"
 
-#: locale/programs/locfile.c:677
-msgid "from-value of `collating-element' must be a string"
-msgstr "valor `from' do elemento de compara��o deve ser uma string"
+#. TRANS Directory not empty, where an empty directory was expected.  Typically,
+#. TRANS this error occurs when you are trying to delete a directory.
+#: sysdeps/gnu/errlist.c:745
+msgid "Directory not empty"
+msgstr "Diretório não vazio"
 
-#: inet/rcmd.c:316
-msgid "fstat failed"
-msgstr "falha em fstat"
+#. TRANS This means that the per-user limit on new process would be exceeded by
+#. TRANS an attempted @code{fork}.  @xref{Limits on Resources}, for details on
+#. TRANS the @code{RLIMIT_NPROC} limit.
+#: sysdeps/gnu/errlist.c:756
+msgid "Too many processes"
+msgstr "Muitos processos"
 
-#: locale/programs/linereader.c:333
-msgid "garbage at end of character code specification"
-msgstr "lixo no final da especifica��o do c�digo de caracter"
+#. TRANS The file quota system is confused because there are too many users.
+#. TRANS @c This can probably happen in a GNU system when using NFS.
+#: sysdeps/gnu/errlist.c:766
+msgid "Too many users"
+msgstr "Muitos usuários"
 
-#: locale/programs/linereader.c:219
-msgid "garbage at end of number"
-msgstr "lixo no final do n�mero"
+#. TRANS The user's disk quota was exceeded.
+#: sysdeps/gnu/errlist.c:775
+msgid "Disk quota exceeded"
+msgstr "Cota da disco excedida"
+
+#. TRANS This indicates an internal confusion in the
+#. TRANS file system which is due to file system rearrangements on the server host
+#. TRANS for NFS file systems or corruption in other file systems.
+#. TRANS Repairing this condition usually requires unmounting, possibly repairing
+#. TRANS and remounting the file system.
+#: sysdeps/gnu/errlist.c:788
+msgid "Stale file handle"
+msgstr "Manipulador de arquivo corrompido"
 
-#: locale/programs/ld-time.c:195
-#, c-format
-msgid "garbage at end of offset value in string %d in `era' field in category `%s'"
-msgstr "lixo no final do valor do deslocamento na string %d no campo `era', categoria `%s'"
+#. TRANS An attempt was made to NFS-mount a remote file system with a file name that
+#. TRANS already specifies an NFS-mounted file.
+#. TRANS (This is an error on some operating systems, but we expect it to work
+#. TRANS properly on @gnuhurdsystems{}, making this error code impossible.)
+#: sysdeps/gnu/errlist.c:800
+msgid "Object is remote"
+msgstr "Objeto é remoto"
 
-#: locale/programs/ld-time.c:252
-#, c-format
-msgid "garbage at end of starting date in string %d in `era' field in category `%s'"
-msgstr "lixo no final da data de in�cio na string %d no campo `era', categoria `%s'"
+#: sysdeps/gnu/errlist.c:808
+msgid "RPC struct is bad"
+msgstr "Estrutura RPC inválida"
 
-#: locale/programs/ld-time.c:328
-#, c-format
-msgid "garbage at end of stopping date in string %d in `era' field in category `%s'"
-msgstr "lixo no final da data de parada na string %d no campo `era', categoria `%s'"
+#: sysdeps/gnu/errlist.c:816
+msgid "RPC version wrong"
+msgstr "Versão RPC incorreta"
 
-#: elf/sprof.c:81
-msgid "generate call graph"
-msgstr "gera gr�fico de chamadas"
+#: sysdeps/gnu/errlist.c:824
+msgid "RPC program not available"
+msgstr "Programa RPC não disponível"
 
-#: elf/sprof.c:80
-msgid "generate flat profile with counts and ticks"
-msgstr "gera perfil com contadores e `ticks'"
+#: sysdeps/gnu/errlist.c:832
+msgid "RPC program version wrong"
+msgstr "Versão incorreta de programa RPC"
 
-#: sunrpc/get_myaddr.c:77
-msgid "get_myaddress: ioctl (get interface configuration)"
-msgstr "get_myaddress: ioctl (obt�m configura��o de interface)"
+#: sysdeps/gnu/errlist.c:840
+msgid "RPC bad procedure for program"
+msgstr "Procedimento RPC ruim para programa"
 
-#: nss/getent.c:53
-msgid "getent - get entries from administrative database."
-msgstr "getent - pega entrada da base de dados administrativa."
+#. TRANS This is used by the file locking facilities; see
+#. TRANS @ref{File Locks}.  This error is never generated by @gnuhurdsystems{}, but
+#. TRANS it can result from an operation to an NFS server running another
+#. TRANS operating system.
+#: sysdeps/gnu/errlist.c:852
+msgid "No locks available"
+msgstr "Não há travas disponíveis"
 
-#: nscd/connections.c:200
-#, c-format
-msgid "handle_request: request received (Version = %d)"
-msgstr "handle_request: requisi��o recebida (Vers�o = %d)"
+#. TRANS The file was the wrong type for the
+#. TRANS operation, or a data file had the wrong format.
+#. TRANS
+#. TRANS On some systems @code{chmod} returns this error if you try to set the
+#. TRANS sticky bit on a non-directory file; @pxref{Setting Permissions}.
+#: sysdeps/gnu/errlist.c:865
+msgid "Inappropriate file type or format"
+msgstr "Tipo ou formato de arquivo inapropriado"
 
-#: timezone/zic.c:613
-msgid "hard link failed, symbolic link used"
-msgstr "v�nculo (link( falhou, v�nculo simb�lico usado"
+#: sysdeps/gnu/errlist.c:873
+msgid "Authentication error"
+msgstr "Erro de autenticação"
 
-#: inet/rcmd.c:322
-msgid "hard linked somewhere"
-msgstr "vinculo (hard linked)  em alg�m lugar"
+#: sysdeps/gnu/errlist.c:881
+msgid "Need authenticator"
+msgstr "É necessário um autenticador"
+
+#. TRANS This indicates that the function called is
+#. TRANS not implemented at all, either in the C library itself or in the
+#. TRANS operating system.  When you get this error, you can be sure that this
+#. TRANS particular function will always fail with @code{ENOSYS} unless you
+#. TRANS install a new version of the C library or the operating system.
+#: sysdeps/gnu/errlist.c:894
+msgid "Function not implemented"
+msgstr "Função não implementada"
+
+#. TRANS A function returns this error when certain parameter
+#. TRANS values are valid, but the functionality they request is not available.
+#. TRANS This can mean that the function does not implement a particular command
+#. TRANS or option value or flag bit at all.  For functions that operate on some
+#. TRANS object given in a parameter, such as a file descriptor or a port, it
+#. TRANS might instead mean that only @emph{that specific object} (file
+#. TRANS descriptor, port, etc.) is unable to support the other parameters given;
+#. TRANS different file descriptors might support different ranges of parameter
+#. TRANS values.
+#. TRANS
+#. TRANS If the entire function is not available at all in the implementation,
+#. TRANS it returns @code{ENOSYS} instead.
+#: sysdeps/gnu/errlist.c:914
+msgid "Not supported"
+msgstr "Não há suporte"
 
-#: timezone/zic.c:1162
-msgid "illegal CORRECTION field on Leap line"
-msgstr "Campo CORRECTION ilegal em linha Leap (ajuste)"
+#. TRANS While decoding a multibyte character the function came along an invalid
+#. TRANS or an incomplete sequence of bytes or the given wide character is invalid.
+#: sysdeps/gnu/errlist.c:924
+msgid "Invalid or incomplete multibyte or wide character"
+msgstr "Multibyte ou caractere largo inválido"
 
-#: timezone/zic.c:1166
-msgid "illegal Rolling/Stationary field on Leap line"
-msgstr "campo Rolling/Stationary ilegal em linha Leap (ajuste)"
+#. TRANS On @gnuhurdsystems{}, servers supporting the @code{term} protocol return
+#. TRANS this error for certain operations when the caller is not in the
+#. TRANS foreground process group of the terminal.  Users do not usually see this
+#. TRANS error because functions such as @code{read} and @code{write} translate
+#. TRANS it into a @code{SIGTTIN} or @code{SIGTTOU} signal.  @xref{Job Control},
+#. TRANS for information on process groups and these signals.
+#: sysdeps/gnu/errlist.c:938
+msgid "Inappropriate operation for background process"
+msgstr "Operação inapropriada para processo em background"
 
-#: locale/programs/ld-collate.c:1782
-msgid "illegal character constant in string"
-msgstr "constante de caracteres ilegal na string"
+#. TRANS On @gnuhurdsystems{}, opening a file returns this error when the file is
+#. TRANS translated by a program and the translator program dies while starting
+#. TRANS up, before it has connected to the file.
+#: sysdeps/gnu/errlist.c:949
+msgid "Translator died"
+msgstr "Tradutor morto"
 
-#: sunrpc/rpc_scan.c:311
-msgid "illegal character in file: "
-msgstr "caracteres ilegais no arquivo: "
+#. TRANS The experienced user will know what is wrong.
+#. TRANS @c This error code is a joke.  Its perror text is part of the joke.
+#. TRANS @c Don't change it.
+#: sysdeps/gnu/errlist.c:960
+msgid "?"
+msgstr "?"
 
-#: locale/programs/ld-collate.c:1125
-msgid "illegal collation element"
-msgstr "elemento de compara��o ilegal"
+#. TRANS You did @strong{what}?
+#: sysdeps/gnu/errlist.c:969
+msgid "You really blew it this time"
+msgstr "Você realmente estragou desta vez"
 
-#: locale/programs/charmap.c:281
-msgid "illegal definition"
-msgstr "defini��o ilegal"
+#. TRANS Go home and have a glass of warm, dairy-fresh milk.
+#: sysdeps/gnu/errlist.c:978
+msgid "Computer bought the farm"
+msgstr "O computador comprou a fazenda"
 
-#: locale/programs/charmap.c:434
-msgid "illegal encoding given"
-msgstr "dada codifica��o ilegal"
+#. TRANS This error code has no purpose.
+#: sysdeps/gnu/errlist.c:987
+msgid "Gratuitous error"
+msgstr "Erro gratuito"
 
-#: locale/programs/linereader.c:551
-msgid "illegal escape sequence at end of string"
-msgstr "sequ�ncia de escape ilegal no final da string"
+#: sysdeps/gnu/errlist.c:995
+msgid "Bad message"
+msgstr "Mensagem inválida"
 
-#: iconv/iconv_prog.c:342
-#, c-format
-msgid "illegal input sequence at position %ld"
-msgstr "sequ�ncia de entrada ilegal na posi��o %ld"
+#: sysdeps/gnu/errlist.c:1003
+msgid "Identifier removed"
+msgstr "Identificador removido"
 
-#: locale/programs/charset.c:78
-msgid "illegal names for character range"
-msgstr "nomes ilegais para faixa de caracteres"
+#: sysdeps/gnu/errlist.c:1011
+msgid "Multihop attempted"
+msgstr "Tentativa de Multihop"
 
-#: sunrpc/rpc_main.c:462
-#, c-format
-msgid "illegal nettype :'%s'\n"
-msgstr "nettype ilegal: `%s'\n"
+#: sysdeps/gnu/errlist.c:1019
+msgid "No data available"
+msgstr "Não há dados disponíveis"
 
-#: locale/programs/ld-time.c:187
-#, c-format
-msgid "illegal number for offset in string %d in `era' field in category `%s'"
-msgstr "n�mero ilegal para offset na string %d no campo `era', categoria `%s'"
+#: sysdeps/gnu/errlist.c:1027
+msgid "Link has been severed"
+msgstr "Link foi cortado"
 
-#: catgets/gencat.c:361 catgets/gencat.c:438
-msgid "illegal set number"
-msgstr "n�mero de conjunto ilegal"
+#: sysdeps/gnu/errlist.c:1035
+msgid "No message of desired type"
+msgstr "Não há mensagens do tipo desejado"
 
-#: locale/programs/ld-time.c:243
-#, c-format
-msgid "illegal starting date in string %d in `era' field in category `%s'"
-msgstr "data de in�cio ilegal na string %d no campo `era', categoria `%s'"
+#: sysdeps/gnu/errlist.c:1043
+msgid "Out of streams resources"
+msgstr "Sem recursos de streams"
 
-#: locale/programs/ld-time.c:319
-#, c-format
-msgid "illegal stopping date in string %d in `era' field in category `%s'"
-msgstr "data de parada ilegal na string %d no campo `era', categoria `%s'"
+#: sysdeps/gnu/errlist.c:1051
+msgid "Device not a stream"
+msgstr "Dispositivo não é um stream"
 
-#: locale/programs/ld-ctype.c:831
-#, c-format
-msgid "implementation limit: no more than %d character classes allowed"
-msgstr "limite de implementac�o: n�o s�o permitidas mais que %d classes de caracter"
+#: sysdeps/gnu/errlist.c:1059
+msgid "Value too large for defined data type"
+msgstr "Valor muito grande para o tipo de dados definido"
 
-#: locale/programs/ld-ctype.c:863
-#, c-format
-msgid "implementation limit: no more than %d character maps allowed"
-msgstr "limite de implementac�o: n�o s�o permitidos mais que %d mapas de caracter"
+#: sysdeps/gnu/errlist.c:1067
+msgid "Protocol error"
+msgstr "Erro de protocolo"
 
-#: iconv/iconv_prog.c:346
-msgid "incomplete character or shift sequence at end of buffer"
-msgstr "caractere incompleto ou mudan�a de seq�encia no final do buffer"
+#: sysdeps/gnu/errlist.c:1075
+msgid "Timer expired"
+msgstr "Tempo expirado"
 
-#: db2/makedb.c:148
-msgid "incorrectly formatted file"
-msgstr "arquivo formatado incorretamente"
+#. TRANS An asynchronous operation was canceled before it
+#. TRANS completed.  @xref{Asynchronous I/O}.  When you call @code{aio_cancel},
+#. TRANS the normal result is for the operations affected to complete with this
+#. TRANS error; @pxref{Cancel AIO Operations}.
+#: sysdeps/gnu/errlist.c:1087
+msgid "Operation canceled"
+msgstr "Operação cancelada"
 
-#: timezone/zic.c:825
-msgid "input line of unknown type"
-msgstr "linha de entrada de tipo desconhecido"
+#: sysdeps/gnu/errlist.c:1095
+msgid "Interrupted system call should be restarted"
+msgstr "Chamada de sistema interrompida deve ser reiniciada"
 
-#: iconv/iconv_prog.c:350
-msgid "internal error (illegal descriptor)"
-msgstr "erro interno (descritor ilegal)"
+#: sysdeps/gnu/errlist.c:1103
+msgid "Channel number out of range"
+msgstr "Número do canal fora do intervalo"
 
-#: timezone/zic.c:1788
-msgid "internal error - addtype called with bad isdst"
-msgstr "erro interno - addtype chamado com isdst incorreto"
+#: sysdeps/gnu/errlist.c:1111
+msgid "Level 2 not synchronized"
+msgstr "Nível 2 não sincronizado"
 
-#: timezone/zic.c:1796
-msgid "internal error - addtype called with bad ttisgmt"
-msgstr "erro interno - addtype chamado com ttisgmt incorreto"
+#: sysdeps/gnu/errlist.c:1119
+msgid "Level 3 halted"
+msgstr "Nível 3 parado"
 
-#: timezone/zic.c:1792
-msgid "internal error - addtype called with bad ttisstd"
-msgstr "erro interno - addtype chamado com ttisstd incorreto"
+#: sysdeps/gnu/errlist.c:1127
+msgid "Level 3 reset"
+msgstr "Nível 3 reiniciado"
 
-#: locale/programs/ld-ctype.c:307
-#, c-format
-msgid "internal error in %s, line %u"
-msgstr "erro interno em %s, linha %u"
+#: sysdeps/gnu/errlist.c:1135
+msgid "Link number out of range"
+msgstr "Número de link fora da faixa"
 
-#: timezone/zic.c:1034
-msgid "invalid UTC offset"
-msgstr "deslocamento UTC inv�lido"
+#: sysdeps/gnu/errlist.c:1143
+msgid "Protocol driver not attached"
+msgstr "Driver de protocolo não anexado"
 
-#: timezone/zic.c:1037
-msgid "invalid abbreviation format"
-msgstr "formato de abrevia��o inv�lido"
+#: sysdeps/gnu/errlist.c:1151
+msgid "No CSI structure available"
+msgstr "Não há estrutura CSI disponível"
 
-#: timezone/zic.c:1127 timezone/zic.c:1339 timezone/zic.c:1353
-msgid "invalid day of month"
-msgstr "dia do m�s inv�lido"
+#: sysdeps/gnu/errlist.c:1159
+msgid "Level 2 halted"
+msgstr "Parada de sistema nível 2"
 
-#: timezone/zic.c:1291
-msgid "invalid ending year"
-msgstr "ano final inv�lido"
+#: sysdeps/gnu/errlist.c:1167
+msgid "Invalid exchange"
+msgstr "Troca inválida"
 
-#: timezone/zic.c:1099
-msgid "invalid leaping year"
-msgstr "ano bissexto inv�lido"
+#: sysdeps/gnu/errlist.c:1175
+msgid "Invalid request descriptor"
+msgstr "Descritor de requisição inválido"
 
-#: elf/dl-open.c:159
-msgid "invalid mode for dlopen()"
-msgstr "modo inv�lido para dlopen()"
+#: sysdeps/gnu/errlist.c:1183
+msgid "Exchange full"
+msgstr "Troca completa"
 
-#: timezone/zic.c:1114 timezone/zic.c:1217
-msgid "invalid month name"
-msgstr "nome do m�s inv�lido"
+#: sysdeps/gnu/errlist.c:1191
+msgid "No anode"
+msgstr "Sem anode"
 
-#: timezone/zic.c:933
-msgid "invalid saved time"
-msgstr "tempo gravado inv�lido"
+#: sysdeps/gnu/errlist.c:1199
+msgid "Invalid request code"
+msgstr "Código de requisição inválido"
 
-#: timezone/zic.c:1266
-msgid "invalid starting year"
-msgstr "ano inicial inv�lido"
+#: sysdeps/gnu/errlist.c:1207
+msgid "Invalid slot"
+msgstr "Slot inválido"
 
-#: timezone/zic.c:1143 timezone/zic.c:1246
-msgid "invalid time of day"
-msgstr "hora do dia inv�lida"
+#: sysdeps/gnu/errlist.c:1215
+msgid "File locking deadlock error"
+msgstr "Erro de bloqueio em arquivo (deadlock)"
 
-#: timezone/zic.c:1344
-msgid "invalid weekday name"
-msgstr "nome de dia de semana inv�lido"
+#: sysdeps/gnu/errlist.c:1223
+msgid "Bad font file format"
+msgstr "Formato do arquivo fonte inválido"
 
-#: nscd/connections.c:375
-#, c-format
-msgid "key length in request too long: %Zd"
-msgstr "tamanho de chave na requisi��o muito longa: %Zd"
+#: sysdeps/gnu/errlist.c:1231
+msgid "Machine is not on the network"
+msgstr "A maquina não está na rede"
 
-#: locale/programs/ld-collate.c:1422
-msgid "line after ellipsis must contain character definition"
-msgstr "linha ap�s elipse deve conter defini��o de caracter"
+#: sysdeps/gnu/errlist.c:1239
+msgid "Package not installed"
+msgstr "Pacote não instalado"
 
-#: locale/programs/ld-collate.c:1401
-msgid "line before ellipsis does not contain definition for character constant"
-msgstr "linha antes da elipse n�o cont�m defini��o para constante de caracter"
+#: sysdeps/gnu/errlist.c:1247
+msgid "Advertise error"
+msgstr "Erro de aviso"
 
-#: timezone/zic.c:805
-msgid "line too long"
-msgstr "linha muito longa"
+#: sysdeps/gnu/errlist.c:1255
+msgid "Srmount error"
+msgstr "Erro de srmount"
 
-#: iconv/iconv_prog.c:58
-msgid "list all known coded character sets"
-msgstr "lista todas as cole��es de caracteres codificados"
+#: sysdeps/gnu/errlist.c:1263
+msgid "Communication error on send"
+msgstr "Erro de comunicação ao enviar"
 
-#: locale/programs/localedef.c:273
-#, c-format
-msgid "locale file `%s', used in `copy' statement, not found"
-msgstr "arquivo locale `%s', usado na declara��o `copy' , n�o encontrado"
+#: sysdeps/gnu/errlist.c:1271
+msgid "RFS specific error"
+msgstr "Erro específico de RFS"
 
-#: inet/rcmd.c:307
-msgid "lstat failed"
-msgstr "falha em lstat"
+#: sysdeps/gnu/errlist.c:1279
+msgid "Name not unique on network"
+msgstr "O nome não é único na rede"
 
-#: catgets/gencat.c:619
-msgid "malformed line ignored"
-msgstr "linha inv�lida ignorada"
+#: sysdeps/gnu/errlist.c:1287
+msgid "File descriptor in bad state"
+msgstr "Descritor de arquivo em mal estado"
 
-#: elf/sprof.c:554
-msgid "mapping of section header string table failed"
-msgstr "mapeamento da tabela de cadeias do cabe�alho da se��o falhou"
+#: sysdeps/gnu/errlist.c:1295
+msgid "Remote address changed"
+msgstr "Endereço remoto alterado"
 
-#: elf/sprof.c:544
-msgid "mapping of section headers failed"
-msgstr "mapeamento dos cabe�alhos da se��o falhou"
+#: sysdeps/gnu/errlist.c:1303
+msgid "Can not access a needed shared library"
+msgstr "Não foi possível acessar uma biblioteca compartilhada"
 
-#: malloc/mcheck.c:202
-msgid "memory clobbered before allocated block\n"
-msgstr "mem�ria sobrescrita antes do bloco alocado\n"
+#: sysdeps/gnu/errlist.c:1311
+msgid "Accessing a corrupted shared library"
+msgstr "Acessando uma biblioteca compartilhado corrompida"
 
-#: malloc/mcheck.c:205
-msgid "memory clobbered past end of allocated block\n"
-msgstr "mem�ria sobrescrita ap�s o fim do bloco allocado\n"
-
-#: locale/programs/ld-collate.c:170 locale/programs/ld-collate.c:176
-#: locale/programs/ld-collate.c:180 locale/programs/ld-collate.c:1449
-#: locale/programs/ld-collate.c:1478 locale/programs/locfile.c:1082
-#: locale/programs/xmalloc.c:70 login/programs/database.c:62
-#: login/programs/database.c:79 login/programs/database.c:95
-#: posix/getconf.c:682
-msgid "memory exhausted"
-msgstr "mem�ria esgotada"
+#: sysdeps/gnu/errlist.c:1319
+msgid ".lib section in a.out corrupted"
+msgstr "Seção .lib corrompida em a.out"
 
-#: malloc/obstack.c:471
-msgid "memory exhausted\n"
-msgstr "mem�ria esgotada\n"
+#: sysdeps/gnu/errlist.c:1327
+msgid "Attempting to link in too many shared libraries"
+msgstr "Tentando vincular em muitas bibliotecas compartilhadas"
 
-#: malloc/mcheck.c:199
-msgid "memory is consistent, library is buggy\n"
-msgstr "a mem�ria est� consistente, problemas na biblioteca\n"
+#: sysdeps/gnu/errlist.c:1335
+msgid "Cannot exec a shared library directly"
+msgstr "Não foi possível executar uma biblioteca compartilhado diretamente"
 
-#: locale/programs/ld-time.c:370
-#, c-format
-msgid "missing era format in string %d in `era' field in category `%s'"
-msgstr "formato era ausente na string %d no campo `era', categoria`%s'"
+#: sysdeps/gnu/errlist.c:1343
+msgid "Streams pipe error"
+msgstr "Erro de fluxos de pipe"
 
-#: locale/programs/ld-time.c:358
-#, c-format
-msgid "missing era name in string %d in `era' field in category `%s'"
-msgstr "nome era ausente na string %d no campo `era', categoria `%s'"
+#: sysdeps/gnu/errlist.c:1351
+msgid "Structure needs cleaning"
+msgstr "A estrutura necessita de limpeza"
 
-#: timezone/zic.c:928
-msgid "nameless rule"
-msgstr "regra sem nome"
+#: sysdeps/gnu/errlist.c:1359
+msgid "Not a XENIX named type file"
+msgstr "Não é um arquivo nomeável XENIX"
 
-#: iconv/iconv_prog.c:133
-msgid "neither original nor target encoding specified"
-msgstr "codifica��o original nem destino especificada"
+#: sysdeps/gnu/errlist.c:1367
+msgid "No XENIX semaphores available"
+msgstr "Não há semáforos XENIX disponíveis"
 
-#: nis/nss_nisplus/nisplus-publickey.c:262
-#: nis/nss_nisplus/nisplus-publickey.c:268
-#: nis/nss_nisplus/nisplus-publickey.c:327
-#: nis/nss_nisplus/nisplus-publickey.c:336
-#, c-format
-msgid "netname2user: (nis+ lookup): %s\n"
-msgstr "netname2user: (nis+ lookup): %s\n"
+#: sysdeps/gnu/errlist.c:1375
+msgid "Is a named type file"
+msgstr "É um arquivo tipo nomeável"
 
-#: nis/nss_nisplus/nisplus-publickey.c:281
-#, c-format
-msgid "netname2user: DES entry for %s in directory %s not unique"
-msgstr "netname2user: entrada DES para %s no diret�rio %s n�o � �nica"
+#: sysdeps/gnu/errlist.c:1383
+msgid "Remote I/O error"
+msgstr "Erro de E/S remota"
 
-#: nis/nss_nisplus/nisplus-publickey.c:349
-#, c-format
-msgid "netname2user: LOCAL entry for %s in directory %s not unique"
-msgstr "netname2user: entrada LOCAL para %s no diret�rio %s n�o � �nica"
+#: sysdeps/gnu/errlist.c:1391
+msgid "No medium found"
+msgstr "Mídia não encontrada"
 
-#: nis/nss_nisplus/nisplus-publickey.c:194
-#, c-format
-msgid "netname2user: missing group id list in '%s'."
-msgstr "netname2user: lista de id do grupo perdida em `%s'."
+#: sysdeps/gnu/errlist.c:1399
+msgid "Wrong medium type"
+msgstr "Tipo de mídia incorreta"
 
-#: nis/nss_nisplus/nisplus-publickey.c:299
-#, c-format
-msgid "netname2user: principal name '%s' too long"
-msgstr "netname2user: nome principal `%s' muito longo"
+#: sysdeps/gnu/errlist.c:1407
+msgid "Required key not available"
+msgstr "Chave necessária não disponível"
 
-#: nis/nss_nisplus/nisplus-publickey.c:356
-msgid "netname2user: should not have uid 0"
-msgstr "netname2user: n�o deve possuir uid 0"
+#: sysdeps/gnu/errlist.c:1415
+msgid "Key has expired"
+msgstr "A chave expirou"
 
-#: sunrpc/svc_simple.c:158
-#, c-format
-msgid "never registered prog %d\n"
-msgstr "nunca registrado prog %d\n"
+#: sysdeps/gnu/errlist.c:1423
+msgid "Key has been revoked"
+msgstr "A chave foi revogada"
 
-#: locale/programs/repertoire.c:238
-msgid "no <Uxxxx> or <Uxxxxxxxx> value given"
-msgstr "Valores <Uxxxx> ou <Uxxxxxxxx> n�o entrados"
+#: sysdeps/gnu/errlist.c:1431
+msgid "Key was rejected by service"
+msgstr "A chave foi rejeitada pelo serviço"
 
-#: locale/programs/ld-messages.c:101 locale/programs/ld-messages.c:125
-#, c-format
-msgid "no correct regular expression for field `%s' in category `%s': %s"
-msgstr "n�o h� express�o regular correta para campo `%s', categoria `%s': %s"
+#: sysdeps/gnu/errlist.c:1439
+msgid "Owner died"
+msgstr "Dono morto"
 
-#: timezone/zic.c:2115
-msgid "no day in month matches rule"
-msgstr "nehum dia do m�s satisfaz a norma"
+#: sysdeps/gnu/errlist.c:1447
+msgid "State not recoverable"
+msgstr "Estado não recuperável"
 
-#: locale/programs/ld-collate.c:267
-msgid "no definition of `UNDEFINED'"
-msgstr "n�o h� defini��o de `UNDEFINED'"
+#: sysdeps/gnu/errlist.c:1455
+msgid "Operation not possible due to RF-kill"
+msgstr "Operação não permitida em razão de RF-kill"
 
-#: elf/sprof.c:276
-#, c-format
-msgid "no filename for profiling data given and shared object `%s' has no soname"
-msgstr "nome de arquivo para perfil de dados n�o informado e objetos compartilhados `%s' n�o tem `soname'"
+#: sysdeps/gnu/errlist.c:1463
+msgid "Memory page has hardware error"
+msgstr "Página de memória possui um erro de hardware"
 
-#: locale/programs/locfile.c:609
-msgid "no other keyword shall be specified when `copy' is used"
-msgstr "nehuma outra palavra-chave deve ser especificada quando `copy' � usado"
+#: sysdeps/mach/_strerror.c:56
+msgid "Error in unknown error system: "
+msgstr "Falha no erro desconhecido do sistema: "
 
-#: locale/programs/localedef.c:334
-msgid "no output file produced because warning were issued"
-msgstr "nenhum arquivo de sa�da foi produzido porque avisos foram emitidos"
+#: sysdeps/posix/gai_strerror-strs.h:1
+msgid "Address family for hostname not supported"
+msgstr "Família de endereços não suportada para nome de máquina"
 
-#: locale/programs/locfile.c:283 locale/programs/locfile.c:301
-#: locale/programs/locfile.c:319 locale/programs/locfile.c:337
-#: locale/programs/locfile.c:355 locale/programs/locfile.c:373
-msgid "no repertoire map specified: cannot proceed"
-msgstr "mapa de repert�rio n�o especificado: n�o posso prosseguir"
+#: sysdeps/posix/gai_strerror-strs.h:2
+msgid "Temporary failure in name resolution"
+msgstr "Falha temporário na resolução de nome"
 
-#: locale/programs/charmap.c:400 locale/programs/charmap.c:550
-#: locale/programs/charmap.c:629 locale/programs/repertoire.c:199
-msgid "no symbolic name given"
-msgstr "nenhum nome simb�lico dado"
+#: sysdeps/posix/gai_strerror-strs.h:3
+msgid "Bad value for ai_flags"
+msgstr "Valor inválido para ai_flags"
 
-#: locale/programs/charmap.c:465 locale/programs/charmap.c:596
-#: locale/programs/charmap.c:662 locale/programs/repertoire.c:261
-msgid "no symbolic name given for end of range"
-msgstr "nenhum nome simb�lico dado para fim do intervalo"
+#: sysdeps/posix/gai_strerror-strs.h:4
+msgid "Non-recoverable failure in name resolution"
+msgstr "Falha irrecuperável na resolução de nome"
 
-#: locale/programs/ld-collate.c:249
-#, c-format
-msgid "no weight defined for symbol `%s'"
-msgstr "n�o foi definido peso para o s�mbolo `%s'"
+#: sysdeps/posix/gai_strerror-strs.h:5
+msgid "ai_family not supported"
+msgstr "Família de protocolo (ai_family) sem suporte"
 
-#: inet/rcmd.c:309
-msgid "not regular file"
-msgstr "n�o � arquivo normal"
+#: sysdeps/posix/gai_strerror-strs.h:6
+msgid "Memory allocation failure"
+msgstr "Falha de alocação de memória"
 
-#: nscd/nscd_stat.c:130
-#, c-format
-msgid ""
-"nscd configuration:\n"
-"\n"
-"%15d  server debug level\n"
-msgstr ""
-"configura��o nscd:\n"
-"\n"
-"%15d n�vel de debug do servidor\n"
+#: sysdeps/posix/gai_strerror-strs.h:7
+msgid "No address associated with hostname"
+msgstr "Não há endereço associado com o nome"
 
-#: nscd/nscd_stat.c:104
-msgid "nscd not running!\n"
-msgstr "nscd n�o est� rodando!\n"
+#: sysdeps/posix/gai_strerror-strs.h:8
+msgid "Name or service not known"
+msgstr "Nome ou serviço desconhecido"
 
-#: locale/programs/charmap.c:514
-msgid "only WIDTH definitions are allowed to follow the CHARMAP definition"
-msgstr "apenas defini��es de WIDTH s�o permitidas em seguida � defini��o de CHARMAP"
+#: sysdeps/posix/gai_strerror-strs.h:9
+msgid "Servname not supported for ai_socktype"
+msgstr "Servname sem suporte para “ai_socktype”"
 
-#: iconv/iconv_prog.c:135
-msgid "original encoding not specified using `-f'"
-msgstr "codifica��o original n�o especificada usando `-f'"
+#: sysdeps/posix/gai_strerror-strs.h:10
+msgid "ai_socktype not supported"
+msgstr "ai_socktype sem suporte"
 
-#: iconv/iconv_prog.c:60
-msgid "output file"
-msgstr "arquivo de sa�da"
+#: sysdeps/posix/gai_strerror-strs.h:11
+msgid "System error"
+msgstr "Erro de sistema"
 
-#: sunrpc/pm_getmaps.c:73
-msgid "pmap_getmaps rpc problem"
-msgstr "problemas de pmap_getmaps rpc"
+#: sysdeps/posix/gai_strerror-strs.h:12
+msgid "Processing request in progress"
+msgstr "Processamento da requisição em progresso"
 
-#: inet/rcmd.c:179
-msgid "poll: protocol failure in circuit setup\n"
-msgstr "poll: falha de protocolo na configura��o do circuito\n"
+#: sysdeps/posix/gai_strerror-strs.h:13
+msgid "Request canceled"
+msgstr "Requisição cancelada"
 
-#: sunrpc/rpc_scan.c:523 sunrpc/rpc_scan.c:533
-msgid "preprocessor error"
-msgstr "Erro de pr�-processador"
+#: sysdeps/posix/gai_strerror-strs.h:14
+msgid "Request not canceled"
+msgstr "Requisição não cancelada"
 
-#: elf/sprof.c:78
-msgid "print list of count paths and their number of use"
-msgstr "mostra lista de n�mero de rotas e seu n�mero de uso"
+#: sysdeps/posix/gai_strerror-strs.h:15
+msgid "All requests done"
+msgstr "Todas as requisições feitas"
 
-#: iconv/iconv_prog.c:61
-msgid "print progress information"
-msgstr "mostra informa��es de progresso"
+#: sysdeps/posix/gai_strerror-strs.h:16
+msgid "Interrupted by a signal"
+msgstr "Interrompido por um sinal"
 
-#: db2/makedb.c:345
-#, c-format
-msgid "problems while reading `%s'"
-msgstr "problems lendo `%s'"
+#: sysdeps/posix/gai_strerror-strs.h:17
+msgid "Parameter string not correctly encoded"
+msgstr "String de parâmetro não codificado corretamente"
 
-#: elf/sprof.c:691
+#: sysdeps/unix/sysv/linux/i386/readelflib.c:65
 #, c-format
-msgid "profiling data file `%s' does not match shared object `%s'"
-msgstr "arquivo de dados de perfil `%s' n�o coincide com objetos compartilhados `%s'"
+msgid "%s is for unknown machine %d.\n"
+msgstr "%s é para máquina desconhecida %d.\n"
 
-#: sunrpc/rpcinfo.c:237 sunrpc/rpcinfo.c:383
+#: sysdeps/unix/sysv/linux/ia64/makecontext.c:58
 #, c-format
-msgid "program %lu is not available\n"
-msgstr "programa %lu n�o est� dispon�vel\n"
+msgid "makecontext: does not know how to handle more than 8 arguments\n"
+msgstr "makecontext: não sabe como lidar com mais de 8 argumentos\n"
 
-#: sunrpc/rpcinfo.c:264 sunrpc/rpcinfo.c:310 sunrpc/rpcinfo.c:333
-#: sunrpc/rpcinfo.c:407 sunrpc/rpcinfo.c:453 sunrpc/rpcinfo.c:476
-#: sunrpc/rpcinfo.c:510
+#: sysdeps/unix/sysv/linux/lddlibc4.c:60
 #, c-format
-msgid "program %lu version %lu is not available\n"
-msgstr "programa %lu vers�o %lu n�o est� dispon�vel\n"
+msgid ""
+"Usage: lddlibc4 FILE\n"
+"\n"
+msgstr ""
+"Uso: lddlibc4 ARQUIVO\n"
+"\n"
 
-#: sunrpc/rpcinfo.c:515
+#: sysdeps/unix/sysv/linux/lddlibc4.c:81
 #, c-format
-msgid "program %lu version %lu ready and waiting\n"
-msgstr "programa %lu vers�o %lu pronto e aguardando\n"
+msgid "cannot open `%s'"
+msgstr "não foi possível abrir “%s”"
 
-#: inet/rcmd.c:176
+#: sysdeps/unix/sysv/linux/lddlibc4.c:85
 #, c-format
-msgid "rcmd: poll (setting up stderr): %m\n"
-msgstr "rcmd: poll (configurando stderr): %m\n"
-
-#: inet/rcmd.c:110
-msgid "rcmd: socket: All ports in use\n"
-msgstr "rcmd: socket: Todas as portas em uso\n"
+msgid "cannot read header from `%s'"
+msgstr "não foi possível ler cabeçalho de “%s”"
 
-#: inet/rcmd.c:166
-#, c-format
-msgid "rcmd: write (setting up stderr): %m\n"
-msgstr "rcmd: write (configurando stderr): %m\n"
+#: timezone/zdump.c:338
+msgid "has fewer than 3 characters"
+msgstr "possui menos de 3 caracteres"
 
-#: sunrpc/svc_simple.c:98
-msgid "registerrpc: out of memory\n"
-msgstr "registerrpc: n�o h� mem�ria suficiente\n"
+#: timezone/zdump.c:340
+msgid "has more than 6 characters"
+msgstr "possui mais de 6 caracteres"
 
-#: timezone/zic.c:1849
-msgid "repeated leap second moment"
-msgstr "ajuste repetido em segundo momento"
+#: timezone/zdump.c:342
+msgid "has characters other than ASCII alphanumerics, '-' or '+'"
+msgstr "possui caracteres além de “-”, “+” ou alfanuméricos ASCII"
 
-#: locale/programs/repertoire.c:95
+#: timezone/zdump.c:347
 #, c-format
-msgid "repertoire map file `%s' not found"
-msgstr "arquivo de mapas `%s' n�o foi localizado"
-
-#: sunrpc/rpc_main.c:1117
-msgid "rpcgen: arglist coding error\n"
-msgstr "rpcgen: erro na codifica��o de par�metros\n"
-
-#: sunrpc/rpc_main.c:1105
-msgid "rpcgen: too many defines\n"
-msgstr "rpcgen: muitas defini��es\n"
+msgid "%s: warning: zone \"%s\" abbreviation \"%s\" %s\n"
+msgstr "%s: aviso: fuso “%s” abreviação “%s” %s\n"
 
-#: sunrpc/rpcinfo.c:732
+#: timezone/zdump.c:393
 #, c-format
-msgid "rpcinfo: %s is unknown host\n"
-msgstr "rpcinfo: %s � um host desconhecido\n"
+msgid ""
+"%s: usage: %s OPTIONS ZONENAME ...\n"
+"Options include:\n"
+"  -c [L,]U   Start at year L (default -500), end before year U (default 2500)\n"
+"  -t [L,]U   Start at time L, end before time U (in seconds since 1970)\n"
+"  -i         List transitions briefly (format is experimental)\n"
+"  -v         List transitions verbosely\n"
+"  -V         List transitions a bit less verbosely\n"
+"  --help     Output this help\n"
+"  --version  Output version info\n"
+"\n"
+"Report bugs to %s.\n"
+msgstr ""
+"%s: uso: %s OPÇÕES NOMEFUSO ...\n"
+"Opções incluem:\n"
+"  -c [L,]U   Inicia no ano L (padrão -500), termina até o ano U (padrão 2500)\n"
+"  -t [L,]U   Inicia no tempo L, termina até o tempo U (em segundos desde 1970)\n"
+"  -i         Lista transições brevemente (formato é experimental)\n"
+"  -v         Lista transições verbosamente\n"
+"  -V         Lista transições um pouco menos verbosamente\n"
+"  --help     Emite essa ajuda\n"
+"  --version  Emite informação da versão\n"
+"\n"
+"Relate erros para %s.\n"
 
-#: sunrpc/rpcinfo.c:695
+#: timezone/zdump.c:479
 #, c-format
-msgid "rpcinfo: %s is unknown service\n"
-msgstr "rpcinfo: %s � um servi�o desconhecido\n"
+msgid "%s: wild -c argument %s\n"
+msgstr "%s: argumento -c insensato %s\n"
 
-#: sunrpc/rpcinfo.c:665
+#: timezone/zdump.c:512
 #, c-format
-msgid "rpcinfo: Could not delete registration for prog %s version %s\n"
-msgstr "rpcinfo: N�o foi poss�vel apagar registro para prog %s vers�o %s\n"
+msgid "%s: wild -t argument %s\n"
+msgstr "%s: argumento -t insensato %s\n"
 
-#: sunrpc/rpcinfo.c:637
+#: timezone/zic.c:398
 #, c-format
-msgid "rpcinfo: broadcast failed: %s\n"
-msgstr "rpcinfo: broadcast falhou: %s\n"
+msgid "%s: Memory exhausted: %s\n"
+msgstr "%s: Memória esgotada: %s\n"
 
-#: sunrpc/rpcinfo.c:556 sunrpc/rpcinfo.c:563
-msgid "rpcinfo: can't contact portmapper"
-msgstr "rpcinfo: imposs�vel contactar portmapper"
+#: timezone/zic.c:406
+msgid "size overflow"
+msgstr "estouro de tamanho"
 
-#: timezone/zic.c:718 timezone/zic.c:720
-msgid "same rule name in multiple files"
-msgstr "mesmo nome de regra em m�ltiplos arquivos"
+#: timezone/zic.c:454
+msgid "integer overflow"
+msgstr "estouro de valor inteiro"
 
-#: nscd/connections.c:387
+#: timezone/zic.c:488
 #, c-format
-msgid "short read while reading request key: %s"
-msgstr "falha na leitura lendo chave de requisi��o: %s"
+msgid "\"%s\", line %<PRIdMAX>: "
+msgstr "“%s”, linha %<PRIdMAX>: "
 
-#: nscd/connections.c:364
+#: timezone/zic.c:491
 #, c-format
-msgid "short read while reading request: %s"
-msgstr "problems lendo `%s'"
+msgid " (rule from \"%s\", line %<PRIdMAX>)"
+msgstr " (regra de “%s”, linha %<PRIdMAX>)"
 
-#: nscd/grpcache.c:191 nscd/hstcache.c:278 nscd/pwdcache.c:188
+#: timezone/zic.c:510
 #, c-format
-msgid "short write in %s: %s"
-msgstr "Erro escrevendo em %s: %s"
-
-#: inet/rcmd.c:197
-msgid "socket: protocol failure in circuit setup\n"
-msgstr "socket: falha de protocolo na configura��o do circuito\n"
-
-#: locale/programs/locfile.c:730
-msgid "sorting order `forward' and `backward' are mutually exclusive"
-msgstr "as ordens de classifica��o `forward' e `backward' s�o mutuamente exclusivas"
-
-#: locale/programs/ld-collate.c:1582 locale/programs/ld-collate.c:1628
-msgid "specification of sorting weight for collation symbol does not make sense"
-msgstr "especifica��o de peso para s�mbolo de compara��o n�o faz sentido"
-
-#: timezone/zic.c:789
-msgid "standard input"
-msgstr "entrada padr�o"
-
-#: timezone/zdump.c:268
-msgid "standard output"
-msgstr "sa�da padr�o"
+msgid "warning: "
+msgstr "aviso: "
 
-#: locale/programs/ld-time.c:272
+#: timezone/zic.c:535
 #, c-format
-msgid "starting date is illegal in string %d in `era' field in category `%s'"
-msgstr "data inicial � ilegal na string %d no campo `era', categoria `%s'"
-
-#: timezone/zic.c:1300
-msgid "starting year greater than ending year"
-msgstr "ano inicial maior que ano final"
-
-#: timezone/zic.c:1272 timezone/zic.c:1297
-msgid "starting year too high to be represented"
-msgstr "ano inicial muito alto para ser representado"
-
-#: timezone/zic.c:1270 timezone/zic.c:1295
-msgid "starting year too low to be represented"
-msgstr "ano inicial muito baixo para ser representado"
+msgid ""
+"%s: usage is %s [ --version ] [ --help ] [ -v ] \\\n"
+"\t[ -l localtime ] [ -p posixrules ] [ -d directory ] \\\n"
+"\t[ -L leapseconds ] [ filename ... ]\n"
+"\n"
+"Report bugs to %s.\n"
+msgstr ""
+"%s: uso é %s [ --version ] [ --help ] [ -h ] \\\n"
+"\t[ -l tempolocal ] [ -p regrasposix ] [ -d diretório ] \\\n"
+"\t[ -L segundos bissextos ] [ nome do arquivo ... ]\n"
+"\n"
+"Relate erros para %s.\n"
 
-#: locale/programs/ld-time.c:348
+#: timezone/zic.c:558
 #, c-format
-msgid "stopping date is illegal in string %d in `era' field in category `%s'"
-msgstr "data de t�rmino � ilegal na string %d no campo `era', categoria `%s'"
+msgid "%s: Can't chdir to %s: %s\n"
+msgstr "%s: Não foi fazer chdir criar %s: %s\n"
 
-#: sunrpc/svc_run.c:81
-msgid "svc_run: - select failed"
-msgstr "svc_run: - select falhou"
+#: timezone/zic.c:590
+msgid "wild compilation-time specification of zic_t"
+msgstr "especificação insensata de tempo de compilação de zic_t"
 
-#: sunrpc/svc_tcp.c:160
-msgid "svc_tcp.c - cannot getsockname or listen"
-msgstr "svc_tcp_.c - n�o � poss�vel receber `getsocknome' ou `listen'"
+#: timezone/zic.c:610
+#, c-format
+msgid "%s: More than one -d option specified\n"
+msgstr "%s: Mais de uma opção -d foi especificada\n"
 
-#: sunrpc/svc_tcp.c:145
-msgid "svc_tcp.c - tcp socket creation problem"
-msgstr "svc_tcp_.c - problema na cria��o do soquete AF_UNIX"
+#: timezone/zic.c:620
+#, c-format
+msgid "%s: More than one -l option specified\n"
+msgstr "%s: Mais de uma opção -l especificada\n"
 
-#: sunrpc/svc_tcp.c:209 sunrpc/svc_tcp.c:215
-msgid "svc_tcp: makefd_xprt: out of memory\n"
-msgstr "svc_tcp: makefd_xprt: n�o h� mem�ria suficiente\n"
+#: timezone/zic.c:630
+#, c-format
+msgid "%s: More than one -p option specified\n"
+msgstr "%s: Mais de uma opção -p especificada\n"
 
-#: sunrpc/svc_unix.c:135
-msgid "svc_unix.c - AF_UNIX socket creation problem"
-msgstr "svc_tcp_.c - problema na cria��o do soquete AF_UNIX"
+#: timezone/zic.c:640
+#, c-format
+msgid "%s: More than one -y option specified\n"
+msgstr "%s: Mais de uma opção -y especificada\n"
 
-#: sunrpc/svc_unix.c:151
-msgid "svc_unix.c - cannot getsockname or listen"
-msgstr "svc_tcp_.c - mem�ria exaurida"
+#: timezone/zic.c:650
+#, c-format
+msgid "%s: More than one -L option specified\n"
+msgstr "%s: Mais de uma opção -L foi especificada\n"
 
-#: sunrpc/svc_unix.c:201 sunrpc/svc_unix.c:207
-msgid "svc_unix: makefd_xprt: out of memory\n"
-msgstr "svc_unix: makefd_xprt: n�o h� mem�ria suficiente\n"
+#: timezone/zic.c:659
+msgid "-s ignored"
+msgstr "-s ignorada"
 
-#: sunrpc/svc_tcp.c:168 sunrpc/svc_tcp.c:176
-msgid "svctcp_create: out of memory\n"
-msgstr "svctcp_create: n�o h� mem�ria suficiente\n"
+#: timezone/zic.c:698
+msgid "link to link"
+msgstr "link para o link"
 
-#: sunrpc/svc_udp.c:135
-msgid "svcudp_create - cannot getsockname"
-msgstr "svcudp_create - n�o � poss�vel getsockname"
+#: timezone/zic.c:701 timezone/zic.c:705
+msgid "command line"
+msgstr "linha de comando"
 
-#: sunrpc/svc_udp.c:143 sunrpc/svc_udp.c:149 sunrpc/svc_udp.c:155
-msgid "svcudp_create: out of memory\n"
-msgstr "svcucp_create: n�o h� mem�ria suficiente\n"
+#: timezone/zic.c:721
+msgid "empty file name"
+msgstr "arquivo com nome vazio"
 
-#: sunrpc/svc_udp.c:121
-msgid "svcudp_create: socket creation problem"
-msgstr "svcudp_create: problema na cria��o socket"
+#: timezone/zic.c:724
+#, c-format
+msgid "file name '%s' begins with '/'"
+msgstr "nome de arquivo “%s” começa com “/”"
 
-#: sunrpc/svc_unix.c:160 sunrpc/svc_unix.c:168
-msgid "svcunix_create: out of memory\n"
-msgstr "svcunix_create: n�o h� mem�ria suficiente\n"
+#: timezone/zic.c:734
+#, c-format
+msgid "file name '%s' contains '%.*s' component"
+msgstr "nome de arquivo “%s” contém componente “%.*s”"
 
-#: locale/programs/ld-collate.c:1201
+#: timezone/zic.c:740
 #, c-format
-msgid "symbol for multicharacter collating element `%.*s' duplicates element definition"
-msgstr "s�mbolo para elemento de compara��o multicaracter `%.*s' duplica a defini��o do elemento"
+msgid "file name '%s' component contains leading '-'"
+msgstr "um componente do nome de arquivo “%s” inicia com “-”"
 
-#: locale/programs/ld-collate.c:1073
+#: timezone/zic.c:743
 #, c-format
-msgid "symbol for multicharacter collating element `%.*s' duplicates other element definition"
-msgstr "s�mbolo para elemento de compara��o multicaracter `%.*s' duplica a defini��o do elemento"
+msgid "file name '%s' contains overlength component '%.*s...'"
+msgstr "nome de arquivo “%s” contém componente “%.*s...” comprido demais"
 
-#: locale/programs/ld-collate.c:1210
+#: timezone/zic.c:771
 #, c-format
-msgid "symbol for multicharacter collating element `%.*s' duplicates other symbol definition"
-msgstr "s�mbolo para elemento de compara��o multicaracter `%.*s' duplica outra defini��o de s�mbolo"
+msgid "file name '%s' contains byte '%c'"
+msgstr "nome de arquivo “%s” contém byte “%c”"
 
-#: locale/programs/ld-collate.c:1082
+#: timezone/zic.c:772
 #, c-format
-msgid "symbol for multicharacter collating element `%.*s' duplicates symbol definition"
-msgstr "s�mbolo para elemento de compara��o multicaracter `%.*s' duplica a defini��o do s�mbolo"
+msgid "file name '%s' contains byte '\\%o'"
+msgstr "nome de arquivo “%s” contém byte “\\%o”"
 
-#: locale/programs/ld-collate.c:1064 locale/programs/ld-collate.c:1192
+#: timezone/zic.c:842
 #, c-format
-msgid "symbol for multicharacter collating element `%.*s' duplicates symbolic name in charset"
-msgstr "s�mbolo para elemento de compara��o multicaracter `%.*s duplicado"
+msgid "%s: link from %s/%s failed: %s\n"
+msgstr "%s: link de %s/%s falhou: %s\n"
 
-#: locale/programs/charmap.c:399 locale/programs/charmap.c:433
-#: locale/programs/charmap.c:463 locale/programs/charmap.c:549
-#: locale/programs/charmap.c:595 locale/programs/charmap.c:628
-#: locale/programs/charmap.c:660
+#: timezone/zic.c:852 timezone/zic.c:1815
 #, c-format
-msgid "syntax error in %s definition: %s"
-msgstr "erro de sintaxe na defini��o %s: %s"
+msgid "%s: Can't remove %s/%s: %s\n"
+msgstr "%s: Não é possível remover %s/%s: %s\n"
 
-#: locale/programs/locfile.c:750
-msgid "syntax error in `order_start' directive"
-msgstr "erro de sintaxe na diretiva `order_start'"
+#: timezone/zic.c:874
+#, c-format
+msgid "symbolic link used because hard link failed: %s"
+msgstr "link simbólico usado porque link absoluto falhou: %s"
 
-#: locale/programs/locfile.c:492
-msgid "syntax error in character class definition"
-msgstr "erro de sintaxe na defini��o de classe de caracteres"
+#: timezone/zic.c:882
+#, c-format
+msgid "%s: Can't read %s/%s: %s\n"
+msgstr "%s: Não foi possível ler %s/%s: %s\n"
 
-#: locale/programs/locfile.c:550
-msgid "syntax error in character conversion definition"
-msgstr "erro de sintaxe na defini��o de convers�o de caracteres"
+#: timezone/zic.c:889 timezone/zic.c:1828
+#, c-format
+msgid "%s: Can't create %s/%s: %s\n"
+msgstr "%s: Não é possível criar %s/%s (%s)\n"
 
-#: locale/programs/locfile.c:792
-msgid "syntax error in collating order definition"
-msgstr "erro de sintaxe na defini��o de ordem de compara��o"
+#: timezone/zic.c:898
+#, c-format
+msgid "copy used because hard link failed: %s"
+msgstr "cópia usada porque link absoluto falhou: %s"
 
-#: locale/programs/locfile.c:642
-msgid "syntax error in collation definition"
-msgstr "erro de sintaxe na defini��o de compara��o"
+#: timezone/zic.c:901
+#, c-format
+msgid "copy used because symbolic link failed: %s"
+msgstr "cópia usada porque link simbólico falhou: %s"
 
-#: locale/programs/locfile.c:465
-msgid "syntax error in definition of LC_CTYPE category"
-msgstr "erro de sintaxe na defini��o da categoria LC_CTYPE"
+#: timezone/zic.c:1013 timezone/zic.c:1015
+msgid "same rule name in multiple files"
+msgstr "mesmo nome de regra em múltiplos arquivos"
 
-#: locale/programs/locfile.c:408
-msgid "syntax error in definition of new character class"
-msgstr "erro de sintaxe na defini��o de uma nova classe de caracteres"
+#: timezone/zic.c:1056
+msgid "unruly zone"
+msgstr "fuso horário sem regras"
 
-#: locale/programs/locfile.c:418
-msgid "syntax error in definition of new character map"
-msgstr "erro de sintaxe na defini��o de um novo mapa de caracteres"
+#: timezone/zic.c:1063
+#, c-format
+msgid "%s in ruleless zone"
+msgstr "%s em uma fuso horário sem regras"
 
-#: locale/programs/locfile.c:1003
-msgid "syntax error in message locale definition"
-msgstr "erro de sintaxe na defini��o da mensagem locale"
+#: timezone/zic.c:1083
+msgid "standard input"
+msgstr "entrada padrão"
 
-#: locale/programs/locfile.c:914
-msgid "syntax error in monetary locale definition"
-msgstr "erro de sintaxe na defini��o monet�ria locale"
+#: timezone/zic.c:1088
+#, c-format
+msgid "%s: Can't open %s: %s\n"
+msgstr "%s: Não é possível abrir %s: %s\n"
 
-#: locale/programs/locfile.c:941
-msgid "syntax error in numeric locale definition"
-msgstr "erro de sintaxe na defini��o num�rica locale"
+#: timezone/zic.c:1099
+msgid "line too long"
+msgstr "linha muito longa"
 
-#: locale/programs/locfile.c:852
-msgid "syntax error in order specification"
-msgstr "erro de sintaxe na especifica��o de ordem"
+#: timezone/zic.c:1119
+msgid "input line of unknown type"
+msgstr "linha de entrada de tipo desconhecido"
 
-#: locale/programs/charmap.c:280 locale/programs/charmap.c:296
-#: locale/programs/repertoire.c:143
+#: timezone/zic.c:1134
 #, c-format
-msgid "syntax error in prolog: %s"
-msgstr "erro de sintaxe em prolog: %s"
+msgid "%s: Leap line in non leap seconds file %s"
+msgstr "%s: linha Leap em arquivo de segundos não bissextos %s"
 
-#: locale/programs/repertoire.c:198 locale/programs/repertoire.c:237
-#: locale/programs/repertoire.c:260
+#: timezone/zic.c:1142 timezone/zic.c:1547 timezone/zic.c:1569
 #, c-format
-msgid "syntax error in repertoire map definition: %s"
-msgstr "erro de sintaxe no mapa de repert�rio: %s"
-
-#: locale/programs/locfile.c:979
-msgid "syntax error in time locale definition"
-msgstr "erro de sintaxe na defini��o de tempo locale"
-
-#: locale/programs/locfile.c:385
-msgid "syntax error: not inside a locale definition section"
-msgstr "erro de sintaxe: n�o est� dentro de uma defini��o de se��o locale"
-
-#: iconv/iconv_prog.c:137
-msgid "target encoding not specified using `-t'"
-msgstr "codifica��o destino n�o especificada usando `-t'"
-
-#: catgets/gencat.c:390 catgets/gencat.c:526 catgets/gencat.c:553
-msgid "this is the first definition"
-msgstr "esta � a primeira defini��o"
+msgid "%s: panic: Invalid l_value %d\n"
+msgstr "%s: pânico: l_value inválido %d\n"
 
-#: timezone/zic.c:1132
-msgid "time before zero"
-msgstr "tempo menor que zero"
+#: timezone/zic.c:1151
+msgid "expected continuation line not found"
+msgstr "linha de continuação não foi localizada"
 
-#: timezone/zic.c:1140 timezone/zic.c:2015 timezone/zic.c:2034
+#: timezone/zic.c:1193 timezone/zic.c:2976
 msgid "time overflow"
 msgstr "estouro de tempo"
 
-#: locale/programs/charmap.c:443
-msgid "too few bytes in character encoding"
-msgstr "poucos bytes na codifica��o do caracter"
-
-#: locale/programs/charmap.c:445
-msgid "too many bytes in character encoding"
-msgstr "muitos bytes na codifica��o do caracter"
-
-#: locale/programs/locales.h:92
-msgid "too many character classes defined"
-msgstr "muitas classes de caracteres definidas"
+#: timezone/zic.c:1198
+msgid "values over 24 hours not handled by pre-2007 versions of zic"
+msgstr "valor sobre 24 horas não tratado por versões anteriores a 2007 do zic"
 
-#: timezone/zic.c:1843
-msgid "too many leap seconds"
-msgstr "excessivos ajustes em segundos"
+#: timezone/zic.c:1209
+msgid "wrong number of fields on Rule line"
+msgstr "número incorreto de campos na linha Rule"
 
-#: timezone/zic.c:1815
-msgid "too many local time types"
-msgstr "muitos tipos de tempo local"
+#: timezone/zic.c:1213
+msgid "nameless rule"
+msgstr "regra sem nome"
 
-#: timezone/zic.c:1769
-msgid "too many transitions?!"
-msgstr "muitas transi��es?!"
+#: timezone/zic.c:1218
+msgid "invalid saved time"
+msgstr "tempo gravado inválido"
 
-#: locale/programs/ld-collate.c:1637
-msgid "too many weights"
-msgstr "muitos pesos"
+#: timezone/zic.c:1235
+msgid "wrong number of fields on Zone line"
+msgstr "número incorreto de campos na linha Zone"
 
-#: timezone/zic.c:2138
-msgid "too many, or too long, time zone abbreviations"
-msgstr "abrevia��es de zona de tempo excessivas ou muito extensas"
+#: timezone/zic.c:1240
+#, c-format
+msgid "\"Zone %s\" line and -l option are mutually exclusive"
+msgstr "A linha “Zone %s” e a opção -l são mutuamente exclusivas"
 
-#: locale/programs/linereader.h:146
-msgid "trailing garbage at end of line"
-msgstr "lixo no final da linha"
+#: timezone/zic.c:1246
+#, c-format
+msgid "\"Zone %s\" line and -p option are mutually exclusive"
+msgstr "A linha “Zone %s” e a opção -p são mutuamente exclusivas"
 
-#: sunrpc/svc_simple.c:150
+#: timezone/zic.c:1253
 #, c-format
-msgid "trouble replying to prog %d\n"
-msgstr "problemas respondendo ao prog %d\n"
+msgid "duplicate zone name %s (file \"%s\", line %<PRIdMAX>)"
+msgstr "nome de fuso horário duplicado %s (arquivo “%s”, linha %<PRIdMAX>)"
 
-#: locale/programs/ld-collate.c:1393
-msgid "two lines in a row containing `...' are not allowed"
-msgstr "duas linhas em uma lista contendo `...' n�o s�o permitidas"
+#: timezone/zic.c:1267
+msgid "wrong number of fields on Zone continuation line"
+msgstr "número incorreto de campos na linha de continuação de Zone"
 
 #: timezone/zic.c:1307
-msgid "typed single year"
-msgstr "digitado ano simples"
+msgid "invalid UT offset"
+msgstr "deslocamento de UT inválido"
 
-#: iconv/iconv_prog.c:406
-msgid "unable to allocate buffer for input"
-msgstr "incapaz de alocar espa�o para entrada"
-
-#: nis/nis_callback.c:187
-msgid "unable to free arguments"
-msgstr "n�o consegui liberar par�metros"
-
-#: posix/getconf.c:654 posix/getconf.c:670
-msgid "undefined"
-msgstr "indefinido"
-
-#: locale/programs/charmap.c:701 locale/programs/charmap.c:712
-#, c-format
-msgid "unknown character `%s'"
-msgstr "caracter desconhecido `%s'"
-
-#: locale/programs/ld-messages.c:202 locale/programs/ld-messages.c:213
-#: locale/programs/ld-messages.c:224 locale/programs/ld-messages.c:235
-#: locale/programs/ld-time.c:718
-#, c-format
-msgid "unknown character in field `%s' of category `%s'"
-msgstr "caracter desconhecido no campo `%s', categoria `%s'"
-
-#: locale/programs/locfile.c:715
-msgid "unknown collation directive"
-msgstr "diretiva de compara��o desconhecida"
+#: timezone/zic.c:1311
+msgid "invalid abbreviation format"
+msgstr "formato de abreviação inválido"
 
-#: catgets/gencat.c:487
+#: timezone/zic.c:1320
 #, c-format
-msgid "unknown directive `%s': line ignored"
-msgstr "diretiva desconhecida `%s': linha ignorada"
+msgid "format '%s' not handled by pre-2015 versions of zic"
+msgstr "formato “%s” não tratado por versões pré-2015 do zic"
 
-#: iconv/iconv_prog.c:353
-#, c-format
-msgid "unknown iconv() error %d"
-msgstr "erro iconv() desconhecido: %d"
+#: timezone/zic.c:1347
+msgid "Zone continuation line end time is not after end time of previous line"
+msgstr "Hora final da linha de fuso horário não está após o tempo final da linha anterior"
 
-#: catgets/gencat.c:466
-#, c-format
-msgid "unknown set `%s'"
-msgstr "conjunto desconhecido `%s'"
+#: timezone/zic.c:1374
+msgid "wrong number of fields on Leap line"
+msgstr "número incorreto de campos na linha Leap"
 
-#: locale/programs/ld-collate.c:1377 locale/programs/ld-collate.c:1572
-#: locale/programs/ld-collate.c:1747
-#, c-format
-msgid "unknown symbol `%.*s': line ignored"
-msgstr "s�mbolo desconhecido `%.*s': linha ignorada"
+#: timezone/zic.c:1383
+msgid "invalid leaping year"
+msgstr "ano bissexto inválido"
 
-#: timezone/zic.c:761
-msgid "unruly zone"
-msgstr "zona sem regras"
+#: timezone/zic.c:1403 timezone/zic.c:1501
+msgid "invalid month name"
+msgstr "nome do mês inválido"
 
-#: catgets/gencat.c:971
-msgid "unterminated message"
-msgstr "mensagem n�o terminada"
+#: timezone/zic.c:1416 timezone/zic.c:1614 timezone/zic.c:1628
+msgid "invalid day of month"
+msgstr "dia do mês inválido"
 
-#: locale/programs/linereader.c:520 locale/programs/linereader.c:555
-msgid "unterminated string"
-msgstr "string n�o terminada"
+#: timezone/zic.c:1421
+msgid "time too small"
+msgstr "hora pequena demais"
 
-#: sunrpc/rpc_scan.c:350 sunrpc/rpc_scan.c:376
-msgid "unterminated string constant"
-msgstr "string n�o terminada"
+#: timezone/zic.c:1425
+msgid "time too large"
+msgstr "hora grande demais"
 
-#: locale/programs/linereader.c:390
-msgid "unterminated symbolic name"
-msgstr "nome simb�lico n�o terminado"
+#: timezone/zic.c:1429 timezone/zic.c:1530
+msgid "invalid time of day"
+msgstr "hora do dia inválida"
 
-#: locale/programs/ld-collate.c:1699
-msgid "unterminated weight name"
-msgstr "nome do peso n�o terminado"
+#: timezone/zic.c:1448
+msgid "illegal CORRECTION field on Leap line"
+msgstr "Campo CORRECTION ilegal em linha Leap (ajuste)"
 
-#: locale/programs/charset.c:104
-msgid "upper limit in range is not smaller then lower limit"
-msgstr "o limite inferior do intervalo � maior que o limite superior"
+#: timezone/zic.c:1453
+msgid "illegal Rolling/Stationary field on Leap line"
+msgstr "campo Rolling/Stationary ilegal em linha Leap (ajuste)"
 
-#: sunrpc/rpc_main.c:1415
-#, c-format
-msgid "usage:  %s infile\n"
-msgstr "uso: %s arquivo_entrada\n"
+#: timezone/zic.c:1459
+msgid "leap second precedes Big Bang"
+msgstr "segundo bissexto precede Big Bang"
 
-#: timezone/zic.c:2081
-msgid "use of 2/29 in non leap-year"
-msgstr "use 2/29 em ano n�o bissexto"
+#: timezone/zic.c:1472
+msgid "wrong number of fields on Link line"
+msgstr "número incorreto de campos na linha Link"
 
-#: locale/programs/charmap.c:522 locale/programs/charmap.c:576
-#, c-format
-msgid "value for %s must be an integer"
-msgstr "valor para %s deve ser um inteiro"
+#: timezone/zic.c:1476
+msgid "blank FROM field on Link line"
+msgstr "campo FROM em branco na linha Link"
 
-#: locale/programs/charmap.c:318
-#, c-format
-msgid "value for <%s> must lie between 1 and 4"
-msgstr "valor para <%s> deve estar entre 1 e 4"
+#: timezone/zic.c:1551
+msgid "invalid starting year"
+msgstr "ano inicial inválido"
 
-#: locale/programs/ld-monetary.c:157 locale/programs/ld-numeric.c:92
-#, c-format
-msgid "value for field `%s' in category `%s' must not be the empty string"
-msgstr "valor para campo `%s', categoria `%s', n�o deve ser uma string vazia"
+#: timezone/zic.c:1573
+msgid "invalid ending year"
+msgstr "ano final inválido"
 
-#: locale/programs/charmap.c:330
-msgid "value of <mb_cur_max> must be greater than the value of <mb_cur_min>"
-msgstr "o valor de <mb_cur_max> deve ser maior que o valor de <mb_cur_min>"
+#: timezone/zic.c:1577
+msgid "starting year greater than ending year"
+msgstr "ano inicial maior que ano final"
 
-#: locale/programs/ld-monetary.c:147
-msgid "value of field `int_curr_symbol' in category `LC_MONETARY' does not correspond to a valid name in ISO 4217"
-msgstr "o valor do campo `int_curr_symbol' na categoria `LC_MONETARY' n�o corresponde a um nome v�lido na ISO 4217"
+#: timezone/zic.c:1584
+msgid "typed single year"
+msgstr "digitado ano simples"
 
-#: locale/programs/ld-monetary.c:139
-msgid "value of field `int_curr_symbol' in category `LC_MONETARY' has wrong length"
-msgstr "o valor do campo `int_curr_symbol' na categoria `LC_MONETARY' possui tamanho errado"
+#: timezone/zic.c:1619
+msgid "invalid weekday name"
+msgstr "nome de dia de semana inválido"
 
-#: locale/programs/ld-monetary.c:383 locale/programs/ld-numeric.c:207
+#: timezone/zic.c:1743
 #, c-format
-msgid "values for field `%s' in category `%s' must be smaller than 127"
-msgstr "os valores para o campo `%s' na categoria `%s' devem ser menores que 127"
+msgid "reference clients mishandle more than %d transition times"
+msgstr "clientes de referência lidam incorretamente com mais %d tempos de transição"
 
-#: nscd/connections.c:355
-#, c-format
-msgid "while accepting connection: %s"
-msgstr "enquanto aceitando conec��o: %s"
+#: timezone/zic.c:1747
+msgid "pre-2014 clients may mishandle more than 1200 transition times"
+msgstr "clientes pré-2014 podem não lidar corretamente comais de 1200 tempos de transições"
 
-#: nscd/grpcache.c:149 nscd/hstcache.c:168 nscd/pwdcache.c:142
-msgid "while allocating cache entry"
-msgstr "enquanto alocando entrada de cache"
+#: timezone/zic.c:1858
+msgid "too many transition times"
+msgstr "tempos de transição em excesso"
 
-#: nscd/cache.c:85
-msgid "while allocating hash table entry"
-msgstr "enquanto alocando entrada na tabela hash"
+#: timezone/zic.c:2047
+#, c-format
+msgid "%%z UTC offset magnitude exceeds 99:59:59"
+msgstr "a magnitude do deslocamento de %%z UTC excede 99:59:59"
 
-#: nscd/grpcache.c:99 nscd/hstcache.c:109 nscd/pwdcache.c:105
-msgid "while allocating key copy"
-msgstr "enquanto alocando chave c�pia"
+#: timezone/zic.c:2424
+msgid "no POSIX environment variable for zone"
+msgstr "nenhuma variável de ambiente POSIX para o fuso horário"
 
-#: catgets/gencat.c:1001
-msgid "while opening old catalog file"
-msgstr "enquanto abrindo antigo arquivo de cat�logo"
+#: timezone/zic.c:2430
+#, c-format
+msgid "%s: pre-%d clients may mishandle distant timestamps"
+msgstr "%s: clientes pré-%d podem não lidar corretamente com marcas de tempo distantes"
 
-#: locale/programs/locale.c:346
-msgid "while preparing output"
-msgstr "enquanto preparando sa�da"
+#: timezone/zic.c:2566
+msgid "two rules for same instant"
+msgstr "duas regras para o mesmo instante"
 
-#: db2/makedb.c:365 db2/makedb.c:382
-msgid "while reading database"
-msgstr "enquanto lendo database"
+#: timezone/zic.c:2627
+msgid "can't determine time zone abbreviation to use just after until time"
+msgstr "não é possível determinar abreviação de fuso horário para usar apenas após um tempo"
 
-#: elf/sprof.c:683
-msgid "while stat'ing profiling data file"
-msgstr "enquanto escrevendo arquivo data de dados de perfil"
+#: timezone/zic.c:2725
+msgid "too many local time types"
+msgstr "tipos de tempo local em excesso"
 
-#: db2/makedb.c:334
-msgid "while writing database file"
-msgstr "enquanto escrevendo arquivo data base"
+#: timezone/zic.c:2729
+msgid "UT offset out of range"
+msgstr "deslocamento de UT fora da faixa"
 
-#: nscd/nscd_stat.c:115
-msgid "write incomplete"
-msgstr "escrita incompleta"
+#: timezone/zic.c:2753
+msgid "too many leap seconds"
+msgstr "número excessivo de segundos bissextos"
 
-#: inet/rcmd.c:320
-msgid "writeable by other than owner"
-msgstr "permiss�o de escrita para outros"
+#: timezone/zic.c:2759
+msgid "repeated leap second moment"
+msgstr "momento de segundo bissexto repetido"
 
-#: db2/makedb.c:124 nscd/nscd.c:114 nss/getent.c:392
-msgid "wrong number of arguments"
-msgstr "n�mero incorreto de argumentos"
+#: timezone/zic.c:2830
+msgid "Wild result from command execution"
+msgstr "Resultado insensato da execução do comando"
 
-#: timezone/zic.c:1090
-msgid "wrong number of fields on Leap line"
-msgstr "n�mero incorreto de campos na linha Leap"
+#: timezone/zic.c:2831
+#, c-format
+msgid "%s: command was '%s', result was %d\n"
+msgstr "%s: comando era “%s”, resultado era %d\n"
 
-#: timezone/zic.c:1181
-msgid "wrong number of fields on Link line"
-msgstr "n�mero incorreto de campos na linha Link"
+#: timezone/zic.c:2961
+msgid "Odd number of quotation marks"
+msgstr "Número ímpar de aspas"
 
-#: timezone/zic.c:924
-msgid "wrong number of fields on Rule line"
-msgstr "n�mero incorreto de campos na linha Rule"
+#: timezone/zic.c:3046
+msgid "use of 2/29 in non leap-year"
+msgstr "uso de 2/29 em ano não bissexto"
 
-#: timezone/zic.c:994
-msgid "wrong number of fields on Zone continuation line"
-msgstr "n�mero incorreto de campos na linha de continua��o de Zone"
+#: timezone/zic.c:3081
+msgid "rule goes past start/end of month; will not work with pre-2004 versions of zic"
+msgstr "regra vai de início/fim do mês; não vai funcionar em versões pré-2004 do zic"
 
-#: timezone/zic.c:952
-msgid "wrong number of fields on Zone line"
-msgstr "n�mero incorreto de campos na linha Zone"
+#: timezone/zic.c:3108
+msgid "time zone abbreviation has fewer than 3 characters"
+msgstr "abreviação de fuso horário possui menos de 3 caracteres"
 
-#: sunrpc/xdr_ref.c:84
-msgid "xdr_reference: out of memory\n"
-msgstr "xdr_reference: n�o h� mem�ria suficiente\n"
+#: timezone/zic.c:3110
+msgid "time zone abbreviation has too many characters"
+msgstr "abreviação de fuso horário possui um número excessivo de caracteres"
 
-#: sunrpc/xdr_rec.c:151 sunrpc/xdr_rec.c:166
-msgid "xdrrec_create: out of memory\n"
-msgstr "xdrrec_create: n�o h� mem�ria suficiente\n"
+#: timezone/zic.c:3112
+msgid "time zone abbreviation differs from POSIX standard"
+msgstr "abreviação de fuso horário difere do padrão POSIX"
 
-#: nis/ypclnt.c:884
-msgid "yp_update: cannot convert host to netname\n"
-msgstr "yp_update: n�o � poss�vel converter host para netname\n"
+#: timezone/zic.c:3118
+msgid "too many, or too long, time zone abbreviations"
+msgstr "abreviações de fuso horário em excesso ou muito extensas"
 
-#: nis/ypclnt.c:896
-msgid "yp_update: cannot get server address\n"
-msgstr "yp_update: n�o � poss�vel obter o endere�o do servidor\n"
+#: timezone/zic.c:3161
+#, c-format
+msgid "%s: Can't create directory %s: %s"
+msgstr "%s: Não foi possível criar o diretório %s: %s"

commit 19be35a25036279770b235f4305e2276349ceb30
Author: Robert Buj <robert.buj@gmail.com>
Date:   Tue Mar 6 22:51:29 2018 +0100

    ca_ES locale: Update LC_TIME (bug 22848).
    
    Add/fix alternative month names, long & short formats, am_pm,
    abday settings, and improve indentation for Catalan.
    
            [BZ #22848]
            * localedata/locales/ca_ES (abmon): Rename to...
            (ab_alt_mon): This, then synchronize with CLDR (nominative case).
            (mon): Rename to...
            (alt_mon): This.
            (abmon): Import from CLDR (genitive case, month names preceded by
            "de" or "d’").
            (mon): Likewise.
            (abday): Synchronize with CLDR.
            (d_t_fmt): Likewise.
            (d_fmt): Likewise.
            (am_pm): Likewise.
    
            (LC_TIME): Improve indentation.
            (LC_TELEPHONE): Likewise.
            (LC_NAME): Likewise.
            (LC_ADDRESS): Likewise.
    
    Reviewed-by: Carlos O'Donell <carlos@redhat.com>
    (cherry picked from commit a00bffe8b531693d3b26c1e87afe4b9eac84474c)

diff --git a/ChangeLog b/ChangeLog
index 8baa2123ed..2fb76196ca 100644
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,3 +1,23 @@
+2018-03-16  Robert Buj  <robert.buj@gmail.com>
+
+	[BZ #22848]
+	* localedata/locales/ca_ES (abmon): Rename to...
+	(ab_alt_mon): This, then synchronize with CLDR (nominative case).
+	(mon): Rename to...
+	(alt_mon): This.
+	(abmon): Import from CLDR (genitive case, month names preceded by
+	"de" or "d’").
+	(mon): Likewise.
+	(abday): Synchronize with CLDR.
+	(d_t_fmt): Likewise.
+	(d_fmt): Likewise.
+	(am_pm): Likewise.
+
+	(LC_TIME): Improve indentation.
+	(LC_TELEPHONE): Likewise.
+	(LC_NAME): Likewise.
+	(LC_ADDRESS): Likewise.
+
 2018-03-12  Dmitry V. Levin  <ldv@altlinux.org>
 
 	* po/pt_BR.po: Update translations.
diff --git a/localedata/locales/ca_ES b/localedata/locales/ca_ES
index 914c066dab..f0d744d537 100644
--- a/localedata/locales/ca_ES
+++ b/localedata/locales/ca_ES
@@ -106,36 +106,67 @@ grouping             0;0
 END LC_NUMERIC
 
 LC_TIME
-abday   "dg";"dl";"dt";"dc";"dj";"dv";"ds"
-day     "diumenge";/
-        "dilluns";/
-        "dimarts";/
-        "dimecres";/
-        "dijous";/
-        "divendres";/
-        "dissabte"
-abmon   "gen";"feb";/
-        "mar";"abr";/
-        "mai";"jun";/
-        "jul";"ago";/
-        "set";"oct";/
-        "nov";"des"
-mon     "gener";/
-        "febrer";/
-        "mar<U00E7>";/
-        "abril";/
-        "maig";/
-        "juny";/
-        "juliol";/
-        "agost";/
-        "setembre";/
-        "octubre";/
-        "novembre";/
-        "desembre"
-d_t_fmt "%a %d %b %Y %T %Z"
-d_fmt   "%d//%m//%y"
-t_fmt   "%T"
-am_pm   "";""
+abday      "dg.";"dl.";"dt.";"dc.";"dj.";"dv.";"ds."
+day        "diumenge";/
+           "dilluns";/
+           "dimarts";/
+           "dimecres";/
+           "dijous";/
+           "divendres";/
+           "dissabte"
+ab_alt_mon "gen.";/
+           "febr.";/
+           "mar<U00E7>";/
+           "abr.";/
+           "maig";/
+           "juny";/
+           "jul.";/
+           "ag.";/
+           "set.";/
+           "oct.";/
+           "nov.";/
+           "des."
+abmon      "de gen.";/
+           "de febr.";/
+           "de mar<U00E7>";/
+           "d<U2019>abr.";/
+           "de maig";/
+           "de juny";/
+           "de jul.";/
+           "d<U2019>ag.";/
+           "de set.";/
+           "d<U2019>oct.";/
+           "de nov.";/
+           "de des."
+alt_mon    "gener";/
+           "febrer";/
+           "mar<U00E7>";/
+           "abril";/
+           "maig";/
+           "juny";/
+           "juliol";/
+           "agost";/
+           "setembre";/
+           "octubre";/
+           "novembre";/
+           "desembre"
+mon        "de gener";/
+           "de febrer";/
+           "de mar<U00E7>";/
+           "d<U2019>abril";/
+           "de maig";/
+           "de juny";/
+           "de juliol";/
+           "d<U2019>agost";/
+           "de setembre";/
+           "d<U2019>octubre";/
+           "de novembre";/
+           "de desembre"
+d_t_fmt    "%A, %-d %B de %Y, %T %Z"
+d_fmt      "%-d//%-m//%y"
+t_fmt      "%T"
+am_pm      "a. m.";/
+           "p. m."
 t_fmt_ampm ""
 week 7;19971130;4
 first_weekday 2
@@ -146,9 +177,9 @@ copy "i18n"
 END LC_PAPER
 
 LC_TELEPHONE
-tel_int_fmt    "+%c %a %l"
-int_prefix     "34"
-int_select     "00"
+tel_int_fmt  "+%c %a %l"
+int_prefix   "34"
+int_select   "00"
 END LC_TELEPHONE
 
 LC_MEASUREMENT
@@ -156,19 +187,19 @@ copy "i18n"
 END LC_MEASUREMENT
 
 LC_NAME
-name_fmt    "%d%t%g%t%m%t%f"
+name_fmt     "%d%t%g%t%m%t%f"
 END LC_NAME
 
 LC_ADDRESS
-postal_fmt    "%f%N%a%N%d%N%b%N%s %h %e %r%N%z %T%N%c%N"
+postal_fmt   "%f%N%a%N%d%N%b%N%s %h %e %r%N%z %T%N%c%N"
 country_name "Espanya"
-country_ab2 "ES"
-country_ab3 "ESP"
-country_num 724
-country_car    "E"
+country_ab2  "ES"
+country_ab3  "ESP"
+country_num  724
+country_car  "E"
 % català
 lang_name    "catal<U00E0>"
 lang_ab      "ca"
 lang_term    "cat"
-lang_lib    "cat"
+lang_lib     "cat"
 END LC_ADDRESS

commit 207e51524bb6b8c3a65f15cdb83ba69c37c626a6
Author: Rafal Luzynski <digitalfreak@lingonborough.com>
Date:   Thu Mar 8 00:38:18 2018 +0100

    lt_LT locale: Update abbreviated month names (bug 22932).
    
    A GNOME translator asked to use the same abbreviated month names
    as provided by CLDR.  This sounds reasonable.  See the discussion:
    https://bugzilla.gnome.org/show_bug.cgi?id=793645#c27
    
            [BZ #22932]
            * localedata/locales/lt_LT (abmon): Synchronize with CLDR.
    
    Reviewed-by: Carlos O'Donell <carlos@redhat.com>
    (cherry picked from commit 71d7b121686f6d91cd5a630dcfb72197b5d8284a)

diff --git a/ChangeLog b/ChangeLog
index 2fb76196ca..d037711c0c 100644
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,3 +1,8 @@
+2018-03-16  Rafal Luzynski  <digitalfreak@lingonborough.com>
+
+	[BZ #22932]
+	* localedata/locales/lt_LT (abmon): Synchronize with CLDR.
+
 2018-03-16  Robert Buj  <robert.buj@gmail.com>
 
 	[BZ #22848]
diff --git a/localedata/locales/lt_LT b/localedata/locales/lt_LT
index c935fcf75e..bec67726e9 100644
--- a/localedata/locales/lt_LT
+++ b/localedata/locales/lt_LT
@@ -201,12 +201,12 @@ day       "Sekmadienis";/
           "Ketvirtadienis";/
           "Penktadienis";/
           "<U0160>e<U0161>tadienis"
-abmon     "Sau";"Vas";/
-          "Kov";"Bal";/
-          "Geg";"Bir";/
-          "Lie";"Rgp";/
-          "Rgs";"Spa";/
-          "Lap";"Grd"
+abmon     "saus.";"vas.";/
+          "kov.";"bal.";/
+          "geg.";"bir<U017E>.";/
+          "liep.";"rugp.";/
+          "rugs.";"spal.";/
+          "lapkr.";"gruod."
 alt_mon   "sausis";/
           "vasaris";/
           "kovas";/

commit 95c8ffa521d0aec14197aafef0d2136732f8118d
Author: Rafal Luzynski <digitalfreak@lingonborough.com>
Date:   Thu Mar 8 00:45:04 2018 +0100

    Greek (el_CY, el_GR) locales: Introduce ab_alt_mon (bug 22937).
    
    As spotted by GNOME translation team, Greek language has the actually
    visible difference between the abbreviated nominative and the abbreviated
    genitive case for some month names.  Examples:
    
    May:
    
    abbreviated nominative: "Μάι" -> abbreviated genitive: "Μαΐ"
    
    July:
    
    abbreviated nominative: "Ιούν" -> abbreviated genitive: "Ιουλ"
    
    and more month names with similar differences.
    
    Original discussion: https://bugzilla.gnome.org/show_bug.cgi?id=793645#c21
    
            [BZ #22937]
            * localedata/locales/el_CY (abmon): Rename to...
            (ab_alt_mon): This.
            (abmon): Import from CLDR (abbreviated genitive case).
            * localedata/locales/el_GR (abmon): Rename to...
            (ab_alt_mon): This.
            (abmon): Import from CLDR (abbreviated genitive case).
    
    Reviewed-by: Carlos O'Donell <carlos@redhat.com>
    (cherry picked from commit e7155a28ef61f240da156e1cea410b61afca14ad)

diff --git a/ChangeLog b/ChangeLog
index d037711c0c..4fbb871235 100644
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,3 +1,13 @@
+2018-03-16  Rafal Luzynski  <digitalfreak@lingonborough.com>
+
+	[BZ #22937]
+	* localedata/locales/el_CY (abmon): Rename to...
+	(ab_alt_mon): This.
+	(abmon): Import from CLDR (abbreviated genitive case).
+	* localedata/locales/el_GR (abmon): Rename to...
+	(ab_alt_mon): This.
+	(abmon): Import from CLDR (abbreviated genitive case).
+
 2018-03-16  Rafal Luzynski  <digitalfreak@lingonborough.com>
 
 	[BZ #22932]
diff --git a/localedata/locales/el_CY b/localedata/locales/el_CY
index f27a74bb76..28055f335b 100644
--- a/localedata/locales/el_CY
+++ b/localedata/locales/el_CY
@@ -72,12 +72,18 @@ day     "<U039A><U03C5><U03C1><U03B9><U03B1><U03BA><U03AE>";/
         "<U03A0><U03AD><U03BC><U03C0><U03C4><U03B7>";/
         "<U03A0><U03B1><U03C1><U03B1><U03C3><U03BA><U03B5><U03C5><U03AE>";/
         "<U03A3><U03AC><U03B2><U03B2><U03B1><U03C4><U03BF>"
-abmon   "<U0399><U03B1><U03BD>";"<U03A6><U03B5><U03B2>";/
+ab_alt_mon "<U0399><U03B1><U03BD>";"<U03A6><U03B5><U03B2>";/
         "<U039C><U03AC><U03C1>";"<U0391><U03C0><U03C1>";/
         "<U039C><U03AC><U03B9>";"<U0399><U03BF><U03CD><U03BD>";/
         "<U0399><U03BF><U03CD><U03BB>";"<U0391><U03CD><U03B3>";/
         "<U03A3><U03B5><U03C0>";"<U039F><U03BA><U03C4>";/
         "<U039D><U03BF><U03AD>";"<U0394><U03B5><U03BA>"
+abmon   "<U0399><U03B1><U03BD>";"<U03A6><U03B5><U03B2>";/
+        "<U039C><U03B1><U03C1>";"<U0391><U03C0><U03C1>";/
+        "<U039C><U03B1><U0390>";"<U0399><U03BF><U03C5><U03BD>";/
+        "<U0399><U03BF><U03C5><U03BB>";"<U0391><U03C5><U03B3>";/
+        "<U03A3><U03B5><U03C0>";"<U039F><U03BA><U03C4>";/
+        "<U039D><U03BF><U03B5>";"<U0394><U03B5><U03BA>"
 alt_mon "<U0399><U03B1><U03BD><U03BF><U03C5><U03AC><U03C1><U03B9><U03BF><U03C2>";/
         "<U03A6><U03B5><U03B2><U03C1><U03BF><U03C5><U03AC><U03C1><U03B9><U03BF><U03C2>";/
         "<U039C><U03AC><U03C1><U03C4><U03B9><U03BF><U03C2>";/
diff --git a/localedata/locales/el_GR b/localedata/locales/el_GR
index a82ef8c6d9..7362492fbd 100644
--- a/localedata/locales/el_GR
+++ b/localedata/locales/el_GR
@@ -104,12 +104,18 @@ day     "<U039A><U03C5><U03C1><U03B9><U03B1><U03BA><U03AE>";/
         "<U03A0><U03AD><U03BC><U03C0><U03C4><U03B7>";/
         "<U03A0><U03B1><U03C1><U03B1><U03C3><U03BA><U03B5><U03C5><U03AE>";/
         "<U03A3><U03AC><U03B2><U03B2><U03B1><U03C4><U03BF>"
-abmon   "<U0399><U03B1><U03BD>";"<U03A6><U03B5><U03B2>";/
+ab_alt_mon "<U0399><U03B1><U03BD>";"<U03A6><U03B5><U03B2>";/
         "<U039C><U03AC><U03C1>";"<U0391><U03C0><U03C1>";/
         "<U039C><U03AC><U03B9>";"<U0399><U03BF><U03CD><U03BD>";/
         "<U0399><U03BF><U03CD><U03BB>";"<U0391><U03CD><U03B3>";/
         "<U03A3><U03B5><U03C0>";"<U039F><U03BA><U03C4>";/
         "<U039D><U03BF><U03AD>";"<U0394><U03B5><U03BA>"
+abmon   "<U0399><U03B1><U03BD>";"<U03A6><U03B5><U03B2>";/
+        "<U039C><U03B1><U03C1>";"<U0391><U03C0><U03C1>";/
+        "<U039C><U03B1><U0390>";"<U0399><U03BF><U03C5><U03BD>";/
+        "<U0399><U03BF><U03C5><U03BB>";"<U0391><U03C5><U03B3>";/
+        "<U03A3><U03B5><U03C0>";"<U039F><U03BA><U03C4>";/
+        "<U039D><U03BF><U03B5>";"<U0394><U03B5><U03BA>"
 alt_mon "<U0399><U03B1><U03BD><U03BF><U03C5><U03AC><U03C1><U03B9><U03BF><U03C2>";/
         "<U03A6><U03B5><U03B2><U03C1><U03BF><U03C5><U03AC><U03C1><U03B9><U03BF><U03C2>";/
         "<U039C><U03AC><U03C1><U03C4><U03B9><U03BF><U03C2>";/

commit 5d679b8bd77cb6c9d9a38765cd6983650d4e0c2c
Author: Rafal Luzynski <digitalfreak@lingonborough.com>
Date:   Mon Oct 17 22:06:11 2016 +0200

    cs_CZ locale: Add alternative month names (bug 22963).
    
    Add alternative month names, primary month names are genitive now.
    
            [BZ #22963]
            * localedata/locales/cs_CZ (mon): Rename to...
            (alt_mon): This.
            (mon): Import from CLDR (genitive case).
    
    Reviewed-by: Carlos O'Donell <carlos@redhat.com>
    (cherry picked from commit 807fee29d2c967e24e3fe05e2182ba53e96e9178)

diff --git a/ChangeLog b/ChangeLog
index 4fbb871235..17075925fa 100644
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,3 +1,10 @@
+2018-03-16  Rafal Luzynski  <digitalfreak@lingonborough.com>
+
+	[BZ #22963]
+	* localedata/locales/cs_CZ (mon): Rename to...
+	(alt_mon): This.
+	(mon): Import from CLDR (genitive case).
+
 2018-03-16  Rafal Luzynski  <digitalfreak@lingonborough.com>
 
 	[BZ #22937]
diff --git a/localedata/locales/cs_CZ b/localedata/locales/cs_CZ
index f80d3e1b37..8f4c69e493 100644
--- a/localedata/locales/cs_CZ
+++ b/localedata/locales/cs_CZ
@@ -272,7 +272,7 @@ day		"Ned<U011B>le";/
 		"P<U00E1>tek";/
 		"Sobota"
 
-mon		"leden";/
+alt_mon		"leden";/
 		"<U00FA>nor";/
 		"b<U0159>ezen";/
 		"duben";/
@@ -334,6 +334,19 @@ abmon		"led";/
 %		"Nov";/
 %		"Dec"
 
+mon		"ledna";/
+		"<U00FA>nora";/
+		"b<U0159>ezna";/
+		"dubna";/
+		"kv<U011B>tna";/
+		"<U010D>ervna";/
+		"<U010D>ervence";/
+		"srpna";/
+		"z<U00E1><U0159><U00ED>";/
+		"<U0159><U00ED>jna";/
+		"listopadu";/
+		"prosince"
+
 week		7;19971130;4
 first_weekday	2
 

commit 3b922526415d1af93fe5a0e3caf7e6a790cb1619
Author: Rafal Luzynski <digitalfreak@lingonborough.com>
Date:   Thu Mar 15 03:29:07 2018 +0100

    NEWS: Add entries for bugs: 22848, 22932, 22937, 22963.
    
    Alternative (nominative/genitive) month names have been added to the
    Catalan and Czech locale data and the abbreviated alternative names to
    Catalan and Greek.
    
    (cherry picked from commit c553cd6f7e939ae4ef62b52b3c55fbe76dddecee)

diff --git a/NEWS b/NEWS
index 0f224114b8..4749f5f432 100644
--- a/NEWS
+++ b/NEWS
@@ -7,6 +7,12 @@ using `glibc' in the "product" field.
 
 Version 2.27.1
 
+Major new features:
+
+* Nominative and genitive month names are now supported for the Catalan and
+  Czech languages.  The Catalan and Greek languages now support abbreviated
+  alternative month names.
+
 The following bugs are resolved with this release:
 
   [6889] 'PWD' mentioned but not specified
@@ -20,9 +26,13 @@ The following bugs are resolved with this release:
   [22807] PTRACE_* constants missing for powerpc
   [22818] posix/tst-glob_lstat_compat failure on alpha
   [22827] RISC-V ELF64 parser mis-reads flag in ldconfig
+  [22848] ca_ES: update date definitions from CLDR
   [22918] multiple common of `__nss_shadow_database'
   [22919] sparc32: backtrace yields infinite backtrace with makecontext
   [22926] FTBFS on powerpcspe
+  [22932] lt_LT: Update of abbreviated month names from CLDR required
+  [22937] Greek (el_GR, el_CY) locales actually need ab_alt_mon
+  [22963] cs_CZ: Add alternative month names
 
 
 Version 2.27

commit 94145309f5beff5f495c443fb544d604515b07d0
Author: DJ Delorie <dj@redhat.com>
Date:   Thu Feb 22 14:28:47 2018 -0500

    RISC-V: Do not initialize $gp in TLS macros.
    
    RISC-V TLS doesn't require GP to be initialized, and doing so breaks
    TLS in a shared object.
    
    (cherry picked from commit 8090720a87e42fddc31396f6126112d4b8014d8e)

diff --git a/ChangeLog b/ChangeLog
index 17075925fa..8b859f637d 100644
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,3 +1,7 @@
+2018-02-22  DJ Delorie  <dj@delorie.com>
+
+	* sysdeps/riscv/tls-macros.h: Do not initialize $gp.
+
 2018-03-16  Rafal Luzynski  <digitalfreak@lingonborough.com>
 
 	[BZ #22963]
diff --git a/sysdeps/riscv/tls-macros.h b/sysdeps/riscv/tls-macros.h
index 5433ed9d16..7f0dd926d0 100644
--- a/sysdeps/riscv/tls-macros.h
+++ b/sysdeps/riscv/tls-macros.h
@@ -23,19 +23,9 @@
 #include <sysdep.h>
 #include "dl-tls.h"
 
-#define LOAD_GP						\
-	".option push\n\t"				\
-	".option norelax\n\t"				\
-	"la gp, __global_pointer$\n\t"			\
-	".option pop\n\t"
-
-#define UNLOAD_GP
-
 #define TLS_GD(x)					\
 	({ void *__result;				\
-	asm (LOAD_GP					\
-	     "la.tls.gd %0, " #x "\n\t"			\
-	     UNLOAD_GP					\
+	asm ("la.tls.gd %0, " #x "\n\t"			\
 	     : "=r" (__result));			\
 	__tls_get_addr (__result); })
 
@@ -43,19 +33,15 @@
 
 #define TLS_IE(x)					\
 	({ void *__result;				\
-	asm (LOAD_GP					\
-	     "la.tls.ie %0, " #x "\n\t"			\
+	asm ("la.tls.ie %0, " #x "\n\t"			\
 	     "add %0, %0, tp\n\t"			\
-	     UNLOAD_GP					\
 	     : "=r" (__result));			\
 	__result; })
 
 #define TLS_LE(x)					\
 	({ void *__result;				\
-	asm (LOAD_GP					\
-	     "lui %0, %%tprel_hi(" #x ")\n\t"		\
+	asm ("lui %0, %%tprel_hi(" #x ")\n\t"		\
 	     "add %0, %0, tp, %%tprel_add(" #x ")\n\t"	\
 	     "addi %0, %0, %%tprel_lo(" #x ")\n\t"	\
-	     UNLOAD_GP					\
 	     : "=r" (__result));			\
 	__result; })

commit aab08776cc8f6dbafaa6efcb7e1bb374a21ab823
Author: Andrew Waterman <andrew@sifive.com>
Date:   Thu Feb 22 14:31:54 2018 -0500

    RISC-V: fmax/fmin: Handle signalling NaNs correctly.
    
    RISC-V's fmax(sNAN,4) returns 4 but glibc expects it to return qNAN.
    
            * sysdeps/riscv/rvd/s_fmax.c (__fmax): Handle sNaNs correctly.
            * sysdeps/riscv/rvd/s_fmin.c (__fmin): Likewise.
            * sysdeps/riscv/rvf/s_fmaxf.c (__fmaxf): Likewise.
            * sysdeps/riscv/rvf/s_fminf.c (__fminf): Likewise.
    
    (cherry picked from commit fdcc625376505eacb1125a6aeba57501407a30ec)

diff --git a/ChangeLog b/ChangeLog
index 8b859f637d..394f670363 100644
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,3 +1,10 @@
+2018-02-22  Andrew Waterman <andrew@sifive.com>
+
+	* sysdeps/riscv/rvd/s_fmax.c (__fmax): Handle sNaNs correctly.
+	* sysdeps/riscv/rvd/s_fmin.c (__fmin): Likewise.
+	* sysdeps/riscv/rvf/s_fmaxf.c (__fmaxf): Likewise.
+	* sysdeps/riscv/rvf/s_fminf.c (__fminf): Likewise.
+
 2018-02-22  DJ Delorie  <dj@delorie.com>
 
 	* sysdeps/riscv/tls-macros.h: Do not initialize $gp.
diff --git a/sysdeps/riscv/rvd/s_fmax.c b/sysdeps/riscv/rvd/s_fmax.c
index ef8f1344ce..22e91bfc4b 100644
--- a/sysdeps/riscv/rvd/s_fmax.c
+++ b/sysdeps/riscv/rvd/s_fmax.c
@@ -17,12 +17,19 @@
    <http://www.gnu.org/licenses/>.  */
 
 #include <math.h>
+#include <math_private.h>
 #include <libm-alias-double.h>
 
 double
 __fmax (double x, double y)
 {
-  asm ("fmax.d %0, %1, %2" : "=f" (x) : "f" (x), "f" (y));
-  return x;
+  double res;
+
+  if (__glibc_unlikely ((_FCLASS (x) | _FCLASS (y)) & _FCLASS_SNAN))
+    return x + y;
+  else
+    asm ("fmax.d %0, %1, %2" : "=f" (res) : "f" (x), "f" (y));
+
+  return res;
 }
 libm_alias_double (__fmax, fmax)
diff --git a/sysdeps/riscv/rvd/s_fmin.c b/sysdeps/riscv/rvd/s_fmin.c
index c6ff24cefb..7b35230cac 100644
--- a/sysdeps/riscv/rvd/s_fmin.c
+++ b/sysdeps/riscv/rvd/s_fmin.c
@@ -17,12 +17,19 @@
    <http://www.gnu.org/licenses/>.  */
 
 #include <math.h>
+#include <math_private.h>
 #include <libm-alias-double.h>
 
 double
 __fmin (double x, double y)
 {
-  asm ("fmin.d %0, %1, %2" : "=f" (x) : "f" (x), "f" (y));
-  return x;
+  double res;
+
+  if (__glibc_unlikely ((_FCLASS (x) | _FCLASS (y)) & _FCLASS_SNAN))
+    return x + y;
+  else
+    asm ("fmin.d %0, %1, %2" : "=f" (res) : "f" (x), "f" (y));
+
+  return res;
 }
 libm_alias_double (__fmin, fmin)
diff --git a/sysdeps/riscv/rvf/s_fmaxf.c b/sysdeps/riscv/rvf/s_fmaxf.c
index 3293f2f41c..63f7e3d664 100644
--- a/sysdeps/riscv/rvf/s_fmaxf.c
+++ b/sysdeps/riscv/rvf/s_fmaxf.c
@@ -17,12 +17,19 @@
    <http://www.gnu.org/licenses/>.  */
 
 #include <math.h>
+#include <math_private.h>
 #include <libm-alias-float.h>
 
 float
 __fmaxf (float x, float y)
 {
-  asm ("fmax.s %0, %1, %2" : "=f" (x) : "f" (x), "f" (y));
-  return x;
+  float res;
+
+  if (__glibc_unlikely ((_FCLASS (x) | _FCLASS (y)) & _FCLASS_SNAN))
+    return x + y;
+  else
+    asm ("fmax.s %0, %1, %2" : "=f" (res) : "f" (x), "f" (y));
+
+  return res;
 }
 libm_alias_float (__fmax, fmax)
diff --git a/sysdeps/riscv/rvf/s_fminf.c b/sysdeps/riscv/rvf/s_fminf.c
index e4411f04b2..82cca4e37d 100644
--- a/sysdeps/riscv/rvf/s_fminf.c
+++ b/sysdeps/riscv/rvf/s_fminf.c
@@ -17,12 +17,19 @@
    <http://www.gnu.org/licenses/>.  */
 
 #include <math.h>
+#include <math_private.h>
 #include <libm-alias-float.h>
 
 float
 __fminf (float x, float y)
 {
-  asm ("fmin.s %0, %1, %2" : "=f" (x) : "f" (x), "f" (y));
-  return x;
+  float res;
+
+  if (__glibc_unlikely ((_FCLASS (x) | _FCLASS (y)) & _FCLASS_SNAN))
+    return x + y;
+  else
+    asm ("fmin.s %0, %1, %2" : "=f" (res) : "f" (x), "f" (y));
+
+  return res;
 }
 libm_alias_float (__fmin, fmin)

commit df3ff4e49d4ee3cbbdaeb0b1cb5dc2344c08be98
Author: DJ Delorie <dj@redhat.com>
Date:   Fri Feb 23 16:08:08 2018 -0500

    Update ChangeLog for BZ 22884 - riscv fmax/fmin
    
    (cherry picked from commit 7e04eb2932d3126c721ee2bc0d664a5bbea2f41f)

diff --git a/ChangeLog b/ChangeLog
index 394f670363..23ff0ea305 100644
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,5 +1,6 @@
 2018-02-22  Andrew Waterman <andrew@sifive.com>
 
+	[BZ # 22884]
 	* sysdeps/riscv/rvd/s_fmax.c (__fmax): Handle sNaNs correctly.
 	* sysdeps/riscv/rvd/s_fmin.c (__fmin): Likewise.
 	* sysdeps/riscv/rvf/s_fmaxf.c (__fmaxf): Likewise.

commit 55ad82e45c313454de657931898e974a7a036cad
Author: Andrew Senkevich <andrew.n.senkevich@gmail.com>
Date:   Fri Mar 23 16:19:45 2018 +0100

    Fix i386 memmove issue (bug 22644).
    
            [BZ #22644]
            * sysdeps/i386/i686/multiarch/memcpy-sse2-unaligned.S: Fixed
            branch conditions.
            * string/test-memmove.c (do_test2): New testcase.
    
    (cherry picked from commit cd66c0e584c6d692bc8347b5e72723d02b8a8ada)

diff --git a/ChangeLog b/ChangeLog
index 23ff0ea305..1b703df434 100644
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,3 +1,11 @@
+2018-03-23  Andrew Senkevich  <andrew.senkevich@intel.com>
+	    Max Horn  <max@quendi.de>
+
+	[BZ #22644]
+	* sysdeps/i386/i686/multiarch/memcpy-sse2-unaligned.S: Fixed
+	branch conditions.
+	* string/test-memmove.c (do_test2): New testcase.
+
 2018-02-22  Andrew Waterman <andrew@sifive.com>
 
 	[BZ # 22884]
diff --git a/string/test-memmove.c b/string/test-memmove.c
index edc7a4c3bf..64e3651ba4 100644
--- a/string/test-memmove.c
+++ b/string/test-memmove.c
@@ -24,6 +24,7 @@
 # define TEST_NAME "memmove"
 #endif
 #include "test-string.h"
+#include <support/test-driver.h>
 
 char *simple_memmove (char *, const char *, size_t);
 
@@ -245,6 +246,60 @@ do_random_tests (void)
     }
 }
 
+static void
+do_test2 (void)
+{
+  size_t size = 0x20000000;
+  uint32_t * large_buf;
+
+  large_buf = mmap ((void*) 0x70000000, size, PROT_READ | PROT_WRITE,
+		    MAP_PRIVATE | MAP_ANON, -1, 0);
+
+  if (large_buf == MAP_FAILED)
+    error (EXIT_UNSUPPORTED, errno, "Large mmap failed");
+
+  if ((uintptr_t) large_buf > 0x80000000 - 128
+      || 0x80000000 - (uintptr_t) large_buf > 0x20000000)
+    {
+      error (0, 0, "Large mmap allocated improperly");
+      ret = EXIT_UNSUPPORTED;
+      munmap ((void *) large_buf, size);
+      return;
+    }
+
+  size_t bytes_move = 0x80000000 - (uintptr_t) large_buf;
+  size_t arr_size = bytes_move / sizeof (uint32_t);
+  size_t i;
+
+  FOR_EACH_IMPL (impl, 0)
+    {
+      for (i = 0; i < arr_size; i++)
+        large_buf[i] = (uint32_t) i;
+
+      uint32_t * dst = &large_buf[33];
+
+#ifdef TEST_BCOPY
+      CALL (impl, (char *) large_buf, (char *) dst, bytes_move);
+#else
+      CALL (impl, (char *) dst, (char *) large_buf, bytes_move);
+#endif
+
+      for (i = 0; i < arr_size; i++)
+	{
+	  if (dst[i] != (uint32_t) i)
+	    {
+	      error (0, 0,
+		     "Wrong result in function %s dst \"%p\" src \"%p\" offset \"%zd\"",
+		     impl->name, dst, large_buf, i);
+	      ret = 1;
+	      break;
+	    }
+	}
+    }
+
+  munmap ((void *) large_buf, size);
+}
+
 int
 test_main (void)
 {
@@ -284,6 +339,9 @@ test_main (void)
     }
 
   do_random_tests ();
+
+  do_test2 ();
+
   return ret;
 }
 
diff --git a/sysdeps/i386/i686/multiarch/memcpy-sse2-unaligned.S b/sysdeps/i386/i686/multiarch/memcpy-sse2-unaligned.S
index 9c3bbe7e17..9aa17de99c 100644
--- a/sysdeps/i386/i686/multiarch/memcpy-sse2-unaligned.S
+++ b/sysdeps/i386/i686/multiarch/memcpy-sse2-unaligned.S
@@ -72,7 +72,7 @@ ENTRY (MEMCPY)
 	cmp	%edx, %eax
 
 # ifdef USE_AS_MEMMOVE
-	jg	L(check_forward)
+	ja	L(check_forward)
 
 L(mm_len_0_or_more_backward):
 /* Now do checks for lengths. We do [0..16], [16..32], [32..64], [64..128]
@@ -81,7 +81,7 @@ L(mm_len_0_or_more_backward):
 	jbe	L(mm_len_0_16_bytes_backward)
 
 	cmpl	$32, %ecx
-	jg	L(mm_len_32_or_more_backward)
+	ja	L(mm_len_32_or_more_backward)
 
 /* Copy [0..32] and return.  */
 	movdqu	(%eax), %xmm0
@@ -92,7 +92,7 @@ L(mm_len_0_or_more_backward):
 
 L(mm_len_32_or_more_backward):
 	cmpl	$64, %ecx
-	jg	L(mm_len_64_or_more_backward)
+	ja	L(mm_len_64_or_more_backward)
 
 /* Copy [0..64] and return.  */
 	movdqu	(%eax), %xmm0
@@ -107,7 +107,7 @@ L(mm_len_32_or_more_backward):
 
 L(mm_len_64_or_more_backward):
 	cmpl	$128, %ecx
-	jg	L(mm_len_128_or_more_backward)
+	ja	L(mm_len_128_or_more_backward)
 
 /* Copy [0..128] and return.  */
 	movdqu	(%eax), %xmm0
@@ -132,7 +132,7 @@ L(mm_len_128_or_more_backward):
 	add	%ecx, %eax
 	cmp	%edx, %eax
 	movl	SRC(%esp), %eax
-	jle	L(forward)
+	jbe	L(forward)
 	PUSH (%esi)
 	PUSH (%edi)
 	PUSH (%ebx)
@@ -269,7 +269,7 @@ L(check_forward):
 	add	%edx, %ecx
 	cmp	%eax, %ecx
 	movl	LEN(%esp), %ecx
-	jle	L(forward)
+	jbe	L(forward)
 
 /* Now do checks for lengths. We do [0..16], [0..32], [0..64], [0..128]
 	separately.  */

commit 39071a55392d2d2e0b75fb19f2b48d661c4cc682
Author: Florian Weimer <fweimer@redhat.com>
Date:   Thu Mar 29 11:42:24 2018 +0200

    Linux i386: tst-bz21269 triggers SIGBUS on some kernels
    
    In addition to SIGSEGV and SIGILL, SIGBUS is also a possible signal
    generated by the kernel.
    
    (cherry picked from commit 4d76d3e59d31aa690f148fc0c95cc0c581aed3e8)

diff --git a/ChangeLog b/ChangeLog
index 1b703df434..536fcf1c4f 100644
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,3 +1,8 @@
+2018-03-29  Florian Weimer  <fweimer@redhat.com>
+
+	* sysdeps/unix/sysv/linux/i386/tst-bz21269.c (do_test): Also
+	capture SIGBUS.
+
 2018-03-23  Andrew Senkevich  <andrew.senkevich@intel.com>
 	    Max Horn  <max@quendi.de>
 
diff --git a/sysdeps/unix/sysv/linux/i386/tst-bz21269.c b/sysdeps/unix/sysv/linux/i386/tst-bz21269.c
index 353e36507d..6ee3fc62be 100644
--- a/sysdeps/unix/sysv/linux/i386/tst-bz21269.c
+++ b/sysdeps/unix/sysv/linux/i386/tst-bz21269.c
@@ -177,6 +177,8 @@ do_test (void)
   xsethandler (SIGSEGV, sigsegv_handler, 0);
   /* 32-bit kernels send SIGILL instead of SIGSEGV on IRET faults.  */
   xsethandler (SIGILL, sigsegv_handler, 0);
+  /* Some kernels send SIGBUS instead.  */
+  xsethandler (SIGBUS, sigsegv_handler, 0);
 
   thread = xpthread_create (0, threadproc, 0);
 

commit ced2cd1ede2acf3cea2f5870b55d4e9a225ffa1b
Author: Aurelien Jarno <aurelien@aurel32.net>
Date:   Sat Apr 28 13:13:43 2018 +0200

    RISC-V: fix struct kernel_sigaction to match the kernel version [BZ #23069]
    
    The RISC-V kernel doesn't define SA_RESTORER, hence the kernel version
    of struct sigaction doesn't have the sa_restorer field. The default
    kernel_sigaction.h therefore can't be used.
    
    This patch adds a RISC-V specific version of kernel_sigaction.h to fix
    the issue. This fixes for example the libnih testsuite.
    
    Note that this patch is not needed in master as the bug has been fixed
    by commit b4a5d26d8835 ("linux: Consolidate sigaction implementation").

diff --git a/ChangeLog b/ChangeLog
index 536fcf1c4f..17e67190ec 100644
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,3 +1,8 @@
+2018-04-28  Aurelien Jarno  <aurelien@aurel32.net>
+
+	[BZ #23069]
+	* sysdeps/unix/sysv/linux/riscv/kernel_sigaction.h: New file.
+
 2018-03-29  Florian Weimer  <fweimer@redhat.com>
 
 	* sysdeps/unix/sysv/linux/i386/tst-bz21269.c (do_test): Also
diff --git a/sysdeps/unix/sysv/linux/riscv/kernel_sigaction.h b/sysdeps/unix/sysv/linux/riscv/kernel_sigaction.h
new file mode 100644
index 0000000000..2a62bcc5bc
--- /dev/null
+++ b/sysdeps/unix/sysv/linux/riscv/kernel_sigaction.h
@@ -0,0 +1,7 @@
+/* This is the sigaction structure from the RISC-V Linux 4.15 kernel.  */
+
+struct kernel_sigaction {
+	__sighandler_t k_sa_handler;
+	unsigned long sa_flags;
+	sigset_t sa_mask;
+};

commit 623f4aef132ad0412fb546324a7b7adb769309fd
Author: Aurelien Jarno <aurelien@aurel32.net>
Date:   Thu Apr 26 22:21:13 2018 +0200

    Add tst-sigaction.c to test BZ #23069
    
    This simple test uses sigaction to define a signal handler. It then
    uses sigaction again to fetch the information about the same signal
    handler, and check that they are consistent. This is enough to detect
    mismatches between struct kernel_sigaction and the kernel version of
    struct sigaction, like in BZ #23069.
    
    Changelog:
           * signal/tst-sigaction.c: New file to test BZ #23069.
           * signal/Makefile (tests): Fix indentation. Add tst-sigaction.
    
    (cherry picked from commit 7a6f74787132aca8e3809cae8d9e7bc7bfd55ce1)

diff --git a/ChangeLog b/ChangeLog
index 17e67190ec..e81b39dafb 100644
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,3 +1,8 @@
+2018-04-26  Aurelien Jarno  <aurelien@aurel32.net>
+
+	* signal/tst-sigaction.c: New file to test BZ #23069.
+	* signal/Makefile (tests): Fix indentation. Add tst-sigaction.
+
 2018-04-28  Aurelien Jarno  <aurelien@aurel32.net>
 
 	[BZ #23069]
diff --git a/signal/Makefile b/signal/Makefile
index a9b99a20be..aa63434f47 100644
--- a/signal/Makefile
+++ b/signal/Makefile
@@ -46,7 +46,7 @@ routines	:= signal raise killpg \
 		   sighold sigrelse sigignore sigset
 
 tests		:= tst-signal tst-sigset tst-sigsimple tst-raise tst-sigset2 \
-  tst-sigwait-eintr \
+		   tst-sigwait-eintr tst-sigaction \
 
 include ../Rules
 
diff --git a/signal/tst-sigaction.c b/signal/tst-sigaction.c
new file mode 100644
index 0000000000..c908e8f6f6
--- /dev/null
+++ b/signal/tst-sigaction.c
@@ -0,0 +1,56 @@
+/* Test sigaction regression for BZ #23069.
+   Copyright (C) 2018 Free Software Foundation, Inc.
+   This file is part of the GNU C Library.
+
+   The GNU C Library is free software; you can redistribute it and/or
+   modify it under the terms of the GNU Lesser General Public
+   License as published by the Free Software Foundation; either
+   version 2.1 of the License, or (at your option) any later version.
+
+   The GNU C Library is distributed in the hope that it will be useful,
+   but WITHOUT ANY WARRANTY; without even the implied warranty of
+   MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
+   Lesser General Public License for more details.
+
+   You should have received a copy of the GNU Lesser General Public
+   License along with the GNU C Library; if not, see
+   <http://www.gnu.org/licenses/>.  */
+
+#include <signal.h>
+#include <unistd.h>
+
+#include <support/check.h>
+
+static void
+my_sig_handler (int signum)
+{
+}
+
+static int
+do_test (void)
+{
+  /* Define a simple signal handler */
+  struct sigaction act;
+  act.sa_handler = my_sig_handler;
+  act.sa_flags = 0;
+  sigemptyset (&act.sa_mask);
+
+  /* Set it as SIGUSR1 signal handler */
+  TEST_VERIFY_EXIT (sigaction (SIGUSR1, &act, NULL) == 0);
+
+  /* Get SIGUSR1 signal handler */
+  TEST_VERIFY_EXIT (sigaction (SIGUSR1, NULL, &act) == 0);
+
+  /* Check it is consistent with the defined one */
+  TEST_VERIFY (act.sa_handler == my_sig_handler);
+  TEST_VERIFY (!(act.sa_flags & SA_RESETHAND));
+
+  for (int i = 1; i < _NSIG; i++)
+    {
+      TEST_VERIFY (!sigismember (&act.sa_mask, i));
+    }
+
+  return 0;
+}
+
+#include <support/test-driver.c>

commit 36fed309f6e7d847b916c35eac7126831fe8427f
Author: Joseph Myers <joseph@codesourcery.com>
Date:   Tue Mar 20 18:25:24 2018 +0000

    Fix signed integer overflow in random_r (bug 17343).
    
    Bug 17343 reports that stdlib/random_r.c has code with undefined
    behavior because of signed integer overflow on int32_t.  This patch
    changes the code so that the possibly overflowing computations use
    unsigned arithmetic instead.
    
    Note that the bug report refers to "Most code" in that file.  The
    places changed in this patch are the only ones I found where I think
    such overflow can occur.
    
    Tested for x86_64 and x86.
    
            [BZ #17343]
            * stdlib/random_r.c (__random_r): Use unsigned arithmetic for
            possibly overflowing computations.
    
    (cherry picked from commit 8a07b0c43c46a480da070efd53a2720195e2256f)

diff --git a/ChangeLog b/ChangeLog
index e81b39dafb..f9d7618431 100644
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,3 +1,9 @@
+2018-03-20  Joseph Myers  <joseph@codesourcery.com>
+
+	[BZ #17343]
+	* stdlib/random_r.c (__random_r): Use unsigned arithmetic for
+	possibly overflowing computations.
+
 2018-04-26  Aurelien Jarno  <aurelien@aurel32.net>
 
 	* signal/tst-sigaction.c: New file to test BZ #23069.
diff --git a/stdlib/random_r.c b/stdlib/random_r.c
index 4d2f0d472f..b47c65c6d7 100644
--- a/stdlib/random_r.c
+++ b/stdlib/random_r.c
@@ -361,8 +361,7 @@ __random_r (struct random_data *buf, int32_t *result)
 
   if (buf->rand_type == TYPE_0)
     {
-      int32_t val = state[0];
-      val = ((state[0] * 1103515245) + 12345) & 0x7fffffff;
+      int32_t val = ((state[0] * 1103515245U) + 12345U) & 0x7fffffff;
       state[0] = val;
       *result = val;
     }
@@ -371,11 +370,11 @@ __random_r (struct random_data *buf, int32_t *result)
       int32_t *fptr = buf->fptr;
       int32_t *rptr = buf->rptr;
       int32_t *end_ptr = buf->end_ptr;
-      int32_t val;
+      uint32_t val;
 
-      val = *fptr += *rptr;
+      val = *fptr += (uint32_t) *rptr;
       /* Chucking least random bit.  */
-      *result = (val >> 1) & 0x7fffffff;
+      *result = val >> 1;
       ++fptr;
       if (fptr >= end_ptr)
 	{

commit 1a90f09f2434af7a2f8ba332ddd547d229a1e709
Author: Andreas Schwab <schwab@suse.de>
Date:   Tue Mar 27 12:16:11 2018 +0200

    Fix crash in resolver on memory allocation failure (bug 23005)
    
    (cherry picked from commit f178e59fa5eefbbd37fde040ae8334aa5c857ee1)

diff --git a/ChangeLog b/ChangeLog
index f9d7618431..89ecd49d19 100644
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,3 +1,9 @@
+2018-03-27  Andreas Schwab  <schwab@suse.de>
+
+	[BZ #23005]
+	* resolv/res_send.c (__res_context_send): Return ENOMEM if
+	allocation of private copy of nsaddr_list fails.
+
 2018-03-20  Joseph Myers  <joseph@codesourcery.com>
 
 	[BZ #17343]
diff --git a/resolv/res_send.c b/resolv/res_send.c
index dde0425a33..7debf143f7 100644
--- a/resolv/res_send.c
+++ b/resolv/res_send.c
@@ -471,6 +471,11 @@ __res_context_send (struct resolv_context *ctx,
 					'\0',
 					sizeof (struct sockaddr_in6)
 					- sizeof (struct sockaddr_in));
+			else
+			  {
+			    __set_errno (ENOMEM);
+			    return -1;
+			  }
 		}
 		EXT(statp).nscount = statp->nscount;
 	}

commit a8a7d4c5d8d3a767c5cae0d327f17edb813cf6f2
Author: Jesse Hathaway <jesse@mbuki-mvuki.org>
Date:   Tue Mar 27 21:17:59 2018 +0000

    getlogin_r: return early when linux sentinel value is set
    
    When there is no login uid Linux sets /proc/self/loginid to the sentinel
    value of, (uid_t) -1. If this is set we can return early and avoid
    needlessly looking up the sentinel value in any configured nss
    databases.
    
    Checked on aarch64-linux-gnu.
    
            * sysdeps/unix/sysv/linux/getlogin_r.c (__getlogin_r_loginuid): Return
            early when linux sentinel value is set.
    
    Reviewed-by: Adhemerval Zanella <adhemerval.zanella@linaro.org>
    (cherry picked from commit cc8a1620eb97ccddd337d157263c13c57b39ab71)

diff --git a/ChangeLog b/ChangeLog
index 89ecd49d19..670c6d94b8 100644
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,3 +1,8 @@
+2018-03-27  Jesse Hathaway  <jesse@mbuki-mvuki.org>
+
+	* sysdeps/unix/sysv/linux/getlogin_r.c (__getlogin_r_loginuid): Return
+	early when linux sentinel value is set.
+
 2018-03-27  Andreas Schwab  <schwab@suse.de>
 
 	[BZ #23005]
diff --git a/sysdeps/unix/sysv/linux/getlogin_r.c b/sysdeps/unix/sysv/linux/getlogin_r.c
index 84c51d0ecd..7a814ea92f 100644
--- a/sysdeps/unix/sysv/linux/getlogin_r.c
+++ b/sysdeps/unix/sysv/linux/getlogin_r.c
@@ -54,6 +54,15 @@ __getlogin_r_loginuid (char *name, size_t namesize)
 	  endp == uidbuf || *endp != '\0'))
     return -1;
 
+  /* If there is no login uid, linux sets /proc/self/loginid to the sentinel
+     value of, (uid_t) -1, so check if that value is set and return early to
+     avoid making unneeded nss lookups. */
+  if (uid == (uid_t) -1)
+    {
+      __set_errno (ENXIO);
+      return ENXIO;
+    }
+
   size_t buflen = 1024;
   char *buf = alloca (buflen);
   bool use_malloc = false;

commit d658d6d757a4fd3f187d38da8b627dd8142f3608
Author: H.J. Lu <hjl.tools@gmail.com>
Date:   Tue Apr 3 12:19:20 2018 -0700

    Update RWF_SUPPORTED for Linux kernel 4.16 [BZ #22947]
    
    Add RWF_APPEND to RWF_SUPPORTED to support Linux kernel 4.16.
    
            [BZ #22947]
            * bits/uio-ext.h (RWF_APPEND): New.
            * sysdeps/unix/sysv/linux/bits/uio-ext.h (RWF_APPEND): Likewise.
            * manual/llio.texi: Document RWF_APPEND.
            * misc/tst-preadvwritev2-common.c (RWF_APPEND): New.
            (RWF_SUPPORTED): Add RWF_APPEND.
    
    (cherry picked from commit f2652643d7234c08205b75f527191c2e2b35251f)

diff --git a/ChangeLog b/ChangeLog
index 670c6d94b8..bbf9af1fb8 100644
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,3 +1,12 @@
+2018-04-03  H.J. Lu  <hongjiu.lu@intel.com>
+
+	[BZ #22947]
+	* bits/uio-ext.h (RWF_APPEND): New.
+	* sysdeps/unix/sysv/linux/bits/uio-ext.h (RWF_APPEND): Likewise.
+	* manual/llio.texi: Document RWF_APPEND.
+	* misc/tst-preadvwritev2-common.c (RWF_APPEND): New.
+	(RWF_SUPPORTED): Add RWF_APPEND.
+
 2018-03-27  Jesse Hathaway  <jesse@mbuki-mvuki.org>
 
 	* sysdeps/unix/sysv/linux/getlogin_r.c (__getlogin_r_loginuid): Return
diff --git a/bits/uio-ext.h b/bits/uio-ext.h
index 8c15a05d9a..d5aa06fd08 100644
--- a/bits/uio-ext.h
+++ b/bits/uio-ext.h
@@ -28,5 +28,6 @@
 #define RWF_DSYNC	0x00000002 /* per-IO O_DSYNC.  */
 #define RWF_SYNC	0x00000004 /* per-IO O_SYNC.  */
 #define RWF_NOWAIT	0x00000008 /* per-IO nonblocking mode.  */
+#define RWF_APPEND	0x00000010 /* per-IO O_APPEND.  */
 
 #endif /* sys/uio_ext.h */
diff --git a/manual/llio.texi b/manual/llio.texi
index 642e56e710..7d877992d9 100644
--- a/manual/llio.texi
+++ b/manual/llio.texi
@@ -1271,6 +1271,9 @@ Per-IO synchronization as if the file was opened with @code{O_SYNC} flag.
 @item RWF_NOWAIT
 Use nonblocking mode for this operation; that is, this call to @code{preadv2}
 will fail and set @code{errno} to @code{EAGAIN} if the operation would block.
+
+@item RWF_APPEND
+Per-IO synchronization as if the file was opened with @code{O_APPEND} flag.
 @end vtable
 
 When the source file is compiled with @code{_FILE_OFFSET_BITS == 64} the
diff --git a/misc/tst-preadvwritev2-common.c b/misc/tst-preadvwritev2-common.c
index 89fd0a3ff5..f889a21544 100644
--- a/misc/tst-preadvwritev2-common.c
+++ b/misc/tst-preadvwritev2-common.c
@@ -34,7 +34,11 @@ do_test_with_invalid_flags (void)
 #ifndef RWF_NOWAIT
 # define RWF_NOWAIT 0
 #endif
-#define RWF_SUPPORTED	(RWF_HIPRI | RWF_DSYNC | RWF_SYNC | RWF_NOWAIT)
+#ifndef RWF_APPEND
+# define RWF_APPEND 0
+#endif
+#define RWF_SUPPORTED	(RWF_HIPRI | RWF_DSYNC | RWF_SYNC | RWF_NOWAIT \
+			 | RWF_APPEND)
   /* Set the next bit from the mask of all supported flags.  */
   int invalid_flag = RWF_SUPPORTED != 0 ? __builtin_clz (RWF_SUPPORTED) : 2;
   invalid_flag = 0x1 << ((sizeof (int) * CHAR_BIT) - invalid_flag);
diff --git a/sysdeps/unix/sysv/linux/bits/uio-ext.h b/sysdeps/unix/sysv/linux/bits/uio-ext.h
index 53663ed1a2..8698bc1200 100644
--- a/sysdeps/unix/sysv/linux/bits/uio-ext.h
+++ b/sysdeps/unix/sysv/linux/bits/uio-ext.h
@@ -46,6 +46,7 @@ extern ssize_t process_vm_writev (pid_t __pid, const struct iovec *__lvec,
 #define RWF_DSYNC	0x00000002 /* per-IO O_DSYNC.  */
 #define RWF_SYNC	0x00000004 /* per-IO O_SYNC.  */
 #define RWF_NOWAIT	0x00000008 /* per-IO nonblocking mode.  */
+#define RWF_APPEND	0x00000010 /* per-IO O_APPEND.  */
 
 __END_DECLS
 

commit 3ca9a9aeead51a0981085405f3c1f540e8d992ba
Author: Florian Weimer <fweimer@redhat.com>
Date:   Thu Apr 5 12:50:58 2018 +0200

    manual: Move mbstouwcs to an example C file
    
    (cherry picked from commit 0f339252697e6dcfc9e00be6cd8272d4260b90d2)

diff --git a/ChangeLog b/ChangeLog
index bbf9af1fb8..ef2816a098 100644
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,3 +1,8 @@
+2018-04-05  Florian Weimer  <fweimer@redhat.com>
+
+	* manual/examples/mbstouwcs.c: New file.
+	* manual/charset.texi (Converting a Character): Include it.
+
 2018-04-03  H.J. Lu  <hongjiu.lu@intel.com>
 
 	[BZ #22947]
diff --git a/manual/charset.texi b/manual/charset.texi
index 1867ace485..6831ebec27 100644
--- a/manual/charset.texi
+++ b/manual/charset.texi
@@ -686,28 +686,7 @@ converting all lowercase characters into uppercase could look like this
 checking, and sometimes leaks memory):
 
 @smallexample
-wchar_t *
-mbstouwcs (const char *s)
-@{
-  size_t len = strlen (s);
-  wchar_t *result = malloc ((len + 1) * sizeof (wchar_t));
-  wchar_t *wcp = result;
-  wchar_t tmp[1];
-  mbstate_t state;
-  size_t nbytes;
-
-  memset (&state, '\0', sizeof (state));
-  while ((nbytes = mbrtowc (tmp, s, len, &state)) > 0)
-    @{
-      if (nbytes >= (size_t) -2)
-        /* Invalid input string.  */
-        return NULL;
-      *wcp++ = towupper (tmp[0]);
-      len -= nbytes;
-      s += nbytes;
-    @}
-  return result;
-@}
+@include mbstouwcs.c.texi
 @end smallexample
 
 The use of @code{mbrtowc} should be clear.  A single wide character is
diff --git a/manual/examples/mbstouwcs.c b/manual/examples/mbstouwcs.c
new file mode 100644
index 0000000000..5d223da2ae
--- /dev/null
+++ b/manual/examples/mbstouwcs.c
@@ -0,0 +1,28 @@
+#include <stdlib.h>
+#include <string.h>
+#include <wchar.h>
+
+/* Do not include the above headers in the example.
+*/
+wchar_t *
+mbstouwcs (const char *s)
+{
+  size_t len = strlen (s);
+  wchar_t *result = malloc ((len + 1) * sizeof (wchar_t));
+  wchar_t *wcp = result;
+  wchar_t tmp[1];
+  mbstate_t state;
+  size_t nbytes;
+
+  memset (&state, '\0', sizeof (state));
+  while ((nbytes = mbrtowc (tmp, s, len, &state)) > 0)
+    {
+      if (nbytes >= (size_t) -2)
+        /* Invalid input string.  */
+        return NULL;
+      *wcp++ = towupper (tmp[0]);
+      len -= nbytes;
+      s += nbytes;
+    }
+  return result;
+}

commit 11dee02dc0caffc235abfa16c1de1f200706432d
Author: Florian Weimer <fweimer@redhat.com>
Date:   Thu Apr 5 12:52:19 2018 +0200

    manual: Various fixes to the mbstouwcs example, and mbrtowc update
    
    The example did not work because the null byte was not converted, and
    mbrtowc was called with a zero-length input string.  This results in a
    (size_t) -2 return value, so the function always returns NULL.
    
    The size computation for the heap allocation of the result was
    incorrect because it did not deal with integer overflow.
    
    Error checking was missing, and the allocated memory was not freed on
    error paths.  All error returns now set errno.  (Note that there is an
    assumption that free does not clobber errno.)
    
    The slightly unportable comparision against (size_t) -2 to catch both
    (size_t) -1 and (size_t) -2 return values is gone as well.
    
    A null wide character needs to be stored in the result explicitly, to
    terminate it.
    
    The description in the manual is updated to deal with these finer
    points.  The (size_t) -2 behavior (consuming the input bytes) matches
    what is specified in ISO C11.
    
    (cherry picked from commit cf138b0c83b3210990b29772e2af5982fb0e3c26)
    (cherry picked from commit 690c3475f1417c99cb0fc69f35d77560c24c1d69)

diff --git a/ChangeLog b/ChangeLog
index ef2816a098..27753462fa 100644
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,3 +1,18 @@
+2018-04-06  Andreas Schwab  <schwab@linux-m68k.org>
+
+	* manual/charset.texi (Converting a Character): Fix typo.
+
+2018-04-05  Florian Weimer  <fweimer@redhat.com>
+
+	* manual/examples/mbstouwcs.c (mbstouwcs): Fix loop termination,
+	integer overflow, memory leak on error, and indeterminate errno
+	value.  Add a null wide character to terminate the result string.
+	* manual/charset.texi (Converting a Character): Mention embedded
+	null bytes in the mbrtowc input string.  Explain what happens in
+	the -2 result case.  Do not claim that mbrtowc is simple or
+	obvious to use.  Adjust the description of the code example.  Use
+	@code, not @var, for concrete variables.
+
 2018-04-05  Florian Weimer  <fweimer@redhat.com>
 
 	* manual/examples/mbstouwcs.c: New file.
diff --git a/manual/charset.texi b/manual/charset.texi
index 6831ebec27..f6a980f6cb 100644
--- a/manual/charset.texi
+++ b/manual/charset.texi
@@ -643,8 +643,8 @@ and they also do not require it to be in the initial state.
 @cindex stateful
 The @code{mbrtowc} function (``multibyte restartable to wide
 character'') converts the next multibyte character in the string pointed
-to by @var{s} into a wide character and stores it in the wide character
-string pointed to by @var{pwc}.  The conversion is performed according
+to by @var{s} into a wide character and stores it in the location
+pointed to by @var{pwc}.  The conversion is performed according
 to the locale currently selected for the @code{LC_CTYPE} category.  If
 the conversion for the character set used in the locale requires a state,
 the multibyte string is interpreted in the state represented by the
@@ -652,7 +652,7 @@ object pointed to by @var{ps}.  If @var{ps} is a null pointer, a static,
 internal state variable used only by the @code{mbrtowc} function is
 used.
 
-If the next multibyte character corresponds to the NUL wide character,
+If the next multibyte character corresponds to the null wide character,
 the return value of the function is @math{0} and the state object is
 afterwards in the initial state.  If the next @var{n} or fewer bytes
 form a correct multibyte character, the return value is the number of
@@ -665,50 +665,59 @@ by @var{pwc} if @var{pwc} is not null.
 If the first @var{n} bytes of the multibyte string possibly form a valid
 multibyte character but there are more than @var{n} bytes needed to
 complete it, the return value of the function is @code{(size_t) -2} and
-no value is stored.  Please note that this can happen even if @var{n}
-has a value greater than or equal to @code{MB_CUR_MAX} since the input
-might contain redundant shift sequences.
+no value is stored in @code{*@var{pwc}}.  The conversion state is
+updated and all @var{n} input bytes are consumed and should not be
+submitted again.  Please note that this can happen even if @var{n} has a
+value greater than or equal to @code{MB_CUR_MAX} since the input might
+contain redundant shift sequences.
 
 If the first @code{n} bytes of the multibyte string cannot possibly form
 a valid multibyte character, no value is stored, the global variable
 @code{errno} is set to the value @code{EILSEQ}, and the function returns
 @code{(size_t) -1}.  The conversion state is afterwards undefined.
 
+As specified, the @code{mbrtowc} function could deal with multibyte
+sequences which contain embedded null bytes (which happens in Unicode
+encodings such as UTF-16), but @theglibc{} does not support such
+multibyte encodings.  When encountering a null input byte, the function
+will either return zero, or return @code{(size_t) -1)} and report a
+@code{EILSEQ} error.  The @code{iconv} function can be used for
+converting between arbitrary encodings.  @xref{Generic Conversion
+Interface}.
+
 @pindex wchar.h
 @code{mbrtowc} was introduced in @w{Amendment 1} to @w{ISO C90} and
 is declared in @file{wchar.h}.
 @end deftypefun
 
-Use of @code{mbrtowc} is straightforward.  A function that copies a
-multibyte string into a wide character string while at the same time
-converting all lowercase characters into uppercase could look like this
-(this is not the final version, just an example; it has no error
-checking, and sometimes leaks memory):
+A function that copies a multibyte string into a wide character string
+while at the same time converting all lowercase characters into
+uppercase could look like this:
 
 @smallexample
 @include mbstouwcs.c.texi
 @end smallexample
 
-The use of @code{mbrtowc} should be clear.  A single wide character is
-stored in @code{@var{tmp}[0]}, and the number of consumed bytes is stored
-in the variable @var{nbytes}.  If the conversion is successful, the
-uppercase variant of the wide character is stored in the @var{result}
-array and the pointer to the input string and the number of available
-bytes is adjusted.
-
-The only non-obvious thing about @code{mbrtowc} might be the way memory
-is allocated for the result.  The above code uses the fact that there
-can never be more wide characters in the converted result than there are
-bytes in the multibyte input string.  This method yields a pessimistic
-guess about the size of the result, and if many wide character strings
-have to be constructed this way or if the strings are long, the extra
-memory required to be allocated because the input string contains
-multibyte characters might be significant.  The allocated memory block can
-be resized to the correct size before returning it, but a better solution
-might be to allocate just the right amount of space for the result right
-away.  Unfortunately there is no function to compute the length of the wide
-character string directly from the multibyte string.  There is, however, a
-function that does part of the work.
+In the inner loop, a single wide character is stored in @code{wc}, and
+the number of consumed bytes is stored in the variable @code{nbytes}.
+If the conversion is successful, the uppercase variant of the wide
+character is stored in the @code{result} array and the pointer to the
+input string and the number of available bytes is adjusted.  If the
+@code{mbrtowc} function returns zero, the null input byte has not been
+converted, so it must be stored explicitly in the result.
+
+The above code uses the fact that there can never be more wide
+characters in the converted result than there are bytes in the multibyte
+input string.  This method yields a pessimistic guess about the size of
+the result, and if many wide character strings have to be constructed
+this way or if the strings are long, the extra memory required to be
+allocated because the input string contains multibyte characters might
+be significant.  The allocated memory block can be resized to the
+correct size before returning it, but a better solution might be to
+allocate just the right amount of space for the result right away.
+Unfortunately there is no function to compute the length of the wide
+character string directly from the multibyte string.  There is, however,
+a function that does part of the work.
 
 @deftypefun size_t mbrlen (const char *restrict @var{s}, size_t @var{n}, mbstate_t *@var{ps})
 @standards{ISO, wchar.h}
diff --git a/manual/examples/mbstouwcs.c b/manual/examples/mbstouwcs.c
index 5d223da2ae..c94e1fa790 100644
--- a/manual/examples/mbstouwcs.c
+++ b/manual/examples/mbstouwcs.c
@@ -1,3 +1,4 @@
+#include <stdbool.h>
 #include <stdlib.h>
 #include <string.h>
 #include <wchar.h>
@@ -7,22 +8,46 @@
 wchar_t *
 mbstouwcs (const char *s)
 {
-  size_t len = strlen (s);
-  wchar_t *result = malloc ((len + 1) * sizeof (wchar_t));
+  /* Include the null terminator in the conversion.  */
+  size_t len = strlen (s) + 1;
+  wchar_t *result = reallocarray (NULL, len, sizeof (wchar_t));
+  if (result == NULL)
+    return NULL;
+
   wchar_t *wcp = result;
-  wchar_t tmp[1];
   mbstate_t state;
-  size_t nbytes;
-
   memset (&state, '\0', sizeof (state));
-  while ((nbytes = mbrtowc (tmp, s, len, &state)) > 0)
+
+  while (true)
     {
-      if (nbytes >= (size_t) -2)
-        /* Invalid input string.  */
-        return NULL;
-      *wcp++ = towupper (tmp[0]);
-      len -= nbytes;
-      s += nbytes;
+      wchar_t wc;
+      size_t nbytes = mbrtowc (&wc, s, len, &state);
+      if (nbytes == 0)
+        {
+          /* Terminate the result string.  */
+          *wcp = L'\0';
+          break;
+        }
+      else if (nbytes == (size_t) -2)
+        {
+          /* Truncated input string.  */
+          errno = EILSEQ;
+          free (result);
+          return NULL;
+        }
+      else if (nbytes == (size_t) -1)
+        {
+          /* Some other error (including EILSEQ).  */
+          free (result);
+          return NULL;
+        }
+      else
+        {
+          /* A character was converted.  */
+          *wcp++ = towupper (wc);
+          len -= nbytes;
+          s += nbytes;
+        }
     }
   return result;
 }

commit c550fff3b743bbdc569462b5bd883a3fe8c8f814
Author: Florian Weimer <fweimer@redhat.com>
Date:   Mon Apr 9 10:08:07 2018 +0200

    resolv: Fully initialize struct mmsghdr in send_dg [BZ #23037]
    
    (cherry picked from commit 583a27d525ae189bdfaa6784021b92a9a1dae12e)

diff --git a/ChangeLog b/ChangeLog
index 27753462fa..2a080bd816 100644
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,3 +1,9 @@
+2018-04-09  Florian Weimer  <fweimer@redhat.com>
+
+	[BZ #23037]
+	* resolv/res_send.c (send_dg): Use designated initializers instead
+	of assignment to zero-initialize other fields of struct mmsghdr.
+
 2018-04-06  Andreas Schwab  <schwab@linux-m68k.org>
 
 	* manual/charset.texi (Converting a Character): Fix typo.
diff --git a/resolv/res_send.c b/resolv/res_send.c
index 7debf143f7..9e9541789b 100644
--- a/resolv/res_send.c
+++ b/resolv/res_send.c
@@ -1157,25 +1157,27 @@ send_dg(res_state statp,
 		if (have_sendmmsg >= 0 && nwritten == 0 && buf2 != NULL
 		    && !single_request)
 		  {
-		    struct iovec iov[2];
-		    struct mmsghdr reqs[2];
-		    reqs[0].msg_hdr.msg_name = NULL;
-		    reqs[0].msg_hdr.msg_namelen = 0;
-		    reqs[0].msg_hdr.msg_iov = &iov[0];
-		    reqs[0].msg_hdr.msg_iovlen = 1;
-		    iov[0].iov_base = (void *) buf;
-		    iov[0].iov_len = buflen;
-		    reqs[0].msg_hdr.msg_control = NULL;
-		    reqs[0].msg_hdr.msg_controllen = 0;
-
-		    reqs[1].msg_hdr.msg_name = NULL;
-		    reqs[1].msg_hdr.msg_namelen = 0;
-		    reqs[1].msg_hdr.msg_iov = &iov[1];
-		    reqs[1].msg_hdr.msg_iovlen = 1;
-		    iov[1].iov_base = (void *) buf2;
-		    iov[1].iov_len = buflen2;
-		    reqs[1].msg_hdr.msg_control = NULL;
-		    reqs[1].msg_hdr.msg_controllen = 0;
+		    struct iovec iov =
+		      { .iov_base = (void *) buf, .iov_len = buflen };
+		    struct iovec iov2 =
+		      { .iov_base = (void *) buf2, .iov_len = buflen2 };
+		    struct mmsghdr reqs[2] =
+		      {
+			{
+			  .msg_hdr =
+			    {
+			      .msg_iov = &iov,
+			      .msg_iovlen = 1,
+			    },
+			},
+			{
+			  .msg_hdr =
+			    {
+			      .msg_iov = &iov2,
+			      .msg_iovlen = 1,
+			    }
+			},
+		      };
 
 		    int ndg = __sendmmsg (pfd[0].fd, reqs, 2, MSG_NOSIGNAL);
 		    if (__glibc_likely (ndg == 2))

commit a06d48fb9f1837a5723ec2443d263df404d931fe
Author: Joseph Myers <joseph@codesourcery.com>
Date:   Tue Apr 24 12:11:35 2018 +0000

    Add PTRACE_SECCOMP_GET_METADATA from Linux 4.16 to sys/ptrace.h.
    
    This patch adds the PTRACE_SECCOMP_GET_METADATA constant from Linux
    4.16 to all relevant sys/ptrace.h files.  A type struct
    __ptrace_seccomp_metadata, analogous to other such types, is also
    added.
    
    Tested for x86_64, and with build-many-glibcs.py.
    
            * sysdeps/unix/sysv/linux/sys/ptrace.h
            (PTRACE_SECCOMP_GET_METADATA): New enum value and macro.
            * sysdeps/unix/sysv/linux/bits/ptrace-shared.h
            (struct __ptrace_seccomp_metadata): New type.
            * sysdeps/unix/sysv/linux/aarch64/sys/ptrace.h
            (PTRACE_SECCOMP_GET_METADATA): Likewise.
            * sysdeps/unix/sysv/linux/arm/sys/ptrace.h
            (PTRACE_SECCOMP_GET_METADATA): Likewise.
            * sysdeps/unix/sysv/linux/ia64/sys/ptrace.h
            (PTRACE_SECCOMP_GET_METADATA): Likewise.
            * sysdeps/unix/sysv/linux/powerpc/sys/ptrace.h
            (PTRACE_SECCOMP_GET_METADATA): Likewise.
            * sysdeps/unix/sysv/linux/s390/sys/ptrace.h
            (PTRACE_SECCOMP_GET_METADATA): Likewise.
            * sysdeps/unix/sysv/linux/sparc/sys/ptrace.h
            (PTRACE_SECCOMP_GET_METADATA): Likewise.
            * sysdeps/unix/sysv/linux/tile/sys/ptrace.h
            (PTRACE_SECCOMP_GET_METADATA): Likewise.
            * sysdeps/unix/sysv/linux/x86/sys/ptrace.h
            (PTRACE_SECCOMP_GET_METADATA): Likewise.
    
    (cherry picked from commit 9320ca88a197d3620d3553ccc2d9402d981d7e23)

diff --git a/ChangeLog b/ChangeLog
index 2a080bd816..fce057542d 100644
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,3 +1,26 @@
+2018-04-24  Joseph Myers  <joseph@codesourcery.com>
+
+	* sysdeps/unix/sysv/linux/sys/ptrace.h
+	(PTRACE_SECCOMP_GET_METADATA): New enum value and macro.
+	* sysdeps/unix/sysv/linux/bits/ptrace-shared.h
+	(struct __ptrace_seccomp_metadata): New type.
+	* sysdeps/unix/sysv/linux/aarch64/sys/ptrace.h
+	(PTRACE_SECCOMP_GET_METADATA): Likewise.
+	* sysdeps/unix/sysv/linux/arm/sys/ptrace.h
+	(PTRACE_SECCOMP_GET_METADATA): Likewise.
+	* sysdeps/unix/sysv/linux/ia64/sys/ptrace.h
+	(PTRACE_SECCOMP_GET_METADATA): Likewise.
+	* sysdeps/unix/sysv/linux/powerpc/sys/ptrace.h
+	(PTRACE_SECCOMP_GET_METADATA): Likewise.
+	* sysdeps/unix/sysv/linux/s390/sys/ptrace.h
+	(PTRACE_SECCOMP_GET_METADATA): Likewise.
+	* sysdeps/unix/sysv/linux/sparc/sys/ptrace.h
+	(PTRACE_SECCOMP_GET_METADATA): Likewise.
+	* sysdeps/unix/sysv/linux/tile/sys/ptrace.h
+	(PTRACE_SECCOMP_GET_METADATA): Likewise.
+	* sysdeps/unix/sysv/linux/x86/sys/ptrace.h
+	(PTRACE_SECCOMP_GET_METADATA): Likewise.
+
 2018-04-09  Florian Weimer  <fweimer@redhat.com>
 
 	[BZ #23037]
diff --git a/sysdeps/unix/sysv/linux/aarch64/sys/ptrace.h b/sysdeps/unix/sysv/linux/aarch64/sys/ptrace.h
index 444edbb702..93e373c3ad 100644
--- a/sysdeps/unix/sysv/linux/aarch64/sys/ptrace.h
+++ b/sysdeps/unix/sysv/linux/aarch64/sys/ptrace.h
@@ -132,8 +132,12 @@ enum __ptrace_request
 #define PTRACE_SETSIGMASK PTRACE_SETSIGMASK
 
   /* Get seccomp BPF filters.  */
-  PTRACE_SECCOMP_GET_FILTER = 0x420c
+  PTRACE_SECCOMP_GET_FILTER = 0x420c,
 #define PTRACE_SECCOMP_GET_FILTER PTRACE_SECCOMP_GET_FILTER
+
+  /* Get seccomp BPF filter metadata.  */
+  PTRACE_SECCOMP_GET_METADATA = 0x420d
+#define PTRACE_SECCOMP_GET_METADATA PTRACE_SECCOMP_GET_METADATA
 };
 
 
diff --git a/sysdeps/unix/sysv/linux/arm/sys/ptrace.h b/sysdeps/unix/sysv/linux/arm/sys/ptrace.h
index fbcb9384bd..bc54a1e5e2 100644
--- a/sysdeps/unix/sysv/linux/arm/sys/ptrace.h
+++ b/sysdeps/unix/sysv/linux/arm/sys/ptrace.h
@@ -192,8 +192,12 @@ enum __ptrace_request
 #define PTRACE_SETSIGMASK PTRACE_SETSIGMASK
 
   /* Get seccomp BPF filters.  */
-  PTRACE_SECCOMP_GET_FILTER = 0x420c
+  PTRACE_SECCOMP_GET_FILTER = 0x420c,
 #define PTRACE_SECCOMP_GET_FILTER PTRACE_SECCOMP_GET_FILTER
+
+  /* Get seccomp BPF filter metadata.  */
+  PTRACE_SECCOMP_GET_METADATA = 0x420d
+#define PTRACE_SECCOMP_GET_METADATA PTRACE_SECCOMP_GET_METADATA
 };
 
 
diff --git a/sysdeps/unix/sysv/linux/bits/ptrace-shared.h b/sysdeps/unix/sysv/linux/bits/ptrace-shared.h
index 960b101f94..03a779140c 100644
--- a/sysdeps/unix/sysv/linux/bits/ptrace-shared.h
+++ b/sysdeps/unix/sysv/linux/bits/ptrace-shared.h
@@ -66,6 +66,13 @@ enum __ptrace_peeksiginfo_flags
   PTRACE_PEEKSIGINFO_SHARED = (1 << 0)
 };
 
+/* Argument and results of PTRACE_SECCOMP_GET_METADATA.  */
+struct __ptrace_seccomp_metadata
+{
+  __uint64_t filter_off;	/* Input: which filter.  */
+  __uint64_t flags;		/* Output: filter's flags.  */
+};
+
 /* Perform process tracing functions.  REQUEST is one of the values
    above, and determines the action to be taken.
    For all requests except PTRACE_TRACEME, PID specifies the process to be
diff --git a/sysdeps/unix/sysv/linux/ia64/sys/ptrace.h b/sysdeps/unix/sysv/linux/ia64/sys/ptrace.h
index 1c73b9dee6..e00b1212fc 100644
--- a/sysdeps/unix/sysv/linux/ia64/sys/ptrace.h
+++ b/sysdeps/unix/sysv/linux/ia64/sys/ptrace.h
@@ -145,8 +145,12 @@ enum __ptrace_request
 #define PTRACE_SETSIGMASK PTRACE_SETSIGMASK
 
   /* Get seccomp BPF filters.  */
-  PTRACE_SECCOMP_GET_FILTER = 0x420c
+  PTRACE_SECCOMP_GET_FILTER = 0x420c,
 #define PTRACE_SECCOMP_GET_FILTER PTRACE_SECCOMP_GET_FILTER
+
+  /* Get seccomp BPF filter metadata.  */
+  PTRACE_SECCOMP_GET_METADATA = 0x420d
+#define PTRACE_SECCOMP_GET_METADATA PTRACE_SECCOMP_GET_METADATA
 };
 
 
diff --git a/sysdeps/unix/sysv/linux/powerpc/sys/ptrace.h b/sysdeps/unix/sysv/linux/powerpc/sys/ptrace.h
index 8317821ab5..9fde99c748 100644
--- a/sysdeps/unix/sysv/linux/powerpc/sys/ptrace.h
+++ b/sysdeps/unix/sysv/linux/powerpc/sys/ptrace.h
@@ -49,6 +49,7 @@ __BEGIN_DECLS
 # undef PTRACE_POKEDATA
 # undef PTRACE_POKETEXT
 # undef PTRACE_SECCOMP_GET_FILTER
+# undef PTRACE_SECCOMP_GET_METADATA
 # undef PTRACE_SEIZE
 # undef PTRACE_SET_DEBUGREG
 # undef PTRACE_SETEVRREGS
@@ -236,8 +237,12 @@ enum __ptrace_request
 #define PTRACE_SETSIGMASK PTRACE_SETSIGMASK
 
   /* Get seccomp BPF filters.  */
-  PTRACE_SECCOMP_GET_FILTER = 0x420c
+  PTRACE_SECCOMP_GET_FILTER = 0x420c,
 #define PTRACE_SECCOMP_GET_FILTER PTRACE_SECCOMP_GET_FILTER
+
+  /* Get seccomp BPF filter metadata.  */
+  PTRACE_SECCOMP_GET_METADATA = 0x420d
+#define PTRACE_SECCOMP_GET_METADATA PTRACE_SECCOMP_GET_METADATA
 };
 
 
diff --git a/sysdeps/unix/sysv/linux/s390/sys/ptrace.h b/sysdeps/unix/sysv/linux/s390/sys/ptrace.h
index cca02489d6..d60a034b11 100644
--- a/sysdeps/unix/sysv/linux/s390/sys/ptrace.h
+++ b/sysdeps/unix/sysv/linux/s390/sys/ptrace.h
@@ -52,6 +52,7 @@ __BEGIN_DECLS
 # undef PTRACE_GETSIGMASK
 # undef PTRACE_SETSIGMASK
 # undef PTRACE_SECCOMP_GET_FILTER
+# undef PTRACE_SECCOMP_GET_METADATA
 # undef PTRACE_PEEKUSR_AREA
 # undef PTRACE_POKEUSR_AREA
 # undef PTRACE_GET_LAST_BREAK
@@ -193,6 +194,10 @@ enum __ptrace_request
   PTRACE_SECCOMP_GET_FILTER = 0x420c,
 #define PTRACE_SECCOMP_GET_FILTER PTRACE_SECCOMP_GET_FILTER
 
+  /* Get seccomp BPF filter metadata.  */
+  PTRACE_SECCOMP_GET_METADATA = 0x420d,
+#define PTRACE_SECCOMP_GET_METADATA PTRACE_SECCOMP_GET_METADATA
+
   PTRACE_PEEKUSR_AREA = 0x5000,
 #define PTRACE_PEEKUSR_AREA PTRACE_PEEKUSR_AREA
 
diff --git a/sysdeps/unix/sysv/linux/sparc/sys/ptrace.h b/sysdeps/unix/sysv/linux/sparc/sys/ptrace.h
index 9193275fac..c037734666 100644
--- a/sysdeps/unix/sysv/linux/sparc/sys/ptrace.h
+++ b/sysdeps/unix/sysv/linux/sparc/sys/ptrace.h
@@ -213,8 +213,12 @@ enum __ptrace_request
 #define PTRACE_SETSIGMASK PTRACE_SETSIGMASK
 
   /* Get seccomp BPF filters.  */
-  PTRACE_SECCOMP_GET_FILTER = 0x420c
+  PTRACE_SECCOMP_GET_FILTER = 0x420c,
 #define PTRACE_SECCOMP_GET_FILTER PTRACE_SECCOMP_GET_FILTER
+
+  /* Get seccomp BPF filter metadata.  */
+  PTRACE_SECCOMP_GET_METADATA = 0x420d
+#define PTRACE_SECCOMP_GET_METADATA PTRACE_SECCOMP_GET_METADATA
 };
 
 
diff --git a/sysdeps/unix/sysv/linux/sys/ptrace.h b/sysdeps/unix/sysv/linux/sys/ptrace.h
index 85772f348a..3c71a0ebd6 100644
--- a/sysdeps/unix/sysv/linux/sys/ptrace.h
+++ b/sysdeps/unix/sysv/linux/sys/ptrace.h
@@ -162,8 +162,12 @@ enum __ptrace_request
 #define PTRACE_SETSIGMASK PTRACE_SETSIGMASK
 
   /* Get seccomp BPF filters.  */
-  PTRACE_SECCOMP_GET_FILTER = 0x420c
+  PTRACE_SECCOMP_GET_FILTER = 0x420c,
 #define PTRACE_SECCOMP_GET_FILTER PTRACE_SECCOMP_GET_FILTER
+
+  /* Get seccomp BPF filter metadata.  */
+  PTRACE_SECCOMP_GET_METADATA = 0x420d
+#define PTRACE_SECCOMP_GET_METADATA PTRACE_SECCOMP_GET_METADATA
 };
 
 
diff --git a/sysdeps/unix/sysv/linux/tile/sys/ptrace.h b/sysdeps/unix/sysv/linux/tile/sys/ptrace.h
index a1db185073..d391037ca8 100644
--- a/sysdeps/unix/sysv/linux/tile/sys/ptrace.h
+++ b/sysdeps/unix/sysv/linux/tile/sys/ptrace.h
@@ -136,8 +136,12 @@ enum __ptrace_request
 #define PTRACE_SETSIGMASK PTRACE_SETSIGMASK
 
   /* Get seccomp BPF filters.  */
-  PTRACE_SECCOMP_GET_FILTER = 0x420c
+  PTRACE_SECCOMP_GET_FILTER = 0x420c,
 #define PTRACE_SECCOMP_GET_FILTER PTRACE_SECCOMP_GET_FILTER
+
+  /* Get seccomp BPF filter metadata.  */
+  PTRACE_SECCOMP_GET_METADATA = 0x420d
+#define PTRACE_SECCOMP_GET_METADATA PTRACE_SECCOMP_GET_METADATA
 };
 
 
diff --git a/sysdeps/unix/sysv/linux/x86/sys/ptrace.h b/sysdeps/unix/sysv/linux/x86/sys/ptrace.h
index 60003422b3..6d4605b6ed 100644
--- a/sysdeps/unix/sysv/linux/x86/sys/ptrace.h
+++ b/sysdeps/unix/sysv/linux/x86/sys/ptrace.h
@@ -182,8 +182,12 @@ enum __ptrace_request
 #define PTRACE_SETSIGMASK PTRACE_SETSIGMASK
 
   /* Get seccomp BPF filters.  */
-  PTRACE_SECCOMP_GET_FILTER = 0x420c
+  PTRACE_SECCOMP_GET_FILTER = 0x420c,
 #define PTRACE_SECCOMP_GET_FILTER PTRACE_SECCOMP_GET_FILTER
+
+  /* Get seccomp BPF filter metadata.  */
+  PTRACE_SECCOMP_GET_METADATA = 0x420d
+#define PTRACE_SECCOMP_GET_METADATA PTRACE_SECCOMP_GET_METADATA
 };
 
 

commit db988e50a87f613cb6b9e98a2fc66a4848bc3546
Author: Stefan Liebler <stli@linux.vnet.ibm.com>
Date:   Fri May 4 10:00:59 2018 +0200

    Fix blocking pthread_join. [BZ #23137]
    
    On s390 (31bit) if glibc is build with -Os, pthread_join sometimes
    blocks indefinitely. This is e.g. observable with
    testcase intl/tst-gettext6.
    
    pthread_join is calling lll_wait_tid(tid), which performs the futex-wait
    syscall in a loop as long as tid != 0 (thread is alive).
    
    On s390 (and build with -Os), tid is loaded from memory before
    comparing against zero and then the tid is loaded a second time
    in order to pass it to the futex-wait-syscall.
    If the thread exits in between, then the futex-wait-syscall is
    called with the value zero and it waits until a futex-wake occurs.
    As the thread is already exited, there won't be a futex-wake.
    
    In lll_wait_tid, the tid is stored to the local variable __tid,
    which is then used as argument for the futex-wait-syscall.
    But unfortunately the compiler is allowed to reload the value
    from memory.
    
    With this patch, the tid is loaded with atomic_load_acquire.
    Then the compiler is not allowed to reload the value for __tid from memory.
    
    ChangeLog:
    
            [BZ #23137]
            * sysdeps/nptl/lowlevellock.h (lll_wait_tid):
            Use atomic_load_acquire to load __tid.
    
    (cherry picked from commit 1660901840dfc9fde6c5720a32f901af6f08f00a)

diff --git a/ChangeLog b/ChangeLog
index fce057542d..ca6b3ea30e 100644
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,3 +1,9 @@
+2018-05-04  Stefan Liebler  <stli@linux.vnet.ibm.com>
+
+	[BZ #23137]
+	* sysdeps/nptl/lowlevellock.h (lll_wait_tid):
+	Use atomic_load_acquire to load __tid.
+
 2018-04-24  Joseph Myers  <joseph@codesourcery.com>
 
 	* sysdeps/unix/sysv/linux/sys/ptrace.h
diff --git a/sysdeps/nptl/lowlevellock.h b/sysdeps/nptl/lowlevellock.h
index 8326e2805c..bfbda99940 100644
--- a/sysdeps/nptl/lowlevellock.h
+++ b/sysdeps/nptl/lowlevellock.h
@@ -181,11 +181,14 @@ extern int __lll_timedlock_wait (int *futex, const struct timespec *,
    thread ID while the clone is running and is reset to zero by the kernel
    afterwards.  The kernel up to version 3.16.3 does not use the private futex
    operations for futex wake-up when the clone terminates.  */
-#define lll_wait_tid(tid) \
-  do {					\
-    __typeof (tid) __tid;		\
-    while ((__tid = (tid)) != 0)	\
-      lll_futex_wait (&(tid), __tid, LLL_SHARED);\
+#define lll_wait_tid(tid)				\
+  do {							\
+    __typeof (tid) __tid;				\
+    /* We need acquire MO here so that we synchronize	\
+       with the kernel's store to 0 when the clone	\
+       terminates. (see above)  */			\
+    while ((__tid = atomic_load_acquire (&(tid))) != 0)	\
+      lll_futex_wait (&(tid), __tid, LLL_SHARED);	\
   } while (0)
 
 extern int __lll_timedwait_tid (int *, const struct timespec *)

commit edbf537d0736033f546f69b0abdf6dd66c7a079c
Author: Paul Pluzhnikov <ppluzhnikov@google.com>
Date:   Sat May 5 18:08:27 2018 -0700

    Fix stack overflow with huge PT_NOTE segment [BZ #20419]
    
    A PT_NOTE in a binary could be arbitratily large, so using alloca
    for it may cause stack overflow.  If the note is larger than
    __MAX_ALLOCA_CUTOFF, use dynamically allocated memory to read it in.
    
    2018-05-05  Paul Pluzhnikov  <ppluzhnikov@google.com>
    
            [BZ #20419]
            * elf/dl-load.c (open_verify): Fix stack overflow.
            * elf/Makefile (tst-big-note): New test.
            * elf/tst-big-note-lib.S: New.
            * elf/tst-big-note.c: New.
    
    (cherry picked from commit 0065aaaaae51cd60210ec3a7e13dddd8e01ffe2c)

diff --git a/ChangeLog b/ChangeLog
index ca6b3ea30e..14063a197c 100644
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,3 +1,11 @@
+2018-05-05  Paul Pluzhnikov  <ppluzhnikov@google.com>
+
+	[BZ #20419]
+	* elf/dl-load.c (open_verify): Fix stack overflow.
+	* elf/Makefile (tst-big-note): New test.
+	* elf/tst-big-note-lib.S: New.
+	* elf/tst-big-note.c: New.
+
 2018-05-04  Stefan Liebler  <stli@linux.vnet.ibm.com>
 
 	[BZ #23137]
diff --git a/elf/Makefile b/elf/Makefile
index 2a432d8bee..2d8fe88aa6 100644
--- a/elf/Makefile
+++ b/elf/Makefile
@@ -187,7 +187,7 @@ tests += restest1 preloadtest loadfail multiload origtest resolvfail \
 	 tst-tlsalign tst-tlsalign-extern tst-nodelete-opened \
 	 tst-nodelete2 tst-audit11 tst-audit12 tst-dlsym-error tst-noload \
 	 tst-latepthread tst-tls-manydynamic tst-nodelete-dlclose \
-	 tst-debug1 tst-main1
+	 tst-debug1 tst-main1 tst-big-note
 #	 reldep9
 tests-internal += loadtest unload unload2 circleload1 \
 	 neededtest neededtest2 neededtest3 neededtest4 \
@@ -272,7 +272,9 @@ modules-names = testobj1 testobj2 testobj3 testobj4 testobj5 testobj6 \
 		tst-audit12mod1 tst-audit12mod2 tst-audit12mod3 tst-auditmod12 \
 		tst-latepthreadmod $(tst-tls-many-dynamic-modules) \
 		tst-nodelete-dlclose-dso tst-nodelete-dlclose-plugin \
-		tst-main1mod tst-libc_dlvsym-dso
+		tst-main1mod tst-libc_dlvsym-dso \
+		tst-big-note-lib
+
 ifeq (yes,$(have-mtls-dialect-gnu2))
 tests += tst-gnu2-tls1
 modules-names += tst-gnu2-tls1mod
@@ -1446,3 +1448,5 @@ $(objpfx)tst-libc_dlvsym-static: $(common-objpfx)dlfcn/libdl.a
 tst-libc_dlvsym-static-ENV = \
   LD_LIBRARY_PATH=$(objpfx):$(common-objpfx):$(common-objpfx)dlfcn
 $(objpfx)tst-libc_dlvsym-static.out: $(objpfx)tst-libc_dlvsym-dso.so
+
+$(objpfx)tst-big-note: $(objpfx)tst-big-note-lib.so
diff --git a/elf/dl-load.c b/elf/dl-load.c
index 7554a99b5a..f038e2942d 100644
--- a/elf/dl-load.c
+++ b/elf/dl-load.c
@@ -1469,6 +1469,7 @@ open_verify (const char *name, int fd,
       ElfW(Ehdr) *ehdr;
       ElfW(Phdr) *phdr, *ph;
       ElfW(Word) *abi_note;
+      ElfW(Word) *abi_note_malloced = NULL;
       unsigned int osversion;
       size_t maplength;
 
@@ -1640,10 +1641,25 @@ open_verify (const char *name, int fd,
 	      abi_note = (void *) (fbp->buf + ph->p_offset);
 	    else
 	      {
-		abi_note = alloca (size);
+		/* Note: __libc_use_alloca is not usable here, because
+		   thread info may not have been set up yet.  */
+		if (size < __MAX_ALLOCA_CUTOFF)
+		  abi_note = alloca (size);
+		else
+		  {
+		    /* There could be multiple PT_NOTEs.  */
+		    abi_note_malloced = realloc (abi_note_malloced, size);
+		    if (abi_note_malloced == NULL)
+		      goto read_error;
+
+		    abi_note = abi_note_malloced;
+		  }
 		__lseek (fd, ph->p_offset, SEEK_SET);
 		if (__libc_read (fd, (void *) abi_note, size) != size)
-		  goto read_error;
+		  {
+		    free (abi_note_malloced);
+		    goto read_error;
+		  }
 	      }
 
 	    while (memcmp (abi_note, &expected_note, sizeof (expected_note)))
@@ -1678,6 +1694,7 @@ open_verify (const char *name, int fd,
 
 	    break;
 	  }
+      free (abi_note_malloced);
     }
 
   return fd;
diff --git a/elf/tst-big-note-lib.S b/elf/tst-big-note-lib.S
new file mode 100644
index 0000000000..6b514a03cc
--- /dev/null
+++ b/elf/tst-big-note-lib.S
@@ -0,0 +1,26 @@
+/* Bug 20419: test for stack overflow in elf/dl-load.c open_verify()
+   Copyright (C) 2018 Free Software Foundation, Inc.
+   This file is part of the GNU C Library.
+
+   The GNU C Library is free software; you can redistribute it and/or
+   modify it under the terms of the GNU Lesser General Public
+   License as published by the Free Software Foundation; either
+   version 2.1 of the License, or (at your option) any later version.
+
+   The GNU C Library is distributed in the hope that it will be useful,
+   but WITHOUT ANY WARRANTY; without even the implied warranty of
+   MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
+   Lesser General Public License for more details.
+
+   You should have received a copy of the GNU Lesser General Public
+   License along with the GNU C Library; if not, see
+   <http://www.gnu.org/licenses/>.  */
+
+/* This creates a .so with 8MiB PT_NOTE segment.
+   On a typical Linux system with 8MiB "ulimit -s", that was enough
+   to trigger stack overflow in open_verify.  */
+
+.pushsection .note.big,"a"
+.balign 4
+.fill 8*1024*1024, 1, 0
+.popsection
diff --git a/elf/tst-big-note.c b/elf/tst-big-note.c
new file mode 100644
index 0000000000..fcd2b0ed82
--- /dev/null
+++ b/elf/tst-big-note.c
@@ -0,0 +1,26 @@
+/* Bug 20419: test for stack overflow in elf/dl-load.c open_verify()
+   Copyright (C) 2018 Free Software Foundation, Inc.
+   This file is part of the GNU C Library.
+
+   The GNU C Library is free software; you can redistribute it and/or
+   modify it under the terms of the GNU Lesser General Public
+   License as published by the Free Software Foundation; either
+   version 2.1 of the License, or (at your option) any later version.
+
+   The GNU C Library is distributed in the hope that it will be useful,
+   but WITHOUT ANY WARRANTY; without even the implied warranty of
+   MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
+   Lesser General Public License for more details.
+
+   You should have received a copy of the GNU Lesser General Public
+   License along with the GNU C Library; if not, see
+   <http://www.gnu.org/licenses/>.  */
+
+/* This file must be run from within a directory called "elf".  */
+
+int main (int argc, char *argv[])
+{
+  /* Nothing to do here: merely linking against tst-big-note-lib.so triggers
+     the bug.  */
+  return 0;
+}

commit f19e67884c55c2dac6db3b146d80a769e322ecbe
Author: Paul Pluzhnikov <ppluzhnikov@google.com>
Date:   Tue May 8 18:12:41 2018 -0700

    Fix path length overflow in realpath [BZ #22786]
    
    Integer addition overflow may cause stack buffer overflow
    when realpath() input length is close to SSIZE_MAX.
    
    2018-05-09  Paul Pluzhnikov  <ppluzhnikov@google.com>
    
            [BZ #22786]
            * stdlib/canonicalize.c (__realpath): Fix overflow in path length
            computation.
            * stdlib/Makefile (test-bz22786): New test.
            * stdlib/test-bz22786.c: New test.
    
    (cherry picked from commit 5460617d1567657621107d895ee2dd83bc1f88f2)

diff --git a/ChangeLog b/ChangeLog
index 14063a197c..1419e8903d 100644
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,3 +1,11 @@
+2018-05-09  Paul Pluzhnikov  <ppluzhnikov@google.com>
+
+	[BZ #22786]
+	* stdlib/canonicalize.c (__realpath): Fix overflow in path length
+	computation.
+	* stdlib/Makefile (test-bz22786): New test.
+	* stdlib/test-bz22786.c: New test.
+
 2018-05-05  Paul Pluzhnikov  <ppluzhnikov@google.com>
 
 	[BZ #20419]
diff --git a/stdlib/Makefile b/stdlib/Makefile
index 7c363a6e4d..a9ad849531 100644
--- a/stdlib/Makefile
+++ b/stdlib/Makefile
@@ -84,7 +84,7 @@ tests		:= tst-strtol tst-strtod testmb testrand testsort testdiv   \
 		   tst-cxa_atexit tst-on_exit test-atexit-race 		    \
 		   test-at_quick_exit-race test-cxa_atexit-race             \
 		   test-on_exit-race test-dlclose-exit-race 		    \
-		   tst-makecontext-align
+		   tst-makecontext-align test-bz22786
 
 tests-internal	:= tst-strtod1i tst-strtod3 tst-strtod4 tst-strtod5i \
 		   tst-tls-atexit tst-tls-atexit-nodelete
diff --git a/stdlib/canonicalize.c b/stdlib/canonicalize.c
index 30825a91b8..432fc82b4a 100644
--- a/stdlib/canonicalize.c
+++ b/stdlib/canonicalize.c
@@ -181,7 +181,7 @@ __realpath (const char *name, char *resolved)
 		extra_buf = __alloca (path_max);
 
 	      len = strlen (end);
-	      if ((long int) (n + len) >= path_max)
+	      if (path_max - n <= len)
 		{
 		  __set_errno (ENAMETOOLONG);
 		  goto error;
diff --git a/stdlib/test-bz22786.c b/stdlib/test-bz22786.c
new file mode 100644
index 0000000000..e7837f98c1
--- /dev/null
+++ b/stdlib/test-bz22786.c
@@ -0,0 +1,90 @@
+/* Bug 22786: test for buffer overflow in realpath.
+   Copyright (C) 2018 Free Software Foundation, Inc.
+   This file is part of the GNU C Library.
+
+   The GNU C Library is free software; you can redistribute it and/or
+   modify it under the terms of the GNU Lesser General Public
+   License as published by the Free Software Foundation; either
+   version 2.1 of the License, or (at your option) any later version.
+
+   The GNU C Library is distributed in the hope that it will be useful,
+   but WITHOUT ANY WARRANTY; without even the implied warranty of
+   MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
+   Lesser General Public License for more details.
+
+   You should have received a copy of the GNU Lesser General Public
+   License along with the GNU C Library; if not, see
+   <http://www.gnu.org/licenses/>.  */
+
+/* This file must be run from within a directory called "stdlib".  */
+
+#include <errno.h>
+#include <limits.h>
+#include <stdio.h>
+#include <stdlib.h>
+#include <string.h>
+#include <unistd.h>
+#include <sys/stat.h>
+#include <sys/types.h>
+#include <support/test-driver.h>
+#include <libc-diag.h>
+
+static int
+do_test (void)
+{
+  const char dir[] = "bz22786";
+  const char lnk[] = "bz22786/symlink";
+
+  rmdir (dir);
+  if (mkdir (dir, 0755) != 0 && errno != EEXIST)
+    {
+      printf ("mkdir %s: %m\n", dir);
+      return EXIT_FAILURE;
+    }
+  if (symlink (".", lnk) != 0 && errno != EEXIST)
+    {
+      printf ("symlink (%s, %s): %m\n", dir, lnk);
+      return EXIT_FAILURE;
+    }
+
+  const size_t path_len = (size_t) INT_MAX + 1;
+
+  DIAG_PUSH_NEEDS_COMMENT;
+#if __GNUC_PREREQ (7, 0)
+  /* GCC 7 warns about too-large allocations; here we need such
+     allocation to succeed for the test to work.  */
+  DIAG_IGNORE_NEEDS_COMMENT (7, "-Walloc-size-larger-than=");
+#endif
+  char *path = malloc (path_len);
+  DIAG_POP_NEEDS_COMMENT;
+
+  if (path == NULL)
+    {
+      printf ("malloc (%zu): %m\n", path_len);
+      return EXIT_UNSUPPORTED;
+    }
+
+  /* Construct very long path = "bz22786/symlink/aaaa....."  */
+  char *p = mempcpy (path, lnk, sizeof (lnk) - 1);
+  *(p++) = '/';
+  memset (p, 'a', path_len - (path - p) - 2);
+  p[path_len - (path - p) - 1] = '\0';
+
+  /* This call crashes before the fix for bz22786 on 32-bit platforms.  */
+  p = realpath (path, NULL);
+
+  if (p != NULL || errno != ENAMETOOLONG)
+    {
+      printf ("realpath: %s (%m)", p);
+      return EXIT_FAILURE;
+    }
+
+  /* Cleanup.  */
+  unlink (lnk);
+  rmdir (dir);
+
+  return 0;
+}
+
+#define TEST_FUNCTION do_test
+#include <support/test-driver.c>

commit b2dd29a7caae88ea00d3613952b65a65d7eb101d
Author: Dmitry V. Levin <ldv@altlinux.org>
Date:   Thu May 10 10:56:25 2018 +0000

    NEWS: add entries for bugs 17343, 20419, 22644, 22786, 22884, 22947, 23005, 23037, 23069, 23137

diff --git a/NEWS b/NEWS
index 4749f5f432..6839154198 100644
--- a/NEWS
+++ b/NEWS
@@ -17,22 +17,35 @@ The following bugs are resolved with this release:
 
   [6889] 'PWD' mentioned but not specified
   [16335] Feature test macro documentation incomplete and out of date
+  [17343] Signed integer overflow in /stdlib/random_r.c
+  [20419] files with large allocated notes crash in open_verify
   [21269] i386 sigaction sa_restorer handling is wrong
   [22342] NSCD not properly caching netgroup
   [22638] sparc: static binaries are broken if glibc is built by gcc
     configured with --enable-default-pie
+  [22644] memmove-sse2-unaligned on 32bit x86 produces garbage when crossing
+    2GB threshold
   [22735] Misleading typo in time.h source comment regarding CLOCKS_PER_SECOND
+  [22786] Stack buffer overflow in realpath() if input size is close
+    to SSIZE_MAX
   [22797] Linux: use reserved name __key in pkey_get
   [22807] PTRACE_* constants missing for powerpc
   [22818] posix/tst-glob_lstat_compat failure on alpha
   [22827] RISC-V ELF64 parser mis-reads flag in ldconfig
   [22848] ca_ES: update date definitions from CLDR
+  [22884] RISCV fmax/fmin handle signalling NANs incorrectly
   [22918] multiple common of `__nss_shadow_database'
   [22919] sparc32: backtrace yields infinite backtrace with makecontext
   [22926] FTBFS on powerpcspe
   [22932] lt_LT: Update of abbreviated month names from CLDR required
   [22937] Greek (el_GR, el_CY) locales actually need ab_alt_mon
+  [22947] FAIL: misc/tst-preadvwritev2
   [22963] cs_CZ: Add alternative month names
+  [23005] Crash in __res_context_send after memory allocation failure
+  [23037] initialize msg_flags to zero for sendmmsg() calls
+  [23069] sigaction broken on riscv64-linux-gnu
+  [23137] s390: pthread_join sometimes block indefinitely (on 31bit and libc
+    build with -Os)
 
 
 Version 2.27

commit 8af3185d3e0c4293fdd7251b0db4e4eefe92d08a
Author: Rafal Luzynski <digitalfreak@lingonborough.com>
Date:   Wed May 9 03:06:32 2018 +0200

    gd_GB: Fix typo in abbreviated "May" (bug 23152).
    
            [BZ #23152]
            * localedata/locales/gd_GB (abmon): Fix typo in May:
            "Mhàrt" -> "Cèit".  Adjust the comment according to the change.
    
    Reviewed-by: Carlos O'Donell <carlos@redhat.com>
    (cherry picked from commit bb066cb806dfe55511cf2fb59bf013751152608f)

diff --git a/ChangeLog b/ChangeLog
index 1419e8903d..23675e75de 100644
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,3 +1,9 @@
+2018-05-11  Rafal Luzynski  <digitalfreak@lingonborough.com>
+
+	[BZ #23152]
+	* localedata/locales/gd_GB (abmon): Fix typo in May:
+	"Mhàrt" -> "Cèit".  Adjust the comment according to the change.
+
 2018-05-09  Paul Pluzhnikov  <ppluzhnikov@google.com>
 
 	[BZ #22786]
diff --git a/NEWS b/NEWS
index 6839154198..f82b94f53d 100644
--- a/NEWS
+++ b/NEWS
@@ -46,6 +46,7 @@ The following bugs are resolved with this release:
   [23069] sigaction broken on riscv64-linux-gnu
   [23137] s390: pthread_join sometimes block indefinitely (on 31bit and libc
     build with -Os)
+  [23152] gd_GB: Fix typo in "May" (abbreviated)
 
 
 Version 2.27
diff --git a/localedata/locales/gd_GB b/localedata/locales/gd_GB
index 676ee940c9..77d11e5977 100644
--- a/localedata/locales/gd_GB
+++ b/localedata/locales/gd_GB
@@ -66,12 +66,12 @@ mon           "Am Faoilleach";/
      "An D<U00E0>mhair";/
      "An t-Samhain";/
      "An D<U00F9>bhlachd"
-% Faoi, Gearr, Màrt, Gibl, Mhàrt, Ògmh, Iuch, Lùna, Sult, Dàmh, Samh, Dùbh
+% Faoi, Gearr, Màrt, Gibl, Cèit, Ògmh, Iuch, Lùna, Sult, Dàmh, Samh, Dùbh
 abmon         "Faoi";/
        "Gearr";/
        "M<U00E0>rt";/
        "Gibl";/
-       "Mh<U00E0>rt";/
+       "C<U00E8>it";/
        "<U00D2>gmh";/
        "Iuch";/
        "L<U00F9>na";/

commit 0cd4a5e87f6885a2f15fe8e7eb7378d010cdb606
Author: Florian Weimer <fweimer@redhat.com>
Date:   Tue May 15 08:21:11 2018 +0200

    sunrpc: Remove stray exports without --enable-obsolete-rpc [BZ #23166]
    
    This is needed to avoid a warning when linking against libtirpc:
    
    /lib64/libc.so.6: warning: common of `rpc_createerr@@TIRPC_0.3.0' overridden by definition
    /usr/lib64/libtirpc.so: warning: defined here
    
    This ld warning is not enabled by default; -Wl,--warn-common enables it.
    
    Reviewed-by: Carlos O'Donell <carlos@redhat.com>
    
    (cherry picked from commit 89aacb513eb77549a29df2638913a0f8178cf3f5)

diff --git a/ChangeLog b/ChangeLog
index 23675e75de..fa0394cdce 100644
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,3 +1,15 @@
+2018-05-11  Florian Weimer  <fweimer@redhat.com>
+
+	[BZ #23166]
+	* include/rpc/clnt.h (rpc_createerr): Declare hidden alias.
+	* include/rpc/svc.h (svc_pollfd, svc_max_pollfd, svc_fdset):
+	Likewise.
+	* sunrpc/rpc_common.c (svc_fdset, rpc_createerr, svc_pollfd)
+	(svc_max_pollfd): Add nocommon attribute and hidden alias.  Do not
+	export without --enable-obsolete-rpc.
+	* sunrpc/svcauth_des.c (svcauthdes_stats): Turn into compatibility
+	symbol.  This should not have been exported, ever.
+
 2018-05-11  Rafal Luzynski  <digitalfreak@lingonborough.com>
 
 	[BZ #23152]
diff --git a/NEWS b/NEWS
index f82b94f53d..57f6714d89 100644
--- a/NEWS
+++ b/NEWS
@@ -47,6 +47,7 @@ The following bugs are resolved with this release:
   [23137] s390: pthread_join sometimes block indefinitely (on 31bit and libc
     build with -Os)
   [23152] gd_GB: Fix typo in "May" (abbreviated)
+  [23166] sunrpc: Remove stray exports without --enable-obsolete-rpc
 
 
 Version 2.27
diff --git a/include/rpc/clnt.h b/include/rpc/clnt.h
index a397023a93..80be0a9cec 100644
--- a/include/rpc/clnt.h
+++ b/include/rpc/clnt.h
@@ -28,6 +28,7 @@ libc_hidden_proto (clntudp_create)
 libc_hidden_proto (get_myaddress)
 libc_hidden_proto (clntunix_create)
 libc_hidden_proto (__libc_clntudp_bufcreate)
+libc_hidden_proto (rpc_createerr)
 
 # endif /* !_ISOMAC */
 #endif
diff --git a/include/rpc/svc.h b/include/rpc/svc.h
index 465bf4427d..40ba2546a9 100644
--- a/include/rpc/svc.h
+++ b/include/rpc/svc.h
@@ -3,6 +3,10 @@
 
 # ifndef _ISOMAC
 
+libc_hidden_proto (svc_pollfd)
+libc_hidden_proto (svc_max_pollfd)
+libc_hidden_proto (svc_fdset)
+
 libc_hidden_proto (xprt_register)
 libc_hidden_proto (xprt_unregister)
 libc_hidden_proto (svc_register)
diff --git a/sunrpc/rpc_common.c b/sunrpc/rpc_common.c
index 710191163c..2d42827a87 100644
--- a/sunrpc/rpc_common.c
+++ b/sunrpc/rpc_common.c
@@ -46,7 +46,14 @@
    the variable is declared.  So we use the section attribute.  */
 struct opaque_auth _null_auth __attribute__ ((nocommon));
 libc_hidden_nolink_sunrpc (_null_auth, GLIBC_2_0)
-fd_set svc_fdset;
-struct rpc_createerr rpc_createerr;
-struct pollfd *svc_pollfd;
-int svc_max_pollfd;
+
+/* The variables need the nocommon attribute, so that it is possible
+   to create aliases and specify symbol versions.  */
+fd_set svc_fdset  __attribute__ ((nocommon));
+libc_hidden_nolink_sunrpc (svc_fdset, GLIBC_2_0)
+struct rpc_createerr rpc_createerr  __attribute__ ((nocommon));
+libc_hidden_nolink_sunrpc (rpc_createerr, GLIBC_2_0)
+struct pollfd *svc_pollfd  __attribute__ ((nocommon));
+libc_hidden_nolink_sunrpc (svc_pollfd, GLIBC_2_2)
+int svc_max_pollfd  __attribute__ ((nocommon));
+libc_hidden_nolink_sunrpc (svc_max_pollfd, GLIBC_2_2)
diff --git a/sunrpc/svcauth_des.c b/sunrpc/svcauth_des.c
index f99a5a324f..9ce4804239 100644
--- a/sunrpc/svcauth_des.c
+++ b/sunrpc/svcauth_des.c
@@ -87,16 +87,21 @@ static void cache_ref (uint32_t sid); /* note that sid was ref'd */
 
 static void invalidate (char *cred); /* invalidate entry in cache */
 
-/*
- * cache statistics
- */
+/* Cache statistics.  Accidental historic export without a matching
+   declaration in any header file.  */
+#ifndef SHARED
+static
+#endif
 struct
   {
     u_long ncachehits;		/* times cache hit, and is not replay */
     u_long ncachereplays;	/* times cache hit, and is replay */
     u_long ncachemisses;	/* times cache missed */
   }
-svcauthdes_stats;
+svcauthdes_stats __attribute__ ((nocommon));
+#ifdef SHARED
+compat_symbol (libc, svcauthdes_stats, svcauthdes_stats, GLIBC_2_0);
+#endif
 
 /*
  * Service side authenticator for AUTH_DES

commit f51c8367685dc888a02f7304c729ed5277904aff
Author: Andreas Schwab <schwab@suse.de>
Date:   Thu May 24 14:39:18 2018 +0200

    Don't write beyond destination in __mempcpy_avx512_no_vzeroupper (bug 23196)
    
    When compiled as mempcpy, the return value is the end of the destination
    buffer, thus it cannot be used to refer to the start of it.
    
    (cherry picked from commit 9aaaab7c6e4176e61c59b0a63c6ba906d875dc0e)

diff --git a/ChangeLog b/ChangeLog
index fa0394cdce..0cccfa26bf 100644
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,3 +1,12 @@
+2018-05-23  Andreas Schwab  <schwab@suse.de>
+
+	[BZ #23196]
+	CVE-2018-11237
+	* sysdeps/x86_64/multiarch/memmove-avx512-no-vzeroupper.S
+	(L(preloop_large)): Save initial destination pointer in %r11 and
+	use it instead of %rax after the loop.
+	* string/test-mempcpy.c (MIN_PAGE_SIZE): Define.
+
 2018-05-11  Florian Weimer  <fweimer@redhat.com>
 
 	[BZ #23166]
diff --git a/NEWS b/NEWS
index 57f6714d89..ee08fc3d23 100644
--- a/NEWS
+++ b/NEWS
@@ -48,6 +48,13 @@ The following bugs are resolved with this release:
     build with -Os)
   [23152] gd_GB: Fix typo in "May" (abbreviated)
   [23166] sunrpc: Remove stray exports without --enable-obsolete-rpc
+  [23196] __mempcpy_avx512_no_vzeroupper mishandles large copies
+
+Security related changes:
+
+  CVE-2018-11237: The mempcpy implementation for the Intel Xeon Phi
+  architecture could write beyond the target buffer, resulting in a buffer
+  overflow.  Reported by Andreas Schwab.
 
 
 Version 2.27
diff --git a/string/test-mempcpy.c b/string/test-mempcpy.c
index c08fba895e..d98ecdd2d9 100644
--- a/string/test-mempcpy.c
+++ b/string/test-mempcpy.c
@@ -18,6 +18,7 @@
    <http://www.gnu.org/licenses/>.  */
 
 #define MEMCPY_RESULT(dst, len) (dst) + (len)
+#define MIN_PAGE_SIZE 131072
 #define TEST_MAIN
 #define TEST_NAME "mempcpy"
 #include "test-string.h"
diff --git a/sysdeps/x86_64/multiarch/memmove-avx512-no-vzeroupper.S b/sysdeps/x86_64/multiarch/memmove-avx512-no-vzeroupper.S
index 23c0f7a9ed..effc3ac2de 100644
--- a/sysdeps/x86_64/multiarch/memmove-avx512-no-vzeroupper.S
+++ b/sysdeps/x86_64/multiarch/memmove-avx512-no-vzeroupper.S
@@ -336,6 +336,7 @@ L(preloop_large):
 	vmovups	(%rsi), %zmm4
 	vmovups	0x40(%rsi), %zmm5
 
+	mov	%rdi, %r11
 /* Align destination for access with non-temporal stores in the loop.  */
 	mov	%rdi, %r8
 	and	$-0x80, %rdi
@@ -366,8 +367,8 @@ L(gobble_256bytes_nt_loop):
 	cmp	$256, %rdx
 	ja	L(gobble_256bytes_nt_loop)
 	sfence
-	vmovups	%zmm4, (%rax)
-	vmovups	%zmm5, 0x40(%rax)
+	vmovups	%zmm4, (%r11)
+	vmovups	%zmm5, 0x40(%r11)
 	jmp	L(check)
 
 L(preloop_large_bkw):

commit 0cf8a53e5f2ce7f71787537cf206228727afe256
Author: H.J. Lu <hjl.tools@gmail.com>
Date:   Wed May 23 03:59:56 2018 -0700

    Add a test case for [BZ #23196]
    
            [BZ #23196]
            * string/test-memcpy.c (do_test1): New function.
            (test_main): Call it.
    
    (cherry picked from commit ed983107bbc62245b06b99f02e69acf36a0baa3e)

diff --git a/ChangeLog b/ChangeLog
index 0cccfa26bf..4aa9ff73f8 100644
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,3 +1,9 @@
+2018-05-23  H.J. Lu  <hongjiu.lu@intel.com>
+
+	[BZ #23196]
+	* string/test-memcpy.c (do_test1): New function.
+	(test_main): Call it.
+
 2018-05-23  Andreas Schwab  <schwab@suse.de>
 
 	[BZ #23196]
diff --git a/string/test-memcpy.c b/string/test-memcpy.c
index 45f20a6d80..3c8066da52 100644
--- a/string/test-memcpy.c
+++ b/string/test-memcpy.c
@@ -212,6 +212,50 @@ do_random_tests (void)
     }
 }
 
+static void
+do_test1 (void)
+{
+  size_t size = 0x100000;
+  void *large_buf;
+
+  large_buf = mmap (NULL, size * 2 + page_size, PROT_READ | PROT_WRITE,
+		    MAP_PRIVATE | MAP_ANON, -1, 0);
+  if (large_buf == MAP_FAILED)
+    {
+      puts ("Failed to allocat large_buf, skipping do_test1");
+      return;
+    }
+
+  if (mprotect (large_buf + size, page_size, PROT_NONE))
+    error (EXIT_FAILURE, errno, "mprotect failed");
+
+  size_t arrary_size = size / sizeof (uint32_t);
+  uint32_t *dest = large_buf;
+  uint32_t *src = large_buf + size + page_size;
+  size_t i;
+
+  for (i = 0; i < arrary_size; i++)
+    src[i] = (uint32_t) i;
+
+  FOR_EACH_IMPL (impl, 0)
+    {
+      memset (dest, -1, size);
+      CALL (impl, (char *) dest, (char *) src, size);
+      for (i = 0; i < arrary_size; i++)
+	if (dest[i] != src[i])
+	  {
+	    error (0, 0,
+		   "Wrong result in function %s dst \"%p\" src \"%p\" offset \"%zd\"",
+		   impl->name, dest, src, i);
+	    ret = 1;
+	    break;
+	  }
+    }
+
+  munmap ((void *) dest, size);
+  munmap ((void *) src, size);
+}
+
 int
 test_main (void)
 {
@@ -253,6 +297,9 @@ test_main (void)
   do_test (0, 0, getpagesize ());
 
   do_random_tests ();
+
+  do_test1 ();
+
   return ret;
 }
 

commit 50df56ca86a281c8fd99a8100aac75539813788d
Author: Florian Weimer <fweimer@redhat.com>
Date:   Thu May 24 14:41:57 2018 +0200

    Add references to CVE-2018-11236, CVE-2017-18269

diff --git a/ChangeLog b/ChangeLog
index 4aa9ff73f8..fefd9e43ea 100644
--- a/ChangeLog
+++ b/ChangeLog
@@ -34,6 +34,7 @@
 2018-05-09  Paul Pluzhnikov  <ppluzhnikov@google.com>
 
 	[BZ #22786]
+	CVE-2018-11236
 	* stdlib/canonicalize.c (__realpath): Fix overflow in path length
 	computation.
 	* stdlib/Makefile (test-bz22786): New test.
@@ -147,6 +148,7 @@
 	    Max Horn  <max@quendi.de>
 
 	[BZ #22644]
+	CVE-2017-18269
 	* sysdeps/i386/i686/multiarch/memcpy-sse2-unaligned.S: Fixed
 	branch conditions.
 	* string/test-memmove.c (do_test2): New testcase.
diff --git a/NEWS b/NEWS
index ee08fc3d23..28535db4de 100644
--- a/NEWS
+++ b/NEWS
@@ -52,6 +52,13 @@ The following bugs are resolved with this release:
 
 Security related changes:
 
+  CVE-2017-18269: An SSE2-based memmove implementation for the i386
+  architecture could corrupt memory.  Reported by Max Horn.
+
+  CVE-2018-11236: Very long pathname arguments to realpath function could
+  result in an integer overflow and buffer overflow.  Reported by Alexey
+  Izbyshev.
+
   CVE-2018-11237: The mempcpy implementation for the Intel Xeon Phi
   architecture could write beyond the target buffer, resulting in a buffer
   overflow.  Reported by Andreas Schwab.

commit 6c99e37f6fb640a50a3113b2dbee5d5389843c1e
Author: Florian Weimer <fweimer@redhat.com>
Date:   Thu May 24 15:50:29 2018 +0200

    NEWS: Move security-lated changes before bug list
    
    This matches the practice for previous releases.

diff --git a/NEWS b/NEWS
index 28535db4de..2c58d073a3 100644
--- a/NEWS
+++ b/NEWS
@@ -13,6 +13,19 @@ Major new features:
   Czech languages.  The Catalan and Greek languages now support abbreviated
   alternative month names.
 
+Security related changes:
+
+  CVE-2017-18269: An SSE2-based memmove implementation for the i386
+  architecture could corrupt memory.  Reported by Max Horn.
+
+  CVE-2018-11236: Very long pathname arguments to realpath function could
+  result in an integer overflow and buffer overflow.  Reported by Alexey
+  Izbyshev.
+
+  CVE-2018-11237: The mempcpy implementation for the Intel Xeon Phi
+  architecture could write beyond the target buffer, resulting in a buffer
+  overflow.  Reported by Andreas Schwab.
+
 The following bugs are resolved with this release:
 
   [6889] 'PWD' mentioned but not specified
@@ -50,19 +63,6 @@ The following bugs are resolved with this release:
   [23166] sunrpc: Remove stray exports without --enable-obsolete-rpc
   [23196] __mempcpy_avx512_no_vzeroupper mishandles large copies
 
-Security related changes:
-
-  CVE-2017-18269: An SSE2-based memmove implementation for the i386
-  architecture could corrupt memory.  Reported by Max Horn.
-
-  CVE-2018-11236: Very long pathname arguments to realpath function could
-  result in an integer overflow and buffer overflow.  Reported by Alexey
-  Izbyshev.
-
-  CVE-2018-11237: The mempcpy implementation for the Intel Xeon Phi
-  architecture could write beyond the target buffer, resulting in a buffer
-  overflow.  Reported by Andreas Schwab.
-
 
 Version 2.27
 

commit 0262507918cfad7223bf81b8f162b7adc7a2af01
Author: Florian Weimer <fweimer@redhat.com>
Date:   Fri Jun 1 10:43:06 2018 +0200

    libio: Avoid _allocate_buffer, _free_buffer function pointers [BZ #23236]
    
    These unmangled function pointers reside on the heap and could
    be targeted by exploit writers, effectively bypassing libio vtable
    validation.  Instead, we ignore these pointers and always call
    malloc or free.
    
    In theory, this is a backwards-incompatible change, but using the
    global heap instead of the user-supplied callback functions should
    have little application impact.  (The old libstdc++ implementation
    exposed this functionality via a public, undocumented constructor
    in its strstreambuf class.)
    
    (cherry picked from commit 4e8a6346cd3da2d88bbad745a1769260d36f2783)

diff --git a/ChangeLog b/ChangeLog
index fefd9e43ea..aa9e222272 100644
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,3 +1,27 @@
+2018-06-01  Florian Weimer  <fweimer@redhat.com>
+
+	[BZ #23236]
+	* libio/strfile.h (struct _IO_str_fields): Rename members to
+	discourage their use and add comment.
+	(_IO_STR_DYNAMIC): Remove unused macro.
+	* libio/strops.c (_IO_str_init_static_internal): Do not use
+	callback pointers.  Call malloc and free.
+	(_IO_str_overflow): Do not use callback pointers.  Call malloc
+	and free.
+	(enlarge_userbuf): Likewise.
+	(_IO_str_finish): Call free.
+	* libio/wstrops.c (_IO_wstr_init_static): Initialize
+	_allocate_buffer_unused.
+	(_IO_wstr_overflow): Do not use callback pointers.  Call malloc
+	and free.
+	(enlarge_userbuf): Likewise.
+	(_IO_wstr_finish): Call free.
+	* debug/vasprintf_chk.c (__vasprintf_chk): Initialize
+	_allocate_buffer_unused, _free_buffer_unused.
+	* libio/memstream.c (__open_memstream): Likewise.
+	* libio/vasprintf.c (_IO_vasprintf): Likewise.
+	* libio/wmemstream.c (open_wmemstream): Likewise.
+
 2018-05-23  H.J. Lu  <hongjiu.lu@intel.com>
 
 	[BZ #23196]
diff --git a/NEWS b/NEWS
index 2c58d073a3..4c1dbda104 100644
--- a/NEWS
+++ b/NEWS
@@ -62,6 +62,7 @@ The following bugs are resolved with this release:
   [23152] gd_GB: Fix typo in "May" (abbreviated)
   [23166] sunrpc: Remove stray exports without --enable-obsolete-rpc
   [23196] __mempcpy_avx512_no_vzeroupper mishandles large copies
+  [23236] Harden function pointers in _IO_str_fields
 
 
 Version 2.27
diff --git a/debug/vasprintf_chk.c b/debug/vasprintf_chk.c
index a00ef771e6..3eb64617fd 100644
--- a/debug/vasprintf_chk.c
+++ b/debug/vasprintf_chk.c
@@ -55,8 +55,8 @@ __vasprintf_chk (char **result_ptr, int flags, const char *format,
   _IO_JUMPS (&sf._sbf) = &_IO_str_jumps;
   _IO_str_init_static_internal (&sf, string, init_string_size, string);
   sf._sbf._f._flags &= ~_IO_USER_BUF;
-  sf._s._allocate_buffer = (_IO_alloc_type) malloc;
-  sf._s._free_buffer = (_IO_free_type) free;
+  sf._s._allocate_buffer_unused = (_IO_alloc_type) malloc;
+  sf._s._free_buffer_unused = (_IO_free_type) free;
 
   /* For flags > 0 (i.e. __USE_FORTIFY_LEVEL > 1) request that %n
      can only come from read-only format strings.  */
diff --git a/libio/memstream.c b/libio/memstream.c
index d86befcc02..c5c7c2f6db 100644
--- a/libio/memstream.c
+++ b/libio/memstream.c
@@ -90,8 +90,8 @@ __open_memstream (char **bufloc, _IO_size_t *sizeloc)
   _IO_JUMPS_FILE_plus (&new_f->fp._sf._sbf) = &_IO_mem_jumps;
   _IO_str_init_static_internal (&new_f->fp._sf, buf, _IO_BUFSIZ, buf);
   new_f->fp._sf._sbf._f._flags &= ~_IO_USER_BUF;
-  new_f->fp._sf._s._allocate_buffer = (_IO_alloc_type) malloc;
-  new_f->fp._sf._s._free_buffer = (_IO_free_type) free;
+  new_f->fp._sf._s._allocate_buffer_unused = (_IO_alloc_type) malloc;
+  new_f->fp._sf._s._free_buffer_unused = (_IO_free_type) free;
 
   new_f->fp.bufloc = bufloc;
   new_f->fp.sizeloc = sizeloc;
diff --git a/libio/strfile.h b/libio/strfile.h
index 68dfcbfe83..52a085e580 100644
--- a/libio/strfile.h
+++ b/libio/strfile.h
@@ -31,8 +31,11 @@ typedef void (*_IO_free_type) (void*);
 
 struct _IO_str_fields
 {
-  _IO_alloc_type _allocate_buffer;
-  _IO_free_type _free_buffer;
+  /* These members are preserved for ABI compatibility.  The glibc
+     implementation always calls malloc/free for user buffers if
+     _IO_USER_BUF or _IO_FLAGS2_USER_WBUF are not set.  */
+  _IO_alloc_type _allocate_buffer_unused;
+  _IO_free_type _free_buffer_unused;
 };
 
 /* This is needed for the Irix6 N32 ABI, which has a 64 bit off_t type,
@@ -52,10 +55,6 @@ typedef struct _IO_strfile_
   struct _IO_str_fields _s;
 } _IO_strfile;
 
-/* dynamic: set when the array object is allocated (or reallocated)  as
-   necessary to hold a character sequence that can change in length. */
-#define _IO_STR_DYNAMIC(FP) ((FP)->_s._allocate_buffer != (_IO_alloc_type)0)
-
 /* frozen: set when the program has requested that the array object not
    be altered, reallocated, or freed. */
 #define _IO_STR_FROZEN(FP) ((FP)->_f._IO_file_flags & _IO_USER_BUF)
diff --git a/libio/strops.c b/libio/strops.c
index ac995c830e..5fb38976e3 100644
--- a/libio/strops.c
+++ b/libio/strops.c
@@ -61,7 +61,7 @@ _IO_str_init_static_internal (_IO_strfile *sf, char *ptr, _IO_size_t size,
       fp->_IO_read_end = end;
     }
   /* A null _allocate_buffer function flags the strfile as being static. */
-  sf->_s._allocate_buffer = (_IO_alloc_type) 0;
+  sf->_s._allocate_buffer_unused = (_IO_alloc_type) 0;
 }
 
 void
@@ -103,8 +103,7 @@ _IO_str_overflow (_IO_FILE *fp, int c)
 	  _IO_size_t new_size = 2 * old_blen + 100;
 	  if (new_size < old_blen)
 	    return EOF;
-	  new_buf
-	    = (char *) (*((_IO_strfile *) fp)->_s._allocate_buffer) (new_size);
+	  new_buf = malloc (new_size);
 	  if (new_buf == NULL)
 	    {
 	      /*	  __ferror(fp) = 1; */
@@ -113,7 +112,7 @@ _IO_str_overflow (_IO_FILE *fp, int c)
 	  if (old_buf)
 	    {
 	      memcpy (new_buf, old_buf, old_blen);
-	      (*((_IO_strfile *) fp)->_s._free_buffer) (old_buf);
+	      free (old_buf);
 	      /* Make sure _IO_setb won't try to delete _IO_buf_base. */
 	      fp->_IO_buf_base = NULL;
 	    }
@@ -182,15 +181,14 @@ enlarge_userbuf (_IO_FILE *fp, _IO_off64_t offset, int reading)
 
   _IO_size_t newsize = offset + 100;
   char *oldbuf = fp->_IO_buf_base;
-  char *newbuf
-    = (char *) (*((_IO_strfile *) fp)->_s._allocate_buffer) (newsize);
+  char *newbuf = malloc (newsize);
   if (newbuf == NULL)
     return 1;
 
   if (oldbuf != NULL)
     {
       memcpy (newbuf, oldbuf, _IO_blen (fp));
-      (*((_IO_strfile *) fp)->_s._free_buffer) (oldbuf);
+      free (oldbuf);
       /* Make sure _IO_setb won't try to delete
 	 _IO_buf_base. */
       fp->_IO_buf_base = NULL;
@@ -346,7 +344,7 @@ void
 _IO_str_finish (_IO_FILE *fp, int dummy)
 {
   if (fp->_IO_buf_base && !(fp->_flags & _IO_USER_BUF))
-    (((_IO_strfile *) fp)->_s._free_buffer) (fp->_IO_buf_base);
+    free (fp->_IO_buf_base);
   fp->_IO_buf_base = NULL;
 
   _IO_default_finish (fp, 0);
diff --git a/libio/vasprintf.c b/libio/vasprintf.c
index 390a63d124..0bb217e46e 100644
--- a/libio/vasprintf.c
+++ b/libio/vasprintf.c
@@ -54,8 +54,8 @@ _IO_vasprintf (char **result_ptr, const char *format, _IO_va_list args)
   _IO_JUMPS (&sf._sbf) = &_IO_str_jumps;
   _IO_str_init_static_internal (&sf, string, init_string_size, string);
   sf._sbf._f._flags &= ~_IO_USER_BUF;
-  sf._s._allocate_buffer = (_IO_alloc_type) malloc;
-  sf._s._free_buffer = (_IO_free_type) free;
+  sf._s._allocate_buffer_unused = (_IO_alloc_type) malloc;
+  sf._s._free_buffer_unused = (_IO_free_type) free;
   ret = _IO_vfprintf (&sf._sbf._f, format, args);
   if (ret < 0)
     {
diff --git a/libio/wmemstream.c b/libio/wmemstream.c
index c962071d26..f4c6e75246 100644
--- a/libio/wmemstream.c
+++ b/libio/wmemstream.c
@@ -92,8 +92,8 @@ open_wmemstream (wchar_t **bufloc, _IO_size_t *sizeloc)
   _IO_wstr_init_static (&new_f->fp._sf._sbf._f, buf,
 			_IO_BUFSIZ / sizeof (wchar_t), buf);
   new_f->fp._sf._sbf._f._flags2 &= ~_IO_FLAGS2_USER_WBUF;
-  new_f->fp._sf._s._allocate_buffer = (_IO_alloc_type) malloc;
-  new_f->fp._sf._s._free_buffer = (_IO_free_type) free;
+  new_f->fp._sf._s._allocate_buffer_unused = (_IO_alloc_type) malloc;
+  new_f->fp._sf._s._free_buffer_unused = (_IO_free_type) free;
 
   new_f->fp.bufloc = bufloc;
   new_f->fp.sizeloc = sizeloc;
diff --git a/libio/wstrops.c b/libio/wstrops.c
index a3374a7b15..0839a70bfb 100644
--- a/libio/wstrops.c
+++ b/libio/wstrops.c
@@ -63,7 +63,7 @@ _IO_wstr_init_static (_IO_FILE *fp, wchar_t *ptr, _IO_size_t size,
       fp->_wide_data->_IO_read_end = end;
     }
   /* A null _allocate_buffer function flags the strfile as being static. */
-  (((_IO_strfile *) fp)->_s._allocate_buffer) = (_IO_alloc_type)0;
+  (((_IO_strfile *) fp)->_s._allocate_buffer_unused) = (_IO_alloc_type)0;
 }
 
 _IO_wint_t
@@ -95,9 +95,7 @@ _IO_wstr_overflow (_IO_FILE *fp, _IO_wint_t c)
 	      || __glibc_unlikely (new_size > SIZE_MAX / sizeof (wchar_t)))
 	    return EOF;
 
-	  new_buf
-	    = (wchar_t *) (*((_IO_strfile *) fp)->_s._allocate_buffer) (new_size
-									* sizeof (wchar_t));
+	  new_buf = malloc (new_size * sizeof (wchar_t));
 	  if (new_buf == NULL)
 	    {
 	      /*	  __ferror(fp) = 1; */
@@ -106,7 +104,7 @@ _IO_wstr_overflow (_IO_FILE *fp, _IO_wint_t c)
 	  if (old_buf)
 	    {
 	      __wmemcpy (new_buf, old_buf, old_wblen);
-	      (*((_IO_strfile *) fp)->_s._free_buffer) (old_buf);
+	      free (old_buf);
 	      /* Make sure _IO_setb won't try to delete _IO_buf_base. */
 	      fp->_wide_data->_IO_buf_base = NULL;
 	    }
@@ -186,16 +184,14 @@ enlarge_userbuf (_IO_FILE *fp, _IO_off64_t offset, int reading)
     return 1;
 
   wchar_t *oldbuf = wd->_IO_buf_base;
-  wchar_t *newbuf
-    = (wchar_t *) (*((_IO_strfile *) fp)->_s._allocate_buffer) (newsize
-								* sizeof (wchar_t));
+  wchar_t *newbuf = malloc (newsize * sizeof (wchar_t));
   if (newbuf == NULL)
     return 1;
 
   if (oldbuf != NULL)
     {
       __wmemcpy (newbuf, oldbuf, _IO_wblen (fp));
-      (*((_IO_strfile *) fp)->_s._free_buffer) (oldbuf);
+      free (oldbuf);
       /* Make sure _IO_setb won't try to delete
 	 _IO_buf_base. */
       wd->_IO_buf_base = NULL;
@@ -357,7 +353,7 @@ void
 _IO_wstr_finish (_IO_FILE *fp, int dummy)
 {
   if (fp->_wide_data->_IO_buf_base && !(fp->_flags2 & _IO_FLAGS2_USER_WBUF))
-    (((_IO_strfile *) fp)->_s._free_buffer) (fp->_wide_data->_IO_buf_base);
+    free (fp->_wide_data->_IO_buf_base);
   fp->_wide_data->_IO_buf_base = NULL;
 
   _IO_wdefault_finish (fp, 0);

commit 78e48cb5e5b5358c8a43f169700a27ad1374edbc
Author: Adhemerval Zanella <adhemerval.zanella@linaro.org>
Date:   Wed Jun 6 14:07:34 2018 -0300

    posix: Fix posix_spawnp to not execute invalid binaries in non compat mode (BZ#23264)
    
    Current posix_spawnp implementation wrongly tries to execute invalid
    binaries (for instance script without shebang) as a shell script in
    non compat mode.  It was a regression introduced by
    9ff72da471a509a8c19791efe469f47fa6977410 when __spawni started to use
    __execvpe instead of __execve (glibc __execvpe try to execute ENOEXEC
    as shell script regardless).
    
    This patch fixes it by using an internal symbol (__execvpex) with the
    faulty semantic (since compat mode is handled by spawni.c itself).
    
    It was reported by Daniel Drake on libc-help [1].
    
    Checked on x86_64-linux-gnu and i686-linux-gnu.
    
            [BZ #23264]
            * include/unistd.h (__execvpex): New prototype.
            * posix/Makefile (tests): Add tst-spawn4.
            (tests-internal): Add tst-spawn4-compat.
            * posix/execvpe.c (__execvpe_common, __execvpex): New functions.
            * posix/tst-spawn4-compat.c: New file.
            * posix/tst-spawn4.c: Likewise.
            * sysdeps/unix/sysv/linux/spawni.c (__spawni): Do not interpret invalid
            binaries as shell scripts.
            * sysdeps/posix/spawni.c (__spawni): Likewise.
    
    [1] https://sourceware.org/ml/libc-help/2018-06/msg00012.html
    
    (cherry picked from commit 283d98512272a12cb84e7798c23edbdf1adb287d)

diff --git a/ChangeLog b/ChangeLog
index aa9e222272..c55c4ded13 100644
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,3 +1,16 @@
+2018-06-08  Adhemerval Zanella  <adhemerval.zanella@linaro.org>
+
+	[BZ #23264]
+	* include/unistd.h (__execvpex): New prototype.
+	* posix/Makefile (tests): Add tst-spawn4.
+	(tests-internal): Add tst-spawn4-compat.
+	* posix/execvpe.c (__execvpe_common, __execvpex): New functions.
+	* posix/tst-spawn4-compat.c: New file.
+	* posix/tst-spawn4.c: Likewise.
+	* sysdeps/unix/sysv/linux/spawni.c (__spawni): Do not interpret invalid
+	binaries as shell scripts.
+	* sysdeps/posix/spawni.c (__spawni): Likewise.
+
 2018-06-01  Florian Weimer  <fweimer@redhat.com>
 
 	[BZ #23236]
diff --git a/include/unistd.h b/include/unistd.h
index 0f91b8babc..a171b00326 100644
--- a/include/unistd.h
+++ b/include/unistd.h
@@ -77,6 +77,8 @@ extern char *__getcwd (char *__buf, size_t __size) attribute_hidden;
 extern int __rmdir (const char *__path) attribute_hidden;
 extern int __execvpe (const char *file, char *const argv[],
 		      char *const envp[]) attribute_hidden;
+extern int __execvpex (const char *file, char *const argv[],
+		       char *const envp[]) attribute_hidden;
 
 /* Get the canonical absolute name of the named directory, and put it in SIZE
    bytes of BUF.  Returns NULL if the directory couldn't be determined or
diff --git a/posix/Makefile b/posix/Makefile
index 83b3d7418c..0fb280ba69 100644
--- a/posix/Makefile
+++ b/posix/Makefile
@@ -95,10 +95,10 @@ tests		:= test-errno tstgetopt testfnm runtests runptests \
 		   tst-posix_spawn-fd tst-posix_spawn-setsid \
 		   tst-posix_fadvise tst-posix_fadvise64 \
 		   tst-sysconf-empty-chroot tst-glob_symlinks tst-fexecve \
-		   tst-glob-tilde
+		   tst-glob-tilde tst-spawn4
 tests-internal	:= bug-regex5 bug-regex20 bug-regex33 \
 		   tst-rfc3484 tst-rfc3484-2 tst-rfc3484-3 \
-		   tst-glob_lstat_compat
+		   tst-glob_lstat_compat tst-spawn4-compat
 xtests		:= bug-ga2 tst-getaddrinfo4 tst-getaddrinfo5
 ifeq (yes,$(build-shared))
 test-srcs	:= globtest
diff --git a/posix/execvpe.c b/posix/execvpe.c
index 859c0f69bf..ea67d19fcd 100644
--- a/posix/execvpe.c
+++ b/posix/execvpe.c
@@ -67,11 +67,9 @@ maybe_script_execute (const char *file, char *const argv[], char *const envp[])
   __execve (new_argv[0], new_argv, envp);
 }
 
-
-/* Execute FILE, searching in the `PATH' environment variable if it contains
-   no slashes, with arguments ARGV and environment from ENVP.  */
-int
-__execvpe (const char *file, char *const argv[], char *const envp[])
+static int
+__execvpe_common (const char *file, char *const argv[], char *const envp[],
+	          bool exec_script)
 {
   /* We check the simple case first. */
   if (*file == '\0')
@@ -85,7 +83,7 @@ __execvpe (const char *file, char *const argv[], char *const envp[])
     {
       __execve (file, argv, envp);
 
-      if (errno == ENOEXEC)
+      if (errno == ENOEXEC && exec_script)
         maybe_script_execute (file, argv, envp);
 
       return -1;
@@ -137,7 +135,7 @@ __execvpe (const char *file, char *const argv[], char *const envp[])
 
       __execve (buffer, argv, envp);
 
-      if (errno == ENOEXEC)
+      if (errno == ENOEXEC && exec_script)
         /* This has O(P*C) behavior, where P is the length of the path and C
            is the argument count.  A better strategy would be allocate the
            substitute argv and reuse it each time through the loop (so it
@@ -184,4 +182,18 @@ __execvpe (const char *file, char *const argv[], char *const envp[])
   return -1;
 }
 
+/* Execute FILE, searching in the `PATH' environment variable if it contains
+   no slashes, with arguments ARGV and environment from ENVP.  */
+int
+__execvpe (const char *file, char *const argv[], char *const envp[])
+{
+  return __execvpe_common (file, argv, envp, true);
+}
 weak_alias (__execvpe, execvpe)
+
+/* Same as __EXECVPE, but does not try to execute NOEXEC files.  */
+int
+__execvpex (const char *file, char *const argv[], char *const envp[])
+{
+  return __execvpe_common (file, argv, envp, false);
+}
diff --git a/posix/tst-spawn4-compat.c b/posix/tst-spawn4-compat.c
new file mode 100644
index 0000000000..11f654b913
--- /dev/null
+++ b/posix/tst-spawn4-compat.c
@@ -0,0 +1,77 @@
+/* Check if posix_spawn does handle correctly ENOEXEC files.
+   Copyright (C) 2018 Free Software Foundation, Inc.
+   This file is part of the GNU C Library.
+
+   The GNU C Library is free software; you can redistribute it and/or
+   modify it under the terms of the GNU Lesser General Public
+   License as published by the Free Software Foundation; either
+   version 2.1 of the License, or (at your option) any later version.
+
+   The GNU C Library is distributed in the hope that it will be useful,
+   but WITHOUT ANY WARRANTY; without even the implied warranty of
+   MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
+   Lesser General Public License for more details.
+
+   You should have received a copy of the GNU Lesser General Public
+   License along with the GNU C Library; if not, see
+   <http://www.gnu.org/licenses/>.  */
+
+#include <spawn.h>
+#include <errno.h>
+#include <unistd.h>
+#include <sys/stat.h>
+#include <sys/wait.h>
+
+#include <support/xunistd.h>
+#include <support/check.h>
+#include <support/temp_file.h>
+
+#include <shlib-compat.h>
+#if TEST_COMPAT (libc, GLIBC_2_0, GLIBC_2_15)
+
+compat_symbol_reference (libc, posix_spawn, posix_spawn, GLIBC_2_2);
+compat_symbol_reference (libc, posix_spawnp, posix_spawnp, GLIBC_2_2);
+
+static int
+do_test (void)
+{
+  char *scriptname;
+  int fd = create_temp_file ("tst-spawn4.", &scriptname);
+  TEST_VERIFY_EXIT (fd >= 0);
+
+  const char script[] = "exit 65";
+  xwrite (fd, script, sizeof (script) - 1);
+  xclose (fd);
+
+  TEST_VERIFY_EXIT (chmod (scriptname, 0x775) == 0);
+
+  pid_t pid;
+  int status;
+
+  /* For compat symbol it verifies that trying to issued a shell script
+     without a shebang is correctly executed.  */
+  status = posix_spawn (&pid, scriptname, NULL, NULL, (char *[]) { 0 },
+                        (char *[]) { 0 });
+  TEST_VERIFY_EXIT (status == 0);
+
+  TEST_VERIFY_EXIT (waitpid (pid, &status, 0) == pid);
+  TEST_VERIFY_EXIT (WIFEXITED (status) == 1 && WEXITSTATUS (status) == 65);
+
+  status = posix_spawnp (&pid, scriptname, NULL, NULL, (char *[]) { 0 },
+                         (char *[]) { 0 });
+  TEST_VERIFY_EXIT (status == 0);
+
+  TEST_VERIFY_EXIT (waitpid (pid, &status, 0) == pid);
+  TEST_VERIFY_EXIT (WIFEXITED (status) == 1 && WEXITSTATUS (status) == 65);
+
+  return 0;
+}
+#else
+static int
+do_test (void)
+{
+  return 77;
+}
+#endif
+
+#include <support/test-driver.c>
diff --git a/posix/tst-spawn4.c b/posix/tst-spawn4.c
new file mode 100644
index 0000000000..e4a1fa3f00
--- /dev/null
+++ b/posix/tst-spawn4.c
@@ -0,0 +1,56 @@
+/* Check if posix_spawn does handle correctly ENOEXEC files.
+   Copyright (C) 2018 Free Software Foundation, Inc.
+   This file is part of the GNU C Library.
+
+   The GNU C Library is free software; you can redistribute it and/or
+   modify it under the terms of the GNU Lesser General Public
+   License as published by the Free Software Foundation; either
+   version 2.1 of the License, or (at your option) any later version.
+
+   The GNU C Library is distributed in the hope that it will be useful,
+   but WITHOUT ANY WARRANTY; without even the implied warranty of
+   MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
+   Lesser General Public License for more details.
+
+   You should have received a copy of the GNU Lesser General Public
+   License along with the GNU C Library; if not, see
+   <http://www.gnu.org/licenses/>.  */
+
+#include <spawn.h>
+#include <errno.h>
+#include <unistd.h>
+#include <sys/stat.h>
+
+#include <support/xunistd.h>
+#include <support/check.h>
+#include <support/temp_file.h>
+
+static int
+do_test (void)
+{
+  char *scriptname;
+  int fd = create_temp_file ("tst-spawn4.", &scriptname);
+  TEST_VERIFY_EXIT (fd >= 0);
+
+  const char script[] = "echo it should not happen";
+  xwrite (fd, script, sizeof (script) - 1);
+  xclose (fd);
+
+  TEST_VERIFY_EXIT (chmod (scriptname, 0x775) == 0);
+
+  pid_t pid;
+  int status;
+
+  /* Check if scripts without shebang are correctly not executed.  */
+  status = posix_spawn (&pid, scriptname, NULL, NULL, (char *[]) { 0 },
+                        (char *[]) { 0 });
+  TEST_VERIFY_EXIT (status == ENOEXEC);
+
+  status = posix_spawnp (&pid, scriptname, NULL, NULL, (char *[]) { 0 },
+                         (char *[]) { 0 });
+  TEST_VERIFY_EXIT (status == ENOEXEC);
+
+  return 0;
+}
+
+#include <support/test-driver.c>
diff --git a/sysdeps/posix/spawni.c b/sysdeps/posix/spawni.c
index 36bb5b4f78..b138ab4393 100644
--- a/sysdeps/posix/spawni.c
+++ b/sysdeps/posix/spawni.c
@@ -310,6 +310,8 @@ __spawni (pid_t * pid, const char *file,
 	  const posix_spawnattr_t * attrp, char *const argv[],
 	  char *const envp[], int xflags)
 {
+  /* It uses __execvpex to avoid run ENOEXEC in non compatibility mode (it
+     will be handled by maybe_script_execute).  */
   return __spawnix (pid, file, acts, attrp, argv, envp, xflags,
-		    xflags & SPAWN_XFLAGS_USE_PATH ? __execvpe : __execve);
+		    xflags & SPAWN_XFLAGS_USE_PATH ? __execvpex : __execve);
 }
diff --git a/sysdeps/unix/sysv/linux/spawni.c b/sysdeps/unix/sysv/linux/spawni.c
index 6b699a46dd..32ab000560 100644
--- a/sysdeps/unix/sysv/linux/spawni.c
+++ b/sysdeps/unix/sysv/linux/spawni.c
@@ -404,6 +404,8 @@ __spawni (pid_t * pid, const char *file,
 	  const posix_spawnattr_t * attrp, char *const argv[],
 	  char *const envp[], int xflags)
 {
+  /* It uses __execvpex to avoid run ENOEXEC in non compatibility mode (it
+     will be handled by maybe_script_execute).  */
   return __spawnix (pid, file, acts, attrp, argv, envp, xflags,
-		    xflags & SPAWN_XFLAGS_USE_PATH ? __execvpe : __execve);
+		    xflags & SPAWN_XFLAGS_USE_PATH ? __execvpex :__execve);
 }

commit 4a871574351e40d298d65949426a502c0ecaffcc
Author: Adhemerval Zanella <adhemerval.zanella@linaro.org>
Date:   Fri Jun 8 18:14:46 2018 -0300

    Mention BZ#23264 in NEWS

diff --git a/ChangeLog b/ChangeLog
index c55c4ded13..e3593ef343 100644
--- a/ChangeLog
+++ b/ChangeLog
@@ -10,6 +10,7 @@
 	* sysdeps/unix/sysv/linux/spawni.c (__spawni): Do not interpret invalid
 	binaries as shell scripts.
 	* sysdeps/posix/spawni.c (__spawni): Likewise.
+	* NEWS: Add BZ#22264.
 
 2018-06-01  Florian Weimer  <fweimer@redhat.com>
 
diff --git a/NEWS b/NEWS
index 4c1dbda104..2443880321 100644
--- a/NEWS
+++ b/NEWS
@@ -63,6 +63,7 @@ The following bugs are resolved with this release:
   [23166] sunrpc: Remove stray exports without --enable-obsolete-rpc
   [23196] __mempcpy_avx512_no_vzeroupper mishandles large copies
   [23236] Harden function pointers in _IO_str_fields
+  [23264] libc: posix_spawnp wrongly executes ENOEXEC in non compat mode
 
 
 Version 2.27

commit 8308fb218267809caedc30908ce18b10a8524287
Author: Florian Weimer <fweimer@redhat.com>
Date:   Mon Jun 18 13:40:29 2018 +0200

    math: Update i686 ulps
    
    The results are from configuring with and without
    --disable-multi-arch,  building with “-march=x86-64 -mtune=generic
    -mfpmath=sse” and running the testsuite on a Haswell-era CPU.
    
    Slightly higher ulps are required than in master (commit
    e02c026f38505cd474ff1bdaa88fc671804f5805).

diff --git a/ChangeLog b/ChangeLog
index e3593ef343..101dc45263 100644
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,3 +1,9 @@
+2018-06-01  Florian Weimer  <fweimer@redhat.com>
+
+	* sysdeps/i386/i686/fpu/multiarch/libm-test-ulps: Update from master
+	branch, commit e02c026f38505cd474ff1bdaa88fc671804f5805.
+	* sysdeps/i386/fpu/libm-test-ulps: Likewise.
+
 2018-06-08  Adhemerval Zanella  <adhemerval.zanella@linaro.org>
 
 	[BZ #23264]
diff --git a/sysdeps/i386/fpu/libm-test-ulps b/sysdeps/i386/fpu/libm-test-ulps
index 862a74e09d..9d1c35c605 100644
--- a/sysdeps/i386/fpu/libm-test-ulps
+++ b/sysdeps/i386/fpu/libm-test-ulps
@@ -281,20 +281,20 @@ ldouble: 1
 
 Function: Real part of "cacos":
 double: 1
-float: 1
+float: 2
 float128: 2
 idouble: 1
-ifloat: 1
+ifloat: 2
 ifloat128: 2
 ildouble: 1
 ldouble: 1
 
 Function: Imaginary part of "cacos":
-double: 1
-float: 1
+double: 2
+float: 2
 float128: 2
-idouble: 1
-ifloat: 1
+idouble: 2
+ifloat: 2
 ifloat128: 2
 ildouble: 2
 ldouble: 2
@@ -360,21 +360,21 @@ ildouble: 7
 ldouble: 7
 
 Function: Real part of "cacosh":
-double: 1
-float: 1
+double: 2
+float: 2
 float128: 2
-idouble: 1
-ifloat: 1
+idouble: 2
+ifloat: 2
 ifloat128: 2
 ildouble: 2
 ldouble: 2
 
 Function: Imaginary part of "cacosh":
 double: 1
-float: 1
+float: 2
 float128: 2
 idouble: 1
-ifloat: 1
+ifloat: 2
 ifloat128: 2
 ildouble: 1
 ldouble: 1
@@ -420,10 +420,10 @@ ildouble: 2
 ldouble: 2
 
 Function: Real part of "cacosh_upward":
-double: 4
+double: 5
 float: 4
 float128: 6
-idouble: 4
+idouble: 5
 ifloat: 4
 ifloat128: 6
 ildouble: 5
@@ -488,11 +488,11 @@ ildouble: 1
 ldouble: 1
 
 Function: Imaginary part of "casin":
-double: 1
-float: 1
+double: 2
+float: 2
 float128: 2
-idouble: 1
-ifloat: 1
+idouble: 2
+ifloat: 2
 ifloat128: 2
 ildouble: 2
 ldouble: 2
@@ -558,11 +558,11 @@ ildouble: 7
 ldouble: 7
 
 Function: Real part of "casinh":
-double: 1
-float: 1
+double: 2
+float: 2
 float128: 2
-idouble: 1
-ifloat: 1
+idouble: 2
+ifloat: 2
 ifloat128: 2
 ildouble: 2
 ldouble: 2
@@ -774,11 +774,11 @@ ildouble: 1
 ldouble: 1
 
 Function: Real part of "catanh_upward":
-double: 2
-float: 2
+double: 4
+float: 4
 float128: 4
-idouble: 2
-ifloat: 2
+idouble: 4
+ifloat: 4
 ifloat128: 4
 ildouble: 4
 ldouble: 4
@@ -875,10 +875,10 @@ ldouble: 3
 
 Function: Real part of "ccos_towardzero":
 double: 1
-float: 1
+float: 2
 float128: 2
 idouble: 1
-ifloat: 1
+ifloat: 2
 ifloat128: 2
 ildouble: 3
 ldouble: 3
@@ -934,10 +934,10 @@ ildouble: 1
 ldouble: 1
 
 Function: Real part of "ccosh_downward":
-double: 1
+double: 2
 float: 2
 float128: 2
-idouble: 1
+idouble: 2
 ifloat: 2
 ifloat128: 2
 ildouble: 3
@@ -954,11 +954,11 @@ ildouble: 3
 ldouble: 3
 
 Function: Real part of "ccosh_towardzero":
-double: 1
-float: 2
+double: 2
+float: 3
 float128: 2
-idouble: 1
-ifloat: 2
+idouble: 2
+ifloat: 3
 ifloat128: 2
 ildouble: 3
 ldouble: 3
@@ -1075,10 +1075,10 @@ ldouble: 3
 
 Function: Real part of "clog":
 double: 2
-float: 1
+float: 3
 float128: 2
 idouble: 2
-ifloat: 1
+ifloat: 3
 ifloat128: 2
 ildouble: 3
 ldouble: 3
@@ -1092,79 +1092,81 @@ ildouble: 1
 ldouble: 1
 
 Function: Real part of "clog10":
-double: 2
-float: 2
+double: 3
+float: 4
 float128: 2
-idouble: 2
-ifloat: 2
+idouble: 3
+ifloat: 4
 ifloat128: 2
 ildouble: 4
 ldouble: 4
 
 Function: Imaginary part of "clog10":
-double: 1
+double: 2
+float: 1
 float128: 2
-idouble: 1
+idouble: 2
+ifloat: 1
 ifloat128: 2
 ildouble: 2
 ldouble: 2
 
 Function: Real part of "clog10_downward":
-double: 3
-float: 3
+double: 4
+float: 4
 float128: 3
-idouble: 3
-ifloat: 3
+idouble: 4
+ifloat: 4
 ifloat128: 3
 ildouble: 8
 ldouble: 8
 
 Function: Imaginary part of "clog10_downward":
-double: 1
-float: 1
+double: 2
+float: 2
 float128: 3
-idouble: 1
-ifloat: 1
+idouble: 2
+ifloat: 2
 ifloat128: 3
 ildouble: 3
 ldouble: 3
 
 Function: Real part of "clog10_towardzero":
-double: 3
-float: 3
+double: 5
+float: 5
 float128: 4
-idouble: 3
-ifloat: 3
+idouble: 5
+ifloat: 5
 ifloat128: 4
 ildouble: 8
 ldouble: 8
 
 Function: Imaginary part of "clog10_towardzero":
-double: 1
-float: 1
+double: 2
+float: 2
 float128: 3
-idouble: 1
-ifloat: 1
+idouble: 2
+ifloat: 2
 ifloat128: 3
 ildouble: 3
 ldouble: 3
 
 Function: Real part of "clog10_upward":
-double: 3
-float: 3
+double: 4
+float: 5
 float128: 4
-idouble: 3
-ifloat: 3
+idouble: 4
+ifloat: 5
 ifloat128: 4
 ildouble: 7
 ldouble: 7
 
 Function: Imaginary part of "clog10_upward":
-double: 1
-float: 1
+double: 2
+float: 2
 float128: 3
-idouble: 1
-ifloat: 1
+idouble: 2
+ifloat: 2
 ifloat128: 3
 ildouble: 3
 ldouble: 3
@@ -1191,10 +1193,10 @@ ldouble: 1
 
 Function: Real part of "clog_towardzero":
 double: 3
-float: 3
+float: 4
 float128: 3
 idouble: 3
-ifloat: 3
+ifloat: 4
 ifloat128: 3
 ildouble: 5
 ldouble: 5
@@ -1230,8 +1232,10 @@ ildouble: 1
 ldouble: 1
 
 Function: "cos":
+double: 1
 float: 1
 float128: 1
+idouble: 1
 ifloat: 1
 ifloat128: 1
 ildouble: 1
@@ -1462,7 +1466,9 @@ ildouble: 2
 ldouble: 2
 
 Function: Real part of "csinh":
+float: 1
 float128: 1
+ifloat: 1
 ifloat128: 1
 ildouble: 1
 ldouble: 1
@@ -1478,10 +1484,10 @@ ildouble: 1
 ldouble: 1
 
 Function: Real part of "csinh_downward":
-double: 1
+double: 2
 float: 1
 float128: 2
-idouble: 1
+idouble: 2
 ifloat: 1
 ifloat128: 2
 ildouble: 3
@@ -1498,11 +1504,11 @@ ildouble: 3
 ldouble: 3
 
 Function: Real part of "csinh_towardzero":
-double: 1
-float: 1
+double: 2
+float: 2
 float128: 2
-idouble: 1
-ifloat: 1
+idouble: 2
+ifloat: 2
 ifloat128: 2
 ildouble: 3
 ldouble: 3
@@ -1538,79 +1544,81 @@ ildouble: 2
 ldouble: 2
 
 Function: Real part of "csqrt":
-double: 1
+double: 2
+float: 2
 float128: 2
-idouble: 1
+idouble: 2
+ifloat: 2
 ifloat128: 2
 ildouble: 2
 ldouble: 2
 
 Function: Imaginary part of "csqrt":
-double: 1
-float: 1
+double: 2
+float: 2
 float128: 2
-idouble: 1
-ifloat: 1
+idouble: 2
+ifloat: 2
 ifloat128: 2
 ildouble: 2
 ldouble: 2
 
 Function: Real part of "csqrt_downward":
-double: 1
-float: 1
+double: 4
+float: 4
 float128: 4
-idouble: 1
-ifloat: 1
+idouble: 4
+ifloat: 4
 ifloat128: 4
 ildouble: 5
 ldouble: 5
 
 Function: Imaginary part of "csqrt_downward":
-double: 1
-float: 1
+double: 3
+float: 3
 float128: 3
-idouble: 1
-ifloat: 1
+idouble: 3
+ifloat: 3
 ifloat128: 3
 ildouble: 4
 ldouble: 4
 
 Function: Real part of "csqrt_towardzero":
-double: 1
-float: 1
+double: 3
+float: 3
 float128: 3
-idouble: 1
-ifloat: 1
+idouble: 3
+ifloat: 3
 ifloat128: 3
 ildouble: 4
 ldouble: 4
 
 Function: Imaginary part of "csqrt_towardzero":
-double: 1
-float: 1
+double: 3
+float: 3
 float128: 3
-idouble: 1
-ifloat: 1
+idouble: 3
+ifloat: 3
 ifloat128: 3
 ildouble: 4
 ldouble: 4
 
 Function: Real part of "csqrt_upward":
-double: 1
-float: 1
+double: 4
+float: 4
 float128: 4
-idouble: 1
-ifloat: 1
+idouble: 4
+ifloat: 4
 ifloat128: 4
 ildouble: 5
 ldouble: 5
 
 Function: Imaginary part of "csqrt_upward":
-double: 1
-float: 2
+double: 3
+float: 3
 float128: 3
-idouble: 1
-ifloat: 2
+idouble: 3
+ifloat: 3
 ifloat128: 3
 ildouble: 4
 ldouble: 4
@@ -1626,21 +1634,21 @@ ildouble: 2
 ldouble: 2
 
 Function: Imaginary part of "ctan":
-double: 1
-float: 1
+double: 2
+float: 2
 float128: 3
-idouble: 1
-ifloat: 1
+idouble: 2
+ifloat: 2
 ifloat128: 3
 ildouble: 1
 ldouble: 1
 
 Function: Real part of "ctan_downward":
-double: 1
-float: 2
+double: 6
+float: 5
 float128: 4
-idouble: 1
-ifloat: 2
+idouble: 6
+ifloat: 5
 ifloat128: 4
 ildouble: 5
 ldouble: 5
@@ -1656,11 +1664,11 @@ ildouble: 4
 ldouble: 4
 
 Function: Real part of "ctan_towardzero":
-double: 3
-float: 2
+double: 5
+float: 3
 float128: 4
-idouble: 3
-ifloat: 2
+idouble: 5
+ifloat: 3
 ifloat128: 4
 ildouble: 5
 ldouble: 5
@@ -1677,10 +1685,10 @@ ldouble: 4
 
 Function: Real part of "ctan_upward":
 double: 3
-float: 2
+float: 4
 float128: 5
 idouble: 3
-ifloat: 2
+ifloat: 4
 ifloat128: 5
 ildouble: 3
 ldouble: 3
@@ -1696,21 +1704,21 @@ ildouble: 3
 ldouble: 3
 
 Function: Real part of "ctanh":
-double: 1
-float: 1
+double: 2
+float: 2
 float128: 3
-idouble: 1
-ifloat: 1
+idouble: 2
+ifloat: 2
 ifloat128: 3
 ildouble: 1
 ldouble: 1
 
 Function: Imaginary part of "ctanh":
-double: 1
-float: 1
+double: 2
+float: 2
 float128: 3
-idouble: 1
-ifloat: 1
+idouble: 2
+ifloat: 2
 ifloat128: 3
 ildouble: 2
 ldouble: 2
@@ -1726,11 +1734,11 @@ ildouble: 4
 ldouble: 4
 
 Function: Imaginary part of "ctanh_downward":
-double: 2
-float: 1
+double: 6
+float: 5
 float128: 4
-idouble: 2
-ifloat: 1
+idouble: 6
+ifloat: 5
 ifloat128: 4
 ildouble: 4
 ldouble: 4
@@ -1746,31 +1754,31 @@ ildouble: 4
 ldouble: 4
 
 Function: Imaginary part of "ctanh_towardzero":
-double: 2
-float: 2
+double: 5
+float: 3
 float128: 3
-idouble: 2
-ifloat: 2
+idouble: 5
+ifloat: 3
 ifloat128: 3
 ildouble: 3
 ldouble: 3
 
 Function: Real part of "ctanh_upward":
 double: 2
-float: 1
+float: 2
 float128: 5
 idouble: 2
-ifloat: 1
+ifloat: 2
 ifloat128: 5
 ildouble: 3
 ldouble: 3
 
 Function: Imaginary part of "ctanh_upward":
 double: 3
-float: 2
+float: 3
 float128: 5
 idouble: 3
-ifloat: 2
+ifloat: 3
 ifloat128: 5
 ildouble: 3
 ldouble: 3
@@ -1816,41 +1824,41 @@ ildouble: 1
 ldouble: 1
 
 Function: "erfc":
-double: 1
-float: 1
+double: 3
+float: 2
 float128: 2
-idouble: 1
-ifloat: 1
+idouble: 3
+ifloat: 2
 ifloat128: 2
 ildouble: 3
 ldouble: 3
 
 Function: "erfc_downward":
-double: 2
-float: 3
+double: 5
+float: 6
 float128: 5
-idouble: 2
-ifloat: 3
+idouble: 5
+ifloat: 6
 ifloat128: 5
 ildouble: 4
 ldouble: 4
 
 Function: "erfc_towardzero":
-double: 2
-float: 2
+double: 3
+float: 4
 float128: 4
-idouble: 2
-ifloat: 2
+idouble: 3
+ifloat: 4
 ifloat128: 4
 ildouble: 4
 ldouble: 4
 
 Function: "erfc_upward":
-double: 2
-float: 3
+double: 5
+float: 6
 float128: 5
-idouble: 2
-ifloat: 3
+idouble: 5
+ifloat: 6
 ifloat128: 5
 ildouble: 5
 ldouble: 5
@@ -1994,34 +2002,34 @@ ildouble: 4
 ldouble: 4
 
 Function: "gamma":
-double: 3
+double: 4
 float: 3
-idouble: 3
+idouble: 4
 ifloat: 3
 ildouble: 4
 ldouble: 4
 
 Function: "gamma_downward":
-double: 4
+double: 5
 float: 5
-idouble: 4
+idouble: 5
 ifloat: 5
 ildouble: 7
 ldouble: 7
 
 Function: "gamma_towardzero":
-double: 4
-float: 3
-idouble: 4
-ifloat: 3
+double: 5
+float: 4
+idouble: 5
+ifloat: 4
 ildouble: 7
 ldouble: 7
 
 Function: "gamma_upward":
-double: 3
-float: 4
-idouble: 3
-ifloat: 4
+double: 5
+float: 5
+idouble: 5
+ifloat: 5
 ildouble: 5
 ldouble: 5
 
@@ -2059,39 +2067,39 @@ ldouble: 1
 
 Function: "j0":
 double: 2
-float: 1
+float: 2
 float128: 2
 idouble: 2
-ifloat: 1
+ifloat: 2
 ifloat128: 2
 ildouble: 2
 ldouble: 2
 
 Function: "j0_downward":
-double: 1
-float: 3
+double: 2
+float: 4
 float128: 4
-idouble: 1
-ifloat: 3
+idouble: 2
+ifloat: 4
 ifloat128: 4
 ildouble: 4
 ldouble: 4
 
 Function: "j0_towardzero":
-double: 2
-float: 1
+double: 3
+float: 2
 float128: 2
-idouble: 2
-ifloat: 1
+idouble: 3
+ifloat: 2
 ifloat128: 2
 ildouble: 5
 ldouble: 5
 
 Function: "j0_upward":
-double: 2
+double: 3
 float: 3
 float128: 5
-idouble: 2
+idouble: 3
 ifloat: 3
 ifloat128: 5
 ildouble: 4
@@ -2108,111 +2116,111 @@ ildouble: 1
 ldouble: 1
 
 Function: "j1_downward":
-double: 2
-float: 2
+double: 3
+float: 3
 float128: 4
-idouble: 2
-ifloat: 2
+idouble: 3
+ifloat: 3
 ifloat128: 4
 ildouble: 4
 ldouble: 4
 
 Function: "j1_towardzero":
-double: 2
+double: 3
 float: 2
 float128: 4
-idouble: 2
+idouble: 3
 ifloat: 2
 ifloat128: 4
 ildouble: 4
 ldouble: 4
 
 Function: "j1_upward":
-double: 2
-float: 3
+double: 3
+float: 5
 float128: 3
-idouble: 2
-ifloat: 3
+idouble: 3
+ifloat: 5
 ifloat128: 3
 ildouble: 3
 ldouble: 3
 
 Function: "jn":
-double: 2
-float: 3
+double: 4
+float: 4
 float128: 7
-idouble: 2
-ifloat: 3
+idouble: 4
+ifloat: 4
 ifloat128: 7
 ildouble: 4
 ldouble: 4
 
 Function: "jn_downward":
-double: 2
-float: 3
+double: 5
+float: 5
 float128: 8
-idouble: 2
-ifloat: 3
+idouble: 5
+ifloat: 5
 ifloat128: 8
 ildouble: 4
 ldouble: 4
 
 Function: "jn_towardzero":
-double: 2
-float: 3
+double: 5
+float: 5
 float128: 8
-idouble: 2
-ifloat: 3
+idouble: 5
+ifloat: 5
 ifloat128: 8
 ildouble: 5
 ldouble: 5
 
 Function: "jn_upward":
-double: 2
-float: 3
+double: 5
+float: 5
 float128: 7
-idouble: 2
-ifloat: 3
+idouble: 5
+ifloat: 5
 ifloat128: 7
 ildouble: 5
 ldouble: 5
 
 Function: "lgamma":
-double: 3
+double: 4
 float: 3
 float128: 5
-idouble: 3
+idouble: 4
 ifloat: 3
 ifloat128: 5
 ildouble: 4
 ldouble: 4
 
 Function: "lgamma_downward":
-double: 4
+double: 5
 float: 5
 float128: 8
-idouble: 4
+idouble: 5
 ifloat: 5
 ifloat128: 8
 ildouble: 7
 ldouble: 7
 
 Function: "lgamma_towardzero":
-double: 4
-float: 3
+double: 5
+float: 4
 float128: 5
-idouble: 4
-ifloat: 3
+idouble: 5
+ifloat: 4
 ifloat128: 5
 ildouble: 7
 ldouble: 7
 
 Function: "lgamma_upward":
-double: 3
-float: 4
+double: 5
+float: 5
 float128: 8
-idouble: 3
-ifloat: 4
+idouble: 5
+ifloat: 5
 ifloat128: 8
 ildouble: 5
 ldouble: 5
@@ -2402,8 +2410,10 @@ ildouble: 4
 ldouble: 4
 
 Function: "sin":
+double: 1
 float: 1
 float128: 1
+idouble: 1
 ifloat: 1
 ifloat128: 1
 ildouble: 1
@@ -2440,8 +2450,10 @@ ildouble: 3
 ldouble: 3
 
 Function: "sincos":
+double: 1
 float: 1
 float128: 1
+idouble: 1
 ifloat: 1
 ifloat128: 1
 ildouble: 1
@@ -2478,39 +2490,41 @@ ildouble: 3
 ldouble: 3
 
 Function: "sinh":
-double: 1
+double: 2
+float: 2
 float128: 2
-idouble: 1
+idouble: 2
+ifloat: 2
 ifloat128: 2
 ildouble: 2
 ldouble: 2
 
 Function: "sinh_downward":
-double: 2
-float: 1
+double: 3
+float: 3
 float128: 3
-idouble: 2
-ifloat: 1
+idouble: 3
+ifloat: 3
 ifloat128: 3
 ildouble: 5
 ldouble: 5
 
 Function: "sinh_towardzero":
 double: 2
-float: 1
+float: 2
 float128: 3
 idouble: 2
-ifloat: 1
+ifloat: 2
 ifloat128: 3
 ildouble: 4
 ldouble: 4
 
 Function: "sinh_upward":
 double: 4
-float: 2
+float: 3
 float128: 4
 idouble: 4
-ifloat: 2
+ifloat: 3
 ifloat128: 4
 ildouble: 5
 ldouble: 5
@@ -2554,199 +2568,201 @@ ildouble: 2
 ldouble: 2
 
 Function: "tanh":
-double: 1
+double: 2
+float: 2
 float128: 2
-idouble: 1
+idouble: 2
+ifloat: 2
 ifloat128: 2
 ildouble: 3
 ldouble: 3
 
 Function: "tanh_downward":
-double: 1
-float: 1
+double: 3
+float: 3
 float128: 4
-idouble: 1
-ifloat: 1
+idouble: 3
+ifloat: 3
 ifloat128: 4
 ildouble: 7
 ldouble: 4
 
 Function: "tanh_towardzero":
-double: 1
-float: 1
+double: 2
+float: 2
 float128: 3
-idouble: 1
-ifloat: 1
+idouble: 2
+ifloat: 2
 ifloat128: 3
 ildouble: 3
 ldouble: 3
 
 Function: "tanh_upward":
-double: 1
-float: 1
+double: 3
+float: 3
 float128: 3
-idouble: 1
-ifloat: 1
+idouble: 3
+ifloat: 3
 ifloat128: 3
 ildouble: 5
 ldouble: 4
 
 Function: "tgamma":
-double: 3
-float: 3
+double: 5
+float: 4
 float128: 4
-idouble: 3
-ifloat: 3
+idouble: 5
+ifloat: 4
 ifloat128: 4
 ildouble: 5
 ldouble: 5
 
 Function: "tgamma_downward":
-double: 3
-float: 3
+double: 6
+float: 5
 float128: 5
-idouble: 3
-ifloat: 3
+idouble: 6
+ifloat: 5
 ifloat128: 5
 ildouble: 5
 ldouble: 5
 
 Function: "tgamma_towardzero":
-double: 3
-float: 3
+double: 6
+float: 4
 float128: 5
-idouble: 3
-ifloat: 3
+idouble: 6
+ifloat: 4
 ifloat128: 5
 ildouble: 5
 ldouble: 5
 
 Function: "tgamma_upward":
-double: 3
-float: 3
+double: 5
+float: 4
 float128: 4
-idouble: 3
-ifloat: 3
+idouble: 5
+ifloat: 4
 ifloat128: 4
 ildouble: 5
 ldouble: 5
 
 Function: "y0":
-double: 1
+double: 2
 float: 1
 float128: 3
-idouble: 1
+idouble: 2
 ifloat: 1
 ifloat128: 3
 ildouble: 1
 ldouble: 1
 
 Function: "y0_downward":
-double: 2
-float: 3
+double: 3
+float: 4
 float128: 4
-idouble: 2
-ifloat: 3
+idouble: 3
+ifloat: 4
 ifloat128: 4
 ildouble: 5
 ldouble: 5
 
 Function: "y0_towardzero":
-double: 2
+double: 3
 float: 3
 float128: 3
-idouble: 2
+idouble: 3
 ifloat: 3
 ifloat128: 3
 ildouble: 5
 ldouble: 5
 
 Function: "y0_upward":
-double: 1
-float: 3
+double: 3
+float: 5
 float128: 3
-idouble: 1
-ifloat: 3
+idouble: 3
+ifloat: 5
 ifloat128: 3
 ildouble: 3
 ldouble: 3
 
 Function: "y1":
-double: 2
+double: 3
 float: 2
 float128: 2
-idouble: 2
+idouble: 3
 ifloat: 2
 ifloat128: 2
 ildouble: 2
 ldouble: 2
 
 Function: "y1_downward":
-double: 2
+double: 3
 float: 3
 float128: 4
-idouble: 2
+idouble: 3
 ifloat: 3
 ifloat128: 4
 ildouble: 7
 ldouble: 7
 
 Function: "y1_towardzero":
-double: 2
+double: 3
 float: 3
 float128: 2
-idouble: 2
+idouble: 3
 ifloat: 3
 ifloat128: 2
 ildouble: 5
 ldouble: 5
 
 Function: "y1_upward":
-double: 1
+double: 7
 float: 3
 float128: 5
-idouble: 1
+idouble: 7
 ifloat: 3
 ifloat128: 5
 ildouble: 7
 ldouble: 7
 
 Function: "yn":
-double: 2
+double: 3
 float: 3
 float128: 5
-idouble: 2
+idouble: 3
 ifloat: 3
 ifloat128: 5
 ildouble: 4
 ldouble: 4
 
 Function: "yn_downward":
-double: 2
-float: 3
+double: 3
+float: 4
 float128: 5
-idouble: 2
-ifloat: 3
+idouble: 3
+ifloat: 4
 ifloat128: 5
 ildouble: 5
 ldouble: 5
 
 Function: "yn_towardzero":
 double: 3
-float: 3
+float: 4
 float128: 5
 idouble: 3
-ifloat: 3
+ifloat: 4
 ifloat128: 5
 ildouble: 5
 ldouble: 5
 
 Function: "yn_upward":
-double: 3
-float: 3
+double: 4
+float: 5
 float128: 5
-idouble: 3
-ifloat: 3
+idouble: 4
+ifloat: 5
 ifloat128: 5
 ildouble: 4
 ldouble: 4
diff --git a/sysdeps/i386/i686/fpu/multiarch/libm-test-ulps b/sysdeps/i386/i686/fpu/multiarch/libm-test-ulps
index 8a862ef2eb..1bc39f47e8 100644
--- a/sysdeps/i386/i686/fpu/multiarch/libm-test-ulps
+++ b/sysdeps/i386/i686/fpu/multiarch/libm-test-ulps
@@ -281,20 +281,20 @@ ldouble: 1
 
 Function: Real part of "cacos":
 double: 1
-float: 1
+float: 2
 float128: 2
 idouble: 1
-ifloat: 1
+ifloat: 2
 ifloat128: 2
 ildouble: 1
 ldouble: 1
 
 Function: Imaginary part of "cacos":
-double: 1
-float: 1
+double: 2
+float: 2
 float128: 2
-idouble: 1
-ifloat: 1
+idouble: 2
+ifloat: 2
 ifloat128: 2
 ildouble: 2
 ldouble: 2
@@ -360,21 +360,21 @@ ildouble: 7
 ldouble: 7
 
 Function: Real part of "cacosh":
-double: 1
-float: 1
+double: 2
+float: 2
 float128: 2
-idouble: 1
-ifloat: 1
+idouble: 2
+ifloat: 2
 ifloat128: 2
 ildouble: 2
 ldouble: 2
 
 Function: Imaginary part of "cacosh":
 double: 1
-float: 1
+float: 2
 float128: 2
 idouble: 1
-ifloat: 1
+ifloat: 2
 ifloat128: 2
 ildouble: 1
 ldouble: 1
@@ -420,10 +420,10 @@ ildouble: 2
 ldouble: 2
 
 Function: Real part of "cacosh_upward":
-double: 4
+double: 5
 float: 4
 float128: 6
-idouble: 4
+idouble: 5
 ifloat: 4
 ifloat128: 6
 ildouble: 5
@@ -488,11 +488,11 @@ ildouble: 1
 ldouble: 1
 
 Function: Imaginary part of "casin":
-double: 1
-float: 1
+double: 2
+float: 2
 float128: 2
-idouble: 1
-ifloat: 1
+idouble: 2
+ifloat: 2
 ifloat128: 2
 ildouble: 2
 ldouble: 2
@@ -558,11 +558,11 @@ ildouble: 7
 ldouble: 7
 
 Function: Real part of "casinh":
-double: 1
-float: 1
+double: 2
+float: 2
 float128: 2
-idouble: 1
-ifloat: 1
+idouble: 2
+ifloat: 2
 ifloat128: 2
 ildouble: 2
 ldouble: 2
@@ -774,11 +774,11 @@ ildouble: 1
 ldouble: 1
 
 Function: Real part of "catanh_upward":
-double: 2
-float: 2
+double: 4
+float: 4
 float128: 4
-idouble: 2
-ifloat: 2
+idouble: 4
+ifloat: 4
 ifloat128: 4
 ildouble: 4
 ldouble: 4
@@ -875,10 +875,10 @@ ldouble: 3
 
 Function: Real part of "ccos_towardzero":
 double: 1
-float: 1
+float: 2
 float128: 2
 idouble: 1
-ifloat: 1
+ifloat: 2
 ifloat128: 2
 ildouble: 3
 ldouble: 3
@@ -934,10 +934,10 @@ ildouble: 1
 ldouble: 1
 
 Function: Real part of "ccosh_downward":
-double: 1
+double: 2
 float: 2
 float128: 2
-idouble: 1
+idouble: 2
 ifloat: 2
 ifloat128: 2
 ildouble: 3
@@ -954,11 +954,11 @@ ildouble: 3
 ldouble: 3
 
 Function: Real part of "ccosh_towardzero":
-double: 1
-float: 2
+double: 2
+float: 3
 float128: 2
-idouble: 1
-ifloat: 2
+idouble: 2
+ifloat: 3
 ifloat128: 2
 ildouble: 3
 ldouble: 3
@@ -1075,10 +1075,10 @@ ldouble: 3
 
 Function: Real part of "clog":
 double: 2
-float: 1
+float: 3
 float128: 2
 idouble: 2
-ifloat: 1
+ifloat: 3
 ifloat128: 2
 ildouble: 3
 ldouble: 3
@@ -1092,79 +1092,81 @@ ildouble: 1
 ldouble: 1
 
 Function: Real part of "clog10":
-double: 2
-float: 2
+double: 3
+float: 4
 float128: 2
-idouble: 2
-ifloat: 2
+idouble: 3
+ifloat: 4
 ifloat128: 2
 ildouble: 4
 ldouble: 4
 
 Function: Imaginary part of "clog10":
-double: 1
+double: 2
+float: 1
 float128: 2
-idouble: 1
+idouble: 2
+ifloat: 1
 ifloat128: 2
 ildouble: 2
 ldouble: 2
 
 Function: Real part of "clog10_downward":
-double: 3
-float: 3
+double: 4
+float: 4
 float128: 3
-idouble: 3
-ifloat: 3
+idouble: 4
+ifloat: 4
 ifloat128: 3
 ildouble: 8
 ldouble: 8
 
 Function: Imaginary part of "clog10_downward":
-double: 1
-float: 1
+double: 2
+float: 2
 float128: 3
-idouble: 1
-ifloat: 1
+idouble: 2
+ifloat: 2
 ifloat128: 3
 ildouble: 3
 ldouble: 3
 
 Function: Real part of "clog10_towardzero":
-double: 3
-float: 3
+double: 5
+float: 5
 float128: 4
-idouble: 3
-ifloat: 3
+idouble: 5
+ifloat: 5
 ifloat128: 4
 ildouble: 8
 ldouble: 8
 
 Function: Imaginary part of "clog10_towardzero":
-double: 1
-float: 1
+double: 2
+float: 2
 float128: 3
-idouble: 1
-ifloat: 1
+idouble: 2
+ifloat: 2
 ifloat128: 3
 ildouble: 3
 ldouble: 3
 
 Function: Real part of "clog10_upward":
-double: 3
-float: 3
+double: 4
+float: 5
 float128: 4
-idouble: 3
-ifloat: 3
+idouble: 4
+ifloat: 5
 ifloat128: 4
 ildouble: 8
 ldouble: 8
 
 Function: Imaginary part of "clog10_upward":
-double: 1
-float: 1
+double: 2
+float: 2
 float128: 3
-idouble: 1
-ifloat: 1
+idouble: 2
+ifloat: 2
 ifloat128: 3
 ildouble: 3
 ldouble: 3
@@ -1191,10 +1193,10 @@ ldouble: 1
 
 Function: Real part of "clog_towardzero":
 double: 3
-float: 3
+float: 4
 float128: 3
 idouble: 3
-ifloat: 3
+ifloat: 4
 ifloat128: 3
 ildouble: 5
 ldouble: 5
@@ -1230,7 +1232,9 @@ ildouble: 1
 ldouble: 1
 
 Function: "cos":
+double: 1
 float128: 1
+idouble: 1
 ifloat128: 1
 ildouble: 1
 ldouble: 1
@@ -1478,10 +1482,10 @@ ildouble: 1
 ldouble: 1
 
 Function: Real part of "csinh_downward":
-double: 1
+double: 2
 float: 2
 float128: 2
-idouble: 1
+idouble: 2
 ifloat: 2
 ifloat128: 2
 ildouble: 3
@@ -1498,10 +1502,10 @@ ildouble: 3
 ldouble: 3
 
 Function: Real part of "csinh_towardzero":
-double: 1
+double: 2
 float: 2
 float128: 2
-idouble: 1
+idouble: 2
 ifloat: 2
 ifloat128: 2
 ildouble: 3
@@ -1538,79 +1542,81 @@ ildouble: 3
 ldouble: 3
 
 Function: Real part of "csqrt":
-double: 1
+double: 2
+float: 2
 float128: 2
-idouble: 1
+idouble: 2
+ifloat: 2
 ifloat128: 2
 ildouble: 2
 ldouble: 2
 
 Function: Imaginary part of "csqrt":
-double: 1
-float: 1
+double: 2
+float: 2
 float128: 2
-idouble: 1
-ifloat: 1
+idouble: 2
+ifloat: 2
 ifloat128: 2
 ildouble: 2
 ldouble: 2
 
 Function: Real part of "csqrt_downward":
-double: 1
-float: 1
+double: 4
+float: 4
 float128: 4
-idouble: 1
-ifloat: 1
+idouble: 4
+ifloat: 4
 ifloat128: 4
 ildouble: 5
 ldouble: 5
 
 Function: Imaginary part of "csqrt_downward":
-double: 1
-float: 1
+double: 3
+float: 3
 float128: 3
-idouble: 1
-ifloat: 1
+idouble: 3
+ifloat: 3
 ifloat128: 3
 ildouble: 4
 ldouble: 4
 
 Function: Real part of "csqrt_towardzero":
-double: 1
-float: 1
+double: 3
+float: 3
 float128: 3
-idouble: 1
-ifloat: 1
+idouble: 3
+ifloat: 3
 ifloat128: 3
 ildouble: 4
 ldouble: 4
 
 Function: Imaginary part of "csqrt_towardzero":
-double: 1
-float: 1
+double: 3
+float: 3
 float128: 3
-idouble: 1
-ifloat: 1
+idouble: 3
+ifloat: 3
 ifloat128: 3
 ildouble: 4
 ldouble: 4
 
 Function: Real part of "csqrt_upward":
-double: 1
-float: 1
+double: 4
+float: 4
 float128: 4
-idouble: 1
-ifloat: 1
+idouble: 4
+ifloat: 4
 ifloat128: 4
 ildouble: 5
 ldouble: 5
 
 Function: Imaginary part of "csqrt_upward":
-double: 1
-float: 2
+double: 3
+float: 3
 float128: 3
-idouble: 1
-ifloat: 2
+idouble: 3
+ifloat: 3
 ifloat128: 3
 ildouble: 4
 ldouble: 4
@@ -1626,21 +1632,21 @@ ildouble: 2
 ldouble: 2
 
 Function: Imaginary part of "ctan":
-double: 1
-float: 1
+double: 2
+float: 2
 float128: 3
-idouble: 1
-ifloat: 1
+idouble: 2
+ifloat: 2
 ifloat128: 3
 ildouble: 1
 ldouble: 1
 
 Function: Real part of "ctan_downward":
-double: 1
-float: 2
+double: 6
+float: 5
 float128: 4
-idouble: 1
-ifloat: 2
+idouble: 6
+ifloat: 5
 ifloat128: 4
 ildouble: 5
 ldouble: 5
@@ -1656,31 +1662,31 @@ ildouble: 4
 ldouble: 4
 
 Function: Real part of "ctan_towardzero":
-double: 3
-float: 1
+double: 5
+float: 3
 float128: 4
-idouble: 3
-ifloat: 1
+idouble: 5
+ifloat: 3
 ifloat128: 4
 ildouble: 5
 ldouble: 5
 
 Function: Imaginary part of "ctan_towardzero":
 double: 2
-float: 1
+float: 2
 float128: 5
 idouble: 2
-ifloat: 1
+ifloat: 2
 ifloat128: 5
 ildouble: 4
 ldouble: 4
 
 Function: Real part of "ctan_upward":
 double: 3
-float: 2
+float: 4
 float128: 5
 idouble: 3
-ifloat: 2
+ifloat: 4
 ifloat128: 5
 ildouble: 3
 ldouble: 3
@@ -1696,21 +1702,21 @@ ildouble: 3
 ldouble: 3
 
 Function: Real part of "ctanh":
-double: 1
-float: 1
+double: 2
+float: 2
 float128: 3
-idouble: 1
-ifloat: 1
+idouble: 2
+ifloat: 2
 ifloat128: 3
 ildouble: 1
 ldouble: 1
 
 Function: Imaginary part of "ctanh":
-double: 1
-float: 1
+double: 2
+float: 2
 float128: 3
-idouble: 1
-ifloat: 1
+idouble: 2
+ifloat: 2
 ifloat128: 3
 ildouble: 2
 ldouble: 2
@@ -1726,51 +1732,51 @@ ildouble: 4
 ldouble: 4
 
 Function: Imaginary part of "ctanh_downward":
-double: 2
-float: 1
+double: 6
+float: 5
 float128: 4
-idouble: 2
-ifloat: 1
+idouble: 6
+ifloat: 5
 ifloat128: 4
 ildouble: 4
 ldouble: 4
 
 Function: Real part of "ctanh_towardzero":
 double: 2
-float: 1
+float: 2
 float128: 5
 idouble: 2
-ifloat: 1
+ifloat: 2
 ifloat128: 5
 ildouble: 4
 ldouble: 4
 
 Function: Imaginary part of "ctanh_towardzero":
-double: 2
-float: 1
+double: 5
+float: 3
 float128: 3
-idouble: 2
-ifloat: 1
+idouble: 5
+ifloat: 3
 ifloat128: 3
 ildouble: 3
 ldouble: 3
 
 Function: Real part of "ctanh_upward":
 double: 2
-float: 1
+float: 2
 float128: 5
 idouble: 2
-ifloat: 1
+ifloat: 2
 ifloat128: 5
 ildouble: 3
 ldouble: 3
 
 Function: Imaginary part of "ctanh_upward":
 double: 3
-float: 2
+float: 3
 float128: 5
 idouble: 3
-ifloat: 2
+ifloat: 3
 ifloat128: 5
 ildouble: 3
 ldouble: 3
@@ -1816,41 +1822,41 @@ ildouble: 1
 ldouble: 1
 
 Function: "erfc":
-double: 1
-float: 1
+double: 3
+float: 2
 float128: 2
-idouble: 1
-ifloat: 1
+idouble: 3
+ifloat: 2
 ifloat128: 2
 ildouble: 3
 ldouble: 3
 
 Function: "erfc_downward":
-double: 2
-float: 3
+double: 5
+float: 6
 float128: 5
-idouble: 2
-ifloat: 3
+idouble: 5
+ifloat: 6
 ifloat128: 5
 ildouble: 4
 ldouble: 4
 
 Function: "erfc_towardzero":
-double: 2
-float: 2
+double: 3
+float: 4
 float128: 4
-idouble: 2
-ifloat: 2
+idouble: 3
+ifloat: 4
 ifloat128: 4
 ildouble: 4
 ldouble: 4
 
 Function: "erfc_upward":
-double: 2
-float: 3
+double: 5
+float: 6
 float128: 5
-idouble: 2
-ifloat: 3
+idouble: 5
+ifloat: 6
 ifloat128: 5
 ildouble: 5
 ldouble: 5
@@ -1994,34 +2000,34 @@ ildouble: 4
 ldouble: 4
 
 Function: "gamma":
-double: 3
+double: 4
 float: 3
-idouble: 3
+idouble: 4
 ifloat: 3
 ildouble: 4
 ldouble: 4
 
 Function: "gamma_downward":
-double: 4
+double: 5
 float: 5
-idouble: 4
+idouble: 5
 ifloat: 5
 ildouble: 7
 ldouble: 7
 
 Function: "gamma_towardzero":
-double: 4
+double: 5
 float: 4
-idouble: 4
+idouble: 5
 ifloat: 4
 ildouble: 7
 ldouble: 7
 
 Function: "gamma_upward":
-double: 3
-float: 4
-idouble: 3
-ifloat: 4
+double: 5
+float: 5
+idouble: 5
+ifloat: 5
 ildouble: 6
 ldouble: 6
 
@@ -2059,39 +2065,39 @@ ldouble: 1
 
 Function: "j0":
 double: 2
-float: 1
+float: 2
 float128: 2
 idouble: 2
-ifloat: 1
+ifloat: 2
 ifloat128: 2
 ildouble: 2
 ldouble: 2
 
 Function: "j0_downward":
-double: 1
-float: 3
+double: 2
+float: 4
 float128: 4
-idouble: 1
-ifloat: 3
+idouble: 2
+ifloat: 4
 ifloat128: 4
 ildouble: 4
 ldouble: 4
 
 Function: "j0_towardzero":
-double: 2
-float: 1
+double: 3
+float: 2
 float128: 2
-idouble: 2
-ifloat: 1
+idouble: 3
+ifloat: 2
 ifloat128: 2
 ildouble: 5
 ldouble: 5
 
 Function: "j0_upward":
-double: 2
+double: 3
 float: 3
 float128: 5
-idouble: 2
+idouble: 3
 ifloat: 3
 ifloat128: 5
 ildouble: 4
@@ -2099,120 +2105,120 @@ ldouble: 4
 
 Function: "j1":
 double: 2
-float: 1
+float: 2
 float128: 4
 idouble: 2
-ifloat: 1
+ifloat: 2
 ifloat128: 4
 ildouble: 1
 ldouble: 1
 
 Function: "j1_downward":
-double: 2
-float: 2
+double: 3
+float: 3
 float128: 4
-idouble: 2
-ifloat: 2
+idouble: 3
+ifloat: 3
 ifloat128: 4
 ildouble: 4
 ldouble: 4
 
 Function: "j1_towardzero":
-double: 2
+double: 3
 float: 2
 float128: 4
-idouble: 2
+idouble: 3
 ifloat: 2
 ifloat128: 4
 ildouble: 4
 ldouble: 4
 
 Function: "j1_upward":
-double: 2
-float: 3
+double: 3
+float: 5
 float128: 3
-idouble: 2
-ifloat: 3
+idouble: 3
+ifloat: 5
 ifloat128: 3
 ildouble: 3
 ldouble: 3
 
 Function: "jn":
-double: 2
-float: 3
+double: 4
+float: 4
 float128: 7
-idouble: 2
-ifloat: 3
+idouble: 4
+ifloat: 4
 ifloat128: 7
 ildouble: 4
 ldouble: 4
 
 Function: "jn_downward":
-double: 2
-float: 3
+double: 5
+float: 5
 float128: 8
-idouble: 2
-ifloat: 3
+idouble: 5
+ifloat: 5
 ifloat128: 8
 ildouble: 4
 ldouble: 4
 
 Function: "jn_towardzero":
-double: 2
-float: 3
+double: 5
+float: 5
 float128: 8
-idouble: 2
-ifloat: 3
+idouble: 5
+ifloat: 5
 ifloat128: 8
 ildouble: 5
 ldouble: 5
 
 Function: "jn_upward":
-double: 2
-float: 3
+double: 5
+float: 5
 float128: 7
-idouble: 2
-ifloat: 3
+idouble: 5
+ifloat: 5
 ifloat128: 7
 ildouble: 5
 ldouble: 5
 
 Function: "lgamma":
-double: 3
+double: 4
 float: 3
 float128: 5
-idouble: 3
+idouble: 4
 ifloat: 3
 ifloat128: 5
 ildouble: 4
 ldouble: 4
 
 Function: "lgamma_downward":
-double: 4
+double: 5
 float: 5
 float128: 8
-idouble: 4
+idouble: 5
 ifloat: 5
 ifloat128: 8
 ildouble: 7
 ldouble: 7
 
 Function: "lgamma_towardzero":
-double: 4
+double: 5
 float: 4
 float128: 5
-idouble: 4
+idouble: 5
 ifloat: 4
 ifloat128: 5
 ildouble: 7
 ldouble: 7
 
 Function: "lgamma_upward":
-double: 3
-float: 4
+double: 5
+float: 5
 float128: 8
-idouble: 3
-ifloat: 4
+idouble: 5
+ifloat: 5
 ifloat128: 8
 ildouble: 6
 ldouble: 6
@@ -2402,7 +2408,9 @@ ildouble: 4
 ldouble: 4
 
 Function: "sin":
+double: 1
 float128: 1
+idouble: 1
 ifloat128: 1
 ildouble: 1
 ldouble: 1
@@ -2432,7 +2440,9 @@ ildouble: 3
 ldouble: 3
 
 Function: "sincos":
+double: 1
 float128: 1
+idouble: 1
 ifloat128: 1
 ildouble: 1
 ldouble: 1
@@ -2462,39 +2472,41 @@ ildouble: 3
 ldouble: 3
 
 Function: "sinh":
-double: 1
+double: 2
+float: 2
 float128: 2
-idouble: 1
+idouble: 2
+ifloat: 2
 ifloat128: 2
 ildouble: 2
 ldouble: 2
 
 Function: "sinh_downward":
-double: 2
-float: 1
+double: 3
+float: 3
 float128: 3
-idouble: 2
-ifloat: 1
+idouble: 3
+ifloat: 3
 ifloat128: 3
 ildouble: 5
 ldouble: 5
 
 Function: "sinh_towardzero":
 double: 2
-float: 1
+float: 2
 float128: 3
 idouble: 2
-ifloat: 1
+ifloat: 2
 ifloat128: 3
 ildouble: 4
 ldouble: 4
 
 Function: "sinh_upward":
 double: 4
-float: 2
+float: 3
 float128: 4
 idouble: 4
-ifloat: 2
+ifloat: 3
 ifloat128: 4
 ildouble: 5
 ldouble: 5
@@ -2538,199 +2550,201 @@ ildouble: 2
 ldouble: 2
 
 Function: "tanh":
-double: 1
+double: 2
+float: 2
 float128: 2
-idouble: 1
+idouble: 2
+ifloat: 2
 ifloat128: 2
 ildouble: 3
 ldouble: 3
 
 Function: "tanh_downward":
-double: 1
-float: 1
+double: 3
+float: 3
 float128: 4
-idouble: 1
-ifloat: 1
+idouble: 3
+ifloat: 3
 ifloat128: 4
 ildouble: 7
 ldouble: 4
 
 Function: "tanh_towardzero":
-double: 1
-float: 1
+double: 2
+float: 2
 float128: 3
-idouble: 1
-ifloat: 1
+idouble: 2
+ifloat: 2
 ifloat128: 3
 ildouble: 3
 ldouble: 3
 
 Function: "tanh_upward":
-double: 1
-float: 1
+double: 3
+float: 3
 float128: 3
-idouble: 1
-ifloat: 1
+idouble: 3
+ifloat: 3
 ifloat128: 3
 ildouble: 5
 ldouble: 4
 
 Function: "tgamma":
-double: 3
-float: 3
+double: 5
+float: 4
 float128: 4
-idouble: 3
-ifloat: 3
+idouble: 5
+ifloat: 4
 ifloat128: 4
 ildouble: 5
 ldouble: 5
 
 Function: "tgamma_downward":
-double: 3
+double: 6
 float: 5
 float128: 5
-idouble: 3
+idouble: 6
 ifloat: 5
 ifloat128: 5
 ildouble: 5
 ldouble: 5
 
 Function: "tgamma_towardzero":
-double: 4
+double: 6
 float: 5
 float128: 5
-idouble: 4
+idouble: 6
 ifloat: 5
 ifloat128: 5
 ildouble: 5
 ldouble: 5
 
 Function: "tgamma_upward":
-double: 4
+double: 5
 float: 6
 float128: 4
-idouble: 4
+idouble: 5
 ifloat: 6
 ifloat128: 4
 ildouble: 5
 ldouble: 5
 
 Function: "y0":
-double: 1
+double: 2
 float: 1
 float128: 3
-idouble: 1
+idouble: 2
 ifloat: 1
 ifloat128: 3
 ildouble: 1
 ldouble: 1
 
 Function: "y0_downward":
-double: 2
-float: 2
+double: 3
+float: 4
 float128: 4
-idouble: 2
-ifloat: 2
+idouble: 3
+ifloat: 4
 ifloat128: 4
 ildouble: 5
 ldouble: 5
 
 Function: "y0_towardzero":
-double: 2
+double: 3
 float: 3
 float128: 3
-idouble: 2
+idouble: 3
 ifloat: 3
 ifloat128: 3
 ildouble: 5
 ldouble: 5
 
 Function: "y0_upward":
-double: 1
-float: 3
+double: 3
+float: 5
 float128: 3
-idouble: 1
-ifloat: 3
+idouble: 3
+ifloat: 5
 ifloat128: 3
 ildouble: 3
 ldouble: 3
 
 Function: "y1":
-double: 2
+double: 3
 float: 2
 float128: 2
-idouble: 2
+idouble: 3
 ifloat: 2
 ifloat128: 2
 ildouble: 2
 ldouble: 2
 
 Function: "y1_downward":
-double: 2
-float: 2
+double: 3
+float: 4
 float128: 4
-idouble: 2
-ifloat: 2
+idouble: 3
+ifloat: 4
 ifloat128: 4
 ildouble: 7
 ldouble: 7
 
 Function: "y1_towardzero":
-double: 2
-float: 2
+double: 3
+float: 3
 float128: 2
-idouble: 2
-ifloat: 2
+idouble: 3
+ifloat: 3
 ifloat128: 2
 ildouble: 5
 ldouble: 5
 
 Function: "y1_upward":
-double: 1
+double: 7
 float: 3
 float128: 5
-idouble: 1
+idouble: 7
 ifloat: 3
 ifloat128: 5
 ildouble: 7
 ldouble: 7
 
 Function: "yn":
-double: 2
+double: 3
 float: 3
 float128: 5
-idouble: 2
+idouble: 3
 ifloat: 3
 ifloat128: 5
 ildouble: 4
 ldouble: 4
 
 Function: "yn_downward":
-double: 2
-float: 2
+double: 3
+float: 4
 float128: 5
-idouble: 2
-ifloat: 2
+idouble: 3
+ifloat: 4
 ifloat128: 5
 ildouble: 5
 ldouble: 5
 
 Function: "yn_towardzero":
 double: 3
-float: 3
+float: 4
 float128: 5
 idouble: 3
-ifloat: 3
+ifloat: 4
 ifloat128: 5
 ildouble: 5
 ldouble: 5
 
 Function: "yn_upward":
-double: 3
-float: 3
+double: 4
+float: 5
 float128: 5
-idouble: 3
-ifloat: 3
+idouble: 4
+ifloat: 5
 ifloat128: 5
 ildouble: 4
 ldouble: 4

commit b25e5e3c09a086d516627544e48635354870c72f
Author: Florian Weimer <fweimer@redhat.com>
Date:   Tue Jun 12 15:00:33 2018 +0200

    x86: Make strncmp usable from rtld
    
    Due to the way the conditions were written, the rtld build of strncmp
    ended up with no definition of the strncmp symbol at all: The
    implementations were renamed for use within an IFUNC resolver, but the
    IFUNC resolver itself was missing (because rtld does not use IFUNCs).
    
    Reviewed-by: Carlos O'Donell <carlos@redhat.com>
    (cherry picked from commit e826574c985a15a500262f2fbd21c7e9259d3d11)

diff --git a/ChangeLog b/ChangeLog
index 101dc45263..897f6096ef 100644
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,3 +1,11 @@
+2018-06-12  Florian Weimer  <fweimer@redhat.com>
+
+	x86: Make strncmp usable from rtld.
+	* sysdeps/i386/i686/multiarch/strncmp-c.c: Only rename strncmp to
+	__strncmp_ia32 if in libc (and not in rtld).
+	* sysdeps/x86_64/multiarch/strncmp-sse2.S: Rename strcmp to
+	strncmp if not in libc (and not to __strncmp_sse2).
+
 2018-06-01  Florian Weimer  <fweimer@redhat.com>
 
 	* sysdeps/i386/i686/fpu/multiarch/libm-test-ulps: Update from master
diff --git a/sysdeps/i386/i686/multiarch/strncmp-c.c b/sysdeps/i386/i686/multiarch/strncmp-c.c
index cc059da494..2e3eca9b2b 100644
--- a/sysdeps/i386/i686/multiarch/strncmp-c.c
+++ b/sysdeps/i386/i686/multiarch/strncmp-c.c
@@ -1,4 +1,4 @@
-#ifdef SHARED
+#if defined (SHARED) && IS_IN (libc)
 # define STRNCMP __strncmp_ia32
 # undef libc_hidden_builtin_def
 # define libc_hidden_builtin_def(name)  \
diff --git a/sysdeps/x86_64/multiarch/strncmp-sse2.S b/sysdeps/x86_64/multiarch/strncmp-sse2.S
index cc5252d826..a5ecb82b13 100644
--- a/sysdeps/x86_64/multiarch/strncmp-sse2.S
+++ b/sysdeps/x86_64/multiarch/strncmp-sse2.S
@@ -18,10 +18,13 @@
 
 #include <sysdep.h>
 
-#define STRCMP	__strncmp_sse2
-
-#undef libc_hidden_builtin_def
-#define libc_hidden_builtin_def(strcmp)
+#if IS_IN (libc)
+# define STRCMP __strncmp_sse2
+# undef libc_hidden_builtin_def
+# define libc_hidden_builtin_def(strcmp)
+#else
+# define STRCMP strncmp
+#endif
 
 #define USE_AS_STRNCMP
 #include <sysdeps/x86_64/strcmp.S>

commit 80c83e91140d429c73f79092fdb75eed0fb71da0
Author: Carlos O'Donell <carlos@redhat.com>
Date:   Tue Jun 5 23:55:17 2018 -0400

    Improve DST handling (Bug 23102, Bug 21942, Bug 18018, Bug 23259).
    
    This commit improves DST handling significantly in the following
    ways: firstly is_dst () is overhauled to correctly process DST
    sequences that would be accepted given the ELF gABI.  This means that
    we actually now accept slightly more sequences than before.  Now we
    accept $ORIGIN$ORIGIN, but in the past we accepted only $ORIGIN\0 or
    $ORIGIN/..., but this kind of behaviour results in unexpected
    and uninterpreted DST sequences being used as literal search paths
    leading to security defects.  Therefore the first step in correcting
    this defect is making is_dst () properly account for all DSTs
    and making the function context free in the sense that it counts
    DSTs without knowledge of path, or AT_SECURE.  Next, _dl_dst_count ()
    is also simplified to count all DSTs regardless of context.
    Then in _dl_dst_substitute () we reintroduce context-dependent
    processing for such things as AT_SECURE handling.  At the level of
    _dl_dst_substitute we can have access to things like the true start
    of the string sequence to validate $ORIGIN-based paths rooted in
    trusted directories.  Lastly, we tighten up the accepted sequences
    in AT_SECURE, and avoid leaving known unexpanded DSTs, this is
    noted in the NEWS entry.
    
    Verified with a sequence of 68 tests on x86_64 that cover
    non-AT_SECURE and AT_SECURE testing using a sysroot (requires root
    to run).  The tests cover cases for bug 23102, bug 21942, bug 18018,
    and bug 23259.  These tests are not yet appropriate for the glibc
    regression testsuite, but with the upcoming test-in-container testing
    framework it should be possible to include these tests upstream soon.
    
    See the mailing list for the tests:
    https://www.sourceware.org/ml/libc-alpha/2018-06/msg00251.html
    
    (cherry picked from commit 5aad5f617892e75d91d4c8fb7594ff35b610c042)

diff --git a/ChangeLog b/ChangeLog
index 897f6096ef..88e9e7ae1e 100644
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,3 +1,22 @@
+2018-06-12  Carlos O'Donell  <carlos@redhat.com>
+	    Andreas Schwab  <schwab@suse.de>
+	    Dmitry V. Levin  <ldv@altlinux.org>
+	    Florian Weimer <fweimer@redhat.com>
+
+	[BZ #23102]
+	[BZ #21942]
+	[BZ #18018]
+	[BZ #23259]
+	CVE-2011-0536
+	* elf/dl-dst.h: Remove DL_DST_COUNT.
+	* elf/dl-deps.c (expand_dst): Call _dl_dst_count.
+	* elf/dl-load.c (is_trusted_path_normalize): Don't handle colons.
+	(is_dst): Comment.  Support ELF gABI.
+	(_dl_dst_count): Comment.  Simplify and count DSTs.
+	(_dl_dst_substitute): Comment.  Support __libc_enable_secure handling.
+	(expand_dybamic_string_token): Comment. Call _dl_dst_count. Rename
+	locals.
+
 2018-06-12  Florian Weimer  <fweimer@redhat.com>
 
 	x86: Make strncmp usable from rtld.
diff --git a/NEWS b/NEWS
index 2443880321..c7e2cef59b 100644
--- a/NEWS
+++ b/NEWS
@@ -13,6 +13,17 @@ Major new features:
   Czech languages.  The Catalan and Greek languages now support abbreviated
   alternative month names.
 
+* Parsing of dynamic string tokens in DT_RPATH, DT_RUNPATH, DT_NEEDED,
+  DT_AUXILIARY, and DT_FILTER has been expanded to support the full
+  range of ELF gABI expressions including such constructs as
+  '$ORIGIN$ORIGIN' (if valid).  For SUID/GUID applications the rules
+  have been further restricted, and where in the past a dynamic string
+  token sequence may have been interpreted as a literal string it will
+  now cause a load failure.  These load failures were always considered
+  unspecified behaviour from the perspective of the dynamic loader, and
+  for safety are now load errors e.g. /foo/${ORIGIN}.so in DT_NEEDED
+  results in a load failure now.
+
 Security related changes:
 
   CVE-2017-18269: An SSE2-based memmove implementation for the i386
@@ -31,8 +42,10 @@ The following bugs are resolved with this release:
   [6889] 'PWD' mentioned but not specified
   [16335] Feature test macro documentation incomplete and out of date
   [17343] Signed integer overflow in /stdlib/random_r.c
+  [18018] Additional $ORIGIN handling issues (CVE-2011-0536)
   [20419] files with large allocated notes crash in open_verify
   [21269] i386 sigaction sa_restorer handling is wrong
+  [21942] _dl_dst_substitute incorrectly handles $ORIGIN: with AT_SECURE=1
   [22342] NSCD not properly caching netgroup
   [22638] sparc: static binaries are broken if glibc is built by gcc
     configured with --enable-default-pie
@@ -57,12 +70,14 @@ The following bugs are resolved with this release:
   [23005] Crash in __res_context_send after memory allocation failure
   [23037] initialize msg_flags to zero for sendmmsg() calls
   [23069] sigaction broken on riscv64-linux-gnu
+  [23102] Incorrect parsing of consecutive $ variables in runpath entries
   [23137] s390: pthread_join sometimes block indefinitely (on 31bit and libc
     build with -Os)
   [23152] gd_GB: Fix typo in "May" (abbreviated)
   [23166] sunrpc: Remove stray exports without --enable-obsolete-rpc
   [23196] __mempcpy_avx512_no_vzeroupper mishandles large copies
   [23236] Harden function pointers in _IO_str_fields
+  [23259] Unsubstituted ${ORIGIN} remains in DT_NEEDED for AT_SECURE
   [23264] libc: posix_spawnp wrongly executes ENOEXEC in non compat mode
 
 
diff --git a/elf/dl-deps.c b/elf/dl-deps.c
index c975fcffd7..20b8e94f2e 100644
--- a/elf/dl-deps.c
+++ b/elf/dl-deps.c
@@ -100,7 +100,7 @@ struct list
   ({									      \
     const char *__str = (str);						      \
     const char *__result = __str;					      \
-    size_t __dst_cnt = DL_DST_COUNT (__str);				      \
+    size_t __dst_cnt = _dl_dst_count (__str);				      \
 									      \
     if (__dst_cnt != 0)							      \
       {									      \
diff --git a/elf/dl-dst.h b/elf/dl-dst.h
index 32de5d225a..859032be0d 100644
--- a/elf/dl-dst.h
+++ b/elf/dl-dst.h
@@ -18,19 +18,6 @@
 
 #include "trusted-dirs.h"
 
-/* Determine the number of DST elements in the name.  Only if IS_PATH is
-   nonzero paths are recognized (i.e., multiple, ':' separated filenames).  */
-#define DL_DST_COUNT(name) \
-  ({									      \
-    size_t __cnt = 0;							      \
-    const char *__sf = strchr (name, '$');				      \
-									      \
-    if (__glibc_unlikely (__sf != NULL))				      \
-      __cnt = _dl_dst_count (__sf);					      \
-									      \
-    __cnt; })
-
-
 #ifdef SHARED
 # define IS_RTLD(l) (l) == &GL(dl_rtld_map)
 #else
diff --git a/elf/dl-load.c b/elf/dl-load.c
index f038e2942d..b20e2a46d0 100644
--- a/elf/dl-load.c
+++ b/elf/dl-load.c
@@ -122,12 +122,6 @@ is_trusted_path_normalize (const char *path, size_t len)
   if (len == 0)
     return false;
 
-  if (*path == ':')
-    {
-      ++path;
-      --len;
-    }
-
   char *npath = (char *) alloca (len + 2);
   char *wnp = npath;
   while (*path != '\0')
@@ -178,114 +172,165 @@ is_trusted_path_normalize (const char *path, size_t len)
   return false;
 }
 
+/* Given a substring starting at INPUT, just after the DST '$' start
+   token, determine if INPUT contains DST token REF, following the
+   ELF gABI rules for DSTs:
+
+   * Longest possible sequence using the rules (greedy).
+
+   * Must start with a $ (enforced by caller).
+
+   * Must follow $ with one underscore or ASCII [A-Za-z] (caller
+     follows these rules for REF) or '{' (start curly quoted name).
+
+   * Must follow first two characters with zero or more [A-Za-z0-9_]
+     (enforced by caller) or '}' (end curly quoted name).
 
+   If the sequence is a DST matching REF then the length of the DST
+   (excluding the $ sign but including curly braces, if any) is
+   returned, otherwise 0.  */
 static size_t
-is_dst (const char *start, const char *name, const char *str, int secure)
+is_dst (const char *input, const char *ref)
 {
-  size_t len;
   bool is_curly = false;
 
-  if (name[0] == '{')
+  /* Is a ${...} input sequence?  */
+  if (input[0] == '{')
     {
       is_curly = true;
-      ++name;
+      ++input;
     }
 
-  len = 0;
-  while (name[len] == str[len] && name[len] != '\0')
-    ++len;
-
-  if (is_curly)
-    {
-      if (name[len] != '}')
-	return 0;
-
-      /* Point again at the beginning of the name.  */
-      --name;
-      /* Skip over closing curly brace and adjust for the --name.  */
-      len += 2;
-    }
-  else if (name[len] != '\0' && name[len] != '/')
-    return 0;
-
-  if (__glibc_unlikely (secure)
-      && ((name[len] != '\0' && name[len] != '/')
-	  || (name != start + 1)))
+  /* Check for matching name, following closing curly brace (if
+     required), or trailing characters which are part of an
+     identifier.  */
+  size_t rlen = strlen (ref);
+  if (strncmp (input, ref, rlen) != 0
+      || (is_curly && input[rlen] != '}')
+      || ((input[rlen] >= 'A' && input[rlen] <= 'Z')
+	  || (input[rlen] >= 'a' && input[rlen] <= 'z')
+	  || (input[rlen] >= '0' && input[rlen] <= '9')
+	  || (input[rlen] == '_')))
     return 0;
 
-  return len;
+  if (is_curly)
+    /* Count the two curly braces.  */
+    return rlen + 2;
+  else
+    return rlen;
 }
 
-
+/* INPUT is the start of a DST sequence at the first '$' occurrence.
+   If there is a DST we call into _dl_dst_count to count the number of
+   DSTs.  We count all known DSTs regardless of __libc_enable_secure;
+   the caller is responsible for enforcing the security of the
+   substitution rules (usually _dl_dst_substitute).  */
 size_t
-_dl_dst_count (const char *name)
+_dl_dst_count (const char *input)
 {
-  const char *const start = name;
   size_t cnt = 0;
 
+  input = strchr (input, '$');
+
+  /* Most likely there is no DST.  */
+  if (__glibc_likely (input == NULL))
+    return 0;
+
   do
     {
       size_t len;
 
-      /* $ORIGIN is not expanded for SUID/GUID programs (except if it
-	 is $ORIGIN alone) and it must always appear first in path.  */
-      ++name;
-      if ((len = is_dst (start, name, "ORIGIN", __libc_enable_secure)) != 0
-	  || (len = is_dst (start, name, "PLATFORM", 0)) != 0
-	  || (len = is_dst (start, name, "LIB", 0)) != 0)
+      ++input;
+      /* All DSTs must follow ELF gABI rules, see is_dst ().  */
+      if ((len = is_dst (input, "ORIGIN")) != 0
+	  || (len = is_dst (input, "PLATFORM")) != 0
+	  || (len = is_dst (input, "LIB")) != 0)
 	++cnt;
 
-      name = strchr (name + len, '$');
+      /* There may be more than one DST in the input.  */
+      input = strchr (input + len, '$');
     }
-  while (name != NULL);
+  while (input != NULL);
 
   return cnt;
 }
 
-
+/* Process INPUT for DSTs and store in RESULT using the information
+   from link map L to resolve the DSTs. This function only handles one
+   path at a time and does not handle colon-separated path lists (see
+   fillin_rpath ()).  Lastly the size of result in bytes should be at
+   least equal to the value returned by DL_DST_REQUIRED.  Note that it
+   is possible for a DT_NEEDED, DT_AUXILIARY, and DT_FILTER entries to
+   have colons, but we treat those as literal colons here, not as path
+   list delimeters.  */
 char *
-_dl_dst_substitute (struct link_map *l, const char *name, char *result)
+_dl_dst_substitute (struct link_map *l, const char *input, char *result)
 {
-  const char *const start = name;
-
-  /* Now fill the result path.  While copying over the string we keep
-     track of the start of the last path element.  When we come across
-     a DST we copy over the value or (if the value is not available)
-     leave the entire path element out.  */
+  /* Copy character-by-character from input into the working pointer
+     looking for any DSTs.  We track the start of input and if we are
+     going to check for trusted paths, all of which are part of $ORIGIN
+     handling in SUID/SGID cases (see below).  In some cases, like when
+     a DST cannot be replaced, we may set result to an empty string and
+     return.  */
   char *wp = result;
-  char *last_elem = result;
+  const char *start = input;
   bool check_for_trusted = false;
 
   do
     {
-      if (__glibc_unlikely (*name == '$'))
+      if (__glibc_unlikely (*input == '$'))
 	{
 	  const char *repl = NULL;
 	  size_t len;
 
-	  ++name;
-	  if ((len = is_dst (start, name, "ORIGIN", __libc_enable_secure)) != 0)
+	  ++input;
+	  if ((len = is_dst (input, "ORIGIN")) != 0)
 	    {
-	      repl = l->l_origin;
+	      /* For SUID/GUID programs we normally ignore the path with
+		 $ORIGIN in DT_RUNPATH, or DT_RPATH.  However, there is
+		 one exception to this rule, and it is:
+
+		   * $ORIGIN appears as the first path element, and is
+		     the only string in the path or is immediately
+		     followed by a path separator and the rest of the
+		     path.
+
+		   * The path is rooted in a trusted directory.
+
+		 This exception allows such programs to reference
+		 shared libraries in subdirectories of trusted
+		 directories.  The use case is one of general
+		 organization and deployment flexibility.
+		 Trusted directories are usually such paths as "/lib64"
+		 or "/usr/lib64", and the usual RPATHs take the form of
+		 [$ORIGIN/../$LIB/somedir].  */
+	      if (__glibc_unlikely (__libc_enable_secure)
+		  && !(input == start + 1
+		       && (input[len] == '\0' || input[len] == '/')))
+		repl = (const char *) -1;
+	      else
+	        repl = l->l_origin;
+
 	      check_for_trusted = (__libc_enable_secure
 				   && l->l_type == lt_executable);
 	    }
-	  else if ((len = is_dst (start, name, "PLATFORM", 0)) != 0)
+	  else if ((len = is_dst (input, "PLATFORM")) != 0)
 	    repl = GLRO(dl_platform);
-	  else if ((len = is_dst (start, name, "LIB", 0)) != 0)
+	  else if ((len = is_dst (input, "LIB")) != 0)
 	    repl = DL_DST_LIB;
 
 	  if (repl != NULL && repl != (const char *) -1)
 	    {
 	      wp = __stpcpy (wp, repl);
-	      name += len;
+	      input += len;
 	    }
-	  else if (len > 1)
+	  else if (len != 0)
 	    {
-	      /* We cannot use this path element, the value of the
-		 replacement is unknown.  */
-	      wp = last_elem;
-	      break;
+	      /* We found a valid DST that we know about, but we could
+	         not find a replacement value for it, therefore we
+		 cannot use this path and discard it.  */
+	      *result = '\0';
+	      return result;
 	    }
 	  else
 	    /* No DST we recognize.  */
@@ -293,16 +338,26 @@ _dl_dst_substitute (struct link_map *l, const char *name, char *result)
 	}
       else
 	{
-	  *wp++ = *name++;
+	  *wp++ = *input++;
 	}
     }
-  while (*name != '\0');
+  while (*input != '\0');
 
   /* In SUID/SGID programs, after $ORIGIN expansion the normalized
-     path must be rooted in one of the trusted directories.  */
+     path must be rooted in one of the trusted directories.  The $LIB
+     and $PLATFORM DST cannot in any way be manipulated by the caller
+     because they are fixed values that are set by the dynamic loader
+     and therefore any paths using just $LIB or $PLATFORM need not be
+     checked for trust, the authors of the binaries themselves are
+     trusted to have designed this correctly.  Only $ORIGIN is tested in
+     this way because it may be manipulated in some ways with hard
+     links.  */
   if (__glibc_unlikely (check_for_trusted)
-      && !is_trusted_path_normalize (last_elem, wp - last_elem))
-    wp = last_elem;
+      && !is_trusted_path_normalize (result, wp - result))
+    {
+      *result = '\0';
+      return result;
+    }
 
   *wp = '\0';
 
@@ -310,13 +365,13 @@ _dl_dst_substitute (struct link_map *l, const char *name, char *result)
 }
 
 
-/* Return copy of argument with all recognized dynamic string tokens
-   ($ORIGIN and $PLATFORM for now) replaced.  On some platforms it
-   might not be possible to determine the path from which the object
-   belonging to the map is loaded.  In this case the path element
-   containing $ORIGIN is left out.  */
+/* Return a malloc allocated copy of INPUT with all recognized DSTs
+   replaced. On some platforms it might not be possible to determine the
+   path from which the object belonging to the map is loaded.  In this
+   case the path containing the DST is left out.  On error NULL
+   is returned.  */
 static char *
-expand_dynamic_string_token (struct link_map *l, const char *s)
+expand_dynamic_string_token (struct link_map *l, const char *input)
 {
   /* We make two runs over the string.  First we determine how large the
      resulting string is and then we copy it over.  Since this is no
@@ -326,22 +381,22 @@ expand_dynamic_string_token (struct link_map *l, const char *s)
   size_t total;
   char *result;
 
-  /* Determine the number of DST elements.  */
-  cnt = DL_DST_COUNT (s);
+  /* Determine the number of DSTs.  */
+  cnt = _dl_dst_count (input);
 
   /* If we do not have to replace anything simply copy the string.  */
   if (__glibc_likely (cnt == 0))
-    return __strdup (s);
+    return __strdup (input);
 
   /* Determine the length of the substituted string.  */
-  total = DL_DST_REQUIRED (l, s, strlen (s), cnt);
+  total = DL_DST_REQUIRED (l, input, strlen (input), cnt);
 
   /* Allocate the necessary memory.  */
   result = (char *) malloc (total + 1);
   if (result == NULL)
     return NULL;
 
-  return _dl_dst_substitute (l, s, result);
+  return _dl_dst_substitute (l, input, result);
 }
 
 

commit ffc56239787cdb5b0306baa8368923753f5891e6
Author: Gabriel F. T. Gomes <gabriel@inconstante.eti.br>
Date:   Mon May 14 09:04:28 2018 -0300

    Fix parameter type in C++ version of iseqsig (bug 23171)
    
    The commit
    
      commit c85e54ac6cef0faed7b7ffc722f52523dec59bf5
      Author: Gabriel F. T. Gomes <gabriel@inconstante.eti.br>
      Date:   Fri Nov 3 10:44:36 2017 -0200
    
          Provide a C++ version of iseqsig (bug 22377)
    
    mistakenly used double parameters in the long double version of iseqsig,
    thus causing spurious conversions to double, as reported on bug 23171.
    
    Tested for powerpc64le and x86_64.
    
    (cherry picked from commit fb0e10b8eb1ebb68c57d4551f7a95118f3c54837)

diff --git a/ChangeLog b/ChangeLog
index 88e9e7ae1e..6fba508ae1 100644
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,3 +1,9 @@
+2018-05-24  Gabriel F. T. Gomes  <gabriel@inconstante.eti.br>
+
+	[BZ #23171]
+	* math/math.h [C++] (iseqsig): Fix parameter type for the long
+	double version.
+
 2018-06-12  Carlos O'Donell  <carlos@redhat.com>
 	    Andreas Schwab  <schwab@suse.de>
 	    Dmitry V. Levin  <ldv@altlinux.org>
diff --git a/NEWS b/NEWS
index c7e2cef59b..2dab66e851 100644
--- a/NEWS
+++ b/NEWS
@@ -75,6 +75,7 @@ The following bugs are resolved with this release:
     build with -Os)
   [23152] gd_GB: Fix typo in "May" (abbreviated)
   [23166] sunrpc: Remove stray exports without --enable-obsolete-rpc
+  [23171] Fix parameter type in C++ version of iseqsig
   [23196] __mempcpy_avx512_no_vzeroupper mishandles large copies
   [23236] Harden function pointers in _IO_str_fields
   [23259] Unsubstituted ${ORIGIN} remains in DT_NEEDED for AT_SECURE
diff --git a/math/math.h b/math/math.h
index 3c515f817f..0fcbd91366 100644
--- a/math/math.h
+++ b/math/math.h
@@ -1223,7 +1223,7 @@ template<> struct __iseqsig_type<double>
 
 template<> struct __iseqsig_type<long double>
 {
-  static int __call (double __x, double __y) throw ()
+  static int __call (long double __x, long double __y) throw ()
   {
 #  ifndef __NO_LONG_DOUBLE_MATH
     return __iseqsigl (__x, __y);

commit 4e0847afce95bce2737504cf6205eeaf9621e76a
Author: Florian Weimer <fweimer@redhat.com>
Date:   Thu Jun 28 13:21:20 2018 +0200

    Use _STRUCT_TIMESPEC as guard in <bits/types/struct_timespec.h> [BZ #23349]
    
    After commit d76d3703551a362b472c866b5b6089f66f8daa8e ("Fix missing
    timespec definition for sys/stat.h (BZ #21371)") in combination with
    kernel UAPI changes, GCC sanitizer builds start to fail due to a
    conflicting definition of struct timespec in <linux/time.h>.  Use
    _STRUCT_TIMESPEC as the header file inclusion guard, which is already
    checked in the kernel header, to support including <linux/time.h> and
    <sys/stat.h> in the same translation unit.
    
    (cherry picked from commit c1c2848b572ea7f92b7fa81dd5b1b9ef7c69b83b)

diff --git a/ChangeLog b/ChangeLog
index 6fba508ae1..371ae547c4 100644
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,3 +1,9 @@
+2018-06-28  Florian Weimer  <fweimer@redhat.com>
+
+	[BZ #23349]
+	* time/bits/types/struct_timespec.h: Change header inclusion guard to
+	_STRUCT_TIMESPEC.
+
 2018-05-24  Gabriel F. T. Gomes  <gabriel@inconstante.eti.br>
 
 	[BZ #23171]
diff --git a/NEWS b/NEWS
index 2dab66e851..f6e33734c8 100644
--- a/NEWS
+++ b/NEWS
@@ -80,6 +80,7 @@ The following bugs are resolved with this release:
   [23236] Harden function pointers in _IO_str_fields
   [23259] Unsubstituted ${ORIGIN} remains in DT_NEEDED for AT_SECURE
   [23264] libc: posix_spawnp wrongly executes ENOEXEC in non compat mode
+  [23349] Various glibc headers no longer compatible with <linux/time.h>
 
 
 Version 2.27
diff --git a/time/bits/types/struct_timespec.h b/time/bits/types/struct_timespec.h
index 644db9fdb6..5b77c52b4f 100644
--- a/time/bits/types/struct_timespec.h
+++ b/time/bits/types/struct_timespec.h
@@ -1,5 +1,6 @@
-#ifndef __timespec_defined
-#define __timespec_defined 1
+/* NB: Include guard matches what <linux/time.h> uses.  */
+#ifndef _STRUCT_TIMESPEC
+#define _STRUCT_TIMESPEC 1
 
 #include <bits/types.h>
 

commit 4476d16b033341be5b0a884425cff19b0358ea25
Author: Daniel Alvarez <dalvarez@redhat.com>
Date:   Fri Jun 29 17:23:52 2018 +0200

    getifaddrs: Don't return ifa entries with NULL names [BZ #21812]
    
    A lookup operation in map_newlink could turn into an insert because of
    holes in the interface part of the map.  This leads to incorrectly set
    the name of the interface to NULL when the interface is not present
    for the address being processed (most likely because the interface was
    added between the RTM_GETLINK and RTM_GETADDR calls to the kernel).
    When such changes are detected by the kernel, it'll mark the dump as
    "inconsistent" by setting NLM_F_DUMP_INTR flag on the next netlink
    message.
    
    This patch checks this condition and retries the whole operation.
    Hopes are that next time the interface corresponding to the address
    entry is present in the list and correct name is returned.
    
    (cherry picked from commit c1f86a33ca32e26a9d6e29fc961e5ecb5e2e5eb4)

diff --git a/ChangeLog b/ChangeLog
index 371ae547c4..40383d9ee3 100644
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,3 +1,10 @@
+2018-06-29  Daniel Alvarez  <dalvarez@redhat.com>
+	    Jakub Sitnicki  <jkbs@redhat.com>
+
+	[BZ #21812]
+	* sysdeps/unix/sysv/linux/ifaddrs.c (getifaddrs_internal): Retry
+	on NLM_F_DUMP_INTR.
+
 2018-06-28  Florian Weimer  <fweimer@redhat.com>
 
 	[BZ #23349]
diff --git a/NEWS b/NEWS
index f6e33734c8..501d97bc7a 100644
--- a/NEWS
+++ b/NEWS
@@ -45,6 +45,7 @@ The following bugs are resolved with this release:
   [18018] Additional $ORIGIN handling issues (CVE-2011-0536)
   [20419] files with large allocated notes crash in open_verify
   [21269] i386 sigaction sa_restorer handling is wrong
+  [21812] getifaddrs: Don't return ifa entries with NULL names
   [21942] _dl_dst_substitute incorrectly handles $ORIGIN: with AT_SECURE=1
   [22342] NSCD not properly caching netgroup
   [22638] sparc: static binaries are broken if glibc is built by gcc
diff --git a/sysdeps/unix/sysv/linux/ifaddrs.c b/sysdeps/unix/sysv/linux/ifaddrs.c
index 32381f54e4..ac0e1e5738 100644
--- a/sysdeps/unix/sysv/linux/ifaddrs.c
+++ b/sysdeps/unix/sysv/linux/ifaddrs.c
@@ -370,6 +370,14 @@ getifaddrs_internal (struct ifaddrs **ifap)
 	  if ((pid_t) nlh->nlmsg_pid != nh.pid || nlh->nlmsg_seq != nlp->seq)
 	    continue;
 
+	  /* If the dump got interrupted, we can't rely on the results
+	     so try again. */
+	  if (nlh->nlmsg_flags & NLM_F_DUMP_INTR)
+	    {
+	      result = -EAGAIN;
+	      goto exit_free;
+	    }
+
 	  if (nlh->nlmsg_type == NLMSG_DONE)
 	    break;		/* ok */
 
