1 diff --git a/ChangeLog b/ChangeLog
2 index f3fe2716b2..2f1e82b61c 100644
6 +2018-11-27 Florian Weimer <fweimer@redhat.com>
10 + * sysdeps/unix/sysv/linux/if_index.c (__if_nametoindex): Avoid
11 + descriptor leak in case of ENODEV error.
13 +2018-11-08 Alexandra Hájková <ahajkova@redhat.com>
16 + * resolv/tst-resolv-network.c: Add test for getnetbyname.
18 +2018-11-05 Andreas Schwab <schwab@suse.de>
21 + * resolv/gai_misc.c (__gai_enqueue_request): Don't crash if
22 + creating the first helper thread failed.
24 +2018-10-23 Adhemerval Zanella <adhemerval.zanella@linaro.org>
27 + * sysdeps/x86/cpu-features.c (init_cpu_features): Set TSX bits
28 + independently of other flags.
30 +2018-10-26 Szabolcs Nagy <szabolcs.nagy@arm.com>
33 + * sysdeps/ia64/fpu/e_exp2f.S (exp2f): Use WEAK_LIBM_ENTRY.
34 + * sysdeps/ia64/fpu/e_log2f.S (log2f): Likewise.
35 + * sysdeps/ia64/fpu/e_exp2f.S (powf): Likewise.
37 +2018-10-25 Florian Weimer <fweimer@redhat.com>
41 + XFAIL siginfo_t si_band conform test on sparc64.
42 + * sysdeps/unix/sysv/linux/sparc/bits/siginfo-arch.h
43 + (__SI_BAND_TYPE): Only override long int default type on sparc64.
44 + * sysdeps/unix/sysv/linux/sparc/sparc64/Makefile
45 + (conformtest-xfail-conds): Add sparc64-linux.
46 + * conform/data/signal.h-data (siginfo_t): XFAIL si_band test on
48 + * conform/data/sys/wait.h-data (siginfo_t): Likewise.
50 +2018-10-19 Ilya Yu. Malakhov <malakhov@mcst.ru>
53 + * sysdeps/unix/sysv/linux/bits/types/siginfo_t.h
54 + (struct siginfo_t): Use correct type for si_band.
56 +2018-10-17 Stefan Liebler <stli@linux.ibm.com>
59 + * nptl/tst-mutex10.c: New File.
60 + * nptl/Makefile (tests): Add tst-mutex10.
61 + (tst-mutex10-ENV): New variable.
62 + * sysdeps/unix/sysv/linux/s390/force-elision.h: (FORCE_ELISION):
63 + Ensure that elision path is used if elision is available.
64 + * sysdeps/unix/sysv/linux/powerpc/force-elision.h (FORCE_ELISION):
66 + * sysdeps/unix/sysv/linux/x86/force-elision.h: (FORCE_ELISION):
68 + * nptl/pthreadP.h (PTHREAD_MUTEX_TYPE, PTHREAD_MUTEX_TYPE_ELISION)
69 + (PTHREAD_MUTEX_PSHARED): Use atomic_load_relaxed.
70 + * nptl/pthread_mutex_consistent.c (pthread_mutex_consistent): Likewise.
71 + * nptl/pthread_mutex_getprioceiling.c (pthread_mutex_getprioceiling):
73 + * nptl/pthread_mutex_lock.c (__pthread_mutex_lock_full)
74 + (__pthread_mutex_cond_lock_adjust): Likewise.
75 + * nptl/pthread_mutex_setprioceiling.c (pthread_mutex_setprioceiling):
77 + * nptl/pthread_mutex_timedlock.c (__pthread_mutex_timedlock): Likewise.
78 + * nptl/pthread_mutex_trylock.c (__pthread_mutex_trylock): Likewise.
79 + * nptl/pthread_mutex_unlock.c (__pthread_mutex_unlock_full): Likewise.
80 + * sysdeps/nptl/bits/thread-shared-types.h (struct __pthread_mutex_s):
82 + * nptl/pthread_mutex_destroy.c (__pthread_mutex_destroy):
83 + Use atomic_load_relaxed and atomic_store_relaxed.
84 + * nptl/pthread_mutex_init.c (__pthread_mutex_init):
85 + Use atomic_store_relaxed.
87 +2018-09-28 Adhemerval Zanella <adhemerval.zanella@linaro.org>
90 + * misc/tst-preadvwritev2-common.c (do_test_with_invalid_fd,
91 + do_test_with_invalid_iov): New tests.
92 + * misc/tst-preadvwritev2.c, misc/tst-preadvwritev64v2.c (do_test):
93 + Call do_test_with_invalid_fd and do_test_with_invalid_iov.
94 + * sysdeps/unix/sysv/linux/preadv2.c (preadv2): Use fallback code iff
96 + * sysdeps/unix/sysv/linux/preadv64v2.c (preadv64v2): Likewise.
97 + * sysdeps/unix/sysv/linux/pwritev2.c (pwritev2): Likewise.
98 + * sysdeps/unix/sysv/linux/pwritev64v2.c (pwritev64v2): Likewise.
99 + * NEWS: Add bug fixed.
101 +2018-09-28 Florian Weimer <fweimer@redhat.com>
104 + * sysdeps/posix/preadv2.c (preadv2): Handle offset == -1.
105 + * sysdeps/posix/preadv64v2.c (preadv64v2): Likewise.
106 + * sysdeps/posix/pwritev2.c (pwritev2): Likewise.
107 + * sysdeps/posix/pwritev64v2.c (pwritev64v2): Likweise.
108 + * sysdeps/unix/sysv/linux/preadv2.c (preadv2): Likewise.
109 + * sysdeps/unix/sysv/linux/preadv64v2.c (preadv64v2): Likewise.
110 + * sysdeps/unix/sysv/linux/pwritev2.c (pwritev2): Likewise.
111 + * sysdeps/unix/sysv/linux/pwritev64v2.c (pwritev64v2): Likweise.
112 + * manual/llio.texi (Scatter-Gather): Mention offset -1.
113 + * misc/tst-preadvwritev-common.c (do_test_without_offset): New.
114 + * misc/tst-preadvwritev2.c (do_test): Call it.
115 + * misc/tst-preadvwritev64v2.c (do_test): Likewise.
116 + * NEWS: Add bug fixed.
118 +2018-09-06 Stefan Liebler <stli@linux.ibm.com>
120 + * sysdeps/unix/sysv/linux/spawni.c (maybe_script_execute):
121 + Increment size of new_argv by one.
123 +2018-08-27 Martin Kuchta <martin.kuchta@netapp.com>
124 + Torvald Riegel <triegel@redhat.com>
127 + * nptl/pthread_cond_common.c (__condvar_quiesce_and_switch_g1):
128 + Update r to include the set wake-request flag if waiters are
129 + remaining after spinning.
131 +2018-07-29 H.J. Lu <hongjiu.lu@intel.com>
134 + * sysdeps/x86/cpu-features.c (get_extended_indices): New
136 + (init_cpu_features): Call get_extended_indices for both Intel
138 + * sysdeps/x86/cpu-features.h (COMMON_CPUID_INDEX_80000001):
139 + Remove "for AMD" comment.
141 +2018-07-29 H.J. Lu <hongjiu.lu@intel.com>
144 + * sysdeps/x86/cpu-features.h (index_cpu_LZCNT): Set to
145 + COMMON_CPUID_INDEX_80000001.
147 +2018-07-10 Florian Weimer <fweimer@redhat.com>
150 + * posix/regexec.c (check_node_accept_bytes): When comparing
151 + weights, do not compare an extra byte after the end of the
154 +2018-06-29 Sylvain Lesage <severo@rednegra.net>
157 + * localedata/locales/es_BO (LC_PAPER): Change to “copy "en_US"”.
159 +2018-07-06 Florian Weimer <fweimer@redhat.com>
161 + * conform/conformtest.pl (checknamespace): Escape literal braces
162 + in regular expressions.
164 +2018-06-21 Florian Weimer <fweimer@redhat.com>
167 + * sysdeps/generic/math_private.h (default_libc_feholdsetround_ctx):
168 + Renamed from libc_feholdsetround_ctx.
169 + (default_libc_feresetround_ctx): Renamed from
170 + libc_feresetround_ctx.
171 + (default_libc_feholdsetround_noex_ctx): Renamed from
172 + libc_feholdsetround_noex_ctx.
173 + (default_libc_feresetround_noex_ctx): Renamed from
174 + libc_feresetround_noex_ctx.
175 + [!HAVE_RM_CTX] (libc_feholdsetround_ctx, libc_feresetround_ctx)
176 + (libc_feholdsetround_noex_ctx, libc_feresetround_noex_ctx): Macros
177 + forwardning to the old implementations under the new names.
178 + * sysdeps/i386/fpu/fenv_private.h [__SSE_MATH__]
179 + (libc_feholdexcept_setround_ctx, libc_fesetenv_ctx)
180 + (libc_feupdateenv_ctx, libc_feholdsetround_ctx)
181 + (libc_feresetround_ctx): Forward to default implements for i386
182 + and MATH_SET_BOTH_ROUNDING_MODES.
183 + * sysdeps/i386/Makefile [$(subdir) == math] (CFLAGS-e_gamma_r.c):
184 + Add -DMATH_SET_BOTH_ROUNDING_MODES.
186 +2018-07-03 Florian Weimer <fweimer@redhat.com>
189 + * stdio-common/tst-printf.c (DEC, INT, UNS, fp_test): Remove.
190 + * stdio-common/tst-printf.sh: Adjust expected output.
191 + * LICENSES: Update.
193 +2018-06-26 Florian Weimer <fweimer@redhat.com>
195 + * libio/Makefile (tests-internal): Add tst-vtables,
196 + tst-vtables-interposed.
197 + * libio/tst-vtables.c: New file.
198 + * libio/tst-vtables-common.c: Likewise.
199 + * libio/tst-vtables-interposed.c: Likewise.
201 +2018-06-26 Florian Weimer <fweimer@redhat.com>
204 + * libio/vtables.c (check_stdfiles_vtables): New ELF constructor.
206 +2018-06-29 Daniel Alvarez <dalvarez@redhat.com>
207 + Jakub Sitnicki <jkbs@redhat.com>
210 + * sysdeps/unix/sysv/linux/ifaddrs.c (getifaddrs_internal): Retry
211 + on NLM_F_DUMP_INTR.
213 +2018-06-28 Florian Weimer <fweimer@redhat.com>
216 + * time/bits/types/struct_timespec.h: Change header inclusion guard to
219 +2018-05-24 Gabriel F. T. Gomes <gabriel@inconstante.eti.br>
222 + * math/math.h [C++] (iseqsig): Fix parameter type for the long
225 +2018-06-12 Carlos O'Donell <carlos@redhat.com>
226 + Andreas Schwab <schwab@suse.de>
227 + Dmitry V. Levin <ldv@altlinux.org>
228 + Florian Weimer <fweimer@redhat.com>
235 + * elf/dl-dst.h: Remove DL_DST_COUNT.
236 + * elf/dl-deps.c (expand_dst): Call _dl_dst_count.
237 + * elf/dl-load.c (is_trusted_path_normalize): Don't handle colons.
238 + (is_dst): Comment. Support ELF gABI.
239 + (_dl_dst_count): Comment. Simplify and count DSTs.
240 + (_dl_dst_substitute): Comment. Support __libc_enable_secure handling.
241 + (expand_dybamic_string_token): Comment. Call _dl_dst_count. Rename
244 +2018-06-12 Florian Weimer <fweimer@redhat.com>
246 + x86: Make strncmp usable from rtld.
247 + * sysdeps/i386/i686/multiarch/strncmp-c.c: Only rename strncmp to
248 + __strncmp_ia32 if in libc (and not in rtld).
249 + * sysdeps/x86_64/multiarch/strncmp-sse2.S: Rename strcmp to
250 + strncmp if not in libc (and not to __strncmp_sse2).
252 +2018-06-01 Florian Weimer <fweimer@redhat.com>
254 + * sysdeps/i386/i686/fpu/multiarch/libm-test-ulps: Update from master
255 + branch, commit e02c026f38505cd474ff1bdaa88fc671804f5805.
256 + * sysdeps/i386/fpu/libm-test-ulps: Likewise.
258 +2018-06-08 Adhemerval Zanella <adhemerval.zanella@linaro.org>
261 + * include/unistd.h (__execvpex): New prototype.
262 + * posix/Makefile (tests): Add tst-spawn4.
263 + (tests-internal): Add tst-spawn4-compat.
264 + * posix/execvpe.c (__execvpe_common, __execvpex): New functions.
265 + * posix/tst-spawn4-compat.c: New file.
266 + * posix/tst-spawn4.c: Likewise.
267 + * sysdeps/unix/sysv/linux/spawni.c (__spawni): Do not interpret invalid
268 + binaries as shell scripts.
269 + * sysdeps/posix/spawni.c (__spawni): Likewise.
270 + * NEWS: Add BZ#22264.
272 +2018-06-01 Florian Weimer <fweimer@redhat.com>
275 + * libio/strfile.h (struct _IO_str_fields): Rename members to
276 + discourage their use and add comment.
277 + (_IO_STR_DYNAMIC): Remove unused macro.
278 + * libio/strops.c (_IO_str_init_static_internal): Do not use
279 + callback pointers. Call malloc and free.
280 + (_IO_str_overflow): Do not use callback pointers. Call malloc
282 + (enlarge_userbuf): Likewise.
283 + (_IO_str_finish): Call free.
284 + * libio/wstrops.c (_IO_wstr_init_static): Initialize
285 + _allocate_buffer_unused.
286 + (_IO_wstr_overflow): Do not use callback pointers. Call malloc
288 + (enlarge_userbuf): Likewise.
289 + (_IO_wstr_finish): Call free.
290 + * debug/vasprintf_chk.c (__vasprintf_chk): Initialize
291 + _allocate_buffer_unused, _free_buffer_unused.
292 + * libio/memstream.c (__open_memstream): Likewise.
293 + * libio/vasprintf.c (_IO_vasprintf): Likewise.
294 + * libio/wmemstream.c (open_wmemstream): Likewise.
296 +2018-05-23 H.J. Lu <hongjiu.lu@intel.com>
299 + * string/test-memcpy.c (do_test1): New function.
300 + (test_main): Call it.
302 +2018-05-23 Andreas Schwab <schwab@suse.de>
306 + * sysdeps/x86_64/multiarch/memmove-avx512-no-vzeroupper.S
307 + (L(preloop_large)): Save initial destination pointer in %r11 and
308 + use it instead of %rax after the loop.
309 + * string/test-mempcpy.c (MIN_PAGE_SIZE): Define.
311 +2018-05-11 Florian Weimer <fweimer@redhat.com>
314 + * include/rpc/clnt.h (rpc_createerr): Declare hidden alias.
315 + * include/rpc/svc.h (svc_pollfd, svc_max_pollfd, svc_fdset):
317 + * sunrpc/rpc_common.c (svc_fdset, rpc_createerr, svc_pollfd)
318 + (svc_max_pollfd): Add nocommon attribute and hidden alias. Do not
319 + export without --enable-obsolete-rpc.
320 + * sunrpc/svcauth_des.c (svcauthdes_stats): Turn into compatibility
321 + symbol. This should not have been exported, ever.
323 +2018-05-11 Rafal Luzynski <digitalfreak@lingonborough.com>
326 + * localedata/locales/gd_GB (abmon): Fix typo in May:
327 + "Mhàrt" -> "Cèit". Adjust the comment according to the change.
329 +2018-05-09 Paul Pluzhnikov <ppluzhnikov@google.com>
333 + * stdlib/canonicalize.c (__realpath): Fix overflow in path length
335 + * stdlib/Makefile (test-bz22786): New test.
336 + * stdlib/test-bz22786.c: New test.
338 +2018-05-05 Paul Pluzhnikov <ppluzhnikov@google.com>
341 + * elf/dl-load.c (open_verify): Fix stack overflow.
342 + * elf/Makefile (tst-big-note): New test.
343 + * elf/tst-big-note-lib.S: New.
344 + * elf/tst-big-note.c: New.
346 +2018-05-04 Stefan Liebler <stli@linux.vnet.ibm.com>
349 + * sysdeps/nptl/lowlevellock.h (lll_wait_tid):
350 + Use atomic_load_acquire to load __tid.
352 +2018-04-24 Joseph Myers <joseph@codesourcery.com>
354 + * sysdeps/unix/sysv/linux/sys/ptrace.h
355 + (PTRACE_SECCOMP_GET_METADATA): New enum value and macro.
356 + * sysdeps/unix/sysv/linux/bits/ptrace-shared.h
357 + (struct __ptrace_seccomp_metadata): New type.
358 + * sysdeps/unix/sysv/linux/aarch64/sys/ptrace.h
359 + (PTRACE_SECCOMP_GET_METADATA): Likewise.
360 + * sysdeps/unix/sysv/linux/arm/sys/ptrace.h
361 + (PTRACE_SECCOMP_GET_METADATA): Likewise.
362 + * sysdeps/unix/sysv/linux/ia64/sys/ptrace.h
363 + (PTRACE_SECCOMP_GET_METADATA): Likewise.
364 + * sysdeps/unix/sysv/linux/powerpc/sys/ptrace.h
365 + (PTRACE_SECCOMP_GET_METADATA): Likewise.
366 + * sysdeps/unix/sysv/linux/s390/sys/ptrace.h
367 + (PTRACE_SECCOMP_GET_METADATA): Likewise.
368 + * sysdeps/unix/sysv/linux/sparc/sys/ptrace.h
369 + (PTRACE_SECCOMP_GET_METADATA): Likewise.
370 + * sysdeps/unix/sysv/linux/tile/sys/ptrace.h
371 + (PTRACE_SECCOMP_GET_METADATA): Likewise.
372 + * sysdeps/unix/sysv/linux/x86/sys/ptrace.h
373 + (PTRACE_SECCOMP_GET_METADATA): Likewise.
375 +2018-04-09 Florian Weimer <fweimer@redhat.com>
378 + * resolv/res_send.c (send_dg): Use designated initializers instead
379 + of assignment to zero-initialize other fields of struct mmsghdr.
381 +2018-04-06 Andreas Schwab <schwab@linux-m68k.org>
383 + * manual/charset.texi (Converting a Character): Fix typo.
385 +2018-04-05 Florian Weimer <fweimer@redhat.com>
387 + * manual/examples/mbstouwcs.c (mbstouwcs): Fix loop termination,
388 + integer overflow, memory leak on error, and indeterminate errno
389 + value. Add a null wide character to terminate the result string.
390 + * manual/charset.texi (Converting a Character): Mention embedded
391 + null bytes in the mbrtowc input string. Explain what happens in
392 + the -2 result case. Do not claim that mbrtowc is simple or
393 + obvious to use. Adjust the description of the code example. Use
394 + @code, not @var, for concrete variables.
396 +2018-04-05 Florian Weimer <fweimer@redhat.com>
398 + * manual/examples/mbstouwcs.c: New file.
399 + * manual/charset.texi (Converting a Character): Include it.
401 +2018-04-03 H.J. Lu <hongjiu.lu@intel.com>
404 + * bits/uio-ext.h (RWF_APPEND): New.
405 + * sysdeps/unix/sysv/linux/bits/uio-ext.h (RWF_APPEND): Likewise.
406 + * manual/llio.texi: Document RWF_APPEND.
407 + * misc/tst-preadvwritev2-common.c (RWF_APPEND): New.
408 + (RWF_SUPPORTED): Add RWF_APPEND.
410 +2018-03-27 Jesse Hathaway <jesse@mbuki-mvuki.org>
412 + * sysdeps/unix/sysv/linux/getlogin_r.c (__getlogin_r_loginuid): Return
413 + early when linux sentinel value is set.
415 +2018-03-27 Andreas Schwab <schwab@suse.de>
418 + * resolv/res_send.c (__res_context_send): Return ENOMEM if
419 + allocation of private copy of nsaddr_list fails.
421 +2018-03-20 Joseph Myers <joseph@codesourcery.com>
424 + * stdlib/random_r.c (__random_r): Use unsigned arithmetic for
425 + possibly overflowing computations.
427 +2018-04-26 Aurelien Jarno <aurelien@aurel32.net>
429 + * signal/tst-sigaction.c: New file to test BZ #23069.
430 + * signal/Makefile (tests): Fix indentation. Add tst-sigaction.
432 +2018-04-28 Aurelien Jarno <aurelien@aurel32.net>
435 + * sysdeps/unix/sysv/linux/riscv/kernel_sigaction.h: New file.
437 +2018-03-29 Florian Weimer <fweimer@redhat.com>
439 + * sysdeps/unix/sysv/linux/i386/tst-bz21269.c (do_test): Also
442 +2018-03-23 Andrew Senkevich <andrew.senkevich@intel.com>
443 + Max Horn <max@quendi.de>
447 + * sysdeps/i386/i686/multiarch/memcpy-sse2-unaligned.S: Fixed
449 + * string/test-memmove.c (do_test2): New testcase.
451 +2018-02-22 Andrew Waterman <andrew@sifive.com>
454 + * sysdeps/riscv/rvd/s_fmax.c (__fmax): Handle sNaNs correctly.
455 + * sysdeps/riscv/rvd/s_fmin.c (__fmin): Likewise.
456 + * sysdeps/riscv/rvf/s_fmaxf.c (__fmaxf): Likewise.
457 + * sysdeps/riscv/rvf/s_fminf.c (__fminf): Likewise.
459 +2018-02-22 DJ Delorie <dj@delorie.com>
461 + * sysdeps/riscv/tls-macros.h: Do not initialize $gp.
463 +2018-03-16 Rafal Luzynski <digitalfreak@lingonborough.com>
466 + * localedata/locales/cs_CZ (mon): Rename to...
468 + (mon): Import from CLDR (genitive case).
470 +2018-03-16 Rafal Luzynski <digitalfreak@lingonborough.com>
473 + * localedata/locales/el_CY (abmon): Rename to...
474 + (ab_alt_mon): This.
475 + (abmon): Import from CLDR (abbreviated genitive case).
476 + * localedata/locales/el_GR (abmon): Rename to...
477 + (ab_alt_mon): This.
478 + (abmon): Import from CLDR (abbreviated genitive case).
480 +2018-03-16 Rafal Luzynski <digitalfreak@lingonborough.com>
483 + * localedata/locales/lt_LT (abmon): Synchronize with CLDR.
485 +2018-03-16 Robert Buj <robert.buj@gmail.com>
488 + * localedata/locales/ca_ES (abmon): Rename to...
489 + (ab_alt_mon): This, then synchronize with CLDR (nominative case).
490 + (mon): Rename to...
492 + (abmon): Import from CLDR (genitive case, month names preceded by
495 + (abday): Synchronize with CLDR.
496 + (d_t_fmt): Likewise.
500 + (LC_TIME): Improve indentation.
501 + (LC_TELEPHONE): Likewise.
502 + (LC_NAME): Likewise.
503 + (LC_ADDRESS): Likewise.
505 +2018-03-12 Dmitry V. Levin <ldv@altlinux.org>
507 + * po/pt_BR.po: Update translations.
509 +2018-03-03 Adhemerval Zanella <adhemerval.zanella@linaro.org>
512 + * sysdeps/unix/sysv/linux/i386/Makefile (tests): Add tst-bz21269.
513 + * sysdeps/unix/sysv/linux/i386/sigaction.c (SET_SA_RESTORER): Clear
514 + sa_restorer for vDSO case.
515 + * sysdeps/unix/sysv/linux/i386/tst-bz21269.c: New file.
517 +2018-03-03 Andreas Schwab <schwab@linux-m68k.org>
520 + * nss/nsswitch.h (DEFINE_DATABASE): Don't define __nss_*_database.
521 + * nss/nsswitch.c (DEFINE_DATABASE): Define __nss_*_database here.
522 + * nscd/gai.c (__nss_hosts_database): Readd definition.
523 + * posix/tst-rfc3484.c (__nss_hosts_database): Likewise.
524 + * posix/tst-rfc3484-3.c (__nss_hosts_database): Likewise.
525 + * posix/tst-rfc3484-2.c (__nss_hosts_database): Likewise.
527 +2018-03-01 DJ Delorie <dj@delorie.com>
530 + * nscd/netgroupcache.c (addinnetgrX): Include trailing NUL in
533 +2018-02-26 Dmitry V. Levin <ldv@altlinux.org>
537 + * sysdeps/unix/sysv/linux/powerpc/sys/ptrace.h (__ptrace_request): Add
538 + PTRACE_GETREGS, PTRACE_SETREGS, PTRACE_GETFPREGS, PTRACE_SETFPREGS,
539 + PTRACE_GETVRREGS, PTRACE_SETVRREGS, PTRACE_GETEVRREGS,
540 + PTRACE_SETEVRREGS, PTRACE_GETREGS64, PTRACE_SETREGS64,
541 + PTRACE_GET_DEBUGREG, PTRACE_SET_DEBUGREG, PTRACE_GETVSRREGS,
542 + PTRACE_SETVSRREGS, and PTRACE_SINGLEBLOCK.
544 +2018-02-26 Tulio Magno Quites Machado Filho <tuliom@linux.vnet.ibm.com>
546 + * sysdeps/unix/sysv/linux/powerpc/sys/ptrace.h: Undefine Linux
547 + macros used in __ptrace_request.
549 +2018-02-21 Mike FABIAN <mfabian@redhat.com>
552 + * localedata/locales/et_EE (LC_COLLATE): add missing “reorder-end”
554 +2018-02-21 Rical Jasan <ricaljasan@pacific.net>
556 + * io/fcntl.h: Fix a typo in a comment.
558 +2018-02-20 Rical Jasan <ricaljasan@pacific.net>
560 + * manual/creature.texi (_ISOC99_SOURCE): Update the dated
564 + * manual/creature.texi (_POSIX_C_SOURCE): Document special values
565 + of 199606L, 200112L, and 200809L.
566 + (_XOPEN_SOURCE): Document special values of 600 and 700.
567 + (_ISOC11_SOURCE): Document macro.
568 + (_ATFILE_SOURCE): Likewise.
569 + (_FORTIFY_SOURCE): Likewise.
571 +2018-03-09 Aurelien Jarno <aurelien@aurel32.net>
574 + * sysdeps/unix/sysv/linux/sparc/sparc32/setcontext.S (__startcontext):
575 + Add nop before __startcontext, add explaining comments.
577 +2018-03-07 Adhemerval Zanella <adhemerval.zanella@linaro.org>
580 + * sysdeps/powerpc/powerpc32/sysdep.h (ABORT_TRANSACTION_IMPL): Define
582 + * sysdeps/powerpc/sysdep.h (ABORT_TRANSACTION): Likewise.
583 + * sysdeps/unix/sysv/linux/powerpc/elision-lock.c (__lll_lock_elision):
584 + Do not build hardware transactional code for __SPE__.
585 + * sysdeps/unix/sysv/linux/powerpc/elision-trylock.c
586 + (__lll_trylock_elision): Likewise.
587 + * sysdeps/unix/sysv/linux/powerpc/elision-unlock.c
588 + (__lll_unlock_elision): Likewise.
590 +2018-02-19 Rical Jasan <ricaljasan@pacific.net>
593 + * manual/filesys.texi (get_current_dir_name): Clarify behaviour.
595 +2018-02-16 Rical Jasan <ricaljasan@pacific.net>
597 + * manual/platform.texi (__riscv_flush_icache): Fix @deftypefun
600 +2018-02-09 Rical Jasan <ricaljasan@pacific.net>
602 + * manual/creature.texi: Convert references to gcc.info to gcc.
603 + * manual/stdio.texi: Likewise.
604 + * manual/string.texi: Likewise.
606 +2018-02-18 Aurelien Jarno <aurelien@aurel32.net>
609 + * posix/tst-glob_lstat_compat.c [__alpha__] (glob): Access
610 + the GLIBC_2.1 version.
612 +2018-02-02 Sean McKean <smckean83@gmail.com>
615 + * time/time.h (clock): Reference CLOCKS_PER_SEC in comment.
617 +2018-02-10 Dmitry V. Levin <ldv@altlinux.org>
620 + * sysdeps/unix/sysv/linux/aarch64/sys/ptrace.h (__ptrace_request):
621 + Remove arm-specific PTRACE_GET_THREAD_AREA, PTRACE_GETHBPREGS,
622 + and PTRACE_SETHBPREGS.
624 +2018-02-14 Adhemerval Zanella <adhemerval.zanella@linaro.org>
626 + * sysdeps/sh/libm-test-ulps: Update.
628 +2018-02-09 DJ Delorie <dj@redhat.com>
631 + * sysdeps/unix/sysv/linux/riscv/readelflib.c (process_elf_file): Use
632 + 64-bit ELF type for 64-bit ELF objects.
634 +2018-02-07 Igor Gnatenko <ignatenko@redhat.com>
637 + * sysdeps/unix/sysv/linux/bits/mman-shared.h (pkey_get): Add
638 + missing second underscore to parameter name.
640 +2018-02-05 H.J. Lu <hongjiu.lu@intel.com>
643 + * sysdeps/sparc/sparc32/start.S (_start): Check PIC instead of
645 + * sysdeps/sparc/sparc64/start.S (_start): Likewise.
647 2018-02-01 Dmitry V. Levin <ldv@altlinux.org>
649 * version.h (RELEASE): Set to "stable".
651 2018-01-18 Arjun Shankar <arjun@redhat.com>
657 * malloc/malloc.c (checked_request2size): call REQUEST_OUT_OF_RANGE
659 (_int_memalign): check for integer overflow before calling
660 diff --git a/LICENSES b/LICENSES
661 index 80f7f14879..858076d9d3 100644
664 @@ -441,15 +441,6 @@ Permission to use, copy, modify, and distribute this
665 software is freely granted, provided that this notice
668 -Part of stdio-common/tst-printf.c is copyright C E Chew:
670 -(C) Copyright C E Chew
672 -Feel free to copy, use and distribute this software provided:
674 - 1. you do not pretend that you wrote it
675 - 2. you leave this copyright notice intact.
677 Various long double libm functions are copyright Stephen L. Moshier:
679 Copyright 2001 by Stephen L. Moshier <moshier@na-net.ornl.gov>
680 diff --git a/NEWS b/NEWS
681 index a71c1038a8..e1a23f076b 100644
684 @@ -5,6 +5,105 @@ See the end for copying conditions.
685 Please send GNU C library bug reports via <https://sourceware.org/bugzilla/>
686 using `glibc' in the "product" field.
692 +* Nominative and genitive month names are now supported for the Catalan and
693 + Czech languages. The Catalan and Greek languages now support abbreviated
694 + alternative month names.
696 +* Parsing of dynamic string tokens in DT_RPATH, DT_RUNPATH, DT_NEEDED,
697 + DT_AUXILIARY, and DT_FILTER has been expanded to support the full
698 + range of ELF gABI expressions including such constructs as
699 + '$ORIGIN$ORIGIN' (if valid). For SUID/GUID applications the rules
700 + have been further restricted, and where in the past a dynamic string
701 + token sequence may have been interpreted as a literal string it will
702 + now cause a load failure. These load failures were always considered
703 + unspecified behaviour from the perspective of the dynamic loader, and
704 + for safety are now load errors e.g. /foo/${ORIGIN}.so in DT_NEEDED
705 + results in a load failure now.
707 +Security related changes:
709 + CVE-2017-18269: An SSE2-based memmove implementation for the i386
710 + architecture could corrupt memory. Reported by Max Horn.
712 + CVE-2018-11236: Very long pathname arguments to realpath function could
713 + result in an integer overflow and buffer overflow. Reported by Alexey
716 + CVE-2018-11237: The mempcpy implementation for the Intel Xeon Phi
717 + architecture could write beyond the target buffer, resulting in a buffer
718 + overflow. Reported by Andreas Schwab.
720 + CVE-2018-19591: A file descriptor leak in if_nametoindex can lead to a
721 + denial of service due to resource exhaustion when processing getaddrinfo
722 + calls with crafted host names. Reported by Guido Vranken.
724 +The following bugs are resolved with this release:
726 + [6889] 'PWD' mentioned but not specified
727 + [16335] Feature test macro documentation incomplete and out of date
728 + [17343] Signed integer overflow in /stdlib/random_r.c
729 + [18018] Additional $ORIGIN handling issues (CVE-2011-0536)
730 + [20419] files with large allocated notes crash in open_verify
731 + [21269] i386 sigaction sa_restorer handling is wrong
732 + [21812] getifaddrs: Don't return ifa entries with NULL names
733 + [21942] _dl_dst_substitute incorrectly handles $ORIGIN: with AT_SECURE=1
734 + [22342] NSCD not properly caching netgroup
735 + [22638] sparc: static binaries are broken if glibc is built by gcc
736 + configured with --enable-default-pie
737 + [22644] memmove-sse2-unaligned on 32bit x86 produces garbage when crossing
739 + [22735] Misleading typo in time.h source comment regarding CLOCKS_PER_SECOND
740 + [22753] libc: preadv2/pwritev2 fallback code should handle offset=-1
741 + [22786] Stack buffer overflow in realpath() if input size is close
743 + [22797] Linux: use reserved name __key in pkey_get
744 + [22807] PTRACE_* constants missing for powerpc
745 + [22818] posix/tst-glob_lstat_compat failure on alpha
746 + [22827] RISC-V ELF64 parser mis-reads flag in ldconfig
747 + [22848] ca_ES: update date definitions from CLDR
748 + [22884] RISCV fmax/fmin handle signalling NANs incorrectly
749 + [22918] multiple common of `__nss_shadow_database'
750 + [22919] sparc32: backtrace yields infinite backtrace with makecontext
751 + [22926] FTBFS on powerpcspe
752 + [22927] libanl: properly cleanup if first helper thread creation failed
753 + [22932] lt_LT: Update of abbreviated month names from CLDR required
754 + [22937] Greek (el_GR, el_CY) locales actually need ab_alt_mon
755 + [22947] FAIL: misc/tst-preadvwritev2
756 + [22963] cs_CZ: Add alternative month names
757 + [22996] localedata: change LC_PAPER to en_US in es_BO locale
758 + [23005] Crash in __res_context_send after memory allocation failure
759 + [23036] regexec: Fix off-by-one bug in weight comparison
760 + [23037] initialize msg_flags to zero for sendmmsg() calls
761 + [23069] sigaction broken on riscv64-linux-gnu
762 + [23102] Incorrect parsing of consecutive $ variables in runpath entries
763 + [23137] s390: pthread_join sometimes block indefinitely (on 31bit and libc
765 + [23152] gd_GB: Fix typo in "May" (abbreviated)
766 + [23166] sunrpc: Remove stray exports without --enable-obsolete-rpc
767 + [23171] Fix parameter type in C++ version of iseqsig
768 + [23196] __mempcpy_avx512_no_vzeroupper mishandles large copies
769 + [23236] Harden function pointers in _IO_str_fields
770 + [23253] Set 387 and SSE2 rounding mode for tgamma on i386
771 + [23259] Unsubstituted ${ORIGIN} remains in DT_NEEDED for AT_SECURE
772 + [23264] libc: posix_spawnp wrongly executes ENOEXEC in non compat mode
773 + [23313] libio: Disable vtable validation in case of interposition
774 + [23349] Various glibc headers no longer compatible with <linux/time.h>
775 + [23363] stdio-common/tst-printf.c has non-free license
776 + [23456] Wrong index_cpu_LZCNT
777 + [23459] COMMON_CPUID_INDEX_80000001 isn't populated for Intel processors
778 + [23538] pthread_cond_broadcast: Fix waiters-after-spinning case
779 + [23562] signal: Use correct type for si_band in siginfo_t
780 + [23579] libc: Errors misreported in preadv2
781 + [23709] Fix CPU string flags for Haswell-type CPUs
782 + [23821] si_band in siginfo_t has wrong type long int on sparc64
783 + [23822] ia64 static libm.a is missing exp2f, log2f and powf symbols
784 + [23927] Linux if_nametoindex() does not close descriptor (CVE-2018-19591)
790 @@ -262,6 +361,10 @@ Security related changes:
791 an object size near the value of SIZE_MAX, would return a pointer to a
792 buffer which is too small, instead of NULL. Reported by Jakub Wilk.
794 + CVE-2018-6551: The malloc function, when called with an object size near
795 + the value of SIZE_MAX, would return a pointer to a buffer which is too
796 + small, instead of NULL.
798 The following bugs are resolved with this release:
800 [866] glob: glob should match dangling symlinks
801 diff --git a/bits/uio-ext.h b/bits/uio-ext.h
802 index 8c15a05d9a..d5aa06fd08 100644
806 #define RWF_DSYNC 0x00000002 /* per-IO O_DSYNC. */
807 #define RWF_SYNC 0x00000004 /* per-IO O_SYNC. */
808 #define RWF_NOWAIT 0x00000008 /* per-IO nonblocking mode. */
809 +#define RWF_APPEND 0x00000010 /* per-IO O_APPEND. */
811 #endif /* sys/uio_ext.h */
812 diff --git a/conform/conformtest.pl b/conform/conformtest.pl
813 index cb500f0e76..a4ef756105 100644
814 --- a/conform/conformtest.pl
815 +++ b/conform/conformtest.pl
816 @@ -367,7 +367,7 @@ while ($#headers >= 0) {
820 - if (/^element *({([^}]*)}|([^{ ]*)) *({([^}]*)}|([^{ ]*)) *([A-Za-z0-9_]*) *(.*)/) {
821 + if (/^element *(\{([^}]*)\}|([^{ ]*)) *(\{([^}]*)\}|([^{ ]*)) *([A-Za-z0-9_]*) *(.*)/) {
822 my($struct) = "$2$3";
825 @@ -556,7 +556,7 @@ while ($#headers >= 0) {
826 "Symbol \"$symbol\" has not the right value.", $res,
829 - } elsif (/^type *({([^}]*)|([a-zA-Z0-9_]*))/) {
830 + } elsif (/^type *(\{([^}]*)|([a-zA-Z0-9_]*))/) {
832 my($maybe_opaque) = 0;
834 @@ -586,7 +586,7 @@ while ($#headers >= 0) {
836 : "Type \"$type\" not available."), $missing, $optional,
838 - } elsif (/^tag *({([^}]*)|([a-zA-Z0-9_]*))/) {
839 + } elsif (/^tag *(\{([^}]*)|([a-zA-Z0-9_]*))/) {
842 # Remember that this name is allowed.
843 @@ -607,7 +607,7 @@ while ($#headers >= 0) {
845 compiletest ($fnamebase, "Testing for type $type",
846 "Type \"$type\" not available.", $missing, 0, $xfail);
847 - } elsif (/^function *({([^}]*)}|([a-zA-Z0-9_]*)) [(][*]([a-zA-Z0-9_]*) ([(].*[)])/) {
848 + } elsif (/^function *(\{([^}]*)\}|([a-zA-Z0-9_]*)) [(][*]([a-zA-Z0-9_]*) ([(].*[)])/) {
849 my($rettype) = "$2$3";
852 @@ -644,7 +644,7 @@ while ($#headers >= 0) {
853 "Function \"$fname\" has incorrect type.", $res, 0,
856 - } elsif (/^function *({([^}]*)}|([a-zA-Z0-9_]*)) ([a-zA-Z0-9_]*) ([(].*[)])/) {
857 + } elsif (/^function *(\{([^}]*)\}|([a-zA-Z0-9_]*)) ([a-zA-Z0-9_]*) ([(].*[)])/) {
858 my($rettype) = "$2$3";
861 @@ -681,7 +681,7 @@ while ($#headers >= 0) {
862 "Function \"$fname\" has incorrect type.", $res, 0,
865 - } elsif (/^variable *({([^}]*)}|([a-zA-Z0-9_]*)) ([a-zA-Z0-9_]*) *(.*)/) {
866 + } elsif (/^variable *(\{([^}]*)\}|([a-zA-Z0-9_]*)) ([a-zA-Z0-9_]*) *(.*)/) {
870 @@ -713,7 +713,7 @@ while ($#headers >= 0) {
872 compiletest ($fnamebase, "Test for type of variable $fname",
873 "Variable \"$vname\" has incorrect type.", $res, 0, $xfail);
874 - } elsif (/^macro-function *({([^}]*)}|([a-zA-Z0-9_]*)) ([a-zA-Z0-9_]*) ([(].*[)])/) {
875 + } elsif (/^macro-function *(\{([^}]*)\}|([a-zA-Z0-9_]*)) ([a-zA-Z0-9_]*) ([(].*[)])/) {
876 my($rettype) = "$2$3";
879 @@ -812,11 +812,11 @@ while ($#headers >= 0) {
881 s/^xfail(\[([^\]]*)\])?-//;
883 - if (/^element *({([^}]*)}|([^ ]*)) *({([^}]*)}|([^ ]*)) *([A-Za-z0-9_]*) *(.*)/) {
884 + if (/^element *(\{([^}]*)\}|([^ ]*)) *(\{([^}]*)\}|([^ ]*)) *([A-Za-z0-9_]*) *(.*)/) {
886 } elsif (/^(macro|constant|macro-constant|macro-int-constant) +([a-zA-Z0-9_]*) *(?:{([^}]*)} *)?(?:([>=<!]+) ([A-Za-z0-9_-]*))?/) {
888 - } elsif (/^(type|tag) *({([^}]*)|([a-zA-Z0-9_]*))/) {
889 + } elsif (/^(type|tag) *(\{([^}]*)|([a-zA-Z0-9_]*))/) {
892 # Remember that this name is allowed.
893 @@ -827,13 +827,13 @@ while ($#headers >= 0) {
897 - } elsif (/^function *({([^}]*)}|([a-zA-Z0-9_]*)) [(][*]([a-zA-Z0-9_]*) ([(].*[)])/) {
898 + } elsif (/^function *(\{([^}]*)\}|([a-zA-Z0-9_]*)) [(][*]([a-zA-Z0-9_]*) ([(].*[)])/) {
900 - } elsif (/^function *({([^}]*)}|([a-zA-Z0-9_]*)) ([a-zA-Z0-9_]*) ([(].*[)])/) {
901 + } elsif (/^function *(\{([^}]*)\}|([a-zA-Z0-9_]*)) ([a-zA-Z0-9_]*) ([(].*[)])/) {
903 - } elsif (/^variable *({([^}]*)}|([a-zA-Z0-9_]*)) ([a-zA-Z0-9_]*)/) {
904 + } elsif (/^variable *(\{([^}]*)\}|([a-zA-Z0-9_]*)) ([a-zA-Z0-9_]*)/) {
906 - } elsif (/^macro-function *({([^}]*)}|([a-zA-Z0-9_]*)) ([a-zA-Z0-9_]*) ([(].*[)])/) {
907 + } elsif (/^macro-function *(\{([^}]*)\}|([a-zA-Z0-9_]*)) ([a-zA-Z0-9_]*) ([(].*[)])/) {
909 } elsif (/^symbol *([a-zA-Z0-9_]*) *([A-Za-z0-9_-]*)?/) {
911 diff --git a/conform/data/signal.h-data b/conform/data/signal.h-data
912 index fa841cfdbe..88c1f5eba2 100644
913 --- a/conform/data/signal.h-data
914 +++ b/conform/data/signal.h-data
915 @@ -170,7 +170,8 @@ element siginfo_t pid_t si_pid
916 element siginfo_t uid_t si_uid
917 element siginfo_t {void*} si_addr
918 element siginfo_t int si_status
919 -element siginfo_t long si_band
920 +// Bug 23821: si_band has type int on sparc64.
921 +xfail[sparc64-linux]-element siginfo_t long si_band
924 element siginfo_t {union sigval} si_value
925 diff --git a/conform/data/sys/wait.h-data b/conform/data/sys/wait.h-data
926 index 559ebdf677..a6713461ea 100644
927 --- a/conform/data/sys/wait.h-data
928 +++ b/conform/data/sys/wait.h-data
929 @@ -44,7 +44,8 @@ element siginfo_t pid_t si_pid
930 element siginfo_t uid_t si_uid
931 element siginfo_t {void*} si_addr
932 element siginfo_t int si_status
933 -element siginfo_t long si_band
934 +// Bug 23821: si_band has type int on sparc64.
935 +xfail[sparc64-linux]-element siginfo_t long si_band
937 element siginfo_t {union sigval} si_value
939 diff --git a/debug/vasprintf_chk.c b/debug/vasprintf_chk.c
940 index a00ef771e6..3eb64617fd 100644
941 --- a/debug/vasprintf_chk.c
942 +++ b/debug/vasprintf_chk.c
943 @@ -55,8 +55,8 @@ __vasprintf_chk (char **result_ptr, int flags, const char *format,
944 _IO_JUMPS (&sf._sbf) = &_IO_str_jumps;
945 _IO_str_init_static_internal (&sf, string, init_string_size, string);
946 sf._sbf._f._flags &= ~_IO_USER_BUF;
947 - sf._s._allocate_buffer = (_IO_alloc_type) malloc;
948 - sf._s._free_buffer = (_IO_free_type) free;
949 + sf._s._allocate_buffer_unused = (_IO_alloc_type) malloc;
950 + sf._s._free_buffer_unused = (_IO_free_type) free;
952 /* For flags > 0 (i.e. __USE_FORTIFY_LEVEL > 1) request that %n
953 can only come from read-only format strings. */
954 diff --git a/elf/Makefile b/elf/Makefile
955 index 2a432d8bee..2d8fe88aa6 100644
958 @@ -187,7 +187,7 @@ tests += restest1 preloadtest loadfail multiload origtest resolvfail \
959 tst-tlsalign tst-tlsalign-extern tst-nodelete-opened \
960 tst-nodelete2 tst-audit11 tst-audit12 tst-dlsym-error tst-noload \
961 tst-latepthread tst-tls-manydynamic tst-nodelete-dlclose \
962 - tst-debug1 tst-main1
963 + tst-debug1 tst-main1 tst-big-note
965 tests-internal += loadtest unload unload2 circleload1 \
966 neededtest neededtest2 neededtest3 neededtest4 \
967 @@ -272,7 +272,9 @@ modules-names = testobj1 testobj2 testobj3 testobj4 testobj5 testobj6 \
968 tst-audit12mod1 tst-audit12mod2 tst-audit12mod3 tst-auditmod12 \
969 tst-latepthreadmod $(tst-tls-many-dynamic-modules) \
970 tst-nodelete-dlclose-dso tst-nodelete-dlclose-plugin \
971 - tst-main1mod tst-libc_dlvsym-dso
972 + tst-main1mod tst-libc_dlvsym-dso \
975 ifeq (yes,$(have-mtls-dialect-gnu2))
976 tests += tst-gnu2-tls1
977 modules-names += tst-gnu2-tls1mod
978 @@ -1446,3 +1448,5 @@ $(objpfx)tst-libc_dlvsym-static: $(common-objpfx)dlfcn/libdl.a
979 tst-libc_dlvsym-static-ENV = \
980 LD_LIBRARY_PATH=$(objpfx):$(common-objpfx):$(common-objpfx)dlfcn
981 $(objpfx)tst-libc_dlvsym-static.out: $(objpfx)tst-libc_dlvsym-dso.so
983 +$(objpfx)tst-big-note: $(objpfx)tst-big-note-lib.so
984 diff --git a/elf/dl-deps.c b/elf/dl-deps.c
985 index c975fcffd7..20b8e94f2e 100644
988 @@ -100,7 +100,7 @@ struct list
990 const char *__str = (str); \
991 const char *__result = __str; \
992 - size_t __dst_cnt = DL_DST_COUNT (__str); \
993 + size_t __dst_cnt = _dl_dst_count (__str); \
995 if (__dst_cnt != 0) \
997 diff --git a/elf/dl-dst.h b/elf/dl-dst.h
998 index 32de5d225a..859032be0d 100644
1003 #include "trusted-dirs.h"
1005 -/* Determine the number of DST elements in the name. Only if IS_PATH is
1006 - nonzero paths are recognized (i.e., multiple, ':' separated filenames). */
1007 -#define DL_DST_COUNT(name) \
1009 - size_t __cnt = 0; \
1010 - const char *__sf = strchr (name, '$'); \
1012 - if (__glibc_unlikely (__sf != NULL)) \
1013 - __cnt = _dl_dst_count (__sf); \
1019 # define IS_RTLD(l) (l) == &GL(dl_rtld_map)
1021 diff --git a/elf/dl-load.c b/elf/dl-load.c
1022 index 7554a99b5a..b20e2a46d0 100644
1025 @@ -122,12 +122,6 @@ is_trusted_path_normalize (const char *path, size_t len)
1035 char *npath = (char *) alloca (len + 2);
1037 while (*path != '\0')
1038 @@ -178,114 +172,165 @@ is_trusted_path_normalize (const char *path, size_t len)
1042 +/* Given a substring starting at INPUT, just after the DST '$' start
1043 + token, determine if INPUT contains DST token REF, following the
1044 + ELF gABI rules for DSTs:
1046 + * Longest possible sequence using the rules (greedy).
1048 + * Must start with a $ (enforced by caller).
1050 + * Must follow $ with one underscore or ASCII [A-Za-z] (caller
1051 + follows these rules for REF) or '{' (start curly quoted name).
1053 + * Must follow first two characters with zero or more [A-Za-z0-9_]
1054 + (enforced by caller) or '}' (end curly quoted name).
1056 + If the sequence is a DST matching REF then the length of the DST
1057 + (excluding the $ sign but including curly braces, if any) is
1058 + returned, otherwise 0. */
1060 -is_dst (const char *start, const char *name, const char *str, int secure)
1061 +is_dst (const char *input, const char *ref)
1064 bool is_curly = false;
1066 - if (name[0] == '{')
1067 + /* Is a ${...} input sequence? */
1068 + if (input[0] == '{')
1075 - while (name[len] == str[len] && name[len] != '\0')
1080 - if (name[len] != '}')
1083 - /* Point again at the beginning of the name. */
1085 - /* Skip over closing curly brace and adjust for the --name. */
1089 - else if (name[len] != '\0' && name[len] != '/')
1092 - if (__glibc_unlikely (secure)
1093 - && ((name[len] != '\0' && name[len] != '/')
1094 - || (name != start + 1)))
1095 + /* Check for matching name, following closing curly brace (if
1096 + required), or trailing characters which are part of an
1098 + size_t rlen = strlen (ref);
1099 + if (strncmp (input, ref, rlen) != 0
1100 + || (is_curly && input[rlen] != '}')
1101 + || ((input[rlen] >= 'A' && input[rlen] <= 'Z')
1102 + || (input[rlen] >= 'a' && input[rlen] <= 'z')
1103 + || (input[rlen] >= '0' && input[rlen] <= '9')
1104 + || (input[rlen] == '_')))
1109 + /* Count the two curly braces. */
1116 +/* INPUT is the start of a DST sequence at the first '$' occurrence.
1117 + If there is a DST we call into _dl_dst_count to count the number of
1118 + DSTs. We count all known DSTs regardless of __libc_enable_secure;
1119 + the caller is responsible for enforcing the security of the
1120 + substitution rules (usually _dl_dst_substitute). */
1122 -_dl_dst_count (const char *name)
1123 +_dl_dst_count (const char *input)
1125 - const char *const start = name;
1128 + input = strchr (input, '$');
1130 + /* Most likely there is no DST. */
1131 + if (__glibc_likely (input == NULL))
1138 - /* $ORIGIN is not expanded for SUID/GUID programs (except if it
1139 - is $ORIGIN alone) and it must always appear first in path. */
1141 - if ((len = is_dst (start, name, "ORIGIN", __libc_enable_secure)) != 0
1142 - || (len = is_dst (start, name, "PLATFORM", 0)) != 0
1143 - || (len = is_dst (start, name, "LIB", 0)) != 0)
1145 + /* All DSTs must follow ELF gABI rules, see is_dst (). */
1146 + if ((len = is_dst (input, "ORIGIN")) != 0
1147 + || (len = is_dst (input, "PLATFORM")) != 0
1148 + || (len = is_dst (input, "LIB")) != 0)
1151 - name = strchr (name + len, '$');
1152 + /* There may be more than one DST in the input. */
1153 + input = strchr (input + len, '$');
1155 - while (name != NULL);
1156 + while (input != NULL);
1162 +/* Process INPUT for DSTs and store in RESULT using the information
1163 + from link map L to resolve the DSTs. This function only handles one
1164 + path at a time and does not handle colon-separated path lists (see
1165 + fillin_rpath ()). Lastly the size of result in bytes should be at
1166 + least equal to the value returned by DL_DST_REQUIRED. Note that it
1167 + is possible for a DT_NEEDED, DT_AUXILIARY, and DT_FILTER entries to
1168 + have colons, but we treat those as literal colons here, not as path
1169 + list delimeters. */
1171 -_dl_dst_substitute (struct link_map *l, const char *name, char *result)
1172 +_dl_dst_substitute (struct link_map *l, const char *input, char *result)
1174 - const char *const start = name;
1176 - /* Now fill the result path. While copying over the string we keep
1177 - track of the start of the last path element. When we come across
1178 - a DST we copy over the value or (if the value is not available)
1179 - leave the entire path element out. */
1180 + /* Copy character-by-character from input into the working pointer
1181 + looking for any DSTs. We track the start of input and if we are
1182 + going to check for trusted paths, all of which are part of $ORIGIN
1183 + handling in SUID/SGID cases (see below). In some cases, like when
1184 + a DST cannot be replaced, we may set result to an empty string and
1187 - char *last_elem = result;
1188 + const char *start = input;
1189 bool check_for_trusted = false;
1193 - if (__glibc_unlikely (*name == '$'))
1194 + if (__glibc_unlikely (*input == '$'))
1196 const char *repl = NULL;
1200 - if ((len = is_dst (start, name, "ORIGIN", __libc_enable_secure)) != 0)
1202 + if ((len = is_dst (input, "ORIGIN")) != 0)
1204 - repl = l->l_origin;
1205 + /* For SUID/GUID programs we normally ignore the path with
1206 + $ORIGIN in DT_RUNPATH, or DT_RPATH. However, there is
1207 + one exception to this rule, and it is:
1209 + * $ORIGIN appears as the first path element, and is
1210 + the only string in the path or is immediately
1211 + followed by a path separator and the rest of the
1214 + * The path is rooted in a trusted directory.
1216 + This exception allows such programs to reference
1217 + shared libraries in subdirectories of trusted
1218 + directories. The use case is one of general
1219 + organization and deployment flexibility.
1220 + Trusted directories are usually such paths as "/lib64"
1221 + or "/usr/lib64", and the usual RPATHs take the form of
1222 + [$ORIGIN/../$LIB/somedir]. */
1223 + if (__glibc_unlikely (__libc_enable_secure)
1224 + && !(input == start + 1
1225 + && (input[len] == '\0' || input[len] == '/')))
1226 + repl = (const char *) -1;
1228 + repl = l->l_origin;
1230 check_for_trusted = (__libc_enable_secure
1231 && l->l_type == lt_executable);
1233 - else if ((len = is_dst (start, name, "PLATFORM", 0)) != 0)
1234 + else if ((len = is_dst (input, "PLATFORM")) != 0)
1235 repl = GLRO(dl_platform);
1236 - else if ((len = is_dst (start, name, "LIB", 0)) != 0)
1237 + else if ((len = is_dst (input, "LIB")) != 0)
1240 if (repl != NULL && repl != (const char *) -1)
1242 wp = __stpcpy (wp, repl);
1247 + else if (len != 0)
1249 - /* We cannot use this path element, the value of the
1250 - replacement is unknown. */
1253 + /* We found a valid DST that we know about, but we could
1254 + not find a replacement value for it, therefore we
1255 + cannot use this path and discard it. */
1260 /* No DST we recognize. */
1261 @@ -293,16 +338,26 @@ _dl_dst_substitute (struct link_map *l, const char *name, char *result)
1269 - while (*name != '\0');
1270 + while (*input != '\0');
1272 /* In SUID/SGID programs, after $ORIGIN expansion the normalized
1273 - path must be rooted in one of the trusted directories. */
1274 + path must be rooted in one of the trusted directories. The $LIB
1275 + and $PLATFORM DST cannot in any way be manipulated by the caller
1276 + because they are fixed values that are set by the dynamic loader
1277 + and therefore any paths using just $LIB or $PLATFORM need not be
1278 + checked for trust, the authors of the binaries themselves are
1279 + trusted to have designed this correctly. Only $ORIGIN is tested in
1280 + this way because it may be manipulated in some ways with hard
1282 if (__glibc_unlikely (check_for_trusted)
1283 - && !is_trusted_path_normalize (last_elem, wp - last_elem))
1285 + && !is_trusted_path_normalize (result, wp - result))
1293 @@ -310,13 +365,13 @@ _dl_dst_substitute (struct link_map *l, const char *name, char *result)
1297 -/* Return copy of argument with all recognized dynamic string tokens
1298 - ($ORIGIN and $PLATFORM for now) replaced. On some platforms it
1299 - might not be possible to determine the path from which the object
1300 - belonging to the map is loaded. In this case the path element
1301 - containing $ORIGIN is left out. */
1302 +/* Return a malloc allocated copy of INPUT with all recognized DSTs
1303 + replaced. On some platforms it might not be possible to determine the
1304 + path from which the object belonging to the map is loaded. In this
1305 + case the path containing the DST is left out. On error NULL
1308 -expand_dynamic_string_token (struct link_map *l, const char *s)
1309 +expand_dynamic_string_token (struct link_map *l, const char *input)
1311 /* We make two runs over the string. First we determine how large the
1312 resulting string is and then we copy it over. Since this is no
1313 @@ -326,22 +381,22 @@ expand_dynamic_string_token (struct link_map *l, const char *s)
1317 - /* Determine the number of DST elements. */
1318 - cnt = DL_DST_COUNT (s);
1319 + /* Determine the number of DSTs. */
1320 + cnt = _dl_dst_count (input);
1322 /* If we do not have to replace anything simply copy the string. */
1323 if (__glibc_likely (cnt == 0))
1324 - return __strdup (s);
1325 + return __strdup (input);
1327 /* Determine the length of the substituted string. */
1328 - total = DL_DST_REQUIRED (l, s, strlen (s), cnt);
1329 + total = DL_DST_REQUIRED (l, input, strlen (input), cnt);
1331 /* Allocate the necessary memory. */
1332 result = (char *) malloc (total + 1);
1336 - return _dl_dst_substitute (l, s, result);
1337 + return _dl_dst_substitute (l, input, result);
1341 @@ -1469,6 +1524,7 @@ open_verify (const char *name, int fd,
1343 ElfW(Phdr) *phdr, *ph;
1344 ElfW(Word) *abi_note;
1345 + ElfW(Word) *abi_note_malloced = NULL;
1346 unsigned int osversion;
1349 @@ -1640,10 +1696,25 @@ open_verify (const char *name, int fd,
1350 abi_note = (void *) (fbp->buf + ph->p_offset);
1353 - abi_note = alloca (size);
1354 + /* Note: __libc_use_alloca is not usable here, because
1355 + thread info may not have been set up yet. */
1356 + if (size < __MAX_ALLOCA_CUTOFF)
1357 + abi_note = alloca (size);
1360 + /* There could be multiple PT_NOTEs. */
1361 + abi_note_malloced = realloc (abi_note_malloced, size);
1362 + if (abi_note_malloced == NULL)
1365 + abi_note = abi_note_malloced;
1367 __lseek (fd, ph->p_offset, SEEK_SET);
1368 if (__libc_read (fd, (void *) abi_note, size) != size)
1371 + free (abi_note_malloced);
1376 while (memcmp (abi_note, &expected_note, sizeof (expected_note)))
1377 @@ -1678,6 +1749,7 @@ open_verify (const char *name, int fd,
1381 + free (abi_note_malloced);
1385 diff --git a/elf/tst-big-note-lib.S b/elf/tst-big-note-lib.S
1386 new file mode 100644
1387 index 0000000000..6b514a03cc
1389 +++ b/elf/tst-big-note-lib.S
1391 +/* Bug 20419: test for stack overflow in elf/dl-load.c open_verify()
1392 + Copyright (C) 2018 Free Software Foundation, Inc.
1393 + This file is part of the GNU C Library.
1395 + The GNU C Library is free software; you can redistribute it and/or
1396 + modify it under the terms of the GNU Lesser General Public
1397 + License as published by the Free Software Foundation; either
1398 + version 2.1 of the License, or (at your option) any later version.
1400 + The GNU C Library is distributed in the hope that it will be useful,
1401 + but WITHOUT ANY WARRANTY; without even the implied warranty of
1402 + MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
1403 + Lesser General Public License for more details.
1405 + You should have received a copy of the GNU Lesser General Public
1406 + License along with the GNU C Library; if not, see
1407 + <http://www.gnu.org/licenses/>. */
1409 +/* This creates a .so with 8MiB PT_NOTE segment.
1410 + On a typical Linux system with 8MiB "ulimit -s", that was enough
1411 + to trigger stack overflow in open_verify. */
1413 +.pushsection .note.big,"a"
1415 +.fill 8*1024*1024, 1, 0
1417 diff --git a/elf/tst-big-note.c b/elf/tst-big-note.c
1418 new file mode 100644
1419 index 0000000000..fcd2b0ed82
1421 +++ b/elf/tst-big-note.c
1423 +/* Bug 20419: test for stack overflow in elf/dl-load.c open_verify()
1424 + Copyright (C) 2018 Free Software Foundation, Inc.
1425 + This file is part of the GNU C Library.
1427 + The GNU C Library is free software; you can redistribute it and/or
1428 + modify it under the terms of the GNU Lesser General Public
1429 + License as published by the Free Software Foundation; either
1430 + version 2.1 of the License, or (at your option) any later version.
1432 + The GNU C Library is distributed in the hope that it will be useful,
1433 + but WITHOUT ANY WARRANTY; without even the implied warranty of
1434 + MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
1435 + Lesser General Public License for more details.
1437 + You should have received a copy of the GNU Lesser General Public
1438 + License along with the GNU C Library; if not, see
1439 + <http://www.gnu.org/licenses/>. */
1441 +/* This file must be run from within a directory called "elf". */
1443 +int main (int argc, char *argv[])
1445 + /* Nothing to do here: merely linking against tst-big-note-lib.so triggers
1449 diff --git a/include/rpc/clnt.h b/include/rpc/clnt.h
1450 index a397023a93..80be0a9cec 100644
1451 --- a/include/rpc/clnt.h
1452 +++ b/include/rpc/clnt.h
1453 @@ -28,6 +28,7 @@ libc_hidden_proto (clntudp_create)
1454 libc_hidden_proto (get_myaddress)
1455 libc_hidden_proto (clntunix_create)
1456 libc_hidden_proto (__libc_clntudp_bufcreate)
1457 +libc_hidden_proto (rpc_createerr)
1459 # endif /* !_ISOMAC */
1461 diff --git a/include/rpc/svc.h b/include/rpc/svc.h
1462 index 465bf4427d..40ba2546a9 100644
1463 --- a/include/rpc/svc.h
1464 +++ b/include/rpc/svc.h
1469 +libc_hidden_proto (svc_pollfd)
1470 +libc_hidden_proto (svc_max_pollfd)
1471 +libc_hidden_proto (svc_fdset)
1473 libc_hidden_proto (xprt_register)
1474 libc_hidden_proto (xprt_unregister)
1475 libc_hidden_proto (svc_register)
1476 diff --git a/include/unistd.h b/include/unistd.h
1477 index 0f91b8babc..a171b00326 100644
1478 --- a/include/unistd.h
1479 +++ b/include/unistd.h
1480 @@ -77,6 +77,8 @@ extern char *__getcwd (char *__buf, size_t __size) attribute_hidden;
1481 extern int __rmdir (const char *__path) attribute_hidden;
1482 extern int __execvpe (const char *file, char *const argv[],
1483 char *const envp[]) attribute_hidden;
1484 +extern int __execvpex (const char *file, char *const argv[],
1485 + char *const envp[]) attribute_hidden;
1487 /* Get the canonical absolute name of the named directory, and put it in SIZE
1488 bytes of BUF. Returns NULL if the directory couldn't be determined or
1489 diff --git a/io/fcntl.h b/io/fcntl.h
1490 index 3d239e8f09..69a4394191 100644
1493 @@ -139,7 +139,7 @@ typedef __pid_t pid_t;
1494 # define SEEK_END 2 /* Seek from end of file. */
1497 -/* The constants AT_REMOVEDIR and AT_EACCESS have the same value. AT_EASSESS
1498 +/* The constants AT_REMOVEDIR and AT_EACCESS have the same value. AT_EACCESS
1499 is meaningful only to faccessat, while AT_REMOVEDIR is meaningful only to
1500 unlinkat. The two functions do completely different things and therefore,
1501 the flags can be allowed to overlap. For example, passing AT_REMOVEDIR to
1502 diff --git a/libio/Makefile b/libio/Makefile
1503 index 918a86bb74..81bd1792a5 100644
1504 --- a/libio/Makefile
1505 +++ b/libio/Makefile
1506 @@ -64,6 +64,9 @@ tests = tst_swprintf tst_wprintf tst_swscanf tst_wscanf tst_getwc tst_putwc \
1507 tst-setvbuf1 tst-popen1 tst-fgetwc bug-wsetpos tst-fseek \
1508 tst-fwrite-error tst-ftell-partial-wide tst-ftell-active-handler \
1509 tst-ftell-append tst-fputws tst-bz22415
1511 +tests-internal = tst-vtables tst-vtables-interposed
1513 ifeq (yes,$(build-shared))
1514 # Add test-fopenloc only if shared library is enabled since it depends on
1515 # shared localedata objects.
1516 diff --git a/libio/memstream.c b/libio/memstream.c
1517 index d86befcc02..c5c7c2f6db 100644
1518 --- a/libio/memstream.c
1519 +++ b/libio/memstream.c
1520 @@ -90,8 +90,8 @@ __open_memstream (char **bufloc, _IO_size_t *sizeloc)
1521 _IO_JUMPS_FILE_plus (&new_f->fp._sf._sbf) = &_IO_mem_jumps;
1522 _IO_str_init_static_internal (&new_f->fp._sf, buf, _IO_BUFSIZ, buf);
1523 new_f->fp._sf._sbf._f._flags &= ~_IO_USER_BUF;
1524 - new_f->fp._sf._s._allocate_buffer = (_IO_alloc_type) malloc;
1525 - new_f->fp._sf._s._free_buffer = (_IO_free_type) free;
1526 + new_f->fp._sf._s._allocate_buffer_unused = (_IO_alloc_type) malloc;
1527 + new_f->fp._sf._s._free_buffer_unused = (_IO_free_type) free;
1529 new_f->fp.bufloc = bufloc;
1530 new_f->fp.sizeloc = sizeloc;
1531 diff --git a/libio/strfile.h b/libio/strfile.h
1532 index 68dfcbfe83..52a085e580 100644
1533 --- a/libio/strfile.h
1534 +++ b/libio/strfile.h
1535 @@ -31,8 +31,11 @@ typedef void (*_IO_free_type) (void*);
1537 struct _IO_str_fields
1539 - _IO_alloc_type _allocate_buffer;
1540 - _IO_free_type _free_buffer;
1541 + /* These members are preserved for ABI compatibility. The glibc
1542 + implementation always calls malloc/free for user buffers if
1543 + _IO_USER_BUF or _IO_FLAGS2_USER_WBUF are not set. */
1544 + _IO_alloc_type _allocate_buffer_unused;
1545 + _IO_free_type _free_buffer_unused;
1548 /* This is needed for the Irix6 N32 ABI, which has a 64 bit off_t type,
1549 @@ -52,10 +55,6 @@ typedef struct _IO_strfile_
1550 struct _IO_str_fields _s;
1553 -/* dynamic: set when the array object is allocated (or reallocated) as
1554 - necessary to hold a character sequence that can change in length. */
1555 -#define _IO_STR_DYNAMIC(FP) ((FP)->_s._allocate_buffer != (_IO_alloc_type)0)
1557 /* frozen: set when the program has requested that the array object not
1558 be altered, reallocated, or freed. */
1559 #define _IO_STR_FROZEN(FP) ((FP)->_f._IO_file_flags & _IO_USER_BUF)
1560 diff --git a/libio/strops.c b/libio/strops.c
1561 index ac995c830e..5fb38976e3 100644
1562 --- a/libio/strops.c
1563 +++ b/libio/strops.c
1564 @@ -61,7 +61,7 @@ _IO_str_init_static_internal (_IO_strfile *sf, char *ptr, _IO_size_t size,
1565 fp->_IO_read_end = end;
1567 /* A null _allocate_buffer function flags the strfile as being static. */
1568 - sf->_s._allocate_buffer = (_IO_alloc_type) 0;
1569 + sf->_s._allocate_buffer_unused = (_IO_alloc_type) 0;
1573 @@ -103,8 +103,7 @@ _IO_str_overflow (_IO_FILE *fp, int c)
1574 _IO_size_t new_size = 2 * old_blen + 100;
1575 if (new_size < old_blen)
1578 - = (char *) (*((_IO_strfile *) fp)->_s._allocate_buffer) (new_size);
1579 + new_buf = malloc (new_size);
1580 if (new_buf == NULL)
1582 /* __ferror(fp) = 1; */
1583 @@ -113,7 +112,7 @@ _IO_str_overflow (_IO_FILE *fp, int c)
1586 memcpy (new_buf, old_buf, old_blen);
1587 - (*((_IO_strfile *) fp)->_s._free_buffer) (old_buf);
1589 /* Make sure _IO_setb won't try to delete _IO_buf_base. */
1590 fp->_IO_buf_base = NULL;
1592 @@ -182,15 +181,14 @@ enlarge_userbuf (_IO_FILE *fp, _IO_off64_t offset, int reading)
1594 _IO_size_t newsize = offset + 100;
1595 char *oldbuf = fp->_IO_buf_base;
1597 - = (char *) (*((_IO_strfile *) fp)->_s._allocate_buffer) (newsize);
1598 + char *newbuf = malloc (newsize);
1604 memcpy (newbuf, oldbuf, _IO_blen (fp));
1605 - (*((_IO_strfile *) fp)->_s._free_buffer) (oldbuf);
1607 /* Make sure _IO_setb won't try to delete
1609 fp->_IO_buf_base = NULL;
1610 @@ -346,7 +344,7 @@ void
1611 _IO_str_finish (_IO_FILE *fp, int dummy)
1613 if (fp->_IO_buf_base && !(fp->_flags & _IO_USER_BUF))
1614 - (((_IO_strfile *) fp)->_s._free_buffer) (fp->_IO_buf_base);
1615 + free (fp->_IO_buf_base);
1616 fp->_IO_buf_base = NULL;
1618 _IO_default_finish (fp, 0);
1619 diff --git a/libio/tst-vtables-common.c b/libio/tst-vtables-common.c
1620 new file mode 100644
1621 index 0000000000..dc8d89c195
1623 +++ b/libio/tst-vtables-common.c
1625 +/* Test for libio vtables and their validation. Common code.
1626 + Copyright (C) 2018 Free Software Foundation, Inc.
1627 + This file is part of the GNU C Library.
1629 + The GNU C Library is free software; you can redistribute it and/or
1630 + modify it under the terms of the GNU Lesser General Public
1631 + License as published by the Free Software Foundation; either
1632 + version 2.1 of the License, or (at your option) any later version.
1634 + The GNU C Library is distributed in the hope that it will be useful,
1635 + but WITHOUT ANY WARRANTY; without even the implied warranty of
1636 + MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
1637 + Lesser General Public License for more details.
1639 + You should have received a copy of the GNU Lesser General Public
1640 + License along with the GNU C Library; if not, see
1641 + <http://www.gnu.org/licenses/>. */
1643 +/* This test provides some coverage for how various stdio functions
1644 + use the vtables in FILE * objects. The focus is mostly on which
1645 + functions call which methods, not so much on validating data
1646 + processing. An initial series of tests check that custom vtables
1647 + do not work without activation through _IO_init.
1649 + Note: libio vtables are deprecated feature. Do not use this test
1650 + as a documentation source for writing custom vtables. See
1651 + fopencookie for a different way of creating custom stdio
1654 +#include <stdbool.h>
1655 +#include <string.h>
1656 +#include <support/capture_subprocess.h>
1657 +#include <support/check.h>
1658 +#include <support/namespace.h>
1659 +#include <support/support.h>
1660 +#include <support/test-driver.h>
1661 +#include <support/xunistd.h>
1663 +/* Data shared between the test subprocess and the test driver in the
1664 + parent. Note that *shared is reset at the start of the check_call
1668 + /* Expected file pointer for method calls. */
1671 + /* If true, assume that a call to _IO_init is needed to enable
1672 + custom vtables. */
1673 + bool initially_disabled;
1675 + /* Requested return value for the methods which have one. */
1678 + /* A value (usually a character) recorded by some of the methods
1682 + /* Likewise, for some data. */
1684 + size_t buffer_length;
1686 + /* Total number of method calls. */
1687 + unsigned int calls;
1689 + /* Individual method call counts. */
1690 + unsigned int calls_finish;
1691 + unsigned int calls_overflow;
1692 + unsigned int calls_underflow;
1693 + unsigned int calls_uflow;
1694 + unsigned int calls_pbackfail;
1695 + unsigned int calls_xsputn;
1696 + unsigned int calls_xsgetn;
1697 + unsigned int calls_seekoff;
1698 + unsigned int calls_seekpos;
1699 + unsigned int calls_setbuf;
1700 + unsigned int calls_sync;
1701 + unsigned int calls_doallocate;
1702 + unsigned int calls_read;
1703 + unsigned int calls_write;
1704 + unsigned int calls_seek;
1705 + unsigned int calls_close;
1706 + unsigned int calls_stat;
1707 + unsigned int calls_showmanyc;
1708 + unsigned int calls_imbue;
1711 +/* Method implementations which increment the counters in *shared. */
1714 +log_method (FILE *fp, const char *name)
1716 + if (test_verbose > 0)
1717 + printf ("info: %s (%p) called\n", name, fp);
1721 +method_finish (FILE *fp, int dummy)
1723 + log_method (fp, __func__);
1724 + TEST_VERIFY (fp == shared->fp);
1726 + ++shared->calls_finish;
1730 +method_overflow (FILE *fp, int ch)
1732 + log_method (fp, __func__);
1733 + TEST_VERIFY (fp == shared->fp);
1735 + ++shared->calls_overflow;
1736 + shared->value = ch;
1737 + return shared->return_value;
1741 +method_underflow (FILE *fp)
1743 + log_method (fp, __func__);
1744 + TEST_VERIFY (fp == shared->fp);
1746 + ++shared->calls_underflow;
1747 + return shared->return_value;
1751 +method_uflow (FILE *fp)
1753 + log_method (fp, __func__);
1754 + TEST_VERIFY (fp == shared->fp);
1756 + ++shared->calls_uflow;
1757 + return shared->return_value;
1761 +method_pbackfail (FILE *fp, int ch)
1763 + log_method (fp, __func__);
1764 + TEST_VERIFY (fp == shared->fp);
1766 + ++shared->calls_pbackfail;
1767 + shared->value = ch;
1768 + return shared->return_value;
1772 +method_xsputn (FILE *fp, const void *data, size_t n)
1774 + log_method (fp, __func__);
1775 + TEST_VERIFY (fp == shared->fp);
1777 + ++shared->calls_xsputn;
1779 + size_t to_copy = n;
1780 + if (n > sizeof (shared->buffer))
1781 + to_copy = sizeof (shared->buffer);
1782 + memcpy (shared->buffer, data, to_copy);
1783 + shared->buffer_length = to_copy;
1788 +method_xsgetn (FILE *fp, void *data, size_t n)
1790 + log_method (fp, __func__);
1791 + TEST_VERIFY (fp == shared->fp);
1793 + ++shared->calls_xsgetn;
1798 +method_seekoff (FILE *fp, off64_t offset, int dir, int mode)
1800 + log_method (fp, __func__);
1801 + TEST_VERIFY (fp == shared->fp);
1803 + ++shared->calls_seekoff;
1804 + return shared->return_value;
1808 +method_seekpos (FILE *fp, off64_t offset, int mode)
1810 + log_method (fp, __func__);
1811 + TEST_VERIFY (fp == shared->fp);
1813 + ++shared->calls_seekpos;
1814 + return shared->return_value;
1818 +method_setbuf (FILE *fp, char *buffer, ssize_t length)
1820 + log_method (fp, __func__);
1821 + TEST_VERIFY (fp == shared->fp);
1823 + ++shared->calls_setbuf;
1828 +method_sync (FILE *fp)
1830 + log_method (fp, __func__);
1831 + TEST_VERIFY (fp == shared->fp);
1833 + ++shared->calls_sync;
1834 + return shared->return_value;
1838 +method_doallocate (FILE *fp)
1840 + log_method (fp, __func__);
1841 + TEST_VERIFY (fp == shared->fp);
1843 + ++shared->calls_doallocate;
1844 + return shared->return_value;
1848 +method_read (FILE *fp, void *data, ssize_t length)
1850 + log_method (fp, __func__);
1851 + TEST_VERIFY (fp == shared->fp);
1853 + ++shared->calls_read;
1854 + return shared->return_value;
1858 +method_write (FILE *fp, const void *data, ssize_t length)
1860 + log_method (fp, __func__);
1861 + TEST_VERIFY (fp == shared->fp);
1863 + ++shared->calls_write;
1864 + return shared->return_value;
1868 +method_seek (FILE *fp, off64_t offset, int mode)
1870 + log_method (fp, __func__);
1871 + TEST_VERIFY (fp == shared->fp);
1873 + ++shared->calls_seek;
1874 + return shared->return_value;
1878 +method_close (FILE *fp)
1880 + log_method (fp, __func__);
1881 + TEST_VERIFY (fp == shared->fp);
1883 + ++shared->calls_close;
1884 + return shared->return_value;
1888 +method_stat (FILE *fp, void *buffer)
1890 + log_method (fp, __func__);
1891 + TEST_VERIFY (fp == shared->fp);
1893 + ++shared->calls_stat;
1894 + return shared->return_value;
1898 +method_showmanyc (FILE *fp)
1900 + log_method (fp, __func__);
1901 + TEST_VERIFY (fp == shared->fp);
1903 + ++shared->calls_showmanyc;
1904 + return shared->return_value;
1908 +method_imbue (FILE *fp, void *locale)
1910 + log_method (fp, __func__);
1911 + TEST_VERIFY (fp == shared->fp);
1913 + ++shared->calls_imbue;
1916 +/* Our custom vtable. */
1918 +static const struct _IO_jump_t jumps =
1921 + JUMP_INIT (finish, method_finish),
1922 + JUMP_INIT (overflow, method_overflow),
1923 + JUMP_INIT (underflow, method_underflow),
1924 + JUMP_INIT (uflow, method_uflow),
1925 + JUMP_INIT (pbackfail, method_pbackfail),
1926 + JUMP_INIT (xsputn, method_xsputn),
1927 + JUMP_INIT (xsgetn, method_xsgetn),
1928 + JUMP_INIT (seekoff, method_seekoff),
1929 + JUMP_INIT (seekpos, method_seekpos),
1930 + JUMP_INIT (setbuf, method_setbuf),
1931 + JUMP_INIT (sync, method_sync),
1932 + JUMP_INIT (doallocate, method_doallocate),
1933 + JUMP_INIT (read, method_read),
1934 + JUMP_INIT (write, method_write),
1935 + JUMP_INIT (seek, method_seek),
1936 + JUMP_INIT (close, method_close),
1937 + JUMP_INIT (stat, method_stat),
1938 + JUMP_INIT (showmanyc, method_showmanyc),
1939 + JUMP_INIT (imbue, method_imbue)
1942 +/* Our file implementation. */
1947 + const struct _IO_jump_t *vtable;
1951 +my_file_create (void)
1953 + return (struct my_file)
1955 + /* Disable locking, so that we do not have to set up a lock
1957 + .f._flags = _IO_USER_LOCK,
1959 + /* Copy the offset from the an initialized handle, instead of
1960 + figuring it out from scratch. */
1961 + .f._vtable_offset = stdin->_vtable_offset,
1967 +/* Initial tests which do not enable vtable compatibility. */
1969 +/* Inhibit GCC optimization of fprintf. */
1970 +typedef int (*fprintf_type) (FILE *, const char *, ...);
1971 +static const volatile fprintf_type fprintf_ptr = &fprintf;
1974 +without_compatibility_fprintf (void *closure)
1976 + /* This call should abort. */
1977 + fprintf_ptr (shared->fp, " ");
1982 +without_compatibility_fputc (void *closure)
1984 + /* This call should abort. */
1985 + fputc (' ', shared->fp);
1990 +without_compatibility_fgetc (void *closure)
1992 + /* This call should abort. */
1993 + fgetc (shared->fp);
1998 +without_compatibility_fflush (void *closure)
2000 + /* This call should abort. */
2001 + fflush (shared->fp);
2005 +/* Exit status after abnormal termination. */
2006 +static int termination_status;
2009 +init_termination_status (void)
2011 + pid_t pid = xfork ();
2014 + xwaitpid (pid, &termination_status, 0);
2016 + TEST_VERIFY (WIFSIGNALED (termination_status));
2017 + TEST_COMPARE (WTERMSIG (termination_status), SIGABRT);
2021 +check_for_termination (const char *name, void (*callback) (void *))
2023 + struct my_file file = my_file_create ();
2024 + shared->fp = &file.f;
2025 + shared->return_value = -1;
2026 + shared->calls = 0;
2027 + struct support_capture_subprocess proc
2028 + = support_capture_subprocess (callback, NULL);
2029 + support_capture_subprocess_check (&proc, name, termination_status,
2031 + const char *message
2032 + = "Fatal error: glibc detected an invalid stdio handle\n";
2033 + TEST_COMPARE_BLOB (proc.err.buffer, proc.err.length,
2034 + message, strlen (message));
2035 + TEST_COMPARE (shared->calls, 0);
2036 + support_capture_subprocess_free (&proc);
2039 +/* The test with vtable validation disabled. */
2041 +/* This function does not have a prototype in libioP.h to prevent
2042 + accidental use from within the library (which would disable vtable
2044 +void _IO_init (FILE *fp, int flags);
2047 +with_compatibility_fprintf (void *closure)
2049 + TEST_COMPARE (fprintf_ptr (shared->fp, "A%sCD", "B"), 4);
2050 + TEST_COMPARE (shared->calls, 3);
2051 + TEST_COMPARE (shared->calls_xsputn, 3);
2052 + TEST_COMPARE_BLOB (shared->buffer, shared->buffer_length,
2057 +with_compatibility_fputc (void *closure)
2059 + shared->return_value = '@';
2060 + TEST_COMPARE (fputc ('@', shared->fp), '@');
2061 + TEST_COMPARE (shared->calls, 1);
2062 + TEST_COMPARE (shared->calls_overflow, 1);
2063 + TEST_COMPARE (shared->value, '@');
2067 +with_compatibility_fgetc (void *closure)
2069 + shared->return_value = 'X';
2070 + TEST_COMPARE (fgetc (shared->fp), 'X');
2071 + TEST_COMPARE (shared->calls, 1);
2072 + TEST_COMPARE (shared->calls_uflow, 1);
2076 +with_compatibility_fflush (void *closure)
2078 + TEST_COMPARE (fflush (shared->fp), 0);
2079 + TEST_COMPARE (shared->calls, 1);
2080 + TEST_COMPARE (shared->calls_sync, 1);
2083 +/* Call CALLBACK in a subprocess, after setting up a custom file
2084 + object and updating shared->fp. */
2086 +check_call (const char *name, void (*callback) (void *),
2087 + bool initially_disabled)
2089 + *shared = (struct shared)
2091 + .initially_disabled = initially_disabled,
2094 + /* Set up a custom file object. */
2095 + struct my_file file = my_file_create ();
2096 + shared->fp = &file.f;
2097 + if (shared->initially_disabled)
2098 + _IO_init (shared->fp, file.f._flags);
2100 + if (test_verbose > 0)
2101 + printf ("info: calling test %s\n", name);
2102 + support_isolate_in_subprocess (callback, NULL);
2105 +/* Run the tests. INITIALLY_DISABLED indicates whether custom vtables
2106 + are disabled when the test starts. */
2108 +run_tests (bool initially_disabled)
2110 + /* The test relies on fatal error messages being printed to standard
2112 + setenv ("LIBC_FATAL_STDERR_", "1", 1);
2114 + shared = support_shared_allocate (sizeof (*shared));
2115 + shared->initially_disabled = initially_disabled;
2116 + init_termination_status ();
2118 + if (initially_disabled)
2120 + check_for_termination ("fprintf", without_compatibility_fprintf);
2121 + check_for_termination ("fputc", without_compatibility_fputc);
2122 + check_for_termination ("fgetc", without_compatibility_fgetc);
2123 + check_for_termination ("fflush", without_compatibility_fflush);
2126 + check_call ("fprintf", with_compatibility_fprintf, initially_disabled);
2127 + check_call ("fputc", with_compatibility_fputc, initially_disabled);
2128 + check_call ("fgetc", with_compatibility_fgetc, initially_disabled);
2129 + check_call ("fflush", with_compatibility_fflush, initially_disabled);
2131 + support_shared_free (shared);
2136 diff --git a/libio/tst-vtables-interposed.c b/libio/tst-vtables-interposed.c
2137 new file mode 100644
2138 index 0000000000..c8f4e8c7c3
2140 +++ b/libio/tst-vtables-interposed.c
2142 +/* Test for libio vtables and their validation. Enabled through interposition.
2143 + Copyright (C) 2018 Free Software Foundation, Inc.
2144 + This file is part of the GNU C Library.
2146 + The GNU C Library is free software; you can redistribute it and/or
2147 + modify it under the terms of the GNU Lesser General Public
2148 + License as published by the Free Software Foundation; either
2149 + version 2.1 of the License, or (at your option) any later version.
2151 + The GNU C Library is distributed in the hope that it will be useful,
2152 + but WITHOUT ANY WARRANTY; without even the implied warranty of
2153 + MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
2154 + Lesser General Public License for more details.
2156 + You should have received a copy of the GNU Lesser General Public
2157 + License along with the GNU C Library; if not, see
2158 + <http://www.gnu.org/licenses/>. */
2160 +/* Provide an interposed definition of the standard file handles with
2161 + our own vtable. stdout/stdin/stderr will not work as a result, but
2162 + a succesful test does not print anything, so this is fine. */
2163 +static const struct _IO_jump_t jumps;
2164 +#define _IO_file_jumps jumps
2165 +#include "stdfiles.c"
2167 +#include "tst-vtables-common.c"
2172 + return run_tests (false);
2175 +/* Calling setvbuf in the test driver is not supported with our
2176 + interposed file handles. */
2177 +#define TEST_NO_SETVBUF
2178 +#include <support/test-driver.c>
2179 diff --git a/libio/tst-vtables.c b/libio/tst-vtables.c
2180 new file mode 100644
2181 index 0000000000..f16acf5d23
2183 +++ b/libio/tst-vtables.c
2185 +/* Test for libio vtables and their validation. Initially disabled case.
2186 + Copyright (C) 2018 Free Software Foundation, Inc.
2187 + This file is part of the GNU C Library.
2189 + The GNU C Library is free software; you can redistribute it and/or
2190 + modify it under the terms of the GNU Lesser General Public
2191 + License as published by the Free Software Foundation; either
2192 + version 2.1 of the License, or (at your option) any later version.
2194 + The GNU C Library is distributed in the hope that it will be useful,
2195 + but WITHOUT ANY WARRANTY; without even the implied warranty of
2196 + MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
2197 + Lesser General Public License for more details.
2199 + You should have received a copy of the GNU Lesser General Public
2200 + License along with the GNU C Library; if not, see
2201 + <http://www.gnu.org/licenses/>. */
2203 +#include "libioP.h"
2205 +#include "tst-vtables-common.c"
2210 + return run_tests (true);
2213 +#include <support/test-driver.c>
2214 diff --git a/libio/vasprintf.c b/libio/vasprintf.c
2215 index 390a63d124..0bb217e46e 100644
2216 --- a/libio/vasprintf.c
2217 +++ b/libio/vasprintf.c
2218 @@ -54,8 +54,8 @@ _IO_vasprintf (char **result_ptr, const char *format, _IO_va_list args)
2219 _IO_JUMPS (&sf._sbf) = &_IO_str_jumps;
2220 _IO_str_init_static_internal (&sf, string, init_string_size, string);
2221 sf._sbf._f._flags &= ~_IO_USER_BUF;
2222 - sf._s._allocate_buffer = (_IO_alloc_type) malloc;
2223 - sf._s._free_buffer = (_IO_free_type) free;
2224 + sf._s._allocate_buffer_unused = (_IO_alloc_type) malloc;
2225 + sf._s._free_buffer_unused = (_IO_free_type) free;
2226 ret = _IO_vfprintf (&sf._sbf._f, format, args);
2229 diff --git a/libio/vtables.c b/libio/vtables.c
2230 index 9fd4ccf642..9df75668c8 100644
2231 --- a/libio/vtables.c
2232 +++ b/libio/vtables.c
2233 @@ -71,3 +71,19 @@ _IO_vtable_check (void)
2235 __libc_fatal ("Fatal error: glibc detected an invalid stdio handle\n");
2238 +/* Some variants of libstdc++ interpose _IO_2_1_stdin_ etc. and
2239 + install their own vtables directly, without calling _IO_init or
2240 + other functions. Detect this by looking at the vtables values
2241 + during startup, and disable vtable validation in this case. */
2243 +__attribute__ ((constructor))
2245 +check_stdfiles_vtables (void)
2247 + if (_IO_2_1_stdin_.vtable != &_IO_file_jumps
2248 + || _IO_2_1_stdout_.vtable != &_IO_file_jumps
2249 + || _IO_2_1_stderr_.vtable != &_IO_file_jumps)
2250 + IO_set_accept_foreign_vtables (&_IO_vtable_check);
2253 diff --git a/libio/wmemstream.c b/libio/wmemstream.c
2254 index c962071d26..f4c6e75246 100644
2255 --- a/libio/wmemstream.c
2256 +++ b/libio/wmemstream.c
2257 @@ -92,8 +92,8 @@ open_wmemstream (wchar_t **bufloc, _IO_size_t *sizeloc)
2258 _IO_wstr_init_static (&new_f->fp._sf._sbf._f, buf,
2259 _IO_BUFSIZ / sizeof (wchar_t), buf);
2260 new_f->fp._sf._sbf._f._flags2 &= ~_IO_FLAGS2_USER_WBUF;
2261 - new_f->fp._sf._s._allocate_buffer = (_IO_alloc_type) malloc;
2262 - new_f->fp._sf._s._free_buffer = (_IO_free_type) free;
2263 + new_f->fp._sf._s._allocate_buffer_unused = (_IO_alloc_type) malloc;
2264 + new_f->fp._sf._s._free_buffer_unused = (_IO_free_type) free;
2266 new_f->fp.bufloc = bufloc;
2267 new_f->fp.sizeloc = sizeloc;
2268 diff --git a/libio/wstrops.c b/libio/wstrops.c
2269 index a3374a7b15..0839a70bfb 100644
2270 --- a/libio/wstrops.c
2271 +++ b/libio/wstrops.c
2272 @@ -63,7 +63,7 @@ _IO_wstr_init_static (_IO_FILE *fp, wchar_t *ptr, _IO_size_t size,
2273 fp->_wide_data->_IO_read_end = end;
2275 /* A null _allocate_buffer function flags the strfile as being static. */
2276 - (((_IO_strfile *) fp)->_s._allocate_buffer) = (_IO_alloc_type)0;
2277 + (((_IO_strfile *) fp)->_s._allocate_buffer_unused) = (_IO_alloc_type)0;
2281 @@ -95,9 +95,7 @@ _IO_wstr_overflow (_IO_FILE *fp, _IO_wint_t c)
2282 || __glibc_unlikely (new_size > SIZE_MAX / sizeof (wchar_t)))
2286 - = (wchar_t *) (*((_IO_strfile *) fp)->_s._allocate_buffer) (new_size
2287 - * sizeof (wchar_t));
2288 + new_buf = malloc (new_size * sizeof (wchar_t));
2289 if (new_buf == NULL)
2291 /* __ferror(fp) = 1; */
2292 @@ -106,7 +104,7 @@ _IO_wstr_overflow (_IO_FILE *fp, _IO_wint_t c)
2295 __wmemcpy (new_buf, old_buf, old_wblen);
2296 - (*((_IO_strfile *) fp)->_s._free_buffer) (old_buf);
2298 /* Make sure _IO_setb won't try to delete _IO_buf_base. */
2299 fp->_wide_data->_IO_buf_base = NULL;
2301 @@ -186,16 +184,14 @@ enlarge_userbuf (_IO_FILE *fp, _IO_off64_t offset, int reading)
2304 wchar_t *oldbuf = wd->_IO_buf_base;
2306 - = (wchar_t *) (*((_IO_strfile *) fp)->_s._allocate_buffer) (newsize
2307 - * sizeof (wchar_t));
2308 + wchar_t *newbuf = malloc (newsize * sizeof (wchar_t));
2314 __wmemcpy (newbuf, oldbuf, _IO_wblen (fp));
2315 - (*((_IO_strfile *) fp)->_s._free_buffer) (oldbuf);
2317 /* Make sure _IO_setb won't try to delete
2319 wd->_IO_buf_base = NULL;
2320 @@ -357,7 +353,7 @@ void
2321 _IO_wstr_finish (_IO_FILE *fp, int dummy)
2323 if (fp->_wide_data->_IO_buf_base && !(fp->_flags2 & _IO_FLAGS2_USER_WBUF))
2324 - (((_IO_strfile *) fp)->_s._free_buffer) (fp->_wide_data->_IO_buf_base);
2325 + free (fp->_wide_data->_IO_buf_base);
2326 fp->_wide_data->_IO_buf_base = NULL;
2328 _IO_wdefault_finish (fp, 0);
2329 diff --git a/localedata/locales/ca_ES b/localedata/locales/ca_ES
2330 index 914c066dab..f0d744d537 100644
2331 --- a/localedata/locales/ca_ES
2332 +++ b/localedata/locales/ca_ES
2333 @@ -106,36 +106,67 @@ grouping 0;0
2337 -abday "dg";"dl";"dt";"dc";"dj";"dv";"ds"
2345 -abmon "gen";"feb";/
2363 -d_t_fmt "%a %d %b %Y %T %Z"
2367 +abday "dg.";"dl.";"dt.";"dc.";"dj.";"dv.";"ds."
2375 +ab_alt_mon "gen.";/
2420 + "d<U2019>octubre";/
2423 +d_t_fmt "%A, %-d %B de %Y, %T %Z"
2424 +d_fmt "%-d//%-m//%y"
2431 @@ -146,9 +177,9 @@ copy "i18n"
2435 -tel_int_fmt "+%c %a %l"
2438 +tel_int_fmt "+%c %a %l"
2444 @@ -156,19 +187,19 @@ copy "i18n"
2448 -name_fmt "%d%t%g%t%m%t%f"
2449 +name_fmt "%d%t%g%t%m%t%f"
2453 -postal_fmt "%f%N%a%N%d%N%b%N%s %h %e %r%N%z %T%N%c%N"
2454 +postal_fmt "%f%N%a%N%d%N%b%N%s %h %e %r%N%z %T%N%c%N"
2455 country_name "Espanya"
2465 lang_name "catal<U00E0>"
2471 diff --git a/localedata/locales/cs_CZ b/localedata/locales/cs_CZ
2472 index f80d3e1b37..8f4c69e493 100644
2473 --- a/localedata/locales/cs_CZ
2474 +++ b/localedata/locales/cs_CZ
2475 @@ -272,7 +272,7 @@ day "Ned<U011B>le";/
2484 @@ -334,6 +334,19 @@ abmon "led";/
2494 + "<U010D>ervence";/
2496 + "z<U00E1><U0159><U00ED>";/
2497 + "<U0159><U00ED>jna";/
2504 diff --git a/localedata/locales/el_CY b/localedata/locales/el_CY
2505 index f27a74bb76..28055f335b 100644
2506 --- a/localedata/locales/el_CY
2507 +++ b/localedata/locales/el_CY
2508 @@ -72,12 +72,18 @@ day "<U039A><U03C5><U03C1><U03B9><U03B1><U03BA><U03AE>";/
2509 "<U03A0><U03AD><U03BC><U03C0><U03C4><U03B7>";/
2510 "<U03A0><U03B1><U03C1><U03B1><U03C3><U03BA><U03B5><U03C5><U03AE>";/
2511 "<U03A3><U03AC><U03B2><U03B2><U03B1><U03C4><U03BF>"
2512 -abmon "<U0399><U03B1><U03BD>";"<U03A6><U03B5><U03B2>";/
2513 +ab_alt_mon "<U0399><U03B1><U03BD>";"<U03A6><U03B5><U03B2>";/
2514 "<U039C><U03AC><U03C1>";"<U0391><U03C0><U03C1>";/
2515 "<U039C><U03AC><U03B9>";"<U0399><U03BF><U03CD><U03BD>";/
2516 "<U0399><U03BF><U03CD><U03BB>";"<U0391><U03CD><U03B3>";/
2517 "<U03A3><U03B5><U03C0>";"<U039F><U03BA><U03C4>";/
2518 "<U039D><U03BF><U03AD>";"<U0394><U03B5><U03BA>"
2519 +abmon "<U0399><U03B1><U03BD>";"<U03A6><U03B5><U03B2>";/
2520 + "<U039C><U03B1><U03C1>";"<U0391><U03C0><U03C1>";/
2521 + "<U039C><U03B1><U0390>";"<U0399><U03BF><U03C5><U03BD>";/
2522 + "<U0399><U03BF><U03C5><U03BB>";"<U0391><U03C5><U03B3>";/
2523 + "<U03A3><U03B5><U03C0>";"<U039F><U03BA><U03C4>";/
2524 + "<U039D><U03BF><U03B5>";"<U0394><U03B5><U03BA>"
2525 alt_mon "<U0399><U03B1><U03BD><U03BF><U03C5><U03AC><U03C1><U03B9><U03BF><U03C2>";/
2526 "<U03A6><U03B5><U03B2><U03C1><U03BF><U03C5><U03AC><U03C1><U03B9><U03BF><U03C2>";/
2527 "<U039C><U03AC><U03C1><U03C4><U03B9><U03BF><U03C2>";/
2528 diff --git a/localedata/locales/el_GR b/localedata/locales/el_GR
2529 index a82ef8c6d9..7362492fbd 100644
2530 --- a/localedata/locales/el_GR
2531 +++ b/localedata/locales/el_GR
2532 @@ -104,12 +104,18 @@ day "<U039A><U03C5><U03C1><U03B9><U03B1><U03BA><U03AE>";/
2533 "<U03A0><U03AD><U03BC><U03C0><U03C4><U03B7>";/
2534 "<U03A0><U03B1><U03C1><U03B1><U03C3><U03BA><U03B5><U03C5><U03AE>";/
2535 "<U03A3><U03AC><U03B2><U03B2><U03B1><U03C4><U03BF>"
2536 -abmon "<U0399><U03B1><U03BD>";"<U03A6><U03B5><U03B2>";/
2537 +ab_alt_mon "<U0399><U03B1><U03BD>";"<U03A6><U03B5><U03B2>";/
2538 "<U039C><U03AC><U03C1>";"<U0391><U03C0><U03C1>";/
2539 "<U039C><U03AC><U03B9>";"<U0399><U03BF><U03CD><U03BD>";/
2540 "<U0399><U03BF><U03CD><U03BB>";"<U0391><U03CD><U03B3>";/
2541 "<U03A3><U03B5><U03C0>";"<U039F><U03BA><U03C4>";/
2542 "<U039D><U03BF><U03AD>";"<U0394><U03B5><U03BA>"
2543 +abmon "<U0399><U03B1><U03BD>";"<U03A6><U03B5><U03B2>";/
2544 + "<U039C><U03B1><U03C1>";"<U0391><U03C0><U03C1>";/
2545 + "<U039C><U03B1><U0390>";"<U0399><U03BF><U03C5><U03BD>";/
2546 + "<U0399><U03BF><U03C5><U03BB>";"<U0391><U03C5><U03B3>";/
2547 + "<U03A3><U03B5><U03C0>";"<U039F><U03BA><U03C4>";/
2548 + "<U039D><U03BF><U03B5>";"<U0394><U03B5><U03BA>"
2549 alt_mon "<U0399><U03B1><U03BD><U03BF><U03C5><U03AC><U03C1><U03B9><U03BF><U03C2>";/
2550 "<U03A6><U03B5><U03B2><U03C1><U03BF><U03C5><U03AC><U03C1><U03B9><U03BF><U03C2>";/
2551 "<U039C><U03AC><U03C1><U03C4><U03B9><U03BF><U03C2>";/
2552 diff --git a/localedata/locales/es_BO b/localedata/locales/es_BO
2553 index 4202c5a0cf..5b6c6e2312 100644
2554 --- a/localedata/locales/es_BO
2555 +++ b/localedata/locales/es_BO
2556 @@ -124,7 +124,7 @@ first_weekday 2
2565 diff --git a/localedata/locales/et_EE b/localedata/locales/et_EE
2566 index 9cb55b568f..bab7493c98 100644
2567 --- a/localedata/locales/et_EE
2568 +++ b/localedata/locales/et_EE
2569 @@ -103,6 +103,8 @@ reorder-after <w>
2570 <U00FC> <u-diaresis>;<BAS>;<MIN>;IGNORE % ü
2571 <U00DC> <u-diaresis>;<BAS>;<CAP>;IGNORE % Ü
2578 diff --git a/localedata/locales/gd_GB b/localedata/locales/gd_GB
2579 index 676ee940c9..77d11e5977 100644
2580 --- a/localedata/locales/gd_GB
2581 +++ b/localedata/locales/gd_GB
2582 @@ -66,12 +66,12 @@ mon "Am Faoilleach";/
2583 "An D<U00E0>mhair";/
2585 "An D<U00F9>bhlachd"
2586 -% Faoi, Gearr, Màrt, Gibl, Mhàrt, Ògmh, Iuch, Lùna, Sult, Dàmh, Samh, Dùbh
2587 +% Faoi, Gearr, Màrt, Gibl, Cèit, Ògmh, Iuch, Lùna, Sult, Dàmh, Samh, Dùbh
2597 diff --git a/localedata/locales/lt_LT b/localedata/locales/lt_LT
2598 index c935fcf75e..bec67726e9 100644
2599 --- a/localedata/locales/lt_LT
2600 +++ b/localedata/locales/lt_LT
2601 @@ -201,12 +201,12 @@ day "Sekmadienis";/
2604 "<U0160>e<U0161>tadienis"
2605 -abmon "Sau";"Vas";/
2611 +abmon "saus.";"vas.";/
2613 + "geg.";"bir<U017E>.";/
2620 diff --git a/manual/charset.texi b/manual/charset.texi
2621 index 1867ace485..f6a980f6cb 100644
2622 --- a/manual/charset.texi
2623 +++ b/manual/charset.texi
2624 @@ -643,8 +643,8 @@ and they also do not require it to be in the initial state.
2626 The @code{mbrtowc} function (``multibyte restartable to wide
2627 character'') converts the next multibyte character in the string pointed
2628 -to by @var{s} into a wide character and stores it in the wide character
2629 -string pointed to by @var{pwc}. The conversion is performed according
2630 +to by @var{s} into a wide character and stores it in the location
2631 +pointed to by @var{pwc}. The conversion is performed according
2632 to the locale currently selected for the @code{LC_CTYPE} category. If
2633 the conversion for the character set used in the locale requires a state,
2634 the multibyte string is interpreted in the state represented by the
2635 @@ -652,7 +652,7 @@ object pointed to by @var{ps}. If @var{ps} is a null pointer, a static,
2636 internal state variable used only by the @code{mbrtowc} function is
2639 -If the next multibyte character corresponds to the NUL wide character,
2640 +If the next multibyte character corresponds to the null wide character,
2641 the return value of the function is @math{0} and the state object is
2642 afterwards in the initial state. If the next @var{n} or fewer bytes
2643 form a correct multibyte character, the return value is the number of
2644 @@ -665,71 +665,59 @@ by @var{pwc} if @var{pwc} is not null.
2645 If the first @var{n} bytes of the multibyte string possibly form a valid
2646 multibyte character but there are more than @var{n} bytes needed to
2647 complete it, the return value of the function is @code{(size_t) -2} and
2648 -no value is stored. Please note that this can happen even if @var{n}
2649 -has a value greater than or equal to @code{MB_CUR_MAX} since the input
2650 -might contain redundant shift sequences.
2651 +no value is stored in @code{*@var{pwc}}. The conversion state is
2652 +updated and all @var{n} input bytes are consumed and should not be
2653 +submitted again. Please note that this can happen even if @var{n} has a
2654 +value greater than or equal to @code{MB_CUR_MAX} since the input might
2655 +contain redundant shift sequences.
2657 If the first @code{n} bytes of the multibyte string cannot possibly form
2658 a valid multibyte character, no value is stored, the global variable
2659 @code{errno} is set to the value @code{EILSEQ}, and the function returns
2660 @code{(size_t) -1}. The conversion state is afterwards undefined.
2662 +As specified, the @code{mbrtowc} function could deal with multibyte
2663 +sequences which contain embedded null bytes (which happens in Unicode
2664 +encodings such as UTF-16), but @theglibc{} does not support such
2665 +multibyte encodings. When encountering a null input byte, the function
2666 +will either return zero, or return @code{(size_t) -1)} and report a
2667 +@code{EILSEQ} error. The @code{iconv} function can be used for
2668 +converting between arbitrary encodings. @xref{Generic Conversion
2672 @code{mbrtowc} was introduced in @w{Amendment 1} to @w{ISO C90} and
2673 is declared in @file{wchar.h}.
2676 -Use of @code{mbrtowc} is straightforward. A function that copies a
2677 -multibyte string into a wide character string while at the same time
2678 -converting all lowercase characters into uppercase could look like this
2679 -(this is not the final version, just an example; it has no error
2680 -checking, and sometimes leaks memory):
2681 +A function that copies a multibyte string into a wide character string
2682 +while at the same time converting all lowercase characters into
2683 +uppercase could look like this:
2687 -mbstouwcs (const char *s)
2689 - size_t len = strlen (s);
2690 - wchar_t *result = malloc ((len + 1) * sizeof (wchar_t));
2691 - wchar_t *wcp = result;
2696 - memset (&state, '\0', sizeof (state));
2697 - while ((nbytes = mbrtowc (tmp, s, len, &state)) > 0)
2699 - if (nbytes >= (size_t) -2)
2700 - /* Invalid input string. */
2702 - *wcp++ = towupper (tmp[0]);
2708 +@include mbstouwcs.c.texi
2711 -The use of @code{mbrtowc} should be clear. A single wide character is
2712 -stored in @code{@var{tmp}[0]}, and the number of consumed bytes is stored
2713 -in the variable @var{nbytes}. If the conversion is successful, the
2714 -uppercase variant of the wide character is stored in the @var{result}
2715 -array and the pointer to the input string and the number of available
2718 -The only non-obvious thing about @code{mbrtowc} might be the way memory
2719 -is allocated for the result. The above code uses the fact that there
2720 -can never be more wide characters in the converted result than there are
2721 -bytes in the multibyte input string. This method yields a pessimistic
2722 -guess about the size of the result, and if many wide character strings
2723 -have to be constructed this way or if the strings are long, the extra
2724 -memory required to be allocated because the input string contains
2725 -multibyte characters might be significant. The allocated memory block can
2726 -be resized to the correct size before returning it, but a better solution
2727 -might be to allocate just the right amount of space for the result right
2728 -away. Unfortunately there is no function to compute the length of the wide
2729 -character string directly from the multibyte string. There is, however, a
2730 -function that does part of the work.
2731 +In the inner loop, a single wide character is stored in @code{wc}, and
2732 +the number of consumed bytes is stored in the variable @code{nbytes}.
2733 +If the conversion is successful, the uppercase variant of the wide
2734 +character is stored in the @code{result} array and the pointer to the
2735 +input string and the number of available bytes is adjusted. If the
2736 +@code{mbrtowc} function returns zero, the null input byte has not been
2737 +converted, so it must be stored explicitly in the result.
2739 +The above code uses the fact that there can never be more wide
2740 +characters in the converted result than there are bytes in the multibyte
2741 +input string. This method yields a pessimistic guess about the size of
2742 +the result, and if many wide character strings have to be constructed
2743 +this way or if the strings are long, the extra memory required to be
2744 +allocated because the input string contains multibyte characters might
2745 +be significant. The allocated memory block can be resized to the
2746 +correct size before returning it, but a better solution might be to
2747 +allocate just the right amount of space for the result right away.
2748 +Unfortunately there is no function to compute the length of the wide
2749 +character string directly from the multibyte string. There is, however,
2750 +a function that does part of the work.
2752 @deftypefun size_t mbrlen (const char *restrict @var{s}, size_t @var{n}, mbstate_t *@var{ps})
2753 @standards{ISO, wchar.h}
2754 diff --git a/manual/creature.texi b/manual/creature.texi
2755 index 96f8ee0a0c..fe7a7790a2 100644
2756 --- a/manual/creature.texi
2757 +++ b/manual/creature.texi
2758 @@ -8,7 +8,7 @@ is controlled by which @dfn{feature test macros} you define.
2759 If you compile your programs using @samp{gcc -ansi}, you get only the
2760 @w{ISO C} library features, unless you explicitly request additional
2761 features by defining one or more of the feature macros.
2762 -@xref{Invoking GCC,, GNU CC Command Options, gcc.info, The GNU CC Manual},
2763 +@xref{Invoking GCC,, GNU CC Command Options, gcc, The GNU CC Manual},
2764 for more information about GCC options.@refill
2766 You should define these macros by using @samp{#define} preprocessor
2767 @@ -61,13 +61,27 @@ If you define this macro to a value greater than or equal to @code{199309L},
2768 then the functionality from the 1993 edition of the POSIX.1b standard
2769 (IEEE Standard 1003.1b-1993) is made available.
2771 +If you define this macro to a value greater than or equal to
2772 +@code{199506L}, then the functionality from the 1995 edition of the
2773 +POSIX.1c standard (IEEE Standard 1003.1c-1995) is made available.
2775 +If you define this macro to a value greater than or equal to
2776 +@code{200112L}, then the functionality from the 2001 edition of the
2777 +POSIX standard (IEEE Standard 1003.1-2001) is made available.
2779 +If you define this macro to a value greater than or equal to
2780 +@code{200809L}, then the functionality from the 2008 edition of the
2781 +POSIX standard (IEEE Standard 1003.1-2008) is made available.
2783 Greater values for @code{_POSIX_C_SOURCE} will enable future extensions.
2784 The POSIX standards process will define these values as necessary, and
2785 @theglibc{} should support them some time after they become standardized.
2786 The 1996 edition of POSIX.1 (ISO/IEC 9945-1: 1996) states that
2787 if you define @code{_POSIX_C_SOURCE} to a value greater than
2788 or equal to @code{199506L}, then the functionality from the 1996
2789 -edition is made available.
2790 +edition is made available. In general, in @theglibc{}, bugfixes to
2791 +the standards are included when specifying the base version; e.g.,
2792 +POSIX.1-2004 will always be included with a value of @code{200112L}.
2795 @defvr Macro _XOPEN_SOURCE
2796 @@ -87,7 +101,10 @@ available which are necessary for the X/Open Unix brand.
2798 If the macro @code{_XOPEN_SOURCE} has the value @math{500} this includes
2799 all functionality described so far plus some new definitions from the
2800 -Single Unix Specification, @w{version 2}.
2801 +Single Unix Specification, @w{version 2}. The value @math{600}
2802 +(corresponding to the sixth revision) includes definitions from SUSv3,
2803 +and using @math{700} (the seventh revision) includes definitions from
2807 @defvr Macro _LARGEFILE_SOURCE
2808 @@ -150,10 +167,14 @@ This macro was introduced as part of the Large File Support extension
2810 @defvr Macro _ISOC99_SOURCE
2811 @standards{GNU, (none)}
2812 -Until the revised @w{ISO C} standard is widely adopted the new features
2813 -are not automatically enabled. @Theglibc{} nevertheless has a complete
2814 -implementation of the new standard and to enable the new features the
2815 -macro @code{_ISOC99_SOURCE} should be defined.
2816 +If this macro is defined, features from ISO C99 are included. Since
2817 +these features are included by default, this macro is mostly relevant
2818 +when the compiler uses an earlier language version.
2821 +@defvr Macro _ISOC11_SOURCE
2822 +@standards{C11, (none)}
2823 +If this macro is defined, ISO C11 extensions to ISO C99 are included.
2826 @defvr Macro __STDC_WANT_LIB_EXT2__
2827 @@ -209,6 +230,19 @@ enables those features even when the other options would otherwise
2828 cause them to be disabled.
2831 +@defvr Macro _ATFILE_SOURCE
2832 +@standards{GNU, (none)}
2833 +If this macro is defined, additional @code{*at} interfaces are
2837 +@defvr Macro _FORTIFY_SOURCE
2838 +@standards{GNU, (none)}
2839 +If this macro is defined to @math{1}, security hardening is added to
2840 +various library functions. If defined to @math{2}, even stricter
2841 +checks are applied.
2844 @defvr Macro _REENTRANT
2845 @defvrx Macro _THREAD_SAFE
2846 @standards{Obsolete, (none)}
2847 diff --git a/manual/examples/mbstouwcs.c b/manual/examples/mbstouwcs.c
2848 new file mode 100644
2849 index 0000000000..c94e1fa790
2851 +++ b/manual/examples/mbstouwcs.c
2853 +#include <stdbool.h>
2854 +#include <stdlib.h>
2855 +#include <string.h>
2858 +/* Do not include the above headers in the example.
2861 +mbstouwcs (const char *s)
2863 + /* Include the null terminator in the conversion. */
2864 + size_t len = strlen (s) + 1;
2865 + wchar_t *result = reallocarray (NULL, len, sizeof (wchar_t));
2866 + if (result == NULL)
2869 + wchar_t *wcp = result;
2871 + memset (&state, '\0', sizeof (state));
2876 + size_t nbytes = mbrtowc (&wc, s, len, &state);
2879 + /* Terminate the result string. */
2883 + else if (nbytes == (size_t) -2)
2885 + /* Truncated input string. */
2890 + else if (nbytes == (size_t) -1)
2892 + /* Some other error (including EILSEQ). */
2898 + /* A character was converted. */
2899 + *wcp++ = towupper (wc);
2906 diff --git a/manual/filesys.texi b/manual/filesys.texi
2907 index ca77996902..cc70a6b7ee 100644
2908 --- a/manual/filesys.texi
2909 +++ b/manual/filesys.texi
2910 @@ -147,19 +147,20 @@ necessarily enough space to contain the directory name. That is why
2911 this function is deprecated.
2915 @deftypefun {char *} get_current_dir_name (void)
2916 @standards{GNU, unistd.h}
2917 @safety{@prelim{}@mtsafe{@mtsenv{}}@asunsafe{@ascuheap{}}@acunsafe{@acsmem{} @acsfd{}}}
2918 @c Besides getcwd, which this function calls as a fallback, it calls
2919 @c getenv, with the potential thread-safety issues that brings about.
2921 -This @code{get_current_dir_name} function is basically equivalent to
2922 -@w{@code{getcwd (NULL, 0)}}. The only difference is that the value of
2923 -the @code{PWD} variable is returned if this value is correct. This is a
2924 -subtle difference which is visible if the path described by the
2925 -@code{PWD} value is using one or more symbol links in which case the
2926 -value returned by @code{getcwd} can resolve the symbol links and
2927 -therefore yield a different result.
2928 +The @code{get_current_dir_name} function is basically equivalent to
2929 +@w{@code{getcwd (NULL, 0)}}, except the value of the @env{PWD}
2930 +environment variable is first examined, and if it does in fact
2931 +correspond to the current directory, that value is returned. This is
2932 +a subtle difference which is visible if the path described by the
2933 +value in @env{PWD} is using one or more symbolic links, in which case
2934 +the value returned by @code{getcwd} would resolve the symbolic links
2935 +and therefore yield a different result.
2937 This function is a GNU extension.
2939 diff --git a/manual/llio.texi b/manual/llio.texi
2940 index 642e56e710..82f03be2be 100644
2941 --- a/manual/llio.texi
2942 +++ b/manual/llio.texi
2943 @@ -1251,9 +1251,13 @@ When the source file is compiled using @code{_FILE_OFFSET_BITS == 64} on a
2944 @c This is a syscall for Linux v4.6. The sysdeps/posix fallback emulation
2945 @c is also MT-Safe since it calls preadv.
2947 -This function is similar to the @code{preadv} function, with the difference
2948 -it adds an extra @var{flags} parameter of type @code{int}. The supported
2949 -@var{flags} are dependent of the underlying system. For Linux it supports:
2950 +This function is similar to the @code{preadv} function, with the
2951 +difference it adds an extra @var{flags} parameter of type @code{int}.
2952 +Additionally, if @var{offset} is @math{-1}, the current file position
2953 +is used and updated (like the @code{readv} function).
2955 +The supported @var{flags} are dependent of the underlying system. For
2960 @@ -1271,6 +1275,9 @@ Per-IO synchronization as if the file was opened with @code{O_SYNC} flag.
2962 Use nonblocking mode for this operation; that is, this call to @code{preadv2}
2963 will fail and set @code{errno} to @code{EAGAIN} if the operation would block.
2966 +Per-IO synchronization as if the file was opened with @code{O_APPEND} flag.
2969 When the source file is compiled with @code{_FILE_OFFSET_BITS == 64} the
2970 @@ -1320,10 +1327,13 @@ When the source file is compiled using @code{_FILE_OFFSET_BITS == 64} on a
2971 @c This is a syscall for Linux v4.6. The sysdeps/posix fallback emulation
2972 @c is also MT-Safe since it calls pwritev.
2974 -This function is similar to the @code{pwritev} function, with the difference
2975 -it adds an extra @var{flags} parameter of type @code{int}. The supported
2976 -@var{flags} are dependent of the underlying system and for Linux it supports
2977 -the same ones as for @code{preadv2}.
2978 +This function is similar to the @code{pwritev} function, with the
2979 +difference it adds an extra @var{flags} parameter of type @code{int}.
2980 +Additionally, if @var{offset} is @math{-1}, the current file position
2981 +should is used and updated (like the @code{writev} function).
2983 +The supported @var{flags} are dependent of the underlying system. For
2984 +Linux, the supported flags are the same as those for @code{preadv2}.
2986 When the source file is compiled with @code{_FILE_OFFSET_BITS == 64} the
2987 @code{pwritev2} function is in fact @code{pwritev64v2} and the type
2988 diff --git a/manual/platform.texi b/manual/platform.texi
2989 index b8721a0712..504addc956 100644
2990 --- a/manual/platform.texi
2991 +++ b/manual/platform.texi
2992 @@ -123,7 +123,7 @@ when it is not allowed, the priority is set to medium.
2993 Cache management facilities specific to RISC-V systems that implement the Linux
2994 ABI are declared in @file{sys/cachectl.h}.
2996 -@deftypefun {void} __riscv_flush_icache(void *@var{start}, void *@var{end}, unsigned long int @var{flags})
2997 +@deftypefun {void} __riscv_flush_icache (void *@var{start}, void *@var{end}, unsigned long int @var{flags})
2998 @safety{@prelim{}@mtsafe{}@assafe{}@acsafe{}}
2999 Enforce ordering between stores and instruction cache fetches. The range of
3000 addresses over which ordering is enforced is specified by @var{start} and
3001 diff --git a/manual/stdio.texi b/manual/stdio.texi
3002 index 5d7b50c442..38be236991 100644
3003 --- a/manual/stdio.texi
3004 +++ b/manual/stdio.texi
3005 @@ -1808,7 +1808,7 @@ verifies that the correct number and types of arguments are supplied.
3006 There is also a GNU C syntax to tell the compiler that a function you
3007 write uses a @code{printf}-style format string.
3008 @xref{Function Attributes, , Declaring Attributes of Functions,
3009 -gcc.info, Using GNU CC}, for more information.
3010 +gcc, Using GNU CC}, for more information.
3012 @node Table of Output Conversions
3013 @subsection Table of Output Conversions
3014 @@ -2730,7 +2730,7 @@ This tells the compiler that @code{eprintf} uses a format string like
3015 the format string appears as the first argument;
3016 and the arguments to satisfy the format begin with the second.
3017 @xref{Function Attributes, , Declaring Attributes of Functions,
3018 -gcc.info, Using GNU CC}, for more information.
3019 +gcc, Using GNU CC}, for more information.
3021 @node Parsing a Template String
3022 @subsection Parsing a Template String
3023 @@ -3478,7 +3478,7 @@ verifies that the correct number and types of arguments are supplied.
3024 There is also a GNU C syntax to tell the compiler that a function you
3025 write uses a @code{scanf}-style format string.
3026 @xref{Function Attributes, , Declaring Attributes of Functions,
3027 -gcc.info, Using GNU CC}, for more information.
3028 +gcc, Using GNU CC}, for more information.
3030 @node Table of Input Conversions
3031 @subsection Table of Input Conversions
3032 @@ -4033,7 +4033,7 @@ know that a function uses a @code{scanf}-style format string. Then it
3033 can check the number and types of arguments in each call to the
3034 function, and warn you when they do not match the format string.
3035 For details, see @ref{Function Attributes, , Declaring Attributes of Functions,
3036 -gcc.info, Using GNU CC}.
3037 +gcc, Using GNU CC}.
3039 @node EOF and Errors
3040 @section End-Of-File and Errors
3041 diff --git a/manual/string.texi b/manual/string.texi
3042 index ac02c6d85e..b07cfb4550 100644
3043 --- a/manual/string.texi
3044 +++ b/manual/string.texi
3045 @@ -1087,7 +1087,7 @@ are often easier and safer automatic techniques that cause buffer
3046 overruns to reliably terminate a program, such as GCC's
3047 @option{-fcheck-pointer-bounds} and @option{-fsanitize=address}
3048 options. @xref{Debugging Options,, Options for Debugging Your Program
3049 -or GCC, gcc.info, Using GCC}. Because truncation functions can mask
3050 +or GCC, gcc, Using GCC}. Because truncation functions can mask
3051 application bugs that would otherwise be caught by the automatic
3052 techniques, these functions should be used only when the application's
3053 underlying logic requires truncation.
3054 diff --git a/math/math.h b/math/math.h
3055 index 3c515f817f..0fcbd91366 100644
3058 @@ -1223,7 +1223,7 @@ template<> struct __iseqsig_type<double>
3060 template<> struct __iseqsig_type<long double>
3062 - static int __call (double __x, double __y) throw ()
3063 + static int __call (long double __x, long double __y) throw ()
3065 # ifndef __NO_LONG_DOUBLE_MATH
3066 return __iseqsigl (__x, __y);
3067 diff --git a/misc/tst-preadvwritev-common.c b/misc/tst-preadvwritev-common.c
3068 index 560c8f89b6..b59a3de465 100644
3069 --- a/misc/tst-preadvwritev-common.c
3070 +++ b/misc/tst-preadvwritev-common.c
3072 License along with the GNU C Library; if not, see
3073 <http://www.gnu.org/licenses/>. */
3075 +#include <array_length.h>
3081 #include <support/check.h>
3082 #include <support/temp_file.h>
3083 +#include <support/xunistd.h>
3085 static char *temp_filename;
3087 @@ -50,6 +52,42 @@ do_prepare (int argc, char **argv)
3088 pwritev (__fd, __iov, __iovcnt, __offset)
3091 +static __attribute__ ((unused)) void
3092 +do_test_without_offset (void)
3094 + xftruncate (temp_fd, 0);
3096 + xwrite (temp_fd, "123", 3);
3097 + xlseek (temp_fd, 2, SEEK_SET);
3099 + struct iovec iov[] =
3101 + { (void *) "abc", 3 },
3102 + { (void *) "xyzt", 4 },
3104 + TEST_COMPARE (PWRITEV (temp_fd, iov, array_length (iov), -1), 7);
3106 + TEST_COMPARE (xlseek (temp_fd, 0, SEEK_CUR), 9);
3108 + xlseek (temp_fd, 1, SEEK_SET);
3112 + struct iovec iov[] =
3114 + { buf1, sizeof (buf1) },
3115 + { buf2, sizeof (buf2) },
3117 + TEST_COMPARE (PREADV (temp_fd, iov, array_length (iov), -1),
3118 + sizeof (buf1) + sizeof (buf2));
3119 + TEST_COMPARE (memcmp ("2ab", buf1, sizeof (buf1)), 0);
3120 + TEST_COMPARE (memcmp ("cx", buf2, sizeof (buf2)), 0);
3121 + TEST_COMPARE (xlseek (temp_fd, 0, SEEK_CUR), 6);
3124 + xftruncate (temp_fd, 0);
3128 do_test_with_offset (off_t offset)
3130 diff --git a/misc/tst-preadvwritev2-common.c b/misc/tst-preadvwritev2-common.c
3131 index 89fd0a3ff5..50b9da3fea 100644
3132 --- a/misc/tst-preadvwritev2-common.c
3133 +++ b/misc/tst-preadvwritev2-common.c
3136 #include <support/check.h>
3139 -do_test_with_invalid_flags (void)
3142 # define RWF_HIPRI 0
3144 @@ -34,7 +31,73 @@ do_test_with_invalid_flags (void)
3146 # define RWF_NOWAIT 0
3148 -#define RWF_SUPPORTED (RWF_HIPRI | RWF_DSYNC | RWF_SYNC | RWF_NOWAIT)
3150 +# define RWF_APPEND 0
3152 +#define RWF_SUPPORTED (RWF_HIPRI | RWF_DSYNC | RWF_SYNC | RWF_NOWAIT \
3156 +do_test_with_invalid_fd (void)
3159 + struct iovec iov = { buf, sizeof buf };
3161 + /* Check with flag being 0 to use the fallback code which calls pwritev
3163 + TEST_VERIFY (preadv2 (-1, &iov, 1, -1, 0) == -1);
3164 + TEST_COMPARE (errno, EBADF);
3165 + TEST_VERIFY (pwritev2 (-1, &iov, 1, -1, 0) == -1);
3166 + TEST_COMPARE (errno, EBADF);
3168 + /* Same tests as before but with flags being different than 0. Since
3169 + there is no emulation for any flag value, fallback code returns
3170 + ENOTSUP. This is different running on a kernel with preadv2/pwritev2
3171 + support, where EBADF is returned). */
3172 + TEST_VERIFY (preadv2 (-1, &iov, 1, 0, RWF_HIPRI) == -1);
3173 + TEST_VERIFY (errno == EBADF || errno == ENOTSUP);
3174 + TEST_VERIFY (pwritev2 (-1, &iov, 1, 0, RWF_HIPRI) == -1);
3175 + TEST_VERIFY (errno == EBADF || errno == ENOTSUP);
3179 +do_test_with_invalid_iov (void)
3185 + iov.iov_base = buf;
3186 + iov.iov_len = (size_t)SSIZE_MAX + 1;
3188 + TEST_VERIFY (preadv2 (temp_fd, &iov, 1, 0, 0) == -1);
3189 + TEST_COMPARE (errno, EINVAL);
3190 + TEST_VERIFY (pwritev2 (temp_fd, &iov, 1, 0, 0) == -1);
3191 + TEST_COMPARE (errno, EINVAL);
3193 + /* Same as for invalid file descriptor tests, emulation fallback
3194 + first checks for flag value and return ENOTSUP. */
3195 + TEST_VERIFY (preadv2 (temp_fd, &iov, 1, 0, RWF_HIPRI) == -1);
3196 + TEST_VERIFY (errno == EINVAL || errno == ENOTSUP);
3197 + TEST_VERIFY (pwritev2 (temp_fd, &iov, 1, 0, RWF_HIPRI) == -1);
3198 + TEST_VERIFY (errno == EINVAL || errno == ENOTSUP);
3202 + /* An invalid iovec buffer should trigger an invalid memory access
3203 + or an error (Linux for instance returns EFAULT). */
3204 + struct iovec iov[IOV_MAX+1] = { 0 };
3206 + TEST_VERIFY (preadv2 (temp_fd, iov, IOV_MAX + 1, 0, RWF_HIPRI) == -1);
3207 + TEST_VERIFY (errno == EINVAL || errno == ENOTSUP);
3208 + TEST_VERIFY (pwritev2 (temp_fd, iov, IOV_MAX + 1, 0, RWF_HIPRI) == -1);
3209 + TEST_VERIFY (errno == EINVAL || errno == ENOTSUP);
3214 +do_test_with_invalid_flags (void)
3216 /* Set the next bit from the mask of all supported flags. */
3217 int invalid_flag = RWF_SUPPORTED != 0 ? __builtin_clz (RWF_SUPPORTED) : 2;
3218 invalid_flag = 0x1 << ((sizeof (int) * CHAR_BIT) - invalid_flag);
3219 diff --git a/misc/tst-preadvwritev2.c b/misc/tst-preadvwritev2.c
3220 index d8a9daf66a..cb58cbe41e 100644
3221 --- a/misc/tst-preadvwritev2.c
3222 +++ b/misc/tst-preadvwritev2.c
3223 @@ -29,6 +29,9 @@ static int
3226 do_test_with_invalid_flags ();
3227 + do_test_without_offset ();
3228 + do_test_with_invalid_fd ();
3229 + do_test_with_invalid_iov ();
3231 return do_test_with_offset (0);
3233 diff --git a/misc/tst-preadvwritev64v2.c b/misc/tst-preadvwritev64v2.c
3234 index 2c656ae3d7..6a9de54c78 100644
3235 --- a/misc/tst-preadvwritev64v2.c
3236 +++ b/misc/tst-preadvwritev64v2.c
3237 @@ -31,6 +31,9 @@ static int
3240 do_test_with_invalid_flags ();
3241 + do_test_without_offset ();
3242 + do_test_with_invalid_fd ();
3243 + do_test_with_invalid_iov ();
3245 return do_test_with_offset (0);
3247 diff --git a/nptl/Makefile b/nptl/Makefile
3248 index 6fc2c8bb6a..a3447addea 100644
3251 @@ -235,9 +235,9 @@ LDLIBS-tst-minstack-throw = -lstdc++
3253 tests = tst-attr1 tst-attr2 tst-attr3 tst-default-attr \
3254 tst-mutex1 tst-mutex2 tst-mutex3 tst-mutex4 tst-mutex5 tst-mutex6 \
3255 - tst-mutex7 tst-mutex9 tst-mutex5a tst-mutex7a tst-mutex7robust \
3256 - tst-mutexpi1 tst-mutexpi2 tst-mutexpi3 tst-mutexpi4 tst-mutexpi5 \
3257 - tst-mutexpi5a tst-mutexpi6 tst-mutexpi7 tst-mutexpi7a \
3258 + tst-mutex7 tst-mutex9 tst-mutex10 tst-mutex5a tst-mutex7a \
3259 + tst-mutex7robust tst-mutexpi1 tst-mutexpi2 tst-mutexpi3 tst-mutexpi4 \
3260 + tst-mutexpi5 tst-mutexpi5a tst-mutexpi6 tst-mutexpi7 tst-mutexpi7a \
3262 tst-spin1 tst-spin2 tst-spin3 tst-spin4 \
3263 tst-cond1 tst-cond2 tst-cond3 tst-cond4 tst-cond5 tst-cond6 tst-cond7 \
3264 @@ -730,6 +730,8 @@ $(objpfx)tst-compat-forwarder: $(objpfx)tst-compat-forwarder-mod.so
3265 # destroying a mutex.
3266 tst-mutex8-ENV = GLIBC_TUNABLES=glibc.elision.enable=0
3268 +tst-mutex10-ENV = GLIBC_TUNABLES=glibc.elision.enable=1
3270 # The tests here better do not run in parallel
3271 ifneq ($(filter %tests,$(MAKECMDGOALS)),)
3273 diff --git a/nptl/pthreadP.h b/nptl/pthreadP.h
3274 index 583515ff48..ff51f452c6 100644
3275 --- a/nptl/pthreadP.h
3276 +++ b/nptl/pthreadP.h
3277 @@ -110,19 +110,23 @@ enum
3279 #define PTHREAD_MUTEX_PSHARED_BIT 128
3281 +/* See concurrency notes regarding __kind in struct __pthread_mutex_s
3282 + in sysdeps/nptl/bits/thread-shared-types.h. */
3283 #define PTHREAD_MUTEX_TYPE(m) \
3284 - ((m)->__data.__kind & 127)
3285 + (atomic_load_relaxed (&((m)->__data.__kind)) & 127)
3286 /* Don't include NO_ELISION, as that type is always the same
3287 as the underlying lock type. */
3288 #define PTHREAD_MUTEX_TYPE_ELISION(m) \
3289 - ((m)->__data.__kind & (127|PTHREAD_MUTEX_ELISION_NP))
3290 + (atomic_load_relaxed (&((m)->__data.__kind)) \
3291 + & (127 | PTHREAD_MUTEX_ELISION_NP))
3293 #if LLL_PRIVATE == 0 && LLL_SHARED == 128
3294 # define PTHREAD_MUTEX_PSHARED(m) \
3295 - ((m)->__data.__kind & 128)
3296 + (atomic_load_relaxed (&((m)->__data.__kind)) & 128)
3298 # define PTHREAD_MUTEX_PSHARED(m) \
3299 - (((m)->__data.__kind & 128) ? LLL_SHARED : LLL_PRIVATE)
3300 + ((atomic_load_relaxed (&((m)->__data.__kind)) & 128) \
3301 + ? LLL_SHARED : LLL_PRIVATE)
3304 /* The kernel when waking robust mutexes on exit never uses
3305 diff --git a/nptl/pthread_cond_common.c b/nptl/pthread_cond_common.c
3306 index 8e425eb01e..479e54febb 100644
3307 --- a/nptl/pthread_cond_common.c
3308 +++ b/nptl/pthread_cond_common.c
3309 @@ -405,8 +405,12 @@ __condvar_quiesce_and_switch_g1 (pthread_cond_t *cond, uint64_t wseq,
3311 /* There is still a waiter after spinning. Set the wake-request
3312 flag and block. Relaxed MO is fine because this is just about
3313 - this futex word. */
3314 - r = atomic_fetch_or_relaxed (cond->__data.__g_refs + g1, 1);
3317 + Update r to include the set wake-request flag so that the upcoming
3318 + futex_wait only blocks if the flag is still set (otherwise, we'd
3319 + violate the basic client-side futex protocol). */
3320 + r = atomic_fetch_or_relaxed (cond->__data.__g_refs + g1, 1) | 1;
3323 futex_wait_simple (cond->__data.__g_refs + g1, r, private);
3324 diff --git a/nptl/pthread_mutex_consistent.c b/nptl/pthread_mutex_consistent.c
3325 index 85b8e1a6cb..4fbd875430 100644
3326 --- a/nptl/pthread_mutex_consistent.c
3327 +++ b/nptl/pthread_mutex_consistent.c
3330 pthread_mutex_consistent (pthread_mutex_t *mutex)
3332 - /* Test whether this is a robust mutex with a dead owner. */
3333 - if ((mutex->__data.__kind & PTHREAD_MUTEX_ROBUST_NORMAL_NP) == 0
3334 + /* Test whether this is a robust mutex with a dead owner.
3335 + See concurrency notes regarding __kind in struct __pthread_mutex_s
3336 + in sysdeps/nptl/bits/thread-shared-types.h. */
3337 + if ((atomic_load_relaxed (&(mutex->__data.__kind))
3338 + & PTHREAD_MUTEX_ROBUST_NORMAL_NP) == 0
3339 || mutex->__data.__owner != PTHREAD_MUTEX_INCONSISTENT)
3342 diff --git a/nptl/pthread_mutex_destroy.c b/nptl/pthread_mutex_destroy.c
3343 index 5a22611541..713ea68496 100644
3344 --- a/nptl/pthread_mutex_destroy.c
3345 +++ b/nptl/pthread_mutex_destroy.c
3346 @@ -27,12 +27,17 @@ __pthread_mutex_destroy (pthread_mutex_t *mutex)
3348 LIBC_PROBE (mutex_destroy, 1, mutex);
3350 - if ((mutex->__data.__kind & PTHREAD_MUTEX_ROBUST_NORMAL_NP) == 0
3351 + /* See concurrency notes regarding __kind in struct __pthread_mutex_s
3352 + in sysdeps/nptl/bits/thread-shared-types.h. */
3353 + if ((atomic_load_relaxed (&(mutex->__data.__kind))
3354 + & PTHREAD_MUTEX_ROBUST_NORMAL_NP) == 0
3355 && mutex->__data.__nusers != 0)
3358 - /* Set to an invalid value. */
3359 - mutex->__data.__kind = -1;
3360 + /* Set to an invalid value. Relaxed MO is enough as it is undefined behavior
3361 + if the mutex is used after it has been destroyed. But you can reinitialize
3362 + it with pthread_mutex_init. */
3363 + atomic_store_relaxed (&(mutex->__data.__kind), -1);
3367 diff --git a/nptl/pthread_mutex_getprioceiling.c b/nptl/pthread_mutex_getprioceiling.c
3368 index efa37b0d99..ee85949578 100644
3369 --- a/nptl/pthread_mutex_getprioceiling.c
3370 +++ b/nptl/pthread_mutex_getprioceiling.c
3373 pthread_mutex_getprioceiling (const pthread_mutex_t *mutex, int *prioceiling)
3375 - if (__builtin_expect ((mutex->__data.__kind
3376 + /* See concurrency notes regarding __kind in struct __pthread_mutex_s
3377 + in sysdeps/nptl/bits/thread-shared-types.h. */
3378 + if (__builtin_expect ((atomic_load_relaxed (&(mutex->__data.__kind))
3379 & PTHREAD_MUTEX_PRIO_PROTECT_NP) == 0, 0))
3382 diff --git a/nptl/pthread_mutex_init.c b/nptl/pthread_mutex_init.c
3383 index d8fe473728..5cf290c272 100644
3384 --- a/nptl/pthread_mutex_init.c
3385 +++ b/nptl/pthread_mutex_init.c
3386 @@ -101,7 +101,7 @@ __pthread_mutex_init (pthread_mutex_t *mutex,
3387 memset (mutex, '\0', __SIZEOF_PTHREAD_MUTEX_T);
3389 /* Copy the values from the attribute. */
3390 - mutex->__data.__kind = imutexattr->mutexkind & ~PTHREAD_MUTEXATTR_FLAG_BITS;
3391 + int mutex_kind = imutexattr->mutexkind & ~PTHREAD_MUTEXATTR_FLAG_BITS;
3393 if ((imutexattr->mutexkind & PTHREAD_MUTEXATTR_FLAG_ROBUST) != 0)
3395 @@ -111,17 +111,17 @@ __pthread_mutex_init (pthread_mutex_t *mutex,
3399 - mutex->__data.__kind |= PTHREAD_MUTEX_ROBUST_NORMAL_NP;
3400 + mutex_kind |= PTHREAD_MUTEX_ROBUST_NORMAL_NP;
3403 switch (imutexattr->mutexkind & PTHREAD_MUTEXATTR_PROTOCOL_MASK)
3405 case PTHREAD_PRIO_INHERIT << PTHREAD_MUTEXATTR_PROTOCOL_SHIFT:
3406 - mutex->__data.__kind |= PTHREAD_MUTEX_PRIO_INHERIT_NP;
3407 + mutex_kind |= PTHREAD_MUTEX_PRIO_INHERIT_NP;
3410 case PTHREAD_PRIO_PROTECT << PTHREAD_MUTEXATTR_PROTOCOL_SHIFT:
3411 - mutex->__data.__kind |= PTHREAD_MUTEX_PRIO_PROTECT_NP;
3412 + mutex_kind |= PTHREAD_MUTEX_PRIO_PROTECT_NP;
3414 int ceiling = (imutexattr->mutexkind
3415 & PTHREAD_MUTEXATTR_PRIO_CEILING_MASK)
3416 @@ -145,7 +145,11 @@ __pthread_mutex_init (pthread_mutex_t *mutex,
3417 FUTEX_PRIVATE_FLAG FUTEX_WAKE. */
3418 if ((imutexattr->mutexkind & (PTHREAD_MUTEXATTR_FLAG_PSHARED
3419 | PTHREAD_MUTEXATTR_FLAG_ROBUST)) != 0)
3420 - mutex->__data.__kind |= PTHREAD_MUTEX_PSHARED_BIT;
3421 + mutex_kind |= PTHREAD_MUTEX_PSHARED_BIT;
3423 + /* See concurrency notes regarding __kind in struct __pthread_mutex_s
3424 + in sysdeps/nptl/bits/thread-shared-types.h. */
3425 + atomic_store_relaxed (&(mutex->__data.__kind), mutex_kind);
3427 /* Default values: mutex not used yet. */
3428 // mutex->__count = 0; already done by memset
3429 diff --git a/nptl/pthread_mutex_lock.c b/nptl/pthread_mutex_lock.c
3430 index 1519c142bd..29cc143e6c 100644
3431 --- a/nptl/pthread_mutex_lock.c
3432 +++ b/nptl/pthread_mutex_lock.c
3433 @@ -62,6 +62,8 @@ static int __pthread_mutex_lock_full (pthread_mutex_t *mutex)
3435 __pthread_mutex_lock (pthread_mutex_t *mutex)
3437 + /* See concurrency notes regarding mutex type which is loaded from __kind
3438 + in struct __pthread_mutex_s in sysdeps/nptl/bits/thread-shared-types.h. */
3439 unsigned int type = PTHREAD_MUTEX_TYPE_ELISION (mutex);
3441 LIBC_PROBE (mutex_entry, 1, mutex);
3442 @@ -350,8 +352,14 @@ __pthread_mutex_lock_full (pthread_mutex_t *mutex)
3443 case PTHREAD_MUTEX_PI_ROBUST_NORMAL_NP:
3444 case PTHREAD_MUTEX_PI_ROBUST_ADAPTIVE_NP:
3446 - int kind = mutex->__data.__kind & PTHREAD_MUTEX_KIND_MASK_NP;
3447 - int robust = mutex->__data.__kind & PTHREAD_MUTEX_ROBUST_NORMAL_NP;
3450 + /* See concurrency notes regarding __kind in struct __pthread_mutex_s
3451 + in sysdeps/nptl/bits/thread-shared-types.h. */
3452 + int mutex_kind = atomic_load_relaxed (&(mutex->__data.__kind));
3453 + kind = mutex_kind & PTHREAD_MUTEX_KIND_MASK_NP;
3454 + robust = mutex_kind & PTHREAD_MUTEX_ROBUST_NORMAL_NP;
3459 @@ -502,7 +510,10 @@ __pthread_mutex_lock_full (pthread_mutex_t *mutex)
3460 case PTHREAD_MUTEX_PP_NORMAL_NP:
3461 case PTHREAD_MUTEX_PP_ADAPTIVE_NP:
3463 - int kind = mutex->__data.__kind & PTHREAD_MUTEX_KIND_MASK_NP;
3464 + /* See concurrency notes regarding __kind in struct __pthread_mutex_s
3465 + in sysdeps/nptl/bits/thread-shared-types.h. */
3466 + int kind = atomic_load_relaxed (&(mutex->__data.__kind))
3467 + & PTHREAD_MUTEX_KIND_MASK_NP;
3469 oldval = mutex->__data.__lock;
3471 @@ -607,15 +618,18 @@ hidden_def (__pthread_mutex_lock)
3473 __pthread_mutex_cond_lock_adjust (pthread_mutex_t *mutex)
3475 - assert ((mutex->__data.__kind & PTHREAD_MUTEX_PRIO_INHERIT_NP) != 0);
3476 - assert ((mutex->__data.__kind & PTHREAD_MUTEX_ROBUST_NORMAL_NP) == 0);
3477 - assert ((mutex->__data.__kind & PTHREAD_MUTEX_PSHARED_BIT) == 0);
3478 + /* See concurrency notes regarding __kind in struct __pthread_mutex_s
3479 + in sysdeps/nptl/bits/thread-shared-types.h. */
3480 + int mutex_kind = atomic_load_relaxed (&(mutex->__data.__kind));
3481 + assert ((mutex_kind & PTHREAD_MUTEX_PRIO_INHERIT_NP) != 0);
3482 + assert ((mutex_kind & PTHREAD_MUTEX_ROBUST_NORMAL_NP) == 0);
3483 + assert ((mutex_kind & PTHREAD_MUTEX_PSHARED_BIT) == 0);
3485 /* Record the ownership. */
3486 pid_t id = THREAD_GETMEM (THREAD_SELF, tid);
3487 mutex->__data.__owner = id;
3489 - if (mutex->__data.__kind == PTHREAD_MUTEX_PI_RECURSIVE_NP)
3490 + if (mutex_kind == PTHREAD_MUTEX_PI_RECURSIVE_NP)
3491 ++mutex->__data.__count;
3494 diff --git a/nptl/pthread_mutex_setprioceiling.c b/nptl/pthread_mutex_setprioceiling.c
3495 index 8594874f85..8306cabcf4 100644
3496 --- a/nptl/pthread_mutex_setprioceiling.c
3497 +++ b/nptl/pthread_mutex_setprioceiling.c
3498 @@ -27,9 +27,10 @@ int
3499 pthread_mutex_setprioceiling (pthread_mutex_t *mutex, int prioceiling,
3502 - /* The low bits of __kind aren't ever changed after pthread_mutex_init,
3503 - so we don't need a lock yet. */
3504 - if ((mutex->__data.__kind & PTHREAD_MUTEX_PRIO_PROTECT_NP) == 0)
3505 + /* See concurrency notes regarding __kind in struct __pthread_mutex_s
3506 + in sysdeps/nptl/bits/thread-shared-types.h. */
3507 + if ((atomic_load_relaxed (&(mutex->__data.__kind))
3508 + & PTHREAD_MUTEX_PRIO_PROTECT_NP) == 0)
3511 /* See __init_sched_fifo_prio. */
3512 diff --git a/nptl/pthread_mutex_timedlock.c b/nptl/pthread_mutex_timedlock.c
3513 index 66efd3989f..40b559f517 100644
3514 --- a/nptl/pthread_mutex_timedlock.c
3515 +++ b/nptl/pthread_mutex_timedlock.c
3516 @@ -53,6 +53,8 @@ __pthread_mutex_timedlock (pthread_mutex_t *mutex,
3517 /* We must not check ABSTIME here. If the thread does not block
3518 abstime must not be checked for a valid value. */
3520 + /* See concurrency notes regarding mutex type which is loaded from __kind
3521 + in struct __pthread_mutex_s in sysdeps/nptl/bits/thread-shared-types.h. */
3522 switch (__builtin_expect (PTHREAD_MUTEX_TYPE_ELISION (mutex),
3523 PTHREAD_MUTEX_TIMED_NP))
3525 @@ -338,8 +340,14 @@ __pthread_mutex_timedlock (pthread_mutex_t *mutex,
3526 case PTHREAD_MUTEX_PI_ROBUST_NORMAL_NP:
3527 case PTHREAD_MUTEX_PI_ROBUST_ADAPTIVE_NP:
3529 - int kind = mutex->__data.__kind & PTHREAD_MUTEX_KIND_MASK_NP;
3530 - int robust = mutex->__data.__kind & PTHREAD_MUTEX_ROBUST_NORMAL_NP;
3533 + /* See concurrency notes regarding __kind in struct __pthread_mutex_s
3534 + in sysdeps/nptl/bits/thread-shared-types.h. */
3535 + int mutex_kind = atomic_load_relaxed (&(mutex->__data.__kind));
3536 + kind = mutex_kind & PTHREAD_MUTEX_KIND_MASK_NP;
3537 + robust = mutex_kind & PTHREAD_MUTEX_ROBUST_NORMAL_NP;
3542 @@ -509,7 +517,10 @@ __pthread_mutex_timedlock (pthread_mutex_t *mutex,
3543 case PTHREAD_MUTEX_PP_NORMAL_NP:
3544 case PTHREAD_MUTEX_PP_ADAPTIVE_NP:
3546 - int kind = mutex->__data.__kind & PTHREAD_MUTEX_KIND_MASK_NP;
3547 + /* See concurrency notes regarding __kind in struct __pthread_mutex_s
3548 + in sysdeps/nptl/bits/thread-shared-types.h. */
3549 + int kind = atomic_load_relaxed (&(mutex->__data.__kind))
3550 + & PTHREAD_MUTEX_KIND_MASK_NP;
3552 oldval = mutex->__data.__lock;
3554 diff --git a/nptl/pthread_mutex_trylock.c b/nptl/pthread_mutex_trylock.c
3555 index 7de61f4f68..fa90c1d1e6 100644
3556 --- a/nptl/pthread_mutex_trylock.c
3557 +++ b/nptl/pthread_mutex_trylock.c
3558 @@ -36,6 +36,8 @@ __pthread_mutex_trylock (pthread_mutex_t *mutex)
3560 pid_t id = THREAD_GETMEM (THREAD_SELF, tid);
3562 + /* See concurrency notes regarding mutex type which is loaded from __kind
3563 + in struct __pthread_mutex_s in sysdeps/nptl/bits/thread-shared-types.h. */
3564 switch (__builtin_expect (PTHREAD_MUTEX_TYPE_ELISION (mutex),
3565 PTHREAD_MUTEX_TIMED_NP))
3567 @@ -199,8 +201,14 @@ __pthread_mutex_trylock (pthread_mutex_t *mutex)
3568 case PTHREAD_MUTEX_PI_ROBUST_NORMAL_NP:
3569 case PTHREAD_MUTEX_PI_ROBUST_ADAPTIVE_NP:
3571 - int kind = mutex->__data.__kind & PTHREAD_MUTEX_KIND_MASK_NP;
3572 - int robust = mutex->__data.__kind & PTHREAD_MUTEX_ROBUST_NORMAL_NP;
3575 + /* See concurrency notes regarding __kind in struct __pthread_mutex_s
3576 + in sysdeps/nptl/bits/thread-shared-types.h. */
3577 + int mutex_kind = atomic_load_relaxed (&(mutex->__data.__kind));
3578 + kind = mutex_kind & PTHREAD_MUTEX_KIND_MASK_NP;
3579 + robust = mutex_kind & PTHREAD_MUTEX_ROBUST_NORMAL_NP;
3583 /* Note: robust PI futexes are signaled by setting bit 0. */
3584 @@ -325,7 +333,10 @@ __pthread_mutex_trylock (pthread_mutex_t *mutex)
3585 case PTHREAD_MUTEX_PP_NORMAL_NP:
3586 case PTHREAD_MUTEX_PP_ADAPTIVE_NP:
3588 - int kind = mutex->__data.__kind & PTHREAD_MUTEX_KIND_MASK_NP;
3589 + /* See concurrency notes regarding __kind in struct __pthread_mutex_s
3590 + in sysdeps/nptl/bits/thread-shared-types.h. */
3591 + int kind = atomic_load_relaxed (&(mutex->__data.__kind))
3592 + & PTHREAD_MUTEX_KIND_MASK_NP;
3594 oldval = mutex->__data.__lock;
3596 diff --git a/nptl/pthread_mutex_unlock.c b/nptl/pthread_mutex_unlock.c
3597 index 9ea62943b7..68d04d5395 100644
3598 --- a/nptl/pthread_mutex_unlock.c
3599 +++ b/nptl/pthread_mutex_unlock.c
3600 @@ -35,6 +35,8 @@ int
3602 __pthread_mutex_unlock_usercnt (pthread_mutex_t *mutex, int decr)
3604 + /* See concurrency notes regarding mutex type which is loaded from __kind
3605 + in struct __pthread_mutex_s in sysdeps/nptl/bits/thread-shared-types.h. */
3606 int type = PTHREAD_MUTEX_TYPE_ELISION (mutex);
3607 if (__builtin_expect (type &
3608 ~(PTHREAD_MUTEX_KIND_MASK_NP|PTHREAD_MUTEX_ELISION_FLAGS_NP), 0))
3609 @@ -222,13 +224,19 @@ __pthread_mutex_unlock_full (pthread_mutex_t *mutex, int decr)
3610 /* If the previous owner died and the caller did not succeed in
3611 making the state consistent, mark the mutex as unrecoverable
3612 and make all waiters. */
3613 - if ((mutex->__data.__kind & PTHREAD_MUTEX_ROBUST_NORMAL_NP) != 0
3614 + /* See concurrency notes regarding __kind in struct __pthread_mutex_s
3615 + in sysdeps/nptl/bits/thread-shared-types.h. */
3616 + if ((atomic_load_relaxed (&(mutex->__data.__kind))
3617 + & PTHREAD_MUTEX_ROBUST_NORMAL_NP) != 0
3618 && __builtin_expect (mutex->__data.__owner
3619 == PTHREAD_MUTEX_INCONSISTENT, 0))
3621 newowner = PTHREAD_MUTEX_NOTRECOVERABLE;
3623 - if ((mutex->__data.__kind & PTHREAD_MUTEX_ROBUST_NORMAL_NP) != 0)
3624 + /* See concurrency notes regarding __kind in struct __pthread_mutex_s
3625 + in sysdeps/nptl/bits/thread-shared-types.h. */
3626 + if ((atomic_load_relaxed (&(mutex->__data.__kind))
3627 + & PTHREAD_MUTEX_ROBUST_NORMAL_NP) != 0)
3630 /* Remove mutex from the list.
3631 @@ -251,7 +259,10 @@ __pthread_mutex_unlock_full (pthread_mutex_t *mutex, int decr)
3632 /* Unlock. Load all necessary mutex data before releasing the mutex
3633 to not violate the mutex destruction requirements (see
3635 - int robust = mutex->__data.__kind & PTHREAD_MUTEX_ROBUST_NORMAL_NP;
3636 + /* See concurrency notes regarding __kind in struct __pthread_mutex_s
3637 + in sysdeps/nptl/bits/thread-shared-types.h. */
3638 + int robust = atomic_load_relaxed (&(mutex->__data.__kind))
3639 + & PTHREAD_MUTEX_ROBUST_NORMAL_NP;
3641 ? PTHREAD_ROBUST_MUTEX_PSHARED (mutex)
3642 : PTHREAD_MUTEX_PSHARED (mutex));
3643 diff --git a/nptl/tst-mutex10.c b/nptl/tst-mutex10.c
3644 new file mode 100644
3645 index 0000000000..e1113ca60a
3647 +++ b/nptl/tst-mutex10.c
3649 +/* Testing race while enabling lock elision.
3650 + Copyright (C) 2018 Free Software Foundation, Inc.
3651 + This file is part of the GNU C Library.
3653 + The GNU C Library is free software; you can redistribute it and/or
3654 + modify it under the terms of the GNU Lesser General Public
3655 + License as published by the Free Software Foundation; either
3656 + version 2.1 of the License, or (at your option) any later version.
3658 + The GNU C Library is distributed in the hope that it will be useful,
3659 + but WITHOUT ANY WARRANTY; without even the implied warranty of
3660 + MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
3661 + Lesser General Public License for more details.
3663 + You should have received a copy of the GNU Lesser General Public
3664 + License along with the GNU C Library; if not, see
3665 + <http://www.gnu.org/licenses/>. */
3667 +#include <stdlib.h>
3668 +#include <stdint.h>
3669 +#include <pthread.h>
3670 +#include <unistd.h>
3671 +#include <getopt.h>
3672 +#include <support/support.h>
3673 +#include <support/xthread.h>
3675 +static pthread_barrier_t barrier;
3676 +static pthread_mutex_t mutex;
3677 +static long long int iteration_count = 1000000;
3678 +static unsigned int thread_count = 3;
3681 +thr_func (void *arg)
3684 + for (i = 0; i < iteration_count; i++)
3686 + if ((uintptr_t) arg == 0)
3688 + xpthread_mutex_destroy (&mutex);
3689 + xpthread_mutex_init (&mutex, NULL);
3692 + xpthread_barrier_wait (&barrier);
3694 + /* Test if enabling lock elision works if it is enabled concurrently.
3695 + There was a race in FORCE_ELISION macro which leads to either
3696 + pthread_mutex_destroy returning EBUSY as the owner was recorded
3697 + by pthread_mutex_lock - in "normal mutex" code path - but was not
3698 + resetted in pthread_mutex_unlock - in "elision" code path.
3699 + Or it leads to the assertion in nptl/pthread_mutex_lock.c:
3700 + assert (mutex->__data.__owner == 0);
3701 + Please ensure that the test is run with lock elision:
3702 + export GLIBC_TUNABLES=glibc.elision.enable=1 */
3703 + xpthread_mutex_lock (&mutex);
3704 + xpthread_mutex_unlock (&mutex);
3706 + xpthread_barrier_wait (&barrier);
3715 + printf ("Starting %d threads to run %lld iterations.\n",
3716 + thread_count, iteration_count);
3718 + pthread_t *threads = xmalloc (thread_count * sizeof (pthread_t));
3719 + xpthread_barrier_init (&barrier, NULL, thread_count);
3720 + xpthread_mutex_init (&mutex, NULL);
3722 + for (i = 0; i < thread_count; i++)
3723 + threads[i] = xpthread_create (NULL, thr_func, (void *) (uintptr_t) i);
3725 + for (i = 0; i < thread_count; i++)
3726 + xpthread_join (threads[i]);
3728 + xpthread_barrier_destroy (&barrier);
3731 + return EXIT_SUCCESS;
3734 +#define OPT_ITERATIONS 10000
3735 +#define OPT_THREADS 10001
3736 +#define CMDLINE_OPTIONS \
3737 + { "iterations", required_argument, NULL, OPT_ITERATIONS }, \
3738 + { "threads", required_argument, NULL, OPT_THREADS },
3740 +cmdline_process (int c)
3742 + long long int arg = strtoll (optarg, NULL, 0);
3745 + case OPT_ITERATIONS:
3747 + iteration_count = arg;
3750 + if (arg > 0 && arg < 100)
3751 + thread_count = arg;
3755 +#define CMDLINE_PROCESS cmdline_process
3757 +#include <support/test-driver.c>
3758 diff --git a/nscd/gai.c b/nscd/gai.c
3759 index d081747797..576fd0045b 100644
3764 # include <libidn/idn-stub.c>
3767 +/* Some variables normally defined in libc. */
3768 +service_user *__nss_hosts_database attribute_hidden;
3769 diff --git a/nscd/netgroupcache.c b/nscd/netgroupcache.c
3770 index b832c9315f..2f187b208c 100644
3771 --- a/nscd/netgroupcache.c
3772 +++ b/nscd/netgroupcache.c
3773 @@ -480,7 +480,7 @@ addinnetgrX (struct database_dyn *db, int fd, request_header *req,
3775 const char *group = key;
3776 key = (char *) rawmemchr (key, '\0') + 1;
3777 - size_t group_len = key - group - 1;
3778 + size_t group_len = key - group;
3779 const char *host = *key++ ? key : NULL;
3781 key = (char *) rawmemchr (key, '\0') + 1;
3782 diff --git a/nss/nsswitch.c b/nss/nsswitch.c
3783 index d5e655974f..b0f0c11a3e 100644
3784 --- a/nss/nsswitch.c
3785 +++ b/nss/nsswitch.c
3786 @@ -62,7 +62,7 @@ static service_library *nss_new_service (name_database *database,
3788 /* Declare external database variables. */
3789 #define DEFINE_DATABASE(name) \
3790 - extern service_user *__nss_##name##_database attribute_hidden; \
3791 + service_user *__nss_##name##_database attribute_hidden; \
3792 weak_extern (__nss_##name##_database)
3793 #include "databases.def"
3794 #undef DEFINE_DATABASE
3795 diff --git a/nss/nsswitch.h b/nss/nsswitch.h
3796 index eccb535ef5..63573b9ebc 100644
3797 --- a/nss/nsswitch.h
3798 +++ b/nss/nsswitch.h
3799 @@ -226,10 +226,10 @@ libc_hidden_proto (__nss_hostname_digits_dots)
3800 #define MAX_NR_ADDRS 48
3802 /* Prototypes for __nss_*_lookup2 functions. */
3803 -#define DEFINE_DATABASE(arg) \
3804 - service_user *__nss_##arg##_database attribute_hidden; \
3805 - int __nss_##arg##_lookup2 (service_user **, const char *, \
3806 - const char *, void **); \
3807 +#define DEFINE_DATABASE(arg) \
3808 + extern service_user *__nss_##arg##_database attribute_hidden; \
3809 + int __nss_##arg##_lookup2 (service_user **, const char *, \
3810 + const char *, void **); \
3811 libc_hidden_proto (__nss_##arg##_lookup2)
3812 #include "databases.def"
3813 #undef DEFINE_DATABASE
3814 diff --git a/po/pt_BR.po b/po/pt_BR.po
3815 index b7c1650957..d49d6ec279 100644
3818 @@ -1,4283 +1,7213 @@
3819 -# Brazilian portuguese messages for glibc.
3820 -# Copyright © 1998, 1999 Free Software Foundation, Inc.
3821 +# Brazilian Portuguese translation for glibc.
3822 +# Copyright © 2018 Free Software Foundation, Inc.
3823 +# This file is distributed under the same license as the glibc package.
3824 # Fabio Dorival Victorelli <fabio@conectiva.com.br>, 1998.
3825 -# Márcio Macedo <marciom@conectiva.com.br>, 1998.
3826 +# Márcio Macedo <marciom@conectiva.com.br>, 1998.
3827 # Arnaldo Carvalho de Mello <acme@conectiva.com.br>, 1998.
3828 # Sandro Nunes Henrique <sandro@conectiva.com.br>, 1998.
3829 # Rodrigo Stulzer Lopes <rodrigo@conectiva.com.br>, 1999.
3831 +# Rafael Fontenelle <rafaelff@gnome.org>, 2018.
3834 -"Project-Id-Version: libc 2.1\n"
3835 -"POT-Creation-Date: 1998-11-28 09:29-0800\n"
3836 -"PO-Revision-Date: 1999-06-29 18:07-0300\n"
3837 -"Last-Translator: Rodrigo Parra Novo <rodarvus@conectiva.com.br>\n"
3838 -"Language-Team: Brazilian Portuguese <ldp-br@bazar.conectiva.com.br>\n"
3839 -"X-Bugs: Report translation errors to the Language-Team address.\n"
3840 +"Project-Id-Version: libc 2.26.9000\n"
3841 +"POT-Creation-Date: 2018-01-10 15:00+0000\n"
3842 +"PO-Revision-Date: 2018-03-11 11:16-0300\n"
3843 +"Last-Translator: Rafael Fontenelle <rafaelff@gnome.org>\n"
3844 +"Language-Team: Brazilian Portuguese <ldpbr-translation@lists.sourceforge.net>\n"
3845 +"Language: pt_BR\n"
3846 "MIME-Version: 1.0\n"
3847 -"Content-Type: text/plain; charset=ISO-8859-1\n"
3848 -"Content-Transfer-Encoding: 8-bit\n"
3850 -#: nis/nis_print.c:273
3851 -msgid "\t\tAccess Rights : "
3852 -msgstr "\t\tDireitos de Acesso: "
3854 -#: nis/nis_print.c:271
3855 -msgid "\t\tAttributes : "
3856 -msgstr "\t\tAtributos : "
3858 -#: sunrpc/rpc_main.c:1416
3860 -msgid "\t%s [-abkCLNTM][-Dname[=value]] [-i size] [-I [-K seconds]] [-Y path] infile\n"
3861 -msgstr "%s [-abkCLNTM][-Dname[=valor]] [-i tamanho] [-I [-K segundos]] [-Y rota] arquivo_entrada\n"
3862 +"Content-Type: text/plain; charset=UTF-8\n"
3863 +"Content-Transfer-Encoding: 8bit\n"
3864 +"X-Bugs: Report translation errors to the Language-Team address.\n"
3865 +"Plural-Forms: nplurals=2; plural=(n > 1);\n"
3866 +"X-Generator: Virtaal 1.0.0-beta1\n"
3868 -#: sunrpc/rpc_main.c:1418
3869 +#: argp/argp-help.c:227
3871 -msgid "\t%s [-c | -h | -l | -m | -t | -Sc | -Ss | -Sm] [-o outfile] [infile]\n"
3872 -msgstr "\t%s [-c | -h | -l | -m | -t | -Sc | -Ss | -Sm] [-o arquivo-saída] [arquivo-entrada]\n"
3873 +msgid "%.*s: ARGP_HELP_FMT parameter requires a value"
3874 +msgstr "%.*s: ARGP_HELP_FMT parâmetro requer um valor"
3876 -#: sunrpc/rpc_main.c:1421
3877 +#: argp/argp-help.c:237
3879 -msgid "\t%s [-n netid]* [-o outfile] [infile]\n"
3880 -msgstr "\t%s [-n id-rede]* [-o arquivo-saída] [arquivo-entrada]\n"
3881 +msgid "%.*s: Unknown ARGP_HELP_FMT parameter"
3882 +msgstr "%.*s: Parâmetro ARGP_HELP_FMT desconhecido"
3884 -#: sunrpc/rpc_main.c:1420
3885 +#: argp/argp-help.c:250
3887 -msgid "\t%s [-s nettype]* [-o outfile] [infile]\n"
3888 -msgstr "\t%s [-s tipo-rede]* [-o arquivo-saída] [arquivo-entrada]\n"
3889 +msgid "Garbage in ARGP_HELP_FMT: %s"
3890 +msgstr "Lixo em ARGP_HELP_FMT: %s"
3892 -#: nis/nis_print.c:235
3893 -msgid "\tAccess rights: "
3894 -msgstr "\tDireitos acesso: "
3895 +#: argp/argp-help.c:1214
3896 +msgid "Mandatory or optional arguments to long options are also mandatory or optional for any corresponding short options."
3897 +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."
3899 -#: nis/nis_print.c:293
3901 -msgid "\tEntry data of type %s\n"
3902 -msgstr "\tEntrada de dados de tipo %s\n"
3903 +#: argp/argp-help.c:1600
3907 -#: nis/nis_print.c:171
3909 -msgid "\tName : %s\n"
3910 -msgstr "\tNome : %s\n"
3911 +#: argp/argp-help.c:1604
3915 -#: nis/nis_print.c:172
3916 -msgid "\tPublic Key : "
3917 -msgstr "\tChave pública: "
3918 +#: argp/argp-help.c:1616
3919 +msgid " [OPTION...]"
3920 +msgstr " [OPÇÃO...]"
3922 -#: nis/nis_print.c:234
3923 +#: argp/argp-help.c:1643
3925 -msgid "\tType : %s\n"
3926 -msgstr "\tTipo : %s\n"
3927 +msgid "Try `%s --help' or `%s --usage' for more information.\n"
3928 +msgstr "Tente “%s --help” ou “%s --usage” para mais informações.\n"
3930 -#: nis/nis_print.c:201
3931 +#: argp/argp-help.c:1671
3933 -msgid "\tUniversal addresses (%u)\n"
3934 -msgstr "\tEndereço universal (%u)\n"
3935 +msgid "Report bugs to %s.\n"
3936 +msgstr "Relate erros para %s.\n"
3938 -#: nis/nis_print.c:269
3940 -msgid "\t[%d]\tName : %s\n"
3941 -msgstr "\t[%d]\tNome : %s\n"
3942 +#: argp/argp-parse.c:101
3943 +msgid "Give this help list"
3944 +msgstr "Retorna este arquivo de ajuda"
3946 -#: nis/nis_print.c:296
3948 -msgid "\t[%u] - [%u bytes] "
3949 -msgstr "\t[%u] - [%u bytes] "
3950 +#: argp/argp-parse.c:102
3951 +msgid "Give a short usage message"
3952 +msgstr "Retorna uma mensagem de uso curta"
3954 -#: nscd/nscd_stat.c:153
3959 -"%15s cache is enabled\n"
3960 -"%15Zd suggested size\n"
3961 -"%15ld seconds time to live for positive entries\n"
3962 -"%15ld seconds time to live for negative entries\n"
3963 -"%15ld cache hits on positive entries\n"
3964 -"%15ld cache hits on negative entries\n"
3965 -"%15ld cache misses on positive entries\n"
3966 -"%15ld cache misses on negative entries\n"
3967 -"%15ld%% cache hit rate\n"
3968 -"%15s check /etc/%s for changes\n"
3973 -"%15s cache está habilitado\n"
3974 -"%15Zd tamanho sugerido%15ld segundos de vida para entradas positivas\n"
3975 -"%15ld segundos de vida para entradas negativas\n"
3976 -"%15ld hits do cache para entradas positivas\n"
3977 -"%15ld hits do cache para entradas negativas\n"
3978 -"%15ld%% quantidade de hits no cache\n"
3979 -"%15s verifique o arquivo /etc/%s para mudanças\n"
3980 +#: argp/argp-parse.c:103 catgets/gencat.c:109 catgets/gencat.c:113
3981 +#: iconv/iconv_prog.c:60 iconv/iconv_prog.c:61 nscd/nscd.c:105
3982 +#: nss/makedb.c:120
3986 -#: nis/nis_print.c:251
3987 -msgid "\nGroup Members :\n"
3988 -msgstr "\nMembros do Grupo : \n"
3989 +#: argp/argp-parse.c:104
3990 +msgid "Set the program name"
3991 +msgstr "Configura o nome do programa"
3993 -#: nis/nis_print.c:320
3994 -msgid "\nTime to Live : "
3995 -msgstr "\nTempo de Vida : "
3996 +#: argp/argp-parse.c:105
4000 -#: sunrpc/rpcinfo.c:679
4001 -msgid " rpcinfo -b prognum versnum\n"
4002 -msgstr " rpcinfo -b númprog númvers\n"
4003 +#: argp/argp-parse.c:106
4004 +msgid "Hang for SECS seconds (default 3600)"
4005 +msgstr "Retém por SEG segundos (o padrão é 3600)"
4007 -#: sunrpc/rpcinfo.c:680
4008 -msgid " rpcinfo -d prognum versnum\n"
4009 -msgstr " rpcinfo -b númprog númvers\n"
4010 +#: argp/argp-parse.c:167
4011 +msgid "Print program version"
4012 +msgstr "Mostra versão do programa"
4014 -#: sunrpc/rpcinfo.c:678
4015 -msgid " rpcinfo -p [ host ]\n"
4016 -msgstr " rpcinfo -p [ host ]\n"
4017 +#: argp/argp-parse.c:183
4018 +msgid "(PROGRAM ERROR) No version known!?"
4019 +msgstr "(ERRO DE PROGRAMA) Versão desconhecida!?"
4021 -#: sunrpc/rpcinfo.c:676
4022 -msgid " rpcinfo [ -n portnum ] -t host prognum [ versnum ]\n"
4023 -msgstr " rpcinfo [ -n númporta ] -t host númprog [ númvers ]\n"
4024 +#: argp/argp-parse.c:623
4026 +msgid "%s: Too many arguments\n"
4027 +msgstr "%s: Argumentos demais\n"
4029 -#: nscd/nscd_stat.c:145 nscd/nscd_stat.c:147
4032 +#: argp/argp-parse.c:766
4033 +msgid "(PROGRAM ERROR) Option should have been recognized!?"
4034 +msgstr "(ERRO DE PROGRAMA) Opção deveria ter sido reconhecida!?"
4036 -#: nscd/nscd_stat.c:145 nscd/nscd_stat.c:147
4039 +#: assert/assert-perr.c:35
4041 +msgid "%s%s%s:%u: %s%sUnexpected error: %s.\n"
4042 +msgstr "%s%s%s:%u: %s%sErro inesperado: %s.\n"
4044 -#: nis/nis_print.c:344
4045 +#: assert/assert.c:101
4047 -msgid " Data Length = %u\n"
4048 -msgstr " Tamanho dados = %u\n"
4050 +"%s%s%s:%u: %s%sAssertion `%s' failed.\n"
4053 +"%s%s%s:%u: %s%sAssertiva “%s” falhou.\n"
4056 -#: nis/nis_print_group_entry.c:121
4057 -msgid " Explicit members:\n"
4058 -msgstr " Membros explícitos:\n"
4059 +#: catgets/gencat.c:110
4060 +msgid "Create C header file NAME containing symbol definitions"
4061 +msgstr "Cria arquivo NOME com cabeçalho C contendo definições de símbolos"
4063 -#: nis/nis_print_group_entry.c:145 nis/nis_print_group_entry.c:161
4064 -msgid " Explicit nonmembers:\n"
4065 -msgstr " Não-membros explícitos:\n"
4066 +#: catgets/gencat.c:112
4067 +msgid "Do not use existing catalog, force new output file"
4068 +msgstr "Não usa catálogo existente, força um novo arquivo de saída"
4070 -#: nis/nis_print_group_entry.c:129
4071 -msgid " Implicit members:\n"
4072 -msgstr " Membros implícitos:\n"
4073 +#: catgets/gencat.c:113 nss/makedb.c:120
4074 +msgid "Write output to file NAME"
4075 +msgstr "Escreve a saída para o arquivo NOME"
4077 -#: nis/nis_print_group_entry.c:153
4078 -msgid " Implicit nonmembers:\n"
4079 -msgstr " Não-membros implícitos:\n"
4080 +#: catgets/gencat.c:118
4082 +"Generate message catalog.\vIf INPUT-FILE is -, input is read from standard input. If OUTPUT-FILE\n"
4083 +"is -, output is written to standard output.\n"
4085 +"Gera catálogo de mensagens.\\vSe ARQUIVO-DE-ENTRADA for -, a entrada é lida da entrada padrão.\n"
4086 +"Se ARQUIVO-DE-SAÍDA for -, a saída é escrita para a saída padrão.\n"
4088 -#: nis/nis_print_group_entry.c:126
4089 -msgid " No explicit members\n"
4090 -msgstr " Membros não explícitos\n"
4091 +#: catgets/gencat.c:123
4093 +"-o OUTPUT-FILE [INPUT-FILE]...\n"
4094 +"[OUTPUT-FILE [INPUT-FILE]...]"
4096 +"-o ARQUIVO-SAÍDA [ARQUIVO-ENTRADA]...\n"
4097 +"[ARQUIVO-SAÍDA [ARQUIVO-ENTRADA...]"
4099 -#: nis/nis_print_group_entry.c:150
4100 -msgid " No explicit nonmembers\n"
4101 -msgstr "Não-membros não explícitos\n"
4102 +#: catgets/gencat.c:229 debug/pcprofiledump.c:209 elf/ldconfig.c:308
4103 +#: elf/pldd.c:252 elf/sln.c:77 elf/sprof.c:372 iconv/iconv_prog.c:405
4104 +#: iconv/iconvconfig.c:379 locale/programs/locale.c:275
4105 +#: locale/programs/localedef.c:427 login/programs/pt_chown.c:89
4106 +#: malloc/memusagestat.c:563 nss/getent.c:913 nss/makedb.c:369
4107 +#: posix/getconf.c:503 sysdeps/unix/sysv/linux/lddlibc4.c:61
4110 +"For bug reporting instructions, please see:\n"
4113 +"Para instruções sobre como relatar erros, por favor veja:\n"
4116 -#: nis/nis_print_group_entry.c:134
4117 -msgid " No implicit members\n"
4118 -msgstr " Membros não implícitos\n"
4119 +#: catgets/gencat.c:245 debug/pcprofiledump.c:225 debug/xtrace.sh:64
4120 +#: elf/ldconfig.c:324 elf/ldd.bash.in:38 elf/pldd.c:268 elf/sotruss.sh:75
4121 +#: elf/sprof.c:389 iconv/iconv_prog.c:422 iconv/iconvconfig.c:396
4122 +#: locale/programs/locale.c:292 locale/programs/localedef.c:453
4123 +#: login/programs/pt_chown.c:63 malloc/memusage.sh:71
4124 +#: malloc/memusagestat.c:581 nscd/nscd.c:509 nss/getent.c:86 nss/makedb.c:385
4125 +#: posix/getconf.c:485 sysdeps/unix/sysv/linux/lddlibc4.c:68
4128 +"Copyright (C) %s Free Software Foundation, Inc.\n"
4129 +"This is free software; see the source for copying conditions. There is NO\n"
4130 +"warranty; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.\n"
4132 +"Copyright (C) %s Free Software Foundation, Inc.\n"
4133 +"Este é um software livre; leia os fontes para condições de cópia. NÃO HÁ\n"
4134 +"QUALQUER GARANTIA; nem para COMERCIALIZAÇÃO ou ADEQUAÇÃO A QUALQUER\n"
4135 +"PROPÓSITO EME PARTICULAR.\n"
4137 -#: nis/nis_print_group_entry.c:158
4138 -msgid " No implicit nonmembers\n"
4139 -msgstr "Não-membros não implícitos\n"
4140 +#: catgets/gencat.c:250 debug/pcprofiledump.c:230 debug/xtrace.sh:68
4141 +#: elf/ldconfig.c:329 elf/pldd.c:273 elf/sprof.c:395 iconv/iconv_prog.c:427
4142 +#: iconv/iconvconfig.c:401 locale/programs/locale.c:297
4143 +#: locale/programs/localedef.c:458 malloc/memusage.sh:75
4144 +#: malloc/memusagestat.c:586 nscd/nscd.c:514 nss/getent.c:91 nss/makedb.c:390
4145 +#: posix/getconf.c:490
4147 +msgid "Written by %s.\n"
4148 +msgstr "Escrito por %s.\n"
4150 -#: nis/nis_print_group_entry.c:142
4151 -msgid " No recursive members\n"
4152 -msgstr "Membros não recursivos\n"
4153 +#: catgets/gencat.c:281
4154 +msgid "*standard input*"
4155 +msgstr "*entrada padrão*"
4157 -#: nis/nis_print_group_entry.c:166
4158 -msgid " No recursive nonmembers\n"
4159 -msgstr "Não-membros não recursivos\n"
4160 +#: catgets/gencat.c:287 iconv/iconv_charmap.c:167 iconv/iconv_prog.c:290
4161 +#: nss/makedb.c:246
4163 +msgid "cannot open input file `%s'"
4164 +msgstr "não é possível abrir arquivo de entrada “%s”"
4166 -#: nis/nis_print_group_entry.c:137
4167 -msgid " Recursive members:\n"
4168 -msgstr " Membros recursivos:\n"
4169 +#: catgets/gencat.c:416 catgets/gencat.c:491
4170 +msgid "illegal set number"
4171 +msgstr "número de conjunto ilegal"
4173 -#: sunrpc/rpcinfo.c:574
4174 -msgid " program vers proto port\n"
4175 -msgstr " programa versão protocolo porta\n"
4176 +#: catgets/gencat.c:443
4177 +msgid "duplicate set definition"
4178 +msgstr "definição de conjunto duplicada"
4180 -#: argp/argp-help.c:1571
4183 +#: catgets/gencat.c:445 catgets/gencat.c:617 catgets/gencat.c:669
4184 +msgid "this is the first definition"
4185 +msgstr "esta é a primeira definição"
4187 -#: timezone/zic.c:421
4188 +#: catgets/gencat.c:516
4190 -msgid " (rule from \"%s\", line %d)"
4191 -msgstr " (regra de \"%s\", linha %d)"
4193 -#: argp/argp-help.c:1583
4194 -msgid " [OPTION...]"
4195 -msgstr " [OPÇÃO...]"
4196 +msgid "unknown set `%s'"
4197 +msgstr "conjunto desconhecido “%s”"
4199 -#: locale/programs/ld-collate.c:370 locale/programs/ld-ctype.c:1291
4202 +#: catgets/gencat.c:557
4203 +msgid "invalid quote character"
4204 +msgstr "caractere de aspas inválido"
4206 -#: timezone/zic.c:418
4207 +#: catgets/gencat.c:570
4209 -msgid "\"%s\", line %d: %s"
4210 -msgstr "\"%s\", linha %d: %s"
4211 +msgid "unknown directive `%s': line ignored"
4212 +msgstr "diretiva desconhecida “%s”: linha ignorada"
4214 -#: timezone/zic.c:958
4216 -msgid "\"Zone %s\" line and -l option are mutually exclusive"
4217 -msgstr "A linha \"Zone %s\" e a opção -l são mutuamente exclusivas"
4218 +#: catgets/gencat.c:615
4219 +msgid "duplicated message number"
4220 +msgstr "número de mensagem duplicado"
4222 -#: timezone/zic.c:966
4224 -msgid "\"Zone %s\" line and -p option are mutually exclusive"
4225 -msgstr "A linha \"Zone %s\" e a opção -p são mutuamente exclusivas"
4226 +#: catgets/gencat.c:666
4227 +msgid "duplicated message identifier"
4228 +msgstr "identificador de mensagens duplicado"
4230 -#: sunrpc/rpc_main.c:1401
4231 -msgid "\"infile\" is required for template generation flags.\n"
4232 -msgstr "\"arquivo-entrada\" é necessário para geração de indicadores do modelo.\n"
4233 +#: catgets/gencat.c:723
4234 +msgid "invalid character: message ignored"
4235 +msgstr "caractere inválido: mensagem ignorada"
4237 -#: argp/argp-help.c:210
4239 -msgid "%.*s: ARGP_HELP_FMT parameter requires a value"
4240 -msgstr "%.*s: ARGP_HELP_FMT parâmetro requer um valor"
4241 +#: catgets/gencat.c:766
4242 +msgid "invalid line"
4243 +msgstr "linha inválida"
4245 -#: argp/argp-help.c:219
4247 -msgid "%.*s: Unknown ARGP_HELP_FMT parameter"
4248 -msgstr "%.*s: Parâmetro ARGP_HELP_FMT desconhecido"
4249 +#: catgets/gencat.c:820
4250 +msgid "malformed line ignored"
4251 +msgstr "linha inválida ignorada"
4253 -#: timezone/zic.c:768
4254 +#: catgets/gencat.c:984 catgets/gencat.c:1025
4256 -msgid "%s in ruleless zone"
4257 -msgstr "%s em uma zona sem regras"
4258 +msgid "cannot open output file `%s'"
4259 +msgstr "não é possível abrir arquivo de saída “%s”"
4261 -#: assert/assert.c:51
4263 -msgid "%s%s%s:%u: %s%sAssertion `%s' failed.\n"
4264 -msgstr "%s%s%s:%u: %s%sAssertiva `%s' falhou.\n"
4265 +#: catgets/gencat.c:1187 locale/programs/linereader.c:560
4266 +msgid "invalid escape sequence"
4267 +msgstr "sequência de escape inválida"
4269 -#: assert/assert-perr.c:52
4271 -msgid "%s%s%s:%u: %s%sUnexpected error: %s.\n"
4272 -msgstr "%s%s%s:%u: %s%sErro inesperado: %s.\n"
4273 +#: catgets/gencat.c:1209
4274 +msgid "unterminated message"
4275 +msgstr "mensagem não terminada"
4277 -#: stdio-common/psignal.c:47
4278 +#: catgets/gencat.c:1233
4280 -msgid "%s%sUnknown signal %d\n"
4281 -msgstr "%s%sSinal desconhecido %d\n"
4282 +msgid "while opening old catalog file"
4283 +msgstr "enquanto abrindo antigo arquivo de catálogo"
4285 -#: timezone/zic.c:2201
4286 +#: catgets/gencat.c:1324
4288 -msgid "%s: %d did not sign extend correctly\n"
4289 -msgstr "%s: %d não fez extensão de sinal corretamente\n"
4290 +msgid "conversion modules not available"
4291 +msgstr "módulos de conversão não estão disponíveis"
4293 -#: locale/programs/charmap.c:261
4294 +#: catgets/gencat.c:1350
4296 -msgid "%s: <mb_cur_max> must be greater than <mb_cur_min>\n"
4297 -msgstr "%s: <mb_cur_max> deve ser maior que <mb_cur_min>\n"
4298 +msgid "cannot determine escape character"
4299 +msgstr "não é possível determinar caractere de escape"
4301 -#: sunrpc/rpc_main.c:422
4303 -msgid "%s: C preprocessor failed with exit code %d\n"
4304 -msgstr "%s: Pré-processador C falhou com código de saída %d\n"
4305 +#: debug/pcprofiledump.c:53
4306 +msgid "Don't buffer output"
4307 +msgstr "Não usa buffer para a saída"
4309 -#: sunrpc/rpc_main.c:419
4311 -msgid "%s: C preprocessor failed with signal %d\n"
4312 -msgstr "%s: Pré-processador C falhou com sinal %d\n"
4313 +#: debug/pcprofiledump.c:58
4314 +msgid "Dump information generated by PC profiling."
4315 +msgstr "Despeja a informação gerada pelo perfilador de PC."
4317 -#: timezone/zic.c:1469
4319 -msgid "%s: Can't create %s: %s\n"
4320 -msgstr "%s: Não é possível criar %s: %s\n"
4321 +#: debug/pcprofiledump.c:61
4325 -#: timezone/zic.c:2179
4326 +#: debug/pcprofiledump.c:108
4328 -msgid "%s: Can't create directory %s: %s\n"
4329 -msgstr "%s: Não é possível criar o diretório %s: %s\n"
4330 +msgid "cannot open input file"
4331 +msgstr "não foi possível abrir arquivo de entrada"
4333 -#: timezone/zic.c:620
4334 +#: debug/pcprofiledump.c:115
4336 -msgid "%s: Can't link from %s to %s: %s\n"
4337 -msgstr "%s: Não é possível criar um link de %s para %s: %s\n"
4338 +msgid "cannot read header"
4339 +msgstr "não foi possível ler cabeçalho"
4341 -#: timezone/zic.c:794
4342 +#: debug/pcprofiledump.c:179
4344 -msgid "%s: Can't open %s: %s\n"
4345 -msgstr "%s: Não é possível abrir %s: %s\n"
4346 +msgid "invalid pointer size"
4347 +msgstr "tamanho de ponteiro inválido"
4349 -#: timezone/zic.c:1459
4351 -msgid "%s: Can't remove %s: %s\n"
4352 -msgstr "%s: Não é possível remover %s: %s\n"
4353 +#: debug/xtrace.sh:26 debug/xtrace.sh:44
4354 +msgid "Usage: xtrace [OPTION]... PROGRAM [PROGRAMOPTION]...\\n"
4355 +msgstr "Uso: xtrace [OPÇÃO]... PROGRAMA [OPÇÃOPROGRAMA]...\\n"
4357 -#: timezone/zic.c:863
4359 -msgid "%s: Error closing %s: %s\n"
4360 -msgstr "%s: Erro fechando %s: %s\n"
4361 +#: debug/xtrace.sh:32 elf/sotruss.sh:56 elf/sotruss.sh:67 elf/sotruss.sh:135
4362 +#: malloc/memusage.sh:26
4363 +msgid "Try \\`%s --help' or \\`%s --usage' for more information.\\n"
4364 +msgstr "Tente “%s --help” ou “%s --usage” para mais informações.\\n"
4366 -#: timezone/zic.c:856
4368 -msgid "%s: Error reading %s\n"
4369 -msgstr "%s: Erro lendo %s\n"
4370 +#: debug/xtrace.sh:38
4371 +msgid "%s: option '%s' requires an argument.\\n"
4372 +msgstr "%s: opção “%s” requer um argumento.\\n"
4374 -#: timezone/zic.c:1535
4376 -msgid "%s: Error writing %s\n"
4377 -msgstr "%s: Erro escrevendo %s\n"
4378 +#: debug/xtrace.sh:45
4380 +"Trace execution of program by printing currently executed function.\n"
4382 +" --data=FILE Don't run the program, just print the data from FILE.\n"
4384 +" -?,--help Print this help and exit\n"
4385 +" --usage Give a short usage message\n"
4386 +" -V,--version Print version information and exit\n"
4388 +"Mandatory arguments to long options are also mandatory for any corresponding\n"
4392 +"Rastreia a execução do programa exibindo a função atualmente executada.\n"
4394 +" --data=ARQUIVO Não executa o programa, apenas exibe os dados\n"
4397 +" -?,--help Exibe essa ajuda e sai\n"
4398 +" --usage Fornece uma curta mensagem de uso\n"
4399 +" -V,--version Exibe informação da versão e sai\n"
4401 +"Argumentos obrigatórios para opções longas são também obrigatórias para opções curtas correspondentes.\n"
4404 -#: timezone/zdump.c:266
4406 -msgid "%s: Error writing standard output "
4407 -msgstr "%s: Erro escrevendo para saída padrão "
4408 +#: debug/xtrace.sh:57 elf/ldd.bash.in:55 elf/sotruss.sh:49
4409 +#: malloc/memusage.sh:64
4410 +msgid "For bug reporting instructions, please see:\\\\n%s.\\\\n"
4411 +msgstr "Para instruções sobre como relatar erros, por favor veja:\\\\n%s.\\\\n"
4413 -#: timezone/zic.c:841
4415 -msgid "%s: Leap line in non leap seconds file %s\n"
4416 -msgstr "%s: linha Leap no arquivo %s, que não é arquivo de ajuste\n"
4417 +#: debug/xtrace.sh:125
4418 +msgid "xtrace: unrecognized option \\`$1'\\n"
4419 +msgstr "xtrace: opção não reconhecida “$1”\\n"
4421 -#: timezone/zic.c:359
4423 -msgid "%s: Memory exhausted: %s\n"
4424 -msgstr "%s: Memória esgotada: %s\n"
4425 +#: debug/xtrace.sh:138
4426 +msgid "No program name given\\n"
4427 +msgstr "Nenhum nome de programa dado\\n"
4429 -#: timezone/zic.c:524
4431 -msgid "%s: More than one -L option specified\n"
4432 -msgstr "%s: Mais que uma opção -L foi especificada\n"
4433 +#: debug/xtrace.sh:146
4435 +msgid "executable \\`$program' not found\\n"
4436 +msgstr "“$program” executável não foi encontrado\\n"
4438 -#: timezone/zic.c:484
4440 -msgid "%s: More than one -d option specified\n"
4441 -msgstr "%s: Mais que uma opção -d foi especificada\n"
4442 +#: debug/xtrace.sh:150
4444 +msgid "\\`$program' is no executable\\n"
4445 +msgstr "“$program” não é um executável\\n"
4447 -#: timezone/zic.c:494
4449 -msgid "%s: More than one -l option specified\n"
4450 -msgstr "%s: Mais que uma opção -l especificada\n"
4451 +#: dlfcn/dlinfo.c:63
4452 +msgid "RTLD_SELF used in code not dynamically loaded"
4453 +msgstr "RTLD_SELF usado em código não carregado dinamicamente"
4455 -#: timezone/zic.c:504
4457 -msgid "%s: More than one -p option specified\n"
4458 -msgstr "%s: Mais que uma opção -p especificada\n"
4459 +#: dlfcn/dlinfo.c:72
4460 +msgid "unsupported dlinfo request"
4461 +msgstr "requisição dlinfo sem suporte"
4463 -#: timezone/zic.c:514
4465 -msgid "%s: More than one -y option specified\n"
4466 -msgstr "%s: Mais que uma opção -y especificada\n"
4467 +#: dlfcn/dlmopen.c:63
4468 +msgid "invalid namespace"
4469 +msgstr "espaço de nome inválido"
4471 -#: argp/argp-parse.c:640
4473 -msgid "%s: Too many arguments\n"
4474 -msgstr "%s: Muitos parâmetros\n"
4475 +#: dlfcn/dlmopen.c:68
4476 +msgid "invalid mode"
4477 +msgstr "modo inválido"
4479 -#: login/programs/database.c:129
4481 -msgid "%s: cannot get modification time"
4482 -msgstr "%s: não é possível processar modificações de horário"
4483 +#: dlfcn/dlopen.c:64
4484 +msgid "invalid mode parameter"
4485 +msgstr "parâmetro de modo inválido"
4487 -#: timezone/zic.c:1900
4489 -msgid "%s: command was '%s', result was %d\n"
4490 -msgstr "%s: comando era '%s', resultado era %d\n"
4493 +msgstr "desconhecido"
4495 -#: locale/programs/charmap.c:677 locale/programs/locfile.c:1008
4497 -msgid "%s: error in state machine"
4498 -msgstr "%s: erro na máquina de estados"
4499 +# Operating System (OS) = Sistema Operacional (SO)
4502 +msgstr "SO desconhecido"
4504 -#: posix/getopt.c:784
4507 -msgid "%s: illegal option -- %c\n"
4508 -msgstr "%s: opção ilegal -- %c\n"
4509 +msgid ", OS ABI: %s %d.%d.%d"
4510 +msgstr ", ABI de SO: %s %d.%d.%d"
4512 -#: posix/getopt.c:787
4513 +#: elf/cache.c:157 elf/ldconfig.c:1332
4515 -msgid "%s: invalid option -- %c\n"
4516 -msgstr "%s: opção inválida -- %c\n"
4517 +msgid "Can't open cache file %s\n"
4518 +msgstr "Não foi possível abrir arquivo de cache %s\n"
4520 -#: posix/getopt.c:707
4523 -msgid "%s: option `%c%s' doesn't allow an argument\n"
4524 -msgstr "%s: opção `%c%s' não permite um argumento\n"
4525 +msgid "mmap of cache file failed.\n"
4526 +msgstr "mmap de arquivo de cache falhou.\n"
4528 -#: posix/getopt.c:677
4529 +#: elf/cache.c:175 elf/cache.c:189
4531 -msgid "%s: option `%s' is ambiguous\n"
4532 -msgstr "%s: opção `%s' é ambígua\n"
4533 +msgid "File is not a cache file.\n"
4534 +msgstr "Arquivo não é um arquivo de cache.\n"
4536 -#: posix/getopt.c:725 posix/getopt.c:898
4537 +# %d = número (quantidade) de bibliotecas
4538 +#: elf/cache.c:222 elf/cache.c:232
4540 -msgid "%s: option `%s' requires an argument\n"
4541 -msgstr "%s: opção `%s' requer um argumento\n"
4542 +msgid "%d libs found in cache `%s'\n"
4543 +msgstr "%d bibliotecas localizadas no cache “%s”\n"
4545 -#: posix/getopt.c:702
4548 -msgid "%s: option `--%s' doesn't allow an argument\n"
4549 -msgstr "%s: opção `--%s' não permite um argumento\n"
4550 +msgid "Can't create temporary cache file %s"
4551 +msgstr "Não foi possível criar arquivo temporário de cache %s"
4553 -#: posix/getopt.c:882
4554 +#: elf/cache.c:434 elf/cache.c:444 elf/cache.c:448 elf/cache.c:453
4556 -msgid "%s: option `-W %s' doesn't allow an argument\n"
4557 -msgstr "%s: opção `-W %s' não permite um argumento\n"
4558 +msgid "Writing of cache data failed"
4559 +msgstr "Escrita de dados de cache falhou"
4561 -#: posix/getopt.c:864
4564 -msgid "%s: option `-W %s' is ambiguous\n"
4565 -msgstr "%s: opção `-W %s' é ambígua\n"
4566 +msgid "Changing access rights of %s to %#o failed"
4567 +msgstr "Mudança de direitos de acesso de %s para %#o falhou"
4569 -#: posix/getopt.c:817 posix/getopt.c:947
4572 -msgid "%s: option requires an argument -- %c\n"
4573 -msgstr "%s: opção requer um argumento -- %c\n"
4574 +msgid "Renaming of %s to %s failed"
4575 +msgstr "Renomeio de %s para %s falhou"
4577 -#: sunrpc/rpc_main.c:287
4579 -msgid "%s: output would overwrite %s\n"
4580 -msgstr "%s: saída poderá sobrescrever %s\n"
4581 +#: elf/dl-close.c:399 elf/dl-open.c:425
4582 +msgid "cannot create scope list"
4583 +msgstr "não é possível criar lista de escopo"
4585 -#: timezone/zic.c:848 timezone/zic.c:1262 timezone/zic.c:1287
4587 -msgid "%s: panic: Invalid l_value %d\n"
4588 -msgstr "%s: pânico: l_value inválido %d\n"
4589 +#: elf/dl-close.c:839
4590 +msgid "shared object not open"
4591 +msgstr "objeto compartilhado não está aberto"
4593 -#: locale/programs/charmap.c:684 locale/programs/repertoire.c:289
4595 -msgid "%s: premature end of file"
4596 -msgstr "%s: fim de arquivo prematuro"
4597 +#: elf/dl-deps.c:111
4598 +msgid "DST not allowed in SUID/SGID programs"
4599 +msgstr "DST não permitido em programas SUID/SGID"
4601 -#: sunrpc/rpc_main.c:294
4603 -msgid "%s: unable to open "
4604 -msgstr "%s: Não foi possível abrir "
4605 +#: elf/dl-deps.c:124
4606 +msgid "empty dynamic string token substitution"
4607 +msgstr "substituição de token de string dinâmica vazia"
4609 -#: posix/getopt.c:758
4610 +#: elf/dl-deps.c:130
4612 -msgid "%s: unrecognized option `%c%s'\n"
4613 -msgstr "%s: opção não reconhecida `%c%s'\n"
4614 +msgid "cannot load auxiliary `%s' because of empty dynamic string token substitution\n"
4615 +msgstr "não foi possível carregar “%s” auxiliar por causa de substituição de token de string dinâmica vazia\n"
4617 -#: posix/getopt.c:754
4619 -msgid "%s: unrecognized option `--%s'\n"
4620 -msgstr "%s: opção não reconhecida `--%s'\n"
4621 +#: elf/dl-deps.c:442
4622 +msgid "cannot allocate dependency list"
4623 +msgstr "não foi possível alocar lista de dependências"
4625 -#: timezone/zic.c:443
4628 -"%s: usage is %s [ -s ] [ -v ] [ -l localtime ] [ -p posixrules ] [ -d directory ]\n"
4629 -"\t[ -L leapseconds ] [ -y yearistype ] [ filename ... ]\n"
4631 -"%s: uso é %s [ -s ] [ -v ] [ -l tempolocal ] [ -p regrasposix ] [ -d diretório ]\n"
4632 -"\t[ -L segundosajuste ] [ -y tipoano ] [ nome do arquivo ... ]\n"
4633 +#: elf/dl-deps.c:479 elf/dl-deps.c:539
4634 +msgid "cannot allocate symbol search list"
4635 +msgstr "não foi possível alocar lista de pesquisa de símbolos"
4637 -#: timezone/zdump.c:174
4639 -msgid "%s: usage is %s [ -v ] [ -c cutoff ] zonename ...\n"
4640 -msgstr "%s: uso é %s [ -v ] [ -c cutoff ] nomezona ...\n"
4641 +#: elf/dl-deps.c:519
4642 +msgid "Filters not supported with LD_TRACE_PRELINKING"
4643 +msgstr "Filtros sem suporte com LD_TRACE_PRELINKING"
4645 -#: sunrpc/rpc_main.c:307
4647 -msgid "%s: while writing output: "
4648 -msgstr "%s: enquanto escrevendo saída: "
4649 +#: elf/dl-error-skeleton.c:80
4650 +msgid "error while loading shared libraries"
4651 +msgstr "erro ao carregar bibliotecas compartilhadas"
4653 -#: argp/argp-parse.c:164
4654 -msgid "(PROGRAM ERROR) No version known!?"
4655 -msgstr "(ERRO DE PROGRAMA) Versão desconhecida!?"
4656 +#: elf/dl-error-skeleton.c:113
4657 +msgid "DYNAMIC LINKER BUG!!!"
4658 +msgstr "ERRO NO VINCULADOR DINÂMICO!!!"
4660 -#: argp/argp-parse.c:781
4661 -msgid "(PROGRAM ERROR) Option should have been recognized!?"
4662 -msgstr "(ERRO DE PROGRAMA) Opção deveria ter sido reconhecida!?"
4663 +#: elf/dl-fptr.c:88 sysdeps/hppa/dl-fptr.c:95
4664 +msgid "cannot map pages for fdesc table"
4665 +msgstr "não foi possível mapear as páginas para tabela de fdesc"
4667 -#: nis/nis_print.c:129
4668 -msgid "(Unknown object)\n"
4669 -msgstr "(Objeto desconhecido)\n"
4670 +#: elf/dl-fptr.c:192 sysdeps/hppa/dl-fptr.c:213
4671 +msgid "cannot map pages for fptr table"
4672 +msgstr "não foi possível mapear as páginas para tabela de fptr"
4674 -#: sunrpc/clnt_perr.c:124
4676 -msgid "(unknown authentication error - %d)"
4677 -msgstr "(erro de autenticação desconhecido - %d)"
4678 +#: elf/dl-fptr.c:221 sysdeps/hppa/dl-fptr.c:242
4679 +msgid "internal error: symidx out of range of fptr table"
4680 +msgstr "erro interno: symidx fora de alcance da tabela fptr"
4682 -#: sunrpc/rpcinfo.c:613
4684 -msgstr "(desconhecido)"
4685 +#: elf/dl-hwcaps.c:202 elf/dl-hwcaps.c:214
4686 +msgid "cannot create capability list"
4687 +msgstr "não foi possível criar lista de capacidades"
4691 -msgid "*** The file `%s' is stripped: no detailed analysis possible\n"
4692 -msgstr "*** O arquivo `%s' está sem símbolos (stripped): a análise detalhada é impossível\n"
4693 +#: elf/dl-load.c:369
4694 +msgid "cannot allocate name record"
4695 +msgstr "não foi possível alocar registro de nome"
4697 -#: catgets/gencat.c:266
4698 -msgid "*standard input*"
4699 -msgstr "*entrada padrão*"
4700 +#: elf/dl-load.c:455 elf/dl-load.c:568 elf/dl-load.c:657 elf/dl-load.c:753
4701 +msgid "cannot create cache for search path"
4702 +msgstr "não foi possível criar socket para caminho de pesquisa"
4704 -#: catgets/gencat.c:120
4706 -"-o OUTPUT-FILE [INPUT-FILE]...\n"
4707 -"[OUTPUT-FILE [INPUT-FILE]...]"
4709 -"-o ARQUIVO-SAÍDA [ARQUIVO-ENTRADA]...\n"
4710 -"[ARQUIVO-SAÍDA [ARQUIVO-ENTRADA...]"
4711 +#: elf/dl-load.c:551
4712 +msgid "cannot create RUNPATH/RPATH copy"
4713 +msgstr "não foi possível criar cópia de RUNPATH/RPATH"
4715 -#: stdio-common/../sysdeps/gnu/errlist.c:778
4716 -msgid ".lib section in a.out corrupted"
4717 -msgstr "seção .lib corrompida em a.out"
4718 +#: elf/dl-load.c:644
4719 +msgid "cannot create search path array"
4720 +msgstr "não foi possível criar vetor de caminho de pesquisa"
4722 -#: sunrpc/clnt_perr.c:110 sunrpc/clnt_perr.c:131
4724 -msgid "; low version = %lu, high version = %lu"
4725 -msgstr "; versão baixa = %lu, versão alta = %lu"
4726 +#: elf/dl-load.c:825
4727 +msgid "cannot stat shared object"
4728 +msgstr "não foi possível obter estado do objeto compartilhado"
4730 -#: sunrpc/clnt_perr.c:117
4732 -msgstr "; porque = "
4733 +#: elf/dl-load.c:902
4734 +msgid "cannot open zero fill device"
4735 +msgstr "não foi possível abrir dispositivo preenchido com zero"
4737 -#: locale/programs/charset.c:98
4739 -msgid "<%s> and <%s> are illegal names for range"
4740 -msgstr "<%s> e <%s> são nomes ilegais para faixa de caracteres"
4741 +#: elf/dl-load.c:949 elf/dl-load.c:2125
4742 +msgid "cannot create shared object descriptor"
4743 +msgstr "não foi possível criar descritor de objeto compartilhado"
4745 -#: locale/programs/ld-ctype.c:342
4747 -msgid "<SP> character must not be in class `%s'"
4748 -msgstr "<SP> caracter não deve estar na classe `%s'"
4749 +#: elf/dl-load.c:968 elf/dl-load.c:1499 elf/dl-load.c:1611
4750 +msgid "cannot read file data"
4751 +msgstr "não foi possível carregar dados do arquivo"
4753 -#: locale/programs/ld-ctype.c:330
4755 -msgid "<SP> character not in class `%s'"
4756 -msgstr "<SP> caracter não está na classe `%s'"
4757 +#: elf/dl-load.c:1014
4758 +msgid "ELF load command alignment not page-aligned"
4759 +msgstr "alinhamento de comando de carregamento de ELF não está alinhado por página"
4761 -#. TRANS The experienced user will know what is wrong.
4762 -#. TRANS @c This error code is a joke. Its perror text is part of the joke.
4763 -#. TRANS @c Don't change it.
4764 -#: stdio-common/../sysdeps/gnu/errlist.c:603
4767 +#: elf/dl-load.c:1021
4768 +msgid "ELF load command address/offset not properly aligned"
4769 +msgstr "endereço/deslocamento de comando de carregamento de ELF não alinhado adequadamente"
4771 -#: sysdeps/unix/sysv/linux/siglist.h:27
4774 +#: elf/dl-load.c:1106
4775 +msgid "object file has no loadable segments"
4776 +msgstr "arquivo de objeto não possui segmentos carregáveis"
4778 -#: nis/nis_print.c:318
4779 -msgid "Access Rights : "
4780 -msgstr "Direitos de Acesso : "
4781 +#: elf/dl-load.c:1115 elf/dl-load.c:1591
4782 +msgid "cannot dynamically load executable"
4783 +msgstr "não foi possível carregar dinamicamente o executável"
4785 -#: stdio-common/../sysdeps/gnu/errlist.c:774
4786 -msgid "Accessing a corrupted shared library"
4787 -msgstr "Acessando uma biblioteca compartilhado corrompida"
4788 +#: elf/dl-load.c:1136
4789 +msgid "object file has no dynamic section"
4790 +msgstr "arquivo de objeto não possui seção dinâmica"
4792 -#. TRANS The requested socket address is already in use. @xref{Socket Addresses}.
4793 -#: stdio-common/../sysdeps/gnu/errlist.c:366
4794 -msgid "Address already in use"
4795 -msgstr "Endereço já em uso"
4796 +#: elf/dl-load.c:1159
4797 +msgid "shared object cannot be dlopen()ed"
4798 +msgstr "objeto compartilhado não pode ser dlopen()ado"
4800 -#: posix/../sysdeps/posix/gai_strerror.c:30
4801 -msgid "Address family for hostname not supported"
4802 -msgstr "Família de endereços não suportada para nome de máquina"
4803 +#: elf/dl-load.c:1172
4804 +msgid "cannot allocate memory for program header"
4805 +msgstr "não foi possível alocar memória para cabeçalho do programa"
4807 -#. TRANS The address family specified for a socket is not supported; it is
4808 -#. TRANS inconsistent with the protocol being used on the socket. @xref{Sockets}.
4809 -#: stdio-common/../sysdeps/gnu/errlist.c:361
4810 -msgid "Address family not supported by protocol"
4811 -msgstr "Família de endereços não suportada pelo protocolo"
4812 +#: elf/dl-load.c:1188 elf/dl-open.c:193
4813 +msgid "invalid caller"
4814 +msgstr "chamador inválido"
4816 -#: stdio-common/../sysdeps/gnu/errlist.c:742
4817 -msgid "Advertise error"
4818 -msgstr "Erro de aviso"
4819 +#: elf/dl-load.c:1211 elf/dl-load.h:130
4820 +msgid "cannot change memory protections"
4821 +msgstr "não é possível alterar proteções de memória"
4823 -#: stdio-common/../sysdeps/unix/siglist.c:39
4824 -#: sysdeps/unix/sysv/linux/siglist.h:33
4825 -msgid "Alarm clock"
4826 -msgstr "Alarme de tempo"
4827 +#: elf/dl-load.c:1231
4828 +msgid "cannot enable executable stack as shared object requires"
4829 +msgstr "não foi possível habilitar pilhas de executável como requisitado pelo objeto compartilhado"
4831 -#. TRANS Argument list too long; used when the arguments passed to a new program
4832 -#. TRANS being executed with one of the @code{exec} functions (@pxref{Executing a
4833 -#. TRANS File}) occupy too much memory space. This condition never arises in the
4834 -#. TRANS GNU system.
4835 -#: stdio-common/../sysdeps/gnu/errlist.c:69
4836 -msgid "Argument list too long"
4837 -msgstr "Lista de argumentos muito longa"
4838 +#: elf/dl-load.c:1244
4839 +msgid "cannot close file descriptor"
4840 +msgstr "não é possível fechar o descritor de arquivo"
4842 -#: nis/nis_error.c:65
4843 -msgid "Attempt to remove a non-empty table"
4844 -msgstr "Tentativa de remoção de uma tabela que não está vazia"
4845 +#: elf/dl-load.c:1499
4846 +msgid "file too short"
4847 +msgstr "arquivo pequeno demais"
4849 -#: stdio-common/../sysdeps/gnu/errlist.c:782
4850 -msgid "Attempting to link in too many shared libraries"
4851 -msgstr "Tentando o link em muitas bibliotecas compartilhadas"
4852 +#: elf/dl-load.c:1534
4853 +msgid "invalid ELF header"
4854 +msgstr "cabeçalho de ELF inválido"
4856 -#: sunrpc/clnt_perr.c:273
4857 -msgid "Authentication OK"
4858 -msgstr "Autenticação OK"
4859 +#: elf/dl-load.c:1546
4860 +msgid "ELF file data encoding not big-endian"
4861 +msgstr "codificação de dados de arquivo ELF não é big-endian"
4864 -#: stdio-common/../sysdeps/gnu/errlist.c:561
4865 -msgid "Authentication error"
4866 -msgstr "Erro de autenticação"
4867 +#: elf/dl-load.c:1548
4868 +msgid "ELF file data encoding not little-endian"
4869 +msgstr "codificação de dados de arquivo ELF não é little-endian"
4871 -#: nis/nis_print.c:105
4872 -msgid "BOGUS OBJECT\n"
4873 -msgstr "OBJETO FALSO\n"
4874 +#: elf/dl-load.c:1552
4875 +msgid "ELF file version ident does not match current one"
4876 +msgstr "identificação de versão de arquivo ELF não corresponde ao atual"
4878 -#. TRANS Bad address; an invalid pointer was detected.
4879 -#. TRANS In the GNU system, this error never happens; you get a signal instead.
4880 -#: stdio-common/../sysdeps/gnu/errlist.c:114
4881 -msgid "Bad address"
4882 -msgstr "Endereço inválido"
4883 +#: elf/dl-load.c:1556
4884 +msgid "ELF file OS ABI invalid"
4885 +msgstr "ABI de SO do arquivo ELF inválido"
4887 -#. TRANS Bad file descriptor; for example, I/O on a descriptor that has been
4888 -#. TRANS closed or reading from a descriptor open only for writing (or vice
4890 -#: stdio-common/../sysdeps/gnu/errlist.c:82
4891 -msgid "Bad file descriptor"
4892 -msgstr "Descritor de arquivo inválido"
4893 +#: elf/dl-load.c:1559
4894 +msgid "ELF file ABI version invalid"
4895 +msgstr "versão de ABI do arquivo ELF inválido"
4897 -#: stdio-common/../sysdeps/gnu/errlist.c:730
4898 -msgid "Bad font file format"
4899 -msgstr "Formato do arquivo fonte inválido "
4900 +#: elf/dl-load.c:1562
4901 +msgid "nonzero padding in e_ident"
4902 +msgstr "espaçamento não-zero em e_ident"
4904 -#: stdio-common/../sysdeps/gnu/errlist.c:622
4905 -msgid "Bad message"
4906 -msgstr "Mensagem inválida"
4907 +#: elf/dl-load.c:1565
4908 +msgid "internal error"
4909 +msgstr "erro interno"
4911 -#: stdio-common/../sysdeps/unix/siglist.c:37
4912 -#: sysdeps/unix/sysv/linux/siglist.h:56
4913 -msgid "Bad system call"
4914 -msgstr "Chamada de sistema inválida"
4915 +#: elf/dl-load.c:1572
4916 +msgid "ELF file version does not match current one"
4917 +msgstr "versão de arquivo ELF não corresponde à atual"
4919 -#: posix/../sysdeps/posix/gai_strerror.c:32
4920 -msgid "Bad value for ai_flags"
4921 -msgstr "Valor inválido para ai_flags"
4923 -#: locale/programs/localedef.c:104
4924 -msgid "Be strictly POSIX conform"
4925 -msgstr "Se extremamente compatível com o POSIX"
4926 +#: elf/dl-load.c:1580
4927 +msgid "only ET_DYN and ET_EXEC can be loaded"
4928 +msgstr "apenas ET_DYN e ET_EXEC podem ser carregados"
4930 -#: nis/nis_print.c:301
4931 -msgid "Binary data\n"
4932 -msgstr "Dados binários\n"
4933 +#: elf/dl-load.c:1596
4934 +msgid "ELF file's phentsize not the expected size"
4935 +msgstr "phentsize do arquivo ELF não está no tamanho esperado"
4937 -#. TRANS A file that isn't a block special file was given in a situation that
4938 -#. TRANS requires one. For example, trying to mount an ordinary file as a file
4939 -#. TRANS system in Unix gives this error.
4940 -#: stdio-common/../sysdeps/gnu/errlist.c:121
4941 -msgid "Block device required"
4942 -msgstr "Dispositivo de bloco requerido"
4943 +#: elf/dl-load.c:2144
4944 +msgid "wrong ELF class: ELFCLASS64"
4945 +msgstr "classe ELF errada: ELFCLASS64"
4947 -#: sunrpc/pmap_rmt.c:347
4948 -msgid "Broadcast poll problem"
4949 -msgstr "Problema em select para broadcast"
4950 +#: elf/dl-load.c:2145
4951 +msgid "wrong ELF class: ELFCLASS32"
4952 +msgstr "classe ELF errada: ELFCLASS32"
4954 -#. TRANS Broken pipe; there is no process reading from the other end of a pipe.
4955 -#. TRANS Every library function that returns this error code also generates a
4956 -#. TRANS @code{SIGPIPE} signal; this signal terminates the program if not handled
4957 -#. TRANS or blocked. Thus, your program will never actually see @code{EPIPE}
4958 -#. TRANS unless it has handled or blocked @code{SIGPIPE}.
4959 -#: stdio-common/../sysdeps/gnu/errlist.c:234
4960 -#: stdio-common/../sysdeps/unix/siglist.c:38
4961 -#: sysdeps/unix/sysv/linux/siglist.h:32
4962 -msgid "Broken pipe"
4963 -msgstr "Pipe quebrado"
4964 +#: elf/dl-load.c:2148
4965 +msgid "cannot open shared object file"
4966 +msgstr "não é possível abrir arquivo compartilhado"
4968 -#: stdio-common/../sysdeps/unix/siglist.c:35
4969 -#: sysdeps/unix/sysv/linux/siglist.h:30
4971 -msgstr "Erro no barramento"
4972 +#: elf/dl-load.h:128
4973 +msgid "failed to map segment from shared object"
4974 +msgstr "falha no mapeamento de segmento do objeto compartilhado"
4976 -#: nis/nis_print.c:45
4979 +#: elf/dl-load.h:132
4980 +msgid "cannot map zero-fill pages"
4981 +msgstr "não é possível mapear páginas preenchidas com zero"
4983 -#: stdio-common/../sysdeps/unix/siglist.c:49
4984 -#: sysdeps/unix/sysv/linux/siglist.h:43
4985 -msgid "CPU time limit exceeded"
4986 -msgstr "Tempo de CPU excedido"
4987 +#: elf/dl-lookup.c:834
4988 +msgid "relocation error"
4989 +msgstr "erro de realocação"
4991 -#: nis/nis_error.c:32
4992 -msgid "Cache expired"
4993 -msgstr "Tempo expirado"
4994 +#: elf/dl-lookup.c:857
4995 +msgid "symbol lookup error"
4996 +msgstr "erro de procura por símbolo"
4998 -#: stdio-common/../sysdeps/gnu/errlist.c:770
4999 -msgid "Can not access a needed shared library"
5000 -msgstr "Não foi possível acessar uma biblioteca compartilhada"
5001 +#: elf/dl-open.c:101
5002 +msgid "cannot extend global scope"
5003 +msgstr "não foi possível estender escopo global"
5005 -#: nis/ypclnt.c:769
5006 -msgid "Can't bind to server which serves this domain"
5007 -msgstr "Não posso executar bind com o servidor deste domínio"
5008 +#: elf/dl-open.c:475
5009 +msgid "TLS generation counter wrapped! Please report this."
5010 +msgstr "Contador de geração TLS envolto! Por favor, relate isso."
5012 -#: nis/ypclnt.c:781
5013 -msgid "Can't communicate with portmapper"
5014 -msgstr "Não foi possível comunicar-se com o portmapper"
5015 +#: elf/dl-open.c:539
5016 +msgid "invalid mode for dlopen()"
5017 +msgstr "modo inválido para dlopen()"
5019 -#: nis/ypclnt.c:783
5020 -msgid "Can't communicate with ypbind"
5021 -msgstr "Não foi possível comunicar-se com o ypbind"
5022 +#: elf/dl-open.c:556
5023 +msgid "no more namespaces available for dlmopen()"
5024 +msgstr "não há mais espaços de nomes disponíveis para dlmopen()"
5026 -#: nis/ypclnt.c:785
5027 -msgid "Can't communicate with ypserv"
5028 -msgstr "Não foi possível comunicar-se com o ypserv"
5029 +#: elf/dl-open.c:580
5030 +msgid "invalid target namespace in dlmopen()"
5031 +msgstr "espaço de nomes de alvo inválido em dlmopen()"
5033 -#. TRANS No memory available. The system cannot allocate more virtual memory
5034 -#. TRANS because its capacity is full.
5035 -#: stdio-common/../sysdeps/gnu/errlist.c:103
5036 -msgid "Cannot allocate memory"
5037 -msgstr "Não foi possível alocar memória"
5038 +#: elf/dl-reloc.c:120
5039 +msgid "cannot allocate memory in static TLS block"
5040 +msgstr "não foi possível alocar memória em bloco TLS estático"
5042 -#. TRANS The requested socket address is not available; for example, you tried
5043 -#. TRANS to give a socket a name that doesn't match the local host name.
5044 -#. TRANS @xref{Socket Addresses}.
5045 -#: stdio-common/../sysdeps/gnu/errlist.c:373
5046 -msgid "Cannot assign requested address"
5047 -msgstr "Não foi possível acessar o endereço requisitado"
5048 +#: elf/dl-reloc.c:205
5049 +msgid "cannot make segment writable for relocation"
5050 +msgstr "não foi possível fazer segmento gravável para realocação"
5052 -#: sunrpc/pmap_rmt.c:264
5053 -msgid "Cannot create socket for broadcast rpc"
5054 -msgstr "Não é possível criar socket para rpc de broadcast"
5055 +#: elf/dl-reloc.c:276
5057 +msgid "%s: out of memory to store relocation results for %s\n"
5058 +msgstr "%s: memória insuficiente para armazenar resultados de realocação para %s\n"
5060 -#: stdio-common/../sysdeps/gnu/errlist.c:786
5061 -msgid "Cannot exec a shared library directly"
5062 -msgstr "Não foi possível executar uma biblioteca compartilhado diretamente"
5063 +#: elf/dl-reloc.c:292
5064 +msgid "cannot restore segment prot after reloc"
5065 +msgstr "não foi possível restaurar proteção de segmento após realocação"
5067 -#: sunrpc/rpc_main.c:1406
5068 -msgid "Cannot have more than one file generation flag!\n"
5069 -msgstr "Não é possível ter mais de um indicador de geração de arquivo!\n"
5070 +#: elf/dl-reloc.c:323
5071 +msgid "cannot apply additional memory protection after relocation"
5072 +msgstr "não foi possível aplicar proteção de memória adicional após realocação"
5074 -#: sunrpc/pmap_rmt.c:360
5075 -msgid "Cannot receive reply to broadcast"
5076 -msgstr "Não foi possível receber resposta para broadcast"
5077 +#: elf/dl-sym.c:136
5078 +msgid "RTLD_NEXT used in code not dynamically loaded"
5079 +msgstr "RTLD_NEXT usado em código não dinamicamente carregado"
5081 -#: sunrpc/pmap_clnt.c:74
5082 -msgid "Cannot register service"
5083 -msgstr "Não foi possível registrar serviço"
5084 +#: elf/dl-tls.c:931
5085 +msgid "cannot create TLS data structures"
5086 +msgstr "não é possível criar estruturas de dados TLS"
5088 -#. TRANS The socket has already been shut down.
5089 -#: stdio-common/../sysdeps/gnu/errlist.c:434
5090 -msgid "Cannot send after transport endpoint shutdown"
5091 -msgstr "Não é possível enviar após desligamento do ponto final de transporte"
5092 +#: elf/dl-version.c:148
5093 +msgid "version lookup error"
5094 +msgstr "erro na procura por versão"
5096 -#: sunrpc/pmap_rmt.c:322
5097 -msgid "Cannot send broadcast packet"
5098 -msgstr "Não foi possível enviar pacote de broadcast"
5099 +#: elf/dl-version.c:279
5100 +msgid "cannot allocate version reference table"
5101 +msgstr "não foi possível alocar tabela de referência de versão"
5103 -#: sunrpc/pmap_rmt.c:271
5104 -msgid "Cannot set socket option SO_BROADCAST"
5105 -msgstr "Não foi possível usar opção do socket SO_BROADCAST"
5106 +#: elf/ldconfig.c:142
5107 +msgid "Print cache"
5108 +msgstr "Mostra o cache"
5110 -#: sunrpc/rpc_main.c:1193
5111 -msgid "Cannot specify more than one input file!\n"
5112 -msgstr "Nao é possível especificar mais de um arquivo de entrada!\n"
5113 +#: elf/ldconfig.c:143
5114 +msgid "Generate verbose messages"
5115 +msgstr "Gera mensagens detalhadas"
5117 -#: sunrpc/rpc_main.c:1363
5118 -msgid "Cannot use netid flag with inetd flag!\n"
5119 -msgstr "Não é possível user tabela de indicadores com novo estilo!\n"
5120 +#: elf/ldconfig.c:144
5121 +msgid "Don't build cache"
5122 +msgstr "Não compila o cache"
5124 -#: sunrpc/rpc_main.c:1375
5125 -msgid "Cannot use netid flag without TIRPC!\n"
5126 -msgstr "Não é possível usar indicador netid sem TIRPC!\n"
5127 +#: elf/ldconfig.c:145
5128 +msgid "Don't update symbolic links"
5129 +msgstr "Não atualiza links simbólicos"
5131 -#: sunrpc/rpc_main.c:1382
5132 -msgid "Cannot use table flags with newstyle!\n"
5133 -msgstr "Não é possível usar indicadores de tabelas com novo estilo!\n"
5134 +#: elf/ldconfig.c:146
5135 +msgid "Change to and use ROOT as root directory"
5136 +msgstr "Muda para e usa ROOT como diretório raiz"
5138 -#: stdio-common/../sysdeps/gnu/errlist.c:670
5139 -msgid "Channel number out of range"
5140 -msgstr "Número do canal fora do intervalo"
5141 +#: elf/ldconfig.c:146
5145 -#: nis/nis_print.c:264
5147 -msgid "Character Separator : %c\n"
5148 -msgstr "Separador de caracteres \"%c\n"
5149 +#: elf/ldconfig.c:147
5153 -#: stdio-common/../sysdeps/unix/siglist.c:45
5154 -#: sysdeps/unix/sysv/linux/siglist.h:39
5155 -msgid "Child exited"
5156 -msgstr "Filho finalizado"
5157 +#: elf/ldconfig.c:147
5158 +msgid "Use CACHE as cache file"
5159 +msgstr "Usa CACHE como arquivo de cache"
5161 -#: sunrpc/clnt_perr.c:283
5162 -msgid "Client credential too weak"
5163 -msgstr "Credencial do cliente muito fraca"
5164 +#: elf/ldconfig.c:148
5168 -#: nis/nis_print.c:266
5169 -msgid "Columns :\n"
5170 -msgstr "Colunas :\n"
5171 +#: elf/ldconfig.c:148
5172 +msgid "Use CONF as configuration file"
5173 +msgstr "Usa CONF como arquivo de configuração"
5175 -#: stdio-common/../sysdeps/gnu/errlist.c:750
5176 -msgid "Communication error on send"
5177 -msgstr "Erro de communicação ao enviar"
5178 +#: elf/ldconfig.c:149
5179 +msgid "Only process directories specified on the command line. Don't build cache."
5180 +msgstr "Processa apenas diretórios especificados na linha de comando. Não compila o cache."
5182 -#: locale/programs/localedef.c:112
5183 -msgid "Compile locale specification"
5184 -msgstr "Compila especificação localizada"
5185 +#: elf/ldconfig.c:150
5186 +msgid "Manually link individual libraries."
5187 +msgstr "Vincula manualmente bibliotecas individuais."
5189 -#. TRANS Go home and have a glass of warm, dairy-fresh milk.
5190 -#: stdio-common/../sysdeps/gnu/errlist.c:613
5191 -msgid "Computer bought the farm"
5192 -msgstr "O computador comprou a fazenda"
5193 +#: elf/ldconfig.c:151
5197 -#: locale/programs/ld-ctype.c:1253
5198 -msgid "Computing table size for character classes might take a while..."
5199 -msgstr "O cálculo do tamanho da tabela de classes de caracteres pode demorar..."
5200 +#: elf/ldconfig.c:151
5201 +msgid "Format to use: new, old or compat (default)"
5202 +msgstr "Formato para usar: new, old ou compat (padrão)"
5204 -#: locale/programs/ld-collate.c:336
5205 -msgid "Computing table size for collation information might take a while..."
5206 -msgstr "O cálculo do tamanho da tabela de informações de comparação (collation) pode demorar..."
5207 +#: elf/ldconfig.c:152
5208 +msgid "Ignore auxiliary cache file"
5209 +msgstr "Ignora arquivo de cache auxiliar"
5211 -#. TRANS A remote host refused to allow the network connection (typically because
5212 -#. TRANS it is not running the requested service).
5213 -#: stdio-common/../sysdeps/gnu/errlist.c:451
5214 -msgid "Connection refused"
5215 -msgstr "Conexão recusada"
5216 +#: elf/ldconfig.c:160
5217 +msgid "Configure Dynamic Linker Run Time Bindings."
5218 +msgstr "Configura associações de tempo real do vinculador dinâmico."
5220 -#. TRANS A network connection was closed for reasons outside the control of the
5221 -#. TRANS local host, such as by the remote machine rebooting or an unrecoverable
5222 -#. TRANS protocol violation.
5223 -#: stdio-common/../sysdeps/gnu/errlist.c:401
5224 -msgid "Connection reset by peer"
5225 -msgstr "Conexão fechada pela outra ponta"
5226 +#: elf/ldconfig.c:347
5228 +msgid "Path `%s' given more than once"
5229 +msgstr "Caminho “%s” fornecido mais de uma vez"
5231 -#. TRANS A socket operation with a specified timeout received no response during
5232 -#. TRANS the timeout period.
5233 -#: stdio-common/../sysdeps/gnu/errlist.c:445
5234 -msgid "Connection timed out"
5235 -msgstr "Tempo esgotado para conexão"
5236 +#: elf/ldconfig.c:387
5238 +msgid "%s is not a known library type"
5239 +msgstr "%s não é um tipo de memória conhecida"
5241 -#: stdio-common/../sysdeps/unix/siglist.c:44
5242 -#: sysdeps/unix/sysv/linux/siglist.h:38
5245 +#: elf/ldconfig.c:415
5247 +msgid "Can't stat %s"
5248 +msgstr "Não foi possível obter estado de %s"
5250 -#: iconv/iconv_prog.c:66
5251 -msgid "Convert encoding of given files from one encoding to another."
5252 -msgstr "Converte codificação dos arquivos dados de uma codificação para outra."
5253 +#: elf/ldconfig.c:489
5255 +msgid "Can't stat %s\n"
5256 +msgstr "Não foi possível obter estado de %s\n"
5259 -msgid "Convert key to lower case"
5260 -msgstr "Converte chave para letras minúsculas"
5261 +#: elf/ldconfig.c:499
5263 +msgid "%s is not a symbolic link\n"
5264 +msgstr "%s não é um link simbólico\n"
5266 -#: catgets/gencat.c:236 db2/makedb.c:242 elf/sprof.c:359
5267 -#: iconv/iconv_prog.c:294 locale/programs/locale.c:267
5268 -#: locale/programs/localedef.c:403 nscd/nscd.c:223 nss/getent.c:65
5269 -#: posix/getconf.c:624
5270 +#: elf/ldconfig.c:518
5273 -"Copyright (C) %s Free Software Foundation, Inc.\n"
5274 -"This is free software; see the source for copying conditions. There is NO\n"
5275 -"warranty; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.\n"
5277 -"Copyright (C) %s Free Software Foundation, Inc.\n"
5278 -"Este é um software free; leia os fontes para condicões de cópia. Não existe\n"
5279 -"garantia; nem para comércio ou adequacão para propóstios particulares.\n"
5280 +msgid "Can't unlink %s"
5281 +msgstr "Não foi possível desvincular %s"
5283 -#: nscd/nscd_conf.c:167
5284 +#: elf/ldconfig.c:524
5286 -msgid "Could not create log file \"%s\""
5287 -msgstr "não é possível ler arquivo de registro \"%s\""
5288 +msgid "Can't link %s to %s"
5289 +msgstr "Não foi possível vincular %s a %s"
5291 -#: catgets/gencat.c:107
5292 -msgid "Create C header file NAME containing symbol definitions"
5293 -msgstr "Cria arquivo NOME com cabeçalho C contendo definições de símbolos "
5295 +#: elf/ldconfig.c:530
5296 +msgid " (changed)\n"
5297 +msgstr " (alterado)\n"
5299 -#: locale/programs/localedef.c:103
5300 -msgid "Create output even if warning messages were issued"
5301 -msgstr "Cria saída mesmo que mensagens de aviso forem produzidas"
5303 +#: elf/ldconfig.c:532
5304 +msgid " (SKIPPED)\n"
5305 +msgstr " (IGNORADO)\n"
5308 -msgid "Create simple DB database from textual input."
5309 -msgstr "Cria um base de dados DB simples de uma entrada textual."
5310 +#: elf/ldconfig.c:587
5312 +msgid "Can't find %s"
5313 +msgstr "Não foi possível localizar %s"
5315 -#: nis/nis_print.c:322
5316 +# `lstat' similar a stat(), mas para links; `stat' = obtém estado de arquivo
5317 +#: elf/ldconfig.c:603 elf/ldconfig.c:769 elf/ldconfig.c:825 elf/ldconfig.c:857
5319 -msgid "Creation Time : %s"
5320 -msgstr "Horário de criação : %s"
5321 +msgid "Cannot lstat %s"
5322 +msgstr "Não foi possível obter estado do link %s"
5324 -#: nis/nss_nisplus/nisplus-publickey.c:89
5325 -#: nis/nss_nisplus/nisplus-publickey.c:159
5326 +#: elf/ldconfig.c:610
5328 -msgid "DES entry for netname %s not unique\n"
5329 -msgstr "Entrada DES para nome de rede (netname) %s não é única\n"
5330 +msgid "Ignored file %s since it is not a regular file."
5331 +msgstr "Arquivo %s ignorado já que agora não é mais um arquivo comum."
5333 -#: nis/nis_print.c:111
5334 -msgid "DIRECTORY\n"
5335 -msgstr "DIRETÓRIO\n"
5336 +#: elf/ldconfig.c:619
5338 +msgid "No link created since soname could not be found for %s"
5339 +msgstr "Nenhum link foi criado porque um soname não foi encontrado para %s"
5341 -#: nis/nis_print.c:41
5344 +#: elf/ldconfig.c:702
5346 +msgid "Can't open directory %s"
5347 +msgstr "Não foi possível abrir o diretório %s"
5349 -#: nis/nis_print.c:37
5352 +#: elf/ldconfig.c:787 elf/ldconfig.c:845 elf/readlib.c:97
5354 +msgid "Input file %s not found.\n"
5355 +msgstr "Arquivo de entrada %s não foi localizado.\n"
5357 -#: nis/nis_error.c:51
5358 -msgid "Database for table does not exist"
5359 -msgstr "Base de dados para tabela não existe"
5360 +#: elf/ldconfig.c:794
5362 +msgid "Cannot stat %s"
5363 +msgstr "Não foi possível obter estado do arquivo %s"
5365 -#: nis/ypclnt.c:795
5366 -msgid "Database is busy"
5367 -msgstr "Base de dados está ocupada"
5368 +#: elf/ldconfig.c:939
5370 +msgid "libc5 library %s in wrong directory"
5371 +msgstr "biblioteca libc5 %s em diretório errado"
5373 -#: nis/nis_print.c:225
5374 -msgid "Default Access rights :\n"
5375 -msgstr "Direitos de Acesso padrão :\n"
5376 +#: elf/ldconfig.c:942
5378 +msgid "libc6 library %s in wrong directory"
5379 +msgstr "biblioteca libc6 %s em diretório errado"
5381 -#. TRANS No default destination address was set for the socket. You get this
5382 -#. TRANS error when you try to transmit data over a connectionless socket,
5383 -#. TRANS without first specifying a destination for the data with @code{connect}.
5384 -#: stdio-common/../sysdeps/gnu/errlist.c:429
5385 -msgid "Destination address required"
5386 -msgstr "Endereço de destino requerido"
5387 +#: elf/ldconfig.c:945
5389 +msgid "libc4 library %s in wrong directory"
5390 +msgstr "biblioteca libc4 %s em diretório errado"
5392 -#: stdio-common/../sysdeps/gnu/errlist.c:650
5393 -msgid "Device not a stream"
5394 -msgstr "Dispositivo não é um stream"
5395 +#: elf/ldconfig.c:973
5397 +msgid "libraries %s and %s in directory %s have same soname but different type."
5398 +msgstr "bibliotecas %s e %s no diretório %s possuem o mesmo soname, mas tipos diferentes."
5400 -#. TRANS No such device or address. The system tried to use the device
5401 -#. TRANS represented by a file you specified, and it couldn't find the device.
5402 -#. TRANS This can mean that the device file was installed incorrectly, or that
5403 -#. TRANS the physical device is missing or not correctly attached to the
5405 -#: stdio-common/../sysdeps/gnu/errlist.c:61
5406 -msgid "Device not configured"
5407 -msgstr "Dispositivo não configurado"
5408 +#: elf/ldconfig.c:1082
5410 +msgid "Warning: ignoring configuration file that cannot be opened: %s"
5411 +msgstr "Aviso: ignorando arquivo de configuração que não pode ser aberto: %s"
5413 -#. TRANS Resource busy; a system resource that can't be shared is already in use.
5414 -#. TRANS For example, if you try to delete a file that is the root of a currently
5415 -#. TRANS mounted filesystem, you get this error.
5416 -#: stdio-common/../sysdeps/gnu/errlist.c:128
5417 -msgid "Device or resource busy"
5418 -msgstr "Dispositivo ou recurso está ocupado"
5419 +#: elf/ldconfig.c:1148
5421 +msgid "%s:%u: bad syntax in hwcap line"
5422 +msgstr "%s:%u: sintaxe incorreta na linha hwcap"
5424 -#: nis/nis_print.c:179
5425 +#: elf/ldconfig.c:1154
5427 -msgid "Diffie-Hellmann (%d bits)\n"
5428 -msgstr "Diffie-Hellmann (%d bits)\n"
5429 +msgid "%s:%u: hwcap index %lu above maximum %u"
5430 +msgstr "%s:%u: índica de hwcap %lu acima do máximo %u"
5432 -#: nis/nis_print.c:315
5433 +#: elf/ldconfig.c:1161 elf/ldconfig.c:1169
5435 -msgid "Directory : %s\n"
5436 -msgstr "Diretório : %s\n"
5437 +msgid "%s:%u: hwcap index %lu already defined as %s"
5438 +msgstr "%s:%u: índice de hwcap %lu já definido como %s"
5440 -#. TRANS Directory not empty, where an empty directory was expected. Typically,
5441 -#. TRANS this error occurs when you are trying to delete a directory.
5442 -#: stdio-common/../sysdeps/gnu/errlist.c:480
5443 -msgid "Directory not empty"
5444 -msgstr "Diretório não vazio"
5445 +#: elf/ldconfig.c:1172
5447 +msgid "%s:%u: duplicate hwcap %lu %s"
5448 +msgstr "%s:%u: hwcap %lu duplicado %s"
5450 -#. TRANS The user's disk quota was exceeded.
5451 -#: stdio-common/../sysdeps/gnu/errlist.c:498
5452 -msgid "Disc quota exceeded"
5453 -msgstr "Cota de disco excedida"
5454 +#: elf/ldconfig.c:1194
5456 +msgid "need absolute file name for configuration file when using -r"
5457 +msgstr "necessita de nome de arquivo absoluto para arquivo de configuração quando usado -r"
5460 -msgid "Do not fork and display messages on the current tty"
5461 -msgstr "Não divide (fork) e mostre mensagens na tty corrente"
5462 +#: elf/ldconfig.c:1201 locale/programs/xmalloc.c:63 malloc/obstack.c:416
5463 +#: malloc/obstack.c:418 posix/getconf.c:458 posix/getconf.c:697
5465 +msgid "memory exhausted"
5466 +msgstr "memória esgotada"
5469 -msgid "Do not print messages while building database"
5470 -msgstr "Não mostra mensagens enquanto constrói base de dados"
5471 +#: elf/ldconfig.c:1233
5473 +msgid "%s:%u: cannot read directory %s"
5474 +msgstr "%s:%u: não foi possível ler diretório %s"
5476 -#: catgets/gencat.c:109
5477 -msgid "Do not use existing catalog, force new output file"
5478 -msgstr "Não usar catálogo existente, forçar novo arquivo de saída"
5479 +#: elf/ldconfig.c:1281
5481 +msgid "relative path `%s' used to build cache"
5482 +msgstr "caminho relativo “%s” usado para compilar o cache"
5484 -#: nis/ypclnt.c:841
5485 -msgid "Domain not bound"
5486 -msgstr "Domínio não limitado (not bound)"
5487 +#: elf/ldconfig.c:1311
5489 +msgid "Can't chdir to /"
5490 +msgstr "Não foi possível mudar o diretório para /"
5492 -#: stdio-common/../sysdeps/unix/siglist.c:32
5493 -#: sysdeps/unix/sysv/linux/siglist.h:53
5496 +#: elf/ldconfig.c:1352
5498 +msgid "Can't open cache file directory %s\n"
5499 +msgstr "Não foi possível abrir o diretório de arquivo cache %s\n"
5501 -#: nis/nis_print.c:120
5504 +#: elf/ldd.bash.in:42
5505 +msgid "Written by %s and %s.\n"
5506 +msgstr "Escrito por %s e %s.\n"
5508 -#: nis/nis_print.c:299
5509 -msgid "Encrypted data\n"
5510 -msgstr "Dado criptografado\n"
5511 +#: elf/ldd.bash.in:47
5513 +"Usage: ldd [OPTION]... FILE...\n"
5514 +" --help print this help and exit\n"
5515 +" --version print version information and exit\n"
5516 +" -d, --data-relocs process data relocations\n"
5517 +" -r, --function-relocs process data and function relocations\n"
5518 +" -u, --unused print unused direct dependencies\n"
5519 +" -v, --verbose print all information\n"
5521 +"Uso: ldd [OPÇÃO]... ARQUIVO...\n"
5522 +" --help exibe essa ajuda e sai\n"
5523 +" --version exibe informação da versão e sai\n"
5524 +" -d, --data-relocs processa realocações de dados\n"
5525 +" -r, --function-relocs processa realocações de dados e funções\n"
5526 +" -u, --unused exibe dependências diretas não usadas\n"
5527 +" -v, --verbose exibe todas informações\n"
5529 +#: elf/ldd.bash.in:80
5530 +msgid "ldd: option \\`$1' is ambiguous"
5531 +msgstr "ldd: opção “$1” é ambígua"
5533 +#: elf/ldd.bash.in:87
5534 +msgid "unrecognized option"
5535 +msgstr "opção não reconhecida"
5537 +#: elf/ldd.bash.in:88 elf/ldd.bash.in:125
5538 +msgid "Try \\`ldd --help' for more information."
5539 +msgstr "Tente “ldd --help” para mais informações."
5541 +#: elf/ldd.bash.in:124
5542 +msgid "missing file arguments"
5543 +msgstr "faltando argumento ARQUIVO"
5545 +#. TRANS This is a ``file doesn't exist'' error
5546 +#. TRANS for ordinary files that are referenced in contexts where they are
5547 +#. TRANS expected to already exist.
5548 +#: elf/ldd.bash.in:147 sysdeps/gnu/errlist.c:37
5549 +msgid "No such file or directory"
5550 +msgstr "Arquivo ou diretório inexistente"
5552 -#: nis/nis_error.c:52
5553 -msgid "Entry/Table type mismatch"
5554 -msgstr "Tipo de entrada/tabela incompatíveis"
5555 +#: elf/ldd.bash.in:150 inet/rcmd.c:480
5556 +msgid "not regular file"
5557 +msgstr "não é arquivo normal"
5559 -#: nis/nis_error.c:56
5560 -msgid "Error in RPC subsystem"
5561 -msgstr "Erro no subsistema RPC"
5562 +# após "for" vem um nome de arquivo
5563 +#: elf/ldd.bash.in:153
5564 +msgid "warning: you do not have execution permission for"
5565 +msgstr "aviso: você não tem permissão para execução para"
5567 -#: nis/nis_error.c:66
5568 -msgid "Error in accessing NIS+ cold start file. Is NIS+ installed?"
5569 -msgstr "Erro acessando arquivo inicial do NIS+. O NIS+ está instalado?"
5570 +#: elf/ldd.bash.in:170
5571 +msgid "\tnot a dynamic executable"
5572 +msgstr "\tnão é um executável dinâmico"
5574 -#: string/../sysdeps/mach/_strerror.c:56
5575 -#: sysdeps/mach/hurd/mips/dl-machine.c:67
5576 -msgid "Error in unknown error system: "
5577 -msgstr "Falha no erro desconhecido do sistema: "
5578 +#: elf/ldd.bash.in:178
5579 +msgid "exited with unknown exit code"
5580 +msgstr "saiu com código de saída desconhecido"
5582 -#: nis/nis_error.c:59
5583 -msgid "Error while talking to callback proc"
5584 -msgstr "Erro durante a chamada a processo callback"
5585 +# após "for" vem um nome de arquivo
5586 +#: elf/ldd.bash.in:183
5587 +msgid "error: you do not have read permission for"
5588 +msgstr "erro: você não possui permissão de leitura para"
5590 -#: inet/ruserpass.c:161
5591 -msgid "Error: .netrc file is readable by others."
5592 -msgstr "Erro: arquivo .netrc é legível por outros."
5593 +#: elf/pldd-xx.c:105
5595 +msgid "cannot find program header of process"
5596 +msgstr "não foi possível localizar cabeçalho do programa do processo"
5598 -#: stdio-common/../sysdeps/gnu/errlist.c:710
5599 -msgid "Exchange full"
5600 -msgstr "Troca completa"
5601 +#: elf/pldd-xx.c:110
5603 +msgid "cannot read program header"
5604 +msgstr "não foi possível ler o cabeçalho do programa"
5606 -#. TRANS Invalid executable file format. This condition is detected by the
5607 -#. TRANS @code{exec} functions; see @ref{Executing a File}.
5608 -#: stdio-common/../sysdeps/gnu/errlist.c:75
5609 -msgid "Exec format error"
5610 -msgstr "Erro no formato exec"
5611 +#: elf/pldd-xx.c:135
5613 +msgid "cannot read dynamic section"
5614 +msgstr "não foi possível ler a seção dinâmica"
5616 -#: locale/programs/localedef.c:190
5617 -msgid "FATAL: system does not define `_POSIX2_LOCALEDEF'"
5618 -msgstr "FATAL: sistema não define `_POSIX2_LOCALEDEF'"
5619 +#: elf/pldd-xx.c:147
5621 +msgid "cannot read r_debug"
5622 +msgstr "não foi possível ler r_debug"
5624 -#: locale/programs/localedef.c:99
5625 -msgid "FILE contains mapping from symbolic names to UCS4 values"
5626 -msgstr "ARQUIVO contém mapas de nomes simbólicos para valores UCS4"
5627 +#: elf/pldd-xx.c:167
5629 +msgid "cannot read program interpreter"
5630 +msgstr "não foi possível ler o interpretador de programa"
5632 -#: sunrpc/clnt_perr.c:287
5633 -msgid "Failed (unspecified error)"
5634 -msgstr "Falha (erro não especificado)"
5635 +#: elf/pldd-xx.c:197
5637 +msgid "cannot read link map"
5638 +msgstr "não foi possível ler o mapa de links"
5640 -#: stdio-common/../sysdeps/gnu/errlist.c:762
5641 -msgid "File descriptor in bad state"
5642 -msgstr "Descritor de arquivo em mal estado"
5643 +#: elf/pldd-xx.c:209
5645 +msgid "cannot read object name"
5646 +msgstr "não foi possível ler o nome do objeto"
5648 -#. TRANS File exists; an existing file was specified in a context where it only
5649 -#. TRANS makes sense to specify a new file.
5650 -#: stdio-common/../sysdeps/gnu/errlist.c:134
5651 -msgid "File exists"
5652 -msgstr "Arquivo existe"
5653 +#: elf/pldd-xx.c:219
5655 +msgid "cannot allocate buffer for object name"
5656 +msgstr "não foi possível alocar buffer para o nome de objeto"
5658 -#: stdio-common/../sysdeps/gnu/errlist.c:726
5659 -msgid "File locking deadlock error"
5660 -msgstr "Erro de bloqueio em arquivo (deadlock)"
5662 +msgid "List dynamic shared objects loaded into process."
5663 +msgstr "Lista objetos compartilhados dinâmicos carregados no processo."
5665 -#. TRANS Filename too long (longer than @code{PATH_MAX}; @pxref{Limits for
5666 -#. TRANS Files}) or host name too long (in @code{gethostname} or
5667 -#. TRANS @code{sethostname}; @pxref{Host Identification}).
5668 -#: stdio-common/../sysdeps/gnu/errlist.c:464
5669 -msgid "File name too long"
5670 -msgstr "Nome de arquivo muito longo"
5675 -#: stdio-common/../sysdeps/unix/siglist.c:50
5676 -#: sysdeps/unix/sysv/linux/siglist.h:44
5677 -msgid "File size limit exceeded"
5678 -msgstr "Excedido tamanho limite de arquivo"
5681 +msgid "Exactly one parameter with process ID required.\n"
5682 +msgstr "É necessário exatamente um parâmetro com ID de processo.\n"
5684 -#. TRANS File too big; the size of a file would be larger than allowed by the system.
5685 -#: stdio-common/../sysdeps/gnu/errlist.c:202
5686 -msgid "File too large"
5687 -msgstr "Arquivo muito grande"
5690 +msgid "invalid process ID '%s'"
5691 +msgstr "ID de processo inválido “%s”"
5693 -#: nis/nis_error.c:37
5694 -msgid "First/Next chain broken"
5695 -msgstr "Primeira/próxima corrente quebrada"
5698 +msgid "cannot open %s"
5699 +msgstr "não foi possível abrir %s"
5701 -#: stdio-common/../sysdeps/unix/siglist.c:33
5702 -#: sysdeps/unix/sysv/linux/siglist.h:28
5703 -msgid "Floating point exception"
5704 -msgstr "Exceção de ponto flutuante"
5707 +msgid "cannot open %s/task"
5708 +msgstr "não foi possível abrir %s/tarefa"
5710 -#: nis/nis_error.c:67
5711 -msgid "Full resync required for directory"
5712 -msgstr "Resincronismo total necessário para o diretório"
5715 +msgid "cannot prepare reading %s/task"
5716 +msgstr "não foi possível preparar a leitura de %s/tarefa"
5718 -#. TRANS Function not implemented. Some functions have commands or options defined
5719 -#. TRANS that might not be supported in all implementations, and this is the kind
5720 -#. TRANS of error you get if you request them and they are not supported.
5721 -#: stdio-common/../sysdeps/gnu/errlist.c:573
5722 -msgid "Function not implemented"
5723 -msgstr "Função não implementada"
5726 +msgid "invalid thread ID '%s'"
5727 +msgstr "ID de thread “%s” inválido"
5729 -#: nis/nis_print.c:114
5734 +msgid "cannot attach to process %lu"
5735 +msgstr "não foi possível anexar ao processado %lu"
5737 -#: argp/argp-help.c:231
5740 -msgid "Garbage in ARGP_HELP_FMT: %s"
5741 -msgstr "Lixo em ARGP_HELP_FMT: %s"
5742 +msgid "cannot get information about process %lu"
5743 +msgstr "não foi possível obter informação sobre o processo %lu"
5745 -#: catgets/gencat.c:115
5747 -"Generate message catalog.\\vIf INPUT-FILE is -, input is read from standard input. If OUTPUT-FILE\n"
5748 -"is -, output is written to standard output.\n"
5750 -"Gera catálogo de mensagens.\\vSe ARQUIVO-DE-ENTRADA é -, a entrada é lidada entrada padrão. Se ARQUIVO-DE-SAÍDA\n"
5751 -"é -, a saída é escrita para a saída padrão.\n"
5754 +msgid "process %lu is no ELF program"
5755 +msgstr "processo %lu não é um programa ELF"
5757 -#: nis/nis_error.c:36
5758 -msgid "Generic system error"
5759 -msgstr "Erro desconhecido de sistema"
5760 +#: elf/readelflib.c:34
5762 +msgid "file %s is truncated\n"
5763 +msgstr "arquivo %s está truncado\n"
5765 -#: locale/programs/locale.c:75
5766 -msgid "Get locale-specific information."
5767 -msgstr "Pegar informações específicas de localização."
5768 +#: elf/readelflib.c:66
5770 +msgid "%s is a 32 bit ELF file.\n"
5771 +msgstr "%s é um arquivo ELF de 32 bits.\n"
5773 -#: argp/argp-parse.c:88
5774 -msgid "Give a short usage message"
5775 -msgstr "Retorna uma mensagem de uso curta"
5776 +#: elf/readelflib.c:68
5778 +msgid "%s is a 64 bit ELF file.\n"
5779 +msgstr "%s é um arquivo ELF de 64 bits.\n"
5781 -#: argp/argp-parse.c:87
5782 -msgid "Give this help list"
5783 -msgstr "Retorna este arquivo de ajuda"
5784 +#: elf/readelflib.c:70
5786 +msgid "Unknown ELFCLASS in file %s.\n"
5787 +msgstr "ELFCLASS desconhecida em arquivo %s.\n"
5789 -#. TRANS This error code has no purpose.
5790 -#: stdio-common/../sysdeps/gnu/errlist.c:618
5791 -msgid "Gratuitous error"
5792 -msgstr "Erro gratuito"
5793 +#: elf/readelflib.c:77
5795 +msgid "%s is not a shared object file (Type: %d).\n"
5796 +msgstr "%s não é um arquivo de objeto compartilhado (Tipo: %d).\n"
5798 -#: nis/nis_print.c:317
5799 +#: elf/readelflib.c:108
5801 -msgid "Group : %s\n"
5802 -msgstr "Grupo : %s\n"
5803 +msgid "more than one dynamic segment\n"
5804 +msgstr "mais do que um segmento dinâmico\n"
5806 -#: nis/nis_print.c:248
5807 -msgid "Group Flags :"
5808 -msgstr "Indicadores de Grupo :"
5809 +#: elf/readlib.c:103
5811 +msgid "Cannot fstat file %s.\n"
5812 +msgstr "Não é possível obter estado do arquivo %s.\n"
5814 -#: nis/nis_print_group_entry.c:113
5815 +#: elf/readlib.c:114
5817 -msgid "Group entry for \"%s.%s\" group:\n"
5818 -msgstr "Entrada de Grupo para grupo \"%s.%s\":\n"
5819 +msgid "File %s is empty, not checked."
5820 +msgstr "Arquivo %s está vazio, não verificado."
5822 -#: argp/argp-parse.c:91
5823 -msgid "Hang for SECS seconds (default 3600)"
5824 -msgstr "Pendurar por SEG segundos (o padrão é 3600)"
5825 +#: elf/readlib.c:120
5827 +msgid "File %s is too small, not checked."
5828 +msgstr "Arquivo %s é pequeno demais, não verificado."
5830 -#: stdio-common/../sysdeps/unix/siglist.c:26
5831 -#: sysdeps/unix/sysv/linux/siglist.h:22
5833 -msgstr "Desconexão"
5834 +#: elf/readlib.c:130
5836 +msgid "Cannot mmap file %s.\n"
5837 +msgstr "Não foi possível executar mmap no arquivo %s.\n"
5839 -#: nscd/grpcache.c:238
5840 +#: elf/readlib.c:169
5842 -msgid "Haven't found \"%d\" in group cache!"
5843 -msgstr "Não encontrado \"%d\" no cache de grupo!"
5844 +msgid "%s is not an ELF file - it has the wrong magic bytes at the start.\n"
5845 +msgstr "%s não é um arquivo ELF – ele tem os magic bytes errados no início.\n"
5847 -#: nscd/pwdcache.c:235
5850 -msgid "Haven't found \"%d\" in password cache!"
5851 -msgstr "Não encontrado \"%d\" no cache de senhas!"
5853 +"Usage: sln src dest|file\n"
5856 +"Uso: sln fonte destino|arquivo\n"
5859 -#: nscd/grpcache.c:210
5862 -msgid "Haven't found \"%s\" in group cache!"
5863 -msgstr "Não encontrado \"%s\" no cache de grupo!"
5864 +msgid "%s: file open error: %m\n"
5865 +msgstr "%s: erro na abertura do arquivo: %m\n"
5867 -#: nscd/hstcache.c:297 nscd/hstcache.c:328 nscd/hstcache.c:359
5868 -#: nscd/hstcache.c:390
5871 -msgid "Haven't found \"%s\" in hosts cache!"
5872 -msgstr "Não encontrado \"%s\" no cache de máquinas!"
5873 +msgid "No target in line %d\n"
5874 +msgstr "Nenhum alvo na linha %d\n"
5876 -#: nscd/pwdcache.c:207
5879 -msgid "Haven't found \"%s\" in password cache!"
5880 -msgstr "Não encontrado \"%s\" no cache de senhas! "
5881 +msgid "%s: destination must not be a directory\n"
5882 +msgstr "%s: destino não pode ser um diretório\n"
5884 -#. TRANS The remote host for a requested network connection is down.
5885 -#: stdio-common/../sysdeps/gnu/errlist.c:469
5886 -msgid "Host is down"
5887 -msgstr "Host está desligado"
5890 +msgid "%s: failed to remove the old destination\n"
5891 +msgstr "%s: falha ao remover o destino antigo\n"
5893 -#: resolv/herror.c:75
5894 -msgid "Host name lookup failure"
5895 -msgstr "Falha na procura do nome de host"
5898 +msgid "%s: invalid destination: %s\n"
5899 +msgstr "%s: destino inválido: %s\n"
5901 -#: stdio-common/../sysdeps/unix/siglist.c:48
5902 -#: sysdeps/unix/sysv/linux/siglist.h:42
5903 -msgid "I/O possible"
5904 -msgstr "possível E/S"
5905 +#: elf/sln.c:189 elf/sln.c:198
5907 +msgid "Invalid link from \"%s\" to \"%s\": %s\n"
5908 +msgstr "Link inválido de “%s” para “%s”: %s\n"
5911 +#: elf/sotruss.sh:32
5914 -"INPUT-FILE OUTPUT-FILE\n"
5915 -"-o OUTPUT-FILE INPUT-FILE\n"
5917 +"Usage: sotruss [OPTION...] [--] EXECUTABLE [EXECUTABLE-OPTION...]\n"
5918 +" -F, --from FROMLIST Trace calls from objects on FROMLIST\n"
5919 +" -T, --to TOLIST Trace calls to objects on TOLIST\n"
5921 +" -e, --exit Also show exits from the function calls\n"
5922 +" -f, --follow Trace child processes\n"
5923 +" -o, --output FILENAME Write output to FILENAME (or FILENAME.$PID in case\n"
5924 +"\t\t\t -f is also used) instead of standard error\n"
5926 +" -?, --help Give this help list\n"
5927 +" --usage Give a short usage message\n"
5928 +" --version Print program version"
5930 -"ARQUIVO-ENTRADA ARQUIVO-SAÏDA\n"
5931 -"-o ARQUIVO-SAÍDA ARQUIVO-ENTRADA\n"
5932 -"-u ARQUIVO-ENTRADA"
5933 +"Uso: sotruss [OPÇÃO...] [--] EXECUTÁVEL [OPÇÃO-EXECUTÁVEL...]\n"
5934 +" -F, --from LISTA-DE Rastreia chamadas a partir de objetos na LISTA-DE\n"
5935 +" -T, --to LISTA-PARA Rastreia chamadas para objetos na LISTA-PARA\n"
5937 +" -e, --exit Também mostra saídas de chamadas de função\n"
5938 +" -f, --follow Rastreia processos filhos\n"
5939 +" -o, --output ARQUIVO Escreve a saída para ARQUIVO (ou ARQUIVO.$PID, caso\n"
5940 +" -f também seja usada) em vez da saída de erro\n"
5942 +" -?, --help Fornece essa lista de ajuda\n"
5943 +" --usage Fornece uma mensagem curta de uso\n"
5944 +" --version Exibe a versão do programa"
5946 -#: stdio-common/../sysdeps/unix/siglist.c:31
5949 +# caractere de nova linha (\n) inserido visando não ultrapassar 80 caracteres.
5950 +#: elf/sotruss.sh:46
5951 +msgid "Mandatory arguments to long options are also mandatory for any corresponding\\nshort options.\\n"
5952 +msgstr "Argumentos obrigatórios para opções longas são também obrigatórios para\\nqualquer opção curta correspondente.\\n"
5954 -#: nis/nis_print.c:35
5957 +#: elf/sotruss.sh:55
5958 +msgid "%s: option requires an argument -- '%s'\\n"
5959 +msgstr "%s: opção requer um argumento -- “%s”\\n"
5961 -#: stdio-common/../sysdeps/gnu/errlist.c:626
5962 -msgid "Identifier removed"
5963 -msgstr "Identificador removido"
5964 +#: elf/sotruss.sh:61
5965 +msgid "%s: option is ambiguous; possibilities:"
5966 +msgstr "%s: opção é ambígua; possibilidades:"
5968 -#: stdio-common/../sysdeps/unix/siglist.c:29
5969 -#: sysdeps/unix/sysv/linux/siglist.h:25
5970 -msgid "Illegal instruction"
5971 -msgstr "Instrução ilegal"
5972 +#: elf/sotruss.sh:79
5973 +msgid "Written by %s.\\n"
5974 +msgstr "Escrito por %s.\\n"
5976 -#: nis/nis_error.c:61
5977 -msgid "Illegal object type for operation"
5978 -msgstr "Tipo ilegal de objeto para a operação"
5980 -#. TRANS Invalid seek operation (such as on a pipe).
5981 -#: stdio-common/../sysdeps/gnu/errlist.c:213
5982 -msgid "Illegal seek"
5983 -msgstr "Procura ilegal"
5984 +#: elf/sotruss.sh:86
5986 +"Usage: %s [-ef] [-F FROMLIST] [-o FILENAME] [-T TOLIST] [--exit]\n"
5987 +"\t [--follow] [--from FROMLIST] [--output FILENAME] [--to TOLIST]\n"
5988 +"\t [--help] [--usage] [--version] [--]\n"
5989 +"\t EXECUTABLE [EXECUTABLE-OPTION...]\\n"
5991 +"Uso: %s [-ef] [-F LISTA-DE] [-o ARQUIVO] [-T LISTA-PARA] [--exit]\n"
5992 +"\t [--follow] [--from LISTA-DE] [--output ARQUIVO] [--to LISTA-PARA]\n"
5993 +"\t [--help] [--usage] [--version] [--]\n"
5994 +"\t EXECUTÁVEL [OPÇÃO-EXECUTÁVEL...]\\n"
5996 -#. TRANS Inappropriate file type or format. The file was the wrong type for the
5997 -#. TRANS operation, or a data file had the wrong format.
5999 -#. TRANS On some systems @code{chmod} returns this error if you try to set the
6000 -#. TRANS sticky bit on a non-directory file; @pxref{Setting Permissions}.
6001 -#: stdio-common/../sysdeps/gnu/errlist.c:556
6002 -msgid "Inappropriate file type or format"
6003 -msgstr "Tipo ou formato de arquivo inapropriado"
6004 +#: elf/sotruss.sh:134
6005 +msgid "%s: unrecognized option '%c%s'\\n"
6006 +msgstr "%s: opção não reconhecida “%c%s”\\n"
6008 -#. TRANS Inappropriate I/O control operation, such as trying to set terminal
6009 -#. TRANS modes on an ordinary file.
6010 -#: stdio-common/../sysdeps/gnu/errlist.c:188
6011 -msgid "Inappropriate ioctl for device"
6012 -msgstr "ioctl inapropriado para dispositivo"
6014 +msgid "Output selection:"
6015 +msgstr "Seleção de saída:"
6017 -#. TRANS In the GNU system, servers supporting the @code{term} protocol return
6018 -#. TRANS this error for certain operations when the caller is not in the
6019 -#. TRANS foreground process group of the terminal. Users do not usually see this
6020 -#. TRANS error because functions such as @code{read} and @code{write} translate
6021 -#. TRANS it into a @code{SIGTTIN} or @code{SIGTTOU} signal. @xref{Job Control},
6022 -#. TRANS for information on process groups and these signals.
6023 -#: stdio-common/../sysdeps/gnu/errlist.c:589
6024 -msgid "Inappropriate operation for background process"
6025 -msgstr "Operação inapropriada para processo em background"
6027 +msgid "print list of count paths and their number of use"
6028 +msgstr "mostra lista de número de rotas e seu número de uso"
6030 -#: sysdeps/unix/sysv/linux/siglist.h:62
6031 -msgid "Information request"
6032 -msgstr "Requesição de informação"
6034 +msgid "generate flat profile with counts and ticks"
6035 +msgstr "gera perfil com contadores e “ticks”"
6037 -#: iconv/iconv_prog.c:57
6038 -msgid "Information:"
6039 -msgstr "Informação:"
6041 +msgid "generate call graph"
6042 +msgstr "gera gráfico de chamadas"
6044 -#: locale/programs/localedef.c:94
6045 -msgid "Input Files:"
6046 -msgstr "Arquivos de entrada:"
6048 +msgid "Read and display shared object profiling data."
6049 +msgstr "Lê e mostra dados de perfil do objeto compartilhado."
6051 -#: iconv/iconv_prog.c:54
6052 -msgid "Input/Output format specification:"
6053 -msgstr "Especificação de formato de Entrada/Saída:"
6055 +msgid "SHOBJ [PROFDATA]"
6056 +msgstr "SHOBJ [DADOSPERFIL]"
6058 -#. TRANS Input/output error; usually used for physical read or write errors.
6059 -#: stdio-common/../sysdeps/gnu/errlist.c:52
6060 -msgid "Input/output error"
6061 -msgstr "Erro de entrada/saída"
6064 +msgid "failed to load shared object `%s'"
6065 +msgstr "falha no carregamento do objeto compartilhado “%s”"
6067 -#: nis/ypclnt.c:775
6068 -msgid "Internal NIS error"
6069 -msgstr "Erro NIS interno"
6070 +#: elf/sprof.c:442 elf/sprof.c:825 elf/sprof.c:923
6072 +msgid "cannot create internal descriptor"
6073 +msgstr "não é possível criar descritor interno"
6075 -#: nis/ypclnt.c:839
6076 -msgid "Internal ypbind error"
6077 -msgstr "Erro interno de ypbind"
6080 +msgid "Reopening shared object `%s' failed"
6081 +msgstr "Reabertura de objeto compartilhado “%s” falhou"
6083 -#: stdio-common/../sysdeps/unix/siglist.c:27
6084 -#: sysdeps/unix/sysv/linux/siglist.h:23
6086 -msgstr "Interrupção"
6087 +#: elf/sprof.c:561 elf/sprof.c:656
6089 +msgid "reading of section headers failed"
6090 +msgstr "a leitura de cabeçalhos de seção falhou"
6092 -#. TRANS Interrupted function call; an asynchronous signal occurred and prevented
6093 -#. TRANS completion of the call. When this happens, you should try the call
6096 -#. TRANS You can choose to have functions resume after a signal that is handled,
6097 -#. TRANS rather than failing with @code{EINTR}; see @ref{Interrupted
6098 -#. TRANS Primitives}.
6099 -#: stdio-common/../sysdeps/gnu/errlist.c:47
6100 -msgid "Interrupted system call"
6101 -msgstr "Chamada de sistema interrompida"
6102 +#: elf/sprof.c:569 elf/sprof.c:664
6104 +msgid "reading of section header string table failed"
6105 +msgstr "a leitura da tabela de string do cabeçalho da seção falhou"
6107 -#: stdio-common/../sysdeps/gnu/errlist.c:666
6108 -msgid "Interrupted system call should be restarted"
6109 -msgstr "Chamada de sistema interrompida deve ser reiniciada"
6112 +msgid "*** Cannot read debuginfo file name: %m\n"
6113 +msgstr "*** Não foi possível ler o arquivo de debuginfo: %m\n"
6115 -#: nis/nis_error.c:44
6116 -msgid "Invalid Object for operation"
6117 -msgstr "Objeto inválido para operação"
6120 +msgid "cannot determine file name"
6121 +msgstr "não foi possível determinar o nome do arquivo"
6123 -#. TRANS Invalid argument. This is used to indicate various kinds of problems
6124 -#. TRANS with passing the wrong argument to a library function.
6125 -#: stdio-common/../sysdeps/gnu/errlist.c:164
6126 -msgid "Invalid argument"
6127 -msgstr "Argumento inválido"
6130 +msgid "reading of ELF header failed"
6131 +msgstr "a leitura de cabeçalho de ELF falhou"
6133 -#: posix/regex.c:1018
6134 -msgid "Invalid back reference"
6135 -msgstr "Referência anterior inválida"
6138 +msgid "*** The file `%s' is stripped: no detailed analysis possible\n"
6139 +msgstr "*** O arquivo “%s” está sem símbolos (stripped): análise detalhada é impossível\n"
6141 -#: posix/regex.c:1016
6142 -msgid "Invalid character class name"
6143 -msgstr "Nome de classe de caracter inválido"
6146 +msgid "failed to load symbol data"
6147 +msgstr "falha ao carregar dados de símbolos"
6149 -#: sunrpc/clnt_perr.c:275
6150 -msgid "Invalid client credential"
6151 -msgstr "Credencial de cliente inválido"
6154 +msgid "cannot load profiling data"
6155 +msgstr "impossível carregar dados de perfil"
6157 -#: sunrpc/clnt_perr.c:279
6158 -msgid "Invalid client verifier"
6159 -msgstr "Verificador de cliente inválido"
6162 +msgid "while stat'ing profiling data file"
6163 +msgstr "enquanto obtinha estado do arquivo de dados de perfil"
6165 -#: posix/regex.c:1015
6166 -msgid "Invalid collation character"
6167 -msgstr "Caracter de comparação inválido"
6170 +msgid "profiling data file `%s' does not match shared object `%s'"
6171 +msgstr "arquivo de dados de perfil “%s” não coincide com objetos compartilhados “%s”"
6173 -#: posix/regex.c:1022
6174 -msgid "Invalid content of \\{\\}"
6175 -msgstr "Conteúdo inválido de \\{\\}"
6178 +msgid "failed to mmap the profiling data file"
6179 +msgstr "falha para mapear (mmap) o arquivo de dados de perfil"
6181 -#. TRANS An attempt to make an improper link across file systems was detected.
6182 -#. TRANS This happens not only when you use @code{link} (@pxref{Hard Links}) but
6183 -#. TRANS also when you rename a file with @code{rename} (@pxref{Renaming Files}).
6184 -#: stdio-common/../sysdeps/gnu/errlist.c:141
6185 -msgid "Invalid cross-device link"
6186 -msgstr "Link entre dispositivos inválido"
6189 +msgid "error while closing the profiling data file"
6190 +msgstr "erro ao fechar arquivo de dados de perfil"
6192 -#: stdio-common/../sysdeps/gnu/errlist.c:702
6193 -msgid "Invalid exchange"
6194 -msgstr "Troca inválida"
6197 +msgid "`%s' is no correct profile data file for `%s'"
6198 +msgstr "“%s” não é o arquivo de perfil de dados correto para “%s”"
6200 -#. TRANS While decoding a multibyte character the function came along an invalid
6201 -#. TRANS or an incomplete sequence of bytes or the given wide character is invalid.
6202 -#: stdio-common/../sysdeps/gnu/errlist.c:579
6203 -msgid "Invalid or incomplete multibyte or wide character"
6204 -msgstr "Multibyte ou caracter largo inválido"
6205 +#: elf/sprof.c:1080 elf/sprof.c:1138
6207 +msgid "cannot allocate symbol data"
6208 +msgstr "não foi possível alocar dados de símbolos"
6210 -#: posix/regex.c:1025
6211 -msgid "Invalid preceding regular expression"
6212 -msgstr "Expressão regular precedente inválida"
6213 +#: iconv/iconv_charmap.c:141 iconv/iconv_prog.c:445
6215 +msgid "cannot open output file"
6216 +msgstr "não foi possível abrir arquivo de saída"
6218 -#: posix/regex.c:1023
6219 -msgid "Invalid range end"
6220 -msgstr "Intervalo final inválida"
6221 +#: iconv/iconv_charmap.c:187 iconv/iconv_prog.c:308
6223 +msgid "error while closing input `%s'"
6224 +msgstr "erro ao fechar a entrada “%s”"
6226 -#: posix/regex.c:1014
6227 -msgid "Invalid regular expression"
6228 -msgstr "Expressão regular inválida"
6229 +#: iconv/iconv_charmap.c:435
6231 +msgid "illegal input sequence at position %Zd"
6232 +msgstr "sequência de entrada ilegal na posição %Zd"
6234 -#: stdio-common/../sysdeps/gnu/errlist.c:718
6235 -msgid "Invalid request code"
6236 -msgstr "Código de requisição inválido"
6237 +#: iconv/iconv_charmap.c:454 iconv/iconv_prog.c:536
6239 +msgid "incomplete character or shift sequence at end of buffer"
6240 +msgstr "caractere incompleto ou mudança de sequência no final do buffer"
6242 -#: stdio-common/../sysdeps/gnu/errlist.c:706
6243 -msgid "Invalid request descriptor"
6244 -msgstr "Descritor de requisição inválido"
6245 +#: iconv/iconv_charmap.c:499 iconv/iconv_charmap.c:535 iconv/iconv_prog.c:579
6246 +#: iconv/iconv_prog.c:615
6248 +msgid "error while reading the input"
6249 +msgstr "erro ao ler a entrada"
6251 -#: sunrpc/clnt_perr.c:285
6252 -msgid "Invalid server verifier"
6253 -msgstr "Verificador de servidor inválido"
6254 +#: iconv/iconv_charmap.c:517 iconv/iconv_prog.c:597
6256 +msgid "unable to allocate buffer for input"
6257 +msgstr "não foi possível alocar espaço para entrada"
6259 -#: stdio-common/../sysdeps/gnu/errlist.c:722
6260 -msgid "Invalid slot"
6261 -msgstr "Slot inválido"
6262 +#: iconv/iconv_prog.c:59
6263 +msgid "Input/Output format specification:"
6264 +msgstr "Especificação de formato de entrada/saída:"
6266 -#. TRANS File is a directory; you cannot open a directory for writing,
6267 -#. TRANS or create or remove hard links to it.
6268 -#: stdio-common/../sysdeps/gnu/errlist.c:158
6269 -msgid "Is a directory"
6270 -msgstr "É um diretório"
6271 +#: iconv/iconv_prog.c:60
6272 +msgid "encoding of original text"
6273 +msgstr "codificação para o texto original"
6275 -#: stdio-common/../sysdeps/gnu/errlist.c:806
6276 -msgid "Is a named type file"
6277 -msgstr "É um arquivo tipo nomeável"
6278 +#: iconv/iconv_prog.c:61
6279 +msgid "encoding for output"
6280 +msgstr "codificação para a saída"
6282 -#: nis/nis_print.c:187
6283 -msgid "Kerberos.\n"
6284 -msgstr "Kerberos.\n"
6285 +#: iconv/iconv_prog.c:62
6286 +msgid "Information:"
6287 +msgstr "Informação:"
6289 -#: stdio-common/../sysdeps/unix/siglist.c:34
6290 -#: sysdeps/unix/sysv/linux/siglist.h:29
6293 +#: iconv/iconv_prog.c:63
6294 +msgid "list all known coded character sets"
6295 +msgstr "lista todas as coleções de caracteres codificados"
6297 -#: nis/nis_print.c:123
6300 +#: iconv/iconv_prog.c:64 locale/programs/localedef.c:120
6301 +msgid "Output control:"
6302 +msgstr "Controle de saída:"
6304 -#: nis/nis_local_names.c:125
6306 -msgid "LOCAL entry for UID %d in directory %s not unique\n"
6307 -msgstr "Entrada LOCAL para UID %d no diretório %s não é única\n"
6308 +#: iconv/iconv_prog.c:65
6309 +msgid "omit invalid characters from output"
6310 +msgstr "omite caracteres inválidos da saída"
6312 -#: stdio-common/../sysdeps/gnu/errlist.c:698
6313 -msgid "Level 2 halted"
6314 -msgstr "Parada de sistema nível 2"
6315 +#: iconv/iconv_prog.c:66 iconv/iconvconfig.c:128
6316 +#: locale/programs/localedef.c:113 locale/programs/localedef.c:115
6317 +#: locale/programs/localedef.c:117 locale/programs/localedef.c:144
6318 +#: malloc/memusagestat.c:56
6322 -#: stdio-common/../sysdeps/gnu/errlist.c:674
6323 -msgid "Level 2 not synchronized"
6324 -msgstr "Nível 2 não sincronizado"
6325 +#: iconv/iconv_prog.c:66
6326 +msgid "output file"
6327 +msgstr "arquivo de saída"
6329 -#: stdio-common/../sysdeps/gnu/errlist.c:678
6330 -msgid "Level 3 halted"
6331 -msgstr "Nível 3 parado"
6332 +#: iconv/iconv_prog.c:67
6333 +msgid "suppress warnings"
6334 +msgstr "suprime avisos"
6336 -#: stdio-common/../sysdeps/gnu/errlist.c:682
6337 -msgid "Level 3 reset"
6338 -msgstr "Nível 3 resetado"
6339 +#: iconv/iconv_prog.c:68
6340 +msgid "print progress information"
6341 +msgstr "mostra informações de progresso"
6343 -#: nis/nis_error.c:53
6344 -msgid "Link Points to illegal name"
6345 -msgstr "Vínculo aponta para nome ilegal"
6346 +#: iconv/iconv_prog.c:73
6347 +msgid "Convert encoding of given files from one encoding to another."
6348 +msgstr "Converte codificação dos arquivos dados de uma codificação para outra."
6350 -#: stdio-common/../sysdeps/gnu/errlist.c:638
6351 -msgid "Link has been severed"
6352 -msgstr "Link foi cortado"
6353 +#: iconv/iconv_prog.c:77
6355 +msgstr "[ARQUIVO...]"
6357 -#: stdio-common/../sysdeps/gnu/errlist.c:686
6358 -msgid "Link number out of range"
6359 -msgstr "Número de link fora da faixa"
6360 +#: iconv/iconv_prog.c:230
6362 +msgid "conversions from `%s' and to `%s' are not supported"
6363 +msgstr "não há suporte para as conversões de “%s” e para “%s”"
6365 -#: nis/nis_print.c:282
6366 -msgid "Linked Object Type : "
6367 -msgstr "Tipo de Objeto Vinculado (linked) : "
6368 +#: iconv/iconv_prog.c:235
6370 +msgid "conversion from `%s' is not supported"
6371 +msgstr "não há suporte para a conversão de “%s”"
6373 -#: nis/nis_print.c:284
6374 +#: iconv/iconv_prog.c:242
6376 -msgid "Linked to : %s\n"
6377 -msgstr "Vinculado (linked) para : %s\n"
6378 +msgid "conversion to `%s' is not supported"
6379 +msgstr "não há suporte para a conversão para “%s”"
6381 -#: nis/ypclnt.c:787
6382 -msgid "Local domain name not set"
6383 -msgstr "Não foi configurado nome de domínio local"
6384 +#: iconv/iconv_prog.c:246
6386 +msgid "conversion from `%s' to `%s' is not supported"
6387 +msgstr "não há suporte para a conversão de “%s” para “%s”"
6389 -#: nis/ypclnt.c:777
6390 -msgid "Local resource allocation failure"
6391 -msgstr "Falha na alocação de recurso local"
6392 +#: iconv/iconv_prog.c:256
6394 +msgid "failed to start conversion processing"
6395 +msgstr "falha ao iniciar o processo de conversão"
6397 -#: stdio-common/../sysdeps/gnu/errlist.c:734
6398 -msgid "Machine is not on the network"
6399 -msgstr "A maquina não está na rede"
6400 +#: iconv/iconv_prog.c:354
6402 +msgid "error while closing output file"
6403 +msgstr "erro ao fechar o arquivo de saída"
6405 -#: nis/nis_error.c:45
6406 -msgid "Malformed Name, or illegal name"
6407 -msgstr "Nome malformado ou ilegal"
6408 +#: iconv/iconv_prog.c:455
6410 +msgid "conversion stopped due to problem in writing the output"
6411 +msgstr "a conversão parou devido a problemas de escrita na saída"
6413 -#: argp/argp-help.c:1182
6414 -msgid "Mandatory or optional arguments to long options are also mandatory or optional for any corresponding short options."
6415 -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."
6416 +#: iconv/iconv_prog.c:532
6418 +msgid "illegal input sequence at position %ld"
6419 +msgstr "sequência de entrada ilegal na posição %ld"
6421 -#: nis/nis_print.c:168
6422 -msgid "Master Server :\n"
6423 -msgstr "Servidor Mestre :\n"
6424 +#: iconv/iconv_prog.c:540
6426 +msgid "internal error (illegal descriptor)"
6427 +msgstr "erro interno (descritor ilegal)"
6429 -#: nis/nis_error.c:75
6430 -msgid "Master server busy, full dump rescheduled."
6431 -msgstr "Servidor Mestre ocupado, descarregamento completo (dump) remarcado."
6432 +#: iconv/iconv_prog.c:543
6434 +msgid "unknown iconv() error %d"
6435 +msgstr "erro iconv() desconhecido: %d"
6437 -#: posix/../sysdeps/posix/gai_strerror.c:35
6438 -msgid "Memory allocation failure"
6439 -msgstr "Falha de alocação de memória"
6440 +#: iconv/iconv_prog.c:786
6442 +"The following list contains all the coded character sets known. This does\n"
6443 +"not necessarily mean that all combinations of these names can be used for\n"
6444 +"the FROM and TO command line parameters. One coded character set can be\n"
6445 +"listed with several different names (aliases).\n"
6449 +"A lista a seguir contém todos os conjuntos de codificação de caracteres \n"
6450 +"conhecidos. Isto não quer dizer necessariamente que todas as combinações\n"
6451 +"destes nomes podem ser utilizadas nos parâmetros DE e PARA. Um conjunto\n"
6452 +"de caracteres pode ser listado com vários nomes diferentes (apelidos).\n"
6456 -#: posix/regex.c:1024
6457 -msgid "Memory exhausted"
6458 -msgstr "Memória esgotada"
6459 +#: iconv/iconvconfig.c:109
6460 +msgid "Create fastloading iconv module configuration file."
6461 +msgstr "Cria um arquivo de configuração para carregamento rápido de módulos iconv."
6463 -#. TRANS The size of a message sent on a socket was larger than the supported
6464 -#. TRANS maximum size.
6465 -#: stdio-common/../sysdeps/gnu/errlist.c:317
6466 -msgid "Message too long"
6467 -msgstr "Mensagem muito longa"
6468 +#: iconv/iconvconfig.c:113
6472 -#: nis/nis_error.c:57
6473 -msgid "Missing or malformed attribute"
6474 -msgstr "Atributo perdido ou malformado"
6475 +#: iconv/iconvconfig.c:126 locale/programs/localedef.c:123
6479 -#: nis/nis_print.c:323
6481 -msgid "Mod. Time : %s"
6482 -msgstr "Horário Mod. : %s"
6483 +#: iconv/iconvconfig.c:127
6484 +msgid "Prefix used for all file accesses"
6485 +msgstr "Prefixo usado para todos os acessos a arquivos"
6487 -#: nis/nis_error.c:50
6488 -msgid "Modification failed"
6489 -msgstr "Modificação falhou"
6490 +#: iconv/iconvconfig.c:128
6491 +msgid "Put output in FILE instead of installed location (--prefix does not apply to FILE)"
6492 +msgstr "Coloca saída em ARQUIVO, em vez da localização instalada (--prefix não se aplica a ARQUIVO)"
6494 -#: nis/nis_error.c:63
6495 -msgid "Modify operation failed"
6496 -msgstr "Operação de modificação falhou"
6497 +#: iconv/iconvconfig.c:132
6498 +msgid "Do not search standard directories, only those on the command line"
6499 +msgstr "Não pesquisa por diretórios padrões, e sim apenas por aqueles na linha de comando"
6501 -#: locale/programs/locale.c:68
6502 -msgid "Modify output format:"
6503 -msgstr "Formato de modificação de saída:"
6504 +#: iconv/iconvconfig.c:299
6506 +msgid "Directory arguments required when using --nostdlib"
6507 +msgstr "Argumentos de diretório são necessários ao usar --nostdlib"
6509 -#: stdio-common/../sysdeps/gnu/errlist.c:630
6510 -msgid "Multihop attempted"
6511 -msgstr "Tentativa de Multihop"
6512 +#: iconv/iconvconfig.c:341
6514 +msgid "no output file produced because warnings were issued"
6515 +msgstr "nenhum arquivo de saída foi produzido porque avisos foram emitidos"
6517 -#: catgets/gencat.c:106 catgets/gencat.c:110 db2/makedb.c:59
6518 -#: locale/programs/localedef.c:115 nscd/nscd.c:77
6521 +#: iconv/iconvconfig.c:430
6523 +msgid "while inserting in search tree"
6524 +msgstr "erro ao inserir na área de pesquisa"
6526 -#: locale/programs/locale.c:78
6533 +#: iconv/iconvconfig.c:1238
6535 +msgid "cannot generate output file"
6536 +msgstr "não foi possível gerar o arquivo de saída"
6538 -#: nis/nis_print.c:31
6542 +msgid "rcmd: Cannot allocate memory\n"
6543 +msgstr "rcmd: Não foi possível alocar memória\n"
6545 -#: nis/ypclnt.c:791
6546 -msgid "NIS client/server version mismatch - can't supply service"
6547 -msgstr "Versões cliente/servidor NIS não conferem - não é possível oferecer serviço"
6549 +msgid "rcmd: socket: All ports in use\n"
6550 +msgstr "rcmd: socket: Todas as portas em uso\n"
6552 -#: nis/ypclnt.c:789
6553 -msgid "NIS map database is bad"
6554 -msgstr "Base de dados de mapas NIS está ruim"
6557 +msgid "connect to address %s: "
6558 +msgstr "conectar ao endereço %s: "
6560 -#: nis/nis_error.c:68
6561 -msgid "NIS+ operation failed"
6562 -msgstr "Operação NIS+ falhou"
6565 +msgid "Trying %s...\n"
6566 +msgstr "Tentando %s...\n"
6568 -#: nis/nis_error.c:33
6569 -msgid "NIS+ servers unreachable"
6570 -msgstr "Servidores NIS+ fora do alcance"
6573 +msgid "rcmd: write (setting up stderr): %m\n"
6574 +msgstr "rcmd: write (configurando stderr): %m\n"
6576 -#: nis/nis_error.c:69
6577 -msgid "NIS+ service is unavailable or not installed"
6578 -msgstr "Serviço NIS+ está indisponível ou não está instalado"
6581 +msgid "rcmd: poll (setting up stderr): %m\n"
6582 +msgstr "rcmd: poll (configurando stderr): %m\n"
6584 -#: nis/nis_print.c:108
6585 -msgid "NO OBJECT\n"
6586 -msgstr "SEM OBJETO\n"
6588 +msgid "poll: protocol failure in circuit setup\n"
6589 +msgstr "poll: falha de protocolo na configuração do circuito\n"
6595 +msgid "socket: protocol failure in circuit setup\n"
6596 +msgstr "socket: falha de protocolo na configuração do circuito\n"
6598 -#: nis/nis_print.c:162
6601 -msgid "Name : '%s'\n"
6602 -msgstr "Nome : `%s'\n"
6603 +msgid "rcmd: %s: short read"
6604 +msgstr "rcmd: %s: leitura insuficiente"
6607 -msgid "Name Service Cache Daemon."
6608 -msgstr "Servidor de Cache de Nomes."
6610 +msgid "lstat failed"
6611 +msgstr "lstat falhou"
6613 -#: nis/nis_error.c:40
6614 -msgid "Name not served by this server"
6615 -msgstr "Nome não servidor por este servidor"
6617 +msgid "cannot open"
6618 +msgstr "não foi possível abrir"
6620 -#: stdio-common/../sysdeps/gnu/errlist.c:758
6621 -msgid "Name not unique on network"
6622 -msgstr "O nome não é único na rede"
6624 +msgid "fstat failed"
6625 +msgstr "fstat falhou"
6627 -#: posix/../sysdeps/posix/gai_strerror.c:37
6628 -msgid "Name or service not known"
6629 -msgstr "Nome ou serviço desconhecido"
6632 +msgstr "dono inválido"
6634 -#: nis/nis_error.c:49
6635 -msgid "Name/entry isn't unique"
6636 -msgstr "Nome/entrada não é único"
6638 +msgid "writeable by other than owner"
6639 +msgstr "permissão de escrita para outros"
6641 -#: nis/nis_error.c:58
6642 -msgid "Named object is not searchable"
6643 -msgstr "Objeto nomeado não é pesquisável"
6645 +msgid "hard linked somewhere"
6646 +msgstr "link absoluto em algum lugar"
6649 -#: stdio-common/../sysdeps/gnu/errlist.c:566
6650 -msgid "Need authenticator"
6651 -msgstr "É necessário um autenticador"
6652 +#: inet/ruserpass.c:165 inet/ruserpass.c:188
6653 +msgid "out of memory"
6654 +msgstr "memória insuficiente"
6656 -#. TRANS A network connection was reset because the remote host crashed.
6657 -#: stdio-common/../sysdeps/gnu/errlist.c:389
6658 -msgid "Network dropped connection on reset"
6659 -msgstr "A rede desconectou-se ao resetar"
6660 +#: inet/ruserpass.c:179
6661 +msgid "Error: .netrc file is readable by others."
6662 +msgstr "Erro: arquivo .netrc é legível por outros."
6664 -#. TRANS A socket operation failed because the network was down.
6665 -#: stdio-common/../sysdeps/gnu/errlist.c:378
6666 -msgid "Network is down"
6667 -msgstr "A rede não responde"
6668 +#: inet/ruserpass.c:180
6669 +msgid "Remove password or make file unreadable by others."
6670 +msgstr "Remove a senha ou torne arquivo não-legível por outros."
6672 -#. TRANS A socket operation failed because the subnet containing the remote host
6673 -#. TRANS was unreachable.
6674 -#: stdio-common/../sysdeps/gnu/errlist.c:384
6675 -msgid "Network is unreachable"
6676 -msgstr "A rede está fora de alcance"
6677 +#: inet/ruserpass.c:199
6679 +msgid "Unknown .netrc keyword %s"
6680 +msgstr "Palavra-chave em .netrc desconhecida %s"
6682 -#: stdio-common/../sysdeps/gnu/errlist.c:694
6683 -msgid "No CSI structure available"
6684 -msgstr "Não há estrutura CSI disponível"
6685 +#: libidn/nfkc.c:463
6686 +msgid "Character out of range for UTF-8"
6687 +msgstr "Caractere fora do limite para UTF-8"
6689 -#: stdio-common/../sysdeps/gnu/errlist.c:802
6690 -msgid "No XENIX semaphores available"
6691 -msgstr "Não há semáforos XENIX disponíveis"
6692 +#: locale/programs/charmap-dir.c:56
6694 +msgid "cannot read character map directory `%s'"
6695 +msgstr "não é possível ler diretório de mapa de caracteres “%s”"
6697 -#: posix/../sysdeps/posix/gai_strerror.c:36
6698 -msgid "No address associated with hostname"
6699 -msgstr "Não há endereço associado com o nome"
6700 +#: locale/programs/charmap.c:138
6702 +msgid "character map file `%s' not found"
6703 +msgstr "arquivo de mapa de caracteres “%s” não foi localizado"
6705 -#: resolv/herror.c:77
6706 -msgid "No address associated with name"
6707 -msgstr "Não há endereço associado com o nome"
6708 +#: locale/programs/charmap.c:196
6710 +msgid "default character map file `%s' not found"
6711 +msgstr "arquivo padrão de mapa de caracteres “%s” não localizado"
6713 -#: stdio-common/../sysdeps/gnu/errlist.c:714
6716 +#: locale/programs/charmap.c:265
6718 +msgid "character map `%s' is not ASCII compatible, locale not ISO C compliant [--no-warnings=ascii]"
6719 +msgstr "mapa de caracteres “%s” não é compatível com ASCII; localidade não é compatível com C ISO [--no-warnings=ascii]"
6721 -#. TRANS The kernel's buffers for I/O operations are all in use. In GNU, this
6722 -#. TRANS error is always synonymous with @code{ENOMEM}; you may get one or the
6723 -#. TRANS other from network operations.
6724 -#: stdio-common/../sysdeps/gnu/errlist.c:408
6725 -msgid "No buffer space available"
6726 -msgstr "Não há espaço de buffer disponível"
6727 +#: locale/programs/charmap.c:343
6729 +msgid "%s: <mb_cur_max> must be greater than <mb_cur_min>\n"
6730 +msgstr "%s: <mb_cur_max> deve ser maior que <mb_cur_min>\n"
6732 -#. TRANS There are no child processes. This error happens on operations that are
6733 -#. TRANS supposed to manipulate child processes, when there aren't any processes
6734 -#. TRANS to manipulate.
6735 -#: stdio-common/../sysdeps/gnu/errlist.c:89
6736 -msgid "No child processes"
6737 -msgstr "Não há processos filhos"
6738 +#: locale/programs/charmap.c:363 locale/programs/charmap.c:380
6739 +#: locale/programs/repertoire.c:173
6741 +msgid "syntax error in prolog: %s"
6742 +msgstr "erro de sintaxe em prolog: %s"
6744 -#: stdio-common/../sysdeps/gnu/errlist.c:634
6745 -msgid "No data available"
6746 -msgstr "Não há dados disponíveis"
6747 +#: locale/programs/charmap.c:364
6748 +msgid "invalid definition"
6749 +msgstr "definição inválida"
6751 -#: nis/nis_error.c:73
6752 -msgid "No file space on server"
6753 -msgstr "Não há espaço disponível no servidor"
6754 +#: locale/programs/charmap.c:381 locale/programs/locfile.c:131
6755 +#: locale/programs/locfile.c:158 locale/programs/repertoire.c:174
6756 +msgid "bad argument"
6757 +msgstr "argumento inválido"
6759 -#. TRANS No locks available. This is used by the file locking facilities; see
6760 -#. TRANS @ref{File Locks}. This error is never generated by the GNU system, but
6761 -#. TRANS it can result from an operation to an NFS server running another
6762 -#. TRANS operating system.
6763 -#: stdio-common/../sysdeps/gnu/errlist.c:547
6764 -msgid "No locks available"
6765 -msgstr "Não há locks disponíveis"
6766 +#: locale/programs/charmap.c:408
6768 +msgid "duplicate definition of <%s>"
6769 +msgstr "definição duplicada de <%s>"
6771 -#: posix/regex.c:1013
6773 -msgstr "Não confere"
6774 +#: locale/programs/charmap.c:415
6776 +msgid "value for <%s> must be 1 or greater"
6777 +msgstr "o valor para <%s> deve ser 1 ou maior"
6779 -#: stdio-common/../sysdeps/gnu/errlist.c:814
6780 -msgid "No medium found"
6781 -msgstr "Mídia não encontrada"
6782 +#: locale/programs/charmap.c:427
6784 +msgid "value of <%s> must be greater or equal than the value of <%s>"
6785 +msgstr "o valor de <%s> deve ser maior ou igual ao valor de <%s>"
6787 -#: stdio-common/../sysdeps/gnu/errlist.c:642
6788 -msgid "No message of desired type"
6789 -msgstr "Não há mensagens do tipo desejado"
6790 +#: locale/programs/charmap.c:450 locale/programs/repertoire.c:182
6792 +msgid "argument to <%s> must be a single character"
6793 +msgstr "o argumento para <%s> deve ser um caractere simples"
6795 -#: nis/ypclnt.c:779
6796 -msgid "No more records in map database"
6797 -msgstr "Não há mais registros no banco de dados map"
6798 +#: locale/programs/charmap.c:476
6799 +msgid "character sets with locking states are not supported"
6800 +msgstr "não há suporte a conjuntos de caracteres com estados de trava"
6802 -#: posix/regex.c:5515
6803 -msgid "No previous regular expression"
6804 -msgstr "Não há expressão regular anterior"
6805 +#: locale/programs/charmap.c:503 locale/programs/charmap.c:557
6806 +#: locale/programs/charmap.c:589 locale/programs/charmap.c:683
6807 +#: locale/programs/charmap.c:738 locale/programs/charmap.c:779
6808 +#: locale/programs/charmap.c:820
6810 +msgid "syntax error in %s definition: %s"
6811 +msgstr "erro de sintaxe na definição %s: %s"
6813 -#: sunrpc/rpcinfo.c:570
6814 -msgid "No remote programs registered.\n"
6815 -msgstr "Não há programas remotos registrados.\n"
6816 +#: locale/programs/charmap.c:504 locale/programs/charmap.c:684
6817 +#: locale/programs/charmap.c:780 locale/programs/repertoire.c:229
6818 +msgid "no symbolic name given"
6819 +msgstr "nenhum nome simbólico dado"
6821 -#. TRANS The remote host for a requested network connection is not reachable.
6822 -#: stdio-common/../sysdeps/gnu/errlist.c:474
6823 -msgid "No route to host"
6824 -msgstr "Não há rota para o host"
6825 +#: locale/programs/charmap.c:558
6826 +msgid "invalid encoding given"
6827 +msgstr "codificação inválida dada"
6829 -#. TRANS No space left on device; write operation on a file failed because the
6830 -#. TRANS disk is full.
6831 -#: stdio-common/../sysdeps/gnu/errlist.c:208
6832 -msgid "No space left on device"
6833 -msgstr "Não há espaço disponível no dispositivo"
6834 +#: locale/programs/charmap.c:567
6835 +msgid "too few bytes in character encoding"
6836 +msgstr "poucos bytes na codificação do caractere"
6838 -#. TRANS The wrong type of device was given to a function that expects a
6839 -#. TRANS particular sort of device.
6840 -#: stdio-common/../sysdeps/gnu/errlist.c:147
6841 -msgid "No such device"
6842 -msgstr "Dispositivo inexistente"
6843 +#: locale/programs/charmap.c:569
6844 +msgid "too many bytes in character encoding"
6845 +msgstr "muitos bytes na codificação do caractere"
6847 -#. TRANS No such file or directory. This is a ``file doesn't exist'' error
6848 -#. TRANS for ordinary files that are referenced in contexts where they are
6849 -#. TRANS expected to already exist.
6850 -#: stdio-common/../sysdeps/gnu/errlist.c:31
6851 -msgid "No such file or directory"
6852 -msgstr "Arquivo ou diretório não encontrado"
6853 +#: locale/programs/charmap.c:591 locale/programs/charmap.c:739
6854 +#: locale/programs/charmap.c:822 locale/programs/repertoire.c:295
6855 +msgid "no symbolic name given for end of range"
6856 +msgstr "nenhum nome simbólico dado para fim do intervalo"
6858 +#: locale/programs/charmap.c:615 locale/programs/ld-address.c:524
6859 +#: locale/programs/ld-collate.c:2616 locale/programs/ld-collate.c:3774
6860 +#: locale/programs/ld-ctype.c:2117 locale/programs/ld-ctype.c:2829
6861 +#: locale/programs/ld-identification.c:397
6862 +#: locale/programs/ld-measurement.c:213 locale/programs/ld-messages.c:295
6863 +#: locale/programs/ld-monetary.c:748 locale/programs/ld-name.c:262
6864 +#: locale/programs/ld-numeric.c:325 locale/programs/ld-paper.c:212
6865 +#: locale/programs/ld-telephone.c:276 locale/programs/ld-time.c:934
6866 +#: locale/programs/repertoire.c:312
6868 +msgid "%1$s: definition does not end with `END %1$s'"
6869 +msgstr "%1$s: definição não termina com “END %1$s”"
6871 +#: locale/programs/charmap.c:648
6872 +msgid "only WIDTH definitions are allowed to follow the CHARMAP definition"
6873 +msgstr "apenas definições de WIDTH são permitidas em seguida à definição de CHARMAP"
6875 -#: nis/ypclnt.c:773
6876 -msgid "No such key in map"
6877 -msgstr "Chave no está no mapa"
6878 +#: locale/programs/charmap.c:656 locale/programs/charmap.c:719
6880 +msgid "value for %s must be an integer"
6881 +msgstr "o valor para %s deve ser um inteiro"
6883 -#: nis/ypclnt.c:771
6884 -msgid "No such map in server's domain"
6885 -msgstr "Mapa não encontrado no domínio do servidor"
6886 +#: locale/programs/charmap.c:847
6888 +msgid "%s: error in state machine"
6889 +msgstr "%s: erro na máquina de estados"
6891 +#: locale/programs/charmap.c:855 locale/programs/ld-address.c:540
6892 +#: locale/programs/ld-collate.c:2613 locale/programs/ld-collate.c:3967
6893 +#: locale/programs/ld-ctype.c:2114 locale/programs/ld-ctype.c:2846
6894 +#: locale/programs/ld-identification.c:413
6895 +#: locale/programs/ld-measurement.c:229 locale/programs/ld-messages.c:311
6896 +#: locale/programs/ld-monetary.c:764 locale/programs/ld-name.c:278
6897 +#: locale/programs/ld-numeric.c:341 locale/programs/ld-paper.c:228
6898 +#: locale/programs/ld-telephone.c:292 locale/programs/ld-time.c:950
6899 +#: locale/programs/locfile.c:997 locale/programs/repertoire.c:323
6901 +msgid "%s: premature end of file"
6902 +msgstr "%s: fim de arquivo prematuro"
6904 -#. TRANS No process matches the specified process ID.
6905 -#: stdio-common/../sysdeps/gnu/errlist.c:36
6906 -msgid "No such process"
6907 -msgstr "Processo inexistente"
6908 +#: locale/programs/charmap.c:874 locale/programs/charmap.c:885
6910 +msgid "unknown character `%s'"
6911 +msgstr "caractere desconhecido “%s”"
6913 +#: locale/programs/charmap.c:893
6915 +msgid "number of bytes for byte sequence of beginning and end of range not the same: %d vs %d"
6916 +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"
6918 +#: locale/programs/charmap.c:998 locale/programs/ld-collate.c:2893
6919 +#: locale/programs/repertoire.c:418
6920 +msgid "invalid names for character range"
6921 +msgstr "nomes inválidos para intervalo de caracteres"
6923 +#: locale/programs/charmap.c:1010 locale/programs/repertoire.c:430
6924 +msgid "hexadecimal range format should use only capital characters"
6925 +msgstr "formato de intervalo hexadecimal deve usar apenas caracteres maiúsculos"
6927 +#: locale/programs/charmap.c:1028 locale/programs/repertoire.c:448
6929 +msgid "<%s> and <%s> are invalid names for range"
6930 +msgstr "<%s> e <%s> são nomes inválidos para o intervalo"
6932 +#: locale/programs/charmap.c:1034 locale/programs/repertoire.c:455
6933 +msgid "upper limit in range is smaller than lower limit"
6934 +msgstr "o limite superior do intervalo é menor que o limite inferior"
6936 +#: locale/programs/charmap.c:1092
6937 +msgid "resulting bytes for range not representable."
6938 +msgstr "bytes resultantes para o intervalo não representáveis."
6940 +#: locale/programs/ld-address.c:133 locale/programs/ld-collate.c:1563
6941 +#: locale/programs/ld-ctype.c:430 locale/programs/ld-identification.c:131
6942 +#: locale/programs/ld-measurement.c:92 locale/programs/ld-messages.c:96
6943 +#: locale/programs/ld-monetary.c:192 locale/programs/ld-name.c:93
6944 +#: locale/programs/ld-numeric.c:97 locale/programs/ld-paper.c:89
6945 +#: locale/programs/ld-telephone.c:92 locale/programs/ld-time.c:158
6947 +msgid "No definition for %s category found"
6948 +msgstr "Nenhuma definição para a categoria %s localizada"
6950 +#: locale/programs/ld-address.c:144 locale/programs/ld-address.c:182
6951 +#: locale/programs/ld-address.c:199 locale/programs/ld-address.c:228
6952 +#: locale/programs/ld-address.c:300 locale/programs/ld-address.c:319
6953 +#: locale/programs/ld-address.c:331 locale/programs/ld-identification.c:144
6954 +#: locale/programs/ld-measurement.c:103 locale/programs/ld-monetary.c:204
6955 +#: locale/programs/ld-monetary.c:258 locale/programs/ld-monetary.c:274
6956 +#: locale/programs/ld-monetary.c:286 locale/programs/ld-name.c:104
6957 +#: locale/programs/ld-name.c:141 locale/programs/ld-numeric.c:111
6958 +#: locale/programs/ld-numeric.c:125 locale/programs/ld-paper.c:100
6959 +#: locale/programs/ld-paper.c:109 locale/programs/ld-telephone.c:103
6960 +#: locale/programs/ld-telephone.c:160 locale/programs/ld-time.c:174
6961 +#: locale/programs/ld-time.c:195
6963 +msgid "%s: field `%s' not defined"
6964 +msgstr "%s: campo “%s” não definido"
6966 -#: nis/nis_error.c:60
6967 -msgid "Non NIS+ namespace encountered"
6968 -msgstr "Namespace NIS+ não encontrado"
6969 +#: locale/programs/ld-address.c:156 locale/programs/ld-address.c:207
6970 +#: locale/programs/ld-address.c:237 locale/programs/ld-address.c:275
6971 +#: locale/programs/ld-name.c:116 locale/programs/ld-telephone.c:115
6973 +msgid "%s: field `%s' must not be empty"
6974 +msgstr "%s: campo “%s” não pode estar vazio"
6976 -#: posix/../sysdeps/posix/gai_strerror.c:33
6977 -msgid "Non-recoverable failure in name resolution"
6978 -msgstr "Falha irrecuperável na resolução de nome"
6979 +#: locale/programs/ld-address.c:168
6981 +msgid "%s: invalid escape `%%%c' sequence in field `%s'"
6982 +msgstr "%s: sequência de escape “%%%c” inválida no campo “%s”"
6984 -#: nis/nis_print.c:176
6987 +#: locale/programs/ld-address.c:218
6989 +msgid "%s: terminology language code `%s' not defined"
6990 +msgstr "%s: código de idioma de terminologia “%s” não definido"
6992 -#: nis/nis_error.c:48
6993 -msgid "Not Found, no such name"
6994 -msgstr "Não encontrado, nome inexistente"
6995 +#: locale/programs/ld-address.c:243
6997 +msgid "%s: field `%s' must not be defined"
6998 +msgstr "%s: campo “%s” não pode estar definido"
7000 -#: stdio-common/../sysdeps/gnu/errlist.c:798
7001 -msgid "Not a XENIX named type file"
7002 -msgstr "Não é um arquivo nomeável XENIX"
7003 +#: locale/programs/ld-address.c:257 locale/programs/ld-address.c:286
7005 +msgid "%s: language abbreviation `%s' not defined"
7006 +msgstr "%s: abreviação de idioma “%s” não definida"
7008 -#. TRANS A file that isn't a directory was specified when a directory is required.
7009 -#: stdio-common/../sysdeps/gnu/errlist.c:152
7010 -msgid "Not a directory"
7011 -msgstr "Não é um diretório"
7012 +#: locale/programs/ld-address.c:264 locale/programs/ld-address.c:292
7013 +#: locale/programs/ld-address.c:325 locale/programs/ld-address.c:337
7015 +msgid "%s: `%s' value does not match `%s' value"
7016 +msgstr "%s: o valor “%s” não corresponde ao valor “%s”"
7018 -#: nis/nis_error.c:30
7020 -msgstr "Não encontrado"
7021 +#: locale/programs/ld-address.c:311
7023 +msgid "%s: numeric country code `%d' not valid"
7024 +msgstr "%s: código numérico do país “%d” não válido"
7026 -#: nis/nis_error.c:43
7027 -msgid "Not master server for this domain"
7028 -msgstr "Não é um servidor mestre para este domínio"
7029 +#: locale/programs/ld-address.c:432 locale/programs/ld-address.c:469
7030 +#: locale/programs/ld-address.c:507 locale/programs/ld-ctype.c:2478
7031 +#: locale/programs/ld-identification.c:309
7032 +#: locale/programs/ld-measurement.c:196 locale/programs/ld-messages.c:264
7033 +#: locale/programs/ld-monetary.c:503 locale/programs/ld-monetary.c:538
7034 +#: locale/programs/ld-monetary.c:579 locale/programs/ld-name.c:235
7035 +#: locale/programs/ld-numeric.c:217 locale/programs/ld-paper.c:195
7036 +#: locale/programs/ld-telephone.c:251 locale/programs/ld-time.c:839
7037 +#: locale/programs/ld-time.c:881
7039 +msgid "%s: field `%s' declared more than once"
7040 +msgstr "%s: campo “%s” declarado mais de uma vez"
7042 -#: nis/nis_error.c:39
7044 -msgstr "Dono inválido"
7045 +#: locale/programs/ld-address.c:436 locale/programs/ld-address.c:474
7046 +#: locale/programs/ld-identification.c:313 locale/programs/ld-messages.c:274
7047 +#: locale/programs/ld-monetary.c:507 locale/programs/ld-monetary.c:542
7048 +#: locale/programs/ld-name.c:239 locale/programs/ld-numeric.c:221
7049 +#: locale/programs/ld-telephone.c:255 locale/programs/ld-time.c:733
7050 +#: locale/programs/ld-time.c:802 locale/programs/ld-time.c:844
7052 +msgid "%s: unknown character in field `%s'"
7053 +msgstr "%s: caractere desconhecido no campo “%s”"
7055 -#: nis/nis_print.c:263
7056 +#: locale/programs/ld-address.c:521 locale/programs/ld-collate.c:3772
7057 +#: locale/programs/ld-ctype.c:2826 locale/programs/ld-identification.c:394
7058 +#: locale/programs/ld-measurement.c:210 locale/programs/ld-messages.c:293
7059 +#: locale/programs/ld-monetary.c:746 locale/programs/ld-name.c:260
7060 +#: locale/programs/ld-numeric.c:323 locale/programs/ld-paper.c:210
7061 +#: locale/programs/ld-telephone.c:274 locale/programs/ld-time.c:932
7063 -msgid "Number of Columns : %d\n"
7064 -msgstr "Número de Colunas : %d\n"
7065 +msgid "%s: incomplete `END' line"
7066 +msgstr "%s: linha “END” incompleta"
7068 -#: nis/nis_print.c:358
7069 +#: locale/programs/ld-address.c:531 locale/programs/ld-collate.c:550
7070 +#: locale/programs/ld-collate.c:602 locale/programs/ld-collate.c:898
7071 +#: locale/programs/ld-collate.c:911 locale/programs/ld-collate.c:2582
7072 +#: locale/programs/ld-collate.c:2603 locale/programs/ld-collate.c:3957
7073 +#: locale/programs/ld-ctype.c:1846 locale/programs/ld-ctype.c:2104
7074 +#: locale/programs/ld-ctype.c:2676 locale/programs/ld-ctype.c:2837
7075 +#: locale/programs/ld-identification.c:404
7076 +#: locale/programs/ld-measurement.c:220 locale/programs/ld-messages.c:302
7077 +#: locale/programs/ld-monetary.c:755 locale/programs/ld-name.c:269
7078 +#: locale/programs/ld-numeric.c:332 locale/programs/ld-paper.c:219
7079 +#: locale/programs/ld-telephone.c:283 locale/programs/ld-time.c:941
7081 -msgid "Number of objects : %u\n"
7082 -msgstr "Número de objetos : %u\n"
7083 +msgid "%s: syntax error"
7084 +msgstr "%s: erro de sintaxe"
7086 -#. TRANS Domain error; used by mathematical functions when an argument value does
7087 -#. TRANS not fall into the domain over which the function is defined.
7088 -#: stdio-common/../sysdeps/gnu/errlist.c:240
7089 -msgid "Numerical argument out of domain"
7090 -msgstr "Argumento numérico fora de domínio"
7091 +#: locale/programs/ld-collate.c:425
7093 +msgid "`%.*s' already defined in charmap"
7094 +msgstr "“%.*s” já definido no mapa de caracteres"
7096 -#. TRANS Range error; used by mathematical functions when the result value is
7097 -#. TRANS not representable because of overflow or underflow.
7098 -#: stdio-common/../sysdeps/gnu/errlist.c:246
7099 -msgid "Numerical result out of range"
7100 -msgstr "Resultado numérico fora de alcance"
7101 +#: locale/programs/ld-collate.c:434
7103 +msgid "`%.*s' already defined in repertoire"
7104 +msgstr "“%.*s” já definido no repertório"
7106 -#: nis/nis_print.c:362
7107 +#: locale/programs/ld-collate.c:441
7109 -msgid "Object #%d:\n"
7110 -msgstr "Objeto #%d:\n"
7111 +msgid "`%.*s' already defined as collating symbol"
7112 +msgstr "“%.*s” já definido como símbolo de comparação"
7114 -#: nis/nis_print.c:314
7115 +#: locale/programs/ld-collate.c:448
7117 -msgid "Object Name : %s\n"
7118 -msgstr "Nome do Objeto: %s\n"
7119 +msgid "`%.*s' already defined as collating element"
7120 +msgstr "“%.*s” já definido como elemento de comparação"
7122 -#: nis/nis_print.c:324
7123 -msgid "Object Type : "
7124 -msgstr "Tipo do Objeto: "
7125 +#: locale/programs/ld-collate.c:479 locale/programs/ld-collate.c:505
7127 +msgid "%s: `forward' and `backward' are mutually excluding each other"
7128 +msgstr "%s: “forward” e “backward” são mutuamente exclusivas entre si"
7130 -#. TRANS An attempt was made to NFS-mount a remote file system with a file name that
7131 -#. TRANS already specifies an NFS-mounted file.
7132 -#. TRANS (This is an error on some operating systems, but we expect it to work
7133 -#. TRANS properly on the GNU system, making this error code impossible.)
7134 -#: stdio-common/../sysdeps/gnu/errlist.c:514
7135 -msgid "Object is remote"
7136 -msgstr "Objeto é remoto"
7137 +#: locale/programs/ld-collate.c:489 locale/programs/ld-collate.c:515
7138 +#: locale/programs/ld-collate.c:531
7140 +msgid "%s: `%s' mentioned more than once in definition of weight %d"
7141 +msgstr "%s: “%s” mencionado mais de uma vez na definição de peso %d"
7143 -#: nis/nis_error.c:42
7144 -msgid "Object with same name exists"
7145 -msgstr "Objeto com o mesmo nome existe"
7146 +#: locale/programs/ld-collate.c:587
7148 +msgid "%s: too many rules; first entry only had %d"
7149 +msgstr "%s: número excessivo de regras; a primeira entrada tinha apenas %d"
7151 -#: timezone/zic.c:1995
7152 -msgid "Odd number of quotation marks"
7153 -msgstr "Número ímpar de aspas"
7154 +#: locale/programs/ld-collate.c:623
7156 +msgid "%s: not enough sorting rules"
7157 +msgstr "%s: número insuficiente de regras de ordenação"
7160 -msgid "Only root is allowed to use this option!"
7161 -msgstr "Somente o superusuário pode usar esta opção!"
7162 +#: locale/programs/ld-collate.c:788
7164 +msgid "%s: empty weight string not allowed"
7165 +msgstr "%s: texto de peso vazio não permitida"
7167 -#. TRANS An operation is already in progress on an object that has non-blocking
7168 -#. TRANS mode selected.
7169 -#: stdio-common/../sysdeps/gnu/errlist.c:306
7170 -msgid "Operation already in progress"
7171 -msgstr "Operação já em progresso"
7172 +#: locale/programs/ld-collate.c:883
7174 +msgid "%s: weights must use the same ellipsis symbol as the name"
7175 +msgstr "%s: pesos devem usar o mesmo símbolo de elipse que o nome"
7177 -#. TRANS Operation not permitted; only the owner of the file (or other resource)
7178 -#. TRANS or processes with special privileges can perform the operation.
7179 -#: stdio-common/../sysdeps/gnu/errlist.c:24
7180 -msgid "Operation not permitted"
7181 -msgstr "Operação não permitida"
7182 +#: locale/programs/ld-collate.c:939
7184 +msgid "%s: too many values"
7185 +msgstr "%s: número excessivo de valores"
7187 -#. TRANS The operation you requested is not supported. Some socket functions
7188 -#. TRANS don't make sense for all types of sockets, and others may not be
7189 -#. TRANS implemented for all communications protocols. In the GNU system, this
7190 -#. TRANS error can happen for many calls when the object does not support the
7191 -#. TRANS particular operation; it is a generic indication that the server knows
7192 -#. TRANS nothing to do for that call.
7193 -#: stdio-common/../sysdeps/gnu/errlist.c:350
7194 -msgid "Operation not supported"
7195 -msgstr "Operação não suportada "
7196 +#: locale/programs/ld-collate.c:1059 locale/programs/ld-collate.c:1234
7198 +msgid "order for `%.*s' already defined at %s:%Zu"
7199 +msgstr "ordem para “%.*s” já definida em %s:%Zu"
7201 -#. TRANS An operation that cannot complete immediately was initiated on an object
7202 -#. TRANS that has non-blocking mode selected. Some functions that must always
7203 -#. TRANS block (such as @code{connect}; @pxref{Connecting}) never return
7204 -#. TRANS @code{EAGAIN}. Instead, they return @code{EINPROGRESS} to indicate that
7205 -#. TRANS the operation has begun and will take some time. Attempts to manipulate
7206 -#. TRANS the object before the call completes return @code{EALREADY}. You can
7207 -#. TRANS use the @code{select} function to find out when the pending operation
7208 -#. TRANS has completed; @pxref{Waiting for I/O}.
7209 -#: stdio-common/../sysdeps/gnu/errlist.c:300
7210 -msgid "Operation now in progress"
7211 -msgstr "Operação agora em progresso"
7212 +#: locale/programs/ld-collate.c:1109
7214 +msgid "%s: the start and the end symbol of a range must stand for characters"
7215 +msgstr "%s: o símbolo de início e terminação de um intervalo deve representar caracteres"
7217 -#. TRANS In the GNU C library, this is another name for @code{EAGAIN} (above).
7218 -#. TRANS The values are always the same, on every operating system.
7220 -#. TRANS C libraries in many older Unix systems have @code{EWOULDBLOCK} as a
7221 -#. TRANS separate error code.
7222 -#: stdio-common/../sysdeps/gnu/errlist.c:288
7223 -msgid "Operation would block"
7224 -msgstr "Operation causaria bloqueio"
7225 +#: locale/programs/ld-collate.c:1136
7227 +msgid "%s: byte sequences of first and last character must have the same length"
7228 +msgstr "%s: sequências de byte de primeiro e último caractere deve ter o mesmo comprimento"
7230 -#: stdio-common/../sysdeps/gnu/errlist.c:646
7231 -msgid "Out of streams resources"
7232 -msgstr "Sem recursos de streams"
7233 +#: locale/programs/ld-collate.c:1178
7235 +msgid "%s: byte sequence of first character of range is not lower than that of the last character"
7236 +msgstr "%s: sequência de byte do primeiro caractere de intervalo não é menor que aquele do último caractere"
7238 -#: iconv/iconv_prog.c:59 locale/programs/localedef.c:101
7239 -msgid "Output control:"
7240 -msgstr "Controle de Saída:"
7241 +#: locale/programs/ld-collate.c:1303
7243 +msgid "%s: symbolic range ellipsis must not directly follow `order_start'"
7244 +msgstr "%s: elipse de intervalo simbólico não pode seguir diretamente “order_start”"
7247 -msgid "Output selection:"
7248 -msgstr "Seleção de Saída:"
7249 +#: locale/programs/ld-collate.c:1307
7251 +msgid "%s: symbolic range ellipsis must not be directly followed by `order_end'"
7252 +msgstr "%s: elipse de intervalo simbólico não pode estar seguido diretamente por “order_end”"
7254 -#: nis/nis_print.c:316
7255 +#: locale/programs/ld-collate.c:1327 locale/programs/ld-ctype.c:1363
7257 -msgid "Owner : %s\n"
7258 -msgstr "Dono : %s\n"
7259 +msgid "`%s' and `%.*s' are not valid names for symbolic range"
7260 +msgstr "“%s” e “%.*s” não são nomes válidos para intervalo simbólico"
7262 -#: nis/nis_print.c:126
7265 +#: locale/programs/ld-collate.c:1377 locale/programs/ld-collate.c:3708
7267 +msgid "%s: order for `%.*s' already defined at %s:%Zu"
7268 +msgstr "%s: ordem para “%.*s” já definida em %s:%Zu"
7270 -#: stdio-common/../sysdeps/gnu/errlist.c:738
7271 -msgid "Package not installed"
7272 -msgstr "Pacote não instalado"
7273 +#: locale/programs/ld-collate.c:1386
7275 +msgid "%s: `%s' must be a character"
7276 +msgstr "%s: “%s” deve ser um caractere"
7278 -#: nscd/nscd_conf.c:84
7279 +#: locale/programs/ld-collate.c:1580
7281 -msgid "Parse error: %s"
7282 -msgstr "Erro de verificação (parser): %s"
7283 +msgid "%s: `position' must be used for a specific level in all sections or none"
7284 +msgstr "%s: “position” deve ser usado para um nível específico em todas as seções ou nenhuma"
7286 -#: nis/nis_error.c:54
7287 -msgid "Partial Success"
7288 -msgstr "Sucesso Parcial"
7289 +#: locale/programs/ld-collate.c:1604
7291 +msgid "symbol `%s' not defined"
7292 +msgstr "símbolo “%s” não definido"
7294 -#: nis/nis_error.c:62
7295 -msgid "Passed object is not the same object on server"
7296 -msgstr "Objeto passado não é o mesmo objeto no servidor"
7297 +#: locale/programs/ld-collate.c:1680 locale/programs/ld-collate.c:1785
7299 +msgid "symbol `%s' has the same encoding as"
7300 +msgstr "o símbolo “%s” possui a mesma codificação que"
7302 -#. TRANS Permission denied; the file permissions do not allow the attempted operation.
7303 -#: nis/nis_error.c:38 nis/ypclnt.c:793
7304 -#: stdio-common/../sysdeps/gnu/errlist.c:108
7305 -msgid "Permission denied"
7306 -msgstr "Permissão negada"
7307 +#: locale/programs/ld-collate.c:1684 locale/programs/ld-collate.c:1789
7309 +msgid "symbol `%s'"
7310 +msgstr "símbolo “%s”"
7312 -#: sysdeps/unix/sysv/linux/siglist.h:64
7313 -msgid "Power failure"
7314 -msgstr "Falha de energia"
7315 +#: locale/programs/ld-collate.c:1852
7316 +msgid "too many errors; giving up"
7317 +msgstr "número excessivo de erros; desistindo"
7319 -#: posix/regex.c:1026
7320 -msgid "Premature end of regular expression"
7321 -msgstr "Fim prematuro da expressão regular"
7322 +#: locale/programs/ld-collate.c:2508 locale/programs/ld-collate.c:3896
7324 +msgid "%s: nested conditionals not supported"
7325 +msgstr "%s: condicionais aninhados sem suporte"
7328 -msgid "Print content of database file, one entry a line"
7329 -msgstr "Mostra o conteúdo da base de dados do arquivo, um entrada por linha"
7330 +#: locale/programs/ld-collate.c:2526
7332 +msgid "%s: more than one 'else'"
7333 +msgstr "%s: mais que um “else”"
7336 -msgid "Print current configuration statistic"
7337 -msgstr "Mostra estatística da configuração atual"
7338 +#: locale/programs/ld-collate.c:2701
7340 +msgid "%s: duplicate definition of `%s'"
7341 +msgstr "%s: definição duplicada de “%s”"
7343 -#: locale/programs/localedef.c:107
7344 -msgid "Print more messages"
7345 -msgstr "Mostra mais mensagens"
7346 +#: locale/programs/ld-collate.c:2737
7348 +msgid "%s: duplicate declaration of section `%s'"
7349 +msgstr "%s: declaração duplicada da seção “%s”"
7351 -#: argp/argp-parse.c:148
7352 -msgid "Print program version"
7353 -msgstr "Mostra versão do programa"
7354 +#: locale/programs/ld-collate.c:2873
7356 +msgid "%s: unknown character in collating symbol name"
7357 +msgstr "%s: caractere desconhecido no nome de símbolo de comparação"
7359 -#: nis/nis_error.c:29
7360 -msgid "Probable success"
7361 -msgstr "Sucesso provável"
7362 +#: locale/programs/ld-collate.c:3002
7364 +msgid "%s: unknown character in equivalent definition name"
7365 +msgstr "%s: caractere desconhecido no nome de definição equivalente"
7367 -#: nis/nis_error.c:31
7368 -msgid "Probably not found"
7369 -msgstr "Provavelmente não encontrado"
7370 +#: locale/programs/ld-collate.c:3013
7372 +msgid "%s: unknown character in equivalent definition value"
7373 +msgstr "%s: caractere desconhecido no valor de definição equivalente"
7375 -#: stdio-common/../sysdeps/unix/siglist.c:52
7376 -#: sysdeps/unix/sysv/linux/siglist.h:46
7377 -msgid "Profiling timer expired"
7378 -msgstr "Tempo expirado para profiling"
7379 +#: locale/programs/ld-collate.c:3023
7381 +msgid "%s: unknown symbol `%s' in equivalent definition"
7382 +msgstr "%s: símbolo desconhecido “%s” na definição equivalente"
7384 -#: stdio-common/../sysdeps/gnu/errlist.c:690
7385 -msgid "Protocol driver not attached"
7386 -msgstr "Driver de protocolo não anexado"
7387 +#: locale/programs/ld-collate.c:3032
7388 +msgid "error while adding equivalent collating symbol"
7389 +msgstr "erro ao adicionar símbolo de colação equivalente"
7391 -#: stdio-common/../sysdeps/gnu/errlist.c:658
7392 -msgid "Protocol error"
7393 -msgstr "Erro de protocolo"
7394 +#: locale/programs/ld-collate.c:3070
7396 +msgid "duplicate definition of script `%s'"
7397 +msgstr "definição duplicada de script “%s”"
7399 -#. TRANS The socket communications protocol family you requested is not supported.
7400 -#: stdio-common/../sysdeps/gnu/errlist.c:355
7401 -msgid "Protocol family not supported"
7402 -msgstr "Família de protocolo não suportada"
7403 +#: locale/programs/ld-collate.c:3118
7405 +msgid "%s: unknown section name `%.*s'"
7406 +msgstr "%s: nome de seção desconhecida “%.*s”"
7408 -#. TRANS You specified a socket option that doesn't make sense for the
7409 -#. TRANS particular protocol being used by the socket. @xref{Socket Options}.
7410 -#: stdio-common/../sysdeps/gnu/errlist.c:328
7411 -msgid "Protocol not available"
7412 -msgstr "Protocolo não disponível"
7413 +#: locale/programs/ld-collate.c:3147
7415 +msgid "%s: multiple order definitions for section `%s'"
7416 +msgstr "%s: múltiplas definições de ordem para a seção “%s”"
7418 -#. TRANS The socket domain does not support the requested communications protocol
7419 -#. TRANS (perhaps because the requested protocol is completely invalid).
7420 -#. TRANS @xref{Creating a Socket}.
7421 -#: stdio-common/../sysdeps/gnu/errlist.c:335
7422 -msgid "Protocol not supported"
7423 -msgstr "Protocolo não suportado"
7424 +#: locale/programs/ld-collate.c:3175
7426 +msgid "%s: invalid number of sorting rules"
7427 +msgstr "%s: número inválido de regras de ordenação"
7429 -#. TRANS The socket type does not support the requested communications protocol.
7430 -#: stdio-common/../sysdeps/gnu/errlist.c:322
7431 -msgid "Protocol wrong type for socket"
7432 -msgstr "Tipo errado de protocolo para socket"
7433 +#: locale/programs/ld-collate.c:3202
7435 +msgid "%s: multiple order definitions for unnamed section"
7436 +msgstr "%s: múltiplas definições de ordem para seção sem nome"
7438 -#: nis/nis_error.c:64
7439 -msgid "Query illegal for named table"
7440 -msgstr "Pergunta ilegal para tabela nominada"
7441 +#: locale/programs/ld-collate.c:3257 locale/programs/ld-collate.c:3387
7442 +#: locale/programs/ld-collate.c:3750
7444 +msgid "%s: missing `order_end' keyword"
7445 +msgstr "%s: faltando palavra-chave “order_end”"
7447 -#: stdio-common/../sysdeps/unix/siglist.c:28
7448 -#: sysdeps/unix/sysv/linux/siglist.h:24
7451 +#: locale/programs/ld-collate.c:3320
7453 +msgid "%s: order for collating symbol %.*s not yet defined"
7454 +msgstr "%s: ordem para símbolo de comparação %.*s ainda não definida"
7456 -#: stdio-common/../sysdeps/gnu/errlist.c:754
7457 -msgid "RFS specific error"
7458 -msgstr "Erro específico de RFS"
7459 +#: locale/programs/ld-collate.c:3338
7461 +msgid "%s: order for collating element %.*s not yet defined"
7462 +msgstr "%s: ordem para elemento de comparação %.*s ainda não definida"
7465 -#: stdio-common/../sysdeps/gnu/errlist.c:539
7466 -msgid "RPC bad procedure for program"
7467 -msgstr "Procedimento RPC ruim para programa"
7468 +#: locale/programs/ld-collate.c:3349
7470 +msgid "%s: cannot reorder after %.*s: symbol not known"
7471 +msgstr "%s: não foi possível reordenar após %.*s: símbolo desconhecido"
7473 -#: nis/ypclnt.c:767
7474 -msgid "RPC failure on NIS operation"
7475 -msgstr "Falha RPC na operação NIS"
7476 +#: locale/programs/ld-collate.c:3401 locale/programs/ld-collate.c:3762
7478 +msgid "%s: missing `reorder-end' keyword"
7479 +msgstr "%s: faltando palavra-chave “reorder-end”"
7482 -#: stdio-common/../sysdeps/gnu/errlist.c:529
7483 -msgid "RPC program not available"
7484 -msgstr "Programa RPC não disponível"
7485 +#: locale/programs/ld-collate.c:3435 locale/programs/ld-collate.c:3633
7487 +msgid "%s: section `%.*s' not known"
7488 +msgstr "%s: seção “%.*s” desconhecida"
7491 -#: stdio-common/../sysdeps/gnu/errlist.c:534
7492 -msgid "RPC program version wrong"
7493 -msgstr "Versão incorreta de programa RPC"
7494 +#: locale/programs/ld-collate.c:3500
7496 +msgid "%s: bad symbol <%.*s>"
7497 +msgstr "%s: símbolo inválido <%.*s>"
7500 -#: stdio-common/../sysdeps/gnu/errlist.c:519
7501 -msgid "RPC struct is bad"
7502 -msgstr "Estrutura RPC inválida"
7503 +#: locale/programs/ld-collate.c:3696
7505 +msgid "%s: cannot have `%s' as end of ellipsis range"
7506 +msgstr "%s: não pode ter “%s” como terminação de intervalo de elipse"
7509 -#: stdio-common/../sysdeps/gnu/errlist.c:524
7510 -msgid "RPC version wrong"
7511 -msgstr "Versão RPC incorreta"
7512 +#: locale/programs/ld-collate.c:3746
7514 +msgid "%s: empty category description not allowed"
7515 +msgstr "%s: descrição vazia para categoria não permitida"
7517 -#: sunrpc/clnt_perr.c:215
7518 -msgid "RPC: (unknown error code)"
7519 -msgstr "RPC: (código de erro desconhecido)"
7520 +#: locale/programs/ld-collate.c:3765
7522 +msgid "%s: missing `reorder-sections-end' keyword"
7523 +msgstr "%s: faltando palavra-chave “reorder-sections-end”"
7525 -#: sunrpc/clnt_perr.c:176
7526 -msgid "RPC: Authentication error"
7527 -msgstr "RPC: Erro de autenticação"
7528 +#: locale/programs/ld-collate.c:3929
7530 +msgid "%s: '%s' without matching 'ifdef' or 'ifndef'"
7531 +msgstr "%s: “%s” sem “ifdef” ou “ifndef” correspondente"
7533 -#: sunrpc/clnt_perr.c:166
7534 -msgid "RPC: Can't decode result"
7535 -msgstr "RPC: Impossível decodificar resultado"
7536 +#: locale/programs/ld-collate.c:3947
7538 +msgid "%s: 'endif' without matching 'ifdef' or 'ifndef'"
7539 +msgstr "%s: “endif” sem “ifdef” ou “ifndef” correspondente"
7541 -#: sunrpc/clnt_perr.c:164
7542 -msgid "RPC: Can't encode arguments"
7543 -msgstr "RPC: impossível codificar argumentos"
7544 +#: locale/programs/ld-ctype.c:448
7545 +msgid "No character set name specified in charmap"
7546 +msgstr "Nenhum nome de conjunto de caracteres especificado no mapa de caracteres"
7548 -#: sunrpc/clnt_perr.c:196
7549 -msgid "RPC: Failed (unspecified error)"
7550 -msgstr "RPC: Falhou (erro não especificado)"
7551 +#: locale/programs/ld-ctype.c:476
7553 +msgid "character L'\\u%0*x' in class `%s' must be in class `%s'"
7554 +msgstr "caractere L“\\u%0*x” na classe “%s” deve estar na classe “%s”"
7556 -#: sunrpc/clnt_perr.c:174
7557 -msgid "RPC: Incompatible versions of RPC"
7558 -msgstr "RPC: Versões incompatíveis de RPC"
7559 +#: locale/programs/ld-ctype.c:490
7561 +msgid "character L'\\u%0*x' in class `%s' must not be in class `%s'"
7562 +msgstr "caractere L“\\u%0*x” na classe “%s” não pode estar na classe “%s”"
7564 -#: sunrpc/clnt_perr.c:192
7565 -msgid "RPC: Port mapper failure"
7566 -msgstr "RPC: Falha no Port mapper"
7567 +#: locale/programs/ld-ctype.c:504 locale/programs/ld-ctype.c:560
7569 +msgid "internal error in %s, line %u"
7570 +msgstr "erro interno em %s, linha %u"
7572 -#: sunrpc/clnt_perr.c:182
7573 -msgid "RPC: Procedure unavailable"
7574 -msgstr "RPC: Procedimento indisponível"
7575 +#: locale/programs/ld-ctype.c:532
7577 +msgid "character '%s' in class `%s' must be in class `%s'"
7578 +msgstr "caractere “%s” na classe “%s” deve estar na classe “%s”"
7580 -#: sunrpc/clnt_perr.c:194
7581 -msgid "RPC: Program not registered"
7582 -msgstr "RPC: Programa não registrado"
7583 +#: locale/programs/ld-ctype.c:547
7585 +msgid "character '%s' in class `%s' must not be in class `%s'"
7586 +msgstr "caractere “%s” na classe “%s” não pode estar na classe “%s”"
7588 -#: sunrpc/clnt_perr.c:178
7589 -msgid "RPC: Program unavailable"
7590 -msgstr "RPC: Programa indisponível"
7591 +#: locale/programs/ld-ctype.c:576 locale/programs/ld-ctype.c:611
7593 +msgid "<SP> character not in class `%s'"
7594 +msgstr "<SP> caractere não está na classe “%s”"
7596 -#: sunrpc/clnt_perr.c:180
7597 -msgid "RPC: Program/version mismatch"
7598 -msgstr "RPC: Programa/versão incompatíveis"
7600 -#: sunrpc/clnt_perr.c:186
7601 -msgid "RPC: Remote system error"
7602 -msgstr "RPC: Erro remoto de sistema"
7604 -#: sunrpc/clnt_perr.c:184
7605 -msgid "RPC: Server can't decode arguments"
7606 -msgstr "RPC: O servidor não pode decodificar os argumentos"
7608 -#: sunrpc/clnt_perr.c:162
7609 -msgid "RPC: Success"
7610 -msgstr "RPC: Sucesso"
7611 +#: locale/programs/ld-ctype.c:587 locale/programs/ld-ctype.c:621
7613 +msgid "<SP> character must not be in class `%s'"
7614 +msgstr "<SP> caractere não pode estar na classe “%s”"
7616 -#: sunrpc/clnt_perr.c:172
7617 -msgid "RPC: Timed out"
7618 -msgstr "RPC: Tempo esgotado"
7619 +#: locale/programs/ld-ctype.c:601
7620 +msgid "character <SP> not defined in character map"
7621 +msgstr "caractere <SP> não definido no mapa de caracteres"
7623 -#: sunrpc/clnt_perr.c:170
7624 -msgid "RPC: Unable to receive"
7625 -msgstr "RPC: Impossível receber"
7626 +#: locale/programs/ld-ctype.c:735
7627 +msgid "`digit' category has not entries in groups of ten"
7628 +msgstr "categoria “digit” não possui entradas em grupos de dez"
7630 -#: sunrpc/clnt_perr.c:168
7631 -msgid "RPC: Unable to send"
7632 -msgstr "RPC: Impossível enviar"
7633 +#: locale/programs/ld-ctype.c:784
7634 +msgid "no input digits defined and none of the standard names in the charmap"
7635 +msgstr "nenhum dígito de entrada definido e nenhum dos nomes padrões no mapa de caracteres"
7637 -#: sunrpc/clnt_perr.c:188
7638 -msgid "RPC: Unknown host"
7639 -msgstr "RPC: Host desconhecido"
7640 +#: locale/programs/ld-ctype.c:849
7641 +msgid "not all characters used in `outdigit' are available in the charmap"
7642 +msgstr "nem todos os caracteres usados em “outdigit” estão disponíveis no mapa de caracteres"
7644 -#: sunrpc/clnt_perr.c:190
7645 -msgid "RPC: Unknown protocol"
7646 -msgstr "RPC: Protocolo desconhecido"
7647 +#: locale/programs/ld-ctype.c:866
7648 +msgid "not all characters used in `outdigit' are available in the repertoire"
7649 +msgstr "nem todos os caracteres usados em “outdigit” estão disponíveis no repertório"
7651 -#: nis/nis_print.c:184
7652 +#: locale/programs/ld-ctype.c:1131
7654 -msgid "RSA (%d bits)\n"
7655 -msgstr "RSA (%d bits)\n"
7656 +msgid "character class `%s' already defined"
7657 +msgstr "classe de caractere “%s” já definida"
7659 -#: elf/dlsym.c:59 elf/dlvsym.c:62
7660 -msgid "RTLD_NEXT used in code not dynamically loaded"
7661 -msgstr "RTLD_NEXT usado em código não dinamicamente carregado"
7662 +#: locale/programs/ld-ctype.c:1137
7664 +msgid "implementation limit: no more than %Zd character classes allowed"
7665 +msgstr "limite de implementação: não são permitidos mais que %Zd classes de caracteres"
7668 -msgid "Read and display shared object profiling data"
7669 -msgstr "Lê e mostra perfil de dados do objeto compartilhado"
7670 +#: locale/programs/ld-ctype.c:1163
7672 +msgid "character map `%s' already defined"
7673 +msgstr "mapa de caracteres “%s” já definido"
7676 -msgid "Read configuration data from NAME"
7677 -msgstr "Lê configuração de dados de NOME"
7678 +#: locale/programs/ld-ctype.c:1169
7680 +msgid "implementation limit: no more than %d character maps allowed"
7681 +msgstr "limite de implementação: não são permitidos mais que %d mapas de caracteres"
7683 -#. TRANS An attempt was made to modify something on a read-only file system.
7684 -#: stdio-common/../sysdeps/gnu/errlist.c:218
7685 -msgid "Read-only file system"
7686 -msgstr "Sistema de arquivos somente para leitura"
7687 +#: locale/programs/ld-ctype.c:1434 locale/programs/ld-ctype.c:1559
7688 +#: locale/programs/ld-ctype.c:1665 locale/programs/ld-ctype.c:2341
7689 +#: locale/programs/ld-ctype.c:3299
7691 +msgid "%s: field `%s' does not contain exactly ten entries"
7692 +msgstr "%s: campo “%s” não contém exatamente dez entradas"
7694 -#: string/strsignal.c:66
7695 +#: locale/programs/ld-ctype.c:1462 locale/programs/ld-ctype.c:2036
7697 -msgid "Real-time signal %d"
7698 -msgstr "Sinal de tempo-real %d"
7699 +msgid "to-value <U%0*X> of range is smaller than from-value <U%0*X>"
7700 +msgstr "valor-para <U%0*X> de intervalo é menor que o valor-de <U%0*X>"
7702 -#: posix/regex.c:1027
7703 -msgid "Regular expression too big"
7704 -msgstr "Expressão regular muito longa"
7705 +#: locale/programs/ld-ctype.c:1589
7706 +msgid "start and end character sequence of range must have the same length"
7707 +msgstr "sequência de caracteres de início e término de intervalo devem ter o mesmo comprimento"
7709 -#: stdio-common/../sysdeps/gnu/errlist.c:810
7710 -msgid "Remote I/O error"
7711 -msgstr "Erro de E/S remota"
7712 +#: locale/programs/ld-ctype.c:1596
7713 +msgid "to-value character sequence is smaller than from-value sequence"
7714 +msgstr "sequência de caracteres do valor-para é menor que a sequência de valor-de"
7716 -#: stdio-common/../sysdeps/gnu/errlist.c:766
7717 -msgid "Remote address changed"
7718 -msgstr "Endereço remoto alterado"
7719 +#: locale/programs/ld-ctype.c:1956 locale/programs/ld-ctype.c:2007
7720 +msgid "premature end of `translit_ignore' definition"
7721 +msgstr "fim prematuro da definição “translit_ignore”"
7723 -#: inet/ruserpass.c:162
7724 -msgid "Remove password or make file unreadable by others."
7725 -msgstr "Remova senha ou torne arquivo não-legível por outros."
7726 +#: locale/programs/ld-ctype.c:1962 locale/programs/ld-ctype.c:2013
7727 +#: locale/programs/ld-ctype.c:2055
7728 +msgid "syntax error"
7729 +msgstr "erro de sintaxe"
7732 +#: locale/programs/ld-ctype.c:2188
7734 -msgid "Reopening shared object `%s' failed"
7735 -msgstr "Reabertura de objeto compartilhado `%s' falhou"
7737 -#: nis/nis_print.c:170
7738 -msgid "Replicate :\n"
7739 -msgstr "Duplicado :\n"
7740 +msgid "%s: syntax error in definition of new character class"
7741 +msgstr "%s: erro de sintaxe na definição da nova classe de caracteres"
7743 -#: argp/argp-help.c:1638
7744 +#: locale/programs/ld-ctype.c:2203
7746 -msgid "Report bugs to %s.\n"
7747 -msgstr "Reporte erros (bugs) para %s.\n"
7748 +msgid "%s: syntax error in definition of new character map"
7749 +msgstr "%s: erro de sintaxe na definição do novo mapa de caracteres"
7751 -#: catgets/gencat.c:223 db2/makedb.c:229 iconv/iconv_prog.c:280
7752 -#: locale/programs/locale.c:254 locale/programs/localedef.c:389
7753 -msgid "Report bugs using the `glibcbug' script to <bugs@gnu.org>.\n"
7754 -msgstr "Reportar erros usando o script `glibcbug' para <bugs@gnu.org>.\n"
7755 +#: locale/programs/ld-ctype.c:2363
7756 +msgid "ellipsis range must be marked by two operands of same type"
7757 +msgstr "intervalo de elipse deve estar marcado per dois operandos do mesmo tipo"
7759 -#: nis/ypclnt.c:765
7760 -msgid "Request arguments bad"
7761 -msgstr "Argumentos de requisição inválidos"
7762 +#: locale/programs/ld-ctype.c:2372
7763 +msgid "with symbolic name range values the absolute ellipsis `...' must not be used"
7764 +msgstr "com valores de intervalo com nome simbólico, a elipse absoluta “...” não pode ser usada"
7766 -#: resolv/herror.c:73
7767 -msgid "Resolver Error 0 (no error)"
7768 -msgstr "Erro de resolvedor 0 (não há erro)"
7769 +#: locale/programs/ld-ctype.c:2387
7770 +msgid "with UCS range values one must use the hexadecimal symbolic ellipsis `..'"
7771 +msgstr "com valores de intervalo de UCS, deve-se usar a elipse hexadecimal simbólica “..”"
7773 -#: resolv/herror.c:117
7774 -msgid "Resolver internal error"
7775 -msgstr "Erro interno do resolvedor"
7776 +#: locale/programs/ld-ctype.c:2401
7777 +msgid "with character code range values one must use the absolute ellipsis `...'"
7778 +msgstr "com valores de intervalo de código de caracteres, deve-se usar a elipse absoluta “…”"
7780 -#. TRANS Deadlock avoided; allocating a system resource would have resulted in a
7781 -#. TRANS deadlock situation. The system does not guarantee that it will notice
7782 -#. TRANS all such situations. This error means you got lucky and the system
7783 -#. TRANS noticed; it might just hang. @xref{File Locks}, for an example.
7784 -#: stdio-common/../sysdeps/gnu/errlist.c:97
7785 -msgid "Resource deadlock avoided"
7786 -msgstr "Evitado deadlock de recurso"
7787 +#: locale/programs/ld-ctype.c:2552
7789 +msgid "duplicated definition for mapping `%s'"
7790 +msgstr "definição duplicada para o mapeamento “%s”"
7792 -#: stdio-common/../sysdeps/unix/siglist.c:54
7793 -msgid "Resource lost"
7794 -msgstr "Recurso perdido"
7795 +#: locale/programs/ld-ctype.c:2638 locale/programs/ld-ctype.c:2782
7797 +msgid "%s: `translit_start' section does not end with `translit_end'"
7798 +msgstr "%s: a seção “translit_start” não termina com “translit_end”"
7800 -#. TRANS Resource temporarily unavailable; the call might work if you try again
7801 -#. TRANS later. The macro @code{EWOULDBLOCK} is another name for @code{EAGAIN};
7802 -#. TRANS they are always the same in the GNU C library.
7804 -#. TRANS This error can happen in a few different situations:
7806 -#. TRANS @itemize @bullet
7808 -#. TRANS An operation that would block was attempted on an object that has
7809 -#. TRANS non-blocking mode selected. Trying the same operation again will block
7810 -#. TRANS until some external condition makes it possible to read, write, or
7811 -#. TRANS connect (whatever the operation). You can use @code{select} to find out
7812 -#. TRANS when the operation will be possible; @pxref{Waiting for I/O}.
7814 -#. TRANS @strong{Portability Note:} In many older Unix systems, this condition
7815 -#. TRANS was indicated by @code{EWOULDBLOCK}, which was a distinct error code
7816 -#. TRANS different from @code{EAGAIN}. To make your program portable, you should
7817 -#. TRANS check for both codes and treat them the same.
7820 -#. TRANS A temporary resource shortage made an operation impossible. @code{fork}
7821 -#. TRANS can return this error. It indicates that the shortage is expected to
7822 -#. TRANS pass, so your program can try the call again later and it may succeed.
7823 -#. TRANS It is probably a good idea to delay for a few seconds before trying it
7824 -#. TRANS again, to allow time for other processes to release scarce resources.
7825 -#. TRANS Such shortages are usually fairly serious and affect the whole system,
7826 -#. TRANS so usually an interactive program should report the error to the user
7827 -#. TRANS and return to its command loop.
7828 -#. TRANS @end itemize
7829 -#: stdio-common/../sysdeps/gnu/errlist.c:279
7830 -msgid "Resource temporarily unavailable"
7831 -msgstr "Recurso temporariamente indisponível"
7832 +#: locale/programs/ld-ctype.c:2733
7834 +msgid "%s: duplicate `default_missing' definition"
7835 +msgstr "%s: definição duplicada de “default_missing”"
7837 -#: nis/nis_error.c:47
7838 -msgid "Results Sent to callback proc"
7839 -msgstr "Resultados enviados para processo chamador"
7840 +#: locale/programs/ld-ctype.c:2738
7841 +msgid "previous definition was here"
7842 +msgstr "definição anterior estava aqui"
7845 -msgid "SHOBJ [PROFDATA]"
7846 -msgstr "SHOBJ [PROFDATA]"
7847 +#: locale/programs/ld-ctype.c:2760
7849 +msgid "%s: no representable `default_missing' definition found"
7850 +msgstr "%s: nenhuma definição representável de “default_missing” localizada"
7852 -#: nis/nis_print.c:33
7855 +#: locale/programs/ld-ctype.c:2877 locale/programs/ld-ctype.c:2973
7856 +#: locale/programs/ld-ctype.c:2992 locale/programs/ld-ctype.c:3012
7857 +#: locale/programs/ld-ctype.c:3032 locale/programs/ld-ctype.c:3052
7858 +#: locale/programs/ld-ctype.c:3072 locale/programs/ld-ctype.c:3111
7859 +#: locale/programs/ld-ctype.c:3131 locale/programs/ld-ctype.c:3195
7860 +#: locale/programs/ld-ctype.c:3236 locale/programs/ld-ctype.c:3259
7862 +msgid "%s: character `%s' not defined while needed as default value"
7863 +msgstr "%s: caractere “%s” não definido enquanto necessário como valor padrão"
7865 -#: nis/nis_print.c:265
7866 +#: locale/programs/ld-ctype.c:2882 locale/programs/ld-ctype.c:2978
7867 +#: locale/programs/ld-ctype.c:2997 locale/programs/ld-ctype.c:3017
7868 +#: locale/programs/ld-ctype.c:3037 locale/programs/ld-ctype.c:3057
7869 +#: locale/programs/ld-ctype.c:3077 locale/programs/ld-ctype.c:3116
7870 +#: locale/programs/ld-ctype.c:3136 locale/programs/ld-ctype.c:3200
7872 -msgid "Search Path : %s\n"
7873 -msgstr "Rota de Busca :%s\n"
7874 +msgid "%s: character `%s' in charmap not representable with one byte"
7875 +msgstr "%s: caractere “%s” no mapa de caracteres não representável com um byte"
7877 -#: stdio-common/../sysdeps/unix/siglist.c:36
7878 -#: sysdeps/unix/sysv/linux/siglist.h:31
7879 -msgid "Segmentation fault"
7880 -msgstr "Falha de segmentação"
7881 +#: locale/programs/ld-ctype.c:3242 locale/programs/ld-ctype.c:3265
7883 +msgid "%s: character `%s' needed as default value not representable with one byte"
7884 +msgstr "%s: caractere “%s” necessário como valor padrão não representável com um byte"
7886 -#: nis/nis_error.c:35
7887 -msgid "Server busy, try again"
7888 -msgstr "Servidor ocupado, tente novamente"
7889 +#: locale/programs/ld-ctype.c:3321
7890 +msgid "no output digits defined and none of the standard names in the charmap"
7891 +msgstr "nenhum dígito de saída definido e nenhum dos nomes padrões no mapa de caracteres"
7893 -#: nis/nis_error.c:41
7894 -msgid "Server out of memory"
7895 -msgstr "Memória do servidor exaurida"
7896 +#: locale/programs/ld-ctype.c:3570
7898 +msgid "%s: transliteration data from locale `%s' not available"
7899 +msgstr "%s: dados de transliteração da localidade “%s” não disponíveis"
7901 -#: sunrpc/clnt_perr.c:277
7902 -msgid "Server rejected credential"
7903 -msgstr "Servidor rejeitou credencial"
7904 +#: locale/programs/ld-ctype.c:3669
7906 +msgid "%s: table for class \"%s\": %lu bytes"
7907 +msgstr "%s: tabela para a classe “%s”: %lu bytes"
7909 -#: sunrpc/clnt_perr.c:281
7910 -msgid "Server rejected verifier"
7911 -msgstr "Servidor rejeitou verificador"
7912 +#: locale/programs/ld-ctype.c:3733
7914 +msgid "%s: table for map \"%s\": %lu bytes"
7915 +msgstr "%s: tabela para o mapa “%s”: %lu bytes"
7917 -#: posix/../sysdeps/posix/gai_strerror.c:38
7918 -msgid "Servname not supported for ai_socktype"
7919 -msgstr "`Servname' não suportado para `ai_socktype'"
7920 +#: locale/programs/ld-ctype.c:3857
7922 +msgid "%s: table for width: %lu bytes"
7923 +msgstr "%s: tabela para largura: %lu bytes"
7925 -#: argp/argp-parse.c:89
7926 -msgid "Set the program name"
7927 -msgstr "Configura o nome do programa"
7928 +#: locale/programs/ld-identification.c:173
7930 +msgid "%s: no identification for category `%s'"
7931 +msgstr "%s: nenhuma identificação para a categoria “%s”"
7934 -msgid "Shut the server down"
7935 -msgstr "Encerra o servidor"
7936 +#: locale/programs/ld-identification.c:197
7938 +msgid "%s: unknown standard `%s' for category `%s'"
7939 +msgstr "%s: padrão desconhecido “%s” para a categoria “%s”"
7941 -#: stdio-common/../sysdeps/unix/siglist.c:25
7944 +#: locale/programs/ld-identification.c:380
7946 +msgid "%s: duplicate category version definition"
7947 +msgstr "%s: definição duplicada da versão da categoria"
7949 -#. TRANS A file that isn't a socket was specified when a socket is required.
7950 -#: stdio-common/../sysdeps/gnu/errlist.c:311
7951 -msgid "Socket operation on non-socket"
7952 -msgstr "Operação socket em um arquivo não-socket"
7953 +#: locale/programs/ld-measurement.c:111
7955 +msgid "%s: invalid value for field `%s'"
7956 +msgstr "%s: valor inválido para o campo “%s”"
7958 -#. TRANS The socket type is not supported.
7959 -#: stdio-common/../sysdeps/gnu/errlist.c:340
7960 -msgid "Socket type not supported"
7961 -msgstr "Tipo socket não suportado"
7962 +#: locale/programs/ld-messages.c:113 locale/programs/ld-messages.c:146
7964 +msgid "%s: field `%s' undefined"
7965 +msgstr "%s: campo “%s” indefinido"
7967 -#. TRANS A network connection was aborted locally.
7968 -#: stdio-common/../sysdeps/gnu/errlist.c:394
7969 -msgid "Software caused connection abort"
7970 -msgstr "Término de conexão causada por software"
7971 +#: locale/programs/ld-messages.c:119 locale/programs/ld-messages.c:152
7972 +#: locale/programs/ld-monetary.c:264 locale/programs/ld-numeric.c:117
7974 +msgid "%s: value for field `%s' must not be an empty string"
7975 +msgstr "%s: valor para campo “%s” não pode estar vazio"
7977 -#: sunrpc/rpcinfo.c:658
7978 -msgid "Sorry. You are not root\n"
7979 -msgstr "Lamento. Você não é o superusuário\n"
7980 +#: locale/programs/ld-messages.c:135 locale/programs/ld-messages.c:168
7982 +msgid "%s: no correct regular expression for field `%s': %s"
7983 +msgstr "%s: nenhuma expressão regular correta para o campo “%s”: %s"
7985 -#: locale/programs/localedef.c:97
7986 -msgid "Source definitions are found in FILE"
7987 -msgstr "Definições fonte são encontrada no ARQUIVO"
7988 +#: locale/programs/ld-monetary.c:228
7990 +msgid "%s: value of field `int_curr_symbol' has wrong length"
7991 +msgstr "%s: valor do campo “int_curr_symbol” possui comprimento incorreto"
7993 -#: stdio-common/../sysdeps/gnu/errlist.c:746
7994 -msgid "Srmount error"
7995 -msgstr "Erro de Srmount"
7996 +#: locale/programs/ld-monetary.c:245
7998 +msgid "%s: value of field `int_curr_symbol' does not correspond to a valid name in ISO 4217 [--no-warnings=intcurrsym]"
7999 +msgstr "%s: valor do campo “int_curr_symbol” não corresponde a um nome válido na ISO 4217 [--no-warnings=intcurrsym]"
8001 -#: sysdeps/unix/sysv/linux/siglist.h:59
8002 -msgid "Stack fault"
8003 -msgstr "Falha de pilha"
8004 +#: locale/programs/ld-monetary.c:293 locale/programs/ld-monetary.c:322
8006 +msgid "%s: value for field `%s' must be in range %d...%d"
8007 +msgstr "%s: valor para o campo “%s” deve estar no intervalo %d…%d"
8009 -#. TRANS Stale NFS file handle. This indicates an internal confusion in the NFS
8010 -#. TRANS system which is due to file system rearrangements on the server host.
8011 -#. TRANS Repairing this condition usually requires unmounting and remounting
8012 -#. TRANS the NFS file system on the local host.
8013 -#: stdio-common/../sysdeps/gnu/errlist.c:506
8014 -msgid "Stale NFS file handle"
8015 -msgstr "Manipulador de arquivo NFS corrompido"
8016 +#: locale/programs/ld-monetary.c:549 locale/programs/ld-numeric.c:228
8018 +msgid "%s: value for field `%s' must be a single character"
8019 +msgstr "%s: valor para o campo “%s” deve estar em um único caractere"
8022 -msgid "Start NUMBER threads"
8023 -msgstr "Iniciar NÚMERO de linhas (threads)"
8024 +#: locale/programs/ld-monetary.c:646 locale/programs/ld-numeric.c:272
8026 +msgid "%s: `-1' must be last entry in `%s' field"
8027 +msgstr "%s: “-1” deve ser o último registro no campo “%s”"
8029 -#: nis/nis_print.c:357
8030 +#: locale/programs/ld-monetary.c:668 locale/programs/ld-numeric.c:289
8032 -msgid "Status : %s\n"
8033 -msgstr "Posição : %s\n"
8034 +msgid "%s: values for field `%s' must be smaller than 127"
8035 +msgstr "%s: valor para o campo “%s” deve ser menor que 127"
8037 -#: stdio-common/../sysdeps/unix/siglist.c:43
8038 -#: sysdeps/unix/sysv/linux/siglist.h:37
8041 +#: locale/programs/ld-monetary.c:714
8042 +msgid "conversion rate value cannot be zero"
8043 +msgstr "valor da taxa de conversão não pode ser zero"
8045 -#: stdio-common/../sysdeps/unix/siglist.c:42
8046 -#: sysdeps/unix/sysv/linux/siglist.h:36
8047 -msgid "Stopped (signal)"
8048 -msgstr "Parado (sinal)"
8049 +#: locale/programs/ld-name.c:128 locale/programs/ld-telephone.c:124
8050 +#: locale/programs/ld-telephone.c:147
8052 +msgid "%s: invalid escape sequence in field `%s'"
8053 +msgstr "%s: sequência de escape inválida no campo “%s”"
8055 -#: stdio-common/../sysdeps/unix/siglist.c:46
8056 -#: sysdeps/unix/sysv/linux/siglist.h:40
8057 -msgid "Stopped (tty input)"
8058 -msgstr "Parado (entrada tty)"
8059 +#: locale/programs/ld-time.c:245
8061 +msgid "%s: direction flag in string %Zd in `era' field is not '+' nor '-'"
8062 +msgstr "%s: sinalizador de direção na string %Zd no campo “era” não é “+” nem “-”"
8064 -#: stdio-common/../sysdeps/unix/siglist.c:47
8065 -#: sysdeps/unix/sysv/linux/siglist.h:41
8066 -msgid "Stopped (tty output)"
8067 -msgstr "Parado (saída tty)"
8068 +#: locale/programs/ld-time.c:255
8070 +msgid "%s: direction flag in string %Zd in `era' field is not a single character"
8071 +msgstr "%s: sinalizador de direção na string %Zd no campo “era” não é um único caractere"
8073 -#: stdio-common/../sysdeps/gnu/errlist.c:790
8074 -msgid "Streams pipe error"
8075 -msgstr "Erro de pipe streams"
8076 +#: locale/programs/ld-time.c:267
8078 +msgid "%s: invalid number for offset in string %Zd in `era' field"
8079 +msgstr "%s: número inválido para deslocamento na string %Zd no campo “era”"
8081 -#: stdio-common/../sysdeps/gnu/errlist.c:794
8082 -msgid "Structure needs cleaning"
8083 -msgstr "A estrutura necessita de limpeza"
8084 +#: locale/programs/ld-time.c:274
8086 +msgid "%s: garbage at end of offset value in string %Zd in `era' field"
8087 +msgstr "%s: lixo no final do valor do deslocamento na string %Zd no campo “era”"
8089 -#: nis/nis_error.c:28 nis/ypclnt.c:763 nis/ypclnt.c:837 posix/regex.c:1012
8090 -#: stdio-common/../sysdeps/gnu/errlist.c:19
8093 +#: locale/programs/ld-time.c:324
8095 +msgid "%s: invalid starting date in string %Zd in `era' field"
8096 +msgstr "%s: data de início inválida na string %Zd no campo “era”"
8098 -#: locale/programs/localedef.c:106
8099 -msgid "Suppress warnings and information messages"
8100 -msgstr "Suprime avisos e mensagens de informação"
8101 +#: locale/programs/ld-time.c:332
8103 +msgid "%s: garbage at end of starting date in string %Zd in `era' field "
8104 +msgstr "%s: lixo no final da data início na string %Zd no campo “era” "
8106 -#: locale/programs/localedef.c:96
8107 -msgid "Symbolic character names defined in FILE"
8108 -msgstr "Nomes de caracteres simbólicos definido en ARQUIVO"
8109 +#: locale/programs/ld-time.c:350
8111 +msgid "%s: starting date is invalid in string %Zd in `era' field"
8112 +msgstr "%s: data de início inválida na string %Zd no campo “era”"
8114 -#: posix/../sysdeps/posix/gai_strerror.c:40
8115 -msgid "System error"
8116 -msgstr "Erro de sistema"
8117 +#: locale/programs/ld-time.c:398 locale/programs/ld-time.c:424
8119 +msgid "%s: invalid stopping date in string %Zd in `era' field"
8120 +msgstr "%s: data de parada inválida na string %Zd no campo “era”"
8122 -#: locale/programs/locale.c:63
8123 -msgid "System information:"
8124 -msgstr "Informação do Sistema:"
8125 +#: locale/programs/ld-time.c:406
8127 +msgid "%s: garbage at end of stopping date in string %Zd in `era' field"
8128 +msgstr "%s: lixo no final da data de parada na string %Zd no campo “era”"
8130 -#: nis/ypclnt.c:843
8131 -msgid "System resource allocation failure"
8132 -msgstr "Falha de alocação de recursos do sistema"
8133 +#: locale/programs/ld-time.c:432
8135 +msgid "%s: missing era name in string %Zd in `era' field"
8136 +msgstr "%s: faltando o nome da era na string %Zd no campo “era”"
8138 -#: locale/programs/localedef.c:384
8139 +#: locale/programs/ld-time.c:443
8142 -"System's directory for character maps : %s\n"
8143 -" repertoire maps: %s\n"
8144 -" locale path : %s\n"
8147 -"Diretório do sistema para mapas de caracteres: %s\n"
8148 -" mapas de repertório: %s\n"
8149 -" rota de localização: %s\n"
8151 +msgid "%s: missing era format in string %Zd in `era' field"
8152 +msgstr "%s: faltando o formato era na string %Zd no campo “era”"
8154 -#: nis/nis_print.c:117
8157 +#: locale/programs/ld-time.c:488
8159 +msgid "%s: third operand for value of field `%s' must not be larger than %d"
8160 +msgstr "%s: terceiro operando para o valor de campo “%s” não pode ser maior que %d"
8162 -#: nis/nis_print.c:262
8163 +#: locale/programs/ld-time.c:496 locale/programs/ld-time.c:504
8164 +#: locale/programs/ld-time.c:512
8166 -msgid "Table Type : %s\n"
8167 -msgstr "Tipo de Tabela : %s\n"
8168 +msgid "%s: values for field `%s' must not be larger than %d"
8169 +msgstr "%s: valor para o campo “%s” não pode ser maior que %d"
8171 -#: posix/../sysdeps/posix/gai_strerror.c:31
8172 -msgid "Temporary failure in name resolution"
8173 -msgstr "Falha temporário na resolução de nome"
8174 +#: locale/programs/ld-time.c:717
8176 +msgid "%s: too few values for field `%s'"
8177 +msgstr "%s: número insuficiente de valores para o campo “%s”"
8179 -#: stdio-common/../sysdeps/unix/siglist.c:40
8180 -#: sysdeps/unix/sysv/linux/siglist.h:34
8183 +#: locale/programs/ld-time.c:762
8184 +msgid "extra trailing semicolon"
8185 +msgstr "ponto e vírgula extra no final"
8187 -#. TRANS An attempt to execute a file that is currently open for writing, or
8188 -#. TRANS write to a file that is currently being executed. Often using a
8189 -#. TRANS debugger to run a program is considered having it open for writing and
8190 -#. TRANS will cause this error. (The name stands for ``text file busy''.) This
8191 -#. TRANS is not an error in the GNU system; the text is copied as necessary.
8192 -#: stdio-common/../sysdeps/gnu/errlist.c:197
8193 -msgid "Text file busy"
8194 -msgstr "Área de texto ocupada"
8195 +#: locale/programs/ld-time.c:765
8197 +msgid "%s: too many values for field `%s'"
8198 +msgstr "%s: número excessivo de valores para o campo “%s” de valores"
8200 -#: iconv/iconv_prog.c:536
8202 -"The following list contain all the coded character sets known. This does\n"
8203 -"not necessarily mean that all combinations of these names can be used for\n"
8204 -"the FROM and TO command line parameters. One coded character set can be\n"
8205 -"listed with several different names (aliases).\n"
8206 -" Some of the names are no plain strings but instead regular expressions and\n"
8207 -"they match a variety of names which can be given as parameters to the\n"
8212 -"A lista seguinte contém todos os conjuntos de codificação de caracteres \n"
8213 -"conhecidos. Isto não quer dizer necessáriamente que todas as combinações\n"
8214 -"destes nomes podem ser utilizadas nos parâmetros FROM e TO. Um conjunto\n"
8215 -"de caracteres pode ser listado com vários nomes diferentes (apelidos).\n"
8216 -" Alguns destes nomes não strings simples mas sim, expressões regulares, e\n"
8217 -"eles combinam com uma variedade de nomes que podem ser dados como parâmetrosao programa.\n"
8220 +#: locale/programs/linereader.c:130
8221 +msgid "trailing garbage at end of line"
8222 +msgstr "lixo no final da linha"
8224 -#: nis/nis_print.c:223
8225 -msgid "Time to live : "
8226 -msgstr "Tempo de vida : "
8227 +#: locale/programs/linereader.c:298
8228 +msgid "garbage at end of number"
8229 +msgstr "lixo no final do número"
8231 -#: stdio-common/../sysdeps/gnu/errlist.c:662
8232 -msgid "Timer expired"
8233 -msgstr "Tempo expirado"
8234 +#: locale/programs/linereader.c:410
8235 +msgid "garbage at end of character code specification"
8236 +msgstr "lixo no final da especificação do código de caractere"
8238 -#: nis/nis_error.c:55
8239 -msgid "Too Many Attributes"
8240 -msgstr "Muitos atributos"
8241 +#: locale/programs/linereader.c:496
8242 +msgid "unterminated symbolic name"
8243 +msgstr "nome simbólico não terminado"
8245 -#. TRANS Too many levels of symbolic links were encountered in looking up a file name.
8246 -#. TRANS This often indicates a cycle of symbolic links.
8247 -#: stdio-common/../sysdeps/gnu/errlist.c:457
8248 -msgid "Too many levels of symbolic links"
8249 -msgstr "Muitos níveis de links simbólicos"
8250 +#: locale/programs/linereader.c:623
8251 +msgid "illegal escape sequence at end of string"
8252 +msgstr "sequência de escape ilegal no final da string"
8254 -#. TRANS Too many links; the link count of a single file would become too large.
8255 -#. TRANS @code{rename} can cause this error if the file being renamed already has
8256 -#. TRANS as many links as it can take (@pxref{Renaming Files}).
8257 -#: stdio-common/../sysdeps/gnu/errlist.c:225
8258 -msgid "Too many links"
8259 -msgstr "Muitos links"
8260 +#: locale/programs/linereader.c:627 locale/programs/linereader.c:847
8261 +msgid "unterminated string"
8262 +msgstr "string não terminada"
8264 -#. TRANS The current process has too many files open and can't open any more.
8265 -#. TRANS Duplicate descriptors do count toward this limit.
8267 -#. TRANS In BSD and GNU, the number of open files is controlled by a resource
8268 -#. TRANS limit that can usually be increased. If you get this error, you might
8269 -#. TRANS want to increase the @code{RLIMIT_NOFILE} limit or make it unlimited;
8270 -#. TRANS @pxref{Limits on Resources}.
8271 -#: stdio-common/../sysdeps/gnu/errlist.c:175
8272 -msgid "Too many open files"
8273 -msgstr "Muitos arquivos abertos"
8274 +#: locale/programs/linereader.c:808
8276 +msgid "symbol `%.*s' not in charmap"
8277 +msgstr "símbolo “%.*s” não está no mapa de caracteres"
8279 -#. TRANS There are too many distinct file openings in the entire system. Note
8280 -#. TRANS that any number of linked channels count as just one file opening; see
8281 -#. TRANS @ref{Linked Channels}. This error never occurs in the GNU system.
8282 -#: stdio-common/../sysdeps/gnu/errlist.c:182
8283 -msgid "Too many open files in system"
8284 -msgstr "Muitos arquivos abertos no sistema"
8285 +#: locale/programs/linereader.c:829
8287 +msgid "symbol `%.*s' not in repertoire map"
8288 +msgstr "símbolo “%.*s” não está no mapa de repertório"
8290 -#. TRANS This means that the per-user limit on new process would be exceeded by
8291 -#. TRANS an attempted @code{fork}. @xref{Limits on Resources}, for details on
8292 -#. TRANS the @code{RLIMIT_NPROC} limit.
8293 -#: stdio-common/../sysdeps/gnu/errlist.c:487
8294 -msgid "Too many processes"
8295 -msgstr "Muitos processos"
8296 +#: locale/programs/locale-spec.c:130
8298 +msgid "unknown name \"%s\""
8299 +msgstr "nome desconhecido “%s”"
8302 -#: stdio-common/../sysdeps/gnu/errlist.c:439
8303 -msgid "Too many references: cannot splice"
8304 -msgstr "Muitas referências: não é possível unir"
8305 +#: locale/programs/locale.c:70
8306 +msgid "System information:"
8307 +msgstr "Informação do sistema:"
8309 -#. TRANS The file quota system is confused because there are too many users.
8310 -#. TRANS @c This can probably happen in a GNU system when using NFS.
8311 -#: stdio-common/../sysdeps/gnu/errlist.c:493
8312 -msgid "Too many users"
8313 -msgstr "Muitos usuários"
8314 +#: locale/programs/locale.c:72
8315 +msgid "Write names of available locales"
8316 +msgstr "Escreve nomes das localidades (locales) disponíveis"
8318 -#: stdio-common/../sysdeps/unix/siglist.c:30
8319 -#: sysdeps/unix/sysv/linux/siglist.h:26
8320 -msgid "Trace/breakpoint trap"
8321 -msgstr "Trace/breakpoint trap"
8322 +#: locale/programs/locale.c:74
8323 +msgid "Write names of available charmaps"
8324 +msgstr "Escreve nomes dos mapas de caracteres disponíveis"
8326 -#: posix/regex.c:1017
8327 -msgid "Trailing backslash"
8328 -msgstr "Contrabarra final"
8329 +#: locale/programs/locale.c:75
8330 +msgid "Modify output format:"
8331 +msgstr "Formato de modificação de saída:"
8333 -#. TRANS In the GNU system, opening a file returns this error when the file is
8334 -#. TRANS translated by a program and the translator program dies while starting
8335 -#. TRANS up, before it has connected to the file.
8336 -#: stdio-common/../sysdeps/gnu/errlist.c:596
8337 -msgid "Translator died"
8338 -msgstr "Tradutor morto"
8339 +#: locale/programs/locale.c:76
8340 +msgid "Write names of selected categories"
8341 +msgstr "Escreve nomes das categorias selecionadas"
8343 -#. TRANS You tried to connect a socket that is already connected.
8344 -#. TRANS @xref{Connecting}.
8345 -#: stdio-common/../sysdeps/gnu/errlist.c:414
8346 -msgid "Transport endpoint is already connected"
8347 -msgstr "Ponto final de transporte já está conectado"
8348 +#: locale/programs/locale.c:77
8349 +msgid "Write names of selected keywords"
8350 +msgstr "Escreve nomes das palavras-chave selecionadas"
8352 -#. TRANS The socket is not connected to anything. You get this error when you
8353 -#. TRANS try to transmit data over a socket, without first specifying a
8354 -#. TRANS destination for the data. For a connectionless socket (for datagram
8355 -#. TRANS protocols, such as UDP), you get @code{EDESTADDRREQ} instead.
8356 -#: stdio-common/../sysdeps/gnu/errlist.c:422
8357 -msgid "Transport endpoint is not connected"
8358 -msgstr "Ponto final de transporte não está conectado"
8359 +#: locale/programs/locale.c:78
8360 +msgid "Print more information"
8361 +msgstr "Imprime mais informações"
8363 -#: argp/argp-help.c:1610
8365 -msgid "Try `%s --help' or `%s --usage' for more information.\n"
8366 -msgstr "Tente `%s --help' ou `%s --usage' para mais informações.\n"
8367 +#: locale/programs/locale.c:83
8368 +msgid "Get locale-specific information."
8369 +msgstr "Obtém informações específicas da localidade."
8373 -msgid "Trying %s...\n"
8374 -msgstr "Tentando %s...\n"
8375 +#: locale/programs/locale.c:86
8383 -#: nis/nis_print.c:163
8384 +#: locale/programs/locale.c:190
8386 -msgid "Type : %s\n"
8387 -msgstr "Tipo : %s\n"
8388 +msgid "Cannot set LC_CTYPE to default locale"
8389 +msgstr "Não foi possível definir LC_CTYPE para a localidade padrão"
8391 -#: nis/nis_print.c:47
8393 -msgstr "DESCONHECIDO"
8395 -#: nis/nis_error.c:72
8396 -msgid "Unable to authenticate NIS+ client"
8397 -msgstr "Impossível autenticar cliente NIS+"
8399 -#: nis/nis_error.c:71
8400 -msgid "Unable to authenticate NIS+ server"
8401 -msgstr "Impossível autenticar servidor NIS+"
8403 -#: nis/nis_error.c:46
8404 -msgid "Unable to create callback"
8405 -msgstr "Impossível criar chamador"
8407 -#: nis/nis_error.c:74
8408 -msgid "Unable to create process on server"
8409 -msgstr "Impossível criar processo no servidor"
8411 -#: nis/nis_print.c:190
8412 +#: locale/programs/locale.c:192
8414 -msgid "Unknown (type = %d, bits = %d)\n"
8415 -msgstr "Desconhecido (tipo = %d, bits = %d)\n"
8416 +msgid "Cannot set LC_MESSAGES to default locale"
8417 +msgstr "Não foi possível definir LC_MESSAGES para a localidade padrão"
8419 -#: inet/ruserpass.c:248
8420 +#: locale/programs/locale.c:205
8422 -msgid "Unknown .netrc keyword %s"
8423 -msgstr "Palavra-chave em .netrc desconhecida %s"
8424 +msgid "Cannot set LC_COLLATE to default locale"
8425 +msgstr "Não foi possível definir LC_COLLATE para a localidade padrão"
8427 -#: nis/ypclnt.c:797
8428 -msgid "Unknown NIS error code"
8429 -msgstr "Código de erro NIS desconhecido"
8431 -#: nss/getent.c:505
8432 +#: locale/programs/locale.c:221
8434 -msgid "Unknown database: %s\n"
8435 -msgstr "Base de dados desconhecida: %s\n"
8437 -#: posix/../sysdeps/posix/gai_strerror.c:51
8438 -msgid "Unknown error"
8439 -msgstr "Erro desconhecido"
8441 -#: string/../sysdeps/generic/_strerror.c:48
8442 -#: string/../sysdeps/mach/_strerror.c:86
8443 -#: sysdeps/mach/hurd/mips/dl-machine.c:82
8444 -msgid "Unknown error "
8445 -msgstr "Erro desconhecido "
8447 -#: resolv/herror.c:74
8448 -msgid "Unknown host"
8449 -msgstr "Host desconhecido"
8451 -#: nis/nis_error.c:34
8452 -msgid "Unknown object"
8453 -msgstr "Objeto desconhecido"
8454 +msgid "Cannot set LC_ALL to default locale"
8455 +msgstr "Não foi possível definir LC_ALL para a localidade padrão"
8457 -#: nscd/nscd_conf.c:181
8458 +#: locale/programs/locale.c:521
8460 -msgid "Unknown option: %s %s %s"
8461 -msgstr "Opção desconhecida: %s %s %s"
8463 -#: resolv/herror.c:120
8464 -msgid "Unknown resolver error"
8465 -msgstr "Erro desconhecido do resolvedor"
8467 -#: resolv/herror.c:76
8468 -msgid "Unknown server error"
8469 -msgstr "Erro desconhecido de servidor"
8470 +msgid "while preparing output"
8471 +msgstr "enquanto preparava a saída"
8473 -#: string/strsignal.c:70
8475 -msgid "Unknown signal %d"
8476 -msgstr "Sinal desconhecido %d"
8477 +#: locale/programs/localedef.c:112
8478 +msgid "Input Files:"
8479 +msgstr "Arquivos de entrada:"
8481 -#: misc/error.c:107
8482 -msgid "Unknown system error"
8483 -msgstr "Erro desconhecido de sistema"
8484 +#: locale/programs/localedef.c:114
8485 +msgid "Symbolic character names defined in FILE"
8486 +msgstr "Nomes de caracteres simbólicos definido no ARQUIVO"
8488 -#: nis/ypclnt.c:845
8489 -msgid "Unknown ypbind error"
8490 -msgstr "Erro desconhecido de ypbind"
8491 +#: locale/programs/localedef.c:116
8492 +msgid "Source definitions are found in FILE"
8493 +msgstr "Definições fonte são encontradas no ARQUIVO"
8495 -#: posix/regex.c:1020
8496 -msgid "Unmatched ( or \\("
8497 -msgstr "( ou \\( descasados"
8498 +#: locale/programs/localedef.c:118
8499 +msgid "FILE contains mapping from symbolic names to UCS4 values"
8500 +msgstr "ARQUIVO contém mapas de nomes simbólicos para valores UCS4"
8502 -#: posix/regex.c:1028
8503 -msgid "Unmatched ) or \\)"
8504 -msgstr ") ou \\) descasados"
8505 +#: locale/programs/localedef.c:122
8506 +msgid "Create output even if warning messages were issued"
8507 +msgstr "Cria saída mesmo que mensagens de aviso forem produzidas"
8509 -#: posix/regex.c:1019
8510 -msgid "Unmatched [ or [^"
8511 -msgstr "[ ou [^ descasados"
8512 +#: locale/programs/localedef.c:123
8513 +msgid "Optional output file prefix"
8514 +msgstr "Prefixo opcional de arquivo de saída"
8516 -#: posix/regex.c:1021
8517 -msgid "Unmatched \\{"
8518 -msgstr "\\{ descasado"
8519 +#: locale/programs/localedef.c:124
8520 +msgid "Strictly conform to POSIX"
8521 +msgstr "Adapta estritamente ao POSIX"
8523 -#: posix/getconf.c:692
8525 -msgid "Unrecognized variable `%s'"
8526 -msgstr "Variável não reconhecida `%s'"
8527 +#: locale/programs/localedef.c:126
8528 +msgid "Suppress warnings and information messages"
8529 +msgstr "Suprime avisos e mensagens de informação"
8531 -#: stdio-common/../sysdeps/unix/siglist.c:41
8532 -#: sysdeps/unix/sysv/linux/siglist.h:35
8533 -msgid "Urgent I/O condition"
8534 -msgstr "Condição urgente de E/S"
8535 +#: locale/programs/localedef.c:127
8536 +msgid "Print more messages"
8537 +msgstr "Mostra mais mensagens"
8539 -#: argp/argp-help.c:1567
8542 +#: locale/programs/localedef.c:128 locale/programs/localedef.c:131
8546 -#: posix/getconf.c:604
8548 -msgid "Usage: %s variable_name [pathname]\n"
8549 -msgstr "Uso: %s nome_da_variável [caminho]\n"
8550 +#: locale/programs/localedef.c:129
8551 +msgid "Comma-separated list of warnings to disable; supported warnings are: ascii, intcurrsym"
8552 +msgstr "Lista separada por vírgulas de avisos para desabilitar; há suporte para os avisos: ascii, intcurrsym"
8554 -#: sunrpc/rpcinfo.c:674
8555 -msgid "Usage: rpcinfo [ -n portnum ] -u host prognum [ versnum ]\n"
8556 -msgstr "Uso: rpcinfo [ -n númporta ] -u host númprog [ númvers ]\n"
8557 +#: locale/programs/localedef.c:132
8558 +msgid "Comma-separated list of warnings to enable; supported warnings are: ascii, intcurrsym"
8559 +msgstr "Lista separada por vírgulas de avisos para habilitar; há suporte para os avisos: ascii, intcurrsym"
8561 -#: stdio-common/../sysdeps/unix/siglist.c:55
8562 -#: sysdeps/unix/sysv/linux/siglist.h:48
8563 -msgid "User defined signal 1"
8564 -msgstr "Sinal 1 definido pelo usuário"
8565 +#: locale/programs/localedef.c:135
8566 +msgid "Archive control:"
8567 +msgstr "Controle de pacote:"
8569 -#: stdio-common/../sysdeps/unix/siglist.c:56
8570 -#: sysdeps/unix/sysv/linux/siglist.h:49
8571 -msgid "User defined signal 2"
8572 -msgstr "Sinal 2 definido pelo usuário"
8573 +#: locale/programs/localedef.c:137
8574 +msgid "Don't add new data to archive"
8575 +msgstr "Não adiciona novos dados ao pacote"
8577 -#: stdio-common/../sysdeps/gnu/errlist.c:654
8578 -msgid "Value too large for defined data type"
8579 -msgstr "Valor muito extenso para o tipo de dados definido"
8580 +#: locale/programs/localedef.c:139
8581 +msgid "Add locales named by parameters to archive"
8582 +msgstr "Adiciona localidades nomeadas por parâmetros ao pacote"
8584 -#: stdio-common/../sysdeps/unix/siglist.c:51
8585 -#: sysdeps/unix/sysv/linux/siglist.h:45
8586 -msgid "Virtual timer expired"
8587 -msgstr "Temporizador virtual expirado"
8588 +#: locale/programs/localedef.c:140
8589 +msgid "Replace existing archive content"
8590 +msgstr "Substitui o conteúdo de pacote existente"
8592 -#: timezone/zic.c:1899
8593 -msgid "Wild result from command execution"
8594 -msgstr "Resultado insensato da execução do comando"
8595 +#: locale/programs/localedef.c:142
8596 +msgid "Remove locales named by parameters from archive"
8597 +msgstr "Remove localidades nomeadas por parâmetros do pacote"
8599 -#: stdio-common/../sysdeps/unix/siglist.c:53
8600 -#: sysdeps/unix/sysv/linux/siglist.h:47
8601 -msgid "Window changed"
8602 -msgstr "Janela alterada"
8603 +#: locale/programs/localedef.c:143
8604 +msgid "List content of archive"
8605 +msgstr "Lista conteúdo do pacote"
8607 -#: locale/programs/locale.c:67
8608 -msgid "Write names of available charmaps"
8609 -msgstr "Escreve nomes dos mapas de caracteres (charmaps) disponíveis"
8610 +#: locale/programs/localedef.c:145
8611 +msgid "locale.alias file to consult when making archive"
8612 +msgstr "arquivo localidade.apelido a ser consultado ao criar pacote"
8614 -#: locale/programs/locale.c:65
8615 -msgid "Write names of available locales"
8616 -msgstr "Escreve nomes das localizações (locales) disponíveis"
8617 +#: locale/programs/localedef.c:147
8618 +msgid "Generate little-endian output"
8619 +msgstr "Gera saída em little-endian"
8621 -#: locale/programs/locale.c:69
8622 -msgid "Write names of selected categories"
8623 -msgstr "Escreve nomes das categorias selecionadasd"
8624 +#: locale/programs/localedef.c:149
8625 +msgid "Generate big-endian output"
8626 +msgstr "Gera saída em big-endian"
8628 -#: locale/programs/locale.c:70
8629 -msgid "Write names of selected keywords"
8630 -msgstr "Escreve nomes das palavras-chave selecionadas"
8631 +#: locale/programs/localedef.c:154
8632 +msgid "Compile locale specification"
8633 +msgstr "Compila especificação localizada"
8635 -#: catgets/gencat.c:110 db2/makedb.c:59
8636 -msgid "Write output to file NAME"
8637 -msgstr "Escreve a saída para o arquivo NOME"
8638 +#: locale/programs/localedef.c:157
8641 +"[--add-to-archive|--delete-from-archive] FILE...\n"
8642 +"--list-archive [FILE]"
8645 +"[--add-to-archive|--delete-from-archive] ARQUIVO...\n"
8646 +"--list-archive [ARQUIVO]"
8648 -#: catgets/gencat.c:241 db2/makedb.c:247 elf/sprof.c:365
8649 -#: iconv/iconv_prog.c:299 locale/programs/locale.c:272
8650 -#: locale/programs/localedef.c:408 nscd/nscd.c:228 nss/getent.c:70
8651 -#: posix/getconf.c:629
8652 +#: locale/programs/localedef.c:232
8654 -msgid "Written by %s.\n"
8655 -msgstr "Escrito por %s.\n"
8657 -#: stdio-common/../sysdeps/gnu/errlist.c:818
8658 -msgid "Wrong medium type"
8659 -msgstr "Tipo de mídia incorreta"
8660 +msgid "cannot create directory for output files"
8661 +msgstr "não foi possível criar diretório para os arquivos de saída"
8663 -#: nis/nis_print.c:39
8667 -#: nis/nis_print.c:43
8670 +#: locale/programs/localedef.c:243
8671 +msgid "FATAL: system does not define `_POSIX2_LOCALEDEF'"
8672 +msgstr "FATAL: sistema não define “_POSIX2_LOCALEDEF”"
8674 -#: nis/ypclnt.c:185
8675 +#: locale/programs/localedef.c:257 locale/programs/localedef.c:273
8676 +#: locale/programs/localedef.c:663 locale/programs/localedef.c:683
8678 -msgid "YPBINDPROC_DOMAIN: %s\n"
8679 -msgstr "YPBINDPROC_DOMAIN: %s\n"
8680 +msgid "cannot open locale definition file `%s'"
8681 +msgstr "não é possível abrir arquivo de definição da localidade “%s”"
8683 -#: nis/nis_error.c:70
8684 -msgid "Yes, 42 is the meaning of life"
8685 -msgstr "Sim, 42 é o sentido da vida"
8686 +#: locale/programs/localedef.c:297
8688 +msgid "cannot write output files to `%s'"
8689 +msgstr "não é possível escrever arquivo de saída para “%s”"
8691 -#. TRANS You did @strong{what}?
8692 -#: stdio-common/../sysdeps/gnu/errlist.c:608
8693 -msgid "You really blew it this time"
8694 -msgstr "Você realmente o destruiu desta vez"
8695 +#: locale/programs/localedef.c:303
8696 +msgid "no output file produced because errors were issued"
8697 +msgstr "nenhum arquivo de saída foi produzido porque erros foram emitidos"
8699 -#: timezone/zic.c:1063
8700 -msgid "Zone continuation line end time is not after end time of previous line"
8701 -msgstr "Tempo final da linha de zona não está após o tempo final da linha anterior"
8702 +#: locale/programs/localedef.c:431
8705 +"System's directory for character maps : %s\n"
8706 +"\t\t repertoire maps: %s\n"
8707 +"\t\t locale path : %s\n"
8710 +"Diretório do sistema para mapas de caracteres: %s\n"
8711 +" mapas de repertórios: %s\n"
8712 +" caminho da localidade: %s\n"
8715 -#: iconv/iconv_prog.c:70
8717 -msgstr "[ARQUIVO...]"
8718 +#: locale/programs/localedef.c:631
8719 +msgid "circular dependencies between locale definitions"
8720 +msgstr "dependências circulares entre definições de localidade"
8722 -#: locale/programs/charmap.c:481 locale/programs/locfile.c:471
8723 -#: locale/programs/repertoire.c:278
8724 +#: locale/programs/localedef.c:637
8726 -msgid "`%1$s' definition does not end with `END %1$s'"
8727 -msgstr "`%1$s' definição não termina com `END %1$s'"
8728 +msgid "cannot add already read locale `%s' a second time"
8729 +msgstr "não foi possível adicionar localidade já lida “%s” uma segunda vez"
8732 +#: locale/programs/locarchive.c:133 locale/programs/locarchive.c:380
8734 -msgid "`%s' is no correct profile data file for `%s'"
8735 -msgstr "`%s' não é o arquivo deperfil de dados correto para `%s'"
8736 +msgid "cannot create temporary file: %s"
8737 +msgstr "não foi possível criar arquivo temporário: %s"
8739 -#: locale/programs/ld-monetary.c:369 locale/programs/ld-numeric.c:193
8740 +#: locale/programs/locarchive.c:167 locale/programs/locarchive.c:430
8742 -msgid "`-1' must be last entry in `%s' field in `%s' category"
8743 -msgstr "`-1' deve ser o último registro no `%s' campo na `%s' categoria"
8745 -#: locale/programs/ld-collate.c:1666
8746 -msgid "`...' must only be used in `...' and `UNDEFINED' entries"
8747 -msgstr "`...' deve ser usado apenas em `...' e entradas `UNDEFINED'"
8749 -#: locale/programs/locfile.c:668
8750 -msgid "`from' expected after first argument to `collating-element'"
8751 -msgstr "`from' esperado após primeiro argumento para `collating-element'"
8753 -#: locale/programs/ld-collate.c:1118
8754 -msgid "`from' string in collation element declaration contains unknown character"
8755 -msgstr "string `from' na declaração de elemento de comparação contém caracter desconhecido"
8756 +msgid "cannot initialize archive file"
8757 +msgstr "não foi possível inicializar o arquivo do pacote"
8759 -#: posix/../sysdeps/posix/gai_strerror.c:34
8760 -msgid "ai_family not supported"
8761 -msgstr "Família de protocolo (ai_family) não suportada"
8763 -#: posix/../sysdeps/posix/gai_strerror.c:39
8764 -msgid "ai_socktype not supported"
8765 -msgstr "Tipo socket (ai_socktype) não suportado"
8768 -msgid "already running"
8769 -msgstr "já está rodando"
8771 -#: locale/programs/charmap.c:352 locale/programs/repertoire.c:152
8772 +#: locale/programs/locarchive.c:174 locale/programs/locarchive.c:437
8774 -msgid "argument to <%s> must be a single character"
8775 -msgstr "argumento para <%s> deve ser um caracter simples"
8776 +msgid "cannot resize archive file"
8777 +msgstr "não foi possível redimensionar o arquivo do pacote"
8779 -#: locale/programs/locfile.c:240
8780 +#: locale/programs/locarchive.c:189 locale/programs/locarchive.c:452
8781 +#: locale/programs/locarchive.c:674
8783 -msgid "argument to `%s' must be a single character"
8784 -msgstr "argumento para `%s' deve ser um caracter simples"
8786 -#: sunrpc/auth_unix.c:321
8787 -msgid "auth_none.c - Fatal marshalling problem"
8788 -msgstr "auth_none.c - Problema fatal de marshalling"
8790 -#: sunrpc/auth_unix.c:116 sunrpc/auth_unix.c:122 sunrpc/auth_unix.c:151
8791 -msgid "authunix_create: out of memory\n"
8792 -msgstr "authunix_create: não há memória suficiente\n"
8794 -#: locale/programs/charmap.c:297 locale/programs/locfile.c:234
8795 -#: locale/programs/locfile.c:261 locale/programs/repertoire.c:144
8796 -msgid "bad argument"
8797 -msgstr "argumento inválido"
8801 -msgstr "dono inválido"
8803 -#: timezone/zic.c:1185
8804 -msgid "blank FROM field on Link line"
8805 -msgstr "campo FROM em branco na linha Link"
8807 -#: timezone/zic.c:1189
8808 -msgid "blank TO field on Link line"
8809 -msgstr "campo TO em branco na linha Link"
8811 -#: malloc/mcheck.c:208
8812 -msgid "block freed twice\n"
8813 -msgstr "bloco liberado duas vezes\n"
8815 -#: malloc/mcheck.c:211
8816 -msgid "bogus mcheck_status, library is buggy\n"
8817 -msgstr "mcheck_status inválido, biblioteca está com problemas\n"
8819 -#: sunrpc/pmap_rmt.c:185
8820 -msgid "broadcast: ioctl (get interface configuration)"
8821 -msgstr "broadcast: ioctl (obter configuração de interface)"
8822 +msgid "cannot map archive header"
8823 +msgstr "não foi possível mapear o cabeçalho do pacote"
8825 -#: sunrpc/pmap_rmt.c:194
8826 -msgid "broadcast: ioctl (get interface flags)"
8827 -msgstr "broadcast: ioctl (obter flags de interface)"
8829 -#: login/programs/request.c:167
8830 -msgid "buffer overflow"
8831 -msgstr "estouro de buffer"
8833 -#: sunrpc/svc_udp.c:446
8834 -msgid "cache_set: could not allocate new rpc_buffer"
8835 -msgstr "cache_set: não foi possível alocar novo rpc_buffer"
8837 -#: sunrpc/svc_udp.c:440
8838 -msgid "cache_set: victim alloc failed"
8839 -msgstr "cache_set: alocação de vítima falhou"
8840 +#: locale/programs/locarchive.c:211
8842 +msgid "failed to create new locale archive"
8843 +msgstr "falha ao criar o novo pacote de localidade"
8845 -#: sunrpc/svc_udp.c:429
8846 -msgid "cache_set: victim not found"
8847 -msgstr "cache_set: vítima não localizada"
8848 +#: locale/programs/locarchive.c:223
8850 +msgid "cannot change mode of new locale archive"
8851 +msgstr "não foi possível alterar o modo do novo arquivo de localidade"
8853 -#: timezone/zic.c:1726
8854 -msgid "can't determine time zone abbreviation to use just after until time"
8855 -msgstr "não é possível determinar abreviação para zona de tempo"
8856 +#: locale/programs/locarchive.c:324
8857 +msgid "cannot read data from locale archive"
8858 +msgstr "não foi possível ler dados do pacote de localidade"
8860 -#: sunrpc/svc_simple.c:75
8861 +#: locale/programs/locarchive.c:355
8863 -msgid "can't reassign procedure number %d\n"
8864 -msgstr "não é possível reassinalar número de procedimento %d\n"
8865 +msgid "cannot map locale archive file"
8866 +msgstr "não foi possível mapear o arquivo do pacote de localidade"
8868 -#: locale/programs/localedef.c:279
8869 +#: locale/programs/locarchive.c:460
8871 -msgid "cannot `stat' locale file `%s'"
8872 -msgstr "não é possível acessar arquivo de locale `%s'"
8873 +msgid "cannot lock new archive"
8874 +msgstr "não foi possível travar o novo pacote"
8876 -#: elf/sprof.c:935 elf/sprof.c:987
8877 -msgid "cannot allocate symbol data"
8878 -msgstr "Não foi possível alocar memória"
8879 +#: locale/programs/locarchive.c:529
8881 +msgid "cannot extend locale archive file"
8882 +msgstr "não foi possível estender o arquivo do pacote de localidade"
8884 -#: elf/sprof.c:719 elf/sprof.c:777
8885 -msgid "cannot create internal descriptor"
8886 -msgstr "não é possível criar descritor interno"
8887 +#: locale/programs/locarchive.c:538
8889 +msgid "cannot change mode of resized locale archive"
8890 +msgstr "não foi possível alterar o modo do arquivo de localidade redimensionado"
8893 -msgid "cannot create internal descriptors"
8894 -msgstr "não é possivel criar descritores internos"
8895 +#: locale/programs/locarchive.c:546
8897 +msgid "cannot rename new archive"
8898 +msgstr "não foi possível renomear o novo pacote"
8900 -#: nscd/connections.c:180
8901 +#: locale/programs/locarchive.c:608
8903 -msgid "cannot enable socket to accept connections: %s"
8904 -msgstr "impossível habilitar soquete para aceitar conecções: %s"
8905 +msgid "cannot open locale archive \"%s\""
8906 +msgstr "não foi possível abrir pacote de localidade “%s”"
8908 -#: sunrpc/rpc_main.c:342
8909 +#: locale/programs/locarchive.c:613
8911 -msgid "cannot find C preprocessor: %s \n"
8912 -msgstr "impossível encontrar pré-processador C: %s\n"
8913 +msgid "cannot stat locale archive \"%s\""
8914 +msgstr "não foi possível obter estado do pacote de localidade “%s”"
8916 -#: sunrpc/rpc_main.c:350
8917 -msgid "cannot find any C preprocessor (cpp)\n"
8918 -msgstr "impossível encontrar qualquer pré-processador C (cpp)\n"
8919 +#: locale/programs/locarchive.c:632
8921 +msgid "cannot lock locale archive \"%s\""
8922 +msgstr "não foi possível travar o pacote de localidade “%s”"
8924 -#: nscd/connections.c:205
8925 +#: locale/programs/locarchive.c:655
8927 -msgid "cannot handle old request version %d; current version is %d"
8928 -msgstr "impossível lidar com requisições de versões antigas %d; a versão atual é %d"
8929 +msgid "cannot read archive header"
8930 +msgstr "não foi possível ler o cabeçalho do pacote"
8932 -#: locale/programs/ld-collate.c:1324
8933 +#: locale/programs/locarchive.c:728
8935 -msgid "cannot insert collation element `%.*s'"
8936 -msgstr "não é possível inserir elemento de comparação `%.*s'"
8937 +msgid "locale '%s' already exists"
8938 +msgstr "localidade “%s” já existe"
8940 -#: locale/programs/ld-collate.c:1503 locale/programs/ld-collate.c:1510
8941 -msgid "cannot insert into result table"
8942 -msgstr "não é possível inserir na tabela de resultados"
8943 +#: locale/programs/locarchive.c:1003 locale/programs/locarchive.c:1018
8944 +#: locale/programs/locarchive.c:1030 locale/programs/locarchive.c:1042
8945 +#: locale/programs/locfile.c:350
8947 +msgid "cannot add to locale archive"
8948 +msgstr "não foi possível adicionar ao pacote de localidade"
8950 -#: locale/programs/ld-collate.c:1175 locale/programs/ld-collate.c:1218
8951 +#: locale/programs/locarchive.c:1203
8953 -msgid "cannot insert new collating symbol definition: %s"
8954 -msgstr "não é possível inserir nova definição de símbolo de comparação: %s"
8955 +msgid "locale alias file `%s' not found"
8956 +msgstr "arquivo de apelido de localidade “%s” não localizado"
8959 -msgid "cannot load profiling data"
8960 -msgstr "impossível carregar perfis de dados"
8961 +#: locale/programs/locarchive.c:1351
8963 +msgid "Adding %s\n"
8964 +msgstr "Adicionando %s\n"
8967 -msgid "cannot open"
8968 -msgstr "impossível abrir"
8969 +#: locale/programs/locarchive.c:1357
8971 +msgid "stat of \"%s\" failed: %s: ignored"
8972 +msgstr "obtenção de estado de “%s” falhou: %s: ignorado"
8974 -#: sysdeps/unix/sysv/linux/lddlibc4.c:64
8975 +#: locale/programs/locarchive.c:1363
8977 -msgid "cannot open `%s'"
8978 -msgstr "não é possível abrir `%s'"
8979 +msgid "\"%s\" is no directory; ignored"
8980 +msgstr "“%s” não é um diretório; ignorado"
8982 -#: db2/makedb.c:146
8983 +#: locale/programs/locarchive.c:1370
8985 -msgid "cannot open database file `%s': %s"
8986 -msgstr "não é possível abrir arquivo de banco de dados `%s': %s"
8987 +msgid "cannot open directory \"%s\": %s: ignored"
8988 +msgstr "não foi possível abrir o diretório “%s”: %s: ignorado"
8990 -#: catgets/gencat.c:272 db2/makedb.c:167 iconv/iconv_prog.c:177
8991 +#: locale/programs/locarchive.c:1438
8993 -msgid "cannot open input file `%s'"
8994 -msgstr "não é possível abrir arquivo de entrada `%s'"
8995 +msgid "incomplete set of locale files in \"%s\""
8996 +msgstr "definição incompleta dos arquivos de localização em “%s”"
8998 -#: locale/programs/localedef.c:198
8999 +#: locale/programs/locarchive.c:1502
9001 -msgid "cannot open locale definition file `%s'"
9002 -msgstr "não é possível abrir arquivo de definição locale `%s'"
9003 +msgid "cannot read all files in \"%s\": ignored"
9004 +msgstr "não foi possível ler todos os arquivos em “%s”: ignorado"
9006 -#: iconv/iconv_prog.c:155
9007 -msgid "cannot open output file"
9008 -msgstr "não é possível abrir arquivo de saída"
9009 +#: locale/programs/locarchive.c:1572
9011 +msgid "locale \"%s\" not in archive"
9012 +msgstr "localidade “%s” não está no pacote"
9014 -#: catgets/gencat.c:774 catgets/gencat.c:815 db2/makedb.c:181
9015 +#: locale/programs/locfile.c:137
9017 -msgid "cannot open output file `%s'"
9018 -msgstr "não é possível abrir arquivo de saída `%s'"
9019 +msgid "argument to `%s' must be a single character"
9020 +msgstr "argumento para “%s” deve ser um caractere simples"
9022 +#: locale/programs/locfile.c:257
9023 +msgid "syntax error: not inside a locale definition section"
9024 +msgstr "erro de sintaxe: não está dentro de uma seção de definição de localidade"
9026 -#: locale/programs/locfile.c:1129
9027 +#: locale/programs/locfile.c:799
9029 msgid "cannot open output file `%s' for category `%s'"
9030 -msgstr "não é possível abrir arquivo de saída `%s' para categoria `%s'"
9031 +msgstr "não foi possível abrir o arquivo de saída “%s” para a categoria “%s”"
9033 -#: nscd/connections.c:162
9034 +#: locale/programs/locfile.c:822
9036 -msgid "cannot open socket: %s"
9037 -msgstr "não é possível abrir soquete: `%s'"
9039 -#: locale/programs/ld-collate.c:1370
9040 -msgid "cannot process order specification"
9041 -msgstr "não é possível processar specificação de ordem"
9042 +msgid "failure while writing data for category `%s'"
9043 +msgstr "falha ao escrever dados para categoria “%s”"
9045 -#: locale/programs/locale.c:449
9046 +#: locale/programs/locfile.c:917
9048 -msgid "cannot read character map directory `%s'"
9049 -msgstr "não é possível ler diretório de mapa de caracter `%s'"
9050 +msgid "cannot create output file `%s' for category `%s'"
9051 +msgstr "não foi possível criar o arquivo de saída “%s” para a categoria “%s”"
9053 -#: nscd/connections.c:122
9054 -msgid "cannot read configuration file; this is fatal"
9055 -msgstr "impossível ler arquivo de configuração; isto é fatal"
9056 +#: locale/programs/locfile.c:953
9057 +msgid "expecting string argument for `copy'"
9058 +msgstr "esperando argumento em string para “copy”"
9060 -#: login/programs/request.c:91
9061 -msgid "cannot read from client"
9062 -msgstr "não é possível ler do cliente"
9063 +#: locale/programs/locfile.c:957
9064 +msgid "locale name should consist only of portable characters"
9065 +msgstr "nome de localidade deve consistir apenas em caracteres portáteis"
9067 -#: sysdeps/unix/sysv/linux/lddlibc4.c:68
9069 -msgid "cannot read header from `%s'"
9070 -msgstr "não é possível ler cabeçalho de `%s'"
9071 +#: locale/programs/locfile.c:976
9072 +msgid "no other keyword shall be specified when `copy' is used"
9073 +msgstr "nenhuma outra palavra-chave deve ser especificada quando “copy” é usado"
9075 -#: locale/programs/locale.c:306
9076 +#: locale/programs/locfile.c:990
9078 -msgid "cannot read locale directory `%s'"
9079 -msgstr "não é possível ler diretório locale `%s'"
9080 +msgid "`%1$s' definition does not end with `END %1$s'"
9081 +msgstr "“%1$s” definição não termina com “END %1$s”"
9083 -#: locale/programs/localedef.c:303
9084 +#: locale/programs/repertoire.c:228 locale/programs/repertoire.c:269
9085 +#: locale/programs/repertoire.c:294
9087 -msgid "cannot read locale file `%s'"
9088 -msgstr "não é possível ler arquivo locale `%s'"
9089 +msgid "syntax error in repertoire map definition: %s"
9090 +msgstr "erro de sintaxe no mapa de repertório: %s"
9092 -#: locale/programs/locfile.c:288 locale/programs/locfile.c:306
9093 -#: locale/programs/locfile.c:324 locale/programs/locfile.c:342
9094 -#: locale/programs/locfile.c:360 locale/programs/locfile.c:378
9096 -msgid "cannot read repertoire map `%s'"
9097 -msgstr "não é possível ler mapa de repertório `%s'"
9098 +#: locale/programs/repertoire.c:270
9099 +msgid "no <Uxxxx> or <Uxxxxxxxx> value given"
9100 +msgstr "valores <Uxxxx> ou <Uxxxxxxxx> não dados"
9102 -#: nscd/nscd_stat.c:127
9103 -msgid "cannot read statistics data"
9104 -msgstr "impossível ler dados de estatística"
9105 +#: locale/programs/repertoire.c:330
9106 +msgid "cannot save new repertoire map"
9107 +msgstr "não foi possível salvar novo mapa de repertório"
9109 -#: nscd/cache.c:141 nscd/connections.c:148
9110 +#: locale/programs/repertoire.c:341
9112 -msgid "cannot stat() file `%s': %s"
9113 -msgstr "não é possível ler atributos do arquivo `%s': %s"
9114 +msgid "repertoire map file `%s' not found"
9115 +msgstr "arquivo de mapa de repertório “%s” não foi encontrado"
9117 -#: locale/programs/localedef.c:328
9118 +#: login/programs/pt_chown.c:79
9120 -msgid "cannot write output files to `%s'"
9121 -msgstr "não é possível escrever arquivo de saída para `%s'"
9122 +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"
9123 +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"
9125 -#: nscd/connections.c:229 nscd/connections.c:250
9126 +#: login/programs/pt_chown.c:93
9128 -msgid "cannot write result: %s"
9129 -msgstr "não é possível escrever resultado: %s"
9131 +"The owner is set to the current user, the group is set to `%s', and the access permission is set to `%o'.\n"
9135 +"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"
9139 -#: nscd/nscd_stat.c:86
9140 +#: login/programs/pt_chown.c:204
9142 -msgid "cannot write statistics: %s"
9143 -msgstr "não é possível escrever estatisticas: %s"
9144 +msgid "too many arguments"
9145 +msgstr "número excessivo de argumentos"
9147 -#: login/programs/request.c:120
9148 -msgid "cannot write to client"
9149 -msgstr "não é possível escrever para o cliente"
9150 +#: login/programs/pt_chown.c:212
9152 +msgid "needs to be installed setuid `root'"
9153 +msgstr "precisa ser instalado com setuid “root”"
9155 -#: locale/programs/localedef.c:442
9156 -msgid "category data requested more than once: should not happen"
9157 -msgstr "categoria de dados requisitada mais que uma vez: isto não deveria acontecer"
9158 +#: malloc/mcheck.c:344
9159 +msgid "memory is consistent, library is buggy\n"
9160 +msgstr "a memória está consistente; a biblioteca está problemática\n"
9162 -#: locale/programs/ld-ctype.c:269
9164 -msgid "character %s'%s' in class `%s' must be in class `%s'"
9165 -msgstr "caracter %s'%s' na classe `%s' deve estar na classe `%s'"
9166 +#: malloc/mcheck.c:347
9167 +msgid "memory clobbered before allocated block\n"
9168 +msgstr "memória sobrescrita antes do bloco alocado\n"
9170 -#: locale/programs/ld-ctype.c:294
9172 -msgid "character %s'%s' in class `%s' must not be in class `%s'"
9173 -msgstr "caracter %s'%s' na classe `%s' não deve estar na classe `%s'"
9174 +#: malloc/mcheck.c:350
9175 +msgid "memory clobbered past end of allocated block\n"
9176 +msgstr "memória sobrescrita após o fim do bloco alocado\n"
9178 -#: locale/programs/ld-ctype.c:320
9179 -msgid "character <SP> not defined in character map"
9180 -msgstr "caracter <SP> não definido no mapa de caracteres"
9181 +#: malloc/mcheck.c:353
9182 +msgid "block freed twice\n"
9183 +msgstr "bloco liberado duas vezes\n"
9185 -#: locale/programs/ld-ctype.c:964 locale/programs/ld-ctype.c:1029
9186 -#: locale/programs/ld-ctype.c:1040 locale/programs/ld-ctype.c:1051
9187 -#: locale/programs/ld-ctype.c:1062 locale/programs/ld-ctype.c:1073
9188 -#: locale/programs/ld-ctype.c:1084 locale/programs/ld-ctype.c:1113
9189 -#: locale/programs/ld-ctype.c:1124 locale/programs/ld-ctype.c:1165
9190 -#: locale/programs/ld-ctype.c:1194 locale/programs/ld-ctype.c:1206
9192 -msgid "character `%s' not defined while needed as default value"
9193 -msgstr "caracter `%s' não definido enquanto necessário como valor default"
9194 +#: malloc/mcheck.c:356
9195 +msgid "bogus mcheck_status, library is buggy\n"
9196 +msgstr "mcheck_status inválido; a biblioteca está problemática\n"
9198 -#: locale/programs/ld-ctype.c:825
9200 -msgid "character class `%s' already defined"
9201 -msgstr "classe de caracter `%s' já definida"
9202 +#: malloc/memusage.sh:32
9203 +msgid "%s: option '%s' requires an argument\\n"
9204 +msgstr "%s: a opção “%s” requer um argumento\\n"
9206 -#: locale/programs/ld-ctype.c:857
9208 -msgid "character map `%s' already defined"
9209 -msgstr "mapa de caracteres `%s' já definido"
9210 +#: malloc/memusage.sh:38
9212 +"Usage: memusage [OPTION]... PROGRAM [PROGRAMOPTION]...\n"
9213 +"Profile memory usage of PROGRAM.\n"
9215 +" -n,--progname=NAME Name of the program file to profile\n"
9216 +" -p,--png=FILE Generate PNG graphic and store it in FILE\n"
9217 +" -d,--data=FILE Generate binary data file and store it in FILE\n"
9218 +" -u,--unbuffered Don't buffer output\n"
9219 +" -b,--buffer=SIZE Collect SIZE entries before writing them out\n"
9220 +" --no-timer Don't collect additional information through timer\n"
9221 +" -m,--mmap Also trace mmap & friends\n"
9223 +" -?,--help Print this help and exit\n"
9224 +" --usage Give a short usage message\n"
9225 +" -V,--version Print version information and exit\n"
9227 +" The following options only apply when generating graphical output:\n"
9228 +" -t,--time-based Make graph linear in time\n"
9229 +" -T,--total Also draw graph of total memory use\n"
9230 +" --title=STRING Use STRING as title of the graph\n"
9231 +" -x,--x-size=SIZE Make graphic SIZE pixels wide\n"
9232 +" -y,--y-size=SIZE Make graphic SIZE pixels high\n"
9234 +"Mandatory arguments to long options are also mandatory for any corresponding\n"
9238 +"Uso: memusage [OPÇÃO]... PROGRAMA [OPÇÃO-PROGRAMA]...\n"
9239 +"Perfila o uso de memória do PROGRAMA.\n"
9241 +" -n,--progname=NOME Nome do arquivo de programa a perfilar\n"
9242 +" -p,--png=ARQUIVO Gera um gráfico em PNG e o armazena em ARQUIVO\n"
9243 +" -d,--data=ARQUIVO Gera um arquivo de dados binários e o armazena \n"
9245 +" -u,--unbuffered Não utiliza buffer na saída\n"
9246 +" -b,--buffer=TAM Coleta TAM registros antes de escrevê-los na saída\n"
9247 +" --no-timer Não coleta informações adicionais do temporizador\n"
9248 +" -m,--mmap Também rastreia mmap & amigos\n"
9250 +" -?,--help Exibe essa ajuda e sai\n"
9251 +" --usage Fornece uma curta mensagem de uso\n"
9252 +" -V,--version Exibe informação da versão e sai\n"
9254 +" As seguintes opções se aplicam apenas ao gerar saída gráfica:\n"
9255 +" -t,--time-based Cria um gráfico linear no tempo\n"
9256 +" -T,--total Também desenha um gráfico do uso total de memória\n"
9257 +" --title=TEXTO Usa TEXTO como título do gráfico\n"
9258 +" -x,--x-size=TAM Faz com que o gráfico tenha TAM pixels de largura\n"
9259 +" -y,--y-size=TAM Faz com que o gráfico tenha TAM pixels de altura\n"
9261 +"Argumentos obrigatórios para opções longas são também obrigatórios para\n"
9262 +"qualquer opção curta correspondente.\n"
9265 -#: locale/programs/charmap.c:83
9267 -msgid "character map file `%s' not found"
9268 -msgstr "arquivo de mapa de caracter `%s' não foi localizado"
9269 +# Usei "Uso:" para caber tudo na mesma linha e para padronizar -- Rafael
9270 +#: malloc/memusage.sh:99
9272 +"Syntax: memusage [--data=FILE] [--progname=NAME] [--png=FILE] [--unbuffered]\n"
9273 +"\t [--buffer=SIZE] [--no-timer] [--time-based] [--total]\n"
9274 +"\t [--title=STRING] [--x-size=SIZE] [--y-size=SIZE]\n"
9275 +"\t PROGRAM [PROGRAMOPTION]..."
9277 +"Uso: memusage [--data=ARQUIVO] [--progname=NOME] [--png=ARQUIVO] [--unbuffered]\n"
9278 +"\t [--buffer=TAM] [--no-timer] [--time-based] [--total]\n"
9279 +"\t [--title=TEXTO] [--x-size=TAM] [--y-size=TAM]\n"
9280 +"\t PROGRAMA [OPÇÃO-PROGRAMA]..."
9282 -#: sunrpc/clnt_raw.c:110
9283 -msgid "clnt_raw.c - Fatal header serialization error."
9284 -msgstr "clnt_raw.c - Erro fatal no cabeçalho de serialização."
9285 +#: malloc/memusage.sh:191
9286 +msgid "memusage: option \\`${1##*=}' is ambiguous"
9287 +msgstr "memusage: opção “${1##*=}” é ambígua"
9289 -#: sunrpc/clnt_tcp.c:125 sunrpc/clnt_tcp.c:133
9290 -msgid "clnttcp_create: out of memory\n"
9291 -msgstr "clnttcp_create: não há memória suficiente\n"
9292 +#: malloc/memusage.sh:200
9293 +msgid "memusage: unrecognized option \\`$1'"
9294 +msgstr "memusage: opção não reconhecida “$1”"
9296 -#: sunrpc/clnt_udp.c:124 sunrpc/clnt_udp.c:134
9297 -msgid "clntudp_create: out of memory\n"
9298 -msgstr "clntudp_create: não há memória suficiente\n"
9299 +#: malloc/memusage.sh:213
9300 +msgid "No program name given"
9301 +msgstr "Nenhum nome de programa fornecido"
9303 -#: sunrpc/clnt_unix.c:123 sunrpc/clnt_unix.c:131
9304 -msgid "clntunix_create: out of memory\n"
9305 -msgstr "clntunix_reate: não há memória suficiente\n"
9306 +#: malloc/memusagestat.c:56
9307 +msgid "Name output file"
9308 +msgstr "Nome do arquivo de saída"
9310 -#: locale/programs/ld-collate.c:1339
9312 -msgid "collation element `%.*s' appears more than once: ignore line"
9313 -msgstr "o elemento de comparação `%.*s' aparece mais que uma vez: ignorar linha"
9314 +#: malloc/memusagestat.c:57
9318 -#: locale/programs/ld-collate.c:1357
9320 -msgid "collation symbol `%.*s' appears more than once: ignore line"
9321 -msgstr "o símbolo de comparação `%.*s' aparece mais que uma vez: ignorar linha"
9322 +#: malloc/memusagestat.c:57
9323 +msgid "Title string used in output graphic"
9324 +msgstr "Texto do título usado no gráfico de saída"
9326 -#: locale/programs/locfile.c:652
9328 -msgid "collation symbol expected after `%s'"
9329 -msgstr "símbolo de comparação esperado após `%s'"
9330 +#: malloc/memusagestat.c:58
9331 +msgid "Generate output linear to time (default is linear to number of function calls)"
9332 +msgstr "Gera uma saída linear no tempo (padrão é linear ao número de chamadas de função)"
9336 -msgid "connect to address %s: "
9337 -msgstr "connectar-se ao endereço %s: "
9338 +#: malloc/memusagestat.c:62
9339 +msgid "Also draw graph for total memory consumption"
9340 +msgstr "Também desenha um gráfico de consumo total de memória"
9342 -#: sunrpc/rpc_scan.c:115
9343 -msgid "constant or identifier expected"
9344 -msgstr "identificador ou constante esperado"
9345 +#: malloc/memusagestat.c:63
9349 -#: iconv/iconv_prog.c:144
9351 -msgid "conversion from `%s' to `%s' not supported"
9352 -msgstr "conversão de `%s' para `%s' não é suportada"
9353 +#: malloc/memusagestat.c:64
9354 +msgid "Make output graphic VALUE pixels wide"
9355 +msgstr "Fazer um gráfico de saída com VALOR pixels de largura"
9357 -#: iconv/iconv_prog.c:326
9358 -msgid "conversion stopped due to problem in writing the output"
9359 -msgstr "a conversão parou devido a problemas de escrita na saída"
9360 +#: malloc/memusagestat.c:65
9361 +msgid "Make output graphic VALUE pixels high"
9362 +msgstr "Fazer um gráfico de saída com VALOR pixels de altura"
9364 -#: sunrpc/svc_simple.c:83
9365 -msgid "couldn't create an rpc server\n"
9366 -msgstr "não foi possível criar um servidor rpc\n"
9367 +#: malloc/memusagestat.c:70
9368 +msgid "Generate graphic from memory profiling data"
9369 +msgstr "Gera um gráfico a partir dos dados de perfilamento de memória"
9371 -#: sunrpc/svc_simple.c:91
9373 -msgid "couldn't register prog %d vers %d\n"
9374 -msgstr "não foi possível registrar prog %d vers %d\n"
9375 +#: malloc/memusagestat.c:73
9376 +msgid "DATAFILE [OUTFILE]"
9377 +msgstr "ARQUIVO-DADOS [ARQUIVO-SAÍDA]"
9380 -msgid "database [key ...]"
9381 -msgstr "base de dados [chave ...]"
9382 +#: misc/error.c:192
9383 +msgid "Unknown system error"
9384 +msgstr "Erro desconhecido de sistema"
9386 +#: nis/nis_callback.c:188
9387 +msgid "unable to free arguments"
9388 +msgstr "não foi possível liberar argumentos"
9390 +#: nis/nis_error.h:1 nis/ypclnt.c:824 nis/ypclnt.c:913 posix/regcomp.c:137
9391 +#: sysdeps/gnu/errlist.c:21
9395 +#: nis/nis_error.h:2
9396 +msgid "Probable success"
9397 +msgstr "Sucesso provável"
9399 +#: nis/nis_error.h:3
9401 +msgstr "Não localizado"
9403 +#: nis/nis_error.h:4
9404 +msgid "Probably not found"
9405 +msgstr "Provavelmente não encontrado"
9407 +#: nis/nis_error.h:5
9408 +msgid "Cache expired"
9409 +msgstr "Tempo expirado"
9411 +#: nis/nis_error.h:6
9412 +msgid "NIS+ servers unreachable"
9413 +msgstr "Servidores NIS+ fora do alcance"
9415 +#: nis/nis_error.h:7
9416 +msgid "Unknown object"
9417 +msgstr "Objeto desconhecido"
9419 +#: nis/nis_error.h:8
9420 +msgid "Server busy, try again"
9421 +msgstr "Servidor ocupado, tente novamente"
9423 +#: nis/nis_error.h:9
9424 +msgid "Generic system error"
9425 +msgstr "Erro genérico de sistema"
9427 +#: nis/nis_error.h:10
9428 +msgid "First/next chain broken"
9429 +msgstr "Primeira/próxima corrente quebrada"
9431 +#. TRANS The file permissions do not allow the attempted operation.
9432 +#: nis/nis_error.h:11 nis/ypclnt.c:869 sysdeps/gnu/errlist.c:158
9433 +msgid "Permission denied"
9434 +msgstr "Permissão negada"
9436 +#: nis/nis_error.h:12
9438 +msgstr "Dono inválido"
9440 +#: nis/nis_error.h:13
9441 +msgid "Name not served by this server"
9442 +msgstr "Nome não servido por este servidor"
9444 +#: nis/nis_error.h:14
9445 +msgid "Server out of memory"
9446 +msgstr "Memória do servidor exaurida"
9448 +#: nis/nis_error.h:15
9449 +msgid "Object with same name exists"
9450 +msgstr "Um objeto com o mesmo nome existe"
9452 +#: nis/nis_error.h:16
9453 +msgid "Not master server for this domain"
9454 +msgstr "Não é um servidor mestre para este domínio"
9456 +#: nis/nis_error.h:17
9457 +msgid "Invalid object for operation"
9458 +msgstr "Objeto inválido para a operação"
9460 +#: nis/nis_error.h:18
9461 +msgid "Malformed name, or illegal name"
9462 +msgstr "Nome malformado ou nome ilegal"
9464 +#: nis/nis_error.h:19
9465 +msgid "Unable to create callback"
9466 +msgstr "Impossível criar retorno de chamada"
9468 +#: nis/nis_error.h:20
9469 +msgid "Results sent to callback proc"
9470 +msgstr "Resultados enviados para o processo de retorno chamada"
9472 +#: nis/nis_error.h:21
9473 +msgid "Not found, no such name"
9474 +msgstr "Não localizado, nome inexistente"
9476 +#: nis/nis_error.h:22
9477 +msgid "Name/entry isn't unique"
9478 +msgstr "Nome/entrada não é único"
9480 +#: nis/nis_error.h:23
9481 +msgid "Modification failed"
9482 +msgstr "Modificação falhou"
9484 +#: nis/nis_error.h:24
9485 +msgid "Database for table does not exist"
9486 +msgstr "Banco de dados para a tabela não existe"
9488 +#: nis/nis_error.h:25
9489 +msgid "Entry/table type mismatch"
9490 +msgstr "Tipo de entrada/tabela incompatível"
9492 +#: nis/nis_error.h:26
9493 +msgid "Link points to illegal name"
9494 +msgstr "Link aponta para um nome ilegal"
9496 +#: nis/nis_error.h:27
9497 +msgid "Partial success"
9498 +msgstr "Sucesso parcial"
9500 +#: nis/nis_error.h:28
9501 +msgid "Too many attributes"
9502 +msgstr "Número excessivo de atributos"
9504 +#: nis/nis_error.h:29
9505 +msgid "Error in RPC subsystem"
9506 +msgstr "Erro no subsistema RPC"
9508 +#: nis/nis_error.h:30
9509 +msgid "Missing or malformed attribute"
9510 +msgstr "Atributo perdido ou malformado"
9512 +#: nis/nis_error.h:31
9513 +msgid "Named object is not searchable"
9514 +msgstr "Objeto nomeado não é pesquisável"
9516 +#: nis/nis_error.h:32
9517 +msgid "Error while talking to callback proc"
9518 +msgstr "Erro durante a chamada a processo de retorno de chamada"
9520 +#: nis/nis_error.h:33
9521 +msgid "Non NIS+ namespace encountered"
9522 +msgstr "Espaço de nomes não-NIS+ encontrado"
9524 +#: nis/nis_error.h:34
9525 +msgid "Illegal object type for operation"
9526 +msgstr "Tipo ilegal de objeto para a operação"
9528 +#: nis/nis_error.h:35
9529 +msgid "Passed object is not the same object on server"
9530 +msgstr "Objeto passado não é o mesmo objeto no servidor"
9532 +#: nis/nis_error.h:36
9533 +msgid "Modify operation failed"
9534 +msgstr "Operação de modificação falhou"
9536 +#: nis/nis_error.h:37
9537 +msgid "Query illegal for named table"
9538 +msgstr "Pergunta ilegal para tabela nominada"
9540 +#: nis/nis_error.h:38
9541 +msgid "Attempt to remove a non-empty table"
9542 +msgstr "Tentativa de remoção de uma tabela não vazia"
9544 +#: nis/nis_error.h:39
9545 +msgid "Error in accessing NIS+ cold start file. Is NIS+ installed?"
9546 +msgstr "Erro acessando arquivo inicial do NIS+. O NIS+ está instalado?"
9548 +#: nis/nis_error.h:40
9549 +msgid "Full resync required for directory"
9550 +msgstr "Nova sincronização total necessária para o diretório"
9552 +#: nis/nis_error.h:41
9553 +msgid "NIS+ operation failed"
9554 +msgstr "Operação NIS+ falhou"
9556 +#: nis/nis_error.h:42
9557 +msgid "NIS+ service is unavailable or not installed"
9558 +msgstr "Serviço NIS+ está indisponível ou não está instalado"
9560 +#: nis/nis_error.h:43
9561 +msgid "Yes, 42 is the meaning of life"
9562 +msgstr "Sim, 42 é o sentido da vida"
9564 +#: nis/nis_error.h:44
9565 +msgid "Unable to authenticate NIS+ server"
9566 +msgstr "Não foi possível autenticar servidor NIS+"
9568 +#: nis/nis_error.h:45
9569 +msgid "Unable to authenticate NIS+ client"
9570 +msgstr "Não foi possível autenticar cliente NIS+"
9572 +#: nis/nis_error.h:46
9573 +msgid "No file space on server"
9574 +msgstr "Não há espaço disponível no servidor"
9576 -#: locale/programs/charmap.c:170
9577 +#: nis/nis_error.h:47
9578 +msgid "Unable to create process on server"
9579 +msgstr "Não foi possível criar processo no servidor"
9581 +#: nis/nis_error.h:48
9582 +msgid "Master server busy, full dump rescheduled."
9583 +msgstr "Servidor mestre ocupado, descarregamento completo (dump) remarcado."
9585 +#: nis/nis_local_names.c:122
9587 -msgid "default character map file `%s' not found"
9588 -msgstr "arquivo default de mapa de caracter `%s' não localizado"
9589 +msgid "LOCAL entry for UID %d in directory %s not unique\n"
9590 +msgstr "Entrada LOCAL para UID %d no diretório %s não é única\n"
9592 +#: nis/nis_print.c:52
9594 +msgstr "DESCONHECIDO"
9596 +#: nis/nis_print.c:110
9597 +msgid "BOGUS OBJECT\n"
9598 +msgstr "OBJETO FALSO\n"
9600 +#: nis/nis_print.c:113
9601 +msgid "NO OBJECT\n"
9602 +msgstr "SEM OBJETO\n"
9604 +#: nis/nis_print.c:116
9605 +msgid "DIRECTORY\n"
9606 +msgstr "DIRETÓRIO\n"
9608 +#: nis/nis_print.c:119
9612 +#: nis/nis_print.c:122
9616 +#: nis/nis_print.c:125
9620 +#: nis/nis_print.c:128
9624 +#: nis/nis_print.c:131
9628 -#: locale/programs/ld-time.c:163
9629 +#: nis/nis_print.c:134
9630 +msgid "(Unknown object)\n"
9631 +msgstr "(Objeto desconhecido)\n"
9633 +#: nis/nis_print.c:168
9635 -msgid "direction flag in string %d in `era' field in category `%s' is not '+' nor '-'"
9636 -msgstr "flag de direção na string %d no campo `era', categoria `%s', não é '+'nem '_'"
9637 +msgid "Name : `%s'\n"
9638 +msgstr "Nome : “%s”\n"
9640 -#: locale/programs/ld-time.c:174
9641 +#: nis/nis_print.c:169
9643 -msgid "direction flag in string %d in `era' field in category `%s' is not a single character"
9644 -msgstr "flag de direção na string %d no campo `era', categoria `%s', não é um caracter simples"
9645 +msgid "Type : %s\n"
9646 +msgstr "Tipo : %s\n"
9648 +#: nis/nis_print.c:174
9649 +msgid "Master Server :\n"
9650 +msgstr "Servidor mestre :\n"
9652 +#: nis/nis_print.c:176
9653 +msgid "Replicate :\n"
9654 +msgstr "Duplicado :\n"
9656 -#: locale/programs/charset.c:64 locale/programs/charset.c:118
9657 +#: nis/nis_print.c:177
9659 -msgid "duplicate character name `%s'"
9660 -msgstr "nome de caracter duplicado `%s'"
9661 +msgid "\tName : %s\n"
9662 +msgstr "\tNome : %s\n"
9664 -#: locale/programs/ld-collate.c:1150
9665 -msgid "duplicate collating element definition"
9666 -msgstr "definição de elemento de comparação duplicada"
9667 +#: nis/nis_print.c:178
9668 +msgid "\tPublic Key : "
9669 +msgstr "\tChave pública : "
9671 +#: nis/nis_print.c:182
9675 -#: locale/programs/ld-collate.c:1297
9676 +#: nis/nis_print.c:185
9678 -msgid "duplicate definition for character `%.*s'"
9679 -msgstr "definição para caracter duplicada `%.*s'"
9680 +msgid "Diffie-Hellmann (%d bits)\n"
9681 +msgstr "Diffie-Hellman (%d bits)\n"
9683 -#: db2/makedb.c:328
9684 -msgid "duplicate key"
9685 -msgstr "chave duplicada"
9686 +#: nis/nis_print.c:190
9688 +msgid "RSA (%d bits)\n"
9689 +msgstr "RSA (%d bits)\n"
9691 -#: catgets/gencat.c:388
9692 -msgid "duplicate set definition"
9693 -msgstr "definição de conjunto duplicada"
9694 +#: nis/nis_print.c:193
9695 +msgid "Kerberos.\n"
9696 +msgstr "Kerberos.\n"
9698 -#: timezone/zic.c:978
9699 +#: nis/nis_print.c:196
9701 -msgid "duplicate zone name %s (file \"%s\", line %d)"
9702 -msgstr "nome de zona duplicado %s (arquivo \"%s\", linha %d)"
9703 +msgid "Unknown (type = %d, bits = %d)\n"
9704 +msgstr "Desconhecido (tipo = %d, bits = %d)\n"
9706 -#: catgets/gencat.c:551
9707 -msgid "duplicated message identifier"
9708 -msgstr "identificador de mensagens duplicado"
9709 +#: nis/nis_print.c:207
9711 +msgid "\tUniversal addresses (%u)\n"
9712 +msgstr "\tEndereço universal (%u)\n"
9714 -#: catgets/gencat.c:524
9715 -msgid "duplicated message number"
9716 -msgstr "número de mensagem duplicado"
9717 +#: nis/nis_print.c:229
9718 +msgid "Time to live : "
9719 +msgstr "Tempo de vida : "
9721 -#: sunrpc/rpc_scan.c:382
9722 -msgid "empty char string"
9723 -msgstr "cadeia de caractere vazia"
9724 +#: nis/nis_print.c:231
9725 +msgid "Default Access rights :\n"
9726 +msgstr "Direitos de acesso padrão :\n"
9728 -#: locale/programs/ld-collate.c:1710
9729 -msgid "empty weight name: line ignored"
9730 -msgstr "nome do peso vazio: linha ignorada"
9731 +#: nis/nis_print.c:240
9733 +msgid "\tType : %s\n"
9734 +msgstr "\tTipo : %s\n"
9736 -#: sunrpc/svc_udp.c:372
9737 -msgid "enablecache: cache already enabled"
9738 -msgstr "enablecache: cache já ativado"
9739 +#: nis/nis_print.c:241
9740 +msgid "\tAccess rights: "
9741 +msgstr "\tDireitos acesso: "
9743 -#: sunrpc/svc_udp.c:378
9744 -msgid "enablecache: could not allocate cache"
9745 -msgstr "enablecache: não foi possível alocar cache"
9746 +#: nis/nis_print.c:255
9747 +msgid "Group Flags :"
9748 +msgstr "Indicadores de grupo :"
9750 -#: sunrpc/svc_udp.c:386
9751 -msgid "enablecache: could not allocate cache data"
9752 -msgstr "enablecache: não foi possível alocar dados do cache"
9753 +#: nis/nis_print.c:258
9756 +"Group Members :\n"
9759 +"Membros do grupo :\n"
9761 -#: sunrpc/svc_udp.c:393
9762 -msgid "enablecache: could not allocate cache fifo"
9763 -msgstr "enablecache: não foi possível alocar cache fifo"
9764 +#: nis/nis_print.c:270
9766 +msgid "Table Type : %s\n"
9767 +msgstr "Tipo de tabela : %s\n"
9769 -#: iconv/iconv_prog.c:56
9770 -msgid "encoding for output"
9771 -msgstr "codificação para a saída"
9772 +#: nis/nis_print.c:271
9774 +msgid "Number of Columns : %d\n"
9775 +msgstr "Número de colunas : %d\n"
9777 -#: iconv/iconv_prog.c:55
9778 -msgid "encoding of original text"
9779 -msgstr "codificação para o texto original"
9780 +#: nis/nis_print.c:272
9782 +msgid "Character Separator : %c\n"
9783 +msgstr "Separador de caracteres : %c\n"
9785 +#: nis/nis_print.c:273
9787 +msgid "Search Path : %s\n"
9788 +msgstr "Caminho de pesquisa : %s\n"
9790 +#: nis/nis_print.c:274
9791 +msgid "Columns :\n"
9792 +msgstr "Colunas :\n"
9794 +#: nis/nis_print.c:277
9796 +msgid "\t[%d]\tName : %s\n"
9797 +msgstr "\t[%d]\tNome : %s\n"
9799 +#: nis/nis_print.c:279
9800 +msgid "\t\tAttributes : "
9801 +msgstr "\t\tAtributos : "
9803 +#: nis/nis_print.c:281
9804 +msgid "\t\tAccess Rights : "
9805 +msgstr "\t\tDireitos de acesso : "
9807 +#: nis/nis_print.c:291
9808 +msgid "Linked Object Type : "
9809 +msgstr "Tipo de objeto vinculado : "
9811 +#: nis/nis_print.c:293
9813 +msgid "Linked to : %s\n"
9814 +msgstr "Vinculado a : %s\n"
9816 +#: nis/nis_print.c:303
9818 +msgid "\tEntry data of type %s\n"
9819 +msgstr "\tEntrada de dados de tipo %s\n"
9821 +#: nis/nis_print.c:306
9823 +msgid "\t[%u] - [%u bytes] "
9824 +msgstr "\t[%u] – [%u bytes] "
9826 +#: nis/nis_print.c:309
9827 +msgid "Encrypted data\n"
9828 +msgstr "Dados criptografados\n"
9830 +#: nis/nis_print.c:311
9831 +msgid "Binary data\n"
9832 +msgstr "Dados binários\n"
9834 +#: nis/nis_print.c:327
9836 +msgid "Object Name : %s\n"
9837 +msgstr "Nome do objeto : %s\n"
9839 +#: nis/nis_print.c:328
9841 +msgid "Directory : %s\n"
9842 +msgstr "Diretório : %s\n"
9844 +#: nis/nis_print.c:329
9846 +msgid "Owner : %s\n"
9847 +msgstr "Dono : %s\n"
9849 +#: nis/nis_print.c:330
9851 +msgid "Group : %s\n"
9852 +msgstr "Grupo : %s\n"
9854 +#: nis/nis_print.c:331
9855 +msgid "Access Rights : "
9856 +msgstr "Direitos de acesso : "
9858 +#: nis/nis_print.c:333
9867 +#: nis/nis_print.c:336
9869 +msgid "Creation Time : %s"
9870 +msgstr "Horário de criação : %s"
9872 +#: nis/nis_print.c:338
9874 +msgid "Mod. Time : %s"
9875 +msgstr "Horário de mod. : %s"
9877 +#: nis/nis_print.c:339
9878 +msgid "Object Type : "
9879 +msgstr "Tipo do objeto : "
9881 +#: nis/nis_print.c:359
9883 +msgid " Data Length = %u\n"
9884 +msgstr " Tamanho dados = %u\n"
9886 +#: nis/nis_print.c:373
9888 +msgid "Status : %s\n"
9889 +msgstr "Posição : %s\n"
9891 -#: locale/programs/ld-collate.c:1429
9892 -msgid "end point of ellipsis range is bigger then start"
9893 -msgstr "o ponto final da área da elipse é maior que o início "
9894 +#: nis/nis_print.c:374
9896 +msgid "Number of objects : %u\n"
9897 +msgstr "Número de objetos : %u\n"
9899 +#: nis/nis_print.c:378
9901 +msgid "Object #%d:\n"
9902 +msgstr "Objeto #%d:\n"
9904 +#: nis/nis_print_group_entry.c:117
9906 +msgid "Group entry for \"%s.%s\" group:\n"
9907 +msgstr "Entrada para o grupo “%s.%s”:\n"
9909 +#: nis/nis_print_group_entry.c:125
9910 +msgid " Explicit members:\n"
9911 +msgstr " Membros explícitos:\n"
9913 +#: nis/nis_print_group_entry.c:130
9914 +msgid " No explicit members\n"
9915 +msgstr " Nenhum membro explícito\n"
9917 +#: nis/nis_print_group_entry.c:133
9918 +msgid " Implicit members:\n"
9919 +msgstr " Membros implícitos:\n"
9921 +#: nis/nis_print_group_entry.c:138
9922 +msgid " No implicit members\n"
9923 +msgstr " Nenhum membro implícito\n"
9925 +#: nis/nis_print_group_entry.c:141
9926 +msgid " Recursive members:\n"
9927 +msgstr " Membros recursivos:\n"
9929 +#: nis/nis_print_group_entry.c:146
9930 +msgid " No recursive members\n"
9931 +msgstr " Nenhuma membros recursivo\n"
9933 +#: nis/nis_print_group_entry.c:149
9934 +msgid " Explicit nonmembers:\n"
9935 +msgstr " Não-membros explícitos:\n"
9937 +#: nis/nis_print_group_entry.c:154
9938 +msgid " No explicit nonmembers\n"
9939 +msgstr " Nenhum não-membro explícito\n"
9941 +#: nis/nis_print_group_entry.c:157
9942 +msgid " Implicit nonmembers:\n"
9943 +msgstr " Não-membros implícitos:\n"
9945 +#: nis/nis_print_group_entry.c:162
9946 +msgid " No implicit nonmembers\n"
9947 +msgstr " Nenhum não-membro implícito\n"
9949 +#: nis/nis_print_group_entry.c:165
9950 +msgid " Recursive nonmembers:\n"
9951 +msgstr " Não-membros recursivos:\n"
9953 +#: nis/nis_print_group_entry.c:170
9954 +msgid " No recursive nonmembers\n"
9955 +msgstr " Nenhum não-membro recursivo\n"
9957 +#: nis/nss_nisplus/nisplus-publickey.c:100
9958 +#: nis/nss_nisplus/nisplus-publickey.c:182
9960 +msgid "DES entry for netname %s not unique\n"
9961 +msgstr "Entrada DES para nome de rede (netname) %s não é única\n"
9963 +#: nis/nss_nisplus/nisplus-publickey.c:219
9965 +msgid "netname2user: missing group id list in `%s'"
9966 +msgstr "netname2user: faltando lista de id do grupo em “%s”"
9968 +#: nis/nss_nisplus/nisplus-publickey.c:301
9969 +#: nis/nss_nisplus/nisplus-publickey.c:307
9970 +#: nis/nss_nisplus/nisplus-publickey.c:372
9971 +#: nis/nss_nisplus/nisplus-publickey.c:381
9973 +msgid "netname2user: (nis+ lookup): %s\n"
9974 +msgstr "netname2user: (nis+ lookup): %s\n"
9976 +#: nis/nss_nisplus/nisplus-publickey.c:320
9978 +msgid "netname2user: DES entry for %s in directory %s not unique"
9979 +msgstr "netname2user: entrada DES para %s no diretório %s não é única"
9981 +#: nis/nss_nisplus/nisplus-publickey.c:338
9983 +msgid "netname2user: principal name `%s' too long"
9984 +msgstr "netname2user: nome princpal “%s” longo demais"
9986 +#: nis/nss_nisplus/nisplus-publickey.c:394
9988 +msgid "netname2user: LOCAL entry for %s in directory %s not unique"
9989 +msgstr "netname2user: entrada LOCAL para %s no diretório %s não é única"
9991 +#: nis/nss_nisplus/nisplus-publickey.c:401
9992 +msgid "netname2user: should not have uid 0"
9993 +msgstr "netname2user: não deve possuir uid 0"
9995 +#: nis/ypclnt.c:827
9996 +msgid "Request arguments bad"
9997 +msgstr "Argumentos de requisição inválidos"
9999 +#: nis/ypclnt.c:830
10000 +msgid "RPC failure on NIS operation"
10001 +msgstr "Falha RPC na operação NIS"
10003 +#: nis/ypclnt.c:833
10004 +msgid "Can't bind to server which serves this domain"
10005 +msgstr "Não é possível vincular ao servidor que serve este domínio"
10007 +#: nis/ypclnt.c:836
10008 +msgid "No such map in server's domain"
10009 +msgstr "Mapa inexistente no domínio do servidor"
10011 +#: nis/ypclnt.c:839
10012 +msgid "No such key in map"
10013 +msgstr "Chave inexistente no mapa"
10015 +#: nis/ypclnt.c:842
10016 +msgid "Internal NIS error"
10017 +msgstr "Erro NIS interno"
10019 +#: nis/ypclnt.c:845
10020 +msgid "Local resource allocation failure"
10021 +msgstr "Falha na alocação de recurso local"
10023 +#: nis/ypclnt.c:848
10024 +msgid "No more records in map database"
10025 +msgstr "Não há mais registros no banco de dados de mapas"
10027 +#: nis/ypclnt.c:851
10028 +msgid "Can't communicate with portmapper"
10029 +msgstr "Não foi possível comunicar com o portmapper"
10031 +#: nis/ypclnt.c:854
10032 +msgid "Can't communicate with ypbind"
10033 +msgstr "Não foi possível comunicar com o ypbind"
10035 +#: nis/ypclnt.c:857
10036 +msgid "Can't communicate with ypserv"
10037 +msgstr "Não foi possível comunicar com o ypserv"
10039 +#: nis/ypclnt.c:860
10040 +msgid "Local domain name not set"
10041 +msgstr "Nome de domínio local não definido"
10043 +#: nis/ypclnt.c:863
10044 +msgid "NIS map database is bad"
10045 +msgstr "Banco de dados de mapas NIS é inválido"
10047 +#: nis/ypclnt.c:866
10048 +msgid "NIS client/server version mismatch - can't supply service"
10049 +msgstr "Versões cliente/servidor NIS não conferem – não foi possível oferecer serviço"
10051 +#: nis/ypclnt.c:872
10052 +msgid "Database is busy"
10053 +msgstr "Banco de dados está ocupado"
10055 +#: nis/ypclnt.c:875
10056 +msgid "Unknown NIS error code"
10057 +msgstr "Código de erro NIS desconhecido"
10059 +#: nis/ypclnt.c:916
10060 +msgid "Internal ypbind error"
10061 +msgstr "Erro interno de ypbind"
10063 +#: nis/ypclnt.c:919
10064 +msgid "Domain not bound"
10065 +msgstr "Domínio não vinculado"
10067 +#: nis/ypclnt.c:922
10068 +msgid "System resource allocation failure"
10069 +msgstr "Falha de alocação de recursos do sistema"
10071 +#: nis/ypclnt.c:925
10072 +msgid "Unknown ypbind error"
10073 +msgstr "Erro desconhecido de ypbind"
10075 +#: nis/ypclnt.c:966
10076 +msgid "yp_update: cannot convert host to netname\n"
10077 +msgstr "yp_update: não foi possível converter host para netname\n"
10079 +#: nis/ypclnt.c:984
10080 +msgid "yp_update: cannot get server address\n"
10081 +msgstr "yp_update: não foi possível obter o endereço do servidor\n"
10083 +#: nscd/aicache.c:85 nscd/hstcache.c:485
10085 +msgid "Haven't found \"%s\" in hosts cache!"
10086 +msgstr "Não foi encontrado “%s” no cache de máquinas!"
10088 +#: nscd/aicache.c:87 nscd/hstcache.c:487
10090 +msgid "Reloading \"%s\" in hosts cache!"
10091 +msgstr "Recarregando “%s” no cache de máquinas!"
10093 +#: nscd/cache.c:151
10095 +msgid "add new entry \"%s\" of type %s for %s to cache%s"
10096 +msgstr "adicionar nova entrada “%s” do tipo %s para %s ao cache%s"
10098 +#: nscd/cache.c:153
10100 +msgstr " (primeira)"
10102 +#: nscd/cache.c:288
10104 +msgid "checking for monitored file `%s': %s"
10105 +msgstr "verificando pelo arquivo monitorado “%s”: %s"
10107 +#: nscd/cache.c:298
10109 +msgid "monitored file `%s` changed (mtime)"
10110 +msgstr "arquivo monitorado “%s” foi modificado (mtime)"
10112 +#: nscd/cache.c:341
10114 +msgid "pruning %s cache; time %ld"
10115 +msgstr "removendo cache %s; tempo %ld"
10117 +#: nscd/cache.c:370
10119 +msgid "considering %s entry \"%s\", timeout %<PRIu64>"
10120 +msgstr "considerando entrada %s “%s”, tempo limite %<PRIu64>"
10122 +#: nscd/connections.c:537
10124 +msgid "invalid persistent database file \"%s\": %s"
10125 +msgstr "arquivo inválido de banco de dados persistente “%s”: %s"
10127 +#: nscd/connections.c:545
10128 +msgid "uninitialized header"
10129 +msgstr "cabeçalho não inicializado"
10131 +#: nscd/connections.c:550
10132 +msgid "header size does not match"
10133 +msgstr "tamanho do cabeçalho não confere"
10135 +#: nscd/connections.c:560
10136 +msgid "file size does not match"
10137 +msgstr "tamanho de arquivo não confere"
10139 +#: nscd/connections.c:577
10140 +msgid "verification failed"
10141 +msgstr "verificação falhou"
10143 +#: nscd/connections.c:591
10145 +msgid "suggested size of table for database %s larger than the persistent database's table"
10146 +msgstr "tamanho sugerido de tabela para banco de dados %s maior que a tabela do banco de dados persistente"
10148 +#: nscd/connections.c:602 nscd/connections.c:686
10150 +msgid "cannot create read-only descriptor for \"%s\"; no mmap"
10151 +msgstr "não foi possível criar descritor somente leitura para “%s”; nenhum mmap"
10153 +#: nscd/connections.c:618
10155 +msgid "cannot access '%s'"
10156 +msgstr "não foi possível acessar “%s”"
10158 +#: nscd/connections.c:666
10160 +msgid "database for %s corrupted or simultaneously used; remove %s manually if necessary and restart"
10161 +msgstr "banco de dados para %s corrompido ou usado simultaneamente; remova %s manualmente, se necessário, e reinicie"
10163 +#: nscd/connections.c:672
10165 +msgid "cannot create %s; no persistent database used"
10166 +msgstr "não foi possível criar %s; nenhum banco de dados persistente usado"
10168 +#: nscd/connections.c:675
10170 +msgid "cannot create %s; no sharing possible"
10171 +msgstr "não foi possível criar %s; nenhum compartilhamento possível"
10173 +#: nscd/connections.c:746
10175 +msgid "cannot write to database file %s: %s"
10176 +msgstr "não foi possível escrever para o arquivo de banco de dados %s: %s"
10178 +#: nscd/connections.c:802
10180 +msgid "cannot open socket: %s"
10181 +msgstr "não é possível abrir soquete: “%s”"
10183 +#: nscd/connections.c:821
10185 +msgid "cannot enable socket to accept connections: %s"
10186 +msgstr "impossível habilitar soquete para aceitar conexões: %s"
10188 +#: nscd/connections.c:878
10190 +msgid "disabled inotify-based monitoring for file `%s': %s"
10191 +msgstr "desabilitado monitoramento baseado em inotify para o arquivo “%s”: %s"
10193 +#: nscd/connections.c:882
10195 +msgid "monitoring file `%s` (%d)"
10196 +msgstr "monitorando o arquivo “%s” (%d)"
10198 +#: nscd/connections.c:895
10200 +msgid "disabled inotify-based monitoring for directory `%s': %s"
10201 +msgstr "desabilitado monitoramento baseado em inotify para o diretório “%s”: %s"
10203 +#: nscd/connections.c:899
10205 +msgid "monitoring directory `%s` (%d)"
10206 +msgstr "monitorando o diretório “%s” (%d)"
10208 +#: nscd/connections.c:927
10210 +msgid "monitoring file %s for database %s"
10211 +msgstr "monitorando o arquivo %s para o banco de dados %s"
10213 +#: nscd/connections.c:937
10215 +msgid "stat failed for file `%s'; will try again later: %s"
10216 +msgstr "obtenção de estado falhou para o arquivo “%s”; nova tentativa posteriormente: %s"
10218 +#: nscd/connections.c:1056
10220 +msgid "provide access to FD %d, for %s"
10221 +msgstr "fornece acesso ao descritor de arquivo %d, para %s"
10223 +#: nscd/connections.c:1068
10225 +msgid "cannot handle old request version %d; current version is %d"
10226 +msgstr "impossível lidar com requisições de versões antigas %d; a versão atual é %d"
10228 +#: nscd/connections.c:1091
10230 +msgid "request from %ld not handled due to missing permission"
10231 +msgstr "requisição de %ld não manipulada em razão de falta de permissão"
10233 +#: nscd/connections.c:1096
10235 +msgid "request from '%s' [%ld] not handled due to missing permission"
10236 +msgstr "requisição de “%s” [%ld] não manipulada em razão de falta de permissão"
10238 +#: nscd/connections.c:1101
10239 +msgid "request not handled due to missing permission"
10240 +msgstr "requisição não manipulada em razão de falta de permissão"
10242 +#: nscd/connections.c:1139 nscd/connections.c:1192
10244 +msgid "cannot write result: %s"
10245 +msgstr "não é possível escrever resultado: %s"
10247 +#: nscd/connections.c:1283
10249 +msgid "error getting caller's id: %s"
10250 +msgstr "erro ao obter o id do chamador: %s"
10252 +#: nscd/connections.c:1343
10254 +msgid "cannot open /proc/self/cmdline: %s; disabling paranoia mode"
10255 +msgstr "não foi possível abrir /proc/self/cmdline: %s; desabilitando modo paranoia"
10257 +#: nscd/connections.c:1357
10259 +msgid "cannot read /proc/self/cmdline: %s; disabling paranoia mode"
10260 +msgstr "não foi possível ler /proc/self/cmdline: %s; desabilitando modo paranoia"
10262 +#: nscd/connections.c:1397
10264 +msgid "cannot change to old UID: %s; disabling paranoia mode"
10265 +msgstr "não foi possível alterar para UID antigo: %s; desabilitando modo paranoia"
10267 +#: nscd/connections.c:1407
10269 +msgid "cannot change to old GID: %s; disabling paranoia mode"
10270 +msgstr "não foi possível alterar para GID antigo: %s; desabilitando modo paranoia"
10272 +#: nscd/connections.c:1420
10274 +msgid "cannot change to old working directory: %s; disabling paranoia mode"
10275 +msgstr "não foi possível mudar para diretório de trabalho anterior: %s; desabilitando modo paranoia"
10277 +#: nscd/connections.c:1466
10279 +msgid "re-exec failed: %s; disabling paranoia mode"
10280 +msgstr "reexecução falhou: %s; desabilitando modo paranoia"
10282 +#: nscd/connections.c:1475
10284 +msgid "cannot change current working directory to \"/\": %s"
10285 +msgstr "não foi possível mudar o diretório de trabalho atual para “/”: %s"
10287 +#: nscd/connections.c:1658
10289 +msgid "short read while reading request: %s"
10290 +msgstr "leitura insuficiente durante a leitura da requisição: %s"
10292 +#: nscd/connections.c:1691
10294 +msgid "key length in request too long: %d"
10295 +msgstr "tamanho da chave na requisição é grande demais: %d"
10297 +#: nscd/connections.c:1704
10299 +msgid "short read while reading request key: %s"
10300 +msgstr "leitura insuficiente durante a leitura da chave de requisição: %s"
10302 +#: nscd/connections.c:1714
10304 +msgid "handle_request: request received (Version = %d) from PID %ld"
10305 +msgstr "handle_request: requisição recebida (Versão = %d) do PID %ld"
10307 +#: nscd/connections.c:1719
10309 +msgid "handle_request: request received (Version = %d)"
10310 +msgstr "handle_request: requisição recebida (Versão = %d)"
10312 +#: nscd/connections.c:1859
10314 +msgid "ignored inotify event for `%s` (file exists)"
10315 +msgstr "evento inotify ignorado para “%s” (arquivo existe)"
10317 +#: nscd/connections.c:1864
10319 +msgid "monitored file `%s` was %s, removing watch"
10320 +msgstr "arquivo monitorado “%s” era %s, removendo inspeção"
10322 +#: nscd/connections.c:1872 nscd/connections.c:1914
10324 +msgid "failed to remove file watch `%s`: %s"
10325 +msgstr "falha ao remover inspeção do arquivo “%s”: %s"
10327 +#: nscd/connections.c:1887
10329 +msgid "monitored file `%s` was written to"
10330 +msgstr "arquivo monitorado “%s” foi escrito para"
10332 +#: nscd/connections.c:1911
10334 +msgid "monitored parent directory `%s` was %s, removing watch on `%s`"
10335 +msgstr "diretório pai monitorado “%s” foi %s, removendo inspeção em “%s”"
10337 +#: nscd/connections.c:1937
10339 +msgid "monitored file `%s` was %s, adding watch"
10340 +msgstr "arquivo monitorado “%s” foi %s, adicionando inspeção"
10342 +#: nscd/connections.c:1949
10344 +msgid "failed to add file watch `%s`: %s"
10345 +msgstr "falha ao adicionar inspeção do arquivo “%s”: %s"
10347 +#: nscd/connections.c:2127 nscd/connections.c:2292
10349 +msgid "disabled inotify-based monitoring after read error %d"
10350 +msgstr "desabilitado monitoramento baseado em inotify após erro de leitura %d"
10352 +#: nscd/connections.c:2407
10353 +msgid "could not initialize conditional variable"
10354 +msgstr "não foi possível inicializar variável condicional"
10356 +#: nscd/connections.c:2415
10357 +msgid "could not start clean-up thread; terminating"
10358 +msgstr "não foi possível iniciar fluxo de limpeza; terminando"
10360 +#: nscd/connections.c:2429
10361 +msgid "could not start any worker thread; terminating"
10362 +msgstr "não foi possível iniciar qualquer fluxo de trabalho; terminando"
10364 +#: nscd/connections.c:2484 nscd/connections.c:2486 nscd/connections.c:2502
10365 +#: nscd/connections.c:2512 nscd/connections.c:2530 nscd/connections.c:2541
10366 +#: nscd/connections.c:2551
10368 +msgid "Failed to run nscd as user '%s'"
10369 +msgstr "Falha ao executar nscd como usuário “%s”"
10371 +#: nscd/connections.c:2504
10372 +msgid "initial getgrouplist failed"
10373 +msgstr "getgrouplist inicial falhou"
10375 +#: nscd/connections.c:2513
10376 +msgid "getgrouplist failed"
10377 +msgstr "getgrouplist falhou"
10379 +#: nscd/connections.c:2531
10380 +msgid "setgroups failed"
10381 +msgstr "setgroups falhou"
10383 +#: nscd/grpcache.c:416 nscd/hstcache.c:432 nscd/initgrcache.c:416
10384 +#: nscd/pwdcache.c:394 nscd/servicescache.c:338
10386 +msgid "short write in %s: %s"
10387 +msgstr "escrita insuficiente em %s: %s"
10389 +#: nscd/grpcache.c:461 nscd/initgrcache.c:84
10391 +msgid "Haven't found \"%s\" in group cache!"
10392 +msgstr "Não foi encontrado “%s” no cache de grupo!"
10394 +#: nscd/grpcache.c:463 nscd/initgrcache.c:86
10396 +msgid "Reloading \"%s\" in group cache!"
10397 +msgstr "Recarregando “%s” no cache de grupo!"
10399 +#: nscd/grpcache.c:542
10401 +msgid "Invalid numeric gid \"%s\"!"
10402 +msgstr "GID numérico inválido “%s”!"
10406 +msgid "freed %zu bytes in %s cache"
10407 +msgstr "liberados %zu bytes no cache de %s"
10411 +msgid "no more memory for database '%s'"
10412 +msgstr "não há mais memória para o banco de dados “%s”"
10414 +#: nscd/netgroupcache.c:121
10416 +msgid "Haven't found \"%s\" in netgroup cache!"
10417 +msgstr "Não foi encontrado “%s” no cache de netgroup!"
10419 +#: nscd/netgroupcache.c:123
10421 +msgid "Reloading \"%s\" in netgroup cache!"
10422 +msgstr "Recarregando “%s” no cache de netgroup!"
10424 +#: nscd/netgroupcache.c:495
10426 +msgid "Haven't found \"%s (%s,%s,%s)\" in netgroup cache!"
10427 +msgstr "Não foi encontrado “%s (%s,%s,%s)” no cache de netgroup!"
10429 +#: nscd/netgroupcache.c:498
10431 +msgid "Reloading \"%s (%s,%s,%s)\" in netgroup cache!"
10432 +msgstr "Recarregando “%s (%s,%s,%s)” no cache de netgroup!"
10434 +#: nscd/nscd.c:106
10435 +msgid "Read configuration data from NAME"
10436 +msgstr "Lê configuração de dados de NOME"
10438 +#: nscd/nscd.c:108
10439 +msgid "Do not fork and display messages on the current tty"
10440 +msgstr "Não bifurca (fork) e mostre mensagens na tty corrente"
10442 +#: nscd/nscd.c:110
10443 +msgid "Do not fork, but otherwise behave like a daemon"
10444 +msgstr "Não bifurca (fork), mas, em vez disso, se comporta como um serviço (daemon)"
10446 +#: nscd/nscd.c:111
10450 +# Espaço inical adicionado para corrigir alinhamento; veja 'nscd --help' -- Rafael
10451 +#: nscd/nscd.c:111
10452 +msgid "Start NUMBER threads"
10453 +msgstr " Inicia NÚMERO threads"
10455 +#: nscd/nscd.c:112
10456 +msgid "Shut the server down"
10457 +msgstr "Encerra o servidor"
10459 +#: nscd/nscd.c:113
10460 +msgid "Print current configuration statistics"
10461 +msgstr "Reúne e imprime as estatísticas de configuração"
10463 +#: nscd/nscd.c:114
10467 +#: nscd/nscd.c:115
10468 +msgid "Invalidate the specified cache"
10469 +msgstr "Invalida o cache especificado"
10471 +#: nscd/nscd.c:116
10473 +msgstr "TABELA,sim"
10475 +#: nscd/nscd.c:117
10476 +msgid "Use separate cache for each user"
10477 +msgstr "Usa um cache separado para cada usuário"
10479 +#: nscd/nscd.c:122
10480 +msgid "Name Service Cache Daemon."
10481 +msgstr "Daemon de cache de serviço de nomes."
10483 +#: nscd/nscd.c:155 nss/getent.c:947 nss/makedb.c:206
10485 +msgid "wrong number of arguments"
10486 +msgstr "número incorreto de argumentos"
10488 +#: nscd/nscd.c:165
10490 +msgid "failure while reading configuration file; this is fatal"
10491 +msgstr "falha ao ler arquivo de configuração; isto é fatal"
10493 +#: nscd/nscd.c:174
10495 +msgid "already running"
10496 +msgstr "já está em execução"
10498 +#: nscd/nscd.c:194
10500 +msgid "cannot create a pipe to talk to the child"
10501 +msgstr "não foi possível criar um pipe para falar com o processo filho"
10503 +#: nscd/nscd.c:198
10505 +msgid "cannot fork"
10506 +msgstr "não foi possível bifurcar (fork)"
10508 +#: nscd/nscd.c:268
10509 +msgid "cannot change current working directory to \"/\""
10510 +msgstr "não foi possível mudar o diretório de trabalho atual para “/”"
10512 +#: nscd/nscd.c:276
10513 +msgid "Could not create log file"
10514 +msgstr "Não foi possível criar o arquivo de log"
10516 +#: nscd/nscd.c:355 nscd/nscd_stat.c:209
10518 +msgid "write incomplete"
10519 +msgstr "escrita incompleta"
10521 +#: nscd/nscd.c:366
10523 +msgid "cannot read invalidate ACK"
10524 +msgstr "não foi possível ler ACK inválida"
10526 +#: nscd/nscd.c:372
10528 +msgid "invalidation failed"
10529 +msgstr "invalidação falhou"
10531 +#: nscd/nscd.c:417 nscd/nscd.c:442 nscd/nscd_stat.c:190
10533 +msgid "Only root is allowed to use this option!"
10534 +msgstr "Somente o superusuário pode usar esta opção!"
10536 +#: nscd/nscd.c:437
10538 +msgid "'%s' is not a known database"
10539 +msgstr "“%s” não é um banco de dados conhecido"
10541 +#: nscd/nscd.c:452
10543 +msgid "secure services not implemented anymore"
10544 +msgstr "serviços seguros não mais implementado"
10546 +#: nscd/nscd.c:485
10549 +"Supported tables:\n"
10552 +"For bug reporting instructions, please see:\n"
10555 +"Há suporte às seguintes tabelas:\n"
10558 +"Para instruções sobre como relatar erros, por favor veja:\n"
10561 +#: nscd/nscd.c:635
10563 +msgid "'wait' failed\n"
10564 +msgstr "“wait” falhou\n"
10566 +#: nscd/nscd.c:642
10568 +msgid "child exited with status %d\n"
10569 +msgstr "processo filho saiu com erro %d\n"
10571 +#: nscd/nscd.c:647
10573 +msgid "child terminated by signal %d\n"
10574 +msgstr "processo filho terminado pelo sinal %d\n"
10576 +#: nscd/nscd_conf.c:54
10578 +msgid "database %s is not supported"
10579 +msgstr "sem suporte ao banco de dados %s"
10581 +#: nscd/nscd_conf.c:105
10583 +msgid "Parse error: %s"
10584 +msgstr "Erro de análise: %s"
10586 +#: nscd/nscd_conf.c:191
10588 +msgid "Must specify user name for server-user option"
10589 +msgstr "Deve-se especificar o nome do usuário para a opção “server-user”"
10591 +#: nscd/nscd_conf.c:198
10593 +msgid "Must specify user name for stat-user option"
10594 +msgstr "Deve-se especificar o nome do usuário para a opção “stat-user”"
10596 +#: nscd/nscd_conf.c:255
10598 +msgid "Must specify value for restart-interval option"
10599 +msgstr "Deve-se especificar valor para a opção “restart-interval”"
10601 +#: nscd/nscd_conf.c:269
10603 +msgid "Unknown option: %s %s %s"
10604 +msgstr "Opção desconhecida: %s %s %s"
10606 +#: nscd/nscd_conf.c:282
10608 +msgid "cannot get current working directory: %s; disabling paranoia mode"
10609 +msgstr "não foi possível obter o diretório de trabalho: %s; desabilitando modo paranoia"
10611 +#: nscd/nscd_conf.c:302
10613 +msgid "maximum file size for %s database too small"
10614 +msgstr "tamanho máximo de arquivo para o banco de dados %s é pequeno demais"
10616 +#: nscd/nscd_stat.c:159
10618 +msgid "cannot write statistics: %s"
10619 +msgstr "não foi possível escrever estatísticas: %s"
10621 +#: nscd/nscd_stat.c:174
10625 +#: nscd/nscd_stat.c:175
10629 +#: nscd/nscd_stat.c:186
10631 +msgid "Only root or %s is allowed to use this option!"
10632 +msgstr "Somente o superusuário ou %s pode usar esta opção!"
10634 +#: nscd/nscd_stat.c:197
10636 +msgid "nscd not running!\n"
10637 +msgstr "nscd não está em execução!\n"
10639 +#: nscd/nscd_stat.c:221
10641 +msgid "cannot read statistics data"
10642 +msgstr "não foi possível ler dados de estatística"
10644 +#: nscd/nscd_stat.c:224
10647 +"nscd configuration:\n"
10649 +"%15d server debug level\n"
10651 +"configuração do nscd:\n"
10653 +"%15d nível de depuração do servidor\n"
10655 +#: nscd/nscd_stat.c:248
10657 +msgid "%3ud %2uh %2um %2lus server runtime\n"
10658 +msgstr "%3ud %2uh %2um %2lus tempo de execução do servidor\n"
10660 +#: nscd/nscd_stat.c:251
10662 +msgid " %2uh %2um %2lus server runtime\n"
10663 +msgstr " %2uh %2um %2lus tempo de execução do servidor\n"
10665 +#: nscd/nscd_stat.c:253
10667 +msgid " %2um %2lus server runtime\n"
10668 +msgstr " %2um %2lus tempo de execução do servidor\n"
10670 +#: nscd/nscd_stat.c:255
10672 +msgid " %2lus server runtime\n"
10673 +msgstr " %2lus tempo de execução do servidor\n"
10675 +#: nscd/nscd_stat.c:257
10678 +"%15d current number of threads\n"
10679 +"%15d maximum number of threads\n"
10680 +"%15lu number of times clients had to wait\n"
10681 +"%15s paranoia mode enabled\n"
10682 +"%15lu restart internal\n"
10683 +"%15u reload count\n"
10685 +"%15d número atual de threads\n"
10686 +"%15d número máximo de threads\n"
10687 +"%15lu número de tempos de espera de clientes\n"
10688 +"%15s modo paranoia habilitado\n"
10689 +"%15lu reinicialização interna\n"
10690 +"%15u recarregamento de contagem\n"
10692 +#: nscd/nscd_stat.c:292
10698 +"%15s cache is enabled\n"
10699 +"%15s cache is persistent\n"
10700 +"%15s cache is shared\n"
10701 +"%15zu suggested size\n"
10702 +"%15zu total data pool size\n"
10703 +"%15zu used data pool size\n"
10704 +"%15lu seconds time to live for positive entries\n"
10705 +"%15lu seconds time to live for negative entries\n"
10706 +"%15<PRIuMAX> cache hits on positive entries\n"
10707 +"%15<PRIuMAX> cache hits on negative entries\n"
10708 +"%15<PRIuMAX> cache misses on positive entries\n"
10709 +"%15<PRIuMAX> cache misses on negative entries\n"
10710 +"%15lu%% cache hit rate\n"
10711 +"%15zu current number of cached values\n"
10712 +"%15zu maximum number of cached values\n"
10713 +"%15zu maximum chain length searched\n"
10714 +"%15<PRIuMAX> number of delays on rdlock\n"
10715 +"%15<PRIuMAX> number of delays on wrlock\n"
10716 +"%15<PRIuMAX> memory allocations failed\n"
10717 +"%15s check /etc/%s for changes\n"
10722 +"%15s cache está habilitado\n"
10723 +"%15s cache é persistente\n"
10724 +"%15s cache está compartilhado\n"
10725 +"%15zu tamanho sugerido\n"
10726 +"%15zu tamanho total de pool de dados\n"
10727 +"%15zu tamanho usado de pool de dados\n"
10728 +"%15lu segundos de vida para entradas positivas\n"
10729 +"%15lu segundos de vida para entradas negativas\n"
10730 +"%15<PRIuMAX> acertos do cache para entradas positivas\n"
10731 +"%15<PRIuMAX> acertos do cache para entradas negativas\n"
10732 +"%15<PRIuMAX> erros do cache para entradas positivas\n"
10733 +"%15<PRIuMAX> erros do cache para entradas negativas\n"
10734 +"%15lu%% taxa de acertos do cache\n"
10735 +"%15zu número atual de valores em cache\n"
10736 +"%15zu número máximo de valores em cache\n"
10737 +"%15zu tamanho máximo de correntes pesquisadas\n"
10738 +"%15<PRIuMAX> número de atraso no rdlock\n"
10739 +"%15<PRIuMAX> número de atraso no wrlock\n"
10740 +"%15<PRIuMAX> alocações de memória falharam\n"
10741 +"%15s verifica /etc/%s por alterações\n"
10743 +#: nscd/pwdcache.c:439
10745 +msgid "Haven't found \"%s\" in password cache!"
10746 +msgstr "Não foi encontrado “%s” no cache de senhas!"
10748 +#: nscd/pwdcache.c:441
10750 +msgid "Reloading \"%s\" in password cache!"
10751 +msgstr "Recarregando “%s” no cache de senhas!"
10753 +#: nscd/pwdcache.c:522
10755 +msgid "Invalid numeric uid \"%s\"!"
10756 +msgstr "UID numérico inválido “%s”!"
10758 +#: nscd/selinux.c:154
10760 +msgid "Failed opening connection to the audit subsystem: %m"
10761 +msgstr "Falha ao abrir conexão com o subsistema de auditoria: %m"
10763 +#: nscd/selinux.c:175
10764 +msgid "Failed to set keep-capabilities"
10765 +msgstr "Falha ao definir capacidades a serem mantidas"
10767 +#: nscd/selinux.c:176 nscd/selinux.c:239
10768 +msgid "prctl(KEEPCAPS) failed"
10769 +msgstr "prctl(KEEPCAPS) falhou"
10771 +#: nscd/selinux.c:190
10772 +msgid "Failed to initialize drop of capabilities"
10773 +msgstr "Falha ao inicializar descarte de capacidades"
10775 +#: nscd/selinux.c:191
10776 +msgid "cap_init failed"
10777 +msgstr "cap_init falhou"
10779 +#: nscd/selinux.c:212 nscd/selinux.c:229
10780 +msgid "Failed to drop capabilities"
10781 +msgstr "Falha ao descartar capacidades"
10783 +#: nscd/selinux.c:213 nscd/selinux.c:230
10784 +msgid "cap_set_proc failed"
10785 +msgstr "cap_set_proc falhou"
10787 +#: nscd/selinux.c:238
10788 +msgid "Failed to unset keep-capabilities"
10789 +msgstr "Falha ao remover definição de capacidades a serem mantidas"
10791 +#: nscd/selinux.c:254
10792 +msgid "Failed to determine if kernel supports SELinux"
10793 +msgstr "Falha ao determinar se o kernel oferece suporte a SELinux"
10795 +#: nscd/selinux.c:269
10796 +msgid "Failed to start AVC thread"
10797 +msgstr "Falha ao iniciar fluxo de AVC"
10799 +#: nscd/selinux.c:291
10800 +msgid "Failed to create AVC lock"
10801 +msgstr "Falha ao criar trava de AVC"
10803 +#: nscd/selinux.c:331
10804 +msgid "Failed to start AVC"
10805 +msgstr "Falha ao iniciar AVC"
10807 +#: nscd/selinux.c:333
10808 +msgid "Access Vector Cache (AVC) started"
10809 +msgstr "Cache do Vetor de Acesso (AVC) iniciado"
10811 +#: nscd/selinux.c:368
10812 +msgid "Error querying policy for undefined object classes or permissions."
10813 +msgstr "Erro ao consultar política por classes de objetos indefinidos ou permissões."
10815 +#: nscd/selinux.c:375
10816 +msgid "Error getting security class for nscd."
10817 +msgstr "Erro ao obter classe de segurança para nscd."
10819 +#: nscd/selinux.c:380
10821 +msgid "Error translating permission name \"%s\" to access vector bit."
10822 +msgstr "Erro ao traduzir nome de permissão “%s” para bit do vetor de acesso."
10824 +#: nscd/selinux.c:390
10825 +msgid "Error getting context of socket peer"
10826 +msgstr "Erro ao obter contexto do soquete da outra ponta"
10828 +#: nscd/selinux.c:395
10829 +msgid "Error getting context of nscd"
10830 +msgstr "Erro ao obter um contexto do nscd"
10832 +#: nscd/selinux.c:401
10833 +msgid "Error getting sid from context"
10834 +msgstr "Erro ao obter sid do contexto"
10836 +#: nscd/selinux.c:439
10840 +"SELinux AVC Statistics:\n"
10842 +"%15u entry lookups\n"
10843 +"%15u entry hits\n"
10844 +"%15u entry misses\n"
10845 +"%15u entry discards\n"
10846 +"%15u CAV lookups\n"
10848 +"%15u CAV probes\n"
10849 +"%15u CAV misses\n"
10852 +"Estatísticas do AVC do SELinux:\n"
10854 +"%15u consultas a registros\n"
10855 +"%15u acerto a registros\n"
10856 +"%15u erros a registros\n"
10857 +"%15u descarte de registros\n"
10858 +"%15u consultas a CAV\n"
10859 +"%15u acertos a CAV\n"
10860 +"%15u investigações de CAV\n"
10861 +"%15u erros de CAV\n"
10863 +#: nscd/servicescache.c:387
10865 +msgid "Haven't found \"%s\" in services cache!"
10866 +msgstr "Não foi encontrado “%s” no cache de serviços!"
10868 +#: nscd/servicescache.c:389
10870 +msgid "Reloading \"%s\" in services cache!"
10871 +msgstr "Recarregando “%s” no cache de serviços!"
10873 +#: nss/getent.c:53
10874 +msgid "database [key ...]"
10875 +msgstr "base_de_dados [chave ...]"
10877 +#: nss/getent.c:58
10881 +#: nss/getent.c:58
10882 +msgid "Service configuration to be used"
10883 +msgstr "Serviço de configuração a ser usado"
10885 +#: nss/getent.c:59
10886 +msgid "disable IDN encoding"
10887 +msgstr "desabilita codificação de IDN"
10889 +#: nss/getent.c:64
10890 +msgid "Get entries from administrative database."
10891 +msgstr "Obtém registros de banco de dados administrativo."
10893 +#: nss/getent.c:148 nss/getent.c:441 nss/getent.c:486
10895 +msgid "Enumeration not supported on %s\n"
10896 +msgstr "Sem suporte a enumeração no %s\n"
10898 +#: nss/getent.c:861
10900 +msgid "Unknown database name"
10901 +msgstr "Nome de banco de dados desconhecido"
10903 +#: nss/getent.c:891
10904 +msgid "Supported databases:\n"
10905 +msgstr "Há suporte aos seguintes bancos de dados:\n"
10907 +#: nss/getent.c:957
10909 +msgid "Unknown database: %s\n"
10910 +msgstr "Base de dados desconhecida: %s\n"
10912 +#: nss/makedb.c:119
10913 +msgid "Convert key to lower case"
10914 +msgstr "Converte chave para letras minúsculas"
10916 +#: nss/makedb.c:122
10917 +msgid "Do not print messages while building database"
10918 +msgstr "Não mostra mensagens enquanto constrói base de dados"
10920 +#: nss/makedb.c:124
10921 +msgid "Print content of database file, one entry a line"
10922 +msgstr "Mostra o conteúdo da base de dados do arquivo, um entrada por linha"
10924 +#: nss/makedb.c:125
10928 +#: nss/makedb.c:126
10929 +msgid "Generated line not part of iteration"
10930 +msgstr "Linha gerada não é parte da iteração"
10932 +#: nss/makedb.c:131
10933 +msgid "Create simple database from textual input."
10934 +msgstr "Cria um banco de dados simples de uma entrada textual."
10936 +#: nss/makedb.c:134
10938 +"INPUT-FILE OUTPUT-FILE\n"
10939 +"-o OUTPUT-FILE INPUT-FILE\n"
10942 +"ARQUIVO-ENTRADA ARQUIVO-SAÍDA\n"
10943 +"-o ARQUIVO-SAÍDA ARQUIVO-ENTRADA\n"
10944 +"-u ARQUIVO-ENTRADA"
10946 +#: nss/makedb.c:227
10948 +msgid "cannot open database file `%s'"
10949 +msgstr "não foi possível abrir o arquivo de banco de dados “%s”"
10951 +#: nss/makedb.c:272
10953 +msgid "no entries to be processed"
10954 +msgstr "nenhum registro a ser processado"
10956 +#: nss/makedb.c:282
10958 +msgid "cannot create temporary file name"
10959 +msgstr "não foi possível criar um nome de arquivo temporário"
10961 +#: nss/makedb.c:288
10963 +msgid "cannot create temporary file"
10964 +msgstr "não foi possível criar um arquivo temporário"
10966 +#: nss/makedb.c:304
10968 +msgid "cannot stat newly created file"
10969 +msgstr "não foi possível obter estado do arquivo recém-criado"
10971 +#: nss/makedb.c:315
10973 +msgid "cannot rename temporary file"
10974 +msgstr "não foi possível renomear o arquivo temporário"
10976 +#: nss/makedb.c:527 nss/makedb.c:550
10978 +msgid "cannot create search tree"
10979 +msgstr "não foi possível criar árvore de pesquisa"
10981 +#: nss/makedb.c:556
10982 +msgid "duplicate key"
10983 +msgstr "chave duplicada"
10985 +#: nss/makedb.c:568
10987 +msgid "problems while reading `%s'"
10988 +msgstr "problemas durante a leitura de “%s”"
10990 +#: nss/makedb.c:795
10992 +msgid "failed to write new database file"
10993 +msgstr "falha ao escrever novo arquivo de banco de dados"
10995 +#: nss/makedb.c:808
10997 +msgid "cannot stat database file"
10998 +msgstr "não foi possível obter estado do arquivo de banco de dados"
11000 +#: nss/makedb.c:813
11002 +msgid "cannot map database file"
11003 +msgstr "não foi possível mapear o arquivo de banco de dados"
11005 +#: nss/makedb.c:816
11007 +msgid "file not a database file"
11008 +msgstr "o arquivo não é um arquivo de banco de dados"
11010 +#: nss/makedb.c:867
11012 +msgid "cannot set file creation context for `%s'"
11013 +msgstr "não foi possível definir contexto de criação de arquivo para “%s”"
11015 +#: posix/getconf.c:417
11017 +msgid "Usage: %s [-v specification] variable_name [pathname]\n"
11018 +msgstr "Uso: %s [-v especificação] nome_da_variável [caminho]\n"
11020 +#: posix/getconf.c:420
11022 +msgid " %s -a [pathname]\n"
11023 +msgstr " %s -a [caminho]\n"
11025 +#: posix/getconf.c:496
11028 +"Usage: getconf [-v SPEC] VAR\n"
11029 +" or: getconf [-v SPEC] PATH_VAR PATH\n"
11031 +"Get the configuration value for variable VAR, or for variable PATH_VAR\n"
11032 +"for path PATH. If SPEC is given, give values for compilation\n"
11033 +"environment SPEC.\n"
11036 +"Uso: getconf [-v ESPEC] VAR\n"
11037 +" ou: getconf [-v ESPEC] VAR_CAMINHO CAMINHO\n"
11039 +"Obtém o valor de configuração da variável VAR ou para variável VAR_CAMINHO\n"
11040 +"para caminho CAMINHO. Se ESPEC for dado, atribuir valores para ambiente de\n"
11041 +"compilação ESPEC.\n"
11044 +#: posix/getconf.c:572
11046 +msgid "unknown specification \"%s\""
11047 +msgstr "especificação desconhecida “%s”"
11049 +#: posix/getconf.c:624
11051 +msgid "Couldn't execute %s"
11052 +msgstr "Não foi possível executar %s"
11054 +#: posix/getconf.c:669 posix/getconf.c:685
11056 +msgstr "indefinido"
11058 +#: posix/getconf.c:707
11060 +msgid "Unrecognized variable `%s'"
11061 +msgstr "Variável não reconhecida “%s”"
11063 +#: posix/getopt.c:277
11065 +msgid "%s: option '%s%s' is ambiguous\n"
11066 +msgstr "%s: a opção “%s%s” é ambígua\n"
11068 +#: posix/getopt.c:283
11070 +msgid "%s: option '%s%s' is ambiguous; possibilities:"
11071 +msgstr "%s: a opção “%s%s” é ambígua; possibilidades:"
11073 +#: posix/getopt.c:318
11075 +msgid "%s: unrecognized option '%s%s'\n"
11076 +msgstr "%s: opção não reconhecida “%s%s”\n"
11078 +#: posix/getopt.c:344
11080 +msgid "%s: option '%s%s' doesn't allow an argument\n"
11081 +msgstr "%s: a opção “%s%s” não permite um argumento\n"
11083 +#: posix/getopt.c:359
11085 +msgid "%s: option '%s%s' requires an argument\n"
11086 +msgstr "%s: a opção “%s%s” requer um argumento\n"
11088 +#: posix/getopt.c:620
11090 +msgid "%s: invalid option -- '%c'\n"
11091 +msgstr "%s: opção inválida -- “%c”\n"
11093 +#: posix/getopt.c:635 posix/getopt.c:681
11095 +msgid "%s: option requires an argument -- '%c'\n"
11096 +msgstr "%s: a opção requer um argumento -- “%c”\n"
11098 +#: posix/regcomp.c:140
11100 +msgstr "Não confere"
11102 +#: posix/regcomp.c:143
11103 +msgid "Invalid regular expression"
11104 +msgstr "Expressão regular inválida"
11106 +#: posix/regcomp.c:146
11107 +msgid "Invalid collation character"
11108 +msgstr "Caractere de comparação inválido"
11110 +#: posix/regcomp.c:149
11111 +msgid "Invalid character class name"
11112 +msgstr "Nome de classe de caractere inválido"
11114 +#: posix/regcomp.c:152
11115 +msgid "Trailing backslash"
11116 +msgstr "Barra invertida final"
11118 +#: posix/regcomp.c:155
11119 +msgid "Invalid back reference"
11120 +msgstr "Referência anterior inválida"
11122 +#: posix/regcomp.c:158
11123 +msgid "Unmatched [ or [^"
11124 +msgstr "[ ou [^ descasados"
11126 +#: posix/regcomp.c:161
11127 +msgid "Unmatched ( or \\("
11128 +msgstr "( ou \\( descasados"
11130 +#: posix/regcomp.c:164
11131 +msgid "Unmatched \\{"
11132 +msgstr "\\{ descasado"
11134 +#: posix/regcomp.c:167
11135 +msgid "Invalid content of \\{\\}"
11136 +msgstr "Conteúdo inválido de \\{\\}"
11138 +#: posix/regcomp.c:170
11139 +msgid "Invalid range end"
11140 +msgstr "Intervalo final inválida"
11142 +#: posix/regcomp.c:173
11143 +msgid "Memory exhausted"
11144 +msgstr "Memória esgotada"
11146 +#: posix/regcomp.c:176
11147 +msgid "Invalid preceding regular expression"
11148 +msgstr "Expressão regular precedente inválida"
11150 +#: posix/regcomp.c:179
11151 +msgid "Premature end of regular expression"
11152 +msgstr "Fim prematuro da expressão regular"
11154 +#: posix/regcomp.c:182
11155 +msgid "Regular expression too big"
11156 +msgstr "Expressão regular muito longa"
11158 +#: posix/regcomp.c:185
11159 +msgid "Unmatched ) or \\)"
11160 +msgstr ") ou \\) descasados"
11162 +#: posix/regcomp.c:675
11163 +msgid "No previous regular expression"
11164 +msgstr "Não há expressão regular anterior"
11166 +#: posix/wordexp.c:1803
11167 +msgid "parameter null or not set"
11168 +msgstr "parâmetro nulo ou não definido"
11170 +#: resolv/herror.c:63
11171 +msgid "Resolver Error 0 (no error)"
11172 +msgstr "Erro de resolvedor 0 (não há erro)"
11174 +#: resolv/herror.c:64
11175 +msgid "Unknown host"
11176 +msgstr "Host desconhecido"
11178 +#: resolv/herror.c:65
11179 +msgid "Host name lookup failure"
11180 +msgstr "Falha na procura do nome de host"
11182 +#: resolv/herror.c:66
11183 +msgid "Unknown server error"
11184 +msgstr "Erro desconhecido de servidor"
11186 +#: resolv/herror.c:67
11187 +msgid "No address associated with name"
11188 +msgstr "Não há endereço associado com o nome"
11190 +#: resolv/herror.c:102
11191 +msgid "Resolver internal error"
11192 +msgstr "Erro interno do resolvedor"
11194 +#: resolv/herror.c:105
11195 +msgid "Unknown resolver error"
11196 +msgstr "Erro desconhecido do resolvedor"
11198 +#: resolv/res_hconf.c:118
11200 +msgid "%s: line %d: cannot specify more than %d trim domains"
11201 +msgstr "%s: linha %d: não é possível especificar mais de %d domínios"
11203 +#: resolv/res_hconf.c:139
11205 +msgid "%s: line %d: list delimiter not followed by domain"
11206 +msgstr "%s: linha %d: delimitador de lista não seguido pelo domínio"
11208 +#: resolv/res_hconf.c:176
11210 +msgid "%s: line %d: expected `on' or `off', found `%s'\n"
11211 +msgstr "%s: linha %d: esperava “on” ou “off”, encontrou “%s”\n"
11213 +#: resolv/res_hconf.c:219
11215 +msgid "%s: line %d: bad command `%s'\n"
11216 +msgstr "%s: linha %d: comando inválido “%s”\n"
11218 +#: resolv/res_hconf.c:252
11220 +msgid "%s: line %d: ignoring trailing garbage `%s'\n"
11221 +msgstr "%s: linha %d: ignorando lixo ao final “%s”\n"
11223 +#: stdio-common/psiginfo-data.h:2
11224 +msgid "Illegal opcode"
11225 +msgstr "Código de operação ilegal"
11227 +#: stdio-common/psiginfo-data.h:3
11228 +msgid "Illegal operand"
11229 +msgstr "Operando ilegal"
11231 +#: stdio-common/psiginfo-data.h:4
11232 +msgid "Illegal addressing mode"
11233 +msgstr "Modo de endereçamento ilegal"
11235 +#: stdio-common/psiginfo-data.h:5
11236 +msgid "Illegal trap"
11237 +msgstr "Armadilha ilegal"
11239 +#: stdio-common/psiginfo-data.h:6
11240 +msgid "Privileged opcode"
11241 +msgstr "Código de operação privilegiado"
11243 +#: stdio-common/psiginfo-data.h:7
11244 +msgid "Privileged register"
11245 +msgstr "Registrador privilegiado"
11247 +#: stdio-common/psiginfo-data.h:8
11248 +msgid "Coprocessor error"
11249 +msgstr "Erro do coprocessador"
11251 +#: stdio-common/psiginfo-data.h:9
11252 +msgid "Internal stack error"
11253 +msgstr "Erro interno da pilha"
11255 +#: stdio-common/psiginfo-data.h:12
11256 +msgid "Integer divide by zero"
11257 +msgstr "Divisão de inteiro por zero"
11259 +#: stdio-common/psiginfo-data.h:13
11260 +msgid "Integer overflow"
11261 +msgstr "Estouro de valor inteiro"
11263 +#: stdio-common/psiginfo-data.h:14
11264 +msgid "Floating-point divide by zero"
11265 +msgstr "Divisão de ponto flutuante por zero"
11267 +#: stdio-common/psiginfo-data.h:15
11268 +msgid "Floating-point overflow"
11269 +msgstr "Estouro de ponto flutuante"
11271 +#: stdio-common/psiginfo-data.h:16
11272 +msgid "Floating-point underflow"
11273 +msgstr "Estouro negativo de ponto flutuante"
11275 +#: stdio-common/psiginfo-data.h:17
11276 +msgid "Floating-poing inexact result"
11277 +msgstr "Resultado inexato de ponto flutuante"
11279 +#: stdio-common/psiginfo-data.h:18
11280 +msgid "Invalid floating-point operation"
11281 +msgstr "Operação inválida de ponto flutuante"
11283 +#: stdio-common/psiginfo-data.h:19
11284 +msgid "Subscript out of range"
11285 +msgstr "Subscrito fora da faixa"
11287 +#: stdio-common/psiginfo-data.h:22
11288 +msgid "Address not mapped to object"
11289 +msgstr "Endereço não mapeado ao objeto"
11291 +#: stdio-common/psiginfo-data.h:23
11292 +msgid "Invalid permissions for mapped object"
11293 +msgstr "Permissões inválidas para objeto mapeado"
11295 +#: stdio-common/psiginfo-data.h:26
11296 +msgid "Invalid address alignment"
11297 +msgstr "Alinhamento inválido de endereço"
11299 +#: stdio-common/psiginfo-data.h:27
11300 +msgid "Nonexisting physical address"
11301 +msgstr "Endereço físico inexistente"
11303 +#: stdio-common/psiginfo-data.h:28
11304 +msgid "Object-specific hardware error"
11305 +msgstr "Erro de hardware específico do objeto"
11307 +#: stdio-common/psiginfo-data.h:31
11308 +msgid "Process breakpoint"
11309 +msgstr "Ponto de interrupção de processo"
11311 +#: stdio-common/psiginfo-data.h:32
11312 +msgid "Process trace trap"
11313 +msgstr "Interrupção de rastreamento de processo"
11315 +#: stdio-common/psiginfo-data.h:35
11316 +msgid "Child has exited"
11317 +msgstr "Processo filho saiu"
11319 +#: stdio-common/psiginfo-data.h:36
11320 +msgid "Child has terminated abnormally and did not create a core file"
11321 +msgstr "Processo filho foi terminado anormalmente e não criou um arquivo de núcleo"
11323 +#: stdio-common/psiginfo-data.h:37
11324 +msgid "Child has terminated abnormally and created a core file"
11325 +msgstr "Processo filho foi terminado anormalmente e criou um arquivo de núcleo"
11327 +#: stdio-common/psiginfo-data.h:38
11328 +msgid "Traced child has trapped"
11329 +msgstr "Processo filho rastreado atingiu uma armadilha"
11331 +#: stdio-common/psiginfo-data.h:39
11332 +msgid "Child has stopped"
11333 +msgstr "Processo filho parou"
11335 +#: stdio-common/psiginfo-data.h:40
11336 +msgid "Stopped child has continued"
11337 +msgstr "Processo filho parado continuou"
11339 +#: stdio-common/psiginfo-data.h:43
11340 +msgid "Data input available"
11341 +msgstr "Entrada de dados disponível"
11343 +#: stdio-common/psiginfo-data.h:44
11344 +msgid "Output buffers available"
11345 +msgstr "Buffers de saída disponíveis"
11347 +#: stdio-common/psiginfo-data.h:45
11348 +msgid "Input message available"
11349 +msgstr "Mensagem de entrada disponível"
11351 +#: stdio-common/psiginfo-data.h:46 timezone/zdump.c:381 timezone/zic.c:520
11353 +msgstr "Erro de E/S"
11355 +#: stdio-common/psiginfo-data.h:47
11356 +msgid "High priority input available"
11357 +msgstr "Entrada de prioridade muito alta disponível"
11359 +#: stdio-common/psiginfo-data.h:48
11360 +msgid "Device disconnected"
11361 +msgstr "Dispositivo desconectado"
11363 +#: stdio-common/psiginfo.c:140
11364 +msgid "Signal sent by kill()"
11365 +msgstr "Sinal enviado por kill()"
11367 +#: stdio-common/psiginfo.c:143
11368 +msgid "Signal sent by sigqueue()"
11369 +msgstr "Sinal enviado por sigqueue()"
11371 +#: stdio-common/psiginfo.c:146
11372 +msgid "Signal generated by the expiration of a timer"
11373 +msgstr "Sinal gerado pela expiração de um temporizador"
11375 +#: stdio-common/psiginfo.c:149
11376 +msgid "Signal generated by the completion of an asynchronous I/O request"
11377 +msgstr "Sinal gerado pelo completamento de uma requisição assíncrona de E/S"
11379 +#: stdio-common/psiginfo.c:153
11380 +msgid "Signal generated by the arrival of a message on an empty message queue"
11381 +msgstr "Sinal gerado pela chegada de uma mensagem em uma pilhe de mensagens vazia"
11383 +#: stdio-common/psiginfo.c:158
11384 +msgid "Signal sent by tkill()"
11385 +msgstr "Sinal enviado por tkill()"
11387 +#: stdio-common/psiginfo.c:163
11388 +msgid "Signal generated by the completion of an asynchronous name lookup request"
11389 +msgstr "Sinal gerada pelo completamento de uma requisição assíncrona de procura de nome"
11391 +#: stdio-common/psiginfo.c:169
11392 +msgid "Signal generated by the completion of an I/O request"
11393 +msgstr "Sinal gerado pelo completamento de uma requisição de E/S"
11395 +#: stdio-common/psiginfo.c:175
11396 +msgid "Signal sent by the kernel"
11397 +msgstr "Sinal enviado pelo kernel"
11399 +#: stdio-common/psiginfo.c:199
11401 +msgid "Unknown signal %d\n"
11402 +msgstr "Sinal desconhecido %d\n"
11404 +#: stdio-common/psignal.c:43
11406 +msgid "%s%sUnknown signal %d\n"
11407 +msgstr "%s%sSinal desconhecido %d\n"
11409 +#: stdio-common/psignal.c:44
11410 +msgid "Unknown signal"
11411 +msgstr "Sinal desconhecido"
11413 +#: string/_strerror.c:45 sysdeps/mach/_strerror.c:86
11414 +msgid "Unknown error "
11415 +msgstr "Erro desconhecido "
11417 +#: string/strerror.c:41
11418 +msgid "Unknown error"
11419 +msgstr "Erro desconhecido"
11421 +#: string/strsignal.c:60
11423 +msgid "Real-time signal %d"
11424 +msgstr "Sinal de tempo-real %d"
11426 +#: string/strsignal.c:64
11428 +msgid "Unknown signal %d"
11429 +msgstr "Sinal desconhecido %d"
11431 +#: sunrpc/auth_unix.c:112 sunrpc/clnt_tcp.c:124 sunrpc/clnt_udp.c:139
11432 +#: sunrpc/clnt_unix.c:125 sunrpc/svc_tcp.c:189 sunrpc/svc_tcp.c:233
11433 +#: sunrpc/svc_udp.c:161 sunrpc/svc_unix.c:189 sunrpc/svc_unix.c:229
11434 +#: sunrpc/xdr.c:628 sunrpc/xdr.c:788 sunrpc/xdr_array.c:102
11435 +#: sunrpc/xdr_rec.c:153 sunrpc/xdr_ref.c:79
11436 +msgid "out of memory\n"
11437 +msgstr "memória insuficiente\n"
11439 +#: sunrpc/auth_unix.c:349
11440 +msgid "auth_unix.c: Fatal marshalling problem"
11441 +msgstr "auth_unix.c: Problema fatal de marshalling"
11443 +#: sunrpc/clnt_perr.c:96 sunrpc/clnt_perr.c:112
11445 +msgid "%s: %s; low version = %lu, high version = %lu"
11446 +msgstr "%s: %s; versão baixa = %lu, versão alta = %lu"
11448 +#: sunrpc/clnt_perr.c:103
11450 +msgid "%s: %s; why = %s\n"
11451 +msgstr "%s: %s; por que = %s\n"
11453 +#: sunrpc/clnt_perr.c:105
11455 +msgid "%s: %s; why = (unknown authentication error - %d)\n"
11456 +msgstr "%s: %s; por que = (erro desconhecido de autenticação – %d)\n"
11458 +#: sunrpc/clnt_perr.c:154
11459 +msgid "RPC: Success"
11460 +msgstr "RPC: Sucesso"
11462 +#: sunrpc/clnt_perr.c:157
11463 +msgid "RPC: Can't encode arguments"
11464 +msgstr "RPC: não foi possível codificar argumentos"
11466 +#: sunrpc/clnt_perr.c:161
11467 +msgid "RPC: Can't decode result"
11468 +msgstr "RPC: não foi possível decodificar resultado"
11470 +#: sunrpc/clnt_perr.c:165
11471 +msgid "RPC: Unable to send"
11472 +msgstr "RPC: não foi possível enviar"
11474 +#: sunrpc/clnt_perr.c:169
11475 +msgid "RPC: Unable to receive"
11476 +msgstr "RPC: não foi possível receber"
11478 +#: sunrpc/clnt_perr.c:173
11479 +msgid "RPC: Timed out"
11480 +msgstr "RPC: Tempo esgotado"
11482 +#: sunrpc/clnt_perr.c:177
11483 +msgid "RPC: Incompatible versions of RPC"
11484 +msgstr "RPC: Versões incompatíveis de RPC"
11486 +#: sunrpc/clnt_perr.c:181
11487 +msgid "RPC: Authentication error"
11488 +msgstr "RPC: Erro de autenticação"
11490 +#: sunrpc/clnt_perr.c:185
11491 +msgid "RPC: Program unavailable"
11492 +msgstr "RPC: Programa indisponível"
11494 +#: sunrpc/clnt_perr.c:189
11495 +msgid "RPC: Program/version mismatch"
11496 +msgstr "RPC: Programa/versão incompatíveis"
11498 +#: sunrpc/clnt_perr.c:193
11499 +msgid "RPC: Procedure unavailable"
11500 +msgstr "RPC: Procedimento indisponível"
11502 +#: sunrpc/clnt_perr.c:197
11503 +msgid "RPC: Server can't decode arguments"
11504 +msgstr "RPC: O servidor não pode decodificar os argumentos"
11506 +#: sunrpc/clnt_perr.c:201
11507 +msgid "RPC: Remote system error"
11508 +msgstr "RPC: Erro remoto de sistema"
11510 +#: sunrpc/clnt_perr.c:205
11511 +msgid "RPC: Unknown host"
11512 +msgstr "RPC: Host desconhecido"
11514 +#: sunrpc/clnt_perr.c:209
11515 +msgid "RPC: Unknown protocol"
11516 +msgstr "RPC: Protocolo desconhecido"
11518 +#: sunrpc/clnt_perr.c:213
11519 +msgid "RPC: Port mapper failure"
11520 +msgstr "RPC: Falha no Port mapper"
11522 +#: sunrpc/clnt_perr.c:217
11523 +msgid "RPC: Program not registered"
11524 +msgstr "RPC: Programa não registrado"
11526 +#: sunrpc/clnt_perr.c:221
11527 +msgid "RPC: Failed (unspecified error)"
11528 +msgstr "RPC: Falhou (erro não especificado)"
11530 +#: sunrpc/clnt_perr.c:262
11531 +msgid "RPC: (unknown error code)"
11532 +msgstr "RPC: (código de erro desconhecido)"
11534 +#: sunrpc/clnt_perr.c:334
11535 +msgid "Authentication OK"
11536 +msgstr "Autenticação OK"
11538 +#: sunrpc/clnt_perr.c:337
11539 +msgid "Invalid client credential"
11540 +msgstr "Credencial de cliente inválido"
11542 +#: sunrpc/clnt_perr.c:341
11543 +msgid "Server rejected credential"
11544 +msgstr "Servidor rejeitou credencial"
11546 +#: sunrpc/clnt_perr.c:345
11547 +msgid "Invalid client verifier"
11548 +msgstr "Verificador de cliente inválido"
11550 +#: sunrpc/clnt_perr.c:349
11551 +msgid "Server rejected verifier"
11552 +msgstr "Servidor rejeitou verificador"
11554 +#: sunrpc/clnt_perr.c:353
11555 +msgid "Client credential too weak"
11556 +msgstr "Credencial do cliente muito fraca"
11558 +#: sunrpc/clnt_perr.c:357
11559 +msgid "Invalid server verifier"
11560 +msgstr "Verificador de servidor inválido"
11562 +#: sunrpc/clnt_perr.c:361
11563 +msgid "Failed (unspecified error)"
11564 +msgstr "Falha (erro não especificado)"
11566 +#: sunrpc/clnt_raw.c:116
11567 +msgid "clnt_raw.c: fatal header serialization error"
11568 +msgstr "clnt_raw.c: erro fatal no cabeçalho de serialização"
11570 +#: sunrpc/pm_getmaps.c:78
11571 +msgid "pmap_getmaps.c: rpc problem"
11572 +msgstr "pmap_getmaps.c: problema de rpc"
11574 +#: sunrpc/pmap_clnt.c:128
11575 +msgid "Cannot register service"
11576 +msgstr "Não foi possível registrar serviço"
11578 +#: sunrpc/pmap_rmt.c:244
11579 +msgid "Cannot create socket for broadcast rpc"
11580 +msgstr "Não foi possível criar socket para rpc de broadcast"
11582 +#: sunrpc/pmap_rmt.c:251
11583 +msgid "Cannot set socket option SO_BROADCAST"
11584 +msgstr "Não foi possível usar opção do socket SO_BROADCAST"
11586 +#: sunrpc/pmap_rmt.c:303
11587 +msgid "Cannot send broadcast packet"
11588 +msgstr "Não foi possível enviar pacote de broadcast"
11590 +#: sunrpc/pmap_rmt.c:328
11591 +msgid "Broadcast poll problem"
11592 +msgstr "Problema na pesquisa de broadcast"
11594 +#: sunrpc/pmap_rmt.c:341
11595 +msgid "Cannot receive reply to broadcast"
11596 +msgstr "Não foi possível receber resposta para broadcast"
11598 +#: sunrpc/rpc_main.c:281
11600 +msgid "%s: output would overwrite %s\n"
11601 +msgstr "%s: saída poderá sobrescrever %s\n"
11603 +#: sunrpc/rpc_main.c:288
11605 +msgid "%s: unable to open %s: %m\n"
11606 +msgstr "%s: não foi possível abrir %s: %m\n"
11608 +#: sunrpc/rpc_main.c:300
11610 +msgid "%s: while writing output %s: %m"
11611 +msgstr "%s: ao escrever saída %s: %m"
11613 +#: sunrpc/rpc_main.c:336 sunrpc/rpc_main.c:375
11615 +msgid "cannot find C preprocessor: %s\n"
11616 +msgstr "não foi possível localizar pré-processador C: %s\n"
11618 +#: sunrpc/rpc_main.c:411
11620 +msgid "%s: C preprocessor failed with signal %d\n"
11621 +msgstr "%s: pré-processador C falhou com sinal %d\n"
11623 +#: sunrpc/rpc_main.c:414
11625 +msgid "%s: C preprocessor failed with exit code %d\n"
11626 +msgstr "%s: pré-processador C falhou com código de saída %d\n"
11628 +#: sunrpc/rpc_main.c:454
11630 +msgid "illegal nettype: `%s'\n"
11631 +msgstr "nettype ilegal: “%s”\n"
11633 +#: sunrpc/rpc_main.c:1089
11635 +msgid "rpcgen: too many defines\n"
11636 +msgstr "rpcgen: número excessivo de definições\n"
11638 +#: sunrpc/rpc_main.c:1101
11640 +msgid "rpcgen: arglist coding error\n"
11641 +msgstr "rpcgen: erro na codificação de parâmetros\n"
11643 +#. TRANS: the file will not be removed; this is an
11644 +#. TRANS: informative message.
11645 +#: sunrpc/rpc_main.c:1134
11647 +msgid "file `%s' already exists and may be overwritten\n"
11648 +msgstr "o arquivo “%s” já existe e pode ser sobrescrito\n"
11650 +#: sunrpc/rpc_main.c:1179
11652 +msgid "Cannot specify more than one input file!\n"
11653 +msgstr "Não é possível especificar mais de um arquivo de entrada!\n"
11655 +#: sunrpc/rpc_main.c:1349
11657 +msgid "This implementation doesn't support newstyle or MT-safe code!\n"
11658 +msgstr "Essa implementação não oferece suporte a código newstyle ou MT-safe!\n"
11660 +#: sunrpc/rpc_main.c:1358
11662 +msgid "Cannot use netid flag with inetd flag!\n"
11663 +msgstr "Não é possível usar tabela de indicadores com novo estilo!\n"
11665 +#: sunrpc/rpc_main.c:1367
11667 +msgid "Cannot use netid flag without TIRPC!\n"
11668 +msgstr "Não é possível usar indicador netid sem TIRPC!\n"
11670 +#: sunrpc/rpc_main.c:1374
11672 +msgid "Cannot use table flags with newstyle!\n"
11673 +msgstr "Não é possível usar indicadores de tabelas com novo estilo!\n"
11675 +#: sunrpc/rpc_main.c:1393
11677 +msgid "\"infile\" is required for template generation flags.\n"
11678 +msgstr "“arq-entrada” é necessário para geração de indicadores do modelo.\n"
11680 +#: sunrpc/rpc_main.c:1398
11682 +msgid "Cannot have more than one file generation flag!\n"
11683 +msgstr "Não é possível ter mais de um indicador de geração de arquivo!\n"
11685 +#: sunrpc/rpc_main.c:1407
11687 +msgid "usage: %s infile\n"
11688 +msgstr "uso: %s arq-entrada\n"
11690 +#: sunrpc/rpc_main.c:1408
11692 +msgid "\t%s [-abkCLNTM][-Dname[=value]] [-i size] [-I [-K seconds]] [-Y path] infile\n"
11693 +msgstr "\t%s [-abkCLNTM][-Dnome[=valor]] [-i tam] [-I [-K segs]] [-Y rota] arq-entrada\n"
11695 +#: sunrpc/rpc_main.c:1410
11697 +msgid "\t%s [-c | -h | -l | -m | -t | -Sc | -Ss | -Sm] [-o outfile] [infile]\n"
11698 +msgstr "\t%s [-c | -h | -l | -m | -t | -Sc | -Ss | -Sm] [-o arq-saída] [arq-entrada]\n"
11700 +#: sunrpc/rpc_main.c:1412
11702 +msgid "\t%s [-s nettype]* [-o outfile] [infile]\n"
11703 +msgstr "\t%s [-s tipo-rede]* [-o arq-saída] [arq-entrada]\n"
11705 +#: sunrpc/rpc_main.c:1413
11707 +msgid "\t%s [-n netid]* [-o outfile] [infile]\n"
11708 +msgstr "\t%s [-n id-rede]* [-o arq-saída] [arq-entrada]\n"
11710 +#: sunrpc/rpc_main.c:1421
11712 +msgid "options:\n"
11713 +msgstr "opções:\n"
11715 +#: sunrpc/rpc_main.c:1422
11717 +msgid "-a\t\tgenerate all files, including samples\n"
11718 +msgstr "-a\t\tgera todos arquivos, incluindo amostras\n"
11720 +#: sunrpc/rpc_main.c:1423
11722 +msgid "-b\t\tbackward compatibility mode (generates code for SunOS 4.1)\n"
11723 +msgstr "-b\t\tmodo de compatibilidade reversa (gera código para SunOS 4.1)\n"
11725 +#: sunrpc/rpc_main.c:1424
11727 +msgid "-c\t\tgenerate XDR routines\n"
11728 +msgstr "-c\t\tgera rotinas XDR\n"
11730 +#: sunrpc/rpc_main.c:1425
11732 +msgid "-C\t\tANSI C mode\n"
11733 +msgstr "-C\t\tmodo ANSI C\n"
11735 +#: sunrpc/rpc_main.c:1426
11737 +msgid "-Dname[=value]\tdefine a symbol (same as #define)\n"
11738 +msgstr "-Dnome[=valor]\tdefine um símbolo (mesmos que #define)\n"
11740 +#: sunrpc/rpc_main.c:1427
11742 +msgid "-h\t\tgenerate header file\n"
11743 +msgstr "-h\t\tgera arquivo de cabeçalho\n"
11745 +#: sunrpc/rpc_main.c:1428
11747 +msgid "-i size\t\tsize at which to start generating inline code\n"
11748 +msgstr "-i tamanho\ttamanho no qual se inicia geração de código em linha\n"
11750 +#: sunrpc/rpc_main.c:1429
11752 +msgid "-I\t\tgenerate code for inetd support in server (for SunOS 4.1)\n"
11753 +msgstr "-I\t\tgera código para suporte inetd em servidor (para SunOS 4.1)\n"
11755 +#: sunrpc/rpc_main.c:1430
11757 +msgid "-K seconds\tserver exits after K seconds of inactivity\n"
11758 +msgstr "-K segundos\tservidor sai após K segundos de inatividade\n"
11760 +#: sunrpc/rpc_main.c:1431
11762 +msgid "-l\t\tgenerate client side stubs\n"
11763 +msgstr "-l\t\tgera stubs do lado do cliente\n"
11765 +#: sunrpc/rpc_main.c:1432
11767 +msgid "-L\t\tserver errors will be printed to syslog\n"
11768 +msgstr "-L\t\terros de servidor serão imprimidos ao syslog\n"
11770 +#: sunrpc/rpc_main.c:1433
11772 +msgid "-m\t\tgenerate server side stubs\n"
11773 +msgstr "-l\t\tgera stubs do lado do servidor\n"
11775 +#: sunrpc/rpc_main.c:1434
11777 +msgid "-M\t\tgenerate MT-safe code\n"
11778 +msgstr "-M\t\tgera código MT-safe\n"
11780 +#: sunrpc/rpc_main.c:1435
11782 +msgid "-n netid\tgenerate server code that supports named netid\n"
11783 +msgstr "-n id-rede\tgera código de servidor que aceita o id-rede nomeado\n"
11785 +#: sunrpc/rpc_main.c:1436
11787 +msgid "-N\t\tsupports multiple arguments and call-by-value\n"
11788 +msgstr "-N\t\taceita múltiplos argumentos de chamadas por valor\n"
11790 +#: sunrpc/rpc_main.c:1437
11792 +msgid "-o outfile\tname of the output file\n"
11793 +msgstr "-o arq-saída\tnome do arquivo de saída\n"
11795 +#: sunrpc/rpc_main.c:1438
11797 +msgid "-s nettype\tgenerate server code that supports named nettype\n"
11798 +msgstr "-s tipo-rede\tgera código de servidor que aceita o tipo-rede nomeado\n"
11800 +#: sunrpc/rpc_main.c:1439
11802 +msgid "-Sc\t\tgenerate sample client code that uses remote procedures\n"
11803 +msgstr "-Sc\t\tgera amostra de código cliente que usa procedimentos remotos\n"
11805 +#: sunrpc/rpc_main.c:1440
11807 +msgid "-Ss\t\tgenerate sample server code that defines remote procedures\n"
11808 +msgstr "-Ss\t\tgera amostra de código servidor que define procedimentos remotos\n"
11810 +#: sunrpc/rpc_main.c:1441
11812 +msgid "-Sm \t\tgenerate makefile template \n"
11813 +msgstr "-Sm \t\tgera modelo de makefile \n"
11815 +#: sunrpc/rpc_main.c:1442
11817 +msgid "-t\t\tgenerate RPC dispatch table\n"
11818 +msgstr "-t\t\tgera tabela de expedição RPC\n"
11820 +#: sunrpc/rpc_main.c:1443
11822 +msgid "-T\t\tgenerate code to support RPC dispatch tables\n"
11823 +msgstr "-T\t\tgera código para lidar com tabelas de expedição RPC\n"
11825 +#: sunrpc/rpc_main.c:1444
11827 +msgid "-Y path\t\tdirectory name to find C preprocessor (cpp)\n"
11828 +msgstr "-Y rota\t\tnome do diretório para localizar pré-processador C (cpp)\n"
11830 +#: sunrpc/rpc_main.c:1445
11832 +msgid "-5\t\tSysVr4 compatibility mode\n"
11833 +msgstr "-5\t\tmodo de compatibilidade com SysVr4\n"
11835 +#: sunrpc/rpc_main.c:1446
11837 +msgid "--help\t\tgive this help list\n"
11838 +msgstr "--help\t\tfornece essa lista de ajuda\n"
11840 +#: sunrpc/rpc_main.c:1447
11842 +msgid "--version\tprint program version\n"
11843 +msgstr "--version\temite a versão do programa\n"
11845 +#: sunrpc/rpc_main.c:1449
11849 +"For bug reporting instructions, please see:\n"
11853 +"Para instruções sobre relatório de erro, veja:\n"
11856 +#: sunrpc/rpc_scan.c:112
11857 +msgid "constant or identifier expected"
11858 +msgstr "identificador ou constante esperado"
11860 +#: sunrpc/rpc_scan.c:308
11861 +msgid "illegal character in file: "
11862 +msgstr "caracteres ilegais no arquivo: "
11864 +#: sunrpc/rpc_scan.c:347 sunrpc/rpc_scan.c:373
11865 +msgid "unterminated string constant"
11866 +msgstr "constante string não terminada"
11868 +#: sunrpc/rpc_scan.c:379
11869 +msgid "empty char string"
11870 +msgstr "cadeia de caractere vazia"
11872 +#: sunrpc/rpc_scan.c:521 sunrpc/rpc_scan.c:531
11873 +msgid "preprocessor error"
11874 +msgstr "Erro de pré-processador"
11876 +#: sunrpc/svc_run.c:72
11877 +msgid "svc_run: - out of memory"
11878 +msgstr "svc_run: – memória insuficiente"
11880 +#: sunrpc/svc_run.c:92
11881 +msgid "svc_run: - poll failed"
11882 +msgstr "svc_run: – poll falhou"
11884 +#: sunrpc/svc_simple.c:80
11886 +msgid "can't reassign procedure number %ld\n"
11887 +msgstr "não é possível reatribuir número de procedimento %ld\n"
11889 +#: sunrpc/svc_simple.c:90
11890 +msgid "couldn't create an rpc server\n"
11891 +msgstr "não foi possível criar um servidor rpc\n"
11893 +#: sunrpc/svc_simple.c:98
11895 +msgid "couldn't register prog %ld vers %ld\n"
11896 +msgstr "não foi possível registrar prog %ld vers %ld\n"
11898 +#: sunrpc/svc_simple.c:106
11899 +msgid "registerrpc: out of memory\n"
11900 +msgstr "registerrpc: memória insuficiente\n"
11902 +#: sunrpc/svc_simple.c:169
11904 +msgid "trouble replying to prog %d\n"
11905 +msgstr "problemas ao responder ao prog %d\n"
11907 +#: sunrpc/svc_simple.c:178
11909 +msgid "never registered prog %d\n"
11910 +msgstr "prog %d nunca registrado\n"
11912 +#: sunrpc/svc_tcp.c:165
11913 +msgid "svc_tcp.c - tcp socket creation problem"
11914 +msgstr "svc_tcp_.c – problema na criação do soquete AF_UNIX"
11916 +#: sunrpc/svc_tcp.c:180
11917 +msgid "svc_tcp.c - cannot getsockname or listen"
11918 +msgstr "svc_tcp_.c – não foi possível receber getsocknome ou listen"
11920 +#: sunrpc/svc_udp.c:136
11921 +msgid "svcudp_create: socket creation problem"
11922 +msgstr "svcudp_create: problema na criação socket"
11924 +#: sunrpc/svc_udp.c:150
11925 +msgid "svcudp_create - cannot getsockname"
11926 +msgstr "svcudp_create – não foi possível getsockname"
11928 +#: sunrpc/svc_udp.c:182
11929 +msgid "svcudp_create: xp_pad is too small for IP_PKTINFO\n"
11930 +msgstr "svcudp_create: xp_pad é pequeno demais para IP_PKTINFO\n"
11932 +#: sunrpc/svc_udp.c:481
11933 +msgid "enablecache: cache already enabled"
11934 +msgstr "enablecache: cache já ativado"
11936 +#: sunrpc/svc_udp.c:487
11937 +msgid "enablecache: could not allocate cache"
11938 +msgstr "enablecache: não foi possível alocar cache"
11940 +#: sunrpc/svc_udp.c:496
11941 +msgid "enablecache: could not allocate cache data"
11942 +msgstr "enablecache: não foi possível alocar dados do cache"
11944 +#: sunrpc/svc_udp.c:504
11945 +msgid "enablecache: could not allocate cache fifo"
11946 +msgstr "enablecache: não foi possível alocar fifo de cache"
11948 +#: sunrpc/svc_udp.c:540
11949 +msgid "cache_set: victim not found"
11950 +msgstr "cache_set: vítima não localizada"
11952 +#: sunrpc/svc_udp.c:551
11953 +msgid "cache_set: victim alloc failed"
11954 +msgstr "cache_set: alocação de vítima falhou"
11956 +#: sunrpc/svc_udp.c:558
11957 +msgid "cache_set: could not allocate new rpc_buffer"
11958 +msgstr "cache_set: não foi possível alocar novo rpc_buffer"
11960 +#: sunrpc/svc_unix.c:163
11961 +msgid "svc_unix.c - AF_UNIX socket creation problem"
11962 +msgstr "svc_tcp_.c – problema na criação do soquete AF_UNIX"
11964 +#: sunrpc/svc_unix.c:179
11965 +msgid "svc_unix.c - cannot getsockname or listen"
11966 +msgstr "svc_tcp_.c – não foi possível receber getsocknome ou listen"
11968 +#: sysdeps/generic/siglist.h:29
11970 +msgstr "Desconexão"
11972 +#: sysdeps/generic/siglist.h:30
11974 +msgstr "Interrupção"
11976 +#: sysdeps/generic/siglist.h:31
11980 +#: sysdeps/generic/siglist.h:32
11981 +msgid "Illegal instruction"
11982 +msgstr "Instrução ilegal"
11984 +#: sysdeps/generic/siglist.h:33
11985 +msgid "Trace/breakpoint trap"
11986 +msgstr "Trace/breakpoint trap"
11988 +#: sysdeps/generic/siglist.h:34
11992 +#: sysdeps/generic/siglist.h:35
11993 +msgid "Floating point exception"
11994 +msgstr "Exceção de ponto flutuante"
11996 +#: sysdeps/generic/siglist.h:36
12000 +#: sysdeps/generic/siglist.h:37
12002 +msgstr "Erro no barramento"
12004 +#: sysdeps/generic/siglist.h:38
12005 +msgid "Bad system call"
12006 +msgstr "Chamada de sistema inválida"
12008 +#: sysdeps/generic/siglist.h:39
12009 +msgid "Segmentation fault"
12010 +msgstr "Falha de segmentação"
12012 +#. TRANS There is no process reading from the other end of a pipe.
12013 +#. TRANS Every library function that returns this error code also generates a
12014 +#. TRANS @code{SIGPIPE} signal; this signal terminates the program if not handled
12015 +#. TRANS or blocked. Thus, your program will never actually see @code{EPIPE}
12016 +#. TRANS unless it has handled or blocked @code{SIGPIPE}.
12017 +#: sysdeps/generic/siglist.h:40 sysdeps/gnu/errlist.c:360
12018 +msgid "Broken pipe"
12019 +msgstr "Pipe quebrado"
12021 +#: sysdeps/generic/siglist.h:41
12022 +msgid "Alarm clock"
12023 +msgstr "Alarme de tempo"
12025 +#: sysdeps/generic/siglist.h:42
12026 +msgid "Terminated"
12027 +msgstr "Terminado"
12029 +#: sysdeps/generic/siglist.h:43
12030 +msgid "Urgent I/O condition"
12031 +msgstr "Condição urgente de E/S"
12033 +#: sysdeps/generic/siglist.h:44
12034 +msgid "Stopped (signal)"
12035 +msgstr "Parado (sinal)"
12037 +#: sysdeps/generic/siglist.h:45
12041 +#: sysdeps/generic/siglist.h:46
12045 +#: sysdeps/generic/siglist.h:47
12046 +msgid "Child exited"
12047 +msgstr "Filho finalizado"
12049 +#: sysdeps/generic/siglist.h:48
12050 +msgid "Stopped (tty input)"
12051 +msgstr "Parado (entrada tty)"
12053 +#: sysdeps/generic/siglist.h:49
12054 +msgid "Stopped (tty output)"
12055 +msgstr "Parado (saída tty)"
12057 +#: sysdeps/generic/siglist.h:50
12058 +msgid "I/O possible"
12059 +msgstr "Possível E/S"
12061 +#: sysdeps/generic/siglist.h:51
12062 +msgid "CPU time limit exceeded"
12063 +msgstr "Tempo de CPU excedido"
12065 +#: sysdeps/generic/siglist.h:52
12066 +msgid "File size limit exceeded"
12067 +msgstr "Excedido tamanho limite de arquivo"
12069 +#: sysdeps/generic/siglist.h:53
12070 +msgid "Virtual timer expired"
12071 +msgstr "Temporizador virtual expirado"
12073 +#: sysdeps/generic/siglist.h:54
12074 +msgid "Profiling timer expired"
12075 +msgstr "Tempo expirado para perfilamento"
12077 +#: sysdeps/generic/siglist.h:55
12078 +msgid "User defined signal 1"
12079 +msgstr "Sinal 1 definido pelo usuário"
12081 +#: sysdeps/generic/siglist.h:56
12082 +msgid "User defined signal 2"
12083 +msgstr "Sinal 2 definido pelo usuário"
12085 +#: sysdeps/generic/siglist.h:57
12086 +msgid "Window changed"
12087 +msgstr "Janela alterada"
12089 +#: sysdeps/generic/siglist.h:61
12093 +#: sysdeps/generic/siglist.h:64
12094 +msgid "Stack fault"
12095 +msgstr "Falha de pilha"
12097 +#: sysdeps/generic/siglist.h:67
12098 +msgid "Power failure"
12099 +msgstr "Falha de energia"
12101 +#: sysdeps/generic/siglist.h:70
12102 +msgid "Information request"
12103 +msgstr "Requisição de informação"
12105 +#: sysdeps/generic/siglist.h:73
12106 +msgid "Resource lost"
12107 +msgstr "Recurso perdido"
12109 +#. TRANS Only the owner of the file (or other resource)
12110 +#. TRANS or processes with special privileges can perform the operation.
12111 +#: sysdeps/gnu/errlist.c:26
12112 +msgid "Operation not permitted"
12113 +msgstr "Operação não permitida"
12115 +#. TRANS No process matches the specified process ID.
12116 +#: sysdeps/gnu/errlist.c:46
12117 +msgid "No such process"
12118 +msgstr "Processo inexistente"
12120 +#. TRANS An asynchronous signal occurred and prevented
12121 +#. TRANS completion of the call. When this happens, you should try the call
12124 +#. TRANS You can choose to have functions resume after a signal that is handled,
12125 +#. TRANS rather than failing with @code{EINTR}; see @ref{Interrupted
12126 +#. TRANS Primitives}.
12127 +#: sysdeps/gnu/errlist.c:61
12128 +msgid "Interrupted system call"
12129 +msgstr "Chamada de sistema interrompida"
12131 +#. TRANS Usually used for physical read or write errors.
12132 +#: sysdeps/gnu/errlist.c:70
12133 +msgid "Input/output error"
12134 +msgstr "Erro de entrada/saída"
12136 +#. TRANS The system tried to use the device
12137 +#. TRANS represented by a file you specified, and it couldn't find the device.
12138 +#. TRANS This can mean that the device file was installed incorrectly, or that
12139 +#. TRANS the physical device is missing or not correctly attached to the
12140 +#. TRANS computer.
12141 +#: sysdeps/gnu/errlist.c:83
12142 +msgid "No such device or address"
12143 +msgstr "Endereço ou dispositivo inexistente"
12145 +#. TRANS Used when the arguments passed to a new program
12146 +#. TRANS being executed with one of the @code{exec} functions (@pxref{Executing a
12147 +#. TRANS File}) occupy too much memory space. This condition never arises on
12148 +#. TRANS @gnuhurdsystems{}.
12149 +#: sysdeps/gnu/errlist.c:95
12150 +msgid "Argument list too long"
12151 +msgstr "Lista de argumentos muito longa"
12153 +#. TRANS Invalid executable file format. This condition is detected by the
12154 +#. TRANS @code{exec} functions; see @ref{Executing a File}.
12155 +#: sysdeps/gnu/errlist.c:105
12156 +msgid "Exec format error"
12157 +msgstr "Erro no formato exec"
12159 +#. TRANS For example, I/O on a descriptor that has been
12160 +#. TRANS closed or reading from a descriptor open only for writing (or vice
12162 +#: sysdeps/gnu/errlist.c:116
12163 +msgid "Bad file descriptor"
12164 +msgstr "Descritor de arquivo inválido"
12166 +#. TRANS This error happens on operations that are
12167 +#. TRANS supposed to manipulate child processes, when there aren't any processes
12168 +#. TRANS to manipulate.
12169 +#: sysdeps/gnu/errlist.c:127
12170 +msgid "No child processes"
12171 +msgstr "Não há processos filhos"
12173 +#. TRANS Allocating a system resource would have resulted in a
12174 +#. TRANS deadlock situation. The system does not guarantee that it will notice
12175 +#. TRANS all such situations. This error means you got lucky and the system
12176 +#. TRANS noticed; it might just hang. @xref{File Locks}, for an example.
12177 +#: sysdeps/gnu/errlist.c:139
12178 +msgid "Resource deadlock avoided"
12179 +msgstr "Evitado deadlock de recurso"
12181 +#. TRANS The system cannot allocate more virtual memory
12182 +#. TRANS because its capacity is full.
12183 +#: sysdeps/gnu/errlist.c:149
12184 +msgid "Cannot allocate memory"
12185 +msgstr "Não foi possível alocar memória"
12187 +#. TRANS An invalid pointer was detected.
12188 +#. TRANS On @gnuhurdsystems{}, this error never happens; you get a signal instead.
12189 +#: sysdeps/gnu/errlist.c:168
12190 +msgid "Bad address"
12191 +msgstr "Endereço inválido"
12193 +#. TRANS A file that isn't a block special file was given in a situation that
12194 +#. TRANS requires one. For example, trying to mount an ordinary file as a file
12195 +#. TRANS system in Unix gives this error.
12196 +#: sysdeps/gnu/errlist.c:179
12197 +msgid "Block device required"
12198 +msgstr "Dispositivo de bloco requerido"
12200 +#. TRANS A system resource that can't be shared is already in use.
12201 +#. TRANS For example, if you try to delete a file that is the root of a currently
12202 +#. TRANS mounted filesystem, you get this error.
12203 +#: sysdeps/gnu/errlist.c:190
12204 +msgid "Device or resource busy"
12205 +msgstr "Dispositivo ou recurso está ocupado"
12207 +#. TRANS An existing file was specified in a context where it only
12208 +#. TRANS makes sense to specify a new file.
12209 +#: sysdeps/gnu/errlist.c:200
12210 +msgid "File exists"
12211 +msgstr "Arquivo existe"
12213 +#. TRANS An attempt to make an improper link across file systems was detected.
12214 +#. TRANS This happens not only when you use @code{link} (@pxref{Hard Links}) but
12215 +#. TRANS also when you rename a file with @code{rename} (@pxref{Renaming Files}).
12216 +#: sysdeps/gnu/errlist.c:211
12217 +msgid "Invalid cross-device link"
12218 +msgstr "Link entre dispositivos inválido"
12220 +#. TRANS The wrong type of device was given to a function that expects a
12221 +#. TRANS particular sort of device.
12222 +#: sysdeps/gnu/errlist.c:221
12223 +msgid "No such device"
12224 +msgstr "Dispositivo inexistente"
12226 +#. TRANS A file that isn't a directory was specified when a directory is required.
12227 +#: sysdeps/gnu/errlist.c:230
12228 +msgid "Not a directory"
12229 +msgstr "Não é um diretório"
12231 +#. TRANS You cannot open a directory for writing,
12232 +#. TRANS or create or remove hard links to it.
12233 +#: sysdeps/gnu/errlist.c:240
12234 +msgid "Is a directory"
12235 +msgstr "É um diretório"
12237 +#. TRANS This is used to indicate various kinds of problems
12238 +#. TRANS with passing the wrong argument to a library function.
12239 +#: sysdeps/gnu/errlist.c:250
12240 +msgid "Invalid argument"
12241 +msgstr "Argumento inválido"
12243 +#. TRANS The current process has too many files open and can't open any more.
12244 +#. TRANS Duplicate descriptors do count toward this limit.
12246 +#. TRANS In BSD and GNU, the number of open files is controlled by a resource
12247 +#. TRANS limit that can usually be increased. If you get this error, you might
12248 +#. TRANS want to increase the @code{RLIMIT_NOFILE} limit or make it unlimited;
12249 +#. TRANS @pxref{Limits on Resources}.
12250 +#: sysdeps/gnu/errlist.c:265
12251 +msgid "Too many open files"
12252 +msgstr "Muitos arquivos abertos"
12254 +#. TRANS There are too many distinct file openings in the entire system. Note
12255 +#. TRANS that any number of linked channels count as just one file opening; see
12256 +#. TRANS @ref{Linked Channels}. This error never occurs on @gnuhurdsystems{}.
12257 +#: sysdeps/gnu/errlist.c:276
12258 +msgid "Too many open files in system"
12259 +msgstr "Muitos arquivos abertos no sistema"
12261 +#. TRANS Inappropriate I/O control operation, such as trying to set terminal
12262 +#. TRANS modes on an ordinary file.
12263 +#: sysdeps/gnu/errlist.c:286
12264 +msgid "Inappropriate ioctl for device"
12265 +msgstr "ioctl inapropriado para dispositivo"
12267 +#. TRANS An attempt to execute a file that is currently open for writing, or
12268 +#. TRANS write to a file that is currently being executed. Often using a
12269 +#. TRANS debugger to run a program is considered having it open for writing and
12270 +#. TRANS will cause this error. (The name stands for ``text file busy''.) This
12271 +#. TRANS is not an error on @gnuhurdsystems{}; the text is copied as necessary.
12272 +#: sysdeps/gnu/errlist.c:299
12273 +msgid "Text file busy"
12274 +msgstr "Área de texto ocupada"
12276 +#. TRANS The size of a file would be larger than allowed by the system.
12277 +#: sysdeps/gnu/errlist.c:308
12278 +msgid "File too large"
12279 +msgstr "Arquivo muito grande"
12281 +#. TRANS Write operation on a file failed because the
12282 +#. TRANS disk is full.
12283 +#: sysdeps/gnu/errlist.c:318
12284 +msgid "No space left on device"
12285 +msgstr "Não há espaço disponível no dispositivo"
12287 +#. TRANS Invalid seek operation (such as on a pipe).
12288 +#: sysdeps/gnu/errlist.c:327
12289 +msgid "Illegal seek"
12290 +msgstr "Procura ilegal"
12292 +#. TRANS An attempt was made to modify something on a read-only file system.
12293 +#: sysdeps/gnu/errlist.c:336
12294 +msgid "Read-only file system"
12295 +msgstr "Sistema de arquivos somente para leitura"
12297 +#. TRANS The link count of a single file would become too large.
12298 +#. TRANS @code{rename} can cause this error if the file being renamed already has
12299 +#. TRANS as many links as it can take (@pxref{Renaming Files}).
12300 +#: sysdeps/gnu/errlist.c:347
12301 +msgid "Too many links"
12302 +msgstr "Muitos links"
12304 +#. TRANS Used by mathematical functions when an argument value does
12305 +#. TRANS not fall into the domain over which the function is defined.
12306 +#: sysdeps/gnu/errlist.c:370
12307 +msgid "Numerical argument out of domain"
12308 +msgstr "Argumento numérico fora de domínio"
12310 +#. TRANS Used by mathematical functions when the result value is
12311 +#. TRANS not representable because of overflow or underflow.
12312 +#: sysdeps/gnu/errlist.c:380
12313 +msgid "Numerical result out of range"
12314 +msgstr "Resultado numérico fora de alcance"
12316 +#. TRANS The call might work if you try again
12317 +#. TRANS later. The macro @code{EWOULDBLOCK} is another name for @code{EAGAIN};
12318 +#. TRANS they are always the same in @theglibc{}.
12320 +#. TRANS This error can happen in a few different situations:
12322 +#. TRANS @itemize @bullet
12324 +#. TRANS An operation that would block was attempted on an object that has
12325 +#. TRANS non-blocking mode selected. Trying the same operation again will block
12326 +#. TRANS until some external condition makes it possible to read, write, or
12327 +#. TRANS connect (whatever the operation). You can use @code{select} to find out
12328 +#. TRANS when the operation will be possible; @pxref{Waiting for I/O}.
12330 +#. TRANS @strong{Portability Note:} In many older Unix systems, this condition
12331 +#. TRANS was indicated by @code{EWOULDBLOCK}, which was a distinct error code
12332 +#. TRANS different from @code{EAGAIN}. To make your program portable, you should
12333 +#. TRANS check for both codes and treat them the same.
12336 +#. TRANS A temporary resource shortage made an operation impossible. @code{fork}
12337 +#. TRANS can return this error. It indicates that the shortage is expected to
12338 +#. TRANS pass, so your program can try the call again later and it may succeed.
12339 +#. TRANS It is probably a good idea to delay for a few seconds before trying it
12340 +#. TRANS again, to allow time for other processes to release scarce resources.
12341 +#. TRANS Such shortages are usually fairly serious and affect the whole system,
12342 +#. TRANS so usually an interactive program should report the error to the user
12343 +#. TRANS and return to its command loop.
12344 +#. TRANS @end itemize
12345 +#: sysdeps/gnu/errlist.c:417
12346 +msgid "Resource temporarily unavailable"
12347 +msgstr "Recurso temporariamente indisponível"
12349 +#. TRANS In @theglibc{}, this is another name for @code{EAGAIN} (above).
12350 +#. TRANS The values are always the same, on every operating system.
12352 +#. TRANS C libraries in many older Unix systems have @code{EWOULDBLOCK} as a
12353 +#. TRANS separate error code.
12354 +#: sysdeps/gnu/errlist.c:430
12355 +msgid "Operation would block"
12356 +msgstr "Operation causaria bloqueio"
12358 +#. TRANS An operation that cannot complete immediately was initiated on an object
12359 +#. TRANS that has non-blocking mode selected. Some functions that must always
12360 +#. TRANS block (such as @code{connect}; @pxref{Connecting}) never return
12361 +#. TRANS @code{EAGAIN}. Instead, they return @code{EINPROGRESS} to indicate that
12362 +#. TRANS the operation has begun and will take some time. Attempts to manipulate
12363 +#. TRANS the object before the call completes return @code{EALREADY}. You can
12364 +#. TRANS use the @code{select} function to find out when the pending operation
12365 +#. TRANS has completed; @pxref{Waiting for I/O}.
12366 +#: sysdeps/gnu/errlist.c:446
12367 +msgid "Operation now in progress"
12368 +msgstr "Operação agora em progresso"
12370 +#. TRANS An operation is already in progress on an object that has non-blocking
12371 +#. TRANS mode selected.
12372 +#: sysdeps/gnu/errlist.c:456
12373 +msgid "Operation already in progress"
12374 +msgstr "Operação já em progresso"
12376 +#. TRANS A file that isn't a socket was specified when a socket is required.
12377 +#: sysdeps/gnu/errlist.c:465
12378 +msgid "Socket operation on non-socket"
12379 +msgstr "Operação socket em um arquivo não-socket"
12381 +#. TRANS The size of a message sent on a socket was larger than the supported
12382 +#. TRANS maximum size.
12383 +#: sysdeps/gnu/errlist.c:475
12384 +msgid "Message too long"
12385 +msgstr "Mensagem muito longa"
12387 +#. TRANS The socket type does not support the requested communications protocol.
12388 +#: sysdeps/gnu/errlist.c:484
12389 +msgid "Protocol wrong type for socket"
12390 +msgstr "Tipo errado de protocolo para socket"
12392 +#. TRANS You specified a socket option that doesn't make sense for the
12393 +#. TRANS particular protocol being used by the socket. @xref{Socket Options}.
12394 +#: sysdeps/gnu/errlist.c:494
12395 +msgid "Protocol not available"
12396 +msgstr "Protocolo não disponível"
12398 +#. TRANS The socket domain does not support the requested communications protocol
12399 +#. TRANS (perhaps because the requested protocol is completely invalid).
12400 +#. TRANS @xref{Creating a Socket}.
12401 +#: sysdeps/gnu/errlist.c:505
12402 +msgid "Protocol not supported"
12403 +msgstr "Protocolo sem suporte"
12405 +#. TRANS The socket type is not supported.
12406 +#: sysdeps/gnu/errlist.c:514
12407 +msgid "Socket type not supported"
12408 +msgstr "Tipo socket sem suporte"
12410 +#. TRANS The operation you requested is not supported. Some socket functions
12411 +#. TRANS don't make sense for all types of sockets, and others may not be
12412 +#. TRANS implemented for all communications protocols. On @gnuhurdsystems{}, this
12413 +#. TRANS error can happen for many calls when the object does not support the
12414 +#. TRANS particular operation; it is a generic indication that the server knows
12415 +#. TRANS nothing to do for that call.
12416 +#: sysdeps/gnu/errlist.c:528
12417 +msgid "Operation not supported"
12418 +msgstr "Operação sem suporte"
12420 +#. TRANS The socket communications protocol family you requested is not supported.
12421 +#: sysdeps/gnu/errlist.c:537
12422 +msgid "Protocol family not supported"
12423 +msgstr "Família de protocolo sem suporte"
12425 +#. TRANS The address family specified for a socket is not supported; it is
12426 +#. TRANS inconsistent with the protocol being used on the socket. @xref{Sockets}.
12427 +#: sysdeps/gnu/errlist.c:547
12428 +msgid "Address family not supported by protocol"
12429 +msgstr "Família de endereços sem suporte pelo protocolo"
12431 +#. TRANS The requested socket address is already in use. @xref{Socket Addresses}.
12432 +#: sysdeps/gnu/errlist.c:556
12433 +msgid "Address already in use"
12434 +msgstr "Endereço já em uso"
12436 +#. TRANS The requested socket address is not available; for example, you tried
12437 +#. TRANS to give a socket a name that doesn't match the local host name.
12438 +#. TRANS @xref{Socket Addresses}.
12439 +#: sysdeps/gnu/errlist.c:567
12440 +msgid "Cannot assign requested address"
12441 +msgstr "Não foi possível acessar o endereço requisitado"
12443 -#: iconv/iconv_prog.c:193
12445 -msgid "error while closing input `%s'"
12446 -msgstr "erro fechando entrada `%s'"
12447 +#. TRANS A socket operation failed because the network was down.
12448 +#: sysdeps/gnu/errlist.c:576
12449 +msgid "Network is down"
12450 +msgstr "A rede não responde"
12452 -#: iconv/iconv_prog.c:239
12453 -msgid "error while closing output file"
12454 -msgstr "erro fechando arquivo de saída"
12455 +#. TRANS A socket operation failed because the subnet containing the remote host
12456 +#. TRANS was unreachable.
12457 +#: sysdeps/gnu/errlist.c:586
12458 +msgid "Network is unreachable"
12459 +msgstr "A rede está fora de alcance"
12461 -#: elf/sprof.c:710
12462 -msgid "error while closing the profiling data file"
12463 -msgstr "erro fechando arquivo de dados de perfil"
12464 +#. TRANS A network connection was reset because the remote host crashed.
12465 +#: sysdeps/gnu/errlist.c:595
12466 +msgid "Network dropped connection on reset"
12467 +msgstr "A rede desconectou-se ao reiniciar"
12469 -#: locale/programs/ld-collate.c:1158
12470 -msgid "error while inserting collation element into hash table"
12471 -msgstr "erro enquanto inserindo elemento de comparação na tabela hash"
12472 +#. TRANS A network connection was aborted locally.
12473 +#: sysdeps/gnu/errlist.c:604
12474 +msgid "Software caused connection abort"
12475 +msgstr "Término de conexão causada por software"
12477 -#: locale/programs/ld-collate.c:1170
12478 -msgid "error while inserting to hash table"
12479 -msgstr "erro ao inserir na tabela hash"
12480 +#. TRANS A network connection was closed for reasons outside the control of the
12481 +#. TRANS local host, such as by the remote machine rebooting or an unrecoverable
12482 +#. TRANS protocol violation.
12483 +#: sysdeps/gnu/errlist.c:615
12484 +msgid "Connection reset by peer"
12485 +msgstr "Conexão fechada pela outra ponta"
12487 -#: iconv/iconv_prog.c:389 iconv/iconv_prog.c:420
12488 -msgid "error while reading the input"
12489 -msgstr "enquanto lendo entrada"
12490 +#. TRANS The kernel's buffers for I/O operations are all in use. In GNU, this
12491 +#. TRANS error is always synonymous with @code{ENOMEM}; you may get one or the
12492 +#. TRANS other from network operations.
12493 +#: sysdeps/gnu/errlist.c:626
12494 +msgid "No buffer space available"
12495 +msgstr "Não há espaço de buffer disponível"
12497 -#: locale/programs/locfile.c:595
12498 -msgid "expect string argument for `copy'"
12499 -msgstr "esperado argumento tipo string para `copy'"
12500 +#. TRANS You tried to connect a socket that is already connected.
12501 +#. TRANS @xref{Connecting}.
12502 +#: sysdeps/gnu/errlist.c:636
12503 +msgid "Transport endpoint is already connected"
12504 +msgstr "Ponto final de transporte já está conectado"
12506 -#: timezone/zic.c:868
12507 -msgid "expected continuation line not found"
12508 -msgstr "linha de continuação não foi localizada"
12509 +#. TRANS The socket is not connected to anything. You get this error when you
12510 +#. TRANS try to transmit data over a socket, without first specifying a
12511 +#. TRANS destination for the data. For a connectionless socket (for datagram
12512 +#. TRANS protocols, such as UDP), you get @code{EDESTADDRREQ} instead.
12513 +#: sysdeps/gnu/errlist.c:648
12514 +msgid "Transport endpoint is not connected"
12515 +msgstr "Ponto final de transporte não está conectado"
12517 -#: elf/sprof.c:408
12519 -msgid "failed to load shared object `%s'"
12520 -msgstr "falha no carregamento do objeto compartilhado `%s'"
12521 +#. TRANS No default destination address was set for the socket. You get this
12522 +#. TRANS error when you try to transmit data over a connectionless socket,
12523 +#. TRANS without first specifying a destination for the data with @code{connect}.
12524 +#: sysdeps/gnu/errlist.c:659
12525 +msgid "Destination address required"
12526 +msgstr "Endereço de destino requerido"
12528 -#: elf/sprof.c:604
12529 -msgid "failed to load symbol data"
12530 -msgstr "falha para carregar dados de símbolos"
12531 +#. TRANS The socket has already been shut down.
12532 +#: sysdeps/gnu/errlist.c:668
12533 +msgid "Cannot send after transport endpoint shutdown"
12534 +msgstr "Não é possível enviar após desligamento do ponto final de transporte"
12536 -#: elf/sprof.c:702
12537 -msgid "failed to mmap the profiling data file"
12538 -msgstr "falha para mapear (mmap) o arquivo de dados do perfil"
12539 +#: sysdeps/gnu/errlist.c:676
12540 +msgid "Too many references: cannot splice"
12541 +msgstr "Muitas referências: não é possível unir"
12543 -#: iconv/iconv_prog.c:147
12544 -msgid "failed to start conversion processing"
12545 -msgstr "falha para iniciar o processo de conversão"
12546 +#. TRANS A socket operation with a specified timeout received no response during
12547 +#. TRANS the timeout period.
12548 +#: sysdeps/gnu/errlist.c:686
12549 +msgid "Connection timed out"
12550 +msgstr "Tempo esgotado para conexão"
12552 -#: locale/programs/locfile.c:1154
12554 -msgid "failure while writing data for category `%s'"
12555 -msgstr "falha ao escrever dados para categoria `%s'"
12556 +#. TRANS A remote host refused to allow the network connection (typically because
12557 +#. TRANS it is not running the requested service).
12558 +#: sysdeps/gnu/errlist.c:696
12559 +msgid "Connection refused"
12560 +msgstr "Conexão recusada"
12562 -#: nis/nis_call.c:155
12563 -msgid "fcntl: F_SETFD"
12564 -msgstr "fcntl: F_SETFD"
12565 +#. TRANS Too many levels of symbolic links were encountered in looking up a file name.
12566 +#. TRANS This often indicates a cycle of symbolic links.
12567 +#: sysdeps/gnu/errlist.c:706
12568 +msgid "Too many levels of symbolic links"
12569 +msgstr "Muitos níveis de links simbólicos"
12571 -#: locale/programs/ld-monetary.c:163 locale/programs/ld-numeric.c:98
12573 -msgid "field `%s' in category `%s' not defined"
12574 -msgstr "campo `%s' na categoria `%s' não definido"
12575 +#. TRANS Filename too long (longer than @code{PATH_MAX}; @pxref{Limits for
12576 +#. TRANS Files}) or host name too long (in @code{gethostname} or
12577 +#. TRANS @code{sethostname}; @pxref{Host Identification}).
12578 +#: sysdeps/gnu/errlist.c:717
12579 +msgid "File name too long"
12580 +msgstr "Nome de arquivo muito longo"
12582 -#: locale/programs/ld-messages.c:86 locale/programs/ld-messages.c:110
12584 -msgid "field `%s' in category `%s' undefined"
12585 -msgstr "campo `%s' na categoria `%s' não definido"
12586 +#. TRANS The remote host for a requested network connection is down.
12587 +#: sysdeps/gnu/errlist.c:726
12588 +msgid "Host is down"
12589 +msgstr "Host está desligado"
12591 -#: sunrpc/rpc_main.c:1148
12593 -msgid "file '%s' already exists and may be overwritten\n"
12594 -msgstr "arquivo `%s' já existe e pode ser sobrescrito\n"
12595 +#. TRANS The remote host for a requested network connection is not reachable.
12596 +#: sysdeps/gnu/errlist.c:735
12597 +msgid "No route to host"
12598 +msgstr "Não há rota para o host"
12600 -#: locale/programs/locfile.c:677
12601 -msgid "from-value of `collating-element' must be a string"
12602 -msgstr "valor `from' do elemento de comparação deve ser uma string"
12603 +#. TRANS Directory not empty, where an empty directory was expected. Typically,
12604 +#. TRANS this error occurs when you are trying to delete a directory.
12605 +#: sysdeps/gnu/errlist.c:745
12606 +msgid "Directory not empty"
12607 +msgstr "Diretório não vazio"
12609 -#: inet/rcmd.c:316
12610 -msgid "fstat failed"
12611 -msgstr "falha em fstat"
12612 +#. TRANS This means that the per-user limit on new process would be exceeded by
12613 +#. TRANS an attempted @code{fork}. @xref{Limits on Resources}, for details on
12614 +#. TRANS the @code{RLIMIT_NPROC} limit.
12615 +#: sysdeps/gnu/errlist.c:756
12616 +msgid "Too many processes"
12617 +msgstr "Muitos processos"
12619 -#: locale/programs/linereader.c:333
12620 -msgid "garbage at end of character code specification"
12621 -msgstr "lixo no final da especificação do código de caracter"
12622 +#. TRANS The file quota system is confused because there are too many users.
12623 +#. TRANS @c This can probably happen in a GNU system when using NFS.
12624 +#: sysdeps/gnu/errlist.c:766
12625 +msgid "Too many users"
12626 +msgstr "Muitos usuários"
12628 -#: locale/programs/linereader.c:219
12629 -msgid "garbage at end of number"
12630 -msgstr "lixo no final do número"
12631 +#. TRANS The user's disk quota was exceeded.
12632 +#: sysdeps/gnu/errlist.c:775
12633 +msgid "Disk quota exceeded"
12634 +msgstr "Cota da disco excedida"
12636 +#. TRANS This indicates an internal confusion in the
12637 +#. TRANS file system which is due to file system rearrangements on the server host
12638 +#. TRANS for NFS file systems or corruption in other file systems.
12639 +#. TRANS Repairing this condition usually requires unmounting, possibly repairing
12640 +#. TRANS and remounting the file system.
12641 +#: sysdeps/gnu/errlist.c:788
12642 +msgid "Stale file handle"
12643 +msgstr "Manipulador de arquivo corrompido"
12645 -#: locale/programs/ld-time.c:195
12647 -msgid "garbage at end of offset value in string %d in `era' field in category `%s'"
12648 -msgstr "lixo no final do valor do deslocamento na string %d no campo `era', categoria `%s'"
12649 +#. TRANS An attempt was made to NFS-mount a remote file system with a file name that
12650 +#. TRANS already specifies an NFS-mounted file.
12651 +#. TRANS (This is an error on some operating systems, but we expect it to work
12652 +#. TRANS properly on @gnuhurdsystems{}, making this error code impossible.)
12653 +#: sysdeps/gnu/errlist.c:800
12654 +msgid "Object is remote"
12655 +msgstr "Objeto é remoto"
12657 -#: locale/programs/ld-time.c:252
12659 -msgid "garbage at end of starting date in string %d in `era' field in category `%s'"
12660 -msgstr "lixo no final da data de início na string %d no campo `era', categoria `%s'"
12661 +#: sysdeps/gnu/errlist.c:808
12662 +msgid "RPC struct is bad"
12663 +msgstr "Estrutura RPC inválida"
12665 -#: locale/programs/ld-time.c:328
12667 -msgid "garbage at end of stopping date in string %d in `era' field in category `%s'"
12668 -msgstr "lixo no final da data de parada na string %d no campo `era', categoria `%s'"
12669 +#: sysdeps/gnu/errlist.c:816
12670 +msgid "RPC version wrong"
12671 +msgstr "Versão RPC incorreta"
12674 -msgid "generate call graph"
12675 -msgstr "gera gráfico de chamadas"
12676 +#: sysdeps/gnu/errlist.c:824
12677 +msgid "RPC program not available"
12678 +msgstr "Programa RPC não disponível"
12681 -msgid "generate flat profile with counts and ticks"
12682 -msgstr "gera perfil com contadores e `ticks'"
12683 +#: sysdeps/gnu/errlist.c:832
12684 +msgid "RPC program version wrong"
12685 +msgstr "Versão incorreta de programa RPC"
12687 -#: sunrpc/get_myaddr.c:77
12688 -msgid "get_myaddress: ioctl (get interface configuration)"
12689 -msgstr "get_myaddress: ioctl (obtém configuração de interface)"
12690 +#: sysdeps/gnu/errlist.c:840
12691 +msgid "RPC bad procedure for program"
12692 +msgstr "Procedimento RPC ruim para programa"
12694 -#: nss/getent.c:53
12695 -msgid "getent - get entries from administrative database."
12696 -msgstr "getent - pega entrada da base de dados administrativa."
12697 +#. TRANS This is used by the file locking facilities; see
12698 +#. TRANS @ref{File Locks}. This error is never generated by @gnuhurdsystems{}, but
12699 +#. TRANS it can result from an operation to an NFS server running another
12700 +#. TRANS operating system.
12701 +#: sysdeps/gnu/errlist.c:852
12702 +msgid "No locks available"
12703 +msgstr "Não há travas disponíveis"
12705 -#: nscd/connections.c:200
12707 -msgid "handle_request: request received (Version = %d)"
12708 -msgstr "handle_request: requisição recebida (Versão = %d)"
12709 +#. TRANS The file was the wrong type for the
12710 +#. TRANS operation, or a data file had the wrong format.
12712 +#. TRANS On some systems @code{chmod} returns this error if you try to set the
12713 +#. TRANS sticky bit on a non-directory file; @pxref{Setting Permissions}.
12714 +#: sysdeps/gnu/errlist.c:865
12715 +msgid "Inappropriate file type or format"
12716 +msgstr "Tipo ou formato de arquivo inapropriado"
12718 -#: timezone/zic.c:613
12719 -msgid "hard link failed, symbolic link used"
12720 -msgstr "vínculo (link( falhou, vínculo simbólico usado"
12721 +#: sysdeps/gnu/errlist.c:873
12722 +msgid "Authentication error"
12723 +msgstr "Erro de autenticação"
12725 -#: inet/rcmd.c:322
12726 -msgid "hard linked somewhere"
12727 -msgstr "vinculo (hard linked) em algúm lugar"
12728 +#: sysdeps/gnu/errlist.c:881
12729 +msgid "Need authenticator"
12730 +msgstr "É necessário um autenticador"
12732 +#. TRANS This indicates that the function called is
12733 +#. TRANS not implemented at all, either in the C library itself or in the
12734 +#. TRANS operating system. When you get this error, you can be sure that this
12735 +#. TRANS particular function will always fail with @code{ENOSYS} unless you
12736 +#. TRANS install a new version of the C library or the operating system.
12737 +#: sysdeps/gnu/errlist.c:894
12738 +msgid "Function not implemented"
12739 +msgstr "Função não implementada"
12741 +#. TRANS A function returns this error when certain parameter
12742 +#. TRANS values are valid, but the functionality they request is not available.
12743 +#. TRANS This can mean that the function does not implement a particular command
12744 +#. TRANS or option value or flag bit at all. For functions that operate on some
12745 +#. TRANS object given in a parameter, such as a file descriptor or a port, it
12746 +#. TRANS might instead mean that only @emph{that specific object} (file
12747 +#. TRANS descriptor, port, etc.) is unable to support the other parameters given;
12748 +#. TRANS different file descriptors might support different ranges of parameter
12751 +#. TRANS If the entire function is not available at all in the implementation,
12752 +#. TRANS it returns @code{ENOSYS} instead.
12753 +#: sysdeps/gnu/errlist.c:914
12754 +msgid "Not supported"
12755 +msgstr "Não há suporte"
12757 -#: timezone/zic.c:1162
12758 -msgid "illegal CORRECTION field on Leap line"
12759 -msgstr "Campo CORRECTION ilegal em linha Leap (ajuste)"
12760 +#. TRANS While decoding a multibyte character the function came along an invalid
12761 +#. TRANS or an incomplete sequence of bytes or the given wide character is invalid.
12762 +#: sysdeps/gnu/errlist.c:924
12763 +msgid "Invalid or incomplete multibyte or wide character"
12764 +msgstr "Multibyte ou caractere largo inválido"
12766 -#: timezone/zic.c:1166
12767 -msgid "illegal Rolling/Stationary field on Leap line"
12768 -msgstr "campo Rolling/Stationary ilegal em linha Leap (ajuste)"
12769 +#. TRANS On @gnuhurdsystems{}, servers supporting the @code{term} protocol return
12770 +#. TRANS this error for certain operations when the caller is not in the
12771 +#. TRANS foreground process group of the terminal. Users do not usually see this
12772 +#. TRANS error because functions such as @code{read} and @code{write} translate
12773 +#. TRANS it into a @code{SIGTTIN} or @code{SIGTTOU} signal. @xref{Job Control},
12774 +#. TRANS for information on process groups and these signals.
12775 +#: sysdeps/gnu/errlist.c:938
12776 +msgid "Inappropriate operation for background process"
12777 +msgstr "Operação inapropriada para processo em background"
12779 -#: locale/programs/ld-collate.c:1782
12780 -msgid "illegal character constant in string"
12781 -msgstr "constante de caracteres ilegal na string"
12782 +#. TRANS On @gnuhurdsystems{}, opening a file returns this error when the file is
12783 +#. TRANS translated by a program and the translator program dies while starting
12784 +#. TRANS up, before it has connected to the file.
12785 +#: sysdeps/gnu/errlist.c:949
12786 +msgid "Translator died"
12787 +msgstr "Tradutor morto"
12789 -#: sunrpc/rpc_scan.c:311
12790 -msgid "illegal character in file: "
12791 -msgstr "caracteres ilegais no arquivo: "
12792 +#. TRANS The experienced user will know what is wrong.
12793 +#. TRANS @c This error code is a joke. Its perror text is part of the joke.
12794 +#. TRANS @c Don't change it.
12795 +#: sysdeps/gnu/errlist.c:960
12799 -#: locale/programs/ld-collate.c:1125
12800 -msgid "illegal collation element"
12801 -msgstr "elemento de comparação ilegal"
12802 +#. TRANS You did @strong{what}?
12803 +#: sysdeps/gnu/errlist.c:969
12804 +msgid "You really blew it this time"
12805 +msgstr "Você realmente estragou desta vez"
12807 -#: locale/programs/charmap.c:281
12808 -msgid "illegal definition"
12809 -msgstr "definição ilegal"
12810 +#. TRANS Go home and have a glass of warm, dairy-fresh milk.
12811 +#: sysdeps/gnu/errlist.c:978
12812 +msgid "Computer bought the farm"
12813 +msgstr "O computador comprou a fazenda"
12815 -#: locale/programs/charmap.c:434
12816 -msgid "illegal encoding given"
12817 -msgstr "dada codificação ilegal"
12818 +#. TRANS This error code has no purpose.
12819 +#: sysdeps/gnu/errlist.c:987
12820 +msgid "Gratuitous error"
12821 +msgstr "Erro gratuito"
12823 -#: locale/programs/linereader.c:551
12824 -msgid "illegal escape sequence at end of string"
12825 -msgstr "sequência de escape ilegal no final da string"
12826 +#: sysdeps/gnu/errlist.c:995
12827 +msgid "Bad message"
12828 +msgstr "Mensagem inválida"
12830 -#: iconv/iconv_prog.c:342
12832 -msgid "illegal input sequence at position %ld"
12833 -msgstr "sequência de entrada ilegal na posição %ld"
12834 +#: sysdeps/gnu/errlist.c:1003
12835 +msgid "Identifier removed"
12836 +msgstr "Identificador removido"
12838 -#: locale/programs/charset.c:78
12839 -msgid "illegal names for character range"
12840 -msgstr "nomes ilegais para faixa de caracteres"
12841 +#: sysdeps/gnu/errlist.c:1011
12842 +msgid "Multihop attempted"
12843 +msgstr "Tentativa de Multihop"
12845 -#: sunrpc/rpc_main.c:462
12847 -msgid "illegal nettype :'%s'\n"
12848 -msgstr "nettype ilegal: `%s'\n"
12849 +#: sysdeps/gnu/errlist.c:1019
12850 +msgid "No data available"
12851 +msgstr "Não há dados disponíveis"
12853 -#: locale/programs/ld-time.c:187
12855 -msgid "illegal number for offset in string %d in `era' field in category `%s'"
12856 -msgstr "número ilegal para offset na string %d no campo `era', categoria `%s'"
12857 +#: sysdeps/gnu/errlist.c:1027
12858 +msgid "Link has been severed"
12859 +msgstr "Link foi cortado"
12861 -#: catgets/gencat.c:361 catgets/gencat.c:438
12862 -msgid "illegal set number"
12863 -msgstr "número de conjunto ilegal"
12864 +#: sysdeps/gnu/errlist.c:1035
12865 +msgid "No message of desired type"
12866 +msgstr "Não há mensagens do tipo desejado"
12868 -#: locale/programs/ld-time.c:243
12870 -msgid "illegal starting date in string %d in `era' field in category `%s'"
12871 -msgstr "data de início ilegal na string %d no campo `era', categoria `%s'"
12872 +#: sysdeps/gnu/errlist.c:1043
12873 +msgid "Out of streams resources"
12874 +msgstr "Sem recursos de streams"
12876 -#: locale/programs/ld-time.c:319
12878 -msgid "illegal stopping date in string %d in `era' field in category `%s'"
12879 -msgstr "data de parada ilegal na string %d no campo `era', categoria `%s'"
12880 +#: sysdeps/gnu/errlist.c:1051
12881 +msgid "Device not a stream"
12882 +msgstr "Dispositivo não é um stream"
12884 -#: locale/programs/ld-ctype.c:831
12886 -msgid "implementation limit: no more than %d character classes allowed"
12887 -msgstr "limite de implementacão: não são permitidas mais que %d classes de caracter"
12888 +#: sysdeps/gnu/errlist.c:1059
12889 +msgid "Value too large for defined data type"
12890 +msgstr "Valor muito grande para o tipo de dados definido"
12892 -#: locale/programs/ld-ctype.c:863
12894 -msgid "implementation limit: no more than %d character maps allowed"
12895 -msgstr "limite de implementacão: não são permitidos mais que %d mapas de caracter"
12896 +#: sysdeps/gnu/errlist.c:1067
12897 +msgid "Protocol error"
12898 +msgstr "Erro de protocolo"
12900 -#: iconv/iconv_prog.c:346
12901 -msgid "incomplete character or shift sequence at end of buffer"
12902 -msgstr "caractere incompleto ou mudança de seqüencia no final do buffer"
12903 +#: sysdeps/gnu/errlist.c:1075
12904 +msgid "Timer expired"
12905 +msgstr "Tempo expirado"
12907 -#: db2/makedb.c:148
12908 -msgid "incorrectly formatted file"
12909 -msgstr "arquivo formatado incorretamente"
12910 +#. TRANS An asynchronous operation was canceled before it
12911 +#. TRANS completed. @xref{Asynchronous I/O}. When you call @code{aio_cancel},
12912 +#. TRANS the normal result is for the operations affected to complete with this
12913 +#. TRANS error; @pxref{Cancel AIO Operations}.
12914 +#: sysdeps/gnu/errlist.c:1087
12915 +msgid "Operation canceled"
12916 +msgstr "Operação cancelada"
12918 -#: timezone/zic.c:825
12919 -msgid "input line of unknown type"
12920 -msgstr "linha de entrada de tipo desconhecido"
12921 +#: sysdeps/gnu/errlist.c:1095
12922 +msgid "Interrupted system call should be restarted"
12923 +msgstr "Chamada de sistema interrompida deve ser reiniciada"
12925 -#: iconv/iconv_prog.c:350
12926 -msgid "internal error (illegal descriptor)"
12927 -msgstr "erro interno (descritor ilegal)"
12928 +#: sysdeps/gnu/errlist.c:1103
12929 +msgid "Channel number out of range"
12930 +msgstr "Número do canal fora do intervalo"
12932 -#: timezone/zic.c:1788
12933 -msgid "internal error - addtype called with bad isdst"
12934 -msgstr "erro interno - addtype chamado com isdst incorreto"
12935 +#: sysdeps/gnu/errlist.c:1111
12936 +msgid "Level 2 not synchronized"
12937 +msgstr "Nível 2 não sincronizado"
12939 -#: timezone/zic.c:1796
12940 -msgid "internal error - addtype called with bad ttisgmt"
12941 -msgstr "erro interno - addtype chamado com ttisgmt incorreto"
12942 +#: sysdeps/gnu/errlist.c:1119
12943 +msgid "Level 3 halted"
12944 +msgstr "Nível 3 parado"
12946 -#: timezone/zic.c:1792
12947 -msgid "internal error - addtype called with bad ttisstd"
12948 -msgstr "erro interno - addtype chamado com ttisstd incorreto"
12949 +#: sysdeps/gnu/errlist.c:1127
12950 +msgid "Level 3 reset"
12951 +msgstr "Nível 3 reiniciado"
12953 -#: locale/programs/ld-ctype.c:307
12955 -msgid "internal error in %s, line %u"
12956 -msgstr "erro interno em %s, linha %u"
12957 +#: sysdeps/gnu/errlist.c:1135
12958 +msgid "Link number out of range"
12959 +msgstr "Número de link fora da faixa"
12961 -#: timezone/zic.c:1034
12962 -msgid "invalid UTC offset"
12963 -msgstr "deslocamento UTC inválido"
12964 +#: sysdeps/gnu/errlist.c:1143
12965 +msgid "Protocol driver not attached"
12966 +msgstr "Driver de protocolo não anexado"
12968 -#: timezone/zic.c:1037
12969 -msgid "invalid abbreviation format"
12970 -msgstr "formato de abreviação inválido"
12971 +#: sysdeps/gnu/errlist.c:1151
12972 +msgid "No CSI structure available"
12973 +msgstr "Não há estrutura CSI disponível"
12975 -#: timezone/zic.c:1127 timezone/zic.c:1339 timezone/zic.c:1353
12976 -msgid "invalid day of month"
12977 -msgstr "dia do mês inválido"
12978 +#: sysdeps/gnu/errlist.c:1159
12979 +msgid "Level 2 halted"
12980 +msgstr "Parada de sistema nível 2"
12982 -#: timezone/zic.c:1291
12983 -msgid "invalid ending year"
12984 -msgstr "ano final inválido"
12985 +#: sysdeps/gnu/errlist.c:1167
12986 +msgid "Invalid exchange"
12987 +msgstr "Troca inválida"
12989 -#: timezone/zic.c:1099
12990 -msgid "invalid leaping year"
12991 -msgstr "ano bissexto inválido"
12992 +#: sysdeps/gnu/errlist.c:1175
12993 +msgid "Invalid request descriptor"
12994 +msgstr "Descritor de requisição inválido"
12996 -#: elf/dl-open.c:159
12997 -msgid "invalid mode for dlopen()"
12998 -msgstr "modo inválido para dlopen()"
12999 +#: sysdeps/gnu/errlist.c:1183
13000 +msgid "Exchange full"
13001 +msgstr "Troca completa"
13003 -#: timezone/zic.c:1114 timezone/zic.c:1217
13004 -msgid "invalid month name"
13005 -msgstr "nome do mês inválido"
13006 +#: sysdeps/gnu/errlist.c:1191
13008 +msgstr "Sem anode"
13010 -#: timezone/zic.c:933
13011 -msgid "invalid saved time"
13012 -msgstr "tempo gravado inválido"
13013 +#: sysdeps/gnu/errlist.c:1199
13014 +msgid "Invalid request code"
13015 +msgstr "Código de requisição inválido"
13017 -#: timezone/zic.c:1266
13018 -msgid "invalid starting year"
13019 -msgstr "ano inicial inválido"
13020 +#: sysdeps/gnu/errlist.c:1207
13021 +msgid "Invalid slot"
13022 +msgstr "Slot inválido"
13024 -#: timezone/zic.c:1143 timezone/zic.c:1246
13025 -msgid "invalid time of day"
13026 -msgstr "hora do dia inválida"
13027 +#: sysdeps/gnu/errlist.c:1215
13028 +msgid "File locking deadlock error"
13029 +msgstr "Erro de bloqueio em arquivo (deadlock)"
13031 -#: timezone/zic.c:1344
13032 -msgid "invalid weekday name"
13033 -msgstr "nome de dia de semana inválido"
13034 +#: sysdeps/gnu/errlist.c:1223
13035 +msgid "Bad font file format"
13036 +msgstr "Formato do arquivo fonte inválido"
13038 -#: nscd/connections.c:375
13040 -msgid "key length in request too long: %Zd"
13041 -msgstr "tamanho de chave na requisição muito longa: %Zd"
13042 +#: sysdeps/gnu/errlist.c:1231
13043 +msgid "Machine is not on the network"
13044 +msgstr "A maquina não está na rede"
13046 -#: locale/programs/ld-collate.c:1422
13047 -msgid "line after ellipsis must contain character definition"
13048 -msgstr "linha após elipse deve conter definição de caracter"
13049 +#: sysdeps/gnu/errlist.c:1239
13050 +msgid "Package not installed"
13051 +msgstr "Pacote não instalado"
13053 -#: locale/programs/ld-collate.c:1401
13054 -msgid "line before ellipsis does not contain definition for character constant"
13055 -msgstr "linha antes da elipse não contém definição para constante de caracter"
13056 +#: sysdeps/gnu/errlist.c:1247
13057 +msgid "Advertise error"
13058 +msgstr "Erro de aviso"
13060 -#: timezone/zic.c:805
13061 -msgid "line too long"
13062 -msgstr "linha muito longa"
13063 +#: sysdeps/gnu/errlist.c:1255
13064 +msgid "Srmount error"
13065 +msgstr "Erro de srmount"
13067 -#: iconv/iconv_prog.c:58
13068 -msgid "list all known coded character sets"
13069 -msgstr "lista todas as coleções de caracteres codificados"
13070 +#: sysdeps/gnu/errlist.c:1263
13071 +msgid "Communication error on send"
13072 +msgstr "Erro de comunicação ao enviar"
13074 -#: locale/programs/localedef.c:273
13076 -msgid "locale file `%s', used in `copy' statement, not found"
13077 -msgstr "arquivo locale `%s', usado na declaração `copy' , não encontrado"
13078 +#: sysdeps/gnu/errlist.c:1271
13079 +msgid "RFS specific error"
13080 +msgstr "Erro específico de RFS"
13082 -#: inet/rcmd.c:307
13083 -msgid "lstat failed"
13084 -msgstr "falha em lstat"
13085 +#: sysdeps/gnu/errlist.c:1279
13086 +msgid "Name not unique on network"
13087 +msgstr "O nome não é único na rede"
13089 -#: catgets/gencat.c:619
13090 -msgid "malformed line ignored"
13091 -msgstr "linha inválida ignorada"
13092 +#: sysdeps/gnu/errlist.c:1287
13093 +msgid "File descriptor in bad state"
13094 +msgstr "Descritor de arquivo em mal estado"
13096 -#: elf/sprof.c:554
13097 -msgid "mapping of section header string table failed"
13098 -msgstr "mapeamento da tabela de cadeias do cabeçalho da seção falhou"
13099 +#: sysdeps/gnu/errlist.c:1295
13100 +msgid "Remote address changed"
13101 +msgstr "Endereço remoto alterado"
13103 -#: elf/sprof.c:544
13104 -msgid "mapping of section headers failed"
13105 -msgstr "mapeamento dos cabeçalhos da seção falhou"
13106 +#: sysdeps/gnu/errlist.c:1303
13107 +msgid "Can not access a needed shared library"
13108 +msgstr "Não foi possível acessar uma biblioteca compartilhada"
13110 -#: malloc/mcheck.c:202
13111 -msgid "memory clobbered before allocated block\n"
13112 -msgstr "memória sobrescrita antes do bloco alocado\n"
13113 +#: sysdeps/gnu/errlist.c:1311
13114 +msgid "Accessing a corrupted shared library"
13115 +msgstr "Acessando uma biblioteca compartilhado corrompida"
13117 -#: malloc/mcheck.c:205
13118 -msgid "memory clobbered past end of allocated block\n"
13119 -msgstr "memória sobrescrita após o fim do bloco allocado\n"
13121 -#: locale/programs/ld-collate.c:170 locale/programs/ld-collate.c:176
13122 -#: locale/programs/ld-collate.c:180 locale/programs/ld-collate.c:1449
13123 -#: locale/programs/ld-collate.c:1478 locale/programs/locfile.c:1082
13124 -#: locale/programs/xmalloc.c:70 login/programs/database.c:62
13125 -#: login/programs/database.c:79 login/programs/database.c:95
13126 -#: posix/getconf.c:682
13127 -msgid "memory exhausted"
13128 -msgstr "memória esgotada"
13129 +#: sysdeps/gnu/errlist.c:1319
13130 +msgid ".lib section in a.out corrupted"
13131 +msgstr "Seção .lib corrompida em a.out"
13133 -#: malloc/obstack.c:471
13134 -msgid "memory exhausted\n"
13135 -msgstr "memória esgotada\n"
13136 +#: sysdeps/gnu/errlist.c:1327
13137 +msgid "Attempting to link in too many shared libraries"
13138 +msgstr "Tentando vincular em muitas bibliotecas compartilhadas"
13140 -#: malloc/mcheck.c:199
13141 -msgid "memory is consistent, library is buggy\n"
13142 -msgstr "a memória está consistente, problemas na biblioteca\n"
13143 +#: sysdeps/gnu/errlist.c:1335
13144 +msgid "Cannot exec a shared library directly"
13145 +msgstr "Não foi possível executar uma biblioteca compartilhado diretamente"
13147 -#: locale/programs/ld-time.c:370
13149 -msgid "missing era format in string %d in `era' field in category `%s'"
13150 -msgstr "formato era ausente na string %d no campo `era', categoria`%s'"
13151 +#: sysdeps/gnu/errlist.c:1343
13152 +msgid "Streams pipe error"
13153 +msgstr "Erro de fluxos de pipe"
13155 -#: locale/programs/ld-time.c:358
13157 -msgid "missing era name in string %d in `era' field in category `%s'"
13158 -msgstr "nome era ausente na string %d no campo `era', categoria `%s'"
13159 +#: sysdeps/gnu/errlist.c:1351
13160 +msgid "Structure needs cleaning"
13161 +msgstr "A estrutura necessita de limpeza"
13163 -#: timezone/zic.c:928
13164 -msgid "nameless rule"
13165 -msgstr "regra sem nome"
13166 +#: sysdeps/gnu/errlist.c:1359
13167 +msgid "Not a XENIX named type file"
13168 +msgstr "Não é um arquivo nomeável XENIX"
13170 -#: iconv/iconv_prog.c:133
13171 -msgid "neither original nor target encoding specified"
13172 -msgstr "codificação original nem destino especificada"
13173 +#: sysdeps/gnu/errlist.c:1367
13174 +msgid "No XENIX semaphores available"
13175 +msgstr "Não há semáforos XENIX disponíveis"
13177 -#: nis/nss_nisplus/nisplus-publickey.c:262
13178 -#: nis/nss_nisplus/nisplus-publickey.c:268
13179 -#: nis/nss_nisplus/nisplus-publickey.c:327
13180 -#: nis/nss_nisplus/nisplus-publickey.c:336
13182 -msgid "netname2user: (nis+ lookup): %s\n"
13183 -msgstr "netname2user: (nis+ lookup): %s\n"
13184 +#: sysdeps/gnu/errlist.c:1375
13185 +msgid "Is a named type file"
13186 +msgstr "É um arquivo tipo nomeável"
13188 -#: nis/nss_nisplus/nisplus-publickey.c:281
13190 -msgid "netname2user: DES entry for %s in directory %s not unique"
13191 -msgstr "netname2user: entrada DES para %s no diretório %s não é única"
13192 +#: sysdeps/gnu/errlist.c:1383
13193 +msgid "Remote I/O error"
13194 +msgstr "Erro de E/S remota"
13196 -#: nis/nss_nisplus/nisplus-publickey.c:349
13198 -msgid "netname2user: LOCAL entry for %s in directory %s not unique"
13199 -msgstr "netname2user: entrada LOCAL para %s no diretório %s não é única"
13200 +#: sysdeps/gnu/errlist.c:1391
13201 +msgid "No medium found"
13202 +msgstr "Mídia não encontrada"
13204 -#: nis/nss_nisplus/nisplus-publickey.c:194
13206 -msgid "netname2user: missing group id list in '%s'."
13207 -msgstr "netname2user: lista de id do grupo perdida em `%s'."
13208 +#: sysdeps/gnu/errlist.c:1399
13209 +msgid "Wrong medium type"
13210 +msgstr "Tipo de mídia incorreta"
13212 -#: nis/nss_nisplus/nisplus-publickey.c:299
13214 -msgid "netname2user: principal name '%s' too long"
13215 -msgstr "netname2user: nome principal `%s' muito longo"
13216 +#: sysdeps/gnu/errlist.c:1407
13217 +msgid "Required key not available"
13218 +msgstr "Chave necessária não disponível"
13220 -#: nis/nss_nisplus/nisplus-publickey.c:356
13221 -msgid "netname2user: should not have uid 0"
13222 -msgstr "netname2user: não deve possuir uid 0"
13223 +#: sysdeps/gnu/errlist.c:1415
13224 +msgid "Key has expired"
13225 +msgstr "A chave expirou"
13227 -#: sunrpc/svc_simple.c:158
13229 -msgid "never registered prog %d\n"
13230 -msgstr "nunca registrado prog %d\n"
13231 +#: sysdeps/gnu/errlist.c:1423
13232 +msgid "Key has been revoked"
13233 +msgstr "A chave foi revogada"
13235 -#: locale/programs/repertoire.c:238
13236 -msgid "no <Uxxxx> or <Uxxxxxxxx> value given"
13237 -msgstr "Valores <Uxxxx> ou <Uxxxxxxxx> não entrados"
13238 +#: sysdeps/gnu/errlist.c:1431
13239 +msgid "Key was rejected by service"
13240 +msgstr "A chave foi rejeitada pelo serviço"
13242 -#: locale/programs/ld-messages.c:101 locale/programs/ld-messages.c:125
13244 -msgid "no correct regular expression for field `%s' in category `%s': %s"
13245 -msgstr "não há expressão regular correta para campo `%s', categoria `%s': %s"
13246 +#: sysdeps/gnu/errlist.c:1439
13247 +msgid "Owner died"
13248 +msgstr "Dono morto"
13250 -#: timezone/zic.c:2115
13251 -msgid "no day in month matches rule"
13252 -msgstr "nehum dia do mês satisfaz a norma"
13253 +#: sysdeps/gnu/errlist.c:1447
13254 +msgid "State not recoverable"
13255 +msgstr "Estado não recuperável"
13257 -#: locale/programs/ld-collate.c:267
13258 -msgid "no definition of `UNDEFINED'"
13259 -msgstr "não há definição de `UNDEFINED'"
13260 +#: sysdeps/gnu/errlist.c:1455
13261 +msgid "Operation not possible due to RF-kill"
13262 +msgstr "Operação não permitida em razão de RF-kill"
13264 -#: elf/sprof.c:276
13266 -msgid "no filename for profiling data given and shared object `%s' has no soname"
13267 -msgstr "nome de arquivo para perfil de dados não informado e objetos compartilhados `%s' não tem `soname'"
13268 +#: sysdeps/gnu/errlist.c:1463
13269 +msgid "Memory page has hardware error"
13270 +msgstr "Página de memória possui um erro de hardware"
13272 -#: locale/programs/locfile.c:609
13273 -msgid "no other keyword shall be specified when `copy' is used"
13274 -msgstr "nehuma outra palavra-chave deve ser especificada quando `copy' é usado"
13275 +#: sysdeps/mach/_strerror.c:56
13276 +msgid "Error in unknown error system: "
13277 +msgstr "Falha no erro desconhecido do sistema: "
13279 -#: locale/programs/localedef.c:334
13280 -msgid "no output file produced because warning were issued"
13281 -msgstr "nenhum arquivo de saída foi produzido porque avisos foram emitidos"
13282 +#: sysdeps/posix/gai_strerror-strs.h:1
13283 +msgid "Address family for hostname not supported"
13284 +msgstr "Família de endereços não suportada para nome de máquina"
13286 -#: locale/programs/locfile.c:283 locale/programs/locfile.c:301
13287 -#: locale/programs/locfile.c:319 locale/programs/locfile.c:337
13288 -#: locale/programs/locfile.c:355 locale/programs/locfile.c:373
13289 -msgid "no repertoire map specified: cannot proceed"
13290 -msgstr "mapa de repertório não especificado: não posso prosseguir"
13291 +#: sysdeps/posix/gai_strerror-strs.h:2
13292 +msgid "Temporary failure in name resolution"
13293 +msgstr "Falha temporário na resolução de nome"
13295 -#: locale/programs/charmap.c:400 locale/programs/charmap.c:550
13296 -#: locale/programs/charmap.c:629 locale/programs/repertoire.c:199
13297 -msgid "no symbolic name given"
13298 -msgstr "nenhum nome simbólico dado"
13299 +#: sysdeps/posix/gai_strerror-strs.h:3
13300 +msgid "Bad value for ai_flags"
13301 +msgstr "Valor inválido para ai_flags"
13303 -#: locale/programs/charmap.c:465 locale/programs/charmap.c:596
13304 -#: locale/programs/charmap.c:662 locale/programs/repertoire.c:261
13305 -msgid "no symbolic name given for end of range"
13306 -msgstr "nenhum nome simbólico dado para fim do intervalo"
13307 +#: sysdeps/posix/gai_strerror-strs.h:4
13308 +msgid "Non-recoverable failure in name resolution"
13309 +msgstr "Falha irrecuperável na resolução de nome"
13311 -#: locale/programs/ld-collate.c:249
13313 -msgid "no weight defined for symbol `%s'"
13314 -msgstr "não foi definido peso para o símbolo `%s'"
13315 +#: sysdeps/posix/gai_strerror-strs.h:5
13316 +msgid "ai_family not supported"
13317 +msgstr "Família de protocolo (ai_family) sem suporte"
13319 -#: inet/rcmd.c:309
13320 -msgid "not regular file"
13321 -msgstr "não é arquivo normal"
13322 +#: sysdeps/posix/gai_strerror-strs.h:6
13323 +msgid "Memory allocation failure"
13324 +msgstr "Falha de alocação de memória"
13326 -#: nscd/nscd_stat.c:130
13329 -"nscd configuration:\n"
13331 -"%15d server debug level\n"
13333 -"configuração nscd:\n"
13335 -"%15d nível de debug do servidor\n"
13336 +#: sysdeps/posix/gai_strerror-strs.h:7
13337 +msgid "No address associated with hostname"
13338 +msgstr "Não há endereço associado com o nome"
13340 -#: nscd/nscd_stat.c:104
13341 -msgid "nscd not running!\n"
13342 -msgstr "nscd não está rodando!\n"
13343 +#: sysdeps/posix/gai_strerror-strs.h:8
13344 +msgid "Name or service not known"
13345 +msgstr "Nome ou serviço desconhecido"
13347 -#: locale/programs/charmap.c:514
13348 -msgid "only WIDTH definitions are allowed to follow the CHARMAP definition"
13349 -msgstr "apenas definições de WIDTH são permitidas em seguida à definição de CHARMAP"
13350 +#: sysdeps/posix/gai_strerror-strs.h:9
13351 +msgid "Servname not supported for ai_socktype"
13352 +msgstr "Servname sem suporte para “ai_socktype”"
13354 -#: iconv/iconv_prog.c:135
13355 -msgid "original encoding not specified using `-f'"
13356 -msgstr "codificação original não especificada usando `-f'"
13357 +#: sysdeps/posix/gai_strerror-strs.h:10
13358 +msgid "ai_socktype not supported"
13359 +msgstr "ai_socktype sem suporte"
13361 -#: iconv/iconv_prog.c:60
13362 -msgid "output file"
13363 -msgstr "arquivo de saída"
13364 +#: sysdeps/posix/gai_strerror-strs.h:11
13365 +msgid "System error"
13366 +msgstr "Erro de sistema"
13368 -#: sunrpc/pm_getmaps.c:73
13369 -msgid "pmap_getmaps rpc problem"
13370 -msgstr "problemas de pmap_getmaps rpc"
13371 +#: sysdeps/posix/gai_strerror-strs.h:12
13372 +msgid "Processing request in progress"
13373 +msgstr "Processamento da requisição em progresso"
13375 -#: inet/rcmd.c:179
13376 -msgid "poll: protocol failure in circuit setup\n"
13377 -msgstr "poll: falha de protocolo na configuração do circuito\n"
13378 +#: sysdeps/posix/gai_strerror-strs.h:13
13379 +msgid "Request canceled"
13380 +msgstr "Requisição cancelada"
13382 -#: sunrpc/rpc_scan.c:523 sunrpc/rpc_scan.c:533
13383 -msgid "preprocessor error"
13384 -msgstr "Erro de pré-processador"
13385 +#: sysdeps/posix/gai_strerror-strs.h:14
13386 +msgid "Request not canceled"
13387 +msgstr "Requisição não cancelada"
13390 -msgid "print list of count paths and their number of use"
13391 -msgstr "mostra lista de número de rotas e seu número de uso"
13392 +#: sysdeps/posix/gai_strerror-strs.h:15
13393 +msgid "All requests done"
13394 +msgstr "Todas as requisições feitas"
13396 -#: iconv/iconv_prog.c:61
13397 -msgid "print progress information"
13398 -msgstr "mostra informações de progresso"
13399 +#: sysdeps/posix/gai_strerror-strs.h:16
13400 +msgid "Interrupted by a signal"
13401 +msgstr "Interrompido por um sinal"
13403 -#: db2/makedb.c:345
13405 -msgid "problems while reading `%s'"
13406 -msgstr "problems lendo `%s'"
13407 +#: sysdeps/posix/gai_strerror-strs.h:17
13408 +msgid "Parameter string not correctly encoded"
13409 +msgstr "String de parâmetro não codificado corretamente"
13411 -#: elf/sprof.c:691
13412 +#: sysdeps/unix/sysv/linux/i386/readelflib.c:65
13414 -msgid "profiling data file `%s' does not match shared object `%s'"
13415 -msgstr "arquivo de dados de perfil `%s' não coincide com objetos compartilhados `%s'"
13416 +msgid "%s is for unknown machine %d.\n"
13417 +msgstr "%s é para máquina desconhecida %d.\n"
13419 -#: sunrpc/rpcinfo.c:237 sunrpc/rpcinfo.c:383
13420 +#: sysdeps/unix/sysv/linux/ia64/makecontext.c:58
13422 -msgid "program %lu is not available\n"
13423 -msgstr "programa %lu não está disponível\n"
13424 +msgid "makecontext: does not know how to handle more than 8 arguments\n"
13425 +msgstr "makecontext: não sabe como lidar com mais de 8 argumentos\n"
13427 -#: sunrpc/rpcinfo.c:264 sunrpc/rpcinfo.c:310 sunrpc/rpcinfo.c:333
13428 -#: sunrpc/rpcinfo.c:407 sunrpc/rpcinfo.c:453 sunrpc/rpcinfo.c:476
13429 -#: sunrpc/rpcinfo.c:510
13430 +#: sysdeps/unix/sysv/linux/lddlibc4.c:60
13432 -msgid "program %lu version %lu is not available\n"
13433 -msgstr "programa %lu versão %lu não está disponível\n"
13435 +"Usage: lddlibc4 FILE\n"
13438 +"Uso: lddlibc4 ARQUIVO\n"
13441 -#: sunrpc/rpcinfo.c:515
13442 +#: sysdeps/unix/sysv/linux/lddlibc4.c:81
13444 -msgid "program %lu version %lu ready and waiting\n"
13445 -msgstr "programa %lu versão %lu pronto e aguardando\n"
13446 +msgid "cannot open `%s'"
13447 +msgstr "não foi possível abrir “%s”"
13449 -#: inet/rcmd.c:176
13450 +#: sysdeps/unix/sysv/linux/lddlibc4.c:85
13452 -msgid "rcmd: poll (setting up stderr): %m\n"
13453 -msgstr "rcmd: poll (configurando stderr): %m\n"
13455 -#: inet/rcmd.c:110
13456 -msgid "rcmd: socket: All ports in use\n"
13457 -msgstr "rcmd: socket: Todas as portas em uso\n"
13458 +msgid "cannot read header from `%s'"
13459 +msgstr "não foi possível ler cabeçalho de “%s”"
13461 -#: inet/rcmd.c:166
13463 -msgid "rcmd: write (setting up stderr): %m\n"
13464 -msgstr "rcmd: write (configurando stderr): %m\n"
13465 +#: timezone/zdump.c:338
13466 +msgid "has fewer than 3 characters"
13467 +msgstr "possui menos de 3 caracteres"
13469 -#: sunrpc/svc_simple.c:98
13470 -msgid "registerrpc: out of memory\n"
13471 -msgstr "registerrpc: não há memória suficiente\n"
13472 +#: timezone/zdump.c:340
13473 +msgid "has more than 6 characters"
13474 +msgstr "possui mais de 6 caracteres"
13476 -#: timezone/zic.c:1849
13477 -msgid "repeated leap second moment"
13478 -msgstr "ajuste repetido em segundo momento"
13479 +#: timezone/zdump.c:342
13480 +msgid "has characters other than ASCII alphanumerics, '-' or '+'"
13481 +msgstr "possui caracteres além de “-”, “+” ou alfanuméricos ASCII"
13483 -#: locale/programs/repertoire.c:95
13484 +#: timezone/zdump.c:347
13486 -msgid "repertoire map file `%s' not found"
13487 -msgstr "arquivo de mapas `%s' não foi localizado"
13489 -#: sunrpc/rpc_main.c:1117
13490 -msgid "rpcgen: arglist coding error\n"
13491 -msgstr "rpcgen: erro na codificação de parâmetros\n"
13493 -#: sunrpc/rpc_main.c:1105
13494 -msgid "rpcgen: too many defines\n"
13495 -msgstr "rpcgen: muitas definições\n"
13496 +msgid "%s: warning: zone \"%s\" abbreviation \"%s\" %s\n"
13497 +msgstr "%s: aviso: fuso “%s” abreviação “%s” %s\n"
13499 -#: sunrpc/rpcinfo.c:732
13500 +#: timezone/zdump.c:393
13502 -msgid "rpcinfo: %s is unknown host\n"
13503 -msgstr "rpcinfo: %s é um host desconhecido\n"
13505 +"%s: usage: %s OPTIONS ZONENAME ...\n"
13506 +"Options include:\n"
13507 +" -c [L,]U Start at year L (default -500), end before year U (default 2500)\n"
13508 +" -t [L,]U Start at time L, end before time U (in seconds since 1970)\n"
13509 +" -i List transitions briefly (format is experimental)\n"
13510 +" -v List transitions verbosely\n"
13511 +" -V List transitions a bit less verbosely\n"
13512 +" --help Output this help\n"
13513 +" --version Output version info\n"
13515 +"Report bugs to %s.\n"
13517 +"%s: uso: %s OPÇÕES NOMEFUSO ...\n"
13518 +"Opções incluem:\n"
13519 +" -c [L,]U Inicia no ano L (padrão -500), termina até o ano U (padrão 2500)\n"
13520 +" -t [L,]U Inicia no tempo L, termina até o tempo U (em segundos desde 1970)\n"
13521 +" -i Lista transições brevemente (formato é experimental)\n"
13522 +" -v Lista transições verbosamente\n"
13523 +" -V Lista transições um pouco menos verbosamente\n"
13524 +" --help Emite essa ajuda\n"
13525 +" --version Emite informação da versão\n"
13527 +"Relate erros para %s.\n"
13529 -#: sunrpc/rpcinfo.c:695
13530 +#: timezone/zdump.c:479
13532 -msgid "rpcinfo: %s is unknown service\n"
13533 -msgstr "rpcinfo: %s é um serviço desconhecido\n"
13534 +msgid "%s: wild -c argument %s\n"
13535 +msgstr "%s: argumento -c insensato %s\n"
13537 -#: sunrpc/rpcinfo.c:665
13538 +#: timezone/zdump.c:512
13540 -msgid "rpcinfo: Could not delete registration for prog %s version %s\n"
13541 -msgstr "rpcinfo: Não foi possível apagar registro para prog %s versão %s\n"
13542 +msgid "%s: wild -t argument %s\n"
13543 +msgstr "%s: argumento -t insensato %s\n"
13545 -#: sunrpc/rpcinfo.c:637
13546 +#: timezone/zic.c:398
13548 -msgid "rpcinfo: broadcast failed: %s\n"
13549 -msgstr "rpcinfo: broadcast falhou: %s\n"
13550 +msgid "%s: Memory exhausted: %s\n"
13551 +msgstr "%s: Memória esgotada: %s\n"
13553 -#: sunrpc/rpcinfo.c:556 sunrpc/rpcinfo.c:563
13554 -msgid "rpcinfo: can't contact portmapper"
13555 -msgstr "rpcinfo: impossível contactar portmapper"
13556 +#: timezone/zic.c:406
13557 +msgid "size overflow"
13558 +msgstr "estouro de tamanho"
13560 -#: timezone/zic.c:718 timezone/zic.c:720
13561 -msgid "same rule name in multiple files"
13562 -msgstr "mesmo nome de regra em múltiplos arquivos"
13563 +#: timezone/zic.c:454
13564 +msgid "integer overflow"
13565 +msgstr "estouro de valor inteiro"
13567 -#: nscd/connections.c:387
13568 +#: timezone/zic.c:488
13570 -msgid "short read while reading request key: %s"
13571 -msgstr "falha na leitura lendo chave de requisição: %s"
13572 +msgid "\"%s\", line %<PRIdMAX>: "
13573 +msgstr "“%s”, linha %<PRIdMAX>: "
13575 -#: nscd/connections.c:364
13576 +#: timezone/zic.c:491
13578 -msgid "short read while reading request: %s"
13579 -msgstr "problems lendo `%s'"
13580 +msgid " (rule from \"%s\", line %<PRIdMAX>)"
13581 +msgstr " (regra de “%s”, linha %<PRIdMAX>)"
13583 -#: nscd/grpcache.c:191 nscd/hstcache.c:278 nscd/pwdcache.c:188
13584 +#: timezone/zic.c:510
13586 -msgid "short write in %s: %s"
13587 -msgstr "Erro escrevendo em %s: %s"
13589 -#: inet/rcmd.c:197
13590 -msgid "socket: protocol failure in circuit setup\n"
13591 -msgstr "socket: falha de protocolo na configuração do circuito\n"
13593 -#: locale/programs/locfile.c:730
13594 -msgid "sorting order `forward' and `backward' are mutually exclusive"
13595 -msgstr "as ordens de classificação `forward' e `backward' são mutuamente exclusivas"
13597 -#: locale/programs/ld-collate.c:1582 locale/programs/ld-collate.c:1628
13598 -msgid "specification of sorting weight for collation symbol does not make sense"
13599 -msgstr "especificação de peso para símbolo de comparação não faz sentido"
13601 -#: timezone/zic.c:789
13602 -msgid "standard input"
13603 -msgstr "entrada padrão"
13605 -#: timezone/zdump.c:268
13606 -msgid "standard output"
13607 -msgstr "saída padrão"
13611 -#: locale/programs/ld-time.c:272
13612 +#: timezone/zic.c:535
13614 -msgid "starting date is illegal in string %d in `era' field in category `%s'"
13615 -msgstr "data inicial é ilegal na string %d no campo `era', categoria `%s'"
13617 -#: timezone/zic.c:1300
13618 -msgid "starting year greater than ending year"
13619 -msgstr "ano inicial maior que ano final"
13621 -#: timezone/zic.c:1272 timezone/zic.c:1297
13622 -msgid "starting year too high to be represented"
13623 -msgstr "ano inicial muito alto para ser representado"
13625 -#: timezone/zic.c:1270 timezone/zic.c:1295
13626 -msgid "starting year too low to be represented"
13627 -msgstr "ano inicial muito baixo para ser representado"
13629 +"%s: usage is %s [ --version ] [ --help ] [ -v ] \\\n"
13630 +"\t[ -l localtime ] [ -p posixrules ] [ -d directory ] \\\n"
13631 +"\t[ -L leapseconds ] [ filename ... ]\n"
13633 +"Report bugs to %s.\n"
13635 +"%s: uso é %s [ --version ] [ --help ] [ -h ] \\\n"
13636 +"\t[ -l tempolocal ] [ -p regrasposix ] [ -d diretório ] \\\n"
13637 +"\t[ -L segundos bissextos ] [ nome do arquivo ... ]\n"
13639 +"Relate erros para %s.\n"
13641 -#: locale/programs/ld-time.c:348
13642 +#: timezone/zic.c:558
13644 -msgid "stopping date is illegal in string %d in `era' field in category `%s'"
13645 -msgstr "data de término é ilegal na string %d no campo `era', categoria `%s'"
13646 +msgid "%s: Can't chdir to %s: %s\n"
13647 +msgstr "%s: Não foi fazer chdir criar %s: %s\n"
13649 -#: sunrpc/svc_run.c:81
13650 -msgid "svc_run: - select failed"
13651 -msgstr "svc_run: - select falhou"
13652 +#: timezone/zic.c:590
13653 +msgid "wild compilation-time specification of zic_t"
13654 +msgstr "especificação insensata de tempo de compilação de zic_t"
13656 -#: sunrpc/svc_tcp.c:160
13657 -msgid "svc_tcp.c - cannot getsockname or listen"
13658 -msgstr "svc_tcp_.c - não é possível receber `getsocknome' ou `listen'"
13659 +#: timezone/zic.c:610
13661 +msgid "%s: More than one -d option specified\n"
13662 +msgstr "%s: Mais de uma opção -d foi especificada\n"
13664 -#: sunrpc/svc_tcp.c:145
13665 -msgid "svc_tcp.c - tcp socket creation problem"
13666 -msgstr "svc_tcp_.c - problema na criação do soquete AF_UNIX"
13667 +#: timezone/zic.c:620
13669 +msgid "%s: More than one -l option specified\n"
13670 +msgstr "%s: Mais de uma opção -l especificada\n"
13672 -#: sunrpc/svc_tcp.c:209 sunrpc/svc_tcp.c:215
13673 -msgid "svc_tcp: makefd_xprt: out of memory\n"
13674 -msgstr "svc_tcp: makefd_xprt: não há memória suficiente\n"
13675 +#: timezone/zic.c:630
13677 +msgid "%s: More than one -p option specified\n"
13678 +msgstr "%s: Mais de uma opção -p especificada\n"
13680 -#: sunrpc/svc_unix.c:135
13681 -msgid "svc_unix.c - AF_UNIX socket creation problem"
13682 -msgstr "svc_tcp_.c - problema na criação do soquete AF_UNIX"
13683 +#: timezone/zic.c:640
13685 +msgid "%s: More than one -y option specified\n"
13686 +msgstr "%s: Mais de uma opção -y especificada\n"
13688 -#: sunrpc/svc_unix.c:151
13689 -msgid "svc_unix.c - cannot getsockname or listen"
13690 -msgstr "svc_tcp_.c - memória exaurida"
13691 +#: timezone/zic.c:650
13693 +msgid "%s: More than one -L option specified\n"
13694 +msgstr "%s: Mais de uma opção -L foi especificada\n"
13696 -#: sunrpc/svc_unix.c:201 sunrpc/svc_unix.c:207
13697 -msgid "svc_unix: makefd_xprt: out of memory\n"
13698 -msgstr "svc_unix: makefd_xprt: não há memória suficiente\n"
13699 +#: timezone/zic.c:659
13700 +msgid "-s ignored"
13701 +msgstr "-s ignorada"
13703 -#: sunrpc/svc_tcp.c:168 sunrpc/svc_tcp.c:176
13704 -msgid "svctcp_create: out of memory\n"
13705 -msgstr "svctcp_create: não há memória suficiente\n"
13706 +#: timezone/zic.c:698
13707 +msgid "link to link"
13708 +msgstr "link para o link"
13710 -#: sunrpc/svc_udp.c:135
13711 -msgid "svcudp_create - cannot getsockname"
13712 -msgstr "svcudp_create - não é possível getsockname"
13713 +#: timezone/zic.c:701 timezone/zic.c:705
13714 +msgid "command line"
13715 +msgstr "linha de comando"
13717 -#: sunrpc/svc_udp.c:143 sunrpc/svc_udp.c:149 sunrpc/svc_udp.c:155
13718 -msgid "svcudp_create: out of memory\n"
13719 -msgstr "svcucp_create: não há memória suficiente\n"
13720 +#: timezone/zic.c:721
13721 +msgid "empty file name"
13722 +msgstr "arquivo com nome vazio"
13724 -#: sunrpc/svc_udp.c:121
13725 -msgid "svcudp_create: socket creation problem"
13726 -msgstr "svcudp_create: problema na criação socket"
13727 +#: timezone/zic.c:724
13729 +msgid "file name '%s' begins with '/'"
13730 +msgstr "nome de arquivo “%s” começa com “/”"
13732 -#: sunrpc/svc_unix.c:160 sunrpc/svc_unix.c:168
13733 -msgid "svcunix_create: out of memory\n"
13734 -msgstr "svcunix_create: não há memória suficiente\n"
13735 +#: timezone/zic.c:734
13737 +msgid "file name '%s' contains '%.*s' component"
13738 +msgstr "nome de arquivo “%s” contém componente “%.*s”"
13740 -#: locale/programs/ld-collate.c:1201
13741 +#: timezone/zic.c:740
13743 -msgid "symbol for multicharacter collating element `%.*s' duplicates element definition"
13744 -msgstr "símbolo para elemento de comparação multicaracter `%.*s' duplica a definição do elemento"
13745 +msgid "file name '%s' component contains leading '-'"
13746 +msgstr "um componente do nome de arquivo “%s” inicia com “-”"
13748 -#: locale/programs/ld-collate.c:1073
13749 +#: timezone/zic.c:743
13751 -msgid "symbol for multicharacter collating element `%.*s' duplicates other element definition"
13752 -msgstr "símbolo para elemento de comparação multicaracter `%.*s' duplica a definição do elemento"
13753 +msgid "file name '%s' contains overlength component '%.*s...'"
13754 +msgstr "nome de arquivo “%s” contém componente “%.*s...” comprido demais"
13756 -#: locale/programs/ld-collate.c:1210
13757 +#: timezone/zic.c:771
13759 -msgid "symbol for multicharacter collating element `%.*s' duplicates other symbol definition"
13760 -msgstr "símbolo para elemento de comparação multicaracter `%.*s' duplica outra definição de símbolo"
13761 +msgid "file name '%s' contains byte '%c'"
13762 +msgstr "nome de arquivo “%s” contém byte “%c”"
13764 -#: locale/programs/ld-collate.c:1082
13765 +#: timezone/zic.c:772
13767 -msgid "symbol for multicharacter collating element `%.*s' duplicates symbol definition"
13768 -msgstr "símbolo para elemento de comparação multicaracter `%.*s' duplica a definição do símbolo"
13769 +msgid "file name '%s' contains byte '\\%o'"
13770 +msgstr "nome de arquivo “%s” contém byte “\\%o”"
13772 -#: locale/programs/ld-collate.c:1064 locale/programs/ld-collate.c:1192
13773 +#: timezone/zic.c:842
13775 -msgid "symbol for multicharacter collating element `%.*s' duplicates symbolic name in charset"
13776 -msgstr "símbolo para elemento de comparação multicaracter `%.*s duplicado"
13777 +msgid "%s: link from %s/%s failed: %s\n"
13778 +msgstr "%s: link de %s/%s falhou: %s\n"
13780 -#: locale/programs/charmap.c:399 locale/programs/charmap.c:433
13781 -#: locale/programs/charmap.c:463 locale/programs/charmap.c:549
13782 -#: locale/programs/charmap.c:595 locale/programs/charmap.c:628
13783 -#: locale/programs/charmap.c:660
13784 +#: timezone/zic.c:852 timezone/zic.c:1815
13786 -msgid "syntax error in %s definition: %s"
13787 -msgstr "erro de sintaxe na definição %s: %s"
13788 +msgid "%s: Can't remove %s/%s: %s\n"
13789 +msgstr "%s: Não é possível remover %s/%s: %s\n"
13791 -#: locale/programs/locfile.c:750
13792 -msgid "syntax error in `order_start' directive"
13793 -msgstr "erro de sintaxe na diretiva `order_start'"
13794 +#: timezone/zic.c:874
13796 +msgid "symbolic link used because hard link failed: %s"
13797 +msgstr "link simbólico usado porque link absoluto falhou: %s"
13799 -#: locale/programs/locfile.c:492
13800 -msgid "syntax error in character class definition"
13801 -msgstr "erro de sintaxe na definição de classe de caracteres"
13802 +#: timezone/zic.c:882
13804 +msgid "%s: Can't read %s/%s: %s\n"
13805 +msgstr "%s: Não foi possível ler %s/%s: %s\n"
13807 -#: locale/programs/locfile.c:550
13808 -msgid "syntax error in character conversion definition"
13809 -msgstr "erro de sintaxe na definição de conversão de caracteres"
13810 +#: timezone/zic.c:889 timezone/zic.c:1828
13812 +msgid "%s: Can't create %s/%s: %s\n"
13813 +msgstr "%s: Não é possível criar %s/%s (%s)\n"
13815 -#: locale/programs/locfile.c:792
13816 -msgid "syntax error in collating order definition"
13817 -msgstr "erro de sintaxe na definição de ordem de comparação"
13818 +#: timezone/zic.c:898
13820 +msgid "copy used because hard link failed: %s"
13821 +msgstr "cópia usada porque link absoluto falhou: %s"
13823 -#: locale/programs/locfile.c:642
13824 -msgid "syntax error in collation definition"
13825 -msgstr "erro de sintaxe na definição de comparação"
13826 +#: timezone/zic.c:901
13828 +msgid "copy used because symbolic link failed: %s"
13829 +msgstr "cópia usada porque link simbólico falhou: %s"
13831 -#: locale/programs/locfile.c:465
13832 -msgid "syntax error in definition of LC_CTYPE category"
13833 -msgstr "erro de sintaxe na definição da categoria LC_CTYPE"
13834 +#: timezone/zic.c:1013 timezone/zic.c:1015
13835 +msgid "same rule name in multiple files"
13836 +msgstr "mesmo nome de regra em múltiplos arquivos"
13838 -#: locale/programs/locfile.c:408
13839 -msgid "syntax error in definition of new character class"
13840 -msgstr "erro de sintaxe na definição de uma nova classe de caracteres"
13841 +#: timezone/zic.c:1056
13842 +msgid "unruly zone"
13843 +msgstr "fuso horário sem regras"
13845 -#: locale/programs/locfile.c:418
13846 -msgid "syntax error in definition of new character map"
13847 -msgstr "erro de sintaxe na definição de um novo mapa de caracteres"
13848 +#: timezone/zic.c:1063
13850 +msgid "%s in ruleless zone"
13851 +msgstr "%s em uma fuso horário sem regras"
13853 -#: locale/programs/locfile.c:1003
13854 -msgid "syntax error in message locale definition"
13855 -msgstr "erro de sintaxe na definição da mensagem locale"
13856 +#: timezone/zic.c:1083
13857 +msgid "standard input"
13858 +msgstr "entrada padrão"
13860 -#: locale/programs/locfile.c:914
13861 -msgid "syntax error in monetary locale definition"
13862 -msgstr "erro de sintaxe na definição monetária locale"
13863 +#: timezone/zic.c:1088
13865 +msgid "%s: Can't open %s: %s\n"
13866 +msgstr "%s: Não é possível abrir %s: %s\n"
13868 -#: locale/programs/locfile.c:941
13869 -msgid "syntax error in numeric locale definition"
13870 -msgstr "erro de sintaxe na definição numérica locale"
13871 +#: timezone/zic.c:1099
13872 +msgid "line too long"
13873 +msgstr "linha muito longa"
13875 -#: locale/programs/locfile.c:852
13876 -msgid "syntax error in order specification"
13877 -msgstr "erro de sintaxe na especificação de ordem"
13878 +#: timezone/zic.c:1119
13879 +msgid "input line of unknown type"
13880 +msgstr "linha de entrada de tipo desconhecido"
13882 -#: locale/programs/charmap.c:280 locale/programs/charmap.c:296
13883 -#: locale/programs/repertoire.c:143
13884 +#: timezone/zic.c:1134
13886 -msgid "syntax error in prolog: %s"
13887 -msgstr "erro de sintaxe em prolog: %s"
13888 +msgid "%s: Leap line in non leap seconds file %s"
13889 +msgstr "%s: linha Leap em arquivo de segundos não bissextos %s"
13891 -#: locale/programs/repertoire.c:198 locale/programs/repertoire.c:237
13892 -#: locale/programs/repertoire.c:260
13893 +#: timezone/zic.c:1142 timezone/zic.c:1547 timezone/zic.c:1569
13895 -msgid "syntax error in repertoire map definition: %s"
13896 -msgstr "erro de sintaxe no mapa de repertório: %s"
13898 -#: locale/programs/locfile.c:979
13899 -msgid "syntax error in time locale definition"
13900 -msgstr "erro de sintaxe na definição de tempo locale"
13902 -#: locale/programs/locfile.c:385
13903 -msgid "syntax error: not inside a locale definition section"
13904 -msgstr "erro de sintaxe: não está dentro de uma definição de seção locale"
13906 -#: iconv/iconv_prog.c:137
13907 -msgid "target encoding not specified using `-t'"
13908 -msgstr "codificação destino não especificada usando `-t'"
13910 -#: catgets/gencat.c:390 catgets/gencat.c:526 catgets/gencat.c:553
13911 -msgid "this is the first definition"
13912 -msgstr "esta é a primeira definição"
13913 +msgid "%s: panic: Invalid l_value %d\n"
13914 +msgstr "%s: pânico: l_value inválido %d\n"
13916 -#: timezone/zic.c:1132
13917 -msgid "time before zero"
13918 -msgstr "tempo menor que zero"
13919 +#: timezone/zic.c:1151
13920 +msgid "expected continuation line not found"
13921 +msgstr "linha de continuação não foi localizada"
13923 -#: timezone/zic.c:1140 timezone/zic.c:2015 timezone/zic.c:2034
13924 +#: timezone/zic.c:1193 timezone/zic.c:2976
13925 msgid "time overflow"
13926 msgstr "estouro de tempo"
13928 -#: locale/programs/charmap.c:443
13929 -msgid "too few bytes in character encoding"
13930 -msgstr "poucos bytes na codificação do caracter"
13932 -#: locale/programs/charmap.c:445
13933 -msgid "too many bytes in character encoding"
13934 -msgstr "muitos bytes na codificação do caracter"
13936 -#: locale/programs/locales.h:92
13937 -msgid "too many character classes defined"
13938 -msgstr "muitas classes de caracteres definidas"
13939 +#: timezone/zic.c:1198
13940 +msgid "values over 24 hours not handled by pre-2007 versions of zic"
13941 +msgstr "valor sobre 24 horas não tratado por versões anteriores a 2007 do zic"
13943 -#: timezone/zic.c:1843
13944 -msgid "too many leap seconds"
13945 -msgstr "excessivos ajustes em segundos"
13946 +#: timezone/zic.c:1209
13947 +msgid "wrong number of fields on Rule line"
13948 +msgstr "número incorreto de campos na linha Rule"
13950 -#: timezone/zic.c:1815
13951 -msgid "too many local time types"
13952 -msgstr "muitos tipos de tempo local"
13953 +#: timezone/zic.c:1213
13954 +msgid "nameless rule"
13955 +msgstr "regra sem nome"
13957 -#: timezone/zic.c:1769
13958 -msgid "too many transitions?!"
13959 -msgstr "muitas transições?!"
13960 +#: timezone/zic.c:1218
13961 +msgid "invalid saved time"
13962 +msgstr "tempo gravado inválido"
13964 -#: locale/programs/ld-collate.c:1637
13965 -msgid "too many weights"
13966 -msgstr "muitos pesos"
13967 +#: timezone/zic.c:1235
13968 +msgid "wrong number of fields on Zone line"
13969 +msgstr "número incorreto de campos na linha Zone"
13971 -#: timezone/zic.c:2138
13972 -msgid "too many, or too long, time zone abbreviations"
13973 -msgstr "abreviações de zona de tempo excessivas ou muito extensas"
13974 +#: timezone/zic.c:1240
13976 +msgid "\"Zone %s\" line and -l option are mutually exclusive"
13977 +msgstr "A linha “Zone %s” e a opção -l são mutuamente exclusivas"
13979 -#: locale/programs/linereader.h:146
13980 -msgid "trailing garbage at end of line"
13981 -msgstr "lixo no final da linha"
13982 +#: timezone/zic.c:1246
13984 +msgid "\"Zone %s\" line and -p option are mutually exclusive"
13985 +msgstr "A linha “Zone %s” e a opção -p são mutuamente exclusivas"
13987 -#: sunrpc/svc_simple.c:150
13988 +#: timezone/zic.c:1253
13990 -msgid "trouble replying to prog %d\n"
13991 -msgstr "problemas respondendo ao prog %d\n"
13992 +msgid "duplicate zone name %s (file \"%s\", line %<PRIdMAX>)"
13993 +msgstr "nome de fuso horário duplicado %s (arquivo “%s”, linha %<PRIdMAX>)"
13995 -#: locale/programs/ld-collate.c:1393
13996 -msgid "two lines in a row containing `...' are not allowed"
13997 -msgstr "duas linhas em uma lista contendo `...' não são permitidas"
13998 +#: timezone/zic.c:1267
13999 +msgid "wrong number of fields on Zone continuation line"
14000 +msgstr "número incorreto de campos na linha de continuação de Zone"
14002 #: timezone/zic.c:1307
14003 -msgid "typed single year"
14004 -msgstr "digitado ano simples"
14005 +msgid "invalid UT offset"
14006 +msgstr "deslocamento de UT inválido"
14008 -#: iconv/iconv_prog.c:406
14009 -msgid "unable to allocate buffer for input"
14010 -msgstr "incapaz de alocar espaço para entrada"
14012 -#: nis/nis_callback.c:187
14013 -msgid "unable to free arguments"
14014 -msgstr "não consegui liberar parâmetros"
14016 -#: posix/getconf.c:654 posix/getconf.c:670
14018 -msgstr "indefinido"
14020 -#: locale/programs/charmap.c:701 locale/programs/charmap.c:712
14022 -msgid "unknown character `%s'"
14023 -msgstr "caracter desconhecido `%s'"
14025 -#: locale/programs/ld-messages.c:202 locale/programs/ld-messages.c:213
14026 -#: locale/programs/ld-messages.c:224 locale/programs/ld-messages.c:235
14027 -#: locale/programs/ld-time.c:718
14029 -msgid "unknown character in field `%s' of category `%s'"
14030 -msgstr "caracter desconhecido no campo `%s', categoria `%s'"
14032 -#: locale/programs/locfile.c:715
14033 -msgid "unknown collation directive"
14034 -msgstr "diretiva de comparação desconhecida"
14035 +#: timezone/zic.c:1311
14036 +msgid "invalid abbreviation format"
14037 +msgstr "formato de abreviação inválido"
14039 -#: catgets/gencat.c:487
14040 +#: timezone/zic.c:1320
14042 -msgid "unknown directive `%s': line ignored"
14043 -msgstr "diretiva desconhecida `%s': linha ignorada"
14044 +msgid "format '%s' not handled by pre-2015 versions of zic"
14045 +msgstr "formato “%s” não tratado por versões pré-2015 do zic"
14047 -#: iconv/iconv_prog.c:353
14049 -msgid "unknown iconv() error %d"
14050 -msgstr "erro iconv() desconhecido: %d"
14051 +#: timezone/zic.c:1347
14052 +msgid "Zone continuation line end time is not after end time of previous line"
14053 +msgstr "Hora final da linha de fuso horário não está após o tempo final da linha anterior"
14055 -#: catgets/gencat.c:466
14057 -msgid "unknown set `%s'"
14058 -msgstr "conjunto desconhecido `%s'"
14059 +#: timezone/zic.c:1374
14060 +msgid "wrong number of fields on Leap line"
14061 +msgstr "número incorreto de campos na linha Leap"
14063 -#: locale/programs/ld-collate.c:1377 locale/programs/ld-collate.c:1572
14064 -#: locale/programs/ld-collate.c:1747
14066 -msgid "unknown symbol `%.*s': line ignored"
14067 -msgstr "símbolo desconhecido `%.*s': linha ignorada"
14068 +#: timezone/zic.c:1383
14069 +msgid "invalid leaping year"
14070 +msgstr "ano bissexto inválido"
14072 -#: timezone/zic.c:761
14073 -msgid "unruly zone"
14074 -msgstr "zona sem regras"
14075 +#: timezone/zic.c:1403 timezone/zic.c:1501
14076 +msgid "invalid month name"
14077 +msgstr "nome do mês inválido"
14079 -#: catgets/gencat.c:971
14080 -msgid "unterminated message"
14081 -msgstr "mensagem não terminada"
14082 +#: timezone/zic.c:1416 timezone/zic.c:1614 timezone/zic.c:1628
14083 +msgid "invalid day of month"
14084 +msgstr "dia do mês inválido"
14086 -#: locale/programs/linereader.c:520 locale/programs/linereader.c:555
14087 -msgid "unterminated string"
14088 -msgstr "string não terminada"
14089 +#: timezone/zic.c:1421
14090 +msgid "time too small"
14091 +msgstr "hora pequena demais"
14093 -#: sunrpc/rpc_scan.c:350 sunrpc/rpc_scan.c:376
14094 -msgid "unterminated string constant"
14095 -msgstr "string não terminada"
14096 +#: timezone/zic.c:1425
14097 +msgid "time too large"
14098 +msgstr "hora grande demais"
14100 -#: locale/programs/linereader.c:390
14101 -msgid "unterminated symbolic name"
14102 -msgstr "nome simbólico não terminado"
14103 +#: timezone/zic.c:1429 timezone/zic.c:1530
14104 +msgid "invalid time of day"
14105 +msgstr "hora do dia inválida"
14107 -#: locale/programs/ld-collate.c:1699
14108 -msgid "unterminated weight name"
14109 -msgstr "nome do peso não terminado"
14110 +#: timezone/zic.c:1448
14111 +msgid "illegal CORRECTION field on Leap line"
14112 +msgstr "Campo CORRECTION ilegal em linha Leap (ajuste)"
14114 -#: locale/programs/charset.c:104
14115 -msgid "upper limit in range is not smaller then lower limit"
14116 -msgstr "o limite inferior do intervalo é maior que o limite superior"
14117 +#: timezone/zic.c:1453
14118 +msgid "illegal Rolling/Stationary field on Leap line"
14119 +msgstr "campo Rolling/Stationary ilegal em linha Leap (ajuste)"
14121 -#: sunrpc/rpc_main.c:1415
14123 -msgid "usage: %s infile\n"
14124 -msgstr "uso: %s arquivo_entrada\n"
14125 +#: timezone/zic.c:1459
14126 +msgid "leap second precedes Big Bang"
14127 +msgstr "segundo bissexto precede Big Bang"
14129 -#: timezone/zic.c:2081
14130 -msgid "use of 2/29 in non leap-year"
14131 -msgstr "use 2/29 em ano não bissexto"
14132 +#: timezone/zic.c:1472
14133 +msgid "wrong number of fields on Link line"
14134 +msgstr "número incorreto de campos na linha Link"
14136 -#: locale/programs/charmap.c:522 locale/programs/charmap.c:576
14138 -msgid "value for %s must be an integer"
14139 -msgstr "valor para %s deve ser um inteiro"
14140 +#: timezone/zic.c:1476
14141 +msgid "blank FROM field on Link line"
14142 +msgstr "campo FROM em branco na linha Link"
14144 -#: locale/programs/charmap.c:318
14146 -msgid "value for <%s> must lie between 1 and 4"
14147 -msgstr "valor para <%s> deve estar entre 1 e 4"
14148 +#: timezone/zic.c:1551
14149 +msgid "invalid starting year"
14150 +msgstr "ano inicial inválido"
14152 -#: locale/programs/ld-monetary.c:157 locale/programs/ld-numeric.c:92
14154 -msgid "value for field `%s' in category `%s' must not be the empty string"
14155 -msgstr "valor para campo `%s', categoria `%s', não deve ser uma string vazia"
14156 +#: timezone/zic.c:1573
14157 +msgid "invalid ending year"
14158 +msgstr "ano final inválido"
14160 -#: locale/programs/charmap.c:330
14161 -msgid "value of <mb_cur_max> must be greater than the value of <mb_cur_min>"
14162 -msgstr "o valor de <mb_cur_max> deve ser maior que o valor de <mb_cur_min>"
14163 +#: timezone/zic.c:1577
14164 +msgid "starting year greater than ending year"
14165 +msgstr "ano inicial maior que ano final"
14167 -#: locale/programs/ld-monetary.c:147
14168 -msgid "value of field `int_curr_symbol' in category `LC_MONETARY' does not correspond to a valid name in ISO 4217"
14169 -msgstr "o valor do campo `int_curr_symbol' na categoria `LC_MONETARY' não corresponde a um nome válido na ISO 4217"
14170 +#: timezone/zic.c:1584
14171 +msgid "typed single year"
14172 +msgstr "digitado ano simples"
14174 -#: locale/programs/ld-monetary.c:139
14175 -msgid "value of field `int_curr_symbol' in category `LC_MONETARY' has wrong length"
14176 -msgstr "o valor do campo `int_curr_symbol' na categoria `LC_MONETARY' possui tamanho errado"
14177 +#: timezone/zic.c:1619
14178 +msgid "invalid weekday name"
14179 +msgstr "nome de dia de semana inválido"
14181 -#: locale/programs/ld-monetary.c:383 locale/programs/ld-numeric.c:207
14182 +#: timezone/zic.c:1743
14184 -msgid "values for field `%s' in category `%s' must be smaller than 127"
14185 -msgstr "os valores para o campo `%s' na categoria `%s' devem ser menores que 127"
14186 +msgid "reference clients mishandle more than %d transition times"
14187 +msgstr "clientes de referência lidam incorretamente com mais %d tempos de transição"
14189 -#: nscd/connections.c:355
14191 -msgid "while accepting connection: %s"
14192 -msgstr "enquanto aceitando conecção: %s"
14193 +#: timezone/zic.c:1747
14194 +msgid "pre-2014 clients may mishandle more than 1200 transition times"
14195 +msgstr "clientes pré-2014 podem não lidar corretamente comais de 1200 tempos de transições"
14197 -#: nscd/grpcache.c:149 nscd/hstcache.c:168 nscd/pwdcache.c:142
14198 -msgid "while allocating cache entry"
14199 -msgstr "enquanto alocando entrada de cache"
14200 +#: timezone/zic.c:1858
14201 +msgid "too many transition times"
14202 +msgstr "tempos de transição em excesso"
14204 -#: nscd/cache.c:85
14205 -msgid "while allocating hash table entry"
14206 -msgstr "enquanto alocando entrada na tabela hash"
14207 +#: timezone/zic.c:2047
14209 +msgid "%%z UTC offset magnitude exceeds 99:59:59"
14210 +msgstr "a magnitude do deslocamento de %%z UTC excede 99:59:59"
14212 -#: nscd/grpcache.c:99 nscd/hstcache.c:109 nscd/pwdcache.c:105
14213 -msgid "while allocating key copy"
14214 -msgstr "enquanto alocando chave cópia"
14215 +#: timezone/zic.c:2424
14216 +msgid "no POSIX environment variable for zone"
14217 +msgstr "nenhuma variável de ambiente POSIX para o fuso horário"
14219 -#: catgets/gencat.c:1001
14220 -msgid "while opening old catalog file"
14221 -msgstr "enquanto abrindo antigo arquivo de catálogo"
14222 +#: timezone/zic.c:2430
14224 +msgid "%s: pre-%d clients may mishandle distant timestamps"
14225 +msgstr "%s: clientes pré-%d podem não lidar corretamente com marcas de tempo distantes"
14227 -#: locale/programs/locale.c:346
14228 -msgid "while preparing output"
14229 -msgstr "enquanto preparando saída"
14230 +#: timezone/zic.c:2566
14231 +msgid "two rules for same instant"
14232 +msgstr "duas regras para o mesmo instante"
14234 -#: db2/makedb.c:365 db2/makedb.c:382
14235 -msgid "while reading database"
14236 -msgstr "enquanto lendo database"
14237 +#: timezone/zic.c:2627
14238 +msgid "can't determine time zone abbreviation to use just after until time"
14239 +msgstr "não é possível determinar abreviação de fuso horário para usar apenas após um tempo"
14241 -#: elf/sprof.c:683
14242 -msgid "while stat'ing profiling data file"
14243 -msgstr "enquanto escrevendo arquivo data de dados de perfil"
14244 +#: timezone/zic.c:2725
14245 +msgid "too many local time types"
14246 +msgstr "tipos de tempo local em excesso"
14248 -#: db2/makedb.c:334
14249 -msgid "while writing database file"
14250 -msgstr "enquanto escrevendo arquivo data base"
14251 +#: timezone/zic.c:2729
14252 +msgid "UT offset out of range"
14253 +msgstr "deslocamento de UT fora da faixa"
14255 -#: nscd/nscd_stat.c:115
14256 -msgid "write incomplete"
14257 -msgstr "escrita incompleta"
14258 +#: timezone/zic.c:2753
14259 +msgid "too many leap seconds"
14260 +msgstr "número excessivo de segundos bissextos"
14262 -#: inet/rcmd.c:320
14263 -msgid "writeable by other than owner"
14264 -msgstr "permissão de escrita para outros"
14265 +#: timezone/zic.c:2759
14266 +msgid "repeated leap second moment"
14267 +msgstr "momento de segundo bissexto repetido"
14269 -#: db2/makedb.c:124 nscd/nscd.c:114 nss/getent.c:392
14270 -msgid "wrong number of arguments"
14271 -msgstr "número incorreto de argumentos"
14272 +#: timezone/zic.c:2830
14273 +msgid "Wild result from command execution"
14274 +msgstr "Resultado insensato da execução do comando"
14276 -#: timezone/zic.c:1090
14277 -msgid "wrong number of fields on Leap line"
14278 -msgstr "número incorreto de campos na linha Leap"
14279 +#: timezone/zic.c:2831
14281 +msgid "%s: command was '%s', result was %d\n"
14282 +msgstr "%s: comando era “%s”, resultado era %d\n"
14284 -#: timezone/zic.c:1181
14285 -msgid "wrong number of fields on Link line"
14286 -msgstr "número incorreto de campos na linha Link"
14287 +#: timezone/zic.c:2961
14288 +msgid "Odd number of quotation marks"
14289 +msgstr "Número ímpar de aspas"
14291 -#: timezone/zic.c:924
14292 -msgid "wrong number of fields on Rule line"
14293 -msgstr "número incorreto de campos na linha Rule"
14294 +#: timezone/zic.c:3046
14295 +msgid "use of 2/29 in non leap-year"
14296 +msgstr "uso de 2/29 em ano não bissexto"
14298 -#: timezone/zic.c:994
14299 -msgid "wrong number of fields on Zone continuation line"
14300 -msgstr "número incorreto de campos na linha de continuação de Zone"
14301 +#: timezone/zic.c:3081
14302 +msgid "rule goes past start/end of month; will not work with pre-2004 versions of zic"
14303 +msgstr "regra vai de início/fim do mês; não vai funcionar em versões pré-2004 do zic"
14305 -#: timezone/zic.c:952
14306 -msgid "wrong number of fields on Zone line"
14307 -msgstr "número incorreto de campos na linha Zone"
14308 +#: timezone/zic.c:3108
14309 +msgid "time zone abbreviation has fewer than 3 characters"
14310 +msgstr "abreviação de fuso horário possui menos de 3 caracteres"
14312 -#: sunrpc/xdr_ref.c:84
14313 -msgid "xdr_reference: out of memory\n"
14314 -msgstr "xdr_reference: não há memória suficiente\n"
14315 +#: timezone/zic.c:3110
14316 +msgid "time zone abbreviation has too many characters"
14317 +msgstr "abreviação de fuso horário possui um número excessivo de caracteres"
14319 -#: sunrpc/xdr_rec.c:151 sunrpc/xdr_rec.c:166
14320 -msgid "xdrrec_create: out of memory\n"
14321 -msgstr "xdrrec_create: não há memória suficiente\n"
14322 +#: timezone/zic.c:3112
14323 +msgid "time zone abbreviation differs from POSIX standard"
14324 +msgstr "abreviação de fuso horário difere do padrão POSIX"
14326 -#: nis/ypclnt.c:884
14327 -msgid "yp_update: cannot convert host to netname\n"
14328 -msgstr "yp_update: não é possível converter host para netname\n"
14329 +#: timezone/zic.c:3118
14330 +msgid "too many, or too long, time zone abbreviations"
14331 +msgstr "abreviações de fuso horário em excesso ou muito extensas"
14333 -#: nis/ypclnt.c:896
14334 -msgid "yp_update: cannot get server address\n"
14335 -msgstr "yp_update: não é possível obter o endereço do servidor\n"
14336 +#: timezone/zic.c:3161
14338 +msgid "%s: Can't create directory %s: %s"
14339 +msgstr "%s: Não foi possível criar o diretório %s: %s"
14340 diff --git a/posix/Makefile b/posix/Makefile
14341 index 83b3d7418c..0fb280ba69 100644
14342 --- a/posix/Makefile
14343 +++ b/posix/Makefile
14344 @@ -95,10 +95,10 @@ tests := test-errno tstgetopt testfnm runtests runptests \
14345 tst-posix_spawn-fd tst-posix_spawn-setsid \
14346 tst-posix_fadvise tst-posix_fadvise64 \
14347 tst-sysconf-empty-chroot tst-glob_symlinks tst-fexecve \
14349 + tst-glob-tilde tst-spawn4
14350 tests-internal := bug-regex5 bug-regex20 bug-regex33 \
14351 tst-rfc3484 tst-rfc3484-2 tst-rfc3484-3 \
14352 - tst-glob_lstat_compat
14353 + tst-glob_lstat_compat tst-spawn4-compat
14354 xtests := bug-ga2 tst-getaddrinfo4 tst-getaddrinfo5
14355 ifeq (yes,$(build-shared))
14356 test-srcs := globtest
14357 diff --git a/posix/execvpe.c b/posix/execvpe.c
14358 index 859c0f69bf..ea67d19fcd 100644
14359 --- a/posix/execvpe.c
14360 +++ b/posix/execvpe.c
14361 @@ -67,11 +67,9 @@ maybe_script_execute (const char *file, char *const argv[], char *const envp[])
14362 __execve (new_argv[0], new_argv, envp);
14366 -/* Execute FILE, searching in the `PATH' environment variable if it contains
14367 - no slashes, with arguments ARGV and environment from ENVP. */
14369 -__execvpe (const char *file, char *const argv[], char *const envp[])
14371 +__execvpe_common (const char *file, char *const argv[], char *const envp[],
14372 + bool exec_script)
14374 /* We check the simple case first. */
14376 @@ -85,7 +83,7 @@ __execvpe (const char *file, char *const argv[], char *const envp[])
14378 __execve (file, argv, envp);
14380 - if (errno == ENOEXEC)
14381 + if (errno == ENOEXEC && exec_script)
14382 maybe_script_execute (file, argv, envp);
14385 @@ -137,7 +135,7 @@ __execvpe (const char *file, char *const argv[], char *const envp[])
14387 __execve (buffer, argv, envp);
14389 - if (errno == ENOEXEC)
14390 + if (errno == ENOEXEC && exec_script)
14391 /* This has O(P*C) behavior, where P is the length of the path and C
14392 is the argument count. A better strategy would be allocate the
14393 substitute argv and reuse it each time through the loop (so it
14394 @@ -184,4 +182,18 @@ __execvpe (const char *file, char *const argv[], char *const envp[])
14398 +/* Execute FILE, searching in the `PATH' environment variable if it contains
14399 + no slashes, with arguments ARGV and environment from ENVP. */
14401 +__execvpe (const char *file, char *const argv[], char *const envp[])
14403 + return __execvpe_common (file, argv, envp, true);
14405 weak_alias (__execvpe, execvpe)
14407 +/* Same as __EXECVPE, but does not try to execute NOEXEC files. */
14409 +__execvpex (const char *file, char *const argv[], char *const envp[])
14411 + return __execvpe_common (file, argv, envp, false);
14413 diff --git a/posix/regexec.c b/posix/regexec.c
14414 index 4b1ab4ecff..21129432d1 100644
14415 --- a/posix/regexec.c
14416 +++ b/posix/regexec.c
14417 @@ -3848,30 +3848,27 @@ check_node_accept_bytes (const re_dfa_t *dfa, int node_idx,
14418 indirect = (const int32_t *)
14419 _NL_CURRENT (LC_COLLATE, _NL_COLLATE_INDIRECTMB);
14420 int32_t idx = findidx (table, indirect, extra, &cp, elem_len);
14421 + int32_t rule = idx >> 24;
14424 - for (i = 0; i < cset->nequiv_classes; ++i)
14426 - int32_t equiv_class_idx = cset->equiv_classes[i];
14427 - size_t weight_len = weights[idx & 0xffffff];
14428 - if (weight_len == weights[equiv_class_idx & 0xffffff]
14429 - && (idx >> 24) == (equiv_class_idx >> 24))
14434 - equiv_class_idx &= 0xffffff;
14436 - while (cnt <= weight_len
14437 - && (weights[equiv_class_idx + 1 + cnt]
14438 - == weights[idx + 1 + cnt]))
14440 - if (cnt > weight_len)
14442 - match_len = elem_len;
14443 - goto check_node_accept_bytes_match;
14448 + size_t weight_len = weights[idx];
14449 + for (i = 0; i < cset->nequiv_classes; ++i)
14451 + int32_t equiv_class_idx = cset->equiv_classes[i];
14452 + int32_t equiv_class_rule = equiv_class_idx >> 24;
14453 + equiv_class_idx &= 0xffffff;
14454 + if (weights[equiv_class_idx] == weight_len
14455 + && equiv_class_rule == rule
14456 + && memcmp (weights + idx + 1,
14457 + weights + equiv_class_idx + 1,
14458 + weight_len) == 0)
14460 + match_len = elem_len;
14461 + goto check_node_accept_bytes_match;
14468 diff --git a/posix/tst-glob_lstat_compat.c b/posix/tst-glob_lstat_compat.c
14469 index c46bc9e578..22cd1f02f9 100644
14470 --- a/posix/tst-glob_lstat_compat.c
14471 +++ b/posix/tst-glob_lstat_compat.c
14473 #if TEST_COMPAT (libc, GLIBC_2_0, GLIBC_2_27)
14475 __typeof (glob) glob;
14476 +/* On alpha glob exists in version GLIBC_2_0, GLIBC_2_1, and GLIBC_2_27.
14477 + This test needs to access the version prior to GLIBC_2_27, which is
14478 + GLIBC_2_1 on alpha, GLIBC_2_0 elsewhere. */
14480 +compat_symbol_reference (libc, glob, glob, GLIBC_2_1);
14482 compat_symbol_reference (libc, glob, glob, GLIBC_2_0);
14485 /* Compat glob should not call gl_lstat since for some old binaries it
14486 might be unitialized (for instance GNUmake). Check if it is indeed
14487 diff --git a/posix/tst-rfc3484-2.c b/posix/tst-rfc3484-2.c
14488 index f509534ca9..8c64ac59ff 100644
14489 --- a/posix/tst-rfc3484-2.c
14490 +++ b/posix/tst-rfc3484-2.c
14491 @@ -58,6 +58,7 @@ _res_hconf_init (void)
14493 #include "../sysdeps/posix/getaddrinfo.c"
14495 +service_user *__nss_hosts_database attribute_hidden;
14497 /* This is the beginning of the real test code. The above defines
14498 (among other things) the function rfc3484_sort. */
14499 diff --git a/posix/tst-rfc3484-3.c b/posix/tst-rfc3484-3.c
14500 index ae44087a10..1c61aaf844 100644
14501 --- a/posix/tst-rfc3484-3.c
14502 +++ b/posix/tst-rfc3484-3.c
14503 @@ -58,6 +58,7 @@ _res_hconf_init (void)
14505 #include "../sysdeps/posix/getaddrinfo.c"
14507 +service_user *__nss_hosts_database attribute_hidden;
14509 /* This is the beginning of the real test code. The above defines
14510 (among other things) the function rfc3484_sort. */
14511 diff --git a/posix/tst-rfc3484.c b/posix/tst-rfc3484.c
14512 index 7f191abbbc..8f45848e44 100644
14513 --- a/posix/tst-rfc3484.c
14514 +++ b/posix/tst-rfc3484.c
14515 @@ -58,6 +58,7 @@ _res_hconf_init (void)
14517 #include "../sysdeps/posix/getaddrinfo.c"
14519 +service_user *__nss_hosts_database attribute_hidden;
14521 /* This is the beginning of the real test code. The above defines
14522 (among other things) the function rfc3484_sort. */
14523 diff --git a/posix/tst-spawn4-compat.c b/posix/tst-spawn4-compat.c
14524 new file mode 100644
14525 index 0000000000..11f654b913
14527 +++ b/posix/tst-spawn4-compat.c
14529 +/* Check if posix_spawn does handle correctly ENOEXEC files.
14530 + Copyright (C) 2018 Free Software Foundation, Inc.
14531 + This file is part of the GNU C Library.
14533 + The GNU C Library is free software; you can redistribute it and/or
14534 + modify it under the terms of the GNU Lesser General Public
14535 + License as published by the Free Software Foundation; either
14536 + version 2.1 of the License, or (at your option) any later version.
14538 + The GNU C Library is distributed in the hope that it will be useful,
14539 + but WITHOUT ANY WARRANTY; without even the implied warranty of
14540 + MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
14541 + Lesser General Public License for more details.
14543 + You should have received a copy of the GNU Lesser General Public
14544 + License along with the GNU C Library; if not, see
14545 + <http://www.gnu.org/licenses/>. */
14547 +#include <spawn.h>
14548 +#include <errno.h>
14549 +#include <unistd.h>
14550 +#include <sys/stat.h>
14551 +#include <sys/wait.h>
14553 +#include <support/xunistd.h>
14554 +#include <support/check.h>
14555 +#include <support/temp_file.h>
14557 +#include <shlib-compat.h>
14558 +#if TEST_COMPAT (libc, GLIBC_2_0, GLIBC_2_15)
14560 +compat_symbol_reference (libc, posix_spawn, posix_spawn, GLIBC_2_2);
14561 +compat_symbol_reference (libc, posix_spawnp, posix_spawnp, GLIBC_2_2);
14566 + char *scriptname;
14567 + int fd = create_temp_file ("tst-spawn4.", &scriptname);
14568 + TEST_VERIFY_EXIT (fd >= 0);
14570 + const char script[] = "exit 65";
14571 + xwrite (fd, script, sizeof (script) - 1);
14574 + TEST_VERIFY_EXIT (chmod (scriptname, 0x775) == 0);
14579 + /* For compat symbol it verifies that trying to issued a shell script
14580 + without a shebang is correctly executed. */
14581 + status = posix_spawn (&pid, scriptname, NULL, NULL, (char *[]) { 0 },
14582 + (char *[]) { 0 });
14583 + TEST_VERIFY_EXIT (status == 0);
14585 + TEST_VERIFY_EXIT (waitpid (pid, &status, 0) == pid);
14586 + TEST_VERIFY_EXIT (WIFEXITED (status) == 1 && WEXITSTATUS (status) == 65);
14588 + status = posix_spawnp (&pid, scriptname, NULL, NULL, (char *[]) { 0 },
14589 + (char *[]) { 0 });
14590 + TEST_VERIFY_EXIT (status == 0);
14592 + TEST_VERIFY_EXIT (waitpid (pid, &status, 0) == pid);
14593 + TEST_VERIFY_EXIT (WIFEXITED (status) == 1 && WEXITSTATUS (status) == 65);
14605 +#include <support/test-driver.c>
14606 diff --git a/posix/tst-spawn4.c b/posix/tst-spawn4.c
14607 new file mode 100644
14608 index 0000000000..e4a1fa3f00
14610 +++ b/posix/tst-spawn4.c
14612 +/* Check if posix_spawn does handle correctly ENOEXEC files.
14613 + Copyright (C) 2018 Free Software Foundation, Inc.
14614 + This file is part of the GNU C Library.
14616 + The GNU C Library is free software; you can redistribute it and/or
14617 + modify it under the terms of the GNU Lesser General Public
14618 + License as published by the Free Software Foundation; either
14619 + version 2.1 of the License, or (at your option) any later version.
14621 + The GNU C Library is distributed in the hope that it will be useful,
14622 + but WITHOUT ANY WARRANTY; without even the implied warranty of
14623 + MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
14624 + Lesser General Public License for more details.
14626 + You should have received a copy of the GNU Lesser General Public
14627 + License along with the GNU C Library; if not, see
14628 + <http://www.gnu.org/licenses/>. */
14630 +#include <spawn.h>
14631 +#include <errno.h>
14632 +#include <unistd.h>
14633 +#include <sys/stat.h>
14635 +#include <support/xunistd.h>
14636 +#include <support/check.h>
14637 +#include <support/temp_file.h>
14642 + char *scriptname;
14643 + int fd = create_temp_file ("tst-spawn4.", &scriptname);
14644 + TEST_VERIFY_EXIT (fd >= 0);
14646 + const char script[] = "echo it should not happen";
14647 + xwrite (fd, script, sizeof (script) - 1);
14650 + TEST_VERIFY_EXIT (chmod (scriptname, 0x775) == 0);
14655 + /* Check if scripts without shebang are correctly not executed. */
14656 + status = posix_spawn (&pid, scriptname, NULL, NULL, (char *[]) { 0 },
14657 + (char *[]) { 0 });
14658 + TEST_VERIFY_EXIT (status == ENOEXEC);
14660 + status = posix_spawnp (&pid, scriptname, NULL, NULL, (char *[]) { 0 },
14661 + (char *[]) { 0 });
14662 + TEST_VERIFY_EXIT (status == ENOEXEC);
14667 +#include <support/test-driver.c>
14668 diff --git a/resolv/gai_misc.c b/resolv/gai_misc.c
14669 index e7c3b63cc5..80a2cff835 100644
14670 --- a/resolv/gai_misc.c
14671 +++ b/resolv/gai_misc.c
14672 @@ -261,8 +261,11 @@ __gai_enqueue_request (struct gaicb *gaicbp)
14673 /* We cannot create a thread in the moment and there is
14674 also no thread running. This is a problem. `errno' is
14675 set to EAGAIN if this is only a temporary problem. */
14676 - assert (lastp->next == newp);
14677 - lastp->next = NULL;
14678 + assert (requests == newp || lastp->next == newp);
14679 + if (lastp != NULL)
14680 + lastp->next = NULL;
14683 requests_tail = lastp;
14685 newp->next = freelist;
14686 diff --git a/resolv/res_send.c b/resolv/res_send.c
14687 index dde0425a33..9e9541789b 100644
14688 --- a/resolv/res_send.c
14689 +++ b/resolv/res_send.c
14690 @@ -471,6 +471,11 @@ __res_context_send (struct resolv_context *ctx,
14692 sizeof (struct sockaddr_in6)
14693 - sizeof (struct sockaddr_in));
14696 + __set_errno (ENOMEM);
14700 EXT(statp).nscount = statp->nscount;
14702 @@ -1152,25 +1157,27 @@ send_dg(res_state statp,
14703 if (have_sendmmsg >= 0 && nwritten == 0 && buf2 != NULL
14704 && !single_request)
14706 - struct iovec iov[2];
14707 - struct mmsghdr reqs[2];
14708 - reqs[0].msg_hdr.msg_name = NULL;
14709 - reqs[0].msg_hdr.msg_namelen = 0;
14710 - reqs[0].msg_hdr.msg_iov = &iov[0];
14711 - reqs[0].msg_hdr.msg_iovlen = 1;
14712 - iov[0].iov_base = (void *) buf;
14713 - iov[0].iov_len = buflen;
14714 - reqs[0].msg_hdr.msg_control = NULL;
14715 - reqs[0].msg_hdr.msg_controllen = 0;
14717 - reqs[1].msg_hdr.msg_name = NULL;
14718 - reqs[1].msg_hdr.msg_namelen = 0;
14719 - reqs[1].msg_hdr.msg_iov = &iov[1];
14720 - reqs[1].msg_hdr.msg_iovlen = 1;
14721 - iov[1].iov_base = (void *) buf2;
14722 - iov[1].iov_len = buflen2;
14723 - reqs[1].msg_hdr.msg_control = NULL;
14724 - reqs[1].msg_hdr.msg_controllen = 0;
14725 + struct iovec iov =
14726 + { .iov_base = (void *) buf, .iov_len = buflen };
14727 + struct iovec iov2 =
14728 + { .iov_base = (void *) buf2, .iov_len = buflen2 };
14729 + struct mmsghdr reqs[2] =
14741 + .msg_iov = &iov2,
14747 int ndg = __sendmmsg (pfd[0].fd, reqs, 2, MSG_NOSIGNAL);
14748 if (__glibc_likely (ndg == 2))
14749 diff --git a/resolv/tst-resolv-network.c b/resolv/tst-resolv-network.c
14750 index 4b862d57e6..735e38d0f8 100644
14751 --- a/resolv/tst-resolv-network.c
14752 +++ b/resolv/tst-resolv-network.c
14753 @@ -149,6 +149,9 @@ handle_code (const struct resolv_response_context *ctx,
14754 resolv_response_add_data (b, &rrtype, sizeof (rrtype));
14758 + send_ptr (b, qname, qclass, qtype, "host.example");
14761 FAIL_EXIT1 ("invalid QNAME: %s (code %d)", qname, code);
14763 @@ -257,6 +260,9 @@ do_test (void)
14764 "error: TRY_AGAIN\n");
14765 check_netent ("code103.example", getnetbyname ("code103.example"),
14766 "error: NO_RECOVERY\n");
14767 + /* Test bug #17630. */
14768 + check_netent ("code104.example", getnetbyname ("code104.example"),
14769 + "error: TRY_AGAIN\n");
14771 /* Lookup by address, success cases. */
14773 diff --git a/signal/Makefile b/signal/Makefile
14774 index a9b99a20be..aa63434f47 100644
14775 --- a/signal/Makefile
14776 +++ b/signal/Makefile
14777 @@ -46,7 +46,7 @@ routines := signal raise killpg \
14778 sighold sigrelse sigignore sigset
14780 tests := tst-signal tst-sigset tst-sigsimple tst-raise tst-sigset2 \
14781 - tst-sigwait-eintr \
14782 + tst-sigwait-eintr tst-sigaction \
14786 diff --git a/signal/tst-sigaction.c b/signal/tst-sigaction.c
14787 new file mode 100644
14788 index 0000000000..c908e8f6f6
14790 +++ b/signal/tst-sigaction.c
14792 +/* Test sigaction regression for BZ #23069.
14793 + Copyright (C) 2018 Free Software Foundation, Inc.
14794 + This file is part of the GNU C Library.
14796 + The GNU C Library is free software; you can redistribute it and/or
14797 + modify it under the terms of the GNU Lesser General Public
14798 + License as published by the Free Software Foundation; either
14799 + version 2.1 of the License, or (at your option) any later version.
14801 + The GNU C Library is distributed in the hope that it will be useful,
14802 + but WITHOUT ANY WARRANTY; without even the implied warranty of
14803 + MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
14804 + Lesser General Public License for more details.
14806 + You should have received a copy of the GNU Lesser General Public
14807 + License along with the GNU C Library; if not, see
14808 + <http://www.gnu.org/licenses/>. */
14810 +#include <signal.h>
14811 +#include <unistd.h>
14813 +#include <support/check.h>
14816 +my_sig_handler (int signum)
14823 + /* Define a simple signal handler */
14824 + struct sigaction act;
14825 + act.sa_handler = my_sig_handler;
14826 + act.sa_flags = 0;
14827 + sigemptyset (&act.sa_mask);
14829 + /* Set it as SIGUSR1 signal handler */
14830 + TEST_VERIFY_EXIT (sigaction (SIGUSR1, &act, NULL) == 0);
14832 + /* Get SIGUSR1 signal handler */
14833 + TEST_VERIFY_EXIT (sigaction (SIGUSR1, NULL, &act) == 0);
14835 + /* Check it is consistent with the defined one */
14836 + TEST_VERIFY (act.sa_handler == my_sig_handler);
14837 + TEST_VERIFY (!(act.sa_flags & SA_RESETHAND));
14839 + for (int i = 1; i < _NSIG; i++)
14841 + TEST_VERIFY (!sigismember (&act.sa_mask, i));
14847 +#include <support/test-driver.c>
14848 diff --git a/stdio-common/tst-printf.c b/stdio-common/tst-printf.c
14849 index d73f0cc34e..70d9e584b3 100644
14850 --- a/stdio-common/tst-printf.c
14851 +++ b/stdio-common/tst-printf.c
14852 @@ -69,77 +69,7 @@ fmtst2chk (const char *fmt)
14853 (void) printf(fmt, 4, 4, 0x12);
14854 (void) printf("'\n");
14857 -/* This page is covered by the following copyright: */
14859 -/* (C) Copyright C E Chew
14861 - * Feel free to copy, use and distribute this software provided:
14863 - * 1. you do not pretend that you wrote it
14864 - * 2. you leave this copyright notice intact.
14868 - * Extracted from exercise.c for glibc-1.05 bug report by Bruce Evans.
14875 -/* Formatted Output Test
14877 - * This exercises the output formatting code.
14885 - char *prefix = buf;
14888 - puts("\nFormatted output test");
14889 - printf("prefix 6d 6o 6x 6X 6u\n");
14890 - strcpy(prefix, "%");
14891 - for (i = 0; i < 2; i++) {
14892 - for (j = 0; j < 2; j++) {
14893 - for (k = 0; k < 2; k++) {
14894 - for (l = 0; l < 2; l++) {
14895 - strcpy(prefix, "%");
14896 - if (i == 0) strcat(prefix, "-");
14897 - if (j == 0) strcat(prefix, "+");
14898 - if (k == 0) strcat(prefix, "#");
14899 - if (l == 0) strcat(prefix, "0");
14900 - printf("%5s |", prefix);
14901 - strcpy(tp, prefix);
14902 - strcat(tp, "6d |");
14904 - strcpy(tp, prefix);
14905 - strcat(tp, "6o |");
14907 - strcpy(tp, prefix);
14908 - strcat(tp, "6x |");
14910 - strcpy(tp, prefix);
14911 - strcat(tp, "6X |");
14913 - strcpy(tp, prefix);
14914 - strcat(tp, "6u |");
14921 - printf("%10s\n", (char *) NULL);
14922 - printf("%-10s\n", (char *) NULL);
14923 - printf("%.8f\n", DBL_MAX);
14924 - printf("%.8f\n", -DBL_MAX);
14930 @@ -239,8 +169,8 @@ I am ready for my first lesson today.";
14931 snprintf(buf2, sizeof(buf2), "%.999999u", 10));
14936 + printf("%.8f\n", DBL_MAX);
14937 + printf("%.8f\n", -DBL_MAX);
14938 printf ("%e should be 1.234568e+06\n", 1234567.8);
14939 printf ("%f should be 1234567.800000\n", 1234567.8);
14940 printf ("%g should be 1.23457e+06\n", 1234567.8);
14941 diff --git a/stdio-common/tst-printf.sh b/stdio-common/tst-printf.sh
14942 index 93bfe03c6f..b543cc646c 100644
14943 --- a/stdio-common/tst-printf.sh
14944 +++ b/stdio-common/tst-printf.sh
14945 @@ -105,27 +105,6 @@ something really insane: 1.00000000000000000000000000000000000000000000000000000
14946 | 123456.0000| 1.2346e+05| 1.235e+05|
14947 snprintf ("%30s", "foo") == 30, " "
14948 snprintf ("%.999999u", 10) == 999999
14950 -Formatted output test
14951 -prefix 6d 6o 6x 6X 6u
14952 -%-+#0 |-123 |0377 |0xff |0XFF |4294967295 |
14953 - %-+# |-123 |0377 |0xff |0XFF |4294967295 |
14954 - %-+0 |-123 |377 |ff |FF |4294967295 |
14955 - %-+ |-123 |377 |ff |FF |4294967295 |
14956 - %-#0 |-123 |0377 |0xff |0XFF |4294967295 |
14957 - %-# |-123 |0377 |0xff |0XFF |4294967295 |
14958 - %-0 |-123 |377 |ff |FF |4294967295 |
14959 - %- |-123 |377 |ff |FF |4294967295 |
14960 - %+#0 |-00123 |000377 |0x00ff |0X00FF |4294967295 |
14961 - %+# | -123 | 0377 | 0xff | 0XFF |4294967295 |
14962 - %+0 |-00123 |000377 |0000ff |0000FF |4294967295 |
14963 - %+ | -123 | 377 | ff | FF |4294967295 |
14964 - %#0 |-00123 |000377 |0x00ff |0X00FF |4294967295 |
14965 - %# | -123 | 0377 | 0xff | 0XFF |4294967295 |
14966 - %0 |-00123 |000377 |0000ff |0000FF |4294967295 |
14967 - % | -123 | 377 | ff | FF |4294967295 |
14970 179769313486231570814527423731704356798070567525844996598917476803157260780028538760589558632766878171540458953514382464234321326889464182768467546703537516986049910576551282076245490090389328944075868508455133942304583236903222948165808559332123348274797826204144723168738177180919299881250404026184124858368.00000000
14971 -179769313486231570814527423731704356798070567525844996598917476803157260780028538760589558632766878171540458953514382464234321326889464182768467546703537516986049910576551282076245490090389328944075868508455133942304583236903222948165808559332123348274797826204144723168738177180919299881250404026184124858368.00000000
14972 1.234568e+06 should be 1.234568e+06
14973 @@ -225,27 +204,6 @@ something really insane: 1.00000000000000000000000000000000000000000000000000000
14974 | 123456.0000| 1.2346e+05| 1.235e+05|
14975 snprintf ("%30s", "foo") == 30, " "
14976 snprintf ("%.999999u", 10) == 999999
14978 -Formatted output test
14979 -prefix 6d 6o 6x 6X 6u
14980 -%-+#0 |-123 |0377 |0xff |0XFF |4294967295 |
14981 - %-+# |-123 |0377 |0xff |0XFF |4294967295 |
14982 - %-+0 |-123 |377 |ff |FF |4294967295 |
14983 - %-+ |-123 |377 |ff |FF |4294967295 |
14984 - %-#0 |-123 |0377 |0xff |0XFF |4294967295 |
14985 - %-# |-123 |0377 |0xff |0XFF |4294967295 |
14986 - %-0 |-123 |377 |ff |FF |4294967295 |
14987 - %- |-123 |377 |ff |FF |4294967295 |
14988 - %+#0 |-00123 |000377 |0x00ff |0X00FF |4294967295 |
14989 - %+# | -123 | 0377 | 0xff | 0XFF |4294967295 |
14990 - %+0 |-00123 |000377 |0000ff |0000FF |4294967295 |
14991 - %+ | -123 | 377 | ff | FF |4294967295 |
14992 - %#0 |-00123 |000377 |0x00ff |0X00FF |4294967295 |
14993 - %# | -123 | 0377 | 0xff | 0XFF |4294967295 |
14994 - %0 |-00123 |000377 |0000ff |0000FF |4294967295 |
14995 - % | -123 | 377 | ff | FF |4294967295 |
14998 179769313486231570814527423731704356798070567525844996598917476803157260780028538760589558632766878171540458953514382464234321326889464182768467546703537516986049910576551282076245490090389328944075868508455133942304583236903222948165808559332123348274797826204144723168738177180919299881250404026184124858368.00000000
14999 -179769313486231570814527423731704356798070567525844996598917476803157260780028538760589558632766878171540458953514382464234321326889464182768467546703537516986049910576551282076245490090389328944075868508455133942304583236903222948165808559332123348274797826204144723168738177180919299881250404026184124858368.00000000
15000 1.234568e+06 should be 1.234568e+06
15001 diff --git a/stdlib/Makefile b/stdlib/Makefile
15002 index 7c363a6e4d..a9ad849531 100644
15003 --- a/stdlib/Makefile
15004 +++ b/stdlib/Makefile
15005 @@ -84,7 +84,7 @@ tests := tst-strtol tst-strtod testmb testrand testsort testdiv \
15006 tst-cxa_atexit tst-on_exit test-atexit-race \
15007 test-at_quick_exit-race test-cxa_atexit-race \
15008 test-on_exit-race test-dlclose-exit-race \
15009 - tst-makecontext-align
15010 + tst-makecontext-align test-bz22786
15012 tests-internal := tst-strtod1i tst-strtod3 tst-strtod4 tst-strtod5i \
15013 tst-tls-atexit tst-tls-atexit-nodelete
15014 diff --git a/stdlib/canonicalize.c b/stdlib/canonicalize.c
15015 index 30825a91b8..432fc82b4a 100644
15016 --- a/stdlib/canonicalize.c
15017 +++ b/stdlib/canonicalize.c
15018 @@ -181,7 +181,7 @@ __realpath (const char *name, char *resolved)
15019 extra_buf = __alloca (path_max);
15021 len = strlen (end);
15022 - if ((long int) (n + len) >= path_max)
15023 + if (path_max - n <= len)
15025 __set_errno (ENAMETOOLONG);
15027 diff --git a/stdlib/random_r.c b/stdlib/random_r.c
15028 index 4d2f0d472f..b47c65c6d7 100644
15029 --- a/stdlib/random_r.c
15030 +++ b/stdlib/random_r.c
15031 @@ -361,8 +361,7 @@ __random_r (struct random_data *buf, int32_t *result)
15033 if (buf->rand_type == TYPE_0)
15035 - int32_t val = state[0];
15036 - val = ((state[0] * 1103515245) + 12345) & 0x7fffffff;
15037 + int32_t val = ((state[0] * 1103515245U) + 12345U) & 0x7fffffff;
15041 @@ -371,11 +370,11 @@ __random_r (struct random_data *buf, int32_t *result)
15042 int32_t *fptr = buf->fptr;
15043 int32_t *rptr = buf->rptr;
15044 int32_t *end_ptr = buf->end_ptr;
15048 - val = *fptr += *rptr;
15049 + val = *fptr += (uint32_t) *rptr;
15050 /* Chucking least random bit. */
15051 - *result = (val >> 1) & 0x7fffffff;
15052 + *result = val >> 1;
15054 if (fptr >= end_ptr)
15056 diff --git a/stdlib/test-bz22786.c b/stdlib/test-bz22786.c
15057 new file mode 100644
15058 index 0000000000..e7837f98c1
15060 +++ b/stdlib/test-bz22786.c
15062 +/* Bug 22786: test for buffer overflow in realpath.
15063 + Copyright (C) 2018 Free Software Foundation, Inc.
15064 + This file is part of the GNU C Library.
15066 + The GNU C Library is free software; you can redistribute it and/or
15067 + modify it under the terms of the GNU Lesser General Public
15068 + License as published by the Free Software Foundation; either
15069 + version 2.1 of the License, or (at your option) any later version.
15071 + The GNU C Library is distributed in the hope that it will be useful,
15072 + but WITHOUT ANY WARRANTY; without even the implied warranty of
15073 + MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
15074 + Lesser General Public License for more details.
15076 + You should have received a copy of the GNU Lesser General Public
15077 + License along with the GNU C Library; if not, see
15078 + <http://www.gnu.org/licenses/>. */
15080 +/* This file must be run from within a directory called "stdlib". */
15082 +#include <errno.h>
15083 +#include <limits.h>
15084 +#include <stdio.h>
15085 +#include <stdlib.h>
15086 +#include <string.h>
15087 +#include <unistd.h>
15088 +#include <sys/stat.h>
15089 +#include <sys/types.h>
15090 +#include <support/test-driver.h>
15091 +#include <libc-diag.h>
15096 + const char dir[] = "bz22786";
15097 + const char lnk[] = "bz22786/symlink";
15100 + if (mkdir (dir, 0755) != 0 && errno != EEXIST)
15102 + printf ("mkdir %s: %m\n", dir);
15103 + return EXIT_FAILURE;
15105 + if (symlink (".", lnk) != 0 && errno != EEXIST)
15107 + printf ("symlink (%s, %s): %m\n", dir, lnk);
15108 + return EXIT_FAILURE;
15111 + const size_t path_len = (size_t) INT_MAX + 1;
15113 + DIAG_PUSH_NEEDS_COMMENT;
15114 +#if __GNUC_PREREQ (7, 0)
15115 + /* GCC 7 warns about too-large allocations; here we need such
15116 + allocation to succeed for the test to work. */
15117 + DIAG_IGNORE_NEEDS_COMMENT (7, "-Walloc-size-larger-than=");
15119 + char *path = malloc (path_len);
15120 + DIAG_POP_NEEDS_COMMENT;
15122 + if (path == NULL)
15124 + printf ("malloc (%zu): %m\n", path_len);
15125 + return EXIT_UNSUPPORTED;
15128 + /* Construct very long path = "bz22786/symlink/aaaa....." */
15129 + char *p = mempcpy (path, lnk, sizeof (lnk) - 1);
15131 + memset (p, 'a', path_len - (path - p) - 2);
15132 + p[path_len - (path - p) - 1] = '\0';
15134 + /* This call crashes before the fix for bz22786 on 32-bit platforms. */
15135 + p = realpath (path, NULL);
15137 + if (p != NULL || errno != ENAMETOOLONG)
15139 + printf ("realpath: %s (%m)", p);
15140 + return EXIT_FAILURE;
15150 +#define TEST_FUNCTION do_test
15151 +#include <support/test-driver.c>
15152 diff --git a/string/test-memcpy.c b/string/test-memcpy.c
15153 index 45f20a6d80..3c8066da52 100644
15154 --- a/string/test-memcpy.c
15155 +++ b/string/test-memcpy.c
15156 @@ -212,6 +212,50 @@ do_random_tests (void)
15163 + size_t size = 0x100000;
15166 + large_buf = mmap (NULL, size * 2 + page_size, PROT_READ | PROT_WRITE,
15167 + MAP_PRIVATE | MAP_ANON, -1, 0);
15168 + if (large_buf == MAP_FAILED)
15170 + puts ("Failed to allocat large_buf, skipping do_test1");
15174 + if (mprotect (large_buf + size, page_size, PROT_NONE))
15175 + error (EXIT_FAILURE, errno, "mprotect failed");
15177 + size_t arrary_size = size / sizeof (uint32_t);
15178 + uint32_t *dest = large_buf;
15179 + uint32_t *src = large_buf + size + page_size;
15182 + for (i = 0; i < arrary_size; i++)
15183 + src[i] = (uint32_t) i;
15185 + FOR_EACH_IMPL (impl, 0)
15187 + memset (dest, -1, size);
15188 + CALL (impl, (char *) dest, (char *) src, size);
15189 + for (i = 0; i < arrary_size; i++)
15190 + if (dest[i] != src[i])
15193 + "Wrong result in function %s dst \"%p\" src \"%p\" offset \"%zd\"",
15194 + impl->name, dest, src, i);
15200 + munmap ((void *) dest, size);
15201 + munmap ((void *) src, size);
15207 @@ -253,6 +297,9 @@ test_main (void)
15208 do_test (0, 0, getpagesize ());
15210 do_random_tests ();
15217 diff --git a/string/test-memmove.c b/string/test-memmove.c
15218 index edc7a4c3bf..64e3651ba4 100644
15219 --- a/string/test-memmove.c
15220 +++ b/string/test-memmove.c
15222 # define TEST_NAME "memmove"
15224 #include "test-string.h"
15225 +#include <support/test-driver.h>
15227 char *simple_memmove (char *, const char *, size_t);
15229 @@ -245,6 +246,60 @@ do_random_tests (void)
15236 + size_t size = 0x20000000;
15237 + uint32_t * large_buf;
15239 + large_buf = mmap ((void*) 0x70000000, size, PROT_READ | PROT_WRITE,
15240 + MAP_PRIVATE | MAP_ANON, -1, 0);
15242 + if (large_buf == MAP_FAILED)
15243 + error (EXIT_UNSUPPORTED, errno, "Large mmap failed");
15245 + if ((uintptr_t) large_buf > 0x80000000 - 128
15246 + || 0x80000000 - (uintptr_t) large_buf > 0x20000000)
15248 + error (0, 0, "Large mmap allocated improperly");
15249 + ret = EXIT_UNSUPPORTED;
15250 + munmap ((void *) large_buf, size);
15254 + size_t bytes_move = 0x80000000 - (uintptr_t) large_buf;
15255 + size_t arr_size = bytes_move / sizeof (uint32_t);
15258 + FOR_EACH_IMPL (impl, 0)
15260 + for (i = 0; i < arr_size; i++)
15261 + large_buf[i] = (uint32_t) i;
15263 + uint32_t * dst = &large_buf[33];
15266 + CALL (impl, (char *) large_buf, (char *) dst, bytes_move);
15268 + CALL (impl, (char *) dst, (char *) large_buf, bytes_move);
15271 + for (i = 0; i < arr_size; i++)
15273 + if (dst[i] != (uint32_t) i)
15276 + "Wrong result in function %s dst \"%p\" src \"%p\" offset \"%zd\"",
15277 + impl->name, dst, large_buf, i);
15284 + munmap ((void *) large_buf, size);
15290 @@ -284,6 +339,9 @@ test_main (void)
15293 do_random_tests ();
15300 diff --git a/string/test-mempcpy.c b/string/test-mempcpy.c
15301 index c08fba895e..d98ecdd2d9 100644
15302 --- a/string/test-mempcpy.c
15303 +++ b/string/test-mempcpy.c
15305 <http://www.gnu.org/licenses/>. */
15307 #define MEMCPY_RESULT(dst, len) (dst) + (len)
15308 +#define MIN_PAGE_SIZE 131072
15310 #define TEST_NAME "mempcpy"
15311 #include "test-string.h"
15312 diff --git a/sunrpc/rpc_common.c b/sunrpc/rpc_common.c
15313 index 710191163c..2d42827a87 100644
15314 --- a/sunrpc/rpc_common.c
15315 +++ b/sunrpc/rpc_common.c
15317 the variable is declared. So we use the section attribute. */
15318 struct opaque_auth _null_auth __attribute__ ((nocommon));
15319 libc_hidden_nolink_sunrpc (_null_auth, GLIBC_2_0)
15321 -struct rpc_createerr rpc_createerr;
15322 -struct pollfd *svc_pollfd;
15323 -int svc_max_pollfd;
15325 +/* The variables need the nocommon attribute, so that it is possible
15326 + to create aliases and specify symbol versions. */
15327 +fd_set svc_fdset __attribute__ ((nocommon));
15328 +libc_hidden_nolink_sunrpc (svc_fdset, GLIBC_2_0)
15329 +struct rpc_createerr rpc_createerr __attribute__ ((nocommon));
15330 +libc_hidden_nolink_sunrpc (rpc_createerr, GLIBC_2_0)
15331 +struct pollfd *svc_pollfd __attribute__ ((nocommon));
15332 +libc_hidden_nolink_sunrpc (svc_pollfd, GLIBC_2_2)
15333 +int svc_max_pollfd __attribute__ ((nocommon));
15334 +libc_hidden_nolink_sunrpc (svc_max_pollfd, GLIBC_2_2)
15335 diff --git a/sunrpc/svcauth_des.c b/sunrpc/svcauth_des.c
15336 index f99a5a324f..9ce4804239 100644
15337 --- a/sunrpc/svcauth_des.c
15338 +++ b/sunrpc/svcauth_des.c
15339 @@ -87,16 +87,21 @@ static void cache_ref (uint32_t sid); /* note that sid was ref'd */
15341 static void invalidate (char *cred); /* invalidate entry in cache */
15344 - * cache statistics
15346 +/* Cache statistics. Accidental historic export without a matching
15347 + declaration in any header file. */
15353 u_long ncachehits; /* times cache hit, and is not replay */
15354 u_long ncachereplays; /* times cache hit, and is replay */
15355 u_long ncachemisses; /* times cache missed */
15358 +svcauthdes_stats __attribute__ ((nocommon));
15360 +compat_symbol (libc, svcauthdes_stats, svcauthdes_stats, GLIBC_2_0);
15364 * Service side authenticator for AUTH_DES
15365 diff --git a/support/Makefile b/support/Makefile
15366 index 1bda81e55e..652d2cdf69 100644
15367 --- a/support/Makefile
15368 +++ b/support/Makefile
15369 @@ -52,9 +52,12 @@ libsupport-routines = \
15370 support_format_hostent \
15371 support_format_netent \
15372 support_isolate_in_subprocess \
15373 + support_openpty \
15374 + support_quote_blob \
15375 support_record_failure \
15377 support_shared_allocate \
15378 + support_test_compare_blob \
15379 support_test_compare_failure \
15380 support_write_file_string \
15381 support_test_main \
15382 @@ -95,6 +98,9 @@ libsupport-routines = \
15383 xpthread_barrier_destroy \
15384 xpthread_barrier_init \
15385 xpthread_barrier_wait \
15386 + xpthread_barrierattr_destroy \
15387 + xpthread_barrierattr_init \
15388 + xpthread_barrierattr_setpshared \
15390 xpthread_check_return \
15391 xpthread_cond_wait \
15392 @@ -150,8 +156,10 @@ tests = \
15393 tst-support-namespace \
15394 tst-support_capture_subprocess \
15395 tst-support_format_dns_packet \
15396 + tst-support_quote_blob \
15397 tst-support_record_failure \
15399 + tst-test_compare_blob \
15402 ifeq ($(run-built-tests),yes)
15403 diff --git a/support/check.h b/support/check.h
15404 index 2192f38941..b3a4645e92 100644
15405 --- a/support/check.h
15406 +++ b/support/check.h
15407 @@ -64,6 +64,8 @@ __BEGIN_DECLS
15408 (1, __FILE__, __LINE__, #expr); \
15413 int support_print_failure_impl (const char *file, int line,
15414 const char *format, ...)
15415 __attribute__ ((nonnull (1), format (printf, 3, 4)));
15416 @@ -141,6 +143,26 @@ void support_test_compare_failure (const char *file, int line,
15420 +/* Compare [LEFT, LEFT + LEFT_LENGTH) with [RIGHT, RIGHT +
15421 + RIGHT_LENGTH) and report a test failure if the arrays are
15422 + different. LEFT_LENGTH and RIGHT_LENGTH are measured in bytes. If
15423 + the length is null, the corresponding pointer is ignored (i.e., it
15424 + can be NULL). The blobs should be reasonably short because on
15425 + mismatch, both are printed. */
15426 +#define TEST_COMPARE_BLOB(left, left_length, right, right_length) \
15427 + (support_test_compare_blob (left, left_length, right, right_length, \
15428 + __FILE__, __LINE__, \
15429 + #left, #left_length, #right, #right_length))
15431 +void support_test_compare_blob (const void *left,
15432 + unsigned long int left_length,
15433 + const void *right,
15434 + unsigned long int right_length,
15435 + const char *file, int line,
15436 + const char *left_exp, const char *left_len_exp,
15437 + const char *right_exp,
15438 + const char *right_len_exp);
15440 /* Internal function called by the test driver. */
15441 int support_report_failure (int status)
15442 __attribute__ ((weak, warn_unused_result));
15443 diff --git a/support/support.h b/support/support.h
15444 index bc5827ed87..b61fe0735c 100644
15445 --- a/support/support.h
15446 +++ b/support/support.h
15447 @@ -59,6 +59,12 @@ void support_shared_free (void *);
15448 process on error. */
15449 void support_write_file_string (const char *path, const char *contents);
15451 +/* Quote the contents of the byte array starting at BLOB, of LENGTH
15452 + bytes, in such a way that the result string can be included in a C
15453 + literal (in single/double quotes, without putting the quotes into
15455 +char *support_quote_blob (const void *blob, size_t length);
15457 /* Error-checking wrapper functions which terminate the process on
15460 diff --git a/support/support_format_addrinfo.c b/support/support_format_addrinfo.c
15461 index c5e00e516a..60d2cc40f6 100644
15462 --- a/support/support_format_addrinfo.c
15463 +++ b/support/support_format_addrinfo.c
15464 @@ -67,8 +67,6 @@ format_ai_flags (FILE *out, struct addrinfo *ai)
15465 FLAG (AI_ADDRCONFIG);
15467 FLAG (AI_CANONIDN);
15468 - FLAG (AI_IDN_ALLOW_UNASSIGNED);
15469 - FLAG (AI_IDN_USE_STD3_ASCII_RULES);
15470 FLAG (AI_NUMERICSERV);
15472 int remaining = ai->ai_flags & ~flags_printed;
15473 @@ -220,7 +218,11 @@ support_format_addrinfo (struct addrinfo *ai, int ret)
15474 xopen_memstream (&mem);
15477 - fprintf (mem.out, "error: %s\n", gai_strerror (ret));
15478 + const char *errmsg = gai_strerror (ret);
15479 + if (strcmp (errmsg, "Unknown error") == 0)
15480 + fprintf (mem.out, "error: Unknown error %d\n", ret);
15482 + fprintf (mem.out, "error: %s\n", errmsg);
15483 if (ret == EAI_SYSTEM)
15485 errno = errno_copy;
15486 diff --git a/support/support_openpty.c b/support/support_openpty.c
15487 new file mode 100644
15488 index 0000000000..ac779ab91e
15490 +++ b/support/support_openpty.c
15492 +/* Open a pseudoterminal.
15493 + Copyright (C) 2018 Free Software Foundation, Inc.
15494 + This file is part of the GNU C Library.
15496 + The GNU C Library is free software; you can redistribute it and/or
15497 + modify it under the terms of the GNU Lesser General Public
15498 + License as published by the Free Software Foundation; either
15499 + version 2.1 of the License, or (at your option) any later version.
15501 + The GNU C Library is distributed in the hope that it will be useful,
15502 + but WITHOUT ANY WARRANTY; without even the implied warranty of
15503 + MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
15504 + Lesser General Public License for more details.
15506 + You should have received a copy of the GNU Lesser General Public
15507 + License along with the GNU C Library; if not, see
15508 + <http://www.gnu.org/licenses/>. */
15510 +#include <support/tty.h>
15511 +#include <support/check.h>
15512 +#include <support/support.h>
15514 +#include <errno.h>
15515 +#include <stdlib.h>
15516 +#include <string.h>
15518 +#include <fcntl.h>
15519 +#include <termios.h>
15520 +#include <sys/ioctl.h>
15521 +#include <unistd.h>
15523 +/* As ptsname, but allocates space for an appropriately-sized string
15529 + size_t buf_len = 128;
15530 + char *buf = xmalloc (buf_len);
15533 + rv = ptsname_r (fd, buf, buf_len);
15535 + FAIL_EXIT1 ("ptsname_r: %s", strerror (errno));
15537 + if (memchr (buf, '\0', buf_len))
15538 + return buf; /* ptsname succeeded and the buffer was not truncated */
15541 + buf = xrealloc (buf, buf_len);
15546 +support_openpty (int *a_outer, int *a_inner, char **a_name,
15547 + const struct termios *termp,
15548 + const struct winsize *winp)
15550 + int outer = -1, inner = -1;
15551 + char *namebuf = 0;
15553 + outer = posix_openpt (O_RDWR | O_NOCTTY);
15555 + FAIL_EXIT1 ("posix_openpt: %s", strerror (errno));
15557 + if (grantpt (outer))
15558 + FAIL_EXIT1 ("grantpt: %s", strerror (errno));
15560 + if (unlockpt (outer))
15561 + FAIL_EXIT1 ("unlockpt: %s", strerror (errno));
15564 +#ifdef TIOCGPTPEER
15565 + inner = ioctl (outer, TIOCGPTPEER, O_RDWR | O_NOCTTY);
15569 + /* The kernel might not support TIOCGPTPEER, fall back to open
15571 + namebuf = xptsname (outer);
15572 + inner = open (namebuf, O_RDWR | O_NOCTTY);
15574 + FAIL_EXIT1 ("%s: %s", namebuf, strerror (errno));
15579 + if (tcsetattr (inner, TCSAFLUSH, termp))
15580 + FAIL_EXIT1 ("tcsetattr: %s", strerror (errno));
15585 + if (ioctl (inner, TIOCSWINSZ, winp))
15586 + FAIL_EXIT1 ("TIOCSWINSZ: %s", strerror (errno));
15593 + namebuf = xptsname (outer);
15594 + *a_name = namebuf;
15598 + *a_outer = outer;
15599 + *a_inner = inner;
15601 diff --git a/support/support_quote_blob.c b/support/support_quote_blob.c
15602 new file mode 100644
15603 index 0000000000..d6a678d8d6
15605 +++ b/support/support_quote_blob.c
15607 +/* Quote a blob so that it can be used in C literals.
15608 + Copyright (C) 2018 Free Software Foundation, Inc.
15609 + This file is part of the GNU C Library.
15611 + The GNU C Library is free software; you can redistribute it and/or
15612 + modify it under the terms of the GNU Lesser General Public
15613 + License as published by the Free Software Foundation; either
15614 + version 2.1 of the License, or (at your option) any later version.
15616 + The GNU C Library is distributed in the hope that it will be useful,
15617 + but WITHOUT ANY WARRANTY; without even the implied warranty of
15618 + MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
15619 + Lesser General Public License for more details.
15621 + You should have received a copy of the GNU Lesser General Public
15622 + License along with the GNU C Library; if not, see
15623 + <http://www.gnu.org/licenses/>. */
15625 +#include <support/support.h>
15626 +#include <support/xmemstream.h>
15629 +support_quote_blob (const void *blob, size_t length)
15631 + struct xmemstream out;
15632 + xopen_memstream (&out);
15634 + const unsigned char *p = blob;
15635 + for (size_t i = 0; i < length; ++i)
15637 + unsigned char ch = p[i];
15639 + /* Use C backslash escapes for those control characters for
15640 + which they are defined. */
15644 + putc_unlocked ('\\', out.out);
15645 + putc_unlocked ('a', out.out);
15648 + putc_unlocked ('\\', out.out);
15649 + putc_unlocked ('b', out.out);
15652 + putc_unlocked ('\\', out.out);
15653 + putc_unlocked ('f', out.out);
15656 + putc_unlocked ('\\', out.out);
15657 + putc_unlocked ('n', out.out);
15660 + putc_unlocked ('\\', out.out);
15661 + putc_unlocked ('r', out.out);
15664 + putc_unlocked ('\\', out.out);
15665 + putc_unlocked ('t', out.out);
15668 + putc_unlocked ('\\', out.out);
15669 + putc_unlocked ('v', out.out);
15674 + putc_unlocked ('\\', out.out);
15675 + putc_unlocked (ch, out.out);
15678 + if (ch < ' ' || ch > '~')
15679 + /* Use octal sequences because they are fixed width,
15680 + unlike hexadecimal sequences. */
15681 + fprintf (out.out, "\\%03o", ch);
15683 + putc_unlocked (ch, out.out);
15687 + xfclose_memstream (&out);
15688 + return out.buffer;
15690 diff --git a/support/support_test_compare_blob.c b/support/support_test_compare_blob.c
15691 new file mode 100644
15692 index 0000000000..c5e63d1b93
15694 +++ b/support/support_test_compare_blob.c
15696 +/* Check two binary blobs for equality.
15697 + Copyright (C) 2018 Free Software Foundation, Inc.
15698 + This file is part of the GNU C Library.
15700 + The GNU C Library is free software; you can redistribute it and/or
15701 + modify it under the terms of the GNU Lesser General Public
15702 + License as published by the Free Software Foundation; either
15703 + version 2.1 of the License, or (at your option) any later version.
15705 + The GNU C Library is distributed in the hope that it will be useful,
15706 + but WITHOUT ANY WARRANTY; without even the implied warranty of
15707 + MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
15708 + Lesser General Public License for more details.
15710 + You should have received a copy of the GNU Lesser General Public
15711 + License along with the GNU C Library; if not, see
15712 + <http://www.gnu.org/licenses/>. */
15714 +#include <stdio.h>
15715 +#include <stdlib.h>
15716 +#include <string.h>
15717 +#include <support/check.h>
15718 +#include <support/support.h>
15719 +#include <support/xmemstream.h>
15722 +report_length (const char *what, unsigned long int length, const char *expr)
15724 + printf (" %s %lu bytes (from %s)\n", what, length, expr);
15728 +report_blob (const char *what, const unsigned char *blob,
15729 + unsigned long int length, const char *expr)
15733 + printf (" %s (evaluated from %s):\n", what, expr);
15734 + char *quoted = support_quote_blob (blob, length);
15735 + printf (" \"%s\"\n", quoted);
15738 + fputs (" ", stdout);
15739 + for (unsigned long i = 0; i < length; ++i)
15740 + printf (" %02X", blob[i]);
15741 + putc ('\n', stdout);
15746 +support_test_compare_blob (const void *left, unsigned long int left_length,
15747 + const void *right, unsigned long int right_length,
15748 + const char *file, int line,
15749 + const char *left_expr, const char *left_len_expr,
15750 + const char *right_expr, const char *right_len_expr)
15752 + /* No differences are possible if both lengths are null. */
15753 + if (left_length == 0 && right_length == 0)
15756 + if (left_length != right_length || left == NULL || right == NULL
15757 + || memcmp (left, right, left_length) != 0)
15759 + support_record_failure ();
15760 + printf ("%s:%d: error: blob comparison failed\n", file, line);
15761 + if (left_length == right_length)
15762 + printf (" blob length: %lu bytes\n", left_length);
15765 + report_length ("left length: ", left_length, left_len_expr);
15766 + report_length ("right length:", right_length, right_len_expr);
15768 + report_blob ("left", left, left_length, left_expr);
15769 + report_blob ("right", right, right_length, right_expr);
15772 diff --git a/support/support_test_main.c b/support/support_test_main.c
15773 index 396385729b..23429779ac 100644
15774 --- a/support/support_test_main.c
15775 +++ b/support/support_test_main.c
15776 @@ -270,7 +270,8 @@ support_test_main (int argc, char **argv, const struct test_config *config)
15777 timeout = DEFAULT_TIMEOUT;
15779 /* Make sure we see all message, even those on stdout. */
15780 - setvbuf (stdout, NULL, _IONBF, 0);
15781 + if (!config->no_setvbuf)
15782 + setvbuf (stdout, NULL, _IONBF, 0);
15784 /* Make sure temporary files are deleted. */
15785 if (support_delete_temp_files != NULL)
15786 diff --git a/support/test-driver.c b/support/test-driver.c
15787 index 09c8783e4f..9798f16227 100644
15788 --- a/support/test-driver.c
15789 +++ b/support/test-driver.c
15790 @@ -140,6 +140,10 @@ main (int argc, char **argv)
15791 test_config.no_mallopt = 1;
15794 +#ifdef TEST_NO_SETVBUF
15795 + test_config.no_setvbuf = 1;
15799 test_config.timeout = TIMEOUT;
15801 diff --git a/support/test-driver.h b/support/test-driver.h
15802 index 1708d68d60..549179b254 100644
15803 --- a/support/test-driver.h
15804 +++ b/support/test-driver.h
15805 @@ -35,6 +35,7 @@ struct test_config
15806 int expected_status; /* Expected exit status. */
15807 int expected_signal; /* If non-zero, expect termination by signal. */
15808 char no_mallopt; /* Boolean flag to disable mallopt. */
15809 + char no_setvbuf; /* Boolean flag to disable setvbuf. */
15810 const char *optstring; /* Short command line options. */
15813 diff --git a/support/tst-support_quote_blob.c b/support/tst-support_quote_blob.c
15814 new file mode 100644
15815 index 0000000000..5467a190a6
15817 +++ b/support/tst-support_quote_blob.c
15819 +/* Test the support_quote_blob function.
15820 + Copyright (C) 2018 Free Software Foundation, Inc.
15821 + This file is part of the GNU C Library.
15823 + The GNU C Library is free software; you can redistribute it and/or
15824 + modify it under the terms of the GNU Lesser General Public
15825 + License as published by the Free Software Foundation; either
15826 + version 2.1 of the License, or (at your option) any later version.
15828 + The GNU C Library is distributed in the hope that it will be useful,
15829 + but WITHOUT ANY WARRANTY; without even the implied warranty of
15830 + MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
15831 + Lesser General Public License for more details.
15833 + You should have received a copy of the GNU Lesser General Public
15834 + License along with the GNU C Library; if not, see
15835 + <http://www.gnu.org/licenses/>. */
15837 +#include <support/check.h>
15838 +#include <support/support.h>
15839 +#include <string.h>
15840 +#include <stdlib.h>
15845 + /* Check handling of the empty blob, both with and without trailing
15847 + char *p = support_quote_blob ("", 0);
15848 + TEST_COMPARE (strlen (p), 0);
15850 + p = support_quote_blob ("X", 0);
15851 + TEST_COMPARE (strlen (p), 0);
15854 + /* Check escaping of backslash-escaped characters, and lack of
15855 + escaping for other shell meta-characters. */
15856 + p = support_quote_blob ("$()*?`@[]{}~\'\"X", 14);
15857 + TEST_COMPARE (strcmp (p, "$()*?`@[]{}~\\'\\\""), 0);
15860 + /* Check lack of escaping for letters and digits. */
15861 +#define LETTERS_AND_DIGTS \
15862 + "abcdefghijklmnopqrstuvwxyz" \
15863 + "ABCDEFGHIJKLMNOPQRSTUVWXYZ" \
15865 + p = support_quote_blob (LETTERS_AND_DIGTS "@", 2 * 26 + 10);
15866 + TEST_COMPARE (strcmp (p, LETTERS_AND_DIGTS), 0);
15869 + /* Check escaping of control characters and other non-printable
15871 + p = support_quote_blob ("\r\n\t\a\b\f\v\1\177\200\377\0@", 14);
15872 + TEST_COMPARE (strcmp (p, "\\r\\n\\t\\a\\b\\f\\v\\001"
15873 + "\\177\\200\\377\\000@\\000"), 0);
15879 +#include <support/test-driver.c>
15880 diff --git a/support/tst-test_compare_blob.c b/support/tst-test_compare_blob.c
15881 new file mode 100644
15882 index 0000000000..aa8643e182
15884 +++ b/support/tst-test_compare_blob.c
15886 +/* Basic test for the TEST_COMPARE_BLOB macro.
15887 + Copyright (C) 2018 Free Software Foundation, Inc.
15888 + This file is part of the GNU C Library.
15890 + The GNU C Library is free software; you can redistribute it and/or
15891 + modify it under the terms of the GNU Lesser General Public
15892 + License as published by the Free Software Foundation; either
15893 + version 2.1 of the License, or (at your option) any later version.
15895 + The GNU C Library is distributed in the hope that it will be useful,
15896 + but WITHOUT ANY WARRANTY; without even the implied warranty of
15897 + MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
15898 + Lesser General Public License for more details.
15900 + You should have received a copy of the GNU Lesser General Public
15901 + License along with the GNU C Library; if not, see
15902 + <http://www.gnu.org/licenses/>. */
15904 +#include <string.h>
15905 +#include <support/check.h>
15906 +#include <support/capture_subprocess.h>
15909 +subprocess (void *closure)
15911 + /* These tests should fail. They were chosen to cover differences
15912 + in length (with the same contents), single-bit mismatches, and
15913 + mismatching null pointers. */
15914 + TEST_COMPARE_BLOB ("", 0, "", 1); /* Line 29. */
15915 + TEST_COMPARE_BLOB ("X", 1, "", 1); /* Line 30. */
15916 + TEST_COMPARE_BLOB ("abcd", 3, "abcd", 4); /* Line 31. */
15917 + TEST_COMPARE_BLOB ("abcd", 4, "abcD", 4); /* Line 32. */
15918 + TEST_COMPARE_BLOB ("abcd", 4, NULL, 0); /* Line 33. */
15919 + TEST_COMPARE_BLOB (NULL, 0, "abcd", 4); /* Line 34. */
15922 +/* Same contents, different addresses. */
15923 +char buffer_abc_1[] = "abc";
15924 +char buffer_abc_2[] = "abc";
15929 + /* This should succeed. Even if the pointers and array contents are
15930 + different, zero-length inputs are not different. */
15931 + TEST_COMPARE_BLOB ("", 0, "", 0);
15932 + TEST_COMPARE_BLOB ("", 0, buffer_abc_1, 0);
15933 + TEST_COMPARE_BLOB (buffer_abc_1, 0, "", 0);
15934 + TEST_COMPARE_BLOB (NULL, 0, "", 0);
15935 + TEST_COMPARE_BLOB ("", 0, NULL, 0);
15936 + TEST_COMPARE_BLOB (NULL, 0, NULL, 0);
15938 + /* Check equality of blobs containing a single NUL byte. */
15939 + TEST_COMPARE_BLOB ("", 1, "", 1);
15940 + TEST_COMPARE_BLOB ("", 1, &buffer_abc_1[3], 1);
15942 + /* Check equality of blobs of varying lengths. */
15943 + for (size_t i = 0; i <= sizeof (buffer_abc_1); ++i)
15944 + TEST_COMPARE_BLOB (buffer_abc_1, i, buffer_abc_2, i);
15946 + struct support_capture_subprocess proc = support_capture_subprocess
15947 + (&subprocess, NULL);
15949 + /* Discard the reported error. */
15950 + support_record_failure_reset ();
15952 + puts ("info: *** subprocess output starts ***");
15953 + fputs (proc.out.buffer, stdout);
15954 + puts ("info: *** subprocess output ends ***");
15957 + (strcmp (proc.out.buffer,
15958 +"tst-test_compare_blob.c:29: error: blob comparison failed\n"
15959 +" left length: 0 bytes (from 0)\n"
15960 +" right length: 1 bytes (from 1)\n"
15961 +" right (evaluated from \"\"):\n"
15964 +"tst-test_compare_blob.c:30: error: blob comparison failed\n"
15965 +" blob length: 1 bytes\n"
15966 +" left (evaluated from \"X\"):\n"
15969 +" right (evaluated from \"\"):\n"
15972 +"tst-test_compare_blob.c:31: error: blob comparison failed\n"
15973 +" left length: 3 bytes (from 3)\n"
15974 +" right length: 4 bytes (from 4)\n"
15975 +" left (evaluated from \"abcd\"):\n"
15978 +" right (evaluated from \"abcd\"):\n"
15981 +"tst-test_compare_blob.c:32: error: blob comparison failed\n"
15982 +" blob length: 4 bytes\n"
15983 +" left (evaluated from \"abcd\"):\n"
15986 +" right (evaluated from \"abcD\"):\n"
15989 +"tst-test_compare_blob.c:33: error: blob comparison failed\n"
15990 +" left length: 4 bytes (from 4)\n"
15991 +" right length: 0 bytes (from 0)\n"
15992 +" left (evaluated from \"abcd\"):\n"
15995 +"tst-test_compare_blob.c:34: error: blob comparison failed\n"
15996 +" left length: 0 bytes (from 0)\n"
15997 +" right length: 4 bytes (from 4)\n"
15998 +" right (evaluated from \"abcd\"):\n"
16003 + /* Check that there is no output on standard error. */
16004 + support_capture_subprocess_check (&proc, "TEST_COMPARE_BLOB",
16005 + 0, sc_allow_stdout);
16010 +#include <support/test-driver.c>
16011 diff --git a/support/tty.h b/support/tty.h
16012 new file mode 100644
16013 index 0000000000..1d37c42279
16015 +++ b/support/tty.h
16017 +/* Support functions related to (pseudo)terminals.
16018 + Copyright (C) 2018 Free Software Foundation, Inc.
16019 + This file is part of the GNU C Library.
16021 + The GNU C Library is free software; you can redistribute it and/or
16022 + modify it under the terms of the GNU Lesser General Public
16023 + License as published by the Free Software Foundation; either
16024 + version 2.1 of the License, or (at your option) any later version.
16026 + The GNU C Library is distributed in the hope that it will be useful,
16027 + but WITHOUT ANY WARRANTY; without even the implied warranty of
16028 + MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
16029 + Lesser General Public License for more details.
16031 + You should have received a copy of the GNU Lesser General Public
16032 + License along with the GNU C Library; if not, see
16033 + <http://www.gnu.org/licenses/>. */
16035 +#ifndef _SUPPORT_TTY_H
16036 +#define _SUPPORT_TTY_H 1
16041 +/** Open a pseudoterminal pair. The outer fd is written to the address
16042 + A_OUTER and the inner fd to A_INNER.
16044 + If A_NAME is not NULL, it will be set to point to a string naming
16045 + the /dev/pts/NNN device corresponding to the inner fd; space for
16046 + this string is allocated with malloc and should be freed by the
16047 + caller when no longer needed. (This is different from the libutil
16048 + function 'openpty'.)
16050 + If TERMP is not NULL, the terminal parameters will be initialized
16051 + according to the termios structure it points to.
16053 + If WINP is not NULL, the terminal window size will be set
16056 + Terminates the process on failure (like xmalloc). */
16057 +extern void support_openpty (int *a_outer, int *a_inner, char **a_name,
16058 + const struct termios *termp,
16059 + const struct winsize *winp);
16062 diff --git a/support/xpthread_barrierattr_destroy.c b/support/xpthread_barrierattr_destroy.c
16063 new file mode 100644
16064 index 0000000000..3e471f9a81
16066 +++ b/support/xpthread_barrierattr_destroy.c
16068 +/* pthread_barrierattr_destroy with error checking.
16069 + Copyright (C) 2018 Free Software Foundation, Inc.
16070 + This file is part of the GNU C Library.
16072 + The GNU C Library is free software; you can redistribute it and/or
16073 + modify it under the terms of the GNU Lesser General Public
16074 + License as published by the Free Software Foundation; either
16075 + version 2.1 of the License, or (at your option) any later version.
16077 + The GNU C Library is distributed in the hope that it will be useful,
16078 + but WITHOUT ANY WARRANTY; without even the implied warranty of
16079 + MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
16080 + Lesser General Public License for more details.
16082 + You should have received a copy of the GNU Lesser General Public
16083 + License along with the GNU C Library; if not, see
16084 + <http://www.gnu.org/licenses/>. */
16086 +#include <support/xthread.h>
16089 +xpthread_barrierattr_destroy (pthread_barrierattr_t *attr)
16091 + xpthread_check_return ("pthread_barrierattr_destroy",
16092 + pthread_barrierattr_destroy (attr));
16094 diff --git a/support/xpthread_barrierattr_init.c b/support/xpthread_barrierattr_init.c
16095 new file mode 100644
16096 index 0000000000..4ee14e78f3
16098 +++ b/support/xpthread_barrierattr_init.c
16100 +/* pthread_barrierattr_init with error checking.
16101 + Copyright (C) 2018 Free Software Foundation, Inc.
16102 + This file is part of the GNU C Library.
16104 + The GNU C Library is free software; you can redistribute it and/or
16105 + modify it under the terms of the GNU Lesser General Public
16106 + License as published by the Free Software Foundation; either
16107 + version 2.1 of the License, or (at your option) any later version.
16109 + The GNU C Library is distributed in the hope that it will be useful,
16110 + but WITHOUT ANY WARRANTY; without even the implied warranty of
16111 + MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
16112 + Lesser General Public License for more details.
16114 + You should have received a copy of the GNU Lesser General Public
16115 + License along with the GNU C Library; if not, see
16116 + <http://www.gnu.org/licenses/>. */
16118 +#include <support/xthread.h>
16121 +xpthread_barrierattr_init (pthread_barrierattr_t *attr)
16123 + xpthread_check_return ("pthread_barrierattr_init",
16124 + pthread_barrierattr_init (attr));
16126 diff --git a/support/xpthread_barrierattr_setpshared.c b/support/xpthread_barrierattr_setpshared.c
16127 new file mode 100644
16128 index 0000000000..90b2c5bec6
16130 +++ b/support/xpthread_barrierattr_setpshared.c
16132 +/* pthread_barrierattr_setpshared with error checking.
16133 + Copyright (C) 2018 Free Software Foundation, Inc.
16134 + This file is part of the GNU C Library.
16136 + The GNU C Library is free software; you can redistribute it and/or
16137 + modify it under the terms of the GNU Lesser General Public
16138 + License as published by the Free Software Foundation; either
16139 + version 2.1 of the License, or (at your option) any later version.
16141 + The GNU C Library is distributed in the hope that it will be useful,
16142 + but WITHOUT ANY WARRANTY; without even the implied warranty of
16143 + MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
16144 + Lesser General Public License for more details.
16146 + You should have received a copy of the GNU Lesser General Public
16147 + License along with the GNU C Library; if not, see
16148 + <http://www.gnu.org/licenses/>. */
16150 +#include <support/xthread.h>
16153 +xpthread_barrierattr_setpshared (pthread_barrierattr_t *attr, int pshared)
16155 + xpthread_check_return ("pthread_barrierattr_setpshared",
16156 + pthread_barrierattr_setpshared (attr, pshared));
16158 diff --git a/support/xthread.h b/support/xthread.h
16159 index 79358e7c99..623f5ad0ac 100644
16160 --- a/support/xthread.h
16161 +++ b/support/xthread.h
16162 @@ -41,6 +41,9 @@ void xpthread_check_return (const char *function, int value);
16163 void xpthread_barrier_init (pthread_barrier_t *barrier,
16164 pthread_barrierattr_t *attr, unsigned int count);
16165 void xpthread_barrier_destroy (pthread_barrier_t *barrier);
16166 +void xpthread_barrierattr_destroy (pthread_barrierattr_t *);
16167 +void xpthread_barrierattr_init (pthread_barrierattr_t *);
16168 +void xpthread_barrierattr_setpshared (pthread_barrierattr_t *, int pshared);
16169 void xpthread_mutexattr_destroy (pthread_mutexattr_t *);
16170 void xpthread_mutexattr_init (pthread_mutexattr_t *);
16171 void xpthread_mutexattr_setprotocol (pthread_mutexattr_t *, int);
16172 diff --git a/sysdeps/generic/math_private.h b/sysdeps/generic/math_private.h
16173 index e4b9d8697f..cff76149d6 100644
16174 --- a/sysdeps/generic/math_private.h
16175 +++ b/sysdeps/generic/math_private.h
16176 @@ -514,33 +514,6 @@ default_libc_feupdateenv_test (fenv_t *e, int ex)
16177 # define HAVE_RM_CTX 0
16181 -/* Set/Restore Rounding Modes only when necessary. If defined, these functions
16182 - set/restore floating point state only if the state needed within the lexical
16183 - block is different from the current state. This saves a lot of time when
16184 - the floating point unit is much slower than the fixed point units. */
16186 -# ifndef libc_feholdsetround_noex_ctx
16187 -# define libc_feholdsetround_noex_ctx libc_feholdsetround_ctx
16189 -# ifndef libc_feholdsetround_noexf_ctx
16190 -# define libc_feholdsetround_noexf_ctx libc_feholdsetroundf_ctx
16192 -# ifndef libc_feholdsetround_noexl_ctx
16193 -# define libc_feholdsetround_noexl_ctx libc_feholdsetroundl_ctx
16196 -# ifndef libc_feresetround_noex_ctx
16197 -# define libc_feresetround_noex_ctx libc_fesetenv_ctx
16199 -# ifndef libc_feresetround_noexf_ctx
16200 -# define libc_feresetround_noexf_ctx libc_fesetenvf_ctx
16202 -# ifndef libc_feresetround_noexl_ctx
16203 -# define libc_feresetround_noexl_ctx libc_fesetenvl_ctx
16208 /* Default implementation using standard fenv functions.
16209 Avoid unnecessary rounding mode changes by first checking the
16210 @@ -548,7 +521,7 @@ default_libc_feupdateenv_test (fenv_t *e, int ex)
16211 important for performance. */
16213 static __always_inline void
16214 -libc_feholdsetround_ctx (struct rm_ctx *ctx, int round)
16215 +default_libc_feholdsetround_ctx (struct rm_ctx *ctx, int round)
16217 ctx->updated_status = false;
16219 @@ -562,7 +535,7 @@ libc_feholdsetround_ctx (struct rm_ctx *ctx, int round)
16222 static __always_inline void
16223 -libc_feresetround_ctx (struct rm_ctx *ctx)
16224 +default_libc_feresetround_ctx (struct rm_ctx *ctx)
16226 /* Restore the rounding mode if updated. */
16227 if (__glibc_unlikely (ctx->updated_status))
16228 @@ -570,7 +543,7 @@ libc_feresetround_ctx (struct rm_ctx *ctx)
16231 static __always_inline void
16232 -libc_feholdsetround_noex_ctx (struct rm_ctx *ctx, int round)
16233 +default_libc_feholdsetround_noex_ctx (struct rm_ctx *ctx, int round)
16235 /* Save exception flags and rounding mode, and disable exception
16237 @@ -582,12 +555,45 @@ libc_feholdsetround_noex_ctx (struct rm_ctx *ctx, int round)
16240 static __always_inline void
16241 -libc_feresetround_noex_ctx (struct rm_ctx *ctx)
16242 +default_libc_feresetround_noex_ctx (struct rm_ctx *ctx)
16244 /* Restore exception flags and rounding mode. */
16245 __fesetenv (&ctx->env);
16249 +/* Set/Restore Rounding Modes only when necessary. If defined, these functions
16250 + set/restore floating point state only if the state needed within the lexical
16251 + block is different from the current state. This saves a lot of time when
16252 + the floating point unit is much slower than the fixed point units. */
16254 +# ifndef libc_feholdsetround_noex_ctx
16255 +# define libc_feholdsetround_noex_ctx libc_feholdsetround_ctx
16257 +# ifndef libc_feholdsetround_noexf_ctx
16258 +# define libc_feholdsetround_noexf_ctx libc_feholdsetroundf_ctx
16260 +# ifndef libc_feholdsetround_noexl_ctx
16261 +# define libc_feholdsetround_noexl_ctx libc_feholdsetroundl_ctx
16264 +# ifndef libc_feresetround_noex_ctx
16265 +# define libc_feresetround_noex_ctx libc_fesetenv_ctx
16267 +# ifndef libc_feresetround_noexf_ctx
16268 +# define libc_feresetround_noexf_ctx libc_fesetenvf_ctx
16270 +# ifndef libc_feresetround_noexl_ctx
16271 +# define libc_feresetround_noexl_ctx libc_fesetenvl_ctx
16276 +# define libc_feholdsetround_ctx default_libc_feholdsetround_ctx
16277 +# define libc_feresetround_ctx default_libc_feresetround_ctx
16278 +# define libc_feholdsetround_noex_ctx default_libc_feholdsetround_noex_ctx
16279 +# define libc_feresetround_noex_ctx default_libc_feresetround_noex_ctx
16281 # define libc_feholdsetroundf_ctx libc_feholdsetround_ctx
16282 # define libc_feholdsetroundl_ctx libc_feholdsetround_ctx
16283 # define libc_feresetroundf_ctx libc_feresetround_ctx
16284 diff --git a/sysdeps/i386/Makefile b/sysdeps/i386/Makefile
16285 index a1500454e5..9c7078e33c 100644
16286 --- a/sysdeps/i386/Makefile
16287 +++ b/sysdeps/i386/Makefile
16288 @@ -5,6 +5,14 @@ asm-CPPFLAGS += -DGAS_SYNTAX
16289 # The i386 `long double' is a distinct type we support.
16290 long-double-fcts = yes
16292 +ifeq ($(subdir),math)
16293 +# These functions change the rounding mode internally and need to
16294 +# update both the SSE2 rounding mode and the 387 rounding mode. See
16295 +# the handling of MATH_SET_BOTH_ROUNDING_MODES in
16296 +# sysdeps/i386/fpu/fenv_private.h.
16297 +CFLAGS-e_gamma_r.c += -DMATH_SET_BOTH_ROUNDING_MODES
16300 ifeq ($(subdir),string)
16301 sysdep_routines += cacheinfo
16303 diff --git a/sysdeps/i386/fpu/fenv_private.h b/sysdeps/i386/fpu/fenv_private.h
16304 index 38fd0b92b5..03177bb1ed 100644
16305 --- a/sysdeps/i386/fpu/fenv_private.h
16306 +++ b/sysdeps/i386/fpu/fenv_private.h
16307 @@ -491,11 +491,19 @@ libc_feupdateenv_387_ctx (struct rm_ctx *ctx)
16308 #endif /* __SSE_MATH__ */
16310 #ifdef __SSE2_MATH__
16311 -# define libc_feholdexcept_setround_ctx libc_feholdexcept_setround_sse_ctx
16312 -# define libc_fesetenv_ctx libc_fesetenv_sse_ctx
16313 -# define libc_feupdateenv_ctx libc_feupdateenv_sse_ctx
16314 -# define libc_feholdsetround_ctx libc_feholdsetround_sse_ctx
16315 -# define libc_feresetround_ctx libc_feresetround_sse_ctx
16316 +# if defined (__x86_64__) || !defined (MATH_SET_BOTH_ROUNDING_MODES)
16317 +# define libc_feholdexcept_setround_ctx libc_feholdexcept_setround_sse_ctx
16318 +# define libc_fesetenv_ctx libc_fesetenv_sse_ctx
16319 +# define libc_feupdateenv_ctx libc_feupdateenv_sse_ctx
16320 +# define libc_feholdsetround_ctx libc_feholdsetround_sse_ctx
16321 +# define libc_feresetround_ctx libc_feresetround_sse_ctx
16323 +# define libc_feholdexcept_setround_ctx default_libc_feholdexcept_setround_ctx
16324 +# define libc_fesetenv_ctx default_libc_fesetenv_ctx
16325 +# define libc_feupdateenv_ctx default_libc_feupdateenv_ctx
16326 +# define libc_feholdsetround_ctx default_libc_feholdsetround_ctx
16327 +# define libc_feresetround_ctx default_libc_feresetround_ctx
16330 # define libc_feholdexcept_setround_ctx libc_feholdexcept_setround_387_ctx
16331 # define libc_feupdateenv_ctx libc_feupdateenv_387_ctx
16332 diff --git a/sysdeps/i386/fpu/libm-test-ulps b/sysdeps/i386/fpu/libm-test-ulps
16333 index 862a74e09d..9d1c35c605 100644
16334 --- a/sysdeps/i386/fpu/libm-test-ulps
16335 +++ b/sysdeps/i386/fpu/libm-test-ulps
16336 @@ -281,20 +281,20 @@ ldouble: 1
16338 Function: Real part of "cacos":
16350 Function: Imaginary part of "cacos":
16363 @@ -360,21 +360,21 @@ ildouble: 7
16366 Function: Real part of "cacosh":
16380 Function: Imaginary part of "cacosh":
16391 @@ -420,10 +420,10 @@ ildouble: 2
16394 Function: Real part of "cacosh_upward":
16404 @@ -488,11 +488,11 @@ ildouble: 1
16407 Function: Imaginary part of "casin":
16420 @@ -558,11 +558,11 @@ ildouble: 7
16423 Function: Real part of "casinh":
16436 @@ -774,11 +774,11 @@ ildouble: 1
16439 Function: Real part of "catanh_upward":
16452 @@ -875,10 +875,10 @@ ldouble: 3
16454 Function: Real part of "ccos_towardzero":
16465 @@ -934,10 +934,10 @@ ildouble: 1
16468 Function: Real part of "ccosh_downward":
16478 @@ -954,11 +954,11 @@ ildouble: 3
16481 Function: Real part of "ccosh_towardzero":
16494 @@ -1075,10 +1075,10 @@ ldouble: 3
16496 Function: Real part of "clog":
16507 @@ -1092,79 +1092,81 @@ ildouble: 1
16510 Function: Real part of "clog10":
16524 Function: Imaginary part of "clog10":
16536 Function: Real part of "clog10_downward":
16550 Function: Imaginary part of "clog10_downward":
16564 Function: Real part of "clog10_towardzero":
16578 Function: Imaginary part of "clog10_towardzero":
16592 Function: Real part of "clog10_upward":
16606 Function: Imaginary part of "clog10_upward":
16619 @@ -1191,10 +1193,10 @@ ldouble: 1
16621 Function: Real part of "clog_towardzero":
16632 @@ -1230,8 +1232,10 @@ ildouble: 1
16643 @@ -1462,7 +1466,9 @@ ildouble: 2
16646 Function: Real part of "csinh":
16653 @@ -1478,10 +1484,10 @@ ildouble: 1
16656 Function: Real part of "csinh_downward":
16666 @@ -1498,11 +1504,11 @@ ildouble: 3
16669 Function: Real part of "csinh_towardzero":
16682 @@ -1538,79 +1544,81 @@ ildouble: 2
16685 Function: Real part of "csqrt":
16697 Function: Imaginary part of "csqrt":
16711 Function: Real part of "csqrt_downward":
16725 Function: Imaginary part of "csqrt_downward":
16739 Function: Real part of "csqrt_towardzero":
16753 Function: Imaginary part of "csqrt_towardzero":
16767 Function: Real part of "csqrt_upward":
16781 Function: Imaginary part of "csqrt_upward":
16794 @@ -1626,21 +1634,21 @@ ildouble: 2
16797 Function: Imaginary part of "ctan":
16811 Function: Real part of "ctan_downward":
16824 @@ -1656,11 +1664,11 @@ ildouble: 4
16827 Function: Real part of "ctan_towardzero":
16840 @@ -1677,10 +1685,10 @@ ldouble: 4
16842 Function: Real part of "ctan_upward":
16853 @@ -1696,21 +1704,21 @@ ildouble: 3
16856 Function: Real part of "ctanh":
16870 Function: Imaginary part of "ctanh":
16883 @@ -1726,11 +1734,11 @@ ildouble: 4
16886 Function: Imaginary part of "ctanh_downward":
16899 @@ -1746,31 +1754,31 @@ ildouble: 4
16902 Function: Imaginary part of "ctanh_towardzero":
16916 Function: Real part of "ctanh_upward":
16928 Function: Imaginary part of "ctanh_upward":
16939 @@ -1816,41 +1824,41 @@ ildouble: 1
16956 Function: "erfc_downward":
16970 Function: "erfc_towardzero":
16984 Function: "erfc_upward":
16997 @@ -1994,34 +2002,34 @@ ildouble: 4
17010 Function: "gamma_downward":
17020 Function: "gamma_towardzero":
17032 Function: "gamma_upward":
17044 @@ -2059,39 +2067,39 @@ ldouble: 1
17058 Function: "j0_downward":
17072 Function: "j0_towardzero":
17086 Function: "j0_upward":
17096 @@ -2108,111 +2116,111 @@ ildouble: 1
17099 Function: "j1_downward":
17113 Function: "j1_towardzero":
17125 Function: "j1_upward":
17153 Function: "jn_downward":
17167 Function: "jn_towardzero":
17181 Function: "jn_upward":
17195 Function: "lgamma":
17207 Function: "lgamma_downward":
17219 Function: "lgamma_towardzero":
17233 Function: "lgamma_upward":
17246 @@ -2402,8 +2410,10 @@ ildouble: 4
17257 @@ -2440,8 +2450,10 @@ ildouble: 3
17260 Function: "sincos":
17268 @@ -2478,39 +2490,41 @@ ildouble: 3
17283 Function: "sinh_downward":
17297 Function: "sinh_towardzero":
17309 Function: "sinh_upward":
17320 @@ -2554,199 +2568,201 @@ ildouble: 2
17335 Function: "tanh_downward":
17349 Function: "tanh_towardzero":
17363 Function: "tanh_upward":
17377 Function: "tgamma":
17391 Function: "tgamma_downward":
17405 Function: "tgamma_towardzero":
17419 Function: "tgamma_upward":
17445 Function: "y0_downward":
17459 Function: "y0_towardzero":
17471 Function: "y0_upward":
17497 Function: "y1_downward":
17509 Function: "y1_towardzero":
17521 Function: "y1_upward":
17545 Function: "yn_downward":
17559 Function: "yn_towardzero":
17571 Function: "yn_upward":
17584 diff --git a/sysdeps/i386/i686/fpu/multiarch/libm-test-ulps b/sysdeps/i386/i686/fpu/multiarch/libm-test-ulps
17585 index 8a862ef2eb..1bc39f47e8 100644
17586 --- a/sysdeps/i386/i686/fpu/multiarch/libm-test-ulps
17587 +++ b/sysdeps/i386/i686/fpu/multiarch/libm-test-ulps
17588 @@ -281,20 +281,20 @@ ldouble: 1
17590 Function: Real part of "cacos":
17602 Function: Imaginary part of "cacos":
17615 @@ -360,21 +360,21 @@ ildouble: 7
17618 Function: Real part of "cacosh":
17632 Function: Imaginary part of "cacosh":
17643 @@ -420,10 +420,10 @@ ildouble: 2
17646 Function: Real part of "cacosh_upward":
17656 @@ -488,11 +488,11 @@ ildouble: 1
17659 Function: Imaginary part of "casin":
17672 @@ -558,11 +558,11 @@ ildouble: 7
17675 Function: Real part of "casinh":
17688 @@ -774,11 +774,11 @@ ildouble: 1
17691 Function: Real part of "catanh_upward":
17704 @@ -875,10 +875,10 @@ ldouble: 3
17706 Function: Real part of "ccos_towardzero":
17717 @@ -934,10 +934,10 @@ ildouble: 1
17720 Function: Real part of "ccosh_downward":
17730 @@ -954,11 +954,11 @@ ildouble: 3
17733 Function: Real part of "ccosh_towardzero":
17746 @@ -1075,10 +1075,10 @@ ldouble: 3
17748 Function: Real part of "clog":
17759 @@ -1092,79 +1092,81 @@ ildouble: 1
17762 Function: Real part of "clog10":
17776 Function: Imaginary part of "clog10":
17788 Function: Real part of "clog10_downward":
17802 Function: Imaginary part of "clog10_downward":
17816 Function: Real part of "clog10_towardzero":
17830 Function: Imaginary part of "clog10_towardzero":
17844 Function: Real part of "clog10_upward":
17858 Function: Imaginary part of "clog10_upward":
17871 @@ -1191,10 +1193,10 @@ ldouble: 1
17873 Function: Real part of "clog_towardzero":
17884 @@ -1230,7 +1232,9 @@ ildouble: 1
17894 @@ -1478,10 +1482,10 @@ ildouble: 1
17897 Function: Real part of "csinh_downward":
17907 @@ -1498,10 +1502,10 @@ ildouble: 3
17910 Function: Real part of "csinh_towardzero":
17920 @@ -1538,79 +1542,81 @@ ildouble: 3
17923 Function: Real part of "csqrt":
17935 Function: Imaginary part of "csqrt":
17949 Function: Real part of "csqrt_downward":
17963 Function: Imaginary part of "csqrt_downward":
17977 Function: Real part of "csqrt_towardzero":
17991 Function: Imaginary part of "csqrt_towardzero":
18005 Function: Real part of "csqrt_upward":
18019 Function: Imaginary part of "csqrt_upward":
18032 @@ -1626,21 +1632,21 @@ ildouble: 2
18035 Function: Imaginary part of "ctan":
18049 Function: Real part of "ctan_downward":
18062 @@ -1656,31 +1662,31 @@ ildouble: 4
18065 Function: Real part of "ctan_towardzero":
18079 Function: Imaginary part of "ctan_towardzero":
18091 Function: Real part of "ctan_upward":
18102 @@ -1696,21 +1702,21 @@ ildouble: 3
18105 Function: Real part of "ctanh":
18119 Function: Imaginary part of "ctanh":
18132 @@ -1726,51 +1732,51 @@ ildouble: 4
18135 Function: Imaginary part of "ctanh_downward":
18149 Function: Real part of "ctanh_towardzero":
18161 Function: Imaginary part of "ctanh_towardzero":
18175 Function: Real part of "ctanh_upward":
18187 Function: Imaginary part of "ctanh_upward":
18198 @@ -1816,41 +1822,41 @@ ildouble: 1
18215 Function: "erfc_downward":
18229 Function: "erfc_towardzero":
18243 Function: "erfc_upward":
18256 @@ -1994,34 +2000,34 @@ ildouble: 4
18269 Function: "gamma_downward":
18279 Function: "gamma_towardzero":
18289 Function: "gamma_upward":
18301 @@ -2059,39 +2065,39 @@ ldouble: 1
18315 Function: "j0_downward":
18329 Function: "j0_towardzero":
18343 Function: "j0_upward":
18353 @@ -2099,120 +2105,120 @@ ldouble: 4
18367 Function: "j1_downward":
18381 Function: "j1_towardzero":
18393 Function: "j1_upward":
18421 Function: "jn_downward":
18435 Function: "jn_towardzero":
18449 Function: "jn_upward":
18463 Function: "lgamma":
18475 Function: "lgamma_downward":
18487 Function: "lgamma_towardzero":
18499 Function: "lgamma_upward":
18512 @@ -2402,7 +2408,9 @@ ildouble: 4
18522 @@ -2432,7 +2440,9 @@ ildouble: 3
18525 Function: "sincos":
18532 @@ -2462,39 +2472,41 @@ ildouble: 3
18547 Function: "sinh_downward":
18561 Function: "sinh_towardzero":
18573 Function: "sinh_upward":
18584 @@ -2538,199 +2550,201 @@ ildouble: 2
18599 Function: "tanh_downward":
18613 Function: "tanh_towardzero":
18627 Function: "tanh_upward":
18641 Function: "tgamma":
18655 Function: "tgamma_downward":
18667 Function: "tgamma_towardzero":
18679 Function: "tgamma_upward":
18703 Function: "y0_downward":
18717 Function: "y0_towardzero":
18729 Function: "y0_upward":
18755 Function: "y1_downward":
18769 Function: "y1_towardzero":
18783 Function: "y1_upward":
18807 Function: "yn_downward":
18821 Function: "yn_towardzero":
18833 Function: "yn_upward":
18846 diff --git a/sysdeps/i386/i686/multiarch/memcpy-sse2-unaligned.S b/sysdeps/i386/i686/multiarch/memcpy-sse2-unaligned.S
18847 index 9c3bbe7e17..9aa17de99c 100644
18848 --- a/sysdeps/i386/i686/multiarch/memcpy-sse2-unaligned.S
18849 +++ b/sysdeps/i386/i686/multiarch/memcpy-sse2-unaligned.S
18850 @@ -72,7 +72,7 @@ ENTRY (MEMCPY)
18853 # ifdef USE_AS_MEMMOVE
18854 - jg L(check_forward)
18855 + ja L(check_forward)
18857 L(mm_len_0_or_more_backward):
18858 /* Now do checks for lengths. We do [0..16], [16..32], [32..64], [64..128]
18859 @@ -81,7 +81,7 @@ L(mm_len_0_or_more_backward):
18860 jbe L(mm_len_0_16_bytes_backward)
18863 - jg L(mm_len_32_or_more_backward)
18864 + ja L(mm_len_32_or_more_backward)
18866 /* Copy [0..32] and return. */
18867 movdqu (%eax), %xmm0
18868 @@ -92,7 +92,7 @@ L(mm_len_0_or_more_backward):
18870 L(mm_len_32_or_more_backward):
18872 - jg L(mm_len_64_or_more_backward)
18873 + ja L(mm_len_64_or_more_backward)
18875 /* Copy [0..64] and return. */
18876 movdqu (%eax), %xmm0
18877 @@ -107,7 +107,7 @@ L(mm_len_32_or_more_backward):
18879 L(mm_len_64_or_more_backward):
18881 - jg L(mm_len_128_or_more_backward)
18882 + ja L(mm_len_128_or_more_backward)
18884 /* Copy [0..128] and return. */
18885 movdqu (%eax), %xmm0
18886 @@ -132,7 +132,7 @@ L(mm_len_128_or_more_backward):
18889 movl SRC(%esp), %eax
18895 @@ -269,7 +269,7 @@ L(check_forward):
18898 movl LEN(%esp), %ecx
18902 /* Now do checks for lengths. We do [0..16], [0..32], [0..64], [0..128]
18904 diff --git a/sysdeps/i386/i686/multiarch/strncmp-c.c b/sysdeps/i386/i686/multiarch/strncmp-c.c
18905 index cc059da494..2e3eca9b2b 100644
18906 --- a/sysdeps/i386/i686/multiarch/strncmp-c.c
18907 +++ b/sysdeps/i386/i686/multiarch/strncmp-c.c
18910 +#if defined (SHARED) && IS_IN (libc)
18911 # define STRNCMP __strncmp_ia32
18912 # undef libc_hidden_builtin_def
18913 # define libc_hidden_builtin_def(name) \
18914 diff --git a/sysdeps/ia64/fpu/e_exp2f.S b/sysdeps/ia64/fpu/e_exp2f.S
18915 index 77bc6ea686..3010a95a2d 100644
18916 --- a/sysdeps/ia64/fpu/e_exp2f.S
18917 +++ b/sysdeps/ia64/fpu/e_exp2f.S
18918 @@ -221,7 +221,7 @@ LOCAL_OBJECT_END(T_table)
18922 -GLOBAL_LIBM_ENTRY(__exp2f)
18923 +WEAK_LIBM_ENTRY(exp2f)
18927 @@ -468,10 +468,10 @@ OUT_RANGE_exp2:
18931 -GLOBAL_LIBM_END(__exp2f)
18932 +WEAK_LIBM_END(exp2f)
18933 libm_alias_float_other (__exp2, exp2)
18935 -.symver __exp2f,exp2f@@GLIBC_2.27
18936 +.symver exp2f,exp2f@@GLIBC_2.27
18937 .weak __exp2f_compat
18938 .set __exp2f_compat,__exp2f
18939 .symver __exp2f_compat,exp2f@GLIBC_2.2
18940 diff --git a/sysdeps/ia64/fpu/e_log2f.S b/sysdeps/ia64/fpu/e_log2f.S
18941 index 5ca3bd61ea..e4ea094344 100644
18942 --- a/sysdeps/ia64/fpu/e_log2f.S
18943 +++ b/sysdeps/ia64/fpu/e_log2f.S
18944 @@ -252,7 +252,7 @@ LOCAL_OBJECT_END(T_table)
18948 -GLOBAL_LIBM_ENTRY(__log2f)
18949 +WEAK_LIBM_ENTRY(log2f)
18952 alloc r32=ar.pfs,1,4,4,0
18953 @@ -491,10 +491,10 @@ SPECIAL_log2f:
18957 -GLOBAL_LIBM_END(__log2f)
18958 +WEAK_LIBM_END(log2f)
18959 libm_alias_float_other (__log2, log2)
18961 -.symver __log2f,log2f@@GLIBC_2.27
18962 +.symver log2f,log2f@@GLIBC_2.27
18963 .weak __log2f_compat
18964 .set __log2f_compat,__log2f
18965 .symver __log2f_compat,log2f@GLIBC_2.2
18966 diff --git a/sysdeps/ia64/fpu/e_powf.S b/sysdeps/ia64/fpu/e_powf.S
18967 index 7449f8c7d5..945d5cdf28 100644
18968 --- a/sysdeps/ia64/fpu/e_powf.S
18969 +++ b/sysdeps/ia64/fpu/e_powf.S
18970 @@ -868,7 +868,7 @@ data8 0xEAC0C6E7DD24392F , 0x00003FFF
18971 LOCAL_OBJECT_END(pow_tbl2)
18974 -GLOBAL_LIBM_ENTRY(__powf)
18975 +WEAK_LIBM_ENTRY(powf)
18977 // Get exponent of x. Will be used to calculate K.
18979 @@ -2002,10 +2002,10 @@ POW_OVER_UNDER_ERROR:
18983 -GLOBAL_LIBM_END(__powf)
18984 +WEAK_LIBM_END(powf)
18985 libm_alias_float_other (__pow, pow)
18987 -.symver __powf,powf@@GLIBC_2.27
18988 +.symver powf,powf@@GLIBC_2.27
18989 .weak __powf_compat
18990 .set __powf_compat,__powf
18991 .symver __powf_compat,powf@GLIBC_2.2
18992 diff --git a/sysdeps/nptl/bits/thread-shared-types.h b/sysdeps/nptl/bits/thread-shared-types.h
18993 index 1e2092a05d..05c94e7a71 100644
18994 --- a/sysdeps/nptl/bits/thread-shared-types.h
18995 +++ b/sysdeps/nptl/bits/thread-shared-types.h
18996 @@ -124,7 +124,27 @@ struct __pthread_mutex_s
18997 unsigned int __nusers;
18999 /* KIND must stay at this position in the structure to maintain
19000 - binary compatibility with static initializers. */
19001 + binary compatibility with static initializers.
19003 + Concurrency notes:
19004 + The __kind of a mutex is initialized either by the static
19005 + PTHREAD_MUTEX_INITIALIZER or by a call to pthread_mutex_init.
19007 + After a mutex has been initialized, the __kind of a mutex is usually not
19008 + changed. BUT it can be set to -1 in pthread_mutex_destroy or elision can
19009 + be enabled. This is done concurrently in the pthread_mutex_*lock functions
19010 + by using the macro FORCE_ELISION. This macro is only defined for
19011 + architectures which supports lock elision.
19013 + For elision, there are the flags PTHREAD_MUTEX_ELISION_NP and
19014 + PTHREAD_MUTEX_NO_ELISION_NP which can be set in addition to the already set
19016 + Before a mutex is initialized, only PTHREAD_MUTEX_NO_ELISION_NP can be set
19017 + with pthread_mutexattr_settype.
19018 + After a mutex has been initialized, the functions pthread_mutex_*lock can
19019 + enable elision - if the mutex-type and the machine supports it - by setting
19020 + the flag PTHREAD_MUTEX_ELISION_NP. This is done concurrently. Afterwards
19021 + the lock / unlock functions are using specific elision code-paths. */
19023 __PTHREAD_COMPAT_PADDING_MID
19024 #if __PTHREAD_MUTEX_NUSERS_AFTER_KIND
19025 diff --git a/sysdeps/nptl/lowlevellock.h b/sysdeps/nptl/lowlevellock.h
19026 index 8326e2805c..bfbda99940 100644
19027 --- a/sysdeps/nptl/lowlevellock.h
19028 +++ b/sysdeps/nptl/lowlevellock.h
19029 @@ -181,11 +181,14 @@ extern int __lll_timedlock_wait (int *futex, const struct timespec *,
19030 thread ID while the clone is running and is reset to zero by the kernel
19031 afterwards. The kernel up to version 3.16.3 does not use the private futex
19032 operations for futex wake-up when the clone terminates. */
19033 -#define lll_wait_tid(tid) \
19035 - __typeof (tid) __tid; \
19036 - while ((__tid = (tid)) != 0) \
19037 - lll_futex_wait (&(tid), __tid, LLL_SHARED);\
19038 +#define lll_wait_tid(tid) \
19040 + __typeof (tid) __tid; \
19041 + /* We need acquire MO here so that we synchronize \
19042 + with the kernel's store to 0 when the clone \
19043 + terminates. (see above) */ \
19044 + while ((__tid = atomic_load_acquire (&(tid))) != 0) \
19045 + lll_futex_wait (&(tid), __tid, LLL_SHARED); \
19048 extern int __lll_timedwait_tid (int *, const struct timespec *)
19049 diff --git a/sysdeps/posix/preadv2.c b/sysdeps/posix/preadv2.c
19050 index d29147608f..4f8557ac83 100644
19051 --- a/sysdeps/posix/preadv2.c
19052 +++ b/sysdeps/posix/preadv2.c
19053 @@ -33,7 +33,10 @@ preadv2 (int fd, const struct iovec *vector, int count, off_t offset,
19057 - return preadv (fd, vector, count, offset);
19058 + if (offset == -1)
19059 + return __readv (fd, vector, count);
19061 + return preadv (fd, vector, count, offset);
19065 diff --git a/sysdeps/posix/preadv64v2.c b/sysdeps/posix/preadv64v2.c
19066 index a4844b145c..f89ad08c54 100644
19067 --- a/sysdeps/posix/preadv64v2.c
19068 +++ b/sysdeps/posix/preadv64v2.c
19069 @@ -30,7 +30,10 @@ preadv64v2 (int fd, const struct iovec *vector, int count, off64_t offset,
19073 - return preadv64 (fd, vector, count, offset);
19074 + if (offset == -1)
19075 + return __readv (fd, vector, count);
19077 + return preadv64 (fd, vector, count, offset);
19080 #ifdef __OFF_T_MATCHES_OFF64_T
19081 diff --git a/sysdeps/posix/pwritev2.c b/sysdeps/posix/pwritev2.c
19082 index 3abf37a810..a39304d9d9 100644
19083 --- a/sysdeps/posix/pwritev2.c
19084 +++ b/sysdeps/posix/pwritev2.c
19085 @@ -33,7 +33,10 @@ pwritev2 (int fd, const struct iovec *vector, int count, off_t offset,
19089 - return pwritev (fd, vector, count, offset);
19090 + if (offset == -1)
19091 + return __writev (fd, vector, count);
19093 + return pwritev (fd, vector, count, offset);
19097 diff --git a/sysdeps/posix/pwritev64v2.c b/sysdeps/posix/pwritev64v2.c
19098 index 374d2ad8a9..7a3a3239d7 100644
19099 --- a/sysdeps/posix/pwritev64v2.c
19100 +++ b/sysdeps/posix/pwritev64v2.c
19101 @@ -31,7 +31,10 @@ pwritev64v2 (int fd, const struct iovec *vector, int count, off64_t offset,
19105 - return pwritev64 (fd, vector, count, offset);
19106 + if (offset == -1)
19107 + return __writev (fd, vector, count);
19109 + return pwritev64 (fd, vector, count, offset);
19112 #ifdef __OFF_T_MATCHES_OFF64_T
19113 diff --git a/sysdeps/posix/spawni.c b/sysdeps/posix/spawni.c
19114 index 36bb5b4f78..b138ab4393 100644
19115 --- a/sysdeps/posix/spawni.c
19116 +++ b/sysdeps/posix/spawni.c
19117 @@ -310,6 +310,8 @@ __spawni (pid_t * pid, const char *file,
19118 const posix_spawnattr_t * attrp, char *const argv[],
19119 char *const envp[], int xflags)
19121 + /* It uses __execvpex to avoid run ENOEXEC in non compatibility mode (it
19122 + will be handled by maybe_script_execute). */
19123 return __spawnix (pid, file, acts, attrp, argv, envp, xflags,
19124 - xflags & SPAWN_XFLAGS_USE_PATH ? __execvpe : __execve);
19125 + xflags & SPAWN_XFLAGS_USE_PATH ? __execvpex : __execve);
19127 diff --git a/sysdeps/powerpc/powerpc32/sysdep.h b/sysdeps/powerpc/powerpc32/sysdep.h
19128 index 8e32a2a131..5f1294ead3 100644
19129 --- a/sysdeps/powerpc/powerpc32/sysdep.h
19130 +++ b/sysdeps/powerpc/powerpc32/sysdep.h
19131 @@ -90,7 +90,7 @@ GOT_LABEL: ; \
19133 ASM_SIZE_DIRECTIVE(name)
19136 +#if !IS_IN(rtld) && !defined(__SPE__)
19137 # define ABORT_TRANSACTION_IMPL \
19140 diff --git a/sysdeps/powerpc/sysdep.h b/sysdeps/powerpc/sysdep.h
19141 index 03db75fcb7..8a6d236caa 100644
19142 --- a/sysdeps/powerpc/sysdep.h
19143 +++ b/sysdeps/powerpc/sysdep.h
19144 @@ -174,7 +174,7 @@
19145 we abort transaction just before syscalls.
19147 [1] Documentation/powerpc/transactional_memory.txt [Syscalls] */
19149 +#if !IS_IN(rtld) && !defined(__SPE__)
19150 # define ABORT_TRANSACTION \
19152 if (THREAD_GET_TM_CAPABLE ()) \
19153 diff --git a/sysdeps/riscv/rvd/s_fmax.c b/sysdeps/riscv/rvd/s_fmax.c
19154 index ef8f1344ce..22e91bfc4b 100644
19155 --- a/sysdeps/riscv/rvd/s_fmax.c
19156 +++ b/sysdeps/riscv/rvd/s_fmax.c
19157 @@ -17,12 +17,19 @@
19158 <http://www.gnu.org/licenses/>. */
19161 +#include <math_private.h>
19162 #include <libm-alias-double.h>
19165 __fmax (double x, double y)
19167 - asm ("fmax.d %0, %1, %2" : "=f" (x) : "f" (x), "f" (y));
19171 + if (__glibc_unlikely ((_FCLASS (x) | _FCLASS (y)) & _FCLASS_SNAN))
19174 + asm ("fmax.d %0, %1, %2" : "=f" (res) : "f" (x), "f" (y));
19178 libm_alias_double (__fmax, fmax)
19179 diff --git a/sysdeps/riscv/rvd/s_fmin.c b/sysdeps/riscv/rvd/s_fmin.c
19180 index c6ff24cefb..7b35230cac 100644
19181 --- a/sysdeps/riscv/rvd/s_fmin.c
19182 +++ b/sysdeps/riscv/rvd/s_fmin.c
19183 @@ -17,12 +17,19 @@
19184 <http://www.gnu.org/licenses/>. */
19187 +#include <math_private.h>
19188 #include <libm-alias-double.h>
19191 __fmin (double x, double y)
19193 - asm ("fmin.d %0, %1, %2" : "=f" (x) : "f" (x), "f" (y));
19197 + if (__glibc_unlikely ((_FCLASS (x) | _FCLASS (y)) & _FCLASS_SNAN))
19200 + asm ("fmin.d %0, %1, %2" : "=f" (res) : "f" (x), "f" (y));
19204 libm_alias_double (__fmin, fmin)
19205 diff --git a/sysdeps/riscv/rvf/s_fmaxf.c b/sysdeps/riscv/rvf/s_fmaxf.c
19206 index 3293f2f41c..63f7e3d664 100644
19207 --- a/sysdeps/riscv/rvf/s_fmaxf.c
19208 +++ b/sysdeps/riscv/rvf/s_fmaxf.c
19209 @@ -17,12 +17,19 @@
19210 <http://www.gnu.org/licenses/>. */
19213 +#include <math_private.h>
19214 #include <libm-alias-float.h>
19217 __fmaxf (float x, float y)
19219 - asm ("fmax.s %0, %1, %2" : "=f" (x) : "f" (x), "f" (y));
19223 + if (__glibc_unlikely ((_FCLASS (x) | _FCLASS (y)) & _FCLASS_SNAN))
19226 + asm ("fmax.s %0, %1, %2" : "=f" (res) : "f" (x), "f" (y));
19230 libm_alias_float (__fmax, fmax)
19231 diff --git a/sysdeps/riscv/rvf/s_fminf.c b/sysdeps/riscv/rvf/s_fminf.c
19232 index e4411f04b2..82cca4e37d 100644
19233 --- a/sysdeps/riscv/rvf/s_fminf.c
19234 +++ b/sysdeps/riscv/rvf/s_fminf.c
19235 @@ -17,12 +17,19 @@
19236 <http://www.gnu.org/licenses/>. */
19239 +#include <math_private.h>
19240 #include <libm-alias-float.h>
19243 __fminf (float x, float y)
19245 - asm ("fmin.s %0, %1, %2" : "=f" (x) : "f" (x), "f" (y));
19249 + if (__glibc_unlikely ((_FCLASS (x) | _FCLASS (y)) & _FCLASS_SNAN))
19252 + asm ("fmin.s %0, %1, %2" : "=f" (res) : "f" (x), "f" (y));
19256 libm_alias_float (__fmin, fmin)
19257 diff --git a/sysdeps/riscv/tls-macros.h b/sysdeps/riscv/tls-macros.h
19258 index 5433ed9d16..7f0dd926d0 100644
19259 --- a/sysdeps/riscv/tls-macros.h
19260 +++ b/sysdeps/riscv/tls-macros.h
19262 #include <sysdep.h>
19263 #include "dl-tls.h"
19266 - ".option push\n\t" \
19267 - ".option norelax\n\t" \
19268 - "la gp, __global_pointer$\n\t" \
19269 - ".option pop\n\t"
19273 #define TLS_GD(x) \
19274 ({ void *__result; \
19276 - "la.tls.gd %0, " #x "\n\t" \
19278 + asm ("la.tls.gd %0, " #x "\n\t" \
19279 : "=r" (__result)); \
19280 __tls_get_addr (__result); })
19282 @@ -43,19 +33,15 @@
19284 #define TLS_IE(x) \
19285 ({ void *__result; \
19287 - "la.tls.ie %0, " #x "\n\t" \
19288 + asm ("la.tls.ie %0, " #x "\n\t" \
19289 "add %0, %0, tp\n\t" \
19291 : "=r" (__result)); \
19294 #define TLS_LE(x) \
19295 ({ void *__result; \
19297 - "lui %0, %%tprel_hi(" #x ")\n\t" \
19298 + asm ("lui %0, %%tprel_hi(" #x ")\n\t" \
19299 "add %0, %0, tp, %%tprel_add(" #x ")\n\t" \
19300 "addi %0, %0, %%tprel_lo(" #x ")\n\t" \
19302 : "=r" (__result)); \
19304 diff --git a/sysdeps/sh/libm-test-ulps b/sysdeps/sh/libm-test-ulps
19305 index da4224c2d6..11c5f3216d 100644
19306 --- a/sysdeps/sh/libm-test-ulps
19307 +++ b/sysdeps/sh/libm-test-ulps
19309 # Begin of automatic generation
19311 # Maximal error of functions:
19312 -Function: "acos_towardzero":
19317 -Function: "acosh":
19318 +Function: "acos_towardzero":
19324 +Function: "acosh":
19330 +Function: "acosh_towardzero":
19340 Function: "asin_towardzero":
19342 @@ -18,16 +36,55 @@ ifloat: 1
19349 +Function: "asinh_towardzero":
19363 -Function: "atanh":
19364 +Function: "atan2_towardzero":
19370 +Function: "atan_towardzero":
19376 +Function: "atanh":
19382 +Function: "atanh_towardzero":
19392 +Function: "cabs_towardzero":
19396 Function: Real part of "cacos":
19399 @@ -35,18 +92,52 @@ idouble: 1
19402 Function: Imaginary part of "cacos":
19410 +Function: Real part of "cacos_towardzero":
19416 +Function: Imaginary part of "cacos_towardzero":
19422 Function: Real part of "cacosh":
19428 +Function: Imaginary part of "cacosh":
19434 -Function: Imaginary part of "cacosh":
19435 +Function: Real part of "cacosh_towardzero":
19441 +Function: Imaginary part of "cacosh_towardzero":
19451 +Function: "carg_towardzero":
19455 @@ -59,15 +150,27 @@ idouble: 1
19458 Function: Imaginary part of "casin":
19466 +Function: Real part of "casin_towardzero":
19472 +Function: Imaginary part of "casin_towardzero":
19478 Function: Real part of "casinh":
19486 Function: Imaginary part of "casinh":
19487 @@ -76,8 +179,22 @@ float: 1
19491 +Function: Real part of "casinh_towardzero":
19497 +Function: Imaginary part of "casinh_towardzero":
19503 Function: Real part of "catan":
19509 Function: Imaginary part of "catan":
19510 @@ -86,6 +203,18 @@ float: 1
19514 +Function: Real part of "catan_towardzero":
19520 +Function: Imaginary part of "catan_towardzero":
19526 Function: Real part of "catanh":
19529 @@ -93,13 +222,33 @@ idouble: 1
19532 Function: Imaginary part of "catanh":
19539 +Function: Real part of "catanh_towardzero":
19545 +Function: Imaginary part of "catanh_towardzero":
19558 +Function: "cbrt_towardzero":
19564 Function: Real part of "ccos":
19565 @@ -114,6 +263,18 @@ float: 1
19569 +Function: Real part of "ccos_towardzero":
19575 +Function: Imaginary part of "ccos_towardzero":
19581 Function: Real part of "ccosh":
19584 @@ -126,6 +287,18 @@ float: 1
19588 +Function: Real part of "ccosh_towardzero":
19594 +Function: Imaginary part of "ccosh_towardzero":
19600 Function: Real part of "cexp":
19603 @@ -138,27 +311,63 @@ float: 2
19607 -Function: Real part of "clog":
19608 +Function: Real part of "cexp_towardzero":
19616 +Function: Imaginary part of "cexp_towardzero":
19622 +Function: Real part of "clog":
19628 Function: Imaginary part of "clog":
19632 Function: Real part of "clog10":
19638 +Function: Imaginary part of "clog10":
19644 -Function: Imaginary part of "clog10":
19645 +Function: Real part of "clog10_towardzero":
19651 +Function: Imaginary part of "clog10_towardzero":
19657 +Function: Real part of "clog_towardzero":
19663 +Function: Imaginary part of "clog_towardzero":
19673 @@ -184,42 +393,90 @@ ifloat: 1
19675 Function: Real part of "cpow":
19683 Function: Imaginary part of "cpow":
19687 +Function: Real part of "cpow_towardzero":
19693 +Function: Imaginary part of "cpow_towardzero":
19699 Function: Real part of "csin":
19705 -Function: Real part of "csinh":
19708 +Function: Real part of "csin_towardzero":
19714 -Function: Imaginary part of "csinh":
19715 +Function: Imaginary part of "csin_towardzero":
19721 -Function: Real part of "csqrt":
19723 +Function: Real part of "csinh":
19728 -Function: Imaginary part of "csqrt":
19729 +Function: Imaginary part of "csinh":
19735 +Function: Real part of "csinh_towardzero":
19741 +Function: Imaginary part of "csinh_towardzero":
19747 +Function: Real part of "csqrt":
19753 +Function: Imaginary part of "csqrt":
19759 +Function: Real part of "csqrt_towardzero":
19765 +Function: Imaginary part of "csqrt_towardzero":
19771 Function: Real part of "ctan":
19774 @@ -246,9 +503,9 @@ ifloat: 3
19776 Function: Real part of "ctanh":
19784 Function: Imaginary part of "ctanh":
19786 @@ -270,25 +527,51 @@ ifloat: 3
19795 +Function: "erf_towardzero":
19807 +Function: "erfc_towardzero":
19817 +Function: "exp10_towardzero":
19827 -Function: "exp10_towardzero":
19828 +Function: "exp2_towardzero":
19832 Function: "exp_towardzero":
19840 @@ -298,21 +581,31 @@ ifloat: 1
19842 Function: "expm1_towardzero":
19850 Function: "fma_towardzero":
19860 +Function: "gamma_towardzero":
19866 +Function: "hypot":
19872 -Function: "hypot":
19873 +Function: "hypot_towardzero":
19877 @@ -322,44 +615,94 @@ float: 2
19881 +Function: "j0_towardzero":
19893 +Function: "j1_towardzero":
19905 +Function: "jn_towardzero":
19911 Function: "lgamma":
19921 +Function: "lgamma_towardzero":
19939 +Function: "log10_towardzero":
19951 +Function: "log1p_towardzero":
19963 +Function: "log2_towardzero":
19971 Function: "pow_towardzero":
19978 @@ -376,9 +719,27 @@ Function: "sincos":
19982 -Function: "sinh_towardzero":
19983 +Function: "sincos_towardzero":
19995 +Function: "sinh_towardzero":
20005 Function: "tan_towardzero":
20007 @@ -386,11 +747,29 @@ float: 1
20017 +Function: "tanh_towardzero":
20023 Function: "tgamma":
20033 +Function: "tgamma_towardzero":
20041 @@ -398,16 +777,34 @@ float: 1
20045 +Function: "y0_towardzero":
20057 +Function: "y1_towardzero":
20069 +Function: "yn_towardzero":
20075 # end of automatic generation
20076 diff --git a/sysdeps/sparc/sparc32/start.S b/sysdeps/sparc/sparc32/start.S
20077 index 1db7327fc6..46ba8b6afa 100644
20078 --- a/sysdeps/sparc/sparc32/start.S
20079 +++ b/sysdeps/sparc/sparc32/start.S
20082 .type _start,#function
20089 @@ -57,7 +57,7 @@ _start:
20092 /* Load the addresses of the user entry points. */
20095 sethi %hi(main), %o0
20096 sethi %hi(__libc_csu_init), %o3
20097 sethi %hi(__libc_csu_fini), %o4
20098 diff --git a/sysdeps/sparc/sparc64/start.S b/sysdeps/sparc/sparc64/start.S
20099 index e1865f10cb..75ff5093dc 100644
20100 --- a/sysdeps/sparc/sparc64/start.S
20101 +++ b/sysdeps/sparc/sparc64/start.S
20104 .type _start,#function
20111 @@ -58,7 +58,7 @@ _start:
20112 add %sp, STACK_BIAS+23*8, %o2
20114 /* Load the addresses of the user entry points. */
20117 sethi %hi(main), %o0
20118 sethi %hi(__libc_csu_init), %o3
20119 sethi %hi(__libc_csu_fini), %o4
20120 diff --git a/sysdeps/unix/sysv/linux/aarch64/configure b/sysdeps/unix/sysv/linux/aarch64/configure
20121 index 27d50e1d3c..290670a67a 100644
20122 --- a/sysdeps/unix/sysv/linux/aarch64/configure
20123 +++ b/sysdeps/unix/sysv/linux/aarch64/configure
20124 @@ -6,10 +6,10 @@ arch_minimum_kernel=3.7.0
20125 test -n "$libc_cv_slibdir" ||
20128 - libc_cv_slibdir='/lib64'
20129 + libc_cv_slibdir='/lib'
20130 libc_cv_rtlddir='/lib'
20131 if test "$libdir" = '${exec_prefix}/lib'; then
20132 - libdir='${exec_prefix}/lib64';
20133 + libdir='${exec_prefix}/lib';
20134 # Locale data can be shared between 32-bit and 64-bit libraries.
20135 libc_cv_complocaledir='${exec_prefix}/lib/locale'
20137 diff --git a/sysdeps/unix/sysv/linux/aarch64/sys/ptrace.h b/sysdeps/unix/sysv/linux/aarch64/sys/ptrace.h
20138 index 4be45b95ff..93e373c3ad 100644
20139 --- a/sysdeps/unix/sysv/linux/aarch64/sys/ptrace.h
20140 +++ b/sysdeps/unix/sysv/linux/aarch64/sys/ptrace.h
20141 @@ -78,18 +78,10 @@ enum __ptrace_request
20142 PTRACE_DETACH = 17,
20143 #define PT_DETACH PTRACE_DETACH
20145 - PTRACE_GET_THREAD_AREA = 22,
20147 /* Continue and stop at the next entry to or return from syscall. */
20148 PTRACE_SYSCALL = 24,
20149 #define PT_SYSCALL PTRACE_SYSCALL
20151 - /* Get all hardware breakpoint registers. */
20152 - PTRACE_GETHBPREGS = 29,
20154 - /* Set all hardware breakpoint registers. */
20155 - PTRACE_SETHBPREGS = 30,
20157 /* Set ptrace filter options. */
20158 PTRACE_SETOPTIONS = 0x4200,
20159 #define PT_SETOPTIONS PTRACE_SETOPTIONS
20160 @@ -140,8 +132,12 @@ enum __ptrace_request
20161 #define PTRACE_SETSIGMASK PTRACE_SETSIGMASK
20163 /* Get seccomp BPF filters. */
20164 - PTRACE_SECCOMP_GET_FILTER = 0x420c
20165 + PTRACE_SECCOMP_GET_FILTER = 0x420c,
20166 #define PTRACE_SECCOMP_GET_FILTER PTRACE_SECCOMP_GET_FILTER
20168 + /* Get seccomp BPF filter metadata. */
20169 + PTRACE_SECCOMP_GET_METADATA = 0x420d
20170 +#define PTRACE_SECCOMP_GET_METADATA PTRACE_SECCOMP_GET_METADATA
20174 diff --git a/sysdeps/unix/sysv/linux/arm/sys/ptrace.h b/sysdeps/unix/sysv/linux/arm/sys/ptrace.h
20175 index fbcb9384bd..bc54a1e5e2 100644
20176 --- a/sysdeps/unix/sysv/linux/arm/sys/ptrace.h
20177 +++ b/sysdeps/unix/sysv/linux/arm/sys/ptrace.h
20178 @@ -192,8 +192,12 @@ enum __ptrace_request
20179 #define PTRACE_SETSIGMASK PTRACE_SETSIGMASK
20181 /* Get seccomp BPF filters. */
20182 - PTRACE_SECCOMP_GET_FILTER = 0x420c
20183 + PTRACE_SECCOMP_GET_FILTER = 0x420c,
20184 #define PTRACE_SECCOMP_GET_FILTER PTRACE_SECCOMP_GET_FILTER
20186 + /* Get seccomp BPF filter metadata. */
20187 + PTRACE_SECCOMP_GET_METADATA = 0x420d
20188 +#define PTRACE_SECCOMP_GET_METADATA PTRACE_SECCOMP_GET_METADATA
20192 diff --git a/sysdeps/unix/sysv/linux/bits/mman-shared.h b/sysdeps/unix/sysv/linux/bits/mman-shared.h
20193 index 7715e680ca..d15ba95c9d 100644
20194 --- a/sysdeps/unix/sysv/linux/bits/mman-shared.h
20195 +++ b/sysdeps/unix/sysv/linux/bits/mman-shared.h
20196 @@ -61,7 +61,7 @@ int pkey_set (int __key, unsigned int __access_rights) __THROW;
20198 /* Return the access rights for the current thread for KEY, which must
20199 have been allocated using pkey_alloc. */
20200 -int pkey_get (int _key) __THROW;
20201 +int pkey_get (int __key) __THROW;
20203 /* Free an allocated protection key, which must have been allocated
20204 using pkey_alloc. */
20205 diff --git a/sysdeps/unix/sysv/linux/bits/ptrace-shared.h b/sysdeps/unix/sysv/linux/bits/ptrace-shared.h
20206 index 960b101f94..03a779140c 100644
20207 --- a/sysdeps/unix/sysv/linux/bits/ptrace-shared.h
20208 +++ b/sysdeps/unix/sysv/linux/bits/ptrace-shared.h
20209 @@ -66,6 +66,13 @@ enum __ptrace_peeksiginfo_flags
20210 PTRACE_PEEKSIGINFO_SHARED = (1 << 0)
20213 +/* Argument and results of PTRACE_SECCOMP_GET_METADATA. */
20214 +struct __ptrace_seccomp_metadata
20216 + __uint64_t filter_off; /* Input: which filter. */
20217 + __uint64_t flags; /* Output: filter's flags. */
20220 /* Perform process tracing functions. REQUEST is one of the values
20221 above, and determines the action to be taken.
20222 For all requests except PTRACE_TRACEME, PID specifies the process to be
20223 diff --git a/sysdeps/unix/sysv/linux/bits/types/siginfo_t.h b/sysdeps/unix/sysv/linux/bits/types/siginfo_t.h
20224 index 33766d1813..43c4e009a4 100644
20225 --- a/sysdeps/unix/sysv/linux/bits/types/siginfo_t.h
20226 +++ b/sysdeps/unix/sysv/linux/bits/types/siginfo_t.h
20227 @@ -107,7 +107,7 @@ typedef struct
20231 - long int si_band; /* Band event for SIGPOLL. */
20232 + __SI_BAND_TYPE si_band; /* Band event for SIGPOLL. */
20236 diff --git a/sysdeps/unix/sysv/linux/bits/uio-ext.h b/sysdeps/unix/sysv/linux/bits/uio-ext.h
20237 index 53663ed1a2..8698bc1200 100644
20238 --- a/sysdeps/unix/sysv/linux/bits/uio-ext.h
20239 +++ b/sysdeps/unix/sysv/linux/bits/uio-ext.h
20240 @@ -46,6 +46,7 @@ extern ssize_t process_vm_writev (pid_t __pid, const struct iovec *__lvec,
20241 #define RWF_DSYNC 0x00000002 /* per-IO O_DSYNC. */
20242 #define RWF_SYNC 0x00000004 /* per-IO O_SYNC. */
20243 #define RWF_NOWAIT 0x00000008 /* per-IO nonblocking mode. */
20244 +#define RWF_APPEND 0x00000010 /* per-IO O_APPEND. */
20248 diff --git a/sysdeps/unix/sysv/linux/getlogin_r.c b/sysdeps/unix/sysv/linux/getlogin_r.c
20249 index 84c51d0ecd..7a814ea92f 100644
20250 --- a/sysdeps/unix/sysv/linux/getlogin_r.c
20251 +++ b/sysdeps/unix/sysv/linux/getlogin_r.c
20252 @@ -54,6 +54,15 @@ __getlogin_r_loginuid (char *name, size_t namesize)
20253 endp == uidbuf || *endp != '\0'))
20256 + /* If there is no login uid, linux sets /proc/self/loginid to the sentinel
20257 + value of, (uid_t) -1, so check if that value is set and return early to
20258 + avoid making unneeded nss lookups. */
20259 + if (uid == (uid_t) -1)
20261 + __set_errno (ENXIO);
20265 size_t buflen = 1024;
20266 char *buf = alloca (buflen);
20267 bool use_malloc = false;
20268 diff --git a/sysdeps/unix/sysv/linux/i386/Makefile b/sysdeps/unix/sysv/linux/i386/Makefile
20269 index 4080b8c966..da716e2c1b 100644
20270 --- a/sysdeps/unix/sysv/linux/i386/Makefile
20271 +++ b/sysdeps/unix/sysv/linux/i386/Makefile
20272 @@ -3,6 +3,9 @@ default-abi := 32
20274 ifeq ($(subdir),misc)
20275 sysdep_routines += ioperm iopl vm86
20277 +tests += tst-bz21269
20278 +$(objpfx)tst-bz21269: $(shared-thread-library)
20281 ifeq ($(subdir),elf)
20282 diff --git a/sysdeps/unix/sysv/linux/i386/sigaction.c b/sysdeps/unix/sysv/linux/i386/sigaction.c
20283 index a5eb9e0d3e..177ff60ee6 100644
20284 --- a/sysdeps/unix/sysv/linux/i386/sigaction.c
20285 +++ b/sysdeps/unix/sysv/linux/i386/sigaction.c
20286 @@ -42,7 +42,6 @@ extern void restore_rt (void) asm ("__restore_rt") attribute_hidden;
20288 extern void restore (void) asm ("__restore") attribute_hidden;
20291 /* If ACT is not NULL, change the action for SIG to *ACT.
20292 If OACT is not NULL, put the old action for SIG in *OACT. */
20294 @@ -65,6 +64,8 @@ __libc_sigaction (int sig, const struct sigaction *act, struct sigaction *oact)
20295 kact.sa_restorer = ((act->sa_flags & SA_SIGINFO)
20296 ? &restore_rt : &restore);
20299 + kact.sa_restorer = NULL;
20302 /* XXX The size argument hopefully will have to be changed to the
20303 diff --git a/sysdeps/unix/sysv/linux/i386/tst-bz21269.c b/sysdeps/unix/sysv/linux/i386/tst-bz21269.c
20304 new file mode 100644
20305 index 0000000000..6ee3fc62be
20307 +++ b/sysdeps/unix/sysv/linux/i386/tst-bz21269.c
20309 +/* Test for i386 sigaction sa_restorer handling (BZ#21269)
20310 + Copyright (C) 2017 Free Software Foundation, Inc.
20311 + This file is part of the GNU C Library.
20313 + The GNU C Library is free software; you can redistribute it and/or
20314 + modify it under the terms of the GNU Lesser General Public
20315 + License as published by the Free Software Foundation; either
20316 + version 2.1 of the License, or (at your option) any later version.
20318 + The GNU C Library is distributed in the hope that it will be useful,
20319 + but WITHOUT ANY WARRANTY; without even the implied warranty of
20320 + MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
20321 + Lesser General Public License for more details.
20323 + You should have received a copy of the GNU Lesser General Public
20324 + License along with the GNU C Library; if not, see
20325 + <http://www.gnu.org/licenses/>. */
20327 +/* This is based on Linux test tools/testing/selftests/x86/ldt_gdt.c,
20328 + more specifically in do_multicpu_tests function. The main changes
20331 + - C11 atomics instead of plain access.
20332 + - Remove x86_64 support which simplifies the syscall handling
20334 + - Replicate only the test required to trigger the issue for the
20337 +#include <stdatomic.h>
20339 +#include <asm/ldt.h>
20340 +#include <linux/futex.h>
20342 +#include <setjmp.h>
20343 +#include <signal.h>
20344 +#include <errno.h>
20345 +#include <sys/syscall.h>
20346 +#include <sys/mman.h>
20348 +#include <support/xunistd.h>
20349 +#include <support/check.h>
20350 +#include <support/xthread.h>
20353 +xset_thread_area (struct user_desc *u_info)
20355 + long ret = syscall (SYS_set_thread_area, u_info);
20356 + TEST_VERIFY_EXIT (ret == 0);
20361 +xmodify_ldt (int func, const void *ptr, unsigned long bytecount)
20363 + TEST_VERIFY_EXIT (syscall (SYS_modify_ldt, 1, ptr, bytecount) == 0);
20367 +futex (int *uaddr, int futex_op, int val, void *timeout, int *uaddr2,
20370 + return syscall (SYS_futex, uaddr, futex_op, val, timeout, uaddr2, val3);
20374 +xsethandler (int sig, void (*handler)(int, siginfo_t *, void *), int flags)
20376 + struct sigaction sa = { 0 };
20377 + sa.sa_sigaction = handler;
20378 + sa.sa_flags = SA_SIGINFO | flags;
20379 + TEST_VERIFY_EXIT (sigemptyset (&sa.sa_mask) == 0);
20380 + TEST_VERIFY_EXIT (sigaction (sig, &sa, 0) == 0);
20383 +static jmp_buf jmpbuf;
20386 +sigsegv_handler (int sig, siginfo_t *info, void *ctx_void)
20388 + siglongjmp (jmpbuf, 1);
20391 +/* Points to an array of 1024 ints, each holding its own index. */
20392 +static const unsigned int *counter_page;
20393 +static struct user_desc *low_user_desc;
20394 +static struct user_desc *low_user_desc_clear; /* Used to delete GDT entry. */
20395 +static int gdt_entry_num;
20398 +setup_counter_page (void)
20400 + long page_size = sysconf (_SC_PAGE_SIZE);
20401 + TEST_VERIFY_EXIT (page_size > 0);
20402 + unsigned int *page = xmmap (NULL, page_size, PROT_READ | PROT_WRITE,
20403 + MAP_ANONYMOUS | MAP_PRIVATE | MAP_32BIT, -1);
20404 + for (int i = 0; i < (page_size / sizeof (unsigned int)); i++)
20406 + counter_page = page;
20410 +setup_low_user_desc (void)
20412 + low_user_desc = xmmap (NULL, 2 * sizeof (struct user_desc),
20413 + PROT_READ | PROT_WRITE,
20414 + MAP_ANONYMOUS | MAP_PRIVATE | MAP_32BIT, -1);
20416 + low_user_desc->entry_number = -1;
20417 + low_user_desc->base_addr = (unsigned long) &counter_page[1];
20418 + low_user_desc->limit = 0xffff;
20419 + low_user_desc->seg_32bit = 1;
20420 + low_user_desc->contents = 0;
20421 + low_user_desc->read_exec_only = 0;
20422 + low_user_desc->limit_in_pages = 1;
20423 + low_user_desc->seg_not_present = 0;
20424 + low_user_desc->useable = 0;
20426 + xset_thread_area (low_user_desc);
20428 + low_user_desc_clear = low_user_desc + 1;
20429 + low_user_desc_clear->entry_number = gdt_entry_num;
20430 + low_user_desc_clear->read_exec_only = 1;
20431 + low_user_desc_clear->seg_not_present = 1;
20434 +/* Possible values of futex:
20435 + 0: thread is idle.
20437 + 2: thread should clear LDT entry 0.
20438 + 3: thread should exit. */
20439 +static atomic_uint ftx;
20442 +threadproc (void *ctx)
20446 + futex ((int *) &ftx, FUTEX_WAIT, 1, NULL, NULL, 0);
20447 + while (atomic_load (&ftx) != 2)
20449 + if (atomic_load (&ftx) >= 3)
20453 + /* clear LDT entry 0. */
20454 + const struct user_desc desc = { 0 };
20455 + xmodify_ldt (1, &desc, sizeof (desc));
20457 + /* If ftx == 2, set it to zero, If ftx == 100, quit. */
20458 + if (atomic_fetch_add (&ftx, -2) != 2)
20464 +/* As described in testcase, for historical reasons x86_32 Linux (and compat
20465 + on x86_64) interprets SA_RESTORER clear with nonzero sa_restorer as a
20466 + request for stack switching if the SS segment is 'funny' (this is default
20467 + scenario for vDSO system). This means that anything that tries to mix
20468 + signal handling with segmentation should explicit clear the sa_restorer.
20470 + This testcase check if sigaction in fact does it by changing the local
20471 + descriptor table (LDT) through the modify_ldt syscall and triggering
20472 + a synchronous segfault on iret fault by trying to install an invalid
20473 + segment. With a correct zeroed sa_restorer it should not trigger an
20474 + 'real' SEGSEGV and allows the siglongjmp in signal handler. */
20479 + setup_counter_page ();
20480 + setup_low_user_desc ();
20482 + pthread_t thread;
20483 + unsigned short orig_ss;
20485 + xsethandler (SIGSEGV, sigsegv_handler, 0);
20486 + /* 32-bit kernels send SIGILL instead of SIGSEGV on IRET faults. */
20487 + xsethandler (SIGILL, sigsegv_handler, 0);
20488 + /* Some kernels send SIGBUS instead. */
20489 + xsethandler (SIGBUS, sigsegv_handler, 0);
20491 + thread = xpthread_create (0, threadproc, 0);
20493 + asm volatile ("mov %%ss, %0" : "=rm" (orig_ss));
20495 + for (int i = 0; i < 5; i++)
20497 + if (sigsetjmp (jmpbuf, 1) != 0)
20500 + /* Make sure the thread is ready after the last test. */
20501 + while (atomic_load (&ftx) != 0)
20504 + struct user_desc desc = {
20505 + .entry_number = 0,
20510 + .read_exec_only = 0,
20511 + .limit_in_pages = 1,
20512 + .seg_not_present = 0,
20516 + xmodify_ldt (0x11, &desc, sizeof (desc));
20518 + /* Arm the thread. */
20520 + futex ((int*) &ftx, FUTEX_WAKE, 0, NULL, NULL, 0);
20522 + asm volatile ("mov %0, %%ss" : : "r" (0x7));
20524 + /* Fire up thread modify_ldt call. */
20525 + atomic_store (&ftx, 2);
20527 + while (atomic_load (&ftx) != 0)
20530 + /* On success, modify_ldt will segfault us synchronously and we will
20531 + escape via siglongjmp. */
20532 + support_record_failure ();
20535 + atomic_store (&ftx, 100);
20536 + futex ((int*) &ftx, FUTEX_WAKE, 0, NULL, NULL, 0);
20538 + xpthread_join (thread);
20543 +#include <support/test-driver.c>
20544 diff --git a/sysdeps/unix/sysv/linux/ia64/sys/ptrace.h b/sysdeps/unix/sysv/linux/ia64/sys/ptrace.h
20545 index 1c73b9dee6..e00b1212fc 100644
20546 --- a/sysdeps/unix/sysv/linux/ia64/sys/ptrace.h
20547 +++ b/sysdeps/unix/sysv/linux/ia64/sys/ptrace.h
20548 @@ -145,8 +145,12 @@ enum __ptrace_request
20549 #define PTRACE_SETSIGMASK PTRACE_SETSIGMASK
20551 /* Get seccomp BPF filters. */
20552 - PTRACE_SECCOMP_GET_FILTER = 0x420c
20553 + PTRACE_SECCOMP_GET_FILTER = 0x420c,
20554 #define PTRACE_SECCOMP_GET_FILTER PTRACE_SECCOMP_GET_FILTER
20556 + /* Get seccomp BPF filter metadata. */
20557 + PTRACE_SECCOMP_GET_METADATA = 0x420d
20558 +#define PTRACE_SECCOMP_GET_METADATA PTRACE_SECCOMP_GET_METADATA
20562 diff --git a/sysdeps/unix/sysv/linux/if_index.c b/sysdeps/unix/sysv/linux/if_index.c
20563 index e3d08982d9..782fc5e175 100644
20564 --- a/sysdeps/unix/sysv/linux/if_index.c
20565 +++ b/sysdeps/unix/sysv/linux/if_index.c
20566 @@ -38,11 +38,6 @@ __if_nametoindex (const char *ifname)
20570 - int fd = __opensock ();
20575 if (strlen (ifname) >= IFNAMSIZ)
20577 __set_errno (ENODEV);
20578 @@ -50,6 +45,12 @@ __if_nametoindex (const char *ifname)
20581 strncpy (ifr.ifr_name, ifname, sizeof (ifr.ifr_name));
20583 + int fd = __opensock ();
20588 if (__ioctl (fd, SIOCGIFINDEX, &ifr) < 0)
20590 int saved_errno = errno;
20591 diff --git a/sysdeps/unix/sysv/linux/ifaddrs.c b/sysdeps/unix/sysv/linux/ifaddrs.c
20592 index 32381f54e4..ac0e1e5738 100644
20593 --- a/sysdeps/unix/sysv/linux/ifaddrs.c
20594 +++ b/sysdeps/unix/sysv/linux/ifaddrs.c
20595 @@ -370,6 +370,14 @@ getifaddrs_internal (struct ifaddrs **ifap)
20596 if ((pid_t) nlh->nlmsg_pid != nh.pid || nlh->nlmsg_seq != nlp->seq)
20599 + /* If the dump got interrupted, we can't rely on the results
20601 + if (nlh->nlmsg_flags & NLM_F_DUMP_INTR)
20603 + result = -EAGAIN;
20607 if (nlh->nlmsg_type == NLMSG_DONE)
20610 diff --git a/sysdeps/unix/sysv/linux/powerpc/elision-lock.c b/sysdeps/unix/sysv/linux/powerpc/elision-lock.c
20611 index b7093feab9..98a23f0dd2 100644
20612 --- a/sysdeps/unix/sysv/linux/powerpc/elision-lock.c
20613 +++ b/sysdeps/unix/sysv/linux/powerpc/elision-lock.c
20616 __lll_lock_elision (int *lock, short *adapt_count, EXTRAARG int pshared)
20619 /* adapt_count is accessed concurrently but is just a hint. Thus,
20620 use atomic accesses but relaxed MO is sufficient. */
20621 if (atomic_load_relaxed (adapt_count) > 0)
20622 @@ -82,5 +83,6 @@ __lll_lock_elision (int *lock, short *adapt_count, EXTRAARG int pshared)
20623 aconf.skip_lock_out_of_tbegin_retries);
20627 return LLL_LOCK ((*lock), pshared);
20629 diff --git a/sysdeps/unix/sysv/linux/powerpc/elision-trylock.c b/sysdeps/unix/sysv/linux/powerpc/elision-trylock.c
20630 index b74a810648..fabb03b2c4 100644
20631 --- a/sysdeps/unix/sysv/linux/powerpc/elision-trylock.c
20632 +++ b/sysdeps/unix/sysv/linux/powerpc/elision-trylock.c
20635 __lll_trylock_elision (int *futex, short *adapt_count)
20638 /* Implement POSIX semantics by forbiding nesting elided trylocks. */
20639 __libc_tabort (_ABORT_NESTED_TRYLOCK);
20641 @@ -65,5 +66,6 @@ __lll_trylock_elision (int *futex, short *adapt_count)
20646 return lll_trylock (*futex);
20648 diff --git a/sysdeps/unix/sysv/linux/powerpc/elision-unlock.c b/sysdeps/unix/sysv/linux/powerpc/elision-unlock.c
20649 index dcfab199d7..14e0680ee9 100644
20650 --- a/sysdeps/unix/sysv/linux/powerpc/elision-unlock.c
20651 +++ b/sysdeps/unix/sysv/linux/powerpc/elision-unlock.c
20654 __lll_unlock_elision (int *lock, short *adapt_count, int pshared)
20657 /* When the lock was free we're in a transaction. */
20660 @@ -39,5 +40,8 @@ __lll_unlock_elision (int *lock, short *adapt_count, int pshared)
20662 lll_unlock ((*lock), pshared);
20665 + lll_unlock ((*lock), pshared);
20669 diff --git a/sysdeps/unix/sysv/linux/powerpc/force-elision.h b/sysdeps/unix/sysv/linux/powerpc/force-elision.h
20670 index fe5d6ceade..d8f5a4b1c7 100644
20671 --- a/sysdeps/unix/sysv/linux/powerpc/force-elision.h
20672 +++ b/sysdeps/unix/sysv/linux/powerpc/force-elision.h
20675 /* Automatically enable elision for existing user lock kinds. */
20676 #define FORCE_ELISION(m, s) \
20677 - if (__pthread_force_elision \
20678 - && (m->__data.__kind & PTHREAD_MUTEX_ELISION_FLAGS_NP) == 0) \
20679 + if (__pthread_force_elision) \
20681 - mutex->__data.__kind |= PTHREAD_MUTEX_ELISION_NP; \
20683 + /* See concurrency notes regarding __kind in \
20684 + struct __pthread_mutex_s in \
20685 + sysdeps/nptl/bits/thread-shared-types.h. \
20687 + There are the following cases for the kind of a mutex \
20688 + (The mask PTHREAD_MUTEX_ELISION_FLAGS_NP covers the flags \
20689 + PTHREAD_MUTEX_ELISION_NP and PTHREAD_MUTEX_NO_ELISION_NP where \
20690 + only one of both flags can be set): \
20691 + - both flags are not set: \
20692 + This is the first lock operation for this mutex. Enable \
20693 + elision as it is not enabled so far. \
20694 + Note: It can happen that multiple threads are calling e.g. \
20695 + pthread_mutex_lock at the same time as the first lock \
20696 + operation for this mutex. Then elision is enabled for this \
20697 + mutex by multiple threads. Storing with relaxed MO is enough \
20698 + as all threads will store the same new value for the kind of \
20699 + the mutex. But we have to ensure that we always use the \
20700 + elision path regardless if this thread has enabled elision or \
20703 + - PTHREAD_MUTEX_ELISION_NP flag is set: \
20704 + Elision was already enabled for this mutex by a previous lock \
20705 + operation. See case above. Just use the elision path. \
20707 + - PTHREAD_MUTEX_NO_ELISION_NP flag is set: \
20708 + Elision was explicitly disabled by pthread_mutexattr_settype. \
20709 + Do not use the elision path. \
20710 + Note: The flag PTHREAD_MUTEX_NO_ELISION_NP will never be \
20711 + changed after mutex initialization. */ \
20712 + int mutex_kind = atomic_load_relaxed (&((m)->__data.__kind)); \
20713 + if ((mutex_kind & PTHREAD_MUTEX_ELISION_FLAGS_NP) == 0) \
20715 + mutex_kind |= PTHREAD_MUTEX_ELISION_NP; \
20716 + atomic_store_relaxed (&((m)->__data.__kind), mutex_kind); \
20718 + if ((mutex_kind & PTHREAD_MUTEX_ELISION_NP) != 0) \
20723 diff --git a/sysdeps/unix/sysv/linux/powerpc/sys/ptrace.h b/sysdeps/unix/sysv/linux/powerpc/sys/ptrace.h
20724 index 75567b2bad..9fde99c748 100644
20725 --- a/sysdeps/unix/sysv/linux/powerpc/sys/ptrace.h
20726 +++ b/sysdeps/unix/sysv/linux/powerpc/sys/ptrace.h
20731 +#if defined _LINUX_PTRACE_H || defined _ASM_POWERPC_PTRACE_H
20732 +/* Do not let Linux headers macros interfere with enum __ptrace_request. */
20733 +# undef PTRACE_ATTACH
20734 +# undef PTRACE_CONT
20735 +# undef PTRACE_DETACH
20736 +# undef PTRACE_GET_DEBUGREG
20737 +# undef PTRACE_GETEVENTMSG
20738 +# undef PTRACE_GETEVRREGS
20739 +# undef PTRACE_GETFPREGS
20740 +# undef PTRACE_GETREGS
20741 +# undef PTRACE_GETREGS64
20742 +# undef PTRACE_GETREGSET
20743 +# undef PTRACE_GETSIGINFO
20744 +# undef PTRACE_GETSIGMASK
20745 +# undef PTRACE_GETVRREGS
20746 +# undef PTRACE_GETVSRREGS
20747 +# undef PTRACE_INTERRUPT
20748 +# undef PTRACE_KILL
20749 +# undef PTRACE_LISTEN
20750 +# undef PTRACE_PEEKDATA
20751 +# undef PTRACE_PEEKSIGINFO
20752 +# undef PTRACE_PEEKTEXT
20753 +# undef PTRACE_POKEDATA
20754 +# undef PTRACE_POKETEXT
20755 +# undef PTRACE_SECCOMP_GET_FILTER
20756 +# undef PTRACE_SECCOMP_GET_METADATA
20757 +# undef PTRACE_SEIZE
20758 +# undef PTRACE_SET_DEBUGREG
20759 +# undef PTRACE_SETEVRREGS
20760 +# undef PTRACE_SETFPREGS
20761 +# undef PTRACE_SETOPTIONS
20762 +# undef PTRACE_SETREGS
20763 +# undef PTRACE_SETREGS64
20764 +# undef PTRACE_SETREGSET
20765 +# undef PTRACE_SETSIGINFO
20766 +# undef PTRACE_SETSIGMASK
20767 +# undef PTRACE_SETVRREGS
20768 +# undef PTRACE_SETVSRREGS
20769 +# undef PTRACE_SINGLEBLOCK
20770 +# undef PTRACE_SINGLESTEP
20771 +# undef PTRACE_SYSCALL
20772 +# undef PTRACE_TRACEME
20775 /* Type of the REQUEST argument to `ptrace.' */
20776 enum __ptrace_request
20778 @@ -69,6 +113,22 @@ enum __ptrace_request
20779 PTRACE_SINGLESTEP = 9,
20780 #define PT_STEP PTRACE_SINGLESTEP
20782 + /* Get all general purpose registers used by a process. */
20783 + PTRACE_GETREGS = 12,
20784 +#define PT_GETREGS PTRACE_GETREGS
20786 + /* Set all general purpose registers used by a process. */
20787 + PTRACE_SETREGS = 13,
20788 +#define PT_SETREGS PTRACE_SETREGS
20790 + /* Get all floating point registers used by a process. */
20791 + PTRACE_GETFPREGS = 14,
20792 +#define PT_GETFPREGS PTRACE_GETFPREGS
20794 + /* Set all floating point registers used by a process. */
20795 + PTRACE_SETFPREGS = 15,
20796 +#define PT_SETFPREGS PTRACE_SETFPREGS
20798 /* Attach to a process that is already running. */
20799 PTRACE_ATTACH = 16,
20800 #define PT_ATTACH PTRACE_ATTACH
20801 @@ -77,10 +137,56 @@ enum __ptrace_request
20802 PTRACE_DETACH = 17,
20803 #define PT_DETACH PTRACE_DETACH
20805 + /* Get all altivec registers used by a process. */
20806 + PTRACE_GETVRREGS = 18,
20807 +#define PT_GETVRREGS PTRACE_GETVRREGS
20809 + /* Set all altivec registers used by a process. */
20810 + PTRACE_SETVRREGS = 19,
20811 +#define PT_SETVRREGS PTRACE_SETVRREGS
20813 + /* Get all SPE registers used by a process. */
20814 + PTRACE_GETEVRREGS = 20,
20815 +#define PT_GETEVRREGS PTRACE_GETEVRREGS
20817 + /* Set all SPE registers used by a process. */
20818 + PTRACE_SETEVRREGS = 21,
20819 +#define PT_SETEVRREGS PTRACE_SETEVRREGS
20821 + /* Same as PTRACE_GETREGS except a 32-bit process will obtain
20822 + the full 64-bit registers. Implemented by 64-bit kernels only. */
20823 + PTRACE_GETREGS64 = 22,
20824 +#define PT_GETREGS64 PTRACE_GETREGS64
20826 + /* Same as PTRACE_SETREGS except a 32-bit process will set
20827 + the full 64-bit registers. Implemented by 64-bit kernels only. */
20828 + PTRACE_SETREGS64 = 23,
20829 +#define PT_SETREGS64 PTRACE_SETREGS64
20831 /* Continue and stop at the next entry to or return from syscall. */
20832 PTRACE_SYSCALL = 24,
20833 #define PT_SYSCALL PTRACE_SYSCALL
20835 + /* Get a debug register of a process. */
20836 + PTRACE_GET_DEBUGREG = 25,
20837 +#define PT_GET_DEBUGREG PTRACE_GET_DEBUGREG
20839 + /* Set a debug register of a process. */
20840 + PTRACE_SET_DEBUGREG = 26,
20841 +#define PT_SET_DEBUGREG PTRACE_SET_DEBUGREG
20843 + /* Get the first 32 VSX registers of a process. */
20844 + PTRACE_GETVSRREGS = 27,
20845 +#define PT_GETVSRREGS PTRACE_GETVSRREGS
20847 + /* Set the first 32 VSX registers of a process. */
20848 + PTRACE_SETVSRREGS = 28,
20849 +#define PT_SETVSRREGS PTRACE_SETVSRREGS
20851 + /* Execute process until next taken branch. */
20852 + PTRACE_SINGLEBLOCK = 256,
20853 +#define PT_STEPBLOCK PTRACE_SINGLEBLOCK
20855 /* Set ptrace filter options. */
20856 PTRACE_SETOPTIONS = 0x4200,
20857 #define PT_SETOPTIONS PTRACE_SETOPTIONS
20858 @@ -131,8 +237,12 @@ enum __ptrace_request
20859 #define PTRACE_SETSIGMASK PTRACE_SETSIGMASK
20861 /* Get seccomp BPF filters. */
20862 - PTRACE_SECCOMP_GET_FILTER = 0x420c
20863 + PTRACE_SECCOMP_GET_FILTER = 0x420c,
20864 #define PTRACE_SECCOMP_GET_FILTER PTRACE_SECCOMP_GET_FILTER
20866 + /* Get seccomp BPF filter metadata. */
20867 + PTRACE_SECCOMP_GET_METADATA = 0x420d
20868 +#define PTRACE_SECCOMP_GET_METADATA PTRACE_SECCOMP_GET_METADATA
20872 diff --git a/sysdeps/unix/sysv/linux/preadv2.c b/sysdeps/unix/sysv/linux/preadv2.c
20873 index 06d29b1322..bb08cbc5fd 100644
20874 --- a/sysdeps/unix/sysv/linux/preadv2.c
20875 +++ b/sysdeps/unix/sysv/linux/preadv2.c
20876 @@ -32,7 +32,7 @@ preadv2 (int fd, const struct iovec *vector, int count, off_t offset,
20877 # ifdef __NR_preadv2
20878 ssize_t result = SYSCALL_CANCEL (preadv2, fd, vector, count,
20879 LO_HI_LONG (offset), flags);
20881 + if (result >= 0 || errno != ENOSYS)
20884 /* Trying to emulate the preadv2 syscall flags is troublesome:
20885 @@ -49,7 +49,10 @@ preadv2 (int fd, const struct iovec *vector, int count, off_t offset,
20886 __set_errno (ENOTSUP);
20889 - return preadv (fd, vector, count, offset);
20890 + if (offset == -1)
20891 + return __readv (fd, vector, count);
20893 + return preadv (fd, vector, count, offset);
20897 diff --git a/sysdeps/unix/sysv/linux/preadv64v2.c b/sysdeps/unix/sysv/linux/preadv64v2.c
20898 index 58f7848352..b72a047347 100644
20899 --- a/sysdeps/unix/sysv/linux/preadv64v2.c
20900 +++ b/sysdeps/unix/sysv/linux/preadv64v2.c
20901 @@ -30,7 +30,7 @@ preadv64v2 (int fd, const struct iovec *vector, int count, off64_t offset,
20902 #ifdef __NR_preadv64v2
20903 ssize_t result = SYSCALL_CANCEL (preadv64v2, fd, vector, count,
20904 LO_HI_LONG (offset), flags);
20906 + if (result >= 0 || errno != ENOSYS)
20909 /* Trying to emulate the preadv2 syscall flags is troublesome:
20910 @@ -47,7 +47,11 @@ preadv64v2 (int fd, const struct iovec *vector, int count, off64_t offset,
20911 __set_errno (ENOTSUP);
20914 - return preadv64 (fd, vector, count, offset);
20916 + if (offset == -1)
20917 + return __readv (fd, vector, count);
20919 + return preadv64 (fd, vector, count, offset);
20922 #ifdef __OFF_T_MATCHES_OFF64_T
20923 diff --git a/sysdeps/unix/sysv/linux/pwritev2.c b/sysdeps/unix/sysv/linux/pwritev2.c
20924 index d50d9f51f9..26333ebd43 100644
20925 --- a/sysdeps/unix/sysv/linux/pwritev2.c
20926 +++ b/sysdeps/unix/sysv/linux/pwritev2.c
20927 @@ -28,7 +28,7 @@ pwritev2 (int fd, const struct iovec *vector, int count, off_t offset,
20928 # ifdef __NR_pwritev2
20929 ssize_t result = SYSCALL_CANCEL (pwritev2, fd, vector, count,
20930 LO_HI_LONG (offset), flags);
20932 + if (result >= 0 || errno != ENOSYS)
20935 /* Trying to emulate the pwritev2 syscall flags is troublesome:
20936 @@ -45,7 +45,10 @@ pwritev2 (int fd, const struct iovec *vector, int count, off_t offset,
20937 __set_errno (ENOTSUP);
20940 - return pwritev (fd, vector, count, offset);
20941 + if (offset == -1)
20942 + return __writev (fd, vector, count);
20944 + return pwritev (fd, vector, count, offset);
20948 diff --git a/sysdeps/unix/sysv/linux/pwritev64v2.c b/sysdeps/unix/sysv/linux/pwritev64v2.c
20949 index 40c2387690..17ea905aa6 100644
20950 --- a/sysdeps/unix/sysv/linux/pwritev64v2.c
20951 +++ b/sysdeps/unix/sysv/linux/pwritev64v2.c
20952 @@ -30,7 +30,7 @@ pwritev64v2 (int fd, const struct iovec *vector, int count, off64_t offset,
20953 #ifdef __NR_pwritev64v2
20954 ssize_t result = SYSCALL_CANCEL (pwritev64v2, fd, vector, count,
20955 LO_HI_LONG (offset), flags);
20957 + if (result >= 0 || errno != ENOSYS)
20960 /* Trying to emulate the pwritev2 syscall flags is troublesome:
20961 @@ -47,7 +47,10 @@ pwritev64v2 (int fd, const struct iovec *vector, int count, off64_t offset,
20962 __set_errno (ENOTSUP);
20965 - return pwritev64 (fd, vector, count, offset);
20966 + if (offset == -1)
20967 + return __writev (fd, vector, count);
20969 + return pwritev64 (fd, vector, count, offset);
20972 #ifdef __OFF_T_MATCHES_OFF64_T
20973 diff --git a/sysdeps/unix/sysv/linux/riscv/kernel_sigaction.h b/sysdeps/unix/sysv/linux/riscv/kernel_sigaction.h
20974 new file mode 100644
20975 index 0000000000..2a62bcc5bc
20977 +++ b/sysdeps/unix/sysv/linux/riscv/kernel_sigaction.h
20979 +/* This is the sigaction structure from the RISC-V Linux 4.15 kernel. */
20981 +struct kernel_sigaction {
20982 + __sighandler_t k_sa_handler;
20983 + unsigned long sa_flags;
20984 + sigset_t sa_mask;
20986 diff --git a/sysdeps/unix/sysv/linux/riscv/readelflib.c b/sysdeps/unix/sysv/linux/riscv/readelflib.c
20987 index 6e249ff82f..7e27e0c1d6 100644
20988 --- a/sysdeps/unix/sysv/linux/riscv/readelflib.c
20989 +++ b/sysdeps/unix/sysv/linux/riscv/readelflib.c
20990 @@ -43,6 +43,7 @@ process_elf_file (const char *file_name, const char *lib, int *flag,
20992 ElfW(Ehdr) *elf_header = (ElfW(Ehdr) *) file_contents;
20993 Elf32_Ehdr *elf32_header = (Elf32_Ehdr *) elf_header;
20994 + Elf64_Ehdr *elf64_header = (Elf64_Ehdr *) elf_header;
20998 @@ -59,7 +60,7 @@ process_elf_file (const char *file_name, const char *lib, int *flag,
21000 ret = process_elf64_file (file_name, lib, flag, osversion, soname,
21001 file_contents, file_length);
21002 - flags = elf32_header->e_flags;
21003 + flags = elf64_header->e_flags;
21006 /* RISC-V linkers encode the floating point ABI as part of the ELF headers. */
21007 diff --git a/sysdeps/unix/sysv/linux/s390/force-elision.h b/sysdeps/unix/sysv/linux/s390/force-elision.h
21008 index d8a1b9972f..71f32367dd 100644
21009 --- a/sysdeps/unix/sysv/linux/s390/force-elision.h
21010 +++ b/sysdeps/unix/sysv/linux/s390/force-elision.h
21013 /* Automatically enable elision for existing user lock kinds. */
21014 #define FORCE_ELISION(m, s) \
21015 - if (__pthread_force_elision \
21016 - && (m->__data.__kind & PTHREAD_MUTEX_ELISION_FLAGS_NP) == 0) \
21017 + if (__pthread_force_elision) \
21019 - mutex->__data.__kind |= PTHREAD_MUTEX_ELISION_NP; \
21021 + /* See concurrency notes regarding __kind in \
21022 + struct __pthread_mutex_s in \
21023 + sysdeps/nptl/bits/thread-shared-types.h. \
21025 + There are the following cases for the kind of a mutex \
21026 + (The mask PTHREAD_MUTEX_ELISION_FLAGS_NP covers the flags \
21027 + PTHREAD_MUTEX_ELISION_NP and PTHREAD_MUTEX_NO_ELISION_NP where \
21028 + only one of both flags can be set): \
21029 + - both flags are not set: \
21030 + This is the first lock operation for this mutex. Enable \
21031 + elision as it is not enabled so far. \
21032 + Note: It can happen that multiple threads are calling e.g. \
21033 + pthread_mutex_lock at the same time as the first lock \
21034 + operation for this mutex. Then elision is enabled for this \
21035 + mutex by multiple threads. Storing with relaxed MO is enough \
21036 + as all threads will store the same new value for the kind of \
21037 + the mutex. But we have to ensure that we always use the \
21038 + elision path regardless if this thread has enabled elision or \
21041 + - PTHREAD_MUTEX_ELISION_NP flag is set: \
21042 + Elision was already enabled for this mutex by a previous lock \
21043 + operation. See case above. Just use the elision path. \
21045 + - PTHREAD_MUTEX_NO_ELISION_NP flag is set: \
21046 + Elision was explicitly disabled by pthread_mutexattr_settype. \
21047 + Do not use the elision path. \
21048 + Note: The flag PTHREAD_MUTEX_NO_ELISION_NP will never be \
21049 + changed after mutex initialization. */ \
21050 + int mutex_kind = atomic_load_relaxed (&((m)->__data.__kind)); \
21051 + if ((mutex_kind & PTHREAD_MUTEX_ELISION_FLAGS_NP) == 0) \
21053 + mutex_kind |= PTHREAD_MUTEX_ELISION_NP; \
21054 + atomic_store_relaxed (&((m)->__data.__kind), mutex_kind); \
21056 + if ((mutex_kind & PTHREAD_MUTEX_ELISION_NP) != 0) \
21061 diff --git a/sysdeps/unix/sysv/linux/s390/sys/ptrace.h b/sysdeps/unix/sysv/linux/s390/sys/ptrace.h
21062 index cca02489d6..d60a034b11 100644
21063 --- a/sysdeps/unix/sysv/linux/s390/sys/ptrace.h
21064 +++ b/sysdeps/unix/sysv/linux/s390/sys/ptrace.h
21065 @@ -52,6 +52,7 @@ __BEGIN_DECLS
21066 # undef PTRACE_GETSIGMASK
21067 # undef PTRACE_SETSIGMASK
21068 # undef PTRACE_SECCOMP_GET_FILTER
21069 +# undef PTRACE_SECCOMP_GET_METADATA
21070 # undef PTRACE_PEEKUSR_AREA
21071 # undef PTRACE_POKEUSR_AREA
21072 # undef PTRACE_GET_LAST_BREAK
21073 @@ -193,6 +194,10 @@ enum __ptrace_request
21074 PTRACE_SECCOMP_GET_FILTER = 0x420c,
21075 #define PTRACE_SECCOMP_GET_FILTER PTRACE_SECCOMP_GET_FILTER
21077 + /* Get seccomp BPF filter metadata. */
21078 + PTRACE_SECCOMP_GET_METADATA = 0x420d,
21079 +#define PTRACE_SECCOMP_GET_METADATA PTRACE_SECCOMP_GET_METADATA
21081 PTRACE_PEEKUSR_AREA = 0x5000,
21082 #define PTRACE_PEEKUSR_AREA PTRACE_PEEKUSR_AREA
21084 diff --git a/sysdeps/unix/sysv/linux/sparc/bits/siginfo-arch.h b/sysdeps/unix/sysv/linux/sparc/bits/siginfo-arch.h
21085 index 9f79715ebe..4dd35237f6 100644
21086 --- a/sysdeps/unix/sysv/linux/sparc/bits/siginfo-arch.h
21087 +++ b/sysdeps/unix/sysv/linux/sparc/bits/siginfo-arch.h
21089 #ifndef _BITS_SIGINFO_ARCH_H
21090 #define _BITS_SIGINFO_ARCH_H 1
21092 -#define __SI_BAND_TYPE int
21093 +/* The kernel uses int instead of long int (as in POSIX). In 32-bit
21094 + mode, we can still use long int, but in 64-bit mode, we need to
21095 + deviate from POSIX. */
21096 +#if __WORDSIZE == 64
21097 +# define __SI_BAND_TYPE int
21100 #define __SI_SIGFAULT_ADDL \
21102 diff --git a/sysdeps/unix/sysv/linux/sparc/sparc32/setcontext.S b/sysdeps/unix/sysv/linux/sparc/sparc32/setcontext.S
21103 index 695f172c63..283aef1b30 100644
21104 --- a/sysdeps/unix/sysv/linux/sparc/sparc32/setcontext.S
21105 +++ b/sysdeps/unix/sysv/linux/sparc/sparc32/setcontext.S
21106 @@ -95,6 +95,19 @@ END(__setcontext)
21108 weak_alias (__setcontext, setcontext)
21110 +/* We add an NOP here to separate between __setcontext/__startcontext. The
21111 + wanted behavior that happens is: when unwinding from a function called
21112 + inside a makecontext() context, FDE lookup will use '&__startcontext - 1',
21113 + then returns NULL for no FDE found, and immediately ends the unwind, in
21114 + a normal fashion.
21116 + If this NOP word does not exist, FDE lookup just repeatedly finds
21117 + __setcontext's FDE in an infinite loop, due to the convention of using
21118 + 'address - 1' for FDE lookup. Modifiying/deleting the below
21119 + __startcontext's FDE has no help on this. */
21123 /* This is the helper code which gets called if a function which is
21124 registered with 'makecontext' returns. In this case we have to
21125 install the context listed in the uc_link element of the context
21126 diff --git a/sysdeps/unix/sysv/linux/sparc/sparc64/Makefile b/sysdeps/unix/sysv/linux/sparc/sparc64/Makefile
21127 index 715af3df7b..218c246f16 100644
21128 --- a/sysdeps/unix/sysv/linux/sparc/sparc64/Makefile
21129 +++ b/sysdeps/unix/sysv/linux/sparc/sparc64/Makefile
21130 @@ -7,3 +7,8 @@ LD += -melf64_sparc
21131 ifeq ($(subdir),stdlib)
21132 sysdep_routines += __start_context
21135 +ifeq ($(subdir),conform)
21136 +# For bug 23821 (incorrect type of si_band).
21137 +conformtest-xfail-conds += sparc64-linux
21139 diff --git a/sysdeps/unix/sysv/linux/sparc/sys/ptrace.h b/sysdeps/unix/sysv/linux/sparc/sys/ptrace.h
21140 index 9193275fac..c037734666 100644
21141 --- a/sysdeps/unix/sysv/linux/sparc/sys/ptrace.h
21142 +++ b/sysdeps/unix/sysv/linux/sparc/sys/ptrace.h
21143 @@ -213,8 +213,12 @@ enum __ptrace_request
21144 #define PTRACE_SETSIGMASK PTRACE_SETSIGMASK
21146 /* Get seccomp BPF filters. */
21147 - PTRACE_SECCOMP_GET_FILTER = 0x420c
21148 + PTRACE_SECCOMP_GET_FILTER = 0x420c,
21149 #define PTRACE_SECCOMP_GET_FILTER PTRACE_SECCOMP_GET_FILTER
21151 + /* Get seccomp BPF filter metadata. */
21152 + PTRACE_SECCOMP_GET_METADATA = 0x420d
21153 +#define PTRACE_SECCOMP_GET_METADATA PTRACE_SECCOMP_GET_METADATA
21157 diff --git a/sysdeps/unix/sysv/linux/spawni.c b/sysdeps/unix/sysv/linux/spawni.c
21158 index 6b699a46dd..5fa49b229e 100644
21159 --- a/sysdeps/unix/sysv/linux/spawni.c
21160 +++ b/sysdeps/unix/sysv/linux/spawni.c
21161 @@ -101,7 +101,7 @@ maybe_script_execute (struct posix_spawn_args *args)
21162 ptrdiff_t argc = args->argc;
21164 /* Construct an argument list for the shell. */
21165 - char *new_argv[argc + 1];
21166 + char *new_argv[argc + 2];
21167 new_argv[0] = (char *) _PATH_BSHELL;
21168 new_argv[1] = (char *) args->file;
21170 @@ -404,6 +404,8 @@ __spawni (pid_t * pid, const char *file,
21171 const posix_spawnattr_t * attrp, char *const argv[],
21172 char *const envp[], int xflags)
21174 + /* It uses __execvpex to avoid run ENOEXEC in non compatibility mode (it
21175 + will be handled by maybe_script_execute). */
21176 return __spawnix (pid, file, acts, attrp, argv, envp, xflags,
21177 - xflags & SPAWN_XFLAGS_USE_PATH ? __execvpe : __execve);
21178 + xflags & SPAWN_XFLAGS_USE_PATH ? __execvpex :__execve);
21180 diff --git a/sysdeps/unix/sysv/linux/sys/ptrace.h b/sysdeps/unix/sysv/linux/sys/ptrace.h
21181 index 85772f348a..3c71a0ebd6 100644
21182 --- a/sysdeps/unix/sysv/linux/sys/ptrace.h
21183 +++ b/sysdeps/unix/sysv/linux/sys/ptrace.h
21184 @@ -162,8 +162,12 @@ enum __ptrace_request
21185 #define PTRACE_SETSIGMASK PTRACE_SETSIGMASK
21187 /* Get seccomp BPF filters. */
21188 - PTRACE_SECCOMP_GET_FILTER = 0x420c
21189 + PTRACE_SECCOMP_GET_FILTER = 0x420c,
21190 #define PTRACE_SECCOMP_GET_FILTER PTRACE_SECCOMP_GET_FILTER
21192 + /* Get seccomp BPF filter metadata. */
21193 + PTRACE_SECCOMP_GET_METADATA = 0x420d
21194 +#define PTRACE_SECCOMP_GET_METADATA PTRACE_SECCOMP_GET_METADATA
21198 diff --git a/sysdeps/unix/sysv/linux/tile/sys/ptrace.h b/sysdeps/unix/sysv/linux/tile/sys/ptrace.h
21199 index a1db185073..d391037ca8 100644
21200 --- a/sysdeps/unix/sysv/linux/tile/sys/ptrace.h
21201 +++ b/sysdeps/unix/sysv/linux/tile/sys/ptrace.h
21202 @@ -136,8 +136,12 @@ enum __ptrace_request
21203 #define PTRACE_SETSIGMASK PTRACE_SETSIGMASK
21205 /* Get seccomp BPF filters. */
21206 - PTRACE_SECCOMP_GET_FILTER = 0x420c
21207 + PTRACE_SECCOMP_GET_FILTER = 0x420c,
21208 #define PTRACE_SECCOMP_GET_FILTER PTRACE_SECCOMP_GET_FILTER
21210 + /* Get seccomp BPF filter metadata. */
21211 + PTRACE_SECCOMP_GET_METADATA = 0x420d
21212 +#define PTRACE_SECCOMP_GET_METADATA PTRACE_SECCOMP_GET_METADATA
21216 diff --git a/sysdeps/unix/sysv/linux/x86/force-elision.h b/sysdeps/unix/sysv/linux/x86/force-elision.h
21217 index dd659c908f..61282d6678 100644
21218 --- a/sysdeps/unix/sysv/linux/x86/force-elision.h
21219 +++ b/sysdeps/unix/sysv/linux/x86/force-elision.h
21222 /* Automatically enable elision for existing user lock kinds. */
21223 #define FORCE_ELISION(m, s) \
21224 - if (__pthread_force_elision \
21225 - && (m->__data.__kind & PTHREAD_MUTEX_ELISION_FLAGS_NP) == 0) \
21226 + if (__pthread_force_elision) \
21228 - mutex->__data.__kind |= PTHREAD_MUTEX_ELISION_NP; \
21230 + /* See concurrency notes regarding __kind in \
21231 + struct __pthread_mutex_s in \
21232 + sysdeps/nptl/bits/thread-shared-types.h. \
21234 + There are the following cases for the kind of a mutex \
21235 + (The mask PTHREAD_MUTEX_ELISION_FLAGS_NP covers the flags \
21236 + PTHREAD_MUTEX_ELISION_NP and PTHREAD_MUTEX_NO_ELISION_NP where \
21237 + only one of both flags can be set): \
21238 + - both flags are not set: \
21239 + This is the first lock operation for this mutex. Enable \
21240 + elision as it is not enabled so far. \
21241 + Note: It can happen that multiple threads are calling e.g. \
21242 + pthread_mutex_lock at the same time as the first lock \
21243 + operation for this mutex. Then elision is enabled for this \
21244 + mutex by multiple threads. Storing with relaxed MO is enough \
21245 + as all threads will store the same new value for the kind of \
21246 + the mutex. But we have to ensure that we always use the \
21247 + elision path regardless if this thread has enabled elision or \
21250 + - PTHREAD_MUTEX_ELISION_NP flag is set: \
21251 + Elision was already enabled for this mutex by a previous lock \
21252 + operation. See case above. Just use the elision path. \
21254 + - PTHREAD_MUTEX_NO_ELISION_NP flag is set: \
21255 + Elision was explicitly disabled by pthread_mutexattr_settype. \
21256 + Do not use the elision path. \
21257 + Note: The flag PTHREAD_MUTEX_NO_ELISION_NP will never be \
21258 + changed after mutex initialization. */ \
21259 + int mutex_kind = atomic_load_relaxed (&((m)->__data.__kind)); \
21260 + if ((mutex_kind & PTHREAD_MUTEX_ELISION_FLAGS_NP) == 0) \
21262 + mutex_kind |= PTHREAD_MUTEX_ELISION_NP; \
21263 + atomic_store_relaxed (&((m)->__data.__kind), mutex_kind); \
21265 + if ((mutex_kind & PTHREAD_MUTEX_ELISION_NP) != 0) \
21270 diff --git a/sysdeps/unix/sysv/linux/x86/sys/ptrace.h b/sysdeps/unix/sysv/linux/x86/sys/ptrace.h
21271 index 60003422b3..6d4605b6ed 100644
21272 --- a/sysdeps/unix/sysv/linux/x86/sys/ptrace.h
21273 +++ b/sysdeps/unix/sysv/linux/x86/sys/ptrace.h
21274 @@ -182,8 +182,12 @@ enum __ptrace_request
21275 #define PTRACE_SETSIGMASK PTRACE_SETSIGMASK
21277 /* Get seccomp BPF filters. */
21278 - PTRACE_SECCOMP_GET_FILTER = 0x420c
21279 + PTRACE_SECCOMP_GET_FILTER = 0x420c,
21280 #define PTRACE_SECCOMP_GET_FILTER PTRACE_SECCOMP_GET_FILTER
21282 + /* Get seccomp BPF filter metadata. */
21283 + PTRACE_SECCOMP_GET_METADATA = 0x420d
21284 +#define PTRACE_SECCOMP_GET_METADATA PTRACE_SECCOMP_GET_METADATA
21288 diff --git a/sysdeps/unix/sysv/linux/x86_64/64/configure b/sysdeps/unix/sysv/linux/x86_64/64/configure
21289 index 9d298faba7..cef1ec842c 100644
21290 --- a/sysdeps/unix/sysv/linux/x86_64/64/configure
21291 +++ b/sysdeps/unix/sysv/linux/x86_64/64/configure
21293 test -n "$libc_cv_slibdir" ||
21296 - libc_cv_slibdir='/lib64'
21297 - libc_cv_rtlddir='/lib64'
21298 + libc_cv_slibdir='/lib'
21299 + libc_cv_rtlddir='/lib'
21300 if test "$libdir" = '${exec_prefix}/lib'; then
21301 - libdir='${exec_prefix}/lib64';
21302 + libdir='${exec_prefix}/lib';
21303 # Locale data can be shared between 32-bit and 64-bit libraries.
21304 libc_cv_complocaledir='${exec_prefix}/lib/locale'
21306 diff --git a/sysdeps/unix/sysv/linux/x86_64/ldconfig.h b/sysdeps/unix/sysv/linux/x86_64/ldconfig.h
21307 index c7e9ad674d..cd47995d4a 100644
21308 --- a/sysdeps/unix/sysv/linux/x86_64/ldconfig.h
21309 +++ b/sysdeps/unix/sysv/linux/x86_64/ldconfig.h
21311 #include <sysdeps/generic/ldconfig.h>
21313 #define SYSDEP_KNOWN_INTERPRETER_NAMES \
21314 - { "/lib/ld-linux.so.2", FLAG_ELF_LIBC6 }, \
21315 + { "/lib32/ld-linux.so.2", FLAG_ELF_LIBC6 }, \
21316 { "/libx32/ld-linux-x32.so.2", FLAG_ELF_LIBC6 }, \
21317 - { "/lib64/ld-linux-x86-64.so.2", FLAG_ELF_LIBC6 },
21318 + { "/lib/ld-linux-x86-64.so.2", FLAG_ELF_LIBC6 },
21319 #define SYSDEP_KNOWN_LIBRARY_NAMES \
21320 { "libc.so.6", FLAG_ELF_LIBC6 }, \
21321 { "libm.so.6", FLAG_ELF_LIBC6 },
21322 diff --git a/sysdeps/unix/sysv/linux/x86_64/ldd-rewrite.sed b/sysdeps/unix/sysv/linux/x86_64/ldd-rewrite.sed
21323 index 44d76e8aa1..7d6cb1e20b 100644
21324 --- a/sysdeps/unix/sysv/linux/x86_64/ldd-rewrite.sed
21325 +++ b/sysdeps/unix/sysv/linux/x86_64/ldd-rewrite.sed
21327 /LD_TRACE_LOADED_OBJECTS=1/a\
21328 add_env="$add_env LD_LIBRARY_VERSION=\\$verify_out"
21329 -s_^\(RTLDLIST=\)\(.*lib\)\(\|64\|x32\)\(/[^/]*\)\(-x86-64\|-x32\)\(\.so\.[0-9.]*\)[ ]*$_\1"\2\4\6 \264\4-x86-64\6 \2x32\4-x32\6"_
21330 +s_^\(RTLDLIST=\)\(.*lib\)\(\|64\|x32\)\(/[^/]*\)\(-x86-64\|-x32\)\(\.so\.[0-9.]*\)[ ]*$_\1"\232\4\6 \2\4-x86-64\6 \2x32\4-x32\6"_
21331 diff --git a/sysdeps/x86/cpu-features.c b/sysdeps/x86/cpu-features.c
21332 index 0fc3674c4b..ecc82fc6af 100644
21333 --- a/sysdeps/x86/cpu-features.c
21334 +++ b/sysdeps/x86/cpu-features.c
21335 @@ -30,6 +30,20 @@ extern void TUNABLE_CALLBACK (set_hwcaps) (tunable_val_t *)
21340 +get_extended_indices (struct cpu_features *cpu_features)
21342 + unsigned int eax, ebx, ecx, edx;
21343 + __cpuid (0x80000000, eax, ebx, ecx, edx);
21344 + if (eax >= 0x80000001)
21345 + __cpuid (0x80000001,
21346 + cpu_features->cpuid[COMMON_CPUID_INDEX_80000001].eax,
21347 + cpu_features->cpuid[COMMON_CPUID_INDEX_80000001].ebx,
21348 + cpu_features->cpuid[COMMON_CPUID_INDEX_80000001].ecx,
21349 + cpu_features->cpuid[COMMON_CPUID_INDEX_80000001].edx);
21354 get_common_indeces (struct cpu_features *cpu_features,
21355 unsigned int *family, unsigned int *model,
21356 @@ -205,6 +219,8 @@ init_cpu_features (struct cpu_features *cpu_features)
21357 get_common_indeces (cpu_features, &family, &model, &extended_model,
21360 + get_extended_indices (cpu_features);
21362 if (family == 0x06)
21364 model += extended_model;
21365 @@ -281,7 +297,13 @@ init_cpu_features (struct cpu_features *cpu_features)
21366 | bit_arch_Fast_Unaligned_Copy
21367 | bit_arch_Prefer_PMINUB_for_stringop);
21371 + /* Disable TSX on some Haswell processors to avoid TSX on kernels that
21372 + weren't updated with the latest microcode package (which disables
21373 + broken feature by default). */
21377 /* Xeon E7 v3 with stepping >= 4 has working TSX. */
21379 @@ -324,16 +346,9 @@ init_cpu_features (struct cpu_features *cpu_features)
21380 get_common_indeces (cpu_features, &family, &model, &extended_model,
21383 - ecx = cpu_features->cpuid[COMMON_CPUID_INDEX_1].ecx;
21384 + get_extended_indices (cpu_features);
21386 - unsigned int eax;
21387 - __cpuid (0x80000000, eax, ebx, ecx, edx);
21388 - if (eax >= 0x80000001)
21389 - __cpuid (0x80000001,
21390 - cpu_features->cpuid[COMMON_CPUID_INDEX_80000001].eax,
21391 - cpu_features->cpuid[COMMON_CPUID_INDEX_80000001].ebx,
21392 - cpu_features->cpuid[COMMON_CPUID_INDEX_80000001].ecx,
21393 - cpu_features->cpuid[COMMON_CPUID_INDEX_80000001].edx);
21394 + ecx = cpu_features->cpuid[COMMON_CPUID_INDEX_1].ecx;
21396 if (HAS_ARCH_FEATURE (AVX_Usable))
21398 diff --git a/sysdeps/x86/cpu-features.h b/sysdeps/x86/cpu-features.h
21399 index c60c2e4eeb..4588c11095 100644
21400 --- a/sysdeps/x86/cpu-features.h
21401 +++ b/sysdeps/x86/cpu-features.h
21402 @@ -106,7 +106,7 @@ enum
21404 COMMON_CPUID_INDEX_1 = 0,
21405 COMMON_CPUID_INDEX_7,
21406 - COMMON_CPUID_INDEX_80000001, /* for AMD */
21407 + COMMON_CPUID_INDEX_80000001,
21408 /* Keep the following line at the end. */
21409 COMMON_CPUID_INDEX_MAX
21411 @@ -202,7 +202,7 @@ extern const struct cpu_features *__get_cpu_features (void)
21412 # define index_cpu_HTT COMMON_CPUID_INDEX_1
21413 # define index_cpu_BMI1 COMMON_CPUID_INDEX_7
21414 # define index_cpu_BMI2 COMMON_CPUID_INDEX_7
21415 -# define index_cpu_LZCNT COMMON_CPUID_INDEX_1
21416 +# define index_cpu_LZCNT COMMON_CPUID_INDEX_80000001
21417 # define index_cpu_MOVBE COMMON_CPUID_INDEX_1
21418 # define index_cpu_POPCNT COMMON_CPUID_INDEX_1
21419 # define index_cpu_IBT COMMON_CPUID_INDEX_7
21420 diff --git a/sysdeps/x86_64/multiarch/memmove-avx512-no-vzeroupper.S b/sysdeps/x86_64/multiarch/memmove-avx512-no-vzeroupper.S
21421 index 23c0f7a9ed..effc3ac2de 100644
21422 --- a/sysdeps/x86_64/multiarch/memmove-avx512-no-vzeroupper.S
21423 +++ b/sysdeps/x86_64/multiarch/memmove-avx512-no-vzeroupper.S
21424 @@ -336,6 +336,7 @@ L(preloop_large):
21425 vmovups (%rsi), %zmm4
21426 vmovups 0x40(%rsi), %zmm5
21429 /* Align destination for access with non-temporal stores in the loop. */
21432 @@ -366,8 +367,8 @@ L(gobble_256bytes_nt_loop):
21434 ja L(gobble_256bytes_nt_loop)
21436 - vmovups %zmm4, (%rax)
21437 - vmovups %zmm5, 0x40(%rax)
21438 + vmovups %zmm4, (%r11)
21439 + vmovups %zmm5, 0x40(%r11)
21442 L(preloop_large_bkw):
21443 diff --git a/sysdeps/x86_64/multiarch/strncmp-sse2.S b/sysdeps/x86_64/multiarch/strncmp-sse2.S
21444 index cc5252d826..a5ecb82b13 100644
21445 --- a/sysdeps/x86_64/multiarch/strncmp-sse2.S
21446 +++ b/sysdeps/x86_64/multiarch/strncmp-sse2.S
21447 @@ -18,10 +18,13 @@
21449 #include <sysdep.h>
21451 -#define STRCMP __strncmp_sse2
21453 -#undef libc_hidden_builtin_def
21454 -#define libc_hidden_builtin_def(strcmp)
21456 +# define STRCMP __strncmp_sse2
21457 +# undef libc_hidden_builtin_def
21458 +# define libc_hidden_builtin_def(strcmp)
21460 +# define STRCMP strncmp
21463 #define USE_AS_STRNCMP
21464 #include <sysdeps/x86_64/strcmp.S>
21465 diff --git a/time/bits/types/struct_timespec.h b/time/bits/types/struct_timespec.h
21466 index 644db9fdb6..5b77c52b4f 100644
21467 --- a/time/bits/types/struct_timespec.h
21468 +++ b/time/bits/types/struct_timespec.h
21470 -#ifndef __timespec_defined
21471 -#define __timespec_defined 1
21472 +/* NB: Include guard matches what <linux/time.h> uses. */
21473 +#ifndef _STRUCT_TIMESPEC
21474 +#define _STRUCT_TIMESPEC 1
21476 #include <bits/types.h>
21478 diff --git a/time/time.h b/time/time.h
21479 index 49d30438f3..4b55e34402 100644
21482 @@ -68,7 +68,7 @@ typedef __pid_t pid_t;
21485 /* Time used by the program so far (user time + system time).
21486 - The result / CLOCKS_PER_SECOND is program time in seconds. */
21487 + The result / CLOCKS_PER_SEC is program time in seconds. */
21488 extern clock_t clock (void) __THROW;
21490 /* Return the current time and put it in *TIMER if TIMER is not NULL. */