From 79da3d52642c6d0ae78d55b8108905da0a15e816 Mon Sep 17 00:00:00 2001 From: Victor Martinez Date: Sat, 28 Jul 2018 21:11:10 +0200 Subject: [PATCH] glibc: added missing patch --- glibc/.md5sum | 1 + glibc/Pkgfile | 21 +- glibc/glibc-2.27-2.patch | 17895 +++++++++++++++++++++++++++++++++++++ 3 files changed, 17912 insertions(+), 5 deletions(-) create mode 100644 glibc/glibc-2.27-2.patch diff --git a/glibc/.md5sum b/glibc/.md5sum index 088da58..5fae7bf 100644 --- a/glibc/.md5sum +++ b/glibc/.md5sum @@ -1,3 +1,4 @@ +360e6d4a42c595245c2132abd76697fe glibc-2.27-2.patch 898cd5656519ffbc3a03fe811dd89e82 glibc-2.27.tar.xz 96156bec8e05de67384dc93e72bdc313 host.conf fbbc215a9b15ba4846f326cc88108057 hosts diff --git a/glibc/Pkgfile b/glibc/Pkgfile index 9c79eab..0fc98a5 100644 --- a/glibc/Pkgfile +++ b/glibc/Pkgfile @@ -6,9 +6,10 @@ name=glibc version=2.27 -release=1 +release=2 source=(http://ftp.gnu.org/gnu/glibc/glibc-$version.tar.xz \ http://www.kernel.org/pub/linux/kernel/v4.x/linux-4.14.14.tar.xz \ + $name-$version-$release.patch \ hosts resolv.conf nsswitch.conf host.conf ld.so.conf) build() { @@ -17,6 +18,9 @@ build() { make mrproper make ARCH=arm headers_check make ARCH=arm INSTALL_HDR_PATH=$PKG/usr headers_install + chown root:root $PKG/usr + + patch -p1 -d $SRC/$name-${version:0:4} -i $SRC/$name-$version-$release.patch mkdir $SRC/build cd $SRC/build @@ -24,14 +28,15 @@ build() { --build=arm-unknown-linux-gnueabihf \ --libexecdir=/usr/lib \ --with-headers=$PKG/usr/include \ - --enable-kernel=2.6.25 \ + --enable-kernel=3.12 \ --enable-add-ons \ --enable-static-nss \ + --enable-stack-protector=strong \ + --enable-obsolete-rpc \ + --enable-obsolete-nsl \ --disable-profile \ --disable-werror \ - --without-gd \ - --enable-obsolete-rpc \ - --enable-obsolete-nsl + --without-gd make #make check @@ -42,6 +47,10 @@ build() { install -m 0644 $SRC/{hosts,resolv.conf,nsswitch.conf,host.conf,ld.so.conf} $PKG/etc + # install needed headers + install -d $PKG/usr/include/rpcsvc + install -m 0644 $SRC/$name-${version:0:4}/nis/rpcsvc/yp* $PKG/usr/include/rpcsvc + ln -sf ../usr/share/zoneinfo/UTC $PKG/etc/localtime ln -s stubs-hard.h $PKG/usr/include/gnu/stubs-soft.h install -d $PKG/etc/ld.so.conf.d $PKG/usr/lib/locale @@ -50,4 +59,6 @@ build() { rm -rf $PKG/usr/share/{info,locale} \ $PKG/usr/bin/tzselect \ $PKG/usr/sbin/z{dump,ic} + find $PKG -name "*install.cmd" -delete + find $PKG -name ".\install" -delete } diff --git a/glibc/glibc-2.27-2.patch b/glibc/glibc-2.27-2.patch new file mode 100644 index 0000000..d802c45 --- /dev/null +++ b/glibc/glibc-2.27-2.patch @@ -0,0 +1,17895 @@ +diff --git a/ChangeLog b/ChangeLog +index f3fe2716b2..6fba508ae1 100644 +--- a/ChangeLog ++++ b/ChangeLog +@@ -1,3 +1,431 @@ ++2018-05-24 Gabriel F. T. Gomes ++ ++ [BZ #23171] ++ * math/math.h [C++] (iseqsig): Fix parameter type for the long ++ double version. ++ ++2018-06-12 Carlos O'Donell ++ Andreas Schwab ++ Dmitry V. Levin ++ Florian Weimer ++ ++ [BZ #23102] ++ [BZ #21942] ++ [BZ #18018] ++ [BZ #23259] ++ CVE-2011-0536 ++ * elf/dl-dst.h: Remove DL_DST_COUNT. ++ * elf/dl-deps.c (expand_dst): Call _dl_dst_count. ++ * elf/dl-load.c (is_trusted_path_normalize): Don't handle colons. ++ (is_dst): Comment. Support ELF gABI. ++ (_dl_dst_count): Comment. Simplify and count DSTs. ++ (_dl_dst_substitute): Comment. Support __libc_enable_secure handling. ++ (expand_dybamic_string_token): Comment. Call _dl_dst_count. Rename ++ locals. ++ ++2018-06-12 Florian Weimer ++ ++ x86: Make strncmp usable from rtld. ++ * sysdeps/i386/i686/multiarch/strncmp-c.c: Only rename strncmp to ++ __strncmp_ia32 if in libc (and not in rtld). ++ * sysdeps/x86_64/multiarch/strncmp-sse2.S: Rename strcmp to ++ strncmp if not in libc (and not to __strncmp_sse2). ++ ++2018-06-01 Florian Weimer ++ ++ * sysdeps/i386/i686/fpu/multiarch/libm-test-ulps: Update from master ++ branch, commit e02c026f38505cd474ff1bdaa88fc671804f5805. ++ * sysdeps/i386/fpu/libm-test-ulps: Likewise. ++ ++2018-06-08 Adhemerval Zanella ++ ++ [BZ #23264] ++ * include/unistd.h (__execvpex): New prototype. ++ * posix/Makefile (tests): Add tst-spawn4. ++ (tests-internal): Add tst-spawn4-compat. ++ * posix/execvpe.c (__execvpe_common, __execvpex): New functions. ++ * posix/tst-spawn4-compat.c: New file. ++ * posix/tst-spawn4.c: Likewise. ++ * sysdeps/unix/sysv/linux/spawni.c (__spawni): Do not interpret invalid ++ binaries as shell scripts. ++ * sysdeps/posix/spawni.c (__spawni): Likewise. ++ * NEWS: Add BZ#22264. ++ ++2018-06-01 Florian Weimer ++ ++ [BZ #23236] ++ * libio/strfile.h (struct _IO_str_fields): Rename members to ++ discourage their use and add comment. ++ (_IO_STR_DYNAMIC): Remove unused macro. ++ * libio/strops.c (_IO_str_init_static_internal): Do not use ++ callback pointers. Call malloc and free. ++ (_IO_str_overflow): Do not use callback pointers. Call malloc ++ and free. ++ (enlarge_userbuf): Likewise. ++ (_IO_str_finish): Call free. ++ * libio/wstrops.c (_IO_wstr_init_static): Initialize ++ _allocate_buffer_unused. ++ (_IO_wstr_overflow): Do not use callback pointers. Call malloc ++ and free. ++ (enlarge_userbuf): Likewise. ++ (_IO_wstr_finish): Call free. ++ * debug/vasprintf_chk.c (__vasprintf_chk): Initialize ++ _allocate_buffer_unused, _free_buffer_unused. ++ * libio/memstream.c (__open_memstream): Likewise. ++ * libio/vasprintf.c (_IO_vasprintf): Likewise. ++ * libio/wmemstream.c (open_wmemstream): Likewise. ++ ++2018-05-23 H.J. Lu ++ ++ [BZ #23196] ++ * string/test-memcpy.c (do_test1): New function. ++ (test_main): Call it. ++ ++2018-05-23 Andreas Schwab ++ ++ [BZ #23196] ++ CVE-2018-11237 ++ * sysdeps/x86_64/multiarch/memmove-avx512-no-vzeroupper.S ++ (L(preloop_large)): Save initial destination pointer in %r11 and ++ use it instead of %rax after the loop. ++ * string/test-mempcpy.c (MIN_PAGE_SIZE): Define. ++ ++2018-05-11 Florian Weimer ++ ++ [BZ #23166] ++ * include/rpc/clnt.h (rpc_createerr): Declare hidden alias. ++ * include/rpc/svc.h (svc_pollfd, svc_max_pollfd, svc_fdset): ++ Likewise. ++ * sunrpc/rpc_common.c (svc_fdset, rpc_createerr, svc_pollfd) ++ (svc_max_pollfd): Add nocommon attribute and hidden alias. Do not ++ export without --enable-obsolete-rpc. ++ * sunrpc/svcauth_des.c (svcauthdes_stats): Turn into compatibility ++ symbol. This should not have been exported, ever. ++ ++2018-05-11 Rafal Luzynski ++ ++ [BZ #23152] ++ * localedata/locales/gd_GB (abmon): Fix typo in May: ++ "Mhàrt" -> "Cèit". Adjust the comment according to the change. ++ ++2018-05-09 Paul Pluzhnikov ++ ++ [BZ #22786] ++ CVE-2018-11236 ++ * stdlib/canonicalize.c (__realpath): Fix overflow in path length ++ computation. ++ * stdlib/Makefile (test-bz22786): New test. ++ * stdlib/test-bz22786.c: New test. ++ ++2018-05-05 Paul Pluzhnikov ++ ++ [BZ #20419] ++ * elf/dl-load.c (open_verify): Fix stack overflow. ++ * elf/Makefile (tst-big-note): New test. ++ * elf/tst-big-note-lib.S: New. ++ * elf/tst-big-note.c: New. ++ ++2018-05-04 Stefan Liebler ++ ++ [BZ #23137] ++ * sysdeps/nptl/lowlevellock.h (lll_wait_tid): ++ Use atomic_load_acquire to load __tid. ++ ++2018-04-24 Joseph Myers ++ ++ * sysdeps/unix/sysv/linux/sys/ptrace.h ++ (PTRACE_SECCOMP_GET_METADATA): New enum value and macro. ++ * sysdeps/unix/sysv/linux/bits/ptrace-shared.h ++ (struct __ptrace_seccomp_metadata): New type. ++ * sysdeps/unix/sysv/linux/aarch64/sys/ptrace.h ++ (PTRACE_SECCOMP_GET_METADATA): Likewise. ++ * sysdeps/unix/sysv/linux/arm/sys/ptrace.h ++ (PTRACE_SECCOMP_GET_METADATA): Likewise. ++ * sysdeps/unix/sysv/linux/ia64/sys/ptrace.h ++ (PTRACE_SECCOMP_GET_METADATA): Likewise. ++ * sysdeps/unix/sysv/linux/powerpc/sys/ptrace.h ++ (PTRACE_SECCOMP_GET_METADATA): Likewise. ++ * sysdeps/unix/sysv/linux/s390/sys/ptrace.h ++ (PTRACE_SECCOMP_GET_METADATA): Likewise. ++ * sysdeps/unix/sysv/linux/sparc/sys/ptrace.h ++ (PTRACE_SECCOMP_GET_METADATA): Likewise. ++ * sysdeps/unix/sysv/linux/tile/sys/ptrace.h ++ (PTRACE_SECCOMP_GET_METADATA): Likewise. ++ * sysdeps/unix/sysv/linux/x86/sys/ptrace.h ++ (PTRACE_SECCOMP_GET_METADATA): Likewise. ++ ++2018-04-09 Florian Weimer ++ ++ [BZ #23037] ++ * resolv/res_send.c (send_dg): Use designated initializers instead ++ of assignment to zero-initialize other fields of struct mmsghdr. ++ ++2018-04-06 Andreas Schwab ++ ++ * manual/charset.texi (Converting a Character): Fix typo. ++ ++2018-04-05 Florian Weimer ++ ++ * manual/examples/mbstouwcs.c (mbstouwcs): Fix loop termination, ++ integer overflow, memory leak on error, and indeterminate errno ++ value. Add a null wide character to terminate the result string. ++ * manual/charset.texi (Converting a Character): Mention embedded ++ null bytes in the mbrtowc input string. Explain what happens in ++ the -2 result case. Do not claim that mbrtowc is simple or ++ obvious to use. Adjust the description of the code example. Use ++ @code, not @var, for concrete variables. ++ ++2018-04-05 Florian Weimer ++ ++ * manual/examples/mbstouwcs.c: New file. ++ * manual/charset.texi (Converting a Character): Include it. ++ ++2018-04-03 H.J. Lu ++ ++ [BZ #22947] ++ * bits/uio-ext.h (RWF_APPEND): New. ++ * sysdeps/unix/sysv/linux/bits/uio-ext.h (RWF_APPEND): Likewise. ++ * manual/llio.texi: Document RWF_APPEND. ++ * misc/tst-preadvwritev2-common.c (RWF_APPEND): New. ++ (RWF_SUPPORTED): Add RWF_APPEND. ++ ++2018-03-27 Jesse Hathaway ++ ++ * sysdeps/unix/sysv/linux/getlogin_r.c (__getlogin_r_loginuid): Return ++ early when linux sentinel value is set. ++ ++2018-03-27 Andreas Schwab ++ ++ [BZ #23005] ++ * resolv/res_send.c (__res_context_send): Return ENOMEM if ++ allocation of private copy of nsaddr_list fails. ++ ++2018-03-20 Joseph Myers ++ ++ [BZ #17343] ++ * stdlib/random_r.c (__random_r): Use unsigned arithmetic for ++ possibly overflowing computations. ++ ++2018-04-26 Aurelien Jarno ++ ++ * signal/tst-sigaction.c: New file to test BZ #23069. ++ * signal/Makefile (tests): Fix indentation. Add tst-sigaction. ++ ++2018-04-28 Aurelien Jarno ++ ++ [BZ #23069] ++ * sysdeps/unix/sysv/linux/riscv/kernel_sigaction.h: New file. ++ ++2018-03-29 Florian Weimer ++ ++ * sysdeps/unix/sysv/linux/i386/tst-bz21269.c (do_test): Also ++ capture SIGBUS. ++ ++2018-03-23 Andrew Senkevich ++ Max Horn ++ ++ [BZ #22644] ++ CVE-2017-18269 ++ * sysdeps/i386/i686/multiarch/memcpy-sse2-unaligned.S: Fixed ++ branch conditions. ++ * string/test-memmove.c (do_test2): New testcase. ++ ++2018-02-22 Andrew Waterman ++ ++ [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. ++ * sysdeps/riscv/rvf/s_fminf.c (__fminf): Likewise. ++ ++2018-02-22 DJ Delorie ++ ++ * sysdeps/riscv/tls-macros.h: Do not initialize $gp. ++ ++2018-03-16 Rafal Luzynski ++ ++ [BZ #22963] ++ * localedata/locales/cs_CZ (mon): Rename to... ++ (alt_mon): This. ++ (mon): Import from CLDR (genitive case). ++ ++2018-03-16 Rafal Luzynski ++ ++ [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 ++ ++ [BZ #22932] ++ * localedata/locales/lt_LT (abmon): Synchronize with CLDR. ++ ++2018-03-16 Robert Buj ++ ++ [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 ++ ++ * po/pt_BR.po: Update translations. ++ ++2018-03-03 Adhemerval Zanella ++ ++ [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 ++ ++ [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 ++ ++ [BZ #22342] ++ * nscd/netgroupcache.c (addinnetgrX): Include trailing NUL in ++ key value. ++ ++2018-02-26 Dmitry V. Levin ++ ++ [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 ++ ++ * sysdeps/unix/sysv/linux/powerpc/sys/ptrace.h: Undefine Linux ++ macros used in __ptrace_request. ++ ++2018-02-21 Mike FABIAN ++ ++ [BZ #22517] ++ * localedata/locales/et_EE (LC_COLLATE): add missing “reorder-end” ++ ++2018-02-21 Rical Jasan ++ ++ * io/fcntl.h: Fix a typo in a comment. ++ ++2018-02-20 Rical Jasan ++ ++ * 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. ++ (_XOPEN_SOURCE): Document special values of 600 and 700. ++ (_ISOC11_SOURCE): Document macro. ++ (_ATFILE_SOURCE): Likewise. ++ (_FORTIFY_SOURCE): Likewise. ++ ++2018-03-09 Aurelien Jarno ++ ++ [BZ #22919] ++ * sysdeps/unix/sysv/linux/sparc/sparc32/setcontext.S (__startcontext): ++ Add nop before __startcontext, add explaining comments. ++ ++2018-03-07 Adhemerval Zanella ++ ++ [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 ++ ++ [BZ #6889] ++ * manual/filesys.texi (get_current_dir_name): Clarify behaviour. ++ ++2018-02-16 Rical Jasan ++ ++ * manual/platform.texi (__riscv_flush_icache): Fix @deftypefun ++ syntax. ++ ++2018-02-09 Rical Jasan ++ ++ * manual/creature.texi: Convert references to gcc.info to gcc. ++ * manual/stdio.texi: Likewise. ++ * manual/string.texi: Likewise. ++ ++2018-02-18 Aurelien Jarno ++ ++ [BZ #22818] ++ * posix/tst-glob_lstat_compat.c [__alpha__] (glob): Access ++ the GLIBC_2.1 version. ++ ++2018-02-02 Sean McKean ++ ++ [BZ #22735] ++ * time/time.h (clock): Reference CLOCKS_PER_SEC in comment. ++ ++2018-02-10 Dmitry V. Levin ++ ++ [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 ++ ++ * sysdeps/sh/libm-test-ulps: Update. ++ ++2018-02-09 DJ Delorie ++ ++ [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 ++ ++ [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 ++ ++ [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 + + * version.h (RELEASE): Set to "stable". +@@ -710,7 +1138,9 @@ + 2018-01-18 Arjun Shankar + + [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..2dab66e851 100644 +--- a/NEWS ++++ b/NEWS +@@ -5,6 +5,83 @@ See the end for copying conditions. + Please send GNU C library bug reports via + using `glibc' in the "product" field. + ++Version 2.27.1 ++ ++Major new features: ++ ++* Nominative and genitive month names are now supported for the Catalan and ++ Czech languages. The Catalan and Greek languages now support abbreviated ++ alternative month names. ++ ++* Parsing of dynamic string tokens in DT_RPATH, DT_RUNPATH, DT_NEEDED, ++ DT_AUXILIARY, and DT_FILTER has been expanded to support the full ++ range of ELF gABI expressions including such constructs as ++ '$ORIGIN$ORIGIN' (if valid). For SUID/GUID applications the rules ++ have been further restricted, and where in the past a dynamic string ++ token sequence may have been interpreted as a literal string it will ++ now cause a load failure. These load failures were always considered ++ unspecified behaviour from the perspective of the dynamic loader, and ++ for safety are now load errors e.g. /foo/${ORIGIN}.so in DT_NEEDED ++ results in a load failure now. ++ ++Security related changes: ++ ++ CVE-2017-18269: An SSE2-based memmove implementation for the i386 ++ architecture could corrupt memory. Reported by Max Horn. ++ ++ CVE-2018-11236: Very long pathname arguments to realpath function could ++ result in an integer overflow and buffer overflow. Reported by Alexey ++ Izbyshev. ++ ++ CVE-2018-11237: The mempcpy implementation for the Intel Xeon Phi ++ architecture could write beyond the target buffer, resulting in a buffer ++ overflow. Reported by Andreas Schwab. ++ ++The following bugs are resolved with this release: ++ ++ [6889] 'PWD' mentioned but not specified ++ [16335] Feature test macro documentation incomplete and out of date ++ [17343] Signed integer overflow in /stdlib/random_r.c ++ [18018] Additional $ORIGIN handling issues (CVE-2011-0536) ++ [20419] files with large allocated notes crash in open_verify ++ [21269] i386 sigaction sa_restorer handling is wrong ++ [21942] _dl_dst_substitute incorrectly handles $ORIGIN: with AT_SECURE=1 ++ [22342] NSCD not properly caching netgroup ++ [22638] sparc: static binaries are broken if glibc is built by gcc ++ configured with --enable-default-pie ++ [22644] memmove-sse2-unaligned on 32bit x86 produces garbage when crossing ++ 2GB threshold ++ [22735] Misleading typo in time.h source comment regarding CLOCKS_PER_SECOND ++ [22786] Stack buffer overflow in realpath() if input size is close ++ to SSIZE_MAX ++ [22797] Linux: use reserved name __key in pkey_get ++ [22807] PTRACE_* constants missing for powerpc ++ [22818] posix/tst-glob_lstat_compat failure on alpha ++ [22827] RISC-V ELF64 parser mis-reads flag in ldconfig ++ [22848] ca_ES: update date definitions from CLDR ++ [22884] RISCV fmax/fmin handle signalling NANs incorrectly ++ [22918] multiple common of `__nss_shadow_database' ++ [22919] sparc32: backtrace yields infinite backtrace with makecontext ++ [22926] FTBFS on powerpcspe ++ [22932] lt_LT: Update of abbreviated month names from CLDR required ++ [22937] Greek (el_GR, el_CY) locales actually need ab_alt_mon ++ [22947] FAIL: misc/tst-preadvwritev2 ++ [22963] cs_CZ: Add alternative month names ++ [23005] Crash in __res_context_send after memory allocation failure ++ [23037] initialize msg_flags to zero for sendmmsg() calls ++ [23069] sigaction broken on riscv64-linux-gnu ++ [23102] Incorrect parsing of consecutive $ variables in runpath entries ++ [23137] s390: pthread_join sometimes block indefinitely (on 31bit and libc ++ build with -Os) ++ [23152] gd_GB: Fix typo in "May" (abbreviated) ++ [23166] sunrpc: Remove stray exports without --enable-obsolete-rpc ++ [23171] Fix parameter type in C++ version of iseqsig ++ [23196] __mempcpy_avx512_no_vzeroupper mishandles large copies ++ [23236] Harden function pointers in _IO_str_fields ++ [23259] Unsubstituted ${ORIGIN} remains in DT_NEEDED for AT_SECURE ++ [23264] libc: posix_spawnp wrongly executes ENOEXEC in non compat mode ++ ++ + Version 2.27 + + Major new features: +@@ -262,6 +339,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/bits/uio-ext.h b/bits/uio-ext.h +index 8c15a05d9a..d5aa06fd08 100644 +--- a/bits/uio-ext.h ++++ b/bits/uio-ext.h +@@ -28,5 +28,6 @@ + #define RWF_DSYNC 0x00000002 /* per-IO O_DSYNC. */ + #define RWF_SYNC 0x00000004 /* per-IO O_SYNC. */ + #define RWF_NOWAIT 0x00000008 /* per-IO nonblocking mode. */ ++#define RWF_APPEND 0x00000010 /* per-IO O_APPEND. */ + + #endif /* sys/uio_ext.h */ +diff --git a/debug/vasprintf_chk.c b/debug/vasprintf_chk.c +index a00ef771e6..3eb64617fd 100644 +--- a/debug/vasprintf_chk.c ++++ b/debug/vasprintf_chk.c +@@ -55,8 +55,8 @@ __vasprintf_chk (char **result_ptr, int flags, const char *format, + _IO_JUMPS (&sf._sbf) = &_IO_str_jumps; + _IO_str_init_static_internal (&sf, string, init_string_size, string); + sf._sbf._f._flags &= ~_IO_USER_BUF; +- sf._s._allocate_buffer = (_IO_alloc_type) malloc; +- sf._s._free_buffer = (_IO_free_type) free; ++ sf._s._allocate_buffer_unused = (_IO_alloc_type) malloc; ++ sf._s._free_buffer_unused = (_IO_free_type) free; + + /* For flags > 0 (i.e. __USE_FORTIFY_LEVEL > 1) request that %n + can only come from read-only format strings. */ +diff --git a/elf/Makefile b/elf/Makefile +index 2a432d8bee..2d8fe88aa6 100644 +--- a/elf/Makefile ++++ b/elf/Makefile +@@ -187,7 +187,7 @@ tests += restest1 preloadtest loadfail multiload origtest resolvfail \ + tst-tlsalign tst-tlsalign-extern tst-nodelete-opened \ + tst-nodelete2 tst-audit11 tst-audit12 tst-dlsym-error tst-noload \ + tst-latepthread tst-tls-manydynamic tst-nodelete-dlclose \ +- tst-debug1 tst-main1 ++ tst-debug1 tst-main1 tst-big-note + # reldep9 + tests-internal += loadtest unload unload2 circleload1 \ + neededtest neededtest2 neededtest3 neededtest4 \ +@@ -272,7 +272,9 @@ modules-names = testobj1 testobj2 testobj3 testobj4 testobj5 testobj6 \ + tst-audit12mod1 tst-audit12mod2 tst-audit12mod3 tst-auditmod12 \ + tst-latepthreadmod $(tst-tls-many-dynamic-modules) \ + tst-nodelete-dlclose-dso tst-nodelete-dlclose-plugin \ +- tst-main1mod tst-libc_dlvsym-dso ++ tst-main1mod tst-libc_dlvsym-dso \ ++ tst-big-note-lib ++ + ifeq (yes,$(have-mtls-dialect-gnu2)) + tests += tst-gnu2-tls1 + modules-names += tst-gnu2-tls1mod +@@ -1446,3 +1448,5 @@ $(objpfx)tst-libc_dlvsym-static: $(common-objpfx)dlfcn/libdl.a + tst-libc_dlvsym-static-ENV = \ + LD_LIBRARY_PATH=$(objpfx):$(common-objpfx):$(common-objpfx)dlfcn + $(objpfx)tst-libc_dlvsym-static.out: $(objpfx)tst-libc_dlvsym-dso.so ++ ++$(objpfx)tst-big-note: $(objpfx)tst-big-note-lib.so +diff --git a/elf/dl-deps.c b/elf/dl-deps.c +index c975fcffd7..20b8e94f2e 100644 +--- a/elf/dl-deps.c ++++ b/elf/dl-deps.c +@@ -100,7 +100,7 @@ struct list + ({ \ + const char *__str = (str); \ + const char *__result = __str; \ +- size_t __dst_cnt = DL_DST_COUNT (__str); \ ++ size_t __dst_cnt = _dl_dst_count (__str); \ + \ + if (__dst_cnt != 0) \ + { \ +diff --git a/elf/dl-dst.h b/elf/dl-dst.h +index 32de5d225a..859032be0d 100644 +--- a/elf/dl-dst.h ++++ b/elf/dl-dst.h +@@ -18,19 +18,6 @@ + + #include "trusted-dirs.h" + +-/* Determine the number of DST elements in the name. Only if IS_PATH is +- nonzero paths are recognized (i.e., multiple, ':' separated filenames). */ +-#define DL_DST_COUNT(name) \ +- ({ \ +- size_t __cnt = 0; \ +- const char *__sf = strchr (name, '$'); \ +- \ +- if (__glibc_unlikely (__sf != NULL)) \ +- __cnt = _dl_dst_count (__sf); \ +- \ +- __cnt; }) +- +- + #ifdef SHARED + # define IS_RTLD(l) (l) == &GL(dl_rtld_map) + #else +diff --git a/elf/dl-load.c b/elf/dl-load.c +index 7554a99b5a..b20e2a46d0 100644 +--- a/elf/dl-load.c ++++ b/elf/dl-load.c +@@ -122,12 +122,6 @@ is_trusted_path_normalize (const char *path, size_t len) + if (len == 0) + return false; + +- if (*path == ':') +- { +- ++path; +- --len; +- } +- + char *npath = (char *) alloca (len + 2); + char *wnp = npath; + while (*path != '\0') +@@ -178,114 +172,165 @@ is_trusted_path_normalize (const char *path, size_t len) + return false; + } + ++/* Given a substring starting at INPUT, just after the DST '$' start ++ token, determine if INPUT contains DST token REF, following the ++ ELF gABI rules for DSTs: ++ ++ * Longest possible sequence using the rules (greedy). + ++ * Must start with a $ (enforced by caller). ++ ++ * Must follow $ with one underscore or ASCII [A-Za-z] (caller ++ follows these rules for REF) or '{' (start curly quoted name). ++ ++ * Must follow first two characters with zero or more [A-Za-z0-9_] ++ (enforced by caller) or '}' (end curly quoted name). ++ ++ If the sequence is a DST matching REF then the length of the DST ++ (excluding the $ sign but including curly braces, if any) is ++ returned, otherwise 0. */ + static size_t +-is_dst (const char *start, const char *name, const char *str, int secure) ++is_dst (const char *input, const char *ref) + { +- size_t len; + bool is_curly = false; + +- if (name[0] == '{') ++ /* Is a ${...} input sequence? */ ++ if (input[0] == '{') + { + is_curly = true; +- ++name; +- } +- +- len = 0; +- while (name[len] == str[len] && name[len] != '\0') +- ++len; +- +- if (is_curly) +- { +- if (name[len] != '}') +- return 0; +- +- /* Point again at the beginning of the name. */ +- --name; +- /* Skip over closing curly brace and adjust for the --name. */ +- len += 2; ++ ++input; + } +- else if (name[len] != '\0' && name[len] != '/') +- return 0; + +- if (__glibc_unlikely (secure) +- && ((name[len] != '\0' && name[len] != '/') +- || (name != start + 1))) ++ /* Check for matching name, following closing curly brace (if ++ required), or trailing characters which are part of an ++ identifier. */ ++ size_t rlen = strlen (ref); ++ if (strncmp (input, ref, rlen) != 0 ++ || (is_curly && input[rlen] != '}') ++ || ((input[rlen] >= 'A' && input[rlen] <= 'Z') ++ || (input[rlen] >= 'a' && input[rlen] <= 'z') ++ || (input[rlen] >= '0' && input[rlen] <= '9') ++ || (input[rlen] == '_'))) + return 0; + +- return len; ++ if (is_curly) ++ /* Count the two curly braces. */ ++ return rlen + 2; ++ else ++ return rlen; + } + +- ++/* INPUT is the start of a DST sequence at the first '$' occurrence. ++ If there is a DST we call into _dl_dst_count to count the number of ++ DSTs. We count all known DSTs regardless of __libc_enable_secure; ++ the caller is responsible for enforcing the security of the ++ substitution rules (usually _dl_dst_substitute). */ + size_t +-_dl_dst_count (const char *name) ++_dl_dst_count (const char *input) + { +- const char *const start = name; + size_t cnt = 0; + ++ input = strchr (input, '$'); ++ ++ /* Most likely there is no DST. */ ++ if (__glibc_likely (input == NULL)) ++ return 0; ++ + do + { + size_t len; + +- /* $ORIGIN is not expanded for SUID/GUID programs (except if it +- is $ORIGIN alone) and it must always appear first in path. */ +- ++name; +- if ((len = is_dst (start, name, "ORIGIN", __libc_enable_secure)) != 0 +- || (len = is_dst (start, name, "PLATFORM", 0)) != 0 +- || (len = is_dst (start, name, "LIB", 0)) != 0) ++ ++input; ++ /* All DSTs must follow ELF gABI rules, see is_dst (). */ ++ if ((len = is_dst (input, "ORIGIN")) != 0 ++ || (len = is_dst (input, "PLATFORM")) != 0 ++ || (len = is_dst (input, "LIB")) != 0) + ++cnt; + +- name = strchr (name + len, '$'); ++ /* There may be more than one DST in the input. */ ++ input = strchr (input + len, '$'); + } +- while (name != NULL); ++ while (input != NULL); + + return cnt; + } + +- ++/* Process INPUT for DSTs and store in RESULT using the information ++ from link map L to resolve the DSTs. This function only handles one ++ path at a time and does not handle colon-separated path lists (see ++ fillin_rpath ()). Lastly the size of result in bytes should be at ++ least equal to the value returned by DL_DST_REQUIRED. Note that it ++ is possible for a DT_NEEDED, DT_AUXILIARY, and DT_FILTER entries to ++ have colons, but we treat those as literal colons here, not as path ++ list delimeters. */ + char * +-_dl_dst_substitute (struct link_map *l, const char *name, char *result) ++_dl_dst_substitute (struct link_map *l, const char *input, char *result) + { +- const char *const start = name; +- +- /* Now fill the result path. While copying over the string we keep +- track of the start of the last path element. When we come across +- a DST we copy over the value or (if the value is not available) +- leave the entire path element out. */ ++ /* Copy character-by-character from input into the working pointer ++ looking for any DSTs. We track the start of input and if we are ++ going to check for trusted paths, all of which are part of $ORIGIN ++ handling in SUID/SGID cases (see below). In some cases, like when ++ a DST cannot be replaced, we may set result to an empty string and ++ return. */ + char *wp = result; +- char *last_elem = result; ++ const char *start = input; + bool check_for_trusted = false; + + do + { +- if (__glibc_unlikely (*name == '$')) ++ if (__glibc_unlikely (*input == '$')) + { + const char *repl = NULL; + size_t len; + +- ++name; +- if ((len = is_dst (start, name, "ORIGIN", __libc_enable_secure)) != 0) ++ ++input; ++ if ((len = is_dst (input, "ORIGIN")) != 0) + { +- repl = l->l_origin; ++ /* For SUID/GUID programs we normally ignore the path with ++ $ORIGIN in DT_RUNPATH, or DT_RPATH. However, there is ++ one exception to this rule, and it is: ++ ++ * $ORIGIN appears as the first path element, and is ++ the only string in the path or is immediately ++ followed by a path separator and the rest of the ++ path. ++ ++ * The path is rooted in a trusted directory. ++ ++ This exception allows such programs to reference ++ shared libraries in subdirectories of trusted ++ directories. The use case is one of general ++ organization and deployment flexibility. ++ Trusted directories are usually such paths as "/lib64" ++ or "/usr/lib64", and the usual RPATHs take the form of ++ [$ORIGIN/../$LIB/somedir]. */ ++ if (__glibc_unlikely (__libc_enable_secure) ++ && !(input == start + 1 ++ && (input[len] == '\0' || input[len] == '/'))) ++ repl = (const char *) -1; ++ else ++ repl = l->l_origin; ++ + check_for_trusted = (__libc_enable_secure + && l->l_type == lt_executable); + } +- else if ((len = is_dst (start, name, "PLATFORM", 0)) != 0) ++ else if ((len = is_dst (input, "PLATFORM")) != 0) + repl = GLRO(dl_platform); +- else if ((len = is_dst (start, name, "LIB", 0)) != 0) ++ else if ((len = is_dst (input, "LIB")) != 0) + repl = DL_DST_LIB; + + if (repl != NULL && repl != (const char *) -1) + { + wp = __stpcpy (wp, repl); +- name += len; ++ input += len; + } +- else if (len > 1) ++ else if (len != 0) + { +- /* We cannot use this path element, the value of the +- replacement is unknown. */ +- wp = last_elem; +- break; ++ /* We found a valid DST that we know about, but we could ++ not find a replacement value for it, therefore we ++ cannot use this path and discard it. */ ++ *result = '\0'; ++ return result; + } + else + /* No DST we recognize. */ +@@ -293,16 +338,26 @@ _dl_dst_substitute (struct link_map *l, const char *name, char *result) + } + else + { +- *wp++ = *name++; ++ *wp++ = *input++; + } + } +- while (*name != '\0'); ++ while (*input != '\0'); + + /* In SUID/SGID programs, after $ORIGIN expansion the normalized +- path must be rooted in one of the trusted directories. */ ++ path must be rooted in one of the trusted directories. The $LIB ++ and $PLATFORM DST cannot in any way be manipulated by the caller ++ because they are fixed values that are set by the dynamic loader ++ and therefore any paths using just $LIB or $PLATFORM need not be ++ checked for trust, the authors of the binaries themselves are ++ trusted to have designed this correctly. Only $ORIGIN is tested in ++ this way because it may be manipulated in some ways with hard ++ links. */ + if (__glibc_unlikely (check_for_trusted) +- && !is_trusted_path_normalize (last_elem, wp - last_elem)) +- wp = last_elem; ++ && !is_trusted_path_normalize (result, wp - result)) ++ { ++ *result = '\0'; ++ return result; ++ } + + *wp = '\0'; + +@@ -310,13 +365,13 @@ _dl_dst_substitute (struct link_map *l, const char *name, char *result) + } + + +-/* Return copy of argument with all recognized dynamic string tokens +- ($ORIGIN and $PLATFORM for now) replaced. On some platforms it +- might not be possible to determine the path from which the object +- belonging to the map is loaded. In this case the path element +- containing $ORIGIN is left out. */ ++/* Return a malloc allocated copy of INPUT with all recognized DSTs ++ replaced. On some platforms it might not be possible to determine the ++ path from which the object belonging to the map is loaded. In this ++ case the path containing the DST is left out. On error NULL ++ is returned. */ + static char * +-expand_dynamic_string_token (struct link_map *l, const char *s) ++expand_dynamic_string_token (struct link_map *l, const char *input) + { + /* We make two runs over the string. First we determine how large the + resulting string is and then we copy it over. Since this is no +@@ -326,22 +381,22 @@ expand_dynamic_string_token (struct link_map *l, const char *s) + size_t total; + char *result; + +- /* Determine the number of DST elements. */ +- cnt = DL_DST_COUNT (s); ++ /* Determine the number of DSTs. */ ++ cnt = _dl_dst_count (input); + + /* If we do not have to replace anything simply copy the string. */ + if (__glibc_likely (cnt == 0)) +- return __strdup (s); ++ return __strdup (input); + + /* Determine the length of the substituted string. */ +- total = DL_DST_REQUIRED (l, s, strlen (s), cnt); ++ total = DL_DST_REQUIRED (l, input, strlen (input), cnt); + + /* Allocate the necessary memory. */ + result = (char *) malloc (total + 1); + if (result == NULL) + return NULL; + +- return _dl_dst_substitute (l, s, result); ++ return _dl_dst_substitute (l, input, result); + } + + +@@ -1469,6 +1524,7 @@ open_verify (const char *name, int fd, + ElfW(Ehdr) *ehdr; + ElfW(Phdr) *phdr, *ph; + ElfW(Word) *abi_note; ++ ElfW(Word) *abi_note_malloced = NULL; + unsigned int osversion; + size_t maplength; + +@@ -1640,10 +1696,25 @@ open_verify (const char *name, int fd, + abi_note = (void *) (fbp->buf + ph->p_offset); + else + { +- abi_note = alloca (size); ++ /* Note: __libc_use_alloca is not usable here, because ++ thread info may not have been set up yet. */ ++ if (size < __MAX_ALLOCA_CUTOFF) ++ abi_note = alloca (size); ++ else ++ { ++ /* There could be multiple PT_NOTEs. */ ++ abi_note_malloced = realloc (abi_note_malloced, size); ++ if (abi_note_malloced == NULL) ++ goto read_error; ++ ++ abi_note = abi_note_malloced; ++ } + __lseek (fd, ph->p_offset, SEEK_SET); + if (__libc_read (fd, (void *) abi_note, size) != size) +- goto read_error; ++ { ++ free (abi_note_malloced); ++ goto read_error; ++ } + } + + while (memcmp (abi_note, &expected_note, sizeof (expected_note))) +@@ -1678,6 +1749,7 @@ open_verify (const char *name, int fd, + + break; + } ++ free (abi_note_malloced); + } + + return fd; +diff --git a/elf/tst-big-note-lib.S b/elf/tst-big-note-lib.S +new file mode 100644 +index 0000000000..6b514a03cc +--- /dev/null ++++ b/elf/tst-big-note-lib.S +@@ -0,0 +1,26 @@ ++/* Bug 20419: test for stack overflow in elf/dl-load.c open_verify() ++ Copyright (C) 2018 Free Software Foundation, Inc. ++ This file is part of the GNU C Library. ++ ++ The GNU C Library is free software; you can redistribute it and/or ++ modify it under the terms of the GNU Lesser General Public ++ License as published by the Free Software Foundation; either ++ version 2.1 of the License, or (at your option) any later version. ++ ++ The GNU C Library is distributed in the hope that it will be useful, ++ but WITHOUT ANY WARRANTY; without even the implied warranty of ++ MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU ++ Lesser General Public License for more details. ++ ++ You should have received a copy of the GNU Lesser General Public ++ License along with the GNU C Library; if not, see ++ . */ ++ ++/* This creates a .so with 8MiB PT_NOTE segment. ++ On a typical Linux system with 8MiB "ulimit -s", that was enough ++ to trigger stack overflow in open_verify. */ ++ ++.pushsection .note.big,"a" ++.balign 4 ++.fill 8*1024*1024, 1, 0 ++.popsection +diff --git a/elf/tst-big-note.c b/elf/tst-big-note.c +new file mode 100644 +index 0000000000..fcd2b0ed82 +--- /dev/null ++++ b/elf/tst-big-note.c +@@ -0,0 +1,26 @@ ++/* Bug 20419: test for stack overflow in elf/dl-load.c open_verify() ++ Copyright (C) 2018 Free Software Foundation, Inc. ++ This file is part of the GNU C Library. ++ ++ The GNU C Library is free software; you can redistribute it and/or ++ modify it under the terms of the GNU Lesser General Public ++ License as published by the Free Software Foundation; either ++ version 2.1 of the License, or (at your option) any later version. ++ ++ The GNU C Library is distributed in the hope that it will be useful, ++ but WITHOUT ANY WARRANTY; without even the implied warranty of ++ MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU ++ Lesser General Public License for more details. ++ ++ You should have received a copy of the GNU Lesser General Public ++ License along with the GNU C Library; if not, see ++ . */ ++ ++/* This file must be run from within a directory called "elf". */ ++ ++int main (int argc, char *argv[]) ++{ ++ /* Nothing to do here: merely linking against tst-big-note-lib.so triggers ++ the bug. */ ++ return 0; ++} +diff --git a/include/rpc/clnt.h b/include/rpc/clnt.h +index a397023a93..80be0a9cec 100644 +--- a/include/rpc/clnt.h ++++ b/include/rpc/clnt.h +@@ -28,6 +28,7 @@ libc_hidden_proto (clntudp_create) + libc_hidden_proto (get_myaddress) + libc_hidden_proto (clntunix_create) + libc_hidden_proto (__libc_clntudp_bufcreate) ++libc_hidden_proto (rpc_createerr) + + # endif /* !_ISOMAC */ + #endif +diff --git a/include/rpc/svc.h b/include/rpc/svc.h +index 465bf4427d..40ba2546a9 100644 +--- a/include/rpc/svc.h ++++ b/include/rpc/svc.h +@@ -3,6 +3,10 @@ + + # ifndef _ISOMAC + ++libc_hidden_proto (svc_pollfd) ++libc_hidden_proto (svc_max_pollfd) ++libc_hidden_proto (svc_fdset) ++ + libc_hidden_proto (xprt_register) + libc_hidden_proto (xprt_unregister) + libc_hidden_proto (svc_register) +diff --git a/include/unistd.h b/include/unistd.h +index 0f91b8babc..a171b00326 100644 +--- a/include/unistd.h ++++ b/include/unistd.h +@@ -77,6 +77,8 @@ extern char *__getcwd (char *__buf, size_t __size) attribute_hidden; + extern int __rmdir (const char *__path) attribute_hidden; + extern int __execvpe (const char *file, char *const argv[], + char *const envp[]) attribute_hidden; ++extern int __execvpex (const char *file, char *const argv[], ++ char *const envp[]) attribute_hidden; + + /* Get the canonical absolute name of the named directory, and put it in SIZE + bytes of BUF. Returns NULL if the directory couldn't be determined or +diff --git a/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/libio/memstream.c b/libio/memstream.c +index d86befcc02..c5c7c2f6db 100644 +--- a/libio/memstream.c ++++ b/libio/memstream.c +@@ -90,8 +90,8 @@ __open_memstream (char **bufloc, _IO_size_t *sizeloc) + _IO_JUMPS_FILE_plus (&new_f->fp._sf._sbf) = &_IO_mem_jumps; + _IO_str_init_static_internal (&new_f->fp._sf, buf, _IO_BUFSIZ, buf); + new_f->fp._sf._sbf._f._flags &= ~_IO_USER_BUF; +- new_f->fp._sf._s._allocate_buffer = (_IO_alloc_type) malloc; +- new_f->fp._sf._s._free_buffer = (_IO_free_type) free; ++ new_f->fp._sf._s._allocate_buffer_unused = (_IO_alloc_type) malloc; ++ new_f->fp._sf._s._free_buffer_unused = (_IO_free_type) free; + + new_f->fp.bufloc = bufloc; + new_f->fp.sizeloc = sizeloc; +diff --git a/libio/strfile.h b/libio/strfile.h +index 68dfcbfe83..52a085e580 100644 +--- a/libio/strfile.h ++++ b/libio/strfile.h +@@ -31,8 +31,11 @@ typedef void (*_IO_free_type) (void*); + + struct _IO_str_fields + { +- _IO_alloc_type _allocate_buffer; +- _IO_free_type _free_buffer; ++ /* These members are preserved for ABI compatibility. The glibc ++ implementation always calls malloc/free for user buffers if ++ _IO_USER_BUF or _IO_FLAGS2_USER_WBUF are not set. */ ++ _IO_alloc_type _allocate_buffer_unused; ++ _IO_free_type _free_buffer_unused; + }; + + /* This is needed for the Irix6 N32 ABI, which has a 64 bit off_t type, +@@ -52,10 +55,6 @@ typedef struct _IO_strfile_ + struct _IO_str_fields _s; + } _IO_strfile; + +-/* dynamic: set when the array object is allocated (or reallocated) as +- necessary to hold a character sequence that can change in length. */ +-#define _IO_STR_DYNAMIC(FP) ((FP)->_s._allocate_buffer != (_IO_alloc_type)0) +- + /* frozen: set when the program has requested that the array object not + be altered, reallocated, or freed. */ + #define _IO_STR_FROZEN(FP) ((FP)->_f._IO_file_flags & _IO_USER_BUF) +diff --git a/libio/strops.c b/libio/strops.c +index ac995c830e..5fb38976e3 100644 +--- a/libio/strops.c ++++ b/libio/strops.c +@@ -61,7 +61,7 @@ _IO_str_init_static_internal (_IO_strfile *sf, char *ptr, _IO_size_t size, + fp->_IO_read_end = end; + } + /* A null _allocate_buffer function flags the strfile as being static. */ +- sf->_s._allocate_buffer = (_IO_alloc_type) 0; ++ sf->_s._allocate_buffer_unused = (_IO_alloc_type) 0; + } + + void +@@ -103,8 +103,7 @@ _IO_str_overflow (_IO_FILE *fp, int c) + _IO_size_t new_size = 2 * old_blen + 100; + if (new_size < old_blen) + return EOF; +- new_buf +- = (char *) (*((_IO_strfile *) fp)->_s._allocate_buffer) (new_size); ++ new_buf = malloc (new_size); + if (new_buf == NULL) + { + /* __ferror(fp) = 1; */ +@@ -113,7 +112,7 @@ _IO_str_overflow (_IO_FILE *fp, int c) + if (old_buf) + { + memcpy (new_buf, old_buf, old_blen); +- (*((_IO_strfile *) fp)->_s._free_buffer) (old_buf); ++ free (old_buf); + /* Make sure _IO_setb won't try to delete _IO_buf_base. */ + fp->_IO_buf_base = NULL; + } +@@ -182,15 +181,14 @@ enlarge_userbuf (_IO_FILE *fp, _IO_off64_t offset, int reading) + + _IO_size_t newsize = offset + 100; + char *oldbuf = fp->_IO_buf_base; +- char *newbuf +- = (char *) (*((_IO_strfile *) fp)->_s._allocate_buffer) (newsize); ++ char *newbuf = malloc (newsize); + if (newbuf == NULL) + return 1; + + if (oldbuf != NULL) + { + memcpy (newbuf, oldbuf, _IO_blen (fp)); +- (*((_IO_strfile *) fp)->_s._free_buffer) (oldbuf); ++ free (oldbuf); + /* Make sure _IO_setb won't try to delete + _IO_buf_base. */ + fp->_IO_buf_base = NULL; +@@ -346,7 +344,7 @@ void + _IO_str_finish (_IO_FILE *fp, int dummy) + { + if (fp->_IO_buf_base && !(fp->_flags & _IO_USER_BUF)) +- (((_IO_strfile *) fp)->_s._free_buffer) (fp->_IO_buf_base); ++ free (fp->_IO_buf_base); + fp->_IO_buf_base = NULL; + + _IO_default_finish (fp, 0); +diff --git a/libio/vasprintf.c b/libio/vasprintf.c +index 390a63d124..0bb217e46e 100644 +--- a/libio/vasprintf.c ++++ b/libio/vasprintf.c +@@ -54,8 +54,8 @@ _IO_vasprintf (char **result_ptr, const char *format, _IO_va_list args) + _IO_JUMPS (&sf._sbf) = &_IO_str_jumps; + _IO_str_init_static_internal (&sf, string, init_string_size, string); + sf._sbf._f._flags &= ~_IO_USER_BUF; +- sf._s._allocate_buffer = (_IO_alloc_type) malloc; +- sf._s._free_buffer = (_IO_free_type) free; ++ sf._s._allocate_buffer_unused = (_IO_alloc_type) malloc; ++ sf._s._free_buffer_unused = (_IO_free_type) free; + ret = _IO_vfprintf (&sf._sbf._f, format, args); + if (ret < 0) + { +diff --git a/libio/wmemstream.c b/libio/wmemstream.c +index c962071d26..f4c6e75246 100644 +--- a/libio/wmemstream.c ++++ b/libio/wmemstream.c +@@ -92,8 +92,8 @@ open_wmemstream (wchar_t **bufloc, _IO_size_t *sizeloc) + _IO_wstr_init_static (&new_f->fp._sf._sbf._f, buf, + _IO_BUFSIZ / sizeof (wchar_t), buf); + new_f->fp._sf._sbf._f._flags2 &= ~_IO_FLAGS2_USER_WBUF; +- new_f->fp._sf._s._allocate_buffer = (_IO_alloc_type) malloc; +- new_f->fp._sf._s._free_buffer = (_IO_free_type) free; ++ new_f->fp._sf._s._allocate_buffer_unused = (_IO_alloc_type) malloc; ++ new_f->fp._sf._s._free_buffer_unused = (_IO_free_type) free; + + new_f->fp.bufloc = bufloc; + new_f->fp.sizeloc = sizeloc; +diff --git a/libio/wstrops.c b/libio/wstrops.c +index a3374a7b15..0839a70bfb 100644 +--- a/libio/wstrops.c ++++ b/libio/wstrops.c +@@ -63,7 +63,7 @@ _IO_wstr_init_static (_IO_FILE *fp, wchar_t *ptr, _IO_size_t size, + fp->_wide_data->_IO_read_end = end; + } + /* A null _allocate_buffer function flags the strfile as being static. */ +- (((_IO_strfile *) fp)->_s._allocate_buffer) = (_IO_alloc_type)0; ++ (((_IO_strfile *) fp)->_s._allocate_buffer_unused) = (_IO_alloc_type)0; + } + + _IO_wint_t +@@ -95,9 +95,7 @@ _IO_wstr_overflow (_IO_FILE *fp, _IO_wint_t c) + || __glibc_unlikely (new_size > SIZE_MAX / sizeof (wchar_t))) + return EOF; + +- new_buf +- = (wchar_t *) (*((_IO_strfile *) fp)->_s._allocate_buffer) (new_size +- * sizeof (wchar_t)); ++ new_buf = malloc (new_size * sizeof (wchar_t)); + if (new_buf == NULL) + { + /* __ferror(fp) = 1; */ +@@ -106,7 +104,7 @@ _IO_wstr_overflow (_IO_FILE *fp, _IO_wint_t c) + if (old_buf) + { + __wmemcpy (new_buf, old_buf, old_wblen); +- (*((_IO_strfile *) fp)->_s._free_buffer) (old_buf); ++ free (old_buf); + /* Make sure _IO_setb won't try to delete _IO_buf_base. */ + fp->_wide_data->_IO_buf_base = NULL; + } +@@ -186,16 +184,14 @@ enlarge_userbuf (_IO_FILE *fp, _IO_off64_t offset, int reading) + return 1; + + wchar_t *oldbuf = wd->_IO_buf_base; +- wchar_t *newbuf +- = (wchar_t *) (*((_IO_strfile *) fp)->_s._allocate_buffer) (newsize +- * sizeof (wchar_t)); ++ wchar_t *newbuf = malloc (newsize * sizeof (wchar_t)); + if (newbuf == NULL) + return 1; + + if (oldbuf != NULL) + { + __wmemcpy (newbuf, oldbuf, _IO_wblen (fp)); +- (*((_IO_strfile *) fp)->_s._free_buffer) (oldbuf); ++ free (oldbuf); + /* Make sure _IO_setb won't try to delete + _IO_buf_base. */ + wd->_IO_buf_base = NULL; +@@ -357,7 +353,7 @@ void + _IO_wstr_finish (_IO_FILE *fp, int dummy) + { + if (fp->_wide_data->_IO_buf_base && !(fp->_flags2 & _IO_FLAGS2_USER_WBUF)) +- (((_IO_strfile *) fp)->_s._free_buffer) (fp->_wide_data->_IO_buf_base); ++ free (fp->_wide_data->_IO_buf_base); + fp->_wide_data->_IO_buf_base = NULL; + + _IO_wdefault_finish (fp, 0); +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";/ +- "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";/ ++ "abr.";/ ++ "maig";/ ++ "juny";/ ++ "jul.";/ ++ "ag.";/ ++ "set.";/ ++ "oct.";/ ++ "nov.";/ ++ "des." ++abmon "de gen.";/ ++ "de febr.";/ ++ "de mar";/ ++ "dabr.";/ ++ "de maig";/ ++ "de juny";/ ++ "de jul.";/ ++ "dag.";/ ++ "de set.";/ ++ "doct.";/ ++ "de nov.";/ ++ "de des." ++alt_mon "gener";/ ++ "febrer";/ ++ "mar";/ ++ "abril";/ ++ "maig";/ ++ "juny";/ ++ "juliol";/ ++ "agost";/ ++ "setembre";/ ++ "octubre";/ ++ "novembre";/ ++ "desembre" ++mon "de gener";/ ++ "de febrer";/ ++ "de mar";/ ++ "dabril";/ ++ "de maig";/ ++ "de juny";/ ++ "de juliol";/ ++ "dagost";/ ++ "de setembre";/ ++ "doctubre";/ ++ "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" + lang_ab "ca" + lang_term "cat" +-lang_lib "cat" ++lang_lib "cat" + END LC_ADDRESS +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 "Nedle";/ + "Ptek";/ + "Sobota" + +-mon "leden";/ ++alt_mon "leden";/ + "nor";/ + "bezen";/ + "duben";/ +@@ -334,6 +334,19 @@ abmon "led";/ + % "Nov";/ + % "Dec" + ++mon "ledna";/ ++ "nora";/ ++ "bezna";/ ++ "dubna";/ ++ "kvtna";/ ++ "ervna";/ ++ "ervence";/ ++ "srpna";/ ++ "z";/ ++ "jna";/ ++ "listopadu";/ ++ "prosince" ++ + week 7;19971130;4 + first_weekday 2 + +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 "";/ + "";/ + "";/ + "" +-abmon "";"";/ ++ab_alt_mon "";"";/ + "";"";/ + "";"";/ + "";"";/ + "";"";/ + "";"" ++abmon "";"";/ ++ "";"";/ ++ "";"";/ ++ "";"";/ ++ "";"";/ ++ "";"" + alt_mon "";/ + "";/ + "";/ +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 "";/ + "";/ + "";/ + "" +-abmon "";"";/ ++ab_alt_mon "";"";/ + "";"";/ + "";"";/ + "";"";/ + "";"";/ + "";"" ++abmon "";"";/ ++ "";"";/ ++ "";"";/ ++ "";"";/ ++ "";"";/ ++ "";"" + alt_mon "";/ + "";/ + "";/ +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 + ;;;IGNORE % ü + ;;;IGNORE % Ü + ++reorder-end ++ + END LC_COLLATE + + LC_CTYPE +diff --git a/localedata/locales/gd_GB b/localedata/locales/gd_GB +index 676ee940c9..77d11e5977 100644 +--- a/localedata/locales/gd_GB ++++ b/localedata/locales/gd_GB +@@ -66,12 +66,12 @@ mon "Am Faoilleach";/ + "An Dmhair";/ + "An t-Samhain";/ + "An Dbhlachd" +-% Faoi, Gearr, Màrt, Gibl, Mhàrt, Ògmh, Iuch, Lùna, Sult, Dàmh, Samh, Dùbh ++% Faoi, Gearr, Màrt, Gibl, Cèit, Ògmh, Iuch, Lùna, Sult, Dàmh, Samh, Dùbh + abmon "Faoi";/ + "Gearr";/ + "Mrt";/ + "Gibl";/ +- "Mhrt";/ ++ "Cit";/ + "gmh";/ + "Iuch";/ + "Lna";/ +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";/ + "etadienis" +-abmon "Sau";"Vas";/ +- "Kov";"Bal";/ +- "Geg";"Bir";/ +- "Lie";"Rgp";/ +- "Rgs";"Spa";/ +- "Lap";"Grd" ++abmon "saus.";"vas.";/ ++ "kov.";"bal.";/ ++ "geg.";"bir.";/ ++ "liep.";"rugp.";/ ++ "rugs.";"spal.";/ ++ "lapkr.";"gruod." + alt_mon "sausis";/ + "vasaris";/ + "kovas";/ +diff --git a/manual/charset.texi b/manual/charset.texi +index 1867ace485..f6a980f6cb 100644 +--- a/manual/charset.texi ++++ b/manual/charset.texi +@@ -643,8 +643,8 @@ and they also do not require it to be in the initial state. + @cindex stateful + The @code{mbrtowc} function (``multibyte restartable to wide + character'') converts the next multibyte character in the string pointed +-to by @var{s} into a wide character and stores it in the wide character +-string pointed to by @var{pwc}. The conversion is performed according ++to by @var{s} into a wide character and stores it in the location ++pointed to by @var{pwc}. The conversion is performed according + to the locale currently selected for the @code{LC_CTYPE} category. If + the conversion for the character set used in the locale requires a state, + the multibyte string is interpreted in the state represented by the +@@ -652,7 +652,7 @@ object pointed to by @var{ps}. If @var{ps} is a null pointer, a static, + internal state variable used only by the @code{mbrtowc} function is + used. + +-If the next multibyte character corresponds to the NUL wide character, ++If the next multibyte character corresponds to the null wide character, + the return value of the function is @math{0} and the state object is + afterwards in the initial state. If the next @var{n} or fewer bytes + form a correct multibyte character, the return value is the number of +@@ -665,71 +665,59 @@ by @var{pwc} if @var{pwc} is not null. + If the first @var{n} bytes of the multibyte string possibly form a valid + multibyte character but there are more than @var{n} bytes needed to + complete it, the return value of the function is @code{(size_t) -2} and +-no value is stored. Please note that this can happen even if @var{n} +-has a value greater than or equal to @code{MB_CUR_MAX} since the input +-might contain redundant shift sequences. ++no value is stored in @code{*@var{pwc}}. The conversion state is ++updated and all @var{n} input bytes are consumed and should not be ++submitted again. Please note that this can happen even if @var{n} has a ++value greater than or equal to @code{MB_CUR_MAX} since the input might ++contain redundant shift sequences. + + If the first @code{n} bytes of the multibyte string cannot possibly form + a valid multibyte character, no value is stored, the global variable + @code{errno} is set to the value @code{EILSEQ}, and the function returns + @code{(size_t) -1}. The conversion state is afterwards undefined. + ++As specified, the @code{mbrtowc} function could deal with multibyte ++sequences which contain embedded null bytes (which happens in Unicode ++encodings such as UTF-16), but @theglibc{} does not support such ++multibyte encodings. When encountering a null input byte, the function ++will either return zero, or return @code{(size_t) -1)} and report a ++@code{EILSEQ} error. The @code{iconv} function can be used for ++converting between arbitrary encodings. @xref{Generic Conversion ++Interface}. ++ + @pindex wchar.h + @code{mbrtowc} was introduced in @w{Amendment 1} to @w{ISO C90} and + is declared in @file{wchar.h}. + @end deftypefun + +-Use of @code{mbrtowc} is straightforward. A function that copies a +-multibyte string into a wide character string while at the same time +-converting all lowercase characters into uppercase could look like this +-(this is not the final version, just an example; it has no error +-checking, and sometimes leaks memory): ++A function that copies a multibyte string into a wide character string ++while at the same time converting all lowercase characters into ++uppercase could look like this: + + @smallexample +-wchar_t * +-mbstouwcs (const char *s) +-@{ +- size_t len = strlen (s); +- wchar_t *result = malloc ((len + 1) * sizeof (wchar_t)); +- wchar_t *wcp = result; +- wchar_t tmp[1]; +- mbstate_t state; +- size_t nbytes; +- +- memset (&state, '\0', sizeof (state)); +- while ((nbytes = mbrtowc (tmp, s, len, &state)) > 0) +- @{ +- if (nbytes >= (size_t) -2) +- /* Invalid input string. */ +- return NULL; +- *wcp++ = towupper (tmp[0]); +- len -= nbytes; +- s += nbytes; +- @} +- return result; +-@} ++@include mbstouwcs.c.texi + @end smallexample + +-The use of @code{mbrtowc} should be clear. A single wide character is +-stored in @code{@var{tmp}[0]}, and the number of consumed bytes is stored +-in the variable @var{nbytes}. If the conversion is successful, the +-uppercase variant of the wide character is stored in the @var{result} +-array and the pointer to the input string and the number of available +-bytes is adjusted. +- +-The only non-obvious thing about @code{mbrtowc} might be the way memory +-is allocated for the result. The above code uses the fact that there +-can never be more wide characters in the converted result than there are +-bytes in the multibyte input string. This method yields a pessimistic +-guess about the size of the result, and if many wide character strings +-have to be constructed this way or if the strings are long, the extra +-memory required to be allocated because the input string contains +-multibyte characters might be significant. The allocated memory block can +-be resized to the correct size before returning it, but a better solution +-might be to allocate just the right amount of space for the result right +-away. Unfortunately there is no function to compute the length of the wide +-character string directly from the multibyte string. There is, however, a +-function that does part of the work. ++In the inner loop, a single wide character is stored in @code{wc}, and ++the number of consumed bytes is stored in the variable @code{nbytes}. ++If the conversion is successful, the uppercase variant of the wide ++character is stored in the @code{result} array and the pointer to the ++input string and the number of available bytes is adjusted. If the ++@code{mbrtowc} function returns zero, the null input byte has not been ++converted, so it must be stored explicitly in the result. ++ ++The above code uses the fact that there can never be more wide ++characters in the converted result than there are bytes in the multibyte ++input string. This method yields a pessimistic guess about the size of ++the result, and if many wide character strings have to be constructed ++this way or if the strings are long, the extra memory required to be ++allocated because the input string contains multibyte characters might ++be significant. The allocated memory block can be resized to the ++correct size before returning it, but a better solution might be to ++allocate just the right amount of space for the result right away. ++Unfortunately there is no function to compute the length of the wide ++character string directly from the multibyte string. There is, however, ++a function that does part of the work. + + @deftypefun size_t mbrlen (const char *restrict @var{s}, size_t @var{n}, mbstate_t *@var{ps}) + @standards{ISO, wchar.h} +diff --git a/manual/creature.texi b/manual/creature.texi +index 96f8ee0a0c..fe7a7790a2 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 +@@ -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 +@@ -150,10 +167,14 @@ 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 ++@standards{C11, (none)} ++If this macro is defined, ISO C11 extensions to ISO C99 are included. + @end defvr + + @defvr Macro __STDC_WANT_LIB_EXT2__ +@@ -209,6 +230,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/manual/examples/mbstouwcs.c b/manual/examples/mbstouwcs.c +new file mode 100644 +index 0000000000..c94e1fa790 +--- /dev/null ++++ b/manual/examples/mbstouwcs.c +@@ -0,0 +1,53 @@ ++#include ++#include ++#include ++#include ++ ++/* Do not include the above headers in the example. ++*/ ++wchar_t * ++mbstouwcs (const char *s) ++{ ++ /* Include the null terminator in the conversion. */ ++ size_t len = strlen (s) + 1; ++ wchar_t *result = reallocarray (NULL, len, sizeof (wchar_t)); ++ if (result == NULL) ++ return NULL; ++ ++ wchar_t *wcp = result; ++ mbstate_t state; ++ memset (&state, '\0', sizeof (state)); ++ ++ while (true) ++ { ++ wchar_t wc; ++ size_t nbytes = mbrtowc (&wc, s, len, &state); ++ if (nbytes == 0) ++ { ++ /* Terminate the result string. */ ++ *wcp = L'\0'; ++ break; ++ } ++ else if (nbytes == (size_t) -2) ++ { ++ /* Truncated input string. */ ++ errno = EILSEQ; ++ free (result); ++ return NULL; ++ } ++ else if (nbytes == (size_t) -1) ++ { ++ /* Some other error (including EILSEQ). */ ++ free (result); ++ return NULL; ++ } ++ else ++ { ++ /* A character was converted. */ ++ *wcp++ = towupper (wc); ++ len -= nbytes; ++ s += nbytes; ++ } ++ } ++ return result; ++} +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/manual/llio.texi b/manual/llio.texi +index 642e56e710..7d877992d9 100644 +--- a/manual/llio.texi ++++ b/manual/llio.texi +@@ -1271,6 +1271,9 @@ Per-IO synchronization as if the file was opened with @code{O_SYNC} flag. + @item RWF_NOWAIT + Use nonblocking mode for this operation; that is, this call to @code{preadv2} + will fail and set @code{errno} to @code{EAGAIN} if the operation would block. ++ ++@item RWF_APPEND ++Per-IO synchronization as if the file was opened with @code{O_APPEND} flag. + @end vtable + + When the source file is compiled with @code{_FILE_OFFSET_BITS == 64} the +diff --git a/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/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/math/math.h b/math/math.h +index 3c515f817f..0fcbd91366 100644 +--- a/math/math.h ++++ b/math/math.h +@@ -1223,7 +1223,7 @@ template<> struct __iseqsig_type + + template<> struct __iseqsig_type + { +- static int __call (double __x, double __y) throw () ++ static int __call (long double __x, long double __y) throw () + { + # ifndef __NO_LONG_DOUBLE_MATH + return __iseqsigl (__x, __y); +diff --git a/misc/tst-preadvwritev2-common.c b/misc/tst-preadvwritev2-common.c +index 89fd0a3ff5..f889a21544 100644 +--- a/misc/tst-preadvwritev2-common.c ++++ b/misc/tst-preadvwritev2-common.c +@@ -34,7 +34,11 @@ do_test_with_invalid_flags (void) + #ifndef RWF_NOWAIT + # define RWF_NOWAIT 0 + #endif +-#define RWF_SUPPORTED (RWF_HIPRI | RWF_DSYNC | RWF_SYNC | RWF_NOWAIT) ++#ifndef RWF_APPEND ++# define RWF_APPEND 0 ++#endif ++#define RWF_SUPPORTED (RWF_HIPRI | RWF_DSYNC | RWF_SYNC | RWF_NOWAIT \ ++ | RWF_APPEND) + /* Set the next bit from the mask of all supported flags. */ + int invalid_flag = RWF_SUPPORTED != 0 ? __builtin_clz (RWF_SUPPORTED) : 2; + invalid_flag = 0x1 << ((sizeof (int) * CHAR_BIT) - invalid_flag); +diff --git a/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 + #endif ++ ++/* Some variables normally defined in libc. */ ++service_user *__nss_hosts_database attribute_hidden; +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/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/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 , 1998. +-# Márcio Macedo , 1998. ++# Márcio Macedo , 1998. + # Arnaldo Carvalho de Mello , 1998. + # Sandro Nunes Henrique , 1998. + # Rodrigo Stulzer Lopes , 1999. +-# ++# Rafael Fontenelle , 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 \n" +-"Language-Team: Brazilian Portuguese \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 \n" ++"Language-Team: Brazilian Portuguese \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: must be greater than \n" +-msgstr "%s: deve ser maior que \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 " character must not be in class `%s'" +-msgstr " 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 " character not in class `%s'" +-msgstr " 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: must be greater than \n" ++msgstr "%s: deve ser maior que \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 " character not in class `%s'" ++msgstr " 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 " character must not be in class `%s'" ++msgstr " 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 not defined in character map" ++msgstr "caractere 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 of range is smaller than from-value " ++msgstr "valor-para de intervalo é menor que o valor-de " + +-#: 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 .\n" +-msgstr "Reportar erros usando o script `glibcbug' para .\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 "" ++msgstr "" + +-#: 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 or value given" ++msgstr "valores ou 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 not defined in character map" +-msgstr "caracter 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 %" ++msgstr "considerando entrada %s “%s”, tempo limite %" ++ ++#: 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 cache hits on positive entries\n" ++"%15 cache hits on negative entries\n" ++"%15 cache misses on positive entries\n" ++"%15 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 number of delays on rdlock\n" ++"%15 number of delays on wrlock\n" ++"%15 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 acertos do cache para entradas positivas\n" ++"%15 acertos do cache para entradas negativas\n" ++"%15 erros do cache para entradas positivas\n" ++"%15 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 número de atraso no rdlock\n" ++"%15 número de atraso no wrlock\n" ++"%15 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 or value given" +-msgstr "Valores ou 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 %: " ++msgstr "“%s”, linha %: " + +-#: 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 %)" ++msgstr " (regra de “%s”, linha %)" + +-#: 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 %)" ++msgstr "nome de fuso horário duplicado %s (arquivo “%s”, linha %)" + +-#: 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 must be greater than the value of " +-msgstr "o valor de deve ser maior que o valor de " ++#: 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/posix/Makefile b/posix/Makefile +index 83b3d7418c..0fb280ba69 100644 +--- a/posix/Makefile ++++ b/posix/Makefile +@@ -95,10 +95,10 @@ tests := test-errno tstgetopt testfnm runtests runptests \ + tst-posix_spawn-fd tst-posix_spawn-setsid \ + tst-posix_fadvise tst-posix_fadvise64 \ + tst-sysconf-empty-chroot tst-glob_symlinks tst-fexecve \ +- tst-glob-tilde ++ tst-glob-tilde tst-spawn4 + tests-internal := bug-regex5 bug-regex20 bug-regex33 \ + tst-rfc3484 tst-rfc3484-2 tst-rfc3484-3 \ +- tst-glob_lstat_compat ++ tst-glob_lstat_compat tst-spawn4-compat + xtests := bug-ga2 tst-getaddrinfo4 tst-getaddrinfo5 + ifeq (yes,$(build-shared)) + test-srcs := globtest +diff --git a/posix/execvpe.c b/posix/execvpe.c +index 859c0f69bf..ea67d19fcd 100644 +--- a/posix/execvpe.c ++++ b/posix/execvpe.c +@@ -67,11 +67,9 @@ maybe_script_execute (const char *file, char *const argv[], char *const envp[]) + __execve (new_argv[0], new_argv, envp); + } + +- +-/* Execute FILE, searching in the `PATH' environment variable if it contains +- no slashes, with arguments ARGV and environment from ENVP. */ +-int +-__execvpe (const char *file, char *const argv[], char *const envp[]) ++static int ++__execvpe_common (const char *file, char *const argv[], char *const envp[], ++ bool exec_script) + { + /* We check the simple case first. */ + if (*file == '\0') +@@ -85,7 +83,7 @@ __execvpe (const char *file, char *const argv[], char *const envp[]) + { + __execve (file, argv, envp); + +- if (errno == ENOEXEC) ++ if (errno == ENOEXEC && exec_script) + maybe_script_execute (file, argv, envp); + + return -1; +@@ -137,7 +135,7 @@ __execvpe (const char *file, char *const argv[], char *const envp[]) + + __execve (buffer, argv, envp); + +- if (errno == ENOEXEC) ++ if (errno == ENOEXEC && exec_script) + /* This has O(P*C) behavior, where P is the length of the path and C + is the argument count. A better strategy would be allocate the + substitute argv and reuse it each time through the loop (so it +@@ -184,4 +182,18 @@ __execvpe (const char *file, char *const argv[], char *const envp[]) + return -1; + } + ++/* Execute FILE, searching in the `PATH' environment variable if it contains ++ no slashes, with arguments ARGV and environment from ENVP. */ ++int ++__execvpe (const char *file, char *const argv[], char *const envp[]) ++{ ++ return __execvpe_common (file, argv, envp, true); ++} + weak_alias (__execvpe, execvpe) ++ ++/* Same as __EXECVPE, but does not try to execute NOEXEC files. */ ++int ++__execvpex (const char *file, char *const argv[], char *const envp[]) ++{ ++ return __execvpe_common (file, argv, envp, false); ++} +diff --git a/posix/tst-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/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/posix/tst-spawn4-compat.c b/posix/tst-spawn4-compat.c +new file mode 100644 +index 0000000000..11f654b913 +--- /dev/null ++++ b/posix/tst-spawn4-compat.c +@@ -0,0 +1,77 @@ ++/* Check if posix_spawn does handle correctly ENOEXEC files. ++ Copyright (C) 2018 Free Software Foundation, Inc. ++ This file is part of the GNU C Library. ++ ++ The GNU C Library is free software; you can redistribute it and/or ++ modify it under the terms of the GNU Lesser General Public ++ License as published by the Free Software Foundation; either ++ version 2.1 of the License, or (at your option) any later version. ++ ++ The GNU C Library is distributed in the hope that it will be useful, ++ but WITHOUT ANY WARRANTY; without even the implied warranty of ++ MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU ++ Lesser General Public License for more details. ++ ++ You should have received a copy of the GNU Lesser General Public ++ License along with the GNU C Library; if not, see ++ . */ ++ ++#include ++#include ++#include ++#include ++#include ++ ++#include ++#include ++#include ++ ++#include ++#if TEST_COMPAT (libc, GLIBC_2_0, GLIBC_2_15) ++ ++compat_symbol_reference (libc, posix_spawn, posix_spawn, GLIBC_2_2); ++compat_symbol_reference (libc, posix_spawnp, posix_spawnp, GLIBC_2_2); ++ ++static int ++do_test (void) ++{ ++ char *scriptname; ++ int fd = create_temp_file ("tst-spawn4.", &scriptname); ++ TEST_VERIFY_EXIT (fd >= 0); ++ ++ const char script[] = "exit 65"; ++ xwrite (fd, script, sizeof (script) - 1); ++ xclose (fd); ++ ++ TEST_VERIFY_EXIT (chmod (scriptname, 0x775) == 0); ++ ++ pid_t pid; ++ int status; ++ ++ /* For compat symbol it verifies that trying to issued a shell script ++ without a shebang is correctly executed. */ ++ status = posix_spawn (&pid, scriptname, NULL, NULL, (char *[]) { 0 }, ++ (char *[]) { 0 }); ++ TEST_VERIFY_EXIT (status == 0); ++ ++ TEST_VERIFY_EXIT (waitpid (pid, &status, 0) == pid); ++ TEST_VERIFY_EXIT (WIFEXITED (status) == 1 && WEXITSTATUS (status) == 65); ++ ++ status = posix_spawnp (&pid, scriptname, NULL, NULL, (char *[]) { 0 }, ++ (char *[]) { 0 }); ++ TEST_VERIFY_EXIT (status == 0); ++ ++ TEST_VERIFY_EXIT (waitpid (pid, &status, 0) == pid); ++ TEST_VERIFY_EXIT (WIFEXITED (status) == 1 && WEXITSTATUS (status) == 65); ++ ++ return 0; ++} ++#else ++static int ++do_test (void) ++{ ++ return 77; ++} ++#endif ++ ++#include +diff --git a/posix/tst-spawn4.c b/posix/tst-spawn4.c +new file mode 100644 +index 0000000000..e4a1fa3f00 +--- /dev/null ++++ b/posix/tst-spawn4.c +@@ -0,0 +1,56 @@ ++/* Check if posix_spawn does handle correctly ENOEXEC files. ++ Copyright (C) 2018 Free Software Foundation, Inc. ++ This file is part of the GNU C Library. ++ ++ The GNU C Library is free software; you can redistribute it and/or ++ modify it under the terms of the GNU Lesser General Public ++ License as published by the Free Software Foundation; either ++ version 2.1 of the License, or (at your option) any later version. ++ ++ The GNU C Library is distributed in the hope that it will be useful, ++ but WITHOUT ANY WARRANTY; without even the implied warranty of ++ MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU ++ Lesser General Public License for more details. ++ ++ You should have received a copy of the GNU Lesser General Public ++ License along with the GNU C Library; if not, see ++ . */ ++ ++#include ++#include ++#include ++#include ++ ++#include ++#include ++#include ++ ++static int ++do_test (void) ++{ ++ char *scriptname; ++ int fd = create_temp_file ("tst-spawn4.", &scriptname); ++ TEST_VERIFY_EXIT (fd >= 0); ++ ++ const char script[] = "echo it should not happen"; ++ xwrite (fd, script, sizeof (script) - 1); ++ xclose (fd); ++ ++ TEST_VERIFY_EXIT (chmod (scriptname, 0x775) == 0); ++ ++ pid_t pid; ++ int status; ++ ++ /* Check if scripts without shebang are correctly not executed. */ ++ status = posix_spawn (&pid, scriptname, NULL, NULL, (char *[]) { 0 }, ++ (char *[]) { 0 }); ++ TEST_VERIFY_EXIT (status == ENOEXEC); ++ ++ status = posix_spawnp (&pid, scriptname, NULL, NULL, (char *[]) { 0 }, ++ (char *[]) { 0 }); ++ TEST_VERIFY_EXIT (status == ENOEXEC); ++ ++ return 0; ++} ++ ++#include +diff --git a/resolv/res_send.c b/resolv/res_send.c +index dde0425a33..9e9541789b 100644 +--- a/resolv/res_send.c ++++ b/resolv/res_send.c +@@ -471,6 +471,11 @@ __res_context_send (struct resolv_context *ctx, + '\0', + sizeof (struct sockaddr_in6) + - sizeof (struct sockaddr_in)); ++ else ++ { ++ __set_errno (ENOMEM); ++ return -1; ++ } + } + EXT(statp).nscount = statp->nscount; + } +@@ -1152,25 +1157,27 @@ send_dg(res_state statp, + if (have_sendmmsg >= 0 && nwritten == 0 && buf2 != NULL + && !single_request) + { +- struct iovec iov[2]; +- struct mmsghdr reqs[2]; +- reqs[0].msg_hdr.msg_name = NULL; +- reqs[0].msg_hdr.msg_namelen = 0; +- reqs[0].msg_hdr.msg_iov = &iov[0]; +- reqs[0].msg_hdr.msg_iovlen = 1; +- iov[0].iov_base = (void *) buf; +- iov[0].iov_len = buflen; +- reqs[0].msg_hdr.msg_control = NULL; +- reqs[0].msg_hdr.msg_controllen = 0; +- +- reqs[1].msg_hdr.msg_name = NULL; +- reqs[1].msg_hdr.msg_namelen = 0; +- reqs[1].msg_hdr.msg_iov = &iov[1]; +- reqs[1].msg_hdr.msg_iovlen = 1; +- iov[1].iov_base = (void *) buf2; +- iov[1].iov_len = buflen2; +- reqs[1].msg_hdr.msg_control = NULL; +- reqs[1].msg_hdr.msg_controllen = 0; ++ struct iovec iov = ++ { .iov_base = (void *) buf, .iov_len = buflen }; ++ struct iovec iov2 = ++ { .iov_base = (void *) buf2, .iov_len = buflen2 }; ++ struct mmsghdr reqs[2] = ++ { ++ { ++ .msg_hdr = ++ { ++ .msg_iov = &iov, ++ .msg_iovlen = 1, ++ }, ++ }, ++ { ++ .msg_hdr = ++ { ++ .msg_iov = &iov2, ++ .msg_iovlen = 1, ++ } ++ }, ++ }; + + int ndg = __sendmmsg (pfd[0].fd, reqs, 2, MSG_NOSIGNAL); + if (__glibc_likely (ndg == 2)) +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 ++ . */ ++ ++#include ++#include ++ ++#include ++ ++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 +diff --git a/stdlib/Makefile b/stdlib/Makefile +index 7c363a6e4d..a9ad849531 100644 +--- a/stdlib/Makefile ++++ b/stdlib/Makefile +@@ -84,7 +84,7 @@ tests := tst-strtol tst-strtod testmb testrand testsort testdiv \ + tst-cxa_atexit tst-on_exit test-atexit-race \ + test-at_quick_exit-race test-cxa_atexit-race \ + test-on_exit-race test-dlclose-exit-race \ +- tst-makecontext-align ++ tst-makecontext-align test-bz22786 + + tests-internal := tst-strtod1i tst-strtod3 tst-strtod4 tst-strtod5i \ + tst-tls-atexit tst-tls-atexit-nodelete +diff --git a/stdlib/canonicalize.c b/stdlib/canonicalize.c +index 30825a91b8..432fc82b4a 100644 +--- a/stdlib/canonicalize.c ++++ b/stdlib/canonicalize.c +@@ -181,7 +181,7 @@ __realpath (const char *name, char *resolved) + extra_buf = __alloca (path_max); + + len = strlen (end); +- if ((long int) (n + len) >= path_max) ++ if (path_max - n <= len) + { + __set_errno (ENAMETOOLONG); + goto error; +diff --git a/stdlib/random_r.c b/stdlib/random_r.c +index 4d2f0d472f..b47c65c6d7 100644 +--- a/stdlib/random_r.c ++++ b/stdlib/random_r.c +@@ -361,8 +361,7 @@ __random_r (struct random_data *buf, int32_t *result) + + if (buf->rand_type == TYPE_0) + { +- int32_t val = state[0]; +- val = ((state[0] * 1103515245) + 12345) & 0x7fffffff; ++ int32_t val = ((state[0] * 1103515245U) + 12345U) & 0x7fffffff; + state[0] = val; + *result = val; + } +@@ -371,11 +370,11 @@ __random_r (struct random_data *buf, int32_t *result) + int32_t *fptr = buf->fptr; + int32_t *rptr = buf->rptr; + int32_t *end_ptr = buf->end_ptr; +- int32_t val; ++ uint32_t val; + +- val = *fptr += *rptr; ++ val = *fptr += (uint32_t) *rptr; + /* Chucking least random bit. */ +- *result = (val >> 1) & 0x7fffffff; ++ *result = val >> 1; + ++fptr; + if (fptr >= end_ptr) + { +diff --git a/stdlib/test-bz22786.c b/stdlib/test-bz22786.c +new file mode 100644 +index 0000000000..e7837f98c1 +--- /dev/null ++++ b/stdlib/test-bz22786.c +@@ -0,0 +1,90 @@ ++/* Bug 22786: test for buffer overflow in realpath. ++ Copyright (C) 2018 Free Software Foundation, Inc. ++ This file is part of the GNU C Library. ++ ++ The GNU C Library is free software; you can redistribute it and/or ++ modify it under the terms of the GNU Lesser General Public ++ License as published by the Free Software Foundation; either ++ version 2.1 of the License, or (at your option) any later version. ++ ++ The GNU C Library is distributed in the hope that it will be useful, ++ but WITHOUT ANY WARRANTY; without even the implied warranty of ++ MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU ++ Lesser General Public License for more details. ++ ++ You should have received a copy of the GNU Lesser General Public ++ License along with the GNU C Library; if not, see ++ . */ ++ ++/* This file must be run from within a directory called "stdlib". */ ++ ++#include ++#include ++#include ++#include ++#include ++#include ++#include ++#include ++#include ++#include ++ ++static int ++do_test (void) ++{ ++ const char dir[] = "bz22786"; ++ const char lnk[] = "bz22786/symlink"; ++ ++ rmdir (dir); ++ if (mkdir (dir, 0755) != 0 && errno != EEXIST) ++ { ++ printf ("mkdir %s: %m\n", dir); ++ return EXIT_FAILURE; ++ } ++ if (symlink (".", lnk) != 0 && errno != EEXIST) ++ { ++ printf ("symlink (%s, %s): %m\n", dir, lnk); ++ return EXIT_FAILURE; ++ } ++ ++ const size_t path_len = (size_t) INT_MAX + 1; ++ ++ DIAG_PUSH_NEEDS_COMMENT; ++#if __GNUC_PREREQ (7, 0) ++ /* GCC 7 warns about too-large allocations; here we need such ++ allocation to succeed for the test to work. */ ++ DIAG_IGNORE_NEEDS_COMMENT (7, "-Walloc-size-larger-than="); ++#endif ++ char *path = malloc (path_len); ++ DIAG_POP_NEEDS_COMMENT; ++ ++ if (path == NULL) ++ { ++ printf ("malloc (%zu): %m\n", path_len); ++ return EXIT_UNSUPPORTED; ++ } ++ ++ /* Construct very long path = "bz22786/symlink/aaaa....." */ ++ char *p = mempcpy (path, lnk, sizeof (lnk) - 1); ++ *(p++) = '/'; ++ memset (p, 'a', path_len - (path - p) - 2); ++ p[path_len - (path - p) - 1] = '\0'; ++ ++ /* This call crashes before the fix for bz22786 on 32-bit platforms. */ ++ p = realpath (path, NULL); ++ ++ if (p != NULL || errno != ENAMETOOLONG) ++ { ++ printf ("realpath: %s (%m)", p); ++ return EXIT_FAILURE; ++ } ++ ++ /* Cleanup. */ ++ unlink (lnk); ++ rmdir (dir); ++ ++ return 0; ++} ++ ++#define TEST_FUNCTION do_test ++#include +diff --git a/string/test-memcpy.c b/string/test-memcpy.c +index 45f20a6d80..3c8066da52 100644 +--- a/string/test-memcpy.c ++++ b/string/test-memcpy.c +@@ -212,6 +212,50 @@ do_random_tests (void) + } + } + ++static void ++do_test1 (void) ++{ ++ size_t size = 0x100000; ++ void *large_buf; ++ ++ large_buf = mmap (NULL, size * 2 + page_size, PROT_READ | PROT_WRITE, ++ MAP_PRIVATE | MAP_ANON, -1, 0); ++ if (large_buf == MAP_FAILED) ++ { ++ puts ("Failed to allocat large_buf, skipping do_test1"); ++ return; ++ } ++ ++ if (mprotect (large_buf + size, page_size, PROT_NONE)) ++ error (EXIT_FAILURE, errno, "mprotect failed"); ++ ++ size_t arrary_size = size / sizeof (uint32_t); ++ uint32_t *dest = large_buf; ++ uint32_t *src = large_buf + size + page_size; ++ size_t i; ++ ++ for (i = 0; i < arrary_size; i++) ++ src[i] = (uint32_t) i; ++ ++ FOR_EACH_IMPL (impl, 0) ++ { ++ memset (dest, -1, size); ++ CALL (impl, (char *) dest, (char *) src, size); ++ for (i = 0; i < arrary_size; i++) ++ if (dest[i] != src[i]) ++ { ++ error (0, 0, ++ "Wrong result in function %s dst \"%p\" src \"%p\" offset \"%zd\"", ++ impl->name, dest, src, i); ++ ret = 1; ++ break; ++ } ++ } ++ ++ munmap ((void *) dest, size); ++ munmap ((void *) src, size); ++} ++ + int + test_main (void) + { +@@ -253,6 +297,9 @@ test_main (void) + do_test (0, 0, getpagesize ()); + + do_random_tests (); ++ ++ do_test1 (); ++ + return ret; + } + +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 + + 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/string/test-mempcpy.c b/string/test-mempcpy.c +index c08fba895e..d98ecdd2d9 100644 +--- a/string/test-mempcpy.c ++++ b/string/test-mempcpy.c +@@ -18,6 +18,7 @@ + . */ + + #define MEMCPY_RESULT(dst, len) (dst) + (len) ++#define MIN_PAGE_SIZE 131072 + #define TEST_MAIN + #define TEST_NAME "mempcpy" + #include "test-string.h" +diff --git a/sunrpc/rpc_common.c b/sunrpc/rpc_common.c +index 710191163c..2d42827a87 100644 +--- a/sunrpc/rpc_common.c ++++ b/sunrpc/rpc_common.c +@@ -46,7 +46,14 @@ + the variable is declared. So we use the section attribute. */ + struct opaque_auth _null_auth __attribute__ ((nocommon)); + libc_hidden_nolink_sunrpc (_null_auth, GLIBC_2_0) +-fd_set svc_fdset; +-struct rpc_createerr rpc_createerr; +-struct pollfd *svc_pollfd; +-int svc_max_pollfd; ++ ++/* The variables need the nocommon attribute, so that it is possible ++ to create aliases and specify symbol versions. */ ++fd_set svc_fdset __attribute__ ((nocommon)); ++libc_hidden_nolink_sunrpc (svc_fdset, GLIBC_2_0) ++struct rpc_createerr rpc_createerr __attribute__ ((nocommon)); ++libc_hidden_nolink_sunrpc (rpc_createerr, GLIBC_2_0) ++struct pollfd *svc_pollfd __attribute__ ((nocommon)); ++libc_hidden_nolink_sunrpc (svc_pollfd, GLIBC_2_2) ++int svc_max_pollfd __attribute__ ((nocommon)); ++libc_hidden_nolink_sunrpc (svc_max_pollfd, GLIBC_2_2) +diff --git a/sunrpc/svcauth_des.c b/sunrpc/svcauth_des.c +index f99a5a324f..9ce4804239 100644 +--- a/sunrpc/svcauth_des.c ++++ b/sunrpc/svcauth_des.c +@@ -87,16 +87,21 @@ static void cache_ref (uint32_t sid); /* note that sid was ref'd */ + + static void invalidate (char *cred); /* invalidate entry in cache */ + +-/* +- * cache statistics +- */ ++/* Cache statistics. Accidental historic export without a matching ++ declaration in any header file. */ ++#ifndef SHARED ++static ++#endif + struct + { + u_long ncachehits; /* times cache hit, and is not replay */ + u_long ncachereplays; /* times cache hit, and is replay */ + u_long ncachemisses; /* times cache missed */ + } +-svcauthdes_stats; ++svcauthdes_stats __attribute__ ((nocommon)); ++#ifdef SHARED ++compat_symbol (libc, svcauthdes_stats, svcauthdes_stats, GLIBC_2_0); ++#endif + + /* + * Service side authenticator for AUTH_DES +diff --git a/sysdeps/i386/fpu/libm-test-ulps b/sysdeps/i386/fpu/libm-test-ulps +index 862a74e09d..9d1c35c605 100644 +--- a/sysdeps/i386/fpu/libm-test-ulps ++++ b/sysdeps/i386/fpu/libm-test-ulps +@@ -281,20 +281,20 @@ ldouble: 1 + + Function: Real part of "cacos": + double: 1 +-float: 1 ++float: 2 + float128: 2 + idouble: 1 +-ifloat: 1 ++ifloat: 2 + ifloat128: 2 + ildouble: 1 + ldouble: 1 + + Function: Imaginary part of "cacos": +-double: 1 +-float: 1 ++double: 2 ++float: 2 + float128: 2 +-idouble: 1 +-ifloat: 1 ++idouble: 2 ++ifloat: 2 + ifloat128: 2 + ildouble: 2 + ldouble: 2 +@@ -360,21 +360,21 @@ ildouble: 7 + ldouble: 7 + + Function: Real part of "cacosh": +-double: 1 +-float: 1 ++double: 2 ++float: 2 + float128: 2 +-idouble: 1 +-ifloat: 1 ++idouble: 2 ++ifloat: 2 + ifloat128: 2 + ildouble: 2 + ldouble: 2 + + Function: Imaginary part of "cacosh": + double: 1 +-float: 1 ++float: 2 + float128: 2 + idouble: 1 +-ifloat: 1 ++ifloat: 2 + ifloat128: 2 + ildouble: 1 + ldouble: 1 +@@ -420,10 +420,10 @@ ildouble: 2 + ldouble: 2 + + Function: Real part of "cacosh_upward": +-double: 4 ++double: 5 + float: 4 + float128: 6 +-idouble: 4 ++idouble: 5 + ifloat: 4 + ifloat128: 6 + ildouble: 5 +@@ -488,11 +488,11 @@ ildouble: 1 + ldouble: 1 + + Function: Imaginary part of "casin": +-double: 1 +-float: 1 ++double: 2 ++float: 2 + float128: 2 +-idouble: 1 +-ifloat: 1 ++idouble: 2 ++ifloat: 2 + ifloat128: 2 + ildouble: 2 + ldouble: 2 +@@ -558,11 +558,11 @@ ildouble: 7 + ldouble: 7 + + Function: Real part of "casinh": +-double: 1 +-float: 1 ++double: 2 ++float: 2 + float128: 2 +-idouble: 1 +-ifloat: 1 ++idouble: 2 ++ifloat: 2 + ifloat128: 2 + ildouble: 2 + ldouble: 2 +@@ -774,11 +774,11 @@ ildouble: 1 + ldouble: 1 + + Function: Real part of "catanh_upward": +-double: 2 +-float: 2 ++double: 4 ++float: 4 + float128: 4 +-idouble: 2 +-ifloat: 2 ++idouble: 4 ++ifloat: 4 + ifloat128: 4 + ildouble: 4 + ldouble: 4 +@@ -875,10 +875,10 @@ ldouble: 3 + + Function: Real part of "ccos_towardzero": + double: 1 +-float: 1 ++float: 2 + float128: 2 + idouble: 1 +-ifloat: 1 ++ifloat: 2 + ifloat128: 2 + ildouble: 3 + ldouble: 3 +@@ -934,10 +934,10 @@ ildouble: 1 + ldouble: 1 + + Function: Real part of "ccosh_downward": +-double: 1 ++double: 2 + float: 2 + float128: 2 +-idouble: 1 ++idouble: 2 + ifloat: 2 + ifloat128: 2 + ildouble: 3 +@@ -954,11 +954,11 @@ ildouble: 3 + ldouble: 3 + + Function: Real part of "ccosh_towardzero": +-double: 1 +-float: 2 ++double: 2 ++float: 3 + float128: 2 +-idouble: 1 +-ifloat: 2 ++idouble: 2 ++ifloat: 3 + ifloat128: 2 + ildouble: 3 + ldouble: 3 +@@ -1075,10 +1075,10 @@ ldouble: 3 + + Function: Real part of "clog": + double: 2 +-float: 1 ++float: 3 + float128: 2 + idouble: 2 +-ifloat: 1 ++ifloat: 3 + ifloat128: 2 + ildouble: 3 + ldouble: 3 +@@ -1092,79 +1092,81 @@ ildouble: 1 + ldouble: 1 + + Function: Real part of "clog10": +-double: 2 +-float: 2 ++double: 3 ++float: 4 + float128: 2 +-idouble: 2 +-ifloat: 2 ++idouble: 3 ++ifloat: 4 + ifloat128: 2 + ildouble: 4 + ldouble: 4 + + Function: Imaginary part of "clog10": +-double: 1 ++double: 2 ++float: 1 + float128: 2 +-idouble: 1 ++idouble: 2 ++ifloat: 1 + ifloat128: 2 + ildouble: 2 + ldouble: 2 + + Function: Real part of "clog10_downward": +-double: 3 +-float: 3 ++double: 4 ++float: 4 + float128: 3 +-idouble: 3 +-ifloat: 3 ++idouble: 4 ++ifloat: 4 + ifloat128: 3 + ildouble: 8 + ldouble: 8 + + Function: Imaginary part of "clog10_downward": +-double: 1 +-float: 1 ++double: 2 ++float: 2 + float128: 3 +-idouble: 1 +-ifloat: 1 ++idouble: 2 ++ifloat: 2 + ifloat128: 3 + ildouble: 3 + ldouble: 3 + + Function: Real part of "clog10_towardzero": +-double: 3 +-float: 3 ++double: 5 ++float: 5 + float128: 4 +-idouble: 3 +-ifloat: 3 ++idouble: 5 ++ifloat: 5 + ifloat128: 4 + ildouble: 8 + ldouble: 8 + + Function: Imaginary part of "clog10_towardzero": +-double: 1 +-float: 1 ++double: 2 ++float: 2 + float128: 3 +-idouble: 1 +-ifloat: 1 ++idouble: 2 ++ifloat: 2 + ifloat128: 3 + ildouble: 3 + ldouble: 3 + + Function: Real part of "clog10_upward": +-double: 3 +-float: 3 ++double: 4 ++float: 5 + float128: 4 +-idouble: 3 +-ifloat: 3 ++idouble: 4 ++ifloat: 5 + ifloat128: 4 + ildouble: 7 + ldouble: 7 + + Function: Imaginary part of "clog10_upward": +-double: 1 +-float: 1 ++double: 2 ++float: 2 + float128: 3 +-idouble: 1 +-ifloat: 1 ++idouble: 2 ++ifloat: 2 + ifloat128: 3 + ildouble: 3 + ldouble: 3 +@@ -1191,10 +1193,10 @@ ldouble: 1 + + Function: Real part of "clog_towardzero": + double: 3 +-float: 3 ++float: 4 + float128: 3 + idouble: 3 +-ifloat: 3 ++ifloat: 4 + ifloat128: 3 + ildouble: 5 + ldouble: 5 +@@ -1230,8 +1232,10 @@ ildouble: 1 + ldouble: 1 + + Function: "cos": ++double: 1 + float: 1 + float128: 1 ++idouble: 1 + ifloat: 1 + ifloat128: 1 + ildouble: 1 +@@ -1462,7 +1466,9 @@ ildouble: 2 + ldouble: 2 + + Function: Real part of "csinh": ++float: 1 + float128: 1 ++ifloat: 1 + ifloat128: 1 + ildouble: 1 + ldouble: 1 +@@ -1478,10 +1484,10 @@ ildouble: 1 + ldouble: 1 + + Function: Real part of "csinh_downward": +-double: 1 ++double: 2 + float: 1 + float128: 2 +-idouble: 1 ++idouble: 2 + ifloat: 1 + ifloat128: 2 + ildouble: 3 +@@ -1498,11 +1504,11 @@ ildouble: 3 + ldouble: 3 + + Function: Real part of "csinh_towardzero": +-double: 1 +-float: 1 ++double: 2 ++float: 2 + float128: 2 +-idouble: 1 +-ifloat: 1 ++idouble: 2 ++ifloat: 2 + ifloat128: 2 + ildouble: 3 + ldouble: 3 +@@ -1538,79 +1544,81 @@ ildouble: 2 + ldouble: 2 + + Function: Real part of "csqrt": +-double: 1 ++double: 2 ++float: 2 + float128: 2 +-idouble: 1 ++idouble: 2 ++ifloat: 2 + ifloat128: 2 + ildouble: 2 + ldouble: 2 + + Function: Imaginary part of "csqrt": +-double: 1 +-float: 1 ++double: 2 ++float: 2 + float128: 2 +-idouble: 1 +-ifloat: 1 ++idouble: 2 ++ifloat: 2 + ifloat128: 2 + ildouble: 2 + ldouble: 2 + + Function: Real part of "csqrt_downward": +-double: 1 +-float: 1 ++double: 4 ++float: 4 + float128: 4 +-idouble: 1 +-ifloat: 1 ++idouble: 4 ++ifloat: 4 + ifloat128: 4 + ildouble: 5 + ldouble: 5 + + Function: Imaginary part of "csqrt_downward": +-double: 1 +-float: 1 ++double: 3 ++float: 3 + float128: 3 +-idouble: 1 +-ifloat: 1 ++idouble: 3 ++ifloat: 3 + ifloat128: 3 + ildouble: 4 + ldouble: 4 + + Function: Real part of "csqrt_towardzero": +-double: 1 +-float: 1 ++double: 3 ++float: 3 + float128: 3 +-idouble: 1 +-ifloat: 1 ++idouble: 3 ++ifloat: 3 + ifloat128: 3 + ildouble: 4 + ldouble: 4 + + Function: Imaginary part of "csqrt_towardzero": +-double: 1 +-float: 1 ++double: 3 ++float: 3 + float128: 3 +-idouble: 1 +-ifloat: 1 ++idouble: 3 ++ifloat: 3 + ifloat128: 3 + ildouble: 4 + ldouble: 4 + + Function: Real part of "csqrt_upward": +-double: 1 +-float: 1 ++double: 4 ++float: 4 + float128: 4 +-idouble: 1 +-ifloat: 1 ++idouble: 4 ++ifloat: 4 + ifloat128: 4 + ildouble: 5 + ldouble: 5 + + Function: Imaginary part of "csqrt_upward": +-double: 1 +-float: 2 ++double: 3 ++float: 3 + float128: 3 +-idouble: 1 +-ifloat: 2 ++idouble: 3 ++ifloat: 3 + ifloat128: 3 + ildouble: 4 + ldouble: 4 +@@ -1626,21 +1634,21 @@ ildouble: 2 + ldouble: 2 + + Function: Imaginary part of "ctan": +-double: 1 +-float: 1 ++double: 2 ++float: 2 + float128: 3 +-idouble: 1 +-ifloat: 1 ++idouble: 2 ++ifloat: 2 + ifloat128: 3 + ildouble: 1 + ldouble: 1 + + Function: Real part of "ctan_downward": +-double: 1 +-float: 2 ++double: 6 ++float: 5 + float128: 4 +-idouble: 1 +-ifloat: 2 ++idouble: 6 ++ifloat: 5 + ifloat128: 4 + ildouble: 5 + ldouble: 5 +@@ -1656,11 +1664,11 @@ ildouble: 4 + ldouble: 4 + + Function: Real part of "ctan_towardzero": +-double: 3 +-float: 2 ++double: 5 ++float: 3 + float128: 4 +-idouble: 3 +-ifloat: 2 ++idouble: 5 ++ifloat: 3 + ifloat128: 4 + ildouble: 5 + ldouble: 5 +@@ -1677,10 +1685,10 @@ ldouble: 4 + + Function: Real part of "ctan_upward": + double: 3 +-float: 2 ++float: 4 + float128: 5 + idouble: 3 +-ifloat: 2 ++ifloat: 4 + ifloat128: 5 + ildouble: 3 + ldouble: 3 +@@ -1696,21 +1704,21 @@ ildouble: 3 + ldouble: 3 + + Function: Real part of "ctanh": +-double: 1 +-float: 1 ++double: 2 ++float: 2 + float128: 3 +-idouble: 1 +-ifloat: 1 ++idouble: 2 ++ifloat: 2 + ifloat128: 3 + ildouble: 1 + ldouble: 1 + + Function: Imaginary part of "ctanh": +-double: 1 +-float: 1 ++double: 2 ++float: 2 + float128: 3 +-idouble: 1 +-ifloat: 1 ++idouble: 2 ++ifloat: 2 + ifloat128: 3 + ildouble: 2 + ldouble: 2 +@@ -1726,11 +1734,11 @@ ildouble: 4 + ldouble: 4 + + Function: Imaginary part of "ctanh_downward": +-double: 2 +-float: 1 ++double: 6 ++float: 5 + float128: 4 +-idouble: 2 +-ifloat: 1 ++idouble: 6 ++ifloat: 5 + ifloat128: 4 + ildouble: 4 + ldouble: 4 +@@ -1746,31 +1754,31 @@ ildouble: 4 + ldouble: 4 + + Function: Imaginary part of "ctanh_towardzero": +-double: 2 +-float: 2 ++double: 5 ++float: 3 + float128: 3 +-idouble: 2 +-ifloat: 2 ++idouble: 5 ++ifloat: 3 + ifloat128: 3 + ildouble: 3 + ldouble: 3 + + Function: Real part of "ctanh_upward": + double: 2 +-float: 1 ++float: 2 + float128: 5 + idouble: 2 +-ifloat: 1 ++ifloat: 2 + ifloat128: 5 + ildouble: 3 + ldouble: 3 + + Function: Imaginary part of "ctanh_upward": + double: 3 +-float: 2 ++float: 3 + float128: 5 + idouble: 3 +-ifloat: 2 ++ifloat: 3 + ifloat128: 5 + ildouble: 3 + ldouble: 3 +@@ -1816,41 +1824,41 @@ ildouble: 1 + ldouble: 1 + + Function: "erfc": +-double: 1 +-float: 1 ++double: 3 ++float: 2 + float128: 2 +-idouble: 1 +-ifloat: 1 ++idouble: 3 ++ifloat: 2 + ifloat128: 2 + ildouble: 3 + ldouble: 3 + + Function: "erfc_downward": +-double: 2 +-float: 3 ++double: 5 ++float: 6 + float128: 5 +-idouble: 2 +-ifloat: 3 ++idouble: 5 ++ifloat: 6 + ifloat128: 5 + ildouble: 4 + ldouble: 4 + + Function: "erfc_towardzero": +-double: 2 +-float: 2 ++double: 3 ++float: 4 + float128: 4 +-idouble: 2 +-ifloat: 2 ++idouble: 3 ++ifloat: 4 + ifloat128: 4 + ildouble: 4 + ldouble: 4 + + Function: "erfc_upward": +-double: 2 +-float: 3 ++double: 5 ++float: 6 + float128: 5 +-idouble: 2 +-ifloat: 3 ++idouble: 5 ++ifloat: 6 + ifloat128: 5 + ildouble: 5 + ldouble: 5 +@@ -1994,34 +2002,34 @@ ildouble: 4 + ldouble: 4 + + Function: "gamma": +-double: 3 ++double: 4 + float: 3 +-idouble: 3 ++idouble: 4 + ifloat: 3 + ildouble: 4 + ldouble: 4 + + Function: "gamma_downward": +-double: 4 ++double: 5 + float: 5 +-idouble: 4 ++idouble: 5 + ifloat: 5 + ildouble: 7 + ldouble: 7 + + Function: "gamma_towardzero": +-double: 4 +-float: 3 +-idouble: 4 +-ifloat: 3 ++double: 5 ++float: 4 ++idouble: 5 ++ifloat: 4 + ildouble: 7 + ldouble: 7 + + Function: "gamma_upward": +-double: 3 +-float: 4 +-idouble: 3 +-ifloat: 4 ++double: 5 ++float: 5 ++idouble: 5 ++ifloat: 5 + ildouble: 5 + ldouble: 5 + +@@ -2059,39 +2067,39 @@ ldouble: 1 + + Function: "j0": + double: 2 +-float: 1 ++float: 2 + float128: 2 + idouble: 2 +-ifloat: 1 ++ifloat: 2 + ifloat128: 2 + ildouble: 2 + ldouble: 2 + + Function: "j0_downward": +-double: 1 +-float: 3 ++double: 2 ++float: 4 + float128: 4 +-idouble: 1 +-ifloat: 3 ++idouble: 2 ++ifloat: 4 + ifloat128: 4 + ildouble: 4 + ldouble: 4 + + Function: "j0_towardzero": +-double: 2 +-float: 1 ++double: 3 ++float: 2 + float128: 2 +-idouble: 2 +-ifloat: 1 ++idouble: 3 ++ifloat: 2 + ifloat128: 2 + ildouble: 5 + ldouble: 5 + + Function: "j0_upward": +-double: 2 ++double: 3 + float: 3 + float128: 5 +-idouble: 2 ++idouble: 3 + ifloat: 3 + ifloat128: 5 + ildouble: 4 +@@ -2108,111 +2116,111 @@ ildouble: 1 + ldouble: 1 + + Function: "j1_downward": +-double: 2 +-float: 2 ++double: 3 ++float: 3 + float128: 4 +-idouble: 2 +-ifloat: 2 ++idouble: 3 ++ifloat: 3 + ifloat128: 4 + ildouble: 4 + ldouble: 4 + + Function: "j1_towardzero": +-double: 2 ++double: 3 + float: 2 + float128: 4 +-idouble: 2 ++idouble: 3 + ifloat: 2 + ifloat128: 4 + ildouble: 4 + ldouble: 4 + + Function: "j1_upward": +-double: 2 +-float: 3 ++double: 3 ++float: 5 + float128: 3 +-idouble: 2 +-ifloat: 3 ++idouble: 3 ++ifloat: 5 + ifloat128: 3 + ildouble: 3 + ldouble: 3 + + Function: "jn": +-double: 2 +-float: 3 ++double: 4 ++float: 4 + float128: 7 +-idouble: 2 +-ifloat: 3 ++idouble: 4 ++ifloat: 4 + ifloat128: 7 + ildouble: 4 + ldouble: 4 + + Function: "jn_downward": +-double: 2 +-float: 3 ++double: 5 ++float: 5 + float128: 8 +-idouble: 2 +-ifloat: 3 ++idouble: 5 ++ifloat: 5 + ifloat128: 8 + ildouble: 4 + ldouble: 4 + + Function: "jn_towardzero": +-double: 2 +-float: 3 ++double: 5 ++float: 5 + float128: 8 +-idouble: 2 +-ifloat: 3 ++idouble: 5 ++ifloat: 5 + ifloat128: 8 + ildouble: 5 + ldouble: 5 + + Function: "jn_upward": +-double: 2 +-float: 3 ++double: 5 ++float: 5 + float128: 7 +-idouble: 2 +-ifloat: 3 ++idouble: 5 ++ifloat: 5 + ifloat128: 7 + ildouble: 5 + ldouble: 5 + + Function: "lgamma": +-double: 3 ++double: 4 + float: 3 + float128: 5 +-idouble: 3 ++idouble: 4 + ifloat: 3 + ifloat128: 5 + ildouble: 4 + ldouble: 4 + + Function: "lgamma_downward": +-double: 4 ++double: 5 + float: 5 + float128: 8 +-idouble: 4 ++idouble: 5 + ifloat: 5 + ifloat128: 8 + ildouble: 7 + ldouble: 7 + + Function: "lgamma_towardzero": +-double: 4 +-float: 3 ++double: 5 ++float: 4 + float128: 5 +-idouble: 4 +-ifloat: 3 ++idouble: 5 ++ifloat: 4 + ifloat128: 5 + ildouble: 7 + ldouble: 7 + + Function: "lgamma_upward": +-double: 3 +-float: 4 ++double: 5 ++float: 5 + float128: 8 +-idouble: 3 +-ifloat: 4 ++idouble: 5 ++ifloat: 5 + ifloat128: 8 + ildouble: 5 + ldouble: 5 +@@ -2402,8 +2410,10 @@ ildouble: 4 + ldouble: 4 + + Function: "sin": ++double: 1 + float: 1 + float128: 1 ++idouble: 1 + ifloat: 1 + ifloat128: 1 + ildouble: 1 +@@ -2440,8 +2450,10 @@ ildouble: 3 + ldouble: 3 + + Function: "sincos": ++double: 1 + float: 1 + float128: 1 ++idouble: 1 + ifloat: 1 + ifloat128: 1 + ildouble: 1 +@@ -2478,39 +2490,41 @@ ildouble: 3 + ldouble: 3 + + Function: "sinh": +-double: 1 ++double: 2 ++float: 2 + float128: 2 +-idouble: 1 ++idouble: 2 ++ifloat: 2 + ifloat128: 2 + ildouble: 2 + ldouble: 2 + + Function: "sinh_downward": +-double: 2 +-float: 1 ++double: 3 ++float: 3 + float128: 3 +-idouble: 2 +-ifloat: 1 ++idouble: 3 ++ifloat: 3 + ifloat128: 3 + ildouble: 5 + ldouble: 5 + + Function: "sinh_towardzero": + double: 2 +-float: 1 ++float: 2 + float128: 3 + idouble: 2 +-ifloat: 1 ++ifloat: 2 + ifloat128: 3 + ildouble: 4 + ldouble: 4 + + Function: "sinh_upward": + double: 4 +-float: 2 ++float: 3 + float128: 4 + idouble: 4 +-ifloat: 2 ++ifloat: 3 + ifloat128: 4 + ildouble: 5 + ldouble: 5 +@@ -2554,199 +2568,201 @@ ildouble: 2 + ldouble: 2 + + Function: "tanh": +-double: 1 ++double: 2 ++float: 2 + float128: 2 +-idouble: 1 ++idouble: 2 ++ifloat: 2 + ifloat128: 2 + ildouble: 3 + ldouble: 3 + + Function: "tanh_downward": +-double: 1 +-float: 1 ++double: 3 ++float: 3 + float128: 4 +-idouble: 1 +-ifloat: 1 ++idouble: 3 ++ifloat: 3 + ifloat128: 4 + ildouble: 7 + ldouble: 4 + + Function: "tanh_towardzero": +-double: 1 +-float: 1 ++double: 2 ++float: 2 + float128: 3 +-idouble: 1 +-ifloat: 1 ++idouble: 2 ++ifloat: 2 + ifloat128: 3 + ildouble: 3 + ldouble: 3 + + Function: "tanh_upward": +-double: 1 +-float: 1 ++double: 3 ++float: 3 + float128: 3 +-idouble: 1 +-ifloat: 1 ++idouble: 3 ++ifloat: 3 + ifloat128: 3 + ildouble: 5 + ldouble: 4 + + Function: "tgamma": +-double: 3 +-float: 3 ++double: 5 ++float: 4 + float128: 4 +-idouble: 3 +-ifloat: 3 ++idouble: 5 ++ifloat: 4 + ifloat128: 4 + ildouble: 5 + ldouble: 5 + + Function: "tgamma_downward": +-double: 3 +-float: 3 ++double: 6 ++float: 5 + float128: 5 +-idouble: 3 +-ifloat: 3 ++idouble: 6 ++ifloat: 5 + ifloat128: 5 + ildouble: 5 + ldouble: 5 + + Function: "tgamma_towardzero": +-double: 3 +-float: 3 ++double: 6 ++float: 4 + float128: 5 +-idouble: 3 +-ifloat: 3 ++idouble: 6 ++ifloat: 4 + ifloat128: 5 + ildouble: 5 + ldouble: 5 + + Function: "tgamma_upward": +-double: 3 +-float: 3 ++double: 5 ++float: 4 + float128: 4 +-idouble: 3 +-ifloat: 3 ++idouble: 5 ++ifloat: 4 + ifloat128: 4 + ildouble: 5 + ldouble: 5 + + Function: "y0": +-double: 1 ++double: 2 + float: 1 + float128: 3 +-idouble: 1 ++idouble: 2 + ifloat: 1 + ifloat128: 3 + ildouble: 1 + ldouble: 1 + + Function: "y0_downward": +-double: 2 +-float: 3 ++double: 3 ++float: 4 + float128: 4 +-idouble: 2 +-ifloat: 3 ++idouble: 3 ++ifloat: 4 + ifloat128: 4 + ildouble: 5 + ldouble: 5 + + Function: "y0_towardzero": +-double: 2 ++double: 3 + float: 3 + float128: 3 +-idouble: 2 ++idouble: 3 + ifloat: 3 + ifloat128: 3 + ildouble: 5 + ldouble: 5 + + Function: "y0_upward": +-double: 1 +-float: 3 ++double: 3 ++float: 5 + float128: 3 +-idouble: 1 +-ifloat: 3 ++idouble: 3 ++ifloat: 5 + ifloat128: 3 + ildouble: 3 + ldouble: 3 + + Function: "y1": +-double: 2 ++double: 3 + float: 2 + float128: 2 +-idouble: 2 ++idouble: 3 + ifloat: 2 + ifloat128: 2 + ildouble: 2 + ldouble: 2 + + Function: "y1_downward": +-double: 2 ++double: 3 + float: 3 + float128: 4 +-idouble: 2 ++idouble: 3 + ifloat: 3 + ifloat128: 4 + ildouble: 7 + ldouble: 7 + + Function: "y1_towardzero": +-double: 2 ++double: 3 + float: 3 + float128: 2 +-idouble: 2 ++idouble: 3 + ifloat: 3 + ifloat128: 2 + ildouble: 5 + ldouble: 5 + + Function: "y1_upward": +-double: 1 ++double: 7 + float: 3 + float128: 5 +-idouble: 1 ++idouble: 7 + ifloat: 3 + ifloat128: 5 + ildouble: 7 + ldouble: 7 + + Function: "yn": +-double: 2 ++double: 3 + float: 3 + float128: 5 +-idouble: 2 ++idouble: 3 + ifloat: 3 + ifloat128: 5 + ildouble: 4 + ldouble: 4 + + Function: "yn_downward": +-double: 2 +-float: 3 ++double: 3 ++float: 4 + float128: 5 +-idouble: 2 +-ifloat: 3 ++idouble: 3 ++ifloat: 4 + ifloat128: 5 + ildouble: 5 + ldouble: 5 + + Function: "yn_towardzero": + double: 3 +-float: 3 ++float: 4 + float128: 5 + idouble: 3 +-ifloat: 3 ++ifloat: 4 + ifloat128: 5 + ildouble: 5 + ldouble: 5 + + Function: "yn_upward": +-double: 3 +-float: 3 ++double: 4 ++float: 5 + float128: 5 +-idouble: 3 +-ifloat: 3 ++idouble: 4 ++ifloat: 5 + ifloat128: 5 + ildouble: 4 + ldouble: 4 +diff --git a/sysdeps/i386/i686/fpu/multiarch/libm-test-ulps b/sysdeps/i386/i686/fpu/multiarch/libm-test-ulps +index 8a862ef2eb..1bc39f47e8 100644 +--- a/sysdeps/i386/i686/fpu/multiarch/libm-test-ulps ++++ b/sysdeps/i386/i686/fpu/multiarch/libm-test-ulps +@@ -281,20 +281,20 @@ ldouble: 1 + + Function: Real part of "cacos": + double: 1 +-float: 1 ++float: 2 + float128: 2 + idouble: 1 +-ifloat: 1 ++ifloat: 2 + ifloat128: 2 + ildouble: 1 + ldouble: 1 + + Function: Imaginary part of "cacos": +-double: 1 +-float: 1 ++double: 2 ++float: 2 + float128: 2 +-idouble: 1 +-ifloat: 1 ++idouble: 2 ++ifloat: 2 + ifloat128: 2 + ildouble: 2 + ldouble: 2 +@@ -360,21 +360,21 @@ ildouble: 7 + ldouble: 7 + + Function: Real part of "cacosh": +-double: 1 +-float: 1 ++double: 2 ++float: 2 + float128: 2 +-idouble: 1 +-ifloat: 1 ++idouble: 2 ++ifloat: 2 + ifloat128: 2 + ildouble: 2 + ldouble: 2 + + Function: Imaginary part of "cacosh": + double: 1 +-float: 1 ++float: 2 + float128: 2 + idouble: 1 +-ifloat: 1 ++ifloat: 2 + ifloat128: 2 + ildouble: 1 + ldouble: 1 +@@ -420,10 +420,10 @@ ildouble: 2 + ldouble: 2 + + Function: Real part of "cacosh_upward": +-double: 4 ++double: 5 + float: 4 + float128: 6 +-idouble: 4 ++idouble: 5 + ifloat: 4 + ifloat128: 6 + ildouble: 5 +@@ -488,11 +488,11 @@ ildouble: 1 + ldouble: 1 + + Function: Imaginary part of "casin": +-double: 1 +-float: 1 ++double: 2 ++float: 2 + float128: 2 +-idouble: 1 +-ifloat: 1 ++idouble: 2 ++ifloat: 2 + ifloat128: 2 + ildouble: 2 + ldouble: 2 +@@ -558,11 +558,11 @@ ildouble: 7 + ldouble: 7 + + Function: Real part of "casinh": +-double: 1 +-float: 1 ++double: 2 ++float: 2 + float128: 2 +-idouble: 1 +-ifloat: 1 ++idouble: 2 ++ifloat: 2 + ifloat128: 2 + ildouble: 2 + ldouble: 2 +@@ -774,11 +774,11 @@ ildouble: 1 + ldouble: 1 + + Function: Real part of "catanh_upward": +-double: 2 +-float: 2 ++double: 4 ++float: 4 + float128: 4 +-idouble: 2 +-ifloat: 2 ++idouble: 4 ++ifloat: 4 + ifloat128: 4 + ildouble: 4 + ldouble: 4 +@@ -875,10 +875,10 @@ ldouble: 3 + + Function: Real part of "ccos_towardzero": + double: 1 +-float: 1 ++float: 2 + float128: 2 + idouble: 1 +-ifloat: 1 ++ifloat: 2 + ifloat128: 2 + ildouble: 3 + ldouble: 3 +@@ -934,10 +934,10 @@ ildouble: 1 + ldouble: 1 + + Function: Real part of "ccosh_downward": +-double: 1 ++double: 2 + float: 2 + float128: 2 +-idouble: 1 ++idouble: 2 + ifloat: 2 + ifloat128: 2 + ildouble: 3 +@@ -954,11 +954,11 @@ ildouble: 3 + ldouble: 3 + + Function: Real part of "ccosh_towardzero": +-double: 1 +-float: 2 ++double: 2 ++float: 3 + float128: 2 +-idouble: 1 +-ifloat: 2 ++idouble: 2 ++ifloat: 3 + ifloat128: 2 + ildouble: 3 + ldouble: 3 +@@ -1075,10 +1075,10 @@ ldouble: 3 + + Function: Real part of "clog": + double: 2 +-float: 1 ++float: 3 + float128: 2 + idouble: 2 +-ifloat: 1 ++ifloat: 3 + ifloat128: 2 + ildouble: 3 + ldouble: 3 +@@ -1092,79 +1092,81 @@ ildouble: 1 + ldouble: 1 + + Function: Real part of "clog10": +-double: 2 +-float: 2 ++double: 3 ++float: 4 + float128: 2 +-idouble: 2 +-ifloat: 2 ++idouble: 3 ++ifloat: 4 + ifloat128: 2 + ildouble: 4 + ldouble: 4 + + Function: Imaginary part of "clog10": +-double: 1 ++double: 2 ++float: 1 + float128: 2 +-idouble: 1 ++idouble: 2 ++ifloat: 1 + ifloat128: 2 + ildouble: 2 + ldouble: 2 + + Function: Real part of "clog10_downward": +-double: 3 +-float: 3 ++double: 4 ++float: 4 + float128: 3 +-idouble: 3 +-ifloat: 3 ++idouble: 4 ++ifloat: 4 + ifloat128: 3 + ildouble: 8 + ldouble: 8 + + Function: Imaginary part of "clog10_downward": +-double: 1 +-float: 1 ++double: 2 ++float: 2 + float128: 3 +-idouble: 1 +-ifloat: 1 ++idouble: 2 ++ifloat: 2 + ifloat128: 3 + ildouble: 3 + ldouble: 3 + + Function: Real part of "clog10_towardzero": +-double: 3 +-float: 3 ++double: 5 ++float: 5 + float128: 4 +-idouble: 3 +-ifloat: 3 ++idouble: 5 ++ifloat: 5 + ifloat128: 4 + ildouble: 8 + ldouble: 8 + + Function: Imaginary part of "clog10_towardzero": +-double: 1 +-float: 1 ++double: 2 ++float: 2 + float128: 3 +-idouble: 1 +-ifloat: 1 ++idouble: 2 ++ifloat: 2 + ifloat128: 3 + ildouble: 3 + ldouble: 3 + + Function: Real part of "clog10_upward": +-double: 3 +-float: 3 ++double: 4 ++float: 5 + float128: 4 +-idouble: 3 +-ifloat: 3 ++idouble: 4 ++ifloat: 5 + ifloat128: 4 + ildouble: 8 + ldouble: 8 + + Function: Imaginary part of "clog10_upward": +-double: 1 +-float: 1 ++double: 2 ++float: 2 + float128: 3 +-idouble: 1 +-ifloat: 1 ++idouble: 2 ++ifloat: 2 + ifloat128: 3 + ildouble: 3 + ldouble: 3 +@@ -1191,10 +1193,10 @@ ldouble: 1 + + Function: Real part of "clog_towardzero": + double: 3 +-float: 3 ++float: 4 + float128: 3 + idouble: 3 +-ifloat: 3 ++ifloat: 4 + ifloat128: 3 + ildouble: 5 + ldouble: 5 +@@ -1230,7 +1232,9 @@ ildouble: 1 + ldouble: 1 + + Function: "cos": ++double: 1 + float128: 1 ++idouble: 1 + ifloat128: 1 + ildouble: 1 + ldouble: 1 +@@ -1478,10 +1482,10 @@ ildouble: 1 + ldouble: 1 + + Function: Real part of "csinh_downward": +-double: 1 ++double: 2 + float: 2 + float128: 2 +-idouble: 1 ++idouble: 2 + ifloat: 2 + ifloat128: 2 + ildouble: 3 +@@ -1498,10 +1502,10 @@ ildouble: 3 + ldouble: 3 + + Function: Real part of "csinh_towardzero": +-double: 1 ++double: 2 + float: 2 + float128: 2 +-idouble: 1 ++idouble: 2 + ifloat: 2 + ifloat128: 2 + ildouble: 3 +@@ -1538,79 +1542,81 @@ ildouble: 3 + ldouble: 3 + + Function: Real part of "csqrt": +-double: 1 ++double: 2 ++float: 2 + float128: 2 +-idouble: 1 ++idouble: 2 ++ifloat: 2 + ifloat128: 2 + ildouble: 2 + ldouble: 2 + + Function: Imaginary part of "csqrt": +-double: 1 +-float: 1 ++double: 2 ++float: 2 + float128: 2 +-idouble: 1 +-ifloat: 1 ++idouble: 2 ++ifloat: 2 + ifloat128: 2 + ildouble: 2 + ldouble: 2 + + Function: Real part of "csqrt_downward": +-double: 1 +-float: 1 ++double: 4 ++float: 4 + float128: 4 +-idouble: 1 +-ifloat: 1 ++idouble: 4 ++ifloat: 4 + ifloat128: 4 + ildouble: 5 + ldouble: 5 + + Function: Imaginary part of "csqrt_downward": +-double: 1 +-float: 1 ++double: 3 ++float: 3 + float128: 3 +-idouble: 1 +-ifloat: 1 ++idouble: 3 ++ifloat: 3 + ifloat128: 3 + ildouble: 4 + ldouble: 4 + + Function: Real part of "csqrt_towardzero": +-double: 1 +-float: 1 ++double: 3 ++float: 3 + float128: 3 +-idouble: 1 +-ifloat: 1 ++idouble: 3 ++ifloat: 3 + ifloat128: 3 + ildouble: 4 + ldouble: 4 + + Function: Imaginary part of "csqrt_towardzero": +-double: 1 +-float: 1 ++double: 3 ++float: 3 + float128: 3 +-idouble: 1 +-ifloat: 1 ++idouble: 3 ++ifloat: 3 + ifloat128: 3 + ildouble: 4 + ldouble: 4 + + Function: Real part of "csqrt_upward": +-double: 1 +-float: 1 ++double: 4 ++float: 4 + float128: 4 +-idouble: 1 +-ifloat: 1 ++idouble: 4 ++ifloat: 4 + ifloat128: 4 + ildouble: 5 + ldouble: 5 + + Function: Imaginary part of "csqrt_upward": +-double: 1 +-float: 2 ++double: 3 ++float: 3 + float128: 3 +-idouble: 1 +-ifloat: 2 ++idouble: 3 ++ifloat: 3 + ifloat128: 3 + ildouble: 4 + ldouble: 4 +@@ -1626,21 +1632,21 @@ ildouble: 2 + ldouble: 2 + + Function: Imaginary part of "ctan": +-double: 1 +-float: 1 ++double: 2 ++float: 2 + float128: 3 +-idouble: 1 +-ifloat: 1 ++idouble: 2 ++ifloat: 2 + ifloat128: 3 + ildouble: 1 + ldouble: 1 + + Function: Real part of "ctan_downward": +-double: 1 +-float: 2 ++double: 6 ++float: 5 + float128: 4 +-idouble: 1 +-ifloat: 2 ++idouble: 6 ++ifloat: 5 + ifloat128: 4 + ildouble: 5 + ldouble: 5 +@@ -1656,31 +1662,31 @@ ildouble: 4 + ldouble: 4 + + Function: Real part of "ctan_towardzero": +-double: 3 +-float: 1 ++double: 5 ++float: 3 + float128: 4 +-idouble: 3 +-ifloat: 1 ++idouble: 5 ++ifloat: 3 + ifloat128: 4 + ildouble: 5 + ldouble: 5 + + Function: Imaginary part of "ctan_towardzero": + double: 2 +-float: 1 ++float: 2 + float128: 5 + idouble: 2 +-ifloat: 1 ++ifloat: 2 + ifloat128: 5 + ildouble: 4 + ldouble: 4 + + Function: Real part of "ctan_upward": + double: 3 +-float: 2 ++float: 4 + float128: 5 + idouble: 3 +-ifloat: 2 ++ifloat: 4 + ifloat128: 5 + ildouble: 3 + ldouble: 3 +@@ -1696,21 +1702,21 @@ ildouble: 3 + ldouble: 3 + + Function: Real part of "ctanh": +-double: 1 +-float: 1 ++double: 2 ++float: 2 + float128: 3 +-idouble: 1 +-ifloat: 1 ++idouble: 2 ++ifloat: 2 + ifloat128: 3 + ildouble: 1 + ldouble: 1 + + Function: Imaginary part of "ctanh": +-double: 1 +-float: 1 ++double: 2 ++float: 2 + float128: 3 +-idouble: 1 +-ifloat: 1 ++idouble: 2 ++ifloat: 2 + ifloat128: 3 + ildouble: 2 + ldouble: 2 +@@ -1726,51 +1732,51 @@ ildouble: 4 + ldouble: 4 + + Function: Imaginary part of "ctanh_downward": +-double: 2 +-float: 1 ++double: 6 ++float: 5 + float128: 4 +-idouble: 2 +-ifloat: 1 ++idouble: 6 ++ifloat: 5 + ifloat128: 4 + ildouble: 4 + ldouble: 4 + + Function: Real part of "ctanh_towardzero": + double: 2 +-float: 1 ++float: 2 + float128: 5 + idouble: 2 +-ifloat: 1 ++ifloat: 2 + ifloat128: 5 + ildouble: 4 + ldouble: 4 + + Function: Imaginary part of "ctanh_towardzero": +-double: 2 +-float: 1 ++double: 5 ++float: 3 + float128: 3 +-idouble: 2 +-ifloat: 1 ++idouble: 5 ++ifloat: 3 + ifloat128: 3 + ildouble: 3 + ldouble: 3 + + Function: Real part of "ctanh_upward": + double: 2 +-float: 1 ++float: 2 + float128: 5 + idouble: 2 +-ifloat: 1 ++ifloat: 2 + ifloat128: 5 + ildouble: 3 + ldouble: 3 + + Function: Imaginary part of "ctanh_upward": + double: 3 +-float: 2 ++float: 3 + float128: 5 + idouble: 3 +-ifloat: 2 ++ifloat: 3 + ifloat128: 5 + ildouble: 3 + ldouble: 3 +@@ -1816,41 +1822,41 @@ ildouble: 1 + ldouble: 1 + + Function: "erfc": +-double: 1 +-float: 1 ++double: 3 ++float: 2 + float128: 2 +-idouble: 1 +-ifloat: 1 ++idouble: 3 ++ifloat: 2 + ifloat128: 2 + ildouble: 3 + ldouble: 3 + + Function: "erfc_downward": +-double: 2 +-float: 3 ++double: 5 ++float: 6 + float128: 5 +-idouble: 2 +-ifloat: 3 ++idouble: 5 ++ifloat: 6 + ifloat128: 5 + ildouble: 4 + ldouble: 4 + + Function: "erfc_towardzero": +-double: 2 +-float: 2 ++double: 3 ++float: 4 + float128: 4 +-idouble: 2 +-ifloat: 2 ++idouble: 3 ++ifloat: 4 + ifloat128: 4 + ildouble: 4 + ldouble: 4 + + Function: "erfc_upward": +-double: 2 +-float: 3 ++double: 5 ++float: 6 + float128: 5 +-idouble: 2 +-ifloat: 3 ++idouble: 5 ++ifloat: 6 + ifloat128: 5 + ildouble: 5 + ldouble: 5 +@@ -1994,34 +2000,34 @@ ildouble: 4 + ldouble: 4 + + Function: "gamma": +-double: 3 ++double: 4 + float: 3 +-idouble: 3 ++idouble: 4 + ifloat: 3 + ildouble: 4 + ldouble: 4 + + Function: "gamma_downward": +-double: 4 ++double: 5 + float: 5 +-idouble: 4 ++idouble: 5 + ifloat: 5 + ildouble: 7 + ldouble: 7 + + Function: "gamma_towardzero": +-double: 4 ++double: 5 + float: 4 +-idouble: 4 ++idouble: 5 + ifloat: 4 + ildouble: 7 + ldouble: 7 + + Function: "gamma_upward": +-double: 3 +-float: 4 +-idouble: 3 +-ifloat: 4 ++double: 5 ++float: 5 ++idouble: 5 ++ifloat: 5 + ildouble: 6 + ldouble: 6 + +@@ -2059,39 +2065,39 @@ ldouble: 1 + + Function: "j0": + double: 2 +-float: 1 ++float: 2 + float128: 2 + idouble: 2 +-ifloat: 1 ++ifloat: 2 + ifloat128: 2 + ildouble: 2 + ldouble: 2 + + Function: "j0_downward": +-double: 1 +-float: 3 ++double: 2 ++float: 4 + float128: 4 +-idouble: 1 +-ifloat: 3 ++idouble: 2 ++ifloat: 4 + ifloat128: 4 + ildouble: 4 + ldouble: 4 + + Function: "j0_towardzero": +-double: 2 +-float: 1 ++double: 3 ++float: 2 + float128: 2 +-idouble: 2 +-ifloat: 1 ++idouble: 3 ++ifloat: 2 + ifloat128: 2 + ildouble: 5 + ldouble: 5 + + Function: "j0_upward": +-double: 2 ++double: 3 + float: 3 + float128: 5 +-idouble: 2 ++idouble: 3 + ifloat: 3 + ifloat128: 5 + ildouble: 4 +@@ -2099,120 +2105,120 @@ ldouble: 4 + + Function: "j1": + double: 2 +-float: 1 ++float: 2 + float128: 4 + idouble: 2 +-ifloat: 1 ++ifloat: 2 + ifloat128: 4 + ildouble: 1 + ldouble: 1 + + Function: "j1_downward": +-double: 2 +-float: 2 ++double: 3 ++float: 3 + float128: 4 +-idouble: 2 +-ifloat: 2 ++idouble: 3 ++ifloat: 3 + ifloat128: 4 + ildouble: 4 + ldouble: 4 + + Function: "j1_towardzero": +-double: 2 ++double: 3 + float: 2 + float128: 4 +-idouble: 2 ++idouble: 3 + ifloat: 2 + ifloat128: 4 + ildouble: 4 + ldouble: 4 + + Function: "j1_upward": +-double: 2 +-float: 3 ++double: 3 ++float: 5 + float128: 3 +-idouble: 2 +-ifloat: 3 ++idouble: 3 ++ifloat: 5 + ifloat128: 3 + ildouble: 3 + ldouble: 3 + + Function: "jn": +-double: 2 +-float: 3 ++double: 4 ++float: 4 + float128: 7 +-idouble: 2 +-ifloat: 3 ++idouble: 4 ++ifloat: 4 + ifloat128: 7 + ildouble: 4 + ldouble: 4 + + Function: "jn_downward": +-double: 2 +-float: 3 ++double: 5 ++float: 5 + float128: 8 +-idouble: 2 +-ifloat: 3 ++idouble: 5 ++ifloat: 5 + ifloat128: 8 + ildouble: 4 + ldouble: 4 + + Function: "jn_towardzero": +-double: 2 +-float: 3 ++double: 5 ++float: 5 + float128: 8 +-idouble: 2 +-ifloat: 3 ++idouble: 5 ++ifloat: 5 + ifloat128: 8 + ildouble: 5 + ldouble: 5 + + Function: "jn_upward": +-double: 2 +-float: 3 ++double: 5 ++float: 5 + float128: 7 +-idouble: 2 +-ifloat: 3 ++idouble: 5 ++ifloat: 5 + ifloat128: 7 + ildouble: 5 + ldouble: 5 + + Function: "lgamma": +-double: 3 ++double: 4 + float: 3 + float128: 5 +-idouble: 3 ++idouble: 4 + ifloat: 3 + ifloat128: 5 + ildouble: 4 + ldouble: 4 + + Function: "lgamma_downward": +-double: 4 ++double: 5 + float: 5 + float128: 8 +-idouble: 4 ++idouble: 5 + ifloat: 5 + ifloat128: 8 + ildouble: 7 + ldouble: 7 + + Function: "lgamma_towardzero": +-double: 4 ++double: 5 + float: 4 + float128: 5 +-idouble: 4 ++idouble: 5 + ifloat: 4 + ifloat128: 5 + ildouble: 7 + ldouble: 7 + + Function: "lgamma_upward": +-double: 3 +-float: 4 ++double: 5 ++float: 5 + float128: 8 +-idouble: 3 +-ifloat: 4 ++idouble: 5 ++ifloat: 5 + ifloat128: 8 + ildouble: 6 + ldouble: 6 +@@ -2402,7 +2408,9 @@ ildouble: 4 + ldouble: 4 + + Function: "sin": ++double: 1 + float128: 1 ++idouble: 1 + ifloat128: 1 + ildouble: 1 + ldouble: 1 +@@ -2432,7 +2440,9 @@ ildouble: 3 + ldouble: 3 + + Function: "sincos": ++double: 1 + float128: 1 ++idouble: 1 + ifloat128: 1 + ildouble: 1 + ldouble: 1 +@@ -2462,39 +2472,41 @@ ildouble: 3 + ldouble: 3 + + Function: "sinh": +-double: 1 ++double: 2 ++float: 2 + float128: 2 +-idouble: 1 ++idouble: 2 ++ifloat: 2 + ifloat128: 2 + ildouble: 2 + ldouble: 2 + + Function: "sinh_downward": +-double: 2 +-float: 1 ++double: 3 ++float: 3 + float128: 3 +-idouble: 2 +-ifloat: 1 ++idouble: 3 ++ifloat: 3 + ifloat128: 3 + ildouble: 5 + ldouble: 5 + + Function: "sinh_towardzero": + double: 2 +-float: 1 ++float: 2 + float128: 3 + idouble: 2 +-ifloat: 1 ++ifloat: 2 + ifloat128: 3 + ildouble: 4 + ldouble: 4 + + Function: "sinh_upward": + double: 4 +-float: 2 ++float: 3 + float128: 4 + idouble: 4 +-ifloat: 2 ++ifloat: 3 + ifloat128: 4 + ildouble: 5 + ldouble: 5 +@@ -2538,199 +2550,201 @@ ildouble: 2 + ldouble: 2 + + Function: "tanh": +-double: 1 ++double: 2 ++float: 2 + float128: 2 +-idouble: 1 ++idouble: 2 ++ifloat: 2 + ifloat128: 2 + ildouble: 3 + ldouble: 3 + + Function: "tanh_downward": +-double: 1 +-float: 1 ++double: 3 ++float: 3 + float128: 4 +-idouble: 1 +-ifloat: 1 ++idouble: 3 ++ifloat: 3 + ifloat128: 4 + ildouble: 7 + ldouble: 4 + + Function: "tanh_towardzero": +-double: 1 +-float: 1 ++double: 2 ++float: 2 + float128: 3 +-idouble: 1 +-ifloat: 1 ++idouble: 2 ++ifloat: 2 + ifloat128: 3 + ildouble: 3 + ldouble: 3 + + Function: "tanh_upward": +-double: 1 +-float: 1 ++double: 3 ++float: 3 + float128: 3 +-idouble: 1 +-ifloat: 1 ++idouble: 3 ++ifloat: 3 + ifloat128: 3 + ildouble: 5 + ldouble: 4 + + Function: "tgamma": +-double: 3 +-float: 3 ++double: 5 ++float: 4 + float128: 4 +-idouble: 3 +-ifloat: 3 ++idouble: 5 ++ifloat: 4 + ifloat128: 4 + ildouble: 5 + ldouble: 5 + + Function: "tgamma_downward": +-double: 3 ++double: 6 + float: 5 + float128: 5 +-idouble: 3 ++idouble: 6 + ifloat: 5 + ifloat128: 5 + ildouble: 5 + ldouble: 5 + + Function: "tgamma_towardzero": +-double: 4 ++double: 6 + float: 5 + float128: 5 +-idouble: 4 ++idouble: 6 + ifloat: 5 + ifloat128: 5 + ildouble: 5 + ldouble: 5 + + Function: "tgamma_upward": +-double: 4 ++double: 5 + float: 6 + float128: 4 +-idouble: 4 ++idouble: 5 + ifloat: 6 + ifloat128: 4 + ildouble: 5 + ldouble: 5 + + Function: "y0": +-double: 1 ++double: 2 + float: 1 + float128: 3 +-idouble: 1 ++idouble: 2 + ifloat: 1 + ifloat128: 3 + ildouble: 1 + ldouble: 1 + + Function: "y0_downward": +-double: 2 +-float: 2 ++double: 3 ++float: 4 + float128: 4 +-idouble: 2 +-ifloat: 2 ++idouble: 3 ++ifloat: 4 + ifloat128: 4 + ildouble: 5 + ldouble: 5 + + Function: "y0_towardzero": +-double: 2 ++double: 3 + float: 3 + float128: 3 +-idouble: 2 ++idouble: 3 + ifloat: 3 + ifloat128: 3 + ildouble: 5 + ldouble: 5 + + Function: "y0_upward": +-double: 1 +-float: 3 ++double: 3 ++float: 5 + float128: 3 +-idouble: 1 +-ifloat: 3 ++idouble: 3 ++ifloat: 5 + ifloat128: 3 + ildouble: 3 + ldouble: 3 + + Function: "y1": +-double: 2 ++double: 3 + float: 2 + float128: 2 +-idouble: 2 ++idouble: 3 + ifloat: 2 + ifloat128: 2 + ildouble: 2 + ldouble: 2 + + Function: "y1_downward": +-double: 2 +-float: 2 ++double: 3 ++float: 4 + float128: 4 +-idouble: 2 +-ifloat: 2 ++idouble: 3 ++ifloat: 4 + ifloat128: 4 + ildouble: 7 + ldouble: 7 + + Function: "y1_towardzero": +-double: 2 +-float: 2 ++double: 3 ++float: 3 + float128: 2 +-idouble: 2 +-ifloat: 2 ++idouble: 3 ++ifloat: 3 + ifloat128: 2 + ildouble: 5 + ldouble: 5 + + Function: "y1_upward": +-double: 1 ++double: 7 + float: 3 + float128: 5 +-idouble: 1 ++idouble: 7 + ifloat: 3 + ifloat128: 5 + ildouble: 7 + ldouble: 7 + + Function: "yn": +-double: 2 ++double: 3 + float: 3 + float128: 5 +-idouble: 2 ++idouble: 3 + ifloat: 3 + ifloat128: 5 + ildouble: 4 + ldouble: 4 + + Function: "yn_downward": +-double: 2 +-float: 2 ++double: 3 ++float: 4 + float128: 5 +-idouble: 2 +-ifloat: 2 ++idouble: 3 ++ifloat: 4 + ifloat128: 5 + ildouble: 5 + ldouble: 5 + + Function: "yn_towardzero": + double: 3 +-float: 3 ++float: 4 + float128: 5 + idouble: 3 +-ifloat: 3 ++ifloat: 4 + ifloat128: 5 + ildouble: 5 + ldouble: 5 + + Function: "yn_upward": +-double: 3 +-float: 3 ++double: 4 ++float: 5 + float128: 5 +-idouble: 3 +-ifloat: 3 ++idouble: 4 ++ifloat: 5 + ifloat128: 5 + ildouble: 4 + ldouble: 4 +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/sysdeps/i386/i686/multiarch/strncmp-c.c b/sysdeps/i386/i686/multiarch/strncmp-c.c +index cc059da494..2e3eca9b2b 100644 +--- a/sysdeps/i386/i686/multiarch/strncmp-c.c ++++ b/sysdeps/i386/i686/multiarch/strncmp-c.c +@@ -1,4 +1,4 @@ +-#ifdef SHARED ++#if defined (SHARED) && IS_IN (libc) + # define STRNCMP __strncmp_ia32 + # undef libc_hidden_builtin_def + # define libc_hidden_builtin_def(name) \ +diff --git a/sysdeps/nptl/lowlevellock.h b/sysdeps/nptl/lowlevellock.h +index 8326e2805c..bfbda99940 100644 +--- a/sysdeps/nptl/lowlevellock.h ++++ b/sysdeps/nptl/lowlevellock.h +@@ -181,11 +181,14 @@ extern int __lll_timedlock_wait (int *futex, const struct timespec *, + thread ID while the clone is running and is reset to zero by the kernel + afterwards. The kernel up to version 3.16.3 does not use the private futex + operations for futex wake-up when the clone terminates. */ +-#define lll_wait_tid(tid) \ +- do { \ +- __typeof (tid) __tid; \ +- while ((__tid = (tid)) != 0) \ +- lll_futex_wait (&(tid), __tid, LLL_SHARED);\ ++#define lll_wait_tid(tid) \ ++ do { \ ++ __typeof (tid) __tid; \ ++ /* We need acquire MO here so that we synchronize \ ++ with the kernel's store to 0 when the clone \ ++ terminates. (see above) */ \ ++ while ((__tid = atomic_load_acquire (&(tid))) != 0) \ ++ lll_futex_wait (&(tid), __tid, LLL_SHARED); \ + } while (0) + + extern int __lll_timedwait_tid (int *, const struct timespec *) +diff --git a/sysdeps/posix/spawni.c b/sysdeps/posix/spawni.c +index 36bb5b4f78..b138ab4393 100644 +--- a/sysdeps/posix/spawni.c ++++ b/sysdeps/posix/spawni.c +@@ -310,6 +310,8 @@ __spawni (pid_t * pid, const char *file, + const posix_spawnattr_t * attrp, char *const argv[], + char *const envp[], int xflags) + { ++ /* It uses __execvpex to avoid run ENOEXEC in non compatibility mode (it ++ will be handled by maybe_script_execute). */ + return __spawnix (pid, file, acts, attrp, argv, envp, xflags, +- xflags & SPAWN_XFLAGS_USE_PATH ? __execvpe : __execve); ++ xflags & SPAWN_XFLAGS_USE_PATH ? __execvpex : __execve); + } +diff --git a/sysdeps/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/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 @@ + . */ + + #include ++#include + #include + + 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 @@ + . */ + + #include ++#include + #include + + 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 @@ + . */ + + #include ++#include + #include + + 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 @@ + . */ + + #include ++#include + #include + + 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/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 + #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/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/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/sysdeps/unix/sysv/linux/aarch64/configure b/sysdeps/unix/sysv/linux/aarch64/configure +index 27d50e1d3c..290670a67a 100644 +--- a/sysdeps/unix/sysv/linux/aarch64/configure ++++ b/sysdeps/unix/sysv/linux/aarch64/configure +@@ -6,10 +6,10 @@ arch_minimum_kernel=3.7.0 + test -n "$libc_cv_slibdir" || + case "$prefix" in + /usr | /usr/) +- libc_cv_slibdir='/lib64' ++ libc_cv_slibdir='/lib' + libc_cv_rtlddir='/lib' + if test "$libdir" = '${exec_prefix}/lib'; then +- libdir='${exec_prefix}/lib64'; ++ libdir='${exec_prefix}/lib'; + # Locale data can be shared between 32-bit and 64-bit libraries. + libc_cv_complocaledir='${exec_prefix}/lib/locale' + fi +diff --git a/sysdeps/unix/sysv/linux/aarch64/sys/ptrace.h b/sysdeps/unix/sysv/linux/aarch64/sys/ptrace.h +index 4be45b95ff..93e373c3ad 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 +@@ -140,8 +132,12 @@ enum __ptrace_request + #define PTRACE_SETSIGMASK PTRACE_SETSIGMASK + + /* Get seccomp BPF filters. */ +- PTRACE_SECCOMP_GET_FILTER = 0x420c ++ PTRACE_SECCOMP_GET_FILTER = 0x420c, + #define PTRACE_SECCOMP_GET_FILTER PTRACE_SECCOMP_GET_FILTER ++ ++ /* Get seccomp BPF filter metadata. */ ++ PTRACE_SECCOMP_GET_METADATA = 0x420d ++#define PTRACE_SECCOMP_GET_METADATA PTRACE_SECCOMP_GET_METADATA + }; + + +diff --git a/sysdeps/unix/sysv/linux/arm/sys/ptrace.h b/sysdeps/unix/sysv/linux/arm/sys/ptrace.h +index fbcb9384bd..bc54a1e5e2 100644 +--- a/sysdeps/unix/sysv/linux/arm/sys/ptrace.h ++++ b/sysdeps/unix/sysv/linux/arm/sys/ptrace.h +@@ -192,8 +192,12 @@ enum __ptrace_request + #define PTRACE_SETSIGMASK PTRACE_SETSIGMASK + + /* Get seccomp BPF filters. */ +- PTRACE_SECCOMP_GET_FILTER = 0x420c ++ PTRACE_SECCOMP_GET_FILTER = 0x420c, + #define PTRACE_SECCOMP_GET_FILTER PTRACE_SECCOMP_GET_FILTER ++ ++ /* Get seccomp BPF filter metadata. */ ++ PTRACE_SECCOMP_GET_METADATA = 0x420d ++#define PTRACE_SECCOMP_GET_METADATA PTRACE_SECCOMP_GET_METADATA + }; + + +diff --git a/sysdeps/unix/sysv/linux/bits/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/sysdeps/unix/sysv/linux/bits/ptrace-shared.h b/sysdeps/unix/sysv/linux/bits/ptrace-shared.h +index 960b101f94..03a779140c 100644 +--- a/sysdeps/unix/sysv/linux/bits/ptrace-shared.h ++++ b/sysdeps/unix/sysv/linux/bits/ptrace-shared.h +@@ -66,6 +66,13 @@ enum __ptrace_peeksiginfo_flags + PTRACE_PEEKSIGINFO_SHARED = (1 << 0) + }; + ++/* Argument and results of PTRACE_SECCOMP_GET_METADATA. */ ++struct __ptrace_seccomp_metadata ++{ ++ __uint64_t filter_off; /* Input: which filter. */ ++ __uint64_t flags; /* Output: filter's flags. */ ++}; ++ + /* Perform process tracing functions. REQUEST is one of the values + above, and determines the action to be taken. + For all requests except PTRACE_TRACEME, PID specifies the process to be +diff --git a/sysdeps/unix/sysv/linux/bits/uio-ext.h b/sysdeps/unix/sysv/linux/bits/uio-ext.h +index 53663ed1a2..8698bc1200 100644 +--- a/sysdeps/unix/sysv/linux/bits/uio-ext.h ++++ b/sysdeps/unix/sysv/linux/bits/uio-ext.h +@@ -46,6 +46,7 @@ extern ssize_t process_vm_writev (pid_t __pid, const struct iovec *__lvec, + #define RWF_DSYNC 0x00000002 /* per-IO O_DSYNC. */ + #define RWF_SYNC 0x00000004 /* per-IO O_SYNC. */ + #define RWF_NOWAIT 0x00000008 /* per-IO nonblocking mode. */ ++#define RWF_APPEND 0x00000010 /* per-IO O_APPEND. */ + + __END_DECLS + +diff --git a/sysdeps/unix/sysv/linux/getlogin_r.c b/sysdeps/unix/sysv/linux/getlogin_r.c +index 84c51d0ecd..7a814ea92f 100644 +--- a/sysdeps/unix/sysv/linux/getlogin_r.c ++++ b/sysdeps/unix/sysv/linux/getlogin_r.c +@@ -54,6 +54,15 @@ __getlogin_r_loginuid (char *name, size_t namesize) + endp == uidbuf || *endp != '\0')) + return -1; + ++ /* If there is no login uid, linux sets /proc/self/loginid to the sentinel ++ value of, (uid_t) -1, so check if that value is set and return early to ++ avoid making unneeded nss lookups. */ ++ if (uid == (uid_t) -1) ++ { ++ __set_errno (ENXIO); ++ return ENXIO; ++ } ++ + size_t buflen = 1024; + char *buf = alloca (buflen); + bool use_malloc = false; +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..6ee3fc62be +--- /dev/null ++++ b/sysdeps/unix/sysv/linux/i386/tst-bz21269.c +@@ -0,0 +1,235 @@ ++/* 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 ++ . */ ++ ++/* 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 ++ ++#include ++#include ++ ++#include ++#include ++#include ++#include ++#include ++ ++#include ++#include ++#include ++ ++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); ++ /* Some kernels send SIGBUS instead. */ ++ xsethandler (SIGBUS, 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 +diff --git a/sysdeps/unix/sysv/linux/ia64/sys/ptrace.h b/sysdeps/unix/sysv/linux/ia64/sys/ptrace.h +index 1c73b9dee6..e00b1212fc 100644 +--- a/sysdeps/unix/sysv/linux/ia64/sys/ptrace.h ++++ b/sysdeps/unix/sysv/linux/ia64/sys/ptrace.h +@@ -145,8 +145,12 @@ enum __ptrace_request + #define PTRACE_SETSIGMASK PTRACE_SETSIGMASK + + /* Get seccomp BPF filters. */ +- PTRACE_SECCOMP_GET_FILTER = 0x420c ++ PTRACE_SECCOMP_GET_FILTER = 0x420c, + #define PTRACE_SECCOMP_GET_FILTER PTRACE_SECCOMP_GET_FILTER ++ ++ /* Get seccomp BPF filter metadata. */ ++ PTRACE_SECCOMP_GET_METADATA = 0x420d ++#define PTRACE_SECCOMP_GET_METADATA PTRACE_SECCOMP_GET_METADATA + }; + + +diff --git a/sysdeps/unix/sysv/linux/powerpc/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/sysdeps/unix/sysv/linux/powerpc/sys/ptrace.h b/sysdeps/unix/sysv/linux/powerpc/sys/ptrace.h +index 75567b2bad..9fde99c748 100644 +--- a/sysdeps/unix/sysv/linux/powerpc/sys/ptrace.h ++++ b/sysdeps/unix/sysv/linux/powerpc/sys/ptrace.h +@@ -24,6 +24,50 @@ + + __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_SECCOMP_GET_METADATA ++# 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 + { +@@ -69,6 +113,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 +@@ -77,10 +137,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 +@@ -131,8 +237,12 @@ enum __ptrace_request + #define PTRACE_SETSIGMASK PTRACE_SETSIGMASK + + /* Get seccomp BPF filters. */ +- PTRACE_SECCOMP_GET_FILTER = 0x420c ++ PTRACE_SECCOMP_GET_FILTER = 0x420c, + #define PTRACE_SECCOMP_GET_FILTER PTRACE_SECCOMP_GET_FILTER ++ ++ /* Get seccomp BPF filter metadata. */ ++ PTRACE_SECCOMP_GET_METADATA = 0x420d ++#define PTRACE_SECCOMP_GET_METADATA PTRACE_SECCOMP_GET_METADATA + }; + + +diff --git a/sysdeps/unix/sysv/linux/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/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/sysdeps/unix/sysv/linux/s390/sys/ptrace.h b/sysdeps/unix/sysv/linux/s390/sys/ptrace.h +index cca02489d6..d60a034b11 100644 +--- a/sysdeps/unix/sysv/linux/s390/sys/ptrace.h ++++ b/sysdeps/unix/sysv/linux/s390/sys/ptrace.h +@@ -52,6 +52,7 @@ __BEGIN_DECLS + # undef PTRACE_GETSIGMASK + # undef PTRACE_SETSIGMASK + # undef PTRACE_SECCOMP_GET_FILTER ++# undef PTRACE_SECCOMP_GET_METADATA + # undef PTRACE_PEEKUSR_AREA + # undef PTRACE_POKEUSR_AREA + # undef PTRACE_GET_LAST_BREAK +@@ -193,6 +194,10 @@ enum __ptrace_request + PTRACE_SECCOMP_GET_FILTER = 0x420c, + #define PTRACE_SECCOMP_GET_FILTER PTRACE_SECCOMP_GET_FILTER + ++ /* Get seccomp BPF filter metadata. */ ++ PTRACE_SECCOMP_GET_METADATA = 0x420d, ++#define PTRACE_SECCOMP_GET_METADATA PTRACE_SECCOMP_GET_METADATA ++ + PTRACE_PEEKUSR_AREA = 0x5000, + #define PTRACE_PEEKUSR_AREA PTRACE_PEEKUSR_AREA + +diff --git a/sysdeps/unix/sysv/linux/sparc/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/sysdeps/unix/sysv/linux/sparc/sys/ptrace.h b/sysdeps/unix/sysv/linux/sparc/sys/ptrace.h +index 9193275fac..c037734666 100644 +--- a/sysdeps/unix/sysv/linux/sparc/sys/ptrace.h ++++ b/sysdeps/unix/sysv/linux/sparc/sys/ptrace.h +@@ -213,8 +213,12 @@ enum __ptrace_request + #define PTRACE_SETSIGMASK PTRACE_SETSIGMASK + + /* Get seccomp BPF filters. */ +- PTRACE_SECCOMP_GET_FILTER = 0x420c ++ PTRACE_SECCOMP_GET_FILTER = 0x420c, + #define PTRACE_SECCOMP_GET_FILTER PTRACE_SECCOMP_GET_FILTER ++ ++ /* Get seccomp BPF filter metadata. */ ++ PTRACE_SECCOMP_GET_METADATA = 0x420d ++#define PTRACE_SECCOMP_GET_METADATA PTRACE_SECCOMP_GET_METADATA + }; + + +diff --git a/sysdeps/unix/sysv/linux/spawni.c b/sysdeps/unix/sysv/linux/spawni.c +index 6b699a46dd..32ab000560 100644 +--- a/sysdeps/unix/sysv/linux/spawni.c ++++ b/sysdeps/unix/sysv/linux/spawni.c +@@ -404,6 +404,8 @@ __spawni (pid_t * pid, const char *file, + const posix_spawnattr_t * attrp, char *const argv[], + char *const envp[], int xflags) + { ++ /* It uses __execvpex to avoid run ENOEXEC in non compatibility mode (it ++ will be handled by maybe_script_execute). */ + return __spawnix (pid, file, acts, attrp, argv, envp, xflags, +- xflags & SPAWN_XFLAGS_USE_PATH ? __execvpe : __execve); ++ xflags & SPAWN_XFLAGS_USE_PATH ? __execvpex :__execve); + } +diff --git a/sysdeps/unix/sysv/linux/sys/ptrace.h b/sysdeps/unix/sysv/linux/sys/ptrace.h +index 85772f348a..3c71a0ebd6 100644 +--- a/sysdeps/unix/sysv/linux/sys/ptrace.h ++++ b/sysdeps/unix/sysv/linux/sys/ptrace.h +@@ -162,8 +162,12 @@ enum __ptrace_request + #define PTRACE_SETSIGMASK PTRACE_SETSIGMASK + + /* Get seccomp BPF filters. */ +- PTRACE_SECCOMP_GET_FILTER = 0x420c ++ PTRACE_SECCOMP_GET_FILTER = 0x420c, + #define PTRACE_SECCOMP_GET_FILTER PTRACE_SECCOMP_GET_FILTER ++ ++ /* Get seccomp BPF filter metadata. */ ++ PTRACE_SECCOMP_GET_METADATA = 0x420d ++#define PTRACE_SECCOMP_GET_METADATA PTRACE_SECCOMP_GET_METADATA + }; + + +diff --git a/sysdeps/unix/sysv/linux/tile/sys/ptrace.h b/sysdeps/unix/sysv/linux/tile/sys/ptrace.h +index a1db185073..d391037ca8 100644 +--- a/sysdeps/unix/sysv/linux/tile/sys/ptrace.h ++++ b/sysdeps/unix/sysv/linux/tile/sys/ptrace.h +@@ -136,8 +136,12 @@ enum __ptrace_request + #define PTRACE_SETSIGMASK PTRACE_SETSIGMASK + + /* Get seccomp BPF filters. */ +- PTRACE_SECCOMP_GET_FILTER = 0x420c ++ PTRACE_SECCOMP_GET_FILTER = 0x420c, + #define PTRACE_SECCOMP_GET_FILTER PTRACE_SECCOMP_GET_FILTER ++ ++ /* Get seccomp BPF filter metadata. */ ++ PTRACE_SECCOMP_GET_METADATA = 0x420d ++#define PTRACE_SECCOMP_GET_METADATA PTRACE_SECCOMP_GET_METADATA + }; + + +diff --git a/sysdeps/unix/sysv/linux/x86/sys/ptrace.h b/sysdeps/unix/sysv/linux/x86/sys/ptrace.h +index 60003422b3..6d4605b6ed 100644 +--- a/sysdeps/unix/sysv/linux/x86/sys/ptrace.h ++++ b/sysdeps/unix/sysv/linux/x86/sys/ptrace.h +@@ -182,8 +182,12 @@ enum __ptrace_request + #define PTRACE_SETSIGMASK PTRACE_SETSIGMASK + + /* Get seccomp BPF filters. */ +- PTRACE_SECCOMP_GET_FILTER = 0x420c ++ PTRACE_SECCOMP_GET_FILTER = 0x420c, + #define PTRACE_SECCOMP_GET_FILTER PTRACE_SECCOMP_GET_FILTER ++ ++ /* Get seccomp BPF filter metadata. */ ++ PTRACE_SECCOMP_GET_METADATA = 0x420d ++#define PTRACE_SECCOMP_GET_METADATA PTRACE_SECCOMP_GET_METADATA + }; + + +diff --git a/sysdeps/unix/sysv/linux/x86_64/64/configure b/sysdeps/unix/sysv/linux/x86_64/64/configure +index 9d298faba7..cef1ec842c 100644 +--- a/sysdeps/unix/sysv/linux/x86_64/64/configure ++++ b/sysdeps/unix/sysv/linux/x86_64/64/configure +@@ -4,10 +4,10 @@ + test -n "$libc_cv_slibdir" || + case "$prefix" in + /usr | /usr/) +- libc_cv_slibdir='/lib64' +- libc_cv_rtlddir='/lib64' ++ libc_cv_slibdir='/lib' ++ libc_cv_rtlddir='/lib' + if test "$libdir" = '${exec_prefix}/lib'; then +- libdir='${exec_prefix}/lib64'; ++ libdir='${exec_prefix}/lib'; + # Locale data can be shared between 32-bit and 64-bit libraries. + libc_cv_complocaledir='${exec_prefix}/lib/locale' + fi +diff --git a/sysdeps/unix/sysv/linux/x86_64/ldconfig.h b/sysdeps/unix/sysv/linux/x86_64/ldconfig.h +index c7e9ad674d..cd47995d4a 100644 +--- a/sysdeps/unix/sysv/linux/x86_64/ldconfig.h ++++ b/sysdeps/unix/sysv/linux/x86_64/ldconfig.h +@@ -18,9 +18,9 @@ + #include + + #define SYSDEP_KNOWN_INTERPRETER_NAMES \ +- { "/lib/ld-linux.so.2", FLAG_ELF_LIBC6 }, \ ++ { "/lib32/ld-linux.so.2", FLAG_ELF_LIBC6 }, \ + { "/libx32/ld-linux-x32.so.2", FLAG_ELF_LIBC6 }, \ +- { "/lib64/ld-linux-x86-64.so.2", FLAG_ELF_LIBC6 }, ++ { "/lib/ld-linux-x86-64.so.2", FLAG_ELF_LIBC6 }, + #define SYSDEP_KNOWN_LIBRARY_NAMES \ + { "libc.so.6", FLAG_ELF_LIBC6 }, \ + { "libm.so.6", FLAG_ELF_LIBC6 }, +diff --git a/sysdeps/unix/sysv/linux/x86_64/ldd-rewrite.sed b/sysdeps/unix/sysv/linux/x86_64/ldd-rewrite.sed +index 44d76e8aa1..7d6cb1e20b 100644 +--- a/sysdeps/unix/sysv/linux/x86_64/ldd-rewrite.sed ++++ b/sysdeps/unix/sysv/linux/x86_64/ldd-rewrite.sed +@@ -1,3 +1,3 @@ + /LD_TRACE_LOADED_OBJECTS=1/a\ + add_env="$add_env LD_LIBRARY_VERSION=\\$verify_out" +-s_^\(RTLDLIST=\)\(.*lib\)\(\|64\|x32\)\(/[^/]*\)\(-x86-64\|-x32\)\(\.so\.[0-9.]*\)[ ]*$_\1"\2\4\6 \264\4-x86-64\6 \2x32\4-x32\6"_ ++s_^\(RTLDLIST=\)\(.*lib\)\(\|64\|x32\)\(/[^/]*\)\(-x86-64\|-x32\)\(\.so\.[0-9.]*\)[ ]*$_\1"\232\4\6 \2\4-x86-64\6 \2x32\4-x32\6"_ +diff --git a/sysdeps/x86_64/multiarch/memmove-avx512-no-vzeroupper.S b/sysdeps/x86_64/multiarch/memmove-avx512-no-vzeroupper.S +index 23c0f7a9ed..effc3ac2de 100644 +--- a/sysdeps/x86_64/multiarch/memmove-avx512-no-vzeroupper.S ++++ b/sysdeps/x86_64/multiarch/memmove-avx512-no-vzeroupper.S +@@ -336,6 +336,7 @@ L(preloop_large): + vmovups (%rsi), %zmm4 + vmovups 0x40(%rsi), %zmm5 + ++ mov %rdi, %r11 + /* Align destination for access with non-temporal stores in the loop. */ + mov %rdi, %r8 + and $-0x80, %rdi +@@ -366,8 +367,8 @@ L(gobble_256bytes_nt_loop): + cmp $256, %rdx + ja L(gobble_256bytes_nt_loop) + sfence +- vmovups %zmm4, (%rax) +- vmovups %zmm5, 0x40(%rax) ++ vmovups %zmm4, (%r11) ++ vmovups %zmm5, 0x40(%r11) + jmp L(check) + + L(preloop_large_bkw): +diff --git a/sysdeps/x86_64/multiarch/strncmp-sse2.S b/sysdeps/x86_64/multiarch/strncmp-sse2.S +index cc5252d826..a5ecb82b13 100644 +--- a/sysdeps/x86_64/multiarch/strncmp-sse2.S ++++ b/sysdeps/x86_64/multiarch/strncmp-sse2.S +@@ -18,10 +18,13 @@ + + #include + +-#define STRCMP __strncmp_sse2 +- +-#undef libc_hidden_builtin_def +-#define libc_hidden_builtin_def(strcmp) ++#if IS_IN (libc) ++# define STRCMP __strncmp_sse2 ++# undef libc_hidden_builtin_def ++# define libc_hidden_builtin_def(strcmp) ++#else ++# define STRCMP strncmp ++#endif + + #define USE_AS_STRNCMP + #include +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. */ -- 2.26.2