CRUX-ARM : Home

Home :: Documentation :: Download :: Development :: Community :: Ports :: Packages :: Bugs :: Links :: About :: Donors
openssl: updated to 1.0.2r
[ports/core-arm64.git] / glibc / glibc-2.27-3.patch
1 diff --git a/ChangeLog b/ChangeLog
2 index f3fe2716b2..2f1e82b61c 100644
3 --- a/ChangeLog
4 +++ b/ChangeLog
5 @@ -1,3 +1,644 @@
6 +2018-11-27 Florian Weimer <fweimer@redhat.com>
7 +
8 + [BZ #23927]
9 + CVE-2018-19591
10 + * sysdeps/unix/sysv/linux/if_index.c (__if_nametoindex): Avoid
11 + descriptor leak in case of ENODEV error.
12 +
13 +2018-11-08 Alexandra Hájková <ahajkova@redhat.com>
14 +
15 + [BZ #17630]
16 + * resolv/tst-resolv-network.c: Add test for getnetbyname.
17 +
18 +2018-11-05 Andreas Schwab <schwab@suse.de>
19 +
20 + [BZ #22927]
21 + * resolv/gai_misc.c (__gai_enqueue_request): Don't crash if
22 + creating the first helper thread failed.
23 +
24 +2018-10-23 Adhemerval Zanella <adhemerval.zanella@linaro.org>
25 +
26 + [BZ #23709]
27 + * sysdeps/x86/cpu-features.c (init_cpu_features): Set TSX bits
28 + independently of other flags.
29 +
30 +2018-10-26 Szabolcs Nagy <szabolcs.nagy@arm.com>
31 +
32 + [BZ #23822]
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.
36 +
37 +2018-10-25 Florian Weimer <fweimer@redhat.com>
38 +
39 + [BZ #23562]
40 + [BZ #23821]
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
47 + sparc64.
48 + * conform/data/sys/wait.h-data (siginfo_t): Likewise.
49 +
50 +2018-10-19 Ilya Yu. Malakhov <malakhov@mcst.ru>
51 +
52 + [BZ #23562]
53 + * sysdeps/unix/sysv/linux/bits/types/siginfo_t.h
54 + (struct siginfo_t): Use correct type for si_band.
55 +
56 +2018-10-17 Stefan Liebler <stli@linux.ibm.com>
57 +
58 + [BZ #23275]
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):
65 + Likewise.
66 + * sysdeps/unix/sysv/linux/x86/force-elision.h: (FORCE_ELISION):
67 + Likewise.
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):
72 + Likewise.
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):
76 + Likewise.
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):
81 + Add comments.
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.
86 +
87 +2018-09-28 Adhemerval Zanella <adhemerval.zanella@linaro.org>
88 +
89 + [BZ #23579]
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
95 + errno is ENOSYS.
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.
100 +
101 +2018-09-28 Florian Weimer <fweimer@redhat.com>
102 +
103 + [BZ #22753]
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.
117 +
118 +2018-09-06 Stefan Liebler <stli@linux.ibm.com>
119 +
120 + * sysdeps/unix/sysv/linux/spawni.c (maybe_script_execute):
121 + Increment size of new_argv by one.
122 +
123 +2018-08-27 Martin Kuchta <martin.kuchta@netapp.com>
124 + Torvald Riegel <triegel@redhat.com>
125 +
126 + [BZ #23538]
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.
130 +
131 +2018-07-29 H.J. Lu <hongjiu.lu@intel.com>
132 +
133 + [BZ #23459]
134 + * sysdeps/x86/cpu-features.c (get_extended_indices): New
135 + function.
136 + (init_cpu_features): Call get_extended_indices for both Intel
137 + and AMD CPUs.
138 + * sysdeps/x86/cpu-features.h (COMMON_CPUID_INDEX_80000001):
139 + Remove "for AMD" comment.
140 +
141 +2018-07-29 H.J. Lu <hongjiu.lu@intel.com>
142 +
143 + [BZ #23456]
144 + * sysdeps/x86/cpu-features.h (index_cpu_LZCNT): Set to
145 + COMMON_CPUID_INDEX_80000001.
146 +
147 +2018-07-10 Florian Weimer <fweimer@redhat.com>
148 +
149 + [BZ #23036]
150 + * posix/regexec.c (check_node_accept_bytes): When comparing
151 + weights, do not compare an extra byte after the end of the
152 + weights.
153 +
154 +2018-06-29 Sylvain Lesage <severo@rednegra.net>
155 +
156 + [BZ #22996]
157 + * localedata/locales/es_BO (LC_PAPER): Change to “copy "en_US"”.
158 +
159 +2018-07-06 Florian Weimer <fweimer@redhat.com>
160 +
161 + * conform/conformtest.pl (checknamespace): Escape literal braces
162 + in regular expressions.
163 +
164 +2018-06-21 Florian Weimer <fweimer@redhat.com>
165 +
166 + [BZ #23253]
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.
185 +
186 +2018-07-03 Florian Weimer <fweimer@redhat.com>
187 +
188 + [BZ #23363]
189 + * stdio-common/tst-printf.c (DEC, INT, UNS, fp_test): Remove.
190 + * stdio-common/tst-printf.sh: Adjust expected output.
191 + * LICENSES: Update.
192 +
193 +2018-06-26 Florian Weimer <fweimer@redhat.com>
194 +
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.
200 +
201 +2018-06-26 Florian Weimer <fweimer@redhat.com>
202 +
203 + [BZ #23313]
204 + * libio/vtables.c (check_stdfiles_vtables): New ELF constructor.
205 +
206 +2018-06-29 Daniel Alvarez <dalvarez@redhat.com>
207 + Jakub Sitnicki <jkbs@redhat.com>
208 +
209 + [BZ #21812]
210 + * sysdeps/unix/sysv/linux/ifaddrs.c (getifaddrs_internal): Retry
211 + on NLM_F_DUMP_INTR.
212 +
213 +2018-06-28 Florian Weimer <fweimer@redhat.com>
214 +
215 + [BZ #23349]
216 + * time/bits/types/struct_timespec.h: Change header inclusion guard to
217 + _STRUCT_TIMESPEC.
218 +
219 +2018-05-24 Gabriel F. T. Gomes <gabriel@inconstante.eti.br>
220 +
221 + [BZ #23171]
222 + * math/math.h [C++] (iseqsig): Fix parameter type for the long
223 + double version.
224 +
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>
229 +
230 + [BZ #23102]
231 + [BZ #21942]
232 + [BZ #18018]
233 + [BZ #23259]
234 + CVE-2011-0536
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
242 + locals.
243 +
244 +2018-06-12 Florian Weimer <fweimer@redhat.com>
245 +
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).
251 +
252 +2018-06-01 Florian Weimer <fweimer@redhat.com>
253 +
254 + * sysdeps/i386/i686/fpu/multiarch/libm-test-ulps: Update from master
255 + branch, commit e02c026f38505cd474ff1bdaa88fc671804f5805.
256 + * sysdeps/i386/fpu/libm-test-ulps: Likewise.
257 +
258 +2018-06-08 Adhemerval Zanella <adhemerval.zanella@linaro.org>
259 +
260 + [BZ #23264]
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.
271 +
272 +2018-06-01 Florian Weimer <fweimer@redhat.com>
273 +
274 + [BZ #23236]
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
281 + and free.
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
287 + and free.
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.
295 +
296 +2018-05-23 H.J. Lu <hongjiu.lu@intel.com>
297 +
298 + [BZ #23196]
299 + * string/test-memcpy.c (do_test1): New function.
300 + (test_main): Call it.
301 +
302 +2018-05-23 Andreas Schwab <schwab@suse.de>
303 +
304 + [BZ #23196]
305 + CVE-2018-11237
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.
310 +
311 +2018-05-11 Florian Weimer <fweimer@redhat.com>
312 +
313 + [BZ #23166]
314 + * include/rpc/clnt.h (rpc_createerr): Declare hidden alias.
315 + * include/rpc/svc.h (svc_pollfd, svc_max_pollfd, svc_fdset):
316 + Likewise.
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.
322 +
323 +2018-05-11 Rafal Luzynski <digitalfreak@lingonborough.com>
324 +
325 + [BZ #23152]
326 + * localedata/locales/gd_GB (abmon): Fix typo in May:
327 + "Mhàrt" -> "Cèit". Adjust the comment according to the change.
328 +
329 +2018-05-09 Paul Pluzhnikov <ppluzhnikov@google.com>
330 +
331 + [BZ #22786]
332 + CVE-2018-11236
333 + * stdlib/canonicalize.c (__realpath): Fix overflow in path length
334 + computation.
335 + * stdlib/Makefile (test-bz22786): New test.
336 + * stdlib/test-bz22786.c: New test.
337 +
338 +2018-05-05 Paul Pluzhnikov <ppluzhnikov@google.com>
339 +
340 + [BZ #20419]
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.
345 +
346 +2018-05-04 Stefan Liebler <stli@linux.vnet.ibm.com>
347 +
348 + [BZ #23137]
349 + * sysdeps/nptl/lowlevellock.h (lll_wait_tid):
350 + Use atomic_load_acquire to load __tid.
351 +
352 +2018-04-24 Joseph Myers <joseph@codesourcery.com>
353 +
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.
374 +
375 +2018-04-09 Florian Weimer <fweimer@redhat.com>
376 +
377 + [BZ #23037]
378 + * resolv/res_send.c (send_dg): Use designated initializers instead
379 + of assignment to zero-initialize other fields of struct mmsghdr.
380 +
381 +2018-04-06 Andreas Schwab <schwab@linux-m68k.org>
382 +
383 + * manual/charset.texi (Converting a Character): Fix typo.
384 +
385 +2018-04-05 Florian Weimer <fweimer@redhat.com>
386 +
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.
395 +
396 +2018-04-05 Florian Weimer <fweimer@redhat.com>
397 +
398 + * manual/examples/mbstouwcs.c: New file.
399 + * manual/charset.texi (Converting a Character): Include it.
400 +
401 +2018-04-03 H.J. Lu <hongjiu.lu@intel.com>
402 +
403 + [BZ #22947]
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.
409 +
410 +2018-03-27 Jesse Hathaway <jesse@mbuki-mvuki.org>
411 +
412 + * sysdeps/unix/sysv/linux/getlogin_r.c (__getlogin_r_loginuid): Return
413 + early when linux sentinel value is set.
414 +
415 +2018-03-27 Andreas Schwab <schwab@suse.de>
416 +
417 + [BZ #23005]
418 + * resolv/res_send.c (__res_context_send): Return ENOMEM if
419 + allocation of private copy of nsaddr_list fails.
420 +
421 +2018-03-20 Joseph Myers <joseph@codesourcery.com>
422 +
423 + [BZ #17343]
424 + * stdlib/random_r.c (__random_r): Use unsigned arithmetic for
425 + possibly overflowing computations.
426 +
427 +2018-04-26 Aurelien Jarno <aurelien@aurel32.net>
428 +
429 + * signal/tst-sigaction.c: New file to test BZ #23069.
430 + * signal/Makefile (tests): Fix indentation. Add tst-sigaction.
431 +
432 +2018-04-28 Aurelien Jarno <aurelien@aurel32.net>
433 +
434 + [BZ #23069]
435 + * sysdeps/unix/sysv/linux/riscv/kernel_sigaction.h: New file.
436 +
437 +2018-03-29 Florian Weimer <fweimer@redhat.com>
438 +
439 + * sysdeps/unix/sysv/linux/i386/tst-bz21269.c (do_test): Also
440 + capture SIGBUS.
441 +
442 +2018-03-23 Andrew Senkevich <andrew.senkevich@intel.com>
443 + Max Horn <max@quendi.de>
444 +
445 + [BZ #22644]
446 + CVE-2017-18269
447 + * sysdeps/i386/i686/multiarch/memcpy-sse2-unaligned.S: Fixed
448 + branch conditions.
449 + * string/test-memmove.c (do_test2): New testcase.
450 +
451 +2018-02-22 Andrew Waterman <andrew@sifive.com>
452 +
453 + [BZ # 22884]
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.
458 +
459 +2018-02-22 DJ Delorie <dj@delorie.com>
460 +
461 + * sysdeps/riscv/tls-macros.h: Do not initialize $gp.
462 +
463 +2018-03-16 Rafal Luzynski <digitalfreak@lingonborough.com>
464 +
465 + [BZ #22963]
466 + * localedata/locales/cs_CZ (mon): Rename to...
467 + (alt_mon): This.
468 + (mon): Import from CLDR (genitive case).
469 +
470 +2018-03-16 Rafal Luzynski <digitalfreak@lingonborough.com>
471 +
472 + [BZ #22937]
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).
479 +
480 +2018-03-16 Rafal Luzynski <digitalfreak@lingonborough.com>
481 +
482 + [BZ #22932]
483 + * localedata/locales/lt_LT (abmon): Synchronize with CLDR.
484 +
485 +2018-03-16 Robert Buj <robert.buj@gmail.com>
486 +
487 + [BZ #22848]
488 + * localedata/locales/ca_ES (abmon): Rename to...
489 + (ab_alt_mon): This, then synchronize with CLDR (nominative case).
490 + (mon): Rename to...
491 + (alt_mon): This.
492 + (abmon): Import from CLDR (genitive case, month names preceded by
493 + "de" or "d’").
494 + (mon): Likewise.
495 + (abday): Synchronize with CLDR.
496 + (d_t_fmt): Likewise.
497 + (d_fmt): Likewise.
498 + (am_pm): Likewise.
499 +
500 + (LC_TIME): Improve indentation.
501 + (LC_TELEPHONE): Likewise.
502 + (LC_NAME): Likewise.
503 + (LC_ADDRESS): Likewise.
504 +
505 +2018-03-12 Dmitry V. Levin <ldv@altlinux.org>
506 +
507 + * po/pt_BR.po: Update translations.
508 +
509 +2018-03-03 Adhemerval Zanella <adhemerval.zanella@linaro.org>
510 +
511 + [BZ #21269]
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.
516 +
517 +2018-03-03 Andreas Schwab <schwab@linux-m68k.org>
518 +
519 + [BZ #22918]
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.
526 +
527 +2018-03-01 DJ Delorie <dj@delorie.com>
528 +
529 + [BZ #22342]
530 + * nscd/netgroupcache.c (addinnetgrX): Include trailing NUL in
531 + key value.
532 +
533 +2018-02-26 Dmitry V. Levin <ldv@altlinux.org>
534 +
535 + [BZ #22433]
536 + [BZ #22807]
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.
543 +
544 +2018-02-26 Tulio Magno Quites Machado Filho <tuliom@linux.vnet.ibm.com>
545 +
546 + * sysdeps/unix/sysv/linux/powerpc/sys/ptrace.h: Undefine Linux
547 + macros used in __ptrace_request.
548 +
549 +2018-02-21 Mike FABIAN <mfabian@redhat.com>
550 +
551 + [BZ #22517]
552 + * localedata/locales/et_EE (LC_COLLATE): add missing “reorder-end”
553 +
554 +2018-02-21 Rical Jasan <ricaljasan@pacific.net>
555 +
556 + * io/fcntl.h: Fix a typo in a comment.
557 +
558 +2018-02-20 Rical Jasan <ricaljasan@pacific.net>
559 +
560 + * manual/creature.texi (_ISOC99_SOURCE): Update the dated
561 + description.
562 +
563 + [BZ #16335]
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.
570 +
571 +2018-03-09 Aurelien Jarno <aurelien@aurel32.net>
572 +
573 + [BZ #22919]
574 + * sysdeps/unix/sysv/linux/sparc/sparc32/setcontext.S (__startcontext):
575 + Add nop before __startcontext, add explaining comments.
576 +
577 +2018-03-07 Adhemerval Zanella <adhemerval.zanella@linaro.org>
578 +
579 + [BZ #22926]
580 + * sysdeps/powerpc/powerpc32/sysdep.h (ABORT_TRANSACTION_IMPL): Define
581 + empty for __SPE__.
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.
589 +
590 +2018-02-19 Rical Jasan <ricaljasan@pacific.net>
591 +
592 + [BZ #6889]
593 + * manual/filesys.texi (get_current_dir_name): Clarify behaviour.
594 +
595 +2018-02-16 Rical Jasan <ricaljasan@pacific.net>
596 +
597 + * manual/platform.texi (__riscv_flush_icache): Fix @deftypefun
598 + syntax.
599 +
600 +2018-02-09 Rical Jasan <ricaljasan@pacific.net>
601 +
602 + * manual/creature.texi: Convert references to gcc.info to gcc.
603 + * manual/stdio.texi: Likewise.
604 + * manual/string.texi: Likewise.
605 +
606 +2018-02-18 Aurelien Jarno <aurelien@aurel32.net>
607 +
608 + [BZ #22818]
609 + * posix/tst-glob_lstat_compat.c [__alpha__] (glob): Access
610 + the GLIBC_2.1 version.
611 +
612 +2018-02-02 Sean McKean <smckean83@gmail.com>
613 +
614 + [BZ #22735]
615 + * time/time.h (clock): Reference CLOCKS_PER_SEC in comment.
616 +
617 +2018-02-10 Dmitry V. Levin <ldv@altlinux.org>
618 +
619 + [BZ #22433]
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.
623 +
624 +2018-02-14 Adhemerval Zanella <adhemerval.zanella@linaro.org>
625 +
626 + * sysdeps/sh/libm-test-ulps: Update.
627 +
628 +2018-02-09 DJ Delorie <dj@redhat.com>
629 +
630 + [BZ #22827]
631 + * sysdeps/unix/sysv/linux/riscv/readelflib.c (process_elf_file): Use
632 + 64-bit ELF type for 64-bit ELF objects.
633 +
634 +2018-02-07 Igor Gnatenko <ignatenko@redhat.com>
635 +
636 + [BZ #22797]
637 + * sysdeps/unix/sysv/linux/bits/mman-shared.h (pkey_get): Add
638 + missing second underscore to parameter name.
639 +
640 +2018-02-05 H.J. Lu <hongjiu.lu@intel.com>
641 +
642 + [BZ #22638]
643 + * sysdeps/sparc/sparc32/start.S (_start): Check PIC instead of
644 + SHARED.
645 + * sysdeps/sparc/sparc64/start.S (_start): Likewise.
646 +
647 2018-02-01 Dmitry V. Levin <ldv@altlinux.org>
648
649 * version.h (RELEASE): Set to "stable".
650 @@ -710,7 +1351,9 @@
651 2018-01-18 Arjun Shankar <arjun@redhat.com>
652
653 [BZ #22343]
654 + [BZ #22774]
655 CVE-2018-6485
656 + CVE-2018-6551
657 * malloc/malloc.c (checked_request2size): call REQUEST_OUT_OF_RANGE
658 after padding.
659 (_int_memalign): check for integer overflow before calling
660 diff --git a/LICENSES b/LICENSES
661 index 80f7f14879..858076d9d3 100644
662 --- a/LICENSES
663 +++ b/LICENSES
664 @@ -441,15 +441,6 @@ Permission to use, copy, modify, and distribute this
665 software is freely granted, provided that this notice
666 is preserved.
667 \f
668 -Part of stdio-common/tst-printf.c is copyright C E Chew:
669 -
670 -(C) Copyright C E Chew
671 -
672 -Feel free to copy, use and distribute this software provided:
673 -
674 - 1. you do not pretend that you wrote it
675 - 2. you leave this copyright notice intact.
676 -\f
677 Various long double libm functions are copyright Stephen L. Moshier:
678
679 Copyright 2001 by Stephen L. Moshier <moshier@na-net.ornl.gov>
680 diff --git a/NEWS b/NEWS
681 index a71c1038a8..e1a23f076b 100644
682 --- a/NEWS
683 +++ b/NEWS
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.
687 \f
688 +Version 2.27.1
689 +
690 +Major new features:
691 +
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.
695 +
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.
706 +
707 +Security related changes:
708 +
709 + CVE-2017-18269: An SSE2-based memmove implementation for the i386
710 + architecture could corrupt memory. Reported by Max Horn.
711 +
712 + CVE-2018-11236: Very long pathname arguments to realpath function could
713 + result in an integer overflow and buffer overflow. Reported by Alexey
714 + Izbyshev.
715 +
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.
719 +
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.
723 +
724 +The following bugs are resolved with this release:
725 +
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
738 + 2GB threshold
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
742 + to SSIZE_MAX
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
764 + build with -Os)
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)
785 +
786 +\f
787 Version 2.27
788
789 Major new features:
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.
793
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.
797 +
798 The following bugs are resolved with this release:
799
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
803 --- a/bits/uio-ext.h
804 +++ b/bits/uio-ext.h
805 @@ -28,5 +28,6 @@
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. */
810
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) {
817 s/^optional-//;
818 $optional = 1;
819 }
820 - if (/^element *({([^}]*)}|([^{ ]*)) *({([^}]*)}|([^{ ]*)) *([A-Za-z0-9_]*) *(.*)/) {
821 + if (/^element *(\{([^}]*)\}|([^{ ]*)) *(\{([^}]*)\}|([^{ ]*)) *([A-Za-z0-9_]*) *(.*)/) {
822 my($struct) = "$2$3";
823 my($type) = "$5$6";
824 my($member) = "$7";
825 @@ -556,7 +556,7 @@ while ($#headers >= 0) {
826 "Symbol \"$symbol\" has not the right value.", $res,
827 $xfail);
828 }
829 - } elsif (/^type *({([^}]*)|([a-zA-Z0-9_]*))/) {
830 + } elsif (/^type *(\{([^}]*)|([a-zA-Z0-9_]*))/) {
831 my($type) = "$2$3";
832 my($maybe_opaque) = 0;
833
834 @@ -586,7 +586,7 @@ while ($#headers >= 0) {
835 ? "NOT AVAILABLE"
836 : "Type \"$type\" not available."), $missing, $optional,
837 $xfail);
838 - } elsif (/^tag *({([^}]*)|([a-zA-Z0-9_]*))/) {
839 + } elsif (/^tag *(\{([^}]*)|([a-zA-Z0-9_]*))/) {
840 my($type) = "$2$3";
841
842 # Remember that this name is allowed.
843 @@ -607,7 +607,7 @@ while ($#headers >= 0) {
844
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";
850 my($fname) = "$4";
851 my($args) = "$5";
852 @@ -644,7 +644,7 @@ while ($#headers >= 0) {
853 "Function \"$fname\" has incorrect type.", $res, 0,
854 $xfail);
855 }
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";
859 my($fname) = "$4";
860 my($args) = "$5";
861 @@ -681,7 +681,7 @@ while ($#headers >= 0) {
862 "Function \"$fname\" has incorrect type.", $res, 0,
863 $xfail);
864 }
865 - } elsif (/^variable *({([^}]*)}|([a-zA-Z0-9_]*)) ([a-zA-Z0-9_]*) *(.*)/) {
866 + } elsif (/^variable *(\{([^}]*)\}|([a-zA-Z0-9_]*)) ([a-zA-Z0-9_]*) *(.*)/) {
867 my($type) = "$2$3";
868 my($vname) = "$4";
869 my($rest) = "$5";
870 @@ -713,7 +713,7 @@ while ($#headers >= 0) {
871
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";
877 my($fname) = "$4";
878 my($args) = "$5";
879 @@ -812,11 +812,11 @@ while ($#headers >= 0) {
880
881 s/^xfail(\[([^\]]*)\])?-//;
882 s/^optional-//;
883 - if (/^element *({([^}]*)}|([^ ]*)) *({([^}]*)}|([^ ]*)) *([A-Za-z0-9_]*) *(.*)/) {
884 + if (/^element *(\{([^}]*)\}|([^ ]*)) *(\{([^}]*)\}|([^ ]*)) *([A-Za-z0-9_]*) *(.*)/) {
885 push @allow, $7;
886 } elsif (/^(macro|constant|macro-constant|macro-int-constant) +([a-zA-Z0-9_]*) *(?:{([^}]*)} *)?(?:([>=<!]+) ([A-Za-z0-9_-]*))?/) {
887 push @allow, $2;
888 - } elsif (/^(type|tag) *({([^}]*)|([a-zA-Z0-9_]*))/) {
889 + } elsif (/^(type|tag) *(\{([^}]*)|([a-zA-Z0-9_]*))/) {
890 my($type) = "$3$4";
891
892 # Remember that this name is allowed.
893 @@ -827,13 +827,13 @@ while ($#headers >= 0) {
894 } else {
895 push @allow, $type;
896 }
897 - } elsif (/^function *({([^}]*)}|([a-zA-Z0-9_]*)) [(][*]([a-zA-Z0-9_]*) ([(].*[)])/) {
898 + } elsif (/^function *(\{([^}]*)\}|([a-zA-Z0-9_]*)) [(][*]([a-zA-Z0-9_]*) ([(].*[)])/) {
899 push @allow, $4;
900 - } elsif (/^function *({([^}]*)}|([a-zA-Z0-9_]*)) ([a-zA-Z0-9_]*) ([(].*[)])/) {
901 + } elsif (/^function *(\{([^}]*)\}|([a-zA-Z0-9_]*)) ([a-zA-Z0-9_]*) ([(].*[)])/) {
902 push @allow, $4;
903 - } elsif (/^variable *({([^}]*)}|([a-zA-Z0-9_]*)) ([a-zA-Z0-9_]*)/) {
904 + } elsif (/^variable *(\{([^}]*)\}|([a-zA-Z0-9_]*)) ([a-zA-Z0-9_]*)/) {
905 push @allow, $4;
906 - } elsif (/^macro-function *({([^}]*)}|([a-zA-Z0-9_]*)) ([a-zA-Z0-9_]*) ([(].*[)])/) {
907 + } elsif (/^macro-function *(\{([^}]*)\}|([a-zA-Z0-9_]*)) ([a-zA-Z0-9_]*) ([(].*[)])/) {
908 push @allow, $4;
909 } elsif (/^symbol *([a-zA-Z0-9_]*) *([A-Za-z0-9_-]*)?/) {
910 push @allow, $1;
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
922 # endif
923 # ifndef XPG42
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
936 # ifndef XPG42
937 element siginfo_t {union sigval} si_value
938 # endif
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;
951
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
956 --- a/elf/Makefile
957 +++ b/elf/Makefile
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
964 # reldep9
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 \
973 + tst-big-note-lib
974 +
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
982 +
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
986 --- a/elf/dl-deps.c
987 +++ b/elf/dl-deps.c
988 @@ -100,7 +100,7 @@ struct list
989 ({ \
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); \
994 \
995 if (__dst_cnt != 0) \
996 { \
997 diff --git a/elf/dl-dst.h b/elf/dl-dst.h
998 index 32de5d225a..859032be0d 100644
999 --- a/elf/dl-dst.h
1000 +++ b/elf/dl-dst.h
1001 @@ -18,19 +18,6 @@
1002
1003 #include "trusted-dirs.h"
1004
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) \
1008 - ({ \
1009 - size_t __cnt = 0; \
1010 - const char *__sf = strchr (name, '$'); \
1011 - \
1012 - if (__glibc_unlikely (__sf != NULL)) \
1013 - __cnt = _dl_dst_count (__sf); \
1014 - \
1015 - __cnt; })
1016 -
1017 -
1018 #ifdef SHARED
1019 # define IS_RTLD(l) (l) == &GL(dl_rtld_map)
1020 #else
1021 diff --git a/elf/dl-load.c b/elf/dl-load.c
1022 index 7554a99b5a..b20e2a46d0 100644
1023 --- a/elf/dl-load.c
1024 +++ b/elf/dl-load.c
1025 @@ -122,12 +122,6 @@ is_trusted_path_normalize (const char *path, size_t len)
1026 if (len == 0)
1027 return false;
1028
1029 - if (*path == ':')
1030 - {
1031 - ++path;
1032 - --len;
1033 - }
1034 -
1035 char *npath = (char *) alloca (len + 2);
1036 char *wnp = npath;
1037 while (*path != '\0')
1038 @@ -178,114 +172,165 @@ is_trusted_path_normalize (const char *path, size_t len)
1039 return false;
1040 }
1041
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:
1045 +
1046 + * Longest possible sequence using the rules (greedy).
1047
1048 + * Must start with a $ (enforced by caller).
1049 +
1050 + * Must follow $ with one underscore or ASCII [A-Za-z] (caller
1051 + follows these rules for REF) or '{' (start curly quoted name).
1052 +
1053 + * Must follow first two characters with zero or more [A-Za-z0-9_]
1054 + (enforced by caller) or '}' (end curly quoted name).
1055 +
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. */
1059 static size_t
1060 -is_dst (const char *start, const char *name, const char *str, int secure)
1061 +is_dst (const char *input, const char *ref)
1062 {
1063 - size_t len;
1064 bool is_curly = false;
1065
1066 - if (name[0] == '{')
1067 + /* Is a ${...} input sequence? */
1068 + if (input[0] == '{')
1069 {
1070 is_curly = true;
1071 - ++name;
1072 - }
1073 -
1074 - len = 0;
1075 - while (name[len] == str[len] && name[len] != '\0')
1076 - ++len;
1077 -
1078 - if (is_curly)
1079 - {
1080 - if (name[len] != '}')
1081 - return 0;
1082 -
1083 - /* Point again at the beginning of the name. */
1084 - --name;
1085 - /* Skip over closing curly brace and adjust for the --name. */
1086 - len += 2;
1087 + ++input;
1088 }
1089 - else if (name[len] != '\0' && name[len] != '/')
1090 - return 0;
1091
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
1097 + identifier. */
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] == '_')))
1105 return 0;
1106
1107 - return len;
1108 + if (is_curly)
1109 + /* Count the two curly braces. */
1110 + return rlen + 2;
1111 + else
1112 + return rlen;
1113 }
1114
1115 -
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). */
1121 size_t
1122 -_dl_dst_count (const char *name)
1123 +_dl_dst_count (const char *input)
1124 {
1125 - const char *const start = name;
1126 size_t cnt = 0;
1127
1128 + input = strchr (input, '$');
1129 +
1130 + /* Most likely there is no DST. */
1131 + if (__glibc_likely (input == NULL))
1132 + return 0;
1133 +
1134 do
1135 {
1136 size_t len;
1137
1138 - /* $ORIGIN is not expanded for SUID/GUID programs (except if it
1139 - is $ORIGIN alone) and it must always appear first in path. */
1140 - ++name;
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)
1144 + ++input;
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)
1149 ++cnt;
1150
1151 - name = strchr (name + len, '$');
1152 + /* There may be more than one DST in the input. */
1153 + input = strchr (input + len, '$');
1154 }
1155 - while (name != NULL);
1156 + while (input != NULL);
1157
1158 return cnt;
1159 }
1160
1161 -
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. */
1170 char *
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)
1173 {
1174 - const char *const start = name;
1175 -
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
1185 + return. */
1186 char *wp = result;
1187 - char *last_elem = result;
1188 + const char *start = input;
1189 bool check_for_trusted = false;
1190
1191 do
1192 {
1193 - if (__glibc_unlikely (*name == '$'))
1194 + if (__glibc_unlikely (*input == '$'))
1195 {
1196 const char *repl = NULL;
1197 size_t len;
1198
1199 - ++name;
1200 - if ((len = is_dst (start, name, "ORIGIN", __libc_enable_secure)) != 0)
1201 + ++input;
1202 + if ((len = is_dst (input, "ORIGIN")) != 0)
1203 {
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:
1208 +
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
1212 + path.
1213 +
1214 + * The path is rooted in a trusted directory.
1215 +
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;
1227 + else
1228 + repl = l->l_origin;
1229 +
1230 check_for_trusted = (__libc_enable_secure
1231 && l->l_type == lt_executable);
1232 }
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)
1238 repl = DL_DST_LIB;
1239
1240 if (repl != NULL && repl != (const char *) -1)
1241 {
1242 wp = __stpcpy (wp, repl);
1243 - name += len;
1244 + input += len;
1245 }
1246 - else if (len > 1)
1247 + else if (len != 0)
1248 {
1249 - /* We cannot use this path element, the value of the
1250 - replacement is unknown. */
1251 - wp = last_elem;
1252 - break;
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. */
1256 + *result = '\0';
1257 + return result;
1258 }
1259 else
1260 /* No DST we recognize. */
1261 @@ -293,16 +338,26 @@ _dl_dst_substitute (struct link_map *l, const char *name, char *result)
1262 }
1263 else
1264 {
1265 - *wp++ = *name++;
1266 + *wp++ = *input++;
1267 }
1268 }
1269 - while (*name != '\0');
1270 + while (*input != '\0');
1271
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
1281 + links. */
1282 if (__glibc_unlikely (check_for_trusted)
1283 - && !is_trusted_path_normalize (last_elem, wp - last_elem))
1284 - wp = last_elem;
1285 + && !is_trusted_path_normalize (result, wp - result))
1286 + {
1287 + *result = '\0';
1288 + return result;
1289 + }
1290
1291 *wp = '\0';
1292
1293 @@ -310,13 +365,13 @@ _dl_dst_substitute (struct link_map *l, const char *name, char *result)
1294 }
1295
1296
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
1306 + is returned. */
1307 static char *
1308 -expand_dynamic_string_token (struct link_map *l, const char *s)
1309 +expand_dynamic_string_token (struct link_map *l, const char *input)
1310 {
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)
1314 size_t total;
1315 char *result;
1316
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);
1321
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);
1326
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);
1330
1331 /* Allocate the necessary memory. */
1332 result = (char *) malloc (total + 1);
1333 if (result == NULL)
1334 return NULL;
1335
1336 - return _dl_dst_substitute (l, s, result);
1337 + return _dl_dst_substitute (l, input, result);
1338 }
1339
1340
1341 @@ -1469,6 +1524,7 @@ open_verify (const char *name, int fd,
1342 ElfW(Ehdr) *ehdr;
1343 ElfW(Phdr) *phdr, *ph;
1344 ElfW(Word) *abi_note;
1345 + ElfW(Word) *abi_note_malloced = NULL;
1346 unsigned int osversion;
1347 size_t maplength;
1348
1349 @@ -1640,10 +1696,25 @@ open_verify (const char *name, int fd,
1350 abi_note = (void *) (fbp->buf + ph->p_offset);
1351 else
1352 {
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);
1358 + else
1359 + {
1360 + /* There could be multiple PT_NOTEs. */
1361 + abi_note_malloced = realloc (abi_note_malloced, size);
1362 + if (abi_note_malloced == NULL)
1363 + goto read_error;
1364 +
1365 + abi_note = abi_note_malloced;
1366 + }
1367 __lseek (fd, ph->p_offset, SEEK_SET);
1368 if (__libc_read (fd, (void *) abi_note, size) != size)
1369 - goto read_error;
1370 + {
1371 + free (abi_note_malloced);
1372 + goto read_error;
1373 + }
1374 }
1375
1376 while (memcmp (abi_note, &expected_note, sizeof (expected_note)))
1377 @@ -1678,6 +1749,7 @@ open_verify (const char *name, int fd,
1378
1379 break;
1380 }
1381 + free (abi_note_malloced);
1382 }
1383
1384 return fd;
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
1388 --- /dev/null
1389 +++ b/elf/tst-big-note-lib.S
1390 @@ -0,0 +1,26 @@
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.
1394 +
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.
1399 +
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.
1404 +
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/>. */
1408 +
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. */
1412 +
1413 +.pushsection .note.big,"a"
1414 +.balign 4
1415 +.fill 8*1024*1024, 1, 0
1416 +.popsection
1417 diff --git a/elf/tst-big-note.c b/elf/tst-big-note.c
1418 new file mode 100644
1419 index 0000000000..fcd2b0ed82
1420 --- /dev/null
1421 +++ b/elf/tst-big-note.c
1422 @@ -0,0 +1,26 @@
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.
1426 +
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.
1431 +
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.
1436 +
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/>. */
1440 +
1441 +/* This file must be run from within a directory called "elf". */
1442 +
1443 +int main (int argc, char *argv[])
1444 +{
1445 + /* Nothing to do here: merely linking against tst-big-note-lib.so triggers
1446 + the bug. */
1447 + return 0;
1448 +}
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)
1458
1459 # endif /* !_ISOMAC */
1460 #endif
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
1465 @@ -3,6 +3,10 @@
1466
1467 # ifndef _ISOMAC
1468
1469 +libc_hidden_proto (svc_pollfd)
1470 +libc_hidden_proto (svc_max_pollfd)
1471 +libc_hidden_proto (svc_fdset)
1472 +
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;
1486
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
1491 --- a/io/fcntl.h
1492 +++ b/io/fcntl.h
1493 @@ -139,7 +139,7 @@ typedef __pid_t pid_t;
1494 # define SEEK_END 2 /* Seek from end of file. */
1495 #endif /* XPG */
1496
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
1510 +
1511 +tests-internal = tst-vtables tst-vtables-interposed
1512 +
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;
1528
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*);
1536
1537 struct _IO_str_fields
1538 {
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;
1546 };
1547
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;
1551 } _IO_strfile;
1552
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)
1556 -
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;
1566 }
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;
1570 }
1571
1572 void
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)
1576 return EOF;
1577 - new_buf
1578 - = (char *) (*((_IO_strfile *) fp)->_s._allocate_buffer) (new_size);
1579 + new_buf = malloc (new_size);
1580 if (new_buf == NULL)
1581 {
1582 /* __ferror(fp) = 1; */
1583 @@ -113,7 +112,7 @@ _IO_str_overflow (_IO_FILE *fp, int c)
1584 if (old_buf)
1585 {
1586 memcpy (new_buf, old_buf, old_blen);
1587 - (*((_IO_strfile *) fp)->_s._free_buffer) (old_buf);
1588 + free (old_buf);
1589 /* Make sure _IO_setb won't try to delete _IO_buf_base. */
1590 fp->_IO_buf_base = NULL;
1591 }
1592 @@ -182,15 +181,14 @@ enlarge_userbuf (_IO_FILE *fp, _IO_off64_t offset, int reading)
1593
1594 _IO_size_t newsize = offset + 100;
1595 char *oldbuf = fp->_IO_buf_base;
1596 - char *newbuf
1597 - = (char *) (*((_IO_strfile *) fp)->_s._allocate_buffer) (newsize);
1598 + char *newbuf = malloc (newsize);
1599 if (newbuf == NULL)
1600 return 1;
1601
1602 if (oldbuf != NULL)
1603 {
1604 memcpy (newbuf, oldbuf, _IO_blen (fp));
1605 - (*((_IO_strfile *) fp)->_s._free_buffer) (oldbuf);
1606 + free (oldbuf);
1607 /* Make sure _IO_setb won't try to delete
1608 _IO_buf_base. */
1609 fp->_IO_buf_base = NULL;
1610 @@ -346,7 +344,7 @@ void
1611 _IO_str_finish (_IO_FILE *fp, int dummy)
1612 {
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;
1617
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
1622 --- /dev/null
1623 +++ b/libio/tst-vtables-common.c
1624 @@ -0,0 +1,511 @@
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.
1628 +
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.
1633 +
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.
1638 +
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/>. */
1642 +
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.
1648 +
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
1652 + streams. */
1653 +
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>
1662 +
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
1665 + function. */
1666 +struct shared
1667 +{
1668 + /* Expected file pointer for method calls. */
1669 + FILE *fp;
1670 +
1671 + /* If true, assume that a call to _IO_init is needed to enable
1672 + custom vtables. */
1673 + bool initially_disabled;
1674 +
1675 + /* Requested return value for the methods which have one. */
1676 + int return_value;
1677 +
1678 + /* A value (usually a character) recorded by some of the methods
1679 + below. */
1680 + int value;
1681 +
1682 + /* Likewise, for some data. */
1683 + char buffer[16];
1684 + size_t buffer_length;
1685 +
1686 + /* Total number of method calls. */
1687 + unsigned int calls;
1688 +
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;
1709 +} *shared;
1710 +
1711 +/* Method implementations which increment the counters in *shared. */
1712 +
1713 +static void
1714 +log_method (FILE *fp, const char *name)
1715 +{
1716 + if (test_verbose > 0)
1717 + printf ("info: %s (%p) called\n", name, fp);
1718 +}
1719 +
1720 +static void
1721 +method_finish (FILE *fp, int dummy)
1722 +{
1723 + log_method (fp, __func__);
1724 + TEST_VERIFY (fp == shared->fp);
1725 + ++shared->calls;
1726 + ++shared->calls_finish;
1727 +}
1728 +
1729 +static int
1730 +method_overflow (FILE *fp, int ch)
1731 +{
1732 + log_method (fp, __func__);
1733 + TEST_VERIFY (fp == shared->fp);
1734 + ++shared->calls;
1735 + ++shared->calls_overflow;
1736 + shared->value = ch;
1737 + return shared->return_value;
1738 +}
1739 +
1740 +static int
1741 +method_underflow (FILE *fp)
1742 +{
1743 + log_method (fp, __func__);
1744 + TEST_VERIFY (fp == shared->fp);
1745 + ++shared->calls;
1746 + ++shared->calls_underflow;
1747 + return shared->return_value;
1748 +}
1749 +
1750 +static int
1751 +method_uflow (FILE *fp)
1752 +{
1753 + log_method (fp, __func__);
1754 + TEST_VERIFY (fp == shared->fp);
1755 + ++shared->calls;
1756 + ++shared->calls_uflow;
1757 + return shared->return_value;
1758 +}
1759 +
1760 +static int
1761 +method_pbackfail (FILE *fp, int ch)
1762 +{
1763 + log_method (fp, __func__);
1764 + TEST_VERIFY (fp == shared->fp);
1765 + ++shared->calls;
1766 + ++shared->calls_pbackfail;
1767 + shared->value = ch;
1768 + return shared->return_value;
1769 +}
1770 +
1771 +static size_t
1772 +method_xsputn (FILE *fp, const void *data, size_t n)
1773 +{
1774 + log_method (fp, __func__);
1775 + TEST_VERIFY (fp == shared->fp);
1776 + ++shared->calls;
1777 + ++shared->calls_xsputn;
1778 +
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;
1784 + return to_copy;
1785 +}
1786 +
1787 +static size_t
1788 +method_xsgetn (FILE *fp, void *data, size_t n)
1789 +{
1790 + log_method (fp, __func__);
1791 + TEST_VERIFY (fp == shared->fp);
1792 + ++shared->calls;
1793 + ++shared->calls_xsgetn;
1794 + return 0;
1795 +}
1796 +
1797 +static off64_t
1798 +method_seekoff (FILE *fp, off64_t offset, int dir, int mode)
1799 +{
1800 + log_method (fp, __func__);
1801 + TEST_VERIFY (fp == shared->fp);
1802 + ++shared->calls;
1803 + ++shared->calls_seekoff;
1804 + return shared->return_value;
1805 +}
1806 +
1807 +static off64_t
1808 +method_seekpos (FILE *fp, off64_t offset, int mode)
1809 +{
1810 + log_method (fp, __func__);
1811 + TEST_VERIFY (fp == shared->fp);
1812 + ++shared->calls;
1813 + ++shared->calls_seekpos;
1814 + return shared->return_value;
1815 +}
1816 +
1817 +static FILE *
1818 +method_setbuf (FILE *fp, char *buffer, ssize_t length)
1819 +{
1820 + log_method (fp, __func__);
1821 + TEST_VERIFY (fp == shared->fp);
1822 + ++shared->calls;
1823 + ++shared->calls_setbuf;
1824 + return fp;
1825 +}
1826 +
1827 +static int
1828 +method_sync (FILE *fp)
1829 +{
1830 + log_method (fp, __func__);
1831 + TEST_VERIFY (fp == shared->fp);
1832 + ++shared->calls;
1833 + ++shared->calls_sync;
1834 + return shared->return_value;
1835 +}
1836 +
1837 +static int
1838 +method_doallocate (FILE *fp)
1839 +{
1840 + log_method (fp, __func__);
1841 + TEST_VERIFY (fp == shared->fp);
1842 + ++shared->calls;
1843 + ++shared->calls_doallocate;
1844 + return shared->return_value;
1845 +}
1846 +
1847 +static ssize_t
1848 +method_read (FILE *fp, void *data, ssize_t length)
1849 +{
1850 + log_method (fp, __func__);
1851 + TEST_VERIFY (fp == shared->fp);
1852 + ++shared->calls;
1853 + ++shared->calls_read;
1854 + return shared->return_value;
1855 +}
1856 +
1857 +static ssize_t
1858 +method_write (FILE *fp, const void *data, ssize_t length)
1859 +{
1860 + log_method (fp, __func__);
1861 + TEST_VERIFY (fp == shared->fp);
1862 + ++shared->calls;
1863 + ++shared->calls_write;
1864 + return shared->return_value;
1865 +}
1866 +
1867 +static off64_t
1868 +method_seek (FILE *fp, off64_t offset, int mode)
1869 +{
1870 + log_method (fp, __func__);
1871 + TEST_VERIFY (fp == shared->fp);
1872 + ++shared->calls;
1873 + ++shared->calls_seek;
1874 + return shared->return_value;
1875 +}
1876 +
1877 +static int
1878 +method_close (FILE *fp)
1879 +{
1880 + log_method (fp, __func__);
1881 + TEST_VERIFY (fp == shared->fp);
1882 + ++shared->calls;
1883 + ++shared->calls_close;
1884 + return shared->return_value;
1885 +}
1886 +
1887 +static int
1888 +method_stat (FILE *fp, void *buffer)
1889 +{
1890 + log_method (fp, __func__);
1891 + TEST_VERIFY (fp == shared->fp);
1892 + ++shared->calls;
1893 + ++shared->calls_stat;
1894 + return shared->return_value;
1895 +}
1896 +
1897 +static int
1898 +method_showmanyc (FILE *fp)
1899 +{
1900 + log_method (fp, __func__);
1901 + TEST_VERIFY (fp == shared->fp);
1902 + ++shared->calls;
1903 + ++shared->calls_showmanyc;
1904 + return shared->return_value;
1905 +}
1906 +
1907 +static void
1908 +method_imbue (FILE *fp, void *locale)
1909 +{
1910 + log_method (fp, __func__);
1911 + TEST_VERIFY (fp == shared->fp);
1912 + ++shared->calls;
1913 + ++shared->calls_imbue;
1914 +}
1915 +
1916 +/* Our custom vtable. */
1917 +
1918 +static const struct _IO_jump_t jumps =
1919 +{
1920 + JUMP_INIT_DUMMY,
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)
1940 +};
1941 +
1942 +/* Our file implementation. */
1943 +
1944 +struct my_file
1945 +{
1946 + FILE f;
1947 + const struct _IO_jump_t *vtable;
1948 +};
1949 +
1950 +struct my_file
1951 +my_file_create (void)
1952 +{
1953 + return (struct my_file)
1954 + {
1955 + /* Disable locking, so that we do not have to set up a lock
1956 + pointer. */
1957 + .f._flags = _IO_USER_LOCK,
1958 +
1959 + /* Copy the offset from the an initialized handle, instead of
1960 + figuring it out from scratch. */
1961 + .f._vtable_offset = stdin->_vtable_offset,
1962 +
1963 + .vtable = &jumps,
1964 + };
1965 +}
1966 +
1967 +/* Initial tests which do not enable vtable compatibility. */
1968 +
1969 +/* Inhibit GCC optimization of fprintf. */
1970 +typedef int (*fprintf_type) (FILE *, const char *, ...);
1971 +static const volatile fprintf_type fprintf_ptr = &fprintf;
1972 +
1973 +static void
1974 +without_compatibility_fprintf (void *closure)
1975 +{
1976 + /* This call should abort. */
1977 + fprintf_ptr (shared->fp, " ");
1978 + _exit (1);
1979 +}
1980 +
1981 +static void
1982 +without_compatibility_fputc (void *closure)
1983 +{
1984 + /* This call should abort. */
1985 + fputc (' ', shared->fp);
1986 + _exit (1);
1987 +}
1988 +
1989 +static void
1990 +without_compatibility_fgetc (void *closure)
1991 +{
1992 + /* This call should abort. */
1993 + fgetc (shared->fp);
1994 + _exit (1);
1995 +}
1996 +
1997 +static void
1998 +without_compatibility_fflush (void *closure)
1999 +{
2000 + /* This call should abort. */
2001 + fflush (shared->fp);
2002 + _exit (1);
2003 +}
2004 +
2005 +/* Exit status after abnormal termination. */
2006 +static int termination_status;
2007 +
2008 +static void
2009 +init_termination_status (void)
2010 +{
2011 + pid_t pid = xfork ();
2012 + if (pid == 0)
2013 + abort ();
2014 + xwaitpid (pid, &termination_status, 0);
2015 +
2016 + TEST_VERIFY (WIFSIGNALED (termination_status));
2017 + TEST_COMPARE (WTERMSIG (termination_status), SIGABRT);
2018 +}
2019 +
2020 +static void
2021 +check_for_termination (const char *name, void (*callback) (void *))
2022 +{
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,
2030 + sc_allow_stderr);
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);
2037 +}
2038 +
2039 +/* The test with vtable validation disabled. */
2040 +
2041 +/* This function does not have a prototype in libioP.h to prevent
2042 + accidental use from within the library (which would disable vtable
2043 + verification). */
2044 +void _IO_init (FILE *fp, int flags);
2045 +
2046 +static void
2047 +with_compatibility_fprintf (void *closure)
2048 +{
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,
2053 + "CD", 2);
2054 +}
2055 +
2056 +static void
2057 +with_compatibility_fputc (void *closure)
2058 +{
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, '@');
2064 +}
2065 +
2066 +static void
2067 +with_compatibility_fgetc (void *closure)
2068 +{
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);
2073 +}
2074 +
2075 +static void
2076 +with_compatibility_fflush (void *closure)
2077 +{
2078 + TEST_COMPARE (fflush (shared->fp), 0);
2079 + TEST_COMPARE (shared->calls, 1);
2080 + TEST_COMPARE (shared->calls_sync, 1);
2081 +}
2082 +
2083 +/* Call CALLBACK in a subprocess, after setting up a custom file
2084 + object and updating shared->fp. */
2085 +static void
2086 +check_call (const char *name, void (*callback) (void *),
2087 + bool initially_disabled)
2088 +{
2089 + *shared = (struct shared)
2090 + {
2091 + .initially_disabled = initially_disabled,
2092 + };
2093 +
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);
2099 +
2100 + if (test_verbose > 0)
2101 + printf ("info: calling test %s\n", name);
2102 + support_isolate_in_subprocess (callback, NULL);
2103 +}
2104 +
2105 +/* Run the tests. INITIALLY_DISABLED indicates whether custom vtables
2106 + are disabled when the test starts. */
2107 +static int
2108 +run_tests (bool initially_disabled)
2109 +{
2110 + /* The test relies on fatal error messages being printed to standard
2111 + error. */
2112 + setenv ("LIBC_FATAL_STDERR_", "1", 1);
2113 +
2114 + shared = support_shared_allocate (sizeof (*shared));
2115 + shared->initially_disabled = initially_disabled;
2116 + init_termination_status ();
2117 +
2118 + if (initially_disabled)
2119 + {
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);
2124 + }
2125 +
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);
2130 +
2131 + support_shared_free (shared);
2132 + shared = NULL;
2133 +
2134 + return 0;
2135 +}
2136 diff --git a/libio/tst-vtables-interposed.c b/libio/tst-vtables-interposed.c
2137 new file mode 100644
2138 index 0000000000..c8f4e8c7c3
2139 --- /dev/null
2140 +++ b/libio/tst-vtables-interposed.c
2141 @@ -0,0 +1,37 @@
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.
2145 +
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.
2150 +
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.
2155 +
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/>. */
2159 +
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"
2166 +
2167 +#include "tst-vtables-common.c"
2168 +
2169 +static int
2170 +do_test (void)
2171 +{
2172 + return run_tests (false);
2173 +}
2174 +
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
2182 --- /dev/null
2183 +++ b/libio/tst-vtables.c
2184 @@ -0,0 +1,29 @@
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.
2188 +
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.
2193 +
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.
2198 +
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/>. */
2202 +
2203 +#include "libioP.h"
2204 +
2205 +#include "tst-vtables-common.c"
2206 +
2207 +static int
2208 +do_test (void)
2209 +{
2210 + return run_tests (true);
2211 +}
2212 +
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);
2227 if (ret < 0)
2228 {
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)
2234
2235 __libc_fatal ("Fatal error: glibc detected an invalid stdio handle\n");
2236 }
2237 +
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. */
2242 +#ifdef SHARED
2243 +__attribute__ ((constructor))
2244 +static void
2245 +check_stdfiles_vtables (void)
2246 +{
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);
2251 +}
2252 +#endif
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;
2265
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;
2274 }
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;
2278 }
2279
2280 _IO_wint_t
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)))
2283 return EOF;
2284
2285 - new_buf
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)
2290 {
2291 /* __ferror(fp) = 1; */
2292 @@ -106,7 +104,7 @@ _IO_wstr_overflow (_IO_FILE *fp, _IO_wint_t c)
2293 if (old_buf)
2294 {
2295 __wmemcpy (new_buf, old_buf, old_wblen);
2296 - (*((_IO_strfile *) fp)->_s._free_buffer) (old_buf);
2297 + free (old_buf);
2298 /* Make sure _IO_setb won't try to delete _IO_buf_base. */
2299 fp->_wide_data->_IO_buf_base = NULL;
2300 }
2301 @@ -186,16 +184,14 @@ enlarge_userbuf (_IO_FILE *fp, _IO_off64_t offset, int reading)
2302 return 1;
2303
2304 wchar_t *oldbuf = wd->_IO_buf_base;
2305 - wchar_t *newbuf
2306 - = (wchar_t *) (*((_IO_strfile *) fp)->_s._allocate_buffer) (newsize
2307 - * sizeof (wchar_t));
2308 + wchar_t *newbuf = malloc (newsize * sizeof (wchar_t));
2309 if (newbuf == NULL)
2310 return 1;
2311
2312 if (oldbuf != NULL)
2313 {
2314 __wmemcpy (newbuf, oldbuf, _IO_wblen (fp));
2315 - (*((_IO_strfile *) fp)->_s._free_buffer) (oldbuf);
2316 + free (oldbuf);
2317 /* Make sure _IO_setb won't try to delete
2318 _IO_buf_base. */
2319 wd->_IO_buf_base = NULL;
2320 @@ -357,7 +353,7 @@ void
2321 _IO_wstr_finish (_IO_FILE *fp, int dummy)
2322 {
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;
2327
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
2334 END LC_NUMERIC
2335
2336 LC_TIME
2337 -abday "dg";"dl";"dt";"dc";"dj";"dv";"ds"
2338 -day "diumenge";/
2339 - "dilluns";/
2340 - "dimarts";/
2341 - "dimecres";/
2342 - "dijous";/
2343 - "divendres";/
2344 - "dissabte"
2345 -abmon "gen";"feb";/
2346 - "mar";"abr";/
2347 - "mai";"jun";/
2348 - "jul";"ago";/
2349 - "set";"oct";/
2350 - "nov";"des"
2351 -mon "gener";/
2352 - "febrer";/
2353 - "mar<U00E7>";/
2354 - "abril";/
2355 - "maig";/
2356 - "juny";/
2357 - "juliol";/
2358 - "agost";/
2359 - "setembre";/
2360 - "octubre";/
2361 - "novembre";/
2362 - "desembre"
2363 -d_t_fmt "%a %d %b %Y %T %Z"
2364 -d_fmt "%d//%m//%y"
2365 -t_fmt "%T"
2366 -am_pm "";""
2367 +abday "dg.";"dl.";"dt.";"dc.";"dj.";"dv.";"ds."
2368 +day "diumenge";/
2369 + "dilluns";/
2370 + "dimarts";/
2371 + "dimecres";/
2372 + "dijous";/
2373 + "divendres";/
2374 + "dissabte"
2375 +ab_alt_mon "gen.";/
2376 + "febr.";/
2377 + "mar<U00E7>";/
2378 + "abr.";/
2379 + "maig";/
2380 + "juny";/
2381 + "jul.";/
2382 + "ag.";/
2383 + "set.";/
2384 + "oct.";/
2385 + "nov.";/
2386 + "des."
2387 +abmon "de gen.";/
2388 + "de febr.";/
2389 + "de mar<U00E7>";/
2390 + "d<U2019>abr.";/
2391 + "de maig";/
2392 + "de juny";/
2393 + "de jul.";/
2394 + "d<U2019>ag.";/
2395 + "de set.";/
2396 + "d<U2019>oct.";/
2397 + "de nov.";/
2398 + "de des."
2399 +alt_mon "gener";/
2400 + "febrer";/
2401 + "mar<U00E7>";/
2402 + "abril";/
2403 + "maig";/
2404 + "juny";/
2405 + "juliol";/
2406 + "agost";/
2407 + "setembre";/
2408 + "octubre";/
2409 + "novembre";/
2410 + "desembre"
2411 +mon "de gener";/
2412 + "de febrer";/
2413 + "de mar<U00E7>";/
2414 + "d<U2019>abril";/
2415 + "de maig";/
2416 + "de juny";/
2417 + "de juliol";/
2418 + "d<U2019>agost";/
2419 + "de setembre";/
2420 + "d<U2019>octubre";/
2421 + "de novembre";/
2422 + "de desembre"
2423 +d_t_fmt "%A, %-d %B de %Y, %T %Z"
2424 +d_fmt "%-d//%-m//%y"
2425 +t_fmt "%T"
2426 +am_pm "a. m.";/
2427 + "p. m."
2428 t_fmt_ampm ""
2429 week 7;19971130;4
2430 first_weekday 2
2431 @@ -146,9 +177,9 @@ copy "i18n"
2432 END LC_PAPER
2433
2434 LC_TELEPHONE
2435 -tel_int_fmt "+%c %a %l"
2436 -int_prefix "34"
2437 -int_select "00"
2438 +tel_int_fmt "+%c %a %l"
2439 +int_prefix "34"
2440 +int_select "00"
2441 END LC_TELEPHONE
2442
2443 LC_MEASUREMENT
2444 @@ -156,19 +187,19 @@ copy "i18n"
2445 END LC_MEASUREMENT
2446
2447 LC_NAME
2448 -name_fmt "%d%t%g%t%m%t%f"
2449 +name_fmt "%d%t%g%t%m%t%f"
2450 END LC_NAME
2451
2452 LC_ADDRESS
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"
2456 -country_ab2 "ES"
2457 -country_ab3 "ESP"
2458 -country_num 724
2459 -country_car "E"
2460 +country_ab2 "ES"
2461 +country_ab3 "ESP"
2462 +country_num 724
2463 +country_car "E"
2464 % català
2465 lang_name "catal<U00E0>"
2466 lang_ab "ca"
2467 lang_term "cat"
2468 -lang_lib "cat"
2469 +lang_lib "cat"
2470 END LC_ADDRESS
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";/
2476 "P<U00E1>tek";/
2477 "Sobota"
2478
2479 -mon "leden";/
2480 +alt_mon "leden";/
2481 "<U00FA>nor";/
2482 "b<U0159>ezen";/
2483 "duben";/
2484 @@ -334,6 +334,19 @@ abmon "led";/
2485 % "Nov";/
2486 % "Dec"
2487
2488 +mon "ledna";/
2489 + "<U00FA>nora";/
2490 + "b<U0159>ezna";/
2491 + "dubna";/
2492 + "kv<U011B>tna";/
2493 + "<U010D>ervna";/
2494 + "<U010D>ervence";/
2495 + "srpna";/
2496 + "z<U00E1><U0159><U00ED>";/
2497 + "<U0159><U00ED>jna";/
2498 + "listopadu";/
2499 + "prosince"
2500 +
2501 week 7;19971130;4
2502 first_weekday 2
2503
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
2557 END LC_TIME
2558
2559 LC_PAPER
2560 -copy "i18n"
2561 +copy "en_US"
2562 END LC_PAPER
2563
2564 LC_TELEPHONE
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 % Ü
2572
2573 +reorder-end
2574 +
2575 END LC_COLLATE
2576
2577 LC_CTYPE
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";/
2584 "An t-Samhain";/
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
2588 abmon "Faoi";/
2589 "Gearr";/
2590 "M<U00E0>rt";/
2591 "Gibl";/
2592 - "Mh<U00E0>rt";/
2593 + "C<U00E8>it";/
2594 "<U00D2>gmh";/
2595 "Iuch";/
2596 "L<U00F9>na";/
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";/
2602 "Ketvirtadienis";/
2603 "Penktadienis";/
2604 "<U0160>e<U0161>tadienis"
2605 -abmon "Sau";"Vas";/
2606 - "Kov";"Bal";/
2607 - "Geg";"Bir";/
2608 - "Lie";"Rgp";/
2609 - "Rgs";"Spa";/
2610 - "Lap";"Grd"
2611 +abmon "saus.";"vas.";/
2612 + "kov.";"bal.";/
2613 + "geg.";"bir<U017E>.";/
2614 + "liep.";"rugp.";/
2615 + "rugs.";"spal.";/
2616 + "lapkr.";"gruod."
2617 alt_mon "sausis";/
2618 "vasaris";/
2619 "kovas";/
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.
2625 @cindex stateful
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
2637 used.
2638
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.
2656
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.
2661
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
2669 +Interface}.
2670 +
2671 @pindex wchar.h
2672 @code{mbrtowc} was introduced in @w{Amendment 1} to @w{ISO C90} and
2673 is declared in @file{wchar.h}.
2674 @end deftypefun
2675
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:
2684
2685 @smallexample
2686 -wchar_t *
2687 -mbstouwcs (const char *s)
2688 -@{
2689 - size_t len = strlen (s);
2690 - wchar_t *result = malloc ((len + 1) * sizeof (wchar_t));
2691 - wchar_t *wcp = result;
2692 - wchar_t tmp[1];
2693 - mbstate_t state;
2694 - size_t nbytes;
2695 -
2696 - memset (&state, '\0', sizeof (state));
2697 - while ((nbytes = mbrtowc (tmp, s, len, &state)) > 0)
2698 - @{
2699 - if (nbytes >= (size_t) -2)
2700 - /* Invalid input string. */
2701 - return NULL;
2702 - *wcp++ = towupper (tmp[0]);
2703 - len -= nbytes;
2704 - s += nbytes;
2705 - @}
2706 - return result;
2707 -@}
2708 +@include mbstouwcs.c.texi
2709 @end smallexample
2710
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
2716 -bytes is adjusted.
2717 -
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.
2738 +
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.
2751
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
2765
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.
2770
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.
2774 +
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.
2778 +
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.
2782 +
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}.
2793 @end defvr
2794
2795 @defvr Macro _XOPEN_SOURCE
2796 @@ -87,7 +101,10 @@ available which are necessary for the X/Open Unix brand.
2797
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
2804 +SUSv4.
2805 @end defvr
2806
2807 @defvr Macro _LARGEFILE_SOURCE
2808 @@ -150,10 +167,14 @@ This macro was introduced as part of the Large File Support extension
2809
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.
2819 +@end defvr
2820 +
2821 +@defvr Macro _ISOC11_SOURCE
2822 +@standards{C11, (none)}
2823 +If this macro is defined, ISO C11 extensions to ISO C99 are included.
2824 @end defvr
2825
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.
2829 @end defvr
2830
2831 +@defvr Macro _ATFILE_SOURCE
2832 +@standards{GNU, (none)}
2833 +If this macro is defined, additional @code{*at} interfaces are
2834 +included.
2835 +@end defvr
2836 +
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.
2842 +@end defvr
2843 +
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
2850 --- /dev/null
2851 +++ b/manual/examples/mbstouwcs.c
2852 @@ -0,0 +1,53 @@
2853 +#include <stdbool.h>
2854 +#include <stdlib.h>
2855 +#include <string.h>
2856 +#include <wchar.h>
2857 +
2858 +/* Do not include the above headers in the example.
2859 +*/
2860 +wchar_t *
2861 +mbstouwcs (const char *s)
2862 +{
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)
2867 + return NULL;
2868 +
2869 + wchar_t *wcp = result;
2870 + mbstate_t state;
2871 + memset (&state, '\0', sizeof (state));
2872 +
2873 + while (true)
2874 + {
2875 + wchar_t wc;
2876 + size_t nbytes = mbrtowc (&wc, s, len, &state);
2877 + if (nbytes == 0)
2878 + {
2879 + /* Terminate the result string. */
2880 + *wcp = L'\0';
2881 + break;
2882 + }
2883 + else if (nbytes == (size_t) -2)
2884 + {
2885 + /* Truncated input string. */
2886 + errno = EILSEQ;
2887 + free (result);
2888 + return NULL;
2889 + }
2890 + else if (nbytes == (size_t) -1)
2891 + {
2892 + /* Some other error (including EILSEQ). */
2893 + free (result);
2894 + return NULL;
2895 + }
2896 + else
2897 + {
2898 + /* A character was converted. */
2899 + *wcp++ = towupper (wc);
2900 + len -= nbytes;
2901 + s += nbytes;
2902 + }
2903 + }
2904 + return result;
2905 +}
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.
2912 @end deftypefn
2913
2914 +@vindex PWD
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.
2920 -@vindex PWD
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.
2936
2937 This function is a GNU extension.
2938 @end deftypefun
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.
2946
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).
2954 +
2955 +The supported @var{flags} are dependent of the underlying system. For
2956 +Linux it supports:
2957
2958 @vtable @code
2959 @item RWF_HIPRI
2960 @@ -1271,6 +1275,9 @@ Per-IO synchronization as if the file was opened with @code{O_SYNC} flag.
2961 @item RWF_NOWAIT
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.
2964 +
2965 +@item RWF_APPEND
2966 +Per-IO synchronization as if the file was opened with @code{O_APPEND} flag.
2967 @end vtable
2968
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.
2973
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).
2982 +
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}.
2985
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}.
2995
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.
3011
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.
3020
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.
3029
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}.
3038
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
3056 --- a/math/math.h
3057 +++ b/math/math.h
3058 @@ -1223,7 +1223,7 @@ template<> struct __iseqsig_type<double>
3059
3060 template<> struct __iseqsig_type<long double>
3061 {
3062 - static int __call (double __x, double __y) throw ()
3063 + static int __call (long double __x, long double __y) throw ()
3064 {
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
3071 @@ -16,6 +16,7 @@
3072 License along with the GNU C Library; if not, see
3073 <http://www.gnu.org/licenses/>. */
3074
3075 +#include <array_length.h>
3076 #include <stdio.h>
3077 #include <stdint.h>
3078 #include <errno.h>
3079 @@ -25,6 +26,7 @@
3080
3081 #include <support/check.h>
3082 #include <support/temp_file.h>
3083 +#include <support/xunistd.h>
3084
3085 static char *temp_filename;
3086 static int temp_fd;
3087 @@ -50,6 +52,42 @@ do_prepare (int argc, char **argv)
3088 pwritev (__fd, __iov, __iovcnt, __offset)
3089 #endif
3090
3091 +static __attribute__ ((unused)) void
3092 +do_test_without_offset (void)
3093 +{
3094 + xftruncate (temp_fd, 0);
3095 +
3096 + xwrite (temp_fd, "123", 3);
3097 + xlseek (temp_fd, 2, SEEK_SET);
3098 + {
3099 + struct iovec iov[] =
3100 + {
3101 + { (void *) "abc", 3 },
3102 + { (void *) "xyzt", 4 },
3103 + };
3104 + TEST_COMPARE (PWRITEV (temp_fd, iov, array_length (iov), -1), 7);
3105 + }
3106 + TEST_COMPARE (xlseek (temp_fd, 0, SEEK_CUR), 9);
3107 +
3108 + xlseek (temp_fd, 1, SEEK_SET);
3109 + char buf1[3];
3110 + char buf2[2];
3111 + {
3112 + struct iovec iov[] =
3113 + {
3114 + { buf1, sizeof (buf1) },
3115 + { buf2, sizeof (buf2) },
3116 + };
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);
3122 + }
3123 +
3124 + xftruncate (temp_fd, 0);
3125 +}
3126 +
3127 static int
3128 do_test_with_offset (off_t offset)
3129 {
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
3134 @@ -19,9 +19,6 @@
3135 #include <limits.h>
3136 #include <support/check.h>
3137
3138 -static void
3139 -do_test_with_invalid_flags (void)
3140 -{
3141 #ifndef RWF_HIPRI
3142 # define RWF_HIPRI 0
3143 #endif
3144 @@ -34,7 +31,73 @@ do_test_with_invalid_flags (void)
3145 #ifndef RWF_NOWAIT
3146 # define RWF_NOWAIT 0
3147 #endif
3148 -#define RWF_SUPPORTED (RWF_HIPRI | RWF_DSYNC | RWF_SYNC | RWF_NOWAIT)
3149 +#ifndef RWF_APPEND
3150 +# define RWF_APPEND 0
3151 +#endif
3152 +#define RWF_SUPPORTED (RWF_HIPRI | RWF_DSYNC | RWF_SYNC | RWF_NOWAIT \
3153 + | RWF_APPEND)
3154 +
3155 +static void
3156 +do_test_with_invalid_fd (void)
3157 +{
3158 + char buf[256];
3159 + struct iovec iov = { buf, sizeof buf };
3160 +
3161 + /* Check with flag being 0 to use the fallback code which calls pwritev
3162 + or writev. */
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);
3167 +
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);
3176 +}
3177 +
3178 +static void
3179 +do_test_with_invalid_iov (void)
3180 +{
3181 + {
3182 + char buf[256];
3183 + struct iovec iov;
3184 +
3185 + iov.iov_base = buf;
3186 + iov.iov_len = (size_t)SSIZE_MAX + 1;
3187 +
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);
3192 +
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);
3199 + }
3200 +
3201 + {
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 };
3205 +
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);
3210 + }
3211 +}
3212 +
3213 +static void
3214 +do_test_with_invalid_flags (void)
3215 +{
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
3224 do_test (void)
3225 {
3226 do_test_with_invalid_flags ();
3227 + do_test_without_offset ();
3228 + do_test_with_invalid_fd ();
3229 + do_test_with_invalid_iov ();
3230
3231 return do_test_with_offset (0);
3232 }
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
3238 do_test (void)
3239 {
3240 do_test_with_invalid_flags ();
3241 + do_test_without_offset ();
3242 + do_test_with_invalid_fd ();
3243 + do_test_with_invalid_iov ();
3244
3245 return do_test_with_offset (0);
3246 }
3247 diff --git a/nptl/Makefile b/nptl/Makefile
3248 index 6fc2c8bb6a..a3447addea 100644
3249 --- a/nptl/Makefile
3250 +++ b/nptl/Makefile
3251 @@ -235,9 +235,9 @@ LDLIBS-tst-minstack-throw = -lstdc++
3252
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 \
3261 tst-mutexpi9 \
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
3267
3268 +tst-mutex10-ENV = GLIBC_TUNABLES=glibc.elision.enable=1
3269 +
3270 # The tests here better do not run in parallel
3271 ifneq ($(filter %tests,$(MAKECMDGOALS)),)
3272 .NOTPARALLEL:
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
3278 };
3279 #define PTHREAD_MUTEX_PSHARED_BIT 128
3280
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))
3292
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)
3297 #else
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)
3302 #endif
3303
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,
3310 {
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);
3315 + this futex word.
3316 +
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;
3321
3322 if ((r >> 1) > 0)
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
3328 @@ -23,8 +23,11 @@
3329 int
3330 pthread_mutex_consistent (pthread_mutex_t *mutex)
3331 {
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)
3340 return EINVAL;
3341
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)
3347 {
3348 LIBC_PROBE (mutex_destroy, 1, mutex);
3349
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)
3356 return EBUSY;
3357
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);
3364
3365 return 0;
3366 }
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
3371 @@ -24,7 +24,9 @@
3372 int
3373 pthread_mutex_getprioceiling (const pthread_mutex_t *mutex, int *prioceiling)
3374 {
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))
3380 return EINVAL;
3381
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);
3388
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;
3392
3393 if ((imutexattr->mutexkind & PTHREAD_MUTEXATTR_FLAG_ROBUST) != 0)
3394 {
3395 @@ -111,17 +111,17 @@ __pthread_mutex_init (pthread_mutex_t *mutex,
3396 return ENOTSUP;
3397 #endif
3398
3399 - mutex->__data.__kind |= PTHREAD_MUTEX_ROBUST_NORMAL_NP;
3400 + mutex_kind |= PTHREAD_MUTEX_ROBUST_NORMAL_NP;
3401 }
3402
3403 switch (imutexattr->mutexkind & PTHREAD_MUTEXATTR_PROTOCOL_MASK)
3404 {
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;
3408 break;
3409
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;
3413
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;
3422 +
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);
3426
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)
3434 int
3435 __pthread_mutex_lock (pthread_mutex_t *mutex)
3436 {
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);
3440
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:
3445 {
3446 - int kind = mutex->__data.__kind & PTHREAD_MUTEX_KIND_MASK_NP;
3447 - int robust = mutex->__data.__kind & PTHREAD_MUTEX_ROBUST_NORMAL_NP;
3448 + int kind, robust;
3449 + {
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;
3455 + }
3456
3457 if (robust)
3458 {
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:
3462 {
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;
3468
3469 oldval = mutex->__data.__lock;
3470
3471 @@ -607,15 +618,18 @@ hidden_def (__pthread_mutex_lock)
3472 void
3473 __pthread_mutex_cond_lock_adjust (pthread_mutex_t *mutex)
3474 {
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);
3484
3485 /* Record the ownership. */
3486 pid_t id = THREAD_GETMEM (THREAD_SELF, tid);
3487 mutex->__data.__owner = id;
3488
3489 - if (mutex->__data.__kind == PTHREAD_MUTEX_PI_RECURSIVE_NP)
3490 + if (mutex_kind == PTHREAD_MUTEX_PI_RECURSIVE_NP)
3491 ++mutex->__data.__count;
3492 }
3493 #endif
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,
3500 int *old_ceiling)
3501 {
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)
3509 return EINVAL;
3510
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. */
3519
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))
3524 {
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:
3528 {
3529 - int kind = mutex->__data.__kind & PTHREAD_MUTEX_KIND_MASK_NP;
3530 - int robust = mutex->__data.__kind & PTHREAD_MUTEX_ROBUST_NORMAL_NP;
3531 + int kind, robust;
3532 + {
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;
3538 + }
3539
3540 if (robust)
3541 {
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:
3545 {
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;
3551
3552 oldval = mutex->__data.__lock;
3553
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)
3559 int oldval;
3560 pid_t id = THREAD_GETMEM (THREAD_SELF, tid);
3561
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))
3566 {
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:
3570 {
3571 - int kind = mutex->__data.__kind & PTHREAD_MUTEX_KIND_MASK_NP;
3572 - int robust = mutex->__data.__kind & PTHREAD_MUTEX_ROBUST_NORMAL_NP;
3573 + int kind, robust;
3574 + {
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;
3580 + }
3581
3582 if (robust)
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:
3587 {
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;
3593
3594 oldval = mutex->__data.__lock;
3595
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
3601 attribute_hidden
3602 __pthread_mutex_unlock_usercnt (pthread_mutex_t *mutex, int decr)
3603 {
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))
3620 pi_notrecoverable:
3621 newowner = PTHREAD_MUTEX_NOTRECOVERABLE;
3622
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)
3628 {
3629 continue_pi_robust:
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
3634 lll_unlock). */
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;
3640 private = (robust
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
3646 --- /dev/null
3647 +++ b/nptl/tst-mutex10.c
3648 @@ -0,0 +1,109 @@
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.
3652 +
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.
3657 +
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.
3662 +
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/>. */
3666 +#include <stdio.h>
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>
3674 +
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;
3679 +
3680 +static void *
3681 +thr_func (void *arg)
3682 +{
3683 + long long int i;
3684 + for (i = 0; i < iteration_count; i++)
3685 + {
3686 + if ((uintptr_t) arg == 0)
3687 + {
3688 + xpthread_mutex_destroy (&mutex);
3689 + xpthread_mutex_init (&mutex, NULL);
3690 + }
3691 +
3692 + xpthread_barrier_wait (&barrier);
3693 +
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);
3705 +
3706 + xpthread_barrier_wait (&barrier);
3707 + }
3708 + return NULL;
3709 +}
3710 +
3711 +static int
3712 +do_test (void)
3713 +{
3714 + unsigned int i;
3715 + printf ("Starting %d threads to run %lld iterations.\n",
3716 + thread_count, iteration_count);
3717 +
3718 + pthread_t *threads = xmalloc (thread_count * sizeof (pthread_t));
3719 + xpthread_barrier_init (&barrier, NULL, thread_count);
3720 + xpthread_mutex_init (&mutex, NULL);
3721 +
3722 + for (i = 0; i < thread_count; i++)
3723 + threads[i] = xpthread_create (NULL, thr_func, (void *) (uintptr_t) i);
3724 +
3725 + for (i = 0; i < thread_count; i++)
3726 + xpthread_join (threads[i]);
3727 +
3728 + xpthread_barrier_destroy (&barrier);
3729 + free (threads);
3730 +
3731 + return EXIT_SUCCESS;
3732 +}
3733 +
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 },
3739 +static void
3740 +cmdline_process (int c)
3741 +{
3742 + long long int arg = strtoll (optarg, NULL, 0);
3743 + switch (c)
3744 + {
3745 + case OPT_ITERATIONS:
3746 + if (arg > 0)
3747 + iteration_count = arg;
3748 + break;
3749 + case OPT_THREADS:
3750 + if (arg > 0 && arg < 100)
3751 + thread_count = arg;
3752 + break;
3753 + }
3754 +}
3755 +#define CMDLINE_PROCESS cmdline_process
3756 +#define TIMEOUT 50
3757 +#include <support/test-driver.c>
3758 diff --git a/nscd/gai.c b/nscd/gai.c
3759 index d081747797..576fd0045b 100644
3760 --- a/nscd/gai.c
3761 +++ b/nscd/gai.c
3762 @@ -45,3 +45,6 @@
3763 #ifdef HAVE_LIBIDN
3764 # include <libidn/idn-stub.c>
3765 #endif
3766 +
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,
3774 {
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;
3780 if (host != 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,
3787
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
3801
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
3816 --- a/po/pt_BR.po
3817 +++ b/po/pt_BR.po
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.
3830 -#
3831 +# Rafael Fontenelle <rafaelff@gnome.org>, 2018.
3832 msgid ""
3833 msgstr ""
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"
3849 -
3850 -#: nis/nis_print.c:273
3851 -msgid "\t\tAccess Rights : "
3852 -msgstr "\t\tDireitos de Acesso: "
3853 -
3854 -#: nis/nis_print.c:271
3855 -msgid "\t\tAttributes : "
3856 -msgstr "\t\tAtributos : "
3857 -
3858 -#: sunrpc/rpc_main.c:1416
3859 -#, c-format
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"
3867
3868 -#: sunrpc/rpc_main.c:1418
3869 +#: argp/argp-help.c:227
3870 #, c-format
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"
3875
3876 -#: sunrpc/rpc_main.c:1421
3877 +#: argp/argp-help.c:237
3878 #, c-format
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"
3883
3884 -#: sunrpc/rpc_main.c:1420
3885 +#: argp/argp-help.c:250
3886 #, c-format
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"
3891
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."
3898
3899 -#: nis/nis_print.c:293
3900 -#, c-format
3901 -msgid "\tEntry data of type %s\n"
3902 -msgstr "\tEntrada de dados de tipo %s\n"
3903 +#: argp/argp-help.c:1600
3904 +msgid "Usage:"
3905 +msgstr "Uso:"
3906
3907 -#: nis/nis_print.c:171
3908 -#, c-format
3909 -msgid "\tName : %s\n"
3910 -msgstr "\tNome : %s\n"
3911 +#: argp/argp-help.c:1604
3912 +msgid " or: "
3913 +msgstr " ou: "
3914
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...]"
3921
3922 -#: nis/nis_print.c:234
3923 +#: argp/argp-help.c:1643
3924 #, c-format
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"
3929
3930 -#: nis/nis_print.c:201
3931 +#: argp/argp-help.c:1671
3932 #, c-format
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"
3937
3938 -#: nis/nis_print.c:269
3939 -#, c-format
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"
3945
3946 -#: nis/nis_print.c:296
3947 -#, c-format
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"
3953
3954 -#: nscd/nscd_stat.c:153
3955 -msgid ""
3956 -"\n"
3957 -"%s cache:\n"
3958 -"\n"
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"
3969 -msgstr ""
3970 -"\n"
3971 -"cache %s:\n"
3972 -"\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
3983 +msgid "NAME"
3984 +msgstr "NOME"
3985
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"
3992
3993 -#: nis/nis_print.c:320
3994 -msgid "\nTime to Live : "
3995 -msgstr "\nTempo de Vida : "
3996 +#: argp/argp-parse.c:105
3997 +msgid "SECS"
3998 +msgstr "SEG"
3999
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)"
4006
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"
4013
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!?"
4020
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
4025 +#, c-format
4026 +msgid "%s: Too many arguments\n"
4027 +msgstr "%s: Argumentos demais\n"
4028
4029 -#: nscd/nscd_stat.c:145 nscd/nscd_stat.c:147
4030 -msgid " no"
4031 -msgstr " não"
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!?"
4035
4036 -#: nscd/nscd_stat.c:145 nscd/nscd_stat.c:147
4037 -msgid " yes"
4038 -msgstr " sim"
4039 +#: assert/assert-perr.c:35
4040 +#, c-format
4041 +msgid "%s%s%s:%u: %s%sUnexpected error: %s.\n"
4042 +msgstr "%s%s%s:%u: %s%sErro inesperado: %s.\n"
4043
4044 -#: nis/nis_print.c:344
4045 +#: assert/assert.c:101
4046 #, c-format
4047 -msgid " Data Length = %u\n"
4048 -msgstr " Tamanho dados = %u\n"
4049 +msgid ""
4050 +"%s%s%s:%u: %s%sAssertion `%s' failed.\n"
4051 +"%n"
4052 +msgstr ""
4053 +"%s%s%s:%u: %s%sAssertiva “%s” falhou.\n"
4054 +"%n"
4055
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"
4062
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"
4069
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"
4076
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
4081 +msgid ""
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"
4084 +msgstr ""
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"
4087
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
4092 +msgid ""
4093 +"-o OUTPUT-FILE [INPUT-FILE]...\n"
4094 +"[OUTPUT-FILE [INPUT-FILE]...]"
4095 +msgstr ""
4096 +"-o ARQUIVO-SAÍDA [ARQUIVO-ENTRADA]...\n"
4097 +"[ARQUIVO-SAÍDA [ARQUIVO-ENTRADA...]"
4098
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
4108 +#, c-format
4109 +msgid ""
4110 +"For bug reporting instructions, please see:\n"
4111 +"%s.\n"
4112 +msgstr ""
4113 +"Para instruções sobre como relatar erros, por favor veja:\n"
4114 +"%s.\n"
4115
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
4126 +#, c-format
4127 +msgid ""
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"
4131 +msgstr ""
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"
4136
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
4146 +#, c-format
4147 +msgid "Written by %s.\n"
4148 +msgstr "Escrito por %s.\n"
4149
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*"
4156
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
4162 +#, c-format
4163 +msgid "cannot open input file `%s'"
4164 +msgstr "não é possível abrir arquivo de entrada “%s”"
4165
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"
4172
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"
4179
4180 -#: argp/argp-help.c:1571
4181 -msgid " or: "
4182 -msgstr " ou: "
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"
4186
4187 -#: timezone/zic.c:421
4188 +#: catgets/gencat.c:516
4189 #, c-format
4190 -msgid " (rule from \"%s\", line %d)"
4191 -msgstr " (regra de \"%s\", linha %d)"
4192 -
4193 -#: argp/argp-help.c:1583
4194 -msgid " [OPTION...]"
4195 -msgstr " [OPÇÃO...]"
4196 +msgid "unknown set `%s'"
4197 +msgstr "conjunto desconhecido “%s”"
4198
4199 -#: locale/programs/ld-collate.c:370 locale/programs/ld-ctype.c:1291
4200 -msgid " done\n"
4201 -msgstr " feito\n"
4202 +#: catgets/gencat.c:557
4203 +msgid "invalid quote character"
4204 +msgstr "caractere de aspas inválido"
4205
4206 -#: timezone/zic.c:418
4207 +#: catgets/gencat.c:570
4208 #, c-format
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"
4213
4214 -#: timezone/zic.c:958
4215 -#, c-format
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"
4221
4222 -#: timezone/zic.c:966
4223 -#, c-format
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"
4229
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"
4236
4237 -#: argp/argp-help.c:210
4238 -#, c-format
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"
4244
4245 -#: argp/argp-help.c:219
4246 -#, c-format
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"
4252
4253 -#: timezone/zic.c:768
4254 +#: catgets/gencat.c:984 catgets/gencat.c:1025
4255 #, c-format
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”"
4260
4261 -#: assert/assert.c:51
4262 -#, c-format
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"
4268
4269 -#: assert/assert-perr.c:52
4270 -#, c-format
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"
4276
4277 -#: stdio-common/psignal.c:47
4278 +#: catgets/gencat.c:1233
4279 #, c-format
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"
4284
4285 -#: timezone/zic.c:2201
4286 +#: catgets/gencat.c:1324
4287 #, c-format
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"
4292
4293 -#: locale/programs/charmap.c:261
4294 +#: catgets/gencat.c:1350
4295 #, c-format
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"
4300
4301 -#: sunrpc/rpc_main.c:422
4302 -#, c-format
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"
4308
4309 -#: sunrpc/rpc_main.c:419
4310 -#, c-format
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."
4316
4317 -#: timezone/zic.c:1469
4318 -#, c-format
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
4322 +msgid "[FILE]"
4323 +msgstr "[ARQUIVO]"
4324
4325 -#: timezone/zic.c:2179
4326 +#: debug/pcprofiledump.c:108
4327 #, c-format
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"
4332
4333 -#: timezone/zic.c:620
4334 +#: debug/pcprofiledump.c:115
4335 #, c-format
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"
4340
4341 -#: timezone/zic.c:794
4342 +#: debug/pcprofiledump.c:179
4343 #, c-format
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"
4348
4349 -#: timezone/zic.c:1459
4350 -#, c-format
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"
4356
4357 -#: timezone/zic.c:863
4358 -#, c-format
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"
4365
4366 -#: timezone/zic.c:856
4367 -#, c-format
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"
4373
4374 -#: timezone/zic.c:1535
4375 -#, c-format
4376 -msgid "%s: Error writing %s\n"
4377 -msgstr "%s: Erro escrevendo %s\n"
4378 +#: debug/xtrace.sh:45
4379 +msgid ""
4380 +"Trace execution of program by printing currently executed function.\n"
4381 +"\n"
4382 +" --data=FILE Don't run the program, just print the data from FILE.\n"
4383 +"\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"
4387 +"\n"
4388 +"Mandatory arguments to long options are also mandatory for any corresponding\n"
4389 +"short options.\n"
4390 +"\n"
4391 +msgstr ""
4392 +"Rastreia a execução do programa exibindo a função atualmente executada.\n"
4393 +"\n"
4394 +" --data=ARQUIVO Não executa o programa, apenas exibe os dados\n"
4395 +" do ARQUIVO.\n"
4396 +"\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"
4400 +"\n"
4401 +"Argumentos obrigatórios para opções longas são também obrigatórias para opções curtas correspondentes.\n"
4402 +"\n"
4403
4404 -#: timezone/zdump.c:266
4405 -#, c-format
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"
4412
4413 -#: timezone/zic.c:841
4414 -#, c-format
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"
4420
4421 -#: timezone/zic.c:359
4422 -#, c-format
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"
4428
4429 -#: timezone/zic.c:524
4430 -#, c-format
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
4434 +#, sh-format
4435 +msgid "executable \\`$program' not found\\n"
4436 +msgstr "“$program” executável não foi encontrado\\n"
4437
4438 -#: timezone/zic.c:484
4439 -#, c-format
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
4443 +#, sh-format
4444 +msgid "\\`$program' is no executable\\n"
4445 +msgstr "“$program” não é um executável\\n"
4446
4447 -#: timezone/zic.c:494
4448 -#, c-format
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"
4454
4455 -#: timezone/zic.c:504
4456 -#, c-format
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"
4462
4463 -#: timezone/zic.c:514
4464 -#, c-format
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"
4470
4471 -#: argp/argp-parse.c:640
4472 -#, c-format
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"
4478
4479 -#: login/programs/database.c:129
4480 -#, c-format
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"
4486
4487 -#: timezone/zic.c:1900
4488 -#, c-format
4489 -msgid "%s: command was '%s', result was %d\n"
4490 -msgstr "%s: comando era '%s', resultado era %d\n"
4491 +#: elf/cache.c:69
4492 +msgid "unknown"
4493 +msgstr "desconhecido"
4494
4495 -#: locale/programs/charmap.c:677 locale/programs/locfile.c:1008
4496 -#, c-format
4497 -msgid "%s: error in state machine"
4498 -msgstr "%s: erro na máquina de estados"
4499 +# Operating System (OS) = Sistema Operacional (SO)
4500 +#: elf/cache.c:135
4501 +msgid "Unknown OS"
4502 +msgstr "SO desconhecido"
4503
4504 -#: posix/getopt.c:784
4505 +#: elf/cache.c:140
4506 #, c-format
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"
4511
4512 -#: posix/getopt.c:787
4513 +#: elf/cache.c:157 elf/ldconfig.c:1332
4514 #, c-format
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"
4519
4520 -#: posix/getopt.c:707
4521 +#: elf/cache.c:171
4522 #, c-format
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"
4527
4528 -#: posix/getopt.c:677
4529 +#: elf/cache.c:175 elf/cache.c:189
4530 #, c-format
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"
4535
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
4539 #, c-format
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"
4544
4545 -#: posix/getopt.c:702
4546 +#: elf/cache.c:426
4547 #, c-format
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"
4552
4553 -#: posix/getopt.c:882
4554 +#: elf/cache.c:434 elf/cache.c:444 elf/cache.c:448 elf/cache.c:453
4555 #, c-format
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"
4560
4561 -#: posix/getopt.c:864
4562 +#: elf/cache.c:458
4563 #, c-format
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"
4568
4569 -#: posix/getopt.c:817 posix/getopt.c:947
4570 +#: elf/cache.c:463
4571 #, c-format
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"
4576
4577 -#: sunrpc/rpc_main.c:287
4578 -#, c-format
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"
4584
4585 -#: timezone/zic.c:848 timezone/zic.c:1262 timezone/zic.c:1287
4586 -#, c-format
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"
4592
4593 -#: locale/programs/charmap.c:684 locale/programs/repertoire.c:289
4594 -#, c-format
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"
4600
4601 -#: sunrpc/rpc_main.c:294
4602 -#, c-format
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"
4608
4609 -#: posix/getopt.c:758
4610 +#: elf/dl-deps.c:130
4611 #, c-format
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"
4616
4617 -#: posix/getopt.c:754
4618 -#, c-format
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"
4624
4625 -#: timezone/zic.c:443
4626 -#, c-format
4627 -msgid ""
4628 -"%s: usage is %s [ -s ] [ -v ] [ -l localtime ] [ -p posixrules ] [ -d directory ]\n"
4629 -"\t[ -L leapseconds ] [ -y yearistype ] [ filename ... ]\n"
4630 -msgstr ""
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"
4636
4637 -#: timezone/zdump.c:174
4638 -#, c-format
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"
4644
4645 -#: sunrpc/rpc_main.c:307
4646 -#, c-format
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"
4652
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!!!"
4659
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"
4666
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"
4673
4674 -#: sunrpc/clnt_perr.c:124
4675 -#, c-format
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"
4681
4682 -#: sunrpc/rpcinfo.c:613
4683 -msgid "(unknown)"
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"
4688
4689 -#: elf/sprof.c:574
4690 -#, c-format
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"
4696
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"
4703
4704 -#: catgets/gencat.c:120
4705 -msgid ""
4706 -"-o OUTPUT-FILE [INPUT-FILE]...\n"
4707 -"[OUTPUT-FILE [INPUT-FILE]...]"
4708 -msgstr ""
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"
4714
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"
4721
4722 -#: sunrpc/clnt_perr.c:110 sunrpc/clnt_perr.c:131
4723 -#, c-format
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"
4729
4730 -#: sunrpc/clnt_perr.c:117
4731 -msgid "; why = "
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"
4736
4737 -#: locale/programs/charset.c:98
4738 -#, c-format
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"
4744
4745 -#: locale/programs/ld-ctype.c:342
4746 -#, c-format
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"
4752
4753 -#: locale/programs/ld-ctype.c:330
4754 -#, c-format
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"
4760
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
4765 -msgid "?"
4766 -msgstr "?"
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"
4770
4771 -#: sysdeps/unix/sysv/linux/siglist.h:27
4772 -msgid "Aborted"
4773 -msgstr "Abortado"
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"
4777
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"
4784
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"
4791
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"
4799
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"
4806
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"
4815
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"
4822
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"
4830
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"
4841
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"
4848
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"
4855
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"
4862
4863 -#. TRANS ???
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"
4870
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"
4877
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"
4886
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
4889 -#. TRANS versa).
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"
4896
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"
4903
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"
4910
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"
4918
4919 -#: posix/../sysdeps/posix/gai_strerror.c:32
4920 -msgid "Bad value for ai_flags"
4921 -msgstr "Valor inválido para ai_flags"
4922 -
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"
4929
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"
4936
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"
4946
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"
4953
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"
4967
4968 -#: stdio-common/../sysdeps/unix/siglist.c:35
4969 -#: sysdeps/unix/sysv/linux/siglist.h:30
4970 -msgid "Bus error"
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"
4975
4976 -#: nis/nis_print.c:45
4977 -msgid "CDS"
4978 -msgstr "CDS"
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"
4982
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"
4990
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"
4997
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"
5004
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."
5011
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()"
5018
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()"
5025
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()"
5032
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"
5041
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"
5051
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
5056 +#, c-format
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"
5059
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"
5066
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"
5073
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"
5080
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"
5087
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"
5095
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"
5102
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"
5109
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"
5116
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"
5123
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"
5130
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"
5137
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
5142 +msgid "ROOT"
5143 +msgstr "ROOT"
5144
5145 -#: nis/nis_print.c:264
5146 -#, c-format
5147 -msgid "Character Separator : %c\n"
5148 -msgstr "Separador de caracteres \"%c\n"
5149 +#: elf/ldconfig.c:147
5150 +msgid "CACHE"
5151 +msgstr "CACHE"
5152
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"
5160
5161 -#: sunrpc/clnt_perr.c:283
5162 -msgid "Client credential too weak"
5163 -msgstr "Credencial do cliente muito fraca"
5164 +#: elf/ldconfig.c:148
5165 +msgid "CONF"
5166 +msgstr "CONF"
5167
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"
5174
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."
5181
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."
5188
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
5194 +msgid "FORMAT"
5195 +msgstr "FORMATO"
5196
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)"
5203
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"
5210
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."
5219
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
5227 +#, c-format
5228 +msgid "Path `%s' given more than once"
5229 +msgstr "Caminho “%s” fornecido mais de uma vez"
5230
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
5237 +#, c-format
5238 +msgid "%s is not a known library type"
5239 +msgstr "%s não é um tipo de memória conhecida"
5240
5241 -#: stdio-common/../sysdeps/unix/siglist.c:44
5242 -#: sysdeps/unix/sysv/linux/siglist.h:38
5243 -msgid "Continued"
5244 -msgstr "Continua"
5245 +#: elf/ldconfig.c:415
5246 +#, c-format
5247 +msgid "Can't stat %s"
5248 +msgstr "Não foi possível obter estado de %s"
5249
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
5254 +#, c-format
5255 +msgid "Can't stat %s\n"
5256 +msgstr "Não foi possível obter estado de %s\n"
5257
5258 -#: db2/makedb.c:58
5259 -msgid "Convert key to lower case"
5260 -msgstr "Converte chave para letras minúsculas"
5261 +#: elf/ldconfig.c:499
5262 +#, c-format
5263 +msgid "%s is not a symbolic link\n"
5264 +msgstr "%s não é um link simbólico\n"
5265
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
5271 #, c-format
5272 -msgid ""
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"
5276 -msgstr ""
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"
5282
5283 -#: nscd/nscd_conf.c:167
5284 +#: elf/ldconfig.c:524
5285 #, c-format
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"
5290
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 "
5294 +# link alterado
5295 +#: elf/ldconfig.c:530
5296 +msgid " (changed)\n"
5297 +msgstr " (alterado)\n"
5298
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"
5302 +# link ignorado
5303 +#: elf/ldconfig.c:532
5304 +msgid " (SKIPPED)\n"
5305 +msgstr " (IGNORADO)\n"
5306
5307 -#: db2/makedb.c:68
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
5311 +#, c-format
5312 +msgid "Can't find %s"
5313 +msgstr "Não foi possível localizar %s"
5314
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
5318 #, c-format
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"
5323
5324 -#: nis/nss_nisplus/nisplus-publickey.c:89
5325 -#: nis/nss_nisplus/nisplus-publickey.c:159
5326 +#: elf/ldconfig.c:610
5327 #, c-format
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."
5332
5333 -#: nis/nis_print.c:111
5334 -msgid "DIRECTORY\n"
5335 -msgstr "DIRETÓRIO\n"
5336 +#: elf/ldconfig.c:619
5337 +#, c-format
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"
5340
5341 -#: nis/nis_print.c:41
5342 -msgid "DNANS"
5343 -msgstr "DNANS"
5344 +#: elf/ldconfig.c:702
5345 +#, c-format
5346 +msgid "Can't open directory %s"
5347 +msgstr "Não foi possível abrir o diretório %s"
5348
5349 -#: nis/nis_print.c:37
5350 -msgid "DNS"
5351 -msgstr "DNS"
5352 +#: elf/ldconfig.c:787 elf/ldconfig.c:845 elf/readlib.c:97
5353 +#, c-format
5354 +msgid "Input file %s not found.\n"
5355 +msgstr "Arquivo de entrada %s não foi localizado.\n"
5356
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
5361 +#, c-format
5362 +msgid "Cannot stat %s"
5363 +msgstr "Não foi possível obter estado do arquivo %s"
5364
5365 -#: nis/ypclnt.c:795
5366 -msgid "Database is busy"
5367 -msgstr "Base de dados está ocupada"
5368 +#: elf/ldconfig.c:939
5369 +#, c-format
5370 +msgid "libc5 library %s in wrong directory"
5371 +msgstr "biblioteca libc5 %s em diretório errado"
5372
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
5377 +#, c-format
5378 +msgid "libc6 library %s in wrong directory"
5379 +msgstr "biblioteca libc6 %s em diretório errado"
5380
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
5388 +#, c-format
5389 +msgid "libc4 library %s in wrong directory"
5390 +msgstr "biblioteca libc4 %s em diretório errado"
5391
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
5396 +#, c-format
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."
5399
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
5404 -#. TRANS computer.
5405 -#: stdio-common/../sysdeps/gnu/errlist.c:61
5406 -msgid "Device not configured"
5407 -msgstr "Dispositivo não configurado"
5408 +#: elf/ldconfig.c:1082
5409 +#, c-format
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"
5412
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
5420 +#, c-format
5421 +msgid "%s:%u: bad syntax in hwcap line"
5422 +msgstr "%s:%u: sintaxe incorreta na linha hwcap"
5423
5424 -#: nis/nis_print.c:179
5425 +#: elf/ldconfig.c:1154
5426 #, c-format
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"
5431
5432 -#: nis/nis_print.c:315
5433 +#: elf/ldconfig.c:1161 elf/ldconfig.c:1169
5434 #, c-format
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"
5439
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
5446 +#, c-format
5447 +msgid "%s:%u: duplicate hwcap %lu %s"
5448 +msgstr "%s:%u: hwcap %lu duplicado %s"
5449
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
5455 +#, c-format
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"
5458
5459 -#: nscd/nscd.c:80
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
5464 +#, c-format
5465 +msgid "memory exhausted"
5466 +msgstr "memória esgotada"
5467
5468 -#: db2/makedb.c:61
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
5472 +#, c-format
5473 +msgid "%s:%u: cannot read directory %s"
5474 +msgstr "%s:%u: não foi possível ler diretório %s"
5475
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
5480 +#, c-format
5481 +msgid "relative path `%s' used to build cache"
5482 +msgstr "caminho relativo “%s” usado para compilar o cache"
5483
5484 -#: nis/ypclnt.c:841
5485 -msgid "Domain not bound"
5486 -msgstr "Domínio não limitado (not bound)"
5487 +#: elf/ldconfig.c:1311
5488 +#, c-format
5489 +msgid "Can't chdir to /"
5490 +msgstr "Não foi possível mudar o diretório para /"
5491
5492 -#: stdio-common/../sysdeps/unix/siglist.c:32
5493 -#: sysdeps/unix/sysv/linux/siglist.h:53
5494 -msgid "EMT trap"
5495 -msgstr "trap EMT"
5496 +#: elf/ldconfig.c:1352
5497 +#, c-format
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"
5500
5501 -#: nis/nis_print.c:120
5502 -msgid "ENTRY\n"
5503 -msgstr "ENTRADA\n"
5504 +#: elf/ldd.bash.in:42
5505 +msgid "Written by %s and %s.\n"
5506 +msgstr "Escrito por %s e %s.\n"
5507
5508 -#: nis/nis_print.c:299
5509 -msgid "Encrypted data\n"
5510 -msgstr "Dado criptografado\n"
5511 +#: elf/ldd.bash.in:47
5512 +msgid ""
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"
5520 +msgstr ""
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"
5528 +
5529 +#: elf/ldd.bash.in:80
5530 +msgid "ldd: option \\`$1' is ambiguous"
5531 +msgstr "ldd: opção “$1” é ambígua"
5532 +
5533 +#: elf/ldd.bash.in:87
5534 +msgid "unrecognized option"
5535 +msgstr "opção não reconhecida"
5536 +
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."
5540 +
5541 +#: elf/ldd.bash.in:124
5542 +msgid "missing file arguments"
5543 +msgstr "faltando argumento ARQUIVO"
5544 +
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"
5551
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"
5558
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"
5566
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"
5573
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"
5581
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"
5589
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
5594 +#, c-format
5595 +msgid "cannot find program header of process"
5596 +msgstr "não foi possível localizar cabeçalho do programa do processo"
5597
5598 -#: stdio-common/../sysdeps/gnu/errlist.c:710
5599 -msgid "Exchange full"
5600 -msgstr "Troca completa"
5601 +#: elf/pldd-xx.c:110
5602 +#, c-format
5603 +msgid "cannot read program header"
5604 +msgstr "não foi possível ler o cabeçalho do programa"
5605
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
5612 +#, c-format
5613 +msgid "cannot read dynamic section"
5614 +msgstr "não foi possível ler a seção dinâmica"
5615
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
5620 +#, c-format
5621 +msgid "cannot read r_debug"
5622 +msgstr "não foi possível ler r_debug"
5623
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
5628 +#, c-format
5629 +msgid "cannot read program interpreter"
5630 +msgstr "não foi possível ler o interpretador de programa"
5631
5632 -#: sunrpc/clnt_perr.c:287
5633 -msgid "Failed (unspecified error)"
5634 -msgstr "Falha (erro não especificado)"
5635 +#: elf/pldd-xx.c:197
5636 +#, c-format
5637 +msgid "cannot read link map"
5638 +msgstr "não foi possível ler o mapa de links"
5639
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
5644 +#, c-format
5645 +msgid "cannot read object name"
5646 +msgstr "não foi possível ler o nome do objeto"
5647
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
5654 +#, c-format
5655 +msgid "cannot allocate buffer for object name"
5656 +msgstr "não foi possível alocar buffer para o nome de objeto"
5657
5658 -#: stdio-common/../sysdeps/gnu/errlist.c:726
5659 -msgid "File locking deadlock error"
5660 -msgstr "Erro de bloqueio em arquivo (deadlock)"
5661 +#: elf/pldd.c:64
5662 +msgid "List dynamic shared objects loaded into process."
5663 +msgstr "Lista objetos compartilhados dinâmicos carregados no processo."
5664
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"
5671 +#: elf/pldd.c:68
5672 +msgid "PID"
5673 +msgstr "PID"
5674
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"
5679 +#: elf/pldd.c:100
5680 +#, c-format
5681 +msgid "Exactly one parameter with process ID required.\n"
5682 +msgstr "É necessário exatamente um parâmetro com ID de processo.\n"
5683
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"
5688 +#: elf/pldd.c:112
5689 +#, c-format
5690 +msgid "invalid process ID '%s'"
5691 +msgstr "ID de processo inválido “%s”"
5692
5693 -#: nis/nis_error.c:37
5694 -msgid "First/Next chain broken"
5695 -msgstr "Primeira/próxima corrente quebrada"
5696 +#: elf/pldd.c:120
5697 +#, c-format
5698 +msgid "cannot open %s"
5699 +msgstr "não foi possível abrir %s"
5700
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"
5705 +#: elf/pldd.c:152
5706 +#, c-format
5707 +msgid "cannot open %s/task"
5708 +msgstr "não foi possível abrir %s/tarefa"
5709
5710 -#: nis/nis_error.c:67
5711 -msgid "Full resync required for directory"
5712 -msgstr "Resincronismo total necessário para o diretório"
5713 +#: elf/pldd.c:155
5714 +#, c-format
5715 +msgid "cannot prepare reading %s/task"
5716 +msgstr "não foi possível preparar a leitura de %s/tarefa"
5717
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"
5724 +#: elf/pldd.c:168
5725 +#, c-format
5726 +msgid "invalid thread ID '%s'"
5727 +msgstr "ID de thread “%s” inválido"
5728
5729 -#: nis/nis_print.c:114
5730 -msgid "GROUP\n"
5731 -msgstr "GRUPO\n"
5732 +#: elf/pldd.c:179
5733 +#, c-format
5734 +msgid "cannot attach to process %lu"
5735 +msgstr "não foi possível anexar ao processado %lu"
5736
5737 -#: argp/argp-help.c:231
5738 +#: elf/pldd.c:294
5739 #, c-format
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"
5744
5745 -#: catgets/gencat.c:115
5746 -msgid ""
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"
5749 -msgstr ""
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"
5752 +#: elf/pldd.c:307
5753 +#, c-format
5754 +msgid "process %lu is no ELF program"
5755 +msgstr "processo %lu não é um programa ELF"
5756
5757 -#: nis/nis_error.c:36
5758 -msgid "Generic system error"
5759 -msgstr "Erro desconhecido de sistema"
5760 +#: elf/readelflib.c:34
5761 +#, c-format
5762 +msgid "file %s is truncated\n"
5763 +msgstr "arquivo %s está truncado\n"
5764
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
5769 +#, c-format
5770 +msgid "%s is a 32 bit ELF file.\n"
5771 +msgstr "%s é um arquivo ELF de 32 bits.\n"
5772
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
5777 +#, c-format
5778 +msgid "%s is a 64 bit ELF file.\n"
5779 +msgstr "%s é um arquivo ELF de 64 bits.\n"
5780
5781 -#: argp/argp-parse.c:87
5782 -msgid "Give this help list"
5783 -msgstr "Retorna este arquivo de ajuda"
5784 +#: elf/readelflib.c:70
5785 +#, c-format
5786 +msgid "Unknown ELFCLASS in file %s.\n"
5787 +msgstr "ELFCLASS desconhecida em arquivo %s.\n"
5788
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
5794 +#, c-format
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"
5797
5798 -#: nis/nis_print.c:317
5799 +#: elf/readelflib.c:108
5800 #, c-format
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"
5805
5806 -#: nis/nis_print.c:248
5807 -msgid "Group Flags :"
5808 -msgstr "Indicadores de Grupo :"
5809 +#: elf/readlib.c:103
5810 +#, c-format
5811 +msgid "Cannot fstat file %s.\n"
5812 +msgstr "Não é possível obter estado do arquivo %s.\n"
5813
5814 -#: nis/nis_print_group_entry.c:113
5815 +#: elf/readlib.c:114
5816 #, c-format
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."
5821
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
5826 +#, c-format
5827 +msgid "File %s is too small, not checked."
5828 +msgstr "Arquivo %s é pequeno demais, não verificado."
5829
5830 -#: stdio-common/../sysdeps/unix/siglist.c:26
5831 -#: sysdeps/unix/sysv/linux/siglist.h:22
5832 -msgid "Hangup"
5833 -msgstr "Desconexão"
5834 +#: elf/readlib.c:130
5835 +#, c-format
5836 +msgid "Cannot mmap file %s.\n"
5837 +msgstr "Não foi possível executar mmap no arquivo %s.\n"
5838
5839 -#: nscd/grpcache.c:238
5840 +#: elf/readlib.c:169
5841 #, c-format
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"
5846
5847 -#: nscd/pwdcache.c:235
5848 +#: elf/sln.c:76
5849 #, c-format
5850 -msgid "Haven't found \"%d\" in password cache!"
5851 -msgstr "Não encontrado \"%d\" no cache de senhas!"
5852 +msgid ""
5853 +"Usage: sln src dest|file\n"
5854 +"\n"
5855 +msgstr ""
5856 +"Uso: sln fonte destino|arquivo\n"
5857 +"\n"
5858
5859 -#: nscd/grpcache.c:210
5860 +#: elf/sln.c:97
5861 #, c-format
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"
5866
5867 -#: nscd/hstcache.c:297 nscd/hstcache.c:328 nscd/hstcache.c:359
5868 -#: nscd/hstcache.c:390
5869 +#: elf/sln.c:134
5870 #, c-format
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"
5875
5876 -#: nscd/pwdcache.c:207
5877 +#: elf/sln.c:164
5878 #, c-format
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"
5883
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"
5888 +#: elf/sln.c:170
5889 +#, c-format
5890 +msgid "%s: failed to remove the old destination\n"
5891 +msgstr "%s: falha ao remover o destino antigo\n"
5892
5893 -#: resolv/herror.c:75
5894 -msgid "Host name lookup failure"
5895 -msgstr "Falha na procura do nome de host"
5896 +#: elf/sln.c:178
5897 +#, c-format
5898 +msgid "%s: invalid destination: %s\n"
5899 +msgstr "%s: destino inválido: %s\n"
5900
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
5906 +#, c-format
5907 +msgid "Invalid link from \"%s\" to \"%s\": %s\n"
5908 +msgstr "Link inválido de “%s” para “%s”: %s\n"
5909
5910 -#: db2/makedb.c:71
5911 +#: elf/sotruss.sh:32
5912 +#, sh-format
5913 msgid ""
5914 -"INPUT-FILE OUTPUT-FILE\n"
5915 -"-o OUTPUT-FILE INPUT-FILE\n"
5916 -"-u INPUT-FILE"
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"
5920 +"\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"
5925 +"\n"
5926 +" -?, --help Give this help list\n"
5927 +" --usage Give a short usage message\n"
5928 +" --version Print program version"
5929 msgstr ""
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"
5936 +"\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"
5941 +"\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"
5945
5946 -#: stdio-common/../sysdeps/unix/siglist.c:31
5947 -msgid "IOT trap"
5948 -msgstr "trap IOT"
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"
5953
5954 -#: nis/nis_print.c:35
5955 -msgid "IVY"
5956 -msgstr "IVY"
5957 +#: elf/sotruss.sh:55
5958 +msgid "%s: option requires an argument -- '%s'\\n"
5959 +msgstr "%s: opção requer um argumento -- “%s”\\n"
5960
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:"
5967
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"
5975
5976 -#: nis/nis_error.c:61
5977 -msgid "Illegal object type for operation"
5978 -msgstr "Tipo ilegal de objeto para a operação"
5979 -
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
5985 +msgid ""
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"
5990 +msgstr ""
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"
5995
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.
5998 -#. TRANS
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"
6007
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"
6013 +#: elf/sprof.c:77
6014 +msgid "Output selection:"
6015 +msgstr "Seleção de saída:"
6016
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"
6026 +#: elf/sprof.c:79
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"
6029
6030 -#: sysdeps/unix/sysv/linux/siglist.h:62
6031 -msgid "Information request"
6032 -msgstr "Requesição de informação"
6033 +#: elf/sprof.c:81
6034 +msgid "generate flat profile with counts and ticks"
6035 +msgstr "gera perfil com contadores e “ticks”"
6036
6037 -#: iconv/iconv_prog.c:57
6038 -msgid "Information:"
6039 -msgstr "Informação:"
6040 +#: elf/sprof.c:82
6041 +msgid "generate call graph"
6042 +msgstr "gera gráfico de chamadas"
6043
6044 -#: locale/programs/localedef.c:94
6045 -msgid "Input Files:"
6046 -msgstr "Arquivos de entrada:"
6047 +#: elf/sprof.c:89
6048 +msgid "Read and display shared object profiling data."
6049 +msgstr "Lê e mostra dados de perfil do objeto compartilhado."
6050
6051 -#: iconv/iconv_prog.c:54
6052 -msgid "Input/Output format specification:"
6053 -msgstr "Especificação de formato de Entrada/Saída:"
6054 +#: elf/sprof.c:94
6055 +msgid "SHOBJ [PROFDATA]"
6056 +msgstr "SHOBJ [DADOSPERFIL]"
6057
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"
6062 +#: elf/sprof.c:433
6063 +#, c-format
6064 +msgid "failed to load shared object `%s'"
6065 +msgstr "falha no carregamento do objeto compartilhado “%s”"
6066
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
6071 +#, c-format
6072 +msgid "cannot create internal descriptor"
6073 +msgstr "não é possível criar descritor interno"
6074
6075 -#: nis/ypclnt.c:839
6076 -msgid "Internal ypbind error"
6077 -msgstr "Erro interno de ypbind"
6078 +#: elf/sprof.c:554
6079 +#, c-format
6080 +msgid "Reopening shared object `%s' failed"
6081 +msgstr "Reabertura de objeto compartilhado “%s” falhou"
6082
6083 -#: stdio-common/../sysdeps/unix/siglist.c:27
6084 -#: sysdeps/unix/sysv/linux/siglist.h:23
6085 -msgid "Interrupt"
6086 -msgstr "Interrupção"
6087 +#: elf/sprof.c:561 elf/sprof.c:656
6088 +#, c-format
6089 +msgid "reading of section headers failed"
6090 +msgstr "a leitura de cabeçalhos de seção falhou"
6091
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
6094 -#. TRANS again.
6095 -#. TRANS
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
6103 +#, c-format
6104 +msgid "reading of section header string table failed"
6105 +msgstr "a leitura da tabela de string do cabeçalho da seção falhou"
6106
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"
6110 +#: elf/sprof.c:595
6111 +#, c-format
6112 +msgid "*** Cannot read debuginfo file name: %m\n"
6113 +msgstr "*** Não foi possível ler o arquivo de debuginfo: %m\n"
6114
6115 -#: nis/nis_error.c:44
6116 -msgid "Invalid Object for operation"
6117 -msgstr "Objeto inválido para operação"
6118 +#: elf/sprof.c:616
6119 +#, c-format
6120 +msgid "cannot determine file name"
6121 +msgstr "não foi possível determinar o nome do arquivo"
6122
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"
6128 +#: elf/sprof.c:649
6129 +#, c-format
6130 +msgid "reading of ELF header failed"
6131 +msgstr "a leitura de cabeçalho de ELF falhou"
6132
6133 -#: posix/regex.c:1018
6134 -msgid "Invalid back reference"
6135 -msgstr "Referência anterior inválida"
6136 +#: elf/sprof.c:685
6137 +#, c-format
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"
6140
6141 -#: posix/regex.c:1016
6142 -msgid "Invalid character class name"
6143 -msgstr "Nome de classe de caracter inválido"
6144 +#: elf/sprof.c:715
6145 +#, c-format
6146 +msgid "failed to load symbol data"
6147 +msgstr "falha ao carregar dados de símbolos"
6148
6149 -#: sunrpc/clnt_perr.c:275
6150 -msgid "Invalid client credential"
6151 -msgstr "Credencial de cliente inválido"
6152 +#: elf/sprof.c:780
6153 +#, c-format
6154 +msgid "cannot load profiling data"
6155 +msgstr "impossível carregar dados de perfil"
6156
6157 -#: sunrpc/clnt_perr.c:279
6158 -msgid "Invalid client verifier"
6159 -msgstr "Verificador de cliente inválido"
6160 +#: elf/sprof.c:789
6161 +#, c-format
6162 +msgid "while stat'ing profiling data file"
6163 +msgstr "enquanto obtinha estado do arquivo de dados de perfil"
6164
6165 -#: posix/regex.c:1015
6166 -msgid "Invalid collation character"
6167 -msgstr "Caracter de comparação inválido"
6168 +#: elf/sprof.c:797
6169 +#, c-format
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”"
6172
6173 -#: posix/regex.c:1022
6174 -msgid "Invalid content of \\{\\}"
6175 -msgstr "Conteúdo inválido de \\{\\}"
6176 +#: elf/sprof.c:808
6177 +#, c-format
6178 +msgid "failed to mmap the profiling data file"
6179 +msgstr "falha para mapear (mmap) o arquivo de dados de perfil"
6180
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"
6187 +#: elf/sprof.c:816
6188 +#, c-format
6189 +msgid "error while closing the profiling data file"
6190 +msgstr "erro ao fechar arquivo de dados de perfil"
6191
6192 -#: stdio-common/../sysdeps/gnu/errlist.c:702
6193 -msgid "Invalid exchange"
6194 -msgstr "Troca inválida"
6195 +#: elf/sprof.c:899
6196 +#, c-format
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”"
6199
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
6206 +#, c-format
6207 +msgid "cannot allocate symbol data"
6208 +msgstr "não foi possível alocar dados de símbolos"
6209
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
6214 +#, c-format
6215 +msgid "cannot open output file"
6216 +msgstr "não foi possível abrir arquivo de saída"
6217
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
6222 +#, c-format
6223 +msgid "error while closing input `%s'"
6224 +msgstr "erro ao fechar a entrada “%s”"
6225
6226 -#: posix/regex.c:1014
6227 -msgid "Invalid regular expression"
6228 -msgstr "Expressão regular inválida"
6229 +#: iconv/iconv_charmap.c:435
6230 +#, c-format
6231 +msgid "illegal input sequence at position %Zd"
6232 +msgstr "sequência de entrada ilegal na posição %Zd"
6233
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
6238 +#, c-format
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"
6241
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
6247 +#, c-format
6248 +msgid "error while reading the input"
6249 +msgstr "erro ao ler a entrada"
6250
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
6255 +#, c-format
6256 +msgid "unable to allocate buffer for input"
6257 +msgstr "não foi possível alocar espaço para entrada"
6258
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:"
6265
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"
6274
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"
6281
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:"
6288
6289 -#: stdio-common/../sysdeps/unix/siglist.c:34
6290 -#: sysdeps/unix/sysv/linux/siglist.h:29
6291 -msgid "Killed"
6292 -msgstr "Morto"
6293 +#: iconv/iconv_prog.c:63
6294 +msgid "list all known coded character sets"
6295 +msgstr "lista todas as coleções de caracteres codificados"
6296
6297 -#: nis/nis_print.c:123
6298 -msgid "LINK\n"
6299 -msgstr "LINK\n"
6300 +#: iconv/iconv_prog.c:64 locale/programs/localedef.c:120
6301 +msgid "Output control:"
6302 +msgstr "Controle de saída:"
6303
6304 -#: nis/nis_local_names.c:125
6305 -#, c-format
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"
6311
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
6319 +msgid "FILE"
6320 +msgstr "ARQUIVO"
6321
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"
6328
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"
6335
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"
6342
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."
6349
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
6354 +msgid "[FILE...]"
6355 +msgstr "[ARQUIVO...]"
6356
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
6361 +#, c-format
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”"
6364
6365 -#: nis/nis_print.c:282
6366 -msgid "Linked Object Type : "
6367 -msgstr "Tipo de Objeto Vinculado (linked) : "
6368 +#: iconv/iconv_prog.c:235
6369 +#, c-format
6370 +msgid "conversion from `%s' is not supported"
6371 +msgstr "não há suporte para a conversão de “%s”"
6372
6373 -#: nis/nis_print.c:284
6374 +#: iconv/iconv_prog.c:242
6375 #, c-format
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”"
6380
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
6385 +#, c-format
6386 +msgid "conversion from `%s' to `%s' is not supported"
6387 +msgstr "não há suporte para a conversão de “%s” para “%s”"
6388
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
6393 +#, c-format
6394 +msgid "failed to start conversion processing"
6395 +msgstr "falha ao iniciar o processo de conversão"
6396
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
6401 +#, c-format
6402 +msgid "error while closing output file"
6403 +msgstr "erro ao fechar o arquivo de saída"
6404
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
6409 +#, c-format
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"
6412
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
6417 +#, c-format
6418 +msgid "illegal input sequence at position %ld"
6419 +msgstr "sequência de entrada ilegal na posição %ld"
6420
6421 -#: nis/nis_print.c:168
6422 -msgid "Master Server :\n"
6423 -msgstr "Servidor Mestre :\n"
6424 +#: iconv/iconv_prog.c:540
6425 +#, c-format
6426 +msgid "internal error (illegal descriptor)"
6427 +msgstr "erro interno (descritor ilegal)"
6428
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
6433 +#, c-format
6434 +msgid "unknown iconv() error %d"
6435 +msgstr "erro iconv() desconhecido: %d"
6436
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
6441 +msgid ""
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"
6446 +"\n"
6447 +" "
6448 +msgstr ""
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"
6453 +"\n"
6454 +" "
6455
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."
6462
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
6469 +msgid "[DIR...]"
6470 +msgstr "[DIR...]"
6471
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
6476 +msgid "PATH"
6477 +msgstr "CAMINHO"
6478
6479 -#: nis/nis_print.c:323
6480 -#, c-format
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"
6486
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)"
6493
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"
6500
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
6505 +#, c-format
6506 +msgid "Directory arguments required when using --nostdlib"
6507 +msgstr "Argumentos de diretório são necessários ao usar --nostdlib"
6508
6509 -#: stdio-common/../sysdeps/gnu/errlist.c:630
6510 -msgid "Multihop attempted"
6511 -msgstr "Tentativa de Multihop"
6512 +#: iconv/iconvconfig.c:341
6513 +#, c-format
6514 +msgid "no output file produced because warnings were issued"
6515 +msgstr "nenhum arquivo de saída foi produzido porque avisos foram emitidos"
6516
6517 -#: catgets/gencat.c:106 catgets/gencat.c:110 db2/makedb.c:59
6518 -#: locale/programs/localedef.c:115 nscd/nscd.c:77
6519 -msgid "NAME"
6520 -msgstr "NOME"
6521 +#: iconv/iconvconfig.c:430
6522 +#, c-format
6523 +msgid "while inserting in search tree"
6524 +msgstr "erro ao inserir na área de pesquisa"
6525
6526 -#: locale/programs/locale.c:78
6527 -msgid ""
6528 -"NAME\n"
6529 -"[-a|-m]"
6530 -msgstr ""
6531 -"NOME\n"
6532 -"[-a|-m]"
6533 +#: iconv/iconvconfig.c:1238
6534 +#, c-format
6535 +msgid "cannot generate output file"
6536 +msgstr "não foi possível gerar o arquivo de saída"
6537
6538 -#: nis/nis_print.c:31
6539 -msgid "NIS"
6540 -msgstr "NIS"
6541 +#: inet/rcmd.c:157
6542 +msgid "rcmd: Cannot allocate memory\n"
6543 +msgstr "rcmd: Não foi possível alocar memória\n"
6544
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"
6548 +#: inet/rcmd.c:174
6549 +msgid "rcmd: socket: All ports in use\n"
6550 +msgstr "rcmd: socket: Todas as portas em uso\n"
6551
6552 -#: nis/ypclnt.c:789
6553 -msgid "NIS map database is bad"
6554 -msgstr "Base de dados de mapas NIS está ruim"
6555 +#: inet/rcmd.c:202
6556 +#, c-format
6557 +msgid "connect to address %s: "
6558 +msgstr "conectar ao endereço %s: "
6559
6560 -#: nis/nis_error.c:68
6561 -msgid "NIS+ operation failed"
6562 -msgstr "Operação NIS+ falhou"
6563 +#: inet/rcmd.c:215
6564 +#, c-format
6565 +msgid "Trying %s...\n"
6566 +msgstr "Tentando %s...\n"
6567
6568 -#: nis/nis_error.c:33
6569 -msgid "NIS+ servers unreachable"
6570 -msgstr "Servidores NIS+ fora do alcance"
6571 +#: inet/rcmd.c:251
6572 +#, c-format
6573 +msgid "rcmd: write (setting up stderr): %m\n"
6574 +msgstr "rcmd: write (configurando stderr): %m\n"
6575
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"
6579 +#: inet/rcmd.c:267
6580 +#, c-format
6581 +msgid "rcmd: poll (setting up stderr): %m\n"
6582 +msgstr "rcmd: poll (configurando stderr): %m\n"
6583
6584 -#: nis/nis_print.c:108
6585 -msgid "NO OBJECT\n"
6586 -msgstr "SEM OBJETO\n"
6587 +#: inet/rcmd.c:270
6588 +msgid "poll: protocol failure in circuit setup\n"
6589 +msgstr "poll: falha de protocolo na configuração do circuito\n"
6590
6591 -#: nscd/nscd.c:81
6592 -msgid "NUMBER"
6593 -msgstr "NÚMERO"
6594 +#: inet/rcmd.c:302
6595 +msgid "socket: protocol failure in circuit setup\n"
6596 +msgstr "socket: falha de protocolo na configuração do circuito\n"
6597
6598 -#: nis/nis_print.c:162
6599 +#: inet/rcmd.c:326
6600 #, c-format
6601 -msgid "Name : '%s'\n"
6602 -msgstr "Nome : `%s'\n"
6603 +msgid "rcmd: %s: short read"
6604 +msgstr "rcmd: %s: leitura insuficiente"
6605
6606 -#: nscd/nscd.c:88
6607 -msgid "Name Service Cache Daemon."
6608 -msgstr "Servidor de Cache de Nomes."
6609 +#: inet/rcmd.c:478
6610 +msgid "lstat failed"
6611 +msgstr "lstat falhou"
6612
6613 -#: nis/nis_error.c:40
6614 -msgid "Name not served by this server"
6615 -msgstr "Nome não servidor por este servidor"
6616 +#: inet/rcmd.c:485
6617 +msgid "cannot open"
6618 +msgstr "não foi possível abrir"
6619
6620 -#: stdio-common/../sysdeps/gnu/errlist.c:758
6621 -msgid "Name not unique on network"
6622 -msgstr "O nome não é único na rede"
6623 +#: inet/rcmd.c:487
6624 +msgid "fstat failed"
6625 +msgstr "fstat falhou"
6626
6627 -#: posix/../sysdeps/posix/gai_strerror.c:37
6628 -msgid "Name or service not known"
6629 -msgstr "Nome ou serviço desconhecido"
6630 +#: inet/rcmd.c:489
6631 +msgid "bad owner"
6632 +msgstr "dono inválido"
6633
6634 -#: nis/nis_error.c:49
6635 -msgid "Name/entry isn't unique"
6636 -msgstr "Nome/entrada não é único"
6637 +#: inet/rcmd.c:491
6638 +msgid "writeable by other than owner"
6639 +msgstr "permissão de escrita para outros"
6640
6641 -#: nis/nis_error.c:58
6642 -msgid "Named object is not searchable"
6643 -msgstr "Objeto nomeado não é pesquisável"
6644 +#: inet/rcmd.c:493
6645 +msgid "hard linked somewhere"
6646 +msgstr "link absoluto em algum lugar"
6647
6648 -#. TRANS ???
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"
6655
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."
6663
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."
6671
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
6678 +#, c-format
6679 +msgid "Unknown .netrc keyword %s"
6680 +msgstr "Palavra-chave em .netrc desconhecida %s"
6681
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"
6688
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
6693 +#, c-format
6694 +msgid "cannot read character map directory `%s'"
6695 +msgstr "não é possível ler diretório de mapa de caracteres “%s”"
6696
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
6701 +#, c-format
6702 +msgid "character map file `%s' not found"
6703 +msgstr "arquivo de mapa de caracteres “%s” não foi localizado"
6704
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
6709 +#, c-format
6710 +msgid "default character map file `%s' not found"
6711 +msgstr "arquivo padrão de mapa de caracteres “%s” não localizado"
6712
6713 -#: stdio-common/../sysdeps/gnu/errlist.c:714
6714 -msgid "No anode"
6715 -msgstr "Sem anode"
6716 +#: locale/programs/charmap.c:265
6717 +#, c-format
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]"
6720
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
6728 +#, c-format
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"
6731
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
6740 +#, c-format
6741 +msgid "syntax error in prolog: %s"
6742 +msgstr "erro de sintaxe em prolog: %s"
6743
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"
6750
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"
6758
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
6767 +#, c-format
6768 +msgid "duplicate definition of <%s>"
6769 +msgstr "definição duplicada de <%s>"
6770
6771 -#: posix/regex.c:1013
6772 -msgid "No match"
6773 -msgstr "Não confere"
6774 +#: locale/programs/charmap.c:415
6775 +#, c-format
6776 +msgid "value for <%s> must be 1 or greater"
6777 +msgstr "o valor para <%s> deve ser 1 ou maior"
6778
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
6783 +#, c-format
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>"
6786
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
6791 +#, c-format
6792 +msgid "argument to <%s> must be a single character"
6793 +msgstr "o argumento para <%s> deve ser um caractere simples"
6794
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"
6801
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
6809 +#, c-format
6810 +msgid "syntax error in %s definition: %s"
6811 +msgstr "erro de sintaxe na definição %s: %s"
6812
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"
6820
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"
6828
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"
6837
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"
6846
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"
6857 +
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
6867 +#, c-format
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”"
6870 +
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"
6874
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
6879 +#, c-format
6880 +msgid "value for %s must be an integer"
6881 +msgstr "o valor para %s deve ser um inteiro"
6882
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
6887 +#, c-format
6888 +msgid "%s: error in state machine"
6889 +msgstr "%s: erro na máquina de estados"
6890 +
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
6900 +#, c-format
6901 +msgid "%s: premature end of file"
6902 +msgstr "%s: fim de arquivo prematuro"
6903
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
6909 +#, c-format
6910 +msgid "unknown character `%s'"
6911 +msgstr "caractere desconhecido “%s”"
6912 +
6913 +#: locale/programs/charmap.c:893
6914 +#, c-format
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"
6917 +
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"
6922 +
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"
6926 +
6927 +#: locale/programs/charmap.c:1028 locale/programs/repertoire.c:448
6928 +#, c-format
6929 +msgid "<%s> and <%s> are invalid names for range"
6930 +msgstr "<%s> e <%s> são nomes inválidos para o intervalo"
6931 +
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"
6935 +
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."
6939 +
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
6946 +#, c-format
6947 +msgid "No definition for %s category found"
6948 +msgstr "Nenhuma definição para a categoria %s localizada"
6949 +
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
6962 +#, c-format
6963 +msgid "%s: field `%s' not defined"
6964 +msgstr "%s: campo “%s” não definido"
6965
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
6972 +#, c-format
6973 +msgid "%s: field `%s' must not be empty"
6974 +msgstr "%s: campo “%s” não pode estar vazio"
6975
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
6980 +#, c-format
6981 +msgid "%s: invalid escape `%%%c' sequence in field `%s'"
6982 +msgstr "%s: sequência de escape “%%%c” inválida no campo “%s”"
6983
6984 -#: nis/nis_print.c:176
6985 -msgid "None.\n"
6986 -msgstr "nenhum.\n"
6987 +#: locale/programs/ld-address.c:218
6988 +#, c-format
6989 +msgid "%s: terminology language code `%s' not defined"
6990 +msgstr "%s: código de idioma de terminologia “%s” não definido"
6991
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
6996 +#, c-format
6997 +msgid "%s: field `%s' must not be defined"
6998 +msgstr "%s: campo “%s” não pode estar definido"
6999
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
7004 +#, c-format
7005 +msgid "%s: language abbreviation `%s' not defined"
7006 +msgstr "%s: abreviação de idioma “%s” não definida"
7007
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
7014 +#, c-format
7015 +msgid "%s: `%s' value does not match `%s' value"
7016 +msgstr "%s: o valor “%s” não corresponde ao valor “%s”"
7017
7018 -#: nis/nis_error.c:30
7019 -msgid "Not found"
7020 -msgstr "Não encontrado"
7021 +#: locale/programs/ld-address.c:311
7022 +#, c-format
7023 +msgid "%s: numeric country code `%d' not valid"
7024 +msgstr "%s: código numérico do país “%d” não válido"
7025
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
7038 +#, c-format
7039 +msgid "%s: field `%s' declared more than once"
7040 +msgstr "%s: campo “%s” declarado mais de uma vez"
7041
7042 -#: nis/nis_error.c:39
7043 -msgid "Not owner"
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
7051 +#, c-format
7052 +msgid "%s: unknown character in field `%s'"
7053 +msgstr "%s: caractere desconhecido no campo “%s”"
7054
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
7062 #, c-format
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"
7067
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
7080 #, c-format
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"
7085
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
7092 +#, c-format
7093 +msgid "`%.*s' already defined in charmap"
7094 +msgstr "“%.*s” já definido no mapa de caracteres"
7095
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
7102 +#, c-format
7103 +msgid "`%.*s' already defined in repertoire"
7104 +msgstr "“%.*s” já definido no repertório"
7105
7106 -#: nis/nis_print.c:362
7107 +#: locale/programs/ld-collate.c:441
7108 #, c-format
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"
7113
7114 -#: nis/nis_print.c:314
7115 +#: locale/programs/ld-collate.c:448
7116 #, c-format
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"
7121
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
7126 +#, c-format
7127 +msgid "%s: `forward' and `backward' are mutually excluding each other"
7128 +msgstr "%s: “forward” e “backward” são mutuamente exclusivas entre si"
7129
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
7139 +#, c-format
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"
7142
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
7147 +#, c-format
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"
7150
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
7155 +#, c-format
7156 +msgid "%s: not enough sorting rules"
7157 +msgstr "%s: número insuficiente de regras de ordenação"
7158
7159 -#: nscd/nscd.c:185
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
7163 +#, c-format
7164 +msgid "%s: empty weight string not allowed"
7165 +msgstr "%s: texto de peso vazio não permitida"
7166
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
7173 +#, c-format
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"
7176
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
7183 +#, c-format
7184 +msgid "%s: too many values"
7185 +msgstr "%s: número excessivo de valores"
7186
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
7197 +#, c-format
7198 +msgid "order for `%.*s' already defined at %s:%Zu"
7199 +msgstr "ordem para “%.*s” já definida em %s:%Zu"
7200
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
7213 +#, c-format
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"
7216
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.
7219 -#. TRANS
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
7226 +#, c-format
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"
7229
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
7234 +#, c-format
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"
7237
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
7242 +#, c-format
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”"
7245
7246 -#: elf/sprof.c:76
7247 -msgid "Output selection:"
7248 -msgstr "Seleção de Saída:"
7249 +#: locale/programs/ld-collate.c:1307
7250 +#, c-format
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”"
7253
7254 -#: nis/nis_print.c:316
7255 +#: locale/programs/ld-collate.c:1327 locale/programs/ld-ctype.c:1363
7256 #, c-format
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"
7261
7262 -#: nis/nis_print.c:126
7263 -msgid "PRIVATE\n"
7264 -msgstr "PRIVADO\n"
7265 +#: locale/programs/ld-collate.c:1377 locale/programs/ld-collate.c:3708
7266 +#, c-format
7267 +msgid "%s: order for `%.*s' already defined at %s:%Zu"
7268 +msgstr "%s: ordem para “%.*s” já definida em %s:%Zu"
7269
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
7274 +#, c-format
7275 +msgid "%s: `%s' must be a character"
7276 +msgstr "%s: “%s” deve ser um caractere"
7277
7278 -#: nscd/nscd_conf.c:84
7279 +#: locale/programs/ld-collate.c:1580
7280 #, c-format
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"
7285
7286 -#: nis/nis_error.c:54
7287 -msgid "Partial Success"
7288 -msgstr "Sucesso Parcial"
7289 +#: locale/programs/ld-collate.c:1604
7290 +#, c-format
7291 +msgid "symbol `%s' not defined"
7292 +msgstr "símbolo “%s” não definido"
7293
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
7298 +#, c-format
7299 +msgid "symbol `%s' has the same encoding as"
7300 +msgstr "o símbolo “%s” possui a mesma codificação que"
7301
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
7308 +#, c-format
7309 +msgid "symbol `%s'"
7310 +msgstr "símbolo “%s”"
7311
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"
7318
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
7323 +#, c-format
7324 +msgid "%s: nested conditionals not supported"
7325 +msgstr "%s: condicionais aninhados sem suporte"
7326
7327 -#: db2/makedb.c:63
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
7331 +#, c-format
7332 +msgid "%s: more than one 'else'"
7333 +msgstr "%s: mais que um “else”"
7334
7335 -#: nscd/nscd.c:83
7336 -msgid "Print current configuration statistic"
7337 -msgstr "Mostra estatística da configuração atual"
7338 +#: locale/programs/ld-collate.c:2701
7339 +#, c-format
7340 +msgid "%s: duplicate definition of `%s'"
7341 +msgstr "%s: definição duplicada de “%s”"
7342
7343 -#: locale/programs/localedef.c:107
7344 -msgid "Print more messages"
7345 -msgstr "Mostra mais mensagens"
7346 +#: locale/programs/ld-collate.c:2737
7347 +#, c-format
7348 +msgid "%s: duplicate declaration of section `%s'"
7349 +msgstr "%s: declaração duplicada da seção “%s”"
7350
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
7355 +#, c-format
7356 +msgid "%s: unknown character in collating symbol name"
7357 +msgstr "%s: caractere desconhecido no nome de símbolo de comparação"
7358
7359 -#: nis/nis_error.c:29
7360 -msgid "Probable success"
7361 -msgstr "Sucesso provável"
7362 +#: locale/programs/ld-collate.c:3002
7363 +#, c-format
7364 +msgid "%s: unknown character in equivalent definition name"
7365 +msgstr "%s: caractere desconhecido no nome de definição equivalente"
7366
7367 -#: nis/nis_error.c:31
7368 -msgid "Probably not found"
7369 -msgstr "Provavelmente não encontrado"
7370 +#: locale/programs/ld-collate.c:3013
7371 +#, c-format
7372 +msgid "%s: unknown character in equivalent definition value"
7373 +msgstr "%s: caractere desconhecido no valor de definição equivalente"
7374
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
7380 +#, c-format
7381 +msgid "%s: unknown symbol `%s' in equivalent definition"
7382 +msgstr "%s: símbolo desconhecido “%s” na definição equivalente"
7383
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"
7390
7391 -#: stdio-common/../sysdeps/gnu/errlist.c:658
7392 -msgid "Protocol error"
7393 -msgstr "Erro de protocolo"
7394 +#: locale/programs/ld-collate.c:3070
7395 +#, c-format
7396 +msgid "duplicate definition of script `%s'"
7397 +msgstr "definição duplicada de script “%s”"
7398
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
7404 +#, c-format
7405 +msgid "%s: unknown section name `%.*s'"
7406 +msgstr "%s: nome de seção desconhecida “%.*s”"
7407
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
7414 +#, c-format
7415 +msgid "%s: multiple order definitions for section `%s'"
7416 +msgstr "%s: múltiplas definições de ordem para a seção “%s”"
7417
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
7425 +#, c-format
7426 +msgid "%s: invalid number of sorting rules"
7427 +msgstr "%s: número inválido de regras de ordenação"
7428
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
7434 +#, c-format
7435 +msgid "%s: multiple order definitions for unnamed section"
7436 +msgstr "%s: múltiplas definições de ordem para seção sem nome"
7437
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
7443 +#, c-format
7444 +msgid "%s: missing `order_end' keyword"
7445 +msgstr "%s: faltando palavra-chave “order_end”"
7446
7447 -#: stdio-common/../sysdeps/unix/siglist.c:28
7448 -#: sysdeps/unix/sysv/linux/siglist.h:24
7449 -msgid "Quit"
7450 -msgstr "Sair"
7451 +#: locale/programs/ld-collate.c:3320
7452 +#, c-format
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"
7455
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
7460 +#, c-format
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"
7463
7464 -#. TRANS ???
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
7469 +#, c-format
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"
7472
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
7477 +#, c-format
7478 +msgid "%s: missing `reorder-end' keyword"
7479 +msgstr "%s: faltando palavra-chave “reorder-end”"
7480
7481 -#. TRANS ???
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
7486 +#, c-format
7487 +msgid "%s: section `%.*s' not known"
7488 +msgstr "%s: seção “%.*s” desconhecida"
7489
7490 -#. TRANS ???
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
7495 +#, c-format
7496 +msgid "%s: bad symbol <%.*s>"
7497 +msgstr "%s: símbolo inválido <%.*s>"
7498
7499 -#. TRANS ???
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
7504 +#, c-format
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"
7507
7508 -#. TRANS ???
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
7513 +#, c-format
7514 +msgid "%s: empty category description not allowed"
7515 +msgstr "%s: descrição vazia para categoria não permitida"
7516
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
7521 +#, c-format
7522 +msgid "%s: missing `reorder-sections-end' keyword"
7523 +msgstr "%s: faltando palavra-chave “reorder-sections-end”"
7524
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
7529 +#, c-format
7530 +msgid "%s: '%s' without matching 'ifdef' or 'ifndef'"
7531 +msgstr "%s: “%s” sem “ifdef” ou “ifndef” correspondente"
7532
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
7537 +#, c-format
7538 +msgid "%s: 'endif' without matching 'ifdef' or 'ifndef'"
7539 +msgstr "%s: “endif” sem “ifdef” ou “ifndef” correspondente"
7540
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"
7547
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
7552 +#, c-format
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”"
7555
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
7560 +#, c-format
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”"
7563
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
7568 +#, c-format
7569 +msgid "internal error in %s, line %u"
7570 +msgstr "erro interno em %s, linha %u"
7571
7572 -#: sunrpc/clnt_perr.c:182
7573 -msgid "RPC: Procedure unavailable"
7574 -msgstr "RPC: Procedimento indisponível"
7575 +#: locale/programs/ld-ctype.c:532
7576 +#, c-format
7577 +msgid "character '%s' in class `%s' must be in class `%s'"
7578 +msgstr "caractere “%s” na classe “%s” deve estar na classe “%s”"
7579
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
7584 +#, c-format
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”"
7587
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
7592 +#, c-format
7593 +msgid "<SP> character not in class `%s'"
7594 +msgstr "<SP> caractere não está na classe “%s”"
7595
7596 -#: sunrpc/clnt_perr.c:180
7597 -msgid "RPC: Program/version mismatch"
7598 -msgstr "RPC: Programa/versão incompatíveis"
7599 -
7600 -#: sunrpc/clnt_perr.c:186
7601 -msgid "RPC: Remote system error"
7602 -msgstr "RPC: Erro remoto de sistema"
7603 -
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"
7607 -
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
7612 +#, c-format
7613 +msgid "<SP> character must not be in class `%s'"
7614 +msgstr "<SP> caractere não pode estar na classe “%s”"
7615
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"
7622
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"
7629
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"
7636
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"
7643
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"
7650
7651 -#: nis/nis_print.c:184
7652 +#: locale/programs/ld-ctype.c:1131
7653 #, c-format
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"
7658
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
7663 +#, c-format
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"
7666
7667 -#: elf/sprof.c:88
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
7671 +#, c-format
7672 +msgid "character map `%s' already defined"
7673 +msgstr "mapa de caracteres “%s” já definido"
7674
7675 -#: nscd/nscd.c:78
7676 -msgid "Read configuration data from NAME"
7677 -msgstr "Lê configuração de dados de NOME"
7678 +#: locale/programs/ld-ctype.c:1169
7679 +#, c-format
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"
7682
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
7690 +#, c-format
7691 +msgid "%s: field `%s' does not contain exactly ten entries"
7692 +msgstr "%s: campo “%s” não contém exatamente dez entradas"
7693
7694 -#: string/strsignal.c:66
7695 +#: locale/programs/ld-ctype.c:1462 locale/programs/ld-ctype.c:2036
7696 #, c-format
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>"
7701
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"
7708
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"
7715
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”"
7722
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"
7730
7731 -#: elf/sprof.c:537
7732 +#: locale/programs/ld-ctype.c:2188
7733 #, c-format
7734 -msgid "Reopening shared object `%s' failed"
7735 -msgstr "Reabertura de objeto compartilhado `%s' falhou"
7736 -
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"
7742
7743 -#: argp/argp-help.c:1638
7744 +#: locale/programs/ld-ctype.c:2203
7745 #, c-format
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"
7750
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"
7758
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"
7765
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 “..”"
7772
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 “…”"
7779
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
7788 +#, c-format
7789 +msgid "duplicated definition for mapping `%s'"
7790 +msgstr "definição duplicada para o mapeamento “%s”"
7791
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
7796 +#, c-format
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”"
7799
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.
7803 -#. TRANS
7804 -#. TRANS This error can happen in a few different situations:
7805 -#. TRANS
7806 -#. TRANS @itemize @bullet
7807 -#. TRANS @item
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}.
7813 -#. TRANS
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.
7818 -#. TRANS
7819 -#. TRANS @item
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
7833 +#, c-format
7834 +msgid "%s: duplicate `default_missing' definition"
7835 +msgstr "%s: definição duplicada de “default_missing”"
7836
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"
7843
7844 -#: elf/sprof.c:91
7845 -msgid "SHOBJ [PROFDATA]"
7846 -msgstr "SHOBJ [PROFDATA]"
7847 +#: locale/programs/ld-ctype.c:2760
7848 +#, c-format
7849 +msgid "%s: no representable `default_missing' definition found"
7850 +msgstr "%s: nenhuma definição representável de “default_missing” localizada"
7851
7852 -#: nis/nis_print.c:33
7853 -msgid "SUNYP"
7854 -msgstr "SUNYP"
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
7861 +#, c-format
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"
7864
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
7871 #, c-format
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"
7876
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
7882 +#, c-format
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"
7885
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"
7892
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
7897 +#, c-format
7898 +msgid "%s: transliteration data from locale `%s' not available"
7899 +msgstr "%s: dados de transliteração da localidade “%s” não disponíveis"
7900
7901 -#: sunrpc/clnt_perr.c:277
7902 -msgid "Server rejected credential"
7903 -msgstr "Servidor rejeitou credencial"
7904 +#: locale/programs/ld-ctype.c:3669
7905 +#, c-format
7906 +msgid "%s: table for class \"%s\": %lu bytes"
7907 +msgstr "%s: tabela para a classe “%s”: %lu bytes"
7908
7909 -#: sunrpc/clnt_perr.c:281
7910 -msgid "Server rejected verifier"
7911 -msgstr "Servidor rejeitou verificador"
7912 +#: locale/programs/ld-ctype.c:3733
7913 +#, c-format
7914 +msgid "%s: table for map \"%s\": %lu bytes"
7915 +msgstr "%s: tabela para o mapa “%s”: %lu bytes"
7916
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
7921 +#, c-format
7922 +msgid "%s: table for width: %lu bytes"
7923 +msgstr "%s: tabela para largura: %lu bytes"
7924
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
7929 +#, c-format
7930 +msgid "%s: no identification for category `%s'"
7931 +msgstr "%s: nenhuma identificação para a categoria “%s”"
7932
7933 -#: nscd/nscd.c:82
7934 -msgid "Shut the server down"
7935 -msgstr "Encerra o servidor"
7936 +#: locale/programs/ld-identification.c:197
7937 +#, c-format
7938 +msgid "%s: unknown standard `%s' for category `%s'"
7939 +msgstr "%s: padrão desconhecido “%s” para a categoria “%s”"
7940
7941 -#: stdio-common/../sysdeps/unix/siglist.c:25
7942 -msgid "Signal 0"
7943 -msgstr "Sinal 0"
7944 +#: locale/programs/ld-identification.c:380
7945 +#, c-format
7946 +msgid "%s: duplicate category version definition"
7947 +msgstr "%s: definição duplicada da versão da categoria"
7948
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
7954 +#, c-format
7955 +msgid "%s: invalid value for field `%s'"
7956 +msgstr "%s: valor inválido para o campo “%s”"
7957
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
7963 +#, c-format
7964 +msgid "%s: field `%s' undefined"
7965 +msgstr "%s: campo “%s” indefinido"
7966
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
7973 +#, c-format
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"
7976
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
7981 +#, c-format
7982 +msgid "%s: no correct regular expression for field `%s': %s"
7983 +msgstr "%s: nenhuma expressão regular correta para o campo “%s”: %s"
7984
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
7989 +#, c-format
7990 +msgid "%s: value of field `int_curr_symbol' has wrong length"
7991 +msgstr "%s: valor do campo “int_curr_symbol” possui comprimento incorreto"
7992
7993 -#: stdio-common/../sysdeps/gnu/errlist.c:746
7994 -msgid "Srmount error"
7995 -msgstr "Erro de Srmount"
7996 +#: locale/programs/ld-monetary.c:245
7997 +#, c-format
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]"
8000
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
8005 +#, c-format
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"
8008
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
8017 +#, c-format
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"
8020
8021 -#: nscd/nscd.c:81
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
8025 +#, c-format
8026 +msgid "%s: `-1' must be last entry in `%s' field"
8027 +msgstr "%s: “-1” deve ser o último registro no campo “%s”"
8028
8029 -#: nis/nis_print.c:357
8030 +#: locale/programs/ld-monetary.c:668 locale/programs/ld-numeric.c:289
8031 #, c-format
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"
8036
8037 -#: stdio-common/../sysdeps/unix/siglist.c:43
8038 -#: sysdeps/unix/sysv/linux/siglist.h:37
8039 -msgid "Stopped"
8040 -msgstr "Parado"
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"
8044
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
8051 +#, c-format
8052 +msgid "%s: invalid escape sequence in field `%s'"
8053 +msgstr "%s: sequência de escape inválida no campo “%s”"
8054
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
8060 +#, c-format
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 “-”"
8063
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
8069 +#, c-format
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"
8072
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
8077 +#, c-format
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”"
8080
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
8085 +#, c-format
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”"
8088
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
8091 -msgid "Success"
8092 -msgstr "Sucesso"
8093 +#: locale/programs/ld-time.c:324
8094 +#, c-format
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”"
8097
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
8102 +#, c-format
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” "
8105
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
8110 +#, c-format
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”"
8113
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
8118 +#, c-format
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”"
8121
8122 -#: locale/programs/locale.c:63
8123 -msgid "System information:"
8124 -msgstr "Informação do Sistema:"
8125 +#: locale/programs/ld-time.c:406
8126 +#, c-format
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”"
8129
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
8134 +#, c-format
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”"
8137
8138 -#: locale/programs/localedef.c:384
8139 +#: locale/programs/ld-time.c:443
8140 #, c-format
8141 -msgid ""
8142 -"System's directory for character maps : %s\n"
8143 -" repertoire maps: %s\n"
8144 -" locale path : %s\n"
8145 -"%s"
8146 -msgstr ""
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"
8150 -"%s"
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”"
8153
8154 -#: nis/nis_print.c:117
8155 -msgid "TABLE\n"
8156 -msgstr "TABELA\n"
8157 +#: locale/programs/ld-time.c:488
8158 +#, c-format
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"
8161
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
8165 #, c-format
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"
8170
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
8175 +#, c-format
8176 +msgid "%s: too few values for field `%s'"
8177 +msgstr "%s: número insuficiente de valores para o campo “%s”"
8178
8179 -#: stdio-common/../sysdeps/unix/siglist.c:40
8180 -#: sysdeps/unix/sysv/linux/siglist.h:34
8181 -msgid "Terminated"
8182 -msgstr "Terminado"
8183 +#: locale/programs/ld-time.c:762
8184 +msgid "extra trailing semicolon"
8185 +msgstr "ponto e vírgula extra no final"
8186
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
8196 +#, c-format
8197 +msgid "%s: too many values for field `%s'"
8198 +msgstr "%s: número excessivo de valores para o campo “%s” de valores"
8199
8200 -#: iconv/iconv_prog.c:536
8201 -msgid ""
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"
8208 -"program.\n"
8209 -"\n"
8210 -" "
8211 -msgstr ""
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"
8218 -"\n"
8219 -" "
8220 +#: locale/programs/linereader.c:130
8221 +msgid "trailing garbage at end of line"
8222 +msgstr "lixo no final da linha"
8223
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"
8230
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"
8237
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"
8244
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"
8253
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"
8263
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.
8266 -#. TRANS
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
8275 +#, c-format
8276 +msgid "symbol `%.*s' not in charmap"
8277 +msgstr "símbolo “%.*s” não está no mapa de caracteres"
8278
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
8286 +#, c-format
8287 +msgid "symbol `%.*s' not in repertoire map"
8288 +msgstr "símbolo “%.*s” não está no mapa de repertório"
8289
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
8297 +#, c-format
8298 +msgid "unknown name \"%s\""
8299 +msgstr "nome desconhecido “%s”"
8300
8301 -#. TRANS ???
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:"
8308
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"
8317
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"
8325
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:"
8332
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"
8342
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"
8351
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"
8362
8363 -#: argp/argp-help.c:1610
8364 -#, c-format
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."
8370
8371 -#: inet/rcmd.c:143
8372 -#, c-format
8373 -msgid "Trying %s...\n"
8374 -msgstr "Tentando %s...\n"
8375 +#: locale/programs/locale.c:86
8376 +msgid ""
8377 +"NAME\n"
8378 +"[-a|-m]"
8379 +msgstr ""
8380 +"NOME\n"
8381 +"[-a|-m]"
8382
8383 -#: nis/nis_print.c:163
8384 +#: locale/programs/locale.c:190
8385 #, c-format
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"
8390
8391 -#: nis/nis_print.c:47
8392 -msgid "UNKNOWN"
8393 -msgstr "DESCONHECIDO"
8394 -
8395 -#: nis/nis_error.c:72
8396 -msgid "Unable to authenticate NIS+ client"
8397 -msgstr "Impossível autenticar cliente NIS+"
8398 -
8399 -#: nis/nis_error.c:71
8400 -msgid "Unable to authenticate NIS+ server"
8401 -msgstr "Impossível autenticar servidor NIS+"
8402 -
8403 -#: nis/nis_error.c:46
8404 -msgid "Unable to create callback"
8405 -msgstr "Impossível criar chamador"
8406 -
8407 -#: nis/nis_error.c:74
8408 -msgid "Unable to create process on server"
8409 -msgstr "Impossível criar processo no servidor"
8410 -
8411 -#: nis/nis_print.c:190
8412 +#: locale/programs/locale.c:192
8413 #, c-format
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"
8418
8419 -#: inet/ruserpass.c:248
8420 +#: locale/programs/locale.c:205
8421 #, c-format
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"
8426
8427 -#: nis/ypclnt.c:797
8428 -msgid "Unknown NIS error code"
8429 -msgstr "Código de erro NIS desconhecido"
8430 -
8431 -#: nss/getent.c:505
8432 +#: locale/programs/locale.c:221
8433 #, c-format
8434 -msgid "Unknown database: %s\n"
8435 -msgstr "Base de dados desconhecida: %s\n"
8436 -
8437 -#: posix/../sysdeps/posix/gai_strerror.c:51
8438 -msgid "Unknown error"
8439 -msgstr "Erro desconhecido"
8440 -
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 "
8446 -
8447 -#: resolv/herror.c:74
8448 -msgid "Unknown host"
8449 -msgstr "Host desconhecido"
8450 -
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"
8456
8457 -#: nscd/nscd_conf.c:181
8458 +#: locale/programs/locale.c:521
8459 #, c-format
8460 -msgid "Unknown option: %s %s %s"
8461 -msgstr "Opção desconhecida: %s %s %s"
8462 -
8463 -#: resolv/herror.c:120
8464 -msgid "Unknown resolver error"
8465 -msgstr "Erro desconhecido do resolvedor"
8466 -
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"
8472
8473 -#: string/strsignal.c:70
8474 -#, c-format
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:"
8480
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"
8487
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"
8494
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"
8501
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"
8508
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"
8515
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"
8522
8523 -#: posix/getconf.c:692
8524 -#, c-format
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"
8530
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"
8538
8539 -#: argp/argp-help.c:1567
8540 -msgid "Usage:"
8541 -msgstr "Uso:"
8542 +#: locale/programs/localedef.c:128 locale/programs/localedef.c:131
8543 +msgid "<warnings>"
8544 +msgstr "<avisos>"
8545
8546 -#: posix/getconf.c:604
8547 -#, c-format
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"
8553
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"
8560
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:"
8568
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"
8576
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"
8583
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"
8591
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"
8598
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"
8606
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"
8613
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"
8620
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"
8627
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"
8634
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
8639 +msgid ""
8640 +"NAME\n"
8641 +"[--add-to-archive|--delete-from-archive] FILE...\n"
8642 +"--list-archive [FILE]"
8643 +msgstr ""
8644 +"NOME\n"
8645 +"[--add-to-archive|--delete-from-archive] ARQUIVO...\n"
8646 +"--list-archive [ARQUIVO]"
8647
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
8653 #, c-format
8654 -msgid "Written by %s.\n"
8655 -msgstr "Escrito por %s.\n"
8656 -
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"
8662
8663 -#: nis/nis_print.c:39
8664 -msgid "X500"
8665 -msgstr "X500"
8666 -
8667 -#: nis/nis_print.c:43
8668 -msgid "XCHS"
8669 -msgstr "XCHS"
8670 +#: locale/programs/localedef.c:243
8671 +msgid "FATAL: system does not define `_POSIX2_LOCALEDEF'"
8672 +msgstr "FATAL: sistema não define “_POSIX2_LOCALEDEF”"
8673
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
8677 #, c-format
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”"
8682
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
8687 +#, c-format
8688 +msgid "cannot write output files to `%s'"
8689 +msgstr "não é possível escrever arquivo de saída para “%s”"
8690
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"
8698
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
8703 +#, c-format
8704 +msgid ""
8705 +"System's directory for character maps : %s\n"
8706 +"\t\t repertoire maps: %s\n"
8707 +"\t\t locale path : %s\n"
8708 +"%s"
8709 +msgstr ""
8710 +"Diretório do sistema para mapas de caracteres: %s\n"
8711 +" mapas de repertórios: %s\n"
8712 +" caminho da localidade: %s\n"
8713 +"%s"
8714
8715 -#: iconv/iconv_prog.c:70
8716 -msgid "[FILE...]"
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"
8721
8722 -#: locale/programs/charmap.c:481 locale/programs/locfile.c:471
8723 -#: locale/programs/repertoire.c:278
8724 +#: locale/programs/localedef.c:637
8725 #, c-format
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"
8730
8731 -#: elf/sprof.c:766
8732 +#: locale/programs/locarchive.c:133 locale/programs/locarchive.c:380
8733 #, c-format
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"
8738
8739 -#: locale/programs/ld-monetary.c:369 locale/programs/ld-numeric.c:193
8740 +#: locale/programs/locarchive.c:167 locale/programs/locarchive.c:430
8741 #, c-format
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"
8744 -
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'"
8748 -
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'"
8752 -
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"
8758
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"
8762 -
8763 -#: posix/../sysdeps/posix/gai_strerror.c:39
8764 -msgid "ai_socktype not supported"
8765 -msgstr "Tipo socket (ai_socktype) não suportado"
8766 -
8767 -#: nscd/nscd.c:121
8768 -msgid "already running"
8769 -msgstr "já está rodando"
8770 -
8771 -#: locale/programs/charmap.c:352 locale/programs/repertoire.c:152
8772 +#: locale/programs/locarchive.c:174 locale/programs/locarchive.c:437
8773 #, c-format
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"
8778
8779 -#: locale/programs/locfile.c:240
8780 +#: locale/programs/locarchive.c:189 locale/programs/locarchive.c:452
8781 +#: locale/programs/locarchive.c:674
8782 #, c-format
8783 -msgid "argument to `%s' must be a single character"
8784 -msgstr "argumento para `%s' deve ser um caracter simples"
8785 -
8786 -#: sunrpc/auth_unix.c:321
8787 -msgid "auth_none.c - Fatal marshalling problem"
8788 -msgstr "auth_none.c - Problema fatal de marshalling"
8789 -
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"
8793 -
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"
8798 -
8799 -#: inet/rcmd.c:318
8800 -msgid "bad owner"
8801 -msgstr "dono inválido"
8802 -
8803 -#: timezone/zic.c:1185
8804 -msgid "blank FROM field on Link line"
8805 -msgstr "campo FROM em branco na linha Link"
8806 -
8807 -#: timezone/zic.c:1189
8808 -msgid "blank TO field on Link line"
8809 -msgstr "campo TO em branco na linha Link"
8810 -
8811 -#: malloc/mcheck.c:208
8812 -msgid "block freed twice\n"
8813 -msgstr "bloco liberado duas vezes\n"
8814 -
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"
8818 -
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"
8824
8825 -#: sunrpc/pmap_rmt.c:194
8826 -msgid "broadcast: ioctl (get interface flags)"
8827 -msgstr "broadcast: ioctl (obter flags de interface)"
8828 -
8829 -#: login/programs/request.c:167
8830 -msgid "buffer overflow"
8831 -msgstr "estouro de buffer"
8832 -
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"
8836 -
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
8841 +#, c-format
8842 +msgid "failed to create new locale archive"
8843 +msgstr "falha ao criar o novo pacote de localidade"
8844
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
8849 +#, c-format
8850 +msgid "cannot change mode of new locale archive"
8851 +msgstr "não foi possível alterar o modo do novo arquivo de localidade"
8852
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"
8859
8860 -#: sunrpc/svc_simple.c:75
8861 +#: locale/programs/locarchive.c:355
8862 #, c-format
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"
8867
8868 -#: locale/programs/localedef.c:279
8869 +#: locale/programs/locarchive.c:460
8870 #, c-format
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"
8875
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
8880 +#, c-format
8881 +msgid "cannot extend locale archive file"
8882 +msgstr "não foi possível estender o arquivo do pacote de localidade"
8883
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
8888 +#, c-format
8889 +msgid "cannot change mode of resized locale archive"
8890 +msgstr "não foi possível alterar o modo do arquivo de localidade redimensionado"
8891
8892 -#: elf/sprof.c:417
8893 -msgid "cannot create internal descriptors"
8894 -msgstr "não é possivel criar descritores internos"
8895 +#: locale/programs/locarchive.c:546
8896 +#, c-format
8897 +msgid "cannot rename new archive"
8898 +msgstr "não foi possível renomear o novo pacote"
8899
8900 -#: nscd/connections.c:180
8901 +#: locale/programs/locarchive.c:608
8902 #, c-format
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”"
8907
8908 -#: sunrpc/rpc_main.c:342
8909 +#: locale/programs/locarchive.c:613
8910 #, c-format
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”"
8915
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
8920 +#, c-format
8921 +msgid "cannot lock locale archive \"%s\""
8922 +msgstr "não foi possível travar o pacote de localidade “%s”"
8923
8924 -#: nscd/connections.c:205
8925 +#: locale/programs/locarchive.c:655
8926 #, c-format
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"
8931
8932 -#: locale/programs/ld-collate.c:1324
8933 +#: locale/programs/locarchive.c:728
8934 #, c-format
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"
8939
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
8946 +#, c-format
8947 +msgid "cannot add to locale archive"
8948 +msgstr "não foi possível adicionar ao pacote de localidade"
8949
8950 -#: locale/programs/ld-collate.c:1175 locale/programs/ld-collate.c:1218
8951 +#: locale/programs/locarchive.c:1203
8952 #, c-format
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"
8957
8958 -#: elf/sprof.c:674
8959 -msgid "cannot load profiling data"
8960 -msgstr "impossível carregar perfis de dados"
8961 +#: locale/programs/locarchive.c:1351
8962 +#, c-format
8963 +msgid "Adding %s\n"
8964 +msgstr "Adicionando %s\n"
8965
8966 -#: inet/rcmd.c:314
8967 -msgid "cannot open"
8968 -msgstr "impossível abrir"
8969 +#: locale/programs/locarchive.c:1357
8970 +#, c-format
8971 +msgid "stat of \"%s\" failed: %s: ignored"
8972 +msgstr "obtenção de estado de “%s” falhou: %s: ignorado"
8973
8974 -#: sysdeps/unix/sysv/linux/lddlibc4.c:64
8975 +#: locale/programs/locarchive.c:1363
8976 #, c-format
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"
8981
8982 -#: db2/makedb.c:146
8983 +#: locale/programs/locarchive.c:1370
8984 #, c-format
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"
8989
8990 -#: catgets/gencat.c:272 db2/makedb.c:167 iconv/iconv_prog.c:177
8991 +#: locale/programs/locarchive.c:1438
8992 #, c-format
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”"
8997
8998 -#: locale/programs/localedef.c:198
8999 +#: locale/programs/locarchive.c:1502
9000 #, c-format
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"
9005
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
9010 +#, c-format
9011 +msgid "locale \"%s\" not in archive"
9012 +msgstr "localidade “%s” não está no pacote"
9013
9014 -#: catgets/gencat.c:774 catgets/gencat.c:815 db2/makedb.c:181
9015 +#: locale/programs/locfile.c:137
9016 #, c-format
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"
9021 +
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"
9025
9026 -#: locale/programs/locfile.c:1129
9027 +#: locale/programs/locfile.c:799
9028 #, c-format
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”"
9032
9033 -#: nscd/connections.c:162
9034 +#: locale/programs/locfile.c:822
9035 #, c-format
9036 -msgid "cannot open socket: %s"
9037 -msgstr "não é possível abrir soquete: `%s'"
9038 -
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”"
9044
9045 -#: locale/programs/locale.c:449
9046 +#: locale/programs/locfile.c:917
9047 #, c-format
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”"
9052
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”"
9059
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"
9066
9067 -#: sysdeps/unix/sysv/linux/lddlibc4.c:68
9068 -#, c-format
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"
9074
9075 -#: locale/programs/locale.c:306
9076 +#: locale/programs/locfile.c:990
9077 #, c-format
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”"
9082
9083 -#: locale/programs/localedef.c:303
9084 +#: locale/programs/repertoire.c:228 locale/programs/repertoire.c:269
9085 +#: locale/programs/repertoire.c:294
9086 #, c-format
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"
9091
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
9095 -#, c-format
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"
9101
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"
9108
9109 -#: nscd/cache.c:141 nscd/connections.c:148
9110 +#: locale/programs/repertoire.c:341
9111 #, c-format
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"
9116
9117 -#: locale/programs/localedef.c:328
9118 +#: login/programs/pt_chown.c:79
9119 #, c-format
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"
9124
9125 -#: nscd/connections.c:229 nscd/connections.c:250
9126 +#: login/programs/pt_chown.c:93
9127 #, c-format
9128 -msgid "cannot write result: %s"
9129 -msgstr "não é possível escrever resultado: %s"
9130 +msgid ""
9131 +"The owner is set to the current user, the group is set to `%s', and the access permission is set to `%o'.\n"
9132 +"\n"
9133 +"%s"
9134 +msgstr ""
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"
9136 +"\n"
9137 +"%s"
9138
9139 -#: nscd/nscd_stat.c:86
9140 +#: login/programs/pt_chown.c:204
9141 #, c-format
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"
9146
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
9151 +#, c-format
9152 +msgid "needs to be installed setuid `root'"
9153 +msgstr "precisa ser instalado com setuid “root”"
9154
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"
9161
9162 -#: locale/programs/ld-ctype.c:269
9163 -#, c-format
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"
9169
9170 -#: locale/programs/ld-ctype.c:294
9171 -#, c-format
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"
9177
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"
9184
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
9191 -#, c-format
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"
9197
9198 -#: locale/programs/ld-ctype.c:825
9199 -#, c-format
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"
9205
9206 -#: locale/programs/ld-ctype.c:857
9207 -#, c-format
9208 -msgid "character map `%s' already defined"
9209 -msgstr "mapa de caracteres `%s' já definido"
9210 +#: malloc/memusage.sh:38
9211 +msgid ""
9212 +"Usage: memusage [OPTION]... PROGRAM [PROGRAMOPTION]...\n"
9213 +"Profile memory usage of PROGRAM.\n"
9214 +"\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"
9222 +"\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"
9226 +"\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"
9233 +"\n"
9234 +"Mandatory arguments to long options are also mandatory for any corresponding\n"
9235 +"short options.\n"
9236 +"\n"
9237 +msgstr ""
9238 +"Uso: memusage [OPÇÃO]... PROGRAMA [OPÇÃO-PROGRAMA]...\n"
9239 +"Perfila o uso de memória do PROGRAMA.\n"
9240 +"\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"
9244 +" em ARQUIVO\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"
9249 +"\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"
9253 +"\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"
9260 +"\n"
9261 +"Argumentos obrigatórios para opções longas são também obrigatórios para\n"
9262 +"qualquer opção curta correspondente.\n"
9263 +"\n"
9264
9265 -#: locale/programs/charmap.c:83
9266 -#, c-format
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
9271 +msgid ""
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]..."
9276 +msgstr ""
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]..."
9281
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"
9288
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”"
9295
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"
9302
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"
9309
9310 -#: locale/programs/ld-collate.c:1339
9311 -#, c-format
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
9315 +msgid "STRING"
9316 +msgstr "TEXTO"
9317
9318 -#: locale/programs/ld-collate.c:1357
9319 -#, c-format
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"
9325
9326 -#: locale/programs/locfile.c:652
9327 -#, c-format
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)"
9333
9334 -#: inet/rcmd.c:136
9335 -#, c-format
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"
9341
9342 -#: sunrpc/rpc_scan.c:115
9343 -msgid "constant or identifier expected"
9344 -msgstr "identificador ou constante esperado"
9345 +#: malloc/memusagestat.c:63
9346 +msgid "VALUE"
9347 +msgstr "VALOR"
9348
9349 -#: iconv/iconv_prog.c:144
9350 -#, c-format
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"
9356
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"
9363
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"
9370
9371 -#: sunrpc/svc_simple.c:91
9372 -#, c-format
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]"
9378
9379 -#: nss/getent.c:49
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"
9385 +
9386 +#: nis/nis_callback.c:188
9387 +msgid "unable to free arguments"
9388 +msgstr "não foi possível liberar argumentos"
9389 +
9390 +#: nis/nis_error.h:1 nis/ypclnt.c:824 nis/ypclnt.c:913 posix/regcomp.c:137
9391 +#: sysdeps/gnu/errlist.c:21
9392 +msgid "Success"
9393 +msgstr "Sucesso"
9394 +
9395 +#: nis/nis_error.h:2
9396 +msgid "Probable success"
9397 +msgstr "Sucesso provável"
9398 +
9399 +#: nis/nis_error.h:3
9400 +msgid "Not found"
9401 +msgstr "Não localizado"
9402 +
9403 +#: nis/nis_error.h:4
9404 +msgid "Probably not found"
9405 +msgstr "Provavelmente não encontrado"
9406 +
9407 +#: nis/nis_error.h:5
9408 +msgid "Cache expired"
9409 +msgstr "Tempo expirado"
9410 +
9411 +#: nis/nis_error.h:6
9412 +msgid "NIS+ servers unreachable"
9413 +msgstr "Servidores NIS+ fora do alcance"
9414 +
9415 +#: nis/nis_error.h:7
9416 +msgid "Unknown object"
9417 +msgstr "Objeto desconhecido"
9418 +
9419 +#: nis/nis_error.h:8
9420 +msgid "Server busy, try again"
9421 +msgstr "Servidor ocupado, tente novamente"
9422 +
9423 +#: nis/nis_error.h:9
9424 +msgid "Generic system error"
9425 +msgstr "Erro genérico de sistema"
9426 +
9427 +#: nis/nis_error.h:10
9428 +msgid "First/next chain broken"
9429 +msgstr "Primeira/próxima corrente quebrada"
9430 +
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"
9435 +
9436 +#: nis/nis_error.h:12
9437 +msgid "Not owner"
9438 +msgstr "Dono inválido"
9439 +
9440 +#: nis/nis_error.h:13
9441 +msgid "Name not served by this server"
9442 +msgstr "Nome não servido por este servidor"
9443 +
9444 +#: nis/nis_error.h:14
9445 +msgid "Server out of memory"
9446 +msgstr "Memória do servidor exaurida"
9447 +
9448 +#: nis/nis_error.h:15
9449 +msgid "Object with same name exists"
9450 +msgstr "Um objeto com o mesmo nome existe"
9451 +
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"
9455 +
9456 +#: nis/nis_error.h:17
9457 +msgid "Invalid object for operation"
9458 +msgstr "Objeto inválido para a operação"
9459 +
9460 +#: nis/nis_error.h:18
9461 +msgid "Malformed name, or illegal name"
9462 +msgstr "Nome malformado ou nome ilegal"
9463 +
9464 +#: nis/nis_error.h:19
9465 +msgid "Unable to create callback"
9466 +msgstr "Impossível criar retorno de chamada"
9467 +
9468 +#: nis/nis_error.h:20
9469 +msgid "Results sent to callback proc"
9470 +msgstr "Resultados enviados para o processo de retorno chamada"
9471 +
9472 +#: nis/nis_error.h:21
9473 +msgid "Not found, no such name"
9474 +msgstr "Não localizado, nome inexistente"
9475 +
9476 +#: nis/nis_error.h:22
9477 +msgid "Name/entry isn't unique"
9478 +msgstr "Nome/entrada não é único"
9479 +
9480 +#: nis/nis_error.h:23
9481 +msgid "Modification failed"
9482 +msgstr "Modificação falhou"
9483 +
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"
9487 +
9488 +#: nis/nis_error.h:25
9489 +msgid "Entry/table type mismatch"
9490 +msgstr "Tipo de entrada/tabela incompatível"
9491 +
9492 +#: nis/nis_error.h:26
9493 +msgid "Link points to illegal name"
9494 +msgstr "Link aponta para um nome ilegal"
9495 +
9496 +#: nis/nis_error.h:27
9497 +msgid "Partial success"
9498 +msgstr "Sucesso parcial"
9499 +
9500 +#: nis/nis_error.h:28
9501 +msgid "Too many attributes"
9502 +msgstr "Número excessivo de atributos"
9503 +
9504 +#: nis/nis_error.h:29
9505 +msgid "Error in RPC subsystem"
9506 +msgstr "Erro no subsistema RPC"
9507 +
9508 +#: nis/nis_error.h:30
9509 +msgid "Missing or malformed attribute"
9510 +msgstr "Atributo perdido ou malformado"
9511 +
9512 +#: nis/nis_error.h:31
9513 +msgid "Named object is not searchable"
9514 +msgstr "Objeto nomeado não é pesquisável"
9515 +
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"
9519 +
9520 +#: nis/nis_error.h:33
9521 +msgid "Non NIS+ namespace encountered"
9522 +msgstr "Espaço de nomes não-NIS+ encontrado"
9523 +
9524 +#: nis/nis_error.h:34
9525 +msgid "Illegal object type for operation"
9526 +msgstr "Tipo ilegal de objeto para a operação"
9527 +
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"
9531 +
9532 +#: nis/nis_error.h:36
9533 +msgid "Modify operation failed"
9534 +msgstr "Operação de modificação falhou"
9535 +
9536 +#: nis/nis_error.h:37
9537 +msgid "Query illegal for named table"
9538 +msgstr "Pergunta ilegal para tabela nominada"
9539 +
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"
9543 +
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?"
9547 +
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"
9551 +
9552 +#: nis/nis_error.h:41
9553 +msgid "NIS+ operation failed"
9554 +msgstr "Operação NIS+ falhou"
9555 +
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"
9559 +
9560 +#: nis/nis_error.h:43
9561 +msgid "Yes, 42 is the meaning of life"
9562 +msgstr "Sim, 42 é o sentido da vida"
9563 +
9564 +#: nis/nis_error.h:44
9565 +msgid "Unable to authenticate NIS+ server"
9566 +msgstr "Não foi possível autenticar servidor NIS+"
9567 +
9568 +#: nis/nis_error.h:45
9569 +msgid "Unable to authenticate NIS+ client"
9570 +msgstr "Não foi possível autenticar cliente NIS+"
9571 +
9572 +#: nis/nis_error.h:46
9573 +msgid "No file space on server"
9574 +msgstr "Não há espaço disponível no servidor"
9575
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"
9580 +
9581 +#: nis/nis_error.h:48
9582 +msgid "Master server busy, full dump rescheduled."
9583 +msgstr "Servidor mestre ocupado, descarregamento completo (dump) remarcado."
9584 +
9585 +#: nis/nis_local_names.c:122
9586 #, c-format
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"
9591 +
9592 +#: nis/nis_print.c:52
9593 +msgid "UNKNOWN"
9594 +msgstr "DESCONHECIDO"
9595 +
9596 +#: nis/nis_print.c:110
9597 +msgid "BOGUS OBJECT\n"
9598 +msgstr "OBJETO FALSO\n"
9599 +
9600 +#: nis/nis_print.c:113
9601 +msgid "NO OBJECT\n"
9602 +msgstr "SEM OBJETO\n"
9603 +
9604 +#: nis/nis_print.c:116
9605 +msgid "DIRECTORY\n"
9606 +msgstr "DIRETÓRIO\n"
9607 +
9608 +#: nis/nis_print.c:119
9609 +msgid "GROUP\n"
9610 +msgstr "GRUPO\n"
9611 +
9612 +#: nis/nis_print.c:122
9613 +msgid "TABLE\n"
9614 +msgstr "TABELA\n"
9615 +
9616 +#: nis/nis_print.c:125
9617 +msgid "ENTRY\n"
9618 +msgstr "ENTRADA\n"
9619 +
9620 +#: nis/nis_print.c:128
9621 +msgid "LINK\n"
9622 +msgstr "LINK\n"
9623 +
9624 +#: nis/nis_print.c:131
9625 +msgid "PRIVATE\n"
9626 +msgstr "PRIVADO\n"
9627
9628 -#: locale/programs/ld-time.c:163
9629 +#: nis/nis_print.c:134
9630 +msgid "(Unknown object)\n"
9631 +msgstr "(Objeto desconhecido)\n"
9632 +
9633 +#: nis/nis_print.c:168
9634 #, c-format
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"
9639
9640 -#: locale/programs/ld-time.c:174
9641 +#: nis/nis_print.c:169
9642 #, c-format
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"
9647 +
9648 +#: nis/nis_print.c:174
9649 +msgid "Master Server :\n"
9650 +msgstr "Servidor mestre :\n"
9651 +
9652 +#: nis/nis_print.c:176
9653 +msgid "Replicate :\n"
9654 +msgstr "Duplicado :\n"
9655
9656 -#: locale/programs/charset.c:64 locale/programs/charset.c:118
9657 +#: nis/nis_print.c:177
9658 #, c-format
9659 -msgid "duplicate character name `%s'"
9660 -msgstr "nome de caracter duplicado `%s'"
9661 +msgid "\tName : %s\n"
9662 +msgstr "\tNome : %s\n"
9663
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 : "
9670 +
9671 +#: nis/nis_print.c:182
9672 +msgid "None.\n"
9673 +msgstr "nenhum.\n"
9674
9675 -#: locale/programs/ld-collate.c:1297
9676 +#: nis/nis_print.c:185
9677 #, c-format
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"
9682
9683 -#: db2/makedb.c:328
9684 -msgid "duplicate key"
9685 -msgstr "chave duplicada"
9686 +#: nis/nis_print.c:190
9687 +#, c-format
9688 +msgid "RSA (%d bits)\n"
9689 +msgstr "RSA (%d bits)\n"
9690
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"
9697
9698 -#: timezone/zic.c:978
9699 +#: nis/nis_print.c:196
9700 #, c-format
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"
9705
9706 -#: catgets/gencat.c:551
9707 -msgid "duplicated message identifier"
9708 -msgstr "identificador de mensagens duplicado"
9709 +#: nis/nis_print.c:207
9710 +#, c-format
9711 +msgid "\tUniversal addresses (%u)\n"
9712 +msgstr "\tEndereço universal (%u)\n"
9713
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 : "
9720
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"
9727
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
9732 +#, c-format
9733 +msgid "\tType : %s\n"
9734 +msgstr "\tTipo : %s\n"
9735
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: "
9742
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 :"
9749
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
9754 +msgid ""
9755 +"\n"
9756 +"Group Members :\n"
9757 +msgstr ""
9758 +"\n"
9759 +"Membros do grupo :\n"
9760
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
9765 +#, c-format
9766 +msgid "Table Type : %s\n"
9767 +msgstr "Tipo de tabela : %s\n"
9768
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
9773 +#, c-format
9774 +msgid "Number of Columns : %d\n"
9775 +msgstr "Número de colunas : %d\n"
9776
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
9781 +#, c-format
9782 +msgid "Character Separator : %c\n"
9783 +msgstr "Separador de caracteres : %c\n"
9784 +
9785 +#: nis/nis_print.c:273
9786 +#, c-format
9787 +msgid "Search Path : %s\n"
9788 +msgstr "Caminho de pesquisa : %s\n"
9789 +
9790 +#: nis/nis_print.c:274
9791 +msgid "Columns :\n"
9792 +msgstr "Colunas :\n"
9793 +
9794 +#: nis/nis_print.c:277
9795 +#, c-format
9796 +msgid "\t[%d]\tName : %s\n"
9797 +msgstr "\t[%d]\tNome : %s\n"
9798 +
9799 +#: nis/nis_print.c:279
9800 +msgid "\t\tAttributes : "
9801 +msgstr "\t\tAtributos : "
9802 +
9803 +#: nis/nis_print.c:281
9804 +msgid "\t\tAccess Rights : "
9805 +msgstr "\t\tDireitos de acesso : "
9806 +
9807 +#: nis/nis_print.c:291
9808 +msgid "Linked Object Type : "
9809 +msgstr "Tipo de objeto vinculado : "
9810 +
9811 +#: nis/nis_print.c:293
9812 +#, c-format
9813 +msgid "Linked to : %s\n"
9814 +msgstr "Vinculado a : %s\n"
9815 +
9816 +#: nis/nis_print.c:303
9817 +#, c-format
9818 +msgid "\tEntry data of type %s\n"
9819 +msgstr "\tEntrada de dados de tipo %s\n"
9820 +
9821 +#: nis/nis_print.c:306
9822 +#, c-format
9823 +msgid "\t[%u] - [%u bytes] "
9824 +msgstr "\t[%u] – [%u bytes] "
9825 +
9826 +#: nis/nis_print.c:309
9827 +msgid "Encrypted data\n"
9828 +msgstr "Dados criptografados\n"
9829 +
9830 +#: nis/nis_print.c:311
9831 +msgid "Binary data\n"
9832 +msgstr "Dados binários\n"
9833 +
9834 +#: nis/nis_print.c:327
9835 +#, c-format
9836 +msgid "Object Name : %s\n"
9837 +msgstr "Nome do objeto : %s\n"
9838 +
9839 +#: nis/nis_print.c:328
9840 +#, c-format
9841 +msgid "Directory : %s\n"
9842 +msgstr "Diretório : %s\n"
9843 +
9844 +#: nis/nis_print.c:329
9845 +#, c-format
9846 +msgid "Owner : %s\n"
9847 +msgstr "Dono : %s\n"
9848 +
9849 +#: nis/nis_print.c:330
9850 +#, c-format
9851 +msgid "Group : %s\n"
9852 +msgstr "Grupo : %s\n"
9853 +
9854 +#: nis/nis_print.c:331
9855 +msgid "Access Rights : "
9856 +msgstr "Direitos de acesso : "
9857 +
9858 +#: nis/nis_print.c:333
9859 +#, c-format
9860 +msgid ""
9861 +"\n"
9862 +"Time to Live : "
9863 +msgstr ""
9864 +"\n"
9865 +"Tempo de vida : "
9866 +
9867 +#: nis/nis_print.c:336
9868 +#, c-format
9869 +msgid "Creation Time : %s"
9870 +msgstr "Horário de criação : %s"
9871 +
9872 +#: nis/nis_print.c:338
9873 +#, c-format
9874 +msgid "Mod. Time : %s"
9875 +msgstr "Horário de mod. : %s"
9876 +
9877 +#: nis/nis_print.c:339
9878 +msgid "Object Type : "
9879 +msgstr "Tipo do objeto : "
9880 +
9881 +#: nis/nis_print.c:359
9882 +#, c-format
9883 +msgid " Data Length = %u\n"
9884 +msgstr " Tamanho dados = %u\n"
9885 +
9886 +#: nis/nis_print.c:373
9887 +#, c-format
9888 +msgid "Status : %s\n"
9889 +msgstr "Posição : %s\n"
9890
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
9895 +#, c-format
9896 +msgid "Number of objects : %u\n"
9897 +msgstr "Número de objetos : %u\n"
9898 +
9899 +#: nis/nis_print.c:378
9900 +#, c-format
9901 +msgid "Object #%d:\n"
9902 +msgstr "Objeto #%d:\n"
9903 +
9904 +#: nis/nis_print_group_entry.c:117
9905 +#, c-format
9906 +msgid "Group entry for \"%s.%s\" group:\n"
9907 +msgstr "Entrada para o grupo “%s.%s”:\n"
9908 +
9909 +#: nis/nis_print_group_entry.c:125
9910 +msgid " Explicit members:\n"
9911 +msgstr " Membros explícitos:\n"
9912 +
9913 +#: nis/nis_print_group_entry.c:130
9914 +msgid " No explicit members\n"
9915 +msgstr " Nenhum membro explícito\n"
9916 +
9917 +#: nis/nis_print_group_entry.c:133
9918 +msgid " Implicit members:\n"
9919 +msgstr " Membros implícitos:\n"
9920 +
9921 +#: nis/nis_print_group_entry.c:138
9922 +msgid " No implicit members\n"
9923 +msgstr " Nenhum membro implícito\n"
9924 +
9925 +#: nis/nis_print_group_entry.c:141
9926 +msgid " Recursive members:\n"
9927 +msgstr " Membros recursivos:\n"
9928 +
9929 +#: nis/nis_print_group_entry.c:146
9930 +msgid " No recursive members\n"
9931 +msgstr " Nenhuma membros recursivo\n"
9932 +
9933 +#: nis/nis_print_group_entry.c:149
9934 +msgid " Explicit nonmembers:\n"
9935 +msgstr " Não-membros explícitos:\n"
9936 +
9937 +#: nis/nis_print_group_entry.c:154
9938 +msgid " No explicit nonmembers\n"
9939 +msgstr " Nenhum não-membro explícito\n"
9940 +
9941 +#: nis/nis_print_group_entry.c:157
9942 +msgid " Implicit nonmembers:\n"
9943 +msgstr " Não-membros implícitos:\n"
9944 +
9945 +#: nis/nis_print_group_entry.c:162
9946 +msgid " No implicit nonmembers\n"
9947 +msgstr " Nenhum não-membro implícito\n"
9948 +
9949 +#: nis/nis_print_group_entry.c:165
9950 +msgid " Recursive nonmembers:\n"
9951 +msgstr " Não-membros recursivos:\n"
9952 +
9953 +#: nis/nis_print_group_entry.c:170
9954 +msgid " No recursive nonmembers\n"
9955 +msgstr " Nenhum não-membro recursivo\n"
9956 +
9957 +#: nis/nss_nisplus/nisplus-publickey.c:100
9958 +#: nis/nss_nisplus/nisplus-publickey.c:182
9959 +#, c-format
9960 +msgid "DES entry for netname %s not unique\n"
9961 +msgstr "Entrada DES para nome de rede (netname) %s não é única\n"
9962 +
9963 +#: nis/nss_nisplus/nisplus-publickey.c:219
9964 +#, c-format
9965 +msgid "netname2user: missing group id list in `%s'"
9966 +msgstr "netname2user: faltando lista de id do grupo em “%s”"
9967 +
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
9972 +#, c-format
9973 +msgid "netname2user: (nis+ lookup): %s\n"
9974 +msgstr "netname2user: (nis+ lookup): %s\n"
9975 +
9976 +#: nis/nss_nisplus/nisplus-publickey.c:320
9977 +#, c-format
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"
9980 +
9981 +#: nis/nss_nisplus/nisplus-publickey.c:338
9982 +#, c-format
9983 +msgid "netname2user: principal name `%s' too long"
9984 +msgstr "netname2user: nome princpal “%s” longo demais"
9985 +
9986 +#: nis/nss_nisplus/nisplus-publickey.c:394
9987 +#, c-format
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"
9990 +
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"
9994 +
9995 +#: nis/ypclnt.c:827
9996 +msgid "Request arguments bad"
9997 +msgstr "Argumentos de requisição inválidos"
9998 +
9999 +#: nis/ypclnt.c:830
10000 +msgid "RPC failure on NIS operation"
10001 +msgstr "Falha RPC na operação NIS"
10002 +
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"
10006 +
10007 +#: nis/ypclnt.c:836
10008 +msgid "No such map in server's domain"
10009 +msgstr "Mapa inexistente no domínio do servidor"
10010 +
10011 +#: nis/ypclnt.c:839
10012 +msgid "No such key in map"
10013 +msgstr "Chave inexistente no mapa"
10014 +
10015 +#: nis/ypclnt.c:842
10016 +msgid "Internal NIS error"
10017 +msgstr "Erro NIS interno"
10018 +
10019 +#: nis/ypclnt.c:845
10020 +msgid "Local resource allocation failure"
10021 +msgstr "Falha na alocação de recurso local"
10022 +
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"
10026 +
10027 +#: nis/ypclnt.c:851
10028 +msgid "Can't communicate with portmapper"
10029 +msgstr "Não foi possível comunicar com o portmapper"
10030 +
10031 +#: nis/ypclnt.c:854
10032 +msgid "Can't communicate with ypbind"
10033 +msgstr "Não foi possível comunicar com o ypbind"
10034 +
10035 +#: nis/ypclnt.c:857
10036 +msgid "Can't communicate with ypserv"
10037 +msgstr "Não foi possível comunicar com o ypserv"
10038 +
10039 +#: nis/ypclnt.c:860
10040 +msgid "Local domain name not set"
10041 +msgstr "Nome de domínio local não definido"
10042 +
10043 +#: nis/ypclnt.c:863
10044 +msgid "NIS map database is bad"
10045 +msgstr "Banco de dados de mapas NIS é inválido"
10046 +
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"
10050 +
10051 +#: nis/ypclnt.c:872
10052 +msgid "Database is busy"
10053 +msgstr "Banco de dados está ocupado"
10054 +
10055 +#: nis/ypclnt.c:875
10056 +msgid "Unknown NIS error code"
10057 +msgstr "Código de erro NIS desconhecido"
10058 +
10059 +#: nis/ypclnt.c:916
10060 +msgid "Internal ypbind error"
10061 +msgstr "Erro interno de ypbind"
10062 +
10063 +#: nis/ypclnt.c:919
10064 +msgid "Domain not bound"
10065 +msgstr "Domínio não vinculado"
10066 +
10067 +#: nis/ypclnt.c:922
10068 +msgid "System resource allocation failure"
10069 +msgstr "Falha de alocação de recursos do sistema"
10070 +
10071 +#: nis/ypclnt.c:925
10072 +msgid "Unknown ypbind error"
10073 +msgstr "Erro desconhecido de ypbind"
10074 +
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"
10078 +
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"
10082 +
10083 +#: nscd/aicache.c:85 nscd/hstcache.c:485
10084 +#, c-format
10085 +msgid "Haven't found \"%s\" in hosts cache!"
10086 +msgstr "Não foi encontrado “%s” no cache de máquinas!"
10087 +
10088 +#: nscd/aicache.c:87 nscd/hstcache.c:487
10089 +#, c-format
10090 +msgid "Reloading \"%s\" in hosts cache!"
10091 +msgstr "Recarregando “%s” no cache de máquinas!"
10092 +
10093 +#: nscd/cache.c:151
10094 +#, c-format
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"
10097 +
10098 +#: nscd/cache.c:153
10099 +msgid " (first)"
10100 +msgstr " (primeira)"
10101 +
10102 +#: nscd/cache.c:288
10103 +#, c-format
10104 +msgid "checking for monitored file `%s': %s"
10105 +msgstr "verificando pelo arquivo monitorado “%s”: %s"
10106 +
10107 +#: nscd/cache.c:298
10108 +#, c-format
10109 +msgid "monitored file `%s` changed (mtime)"
10110 +msgstr "arquivo monitorado “%s” foi modificado (mtime)"
10111 +
10112 +#: nscd/cache.c:341
10113 +#, c-format
10114 +msgid "pruning %s cache; time %ld"
10115 +msgstr "removendo cache %s; tempo %ld"
10116 +
10117 +#: nscd/cache.c:370
10118 +#, c-format
10119 +msgid "considering %s entry \"%s\", timeout %<PRIu64>"
10120 +msgstr "considerando entrada %s “%s”, tempo limite %<PRIu64>"
10121 +
10122 +#: nscd/connections.c:537
10123 +#, c-format
10124 +msgid "invalid persistent database file \"%s\": %s"
10125 +msgstr "arquivo inválido de banco de dados persistente “%s”: %s"
10126 +
10127 +#: nscd/connections.c:545
10128 +msgid "uninitialized header"
10129 +msgstr "cabeçalho não inicializado"
10130 +
10131 +#: nscd/connections.c:550
10132 +msgid "header size does not match"
10133 +msgstr "tamanho do cabeçalho não confere"
10134 +
10135 +#: nscd/connections.c:560
10136 +msgid "file size does not match"
10137 +msgstr "tamanho de arquivo não confere"
10138 +
10139 +#: nscd/connections.c:577
10140 +msgid "verification failed"
10141 +msgstr "verificação falhou"
10142 +
10143 +#: nscd/connections.c:591
10144 +#, c-format
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"
10147 +
10148 +#: nscd/connections.c:602 nscd/connections.c:686
10149 +#, c-format
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"
10152 +
10153 +#: nscd/connections.c:618
10154 +#, c-format
10155 +msgid "cannot access '%s'"
10156 +msgstr "não foi possível acessar “%s”"
10157 +
10158 +#: nscd/connections.c:666
10159 +#, c-format
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"
10162 +
10163 +#: nscd/connections.c:672
10164 +#, c-format
10165 +msgid "cannot create %s; no persistent database used"
10166 +msgstr "não foi possível criar %s; nenhum banco de dados persistente usado"
10167 +
10168 +#: nscd/connections.c:675
10169 +#, c-format
10170 +msgid "cannot create %s; no sharing possible"
10171 +msgstr "não foi possível criar %s; nenhum compartilhamento possível"
10172 +
10173 +#: nscd/connections.c:746
10174 +#, c-format
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"
10177 +
10178 +#: nscd/connections.c:802
10179 +#, c-format
10180 +msgid "cannot open socket: %s"
10181 +msgstr "não é possível abrir soquete: “%s”"
10182 +
10183 +#: nscd/connections.c:821
10184 +#, c-format
10185 +msgid "cannot enable socket to accept connections: %s"
10186 +msgstr "impossível habilitar soquete para aceitar conexões: %s"
10187 +
10188 +#: nscd/connections.c:878
10189 +#, c-format
10190 +msgid "disabled inotify-based monitoring for file `%s': %s"
10191 +msgstr "desabilitado monitoramento baseado em inotify para o arquivo “%s”: %s"
10192 +
10193 +#: nscd/connections.c:882
10194 +#, c-format
10195 +msgid "monitoring file `%s` (%d)"
10196 +msgstr "monitorando o arquivo “%s” (%d)"
10197 +
10198 +#: nscd/connections.c:895
10199 +#, c-format
10200 +msgid "disabled inotify-based monitoring for directory `%s': %s"
10201 +msgstr "desabilitado monitoramento baseado em inotify para o diretório “%s”: %s"
10202 +
10203 +#: nscd/connections.c:899
10204 +#, c-format
10205 +msgid "monitoring directory `%s` (%d)"
10206 +msgstr "monitorando o diretório “%s” (%d)"
10207 +
10208 +#: nscd/connections.c:927
10209 +#, c-format
10210 +msgid "monitoring file %s for database %s"
10211 +msgstr "monitorando o arquivo %s para o banco de dados %s"
10212 +
10213 +#: nscd/connections.c:937
10214 +#, c-format
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"
10217 +
10218 +#: nscd/connections.c:1056
10219 +#, c-format
10220 +msgid "provide access to FD %d, for %s"
10221 +msgstr "fornece acesso ao descritor de arquivo %d, para %s"
10222 +
10223 +#: nscd/connections.c:1068
10224 +#, c-format
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"
10227 +
10228 +#: nscd/connections.c:1091
10229 +#, c-format
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"
10232 +
10233 +#: nscd/connections.c:1096
10234 +#, c-format
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"
10237 +
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"
10241 +
10242 +#: nscd/connections.c:1139 nscd/connections.c:1192
10243 +#, c-format
10244 +msgid "cannot write result: %s"
10245 +msgstr "não é possível escrever resultado: %s"
10246 +
10247 +#: nscd/connections.c:1283
10248 +#, c-format
10249 +msgid "error getting caller's id: %s"
10250 +msgstr "erro ao obter o id do chamador: %s"
10251 +
10252 +#: nscd/connections.c:1343
10253 +#, c-format
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"
10256 +
10257 +#: nscd/connections.c:1357
10258 +#, c-format
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"
10261 +
10262 +#: nscd/connections.c:1397
10263 +#, c-format
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"
10266 +
10267 +#: nscd/connections.c:1407
10268 +#, c-format
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"
10271 +
10272 +#: nscd/connections.c:1420
10273 +#, c-format
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"
10276 +
10277 +#: nscd/connections.c:1466
10278 +#, c-format
10279 +msgid "re-exec failed: %s; disabling paranoia mode"
10280 +msgstr "reexecução falhou: %s; desabilitando modo paranoia"
10281 +
10282 +#: nscd/connections.c:1475
10283 +#, c-format
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"
10286 +
10287 +#: nscd/connections.c:1658
10288 +#, c-format
10289 +msgid "short read while reading request: %s"
10290 +msgstr "leitura insuficiente durante a leitura da requisição: %s"
10291 +
10292 +#: nscd/connections.c:1691
10293 +#, c-format
10294 +msgid "key length in request too long: %d"
10295 +msgstr "tamanho da chave na requisição é grande demais: %d"
10296 +
10297 +#: nscd/connections.c:1704
10298 +#, c-format
10299 +msgid "short read while reading request key: %s"
10300 +msgstr "leitura insuficiente durante a leitura da chave de requisição: %s"
10301 +
10302 +#: nscd/connections.c:1714
10303 +#, c-format
10304 +msgid "handle_request: request received (Version = %d) from PID %ld"
10305 +msgstr "handle_request: requisição recebida (Versão = %d) do PID %ld"
10306 +
10307 +#: nscd/connections.c:1719
10308 +#, c-format
10309 +msgid "handle_request: request received (Version = %d)"
10310 +msgstr "handle_request: requisição recebida (Versão = %d)"
10311 +
10312 +#: nscd/connections.c:1859
10313 +#, c-format
10314 +msgid "ignored inotify event for `%s` (file exists)"
10315 +msgstr "evento inotify ignorado para “%s” (arquivo existe)"
10316 +
10317 +#: nscd/connections.c:1864
10318 +#, c-format
10319 +msgid "monitored file `%s` was %s, removing watch"
10320 +msgstr "arquivo monitorado “%s” era %s, removendo inspeção"
10321 +
10322 +#: nscd/connections.c:1872 nscd/connections.c:1914
10323 +#, c-format
10324 +msgid "failed to remove file watch `%s`: %s"
10325 +msgstr "falha ao remover inspeção do arquivo “%s”: %s"
10326 +
10327 +#: nscd/connections.c:1887
10328 +#, c-format
10329 +msgid "monitored file `%s` was written to"
10330 +msgstr "arquivo monitorado “%s” foi escrito para"
10331 +
10332 +#: nscd/connections.c:1911
10333 +#, c-format
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”"
10336 +
10337 +#: nscd/connections.c:1937
10338 +#, c-format
10339 +msgid "monitored file `%s` was %s, adding watch"
10340 +msgstr "arquivo monitorado “%s” foi %s, adicionando inspeção"
10341 +
10342 +#: nscd/connections.c:1949
10343 +#, c-format
10344 +msgid "failed to add file watch `%s`: %s"
10345 +msgstr "falha ao adicionar inspeção do arquivo “%s”: %s"
10346 +
10347 +#: nscd/connections.c:2127 nscd/connections.c:2292
10348 +#, c-format
10349 +msgid "disabled inotify-based monitoring after read error %d"
10350 +msgstr "desabilitado monitoramento baseado em inotify após erro de leitura %d"
10351 +
10352 +#: nscd/connections.c:2407
10353 +msgid "could not initialize conditional variable"
10354 +msgstr "não foi possível inicializar variável condicional"
10355 +
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"
10359 +
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"
10363 +
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
10367 +#, c-format
10368 +msgid "Failed to run nscd as user '%s'"
10369 +msgstr "Falha ao executar nscd como usuário “%s”"
10370 +
10371 +#: nscd/connections.c:2504
10372 +msgid "initial getgrouplist failed"
10373 +msgstr "getgrouplist inicial falhou"
10374 +
10375 +#: nscd/connections.c:2513
10376 +msgid "getgrouplist failed"
10377 +msgstr "getgrouplist falhou"
10378 +
10379 +#: nscd/connections.c:2531
10380 +msgid "setgroups failed"
10381 +msgstr "setgroups falhou"
10382 +
10383 +#: nscd/grpcache.c:416 nscd/hstcache.c:432 nscd/initgrcache.c:416
10384 +#: nscd/pwdcache.c:394 nscd/servicescache.c:338
10385 +#, c-format
10386 +msgid "short write in %s: %s"
10387 +msgstr "escrita insuficiente em %s: %s"
10388 +
10389 +#: nscd/grpcache.c:461 nscd/initgrcache.c:84
10390 +#, c-format
10391 +msgid "Haven't found \"%s\" in group cache!"
10392 +msgstr "Não foi encontrado “%s” no cache de grupo!"
10393 +
10394 +#: nscd/grpcache.c:463 nscd/initgrcache.c:86
10395 +#, c-format
10396 +msgid "Reloading \"%s\" in group cache!"
10397 +msgstr "Recarregando “%s” no cache de grupo!"
10398 +
10399 +#: nscd/grpcache.c:542
10400 +#, c-format
10401 +msgid "Invalid numeric gid \"%s\"!"
10402 +msgstr "GID numérico inválido “%s”!"
10403 +
10404 +#: nscd/mem.c:425
10405 +#, c-format
10406 +msgid "freed %zu bytes in %s cache"
10407 +msgstr "liberados %zu bytes no cache de %s"
10408 +
10409 +#: nscd/mem.c:568
10410 +#, c-format
10411 +msgid "no more memory for database '%s'"
10412 +msgstr "não há mais memória para o banco de dados “%s”"
10413 +
10414 +#: nscd/netgroupcache.c:121
10415 +#, c-format
10416 +msgid "Haven't found \"%s\" in netgroup cache!"
10417 +msgstr "Não foi encontrado “%s” no cache de netgroup!"
10418 +
10419 +#: nscd/netgroupcache.c:123
10420 +#, c-format
10421 +msgid "Reloading \"%s\" in netgroup cache!"
10422 +msgstr "Recarregando “%s” no cache de netgroup!"
10423 +
10424 +#: nscd/netgroupcache.c:495
10425 +#, c-format
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!"
10428 +
10429 +#: nscd/netgroupcache.c:498
10430 +#, c-format
10431 +msgid "Reloading \"%s (%s,%s,%s)\" in netgroup cache!"
10432 +msgstr "Recarregando “%s (%s,%s,%s)” no cache de netgroup!"
10433 +
10434 +#: nscd/nscd.c:106
10435 +msgid "Read configuration data from NAME"
10436 +msgstr "Lê configuração de dados de NOME"
10437 +
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"
10441 +
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)"
10445 +
10446 +#: nscd/nscd.c:111
10447 +msgid "NUMBER"
10448 +msgstr "NÚMERO"
10449 +
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"
10454 +
10455 +#: nscd/nscd.c:112
10456 +msgid "Shut the server down"
10457 +msgstr "Encerra o servidor"
10458 +
10459 +#: nscd/nscd.c:113
10460 +msgid "Print current configuration statistics"
10461 +msgstr "Reúne e imprime as estatísticas de configuração"
10462 +
10463 +#: nscd/nscd.c:114
10464 +msgid "TABLE"
10465 +msgstr "TABELA"
10466 +
10467 +#: nscd/nscd.c:115
10468 +msgid "Invalidate the specified cache"
10469 +msgstr "Invalida o cache especificado"
10470 +
10471 +#: nscd/nscd.c:116
10472 +msgid "TABLE,yes"
10473 +msgstr "TABELA,sim"
10474 +
10475 +#: nscd/nscd.c:117
10476 +msgid "Use separate cache for each user"
10477 +msgstr "Usa um cache separado para cada usuário"
10478 +
10479 +#: nscd/nscd.c:122
10480 +msgid "Name Service Cache Daemon."
10481 +msgstr "Daemon de cache de serviço de nomes."
10482 +
10483 +#: nscd/nscd.c:155 nss/getent.c:947 nss/makedb.c:206
10484 +#, c-format
10485 +msgid "wrong number of arguments"
10486 +msgstr "número incorreto de argumentos"
10487 +
10488 +#: nscd/nscd.c:165
10489 +#, c-format
10490 +msgid "failure while reading configuration file; this is fatal"
10491 +msgstr "falha ao ler arquivo de configuração; isto é fatal"
10492 +
10493 +#: nscd/nscd.c:174
10494 +#, c-format
10495 +msgid "already running"
10496 +msgstr "já está em execução"
10497 +
10498 +#: nscd/nscd.c:194
10499 +#, c-format
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"
10502 +
10503 +#: nscd/nscd.c:198
10504 +#, c-format
10505 +msgid "cannot fork"
10506 +msgstr "não foi possível bifurcar (fork)"
10507 +
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 “/”"
10511 +
10512 +#: nscd/nscd.c:276
10513 +msgid "Could not create log file"
10514 +msgstr "Não foi possível criar o arquivo de log"
10515 +
10516 +#: nscd/nscd.c:355 nscd/nscd_stat.c:209
10517 +#, c-format
10518 +msgid "write incomplete"
10519 +msgstr "escrita incompleta"
10520 +
10521 +#: nscd/nscd.c:366
10522 +#, c-format
10523 +msgid "cannot read invalidate ACK"
10524 +msgstr "não foi possível ler ACK inválida"
10525 +
10526 +#: nscd/nscd.c:372
10527 +#, c-format
10528 +msgid "invalidation failed"
10529 +msgstr "invalidação falhou"
10530 +
10531 +#: nscd/nscd.c:417 nscd/nscd.c:442 nscd/nscd_stat.c:190
10532 +#, c-format
10533 +msgid "Only root is allowed to use this option!"
10534 +msgstr "Somente o superusuário pode usar esta opção!"
10535 +
10536 +#: nscd/nscd.c:437
10537 +#, c-format
10538 +msgid "'%s' is not a known database"
10539 +msgstr "“%s” não é um banco de dados conhecido"
10540 +
10541 +#: nscd/nscd.c:452
10542 +#, c-format
10543 +msgid "secure services not implemented anymore"
10544 +msgstr "serviços seguros não mais implementado"
10545 +
10546 +#: nscd/nscd.c:485
10547 +#, c-format
10548 +msgid ""
10549 +"Supported tables:\n"
10550 +"%s\n"
10551 +"\n"
10552 +"For bug reporting instructions, please see:\n"
10553 +"%s.\n"
10554 +msgstr ""
10555 +"Há suporte às seguintes tabelas:\n"
10556 +"%s\n"
10557 +"\n"
10558 +"Para instruções sobre como relatar erros, por favor veja:\n"
10559 +"%s.\n"
10560 +
10561 +#: nscd/nscd.c:635
10562 +#, c-format
10563 +msgid "'wait' failed\n"
10564 +msgstr "“wait” falhou\n"
10565 +
10566 +#: nscd/nscd.c:642
10567 +#, c-format
10568 +msgid "child exited with status %d\n"
10569 +msgstr "processo filho saiu com erro %d\n"
10570 +
10571 +#: nscd/nscd.c:647
10572 +#, c-format
10573 +msgid "child terminated by signal %d\n"
10574 +msgstr "processo filho terminado pelo sinal %d\n"
10575 +
10576 +#: nscd/nscd_conf.c:54
10577 +#, c-format
10578 +msgid "database %s is not supported"
10579 +msgstr "sem suporte ao banco de dados %s"
10580 +
10581 +#: nscd/nscd_conf.c:105
10582 +#, c-format
10583 +msgid "Parse error: %s"
10584 +msgstr "Erro de análise: %s"
10585 +
10586 +#: nscd/nscd_conf.c:191
10587 +#, c-format
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”"
10590 +
10591 +#: nscd/nscd_conf.c:198
10592 +#, c-format
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”"
10595 +
10596 +#: nscd/nscd_conf.c:255
10597 +#, c-format
10598 +msgid "Must specify value for restart-interval option"
10599 +msgstr "Deve-se especificar valor para a opção “restart-interval”"
10600 +
10601 +#: nscd/nscd_conf.c:269
10602 +#, c-format
10603 +msgid "Unknown option: %s %s %s"
10604 +msgstr "Opção desconhecida: %s %s %s"
10605 +
10606 +#: nscd/nscd_conf.c:282
10607 +#, c-format
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"
10610 +
10611 +#: nscd/nscd_conf.c:302
10612 +#, c-format
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"
10615 +
10616 +#: nscd/nscd_stat.c:159
10617 +#, c-format
10618 +msgid "cannot write statistics: %s"
10619 +msgstr "não foi possível escrever estatísticas: %s"
10620 +
10621 +#: nscd/nscd_stat.c:174
10622 +msgid "yes"
10623 +msgstr "sim"
10624 +
10625 +#: nscd/nscd_stat.c:175
10626 +msgid "no"
10627 +msgstr "não"
10628 +
10629 +#: nscd/nscd_stat.c:186
10630 +#, c-format
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!"
10633 +
10634 +#: nscd/nscd_stat.c:197
10635 +#, c-format
10636 +msgid "nscd not running!\n"
10637 +msgstr "nscd não está em execução!\n"
10638 +
10639 +#: nscd/nscd_stat.c:221
10640 +#, c-format
10641 +msgid "cannot read statistics data"
10642 +msgstr "não foi possível ler dados de estatística"
10643 +
10644 +#: nscd/nscd_stat.c:224
10645 +#, c-format
10646 +msgid ""
10647 +"nscd configuration:\n"
10648 +"\n"
10649 +"%15d server debug level\n"
10650 +msgstr ""
10651 +"configuração do nscd:\n"
10652 +"\n"
10653 +"%15d nível de depuração do servidor\n"
10654 +
10655 +#: nscd/nscd_stat.c:248
10656 +#, c-format
10657 +msgid "%3ud %2uh %2um %2lus server runtime\n"
10658 +msgstr "%3ud %2uh %2um %2lus tempo de execução do servidor\n"
10659 +
10660 +#: nscd/nscd_stat.c:251
10661 +#, c-format
10662 +msgid " %2uh %2um %2lus server runtime\n"
10663 +msgstr " %2uh %2um %2lus tempo de execução do servidor\n"
10664 +
10665 +#: nscd/nscd_stat.c:253
10666 +#, c-format
10667 +msgid " %2um %2lus server runtime\n"
10668 +msgstr " %2um %2lus tempo de execução do servidor\n"
10669 +
10670 +#: nscd/nscd_stat.c:255
10671 +#, c-format
10672 +msgid " %2lus server runtime\n"
10673 +msgstr " %2lus tempo de execução do servidor\n"
10674 +
10675 +#: nscd/nscd_stat.c:257
10676 +#, c-format
10677 +msgid ""
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"
10684 +msgstr ""
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"
10691 +
10692 +#: nscd/nscd_stat.c:292
10693 +#, c-format
10694 +msgid ""
10695 +"\n"
10696 +"%s cache:\n"
10697 +"\n"
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"
10718 +msgstr ""
10719 +"\n"
10720 +"cache %s:\n"
10721 +"\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"
10742 +
10743 +#: nscd/pwdcache.c:439
10744 +#, c-format
10745 +msgid "Haven't found \"%s\" in password cache!"
10746 +msgstr "Não foi encontrado “%s” no cache de senhas!"
10747 +
10748 +#: nscd/pwdcache.c:441
10749 +#, c-format
10750 +msgid "Reloading \"%s\" in password cache!"
10751 +msgstr "Recarregando “%s” no cache de senhas!"
10752 +
10753 +#: nscd/pwdcache.c:522
10754 +#, c-format
10755 +msgid "Invalid numeric uid \"%s\"!"
10756 +msgstr "UID numérico inválido “%s”!"
10757 +
10758 +#: nscd/selinux.c:154
10759 +#, c-format
10760 +msgid "Failed opening connection to the audit subsystem: %m"
10761 +msgstr "Falha ao abrir conexão com o subsistema de auditoria: %m"
10762 +
10763 +#: nscd/selinux.c:175
10764 +msgid "Failed to set keep-capabilities"
10765 +msgstr "Falha ao definir capacidades a serem mantidas"
10766 +
10767 +#: nscd/selinux.c:176 nscd/selinux.c:239
10768 +msgid "prctl(KEEPCAPS) failed"
10769 +msgstr "prctl(KEEPCAPS) falhou"
10770 +
10771 +#: nscd/selinux.c:190
10772 +msgid "Failed to initialize drop of capabilities"
10773 +msgstr "Falha ao inicializar descarte de capacidades"
10774 +
10775 +#: nscd/selinux.c:191
10776 +msgid "cap_init failed"
10777 +msgstr "cap_init falhou"
10778 +
10779 +#: nscd/selinux.c:212 nscd/selinux.c:229
10780 +msgid "Failed to drop capabilities"
10781 +msgstr "Falha ao descartar capacidades"
10782 +
10783 +#: nscd/selinux.c:213 nscd/selinux.c:230
10784 +msgid "cap_set_proc failed"
10785 +msgstr "cap_set_proc falhou"
10786 +
10787 +#: nscd/selinux.c:238
10788 +msgid "Failed to unset keep-capabilities"
10789 +msgstr "Falha ao remover definição de capacidades a serem mantidas"
10790 +
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"
10794 +
10795 +#: nscd/selinux.c:269
10796 +msgid "Failed to start AVC thread"
10797 +msgstr "Falha ao iniciar fluxo de AVC"
10798 +
10799 +#: nscd/selinux.c:291
10800 +msgid "Failed to create AVC lock"
10801 +msgstr "Falha ao criar trava de AVC"
10802 +
10803 +#: nscd/selinux.c:331
10804 +msgid "Failed to start AVC"
10805 +msgstr "Falha ao iniciar AVC"
10806 +
10807 +#: nscd/selinux.c:333
10808 +msgid "Access Vector Cache (AVC) started"
10809 +msgstr "Cache do Vetor de Acesso (AVC) iniciado"
10810 +
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."
10814 +
10815 +#: nscd/selinux.c:375
10816 +msgid "Error getting security class for nscd."
10817 +msgstr "Erro ao obter classe de segurança para nscd."
10818 +
10819 +#: nscd/selinux.c:380
10820 +#, c-format
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."
10823 +
10824 +#: nscd/selinux.c:390
10825 +msgid "Error getting context of socket peer"
10826 +msgstr "Erro ao obter contexto do soquete da outra ponta"
10827 +
10828 +#: nscd/selinux.c:395
10829 +msgid "Error getting context of nscd"
10830 +msgstr "Erro ao obter um contexto do nscd"
10831 +
10832 +#: nscd/selinux.c:401
10833 +msgid "Error getting sid from context"
10834 +msgstr "Erro ao obter sid do contexto"
10835 +
10836 +#: nscd/selinux.c:439
10837 +#, c-format
10838 +msgid ""
10839 +"\n"
10840 +"SELinux AVC Statistics:\n"
10841 +"\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"
10847 +"%15u CAV hits\n"
10848 +"%15u CAV probes\n"
10849 +"%15u CAV misses\n"
10850 +msgstr ""
10851 +"\n"
10852 +"Estatísticas do AVC do SELinux:\n"
10853 +"\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"
10862 +
10863 +#: nscd/servicescache.c:387
10864 +#, c-format
10865 +msgid "Haven't found \"%s\" in services cache!"
10866 +msgstr "Não foi encontrado “%s” no cache de serviços!"
10867 +
10868 +#: nscd/servicescache.c:389
10869 +#, c-format
10870 +msgid "Reloading \"%s\" in services cache!"
10871 +msgstr "Recarregando “%s” no cache de serviços!"
10872 +
10873 +#: nss/getent.c:53
10874 +msgid "database [key ...]"
10875 +msgstr "base_de_dados [chave ...]"
10876 +
10877 +#: nss/getent.c:58
10878 +msgid "CONFIG"
10879 +msgstr "CONFIG"
10880 +
10881 +#: nss/getent.c:58
10882 +msgid "Service configuration to be used"
10883 +msgstr "Serviço de configuração a ser usado"
10884 +
10885 +#: nss/getent.c:59
10886 +msgid "disable IDN encoding"
10887 +msgstr "desabilita codificação de IDN"
10888 +
10889 +#: nss/getent.c:64
10890 +msgid "Get entries from administrative database."
10891 +msgstr "Obtém registros de banco de dados administrativo."
10892 +
10893 +#: nss/getent.c:148 nss/getent.c:441 nss/getent.c:486
10894 +#, c-format
10895 +msgid "Enumeration not supported on %s\n"
10896 +msgstr "Sem suporte a enumeração no %s\n"
10897 +
10898 +#: nss/getent.c:861
10899 +#, c-format
10900 +msgid "Unknown database name"
10901 +msgstr "Nome de banco de dados desconhecido"
10902 +
10903 +#: nss/getent.c:891
10904 +msgid "Supported databases:\n"
10905 +msgstr "Há suporte aos seguintes bancos de dados:\n"
10906 +
10907 +#: nss/getent.c:957
10908 +#, c-format
10909 +msgid "Unknown database: %s\n"
10910 +msgstr "Base de dados desconhecida: %s\n"
10911 +
10912 +#: nss/makedb.c:119
10913 +msgid "Convert key to lower case"
10914 +msgstr "Converte chave para letras minúsculas"
10915 +
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"
10919 +
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"
10923 +
10924 +#: nss/makedb.c:125
10925 +msgid "CHAR"
10926 +msgstr "CARACT"
10927 +
10928 +#: nss/makedb.c:126
10929 +msgid "Generated line not part of iteration"
10930 +msgstr "Linha gerada não é parte da iteração"
10931 +
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."
10935 +
10936 +#: nss/makedb.c:134
10937 +msgid ""
10938 +"INPUT-FILE OUTPUT-FILE\n"
10939 +"-o OUTPUT-FILE INPUT-FILE\n"
10940 +"-u INPUT-FILE"
10941 +msgstr ""
10942 +"ARQUIVO-ENTRADA ARQUIVO-SAÍDA\n"
10943 +"-o ARQUIVO-SAÍDA ARQUIVO-ENTRADA\n"
10944 +"-u ARQUIVO-ENTRADA"
10945 +
10946 +#: nss/makedb.c:227
10947 +#, c-format
10948 +msgid "cannot open database file `%s'"
10949 +msgstr "não foi possível abrir o arquivo de banco de dados “%s”"
10950 +
10951 +#: nss/makedb.c:272
10952 +#, c-format
10953 +msgid "no entries to be processed"
10954 +msgstr "nenhum registro a ser processado"
10955 +
10956 +#: nss/makedb.c:282
10957 +#, c-format
10958 +msgid "cannot create temporary file name"
10959 +msgstr "não foi possível criar um nome de arquivo temporário"
10960 +
10961 +#: nss/makedb.c:288
10962 +#, c-format
10963 +msgid "cannot create temporary file"
10964 +msgstr "não foi possível criar um arquivo temporário"
10965 +
10966 +#: nss/makedb.c:304
10967 +#, c-format
10968 +msgid "cannot stat newly created file"
10969 +msgstr "não foi possível obter estado do arquivo recém-criado"
10970 +
10971 +#: nss/makedb.c:315
10972 +#, c-format
10973 +msgid "cannot rename temporary file"
10974 +msgstr "não foi possível renomear o arquivo temporário"
10975 +
10976 +#: nss/makedb.c:527 nss/makedb.c:550
10977 +#, c-format
10978 +msgid "cannot create search tree"
10979 +msgstr "não foi possível criar árvore de pesquisa"
10980 +
10981 +#: nss/makedb.c:556
10982 +msgid "duplicate key"
10983 +msgstr "chave duplicada"
10984 +
10985 +#: nss/makedb.c:568
10986 +#, c-format
10987 +msgid "problems while reading `%s'"
10988 +msgstr "problemas durante a leitura de “%s”"
10989 +
10990 +#: nss/makedb.c:795
10991 +#, c-format
10992 +msgid "failed to write new database file"
10993 +msgstr "falha ao escrever novo arquivo de banco de dados"
10994 +
10995 +#: nss/makedb.c:808
10996 +#, c-format
10997 +msgid "cannot stat database file"
10998 +msgstr "não foi possível obter estado do arquivo de banco de dados"
10999 +
11000 +#: nss/makedb.c:813
11001 +#, c-format
11002 +msgid "cannot map database file"
11003 +msgstr "não foi possível mapear o arquivo de banco de dados"
11004 +
11005 +#: nss/makedb.c:816
11006 +#, c-format
11007 +msgid "file not a database file"
11008 +msgstr "o arquivo não é um arquivo de banco de dados"
11009 +
11010 +#: nss/makedb.c:867
11011 +#, c-format
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”"
11014 +
11015 +#: posix/getconf.c:417
11016 +#, c-format
11017 +msgid "Usage: %s [-v specification] variable_name [pathname]\n"
11018 +msgstr "Uso: %s [-v especificação] nome_da_variável [caminho]\n"
11019 +
11020 +#: posix/getconf.c:420
11021 +#, c-format
11022 +msgid " %s -a [pathname]\n"
11023 +msgstr " %s -a [caminho]\n"
11024 +
11025 +#: posix/getconf.c:496
11026 +#, c-format
11027 +msgid ""
11028 +"Usage: getconf [-v SPEC] VAR\n"
11029 +" or: getconf [-v SPEC] PATH_VAR PATH\n"
11030 +"\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"
11034 +"\n"
11035 +msgstr ""
11036 +"Uso: getconf [-v ESPEC] VAR\n"
11037 +" ou: getconf [-v ESPEC] VAR_CAMINHO CAMINHO\n"
11038 +"\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"
11042 +"\n"
11043 +
11044 +#: posix/getconf.c:572
11045 +#, c-format
11046 +msgid "unknown specification \"%s\""
11047 +msgstr "especificação desconhecida “%s”"
11048 +
11049 +#: posix/getconf.c:624
11050 +#, c-format
11051 +msgid "Couldn't execute %s"
11052 +msgstr "Não foi possível executar %s"
11053 +
11054 +#: posix/getconf.c:669 posix/getconf.c:685
11055 +msgid "undefined"
11056 +msgstr "indefinido"
11057 +
11058 +#: posix/getconf.c:707
11059 +#, c-format
11060 +msgid "Unrecognized variable `%s'"
11061 +msgstr "Variável não reconhecida “%s”"
11062 +
11063 +#: posix/getopt.c:277
11064 +#, c-format
11065 +msgid "%s: option '%s%s' is ambiguous\n"
11066 +msgstr "%s: a opção “%s%s” é ambígua\n"
11067 +
11068 +#: posix/getopt.c:283
11069 +#, c-format
11070 +msgid "%s: option '%s%s' is ambiguous; possibilities:"
11071 +msgstr "%s: a opção “%s%s” é ambígua; possibilidades:"
11072 +
11073 +#: posix/getopt.c:318
11074 +#, c-format
11075 +msgid "%s: unrecognized option '%s%s'\n"
11076 +msgstr "%s: opção não reconhecida “%s%s”\n"
11077 +
11078 +#: posix/getopt.c:344
11079 +#, c-format
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"
11082 +
11083 +#: posix/getopt.c:359
11084 +#, c-format
11085 +msgid "%s: option '%s%s' requires an argument\n"
11086 +msgstr "%s: a opção “%s%s” requer um argumento\n"
11087 +
11088 +#: posix/getopt.c:620
11089 +#, c-format
11090 +msgid "%s: invalid option -- '%c'\n"
11091 +msgstr "%s: opção inválida -- “%c”\n"
11092 +
11093 +#: posix/getopt.c:635 posix/getopt.c:681
11094 +#, c-format
11095 +msgid "%s: option requires an argument -- '%c'\n"
11096 +msgstr "%s: a opção requer um argumento -- “%c”\n"
11097 +
11098 +#: posix/regcomp.c:140
11099 +msgid "No match"
11100 +msgstr "Não confere"
11101 +
11102 +#: posix/regcomp.c:143
11103 +msgid "Invalid regular expression"
11104 +msgstr "Expressão regular inválida"
11105 +
11106 +#: posix/regcomp.c:146
11107 +msgid "Invalid collation character"
11108 +msgstr "Caractere de comparação inválido"
11109 +
11110 +#: posix/regcomp.c:149
11111 +msgid "Invalid character class name"
11112 +msgstr "Nome de classe de caractere inválido"
11113 +
11114 +#: posix/regcomp.c:152
11115 +msgid "Trailing backslash"
11116 +msgstr "Barra invertida final"
11117 +
11118 +#: posix/regcomp.c:155
11119 +msgid "Invalid back reference"
11120 +msgstr "Referência anterior inválida"
11121 +
11122 +#: posix/regcomp.c:158
11123 +msgid "Unmatched [ or [^"
11124 +msgstr "[ ou [^ descasados"
11125 +
11126 +#: posix/regcomp.c:161
11127 +msgid "Unmatched ( or \\("
11128 +msgstr "( ou \\( descasados"
11129 +
11130 +#: posix/regcomp.c:164
11131 +msgid "Unmatched \\{"
11132 +msgstr "\\{ descasado"
11133 +
11134 +#: posix/regcomp.c:167
11135 +msgid "Invalid content of \\{\\}"
11136 +msgstr "Conteúdo inválido de \\{\\}"
11137 +
11138 +#: posix/regcomp.c:170
11139 +msgid "Invalid range end"
11140 +msgstr "Intervalo final inválida"
11141 +
11142 +#: posix/regcomp.c:173
11143 +msgid "Memory exhausted"
11144 +msgstr "Memória esgotada"
11145 +
11146 +#: posix/regcomp.c:176
11147 +msgid "Invalid preceding regular expression"
11148 +msgstr "Expressão regular precedente inválida"
11149 +
11150 +#: posix/regcomp.c:179
11151 +msgid "Premature end of regular expression"
11152 +msgstr "Fim prematuro da expressão regular"
11153 +
11154 +#: posix/regcomp.c:182
11155 +msgid "Regular expression too big"
11156 +msgstr "Expressão regular muito longa"
11157 +
11158 +#: posix/regcomp.c:185
11159 +msgid "Unmatched ) or \\)"
11160 +msgstr ") ou \\) descasados"
11161 +
11162 +#: posix/regcomp.c:675
11163 +msgid "No previous regular expression"
11164 +msgstr "Não há expressão regular anterior"
11165 +
11166 +#: posix/wordexp.c:1803
11167 +msgid "parameter null or not set"
11168 +msgstr "parâmetro nulo ou não definido"
11169 +
11170 +#: resolv/herror.c:63
11171 +msgid "Resolver Error 0 (no error)"
11172 +msgstr "Erro de resolvedor 0 (não há erro)"
11173 +
11174 +#: resolv/herror.c:64
11175 +msgid "Unknown host"
11176 +msgstr "Host desconhecido"
11177 +
11178 +#: resolv/herror.c:65
11179 +msgid "Host name lookup failure"
11180 +msgstr "Falha na procura do nome de host"
11181 +
11182 +#: resolv/herror.c:66
11183 +msgid "Unknown server error"
11184 +msgstr "Erro desconhecido de servidor"
11185 +
11186 +#: resolv/herror.c:67
11187 +msgid "No address associated with name"
11188 +msgstr "Não há endereço associado com o nome"
11189 +
11190 +#: resolv/herror.c:102
11191 +msgid "Resolver internal error"
11192 +msgstr "Erro interno do resolvedor"
11193 +
11194 +#: resolv/herror.c:105
11195 +msgid "Unknown resolver error"
11196 +msgstr "Erro desconhecido do resolvedor"
11197 +
11198 +#: resolv/res_hconf.c:118
11199 +#, c-format
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"
11202 +
11203 +#: resolv/res_hconf.c:139
11204 +#, c-format
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"
11207 +
11208 +#: resolv/res_hconf.c:176
11209 +#, c-format
11210 +msgid "%s: line %d: expected `on' or `off', found `%s'\n"
11211 +msgstr "%s: linha %d: esperava “on” ou “off”, encontrou “%s”\n"
11212 +
11213 +#: resolv/res_hconf.c:219
11214 +#, c-format
11215 +msgid "%s: line %d: bad command `%s'\n"
11216 +msgstr "%s: linha %d: comando inválido “%s”\n"
11217 +
11218 +#: resolv/res_hconf.c:252
11219 +#, c-format
11220 +msgid "%s: line %d: ignoring trailing garbage `%s'\n"
11221 +msgstr "%s: linha %d: ignorando lixo ao final “%s”\n"
11222 +
11223 +#: stdio-common/psiginfo-data.h:2
11224 +msgid "Illegal opcode"
11225 +msgstr "Código de operação ilegal"
11226 +
11227 +#: stdio-common/psiginfo-data.h:3
11228 +msgid "Illegal operand"
11229 +msgstr "Operando ilegal"
11230 +
11231 +#: stdio-common/psiginfo-data.h:4
11232 +msgid "Illegal addressing mode"
11233 +msgstr "Modo de endereçamento ilegal"
11234 +
11235 +#: stdio-common/psiginfo-data.h:5
11236 +msgid "Illegal trap"
11237 +msgstr "Armadilha ilegal"
11238 +
11239 +#: stdio-common/psiginfo-data.h:6
11240 +msgid "Privileged opcode"
11241 +msgstr "Código de operação privilegiado"
11242 +
11243 +#: stdio-common/psiginfo-data.h:7
11244 +msgid "Privileged register"
11245 +msgstr "Registrador privilegiado"
11246 +
11247 +#: stdio-common/psiginfo-data.h:8
11248 +msgid "Coprocessor error"
11249 +msgstr "Erro do coprocessador"
11250 +
11251 +#: stdio-common/psiginfo-data.h:9
11252 +msgid "Internal stack error"
11253 +msgstr "Erro interno da pilha"
11254 +
11255 +#: stdio-common/psiginfo-data.h:12
11256 +msgid "Integer divide by zero"
11257 +msgstr "Divisão de inteiro por zero"
11258 +
11259 +#: stdio-common/psiginfo-data.h:13
11260 +msgid "Integer overflow"
11261 +msgstr "Estouro de valor inteiro"
11262 +
11263 +#: stdio-common/psiginfo-data.h:14
11264 +msgid "Floating-point divide by zero"
11265 +msgstr "Divisão de ponto flutuante por zero"
11266 +
11267 +#: stdio-common/psiginfo-data.h:15
11268 +msgid "Floating-point overflow"
11269 +msgstr "Estouro de ponto flutuante"
11270 +
11271 +#: stdio-common/psiginfo-data.h:16
11272 +msgid "Floating-point underflow"
11273 +msgstr "Estouro negativo de ponto flutuante"
11274 +
11275 +#: stdio-common/psiginfo-data.h:17
11276 +msgid "Floating-poing inexact result"
11277 +msgstr "Resultado inexato de ponto flutuante"
11278 +
11279 +#: stdio-common/psiginfo-data.h:18
11280 +msgid "Invalid floating-point operation"
11281 +msgstr "Operação inválida de ponto flutuante"
11282 +
11283 +#: stdio-common/psiginfo-data.h:19
11284 +msgid "Subscript out of range"
11285 +msgstr "Subscrito fora da faixa"
11286 +
11287 +#: stdio-common/psiginfo-data.h:22
11288 +msgid "Address not mapped to object"
11289 +msgstr "Endereço não mapeado ao objeto"
11290 +
11291 +#: stdio-common/psiginfo-data.h:23
11292 +msgid "Invalid permissions for mapped object"
11293 +msgstr "Permissões inválidas para objeto mapeado"
11294 +
11295 +#: stdio-common/psiginfo-data.h:26
11296 +msgid "Invalid address alignment"
11297 +msgstr "Alinhamento inválido de endereço"
11298 +
11299 +#: stdio-common/psiginfo-data.h:27
11300 +msgid "Nonexisting physical address"
11301 +msgstr "Endereço físico inexistente"
11302 +
11303 +#: stdio-common/psiginfo-data.h:28
11304 +msgid "Object-specific hardware error"
11305 +msgstr "Erro de hardware específico do objeto"
11306 +
11307 +#: stdio-common/psiginfo-data.h:31
11308 +msgid "Process breakpoint"
11309 +msgstr "Ponto de interrupção de processo"
11310 +
11311 +#: stdio-common/psiginfo-data.h:32
11312 +msgid "Process trace trap"
11313 +msgstr "Interrupção de rastreamento de processo"
11314 +
11315 +#: stdio-common/psiginfo-data.h:35
11316 +msgid "Child has exited"
11317 +msgstr "Processo filho saiu"
11318 +
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"
11322 +
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"
11326 +
11327 +#: stdio-common/psiginfo-data.h:38
11328 +msgid "Traced child has trapped"
11329 +msgstr "Processo filho rastreado atingiu uma armadilha"
11330 +
11331 +#: stdio-common/psiginfo-data.h:39
11332 +msgid "Child has stopped"
11333 +msgstr "Processo filho parou"
11334 +
11335 +#: stdio-common/psiginfo-data.h:40
11336 +msgid "Stopped child has continued"
11337 +msgstr "Processo filho parado continuou"
11338 +
11339 +#: stdio-common/psiginfo-data.h:43
11340 +msgid "Data input available"
11341 +msgstr "Entrada de dados disponível"
11342 +
11343 +#: stdio-common/psiginfo-data.h:44
11344 +msgid "Output buffers available"
11345 +msgstr "Buffers de saída disponíveis"
11346 +
11347 +#: stdio-common/psiginfo-data.h:45
11348 +msgid "Input message available"
11349 +msgstr "Mensagem de entrada disponível"
11350 +
11351 +#: stdio-common/psiginfo-data.h:46 timezone/zdump.c:381 timezone/zic.c:520
11352 +msgid "I/O error"
11353 +msgstr "Erro de E/S"
11354 +
11355 +#: stdio-common/psiginfo-data.h:47
11356 +msgid "High priority input available"
11357 +msgstr "Entrada de prioridade muito alta disponível"
11358 +
11359 +#: stdio-common/psiginfo-data.h:48
11360 +msgid "Device disconnected"
11361 +msgstr "Dispositivo desconectado"
11362 +
11363 +#: stdio-common/psiginfo.c:140
11364 +msgid "Signal sent by kill()"
11365 +msgstr "Sinal enviado por kill()"
11366 +
11367 +#: stdio-common/psiginfo.c:143
11368 +msgid "Signal sent by sigqueue()"
11369 +msgstr "Sinal enviado por sigqueue()"
11370 +
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"
11374 +
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"
11378 +
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"
11382 +
11383 +#: stdio-common/psiginfo.c:158
11384 +msgid "Signal sent by tkill()"
11385 +msgstr "Sinal enviado por tkill()"
11386 +
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"
11390 +
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"
11394 +
11395 +#: stdio-common/psiginfo.c:175
11396 +msgid "Signal sent by the kernel"
11397 +msgstr "Sinal enviado pelo kernel"
11398 +
11399 +#: stdio-common/psiginfo.c:199
11400 +#, c-format
11401 +msgid "Unknown signal %d\n"
11402 +msgstr "Sinal desconhecido %d\n"
11403 +
11404 +#: stdio-common/psignal.c:43
11405 +#, c-format
11406 +msgid "%s%sUnknown signal %d\n"
11407 +msgstr "%s%sSinal desconhecido %d\n"
11408 +
11409 +#: stdio-common/psignal.c:44
11410 +msgid "Unknown signal"
11411 +msgstr "Sinal desconhecido"
11412 +
11413 +#: string/_strerror.c:45 sysdeps/mach/_strerror.c:86
11414 +msgid "Unknown error "
11415 +msgstr "Erro desconhecido "
11416 +
11417 +#: string/strerror.c:41
11418 +msgid "Unknown error"
11419 +msgstr "Erro desconhecido"
11420 +
11421 +#: string/strsignal.c:60
11422 +#, c-format
11423 +msgid "Real-time signal %d"
11424 +msgstr "Sinal de tempo-real %d"
11425 +
11426 +#: string/strsignal.c:64
11427 +#, c-format
11428 +msgid "Unknown signal %d"
11429 +msgstr "Sinal desconhecido %d"
11430 +
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"
11438 +
11439 +#: sunrpc/auth_unix.c:349
11440 +msgid "auth_unix.c: Fatal marshalling problem"
11441 +msgstr "auth_unix.c: Problema fatal de marshalling"
11442 +
11443 +#: sunrpc/clnt_perr.c:96 sunrpc/clnt_perr.c:112
11444 +#, c-format
11445 +msgid "%s: %s; low version = %lu, high version = %lu"
11446 +msgstr "%s: %s; versão baixa = %lu, versão alta = %lu"
11447 +
11448 +#: sunrpc/clnt_perr.c:103
11449 +#, c-format
11450 +msgid "%s: %s; why = %s\n"
11451 +msgstr "%s: %s; por que = %s\n"
11452 +
11453 +#: sunrpc/clnt_perr.c:105
11454 +#, c-format
11455 +msgid "%s: %s; why = (unknown authentication error - %d)\n"
11456 +msgstr "%s: %s; por que = (erro desconhecido de autenticação – %d)\n"
11457 +
11458 +#: sunrpc/clnt_perr.c:154
11459 +msgid "RPC: Success"
11460 +msgstr "RPC: Sucesso"
11461 +
11462 +#: sunrpc/clnt_perr.c:157
11463 +msgid "RPC: Can't encode arguments"
11464 +msgstr "RPC: não foi possível codificar argumentos"
11465 +
11466 +#: sunrpc/clnt_perr.c:161
11467 +msgid "RPC: Can't decode result"
11468 +msgstr "RPC: não foi possível decodificar resultado"
11469 +
11470 +#: sunrpc/clnt_perr.c:165
11471 +msgid "RPC: Unable to send"
11472 +msgstr "RPC: não foi possível enviar"
11473 +
11474 +#: sunrpc/clnt_perr.c:169
11475 +msgid "RPC: Unable to receive"
11476 +msgstr "RPC: não foi possível receber"
11477 +
11478 +#: sunrpc/clnt_perr.c:173
11479 +msgid "RPC: Timed out"
11480 +msgstr "RPC: Tempo esgotado"
11481 +
11482 +#: sunrpc/clnt_perr.c:177
11483 +msgid "RPC: Incompatible versions of RPC"
11484 +msgstr "RPC: Versões incompatíveis de RPC"
11485 +
11486 +#: sunrpc/clnt_perr.c:181
11487 +msgid "RPC: Authentication error"
11488 +msgstr "RPC: Erro de autenticação"
11489 +
11490 +#: sunrpc/clnt_perr.c:185
11491 +msgid "RPC: Program unavailable"
11492 +msgstr "RPC: Programa indisponível"
11493 +
11494 +#: sunrpc/clnt_perr.c:189
11495 +msgid "RPC: Program/version mismatch"
11496 +msgstr "RPC: Programa/versão incompatíveis"
11497 +
11498 +#: sunrpc/clnt_perr.c:193
11499 +msgid "RPC: Procedure unavailable"
11500 +msgstr "RPC: Procedimento indisponível"
11501 +
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"
11505 +
11506 +#: sunrpc/clnt_perr.c:201
11507 +msgid "RPC: Remote system error"
11508 +msgstr "RPC: Erro remoto de sistema"
11509 +
11510 +#: sunrpc/clnt_perr.c:205
11511 +msgid "RPC: Unknown host"
11512 +msgstr "RPC: Host desconhecido"
11513 +
11514 +#: sunrpc/clnt_perr.c:209
11515 +msgid "RPC: Unknown protocol"
11516 +msgstr "RPC: Protocolo desconhecido"
11517 +
11518 +#: sunrpc/clnt_perr.c:213
11519 +msgid "RPC: Port mapper failure"
11520 +msgstr "RPC: Falha no Port mapper"
11521 +
11522 +#: sunrpc/clnt_perr.c:217
11523 +msgid "RPC: Program not registered"
11524 +msgstr "RPC: Programa não registrado"
11525 +
11526 +#: sunrpc/clnt_perr.c:221
11527 +msgid "RPC: Failed (unspecified error)"
11528 +msgstr "RPC: Falhou (erro não especificado)"
11529 +
11530 +#: sunrpc/clnt_perr.c:262
11531 +msgid "RPC: (unknown error code)"
11532 +msgstr "RPC: (código de erro desconhecido)"
11533 +
11534 +#: sunrpc/clnt_perr.c:334
11535 +msgid "Authentication OK"
11536 +msgstr "Autenticação OK"
11537 +
11538 +#: sunrpc/clnt_perr.c:337
11539 +msgid "Invalid client credential"
11540 +msgstr "Credencial de cliente inválido"
11541 +
11542 +#: sunrpc/clnt_perr.c:341
11543 +msgid "Server rejected credential"
11544 +msgstr "Servidor rejeitou credencial"
11545 +
11546 +#: sunrpc/clnt_perr.c:345
11547 +msgid "Invalid client verifier"
11548 +msgstr "Verificador de cliente inválido"
11549 +
11550 +#: sunrpc/clnt_perr.c:349
11551 +msgid "Server rejected verifier"
11552 +msgstr "Servidor rejeitou verificador"
11553 +
11554 +#: sunrpc/clnt_perr.c:353
11555 +msgid "Client credential too weak"
11556 +msgstr "Credencial do cliente muito fraca"
11557 +
11558 +#: sunrpc/clnt_perr.c:357
11559 +msgid "Invalid server verifier"
11560 +msgstr "Verificador de servidor inválido"
11561 +
11562 +#: sunrpc/clnt_perr.c:361
11563 +msgid "Failed (unspecified error)"
11564 +msgstr "Falha (erro não especificado)"
11565 +
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"
11569 +
11570 +#: sunrpc/pm_getmaps.c:78
11571 +msgid "pmap_getmaps.c: rpc problem"
11572 +msgstr "pmap_getmaps.c: problema de rpc"
11573 +
11574 +#: sunrpc/pmap_clnt.c:128
11575 +msgid "Cannot register service"
11576 +msgstr "Não foi possível registrar serviço"
11577 +
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"
11581 +
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"
11585 +
11586 +#: sunrpc/pmap_rmt.c:303
11587 +msgid "Cannot send broadcast packet"
11588 +msgstr "Não foi possível enviar pacote de broadcast"
11589 +
11590 +#: sunrpc/pmap_rmt.c:328
11591 +msgid "Broadcast poll problem"
11592 +msgstr "Problema na pesquisa de broadcast"
11593 +
11594 +#: sunrpc/pmap_rmt.c:341
11595 +msgid "Cannot receive reply to broadcast"
11596 +msgstr "Não foi possível receber resposta para broadcast"
11597 +
11598 +#: sunrpc/rpc_main.c:281
11599 +#, c-format
11600 +msgid "%s: output would overwrite %s\n"
11601 +msgstr "%s: saída poderá sobrescrever %s\n"
11602 +
11603 +#: sunrpc/rpc_main.c:288
11604 +#, c-format
11605 +msgid "%s: unable to open %s: %m\n"
11606 +msgstr "%s: não foi possível abrir %s: %m\n"
11607 +
11608 +#: sunrpc/rpc_main.c:300
11609 +#, c-format
11610 +msgid "%s: while writing output %s: %m"
11611 +msgstr "%s: ao escrever saída %s: %m"
11612 +
11613 +#: sunrpc/rpc_main.c:336 sunrpc/rpc_main.c:375
11614 +#, c-format
11615 +msgid "cannot find C preprocessor: %s\n"
11616 +msgstr "não foi possível localizar pré-processador C: %s\n"
11617 +
11618 +#: sunrpc/rpc_main.c:411
11619 +#, c-format
11620 +msgid "%s: C preprocessor failed with signal %d\n"
11621 +msgstr "%s: pré-processador C falhou com sinal %d\n"
11622 +
11623 +#: sunrpc/rpc_main.c:414
11624 +#, c-format
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"
11627 +
11628 +#: sunrpc/rpc_main.c:454
11629 +#, c-format
11630 +msgid "illegal nettype: `%s'\n"
11631 +msgstr "nettype ilegal: “%s”\n"
11632 +
11633 +#: sunrpc/rpc_main.c:1089
11634 +#, c-format
11635 +msgid "rpcgen: too many defines\n"
11636 +msgstr "rpcgen: número excessivo de definições\n"
11637 +
11638 +#: sunrpc/rpc_main.c:1101
11639 +#, c-format
11640 +msgid "rpcgen: arglist coding error\n"
11641 +msgstr "rpcgen: erro na codificação de parâmetros\n"
11642 +
11643 +#. TRANS: the file will not be removed; this is an
11644 +#. TRANS: informative message.
11645 +#: sunrpc/rpc_main.c:1134
11646 +#, c-format
11647 +msgid "file `%s' already exists and may be overwritten\n"
11648 +msgstr "o arquivo “%s” já existe e pode ser sobrescrito\n"
11649 +
11650 +#: sunrpc/rpc_main.c:1179
11651 +#, c-format
11652 +msgid "Cannot specify more than one input file!\n"
11653 +msgstr "Não é possível especificar mais de um arquivo de entrada!\n"
11654 +
11655 +#: sunrpc/rpc_main.c:1349
11656 +#, c-format
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"
11659 +
11660 +#: sunrpc/rpc_main.c:1358
11661 +#, c-format
11662 +msgid "Cannot use netid flag with inetd flag!\n"
11663 +msgstr "Não é possível usar tabela de indicadores com novo estilo!\n"
11664 +
11665 +#: sunrpc/rpc_main.c:1367
11666 +#, c-format
11667 +msgid "Cannot use netid flag without TIRPC!\n"
11668 +msgstr "Não é possível usar indicador netid sem TIRPC!\n"
11669 +
11670 +#: sunrpc/rpc_main.c:1374
11671 +#, c-format
11672 +msgid "Cannot use table flags with newstyle!\n"
11673 +msgstr "Não é possível usar indicadores de tabelas com novo estilo!\n"
11674 +
11675 +#: sunrpc/rpc_main.c:1393
11676 +#, c-format
11677 +msgid "\"infile\" is required for template generation flags.\n"
11678 +msgstr "“arq-entrada” é necessário para geração de indicadores do modelo.\n"
11679 +
11680 +#: sunrpc/rpc_main.c:1398
11681 +#, c-format
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"
11684 +
11685 +#: sunrpc/rpc_main.c:1407
11686 +#, c-format
11687 +msgid "usage: %s infile\n"
11688 +msgstr "uso: %s arq-entrada\n"
11689 +
11690 +#: sunrpc/rpc_main.c:1408
11691 +#, c-format
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"
11694 +
11695 +#: sunrpc/rpc_main.c:1410
11696 +#, c-format
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"
11699 +
11700 +#: sunrpc/rpc_main.c:1412
11701 +#, c-format
11702 +msgid "\t%s [-s nettype]* [-o outfile] [infile]\n"
11703 +msgstr "\t%s [-s tipo-rede]* [-o arq-saída] [arq-entrada]\n"
11704 +
11705 +#: sunrpc/rpc_main.c:1413
11706 +#, c-format
11707 +msgid "\t%s [-n netid]* [-o outfile] [infile]\n"
11708 +msgstr "\t%s [-n id-rede]* [-o arq-saída] [arq-entrada]\n"
11709 +
11710 +#: sunrpc/rpc_main.c:1421
11711 +#, c-format
11712 +msgid "options:\n"
11713 +msgstr "opções:\n"
11714 +
11715 +#: sunrpc/rpc_main.c:1422
11716 +#, c-format
11717 +msgid "-a\t\tgenerate all files, including samples\n"
11718 +msgstr "-a\t\tgera todos arquivos, incluindo amostras\n"
11719 +
11720 +#: sunrpc/rpc_main.c:1423
11721 +#, c-format
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"
11724 +
11725 +#: sunrpc/rpc_main.c:1424
11726 +#, c-format
11727 +msgid "-c\t\tgenerate XDR routines\n"
11728 +msgstr "-c\t\tgera rotinas XDR\n"
11729 +
11730 +#: sunrpc/rpc_main.c:1425
11731 +#, c-format
11732 +msgid "-C\t\tANSI C mode\n"
11733 +msgstr "-C\t\tmodo ANSI C\n"
11734 +
11735 +#: sunrpc/rpc_main.c:1426
11736 +#, c-format
11737 +msgid "-Dname[=value]\tdefine a symbol (same as #define)\n"
11738 +msgstr "-Dnome[=valor]\tdefine um símbolo (mesmos que #define)\n"
11739 +
11740 +#: sunrpc/rpc_main.c:1427
11741 +#, c-format
11742 +msgid "-h\t\tgenerate header file\n"
11743 +msgstr "-h\t\tgera arquivo de cabeçalho\n"
11744 +
11745 +#: sunrpc/rpc_main.c:1428
11746 +#, c-format
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"
11749 +
11750 +#: sunrpc/rpc_main.c:1429
11751 +#, c-format
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"
11754 +
11755 +#: sunrpc/rpc_main.c:1430
11756 +#, c-format
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"
11759 +
11760 +#: sunrpc/rpc_main.c:1431
11761 +#, c-format
11762 +msgid "-l\t\tgenerate client side stubs\n"
11763 +msgstr "-l\t\tgera stubs do lado do cliente\n"
11764 +
11765 +#: sunrpc/rpc_main.c:1432
11766 +#, c-format
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"
11769 +
11770 +#: sunrpc/rpc_main.c:1433
11771 +#, c-format
11772 +msgid "-m\t\tgenerate server side stubs\n"
11773 +msgstr "-l\t\tgera stubs do lado do servidor\n"
11774 +
11775 +#: sunrpc/rpc_main.c:1434
11776 +#, c-format
11777 +msgid "-M\t\tgenerate MT-safe code\n"
11778 +msgstr "-M\t\tgera código MT-safe\n"
11779 +
11780 +#: sunrpc/rpc_main.c:1435
11781 +#, c-format
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"
11784 +
11785 +#: sunrpc/rpc_main.c:1436
11786 +#, c-format
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"
11789 +
11790 +#: sunrpc/rpc_main.c:1437
11791 +#, c-format
11792 +msgid "-o outfile\tname of the output file\n"
11793 +msgstr "-o arq-saída\tnome do arquivo de saída\n"
11794 +
11795 +#: sunrpc/rpc_main.c:1438
11796 +#, c-format
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"
11799 +
11800 +#: sunrpc/rpc_main.c:1439
11801 +#, c-format
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"
11804 +
11805 +#: sunrpc/rpc_main.c:1440
11806 +#, c-format
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"
11809 +
11810 +#: sunrpc/rpc_main.c:1441
11811 +#, c-format
11812 +msgid "-Sm \t\tgenerate makefile template \n"
11813 +msgstr "-Sm \t\tgera modelo de makefile \n"
11814 +
11815 +#: sunrpc/rpc_main.c:1442
11816 +#, c-format
11817 +msgid "-t\t\tgenerate RPC dispatch table\n"
11818 +msgstr "-t\t\tgera tabela de expedição RPC\n"
11819 +
11820 +#: sunrpc/rpc_main.c:1443
11821 +#, c-format
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"
11824 +
11825 +#: sunrpc/rpc_main.c:1444
11826 +#, c-format
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"
11829 +
11830 +#: sunrpc/rpc_main.c:1445
11831 +#, c-format
11832 +msgid "-5\t\tSysVr4 compatibility mode\n"
11833 +msgstr "-5\t\tmodo de compatibilidade com SysVr4\n"
11834 +
11835 +#: sunrpc/rpc_main.c:1446
11836 +#, c-format
11837 +msgid "--help\t\tgive this help list\n"
11838 +msgstr "--help\t\tfornece essa lista de ajuda\n"
11839 +
11840 +#: sunrpc/rpc_main.c:1447
11841 +#, c-format
11842 +msgid "--version\tprint program version\n"
11843 +msgstr "--version\temite a versão do programa\n"
11844 +
11845 +#: sunrpc/rpc_main.c:1449
11846 +#, c-format
11847 +msgid ""
11848 +"\n"
11849 +"For bug reporting instructions, please see:\n"
11850 +"%s.\n"
11851 +msgstr ""
11852 +"\n"
11853 +"Para instruções sobre relatório de erro, veja:\n"
11854 +"%s.\n"
11855 +
11856 +#: sunrpc/rpc_scan.c:112
11857 +msgid "constant or identifier expected"
11858 +msgstr "identificador ou constante esperado"
11859 +
11860 +#: sunrpc/rpc_scan.c:308
11861 +msgid "illegal character in file: "
11862 +msgstr "caracteres ilegais no arquivo: "
11863 +
11864 +#: sunrpc/rpc_scan.c:347 sunrpc/rpc_scan.c:373
11865 +msgid "unterminated string constant"
11866 +msgstr "constante string não terminada"
11867 +
11868 +#: sunrpc/rpc_scan.c:379
11869 +msgid "empty char string"
11870 +msgstr "cadeia de caractere vazia"
11871 +
11872 +#: sunrpc/rpc_scan.c:521 sunrpc/rpc_scan.c:531
11873 +msgid "preprocessor error"
11874 +msgstr "Erro de pré-processador"
11875 +
11876 +#: sunrpc/svc_run.c:72
11877 +msgid "svc_run: - out of memory"
11878 +msgstr "svc_run: – memória insuficiente"
11879 +
11880 +#: sunrpc/svc_run.c:92
11881 +msgid "svc_run: - poll failed"
11882 +msgstr "svc_run: – poll falhou"
11883 +
11884 +#: sunrpc/svc_simple.c:80
11885 +#, c-format
11886 +msgid "can't reassign procedure number %ld\n"
11887 +msgstr "não é possível reatribuir número de procedimento %ld\n"
11888 +
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"
11892 +
11893 +#: sunrpc/svc_simple.c:98
11894 +#, c-format
11895 +msgid "couldn't register prog %ld vers %ld\n"
11896 +msgstr "não foi possível registrar prog %ld vers %ld\n"
11897 +
11898 +#: sunrpc/svc_simple.c:106
11899 +msgid "registerrpc: out of memory\n"
11900 +msgstr "registerrpc: memória insuficiente\n"
11901 +
11902 +#: sunrpc/svc_simple.c:169
11903 +#, c-format
11904 +msgid "trouble replying to prog %d\n"
11905 +msgstr "problemas ao responder ao prog %d\n"
11906 +
11907 +#: sunrpc/svc_simple.c:178
11908 +#, c-format
11909 +msgid "never registered prog %d\n"
11910 +msgstr "prog %d nunca registrado\n"
11911 +
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"
11915 +
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"
11919 +
11920 +#: sunrpc/svc_udp.c:136
11921 +msgid "svcudp_create: socket creation problem"
11922 +msgstr "svcudp_create: problema na criação socket"
11923 +
11924 +#: sunrpc/svc_udp.c:150
11925 +msgid "svcudp_create - cannot getsockname"
11926 +msgstr "svcudp_create – não foi possível getsockname"
11927 +
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"
11931 +
11932 +#: sunrpc/svc_udp.c:481
11933 +msgid "enablecache: cache already enabled"
11934 +msgstr "enablecache: cache já ativado"
11935 +
11936 +#: sunrpc/svc_udp.c:487
11937 +msgid "enablecache: could not allocate cache"
11938 +msgstr "enablecache: não foi possível alocar cache"
11939 +
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"
11943 +
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"
11947 +
11948 +#: sunrpc/svc_udp.c:540
11949 +msgid "cache_set: victim not found"
11950 +msgstr "cache_set: vítima não localizada"
11951 +
11952 +#: sunrpc/svc_udp.c:551
11953 +msgid "cache_set: victim alloc failed"
11954 +msgstr "cache_set: alocação de vítima falhou"
11955 +
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"
11959 +
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"
11963 +
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"
11967 +
11968 +#: sysdeps/generic/siglist.h:29
11969 +msgid "Hangup"
11970 +msgstr "Desconexão"
11971 +
11972 +#: sysdeps/generic/siglist.h:30
11973 +msgid "Interrupt"
11974 +msgstr "Interrupção"
11975 +
11976 +#: sysdeps/generic/siglist.h:31
11977 +msgid "Quit"
11978 +msgstr "Sair"
11979 +
11980 +#: sysdeps/generic/siglist.h:32
11981 +msgid "Illegal instruction"
11982 +msgstr "Instrução ilegal"
11983 +
11984 +#: sysdeps/generic/siglist.h:33
11985 +msgid "Trace/breakpoint trap"
11986 +msgstr "Trace/breakpoint trap"
11987 +
11988 +#: sysdeps/generic/siglist.h:34
11989 +msgid "Aborted"
11990 +msgstr "Abortado"
11991 +
11992 +#: sysdeps/generic/siglist.h:35
11993 +msgid "Floating point exception"
11994 +msgstr "Exceção de ponto flutuante"
11995 +
11996 +#: sysdeps/generic/siglist.h:36
11997 +msgid "Killed"
11998 +msgstr "Morto"
11999 +
12000 +#: sysdeps/generic/siglist.h:37
12001 +msgid "Bus error"
12002 +msgstr "Erro no barramento"
12003 +
12004 +#: sysdeps/generic/siglist.h:38
12005 +msgid "Bad system call"
12006 +msgstr "Chamada de sistema inválida"
12007 +
12008 +#: sysdeps/generic/siglist.h:39
12009 +msgid "Segmentation fault"
12010 +msgstr "Falha de segmentação"
12011 +
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"
12020 +
12021 +#: sysdeps/generic/siglist.h:41
12022 +msgid "Alarm clock"
12023 +msgstr "Alarme de tempo"
12024 +
12025 +#: sysdeps/generic/siglist.h:42
12026 +msgid "Terminated"
12027 +msgstr "Terminado"
12028 +
12029 +#: sysdeps/generic/siglist.h:43
12030 +msgid "Urgent I/O condition"
12031 +msgstr "Condição urgente de E/S"
12032 +
12033 +#: sysdeps/generic/siglist.h:44
12034 +msgid "Stopped (signal)"
12035 +msgstr "Parado (sinal)"
12036 +
12037 +#: sysdeps/generic/siglist.h:45
12038 +msgid "Stopped"
12039 +msgstr "Parado"
12040 +
12041 +#: sysdeps/generic/siglist.h:46
12042 +msgid "Continued"
12043 +msgstr "Continua"
12044 +
12045 +#: sysdeps/generic/siglist.h:47
12046 +msgid "Child exited"
12047 +msgstr "Filho finalizado"
12048 +
12049 +#: sysdeps/generic/siglist.h:48
12050 +msgid "Stopped (tty input)"
12051 +msgstr "Parado (entrada tty)"
12052 +
12053 +#: sysdeps/generic/siglist.h:49
12054 +msgid "Stopped (tty output)"
12055 +msgstr "Parado (saída tty)"
12056 +
12057 +#: sysdeps/generic/siglist.h:50
12058 +msgid "I/O possible"
12059 +msgstr "Possível E/S"
12060 +
12061 +#: sysdeps/generic/siglist.h:51
12062 +msgid "CPU time limit exceeded"
12063 +msgstr "Tempo de CPU excedido"
12064 +
12065 +#: sysdeps/generic/siglist.h:52
12066 +msgid "File size limit exceeded"
12067 +msgstr "Excedido tamanho limite de arquivo"
12068 +
12069 +#: sysdeps/generic/siglist.h:53
12070 +msgid "Virtual timer expired"
12071 +msgstr "Temporizador virtual expirado"
12072 +
12073 +#: sysdeps/generic/siglist.h:54
12074 +msgid "Profiling timer expired"
12075 +msgstr "Tempo expirado para perfilamento"
12076 +
12077 +#: sysdeps/generic/siglist.h:55
12078 +msgid "User defined signal 1"
12079 +msgstr "Sinal 1 definido pelo usuário"
12080 +
12081 +#: sysdeps/generic/siglist.h:56
12082 +msgid "User defined signal 2"
12083 +msgstr "Sinal 2 definido pelo usuário"
12084 +
12085 +#: sysdeps/generic/siglist.h:57
12086 +msgid "Window changed"
12087 +msgstr "Janela alterada"
12088 +
12089 +#: sysdeps/generic/siglist.h:61
12090 +msgid "EMT trap"
12091 +msgstr "Trap EMT"
12092 +
12093 +#: sysdeps/generic/siglist.h:64
12094 +msgid "Stack fault"
12095 +msgstr "Falha de pilha"
12096 +
12097 +#: sysdeps/generic/siglist.h:67
12098 +msgid "Power failure"
12099 +msgstr "Falha de energia"
12100 +
12101 +#: sysdeps/generic/siglist.h:70
12102 +msgid "Information request"
12103 +msgstr "Requisição de informação"
12104 +
12105 +#: sysdeps/generic/siglist.h:73
12106 +msgid "Resource lost"
12107 +msgstr "Recurso perdido"
12108 +
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"
12114 +
12115 +#. TRANS No process matches the specified process ID.
12116 +#: sysdeps/gnu/errlist.c:46
12117 +msgid "No such process"
12118 +msgstr "Processo inexistente"
12119 +
12120 +#. TRANS An asynchronous signal occurred and prevented
12121 +#. TRANS completion of the call. When this happens, you should try the call
12122 +#. TRANS again.
12123 +#. TRANS
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"
12130 +
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"
12135 +
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"
12144 +
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"
12152 +
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"
12158 +
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
12161 +#. TRANS versa).
12162 +#: sysdeps/gnu/errlist.c:116
12163 +msgid "Bad file descriptor"
12164 +msgstr "Descritor de arquivo inválido"
12165 +
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"
12172 +
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"
12180 +
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"
12186 +
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"
12192 +
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"
12199 +
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"
12206 +
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"
12212 +
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"
12219 +
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"
12225 +
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"
12230 +
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"
12236 +
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"
12242 +
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.
12245 +#. TRANS
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"
12253 +
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"
12260 +
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"
12266 +
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"
12275 +
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"
12280 +
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"
12286 +
12287 +#. TRANS Invalid seek operation (such as on a pipe).
12288 +#: sysdeps/gnu/errlist.c:327
12289 +msgid "Illegal seek"
12290 +msgstr "Procura ilegal"
12291 +
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"
12296 +
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"
12303 +
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"
12309 +
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"
12315 +
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{}.
12319 +#. TRANS
12320 +#. TRANS This error can happen in a few different situations:
12321 +#. TRANS
12322 +#. TRANS @itemize @bullet
12323 +#. TRANS @item
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}.
12329 +#. TRANS
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.
12334 +#. TRANS
12335 +#. TRANS @item
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"
12348 +
12349 +#. TRANS In @theglibc{}, this is another name for @code{EAGAIN} (above).
12350 +#. TRANS The values are always the same, on every operating system.
12351 +#. TRANS
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"
12357 +
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"
12369 +
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"
12375 +
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"
12380 +
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"
12386 +
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"
12391 +
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"
12397 +
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"
12404 +
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"
12409 +
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"
12419 +
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"
12424 +
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"
12430 +
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"
12435 +
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"
12442
12443 -#: iconv/iconv_prog.c:193
12444 -#, c-format
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"
12451
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"
12460
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"
12468
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"
12476
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"
12486
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"
12496
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"
12505
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"
12516
12517 -#: elf/sprof.c:408
12518 -#, c-format
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"
12527
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"
12535
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"
12542
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"
12551
12552 -#: locale/programs/locfile.c:1154
12553 -#, c-format
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"
12561
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"
12570
12571 -#: locale/programs/ld-monetary.c:163 locale/programs/ld-numeric.c:98
12572 -#, c-format
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"
12581
12582 -#: locale/programs/ld-messages.c:86 locale/programs/ld-messages.c:110
12583 -#, c-format
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"
12590
12591 -#: sunrpc/rpc_main.c:1148
12592 -#, c-format
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"
12599
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"
12608
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"
12618
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"
12627
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"
12635 +
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"
12644
12645 -#: locale/programs/ld-time.c:195
12646 -#, c-format
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"
12656
12657 -#: locale/programs/ld-time.c:252
12658 -#, c-format
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"
12664
12665 -#: locale/programs/ld-time.c:328
12666 -#, c-format
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"
12672
12673 -#: elf/sprof.c:81
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"
12679
12680 -#: elf/sprof.c:80
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"
12686
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"
12693
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"
12704
12705 -#: nscd/connections.c:200
12706 -#, c-format
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.
12711 +#. TRANS
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"
12717
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"
12724
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"
12731 +
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"
12740 +
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
12749 +#. TRANS values.
12750 +#. TRANS
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"
12756
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"
12765
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"
12778
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"
12788
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
12796 +msgid "?"
12797 +msgstr "?"
12798
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"
12806
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"
12814
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"
12822
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"
12829
12830 -#: iconv/iconv_prog.c:342
12831 -#, c-format
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"
12837
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"
12844
12845 -#: sunrpc/rpc_main.c:462
12846 -#, c-format
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"
12852
12853 -#: locale/programs/ld-time.c:187
12854 -#, c-format
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"
12860
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"
12867
12868 -#: locale/programs/ld-time.c:243
12869 -#, c-format
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"
12875
12876 -#: locale/programs/ld-time.c:319
12877 -#, c-format
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"
12883
12884 -#: locale/programs/ld-ctype.c:831
12885 -#, c-format
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"
12891
12892 -#: locale/programs/ld-ctype.c:863
12893 -#, c-format
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"
12899
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"
12906
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"
12917
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"
12924
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"
12931
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"
12938
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"
12945
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"
12952
12953 -#: locale/programs/ld-ctype.c:307
12954 -#, c-format
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"
12960
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"
12967
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"
12974
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"
12981
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"
12988
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"
12995
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"
13002
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
13007 +msgid "No anode"
13008 +msgstr "Sem anode"
13009
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"
13016
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"
13023
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)"
13030
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"
13037
13038 -#: nscd/connections.c:375
13039 -#, c-format
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"
13045
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"
13052
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"
13059
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"
13066
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"
13073
13074 -#: locale/programs/localedef.c:273
13075 -#, c-format
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"
13081
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"
13088
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"
13095
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"
13102
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"
13109
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"
13116
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"
13120 -
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"
13132
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"
13139
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"
13146
13147 -#: locale/programs/ld-time.c:370
13148 -#, c-format
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"
13154
13155 -#: locale/programs/ld-time.c:358
13156 -#, c-format
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"
13162
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"
13169
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"
13176
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
13181 -#, c-format
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"
13187
13188 -#: nis/nss_nisplus/nisplus-publickey.c:281
13189 -#, c-format
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"
13195
13196 -#: nis/nss_nisplus/nisplus-publickey.c:349
13197 -#, c-format
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"
13203
13204 -#: nis/nss_nisplus/nisplus-publickey.c:194
13205 -#, c-format
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"
13211
13212 -#: nis/nss_nisplus/nisplus-publickey.c:299
13213 -#, c-format
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"
13219
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"
13226
13227 -#: sunrpc/svc_simple.c:158
13228 -#, c-format
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"
13234
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"
13241
13242 -#: locale/programs/ld-messages.c:101 locale/programs/ld-messages.c:125
13243 -#, c-format
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"
13249
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"
13256
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"
13263
13264 -#: elf/sprof.c:276
13265 -#, c-format
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"
13271
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: "
13278
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"
13285
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"
13294
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"
13302
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"
13310
13311 -#: locale/programs/ld-collate.c:249
13312 -#, c-format
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"
13318
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"
13325
13326 -#: nscd/nscd_stat.c:130
13327 -#, c-format
13328 -msgid ""
13329 -"nscd configuration:\n"
13330 -"\n"
13331 -"%15d server debug level\n"
13332 -msgstr ""
13333 -"configuração nscd:\n"
13334 -"\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"
13339
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"
13346
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”"
13353
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"
13360
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"
13367
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"
13374
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"
13381
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"
13388
13389 -#: elf/sprof.c:78
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"
13395
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"
13402
13403 -#: db2/makedb.c:345
13404 -#, c-format
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"
13410
13411 -#: elf/sprof.c:691
13412 +#: sysdeps/unix/sysv/linux/i386/readelflib.c:65
13413 #, c-format
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"
13418
13419 -#: sunrpc/rpcinfo.c:237 sunrpc/rpcinfo.c:383
13420 +#: sysdeps/unix/sysv/linux/ia64/makecontext.c:58
13421 #, c-format
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"
13426
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
13431 #, c-format
13432 -msgid "program %lu version %lu is not available\n"
13433 -msgstr "programa %lu versão %lu não está disponível\n"
13434 +msgid ""
13435 +"Usage: lddlibc4 FILE\n"
13436 +"\n"
13437 +msgstr ""
13438 +"Uso: lddlibc4 ARQUIVO\n"
13439 +"\n"
13440
13441 -#: sunrpc/rpcinfo.c:515
13442 +#: sysdeps/unix/sysv/linux/lddlibc4.c:81
13443 #, c-format
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”"
13448
13449 -#: inet/rcmd.c:176
13450 +#: sysdeps/unix/sysv/linux/lddlibc4.c:85
13451 #, c-format
13452 -msgid "rcmd: poll (setting up stderr): %m\n"
13453 -msgstr "rcmd: poll (configurando stderr): %m\n"
13454 -
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”"
13460
13461 -#: inet/rcmd.c:166
13462 -#, c-format
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"
13468
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"
13475
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"
13482
13483 -#: locale/programs/repertoire.c:95
13484 +#: timezone/zdump.c:347
13485 #, c-format
13486 -msgid "repertoire map file `%s' not found"
13487 -msgstr "arquivo de mapas `%s' não foi localizado"
13488 -
13489 -#: sunrpc/rpc_main.c:1117
13490 -msgid "rpcgen: arglist coding error\n"
13491 -msgstr "rpcgen: erro na codificação de parâmetros\n"
13492 -
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"
13498
13499 -#: sunrpc/rpcinfo.c:732
13500 +#: timezone/zdump.c:393
13501 #, c-format
13502 -msgid "rpcinfo: %s is unknown host\n"
13503 -msgstr "rpcinfo: %s é um host desconhecido\n"
13504 +msgid ""
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"
13514 +"\n"
13515 +"Report bugs to %s.\n"
13516 +msgstr ""
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"
13526 +"\n"
13527 +"Relate erros para %s.\n"
13528
13529 -#: sunrpc/rpcinfo.c:695
13530 +#: timezone/zdump.c:479
13531 #, c-format
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"
13536
13537 -#: sunrpc/rpcinfo.c:665
13538 +#: timezone/zdump.c:512
13539 #, c-format
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"
13544
13545 -#: sunrpc/rpcinfo.c:637
13546 +#: timezone/zic.c:398
13547 #, c-format
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"
13552
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"
13559
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"
13566
13567 -#: nscd/connections.c:387
13568 +#: timezone/zic.c:488
13569 #, c-format
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>: "
13574
13575 -#: nscd/connections.c:364
13576 +#: timezone/zic.c:491
13577 #, c-format
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>)"
13582
13583 -#: nscd/grpcache.c:191 nscd/hstcache.c:278 nscd/pwdcache.c:188
13584 +#: timezone/zic.c:510
13585 #, c-format
13586 -msgid "short write in %s: %s"
13587 -msgstr "Erro escrevendo em %s: %s"
13588 -
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"
13592 -
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"
13596 -
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"
13600 -
13601 -#: timezone/zic.c:789
13602 -msgid "standard input"
13603 -msgstr "entrada padrão"
13604 -
13605 -#: timezone/zdump.c:268
13606 -msgid "standard output"
13607 -msgstr "saída padrão"
13608 +msgid "warning: "
13609 +msgstr "aviso: "
13610
13611 -#: locale/programs/ld-time.c:272
13612 +#: timezone/zic.c:535
13613 #, c-format
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'"
13616 -
13617 -#: timezone/zic.c:1300
13618 -msgid "starting year greater than ending year"
13619 -msgstr "ano inicial maior que ano final"
13620 -
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"
13624 -
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"
13628 +msgid ""
13629 +"%s: usage is %s [ --version ] [ --help ] [ -v ] \\\n"
13630 +"\t[ -l localtime ] [ -p posixrules ] [ -d directory ] \\\n"
13631 +"\t[ -L leapseconds ] [ filename ... ]\n"
13632 +"\n"
13633 +"Report bugs to %s.\n"
13634 +msgstr ""
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"
13638 +"\n"
13639 +"Relate erros para %s.\n"
13640
13641 -#: locale/programs/ld-time.c:348
13642 +#: timezone/zic.c:558
13643 #, c-format
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"
13648
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"
13655
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
13660 +#, c-format
13661 +msgid "%s: More than one -d option specified\n"
13662 +msgstr "%s: Mais de uma opção -d foi especificada\n"
13663
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
13668 +#, c-format
13669 +msgid "%s: More than one -l option specified\n"
13670 +msgstr "%s: Mais de uma opção -l especificada\n"
13671
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
13676 +#, c-format
13677 +msgid "%s: More than one -p option specified\n"
13678 +msgstr "%s: Mais de uma opção -p especificada\n"
13679
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
13684 +#, c-format
13685 +msgid "%s: More than one -y option specified\n"
13686 +msgstr "%s: Mais de uma opção -y especificada\n"
13687
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
13692 +#, c-format
13693 +msgid "%s: More than one -L option specified\n"
13694 +msgstr "%s: Mais de uma opção -L foi especificada\n"
13695
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"
13702
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"
13709
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"
13716
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"
13723
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
13728 +#, c-format
13729 +msgid "file name '%s' begins with '/'"
13730 +msgstr "nome de arquivo “%s” começa com “/”"
13731
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
13736 +#, c-format
13737 +msgid "file name '%s' contains '%.*s' component"
13738 +msgstr "nome de arquivo “%s” contém componente “%.*s”"
13739
13740 -#: locale/programs/ld-collate.c:1201
13741 +#: timezone/zic.c:740
13742 #, c-format
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 “-”"
13747
13748 -#: locale/programs/ld-collate.c:1073
13749 +#: timezone/zic.c:743
13750 #, c-format
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"
13755
13756 -#: locale/programs/ld-collate.c:1210
13757 +#: timezone/zic.c:771
13758 #, c-format
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”"
13763
13764 -#: locale/programs/ld-collate.c:1082
13765 +#: timezone/zic.c:772
13766 #, c-format
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”"
13771
13772 -#: locale/programs/ld-collate.c:1064 locale/programs/ld-collate.c:1192
13773 +#: timezone/zic.c:842
13774 #, c-format
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"
13779
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
13785 #, c-format
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"
13790
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
13795 +#, c-format
13796 +msgid "symbolic link used because hard link failed: %s"
13797 +msgstr "link simbólico usado porque link absoluto falhou: %s"
13798
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
13803 +#, c-format
13804 +msgid "%s: Can't read %s/%s: %s\n"
13805 +msgstr "%s: Não foi possível ler %s/%s: %s\n"
13806
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
13811 +#, c-format
13812 +msgid "%s: Can't create %s/%s: %s\n"
13813 +msgstr "%s: Não é possível criar %s/%s (%s)\n"
13814
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
13819 +#, c-format
13820 +msgid "copy used because hard link failed: %s"
13821 +msgstr "cópia usada porque link absoluto falhou: %s"
13822
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
13827 +#, c-format
13828 +msgid "copy used because symbolic link failed: %s"
13829 +msgstr "cópia usada porque link simbólico falhou: %s"
13830
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"
13837
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"
13844
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
13849 +#, c-format
13850 +msgid "%s in ruleless zone"
13851 +msgstr "%s em uma fuso horário sem regras"
13852
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"
13859
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
13864 +#, c-format
13865 +msgid "%s: Can't open %s: %s\n"
13866 +msgstr "%s: Não é possível abrir %s: %s\n"
13867
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"
13874
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"
13881
13882 -#: locale/programs/charmap.c:280 locale/programs/charmap.c:296
13883 -#: locale/programs/repertoire.c:143
13884 +#: timezone/zic.c:1134
13885 #, c-format
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"
13890
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
13894 #, c-format
13895 -msgid "syntax error in repertoire map definition: %s"
13896 -msgstr "erro de sintaxe no mapa de repertório: %s"
13897 -
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"
13901 -
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"
13905 -
13906 -#: iconv/iconv_prog.c:137
13907 -msgid "target encoding not specified using `-t'"
13908 -msgstr "codificação destino não especificada usando `-t'"
13909 -
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"
13915
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"
13922
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"
13927
13928 -#: locale/programs/charmap.c:443
13929 -msgid "too few bytes in character encoding"
13930 -msgstr "poucos bytes na codificação do caracter"
13931 -
13932 -#: locale/programs/charmap.c:445
13933 -msgid "too many bytes in character encoding"
13934 -msgstr "muitos bytes na codificação do caracter"
13935 -
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"
13942
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"
13949
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"
13956
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"
13963
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"
13970
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
13975 +#, c-format
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"
13978
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
13983 +#, c-format
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"
13986
13987 -#: sunrpc/svc_simple.c:150
13988 +#: timezone/zic.c:1253
13989 #, c-format
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>)"
13994
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"
14001
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"
14007
14008 -#: iconv/iconv_prog.c:406
14009 -msgid "unable to allocate buffer for input"
14010 -msgstr "incapaz de alocar espaço para entrada"
14011 -
14012 -#: nis/nis_callback.c:187
14013 -msgid "unable to free arguments"
14014 -msgstr "não consegui liberar parâmetros"
14015 -
14016 -#: posix/getconf.c:654 posix/getconf.c:670
14017 -msgid "undefined"
14018 -msgstr "indefinido"
14019 -
14020 -#: locale/programs/charmap.c:701 locale/programs/charmap.c:712
14021 -#, c-format
14022 -msgid "unknown character `%s'"
14023 -msgstr "caracter desconhecido `%s'"
14024 -
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
14028 -#, c-format
14029 -msgid "unknown character in field `%s' of category `%s'"
14030 -msgstr "caracter desconhecido no campo `%s', categoria `%s'"
14031 -
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"
14038
14039 -#: catgets/gencat.c:487
14040 +#: timezone/zic.c:1320
14041 #, c-format
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"
14046
14047 -#: iconv/iconv_prog.c:353
14048 -#, c-format
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"
14054
14055 -#: catgets/gencat.c:466
14056 -#, c-format
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"
14062
14063 -#: locale/programs/ld-collate.c:1377 locale/programs/ld-collate.c:1572
14064 -#: locale/programs/ld-collate.c:1747
14065 -#, c-format
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"
14071
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"
14078
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"
14085
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"
14092
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"
14099
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"
14106
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)"
14113
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)"
14120
14121 -#: sunrpc/rpc_main.c:1415
14122 -#, c-format
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"
14128
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"
14135
14136 -#: locale/programs/charmap.c:522 locale/programs/charmap.c:576
14137 -#, c-format
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"
14143
14144 -#: locale/programs/charmap.c:318
14145 -#, c-format
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"
14151
14152 -#: locale/programs/ld-monetary.c:157 locale/programs/ld-numeric.c:92
14153 -#, c-format
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"
14159
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"
14166
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"
14173
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"
14180
14181 -#: locale/programs/ld-monetary.c:383 locale/programs/ld-numeric.c:207
14182 +#: timezone/zic.c:1743
14183 #, c-format
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"
14188
14189 -#: nscd/connections.c:355
14190 -#, c-format
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"
14196
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"
14203
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
14208 +#, c-format
14209 +msgid "%%z UTC offset magnitude exceeds 99:59:59"
14210 +msgstr "a magnitude do deslocamento de %%z UTC excede 99:59:59"
14211
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"
14218
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
14223 +#, c-format
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"
14226
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"
14233
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"
14240
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"
14247
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"
14254
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"
14261
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"
14268
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"
14275
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
14280 +#, c-format
14281 +msgid "%s: command was '%s', result was %d\n"
14282 +msgstr "%s: comando era “%s”, resultado era %d\n"
14283
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"
14290
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"
14297
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"
14304
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"
14311
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"
14318
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"
14325
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"
14332
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
14337 +#, c-format
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 \
14348 - tst-glob-tilde
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);
14363 }
14364
14365 -
14366 -/* Execute FILE, searching in the `PATH' environment variable if it contains
14367 - no slashes, with arguments ARGV and environment from ENVP. */
14368 -int
14369 -__execvpe (const char *file, char *const argv[], char *const envp[])
14370 +static int
14371 +__execvpe_common (const char *file, char *const argv[], char *const envp[],
14372 + bool exec_script)
14373 {
14374 /* We check the simple case first. */
14375 if (*file == '\0')
14376 @@ -85,7 +83,7 @@ __execvpe (const char *file, char *const argv[], char *const envp[])
14377 {
14378 __execve (file, argv, envp);
14379
14380 - if (errno == ENOEXEC)
14381 + if (errno == ENOEXEC && exec_script)
14382 maybe_script_execute (file, argv, envp);
14383
14384 return -1;
14385 @@ -137,7 +135,7 @@ __execvpe (const char *file, char *const argv[], char *const envp[])
14386
14387 __execve (buffer, argv, envp);
14388
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[])
14395 return -1;
14396 }
14397
14398 +/* Execute FILE, searching in the `PATH' environment variable if it contains
14399 + no slashes, with arguments ARGV and environment from ENVP. */
14400 +int
14401 +__execvpe (const char *file, char *const argv[], char *const envp[])
14402 +{
14403 + return __execvpe_common (file, argv, envp, true);
14404 +}
14405 weak_alias (__execvpe, execvpe)
14406 +
14407 +/* Same as __EXECVPE, but does not try to execute NOEXEC files. */
14408 +int
14409 +__execvpex (const char *file, char *const argv[], char *const envp[])
14410 +{
14411 + return __execvpe_common (file, argv, envp, false);
14412 +}
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;
14422 + idx &= 0xffffff;
14423 if (idx > 0)
14424 - for (i = 0; i < cset->nequiv_classes; ++i)
14425 - {
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))
14430 - {
14431 - int cnt = 0;
14432 -
14433 - idx &= 0xffffff;
14434 - equiv_class_idx &= 0xffffff;
14435 -
14436 - while (cnt <= weight_len
14437 - && (weights[equiv_class_idx + 1 + cnt]
14438 - == weights[idx + 1 + cnt]))
14439 - ++cnt;
14440 - if (cnt > weight_len)
14441 - {
14442 - match_len = elem_len;
14443 - goto check_node_accept_bytes_match;
14444 - }
14445 - }
14446 - }
14447 + {
14448 + size_t weight_len = weights[idx];
14449 + for (i = 0; i < cset->nequiv_classes; ++i)
14450 + {
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)
14459 + {
14460 + match_len = elem_len;
14461 + goto check_node_accept_bytes_match;
14462 + }
14463 + }
14464 + }
14465 }
14466 }
14467 else
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
14472 @@ -35,7 +35,14 @@
14473 #if TEST_COMPAT (libc, GLIBC_2_0, GLIBC_2_27)
14474
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. */
14479 +# ifdef __alpha__
14480 +compat_symbol_reference (libc, glob, glob, GLIBC_2_1);
14481 +# else
14482 compat_symbol_reference (libc, glob, glob, GLIBC_2_0);
14483 +# endif
14484
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)
14492 #undef USE_NSCD
14493 #include "../sysdeps/posix/getaddrinfo.c"
14494
14495 +service_user *__nss_hosts_database attribute_hidden;
14496
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)
14504 #undef USE_NSCD
14505 #include "../sysdeps/posix/getaddrinfo.c"
14506
14507 +service_user *__nss_hosts_database attribute_hidden;
14508
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)
14516 #undef USE_NSCD
14517 #include "../sysdeps/posix/getaddrinfo.c"
14518
14519 +service_user *__nss_hosts_database attribute_hidden;
14520
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
14526 --- /dev/null
14527 +++ b/posix/tst-spawn4-compat.c
14528 @@ -0,0 +1,77 @@
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.
14532 +
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.
14537 +
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.
14542 +
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/>. */
14546 +
14547 +#include <spawn.h>
14548 +#include <errno.h>
14549 +#include <unistd.h>
14550 +#include <sys/stat.h>
14551 +#include <sys/wait.h>
14552 +
14553 +#include <support/xunistd.h>
14554 +#include <support/check.h>
14555 +#include <support/temp_file.h>
14556 +
14557 +#include <shlib-compat.h>
14558 +#if TEST_COMPAT (libc, GLIBC_2_0, GLIBC_2_15)
14559 +
14560 +compat_symbol_reference (libc, posix_spawn, posix_spawn, GLIBC_2_2);
14561 +compat_symbol_reference (libc, posix_spawnp, posix_spawnp, GLIBC_2_2);
14562 +
14563 +static int
14564 +do_test (void)
14565 +{
14566 + char *scriptname;
14567 + int fd = create_temp_file ("tst-spawn4.", &scriptname);
14568 + TEST_VERIFY_EXIT (fd >= 0);
14569 +
14570 + const char script[] = "exit 65";
14571 + xwrite (fd, script, sizeof (script) - 1);
14572 + xclose (fd);
14573 +
14574 + TEST_VERIFY_EXIT (chmod (scriptname, 0x775) == 0);
14575 +
14576 + pid_t pid;
14577 + int status;
14578 +
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);
14584 +
14585 + TEST_VERIFY_EXIT (waitpid (pid, &status, 0) == pid);
14586 + TEST_VERIFY_EXIT (WIFEXITED (status) == 1 && WEXITSTATUS (status) == 65);
14587 +
14588 + status = posix_spawnp (&pid, scriptname, NULL, NULL, (char *[]) { 0 },
14589 + (char *[]) { 0 });
14590 + TEST_VERIFY_EXIT (status == 0);
14591 +
14592 + TEST_VERIFY_EXIT (waitpid (pid, &status, 0) == pid);
14593 + TEST_VERIFY_EXIT (WIFEXITED (status) == 1 && WEXITSTATUS (status) == 65);
14594 +
14595 + return 0;
14596 +}
14597 +#else
14598 +static int
14599 +do_test (void)
14600 +{
14601 + return 77;
14602 +}
14603 +#endif
14604 +
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
14609 --- /dev/null
14610 +++ b/posix/tst-spawn4.c
14611 @@ -0,0 +1,56 @@
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.
14615 +
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.
14620 +
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.
14625 +
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/>. */
14629 +
14630 +#include <spawn.h>
14631 +#include <errno.h>
14632 +#include <unistd.h>
14633 +#include <sys/stat.h>
14634 +
14635 +#include <support/xunistd.h>
14636 +#include <support/check.h>
14637 +#include <support/temp_file.h>
14638 +
14639 +static int
14640 +do_test (void)
14641 +{
14642 + char *scriptname;
14643 + int fd = create_temp_file ("tst-spawn4.", &scriptname);
14644 + TEST_VERIFY_EXIT (fd >= 0);
14645 +
14646 + const char script[] = "echo it should not happen";
14647 + xwrite (fd, script, sizeof (script) - 1);
14648 + xclose (fd);
14649 +
14650 + TEST_VERIFY_EXIT (chmod (scriptname, 0x775) == 0);
14651 +
14652 + pid_t pid;
14653 + int status;
14654 +
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);
14659 +
14660 + status = posix_spawnp (&pid, scriptname, NULL, NULL, (char *[]) { 0 },
14661 + (char *[]) { 0 });
14662 + TEST_VERIFY_EXIT (status == ENOEXEC);
14663 +
14664 + return 0;
14665 +}
14666 +
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;
14681 + else
14682 + requests = NULL;
14683 requests_tail = lastp;
14684
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,
14691 '\0',
14692 sizeof (struct sockaddr_in6)
14693 - sizeof (struct sockaddr_in));
14694 + else
14695 + {
14696 + __set_errno (ENOMEM);
14697 + return -1;
14698 + }
14699 }
14700 EXT(statp).nscount = statp->nscount;
14701 }
14702 @@ -1152,25 +1157,27 @@ send_dg(res_state statp,
14703 if (have_sendmmsg >= 0 && nwritten == 0 && buf2 != NULL
14704 && !single_request)
14705 {
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;
14716 -
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] =
14730 + {
14731 + {
14732 + .msg_hdr =
14733 + {
14734 + .msg_iov = &iov,
14735 + .msg_iovlen = 1,
14736 + },
14737 + },
14738 + {
14739 + .msg_hdr =
14740 + {
14741 + .msg_iov = &iov2,
14742 + .msg_iovlen = 1,
14743 + }
14744 + },
14745 + };
14746
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));
14755 }
14756 break;
14757 + case 104:
14758 + send_ptr (b, qname, qclass, qtype, "host.example");
14759 + break;
14760 default:
14761 FAIL_EXIT1 ("invalid QNAME: %s (code %d)", qname, code);
14762 }
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");
14770
14771 /* Lookup by address, success cases. */
14772 check_reverse (1,
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
14779
14780 tests := tst-signal tst-sigset tst-sigsimple tst-raise tst-sigset2 \
14781 - tst-sigwait-eintr \
14782 + tst-sigwait-eintr tst-sigaction \
14783
14784 include ../Rules
14785
14786 diff --git a/signal/tst-sigaction.c b/signal/tst-sigaction.c
14787 new file mode 100644
14788 index 0000000000..c908e8f6f6
14789 --- /dev/null
14790 +++ b/signal/tst-sigaction.c
14791 @@ -0,0 +1,56 @@
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.
14795 +
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.
14800 +
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.
14805 +
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/>. */
14809 +
14810 +#include <signal.h>
14811 +#include <unistd.h>
14812 +
14813 +#include <support/check.h>
14814 +
14815 +static void
14816 +my_sig_handler (int signum)
14817 +{
14818 +}
14819 +
14820 +static int
14821 +do_test (void)
14822 +{
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);
14828 +
14829 + /* Set it as SIGUSR1 signal handler */
14830 + TEST_VERIFY_EXIT (sigaction (SIGUSR1, &act, NULL) == 0);
14831 +
14832 + /* Get SIGUSR1 signal handler */
14833 + TEST_VERIFY_EXIT (sigaction (SIGUSR1, NULL, &act) == 0);
14834 +
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));
14838 +
14839 + for (int i = 1; i < _NSIG; i++)
14840 + {
14841 + TEST_VERIFY (!sigismember (&act.sa_mask, i));
14842 + }
14843 +
14844 + return 0;
14845 +}
14846 +
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");
14855 }
14856 -\f
14857 -/* This page is covered by the following copyright: */
14858 -
14859 -/* (C) Copyright C E Chew
14860 - *
14861 - * Feel free to copy, use and distribute this software provided:
14862 - *
14863 - * 1. you do not pretend that you wrote it
14864 - * 2. you leave this copyright notice intact.
14865 - */
14866 -
14867 -/*
14868 - * Extracted from exercise.c for glibc-1.05 bug report by Bruce Evans.
14869 - */
14870 -
14871 -#define DEC -123
14872 -#define INT 255
14873 -#define UNS (~0)
14874
14875 -/* Formatted Output Test
14876 - *
14877 - * This exercises the output formatting code.
14878 - */
14879 -
14880 -static void
14881 -fp_test (void)
14882 -{
14883 - int i, j, k, l;
14884 - char buf[7];
14885 - char *prefix = buf;
14886 - char tp[20];
14887 -
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 |");
14903 - printf(tp, DEC);
14904 - strcpy(tp, prefix);
14905 - strcat(tp, "6o |");
14906 - printf(tp, INT);
14907 - strcpy(tp, prefix);
14908 - strcat(tp, "6x |");
14909 - printf(tp, INT);
14910 - strcpy(tp, prefix);
14911 - strcat(tp, "6X |");
14912 - printf(tp, INT);
14913 - strcpy(tp, prefix);
14914 - strcat(tp, "6u |");
14915 - printf(tp, UNS);
14916 - printf("\n");
14917 - }
14918 - }
14919 - }
14920 - }
14921 - printf("%10s\n", (char *) NULL);
14922 - printf("%-10s\n", (char *) NULL);
14923 - printf("%.8f\n", DBL_MAX);
14924 - printf("%.8f\n", -DBL_MAX);
14925 -}
14926 -\f
14927 static int
14928 do_test (void)
14929 {
14930 @@ -239,8 +169,8 @@ I am ready for my first lesson today.";
14931 snprintf(buf2, sizeof(buf2), "%.999999u", 10));
14932 }
14933
14934 - fp_test ();
14935 -
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
14949 -
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 |
14968 - (null)
14969 -(null)
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
14977 -
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 |
14996 - (null)
14997 -(null)
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
15011
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);
15020
15021 len = strlen (end);
15022 - if ((long int) (n + len) >= path_max)
15023 + if (path_max - n <= len)
15024 {
15025 __set_errno (ENAMETOOLONG);
15026 goto error;
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)
15032
15033 if (buf->rand_type == TYPE_0)
15034 {
15035 - int32_t val = state[0];
15036 - val = ((state[0] * 1103515245) + 12345) & 0x7fffffff;
15037 + int32_t val = ((state[0] * 1103515245U) + 12345U) & 0x7fffffff;
15038 state[0] = val;
15039 *result = val;
15040 }
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;
15045 - int32_t val;
15046 + uint32_t val;
15047
15048 - val = *fptr += *rptr;
15049 + val = *fptr += (uint32_t) *rptr;
15050 /* Chucking least random bit. */
15051 - *result = (val >> 1) & 0x7fffffff;
15052 + *result = val >> 1;
15053 ++fptr;
15054 if (fptr >= end_ptr)
15055 {
15056 diff --git a/stdlib/test-bz22786.c b/stdlib/test-bz22786.c
15057 new file mode 100644
15058 index 0000000000..e7837f98c1
15059 --- /dev/null
15060 +++ b/stdlib/test-bz22786.c
15061 @@ -0,0 +1,90 @@
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.
15065 +
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.
15070 +
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.
15075 +
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/>. */
15079 +
15080 +/* This file must be run from within a directory called "stdlib". */
15081 +
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>
15092 +
15093 +static int
15094 +do_test (void)
15095 +{
15096 + const char dir[] = "bz22786";
15097 + const char lnk[] = "bz22786/symlink";
15098 +
15099 + rmdir (dir);
15100 + if (mkdir (dir, 0755) != 0 && errno != EEXIST)
15101 + {
15102 + printf ("mkdir %s: %m\n", dir);
15103 + return EXIT_FAILURE;
15104 + }
15105 + if (symlink (".", lnk) != 0 && errno != EEXIST)
15106 + {
15107 + printf ("symlink (%s, %s): %m\n", dir, lnk);
15108 + return EXIT_FAILURE;
15109 + }
15110 +
15111 + const size_t path_len = (size_t) INT_MAX + 1;
15112 +
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=");
15118 +#endif
15119 + char *path = malloc (path_len);
15120 + DIAG_POP_NEEDS_COMMENT;
15121 +
15122 + if (path == NULL)
15123 + {
15124 + printf ("malloc (%zu): %m\n", path_len);
15125 + return EXIT_UNSUPPORTED;
15126 + }
15127 +
15128 + /* Construct very long path = "bz22786/symlink/aaaa....." */
15129 + char *p = mempcpy (path, lnk, sizeof (lnk) - 1);
15130 + *(p++) = '/';
15131 + memset (p, 'a', path_len - (path - p) - 2);
15132 + p[path_len - (path - p) - 1] = '\0';
15133 +
15134 + /* This call crashes before the fix for bz22786 on 32-bit platforms. */
15135 + p = realpath (path, NULL);
15136 +
15137 + if (p != NULL || errno != ENAMETOOLONG)
15138 + {
15139 + printf ("realpath: %s (%m)", p);
15140 + return EXIT_FAILURE;
15141 + }
15142 +
15143 + /* Cleanup. */
15144 + unlink (lnk);
15145 + rmdir (dir);
15146 +
15147 + return 0;
15148 +}
15149 +
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)
15157 }
15158 }
15159
15160 +static void
15161 +do_test1 (void)
15162 +{
15163 + size_t size = 0x100000;
15164 + void *large_buf;
15165 +
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)
15169 + {
15170 + puts ("Failed to allocat large_buf, skipping do_test1");
15171 + return;
15172 + }
15173 +
15174 + if (mprotect (large_buf + size, page_size, PROT_NONE))
15175 + error (EXIT_FAILURE, errno, "mprotect failed");
15176 +
15177 + size_t arrary_size = size / sizeof (uint32_t);
15178 + uint32_t *dest = large_buf;
15179 + uint32_t *src = large_buf + size + page_size;
15180 + size_t i;
15181 +
15182 + for (i = 0; i < arrary_size; i++)
15183 + src[i] = (uint32_t) i;
15184 +
15185 + FOR_EACH_IMPL (impl, 0)
15186 + {
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])
15191 + {
15192 + error (0, 0,
15193 + "Wrong result in function %s dst \"%p\" src \"%p\" offset \"%zd\"",
15194 + impl->name, dest, src, i);
15195 + ret = 1;
15196 + break;
15197 + }
15198 + }
15199 +
15200 + munmap ((void *) dest, size);
15201 + munmap ((void *) src, size);
15202 +}
15203 +
15204 int
15205 test_main (void)
15206 {
15207 @@ -253,6 +297,9 @@ test_main (void)
15208 do_test (0, 0, getpagesize ());
15209
15210 do_random_tests ();
15211 +
15212 + do_test1 ();
15213 +
15214 return ret;
15215 }
15216
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
15221 @@ -24,6 +24,7 @@
15222 # define TEST_NAME "memmove"
15223 #endif
15224 #include "test-string.h"
15225 +#include <support/test-driver.h>
15226
15227 char *simple_memmove (char *, const char *, size_t);
15228
15229 @@ -245,6 +246,60 @@ do_random_tests (void)
15230 }
15231 }
15232
15233 +static void
15234 +do_test2 (void)
15235 +{
15236 + size_t size = 0x20000000;
15237 + uint32_t * large_buf;
15238 +
15239 + large_buf = mmap ((void*) 0x70000000, size, PROT_READ | PROT_WRITE,
15240 + MAP_PRIVATE | MAP_ANON, -1, 0);
15241 +
15242 + if (large_buf == MAP_FAILED)
15243 + error (EXIT_UNSUPPORTED, errno, "Large mmap failed");
15244 +
15245 + if ((uintptr_t) large_buf > 0x80000000 - 128
15246 + || 0x80000000 - (uintptr_t) large_buf > 0x20000000)
15247 + {
15248 + error (0, 0, "Large mmap allocated improperly");
15249 + ret = EXIT_UNSUPPORTED;
15250 + munmap ((void *) large_buf, size);
15251 + return;
15252 + }
15253 +
15254 + size_t bytes_move = 0x80000000 - (uintptr_t) large_buf;
15255 + size_t arr_size = bytes_move / sizeof (uint32_t);
15256 + size_t i;
15257 +
15258 + FOR_EACH_IMPL (impl, 0)
15259 + {
15260 + for (i = 0; i < arr_size; i++)
15261 + large_buf[i] = (uint32_t) i;
15262 +
15263 + uint32_t * dst = &large_buf[33];
15264 +
15265 +#ifdef TEST_BCOPY
15266 + CALL (impl, (char *) large_buf, (char *) dst, bytes_move);
15267 +#else
15268 + CALL (impl, (char *) dst, (char *) large_buf, bytes_move);
15269 +#endif
15270 +
15271 + for (i = 0; i < arr_size; i++)
15272 + {
15273 + if (dst[i] != (uint32_t) i)
15274 + {
15275 + error (0, 0,
15276 + "Wrong result in function %s dst \"%p\" src \"%p\" offset \"%zd\"",
15277 + impl->name, dst, large_buf, i);
15278 + ret = 1;
15279 + break;
15280 + }
15281 + }
15282 + }
15283 +
15284 + munmap ((void *) large_buf, size);
15285 +}
15286 +
15287 int
15288 test_main (void)
15289 {
15290 @@ -284,6 +339,9 @@ test_main (void)
15291 }
15292
15293 do_random_tests ();
15294 +
15295 + do_test2 ();
15296 +
15297 return ret;
15298 }
15299
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
15304 @@ -18,6 +18,7 @@
15305 <http://www.gnu.org/licenses/>. */
15306
15307 #define MEMCPY_RESULT(dst, len) (dst) + (len)
15308 +#define MIN_PAGE_SIZE 131072
15309 #define TEST_MAIN
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
15316 @@ -46,7 +46,14 @@
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)
15320 -fd_set svc_fdset;
15321 -struct rpc_createerr rpc_createerr;
15322 -struct pollfd *svc_pollfd;
15323 -int svc_max_pollfd;
15324 +
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 */
15340
15341 static void invalidate (char *cred); /* invalidate entry in cache */
15342
15343 -/*
15344 - * cache statistics
15345 - */
15346 +/* Cache statistics. Accidental historic export without a matching
15347 + declaration in any header file. */
15348 +#ifndef SHARED
15349 +static
15350 +#endif
15351 struct
15352 {
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 */
15356 }
15357 -svcauthdes_stats;
15358 +svcauthdes_stats __attribute__ ((nocommon));
15359 +#ifdef SHARED
15360 +compat_symbol (libc, svcauthdes_stats, svcauthdes_stats, GLIBC_2_0);
15361 +#endif
15362
15363 /*
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 \
15376 support_run_diff \
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 \
15389 xpthread_cancel \
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 \
15398 tst-test_compare \
15399 + tst-test_compare_blob \
15400 tst-xreadlink \
15401
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); \
15409 })
15410
15411 +
15412 +
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,
15417 int right_size);
15418
15419
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))
15430 +
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);
15439 +
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);
15450
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
15454 + the result). */
15455 +char *support_quote_blob (const void *blob, size_t length);
15456 +
15457 /* Error-checking wrapper functions which terminate the process on
15458 error. */
15459
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);
15466 FLAG (AI_IDN);
15467 FLAG (AI_CANONIDN);
15468 - FLAG (AI_IDN_ALLOW_UNASSIGNED);
15469 - FLAG (AI_IDN_USE_STD3_ASCII_RULES);
15470 FLAG (AI_NUMERICSERV);
15471 #undef FLAG
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);
15475 if (ret != 0)
15476 {
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);
15481 + else
15482 + fprintf (mem.out, "error: %s\n", errmsg);
15483 if (ret == EAI_SYSTEM)
15484 {
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
15489 --- /dev/null
15490 +++ b/support/support_openpty.c
15491 @@ -0,0 +1,109 @@
15492 +/* Open a pseudoterminal.
15493 + Copyright (C) 2018 Free Software Foundation, Inc.
15494 + This file is part of the GNU C Library.
15495 +
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.
15500 +
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.
15505 +
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/>. */
15509 +
15510 +#include <support/tty.h>
15511 +#include <support/check.h>
15512 +#include <support/support.h>
15513 +
15514 +#include <errno.h>
15515 +#include <stdlib.h>
15516 +#include <string.h>
15517 +
15518 +#include <fcntl.h>
15519 +#include <termios.h>
15520 +#include <sys/ioctl.h>
15521 +#include <unistd.h>
15522 +
15523 +/* As ptsname, but allocates space for an appropriately-sized string
15524 + using malloc. */
15525 +static char *
15526 +xptsname (int fd)
15527 +{
15528 + int rv;
15529 + size_t buf_len = 128;
15530 + char *buf = xmalloc (buf_len);
15531 + for (;;)
15532 + {
15533 + rv = ptsname_r (fd, buf, buf_len);
15534 + if (rv)
15535 + FAIL_EXIT1 ("ptsname_r: %s", strerror (errno));
15536 +
15537 + if (memchr (buf, '\0', buf_len))
15538 + return buf; /* ptsname succeeded and the buffer was not truncated */
15539 +
15540 + buf_len *= 2;
15541 + buf = xrealloc (buf, buf_len);
15542 + }
15543 +}
15544 +
15545 +void
15546 +support_openpty (int *a_outer, int *a_inner, char **a_name,
15547 + const struct termios *termp,
15548 + const struct winsize *winp)
15549 +{
15550 + int outer = -1, inner = -1;
15551 + char *namebuf = 0;
15552 +
15553 + outer = posix_openpt (O_RDWR | O_NOCTTY);
15554 + if (outer == -1)
15555 + FAIL_EXIT1 ("posix_openpt: %s", strerror (errno));
15556 +
15557 + if (grantpt (outer))
15558 + FAIL_EXIT1 ("grantpt: %s", strerror (errno));
15559 +
15560 + if (unlockpt (outer))
15561 + FAIL_EXIT1 ("unlockpt: %s", strerror (errno));
15562 +
15563 +
15564 +#ifdef TIOCGPTPEER
15565 + inner = ioctl (outer, TIOCGPTPEER, O_RDWR | O_NOCTTY);
15566 +#endif
15567 + if (inner == -1)
15568 + {
15569 + /* The kernel might not support TIOCGPTPEER, fall back to open
15570 + by name. */
15571 + namebuf = xptsname (outer);
15572 + inner = open (namebuf, O_RDWR | O_NOCTTY);
15573 + if (inner == -1)
15574 + FAIL_EXIT1 ("%s: %s", namebuf, strerror (errno));
15575 + }
15576 +
15577 + if (termp)
15578 + {
15579 + if (tcsetattr (inner, TCSAFLUSH, termp))
15580 + FAIL_EXIT1 ("tcsetattr: %s", strerror (errno));
15581 + }
15582 +#ifdef TIOCSWINSZ
15583 + if (winp)
15584 + {
15585 + if (ioctl (inner, TIOCSWINSZ, winp))
15586 + FAIL_EXIT1 ("TIOCSWINSZ: %s", strerror (errno));
15587 + }
15588 +#endif
15589 +
15590 + if (a_name)
15591 + {
15592 + if (!namebuf)
15593 + namebuf = xptsname (outer);
15594 + *a_name = namebuf;
15595 + }
15596 + else
15597 + free (namebuf);
15598 + *a_outer = outer;
15599 + *a_inner = inner;
15600 +}
15601 diff --git a/support/support_quote_blob.c b/support/support_quote_blob.c
15602 new file mode 100644
15603 index 0000000000..d6a678d8d6
15604 --- /dev/null
15605 +++ b/support/support_quote_blob.c
15606 @@ -0,0 +1,83 @@
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.
15610 +
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.
15615 +
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.
15620 +
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/>. */
15624 +
15625 +#include <support/support.h>
15626 +#include <support/xmemstream.h>
15627 +
15628 +char *
15629 +support_quote_blob (const void *blob, size_t length)
15630 +{
15631 + struct xmemstream out;
15632 + xopen_memstream (&out);
15633 +
15634 + const unsigned char *p = blob;
15635 + for (size_t i = 0; i < length; ++i)
15636 + {
15637 + unsigned char ch = p[i];
15638 +
15639 + /* Use C backslash escapes for those control characters for
15640 + which they are defined. */
15641 + switch (ch)
15642 + {
15643 + case '\a':
15644 + putc_unlocked ('\\', out.out);
15645 + putc_unlocked ('a', out.out);
15646 + break;
15647 + case '\b':
15648 + putc_unlocked ('\\', out.out);
15649 + putc_unlocked ('b', out.out);
15650 + break;
15651 + case '\f':
15652 + putc_unlocked ('\\', out.out);
15653 + putc_unlocked ('f', out.out);
15654 + break;
15655 + case '\n':
15656 + putc_unlocked ('\\', out.out);
15657 + putc_unlocked ('n', out.out);
15658 + break;
15659 + case '\r':
15660 + putc_unlocked ('\\', out.out);
15661 + putc_unlocked ('r', out.out);
15662 + break;
15663 + case '\t':
15664 + putc_unlocked ('\\', out.out);
15665 + putc_unlocked ('t', out.out);
15666 + break;
15667 + case '\v':
15668 + putc_unlocked ('\\', out.out);
15669 + putc_unlocked ('v', out.out);
15670 + break;
15671 + case '\\':
15672 + case '\'':
15673 + case '\"':
15674 + putc_unlocked ('\\', out.out);
15675 + putc_unlocked (ch, out.out);
15676 + break;
15677 + default:
15678 + if (ch < ' ' || ch > '~')
15679 + /* Use octal sequences because they are fixed width,
15680 + unlike hexadecimal sequences. */
15681 + fprintf (out.out, "\\%03o", ch);
15682 + else
15683 + putc_unlocked (ch, out.out);
15684 + }
15685 + }
15686 +
15687 + xfclose_memstream (&out);
15688 + return out.buffer;
15689 +}
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
15693 --- /dev/null
15694 +++ b/support/support_test_compare_blob.c
15695 @@ -0,0 +1,76 @@
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.
15699 +
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.
15704 +
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.
15709 +
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/>. */
15713 +
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>
15720 +
15721 +static void
15722 +report_length (const char *what, unsigned long int length, const char *expr)
15723 +{
15724 + printf (" %s %lu bytes (from %s)\n", what, length, expr);
15725 +}
15726 +
15727 +static void
15728 +report_blob (const char *what, const unsigned char *blob,
15729 + unsigned long int length, const char *expr)
15730 +{
15731 + if (length > 0)
15732 + {
15733 + printf (" %s (evaluated from %s):\n", what, expr);
15734 + char *quoted = support_quote_blob (blob, length);
15735 + printf (" \"%s\"\n", quoted);
15736 + free (quoted);
15737 +
15738 + fputs (" ", stdout);
15739 + for (unsigned long i = 0; i < length; ++i)
15740 + printf (" %02X", blob[i]);
15741 + putc ('\n', stdout);
15742 + }
15743 +}
15744 +
15745 +void
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)
15751 +{
15752 + /* No differences are possible if both lengths are null. */
15753 + if (left_length == 0 && right_length == 0)
15754 + return;
15755 +
15756 + if (left_length != right_length || left == NULL || right == NULL
15757 + || memcmp (left, right, left_length) != 0)
15758 + {
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);
15763 + else
15764 + {
15765 + report_length ("left length: ", left_length, left_len_expr);
15766 + report_length ("right length:", right_length, right_len_expr);
15767 + }
15768 + report_blob ("left", left, left_length, left_expr);
15769 + report_blob ("right", right, right_length, right_expr);
15770 + }
15771 +}
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;
15778
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);
15783
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;
15792 #endif
15793
15794 +#ifdef TEST_NO_SETVBUF
15795 + test_config.no_setvbuf = 1;
15796 +#endif
15797 +
15798 #ifdef TIMEOUT
15799 test_config.timeout = TIMEOUT;
15800 #endif
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. */
15811 };
15812
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
15816 --- /dev/null
15817 +++ b/support/tst-support_quote_blob.c
15818 @@ -0,0 +1,61 @@
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.
15822 +
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.
15827 +
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.
15832 +
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/>. */
15836 +
15837 +#include <support/check.h>
15838 +#include <support/support.h>
15839 +#include <string.h>
15840 +#include <stdlib.h>
15841 +
15842 +static int
15843 +do_test (void)
15844 +{
15845 + /* Check handling of the empty blob, both with and without trailing
15846 + NUL byte. */
15847 + char *p = support_quote_blob ("", 0);
15848 + TEST_COMPARE (strlen (p), 0);
15849 + free (p);
15850 + p = support_quote_blob ("X", 0);
15851 + TEST_COMPARE (strlen (p), 0);
15852 + free (p);
15853 +
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);
15858 + free (p);
15859 +
15860 + /* Check lack of escaping for letters and digits. */
15861 +#define LETTERS_AND_DIGTS \
15862 + "abcdefghijklmnopqrstuvwxyz" \
15863 + "ABCDEFGHIJKLMNOPQRSTUVWXYZ" \
15864 + "0123456789"
15865 + p = support_quote_blob (LETTERS_AND_DIGTS "@", 2 * 26 + 10);
15866 + TEST_COMPARE (strcmp (p, LETTERS_AND_DIGTS), 0);
15867 + free (p);
15868 +
15869 + /* Check escaping of control characters and other non-printable
15870 + characters. */
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);
15874 + free (p);
15875 +
15876 + return 0;
15877 +}
15878 +
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
15883 --- /dev/null
15884 +++ b/support/tst-test_compare_blob.c
15885 @@ -0,0 +1,125 @@
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.
15889 +
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.
15894 +
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.
15899 +
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/>. */
15903 +
15904 +#include <string.h>
15905 +#include <support/check.h>
15906 +#include <support/capture_subprocess.h>
15907 +
15908 +static void
15909 +subprocess (void *closure)
15910 +{
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. */
15920 +}
15921 +
15922 +/* Same contents, different addresses. */
15923 +char buffer_abc_1[] = "abc";
15924 +char buffer_abc_2[] = "abc";
15925 +
15926 +static int
15927 +do_test (void)
15928 +{
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);
15937 +
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);
15941 +
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);
15945 +
15946 + struct support_capture_subprocess proc = support_capture_subprocess
15947 + (&subprocess, NULL);
15948 +
15949 + /* Discard the reported error. */
15950 + support_record_failure_reset ();
15951 +
15952 + puts ("info: *** subprocess output starts ***");
15953 + fputs (proc.out.buffer, stdout);
15954 + puts ("info: *** subprocess output ends ***");
15955 +
15956 + TEST_VERIFY
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"
15962 +" \"\\000\"\n"
15963 +" 00\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"
15967 +" \"X\"\n"
15968 +" 58\n"
15969 +" right (evaluated from \"\"):\n"
15970 +" \"\\000\"\n"
15971 +" 00\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"
15976 +" \"abc\"\n"
15977 +" 61 62 63\n"
15978 +" right (evaluated from \"abcd\"):\n"
15979 +" \"abcd\"\n"
15980 +" 61 62 63 64\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"
15984 +" \"abcd\"\n"
15985 +" 61 62 63 64\n"
15986 +" right (evaluated from \"abcD\"):\n"
15987 +" \"abcD\"\n"
15988 +" 61 62 63 44\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"
15993 +" \"abcd\"\n"
15994 +" 61 62 63 64\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"
15999 +" \"abcd\"\n"
16000 +" 61 62 63 64\n"
16001 + ) == 0);
16002 +
16003 + /* Check that there is no output on standard error. */
16004 + support_capture_subprocess_check (&proc, "TEST_COMPARE_BLOB",
16005 + 0, sc_allow_stdout);
16006 +
16007 + return 0;
16008 +}
16009 +
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
16014 --- /dev/null
16015 +++ b/support/tty.h
16016 @@ -0,0 +1,45 @@
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.
16020 +
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.
16025 +
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.
16030 +
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/>. */
16034 +
16035 +#ifndef _SUPPORT_TTY_H
16036 +#define _SUPPORT_TTY_H 1
16037 +
16038 +struct termios;
16039 +struct winsize;
16040 +
16041 +/** Open a pseudoterminal pair. The outer fd is written to the address
16042 + A_OUTER and the inner fd to A_INNER.
16043 +
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'.)
16049 +
16050 + If TERMP is not NULL, the terminal parameters will be initialized
16051 + according to the termios structure it points to.
16052 +
16053 + If WINP is not NULL, the terminal window size will be set
16054 + accordingly.
16055 +
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);
16060 +
16061 +#endif
16062 diff --git a/support/xpthread_barrierattr_destroy.c b/support/xpthread_barrierattr_destroy.c
16063 new file mode 100644
16064 index 0000000000..3e471f9a81
16065 --- /dev/null
16066 +++ b/support/xpthread_barrierattr_destroy.c
16067 @@ -0,0 +1,26 @@
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.
16071 +
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.
16076 +
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.
16081 +
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/>. */
16085 +
16086 +#include <support/xthread.h>
16087 +
16088 +void
16089 +xpthread_barrierattr_destroy (pthread_barrierattr_t *attr)
16090 +{
16091 + xpthread_check_return ("pthread_barrierattr_destroy",
16092 + pthread_barrierattr_destroy (attr));
16093 +}
16094 diff --git a/support/xpthread_barrierattr_init.c b/support/xpthread_barrierattr_init.c
16095 new file mode 100644
16096 index 0000000000..4ee14e78f3
16097 --- /dev/null
16098 +++ b/support/xpthread_barrierattr_init.c
16099 @@ -0,0 +1,26 @@
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.
16103 +
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.
16108 +
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.
16113 +
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/>. */
16117 +
16118 +#include <support/xthread.h>
16119 +
16120 +void
16121 +xpthread_barrierattr_init (pthread_barrierattr_t *attr)
16122 +{
16123 + xpthread_check_return ("pthread_barrierattr_init",
16124 + pthread_barrierattr_init (attr));
16125 +}
16126 diff --git a/support/xpthread_barrierattr_setpshared.c b/support/xpthread_barrierattr_setpshared.c
16127 new file mode 100644
16128 index 0000000000..90b2c5bec6
16129 --- /dev/null
16130 +++ b/support/xpthread_barrierattr_setpshared.c
16131 @@ -0,0 +1,26 @@
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.
16135 +
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.
16140 +
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.
16145 +
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/>. */
16149 +
16150 +#include <support/xthread.h>
16151 +
16152 +void
16153 +xpthread_barrierattr_setpshared (pthread_barrierattr_t *attr, int pshared)
16154 +{
16155 + xpthread_check_return ("pthread_barrierattr_setpshared",
16156 + pthread_barrierattr_setpshared (attr, pshared));
16157 +}
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
16178 #endif
16179
16180 -#if HAVE_RM_CTX
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. */
16185 -
16186 -# ifndef libc_feholdsetround_noex_ctx
16187 -# define libc_feholdsetround_noex_ctx libc_feholdsetround_ctx
16188 -# endif
16189 -# ifndef libc_feholdsetround_noexf_ctx
16190 -# define libc_feholdsetround_noexf_ctx libc_feholdsetroundf_ctx
16191 -# endif
16192 -# ifndef libc_feholdsetround_noexl_ctx
16193 -# define libc_feholdsetround_noexl_ctx libc_feholdsetroundl_ctx
16194 -# endif
16195 -
16196 -# ifndef libc_feresetround_noex_ctx
16197 -# define libc_feresetround_noex_ctx libc_fesetenv_ctx
16198 -# endif
16199 -# ifndef libc_feresetround_noexf_ctx
16200 -# define libc_feresetround_noexf_ctx libc_fesetenvf_ctx
16201 -# endif
16202 -# ifndef libc_feresetround_noexl_ctx
16203 -# define libc_feresetround_noexl_ctx libc_fesetenvl_ctx
16204 -# endif
16205 -
16206 -#else
16207
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. */
16212
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)
16216 {
16217 ctx->updated_status = false;
16218
16219 @@ -562,7 +535,7 @@ libc_feholdsetround_ctx (struct rm_ctx *ctx, int round)
16220 }
16221
16222 static __always_inline void
16223 -libc_feresetround_ctx (struct rm_ctx *ctx)
16224 +default_libc_feresetround_ctx (struct rm_ctx *ctx)
16225 {
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)
16229 }
16230
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)
16234 {
16235 /* Save exception flags and rounding mode, and disable exception
16236 traps. */
16237 @@ -582,12 +555,45 @@ libc_feholdsetround_noex_ctx (struct rm_ctx *ctx, int round)
16238 }
16239
16240 static __always_inline void
16241 -libc_feresetround_noex_ctx (struct rm_ctx *ctx)
16242 +default_libc_feresetround_noex_ctx (struct rm_ctx *ctx)
16243 {
16244 /* Restore exception flags and rounding mode. */
16245 __fesetenv (&ctx->env);
16246 }
16247
16248 +#if HAVE_RM_CTX
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. */
16253 +
16254 +# ifndef libc_feholdsetround_noex_ctx
16255 +# define libc_feholdsetround_noex_ctx libc_feholdsetround_ctx
16256 +# endif
16257 +# ifndef libc_feholdsetround_noexf_ctx
16258 +# define libc_feholdsetround_noexf_ctx libc_feholdsetroundf_ctx
16259 +# endif
16260 +# ifndef libc_feholdsetround_noexl_ctx
16261 +# define libc_feholdsetround_noexl_ctx libc_feholdsetroundl_ctx
16262 +# endif
16263 +
16264 +# ifndef libc_feresetround_noex_ctx
16265 +# define libc_feresetround_noex_ctx libc_fesetenv_ctx
16266 +# endif
16267 +# ifndef libc_feresetround_noexf_ctx
16268 +# define libc_feresetround_noexf_ctx libc_fesetenvf_ctx
16269 +# endif
16270 +# ifndef libc_feresetround_noexl_ctx
16271 +# define libc_feresetround_noexl_ctx libc_fesetenvl_ctx
16272 +# endif
16273 +
16274 +#else
16275 +
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
16280 +
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
16291
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
16298 +endif
16299 +
16300 ifeq ($(subdir),string)
16301 sysdep_routines += cacheinfo
16302 endif
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__ */
16309
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
16322 +# else
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
16328 +# endif
16329 #else
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
16337
16338 Function: Real part of "cacos":
16339 double: 1
16340 -float: 1
16341 +float: 2
16342 float128: 2
16343 idouble: 1
16344 -ifloat: 1
16345 +ifloat: 2
16346 ifloat128: 2
16347 ildouble: 1
16348 ldouble: 1
16349
16350 Function: Imaginary part of "cacos":
16351 -double: 1
16352 -float: 1
16353 +double: 2
16354 +float: 2
16355 float128: 2
16356 -idouble: 1
16357 -ifloat: 1
16358 +idouble: 2
16359 +ifloat: 2
16360 ifloat128: 2
16361 ildouble: 2
16362 ldouble: 2
16363 @@ -360,21 +360,21 @@ ildouble: 7
16364 ldouble: 7
16365
16366 Function: Real part of "cacosh":
16367 -double: 1
16368 -float: 1
16369 +double: 2
16370 +float: 2
16371 float128: 2
16372 -idouble: 1
16373 -ifloat: 1
16374 +idouble: 2
16375 +ifloat: 2
16376 ifloat128: 2
16377 ildouble: 2
16378 ldouble: 2
16379
16380 Function: Imaginary part of "cacosh":
16381 double: 1
16382 -float: 1
16383 +float: 2
16384 float128: 2
16385 idouble: 1
16386 -ifloat: 1
16387 +ifloat: 2
16388 ifloat128: 2
16389 ildouble: 1
16390 ldouble: 1
16391 @@ -420,10 +420,10 @@ ildouble: 2
16392 ldouble: 2
16393
16394 Function: Real part of "cacosh_upward":
16395 -double: 4
16396 +double: 5
16397 float: 4
16398 float128: 6
16399 -idouble: 4
16400 +idouble: 5
16401 ifloat: 4
16402 ifloat128: 6
16403 ildouble: 5
16404 @@ -488,11 +488,11 @@ ildouble: 1
16405 ldouble: 1
16406
16407 Function: Imaginary part of "casin":
16408 -double: 1
16409 -float: 1
16410 +double: 2
16411 +float: 2
16412 float128: 2
16413 -idouble: 1
16414 -ifloat: 1
16415 +idouble: 2
16416 +ifloat: 2
16417 ifloat128: 2
16418 ildouble: 2
16419 ldouble: 2
16420 @@ -558,11 +558,11 @@ ildouble: 7
16421 ldouble: 7
16422
16423 Function: Real part of "casinh":
16424 -double: 1
16425 -float: 1
16426 +double: 2
16427 +float: 2
16428 float128: 2
16429 -idouble: 1
16430 -ifloat: 1
16431 +idouble: 2
16432 +ifloat: 2
16433 ifloat128: 2
16434 ildouble: 2
16435 ldouble: 2
16436 @@ -774,11 +774,11 @@ ildouble: 1
16437 ldouble: 1
16438
16439 Function: Real part of "catanh_upward":
16440 -double: 2
16441 -float: 2
16442 +double: 4
16443 +float: 4
16444 float128: 4
16445 -idouble: 2
16446 -ifloat: 2
16447 +idouble: 4
16448 +ifloat: 4
16449 ifloat128: 4
16450 ildouble: 4
16451 ldouble: 4
16452 @@ -875,10 +875,10 @@ ldouble: 3
16453
16454 Function: Real part of "ccos_towardzero":
16455 double: 1
16456 -float: 1
16457 +float: 2
16458 float128: 2
16459 idouble: 1
16460 -ifloat: 1
16461 +ifloat: 2
16462 ifloat128: 2
16463 ildouble: 3
16464 ldouble: 3
16465 @@ -934,10 +934,10 @@ ildouble: 1
16466 ldouble: 1
16467
16468 Function: Real part of "ccosh_downward":
16469 -double: 1
16470 +double: 2
16471 float: 2
16472 float128: 2
16473 -idouble: 1
16474 +idouble: 2
16475 ifloat: 2
16476 ifloat128: 2
16477 ildouble: 3
16478 @@ -954,11 +954,11 @@ ildouble: 3
16479 ldouble: 3
16480
16481 Function: Real part of "ccosh_towardzero":
16482 -double: 1
16483 -float: 2
16484 +double: 2
16485 +float: 3
16486 float128: 2
16487 -idouble: 1
16488 -ifloat: 2
16489 +idouble: 2
16490 +ifloat: 3
16491 ifloat128: 2
16492 ildouble: 3
16493 ldouble: 3
16494 @@ -1075,10 +1075,10 @@ ldouble: 3
16495
16496 Function: Real part of "clog":
16497 double: 2
16498 -float: 1
16499 +float: 3
16500 float128: 2
16501 idouble: 2
16502 -ifloat: 1
16503 +ifloat: 3
16504 ifloat128: 2
16505 ildouble: 3
16506 ldouble: 3
16507 @@ -1092,79 +1092,81 @@ ildouble: 1
16508 ldouble: 1
16509
16510 Function: Real part of "clog10":
16511 -double: 2
16512 -float: 2
16513 +double: 3
16514 +float: 4
16515 float128: 2
16516 -idouble: 2
16517 -ifloat: 2
16518 +idouble: 3
16519 +ifloat: 4
16520 ifloat128: 2
16521 ildouble: 4
16522 ldouble: 4
16523
16524 Function: Imaginary part of "clog10":
16525 -double: 1
16526 +double: 2
16527 +float: 1
16528 float128: 2
16529 -idouble: 1
16530 +idouble: 2
16531 +ifloat: 1
16532 ifloat128: 2
16533 ildouble: 2
16534 ldouble: 2
16535
16536 Function: Real part of "clog10_downward":
16537 -double: 3
16538 -float: 3
16539 +double: 4
16540 +float: 4
16541 float128: 3
16542 -idouble: 3
16543 -ifloat: 3
16544 +idouble: 4
16545 +ifloat: 4
16546 ifloat128: 3
16547 ildouble: 8
16548 ldouble: 8
16549
16550 Function: Imaginary part of "clog10_downward":
16551 -double: 1
16552 -float: 1
16553 +double: 2
16554 +float: 2
16555 float128: 3
16556 -idouble: 1
16557 -ifloat: 1
16558 +idouble: 2
16559 +ifloat: 2
16560 ifloat128: 3
16561 ildouble: 3
16562 ldouble: 3
16563
16564 Function: Real part of "clog10_towardzero":
16565 -double: 3
16566 -float: 3
16567 +double: 5
16568 +float: 5
16569 float128: 4
16570 -idouble: 3
16571 -ifloat: 3
16572 +idouble: 5
16573 +ifloat: 5
16574 ifloat128: 4
16575 ildouble: 8
16576 ldouble: 8
16577
16578 Function: Imaginary part of "clog10_towardzero":
16579 -double: 1
16580 -float: 1
16581 +double: 2
16582 +float: 2
16583 float128: 3
16584 -idouble: 1
16585 -ifloat: 1
16586 +idouble: 2
16587 +ifloat: 2
16588 ifloat128: 3
16589 ildouble: 3
16590 ldouble: 3
16591
16592 Function: Real part of "clog10_upward":
16593 -double: 3
16594 -float: 3
16595 +double: 4
16596 +float: 5
16597 float128: 4
16598 -idouble: 3
16599 -ifloat: 3
16600 +idouble: 4
16601 +ifloat: 5
16602 ifloat128: 4
16603 ildouble: 7
16604 ldouble: 7
16605
16606 Function: Imaginary part of "clog10_upward":
16607 -double: 1
16608 -float: 1
16609 +double: 2
16610 +float: 2
16611 float128: 3
16612 -idouble: 1
16613 -ifloat: 1
16614 +idouble: 2
16615 +ifloat: 2
16616 ifloat128: 3
16617 ildouble: 3
16618 ldouble: 3
16619 @@ -1191,10 +1193,10 @@ ldouble: 1
16620
16621 Function: Real part of "clog_towardzero":
16622 double: 3
16623 -float: 3
16624 +float: 4
16625 float128: 3
16626 idouble: 3
16627 -ifloat: 3
16628 +ifloat: 4
16629 ifloat128: 3
16630 ildouble: 5
16631 ldouble: 5
16632 @@ -1230,8 +1232,10 @@ ildouble: 1
16633 ldouble: 1
16634
16635 Function: "cos":
16636 +double: 1
16637 float: 1
16638 float128: 1
16639 +idouble: 1
16640 ifloat: 1
16641 ifloat128: 1
16642 ildouble: 1
16643 @@ -1462,7 +1466,9 @@ ildouble: 2
16644 ldouble: 2
16645
16646 Function: Real part of "csinh":
16647 +float: 1
16648 float128: 1
16649 +ifloat: 1
16650 ifloat128: 1
16651 ildouble: 1
16652 ldouble: 1
16653 @@ -1478,10 +1484,10 @@ ildouble: 1
16654 ldouble: 1
16655
16656 Function: Real part of "csinh_downward":
16657 -double: 1
16658 +double: 2
16659 float: 1
16660 float128: 2
16661 -idouble: 1
16662 +idouble: 2
16663 ifloat: 1
16664 ifloat128: 2
16665 ildouble: 3
16666 @@ -1498,11 +1504,11 @@ ildouble: 3
16667 ldouble: 3
16668
16669 Function: Real part of "csinh_towardzero":
16670 -double: 1
16671 -float: 1
16672 +double: 2
16673 +float: 2
16674 float128: 2
16675 -idouble: 1
16676 -ifloat: 1
16677 +idouble: 2
16678 +ifloat: 2
16679 ifloat128: 2
16680 ildouble: 3
16681 ldouble: 3
16682 @@ -1538,79 +1544,81 @@ ildouble: 2
16683 ldouble: 2
16684
16685 Function: Real part of "csqrt":
16686 -double: 1
16687 +double: 2
16688 +float: 2
16689 float128: 2
16690 -idouble: 1
16691 +idouble: 2
16692 +ifloat: 2
16693 ifloat128: 2
16694 ildouble: 2
16695 ldouble: 2
16696
16697 Function: Imaginary part of "csqrt":
16698 -double: 1
16699 -float: 1
16700 +double: 2
16701 +float: 2
16702 float128: 2
16703 -idouble: 1
16704 -ifloat: 1
16705 +idouble: 2
16706 +ifloat: 2
16707 ifloat128: 2
16708 ildouble: 2
16709 ldouble: 2
16710
16711 Function: Real part of "csqrt_downward":
16712 -double: 1
16713 -float: 1
16714 +double: 4
16715 +float: 4
16716 float128: 4
16717 -idouble: 1
16718 -ifloat: 1
16719 +idouble: 4
16720 +ifloat: 4
16721 ifloat128: 4
16722 ildouble: 5
16723 ldouble: 5
16724
16725 Function: Imaginary part of "csqrt_downward":
16726 -double: 1
16727 -float: 1
16728 +double: 3
16729 +float: 3
16730 float128: 3
16731 -idouble: 1
16732 -ifloat: 1
16733 +idouble: 3
16734 +ifloat: 3
16735 ifloat128: 3
16736 ildouble: 4
16737 ldouble: 4
16738
16739 Function: Real part of "csqrt_towardzero":
16740 -double: 1
16741 -float: 1
16742 +double: 3
16743 +float: 3
16744 float128: 3
16745 -idouble: 1
16746 -ifloat: 1
16747 +idouble: 3
16748 +ifloat: 3
16749 ifloat128: 3
16750 ildouble: 4
16751 ldouble: 4
16752
16753 Function: Imaginary part of "csqrt_towardzero":
16754 -double: 1
16755 -float: 1
16756 +double: 3
16757 +float: 3
16758 float128: 3
16759 -idouble: 1
16760 -ifloat: 1
16761 +idouble: 3
16762 +ifloat: 3
16763 ifloat128: 3
16764 ildouble: 4
16765 ldouble: 4
16766
16767 Function: Real part of "csqrt_upward":
16768 -double: 1
16769 -float: 1
16770 +double: 4
16771 +float: 4
16772 float128: 4
16773 -idouble: 1
16774 -ifloat: 1
16775 +idouble: 4
16776 +ifloat: 4
16777 ifloat128: 4
16778 ildouble: 5
16779 ldouble: 5
16780
16781 Function: Imaginary part of "csqrt_upward":
16782 -double: 1
16783 -float: 2
16784 +double: 3
16785 +float: 3
16786 float128: 3
16787 -idouble: 1
16788 -ifloat: 2
16789 +idouble: 3
16790 +ifloat: 3
16791 ifloat128: 3
16792 ildouble: 4
16793 ldouble: 4
16794 @@ -1626,21 +1634,21 @@ ildouble: 2
16795 ldouble: 2
16796
16797 Function: Imaginary part of "ctan":
16798 -double: 1
16799 -float: 1
16800 +double: 2
16801 +float: 2
16802 float128: 3
16803 -idouble: 1
16804 -ifloat: 1
16805 +idouble: 2
16806 +ifloat: 2
16807 ifloat128: 3
16808 ildouble: 1
16809 ldouble: 1
16810
16811 Function: Real part of "ctan_downward":
16812 -double: 1
16813 -float: 2
16814 +double: 6
16815 +float: 5
16816 float128: 4
16817 -idouble: 1
16818 -ifloat: 2
16819 +idouble: 6
16820 +ifloat: 5
16821 ifloat128: 4
16822 ildouble: 5
16823 ldouble: 5
16824 @@ -1656,11 +1664,11 @@ ildouble: 4
16825 ldouble: 4
16826
16827 Function: Real part of "ctan_towardzero":
16828 -double: 3
16829 -float: 2
16830 +double: 5
16831 +float: 3
16832 float128: 4
16833 -idouble: 3
16834 -ifloat: 2
16835 +idouble: 5
16836 +ifloat: 3
16837 ifloat128: 4
16838 ildouble: 5
16839 ldouble: 5
16840 @@ -1677,10 +1685,10 @@ ldouble: 4
16841
16842 Function: Real part of "ctan_upward":
16843 double: 3
16844 -float: 2
16845 +float: 4
16846 float128: 5
16847 idouble: 3
16848 -ifloat: 2
16849 +ifloat: 4
16850 ifloat128: 5
16851 ildouble: 3
16852 ldouble: 3
16853 @@ -1696,21 +1704,21 @@ ildouble: 3
16854 ldouble: 3
16855
16856 Function: Real part of "ctanh":
16857 -double: 1
16858 -float: 1
16859 +double: 2
16860 +float: 2
16861 float128: 3
16862 -idouble: 1
16863 -ifloat: 1
16864 +idouble: 2
16865 +ifloat: 2
16866 ifloat128: 3
16867 ildouble: 1
16868 ldouble: 1
16869
16870 Function: Imaginary part of "ctanh":
16871 -double: 1
16872 -float: 1
16873 +double: 2
16874 +float: 2
16875 float128: 3
16876 -idouble: 1
16877 -ifloat: 1
16878 +idouble: 2
16879 +ifloat: 2
16880 ifloat128: 3
16881 ildouble: 2
16882 ldouble: 2
16883 @@ -1726,11 +1734,11 @@ ildouble: 4
16884 ldouble: 4
16885
16886 Function: Imaginary part of "ctanh_downward":
16887 -double: 2
16888 -float: 1
16889 +double: 6
16890 +float: 5
16891 float128: 4
16892 -idouble: 2
16893 -ifloat: 1
16894 +idouble: 6
16895 +ifloat: 5
16896 ifloat128: 4
16897 ildouble: 4
16898 ldouble: 4
16899 @@ -1746,31 +1754,31 @@ ildouble: 4
16900 ldouble: 4
16901
16902 Function: Imaginary part of "ctanh_towardzero":
16903 -double: 2
16904 -float: 2
16905 +double: 5
16906 +float: 3
16907 float128: 3
16908 -idouble: 2
16909 -ifloat: 2
16910 +idouble: 5
16911 +ifloat: 3
16912 ifloat128: 3
16913 ildouble: 3
16914 ldouble: 3
16915
16916 Function: Real part of "ctanh_upward":
16917 double: 2
16918 -float: 1
16919 +float: 2
16920 float128: 5
16921 idouble: 2
16922 -ifloat: 1
16923 +ifloat: 2
16924 ifloat128: 5
16925 ildouble: 3
16926 ldouble: 3
16927
16928 Function: Imaginary part of "ctanh_upward":
16929 double: 3
16930 -float: 2
16931 +float: 3
16932 float128: 5
16933 idouble: 3
16934 -ifloat: 2
16935 +ifloat: 3
16936 ifloat128: 5
16937 ildouble: 3
16938 ldouble: 3
16939 @@ -1816,41 +1824,41 @@ ildouble: 1
16940 ldouble: 1
16941
16942 Function: "erfc":
16943 -double: 1
16944 -float: 1
16945 +double: 3
16946 +float: 2
16947 float128: 2
16948 -idouble: 1
16949 -ifloat: 1
16950 +idouble: 3
16951 +ifloat: 2
16952 ifloat128: 2
16953 ildouble: 3
16954 ldouble: 3
16955
16956 Function: "erfc_downward":
16957 -double: 2
16958 -float: 3
16959 +double: 5
16960 +float: 6
16961 float128: 5
16962 -idouble: 2
16963 -ifloat: 3
16964 +idouble: 5
16965 +ifloat: 6
16966 ifloat128: 5
16967 ildouble: 4
16968 ldouble: 4
16969
16970 Function: "erfc_towardzero":
16971 -double: 2
16972 -float: 2
16973 +double: 3
16974 +float: 4
16975 float128: 4
16976 -idouble: 2
16977 -ifloat: 2
16978 +idouble: 3
16979 +ifloat: 4
16980 ifloat128: 4
16981 ildouble: 4
16982 ldouble: 4
16983
16984 Function: "erfc_upward":
16985 -double: 2
16986 -float: 3
16987 +double: 5
16988 +float: 6
16989 float128: 5
16990 -idouble: 2
16991 -ifloat: 3
16992 +idouble: 5
16993 +ifloat: 6
16994 ifloat128: 5
16995 ildouble: 5
16996 ldouble: 5
16997 @@ -1994,34 +2002,34 @@ ildouble: 4
16998 ldouble: 4
16999
17000 Function: "gamma":
17001 -double: 3
17002 +double: 4
17003 float: 3
17004 -idouble: 3
17005 +idouble: 4
17006 ifloat: 3
17007 ildouble: 4
17008 ldouble: 4
17009
17010 Function: "gamma_downward":
17011 -double: 4
17012 +double: 5
17013 float: 5
17014 -idouble: 4
17015 +idouble: 5
17016 ifloat: 5
17017 ildouble: 7
17018 ldouble: 7
17019
17020 Function: "gamma_towardzero":
17021 -double: 4
17022 -float: 3
17023 -idouble: 4
17024 -ifloat: 3
17025 +double: 5
17026 +float: 4
17027 +idouble: 5
17028 +ifloat: 4
17029 ildouble: 7
17030 ldouble: 7
17031
17032 Function: "gamma_upward":
17033 -double: 3
17034 -float: 4
17035 -idouble: 3
17036 -ifloat: 4
17037 +double: 5
17038 +float: 5
17039 +idouble: 5
17040 +ifloat: 5
17041 ildouble: 5
17042 ldouble: 5
17043
17044 @@ -2059,39 +2067,39 @@ ldouble: 1
17045
17046 Function: "j0":
17047 double: 2
17048 -float: 1
17049 +float: 2
17050 float128: 2
17051 idouble: 2
17052 -ifloat: 1
17053 +ifloat: 2
17054 ifloat128: 2
17055 ildouble: 2
17056 ldouble: 2
17057
17058 Function: "j0_downward":
17059 -double: 1
17060 -float: 3
17061 +double: 2
17062 +float: 4
17063 float128: 4
17064 -idouble: 1
17065 -ifloat: 3
17066 +idouble: 2
17067 +ifloat: 4
17068 ifloat128: 4
17069 ildouble: 4
17070 ldouble: 4
17071
17072 Function: "j0_towardzero":
17073 -double: 2
17074 -float: 1
17075 +double: 3
17076 +float: 2
17077 float128: 2
17078 -idouble: 2
17079 -ifloat: 1
17080 +idouble: 3
17081 +ifloat: 2
17082 ifloat128: 2
17083 ildouble: 5
17084 ldouble: 5
17085
17086 Function: "j0_upward":
17087 -double: 2
17088 +double: 3
17089 float: 3
17090 float128: 5
17091 -idouble: 2
17092 +idouble: 3
17093 ifloat: 3
17094 ifloat128: 5
17095 ildouble: 4
17096 @@ -2108,111 +2116,111 @@ ildouble: 1
17097 ldouble: 1
17098
17099 Function: "j1_downward":
17100 -double: 2
17101 -float: 2
17102 +double: 3
17103 +float: 3
17104 float128: 4
17105 -idouble: 2
17106 -ifloat: 2
17107 +idouble: 3
17108 +ifloat: 3
17109 ifloat128: 4
17110 ildouble: 4
17111 ldouble: 4
17112
17113 Function: "j1_towardzero":
17114 -double: 2
17115 +double: 3
17116 float: 2
17117 float128: 4
17118 -idouble: 2
17119 +idouble: 3
17120 ifloat: 2
17121 ifloat128: 4
17122 ildouble: 4
17123 ldouble: 4
17124
17125 Function: "j1_upward":
17126 -double: 2
17127 -float: 3
17128 +double: 3
17129 +float: 5
17130 float128: 3
17131 -idouble: 2
17132 -ifloat: 3
17133 +idouble: 3
17134 +ifloat: 5
17135 ifloat128: 3
17136 ildouble: 3
17137 ldouble: 3
17138
17139 Function: "jn":
17140 -double: 2
17141 -float: 3
17142 +double: 4
17143 +float: 4
17144 float128: 7
17145 -idouble: 2
17146 -ifloat: 3
17147 +idouble: 4
17148 +ifloat: 4
17149 ifloat128: 7
17150 ildouble: 4
17151 ldouble: 4
17152
17153 Function: "jn_downward":
17154 -double: 2
17155 -float: 3
17156 +double: 5
17157 +float: 5
17158 float128: 8
17159 -idouble: 2
17160 -ifloat: 3
17161 +idouble: 5
17162 +ifloat: 5
17163 ifloat128: 8
17164 ildouble: 4
17165 ldouble: 4
17166
17167 Function: "jn_towardzero":
17168 -double: 2
17169 -float: 3
17170 +double: 5
17171 +float: 5
17172 float128: 8
17173 -idouble: 2
17174 -ifloat: 3
17175 +idouble: 5
17176 +ifloat: 5
17177 ifloat128: 8
17178 ildouble: 5
17179 ldouble: 5
17180
17181 Function: "jn_upward":
17182 -double: 2
17183 -float: 3
17184 +double: 5
17185 +float: 5
17186 float128: 7
17187 -idouble: 2
17188 -ifloat: 3
17189 +idouble: 5
17190 +ifloat: 5
17191 ifloat128: 7
17192 ildouble: 5
17193 ldouble: 5
17194
17195 Function: "lgamma":
17196 -double: 3
17197 +double: 4
17198 float: 3
17199 float128: 5
17200 -idouble: 3
17201 +idouble: 4
17202 ifloat: 3
17203 ifloat128: 5
17204 ildouble: 4
17205 ldouble: 4
17206
17207 Function: "lgamma_downward":
17208 -double: 4
17209 +double: 5
17210 float: 5
17211 float128: 8
17212 -idouble: 4
17213 +idouble: 5
17214 ifloat: 5
17215 ifloat128: 8
17216 ildouble: 7
17217 ldouble: 7
17218
17219 Function: "lgamma_towardzero":
17220 -double: 4
17221 -float: 3
17222 +double: 5
17223 +float: 4
17224 float128: 5
17225 -idouble: 4
17226 -ifloat: 3
17227 +idouble: 5
17228 +ifloat: 4
17229 ifloat128: 5
17230 ildouble: 7
17231 ldouble: 7
17232
17233 Function: "lgamma_upward":
17234 -double: 3
17235 -float: 4
17236 +double: 5
17237 +float: 5
17238 float128: 8
17239 -idouble: 3
17240 -ifloat: 4
17241 +idouble: 5
17242 +ifloat: 5
17243 ifloat128: 8
17244 ildouble: 5
17245 ldouble: 5
17246 @@ -2402,8 +2410,10 @@ ildouble: 4
17247 ldouble: 4
17248
17249 Function: "sin":
17250 +double: 1
17251 float: 1
17252 float128: 1
17253 +idouble: 1
17254 ifloat: 1
17255 ifloat128: 1
17256 ildouble: 1
17257 @@ -2440,8 +2450,10 @@ ildouble: 3
17258 ldouble: 3
17259
17260 Function: "sincos":
17261 +double: 1
17262 float: 1
17263 float128: 1
17264 +idouble: 1
17265 ifloat: 1
17266 ifloat128: 1
17267 ildouble: 1
17268 @@ -2478,39 +2490,41 @@ ildouble: 3
17269 ldouble: 3
17270
17271 Function: "sinh":
17272 -double: 1
17273 +double: 2
17274 +float: 2
17275 float128: 2
17276 -idouble: 1
17277 +idouble: 2
17278 +ifloat: 2
17279 ifloat128: 2
17280 ildouble: 2
17281 ldouble: 2
17282
17283 Function: "sinh_downward":
17284 -double: 2
17285 -float: 1
17286 +double: 3
17287 +float: 3
17288 float128: 3
17289 -idouble: 2
17290 -ifloat: 1
17291 +idouble: 3
17292 +ifloat: 3
17293 ifloat128: 3
17294 ildouble: 5
17295 ldouble: 5
17296
17297 Function: "sinh_towardzero":
17298 double: 2
17299 -float: 1
17300 +float: 2
17301 float128: 3
17302 idouble: 2
17303 -ifloat: 1
17304 +ifloat: 2
17305 ifloat128: 3
17306 ildouble: 4
17307 ldouble: 4
17308
17309 Function: "sinh_upward":
17310 double: 4
17311 -float: 2
17312 +float: 3
17313 float128: 4
17314 idouble: 4
17315 -ifloat: 2
17316 +ifloat: 3
17317 ifloat128: 4
17318 ildouble: 5
17319 ldouble: 5
17320 @@ -2554,199 +2568,201 @@ ildouble: 2
17321 ldouble: 2
17322
17323 Function: "tanh":
17324 -double: 1
17325 +double: 2
17326 +float: 2
17327 float128: 2
17328 -idouble: 1
17329 +idouble: 2
17330 +ifloat: 2
17331 ifloat128: 2
17332 ildouble: 3
17333 ldouble: 3
17334
17335 Function: "tanh_downward":
17336 -double: 1
17337 -float: 1
17338 +double: 3
17339 +float: 3
17340 float128: 4
17341 -idouble: 1
17342 -ifloat: 1
17343 +idouble: 3
17344 +ifloat: 3
17345 ifloat128: 4
17346 ildouble: 7
17347 ldouble: 4
17348
17349 Function: "tanh_towardzero":
17350 -double: 1
17351 -float: 1
17352 +double: 2
17353 +float: 2
17354 float128: 3
17355 -idouble: 1
17356 -ifloat: 1
17357 +idouble: 2
17358 +ifloat: 2
17359 ifloat128: 3
17360 ildouble: 3
17361 ldouble: 3
17362
17363 Function: "tanh_upward":
17364 -double: 1
17365 -float: 1
17366 +double: 3
17367 +float: 3
17368 float128: 3
17369 -idouble: 1
17370 -ifloat: 1
17371 +idouble: 3
17372 +ifloat: 3
17373 ifloat128: 3
17374 ildouble: 5
17375 ldouble: 4
17376
17377 Function: "tgamma":
17378 -double: 3
17379 -float: 3
17380 +double: 5
17381 +float: 4
17382 float128: 4
17383 -idouble: 3
17384 -ifloat: 3
17385 +idouble: 5
17386 +ifloat: 4
17387 ifloat128: 4
17388 ildouble: 5
17389 ldouble: 5
17390
17391 Function: "tgamma_downward":
17392 -double: 3
17393 -float: 3
17394 +double: 6
17395 +float: 5
17396 float128: 5
17397 -idouble: 3
17398 -ifloat: 3
17399 +idouble: 6
17400 +ifloat: 5
17401 ifloat128: 5
17402 ildouble: 5
17403 ldouble: 5
17404
17405 Function: "tgamma_towardzero":
17406 -double: 3
17407 -float: 3
17408 +double: 6
17409 +float: 4
17410 float128: 5
17411 -idouble: 3
17412 -ifloat: 3
17413 +idouble: 6
17414 +ifloat: 4
17415 ifloat128: 5
17416 ildouble: 5
17417 ldouble: 5
17418
17419 Function: "tgamma_upward":
17420 -double: 3
17421 -float: 3
17422 +double: 5
17423 +float: 4
17424 float128: 4
17425 -idouble: 3
17426 -ifloat: 3
17427 +idouble: 5
17428 +ifloat: 4
17429 ifloat128: 4
17430 ildouble: 5
17431 ldouble: 5
17432
17433 Function: "y0":
17434 -double: 1
17435 +double: 2
17436 float: 1
17437 float128: 3
17438 -idouble: 1
17439 +idouble: 2
17440 ifloat: 1
17441 ifloat128: 3
17442 ildouble: 1
17443 ldouble: 1
17444
17445 Function: "y0_downward":
17446 -double: 2
17447 -float: 3
17448 +double: 3
17449 +float: 4
17450 float128: 4
17451 -idouble: 2
17452 -ifloat: 3
17453 +idouble: 3
17454 +ifloat: 4
17455 ifloat128: 4
17456 ildouble: 5
17457 ldouble: 5
17458
17459 Function: "y0_towardzero":
17460 -double: 2
17461 +double: 3
17462 float: 3
17463 float128: 3
17464 -idouble: 2
17465 +idouble: 3
17466 ifloat: 3
17467 ifloat128: 3
17468 ildouble: 5
17469 ldouble: 5
17470
17471 Function: "y0_upward":
17472 -double: 1
17473 -float: 3
17474 +double: 3
17475 +float: 5
17476 float128: 3
17477 -idouble: 1
17478 -ifloat: 3
17479 +idouble: 3
17480 +ifloat: 5
17481 ifloat128: 3
17482 ildouble: 3
17483 ldouble: 3
17484
17485 Function: "y1":
17486 -double: 2
17487 +double: 3
17488 float: 2
17489 float128: 2
17490 -idouble: 2
17491 +idouble: 3
17492 ifloat: 2
17493 ifloat128: 2
17494 ildouble: 2
17495 ldouble: 2
17496
17497 Function: "y1_downward":
17498 -double: 2
17499 +double: 3
17500 float: 3
17501 float128: 4
17502 -idouble: 2
17503 +idouble: 3
17504 ifloat: 3
17505 ifloat128: 4
17506 ildouble: 7
17507 ldouble: 7
17508
17509 Function: "y1_towardzero":
17510 -double: 2
17511 +double: 3
17512 float: 3
17513 float128: 2
17514 -idouble: 2
17515 +idouble: 3
17516 ifloat: 3
17517 ifloat128: 2
17518 ildouble: 5
17519 ldouble: 5
17520
17521 Function: "y1_upward":
17522 -double: 1
17523 +double: 7
17524 float: 3
17525 float128: 5
17526 -idouble: 1
17527 +idouble: 7
17528 ifloat: 3
17529 ifloat128: 5
17530 ildouble: 7
17531 ldouble: 7
17532
17533 Function: "yn":
17534 -double: 2
17535 +double: 3
17536 float: 3
17537 float128: 5
17538 -idouble: 2
17539 +idouble: 3
17540 ifloat: 3
17541 ifloat128: 5
17542 ildouble: 4
17543 ldouble: 4
17544
17545 Function: "yn_downward":
17546 -double: 2
17547 -float: 3
17548 +double: 3
17549 +float: 4
17550 float128: 5
17551 -idouble: 2
17552 -ifloat: 3
17553 +idouble: 3
17554 +ifloat: 4
17555 ifloat128: 5
17556 ildouble: 5
17557 ldouble: 5
17558
17559 Function: "yn_towardzero":
17560 double: 3
17561 -float: 3
17562 +float: 4
17563 float128: 5
17564 idouble: 3
17565 -ifloat: 3
17566 +ifloat: 4
17567 ifloat128: 5
17568 ildouble: 5
17569 ldouble: 5
17570
17571 Function: "yn_upward":
17572 -double: 3
17573 -float: 3
17574 +double: 4
17575 +float: 5
17576 float128: 5
17577 -idouble: 3
17578 -ifloat: 3
17579 +idouble: 4
17580 +ifloat: 5
17581 ifloat128: 5
17582 ildouble: 4
17583 ldouble: 4
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
17589
17590 Function: Real part of "cacos":
17591 double: 1
17592 -float: 1
17593 +float: 2
17594 float128: 2
17595 idouble: 1
17596 -ifloat: 1
17597 +ifloat: 2
17598 ifloat128: 2
17599 ildouble: 1
17600 ldouble: 1
17601
17602 Function: Imaginary part of "cacos":
17603 -double: 1
17604 -float: 1
17605 +double: 2
17606 +float: 2
17607 float128: 2
17608 -idouble: 1
17609 -ifloat: 1
17610 +idouble: 2
17611 +ifloat: 2
17612 ifloat128: 2
17613 ildouble: 2
17614 ldouble: 2
17615 @@ -360,21 +360,21 @@ ildouble: 7
17616 ldouble: 7
17617
17618 Function: Real part of "cacosh":
17619 -double: 1
17620 -float: 1
17621 +double: 2
17622 +float: 2
17623 float128: 2
17624 -idouble: 1
17625 -ifloat: 1
17626 +idouble: 2
17627 +ifloat: 2
17628 ifloat128: 2
17629 ildouble: 2
17630 ldouble: 2
17631
17632 Function: Imaginary part of "cacosh":
17633 double: 1
17634 -float: 1
17635 +float: 2
17636 float128: 2
17637 idouble: 1
17638 -ifloat: 1
17639 +ifloat: 2
17640 ifloat128: 2
17641 ildouble: 1
17642 ldouble: 1
17643 @@ -420,10 +420,10 @@ ildouble: 2
17644 ldouble: 2
17645
17646 Function: Real part of "cacosh_upward":
17647 -double: 4
17648 +double: 5
17649 float: 4
17650 float128: 6
17651 -idouble: 4
17652 +idouble: 5
17653 ifloat: 4
17654 ifloat128: 6
17655 ildouble: 5
17656 @@ -488,11 +488,11 @@ ildouble: 1
17657 ldouble: 1
17658
17659 Function: Imaginary part of "casin":
17660 -double: 1
17661 -float: 1
17662 +double: 2
17663 +float: 2
17664 float128: 2
17665 -idouble: 1
17666 -ifloat: 1
17667 +idouble: 2
17668 +ifloat: 2
17669 ifloat128: 2
17670 ildouble: 2
17671 ldouble: 2
17672 @@ -558,11 +558,11 @@ ildouble: 7
17673 ldouble: 7
17674
17675 Function: Real part of "casinh":
17676 -double: 1
17677 -float: 1
17678 +double: 2
17679 +float: 2
17680 float128: 2
17681 -idouble: 1
17682 -ifloat: 1
17683 +idouble: 2
17684 +ifloat: 2
17685 ifloat128: 2
17686 ildouble: 2
17687 ldouble: 2
17688 @@ -774,11 +774,11 @@ ildouble: 1
17689 ldouble: 1
17690
17691 Function: Real part of "catanh_upward":
17692 -double: 2
17693 -float: 2
17694 +double: 4
17695 +float: 4
17696 float128: 4
17697 -idouble: 2
17698 -ifloat: 2
17699 +idouble: 4
17700 +ifloat: 4
17701 ifloat128: 4
17702 ildouble: 4
17703 ldouble: 4
17704 @@ -875,10 +875,10 @@ ldouble: 3
17705
17706 Function: Real part of "ccos_towardzero":
17707 double: 1
17708 -float: 1
17709 +float: 2
17710 float128: 2
17711 idouble: 1
17712 -ifloat: 1
17713 +ifloat: 2
17714 ifloat128: 2
17715 ildouble: 3
17716 ldouble: 3
17717 @@ -934,10 +934,10 @@ ildouble: 1
17718 ldouble: 1
17719
17720 Function: Real part of "ccosh_downward":
17721 -double: 1
17722 +double: 2
17723 float: 2
17724 float128: 2
17725 -idouble: 1
17726 +idouble: 2
17727 ifloat: 2
17728 ifloat128: 2
17729 ildouble: 3
17730 @@ -954,11 +954,11 @@ ildouble: 3
17731 ldouble: 3
17732
17733 Function: Real part of "ccosh_towardzero":
17734 -double: 1
17735 -float: 2
17736 +double: 2
17737 +float: 3
17738 float128: 2
17739 -idouble: 1
17740 -ifloat: 2
17741 +idouble: 2
17742 +ifloat: 3
17743 ifloat128: 2
17744 ildouble: 3
17745 ldouble: 3
17746 @@ -1075,10 +1075,10 @@ ldouble: 3
17747
17748 Function: Real part of "clog":
17749 double: 2
17750 -float: 1
17751 +float: 3
17752 float128: 2
17753 idouble: 2
17754 -ifloat: 1
17755 +ifloat: 3
17756 ifloat128: 2
17757 ildouble: 3
17758 ldouble: 3
17759 @@ -1092,79 +1092,81 @@ ildouble: 1
17760 ldouble: 1
17761
17762 Function: Real part of "clog10":
17763 -double: 2
17764 -float: 2
17765 +double: 3
17766 +float: 4
17767 float128: 2
17768 -idouble: 2
17769 -ifloat: 2
17770 +idouble: 3
17771 +ifloat: 4
17772 ifloat128: 2
17773 ildouble: 4
17774 ldouble: 4
17775
17776 Function: Imaginary part of "clog10":
17777 -double: 1
17778 +double: 2
17779 +float: 1
17780 float128: 2
17781 -idouble: 1
17782 +idouble: 2
17783 +ifloat: 1
17784 ifloat128: 2
17785 ildouble: 2
17786 ldouble: 2
17787
17788 Function: Real part of "clog10_downward":
17789 -double: 3
17790 -float: 3
17791 +double: 4
17792 +float: 4
17793 float128: 3
17794 -idouble: 3
17795 -ifloat: 3
17796 +idouble: 4
17797 +ifloat: 4
17798 ifloat128: 3
17799 ildouble: 8
17800 ldouble: 8
17801
17802 Function: Imaginary part of "clog10_downward":
17803 -double: 1
17804 -float: 1
17805 +double: 2
17806 +float: 2
17807 float128: 3
17808 -idouble: 1
17809 -ifloat: 1
17810 +idouble: 2
17811 +ifloat: 2
17812 ifloat128: 3
17813 ildouble: 3
17814 ldouble: 3
17815
17816 Function: Real part of "clog10_towardzero":
17817 -double: 3
17818 -float: 3
17819 +double: 5
17820 +float: 5
17821 float128: 4
17822 -idouble: 3
17823 -ifloat: 3
17824 +idouble: 5
17825 +ifloat: 5
17826 ifloat128: 4
17827 ildouble: 8
17828 ldouble: 8
17829
17830 Function: Imaginary part of "clog10_towardzero":
17831 -double: 1
17832 -float: 1
17833 +double: 2
17834 +float: 2
17835 float128: 3
17836 -idouble: 1
17837 -ifloat: 1
17838 +idouble: 2
17839 +ifloat: 2
17840 ifloat128: 3
17841 ildouble: 3
17842 ldouble: 3
17843
17844 Function: Real part of "clog10_upward":
17845 -double: 3
17846 -float: 3
17847 +double: 4
17848 +float: 5
17849 float128: 4
17850 -idouble: 3
17851 -ifloat: 3
17852 +idouble: 4
17853 +ifloat: 5
17854 ifloat128: 4
17855 ildouble: 8
17856 ldouble: 8
17857
17858 Function: Imaginary part of "clog10_upward":
17859 -double: 1
17860 -float: 1
17861 +double: 2
17862 +float: 2
17863 float128: 3
17864 -idouble: 1
17865 -ifloat: 1
17866 +idouble: 2
17867 +ifloat: 2
17868 ifloat128: 3
17869 ildouble: 3
17870 ldouble: 3
17871 @@ -1191,10 +1193,10 @@ ldouble: 1
17872
17873 Function: Real part of "clog_towardzero":
17874 double: 3
17875 -float: 3
17876 +float: 4
17877 float128: 3
17878 idouble: 3
17879 -ifloat: 3
17880 +ifloat: 4
17881 ifloat128: 3
17882 ildouble: 5
17883 ldouble: 5
17884 @@ -1230,7 +1232,9 @@ ildouble: 1
17885 ldouble: 1
17886
17887 Function: "cos":
17888 +double: 1
17889 float128: 1
17890 +idouble: 1
17891 ifloat128: 1
17892 ildouble: 1
17893 ldouble: 1
17894 @@ -1478,10 +1482,10 @@ ildouble: 1
17895 ldouble: 1
17896
17897 Function: Real part of "csinh_downward":
17898 -double: 1
17899 +double: 2
17900 float: 2
17901 float128: 2
17902 -idouble: 1
17903 +idouble: 2
17904 ifloat: 2
17905 ifloat128: 2
17906 ildouble: 3
17907 @@ -1498,10 +1502,10 @@ ildouble: 3
17908 ldouble: 3
17909
17910 Function: Real part of "csinh_towardzero":
17911 -double: 1
17912 +double: 2
17913 float: 2
17914 float128: 2
17915 -idouble: 1
17916 +idouble: 2
17917 ifloat: 2
17918 ifloat128: 2
17919 ildouble: 3
17920 @@ -1538,79 +1542,81 @@ ildouble: 3
17921 ldouble: 3
17922
17923 Function: Real part of "csqrt":
17924 -double: 1
17925 +double: 2
17926 +float: 2
17927 float128: 2
17928 -idouble: 1
17929 +idouble: 2
17930 +ifloat: 2
17931 ifloat128: 2
17932 ildouble: 2
17933 ldouble: 2
17934
17935 Function: Imaginary part of "csqrt":
17936 -double: 1
17937 -float: 1
17938 +double: 2
17939 +float: 2
17940 float128: 2
17941 -idouble: 1
17942 -ifloat: 1
17943 +idouble: 2
17944 +ifloat: 2
17945 ifloat128: 2
17946 ildouble: 2
17947 ldouble: 2
17948
17949 Function: Real part of "csqrt_downward":
17950 -double: 1
17951 -float: 1
17952 +double: 4
17953 +float: 4
17954 float128: 4
17955 -idouble: 1
17956 -ifloat: 1
17957 +idouble: 4
17958 +ifloat: 4
17959 ifloat128: 4
17960 ildouble: 5
17961 ldouble: 5
17962
17963 Function: Imaginary part of "csqrt_downward":
17964 -double: 1
17965 -float: 1
17966 +double: 3
17967 +float: 3
17968 float128: 3
17969 -idouble: 1
17970 -ifloat: 1
17971 +idouble: 3
17972 +ifloat: 3
17973 ifloat128: 3
17974 ildouble: 4
17975 ldouble: 4
17976
17977 Function: Real part of "csqrt_towardzero":
17978 -double: 1
17979 -float: 1
17980 +double: 3
17981 +float: 3
17982 float128: 3
17983 -idouble: 1
17984 -ifloat: 1
17985 +idouble: 3
17986 +ifloat: 3
17987 ifloat128: 3
17988 ildouble: 4
17989 ldouble: 4
17990
17991 Function: Imaginary part of "csqrt_towardzero":
17992 -double: 1
17993 -float: 1
17994 +double: 3
17995 +float: 3
17996 float128: 3
17997 -idouble: 1
17998 -ifloat: 1
17999 +idouble: 3
18000 +ifloat: 3
18001 ifloat128: 3
18002 ildouble: 4
18003 ldouble: 4
18004
18005 Function: Real part of "csqrt_upward":
18006 -double: 1
18007 -float: 1
18008 +double: 4
18009 +float: 4
18010 float128: 4
18011 -idouble: 1
18012 -ifloat: 1
18013 +idouble: 4
18014 +ifloat: 4
18015 ifloat128: 4
18016 ildouble: 5
18017 ldouble: 5
18018
18019 Function: Imaginary part of "csqrt_upward":
18020 -double: 1
18021 -float: 2
18022 +double: 3
18023 +float: 3
18024 float128: 3
18025 -idouble: 1
18026 -ifloat: 2
18027 +idouble: 3
18028 +ifloat: 3
18029 ifloat128: 3
18030 ildouble: 4
18031 ldouble: 4
18032 @@ -1626,21 +1632,21 @@ ildouble: 2
18033 ldouble: 2
18034
18035 Function: Imaginary part of "ctan":
18036 -double: 1
18037 -float: 1
18038 +double: 2
18039 +float: 2
18040 float128: 3
18041 -idouble: 1
18042 -ifloat: 1
18043 +idouble: 2
18044 +ifloat: 2
18045 ifloat128: 3
18046 ildouble: 1
18047 ldouble: 1
18048
18049 Function: Real part of "ctan_downward":
18050 -double: 1
18051 -float: 2
18052 +double: 6
18053 +float: 5
18054 float128: 4
18055 -idouble: 1
18056 -ifloat: 2
18057 +idouble: 6
18058 +ifloat: 5
18059 ifloat128: 4
18060 ildouble: 5
18061 ldouble: 5
18062 @@ -1656,31 +1662,31 @@ ildouble: 4
18063 ldouble: 4
18064
18065 Function: Real part of "ctan_towardzero":
18066 -double: 3
18067 -float: 1
18068 +double: 5
18069 +float: 3
18070 float128: 4
18071 -idouble: 3
18072 -ifloat: 1
18073 +idouble: 5
18074 +ifloat: 3
18075 ifloat128: 4
18076 ildouble: 5
18077 ldouble: 5
18078
18079 Function: Imaginary part of "ctan_towardzero":
18080 double: 2
18081 -float: 1
18082 +float: 2
18083 float128: 5
18084 idouble: 2
18085 -ifloat: 1
18086 +ifloat: 2
18087 ifloat128: 5
18088 ildouble: 4
18089 ldouble: 4
18090
18091 Function: Real part of "ctan_upward":
18092 double: 3
18093 -float: 2
18094 +float: 4
18095 float128: 5
18096 idouble: 3
18097 -ifloat: 2
18098 +ifloat: 4
18099 ifloat128: 5
18100 ildouble: 3
18101 ldouble: 3
18102 @@ -1696,21 +1702,21 @@ ildouble: 3
18103 ldouble: 3
18104
18105 Function: Real part of "ctanh":
18106 -double: 1
18107 -float: 1
18108 +double: 2
18109 +float: 2
18110 float128: 3
18111 -idouble: 1
18112 -ifloat: 1
18113 +idouble: 2
18114 +ifloat: 2
18115 ifloat128: 3
18116 ildouble: 1
18117 ldouble: 1
18118
18119 Function: Imaginary part of "ctanh":
18120 -double: 1
18121 -float: 1
18122 +double: 2
18123 +float: 2
18124 float128: 3
18125 -idouble: 1
18126 -ifloat: 1
18127 +idouble: 2
18128 +ifloat: 2
18129 ifloat128: 3
18130 ildouble: 2
18131 ldouble: 2
18132 @@ -1726,51 +1732,51 @@ ildouble: 4
18133 ldouble: 4
18134
18135 Function: Imaginary part of "ctanh_downward":
18136 -double: 2
18137 -float: 1
18138 +double: 6
18139 +float: 5
18140 float128: 4
18141 -idouble: 2
18142 -ifloat: 1
18143 +idouble: 6
18144 +ifloat: 5
18145 ifloat128: 4
18146 ildouble: 4
18147 ldouble: 4
18148
18149 Function: Real part of "ctanh_towardzero":
18150 double: 2
18151 -float: 1
18152 +float: 2
18153 float128: 5
18154 idouble: 2
18155 -ifloat: 1
18156 +ifloat: 2
18157 ifloat128: 5
18158 ildouble: 4
18159 ldouble: 4
18160
18161 Function: Imaginary part of "ctanh_towardzero":
18162 -double: 2
18163 -float: 1
18164 +double: 5
18165 +float: 3
18166 float128: 3
18167 -idouble: 2
18168 -ifloat: 1
18169 +idouble: 5
18170 +ifloat: 3
18171 ifloat128: 3
18172 ildouble: 3
18173 ldouble: 3
18174
18175 Function: Real part of "ctanh_upward":
18176 double: 2
18177 -float: 1
18178 +float: 2
18179 float128: 5
18180 idouble: 2
18181 -ifloat: 1
18182 +ifloat: 2
18183 ifloat128: 5
18184 ildouble: 3
18185 ldouble: 3
18186
18187 Function: Imaginary part of "ctanh_upward":
18188 double: 3
18189 -float: 2
18190 +float: 3
18191 float128: 5
18192 idouble: 3
18193 -ifloat: 2
18194 +ifloat: 3
18195 ifloat128: 5
18196 ildouble: 3
18197 ldouble: 3
18198 @@ -1816,41 +1822,41 @@ ildouble: 1
18199 ldouble: 1
18200
18201 Function: "erfc":
18202 -double: 1
18203 -float: 1
18204 +double: 3
18205 +float: 2
18206 float128: 2
18207 -idouble: 1
18208 -ifloat: 1
18209 +idouble: 3
18210 +ifloat: 2
18211 ifloat128: 2
18212 ildouble: 3
18213 ldouble: 3
18214
18215 Function: "erfc_downward":
18216 -double: 2
18217 -float: 3
18218 +double: 5
18219 +float: 6
18220 float128: 5
18221 -idouble: 2
18222 -ifloat: 3
18223 +idouble: 5
18224 +ifloat: 6
18225 ifloat128: 5
18226 ildouble: 4
18227 ldouble: 4
18228
18229 Function: "erfc_towardzero":
18230 -double: 2
18231 -float: 2
18232 +double: 3
18233 +float: 4
18234 float128: 4
18235 -idouble: 2
18236 -ifloat: 2
18237 +idouble: 3
18238 +ifloat: 4
18239 ifloat128: 4
18240 ildouble: 4
18241 ldouble: 4
18242
18243 Function: "erfc_upward":
18244 -double: 2
18245 -float: 3
18246 +double: 5
18247 +float: 6
18248 float128: 5
18249 -idouble: 2
18250 -ifloat: 3
18251 +idouble: 5
18252 +ifloat: 6
18253 ifloat128: 5
18254 ildouble: 5
18255 ldouble: 5
18256 @@ -1994,34 +2000,34 @@ ildouble: 4
18257 ldouble: 4
18258
18259 Function: "gamma":
18260 -double: 3
18261 +double: 4
18262 float: 3
18263 -idouble: 3
18264 +idouble: 4
18265 ifloat: 3
18266 ildouble: 4
18267 ldouble: 4
18268
18269 Function: "gamma_downward":
18270 -double: 4
18271 +double: 5
18272 float: 5
18273 -idouble: 4
18274 +idouble: 5
18275 ifloat: 5
18276 ildouble: 7
18277 ldouble: 7
18278
18279 Function: "gamma_towardzero":
18280 -double: 4
18281 +double: 5
18282 float: 4
18283 -idouble: 4
18284 +idouble: 5
18285 ifloat: 4
18286 ildouble: 7
18287 ldouble: 7
18288
18289 Function: "gamma_upward":
18290 -double: 3
18291 -float: 4
18292 -idouble: 3
18293 -ifloat: 4
18294 +double: 5
18295 +float: 5
18296 +idouble: 5
18297 +ifloat: 5
18298 ildouble: 6
18299 ldouble: 6
18300
18301 @@ -2059,39 +2065,39 @@ ldouble: 1
18302
18303 Function: "j0":
18304 double: 2
18305 -float: 1
18306 +float: 2
18307 float128: 2
18308 idouble: 2
18309 -ifloat: 1
18310 +ifloat: 2
18311 ifloat128: 2
18312 ildouble: 2
18313 ldouble: 2
18314
18315 Function: "j0_downward":
18316 -double: 1
18317 -float: 3
18318 +double: 2
18319 +float: 4
18320 float128: 4
18321 -idouble: 1
18322 -ifloat: 3
18323 +idouble: 2
18324 +ifloat: 4
18325 ifloat128: 4
18326 ildouble: 4
18327 ldouble: 4
18328
18329 Function: "j0_towardzero":
18330 -double: 2
18331 -float: 1
18332 +double: 3
18333 +float: 2
18334 float128: 2
18335 -idouble: 2
18336 -ifloat: 1
18337 +idouble: 3
18338 +ifloat: 2
18339 ifloat128: 2
18340 ildouble: 5
18341 ldouble: 5
18342
18343 Function: "j0_upward":
18344 -double: 2
18345 +double: 3
18346 float: 3
18347 float128: 5
18348 -idouble: 2
18349 +idouble: 3
18350 ifloat: 3
18351 ifloat128: 5
18352 ildouble: 4
18353 @@ -2099,120 +2105,120 @@ ldouble: 4
18354
18355 Function: "j1":
18356 double: 2
18357 -float: 1
18358 +float: 2
18359 float128: 4
18360 idouble: 2
18361 -ifloat: 1
18362 +ifloat: 2
18363 ifloat128: 4
18364 ildouble: 1
18365 ldouble: 1
18366
18367 Function: "j1_downward":
18368 -double: 2
18369 -float: 2
18370 +double: 3
18371 +float: 3
18372 float128: 4
18373 -idouble: 2
18374 -ifloat: 2
18375 +idouble: 3
18376 +ifloat: 3
18377 ifloat128: 4
18378 ildouble: 4
18379 ldouble: 4
18380
18381 Function: "j1_towardzero":
18382 -double: 2
18383 +double: 3
18384 float: 2
18385 float128: 4
18386 -idouble: 2
18387 +idouble: 3
18388 ifloat: 2
18389 ifloat128: 4
18390 ildouble: 4
18391 ldouble: 4
18392
18393 Function: "j1_upward":
18394 -double: 2
18395 -float: 3
18396 +double: 3
18397 +float: 5
18398 float128: 3
18399 -idouble: 2
18400 -ifloat: 3
18401 +idouble: 3
18402 +ifloat: 5
18403 ifloat128: 3
18404 ildouble: 3
18405 ldouble: 3
18406
18407 Function: "jn":
18408 -double: 2
18409 -float: 3
18410 +double: 4
18411 +float: 4
18412 float128: 7
18413 -idouble: 2
18414 -ifloat: 3
18415 +idouble: 4
18416 +ifloat: 4
18417 ifloat128: 7
18418 ildouble: 4
18419 ldouble: 4
18420
18421 Function: "jn_downward":
18422 -double: 2
18423 -float: 3
18424 +double: 5
18425 +float: 5
18426 float128: 8
18427 -idouble: 2
18428 -ifloat: 3
18429 +idouble: 5
18430 +ifloat: 5
18431 ifloat128: 8
18432 ildouble: 4
18433 ldouble: 4
18434
18435 Function: "jn_towardzero":
18436 -double: 2
18437 -float: 3
18438 +double: 5
18439 +float: 5
18440 float128: 8
18441 -idouble: 2
18442 -ifloat: 3
18443 +idouble: 5
18444 +ifloat: 5
18445 ifloat128: 8
18446 ildouble: 5
18447 ldouble: 5
18448
18449 Function: "jn_upward":
18450 -double: 2
18451 -float: 3
18452 +double: 5
18453 +float: 5
18454 float128: 7
18455 -idouble: 2
18456 -ifloat: 3
18457 +idouble: 5
18458 +ifloat: 5
18459 ifloat128: 7
18460 ildouble: 5
18461 ldouble: 5
18462
18463 Function: "lgamma":
18464 -double: 3
18465 +double: 4
18466 float: 3
18467 float128: 5
18468 -idouble: 3
18469 +idouble: 4
18470 ifloat: 3
18471 ifloat128: 5
18472 ildouble: 4
18473 ldouble: 4
18474
18475 Function: "lgamma_downward":
18476 -double: 4
18477 +double: 5
18478 float: 5
18479 float128: 8
18480 -idouble: 4
18481 +idouble: 5
18482 ifloat: 5
18483 ifloat128: 8
18484 ildouble: 7
18485 ldouble: 7
18486
18487 Function: "lgamma_towardzero":
18488 -double: 4
18489 +double: 5
18490 float: 4
18491 float128: 5
18492 -idouble: 4
18493 +idouble: 5
18494 ifloat: 4
18495 ifloat128: 5
18496 ildouble: 7
18497 ldouble: 7
18498
18499 Function: "lgamma_upward":
18500 -double: 3
18501 -float: 4
18502 +double: 5
18503 +float: 5
18504 float128: 8
18505 -idouble: 3
18506 -ifloat: 4
18507 +idouble: 5
18508 +ifloat: 5
18509 ifloat128: 8
18510 ildouble: 6
18511 ldouble: 6
18512 @@ -2402,7 +2408,9 @@ ildouble: 4
18513 ldouble: 4
18514
18515 Function: "sin":
18516 +double: 1
18517 float128: 1
18518 +idouble: 1
18519 ifloat128: 1
18520 ildouble: 1
18521 ldouble: 1
18522 @@ -2432,7 +2440,9 @@ ildouble: 3
18523 ldouble: 3
18524
18525 Function: "sincos":
18526 +double: 1
18527 float128: 1
18528 +idouble: 1
18529 ifloat128: 1
18530 ildouble: 1
18531 ldouble: 1
18532 @@ -2462,39 +2472,41 @@ ildouble: 3
18533 ldouble: 3
18534
18535 Function: "sinh":
18536 -double: 1
18537 +double: 2
18538 +float: 2
18539 float128: 2
18540 -idouble: 1
18541 +idouble: 2
18542 +ifloat: 2
18543 ifloat128: 2
18544 ildouble: 2
18545 ldouble: 2
18546
18547 Function: "sinh_downward":
18548 -double: 2
18549 -float: 1
18550 +double: 3
18551 +float: 3
18552 float128: 3
18553 -idouble: 2
18554 -ifloat: 1
18555 +idouble: 3
18556 +ifloat: 3
18557 ifloat128: 3
18558 ildouble: 5
18559 ldouble: 5
18560
18561 Function: "sinh_towardzero":
18562 double: 2
18563 -float: 1
18564 +float: 2
18565 float128: 3
18566 idouble: 2
18567 -ifloat: 1
18568 +ifloat: 2
18569 ifloat128: 3
18570 ildouble: 4
18571 ldouble: 4
18572
18573 Function: "sinh_upward":
18574 double: 4
18575 -float: 2
18576 +float: 3
18577 float128: 4
18578 idouble: 4
18579 -ifloat: 2
18580 +ifloat: 3
18581 ifloat128: 4
18582 ildouble: 5
18583 ldouble: 5
18584 @@ -2538,199 +2550,201 @@ ildouble: 2
18585 ldouble: 2
18586
18587 Function: "tanh":
18588 -double: 1
18589 +double: 2
18590 +float: 2
18591 float128: 2
18592 -idouble: 1
18593 +idouble: 2
18594 +ifloat: 2
18595 ifloat128: 2
18596 ildouble: 3
18597 ldouble: 3
18598
18599 Function: "tanh_downward":
18600 -double: 1
18601 -float: 1
18602 +double: 3
18603 +float: 3
18604 float128: 4
18605 -idouble: 1
18606 -ifloat: 1
18607 +idouble: 3
18608 +ifloat: 3
18609 ifloat128: 4
18610 ildouble: 7
18611 ldouble: 4
18612
18613 Function: "tanh_towardzero":
18614 -double: 1
18615 -float: 1
18616 +double: 2
18617 +float: 2
18618 float128: 3
18619 -idouble: 1
18620 -ifloat: 1
18621 +idouble: 2
18622 +ifloat: 2
18623 ifloat128: 3
18624 ildouble: 3
18625 ldouble: 3
18626
18627 Function: "tanh_upward":
18628 -double: 1
18629 -float: 1
18630 +double: 3
18631 +float: 3
18632 float128: 3
18633 -idouble: 1
18634 -ifloat: 1
18635 +idouble: 3
18636 +ifloat: 3
18637 ifloat128: 3
18638 ildouble: 5
18639 ldouble: 4
18640
18641 Function: "tgamma":
18642 -double: 3
18643 -float: 3
18644 +double: 5
18645 +float: 4
18646 float128: 4
18647 -idouble: 3
18648 -ifloat: 3
18649 +idouble: 5
18650 +ifloat: 4
18651 ifloat128: 4
18652 ildouble: 5
18653 ldouble: 5
18654
18655 Function: "tgamma_downward":
18656 -double: 3
18657 +double: 6
18658 float: 5
18659 float128: 5
18660 -idouble: 3
18661 +idouble: 6
18662 ifloat: 5
18663 ifloat128: 5
18664 ildouble: 5
18665 ldouble: 5
18666
18667 Function: "tgamma_towardzero":
18668 -double: 4
18669 +double: 6
18670 float: 5
18671 float128: 5
18672 -idouble: 4
18673 +idouble: 6
18674 ifloat: 5
18675 ifloat128: 5
18676 ildouble: 5
18677 ldouble: 5
18678
18679 Function: "tgamma_upward":
18680 -double: 4
18681 +double: 5
18682 float: 6
18683 float128: 4
18684 -idouble: 4
18685 +idouble: 5
18686 ifloat: 6
18687 ifloat128: 4
18688 ildouble: 5
18689 ldouble: 5
18690
18691 Function: "y0":
18692 -double: 1
18693 +double: 2
18694 float: 1
18695 float128: 3
18696 -idouble: 1
18697 +idouble: 2
18698 ifloat: 1
18699 ifloat128: 3
18700 ildouble: 1
18701 ldouble: 1
18702
18703 Function: "y0_downward":
18704 -double: 2
18705 -float: 2
18706 +double: 3
18707 +float: 4
18708 float128: 4
18709 -idouble: 2
18710 -ifloat: 2
18711 +idouble: 3
18712 +ifloat: 4
18713 ifloat128: 4
18714 ildouble: 5
18715 ldouble: 5
18716
18717 Function: "y0_towardzero":
18718 -double: 2
18719 +double: 3
18720 float: 3
18721 float128: 3
18722 -idouble: 2
18723 +idouble: 3
18724 ifloat: 3
18725 ifloat128: 3
18726 ildouble: 5
18727 ldouble: 5
18728
18729 Function: "y0_upward":
18730 -double: 1
18731 -float: 3
18732 +double: 3
18733 +float: 5
18734 float128: 3
18735 -idouble: 1
18736 -ifloat: 3
18737 +idouble: 3
18738 +ifloat: 5
18739 ifloat128: 3
18740 ildouble: 3
18741 ldouble: 3
18742
18743 Function: "y1":
18744 -double: 2
18745 +double: 3
18746 float: 2
18747 float128: 2
18748 -idouble: 2
18749 +idouble: 3
18750 ifloat: 2
18751 ifloat128: 2
18752 ildouble: 2
18753 ldouble: 2
18754
18755 Function: "y1_downward":
18756 -double: 2
18757 -float: 2
18758 +double: 3
18759 +float: 4
18760 float128: 4
18761 -idouble: 2
18762 -ifloat: 2
18763 +idouble: 3
18764 +ifloat: 4
18765 ifloat128: 4
18766 ildouble: 7
18767 ldouble: 7
18768
18769 Function: "y1_towardzero":
18770 -double: 2
18771 -float: 2
18772 +double: 3
18773 +float: 3
18774 float128: 2
18775 -idouble: 2
18776 -ifloat: 2
18777 +idouble: 3
18778 +ifloat: 3
18779 ifloat128: 2
18780 ildouble: 5
18781 ldouble: 5
18782
18783 Function: "y1_upward":
18784 -double: 1
18785 +double: 7
18786 float: 3
18787 float128: 5
18788 -idouble: 1
18789 +idouble: 7
18790 ifloat: 3
18791 ifloat128: 5
18792 ildouble: 7
18793 ldouble: 7
18794
18795 Function: "yn":
18796 -double: 2
18797 +double: 3
18798 float: 3
18799 float128: 5
18800 -idouble: 2
18801 +idouble: 3
18802 ifloat: 3
18803 ifloat128: 5
18804 ildouble: 4
18805 ldouble: 4
18806
18807 Function: "yn_downward":
18808 -double: 2
18809 -float: 2
18810 +double: 3
18811 +float: 4
18812 float128: 5
18813 -idouble: 2
18814 -ifloat: 2
18815 +idouble: 3
18816 +ifloat: 4
18817 ifloat128: 5
18818 ildouble: 5
18819 ldouble: 5
18820
18821 Function: "yn_towardzero":
18822 double: 3
18823 -float: 3
18824 +float: 4
18825 float128: 5
18826 idouble: 3
18827 -ifloat: 3
18828 +ifloat: 4
18829 ifloat128: 5
18830 ildouble: 5
18831 ldouble: 5
18832
18833 Function: "yn_upward":
18834 -double: 3
18835 -float: 3
18836 +double: 4
18837 +float: 5
18838 float128: 5
18839 -idouble: 3
18840 -ifloat: 3
18841 +idouble: 4
18842 +ifloat: 5
18843 ifloat128: 5
18844 ildouble: 4
18845 ldouble: 4
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)
18851 cmp %edx, %eax
18852
18853 # ifdef USE_AS_MEMMOVE
18854 - jg L(check_forward)
18855 + ja L(check_forward)
18856
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)
18861
18862 cmpl $32, %ecx
18863 - jg L(mm_len_32_or_more_backward)
18864 + ja L(mm_len_32_or_more_backward)
18865
18866 /* Copy [0..32] and return. */
18867 movdqu (%eax), %xmm0
18868 @@ -92,7 +92,7 @@ L(mm_len_0_or_more_backward):
18869
18870 L(mm_len_32_or_more_backward):
18871 cmpl $64, %ecx
18872 - jg L(mm_len_64_or_more_backward)
18873 + ja L(mm_len_64_or_more_backward)
18874
18875 /* Copy [0..64] and return. */
18876 movdqu (%eax), %xmm0
18877 @@ -107,7 +107,7 @@ L(mm_len_32_or_more_backward):
18878
18879 L(mm_len_64_or_more_backward):
18880 cmpl $128, %ecx
18881 - jg L(mm_len_128_or_more_backward)
18882 + ja L(mm_len_128_or_more_backward)
18883
18884 /* Copy [0..128] and return. */
18885 movdqu (%eax), %xmm0
18886 @@ -132,7 +132,7 @@ L(mm_len_128_or_more_backward):
18887 add %ecx, %eax
18888 cmp %edx, %eax
18889 movl SRC(%esp), %eax
18890 - jle L(forward)
18891 + jbe L(forward)
18892 PUSH (%esi)
18893 PUSH (%edi)
18894 PUSH (%ebx)
18895 @@ -269,7 +269,7 @@ L(check_forward):
18896 add %edx, %ecx
18897 cmp %eax, %ecx
18898 movl LEN(%esp), %ecx
18899 - jle L(forward)
18900 + jbe L(forward)
18901
18902 /* Now do checks for lengths. We do [0..16], [0..32], [0..64], [0..128]
18903 separately. */
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
18908 @@ -1,4 +1,4 @@
18909 -#ifdef SHARED
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)
18919
18920
18921 .section .text
18922 -GLOBAL_LIBM_ENTRY(__exp2f)
18923 +WEAK_LIBM_ENTRY(exp2f)
18924
18925
18926 {.mfi
18927 @@ -468,10 +468,10 @@ OUT_RANGE_exp2:
18928 }
18929 ;;
18930
18931 -GLOBAL_LIBM_END(__exp2f)
18932 +WEAK_LIBM_END(exp2f)
18933 libm_alias_float_other (__exp2, exp2)
18934 #ifdef SHARED
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)
18945
18946
18947 .section .text
18948 -GLOBAL_LIBM_ENTRY(__log2f)
18949 +WEAK_LIBM_ENTRY(log2f)
18950
18951 { .mfi
18952 alloc r32=ar.pfs,1,4,4,0
18953 @@ -491,10 +491,10 @@ SPECIAL_log2f:
18954 br.ret.sptk b0;;
18955 }
18956
18957 -GLOBAL_LIBM_END(__log2f)
18958 +WEAK_LIBM_END(log2f)
18959 libm_alias_float_other (__log2, log2)
18960 #ifdef SHARED
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)
18972
18973 .section .text
18974 -GLOBAL_LIBM_ENTRY(__powf)
18975 +WEAK_LIBM_ENTRY(powf)
18976
18977 // Get exponent of x. Will be used to calculate K.
18978 { .mfi
18979 @@ -2002,10 +2002,10 @@ POW_OVER_UNDER_ERROR:
18980 }
18981 ;;
18982
18983 -GLOBAL_LIBM_END(__powf)
18984 +WEAK_LIBM_END(powf)
18985 libm_alias_float_other (__pow, pow)
18986 #ifdef SHARED
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;
18998 #endif
18999 /* KIND must stay at this position in the structure to maintain
19000 - binary compatibility with static initializers. */
19001 + binary compatibility with static initializers.
19002 +
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.
19006 +
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.
19012 +
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
19015 + type of a mutex.
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. */
19022 int __kind;
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) \
19034 - do { \
19035 - __typeof (tid) __tid; \
19036 - while ((__tid = (tid)) != 0) \
19037 - lll_futex_wait (&(tid), __tid, LLL_SHARED);\
19038 +#define lll_wait_tid(tid) \
19039 + do { \
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); \
19046 } while (0)
19047
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,
19054 return -1;
19055 }
19056
19057 - return preadv (fd, vector, count, offset);
19058 + if (offset == -1)
19059 + return __readv (fd, vector, count);
19060 + else
19061 + return preadv (fd, vector, count, offset);
19062 }
19063
19064 #endif
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,
19070 return -1;
19071 }
19072
19073 - return preadv64 (fd, vector, count, offset);
19074 + if (offset == -1)
19075 + return __readv (fd, vector, count);
19076 + else
19077 + return preadv64 (fd, vector, count, offset);
19078 }
19079
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,
19086 return -1;
19087 }
19088
19089 - return pwritev (fd, vector, count, offset);
19090 + if (offset == -1)
19091 + return __writev (fd, vector, count);
19092 + else
19093 + return pwritev (fd, vector, count, offset);
19094 }
19095
19096 #endif
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,
19102 return -1;
19103 }
19104
19105 - return pwritev64 (fd, vector, count, offset);
19106 + if (offset == -1)
19107 + return __writev (fd, vector, count);
19108 + else
19109 + return pwritev64 (fd, vector, count, offset);
19110 }
19111
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)
19120 {
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);
19126 }
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: ; \
19132 cfi_endproc; \
19133 ASM_SIZE_DIRECTIVE(name)
19134
19135 -#if ! IS_IN(rtld)
19136 +#if !IS_IN(rtld) && !defined(__SPE__)
19137 # define ABORT_TRANSACTION_IMPL \
19138 cmpwi 2,0; \
19139 beq 1f; \
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.
19146
19147 [1] Documentation/powerpc/transactional_memory.txt [Syscalls] */
19148 -#if !IS_IN(rtld)
19149 +#if !IS_IN(rtld) && !defined(__SPE__)
19150 # define ABORT_TRANSACTION \
19151 ({ \
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/>. */
19159
19160 #include <math.h>
19161 +#include <math_private.h>
19162 #include <libm-alias-double.h>
19163
19164 double
19165 __fmax (double x, double y)
19166 {
19167 - asm ("fmax.d %0, %1, %2" : "=f" (x) : "f" (x), "f" (y));
19168 - return x;
19169 + double res;
19170 +
19171 + if (__glibc_unlikely ((_FCLASS (x) | _FCLASS (y)) & _FCLASS_SNAN))
19172 + return x + y;
19173 + else
19174 + asm ("fmax.d %0, %1, %2" : "=f" (res) : "f" (x), "f" (y));
19175 +
19176 + return res;
19177 }
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/>. */
19185
19186 #include <math.h>
19187 +#include <math_private.h>
19188 #include <libm-alias-double.h>
19189
19190 double
19191 __fmin (double x, double y)
19192 {
19193 - asm ("fmin.d %0, %1, %2" : "=f" (x) : "f" (x), "f" (y));
19194 - return x;
19195 + double res;
19196 +
19197 + if (__glibc_unlikely ((_FCLASS (x) | _FCLASS (y)) & _FCLASS_SNAN))
19198 + return x + y;
19199 + else
19200 + asm ("fmin.d %0, %1, %2" : "=f" (res) : "f" (x), "f" (y));
19201 +
19202 + return res;
19203 }
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/>. */
19211
19212 #include <math.h>
19213 +#include <math_private.h>
19214 #include <libm-alias-float.h>
19215
19216 float
19217 __fmaxf (float x, float y)
19218 {
19219 - asm ("fmax.s %0, %1, %2" : "=f" (x) : "f" (x), "f" (y));
19220 - return x;
19221 + float res;
19222 +
19223 + if (__glibc_unlikely ((_FCLASS (x) | _FCLASS (y)) & _FCLASS_SNAN))
19224 + return x + y;
19225 + else
19226 + asm ("fmax.s %0, %1, %2" : "=f" (res) : "f" (x), "f" (y));
19227 +
19228 + return res;
19229 }
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/>. */
19237
19238 #include <math.h>
19239 +#include <math_private.h>
19240 #include <libm-alias-float.h>
19241
19242 float
19243 __fminf (float x, float y)
19244 {
19245 - asm ("fmin.s %0, %1, %2" : "=f" (x) : "f" (x), "f" (y));
19246 - return x;
19247 + float res;
19248 +
19249 + if (__glibc_unlikely ((_FCLASS (x) | _FCLASS (y)) & _FCLASS_SNAN))
19250 + return x + y;
19251 + else
19252 + asm ("fmin.s %0, %1, %2" : "=f" (res) : "f" (x), "f" (y));
19253 +
19254 + return res;
19255 }
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
19261 @@ -23,19 +23,9 @@
19262 #include <sysdep.h>
19263 #include "dl-tls.h"
19264
19265 -#define LOAD_GP \
19266 - ".option push\n\t" \
19267 - ".option norelax\n\t" \
19268 - "la gp, __global_pointer$\n\t" \
19269 - ".option pop\n\t"
19270 -
19271 -#define UNLOAD_GP
19272 -
19273 #define TLS_GD(x) \
19274 ({ void *__result; \
19275 - asm (LOAD_GP \
19276 - "la.tls.gd %0, " #x "\n\t" \
19277 - UNLOAD_GP \
19278 + asm ("la.tls.gd %0, " #x "\n\t" \
19279 : "=r" (__result)); \
19280 __tls_get_addr (__result); })
19281
19282 @@ -43,19 +33,15 @@
19283
19284 #define TLS_IE(x) \
19285 ({ void *__result; \
19286 - asm (LOAD_GP \
19287 - "la.tls.ie %0, " #x "\n\t" \
19288 + asm ("la.tls.ie %0, " #x "\n\t" \
19289 "add %0, %0, tp\n\t" \
19290 - UNLOAD_GP \
19291 : "=r" (__result)); \
19292 __result; })
19293
19294 #define TLS_LE(x) \
19295 ({ void *__result; \
19296 - asm (LOAD_GP \
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" \
19301 - UNLOAD_GP \
19302 : "=r" (__result)); \
19303 __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
19308 @@ -1,13 +1,31 @@
19309 # Begin of automatic generation
19310
19311 # Maximal error of functions:
19312 -Function: "acos_towardzero":
19313 +Function: "acos":
19314 float: 1
19315 ifloat: 1
19316
19317 -Function: "acosh":
19318 +Function: "acos_towardzero":
19319 double: 1
19320 +float: 1
19321 idouble: 1
19322 +ifloat: 1
19323 +
19324 +Function: "acosh":
19325 +double: 2
19326 +float: 2
19327 +idouble: 2
19328 +ifloat: 2
19329 +
19330 +Function: "acosh_towardzero":
19331 +double: 2
19332 +float: 2
19333 +idouble: 2
19334 +ifloat: 2
19335 +
19336 +Function: "asin":
19337 +float: 1
19338 +ifloat: 1
19339
19340 Function: "asin_towardzero":
19341 double: 1
19342 @@ -18,16 +36,55 @@ ifloat: 1
19343 Function: "asinh":
19344 double: 1
19345 float: 1
19346 +idouble: 1
19347 +ifloat: 1
19348 +
19349 +Function: "asinh_towardzero":
19350 +double: 2
19351 +float: 2
19352 +idouble: 2
19353 +ifloat: 2
19354 +
19355 +Function: "atan":
19356 +float: 1
19357 ifloat: 1
19358
19359 Function: "atan2":
19360 float: 1
19361 ifloat: 1
19362
19363 -Function: "atanh":
19364 +Function: "atan2_towardzero":
19365 +double: 1
19366 +float: 2
19367 +idouble: 1
19368 +ifloat: 2
19369 +
19370 +Function: "atan_towardzero":
19371 +double: 1
19372 float: 1
19373 +idouble: 1
19374 ifloat: 1
19375
19376 +Function: "atanh":
19377 +double: 2
19378 +float: 2
19379 +idouble: 2
19380 +ifloat: 2
19381 +
19382 +Function: "atanh_towardzero":
19383 +double: 2
19384 +float: 2
19385 +idouble: 2
19386 +ifloat: 2
19387 +
19388 +Function: "cabs":
19389 +double: 1
19390 +idouble: 1
19391 +
19392 +Function: "cabs_towardzero":
19393 +double: 1
19394 +idouble: 1
19395 +
19396 Function: Real part of "cacos":
19397 double: 1
19398 float: 2
19399 @@ -35,18 +92,52 @@ idouble: 1
19400 ifloat: 2
19401
19402 Function: Imaginary part of "cacos":
19403 -double: 1
19404 +double: 2
19405 float: 2
19406 -idouble: 1
19407 +idouble: 2
19408 +ifloat: 2
19409 +
19410 +Function: Real part of "cacos_towardzero":
19411 +double: 3
19412 +float: 2
19413 +idouble: 3
19414 +ifloat: 2
19415 +
19416 +Function: Imaginary part of "cacos_towardzero":
19417 +double: 4
19418 +float: 2
19419 +idouble: 4
19420 ifloat: 2
19421
19422 Function: Real part of "cacosh":
19423 +double: 2
19424 +float: 2
19425 +idouble: 2
19426 +ifloat: 2
19427 +
19428 +Function: Imaginary part of "cacosh":
19429 double: 1
19430 float: 2
19431 idouble: 1
19432 ifloat: 2
19433
19434 -Function: Imaginary part of "cacosh":
19435 +Function: Real part of "cacosh_towardzero":
19436 +double: 4
19437 +float: 2
19438 +idouble: 4
19439 +ifloat: 2
19440 +
19441 +Function: Imaginary part of "cacosh_towardzero":
19442 +double: 3
19443 +float: 2
19444 +idouble: 3
19445 +ifloat: 2
19446 +
19447 +Function: "carg":
19448 +float: 1
19449 +ifloat: 1
19450 +
19451 +Function: "carg_towardzero":
19452 double: 1
19453 float: 2
19454 idouble: 1
19455 @@ -59,15 +150,27 @@ idouble: 1
19456 ifloat: 1
19457
19458 Function: Imaginary part of "casin":
19459 -double: 1
19460 +double: 2
19461 float: 2
19462 -idouble: 1
19463 +idouble: 2
19464 +ifloat: 2
19465 +
19466 +Function: Real part of "casin_towardzero":
19467 +double: 3
19468 +float: 1
19469 +idouble: 3
19470 +ifloat: 1
19471 +
19472 +Function: Imaginary part of "casin_towardzero":
19473 +double: 4
19474 +float: 2
19475 +idouble: 4
19476 ifloat: 2
19477
19478 Function: Real part of "casinh":
19479 -double: 1
19480 +double: 2
19481 float: 2
19482 -idouble: 1
19483 +idouble: 2
19484 ifloat: 2
19485
19486 Function: Imaginary part of "casinh":
19487 @@ -76,8 +179,22 @@ float: 1
19488 idouble: 1
19489 ifloat: 1
19490
19491 +Function: Real part of "casinh_towardzero":
19492 +double: 4
19493 +float: 2
19494 +idouble: 4
19495 +ifloat: 2
19496 +
19497 +Function: Imaginary part of "casinh_towardzero":
19498 +double: 3
19499 +float: 1
19500 +idouble: 3
19501 +ifloat: 1
19502 +
19503 Function: Real part of "catan":
19504 +double: 1
19505 float: 1
19506 +idouble: 1
19507 ifloat: 1
19508
19509 Function: Imaginary part of "catan":
19510 @@ -86,6 +203,18 @@ float: 1
19511 idouble: 1
19512 ifloat: 1
19513
19514 +Function: Real part of "catan_towardzero":
19515 +double: 1
19516 +float: 2
19517 +idouble: 1
19518 +ifloat: 2
19519 +
19520 +Function: Imaginary part of "catan_towardzero":
19521 +double: 2
19522 +float: 2
19523 +idouble: 2
19524 +ifloat: 2
19525 +
19526 Function: Real part of "catanh":
19527 double: 1
19528 float: 1
19529 @@ -93,13 +222,33 @@ idouble: 1
19530 ifloat: 1
19531
19532 Function: Imaginary part of "catanh":
19533 +double: 1
19534 float: 1
19535 +idouble: 1
19536 ifloat: 1
19537
19538 -Function: "cbrt":
19539 +Function: Real part of "catanh_towardzero":
19540 +double: 2
19541 +float: 2
19542 +idouble: 2
19543 +ifloat: 2
19544 +
19545 +Function: Imaginary part of "catanh_towardzero":
19546 double: 1
19547 -float: 1
19548 +float: 2
19549 idouble: 1
19550 +ifloat: 2
19551 +
19552 +Function: "cbrt":
19553 +double: 3
19554 +float: 1
19555 +idouble: 3
19556 +ifloat: 1
19557 +
19558 +Function: "cbrt_towardzero":
19559 +double: 3
19560 +float: 1
19561 +idouble: 3
19562 ifloat: 1
19563
19564 Function: Real part of "ccos":
19565 @@ -114,6 +263,18 @@ float: 1
19566 idouble: 1
19567 ifloat: 1
19568
19569 +Function: Real part of "ccos_towardzero":
19570 +double: 1
19571 +float: 2
19572 +idouble: 1
19573 +ifloat: 2
19574 +
19575 +Function: Imaginary part of "ccos_towardzero":
19576 +double: 2
19577 +float: 3
19578 +idouble: 2
19579 +ifloat: 3
19580 +
19581 Function: Real part of "ccosh":
19582 double: 1
19583 float: 1
19584 @@ -126,6 +287,18 @@ float: 1
19585 idouble: 1
19586 ifloat: 1
19587
19588 +Function: Real part of "ccosh_towardzero":
19589 +double: 1
19590 +float: 3
19591 +idouble: 1
19592 +ifloat: 3
19593 +
19594 +Function: Imaginary part of "ccosh_towardzero":
19595 +double: 2
19596 +float: 3
19597 +idouble: 2
19598 +ifloat: 3
19599 +
19600 Function: Real part of "cexp":
19601 double: 2
19602 float: 1
19603 @@ -138,27 +311,63 @@ float: 2
19604 idouble: 1
19605 ifloat: 2
19606
19607 -Function: Real part of "clog":
19608 +Function: Real part of "cexp_towardzero":
19609 double: 1
19610 -float: 1
19611 +float: 2
19612 idouble: 1
19613 -ifloat: 1
19614 +ifloat: 2
19615 +
19616 +Function: Imaginary part of "cexp_towardzero":
19617 +double: 1
19618 +float: 3
19619 +idouble: 1
19620 +ifloat: 3
19621 +
19622 +Function: Real part of "clog":
19623 +double: 3
19624 +float: 3
19625 +idouble: 3
19626 +ifloat: 3
19627
19628 Function: Imaginary part of "clog":
19629 float: 1
19630 ifloat: 1
19631
19632 Function: Real part of "clog10":
19633 +double: 3
19634 +float: 4
19635 +idouble: 3
19636 +ifloat: 4
19637 +
19638 +Function: Imaginary part of "clog10":
19639 double: 2
19640 float: 2
19641 idouble: 2
19642 ifloat: 2
19643
19644 -Function: Imaginary part of "clog10":
19645 +Function: Real part of "clog10_towardzero":
19646 +double: 5
19647 +float: 5
19648 +idouble: 5
19649 +ifloat: 5
19650 +
19651 +Function: Imaginary part of "clog10_towardzero":
19652 +double: 2
19653 +float: 3
19654 +idouble: 2
19655 +ifloat: 3
19656 +
19657 +Function: Real part of "clog_towardzero":
19658 +double: 4
19659 +float: 4
19660 +idouble: 4
19661 +ifloat: 4
19662 +
19663 +Function: Imaginary part of "clog_towardzero":
19664 double: 1
19665 -float: 1
19666 +float: 3
19667 idouble: 1
19668 -ifloat: 1
19669 +ifloat: 3
19670
19671 Function: "cos":
19672 float: 1
19673 @@ -184,42 +393,90 @@ ifloat: 1
19674
19675 Function: Real part of "cpow":
19676 double: 2
19677 -float: 4
19678 +float: 5
19679 idouble: 2
19680 -ifloat: 4
19681 +ifloat: 5
19682
19683 Function: Imaginary part of "cpow":
19684 float: 2
19685 ifloat: 2
19686
19687 +Function: Real part of "cpow_towardzero":
19688 +double: 4
19689 +float: 8
19690 +idouble: 4
19691 +ifloat: 8
19692 +
19693 +Function: Imaginary part of "cpow_towardzero":
19694 +double: 1
19695 +float: 2
19696 +idouble: 1
19697 +ifloat: 2
19698 +
19699 Function: Real part of "csin":
19700 double: 1
19701 float: 1
19702 idouble: 1
19703 ifloat: 1
19704
19705 -Function: Real part of "csinh":
19706 -float: 1
19707 -ifloat: 1
19708 +Function: Real part of "csin_towardzero":
19709 +double: 2
19710 +float: 3
19711 +idouble: 2
19712 +ifloat: 3
19713
19714 -Function: Imaginary part of "csinh":
19715 +Function: Imaginary part of "csin_towardzero":
19716 double: 1
19717 float: 1
19718 idouble: 1
19719 ifloat: 1
19720
19721 -Function: Real part of "csqrt":
19722 -double: 1
19723 +Function: Real part of "csinh":
19724 float: 1
19725 -idouble: 1
19726 ifloat: 1
19727
19728 -Function: Imaginary part of "csqrt":
19729 +Function: Imaginary part of "csinh":
19730 double: 1
19731 float: 1
19732 idouble: 1
19733 ifloat: 1
19734
19735 +Function: Real part of "csinh_towardzero":
19736 +double: 2
19737 +float: 2
19738 +idouble: 2
19739 +ifloat: 2
19740 +
19741 +Function: Imaginary part of "csinh_towardzero":
19742 +double: 2
19743 +float: 3
19744 +idouble: 2
19745 +ifloat: 3
19746 +
19747 +Function: Real part of "csqrt":
19748 +double: 2
19749 +float: 2
19750 +idouble: 2
19751 +ifloat: 2
19752 +
19753 +Function: Imaginary part of "csqrt":
19754 +double: 2
19755 +float: 2
19756 +idouble: 2
19757 +ifloat: 2
19758 +
19759 +Function: Real part of "csqrt_towardzero":
19760 +double: 4
19761 +float: 3
19762 +idouble: 4
19763 +ifloat: 3
19764 +
19765 +Function: Imaginary part of "csqrt_towardzero":
19766 +double: 4
19767 +float: 3
19768 +idouble: 4
19769 +ifloat: 3
19770 +
19771 Function: Real part of "ctan":
19772 double: 1
19773 float: 1
19774 @@ -246,9 +503,9 @@ ifloat: 3
19775
19776 Function: Real part of "ctanh":
19777 double: 2
19778 -float: 1
19779 +float: 2
19780 idouble: 2
19781 -ifloat: 1
19782 +ifloat: 2
19783
19784 Function: Imaginary part of "ctanh":
19785 double: 2
19786 @@ -270,25 +527,51 @@ ifloat: 3
19787
19788 Function: "erf":
19789 double: 1
19790 +float: 1
19791 idouble: 1
19792 +ifloat: 1
19793
19794 -Function: "erfc":
19795 +Function: "erf_towardzero":
19796 double: 1
19797 float: 1
19798 idouble: 1
19799 ifloat: 1
19800
19801 +Function: "erfc":
19802 +double: 3
19803 +float: 2
19804 +idouble: 3
19805 +ifloat: 2
19806 +
19807 +Function: "erfc_towardzero":
19808 +double: 3
19809 +float: 3
19810 +idouble: 3
19811 +ifloat: 3
19812 +
19813 Function: "exp10":
19814 +double: 2
19815 +idouble: 2
19816 +
19817 +Function: "exp10_towardzero":
19818 +double: 2
19819 +float: 1
19820 +idouble: 2
19821 +ifloat: 1
19822 +
19823 +Function: "exp2":
19824 double: 1
19825 idouble: 1
19826
19827 -Function: "exp10_towardzero":
19828 +Function: "exp2_towardzero":
19829 double: 1
19830 idouble: 1
19831
19832 Function: "exp_towardzero":
19833 double: 1
19834 +float: 1
19835 idouble: 1
19836 +ifloat: 1
19837
19838 Function: "expm1":
19839 double: 1
19840 @@ -298,21 +581,31 @@ ifloat: 1
19841
19842 Function: "expm1_towardzero":
19843 double: 1
19844 -float: 1
19845 +float: 2
19846 idouble: 1
19847 -ifloat: 1
19848 +ifloat: 2
19849
19850 Function: "fma_towardzero":
19851 double: 1
19852 idouble: 1
19853
19854 Function: "gamma":
19855 +double: 4
19856 +float: 3
19857 +idouble: 4
19858 +ifloat: 3
19859 +
19860 +Function: "gamma_towardzero":
19861 +double: 5
19862 +float: 3
19863 +idouble: 5
19864 +ifloat: 3
19865 +
19866 +Function: "hypot":
19867 double: 1
19868 -float: 1
19869 idouble: 1
19870 -ifloat: 1
19871
19872 -Function: "hypot":
19873 +Function: "hypot_towardzero":
19874 double: 1
19875 idouble: 1
19876
19877 @@ -322,44 +615,94 @@ float: 2
19878 idouble: 2
19879 ifloat: 2
19880
19881 +Function: "j0_towardzero":
19882 +double: 3
19883 +float: 1
19884 +idouble: 3
19885 +ifloat: 1
19886 +
19887 Function: "j1":
19888 double: 1
19889 float: 2
19890 idouble: 1
19891 ifloat: 2
19892
19893 +Function: "j1_towardzero":
19894 +double: 3
19895 +float: 2
19896 +idouble: 3
19897 +ifloat: 2
19898 +
19899 Function: "jn":
19900 double: 4
19901 float: 4
19902 idouble: 4
19903 ifloat: 4
19904
19905 +Function: "jn_towardzero":
19906 +double: 5
19907 +float: 5
19908 +idouble: 5
19909 +ifloat: 5
19910 +
19911 Function: "lgamma":
19912 -double: 1
19913 -float: 1
19914 -idouble: 1
19915 -ifloat: 1
19916 +double: 4
19917 +float: 3
19918 +idouble: 4
19919 +ifloat: 3
19920 +
19921 +Function: "lgamma_towardzero":
19922 +double: 5
19923 +float: 3
19924 +idouble: 5
19925 +ifloat: 3
19926
19927 Function: "log":
19928 float: 1
19929 ifloat: 1
19930
19931 Function: "log10":
19932 -double: 1
19933 +double: 2
19934 float: 2
19935 -idouble: 1
19936 +idouble: 2
19937 ifloat: 2
19938
19939 +Function: "log10_towardzero":
19940 +double: 2
19941 +float: 1
19942 +idouble: 2
19943 +ifloat: 1
19944 +
19945 Function: "log1p":
19946 +double: 1
19947 +float: 1
19948 +idouble: 1
19949 +ifloat: 1
19950 +
19951 +Function: "log1p_towardzero":
19952 +double: 2
19953 +float: 2
19954 +idouble: 2
19955 +ifloat: 2
19956 +
19957 +Function: "log2":
19958 +double: 2
19959 float: 1
19960 +idouble: 2
19961 ifloat: 1
19962
19963 +Function: "log2_towardzero":
19964 +double: 2
19965 +idouble: 2
19966 +
19967 Function: "pow":
19968 float: 1
19969 ifloat: 1
19970
19971 Function: "pow_towardzero":
19972 +double: 1
19973 float: 1
19974 +idouble: 1
19975 ifloat: 1
19976
19977 Function: "sin":
19978 @@ -376,9 +719,27 @@ Function: "sincos":
19979 float: 1
19980 ifloat: 1
19981
19982 -Function: "sinh_towardzero":
19983 +Function: "sincos_towardzero":
19984 double: 1
19985 +float: 1
19986 idouble: 1
19987 +ifloat: 1
19988 +
19989 +Function: "sinh":
19990 +double: 2
19991 +float: 2
19992 +idouble: 2
19993 +ifloat: 2
19994 +
19995 +Function: "sinh_towardzero":
19996 +double: 2
19997 +float: 2
19998 +idouble: 2
19999 +ifloat: 2
20000 +
20001 +Function: "tan":
20002 +float: 1
20003 +ifloat: 1
20004
20005 Function: "tan_towardzero":
20006 double: 1
20007 @@ -386,11 +747,29 @@ float: 1
20008 idouble: 1
20009 ifloat: 1
20010
20011 +Function: "tanh":
20012 +double: 2
20013 +float: 2
20014 +idouble: 2
20015 +ifloat: 2
20016 +
20017 +Function: "tanh_towardzero":
20018 +double: 2
20019 +float: 2
20020 +idouble: 2
20021 +ifloat: 2
20022 +
20023 Function: "tgamma":
20024 -double: 4
20025 -float: 3
20026 -idouble: 4
20027 -ifloat: 3
20028 +double: 5
20029 +float: 4
20030 +idouble: 5
20031 +ifloat: 4
20032 +
20033 +Function: "tgamma_towardzero":
20034 +double: 5
20035 +float: 4
20036 +idouble: 5
20037 +ifloat: 4
20038
20039 Function: "y0":
20040 double: 2
20041 @@ -398,16 +777,34 @@ float: 1
20042 idouble: 2
20043 ifloat: 1
20044
20045 +Function: "y0_towardzero":
20046 +double: 3
20047 +float: 3
20048 +idouble: 3
20049 +ifloat: 3
20050 +
20051 Function: "y1":
20052 double: 3
20053 float: 2
20054 idouble: 3
20055 ifloat: 2
20056
20057 +Function: "y1_towardzero":
20058 +double: 3
20059 +float: 2
20060 +idouble: 3
20061 +ifloat: 2
20062 +
20063 Function: "yn":
20064 double: 3
20065 float: 2
20066 idouble: 3
20067 ifloat: 2
20068
20069 +Function: "yn_towardzero":
20070 +double: 3
20071 +float: 3
20072 +idouble: 3
20073 +ifloat: 3
20074 +
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
20080 @@ -42,7 +42,7 @@
20081 .global _start
20082 .type _start,#function
20083 _start:
20084 -#ifdef SHARED
20085 +#ifdef PIC
20086 SETUP_PIC_REG(l7)
20087 #endif
20088
20089 @@ -57,7 +57,7 @@ _start:
20090 add %sp, 23*4, %o2
20091
20092 /* Load the addresses of the user entry points. */
20093 -#ifndef SHARED
20094 +#ifndef PIC
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
20102 @@ -42,7 +42,7 @@
20103 .global _start
20104 .type _start,#function
20105 _start:
20106 -#ifdef SHARED
20107 +#ifdef PIC
20108 SETUP_PIC_REG(l7)
20109 #endif
20110
20111 @@ -58,7 +58,7 @@ _start:
20112 add %sp, STACK_BIAS+23*8, %o2
20113
20114 /* Load the addresses of the user entry points. */
20115 -#ifndef SHARED
20116 +#ifndef PIC
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" ||
20126 case "$prefix" in
20127 /usr | /usr/)
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'
20136 fi
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
20144
20145 - PTRACE_GET_THREAD_AREA = 22,
20146 -
20147 /* Continue and stop at the next entry to or return from syscall. */
20148 PTRACE_SYSCALL = 24,
20149 #define PT_SYSCALL PTRACE_SYSCALL
20150
20151 - /* Get all hardware breakpoint registers. */
20152 - PTRACE_GETHBPREGS = 29,
20153 -
20154 - /* Set all hardware breakpoint registers. */
20155 - PTRACE_SETHBPREGS = 30,
20156 -
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
20162
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
20167 +
20168 + /* Get seccomp BPF filter metadata. */
20169 + PTRACE_SECCOMP_GET_METADATA = 0x420d
20170 +#define PTRACE_SECCOMP_GET_METADATA PTRACE_SECCOMP_GET_METADATA
20171 };
20172
20173
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
20180
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
20185 +
20186 + /* Get seccomp BPF filter metadata. */
20187 + PTRACE_SECCOMP_GET_METADATA = 0x420d
20188 +#define PTRACE_SECCOMP_GET_METADATA PTRACE_SECCOMP_GET_METADATA
20189 };
20190
20191
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;
20197
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;
20202
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)
20211 };
20212
20213 +/* Argument and results of PTRACE_SECCOMP_GET_METADATA. */
20214 +struct __ptrace_seccomp_metadata
20215 +{
20216 + __uint64_t filter_off; /* Input: which filter. */
20217 + __uint64_t flags; /* Output: filter's flags. */
20218 +};
20219 +
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
20228 /* SIGPOLL. */
20229 struct
20230 {
20231 - long int si_band; /* Band event for SIGPOLL. */
20232 + __SI_BAND_TYPE si_band; /* Band event for SIGPOLL. */
20233 int si_fd;
20234 } _sigpoll;
20235
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. */
20245
20246 __END_DECLS
20247
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'))
20254 return -1;
20255
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)
20260 + {
20261 + __set_errno (ENXIO);
20262 + return ENXIO;
20263 + }
20264 +
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
20273
20274 ifeq ($(subdir),misc)
20275 sysdep_routines += ioperm iopl vm86
20276 +
20277 +tests += tst-bz21269
20278 +$(objpfx)tst-bz21269: $(shared-thread-library)
20279 endif
20280
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;
20287 #endif
20288 extern void restore (void) asm ("__restore") attribute_hidden;
20289
20290 -
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. */
20293 int
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);
20297 }
20298 + else
20299 + kact.sa_restorer = NULL;
20300 }
20301
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
20306 --- /dev/null
20307 +++ b/sysdeps/unix/sysv/linux/i386/tst-bz21269.c
20308 @@ -0,0 +1,235 @@
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.
20312 +
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.
20317 +
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.
20322 +
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/>. */
20326 +
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
20329 + are:
20330 +
20331 + - C11 atomics instead of plain access.
20332 + - Remove x86_64 support which simplifies the syscall handling
20333 + and fallbacks.
20334 + - Replicate only the test required to trigger the issue for the
20335 + BZ#21269. */
20336 +
20337 +#include <stdatomic.h>
20338 +
20339 +#include <asm/ldt.h>
20340 +#include <linux/futex.h>
20341 +
20342 +#include <setjmp.h>
20343 +#include <signal.h>
20344 +#include <errno.h>
20345 +#include <sys/syscall.h>
20346 +#include <sys/mman.h>
20347 +
20348 +#include <support/xunistd.h>
20349 +#include <support/check.h>
20350 +#include <support/xthread.h>
20351 +
20352 +static int
20353 +xset_thread_area (struct user_desc *u_info)
20354 +{
20355 + long ret = syscall (SYS_set_thread_area, u_info);
20356 + TEST_VERIFY_EXIT (ret == 0);
20357 + return ret;
20358 +}
20359 +
20360 +static void
20361 +xmodify_ldt (int func, const void *ptr, unsigned long bytecount)
20362 +{
20363 + TEST_VERIFY_EXIT (syscall (SYS_modify_ldt, 1, ptr, bytecount) == 0);
20364 +}
20365 +
20366 +static int
20367 +futex (int *uaddr, int futex_op, int val, void *timeout, int *uaddr2,
20368 + int val3)
20369 +{
20370 + return syscall (SYS_futex, uaddr, futex_op, val, timeout, uaddr2, val3);
20371 +}
20372 +
20373 +static void
20374 +xsethandler (int sig, void (*handler)(int, siginfo_t *, void *), int flags)
20375 +{
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);
20381 +}
20382 +
20383 +static jmp_buf jmpbuf;
20384 +
20385 +static void
20386 +sigsegv_handler (int sig, siginfo_t *info, void *ctx_void)
20387 +{
20388 + siglongjmp (jmpbuf, 1);
20389 +}
20390 +
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;
20396 +
20397 +static void
20398 +setup_counter_page (void)
20399 +{
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++)
20405 + page[i] = i;
20406 + counter_page = page;
20407 +}
20408 +
20409 +static void
20410 +setup_low_user_desc (void)
20411 +{
20412 + low_user_desc = xmmap (NULL, 2 * sizeof (struct user_desc),
20413 + PROT_READ | PROT_WRITE,
20414 + MAP_ANONYMOUS | MAP_PRIVATE | MAP_32BIT, -1);
20415 +
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;
20425 +
20426 + xset_thread_area (low_user_desc);
20427 +
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;
20432 +}
20433 +
20434 +/* Possible values of futex:
20435 + 0: thread is idle.
20436 + 1: thread armed.
20437 + 2: thread should clear LDT entry 0.
20438 + 3: thread should exit. */
20439 +static atomic_uint ftx;
20440 +
20441 +static void *
20442 +threadproc (void *ctx)
20443 +{
20444 + while (1)
20445 + {
20446 + futex ((int *) &ftx, FUTEX_WAIT, 1, NULL, NULL, 0);
20447 + while (atomic_load (&ftx) != 2)
20448 + {
20449 + if (atomic_load (&ftx) >= 3)
20450 + return NULL;
20451 + }
20452 +
20453 + /* clear LDT entry 0. */
20454 + const struct user_desc desc = { 0 };
20455 + xmodify_ldt (1, &desc, sizeof (desc));
20456 +
20457 + /* If ftx == 2, set it to zero, If ftx == 100, quit. */
20458 + if (atomic_fetch_add (&ftx, -2) != 2)
20459 + return NULL;
20460 + }
20461 +}
20462 +
20463 +
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.
20469 +
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. */
20475 +
20476 +static int
20477 +do_test (void)
20478 +{
20479 + setup_counter_page ();
20480 + setup_low_user_desc ();
20481 +
20482 + pthread_t thread;
20483 + unsigned short orig_ss;
20484 +
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);
20490 +
20491 + thread = xpthread_create (0, threadproc, 0);
20492 +
20493 + asm volatile ("mov %%ss, %0" : "=rm" (orig_ss));
20494 +
20495 + for (int i = 0; i < 5; i++)
20496 + {
20497 + if (sigsetjmp (jmpbuf, 1) != 0)
20498 + continue;
20499 +
20500 + /* Make sure the thread is ready after the last test. */
20501 + while (atomic_load (&ftx) != 0)
20502 + ;
20503 +
20504 + struct user_desc desc = {
20505 + .entry_number = 0,
20506 + .base_addr = 0,
20507 + .limit = 0xffff,
20508 + .seg_32bit = 1,
20509 + .contents = 0,
20510 + .read_exec_only = 0,
20511 + .limit_in_pages = 1,
20512 + .seg_not_present = 0,
20513 + .useable = 0
20514 + };
20515 +
20516 + xmodify_ldt (0x11, &desc, sizeof (desc));
20517 +
20518 + /* Arm the thread. */
20519 + ftx = 1;
20520 + futex ((int*) &ftx, FUTEX_WAKE, 0, NULL, NULL, 0);
20521 +
20522 + asm volatile ("mov %0, %%ss" : : "r" (0x7));
20523 +
20524 + /* Fire up thread modify_ldt call. */
20525 + atomic_store (&ftx, 2);
20526 +
20527 + while (atomic_load (&ftx) != 0)
20528 + ;
20529 +
20530 + /* On success, modify_ldt will segfault us synchronously and we will
20531 + escape via siglongjmp. */
20532 + support_record_failure ();
20533 + }
20534 +
20535 + atomic_store (&ftx, 100);
20536 + futex ((int*) &ftx, FUTEX_WAKE, 0, NULL, NULL, 0);
20537 +
20538 + xpthread_join (thread);
20539 +
20540 + return 0;
20541 +}
20542 +
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
20550
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
20555 +
20556 + /* Get seccomp BPF filter metadata. */
20557 + PTRACE_SECCOMP_GET_METADATA = 0x420d
20558 +#define PTRACE_SECCOMP_GET_METADATA PTRACE_SECCOMP_GET_METADATA
20559 };
20560
20561
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)
20567 return 0;
20568 #else
20569 struct ifreq ifr;
20570 - int fd = __opensock ();
20571 -
20572 - if (fd < 0)
20573 - return 0;
20574 -
20575 if (strlen (ifname) >= IFNAMSIZ)
20576 {
20577 __set_errno (ENODEV);
20578 @@ -50,6 +45,12 @@ __if_nametoindex (const char *ifname)
20579 }
20580
20581 strncpy (ifr.ifr_name, ifname, sizeof (ifr.ifr_name));
20582 +
20583 + int fd = __opensock ();
20584 +
20585 + if (fd < 0)
20586 + return 0;
20587 +
20588 if (__ioctl (fd, SIOCGIFINDEX, &ifr) < 0)
20589 {
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)
20597 continue;
20598
20599 + /* If the dump got interrupted, we can't rely on the results
20600 + so try again. */
20601 + if (nlh->nlmsg_flags & NLM_F_DUMP_INTR)
20602 + {
20603 + result = -EAGAIN;
20604 + goto exit_free;
20605 + }
20606 +
20607 if (nlh->nlmsg_type == NLMSG_DONE)
20608 break; /* ok */
20609
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
20614 @@ -45,6 +45,7 @@
20615 int
20616 __lll_lock_elision (int *lock, short *adapt_count, EXTRAARG int pshared)
20617 {
20618 +#ifndef __SPE__
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);
20624
20625 use_lock:
20626 +#endif
20627 return LLL_LOCK ((*lock), pshared);
20628 }
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
20633 @@ -30,6 +30,7 @@
20634 int
20635 __lll_trylock_elision (int *futex, short *adapt_count)
20636 {
20637 +#ifndef __SPE__
20638 /* Implement POSIX semantics by forbiding nesting elided trylocks. */
20639 __libc_tabort (_ABORT_NESTED_TRYLOCK);
20640
20641 @@ -65,5 +66,6 @@ __lll_trylock_elision (int *futex, short *adapt_count)
20642 }
20643
20644 use_lock:
20645 +#endif
20646 return lll_trylock (*futex);
20647 }
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
20652 @@ -23,6 +23,7 @@
20653 int
20654 __lll_unlock_elision (int *lock, short *adapt_count, int pshared)
20655 {
20656 +#ifndef __SPE__
20657 /* When the lock was free we're in a transaction. */
20658 if (*lock == 0)
20659 __libc_tend (0);
20660 @@ -39,5 +40,8 @@ __lll_unlock_elision (int *lock, short *adapt_count, int pshared)
20661
20662 lll_unlock ((*lock), pshared);
20663 }
20664 +#else
20665 + lll_unlock ((*lock), pshared);
20666 +#endif
20667 return 0;
20668 }
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
20673 @@ -18,9 +18,45 @@
20674
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) \
20680 { \
20681 - mutex->__data.__kind |= PTHREAD_MUTEX_ELISION_NP; \
20682 - s; \
20683 + /* See concurrency notes regarding __kind in \
20684 + struct __pthread_mutex_s in \
20685 + sysdeps/nptl/bits/thread-shared-types.h. \
20686 + \
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 \
20701 + another one. \
20702 + \
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. \
20706 + \
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) \
20714 + { \
20715 + mutex_kind |= PTHREAD_MUTEX_ELISION_NP; \
20716 + atomic_store_relaxed (&((m)->__data.__kind), mutex_kind); \
20717 + } \
20718 + if ((mutex_kind & PTHREAD_MUTEX_ELISION_NP) != 0) \
20719 + { \
20720 + s; \
20721 + } \
20722 }
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
20727 @@ -24,6 +24,50 @@
20728
20729 __BEGIN_DECLS
20730
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
20773 +#endif
20774 +
20775 /* Type of the REQUEST argument to `ptrace.' */
20776 enum __ptrace_request
20777 {
20778 @@ -69,6 +113,22 @@ enum __ptrace_request
20779 PTRACE_SINGLESTEP = 9,
20780 #define PT_STEP PTRACE_SINGLESTEP
20781
20782 + /* Get all general purpose registers used by a process. */
20783 + PTRACE_GETREGS = 12,
20784 +#define PT_GETREGS PTRACE_GETREGS
20785 +
20786 + /* Set all general purpose registers used by a process. */
20787 + PTRACE_SETREGS = 13,
20788 +#define PT_SETREGS PTRACE_SETREGS
20789 +
20790 + /* Get all floating point registers used by a process. */
20791 + PTRACE_GETFPREGS = 14,
20792 +#define PT_GETFPREGS PTRACE_GETFPREGS
20793 +
20794 + /* Set all floating point registers used by a process. */
20795 + PTRACE_SETFPREGS = 15,
20796 +#define PT_SETFPREGS PTRACE_SETFPREGS
20797 +
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
20804
20805 + /* Get all altivec registers used by a process. */
20806 + PTRACE_GETVRREGS = 18,
20807 +#define PT_GETVRREGS PTRACE_GETVRREGS
20808 +
20809 + /* Set all altivec registers used by a process. */
20810 + PTRACE_SETVRREGS = 19,
20811 +#define PT_SETVRREGS PTRACE_SETVRREGS
20812 +
20813 + /* Get all SPE registers used by a process. */
20814 + PTRACE_GETEVRREGS = 20,
20815 +#define PT_GETEVRREGS PTRACE_GETEVRREGS
20816 +
20817 + /* Set all SPE registers used by a process. */
20818 + PTRACE_SETEVRREGS = 21,
20819 +#define PT_SETEVRREGS PTRACE_SETEVRREGS
20820 +
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
20825 +
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
20830 +
20831 /* Continue and stop at the next entry to or return from syscall. */
20832 PTRACE_SYSCALL = 24,
20833 #define PT_SYSCALL PTRACE_SYSCALL
20834
20835 + /* Get a debug register of a process. */
20836 + PTRACE_GET_DEBUGREG = 25,
20837 +#define PT_GET_DEBUGREG PTRACE_GET_DEBUGREG
20838 +
20839 + /* Set a debug register of a process. */
20840 + PTRACE_SET_DEBUGREG = 26,
20841 +#define PT_SET_DEBUGREG PTRACE_SET_DEBUGREG
20842 +
20843 + /* Get the first 32 VSX registers of a process. */
20844 + PTRACE_GETVSRREGS = 27,
20845 +#define PT_GETVSRREGS PTRACE_GETVSRREGS
20846 +
20847 + /* Set the first 32 VSX registers of a process. */
20848 + PTRACE_SETVSRREGS = 28,
20849 +#define PT_SETVSRREGS PTRACE_SETVSRREGS
20850 +
20851 + /* Execute process until next taken branch. */
20852 + PTRACE_SINGLEBLOCK = 256,
20853 +#define PT_STEPBLOCK PTRACE_SINGLEBLOCK
20854 +
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
20860
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
20865 +
20866 + /* Get seccomp BPF filter metadata. */
20867 + PTRACE_SECCOMP_GET_METADATA = 0x420d
20868 +#define PTRACE_SECCOMP_GET_METADATA PTRACE_SECCOMP_GET_METADATA
20869 };
20870
20871
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);
20880 - if (result >= 0)
20881 + if (result >= 0 || errno != ENOSYS)
20882 return result;
20883 # endif
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);
20887 return -1;
20888 }
20889 - return preadv (fd, vector, count, offset);
20890 + if (offset == -1)
20891 + return __readv (fd, vector, count);
20892 + else
20893 + return preadv (fd, vector, count, offset);
20894 }
20895
20896 #endif
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);
20905 - if (result >= 0)
20906 + if (result >= 0 || errno != ENOSYS)
20907 return result;
20908 #endif
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);
20912 return -1;
20913 }
20914 - return preadv64 (fd, vector, count, offset);
20915 +
20916 + if (offset == -1)
20917 + return __readv (fd, vector, count);
20918 + else
20919 + return preadv64 (fd, vector, count, offset);
20920 }
20921
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);
20931 - if (result >= 0)
20932 + if (result >= 0 || errno != ENOSYS)
20933 return result;
20934 # endif
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);
20938 return -1;
20939 }
20940 - return pwritev (fd, vector, count, offset);
20941 + if (offset == -1)
20942 + return __writev (fd, vector, count);
20943 + else
20944 + return pwritev (fd, vector, count, offset);
20945 }
20946
20947 #endif
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);
20956 - if (result >= 0)
20957 + if (result >= 0 || errno != ENOSYS)
20958 return result;
20959 #endif
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);
20963 return -1;
20964 }
20965 - return pwritev64 (fd, vector, count, offset);
20966 + if (offset == -1)
20967 + return __writev (fd, vector, count);
20968 + else
20969 + return pwritev64 (fd, vector, count, offset);
20970 }
20971
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
20976 --- /dev/null
20977 +++ b/sysdeps/unix/sysv/linux/riscv/kernel_sigaction.h
20978 @@ -0,0 +1,7 @@
20979 +/* This is the sigaction structure from the RISC-V Linux 4.15 kernel. */
20980 +
20981 +struct kernel_sigaction {
20982 + __sighandler_t k_sa_handler;
20983 + unsigned long sa_flags;
20984 + sigset_t sa_mask;
20985 +};
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,
20991 {
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;
20995 int ret;
20996 long flags;
20997
20998 @@ -59,7 +60,7 @@ process_elf_file (const char *file_name, const char *lib, int *flag,
20999 {
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;
21004 }
21005
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
21011 @@ -18,9 +18,45 @@
21012
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) \
21018 { \
21019 - mutex->__data.__kind |= PTHREAD_MUTEX_ELISION_NP; \
21020 - s; \
21021 + /* See concurrency notes regarding __kind in \
21022 + struct __pthread_mutex_s in \
21023 + sysdeps/nptl/bits/thread-shared-types.h. \
21024 + \
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 \
21039 + another one. \
21040 + \
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. \
21044 + \
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) \
21052 + { \
21053 + mutex_kind |= PTHREAD_MUTEX_ELISION_NP; \
21054 + atomic_store_relaxed (&((m)->__data.__kind), mutex_kind); \
21055 + } \
21056 + if ((mutex_kind & PTHREAD_MUTEX_ELISION_NP) != 0) \
21057 + { \
21058 + s; \
21059 + } \
21060 }
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
21076
21077 + /* Get seccomp BPF filter metadata. */
21078 + PTRACE_SECCOMP_GET_METADATA = 0x420d,
21079 +#define PTRACE_SECCOMP_GET_METADATA PTRACE_SECCOMP_GET_METADATA
21080 +
21081 PTRACE_PEEKUSR_AREA = 0x5000,
21082 #define PTRACE_PEEKUSR_AREA PTRACE_PEEKUSR_AREA
21083
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
21088 @@ -2,7 +2,12 @@
21089 #ifndef _BITS_SIGINFO_ARCH_H
21090 #define _BITS_SIGINFO_ARCH_H 1
21091
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
21098 +#endif
21099
21100 #define __SI_SIGFAULT_ADDL \
21101 int _si_trapno;
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)
21107
21108 weak_alias (__setcontext, setcontext)
21109
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.
21115 +
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. */
21120 +
21121 + nop
21122 +
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
21133 endif
21134 +
21135 +ifeq ($(subdir),conform)
21136 +# For bug 23821 (incorrect type of si_band).
21137 +conformtest-xfail-conds += sparc64-linux
21138 +endif
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
21145
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
21150 +
21151 + /* Get seccomp BPF filter metadata. */
21152 + PTRACE_SECCOMP_GET_METADATA = 0x420d
21153 +#define PTRACE_SECCOMP_GET_METADATA PTRACE_SECCOMP_GET_METADATA
21154 };
21155
21156
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;
21163
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;
21169 if (argc > 1)
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)
21173 {
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);
21179 }
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
21186
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
21191 +
21192 + /* Get seccomp BPF filter metadata. */
21193 + PTRACE_SECCOMP_GET_METADATA = 0x420d
21194 +#define PTRACE_SECCOMP_GET_METADATA PTRACE_SECCOMP_GET_METADATA
21195 };
21196
21197
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
21204
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
21209 +
21210 + /* Get seccomp BPF filter metadata. */
21211 + PTRACE_SECCOMP_GET_METADATA = 0x420d
21212 +#define PTRACE_SECCOMP_GET_METADATA PTRACE_SECCOMP_GET_METADATA
21213 };
21214
21215
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
21220 @@ -18,9 +18,45 @@
21221
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) \
21227 { \
21228 - mutex->__data.__kind |= PTHREAD_MUTEX_ELISION_NP; \
21229 - s; \
21230 + /* See concurrency notes regarding __kind in \
21231 + struct __pthread_mutex_s in \
21232 + sysdeps/nptl/bits/thread-shared-types.h. \
21233 + \
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 \
21248 + another one. \
21249 + \
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. \
21253 + \
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) \
21261 + { \
21262 + mutex_kind |= PTHREAD_MUTEX_ELISION_NP; \
21263 + atomic_store_relaxed (&((m)->__data.__kind), mutex_kind); \
21264 + } \
21265 + if ((mutex_kind & PTHREAD_MUTEX_ELISION_NP) != 0) \
21266 + { \
21267 + s; \
21268 + } \
21269 }
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
21276
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
21281 +
21282 + /* Get seccomp BPF filter metadata. */
21283 + PTRACE_SECCOMP_GET_METADATA = 0x420d
21284 +#define PTRACE_SECCOMP_GET_METADATA PTRACE_SECCOMP_GET_METADATA
21285 };
21286
21287
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
21292 @@ -4,10 +4,10 @@
21293 test -n "$libc_cv_slibdir" ||
21294 case "$prefix" in
21295 /usr | /usr/)
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'
21305 fi
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
21310 @@ -18,9 +18,9 @@
21311 #include <sysdeps/generic/ldconfig.h>
21312
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
21326 @@ -1,3 +1,3 @@
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 *)
21336 attribute_hidden;
21337 #endif
21338
21339 +static void
21340 +get_extended_indices (struct cpu_features *cpu_features)
21341 +{
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);
21350 +
21351 +}
21352 +
21353 static void
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,
21358 &stepping);
21359
21360 + get_extended_indices (cpu_features);
21361 +
21362 if (family == 0x06)
21363 {
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);
21368 break;
21369 + }
21370
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). */
21374 + switch (model)
21375 + {
21376 case 0x3f:
21377 /* Xeon E7 v3 with stepping >= 4 has working TSX. */
21378 if (stepping >= 4)
21379 @@ -324,16 +346,9 @@ init_cpu_features (struct cpu_features *cpu_features)
21380 get_common_indeces (cpu_features, &family, &model, &extended_model,
21381 &stepping);
21382
21383 - ecx = cpu_features->cpuid[COMMON_CPUID_INDEX_1].ecx;
21384 + get_extended_indices (cpu_features);
21385
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;
21395
21396 if (HAS_ARCH_FEATURE (AVX_Usable))
21397 {
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
21403 {
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
21410 };
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
21427
21428 + mov %rdi, %r11
21429 /* Align destination for access with non-temporal stores in the loop. */
21430 mov %rdi, %r8
21431 and $-0x80, %rdi
21432 @@ -366,8 +367,8 @@ L(gobble_256bytes_nt_loop):
21433 cmp $256, %rdx
21434 ja L(gobble_256bytes_nt_loop)
21435 sfence
21436 - vmovups %zmm4, (%rax)
21437 - vmovups %zmm5, 0x40(%rax)
21438 + vmovups %zmm4, (%r11)
21439 + vmovups %zmm5, 0x40(%r11)
21440 jmp L(check)
21441
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 @@
21448
21449 #include <sysdep.h>
21450
21451 -#define STRCMP __strncmp_sse2
21452 -
21453 -#undef libc_hidden_builtin_def
21454 -#define libc_hidden_builtin_def(strcmp)
21455 +#if IS_IN (libc)
21456 +# define STRCMP __strncmp_sse2
21457 +# undef libc_hidden_builtin_def
21458 +# define libc_hidden_builtin_def(strcmp)
21459 +#else
21460 +# define STRCMP strncmp
21461 +#endif
21462
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
21469 @@ -1,5 +1,6 @@
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
21475
21476 #include <bits/types.h>
21477
21478 diff --git a/time/time.h b/time/time.h
21479 index 49d30438f3..4b55e34402 100644
21480 --- a/time/time.h
21481 +++ b/time/time.h
21482 @@ -68,7 +68,7 @@ typedef __pid_t pid_t;
21483 __BEGIN_DECLS
21484
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;
21489
21490 /* Return the current time and put it in *TIMER if TIMER is not NULL. */