toolchain: glibc: bump to version 2.27 riscv
authorYousong Zhou <yszhou4tech@gmail.com>
Fri, 4 May 2018 09:51:41 +0000 (17:51 +0800)
committerYousong Zhou <yszhou4tech@gmail.com>
Fri, 4 May 2018 13:14:26 +0000 (21:14 +0800)
Support for RISC-V ISA was added in this release.  Other changes can be
reviewed in NEWS file of the source code [1].

The other thing is that we now switch back to preparing build dir by
using release tarballs plus patches.  The glibc repo has a long history
and is quite big in size (166MB as of 2018-04-28) and git proto lacks a
"resume clone" feature, these combined together actually makes each
minor version bump a frustrating experience for users with small
bandwidth and feeble internet connection.

The patches were generated with the following commands in a local glibc
repo and the procedure should be mostly reproducible

    git format-patch \
--output-directory ~/git-repo/lede-project/lede/toolchain/glibc/patches \
--no-signature \
glibc-2.27..origin/release/2.27/master \
      | while read ff; do
    d=$(dirname $ff)
    f=$(basename $ff)
    i=${f%%-*}
    j=${f#*-}
    mv $ff "$d/$i-2.27-$j"
done

[1] https://sourceware.org/git/?p=glibc.git;a=blob;f=NEWS;hb=refs/heads/release/2.27/master

Signed-off-by: Yousong Zhou <yszhou4tech@gmail.com>
44 files changed:
toolchain/glibc/common.mk
toolchain/glibc/patches/0001-2.27-Record-CVE-2018-6551-in-NEWS-and-ChangeLog-BZ-22774.patch [new file with mode: 0644]
toolchain/glibc/patches/0002-2.27-sparc-Check-PIC-instead-of-SHARED-in-start.S-BZ-2263.patch [new file with mode: 0644]
toolchain/glibc/patches/0003-2.27-NEWS-add-an-entry-for-bug-22638.patch [new file with mode: 0644]
toolchain/glibc/patches/0004-2.27-Add-a-missing-ChangeLog-item-in-commit-371b220f620.patch [new file with mode: 0644]
toolchain/glibc/patches/0005-2.27-Linux-use-reserved-name-__key-in-pkey_get-BZ-22797.patch [new file with mode: 0644]
toolchain/glibc/patches/0006-2.27-RISC-V-Fix-parsing-flags-in-ELF64-files.patch [new file with mode: 0644]
toolchain/glibc/patches/0007-2.27-Update-SH-libm-tests-ulps.patch [new file with mode: 0644]
toolchain/glibc/patches/0008-2.27-NEWS-add-an-entry-for-bug-22827.patch [new file with mode: 0644]
toolchain/glibc/patches/0009-2.27-linux-aarch64-sync-sys-ptrace.h-with-Linux-4.15-BZ-2.patch [new file with mode: 0644]
toolchain/glibc/patches/0010-2.27-time-Reference-CLOCKS_PER_SEC-in-clock-comment-BZ-22.patch [new file with mode: 0644]
toolchain/glibc/patches/0011-2.27-Fix-posix-tst-glob_lstat_compat-on-alpha-BZ-22818.patch [new file with mode: 0644]
toolchain/glibc/patches/0012-2.27-manual-Fix-Texinfo-warnings-about-improper-node-name.patch [new file with mode: 0644]
toolchain/glibc/patches/0013-2.27-manual-Fix-a-syntax-error.patch [new file with mode: 0644]
toolchain/glibc/patches/0014-2.27-manual-Improve-documentation-of-get_current_dir_name.patch [new file with mode: 0644]
toolchain/glibc/patches/0015-2.27-powerpc-Fix-TLE-build-for-SPE-BZ-22926.patch [new file with mode: 0644]
toolchain/glibc/patches/0016-2.27-sparc32-Add-nop-before-__startcontext-to-stop-unwind.patch [new file with mode: 0644]
toolchain/glibc/patches/0017-2.27-NEWS-add-entries-for-bugs-22919-and-22926.patch [new file with mode: 0644]
toolchain/glibc/patches/0018-2.27-manual-Document-missing-feature-test-macros.patch [new file with mode: 0644]
toolchain/glibc/patches/0019-2.27-manual-Update-the-_ISOC99_SOURCE-description.patch [new file with mode: 0644]
toolchain/glibc/patches/0020-2.27-Fix-a-typo-in-a-comment.patch [new file with mode: 0644]
toolchain/glibc/patches/0021-2.27-Add-missing-reorder-end-in-LC_COLLATE-of-et_EE-BZ-22.patch [new file with mode: 0644]
toolchain/glibc/patches/0022-2.27-powerpc-Undefine-Linux-ptrace-macros-that-conflict-w.patch [new file with mode: 0644]
toolchain/glibc/patches/0023-2.27-linux-powerpc-sync-sys-ptrace.h-with-Linux-4.15-BZ-2.patch [new file with mode: 0644]
toolchain/glibc/patches/0024-2.27-BZ-22342-Fix-netgroup-cache-keys.patch [new file with mode: 0644]
toolchain/glibc/patches/0025-2.27-Fix-multiple-definitions-of-__nss_-_database-bug-229.patch [new file with mode: 0644]
toolchain/glibc/patches/0026-2.27-i386-Fix-i386-sigaction-sa_restorer-initialization-B.patch [new file with mode: 0644]
toolchain/glibc/patches/0027-2.27-Update-translations-from-the-Translation-Project.patch [new file with mode: 0644]
toolchain/glibc/patches/0028-2.27-ca_ES-locale-Update-LC_TIME-bug-22848.patch [new file with mode: 0644]
toolchain/glibc/patches/0029-2.27-lt_LT-locale-Update-abbreviated-month-names-bug-2293.patch [new file with mode: 0644]
toolchain/glibc/patches/0030-2.27-Greek-el_CY-el_GR-locales-Introduce-ab_alt_mon-bug-2.patch [new file with mode: 0644]
toolchain/glibc/patches/0031-2.27-cs_CZ-locale-Add-alternative-month-names-bug-22963.patch [new file with mode: 0644]
toolchain/glibc/patches/0032-2.27-NEWS-Add-entries-for-bugs-22848-22932-22937-22963.patch [new file with mode: 0644]
toolchain/glibc/patches/0033-2.27-RISC-V-Do-not-initialize-gp-in-TLS-macros.patch [new file with mode: 0644]
toolchain/glibc/patches/0034-2.27-RISC-V-fmax-fmin-Handle-signalling-NaNs-correctly.patch [new file with mode: 0644]
toolchain/glibc/patches/0035-2.27-Update-ChangeLog-for-BZ-22884-riscv-fmax-fmin.patch [new file with mode: 0644]
toolchain/glibc/patches/0036-2.27-Fix-i386-memmove-issue-bug-22644.patch [new file with mode: 0644]
toolchain/glibc/patches/0037-2.27-Linux-i386-tst-bz21269-triggers-SIGBUS-on-some-kerne.patch [new file with mode: 0644]
toolchain/glibc/patches/0038-2.27-RISC-V-fix-struct-kernel_sigaction-to-match-the-kern.patch [new file with mode: 0644]
toolchain/glibc/patches/0039-2.27-Add-tst-sigaction.c-to-test-BZ-23069.patch [new file with mode: 0644]
toolchain/glibc/patches/100-fix_cross_rpcgen.patch [deleted file]
toolchain/glibc/patches/1100-fix_cross_rpcgen.patch [new file with mode: 0644]
toolchain/glibc/patches/1200-add-dl-search-paths.patch [new file with mode: 0644]
toolchain/glibc/patches/200-add-dl-search-paths.patch [deleted file]

index e9fee1cb8fa3e978e6742ac0b13ebc61df40b43c..dda216c8a54276e6d91e0b423c0c3549da0df7d4 100644 (file)
@@ -7,15 +7,14 @@
 include $(TOPDIR)/rules.mk
 
 PKG_NAME:=glibc
-PKG_VERSION:=2.26
+PKG_VERSION:=2.27
+PKG_RELEASE:=37
 
-PKG_SOURCE_PROTO:=git
-PKG_SOURCE_SUBDIR:=$(PKG_NAME)-$(PKG_VERSION)
-PKG_SOURCE_VERSION:=d300041c533a3d837c9f37a099bcc95466860e98
-PKG_MIRROR_HASH:=31e90926a1d3093355aa85c04c68b3d109c3dc3d9f80afe50505e864b32ac784
-PKG_SOURCE_URL:=https://sourceware.org/git/glibc.git
-PKG_SOURCE:=$(PKG_NAME)-$(PKG_VERSION)-$(PKG_SOURCE_VERSION).tar.xz
+PKG_SOURCE_URL:=@GNU/libc
+PKG_SOURCE:=$(PKG_NAME)-$(PKG_VERSION).tar.xz
+PKG_HASH:=5172de54318ec0b7f2735e5a91d908afe1c9ca291fec16b5374d9faadfc1fc72
 
+PKG_SOURCE_SUBDIR:=$(PKG_NAME)-$(PKG_VERSION)
 HOST_BUILD_DIR:=$(BUILD_DIR_TOOLCHAIN)/$(PKG_SOURCE_SUBDIR)
 CUR_BUILD_DIR:=$(HOST_BUILD_DIR)-$(VARIANT)
 PATCH_DIR:=$(PATH_PREFIX)/patches
diff --git a/toolchain/glibc/patches/0001-2.27-Record-CVE-2018-6551-in-NEWS-and-ChangeLog-BZ-22774.patch b/toolchain/glibc/patches/0001-2.27-Record-CVE-2018-6551-in-NEWS-and-ChangeLog-BZ-22774.patch
new file mode 100644 (file)
index 0000000..5fe562c
--- /dev/null
@@ -0,0 +1,40 @@
+From bdac1623cca4c3d1683e24cc7d093201c5d9fa26 Mon Sep 17 00:00:00 2001
+From: Florian Weimer <fweimer@redhat.com>
+Date: Tue, 6 Feb 2018 09:19:03 +0100
+Subject: [PATCH 01/39] Record CVE-2018-6551 in NEWS and ChangeLog [BZ #22774]
+
+(cherry picked from commit 71aa429b029fdb6f9e65d44050388b51eca460d6)
+---
+ ChangeLog | 2 ++
+ NEWS      | 4 ++++
+ 2 files changed, 6 insertions(+)
+
+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
diff --git a/toolchain/glibc/patches/0002-2.27-sparc-Check-PIC-instead-of-SHARED-in-start.S-BZ-2263.patch b/toolchain/glibc/patches/0002-2.27-sparc-Check-PIC-instead-of-SHARED-in-start.S-BZ-2263.patch
new file mode 100644 (file)
index 0000000..32b50b9
--- /dev/null
@@ -0,0 +1,79 @@
+From ce8a6550fa33363f9c5043fe1b3e9900c1145888 Mon Sep 17 00:00:00 2001
+From: "H.J. Lu" <hjl.tools@gmail.com>
+Date: Mon, 5 Feb 2018 05:46:38 -0800
+Subject: [PATCH 02/39] 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)
+---
+ ChangeLog                     | 6 ++++++
+ sysdeps/sparc/sparc32/start.S | 4 ++--
+ sysdeps/sparc/sparc64/start.S | 4 ++--
+ 3 files changed, 10 insertions(+), 4 deletions(-)
+
+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
diff --git a/toolchain/glibc/patches/0003-2.27-NEWS-add-an-entry-for-bug-22638.patch b/toolchain/glibc/patches/0003-2.27-NEWS-add-an-entry-for-bug-22638.patch
new file mode 100644 (file)
index 0000000..fb9ea63
--- /dev/null
@@ -0,0 +1,28 @@
+From c8ad6ac1d1ac7600138b9dbd0b92e88c36cc999c Mon Sep 17 00:00:00 2001
+From: "Dmitry V. Levin" <ldv@altlinux.org>
+Date: Tue, 6 Feb 2018 09:31:30 +0000
+Subject: [PATCH 03/39] NEWS: add an entry for bug 22638
+
+---
+ NEWS | 8 ++++++++
+ 1 file changed, 8 insertions(+)
+
+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.
\f
++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
++
++\f
+ Version 2.27
+ Major new features:
diff --git a/toolchain/glibc/patches/0004-2.27-Add-a-missing-ChangeLog-item-in-commit-371b220f620.patch b/toolchain/glibc/patches/0004-2.27-Add-a-missing-ChangeLog-item-in-commit-371b220f620.patch
new file mode 100644 (file)
index 0000000..d61a36c
--- /dev/null
@@ -0,0 +1,22 @@
+From 00c5a2d77a541fa005cb460bd1a45f51f1aa71ea Mon Sep 17 00:00:00 2001
+From: "H.J. Lu" <hjl.tools@gmail.com>
+Date: Mon, 5 Feb 2018 06:17:18 -0800
+Subject: [PATCH 04/39] Add a missing ChangeLog item in commit 371b220f620
+
+(cherry picked from commit 658050164df9bce9ef8f2ccb1b74ba9ee2b2f4af)
+---
+ ChangeLog | 1 +
+ 1 file changed, 1 insertion(+)
+
+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>
diff --git a/toolchain/glibc/patches/0005-2.27-Linux-use-reserved-name-__key-in-pkey_get-BZ-22797.patch b/toolchain/glibc/patches/0005-2.27-Linux-use-reserved-name-__key-in-pkey_get-BZ-22797.patch
new file mode 100644 (file)
index 0000000..a197e8b
--- /dev/null
@@ -0,0 +1,54 @@
+From 56170e064e2b21ce204f0817733e92f1730541ea Mon Sep 17 00:00:00 2001
+From: Igor Gnatenko <ignatenko@redhat.com>
+Date: Wed, 7 Feb 2018 13:53:10 +0100
+Subject: [PATCH 05/39] 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)
+---
+ ChangeLog                                  | 6 ++++++
+ NEWS                                       | 1 +
+ sysdeps/unix/sysv/linux/bits/mman-shared.h | 2 +-
+ 3 files changed, 8 insertions(+), 1 deletion(-)
+
+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
\f
+ 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.  */
diff --git a/toolchain/glibc/patches/0006-2.27-RISC-V-Fix-parsing-flags-in-ELF64-files.patch b/toolchain/glibc/patches/0006-2.27-RISC-V-Fix-parsing-flags-in-ELF64-files.patch
new file mode 100644 (file)
index 0000000..8d96ad4
--- /dev/null
@@ -0,0 +1,58 @@
+From 750a1c253f81a9dfe2cef5a568c68a5838ab46b9 Mon Sep 17 00:00:00 2001
+From: DJ Delorie <dj@redhat.com>
+Date: Fri, 9 Feb 2018 18:37:15 -0500
+Subject: [PATCH 06/39] [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)
+---
+ ChangeLog                                  | 6 ++++++
+ sysdeps/unix/sysv/linux/riscv/readelflib.c | 3 ++-
+ 2 files changed, 8 insertions(+), 1 deletion(-)
+
+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.  */
diff --git a/toolchain/glibc/patches/0007-2.27-Update-SH-libm-tests-ulps.patch b/toolchain/glibc/patches/0007-2.27-Update-SH-libm-tests-ulps.patch
new file mode 100644 (file)
index 0000000..4044a6a
--- /dev/null
@@ -0,0 +1,797 @@
+From 55171cd08f86b76ba140283d1b00bb903b49b6f4 Mon Sep 17 00:00:00 2001
+From: Adhemerval Zanella <adhemerval.zanella@linaro.org>
+Date: Wed, 14 Feb 2018 14:03:13 -0200
+Subject: [PATCH 07/39] Update SH libm-tests-ulps
+
+       * sysdeps/sh/libm-test-ulps: Update.
+
+Signed-off-by: Adhemerval Zanella <adhemerval.zanella@linaro.org>
+---
+ ChangeLog                 |   4 +
+ sysdeps/sh/libm-test-ulps | 493 +++++++++++++++++++++++++++++++++++++++++-----
+ 2 files changed, 449 insertions(+), 48 deletions(-)
+
+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
diff --git a/toolchain/glibc/patches/0008-2.27-NEWS-add-an-entry-for-bug-22827.patch b/toolchain/glibc/patches/0008-2.27-NEWS-add-an-entry-for-bug-22827.patch
new file mode 100644 (file)
index 0000000..07a439e
--- /dev/null
@@ -0,0 +1,21 @@
+From 79543e547945085041e004b460c61135890a2607 Mon Sep 17 00:00:00 2001
+From: "Dmitry V. Levin" <ldv@altlinux.org>
+Date: Tue, 6 Feb 2018 09:31:30 +0000
+Subject: [PATCH 08/39] NEWS: add an entry for bug 22827
+
+---
+ NEWS | 1 +
+ 1 file changed, 1 insertion(+)
+
+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
\f
+ Version 2.27
diff --git a/toolchain/glibc/patches/0009-2.27-linux-aarch64-sync-sys-ptrace.h-with-Linux-4.15-BZ-2.patch b/toolchain/glibc/patches/0009-2.27-linux-aarch64-sync-sys-ptrace.h-with-Linux-4.15-BZ-2.patch
new file mode 100644 (file)
index 0000000..c74a827
--- /dev/null
@@ -0,0 +1,59 @@
+From 516fa6080481a1433c173320b1c1432868e1e38a Mon Sep 17 00:00:00 2001
+From: "Dmitry V. Levin" <ldv@altlinux.org>
+Date: Fri, 29 Dec 2017 23:19:32 +0000
+Subject: [PATCH 09/39] 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)
+---
+ ChangeLog                                    | 7 +++++++
+ sysdeps/unix/sysv/linux/aarch64/sys/ptrace.h | 8 --------
+ 2 files changed, 7 insertions(+), 8 deletions(-)
+
+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
diff --git a/toolchain/glibc/patches/0010-2.27-time-Reference-CLOCKS_PER_SEC-in-clock-comment-BZ-22.patch b/toolchain/glibc/patches/0010-2.27-time-Reference-CLOCKS_PER_SEC-in-clock-comment-BZ-22.patch
new file mode 100644 (file)
index 0000000..0e9ae0e
--- /dev/null
@@ -0,0 +1,51 @@
+From 1b7671f6e19d2f8f71752a25e490337dbbcb1d12 Mon Sep 17 00:00:00 2001
+From: Sean McKean <smckean83@gmail.com>
+Date: Fri, 2 Feb 2018 11:59:31 +0100
+Subject: [PATCH 10/39] time: Reference CLOCKS_PER_SEC in clock comment [BZ
+ #22735]
+
+(cherry picked from commit 09e56b9e18f987105e39768f907db800e9330930)
+---
+ ChangeLog   | 5 +++++
+ NEWS        | 1 +
+ time/time.h | 2 +-
+ 3 files changed, 7 insertions(+), 1 deletion(-)
+
+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.  */
diff --git a/toolchain/glibc/patches/0011-2.27-Fix-posix-tst-glob_lstat_compat-on-alpha-BZ-22818.patch b/toolchain/glibc/patches/0011-2.27-Fix-posix-tst-glob_lstat_compat-on-alpha-BZ-22818.patch
new file mode 100644 (file)
index 0000000..e41d3c2
--- /dev/null
@@ -0,0 +1,68 @@
+From d5f136743d84ca2f7786ad796451b41881a8786b Mon Sep 17 00:00:00 2001
+From: Aurelien Jarno <aurelien@aurel32.net>
+Date: Sun, 18 Feb 2018 18:23:14 +0100
+Subject: [PATCH 11/39] 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)
+---
+ ChangeLog                     | 6 ++++++
+ NEWS                          | 1 +
+ posix/tst-glob_lstat_compat.c | 7 +++++++
+ 3 files changed, 14 insertions(+)
+
+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
\f
+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
diff --git a/toolchain/glibc/patches/0012-2.27-manual-Fix-Texinfo-warnings-about-improper-node-name.patch b/toolchain/glibc/patches/0012-2.27-manual-Fix-Texinfo-warnings-about-improper-node-name.patch
new file mode 100644 (file)
index 0000000..61de524
--- /dev/null
@@ -0,0 +1,106 @@
+From 6031b49c397a7f88d9f27f2ad4f53ad0ced57bde Mon Sep 17 00:00:00 2001
+From: Rical Jasan <ricaljasan@pacific.net>
+Date: Wed, 24 Jan 2018 01:03:38 -0800
+Subject: [PATCH 12/39] 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)
+---
+ ChangeLog            | 6 ++++++
+ manual/creature.texi | 2 +-
+ manual/stdio.texi    | 8 ++++----
+ manual/string.texi   | 2 +-
+ 4 files changed, 12 insertions(+), 6 deletions(-)
+
+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.
diff --git a/toolchain/glibc/patches/0013-2.27-manual-Fix-a-syntax-error.patch b/toolchain/glibc/patches/0013-2.27-manual-Fix-a-syntax-error.patch
new file mode 100644 (file)
index 0000000..9e3ac8b
--- /dev/null
@@ -0,0 +1,48 @@
+From aa02f2b2f53363fb4b8cfc508989fc161e28b6d9 Mon Sep 17 00:00:00 2001
+From: Rical Jasan <ricaljasan@pacific.net>
+Date: Fri, 16 Feb 2018 08:21:47 -0800
+Subject: [PATCH 13/39] 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)
+---
+ ChangeLog            | 5 +++++
+ manual/platform.texi | 2 +-
+ 2 files changed, 6 insertions(+), 1 deletion(-)
+
+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
diff --git a/toolchain/glibc/patches/0014-2.27-manual-Improve-documentation-of-get_current_dir_name.patch b/toolchain/glibc/patches/0014-2.27-manual-Improve-documentation-of-get_current_dir_name.patch
new file mode 100644 (file)
index 0000000..1af9abe
--- /dev/null
@@ -0,0 +1,80 @@
+From b4108a361f05ee87122b86aa7d799e4512013588 Mon Sep 17 00:00:00 2001
+From: Rical Jasan <ricaljasan@pacific.net>
+Date: Fri, 16 Feb 2018 08:47:20 -0800
+Subject: [PATCH 14/39] 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)
+---
+ ChangeLog           |  5 +++++
+ NEWS                |  1 +
+ manual/filesys.texi | 17 +++++++++--------
+ 3 files changed, 15 insertions(+), 8 deletions(-)
+
+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
diff --git a/toolchain/glibc/patches/0015-2.27-powerpc-Fix-TLE-build-for-SPE-BZ-22926.patch b/toolchain/glibc/patches/0015-2.27-powerpc-Fix-TLE-build-for-SPE-BZ-22926.patch
new file mode 100644 (file)
index 0000000..2c7848c
--- /dev/null
@@ -0,0 +1,151 @@
+From e51dfc04ef9bc7bf7d44ac76b12a20bbadbe9add Mon Sep 17 00:00:00 2001
+From: Adhemerval Zanella <adhemerval.zanella@linaro.org>
+Date: Mon, 5 Mar 2018 14:46:24 -0300
+Subject: [PATCH 15/39] 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.
+---
+ ChangeLog                                         | 13 +++++++++++++
+ sysdeps/powerpc/powerpc32/sysdep.h                |  2 +-
+ sysdeps/powerpc/sysdep.h                          |  2 +-
+ sysdeps/unix/sysv/linux/powerpc/elision-lock.c    |  2 ++
+ sysdeps/unix/sysv/linux/powerpc/elision-trylock.c |  2 ++
+ sysdeps/unix/sysv/linux/powerpc/elision-unlock.c  |  4 ++++
+ 6 files changed, 23 insertions(+), 2 deletions(-)
+
+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;
+ }
diff --git a/toolchain/glibc/patches/0016-2.27-sparc32-Add-nop-before-__startcontext-to-stop-unwind.patch b/toolchain/glibc/patches/0016-2.27-sparc32-Add-nop-before-__startcontext-to-stop-unwind.patch
new file mode 100644 (file)
index 0000000..1012e9d
--- /dev/null
@@ -0,0 +1,63 @@
+From 3a53ef9b02eb98c66c04309176ed47c9c73eac59 Mon Sep 17 00:00:00 2001
+From: Aurelien Jarno <aurelien@aurel32.net>
+Date: Fri, 9 Mar 2018 00:14:27 +0100
+Subject: [PATCH 16/39] 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)
+---
+ ChangeLog                                          |  6 ++++++
+ sysdeps/unix/sysv/linux/sparc/sparc32/setcontext.S | 13 +++++++++++++
+ 2 files changed, 19 insertions(+)
+
+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
diff --git a/toolchain/glibc/patches/0017-2.27-NEWS-add-entries-for-bugs-22919-and-22926.patch b/toolchain/glibc/patches/0017-2.27-NEWS-add-entries-for-bugs-22919-and-22926.patch
new file mode 100644 (file)
index 0000000..03416e0
--- /dev/null
@@ -0,0 +1,22 @@
+From fc0ad3d5e7a0ccc0b4813dd4fcfd4f68e073a9e4 Mon Sep 17 00:00:00 2001
+From: "Dmitry V. Levin" <ldv@altlinux.org>
+Date: Thu, 8 Mar 2018 23:30:56 +0000
+Subject: [PATCH 17/39] NEWS: add entries for bugs 22919 and 22926
+
+---
+ NEWS | 2 ++
+ 1 file changed, 2 insertions(+)
+
+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
\f
+ Version 2.27
diff --git a/toolchain/glibc/patches/0018-2.27-manual-Document-missing-feature-test-macros.patch b/toolchain/glibc/patches/0018-2.27-manual-Document-missing-feature-test-macros.patch
new file mode 100644 (file)
index 0000000..c170b7c
--- /dev/null
@@ -0,0 +1,132 @@
+From b6c9b80e729455d268b52db02763970a946744cd Mon Sep 17 00:00:00 2001
+From: Rical Jasan <ricaljasan@pacific.net>
+Date: Mon, 19 Feb 2018 03:30:06 -0800
+Subject: [PATCH 18/39] 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)
+---
+ ChangeLog            | 10 ++++++++++
+ NEWS                 |  1 +
+ manual/creature.texi | 39 +++++++++++++++++++++++++++++++++++++--
+ 3 files changed, 48 insertions(+), 2 deletions(-)
+
+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)}
diff --git a/toolchain/glibc/patches/0019-2.27-manual-Update-the-_ISOC99_SOURCE-description.patch b/toolchain/glibc/patches/0019-2.27-manual-Update-the-_ISOC99_SOURCE-description.patch
new file mode 100644 (file)
index 0000000..e80de02
--- /dev/null
@@ -0,0 +1,48 @@
+From e12a365d3a9b6de453db86ad82e0fbe1f0889a30 Mon Sep 17 00:00:00 2001
+From: Rical Jasan <ricaljasan@pacific.net>
+Date: Mon, 19 Feb 2018 04:32:35 -0800
+Subject: [PATCH 19/39] 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)
+---
+ ChangeLog            | 3 +++
+ manual/creature.texi | 7 +++----
+ 2 files changed, 6 insertions(+), 4 deletions(-)
+
+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
diff --git a/toolchain/glibc/patches/0020-2.27-Fix-a-typo-in-a-comment.patch b/toolchain/glibc/patches/0020-2.27-Fix-a-typo-in-a-comment.patch
new file mode 100644 (file)
index 0000000..6ba4085
--- /dev/null
@@ -0,0 +1,38 @@
+From ea4ea9f875bfc85154838bb69e8b42b9e19c414c Mon Sep 17 00:00:00 2001
+From: Rical Jasan <ricaljasan@pacific.net>
+Date: Wed, 21 Feb 2018 04:00:03 -0800
+Subject: [PATCH 20/39] Fix a typo in a comment.
+
+       * io/fcntl.h: Fix a typo in a comment.
+
+(cherry picked from commit 0d217f4082473e5fdca87831df928dd525a02f72)
+---
+ ChangeLog  | 4 ++++
+ io/fcntl.h | 2 +-
+ 2 files changed, 5 insertions(+), 1 deletion(-)
+
+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
diff --git a/toolchain/glibc/patches/0021-2.27-Add-missing-reorder-end-in-LC_COLLATE-of-et_EE-BZ-22.patch b/toolchain/glibc/patches/0021-2.27-Add-missing-reorder-end-in-LC_COLLATE-of-et_EE-BZ-22.patch
new file mode 100644 (file)
index 0000000..4db101d
--- /dev/null
@@ -0,0 +1,44 @@
+From f36553bf6a4f69070f99badbdab5802b43e6e211 Mon Sep 17 00:00:00 2001
+From: Mike FABIAN <mfabian@redhat.com>
+Date: Mon, 19 Feb 2018 21:59:30 +0100
+Subject: [PATCH 21/39] =?UTF-8?q?Add=20missing=20=E2=80=9Creorder-end?=
+ =?UTF-8?q?=E2=80=9D=20in=20LC=5FCOLLATE=20of=20et=5FEE=20[BZ=20#22517]?=
+MIME-Version: 1.0
+Content-Type: text/plain; charset=UTF-8
+Content-Transfer-Encoding: 8bit
+
+       [BZ #22517]
+       * localedata/locales/et_EE (LC_COLLATE): add missing “reorder-end”
+
+(cherry picked from commit 7ec5f9465e732e668d0dc94ac078ba68056d6d0a)
+---
+ ChangeLog                | 5 +++++
+ localedata/locales/et_EE | 2 ++
+ 2 files changed, 7 insertions(+)
+
+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
diff --git a/toolchain/glibc/patches/0022-2.27-powerpc-Undefine-Linux-ptrace-macros-that-conflict-w.patch b/toolchain/glibc/patches/0022-2.27-powerpc-Undefine-Linux-ptrace-macros-that-conflict-w.patch
new file mode 100644 (file)
index 0000000..e6dd930
--- /dev/null
@@ -0,0 +1,87 @@
+From 8e79230a5edebade9cfa92819bbd33b8cc012d3d Mon Sep 17 00:00:00 2001
+From: Tulio Magno Quites Machado Filho <tuliom@linux.vnet.ibm.com>
+Date: Mon, 26 Feb 2018 10:40:17 -0300
+Subject: [PATCH 22/39] 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)
+---
+ ChangeLog                                    |  5 ++++
+ sysdeps/unix/sysv/linux/powerpc/sys/ptrace.h | 43 ++++++++++++++++++++++++++++
+ 2 files changed, 48 insertions(+)
+
+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
+ {
diff --git a/toolchain/glibc/patches/0023-2.27-linux-powerpc-sync-sys-ptrace.h-with-Linux-4.15-BZ-2.patch b/toolchain/glibc/patches/0023-2.27-linux-powerpc-sync-sys-ptrace.h-with-Linux-4.15-BZ-2.patch
new file mode 100644 (file)
index 0000000..1c2db5b
--- /dev/null
@@ -0,0 +1,137 @@
+From 11dbb01577d4284e77800dfb9f563477f2848a59 Mon Sep 17 00:00:00 2001
+From: "Dmitry V. Levin" <ldv@altlinux.org>
+Date: Sat, 10 Feb 2018 23:19:32 +0000
+Subject: [PATCH 23/39] 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)
+---
+ ChangeLog                                    | 11 +++++
+ NEWS                                         |  1 +
+ sysdeps/unix/sysv/linux/powerpc/sys/ptrace.h | 62 ++++++++++++++++++++++++++++
+ 3 files changed, 74 insertions(+)
+
+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
diff --git a/toolchain/glibc/patches/0024-2.27-BZ-22342-Fix-netgroup-cache-keys.patch b/toolchain/glibc/patches/0024-2.27-BZ-22342-Fix-netgroup-cache-keys.patch
new file mode 100644 (file)
index 0000000..a2c929a
--- /dev/null
@@ -0,0 +1,78 @@
+From 7c6304182b9f422b782ace1cdd3efbde056aec36 Mon Sep 17 00:00:00 2001
+From: DJ Delorie <dj@redhat.com>
+Date: Thu, 1 Mar 2018 23:20:45 -0500
+Subject: [PATCH 24/39] [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)
+---
+ ChangeLog            | 6 ++++++
+ NEWS                 | 1 +
+ nscd/netgroupcache.c | 2 +-
+ 3 files changed, 8 insertions(+), 1 deletion(-)
+
+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;
diff --git a/toolchain/glibc/patches/0025-2.27-Fix-multiple-definitions-of-__nss_-_database-bug-229.patch b/toolchain/glibc/patches/0025-2.27-Fix-multiple-definitions-of-__nss_-_database-bug-229.patch
new file mode 100644 (file)
index 0000000..867bf14
--- /dev/null
@@ -0,0 +1,127 @@
+From 78a90c2f74a2012dd3eff302189e47ff6779a757 Mon Sep 17 00:00:00 2001
+From: Andreas Schwab <schwab@linux-m68k.org>
+Date: Fri, 2 Mar 2018 23:07:14 +0100
+Subject: [PATCH 25/39] Fix multiple definitions of __nss_*_database (bug
+ 22918)
+
+(cherry picked from commit eaf6753f8aac33a36deb98c1031d1bad7b593d2d)
+---
+ ChangeLog             | 10 ++++++++++
+ NEWS                  |  1 +
+ nscd/gai.c            |  3 +++
+ nss/nsswitch.c        |  2 +-
+ nss/nsswitch.h        |  8 ++++----
+ posix/tst-rfc3484-2.c |  1 +
+ posix/tst-rfc3484-3.c |  1 +
+ posix/tst-rfc3484.c   |  1 +
+ 8 files changed, 22 insertions(+), 5 deletions(-)
+
+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.  */
diff --git a/toolchain/glibc/patches/0026-2.27-i386-Fix-i386-sigaction-sa_restorer-initialization-B.patch b/toolchain/glibc/patches/0026-2.27-i386-Fix-i386-sigaction-sa_restorer-initialization-B.patch
new file mode 100644 (file)
index 0000000..2fa9dbf
--- /dev/null
@@ -0,0 +1,343 @@
+From 1e52d8e65a58c49a48549053a1b89c06240e0c6c Mon Sep 17 00:00:00 2001
+From: Adhemerval Zanella <adhemerval.zanella@linaro.org>
+Date: Fri, 17 Nov 2017 16:04:29 -0200
+Subject: [PATCH 26/39] 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)
+---
+ ChangeLog                                  |   8 +
+ NEWS                                       |   1 +
+ sysdeps/unix/sysv/linux/i386/Makefile      |   3 +
+ sysdeps/unix/sysv/linux/i386/sigaction.c   |   3 +-
+ sysdeps/unix/sysv/linux/i386/tst-bz21269.c | 233 +++++++++++++++++++++++++++++
+ 5 files changed, 247 insertions(+), 1 deletion(-)
+ create mode 100644 sysdeps/unix/sysv/linux/i386/tst-bz21269.c
+
+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>
diff --git a/toolchain/glibc/patches/0027-2.27-Update-translations-from-the-Translation-Project.patch b/toolchain/glibc/patches/0027-2.27-Update-translations-from-the-Translation-Project.patch
new file mode 100644 (file)
index 0000000..eb514f4
--- /dev/null
@@ -0,0 +1,10551 @@
+From b63daad97ec1a9adccf028cfdebedff2b3660097 Mon Sep 17 00:00:00 2001
+From: "Dmitry V. Levin" <ldv@altlinux.org>
+Date: Mon, 12 Mar 2018 13:24:46 +0000
+Subject: [PATCH 27/39] Update translations from the Translation Project
+
+* po/pt_BR.po: Update translations.
+
+(cherry picked from commit 778f1974863d63e858b6d0105e41d6f0c30732d3)
+---
+ ChangeLog   |    4 +
+ po/pt_BR.po | 9546 ++++++++++++++++++++++++++++++++++++++---------------------
+ 2 files changed, 6242 insertions(+), 3308 deletions(-)
+
+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” já 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"
diff --git a/toolchain/glibc/patches/0028-2.27-ca_ES-locale-Update-LC_TIME-bug-22848.patch b/toolchain/glibc/patches/0028-2.27-ca_ES-locale-Update-LC_TIME-bug-22848.patch
new file mode 100644 (file)
index 0000000..b591960
--- /dev/null
@@ -0,0 +1,206 @@
+From 19be35a25036279770b235f4305e2276349ceb30 Mon Sep 17 00:00:00 2001
+From: Robert Buj <robert.buj@gmail.com>
+Date: Tue, 6 Mar 2018 22:51:29 +0100
+Subject: [PATCH 28/39] ca_ES locale: Update LC_TIME (bug 22848).
+MIME-Version: 1.0
+Content-Type: text/plain; charset=UTF-8
+Content-Transfer-Encoding: 8bit
+
+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)
+---
+ ChangeLog                |  20 +++++++++
+ localedata/locales/ca_ES | 111 ++++++++++++++++++++++++++++++-----------------
+ 2 files changed, 91 insertions(+), 40 deletions(-)
+
+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
diff --git a/toolchain/glibc/patches/0029-2.27-lt_LT-locale-Update-abbreviated-month-names-bug-2293.patch b/toolchain/glibc/patches/0029-2.27-lt_LT-locale-Update-abbreviated-month-names-bug-2293.patch
new file mode 100644 (file)
index 0000000..3f618f5
--- /dev/null
@@ -0,0 +1,56 @@
+From 207e51524bb6b8c3a65f15cdb83ba69c37c626a6 Mon Sep 17 00:00:00 2001
+From: Rafal Luzynski <digitalfreak@lingonborough.com>
+Date: Thu, 8 Mar 2018 00:38:18 +0100
+Subject: [PATCH 29/39] 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)
+---
+ ChangeLog                |  5 +++++
+ localedata/locales/lt_LT | 12 ++++++------
+ 2 files changed, 11 insertions(+), 6 deletions(-)
+
+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";/
diff --git a/toolchain/glibc/patches/0030-2.27-Greek-el_CY-el_GR-locales-Introduce-ab_alt_mon-bug-2.patch b/toolchain/glibc/patches/0030-2.27-Greek-el_CY-el_GR-locales-Introduce-ab_alt_mon-bug-2.patch
new file mode 100644 (file)
index 0000000..56adc4b
--- /dev/null
@@ -0,0 +1,107 @@
+From 95c8ffa521d0aec14197aafef0d2136732f8118d Mon Sep 17 00:00:00 2001
+From: Rafal Luzynski <digitalfreak@lingonborough.com>
+Date: Thu, 8 Mar 2018 00:45:04 +0100
+Subject: [PATCH 30/39] Greek (el_CY, el_GR) locales: Introduce ab_alt_mon (bug
+ 22937).
+MIME-Version: 1.0
+Content-Type: text/plain; charset=UTF-8
+Content-Transfer-Encoding: 8bit
+
+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)
+---
+ ChangeLog                | 10 ++++++++++
+ localedata/locales/el_CY |  8 +++++++-
+ localedata/locales/el_GR |  8 +++++++-
+ 3 files changed, 24 insertions(+), 2 deletions(-)
+
+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>";/
diff --git a/toolchain/glibc/patches/0031-2.27-cs_CZ-locale-Add-alternative-month-names-bug-22963.patch b/toolchain/glibc/patches/0031-2.27-cs_CZ-locale-Add-alternative-month-names-bug-22963.patch
new file mode 100644 (file)
index 0000000..b65b86f
--- /dev/null
@@ -0,0 +1,67 @@
+From 5d679b8bd77cb6c9d9a38765cd6983650d4e0c2c Mon Sep 17 00:00:00 2001
+From: Rafal Luzynski <digitalfreak@lingonborough.com>
+Date: Mon, 17 Oct 2016 22:06:11 +0200
+Subject: [PATCH 31/39] 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)
+---
+ ChangeLog                |  7 +++++++
+ localedata/locales/cs_CZ | 15 ++++++++++++++-
+ 2 files changed, 21 insertions(+), 1 deletion(-)
+
+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
diff --git a/toolchain/glibc/patches/0032-2.27-NEWS-Add-entries-for-bugs-22848-22932-22937-22963.patch b/toolchain/glibc/patches/0032-2.27-NEWS-Add-entries-for-bugs-22848-22932-22937-22963.patch
new file mode 100644 (file)
index 0000000..4be962f
--- /dev/null
@@ -0,0 +1,45 @@
+From 3b922526415d1af93fe5a0e3caf7e6a790cb1619 Mon Sep 17 00:00:00 2001
+From: Rafal Luzynski <digitalfreak@lingonborough.com>
+Date: Thu, 15 Mar 2018 03:29:07 +0100
+Subject: [PATCH 32/39] 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)
+---
+ NEWS | 10 ++++++++++
+ 1 file changed, 10 insertions(+)
+
+diff --git a/NEWS b/NEWS
+index 0f224114b8..4749f5f432 100644
+--- a/NEWS
++++ b/NEWS
+@@ -7,6 +7,12 @@ using `glibc' in the "product" field.
\f
+ 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
\f
+ Version 2.27
diff --git a/toolchain/glibc/patches/0033-2.27-RISC-V-Do-not-initialize-gp-in-TLS-macros.patch b/toolchain/glibc/patches/0033-2.27-RISC-V-Do-not-initialize-gp-in-TLS-macros.patch
new file mode 100644 (file)
index 0000000..720d2bd
--- /dev/null
@@ -0,0 +1,73 @@
+From 94145309f5beff5f495c443fb544d604515b07d0 Mon Sep 17 00:00:00 2001
+From: DJ Delorie <dj@redhat.com>
+Date: Thu, 22 Feb 2018 14:28:47 -0500
+Subject: [PATCH 33/39] 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)
+---
+ ChangeLog                  |  4 ++++
+ sysdeps/riscv/tls-macros.h | 20 +++-----------------
+ 2 files changed, 7 insertions(+), 17 deletions(-)
+
+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; })
diff --git a/toolchain/glibc/patches/0034-2.27-RISC-V-fmax-fmin-Handle-signalling-NaNs-correctly.patch b/toolchain/glibc/patches/0034-2.27-RISC-V-fmax-fmin-Handle-signalling-NaNs-correctly.patch
new file mode 100644 (file)
index 0000000..1e2bff4
--- /dev/null
@@ -0,0 +1,140 @@
+From aab08776cc8f6dbafaa6efcb7e1bb374a21ab823 Mon Sep 17 00:00:00 2001
+From: Andrew Waterman <andrew@sifive.com>
+Date: Thu, 22 Feb 2018 14:31:54 -0500
+Subject: [PATCH 34/39] 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)
+---
+ ChangeLog                   |  7 +++++++
+ sysdeps/riscv/rvd/s_fmax.c  | 11 +++++++++--
+ sysdeps/riscv/rvd/s_fmin.c  | 11 +++++++++--
+ sysdeps/riscv/rvf/s_fmaxf.c | 11 +++++++++--
+ sysdeps/riscv/rvf/s_fminf.c | 11 +++++++++--
+ 5 files changed, 43 insertions(+), 8 deletions(-)
+
+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)
diff --git a/toolchain/glibc/patches/0035-2.27-Update-ChangeLog-for-BZ-22884-riscv-fmax-fmin.patch b/toolchain/glibc/patches/0035-2.27-Update-ChangeLog-for-BZ-22884-riscv-fmax-fmin.patch
new file mode 100644 (file)
index 0000000..f35731a
--- /dev/null
@@ -0,0 +1,21 @@
+From df3ff4e49d4ee3cbbdaeb0b1cb5dc2344c08be98 Mon Sep 17 00:00:00 2001
+From: DJ Delorie <dj@redhat.com>
+Date: Fri, 23 Feb 2018 16:08:08 -0500
+Subject: [PATCH 35/39] Update ChangeLog for BZ 22884 - riscv fmax/fmin
+
+(cherry picked from commit 7e04eb2932d3126c721ee2bc0d664a5bbea2f41f)
+---
+ ChangeLog | 1 +
+ 1 file changed, 1 insertion(+)
+
+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.
diff --git a/toolchain/glibc/patches/0036-2.27-Fix-i386-memmove-issue-bug-22644.patch b/toolchain/glibc/patches/0036-2.27-Fix-i386-memmove-issue-bug-22644.patch
new file mode 100644 (file)
index 0000000..07faec6
--- /dev/null
@@ -0,0 +1,174 @@
+From 55ad82e45c313454de657931898e974a7a036cad Mon Sep 17 00:00:00 2001
+From: Andrew Senkevich <andrew.n.senkevich@gmail.com>
+Date: Fri, 23 Mar 2018 16:19:45 +0100
+Subject: [PATCH 36/39] 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)
+---
+ ChangeLog                                          |  8 +++
+ string/test-memmove.c                              | 58 ++++++++++++++++++++++
+ .../i386/i686/multiarch/memcpy-sse2-unaligned.S    | 12 ++---
+ 3 files changed, 72 insertions(+), 6 deletions(-)
+
+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.  */
diff --git a/toolchain/glibc/patches/0037-2.27-Linux-i386-tst-bz21269-triggers-SIGBUS-on-some-kerne.patch b/toolchain/glibc/patches/0037-2.27-Linux-i386-tst-bz21269-triggers-SIGBUS-on-some-kerne.patch
new file mode 100644 (file)
index 0000000..73069a4
--- /dev/null
@@ -0,0 +1,40 @@
+From 39071a55392d2d2e0b75fb19f2b48d661c4cc682 Mon Sep 17 00:00:00 2001
+From: Florian Weimer <fweimer@redhat.com>
+Date: Thu, 29 Mar 2018 11:42:24 +0200
+Subject: [PATCH 37/39] 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)
+---
+ ChangeLog                                  | 5 +++++
+ sysdeps/unix/sysv/linux/i386/tst-bz21269.c | 2 ++
+ 2 files changed, 7 insertions(+)
+
+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);
diff --git a/toolchain/glibc/patches/0038-2.27-RISC-V-fix-struct-kernel_sigaction-to-match-the-kern.patch b/toolchain/glibc/patches/0038-2.27-RISC-V-fix-struct-kernel_sigaction-to-match-the-kern.patch
new file mode 100644 (file)
index 0000000..b196e69
--- /dev/null
@@ -0,0 +1,47 @@
+From ced2cd1ede2acf3cea2f5870b55d4e9a225ffa1b Mon Sep 17 00:00:00 2001
+From: Aurelien Jarno <aurelien@aurel32.net>
+Date: Sat, 28 Apr 2018 13:13:43 +0200
+Subject: [PATCH 38/39] 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").
+---
+ ChangeLog                                        | 5 +++++
+ sysdeps/unix/sysv/linux/riscv/kernel_sigaction.h | 7 +++++++
+ 2 files changed, 12 insertions(+)
+ create mode 100644 sysdeps/unix/sysv/linux/riscv/kernel_sigaction.h
+
+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;
++};
diff --git a/toolchain/glibc/patches/0039-2.27-Add-tst-sigaction.c-to-test-BZ-23069.patch b/toolchain/glibc/patches/0039-2.27-Add-tst-sigaction.c-to-test-BZ-23069.patch
new file mode 100644 (file)
index 0000000..86a0880
--- /dev/null
@@ -0,0 +1,111 @@
+From 623f4aef132ad0412fb546324a7b7adb769309fd Mon Sep 17 00:00:00 2001
+From: Aurelien Jarno <aurelien@aurel32.net>
+Date: Thu, 26 Apr 2018 22:21:13 +0200
+Subject: [PATCH 39/39] 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)
+---
+ ChangeLog              |  5 +++++
+ signal/Makefile        |  2 +-
+ signal/tst-sigaction.c | 56 ++++++++++++++++++++++++++++++++++++++++++++++++++
+ 3 files changed, 62 insertions(+), 1 deletion(-)
+ create mode 100644 signal/tst-sigaction.c
+
+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>
diff --git a/toolchain/glibc/patches/100-fix_cross_rpcgen.patch b/toolchain/glibc/patches/100-fix_cross_rpcgen.patch
deleted file mode 100644 (file)
index 6a5e537..0000000
+++ /dev/null
@@ -1,52 +0,0 @@
---- a/sunrpc/rpc/types.h
-+++ b/sunrpc/rpc/types.h
-@@ -75,18 +75,23 @@ typedef unsigned long rpcport_t;
- #endif
- #ifndef __u_char_defined
--typedef __u_char u_char;
--typedef __u_short u_short;
--typedef __u_int u_int;
--typedef __u_long u_long;
--typedef __quad_t quad_t;
--typedef __u_quad_t u_quad_t;
--typedef __fsid_t fsid_t;
-+typedef unsigned char u_char;
-+typedef unsigned short u_short;
-+typedef unsigned int u_int;
-+typedef unsigned long u_long;
-+#if __WORDSIZE == 64
-+typedef long int quad_t;
-+typedef unsigned long int u_quad_t;
-+#elif defined __GLIBC_HAVE_LONG_LONG
-+typedef long long int quad_t;
-+typedef unsigned long long int u_quad_t;
-+#endif
-+typedef u_quad_t fsid_t;
- # define __u_char_defined
- #endif
--#ifndef __daddr_t_defined
--typedef __daddr_t daddr_t;
--typedef __caddr_t caddr_t;
-+#if !defined(__daddr_t_defined) && defined(linux)
-+typedef long int daddr_t;
-+typedef char *caddr_t;
- # define __daddr_t_defined
- #endif
---- a/sunrpc/rpc_main.c
-+++ b/sunrpc/rpc_main.c
-@@ -958,9 +958,10 @@ mkfile_output (struct commandline *cmd)
-       abort ();
-       temp = rindex (cmd->infile, '.');
-       cp = stpcpy (mkfilename, "Makefile.");
--      if (temp != NULL)
--      *((char *) stpncpy (cp, cmd->infile, temp - cmd->infile)) = '\0';
--      else
-+      if (temp != NULL) {
-+        strncpy(cp, cmd->infile, temp - cmd->infile);
-+        cp[temp - cmd->infile - 1] = 0;
-+      } else
-       stpcpy (cp, cmd->infile);
-     }
diff --git a/toolchain/glibc/patches/1100-fix_cross_rpcgen.patch b/toolchain/glibc/patches/1100-fix_cross_rpcgen.patch
new file mode 100644 (file)
index 0000000..6a5e537
--- /dev/null
@@ -0,0 +1,52 @@
+--- a/sunrpc/rpc/types.h
++++ b/sunrpc/rpc/types.h
+@@ -75,18 +75,23 @@ typedef unsigned long rpcport_t;
+ #endif
+ #ifndef __u_char_defined
+-typedef __u_char u_char;
+-typedef __u_short u_short;
+-typedef __u_int u_int;
+-typedef __u_long u_long;
+-typedef __quad_t quad_t;
+-typedef __u_quad_t u_quad_t;
+-typedef __fsid_t fsid_t;
++typedef unsigned char u_char;
++typedef unsigned short u_short;
++typedef unsigned int u_int;
++typedef unsigned long u_long;
++#if __WORDSIZE == 64
++typedef long int quad_t;
++typedef unsigned long int u_quad_t;
++#elif defined __GLIBC_HAVE_LONG_LONG
++typedef long long int quad_t;
++typedef unsigned long long int u_quad_t;
++#endif
++typedef u_quad_t fsid_t;
+ # define __u_char_defined
+ #endif
+-#ifndef __daddr_t_defined
+-typedef __daddr_t daddr_t;
+-typedef __caddr_t caddr_t;
++#if !defined(__daddr_t_defined) && defined(linux)
++typedef long int daddr_t;
++typedef char *caddr_t;
+ # define __daddr_t_defined
+ #endif
+--- a/sunrpc/rpc_main.c
++++ b/sunrpc/rpc_main.c
+@@ -958,9 +958,10 @@ mkfile_output (struct commandline *cmd)
+       abort ();
+       temp = rindex (cmd->infile, '.');
+       cp = stpcpy (mkfilename, "Makefile.");
+-      if (temp != NULL)
+-      *((char *) stpncpy (cp, cmd->infile, temp - cmd->infile)) = '\0';
+-      else
++      if (temp != NULL) {
++        strncpy(cp, cmd->infile, temp - cmd->infile);
++        cp[temp - cmd->infile - 1] = 0;
++      } else
+       stpcpy (cp, cmd->infile);
+     }
diff --git a/toolchain/glibc/patches/1200-add-dl-search-paths.patch b/toolchain/glibc/patches/1200-add-dl-search-paths.patch
new file mode 100644 (file)
index 0000000..8f720cb
--- /dev/null
@@ -0,0 +1,14 @@
+add /usr/lib to default search path for the dynamic linker
+
+--- a/Makeconfig
++++ b/Makeconfig
+@@ -571,6 +571,9 @@ else
+ default-rpath = $(libdir)
+ endif
++# Add /usr/lib to default search path for the dynamic linker
++user-defined-trusted-dirs := /usr/lib
++
+ ifndef link-extra-libs
+ link-extra-libs = $(LDLIBS-$(@F))
+ link-extra-libs-static = $(link-extra-libs)
diff --git a/toolchain/glibc/patches/200-add-dl-search-paths.patch b/toolchain/glibc/patches/200-add-dl-search-paths.patch
deleted file mode 100644 (file)
index 8f720cb..0000000
+++ /dev/null
@@ -1,14 +0,0 @@
-add /usr/lib to default search path for the dynamic linker
-
---- a/Makeconfig
-+++ b/Makeconfig
-@@ -571,6 +571,9 @@ else
- default-rpath = $(libdir)
- endif
-+# Add /usr/lib to default search path for the dynamic linker
-+user-defined-trusted-dirs := /usr/lib
-+
- ifndef link-extra-libs
- link-extra-libs = $(LDLIBS-$(@F))
- link-extra-libs-static = $(link-extra-libs)