summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorjoseph <joseph@7b3dc134-2b1b-0410-93df-9e9f96275f8d>2008-03-27 13:22:15 +0000
committerjoseph <joseph@7b3dc134-2b1b-0410-93df-9e9f96275f8d>2008-03-27 13:22:15 +0000
commitca1bbff0ee443807a36d8c7bf798672589ac37f6 (patch)
tree5c44adf6728cbd3c1c4cf17f106a8c7801206be2
parent1bc40ce17eb32360b2e6e8752e0c5a4ef729e375 (diff)
Merge changes between r5247 and r5678 from /fsf/trunk.
git-svn-id: svn://svn.eglibc.org/trunk@5679 7b3dc134-2b1b-0410-93df-9e9f96275f8d
-rw-r--r--libc/ChangeLog297
-rw-r--r--libc/FAQ42
-rw-r--r--libc/FAQ.in26
-rw-r--r--libc/debug/Makefile9
-rw-r--r--libc/debug/Versions4
-rw-r--r--libc/debug/asprintf_chk.c38
-rw-r--r--libc/debug/dprintf_chk.c37
-rw-r--r--libc/debug/obprintf_chk.c117
-rw-r--r--libc/debug/tst-chk1.c36
-rw-r--r--libc/debug/vasprintf_chk.c97
-rw-r--r--libc/debug/vdprintf_chk.c69
-rw-r--r--libc/dlfcn/dlinfo.c4
-rw-r--r--libc/elf/Makefile7
-rw-r--r--libc/elf/Versions1
-rw-r--r--libc/elf/dl-iteratephdr.c4
-rw-r--r--libc/elf/dl-sysdep.c3
-rw-r--r--libc/elf/dl-tls.c3
-rw-r--r--libc/elf/ldconfig.c3
-rw-r--r--libc/elf/rtld.c8
-rw-r--r--libc/gmon/gmon.c3
-rw-r--r--libc/hurd/hurdsig.c9
-rw-r--r--libc/iconv/gconv_conf.c3
-rw-r--r--libc/iconv/iconv_charmap.c16
-rw-r--r--libc/iconv/iconv_prog.c121
-rw-r--r--libc/iconv/iconv_prog.h4
-rw-r--r--libc/include/stdio.h11
-rw-r--r--libc/inet/inet6_opt.c10
-rw-r--r--libc/inet/rcmd.c3
-rw-r--r--libc/intl/bindtextdom.c3
-rw-r--r--libc/intl/loadmsgcat.c9
-rw-r--r--libc/io/tst-fchownat.c15
-rw-r--r--libc/libidn/ChangeLog5
-rw-r--r--libc/libidn/stringprep.c6
-rw-r--r--libc/libio/bits/stdio-ldbl.h10
-rw-r--r--libc/libio/bits/stdio2.h89
-rw-r--r--libc/libio/genops.c3
-rw-r--r--libc/libio/obprintf.c4
-rw-r--r--libc/libio/wgenops.c3
-rw-r--r--libc/locale/iso-639.def1
-rw-r--r--libc/locale/programs/ld-collate.c12
-rw-r--r--libc/locale/programs/linereader.c3
-rw-r--r--libc/localedata/ChangeLog28
-rw-r--r--libc/localedata/SUPPORTED1
-rw-r--r--libc/localedata/locales/en_CA4
-rw-r--r--libc/localedata/locales/es_CR4
-rw-r--r--libc/localedata/locales/fr_CA4
-rw-r--r--libc/localedata/locales/ik_CA9
-rw-r--r--libc/localedata/locales/iso14651_t1_common302
-rw-r--r--libc/localedata/locales/iu_CA6
-rw-r--r--libc/localedata/locales/mr_IN21
-rw-r--r--libc/localedata/locales/pt_PT2
-rw-r--r--libc/localedata/locales/shs_CA160
-rw-r--r--libc/malloc/malloc.c2
-rw-r--r--libc/math/libm-test.inc9
-rw-r--r--libc/misc/sys/queue.h17
-rw-r--r--libc/nis/nis_call.c6
-rw-r--r--libc/nis/nss_compat/compat-pwd.c15
-rw-r--r--libc/nis/nss_compat/compat-spwd.c6
-rw-r--r--libc/nis/ypclnt.c2
-rw-r--r--libc/nptl/ChangeLog20
-rw-r--r--libc/nptl/sysdeps/unix/sysv/linux/bits/posix_opt.h6
-rw-r--r--libc/nptl/sysdeps/unix/sysv/linux/i386/dl-sysdep.h11
-rw-r--r--libc/nptl/sysdeps/unix/sysv/linux/i386/i686/dl-sysdep.h11
-rw-r--r--libc/nptl/sysdeps/unix/sysv/linux/ia64/dl-sysdep.h11
-rw-r--r--libc/nptl_db/ChangeLog9
-rw-r--r--libc/nptl_db/structs.def3
-rw-r--r--libc/nptl_db/td_ta_thr_iter.c65
-rw-r--r--libc/nptl_db/td_thr_validate.c26
-rw-r--r--libc/nscd/connections.c46
-rw-r--r--libc/nscd/nscd.h5
-rw-r--r--libc/nscd/nscd_conf.c7
-rw-r--r--libc/nscd/nscd_helper.c6
-rw-r--r--libc/nss/nss_files/files-XXX.c7
-rw-r--r--libc/po/be.po24
-rw-r--r--libc/po/bg.po22
-rw-r--r--libc/po/ca.po22
-rw-r--r--libc/po/cs.po22
-rw-r--r--libc/po/da.po22
-rw-r--r--libc/po/de.po22
-rw-r--r--libc/po/es.po22
-rw-r--r--libc/po/fr.po9069
-rw-r--r--libc/po/hr.po22
-rw-r--r--libc/po/ko.po22
-rw-r--r--libc/po/nl.po22
-rw-r--r--libc/po/rw.po22
-rw-r--r--libc/po/sk.po22
-rw-r--r--libc/po/sv.po22
-rw-r--r--libc/po/tr.po22
-rw-r--r--libc/po/vi.po6524
-rw-r--r--libc/po/zh_CN.po22
-rw-r--r--libc/po/zh_TW.po22
-rw-r--r--libc/posix/gai.conf2
-rw-r--r--libc/posix/getopt.c65
-rw-r--r--libc/resolv/nss_dns/dns-host.c8
-rw-r--r--libc/resolv/res_debug.c3
-rw-r--r--libc/stdlib/Makefile4
-rw-r--r--libc/stdlib/strtod_l.c23
-rw-r--r--libc/stdlib/tens_in_limb.c31
-rw-r--r--libc/stdlib/tst-strtod6.c53
-rw-r--r--libc/sunrpc/xdr_sizeof.c6
-rw-r--r--libc/sysdeps/generic/ldsodefs.h8
-rw-r--r--libc/sysdeps/ia64/ieee754.h8
-rw-r--r--libc/sysdeps/ieee754/dbl-64/s_nearbyint.c9
-rw-r--r--libc/sysdeps/ieee754/dbl-64/s_rint.c11
-rw-r--r--libc/sysdeps/ieee754/ieee754.h8
-rw-r--r--libc/sysdeps/ieee754/ldbl-opt/Makefile3
-rw-r--r--libc/sysdeps/ieee754/ldbl-opt/Versions5
-rw-r--r--libc/sysdeps/ieee754/ldbl-opt/nldbl-asprintf_chk.c15
-rw-r--r--libc/sysdeps/ieee754/ldbl-opt/nldbl-compat.c85
-rw-r--r--libc/sysdeps/ieee754/ldbl-opt/nldbl-compat.h5
-rw-r--r--libc/sysdeps/ieee754/ldbl-opt/nldbl-dprintf_chk.c15
-rw-r--r--libc/sysdeps/ieee754/ldbl-opt/nldbl-obstack_printf_chk.c13
-rw-r--r--libc/sysdeps/ieee754/ldbl-opt/nldbl-obstack_vprintf_chk.c9
-rw-r--r--libc/sysdeps/ieee754/ldbl-opt/nldbl-vasprintf_chk.c8
-rw-r--r--libc/sysdeps/ieee754/ldbl-opt/nldbl-vdprintf_chk.c8
-rw-r--r--libc/sysdeps/mach/hurd/i386/trampoline.c6
-rw-r--r--libc/sysdeps/mach/hurd/if_index.c3
-rw-r--r--libc/sysdeps/posix/getaddrinfo.c1
-rw-r--r--libc/sysdeps/posix/sprofil.c3
-rw-r--r--libc/sysdeps/s390/fpu/fegetenv.c10
-rw-r--r--libc/sysdeps/s390/fpu/fesetenv.c8
-rw-r--r--libc/sysdeps/unix/sysv/linux/adjtime.c10
-rw-r--r--libc/sysdeps/unix/sysv/linux/bits/posix_opt.h7
-rw-r--r--libc/sysdeps/unix/sysv/linux/bits/sched.h7
-rw-r--r--libc/sysdeps/unix/sysv/linux/dl-osinfo.h97
-rw-r--r--libc/sysdeps/unix/sysv/linux/dl-sysdep.c104
-rw-r--r--libc/sysdeps/unix/sysv/linux/dl-sysdep.h11
-rw-r--r--libc/sysdeps/unix/sysv/linux/fpathconf.c5
-rw-r--r--libc/sysdeps/unix/sysv/linux/pathconf.c48
-rw-r--r--libc/sysdeps/unix/sysv/linux/pathconf.h13
-rw-r--r--libc/sysdeps/unix/sysv/linux/s390/sys/user.h4
-rw-r--r--libc/sysdeps/unix/sysv/linux/sysconf.c20
-rw-r--r--libc/sysdeps/x86_64/cacheinfo.c10
-rw-r--r--libc/sysdeps/x86_64/memset.S1365
-rw-r--r--libc/sysdeps/x86_64/rtld-memset.c1
-rw-r--r--libc/time/lc-time-cleanup.c9
-rw-r--r--libc/time/tzset.c3
-rw-r--r--ports/ChangeLog.hppa22
-rw-r--r--ports/ChangeLog.mips25
-rw-r--r--ports/sysdeps/hppa/nptl/Makefile6
-rw-r--r--ports/sysdeps/mips/fpu/fesetround.c2
-rw-r--r--ports/sysdeps/mips/fpu/fgetexcptflg.c2
-rw-r--r--ports/sysdeps/mips/fpu/fsetexcptflg.c2
-rw-r--r--ports/sysdeps/mips/ieee754.h12
-rw-r--r--ports/sysdeps/unix/sysv/linux/hppa/Makefile2
-rw-r--r--ports/sysdeps/unix/sysv/linux/hppa/nptl/lowlevellock.h2
-rw-r--r--ports/sysdeps/unix/sysv/linux/hppa/sys/user.h1
-rw-r--r--ports/sysdeps/unix/sysv/linux/mips/bits/siginfo.h51
148 files changed, 14979 insertions, 5224 deletions
diff --git a/libc/ChangeLog b/libc/ChangeLog
index ccd2ba24e..b4cafe0de 100644
--- a/libc/ChangeLog
+++ b/libc/ChangeLog
@@ -1,3 +1,296 @@
+2008-03-25 Jakub Jelinek <jakub@redhat.com>
+
+ * posix/gai.conf: Fix comment for scope nullbits.
+ * sysdeps/posix/getaddrinfo.c (gaiconf_init): If /bits is not present,
+ default to 128 bits for v4 mapped addresses.
+
+2008-03-07 Martin Schwidefsky <schwidefsky@de.ibm.com>
+
+ * sysdeps/s390/fpu/fegetenv.c (fegetenv): Remove PTRACE_PEEKUSER
+ ptrace call to get the ieee_instruction_pointer from the kernel.
+ * sysdeps/s390/fpu/fesetenv.c (fesetenv): Remove PTRACE_POKEUSER
+ ptrace call to set the ieee_instructtion_pointer.
+ * sysdeps/unix/sysv/linux/s390/sys/user.h (struct _user_regs_struct):
+ Add comment that ieee_instruction_pointer is always 0.
+
+2008-03-09 Andreas Jaeger <aj@suse.de>
+
+ [BZ #5857]
+ * sysdeps/ieee754/dbl-64/s_rint.c (__rint): Handle j0==18.
+ * sysdeps/ieee754/dbl-64/s_nearbyint.c (__nearbyint): Likewise.
+ Patch by Mark Elliott <mark.h.elliott@lmco.com>.
+
+ * math/libm-test.inc (nearbyint_test): Add new test cases from #5857.
+ (rint_test): Likewise.
+
+2008-03-24 Ulrich Drepper <drepper@redhat.com>
+
+ * nis/nis_call.c (nis_server_cache_search): Save errno around stat
+ call.
+ (__nisfind_server): Similar for open readColdStartFile call.
+ Patch partially by Jim Meyering.
+ * nss/nss_files/files-XXX.c (_nss_files_getXXent_r): Save errno
+ around internal_setent call.
+
+ * po/vi.po: New Vietnamese translation.
+
+ * sysdeps/unix/sysv/linux/adjtime.c: Correctly use
+ ADJ_OFFSET_SS_READ.
+
+ * sysdeps/unix/sysv/linux/bits/sched.h: Add new CLONE_* flags,
+ remove CLONE_STOPPED.
+
+2008-02-10 Jim Meyering <meyering@redhat.com>
+
+ Remove useless "if" before "free":
+ * elf/ldconfig.c (parse_conf_include): Likewise.
+ * gmon/gmon.c (weak_alias): Likewise.
+ * iconv/gconv_conf.c (__gconv_get_path): Likewise.
+ * inet/rcmd.c (__validuser2_sa): Likewise.
+ * intl/bindtextdom.c (set_binding_values): Likewise.
+ * intl/loadmsgcat.c (_nl_load_domain, _nl_unload_domain): Likewise.
+ * libio/genops.c (save_for_backup): Likewise.
+ * libio/wgenops.c (save_for_wbackup): Likewise.
+ * locale/programs/ld-collate.c (collate_read): Likewise.
+ * locale/programs/linereader.c (get_string): Likewise.
+ * nis/nss_compat/compat-pwd.c (give_pwd_free): Likewise.
+ * nis/nss_compat/compat-spwd.c (give_spwd_free): Likewise.
+ * resolv/res_debug.c (do_section): Likewise.
+ * sunrpc/xdr_sizeof.c (x_inline, xdr_sizeof): Likewise.
+ * sysdeps/mach/hurd/if_index.c (libc_hidden_def): Likewise.
+ * sysdeps/posix/sprofil.c (__sprofil): Likewise.
+ * time/lc-time-cleanup.c (_nl_cleanup_time): Likewise.
+ * time/tzset.c (tzset_internal): Likewise.
+
+2008-03-18 Jakub Jelinek <jakub@redhat.com>
+
+ * sysdeps/unix/sysv/linux/dl-sysdep.h: Use __ASSEMBLER__ instead
+ of ASSEMBLER.
+
+2008-03-11 Ulrich Drepper <drepper@redhat.com>
+
+ [BZ #5903]
+ * iconv/iconv_charmap.c (charmap_conversion): Pass name of output file
+ not stream for output file. Open output file here.
+ * iconv/iconv_prog.c (process_lock): Take pointer to output stream
+ and output file name.
+ (process_fd): Likewise.
+ (process_file): Likewise.
+ (main): Adjust callers of changed functions.
+ * iconv/iconv_prog.h: Adjust prototype.
+
+2008-03-09 Andreas Jaeger <aj@suse.de>
+
+ [BZ #5753]
+ * sysdeps/ia64/ieee754.h: Use protected namespace
+ __BIG_ENDIAN/__LITTLE_ENDIAN.
+ * sysdeps/ieee754/ieee754.h: Likewise.
+ Patch by Aurelien Jarno <aurelien@aurel32.net>.
+
+2008-03-08 Roland McGrath <roland@frob.com>
+
+ * hurd/hurdsig.c (_hurd_internal_post_signal): When normal rules would
+ ignore a signal that came from a machine exception, treat it as a
+ fatal core-dump signal instead.
+ Reported by Samuel Thibault <samuel.thibault@ens-lyon.org>.
+
+ * sysdeps/mach/hurd/i386/trampoline.c (_hurd_setup_sighandler):
+ Clear DF bit in thread state's eflags.
+ Reported by Samuel Thibault <samuel.thibault@ens-lyon.org>.
+
+2008-03-08 Ulrich Drepper <drepper@redhat.com>
+
+ [BZ #5774]
+ * stdlib/strtod_l.c (____STRTOF_INTERNAL): Consume closing brace
+ of NAN(...) sequence.
+ * stdlib/Makefile (tests): Add tst-strtod6.
+ * stdlib/tst-strtod6.c: New file.
+
+ * inet/inet6_opt.c (inet6_opt_init): Check extlen for overflow.
+
+ [BZ #5762]
+ * posix/getopt.c (_getopt_internal_r): Clarify error message by
+ putting offending option character in quotes. Clean up error
+ messages.
+ * po/be.po: Adjust msgstr in translation file.
+ * po/bg.po: Likewise.
+ * po/ca.po: Likewise.
+ * po/cs.po: Likewise.
+ * po/da.po: Likewise.
+ * po/de.po: Likewise.
+ * po/es.po: Likewise.
+ * po/fr.po: Likewise.
+ * po/hr.po: Likewise.
+ * po/ko.po: Likewise.
+ * po/nl.po: Likewise.
+ * po/rw.po: Likewise.
+ * po/sk.po: Likewise.
+ * po/sv.po: Likewise.
+ * po/tr.po: Likewise.
+ * po/zh_CN.po: Likewise.
+ * po/zh_TW.po: Likewise.
+
+ [BZ #5760]
+ * inet/inet6_opt.c (inet6_opt_init): Fix ip6h_len computation.
+ Patch by Roland Bless <roland@bless.de>.
+
+ * sysdeps/unix/sysv/linux/dl-sysdep.c: Avoid unnecessary code for
+ .o file.
+ * elf/Makefile (routines): Add dl-sysdep.
+ (elide-routines.os): Likewise.
+
+2008-03-07 Ulrich Drepper <drepper@redhat.com>
+
+ [BZ #5786]
+ * elf/dl-sysdep.c: Undefine ROUND after use.
+ * sysdeps/generic/ldsodefs.h [HAVE_DL_DISCOVER_OSVERSION]
+ (struct rtld_global_ro): Add _dl_tls_get_addr_soft element.
+ * elf/rtld.c (rtld_global_ro): Initialize _dl_discover_osversion.
+ * sysdeps/unix/sysv/linux/dl-osinfo.h: Move _dl_discover_osversion
+ to ...
+ * sysdeps/unix/sysv/linux/dl-sysdep.c: ...here.
+ * sysdeps/unix/sysv/linux/dl-sysdep.h: Declare _dl_discover_osversion
+ if necessary.
+ * sysdeps/unix/sysv/linux/sysconf.c: Handle _SC_ARG_MAX here.
+
+ * sysdeps/generic/ldsodefs.h (struct rtld_global_ro): Add
+ _dl_tls_get_addr_soft element.
+ * elf/rtld.c (rtld_global_ro): Initialize _dl_tls_get_addr_soft.
+ * elf/Versions (ld): Don't export _dl_tls_get_addr_soft.
+ * dlfcn/dlinfo.c (dlinfo_doit): Access dl_tls_get_addr_soft through
+ GLRO.
+ * elf/dl-iteratephdr.c (__dl_iterate_phdr): Likewise.
+ * elf/dl-tls.c (_dl_tls_get_addr_soft): Use attribute_hidden instead
+ of internal_function.
+
+ * stdlib/Makefile (aux): Add tens_in_limb.
+ * stdlib/strtod_l.c: Move _tens_in_limb definition to...
+ * stdlib/tens_in_limb.c: ...here. New file.
+
+ [BZ #5778]
+ * sysdeps/unix/sysv/linux/pathconf.h: Declare
+ __statfs_chown_restricted.
+ * sysdeps/unix/sysv/linux/fpathconf.c: Call __statfs_chown_restricted
+ for _PC_CHOWN_RESTRICTED.
+ * sysdeps/unix/sysv/linux/pathconf.c: Likewise.
+ Implement __statfs_chown_restricted.
+ * sysdeps/unix/sysv/linux/bits/posix_opt.h: Change
+ _POSIX_CHOWN_RESTRICTED value to zero.
+ * io/tst-fchownat.c: Correctly handle _POSIX_CHOWN_RESTRICTED
+ defined to zero.
+
+ * sysdeps/x86_64/rtld-memset.c: New file.
+
+2008-02-26 Harsha Jagasia <harsha.jagasia@amd.com>
+
+ * sysdeps/x86_64/cacheinfo.c (NOT_USED_RIGHT_NOW): Remove ifdef guards.
+
+ * sysdeps/x86_64/memset.S: Rewrite non-SSE code path as tuned for AMD
+ Barcelona machine. Make default fall through branch of
+ __x86_64_preferred_memory_instruction check as the integer code path.
+
+2007-10-15 H.J. Lu <hongjiu.lu@intel.com>
+
+ * sysdeps/x86_64/cacheinfo.c
+ (__x86_64_preferred_memory_instruction): New variable.
+ (init_cacheinfo): Initialize __x86_64_preferred_memory_instruction.
+
+ * sysdeps/x86_64/memset.S: Rewrite.
+
+2008-03-04 Jakub Jelinek <jakub@redhat.com>
+
+ * include/stdio.h (__asprintf_chk, __dprintf_chk,
+ __obstack_printf_chk): New prototypes.
+ (__vasprintf_chk, __vdprintf_chk,
+ __obstack_vprintf_chk): Likewise.
+ Add libc_hidden_proto.
+ * libio/obprintf.c
+ (_IO_obstack_jumps): No longer static, add attribute_hidden.
+ * libio/bits/stdio-ldbl.h (__asprintf_chk, __dprintf_chk,
+ __obstack_printf_chk, __vasprintf_chk, __vdprintf_chk,
+ __obstack_vprintf_chk): Add __LDBL_REDIR_DECL.
+ * libio/bits/stdio2.h (__asprintf_chk, __dprintf_chk,
+ __obstack_printf_chk, __vasprintf_chk, __vdprintf_chk,
+ __obstack_vprintf_chk): New prototypes.
+ (asprintf, __asprintf, dprintf, obstack_printf, vasprintf, vdprintf,
+ obstack_vprintf): New inlines.
+ * debug/dprintf_chk.c: New file.
+ * debug/vdprintf_chk.c: New file.
+ * debug/asprintf_chk.c: New file.
+ * debug/vasprintf_chk.c: New file.
+ * debug/obprintf_chk.c: New file.
+ * debug/tst-chk1.c (do_test): Add asprintf and obstack_printf tests.
+ * debug/Versions (__asprintf_chk, __dprintf_chk, __obstack_printf_chk,
+ __vasprintf_chk, __vdprintf_chk, __obstack_vprintf_chk): Export
+ @@GLIBC_2.8.
+ * debug/Makefile: Build asprintf_chk, vasprintf_chk, dprintf_chk,
+ vdprintf_chk and obprintf_chk, set CFLAGS for them.
+ * sysdeps/ieee754/ldbl-opt/nldbl-compat.c (__nldbl___vasprintf_chk,
+ __nldbl___vdprintf_chk, __nldbl___obstack_vprintf_chk): Add
+ libc_hidden_proto.
+ * sysdeps/ieee754/ldbl-opt/nldbl-compat.h (__nldbl___vasprintf_chk,
+ __nldbl___vdprintf_chk, __nldbl___obstack_vprintf_chk): New prototypes.
+ * sysdeps/ieee754/ldbl-opt/Versions (__nldbl___asprintf_chk,
+ __nldbl___vasprintf_chk, __nldbl___dprintf_chk, __nldbl___vdprintf_chk,
+ __nldbl___obstack_printf_chk, __nldbl___obstack_vprintf_chk): Export
+ @@GLIBC_2.8.
+ * sysdeps/ieee754/ldbl-opt/Makefile (libnldbl-calls): Add asprintf_chk,
+ vasprintf_chk, dprintf_chk, vdprintf_chk, obstack_printf_chk and
+ obstack_vprintf_chk.
+ * sysdeps/ieee754/ldbl-opt/nldbl-obstack_vprintf_chk.c: New file.
+ * sysdeps/ieee754/ldbl-opt/nldbl-dprintf_chk.c: New file.
+ * sysdeps/ieee754/ldbl-opt/nldbl-obstack_printf_chk.c: New file.
+ * sysdeps/ieee754/ldbl-opt/nldbl-asprintf_chk.c: New file.
+ * sysdeps/ieee754/ldbl-opt/nldbl-vdprintf_chk.c: New file.
+ * sysdeps/ieee754/ldbl-opt/nldbl-vasprintf_chk.c: New file.
+
+2008-03-04 Ulrich Drepper <drepper@redhat.com>
+
+ [BZ #5779]
+ * misc/sys/queue.h: Add STAILQ_CONCAT and TAILQ_CONCAT definitions.
+ Patch by Roy Marples <roy@marples.name>.
+
+ [BZ #5736]
+ * malloc/malloc.c: Fix typo in comment.
+
+ [BZ #5627]
+ * locale/iso-639.def: Add Shuswap.
+
+2008-02-25 Jakub Jelinek <jakub@redhat.com>
+
+ [BZ #5790]
+ * resolv/nss_dns/dns-host.c (_nss_dns_gethostbyaddr2_r): Don't
+ overwrite *h_errnop/*errnop values from getanswer_r in case of
+ failure.
+
+2008-03-03 Ulrich Drepper <drepper@redhat.com>
+
+ [BZ #5818]
+ * nscd/connections.c (dbs): Add initializers for .suggested_module.
+ (verify_persistent_db): Remove one unnecessary test and add a new one
+ for bad configuration.
+ (nscd_init): Improve error reported when persistent database cannot
+ be reused.
+ * nscd/nscd.h (DEFAULT_SUGGESTED_MODULE): Define.
+ * nscd/nscd_conf.c (nscd_parse_file): Provide default values for
+ .suggested_module and .max_db_size and case config file says the
+ values are zero.
+ * nscd/nscd_helper.c (get_mapping): Fail if hash table module is zero.
+
+ [BZ #5854]
+ * nis/ypclnt.c (yp_order): Fix handling of return value of
+ do_ypcall_tr call.
+ Patch by Jeff Moyer <jmoyer@redhat.com>.
+
+ * po/fr.po: Update from translation team.
+
+2008-02-22 Andreas Jaeger <aj@suse.de>,
+ Carlos O'Donell <carlos@systemhalted.org>
+
+ [BZ #5012]
+ * FAQ.in: Describe why glibc needs to be compiled with
+ optimization.
+
2008-02-19 Roland McGrath <roland@redhat.com>
* elf/elf.h (SHT_GNU_ATTRIBUTES): New macro.
@@ -215,7 +508,7 @@
* stdlib/Makefile: Add rules to build and run tst-makecontext2.
* stdlib/tst-makecontext2.c: New test.
-008-01-08 Jakub Jelinek <jakub@redhat.com>
+2008-01-08 Jakub Jelinek <jakub@redhat.com>
* iconv/loop.c (UPDATE_PARAMS): Define to empty statement if not
defined.
@@ -298,7 +591,7 @@
2007-12-17 Ulrich Drepper <drepper@redhat.com>
- * malloc/malloc.c (public_cALLOc): For arena other than
+ * malloc/malloc.c (public_cALLOc): For arenas other than
main_arena, count all bytes inside the mprotect_size range of the
heap as uninitialized.
diff --git a/libc/FAQ b/libc/FAQ
index 77bd47e3e..9b557dae1 100644
--- a/libc/FAQ
+++ b/libc/FAQ
@@ -50,6 +50,9 @@ please let me know.
1.21. Which compiler should I use for powerpc64?
1.22. `make' fails when running rpcgen the first time,
what is going on? How do I fix this?
+1.23. Why do I get:
+ `#error "glibc cannot be compiled without optimization"',
+ when trying to compile GNU libc with GNU CC?
2. Installation and configuration issues
@@ -484,12 +487,12 @@ down the build process and need more disk space.
failure should be looked into. Depending on the failures, you probably
should not install the library at all.
-You should consider using the `glibcbug' script to report the failure,
-providing as much detail as possible. If you run a test directly, please
-remember to set up the environment correctly. You want to test the compiled
-library - and not your installed one. The best way is to copy the exact
-command line which failed and run the test from the subdirectory for this
-test in the sources.
+You should consider reporting it in bugzilla
+<http://sourceware.org/bugzilla/> providing as much detail as possible.
+If you run a test directly, please remember to set up the environment
+correctly. You want to test the compiled library - and not your installed
+one. The best way is to copy the exact command line which failed and run
+the test from the subdirectory for this test in the sources.
There are some failures which are not directly related to the GNU libc:
- Some compilers produce buggy code. No compiler gets single precision
@@ -589,6 +592,32 @@ yourself. Please remember that for each architecture there may be various
patches required to get glibc HEAD into a runnable state. The best course
of action is to determine if you have all the required patches.
+
+1.23. Why do I get:
+ `#error "glibc cannot be compiled without optimization"',
+ when trying to compile GNU libc with GNU CC?
+
+{AJ,CO} There are a couple of reasons why the GNU C library will not work
+correctly if it is not complied with optimzation.
+
+In the early startup of the dynamic loader (_dl_start), before
+relocation of the PLT, you cannot make function calls. You must inline
+the functions you will use during early startup, or call compiler
+builtins (__builtin_*).
+
+Without optimizations enabled GNU CC will not inline functions. The
+early startup of the dynamic loader will make function calls via an
+unrelocated PLT and crash.
+
+Without auditing the dynamic linker code it would be difficult to remove
+this requirement.
+
+Another reason is that nested functions must be inlined in many cases to
+avoid executable stacks.
+
+In practice there is no reason to compile without optimizations, therefore
+we require that GNU libc be compiled with optimizations enabled.
+
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
@@ -1957,6 +1986,7 @@ Answers were given by:
{AO} Alexandre Oliva, <aoliva@redhat.com>
{BH} Bruno Haible, <haible@clisp.cons.org>
{SM} Steven Munroe, <sjmunroe@us.ibm.com>
+{CO} Carlos O'Donell, <carlos@systemhalted.org>
Local Variables:
mode:outline
diff --git a/libc/FAQ.in b/libc/FAQ.in
index d0b2805ca..a5c7123ad 100644
--- a/libc/FAQ.in
+++ b/libc/FAQ.in
@@ -387,6 +387,31 @@ yourself. Please remember that for each architecture there may be various
patches required to get glibc HEAD into a runnable state. The best course
of action is to determine if you have all the required patches.
+?? Why do I get:
+ `#error "glibc cannot be compiled without optimization"',
+ when trying to compile GNU libc with GNU CC?
+
+{AJ,CO} There are a couple of reasons why the GNU C library will not work
+correctly if it is not complied with optimzation.
+
+In the early startup of the dynamic loader (_dl_start), before
+relocation of the PLT, you cannot make function calls. You must inline
+the functions you will use during early startup, or call compiler
+builtins (__builtin_*).
+
+Without optimizations enabled GNU CC will not inline functions. The
+early startup of the dynamic loader will make function calls via an
+unrelocated PLT and crash.
+
+Without auditing the dynamic linker code it would be difficult to remove
+this requirement.
+
+Another reason is that nested functions must be inlined in many cases to
+avoid executable stacks.
+
+In practice there is no reason to compile without optimizations, therefore
+we require that GNU libc be compiled with optimizations enabled.
+
? Installation and configuration issues
?? Can I replace the libc on my Linux system with GNU libc?
@@ -1685,6 +1710,7 @@ Answers were given by:
{AO} Alexandre Oliva, <aoliva@redhat.com>
{BH} Bruno Haible, <haible@clisp.cons.org>
{SM} Steven Munroe, <sjmunroe@us.ibm.com>
+{CO} Carlos O'Donell, <carlos@systemhalted.org>
Local Variables:
mode:outline
diff --git a/libc/debug/Makefile b/libc/debug/Makefile
index f410061f1..3c72f920a 100644
--- a/libc/debug/Makefile
+++ b/libc/debug/Makefile
@@ -1,4 +1,4 @@
-# Copyright (C) 1998-2001,2004,2005,2006,2007 Free Software Foundation, Inc.
+# Copyright (C) 1998-2001,2004-2008 Free Software Foundation, Inc.
# This file is part of the GNU C Library.
# The GNU C Library is free software; you can redistribute it and/or
@@ -37,6 +37,8 @@ routines = noophooks \
realpath_chk ptsname_r_chk fread_chk fread_u_chk \
confstr_chk getgroups_chk ttyname_r_chk \
gethostname_chk getdomainname_chk \
+ asprintf_chk vasprintf_chk dprintf_chk \
+ vdprintf_chk obprintf_chk \
stack_chk_fail fortify_fail \
$(static-only-routines)
routines-$(OPTION_EGLIBC_GETLOGIN) += getlogin_r_chk
@@ -60,6 +62,11 @@ CFLAGS-sprintf_chk.c = -D_IO_MTSAFE_IO
CFLAGS-snprintf_chk.c = -D_IO_MTSAFE_IO
CFLAGS-vsprintf_chk.c = -D_IO_MTSAFE_IO
CFLAGS-vsnprintf_chk.c = -D_IO_MTSAFE_IO
+CFLAGS-asprintf_chk.c = -D_IO_MTSAFE_IO
+CFLAGS-vasprintf_chk.c = -D_IO_MTSAFE_IO
+CFLAGS-obprintf_chk.c = -D_IO_MTSAFE_IO
+CFLAGS-dprintf_chk.c = -D_IO_MTSAFE_IO $(exceptions)
+CFLAGS-vdprintf_chk.c = -D_IO_MTSAFE_IO $(exceptions)
CFLAGS-printf_chk.c = -D_IO_MTSAFE_IO $(exceptions)
CFLAGS-fprintf_chk.c = -D_IO_MTSAFE_IO $(exceptions)
CFLAGS-vprintf_chk.c = -D_IO_MTSAFE_IO $(exceptions)
diff --git a/libc/debug/Versions b/libc/debug/Versions
index e467cc060..ef6b08b7b 100644
--- a/libc/debug/Versions
+++ b/libc/debug/Versions
@@ -42,6 +42,10 @@ libc {
GLIBC_2.7 {
__fread_chk; __fread_unlocked_chk;
}
+ GLIBC_2.8 {
+ __asprintf_chk; __vasprintf_chk; __dprintf_chk; __vdprintf_chk;
+ __obstack_printf_chk; __obstack_vprintf_chk;
+ }
GLIBC_PRIVATE {
__fortify_fail;
}
diff --git a/libc/debug/asprintf_chk.c b/libc/debug/asprintf_chk.c
new file mode 100644
index 000000000..fd943c851
--- /dev/null
+++ b/libc/debug/asprintf_chk.c
@@ -0,0 +1,38 @@
+/* Copyright (C) 1991, 1995, 1997, 1998, 2004, 2006, 2008
+ Free Software Foundation, Inc.
+ This file is part of the GNU C Library.
+
+ The GNU C Library is free software; you can redistribute it and/or
+ modify it under the terms of the GNU Lesser General Public
+ License as published by the Free Software Foundation; either
+ version 2.1 of the License, or (at your option) any later version.
+
+ The GNU C Library is distributed in the hope that it will be useful,
+ but WITHOUT ANY WARRANTY; without even the implied warranty of
+ MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+ Lesser General Public License for more details.
+
+ You should have received a copy of the GNU Lesser General Public
+ License along with the GNU C Library; if not, write to the Free
+ Software Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA
+ 02111-1307 USA. */
+
+#include <libioP.h>
+#include <stdarg.h>
+#include <stdio.h>
+
+
+/* Write formatted output from FORMAT to a string which is
+ allocated with malloc and stored in *STRING_PTR. */
+int
+__asprintf_chk (char **result_ptr, int flags, const char *format, ...)
+{
+ va_list arg;
+ int done;
+
+ va_start (arg, format);
+ done = __vasprintf_chk (result_ptr, flags, format, arg);
+ va_end (arg);
+
+ return done;
+}
diff --git a/libc/debug/dprintf_chk.c b/libc/debug/dprintf_chk.c
new file mode 100644
index 000000000..d9e6705db
--- /dev/null
+++ b/libc/debug/dprintf_chk.c
@@ -0,0 +1,37 @@
+/* Copyright (C) 1991, 1995, 1997, 1998, 2004, 2006, 2008
+ Free Software Foundation, Inc.
+ This file is part of the GNU C Library.
+
+ The GNU C Library is free software; you can redistribute it and/or
+ modify it under the terms of the GNU Lesser General Public
+ License as published by the Free Software Foundation; either
+ version 2.1 of the License, or (at your option) any later version.
+
+ The GNU C Library is distributed in the hope that it will be useful,
+ but WITHOUT ANY WARRANTY; without even the implied warranty of
+ MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+ Lesser General Public License for more details.
+
+ You should have received a copy of the GNU Lesser General Public
+ License along with the GNU C Library; if not, write to the Free
+ Software Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA
+ 02111-1307 USA. */
+
+#include <libioP.h>
+#include <stdarg.h>
+#include <stdio.h>
+
+
+/* Write formatted output to D, according to the format string FORMAT. */
+int
+__dprintf_chk (int d, int flags, const char *format, ...)
+{
+ va_list arg;
+ int done;
+
+ va_start (arg, format);
+ done = __vdprintf_chk (d, flags, format, arg);
+ va_end (arg);
+
+ return done;
+}
diff --git a/libc/debug/obprintf_chk.c b/libc/debug/obprintf_chk.c
new file mode 100644
index 000000000..8e7014f39
--- /dev/null
+++ b/libc/debug/obprintf_chk.c
@@ -0,0 +1,117 @@
+/* Print output of stream to given obstack.
+ Copyright (C) 1996,1997,1999,2000,2001,2002,2003,2004,2005,2006,2008
+ Free Software Foundation, Inc.
+ This file is part of the GNU C Library.
+ Contributed by Ulrich Drepper <drepper@cygnus.com>, 1996.
+
+ The GNU C Library is free software; you can redistribute it and/or
+ modify it under the terms of the GNU Lesser General Public
+ License as published by the Free Software Foundation; either
+ version 2.1 of the License, or (at your option) any later version.
+
+ The GNU C Library is distributed in the hope that it will be useful,
+ but WITHOUT ANY WARRANTY; without even the implied warranty of
+ MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+ Lesser General Public License for more details.
+
+ You should have received a copy of the GNU Lesser General Public
+ License along with the GNU C Library; if not, write to the Free
+ Software Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA
+ 02111-1307 USA. */
+
+
+#include <stdlib.h>
+#include <libioP.h>
+#include "../libio/strfile.h"
+#include <assert.h>
+#include <string.h>
+#include <errno.h>
+#include <obstack.h>
+#include <stdarg.h>
+#include <stdio_ext.h>
+
+
+struct _IO_obstack_file
+{
+ struct _IO_FILE_plus file;
+ struct obstack *obstack;
+};
+
+extern const struct _IO_jump_t _IO_obstack_jumps attribute_hidden;
+
+int
+__obstack_vprintf_chk (struct obstack *obstack, int flags, const char *format,
+ va_list args)
+{
+ struct obstack_FILE
+ {
+ struct _IO_obstack_file ofile;
+ } new_f;
+ int result;
+ int size;
+ int room;
+
+#ifdef _IO_MTSAFE_IO
+ new_f.ofile.file.file._lock = NULL;
+#endif
+
+ _IO_no_init (&new_f.ofile.file.file, _IO_USER_LOCK, -1, NULL, NULL);
+ _IO_JUMPS (&new_f.ofile.file) = &_IO_obstack_jumps;
+ room = obstack_room (obstack);
+ size = obstack_object_size (obstack) + room;
+ if (size == 0)
+ {
+ /* We have to handle the allocation a bit different since the
+ `_IO_str_init_static' function would handle a size of zero
+ different from what we expect. */
+
+ /* Get more memory. */
+ obstack_make_room (obstack, 64);
+
+ /* Recompute how much room we have. */
+ room = obstack_room (obstack);
+ size = room;
+
+ assert (size != 0);
+ }
+
+ _IO_str_init_static_internal ((struct _IO_strfile_ *) &new_f.ofile,
+ obstack_base (obstack),
+ size, obstack_next_free (obstack));
+ /* Now allocate the rest of the current chunk. */
+ assert (size == (new_f.ofile.file.file._IO_write_end
+ - new_f.ofile.file.file._IO_write_base));
+ assert (new_f.ofile.file.file._IO_write_ptr
+ == (new_f.ofile.file.file._IO_write_base
+ + obstack_object_size (obstack)));
+ obstack_blank_fast (obstack, room);
+
+ new_f.ofile.obstack = obstack;
+
+ /* For flags > 0 (i.e. __USE_FORTIFY_LEVEL > 1) request that %n
+ can only come from read-only format strings. */
+ if (flags > 0)
+ new_f.ofile.file.file._flags2 |= _IO_FLAGS2_FORTIFY;
+
+ result = INTUSE(_IO_vfprintf) (&new_f.ofile.file.file, format, args);
+
+ /* Shrink the buffer to the space we really currently need. */
+ obstack_blank_fast (obstack, (new_f.ofile.file.file._IO_write_ptr
+ - new_f.ofile.file.file._IO_write_end));
+
+ return result;
+}
+libc_hidden_def (__obstack_vprintf_chk)
+
+
+int
+__obstack_printf_chk (struct obstack *obstack, int flags, const char *format,
+ ...)
+{
+ int result;
+ va_list ap;
+ va_start (ap, format);
+ result = __obstack_vprintf_chk (obstack, flags, format, ap);
+ va_end (ap);
+ return result;
+}
diff --git a/libc/debug/tst-chk1.c b/libc/debug/tst-chk1.c
index 9c6726d06..86d3c9392 100644
--- a/libc/debug/tst-chk1.c
+++ b/libc/debug/tst-chk1.c
@@ -1,4 +1,4 @@
-/* Copyright (C) 2004, 2005, 2006, 2007 Free Software Foundation, Inc.
+/* Copyright (C) 2004, 2005, 2006, 2007, 2008 Free Software Foundation, Inc.
This file is part of the GNU C Library.
Contributed by Jakub Jelinek <jakub@redhat.com>, 2004.
@@ -20,6 +20,7 @@
#include <assert.h>
#include <fcntl.h>
#include <locale.h>
+#include <obstack.h>
#include <paths.h>
#include <setjmp.h>
#include <signal.h>
@@ -32,6 +33,9 @@
#include <sys/un.h>
#include <gnu/option-groups.h>
+#define obstack_chunk_alloc malloc
+#define obstack_chunk_free free
+
char *temp_filename;
static void do_prepare (void);
static int do_test (void);
@@ -710,6 +714,36 @@ do_test (void)
if (fprintf (fp, buf2 + 4, str5) != 7)
FAIL ();
+ char *my_ptr = NULL;
+ strcpy (buf2 + 2, "%n%s%n");
+ /* When the format string is writable and contains %n,
+ with -D_FORTIFY_SOURCE=2 it causes __chk_fail. */
+ CHK_FAIL2_START
+ if (asprintf (&my_ptr, buf2, str4, &n1, str5, &n1) != 14)
+ FAIL ();
+ else
+ free (my_ptr);
+ CHK_FAIL2_END
+
+ struct obstack obs;
+ obstack_init (&obs);
+ CHK_FAIL2_START
+ if (obstack_printf (&obs, buf2, str4, &n1, str5, &n1) != 14)
+ FAIL ();
+ CHK_FAIL2_END
+ obstack_free (&obs, NULL);
+
+ my_ptr = NULL;
+ if (asprintf (&my_ptr, "%s%n%s%n", str4, &n1, str5, &n1) != 14)
+ FAIL ();
+ else
+ free (my_ptr);
+
+ obstack_init (&obs);
+ if (obstack_printf (&obs, "%s%n%s%n", str4, &n1, str5, &n1) != 14)
+ FAIL ();
+ obstack_free (&obs, NULL);
+
if (freopen (temp_filename, "r", stdin) == NULL)
{
puts ("could not open temporary file");
diff --git a/libc/debug/vasprintf_chk.c b/libc/debug/vasprintf_chk.c
new file mode 100644
index 000000000..6105516d5
--- /dev/null
+++ b/libc/debug/vasprintf_chk.c
@@ -0,0 +1,97 @@
+/* Copyright (C) 1995,1997,1999-2002,2004,2006,2008
+ Free Software Foundation, Inc.
+ This file is part of the GNU C Library.
+
+ The GNU C Library is free software; you can redistribute it and/or
+ modify it under the terms of the GNU Lesser General Public
+ License as published by the Free Software Foundation; either
+ version 2.1 of the License, or (at your option) any later version.
+
+ The GNU C Library is distributed in the hope that it will be useful,
+ but WITHOUT ANY WARRANTY; without even the implied warranty of
+ MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+ Lesser General Public License for more details.
+
+ You should have received a copy of the GNU Lesser General Public
+ License along with the GNU C Library; if not, write to the Free
+ Software Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA
+ 02111-1307 USA.
+
+ As a special exception, if you link the code in this file with
+ files compiled with a GNU compiler to produce an executable,
+ that does not cause the resulting executable to be covered by
+ the GNU Lesser General Public License. This exception does not
+ however invalidate any other reasons why the executable file
+ might be covered by the GNU Lesser General Public License.
+ This exception applies to code released by its copyright holders
+ in files containing the exception. */
+
+#include <malloc.h>
+#include <string.h>
+#include <stdio.h>
+#include <stdio_ext.h>
+#include "../libio/libioP.h"
+#include "../libio/strfile.h"
+
+int
+__vasprintf_chk (char **result_ptr, int flags, const char *format,
+ va_list args)
+{
+ /* Initial size of the buffer to be used. Will be doubled each time an
+ overflow occurs. */
+ const _IO_size_t init_string_size = 100;
+ char *string;
+ _IO_strfile sf;
+ int ret;
+ _IO_size_t needed;
+ _IO_size_t allocated;
+ /* No need to clear the memory here (unlike for open_memstream) since
+ we know we will never seek on the stream. */
+ string = (char *) malloc (init_string_size);
+ if (string == NULL)
+ return -1;
+#ifdef _IO_MTSAFE_IO
+ sf._sbf._f._lock = NULL;
+#endif
+ _IO_no_init ((_IO_FILE *) &sf._sbf, _IO_USER_LOCK, -1, NULL, NULL);
+ _IO_JUMPS ((struct _IO_FILE_plus *) &sf._sbf) = &_IO_str_jumps;
+ _IO_str_init_static_internal (&sf, string, init_string_size, string);
+ sf._sbf._f._flags &= ~_IO_USER_BUF;
+ sf._s._allocate_buffer = (_IO_alloc_type) malloc;
+ sf._s._free_buffer = (_IO_free_type) free;
+
+ /* For flags > 0 (i.e. __USE_FORTIFY_LEVEL > 1) request that %n
+ can only come from read-only format strings. */
+ if (flags > 0)
+ sf._sbf._f._flags2 |= _IO_FLAGS2_FORTIFY;
+
+ ret = INTUSE(_IO_vfprintf) (&sf._sbf._f, format, args);
+ if (ret < 0)
+ {
+ free (sf._sbf._f._IO_buf_base);
+ return ret;
+ }
+ /* Only use realloc if the size we need is of the same (binary)
+ order of magnitude then the memory we allocated. */
+ needed = sf._sbf._f._IO_write_ptr - sf._sbf._f._IO_write_base + 1;
+ allocated = sf._sbf._f._IO_write_end - sf._sbf._f._IO_write_base;
+ if ((allocated >> 1) <= needed)
+ *result_ptr = (char *) realloc (sf._sbf._f._IO_buf_base, needed);
+ else
+ {
+ *result_ptr = (char *) malloc (needed);
+ if (*result_ptr != NULL)
+ {
+ memcpy (*result_ptr, sf._sbf._f._IO_buf_base, needed - 1);
+ free (sf._sbf._f._IO_buf_base);
+ }
+ else
+ /* We have no choice, use the buffer we already have. */
+ *result_ptr = (char *) realloc (sf._sbf._f._IO_buf_base, needed);
+ }
+ if (*result_ptr == NULL)
+ *result_ptr = sf._sbf._f._IO_buf_base;
+ (*result_ptr)[needed - 1] = '\0';
+ return ret;
+}
+libc_hidden_def (__vasprintf_chk)
diff --git a/libc/debug/vdprintf_chk.c b/libc/debug/vdprintf_chk.c
new file mode 100644
index 000000000..8f3d332a4
--- /dev/null
+++ b/libc/debug/vdprintf_chk.c
@@ -0,0 +1,69 @@
+/* Copyright (C) 1995, 1997-2000, 2001, 2002, 2003, 2006, 2008
+ Free Software Foundation, Inc.
+ This file is part of the GNU C Library.
+
+ The GNU C Library is free software; you can redistribute it and/or
+ modify it under the terms of the GNU Lesser General Public
+ License as published by the Free Software Foundation; either
+ version 2.1 of the License, or (at your option) any later version.
+
+ The GNU C Library is distributed in the hope that it will be useful,
+ but WITHOUT ANY WARRANTY; without even the implied warranty of
+ MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+ Lesser General Public License for more details.
+
+ You should have received a copy of the GNU Lesser General Public
+ License along with the GNU C Library; if not, write to the Free
+ Software Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA
+ 02111-1307 USA.
+
+ As a special exception, if you link the code in this file with
+ files compiled with a GNU compiler to produce an executable,
+ that does not cause the resulting executable to be covered by
+ the GNU Lesser General Public License. This exception does not
+ however invalidate any other reasons why the executable file
+ might be covered by the GNU Lesser General Public License.
+ This exception applies to code released by its copyright holders
+ in files containing the exception. */
+
+#include <libioP.h>
+#include <stdio_ext.h>
+
+int
+__vdprintf_chk (int d, int flags, const char *format, va_list arg)
+{
+ struct _IO_FILE_plus tmpfil;
+ struct _IO_wide_data wd;
+ int done;
+
+#ifdef _IO_MTSAFE_IO
+ tmpfil.file._lock = NULL;
+#endif
+ _IO_no_init (&tmpfil.file, _IO_USER_LOCK, 0, &wd, &_IO_wfile_jumps);
+ _IO_JUMPS (&tmpfil) = &_IO_file_jumps;
+ INTUSE(_IO_file_init) (&tmpfil);
+#if !_IO_UNIFIED_JUMPTABLES
+ tmpfil.vtable = NULL;
+#endif
+ if (INTUSE(_IO_file_attach) (&tmpfil.file, d) == NULL)
+ {
+ INTUSE(_IO_un_link) (&tmpfil);
+ return EOF;
+ }
+ tmpfil.file._IO_file_flags =
+ (_IO_mask_flags (&tmpfil.file, _IO_NO_READS,
+ _IO_NO_READS+_IO_NO_WRITES+_IO_IS_APPENDING)
+ | _IO_DELETE_DONT_CLOSE);
+
+ /* For flags > 0 (i.e. __USE_FORTIFY_LEVEL > 1) request that %n
+ can only come from read-only format strings. */
+ if (flags > 0)
+ tmpfil.file._flags2 |= _IO_FLAGS2_FORTIFY;
+
+ done = INTUSE(_IO_vfprintf) (&tmpfil.file, format, arg);
+
+ _IO_FINISH (&tmpfil.file);
+
+ return done;
+}
+libc_hidden_def (__vdprintf_chk)
diff --git a/libc/dlfcn/dlinfo.c b/libc/dlfcn/dlinfo.c
index b3a3e1389..e8585ea98 100644
--- a/libc/dlfcn/dlinfo.c
+++ b/libc/dlfcn/dlinfo.c
@@ -1,5 +1,5 @@
/* dlinfo -- Get information from the dynamic linker.
- Copyright (C) 2003, 2004, 2006, 2007 Free Software Foundation, Inc.
+ Copyright (C) 2003, 2004, 2006, 2007, 2008 Free Software Foundation, Inc.
This file is part of the GNU C Library.
The GNU C Library is free software; you can redistribute it and/or
@@ -101,7 +101,7 @@ RTLD_SELF used in code not dynamically loaded"));
{
void *data = NULL;
if (l->l_tls_modid != 0)
- data = _dl_tls_get_addr_soft (l);
+ data = GLRO(dl_tls_get_addr_soft) (l);
*(void **) args->arg = data;
break;
}
diff --git a/libc/elf/Makefile b/libc/elf/Makefile
index a654e9018..774640f9a 100644
--- a/libc/elf/Makefile
+++ b/libc/elf/Makefile
@@ -1,4 +1,4 @@
-# Copyright (C) 1995-2004, 2005, 2006, 2007 Free Software Foundation, Inc.
+# Copyright (C) 1995-2007, 2008 Free Software Foundation, Inc.
# This file is part of the GNU C Library.
# The GNU C Library is free software; you can redistribute it and/or
@@ -23,7 +23,7 @@ subdir := elf
headers = elf.h bits/elfclass.h link.h bits/link.h
routines = $(dl-routines) dl-support dl-iteratephdr \
dl-addr enbl-secure dl-profstub \
- dl-origin dl-libc dl-sym dl-tsd
+ dl-origin dl-libc dl-sym dl-tsd dl-sysdep
# The core dynamic linking functions are in libc for the static and
# profiled libraries.
@@ -33,7 +33,8 @@ dl-routines = $(addprefix dl-,load cache lookup object reloc deps \
execstack caller open close trampoline)
all-dl-routines = $(dl-routines) $(sysdep-dl-routines)
# But they are absent from the shared libc, because that code is in ld.so.
-elide-routines.os = $(all-dl-routines) dl-support enbl-secure dl-origin
+elide-routines.os = $(all-dl-routines) dl-support enbl-secure dl-origin \
+ dl-sysdep
shared-only-routines += dl-caller
# ld.so uses those routines, plus some special stuff for being the program
diff --git a/libc/elf/Versions b/libc/elf/Versions
index 967ebdb3a..87e27c5a7 100644
--- a/libc/elf/Versions
+++ b/libc/elf/Versions
@@ -57,7 +57,6 @@ ld {
_dl_allocate_tls; _dl_deallocate_tls;
_dl_get_tls_static_info; _dl_allocate_tls_init;
_dl_tls_setup; _dl_rtld_di_serinfo;
- _dl_tls_get_addr_soft;
_dl_make_stack_executable;
# Only here for gdb while a better method is developed.
_dl_debug_state;
diff --git a/libc/elf/dl-iteratephdr.c b/libc/elf/dl-iteratephdr.c
index 55cf10852..c49671583 100644
--- a/libc/elf/dl-iteratephdr.c
+++ b/libc/elf/dl-iteratephdr.c
@@ -1,5 +1,5 @@
/* Get loaded objects program headers.
- Copyright (C) 2001,2002,2003,2004,2006,2007 Free Software Foundation, Inc.
+ Copyright (C) 2001-2004,2006,2007,2008 Free Software Foundation, Inc.
This file is part of the GNU C Library.
Contributed by Jakub Jelinek <jakub@redhat.com>, 2001.
@@ -72,7 +72,7 @@ __dl_iterate_phdr (int (*callback) (struct dl_phdr_info *info,
info.dlpi_tls_data = NULL;
info.dlpi_tls_modid = l->l_tls_modid;
if (info.dlpi_tls_modid != 0)
- info.dlpi_tls_data = _dl_tls_get_addr_soft (l);
+ info.dlpi_tls_data = GLRO(dl_tls_get_addr_soft) (l);
ret = callback (&info, sizeof (struct dl_phdr_info), data);
if (ret)
break;
diff --git a/libc/elf/dl-sysdep.c b/libc/elf/dl-sysdep.c
index 85e331a90..dd55905e1 100644
--- a/libc/elf/dl-sysdep.c
+++ b/libc/elf/dl-sysdep.c
@@ -1,5 +1,5 @@
/* Operating system support for run-time dynamic linker. Generic Unix version.
- Copyright (C) 1995-1998, 2000-2006, 2007 Free Software Foundation, Inc.
+ Copyright (C) 1995-1998, 2000-2007, 2008 Free Software Foundation, Inc.
This file is part of the GNU C Library.
The GNU C Library is free software; you can redistribute it and/or
@@ -398,6 +398,7 @@ _dl_important_hwcaps (const char *platform, size_t platform_len, size_t *sz,
}
note = ((const void *) (note + 1)
+ ROUND (note->vendorlen) + ROUND (note->datalen));
+#undef ROUND
}
if (dsocaps != NULL)
break;
diff --git a/libc/elf/dl-tls.c b/libc/elf/dl-tls.c
index 305948104..76a3f25c0 100644
--- a/libc/elf/dl-tls.c
+++ b/libc/elf/dl-tls.c
@@ -1,5 +1,5 @@
/* Thread-local storage handling in the ELF dynamic linker. Generic version.
- Copyright (C) 2002,2003,2004,2005,2006 Free Software Foundation, Inc.
+ Copyright (C) 2002,2003,2004,2005,2006,2008 Free Software Foundation, Inc.
This file is part of the GNU C Library.
The GNU C Library is free software; you can redistribute it and/or
@@ -758,7 +758,6 @@ __tls_get_addr (GET_ADDR_ARGS)
/* Look up the module's TLS block as for __tls_get_addr,
but never touch anything. Return null if it's not allocated yet. */
void *
-internal_function
_dl_tls_get_addr_soft (struct link_map *l)
{
if (__builtin_expect (l->l_tls_modid == 0, 0))
diff --git a/libc/elf/ldconfig.c b/libc/elf/ldconfig.c
index 75ff79a9c..e4dfdf503 100644
--- a/libc/elf/ldconfig.c
+++ b/libc/elf/ldconfig.c
@@ -1184,8 +1184,7 @@ parse_conf_include (const char *config_file, unsigned int lineno,
break;
}
- if (copy)
- free (copy);
+ free (copy);
}
/* Honour LD_HWCAP_MASK. */
diff --git a/libc/elf/rtld.c b/libc/elf/rtld.c
index 98817d9fa..46bece7fa 100644
--- a/libc/elf/rtld.c
+++ b/libc/elf/rtld.c
@@ -1,5 +1,5 @@
/* Run time dynamic linker.
- Copyright (C) 1995-2006, 2007 Free Software Foundation, Inc.
+ Copyright (C) 1995-2006, 2007, 2008 Free Software Foundation, Inc.
This file is part of the GNU C Library.
The GNU C Library is free software; you can redistribute it and/or
@@ -161,7 +161,11 @@ struct rtld_global_ro _rtld_global_ro attribute_relro =
._dl_lookup_symbol_x = _dl_lookup_symbol_x,
._dl_check_caller = _dl_check_caller,
._dl_open = _dl_open,
- ._dl_close = _dl_close
+ ._dl_close = _dl_close,
+ ._dl_tls_get_addr_soft = _dl_tls_get_addr_soft,
+#ifdef HAVE_DL_DISCOVER_OSVERSION
+ ._dl_discover_osversion = _dl_discover_osversion
+#endif
};
/* If we would use strong_alias here the compiler would see a
non-hidden definition. This would undo the effect of the previous
diff --git a/libc/gmon/gmon.c b/libc/gmon/gmon.c
index 1e94aaba5..8e2eddd0b 100644
--- a/libc/gmon/gmon.c
+++ b/libc/gmon/gmon.c
@@ -396,6 +396,5 @@ _mcleanup (void)
write_gmon ();
/* free the memory. */
- if (_gmonparam.tos != NULL)
- free (_gmonparam.tos);
+ free (_gmonparam.tos);
}
diff --git a/libc/hurd/hurdsig.c b/libc/hurd/hurdsig.c
index e12d19da1..27050c99d 100644
--- a/libc/hurd/hurdsig.c
+++ b/libc/hurd/hurdsig.c
@@ -1,4 +1,4 @@
-/* Copyright (C) 1991,92,1993,1994,1995,1996,1997,1998,1999,2000,2001,2002,2005
+/* Copyright (C) 1991,92,93,94,95,96,97,98,99,2000,2001,2002,2005,2008
Free Software Foundation, Inc.
This file is part of the GNU C Library.
@@ -743,6 +743,11 @@ _hurd_internal_post_signal (struct hurd_sigstate *ss,
break;
case ignore:
+ if (detail->exc)
+ /* Blocking or ignoring a machine exception is fatal.
+ Otherwise we could just spin on the faulting instruction. */
+ goto fatal;
+
/* Nobody cares about this signal. If there was a call to resume
above in SIGCONT processing and we've left a thread suspended,
now's the time to set it going. */
@@ -759,6 +764,8 @@ _hurd_internal_post_signal (struct hurd_sigstate *ss,
Nothing to do but die; BSD gets SIGILL in this case. */
detail->code = signo; /* XXX ? */
signo = SIGILL;
+
+ fatal:
act = core;
/* FALLTHROUGH */
diff --git a/libc/iconv/gconv_conf.c b/libc/iconv/gconv_conf.c
index 22ffa4f41..2023beb26 100644
--- a/libc/iconv/gconv_conf.c
+++ b/libc/iconv/gconv_conf.c
@@ -529,8 +529,7 @@ __gconv_get_path (void)
__gconv_path_elem = result ?: (struct path_elem *) &empty_path_elem;
- if (cwd != NULL)
- free (cwd);
+ free (cwd);
}
__libc_lock_unlock (lock);
diff --git a/libc/iconv/iconv_charmap.c b/libc/iconv/iconv_charmap.c
index f679c64eb..d12811191 100644
--- a/libc/iconv/iconv_charmap.c
+++ b/libc/iconv/iconv_charmap.c
@@ -1,5 +1,5 @@
/* Convert using charmaps and possibly iconv().
- Copyright (C) 2001, 2005, 2006 Free Software Foundation, Inc.
+ Copyright (C) 2001, 2005, 2006, 2008 Free Software Foundation, Inc.
This file is part of the GNU C Library.
Contributed by Ulrich Drepper <drepper@redhat.com>, 2001.
@@ -94,7 +94,8 @@ static int process_file (struct convtable *tbl, FILE *input, FILE *output);
int
charmap_conversion (const char *from_code, struct charmap_t *from_charmap,
const char *to_code, struct charmap_t *to_charmap,
- int argc, int remaining, char *argv[], FILE *output)
+ int argc, int remaining, char *argv[],
+ const char *output_file)
{
struct convtable *cvtbl;
int status = EXIT_SUCCESS;
@@ -132,6 +133,17 @@ charmap_conversion (const char *from_code, struct charmap_t *from_charmap,
if (cvtbl == NULL)
return EXIT_FAILURE;
+ /* Determine output file. */
+ FILE *output;
+ if (output_file != NULL && strcmp (output_file, "-") != 0)
+ {
+ output = fopen (output_file, "w");
+ if (output == NULL)
+ error (EXIT_FAILURE, errno, _("cannot open output file"));
+ }
+ else
+ output = stdout;
+
/* We can now start the conversion. */
if (remaining == argc)
{
diff --git a/libc/iconv/iconv_prog.c b/libc/iconv/iconv_prog.c
index 464a7e120..e64b4b3b4 100644
--- a/libc/iconv/iconv_prog.c
+++ b/libc/iconv/iconv_prog.c
@@ -109,9 +109,12 @@ static int list;
int omit_invalid;
/* Prototypes for the functions doing the actual work. */
-static int process_block (iconv_t cd, char *addr, size_t len, FILE *output);
-static int process_fd (iconv_t cd, int fd, FILE *output);
-static int process_file (iconv_t cd, FILE *input, FILE *output);
+static int process_block (iconv_t cd, char *addr, size_t len, FILE **output,
+ const char *output_file);
+static int process_fd (iconv_t cd, int fd, FILE **output,
+ const char *output_file);
+static int process_file (iconv_t cd, FILE *input, FILE **output,
+ const char *output_file);
static void print_known_names (void) internal_function;
@@ -120,7 +123,6 @@ main (int argc, char *argv[])
{
int status = EXIT_SUCCESS;
int remaining;
- FILE *output;
iconv_t cd;
const char *orig_to_code;
struct charmap_t *from_charmap = NULL;
@@ -193,16 +195,6 @@ main (int argc, char *argv[])
to_charmap = charmap_read (orig_to_code, /*0, 1,*/1, 0, 0, 0);
- /* Determine output file. */
- if (output_file != NULL && strcmp (output_file, "-") != 0)
- {
- output = fopen (output_file, "w");
- if (output == NULL)
- error (EXIT_FAILURE, errno, _("cannot open output file"));
- }
- else
- output = stdout;
-
/* At this point we have to handle two cases. The first one is
where a charmap is used for the from- or to-charset, or both. We
handle this special since it is very different from the sane way of
@@ -211,7 +203,7 @@ main (int argc, char *argv[])
if (from_charmap != NULL || to_charmap != NULL)
/* Construct the conversion table and do the conversion. */
status = charmap_conversion (from_code, from_charmap, to_code, to_charmap,
- argc, remaining, argv, output);
+ argc, remaining, argv, output_file);
else
{
/* Let's see whether we have these coded character sets. */
@@ -276,12 +268,16 @@ conversions from `%s' and to `%s' are not supported"),
_("failed to start conversion processing"));
}
+ /* The output file. Will be opened when we are ready to produce
+ output. */
+ FILE *output = NULL;
+
/* Now process the remaining files. Write them to stdout or the file
specified with the `-o' parameter. If we have no file given as
the parameter process all from stdin. */
if (remaining == argc)
{
- if (process_file (cd, stdin, output) != 0)
+ if (process_file (cd, stdin, &output, output_file) != 0)
status = EXIT_FAILURE;
}
else
@@ -324,7 +320,8 @@ conversions from `%s' and to `%s' are not supported"),
_("error while closing input `%s'"),
argv[remaining]);
- ret = process_block (cd, addr, st.st_size, output);
+ ret = process_block (cd, addr, st.st_size, &output,
+ output_file);
/* We don't need the input data anymore. */
munmap ((void *) addr, st.st_size);
@@ -344,7 +341,7 @@ conversions from `%s' and to `%s' are not supported"),
#endif /* _POSIX_MAPPED_FILES */
{
/* Read the file in pieces. */
- ret = process_fd (cd, fd, output);
+ ret = process_fd (cd, fd, &output, output_file);
/* Now close the file. */
close (fd);
@@ -363,11 +360,11 @@ conversions from `%s' and to `%s' are not supported"),
}
}
while (++remaining < argc);
- }
- /* Close the output file now. */
- if (fclose (output))
- error (EXIT_FAILURE, errno, _("error while closing output file"));
+ /* Close the output file now. */
+ if (output != NULL && fclose (output))
+ error (EXIT_FAILURE, errno, _("error while closing output file"));
+ }
return status;
}
@@ -441,7 +438,43 @@ warranty; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.\n\
static int
-process_block (iconv_t cd, char *addr, size_t len, FILE *output)
+write_output (const char *outbuf, const char *outptr, FILE **output,
+ const char *output_file)
+{
+ /* We have something to write out. */
+ int errno_save = errno;
+
+ if (*output == NULL)
+ {
+ /* Determine output file. */
+ if (output_file != NULL && strcmp (output_file, "-") != 0)
+ {
+ *output = fopen (output_file, "w");
+ if (output == NULL)
+ error (EXIT_FAILURE, errno, _("cannot open output file"));
+ }
+ else
+ *output = stdout;
+ }
+
+ if (fwrite (outbuf, 1, outptr - outbuf, *output) < (size_t) (outptr - outbuf)
+ || ferror (*output))
+ {
+ /* Error occurred while printing the result. */
+ error (0, 0, _("\
+conversion stopped due to problem in writing the output"));
+ return -1;
+ }
+
+ errno = errno_save;
+
+ return 0;
+}
+
+
+static int
+process_block (iconv_t cd, char *addr, size_t len, FILE **output,
+ const char *output_file)
{
#define OUTBUF_SIZE 32768
const char *start = addr;
@@ -468,20 +501,9 @@ process_block (iconv_t cd, char *addr, size_t len, FILE *output)
if (outptr != outbuf)
{
- /* We have something to write out. */
- int errno_save = errno;
-
- if (fwrite (outbuf, 1, outptr - outbuf, output)
- < (size_t) (outptr - outbuf)
- || ferror (output))
- {
- /* Error occurred while printing the result. */
- error (0, 0, _("\
-conversion stopped due to problem in writing the output"));
- return -1;
- }
-
- errno = errno_save;
+ ret = write_output (outbuf, outptr, output, output_file);
+ if (ret != 0)
+ break;
}
if (n != (size_t) -1)
@@ -494,20 +516,9 @@ conversion stopped due to problem in writing the output"));
if (outptr != outbuf)
{
- /* We have something to write out. */
- int errno_save = errno;
-
- if (fwrite (outbuf, 1, outptr - outbuf, output)
- < (size_t) (outptr - outbuf)
- || ferror (output))
- {
- /* Error occurred while printing the result. */
- error (0, 0, _("\
-conversion stopped due to problem in writing the output"));
- return -1;
- }
-
- errno = errno_save;
+ ret = write_output (outbuf, outptr, output, output_file);
+ if (ret != 0)
+ break;
}
if (n != (size_t) -1)
@@ -551,7 +562,7 @@ incomplete character or shift sequence at end of buffer"));
static int
-process_fd (iconv_t cd, int fd, FILE *output)
+process_fd (iconv_t cd, int fd, FILE **output, const char *output_file)
{
/* we have a problem with reading from a desriptor since we must not
provide the iconv() function an incomplete character or shift
@@ -625,16 +636,16 @@ process_fd (iconv_t cd, int fd, FILE *output)
}
/* Now we have all the input in the buffer. Process it in one run. */
- return process_block (cd, inbuf, actlen, output);
+ return process_block (cd, inbuf, actlen, output, output_file);
}
static int
-process_file (iconv_t cd, FILE *input, FILE *output)
+process_file (iconv_t cd, FILE *input, FILE **output, const char *output_file)
{
/* This should be safe since we use this function only for `stdin' and
we haven't read anything so far. */
- return process_fd (cd, fileno (input), output);
+ return process_fd (cd, fileno (input), output, output_file);
}
diff --git a/libc/iconv/iconv_prog.h b/libc/iconv/iconv_prog.h
index 17d67dddc..b05de32df 100644
--- a/libc/iconv/iconv_prog.h
+++ b/libc/iconv/iconv_prog.h
@@ -1,4 +1,4 @@
-/* Copyright (C) 2001 Free Software Foundation, Inc.
+/* Copyright (C) 2001, 2008 Free Software Foundation, Inc.
This file is part of the GNU C Library.
Contributed by Ulrich Drepper <drepper@redhat.com>, 2001.
@@ -36,7 +36,7 @@ extern int charmap_conversion (const char *from_code,
const char *to_code,
struct charmap_t *to_charmap,
int argc, int remaining, char *argv[],
- FILE *output);
+ const char *output_file);
#endif /* iconv_prog.h */
diff --git a/libc/include/stdio.h b/libc/include/stdio.h
index 3c1103749..54f250726 100644
--- a/libc/include/stdio.h
+++ b/libc/include/stdio.h
@@ -41,6 +41,14 @@ extern int __vprintf_chk (int, const char *, _G_va_list);
extern int __vfprintf_chk (FILE *, int, const char *, _G_va_list);
extern char *__fgets_unlocked_chk (char *buf, size_t size, int n, FILE *fp);
extern char *__fgets_chk (char *buf, size_t size, int n, FILE *fp);
+extern int __asprintf_chk (char **, int, const char *, ...) __THROW;
+extern int __vasprintf_chk (char **, int, const char *, _G_va_list) __THROW;
+extern int __dprintf_chk (int, int, const char *, ...);
+extern int __vdprintf_chk (int, int, const char *, _G_va_list);
+extern int __obstack_printf_chk (struct obstack *, int, const char *, ...)
+ __THROW;
+extern int __obstack_vprintf_chk (struct obstack *, int, const char *,
+ _G_va_list) __THROW;
#endif
extern int __isoc99_fscanf (FILE *__restrict __stream,
@@ -149,6 +157,9 @@ libc_hidden_proto (__libc_fatal)
libc_hidden_proto (__vsprintf_chk)
libc_hidden_proto (__vsnprintf_chk)
libc_hidden_proto (__vfprintf_chk)
+libc_hidden_proto (__vasprintf_chk)
+libc_hidden_proto (__vdprintf_chk)
+libc_hidden_proto (__obstack_vprintf_chk)
# if !defined NOT_IN_libc && defined SHARED && defined DO_VERSIONING \
&& !defined NO_HIDDEN
diff --git a/libc/inet/inet6_opt.c b/libc/inet/inet6_opt.c
index 17d3fee21..ccf7af5f6 100644
--- a/libc/inet/inet6_opt.c
+++ b/libc/inet/inet6_opt.c
@@ -1,4 +1,4 @@
-/* Copyright (C) 2006, 2007 Free Software Foundation, Inc.
+/* Copyright (C) 2006, 2007, 2008 Free Software Foundation, Inc.
This file is part of the GNU C Library.
Contributed by Ulrich Drepper <drepper@redhat.com>, 2006.
@@ -34,12 +34,16 @@ inet6_opt_init (void *extbuf, socklen_t extlen)
{
if (extbuf != NULL)
{
- if (extlen <= 0 || (extlen % 8) != 0)
+ if (extlen <= 0 || (extlen % 8) != 0 || extlen > 256 * 8)
return -1;
/* Fill in the length in units of 8 octets. */
struct ip6_hbh *extp = (struct ip6_hbh *) extbuf;
- extp->ip6h_len = extlen / 8;
+
+ /* RFC 2460 requires that the header extension length is the
+ length of the option header in 8-byte units, not including
+ the first 8 bytes. Hence we have to subtract one. */
+ extp->ip6h_len = extlen / 8 - 1;
}
return sizeof (struct ip6_hbh);
diff --git a/libc/inet/rcmd.c b/libc/inet/rcmd.c
index 341304acd..5dcbd2556 100644
--- a/libc/inet/rcmd.c
+++ b/libc/inet/rcmd.c
@@ -826,8 +826,7 @@ __validuser2_sa(hostf, ra, ralen, luser, ruser, rhost)
}
}
- if (buf != NULL)
- free (buf);
+ free (buf);
return retval;
}
diff --git a/libc/intl/bindtextdom.c b/libc/intl/bindtextdom.c
index fd527a180..7a956d447 100644
--- a/libc/intl/bindtextdom.c
+++ b/libc/intl/bindtextdom.c
@@ -203,8 +203,7 @@ set_binding_values (domainname, dirnamep, codesetp)
if (__builtin_expect (result != NULL, 1))
{
- if (binding->codeset != NULL)
- free (binding->codeset);
+ free (binding->codeset);
binding->codeset = result;
modified = 1;
diff --git a/libc/intl/loadmsgcat.c b/libc/intl/loadmsgcat.c
index 537fd6013..3cba7b149 100644
--- a/libc/intl/loadmsgcat.c
+++ b/libc/intl/loadmsgcat.c
@@ -1236,8 +1236,7 @@ _nl_load_domain (domain_file, domainbinding)
/* This is an invalid revision. */
invalid:
/* This is an invalid .mo file. */
- if (domain->malloced)
- free (domain->malloced);
+ free (domain->malloced);
#ifdef HAVE_MMAP
if (use_mmap)
munmap ((caddr_t) data, size);
@@ -1289,12 +1288,10 @@ _nl_unload_domain (domain)
if (convd->conv != (__gconv_t) -1)
__gconv_close (convd->conv);
}
- if (domain->conversions != NULL)
- free (domain->conversions);
+ free (domain->conversions);
__libc_rwlock_fini (domain->conversions_lock);
- if (domain->malloced)
- free (domain->malloced);
+ free (domain->malloced);
# ifdef _POSIX_MAPPED_FILES
if (domain->use_mmap)
diff --git a/libc/io/tst-fchownat.c b/libc/io/tst-fchownat.c
index fd32ac9e6..da8fd3b02 100644
--- a/libc/io/tst-fchownat.c
+++ b/libc/io/tst-fchownat.c
@@ -19,14 +19,17 @@ static int dir_fd;
static void
prepare (void)
{
-#if _POSIX_CHOWN_RESTRICTED > 0
- uid_t uid = getuid ();
- if (uid != 0)
+#if _POSIX_CHOWN_RESTRICTED == 0
+ if (pathconf (test_dir, _PC_CHOWN_RESTRICTED) != 0)
+#endif
{
- puts ("need root privileges");
- exit (0);
+ uid_t uid = getuid ();
+ if (uid != 0)
+ {
+ puts ("need root privileges");
+ exit (0);
+ }
}
-#endif
size_t test_dir_len = strlen (test_dir);
static const char dir_name[] = "/tst-fchownat.XXXXXX";
diff --git a/libc/libidn/ChangeLog b/libc/libidn/ChangeLog
index 67d5de1e9..15efe0e88 100644
--- a/libc/libidn/ChangeLog
+++ b/libc/libidn/ChangeLog
@@ -1,3 +1,8 @@
+2008-02-10 Jim Meyering <meyering@redhat.com>
+
+ * stringprep.c (stringprep, stringprep_profile): Remove useless
+ "if" before "free".
+
2006-02-27 Roland McGrath <roland@redhat.com>
* Makefile: Use $(..) in place of ../.
diff --git a/libc/libidn/stringprep.c b/libc/libidn/stringprep.c
index 6041e3937..f5c9fae07 100644
--- a/libc/libidn/stringprep.c
+++ b/libc/libidn/stringprep.c
@@ -366,8 +366,7 @@ stringprep (char *in,
do
{
- if (ucs4)
- free (ucs4);
+ free (ucs4);
ucs4 = stringprep_utf8_to_ucs4 (in, -1, &ucs4len);
maxucs4len = ucs4len + adducs4len;
uint32_t *newp = realloc (ucs4, maxucs4len * sizeof (uint32_t));
@@ -449,8 +448,7 @@ stringprep_profile (const char *in,
do
{
- if (str)
- free (str);
+ free (str);
str = (char *) malloc (len);
if (str == NULL)
return STRINGPREP_MALLOC_ERROR;
diff --git a/libc/libio/bits/stdio-ldbl.h b/libc/libio/bits/stdio-ldbl.h
index c93e6c48f..ce0f1135d 100644
--- a/libc/libio/bits/stdio-ldbl.h
+++ b/libc/libio/bits/stdio-ldbl.h
@@ -1,5 +1,5 @@
/* -mlong-double-64 compatibility mode for stdio functions.
- Copyright (C) 2006, 2007 Free Software Foundation, Inc.
+ Copyright (C) 2006, 2007, 2008 Free Software Foundation, Inc.
This file is part of the GNU C Library.
The GNU C Library is free software; you can redistribute it and/or
@@ -85,5 +85,13 @@ __LDBL_REDIR_DECL (__fprintf_chk)
__LDBL_REDIR_DECL (__printf_chk)
__LDBL_REDIR_DECL (__vfprintf_chk)
__LDBL_REDIR_DECL (__vprintf_chk)
+# ifdef __USE_GNU
+__LDBL_REDIR_DECL (__asprintf_chk)
+__LDBL_REDIR_DECL (__vasprintf_chk)
+__LDBL_REDIR_DECL (__dprintf_chk)
+__LDBL_REDIR_DECL (__vdprintf_chk)
+__LDBL_REDIR_DECL (__obstack_printf_chk)
+__LDBL_REDIR_DECL (__obstack_vprintf_chk)
+# endif
# endif
#endif
diff --git a/libc/libio/bits/stdio2.h b/libc/libio/bits/stdio2.h
index 888954068..8c25aaae5 100644
--- a/libc/libio/bits/stdio2.h
+++ b/libc/libio/bits/stdio2.h
@@ -1,5 +1,5 @@
/* Checking macros for stdio functions.
- Copyright (C) 2004, 2005, 2007 Free Software Foundation, Inc.
+ Copyright (C) 2004, 2005, 2007, 2008 Free Software Foundation, Inc.
This file is part of the GNU C Library.
The GNU C Library is free software; you can redistribute it and/or
@@ -128,6 +128,93 @@ vfprintf (FILE *__restrict __stream,
return __vfprintf_chk (__stream, __USE_FORTIFY_LEVEL - 1, __fmt, __ap);
}
+# ifdef __USE_GNU
+
+extern int __asprintf_chk (char **__restrict __ptr, int __flag,
+ __const char *__restrict __fmt, ...)
+ __THROW __attribute__ ((__format__ (__printf__, 3, 4))) __wur;
+extern int __vasprintf_chk (char **__restrict __ptr, int __flag,
+ __const char *__restrict __fmt, _G_va_list __arg)
+ __THROW __attribute__ ((__format__ (__printf__, 3, 0))) __wur;
+extern int __dprintf_chk (int __fd, int __flag, __const char *__restrict __fmt,
+ ...) __attribute__ ((__format__ (__printf__, 3, 4)));
+extern int __vdprintf_chk (int __fd, int __flag,
+ __const char *__restrict __fmt, _G_va_list __arg)
+ __attribute__ ((__format__ (__printf__, 3, 0)));
+extern int __obstack_printf_chk (struct obstack *__restrict __obstack,
+ int __flag, __const char *__restrict __format,
+ ...)
+ __THROW __attribute__ ((__format__ (__printf__, 3, 4)));
+extern int __obstack_vprintf_chk (struct obstack *__restrict __obstack,
+ int __flag,
+ __const char *__restrict __format,
+ _G_va_list __args)
+ __THROW __attribute__ ((__format__ (__printf__, 3, 0)));
+
+# ifdef __va_arg_pack
+__extern_always_inline int
+__NTH (asprintf (char **__restrict __ptr, __const char *__restrict __fmt, ...))
+{
+ return __asprintf_chk (__ptr, __USE_FORTIFY_LEVEL - 1, __fmt,
+ __va_arg_pack ());
+}
+
+__extern_always_inline int
+__NTH (__asprintf (char **__restrict __ptr, __const char *__restrict __fmt,
+ ...))
+{
+ return __asprintf_chk (__ptr, __USE_FORTIFY_LEVEL - 1, __fmt,
+ __va_arg_pack ());
+}
+
+__extern_always_inline int
+dprintf (int __fd, __const char *__restrict __fmt, ...)
+{
+ return __dprintf_chk (__fd, __USE_FORTIFY_LEVEL - 1, __fmt,
+ __va_arg_pack ());
+}
+
+__extern_always_inline int
+__NTH (obstack_printf (struct obstack *__restrict __obstack,
+ __const char *__restrict __fmt, ...))
+{
+ return __obstack_printf_chk (__obstack, __USE_FORTIFY_LEVEL - 1, __fmt,
+ __va_arg_pack ());
+}
+# elif !defined __cplusplus
+# define asprintf(ptr, ...) \
+ __asprintf_chk (ptr, __USE_FORTIFY_LEVEL - 1, __VA_ARGS__)
+# define __asprintf(ptr, ...) \
+ __asprintf_chk (ptr, __USE_FORTIFY_LEVEL - 1, __VA_ARGS__)
+# define dprintf(fd, ...) \
+ __dprintf_chk (fd, __USE_FORTIFY_LEVEL - 1, __VA_ARGS__)
+# define obstack_printf(obstack, ...) \
+ __obstack_printf_chk (obstack, __USE_FORTIFY_LEVEL - 1, __VA_ARGS__)
+# endif
+
+__extern_always_inline int
+__NTH (vasprintf (char **__restrict __ptr, __const char *__restrict __fmt,
+ _G_va_list __ap))
+{
+ return __vasprintf_chk (__ptr, __USE_FORTIFY_LEVEL - 1, __fmt, __ap);
+}
+
+__extern_always_inline int
+vdprintf (int __fd, __const char *__restrict __fmt, _G_va_list __ap)
+{
+ return __vdprintf_chk (__fd, __USE_FORTIFY_LEVEL - 1, __fmt, __ap);
+}
+
+__extern_always_inline int
+__NTH (obstack_vprintf (struct obstack *__restrict __obstack,
+ __const char *__restrict __fmt, _G_va_list __ap))
+{
+ return __obstack_vprintf_chk (__obstack, __USE_FORTIFY_LEVEL - 1, __fmt,
+ __ap);
+}
+
+# endif
+
#endif
extern char *__gets_chk (char *__str, size_t) __wur;
diff --git a/libc/libio/genops.c b/libc/libio/genops.c
index 7005fdbd9..481fbc52b 100644
--- a/libc/libio/genops.c
+++ b/libc/libio/genops.c
@@ -300,8 +300,7 @@ save_for_backup (fp, end_p)
memcpy (new_buffer + avail,
fp->_IO_read_base + least_mark,
needed_size);
- if (fp->_IO_save_base)
- free (fp->_IO_save_base);
+ free (fp->_IO_save_base);
fp->_IO_save_base = new_buffer;
fp->_IO_save_end = new_buffer + avail + needed_size;
}
diff --git a/libc/libio/obprintf.c b/libc/libio/obprintf.c
index 0a50c8e0f..c715c2d4a 100644
--- a/libc/libio/obprintf.c
+++ b/libc/libio/obprintf.c
@@ -1,5 +1,5 @@
/* Print output of stream to given obstack.
- Copyright (C) 1996,1997,1999,2000,2001,2002,2003,2004,2005,2006
+ Copyright (C) 1996,1997,1999,2000,2001,2002,2003,2004,2005,2006,2008
Free Software Foundation, Inc.
This file is part of the GNU C Library.
Contributed by Ulrich Drepper <drepper@cygnus.com>, 1996.
@@ -95,7 +95,7 @@ _IO_obstack_xsputn (_IO_FILE *fp, const void *data, _IO_size_t n)
/* the jump table. */
-static const struct _IO_jump_t _IO_obstack_jumps =
+const struct _IO_jump_t _IO_obstack_jumps attribute_hidden =
{
JUMP_INIT_DUMMY,
JUMP_INIT(finish, NULL),
diff --git a/libc/libio/wgenops.c b/libc/libio/wgenops.c
index 760a413dc..e2adedd6d 100644
--- a/libc/libio/wgenops.c
+++ b/libc/libio/wgenops.c
@@ -553,8 +553,7 @@ save_for_wbackup (fp, end_p)
needed_size * sizeof (wchar_t));
#endif
}
- if (fp->_wide_data->_IO_save_base)
- free (fp->_wide_data->_IO_save_base);
+ free (fp->_wide_data->_IO_save_base);
fp->_wide_data->_IO_save_base = new_buffer;
fp->_wide_data->_IO_save_end = new_buffer + avail + needed_size;
}
diff --git a/libc/locale/iso-639.def b/libc/locale/iso-639.def
index 80b61a35f..68a4c5ed3 100644
--- a/libc/locale/iso-639.def
+++ b/libc/locale/iso-639.def
@@ -391,6 +391,7 @@ DEFINE_LANGUAGE_CODE ("Serbian", sr, srp, scc)
DEFINE_LANGUAGE_CODE3 ("Serer", srr, srr)
DEFINE_LANGUAGE_CODE3 ("Shan", shn, shn)
DEFINE_LANGUAGE_CODE ("Shona", sn, sna, sna)
+DEFINE_LANGUAGE_CODE3 ("Shuswap", shs, shs)
DEFINE_LANGUAGE_CODE ("Sichuan Yi", ii, iii, iii)
DEFINE_LANGUAGE_CODE3 ("Sicilian", scn, scn)
DEFINE_LANGUAGE_CODE3 ("Sidamo", sid, sid)
diff --git a/libc/locale/programs/ld-collate.c b/libc/locale/programs/ld-collate.c
index 5736694ab..05e22d567 100644
--- a/libc/locale/programs/ld-collate.c
+++ b/libc/locale/programs/ld-collate.c
@@ -2819,10 +2819,8 @@ collate_read (struct linereader *ldfile, struct localedef_t *result,
col_elem_free:
if (symbol != NULL)
free ((char *) symbol);
- if (arg->val.str.startmb != NULL)
- free (arg->val.str.startmb);
- if (arg->val.str.startwc != NULL)
- free (arg->val.str.startwc);
+ free (arg->val.str.startmb);
+ free (arg->val.str.startwc);
}
lr_ignore_rest (ldfile, 1);
}
@@ -2968,10 +2966,8 @@ collate_read (struct linereader *ldfile, struct localedef_t *result,
else
{
col_sym_free:
- if (symbol != NULL)
- free (symbol);
- if (endsymbol != NULL)
- free (endsymbol);
+ free (symbol);
+ free (endsymbol);
}
}
break;
diff --git a/libc/locale/programs/linereader.c b/libc/locale/programs/linereader.c
index 64b2f70df..f8ca40d40 100644
--- a/libc/locale/programs/linereader.c
+++ b/libc/locale/programs/linereader.c
@@ -859,8 +859,7 @@ non-symbolic character value should not be used"));
if (illegal_string)
{
free (buf);
- if (buf2 != NULL)
- free (buf2);
+ free (buf2);
lr->token.val.str.startmb = NULL;
lr->token.val.str.lenmb = 0;
lr->token.val.str.startwc = NULL;
diff --git a/libc/localedata/ChangeLog b/libc/localedata/ChangeLog
index 2a35fc65c..976eb470e 100644
--- a/libc/localedata/ChangeLog
+++ b/libc/localedata/ChangeLog
@@ -1,3 +1,31 @@
+2008-03-23 Ulrich Drepper <drepper@redhat.com>
+
+ * locales/iso14651_t1_common: Add support for Devanagari script.
+ * locales/mr_IN: Adjust Devanagari sorting for mr_IN.
+ Patch by Pravin Satpute <psatpute@redhat.com>.
+
+2008-03-08 Ulrich Drepper <drepper@redhat.com>
+
+ [BZ #5602]
+ * locales/pt_PT: Fix mon_decimal_point.
+
+2008-03-07 Ulrich Drepper <drepper@redhat.com>
+
+ [BZ #5777]
+ * locales/es_CR: Define am/pm format.
+
+2008-03-04 Ulrich Drepper <drepper@redhat.com>
+
+ * SUPPORTED (SUPPORTED-LOCALES): Add shs_CA.UTF-8.
+
+ * locales/en_CA: Add language information in LC_ADDRESS section.
+ * locales/fr_CA: Likewise.
+ * locales/ik_CA: Likewise.
+ * locales/iu_CA: Likewise.
+
+ [BZ #5627]
+ * locales/shs_CA: New file.
+
2008-01-10 Ulrich Drepper <drepper@redhat.com>
[BZ #5520]
diff --git a/libc/localedata/SUPPORTED b/libc/localedata/SUPPORTED
index 239194b28..e97c1a485 100644
--- a/libc/localedata/SUPPORTED
+++ b/libc/localedata/SUPPORTED
@@ -325,6 +325,7 @@ rw_RW/UTF-8 \
sa_IN/UTF-8 \
sc_IT/UTF-8 \
se_NO/UTF-8 \
+shs_CA/UTF-8 \
si_LK/UTF-8 \
sid_ET/UTF-8 \
sk_SK.UTF-8/UTF-8 \
diff --git a/libc/localedata/locales/en_CA b/libc/localedata/locales/en_CA
index 945df2bd0..f48a2fb81 100644
--- a/libc/localedata/locales/en_CA
+++ b/libc/localedata/locales/en_CA
@@ -170,4 +170,8 @@ postal_fmt "<U0025><U0066><U0025><U004E><U0025><U0061><U0025><U004E>/
country_ab2 "<U0043><U0041>"
country_ab3 "<U0043><U0041><U004E>"
country_num 124
+lang_name "<U0045><U006E><U0067><U006C><U0069><U0073><U0068>"
+lang_ab "<U0065><U006E>"
+lang_term "<U0065><U006E><U0067>"
+lang_lib "<U0065><U006E><U0067>"
END LC_ADDRESS
diff --git a/libc/localedata/locales/es_CR b/libc/localedata/locales/es_CR
index aa335a2fe..753b22b05 100644
--- a/libc/localedata/locales/es_CR
+++ b/libc/localedata/locales/es_CR
@@ -108,8 +108,8 @@ mon "<U0065><U006E><U0065><U0072><U006F>";/
d_t_fmt "<U0025><U0061><U0020><U0025><U0064><U0020><U0025><U0062><U0020><U0025><U0059><U0020><U0025><U0054><U0020><U0025><U005A>"
d_fmt "<U0025><U0064><U002F><U0025><U006D><U002F><U0025><U0079>"
t_fmt "<U0025><U0054>"
-am_pm "";""
-t_fmt_ampm ""
+am_pm "<U0061><U002E><U006D><U002E>";"<U0070><U002E><U006D><U002E>"
+t_fmt_ampm "<U0025><U0049><U003A><U0025><U004D><U003A><U0025><U0053><U0020><U0025><U0070>"
date_fmt "<U0025><U0061><U0020><U0025><U0062><U0020><U0025><U0065>/
<U0020><U0025><U0048><U003A><U0025><U004D><U003A><U0025><U0053><U0020>/
<U0025><U005A><U0020><U0025><U0059>"
diff --git a/libc/localedata/locales/fr_CA b/libc/localedata/locales/fr_CA
index 8e13cfc0c..b7e61453c 100644
--- a/libc/localedata/locales/fr_CA
+++ b/libc/localedata/locales/fr_CA
@@ -149,4 +149,8 @@ postal_fmt "<U0025><U0066><U0025><U004E><U0025><U0061><U0025><U004E>/
country_ab2 "<U0043><U0041>"
country_ab3 "<U0043><U0041><U004E>"
country_num 124
+lang_name "<U0046><U0072><U0061><U006E><U00E7><U0061><U0069><U0073>"
+lang_ab "<U0066><U0072>"
+lang_term "<U0066><U0072><U0061>"
+lang_lib "<U0066><U0072><U0065>"
END LC_ADDRESS
diff --git a/libc/localedata/locales/ik_CA b/libc/localedata/locales/ik_CA
index fe0202827..d442edae0 100644
--- a/libc/localedata/locales/ik_CA
+++ b/libc/localedata/locales/ik_CA
@@ -225,6 +225,13 @@ END LC_NAME
LC_ADDRESS
% FIXME
-copy "en_CA"
+postal_fmt "<U0025><U0066><U0025><U004E><U0025><U0061><U0025><U004E>/
+<U0025><U0064><U0025><U004E><U0025><U0062><U0025><U004E><U0025><U0073>/
+<U0020><U0025><U0068><U0020><U0025><U0065><U0020><U0025><U0072><U0025>/
+<U004E><U0025><U0025><U007A><U0020><U0025><U0054><U0025>/
+<U004E><U0025><U0063><U0025><U004E>"
+country_ab2 "<U0043><U0041>"
+country_ab3 "<U0043><U0041><U004E>"
+country_num 124
END LC_ADDRESS
diff --git a/libc/localedata/locales/iso14651_t1_common b/libc/localedata/locales/iso14651_t1_common
index b5951f9e8..bf6b63338 100644
--- a/libc/localedata/locales/iso14651_t1_common
+++ b/libc/localedata/locales/iso14651_t1_common
@@ -60,6 +60,7 @@ script <GREC>
script <CYRIL>
script <ARMENIAN>
script <GEORGIAN>
+script <DEVANAGARI>
# Déclaration des symboles internes / Declaration of internal symbols
#
@@ -460,6 +461,105 @@ collating-symbol <GEORG-WE>
collating-symbol <GEORG-HAR>
collating-symbol <GEORG-HOE>
collating-symbol <GEORG-FI>
+#
+# <DEVANAGARI>
+#
+# dvd- denotes vowel modifier
+# dm- denotes matras
+# dvw- denotes vowels
+# <NKT> denotes Nukta characters
+# <NUM> denotes Numerals
+#
+# defning symbols
+collating-symbol <NUM>
+collating-symbol <NKT>
+collating-symbol <dv-abbrevation>
+collating-symbol <dom>
+collating-symbol <dvw-shorta>
+collating-symbol <dvw-a>
+collating-symbol <dvw-aa>
+collating-symbol <dvw-i>
+collating-symbol <dvw-ii>
+collating-symbol <dvw-u>
+collating-symbol <dvw-uu>
+collating-symbol <dvw-vocalicr>
+collating-symbol <dvw-vocalicrr>
+collating-symbol <dvw-vocalicl>
+collating-symbol <dvw-vocalicll>
+collating-symbol <dvw-candrae>
+collating-symbol <dvw-shorte>
+collating-symbol <dvw-e>
+collating-symbol <dvw-ai>
+collating-symbol <dvw-candrao>
+collating-symbol <dvw-shorto>
+collating-symbol <dvw-o>
+collating-symbol <dvw-au>
+collating-symbol <d_ka>
+collating-symbol <d_kha>
+collating-symbol <d_ga>
+collating-symbol <d_gga>
+collating-symbol <d_gha>
+collating-symbol <d_nga>
+collating-symbol <d_ca>
+collating-symbol <d_cha>
+collating-symbol <d_ja>
+collating-symbol <d_jja>
+collating-symbol <d_jha>
+collating-symbol <d_nya>
+collating-symbol <d_tta>
+collating-symbol <d_ttha>
+collating-symbol <d_dda>
+collating-symbol <d_ddda>
+collating-symbol <d_ddha>
+collating-symbol <d_nna>
+collating-symbol <d_ta>
+collating-symbol <d_tha>
+collating-symbol <d_da>
+collating-symbol <d_dha>
+collating-symbol <d_na>
+collating-symbol <d_pa>
+collating-symbol <d_pha>
+collating-symbol <d_ba>
+collating-symbol <d_bba>
+collating-symbol <d_bha>
+collating-symbol <d_ma>
+collating-symbol <d_ya>
+collating-symbol <d_ra>
+collating-symbol <d_la>
+collating-symbol <d_lla>
+collating-symbol <d_va>
+collating-symbol <d_sha>
+collating-symbol <d_ssa>
+collating-symbol <d_sa>
+collating-symbol <d_ha>
+collating-symbol <d_avagrah>
+collating-symbol <d_glo-stop>
+collating-symbol <dm-aa>
+collating-symbol <dm-i>
+collating-symbol <dm-ii>
+collating-symbol <dm-u>
+collating-symbol <dm-uu>
+collating-symbol <dm-vocalicr>
+collating-symbol <dm-vocalicrr>
+collating-symbol <dm-vocalicl>
+collating-symbol <dm-vocalicll>
+collating-symbol <dm-candrae>
+collating-symbol <dm-shorte>
+collating-symbol <dm-e>
+collating-symbol <dm-ai>
+collating-symbol <dm-candrao>
+collating-symbol <dm-shorto>
+collating-symbol <dm-o>
+collating-symbol <dm-au>
+collating-symbol <dvd-anuswara>
+collating-symbol <dvd-chandrabindu>
+collating-symbol <dvd-visarg>
+collating-symbol <d_halant>
+collating-symbol <d_udatta>
+collating-symbol <d_anudatta>
+collating-symbol <dv-grave>
+collating-symbol <dv-acute>
+
# Ordre des symboles internes / Order of internal symbols
#
@@ -872,6 +972,98 @@ collating-symbol <GEORG-FI>
<GEORG-HAE>
<GEORG-HOE>
<GEORG-FI>
+#
+#<DEVANAGARI>
+#
+# collation weights in order
+<NKT>
+<NUM>
+<d_udatta>
+<d_anudatta>
+<dv-grave>
+<dv-acute>
+<dv-abbrevation>
+<dom>
+<dvw-shorta>
+<dvw-a>
+<dvw-aa>
+<dvw-i>
+<dvw-ii>
+<dvw-u>
+<dvw-uu>
+<dvw-vocalicr>
+<dvw-vocalicrr>
+<dvw-vocalicl>
+<dvw-vocalicll>
+<dvw-candrae>
+<dvw-shorte>
+<dvw-e>
+<dvw-ai>
+<dvw-candrao>
+<dvw-shorto>
+<dvw-o>
+<dvw-au>
+<d_ka>
+<d_kha>
+<d_ga>
+<d_gga>
+<d_gha>
+<d_nga>
+<d_ca>
+<d_cha>
+<d_ja>
+<d_jja>
+<d_jha>
+<d_nya>
+<d_tta>
+<d_ttha>
+<d_dda>
+<d_ddda>
+<d_ddha>
+<d_nna>
+<d_ta>
+<d_tha>
+<d_da>
+<d_dha>
+<d_na>
+<d_pa>
+<d_pha>
+<d_ba>
+<d_bba>
+<d_bha>
+<d_ma>
+<d_ya>
+<d_ra>
+<d_la>
+<d_lla>
+<d_va>
+<d_sha>
+<d_ssa>
+<d_sa>
+<d_ha>
+<d_avagrah>
+<d_glo-stop>
+<dm-aa>
+<dm-i>
+<dm-ii>
+<dm-u>
+<dm-uu>
+<dm-vocalicr>
+<dm-vocalicrr>
+<dm-vocalicl>
+<dm-vocalicll>
+<dm-candrae>
+<dm-shorte>
+<dm-e>
+<dm-ai>
+<dm-candrao>
+<dm-shorto>
+<dm-o>
+<dm-au>
+<dvd-anuswara>
+<dvd-chandrabindu>
+<dvd-visarg>
+<d_halant>
order_start <SPECIAL>;forward;backward;forward;forward,position
#
@@ -2639,6 +2831,116 @@ order_start <GEORGIAN>;forward;forward;forward;forward,position
<U2D24> <GEORG-HAR>;<BAS>;<ANO>;IGNORE
<U2D25> <GEORG-HOE>;<BAS>;<ANO>;IGNORE
+order_start <DEVANAGARI>;forward;forward;forward;forward,position
+<U0970> <dv-abbrevation>;<BAS>;<MIN>;IGNORE
+<U0966> <0>;"<BAS><NUM>";"<MIN><MIN>";IGNORE
+<U0967> <1>;"<BAS><NUM>";"<MIN><MIN>";IGNORE
+<U0968> <2>;"<BAS><NUM>";"<MIN><MIN>";IGNORE
+<U0969> <3>;"<BAS><NUM>";"<MIN><MIN>";IGNORE
+<U096A> <4>;"<BAS><NUM>";"<MIN><MIN>";IGNORE
+<U096B> <5>;"<BAS><NUM>";"<MIN><MIN>";IGNORE
+<U096C> <6>;"<BAS><NUM>";"<MIN><MIN>";IGNORE
+<U096D> <7>;"<BAS><NUM>";"<MIN><MIN>";IGNORE
+<U096E> <8>;"<BAS><NUM>";"<MIN><MIN>";IGNORE
+<U096F> <9>;"<BAS><NUM>";"<MIN><MIN>";IGNORE
+<U0950> <dom> ;<BAS>;<MIN>;IGNORE
+<U0904> <dvw-shorta> ;<BAS>;<MIN>;IGNORE
+<U0905> <dvw-a> ;<BAS>;<MIN>;IGNORE
+<U0906> <dvw-aa> ;<BAS>;<MIN>;IGNORE
+<U0907> <dvw-i> ;<BAS>;<MIN>;IGNORE
+<U0908> <dvw-ii> ;<BAS>;<MIN>;IGNORE
+<U0909> <dvw-u> ;<BAS>;<MIN>;IGNORE
+<U090A> <dvw-uu>;<BAS>;<MIN>;IGNORE
+<U090B> <dvw-vocalicr>;<BAS>;<MIN>;IGNORE
+<U0960> <dvw-vocalicrr>;<BAS>;<MIN>;IGNORE
+<U090C> <dvw-vocalicl>;<BAS>;<MIN>;IGNORE
+<U0961> <dvw-vocalicll>;<BAS>;<MIN>;IGNORE
+<U090D> <dvw-candrae>;<BAS>;<MIN>;IGNORE
+<U090E> <dvw-shorte>;<BAS>;<MIN>;IGNORE
+<U090F> <dvw-e>;<BAS>;<MIN>;IGNORE
+<U0910> <dvw-ai>;<BAS>;<MIN>;IGNORE
+<U0911> <dvw-candrao>;<BAS>;<MIN>;IGNORE
+<U0912> <dvw-shorto>;<BAS>;<MIN>;IGNORE
+<U0913> <dvw-o>;<BAS>;<MIN>;IGNORE
+<U0914> <dvw-au>;<BAS>;<MIN>;IGNORE
+<U0915> <d_ka>;<BAS>;<MIN>;IGNORE
+<U0958> <d_ka>;"<BAS><NKT>";"<MIN><MIN>";IGNORE
+<U0916> <d_kha>;<BAS>;<MIN>;IGNORE
+<U0959> <d_kha>;"<BAS><NKT>";"<MIN><MIN>";IGNORE
+<U0917> <d_ga>;<BAS>;<MIN>;IGNORE
+<U095A> <d_ga>;"<BAS><NKT>";"<MIN><MIN>";IGNORE
+<U097B> <d_gga>;<BAS>;<MIN>;IGNORE
+<U0918> <d_gha>;<BAS>;<MIN>;IGNORE
+<U0919> <d_nga>;<BAS>;<MIN>;IGNORE
+<U091A> <d_ca>;<BAS>;<MIN>;IGNORE
+<U091B> <d_cha>;<BAS>;<MIN>;IGNORE
+<U091C> <d_ja>;<BAS>;<MIN>;IGNORE
+<U095B> <d_ja>;"<BAS><NKT>";"<MIN><MIN>";IGNORE
+<U097C> <d_jja>;<BAS>;<MIN>;IGNORE
+<U091D> <d_jha>;<BAS>;<MIN>;IGNORE
+<U091E> <d_nya>;<BAS>;<MIN>;IGNORE
+<U091F> <d_tta>;<BAS>;<MIN>;IGNORE
+<U0920> <d_ttha>;<BAS>;<MIN>;IGNORE
+<U0921> <d_dda>;<BAS>;<MIN>;IGNORE
+<U095C> <d_dda>;"<BAS><NKT>";"<MIN><MIN>";IGNORE
+<U097E> <d_ddda>;<BAS>;<MIN>;IGNORE
+<U0922> <d_ddha>;<BAS>;<MIN>;IGNORE
+<U095D> <d_ddha>;"<BAS><NKT>";"<MIN><MIN>";IGNORE
+<U0923> <d_nna>;<BAS>;<MIN>;IGNORE
+<U0924> <d_ta>;<BAS>;<MIN>;IGNORE
+<U0925> <d_tha>;<BAS>;<MIN>;IGNORE
+<U0926> <d_da>;<BAS>;<MIN>;IGNORE
+<U0927> <d_dha>;<BAS>;<MIN>;IGNORE
+<U0928> <d_na>;<BAS>;<MIN>;IGNORE
+<U0929> <d_na>;"<BAS><NKT>";"<MIN><MIN>";IGNORE
+<U092A> <d_pa>;<BAS>;<MIN>;IGNORE
+<U092B> <d_pha>;<BAS>;<MIN>;IGNORE
+<U095E> <d_pha>;"<BAS><NKT>";"<MIN><MIN>";IGNORE
+<U092C> <d_ba>;<BAS>;<MIN>;IGNORE
+<U097F> <d_bba>;<BAS>;<MIN>;IGNORE
+<U092D> <d_bha>;<BAS>;<MIN>;IGNORE
+<U092E> <d_ma>;<BAS>;<MIN>;IGNORE
+<U092F> <d_ya>;<BAS>;<MIN>;IGNORE
+<U095F> <d_ya>;"<BAS><NKT>";"<MIN><MIN>";IGNORE
+<U0930> <d_ra>;<BAS>;<MIN>;IGNORE
+<U0931> <d_ra>;"<BAS><NKT>";"<MIN><MIN>";IGNORE
+<U0932> <d_la>;<BAS>;<MIN>;IGNORE
+<U0933> <d_lla>;<BAS>;<MIN>;IGNORE
+<U0934> <d_lla>;"<BAS><NKT>";"<MIN><MIN>";IGNORE
+<U0935> <d_va>;<BAS>;<MIN>;IGNORE
+<U0936> <d_sha>;<BAS>;<MIN>;IGNORE
+<U0937> <d_ssa>;<BAS>;<MIN>;IGNORE
+<U0938> <d_sa>;<BAS>;<MIN>;IGNORE
+<U0939> <d_ha>;<BAS>;<MIN>;IGNORE
+<U093D> <d_avagrah>;<BAS>;<MIN>;IGNORE
+<U097D> <d_glo-stop>;<BAS>;<MIN>;IGNORE
+<U093E> <dm-aa>;<BAS>;<MIN>;IGNORE
+<U093F> <dm-i>;<BAS>;<MIN>;IGNORE
+<U0940> <dm-ii>;<BAS>;<MIN>;IGNORE
+<U0941> <dm-u>;<BAS>;<MIN>;IGNORE
+<U0942> <dm-uu>;<BAS>;<MIN>;IGNORE
+<U0943> <dm-vocalicr>;<BAS>;<MIN>;IGNORE
+<U0944> <dm-vocalicrr>;<BAS>;<MIN>;IGNORE
+<U0962> <dm-vocalicl>;<BAS>;<MIN>;IGNORE
+<U0963> <dm-vocalicll>;<BAS>;<MIN>;IGNORE
+<U0945> <dm-candrae>;<BAS>;<MIN>;IGNORE
+<U0946> <dm-shorte>;<BAS>;<MIN>;IGNORE
+<U0947> <dm-e>;<BAS>;<MIN>;IGNORE
+<U0948> <dm-ai>;<BAS>;<MIN>;IGNORE
+<U0949> <dm-candrao>;<BAS>;<MIN>;IGNORE
+<U094A> <dm-shorto>;<BAS>;<MIN>;IGNORE
+<U094B> <dm-o>;<BAS>;<MIN>;IGNORE
+<U094C> <dm-au>;<BAS>;<MIN>;IGNORE
+<U0902> <dvd-anuswara>;<BAS>;<MIN>;IGNORE
+<U0901> <dvd-chandrabindu>;<BAS>;<MIN>;IGNORE
+<U0903> <dvd-visarg>;<BAS>;<MIN>;IGNORE
+<U094D> <d_halant>;<BAS>;<MIN>;IGNORE
+<U093C> IGNORE;<NKT>;<MIN>;IGNORE
+<U0951> IGNORE;<d_udatta>;<MIN>;IGNORE
+<U0952> IGNORE;<d_anudatta>;<MIN>;IGNORE
+<U0953> IGNORE;<dv-grave>;<MIN>;IGNORE
+<U0954> IGNORE;<dv-acute>;<MIN>;IGNORE
+
order_end
END LC_COLLATE
diff --git a/libc/localedata/locales/iu_CA b/libc/localedata/locales/iu_CA
index 5fe346c1e..57eded7df 100644
--- a/libc/localedata/locales/iu_CA
+++ b/libc/localedata/locales/iu_CA
@@ -44,9 +44,9 @@ country_num 124
country_car "<U0043><U0041><U004E>" % FIXME
% FIXME country_isbn for Canada/inuktitut ?
lang_name "<U1403><U14C4><U1483><U144E><U1450><U1466>"
-lang_ab "iu"
-% FIXME lang_term
-% FIXME lang_lib
+lang_ab "<U0069><U0075>"
+lang_term "<U0069><U006B><U0075>"
+lang_lib "<U0069><U006B><U0075>"
END LC_ADDRESS
%%%%%%%%%%%%%
diff --git a/libc/localedata/locales/mr_IN b/libc/localedata/locales/mr_IN
index 46bcad189..ba3b3d614 100644
--- a/libc/localedata/locales/mr_IN
+++ b/libc/localedata/locales/mr_IN
@@ -44,6 +44,27 @@ LC_COLLATE
% Copy the template from ISO/IEC 14651
copy "iso14651_t1"
+% customize sorting required for mr_IN
+collating-element <dv_ksha> from "<U0915><U094D><U0937>"
+collating-element <dv_dnya> from "<U091C><U094D><U091E>"
+collating-element <dv_shra> from "<U0936><U094D><U0930>"
+
+collating-symbol <d_ksha>
+collating-symbol <d_dnya>
+collating-symbol <d_shra>
+
+reorder-after <d_ha>
+<d_ksha>
+<d_dnya>
+<d_shra>
+
+reorder-after <U0939>
+<dv_ksha> <d_ksha>;<BAS>;<MIN>;IGNORE
+<dv_dnya> <d_dnya>;<BAS>;<MIN>;IGNORE
+<dv_shra> <d_shra>;<BAS>;<MIN>;IGNORE
+
+reorder-end
+
END LC_COLLATE
LC_MONETARY
diff --git a/libc/localedata/locales/pt_PT b/libc/localedata/locales/pt_PT
index ceadccaee..39ec101bd 100644
--- a/libc/localedata/locales/pt_PT
+++ b/libc/localedata/locales/pt_PT
@@ -65,7 +65,7 @@ END LC_MESSAGES
LC_MONETARY
int_curr_symbol "<U0045><U0055><U0052><U0020>"
currency_symbol "<U20AC>"
-mon_decimal_point "<U0024>"
+mon_decimal_point "<U002C>"
mon_thousands_sep "<U002E>"
mon_grouping 3;3
positive_sign ""
diff --git a/libc/localedata/locales/shs_CA b/libc/localedata/locales/shs_CA
new file mode 100644
index 000000000..c93710dc3
--- /dev/null
+++ b/libc/localedata/locales/shs_CA
@@ -0,0 +1,160 @@
+escape_char /
+comment_char %
+
+% Secwepemctsin (Shuswap) language locale for Canada
+% sorting according to CAN/CSA-Z243.4.1-1992
+% Source: Neskie Manuel
+% Address: 745 Ska-Hiish Dr
+% Chase BC V0E 1M3
+% Contact: Neskie Manuel
+% Email: neskiem@gmail.com
+% Tel: +1 - 2506792821
+% Fax: +1 - 2506792821
+% Language: shs
+% Territory: CA
+% Revision: 0.1
+% Date: 2008-01-11
+% Application: general
+% Users: general
+% Distribution and use is free, also
+% for commercial purposes.
+
+LC_IDENTIFICATION
+title "Secwepemctsin locale for Canada"
+source "Neskie Manuel"
+address "745 Ska-Hiish Dr, Chase BC V0E 1M3"
+contact ""
+email "bug-glibc-locales@gnu.org"
+tel ""
+fax ""
+language "Secwepemctsin"
+territory "Canada"
+revision "1.0"
+date "2008-01-15"
+%
+category "shs_CA:2000";LC_IDENTIFICATION
+category "shs_CA:2000";LC_CTYPE
+category "shs_CA:2000";LC_COLLATE
+category "shs_CA:2000";LC_TIME
+category "shs_CA:2000";LC_NUMERIC
+category "shs_CA:2000";LC_MONETARY
+category "shs_CA:2000";LC_MESSAGES
+category "shs_CA:2000";LC_PAPER
+category "shs_CA:2000";LC_NAME
+category "shs_CA:2000";LC_ADDRESS
+category "shs_CA:2000";LC_TELEPHONE
+
+END LC_IDENTIFICATION
+
+LC_COLLATE
+copy "iso14651_t1"
+
+reorder-after <RES-1>
+<CAP>
+
+% Present in iso14651_t1, but these definitions seem to have been
+% removed from latest iso14651 tables.
+reorder-after <U0041>
+<U00C6> "<a><e>";"<LIG><LIG>";"<CAP><CAP>";IGNORE
+
+reorder-after <U0061>
+<U00E6> "<a><e>";"<LIG><LIG>";"<MIN><MIN>";IGNORE
+
+reorder-end
+
+END LC_COLLATE
+
+LC_CTYPE
+copy "en_CA"
+END LC_CTYPE
+
+LC_MONETARY
+copy "en_CA"
+END LC_MONETARY
+
+LC_NUMERIC
+copy "en_CA"
+END LC_NUMERIC
+
+LC_TIME
+abday "<U0053><U0078><U0065>";/
+ "<U0053><U0070><U0065>";/
+ "<U0053><U0065><U006C>";/
+ "<U004B><U0065><U006C>";/
+ "<U004D><U0065><U0073>";/
+ "<U0054><U0073><U0065>";/
+ "<U0054><U0071><U006D>"
+day "<U0053><U0078><U0065><U0074><U0073><U0070><U0065><U0073><U0071><U0027><U0074>";/
+ "<U0053><U0070><U0065><U0074><U006B><U0065><U0073><U0071><U0027><U0074>";/
+ "<U0053><U0065><U006C><U0065><U0073><U0071><U0027><U0074>";/
+ "<U0053><U006B><U0065><U006C><U006C><U0065><U0073><U0071><U0027><U0074>";/
+ "<U0053><U006D><U0065><U0073><U0065><U0073><U0071><U0027><U0074>";/
+ "<U0053><U0074><U0073><U0065><U006C><U006B><U0073><U0074><U0065><U0073><U0071><U0027><U0074>";/
+ "<U0053><U0074><U0071><U006D><U0065><U006B><U0073><U0074><U0065><U0073><U0071><U0027><U0074>"
+abmon "<U004B><U0077><U0065>";/
+ "<U0054><U0073><U0069>";/
+ "<U0053><U0071><U0065>";/
+ "<U0045><U0027><U0077>";/
+ "<U0045><U006C><U006C>";/
+ "<U0054><U0073><U0070>";/
+ "<U0054><U0071><U0077>";/
+ "<U0043><U0074><U0027>";/
+ "<U0051><U0065><U006C>";/
+ "<U0057><U0065><U006C>";/
+ "<U0055><U0037><U006C>";/
+ "<U0054><U0065><U0074>"
+mon "<U0050><U0065><U006C><U006C><U006B><U0077><U0065><U0074><U0027><U006D><U0069><U006E>";/
+ "<U0050><U0065><U006C><U0063><U0074><U0073><U0069><U0070><U0077><U0065><U006E><U0027><U0074><U0065><U006E>";/
+ "<U0050><U0065><U006C><U006C><U0073><U0071><U0065><U0027><U0070><U0074><U0073>";/
+ "<U0050><U0065><U0073><U006C><U006C><U0065><U0027><U0077><U0074><U0065><U006E>";/
+ "<U0050><U0065><U006C><U006C><U0037><U0065><U006C><U006C><U0037><U0065><U0027><U0037><U006C><U006C><U0071><U0074><U0065><U006E>";/
+ "<U0050><U0065><U006C><U006C><U0074><U0073><U0070><U0065><U0027><U006E><U0074><U0073><U006B>";/
+ "<U0050><U0065><U006C><U006C><U0074><U0071><U0077><U0065><U006C><U0071><U0027><U0077><U0065><U0027><U006C><U0027><U0074>";/
+ "<U0050><U0065><U006C><U006C><U0063><U0074><U0027><U0065><U0027><U0078><U0065><U006C><U0027><U0063><U0074><U0065><U006E>";/
+ "<U0050><U0065><U0073><U0071><U0065><U006C><U0071><U006C><U0065><U0027><U006C><U0074><U0065><U006E>";/
+ "<U0050><U0065><U0073><U006C><U006C><U0077><U0065><U0027><U006C><U0073><U0074><U0065><U006E>";/
+ "<U0050><U0065><U006C><U006C><U0063><U0037><U0065><U006C><U006C><U0037><U0075><U0027><U0037><U006C><U006C><U0063><U0077><U0074><U0065><U006E><U0027>";/
+ "<U0050><U0065><U006C><U006C><U0074><U0065><U0074><U0065><U0027><U0074><U0071><U0027><U0065><U006D>"
+d_t_fmt "<U0025><U0061><U0020><U0025><U0064><U0020><U0025><U0062><U0020><U0025><U0059><U0020><U0025><U0072><U0020><U0025><U005A>"
+d_fmt "<U0025><U0064><U002F><U0025><U006D><U002F><U0025><U0079>"
+t_fmt "<U0025><U0072>"
+am_pm "<U0041><U004D>";"<U0050><U004D>"
+t_fmt_ampm "<U0025><U0049><U003A><U0025><U004D><U003A><U0025><U0053><U0020><U0025><U0070>"
+date_fmt "<U0025><U0061><U0020><U0025><U0062><U0020><U0025><U0065><U0020><U0025><U0048><U003A><U0025><U004D><U003A><U0025><U0053><U0020><U0025><U005A><U0020><U0025><U0059>"
+% FIXME: found in CLDR
+first_weekday 1
+END LC_TIME
+
+LC_MESSAGES
+copy "en_CA"
+END LC_MESSAGES
+
+LC_PAPER
+copy "en_CA"
+END LC_PAPER
+
+LC_TELEPHONE
+copy "en_CA"
+END LC_TELEPHONE
+
+LC_MEASUREMENT
+copy "en_CA"
+END LC_MEASUREMENT
+
+LC_NAME
+copy "en_CA"
+END LC_NAME
+
+LC_ADDRESS
+postal_fmt "<U0025><U0066><U0025><U004E><U0025><U0061><U0025><U004E>/
+<U0025><U0064><U0025><U004E><U0025><U0062><U0025><U004E><U0025><U0073>/
+<U0020><U0025><U0068><U0020><U0025><U0065><U0020><U0025><U0072><U0025>/
+<U004E><U0025><U0025><U007A><U0020><U0025><U0054><U0025>/
+<U004E><U0025><U0063><U0025><U004E>"
+country_ab2 "<U0043><U0041>"
+country_ab3 "<U0043><U0041><U004E>"
+country_num 124
+lang_name "<U0053><U0065><U0063><U0077><U0065><U0070><U0065><U006D><U0063><U0074><U0073><U0069><U006E>"
+lang_term "<U0073><U0068><U0073>"
+lang_lib "<U0073><U0068><U0073>"
+END LC_ADDRESS
diff --git a/libc/malloc/malloc.c b/libc/malloc/malloc.c
index e00eb0f4e..7610aa444 100644
--- a/libc/malloc/malloc.c
+++ b/libc/malloc/malloc.c
@@ -1186,7 +1186,7 @@ void public_cFREe();
Malloc_trim returns 1 if it actually released any memory, else 0.
On systems that do not support "negative sbrks", it will always
- rreturn 0.
+ return 0.
*/
#if __STD_C
int public_mTRIm(size_t);
diff --git a/libc/math/libm-test.inc b/libc/math/libm-test.inc
index c65acfe4e..7b383b414 100644
--- a/libc/math/libm-test.inc
+++ b/libc/math/libm-test.inc
@@ -4482,6 +4482,11 @@ nearbyint_test (void)
TEST_f_f (nearbyint, -0.5, minus_zero);
TEST_f_f (nearbyint, -1.5, -2.0);
+ TEST_f_f (nearbyint, 262144.75, 262145.0);
+ TEST_f_f (nearbyint, 262142.75, 262143.0);
+ TEST_f_f (nearbyint, 524286.75, 524287.0);
+ TEST_f_f (nearbyint, 524288.75, 524289.0);
+
END (nearbyint);
}
@@ -4853,6 +4858,10 @@ rint_test (void)
TEST_f_f (rint, -0.1, -0.0);
TEST_f_f (rint, -0.25, -0.0);
TEST_f_f (rint, -0.625, -1.0);
+ TEST_f_f (rint, 262144.75, 262145.0);
+ TEST_f_f (rint, 262142.75, 262143.0);
+ TEST_f_f (rint, 524286.75, 524287.0);
+ TEST_f_f (rint, 524288.75, 524289.0);
#ifdef TEST_LDOUBLE
/* The result can only be represented in long double. */
TEST_f_f (rint, 4503599627370495.5L, 4503599627370496.0L);
diff --git a/libc/misc/sys/queue.h b/libc/misc/sys/queue.h
index b0e6b38c1..daf4553d3 100644
--- a/libc/misc/sys/queue.h
+++ b/libc/misc/sys/queue.h
@@ -271,6 +271,14 @@ struct { \
(var); \
(var) = ((var)->field.stqe_next))
+#define STAILQ_CONCAT(head1, head2) do { \
+ if (!STAILQ_EMPTY((head2))) { \
+ *(head1)->stqh_last = (head2)->stqh_first; \
+ (head1)->stqh_last = (head2)->stqh_last; \
+ STAILQ_INIT((head2)); \
+ } \
+} while (/*CONSTCOND*/0)
+
/*
* Singly-linked Tail queue access methods.
*/
@@ -434,6 +442,15 @@ struct { \
(var); \
(var) = (*(((struct headname *)((var)->field.tqe_prev))->tqh_last)))
+#define TAILQ_CONCAT(head1, head2, field) do { \
+ if (!TAILQ_EMPTY(head2)) { \
+ *(head1)->tqh_last = (head2)->tqh_first; \
+ (head2)->tqh_first->field.tqe_prev = (head1)->tqh_last; \
+ (head1)->tqh_last = (head2)->tqh_last; \
+ TAILQ_INIT((head2)); \
+ } \
+} while (/*CONSTCOND*/0)
+
/*
* Tail queue access methods.
*/
diff --git a/libc/nis/nis_call.c b/libc/nis/nis_call.c
index c571e8f36..6ae4ce5db 100644
--- a/libc/nis/nis_call.c
+++ b/libc/nis/nis_call.c
@@ -1,4 +1,4 @@
-/* Copyright (C) 1997, 1998, 2001, 2004, 2005, 2006, 2007
+/* Copyright (C) 1997, 1998, 2001, 2004, 2005, 2006, 2007, 2008
Free Software Foundation, Inc.
This file is part of the GNU C Library.
Contributed by Thorsten Kukuk <kukuk@vt.uni-paderborn.de>, 1997.
@@ -592,8 +592,10 @@ nis_server_cache_search (const_nis_name name, int search_parent,
XDR xdrs;
struct stat64 st;
+ int saved_errno = errno;
if (stat64 ("/var/nis/NIS_COLD_START", &st) < 0)
st.st_mtime = nis_cold_start_mtime + 1;
+ __set_errno (saved_errno);
__libc_lock_lock (nis_server_cache_lock);
@@ -741,7 +743,9 @@ __nisfind_server (const_nis_name name, int search_parent,
return result;
}
+ int saved_errno = errno;
*dir = readColdStartFile ();
+ __set_errno (saved_errno);
if (*dir == NULL)
/* No /var/nis/NIS_COLD_START->no NIS+ installed. */
return NIS_UNAVAIL;
diff --git a/libc/nis/nss_compat/compat-pwd.c b/libc/nis/nss_compat/compat-pwd.c
index df8f91eea..669522f21 100644
--- a/libc/nis/nss_compat/compat-pwd.c
+++ b/libc/nis/nss_compat/compat-pwd.c
@@ -116,16 +116,11 @@ init_nss_interface (void)
static void
give_pwd_free (struct passwd *pwd)
{
- if (pwd->pw_name != NULL)
- free (pwd->pw_name);
- if (pwd->pw_passwd != NULL)
- free (pwd->pw_passwd);
- if (pwd->pw_gecos != NULL)
- free (pwd->pw_gecos);
- if (pwd->pw_dir != NULL)
- free (pwd->pw_dir);
- if (pwd->pw_shell != NULL)
- free (pwd->pw_shell);
+ free (pwd->pw_name);
+ free (pwd->pw_passwd);
+ free (pwd->pw_gecos);
+ free (pwd->pw_dir);
+ free (pwd->pw_shell);
memset (pwd, '\0', sizeof (struct passwd));
}
diff --git a/libc/nis/nss_compat/compat-spwd.c b/libc/nis/nss_compat/compat-spwd.c
index a5977681f..95f735594 100644
--- a/libc/nis/nss_compat/compat-spwd.c
+++ b/libc/nis/nss_compat/compat-spwd.c
@@ -113,10 +113,8 @@ init_nss_interface (void)
static void
give_spwd_free (struct spwd *pwd)
{
- if (pwd->sp_namp != NULL)
- free (pwd->sp_namp);
- if (pwd->sp_pwdp != NULL)
- free (pwd->sp_pwdp);
+ free (pwd->sp_namp);
+ free (pwd->sp_pwdp);
memset (pwd, '\0', sizeof (struct spwd));
pwd->sp_warn = -1;
diff --git a/libc/nis/ypclnt.c b/libc/nis/ypclnt.c
index ae04ee921..7d0091bd2 100644
--- a/libc/nis/ypclnt.c
+++ b/libc/nis/ypclnt.c
@@ -634,7 +634,7 @@ yp_order (const char *indomain, const char *inmap, unsigned int *outorder)
(caddr_t) &req, (xdrproc_t) xdr_ypresp_order,
(caddr_t) &resp);
- if (result == YPERR_SUCCESS)
+ if (result != YPERR_SUCCESS)
return result;
*outorder = resp.ordernum;
diff --git a/libc/nptl/ChangeLog b/libc/nptl/ChangeLog
index e22f3870a..1627caa85 100644
--- a/libc/nptl/ChangeLog
+++ b/libc/nptl/ChangeLog
@@ -1,3 +1,23 @@
+2008-03-18 Jakub Jelinek <jakub@redhat.com>
+
+ * sysdeps/unix/sysv/linux/ia64/dl-sysdep.h: Use __ASSEMBLER__ instead
+ of ASSEMBLER.
+ * sysdeps/unix/sysv/linux/i386/i686/dl-sysdep.h: Likewise.
+ * sysdeps/unix/sysv/linux/i386/dl-sysdep.h: Likewise.
+
+2008-03-14 Ulrich Drepper <drepper@redhat.com>
+
+ * sysdeps/unix/sysv/linux/i386/dl-sysdep.h: Define
+ HAVE_DL_DISCOVER_OSVERSION.
+ * sysdeps/unix/sysv/linux/i386/i686/dl-sysdep.h: Likewise.
+ * sysdeps/unix/sysv/linux/ia64/dl-sysdep.h: Likewise.
+
+2008-03-07 Ulrich Drepper <drepper@redhat.com>
+
+ [BZ #5778]
+ * sysdeps/unix/sysv/linux/bits/posix_opt.h: Change
+ _POSIX_CHOWN_RESTRICTED value to zero.
+
2008-01-31 Roland McGrath <roland@redhat.com>
* Makefile (omit-deps): Variable removed.
diff --git a/libc/nptl/sysdeps/unix/sysv/linux/bits/posix_opt.h b/libc/nptl/sysdeps/unix/sysv/linux/bits/posix_opt.h
index dd0798a07..06d35ceb1 100644
--- a/libc/nptl/sysdeps/unix/sysv/linux/bits/posix_opt.h
+++ b/libc/nptl/sysdeps/unix/sysv/linux/bits/posix_opt.h
@@ -1,5 +1,5 @@
/* Define POSIX options for Linux.
- Copyright (C) 1996-2004, 2006 Free Software Foundation, Inc.
+ Copyright (C) 1996-2004, 2006, 2008 Free Software Foundation, Inc.
This file is part of the GNU C Library.
The GNU C Library is free software; you can redistribute it and/or
@@ -47,8 +47,8 @@
/* Setting of memory protections is supported. */
#define _POSIX_MEMORY_PROTECTION 200112L
-/* Only root can change owner of file. */
-#define _POSIX_CHOWN_RESTRICTED 1
+/* Some filesystems allow all users to change file ownership. */
+#define _POSIX_CHOWN_RESTRICTED 0
/* `c_cc' member of 'struct termios' structure can be disabled by
using the value _POSIX_VDISABLE. */
diff --git a/libc/nptl/sysdeps/unix/sysv/linux/i386/dl-sysdep.h b/libc/nptl/sysdeps/unix/sysv/linux/i386/dl-sysdep.h
index 109ffd1cf..a3b2c77c3 100644
--- a/libc/nptl/sysdeps/unix/sysv/linux/i386/dl-sysdep.h
+++ b/libc/nptl/sysdeps/unix/sysv/linux/i386/dl-sysdep.h
@@ -1,5 +1,5 @@
/* System-specific settings for dynamic linker code. IA-32 version.
- Copyright (C) 2002, 2003 Free Software Foundation, Inc.
+ Copyright (C) 2002, 2003, 2008 Free Software Foundation, Inc.
This file is part of the GNU C Library.
The GNU C Library is free software; you can redistribute it and/or
@@ -61,4 +61,13 @@ extern void _dl_sysinfo_int80 (void) attribute_hidden;
".previous;");
#endif
+
+/* The _dl_discover_osversion function is so far only needed in sysconf
+ to check for kernels later than 2.6.23. */
+#if !defined __ASSEMBLER__ && __LINUX_KERNEL_VERSION < 0x020617
+/* Get version of the OS. */
+extern int _dl_discover_osversion (void) attribute_hidden;
+# define HAVE_DL_DISCOVER_OSVERSION 1
+#endif
+
#endif /* dl-sysdep.h */
diff --git a/libc/nptl/sysdeps/unix/sysv/linux/i386/i686/dl-sysdep.h b/libc/nptl/sysdeps/unix/sysv/linux/i386/i686/dl-sysdep.h
index b7771318a..978f1f71b 100644
--- a/libc/nptl/sysdeps/unix/sysv/linux/i386/i686/dl-sysdep.h
+++ b/libc/nptl/sysdeps/unix/sysv/linux/i386/i686/dl-sysdep.h
@@ -1,5 +1,5 @@
/* System-specific settings for dynamic linker code. IA-32 version.
- Copyright (C) 2002, 2003 Free Software Foundation, Inc.
+ Copyright (C) 2002, 2003, 2008 Free Software Foundation, Inc.
This file is part of the GNU C Library.
The GNU C Library is free software; you can redistribute it and/or
@@ -58,4 +58,13 @@ extern void _dl_sysinfo_int80 (void) attribute_hidden;
".previous");
#endif
+
+/* The _dl_discover_osversion function is so far only needed in sysconf
+ to check for kernels later than 2.6.23. */
+#if !defined __ASSEMBLER__ && __LINUX_KERNEL_VERSION < 0x020617
+/* Get version of the OS. */
+extern int _dl_discover_osversion (void) attribute_hidden;
+# define HAVE_DL_DISCOVER_OSVERSION 1
+#endif
+
#endif /* dl-sysdep.h */
diff --git a/libc/nptl/sysdeps/unix/sysv/linux/ia64/dl-sysdep.h b/libc/nptl/sysdeps/unix/sysv/linux/ia64/dl-sysdep.h
index 525b622a6..5c16bd7ae 100644
--- a/libc/nptl/sysdeps/unix/sysv/linux/ia64/dl-sysdep.h
+++ b/libc/nptl/sysdeps/unix/sysv/linux/ia64/dl-sysdep.h
@@ -1,5 +1,5 @@
/* System-specific settings for dynamic linker code. IA-64 version.
- Copyright (C) 2003, 2004, 2006 Free Software Foundation, Inc.
+ Copyright (C) 2003, 2004, 2006, 2008 Free Software Foundation, Inc.
This file is part of the GNU C Library.
The GNU C Library is free software; you can redistribute it and/or
@@ -65,4 +65,13 @@ extern int _dl_sysinfo_break attribute_hidden;
might write into it after _dl_start returns. */
#define DL_ARGV_NOT_RELRO 1
+
+/* The _dl_discover_osversion function is so far only needed in sysconf
+ to check for kernels later than 2.6.23. */
+#if !defined __ASSEMBLER__ && __LINUX_KERNEL_VERSION < 0x020617
+/* Get version of the OS. */
+extern int _dl_discover_osversion (void) attribute_hidden;
+# define HAVE_DL_DISCOVER_OSVERSION 1
+#endif
+
#endif /* dl-sysdep.h */
diff --git a/libc/nptl_db/ChangeLog b/libc/nptl_db/ChangeLog
index b4e311029..af819c301 100644
--- a/libc/nptl_db/ChangeLog
+++ b/libc/nptl_db/ChangeLog
@@ -1,3 +1,12 @@
+2008-03-25 Roland McGrath <roland@redhat.com>
+
+ [BZ #5983]
+ * structs.def: Add pid field of struct pthread.
+ * td_ta_thr_iter.c (iterate_thread_list): Take new arg MATCH_PID.
+ If a thread's pid does not match nor is < 0 while its tid matches
+ nor is < 0 and equal to -MATCH_PID, ignore it.
+ * td_thr_validate.c (td_thr_validate): Validate thread's pid/tid.
+
2007-05-16 Roland McGrath <roland@redhat.com>
* td_thr_get_info.c: Fake the results for TH->th_unique == 0.
diff --git a/libc/nptl_db/structs.def b/libc/nptl_db/structs.def
index f5559ccb0..75da95a36 100644
--- a/libc/nptl_db/structs.def
+++ b/libc/nptl_db/structs.def
@@ -1,5 +1,5 @@
/* List of types and symbols in libpthread examined by libthread_db.
- Copyright (C) 2003, 2006, 2007 Free Software Foundation, Inc.
+ Copyright (C) 2003, 2006, 2007, 2008 Free Software Foundation, Inc.
This file is part of the GNU C Library.
The GNU C Library is free software; you can redistribute it and/or
@@ -27,6 +27,7 @@ DB_STRUCT (pthread)
DB_STRUCT_FIELD (pthread, list)
DB_STRUCT_FIELD (pthread, report_events)
DB_STRUCT_FIELD (pthread, tid)
+DB_STRUCT_FIELD (pthread, pid)
DB_STRUCT_FIELD (pthread, start_routine)
DB_STRUCT_FIELD (pthread, cancelhandling)
DB_STRUCT_FIELD (pthread, schedpolicy)
diff --git a/libc/nptl_db/td_ta_thr_iter.c b/libc/nptl_db/td_ta_thr_iter.c
index c82f39cb7..9a594ed1d 100644
--- a/libc/nptl_db/td_ta_thr_iter.c
+++ b/libc/nptl_db/td_ta_thr_iter.c
@@ -1,5 +1,5 @@
/* Iterate over a process's threads.
- Copyright (C) 1999,2000,2001,2002,2003,2004,2007
+ Copyright (C) 1999,2000,2001,2002,2003,2004,2007,2008
Free Software Foundation, Inc.
This file is part of the GNU C Library.
Contributed by Ulrich Drepper <drepper@redhat.com>, 1999.
@@ -25,7 +25,7 @@
static td_err_e
iterate_thread_list (td_thragent_t *ta, td_thr_iter_f *callback,
void *cbdata_p, td_thr_state_e state, int ti_pri,
- psaddr_t head, bool fake_empty)
+ psaddr_t head, bool fake_empty, pid_t match_pid)
{
td_err_e err;
psaddr_t next, ofs;
@@ -78,28 +78,48 @@ iterate_thread_list (td_thragent_t *ta, td_thr_iter_f *callback,
if (ps_pdread (ta->ph, addr, copy, ta->ta_sizeof_pthread) != PS_OK)
return TD_ERR;
- err = DB_GET_FIELD_LOCAL (schedpolicy, ta, copy, pthread,
- schedpolicy, 0);
- if (err != TD_OK)
- break;
- err = DB_GET_FIELD_LOCAL (schedprio, ta, copy, pthread,
- schedparam_sched_priority, 0);
+ /* Verify that this thread's pid field matches the child PID.
+ If its pid field is negative, it's about to do a fork or it
+ is the sole thread in a fork child. */
+ psaddr_t pid;
+ err = DB_GET_FIELD_LOCAL (pid, ta, copy, pthread, pid, 0);
+ if (err == TD_OK && (pid_t) (uintptr_t) pid < 0)
+ {
+ if (-(pid_t) (uintptr_t) pid == match_pid)
+ /* It is about to do a fork, but is really still the parent PID. */
+ pid = (psaddr_t) (uintptr_t) match_pid;
+ else
+ /* It must be a fork child, whose new PID is in the tid field. */
+ err = DB_GET_FIELD_LOCAL (pid, ta, copy, pthread, tid, 0);
+ }
if (err != TD_OK)
break;
- /* Now test whether this thread matches the specified conditions. */
-
- /* Only if the priority level is as high or higher. */
- int descr_pri = ((uintptr_t) schedpolicy == SCHED_OTHER
- ? 0 : (uintptr_t) schedprio);
- if (descr_pri >= ti_pri)
+ if ((pid_t) (uintptr_t) pid == match_pid)
{
- /* Yep, it matches. Call the callback function. */
- td_thrhandle_t th;
- th.th_ta_p = (td_thragent_t *) ta;
- th.th_unique = addr;
- if (callback (&th, cbdata_p) != 0)
- return TD_DBERR;
+ err = DB_GET_FIELD_LOCAL (schedpolicy, ta, copy, pthread,
+ schedpolicy, 0);
+ if (err != TD_OK)
+ break;
+ err = DB_GET_FIELD_LOCAL (schedprio, ta, copy, pthread,
+ schedparam_sched_priority, 0);
+ if (err != TD_OK)
+ break;
+
+ /* Now test whether this thread matches the specified conditions. */
+
+ /* Only if the priority level is as high or higher. */
+ int descr_pri = ((uintptr_t) schedpolicy == SCHED_OTHER
+ ? 0 : (uintptr_t) schedprio);
+ if (descr_pri >= ti_pri)
+ {
+ /* Yep, it matches. Call the callback function. */
+ td_thrhandle_t th;
+ th.th_ta_p = (td_thragent_t *) ta;
+ th.th_unique = addr;
+ if (callback (&th, cbdata_p) != 0)
+ return TD_DBERR;
+ }
}
/* Get the pointer to the next element. */
@@ -135,17 +155,18 @@ td_ta_thr_iter (const td_thragent_t *ta_arg, td_thr_iter_f *callback,
have to iterate over both lists separately. We start with the
list of threads with user-defined stacks. */
+ pid_t pid = ps_getpid (ta->ph);
err = DB_GET_SYMBOL (list, ta, __stack_user);
if (err == TD_OK)
err = iterate_thread_list (ta, callback, cbdata_p, state, ti_pri,
- list, true);
+ list, true, pid);
/* And the threads with stacks allocated by the implementation. */
if (err == TD_OK)
err = DB_GET_SYMBOL (list, ta, stack_used);
if (err == TD_OK)
err = iterate_thread_list (ta, callback, cbdata_p, state, ti_pri,
- list, false);
+ list, false, pid);
return err;
}
diff --git a/libc/nptl_db/td_thr_validate.c b/libc/nptl_db/td_thr_validate.c
index 9a77250d4..adcde3c87 100644
--- a/libc/nptl_db/td_thr_validate.c
+++ b/libc/nptl_db/td_thr_validate.c
@@ -1,5 +1,6 @@
/* Validate a thread handle.
- Copyright (C) 1999,2001,2002,2003,2004,2007 Free Software Foundation, Inc.
+ Copyright (C) 1999,2001,2002,2003,2004,2007,2008
+ Free Software Foundation, Inc.
This file is part of the GNU C Library.
Contributed by Ulrich Drepper <drepper@redhat.com>, 1999.
@@ -81,5 +82,28 @@ td_thr_validate (const td_thrhandle_t *th)
err = TD_OK;
}
+ if (err == TD_OK)
+ {
+ /* Verify that this is not a stale element in a fork child. */
+ pid_t match_pid = ps_getpid (th->th_ta_p->ph);
+ psaddr_t pid;
+ err = DB_GET_FIELD (pid, th->th_ta_p, th->th_unique, pthread, pid, 0);
+ if (err == TD_OK && (pid_t) (uintptr_t) pid < 0)
+ {
+ /* This was a thread that was about to fork, or it is the new sole
+ thread in a fork child. In the latter case, its tid was stored
+ via CLONE_CHILD_SETTID and so is already the proper child PID. */
+ if (-(pid_t) (uintptr_t) pid == match_pid)
+ /* It is about to do a fork, but is really still the parent PID. */
+ pid = (psaddr_t) (uintptr_t) match_pid;
+ else
+ /* It must be a fork child, whose new PID is in the tid field. */
+ err = DB_GET_FIELD (pid, th->th_ta_p, th->th_unique,
+ pthread, tid, 0);
+ }
+ if (err == TD_OK && (pid_t) (uintptr_t) pid != match_pid)
+ err = TD_NOTHR;
+ }
+
return err;
}
diff --git a/libc/nscd/connections.c b/libc/nscd/connections.c
index 8140e9682..5da5e5f08 100644
--- a/libc/nscd/connections.c
+++ b/libc/nscd/connections.c
@@ -1,6 +1,5 @@
/* Inner loops of cache daemon.
- Copyright (C) 1998-2003, 2004, 2005, 2006, 2007, 2008
- Free Software Foundation, Inc.
+ Copyright (C) 1998-2007, 2008 Free Software Foundation, Inc.
This file is part of the GNU C Library.
Contributed by Ulrich Drepper <drepper@cygnus.com>, 1998.
@@ -112,7 +111,8 @@ struct database_dyn dbs[lastdb] =
.propagate = 1,
.shared = 0,
.max_db_size = DEFAULT_MAX_DB_SIZE,
- .reset_res = 0,
+ .suggested_module = DEFAULT_SUGGESTED_MODULE,
+ .reset_res = 0,
.filename = "/etc/passwd",
.db_filename = _PATH_NSCD_PASSWD_DB,
.disabled_iov = &pwd_iov_disabled,
@@ -131,6 +131,7 @@ struct database_dyn dbs[lastdb] =
.propagate = 1,
.shared = 0,
.max_db_size = DEFAULT_MAX_DB_SIZE,
+ .suggested_module = DEFAULT_SUGGESTED_MODULE,
.reset_res = 0,
.filename = "/etc/group",
.db_filename = _PATH_NSCD_GROUP_DB,
@@ -150,6 +151,7 @@ struct database_dyn dbs[lastdb] =
.propagate = 0, /* Not used. */
.shared = 0,
.max_db_size = DEFAULT_MAX_DB_SIZE,
+ .suggested_module = DEFAULT_SUGGESTED_MODULE,
.reset_res = 1,
.filename = "/etc/hosts",
.db_filename = _PATH_NSCD_HOSTS_DB,
@@ -169,6 +171,7 @@ struct database_dyn dbs[lastdb] =
.propagate = 0, /* Not used. */
.shared = 0,
.max_db_size = DEFAULT_MAX_DB_SIZE,
+ .suggested_module = DEFAULT_SUGGESTED_MODULE,
.reset_res = 0,
.filename = "/etc/services",
.db_filename = _PATH_NSCD_SERVICES_DB,
@@ -346,7 +349,7 @@ verify_persistent_db (void *mem, struct database_pers_head *readhead, int dbnr)
struct database_pers_head head_copy = *head;
/* Check that the header that was read matches the head in the database. */
- if (readhead != NULL && memcmp (head, readhead, sizeof (*head)) != 0)
+ if (memcmp (head, readhead, sizeof (*head)) != 0)
return 0;
/* First some easy tests: make sure the database header is sane. */
@@ -356,6 +359,7 @@ verify_persistent_db (void *mem, struct database_pers_head *readhead, int dbnr)
This should cover daylight saving time changes. */
|| head->timestamp > now + 60 * 60 + 60
|| (head->gc_cycle & 1)
+ || head->module == 0
|| (size_t) head->module > INT32_MAX / sizeof (ref_t)
|| (size_t) head->data_size > INT32_MAX - head->module * sizeof (ref_t)
|| head->first_free < 0
@@ -506,6 +510,7 @@ nscd_init (void)
int fd = open (dbs[cnt].db_filename, O_RDWR | EXTRA_O_FLAGS);
if (fd != -1)
{
+ char *msg = NULL;
struct stat64 st;
void *mem;
size_t total;
@@ -514,23 +519,26 @@ nscd_init (void)
sizeof (head)));
if (n != sizeof (head) || fstat64 (fd, &st) != 0)
{
+ fail_db_errno:
+ /* The code is single-threaded at this point so
+ using strerror is just fine. */
+ msg = strerror (errno);
fail_db:
dbg_log (_("invalid persistent database file \"%s\": %s"),
- dbs[cnt].db_filename, strerror (errno));
+ dbs[cnt].db_filename, msg);
unlink (dbs[cnt].db_filename);
}
else if (head.module == 0 && head.data_size == 0)
{
- /* The file has been created, but the head has not been
- initialized yet. Remove the old file. */
- unlink (dbs[cnt].db_filename);
+ /* The file has been created, but the head has not
+ been initialized yet. */
+ msg = _("uninitialized header");
+ goto fail_db;
}
else if (head.header_size != (int) sizeof (head))
{
- dbg_log (_("invalid persistent database file \"%s\": %s"),
- dbs[cnt].db_filename,
- _("header size does not match"));
- unlink (dbs[cnt].db_filename);
+ msg = _("header size does not match");
+ goto fail_db;
}
else if ((total = (sizeof (head)
+ roundup (head.module * sizeof (ref_t),
@@ -539,10 +547,8 @@ nscd_init (void)
> st.st_size
|| total < sizeof (head))
{
- dbg_log (_("invalid persistent database file \"%s\": %s"),
- dbs[cnt].db_filename,
- _("file size does not match"));
- unlink (dbs[cnt].db_filename);
+ msg = _("file size does not match");
+ goto fail_db;
}
/* Note we map with the maximum size allowed for the
database. This is likely much larger than the
@@ -554,14 +560,12 @@ nscd_init (void)
PROT_READ | PROT_WRITE,
MAP_SHARED, fd, 0))
== MAP_FAILED)
- goto fail_db;
+ goto fail_db_errno;
else if (!verify_persistent_db (mem, &head, cnt))
{
munmap (mem, total);
- dbg_log (_("invalid persistent database file \"%s\": %s"),
- dbs[cnt].db_filename,
- _("verification failed"));
- unlink (dbs[cnt].db_filename);
+ msg = _("verification failed");
+ goto fail_db;
}
else
{
diff --git a/libc/nscd/nscd.h b/libc/nscd/nscd.h
index cd6fe15c3..ec2d9454c 100644
--- a/libc/nscd/nscd.h
+++ b/libc/nscd/nscd.h
@@ -1,4 +1,4 @@
-/* Copyright (c) 1998, 1999, 2000, 2001, 2003, 2004, 2005, 2006, 2007
+/* Copyright (c) 1998, 1999, 2000, 2001, 2003, 2004, 2005, 2006, 2007, 2008
Free Software Foundation, Inc.
This file is part of the GNU C Library.
Contributed by Thorsten Kukuk <kukuk@suse.de>, 1998.
@@ -120,6 +120,9 @@ struct database_dyn
/* Number of bytes of data we initially reserve for each hash table bucket. */
#define DEFAULT_DATASIZE_PER_BUCKET 1024
+/* Default module of hash table. */
+#define DEFAULT_SUGGESTED_MODULE 211
+
/* Number of seconds between two cache pruning runs if we do not have
better information when it is really needed. */
diff --git a/libc/nscd/nscd_conf.c b/libc/nscd/nscd_conf.c
index 0d5a5f2d8..9d0ef0e43 100644
--- a/libc/nscd/nscd_conf.c
+++ b/libc/nscd/nscd_conf.c
@@ -1,4 +1,4 @@
-/* Copyright (c) 1998, 2000, 2003-2006, 2007 Free Software Foundation, Inc.
+/* Copyright (c) 1998, 2000, 2003-2007, 2008 Free Software Foundation, Inc.
This file is part of the GNU C Library.
Contributed by Thorsten Kukuk <kukuk@suse.de>, 1998.
@@ -140,7 +140,8 @@ nscd_parse_file (const char *fname, struct database_dyn dbs[lastdb])
{
int idx = find_db (arg1);
if (idx >= 0)
- dbs[idx].suggested_module = atol (arg2);
+ dbs[idx].suggested_module
+ = atol (arg2) ?: DEFAULT_SUGGESTED_MODULE;
}
else if (strcmp (entry, "enable-cache") == 0)
{
@@ -168,7 +169,7 @@ nscd_parse_file (const char *fname, struct database_dyn dbs[lastdb])
{
int idx = find_db (arg1);
if (idx >= 0)
- dbs[idx].max_db_size = atol (arg2);
+ dbs[idx].max_db_size = atol (arg2) ?: DEFAULT_MAX_DB_SIZE;
}
else if (strcmp (entry, "logfile") == 0)
set_logfile (arg1);
diff --git a/libc/nscd/nscd_helper.c b/libc/nscd/nscd_helper.c
index 866535200..9828a46df 100644
--- a/libc/nscd/nscd_helper.c
+++ b/libc/nscd/nscd_helper.c
@@ -1,5 +1,4 @@
-/* Copyright (C) 1998-2002,2003,2004,2005,2006,2007
- Free Software Foundation, Inc.
+/* Copyright (C) 1998-2007, 2008 Free Software Foundation, Inc.
This file is part of the GNU C Library.
Contributed by Ulrich Drepper <drepper@cygnus.com>, 1998.
@@ -339,6 +338,9 @@ get_mapping (request_type type, const char *key,
if (__builtin_expect (head->version != DB_VERSION, 0)
|| __builtin_expect (head->header_size != sizeof (*head), 0)
+ /* Catch some misconfiguration. The server should catch
+ them now but some older versions did not. */
+ || __builtin_expect (head->module == 0, 0)
/* This really should not happen but who knows, maybe the update
thread got stuck. */
|| __builtin_expect (! head->nscd_certainly_running
diff --git a/libc/nss/nss_files/files-XXX.c b/libc/nss/nss_files/files-XXX.c
index 2149d1c40..426007e1a 100644
--- a/libc/nss/nss_files/files-XXX.c
+++ b/libc/nss/nss_files/files-XXX.c
@@ -1,5 +1,6 @@
/* Common code for file-based databases in nss_files module.
- Copyright (C) 1996-1999,2001,2002,2004,2007 Free Software Foundation, Inc.
+ Copyright (C) 1996-1999,2001,2002,2004,2007,2008
+ Free Software Foundation, Inc.
This file is part of the GNU C Library.
The GNU C Library is free software; you can redistribute it and/or
@@ -254,8 +255,12 @@ CONCAT(_nss_files_get,ENTNAME_r) (struct STRUCTURE *result, char *buffer,
/* Be prepared that the set*ent function was not called before. */
if (stream == NULL)
{
+ int save_errno = errno;
+
status = internal_setent (0);
+ __set_errno (errno);
+
if (status == NSS_STATUS_SUCCESS && fgetpos (stream, &position) < 0)
{
fclose (stream);
diff --git a/libc/po/be.po b/libc/po/be.po
index b69264a1e..fb9c3e53f 100644
--- a/libc/po/be.po
+++ b/libc/po/be.po
@@ -3448,59 +3448,59 @@ msgstr "ÐераÑÐ¿Ð°Ð·Ð½Ð°Ð½Ð°Ñ Ð¿ÐµÑ€Ð°Ð¼ÐµÐ½Ð½Ð°Ñ \"%s\""
#: posix/getopt.c:692 posix/getopt.c:704
#, c-format
-msgid "%s: option `%s' is ambiguous\n"
+msgid "%s: option '%s' is ambiguous\n"
msgstr ""
#: posix/getopt.c:737 posix/getopt.c:741
#, c-format
-msgid "%s: option `--%s' doesn't allow an argument\n"
+msgid "%s: option '--%s' doesn't allow an argument\n"
msgstr ""
#: posix/getopt.c:750 posix/getopt.c:755
#, c-format
-msgid "%s: option `%c%s' doesn't allow an argument\n"
+msgid "%s: option '%c%s' doesn't allow an argument\n"
msgstr ""
#: posix/getopt.c:791 posix/getopt.c:804 posix/getopt.c:1093
#: posix/getopt.c:1106
#, c-format
-msgid "%s: option `%s' requires an argument\n"
+msgid "%s: option '%s' requires an argument\n"
msgstr ""
#: posix/getopt.c:842 posix/getopt.c:845
#, c-format
-msgid "%s: unrecognized option `--%s'\n"
+msgid "%s: unrecognized option '--%s'\n"
msgstr ""
#: posix/getopt.c:853 posix/getopt.c:856
#, c-format
-msgid "%s: unrecognized option `%c%s'\n"
+msgid "%s: unrecognized option '%c%s'\n"
msgstr ""
#: posix/getopt.c:903 posix/getopt.c:906
#, c-format
-msgid "%s: illegal option -- %c\n"
-msgstr "%s: недапушчальны выраб -- %c\n"
+msgid "%s: illegal option -- '%c'\n"
+msgstr "%s: недапушчальны выраб -- '%c'\n"
#: posix/getopt.c:912 posix/getopt.c:915
#, c-format
-msgid "%s: invalid option -- %c\n"
+msgid "%s: invalid option -- '%c'\n"
msgstr ""
#: posix/getopt.c:962 posix/getopt.c:973 posix/getopt.c:1159
#: posix/getopt.c:1172
#, c-format
-msgid "%s: option requires an argument -- %c\n"
+msgid "%s: option requires an argument -- '%c'\n"
msgstr ""
#: posix/getopt.c:1025 posix/getopt.c:1036
#, c-format
-msgid "%s: option `-W %s' is ambiguous\n"
+msgid "%s: option '-W %s' is ambiguous\n"
msgstr ""
#: posix/getopt.c:1060 posix/getopt.c:1072
#, c-format
-msgid "%s: option `-W %s' doesn't allow an argument\n"
+msgid "%s: option '-W %s' doesn't allow an argument\n"
msgstr ""
#: posix/regcomp.c:136
diff --git a/libc/po/bg.po b/libc/po/bg.po
index 279476dd2..a8bcbb3b8 100644
--- a/libc/po/bg.po
+++ b/libc/po/bg.po
@@ -4210,59 +4210,59 @@ msgstr ""
#: posix/getopt.c:571 posix/getopt.c:587
#, c-format
-msgid "%s: option `%s' is ambiguous\n"
+msgid "%s: option '%s' is ambiguous\n"
msgstr ""
#: posix/getopt.c:620 posix/getopt.c:624
#, c-format
-msgid "%s: option `--%s' doesn't allow an argument\n"
+msgid "%s: option '--%s' doesn't allow an argument\n"
msgstr ""
#: posix/getopt.c:633 posix/getopt.c:638
#, c-format
-msgid "%s: option `%c%s' doesn't allow an argument\n"
+msgid "%s: option '%c%s' doesn't allow an argument\n"
msgstr ""
#: posix/getopt.c:681 posix/getopt.c:700 posix/getopt.c:1016
#: posix/getopt.c:1035
#, c-format
-msgid "%s: option `%s' requires an argument\n"
+msgid "%s: option '%s' requires an argument\n"
msgstr ""
#: posix/getopt.c:738 posix/getopt.c:741
#, c-format
-msgid "%s: unrecognized option `--%s'\n"
+msgid "%s: unrecognized option '--%s'\n"
msgstr ""
#: posix/getopt.c:749 posix/getopt.c:752
#, c-format
-msgid "%s: unrecognized option `%c%s'\n"
+msgid "%s: unrecognized option '%c%s'\n"
msgstr ""
#: posix/getopt.c:804 posix/getopt.c:807
#, c-format
-msgid "%s: illegal option -- %c\n"
+msgid "%s: illegal option -- '%c'\n"
msgstr ""
#: posix/getopt.c:813 posix/getopt.c:816
#, c-format
-msgid "%s: invalid option -- %c\n"
+msgid "%s: invalid option -- '%c'\n"
msgstr ""
#: posix/getopt.c:868 posix/getopt.c:884 posix/getopt.c:1088
#: posix/getopt.c:1106
#, c-format
-msgid "%s: option requires an argument -- %c\n"
+msgid "%s: option requires an argument -- '%c'\n"
msgstr ""
#: posix/getopt.c:937 posix/getopt.c:953
#, c-format
-msgid "%s: option `-W %s' is ambiguous\n"
+msgid "%s: option '-W %s' is ambiguous\n"
msgstr ""
#: posix/getopt.c:977 posix/getopt.c:995
#, c-format
-msgid "%s: option `-W %s' doesn't allow an argument\n"
+msgid "%s: option '-W %s' doesn't allow an argument\n"
msgstr ""
#: posix/regcomp.c:135
diff --git a/libc/po/ca.po b/libc/po/ca.po
index add3c495e..98b9bd65a 100644
--- a/libc/po/ca.po
+++ b/libc/po/ca.po
@@ -4497,59 +4497,59 @@ msgstr "la variable «%s» no és reconeguda"
#: posix/getopt.c:571 posix/getopt.c:587
#, c-format
-msgid "%s: option `%s' is ambiguous\n"
+msgid "%s: option '%s' is ambiguous\n"
msgstr "%s: l’opció «%s» és ambígua\n"
#: posix/getopt.c:620 posix/getopt.c:624
#, c-format
-msgid "%s: option `--%s' doesn't allow an argument\n"
+msgid "%s: option '--%s' doesn't allow an argument\n"
msgstr "%s: l’opció «--%s» no admet arguments\n"
#: posix/getopt.c:633 posix/getopt.c:638
#, c-format
-msgid "%s: option `%c%s' doesn't allow an argument\n"
+msgid "%s: option '%c%s' doesn't allow an argument\n"
msgstr "%s: l’opció «%c%s» no admet arguments\n"
#: posix/getopt.c:681 posix/getopt.c:700 posix/getopt.c:1016
#: posix/getopt.c:1035
#, c-format
-msgid "%s: option `%s' requires an argument\n"
+msgid "%s: option '%s' requires an argument\n"
msgstr "%s: l’opció «%s» necessita un argument\n"
#: posix/getopt.c:738 posix/getopt.c:741
#, c-format
-msgid "%s: unrecognized option `--%s'\n"
+msgid "%s: unrecognized option '--%s'\n"
msgstr "%s: l’opció «--%s» no és reconeguda\n"
#: posix/getopt.c:749 posix/getopt.c:752
#, c-format
-msgid "%s: unrecognized option `%c%s'\n"
+msgid "%s: unrecognized option '%c%s'\n"
msgstr "%s: l’opció «%c%s» no és reconeguda\n"
#: posix/getopt.c:804 posix/getopt.c:807
#, c-format
-msgid "%s: illegal option -- %c\n"
+msgid "%s: illegal option -- '%c'\n"
msgstr "%s: no es permet l’opció «%c»\n"
#: posix/getopt.c:813 posix/getopt.c:816
#, c-format
-msgid "%s: invalid option -- %c\n"
+msgid "%s: invalid option -- '%c'\n"
msgstr "%s: l’opció «%c» no és vàlida\n"
#: posix/getopt.c:868 posix/getopt.c:884 posix/getopt.c:1088
#: posix/getopt.c:1106
#, c-format
-msgid "%s: option requires an argument -- %c\n"
+msgid "%s: option requires an argument -- '%c'\n"
msgstr "%s: l’opció «%c» necessita un argument\n"
#: posix/getopt.c:937 posix/getopt.c:953
#, c-format
-msgid "%s: option `-W %s' is ambiguous\n"
+msgid "%s: option '-W %s' is ambiguous\n"
msgstr "%s: l’opció «-W %s» és ambígua\n"
#: posix/getopt.c:977 posix/getopt.c:995
#, c-format
-msgid "%s: option `-W %s' doesn't allow an argument\n"
+msgid "%s: option '-W %s' doesn't allow an argument\n"
msgstr "%s: l’opció «-W %s» no admet arguments\n"
#: posix/regcomp.c:135
diff --git a/libc/po/cs.po b/libc/po/cs.po
index cd34a0349..d1d3d72aa 100644
--- a/libc/po/cs.po
+++ b/libc/po/cs.po
@@ -4359,35 +4359,35 @@ msgstr "Neznámá proměnná „%s“"
#: posix/getopt.c:571 posix/getopt.c:587
#, c-format
-msgid "%s: option `%s' is ambiguous\n"
+msgid "%s: option '%s' is ambiguous\n"
msgstr "%s: pÅ™epínaÄ â€ž%s“ není jednoznaÄný\n"
#: posix/getopt.c:620 posix/getopt.c:624
#, c-format
-msgid "%s: option `--%s' doesn't allow an argument\n"
+msgid "%s: option '--%s' doesn't allow an argument\n"
msgstr "%s: pÅ™epínaÄ â€ž--%s“ musí být zadán bez argumentu\n"
#: posix/getopt.c:633 posix/getopt.c:638
#, c-format
-msgid "%s: option `%c%s' doesn't allow an argument\n"
+msgid "%s: option '%c%s' doesn't allow an argument\n"
msgstr "%s: pÅ™epínaÄ â€ž%c%s“ musí být zadán bez argumentu\n"
#: posix/getopt.c:681 posix/getopt.c:700 posix/getopt.c:1016
#: posix/getopt.c:1035
#, c-format
-msgid "%s: option `%s' requires an argument\n"
+msgid "%s: option '%s' requires an argument\n"
msgstr "%s: pÅ™epínaÄ â€ž%s“ vyžaduje argument\n"
# Říká, že žádný pÅ™epínaÄ takového jména nebyl nalezen.
#: posix/getopt.c:738 posix/getopt.c:741
#, c-format
-msgid "%s: unrecognized option `--%s'\n"
+msgid "%s: unrecognized option '--%s'\n"
msgstr "%s: neznámý pÅ™epínaÄ â€ž--%s“\n"
# Říká, že žádný pÅ™epínaÄ takového jména nebyl nalezen.
#: posix/getopt.c:749 posix/getopt.c:752
#, c-format
-msgid "%s: unrecognized option `%c%s'\n"
+msgid "%s: unrecognized option '%c%s'\n"
msgstr "%s: neznámý pÅ™epínaÄ â€ž%c%s“\n"
# Rozdíl mezi 'illegal option' a 'invalid option' není žádný. To která zpráva
@@ -4395,29 +4395,29 @@ msgstr "%s: neznámý pÅ™epínaÄ â€ž%c%s“\n"
# 'Illegal option' je POSIXové.
#: posix/getopt.c:804 posix/getopt.c:807
#, c-format
-msgid "%s: illegal option -- %c\n"
+msgid "%s: illegal option -- '%c'\n"
msgstr "%s: neznámý pÅ™epínaÄ -- %c\n"
# Vysvětlení viz 'illegal option'
#: posix/getopt.c:813 posix/getopt.c:816
#, c-format
-msgid "%s: invalid option -- %c\n"
+msgid "%s: invalid option -- '%c'\n"
msgstr "%s: neznámý pÅ™epínaÄ -- %c\n"
#: posix/getopt.c:868 posix/getopt.c:884 posix/getopt.c:1088
#: posix/getopt.c:1106
#, c-format
-msgid "%s: option requires an argument -- %c\n"
+msgid "%s: option requires an argument -- '%c'\n"
msgstr "%s: pÅ™epínaÄ vyžaduje argument – %c\n"
#: posix/getopt.c:937 posix/getopt.c:953
#, c-format
-msgid "%s: option `-W %s' is ambiguous\n"
+msgid "%s: option '-W %s' is ambiguous\n"
msgstr "%s: pÅ™epínaÄ â€ž-W %s“ není jednoznaÄný\n"
#: posix/getopt.c:977 posix/getopt.c:995
#, c-format
-msgid "%s: option `-W %s' doesn't allow an argument\n"
+msgid "%s: option '-W %s' doesn't allow an argument\n"
msgstr "%s: pÅ™epínaÄ â€ž-W %s“ musí být zadán bez argumentu\n"
# Nenalezeno
diff --git a/libc/po/da.po b/libc/po/da.po
index bf62fd54c..73f077ec1 100644
--- a/libc/po/da.po
+++ b/libc/po/da.po
@@ -3473,59 +3473,59 @@ msgstr "Ukendt variabel '%s'"
#: posix/getopt.c:692 posix/getopt.c:704
#, c-format
-msgid "%s: option `%s' is ambiguous\n"
+msgid "%s: option '%s' is ambiguous\n"
msgstr "%s: flaget '%s' er flertydigt\n"
#: posix/getopt.c:737 posix/getopt.c:741
#, c-format
-msgid "%s: option `--%s' doesn't allow an argument\n"
+msgid "%s: option '--%s' doesn't allow an argument\n"
msgstr "%s: flaget '--%s' tager ikke argumenter\n"
#: posix/getopt.c:750 posix/getopt.c:755
#, c-format
-msgid "%s: option `%c%s' doesn't allow an argument\n"
+msgid "%s: option '%c%s' doesn't allow an argument\n"
msgstr "%s: flaget '%c%s' tager ikke argumenter\n"
#: posix/getopt.c:791 posix/getopt.c:804 posix/getopt.c:1093
#: posix/getopt.c:1106
#, c-format
-msgid "%s: option `%s' requires an argument\n"
+msgid "%s: option '%s' requires an argument\n"
msgstr "%s: flaget '%s' skal have et argument\n"
#: posix/getopt.c:842 posix/getopt.c:845
#, c-format
-msgid "%s: unrecognized option `--%s'\n"
+msgid "%s: unrecognized option '--%s'\n"
msgstr "%s: ukendt flag '--%s'\n"
#: posix/getopt.c:853 posix/getopt.c:856
#, c-format
-msgid "%s: unrecognized option `%c%s'\n"
+msgid "%s: unrecognized option '%c%s'\n"
msgstr "%s: ukendt flag '%c%s'\n"
#: posix/getopt.c:903 posix/getopt.c:906
#, c-format
-msgid "%s: illegal option -- %c\n"
+msgid "%s: illegal option -- '%c'\n"
msgstr "%s: ulovligt flag -- %c\n"
#: posix/getopt.c:912 posix/getopt.c:915
#, c-format
-msgid "%s: invalid option -- %c\n"
+msgid "%s: invalid option -- '%c'\n"
msgstr "%s: ugyldigt flag -- %c\n"
#: posix/getopt.c:962 posix/getopt.c:973 posix/getopt.c:1159
#: posix/getopt.c:1172
#, c-format
-msgid "%s: option requires an argument -- %c\n"
+msgid "%s: option requires an argument -- '%c'\n"
msgstr "%s: flaget skal have et argument -- %c\n"
#: posix/getopt.c:1025 posix/getopt.c:1036
#, c-format
-msgid "%s: option `-W %s' is ambiguous\n"
+msgid "%s: option '-W %s' is ambiguous\n"
msgstr "%s: flaget '-W %s' er flertydigt\n"
#: posix/getopt.c:1060 posix/getopt.c:1072
#, c-format
-msgid "%s: option `-W %s' doesn't allow an argument\n"
+msgid "%s: option '-W %s' doesn't allow an argument\n"
msgstr "%s: flaget '-W %s' tager ikke argumenter\n"
#: posix/regcomp.c:136
diff --git a/libc/po/de.po b/libc/po/de.po
index 346cc8435..b564f5589 100644
--- a/libc/po/de.po
+++ b/libc/po/de.po
@@ -3590,59 +3590,59 @@ msgstr "Unbekannte Variable »%s«"
#: posix/getopt.c:692 posix/getopt.c:711
#, c-format
-msgid "%s: option `%s' is ambiguous\n"
+msgid "%s: option '%s' is ambiguous\n"
msgstr "%s: Die Option »%s« ist nicht eindeutig\n"
#: posix/getopt.c:744 posix/getopt.c:748
#, c-format
-msgid "%s: option `--%s' doesn't allow an argument\n"
+msgid "%s: option '--%s' doesn't allow an argument\n"
msgstr "%s: Die Option »--%s« erlaubt kein Argument\n"
#: posix/getopt.c:757 posix/getopt.c:762
#, c-format
-msgid "%s: option `%c%s' doesn't allow an argument\n"
+msgid "%s: option '%c%s' doesn't allow an argument\n"
msgstr "%s: Die Option »%c%s« erlaubt kein Argument\n"
#: posix/getopt.c:807 posix/getopt.c:829 posix/getopt.c:1159
#: posix/getopt.c:1181
#, c-format
-msgid "%s: option `%s' requires an argument\n"
+msgid "%s: option '%s' requires an argument\n"
msgstr "%s: Die Option »%s« erfordert ein Argument\n"
#: posix/getopt.c:867 posix/getopt.c:870
#, c-format
-msgid "%s: unrecognized option `--%s'\n"
+msgid "%s: unrecognized option '--%s'\n"
msgstr "%s: Unbekannte Option »--%s«\n"
#: posix/getopt.c:878 posix/getopt.c:881
#, c-format
-msgid "%s: unrecognized option `%c%s'\n"
+msgid "%s: unrecognized option '%c%s'\n"
msgstr "%s: Unbekannte Option »%c%s«\n"
#: posix/getopt.c:936 posix/getopt.c:939
#, c-format
-msgid "%s: illegal option -- %c\n"
+msgid "%s: illegal option -- '%c'\n"
msgstr "%s: Die Option ist nicht erlaubt -- »%c«\n"
#: posix/getopt.c:945 posix/getopt.c:948
#, c-format
-msgid "%s: invalid option -- %c\n"
+msgid "%s: invalid option -- '%c'\n"
msgstr "%s: Ungültige Option -- %c\n"
#: posix/getopt.c:1003 posix/getopt.c:1022 posix/getopt.c:1234
#: posix/getopt.c:1255
#, c-format
-msgid "%s: option requires an argument -- %c\n"
+msgid "%s: option requires an argument -- '%c'\n"
msgstr "%s: Diese Option benötigt ein Argument -- »%c«\n"
#: posix/getopt.c:1074 posix/getopt.c:1093
#, c-format
-msgid "%s: option `-W %s' is ambiguous\n"
+msgid "%s: option '-W %s' is ambiguous\n"
msgstr "%s: Die Option »-W %s« ist nicht eindeutig\n"
#: posix/getopt.c:1117 posix/getopt.c:1138
#, c-format
-msgid "%s: option `-W %s' doesn't allow an argument\n"
+msgid "%s: option '-W %s' doesn't allow an argument\n"
msgstr "%s: Die Option »-W %s« erlaubt kein Argument\n"
#: posix/regcomp.c:150
diff --git a/libc/po/es.po b/libc/po/es.po
index 14d547fc9..493a54c60 100644
--- a/libc/po/es.po
+++ b/libc/po/es.po
@@ -3920,38 +3920,38 @@ msgstr "Variable no reconocida `%s'"
#: posix/getopt.c:692 posix/getopt.c:711
#, c-format
-msgid "%s: option `%s' is ambiguous\n"
+msgid "%s: option '%s' is ambiguous\n"
msgstr "%s: la opción `%s' es ambigua\n"
#: posix/getopt.c:744 posix/getopt.c:748
#, c-format
-msgid "%s: option `--%s' doesn't allow an argument\n"
+msgid "%s: option '--%s' doesn't allow an argument\n"
msgstr "%s: la opción `--%s' no admite ningún argumento\n"
#: posix/getopt.c:757 posix/getopt.c:762
#, c-format
-msgid "%s: option `%c%s' doesn't allow an argument\n"
+msgid "%s: option '%c%s' doesn't allow an argument\n"
msgstr "%s: la opción `%c%s' no admite ningún argumento\n"
#: posix/getopt.c:807 posix/getopt.c:829 posix/getopt.c:1159
#: posix/getopt.c:1181
#, c-format
-msgid "%s: option `%s' requires an argument\n"
+msgid "%s: option '%s' requires an argument\n"
msgstr "%s: la opción `%s' requiere un argumento\n"
#: posix/getopt.c:867 posix/getopt.c:870
#, c-format
-msgid "%s: unrecognized option `--%s'\n"
+msgid "%s: unrecognized option '--%s'\n"
msgstr "%s: opción no reconocida `--%s'\n"
#: posix/getopt.c:878 posix/getopt.c:881
#, c-format
-msgid "%s: unrecognized option `%c%s'\n"
+msgid "%s: unrecognized option '%c%s'\n"
msgstr "%s: opción no reconocida `%c%s'\n"
#: posix/getopt.c:936 posix/getopt.c:939
#, c-format
-msgid "%s: illegal option -- %c\n"
+msgid "%s: illegal option -- '%c'\n"
msgstr "%s: opción ilegal -- %c\n"
# ¿Qué tiene de malo "inválida"? sv
@@ -3970,23 +3970,23 @@ msgstr "%s: opción ilegal -- %c\n"
#
#: posix/getopt.c:945 posix/getopt.c:948
#, c-format
-msgid "%s: invalid option -- %c\n"
+msgid "%s: invalid option -- '%c'\n"
msgstr "%s: opción inválida -- %c\n"
#: posix/getopt.c:1003 posix/getopt.c:1022 posix/getopt.c:1234
#: posix/getopt.c:1255
#, c-format
-msgid "%s: option requires an argument -- %c\n"
+msgid "%s: option requires an argument -- '%c'\n"
msgstr "%s: la opción requiere un argumento --%c\n"
#: posix/getopt.c:1074 posix/getopt.c:1093
#, c-format
-msgid "%s: option `-W %s' is ambiguous\n"
+msgid "%s: option '-W %s' is ambiguous\n"
msgstr "%s: la opción `-W %s' es ambigua\n"
#: posix/getopt.c:1117 posix/getopt.c:1138
#, c-format
-msgid "%s: option `-W %s' doesn't allow an argument\n"
+msgid "%s: option '-W %s' doesn't allow an argument\n"
msgstr "%s: la opción `-W %s' no admite ningún argumento\n"
#: posix/regcomp.c:150
diff --git a/libc/po/fr.po b/libc/po/fr.po
index c5e1d6535..f01e522cc 100644
--- a/libc/po/fr.po
+++ b/libc/po/fr.po
@@ -1,339 +1,1285 @@
-# Messages français pour GNU concernant libc.
-# Copyright © 2004 Free Software Foundation, Inc.
+# translation of libc-2.7.po to Français
+# Messages français pour GNU concernant libc.
+# Copyright © 2004, 2008 Free Software Foundation, Inc.
+# This file is distributed under the same license as the glibc package.
# Michel Robitaille <robitail@IRO.UMontreal.CA>, traducteur depuis/since 1996.
#
+# kerb <y.kerb@laposte.net>, 2008.
msgid ""
msgstr ""
-"Project-Id-Version: GNU libc 2.3.3\n"
-"POT-Creation-Date: 2004-08-05 09:16+0200\n"
-"PO-Revision-Date: 2004-08-05 12:00-0500\n"
-"Last-Translator: Michel Robitaille <robitail@IRO.UMontreal.CA>\n"
+"Project-Id-Version: libc-2.7\n"
+"POT-Creation-Date: 2007-10-15 21:18-0700\n"
+"PO-Revision-Date: 2008-02-26 17:33+0100\n"
+"Last-Translator: kerb <y.kerb@laposte.net>\n"
"Language-Team: French <traduc@traduc.org>\n"
"MIME-Version: 1.0\n"
-"Content-Type: text/plain; charset=ISO-8859-1\n"
-"Content-Transfer-Encoding: 8-bit\n"
+"Content-Type: text/plain; charset=UTF-8\n"
+"Content-Transfer-Encoding: 8bit\n"
"Plural-Forms: nplurals=2; plural=(n > 1);\n"
+"X-Generator: KBabel 1.11.4\n"
-#: sysdeps/generic/siglist.h:29 stdio-common/../sysdeps/unix/siglist.c:27
-msgid "Hangup"
-msgstr "Fin de la connexion (raccroché)"
+#: argp/argp-help.c:228
+#, c-format
+msgid "%.*s: ARGP_HELP_FMT parameter requires a value"
+msgstr "%.*s : le paramètre ARGP_HELP_FMT requiert une valeur"
-#: sysdeps/generic/siglist.h:30 stdio-common/../sysdeps/unix/siglist.c:28
-msgid "Interrupt"
-msgstr "Interruption"
+#: argp/argp-help.c:238
+#, c-format
+msgid "%.*s: Unknown ARGP_HELP_FMT parameter"
+msgstr "% *s : paramètre ARGP_HELP_FMT inconnu"
-#: sysdeps/generic/siglist.h:31 stdio-common/../sysdeps/unix/siglist.c:29
-msgid "Quit"
-msgstr "Quitter"
+#: argp/argp-help.c:251
+#, c-format
+msgid "Garbage in ARGP_HELP_FMT: %s"
+msgstr "Rebut dans l'argument ARGP_HELP_FMT : %s"
-#: sysdeps/generic/siglist.h:32 stdio-common/../sysdeps/unix/siglist.c:30
-msgid "Illegal instruction"
-msgstr "Instruction illégale"
+#: argp/argp-help.c:1215
+msgid "Mandatory or optional arguments to long options are also mandatory or optional for any corresponding short options."
+msgstr ""
+"Les arguments obligatoires ou optionnels pour les options de formes longues\n"
+"le sont aussi pour les options de forme courtes."
-#: sysdeps/generic/siglist.h:33 stdio-common/../sysdeps/unix/siglist.c:31
-msgid "Trace/breakpoint trap"
-msgstr "Trappe pour point d'arrêt et de trace"
+#: argp/argp-help.c:1601
+msgid "Usage:"
+msgstr "Usage :"
-#: sysdeps/generic/siglist.h:34
-msgid "Aborted"
-msgstr "Abandon"
+#: argp/argp-help.c:1605
+msgid " or: "
+msgstr " ou : "
-#: sysdeps/generic/siglist.h:35 stdio-common/../sysdeps/unix/siglist.c:34
-msgid "Floating point exception"
-msgstr "Exception en point flottant"
+#: argp/argp-help.c:1617
+msgid " [OPTION...]"
+msgstr " [OPTION...]"
-#: sysdeps/generic/siglist.h:36 stdio-common/../sysdeps/unix/siglist.c:35
-msgid "Killed"
-msgstr "Processus arrêté"
+#: argp/argp-help.c:1644
+#, c-format
+msgid "Try `%s --help' or `%s --usage' for more information.\n"
+msgstr "Pour en savoir davantage, faites : «%s --help » ou «%s --usage».\n"
-#: sysdeps/generic/siglist.h:37 stdio-common/../sysdeps/unix/siglist.c:36
-msgid "Bus error"
-msgstr "Erreur du bus"
+#: argp/argp-help.c:1672
+#, c-format
+msgid "Report bugs to %s.\n"
+msgstr "Rapporter toutes anomalies à %s.\n"
-#: sysdeps/generic/siglist.h:38 stdio-common/../sysdeps/unix/siglist.c:37
-msgid "Segmentation fault"
-msgstr "Erreur de segmentation"
+#: argp/argp-parse.c:102
+msgid "Give this help list"
+msgstr "Donne cette liste d'aide"
-#. TRANS Broken pipe; there is no process reading from the other end of a pipe.
-#. TRANS Every library function that returns this error code also generates a
-#. TRANS @code{SIGPIPE} signal; this signal terminates the program if not handled
-#. TRANS or blocked. Thus, your program will never actually see @code{EPIPE}
-#. TRANS unless it has handled or blocked @code{SIGPIPE}.
-#: sysdeps/generic/siglist.h:39 stdio-common/../sysdeps/gnu/errlist.c:351
-#: stdio-common/../sysdeps/unix/siglist.c:39
-#: stdio-common/../sysdeps/unix/sysv/sysv4/solaris2/sparc/errlist.c:62
-msgid "Broken pipe"
-msgstr "Relais brisé (pipe)"
+#: argp/argp-parse.c:103
+msgid "Give a short usage message"
+msgstr "Donne un court message expliquant l'usage"
-#: sysdeps/generic/siglist.h:40 stdio-common/../sysdeps/unix/siglist.c:40
-msgid "Alarm clock"
-msgstr "Minuterie d'alerte"
+#: argp/argp-parse.c:104
+msgid "Set the program name"
+msgstr "Initialise le nom du programme"
-#: sysdeps/generic/siglist.h:41 stdio-common/../sysdeps/unix/siglist.c:41
-msgid "Terminated"
-msgstr "Complété"
+#: argp/argp-parse.c:106
+msgid "Hang for SECS seconds (default 3600)"
+msgstr "Attend N secondes (3600 par défaut)"
-#: sysdeps/generic/siglist.h:42 stdio-common/../sysdeps/unix/siglist.c:42
-msgid "Urgent I/O condition"
-msgstr "Condition d'E/S urgente"
+#: argp/argp-parse.c:167
+msgid "Print program version"
+msgstr "Affiche la version du programme"
-#: sysdeps/generic/siglist.h:43 stdio-common/../sysdeps/unix/siglist.c:43
-msgid "Stopped (signal)"
-msgstr "Signal d'arrêt"
+#: argp/argp-parse.c:183
+msgid "(PROGRAM ERROR) No version known!?"
+msgstr "(ERREUR DU PROGRAMME) Version inconnue ! ?"
-#: sysdeps/generic/siglist.h:44 stdio-common/../sysdeps/unix/siglist.c:44
-msgid "Stopped"
-msgstr "Arrêté"
+#: argp/argp-parse.c:623
+#, c-format
+msgid "%s: Too many arguments\n"
+msgstr "%s : Trop d'arguments\n"
-#: sysdeps/generic/siglist.h:45 stdio-common/../sysdeps/unix/siglist.c:45
-msgid "Continued"
-msgstr "Poursuite"
+#: argp/argp-parse.c:766
+msgid "(PROGRAM ERROR) Option should have been recognized!?"
+msgstr "(ERREUR DU PROGRAMME) L'option aurait dû être reconnue ! ?"
-#: sysdeps/generic/siglist.h:46 stdio-common/../sysdeps/unix/siglist.c:46
-msgid "Child exited"
-msgstr "Le processus fils a terminé."
+#: assert/assert-perr.c:57
+#, c-format
+msgid "%s%s%s:%u: %s%sUnexpected error: %s.\n"
+msgstr "%s%s%s : %u : %s%s Erreur imprévue : %s.\n"
-#: sysdeps/generic/siglist.h:47 stdio-common/../sysdeps/unix/siglist.c:47
-msgid "Stopped (tty input)"
-msgstr "Arrêté (via l'entrée sur tty)"
+#: assert/assert.c:57
+#, c-format
+msgid "%s%s%s:%u: %s%sAssertion `%s' failed.\n"
+msgstr "%s%s%s :%u : %s%s L'assertion « %s » a échoué.\n"
-#: sysdeps/generic/siglist.h:48 stdio-common/../sysdeps/unix/siglist.c:48
-msgid "Stopped (tty output)"
-msgstr "Arrêté (via la sortie sur tty)"
+#: catgets/gencat.c:110 catgets/gencat.c:114 nscd/nscd.c:97 nss/makedb.c:61
+msgid "NAME"
+msgstr "NOM"
-#: sysdeps/generic/siglist.h:49 stdio-common/../sysdeps/unix/siglist.c:49
-msgid "I/O possible"
-msgstr "E/S possible"
+#: catgets/gencat.c:111
+msgid "Create C header file NAME containing symbol definitions"
+msgstr "Création du NOM du fichier d'en-tête C contenant les définitions de symboles"
-#: sysdeps/generic/siglist.h:50 stdio-common/../sysdeps/unix/siglist.c:50
-msgid "CPU time limit exceeded"
-msgstr "Temps UCT limite expiré"
+#: catgets/gencat.c:113
+msgid "Do not use existing catalog, force new output file"
+msgstr "Ne pas utiliser le catalogue existant, forcer la génération d'un autre fichier"
-#: sysdeps/generic/siglist.h:51 stdio-common/../sysdeps/unix/siglist.c:51
-msgid "File size limit exceeded"
-msgstr "Débordement de la taille permise pour un fichier"
+#: catgets/gencat.c:114 nss/makedb.c:61
+msgid "Write output to file NAME"
+msgstr "Écrit en sortie dans le FICHIER"
-#: sysdeps/generic/siglist.h:52 stdio-common/../sysdeps/unix/siglist.c:52
-msgid "Virtual timer expired"
-msgstr "Expiration de la minuterie virtuelle"
+#: catgets/gencat.c:119
+msgid ""
+"Generate message catalog.\vIf INPUT-FILE is -, input is read from standard input. If OUTPUT-FILE\n"
+"is -, output is written to standard output.\n"
+msgstr ""
+"Génère le catalogue de messages.\vSi le FICHIER_D_ENTRÉE est -, l'entrée est lue depuis l'entrée standard.\n"
+"Si le FICHIER_DE_SORTIE est -, la sortie est dirigée sur la sortie standard.\n"
-#: sysdeps/generic/siglist.h:53 stdio-common/../sysdeps/unix/siglist.c:53
-msgid "Profiling timer expired"
-msgstr "Expiration de la minuterie durant l'établissement du profile"
+#: catgets/gencat.c:124
+msgid ""
+"-o OUTPUT-FILE [INPUT-FILE]...\n"
+"[OUTPUT-FILE [INPUT-FILE]...]"
+msgstr ""
+"-o FICHIER_DE_SORTIE [FICHIER_D_ENTRÉE]...\n"
+"[FICHIER_DE_SORTIE [FICHIER_D_ENTRÉE]...]"
-#: sysdeps/generic/siglist.h:54 stdio-common/../sysdeps/unix/siglist.c:54
-msgid "Window changed"
-msgstr "La fenêtre a changée."
+#: catgets/gencat.c:232 debug/pcprofiledump.c:204 iconv/iconv_prog.c:411
+#: iconv/iconvconfig.c:380 locale/programs/localedef.c:371
+#: login/programs/pt_chown.c:88 malloc/memusagestat.c:526 nss/makedb.c:231
+msgid ""
+"For bug reporting instructions, please see:\n"
+"<http://www.gnu.org/software/libc/bugs.html>.\n"
+msgstr ""
+"Pour les instructions de rapport de bug, SVP voyez là : \n"
+"<http://www.gnu.org/software/libc/bugs.html>.\n"
-#: sysdeps/generic/siglist.h:55 stdio-common/../sysdeps/unix/siglist.c:56
-msgid "User defined signal 1"
-msgstr "Signal #1 défini par l'usager"
+#: catgets/gencat.c:246 debug/xtrace.sh:64 elf/ldconfig.c:296
+#: elf/ldd.bash.in:39 elf/sprof.c:355 iconv/iconv_prog.c:426
+#: iconv/iconvconfig.c:395 locale/programs/locale.c:275
+#: locale/programs/localedef.c:387 login/programs/pt_chown.c:59
+#: malloc/memusage.sh:71 nscd/nscd.c:406 nss/getent.c:83 nss/makedb.c:245
+#: posix/getconf.c:1012
+#, c-format
+msgid ""
+"Copyright (C) %s Free Software Foundation, Inc.\n"
+"This is free software; see the source for copying conditions. There is NO\n"
+"warranty; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.\n"
+msgstr ""
+"Copyright © %s Free Software Foundation, Inc.\n"
+"Ce logiciel est libre; voir les sources pour les conditions de\n"
+"reproduction. AUCUNE garantie n'est donnée; tant pour des raisons\n"
+"COMMERCIALES que pour RÉPONDRE À UN BESOIN PARTICULIER.\n"
-#: sysdeps/generic/siglist.h:56 stdio-common/../sysdeps/unix/siglist.c:57
-msgid "User defined signal 2"
-msgstr "Signal #2 défini par l'usager"
+#: catgets/gencat.c:251 debug/xtrace.sh:68 elf/ldconfig.c:301 elf/sprof.c:361
+#: iconv/iconv_prog.c:431 iconv/iconvconfig.c:400 locale/programs/locale.c:280
+#: locale/programs/localedef.c:392 malloc/memusage.sh:75 nscd/nscd.c:411
+#: nss/getent.c:88 nss/makedb.c:250 posix/getconf.c:1017
+#, c-format
+msgid "Written by %s.\n"
+msgstr "Écrit par %s.\n"
-#: sysdeps/generic/siglist.h:60 stdio-common/../sysdeps/unix/siglist.c:33
-msgid "EMT trap"
-msgstr "Trappe EMT"
+#: catgets/gencat.c:282
+msgid "*standard input*"
+msgstr "*entrée standard*"
-#: sysdeps/generic/siglist.h:63 stdio-common/../sysdeps/unix/siglist.c:38
-msgid "Bad system call"
-msgstr "Appel système erroné"
+#: catgets/gencat.c:288 iconv/iconv_charmap.c:158 iconv/iconv_prog.c:298
+#: nss/makedb.c:170
+#, c-format
+msgid "cannot open input file `%s'"
+msgstr "ne peut ouvrir le fichier d'entrée « %s »"
-#: sysdeps/generic/siglist.h:66
-msgid "Stack fault"
-msgstr "Erreur sur la pile"
+#: catgets/gencat.c:417 catgets/gencat.c:494
+msgid "illegal set number"
+msgstr "numéro d'ensemble non permis"
-#: sysdeps/generic/siglist.h:69
-msgid "Information request"
-msgstr "Requête d'information"
+#: catgets/gencat.c:444
+msgid "duplicate set definition"
+msgstr "double définitions d'ensemble"
-#: sysdeps/generic/siglist.h:71
-msgid "Power failure"
-msgstr "Panne d'alimentation"
+#: catgets/gencat.c:446 catgets/gencat.c:623 catgets/gencat.c:677
+msgid "this is the first definition"
+msgstr "ceci est la première définition"
-#: sysdeps/generic/siglist.h:74 stdio-common/../sysdeps/unix/siglist.c:55
-msgid "Resource lost"
-msgstr "Ressource perdue"
+#: catgets/gencat.c:522
+#, c-format
+msgid "unknown set `%s'"
+msgstr "ensemble inconnu « %s »"
-#: sysdeps/mach/hurd/mips/dl-machine.c:68
-#: string/../sysdeps/mach/_strerror.c:57
-msgid "Error in unknown error system: "
-msgstr "Erreur provenant d'une erreur système inconnue: "
+#: catgets/gencat.c:563
+msgid "invalid quote character"
+msgstr "caractère de citation (quote) invalide"
-#: sysdeps/mach/hurd/mips/dl-machine.c:83
-#: string/../sysdeps/generic/_strerror.c:44
-#: string/../sysdeps/mach/_strerror.c:87
-msgid "Unknown error "
-msgstr "Erreur inconnue "
+#: catgets/gencat.c:576
+#, c-format
+msgid "unknown directive `%s': line ignored"
+msgstr "directive inconnue « %s » : ligne ignorée"
-#: sysdeps/unix/sysv/linux/lddlibc4.c:64
+#: catgets/gencat.c:621
+msgid "duplicated message number"
+msgstr "numéro de message en double"
+
+#: catgets/gencat.c:674
+msgid "duplicated message identifier"
+msgstr "identifiant de message en double"
+
+#: catgets/gencat.c:731
+msgid "invalid character: message ignored"
+msgstr "caractère invalide : message ignoré"
+
+#: catgets/gencat.c:774
+msgid "invalid line"
+msgstr "ligne invalide"
+
+#: catgets/gencat.c:828
+msgid "malformed line ignored"
+msgstr "ligne incorrecte ignorée"
+
+#: catgets/gencat.c:992 catgets/gencat.c:1033 nss/makedb.c:183
#, c-format
-msgid "cannot open `%s'"
-msgstr "Ne peut ouvrir « %s »"
+msgid "cannot open output file `%s'"
+msgstr "ne peut ouvrir le fichier de sortie « %s »"
-#: sysdeps/unix/sysv/linux/lddlibc4.c:68
+#: catgets/gencat.c:1195 locale/programs/linereader.c:560
+msgid "invalid escape sequence"
+msgstr "séquence d'échappement invalide"
+
+#: catgets/gencat.c:1217
+msgid "unterminated message"
+msgstr "message non terminé"
+
+#: catgets/gencat.c:1241
#, c-format
-msgid "cannot read header from `%s'"
-msgstr "Ne peut lire l'en-tête de « %s »"
+msgid "while opening old catalog file"
+msgstr "lors de l'ouverture de l'ancien fichier catalogue"
-#: iconv/iconv_charmap.c:159 iconv/iconv_prog.c:295 catgets/gencat.c:288
+#: catgets/gencat.c:1332
#, c-format
-msgid "cannot open input file `%s'"
-msgstr "Ne peut ouvrir le fichier d'entrée « %s »"
+msgid "conversion modules not available"
+msgstr "modules de conversion indisponibles"
+
+#: catgets/gencat.c:1358
+#, c-format
+msgid "cannot determine escape character"
+msgstr "ne peut déterminer le caractère d'échappement"
+
+#: debug/pcprofiledump.c:53
+msgid "Don't buffer output"
+msgstr "n'accumule pas dans le tampon de sortie"
+
+#: debug/pcprofiledump.c:58
+msgid "Dump information generated by PC profiling."
+msgstr "Affiche les informations générés par profilage PC."
+
+#: debug/pcprofiledump.c:61
+msgid "[FILE]"
+msgstr "[FICHIER]"
+
+#: debug/pcprofiledump.c:104
+#, c-format
+msgid "cannot open input file"
+msgstr "ne peut ouvrir le fichier en entrée"
+
+#: debug/pcprofiledump.c:111
+#, c-format
+msgid "cannot read header"
+msgstr "ne peut lire l'en-tête"
+
+#: debug/pcprofiledump.c:175
+#, c-format
+msgid "invalid pointer size"
+msgstr "taille de pointeur invalide"
+
+#: debug/xtrace.sh:27 debug/xtrace.sh:45
+msgid "Usage: xtrace [OPTION]... PROGRAM [PROGRAMOPTION]...\\n"
+msgstr "Usage : xtrace [OPTION]... PROGRAM [PROGRAMOPTION]...\\n"
+
+#: debug/xtrace.sh:33
+msgid "Try \\`xtrace --help' for more information.\\n"
+msgstr "Essayer \\`xtrace --help' pour plus d'informations.\\n"
+
+#: debug/xtrace.sh:39
+msgid "xtrace: option \\`$1' requires an argument.\\n"
+msgstr "xtrace : option \\`$1' requiert un argument.\\n"
+
+#: debug/xtrace.sh:46
+msgid ""
+"Trace execution of program by printing currently executed function.\n"
+"\n"
+" --data=FILE Don't run the program, just print the data from FILE.\n"
+"\n"
+" -?,--help Print this help and exit\n"
+" --usage Give a short usage message\n"
+" -V,--version Print version information and exit\n"
+"\n"
+"Mandatory arguments to long options are also mandatory for any corresponding\n"
+"short options.\n"
+"\n"
+"For bug reporting instructions, please see:\n"
+"<http://www.gnu.org/software/libc/bugs.html>.\\n"
+msgstr ""
+"Trace l'exécution du programme en imprimant la fonction en cours.\n"
+"\n"
+" --data=FICHIER Ne pas lancer le programme, affiche juste les données de FICHIER.\n"
+"\n"
+" - ?,--help Affiche cette aide et quitte\n"
+" --usage Donne un court message d'usage\n"
+" -V,--version Affiche la version et quitte\n"
+"\n"
+"Les arguments obligatoires pour les options de formes longues le sont aussi pour\n"
+"les options de formes courtes.\n"
+"\n"
+"Pour les instructions de rapport de bug, SVP voir : \n"
+"<http://www.gnu.org/software/libc/bugs.html>.\\n"
+
+#: debug/xtrace.sh:125
+msgid "xtrace: unrecognized option \\`$1'\\n"
+msgstr "xtrace : option non reconnue\\`$1'\\n"
+
+#: debug/xtrace.sh:138
+msgid "No program name given\\n"
+msgstr "Le nom de programme n'est pas indiqué\\n"
+
+#: debug/xtrace.sh:146
+#, sh-format
+msgid "executable \\`$program' not found\\n"
+msgstr "exécutable \\`$program' non trouvé\\n"
+
+#: debug/xtrace.sh:150
+#, sh-format
+msgid "\\`$program' is no executable\\n"
+msgstr "\\`$program' n'est pas un exécutable\\n"
+
+#: dlfcn/dlinfo.c:64
+msgid "RTLD_SELF used in code not dynamically loaded"
+msgstr "RTLD_SELF utilisé dans du code non chargé dynamiquement"
+
+#: dlfcn/dlinfo.c:73
+msgid "unsupported dlinfo request"
+msgstr "requête dlinfo non supportée"
+
+#: dlfcn/dlmopen.c:64
+msgid "invalid namespace"
+msgstr "espace de nommage invalide"
+
+#: dlfcn/dlmopen.c:69
+msgid "invalid mode"
+msgstr "mode invalide"
+
+#: dlfcn/dlopen.c:64
+msgid "invalid mode parameter"
+msgstr "paramètre de mode invalide"
+
+#: elf/cache.c:69
+msgid "unknown"
+msgstr "inconnu"
+
+#: elf/cache.c:112
+msgid "Unknown OS"
+msgstr "Système d'exploitation inconnu"
+
+#: elf/cache.c:117
+#, c-format
+msgid ", OS ABI: %s %d.%d.%d"
+msgstr ", Système d'exploitation ABI : %s %d.%d.%d"
+
+#: elf/cache.c:134 elf/ldconfig.c:1270
+#, c-format
+msgid "Can't open cache file %s\n"
+msgstr "Ne peut ouvrir le fichier de cache %s\n"
+
+#: elf/cache.c:148
+#, c-format
+msgid "mmap of cache file failed.\n"
+msgstr "la procédure mmap sur le fichier de cache a échouée\n"
+
+#: elf/cache.c:152 elf/cache.c:166
+#, c-format
+msgid "File is not a cache file.\n"
+msgstr "Fichier n'est pas un fichier de cache.\n"
+
+#: elf/cache.c:199 elf/cache.c:209
+#, c-format
+msgid "%d libs found in cache `%s'\n"
+msgstr "%d libs trouvé dans le cache « %s »\n"
+
+#: elf/cache.c:403
+#, c-format
+msgid "Can't create temporary cache file %s"
+msgstr "Ne peut créer un fichier de cache temporaire %s"
+
+#: elf/cache.c:411 elf/cache.c:421 elf/cache.c:425 elf/cache.c:430
+#, c-format
+msgid "Writing of cache data failed"
+msgstr "Échec d'écriture des données du cache"
+
+#: elf/cache.c:435
+#, c-format
+msgid "Changing access rights of %s to %#o failed"
+msgstr "Échec de la modification des droits d'accès de %s à %#o"
+
+#: elf/cache.c:440
+#, c-format
+msgid "Renaming of %s to %s failed"
+msgstr "Échec du changement de nom de %s vers %s"
+
+#: elf/dl-close.c:378 elf/dl-open.c:460
+msgid "cannot create scope list"
+msgstr "ne peut créer une liste panorama"
+
+#: elf/dl-close.c:724
+msgid "shared object not open"
+msgstr "objet partagé non ouvert"
+
+#: elf/dl-deps.c:114
+msgid "DST not allowed in SUID/SGID programs"
+msgstr "DST non permis dans un programme SUID/SGID"
+
+#: elf/dl-deps.c:127 elf/dl-open.c:282
+msgid "empty dynamic string token substitution"
+msgstr "la chaîne dynamique d'un jeton de substitution est vide"
+
+#: elf/dl-deps.c:133
+#, c-format
+msgid "cannot load auxiliary `%s' because of empty dynamic string token substitution\n"
+msgstr "ne peut charger l'auxiliaire « %s » en raison d'une chaîne dynamique de substitution de jeton vide\n"
+
+#: elf/dl-deps.c:474
+msgid "cannot allocate dependency list"
+msgstr "ne peut allouer une liste de dépendances"
+
+#: elf/dl-deps.c:510 elf/dl-deps.c:565
+msgid "cannot allocate symbol search list"
+msgstr "ne peut allouer la liste des symboles à rechercher"
+
+#: elf/dl-deps.c:550
+msgid "Filters not supported with LD_TRACE_PRELINKING"
+msgstr "Filtres non supportés avec LD_TRACE_PRELINKING"
+
+#: elf/dl-error.c:77
+msgid "DYNAMIC LINKER BUG!!!"
+msgstr "PROBLÈME DANS LE CHARGEUR DE LIENS DYNAMIQUES!!!"
+
+#: elf/dl-error.c:124
+msgid "error while loading shared libraries"
+msgstr "erreur lors du chargement des librairies partagées"
+
+#: elf/dl-fptr.c:88
+msgid "cannot map pages for fdesc table"
+msgstr "ne peut faire correspondre les pages pour la table fdesc "
+
+#: elf/dl-fptr.c:192
+msgid "cannot map pages for fptr table"
+msgstr "ne peut faire correspondre les pages pour la table fptr"
+
+#: elf/dl-fptr.c:221
+msgid "internal error: symidx out of range of fptr table"
+msgstr "erreur interne : symidx en dehors de la table fptr "
+
+#: elf/dl-load.c:372
+msgid "cannot allocate name record"
+msgstr "ne peut allouer un enregistrement de nom"
+
+#: elf/dl-load.c:474 elf/dl-load.c:582 elf/dl-load.c:667 elf/dl-load.c:780
+msgid "cannot create cache for search path"
+msgstr "ne peut créer le cache pour le chemin de recherche"
+
+#: elf/dl-load.c:565
+msgid "cannot create RUNPATH/RPATH copy"
+msgstr "ne peut créer une copie RUNPATH/RPATH"
+
+#: elf/dl-load.c:653
+msgid "cannot create search path array"
+msgstr "ne peut créer un tableau des chemins de recherche"
+
+#: elf/dl-load.c:864
+msgid "cannot stat shared object"
+msgstr "ne peut évaluer par stat() l'objet partagé"
+
+#: elf/dl-load.c:934
+msgid "cannot open zero fill device"
+msgstr "ne peut ouvrir le fichier de périphérique rempli de zéros"
+
+#: elf/dl-load.c:979 elf/dl-load.c:2224
+msgid "cannot create shared object descriptor"
+msgstr "ne peut créer un descripteur d'objet partagé"
+
+#: elf/dl-load.c:998 elf/dl-load.c:1656 elf/dl-load.c:1748
+msgid "cannot read file data"
+msgstr "ne peut lire les données du fichier"
+
+#: elf/dl-load.c:1042
+msgid "ELF load command alignment not page-aligned"
+msgstr "Commande de chargement sur une page ELF qui n'est pas alignée"
+
+#: elf/dl-load.c:1049
+msgid "ELF load command address/offset not properly aligned"
+msgstr "Commande de chargement sur une adresse ELF incorrectement alignée"
+
+#: elf/dl-load.c:1132
+msgid "cannot allocate TLS data structures for initial thread"
+msgstr "ne peut allouer une structure de données TLS pour un thread initial"
+
+#: elf/dl-load.c:1155
+msgid "cannot handle TLS data"
+msgstr "ne peut traiter les données TLS"
+
+#: elf/dl-load.c:1174
+msgid "object file has no loadable segments"
+msgstr "le fichier objet n'a pas de segment chargeable"
+
+#: elf/dl-load.c:1210
+msgid "failed to map segment from shared object"
+msgstr "échec d'adressage (mapping) du segment de l'objet partagé"
+
+#: elf/dl-load.c:1236
+msgid "cannot dynamically load executable"
+msgstr "ne peut dynamiquement charger un exécutable"
+
+#: elf/dl-load.c:1298
+msgid "cannot change memory protections"
+msgstr "ne peut modifier les protections de mémoire"
+
+#: elf/dl-load.c:1317
+msgid "cannot map zero-fill pages"
+msgstr "ne peut adresser des pages remplies de zéros"
+
+#: elf/dl-load.c:1331
+msgid "object file has no dynamic section"
+msgstr "le fichier objet n'a pas de section dynamique"
+
+#: elf/dl-load.c:1354
+msgid "shared object cannot be dlopen()ed"
+msgstr "l'objet partagé ne peut pas être ouvert via dlopen()"
+
+#: elf/dl-load.c:1367
+msgid "cannot allocate memory for program header"
+msgstr "ne peut allouer de la mémoire pour une en-tête de programme"
+
+#: elf/dl-load.c:1384 elf/dl-open.c:218
+msgid "invalid caller"
+msgstr "appelant invalide"
+
+#: elf/dl-load.c:1423
+msgid "cannot enable executable stack as shared object requires"
+msgstr "ne peut activer une pile exécutable comme l'objet partagé le requiert"
+
+#: elf/dl-load.c:1436
+msgid "cannot close file descriptor"
+msgstr "ne peut pas fermer le descripteur de fichier"
+
+#: elf/dl-load.c:1478
+msgid "cannot create searchlist"
+msgstr "ne peut créer une liste de recherche"
+
+#: elf/dl-load.c:1656
+msgid "file too short"
+msgstr "fichier trop court"
+
+#: elf/dl-load.c:1685
+msgid "invalid ELF header"
+msgstr "en-tête ELF invalide"
+
+#: elf/dl-load.c:1697
+msgid "ELF file data encoding not big-endian"
+msgstr "l'encodage des données du fichier ELF n'est pas big-endian"
+
+#: elf/dl-load.c:1699
+msgid "ELF file data encoding not little-endian"
+msgstr "l'encodage des données du fichier ELF n'est pas little-endian"
+
+#: elf/dl-load.c:1703
+msgid "ELF file version ident does not match current one"
+msgstr "l'identifiant de version du fichier ELF ne concorde pas avec la version courante"
+
+#: elf/dl-load.c:1707
+msgid "ELF file OS ABI invalid"
+msgstr "Système d'exploitation du fichier ELF ABI invalide"
+
+#: elf/dl-load.c:1709
+msgid "ELF file ABI version invalid"
+msgstr "Version du fichier ELF ABI invalide"
+
+#: elf/dl-load.c:1712
+msgid "internal error"
+msgstr "Erreur interne"
+
+#: elf/dl-load.c:1719
+msgid "ELF file version does not match current one"
+msgstr "Version du fichier ELF ne concorde pas avec la version courante"
+
+#: elf/dl-load.c:1727
+msgid "only ET_DYN and ET_EXEC can be loaded"
+msgstr "Seuls ET_DYN et ET_EXEC peuvent être chargés"
+
+#: elf/dl-load.c:1733
+msgid "ELF file's phentsize not the expected size"
+msgstr "« Phentize » du fichier ELF ne concorde pas avec la taille prévue"
+
+#: elf/dl-load.c:2240
+msgid "wrong ELF class: ELFCLASS64"
+msgstr "mauvaise classe ELF : ELFCLASS64"
+
+#: elf/dl-load.c:2241
+msgid "wrong ELF class: ELFCLASS32"
+msgstr "mauvaise classe ELF : ELFCLASS32"
+
+#: elf/dl-load.c:2244
+msgid "cannot open shared object file"
+msgstr "Ne peut ouvrir le fichier d'objet partagé"
+
+#: elf/dl-lookup.c:356
+msgid "relocation error"
+msgstr "erreur de réaffectation"
+
+#: elf/dl-lookup.c:384
+msgid "symbol lookup error"
+msgstr "erreur de recherche de symbole"
+
+#: elf/dl-open.c:114
+msgid "cannot extend global scope"
+msgstr "ne peut augmenter l'étendue de la plage globale"
+
+#: elf/dl-open.c:512
+msgid "TLS generation counter wrapped! Please report this."
+msgstr "Le compteur de génération TLS a bouclé ! SVP expédier un rapport avec le script 'glibcbug'."
+
+#: elf/dl-open.c:549
+msgid "invalid mode for dlopen()"
+msgstr "mode invalide pour dlopen()"
+
+#: elf/dl-open.c:566
+msgid "no more namespaces available for dlmopen()"
+msgstr "plus d'espace de nommage disponible pour dlmopen()"
+
+#: elf/dl-open.c:579
+msgid "invalid target namespace in dlmopen()"
+msgstr "espace de nommage cible invalide dans dlmopen()"
+
+#: elf/dl-reloc.c:54
+msgid "cannot allocate memory in static TLS block"
+msgstr "ne peut allouer de la mémoire dans un bloc statique TLS"
+
+#: elf/dl-reloc.c:196
+msgid "cannot make segment writable for relocation"
+msgstr "ne peut rendre le segment inscritible pour une réaffectation"
+
+#: elf/dl-reloc.c:277
+#, c-format
+msgid "%s: no PLTREL found in object %s\n"
+msgstr "%s : aucun PLTREL trouvé dans l'objet %s\n"
+
+#: elf/dl-reloc.c:288
+#, c-format
+msgid "%s: out of memory to store relocation results for %s\n"
+msgstr "%s : manque de mémoire pour stocker les résultats de la réaffectation pour %s\n"
+
+#: elf/dl-reloc.c:304
+msgid "cannot restore segment prot after reloc"
+msgstr "ne peut restaurer le segment prot après reloc"
+
+#: elf/dl-reloc.c:329
+msgid "cannot apply additional memory protection after relocation"
+msgstr "ne peut appliquer les protections additionnelle de mémoire après la réaffectation"
+
+#: elf/dl-sym.c:162
+msgid "RTLD_NEXT used in code not dynamically loaded"
+msgstr "RTLD_NEXT est utilisé dans du code qui n'est pas chargé dynamiquement"
+
+#: elf/dl-sysdep.c:469 elf/dl-sysdep.c:481
+msgid "cannot create capability list"
+msgstr "ne peut créer une liste des possibilités"
+
+#: elf/dl-tls.c:825
+msgid "cannot create TLS data structures"
+msgstr "ne peut créer les structures de données TLS"
+
+#: elf/dl-version.c:303
+msgid "cannot allocate version reference table"
+msgstr "ne peut allouer la table de référence des versions"
+
+#: elf/ldconfig.c:138
+msgid "Print cache"
+msgstr "Imprimer le cache"
+
+#: elf/ldconfig.c:139
+msgid "Generate verbose messages"
+msgstr "Afficher des messages en mode verbeux"
+
+#: elf/ldconfig.c:140
+msgid "Don't build cache"
+msgstr "Ne pas construire le cache"
+
+#: elf/ldconfig.c:141
+msgid "Don't generate links"
+msgstr "Ne pas générer les liens"
+
+#: elf/ldconfig.c:142
+msgid "Change to and use ROOT as root directory"
+msgstr "Positionner dans, et utiliser le dossier racine ROOT"
+
+#: elf/ldconfig.c:142
+msgid "ROOT"
+msgstr "ROOT"
+
+#: elf/ldconfig.c:143
+msgid "CACHE"
+msgstr "CACHE"
+
+#: elf/ldconfig.c:143
+msgid "Use CACHE as cache file"
+msgstr "Utiliser CACHE comme ficher de cache"
+
+#: elf/ldconfig.c:144
+msgid "CONF"
+msgstr "CONF"
+
+#: elf/ldconfig.c:144
+msgid "Use CONF as configuration file"
+msgstr "Utiliser CONF comme fichier de configuration"
+
+#: elf/ldconfig.c:145
+msgid "Only process directories specified on the command line. Don't build cache."
+msgstr "Traiter uniquement les répertoires spécifiés sur la ligne de commande. Ne pas construire de cache."
+
+#: elf/ldconfig.c:146
+msgid "Manually link individual libraries."
+msgstr "Lier manuellement les librairies individuelles ."
+
+#: elf/ldconfig.c:147
+msgid "FORMAT"
+msgstr "FORMAT"
+
+#: elf/ldconfig.c:147
+msgid "Format to use: new, old or compat (default)"
+msgstr "Format à utiliser : nouveau, ancien ou compatible (par défaut)"
+
+#: elf/ldconfig.c:148
+msgid "Ignore auxiliary cache file"
+msgstr "Ignore le fichier cache auxiliaire"
+
+#: elf/ldconfig.c:156
+msgid "Configure Dynamic Linker Run Time Bindings."
+msgstr "Configuration dynamique des éditions de liens lors de l'exécution."
+
+#: elf/ldconfig.c:319
+#, c-format
+msgid "Path `%s' given more than once"
+msgstr "Chemin « %s » donné plus d'une fois"
+
+#: elf/ldconfig.c:359
+#, c-format
+msgid "%s is not a known library type"
+msgstr "%s n'est pas un type de librairie connu"
+
+#: elf/ldconfig.c:384
+#, c-format
+msgid "Can't stat %s"
+msgstr "Ne peut évaluer par stat %s"
+
+#: elf/ldconfig.c:458
+#, c-format
+msgid "Can't stat %s\n"
+msgstr "Ne peut évaluer par stat %s\n"
-#: iconv/iconv_charmap.c:177 iconv/iconv_prog.c:313
+#: elf/ldconfig.c:468
+#, c-format
+msgid "%s is not a symbolic link\n"
+msgstr "%s n'est pas un lien symbolique\n"
+
+#: elf/ldconfig.c:487
+#, c-format
+msgid "Can't unlink %s"
+msgstr "Ne peut enlever le lien (unlink) %s"
+
+#: elf/ldconfig.c:493
+#, c-format
+msgid "Can't link %s to %s"
+msgstr "Ne peut établir un lien entre %s et %s"
+
+#: elf/ldconfig.c:499
+msgid " (changed)\n"
+msgstr " (a été modifié)\n"
+
+#: elf/ldconfig.c:501
+msgid " (SKIPPED)\n"
+msgstr " (ESCAMOTÉ)\n"
+
+#: elf/ldconfig.c:556
+#, c-format
+msgid "Can't find %s"
+msgstr "Ne peut repérer %s"
+
+#: elf/ldconfig.c:572 elf/ldconfig.c:745 elf/ldconfig.c:793 elf/ldconfig.c:827
+#, c-format
+msgid "Cannot lstat %s"
+msgstr "Ne peut évaluer par lstat %s"
+
+#: elf/ldconfig.c:579
+#, c-format
+msgid "Ignored file %s since it is not a regular file."
+msgstr "A ignoré le fichier %s parce que ce n'est pas un fichier régulier."
+
+#: elf/ldconfig.c:588
+#, c-format
+msgid "No link created since soname could not be found for %s"
+msgstr "Aucun lien créé étant donné que n'a pas été repéré %s"
+
+#: elf/ldconfig.c:671
+#, c-format
+msgid "Can't open directory %s"
+msgstr "Ne peut ouvrir le dossier %s"
+
+#: elf/ldconfig.c:759
+#, c-format
+msgid "Cannot stat %s"
+msgstr "Ne peut évaluer par stat %s"
+
+#: elf/ldconfig.c:814 elf/readlib.c:91
+#, c-format
+msgid "Input file %s not found.\n"
+msgstr "Fichier d'entrée %s non repéré\n"
+
+#: elf/ldconfig.c:888
+#, c-format
+msgid "libc5 library %s in wrong directory"
+msgstr "librairie libc5 %s est dans le mauvais dossier"
+
+#: elf/ldconfig.c:891
+#, c-format
+msgid "libc6 library %s in wrong directory"
+msgstr "librairie libc6 %s est dans le mauvais dossier"
+
+#: elf/ldconfig.c:894
+#, c-format
+msgid "libc4 library %s in wrong directory"
+msgstr "librairie libc4 %s est dans le mauvais dossier"
+
+#: elf/ldconfig.c:922
+#, c-format
+msgid "libraries %s and %s in directory %s have same soname but different type."
+msgstr "Les librairies %s et %s du dossier %s ont le même nom mais sont de types différents."
+
+#: elf/ldconfig.c:1031
+#, c-format
+msgid "Can't open configuration file %s"
+msgstr "Ne peut ouvrir le fichier de configuration %s"
+
+#: elf/ldconfig.c:1095
+#, c-format
+msgid "%s:%u: bad syntax in hwcap line"
+msgstr "%s:%u : mauvaise syntaxe dans la ligne hwcap"
+
+#: elf/ldconfig.c:1101
+#, c-format
+msgid "%s:%u: hwcap index %lu above maximum %u"
+msgstr "%s:%u : l'index hwcap %lu dépasse le maximum %u"
+
+#: elf/ldconfig.c:1108 elf/ldconfig.c:1116
+#, c-format
+msgid "%s:%u: hwcap index %lu already defined as %s"
+msgstr "%s:%u : l'index hwcap %lu déjà défini comme %s"
+
+#: elf/ldconfig.c:1119
+#, c-format
+msgid "%s:%u: duplicate hwcap %lu %s"
+msgstr "%s:%u : hwcap en doublon %lu %s"
+
+#: elf/ldconfig.c:1141
+#, c-format
+msgid "need absolute file name for configuration file when using -r"
+msgstr "nécessite un nom de fichier absolu pour le fichier de configuration quand on utilise -r"
+
+#: elf/ldconfig.c:1148 locale/programs/xmalloc.c:70 malloc/obstack.c:434
+#: malloc/obstack.c:436 posix/getconf.c:985 posix/getconf.c:1163
+#, c-format
+msgid "memory exhausted"
+msgstr "mémoire épuisée"
+
+#: elf/ldconfig.c:1178
+#, c-format
+msgid "%s:%u: cannot read directory %s"
+msgstr "%s:%u : ne peut lire le dossier %s"
+
+#: elf/ldconfig.c:1223
+#, c-format
+msgid "relative path `%s' used to build cache"
+msgstr "chemin relatif `%s' utilisé pour construire le cache"
+
+#: elf/ldconfig.c:1249
+#, c-format
+msgid "Can't chdir to /"
+msgstr "Ne peut se positionner (chdir) dans /"
+
+#: elf/ldconfig.c:1291
+#, c-format
+msgid "Can't open cache file directory %s\n"
+msgstr "Ne peut ouvrir le dossier des fichiers de cache %s\n"
+
+#: elf/ldd.bash.in:43
+msgid "Written by %s and %s.\n"
+msgstr "Écrits par %s et %s.\n"
+
+#: elf/ldd.bash.in:48
+msgid ""
+"Usage: ldd [OPTION]... FILE...\n"
+" --help print this help and exit\n"
+" --version print version information and exit\n"
+" -d, --data-relocs process data relocations\n"
+" -r, --function-relocs process data and function relocations\n"
+" -u, --unused print unused direct dependencies\n"
+" -v, --verbose print all information\n"
+"For bug reporting instructions, please see:\n"
+"<http://www.gnu.org/software/libc/bugs.html>."
+msgstr ""
+"Usage : ldd [OPTION]... FILE...\n"
+" --help affiche cette aide et quitte\n"
+" --version affiche les informations de version et quitte\n"
+" -d, --data-relocs réaffecte les données de processus\n"
+" -r, --function-relocs réaffecte les données de processus et les fonctions\n"
+" -u, --unused affiche les dépendances directes non utilisées\n"
+" -v, --verbose affiche toutes les informations\n"
+"Pour les instructions de rapport de bug, SVP voir : \n"
+"<http://www.gnu.org/software/libc/bugs.html>."
+
+#: elf/ldd.bash.in:80
+msgid "ldd: option \\`$1' is ambiguous"
+msgstr "ldd : option \\`$1' est ambiguë"
+
+#: elf/ldd.bash.in:87
+msgid "unrecognized option"
+msgstr "option non reconnue"
+
+#: elf/ldd.bash.in:88 elf/ldd.bash.in:126
+msgid "Try \\`ldd --help' for more information."
+msgstr "Pour en savoir davantage, faites : \\`ldd --help'."
+
+#: elf/ldd.bash.in:125
+msgid "missing file arguments"
+msgstr "arguments de fichier manquants"
+
+#. TRANS No such file or directory. This is a ``file doesn't exist'' error
+#. TRANS for ordinary files that are referenced in contexts where they are
+#. TRANS expected to already exist.
+#: elf/ldd.bash.in:148 sysdeps/gnu/errlist.c:36
+msgid "No such file or directory"
+msgstr "Aucun fichier ou dossier de ce type"
+
+#: elf/ldd.bash.in:151 inet/rcmd.c:483
+msgid "not regular file"
+msgstr "n'est pas un fichier régulier"
+
+#: elf/ldd.bash.in:154
+msgid "warning: you do not have execution permission for"
+msgstr "attention : vous n'avez pas la permission d'exécution pour"
+
+#: elf/ldd.bash.in:183
+msgid "\tnot a dynamic executable"
+msgstr "\t n'est pas un exécutable dynamique"
+
+#: elf/ldd.bash.in:191
+msgid "exited with unknown exit code"
+msgstr "a quitté avec un code retour inconnu"
+
+#: elf/ldd.bash.in:196
+msgid "error: you do not have read permission for"
+msgstr "erreur : vous n'avez pas de permission de lecture pour"
+
+#: elf/readelflib.c:35
+#, c-format
+msgid "file %s is truncated\n"
+msgstr "fichier %s est tronqué\n"
+
+#: elf/readelflib.c:67
+#, c-format
+msgid "%s is a 32 bit ELF file.\n"
+msgstr "%s est un fichier ELF 32bits.\n"
+
+#: elf/readelflib.c:69
+#, c-format
+msgid "%s is a 64 bit ELF file.\n"
+msgstr "%s est un fichier ELF 64bits.\n"
+
+#: elf/readelflib.c:71
+#, c-format
+msgid "Unknown ELFCLASS in file %s.\n"
+msgstr "ELFCLASS inconnue dans le fichier %s.\n"
+
+#: elf/readelflib.c:78
+#, c-format
+msgid "%s is not a shared object file (Type: %d).\n"
+msgstr "%s n'est pas un fichier objet partagé (Type : %d).\n"
+
+#: elf/readelflib.c:109
+#, c-format
+msgid "more than one dynamic segment\n"
+msgstr "plus d'un segment dynamique\n"
+
+#: elf/readlib.c:97
+#, c-format
+msgid "Cannot fstat file %s.\n"
+msgstr "Ne peut évaluer par fstat() %s\n"
+
+#: elf/readlib.c:108
+#, c-format
+msgid "File %s is empty, not checked."
+msgstr "Fichier %s est vide, n'a pas été vérifié."
+
+#: elf/readlib.c:114
+#, c-format
+msgid "File %s is too small, not checked."
+msgstr "Fichier %s trop petit, n'a pas été vérifié."
+
+#: elf/readlib.c:124
+#, c-format
+msgid "Cannot mmap file %s.\n"
+msgstr "Erreur de la procédure mmap sur le fichier %s\n"
+
+#: elf/readlib.c:162
+#, c-format
+msgid "%s is not an ELF file - it has the wrong magic bytes at the start.\n"
+msgstr "%s n'est pas un fichier de type ELF - il a un octet magique au début incorrect.\n"
+
+#: elf/sprof.c:77
+msgid "Output selection:"
+msgstr "Sélection de sortie :"
+
+#: elf/sprof.c:79
+msgid "print list of count paths and their number of use"
+msgstr "Afficher le décompte des chemins et le nombre de leur utilisation"
+
+#: elf/sprof.c:81
+msgid "generate flat profile with counts and ticks"
+msgstr "Générer un ficher de profilage plat avec les décomptes et les marques de temps"
+
+#: elf/sprof.c:82
+msgid "generate call graph"
+msgstr "génère un graphe des appels"
+
+#: elf/sprof.c:89
+msgid ""
+"Read and display shared object profiling data.\vFor bug reporting instructions, please see:\n"
+"<http://www.gnu.org/software/libc/bugs.html>.\n"
+msgstr ""
+"Lit et affiche les données de profilage des objets partagés.\vPour les instructions de rapport de bug, SVP voir : \n"
+"<http://www.gnu.org/software/libc/bugs.html>.\n"
+
+#: elf/sprof.c:94
+msgid "SHOBJ [PROFDATA]"
+msgstr "SHOBJ [PROFDATA]"
+
+#: elf/sprof.c:400
+#, c-format
+msgid "failed to load shared object `%s'"
+msgstr "échec de chargement de l'objet partagé « %s »"
+
+#: elf/sprof.c:409
+#, c-format
+msgid "cannot create internal descriptors"
+msgstr "ne peut créer les descripteurs internes"
+
+#: elf/sprof.c:528
+#, c-format
+msgid "Reopening shared object `%s' failed"
+msgstr "Échec de réouverture de l'objet partagé « %s »"
+
+#: elf/sprof.c:535 elf/sprof.c:629
+#, c-format
+msgid "reading of section headers failed"
+msgstr "Échec de la lecture d'en-têtes de section"
+
+#: elf/sprof.c:543 elf/sprof.c:637
+#, c-format
+msgid "reading of section header string table failed"
+msgstr "Échec de lecture de la table des chaînes d'en-têtes de section"
+
+#: elf/sprof.c:569
+#, c-format
+msgid "*** Cannot read debuginfo file name: %m\n"
+msgstr "*** Ne peut lire le nom de fichier de debuginfo : %m\n"
+
+#: elf/sprof.c:589
+#, c-format
+msgid "cannot determine file name"
+msgstr "Ne peut déterminer le nom de fichier"
+
+#: elf/sprof.c:622
+#, c-format
+msgid "reading of ELF header failed"
+msgstr "Échec de lecture de l'en-tête ELF"
+
+#: elf/sprof.c:658
+#, c-format
+msgid "*** The file `%s' is stripped: no detailed analysis possible\n"
+msgstr "*** Le fichier « %s » a été élagué : aucune analyse détaillée possible\n"
+
+#: elf/sprof.c:688
+#, c-format
+msgid "failed to load symbol data"
+msgstr "échec du chargement de données de symbole"
+
+#: elf/sprof.c:755
+#, c-format
+msgid "cannot load profiling data"
+msgstr "ne peut charger les données de profilage"
+
+#: elf/sprof.c:764
+#, c-format
+msgid "while stat'ing profiling data file"
+msgstr "lors de l'évaluation par stat() du fichier de données de profilage"
+
+#: elf/sprof.c:772
+#, c-format
+msgid "profiling data file `%s' does not match shared object `%s'"
+msgstr "Le fichier de données de profilage « %s » ne concorde pas avec l'objet partagé « %s »"
+
+#: elf/sprof.c:783
+#, c-format
+msgid "failed to mmap the profiling data file"
+msgstr "Échec de la procédure mmap sur le fichier de données de profilage"
+
+#: elf/sprof.c:791
+#, c-format
+msgid "error while closing the profiling data file"
+msgstr "erreur lors de la fermeture du fichier de données de profilage"
+
+#: elf/sprof.c:800 elf/sprof.c:870
+#, c-format
+msgid "cannot create internal descriptor"
+msgstr "ne peut créer un descripteur interne"
+
+#: elf/sprof.c:846
+#, c-format
+msgid "`%s' is no correct profile data file for `%s'"
+msgstr "« %s » est un fichier de profilage incorrect pour « %s »"
+
+#: elf/sprof.c:1027 elf/sprof.c:1085
+#, c-format
+msgid "cannot allocate symbol data"
+msgstr "ne peut allouer les données des symboles"
+
+#: iconv/iconv_charmap.c:176 iconv/iconv_prog.c:316
#, c-format
msgid "error while closing input `%s'"
-msgstr "Erreur lors de la fermeture du fichier d'entrée « %s »"
+msgstr "erreur lors de la fermeture du fichier d'entrée « %s »"
-#: iconv/iconv_charmap.c:443
+#: iconv/iconv_charmap.c:450
#, c-format
msgid "illegal input sequence at position %Zd"
-msgstr "Séquence d'échappement d'entrée illégale à la position %Zd"
+msgstr "séquence d'échappement d'entrée non permise à la position %Zd"
-#: iconv/iconv_charmap.c:462 iconv/iconv_prog.c:506
+#: iconv/iconv_charmap.c:469 iconv/iconv_prog.c:526
+#, c-format
msgid "incomplete character or shift sequence at end of buffer"
-msgstr "Caractère ou séquence de changement incomplet à la fin du tampon"
+msgstr "caractère ou séquence de changement incomplet à la fin du tampon"
-#: iconv/iconv_charmap.c:507 iconv/iconv_charmap.c:543 iconv/iconv_prog.c:549
-#: iconv/iconv_prog.c:585
+#: iconv/iconv_charmap.c:514 iconv/iconv_charmap.c:550 iconv/iconv_prog.c:569
+#: iconv/iconv_prog.c:605
+#, c-format
msgid "error while reading the input"
-msgstr "erreur lors de la lecture de l'entrée"
+msgstr "erreur lors de la lecture de l'entrée"
-#: iconv/iconv_charmap.c:525 iconv/iconv_prog.c:567
+#: iconv/iconv_charmap.c:532 iconv/iconv_prog.c:587
+#, c-format
msgid "unable to allocate buffer for input"
-msgstr "incapable d'allouer un tampon pour l'entrée"
+msgstr "incapable d'allouer un tampon pour l'entrée"
-#: iconv/iconv_prog.c:61
+#: iconv/iconv_prog.c:60
msgid "Input/Output format specification:"
-msgstr "Spécification des formats d'entrée/sortie:"
+msgstr "Spécification des formats d'entrée/sortie :"
-#: iconv/iconv_prog.c:62
+#: iconv/iconv_prog.c:61
msgid "encoding of original text"
msgstr "encodage du texte original"
-#: iconv/iconv_prog.c:63
+#: iconv/iconv_prog.c:62
msgid "encoding for output"
msgstr "encodage de la sortie"
-#: iconv/iconv_prog.c:64
+#: iconv/iconv_prog.c:63
msgid "Information:"
-msgstr "Information:"
+msgstr "Information :"
-#: iconv/iconv_prog.c:65
+#: iconv/iconv_prog.c:64
msgid "list all known coded character sets"
-msgstr "Liste tous les jeux de code de caractères"
+msgstr "Liste tous les jeux de code de caractères"
-#: iconv/iconv_prog.c:66 locale/programs/localedef.c:128
+#: iconv/iconv_prog.c:65 locale/programs/localedef.c:127
msgid "Output control:"
-msgstr "Contrôle de sortie:"
+msgstr "Contrôle de sortie :"
-#: iconv/iconv_prog.c:67
+#: iconv/iconv_prog.c:66
msgid "omit invalid characters from output"
-msgstr "Omission de caractères invalides à la sortie"
+msgstr "omission de caractères invalides à la sortie"
-#: iconv/iconv_prog.c:68
+#: iconv/iconv_prog.c:67
msgid "output file"
msgstr "fichier de sortie"
-#: iconv/iconv_prog.c:69
+#: iconv/iconv_prog.c:68
msgid "suppress warnings"
-msgstr "Suppression des AVERTISSEMENTS"
+msgstr "suppression des AVERTISSEMENTS"
-#: iconv/iconv_prog.c:70
+#: iconv/iconv_prog.c:69
msgid "print progress information"
-msgstr "Afficher des informations de progression"
+msgstr "affiche les informations de progression"
-#: iconv/iconv_prog.c:75
+#: iconv/iconv_prog.c:74
msgid "Convert encoding of given files from one encoding to another."
-msgstr "Conversion de l'encodage des fichiers d'un encodage à l'autre."
+msgstr "Convertit l'encodage des fichiers indiqués d'un encodage à l'autre."
-#: iconv/iconv_prog.c:79
+#: iconv/iconv_prog.c:78
msgid "[FILE...]"
msgstr "[FICHIER...]"
-#: iconv/iconv_prog.c:201
+#: iconv/iconv_prog.c:200
+#, c-format
msgid "cannot open output file"
-msgstr "Ne peut ouvrir le fichier de sortie"
+msgstr "ne peut ouvrir le fichier de sortie"
-#: iconv/iconv_prog.c:243
+#: iconv/iconv_prog.c:242
#, c-format
msgid "conversions from `%s' and to `%s' are not supported"
-msgstr "conversions de « %s » et de , vers « %s » ne sont pas supportées"
+msgstr "conversions de « %s » et vers « %s » ne sont pas supportées"
-#: iconv/iconv_prog.c:248
+#: iconv/iconv_prog.c:247
#, c-format
msgid "conversion from `%s' is not supported"
-msgstr "conversion de « %s » n'est pas supportée."
+msgstr "conversion de « %s » n'est pas supportée"
-#: iconv/iconv_prog.c:255
+#: iconv/iconv_prog.c:254
#, c-format
msgid "conversion to `%s' is not supported"
-msgstr "conversion vers « %s » n'est pas supportée"
+msgstr "conversion vers « %s » n'est pas supportée"
-#: iconv/iconv_prog.c:259
+#: iconv/iconv_prog.c:258
#, c-format
msgid "conversion from `%s' to `%s' is not supported"
-msgstr "conversion de « %s » vers « %s » n'est pas supportée"
+msgstr "conversion de « %s » vers « %s » n'est pas supportée"
-#: iconv/iconv_prog.c:265
+#: iconv/iconv_prog.c:268
+#, c-format
msgid "failed to start conversion processing"
-msgstr "Échec de démarrage du processus de conversion"
+msgstr "échec de démarrage du processus de conversion"
-#: iconv/iconv_prog.c:360
-msgid "error while closing output file"
-msgstr "Erreur lors de la fermeture du fichier de sortie"
-
-#: iconv/iconv_prog.c:409 iconv/iconvconfig.c:357 locale/programs/locale.c:279
-#: locale/programs/localedef.c:372 catgets/gencat.c:233
-#: malloc/memusagestat.c:602 debug/pcprofiledump.c:199
-msgid "Report bugs using the `glibcbug' script to <bugs@gnu.org>.\n"
-msgstr "Rapporter toutes anomalies via le script « glibcbug » à <bugs@gnu.org>.\n"
-
-#: iconv/iconv_prog.c:423 iconv/iconvconfig.c:371 locale/programs/locale.c:292
-#: locale/programs/localedef.c:386 catgets/gencat.c:246 posix/getconf.c:913
-#: nss/getent.c:74 nscd/nscd.c:355 nscd/nscd_nischeck.c:90 elf/ldconfig.c:274
-#: elf/sprof.c:349
+#: iconv/iconv_prog.c:362
#, c-format
-msgid ""
-"Copyright (C) %s Free Software Foundation, Inc.\n"
-"This is free software; see the source for copying conditions. There is NO\n"
-"warranty; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.\n"
-msgstr ""
-"Copyright © %s Free Software Foundation, Inc.\n"
-"Ce logiciel est libre; voir les sources pour les conditions de\n"
-"reproduction. AUCUNE garantie n'est donnée; tant pour des raisons\n"
-"COMMERCIALES que pour RÉPONDRE À UN BESOIN PARTICULIER.\n"
+msgid "error while closing output file"
+msgstr "erreur lors de la fermeture du fichier de sortie"
-#: iconv/iconv_prog.c:428 iconv/iconvconfig.c:376 locale/programs/locale.c:297
-#: locale/programs/localedef.c:391 catgets/gencat.c:251 posix/getconf.c:918
-#: nss/getent.c:79 nscd/nscd.c:360 nscd/nscd_nischeck.c:95 elf/ldconfig.c:279
-#: elf/sprof.c:355
+#: iconv/iconv_prog.c:471 iconv/iconv_prog.c:497
#, c-format
-msgid "Written by %s.\n"
-msgstr "Écrits par %s.\n"
-
-#: iconv/iconv_prog.c:458 iconv/iconv_prog.c:484
msgid "conversion stopped due to problem in writing the output"
-msgstr "Conversion stoppée en raison d'un problème d'écriture à la sortie"
+msgstr "conversion stoppée en raison d'un problème d'écriture à la sortie"
-#: iconv/iconv_prog.c:502
+#: iconv/iconv_prog.c:522
#, c-format
msgid "illegal input sequence at position %ld"
-msgstr "Séquence d'échappement illégale à la position %ld"
+msgstr "séquence d'échappement non permise à la position %ld"
-#: iconv/iconv_prog.c:510
+#: iconv/iconv_prog.c:530
+#, c-format
msgid "internal error (illegal descriptor)"
-msgstr "Erreur interne (descripteur illégal)"
+msgstr "erreur interne (descripteur non permis)"
-#: iconv/iconv_prog.c:513
+#: iconv/iconv_prog.c:533
#, c-format
msgid "unknown iconv() error %d"
msgstr "erreur inconnue de iconv() %d"
-#: iconv/iconv_prog.c:756
+#: iconv/iconv_prog.c:779
msgid ""
"The following list contain all the coded character sets known. This does\n"
"not necessarily mean that all combinations of these names can be used for\n"
@@ -342,1016 +1288,1130 @@ msgid ""
"\n"
" "
msgstr ""
-"La liste suivante contient tous les jeux des codes de caractères connus. Ceci\n"
-"ne signifie pas nécessairement que toutes les combinaisons de ces noms peuvent\n"
-"être utilisées dans les paramètres « FROM » et « TO » des commandes. Un jeu de codes de\n"
-"caractères peut être affiché avec différents noms (aliases).\n"
+"La liste suivante contient tous les jeux des codes de caractères connus. Ceci\n"
+"ne signifie pas nécessairement que toutes les combinaisons de ces noms peuvent\n"
+"être utilisées dans les paramètres « FROM » et « TO » des commandes. Un jeu de codes de\n"
+"caractères peut être affiché avec différents noms (aliases).\n"
"\n"
" "
#: iconv/iconvconfig.c:110
msgid "Create fastloading iconv module configuration file."
-msgstr "Craétion d'un module iconv de chargement rapide du fichier de configuration"
+msgstr "Création d'un module iconv de chargement rapide du fichier de configuration."
#: iconv/iconvconfig.c:114
msgid "[DIR...]"
-msgstr "[RÉPERTOIRE...]"
+msgstr "[RÉPERTOIRE...]"
-#: iconv/iconvconfig.c:126
+#: iconv/iconvconfig.c:127
msgid "Prefix used for all file accesses"
-msgstr "Préfixe utilisé pour tous les accès fichiers"
+msgstr "Préfixe utilisé pour tous les accès fichiers"
+
+#: iconv/iconvconfig.c:128
+msgid "Put output in FILE instead of installed location (--prefix does not apply to FILE)"
+msgstr "Dirige la sortie dans FILE au lieu de la sortie standard (--prefix ne s'applique pas à FILE)"
+
+#: iconv/iconvconfig.c:132
+msgid "Do not search standard directories, only those on the command line"
+msgstr "Ne cherche pas les répertoires standards, seulement ceux sur la ligne de commande"
+
+#: iconv/iconvconfig.c:301
+#, c-format
+msgid "Directory arguments required when using --nostdlib"
+msgstr "Arguments de répertoires requis avec --nostdlib"
-#: iconv/iconvconfig.c:327 locale/programs/localedef.c:292
+#: iconv/iconvconfig.c:343 locale/programs/localedef.c:291
+#, c-format
msgid "no output file produced because warnings were issued"
-msgstr "Aucun fichier de sortie généré en raison d'un avertissement déjà émis"
+msgstr "aucun fichier de sortie généré en raison d'avertissements émis"
-#: iconv/iconvconfig.c:405
+#: iconv/iconvconfig.c:429
+#, c-format
msgid "while inserting in search tree"
msgstr "lors d'une insertion dans un arbre de recherche"
-#: iconv/iconvconfig.c:1204
+#: iconv/iconvconfig.c:1238
+#, c-format
msgid "cannot generate output file"
-msgstr "Ne peut générer le fichier de sortie"
+msgstr "ne peut générer le fichier de sortie"
+
+#: inet/rcmd.c:157
+msgid "rcmd: Cannot allocate memory\n"
+msgstr "rcmd : ne peut allouer de la mémoire\n"
+
+#: inet/rcmd.c:172
+msgid "rcmd: socket: All ports in use\n"
+msgstr "rcmd : socket : tous les ports sont occupés\n"
+
+#: inet/rcmd.c:200
+#, c-format
+msgid "connect to address %s: "
+msgstr "Connecte l'adresse %s : "
+
+#: inet/rcmd.c:213
+#, c-format
+msgid "Trying %s...\n"
+msgstr "On tente %s...\n"
+
+#: inet/rcmd.c:249
+#, c-format
+msgid "rcmd: write (setting up stderr): %m\n"
+msgstr "rcmd : écriture (configuration de stderr) : %m\n"
+
+#: inet/rcmd.c:265
+#, c-format
+msgid "rcmd: poll (setting up stderr): %m\n"
+msgstr "rcmd : poll (configuration de stderr) : %m\n"
+
+#: inet/rcmd.c:268
+msgid "poll: protocol failure in circuit setup\n"
+msgstr "poll : échec du protocole dans la configuration du circuit\n"
+
+#: inet/rcmd.c:301
+msgid "socket: protocol failure in circuit setup\n"
+msgstr "socket : échec de protocole dans la configuration du circuit.\n"
+
+#: inet/rcmd.c:325
+#, c-format
+msgid "rcmd: %s: short read"
+msgstr "rcmd : %s : lecture écourtée"
+
+#: inet/rcmd.c:481
+msgid "lstat failed"
+msgstr "échec de lstat()"
+
+#: inet/rcmd.c:488
+msgid "cannot open"
+msgstr "ne peut ouvrir"
+
+#: inet/rcmd.c:490
+msgid "fstat failed"
+msgstr "échec de fstat()"
+
+#: inet/rcmd.c:492
+msgid "bad owner"
+msgstr "mauvais propriétaire"
+
+#: inet/rcmd.c:494
+msgid "writeable by other than owner"
+msgstr "accessible en écriture par d'autres que le propriétaire"
+
+#: inet/rcmd.c:496
+msgid "hard linked somewhere"
+msgstr "lien direct rencontré"
+
+#: inet/ruserpass.c:170 inet/ruserpass.c:193
+msgid "out of memory"
+msgstr "mémoire épuisée"
+
+#: inet/ruserpass.c:184
+msgid "Error: .netrc file is readable by others."
+msgstr "Erreur : le fichier .netrc est lisible par les autres usagers."
+
+#: inet/ruserpass.c:185
+msgid "Remove password or make file unreadable by others."
+msgstr "Retirer le mot de passe ou rendre les fichiers illisibles pour les autres usagers."
+
+#: inet/ruserpass.c:277
+#, c-format
+msgid "Unknown .netrc keyword %s"
+msgstr "Mot clé inconnu %s dans .netrc"
+
+#: libidn/nfkc.c:464
+msgid "Character out of range for UTF-8"
+msgstr "Caractère en dehors de la plage pour UTF-8"
#: locale/programs/charmap-dir.c:59
#, c-format
msgid "cannot read character map directory `%s'"
-msgstr "Ne peut lire via le répertoire de la table des caractères « %s »"
+msgstr "ne peut lire via le dossier de la table des caractères « %s »"
-#: locale/programs/charmap.c:136
+#: locale/programs/charmap.c:138
#, c-format
msgid "character map file `%s' not found"
-msgstr "Fichier de la table des caractères « %s » non repérable"
+msgstr "fichier de la table des caractères « %s » non repérable"
-#: locale/programs/charmap.c:194
+#: locale/programs/charmap.c:195
#, c-format
msgid "default character map file `%s' not found"
-msgstr "Fichier de la table des caractères « %s » non repéré"
+msgstr "fichier par défaut de la table des caractères « %s » non repéré"
-#: locale/programs/charmap.c:257
+#: locale/programs/charmap.c:258
#, c-format
msgid "character map `%s' is not ASCII compatible, locale not ISO C compliant\n"
-msgstr "Table de caractères « %s » n'est pas compatblie ASCII, la locale n'est pas compatible ISO C\n"
+msgstr "table de caractères « %s » n'est pas compatible ASCII, la locale n'est pas compatible ISO C\n"
-#: locale/programs/charmap.c:336
+#: locale/programs/charmap.c:337
#, c-format
msgid "%s: <mb_cur_max> must be greater than <mb_cur_min>\n"
-msgstr "%s: <mb_cur_max> doit être plus grande que <mb_cur_min>\n"
+msgstr "%s : <mb_cur_max> doit être plus grande que <mb_cur_min>\n"
-#: locale/programs/charmap.c:356 locale/programs/charmap.c:373
-#: locale/programs/repertoire.c:175
+#: locale/programs/charmap.c:357 locale/programs/charmap.c:374
+#: locale/programs/repertoire.c:174
#, c-format
msgid "syntax error in prolog: %s"
-msgstr "Erreur de syntaxe du prologue: %s"
+msgstr "erreur de syntaxe du prologue : %s"
-#: locale/programs/charmap.c:357
+#: locale/programs/charmap.c:358
msgid "invalid definition"
-msgstr "Définition invalide"
+msgstr "définition invalide"
-#: locale/programs/charmap.c:374 locale/programs/locfile.c:126
-#: locale/programs/locfile.c:153 locale/programs/repertoire.c:176
+#: locale/programs/charmap.c:375 locale/programs/locfile.c:126
+#: locale/programs/locfile.c:153 locale/programs/repertoire.c:175
msgid "bad argument"
-msgstr "Mauvais argument"
+msgstr "mauvais argument"
-#: locale/programs/charmap.c:402
+#: locale/programs/charmap.c:403
#, c-format
msgid "duplicate definition of <%s>"
-msgstr "Double définitions de <%s>"
+msgstr "double définitions de <%s>"
-#: locale/programs/charmap.c:409
+#: locale/programs/charmap.c:410
#, c-format
msgid "value for <%s> must be 1 or greater"
-msgstr "La valeur de <%s> doit être plus grande ou égale à 1."
+msgstr "la valeur de <%s> doit être plus grande ou égale à 1"
-#: locale/programs/charmap.c:421
+#: locale/programs/charmap.c:422
#, c-format
msgid "value of <%s> must be greater or equal than the value of <%s>"
-msgstr "La valeur de <%s> doit être plus grande ou égale que la valeur de <%s>"
+msgstr "la valeur de <%s> doit être plus grande ou égale à la valeur de <%s>"
-#: locale/programs/charmap.c:444 locale/programs/repertoire.c:184
+#: locale/programs/charmap.c:445 locale/programs/repertoire.c:183
#, c-format
msgid "argument to <%s> must be a single character"
-msgstr "L'argument de <%s> doit être un caractère simple."
+msgstr "l'argument de <%s> doit être un seul caractère"
-#: locale/programs/charmap.c:470
+#: locale/programs/charmap.c:471
msgid "character sets with locking states are not supported"
-msgstr "Les jeux de caractères avec état bloquant ne sont pas supportés"
+msgstr "les jeux de caractères avec état vérrouillés ne sont pas supportés"
-#: locale/programs/charmap.c:497 locale/programs/charmap.c:551
-#: locale/programs/charmap.c:583 locale/programs/charmap.c:677
-#: locale/programs/charmap.c:732 locale/programs/charmap.c:773
-#: locale/programs/charmap.c:814
+#: locale/programs/charmap.c:498 locale/programs/charmap.c:552
+#: locale/programs/charmap.c:584 locale/programs/charmap.c:678
+#: locale/programs/charmap.c:733 locale/programs/charmap.c:774
+#: locale/programs/charmap.c:815
#, c-format
msgid "syntax error in %s definition: %s"
-msgstr "Erreur de syntaxe dans la définition de %s: %s"
+msgstr "erreur de syntaxe dans la définition de %s : %s"
-#: locale/programs/charmap.c:498 locale/programs/charmap.c:678
-#: locale/programs/charmap.c:774 locale/programs/repertoire.c:231
+#: locale/programs/charmap.c:499 locale/programs/charmap.c:679
+#: locale/programs/charmap.c:775 locale/programs/repertoire.c:230
msgid "no symbolic name given"
-msgstr "Aucun nom symbolique fourni"
+msgstr "aucun nom symbolique fourni"
-#: locale/programs/charmap.c:552
+#: locale/programs/charmap.c:553
msgid "invalid encoding given"
-msgstr "Encodage fourni invalide"
+msgstr "encodage fourni invalide"
-#: locale/programs/charmap.c:561
+#: locale/programs/charmap.c:562
msgid "too few bytes in character encoding"
-msgstr "Trop peu d'octets pour l'encodage des caractères"
+msgstr "trop peu d'octets pour l'encodage des caractères"
-#: locale/programs/charmap.c:563
+#: locale/programs/charmap.c:564
msgid "too many bytes in character encoding"
-msgstr "Trop d'octets pour l'encodage des caractères"
+msgstr "trop d'octets pour l'encodage des caractères"
-#: locale/programs/charmap.c:585 locale/programs/charmap.c:733
-#: locale/programs/charmap.c:816 locale/programs/repertoire.c:297
+#: locale/programs/charmap.c:586 locale/programs/charmap.c:734
+#: locale/programs/charmap.c:817 locale/programs/repertoire.c:296
msgid "no symbolic name given for end of range"
-msgstr "Pas de nom symbolique fourni pour la fin de l'intervalle"
-
-#: locale/programs/charmap.c:609 locale/programs/locfile.c:818
-#: locale/programs/repertoire.c:314
+msgstr "pas de nom symbolique fourni pour la fin de l'intervalle"
+
+#: locale/programs/charmap.c:610 locale/programs/ld-address.c:600
+#: locale/programs/ld-collate.c:2767 locale/programs/ld-collate.c:3924
+#: locale/programs/ld-ctype.c:2232 locale/programs/ld-ctype.c:2984
+#: locale/programs/ld-identification.c:452
+#: locale/programs/ld-measurement.c:238 locale/programs/ld-messages.c:332
+#: locale/programs/ld-monetary.c:943 locale/programs/ld-name.c:307
+#: locale/programs/ld-numeric.c:368 locale/programs/ld-paper.c:241
+#: locale/programs/ld-telephone.c:313 locale/programs/ld-time.c:1221
+#: locale/programs/repertoire.c:313
#, c-format
-msgid "`%1$s' definition does not end with `END %1$s'"
-msgstr "« %1$s » la définition ne se termine pas par « END %1$s »"
+msgid "%1$s: definition does not end with `END %1$s'"
+msgstr "%1$s : la définition ne se termine pas par «END %1$s"
-#: locale/programs/charmap.c:642
+#: locale/programs/charmap.c:643
msgid "only WIDTH definitions are allowed to follow the CHARMAP definition"
msgstr ""
-"Seules les définitions de type « WIDTH » sont permises suite\n"
-"à une définition de type « CHARMAP »."
+"Seules les définitions de type « WIDTH » sont permises à la suite\n"
+"d'une définition de type « CHARMAP »"
-#: locale/programs/charmap.c:650 locale/programs/charmap.c:713
+#: locale/programs/charmap.c:651 locale/programs/charmap.c:714
#, c-format
msgid "value for %s must be an integer"
-msgstr "La valeur de %s doit être un entier."
+msgstr "la valeur de %s doit être un entier"
-#: locale/programs/charmap.c:841
+#: locale/programs/charmap.c:842
#, c-format
msgid "%s: error in state machine"
-msgstr "%s: erreur de l'automate à états finis"
-
-#: locale/programs/charmap.c:849 locale/programs/ld-address.c:605
-#: locale/programs/ld-collate.c:2650 locale/programs/ld-collate.c:3818
-#: locale/programs/ld-ctype.c:2225 locale/programs/ld-ctype.c:2994
-#: locale/programs/ld-identification.c:469
-#: locale/programs/ld-measurement.c:255 locale/programs/ld-messages.c:349
-#: locale/programs/ld-monetary.c:958 locale/programs/ld-name.c:324
-#: locale/programs/ld-numeric.c:392 locale/programs/ld-paper.c:258
-#: locale/programs/ld-telephone.c:330 locale/programs/ld-time.c:1219
-#: locale/programs/locfile.c:825 locale/programs/repertoire.c:325
+msgstr "%s : erreur de l'automate à états finis"
+
+#: locale/programs/charmap.c:850 locale/programs/ld-address.c:616
+#: locale/programs/ld-collate.c:2764 locale/programs/ld-collate.c:4115
+#: locale/programs/ld-ctype.c:2229 locale/programs/ld-ctype.c:3001
+#: locale/programs/ld-identification.c:468
+#: locale/programs/ld-measurement.c:254 locale/programs/ld-messages.c:348
+#: locale/programs/ld-monetary.c:959 locale/programs/ld-name.c:323
+#: locale/programs/ld-numeric.c:384 locale/programs/ld-paper.c:257
+#: locale/programs/ld-telephone.c:329 locale/programs/ld-time.c:1237
+#: locale/programs/locfile.c:826 locale/programs/repertoire.c:324
#, c-format
msgid "%s: premature end of file"
-msgstr "%s: fin prématurée du fichier"
+msgstr "%s : fin prématurée du fichier"
-#: locale/programs/charmap.c:868 locale/programs/charmap.c:879
+#: locale/programs/charmap.c:869 locale/programs/charmap.c:880
#, c-format
msgid "unknown character `%s'"
-msgstr "Caractère inconnu « %s »"
+msgstr "caractère inconnu « %s »"
-#: locale/programs/charmap.c:887
+#: locale/programs/charmap.c:888
#, c-format
msgid "number of bytes for byte sequence of beginning and end of range not the same: %d vs %d"
-msgstr "nombre d'octets pour une séquence d'octets de début et de fin de plage n'est pas le même: %d vs %d"
+msgstr "nombre d'octets pour une séquence d'octets de début et de fin de plage n'est pas le même : %d vs %d"
-#: locale/programs/charmap.c:991 locale/programs/ld-collate.c:2930
-#: locale/programs/repertoire.c:420
+#: locale/programs/charmap.c:993 locale/programs/ld-collate.c:3047
+#: locale/programs/repertoire.c:419
msgid "invalid names for character range"
-msgstr "Nom invalide pour un intervalle de caractères"
+msgstr "nom invalide pour un intervalle de caractères"
-#: locale/programs/charmap.c:1003 locale/programs/repertoire.c:432
+#: locale/programs/charmap.c:1005 locale/programs/repertoire.c:431
msgid "hexadecimal range format should use only capital characters"
-msgstr "Format de la gamme hexadécimale doit être en majuscules"
+msgstr "le format de la plage hexadécimale doit utiliser que des majuscules"
-#: locale/programs/charmap.c:1021
+#: locale/programs/charmap.c:1023 locale/programs/repertoire.c:449
#, c-format
-msgid "<%s> and <%s> are illegal names for range"
-msgstr "<%s> et <%s> sont des noms illégaux pour un intervalle."
+msgid "<%s> and <%s> are invalid names for range"
+msgstr "<%s> et <%s> sont des noms invalides pour un intervalle"
-#: locale/programs/charmap.c:1027
-msgid "upper limit in range is not higher then lower limit"
-msgstr ""
-"La limite supérieure de l'intervalle n'est pas plus grand\n"
-"que la limite inférieure."
+#: locale/programs/charmap.c:1029 locale/programs/repertoire.c:456
+msgid "upper limit in range is smaller than lower limit"
+msgstr "la limite supérieure de l'intervalle est plus basse que la limite inférieure"
-#: locale/programs/charmap.c:1085
+#: locale/programs/charmap.c:1087
msgid "resulting bytes for range not representable."
-msgstr "Les octets résultants pour la plage ne sont pas représentables."
+msgstr "les octets résultants pour la plage ne sont pas représentables."
-#: locale/programs/ld-address.c:134 locale/programs/ld-collate.c:1534
-#: locale/programs/ld-ctype.c:421 locale/programs/ld-identification.c:134
-#: locale/programs/ld-measurement.c:95 locale/programs/ld-messages.c:98
-#: locale/programs/ld-monetary.c:194 locale/programs/ld-name.c:95
-#: locale/programs/ld-numeric.c:99 locale/programs/ld-paper.c:92
-#: locale/programs/ld-telephone.c:95 locale/programs/ld-time.c:160
+#: locale/programs/ld-address.c:133 locale/programs/ld-collate.c:1556
+#: locale/programs/ld-ctype.c:420 locale/programs/ld-identification.c:133
+#: locale/programs/ld-measurement.c:94 locale/programs/ld-messages.c:97
+#: locale/programs/ld-monetary.c:194 locale/programs/ld-name.c:94
+#: locale/programs/ld-numeric.c:98 locale/programs/ld-paper.c:91
+#: locale/programs/ld-telephone.c:94 locale/programs/ld-time.c:159
#, c-format
msgid "No definition for %s category found"
-msgstr "Pas de définition pour la catégorie %s"
+msgstr "Pas de définition pour la catégorie %s"
-#: locale/programs/ld-address.c:145 locale/programs/ld-address.c:183
-#: locale/programs/ld-address.c:201 locale/programs/ld-address.c:228
-#: locale/programs/ld-address.c:290 locale/programs/ld-address.c:309
-#: locale/programs/ld-address.c:322 locale/programs/ld-identification.c:147
-#: locale/programs/ld-measurement.c:106 locale/programs/ld-monetary.c:206
+#: locale/programs/ld-address.c:144 locale/programs/ld-address.c:182
+#: locale/programs/ld-address.c:200 locale/programs/ld-address.c:229
+#: locale/programs/ld-address.c:301 locale/programs/ld-address.c:320
+#: locale/programs/ld-address.c:333 locale/programs/ld-identification.c:146
+#: locale/programs/ld-measurement.c:105 locale/programs/ld-monetary.c:206
#: locale/programs/ld-monetary.c:250 locale/programs/ld-monetary.c:266
-#: locale/programs/ld-monetary.c:278 locale/programs/ld-name.c:106
-#: locale/programs/ld-name.c:143 locale/programs/ld-numeric.c:113
-#: locale/programs/ld-numeric.c:127 locale/programs/ld-paper.c:103
-#: locale/programs/ld-paper.c:112 locale/programs/ld-telephone.c:106
-#: locale/programs/ld-telephone.c:163 locale/programs/ld-time.c:176
-#: locale/programs/ld-time.c:197
+#: locale/programs/ld-monetary.c:278 locale/programs/ld-name.c:105
+#: locale/programs/ld-name.c:142 locale/programs/ld-numeric.c:112
+#: locale/programs/ld-numeric.c:126 locale/programs/ld-paper.c:102
+#: locale/programs/ld-paper.c:111 locale/programs/ld-telephone.c:105
+#: locale/programs/ld-telephone.c:162 locale/programs/ld-time.c:175
+#: locale/programs/ld-time.c:196
#, c-format
msgid "%s: field `%s' not defined"
-msgstr "%s: champ « %s » n'est pas défini"
+msgstr "%s : champ « %s » n'est pas défini"
-#: locale/programs/ld-address.c:157 locale/programs/ld-address.c:209
-#: locale/programs/ld-address.c:235 locale/programs/ld-address.c:265
-#: locale/programs/ld-name.c:118 locale/programs/ld-telephone.c:118
+#: locale/programs/ld-address.c:156 locale/programs/ld-address.c:208
+#: locale/programs/ld-address.c:238 locale/programs/ld-address.c:276
+#: locale/programs/ld-name.c:117 locale/programs/ld-telephone.c:117
#, c-format
msgid "%s: field `%s' must not be empty"
-msgstr "%s: champ « %s » ne peut être vide"
+msgstr "%s : champ « %s » ne peut être vide"
-#: locale/programs/ld-address.c:169
+#: locale/programs/ld-address.c:168
#, c-format
msgid "%s: invalid escape `%%%c' sequence in field `%s'"
-msgstr "%s: séquence d'échappement « %%%c » invalide dans le champ « %s »"
+msgstr "%s : séquence d'échappement « %%%c » invalide dans le champ « %s »"
-#: locale/programs/ld-address.c:220
+#: locale/programs/ld-address.c:219
#, c-format
msgid "%s: terminology language code `%s' not defined"
-msgstr "%s: code de terminologie du langage « %s » non défini"
+msgstr "%s : code de terminologie du langage « %s » non défini"
-#: locale/programs/ld-address.c:247 locale/programs/ld-address.c:276
+#: locale/programs/ld-address.c:244
+#, c-format
+msgid "%s: field `%s' must not be defined"
+msgstr "%s : champ « %s » ne doit pas être défini"
+
+#: locale/programs/ld-address.c:258 locale/programs/ld-address.c:287
#, c-format
msgid "%s: language abbreviation `%s' not defined"
-msgstr "%s: abréviation de la langue « %s » n'est pas définie"
+msgstr "%s : abréviation de la langue « %s » n'est pas définie"
-#: locale/programs/ld-address.c:254 locale/programs/ld-address.c:282
-#: locale/programs/ld-address.c:316 locale/programs/ld-address.c:328
+#: locale/programs/ld-address.c:265 locale/programs/ld-address.c:293
+#: locale/programs/ld-address.c:327 locale/programs/ld-address.c:339
#, c-format
msgid "%s: `%s' value does not match `%s' value"
-msgstr "%s: valeur « %s » ne concorde pas avec la valeur « %s »"
+msgstr "%s : valeur « %s » ne concorde pas avec la valeur « %s »"
-#: locale/programs/ld-address.c:301
+#: locale/programs/ld-address.c:312
#, c-format
msgid "%s: numeric country code `%d' not valid"
-msgstr "%s: code numérique invalide pour le pays « %d »"
-
-#: locale/programs/ld-address.c:497 locale/programs/ld-address.c:534
-#: locale/programs/ld-address.c:572 locale/programs/ld-ctype.c:2601
-#: locale/programs/ld-identification.c:365
-#: locale/programs/ld-measurement.c:222 locale/programs/ld-messages.c:302
-#: locale/programs/ld-monetary.c:700 locale/programs/ld-monetary.c:735
-#: locale/programs/ld-monetary.c:776 locale/programs/ld-name.c:281
-#: locale/programs/ld-numeric.c:264 locale/programs/ld-paper.c:225
-#: locale/programs/ld-telephone.c:289 locale/programs/ld-time.c:1108
-#: locale/programs/ld-time.c:1150
+msgstr "%s : code numérique invalide pour le pays « %d »"
+
+#: locale/programs/ld-address.c:508 locale/programs/ld-address.c:545
+#: locale/programs/ld-address.c:583 locale/programs/ld-ctype.c:2608
+#: locale/programs/ld-identification.c:364
+#: locale/programs/ld-measurement.c:221 locale/programs/ld-messages.c:301
+#: locale/programs/ld-monetary.c:701 locale/programs/ld-monetary.c:736
+#: locale/programs/ld-monetary.c:777 locale/programs/ld-name.c:280
+#: locale/programs/ld-numeric.c:263 locale/programs/ld-paper.c:224
+#: locale/programs/ld-telephone.c:288 locale/programs/ld-time.c:1126
+#: locale/programs/ld-time.c:1168
#, c-format
msgid "%s: field `%s' declared more than once"
-msgstr "%s: champ « %s » déclaré plus d'une fois"
+msgstr "%s : champ « %s » déclaré plus d'une fois"
-#: locale/programs/ld-address.c:501 locale/programs/ld-address.c:539
-#: locale/programs/ld-identification.c:369 locale/programs/ld-messages.c:312
-#: locale/programs/ld-monetary.c:704 locale/programs/ld-monetary.c:739
-#: locale/programs/ld-name.c:285 locale/programs/ld-numeric.c:268
-#: locale/programs/ld-telephone.c:293 locale/programs/ld-time.c:1002
-#: locale/programs/ld-time.c:1071 locale/programs/ld-time.c:1113
+#: locale/programs/ld-address.c:512 locale/programs/ld-address.c:550
+#: locale/programs/ld-identification.c:368 locale/programs/ld-messages.c:311
+#: locale/programs/ld-monetary.c:705 locale/programs/ld-monetary.c:740
+#: locale/programs/ld-name.c:284 locale/programs/ld-numeric.c:267
+#: locale/programs/ld-telephone.c:292 locale/programs/ld-time.c:1020
+#: locale/programs/ld-time.c:1089 locale/programs/ld-time.c:1131
#, c-format
msgid "%s: unknown character in field `%s'"
-msgstr "%s: caractère inconnu dans le champ « %s »"
+msgstr "%s : caractère inconnu dans le champ « %s »"
-#: locale/programs/ld-address.c:586 locale/programs/ld-collate.c:3800
-#: locale/programs/ld-ctype.c:2974 locale/programs/ld-identification.c:450
-#: locale/programs/ld-measurement.c:236 locale/programs/ld-messages.c:331
-#: locale/programs/ld-monetary.c:940 locale/programs/ld-name.c:306
-#: locale/programs/ld-numeric.c:374 locale/programs/ld-paper.c:240
-#: locale/programs/ld-telephone.c:312 locale/programs/ld-time.c:1201
+#: locale/programs/ld-address.c:597 locale/programs/ld-collate.c:3922
+#: locale/programs/ld-ctype.c:2981 locale/programs/ld-identification.c:449
+#: locale/programs/ld-measurement.c:235 locale/programs/ld-messages.c:330
+#: locale/programs/ld-monetary.c:941 locale/programs/ld-name.c:305
+#: locale/programs/ld-numeric.c:366 locale/programs/ld-paper.c:239
+#: locale/programs/ld-telephone.c:311 locale/programs/ld-time.c:1219
#, c-format
msgid "%s: incomplete `END' line"
-msgstr "%s: ligne « END » incomplète"
-
-#: locale/programs/ld-address.c:589 locale/programs/ld-collate.c:2653
-#: locale/programs/ld-collate.c:3802 locale/programs/ld-ctype.c:2228
-#: locale/programs/ld-ctype.c:2977 locale/programs/ld-identification.c:453
-#: locale/programs/ld-measurement.c:239 locale/programs/ld-messages.c:333
-#: locale/programs/ld-monetary.c:942 locale/programs/ld-name.c:308
-#: locale/programs/ld-numeric.c:376 locale/programs/ld-paper.c:242
-#: locale/programs/ld-telephone.c:314 locale/programs/ld-time.c:1203
-#, c-format
-msgid "%1$s: definition does not end with `END %1$s'"
-msgstr "%1$s: la définition ne se termine pas par «END %1$s"
-
-#: locale/programs/ld-address.c:596 locale/programs/ld-collate.c:523
-#: locale/programs/ld-collate.c:575 locale/programs/ld-collate.c:871
-#: locale/programs/ld-collate.c:884 locale/programs/ld-collate.c:2640
-#: locale/programs/ld-collate.c:3809 locale/programs/ld-ctype.c:1956
-#: locale/programs/ld-ctype.c:2215 locale/programs/ld-ctype.c:2799
-#: locale/programs/ld-ctype.c:2985 locale/programs/ld-identification.c:460
-#: locale/programs/ld-measurement.c:246 locale/programs/ld-messages.c:340
-#: locale/programs/ld-monetary.c:949 locale/programs/ld-name.c:315
-#: locale/programs/ld-numeric.c:383 locale/programs/ld-paper.c:249
-#: locale/programs/ld-telephone.c:321 locale/programs/ld-time.c:1210
+msgstr "%s : ligne « END » incomplète"
+
+#: locale/programs/ld-address.c:607 locale/programs/ld-collate.c:542
+#: locale/programs/ld-collate.c:594 locale/programs/ld-collate.c:890
+#: locale/programs/ld-collate.c:903 locale/programs/ld-collate.c:2733
+#: locale/programs/ld-collate.c:2754 locale/programs/ld-collate.c:4105
+#: locale/programs/ld-ctype.c:1960 locale/programs/ld-ctype.c:2219
+#: locale/programs/ld-ctype.c:2806 locale/programs/ld-ctype.c:2992
+#: locale/programs/ld-identification.c:459
+#: locale/programs/ld-measurement.c:245 locale/programs/ld-messages.c:339
+#: locale/programs/ld-monetary.c:950 locale/programs/ld-name.c:314
+#: locale/programs/ld-numeric.c:375 locale/programs/ld-paper.c:248
+#: locale/programs/ld-telephone.c:320 locale/programs/ld-time.c:1228
#, c-format
msgid "%s: syntax error"
-msgstr "%s: erreur de syntaxe"
+msgstr "%s : erreur de syntaxe"
-#: locale/programs/ld-collate.c:398
+#: locale/programs/ld-collate.c:417
#, c-format
msgid "`%.*s' already defined in charmap"
-msgstr "« %.*s » déjà défini dans la table des caractères"
+msgstr "« %.*s » déjà défini dans la table des caractères"
-#: locale/programs/ld-collate.c:407
+#: locale/programs/ld-collate.c:426
#, c-format
msgid "`%.*s' already defined in repertoire"
-msgstr "« %.*s » déjà défini dans le répertoire"
+msgstr "« %.*s » déjà défini dans le dossier"
-#: locale/programs/ld-collate.c:414
+#: locale/programs/ld-collate.c:433
#, c-format
msgid "`%.*s' already defined as collating symbol"
-msgstr "« %.*s » déjà défini comme symbole de collation"
+msgstr "« %.*s » déjà défini comme symbole de classement (collation)"
-#: locale/programs/ld-collate.c:421
+#: locale/programs/ld-collate.c:440
#, c-format
msgid "`%.*s' already defined as collating element"
-msgstr "« %.*s » déjà défini comme élément de collation"
+msgstr "« %.*s » déjà défini comme élément de classement (collation)"
-#: locale/programs/ld-collate.c:452 locale/programs/ld-collate.c:478
+#: locale/programs/ld-collate.c:471 locale/programs/ld-collate.c:497
#, c-format
msgid "%s: `forward' and `backward' are mutually excluding each other"
-msgstr "%s: « forward » et « backward » sont mutuellement exclusifs"
+msgstr "%s : « forward » et « backward » sont mutuellement exclusifs"
-#: locale/programs/ld-collate.c:462 locale/programs/ld-collate.c:488
-#: locale/programs/ld-collate.c:504
+#: locale/programs/ld-collate.c:481 locale/programs/ld-collate.c:507
+#: locale/programs/ld-collate.c:523
#, c-format
msgid "%s: `%s' mentioned more than once in definition of weight %d"
-msgstr "%s: « %s » mentionné plus d'une fois dans la définition du poids %d"
+msgstr "%s : « %s » mentionné plus d'une fois dans la définition du poids %d"
-#: locale/programs/ld-collate.c:560
+#: locale/programs/ld-collate.c:579
#, c-format
msgid "%s: too many rules; first entry only had %d"
-msgstr "%s: trop de règles; la 1ère entrée n'en a que %d"
+msgstr "%s : trop de règles; la 1ère entrée n'a que %d"
-#: locale/programs/ld-collate.c:596
+#: locale/programs/ld-collate.c:615
#, c-format
msgid "%s: not enough sorting rules"
-msgstr "%s: pas assez de règles de tri"
+msgstr "%s : pas assez de règles de tri"
-#: locale/programs/ld-collate.c:761
+#: locale/programs/ld-collate.c:780
#, c-format
msgid "%s: empty weight string not allowed"
-msgstr "%s: chaîne de poids vide non permise"
+msgstr "%s : chaîne de poids vide non permise"
-#: locale/programs/ld-collate.c:856
+#: locale/programs/ld-collate.c:875
#, c-format
msgid "%s: weights must use the same ellipsis symbol as the name"
-msgstr "%s: les poids utilisé doivent utiliser les mêmes symbole de l'ellipse que les noms"
+msgstr "%s : les poids doivent utiliser les mêmes symboles d'ellipse que les noms"
-#: locale/programs/ld-collate.c:912
+#: locale/programs/ld-collate.c:931
#, c-format
msgid "%s: too many values"
-msgstr "%s: trop de valeurs"
+msgstr "%s : trop de valeurs"
-#: locale/programs/ld-collate.c:1031 locale/programs/ld-collate.c:1206
+#: locale/programs/ld-collate.c:1051 locale/programs/ld-collate.c:1226
#, c-format
msgid "order for `%.*s' already defined at %s:%Zu"
-msgstr "L'ordre de « %.*s » est déjà défini dans %s:%Zu"
+msgstr "L'ordre de « %.*s » est déjà défini dans %s :%Zu"
-#: locale/programs/ld-collate.c:1081
+#: locale/programs/ld-collate.c:1101
#, c-format
msgid "%s: the start and the end symbol of a range must stand for characters"
-msgstr "%s: le symbole de départ et de fin d'une plage doit être en caractères"
+msgstr "%s : le symbole de départ et de fin d'une plage doit être en caractères"
-#: locale/programs/ld-collate.c:1108
+#: locale/programs/ld-collate.c:1128
#, c-format
msgid "%s: byte sequences of first and last character must have the same length"
-msgstr "%s: séquences d'octets du 1er et dernier caractère doivent avoir la même longueur"
+msgstr "%s : séquences d'octets du 1er et dernier caractère doivent avoir la même longueur"
-#: locale/programs/ld-collate.c:1150
+#: locale/programs/ld-collate.c:1170
#, c-format
-msgid "%s: byte sequence of first character of sequence is not lower than that of the last character"
-msgstr "%s: séquence d'octet du 1er caractère d'une séquence est plus petit que celle du dernier caractère"
+msgid "%s: byte sequence of first character of range is not lower than that of the last character"
+msgstr "%s : séquence d'octet du 1er caractère d'un intervalle n'est pas plus petit que celle du dernier caractère"
-#: locale/programs/ld-collate.c:1275
+#: locale/programs/ld-collate.c:1295
#, c-format
msgid "%s: symbolic range ellipsis must not directly follow `order_start'"
-msgstr "%s: plage de l'ellipse symbolique ne doit pas être suivie directement de « order_start »"
+msgstr "%s : plage de l'ellipse symbolique ne doit pas être suivie directement de « order_start »"
-#: locale/programs/ld-collate.c:1279
+#: locale/programs/ld-collate.c:1299
#, c-format
msgid "%s: symbolic range ellipsis must not be directly followed by `order_end'"
-msgstr "%s: plage de l'ellipse symbolique ne doit pas être suivie directement de « order_end »"
+msgstr "%s : plage de l'ellipse symbolique ne doit pas être suivie directement de « order_end »"
-#: locale/programs/ld-collate.c:1299 locale/programs/ld-ctype.c:1476
+#: locale/programs/ld-collate.c:1319 locale/programs/ld-ctype.c:1477
#, c-format
msgid "`%s' and `%.*s' are not valid names for symbolic range"
-msgstr "« %s » et « %.*s » sont des noms invalides pour un intervalle symbolique."
+msgstr "« %s » et « %.*s » sont des noms invalides pour un intervalle symbolique"
-#: locale/programs/ld-collate.c:1348 locale/programs/ld-collate.c:3737
+#: locale/programs/ld-collate.c:1369 locale/programs/ld-collate.c:3858
#, c-format
msgid "%s: order for `%.*s' already defined at %s:%Zu"
-msgstr "%s: ordre de « %.*s » déjà défini comme %s:%Zu"
+msgstr "%s : ordre de « %.*s » déjà défini comme %s:%Zu"
-#: locale/programs/ld-collate.c:1357
+#: locale/programs/ld-collate.c:1378
#, c-format
msgid "%s: `%s' must be a character"
-msgstr "%s: « %s » doit être un caractère"
+msgstr "%s : « %s » doit être un caractère"
-#: locale/programs/ld-collate.c:1550
+#: locale/programs/ld-collate.c:1573
#, c-format
msgid "%s: `position' must be used for a specific level in all sections or none"
-msgstr "%s: « position » doit être utilisé pour un niveau spécifique dans toutes les sections ou aucune"
+msgstr "%s : « position » doit être utilisé pour un niveau spécifique dans toutes les sections ou aucune"
-#: locale/programs/ld-collate.c:1575
+#: locale/programs/ld-collate.c:1598
#, c-format
msgid "symbol `%s' not defined"
-msgstr "Symbole « %s » n'est pas défini"
+msgstr "Symbole « %s » n'est pas défini"
-#: locale/programs/ld-collate.c:1651 locale/programs/ld-collate.c:1757
+#: locale/programs/ld-collate.c:1674 locale/programs/ld-collate.c:1780
#, c-format
msgid "symbol `%s' has the same encoding as"
-msgstr "Symbole « %s » a le même encodage que"
+msgstr "Symbole « %s » a le même encodage que"
-#: locale/programs/ld-collate.c:1655 locale/programs/ld-collate.c:1761
+#: locale/programs/ld-collate.c:1678 locale/programs/ld-collate.c:1784
#, c-format
msgid "symbol `%s'"
-msgstr "Symbole « %s »"
+msgstr "Symbole « %s »"
-#: locale/programs/ld-collate.c:1803
+#: locale/programs/ld-collate.c:1826
+#, c-format
msgid "no definition of `UNDEFINED'"
-msgstr "Pas de définition de type « UNDEFINED »"
+msgstr "Pas de définition de type « UNDEFINED »"
-#: locale/programs/ld-collate.c:1832
+#: locale/programs/ld-collate.c:1855
+#, c-format
msgid "too many errors; giving up"
msgstr "trop d'erreurs; abandon"
-#: locale/programs/ld-collate.c:2735
+#: locale/programs/ld-collate.c:2659 locale/programs/ld-collate.c:4044
+#, c-format
+msgid "%s: nested conditionals not supported"
+msgstr "%s : conditions imbriquées non supportées"
+
+#: locale/programs/ld-collate.c:2677
+#, c-format
+msgid "%s: more then one 'else'"
+msgstr "%s : plus puis 1 'else'"
+
+#: locale/programs/ld-collate.c:2852
#, c-format
msgid "%s: duplicate definition of `%s'"
-msgstr "%s: double définition de « %s »"
+msgstr "%s : double définition de « %s »"
-#: locale/programs/ld-collate.c:2771
+#: locale/programs/ld-collate.c:2888
#, c-format
msgid "%s: duplicate declaration of section `%s'"
-msgstr "%s: double déclaration de section « %s »"
+msgstr "%s : double déclaration de section « %s »"
-#: locale/programs/ld-collate.c:2910
+#: locale/programs/ld-collate.c:3027
#, c-format
msgid "%s: unknown character in collating symbol name"
-msgstr "%s: caractère inconnu dans le nom du symbole de collation"
+msgstr "%s : caractère inconnu dans le nom du symbole de collation"
-#: locale/programs/ld-collate.c:3042
+#: locale/programs/ld-collate.c:3159
#, c-format
msgid "%s: unknown character in equivalent definition name"
-msgstr "%s: caractère inconnu dans la définition équivalent d'un nom"
+msgstr "%s : caractère inconnu dans la définition équivalent d'un nom"
-#: locale/programs/ld-collate.c:3055
+#: locale/programs/ld-collate.c:3172
#, c-format
msgid "%s: unknown character in equivalent definition value"
-msgstr "%s: caractère inconnu dans la définition équivalente d'une valeur"
+msgstr "%s : caractère inconnu dans la définition équivalente d'une valeur"
-#: locale/programs/ld-collate.c:3065
+#: locale/programs/ld-collate.c:3182
#, c-format
msgid "%s: unknown symbol `%s' in equivalent definition"
-msgstr "%s: symbole inconnu « %s » dans une définition équivalente"
+msgstr "%s : symbole inconnu « %s » dans une définition équivalente"
-#: locale/programs/ld-collate.c:3074
+#: locale/programs/ld-collate.c:3191
msgid "error while adding equivalent collating symbol"
-msgstr "Erreur lors de l'ajout d'un symbole de collation équivalent"
+msgstr "Erreur lors de l'ajout d'un symbole de collation équivalent"
-#: locale/programs/ld-collate.c:3104
+#: locale/programs/ld-collate.c:3221
#, c-format
msgid "duplicate definition of script `%s'"
-msgstr "Double définitions du script « %s »"
+msgstr "Double définitions du script « %s »"
-#: locale/programs/ld-collate.c:3152
+#: locale/programs/ld-collate.c:3269
#, c-format
-msgid "%s: unknown section name `%s'"
-msgstr "%s: nom de section inconnu « %s »"
+msgid "%s: unknown section name `%.*s'"
+msgstr "%s : nom de section inconnu `% *s'"
-#: locale/programs/ld-collate.c:3180
+#: locale/programs/ld-collate.c:3298
#, c-format
msgid "%s: multiple order definitions for section `%s'"
-msgstr "%s: définitions d'ordre multiple de la section « %s »"
+msgstr "%s : définitions d'ordre multiple de la section « %s »"
-#: locale/programs/ld-collate.c:3205
+#: locale/programs/ld-collate.c:3326
#, c-format
msgid "%s: invalid number of sorting rules"
-msgstr "%s: nombre invalide de règles de tri"
+msgstr "%s : nombre invalide de règles de tri"
-#: locale/programs/ld-collate.c:3232
+#: locale/programs/ld-collate.c:3353
#, c-format
msgid "%s: multiple order definitions for unnamed section"
-msgstr "%s: définitions d'ordre multiple pour une section sans nom"
+msgstr "%s : définitions d'ordre multiple pour une section sans nom"
-#: locale/programs/ld-collate.c:3286 locale/programs/ld-collate.c:3414
-#: locale/programs/ld-collate.c:3778
+#: locale/programs/ld-collate.c:3407 locale/programs/ld-collate.c:3537
+#: locale/programs/ld-collate.c:3900
#, c-format
msgid "%s: missing `order_end' keyword"
-msgstr "%s: mot clé « order_end » manquant"
+msgstr "%s : mot clé « order_end » manquant"
-#: locale/programs/ld-collate.c:3347
+#: locale/programs/ld-collate.c:3470
#, c-format
msgid "%s: order for collating symbol %.*s not yet defined"
-msgstr "%s: ordre de fusionnement de symboles %.*s n'est pas encore défini"
+msgstr "%s : ordre de fusionnement de symboles %.*s n'est pas encore défini"
-#: locale/programs/ld-collate.c:3365
+#: locale/programs/ld-collate.c:3488
#, c-format
msgid "%s: order for collating element %.*s not yet defined"
-msgstr "%s: ordre de fusionnement d'éléments %.*s n'est pas encore défini"
+msgstr "%s : ordre de fusionnement d'éléments %.*s n'est pas encore défini"
-#: locale/programs/ld-collate.c:3376
+#: locale/programs/ld-collate.c:3499
#, c-format
msgid "%s: cannot reorder after %.*s: symbol not known"
-msgstr "%s: ne peut réordonner après %.*s: symbole inconnu"
+msgstr "%s : ne peut réordonner après %.*s : symbole inconnu"
-#: locale/programs/ld-collate.c:3428 locale/programs/ld-collate.c:3790
+#: locale/programs/ld-collate.c:3551 locale/programs/ld-collate.c:3912
#, c-format
msgid "%s: missing `reorder-end' keyword"
-msgstr "%s: mot clé « reorder-end » manquant"
+msgstr "%s : mot clé « reorder-end » manquant"
-#: locale/programs/ld-collate.c:3462 locale/programs/ld-collate.c:3662
+#: locale/programs/ld-collate.c:3585 locale/programs/ld-collate.c:3783
#, c-format
msgid "%s: section `%.*s' not known"
-msgstr "%s: section « %.*s » inconnue"
+msgstr "%s : section « %.*s » inconnue"
-#: locale/programs/ld-collate.c:3527
+#: locale/programs/ld-collate.c:3650
#, c-format
msgid "%s: bad symbol <%.*s>"
-msgstr "%s: symbole erroné <%.*s>"
+msgstr "%s : symbole erroné <%.*s>"
-#: locale/programs/ld-collate.c:3725
+#: locale/programs/ld-collate.c:3846
#, c-format
msgid "%s: cannot have `%s' as end of ellipsis range"
-msgstr "%s: ne peut avoir « %s » à la fin d'une plage d'ellipse"
+msgstr "%s : ne peut avoir « %s » à la fin d'une plage d'ellipse"
-#: locale/programs/ld-collate.c:3774
+#: locale/programs/ld-collate.c:3896
#, c-format
msgid "%s: empty category description not allowed"
-msgstr "%s: description de catégorie vide non permise"
+msgstr "%s : description de catégorie vide non permise"
-#: locale/programs/ld-collate.c:3793
+#: locale/programs/ld-collate.c:3915
#, c-format
msgid "%s: missing `reorder-sections-end' keyword"
-msgstr "%s: mot clé « reorder-sections-end » manquant"
+msgstr "%s : mot clé « reorder-sections-end » manquant"
+
+#: locale/programs/ld-collate.c:4077
+#, c-format
+msgid "%s: '%s' without matching 'ifdef' or 'ifndef'"
+msgstr "%s : '%s' sans correspondance 'ifdef' ou 'ifndef'"
-#: locale/programs/ld-ctype.c:440
+#: locale/programs/ld-collate.c:4095
+#, c-format
+msgid "%s: 'endif' without matching 'ifdef' or 'ifndef'"
+msgstr "%s : 'endif' sans 'ifdef' ou 'ifndef' correspondant"
+
+#: locale/programs/ld-ctype.c:439
+#, c-format
msgid "No character set name specified in charmap"
-msgstr "Pas de nom de jeu caractères spéecifié dans la table des caractères"
+msgstr "Pas de nom de jeu caractères spéecifié dans la table des caractères"
-#: locale/programs/ld-ctype.c:469
+#: locale/programs/ld-ctype.c:468
#, c-format
msgid "character L'\\u%0*x' in class `%s' must be in class `%s'"
-msgstr "Le caractère L'\\u%0*x» de la classe « %s » doit être dans la classe « %s »"
+msgstr "Le caractère L'\\u%0*x» de la classe « %s » doit être dans la classe « %s »"
-#: locale/programs/ld-ctype.c:484
+#: locale/programs/ld-ctype.c:483
#, c-format
msgid "character L'\\u%0*x' in class `%s' must not be in class `%s'"
-msgstr "Le caractère L'\\u%0*x» de la classe « %s » ne doit pas être dans la classe « %s »"
+msgstr "Le caractère L'\\u%0*x» de la classe « %s » ne doit pas être dans la classe « %s »"
-#: locale/programs/ld-ctype.c:498 locale/programs/ld-ctype.c:556
+#: locale/programs/ld-ctype.c:497 locale/programs/ld-ctype.c:555
#, c-format
msgid "internal error in %s, line %u"
msgstr "Erreur interne dans %s, ligne %u"
-#: locale/programs/ld-ctype.c:527
+#: locale/programs/ld-ctype.c:526
#, c-format
msgid "character '%s' in class `%s' must be in class `%s'"
-msgstr "Caractère « %s » de la classe « %s » doit être dans la classe « %s »"
+msgstr "Caractère « %s » de la classe « %s » doit être dans la classe « %s »"
-#: locale/programs/ld-ctype.c:543
+#: locale/programs/ld-ctype.c:542
#, c-format
msgid "character '%s' in class `%s' must not be in class `%s'"
-msgstr "Caractère « %s » de la classe « %s » ne doit pas être dans la classe « %s »"
+msgstr "Caractère « %s » de la classe « %s » ne doit pas être dans la classe « %s »"
-#: locale/programs/ld-ctype.c:573 locale/programs/ld-ctype.c:611
+#: locale/programs/ld-ctype.c:572 locale/programs/ld-ctype.c:610
#, c-format
msgid "<SP> character not in class `%s'"
-msgstr "Le caractère <SP> n'est pas dans la classe « %s »."
+msgstr "Le caractère <SP> n'est pas dans la classe « %s »"
-#: locale/programs/ld-ctype.c:585 locale/programs/ld-ctype.c:622
+#: locale/programs/ld-ctype.c:584 locale/programs/ld-ctype.c:621
#, c-format
msgid "<SP> character must not be in class `%s'"
-msgstr "Le caractère <SP> ne doit pas être dans la classe « %s »."
+msgstr "Le caractère <SP> ne doit pas être dans la classe « %s »"
-#: locale/programs/ld-ctype.c:600
+#: locale/programs/ld-ctype.c:599
+#, c-format
msgid "character <SP> not defined in character map"
-msgstr "Caractère <SP> non défini dans la table des caractères"
+msgstr "Caractère <SP> non défini dans la table des caractères"
#: locale/programs/ld-ctype.c:714
+#, c-format
msgid "`digit' category has not entries in groups of ten"
-msgstr "catégorie « digit » n'a pas d'entrées dans les groupe des dizaines"
+msgstr "catégorie « digit » n'a pas d'entrées dans les groupe des dizaines"
#: locale/programs/ld-ctype.c:763
+#, c-format
msgid "no input digits defined and none of the standard names in the charmap"
-msgstr "Pas de chiffre défini et aucun des noms standards dans la table des caractères"
+msgstr "Pas de chiffre défini et aucun des noms standards dans la table des caractères"
#: locale/programs/ld-ctype.c:828
+#, c-format
msgid "not all characters used in `outdigit' are available in the charmap"
-msgstr "Pas tous les caractères utilisés dans « outdigit » sont disponibles dans la table des caractères"
+msgstr "Pas tous les caractères utilisés dans « outdigit » sont disponibles dans la table des caractères"
#: locale/programs/ld-ctype.c:845
+#, c-format
msgid "not all characters used in `outdigit' are available in the repertoire"
-msgstr "Pas tous les caractères utilisés dans « outdigit » sont disponibles dans le répertoire"
+msgstr "Pas tous les caractères utilisés dans « outdigit » sont disponibles dans le dossier"
-#: locale/programs/ld-ctype.c:1244
+#: locale/programs/ld-ctype.c:1245
#, c-format
msgid "character class `%s' already defined"
-msgstr "Classe de caractères « %s » déjà définie"
+msgstr "Classe de caractères « %s » déjà définie"
-#: locale/programs/ld-ctype.c:1250
+#: locale/programs/ld-ctype.c:1251
#, c-format
msgid "implementation limit: no more than %Zd character classes allowed"
-msgstr "Limite d'implantation: pas plus de %Zd classes de caractères permises"
+msgstr "Limite d'implantation : pas plus de %Zd classes de caractères permises"
-#: locale/programs/ld-ctype.c:1276
+#: locale/programs/ld-ctype.c:1277
#, c-format
msgid "character map `%s' already defined"
-msgstr "Table de caractères « %s » déjà définie"
+msgstr "Table de caractères « %s » déjà définie"
-#: locale/programs/ld-ctype.c:1282
+#: locale/programs/ld-ctype.c:1283
#, c-format
msgid "implementation limit: no more than %d character maps allowed"
-msgstr "Limite d'implantation: pas plus de %d tables de caractères sont permises"
+msgstr "Limite d'implantation : pas plus de %d tables de caractères sont permises"
-#: locale/programs/ld-ctype.c:1547 locale/programs/ld-ctype.c:1672
-#: locale/programs/ld-ctype.c:1778 locale/programs/ld-ctype.c:2464
-#: locale/programs/ld-ctype.c:3460
+#: locale/programs/ld-ctype.c:1548 locale/programs/ld-ctype.c:1673
+#: locale/programs/ld-ctype.c:1779 locale/programs/ld-ctype.c:2471
+#: locale/programs/ld-ctype.c:3467
#, c-format
msgid "%s: field `%s' does not contain exactly ten entries"
-msgstr "%s: champ « %s » ne contient pas exactement 10 entrées"
+msgstr "%s : champ « %s » ne contient pas exactement 10 entrées"
-#: locale/programs/ld-ctype.c:1575 locale/programs/ld-ctype.c:2146
+#: locale/programs/ld-ctype.c:1576 locale/programs/ld-ctype.c:2150
#, c-format
msgid "to-value <U%0*X> of range is smaller than from-value <U%0*X>"
-msgstr "Valeur-finale <U%0*X> de l'intervalle est plus petite que la valeur-départ <U%0*X>"
+msgstr "Valeur-finale <U%0*X> de l'intervalle est plus petite que la valeur-départ <U%0*X>"
-#: locale/programs/ld-ctype.c:1702
+#: locale/programs/ld-ctype.c:1703
msgid "start and end character sequence of range must have the same length"
-msgstr "Début et fin de l'intervalle de la séquence de caractères doivent avoir la même longueur"
+msgstr "Début et fin de l'intervalle de la séquence de caractères doivent avoir la même longueur"
-#: locale/programs/ld-ctype.c:1709
+#: locale/programs/ld-ctype.c:1710
msgid "to-value character sequence is smaller than from-value sequence"
-msgstr "Valeur finale de la séquence des caractères est plus petite que la valeur de départ"
+msgstr "Valeur finale de la séquence des caractères est plus petite que la valeur de départ"
-#: locale/programs/ld-ctype.c:2066 locale/programs/ld-ctype.c:2117
+#: locale/programs/ld-ctype.c:2070 locale/programs/ld-ctype.c:2121
msgid "premature end of `translit_ignore' definition"
-msgstr "Fin prématurée de la définition de « translit_ignore »"
+msgstr "Fin prématurée de la définition de « translit_ignore »"
-#: locale/programs/ld-ctype.c:2072 locale/programs/ld-ctype.c:2123
-#: locale/programs/ld-ctype.c:2165
+#: locale/programs/ld-ctype.c:2076 locale/programs/ld-ctype.c:2127
+#: locale/programs/ld-ctype.c:2169
msgid "syntax error"
msgstr "Erreur de syntaxe"
-#: locale/programs/ld-ctype.c:2296
+#: locale/programs/ld-ctype.c:2303
#, c-format
msgid "%s: syntax error in definition of new character class"
-msgstr "%s: srreur de syntaxe dans la définition d'une nouvelle classe de caractères"
+msgstr "%s : erreur de syntaxe dans la définition d'une nouvelle classe de caractères"
-#: locale/programs/ld-ctype.c:2311
+#: locale/programs/ld-ctype.c:2318
#, c-format
msgid "%s: syntax error in definition of new character map"
-msgstr "%s: erreur de syntaxe dans la définition d'une nouvelle table de caractères"
+msgstr "%s : erreur de syntaxe dans la définition d'une nouvelle table de caractères"
-#: locale/programs/ld-ctype.c:2486
+#: locale/programs/ld-ctype.c:2493
msgid "ellipsis range must be marked by two operands of same type"
-msgstr "Plage de l'ellipse doit être marqué par 2 opérandes du même type"
+msgstr "Plage de l'ellipse doit être marqué par 2 opérandes du même type"
-#: locale/programs/ld-ctype.c:2495
+#: locale/programs/ld-ctype.c:2502
msgid "with symbolic name range values the absolute ellipsis `...' must not be used"
-msgstr "Les valeurs d'une plage de noms symboliques d'une ellipse absolue « .... » ne doivent pas être utilisés"
+msgstr "Les valeurs d'une plage de noms symboliques d'une ellipse absolue « .... » ne doivent pas être utilisés"
-#: locale/programs/ld-ctype.c:2510
+#: locale/programs/ld-ctype.c:2517
msgid "with UCS range values one must use the hexadecimal symbolic ellipsis `..'"
-msgstr "Les valeurs d'une plage UCS doivent utiliser une ellipse symbolique en hexadécimal « .. »"
+msgstr "Les valeurs d'une plage UCS doivent utiliser une ellipse symbolique en hexadécimal « .. »"
-#: locale/programs/ld-ctype.c:2524
+#: locale/programs/ld-ctype.c:2531
msgid "with character code range values one must use the absolute ellipsis `...'"
-msgstr "Les valeurs d'une plage de caractères doivent utiliser une ellipse absolu « ... »"
+msgstr "Les valeurs d'une plage de caractères doivent utiliser une ellipse absolu « ... »"
-#: locale/programs/ld-ctype.c:2675
+#: locale/programs/ld-ctype.c:2682
#, c-format
msgid "duplicated definition for mapping `%s'"
-msgstr "Double définitions de la table « %s »"
+msgstr "Double définitions de la table « %s »"
-#: locale/programs/ld-ctype.c:2761 locale/programs/ld-ctype.c:2905
+#: locale/programs/ld-ctype.c:2768 locale/programs/ld-ctype.c:2912
#, c-format
msgid "%s: `translit_start' section does not end with `translit_end'"
-msgstr "%s: la section « transit_start » n'est pas terminée par « translit_end »"
+msgstr "%s : la section « transit_start » n'est pas terminée par « translit_end »"
-#: locale/programs/ld-ctype.c:2856
+#: locale/programs/ld-ctype.c:2863
#, c-format
msgid "%s: duplicate `default_missing' definition"
-msgstr "%s: double définition de « default_missing »"
+msgstr "%s : double définition de « default_missing »"
-#: locale/programs/ld-ctype.c:2861
+#: locale/programs/ld-ctype.c:2868
msgid "previous definition was here"
-msgstr "Le définition précédente était ici"
+msgstr "Le définition précédente était ici"
-#: locale/programs/ld-ctype.c:2883
+#: locale/programs/ld-ctype.c:2890
#, c-format
msgid "%s: no representable `default_missing' definition found"
-msgstr "%s: aucune définition « default_missing » pour les non représentables"
-
-#: locale/programs/ld-ctype.c:3036
-#, c-format
-msgid "%s: character `%s' not defined in charmap while needed as default value"
-msgstr "%s: caractère « %s » non défini dans la table des caractères alors qu'attendu comme valeur par défaut"
-
-#: locale/programs/ld-ctype.c:3041 locale/programs/ld-ctype.c:3125
-#: locale/programs/ld-ctype.c:3145 locale/programs/ld-ctype.c:3166
-#: locale/programs/ld-ctype.c:3187 locale/programs/ld-ctype.c:3208
-#: locale/programs/ld-ctype.c:3229 locale/programs/ld-ctype.c:3269
-#: locale/programs/ld-ctype.c:3290 locale/programs/ld-ctype.c:3357
-#, c-format
-msgid "%s: character `%s' in charmap not representable with one byte"
-msgstr "%s: caractère « %s » dans la table des caractères n'est pas représentable par un seul octet"
+msgstr "%s : aucune définition « default_missing » pour les non représentables"
-#: locale/programs/ld-ctype.c:3120 locale/programs/ld-ctype.c:3140
-#: locale/programs/ld-ctype.c:3182 locale/programs/ld-ctype.c:3203
-#: locale/programs/ld-ctype.c:3224 locale/programs/ld-ctype.c:3264
-#: locale/programs/ld-ctype.c:3285 locale/programs/ld-ctype.c:3352
-#: locale/programs/ld-ctype.c:3394 locale/programs/ld-ctype.c:3419
+#: locale/programs/ld-ctype.c:3043 locale/programs/ld-ctype.c:3127
+#: locale/programs/ld-ctype.c:3147 locale/programs/ld-ctype.c:3168
+#: locale/programs/ld-ctype.c:3189 locale/programs/ld-ctype.c:3210
+#: locale/programs/ld-ctype.c:3231 locale/programs/ld-ctype.c:3271
+#: locale/programs/ld-ctype.c:3292 locale/programs/ld-ctype.c:3359
+#: locale/programs/ld-ctype.c:3401 locale/programs/ld-ctype.c:3426
#, c-format
msgid "%s: character `%s' not defined while needed as default value"
-msgstr "%s: caractère « %s » non défini alors qu'attendu comme valeur par défaut"
+msgstr "%s : caractère « %s » non défini alors qu'attendu comme valeur par défaut"
-#: locale/programs/ld-ctype.c:3161
+#: locale/programs/ld-ctype.c:3048 locale/programs/ld-ctype.c:3132
+#: locale/programs/ld-ctype.c:3152 locale/programs/ld-ctype.c:3173
+#: locale/programs/ld-ctype.c:3194 locale/programs/ld-ctype.c:3215
+#: locale/programs/ld-ctype.c:3236 locale/programs/ld-ctype.c:3276
+#: locale/programs/ld-ctype.c:3297 locale/programs/ld-ctype.c:3364
#, c-format
-msgid "character `%s' not defined while needed as default value"
-msgstr "Caractère « %s » non défini alors qu'attendu comme valeur par défaut"
+msgid "%s: character `%s' in charmap not representable with one byte"
+msgstr "%s : caractère « %s » dans la table des caractères n'est pas représentable par un seul octet"
-#: locale/programs/ld-ctype.c:3401 locale/programs/ld-ctype.c:3426
+#: locale/programs/ld-ctype.c:3408 locale/programs/ld-ctype.c:3433
#, c-format
msgid "%s: character `%s' needed as default value not representable with one byte"
-msgstr "%s: caractère « %s » nécessaire comme valeur par défaut n'est pas représentable par un seul octet"
+msgstr "%s : caractère « %s » nécessaire comme valeur par défaut n'est pas représentable par un seul octet"
-#: locale/programs/ld-ctype.c:3481
+#: locale/programs/ld-ctype.c:3489
+#, c-format
msgid "no output digits defined and none of the standard names in the charmap"
-msgstr "Pas de chiffre défini et aucun des noms standards dans la table des caractères"
+msgstr "Pas de chiffre défini et aucun des noms standards dans la table des caractères"
-#: locale/programs/ld-ctype.c:3772
+#: locale/programs/ld-ctype.c:3780
#, c-format
msgid "%s: transliteration data from locale `%s' not available"
-msgstr "%s: la localisation « %s » n'est pas disponible pour la translitération des données"
+msgstr "%s : le particularisme local « %s » ne dispose pas des données de transposition"
-#: locale/programs/ld-ctype.c:3868
+#: locale/programs/ld-ctype.c:3881
#, c-format
msgid "%s: table for class \"%s\": %lu bytes\n"
-msgstr "%s: table pour la classe « %s »: %lu octets\n"
+msgstr "%s : table pour la classe « %s » : %lu octets\n"
-#: locale/programs/ld-ctype.c:3937
+#: locale/programs/ld-ctype.c:3950
#, c-format
msgid "%s: table for map \"%s\": %lu bytes\n"
-msgstr "%s: table de cractères « %s »: %lu octets\n"
+msgstr "%s : table de caractères « %s » : %lu octets\n"
-#: locale/programs/ld-ctype.c:4070
+#: locale/programs/ld-ctype.c:4083
#, c-format
msgid "%s: table for width: %lu bytes\n"
-msgstr "%s: table de largeur: %lu octets\n"
+msgstr "%s : table de largeur : %lu octets\n"
-#: locale/programs/ld-identification.c:171
+#: locale/programs/ld-identification.c:170
#, c-format
msgid "%s: no identification for category `%s'"
-msgstr "%s: pas d'identification pour la catégorie « %s »"
+msgstr "%s : pas d'identification pour la catégorie « %s »"
-#: locale/programs/ld-identification.c:436
+#: locale/programs/ld-identification.c:435
#, c-format
msgid "%s: duplicate category version definition"
-msgstr "%s: double définition de version de catégorie"
+msgstr "%s : double définition de version de catégorie"
-#: locale/programs/ld-measurement.c:114
+#: locale/programs/ld-measurement.c:113
#, c-format
msgid "%s: invalid value for field `%s'"
-msgstr "%s: valeur invalide pour le champ « %s »"
+msgstr "%s : valeur invalide pour le champ « %s »"
-#: locale/programs/ld-messages.c:115 locale/programs/ld-messages.c:149
+#: locale/programs/ld-messages.c:114 locale/programs/ld-messages.c:148
#, c-format
msgid "%s: field `%s' undefined"
-msgstr "%s: champ « %s » indéfini"
+msgstr "%s : champ « %s » indéfini"
-#: locale/programs/ld-messages.c:122 locale/programs/ld-messages.c:156
+#: locale/programs/ld-messages.c:121 locale/programs/ld-messages.c:155
+#: locale/programs/ld-monetary.c:256 locale/programs/ld-numeric.c:118
#, c-format
msgid "%s: value for field `%s' must not be an empty string"
-msgstr "%s: valeur du champ « %s » ne doit pas être une chaîne vide."
+msgstr "%s : valeur du champ « %s » ne doit pas être une chaîne vide"
-#: locale/programs/ld-messages.c:138 locale/programs/ld-messages.c:172
+#: locale/programs/ld-messages.c:137 locale/programs/ld-messages.c:171
#, c-format
msgid "%s: no correct regular expression for field `%s': %s"
-msgstr "%s: expression régulière incorrecte du champ « %s »: %s"
+msgstr "%s : expression régulière incorrecte du champ « %s » : %s"
#: locale/programs/ld-monetary.c:224
#, c-format
msgid "%s: value of field `int_curr_symbol' has wrong length"
-msgstr "%s: valeur du champ « int_curr_symbol » n'a pas la bonne longueur."
+msgstr "%s : valeur du champ « int_curr_symbol » n'a pas la bonne longueur"
#: locale/programs/ld-monetary.c:237
#, c-format
msgid "%s: value of field `int_curr_symbol' does not correspond to a valid name in ISO 4217"
-msgstr "%s: valeur du champ « int_curr_symbol » ne correspond pas à un nom valide de la norme ISO 4217."
+msgstr "%s : valeur du champ « int_curr_symbol » ne correspond pas à un nom valide de la norme ISO 4217"
-#: locale/programs/ld-monetary.c:256 locale/programs/ld-numeric.c:119
-#, c-format
-msgid "%s: value for field `%s' must not be the empty string"
-msgstr "%s: valeur du champ « %s » ne doit pas être une chaîne vide."
-
-#: locale/programs/ld-monetary.c:284 locale/programs/ld-monetary.c:314
+#: locale/programs/ld-monetary.c:285 locale/programs/ld-monetary.c:315
#, c-format
msgid "%s: value for field `%s' must be in range %d...%d"
-msgstr "%s: valeurs du champ « %s » doivent être dans la gamme %d..%d"
+msgstr "%s : valeurs du champ « %s » doivent être dans la gamme %d..%d"
-#: locale/programs/ld-monetary.c:746 locale/programs/ld-numeric.c:275
+#: locale/programs/ld-monetary.c:747 locale/programs/ld-numeric.c:274
#, c-format
msgid "%s: value for field `%s' must be a single character"
-msgstr "%s: valeur du champ « %s » doit être un caractère simple"
+msgstr "%s : valeur du champ « %s » doit être un caractère simple"
-#: locale/programs/ld-monetary.c:843 locale/programs/ld-numeric.c:319
+#: locale/programs/ld-monetary.c:844 locale/programs/ld-numeric.c:318
#, c-format
msgid "%s: `-1' must be last entry in `%s' field"
-msgstr "%s: « -1 » doit être la dernière entrée du champ « %s »"
+msgstr "%s : « -1 » doit être la dernière entrée du champ « %s »"
-#: locale/programs/ld-monetary.c:865 locale/programs/ld-numeric.c:340
+#: locale/programs/ld-monetary.c:866 locale/programs/ld-numeric.c:335
#, c-format
msgid "%s: values for field `%s' must be smaller than 127"
-msgstr "%s: valeurs du champ « %s » doivent être plus petites que 127."
+msgstr "%s : valeurs du champ « %s » doivent être plus petites que 127"
-#: locale/programs/ld-monetary.c:908
+#: locale/programs/ld-monetary.c:909
msgid "conversion rate value cannot be zero"
-msgstr "Le taux de conversion ne peut être zéro"
+msgstr "Le taux de conversion ne peut être zéro"
-#: locale/programs/ld-name.c:130 locale/programs/ld-telephone.c:127
-#: locale/programs/ld-telephone.c:150
+#: locale/programs/ld-name.c:129 locale/programs/ld-telephone.c:126
+#: locale/programs/ld-telephone.c:149
#, c-format
msgid "%s: invalid escape sequence in field `%s'"
-msgstr "%s: séquence d'échappement invalide dans le champ « %s »"
+msgstr "%s : séquence d'échappement invalide dans le champ « %s »"
-#: locale/programs/ld-time.c:248
+#: locale/programs/ld-time.c:247
#, c-format
msgid "%s: direction flag in string %Zd in `era' field is not '+' nor '-'"
msgstr ""
-"%s: indicateur de direction dans la chaîne %Zd du champ « era »\n"
-"n'est pas un « + » ni un « - »."
+"%s : indicateur de direction dans la chaîne %Zd du champ « era »\n"
+"n'est pas un « + » ni un « - »"
-#: locale/programs/ld-time.c:259
+#: locale/programs/ld-time.c:258
#, c-format
msgid "%s: direction flag in string %Zd in `era' field is not a single character"
msgstr ""
-"%s: indicateur de direction dans la chaîne %Zd du champ « era »\n"
-"n'est pas un caractère simple."
+"%s : indicateur de direction dans la chaîne %Zd du champ « era »\n"
+"n'est pas un caractère simple"
-#: locale/programs/ld-time.c:272
+#: locale/programs/ld-time.c:271
#, c-format
msgid "%s: invalid number for offset in string %Zd in `era' field"
-msgstr "%s: nombre illégal pour la valeur de saut dans la chaîne %Zd du champ « era »"
+msgstr "%s : nombre illégal pour la valeur de saut dans la chaîne %Zd du champ « era »"
-#: locale/programs/ld-time.c:280
+#: locale/programs/ld-time.c:279
#, c-format
msgid "%s: garbage at end of offset value in string %Zd in `era' field"
msgstr ""
-"%s: rebut à la fin de la valeur du saut d'adresse dans la chaîne %Zd \n"
-"du champ « era »"
+"%s : rebut à la fin de la valeur du saut d'adresse dans la chaîne %Zd \n"
+"du champ « era »"
-#: locale/programs/ld-time.c:331
+#: locale/programs/ld-time.c:330
#, c-format
msgid "%s: invalid starting date in string %Zd in `era' field"
-msgstr "%s: date finale invalide dans la chaîne %Zd du champ « era »"
+msgstr "%s : date finale invalide dans la chaîne %Zd du champ « era »"
-#: locale/programs/ld-time.c:340
+#: locale/programs/ld-time.c:339
#, c-format
msgid "%s: garbage at end of starting date in string %Zd in `era' field "
-msgstr "%s: rebut à la fin de la date finale dans la chaîne %Zd du champ « era »"
+msgstr "%s : rebut à la fin de la date finale dans la chaîne %Zd du champ « era »"
-#: locale/programs/ld-time.c:359
+#: locale/programs/ld-time.c:358
#, c-format
msgid "%s: starting date is invalid in string %Zd in `era' field"
-msgstr "%s: date initiale invalide dans la chaîne %Zd du champ « era »"
+msgstr "%s : date initiale invalide dans la chaîne %Zd du champ « era »"
-#: locale/programs/ld-time.c:408
+#: locale/programs/ld-time.c:407
#, c-format
msgid "%s: invalid stopping date in string %Zd in `era' field"
-msgstr "%s: date finale invalide dans la chaîne %Zd du champ « era »"
+msgstr "%s : date finale invalide dans la chaîne %Zd du champ « era »"
-#: locale/programs/ld-time.c:417
+#: locale/programs/ld-time.c:416
#, c-format
msgid "%s: garbage at end of stopping date in string %Zd in `era' field"
-msgstr "%s: rebut à la fin de la date finale dans la chaîne %Zd du champ « era »"
+msgstr "%s : rebut à la fin de la date finale dans la chaîne %Zd du champ « era »"
-#: locale/programs/ld-time.c:436
+#: locale/programs/ld-time.c:435
#, c-format
msgid "%s: stopping date is invalid in string %Zd in `era' field"
-msgstr "%s: date finale invalide dans la chaîne %Zd du champ « era »"
+msgstr "%s : date finale invalide dans la chaîne %Zd du champ « era »"
-#: locale/programs/ld-time.c:445
+#: locale/programs/ld-time.c:444
#, c-format
msgid "%s: missing era name in string %Zd in `era' field"
-msgstr "%s: nom manquant dans la chaîne %Zd du champ « era »"
+msgstr "%s : nom manquant dans la chaîne %Zd du champ « era »"
-#: locale/programs/ld-time.c:457
+#: locale/programs/ld-time.c:456
#, c-format
msgid "%s: missing era format in string %Zd in `era' field"
-msgstr "%s: format de type era manquant dans la chaîne %Zd du champ « era »"
+msgstr "%s : format de type era manquant dans la chaîne %Zd du champ « era »"
-#: locale/programs/ld-time.c:486
+#: locale/programs/ld-time.c:497
#, c-format
msgid "%s: third operand for value of field `%s' must not be larger than %d"
-msgstr "%s: le 3e opérande pour la valeur du champ « %s » ne peut être plus grand que %d"
+msgstr "%s : le 3e opérande pour la valeur du champ « %s » ne peut être plus grand que %d"
-#: locale/programs/ld-time.c:494 locale/programs/ld-time.c:502
-#, c-format
-msgid "%s: values of field `%s' must not be larger than %d"
-msgstr "%s: valeurs du champ « %s » doivent être plus petites que %d"
-
-#: locale/programs/ld-time.c:510
+#: locale/programs/ld-time.c:505 locale/programs/ld-time.c:513
+#: locale/programs/ld-time.c:521
#, c-format
msgid "%s: values for field `%s' must not be larger than %d"
-msgstr "%s: valeurs du champ « %s » ne doivent pas être plus grandes que %d"
+msgstr "%s : valeurs du champ « %s » ne doivent pas être plus grandes que %d"
-#: locale/programs/ld-time.c:986
+#: locale/programs/ld-time.c:1004
#, c-format
msgid "%s: too few values for field `%s'"
-msgstr "%s: trop peu de valeurs pour le champ « %s »"
+msgstr "%s : trop peu de valeurs pour le champ « %s »"
-#: locale/programs/ld-time.c:1031
+#: locale/programs/ld-time.c:1049
msgid "extra trailing semicolon"
msgstr "point virgule de terminaison superflu"
-#: locale/programs/ld-time.c:1034
+#: locale/programs/ld-time.c:1052
#, c-format
msgid "%s: too many values for field `%s'"
-msgstr "%s: trop de valeurs pour le champ « %s »"
+msgstr "%s : trop de valeurs pour le champ « %s »"
#: locale/programs/linereader.c:130
msgid "trailing garbage at end of line"
-msgstr "rebut en suffixe à la fin de la ligne"
+msgstr "rebut en suffixe à la fin de la ligne"
-#: locale/programs/linereader.c:304
+#: locale/programs/linereader.c:298
msgid "garbage at end of number"
-msgstr "Rebut à la fin des chiffres"
+msgstr "Rebut à la fin des chiffres"
-#: locale/programs/linereader.c:416
+#: locale/programs/linereader.c:410
msgid "garbage at end of character code specification"
-msgstr "Rebut à la fin du caractère du code de spécification"
+msgstr "Rebut à la fin du caractère du code de spécification"
-#: locale/programs/linereader.c:502
+#: locale/programs/linereader.c:496
msgid "unterminated symbolic name"
msgstr "Nom symbolique incomplet"
-#: locale/programs/linereader.c:566 catgets/gencat.c:1195
-msgid "invalid escape sequence"
-msgstr "Séquence d'échappement invalide"
-
-#: locale/programs/linereader.c:629
+#: locale/programs/linereader.c:623
msgid "illegal escape sequence at end of string"
-msgstr "Séquence d'échappement illégale à la fin de la chaîne"
+msgstr "Séquence d'échappement non permises à la fin de la chaîne"
-#: locale/programs/linereader.c:633 locale/programs/linereader.c:861
+#: locale/programs/linereader.c:627 locale/programs/linereader.c:855
msgid "unterminated string"
-msgstr "Chaîne incomplète"
+msgstr "Chaîne incomplète"
-#: locale/programs/linereader.c:675
+#: locale/programs/linereader.c:669
msgid "non-symbolic character value should not be used"
-msgstr "Une valeur de caractère non-symbolique ne doit pas être utilisée"
+msgstr "Une valeur de caractère non-symbolique ne doit pas être utilisée"
-#: locale/programs/linereader.c:822
+#: locale/programs/linereader.c:816
#, c-format
msgid "symbol `%.*s' not in charmap"
-msgstr "Symbole « %.*s » n'est pas dans la table des caractères"
+msgstr "Symbole « %.*s » n'est pas dans la table des caractères"
-#: locale/programs/linereader.c:843
+#: locale/programs/linereader.c:837
#, c-format
msgid "symbol `%.*s' not in repertoire map"
-msgstr "Symbole « %.*s » n'est pas dans la table des répertoires"
+msgstr "Symbole « %.*s » n'est pas dans la table des répertoires"
-#: locale/programs/locale.c:75
+#: locale/programs/locale.c:74
msgid "System information:"
-msgstr "Information système:"
+msgstr "Information système :"
-#: locale/programs/locale.c:77
+#: locale/programs/locale.c:76
msgid "Write names of available locales"
-msgstr "Écriture des noms disponibles des localisations"
+msgstr "Écriture des noms disponibles des particularisations"
-#: locale/programs/locale.c:79
+#: locale/programs/locale.c:78
msgid "Write names of available charmaps"
-msgstr "Écriture des noms disponibles des tables de caractères"
+msgstr "Écriture des noms disponibles des tables de caractères"
-#: locale/programs/locale.c:80
+#: locale/programs/locale.c:79
msgid "Modify output format:"
-msgstr "Format de sortie de modification:"
+msgstr "Format de sortie de modification :"
-#: locale/programs/locale.c:81
+#: locale/programs/locale.c:80
msgid "Write names of selected categories"
-msgstr "Écriture des noms sélectionnés des catégories"
+msgstr "Écriture des noms sélectionnés des catégories"
-#: locale/programs/locale.c:82
+#: locale/programs/locale.c:81
msgid "Write names of selected keywords"
-msgstr "Écriture des noms sélectionnés des mots clés"
+msgstr "Écriture des noms sélectionnés des mots clés"
-#: locale/programs/locale.c:83
+#: locale/programs/locale.c:82
msgid "Print more information"
msgstr "Afficher plus informations"
-#: locale/programs/locale.c:88
-msgid "Get locale-specific information."
-msgstr "Trouver l'information locale spécifique"
+#: locale/programs/locale.c:87
+msgid ""
+"Get locale-specific information.\vFor bug reporting instructions, please see:\n"
+"<http://www.gnu.org/software/libc/bugs.html>.\n"
+msgstr ""
+"Récupère les informations de particularisme local.\vPour les instructions de rapport de bug, SVP voir :\n"
+"<http://www.gnu.org/software/libc/bugs.html>.\n"
-#: locale/programs/locale.c:91
+#: locale/programs/locale.c:92
msgid ""
"NAME\n"
"[-a|-m]"
@@ -1359,99 +2419,104 @@ msgstr ""
"NOM\n"
"[-a|-m]"
-#: locale/programs/locale.c:195
+#: locale/programs/locale.c:193
+#, c-format
msgid "Cannot set LC_CTYPE to default locale"
-msgstr "Ne peut initialiser LC_TYPE à la locale par défaut"
+msgstr "Ne peut initialiser LC_TYPE à la locale par défaut"
-#: locale/programs/locale.c:197
+#: locale/programs/locale.c:195
+#, c-format
msgid "Cannot set LC_MESSAGES to default locale"
-msgstr "Ne peut initialiser LC_MESSAGES à la locale par défaut"
+msgstr "Ne peut initialiser LC_MESSAGES à la locale par défaut"
-#: locale/programs/locale.c:210
+#: locale/programs/locale.c:208
+#, c-format
msgid "Cannot set LC_COLLATE to default locale"
-msgstr "Ne peut initialiser LC_COLLATE à la locale par défaut"
+msgstr "Ne peut initialiser LC_COLLATE à la locale par défaut"
-#: locale/programs/locale.c:226
+#: locale/programs/locale.c:224
+#, c-format
msgid "Cannot set LC_ALL to default locale"
-msgstr "Ne peut initialiser LC_ALL à la locale par défaut"
+msgstr "Ne peut initialiser LC_ALL à la locale par défaut"
-#: locale/programs/locale.c:517
+#: locale/programs/locale.c:500
+#, c-format
msgid "while preparing output"
-msgstr "lors de la préparation de la sortie"
+msgstr "lors de la préparation de la sortie"
-#: locale/programs/localedef.c:121
+#: locale/programs/localedef.c:120
msgid "Input Files:"
-msgstr "Fichiers d'entrée:"
+msgstr "Fichiers d'entrée :"
-#: locale/programs/localedef.c:123
+#: locale/programs/localedef.c:122
msgid "Symbolic character names defined in FILE"
-msgstr "Les noms symboliques des caractères définis dans le FICHIER"
+msgstr "Les noms symboliques des caractères définis dans le FICHIER"
-#: locale/programs/localedef.c:124
+#: locale/programs/localedef.c:123
msgid "Source definitions are found in FILE"
-msgstr "Les définitions des sources ont été repérées dans le FICHIER."
+msgstr "Les définitions des sources ont été repérées dans le FICHIER"
-#: locale/programs/localedef.c:126
+#: locale/programs/localedef.c:125
msgid "FILE contains mapping from symbolic names to UCS4 values"
msgstr "FICHIER contient la table d'adressage des noms symboliques vers les valeurs UCS4"
-#: locale/programs/localedef.c:130
+#: locale/programs/localedef.c:129
msgid "Create output even if warning messages were issued"
-msgstr "Créer la sortie même si des messages d'avertissement sont affichées"
+msgstr "Créer la sortie même si des messages d'avertissement sont affichées"
-#: locale/programs/localedef.c:131
+#: locale/programs/localedef.c:130
msgid "Create old-style tables"
-msgstr "Création des tables selon le vieux format"
+msgstr "Création des tables selon le vieux format"
-#: locale/programs/localedef.c:132
+#: locale/programs/localedef.c:131
msgid "Optional output file prefix"
-msgstr "Préfixe optionnel du fichier de sortie"
+msgstr "Préfixe optionnel du fichier de sortie"
-#: locale/programs/localedef.c:133
+#: locale/programs/localedef.c:132
msgid "Be strictly POSIX conform"
-msgstr "Doit se conformer de façon stricte à la norme POSIX"
+msgstr "Doit se conformer de façon stricte à la norme POSIX"
-#: locale/programs/localedef.c:135
+#: locale/programs/localedef.c:134
msgid "Suppress warnings and information messages"
msgstr "Supprimer les messages d'avertissement et d'information"
-#: locale/programs/localedef.c:136
+#: locale/programs/localedef.c:135
msgid "Print more messages"
msgstr "Afficher d'autres messages"
-#: locale/programs/localedef.c:137
+#: locale/programs/localedef.c:136
msgid "Archive control:"
-msgstr "Contrôle d'archive:"
+msgstr "Contrôle d'archive :"
-#: locale/programs/localedef.c:139
+#: locale/programs/localedef.c:138
msgid "Don't add new data to archive"
-msgstr "Ne pas ajouter de nouvelles données à l'archive"
+msgstr "Ne pas ajouter de nouvelles données à l'archive"
-#: locale/programs/localedef.c:141
+#: locale/programs/localedef.c:140
msgid "Add locales named by parameters to archive"
-msgstr "Ajouter des localisations nommés par paramètres à l'archive"
+msgstr "Ajouter à l'archive des variables de particularisation désignées par paramètres"
-#: locale/programs/localedef.c:142
+#: locale/programs/localedef.c:141
msgid "Replace existing archive content"
msgstr "Remplacement du contenu de l'archive existante"
-#: locale/programs/localedef.c:144
+#: locale/programs/localedef.c:143
msgid "Remove locales named by parameters from archive"
-msgstr "Retrait des localisations nommées par paramètres de l'archive"
+msgstr "Retrait de l'archive des variables de particularisation désignées par paramètres"
-#: locale/programs/localedef.c:145
+#: locale/programs/localedef.c:144
msgid "List content of archive"
msgstr "Liste du contenu de l'archive"
-#: locale/programs/localedef.c:147
+#: locale/programs/localedef.c:146
msgid "locale.alias file to consult when making archive"
-msgstr "fichier locale.alias à consulter lors de la création de l'archive"
+msgstr "fichier locale.alias à consulter lors de la création de l'archive"
-#: locale/programs/localedef.c:152
+#: locale/programs/localedef.c:151
msgid "Compile locale specification"
-msgstr "Compiler la spécification locale"
+msgstr "Compiler les particularismes locaux"
-#: locale/programs/localedef.c:155
+#: locale/programs/localedef.c:154
msgid ""
"NAME\n"
"[--add-to-archive|--delete-from-archive] FILE...\n"
@@ -1461,26 +2526,28 @@ msgstr ""
"[--add-to-archive|--delete-from-archive] FICHIER...\n"
"--list-archive [FICHIER]"
-#: locale/programs/localedef.c:233
+#: locale/programs/localedef.c:232
+#, c-format
msgid "cannot create directory for output files"
-msgstr "ne peut créer le répertoire pour les fichiers de sortie"
+msgstr "ne peut créer le dossier pour les fichiers de sortie"
-#: locale/programs/localedef.c:244
+#: locale/programs/localedef.c:243
+#, c-format
msgid "FATAL: system does not define `_POSIX2_LOCALEDEF'"
-msgstr "ERREUR FATALE: le système ne peut définir « _POSIX2_LOCALEDEF »"
+msgstr "ERREUR FATALE : le système ne peut définir « _POSIX2_LOCALEDEF »"
-#: locale/programs/localedef.c:258 locale/programs/localedef.c:274
+#: locale/programs/localedef.c:257 locale/programs/localedef.c:273
#: locale/programs/localedef.c:599 locale/programs/localedef.c:619
#, c-format
msgid "cannot open locale definition file `%s'"
-msgstr "Ne peut ouvrir le fichier des localisations « %s »"
+msgstr "Ne peut ouvrir le fichier des particularisations « %s »"
-#: locale/programs/localedef.c:286
+#: locale/programs/localedef.c:285
#, c-format
msgid "cannot write output files to `%s'"
-msgstr "Ne peut écrire dans les fichiers de sortie vers « %s »"
+msgstr "Ne peut écrire dans les fichiers de sortie vers « %s »"
-#: locale/programs/localedef.c:367
+#: locale/programs/localedef.c:366
#, c-format
msgid ""
"System's directory for character maps : %s\n"
@@ -1488,2260 +2555,1919 @@ msgid ""
" locale path : %s\n"
"%s"
msgstr ""
-"Répertoire système de la table des caractères : %s\n"
-" de la table des répertoires: %s\n"
-" du chemin des localisations: %s\n"
+"Dossier système de la table des caractères : %s\n"
+" de la table des répertoires : %s\n"
+" du chemin des particularisations : %s\n"
"%s"
#: locale/programs/localedef.c:567
+#, c-format
msgid "circular dependencies between locale definitions"
-msgstr "Dépendance circulaires entre les définitions locales"
+msgstr "Dépendance circulaires entre les définitions de locales"
#: locale/programs/localedef.c:573
#, c-format
msgid "cannot add already read locale `%s' a second time"
-msgstr "Ne peut ajouter une locale déjà lu « %s » une seconde fois"
+msgstr "Ne peut ajouter une locale déjà lu « %s » une seconde fois"
-#: locale/programs/locarchive.c:89 locale/programs/locarchive.c:259
+#: locale/programs/locarchive.c:88 locale/programs/locarchive.c:261
+#, c-format
msgid "cannot create temporary file"
-msgstr "ne peut créer un fichier temporaire"
+msgstr "ne peut créer un fichier temporaire"
-#: locale/programs/locarchive.c:118 locale/programs/locarchive.c:305
+#: locale/programs/locarchive.c:118 locale/programs/locarchive.c:307
+#, c-format
msgid "cannot initialize archive file"
msgstr "ne peut initialiser le fichier d'archive"
-#: locale/programs/locarchive.c:125 locale/programs/locarchive.c:312
+#: locale/programs/locarchive.c:125 locale/programs/locarchive.c:314
+#, c-format
msgid "cannot resize archive file"
msgstr "ne peut modifier la taille du fichier d'archive"
-#: locale/programs/locarchive.c:134 locale/programs/locarchive.c:321
-#: locale/programs/locarchive.c:511
+#: locale/programs/locarchive.c:134 locale/programs/locarchive.c:323
+#: locale/programs/locarchive.c:527
+#, c-format
msgid "cannot map archive header"
-msgstr "ne peut mapper l'en-tête de l'archive"
+msgstr "ne peut mapper l'en-tête de l'archive"
#: locale/programs/locarchive.c:156
+#, c-format
msgid "failed to create new locale archive"
-msgstr "échec de création d'une nouvelle archive de localisation"
+msgstr "échec de création d'une nouvelle archive de particularisation"
#: locale/programs/locarchive.c:168
+#, c-format
msgid "cannot change mode of new locale archive"
-msgstr "ne peut changer les protections de la nouvelle archive de localisation"
+msgstr "ne peut changer les protections de la nouvelle archive de particularisation"
-#: locale/programs/locarchive.c:253
+#: locale/programs/locarchive.c:255
+#, c-format
msgid "cannot map locale archive file"
-msgstr "ne peut mapper l'archive de localisation"
+msgstr "ne peut mapper l'archive de particularisation"
-#: locale/programs/locarchive.c:329
+#: locale/programs/locarchive.c:331
+#, c-format
msgid "cannot lock new archive"
msgstr "ne peut verrouiller la nouvelle archive"
-#: locale/programs/locarchive.c:380
+#: locale/programs/locarchive.c:396
+#, c-format
msgid "cannot extend locale archive file"
-msgstr "ne peut augmenter la taille du fichier de l'archive de localisation"
+msgstr "ne peut augmenter la taille du fichier de l'archive de particularisation"
-#: locale/programs/locarchive.c:389
+#: locale/programs/locarchive.c:405
+#, c-format
msgid "cannot change mode of resized locale archive"
-msgstr "ne peut modifier les protections de l'archive des localisations dont la taille a changé"
+msgstr "ne peut modifier les protections de l'archive des particularisations dont la taille a changé"
-#: locale/programs/locarchive.c:397
+#: locale/programs/locarchive.c:413
+#, c-format
msgid "cannot rename new archive"
msgstr "ne peut changer le nom de la nouvelle archive"
-#: locale/programs/locarchive.c:450
+#: locale/programs/locarchive.c:466
#, c-format
msgid "cannot open locale archive \"%s\""
-msgstr "ne peut ouvrir l'archive des localisations « %s »"
+msgstr "ne peut ouvrir l'archive des particularisations « %s »"
-#: locale/programs/locarchive.c:455
+#: locale/programs/locarchive.c:471
#, c-format
msgid "cannot stat locale archive \"%s\""
-msgstr "ne peut évaluer par `stat' l'archive des localisations « %s »"
+msgstr "ne peut évaluer par `stat' l'archive des particularisations « %s »"
-#: locale/programs/locarchive.c:474
+#: locale/programs/locarchive.c:490
#, c-format
msgid "cannot lock locale archive \"%s\""
-msgstr "ne peut verrouiller l'archive des localisations « %s »"
+msgstr "ne peut verrouiller l'archive des particularisations « %s »"
-#: locale/programs/locarchive.c:497
+#: locale/programs/locarchive.c:513
+#, c-format
msgid "cannot read archive header"
-msgstr "ne peut lire l'en-tête de l'archive"
+msgstr "ne peut lire l'en-tête de l'archive"
-#: locale/programs/locarchive.c:557
+#: locale/programs/locarchive.c:573
#, c-format
msgid "locale '%s' already exists"
-msgstr "localisation « %s » existe déjà"
+msgstr "particularisation « %s » existe déjà"
-#: locale/programs/locarchive.c:788 locale/programs/locarchive.c:803
-#: locale/programs/locarchive.c:815 locale/programs/locarchive.c:827
-#: locale/programs/locfile.c:343
+#: locale/programs/locarchive.c:804 locale/programs/locarchive.c:819
+#: locale/programs/locarchive.c:831 locale/programs/locarchive.c:843
+#: locale/programs/locfile.c:344
+#, c-format
msgid "cannot add to locale archive"
-msgstr "ne peut l'ajouter à l'archive des localisations"
+msgstr "ne peut l'ajouter à l'archive des particularisations"
-#: locale/programs/locarchive.c:982
+#: locale/programs/locarchive.c:998
#, c-format
msgid "locale alias file `%s' not found"
-msgstr "alias du fichier des localisations « %s » non trouvé"
+msgstr "alias du fichier des particularisations « %s » non trouvé"
-#: locale/programs/locarchive.c:1126
+#: locale/programs/locarchive.c:1142
#, c-format
msgid "Adding %s\n"
msgstr "Ajout de %s\n"
-#: locale/programs/locarchive.c:1132
+#: locale/programs/locarchive.c:1148
#, c-format
msgid "stat of \"%s\" failed: %s: ignored"
-msgstr "échec d'évaluation par stat() de « %s »: %s: ignoré"
+msgstr "échec d'évaluation par stat() de « %s » : %s : ignoré"
-#: locale/programs/locarchive.c:1138
+#: locale/programs/locarchive.c:1154
#, c-format
msgid "\"%s\" is no directory; ignored"
-msgstr "« %s » n'est pas un répertoire; ignoré"
+msgstr "« %s » n'est pas un dossier; ignoré"
-#: locale/programs/locarchive.c:1145
+#: locale/programs/locarchive.c:1161
#, c-format
msgid "cannot open directory \"%s\": %s: ignored"
-msgstr "ne peut ouvrir le répertoire « %s »: %s: ignoré"
+msgstr "ne peut ouvrir le dossier « %s » : %s : ignoré"
-#: locale/programs/locarchive.c:1217
+#: locale/programs/locarchive.c:1233
#, c-format
msgid "incomplete set of locale files in \"%s\""
-msgstr "jeu incomplet de fichiers dea localisations dans « %s »"
+msgstr "jeu incomplet de fichiers de particularisation dans « %s »"
-#: locale/programs/locarchive.c:1281
+#: locale/programs/locarchive.c:1297
#, c-format
msgid "cannot read all files in \"%s\": ignored"
-msgstr "ne peut lire tous les fichiers dans « %s »: ignoré"
+msgstr "ne peut lire tous les fichiers dans « %s » : ignoré"
-#: locale/programs/locarchive.c:1351
+#: locale/programs/locarchive.c:1367
#, c-format
msgid "locale \"%s\" not in archive"
-msgstr "localisation « %s » n'est pas dans l'archive"
+msgstr "particularisation « %s » n'est pas dans l'archive"
#: locale/programs/locfile.c:132
#, c-format
msgid "argument to `%s' must be a single character"
-msgstr "L'argument de « %s » doit être un caractère simple."
+msgstr "L'argument de « %s » doit être un caractère simple"
-#: locale/programs/locfile.c:251
+#: locale/programs/locfile.c:252
msgid "syntax error: not inside a locale definition section"
-msgstr "Erreur de syntaxe: pas à l'intérieur d'une section de définition localisée"
+msgstr "Erreur de syntaxe : pas à l'intérieur d'une section de définition localisée"
-#: locale/programs/locfile.c:625
+#: locale/programs/locfile.c:626
#, c-format
msgid "cannot open output file `%s' for category `%s'"
-msgstr "Ne peut ouvrir le fichier de sortie « %s » de catégorie « %s »"
+msgstr "Ne peut ouvrir le fichier de sortie « %s » de catégorie « %s »"
-#: locale/programs/locfile.c:649
+#: locale/programs/locfile.c:650
#, c-format
msgid "failure while writing data for category `%s'"
-msgstr "Échec lors de l'écriture des données de catégorie « %s »"
+msgstr "Échec lors de l'écriture des données de catégorie « %s »"
-#: locale/programs/locfile.c:745
+#: locale/programs/locfile.c:746
#, c-format
msgid "cannot create output file `%s' for category `%s'"
-msgstr "Ne peut créer le fichier de sortie « %s » de catégorie « %s »"
+msgstr "Ne peut créer le fichier de sortie « %s » de catégorie « %s »"
-#: locale/programs/locfile.c:781
+#: locale/programs/locfile.c:782
msgid "expect string argument for `copy'"
-msgstr "chaîne attendue pour l'argument de « copy »"
+msgstr "chaîne attendue pour l'argument de « copy »"
-#: locale/programs/locfile.c:785
+#: locale/programs/locfile.c:786
msgid "locale name should consist only of portable characters"
-msgstr "Nom de locale doit être composé de caractères portables"
+msgstr "Nom de locale doit être composé de caractères portables"
-#: locale/programs/locfile.c:804
+#: locale/programs/locfile.c:805
msgid "no other keyword shall be specified when `copy' is used"
-msgstr "Aucun autre mot clé ne doit être spécifié lorsque « copy » est utilisé"
+msgstr "Aucun autre mot clé ne doit être spécifié lorsque « copy » est utilisé"
-#: locale/programs/repertoire.c:230 locale/programs/repertoire.c:271
-#: locale/programs/repertoire.c:296
+#: locale/programs/locfile.c:819
+#, c-format
+msgid "`%1$s' definition does not end with `END %1$s'"
+msgstr "« %1$s » la définition ne se termine pas par « END %1$s »"
+
+#: locale/programs/repertoire.c:229 locale/programs/repertoire.c:270
+#: locale/programs/repertoire.c:295
#, c-format
msgid "syntax error in repertoire map definition: %s"
-msgstr "Erreur de syntaxe dans le répertoire de la table des définitions: %s"
+msgstr "Erreur de syntaxe dans le dossier de la table des définitions : %s"
-#: locale/programs/repertoire.c:272
+#: locale/programs/repertoire.c:271
msgid "no <Uxxxx> or <Uxxxxxxxx> value given"
msgstr "Aucune valeur <Uxxxx> ou <Uxxxxxxxx> fournie"
-#: locale/programs/repertoire.c:332
+#: locale/programs/repertoire.c:331
+#, c-format
msgid "cannot save new repertoire map"
-msgstr "Ne peut sauvegarder la nouvelle table des répertoires"
+msgstr "Ne peut sauvegarder la nouvelle carte des répertoires"
-#: locale/programs/repertoire.c:343
+#: locale/programs/repertoire.c:342
#, c-format
msgid "repertoire map file `%s' not found"
-msgstr "Fichier de la table des caractères « %s » non repérable"
+msgstr "Fichier de la table des caractères « %s » non repérable"
-#: locale/programs/repertoire.c:450
+#: login/programs/pt_chown.c:74
#, c-format
-msgid "<%s> and <%s> are invalid names for range"
-msgstr "<%s> et <%s> sont des noms invalides pour un intervalle."
+msgid "Set the owner, group and access permission of the slave pseudo terminal corresponding to the master pseudo terminal passed on file descriptor `%d'. This is the helper program for the `grantpt' function. It is not intended to be run directly from the command line.\n"
+msgstr "Etablit les permissions d'accès, le propriétaire et le groupe du pseudo terminal esclave correspondant au pseudo terminal maître passé au descripteur de fichier`%d'. Ceci est le programme d'aide de la fonction `grantpt'. Il n'est pas prévu pour être lancé depuis la ligne de commande.\n"
-#: locale/programs/repertoire.c:457
-msgid "upper limit in range is not smaller then lower limit"
+#: login/programs/pt_chown.c:84
+#, c-format
+msgid ""
+"The owner is set to the current user, the group is set to `%s', and the access permission is set to `%o'.\n"
+"\n"
+"%s"
msgstr ""
-"La limite supérieure de l'intervalle n'est pas plus petite\n"
-"que la limite inférieure."
-
-#: locale/programs/xmalloc.c:70 malloc/obstack.c:505 malloc/obstack.c:508
-#: posix/getconf.c:1007
-msgid "memory exhausted"
-msgstr "Mémoire épuisée"
+"Le propriétaire est établi comme étant l'usager courant, le groupe est établi à `%s', et la permission d'accès est établie à `%o'.\n"
+"\n"
+"%s"
-#: assert/assert-perr.c:57
+#: login/programs/pt_chown.c:161
#, c-format
-msgid "%s%s%s:%u: %s%sUnexpected error: %s.\n"
-msgstr "%s%s%s:%u: %s%s erreur imprévue: %s.\n"
+msgid "too many arguments"
+msgstr "trop d'arguments"
-#: assert/assert.c:56
+#: login/programs/pt_chown.c:169
#, c-format
-msgid "%s%s%s:%u: %s%sAssertion `%s' failed.\n"
-msgstr "%s%s%s:%u: %s%s l'assertion « %s » a échoué.\n"
+msgid "needs to be installed setuid `root'"
+msgstr "nécessite d'être installé avec setuid `root'"
-#: intl/tst-codeset.c:40 intl/tst-codeset.c:50
-msgid "cheese"
-msgstr "fromage"
+#: malloc/mcheck.c:330
+msgid "memory is consistent, library is buggy\n"
+msgstr "La mémoire est consistente, la librairie est fautive.\n"
-#: intl/tst-gettext2.c:37
-msgid "First string for testing."
-msgstr "Première chaîne pour fins de test."
+#: malloc/mcheck.c:333
+msgid "memory clobbered before allocated block\n"
+msgstr "Mémoire écrasée avant le bloc alloué\n"
-#: intl/tst-gettext2.c:38
-msgid "Another string for testing."
-msgstr "Une autre chaîne pour fins de test."
+#: malloc/mcheck.c:336
+msgid "memory clobbered past end of allocated block\n"
+msgstr "Mémoire écrasée après la fin du bloc alloué\n"
-#: catgets/gencat.c:111 catgets/gencat.c:115 nscd/nscd.c:88
-msgid "NAME"
-msgstr "NOM"
+#: malloc/mcheck.c:339
+msgid "block freed twice\n"
+msgstr "Bloc libéré deux fois\n"
-#: catgets/gencat.c:112
-msgid "Create C header file NAME containing symbol definitions"
-msgstr "Création du NOM du fichier d'en-tête C contenant les définitions de symboles"
+#: malloc/mcheck.c:342
+msgid "bogus mcheck_status, library is buggy\n"
+msgstr "Statut de « mcheck_status » erroné, la librarie est erronée.\n"
-#: catgets/gencat.c:114
-msgid "Do not use existing catalog, force new output file"
-msgstr "Ne pas utiliser le catalogue existant, forcer la génération d'un nouveau fichier"
+#: malloc/memusage.sh:27
+msgid "Try \\`memusage --help' for more information."
+msgstr "Pour en savoir davantage, faites \\`memusage --help'."
-#: catgets/gencat.c:115
-msgid "Write output to file NAME"
-msgstr "Écriture sur la sortie dans le FICHIER"
+#: malloc/memusage.sh:33
+msgid "memusage: option \\`$1' requires an argument"
+msgstr "memusage : option \\`$1' requiert un argument"
-#: catgets/gencat.c:120
+#: malloc/memusage.sh:39
msgid ""
-"Generate message catalog. If INPUT-FILE is -, input is read from standard input. If OUTPUT-FILE\n"
-"is -, output is written to standard output.\n"
+"Usage: memusage [OPTION]... PROGRAM [PROGRAMOPTION]...\n"
+"Profile memory usage of PROGRAM.\n"
+"\n"
+" -n,--progname=NAME Name of the program file to profile\n"
+" -p,--png=FILE Generate PNG graphic and store it in FILE\n"
+" -d,--data=FILE Generate binary data file and store it in FILE\n"
+" -u,--unbuffered Don't buffer output\n"
+" -b,--buffer=SIZE Collect SIZE entries before writing them out\n"
+" --no-timer Don't collect additional information through timer\n"
+" -m,--mmap Also trace mmap & friends\n"
+"\n"
+" -?,--help Print this help and exit\n"
+" --usage Give a short usage message\n"
+" -V,--version Print version information and exit\n"
+"\n"
+" The following options only apply when generating graphical output:\n"
+" -t,--time-based Make graph linear in time\n"
+" -T,--total Also draw graph of total memory use\n"
+" --title=STRING Use STRING as title of the graph\n"
+" -x,--x-size=SIZE Make graphic SIZE pixels wide\n"
+" -y,--y-size=SIZE Make graphic SIZE pixels high\n"
+"\n"
+"Mandatory arguments to long options are also mandatory for any corresponding\n"
+"short options.\n"
+"\n"
+"For bug reporting instructions, please see:\n"
+"<http://www.gnu.org/software/libc/bugs.html>."
msgstr ""
-"Générer le catalogue de messages. Si le FICHIER_D_ENTRÉE est -, l'entrée est lue à partir de l'entrée standard.\n"
-"Si le FICHIER_DE_SORTIE est -, la sortie est affichée sur la sortie standard.\n"
+"Usage : memusage [OPTION]... PROGRAM [PROGRAMOPTION]...\n"
+"Profile memory usage of PROGRAM.\n"
+"\n"
+" -n,--progname=NAME Nom du fichier de programmes à profiler\n"
+" -p,--png=FILE Génère un graphe PNG et le stocke dans FILE\n"
+" -d,--data=FILE Génère des données binaires et les stocke dans le fichier FILE\n"
+" -u,--unbuffered N'utilise pas de tampon pour le fichier de sortie\n"
+" -b,--buffer=SIZE Collecte les entrées au nombre de SIZE avant d'écrire en sortie\n"
+" --no-timer Ne collecte pas d'informations additionnelle par le biais du timer\n"
+" -m,--mmap Trace aussi \"mmap\" & apparentés\n"
+"\n"
+" - ?,--help Imprime cette aide et quitte\n"
+" --usage Donne un court message d'aide\n"
+" -V,--version Affiche l'information de version et quitte\n"
+"\n"
+" Les options suivantes ne s'appliquent que à la génération de sortie graphique :\n"
+" -t,--time-based Rend un graphe linéaire dans le temps\n"
+" -T,--total Dessine aussi un graphe de l'usage de la mémoire totale\n"
+" --title=STRING Emploi STRING pour le titre du graphe\n"
+" -x,--x-size=SIZE Rend le graphe en SIZE pixels de large\n"
+" -y,--y-size=SIZE Rend le graphe en SIZE pixels de haut\n"
+"\n"
+"Les arguments obligatoires pour les options de formes longues\n"
+"le sont aussi pour les options de forme courtes.\n"
+"\n"
+"Pour les instructions de rapport de bug, SVP voir :\n"
+"<http://www.gnu.org/software/libc/bugs.html>."
-#: catgets/gencat.c:125
+#: malloc/memusage.sh:99
msgid ""
-"-o OUTPUT-FILE [INPUT-FILE]...\n"
-"[OUTPUT-FILE [INPUT-FILE]...]"
+"Syntax: memusage [--data=FILE] [--progname=NAME] [--png=FILE] [--unbuffered]\n"
+" [--buffer=SIZE] [--no-timer] [--time-based] [--total]\n"
+" [--title=STRING] [--x-size=SIZE] [--y-size=SIZE]\n"
+" PROGRAM [PROGRAMOPTION]..."
msgstr ""
-"-o FICHIER_DE_SORTIE [FICHIER_D_ENTRÉE]...\n"
-"[FICHIER_DE_SORTIE [FICHIER_D_ENTRÉE]...]"
+"Syntax : memusage [--data=FILE] [--progname=NAME] [--png=FILE] [--unbuffered]\n"
+" [--buffer=SIZE] [--no-timer] [--time-based] [--total]\n"
+" [--title=STRING] [--x-size=SIZE] [--y-size=SIZE]\n"
+" PROGRAM [PROGRAMOPTION]..."
-#: catgets/gencat.c:282
-msgid "*standard input*"
-msgstr "*entrée standard*"
+#: malloc/memusage.sh:191
+msgid "memusage: option \\`${1##*=}' is ambiguous"
+msgstr "memusage : l'option \\`${1##*=}' est ambiguë"
-#: catgets/gencat.c:417 catgets/gencat.c:494
-msgid "illegal set number"
-msgstr "Numéro de jeu illégal"
+#: malloc/memusage.sh:200
+msgid "memusage: unrecognized option \\`$1'"
+msgstr "memusage : option non reconnue \\`$1'"
-#: catgets/gencat.c:444
-msgid "duplicate set definition"
-msgstr "Double définitions de jeux"
-
-#: catgets/gencat.c:446 catgets/gencat.c:623 catgets/gencat.c:677
-msgid "this is the first definition"
-msgstr "Ceci est la première définition."
-
-#: catgets/gencat.c:522
-#, c-format
-msgid "unknown set `%s'"
-msgstr "Jeu inconnu « %s »"
-
-#: catgets/gencat.c:563
-msgid "invalid quote character"
-msgstr "Caractère de citation (quote) invalide"
-
-#: catgets/gencat.c:576
-#, c-format
-msgid "unknown directive `%s': line ignored"
-msgstr "Directive inconnue « %s »: ligne ignorée"
+#: malloc/memusage.sh:213
+msgid "No program name given"
+msgstr "Le nom de programme n'a pas été indiqué"
-#: catgets/gencat.c:621
-msgid "duplicated message number"
-msgstr "Double messages du numéro"
-
-#: catgets/gencat.c:674
-msgid "duplicated message identifier"
-msgstr "Double identificateurs de message"
+#: malloc/memusagestat.c:54
+msgid "Name output file"
+msgstr "Nommer le fichier de sortie"
-#: catgets/gencat.c:731
-msgid "invalid character: message ignored"
-msgstr "Caractères invalide: message ignoré"
+#: malloc/memusagestat.c:55
+msgid "Title string used in output graphic"
+msgstr "Chaîne de titre utilisé dans le graphique de sortie"
-#: catgets/gencat.c:774
-msgid "invalid line"
-msgstr "Ligne invalide"
+#: malloc/memusagestat.c:56
+msgid "Generate output linear to time (default is linear to number of function calls)"
+msgstr "Génération de sortie linéaire au temps (par défaut linéaire au nombre d'appels de fonction)"
-#: catgets/gencat.c:828
-msgid "malformed line ignored"
-msgstr "Ligne incorrecte ignorée"
+#: malloc/memusagestat.c:58
+msgid "Also draw graph for total memory consumption"
+msgstr "Afficher aussi le graphe de l'utilisation totale de la mémoire"
-#: catgets/gencat.c:992 catgets/gencat.c:1033
-#, c-format
-msgid "cannot open output file `%s'"
-msgstr "Ne peut ouvrir le fichier de sortie « %s »"
+#: malloc/memusagestat.c:59
+msgid "Make output graphic VALUE pixels wide"
+msgstr "Génère un graphe ayant pour largeur VALUE pixels"
-#: catgets/gencat.c:1217
-msgid "unterminated message"
-msgstr "Message incomplet"
+#: malloc/memusagestat.c:60
+msgid "Make output graphic VALUE pixels high"
+msgstr "Génère un graphe ayant VALUE pixels de hauteur"
-#: catgets/gencat.c:1241
-msgid "while opening old catalog file"
-msgstr "lors de l'ouverture du vieux fichier du catalogue"
+#: malloc/memusagestat.c:65
+msgid "Generate graphic from memory profiling data"
+msgstr "Génération du graphique des données de profilage de la mémoire"
-#: catgets/gencat.c:1332
-msgid "conversion modules not available"
-msgstr "Module de conversion 'est pas disponible"
+#: malloc/memusagestat.c:68
+msgid "DATAFILE [OUTFILE]"
+msgstr "DATAFILE [FICHIER_DE_SORTIE]"
-#: catgets/gencat.c:1358
-msgid "cannot determine escape character"
-msgstr "Ne peut déterminer une séquence de caractère"
+#: misc/error.c:118 timezone/zic.c:417
+msgid "Unknown system error"
+msgstr "Erreur système inconnue"
-#: stdlib/../sysdeps/unix/sysv/linux/ia64/makecontext.c:63
-#, c-format
-msgid "makecontext: does not know how to handle more than 8 arguments\n"
-msgstr "makecontext: ne sait pas comment traiter plus de 8 arguments\n"
+#: nis/nis_callback.c:189
+msgid "unable to free arguments"
+msgstr "incapable de libérer des arguments"
-#: stdio-common/../sysdeps/gnu/errlist.c:12 posix/regcomp.c:147
-#: nis/nis_error.c:29 nis/ypclnt.c:778 nis/ypclnt.c:852
+#: nis/nis_error.h:1 nis/ypclnt.c:822 nis/ypclnt.c:910 posix/regcomp.c:132
+#: sysdeps/gnu/errlist.c:20
msgid "Success"
-msgstr "Succès"
-
-#. TRANS Operation not permitted; only the owner of the file (or other resource)
-#. TRANS or processes with special privileges can perform the operation.
-#: stdio-common/../sysdeps/gnu/errlist.c:17
-msgid "Operation not permitted"
-msgstr "Opération non permise"
-
-#. TRANS No such file or directory. This is a ``file doesn't exist'' error
-#. TRANS for ordinary files that are referenced in contexts where they are
-#. TRANS expected to already exist.
-#: stdio-common/../sysdeps/gnu/errlist.c:28
-#: stdio-common/../sysdeps/unix/sysv/sysv4/solaris2/sparc/errlist.c:32
-msgid "No such file or directory"
-msgstr "Aucun fichier ou répertoire de ce type"
-
-#. TRANS No process matches the specified process ID.
-#: stdio-common/../sysdeps/gnu/errlist.c:37
-#: stdio-common/../sysdeps/unix/sysv/sysv4/solaris2/sparc/errlist.c:33
-msgid "No such process"
-msgstr "Aucun processus de ce type"
+msgstr "Succès"
-#. TRANS Interrupted function call; an asynchronous signal occurred and prevented
-#. TRANS completion of the call. When this happens, you should try the call
-#. TRANS again.
-#. TRANS
-#. TRANS You can choose to have functions resume after a signal that is handled,
-#. TRANS rather than failing with @code{EINTR}; see @ref{Interrupted
-#. TRANS Primitives}.
-#: stdio-common/../sysdeps/gnu/errlist.c:52
-#: stdio-common/../sysdeps/unix/sysv/sysv4/solaris2/sparc/errlist.c:34
-msgid "Interrupted system call"
-msgstr "Appel système interrompu"
+#: nis/nis_error.h:2
+msgid "Probable success"
+msgstr "Succès probable"
-#. TRANS Input/output error; usually used for physical read or write errors.
-#: stdio-common/../sysdeps/gnu/errlist.c:61
-msgid "Input/output error"
-msgstr "Erreur d'entrée/sortie"
+#: nis/nis_error.h:3
+msgid "Not found"
+msgstr "Pas repéré"
-#. TRANS No such device or address. The system tried to use the device
-#. TRANS represented by a file you specified, and it couldn't find the device.
-#. TRANS This can mean that the device file was installed incorrectly, or that
-#. TRANS the physical device is missing or not correctly attached to the
-#. TRANS computer.
-#: stdio-common/../sysdeps/gnu/errlist.c:74
-#: stdio-common/../sysdeps/unix/sysv/sysv4/solaris2/sparc/errlist.c:36
-msgid "No such device or address"
-msgstr "Aucun périphérique ou adresse"
+#: nis/nis_error.h:4
+msgid "Probably not found"
+msgstr "Probablement pas repéré"
-#. TRANS Argument list too long; used when the arguments passed to a new program
-#. TRANS being executed with one of the @code{exec} functions (@pxref{Executing a
-#. TRANS File}) occupy too much memory space. This condition never arises in the
-#. TRANS GNU system.
-#: stdio-common/../sysdeps/gnu/errlist.c:86
-msgid "Argument list too long"
-msgstr "Liste d'arguments trop longue"
+#: nis/nis_error.h:5
+msgid "Cache expired"
+msgstr "Cache expirée"
-#. TRANS Invalid executable file format. This condition is detected by the
-#. TRANS @code{exec} functions; see @ref{Executing a File}.
-#: stdio-common/../sysdeps/gnu/errlist.c:96
-#: stdio-common/../sysdeps/unix/sysv/sysv4/solaris2/sparc/errlist.c:38
-msgid "Exec format error"
-msgstr "Erreur de format pour exec()"
+#: nis/nis_error.h:6
+msgid "NIS+ servers unreachable"
+msgstr "Les serveurs NIS+ ne sont pas accessibles"
-#. TRANS Bad file descriptor; for example, I/O on a descriptor that has been
-#. TRANS closed or reading from a descriptor open only for writing (or vice
-#. TRANS versa).
-#: stdio-common/../sysdeps/gnu/errlist.c:107
-msgid "Bad file descriptor"
-msgstr "Mauvais descripteur de fichier"
+#: nis/nis_error.h:7
+msgid "Unknown object"
+msgstr "Objet inconnu"
-#. TRANS There are no child processes. This error happens on operations that are
-#. TRANS supposed to manipulate child processes, when there aren't any processes
-#. TRANS to manipulate.
-#: stdio-common/../sysdeps/gnu/errlist.c:118
-#: stdio-common/../sysdeps/unix/sysv/sysv4/solaris2/sparc/errlist.c:40
-msgid "No child processes"
-msgstr "Aucun processus enfant"
+#: nis/nis_error.h:8
+msgid "Server busy, try again"
+msgstr "Serveur occupé, essayer plus tard"
-#. TRANS Deadlock avoided; allocating a system resource would have resulted in a
-#. TRANS deadlock situation. The system does not guarantee that it will notice
-#. TRANS all such situations. This error means you got lucky and the system
-#. TRANS noticed; it might just hang. @xref{File Locks}, for an example.
-#: stdio-common/../sysdeps/gnu/errlist.c:130
-msgid "Resource deadlock avoided"
-msgstr "Blocage évité des accès aux ressources"
+#: nis/nis_error.h:9
+msgid "Generic system error"
+msgstr "Erreur système générique"
-#. TRANS No memory available. The system cannot allocate more virtual memory
-#. TRANS because its capacity is full.
-#: stdio-common/../sysdeps/gnu/errlist.c:140
-msgid "Cannot allocate memory"
-msgstr "Ne peut allouer de la mémoire"
+#: nis/nis_error.h:10
+msgid "First/next chain broken"
+msgstr "Bris de la chaîne Premier/Suivant"
#. TRANS Permission denied; the file permissions do not allow the attempted operation.
-#: stdio-common/../sysdeps/gnu/errlist.c:149
-#: stdio-common/../sysdeps/unix/sysv/sysv4/solaris2/sparc/errlist.c:43
-#: nis/nis_error.c:39 nis/ypclnt.c:808
+#: nis/nis_error.h:11 nis/ypclnt.c:867 sysdeps/gnu/errlist.c:157
msgid "Permission denied"
-msgstr "Permission non accordée"
+msgstr "Permission non accordée"
-#. TRANS Bad address; an invalid pointer was detected.
-#. TRANS In the GNU system, this error never happens; you get a signal instead.
-#: stdio-common/../sysdeps/gnu/errlist.c:159
-#: stdio-common/../sysdeps/unix/sysv/sysv4/solaris2/sparc/errlist.c:44
-msgid "Bad address"
-msgstr "Mauvaise adresse"
-
-#. TRANS A file that isn't a block special file was given in a situation that
-#. TRANS requires one. For example, trying to mount an ordinary file as a file
-#. TRANS system in Unix gives this error.
-#: stdio-common/../sysdeps/gnu/errlist.c:170
-#: stdio-common/../sysdeps/unix/sysv/sysv4/solaris2/sparc/errlist.c:45
-msgid "Block device required"
-msgstr "Bloc de périphérique requis"
+#: nis/nis_error.h:12
+msgid "Not owner"
+msgstr "N'est pas le propriétaire"
-#. TRANS Resource busy; a system resource that can't be shared is already in use.
-#. TRANS For example, if you try to delete a file that is the root of a currently
-#. TRANS mounted filesystem, you get this error.
-#: stdio-common/../sysdeps/gnu/errlist.c:181
-msgid "Device or resource busy"
-msgstr "Périphérique ou ressource occupé"
+#: nis/nis_error.h:13
+msgid "Name not served by this server"
+msgstr "Nom pas desservi par ce serveur"
-#. TRANS File exists; an existing file was specified in a context where it only
-#. TRANS makes sense to specify a new file.
-#: stdio-common/../sysdeps/gnu/errlist.c:191
-#: stdio-common/../sysdeps/unix/sysv/sysv4/solaris2/sparc/errlist.c:47
-msgid "File exists"
-msgstr "Le fichier existe."
+#: nis/nis_error.h:14
+msgid "Server out of memory"
+msgstr "Mémoire du serveur épuisée"
-#. TRANS An attempt to make an improper link across file systems was detected.
-#. TRANS This happens not only when you use @code{link} (@pxref{Hard Links}) but
-#. TRANS also when you rename a file with @code{rename} (@pxref{Renaming Files}).
-#: stdio-common/../sysdeps/gnu/errlist.c:202
-msgid "Invalid cross-device link"
-msgstr "Lien croisé de périphéque invalide"
+#: nis/nis_error.h:15
+msgid "Object with same name exists"
+msgstr "Objet ayant le même nom existe"
-#. TRANS The wrong type of device was given to a function that expects a
-#. TRANS particular sort of device.
-#: stdio-common/../sysdeps/gnu/errlist.c:212
-#: stdio-common/../sysdeps/unix/sysv/sysv4/solaris2/sparc/errlist.c:49
-msgid "No such device"
-msgstr "Aucun périphérique de ce type"
+#: nis/nis_error.h:16
+msgid "Not master server for this domain"
+msgstr "N'est pas un serveur maître pour ce domaine"
-#. TRANS A file that isn't a directory was specified when a directory is required.
-#: stdio-common/../sysdeps/gnu/errlist.c:221
-#: stdio-common/../sysdeps/unix/sysv/sysv4/solaris2/sparc/errlist.c:50
-msgid "Not a directory"
-msgstr "N'est pas un répertoire"
+#: nis/nis_error.h:17
+msgid "Invalid object for operation"
+msgstr "Objet invalide pour l'opération"
-#. TRANS File is a directory; you cannot open a directory for writing,
-#. TRANS or create or remove hard links to it.
-#: stdio-common/../sysdeps/gnu/errlist.c:231
-#: stdio-common/../sysdeps/unix/sysv/sysv4/solaris2/sparc/errlist.c:51
-msgid "Is a directory"
-msgstr "est un répertoire"
+#: nis/nis_error.h:18
+msgid "Malformed name, or illegal name"
+msgstr "Nom mal composé ou nom non permis"
-#. TRANS Invalid argument. This is used to indicate various kinds of problems
-#. TRANS with passing the wrong argument to a library function.
-#: stdio-common/../sysdeps/gnu/errlist.c:241
-#: stdio-common/../sysdeps/unix/sysv/sysv4/solaris2/sparc/errlist.c:52
-msgid "Invalid argument"
-msgstr "Argument invalide"
+#: nis/nis_error.h:19
+msgid "Unable to create callback"
+msgstr "Incapable de créer un callback()"
-#. TRANS The current process has too many files open and can't open any more.
-#. TRANS Duplicate descriptors do count toward this limit.
-#. TRANS
-#. TRANS In BSD and GNU, the number of open files is controlled by a resource
-#. TRANS limit that can usually be increased. If you get this error, you might
-#. TRANS want to increase the @code{RLIMIT_NOFILE} limit or make it unlimited;
-#. TRANS @pxref{Limits on Resources}.
-#: stdio-common/../sysdeps/gnu/errlist.c:256
-#: stdio-common/../sysdeps/unix/sysv/sysv4/solaris2/sparc/errlist.c:54
-msgid "Too many open files"
-msgstr "Trop de fichiers ouverts"
+#: nis/nis_error.h:20
+msgid "Results sent to callback proc"
+msgstr "Résultats transmis à la procédure callback()"
-#. TRANS There are too many distinct file openings in the entire system. Note
-#. TRANS that any number of linked channels count as just one file opening; see
-#. TRANS @ref{Linked Channels}. This error never occurs in the GNU system.
-#: stdio-common/../sysdeps/gnu/errlist.c:267
-msgid "Too many open files in system"
-msgstr "Trop de fichiers ouverts dans le système"
+#: nis/nis_error.h:21
+msgid "Not found, no such name"
+msgstr "Pas repéré, aucun nom de ce type"
-#. TRANS Inappropriate I/O control operation, such as trying to set terminal
-#. TRANS modes on an ordinary file.
-#: stdio-common/../sysdeps/gnu/errlist.c:277
-#: stdio-common/../sysdeps/unix/sysv/sysv4/solaris2/sparc/errlist.c:55
-msgid "Inappropriate ioctl for device"
-msgstr "Ioctl() inappropré pour un périphérique"
+#: nis/nis_error.h:22
+msgid "Name/entry isn't unique"
+msgstr "Nom entrée n'est pas unique"
-#. TRANS An attempt to execute a file that is currently open for writing, or
-#. TRANS write to a file that is currently being executed. Often using a
-#. TRANS debugger to run a program is considered having it open for writing and
-#. TRANS will cause this error. (The name stands for ``text file busy''.) This
-#. TRANS is not an error in the GNU system; the text is copied as necessary.
-#: stdio-common/../sysdeps/gnu/errlist.c:290
-#: stdio-common/../sysdeps/unix/sysv/sysv4/solaris2/sparc/errlist.c:56
-msgid "Text file busy"
-msgstr "Fichier texte occupé"
+#: nis/nis_error.h:23
+msgid "Modification failed"
+msgstr "Échec de modification"
-#. TRANS File too big; the size of a file would be larger than allowed by the system.
-#: stdio-common/../sysdeps/gnu/errlist.c:299
-#: stdio-common/../sysdeps/unix/sysv/sysv4/solaris2/sparc/errlist.c:57
-msgid "File too large"
-msgstr "Fichier trop gros"
+#: nis/nis_error.h:24
+msgid "Database for table does not exist"
+msgstr "La base de données de la table est inexistante"
-#. TRANS No space left on device; write operation on a file failed because the
-#. TRANS disk is full.
-#: stdio-common/../sysdeps/gnu/errlist.c:309
-#: stdio-common/../sysdeps/unix/sysv/sysv4/solaris2/sparc/errlist.c:58
-msgid "No space left on device"
-msgstr "Aucun espace disponible sur le périphérique"
+#: nis/nis_error.h:25
+msgid "Entry/table type mismatch"
+msgstr "Mauvais appariement du type entrée/table"
-#. TRANS Invalid seek operation (such as on a pipe).
-#: stdio-common/../sysdeps/gnu/errlist.c:318
-#: stdio-common/../sysdeps/unix/sysv/sysv4/solaris2/sparc/errlist.c:59
-msgid "Illegal seek"
-msgstr "Repérage illégal"
+#: nis/nis_error.h:26
+msgid "Link points to illegal name"
+msgstr "Lien pointe sur un nom non autorisé"
-#. TRANS An attempt was made to modify something on a read-only file system.
-#: stdio-common/../sysdeps/gnu/errlist.c:327
-#: stdio-common/../sysdeps/unix/sysv/sysv4/solaris2/sparc/errlist.c:60
-msgid "Read-only file system"
-msgstr "Système de fichiers accessible en lecture seulement"
+#: nis/nis_error.h:27
+msgid "Partial success"
+msgstr "Succès partiel"
-#. TRANS Too many links; the link count of a single file would become too large.
-#. TRANS @code{rename} can cause this error if the file being renamed already has
-#. TRANS as many links as it can take (@pxref{Renaming Files}).
-#: stdio-common/../sysdeps/gnu/errlist.c:338
-#: stdio-common/../sysdeps/unix/sysv/sysv4/solaris2/sparc/errlist.c:61
-msgid "Too many links"
-msgstr "Trop de liens"
+#: nis/nis_error.h:28
+msgid "Too many attributes"
+msgstr "Trop d'attributs"
-#. TRANS Domain error; used by mathematical functions when an argument value does
-#. TRANS not fall into the domain over which the function is defined.
-#: stdio-common/../sysdeps/gnu/errlist.c:361
-msgid "Numerical argument out of domain"
-msgstr "L'argument numérique est hors du domaine."
+#: nis/nis_error.h:29
+msgid "Error in RPC subsystem"
+msgstr "Erreur dans le sous-système RPC"
-#. TRANS Range error; used by mathematical functions when the result value is
-#. TRANS not representable because of overflow or underflow.
-#: stdio-common/../sysdeps/gnu/errlist.c:371
-msgid "Numerical result out of range"
-msgstr "Le résultat numérique est en dehors de l'intervalle."
+#: nis/nis_error.h:30
+msgid "Missing or malformed attribute"
+msgstr "Attribut manquant ou mal composé"
-#. TRANS Resource temporarily unavailable; the call might work if you try again
-#. TRANS later. The macro @code{EWOULDBLOCK} is another name for @code{EAGAIN};
-#. TRANS they are always the same in the GNU C library.
-#. TRANS
-#. TRANS This error can happen in a few different situations:
-#. TRANS
-#. TRANS @itemize @bullet
-#. TRANS @item
-#. TRANS An operation that would block was attempted on an object that has
-#. TRANS non-blocking mode selected. Trying the same operation again will block
-#. TRANS until some external condition makes it possible to read, write, or
-#. TRANS connect (whatever the operation). You can use @code{select} to find out
-#. TRANS when the operation will be possible; @pxref{Waiting for I/O}.
-#. TRANS
-#. TRANS @strong{Portability Note:} In many older Unix systems, this condition
-#. TRANS was indicated by @code{EWOULDBLOCK}, which was a distinct error code
-#. TRANS different from @code{EAGAIN}. To make your program portable, you should
-#. TRANS check for both codes and treat them the same.
-#. TRANS
-#. TRANS @item
-#. TRANS A temporary resource shortage made an operation impossible. @code{fork}
-#. TRANS can return this error. It indicates that the shortage is expected to
-#. TRANS pass, so your program can try the call again later and it may succeed.
-#. TRANS It is probably a good idea to delay for a few seconds before trying it
-#. TRANS again, to allow time for other processes to release scarce resources.
-#. TRANS Such shortages are usually fairly serious and affect the whole system,
-#. TRANS so usually an interactive program should report the error to the user
-#. TRANS and return to its command loop.
-#. TRANS @end itemize
-#: stdio-common/../sysdeps/gnu/errlist.c:408
-#: stdio-common/../sysdeps/unix/sysv/sysv4/solaris2/sparc/errlist.c:41
-msgid "Resource temporarily unavailable"
-msgstr "Ressource temporairement non disponible"
+#: nis/nis_error.h:31
+msgid "Named object is not searchable"
+msgstr "Objet nommé n'est pas repérable"
-#. TRANS In the GNU C library, this is another name for @code{EAGAIN} (above).
-#. TRANS The values are always the same, on every operating system.
-#. TRANS
-#. TRANS C libraries in many older Unix systems have @code{EWOULDBLOCK} as a
-#. TRANS separate error code.
-#: stdio-common/../sysdeps/gnu/errlist.c:421
-msgid "Operation would block"
-msgstr "L'opération pourrait se bloquer."
+#: nis/nis_error.h:32
+msgid "Error while talking to callback proc"
+msgstr "Erreur lors d'échange par la procédure de callback()"
-#. TRANS An operation that cannot complete immediately was initiated on an object
-#. TRANS that has non-blocking mode selected. Some functions that must always
-#. TRANS block (such as @code{connect}; @pxref{Connecting}) never return
-#. TRANS @code{EAGAIN}. Instead, they return @code{EINPROGRESS} to indicate that
-#. TRANS the operation has begun and will take some time. Attempts to manipulate
-#. TRANS the object before the call completes return @code{EALREADY}. You can
-#. TRANS use the @code{select} function to find out when the pending operation
-#. TRANS has completed; @pxref{Waiting for I/O}.
-#: stdio-common/../sysdeps/gnu/errlist.c:437
-#: stdio-common/../sysdeps/unix/sysv/sysv4/solaris2/sparc/errlist.c:180
-msgid "Operation now in progress"
-msgstr "Opération maintenant en cours"
+#: nis/nis_error.h:33
+msgid "Non NIS+ namespace encountered"
+msgstr "Espace des noms non-NIS+ rencontré"
-#. TRANS An operation is already in progress on an object that has non-blocking
-#. TRANS mode selected.
-#: stdio-common/../sysdeps/gnu/errlist.c:447
-#: stdio-common/../sysdeps/unix/sysv/sysv4/solaris2/sparc/errlist.c:179
-msgid "Operation already in progress"
-msgstr "Opération déjà en cours"
+#: nis/nis_error.h:34
+msgid "Illegal object type for operation"
+msgstr "Objet non permis pour ce type d'opération"
-#. TRANS A file that isn't a socket was specified when a socket is required.
-#: stdio-common/../sysdeps/gnu/errlist.c:456
-#: stdio-common/../sysdeps/unix/sysv/sysv4/solaris2/sparc/errlist.c:125
-msgid "Socket operation on non-socket"
-msgstr "Opération de type socket sur un type non socket"
+#: nis/nis_error.h:35
+msgid "Passed object is not the same object on server"
+msgstr "L'objet fourni n'est pas le même sur le serveur"
-#. TRANS The size of a message sent on a socket was larger than the supported
-#. TRANS maximum size.
-#: stdio-common/../sysdeps/gnu/errlist.c:466
-#: stdio-common/../sysdeps/unix/sysv/sysv4/solaris2/sparc/errlist.c:127
-msgid "Message too long"
-msgstr "Message trop long"
+#: nis/nis_error.h:36
+msgid "Modify operation failed"
+msgstr "Échec de l'opération de modification"
-#. TRANS The socket type does not support the requested communications protocol.
-#: stdio-common/../sysdeps/gnu/errlist.c:475
-#: stdio-common/../sysdeps/unix/sysv/sysv4/solaris2/sparc/errlist.c:128
-msgid "Protocol wrong type for socket"
-msgstr "Mauvais type pour un socket de protocole"
+#: nis/nis_error.h:37
+msgid "Query illegal for named table"
+msgstr "Requête non permise pour la table « named »"
-#. TRANS You specified a socket option that doesn't make sense for the
-#. TRANS particular protocol being used by the socket. @xref{Socket Options}.
-#: stdio-common/../sysdeps/gnu/errlist.c:485
-msgid "Protocol not available"
-msgstr "Protocole non disponible"
+#: nis/nis_error.h:38
+msgid "Attempt to remove a non-empty table"
+msgstr "Tentative de retrait d'une table non vide"
-#. TRANS The socket domain does not support the requested communications protocol
-#. TRANS (perhaps because the requested protocol is completely invalid).
-#. TRANS @xref{Creating a Socket}.
-#: stdio-common/../sysdeps/gnu/errlist.c:496
-#: stdio-common/../sysdeps/unix/sysv/sysv4/solaris2/sparc/errlist.c:150
-msgid "Protocol not supported"
-msgstr "Protocole non supporté"
+#: nis/nis_error.h:39
+msgid "Error in accessing NIS+ cold start file. Is NIS+ installed?"
+msgstr "Erreur lors de l'accès au fichier de démarrage à froid de NIS+. NIS+ est-il installé ?"
-#. TRANS The socket type is not supported.
-#: stdio-common/../sysdeps/gnu/errlist.c:505
-#: stdio-common/../sysdeps/unix/sysv/sysv4/solaris2/sparc/errlist.c:151
-msgid "Socket type not supported"
-msgstr "Type de socket non supporté"
+#: nis/nis_error.h:40
+msgid "Full resync required for directory"
+msgstr "Resynchronisation complète est requise pour ce dossier"
-#. TRANS The operation you requested is not supported. Some socket functions
-#. TRANS don't make sense for all types of sockets, and others may not be
-#. TRANS implemented for all communications protocols. In the GNU system, this
-#. TRANS error can happen for many calls when the object does not support the
-#. TRANS particular operation; it is a generic indication that the server knows
-#. TRANS nothing to do for that call.
-#: stdio-common/../sysdeps/gnu/errlist.c:519
-#: stdio-common/../sysdeps/unix/sysv/sysv4/solaris2/sparc/errlist.c:78
-msgid "Operation not supported"
-msgstr "Opération non supportée"
+#: nis/nis_error.h:41
+msgid "NIS+ operation failed"
+msgstr "Échec de l'opération NIS+"
-#. TRANS The socket communications protocol family you requested is not supported.
-#: stdio-common/../sysdeps/gnu/errlist.c:528
-#: stdio-common/../sysdeps/unix/sysv/sysv4/solaris2/sparc/errlist.c:153
-msgid "Protocol family not supported"
-msgstr "Famille de protocoles non supportée"
+#: nis/nis_error.h:42
+msgid "NIS+ service is unavailable or not installed"
+msgstr "Le service NIS+ n'est pas disponible ou installé"
-#. TRANS The address family specified for a socket is not supported; it is
-#. TRANS inconsistent with the protocol being used on the socket. @xref{Sockets}.
-#: stdio-common/../sysdeps/gnu/errlist.c:538
-msgid "Address family not supported by protocol"
-msgstr "Famille d'adresses non supportée par le protocole"
+#: nis/nis_error.h:43
+msgid "Yes, 42 is the meaning of life"
+msgstr "Oui, 42 est la clé du sens de la vie"
-#. TRANS The requested socket address is already in use. @xref{Socket Addresses}.
-#: stdio-common/../sysdeps/gnu/errlist.c:547
-#: stdio-common/../sysdeps/unix/sysv/sysv4/solaris2/sparc/errlist.c:155
-msgid "Address already in use"
-msgstr "Adresse déjà utilisée"
+#: nis/nis_error.h:44
+msgid "Unable to authenticate NIS+ server"
+msgstr "Incapable d'authentifier le serveur NIS+"
-#. TRANS The requested socket address is not available; for example, you tried
-#. TRANS to give a socket a name that doesn't match the local host name.
-#. TRANS @xref{Socket Addresses}.
-#: stdio-common/../sysdeps/gnu/errlist.c:558
-#: stdio-common/../sysdeps/unix/sysv/sysv4/solaris2/sparc/errlist.c:156
-msgid "Cannot assign requested address"
-msgstr "Ne peut attribuer l'adresse demandée"
+#: nis/nis_error.h:45
+msgid "Unable to authenticate NIS+ client"
+msgstr "Incapable d'authentifier le client NIS+"
-#. TRANS A socket operation failed because the network was down.
-#: stdio-common/../sysdeps/gnu/errlist.c:567
-#: stdio-common/../sysdeps/unix/sysv/sysv4/solaris2/sparc/errlist.c:157
-msgid "Network is down"
-msgstr "Le réseau ne fonctionne pas."
+#: nis/nis_error.h:46
+msgid "No file space on server"
+msgstr "Aucun espace disque disponible sur le serveur"
-#. TRANS A socket operation failed because the subnet containing the remote host
-#. TRANS was unreachable.
-#: stdio-common/../sysdeps/gnu/errlist.c:577
-#: stdio-common/../sysdeps/unix/sysv/sysv4/solaris2/sparc/errlist.c:158
-msgid "Network is unreachable"
-msgstr "Le réseau n'est pas accessible."
+#: nis/nis_error.h:47
+msgid "Unable to create process on server"
+msgstr "Incapable de créer un processus sur le serveur"
-#. TRANS A network connection was reset because the remote host crashed.
-#: stdio-common/../sysdeps/gnu/errlist.c:586
-msgid "Network dropped connection on reset"
-msgstr "Le réseau a rompu la connexion lors de la réinitialisation."
+#: nis/nis_error.h:48
+msgid "Master server busy, full dump rescheduled."
+msgstr "Serveur maître occupé, vidange complète reportée."
-#. TRANS A network connection was aborted locally.
-#: stdio-common/../sysdeps/gnu/errlist.c:595
-#: stdio-common/../sysdeps/unix/sysv/sysv4/solaris2/sparc/errlist.c:160
-msgid "Software caused connection abort"
-msgstr "Le logiciel a provoqué l'abandon de la connexion."
+#: nis/nis_local_names.c:122
+#, c-format
+msgid "LOCAL entry for UID %d in directory %s not unique\n"
+msgstr "Entrée LOCALE du UID %d dans le dossier %s n'est pas unique\n"
-#. TRANS A network connection was closed for reasons outside the control of the
-#. TRANS local host, such as by the remote machine rebooting or an unrecoverable
-#. TRANS protocol violation.
-#: stdio-common/../sysdeps/gnu/errlist.c:606
-#: stdio-common/../sysdeps/unix/sysv/sysv4/solaris2/sparc/errlist.c:161
-msgid "Connection reset by peer"
-msgstr "Connexion ré-initialisée par le correspondant"
+#: nis/nis_print.c:51
+msgid "UNKNOWN"
+msgstr "INCONNU"
-#. TRANS The kernel's buffers for I/O operations are all in use. In GNU, this
-#. TRANS error is always synonymous with @code{ENOMEM}; you may get one or the
-#. TRANS other from network operations.
-#: stdio-common/../sysdeps/gnu/errlist.c:617
-#: stdio-common/../sysdeps/unix/sysv/sysv4/solaris2/sparc/errlist.c:162
-msgid "No buffer space available"
-msgstr "Aucun espace tampon disponible"
+#: nis/nis_print.c:109
+msgid "BOGUS OBJECT\n"
+msgstr "OBJET ERRONÉ\n"
-#. TRANS You tried to connect a socket that is already connected.
-#. TRANS @xref{Connecting}.
-#: stdio-common/../sysdeps/gnu/errlist.c:627
-#: stdio-common/../sysdeps/unix/sysv/sysv4/solaris2/sparc/errlist.c:163
-msgid "Transport endpoint is already connected"
-msgstr "Noeud final de transport déjà connecté"
+#: nis/nis_print.c:112
+msgid "NO OBJECT\n"
+msgstr "PAS D'OBJET\n"
-#. TRANS The socket is not connected to anything. You get this error when you
-#. TRANS try to transmit data over a socket, without first specifying a
-#. TRANS destination for the data. For a connectionless socket (for datagram
-#. TRANS protocols, such as UDP), you get @code{EDESTADDRREQ} instead.
-#: stdio-common/../sysdeps/gnu/errlist.c:639
-#: stdio-common/../sysdeps/unix/sysv/sysv4/solaris2/sparc/errlist.c:164
-msgid "Transport endpoint is not connected"
-msgstr "Noeud final de transport n'est pas connecté"
+#: nis/nis_print.c:115
+msgid "DIRECTORY\n"
+msgstr "RÉPERTOIRE\n"
-#. TRANS No default destination address was set for the socket. You get this
-#. TRANS error when you try to transmit data over a connectionless socket,
-#. TRANS without first specifying a destination for the data with @code{connect}.
-#: stdio-common/../sysdeps/gnu/errlist.c:650
-#: stdio-common/../sysdeps/unix/sysv/sysv4/solaris2/sparc/errlist.c:126
-msgid "Destination address required"
-msgstr "Adresse de destination requise"
+#: nis/nis_print.c:118
+msgid "GROUP\n"
+msgstr "GROUPE\n"
-#. TRANS The socket has already been shut down.
-#: stdio-common/../sysdeps/gnu/errlist.c:659
-msgid "Cannot send after transport endpoint shutdown"
-msgstr "Ne peut transmettre suite à la fermeture du noeud final de transport"
+#: nis/nis_print.c:121
+msgid "TABLE\n"
+msgstr "TABLE\n"
-#. TRANS ???
-#: stdio-common/../sysdeps/gnu/errlist.c:668
-#: stdio-common/../sysdeps/unix/sysv/sysv4/solaris2/sparc/errlist.c:174
-msgid "Too many references: cannot splice"
-msgstr "Trop de références: ne peut segmenter"
+#: nis/nis_print.c:124
+msgid "ENTRY\n"
+msgstr "ENTRÉE\n"
-#. TRANS A socket operation with a specified timeout received no response during
-#. TRANS the timeout period.
-#: stdio-common/../sysdeps/gnu/errlist.c:678
-#: stdio-common/../sysdeps/unix/sysv/sysv4/solaris2/sparc/errlist.c:175
-msgid "Connection timed out"
-msgstr "Connexion terminée par expiration du délai d'attente"
+#: nis/nis_print.c:127
+msgid "LINK\n"
+msgstr "LIENS\n"
-#. TRANS A remote host refused to allow the network connection (typically because
-#. TRANS it is not running the requested service).
-#: stdio-common/../sysdeps/gnu/errlist.c:688
-#: stdio-common/../sysdeps/unix/sysv/sysv4/solaris2/sparc/errlist.c:176
-msgid "Connection refused"
-msgstr "Connexion refusée"
+#: nis/nis_print.c:130
+msgid "PRIVATE\n"
+msgstr "PRIVÉ\n"
-#. TRANS Too many levels of symbolic links were encountered in looking up a file name.
-#. TRANS This often indicates a cycle of symbolic links.
-#: stdio-common/../sysdeps/gnu/errlist.c:698
-msgid "Too many levels of symbolic links"
-msgstr "Trop de niveaux de liens symboliques"
+#: nis/nis_print.c:133
+msgid "(Unknown object)\n"
+msgstr "(Objet inconnu)\n"
-#. TRANS Filename too long (longer than @code{PATH_MAX}; @pxref{Limits for
-#. TRANS Files}) or host name too long (in @code{gethostname} or
-#. TRANS @code{sethostname}; @pxref{Host Identification}).
-#: stdio-common/../sysdeps/gnu/errlist.c:709
-#: stdio-common/../sysdeps/unix/sysv/sysv4/solaris2/sparc/errlist.c:108
-msgid "File name too long"
-msgstr "Nom de fichier trop long"
+#: nis/nis_print.c:167
+#, c-format
+msgid "Name : `%s'\n"
+msgstr "Nom : « %s »\n"
-#. TRANS The remote host for a requested network connection is down.
-#: stdio-common/../sysdeps/gnu/errlist.c:718
-#: stdio-common/../sysdeps/unix/sysv/sysv4/solaris2/sparc/errlist.c:177
-msgid "Host is down"
-msgstr "L'hôte cible est arrêté ou en panne."
+#: nis/nis_print.c:168
+#, c-format
+msgid "Type : %s\n"
+msgstr "Type : %s\n"
-#. TRANS The remote host for a requested network connection is not reachable.
-#: stdio-common/../sysdeps/gnu/errlist.c:727
-#: stdio-common/../sysdeps/unix/sysv/sysv4/solaris2/sparc/errlist.c:178
-msgid "No route to host"
-msgstr "Aucun chemin d'accès pour atteindre l'hôte cible"
+#: nis/nis_print.c:173
+msgid "Master Server :\n"
+msgstr "Serveur maître :\n"
-#. TRANS Directory not empty, where an empty directory was expected. Typically,
-#. TRANS this error occurs when you are trying to delete a directory.
-#: stdio-common/../sysdeps/gnu/errlist.c:737
-#: stdio-common/../sysdeps/unix/sysv/sysv4/solaris2/sparc/errlist.c:123
-msgid "Directory not empty"
-msgstr "Le répertoire n'est pas vide."
+#: nis/nis_print.c:175
+msgid "Replicate :\n"
+msgstr "Duplication :\n"
-#. TRANS This means that the per-user limit on new process would be exceeded by
-#. TRANS an attempted @code{fork}. @xref{Limits on Resources}, for details on
-#. TRANS the @code{RLIMIT_NPROC} limit.
-#: stdio-common/../sysdeps/gnu/errlist.c:748
-msgid "Too many processes"
-msgstr "Trop de processus"
+#: nis/nis_print.c:176
+#, c-format
+msgid "\tName : %s\n"
+msgstr "\tNom  : %s\n"
-#. TRANS The file quota system is confused because there are too many users.
-#. TRANS @c This can probably happen in a GNU system when using NFS.
-#: stdio-common/../sysdeps/gnu/errlist.c:758
-#: stdio-common/../sysdeps/unix/sysv/sysv4/solaris2/sparc/errlist.c:124
-msgid "Too many users"
-msgstr "Trop d'usagers"
+#: nis/nis_print.c:177
+msgid "\tPublic Key : "
+msgstr "\t Clé publique : "
-#. TRANS The user's disk quota was exceeded.
-#: stdio-common/../sysdeps/gnu/errlist.c:767
-msgid "Disk quota exceeded"
-msgstr "Débordement du quota d'espace disque"
+#: nis/nis_print.c:181
+msgid "None.\n"
+msgstr "Aucun.\n"
-#. TRANS Stale NFS file handle. This indicates an internal confusion in the NFS
-#. TRANS system which is due to file system rearrangements on the server host.
-#. TRANS Repairing this condition usually requires unmounting and remounting
-#. TRANS the NFS file system on the local host.
-#: stdio-common/../sysdeps/gnu/errlist.c:779
-#: stdio-common/../sysdeps/unix/sysv/sysv4/solaris2/sparc/errlist.c:181
-msgid "Stale NFS file handle"
-msgstr "Panne d'accès au fichier NFS"
+#: nis/nis_print.c:184
+#, c-format
+msgid "Diffie-Hellmann (%d bits)\n"
+msgstr "Diffie-Hellmann (%d bits)\n"
-#. TRANS An attempt was made to NFS-mount a remote file system with a file name that
-#. TRANS already specifies an NFS-mounted file.
-#. TRANS (This is an error on some operating systems, but we expect it to work
-#. TRANS properly on the GNU system, making this error code impossible.)
-#: stdio-common/../sysdeps/gnu/errlist.c:791
-#: stdio-common/../sysdeps/unix/sysv/sysv4/solaris2/sparc/errlist.c:96
-msgid "Object is remote"
-msgstr "L'objet est télé-accessible."
+#: nis/nis_print.c:189
+#, c-format
+msgid "RSA (%d bits)\n"
+msgstr "RSA (%d bits)\n"
-#. TRANS ???
-#: stdio-common/../sysdeps/gnu/errlist.c:800
-msgid "RPC struct is bad"
-msgstr "La déclaration struct RPC est erronée"
+#: nis/nis_print.c:192
+msgid "Kerberos.\n"
+msgstr "Kerberos.\n"
-#. TRANS ???
-#: stdio-common/../sysdeps/gnu/errlist.c:809
-msgid "RPC version wrong"
-msgstr "Mauvaise version RPC"
+#: nis/nis_print.c:195
+#, c-format
+msgid "Unknown (type = %d, bits = %d)\n"
+msgstr "Inconnu (type = %d, bits = %d)\n"
-#. TRANS ???
-#: stdio-common/../sysdeps/gnu/errlist.c:818
-msgid "RPC program not available"
-msgstr "Programme RPC non disponible"
+#: nis/nis_print.c:206
+#, c-format
+msgid "\tUniversal addresses (%u)\n"
+msgstr "\tAdresses universelles (%u)\n"
-#. TRANS ???
-#: stdio-common/../sysdeps/gnu/errlist.c:827
-msgid "RPC program version wrong"
-msgstr "Version de programme RPC erronée"
+#: nis/nis_print.c:228
+msgid "Time to live : "
+msgstr "Durée de vie restante : "
-#. TRANS ???
-#: stdio-common/../sysdeps/gnu/errlist.c:836
-msgid "RPC bad procedure for program"
-msgstr "Mauvaise procédure RPC du programme"
+#: nis/nis_print.c:230
+msgid "Default Access rights :\n"
+msgstr "Droits d'accès par défaut :\n"
-#. TRANS No locks available. This is used by the file locking facilities; see
-#. TRANS @ref{File Locks}. This error is never generated by the GNU system, but
-#. TRANS it can result from an operation to an NFS server running another
-#. TRANS operating system.
-#: stdio-common/../sysdeps/gnu/errlist.c:848
-msgid "No locks available"
-msgstr "Aucun verrou disponible"
+#: nis/nis_print.c:239
+#, c-format
+msgid "\tType : %s\n"
+msgstr "\tType  : %s\n"
-#. TRANS Inappropriate file type or format. The file was the wrong type for the
-#. TRANS operation, or a data file had the wrong format.
-#. TRANS
-#. TRANS On some systems @code{chmod} returns this error if you try to set the
-#. TRANS sticky bit on a non-directory file; @pxref{Setting Permissions}.
-#: stdio-common/../sysdeps/gnu/errlist.c:861
-msgid "Inappropriate file type or format"
-msgstr "Type de fichier ou format inapproprié"
+#: nis/nis_print.c:240
+msgid "\tAccess rights: "
+msgstr "\t\tDroits d'accès : "
-#. TRANS ???
-#: stdio-common/../sysdeps/gnu/errlist.c:870
-msgid "Authentication error"
-msgstr "Erreur d'authentification"
+#: nis/nis_print.c:254
+msgid "Group Flags :"
+msgstr "Groupe de sémaphores :"
-#. TRANS ???
-#: stdio-common/../sysdeps/gnu/errlist.c:879
-msgid "Need authenticator"
-msgstr "Besoin d'un authentificateur"
+#: nis/nis_print.c:257
+msgid ""
+"\n"
+"Group Members :\n"
+msgstr ""
+"\n"
+"Membres du groupe :\n"
-#. TRANS Function not implemented. This indicates that the function called is
-#. TRANS not implemented at all, either in the C library itself or in the
-#. TRANS operating system. When you get this error, you can be sure that this
-#. TRANS particular function will always fail with @code{ENOSYS} unless you
-#. TRANS install a new version of the C library or the operating system.
-#: stdio-common/../sysdeps/gnu/errlist.c:892
-msgid "Function not implemented"
-msgstr "Fonction non implantée"
+#: nis/nis_print.c:269
+#, c-format
+msgid "Table Type : %s\n"
+msgstr "Type de table  : %s\n"
-#. TRANS Not supported. A function returns this error when certain parameter
-#. TRANS values are valid, but the functionality they request is not available.
-#. TRANS This can mean that the function does not implement a particular command
-#. TRANS or option value or flag bit at all. For functions that operate on some
-#. TRANS object given in a parameter, such as a file descriptor or a port, it
-#. TRANS might instead mean that only @emph{that specific object} (file
-#. TRANS descriptor, port, etc.) is unable to support the other parameters given;
-#. TRANS different file descriptors might support different ranges of parameter
-#. TRANS values.
-#. TRANS
-#. TRANS If the entire function is not available at all in the implementation,
-#. TRANS it returns @code{ENOSYS} instead.
-#: stdio-common/../sysdeps/gnu/errlist.c:912
-msgid "Not supported"
-msgstr "Non supporté"
+#: nis/nis_print.c:270
+#, c-format
+msgid "Number of Columns : %d\n"
+msgstr "Nombre de colonnes  : %d\n"
-#. TRANS While decoding a multibyte character the function came along an invalid
-#. TRANS or an incomplete sequence of bytes or the given wide character is invalid.
-#: stdio-common/../sysdeps/gnu/errlist.c:922
-msgid "Invalid or incomplete multibyte or wide character"
-msgstr "Chaîne multi-octets ou étendue de caractères invalide ou incomplète"
+#: nis/nis_print.c:271
+#, c-format
+msgid "Character Separator : %c\n"
+msgstr "Caractère de séparation : %c\n"
-#. TRANS In the GNU system, servers supporting the @code{term} protocol return
-#. TRANS this error for certain operations when the caller is not in the
-#. TRANS foreground process group of the terminal. Users do not usually see this
-#. TRANS error because functions such as @code{read} and @code{write} translate
-#. TRANS it into a @code{SIGTTIN} or @code{SIGTTOU} signal. @xref{Job Control},
-#. TRANS for information on process groups and these signals.
-#: stdio-common/../sysdeps/gnu/errlist.c:936
-msgid "Inappropriate operation for background process"
-msgstr "Opération inappropriée pour un processus d'arrière-plan"
+#: nis/nis_print.c:272
+#, c-format
+msgid "Search Path : %s\n"
+msgstr "Chemin de recherche : %s\n"
-#. TRANS In the GNU system, opening a file returns this error when the file is
-#. TRANS translated by a program and the translator program dies while starting
-#. TRANS up, before it has connected to the file.
-#: stdio-common/../sysdeps/gnu/errlist.c:947
-msgid "Translator died"
-msgstr "Panne du traducteur"
+#: nis/nis_print.c:273
+msgid "Columns :\n"
+msgstr "Colonnes  :\n"
-#. TRANS The experienced user will know what is wrong.
-#. TRANS @c This error code is a joke. Its perror text is part of the joke.
-#. TRANS @c Don't change it.
-#: stdio-common/../sysdeps/gnu/errlist.c:958
-msgid "?"
-msgstr "?"
+#: nis/nis_print.c:276
+#, c-format
+msgid "\t[%d]\tName : %s\n"
+msgstr "\t[%d]\tNom  : %s\n"
-#. TRANS You did @strong{what}?
-#: stdio-common/../sysdeps/gnu/errlist.c:967
-msgid "You really blew it this time"
-msgstr "Vous avez vraiment tout gâcher cette fois-ci."
+#: nis/nis_print.c:278
+msgid "\t\tAttributes : "
+msgstr "\t\tAttributs  : "
-#. TRANS Go home and have a glass of warm, dairy-fresh milk.
-#: stdio-common/../sysdeps/gnu/errlist.c:976
-msgid "Computer bought the farm"
-msgstr "L'ordinateur a acheté la ferme..."
+#: nis/nis_print.c:280
+msgid "\t\tAccess Rights : "
+msgstr "\t\tDroits d'accès : "
-#. TRANS This error code has no purpose.
-#: stdio-common/../sysdeps/gnu/errlist.c:985
-msgid "Gratuitous error"
-msgstr "Erreur gratuite"
+#: nis/nis_print.c:290
+msgid "Linked Object Type : "
+msgstr "Type d'objet lié : "
-#: stdio-common/../sysdeps/gnu/errlist.c:993
-msgid "Bad message"
-msgstr "Message invalide"
+#: nis/nis_print.c:292
+#, c-format
+msgid "Linked to : %s\n"
+msgstr "Liés à : %s\n"
-#: stdio-common/../sysdeps/gnu/errlist.c:1001
-#: stdio-common/../sysdeps/unix/sysv/sysv4/solaris2/sparc/errlist.c:66
-msgid "Identifier removed"
-msgstr "Identificateur éliminé"
+#: nis/nis_print.c:302
+#, c-format
+msgid "\tEntry data of type %s\n"
+msgstr "\tDonnées entrées de type %s\n"
-#: stdio-common/../sysdeps/gnu/errlist.c:1009
-#: stdio-common/../sysdeps/unix/sysv/sysv4/solaris2/sparc/errlist.c:104
-msgid "Multihop attempted"
-msgstr "Tentative de connexion par de multiples noeuds de relais"
+#: nis/nis_print.c:305
+#, c-format
+msgid "\t[%u] - [%u bytes] "
+msgstr "\t[%u] - [%u octets] "
-#: stdio-common/../sysdeps/gnu/errlist.c:1017
-#: stdio-common/../sysdeps/unix/sysv/sysv4/solaris2/sparc/errlist.c:91
-msgid "No data available"
-msgstr "Aucune donnée disponible"
+#: nis/nis_print.c:308
+msgid "Encrypted data\n"
+msgstr "Données encryptées\n"
-#: stdio-common/../sysdeps/gnu/errlist.c:1025
-#: stdio-common/../sysdeps/unix/sysv/sysv4/solaris2/sparc/errlist.c:97
-msgid "Link has been severed"
-msgstr "Le lien a été endommagé."
+#: nis/nis_print.c:310
+msgid "Binary data\n"
+msgstr "Valeur binaire\n"
-#: stdio-common/../sysdeps/gnu/errlist.c:1033
-#: stdio-common/../sysdeps/unix/sysv/sysv4/solaris2/sparc/errlist.c:65
-msgid "No message of desired type"
-msgstr "Aucun message du type désiré"
+#: nis/nis_print.c:326
+#, c-format
+msgid "Object Name : %s\n"
+msgstr "Nom de l'objet : %s\n"
-#: stdio-common/../sysdeps/gnu/errlist.c:1041
-msgid "Out of streams resources"
-msgstr "Aucune autre ressource de type streams disponible"
+#: nis/nis_print.c:327
+#, c-format
+msgid "Directory : %s\n"
+msgstr "Dossier  : %s\n"
-#: stdio-common/../sysdeps/gnu/errlist.c:1049
-msgid "Device not a stream"
-msgstr "Le périphérique n'est pas de type « stream »."
+#: nis/nis_print.c:328
+#, c-format
+msgid "Owner : %s\n"
+msgstr "Propriétaire  : %s\n"
-#: stdio-common/../sysdeps/gnu/errlist.c:1057
-#: stdio-common/../sysdeps/unix/sysv/sysv4/solaris2/sparc/errlist.c:109
-msgid "Value too large for defined data type"
-msgstr "Valeur trop grande pour le type défini de données"
+#: nis/nis_print.c:329
+#, c-format
+msgid "Group : %s\n"
+msgstr "Groupe  : %s\n"
-#: stdio-common/../sysdeps/gnu/errlist.c:1065
-#: stdio-common/../sysdeps/unix/sysv/sysv4/solaris2/sparc/errlist.c:101
-msgid "Protocol error"
-msgstr "Erreur de protocole"
+#: nis/nis_print.c:330
+msgid "Access Rights : "
+msgstr "Droits d'accès :"
-#: stdio-common/../sysdeps/gnu/errlist.c:1073
-#: stdio-common/../sysdeps/unix/sysv/sysv4/solaris2/sparc/errlist.c:92
-msgid "Timer expired"
-msgstr "Expiration de la minuterie"
+#: nis/nis_print.c:332
+#, c-format
+msgid ""
+"\n"
+"Time to Live : "
+msgstr ""
+"\n"
+"Durée de vie  : "
-#. TRANS Operation canceled; an asynchronous operation was canceled before it
-#. TRANS completed. @xref{Asynchronous I/O}. When you call @code{aio_cancel},
-#. TRANS the normal result is for the operations affected to complete with this
-#. TRANS error; @pxref{Cancel AIO Operations}.
-#: stdio-common/../sysdeps/gnu/errlist.c:1085
-#: stdio-common/../sysdeps/unix/sysv/sysv4/solaris2/sparc/errlist.c:77
-msgid "Operation canceled"
-msgstr "Opération annulée"
+#: nis/nis_print.c:335
+#, c-format
+msgid "Creation Time : %s"
+msgstr "Date de création : %s"
-#: stdio-common/../sysdeps/gnu/errlist.c:1093
-msgid "Interrupted system call should be restarted"
-msgstr "Appel système interrompu, il aurait dû être relancé"
+#: nis/nis_print.c:337
+#, c-format
+msgid "Mod. Time : %s"
+msgstr "Date de modification : %s"
-#: stdio-common/../sysdeps/gnu/errlist.c:1101
-#: stdio-common/../sysdeps/unix/sysv/sysv4/solaris2/sparc/errlist.c:67
-msgid "Channel number out of range"
-msgstr "Numéro de canal en dehors des limites"
+#: nis/nis_print.c:338
+msgid "Object Type : "
+msgstr "Type d'objet :"
-#: stdio-common/../sysdeps/gnu/errlist.c:1109
-#: stdio-common/../sysdeps/unix/sysv/sysv4/solaris2/sparc/errlist.c:68
-msgid "Level 2 not synchronized"
-msgstr "Niveau 2 non synchronisé"
+#: nis/nis_print.c:358
+#, c-format
+msgid " Data Length = %u\n"
+msgstr " Longueur des données = %u\n"
-#: stdio-common/../sysdeps/gnu/errlist.c:1117
-#: stdio-common/../sysdeps/unix/sysv/sysv4/solaris2/sparc/errlist.c:69
-msgid "Level 3 halted"
-msgstr "Niveau 3 en halte"
+#: nis/nis_print.c:372
+#, c-format
+msgid "Status : %s\n"
+msgstr "Statut  : %s\n"
-#: stdio-common/../sysdeps/gnu/errlist.c:1125
-#: stdio-common/../sysdeps/unix/sysv/sysv4/solaris2/sparc/errlist.c:70
-msgid "Level 3 reset"
-msgstr "Niveau 3 réinitialisé"
+#: nis/nis_print.c:373
+#, c-format
+msgid "Number of objects : %u\n"
+msgstr "Nombre d'objets  : %u\n"
-#: stdio-common/../sysdeps/gnu/errlist.c:1133
-#: stdio-common/../sysdeps/unix/sysv/sysv4/solaris2/sparc/errlist.c:71
-msgid "Link number out of range"
-msgstr "Numéro du lien hors intervalle"
+#: nis/nis_print.c:377
+#, c-format
+msgid "Object #%d:\n"
+msgstr "Objet #%d :\n"
-#: stdio-common/../sysdeps/gnu/errlist.c:1141
-#: stdio-common/../sysdeps/unix/sysv/sysv4/solaris2/sparc/errlist.c:72
-msgid "Protocol driver not attached"
-msgstr "Pilote du protocole n'est pas attaché"
+#: nis/nis_print_group_entry.c:117
+#, c-format
+msgid "Group entry for \"%s.%s\" group:\n"
+msgstr "Entrée de groupe pour le groupe \"%s.%s\" :\n"
-#: stdio-common/../sysdeps/gnu/errlist.c:1149
-#: stdio-common/../sysdeps/unix/sysv/sysv4/solaris2/sparc/errlist.c:73
-msgid "No CSI structure available"
-msgstr "Aucune structure CSI disponible"
+#: nis/nis_print_group_entry.c:125
+msgid " Explicit members:\n"
+msgstr " Membres explicites :\n"
-#: stdio-common/../sysdeps/gnu/errlist.c:1157
-#: stdio-common/../sysdeps/unix/sysv/sysv4/solaris2/sparc/errlist.c:74
-msgid "Level 2 halted"
-msgstr "Niveau 2 en halte"
+#: nis/nis_print_group_entry.c:130
+msgid " No explicit members\n"
+msgstr " Pas de membre explicite\n"
-#: stdio-common/../sysdeps/gnu/errlist.c:1165
-msgid "Invalid exchange"
-msgstr "Échange invalide"
+#: nis/nis_print_group_entry.c:133
+msgid " Implicit members:\n"
+msgstr " Membres implicites :\n"
-#: stdio-common/../sysdeps/gnu/errlist.c:1173
-msgid "Invalid request descriptor"
-msgstr "Descripteur de requête invalide"
+#: nis/nis_print_group_entry.c:138
+msgid " No implicit members\n"
+msgstr " Pas de membre implicite\n"
-#: stdio-common/../sysdeps/gnu/errlist.c:1181
-msgid "Exchange full"
-msgstr "L'échangeur est plein."
+#: nis/nis_print_group_entry.c:141
+msgid " Recursive members:\n"
+msgstr " Membres récursifs :\n"
-#: stdio-common/../sysdeps/gnu/errlist.c:1189
-msgid "No anode"
-msgstr "Aucune « anode » disponible"
+#: nis/nis_print_group_entry.c:146
+msgid " No recursive members\n"
+msgstr " Pas de membre récursif\n"
-#: stdio-common/../sysdeps/gnu/errlist.c:1197
-msgid "Invalid request code"
-msgstr "Code de requête invalide"
+#: nis/nis_print_group_entry.c:149
+msgid " Explicit nonmembers:\n"
+msgstr " Non-membres explicites :\n"
-#: stdio-common/../sysdeps/gnu/errlist.c:1205
-#: stdio-common/../sysdeps/unix/sysv/sysv4/solaris2/sparc/errlist.c:85
-msgid "Invalid slot"
-msgstr "Dalot invalide"
+#: nis/nis_print_group_entry.c:154
+msgid " No explicit nonmembers\n"
+msgstr " Pas de non-membre explicite\n"
-#: stdio-common/../sysdeps/gnu/errlist.c:1213
-msgid "File locking deadlock error"
-msgstr "Erreur de verrou bloquant l'accès au fichier"
+#: nis/nis_print_group_entry.c:157
+msgid " Implicit nonmembers:\n"
+msgstr " Non-membres implicites :\n"
-#: stdio-common/../sysdeps/gnu/errlist.c:1221
-#: stdio-common/../sysdeps/unix/sysv/sysv4/solaris2/sparc/errlist.c:87
-msgid "Bad font file format"
-msgstr "Mauvais format du fichier de fontes"
+#: nis/nis_print_group_entry.c:162
+msgid " No implicit nonmembers\n"
+msgstr " Pas de non-membre implicite\n"
-#: stdio-common/../sysdeps/gnu/errlist.c:1229
-#: stdio-common/../sysdeps/unix/sysv/sysv4/solaris2/sparc/errlist.c:94
-msgid "Machine is not on the network"
-msgstr "La machine cible n'est pas sur le réseau."
+#: nis/nis_print_group_entry.c:165
+msgid " Recursive nonmembers:\n"
+msgstr " Non-membres récursifs :\n"
-#: stdio-common/../sysdeps/gnu/errlist.c:1237
-#: stdio-common/../sysdeps/unix/sysv/sysv4/solaris2/sparc/errlist.c:95
-msgid "Package not installed"
-msgstr "Le package n'est pas installé."
+#: nis/nis_print_group_entry.c:170
+msgid " No recursive nonmembers\n"
+msgstr " Pas de non-membre récursif\n"
-#: stdio-common/../sysdeps/gnu/errlist.c:1245
-#: stdio-common/../sysdeps/unix/sysv/sysv4/solaris2/sparc/errlist.c:98
-msgid "Advertise error"
-msgstr "Erreur d'annonce"
+#: nis/nss_nisplus/nisplus-publickey.c:101
+#: nis/nss_nisplus/nisplus-publickey.c:183
+#, c-format
+msgid "DES entry for netname %s not unique\n"
+msgstr "Entrée DES pour le nom de réseau %s n'est pas unique\n"
-#: stdio-common/../sysdeps/gnu/errlist.c:1253
-#: stdio-common/../sysdeps/unix/sysv/sysv4/solaris2/sparc/errlist.c:99
-msgid "Srmount error"
-msgstr "Erreur srmount()"
+#: nis/nss_nisplus/nisplus-publickey.c:220
+#, c-format
+msgid "netname2user: missing group id list in `%s'"
+msgstr "netname2user : liste d'identifiants de groupe manquante dans « %s »"
-#: stdio-common/../sysdeps/gnu/errlist.c:1261
-#: stdio-common/../sysdeps/unix/sysv/sysv4/solaris2/sparc/errlist.c:100
-msgid "Communication error on send"
-msgstr "Erreur de communication lors de la transmission"
+#: nis/nss_nisplus/nisplus-publickey.c:302
+#: nis/nss_nisplus/nisplus-publickey.c:308
+#: nis/nss_nisplus/nisplus-publickey.c:373
+#: nis/nss_nisplus/nisplus-publickey.c:382
+#, c-format
+msgid "netname2user: (nis+ lookup): %s\n"
+msgstr "netname2user() : (consultation NIS+) : %s\n"
-#: stdio-common/../sysdeps/gnu/errlist.c:1269
-msgid "RFS specific error"
-msgstr "Erreur spécifique à « RFS »"
+#: nis/nss_nisplus/nisplus-publickey.c:321
+#, c-format
+msgid "netname2user: DES entry for %s in directory %s not unique"
+msgstr "netname2user() : entrée DES de %s dans le dossier %s n'est pas unique"
-#: stdio-common/../sysdeps/gnu/errlist.c:1277
-#: stdio-common/../sysdeps/unix/sysv/sysv4/solaris2/sparc/errlist.c:110
-msgid "Name not unique on network"
-msgstr "Le nom n'est pas unique sur le réseau."
+#: nis/nss_nisplus/nisplus-publickey.c:339
+#, c-format
+msgid "netname2user: principal name `%s' too long"
+msgstr "netname2user : nom principal « %s » est trop long"
-#: stdio-common/../sysdeps/gnu/errlist.c:1285
-#: stdio-common/../sysdeps/unix/sysv/sysv4/solaris2/sparc/errlist.c:111
-msgid "File descriptor in bad state"
-msgstr "Le descripteur du fichier est dans un mauvais état."
+#: nis/nss_nisplus/nisplus-publickey.c:395
+#, c-format
+msgid "netname2user: LOCAL entry for %s in directory %s not unique"
+msgstr "netname2user() : entrée LOCAL de %s dans le dossier %s n'est pas unique"
-#: stdio-common/../sysdeps/gnu/errlist.c:1293
-#: stdio-common/../sysdeps/unix/sysv/sysv4/solaris2/sparc/errlist.c:112
-msgid "Remote address changed"
-msgstr "L'adresse de l'hôte cible a été modifiée."
+#: nis/nss_nisplus/nisplus-publickey.c:402
+msgid "netname2user: should not have uid 0"
+msgstr "netname2user : ne devrait pas avoir le UID 0"
-#: stdio-common/../sysdeps/gnu/errlist.c:1301
-#: stdio-common/../sysdeps/unix/sysv/sysv4/solaris2/sparc/errlist.c:113
-msgid "Can not access a needed shared library"
-msgstr "Ne peut accéder à la librairie partagée demandée"
+#: nis/ypclnt.c:825
+msgid "Request arguments bad"
+msgstr "Les arguments de la requête sont invalides"
-#: stdio-common/../sysdeps/gnu/errlist.c:1309
-#: stdio-common/../sysdeps/unix/sysv/sysv4/solaris2/sparc/errlist.c:114
-msgid "Accessing a corrupted shared library"
-msgstr "Accès d'une librairie partagée qui est corrompue"
+#: nis/ypclnt.c:828
+msgid "RPC failure on NIS operation"
+msgstr "Échec RPC durant l'opération NIS"
-#: stdio-common/../sysdeps/gnu/errlist.c:1317
-#: stdio-common/../sysdeps/unix/sysv/sysv4/solaris2/sparc/errlist.c:115
-msgid ".lib section in a.out corrupted"
-msgstr "La section .lib dans a.out est corrompue."
+#: nis/ypclnt.c:831
+msgid "Can't bind to server which serves this domain"
+msgstr "Ne peut établir un lien avec le serveur qui dessert ce domaine"
-#: stdio-common/../sysdeps/gnu/errlist.c:1325
-msgid "Attempting to link in too many shared libraries"
-msgstr "Tentative d'édition de liens à partir de trop de librairies partagées"
+#: nis/ypclnt.c:834
+msgid "No such map in server's domain"
+msgstr "Cette table n'est pas dans le domaine du serveur"
-#: stdio-common/../sysdeps/gnu/errlist.c:1333
-msgid "Cannot exec a shared library directly"
-msgstr "Ne peut exécuter une librairie partagée directement"
+#: nis/ypclnt.c:837
+msgid "No such key in map"
+msgstr "Cette clé n'est pas dans la table"
-#: stdio-common/../sysdeps/gnu/errlist.c:1341
-msgid "Streams pipe error"
-msgstr "Erreur de relais de type streams"
+#: nis/ypclnt.c:840
+msgid "Internal NIS error"
+msgstr "Erreur interne de NIS"
-#: stdio-common/../sysdeps/gnu/errlist.c:1349
-#: stdio-common/../sysdeps/unix/sysv/sysv4/solaris2/sparc/errlist.c:165
-msgid "Structure needs cleaning"
-msgstr "La structure a besoin d'un nettoyage."
+#: nis/ypclnt.c:843
+msgid "Local resource allocation failure"
+msgstr "Échec d'allocation d'une ressource de locales"
-#: stdio-common/../sysdeps/gnu/errlist.c:1357
-msgid "Not a XENIX named type file"
-msgstr "Aucun fichier de type « XENIX named »"
+#: nis/ypclnt.c:846
+msgid "No more records in map database"
+msgstr "Aucun autre enregistrement dans la table de la base de données"
-#: stdio-common/../sysdeps/gnu/errlist.c:1365
-msgid "No XENIX semaphores available"
-msgstr "Aucun sémaphore XENIX disponible"
+#: nis/ypclnt.c:849
+msgid "Can't communicate with portmapper"
+msgstr "Ne peut communiquer avec le convertisseur de ports"
-#: stdio-common/../sysdeps/gnu/errlist.c:1373
-msgid "Is a named type file"
-msgstr "est un type de fichier nommé (named)"
+#: nis/ypclnt.c:852
+msgid "Can't communicate with ypbind"
+msgstr "Ne peut communiquer par ypbind"
-#: stdio-common/../sysdeps/gnu/errlist.c:1381
-#: stdio-common/../sysdeps/unix/sysv/sysv4/solaris2/sparc/errlist.c:170
-msgid "Remote I/O error"
-msgstr "Erreur d'entrée/sortie sur l'hôte cible"
+#: nis/ypclnt.c:855
+msgid "Can't communicate with ypserv"
+msgstr "Ne peut communiquer par ypserv"
-#: stdio-common/../sysdeps/gnu/errlist.c:1389
-msgid "No medium found"
-msgstr "Aucun medium trouvé"
+#: nis/ypclnt.c:858
+msgid "Local domain name not set"
+msgstr "Le nom du domaine local n'est pas initialisé"
-#: stdio-common/../sysdeps/gnu/errlist.c:1397
-msgid "Wrong medium type"
-msgstr "Mauvais type de medium"
+#: nis/ypclnt.c:861
+msgid "NIS map database is bad"
+msgstr "La table de la base de données NIS est erronée"
-#: stdio-common/../sysdeps/unix/siglist.c:26
-msgid "Signal 0"
-msgstr "Signal 0"
+#: nis/ypclnt.c:864
+msgid "NIS client/server version mismatch - can't supply service"
+msgstr "Non concordance de la version client/serveur NIS - ne peut fournir le service"
-#: stdio-common/../sysdeps/unix/siglist.c:32
-msgid "IOT trap"
-msgstr "Trappe IOT"
+#: nis/ypclnt.c:870
+msgid "Database is busy"
+msgstr "La base de données est occupée"
-#: stdio-common/../sysdeps/unix/sysv/sysv4/solaris2/sparc/errlist.c:30
-msgid "Error 0"
-msgstr "Erreur 0"
+#: nis/ypclnt.c:873
+msgid "Unknown NIS error code"
+msgstr "Code d'erreur NIS inconnu"
-#: stdio-common/../sysdeps/unix/sysv/sysv4/solaris2/sparc/errlist.c:31
-#: nis/nis_error.c:40
-msgid "Not owner"
-msgstr "N'est pas le propriétaire"
+#: nis/ypclnt.c:913
+msgid "Internal ypbind error"
+msgstr "Erreur interne de ypbind"
-#: stdio-common/../sysdeps/unix/sysv/sysv4/solaris2/sparc/errlist.c:35
-msgid "I/O error"
-msgstr "Erreur d'entrée/sortie"
+#: nis/ypclnt.c:916
+msgid "Domain not bound"
+msgstr "Le domaine n'est pas délimité"
-#: stdio-common/../sysdeps/unix/sysv/sysv4/solaris2/sparc/errlist.c:37
-msgid "Arg list too long"
-msgstr "Liste d'arguments trop longue"
+#: nis/ypclnt.c:919
+msgid "System resource allocation failure"
+msgstr "Échec d'allocation de ressources système"
-#: stdio-common/../sysdeps/unix/sysv/sysv4/solaris2/sparc/errlist.c:39
-msgid "Bad file number"
-msgstr "Mauvais numéro de fichier"
+#: nis/ypclnt.c:922
+msgid "Unknown ypbind error"
+msgstr "Erreur inconnue de ypbind"
-#: stdio-common/../sysdeps/unix/sysv/sysv4/solaris2/sparc/errlist.c:42
-msgid "Not enough space"
-msgstr "Pas assez d'espace"
+#: nis/ypclnt.c:963
+msgid "yp_update: cannot convert host to netname\n"
+msgstr "yp_update : ne peut convertir le nom de l'hôte à un nom réseau (netname)\n"
-#: stdio-common/../sysdeps/unix/sysv/sysv4/solaris2/sparc/errlist.c:46
-msgid "Device busy"
-msgstr "Périphérique occupé"
+#: nis/ypclnt.c:981
+msgid "yp_update: cannot get server address\n"
+msgstr "yp_update : ne peut obtenir l'adresse du serveur\n"
-#: stdio-common/../sysdeps/unix/sysv/sysv4/solaris2/sparc/errlist.c:48
-msgid "Cross-device link"
-msgstr "Lien croisé de périphéque"
+#: nscd/aicache.c:77 nscd/hstcache.c:468
+#, c-format
+msgid "Haven't found \"%s\" in hosts cache!"
+msgstr "N'a pas trouvé « %s » dans la cache de la liste des hôtes!"
-#: stdio-common/../sysdeps/unix/sysv/sysv4/solaris2/sparc/errlist.c:53
-msgid "File table overflow"
-msgstr "Débordement de la table de fichiers"
+#: nscd/aicache.c:79 nscd/hstcache.c:470
+#, c-format
+msgid "Reloading \"%s\" in hosts cache!"
+msgstr "Recharge \"%s\" dans le cache hôte!"
-#: stdio-common/../sysdeps/unix/sysv/sysv4/solaris2/sparc/errlist.c:63
-msgid "Argument out of domain"
-msgstr "L'argument est hors du domaine."
+#: nscd/cache.c:146
+#, c-format
+msgid "add new entry \"%s\" of type %s for %s to cache%s"
+msgstr "ajoute une nouvelle entrée \"%s\" de type %s pour %s au cache%s"
-#: stdio-common/../sysdeps/unix/sysv/sysv4/solaris2/sparc/errlist.c:64
-msgid "Result too large"
-msgstr "Résultat trop énorme"
+#: nscd/cache.c:148
+msgid " (first)"
+msgstr " (first)"
-#: stdio-common/../sysdeps/unix/sysv/sysv4/solaris2/sparc/errlist.c:75
-msgid "Deadlock situation detected/avoided"
-msgstr "Situation de verrou bloquant détectée/évitée"
+#: nscd/cache.c:256 nscd/connections.c:810
+#, c-format
+msgid "cannot stat() file `%s': %s"
+msgstr "Ne peut évaluer par stat() le fichier « %s » : %s"
-#: stdio-common/../sysdeps/unix/sysv/sysv4/solaris2/sparc/errlist.c:76
-msgid "No record locks available"
-msgstr "Aucun verrou disponible pour l'enregistrement"
+#: nscd/cache.c:285
+#, c-format
+msgid "pruning %s cache; time %ld"
+msgstr "écourte %s cache; time %ld"
-#: stdio-common/../sysdeps/unix/sysv/sysv4/solaris2/sparc/errlist.c:79
-msgid "Disc quota exceeded"
-msgstr "Débordement du quota d'espace disque"
+#: nscd/cache.c:312
+#, c-format
+msgid "considering %s entry \"%s\", timeout %<PRIu64>"
+msgstr "considering %s entry \"%s\", timeout %<PRIu64>"
-#: stdio-common/../sysdeps/unix/sysv/sysv4/solaris2/sparc/errlist.c:80
-msgid "Bad exchange descriptor"
-msgstr "Mauvais descripteur d'échange"
+#: nscd/connections.c:521 nscd/connections.c:533 nscd/connections.c:545
+#: nscd/connections.c:564
+#, c-format
+msgid "invalid persistent database file \"%s\": %s"
+msgstr "fichier de base de données reste invalide \"%s\" : %s"
-#: stdio-common/../sysdeps/unix/sysv/sysv4/solaris2/sparc/errlist.c:81
-msgid "Bad request descriptor"
-msgstr "Descripteur de requête invalide"
+#: nscd/connections.c:535
+msgid "header size does not match"
+msgstr "la taille de l'entête n'est pas adéquate"
-#: stdio-common/../sysdeps/unix/sysv/sysv4/solaris2/sparc/errlist.c:82
-msgid "Message tables full"
-msgstr "Table des messages pleine"
+#: nscd/connections.c:547
+msgid "file size does not match"
+msgstr "la taille du fichier n'est pas adéquate"
-#: stdio-common/../sysdeps/unix/sysv/sysv4/solaris2/sparc/errlist.c:83
-msgid "Anode table overflow"
-msgstr "Débordement de la table de noeuds A (anode)"
+#: nscd/connections.c:566
+msgid "verification failed"
+msgstr "échec de la vérification"
-#: stdio-common/../sysdeps/unix/sysv/sysv4/solaris2/sparc/errlist.c:84
-msgid "Bad request code"
-msgstr "Code de requête invalide"
+#: nscd/connections.c:580
+#, c-format
+msgid "suggested size of table for database %s larger than the persistent database's table"
+msgstr "la taille suggérée de la table pour la base de donnée %s est plus grande que la table persistante de la base de donnée"
-#: stdio-common/../sysdeps/unix/sysv/sysv4/solaris2/sparc/errlist.c:86
-msgid "File locking deadlock"
-msgstr "Verrou bloquant l'accès au fichier"
+#: nscd/connections.c:591 nscd/connections.c:673
+#, c-format
+msgid "cannot create read-only descriptor for \"%s\"; no mmap"
+msgstr "ne peut créer le descripteur read-only pour \"%s\" ; pas de mmap"
-#: stdio-common/../sysdeps/unix/sysv/sysv4/solaris2/sparc/errlist.c:88
-msgid "Error 58"
-msgstr "Erreur 58"
+#: nscd/connections.c:652
+#, c-format
+msgid "database for %s corrupted or simultaneously used; remove %s manually if necessary and restart"
+msgstr "la base de données %s est endommagée ou utilisée concurremment; supprimer %s manuellement au besoin et relancer"
-#: stdio-common/../sysdeps/unix/sysv/sysv4/solaris2/sparc/errlist.c:89
-msgid "Error 59"
-msgstr "Erreur 59"
+#: nscd/connections.c:659
+#, c-format
+msgid "cannot create %s; no persistent database used"
+msgstr "ne peut créer %s; aucune base de données persistante utilisée"
-#: stdio-common/../sysdeps/unix/sysv/sysv4/solaris2/sparc/errlist.c:90
-msgid "Not a stream device"
-msgstr "Aucun périphérique de type streams"
+#: nscd/connections.c:662
+#, c-format
+msgid "cannot create %s; no sharing possible"
+msgstr "ne peut créer %s; pas de partage possible"
-#: stdio-common/../sysdeps/unix/sysv/sysv4/solaris2/sparc/errlist.c:93
-msgid "Out of stream resources"
-msgstr "Aucune autre ressource de type streams disponible"
+#: nscd/connections.c:733
+#, c-format
+msgid "cannot write to database file %s: %s"
+msgstr "ne peut écrire dans le fichier de base de données %s : %s"
-#: stdio-common/../sysdeps/unix/sysv/sysv4/solaris2/sparc/errlist.c:102
-msgid "Error 72"
-msgstr "Erreur 72"
+#: nscd/connections.c:772
+#, c-format
+msgid "cannot set socket to close on exec: %s; disabling paranoia mode"
+msgstr "ne peut établir le socket comme étant fermé dans exec : %s; désactive le mode paranoïa"
-#: stdio-common/../sysdeps/unix/sysv/sysv4/solaris2/sparc/errlist.c:103
-msgid "Error 73"
-msgstr "Erreur 73"
+#: nscd/connections.c:823
+#, c-format
+msgid "cannot open socket: %s"
+msgstr "Ne peut ouvrir le socket : « %s »"
-#: stdio-common/../sysdeps/unix/sysv/sysv4/solaris2/sparc/errlist.c:105
-msgid "Error 75"
-msgstr "Erreur 75"
+#: nscd/connections.c:840
+#, c-format
+msgid "cannot change socket to nonblocking mode: %s"
+msgstr "ne peut établir le socket en mode nonblocking : %s"
-#: stdio-common/../sysdeps/unix/sysv/sysv4/solaris2/sparc/errlist.c:106
-msgid "Error 76"
-msgstr "Erreur 76"
+#: nscd/connections.c:848
+#, c-format
+msgid "cannot set socket to close on exec: %s"
+msgstr "ne peut établir le socket à l'état fermé dans exec : %s"
-#: stdio-common/../sysdeps/unix/sysv/sysv4/solaris2/sparc/errlist.c:107
-msgid "Not a data message"
-msgstr "N'est pas un message de données"
+#: nscd/connections.c:859
+#, c-format
+msgid "cannot enable socket to accept connections: %s"
+msgstr "Ne peut activer le socket pour accepter des connexions : %s"
-#: stdio-common/../sysdeps/unix/sysv/sysv4/solaris2/sparc/errlist.c:116
-msgid "Attempting to link in more shared libraries than system limit"
-msgstr "Tentative d'édition de liens à partir de trop de librairies partagées que la limite système"
+#: nscd/connections.c:955
+#, c-format
+msgid "provide access to FD %d, for %s"
+msgstr "fournit l'accès à FD %d, pour %s"
-#: stdio-common/../sysdeps/unix/sysv/sysv4/solaris2/sparc/errlist.c:117
-msgid "Can not exec a shared library directly"
-msgstr "Ne peut lancer un exec directement sur une librairie partagée"
+#: nscd/connections.c:967
+#, c-format
+msgid "cannot handle old request version %d; current version is %d"
+msgstr "Ne peut traiter une requête d'une vieille version %d; la version courante est %d"
-#: stdio-common/../sysdeps/unix/sysv/sysv4/solaris2/sparc/errlist.c:118
-msgid "Illegal byte sequence"
-msgstr "Séquence d'octets illégale"
+#: nscd/connections.c:1009 nscd/connections.c:1062
+#, c-format
+msgid "cannot write result: %s"
+msgstr "Ne peut écrire les résultats : « %s »"
-#: stdio-common/../sysdeps/unix/sysv/sysv4/solaris2/sparc/errlist.c:119
-msgid "Operation not applicable"
-msgstr "Opération non applicable"
+#: nscd/connections.c:1145
+#, c-format
+msgid "error getting caller's id: %s"
+msgstr "erreur lors de la récupération de l'identifiant de l'appelant : %s"
-#: stdio-common/../sysdeps/unix/sysv/sysv4/solaris2/sparc/errlist.c:120
-msgid "Number of symbolic links encountered during path name traversal exceeds MAXSYMLINKS"
-msgstr "Nombre de liens symboliques rencontrés lors du parcours d'un nom de chemin transversal excède MAXSYMLINKS"
+#: nscd/connections.c:1204
+#, c-format
+msgid "cannot open /proc/self/cmdline: %s; disabling paranoia mode"
+msgstr "ne peut ouvrir /proc/self/cmdline : %s; désactive le mode paranoïa"
-#: stdio-common/../sysdeps/unix/sysv/sysv4/solaris2/sparc/errlist.c:121
-msgid "Error 91"
-msgstr "Erreur 91"
+#: nscd/connections.c:1218
+#, c-format
+msgid "cannot read /proc/self/cmdline: %s; disabling paranoia mode"
+msgstr "ne peut lire /proc/self/cmdline : %s; désactive le mode paranoïa"
-#: stdio-common/../sysdeps/unix/sysv/sysv4/solaris2/sparc/errlist.c:122
-msgid "Error 92"
-msgstr "Erreur 92"
+#: nscd/connections.c:1258
+#, c-format
+msgid "cannot change to old UID: %s; disabling paranoia mode"
+msgstr "ne peut réétablir l'ancien UID : %s; désactive le mode paranoïa"
-#: stdio-common/../sysdeps/unix/sysv/sysv4/solaris2/sparc/errlist.c:129
-msgid "Option not supported by protocol"
-msgstr "Option non supportée par le protocole"
+#: nscd/connections.c:1268
+#, c-format
+msgid "cannot change to old GID: %s; disabling paranoia mode"
+msgstr "ne peut réétablir l'ancien GID : %s; désactive le mode paranoïa"
-#: stdio-common/../sysdeps/unix/sysv/sysv4/solaris2/sparc/errlist.c:130
-msgid "Error 100"
-msgstr "Erreur 100"
+#: nscd/connections.c:1281
+#, c-format
+msgid "cannot change to old working directory: %s; disabling paranoia mode"
+msgstr "ne peut réétablir l'ancien dossier de travail : %s; désactive le mode paranoïa"
-#: stdio-common/../sysdeps/unix/sysv/sysv4/solaris2/sparc/errlist.c:131
-msgid "Error 101"
-msgstr "Erreur 101"
+#: nscd/connections.c:1310
+#, c-format
+msgid "re-exec failed: %s; disabling paranoia mode"
+msgstr "re-exec a échoué : %s; désactive le mode paranoïa"
-#: stdio-common/../sysdeps/unix/sysv/sysv4/solaris2/sparc/errlist.c:132
-msgid "Error 102"
-msgstr "Erreur 102"
+#: nscd/connections.c:1319
+#, c-format
+msgid "cannot change current working directory to \"/\": %s"
+msgstr "ne peut établir le dossier de travail courant à \"/\" : %s"
-#: stdio-common/../sysdeps/unix/sysv/sysv4/solaris2/sparc/errlist.c:133
-msgid "Error 103"
-msgstr "Erreur 103"
+#: nscd/connections.c:1437
+#, c-format
+msgid "short read while reading request: %s"
+msgstr "Lecture écourtée lors de la lecture de la requête : « %s »"
-#: stdio-common/../sysdeps/unix/sysv/sysv4/solaris2/sparc/errlist.c:134
-msgid "Error 104"
-msgstr "Erreur 104"
+#: nscd/connections.c:1468
+#, c-format
+msgid "key length in request too long: %d"
+msgstr "La longueur de la clé de la requête est trop longue : %d"
-#: stdio-common/../sysdeps/unix/sysv/sysv4/solaris2/sparc/errlist.c:135
-msgid "Error 105"
-msgstr "Erreur 105"
+#: nscd/connections.c:1481
+#, c-format
+msgid "short read while reading request key: %s"
+msgstr "Lecture écourtée lors de la lecture de la clé de requête : %s"
-#: stdio-common/../sysdeps/unix/sysv/sysv4/solaris2/sparc/errlist.c:136
-msgid "Error 106"
-msgstr "Erreur 106"
+#: nscd/connections.c:1490
+#, c-format
+msgid "handle_request: request received (Version = %d) from PID %ld"
+msgstr "handle_request : requête reçue (Version = %d) à partir du PID %ld"
-#: stdio-common/../sysdeps/unix/sysv/sysv4/solaris2/sparc/errlist.c:137
-msgid "Error 107"
-msgstr "Erreur 107"
+#: nscd/connections.c:1495
+#, c-format
+msgid "handle_request: request received (Version = %d)"
+msgstr "handle_request : requête reçue (Version = %d)"
-#: stdio-common/../sysdeps/unix/sysv/sysv4/solaris2/sparc/errlist.c:138
-msgid "Error 108"
-msgstr "Erreur 108"
+#: nscd/connections.c:1856
+#, c-format
+msgid "could only start %d threads; terminating"
+msgstr "n'a pu démarrer que %d fils(threads) ; en train de s'achever"
-#: stdio-common/../sysdeps/unix/sysv/sysv4/solaris2/sparc/errlist.c:139
-msgid "Error 109"
-msgstr "Erreur 109"
+#: nscd/connections.c:1904 nscd/connections.c:1905 nscd/connections.c:1922
+#: nscd/connections.c:1931 nscd/connections.c:1949 nscd/connections.c:1960
+#: nscd/connections.c:1971
+#, c-format
+msgid "Failed to run nscd as user '%s'"
+msgstr "Échec d'exécution de nscd en tant qu'usager « %s »"
-#: stdio-common/../sysdeps/unix/sysv/sysv4/solaris2/sparc/errlist.c:140
-msgid "Error 110"
-msgstr "Erreur 110"
+#: nscd/connections.c:1923
+#, c-format
+msgid "initial getgrouplist failed"
+msgstr "échec du getgrouplist initial"
-#: stdio-common/../sysdeps/unix/sysv/sysv4/solaris2/sparc/errlist.c:141
-msgid "Error 111"
-msgstr "Erreur 111"
+#: nscd/connections.c:1932
+#, c-format
+msgid "getgrouplist failed"
+msgstr "échec de getgrouplist"
-#: stdio-common/../sysdeps/unix/sysv/sysv4/solaris2/sparc/errlist.c:142
-msgid "Error 112"
-msgstr "Erreur 112"
+#: nscd/connections.c:1950
+#, c-format
+msgid "setgroups failed"
+msgstr "échec de setgroups"
-#: stdio-common/../sysdeps/unix/sysv/sysv4/solaris2/sparc/errlist.c:143
-msgid "Error 113"
-msgstr "Erreur 113"
+#: nscd/grpcache.c:402 nscd/hstcache.c:418 nscd/initgrcache.c:412
+#: nscd/pwdcache.c:397 nscd/servicescache.c:343
+#, c-format
+msgid "short write in %s: %s"
+msgstr "Écriture écourtée dans %s : %s"
-#: stdio-common/../sysdeps/unix/sysv/sysv4/solaris2/sparc/errlist.c:144
-msgid "Error 114"
-msgstr "Erreur 114"
+#: nscd/grpcache.c:445 nscd/initgrcache.c:78
+#, c-format
+msgid "Haven't found \"%s\" in group cache!"
+msgstr "N'a pas trouvé « %s » dans la cache du groupe!"
-#: stdio-common/../sysdeps/unix/sysv/sysv4/solaris2/sparc/errlist.c:145
-msgid "Error 115"
-msgstr "Erreur 115"
+#: nscd/grpcache.c:447 nscd/initgrcache.c:80
+#, c-format
+msgid "Reloading \"%s\" in group cache!"
+msgstr "Recharge \"%s\" dans le cache groupe!"
-#: stdio-common/../sysdeps/unix/sysv/sysv4/solaris2/sparc/errlist.c:146
-msgid "Error 116"
-msgstr "Erreur 116"
+#: nscd/grpcache.c:524
+#, c-format
+msgid "Invalid numeric gid \"%s\"!"
+msgstr "gid numérique invalide « %s » !"
-#: stdio-common/../sysdeps/unix/sysv/sysv4/solaris2/sparc/errlist.c:147
-msgid "Error 117"
-msgstr "Erreur 117"
+#: nscd/mem.c:383
+#, c-format
+msgid "freed %zu bytes in %s cache"
+msgstr "libéré %zu octets dans le cache %s"
-#: stdio-common/../sysdeps/unix/sysv/sysv4/solaris2/sparc/errlist.c:148
-msgid "Error 118"
-msgstr "Erreur 118"
+#: nscd/mem.c:512
+#, c-format
+msgid "no more memory for database '%s'"
+msgstr "plus de mémoire disponible pour la base de données '%s'"
-#: stdio-common/../sysdeps/unix/sysv/sysv4/solaris2/sparc/errlist.c:149
-msgid "Error 119"
-msgstr "Erreur 119"
+#: nscd/nscd.c:98
+msgid "Read configuration data from NAME"
+msgstr "Lire les données de configuration du NOM"
-#: stdio-common/../sysdeps/unix/sysv/sysv4/solaris2/sparc/errlist.c:152
-msgid "Operation not supported on transport endpoint"
-msgstr "Opération non supportée pour le transport au point de destination"
+#: nscd/nscd.c:100
+msgid "Do not fork and display messages on the current tty"
+msgstr "Ne pas cloner le processus par fork() et ne pas afficher de message sur le tty courant"
-#: stdio-common/../sysdeps/unix/sysv/sysv4/solaris2/sparc/errlist.c:154
-msgid "Address family not supported by protocol family"
-msgstr "Famille d'adresses non supportée par la famille de protocoles"
+#: nscd/nscd.c:101
+msgid "NUMBER"
+msgstr "NUMÉRO"
-#: stdio-common/../sysdeps/unix/sysv/sysv4/solaris2/sparc/errlist.c:159
-msgid "Network dropped connection because of reset"
-msgstr "Le réseau a rompu la connexion en raison d'une réinitialisation."
+#: nscd/nscd.c:101
+msgid "Start NUMBER threads"
+msgstr "Démarrage du NOMBRE de « threads »"
-#: stdio-common/../sysdeps/unix/sysv/sysv4/solaris2/sparc/errlist.c:166
-msgid "Error 136"
-msgstr "Erreur 136"
+#: nscd/nscd.c:102
+msgid "Shut the server down"
+msgstr "Arrêter le serveur"
-#: stdio-common/../sysdeps/unix/sysv/sysv4/solaris2/sparc/errlist.c:167
-msgid "Not a name file"
-msgstr "N'est un fichier nommé (named)"
+#: nscd/nscd.c:103
+msgid "Print current configuration statistic"
+msgstr "Afficher les statistiques de la configuration courante"
-#: stdio-common/../sysdeps/unix/sysv/sysv4/solaris2/sparc/errlist.c:168
-msgid "Not available"
-msgstr "N'est pas disponible"
+#: nscd/nscd.c:104
+msgid "TABLE"
+msgstr "TABLE"
-#: stdio-common/../sysdeps/unix/sysv/sysv4/solaris2/sparc/errlist.c:169
-msgid "Is a name file"
-msgstr "est un fichier nommé (named)"
+#: nscd/nscd.c:105
+msgid "Invalidate the specified cache"
+msgstr "Invalide la cache spécifiée"
-#: stdio-common/../sysdeps/unix/sysv/sysv4/solaris2/sparc/errlist.c:171
-msgid "Reserved for future use"
-msgstr "Réservé pour un usage futur"
+#: nscd/nscd.c:106
+msgid "TABLE,yes"
+msgstr "TABLE,oui"
-#: stdio-common/../sysdeps/unix/sysv/sysv4/solaris2/sparc/errlist.c:172
-msgid "Error 142"
-msgstr "Erreur 142"
+#: nscd/nscd.c:107
+msgid "Use separate cache for each user"
+msgstr "Utiliser une cache séparée pour chaque usager"
-#: stdio-common/../sysdeps/unix/sysv/sysv4/solaris2/sparc/errlist.c:173
-msgid "Cannot send after socket shutdown"
-msgstr "Ne peut transmettre après la fermeture du socket"
+#: nscd/nscd.c:112
+msgid "Name Service Cache Daemon."
+msgstr "« Daemon » de la cache du service de noms."
-#: stdio-common/psignal.c:63
+#: nscd/nscd.c:144 nss/getent.c:858 nss/makedb.c:123
#, c-format
-msgid "%s%sUnknown signal %d\n"
-msgstr "%s%ssignal inconnu %d.\n"
-
-#: dlfcn/dlinfo.c:51
-msgid "RTLD_SELF used in code not dynamically loaded"
-msgstr "RTLD_SELF utilisé dans le code n'est pas chargé dynamiquement"
-
-#: dlfcn/dlinfo.c:61
-msgid "unsupported dlinfo request"
-msgstr "requête dlinfo non supportée"
-
-#: malloc/mcheck.c:346
-msgid "memory is consistent, library is buggy\n"
-msgstr "La mémoire est consistente, la librairie est fautive.\n"
-
-#: malloc/mcheck.c:349
-msgid "memory clobbered before allocated block\n"
-msgstr "Mémoire écrasée avant le bloc alloué\n"
-
-#: malloc/mcheck.c:352
-msgid "memory clobbered past end of allocated block\n"
-msgstr "Mémoire écrasée après la fin du bloc alloué\n"
-
-#: malloc/mcheck.c:355
-msgid "block freed twice\n"
-msgstr "Bloc libéré deux fois\n"
-
-#: malloc/mcheck.c:358
-msgid "bogus mcheck_status, library is buggy\n"
-msgstr "Statut de « mcheck_status » erroné, la librarie est erronée.\n"
-
-#: malloc/memusagestat.c:53
-msgid "Name output file"
-msgstr "Nommer le fichier de sortie"
-
-#: malloc/memusagestat.c:54
-msgid "Title string used in output graphic"
-msgstr "Chaîne de titre utilisé dans le graphique de sortie"
-
-#: malloc/memusagestat.c:55
-msgid "Generate output linear to time (default is linear to number of function calls)"
-msgstr "Génération de sortie linéaire au temps (par défaut linéaire au nombre d'appels de fonction)"
-
-#: malloc/memusagestat.c:57
-msgid "Also draw graph for total memory consumption"
-msgstr "Afficher aussi le graphe de l'utilisation totale de la mémoire"
+msgid "wrong number of arguments"
+msgstr "Mauvais nombre d'arguments"
-#: malloc/memusagestat.c:58
-msgid "make output graphic VALUE pixel wide"
-msgstr "Générer un graphique de sortie ayant pour la largeur des pixels la VALEUR"
+#: nscd/nscd.c:154
+#, c-format
+msgid "failure while reading configuration file; this is fatal"
+msgstr "ne peut lire le fichier de configuration; cela est fatal"
-#: malloc/memusagestat.c:59
-msgid "make output graphic VALUE pixel high"
-msgstr "Générer un graphique de sortie ayant pour les pixels de haute intensité la VALEUR"
+#: nscd/nscd.c:163
+#, c-format
+msgid "already running"
+msgstr "déjà en exécution"
-#: malloc/memusagestat.c:64
-msgid "Generate graphic from memory profiling data"
-msgstr "Génération du graphique des données de profilage de la mémoire"
+#: nscd/nscd.c:178 nscd/nscd.c:233
+#, c-format
+msgid "cannot fork"
+msgstr "ne peut fourcher"
-#: malloc/memusagestat.c:67
-msgid "DATAFILE [OUTFILE]"
-msgstr "DATAFILE [FICHIER_DE_SORTIE]"
+#: nscd/nscd.c:241
+#, c-format
+msgid "cannot change current working directory to \"/\""
+msgstr "ne peut établir le dossier de travail courant à \"/\""
-#: string/strerror.c:43 posix/../sysdeps/posix/gai_strerror.c:57
-msgid "Unknown error"
-msgstr "Erreur inconnue"
+#: nscd/nscd.c:249
+msgid "Could not create log file"
+msgstr "N'a pu créé le fichier journal"
-#: string/strsignal.c:69
+#: nscd/nscd.c:302 nscd/nscd.c:327 nscd/nscd_stat.c:172
#, c-format
-msgid "Real-time signal %d"
-msgstr "Signal de Temps-Réel %d"
+msgid "Only root is allowed to use this option!"
+msgstr "Seul ROOT est autorisé à utiliser cette option!"
-#: string/strsignal.c:73
+#: nscd/nscd.c:364 nscd/nscd_stat.c:191
#, c-format
-msgid "Unknown signal %d"
-msgstr "Signal inconnu %d"
+msgid "write incomplete"
+msgstr "écriture incomplète"
-#: timezone/zdump.c:176
+#: nscd/nscd.c:375
#, c-format
-msgid "%s: usage is %s [ --version ] [ -v ] [ -c cutoff ] zonename ...\n"
-msgstr "%s: usage est %s [ --version ] [ -v ] [ -c seuil ] nom_du_fuseau_horaire ...\n"
-
-#: timezone/zdump.c:269
-msgid "Error writing to standard output"
-msgstr "ERREUR d'écriture sur la sortie standard"
+msgid "cannot read invalidate ACK"
+msgstr "ne peut lire les ACK invalidés"
-#: timezone/zic.c:361
+#: nscd/nscd.c:381
#, c-format
-msgid "%s: Memory exhausted: %s\n"
-msgstr "%s: mémoire épuisée: %s\n"
+msgid "invalidation failed"
+msgstr "l'invalidation a échoué"
-#: timezone/zic.c:386 misc/error.c:129 misc/error.c:157
-msgid "Unknown system error"
-msgstr "Erreur système inconnue"
-
-#: timezone/zic.c:420
+#: nscd/nscd.c:391
#, c-format
-msgid "\"%s\", line %d: %s"
-msgstr "« %s », ligne %d: %s"
+msgid "secure services not implemented anymore"
+msgstr "les services de sécurité ne sont plus implémentés"
-#: timezone/zic.c:423
+#: nscd/nscd_conf.c:57
#, c-format
-msgid " (rule from \"%s\", line %d)"
-msgstr " (règles de « %s », ligne %d)"
-
-#: timezone/zic.c:435
-msgid "warning: "
-msgstr "AVERTISSEMENT: "
+msgid "database %s is not supported"
+msgstr "la base de données « %s » n'est pas supportée"
-#: timezone/zic.c:445
+#: nscd/nscd_conf.c:108
#, c-format
-msgid ""
-"%s: usage is %s [ --version ] [ -s ] [ -v ] [ -l localtime ] [ -p posixrules ] \\\n"
-"\t[ -d directory ] [ -L leapseconds ] [ -y yearistype ] [ filename ... ]\n"
-msgstr ""
-"%s: usage est %s [ --version ] [ -s ] [ -v ] [ -l temps_local ] [ -p règles_posix ] \\\n"
-"\t[ -d répertoire ] [ -L secondes_écoulées ] [ -y type_année ] [ fichier ... ]\n"
+msgid "Parse error: %s"
+msgstr "Erreur d'analyse syntaxique : %s"
-#: timezone/zic.c:492
+#: nscd/nscd_conf.c:193
#, c-format
-msgid "%s: More than one -d option specified\n"
-msgstr "%s: option -d spécifiée plus d'une fois\n"
+msgid "Must specify user name for server-user option"
+msgstr "Obligation de spécifier le nom de l'usager pour l'option serveur-usager"
-#: timezone/zic.c:502
+#: nscd/nscd_conf.c:200
#, c-format
-msgid "%s: More than one -l option specified\n"
-msgstr "%s: option -l spécifiée plus d'une fois\n"
+msgid "Must specify user name for stat-user option"
+msgstr "Obligation de spécifier le nom de l'usager pour l'option stat-user"
-#: timezone/zic.c:512
+#: nscd/nscd_conf.c:244
#, c-format
-msgid "%s: More than one -p option specified\n"
-msgstr "%s: option -p spécifiée plus d'une fois\n"
+msgid "invalid value for 'reload-count': %u"
+msgstr "valeur invalide pour 'reload-count' : %u"
-#: timezone/zic.c:522
+#: nscd/nscd_conf.c:259
#, c-format
-msgid "%s: More than one -y option specified\n"
-msgstr "%s: option -y spécifiée plus d'une fois\n"
+msgid "Must specify value for restart-interval option"
+msgstr "Obligation de spécifier une valeur pour l'option restart-interval (intervalle de redémarrage)"
-#: timezone/zic.c:532
+#: nscd/nscd_conf.c:273
#, c-format
-msgid "%s: More than one -L option specified\n"
-msgstr "%s: option -L spécifiée plus d'une fois\n"
+msgid "Unknown option: %s %s %s"
+msgstr "Option inconnue : %s %s %s"
-#: timezone/zic.c:639
+#: nscd/nscd_conf.c:286
#, c-format
-msgid "%s: Can't unlink %s: %s\n"
-msgstr "%s: ne peut enlever le lien (unlink) %s: %s\n"
+msgid "cannot get current working directory: %s; disabling paranoia mode"
+msgstr "ne peut obtenir le dossier de travail courant : %s; désactive le mode paranoïa"
-#: timezone/zic.c:646
-msgid "hard link failed, symbolic link used"
-msgstr "Échec de création du lien direct, création d'un lien symbolique"
+#: nscd/nscd_conf.c:306
+#, c-format
+msgid "maximum file size for %s database too small"
+msgstr "la taille maximale de fichier pour la base de données %s est trop petite"
-#: timezone/zic.c:654
+#: nscd/nscd_stat.c:141
#, c-format
-msgid "%s: Can't link from %s to %s: %s\n"
-msgstr "%s: ne peut établir un lien entre %s et %s: %s\n"
+msgid "cannot write statistics: %s"
+msgstr "Ne peut écrire les statistiques : « %s »"
-#: timezone/zic.c:752 timezone/zic.c:754
-msgid "same rule name in multiple files"
-msgstr "Même nom de règle dans plusieurs fichiers"
+#: nscd/nscd_stat.c:156
+msgid "yes"
+msgstr "oui"
-#: timezone/zic.c:795
-msgid "unruly zone"
-msgstr "Zone sans règle"
+#: nscd/nscd_stat.c:157
+msgid "no"
+msgstr "non"
-#: timezone/zic.c:802
+#: nscd/nscd_stat.c:168
#, c-format
-msgid "%s in ruleless zone"
-msgstr "%s est dans une zone sans règle"
-
-#: timezone/zic.c:823
-msgid "standard input"
-msgstr "entrée standard"
+msgid "Only root or %s is allowed to use this option!"
+msgstr "Seul ROOT ou %s est autorisé à utiliser cette option!"
-#: timezone/zic.c:828
+#: nscd/nscd_stat.c:179
#, c-format
-msgid "%s: Can't open %s: %s\n"
-msgstr "%s: ne peut ouvrir %s: %s\n"
-
-#: timezone/zic.c:839
-msgid "line too long"
-msgstr "Ligne trop longue"
+msgid "nscd not running!\n"
+msgstr "nscd n'est pas en exécution!\n"
-#: timezone/zic.c:859
-msgid "input line of unknown type"
-msgstr "Ligne d'entrée de type inconnu"
+#: nscd/nscd_stat.c:203
+#, c-format
+msgid "cannot read statistics data"
+msgstr "Ne peut lire les données de statistiques"
-#: timezone/zic.c:875
+#: nscd/nscd_stat.c:206
#, c-format
-msgid "%s: Leap line in non leap seconds file %s\n"
+msgid ""
+"nscd configuration:\n"
+"\n"
+"%15d server debug level\n"
msgstr ""
-"%s: ligne de type « Leap » dans un fichier qui n'a pas\n"
-"de délai en secondes %s\n"
+"Configuration nscd :\n"
+"\n"
+"%15d niveau serveur de déboggage\n"
-#: timezone/zic.c:882 timezone/zic.c:1297 timezone/zic.c:1322
+#: nscd/nscd_stat.c:230
#, c-format
-msgid "%s: panic: Invalid l_value %d\n"
-msgstr "%s: panique: valeur %d de type « l_value » invalide\n"
+msgid "%3ud %2uh %2um %2lus server runtime\n"
+msgstr "%3ud %2uh %2um %2lus temps d'exécution du serveur\n"
-#: timezone/zic.c:890
+#: nscd/nscd_stat.c:233
#, c-format
-msgid "%s: Error reading %s\n"
-msgstr "%s: erreur de lecture de %s\n"
+msgid " %2uh %2um %2lus server runtime\n"
+msgstr " %2uh %2um %2lus temps d'exécution du serveur\n"
-#: timezone/zic.c:897
+#: nscd/nscd_stat.c:235
#, c-format
-msgid "%s: Error closing %s: %s\n"
-msgstr "%s: erreur lors de la fermeture de %s: %s\n"
-
-#: timezone/zic.c:902
-msgid "expected continuation line not found"
-msgstr "ligne de continuation attendue, non repérée"
-
-#: timezone/zic.c:958
-msgid "wrong number of fields on Rule line"
-msgstr "Mauvais nombre de champs sur la ligne de type « Rule »"
-
-#: timezone/zic.c:962
-msgid "nameless rule"
-msgstr "Règle sans nom"
-
-#: timezone/zic.c:967
-msgid "invalid saved time"
-msgstr "Temps sauvegardé invalide"
-
-#: timezone/zic.c:986
-msgid "wrong number of fields on Zone line"
-msgstr "Mauvais nombre de champs sur la ligne de type « Zone »"
+msgid " %2um %2lus server runtime\n"
+msgstr " %2um %2lus temps d'exécution du serveur\n"
-#: timezone/zic.c:992
+#: nscd/nscd_stat.c:237
#, c-format
-msgid "\"Zone %s\" line and -l option are mutually exclusive"
-msgstr "La ligne \"Zone %s\" et l'option -l sont mutuellement exclusifs."
+msgid " %2lus server runtime\n"
+msgstr " %2lus temps d'exécution du serveur\n"
-#: timezone/zic.c:1000
+#: nscd/nscd_stat.c:239
#, c-format
-msgid "\"Zone %s\" line and -p option are mutually exclusive"
-msgstr "La ligne \"Zone %s\" et l'option -p sont mutuellement exclusifs."
+msgid ""
+"%15d current number of threads\n"
+"%15d maximum number of threads\n"
+"%15lu number of times clients had to wait\n"
+"%15s paranoia mode enabled\n"
+"%15lu restart internal\n"
+msgstr ""
+"%15d nombre actuel de fils (threads)\n"
+"%15d nombre maximum de fils (threads)\n"
+"%15lu nombre de fois les clients ont eu à attendre\n"
+"%15s mode paranoïa activé\n"
+"%15lu redémarrage interne\n"
-#: timezone/zic.c:1012
+#: nscd/nscd_stat.c:273
#, c-format
-msgid "duplicate zone name %s (file \"%s\", line %d)"
-msgstr "Double noms de zone %s (fichier « %s », ligne %d)"
-
-#: timezone/zic.c:1028
-msgid "wrong number of fields on Zone continuation line"
-msgstr "Mauvais nombre de champs sur la ligne de type continuation de « Zone »"
-
-#: timezone/zic.c:1068
-msgid "invalid UTC offset"
-msgstr "Adressage relatif GMT invalide"
-
-#: timezone/zic.c:1071
-msgid "invalid abbreviation format"
-msgstr "Format d'abréviation invalide"
-
-#: timezone/zic.c:1097
-msgid "Zone continuation line end time is not after end time of previous line"
+msgid ""
+"\n"
+"%s cache:\n"
+"\n"
+"%15s cache is enabled\n"
+"%15s cache is persistent\n"
+"%15s cache is shared\n"
+"%15zu suggested size\n"
+"%15zu total data pool size\n"
+"%15zu used data pool size\n"
+"%15lu seconds time to live for positive entries\n"
+"%15lu seconds time to live for negative entries\n"
+"%15<PRIuMAX> cache hits on positive entries\n"
+"%15<PRIuMAX> cache hits on negative entries\n"
+"%15<PRIuMAX> cache misses on positive entries\n"
+"%15<PRIuMAX> cache misses on negative entries\n"
+"%15lu%% cache hit rate\n"
+"%15zu current number of cached values\n"
+"%15zu maximum number of cached values\n"
+"%15zu maximum chain length searched\n"
+"%15<PRIuMAX> number of delays on rdlock\n"
+"%15<PRIuMAX> number of delays on wrlock\n"
+"%15<PRIuMAX> memory allocations failed\n"
+"%15s check /etc/%s for changes\n"
msgstr ""
-"Temps final de la ligne de continuation du fuseau horaire est antérieur\n"
-"au temps final de la ligne précédente."
-
-#: timezone/zic.c:1124
-msgid "wrong number of fields on Leap line"
-msgstr "Mauvais nombre de champs sur la ligne de type « Leap »"
-
-#: timezone/zic.c:1133
-msgid "invalid leaping year"
-msgstr "Année bissextile invalide"
-
-#: timezone/zic.c:1148 timezone/zic.c:1252
-msgid "invalid month name"
-msgstr "Nom de mois invalide"
-
-#: timezone/zic.c:1161 timezone/zic.c:1374 timezone/zic.c:1388
-msgid "invalid day of month"
-msgstr "Jour du mois invalide"
-
-# time/zic.c:1120A
-#: timezone/zic.c:1166
-msgid "time before zero"
-msgstr "Temps défini avant le zéro"
-
-#: timezone/zic.c:1170
-msgid "time too small"
-msgstr "valeur de temps trop petite"
-
-#: timezone/zic.c:1174
-msgid "time too large"
-msgstr "valeur de temps trop grande"
-
-#: timezone/zic.c:1178 timezone/zic.c:1281
-msgid "invalid time of day"
-msgstr "Heure du jour invalide"
-
-#: timezone/zic.c:1197
-msgid "illegal CORRECTION field on Leap line"
-msgstr "CORRECTION illégale du champ dans la ligne de type « Leap »"
-
-#: timezone/zic.c:1201
-msgid "illegal Rolling/Stationary field on Leap line"
-msgstr "Champ « Rolling/Stationary » illégal sur la ligne de type « Leap »"
-
-#: timezone/zic.c:1216
-msgid "wrong number of fields on Link line"
-msgstr "Mauvais nombre de champs sur la ligne de type « Link »"
+"\n"
+"%s mémoire cache :\n"
+"\n"
+"%15s mémoire cache est activée\n"
+"%15s''mémoire cache persistante\n"
+"%15s''la mémoire cache est partagée\n"
+"%15zu taille suggérée\n"
+"%15zu taille totale du pool de données\n"
+"%15zu taille du pool de données utilisé\n"
+"%15lu durée de vie en secondes pour les entrées positives\n"
+"%15lu durée de vie en secondes pour les entrées négatives\n"
+"%15<PRIuMAX> repérages réussis dans le cache pour les entrées positives\n"
+"\n"
+"%15<PRIuMAX> repérages réussis dans le cache pour les entrées négatives\n"
+"%15<PRIuMAX> échecs de repérage dans le cache pour les entrées positives\n"
+"%15<PRIuMAX> échecs de repérage dans le cache pour les entrées négatives\n"
+"%15lu%% taux de succès de repérage dans le cache\n"
+"%15zu nombre courant de valeurs dans le cache\n"
+"%15zu nombre maximum de valeurs dans le cache\n"
+"%15zu longueur maximale des chaînes recherchées\n"
+"%15<PRIuMAX> nombre de délais pour rdlock\n"
+"%15<PRIuMAX> nombre de délais pour wrlock\n"
+"%15<PRIuMAX> allocation de mémoire à échouée\n"
+"%15s vérifier /etc/%s pour les changements\n"
+
+#: nscd/pwdcache.c:440
+#, c-format
+msgid "Haven't found \"%s\" in password cache!"
+msgstr "N'a pas trouvé \"%s\" dans le cache des mots de passe!"
-#: timezone/zic.c:1220
-msgid "blank FROM field on Link line"
-msgstr "Champ « FROM » vide dans la ligne de type « Link »"
+#: nscd/pwdcache.c:442
+#, c-format
+msgid "Reloading \"%s\" in password cache!"
+msgstr "Recharge \"%s\" dans le cache des mots de passe!"
-#: timezone/zic.c:1224
-msgid "blank TO field on Link line"
-msgstr "Champ « TO » vide dans la ligne de type « Link »"
+#: nscd/pwdcache.c:520
+#, c-format
+msgid "Invalid numeric uid \"%s\"!"
+msgstr "uid numérique invalide « %s » !"
-#: timezone/zic.c:1301
-msgid "invalid starting year"
-msgstr "Année initiale invalide"
+#: nscd/selinux.c:156
+#, c-format
+msgid "Failed opening connection to the audit subsystem: %m"
+msgstr "Echec d'ouverture de la connection au sous-système d'audit : %m"
-#: timezone/zic.c:1305
-msgid "starting year too low to be represented"
-msgstr "Année de départ trop petite pour être représentée"
+#: nscd/selinux.c:177
+msgid "Failed to set keep-capabilities"
+msgstr "A échoué à établir les possibilités de garde(keep-capabilities)"
-#: timezone/zic.c:1307
-msgid "starting year too high to be represented"
-msgstr "Année de départ trop grande pour être représentée"
+#: nscd/selinux.c:178 nscd/selinux.c:241
+#, c-format
+msgid "prctl(KEEPCAPS) failed"
+msgstr "échec de prctl(KEEPCAPS)"
-#: timezone/zic.c:1326
-msgid "invalid ending year"
-msgstr "Année finale invalide"
+#: nscd/selinux.c:192
+msgid "Failed to initialize drop of capabilities"
+msgstr "A échoué à initialiser l'abandon de possibilités"
-#: timezone/zic.c:1330
-msgid "ending year too low to be represented"
-msgstr "année finale trop petite pour être représentée"
+#: nscd/selinux.c:193
+#, c-format
+msgid "cap_init failed"
+msgstr "cap_init a échoué"
-#: timezone/zic.c:1332
-msgid "ending year too high to be represented"
-msgstr "année finale trop grande pour être représentée"
+#: nscd/selinux.c:214 nscd/selinux.c:231
+msgid "Failed to drop capabilities"
+msgstr "A échoué à abandonner les possibilités"
-#: timezone/zic.c:1335
-msgid "starting year greater than ending year"
-msgstr "année initiale plus grande que l'année finale"
+#: nscd/selinux.c:215 nscd/selinux.c:232
+#, c-format
+msgid "cap_set_proc failed"
+msgstr "cap_set_proc a échoué"
-#: timezone/zic.c:1342
-msgid "typed single year"
-msgstr "une seule année fournie"
+#: nscd/selinux.c:240
+msgid "Failed to unset keep-capabilities"
+msgstr "A échoué à désactiver les possibilités de garde (keep-capabilities)"
-#: timezone/zic.c:1379
-msgid "invalid weekday name"
-msgstr "Nom du jour de semaine invalide"
+#: nscd/selinux.c:256
+msgid "Failed to determine if kernel supports SELinux"
+msgstr "A échoué à déterminer si le noyau supporte SELinux"
-#: timezone/zic.c:1494
+#: nscd/selinux.c:271
#, c-format
-msgid "%s: Can't remove %s: %s\n"
-msgstr "%s: ne peut enlever %s: %s\n"
+msgid "Failed to start AVC thread"
+msgstr "A échoué à démarrer le fil AVC (thread)"
-#: timezone/zic.c:1504
+#: nscd/selinux.c:293
#, c-format
-msgid "%s: Can't create %s: %s\n"
-msgstr "%s: ne peut créer %s: %s\n"
+msgid "Failed to create AVC lock"
+msgstr "A échoué à créer un verrou AVC"
-#: timezone/zic.c:1570
+#: nscd/selinux.c:333
#, c-format
-msgid "%s: Error writing %s\n"
-msgstr "%s: erreur d'écriture de %s\n"
-
-#: timezone/zic.c:1760
-msgid "can't determine time zone abbreviation to use just after until time"
-msgstr ""
-"Ne peut déterminer l'abréviation du fuseau horaire à utiliser\n"
-"juste après telle date"
-
-#: timezone/zic.c:1803
-msgid "too many transitions?!"
-msgstr "trop de transitions définies?!"
+msgid "Failed to start AVC"
+msgstr "A échoué à démarrer AVC"
-#: timezone/zic.c:1822
-msgid "internal error - addtype called with bad isdst"
-msgstr "Erreur interne - addtype() appellé avec un mauvais bloc de type « isdst »"
+#: nscd/selinux.c:335
+msgid "Access Vector Cache (AVC) started"
+msgstr "Access Vector Cache (AVC) démarré"
-#: timezone/zic.c:1826
-msgid "internal error - addtype called with bad ttisstd"
-msgstr "Erreur interne - addtype() appellé avec un mauvais bloc de type « ttisstd »"
+#: nscd/selinux.c:356
+msgid "Error getting context of socket peer"
+msgstr "Erreur à la récupération du contexte du pair du socket"
-#: timezone/zic.c:1830
-msgid "internal error - addtype called with bad ttisgmt"
-msgstr "Erreur interne - addtype() appellé avec un mauvais bloc de type « ttisgmt »"
+#: nscd/selinux.c:361
+msgid "Error getting context of nscd"
+msgstr "Erreur à la récupération du contexte de nscd"
-#: timezone/zic.c:1849
-msgid "too many local time types"
-msgstr "trop de types localisés pour la représentation du temps"
+#: nscd/selinux.c:367
+msgid "Error getting sid from context"
+msgstr "erreur de récupération du sid depuis le contexte"
-#: timezone/zic.c:1877
-msgid "too many leap seconds"
-msgstr "trop de délai en secondes"
-
-#: timezone/zic.c:1883
-msgid "repeated leap second moment"
-msgstr "Répétition du délai une seconde fois"
-
-#: timezone/zic.c:1935
-msgid "Wild result from command execution"
-msgstr "Résultat anarchique résultant de l'exécution de la commande"
-
-#: timezone/zic.c:1936
+#: nscd/selinux.c:399
#, c-format
-msgid "%s: command was '%s', result was %d\n"
-msgstr "%s: la commande était « %s », le résultat était %d\n"
+msgid ""
+"\n"
+"SELinux AVC Statistics:\n"
+"\n"
+"%15u entry lookups\n"
+"%15u entry hits\n"
+"%15u entry misses\n"
+"%15u entry discards\n"
+"%15u CAV lookups\n"
+"%15u CAV hits\n"
+"%15u CAV probes\n"
+"%15u CAV misses\n"
+msgstr ""
+"\n"
+"SELinux AVC Statistiques :\n"
+"\n"
+"%15u recherche d'entrées\n"
+"%15u entrées trouvées\n"
+"%15u entrées non trouvées\n"
+"%15u entrées éliminées\n"
+"%15u recherche de CAV\n"
+"%15u CAV trouvés\n"
+"%15u CAV tentés\n"
+"%15u CAV loupés\n"
-#: timezone/zic.c:2031
-msgid "Odd number of quotation marks"
-msgstr "Nombre impair de caractères apostrophe"
+#: nscd/servicescache.c:390
+#, c-format
+msgid "Haven't found \"%s\" in services cache!"
+msgstr "N'a pas trouvé \"%s\" dans le cache des services!"
-#: timezone/zic.c:2051 timezone/zic.c:2070
-msgid "time overflow"
-msgstr "Débordement du temps alloué"
+#: nscd/servicescache.c:392
+#, c-format
+msgid "Reloading \"%s\" in services cache!"
+msgstr "Recharge \"%s\" dans le cache des services!"
-#: timezone/zic.c:2117
-msgid "use of 2/29 in non leap-year"
-msgstr "Utiliser 2/29 pour les années non-bissextiles."
+#: nss/getent.c:52
+msgid "database [key ...]"
+msgstr "base de données [clé ...]"
-#: timezone/zic.c:2151
-msgid "no day in month matches rule"
-msgstr "Pas de jour dans les règles de concordance"
+#: nss/getent.c:57
+msgid "Service configuration to be used"
+msgstr "Configuration de service à utiliser"
-#: timezone/zic.c:2175
-msgid "too many, or too long, time zone abbreviations"
-msgstr "trop ou de trop longues abréviations de fuseaux horaires"
+#: nss/getent.c:62
+msgid ""
+"Get entries from administrative database.\vFor bug reporting instructions, please see:\n"
+"<http://www.gnu.org/software/libc/bugs.html>.\n"
+msgstr ""
+"Récupère les entrées depuis la base de données administrateur.\vPour les instructions de rapport de bug, SVP voir :\n"
+"<http://www.gnu.org/software/libc/bugs.html>.\n"
-#: timezone/zic.c:2216
+#: nss/getent.c:145 nss/getent.c:394
#, c-format
-msgid "%s: Can't create directory %s: %s\n"
-msgstr "%s: ne peut créer le répertoire %s: %s\n"
+msgid "Enumeration not supported on %s\n"
+msgstr "Énumération non supportée sur %s\n"
-#: timezone/zic.c:2238
+#: nss/getent.c:782
#, c-format
-msgid "%s: %d did not sign extend correctly\n"
-msgstr "%s: %d n'a pas fait correctement l'expansion de la valeur signée\n"
+msgid "Unknown database name"
+msgstr "Base de données inconnue"
-#: posix/../sysdeps/generic/wordexp.c:1797
-msgid "parameter null or not set"
-msgstr "paramètre nul ou non initialisé"
+#: nss/getent.c:808
+msgid "Supported databases:\n"
+msgstr "Base de données supportées :\n"
-#: posix/../sysdeps/posix/gai_strerror.c:31
-msgid "Address family for hostname not supported"
-msgstr "Famille d'adresses non supportée pour le nom de l'hôte"
-
-#: posix/../sysdeps/posix/gai_strerror.c:32
-msgid "Temporary failure in name resolution"
-msgstr "Échec temporaire dans la résolution du nom"
-
-#: posix/../sysdeps/posix/gai_strerror.c:33
-msgid "Bad value for ai_flags"
-msgstr "Mauvaise valeur pour l'indicateur « ai_flags »"
-
-#: posix/../sysdeps/posix/gai_strerror.c:34
-msgid "Non-recoverable failure in name resolution"
-msgstr "Échec non récupérable lors de la résolution du nom"
+#: nss/getent.c:868
+#, c-format
+msgid "Unknown database: %s\n"
+msgstr "Base de données inconnue : « %s »\n"
-#: posix/../sysdeps/posix/gai_strerror.c:35
-msgid "ai_family not supported"
-msgstr "ai_family non supportée"
+#: nss/makedb.c:60
+msgid "Convert key to lower case"
+msgstr "Conversion des caractères en minuscules"
-#: posix/../sysdeps/posix/gai_strerror.c:36
-msgid "Memory allocation failure"
-msgstr "Échec d'allocation mémoire"
+#: nss/makedb.c:63
+msgid "Do not print messages while building database"
+msgstr "Ne pas afficher de message lors de la génération de la base de données"
-#: posix/../sysdeps/posix/gai_strerror.c:37
-msgid "No address associated with hostname"
-msgstr "Aucune adresse associée avec le nom de l'hôte"
+#: nss/makedb.c:65
+msgid "Print content of database file, one entry a line"
+msgstr "Afficher le contenu du fichier de base de données, une entrée par ligne"
-#: posix/../sysdeps/posix/gai_strerror.c:38
-msgid "Name or service not known"
-msgstr "Nom ou service inconnu"
+#: nss/makedb.c:70
+msgid "Create simple DB database from textual input."
+msgstr "Créer une base de données DB simple à partir des entrées textuelles."
-#: posix/../sysdeps/posix/gai_strerror.c:39
-msgid "Servname not supported for ai_socktype"
-msgstr "Servname() n'est pas supportée pour ai_socktype"
+#: nss/makedb.c:73
+msgid ""
+"INPUT-FILE OUTPUT-FILE\n"
+"-o OUTPUT-FILE INPUT-FILE\n"
+"-u INPUT-FILE"
+msgstr ""
+"FICHIER_D_ENTRÉE FICHIER_DE_SORTIE\n"
+"-o FICHIER_DE_SORTIE FICHIER_D_ENTRÉE\n"
+"-u FICHIER_D_ENTRÉE"
-#: posix/../sysdeps/posix/gai_strerror.c:40
-msgid "ai_socktype not supported"
-msgstr "ai_socktype non supporté"
+#: nss/makedb.c:142
+#, c-format
+msgid "No usable database library found."
+msgstr "Librairie de bases de données trouvée non utilisable."
-#: posix/../sysdeps/posix/gai_strerror.c:41
-msgid "System error"
-msgstr "Erreur système"
+#: nss/makedb.c:149
+#, c-format
+msgid "cannot open database file `%s': %s"
+msgstr "Ne peut ouvrir le fichier de base de données `%s' : %s"
-#: posix/../sysdeps/posix/gai_strerror.c:42
-msgid "Processing request in progress"
-msgstr "Traitement de la requête en cours"
+#: nss/makedb.c:151
+msgid "incorrectly formatted file"
+msgstr "Fichier incorrectement formaté"
-#: posix/../sysdeps/posix/gai_strerror.c:43
-msgid "Request canceled"
-msgstr "Requête annulée"
+#: nss/makedb.c:331
+msgid "duplicate key"
+msgstr "Duplicité de clé"
-#: posix/../sysdeps/posix/gai_strerror.c:44
-msgid "Request not canceled"
-msgstr "La requête ne peut être annulée"
+#: nss/makedb.c:337
+#, c-format
+msgid "while writing database file"
+msgstr "lors de l'écriture du fichier de base de données"
-#: posix/../sysdeps/posix/gai_strerror.c:45
-msgid "All requests done"
-msgstr "Toutes les requêtes exécutées"
+#: nss/makedb.c:348
+#, c-format
+msgid "problems while reading `%s'"
+msgstr "Problème lors de la lecture de `%s'"
-#: posix/../sysdeps/posix/gai_strerror.c:46
-msgid "Interrupted by a signal"
-msgstr "Interrompu par un signal"
+#: nss/makedb.c:368 nss/makedb.c:385
+#, c-format
+msgid "while reading database"
+msgstr "lors de la lecture de la base de données"
-#: posix/getconf.c:892
+#: posix/getconf.c:945
#, c-format
msgid "Usage: %s [-v specification] variable_name [pathname]\n"
-msgstr "Usage: %s [-v spécification] nom_de_variable [chemin_d_accès]\n"
+msgstr "Usage : %s [-v spécification] nom_de_variable [chemin_d_accès]\n"
+
+#: posix/getconf.c:948
+#, c-format
+msgid " %s -a [pathname]\n"
+msgstr " %s -a [pathname]\n"
-#: posix/getconf.c:950
+#: posix/getconf.c:1067
#, c-format
msgid "unknown specification \"%s\""
-msgstr "spécification inconnu « %s »"
+msgstr "spécification inconnu « %s »"
-#: posix/getconf.c:979 posix/getconf.c:995
+#: posix/getconf.c:1095
+#, c-format
+msgid "Couldn't execute %s"
+msgstr "N'a pas pu exécuter %s"
+
+#: posix/getconf.c:1135 posix/getconf.c:1151
msgid "undefined"
-msgstr "indéfini"
+msgstr "indéfini"
-#: posix/getconf.c:1017
+#: posix/getconf.c:1173
#, c-format
msgid "Unrecognized variable `%s'"
-msgstr "Variable non reconnue « %s »"
+msgstr "Variable non reconnue « %s »"
-#: posix/getopt.c:692 posix/getopt.c:711
+#: posix/getopt.c:571 posix/getopt.c:587
#, c-format
-msgid "%s: option `%s' is ambiguous\n"
-msgstr "%s: l'option « %s » est ambiguë\n"
+msgid "%s: option '%s' is ambiguous\n"
+msgstr "%s : l'option « %s » est ambiguë\n"
-#: posix/getopt.c:744 posix/getopt.c:748
+#: posix/getopt.c:620 posix/getopt.c:624
#, c-format
-msgid "%s: option `--%s' doesn't allow an argument\n"
-msgstr "%s: l'option « --%s » ne permet pas d'argument\n"
+msgid "%s: option '--%s' doesn't allow an argument\n"
+msgstr "%s : l'option « --%s » ne permet pas d'argument\n"
-#: posix/getopt.c:757 posix/getopt.c:762
+#: posix/getopt.c:633 posix/getopt.c:638
#, c-format
-msgid "%s: option `%c%s' doesn't allow an argument\n"
-msgstr "%s: l'option « %c%s » ne permet pas d'argument.\n"
+msgid "%s: option '%c%s' doesn't allow an argument\n"
+msgstr "%s : l'option « %c%s » ne permet pas d'argument.\n"
-#: posix/getopt.c:807 posix/getopt.c:829 posix/getopt.c:1159
-#: posix/getopt.c:1181
+#: posix/getopt.c:681 posix/getopt.c:700 posix/getopt.c:1016
+#: posix/getopt.c:1035
#, c-format
-msgid "%s: option `%s' requires an argument\n"
-msgstr "%s: l'option « %s » requiert un argument\n"
+msgid "%s: option '%s' requires an argument\n"
+msgstr "%s : l'option « %s » requiert un argument\n"
-#: posix/getopt.c:867 posix/getopt.c:870
+#: posix/getopt.c:738 posix/getopt.c:741
#, c-format
-msgid "%s: unrecognized option `--%s'\n"
-msgstr "%s: option non reconnue « --%s »\n"
+msgid "%s: unrecognized option '--%s'\n"
+msgstr "%s : option non reconnue « --%s »\n"
-#: posix/getopt.c:878 posix/getopt.c:881
+#: posix/getopt.c:749 posix/getopt.c:752
#, c-format
-msgid "%s: unrecognized option `%c%s'\n"
-msgstr "%s: option non reconnue « %c%s »\n"
+msgid "%s: unrecognized option '%c%s'\n"
+msgstr "%s : option non reconnue « %c%s »\n"
-#: posix/getopt.c:936 posix/getopt.c:939
+#: posix/getopt.c:804 posix/getopt.c:807
#, c-format
-msgid "%s: illegal option -- %c\n"
-msgstr "%s: option illégale -- %c\n"
+msgid "%s: illegal option -- '%c'\n"
+msgstr "%s : option non permise -- %c\n"
-#: posix/getopt.c:945 posix/getopt.c:948
+#: posix/getopt.c:813 posix/getopt.c:816
#, c-format
-msgid "%s: invalid option -- %c\n"
-msgstr "%s: option invalide -- %c\n"
+msgid "%s: invalid option -- '%c'\n"
+msgstr "%s : option invalide -- %c\n"
-#: posix/getopt.c:1003 posix/getopt.c:1022 posix/getopt.c:1234
-#: posix/getopt.c:1255
+#: posix/getopt.c:868 posix/getopt.c:884 posix/getopt.c:1088
+#: posix/getopt.c:1106
#, c-format
-msgid "%s: option requires an argument -- %c\n"
-msgstr "%s: l'option requiert un argument -- %c\n"
+msgid "%s: option requires an argument -- '%c'\n"
+msgstr "%s : l'option requiert un argument -- %c\n"
-#: posix/getopt.c:1074 posix/getopt.c:1093
+#: posix/getopt.c:937 posix/getopt.c:953
#, c-format
-msgid "%s: option `-W %s' is ambiguous\n"
-msgstr "%s: l'option « -W %s » est ambiguë\n"
+msgid "%s: option '-W %s' is ambiguous\n"
+msgstr "%s : l'option « -W %s » est ambiguë\n"
-#: posix/getopt.c:1117 posix/getopt.c:1138
+#: posix/getopt.c:977 posix/getopt.c:995
#, c-format
-msgid "%s: option `-W %s' doesn't allow an argument\n"
-msgstr "%s: l'option « -W %s » ne permet pas d'argument\n"
+msgid "%s: option '-W %s' doesn't allow an argument\n"
+msgstr "%s : l'option « -W %s » ne permet pas d'argument\n"
-#: posix/regcomp.c:150
+#: posix/regcomp.c:135
msgid "No match"
msgstr "Pas de concordance"
-#: posix/regcomp.c:153
+#: posix/regcomp.c:138
msgid "Invalid regular expression"
-msgstr "Expression régulière invalide"
+msgstr "Expression régulière invalide"
-#: posix/regcomp.c:156
+#: posix/regcomp.c:141
msgid "Invalid collation character"
-msgstr "Caractère de fusionnement invalide"
+msgstr "Caractère de fusionnement invalide"
-#: posix/regcomp.c:159
+#: posix/regcomp.c:144
msgid "Invalid character class name"
-msgstr "Nom de classe de caractères invalide"
+msgstr "Nom de classe de caractères invalide"
-#: posix/regcomp.c:162
+#: posix/regcomp.c:147
msgid "Trailing backslash"
msgstr "Barre oblique inverse en suffixe"
-#: posix/regcomp.c:165
+#: posix/regcomp.c:150
msgid "Invalid back reference"
-msgstr "Référence arrière invalide"
+msgstr "Référence arrière invalide"
-#: posix/regcomp.c:168
+#: posix/regcomp.c:153
msgid "Unmatched [ or [^"
-msgstr "Échec du pairage de [ ou de [^"
+msgstr "Échec du pairage de [ ou de [^"
-#: posix/regcomp.c:171
+#: posix/regcomp.c:156
msgid "Unmatched ( or \\("
-msgstr "Échec du pairage de ( ou de \\("
+msgstr "Échec du pairage de ( ou de \\("
-#: posix/regcomp.c:174
+#: posix/regcomp.c:159
msgid "Unmatched \\{"
-msgstr "Échec du pairage de \\{"
+msgstr "Échec du pairage de \\{"
-#: posix/regcomp.c:177
+#: posix/regcomp.c:162
msgid "Invalid content of \\{\\}"
msgstr "Contenu invalide de \\{\\}"
-#: posix/regcomp.c:180
+#: posix/regcomp.c:165
msgid "Invalid range end"
msgstr "Fin d'intervalle invalide"
-#: posix/regcomp.c:183
+#: posix/regcomp.c:168
msgid "Memory exhausted"
-msgstr "Mémoire épuisée"
+msgstr "Mémoire épuisée"
-#: posix/regcomp.c:186
+#: posix/regcomp.c:171
msgid "Invalid preceding regular expression"
-msgstr "Expression régulière précédente invalide"
+msgstr "Expression régulière précédente invalide"
-#: posix/regcomp.c:189
+#: posix/regcomp.c:174
msgid "Premature end of regular expression"
-msgstr "Fin prématurée de l'expression régulière"
+msgstr "Fin prématurée de l'expression régulière"
-#: posix/regcomp.c:192
+#: posix/regcomp.c:177
msgid "Regular expression too big"
-msgstr "Expression régulière trop grosse"
+msgstr "Expression régulière trop grosse"
-#: posix/regcomp.c:195
+#: posix/regcomp.c:180
msgid "Unmatched ) or \\)"
-msgstr "Échec du pairage de ) ou de \\)"
+msgstr "Échec du pairage de ) ou de \\)"
-#: posix/regcomp.c:661
+#: posix/regcomp.c:660
msgid "No previous regular expression"
-msgstr "Aucune expression régulière précédente"
-
-#: argp/argp-help.c:224
-#, c-format
-msgid "%.*s: ARGP_HELP_FMT parameter requires a value"
-msgstr "%.*s: le paramètre ARGP_HELP_FMT requiert une valeur"
-
-#: argp/argp-help.c:233
-#, c-format
-msgid "%.*s: Unknown ARGP_HELP_FMT parameter"
-msgstr "%.*s: paramètre ARGP_HELP_FMT inconnu"
-
-#: argp/argp-help.c:245
-#, c-format
-msgid "Garbage in ARGP_HELP_FMT: %s"
-msgstr "Rebut dans l'argument ARGP_HELP_FMT: %s"
-
-#: argp/argp-help.c:1205
-msgid "Mandatory or optional arguments to long options are also mandatory or optional for any corresponding short options."
-msgstr ""
-"Les arguments obligatoires ou optionnels pour les options de formes longues\n"
-"le sont aussi pour les options de forme courtes."
-
-#: argp/argp-help.c:1592
-msgid "Usage:"
-msgstr "Usage:"
-
-#: argp/argp-help.c:1596
-msgid " or: "
-msgstr " ou: "
-
-#: argp/argp-help.c:1608
-msgid " [OPTION...]"
-msgstr " [OPTION...]"
-
-#: argp/argp-help.c:1635
-#, c-format
-msgid "Try `%s --help' or `%s --usage' for more information.\n"
-msgstr "Pour en savoir davantage, faites: « %s --help » ou « %s --usage ».\n"
-
-#: argp/argp-help.c:1663
-#, c-format
-msgid "Report bugs to %s.\n"
-msgstr "Rapporter toutes anomalies à %s.\n"
-
-#: argp/argp-parse.c:115
-msgid "Give this help list"
-msgstr "Donner cette liste d'aide"
-
-#: argp/argp-parse.c:116
-msgid "Give a short usage message"
-msgstr "Donner un court message expliquant l'usage"
-
-#: argp/argp-parse.c:117
-msgid "Set the program name"
-msgstr "Initialiser le nom du programme"
-
-#: argp/argp-parse.c:119
-msgid "Hang for SECS seconds (default 3600)"
-msgstr "Raccrocher après N secondes (3600 par défaut)"
+msgstr "Aucune expression régulière précédente"
-#: argp/argp-parse.c:180
-msgid "Print program version"
-msgstr "Afficher la version du programme"
-
-#: argp/argp-parse.c:196
-msgid "(PROGRAM ERROR) No version known!?"
-msgstr "(ERREUR DU PROGRAMME) Version inconnue!?"
-
-#: argp/argp-parse.c:672
-#, c-format
-msgid "%s: Too many arguments\n"
-msgstr "%s: trop d'arguments\n"
-
-#: argp/argp-parse.c:813
-msgid "(PROGRAM ERROR) Option should have been recognized!?"
-msgstr "(ERREUR DU PROGRAMME) L'option aurait dûe être reconnue!?"
+#: posix/wordexp.c:1798
+msgid "parameter null or not set"
+msgstr "paramètre nul ou non initialisé"
#: resolv/herror.c:68
msgid "Resolver Error 0 (no error)"
-msgstr "Code d'erreur 0 du « resolver » (pas d'erreur)"
+msgstr "Code d'erreur 0 du « resolver » (pas d'erreur)"
#: resolv/herror.c:69
msgid "Unknown host"
-msgstr "Hôte inconnu"
+msgstr "Hôte inconnu"
#: resolv/herror.c:70
msgid "Host name lookup failure"
-msgstr "Erreur de repérage du nom de l'hôte cible"
+msgstr "Erreur de repérage du nom de l'hôte cible"
#: resolv/herror.c:71
msgid "Unknown server error"
@@ -3749,203 +4475,75 @@ msgstr "Erreur du serveur inconnu"
#: resolv/herror.c:72
msgid "No address associated with name"
-msgstr "Aucune adresse associée avec le nom"
+msgstr "Aucune adresse associée avec le nom"
-#: resolv/herror.c:108
+#: resolv/herror.c:107
msgid "Resolver internal error"
-msgstr "Erreur interne du « resolver »"
+msgstr "Erreur interne du « resolver »"
-#: resolv/herror.c:111
+#: resolv/herror.c:110
msgid "Unknown resolver error"
-msgstr "Erreur inconnue du « resolver »"
-
-#: resolv/res_hconf.c:147
-#, c-format
-msgid "%s: line %d: expected service, found `%s'\n"
-msgstr "%s: ligne %d: attendait service, « %s » trouvé\n"
-
-#: resolv/res_hconf.c:165
-#, c-format
-msgid "%s: line %d: cannot specify more than %d services"
-msgstr "%s: ligne %d: ne peut spécifier plus que %d services"
+msgstr "Erreur inconnue du « resolver »"
-#: resolv/res_hconf.c:191
-#, c-format
-msgid "%s: line %d: list delimiter not followed by keyword"
-msgstr "%s: ligne %d: délimiteur de liste non suivi par un mot clé"
-
-#: resolv/res_hconf.c:231
+#: resolv/res_hconf.c:124
#, c-format
msgid "%s: line %d: cannot specify more than %d trim domains"
-msgstr "%s: ligne %d: ne peut spécifier plus que %d domaines coupés"
+msgstr "%s : ligne %d : ne peut spécifier plus que %d domaines coupés"
-#: resolv/res_hconf.c:256
+#: resolv/res_hconf.c:145
#, c-format
msgid "%s: line %d: list delimiter not followed by domain"
-msgstr "%s: ligne %d: délimiteur de liste non suivi par un domaine"
+msgstr "%s : ligne %d : délimiteur de liste non suivi par un domaine"
-#: resolv/res_hconf.c:319
+#: resolv/res_hconf.c:204
#, c-format
msgid "%s: line %d: expected `on' or `off', found `%s'\n"
-msgstr "%s: ligne %d: attendait « on » ou « off », « %s » trouvé\n"
+msgstr "%s : ligne %d : attendait « on » ou « off », « %s » trouvé\n"
-#: resolv/res_hconf.c:366
+#: resolv/res_hconf.c:247
#, c-format
msgid "%s: line %d: bad command `%s'\n"
-msgstr "%s: ligne %d: commande erronée« %s »\n"
+msgstr "%s : ligne %d : commande erronée« %s »\n"
-#: resolv/res_hconf.c:395
+#: resolv/res_hconf.c:282
#, c-format
msgid "%s: line %d: ignoring trailing garbage `%s'\n"
-msgstr "%s: ligne %d: rebut en suffixe ignoré « %s »\n"
-
-#: nss/getent.c:51
-msgid "database [key ...]"
-msgstr "base de données [clé ...]"
-
-#: nss/getent.c:56
-msgid "Service configuration to be used"
-msgstr "Configuration de service à être utilisée"
-
-#: nss/getent.c:136 nss/getent.c:375
-#, c-format
-msgid "Enumeration not supported on %s\n"
-msgstr "Énumération non supportée sur %s\n"
-
-#: nss/getent.c:800
-msgid "getent - get entries from administrative database."
-msgstr "getent() - obtenir les entrées de la base de données administratives"
-
-#: nss/getent.c:801
-msgid "Supported databases:"
-msgstr "Base de données supportées:"
-
-#: nss/getent.c:858 nscd/nscd.c:131 nscd/nscd_nischeck.c:64
-msgid "wrong number of arguments"
-msgstr "Mauvais nombre d'arguments"
-
-#: nss/getent.c:868
-#, c-format
-msgid "Unknown database: %s\n"
-msgstr "Base de données inconnue: « %s »\n"
-
-#: debug/pcprofiledump.c:52
-msgid "Don't buffer output"
-msgstr "Ne pas accumuler dans le tampon de sortie"
-
-#: debug/pcprofiledump.c:57
-msgid "Dump information generated by PC profiling."
-msgstr "Vidange des informations générés par profilage PC"
-
-#: debug/pcprofiledump.c:60
-msgid "[FILE]"
-msgstr "[FICHIER]"
-
-#: debug/pcprofiledump.c:100
-msgid "cannot open input file"
-msgstr "Ne peut ouvrir le fichier d'entrée"
-
-#: debug/pcprofiledump.c:106
-msgid "cannot read header"
-msgstr "Ne peut lire l'en-tête"
-
-#: debug/pcprofiledump.c:170
-msgid "invalid pointer size"
-msgstr "Taille de pointeur invalide"
-
-#: inet/rcmd.c:163 inet/rcmd.c:166
-msgid "rcmd: Cannot allocate memory\n"
-msgstr "rcmd: ne peut allouer de la mémoire\n"
-
-#: inet/rcmd.c:185 inet/rcmd.c:188
-msgid "rcmd: socket: All ports in use\n"
-msgstr "rcmd: socket: tous les ports sont occupés\n"
+msgstr "%s : ligne %d : rebut en suffixe ignoré « %s »\n"
-#: inet/rcmd.c:222
+#: stdio-common/psignal.c:51
#, c-format
-msgid "connect to address %s: "
-msgstr "Connexion établie à l'adresse %s: "
-
-#: inet/rcmd.c:240
-#, c-format
-msgid "Trying %s...\n"
-msgstr "On tente %s...\n"
+msgid "%s%sUnknown signal %d\n"
+msgstr "%s%ssignal inconnu %d.\n"
-#: inet/rcmd.c:289
-#, c-format
-msgid "rcmd: write (setting up stderr): %m\n"
-msgstr "rcmd: écriture (configuration de stderr): %m\n"
+#: stdio-common/psignal.c:52
+msgid "Unknown signal"
+msgstr "Signal inconnu"
-#: inet/rcmd.c:310
-#, c-format
-msgid "rcmd: poll (setting up stderr): %m\n"
-msgstr "rcmd: poll (configuration de stderr): %m\n"
-
-#: inet/rcmd.c:313
-msgid "poll: protocol failure in circuit setup\n"
-msgstr "poll: échec du protocole dans la configuration du circuit\n"
+#: string/_strerror.c:45 sysdeps/mach/_strerror.c:87
+msgid "Unknown error "
+msgstr "Erreur inconnue "
-#: inet/rcmd.c:358
-msgid "socket: protocol failure in circuit setup\n"
-msgstr "socket: échec de protocole dans la configuration du circuit.\n"
+#: string/strerror.c:43
+msgid "Unknown error"
+msgstr "Erreur inconnue"
-#: inet/rcmd.c:387
+#: string/strsignal.c:65
#, c-format
-msgid "rcmd: %s: short read"
-msgstr "rcmd: %s: lecture écourtée"
-
-#: inet/rcmd.c:549
-msgid "lstat failed"
-msgstr "Échec d'évaluation lstat()"
-
-#: inet/rcmd.c:551
-msgid "not regular file"
-msgstr "N'est pas un fichier régulier"
-
-#: inet/rcmd.c:556
-msgid "cannot open"
-msgstr "Ne peut ouvrir"
-
-#: inet/rcmd.c:558
-msgid "fstat failed"
-msgstr "Échec d'évaluation fstat()"
-
-#: inet/rcmd.c:560
-msgid "bad owner"
-msgstr "Mauvais propriétaire"
-
-#: inet/rcmd.c:562
-msgid "writeable by other than owner"
-msgstr "accessible en écriture par d'autres que le propriétaire"
-
-#: inet/rcmd.c:564
-msgid "hard linked somewhere"
-msgstr "lien direct rencontré"
-
-#: inet/ruserpass.c:170 inet/ruserpass.c:193
-msgid "out of memory"
-msgstr "Mémoire épuisée"
-
-#: inet/ruserpass.c:184
-msgid "Error: .netrc file is readable by others."
-msgstr "Erreur: le fichier .netrc est lisible par tous les autres usagers"
-
-#: inet/ruserpass.c:185
-msgid "Remove password or make file unreadable by others."
-msgstr "Retirer le mot de passe ou rendre les fichiers illisibles pour les autres usagers"
+msgid "Real-time signal %d"
+msgstr "Signal de Temps-Réel %d"
-#: inet/ruserpass.c:277
+#: string/strsignal.c:69
#, c-format
-msgid "Unknown .netrc keyword %s"
-msgstr "Mot clé inconnu %s dans .netrc"
+msgid "Unknown signal %d"
+msgstr "Signal inconnu %d"
-#: sunrpc/auth_unix.c:115 sunrpc/auth_unix.c:118
+#: sunrpc/auth_unix.c:114
msgid "authunix_create: out of memory\n"
-msgstr "authunix_create: mémoire épuisée\n"
+msgstr "authunix_create : mémoire épuisée\n"
-#: sunrpc/auth_unix.c:318
-msgid "auth_none.c - Fatal marshalling problem"
-msgstr "auth_none.c - problème fatal de mise en ordre"
+#: sunrpc/auth_unix.c:350
+msgid "auth_unix.c: Fatal marshalling problem"
+msgstr "auth_unix.c : Problème fatal de mise en ordre"
#: sunrpc/clnt_perr.c:118 sunrpc/clnt_perr.c:139
#, c-format
@@ -3961,306 +4559,290 @@ msgstr "; pourquoi = "
msgid "(unknown authentication error - %d)"
msgstr "(erreur inconnue d'authentification - %d)"
-#: sunrpc/clnt_perr.c:177
+#: sunrpc/clnt_perr.c:172
msgid "RPC: Success"
-msgstr "RPC: succès"
+msgstr "RPC : succès"
-#: sunrpc/clnt_perr.c:180
+#: sunrpc/clnt_perr.c:175
msgid "RPC: Can't encode arguments"
-msgstr "RPC: ne peut encoder les arguments"
+msgstr "RPC : ne peut encoder les arguments"
-#: sunrpc/clnt_perr.c:184
+#: sunrpc/clnt_perr.c:179
msgid "RPC: Can't decode result"
-msgstr "RPC: ne peut décoder le résultat"
+msgstr "RPC : ne peut décoder le résultat"
-#: sunrpc/clnt_perr.c:188
+#: sunrpc/clnt_perr.c:183
msgid "RPC: Unable to send"
-msgstr "RPC: incapable d'effectuer la transmission"
+msgstr "RPC : incapable d'effectuer la transmission"
-#: sunrpc/clnt_perr.c:192
+#: sunrpc/clnt_perr.c:187
msgid "RPC: Unable to receive"
-msgstr "RPC: incapable d'effectuer la réception"
+msgstr "RPC : incapable d'effectuer la réception"
-#: sunrpc/clnt_perr.c:196
+#: sunrpc/clnt_perr.c:191
msgid "RPC: Timed out"
-msgstr "RPC: expiration du délai de la minuterie"
+msgstr "RPC : expiration du délai de la minuterie"
-#: sunrpc/clnt_perr.c:200
+#: sunrpc/clnt_perr.c:195
msgid "RPC: Incompatible versions of RPC"
-msgstr "RPC: versions incompatibles de RPC"
+msgstr "RPC : versions incompatibles de RPC"
-#: sunrpc/clnt_perr.c:204
+#: sunrpc/clnt_perr.c:199
msgid "RPC: Authentication error"
-msgstr "RPC: erreur d'authentification"
+msgstr "RPC : erreur d'authentification"
-#: sunrpc/clnt_perr.c:208
+#: sunrpc/clnt_perr.c:203
msgid "RPC: Program unavailable"
-msgstr "RPC: le programme n'est pas disponible"
+msgstr "RPC : le programme n'est pas disponible"
-#: sunrpc/clnt_perr.c:212
+#: sunrpc/clnt_perr.c:207
msgid "RPC: Program/version mismatch"
-msgstr "RPC: non concordance de programme ou de version"
+msgstr "RPC : non concordance de programme ou de version"
-#: sunrpc/clnt_perr.c:216
+#: sunrpc/clnt_perr.c:211
msgid "RPC: Procedure unavailable"
-msgstr "RPC: la procédure n'est pas disponible"
+msgstr "RPC : la procédure n'est pas disponible"
-#: sunrpc/clnt_perr.c:220
+#: sunrpc/clnt_perr.c:215
msgid "RPC: Server can't decode arguments"
-msgstr "RPC: le serveur ne peut décoder les arguments"
+msgstr "RPC : le serveur ne peut décoder les arguments"
-#: sunrpc/clnt_perr.c:224
+#: sunrpc/clnt_perr.c:219
msgid "RPC: Remote system error"
-msgstr "RPC: erreur système sur l'hôte cible"
+msgstr "RPC : erreur système sur l'hôte cible"
-#: sunrpc/clnt_perr.c:228
+#: sunrpc/clnt_perr.c:223
msgid "RPC: Unknown host"
-msgstr "RPC: hôte inconnu"
+msgstr "RPC : hôte inconnu"
-#: sunrpc/clnt_perr.c:232
+#: sunrpc/clnt_perr.c:227
msgid "RPC: Unknown protocol"
-msgstr "RPC: protocole inconnu"
+msgstr "RPC : protocole inconnu"
-#: sunrpc/clnt_perr.c:236
+#: sunrpc/clnt_perr.c:231
msgid "RPC: Port mapper failure"
-msgstr "RPC: échec de conversion de ports"
+msgstr "RPC : échec de conversion de ports"
-#: sunrpc/clnt_perr.c:240
+#: sunrpc/clnt_perr.c:235
msgid "RPC: Program not registered"
-msgstr "RPC: le programme n'est pas enregistré"
+msgstr "RPC : le programme n'est pas enregistré"
-#: sunrpc/clnt_perr.c:244
+#: sunrpc/clnt_perr.c:239
msgid "RPC: Failed (unspecified error)"
-msgstr "RPC: échec (erreur non spécifiée)"
+msgstr "RPC : échec (erreur non spécifiée)"
-#: sunrpc/clnt_perr.c:285
+#: sunrpc/clnt_perr.c:280
msgid "RPC: (unknown error code)"
-msgstr "RPC: (code d'erreur inconnu)"
+msgstr "RPC : (code d'erreur inconnu)"
-#: sunrpc/clnt_perr.c:357
+#: sunrpc/clnt_perr.c:342
msgid "Authentication OK"
-msgstr "Succès d'authentification"
+msgstr "Succès d'authentification"
-#: sunrpc/clnt_perr.c:360
+#: sunrpc/clnt_perr.c:345
msgid "Invalid client credential"
-msgstr "Identité du client invalide"
+msgstr "Identité du client invalide"
-#: sunrpc/clnt_perr.c:364
+#: sunrpc/clnt_perr.c:349
msgid "Server rejected credential"
-msgstr "Le serveur a rejeté l'identité."
+msgstr "Le serveur a rejeté l'identité"
-#: sunrpc/clnt_perr.c:368
+#: sunrpc/clnt_perr.c:353
msgid "Invalid client verifier"
-msgstr "Vérificateur du client invalide"
+msgstr "Vérificateur du client invalide"
-#: sunrpc/clnt_perr.c:372
+#: sunrpc/clnt_perr.c:357
msgid "Server rejected verifier"
-msgstr "Le server a rejeté la vérification."
+msgstr "Le server a rejeté la vérification"
-#: sunrpc/clnt_perr.c:376
+#: sunrpc/clnt_perr.c:361
msgid "Client credential too weak"
-msgstr "Identité du client peu fiable"
+msgstr "Identité du client peu fiable"
-#: sunrpc/clnt_perr.c:380
+#: sunrpc/clnt_perr.c:365
msgid "Invalid server verifier"
-msgstr "Vérificateur du serveur invalide"
+msgstr "Vérificateur du serveur invalide"
-#: sunrpc/clnt_perr.c:384
+#: sunrpc/clnt_perr.c:369
msgid "Failed (unspecified error)"
-msgstr "Échec (erreur non spécifiée)"
+msgstr "Échec (erreur non spécifiée)"
#: sunrpc/clnt_raw.c:117
-msgid "clnt_raw.c - Fatal header serialization error."
-msgstr "clnt_raw.c - Erreur fatale de sérialisation d'en-tête"
+msgid "clnt_raw.c: fatal header serialization error"
+msgstr "clnt_raw.c : Erreur fatale de sérialisation d'en-tête"
-#: sunrpc/clnt_tcp.c:134 sunrpc/clnt_tcp.c:137
+#: sunrpc/clnt_tcp.c:131
msgid "clnttcp_create: out of memory\n"
-msgstr "clnttcp_create: mémoire épuisée\n"
+msgstr "clnttcp_create : mémoire épuisée\n"
-#: sunrpc/clnt_udp.c:141 sunrpc/clnt_udp.c:144
+#: sunrpc/clnt_udp.c:139
msgid "clntudp_create: out of memory\n"
-msgstr "clntudp_create: mémoire épuisée\n"
+msgstr "clntudp_create : mémoire épuisée\n"
-#: sunrpc/clnt_unix.c:131 sunrpc/clnt_unix.c:134
+#: sunrpc/clnt_unix.c:128
msgid "clntunix_create: out of memory\n"
-msgstr "clntunix_create: mémoire épuisée\n"
-
-#: sunrpc/get_myaddr.c:78
-msgid "get_myaddress: ioctl (get interface configuration)"
-msgstr "get_myaddress: ioctl (a obtenu la configuration de l'interface)"
-
-#: sunrpc/pm_getmaps.c:74
-msgid "pmap_getmaps rpc problem"
-msgstr "problème RPC avec pmap_getmaps()"
+msgstr "clntunix_create : mémoire épuisée\n"
-#: sunrpc/pmap_clnt.c:72
-msgid "__get_myaddress: ioctl (get interface configuration)"
-msgstr "__get_myaddress: ioctl (a obtenu la configuration de l'interface)"
+#: sunrpc/pm_getmaps.c:83
+msgid "pmap_getmaps.c: rpc problem"
+msgstr "pmap_getmaps.c : problème RPC"
-#: sunrpc/pmap_clnt.c:137
+#: sunrpc/pmap_clnt.c:129
msgid "Cannot register service"
msgstr "Ne peut enregistrer le service"
-#: sunrpc/pmap_rmt.c:190
-msgid "broadcast: ioctl (get interface configuration)"
-msgstr "Diffusion: ioctl (a obtenu la configuration de l'interface)"
-
-#: sunrpc/pmap_rmt.c:199
-msgid "broadcast: ioctl (get interface flags)"
-msgstr "Diffusion: ioctl (a obtenu la valeur des sémaphores de l'interface)"
-
-#: sunrpc/pmap_rmt.c:269
+#: sunrpc/pmap_rmt.c:248
msgid "Cannot create socket for broadcast rpc"
-msgstr "Ne peut créer un socket pour une diffusion de type RPC"
+msgstr "Ne peut créer un socket pour une diffusion de type RPC"
-#: sunrpc/pmap_rmt.c:276
+#: sunrpc/pmap_rmt.c:255
msgid "Cannot set socket option SO_BROADCAST"
-msgstr "Ne peut initialiser l'option « SO_BROADCAST » du socket"
+msgstr "Ne peut initialiser l'option « SO_BROADCAST » du socket"
-#: sunrpc/pmap_rmt.c:328
+#: sunrpc/pmap_rmt.c:307
msgid "Cannot send broadcast packet"
msgstr "Ne peut transmettre le paquet par diffusion"
-#: sunrpc/pmap_rmt.c:353
+#: sunrpc/pmap_rmt.c:332
msgid "Broadcast poll problem"
-msgstr "Problème de scrutation lors de la diffusion"
+msgstr "Problème de scrutation lors de la diffusion"
-#: sunrpc/pmap_rmt.c:366
+#: sunrpc/pmap_rmt.c:345
msgid "Cannot receive reply to broadcast"
-msgstr "Ne peut recevoir l'accusé réception à la requête faite par diffusion"
+msgstr "Ne peut recevoir l'accusé réception à la requête faite par diffusion"
-#: sunrpc/rpc_main.c:288
+#: sunrpc/rpc_main.c:286
#, c-format
msgid "%s: output would overwrite %s\n"
-msgstr "%s: la sortie écraserait %s\n"
+msgstr "%s : la sortie écraserait %s\n"
-#: sunrpc/rpc_main.c:295
+#: sunrpc/rpc_main.c:293
#, c-format
msgid "%s: unable to open %s: %m\n"
-msgstr "%s: incapable d'ouvrir %s: %m\n"
+msgstr "%s : incapable d'ouvrir %s : %m\n"
-#: sunrpc/rpc_main.c:307
+#: sunrpc/rpc_main.c:305
#, c-format
msgid "%s: while writing output %s: %m"
-msgstr "%s: lors de l'écriture sur la sortie %s: %m"
+msgstr "%s : lors de l'écriture sur la sortie %s : %m"
-#: sunrpc/rpc_main.c:342
+#: sunrpc/rpc_main.c:340
#, c-format
msgid "cannot find C preprocessor: %s \n"
-msgstr "Ne peut trouver le préprocesseur C: %s\n"
+msgstr "Ne peut trouver le préprocesseur C : %s\n"
-#: sunrpc/rpc_main.c:350
+#: sunrpc/rpc_main.c:348
msgid "cannot find any C preprocessor (cpp)\n"
-msgstr "Ne peut trouver un préprocesseur C (cpp)\n"
+msgstr "Ne peut trouver un préprocesseur C (cpp)\n"
-#: sunrpc/rpc_main.c:419
+#: sunrpc/rpc_main.c:417
#, c-format
msgid "%s: C preprocessor failed with signal %d\n"
-msgstr "%s: échec du préprocesseur C -- code de terminaison: %d\n"
+msgstr "%s : échec du préprocesseur C -- code de terminaison : %d\n"
-#: sunrpc/rpc_main.c:422
+#: sunrpc/rpc_main.c:420
#, c-format
msgid "%s: C preprocessor failed with exit code %d\n"
-msgstr "%s: échec du préprocesseur C -- code de terminaison: %d\n"
+msgstr "%s : échec du préprocesseur C -- code de terminaison : %d\n"
-#: sunrpc/rpc_main.c:462
+#: sunrpc/rpc_main.c:460
#, c-format
-msgid "illegal nettype :`%s'\n"
-msgstr "« nettype » illégal :« %s »\n"
+msgid "illegal nettype: `%s'\n"
+msgstr "« nettype » non permis :« %s »\n"
-#: sunrpc/rpc_main.c:1104
+#: sunrpc/rpc_main.c:1122
#, c-format
msgid "rpcgen: too many defines\n"
-msgstr "rpcgen: trop de définitions\n"
+msgstr "rpcgen : trop de définitions\n"
-#: sunrpc/rpc_main.c:1116
+#: sunrpc/rpc_main.c:1134
#, c-format
msgid "rpcgen: arglist coding error\n"
-msgstr "rpcgen: erreur dans la liste d'arguments de codage\n"
+msgstr "rpcgen : erreur dans la liste d'arguments de codage\n"
#. TRANS: the file will not be removed; this is an
#. TRANS: informative message.
-#: sunrpc/rpc_main.c:1149
+#: sunrpc/rpc_main.c:1167
#, c-format
msgid "file `%s' already exists and may be overwritten\n"
-msgstr "Le fichier « %s » existe déjà et peut avoir été écrasé.\n"
+msgstr "Le fichier « %s » existe déjà et peut avoir été écrasé.\n"
-#: sunrpc/rpc_main.c:1194
+#: sunrpc/rpc_main.c:1212
#, c-format
msgid "Cannot specify more than one input file!\n"
-msgstr "Ne peut spécifier plus d'un fichier d'entrée!\n"
+msgstr "Ne peut spécifier plus d'un fichier d'entrée!\n"
-#: sunrpc/rpc_main.c:1364
+#: sunrpc/rpc_main.c:1382
msgid "This implementation doesn't support newstyle or MT-safe code!\n"
msgstr "Cette implantation ne supporte pas le nouveau style ou le code MT-safe!\n"
-#: sunrpc/rpc_main.c:1373
+#: sunrpc/rpc_main.c:1391
#, c-format
msgid "Cannot use netid flag with inetd flag!\n"
-msgstr "Ne utiliser le sémaphore « netid » avec le sémaphore « inetd »!\n"
+msgstr "Ne utiliser le sémaphore « netid » avec le sémaphore « inetd » !\n"
-#: sunrpc/rpc_main.c:1385
+#: sunrpc/rpc_main.c:1403
msgid "Cannot use netid flag without TIRPC!\n"
-msgstr "Ne peut utiliser le sémaphore « netid » sans « TIRPC »!\n"
+msgstr "Ne peut utiliser le sémaphore « netid » sans « TIRPC » !\n"
-#: sunrpc/rpc_main.c:1392
+#: sunrpc/rpc_main.c:1410
msgid "Cannot use table flags with newstyle!\n"
-msgstr "Ne peut utiliser la table des sémaphores avec « newstyle »!\n"
+msgstr "Ne peut utiliser la table des sémaphores avec « newstyle » !\n"
-#: sunrpc/rpc_main.c:1411
+#: sunrpc/rpc_main.c:1429
#, c-format
msgid "\"infile\" is required for template generation flags.\n"
-msgstr "\"fichier_d_entrée\" est requis pour la génération du gabarit des indicateurs.\n"
+msgstr "\"fichier_d_entrée\" est requis pour la génération du gabarit des indicateurs.\n"
-#: sunrpc/rpc_main.c:1416
+#: sunrpc/rpc_main.c:1434
#, c-format
msgid "Cannot have more than one file generation flag!\n"
-msgstr "Ne peut avoir plus d'un fichier de génération de sémaphores!\n"
+msgstr "Ne peut avoir plus d'un fichier de génération de sémaphores!\n"
-#: sunrpc/rpc_main.c:1425
+#: sunrpc/rpc_main.c:1443
#, c-format
msgid "usage: %s infile\n"
-msgstr "usage: %s fichier_d_entrée\n"
+msgstr "usage : %s fichier_d_entrée\n"
-#: sunrpc/rpc_main.c:1426
+#: sunrpc/rpc_main.c:1444
#, c-format
msgid "\t%s [-abkCLNTM][-Dname[=value]] [-i size] [-I [-K seconds]] [-Y path] infile\n"
msgstr "\t%s [-abkCLNTM][-Dname[=valeur]] [-i taille] [-I [-K secondes]] [-Y chemin] fichier\n"
-#: sunrpc/rpc_main.c:1428
+#: sunrpc/rpc_main.c:1446
#, c-format
msgid "\t%s [-c | -h | -l | -m | -t | -Sc | -Ss | -Sm] [-o outfile] [infile]\n"
-msgstr "\t%s [-c | -h | -l | -m | -t | -Sc | -Ss | -Sm] [-o fichier_de_sortie] [fichier_d_entrée]\n"
+msgstr "\t%s [-c | -h | -l | -m | -t | -Sc | -Ss | -Sm] [-o fichier_de_sortie] [fichier_d_entrée]\n"
-#: sunrpc/rpc_main.c:1430
+#: sunrpc/rpc_main.c:1448
#, c-format
msgid "\t%s [-s nettype]* [-o outfile] [infile]\n"
-msgstr "\t%s [-s type_réseau]* [-o fichier_de_sortie] [fichier_d_entrée]\n"
+msgstr "\t%s [-s type_réseau]* [-o fichier_de_sortie] [fichier_d_entrée]\n"
-#: sunrpc/rpc_main.c:1431
+#: sunrpc/rpc_main.c:1449
#, c-format
msgid "\t%s [-n netid]* [-o outfile] [infile]\n"
-msgstr "\t%s [-n id_réseau]* [-o fichier_de_sortie] [fichier_d_entrée]\n"
+msgstr "\t%s [-n id_réseau]* [-o fichier_de_sortie] [fichier_d_entrée]\n"
-#: sunrpc/rpc_scan.c:116
+#: sunrpc/rpc_scan.c:114
msgid "constant or identifier expected"
msgstr "Constante ou identificateur attendu"
-#: sunrpc/rpc_scan.c:312
+#: sunrpc/rpc_scan.c:310
msgid "illegal character in file: "
-msgstr "Caractère illégal dans le fichier"
+msgstr "Caractère non permis dans le fichier"
-#: sunrpc/rpc_scan.c:351 sunrpc/rpc_scan.c:377
+#: sunrpc/rpc_scan.c:349 sunrpc/rpc_scan.c:375
msgid "unterminated string constant"
-msgstr "Chaîne d'une constante incomplète"
+msgstr "Chaîne d'une constante incomplète"
-#: sunrpc/rpc_scan.c:383
+#: sunrpc/rpc_scan.c:381
msgid "empty char string"
-msgstr "Chaîne vide de caractères"
+msgstr "Chaîne vide de caractères"
-#: sunrpc/rpc_scan.c:525 sunrpc/rpc_scan.c:535
+#: sunrpc/rpc_scan.c:523 sunrpc/rpc_scan.c:533
msgid "preprocessor error"
-msgstr "Erreur du préprocesseur"
+msgstr "Erreur du préprocesseur"
#: sunrpc/rpcinfo.c:237 sunrpc/rpcinfo.c:383
#, c-format
@@ -4277,15 +4859,15 @@ msgstr "Le programme %lu de version %lu n'est pas disponible.\n"
#: sunrpc/rpcinfo.c:515
#, c-format
msgid "program %lu version %lu ready and waiting\n"
-msgstr "Le programme %lu de version %lu est prêt et en attente.\n"
+msgstr "Le programme %lu de version %lu est prêt et en attente.\n"
#: sunrpc/rpcinfo.c:556 sunrpc/rpcinfo.c:563
msgid "rpcinfo: can't contact portmapper"
-msgstr "rpcinfo: ne peut contacter l'aiguilleur de ports"
+msgstr "rpcinfo : ne peut contacter l'aiguilleur de ports"
#: sunrpc/rpcinfo.c:570
msgid "No remote programs registered.\n"
-msgstr "Aucun programme enregistré sur l'hôte cible\n"
+msgstr "Aucun programme enregistré sur l'hôte cible\n"
#: sunrpc/rpcinfo.c:574
msgid " program vers proto port\n"
@@ -4298,28 +4880,28 @@ msgstr "(inconnu)"
#: sunrpc/rpcinfo.c:637
#, c-format
msgid "rpcinfo: broadcast failed: %s\n"
-msgstr "rpcinfo: échec de diffusion: %s\n"
+msgstr "rpcinfo : échec de diffusion : %s\n"
#: sunrpc/rpcinfo.c:658
msgid "Sorry. You are not root\n"
-msgstr "Désolé. Vous n'êtes pas ROOT\n"
+msgstr "Désolé. Vous n'êtes pas ROOT\n"
#: sunrpc/rpcinfo.c:665
#, c-format
msgid "rpcinfo: Could not delete registration for prog %s version %s\n"
-msgstr "rpcinfo: ne peut éliminer l'enregistrement du programme %s de version %s\n"
+msgstr "rpcinfo : ne peut éliminer l'enregistrement du programme %s de version %s\n"
#: sunrpc/rpcinfo.c:674
msgid "Usage: rpcinfo [ -n portnum ] -u host prognum [ versnum ]\n"
-msgstr "Usage: rpcinfo [ -n no_port ] -u hôte no_prog [ no_version ]\n"
+msgstr "Usage : rpcinfo [ -n no_port ] -u hôte no_prog [ no_version ]\n"
#: sunrpc/rpcinfo.c:676
msgid " rpcinfo [ -n portnum ] -t host prognum [ versnum ]\n"
-msgstr " rpcinfo [ -n no_de_port ] -t hôte no_program [ no_version ]\n"
+msgstr " rpcinfo [ -n no_de_port ] -t hôte no_program [ no_version ]\n"
#: sunrpc/rpcinfo.c:678
msgid " rpcinfo -p [ host ]\n"
-msgstr " rpcinfo -p [ hôte ]\n"
+msgstr " rpcinfo -p [ hôte ]\n"
#: sunrpc/rpcinfo.c:679
msgid " rpcinfo -b prognum versnum\n"
@@ -4332,2089 +4914,1620 @@ msgstr " rpcinfo -d no_program no_version\n"
#: sunrpc/rpcinfo.c:695
#, c-format
msgid "rpcinfo: %s is unknown service\n"
-msgstr "rpcinfo: %s est un service inconnu\n"
+msgstr "rpcinfo : %s est un service inconnu\n"
#: sunrpc/rpcinfo.c:732
#, c-format
msgid "rpcinfo: %s is unknown host\n"
-msgstr "rpcinfo: %s est un hôte inconnu\n"
+msgstr "rpcinfo : %s est un hôte inconnu\n"
+
+#: sunrpc/svc_run.c:70
+msgid "svc_run: - out of memory"
+msgstr "svc_run : - mémoire épuisée"
-#: sunrpc/svc_run.c:76
+#: sunrpc/svc_run.c:90
msgid "svc_run: - poll failed"
-msgstr "svc_run: - ÉCHEC de scrutation"
+msgstr "svc_run : - ÉCHEC de scrutation"
#: sunrpc/svc_simple.c:87
#, c-format
msgid "can't reassign procedure number %ld\n"
-msgstr "Ne peut réassigner le numéro de procédure %ld\n"
+msgstr "Ne peut réassigner le numéro de procédure %ld\n"
-#: sunrpc/svc_simple.c:96
+#: sunrpc/svc_simple.c:97
msgid "couldn't create an rpc server\n"
-msgstr "Ne peut créer un serveur RPC\n"
+msgstr "Ne peut créer un serveur RPC\n"
-#: sunrpc/svc_simple.c:104
+#: sunrpc/svc_simple.c:105
#, c-format
msgid "couldn't register prog %ld vers %ld\n"
msgstr "Ne peut enregistrer le programme %ld de version %ld\n"
-#: sunrpc/svc_simple.c:111
+#: sunrpc/svc_simple.c:113
msgid "registerrpc: out of memory\n"
-msgstr "registerrpc: mémoire épuisée\n"
+msgstr "registerrpc : mémoire épuisée\n"
-#: sunrpc/svc_simple.c:175
+#: sunrpc/svc_simple.c:173
#, c-format
msgid "trouble replying to prog %d\n"
-msgstr "problème à répondre au programme %d.\n"
+msgstr "problème à répondre au programme %d.\n"
-#: sunrpc/svc_simple.c:183
+#: sunrpc/svc_simple.c:182
#, c-format
msgid "never registered prog %d\n"
-msgstr "Le programme %d n'a jamais été enregistré.\n"
+msgstr "Le programme %d n'a jamais été enregistré.\n"
#: sunrpc/svc_tcp.c:155
msgid "svc_tcp.c - tcp socket creation problem"
-msgstr "svc_tcp.c - problème de création d'un socket TCP"
+msgstr "svc_tcp.c - problème de création d'un socket TCP"
#: sunrpc/svc_tcp.c:170
msgid "svc_tcp.c - cannot getsockname or listen"
-msgstr "svc_tcp.c - ne peut repérer le nom du socket par getsockname() ou listen()"
+msgstr "svc_tcp.c - ne peut repérer le nom du socket par getsockname() ou listen()"
-#: sunrpc/svc_tcp.c:181 sunrpc/svc_tcp.c:184
+#: sunrpc/svc_tcp.c:179
msgid "svctcp_create: out of memory\n"
-msgstr "svctcp_create: mémoire épuisée\n"
+msgstr "svctcp_create : mémoire épuisée\n"
-#: sunrpc/svc_tcp.c:225 sunrpc/svc_tcp.c:228
+#: sunrpc/svc_tcp.c:218
msgid "svc_tcp: makefd_xprt: out of memory\n"
-msgstr "svc_tcp: makefd_xprt: mémoire épuisée\n"
+msgstr "svc_tcp : makefd_xprt : mémoire épuisée\n"
#: sunrpc/svc_udp.c:128
msgid "svcudp_create: socket creation problem"
-msgstr "svcudp_create: problème de création du socket"
+msgstr "svcudp_create : problème de création du socket"
#: sunrpc/svc_udp.c:142
msgid "svcudp_create - cannot getsockname"
-msgstr "svcudp_create - ne peut repérer le nom du socket par getsockname()"
+msgstr "svcudp_create - ne peut repérer le nom du socket par getsockname()"
-#: sunrpc/svc_udp.c:154 sunrpc/svc_udp.c:157
+#: sunrpc/svc_udp.c:152
msgid "svcudp_create: out of memory\n"
-msgstr "svctcp_create: mémoire épuisée\n"
+msgstr "svctcp_create : mémoire épuisée\n"
-#: sunrpc/svc_udp.c:182 sunrpc/svc_udp.c:185
+#: sunrpc/svc_udp.c:174
msgid "svcudp_create: xp_pad is too small for IP_PKTINFO\n"
-msgstr "svcudp_create: xp_pad est trop petit pour IP_PKTINFO\n"
+msgstr "svcudp_create : xp_pad est trop petit pour IP_PKTINFO\n"
-#: sunrpc/svc_udp.c:493
+#: sunrpc/svc_udp.c:474
msgid "enablecache: cache already enabled"
-msgstr "enablecache: cache déjà activée"
+msgstr "enablecache : cache déjà activée"
-#: sunrpc/svc_udp.c:499
+#: sunrpc/svc_udp.c:480
msgid "enablecache: could not allocate cache"
-msgstr "enablecache: ne peut allouer une cache"
+msgstr "enablecache : ne peut allouer une cache"
-#: sunrpc/svc_udp.c:507
+#: sunrpc/svc_udp.c:489
msgid "enablecache: could not allocate cache data"
-msgstr "enablecache: ne peut allouer une cache de données"
+msgstr "enablecache : ne peut allouer une cache de données"
-#: sunrpc/svc_udp.c:514
+#: sunrpc/svc_udp.c:497
msgid "enablecache: could not allocate cache fifo"
-msgstr "enablecache: ne peut allouer une cache de type fifo"
+msgstr "enablecache : ne peut allouer une cache de type fifo"
-#: sunrpc/svc_udp.c:550
+#: sunrpc/svc_udp.c:532
msgid "cache_set: victim not found"
-msgstr "cache_set: « victim » non repéré"
+msgstr "cache_set : « victim » non repéré"
-#: sunrpc/svc_udp.c:561
+#: sunrpc/svc_udp.c:543
msgid "cache_set: victim alloc failed"
-msgstr "cache_set: échec d'allocation de « victim »"
+msgstr "cache_set : échec d'allocation de « victim »"
-#: sunrpc/svc_udp.c:567
+#: sunrpc/svc_udp.c:550
msgid "cache_set: could not allocate new rpc_buffer"
-msgstr "cache_set: ne peut allouer une nouveau tampon rpc_buffer"
+msgstr "cache_set : ne peut allouer une nouveau tampon rpc_buffer"
#: sunrpc/svc_unix.c:150
msgid "svc_unix.c - AF_UNIX socket creation problem"
-msgstr "svc_unix.c - problème de création d'un socket « AF_UNIX »"
+msgstr "svc_unix.c - problème de création d'un socket « AF_UNIX »"
#: sunrpc/svc_unix.c:166
msgid "svc_unix.c - cannot getsockname or listen"
-msgstr "svc_unix.c - ne peut repérer le nom du socket par getsockname() ou listen()"
+msgstr "svc_unix.c - ne peut repérer le nom du socket par getsockname() ou listen()"
-#: sunrpc/svc_unix.c:178 sunrpc/svc_unix.c:181
+#: sunrpc/svc_unix.c:176
msgid "svcunix_create: out of memory\n"
-msgstr "svcunix_create: mémoire épuisée\n"
+msgstr "svcunix_create : mémoire épuisée\n"
-#: sunrpc/svc_unix.c:222 sunrpc/svc_unix.c:225
+#: sunrpc/svc_unix.c:215
msgid "svc_unix: makefd_xprt: out of memory\n"
-msgstr "svc_unix: makefd_xprt: mémoire épuisée\n"
+msgstr "svc_unix : makefd_xprt : mémoire épuisée\n"
-#: sunrpc/xdr.c:570 sunrpc/xdr.c:573
+#: sunrpc/xdr.c:566
msgid "xdr_bytes: out of memory\n"
-msgstr "xdr_bytes: mémoire épuisée\n"
+msgstr "xdr_bytes : mémoire épuisée\n"
-#: sunrpc/xdr.c:728 sunrpc/xdr.c:731
+#: sunrpc/xdr.c:718
msgid "xdr_string: out of memory\n"
-msgstr "xdr_string: mémoire épuisée\n"
+msgstr "xdr_string : mémoire épuisée\n"
-#: sunrpc/xdr_array.c:111 sunrpc/xdr_array.c:114
+#: sunrpc/xdr_array.c:106
msgid "xdr_array: out of memory\n"
-msgstr "xdr_array: mémoire épuisée\n"
+msgstr "xdr_array : mémoire épuisée\n"
-#: sunrpc/xdr_rec.c:158 sunrpc/xdr_rec.c:161
+#: sunrpc/xdr_rec.c:156
msgid "xdrrec_create: out of memory\n"
-msgstr "xdrrec_create: mémoire épuisée\n"
+msgstr "xdrrec_create : mémoire épuisée\n"
-#: sunrpc/xdr_ref.c:88 sunrpc/xdr_ref.c:91
+#: sunrpc/xdr_ref.c:86
msgid "xdr_reference: out of memory\n"
-msgstr "xdr_reference: mémoire épuisée\n"
-
-#: nis/nis_callback.c:189
-msgid "unable to free arguments"
-msgstr "incapable de libérer des arguments"
-
-#: nis/nis_error.c:30
-msgid "Probable success"
-msgstr "Succès probable"
-
-#: nis/nis_error.c:31
-msgid "Not found"
-msgstr "Pas repéré"
-
-#: nis/nis_error.c:32
-msgid "Probably not found"
-msgstr "Probablement pas repéré"
-
-#: nis/nis_error.c:33
-msgid "Cache expired"
-msgstr "Cache expirée"
-
-#: nis/nis_error.c:34
-msgid "NIS+ servers unreachable"
-msgstr "Les serveurs NIS+ ne sont pas accessibles."
-
-#: nis/nis_error.c:35
-msgid "Unknown object"
-msgstr "Objet inconnu"
-
-#: nis/nis_error.c:36
-msgid "Server busy, try again"
-msgstr "Serveur occupé, essayer plus tard"
-
-#: nis/nis_error.c:37
-msgid "Generic system error"
-msgstr "Erreur système générique"
+msgstr "xdr_reference : mémoire épuisée\n"
-#: nis/nis_error.c:38
-msgid "First/next chain broken"
-msgstr "Bris de la chaîne Premier/Suivant"
-
-#: nis/nis_error.c:41
-msgid "Name not served by this server"
-msgstr "Nom pas desservi par ce serveur"
-
-#: nis/nis_error.c:42
-msgid "Server out of memory"
-msgstr "Mémoire du serveur épuisée"
-
-#: nis/nis_error.c:43
-msgid "Object with same name exists"
-msgstr "Objet ayant le même nom existe"
-
-#: nis/nis_error.c:44
-msgid "Not master server for this domain"
-msgstr "N'est pas un serveur maître pour ce domaine"
+#: sysdeps/generic/siglist.h:29 sysdeps/unix/siglist.c:27
+msgid "Hangup"
+msgstr "Fin de la connexion (raccroché)"
-#: nis/nis_error.c:45
-msgid "Invalid object for operation"
-msgstr "Objet invalide pour l'opération"
+#: sysdeps/generic/siglist.h:30 sysdeps/unix/siglist.c:28
+msgid "Interrupt"
+msgstr "Interrompre"
-#: nis/nis_error.c:46
-msgid "Malformed name, or illegal name"
-msgstr "Nom mal composé ou nom illégal"
+#: sysdeps/generic/siglist.h:31 sysdeps/unix/siglist.c:29
+msgid "Quit"
+msgstr "Quitter"
-#: nis/nis_error.c:47
-msgid "Unable to create callback"
-msgstr "Incapable de créer un callback()"
+#: sysdeps/generic/siglist.h:32 sysdeps/unix/siglist.c:30
+msgid "Illegal instruction"
+msgstr "Instruction non permise"
-#: nis/nis_error.c:48
-msgid "Results sent to callback proc"
-msgstr "Résultats transmis à la procédure callback()"
+#: sysdeps/generic/siglist.h:33 sysdeps/unix/siglist.c:31
+msgid "Trace/breakpoint trap"
+msgstr "Trappe pour point d'arrêt et de trace"
-#: nis/nis_error.c:49
-msgid "Not found, no such name"
-msgstr "Pas repéré, aucun nom de ce type"
+#: sysdeps/generic/siglist.h:34
+msgid "Aborted"
+msgstr "Abandon"
-#: nis/nis_error.c:50
-msgid "Name/entry isn't unique"
-msgstr "Nom entrée n'est pas unique"
+#: sysdeps/generic/siglist.h:35 sysdeps/unix/siglist.c:34
+msgid "Floating point exception"
+msgstr "Exception en point flottant"
-#: nis/nis_error.c:51
-msgid "Modification failed"
-msgstr "Échec de modification"
+#: sysdeps/generic/siglist.h:36 sysdeps/unix/siglist.c:35
+msgid "Killed"
+msgstr "Processus arrêté"
-#: nis/nis_error.c:52
-msgid "Database for table does not exist"
-msgstr "La base de données de la table est inexistante"
+#: sysdeps/generic/siglist.h:37 sysdeps/unix/siglist.c:36
+msgid "Bus error"
+msgstr "Erreur du bus"
-#: nis/nis_error.c:53
-msgid "Entry/table type mismatch"
-msgstr "Mauvais appariement du type entrée/table"
+#: sysdeps/generic/siglist.h:38 sysdeps/unix/siglist.c:37
+msgid "Segmentation fault"
+msgstr "Erreur de segmentation"
-#: nis/nis_error.c:54
-msgid "Link points to illegal name"
-msgstr "Lien pointe sur un nom illégal"
+#. TRANS Broken pipe; there is no process reading from the other end of a pipe.
+#. TRANS Every library function that returns this error code also generates a
+#. TRANS @code{SIGPIPE} signal; this signal terminates the program if not handled
+#. TRANS or blocked. Thus, your program will never actually see @code{EPIPE}
+#. TRANS unless it has handled or blocked @code{SIGPIPE}.
+#: sysdeps/generic/siglist.h:39 sysdeps/gnu/errlist.c:359
+#: sysdeps/unix/siglist.c:39
+msgid "Broken pipe"
+msgstr "Relais brisé (pipe)"
-#: nis/nis_error.c:55
-msgid "Partial success"
-msgstr "Succès partiel"
+#: sysdeps/generic/siglist.h:40 sysdeps/unix/siglist.c:40
+msgid "Alarm clock"
+msgstr "Minuterie d'alerte"
-#: nis/nis_error.c:56
-msgid "Too many attributes"
-msgstr "Trop d'attributs"
+#: sysdeps/generic/siglist.h:41 sysdeps/unix/siglist.c:41
+msgid "Terminated"
+msgstr "Complété"
-#: nis/nis_error.c:57
-msgid "Error in RPC subsystem"
-msgstr "Erreur dans le sous-système RPC"
+#: sysdeps/generic/siglist.h:42 sysdeps/unix/siglist.c:42
+msgid "Urgent I/O condition"
+msgstr "Condition d'E/S urgente"
-#: nis/nis_error.c:58
-msgid "Missing or malformed attribute"
-msgstr "Attribut manquant ou mal composé"
+#: sysdeps/generic/siglist.h:43 sysdeps/unix/siglist.c:43
+msgid "Stopped (signal)"
+msgstr "Signal d'arrêt"
-#: nis/nis_error.c:59
-msgid "Named object is not searchable"
-msgstr "Objet nommé n'est pas repérable"
+#: sysdeps/generic/siglist.h:44 sysdeps/unix/siglist.c:44
+msgid "Stopped"
+msgstr "Arrêté"
-#: nis/nis_error.c:60
-msgid "Error while talking to callback proc"
-msgstr "Erreur lors d'échange par la procédure de callback()"
+#: sysdeps/generic/siglist.h:45 sysdeps/unix/siglist.c:45
+msgid "Continued"
+msgstr "Poursuite"
-#: nis/nis_error.c:61
-msgid "Non NIS+ namespace encountered"
-msgstr "Espace des noms non-NIS+ rencontré"
+#: sysdeps/generic/siglist.h:46 sysdeps/unix/siglist.c:46
+msgid "Child exited"
+msgstr "Le processus fils a terminé"
-#: nis/nis_error.c:62
-msgid "Illegal object type for operation"
-msgstr "Objet illégal pour ce type d'opération"
+#: sysdeps/generic/siglist.h:47 sysdeps/unix/siglist.c:47
+msgid "Stopped (tty input)"
+msgstr "Arrêté (via l'entrée sur tty)"
-#: nis/nis_error.c:63
-msgid "Passed object is not the same object on server"
-msgstr "L'objet fourni n'est pas le même sur le serveur"
+#: sysdeps/generic/siglist.h:48 sysdeps/unix/siglist.c:48
+msgid "Stopped (tty output)"
+msgstr "Arrêté (via la sortie sur tty)"
-#: nis/nis_error.c:64
-msgid "Modify operation failed"
-msgstr "Échec de l'opération de modification"
+#: sysdeps/generic/siglist.h:49 sysdeps/unix/siglist.c:49
+msgid "I/O possible"
+msgstr "E/S possible"
-#: nis/nis_error.c:65
-msgid "Query illegal for named table"
-msgstr "Requête illégale pour la table « named »"
+#: sysdeps/generic/siglist.h:50 sysdeps/unix/siglist.c:50
+msgid "CPU time limit exceeded"
+msgstr "Temps UCT limite expiré"
-#: nis/nis_error.c:66
-msgid "Attempt to remove a non-empty table"
-msgstr "Tentative de retrait d'une table non vide"
+#: sysdeps/generic/siglist.h:51 sysdeps/unix/siglist.c:51
+msgid "File size limit exceeded"
+msgstr "Débordement de la taille permise pour un fichier"
-#: nis/nis_error.c:67
-msgid "Error in accessing NIS+ cold start file. Is NIS+ installed?"
-msgstr "Erreur lors de l'accès au fichier de démarrage à froid de NIS+. NIS+ est-il installé?"
+#: sysdeps/generic/siglist.h:52 sysdeps/unix/siglist.c:52
+msgid "Virtual timer expired"
+msgstr "Expiration de la minuterie virtuelle"
-#: nis/nis_error.c:68
-msgid "Full resync required for directory"
-msgstr "Resynchronisation complète est requise pour ce répertoire"
+#: sysdeps/generic/siglist.h:53 sysdeps/unix/siglist.c:53
+msgid "Profiling timer expired"
+msgstr "Expiration de la minuterie durant l'établissement du profile"
-#: nis/nis_error.c:69
-msgid "NIS+ operation failed"
-msgstr "Échec de l'opération NIS+"
+#: sysdeps/generic/siglist.h:54 sysdeps/unix/siglist.c:54
+msgid "Window changed"
+msgstr "La fenêtre a changée"
-#: nis/nis_error.c:70
-msgid "NIS+ service is unavailable or not installed"
-msgstr "Le service NIS+ n'est pas disponible ou installé."
+#: sysdeps/generic/siglist.h:55 sysdeps/unix/siglist.c:56
+msgid "User defined signal 1"
+msgstr "Signal #1 défini par l'usager"
-#: nis/nis_error.c:71
-msgid "Yes, 42 is the meaning of life"
-msgstr "Oui, 42 est la clé du sens de la vie."
+#: sysdeps/generic/siglist.h:56 sysdeps/unix/siglist.c:57
+msgid "User defined signal 2"
+msgstr "Signal #2 défini par l'usager"
-#: nis/nis_error.c:72
-msgid "Unable to authenticate NIS+ server"
-msgstr "Incapable d'authentifier le serveur NIS+"
+#: sysdeps/generic/siglist.h:60 sysdeps/unix/siglist.c:33
+msgid "EMT trap"
+msgstr "Trappe EMT"
-#: nis/nis_error.c:73
-msgid "Unable to authenticate NIS+ client"
-msgstr "Incapable d'authentifier le client NIS+"
+#: sysdeps/generic/siglist.h:63 sysdeps/unix/siglist.c:38
+msgid "Bad system call"
+msgstr "Appel système erroné"
-#: nis/nis_error.c:74
-msgid "No file space on server"
-msgstr "Aucun espace disque disponible sur le serveur"
+#: sysdeps/generic/siglist.h:66
+msgid "Stack fault"
+msgstr "Erreur sur la pile"
-#: nis/nis_error.c:75
-msgid "Unable to create process on server"
-msgstr "Incapable de créer un processus sur le serveur"
+#: sysdeps/generic/siglist.h:69
+msgid "Information request"
+msgstr "Requête d'information"
-#: nis/nis_error.c:76
-msgid "Master server busy, full dump rescheduled."
-msgstr "Serveur maître occupé, vidange complète reportée"
+#: sysdeps/generic/siglist.h:71
+msgid "Power failure"
+msgstr "Panne d'alimentation"
-#: nis/nis_local_names.c:126
-#, c-format
-msgid "LOCAL entry for UID %d in directory %s not unique\n"
-msgstr "Entrée LOCALE du UID %d dans le répertoire %s n'est pas unique\n"
+#: sysdeps/generic/siglist.h:74 sysdeps/unix/siglist.c:55
+msgid "Resource lost"
+msgstr "Ressource perdue"
-#: nis/nis_print.c:51
-msgid "UNKNOWN"
-msgstr "INCONNU"
+#. TRANS Operation not permitted; only the owner of the file (or other resource)
+#. TRANS or processes with special privileges can perform the operation.
+#: sysdeps/gnu/errlist.c:25
+msgid "Operation not permitted"
+msgstr "Opération non permise"
-#: nis/nis_print.c:109
-msgid "BOGUS OBJECT\n"
-msgstr "OBJET ERRONÉ\n"
+#. TRANS No process matches the specified process ID.
+#: sysdeps/gnu/errlist.c:45
+msgid "No such process"
+msgstr "Aucun processus de ce type"
-#: nis/nis_print.c:112
-msgid "NO OBJECT\n"
-msgstr "PAS D'OBJET\n"
+#. TRANS Interrupted function call; an asynchronous signal occurred and prevented
+#. TRANS completion of the call. When this happens, you should try the call
+#. TRANS again.
+#. TRANS
+#. TRANS You can choose to have functions resume after a signal that is handled,
+#. TRANS rather than failing with @code{EINTR}; see @ref{Interrupted
+#. TRANS Primitives}.
+#: sysdeps/gnu/errlist.c:60
+msgid "Interrupted system call"
+msgstr "Appel système interrompu"
-#: nis/nis_print.c:115
-msgid "DIRECTORY\n"
-msgstr "RÉPERTOIRE\n"
+#. TRANS Input/output error; usually used for physical read or write errors.
+#: sysdeps/gnu/errlist.c:69
+msgid "Input/output error"
+msgstr "Erreur d'entrée/sortie"
-#: nis/nis_print.c:118
-msgid "GROUP\n"
-msgstr "GROUPE\n"
+#. TRANS No such device or address. The system tried to use the device
+#. TRANS represented by a file you specified, and it couldn't find the device.
+#. TRANS This can mean that the device file was installed incorrectly, or that
+#. TRANS the physical device is missing or not correctly attached to the
+#. TRANS computer.
+#: sysdeps/gnu/errlist.c:82
+msgid "No such device or address"
+msgstr "Aucun périphérique ou adresse"
-#: nis/nis_print.c:121
-msgid "TABLE\n"
-msgstr "TABLE\n"
+#. TRANS Argument list too long; used when the arguments passed to a new program
+#. TRANS being executed with one of the @code{exec} functions (@pxref{Executing a
+#. TRANS File}) occupy too much memory space. This condition never arises in the
+#. TRANS GNU system.
+#: sysdeps/gnu/errlist.c:94
+msgid "Argument list too long"
+msgstr "Liste d'arguments trop longue"
-#: nis/nis_print.c:124
-msgid "ENTRY\n"
-msgstr "ENTRÉE\n"
+#. TRANS Invalid executable file format. This condition is detected by the
+#. TRANS @code{exec} functions; see @ref{Executing a File}.
+#: sysdeps/gnu/errlist.c:104
+msgid "Exec format error"
+msgstr "Erreur de format pour exec()"
-#: nis/nis_print.c:127
-msgid "LINK\n"
-msgstr "LIENS\n"
+#. TRANS Bad file descriptor; for example, I/O on a descriptor that has been
+#. TRANS closed or reading from a descriptor open only for writing (or vice
+#. TRANS versa).
+#: sysdeps/gnu/errlist.c:115
+msgid "Bad file descriptor"
+msgstr "Mauvais descripteur de fichier"
-#: nis/nis_print.c:130
-msgid "PRIVATE\n"
-msgstr "PRIVÉ\n"
+#. TRANS There are no child processes. This error happens on operations that are
+#. TRANS supposed to manipulate child processes, when there aren't any processes
+#. TRANS to manipulate.
+#: sysdeps/gnu/errlist.c:126
+msgid "No child processes"
+msgstr "Aucun processus enfant"
-#: nis/nis_print.c:133
-msgid "(Unknown object)\n"
-msgstr "(Objet inconnu)\n"
+#. TRANS Deadlock avoided; allocating a system resource would have resulted in a
+#. TRANS deadlock situation. The system does not guarantee that it will notice
+#. TRANS all such situations. This error means you got lucky and the system
+#. TRANS noticed; it might just hang. @xref{File Locks}, for an example.
+#: sysdeps/gnu/errlist.c:138
+msgid "Resource deadlock avoided"
+msgstr "Blocage évité des accès aux ressources"
-#: nis/nis_print.c:166
-#, c-format
-msgid "Name : `%s'\n"
-msgstr "Nom : « %s »\n"
+#. TRANS No memory available. The system cannot allocate more virtual memory
+#. TRANS because its capacity is full.
+#: sysdeps/gnu/errlist.c:148
+msgid "Cannot allocate memory"
+msgstr "Ne peut allouer de la mémoire"
-#: nis/nis_print.c:167
-#, c-format
-msgid "Type : %s\n"
-msgstr "Type : %s\n"
+#. TRANS Bad address; an invalid pointer was detected.
+#. TRANS In the GNU system, this error never happens; you get a signal instead.
+#: sysdeps/gnu/errlist.c:167
+msgid "Bad address"
+msgstr "Mauvaise adresse"
-#: nis/nis_print.c:172
-msgid "Master Server :\n"
-msgstr "Serveur maître :\n"
+#. TRANS A file that isn't a block special file was given in a situation that
+#. TRANS requires one. For example, trying to mount an ordinary file as a file
+#. TRANS system in Unix gives this error.
+#: sysdeps/gnu/errlist.c:178
+msgid "Block device required"
+msgstr "Bloc de périphérique requis"
-#: nis/nis_print.c:174
-msgid "Replicate :\n"
-msgstr "Duplication :\n"
+#. TRANS Resource busy; a system resource that can't be shared is already in use.
+#. TRANS For example, if you try to delete a file that is the root of a currently
+#. TRANS mounted filesystem, you get this error.
+#: sysdeps/gnu/errlist.c:189
+msgid "Device or resource busy"
+msgstr "Périphérique ou ressource occupé"
-#: nis/nis_print.c:175
-#, c-format
-msgid "\tName : %s\n"
-msgstr "\tNom : %s\n"
+#. TRANS File exists; an existing file was specified in a context where it only
+#. TRANS makes sense to specify a new file.
+#: sysdeps/gnu/errlist.c:199
+msgid "File exists"
+msgstr "Le fichier existe"
-#: nis/nis_print.c:176
-msgid "\tPublic Key : "
-msgstr "\tClé publique : "
+#. TRANS An attempt to make an improper link across file systems was detected.
+#. TRANS This happens not only when you use @code{link} (@pxref{Hard Links}) but
+#. TRANS also when you rename a file with @code{rename} (@pxref{Renaming Files}).
+#: sysdeps/gnu/errlist.c:210
+msgid "Invalid cross-device link"
+msgstr "Lien croisé de périphéque invalide"
-#: nis/nis_print.c:180
-msgid "None.\n"
-msgstr "Aucun.\n"
+#. TRANS The wrong type of device was given to a function that expects a
+#. TRANS particular sort of device.
+#: sysdeps/gnu/errlist.c:220
+msgid "No such device"
+msgstr "Aucun périphérique de ce type"
-#: nis/nis_print.c:183
-#, c-format
-msgid "Diffie-Hellmann (%d bits)\n"
-msgstr "Diffie-Hellmann (%d bits)\n"
+#. TRANS A file that isn't a directory was specified when a directory is required.
+#: sysdeps/gnu/errlist.c:229
+msgid "Not a directory"
+msgstr "N'est pas un dossier"
-#: nis/nis_print.c:188
-#, c-format
-msgid "RSA (%d bits)\n"
-msgstr "RSA (%d bits)\n"
+#. TRANS File is a directory; you cannot open a directory for writing,
+#. TRANS or create or remove hard links to it.
+#: sysdeps/gnu/errlist.c:239
+msgid "Is a directory"
+msgstr "est un dossier"
-#: nis/nis_print.c:191
-msgid "Kerberos.\n"
-msgstr "Kerberos.\n"
+#. TRANS Invalid argument. This is used to indicate various kinds of problems
+#. TRANS with passing the wrong argument to a library function.
+#: sysdeps/gnu/errlist.c:249
+msgid "Invalid argument"
+msgstr "Argument invalide"
-#: nis/nis_print.c:194
-#, c-format
-msgid "Unknown (type = %d, bits = %d)\n"
-msgstr "Inconnu (type = %d, bits = %d)\n"
+#. TRANS The current process has too many files open and can't open any more.
+#. TRANS Duplicate descriptors do count toward this limit.
+#. TRANS
+#. TRANS In BSD and GNU, the number of open files is controlled by a resource
+#. TRANS limit that can usually be increased. If you get this error, you might
+#. TRANS want to increase the @code{RLIMIT_NOFILE} limit or make it unlimited;
+#. TRANS @pxref{Limits on Resources}.
+#: sysdeps/gnu/errlist.c:264
+msgid "Too many open files"
+msgstr "Trop de fichiers ouverts"
-#: nis/nis_print.c:205
-#, c-format
-msgid "\tUniversal addresses (%u)\n"
-msgstr "\tAdresses universelles (%u)\n"
+#. TRANS There are too many distinct file openings in the entire system. Note
+#. TRANS that any number of linked channels count as just one file opening; see
+#. TRANS @ref{Linked Channels}. This error never occurs in the GNU system.
+#: sysdeps/gnu/errlist.c:275
+msgid "Too many open files in system"
+msgstr "Trop de fichiers ouverts dans le système"
-#: nis/nis_print.c:227
-msgid "Time to live : "
-msgstr "Durée de vie restante : "
+#. TRANS Inappropriate I/O control operation, such as trying to set terminal
+#. TRANS modes on an ordinary file.
+#: sysdeps/gnu/errlist.c:285
+msgid "Inappropriate ioctl for device"
+msgstr "Ioctl() inappropré pour un périphérique"
-#: nis/nis_print.c:229
-msgid "Default Access rights :\n"
-msgstr "Droits d'accès par défaut :\n"
+#. TRANS An attempt to execute a file that is currently open for writing, or
+#. TRANS write to a file that is currently being executed. Often using a
+#. TRANS debugger to run a program is considered having it open for writing and
+#. TRANS will cause this error. (The name stands for ``text file busy''.) This
+#. TRANS is not an error in the GNU system; the text is copied as necessary.
+#: sysdeps/gnu/errlist.c:298
+msgid "Text file busy"
+msgstr "Fichier texte occupé"
-#: nis/nis_print.c:238
-#, c-format
-msgid "\tType : %s\n"
-msgstr "\tType : %s\n"
+#. TRANS File too big; the size of a file would be larger than allowed by the system.
+#: sysdeps/gnu/errlist.c:307
+msgid "File too large"
+msgstr "Fichier trop gros"
-#: nis/nis_print.c:239
-msgid "\tAccess rights: "
-msgstr "\t\tDroits d'accès : "
+#. TRANS No space left on device; write operation on a file failed because the
+#. TRANS disk is full.
+#: sysdeps/gnu/errlist.c:317
+msgid "No space left on device"
+msgstr "Aucun espace disponible sur le périphérique"
-#: nis/nis_print.c:252
-msgid "Group Flags :"
-msgstr "Groupe de sémaphores :"
+#. TRANS Invalid seek operation (such as on a pipe).
+#: sysdeps/gnu/errlist.c:326
+msgid "Illegal seek"
+msgstr "Repérage non permis"
-#: nis/nis_print.c:255
-msgid ""
-"\n"
-"Group Members :\n"
-msgstr ""
-"\n"
-"Membres du groupe :\n"
+#. TRANS An attempt was made to modify something on a read-only file system.
+#: sysdeps/gnu/errlist.c:335
+msgid "Read-only file system"
+msgstr "Système de fichiers accessible en lecture seulement"
-#: nis/nis_print.c:266
-#, c-format
-msgid "Table Type : %s\n"
-msgstr "Type de table : %s\n"
+#. TRANS Too many links; the link count of a single file would become too large.
+#. TRANS @code{rename} can cause this error if the file being renamed already has
+#. TRANS as many links as it can take (@pxref{Renaming Files}).
+#: sysdeps/gnu/errlist.c:346
+msgid "Too many links"
+msgstr "Trop de liens"
-#: nis/nis_print.c:267
-#, c-format
-msgid "Number of Columns : %d\n"
-msgstr "Nombre de colonnes : %d\n"
+#. TRANS Domain error; used by mathematical functions when an argument value does
+#. TRANS not fall into the domain over which the function is defined.
+#: sysdeps/gnu/errlist.c:369
+msgid "Numerical argument out of domain"
+msgstr "L'argument numérique est hors du domaine"
-#: nis/nis_print.c:268
-#, c-format
-msgid "Character Separator : %c\n"
-msgstr "Caractère de séparation : %c\n"
+#. TRANS Range error; used by mathematical functions when the result value is
+#. TRANS not representable because of overflow or underflow.
+#: sysdeps/gnu/errlist.c:379
+msgid "Numerical result out of range"
+msgstr "Le résultat numérique est en dehors de l'intervalle"
-#: nis/nis_print.c:269
-#, c-format
-msgid "Search Path : %s\n"
-msgstr "Chemin de recherche : %s\n"
+#. TRANS Resource temporarily unavailable; the call might work if you try again
+#. TRANS later. The macro @code{EWOULDBLOCK} is another name for @code{EAGAIN};
+#. TRANS they are always the same in the GNU C library.
+#. TRANS
+#. TRANS This error can happen in a few different situations:
+#. TRANS
+#. TRANS @itemize @bullet
+#. TRANS @item
+#. TRANS An operation that would block was attempted on an object that has
+#. TRANS non-blocking mode selected. Trying the same operation again will block
+#. TRANS until some external condition makes it possible to read, write, or
+#. TRANS connect (whatever the operation). You can use @code{select} to find out
+#. TRANS when the operation will be possible; @pxref{Waiting for I/O}.
+#. TRANS
+#. TRANS @strong{Portability Note:} In many older Unix systems, this condition
+#. TRANS was indicated by @code{EWOULDBLOCK}, which was a distinct error code
+#. TRANS different from @code{EAGAIN}. To make your program portable, you should
+#. TRANS check for both codes and treat them the same.
+#. TRANS
+#. TRANS @item
+#. TRANS A temporary resource shortage made an operation impossible. @code{fork}
+#. TRANS can return this error. It indicates that the shortage is expected to
+#. TRANS pass, so your program can try the call again later and it may succeed.
+#. TRANS It is probably a good idea to delay for a few seconds before trying it
+#. TRANS again, to allow time for other processes to release scarce resources.
+#. TRANS Such shortages are usually fairly serious and affect the whole system,
+#. TRANS so usually an interactive program should report the error to the user
+#. TRANS and return to its command loop.
+#. TRANS @end itemize
+#: sysdeps/gnu/errlist.c:416
+msgid "Resource temporarily unavailable"
+msgstr "Ressource temporairement non disponible"
-#: nis/nis_print.c:270
-msgid "Columns :\n"
-msgstr "Colonnes :\n"
+#. TRANS In the GNU C library, this is another name for @code{EAGAIN} (above).
+#. TRANS The values are always the same, on every operating system.
+#. TRANS
+#. TRANS C libraries in many older Unix systems have @code{EWOULDBLOCK} as a
+#. TRANS separate error code.
+#: sysdeps/gnu/errlist.c:429
+msgid "Operation would block"
+msgstr "L'opération pourrait se bloquer"
-#: nis/nis_print.c:273
-#, c-format
-msgid "\t[%d]\tName : %s\n"
-msgstr "\t[%d]\tNom : %s\n"
+#. TRANS An operation that cannot complete immediately was initiated on an object
+#. TRANS that has non-blocking mode selected. Some functions that must always
+#. TRANS block (such as @code{connect}; @pxref{Connecting}) never return
+#. TRANS @code{EAGAIN}. Instead, they return @code{EINPROGRESS} to indicate that
+#. TRANS the operation has begun and will take some time. Attempts to manipulate
+#. TRANS the object before the call completes return @code{EALREADY}. You can
+#. TRANS use the @code{select} function to find out when the pending operation
+#. TRANS has completed; @pxref{Waiting for I/O}.
+#: sysdeps/gnu/errlist.c:445
+msgid "Operation now in progress"
+msgstr "Opération maintenant en cours"
-#: nis/nis_print.c:275
-msgid "\t\tAttributes : "
-msgstr "\t\tAttributs : "
+#. TRANS An operation is already in progress on an object that has non-blocking
+#. TRANS mode selected.
+#: sysdeps/gnu/errlist.c:455
+msgid "Operation already in progress"
+msgstr "Opération déjà en cours"
-#: nis/nis_print.c:277
-msgid "\t\tAccess Rights : "
-msgstr "\t\tDroits d'accès : "
+#. TRANS A file that isn't a socket was specified when a socket is required.
+#: sysdeps/gnu/errlist.c:464
+msgid "Socket operation on non-socket"
+msgstr "Opération de type socket sur un type non socket"
-#: nis/nis_print.c:286
-msgid "Linked Object Type : "
-msgstr "Type d'objet lié : "
+#. TRANS The size of a message sent on a socket was larger than the supported
+#. TRANS maximum size.
+#: sysdeps/gnu/errlist.c:474
+msgid "Message too long"
+msgstr "Message trop long"
-#: nis/nis_print.c:288
-#, c-format
-msgid "Linked to : %s\n"
-msgstr "Liés à : %s\n"
+#. TRANS The socket type does not support the requested communications protocol.
+#: sysdeps/gnu/errlist.c:483
+msgid "Protocol wrong type for socket"
+msgstr "Mauvais type pour un socket de protocole"
-#: nis/nis_print.c:297
-#, c-format
-msgid "\tEntry data of type %s\n"
-msgstr "\tDonnées entrées de type %s\n"
+#. TRANS You specified a socket option that doesn't make sense for the
+#. TRANS particular protocol being used by the socket. @xref{Socket Options}.
+#: sysdeps/gnu/errlist.c:493
+msgid "Protocol not available"
+msgstr "Protocole non disponible"
-#: nis/nis_print.c:300
-#, c-format
-msgid "\t[%u] - [%u bytes] "
-msgstr "\t[%u] - [%u octets] "
+#. TRANS The socket domain does not support the requested communications protocol
+#. TRANS (perhaps because the requested protocol is completely invalid).
+#. TRANS @xref{Creating a Socket}.
+#: sysdeps/gnu/errlist.c:504
+msgid "Protocol not supported"
+msgstr "Protocole non supporté"
-#: nis/nis_print.c:303
-msgid "Encrypted data\n"
-msgstr "Données encryptées\n"
+#. TRANS The socket type is not supported.
+#: sysdeps/gnu/errlist.c:513
+msgid "Socket type not supported"
+msgstr "Type de socket non supporté"
-#: nis/nis_print.c:305
-msgid "Binary data\n"
-msgstr "Valeur binaire\n"
+#. TRANS The operation you requested is not supported. Some socket functions
+#. TRANS don't make sense for all types of sockets, and others may not be
+#. TRANS implemented for all communications protocols. In the GNU system, this
+#. TRANS error can happen for many calls when the object does not support the
+#. TRANS particular operation; it is a generic indication that the server knows
+#. TRANS nothing to do for that call.
+#: sysdeps/gnu/errlist.c:527
+msgid "Operation not supported"
+msgstr "Opération non supportée"
-#: nis/nis_print.c:320
-#, c-format
-msgid "Object Name : %s\n"
-msgstr "Nom de l'objet: %s\n"
+#. TRANS The socket communications protocol family you requested is not supported.
+#: sysdeps/gnu/errlist.c:536
+msgid "Protocol family not supported"
+msgstr "Famille de protocoles non supportée"
-#: nis/nis_print.c:321
-#, c-format
-msgid "Directory : %s\n"
-msgstr "Répertoire : %s\n"
+#. TRANS The address family specified for a socket is not supported; it is
+#. TRANS inconsistent with the protocol being used on the socket. @xref{Sockets}.
+#: sysdeps/gnu/errlist.c:546
+msgid "Address family not supported by protocol"
+msgstr "Famille d'adresses non supportée par le protocole"
-#: nis/nis_print.c:322
-#, c-format
-msgid "Owner : %s\n"
-msgstr "Propriétaire : %s\n"
+#. TRANS The requested socket address is already in use. @xref{Socket Addresses}.
+#: sysdeps/gnu/errlist.c:555
+msgid "Address already in use"
+msgstr "Adresse déjà utilisée"
-#: nis/nis_print.c:323
-#, c-format
-msgid "Group : %s\n"
-msgstr "Groupe : %s\n"
+#. TRANS The requested socket address is not available; for example, you tried
+#. TRANS to give a socket a name that doesn't match the local host name.
+#. TRANS @xref{Socket Addresses}.
+#: sysdeps/gnu/errlist.c:566
+msgid "Cannot assign requested address"
+msgstr "Ne peut attribuer l'adresse demandée"
-#: nis/nis_print.c:324
-msgid "Access Rights : "
-msgstr "Droits d'accès :"
+#. TRANS A socket operation failed because the network was down.
+#: sysdeps/gnu/errlist.c:575
+msgid "Network is down"
+msgstr "Le réseau ne fonctionne pas"
-#: nis/nis_print.c:326
-#, c-format
-msgid ""
-"\n"
-"Time to Live : "
-msgstr ""
-"\n"
-"Durée de vie : "
+#. TRANS A socket operation failed because the subnet containing the remote host
+#. TRANS was unreachable.
+#: sysdeps/gnu/errlist.c:585
+msgid "Network is unreachable"
+msgstr "Le réseau n'est pas accessible"
-#: nis/nis_print.c:329
-#, c-format
-msgid "Creation Time : %s"
-msgstr "Date de création : %s"
+#. TRANS A network connection was reset because the remote host crashed.
+#: sysdeps/gnu/errlist.c:594
+msgid "Network dropped connection on reset"
+msgstr "Le réseau a rompu la connexion lors de la réinitialisation"
-#: nis/nis_print.c:331
-#, c-format
-msgid "Mod. Time : %s"
-msgstr "Date de modification: %s"
+#. TRANS A network connection was aborted locally.
+#: sysdeps/gnu/errlist.c:603
+msgid "Software caused connection abort"
+msgstr "Le logiciel a provoqué l'abandon de la connexion"
-#: nis/nis_print.c:332
-msgid "Object Type : "
-msgstr "Type d'objet :"
+#. TRANS A network connection was closed for reasons outside the control of the
+#. TRANS local host, such as by the remote machine rebooting or an unrecoverable
+#. TRANS protocol violation.
+#: sysdeps/gnu/errlist.c:614
+msgid "Connection reset by peer"
+msgstr "Connexion ré-initialisée par le correspondant"
-#: nis/nis_print.c:352
-#, c-format
-msgid " Data Length = %u\n"
-msgstr " Longueur des données = %u\n"
+#. TRANS The kernel's buffers for I/O operations are all in use. In GNU, this
+#. TRANS error is always synonymous with @code{ENOMEM}; you may get one or the
+#. TRANS other from network operations.
+#: sysdeps/gnu/errlist.c:625
+msgid "No buffer space available"
+msgstr "Aucun espace tampon disponible"
-#: nis/nis_print.c:365
-#, c-format
-msgid "Status : %s\n"
-msgstr "Statut : %s\n"
+#. TRANS You tried to connect a socket that is already connected.
+#. TRANS @xref{Connecting}.
+#: sysdeps/gnu/errlist.c:635
+msgid "Transport endpoint is already connected"
+msgstr "Noeud final de transport déjà connecté"
-#: nis/nis_print.c:366
-#, c-format
-msgid "Number of objects : %u\n"
-msgstr "Nombre d'objets : %u\n"
+#. TRANS The socket is not connected to anything. You get this error when you
+#. TRANS try to transmit data over a socket, without first specifying a
+#. TRANS destination for the data. For a connectionless socket (for datagram
+#. TRANS protocols, such as UDP), you get @code{EDESTADDRREQ} instead.
+#: sysdeps/gnu/errlist.c:647
+msgid "Transport endpoint is not connected"
+msgstr "Noeud final de transport n'est pas connecté"
-#: nis/nis_print.c:370
-#, c-format
-msgid "Object #%d:\n"
-msgstr "Objet #%d:\n"
+#. TRANS No default destination address was set for the socket. You get this
+#. TRANS error when you try to transmit data over a connectionless socket,
+#. TRANS without first specifying a destination for the data with @code{connect}.
+#: sysdeps/gnu/errlist.c:658
+msgid "Destination address required"
+msgstr "Adresse de destination requise"
-#: nis/nis_print_group_entry.c:115
-#, c-format
-msgid "Group entry for \"%s.%s\" group:\n"
-msgstr "Entrée de groupe pour le groupe \"%s.%s\":\n"
+#. TRANS The socket has already been shut down.
+#: sysdeps/gnu/errlist.c:667
+msgid "Cannot send after transport endpoint shutdown"
+msgstr "Ne peut transmettre suite à la fermeture du noeud final de transport"
-#: nis/nis_print_group_entry.c:123
-msgid " Explicit members:\n"
-msgstr " Membres explicites:\n"
+#. TRANS ???
+#: sysdeps/gnu/errlist.c:676
+msgid "Too many references: cannot splice"
+msgstr "Trop de références : ne peut segmenter"
-#: nis/nis_print_group_entry.c:128
-msgid " No explicit members\n"
-msgstr " Pas de membre explicite\n"
+#. TRANS A socket operation with a specified timeout received no response during
+#. TRANS the timeout period.
+#: sysdeps/gnu/errlist.c:686
+msgid "Connection timed out"
+msgstr "Connexion terminée par expiration du délai d'attente"
-#: nis/nis_print_group_entry.c:131
-msgid " Implicit members:\n"
-msgstr " Membres implicites:\n"
+#. TRANS A remote host refused to allow the network connection (typically because
+#. TRANS it is not running the requested service).
+#: sysdeps/gnu/errlist.c:696
+msgid "Connection refused"
+msgstr "Connexion refusée"
-#: nis/nis_print_group_entry.c:136
-msgid " No implicit members\n"
-msgstr " Pas de membre implicite\n"
+#. TRANS Too many levels of symbolic links were encountered in looking up a file name.
+#. TRANS This often indicates a cycle of symbolic links.
+#: sysdeps/gnu/errlist.c:706
+msgid "Too many levels of symbolic links"
+msgstr "Trop de niveaux de liens symboliques"
-#: nis/nis_print_group_entry.c:139
-msgid " Recursive members:\n"
-msgstr " Membres récursifs:\n"
+#. TRANS Filename too long (longer than @code{PATH_MAX}; @pxref{Limits for
+#. TRANS Files}) or host name too long (in @code{gethostname} or
+#. TRANS @code{sethostname}; @pxref{Host Identification}).
+#: sysdeps/gnu/errlist.c:717
+msgid "File name too long"
+msgstr "Nom de fichier trop long"
-#: nis/nis_print_group_entry.c:144
-msgid " No recursive members\n"
-msgstr " Pas de membre récursif\n"
+#. TRANS The remote host for a requested network connection is down.
+#: sysdeps/gnu/errlist.c:726
+msgid "Host is down"
+msgstr "L'hôte cible est arrêté ou en panne"
-#: nis/nis_print_group_entry.c:147 nis/nis_print_group_entry.c:163
-msgid " Explicit nonmembers:\n"
-msgstr " Non-membres explicites:\n"
+#. TRANS The remote host for a requested network connection is not reachable.
+#: sysdeps/gnu/errlist.c:735
+msgid "No route to host"
+msgstr "Aucun chemin d'accès pour atteindre l'hôte cible"
-#: nis/nis_print_group_entry.c:152
-msgid " No explicit nonmembers\n"
-msgstr " Pas de non-membre explicite\n"
+#. TRANS Directory not empty, where an empty directory was expected. Typically,
+#. TRANS this error occurs when you are trying to delete a directory.
+#: sysdeps/gnu/errlist.c:745
+msgid "Directory not empty"
+msgstr "Le dossier n'est pas vide"
-#: nis/nis_print_group_entry.c:155
-msgid " Implicit nonmembers:\n"
-msgstr " Non-membres implicites:\n"
+#. TRANS This means that the per-user limit on new process would be exceeded by
+#. TRANS an attempted @code{fork}. @xref{Limits on Resources}, for details on
+#. TRANS the @code{RLIMIT_NPROC} limit.
+#: sysdeps/gnu/errlist.c:756
+msgid "Too many processes"
+msgstr "Trop de processus"
-#: nis/nis_print_group_entry.c:160
-msgid " No implicit nonmembers\n"
-msgstr " Pas de non-membre implicite\n"
+#. TRANS The file quota system is confused because there are too many users.
+#. TRANS @c This can probably happen in a GNU system when using NFS.
+#: sysdeps/gnu/errlist.c:766
+msgid "Too many users"
+msgstr "Trop d'usagers"
-#: nis/nis_print_group_entry.c:168
-msgid " No recursive nonmembers\n"
-msgstr " Pas de non-membre récursif\n"
+#. TRANS The user's disk quota was exceeded.
+#: sysdeps/gnu/errlist.c:775
+msgid "Disk quota exceeded"
+msgstr "Débordement du quota d'espace disque"
-#: nis/nss_nisplus/nisplus-publickey.c:101
-#: nis/nss_nisplus/nisplus-publickey.c:182
-#, c-format
-msgid "DES entry for netname %s not unique\n"
-msgstr "Entrée DES pour le nom de réseau %s n'est pas unique\n"
+#. TRANS Stale NFS file handle. This indicates an internal confusion in the NFS
+#. TRANS system which is due to file system rearrangements on the server host.
+#. TRANS Repairing this condition usually requires unmounting and remounting
+#. TRANS the NFS file system on the local host.
+#: sysdeps/gnu/errlist.c:787
+msgid "Stale NFS file handle"
+msgstr "Panne d'accès au fichier NFS"
-#: nis/nss_nisplus/nisplus-publickey.c:218
-#, c-format
-msgid "netname2user: missing group id list in `%s'."
-msgstr "netname2user: identificateur de liste de groupes manquant dans « %s »"
+#. TRANS An attempt was made to NFS-mount a remote file system with a file name that
+#. TRANS already specifies an NFS-mounted file.
+#. TRANS (This is an error on some operating systems, but we expect it to work
+#. TRANS properly on the GNU system, making this error code impossible.)
+#: sysdeps/gnu/errlist.c:799
+msgid "Object is remote"
+msgstr "L'objet est télé-accessible"
-#: nis/nss_nisplus/nisplus-publickey.c:300
-#: nis/nss_nisplus/nisplus-publickey.c:306
-#: nis/nss_nisplus/nisplus-publickey.c:370
-#: nis/nss_nisplus/nisplus-publickey.c:379
-#, c-format
-msgid "netname2user: (nis+ lookup): %s\n"
-msgstr "netname2user(): (consultation NIS+): %s\n"
+#. TRANS ???
+#: sysdeps/gnu/errlist.c:808
+msgid "RPC struct is bad"
+msgstr "La déclaration struct RPC est erronée"
-#: nis/nss_nisplus/nisplus-publickey.c:319
-#, c-format
-msgid "netname2user: DES entry for %s in directory %s not unique"
-msgstr "netname2user(): entrée DES de %s dans le répertoire %s n'est pas unique"
+#. TRANS ???
+#: sysdeps/gnu/errlist.c:817
+msgid "RPC version wrong"
+msgstr "Mauvaise version RPC"
-#: nis/nss_nisplus/nisplus-publickey.c:337
-#, c-format
-msgid "netname2user: principal name `%s' too long"
-msgstr "netname2user: nom principal « %s » est trop long"
+#. TRANS ???
+#: sysdeps/gnu/errlist.c:826
+msgid "RPC program not available"
+msgstr "Programme RPC non disponible"
-#: nis/nss_nisplus/nisplus-publickey.c:392
-#, c-format
-msgid "netname2user: LOCAL entry for %s in directory %s not unique"
-msgstr "netname2user(): entrée LOCAL de %s dans le répertoire %s n'est pas unique"
+#. TRANS ???
+#: sysdeps/gnu/errlist.c:835
+msgid "RPC program version wrong"
+msgstr "Version de programme RPC erronée"
-#: nis/nss_nisplus/nisplus-publickey.c:399
-msgid "netname2user: should not have uid 0"
-msgstr "netname2user: ne devrait pas avoir le UID 0"
+#. TRANS ???
+#: sysdeps/gnu/errlist.c:844
+msgid "RPC bad procedure for program"
+msgstr "Mauvaise procédure RPC du programme"
-#: nis/ypclnt.c:171
-#, c-format
-msgid "YPBINDPROC_DOMAIN: %s\n"
-msgstr "YPBINDPROC_DOMAIN: %s\n"
+#. TRANS No locks available. This is used by the file locking facilities; see
+#. TRANS @ref{File Locks}. This error is never generated by the GNU system, but
+#. TRANS it can result from an operation to an NFS server running another
+#. TRANS operating system.
+#: sysdeps/gnu/errlist.c:856
+msgid "No locks available"
+msgstr "Aucun verrou disponible"
-#: nis/ypclnt.c:780
-msgid "Request arguments bad"
-msgstr "Les arguments de la requête sont invalides."
+#. TRANS Inappropriate file type or format. The file was the wrong type for the
+#. TRANS operation, or a data file had the wrong format.
+#. TRANS
+#. TRANS On some systems @code{chmod} returns this error if you try to set the
+#. TRANS sticky bit on a non-directory file; @pxref{Setting Permissions}.
+#: sysdeps/gnu/errlist.c:869
+msgid "Inappropriate file type or format"
+msgstr "Type de fichier ou format inapproprié"
-#: nis/ypclnt.c:782
-msgid "RPC failure on NIS operation"
-msgstr "Échec RPC durant l'opération NIS"
+#. TRANS ???
+#: sysdeps/gnu/errlist.c:878
+msgid "Authentication error"
+msgstr "Erreur d'authentification"
-#: nis/ypclnt.c:784
-msgid "Can't bind to server which serves this domain"
-msgstr "Ne peut établir un lien avec le serveur qui dessert ce domaine"
+#. TRANS ???
+#: sysdeps/gnu/errlist.c:887
+msgid "Need authenticator"
+msgstr "Besoin d'un authentificateur"
-#: nis/ypclnt.c:786
-msgid "No such map in server's domain"
-msgstr "Cette table n'est pas dans le domaine du serveur."
+#. TRANS Function not implemented. This indicates that the function called is
+#. TRANS not implemented at all, either in the C library itself or in the
+#. TRANS operating system. When you get this error, you can be sure that this
+#. TRANS particular function will always fail with @code{ENOSYS} unless you
+#. TRANS install a new version of the C library or the operating system.
+#: sysdeps/gnu/errlist.c:900
+msgid "Function not implemented"
+msgstr "Fonction non implantée"
-#: nis/ypclnt.c:788
-msgid "No such key in map"
-msgstr "Cette clé n'est pas dans la table"
+#. TRANS Not supported. A function returns this error when certain parameter
+#. TRANS values are valid, but the functionality they request is not available.
+#. TRANS This can mean that the function does not implement a particular command
+#. TRANS or option value or flag bit at all. For functions that operate on some
+#. TRANS object given in a parameter, such as a file descriptor or a port, it
+#. TRANS might instead mean that only @emph{that specific object} (file
+#. TRANS descriptor, port, etc.) is unable to support the other parameters given;
+#. TRANS different file descriptors might support different ranges of parameter
+#. TRANS values.
+#. TRANS
+#. TRANS If the entire function is not available at all in the implementation,
+#. TRANS it returns @code{ENOSYS} instead.
+#: sysdeps/gnu/errlist.c:920
+msgid "Not supported"
+msgstr "Non supporté"
-#: nis/ypclnt.c:790
-msgid "Internal NIS error"
-msgstr "Erreur interne de NIS"
+#. TRANS While decoding a multibyte character the function came along an invalid
+#. TRANS or an incomplete sequence of bytes or the given wide character is invalid.
+#: sysdeps/gnu/errlist.c:930
+msgid "Invalid or incomplete multibyte or wide character"
+msgstr "Chaîne multi-octets ou étendue de caractères invalide ou incomplète"
-#: nis/ypclnt.c:792
-msgid "Local resource allocation failure"
-msgstr "Échec d'allocation de ressources locales"
+#. TRANS In the GNU system, servers supporting the @code{term} protocol return
+#. TRANS this error for certain operations when the caller is not in the
+#. TRANS foreground process group of the terminal. Users do not usually see this
+#. TRANS error because functions such as @code{read} and @code{write} translate
+#. TRANS it into a @code{SIGTTIN} or @code{SIGTTOU} signal. @xref{Job Control},
+#. TRANS for information on process groups and these signals.
+#: sysdeps/gnu/errlist.c:944
+msgid "Inappropriate operation for background process"
+msgstr "Opération inappropriée pour un processus d'arrière-plan"
-#: nis/ypclnt.c:794
-msgid "No more records in map database"
-msgstr "Aucun autre enregistrement dans la table de la base de données"
+#. TRANS In the GNU system, opening a file returns this error when the file is
+#. TRANS translated by a program and the translator program dies while starting
+#. TRANS up, before it has connected to the file.
+#: sysdeps/gnu/errlist.c:955
+msgid "Translator died"
+msgstr "Panne du traducteur"
-#: nis/ypclnt.c:796
-msgid "Can't communicate with portmapper"
-msgstr "Ne peut communiquer avec le convertisseur de ports"
+#. TRANS The experienced user will know what is wrong.
+#. TRANS @c This error code is a joke. Its perror text is part of the joke.
+#. TRANS @c Don't change it.
+#: sysdeps/gnu/errlist.c:966
+msgid "?"
+msgstr " ?"
-#: nis/ypclnt.c:798
-msgid "Can't communicate with ypbind"
-msgstr "Ne peut communiquer par ypbind"
+#. TRANS You did @strong{what}?
+#: sysdeps/gnu/errlist.c:975
+msgid "You really blew it this time"
+msgstr "Vous avez vraiment tout gâcher cette fois-ci"
-#: nis/ypclnt.c:800
-msgid "Can't communicate with ypserv"
-msgstr "Ne peut communiquer par ypserv"
+#. TRANS Go home and have a glass of warm, dairy-fresh milk.
+#: sysdeps/gnu/errlist.c:984
+msgid "Computer bought the farm"
+msgstr "L'ordinateur a acheté la ferme"
-#: nis/ypclnt.c:802
-msgid "Local domain name not set"
-msgstr "Le nom du domaine local n'est pas initialisé."
+#. TRANS This error code has no purpose.
+#: sysdeps/gnu/errlist.c:993
+msgid "Gratuitous error"
+msgstr "Erreur gratuite"
-#: nis/ypclnt.c:804
-msgid "NIS map database is bad"
-msgstr "La table de la base de données NIS est erronée."
+#: sysdeps/gnu/errlist.c:1001
+msgid "Bad message"
+msgstr "Message invalide"
-#: nis/ypclnt.c:806
-msgid "NIS client/server version mismatch - can't supply service"
-msgstr "Non concordance de la version client/serveur NIS - ne peut fournir le service"
+#: sysdeps/gnu/errlist.c:1009
+msgid "Identifier removed"
+msgstr "Identificateur éliminé"
-#: nis/ypclnt.c:810
-msgid "Database is busy"
-msgstr "La base de données est occupée."
+#: sysdeps/gnu/errlist.c:1017
+msgid "Multihop attempted"
+msgstr "Tentative de connexion par de multiples noeuds de relais"
-#: nis/ypclnt.c:812
-msgid "Unknown NIS error code"
-msgstr "Code d'erreur NIS inconnu"
+#: sysdeps/gnu/errlist.c:1025
+msgid "No data available"
+msgstr "Aucune donnée disponible"
-#: nis/ypclnt.c:854
-msgid "Internal ypbind error"
-msgstr "Erreur interne de ypbind"
+#: sysdeps/gnu/errlist.c:1033
+msgid "Link has been severed"
+msgstr "Le lien a été endommagé"
-#: nis/ypclnt.c:856
-msgid "Domain not bound"
-msgstr "Le domaine n'est pas délimité."
+#: sysdeps/gnu/errlist.c:1041
+msgid "No message of desired type"
+msgstr "Aucun message du type désiré"
-#: nis/ypclnt.c:858
-msgid "System resource allocation failure"
-msgstr "Échec d'allocation de ressources système"
+#: sysdeps/gnu/errlist.c:1049
+msgid "Out of streams resources"
+msgstr "Aucune autre ressource de type streams disponible"
-#: nis/ypclnt.c:860
-msgid "Unknown ypbind error"
-msgstr "Erreur inconnue de ypbind"
+#: sysdeps/gnu/errlist.c:1057
+msgid "Device not a stream"
+msgstr "Le périphérique n'est pas de type « stream »"
-#: nis/ypclnt.c:899
-msgid "yp_update: cannot convert host to netname\n"
-msgstr "yp_update: ne peut convertir le nom de l'hôte à un nom réseau (netname)\n"
+#: sysdeps/gnu/errlist.c:1065
+msgid "Value too large for defined data type"
+msgstr "Valeur trop grande pour le type défini de données"
-#: nis/ypclnt.c:911
-msgid "yp_update: cannot get server address\n"
-msgstr "yp_update: ne peut obtenir l'adresse du serveur\n"
+#: sysdeps/gnu/errlist.c:1073
+msgid "Protocol error"
+msgstr "Erreur de protocole"
-#: nscd/cache.c:94
-msgid "while allocating hash table entry"
-msgstr "lors de l'allocation d'entrées dans la table de hachage"
+#: sysdeps/gnu/errlist.c:1081
+msgid "Timer expired"
+msgstr "Expiration de la minuterie"
-#: nscd/cache.c:162 nscd/connections.c:184
-#, c-format
-msgid "cannot stat() file `%s': %s"
-msgstr "Ne peut évaluer par stat() le fichier « %s »: %s"
+#. TRANS Operation canceled; an asynchronous operation was canceled before it
+#. TRANS completed. @xref{Asynchronous I/O}. When you call @code{aio_cancel},
+#. TRANS the normal result is for the operations affected to complete with this
+#. TRANS error; @pxref{Cancel AIO Operations}.
+#: sysdeps/gnu/errlist.c:1093
+msgid "Operation canceled"
+msgstr "Opération annulée"
-#: nscd/connections.c:150
-msgid "Cannot run nscd in secure mode as unprivileged user"
-msgstr "Ne peut exécuter nscd en mode sécuritaire en tant qu'usager sans privilège"
+#: sysdeps/gnu/errlist.c:1101
+msgid "Interrupted system call should be restarted"
+msgstr "Appel système interrompu, il aurait dû être relancé"
-#: nscd/connections.c:172
-#, c-format
-msgid "while allocating cache: %s"
-msgstr "lors de l'allocation de la cache: %s"
+#: sysdeps/gnu/errlist.c:1109
+msgid "Channel number out of range"
+msgstr "Numéro de canal en dehors des limites"
-#: nscd/connections.c:197
-#, c-format
-msgid "cannot open socket: %s"
-msgstr "Ne peut ouvrir le socket: « %s »"
+#: sysdeps/gnu/errlist.c:1117
+msgid "Level 2 not synchronized"
+msgstr "Niveau 2 non synchronisé"
-#: nscd/connections.c:215
-#, c-format
-msgid "cannot enable socket to accept connections: %s"
-msgstr "Ne peut activer le socket pour accepter des connexions: %s"
+#: sysdeps/gnu/errlist.c:1125
+msgid "Level 3 halted"
+msgstr "Niveau 3 en halte"
-#: nscd/connections.c:260
-#, c-format
-msgid "cannot handle old request version %d; current version is %d"
-msgstr "Ne peut traiter une requête d'une vieille version %d; la version courante est %d"
+#: sysdeps/gnu/errlist.c:1133
+msgid "Level 3 reset"
+msgstr "Niveau 3 réinitialisé"
-#: nscd/connections.c:298 nscd/connections.c:324
-#, c-format
-msgid "cannot write result: %s"
-msgstr "Ne peut écrire les résultats: « %s »"
+#: sysdeps/gnu/errlist.c:1141
+msgid "Link number out of range"
+msgstr "Numéro du lien hors intervalle"
-#: nscd/connections.c:392 nscd/connections.c:514
-#, c-format
-msgid "error getting caller's id: %s"
-msgstr "erreur lors de la recherche de l'identificateur de l'appelant: %s"
+#: sysdeps/gnu/errlist.c:1149
+msgid "Protocol driver not attached"
+msgstr "Pilote du protocole n'est pas attaché"
-#: nscd/connections.c:485
-#, c-format
-msgid "while accepting connection: %s"
-msgstr "lors de l'acceptation de connexion: %s"
+#: sysdeps/gnu/errlist.c:1157
+msgid "No CSI structure available"
+msgstr "Aucune structure CSI disponible"
-#: nscd/connections.c:498
-#, c-format
-msgid "short read while reading request: %s"
-msgstr "Lecture écourtée lors de la lecture de la requête: « %s »"
+#: sysdeps/gnu/errlist.c:1165
+msgid "Level 2 halted"
+msgstr "Niveau 2 en halte"
-#: nscd/connections.c:542
-#, c-format
-msgid "key length in request too long: %d"
-msgstr "La longueur de la clé de la requête est trop longue: %d"
+#: sysdeps/gnu/errlist.c:1173
+msgid "Invalid exchange"
+msgstr "Échange invalide"
-#: nscd/connections.c:556
-#, c-format
-msgid "short read while reading request key: %s"
-msgstr "Lecture écourtée lors de la lecture de la clé de requête: %s"
+#: sysdeps/gnu/errlist.c:1181
+msgid "Invalid request descriptor"
+msgstr "Descripteur de requête invalide"
-#: nscd/connections.c:566
-#, c-format
-msgid "handle_request: request received (Version = %d) from PID %ld"
-msgstr "handle_request: requête reçue (Version = %d) à partir du PID %ld"
+#: sysdeps/gnu/errlist.c:1189
+msgid "Exchange full"
+msgstr "L'échangeur est plein"
-#: nscd/connections.c:571
-#, c-format
-msgid "handle_request: request received (Version = %d)"
-msgstr "handle_request: requête reçue (Version = %d)"
+#: sysdeps/gnu/errlist.c:1197
+msgid "No anode"
+msgstr "Aucune « anode » disponible"
-#: nscd/connections.c:635 nscd/connections.c:636 nscd/connections.c:655
-#: nscd/connections.c:668 nscd/connections.c:674 nscd/connections.c:681
-#, c-format
-msgid "Failed to run nscd as user '%s'"
-msgstr "Échec d'exécution de nscd en tant qu'usager « %s »"
+#: sysdeps/gnu/errlist.c:1205
+msgid "Invalid request code"
+msgstr "Code de requête invalide"
-#: nscd/connections.c:656
-msgid "getgrouplist failed"
-msgstr "échec de getgrouplist"
+#: sysdeps/gnu/errlist.c:1213
+msgid "Invalid slot"
+msgstr "Dalot invalide"
-#: nscd/connections.c:669
-msgid "setgroups failed"
-msgstr "échec de setgroups"
+#: sysdeps/gnu/errlist.c:1221
+msgid "File locking deadlock error"
+msgstr "Erreur de verrou bloquant l'accès au fichier"
-#: nscd/grpcache.c:103 nscd/hstcache.c:111 nscd/pwdcache.c:109
-msgid "while allocating key copy"
-msgstr "lors de l'allocation d'une copie de clé"
+#: sysdeps/gnu/errlist.c:1229
+msgid "Bad font file format"
+msgstr "Mauvais format du fichier de fontes"
-#: nscd/grpcache.c:153 nscd/hstcache.c:168 nscd/pwdcache.c:146
-msgid "while allocating cache entry"
-msgstr "lors de l'allocation d'entrée dans la cache"
+#: sysdeps/gnu/errlist.c:1237
+msgid "Machine is not on the network"
+msgstr "La machine cible n'est pas sur le réseau"
-#: nscd/grpcache.c:197 nscd/hstcache.c:283 nscd/pwdcache.c:193
-#, c-format
-msgid "short write in %s: %s"
-msgstr "Écriture écourtée dans %s: %s"
+#: sysdeps/gnu/errlist.c:1245
+msgid "Package not installed"
+msgstr "Le paquetage n'est pas installé"
-#: nscd/grpcache.c:219
-#, c-format
-msgid "Haven't found \"%s\" in group cache!"
-msgstr "N'a pas trouvé « %s » dans la cache du groupe!"
+#: sysdeps/gnu/errlist.c:1253
+msgid "Advertise error"
+msgstr "Erreur d'annonce"
-#: nscd/grpcache.c:285
-#, c-format
-msgid "Invalid numeric gid \"%s\"!"
-msgstr "gid numérique invalide « %s »!"
+#: sysdeps/gnu/errlist.c:1261
+msgid "Srmount error"
+msgstr "Erreur srmount()"
-#: nscd/grpcache.c:292
-#, c-format
-msgid "Haven't found \"%d\" in group cache!"
-msgstr "N'a pas trouvé « %d » dans la cache du groupe!"
+#: sysdeps/gnu/errlist.c:1269
+msgid "Communication error on send"
+msgstr "Erreur de communication lors de la transmission"
-#: nscd/hstcache.c:305 nscd/hstcache.c:371 nscd/hstcache.c:436
-#: nscd/hstcache.c:501
-#, c-format
-msgid "Haven't found \"%s\" in hosts cache!"
-msgstr "N'a pas trouvé « %s » dans la cache de la liste des hôtes!"
+#: sysdeps/gnu/errlist.c:1277
+msgid "RFS specific error"
+msgstr "Erreur spécifique à « RFS »"
-#: nscd/nscd.c:89
-msgid "Read configuration data from NAME"
-msgstr "Lire les données de configuration du NOM"
+#: sysdeps/gnu/errlist.c:1285
+msgid "Name not unique on network"
+msgstr "Le nom n'est pas unique sur le réseau"
-#: nscd/nscd.c:91
-msgid "Do not fork and display messages on the current tty"
-msgstr "Ne pas cloner le processus par fork() et ne pas afficher de message sur le tty courant"
+#: sysdeps/gnu/errlist.c:1293
+msgid "File descriptor in bad state"
+msgstr "Le descripteur du fichier est dans un mauvais état"
-#: nscd/nscd.c:92
-msgid "NUMBER"
-msgstr "NUMÉRO"
+#: sysdeps/gnu/errlist.c:1301
+msgid "Remote address changed"
+msgstr "L'adresse de l'hôte cible a été modifiée"
-#: nscd/nscd.c:92
-msgid "Start NUMBER threads"
-msgstr "Démarrage du NOMBRE de « threads »"
+#: sysdeps/gnu/errlist.c:1309
+msgid "Can not access a needed shared library"
+msgstr "Ne peut accéder à la librairie partagée demandée"
-#: nscd/nscd.c:93
-msgid "Shut the server down"
-msgstr "Arrêter le serveur"
+#: sysdeps/gnu/errlist.c:1317
+msgid "Accessing a corrupted shared library"
+msgstr "Accès d'une librairie partagée qui est corrompue"
-#: nscd/nscd.c:94
-msgid "Print current configuration statistic"
-msgstr "Afficher les statistiques de la configuration courante"
+#: sysdeps/gnu/errlist.c:1325
+msgid ".lib section in a.out corrupted"
+msgstr "La section .lib dans a.out est corrompue"
-#: nscd/nscd.c:95
-msgid "TABLE"
-msgstr "TABLE"
+#: sysdeps/gnu/errlist.c:1333
+msgid "Attempting to link in too many shared libraries"
+msgstr "Tentative d'édition de liens à partir de trop de librairies partagées"
-#: nscd/nscd.c:96
-msgid "Invalidate the specified cache"
-msgstr "Invalide la cache spécifiée"
+#: sysdeps/gnu/errlist.c:1341
+msgid "Cannot exec a shared library directly"
+msgstr "Ne peut exécuter une librairie partagée directement"
-#: nscd/nscd.c:97
-msgid "TABLE,yes"
-msgstr "TABLE,oui"
+#: sysdeps/gnu/errlist.c:1349
+msgid "Streams pipe error"
+msgstr "Erreur de relais de type streams"
-#: nscd/nscd.c:97
-msgid "Use separate cache for each user"
-msgstr "Utiliser une cache séparée pour chaque usager"
+#: sysdeps/gnu/errlist.c:1357
+msgid "Structure needs cleaning"
+msgstr "La structure a besoin d'un nettoyage"
-#: nscd/nscd.c:102
-msgid "Name Service Cache Daemon."
-msgstr "« Daemon » de la cache du service de noms"
+#: sysdeps/gnu/errlist.c:1365
+msgid "Not a XENIX named type file"
+msgstr "Aucun fichier de type « XENIX named »"
-#: nscd/nscd.c:141
-msgid "cannot read configuration file; this is fatal"
-msgstr "Ne peut lire le fichier de configuration; cela est fatal"
+#: sysdeps/gnu/errlist.c:1373
+msgid "No XENIX semaphores available"
+msgstr "Aucun sémaphore XENIX disponible"
-#: nscd/nscd.c:152
-msgid "already running"
-msgstr "déjà en exécution"
+#: sysdeps/gnu/errlist.c:1381
+msgid "Is a named type file"
+msgstr "est un type de fichier nommé (named)"
-#: nscd/nscd.c:270 nscd/nscd.c:294 nscd/nscd_stat.c:132
-msgid "Only root is allowed to use this option!"
-msgstr "Seul ROOT est autorisé à utiliser cette option!"
+#: sysdeps/gnu/errlist.c:1389
+msgid "Remote I/O error"
+msgstr "Erreur d'entrée/sortie sur l'hôte cible"
-#: nscd/nscd_conf.c:88
-#, c-format
-msgid "Parse error: %s"
-msgstr "Erreur d'analyse syntaxique: %s"
+#: sysdeps/gnu/errlist.c:1397
+msgid "No medium found"
+msgstr "Aucun medium trouvé"
-#: nscd/nscd_conf.c:171
-#, c-format
-msgid "Could not create log file \"%s\""
-msgstr "Ne peut créer le journal « %s »"
+#: sysdeps/gnu/errlist.c:1405
+msgid "Wrong medium type"
+msgstr "Mauvais type de medium"
-#: nscd/nscd_conf.c:187
-msgid "Must specify user name for server-user option"
-msgstr "Obligation de spécifier le nom de l'usager pour l'option serveur-usager"
+#: sysdeps/gnu/errlist.c:1413
+msgid "Required key not available"
+msgstr "Clé requise non disponible"
-#: nscd/nscd_conf.c:194
-msgid "Must specify user name for stat-user option"
-msgstr "Obligation de spécifier le nom de l'usager pour l'option stat-user"
+#: sysdeps/gnu/errlist.c:1421
+msgid "Key has expired"
+msgstr "Expiration de la clé"
-#: nscd/nscd_conf.c:205
-#, c-format
-msgid "Unknown option: %s %s %s"
-msgstr "Option inconnue: %s %s %s"
+#: sysdeps/gnu/errlist.c:1429
+msgid "Key has been revoked"
+msgstr "La clé a été révoquée"
-#: nscd/nscd_stat.c:103
-#, c-format
-msgid "cannot write statistics: %s"
-msgstr "Ne peut écrire les statistiques: « %s »"
+#: sysdeps/gnu/errlist.c:1437
+msgid "Key was rejected by service"
+msgstr "La clé a été rejetée par le service"
-#: nscd/nscd_stat.c:128
-#, c-format
-msgid "Only root or %s is allowed to use this option!"
-msgstr "Seul ROOT ou %s est autorisé à utiliser cette option!"
+#: sysdeps/gnu/errlist.c:1445
+msgid "Owner died"
+msgstr "Propriétaire mort"
-#: nscd/nscd_stat.c:139
-msgid "nscd not running!\n"
-msgstr "nscd n'est pas en exécution!\n"
+#: sysdeps/gnu/errlist.c:1453
+msgid "State not recoverable"
+msgstr "Etat non récupérable"
-#: nscd/nscd_stat.c:150
-msgid "write incomplete"
-msgstr "écriture incomplète"
+#: sysdeps/mach/_strerror.c:57
+msgid "Error in unknown error system: "
+msgstr "Erreur provenant d'une erreur système inconnue : "
-#: nscd/nscd_stat.c:162
-msgid "cannot read statistics data"
-msgstr "Ne peut lire les données de statistiques"
+#: sysdeps/posix/gai_strerror-strs.h:1
+msgid "Address family for hostname not supported"
+msgstr "Famille d'adresses non supportée pour le nom de l'hôte"
-#: nscd/nscd_stat.c:165
-#, c-format
-msgid ""
-"nscd configuration:\n"
-"\n"
-"%15d server debug level\n"
-msgstr ""
-"Configuration nscd:\n"
-"\n"
-"%15d niveau serveur de déboggage\n"
+#: sysdeps/posix/gai_strerror-strs.h:2
+msgid "Temporary failure in name resolution"
+msgstr "Échec temporaire dans la résolution du nom"
-#: nscd/nscd_stat.c:189
-#, c-format
-msgid "%3ud %2uh %2um %2lus server runtime\n"
-msgstr "%3ud %2uh %2um %2lus temps d'exécution du serveur\n"
+#: sysdeps/posix/gai_strerror-strs.h:3
+msgid "Bad value for ai_flags"
+msgstr "Mauvaise valeur pour l'indicateur « ai_flags »"
-#: nscd/nscd_stat.c:192
-#, c-format
-msgid " %2uh %2um %2lus server runtime\n"
-msgstr " %2uh %2um %2lus temps d'exécution du serveur\n"
+#: sysdeps/posix/gai_strerror-strs.h:4
+msgid "Non-recoverable failure in name resolution"
+msgstr "Échec non récupérable lors de la résolution du nom"
-#: nscd/nscd_stat.c:194
-#, c-format
-msgid " %2um %2lus server runtime\n"
-msgstr " %2um %2lus temps d'exécution du serveur\n"
+#: sysdeps/posix/gai_strerror-strs.h:5
+msgid "ai_family not supported"
+msgstr "ai_family non supportée"
-#: nscd/nscd_stat.c:196
-#, c-format
-msgid " %2lus server runtime\n"
-msgstr " %2lus temps d'exécution du serveur\n"
+#: sysdeps/posix/gai_strerror-strs.h:6
+msgid "Memory allocation failure"
+msgstr "Échec d'allocation mémoire"
-#: nscd/nscd_stat.c:198
-#, c-format
-msgid "%15lu number of times clients had to wait\n"
-msgstr " %15lu nombre de fois que les clients doivent attendre\n"
+#: sysdeps/posix/gai_strerror-strs.h:7
+msgid "No address associated with hostname"
+msgstr "Aucune adresse associée avec le nom de l'hôte"
-#: nscd/nscd_stat.c:213 nscd/nscd_stat.c:215
-msgid " no"
-msgstr " non"
+#: sysdeps/posix/gai_strerror-strs.h:8
+msgid "Name or service not known"
+msgstr "Nom ou service inconnu"
-#: nscd/nscd_stat.c:213 nscd/nscd_stat.c:215
-msgid " yes"
-msgstr " oui"
+#: sysdeps/posix/gai_strerror-strs.h:9
+msgid "Servname not supported for ai_socktype"
+msgstr "Servname() n'est pas supportée pour ai_socktype"
-#: nscd/nscd_stat.c:221
-#, c-format
-msgid ""
-"\n"
-"%s cache:\n"
-"\n"
-"%15s cache is enabled\n"
-"%15Zu suggested size\n"
-"%15lu seconds time to live for positive entries\n"
-"%15lu seconds time to live for negative entries\n"
-"%15lu cache hits on positive entries\n"
-"%15lu cache hits on negative entries\n"
-"%15lu cache misses on positive entries\n"
-"%15lu cache misses on negative entries\n"
-"%15lu%% cache hit rate\n"
-"%15lu current number of cached values\n"
-"%15lu maximum number of cached values\n"
-"%15lu maximum chain length searched\n"
-"%15lu number of delays on rdlock\n"
-"%15lu number of delays on wrlock\n"
-"%15s check /etc/%s for changes\n"
-msgstr ""
-"\n"
-"%s mémoire cache:\n"
-"\n"
-"%15s mémoire cache est activée\n"
-"%15Zu taille suggérée\n"
-"%15lu durée de vie en secondes pour les entrées positives\n"
-"%15lu durée de vie en secondes pour les entrées négatives\n"
-"%15lu succès de repérage dans la cache pour les entrées positives\n"
-"%15lu succès de repérage dans la cache pour les entrées négatives\n"
-"%15lu échec de repérage dans la cache pour les entrées positives\n"
-"%15lu échec de repérage dans la cache pour les entrées négatives\n"
-"%15lu%% taux de succès de repérage dans la cache\n"
-"%15lu nombre courant de valeurs dans la cache\n"
-"%15lu nombre maximum de valeurs dans la cache\n"
-"%15lu longueur maximale de la chaîne recherchée\n"
-"%15lu valeur du délais pour rdlock\n"
-"%15lu valeur du délais pour wrlock\n"
-"%15s vérifier /etc/%s pour les changements\n"
-
-#: nscd/pwdcache.c:215
-#, c-format
-msgid "Haven't found \"%s\" in password cache!"
-msgstr "N'a pas trouvé « %s » dans la cache des mots de passe!"
+#: sysdeps/posix/gai_strerror-strs.h:10
+msgid "ai_socktype not supported"
+msgstr "ai_socktype non supporté"
-#: nscd/pwdcache.c:281
-#, c-format
-msgid "Invalid numeric uid \"%s\"!"
-msgstr "uid numérique invalide « %s »!"
+#: sysdeps/posix/gai_strerror-strs.h:11
+msgid "System error"
+msgstr "Erreur système"
-#: nscd/pwdcache.c:288
-#, c-format
-msgid "Haven't found \"%d\" in password cache!"
-msgstr "N'a pas trouvé « %d » dans la cache des mots de passe!"
+#: sysdeps/posix/gai_strerror-strs.h:12
+msgid "Processing request in progress"
+msgstr "Traitement de la requête en cours"
-#: elf/../sysdeps/generic/dl-sysdep.c:422
-msgid "cannot create capability list"
-msgstr "Ne peut créer une liste des possibilités"
+#: sysdeps/posix/gai_strerror-strs.h:13
+msgid "Request canceled"
+msgstr "Requête annulée"
-#: elf/../sysdeps/generic/readelflib.c:35
-#, c-format
-msgid "file %s is truncated\n"
-msgstr "fichier %s est tronqué\n"
+#: sysdeps/posix/gai_strerror-strs.h:14
+msgid "Request not canceled"
+msgstr "La requête ne peut être annulée"
-#: elf/../sysdeps/generic/readelflib.c:67
-#, c-format
-msgid "%s is a 32 bit ELF file.\n"
-msgstr "%s est un fichier ELF 32bits.\n"
+#: sysdeps/posix/gai_strerror-strs.h:15
+msgid "All requests done"
+msgstr "Toutes les requêtes exécutées"
-#: elf/../sysdeps/generic/readelflib.c:69
-#, c-format
-msgid "%s is a 64 bit ELF file.\n"
-msgstr "%s est un fichier ELF 64bits.\n"
+#: sysdeps/posix/gai_strerror-strs.h:16
+msgid "Interrupted by a signal"
+msgstr "Interrompu par un signal"
-#: elf/../sysdeps/generic/readelflib.c:71
-#, c-format
-msgid "Unknown ELFCLASS in file %s.\n"
-msgstr "ELFCLASS inconnue dans le fichier %s.\n"
+#: sysdeps/posix/gai_strerror-strs.h:17
+msgid "Parameter string not correctly encoded"
+msgstr "La chaîne paramètre n'est pas correctement encodée"
-#: elf/../sysdeps/generic/readelflib.c:78
-#, c-format
-msgid "%s is not a shared object file (Type: %d).\n"
-msgstr "%s n,est pas un fichier objet partagé (Type: %d).\n"
+#: sysdeps/unix/siglist.c:26
+msgid "Signal 0"
+msgstr "Signal 0"
-#: elf/../sysdeps/generic/readelflib.c:109
-msgid "more than one dynamic segment\n"
-msgstr "Plus d'un segment dynamique\n"
+#: sysdeps/unix/siglist.c:32
+msgid "IOT trap"
+msgstr "Trappe IOT"
-#: elf/../sysdeps/unix/sysv/linux/i386/readelflib.c:49
+#: sysdeps/unix/sysv/linux/i386/readelflib.c:49
#, c-format
msgid "%s is for unknown machine %d.\n"
msgstr "%s est pour une machine inconnue %d.\n"
-#: elf/cache.c:70
-msgid "unknown"
-msgstr "inconnu"
-
-#: elf/cache.c:111
-msgid "Unknown OS"
-msgstr "Système d'exploitation inconnu"
-
-#: elf/cache.c:116
+#: sysdeps/unix/sysv/linux/ia64/makecontext.c:63
#, c-format
-msgid ", OS ABI: %s %d.%d.%d"
-msgstr ", ABI Système d'exploitation: %s %d.%d.%d"
+msgid "makecontext: does not know how to handle more than 8 arguments\n"
+msgstr "makecontext : ne sait pas comment traiter plus de 8 arguments\n"
-#: elf/cache.c:142 elf/ldconfig.c:1078
+#: sysdeps/unix/sysv/linux/lddlibc4.c:64
#, c-format
-msgid "Can't open cache file %s\n"
-msgstr "Ne peut ouvrir le fichier de la cache %s\n"
-
-#: elf/cache.c:154
-msgid "mmap of cache file failed.\n"
-msgstr "ÉCHEC de la procédure mmap du fichier de cache\n"
-
-#: elf/cache.c:158 elf/cache.c:168
-msgid "File is not a cache file.\n"
-msgstr "Le fichier n'est pas un fichier de cache.\n"
+msgid "cannot open `%s'"
+msgstr "Ne peut ouvrir « %s »"
-#: elf/cache.c:201 elf/cache.c:211
+#: sysdeps/unix/sysv/linux/lddlibc4.c:68
#, c-format
-msgid "%d libs found in cache `%s'\n"
-msgstr "%d libs trouvé dans la cache « %s »\n"
+msgid "cannot read header from `%s'"
+msgstr "Ne peut lire l'en-tête de « %s »"
-#: elf/cache.c:410
-#, c-format
-msgid "Can't remove old temporary cache file %s"
-msgstr "Ne peut enlever le vieux fichier temporaire %s"
+#: timezone/zdump.c:211
+msgid "lacks alphabetic at start"
+msgstr "Il manque un lettre de l'alphabet au début"
-#: elf/cache.c:417
-#, c-format
-msgid "Can't create temporary cache file %s"
-msgstr "Ne peut créer un fichier de cache temporaire %s"
+#: timezone/zdump.c:213
+msgid "has fewer than 3 alphabetics"
+msgstr "a moins de 3 lettres alphabétiques"
-#: elf/cache.c:425 elf/cache.c:434 elf/cache.c:438
-msgid "Writing of cache data failed"
-msgstr "ÉCHEC d'écriture des données de la cache"
+#: timezone/zdump.c:215
+msgid "has more than 6 alphabetics"
+msgstr "a plus de 6 lettres alphabétiques"
-#: elf/cache.c:442
-msgid "Writing of cache data failed."
-msgstr "ÉCHEC d'écriture des données de cache"
+#: timezone/zdump.c:223
+msgid "differs from POSIX standard"
+msgstr "diffère du standard POSIX"
-#: elf/cache.c:449
+#: timezone/zdump.c:229
#, c-format
-msgid "Changing access rights of %s to %#o failed"
-msgstr "ÉCHEC de modification des droits d'accès de %s à %#o"
+msgid "%s: warning: zone \"%s\" abbreviation \"%s\" %s\n"
+msgstr "%s : attention : zone \"%s\" abréviation \"%s\" %s\n"
-#: elf/cache.c:454
+#: timezone/zdump.c:280
#, c-format
-msgid "Renaming of %s to %s failed"
-msgstr "ÉCHEC du changement de nom de %s vers %s"
-
-#: elf/dl-close.c:128
-msgid "shared object not open"
-msgstr "Objet partagé non ouvert"
-
-#: elf/dl-close.c:531 elf/dl-open.c:454
-msgid "TLS generation counter wrapped! Please send report with the 'glibcbug' script."
-msgstr "Compteut de génération TLS a bouclé! SVP expédier un rapport avec le script 'glibcbug'"
+msgid "%s: usage is %s [ --version ] [ -v ] [ -c [loyear,]hiyear ] zonename ...\n"
+msgstr "%s : usage est %s [ --version ] [ -v ] [ -c [AnnéeBasse,]AnnéeHaute ] nom_du_fuseau_horaire ...\n"
-#: elf/dl-deps.c:111 elf/dl-open.c:183
-msgid "DST not allowed in SUID/SGID programs"
-msgstr "DST non permis dans un programme SUID/SGID"
-
-#: elf/dl-deps.c:124
-msgid "empty dynamics string token substitution"
-msgstr "chaîne dynamique vide de jeton de substition"
-
-#: elf/dl-deps.c:130
+#: timezone/zdump.c:297
#, c-format
-msgid "cannot load auxiliary `%s' because of empty dynamic string token substitution\n"
-msgstr "ne peut charger l'auxiliaire « %s » en raison d'une chaîne dynamique de substitution de jeton vide\n"
-
-#: elf/dl-deps.c:461
-msgid "cannot allocate dependency list"
-msgstr "Ne peut allouer une liste de dépendances"
-
-#: elf/dl-deps.c:494 elf/dl-deps.c:549
-msgid "cannot allocate symbol search list"
-msgstr "Ne peut allouer la liste des symboles recherchées"
-
-#: elf/dl-deps.c:534
-msgid "Filters not supported with LD_TRACE_PRELINKING"
-msgstr "Filtres non supportés avec LD_TRACE_PRELINKING"
-
-#: elf/dl-error.c:75
-msgid "DYNAMIC LINKER BUG!!!"
-msgstr "PROBLÈME DANS LE CHARGEUR DE LIENS DYNAMIQUES"
-
-#: elf/dl-error.c:108
-msgid "error while loading shared libraries"
-msgstr "erreur lors du chargement des librairies partagées"
-
-#: elf/dl-load.c:347
-msgid "cannot allocate name record"
-msgstr "Ne peut allouer une nom d'enregistrement"
-
-#: elf/dl-load.c:449 elf/dl-load.c:528 elf/dl-load.c:648 elf/dl-load.c:743
-msgid "cannot create cache for search path"
-msgstr "Ne peut créer une cache pour le chemin de recherche"
-
-#: elf/dl-load.c:551
-msgid "cannot create RUNPATH/RPATH copy"
-msgstr "Ne peut créer une copie RUNPATH/RPATH"
-
-#: elf/dl-load.c:634
-msgid "cannot create search path array"
-msgstr "Ne peut créer un tableau des chemins de recherche"
-
-#: elf/dl-load.c:830
-msgid "cannot stat shared object"
-msgstr "Échec évaluer par stat() l'objet partagé"
-
-#: elf/dl-load.c:874
-msgid "cannot open zero fill device"
-msgstr "Ne peut ouvrir le fichier de périphérique rempli de zéros"
-
-#: elf/dl-load.c:883 elf/dl-load.c:1929
-msgid "cannot create shared object descriptor"
-msgstr "Ne peut créer un objet descripteur partagé"
-
-#: elf/dl-load.c:902 elf/dl-load.c:1470 elf/dl-load.c:1553
-msgid "cannot read file data"
-msgstr "Ne peut lire le fichier de données"
-
-#: elf/dl-load.c:946
-msgid "ELF load command alignment not page-aligned"
-msgstr "Commande de chargement sur une page ELF qui n'est pas alignée"
-
-#: elf/dl-load.c:953
-msgid "ELF load command address/offset not properly aligned"
-msgstr "Commande de chargement sur une adresse ELF incorrectement alignée"
-
-#: elf/dl-load.c:1037
-msgid "cannot allocate TLS data structures for initial thread"
-msgstr "ne peut allouer une structure de données TLS pour un thread initial"
-
-#: elf/dl-load.c:1061
-msgid "cannot handle TLS data"
-msgstr "ne peut traiter les données TLS"
-
-#: elf/dl-load.c:1075
-msgid "object file has no loadable segments"
-msgstr "Le fichier objet n'a pas de segments de chargement"
-
-#: elf/dl-load.c:1110
-msgid "failed to map segment from shared object"
-msgstr "Échec d'adressage (mapping) du segement de l'objet partagé"
-
-#: elf/dl-load.c:1135
-msgid "cannot dynamically load executable"
-msgstr "Ne peut dynamiquement charger un exécutable"
-
-#: elf/dl-load.c:1191
-msgid "cannot change memory protections"
-msgstr "Ne peut modifier les protections de mémoire"
-
-#: elf/dl-load.c:1210
-msgid "cannot map zero-fill pages"
-msgstr "Ne peut adresser des pages rempliez de zéros"
-
-#: elf/dl-load.c:1228
-msgid "cannot allocate memory for program header"
-msgstr "Ne peut allouer de la mémoire pour une en-tête de programme"
-
-#: elf/dl-load.c:1259
-msgid "object file has no dynamic section"
-msgstr "Le fichier objet n'a pas de section dynamique"
-
-#: elf/dl-load.c:1299
-msgid "shared object cannot be dlopen()ed"
-msgstr "L'objet partagé ne peut pas être ouvert via dlopen()"
-
-#: elf/dl-load.c:1322
-msgid "cannot create searchlist"
-msgstr "Ne peut créer une liste de recherche"
-
-#: elf/dl-load.c:1352
-msgid "cannot enable executable stack as shared object requires"
-msgstr "ne peut autoriser un pile exécutable comme l'objet partagé le requiert"
-
-#: elf/dl-load.c:1470
-msgid "file too short"
-msgstr "Fichier trop court"
-
-#: elf/dl-load.c:1493
-msgid "invalid ELF header"
-msgstr "En-tête ELF invalide"
-
-#: elf/dl-load.c:1502
-msgid "ELF file data encoding not big-endian"
-msgstr "Données d'encodage du fichier ELF n'est pas big-endian"
-
-#: elf/dl-load.c:1504
-msgid "ELF file data encoding not little-endian"
-msgstr "Données d'encodage du fichier ELF n'est pas little-endian"
-
-#: elf/dl-load.c:1508
-msgid "ELF file version ident does not match current one"
-msgstr "Identificateur de version du fichier ELF ne concorde pas avec la version courante"
-
-#: elf/dl-load.c:1512
-msgid "ELF file OS ABI invalid"
-msgstr "Système d'exploitation du fichier ELF ABI invalide"
-
-#: elf/dl-load.c:1514
-msgid "ELF file ABI version invalid"
-msgstr "Version du fichier ELF ABI invalide"
-
-#: elf/dl-load.c:1517
-msgid "internal error"
-msgstr "Erreur interne"
-
-#: elf/dl-load.c:1524
-msgid "ELF file version does not match current one"
-msgstr "Version du fichier ELF ne concorde pas avec la version courante"
-
-#: elf/dl-load.c:1532
-msgid "ELF file's phentsize not the expected size"
-msgstr "« Phentize » du fichier ELF ne concorde pas avec la taille prévue"
-
-#: elf/dl-load.c:1538
-msgid "only ET_DYN and ET_EXEC can be loaded"
-msgstr "Seuls ET_DYN et ET_EXEC peuvent être chargés"
-
-#: elf/dl-load.c:1944
-msgid "cannot open shared object file"
-msgstr "Ne peut ouvrir le fichier d'objet partagé"
-
-#: elf/dl-lookup.c:265 elf/dl-lookup.c:443
-msgid "relocation error"
-msgstr "erreur de relocalisation"
-
-#: elf/dl-open.c:111
-msgid "cannot extend global scope"
-msgstr "Ne peut augmenter l'étendue de la plage"
-
-#: elf/dl-open.c:214
-msgid "empty dynamic string token substitution"
-msgstr "La chaîne dynamique d'un jeton de substition est vide."
-
-#: elf/dl-open.c:361 elf/dl-open.c:372
-msgid "cannot create scope list"
-msgstr "ne peut créer une liste d'étendue"
-
-#: elf/dl-open.c:434
-msgid "cannot create TLS data structures"
-msgstr "ne peut créer les structures de données TLS"
-
-#: elf/dl-open.c:496
-msgid "invalid mode for dlopen()"
-msgstr "mode invalide pour dlopen()"
-
-#: elf/dl-reloc.c:57
-msgid "cannot allocate memory in static TLS block"
-msgstr "Ne peut allouer de la mémoire dans un bloc statique TLS"
-
-#: elf/dl-reloc.c:176
-msgid "cannot make segment writable for relocation"
-msgstr "Ne peut rendre le segment inscritible lors d'une relocalisation"
-
-#: elf/dl-reloc.c:277
-#, c-format
-msgid "%s: profiler found no PLTREL in object %s\n"
-msgstr "%s: profileur n'a repéré aucun PLTREL dans l'objet %s\n"
-
-#: elf/dl-reloc.c:289
-#, c-format
-msgid "%s: profiler out of memory shadowing PLTREL of %s\n"
-msgstr "%s: profileur mémoire épuisée par l'ombrage PLTREL de %s\n"
-
-#: elf/dl-reloc.c:304
-msgid "cannot restore segment prot after reloc"
-msgstr "ne peut restaurer le segment prot après reloc"
-
-#: elf/dl-sym.c:74 elf/dl-sym.c:145
-msgid "RTLD_NEXT used in code not dynamically loaded"
-msgstr "RTLD_NEXT utilisé dans le code n'est pas chargé dynamiquement"
-
-#: elf/dl-version.c:303
-msgid "cannot allocate version reference table"
-msgstr "Ne peut allouer une version de table de référence"
-
-#: elf/ldconfig.c:122
-msgid "Print cache"
-msgstr "Afficher la cache"
-
-#: elf/ldconfig.c:123
-msgid "Generate verbose messages"
-msgstr "Afficher des messages en mode verbeux"
-
-#: elf/ldconfig.c:124
-msgid "Don't build cache"
-msgstr "N'a pas construit la cache"
-
-#: elf/ldconfig.c:125
-msgid "Don't generate links"
-msgstr "N'a pas générer de liens"
-
-#: elf/ldconfig.c:126
-msgid "Change to and use ROOT as root directory"
-msgstr "Positionné et utilisation de ROOT comme répertoire racine"
-
-#: elf/ldconfig.c:127
-msgid "Use CACHE as cache file"
-msgstr "Utilisation de CACHE comme ficher de cache"
-
-#: elf/ldconfig.c:128
-msgid "Use CONF as configuration file"
-msgstr "Utilisation de CONF comme fichier de configuration"
-
-#: elf/ldconfig.c:129
-msgid "Only process directories specified on the command line. Don't build cache."
-msgstr "Traitement uniquement des répertoires spécifiés sur le ligne de commande. N'a pas construit de cache."
-
-#: elf/ldconfig.c:130
-msgid "Manually link individual libraries."
-msgstr "Lier manuellement les librairies individuelles"
-
-#: elf/ldconfig.c:131
-msgid "Format to use: new, old or compat (default)"
-msgstr "Format à utiliser: nouveau, ancien ou compatible (par défaut)"
-
-#: elf/ldconfig.c:139
-msgid "Configure Dynamic Linker Run Time Bindings."
-msgstr "Configuration dynamique des éditions de liens lors de l'exécution"
+msgid "%s: wild -c argument %s\n"
+msgstr "%s : argument -c intempestif %s\n"
-#: elf/ldconfig.c:297
-#, c-format
-msgid "Path `%s' given more than once"
-msgstr "Chemin « %s » donné plus d'une fois"
+#: timezone/zdump.c:388
+msgid "Error writing to standard output"
+msgstr "Erreur d'écriture sur la sortie standard"
-#: elf/ldconfig.c:341
+#: timezone/zdump.c:411
#, c-format
-msgid "%s is not a known library type"
-msgstr "%s n'est pas un type de librairie connue"
+msgid "%s: use of -v on system with floating time_t other than float or double\n"
+msgstr "%s : usage de -v sur un système avec time_t flottant autre que float ou double\n"
-#: elf/ldconfig.c:361
+#: timezone/zic.c:392
#, c-format
-msgid "Can't stat %s"
-msgstr "Ne peut évaluer par stat %s"
+msgid "%s: Memory exhausted: %s\n"
+msgstr "%s : mémoire épuisée : %s\n"
-#: elf/ldconfig.c:431
+#: timezone/zic.c:451
#, c-format
-msgid "Can't stat %s\n"
-msgstr "Ne peut évaluer par stat %s\n"
+msgid "\"%s\", line %d: %s"
+msgstr "« %s », ligne %d : %s"
-#: elf/ldconfig.c:441
+#: timezone/zic.c:454
#, c-format
-msgid "%s is not a symbolic link\n"
-msgstr "%s n,est pas un lien symbolique\n"
+msgid " (rule from \"%s\", line %d)"
+msgstr " (règles de « %s », ligne %d)"
-#: elf/ldconfig.c:460
-#, c-format
-msgid "Can't unlink %s"
-msgstr "Ne peut enlever le lien (unlink) %s"
+#: timezone/zic.c:466
+msgid "warning: "
+msgstr "AVERTISSEMENT : "
-#: elf/ldconfig.c:466
+#: timezone/zic.c:476
#, c-format
-msgid "Can't link %s to %s"
-msgstr "Ne peut établir un lien entre %s et %s"
-
-#: elf/ldconfig.c:472
-msgid " (changed)\n"
-msgstr " (a été modifié)\n"
-
-#: elf/ldconfig.c:474
-msgid " (SKIPPED)\n"
-msgstr " (ESCAMOTÉ)\n"
+msgid ""
+"%s: usage is %s [ --version ] [ -v ] [ -l localtime ] [ -p posixrules ] \\\n"
+"\t[ -d directory ] [ -L leapseconds ] [ -y yearistype ] [ filename ... ]\n"
+msgstr ""
+"%s : l'usage is %s [ --version ] [ -v ] [ -l temps_local ] [ -p règles_posix ] \\\n"
+"\t[ -d dossier ] [ -L secondes_écoulées ] [ -y type_année ] [ fichier ... ]\n"
-#: elf/ldconfig.c:529
-#, c-format
-msgid "Can't find %s"
-msgstr "Ne peut repérer %s"
+#: timezone/zic.c:511
+msgid "wild compilation-time specification of zic_t"
+msgstr "compilation sauvage-specification du temps de zic_t"
-#: elf/ldconfig.c:545
+#: timezone/zic.c:528
#, c-format
-msgid "Can't lstat %s"
-msgstr "Ne peut évaluer par lstat %s"
+msgid "%s: More than one -d option specified\n"
+msgstr "%s : option -d spécifiée plus d'une fois\n"
-#: elf/ldconfig.c:552
+#: timezone/zic.c:538
#, c-format
-msgid "Ignored file %s since it is not a regular file."
-msgstr "Ignorer le fichier %s étant donné que ce n'est pas un fichier régulier"
+msgid "%s: More than one -l option specified\n"
+msgstr "%s : option -l spécifiée plus d'une fois\n"
-#: elf/ldconfig.c:560
+#: timezone/zic.c:548
#, c-format
-msgid "No link created since soname could not be found for %s"
-msgstr "Aucun lien créé étant donné qu'il n'a pas été repéré pour %s"
+msgid "%s: More than one -p option specified\n"
+msgstr "%s : option -p spécifiée plus d'une fois\n"
-#: elf/ldconfig.c:651
+#: timezone/zic.c:558
#, c-format
-msgid "Can't open directory %s"
-msgstr "Ne peut ouvrir le répertoire %s"
+msgid "%s: More than one -y option specified\n"
+msgstr "%s : option -y spécifiée plus d'une fois\n"
-#: elf/ldconfig.c:706 elf/ldconfig.c:753
+#: timezone/zic.c:568
#, c-format
-msgid "Cannot lstat %s"
-msgstr "Ne peut évaluer par lstat %s"
+msgid "%s: More than one -L option specified\n"
+msgstr "%s : option -L spécifiée plus d'une fois\n"
-#: elf/ldconfig.c:718
-#, c-format
-msgid "Cannot stat %s"
-msgstr "Ne peut évaluer par stat %s"
+#: timezone/zic.c:617
+msgid "link to link"
+msgstr "lien à lien"
-#: elf/ldconfig.c:775 elf/readlib.c:92
-#, c-format
-msgid "Input file %s not found.\n"
-msgstr "Fichier d'entrée %s non repéré\n"
+#: timezone/zic.c:682
+msgid "hard link failed, symbolic link used"
+msgstr "Échec de création du lien direct, création d'un lien symbolique"
-#: elf/ldconfig.c:826
+#: timezone/zic.c:690
#, c-format
-msgid "libc5 library %s in wrong directory"
-msgstr "librairie libc5 %s est dans le mauvais répertoire"
+msgid "%s: Can't link from %s to %s: %s\n"
+msgstr "%s : ne peut établir un lien entre %s et %s : %s\n"
-#: elf/ldconfig.c:829
-#, c-format
-msgid "libc6 library %s in wrong directory"
-msgstr "librairie libc6 %s est dans el mauvais répertoire"
+#: timezone/zic.c:762 timezone/zic.c:764
+msgid "same rule name in multiple files"
+msgstr "Même nom de règle dans plusieurs fichiers"
-#: elf/ldconfig.c:832
-#, c-format
-msgid "libc4 library %s in wrong directory"
-msgstr "librairie libc4 %s est dans le mauvais répertoire"
+#: timezone/zic.c:805
+msgid "unruly zone"
+msgstr "Zone sans règle"
-#: elf/ldconfig.c:859
+#: timezone/zic.c:812
#, c-format
-msgid "libraries %s and %s in directory %s have same soname but different type."
-msgstr "Les librairies %s et %s du répertoire %s ont le même nom mais sont de types différents"
+msgid "%s in ruleless zone"
+msgstr "%s est dans une zone sans règle"
-#: elf/ldconfig.c:962
-#, c-format
-msgid "Can't open configuration file %s"
-msgstr "Ne peut ouvrir le fichier de configuration %s"
+#: timezone/zic.c:833
+msgid "standard input"
+msgstr "entrée standard"
-#: elf/ldconfig.c:1033
+#: timezone/zic.c:838
#, c-format
-msgid "relative path `%s' used to build cache"
-msgstr "chemin relatif `%s' utilisé pour construire la cache"
+msgid "%s: Can't open %s: %s\n"
+msgstr "%s : ne peut ouvrir %s : %s\n"
-#: elf/ldconfig.c:1057
-msgid "Can't chdir to /"
-msgstr "Ne peut se positionner (chdir) dans /"
+#: timezone/zic.c:849
+msgid "line too long"
+msgstr "Ligne trop longue"
-#: elf/ldconfig.c:1099
-#, c-format
-msgid "Can't open cache file directory %s\n"
-msgstr "Ne peut ouvrir le fichier de la cache des répertoires %s\n"
+#: timezone/zic.c:869
+msgid "input line of unknown type"
+msgstr "Ligne d'entrée de type inconnu"
-#: elf/readlib.c:98
+#: timezone/zic.c:885
#, c-format
-msgid "Cannot fstat file %s.\n"
-msgstr "Ne peut évaluer par fstat() %s\n"
+msgid "%s: Leap line in non leap seconds file %s\n"
+msgstr ""
+"%s : ligne de type « Leap » dans un fichier qui n'a pas\n"
+"de délai en secondes %s\n"
-#: elf/readlib.c:108
+#: timezone/zic.c:892 timezone/zic.c:1329 timezone/zic.c:1351
#, c-format
-msgid "File %s is too small, not checked."
-msgstr "Fichier %s trop petit, n'a pas été vérifié."
+msgid "%s: panic: Invalid l_value %d\n"
+msgstr "%s : panique : valeur %d de type « l_value » invalide\n"
-#: elf/readlib.c:117
+#: timezone/zic.c:900
#, c-format
-msgid "Cannot mmap file %s.\n"
-msgstr "Erreur de la procédure mmap du fichier %s\n"
+msgid "%s: Error reading %s\n"
+msgstr "%s : erreur de lecture de %s\n"
-#: elf/readlib.c:155
+#: timezone/zic.c:907
#, c-format
-msgid "%s is not an ELF file - it has the wrong magic bytes at the start.\n"
-msgstr "%s n'est pas un fichier de type ELF - il a le mauvais nombre d'octet au début.\n"
-
-#: elf/sprof.c:72
-msgid "Output selection:"
-msgstr "Sélection de sortie:"
-
-#: elf/sprof.c:74
-msgid "print list of count paths and their number of use"
-msgstr "Afficher le décompte des chemins et le nombre de leur utilisation"
-
-#: elf/sprof.c:76
-msgid "generate flat profile with counts and ticks"
-msgstr "Générer un ficher de profilage plat avec les décomptes et les marques de temps"
+msgid "%s: Error closing %s: %s\n"
+msgstr "%s : erreur lors de la fermeture de %s : %s\n"
-#: elf/sprof.c:77
-msgid "generate call graph"
-msgstr "générer un appel de graphe"
+#: timezone/zic.c:912
+msgid "expected continuation line not found"
+msgstr "ligne de continuation attendue, non repérée"
-#: elf/sprof.c:84
-msgid "Read and display shared object profiling data"
-msgstr "Lire et afficher les données partagées d'objet de profilage"
+#: timezone/zic.c:956 timezone/zic.c:2489 timezone/zic.c:2508
+msgid "time overflow"
+msgstr "Débordement du temps alloué"
-#: elf/sprof.c:87
-msgid "SHOBJ [PROFDATA]"
-msgstr "SHOBJ [PROFDATA]"
+#: timezone/zic.c:960
+msgid "24:00 not handled by pre-1998 versions of zic"
+msgstr "24 : 00 non pris en charge par les versions de zic antérieures à1998 "
-#: elf/sprof.c:398
-#, c-format
-msgid "failed to load shared object `%s'"
-msgstr "échec de chargement de l'objet partagé « %s »"
+#: timezone/zic.c:963
+msgid "values over 24 hours not handled by pre-2007 versions of zic"
+msgstr "valeurs au-delà de 24 heures non prises en charge par les versions de zic antérieures à 2007"
-#: elf/sprof.c:407
-msgid "cannot create internal descriptors"
-msgstr "Ne peut créer les descripteurs internes"
+#: timezone/zic.c:976
+msgid "wrong number of fields on Rule line"
+msgstr "Mauvais nombre de champs sur la ligne de type « Rule »"
-#: elf/sprof.c:526
-#, c-format
-msgid "Reopening shared object `%s' failed"
-msgstr "Échec de réouverture de l'objet partagé « %s »"
+#: timezone/zic.c:980
+msgid "nameless rule"
+msgstr "Règle sans nom"
-#: elf/sprof.c:534
-msgid "mapping of section headers failed"
-msgstr "Échec d'adressage de la section d'en-tête"
+#: timezone/zic.c:985
+msgid "invalid saved time"
+msgstr "Temps sauvegardé invalide"
-#: elf/sprof.c:544
-msgid "mapping of section header string table failed"
-msgstr "Échec d'adressage de la chaîne de la section d'en-tête"
+#: timezone/zic.c:1006
+msgid "wrong number of fields on Zone line"
+msgstr "Mauvais nombre de champs sur la ligne de type « Zone »"
-#: elf/sprof.c:564
+#: timezone/zic.c:1012
#, c-format
-msgid "*** The file `%s' is stripped: no detailed analysis possible\n"
-msgstr "*** Le fichier « %s » a été élagué: aucune analyse détaillée possible\n"
-
-#: elf/sprof.c:594
-msgid "failed to load symbol data"
-msgstr "Échec du chargement de données de symbole"
-
-#: elf/sprof.c:664
-msgid "cannot load profiling data"
-msgstr "Ne peut charger le fichier de données de profilage"
-
-#: elf/sprof.c:673
-msgid "while stat'ing profiling data file"
-msgstr "lors de l'évaluation par stat() du fichier de données de profilage"
+msgid "\"Zone %s\" line and -l option are mutually exclusive"
+msgstr "La ligne \"Zone %s\" et l'option -l sont mutuellement exclusifs"
-#: elf/sprof.c:681
+#: timezone/zic.c:1020
#, c-format
-msgid "profiling data file `%s' does not match shared object `%s'"
-msgstr "Le fichier de données de profilage « %s » ne concorde pas avec l'objet partagé « %s »."
-
-#: elf/sprof.c:692
-msgid "failed to mmap the profiling data file"
-msgstr "Échec de la procédure mmap sur le fichier de données de profilage"
-
-#: elf/sprof.c:700
-msgid "error while closing the profiling data file"
-msgstr "erreur lors de la fermeture du fichier de données de profilage"
-
-#: elf/sprof.c:709 elf/sprof.c:779
-msgid "cannot create internal descriptor"
-msgstr "Ne peut créer un descripteur interne"
+msgid "\"Zone %s\" line and -p option are mutually exclusive"
+msgstr "La ligne \"Zone %s\" et l'option -p sont mutuellement exclusifs"
-#: elf/sprof.c:755
+#: timezone/zic.c:1032
#, c-format
-msgid "`%s' is no correct profile data file for `%s'"
-msgstr "« %s » est un fichier de profilage incorrect pour « %s »"
-
-#: elf/sprof.c:936 elf/sprof.c:988
-msgid "cannot allocate symbol data"
-msgstr "Ne peut allouer les données des symboles"
-
-#~ msgid "shared object cannot be dlopen()ed: static TLS memory too small"
-#~ msgstr "l'objet partagé ne peut pas être ouvert via dlopen(): mémoire statiques TLS trop petite"
-
-#~ msgid "\t\t\t\t\t\t\t %s: value for field `%s' must be in range %d...%d"
-#~ msgstr "\t\t\t\t\t\t\t %s: valeur du champ « %s » doit être dans la gamme %d...%d"
-
-#~ msgid "Failed to look up user '%s' to run server as"
-#~ msgstr "ÉCHEC de repérage de l'usager « %s » pour exécuter le serveur comme étant"
-
-#~ msgid "no filename for profiling data given and shared object `%s' has no soname"
-#~ msgstr "Aucun fichier de données de profilage fourni et l'objet partagé « %s » n'a pas le nom donné"
-
-#~ msgid "%s: Error writing "
-#~ msgstr "%s: erreur d'écriture "
-
-#~ msgid "CDS"
-#~ msgstr "CDS"
-
-#~ msgid "DNANS"
-#~ msgstr "DNANS"
-
-#~ msgid "DNS"
-#~ msgstr "DNS"
-
-#~ msgid "IVY"
-#~ msgstr "IVY"
-
-#~ msgid "NIS"
-#~ msgstr "NIS"
-
-#~ msgid "SUNYP"
-#~ msgstr "SUNYP"
-
-#~ msgid "X500"
-#~ msgstr "X500"
-
-#~ msgid "XCHS"
-#~ msgstr "XCHS"
-
-#~ msgid "cannot load shared object file"
-#~ msgstr "Ne peut charger le fichier d'objet partagé"
-
-#~ msgid "cannot read locale directory `%s'"
-#~ msgstr "Ne peut lire via le répertoire des définitions localisées `%s'"
-
-#~ msgid "fcntl: F_SETFD"
-#~ msgstr "fcntl: F_SETFD"
-
-#~ msgid "neither original nor target encoding specified"
-#~ msgstr "Ni l'encodage d'origine et cible n'ont été spécifié"
-
-#~ msgid "original encoding not specified using `-f'"
-#~ msgstr "Encodage d'origine non spécifié utilisation de `-f'"
-
-#~ msgid "standard output"
-#~ msgstr "sortie standard"
-
-#~ msgid "target encoding not specified using `-t'"
-#~ msgstr "encodage cible non spécifiée par l'option `-t'"
-
-#~ msgid " done\n"
-#~ msgstr " complété\n"
-
-#~ msgid "%s: cannot get modification time"
-#~ msgstr "%s: ne peut obtenir la date de modification"
+msgid "duplicate zone name %s (file \"%s\", line %d)"
+msgstr "Double noms de zone %s (fichier « %s », ligne %d)"
-#~ msgid "Computing table size for character classes might take a while..."
-#~ msgstr ""
-#~ "Le calcul de la taille de la table des classes de caractères\n"
-#~ "peut prendre un certain temps..."
+#: timezone/zic.c:1048
+msgid "wrong number of fields on Zone continuation line"
+msgstr "Mauvais nombre de champs sur la ligne de type continuation de « Zone »"
-#~ msgid "Computing table size for collation information might take a while..."
-#~ msgstr ""
-#~ "Le calcul de la taille de la table pour le fusionnement des informations\n"
-#~ "peut prendre un certain temps..."
+#: timezone/zic.c:1088
+msgid "invalid UTC offset"
+msgstr "Adressage relatif GMT invalide"
-#~ msgid "Convert key to lower case"
-#~ msgstr "Conversion des caractères en minuscules"
+#: timezone/zic.c:1091
+msgid "invalid abbreviation format"
+msgstr "Format d'abréviation invalide"
-#~ msgid "Create simple DB database from textual input."
-#~ msgstr "Créer une base de données DB simple à partir des entrées textuelles"
+#: timezone/zic.c:1120
+msgid "Zone continuation line end time is not after end time of previous line"
+msgstr ""
+"Temps final de la ligne de continuation du fuseau horaire est antérieur\n"
+"au temps final de la ligne précédente"
-#~ msgid "Device not configured"
-#~ msgstr "Périphérique non configuré"
+#: timezone/zic.c:1148
+msgid "wrong number of fields on Leap line"
+msgstr "Mauvais nombre de champs sur la ligne de type « Leap »"
-#~ msgid "Do not print messages while building database"
-#~ msgstr "Ne pas afficher de message lors de la génération de la base de données"
+#: timezone/zic.c:1157
+msgid "invalid leaping year"
+msgstr "Année bissextile invalide"
-#~ msgid ""
-#~ "INPUT-FILE OUTPUT-FILE\n"
-#~ "-o OUTPUT-FILE INPUT-FILE\n"
-#~ "-u INPUT-FILE"
-#~ msgstr ""
-#~ "FICHIER_D_ENTRÉE FICHIER_DE_SORTIE\n"
-#~ "-o FICHIER_DE_SORTIE FICHIER_D_ENTRÉE\n"
-#~ "-u FICHIER_D_ENTRÉE"
+#: timezone/zic.c:1177 timezone/zic.c:1283
+msgid "invalid month name"
+msgstr "Nom de mois invalide"
-#~ msgid "Print content of database file, one entry a line"
-#~ msgstr "Afficher le contenu du fichier de base de données, une entrée par ligne"
+#: timezone/zic.c:1190 timezone/zic.c:1396 timezone/zic.c:1410
+msgid "invalid day of month"
+msgstr "Jour du mois invalide"
-#~ msgid "`...' must only be used in `...' and `UNDEFINED' entries"
-#~ msgstr "`...' doit être utilisé seulement avec les entrées `...' et `UNDEFINED'"
+# time/zic.c:1120A
+#: timezone/zic.c:1195
+msgid "time before zero"
+msgstr "Temps défini avant le zéro"
-#~ msgid "`from' expected after first argument to `collating-element'"
-#~ msgstr "`from' attendu après le premier argument de `collating-element'"
+#: timezone/zic.c:1199
+msgid "time too small"
+msgstr "valeur de temps trop petite"
-#~ msgid "`from' string in collation element declaration contains unknown character"
-#~ msgstr "La chaîne `FROM' déclarant un élément de fusionnement contient un caractère inconnu."
+#: timezone/zic.c:1203
+msgid "time too large"
+msgstr "valeur de temps trop grande"
-#~ msgid "buffer overflow"
-#~ msgstr "Débordement du tampon"
+#: timezone/zic.c:1207 timezone/zic.c:1312
+msgid "invalid time of day"
+msgstr "Heure du jour invalide"
-#~ msgid "cannot insert collation element `%.*s'"
-#~ msgstr "Ne peut insérer l'élément de fusionnement `%.*s'"
+#: timezone/zic.c:1226
+msgid "illegal CORRECTION field on Leap line"
+msgstr "champ CORRECTION non permis dans la ligne de type « Leap »"
-#~ msgid "cannot insert new collating symbol definition: %s"
-#~ msgstr "Ne peut insérer une nouvelle définition de symbole de fusionnement: %s"
+#: timezone/zic.c:1231
+msgid "illegal Rolling/Stationary field on Leap line"
+msgstr "Champ « Rolling/Stationary » non permis sur la ligne de type « Leap »"
-#~ msgid "cannot open database file `%s': %s"
-#~ msgstr "Ne peut ouvrir le fichier de base de données `%s': %s"
+#: timezone/zic.c:1247
+msgid "wrong number of fields on Link line"
+msgstr "Mauvais nombre de champs sur la ligne de type « Link »"
-#~ msgid "category data requested more than once: should not happen"
-#~ msgstr "Catégorie de données requises plus d'une fois: n'aurait pas dû se produire"
+#: timezone/zic.c:1251
+msgid "blank FROM field on Link line"
+msgstr "Champ « FROM » vide dans la ligne de type « Link »"
-#~ msgid "character L'%s' (index %Zd) in class `%s' must be in class `%s'"
-#~ msgstr "Caractère L'%s' (index %Zd) de la classe `%s' doit être dans la classe `%s'"
+#: timezone/zic.c:1255
+msgid "blank TO field on Link line"
+msgstr "Champ « TO » vide dans la ligne de type « Link »"
-#~ msgid "character L'%s' (index %Zd) in class `%s' must not be in class `%s'"
-#~ msgstr "Caractère L'%s' (index %Zd) de la classe `%s' ne doit pas être dans la classe `%s'"
+#: timezone/zic.c:1333
+msgid "invalid starting year"
+msgstr "Année initiale invalide"
-#~ msgid "collation element `%.*s' appears more than once: ignore line"
-#~ msgstr "Élément de fusionnement `%.*s' apparaît plus d'une fois: ligne ignorée"
+#: timezone/zic.c:1355
+msgid "invalid ending year"
+msgstr "Année finale invalide"
-#~ msgid "collation symbol `%.*s' appears more than once: ignore line"
-#~ msgstr "Symbole de fusionnement `%.*s' apparaît plus d'une fois: ligne ignorée"
+#: timezone/zic.c:1359
+msgid "starting year greater than ending year"
+msgstr "année initiale plus grande que l'année finale"
-#~ msgid "collation symbol expected after `%s'"
-#~ msgstr "Symbole de fusionnement attendu après `%s'"
+#: timezone/zic.c:1366
+msgid "typed single year"
+msgstr "une seule année fournie"
-#~ msgid "duplicate character name `%s'"
-#~ msgstr "Duplicité du nom de caractère `%s'"
+#: timezone/zic.c:1401
+msgid "invalid weekday name"
+msgstr "Nom du jour de semaine invalide"
-#~ msgid "duplicate key"
-#~ msgstr "Duplicité de clé"
+#: timezone/zic.c:1579
+#, c-format
+msgid "%s: Can't remove %s: %s\n"
+msgstr "%s : ne peut enlever %s : %s\n"
-#~ msgid "end point of ellipsis range is bigger then start"
-#~ msgstr "Noeud final de l'intervalle d'ellipse plus grand que l'initial"
+#: timezone/zic.c:1589
+#, c-format
+msgid "%s: Can't create %s: %s\n"
+msgstr "%s : ne peut créer %s : %s\n"
-#~ msgid "error while inserting collation element into hash table"
-#~ msgstr "Erreur durant l'insertion d'un élément de fusionnement dans la table de hachage"
+#: timezone/zic.c:1739
+#, c-format
+msgid "%s: Error writing %s\n"
+msgstr "%s : erreur d'écriture de %s\n"
-#~ msgid "from-value of `collating-element' must be a string"
-#~ msgstr "La valeur de départ de `collating-element' doit être une chaîne."
+#: timezone/zic.c:2031
+msgid "no POSIX environment variable for zone"
+msgstr "pas de variable d'environnement POSIX pour zone"
-#~ msgid "illegal character constant in string"
-#~ msgstr "Caractère illégal de constante dans la chaîne"
+#: timezone/zic.c:2185
+msgid "can't determine time zone abbreviation to use just after until time"
+msgstr ""
+"Ne peut déterminer l'abréviation du fuseau horaire à utiliser\n"
+"juste après telle date"
-#~ msgid "illegal collation element"
-#~ msgstr "Élément de fusionnement illégal"
+#: timezone/zic.c:2231
+msgid "too many transitions?!"
+msgstr "trop de transitions définies ? !"
-#~ msgid "incorrectly formatted file"
-#~ msgstr "Fichier incorrectement formaté"
+#: timezone/zic.c:2250
+msgid "internal error - addtype called with bad isdst"
+msgstr "Erreur interne - addtype() appellé avec un mauvais bloc de type « isdst »"
-#~ msgid "line after ellipsis must contain character definition"
-#~ msgstr "La ligne après l'ellipse doit contenir la définition d'un caractère."
+#: timezone/zic.c:2254
+msgid "internal error - addtype called with bad ttisstd"
+msgstr "Erreur interne - addtype() appellé avec un mauvais bloc de type « ttisstd »"
-#~ msgid "line before ellipsis does not contain definition for character constant"
-#~ msgstr "La ligne avant l'ellipse ne doit pas contenir la définition d'une constante de caractères."
+#: timezone/zic.c:2258
+msgid "internal error - addtype called with bad ttisgmt"
+msgstr "Erreur interne - addtype() appellé avec un mauvais bloc de type « ttisgmt »"
-#~ msgid "locale file `%s', used in `copy' statement, not found"
-#~ msgstr "Fichier localisé `%s', utilisé dans la déclaration de `copy', non repéré"
+#: timezone/zic.c:2277
+msgid "too many local time types"
+msgstr "trop de types localisés pour la représentation du temps"
-#~ msgid "no repertoire map specified: cannot proceed"
-#~ msgstr "Aucune table de répertoire spécifiée: ne peut procéder"
+#: timezone/zic.c:2281
+msgid "UTC offset out of range"
+msgstr "UTC décalage en dehors de la plage"
-#~ msgid "no weight defined for symbol `%s'"
-#~ msgstr "Pas de poids défini pour le symbole `%s'"
+#: timezone/zic.c:2309
+msgid "too many leap seconds"
+msgstr "trop de délai en secondes"
-#~ msgid "problems while reading `%s'"
-#~ msgstr "Problème lors de la lecture de `%s'"
+#: timezone/zic.c:2315
+msgid "repeated leap second moment"
+msgstr "Répétition du délai une seconde fois"
-#~ msgid "symbol for multicharacter collating element `%.*s' duplicates other symbol definition"
-#~ msgstr ""
-#~ "Le symbole d'un élément de fusionnement multi-caractères `%.*s' \n"
-#~ "provoque la duplication d'autres définitions de symboles."
+#: timezone/zic.c:2367
+msgid "Wild result from command execution"
+msgstr "Résultat anarchique résultant de l'exécution de la commande"
-#~ msgid "symbol for multicharacter collating element `%.*s' duplicates symbol definition"
-#~ msgstr ""
-#~ "Le symbole d'un élément de fusionnement multi-caractères `%.*s' \n"
-#~ "provoque la duplication de la définition d'un symbole."
+#: timezone/zic.c:2368
+#, c-format
+msgid "%s: command was '%s', result was %d\n"
+msgstr "%s : la commande était « %s », le résultat était %d\n"
-#~ msgid "symbol for multicharacter collating element `%.*s' duplicates symbolic name in charset"
-#~ msgstr ""
-#~ "Le symbole d'un élément de fusionnement multi-caractères `%.*s' \n"
-#~ "provoque la duplication d'un nom symbolique dans le jeu de caractères."
+#: timezone/zic.c:2466
+msgid "Odd number of quotation marks"
+msgstr "Nombre impair de caractères apostrophe"
-#~ msgid "syntax error in `order_start' directive"
-#~ msgstr "Erreur de syntaxe dans la directive `order_start'"
+#: timezone/zic.c:2555
+msgid "use of 2/29 in non leap-year"
+msgstr "Utiliser 2/29 pour les années non-bissextiles"
-#~ msgid "syntax error in character class definition"
-#~ msgstr "Erreur de syntaxe dans la définition de la classe de caractères"
+#: timezone/zic.c:2590
+msgid "rule goes past start/end of month--will not work with pre-2004 versions of zic"
+msgstr "la règle en dehors de début/fin du mois--ne fonctionnera pas avec les versions de zic antérieures à 2004"
-#~ msgid "syntax error in collating order definition"
-#~ msgstr "Erreur de syntaxe dans l'ordre de la définition du fusionnement"
+#: timezone/zic.c:2622
+msgid "time zone abbreviation lacks alphabetic at start"
+msgstr "l'abréviation du nom de fuseau horaire n'a pas de caractère alphabétique au début"
-#~ msgid "syntax error in collation definition"
-#~ msgstr "Erreur de syntaxe dans la définition du fusionnement"
+#: timezone/zic.c:2624
+msgid "time zone abbreviation has more than 3 alphabetics"
+msgstr "l'abréviation du nom de fuseau horaire a plus de 3 caractères alphabétiques"
-#~ msgid "syntax error in definition of LC_CTYPE category"
-#~ msgstr "Erreur de syntaxe dans la définition d'une catégorie de type `LC_CTYPE'"
+#: timezone/zic.c:2626
+msgid "time zone abbreviation has too many alphabetics"
+msgstr "l'abréviation du nom de fuseau horaire a trop de caractères alphabétiques"
-#~ msgid "syntax error in message locale definition"
-#~ msgstr "Erreur de syntaxe dans la définition localisée du message"
+#: timezone/zic.c:2636
+msgid "time zone abbreviation differs from POSIX standard"
+msgstr "l'abréviation du nom de fuseau horaire diffère du standard POSIX"
-#~ msgid "syntax error in monetary locale definition"
-#~ msgstr "Erreur de syntaxe dans la définition localisée des valeurs monétaires"
+#: timezone/zic.c:2648
+msgid "too many, or too long, time zone abbreviations"
+msgstr "trop ou de trop longues abréviations de fuseaux horaires"
-#~ msgid "syntax error in numeric locale definition"
-#~ msgstr "Erreur de syntaxe dans la définition localisée de représentation numérique"
+#: timezone/zic.c:2689
+#, c-format
+msgid "%s: Can't create directory %s: %s\n"
+msgstr "%s : ne peut créer le dossier %s : %s\n"
-#~ msgid "syntax error in order specification"
-#~ msgstr "Erreur de syntaxe dans la spéficication de l'ordonnancement"
-
-#~ msgid "syntax error in time locale definition"
-#~ msgstr "Erreur de syntaxe dans la définition localisée de la représentation du temps"
-
-#~ msgid "too many character classes defined"
-#~ msgstr "Trop de définitions de classes de caractères"
-
-#~ msgid "too many weights"
-#~ msgstr "Trop de poids définis"
-
-#~ msgid "two lines in a row containing `...' are not allowed"
-#~ msgstr "Deux lignes consécutives contenant `...' ne sont pas permises."
-
-#~ msgid "unknown character in field `%s' of category `%s'"
-#~ msgstr "Caractère inconnu dans le champ `%s' de catégorie `%s'"
-
-#~ msgid "unknown collation directive"
-#~ msgstr "Directive de fusionnement inconnue"
-
-#~ msgid "unterminated weight name"
-#~ msgstr "Nom de poids incomplet"
-
-#~ msgid "value for <%s> must lie between 1 and 4"
-#~ msgstr "La valeur de <%s> doit être comprise entre 1 et 4."
-
-#~ msgid "while reading database"
-#~ msgstr "lors de la lecture de la base de données"
-
-#~ msgid "while writing database file"
-#~ msgstr "lors de l'écriture du fichier de base de données"
-
-#~ msgid "memory exhausted\n"
-#~ msgstr "Mémoire épuisée\n"
-
-#~ msgid "symbol for multicharacter collating element `%.*s' duplicates other element definition"
-#~ msgstr ""
-#~ "Le symbole d'un élément de fusionnement multi-caractères `%.*s' \n"
-#~ "provoque la duplication d'autres définitions d'éléments."
-
-#~ msgid "Cputime limit exceeded"
-#~ msgstr "Temps d'exécution UCT limite expiré"
-
-#~ msgid "Filesize limit exceeded"
-#~ msgstr "Taille limite de fichier débordée"
-
-#~ msgid "Illegal Instruction"
-#~ msgstr "Instruction illégale"
-
-#~ msgid "Trace/BPT trap"
-#~ msgstr "Trappe de point d'arrêt lors de trace"
-
-#~ msgid ""
-#~ "Usage: %s [OPTION]... -o OUTPUT-FILE [INPUT-FILE]...\n"
-#~ " %s [OPTION]... [OUTPUT-FILE [INPUT-FILE]...]\n"
-#~ "Mandatory arguments to long options are mandatory for short options too.\n"
-#~ " -H, --header=NAME create C header file NAME containing symbol definitions\n"
-#~ " -h, --help display this help and exit\n"
-#~ " --new do not use existing catalog, force new output file\n"
-#~ " -o, --output=NAME write output to file NAME\n"
-#~ " -V, --version output version information and exit\n"
-#~ "If INPUT-FILE is -, input is read from standard input. If OUTPUT-FILE\n"
-#~ "is -, output is written to standard output.\n"
-#~ msgstr ""
-#~ "Usage: %s [OPTION]... -o FICHIER_DE_SORTIE [FICHIER_D_ENTRÉE]...\n"
-#~ " %s [OPTION]... [FICHIER_DE_SORTIE [FICHIER_D_ENTRÉE]...]\n"
-#~ "Les paramètres obligatoires pour les options de formes longues le sont\n"
-#~ "aussi pour les options de forme courtes.\n"
-#~ " -H, --header créer une en-tête de fichier C contenant\n"
-#~ " les définitions des symboles\n"
-#~ " -h, --help afficher l'aide-mémoire\n"
-#~ " --new ne pas utiliser le catalogue existant,\n"
-#~ " forcer la sortie sur un nouveau fichier\n"
-#~ " -o, --output=FICHIER écrire la sortie dans le FICHIER\n"
-#~ " -V, --version afficher le nom et la version du logiciel\n"
-#~ "Si le FICHIER_D_ENTRÉE est -, la lecture se fait de l'entrée standard.\n"
-#~ "Si le FICHIER_DE_SORTIE est -, l'écriture se fait sur la sortie standard.\n"
-
-#~ msgid ""
-#~ "Usage: %s [OPTION]... INPUT-FILE OUTPUT-FILE\n"
-#~ " %s [OPTION]... -o OUTPUT-FILE INPUT-FILE\n"
-#~ " %s [OPTION]... -u INPUT-FILE\n"
-#~ "Mandatory arguments to long options are mandatory for short options too.\n"
-#~ " -f, --fold-case convert key to lower case\n"
-#~ " -h, --help display this help and exit\n"
-#~ " -o, --output=NAME write output to file NAME\n"
-#~ " --quiet don't print messages while building database\n"
-#~ " -u, --undo print content of database file, one entry a line\n"
-#~ " -V, --version output version information and exit\n"
-#~ "If INPUT-FILE is -, input is read from standard input.\n"
-#~ msgstr ""
-#~ "Usage: %s [OPTION]... FICHIER_D_ENTRÉE FICHIER_DE_SORTIE\n"
-#~ " %s [OPTION]... -o FICHIER_DE_SORTIE FICHIER_D_ENTRÉE\n"
-#~ " %s [OPTION]... -u FICHIER_D_ENTRÉE\n"
-#~ "Les paramètres obligatoires pour les options de formes longues le sont\n"
-#~ "aussi pour les options de forme courtes.\n"
-#~ " -f, --fold-case convertir les clés en minuscules\n"
-#~ " -h, --help afficher l'aide-mémoire\n"
-#~ " -o, --output=FICHIER écrire la sortie dans le FICHIER\n"
-#~ " --quiet ne pas afficher les messages lors de\n"
-#~ " construction de la base de données\n"
-#~ " -u, --undo afficher le contenu du fichier de la base de données\n"
-#~ " une entrée par ligne\n"
-#~ " -V, --version afficher le nom et la version du logiciel\n"
-#~ "Si le FICHIER_D_ENTRÉE est -, la lecture se fait l'entrée standard.\n"
-
-#~ msgid ""
-#~ "Usage: %s [OPTION]... name\n"
-#~ "Mandatory arguments to long options are mandatory for short options too.\n"
-#~ " -c, --force create output even if warning messages were issued\n"
-#~ " -h, --help display this help and exit\n"
-#~ " -f, --charmap=FILE symbolic character names defined in FILE\n"
-#~ " -i, --inputfile=FILE source definitions are found in FILE\n"
-#~ " -u, --code-set-name=NAME specify code set for mapping ISO 10646 elements\n"
-#~ " -v, --verbose print more messages\n"
-#~ " -V, --version output version information and exit\n"
-#~ " --posix be strictly POSIX conform\n"
-#~ "\n"
-#~ "System's directory for character maps: %s\n"
-#~ " locale files : %s\n"
-#~ msgstr ""
-#~ "Usage: %s [OPTION]... nom\n"
-#~ "Les paramètres obligatoires pour les options de formes longues le sont\n"
-#~ "aussi pour les options de forme courtes.\n"
-#~ " -c, --force poursuivre la génération sur la sortie\n"
-#~ " même si des messages d'avertissements s'affichent\n"
-#~ " -h, --help afficher l'aide-mémoire\n"
-#~ " -f, --charmap=FICHIER utiliser les noms symboliques de caractères\n"
-#~ " qui se trouvent dans le FICHIER\n"
-#~ " -i, --inputfile=FICHIER utiliser les définitions sources qui se\n"
-#~ " trouvent dans le FICHIER\n"
-#~ " -u, --code-set-name=CODE spécifier un CODE d'ensemble pour la table des\n"
-#~ " éléments ISO 10646\n"
-#~ " -v, --verbose utiliser le mode bavard\n"
-#~ " -V, --version afficher le nom et la version du logiciel\n"
-#~ " --posix se conformer de façon stricte à POSIX\n"
-#~ "\n"
-#~ "Répertoire système des tables de caractères: %s\n"
-#~ " fichiers locaux: %s\n"
-
-#~ msgid ""
-#~ "Usage: %s [OPTION]... name\n"
-#~ "Mandatory arguments to long options are mandatory for short options too.\n"
-#~ " -h, --help display this help and exit\n"
-#~ " -V, --version output version information and exit\n"
-#~ "\n"
-#~ " -a, --all-locales write names of available locales\n"
-#~ " -m, --charmaps write names of available charmaps\n"
-#~ "\n"
-#~ " -c, --category-name write names of selected categories\n"
-#~ " -k, --keyword-name write names of selected keywords\n"
-#~ msgstr ""
-#~ "Usage: %s [OPTION]... nom\n"
-#~ "Les paramètres obligatoires pour les options de formes longues le sont\n"
-#~ "aussi pour les options de forme courtes.\n"
-#~ " -h, --help afficher l'aide-mémoire\n"
-#~ " -V, --version afficher le nom et la version du logiciel\n"
-#~ "\n"
-#~ " -a, --all-locales afficher les noms localisés disponibles\n"
-#~ " -m, --charmaps afficher les noms des tables de caractères disponibles\n"
-#~ "\n"
-#~ " -c, --category-name afficher les noms des catégories sélectionnées\n"
-#~ " -k, --keyword-name afficher les noms des mots clés sélectionnés\n"
-
-#~ msgid "rpcinfo: can't contact portmapper: "
-#~ msgstr "rpcinfo: ne peut contacter le convertisseur de ports."
-
-#~ msgid "values for field `%s' in category `%s' must not be zero"
-#~ msgstr "Les valeurs du champ `%s' de catégorie `%s' ne doivent pas être égal à zéro."
-
-#~ msgid "while opening UTMP file"
-#~ msgstr "durant l'ouverture du fichier UTMP."
-
-#~ msgid "YPBINDPROC_DOMAIN: Internal error\n"
-#~ msgstr "YPBINDPROC_DOMAIN: erreur interne.\n"
-
-#~ msgid "YPBINDPROC_DOMAIN: No server for domain %s\n"
-#~ msgstr "YPBINDPROC_DOMAIN: échec d'allocation de ressources %s.\n"
-
-#~ msgid "YPBINDPROC_DOMAIN: Resource allocation failure\n"
-#~ msgstr "YPBINDPROC_DOMAIN: échec d'allocation de ressources.\n"
+#: timezone/zic.c:2711
+#, c-format
+msgid "%s: %d did not sign extend correctly\n"
+msgstr "%s : %d n'a pas fait correctement l'expansion de la valeur signée\n"
diff --git a/libc/po/hr.po b/libc/po/hr.po
index 68e7c4f3f..b36e040d7 100644
--- a/libc/po/hr.po
+++ b/libc/po/hr.po
@@ -599,7 +599,7 @@ msgstr "%s: smeće pri kraju završnog datuma u znakovnom nizu %Zd u `era' polju
#: posix/getopt.c:887 posix/getopt.c:890
#, c-format
-msgid "%s: illegal option -- %c\n"
+msgid "%s: illegal option -- '%c'\n"
msgstr "%s: nedozvoljena opcija -- %c\n"
#: locale/programs/ld-address.c:578 locale/programs/ld-collate.c:3738 locale/programs/ld-ctype.c:2846 locale/programs/ld-identification.c:445 locale/programs/ld-measurement.c:234 locale/programs/ld-messages.c:329 locale/programs/ld-monetary.c:934 locale/programs/ld-name.c:303 locale/programs/ld-numeric.c:373 locale/programs/ld-paper.c:236 locale/programs/ld-telephone.c:311 locale/programs/ld-time.c:1197
@@ -629,7 +629,7 @@ msgstr "%s: neispravan broj pravila za sortiranje"
#: posix/getopt.c:896 posix/getopt.c:899
#, c-format
-msgid "%s: invalid option -- %c\n"
+msgid "%s: invalid option -- '%c'\n"
msgstr "%s: nedozvoljena opcija -- %c\n"
#: locale/programs/ld-time.c:330
@@ -754,37 +754,37 @@ msgstr "%s: brojÄani kod zemlje `%d' nije ispravan"
#: posix/getopt.c:743 posix/getopt.c:748
#, c-format
-msgid "%s: option `%c%s' doesn't allow an argument\n"
+msgid "%s: option '%c%s' doesn't allow an argument\n"
msgstr "%s: opcija `%c%s' ne dopušta argument\n"
#: posix/getopt.c:688 posix/getopt.c:698
#, c-format
-msgid "%s: option `%s' is ambiguous\n"
+msgid "%s: option '%s' is ambiguous\n"
msgstr "%s: opcija `%s' je nejednoznaÄna\n"
#: posix/getopt.c:782 posix/getopt.c:793 posix/getopt.c:1070 posix/getopt.c:1082
#, c-format
-msgid "%s: option `%s' requires an argument\n"
+msgid "%s: option '%s' requires an argument\n"
msgstr "%s: opcija `%s' zahtijeva argument\n"
#: posix/getopt.c:730 posix/getopt.c:734
#, c-format
-msgid "%s: option `--%s' doesn't allow an argument\n"
+msgid "%s: option '--%s' doesn't allow an argument\n"
msgstr "%s: opcija `--%s' ne dopušta argument\n"
#: posix/getopt.c:1038 posix/getopt.c:1049
#, c-format
-msgid "%s: option `-W %s' doesn't allow an argument\n"
+msgid "%s: option '-W %s' doesn't allow an argument\n"
msgstr "%s: opcija `-W %s' ne dopušta argument\n"
#: posix/getopt.c:1004 posix/getopt.c:1014
#, c-format
-msgid "%s: option `-W %s' is ambiguous\n"
+msgid "%s: option '-W %s' is ambiguous\n"
msgstr "%s: opcija `-W %s' je nejednoznaÄna\n"
#: posix/getopt.c:942 posix/getopt.c:952 posix/getopt.c:1136 posix/getopt.c:1147
#, c-format
-msgid "%s: option requires an argument -- %c\n"
+msgid "%s: option requires an argument -- '%c'\n"
msgstr "%s: opcija zahtijeva argument -- %c\n"
#: locale/programs/ld-collate.c:1327 locale/programs/ld-collate.c:3675
@@ -949,12 +949,12 @@ msgstr ""
#: posix/getopt.c:841 posix/getopt.c:844
#, c-format
-msgid "%s: unrecognized option `%c%s'\n"
+msgid "%s: unrecognized option '%c%s'\n"
msgstr "%s: neprepoznata opcija `%c%s'\n"
#: posix/getopt.c:830 posix/getopt.c:833
#, c-format
-msgid "%s: unrecognized option `--%s'\n"
+msgid "%s: unrecognized option '--%s'\n"
msgstr "%s: neprepoznata opcija `--%s'\n"
#: timezone/zic.c:449
diff --git a/libc/po/ko.po b/libc/po/ko.po
index b58238a20..947e4a425 100644
--- a/libc/po/ko.po
+++ b/libc/po/ko.po
@@ -4330,59 +4330,59 @@ msgstr "ì¸ì‹í•  수 없는 변수 `%s'"
#: posix/getopt.c:571 posix/getopt.c:587
#, c-format
-msgid "%s: option `%s' is ambiguous\n"
+msgid "%s: option '%s' is ambiguous\n"
msgstr "%s: `%s' ì˜µì…˜ì€ ëª¨í˜¸í•œ 옵션입니다\n"
#: posix/getopt.c:620 posix/getopt.c:624
#, c-format
-msgid "%s: option `--%s' doesn't allow an argument\n"
+msgid "%s: option '--%s' doesn't allow an argument\n"
msgstr "%s: `--%s' ì˜µì…˜ì€ ì¸ìˆ˜ë¥¼ 허용하지 않습니다\n"
#: posix/getopt.c:633 posix/getopt.c:638
#, c-format
-msgid "%s: option `%c%s' doesn't allow an argument\n"
+msgid "%s: option '%c%s' doesn't allow an argument\n"
msgstr "%s: `%c%s' ì˜µì…˜ì€ ì¸ìˆ˜ë¥¼ 허용하지 않습니다\n"
#: posix/getopt.c:681 posix/getopt.c:700 posix/getopt.c:1016
#: posix/getopt.c:1035
#, c-format
-msgid "%s: option `%s' requires an argument\n"
+msgid "%s: option '%s' requires an argument\n"
msgstr "%s: `%s' ì˜µì…˜ì€ ì¸ìˆ˜ê°€ 필요합니다\n"
#: posix/getopt.c:738 posix/getopt.c:741
#, c-format
-msgid "%s: unrecognized option `--%s'\n"
+msgid "%s: unrecognized option '--%s'\n"
msgstr "%s: ì¸ì‹í•  수 없는 옵션 `--%s'\n"
#: posix/getopt.c:749 posix/getopt.c:752
#, c-format
-msgid "%s: unrecognized option `%c%s'\n"
+msgid "%s: unrecognized option '%c%s'\n"
msgstr "%s: ì¸ì‹í•  수 없는 옵션 `%c%s'\n"
#: posix/getopt.c:804 posix/getopt.c:807
#, c-format
-msgid "%s: illegal option -- %c\n"
+msgid "%s: illegal option -- '%c'\n"
msgstr "%s: ìž˜ëª»ëœ ì˜µì…˜ -- %c\n"
#: posix/getopt.c:813 posix/getopt.c:816
#, c-format
-msgid "%s: invalid option -- %c\n"
+msgid "%s: invalid option -- '%c'\n"
msgstr "%s: 부ì ì ˆí•œ 옵션 -- %c\n"
#: posix/getopt.c:868 posix/getopt.c:884 posix/getopt.c:1088
#: posix/getopt.c:1106
#, c-format
-msgid "%s: option requires an argument -- %c\n"
+msgid "%s: option requires an argument -- '%c'\n"
msgstr "%s: ì´ ì˜µì…˜ì€ ì¸ìˆ˜ê°€ 필요합니다 -- %c\n"
#: posix/getopt.c:937 posix/getopt.c:953
#, c-format
-msgid "%s: option `-W %s' is ambiguous\n"
+msgid "%s: option '-W %s' is ambiguous\n"
msgstr "%s: `-W %s' ì˜µì…˜ì€ ëª¨í˜¸í•œ 옵션입니다\n"
#: posix/getopt.c:977 posix/getopt.c:995
#, c-format
-msgid "%s: option `-W %s' doesn't allow an argument\n"
+msgid "%s: option '-W %s' doesn't allow an argument\n"
msgstr "%s: `-W %s' ì˜µì…˜ì€ ì¸ìˆ˜ë¥¼ 허용하지 않습니다\n"
#: posix/regcomp.c:135
diff --git a/libc/po/nl.po b/libc/po/nl.po
index 7a8b439dc..418fe74d6 100644
--- a/libc/po/nl.po
+++ b/libc/po/nl.po
@@ -4356,59 +4356,59 @@ msgstr "Onbekende variabele '%s'"
#: posix/getopt.c:571 posix/getopt.c:587
#, c-format
-msgid "%s: option `%s' is ambiguous\n"
+msgid "%s: option '%s' is ambiguous\n"
msgstr "%s: optie '%s' is niet eenduidig\n"
#: posix/getopt.c:620 posix/getopt.c:624
#, c-format
-msgid "%s: option `--%s' doesn't allow an argument\n"
+msgid "%s: option '--%s' doesn't allow an argument\n"
msgstr "%s: optie '--%s' staat geen argument toe\n"
#: posix/getopt.c:633 posix/getopt.c:638
#, c-format
-msgid "%s: option `%c%s' doesn't allow an argument\n"
+msgid "%s: option '%c%s' doesn't allow an argument\n"
msgstr "%s: optie '%c%s' staat geen argument toe\n"
#: posix/getopt.c:681 posix/getopt.c:700 posix/getopt.c:1016
#: posix/getopt.c:1035
#, c-format
-msgid "%s: option `%s' requires an argument\n"
+msgid "%s: option '%s' requires an argument\n"
msgstr "%s: optie '%s' vereist een argument\n"
#: posix/getopt.c:738 posix/getopt.c:741
#, c-format
-msgid "%s: unrecognized option `--%s'\n"
+msgid "%s: unrecognized option '--%s'\n"
msgstr "%s: onbekende optie '--%s'\n"
#: posix/getopt.c:749 posix/getopt.c:752
#, c-format
-msgid "%s: unrecognized option `%c%s'\n"
+msgid "%s: unrecognized option '%c%s'\n"
msgstr "%s: onbekende optie '%c%s'\n"
#: posix/getopt.c:804 posix/getopt.c:807
#, c-format
-msgid "%s: illegal option -- %c\n"
+msgid "%s: illegal option -- '%c'\n"
msgstr "%s: ongeldige optie -- %c\n"
#: posix/getopt.c:813 posix/getopt.c:816
#, c-format
-msgid "%s: invalid option -- %c\n"
+msgid "%s: invalid option -- '%c'\n"
msgstr "%s: ongeldige optie -- %c\n"
#: posix/getopt.c:868 posix/getopt.c:884 posix/getopt.c:1088
#: posix/getopt.c:1106
#, c-format
-msgid "%s: option requires an argument -- %c\n"
+msgid "%s: option requires an argument -- '%c'\n"
msgstr "%s: optie vereist een argument -- %c\n"
#: posix/getopt.c:937 posix/getopt.c:953
#, c-format
-msgid "%s: option `-W %s' is ambiguous\n"
+msgid "%s: option '-W %s' is ambiguous\n"
msgstr "%s: optie '-W %s' is niet eenduidig\n"
#: posix/getopt.c:977 posix/getopt.c:995
#, c-format
-msgid "%s: option `-W %s' doesn't allow an argument\n"
+msgid "%s: option '-W %s' doesn't allow an argument\n"
msgstr "%s: optie '-W %s' staat geen argument toe\n"
#: posix/regcomp.c:135
diff --git a/libc/po/rw.po b/libc/po/rw.po
index 1216e74ad..479e02f8a 100644
--- a/libc/po/rw.po
+++ b/libc/po/rw.po
@@ -3941,59 +3941,59 @@ msgstr "IMPINDURAGACIRO"
#: posix/getopt.c:692 posix/getopt.c:711
#, fuzzy, c-format
-msgid "%s: option `%s' is ambiguous\n"
+msgid "%s: option '%s' is ambiguous\n"
msgstr "%s:Ihitamo ni"
#: posix/getopt.c:744 posix/getopt.c:748
#, fuzzy, c-format
-msgid "%s: option `--%s' doesn't allow an argument\n"
+msgid "%s: option '--%s' doesn't allow an argument\n"
msgstr "%s:Ihitamo Kwemerera"
#: posix/getopt.c:757 posix/getopt.c:762
#, fuzzy, c-format
-msgid "%s: option `%c%s' doesn't allow an argument\n"
+msgid "%s: option '%c%s' doesn't allow an argument\n"
msgstr "%s:Ihitamo Kwemerera"
#: posix/getopt.c:807 posix/getopt.c:829 posix/getopt.c:1159
#: posix/getopt.c:1181
#, fuzzy, c-format
-msgid "%s: option `%s' requires an argument\n"
+msgid "%s: option '%s' requires an argument\n"
msgstr "%s:Ihitamo"
#: posix/getopt.c:867 posix/getopt.c:870
#, fuzzy, c-format
-msgid "%s: unrecognized option `--%s'\n"
+msgid "%s: unrecognized option '--%s'\n"
msgstr "%s:Ihitamo"
#: posix/getopt.c:878 posix/getopt.c:881
#, fuzzy, c-format
-msgid "%s: unrecognized option `%c%s'\n"
+msgid "%s: unrecognized option '%c%s'\n"
msgstr "%s:Ihitamo"
#: posix/getopt.c:936 posix/getopt.c:939
#, fuzzy, c-format
-msgid "%s: illegal option -- %c\n"
+msgid "%s: illegal option -- '%c'\n"
msgstr "%s:Ihitamo"
#: posix/getopt.c:945 posix/getopt.c:948
#, fuzzy, c-format
-msgid "%s: invalid option -- %c\n"
+msgid "%s: invalid option -- '%c'\n"
msgstr "%s:Sibyo Ihitamo"
#: posix/getopt.c:1003 posix/getopt.c:1022 posix/getopt.c:1234
#: posix/getopt.c:1255
#, fuzzy, c-format
-msgid "%s: option requires an argument -- %c\n"
+msgid "%s: option requires an argument -- '%c'\n"
msgstr "%s:Ihitamo"
#: posix/getopt.c:1074 posix/getopt.c:1093
#, fuzzy, c-format
-msgid "%s: option `-W %s' is ambiguous\n"
+msgid "%s: option '-W %s' is ambiguous\n"
msgstr "%s:Ihitamo ni"
#: posix/getopt.c:1117 posix/getopt.c:1138
#, fuzzy, c-format
-msgid "%s: option `-W %s' doesn't allow an argument\n"
+msgid "%s: option '-W %s' doesn't allow an argument\n"
msgstr "%s:Ihitamo Kwemerera"
#: posix/regcomp.c:150
diff --git a/libc/po/sk.po b/libc/po/sk.po
index ca2515938..ac19325bb 100644
--- a/libc/po/sk.po
+++ b/libc/po/sk.po
@@ -3512,59 +3512,59 @@ msgstr "Nerozpoznaná premenná `%s'"
#: posix/getopt.c:692 posix/getopt.c:711
#, c-format
-msgid "%s: option `%s' is ambiguous\n"
+msgid "%s: option '%s' is ambiguous\n"
msgstr "%s: voľba `%s' nie je jednoznaÄná\n"
#: posix/getopt.c:744 posix/getopt.c:748
#, c-format
-msgid "%s: option `--%s' doesn't allow an argument\n"
+msgid "%s: option '--%s' doesn't allow an argument\n"
msgstr "%s: voľba `--%s' nedovoľuje použiť argument\n"
#: posix/getopt.c:757 posix/getopt.c:762
#, c-format
-msgid "%s: option `%c%s' doesn't allow an argument\n"
+msgid "%s: option '%c%s' doesn't allow an argument\n"
msgstr "%s: voľba `%c%s' nedovoľuje použiť argument\n"
#: posix/getopt.c:807 posix/getopt.c:829 posix/getopt.c:1159
#: posix/getopt.c:1181
#, c-format
-msgid "%s: option `%s' requires an argument\n"
+msgid "%s: option '%s' requires an argument\n"
msgstr "%s: voľba `%s' vyžaduje argument\n"
#: posix/getopt.c:867 posix/getopt.c:870
#, c-format
-msgid "%s: unrecognized option `--%s'\n"
+msgid "%s: unrecognized option '--%s'\n"
msgstr "%s: nerozpoznaná voľba `--%s'\n"
#: posix/getopt.c:878 posix/getopt.c:881
#, c-format
-msgid "%s: unrecognized option `%c%s'\n"
+msgid "%s: unrecognized option '%c%s'\n"
msgstr "%s: nerozpoznaná voľba `%c%s'\n"
#: posix/getopt.c:936 posix/getopt.c:939
#, c-format
-msgid "%s: illegal option -- %c\n"
+msgid "%s: illegal option -- '%c'\n"
msgstr "%s: neprípustná voľba -- %c\n"
#: posix/getopt.c:945 posix/getopt.c:948
#, c-format
-msgid "%s: invalid option -- %c\n"
+msgid "%s: invalid option -- '%c'\n"
msgstr "%s: chybná voľba -- %c\n"
#: posix/getopt.c:1003 posix/getopt.c:1022 posix/getopt.c:1234
#: posix/getopt.c:1255
#, c-format
-msgid "%s: option requires an argument -- %c\n"
+msgid "%s: option requires an argument -- '%c'\n"
msgstr "%s: voľba vyžaduje argument -- %c\n"
#: posix/getopt.c:1074 posix/getopt.c:1093
#, c-format
-msgid "%s: option `-W %s' is ambiguous\n"
+msgid "%s: option '-W %s' is ambiguous\n"
msgstr "%s: voľba `-W %s' nie je jednoznaÄná\n"
#: posix/getopt.c:1117 posix/getopt.c:1138
#, c-format
-msgid "%s: option `-W %s' doesn't allow an argument\n"
+msgid "%s: option '-W %s' doesn't allow an argument\n"
msgstr "%s: voľba `-W %s' nedovoľuje pouťiť argument\n"
#: posix/regcomp.c:150
diff --git a/libc/po/sv.po b/libc/po/sv.po
index 9464e5e6b..0d4e30811 100644
--- a/libc/po/sv.po
+++ b/libc/po/sv.po
@@ -4328,59 +4328,59 @@ msgstr "Okänd variabel \"%s\""
#: posix/getopt.c:571 posix/getopt.c:587
#, c-format
-msgid "%s: option `%s' is ambiguous\n"
+msgid "%s: option '%s' is ambiguous\n"
msgstr "%s: flaggan \"%s\" är tvetydig\n"
#: posix/getopt.c:620 posix/getopt.c:624
#, c-format
-msgid "%s: option `--%s' doesn't allow an argument\n"
+msgid "%s: option '--%s' doesn't allow an argument\n"
msgstr "%s: flaggan \"--%s\" tar inget argument\n"
#: posix/getopt.c:633 posix/getopt.c:638
#, c-format
-msgid "%s: option `%c%s' doesn't allow an argument\n"
+msgid "%s: option '%c%s' doesn't allow an argument\n"
msgstr "%s: flaggan \"%c%s\" tar inget argument\n"
#: posix/getopt.c:681 posix/getopt.c:700 posix/getopt.c:1016
#: posix/getopt.c:1035
#, c-format
-msgid "%s: option `%s' requires an argument\n"
+msgid "%s: option '%s' requires an argument\n"
msgstr "%s: flaggan \"%s\" behöver ett argument\n"
#: posix/getopt.c:738 posix/getopt.c:741
#, c-format
-msgid "%s: unrecognized option `--%s'\n"
+msgid "%s: unrecognized option '--%s'\n"
msgstr "%s: okänd flagga \"--%s\"\n"
#: posix/getopt.c:749 posix/getopt.c:752
#, c-format
-msgid "%s: unrecognized option `%c%s'\n"
+msgid "%s: unrecognized option '%c%s'\n"
msgstr "%s: okänd flagga \"%c%s\"\n"
#: posix/getopt.c:804 posix/getopt.c:807
#, c-format
-msgid "%s: illegal option -- %c\n"
+msgid "%s: illegal option -- '%c'\n"
msgstr "%s: otillåten flagga -- %c\n"
#: posix/getopt.c:813 posix/getopt.c:816
#, c-format
-msgid "%s: invalid option -- %c\n"
+msgid "%s: invalid option -- '%c'\n"
msgstr "%s: ogiltig flagga -- %c\n"
#: posix/getopt.c:868 posix/getopt.c:884 posix/getopt.c:1088
#: posix/getopt.c:1106
#, c-format
-msgid "%s: option requires an argument -- %c\n"
+msgid "%s: option requires an argument -- '%c'\n"
msgstr "%s: flaggan behöver ett argument -- %c\n"
#: posix/getopt.c:937 posix/getopt.c:953
#, c-format
-msgid "%s: option `-W %s' is ambiguous\n"
+msgid "%s: option '-W %s' is ambiguous\n"
msgstr "%s: flaggan \"-W %s\" är tvetydig\n"
#: posix/getopt.c:977 posix/getopt.c:995
#, c-format
-msgid "%s: option `-W %s' doesn't allow an argument\n"
+msgid "%s: option '-W %s' doesn't allow an argument\n"
msgstr "%s: flaggan \"-W %s\" tar inget argument\n"
#: posix/regcomp.c:135
diff --git a/libc/po/tr.po b/libc/po/tr.po
index e3801d6e9..ba3982646 100644
--- a/libc/po/tr.po
+++ b/libc/po/tr.po
@@ -4330,59 +4330,59 @@ msgstr "Tanınmayan değişken `%s'"
#: posix/getopt.c:571 posix/getopt.c:587
#, c-format
-msgid "%s: option `%s' is ambiguous\n"
+msgid "%s: option '%s' is ambiguous\n"
msgstr "%s: `%s' seçeneği burada belirsiz\n"
#: posix/getopt.c:620 posix/getopt.c:624
#, c-format
-msgid "%s: option `--%s' doesn't allow an argument\n"
+msgid "%s: option '--%s' doesn't allow an argument\n"
msgstr "%s: `--%s' seçeneği argümansız kullanılır\n"
#: posix/getopt.c:633 posix/getopt.c:638
#, c-format
-msgid "%s: option `%c%s' doesn't allow an argument\n"
+msgid "%s: option '%c%s' doesn't allow an argument\n"
msgstr "%s: `%c%s' seçeneği argümansız kullanılır\n"
#: posix/getopt.c:681 posix/getopt.c:700 posix/getopt.c:1016
#: posix/getopt.c:1035
#, c-format
-msgid "%s: option `%s' requires an argument\n"
+msgid "%s: option '%s' requires an argument\n"
msgstr "%s: `%s' seçeneği bir argümanla kullanılır\n"
#: posix/getopt.c:738 posix/getopt.c:741
#, c-format
-msgid "%s: unrecognized option `--%s'\n"
+msgid "%s: unrecognized option '--%s'\n"
msgstr "%s: tanınmayan seçenek `--%s'\n"
#: posix/getopt.c:749 posix/getopt.c:752
#, c-format
-msgid "%s: unrecognized option `%c%s'\n"
+msgid "%s: unrecognized option '%c%s'\n"
msgstr "%s: tanınmayan seçenek: `%c%s'\n"
#: posix/getopt.c:804 posix/getopt.c:807
#, c-format
-msgid "%s: illegal option -- %c\n"
+msgid "%s: illegal option -- '%c'\n"
msgstr "%s: kuraldışı seçenek -- %c\n"
#: posix/getopt.c:813 posix/getopt.c:816
#, c-format
-msgid "%s: invalid option -- %c\n"
+msgid "%s: invalid option -- '%c'\n"
msgstr "%s: geçersiz seçenek -- %c\n"
#: posix/getopt.c:868 posix/getopt.c:884 posix/getopt.c:1088
#: posix/getopt.c:1106
#, c-format
-msgid "%s: option requires an argument -- %c\n"
+msgid "%s: option requires an argument -- '%c'\n"
msgstr "%s: seçenek bir argümanla kullanılır -- %c\n"
#: posix/getopt.c:937 posix/getopt.c:953
#, c-format
-msgid "%s: option `-W %s' is ambiguous\n"
+msgid "%s: option '-W %s' is ambiguous\n"
msgstr "%s: `-W %s' seçeneği burada belirsiz\n"
#: posix/getopt.c:977 posix/getopt.c:995
#, c-format
-msgid "%s: option `-W %s' doesn't allow an argument\n"
+msgid "%s: option '-W %s' doesn't allow an argument\n"
msgstr "%s: `-W %s' seçeneği argümansız kullanılır\n"
#: posix/regcomp.c:135
diff --git a/libc/po/vi.po b/libc/po/vi.po
new file mode 100644
index 000000000..3b789463a
--- /dev/null
+++ b/libc/po/vi.po
@@ -0,0 +1,6524 @@
+# Vietnamese translation for LibC.
+# Copyright © 2008 Free Software Foundation, Inc.
+# This file is distributed under the same license as the glibc-2.7 package.
+# Clytie Siddall <clytie@riverland.net.au>, 2008
+#
+msgid ""
+msgstr ""
+"Project-Id-Version: libc 2.7\n"
+"Report-Msgid-Bugs-To: http://www.gnu.org/software/libc/bugs.html\n"
+"POT-Creation-Date: 2007-10-15 21:18-0700\n"
+"PO-Revision-Date: 2008-03-23 15:49+1030\n"
+"Last-Translator: Clytie Siddall <clytie@riverland.net.au>\n"
+"Language-Team: Vietnamese <vi-VN@googlegroups.com>\n"
+"MIME-Version: 1.0\n"
+"Content-Type: text/plain; charset=UTF-8\n"
+"Content-Transfer-Encoding: 8bit\n"
+"Plural-Forms: nplurals=1; plural=0;\n"
+"X-Generator: LocFactoryEditor 1.7b3\n"
+
+#: argp/argp-help.c:228
+#, c-format
+msgid "%.*s: ARGP_HELP_FMT parameter requires a value"
+msgstr "%.*s: tham số « ARGP_HELP_FMT » cần thiết giá trị"
+
+#: argp/argp-help.c:238
+#, c-format
+msgid "%.*s: Unknown ARGP_HELP_FMT parameter"
+msgstr "%.*s: Không rõ tham số « ARGP_HELP_FMT »"
+
+#: argp/argp-help.c:251
+#, c-format
+msgid "Garbage in ARGP_HELP_FMT: %s"
+msgstr "Gặp rác trong « ARGP_HELP_FMT » : %s"
+
+#: argp/argp-help.c:1215
+msgid "Mandatory or optional arguments to long options are also mandatory or optional for any corresponding short options."
+msgstr "Tất cả đối số bắt buá»™c phải sá»­ dụng vá»›i tùy chá»n dài cÅ©ng bắt buá»™c vá»›i tùy chá»n ngắn tÆ°Æ¡ng ứng."
+
+#: argp/argp-help.c:1601
+msgid "Usage:"
+msgstr "Sử dụng:"
+
+#: argp/argp-help.c:1605
+msgid " or: "
+msgstr " hoặc: "
+
+#: argp/argp-help.c:1617
+msgid " [OPTION...]"
+msgstr " [TÙY_CHỌN...]"
+
+#: argp/argp-help.c:1644
+#, c-format
+msgid "Try `%s --help' or `%s --usage' for more information.\n"
+msgstr "Hãy thử lệnh « %s --help » (trợ giúp) hay « %s --usage » (cách sử dụng) để xem thông tin thêm.\n"
+
+#: argp/argp-help.c:1672
+#, c-format
+msgid "Report bugs to %s.\n"
+msgstr "Hãy thông báo lỗi cho %s\n"
+
+#: argp/argp-parse.c:102
+msgid "Give this help list"
+msgstr "Hiển thị trợ giúp này"
+
+#: argp/argp-parse.c:103
+msgid "Give a short usage message"
+msgstr "Hiển thị thông điệp cách sử dụng ngắn"
+
+#: argp/argp-parse.c:104
+msgid "Set the program name"
+msgstr "Lập tên chương trình"
+
+#: argp/argp-parse.c:106
+msgid "Hang for SECS seconds (default 3600)"
+msgstr "Treo trong vòng GIÂY giây (mặc định là 3600)"
+
+#: argp/argp-parse.c:167
+msgid "Print program version"
+msgstr "In ra phiên bản chương trình"
+
+#: argp/argp-parse.c:183
+msgid "(PROGRAM ERROR) No version known!?"
+msgstr "LỖI CHƯƠNG TRÌNH) Không có phiên bản đã biết ?"
+
+#: argp/argp-parse.c:623
+#, c-format
+msgid "%s: Too many arguments\n"
+msgstr "%s: Quá nhiá»u đối số\n"
+
+#: argp/argp-parse.c:766
+msgid "(PROGRAM ERROR) Option should have been recognized!?"
+msgstr "(Lá»–I CHƯƠNG TRÃŒNH) Nên nhận biệt tùy chá»n mà chÆ°a?"
+
+#: assert/assert-perr.c:57
+#, c-format
+msgid "%s%s%s:%u: %s%sUnexpected error: %s.\n"
+msgstr "%s%s%s:%u: %s%sGặp lá»—i bất thÆ°á»ng: %s.\n"
+
+#: assert/assert.c:57
+#, c-format
+msgid "%s%s%s:%u: %s%sAssertion `%s' failed.\n"
+msgstr "%s%s%s:%u: %s%sKhẳng định « %s » bị lỗi.\n"
+
+#: catgets/gencat.c:110 catgets/gencat.c:114 nscd/nscd.c:97 nss/makedb.c:61
+msgid "NAME"
+msgstr "TÊN"
+
+#: catgets/gencat.c:111
+msgid "Create C header file NAME containing symbol definitions"
+msgstr "Tạo tập tin phần đầu C TÊN chứa các lá»i xác định ký hiệu"
+
+#: catgets/gencat.c:113
+msgid "Do not use existing catalog, force new output file"
+msgstr "Äừng dùng phân loại đã tồn tại, ép buá»™c tập tin xuất má»›i"
+
+#: catgets/gencat.c:114 nss/makedb.c:61
+msgid "Write output to file NAME"
+msgstr "Ghi kết xuất vào tập tin TÊN"
+
+#: catgets/gencat.c:119
+msgid ""
+"Generate message catalog.\vIf INPUT-FILE is -, input is read from standard input. If OUTPUT-FILE\n"
+"is -, output is written to standard output.\n"
+msgstr ""
+"Tạo phân loại thông điệp.\n"
+"Nếu TẬP_TIN_NHẬP là « - » thì dữ liệu nhập được Ä‘á»c từ đầu vào tiêu chuẩn.\n"
+"Nếu TẬP_TIN_XUẤT là « - » thì kết xuất được ghi vào đầu ra tiêu chuẩn.\n"
+
+#: catgets/gencat.c:124
+msgid ""
+"-o OUTPUT-FILE [INPUT-FILE]...\n"
+"[OUTPUT-FILE [INPUT-FILE]...]"
+msgstr ""
+"-o TẬP_TIN_XUẤT [TẬP_TIN_NHẬP]...\n"
+"[TẬP_TIN_XUẤT [TẬP_TIN_NHẬP]...]"
+
+#: catgets/gencat.c:232 debug/pcprofiledump.c:204 iconv/iconv_prog.c:411
+#: iconv/iconvconfig.c:380 locale/programs/localedef.c:371
+#: login/programs/pt_chown.c:88 malloc/memusagestat.c:526 nss/makedb.c:231
+msgid ""
+"For bug reporting instructions, please see:\n"
+"<http://www.gnu.org/software/libc/bugs.html>.\n"
+msgstr ""
+"Äể tìm hÆ°á»›ng dẫn vá» thông báo lá»—i, thăm địa chỉ:\n"
+"<http://www.gnu.org/software/libc/bugs.html>.\n"
+
+#: catgets/gencat.c:246 debug/xtrace.sh:64 elf/ldconfig.c:296
+#: elf/ldd.bash.in:39 elf/sprof.c:355 iconv/iconv_prog.c:426
+#: iconv/iconvconfig.c:395 locale/programs/locale.c:275
+#: locale/programs/localedef.c:387 login/programs/pt_chown.c:59
+#: malloc/memusage.sh:71 nscd/nscd.c:406 nss/getent.c:83 nss/makedb.c:245
+#: posix/getconf.c:1012
+#, c-format
+msgid ""
+"Copyright (C) %s Free Software Foundation, Inc.\n"
+"This is free software; see the source for copying conditions. There is NO\n"
+"warranty; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.\n"
+msgstr ""
+"Tác quyá»n © %s của Tổ chức Phần má»m Tá»± do.\n"
+"ChÆ°Æ¡ng trình này là phần má»m tá»± do; xem mã nguồn để tìm Ä‘iá»u kiện sao chép.\n"
+"KHÔNG CÓ BẢO HÀNH GÃŒ CẢ, THẬM CHà KHÔNG CÓ BẢO ÄẢM ÄƯỢC NGỤ Ã\n"
+"KHẢ NÄ‚NG BÃN HAY KHẢ NÄ‚NG LÀM ÄƯỢC VIỆC DỨT KHOÃT.\n"
+
+#: catgets/gencat.c:251 debug/xtrace.sh:68 elf/ldconfig.c:301 elf/sprof.c:361
+#: iconv/iconv_prog.c:431 iconv/iconvconfig.c:400 locale/programs/locale.c:280
+#: locale/programs/localedef.c:392 malloc/memusage.sh:75 nscd/nscd.c:411
+#: nss/getent.c:88 nss/makedb.c:250 posix/getconf.c:1017
+#, c-format
+msgid "Written by %s.\n"
+msgstr "Tác giả: %s.\n"
+
+#: catgets/gencat.c:282
+msgid "*standard input*"
+msgstr "*đầu vào tiêu chuẩn*"
+
+#: catgets/gencat.c:288 iconv/iconv_charmap.c:158 iconv/iconv_prog.c:298
+#: nss/makedb.c:170
+#, c-format
+msgid "cannot open input file `%s'"
+msgstr "không thể mở tập tin nhập vào « %s »"
+
+#: catgets/gencat.c:417 catgets/gencat.c:494
+msgid "illegal set number"
+msgstr "số thứ tự tập hợp cấm"
+
+#: catgets/gencat.c:444
+msgid "duplicate set definition"
+msgstr "lá»i xác định tập hợp trùng"
+
+#: catgets/gencat.c:446 catgets/gencat.c:623 catgets/gencat.c:677
+msgid "this is the first definition"
+msgstr "đây là lá»i xác định thứ nhất"
+
+#: catgets/gencat.c:522
+#, c-format
+msgid "unknown set `%s'"
+msgstr "không rõ tập hợp « %s »"
+
+#: catgets/gencat.c:563
+msgid "invalid quote character"
+msgstr "ký tự trích dẫn không hợp lệ"
+
+#: catgets/gencat.c:576
+#, c-format
+msgid "unknown directive `%s': line ignored"
+msgstr "không rõ chỉ thị « %s »: dòng bị bỠqua"
+
+#: catgets/gencat.c:621
+msgid "duplicated message number"
+msgstr "số thứ tự thông điệp trùng"
+
+#: catgets/gencat.c:674
+msgid "duplicated message identifier"
+msgstr "đồ nhận diện thông điệp trùng"
+
+#: catgets/gencat.c:731
+msgid "invalid character: message ignored"
+msgstr "ký tự không hợp lệ: thông điệp bị bỠqua"
+
+#: catgets/gencat.c:774
+msgid "invalid line"
+msgstr "dòng không hợp lệ"
+
+#: catgets/gencat.c:828
+msgid "malformed line ignored"
+msgstr "dòng dạng sai bị bỠqua"
+
+#: catgets/gencat.c:992 catgets/gencat.c:1033 nss/makedb.c:183
+#, c-format
+msgid "cannot open output file `%s'"
+msgstr "không thể mở tập tin kết xuất « %s »"
+
+#: catgets/gencat.c:1195 locale/programs/linereader.c:560
+msgid "invalid escape sequence"
+msgstr "dây thoát không hợp lệ"
+
+#: catgets/gencat.c:1217
+msgid "unterminated message"
+msgstr "thông điệp chưa chấm dứt "
+
+#: catgets/gencat.c:1241
+#, c-format
+msgid "while opening old catalog file"
+msgstr "trong khi mở tập tin phân loại cũ"
+
+#: catgets/gencat.c:1332
+#, c-format
+msgid "conversion modules not available"
+msgstr "mô-đun chuyển đổi không sẵn sàng"
+
+#: catgets/gencat.c:1358
+#, c-format
+msgid "cannot determine escape character"
+msgstr "không thể quyết định ký tự thoát"
+
+#: debug/pcprofiledump.c:53
+msgid "Don't buffer output"
+msgstr "Äừng chuyển hoán đệm kết xuất"
+
+#: debug/pcprofiledump.c:58
+msgid "Dump information generated by PC profiling."
+msgstr "Äổ thông tin được tạo khi Ä‘o hiệu năng sá»­ dụng PC "
+
+#: debug/pcprofiledump.c:61
+msgid "[FILE]"
+msgstr "TẬP TIN]"
+
+#: debug/pcprofiledump.c:104
+#, c-format
+msgid "cannot open input file"
+msgstr "không thể mở tập tin nhập vào"
+
+#: debug/pcprofiledump.c:111
+#, c-format
+msgid "cannot read header"
+msgstr "không thể Ä‘á»c phần đầu"
+
+#: debug/pcprofiledump.c:175
+#, c-format
+msgid "invalid pointer size"
+msgstr "kích cỡ con trỠkhông hợp lệ"
+
+#: debug/xtrace.sh:27 debug/xtrace.sh:45
+msgid "Usage: xtrace [OPTION]... PROGRAM [PROGRAMOPTION]...\\n"
+msgstr "Sử dụng: xtrace [TÙY CHỌN]... CHƯƠNG TRÌNH [TÙY_CHỌN_CHƯƠNG_TRÌNH]...\\n"
+
+#: debug/xtrace.sh:33
+msgid "Try \\`xtrace --help' for more information.\\n"
+msgstr "Hãy thử lệnh trợ giúp « xtrace --help » để xem thông tin thêm.\\n"
+
+#: debug/xtrace.sh:39
+msgid "xtrace: option \\`$1' requires an argument.\\n"
+msgstr "xtrace: tùy chá»n « $1 » cần thiết đối số.\\n"
+
+#: debug/xtrace.sh:46
+msgid ""
+"Trace execution of program by printing currently executed function.\n"
+"\n"
+" --data=FILE Don't run the program, just print the data from FILE.\n"
+"\n"
+" -?,--help Print this help and exit\n"
+" --usage Give a short usage message\n"
+" -V,--version Print version information and exit\n"
+"\n"
+"Mandatory arguments to long options are also mandatory for any corresponding\n"
+"short options.\n"
+"\n"
+"For bug reporting instructions, please see:\n"
+"<http://www.gnu.org/software/libc/bugs.html>.\\n"
+msgstr ""
+"Dò tìm Ä‘Æ°á»ng khi thá»±c hiện chÆ°Æ¡ng trình bằng cách in hàm Ä‘ang được chạy.\n"
+"\n"
+" --data=TẬP_TIN Äừng chạy chÆ°Æ¡ng trình, chỉ in dữ liệu từ tập tin này.\n"
+"\n"
+" -?,--help In trợ giúp này rồi thoát\n"
+" --usage Hiển thị hướng dẫn ngắn\n"
+" -V,--version In thông tin phiên bản rồi thoát\n"
+"\n"
+"Má»i đối số bắt buá»™c phải sá»­ dụng vá»›i tùy chá»n dài\n"
+"cÅ©ng bắt buá»™c vá»›i bất kỳ tùy chá»n ngắn tÆ°Æ¡ng ứng.\n"
+"\n"
+"Äể tìm hÆ°á»›ng dẫn vá» thông báo lá»—i, thăm địa chỉ:\n"
+"<http://www.gnu.org/software/libc/bugs.html>.\\n"
+
+#: debug/xtrace.sh:125
+msgid "xtrace: unrecognized option \\`$1'\\n"
+msgstr "xtrace: không nhận ra tùy chá»n « $1 »\\n"
+
+#: debug/xtrace.sh:138
+msgid "No program name given\\n"
+msgstr "Chưa nhập tên chương trình\\n"
+
+#: debug/xtrace.sh:146
+#, sh-format
+msgid "executable \\`$program' not found\\n"
+msgstr "không tìm thấy tập tin thực hiện được « $program »\\n"
+
+#: debug/xtrace.sh:150
+#, sh-format
+msgid "\\`$program' is no executable\\n"
+msgstr "« $program » không có khả năng thực hiện\\n"
+
+#: dlfcn/dlinfo.c:64
+msgid "RTLD_SELF used in code not dynamically loaded"
+msgstr "Chưa nạp động RTLD_SELF được dùng trong mã"
+
+#: dlfcn/dlinfo.c:73
+msgid "unsupported dlinfo request"
+msgstr "yêu cầu dlinfo không được hỗ trợ"
+
+#: dlfcn/dlmopen.c:64
+msgid "invalid namespace"
+msgstr "miá»n tên không hợp lệ"
+
+#: dlfcn/dlmopen.c:69
+msgid "invalid mode"
+msgstr "chế độ không hợp lệ"
+
+#: dlfcn/dlopen.c:64
+msgid "invalid mode parameter"
+msgstr "tham số chế độ không hợp lệ"
+
+#: elf/cache.c:69
+msgid "unknown"
+msgstr "không rõ"
+
+#: elf/cache.c:112
+msgid "Unknown OS"
+msgstr "Hệ Ä‘iá»u hành không rõ"
+
+#: elf/cache.c:117
+#, c-format
+msgid ", OS ABI: %s %d.%d.%d"
+msgstr ", OS ABI: %s %d.%d.%d"
+
+#: elf/cache.c:134 elf/ldconfig.c:1270
+#, c-format
+msgid "Can't open cache file %s\n"
+msgstr "Không thể mở tập tin nhớ tạm %s\n"
+
+#: elf/cache.c:148
+#, c-format
+msgid "mmap of cache file failed.\n"
+msgstr "lỗi mmap tập tin nhớ tạm.\n"
+
+#: elf/cache.c:152 elf/cache.c:166
+#, c-format
+msgid "File is not a cache file.\n"
+msgstr "Tập tin không phải là một tập tin nhớ tạm.\n"
+
+#: elf/cache.c:199 elf/cache.c:209
+#, c-format
+msgid "%d libs found in cache `%s'\n"
+msgstr "Tìm thấy %d thư viện trong bộ nhớ tạm « %s »\n"
+
+#: elf/cache.c:403
+#, c-format
+msgid "Can't create temporary cache file %s"
+msgstr "Không thể tạo tập tin nhá»› tạm kiểu tạm thá»i %s"
+
+#: elf/cache.c:411 elf/cache.c:421 elf/cache.c:425 elf/cache.c:430
+#, c-format
+msgid "Writing of cache data failed"
+msgstr "Lỗi ghi dữ liệu nhớ tạm"
+
+#: elf/cache.c:435
+#, c-format
+msgid "Changing access rights of %s to %#o failed"
+msgstr "Lá»—i thay đổi quyá»n truy cập của %s vào %#o"
+
+#: elf/cache.c:440
+#, c-format
+msgid "Renaming of %s to %s failed"
+msgstr "Lỗi thay đổi tên %s thành %s"
+
+#: elf/dl-close.c:378 elf/dl-open.c:460
+msgid "cannot create scope list"
+msgstr "không thể tạo danh sách phạm vi"
+
+#: elf/dl-close.c:724
+msgid "shared object not open"
+msgstr "chưa mở đối tượng dùng chung"
+
+#: elf/dl-deps.c:114
+msgid "DST not allowed in SUID/SGID programs"
+msgstr "Không cho phép DST trong chương trình kiểu SUID/SGID"
+
+#: elf/dl-deps.c:127 elf/dl-open.c:282
+msgid "empty dynamic string token substitution"
+msgstr "sự thay thế hiệu bài chuỗi động trống"
+
+#: elf/dl-deps.c:133
+#, c-format
+msgid "cannot load auxiliary `%s' because of empty dynamic string token substitution\n"
+msgstr "không thể nạp bổ trợ « %s » do sự thay thế hiệu bài chuỗi động trống\n"
+
+#: elf/dl-deps.c:474
+msgid "cannot allocate dependency list"
+msgstr "không thể cấp phát danh sách quan hệ phụ thuộc"
+
+#: elf/dl-deps.c:510 elf/dl-deps.c:565
+msgid "cannot allocate symbol search list"
+msgstr "không thể cấp phát danh sách tìm kiếm ký hiệu"
+
+#: elf/dl-deps.c:550
+msgid "Filters not supported with LD_TRACE_PRELINKING"
+msgstr "Không há»— trợ bá»™ lá»c vá»›i LD_TRACE_PRELINKING"
+
+#: elf/dl-error.c:77
+msgid "DYNAMIC LINKER BUG!!!"
+msgstr "Lá»–I LIÊN KẾT ÄỘNG !!!"
+
+#: elf/dl-error.c:124
+msgid "error while loading shared libraries"
+msgstr "gặp lỗi khi nạp thư viện dùng chung"
+
+#: elf/dl-fptr.c:88
+msgid "cannot map pages for fdesc table"
+msgstr "không thể ánh xạ trang cho bảng fdesc"
+
+#: elf/dl-fptr.c:192
+msgid "cannot map pages for fptr table"
+msgstr "không thể ánh xạ trang cho bảng fptr"
+
+#: elf/dl-fptr.c:221
+msgid "internal error: symidx out of range of fptr table"
+msgstr "lỗi nội bộ : symidx ở ngoại phạm vi của bảng fptr"
+
+#: elf/dl-load.c:372
+msgid "cannot allocate name record"
+msgstr "không thể cấp phát mục ghi tên"
+
+#: elf/dl-load.c:474 elf/dl-load.c:582 elf/dl-load.c:667 elf/dl-load.c:780
+msgid "cannot create cache for search path"
+msgstr "không thể tạo bá»™ nhá»› tạm cho Ä‘Æ°á»ng dẫn tìm kiếm"
+
+#: elf/dl-load.c:565
+msgid "cannot create RUNPATH/RPATH copy"
+msgstr "không thể tạo bản sao RUNPATH/RPATH"
+
+#: elf/dl-load.c:653
+msgid "cannot create search path array"
+msgstr "không thể tạo mảng Ä‘Æ°á»ng dẫn tìm kiếm"
+
+#: elf/dl-load.c:864
+msgid "cannot stat shared object"
+msgstr "không thể lấy trạng thái vỠđối tượng dùng chung"
+
+#: elf/dl-load.c:934
+msgid "cannot open zero fill device"
+msgstr "không thể mở thiết bị Ä‘iá»n số không"
+
+#: elf/dl-load.c:979 elf/dl-load.c:2224
+msgid "cannot create shared object descriptor"
+msgstr "không thể tạo bộ mô tả đối tượng dùng chung"
+
+#: elf/dl-load.c:998 elf/dl-load.c:1656 elf/dl-load.c:1748
+msgid "cannot read file data"
+msgstr "không thể Ä‘á»c dữ liệu tập tin"
+
+#: elf/dl-load.c:1042
+msgid "ELF load command alignment not page-aligned"
+msgstr "Sắp hàng câu lệnh nạp ELF không phải sắp hàng theo trang"
+
+#: elf/dl-load.c:1049
+msgid "ELF load command address/offset not properly aligned"
+msgstr "Äịa chỉ/bù của câu lệnh nạp ELF không phải được sắp hàng đúng"
+
+#: elf/dl-load.c:1132
+msgid "cannot allocate TLS data structures for initial thread"
+msgstr "không thể cấp phát cấu trúc dữ liệu TLS đối với mạch đầu tiên"
+
+#: elf/dl-load.c:1155
+msgid "cannot handle TLS data"
+msgstr "không thể xử lý dữ liệu TLS"
+
+#: elf/dl-load.c:1174
+msgid "object file has no loadable segments"
+msgstr "tập tin đối tượng không có đoạn nạp được"
+
+#: elf/dl-load.c:1210
+msgid "failed to map segment from shared object"
+msgstr "lỗi ánh xạ đoạn từ đối tượng dùng chung"
+
+#: elf/dl-load.c:1236
+msgid "cannot dynamically load executable"
+msgstr "không thể nạp động tập tin thực hiện được"
+
+#: elf/dl-load.c:1298
+msgid "cannot change memory protections"
+msgstr "không thể thay đổi sự bảo vệ bộ nhớ"
+
+#: elf/dl-load.c:1317
+msgid "cannot map zero-fill pages"
+msgstr "không thể ánh xạ trang Ä‘iá»n số không"
+
+#: elf/dl-load.c:1331
+msgid "object file has no dynamic section"
+msgstr "tập tin đối tượng không có phần động"
+
+#: elf/dl-load.c:1354
+msgid "shared object cannot be dlopen()ed"
+msgstr "đối tượng dùng chung không thể được dlopen()"
+
+#: elf/dl-load.c:1367
+msgid "cannot allocate memory for program header"
+msgstr "không thể cấp phát bộ nhớ cho phần đầu chương trình"
+
+#: elf/dl-load.c:1384 elf/dl-open.c:218
+msgid "invalid caller"
+msgstr "bá»™ gá»i không hợp lệ"
+
+#: elf/dl-load.c:1423
+msgid "cannot enable executable stack as shared object requires"
+msgstr "không thể hiệu lực đống thực hiện được theo yêu cầu của đối tượng dùng chung"
+
+#: elf/dl-load.c:1436
+msgid "cannot close file descriptor"
+msgstr "không thể đóng bộ mô tả tập tin"
+
+#: elf/dl-load.c:1478
+msgid "cannot create searchlist"
+msgstr "không thể tạo danh sách tìm kiếm"
+
+#: elf/dl-load.c:1656
+msgid "file too short"
+msgstr "tập tin quá ngắn"
+
+#: elf/dl-load.c:1685
+msgid "invalid ELF header"
+msgstr "phần đầu ELF không hợp lệ"
+
+#: elf/dl-load.c:1697
+msgid "ELF file data encoding not big-endian"
+msgstr "Bảng mã dữ liệu tập tin ELF không có kiểu vỠcuối lớn"
+
+#: elf/dl-load.c:1699
+msgid "ELF file data encoding not little-endian"
+msgstr "Bảng mã dữ liệu tập tin ELF không có kiểu vá» cuối nhá»"
+
+#: elf/dl-load.c:1703
+msgid "ELF file version ident does not match current one"
+msgstr "ident của phiên bản tập tin ELF không tÆ°Æ¡ng ứng vá»›i Ä‘iá»u hiện thá»i"
+
+#: elf/dl-load.c:1707
+msgid "ELF file OS ABI invalid"
+msgstr "Hệ Ä‘iá»u hành ABI của tập tin ELF không phải hợp lệ"
+
+#: elf/dl-load.c:1709
+msgid "ELF file ABI version invalid"
+msgstr "Phiên bản ABI của tập tin ELF không phải hợp lệ"
+
+#: elf/dl-load.c:1712
+msgid "internal error"
+msgstr "lá»—i ná»™i bá»™"
+
+#: elf/dl-load.c:1719
+msgid "ELF file version does not match current one"
+msgstr "Phiên bản tập tin ELF không tÆ°Æ¡ng ứng vá»›i Ä‘iá»u hiện thá»i"
+
+#: elf/dl-load.c:1727
+msgid "only ET_DYN and ET_EXEC can be loaded"
+msgstr "chỉ có thể nạp ET_DYN và ET_EXEC"
+
+#: elf/dl-load.c:1733
+msgid "ELF file's phentsize not the expected size"
+msgstr "kích cỡ phentsize của tập tin ELF là bất thÆ°á»ng"
+
+#: elf/dl-load.c:2240
+msgid "wrong ELF class: ELFCLASS64"
+msgstr "hạng ELF không đúng: ELFCLASS64"
+
+#: elf/dl-load.c:2241
+msgid "wrong ELF class: ELFCLASS32"
+msgstr "hạng ELF không đúng: ELFCLASS32"
+
+#: elf/dl-load.c:2244
+msgid "cannot open shared object file"
+msgstr "không thể mở tập tin đối tượng dùng chung"
+
+#: elf/dl-lookup.c:356
+msgid "relocation error"
+msgstr "lỗi cấp định vị lại"
+
+#: elf/dl-lookup.c:384
+msgid "symbol lookup error"
+msgstr "lỗi tra cứu ký hiệu"
+
+#: elf/dl-open.c:114
+msgid "cannot extend global scope"
+msgstr "không thể kéo dài phạm vi toàn cục"
+
+#: elf/dl-open.c:512
+msgid "TLS generation counter wrapped! Please report this."
+msgstr "Bá»™ đếm tạo TLS đã bao bá»c ! Hãy thông báo."
+
+#: elf/dl-open.c:549
+msgid "invalid mode for dlopen()"
+msgstr "chế độ không hợp lệ đối với dlopen()"
+
+#: elf/dl-open.c:566
+msgid "no more namespaces available for dlmopen()"
+msgstr "không có sẵn miá»n tên thêm nữa đối vá»›i dlmopen()"
+
+#: elf/dl-open.c:579
+msgid "invalid target namespace in dlmopen()"
+msgstr "miá»n tên đích không hợp lệ trong dlmopen()"
+
+#: elf/dl-reloc.c:54
+msgid "cannot allocate memory in static TLS block"
+msgstr "không thể cấp phát bộ nhớ trong khối TLS tĩnh."
+
+#: elf/dl-reloc.c:196
+msgid "cannot make segment writable for relocation"
+msgstr "không thể làm cho đoạn có khả năng ghi để định vị lại"
+
+#: elf/dl-reloc.c:277
+#, c-format
+msgid "%s: no PLTREL found in object %s\n"
+msgstr "%s: không tìm thấy PLTREL trong đối tượng %s\n"
+
+#: elf/dl-reloc.c:288
+#, c-format
+msgid "%s: out of memory to store relocation results for %s\n"
+msgstr "%s: không đủ bộ nhớ để cất giữ kết quả định vị lại đối với %s\n"
+
+#: elf/dl-reloc.c:304
+msgid "cannot restore segment prot after reloc"
+msgstr "không thể phục hồi giao thức (prot) đoạn sau khi định vị lại"
+
+#: elf/dl-reloc.c:329
+msgid "cannot apply additional memory protection after relocation"
+msgstr "không thể áp dụng sự bảo vệ bộ nhớ thêm sau khi định vị lại"
+
+#: elf/dl-sym.c:162
+msgid "RTLD_NEXT used in code not dynamically loaded"
+msgstr "RTLD_NEXT được dùng trong mã không phải được nạp động"
+
+#: elf/dl-sysdep.c:469 elf/dl-sysdep.c:481
+msgid "cannot create capability list"
+msgstr "không thể tạo danh sách khả năng"
+
+#: elf/dl-tls.c:825
+msgid "cannot create TLS data structures"
+msgstr "không thể tạo các cấu trúc dữ liệu TLS"
+
+#: elf/dl-version.c:303
+msgid "cannot allocate version reference table"
+msgstr "không thể cấp phát bảng tham chiếu phiên bản"
+
+#: elf/ldconfig.c:138
+msgid "Print cache"
+msgstr "In bá»™ nhá»›"
+
+#: elf/ldconfig.c:139
+msgid "Generate verbose messages"
+msgstr "Tạo thông điệp chi tiết"
+
+#: elf/ldconfig.c:140
+msgid "Don't build cache"
+msgstr "Äừng xây dá»±ng bá»™ nhá»› tạm"
+
+#: elf/ldconfig.c:141
+msgid "Don't generate links"
+msgstr "Äừng tạo liên kết"
+
+#: elf/ldconfig.c:142
+msgid "Change to and use ROOT as root directory"
+msgstr "Chuyển đổi và dùng Gá»C làm thÆ° mục gốc"
+
+#: elf/ldconfig.c:142
+msgid "ROOT"
+msgstr "Gá»C"
+
+#: elf/ldconfig.c:143
+msgid "CACHE"
+msgstr "NHỚ_TẠM"
+
+#: elf/ldconfig.c:143
+msgid "Use CACHE as cache file"
+msgstr "Dùng NHỚ_TẠM làm tập tin nhớ tạm"
+
+#: elf/ldconfig.c:144
+msgid "CONF"
+msgstr "CẤU_HÌNH"
+
+#: elf/ldconfig.c:144
+msgid "Use CONF as configuration file"
+msgstr "Dùng CẤU_HÌNH làm tập tin cấu hình"
+
+#: elf/ldconfig.c:145
+msgid "Only process directories specified on the command line. Don't build cache."
+msgstr "Chỉ xá»­ lý các thÆ° mục được ghi rõ trên dòng lệnh. Äừng xây dá»±ng bá»™ nhá»› tạm."
+
+#: elf/ldconfig.c:146
+msgid "Manually link individual libraries."
+msgstr "Liên kết bằng tay các thư viện riêng."
+
+#: elf/ldconfig.c:147
+msgid "FORMAT"
+msgstr "ÄỊNH_DẠNG"
+
+#: elf/ldconfig.c:147
+msgid "Format to use: new, old or compat (default)"
+msgstr ""
+"ÄÆ°á»ng dẫn cần dùng:\n"
+" • new\tmới\n"
+" • old\tcũ\n"
+" • compat\ttương thích (mặc định)"
+
+#: elf/ldconfig.c:148
+msgid "Ignore auxiliary cache file"
+msgstr "BỠqua tập tin nhớ tạm bổ trợ"
+
+#: elf/ldconfig.c:156
+msgid "Configure Dynamic Linker Run Time Bindings."
+msgstr "Cấu hình các tổ hợp lúc chạy liên kết động."
+
+#: elf/ldconfig.c:319
+#, c-format
+msgid "Path `%s' given more than once"
+msgstr "ÄÆ°á»ng dẫn « %s » được Ä‘Æ°a ra nhiá»u lần"
+
+#: elf/ldconfig.c:359
+#, c-format
+msgid "%s is not a known library type"
+msgstr "« %s » không phải là kiểu thư viện đã biết"
+
+#: elf/ldconfig.c:384
+#, c-format
+msgid "Can't stat %s"
+msgstr "Không thể lấy trạng thái vỠ%s"
+
+#: elf/ldconfig.c:458
+#, c-format
+msgid "Can't stat %s\n"
+msgstr "Không thể lấy trạng thái vỠ%s\n"
+
+#: elf/ldconfig.c:468
+#, c-format
+msgid "%s is not a symbolic link\n"
+msgstr "%s không phải là một liên kết tượng trưng\n"
+
+#: elf/ldconfig.c:487
+#, c-format
+msgid "Can't unlink %s"
+msgstr "Không thể bỠliên kết %s"
+
+#: elf/ldconfig.c:493
+#, c-format
+msgid "Can't link %s to %s"
+msgstr "Không thể liên kết %s tới %s"
+
+#: elf/ldconfig.c:499
+msgid " (changed)\n"
+msgstr " (đã thay đổi)\n"
+
+#: elf/ldconfig.c:501
+msgid " (SKIPPED)\n"
+msgstr " (BỊ BỎ QUA)\n"
+
+#: elf/ldconfig.c:556
+#, c-format
+msgid "Can't find %s"
+msgstr "Không tìm thấy %s"
+
+#: elf/ldconfig.c:572 elf/ldconfig.c:745 elf/ldconfig.c:793 elf/ldconfig.c:827
+#, c-format
+msgid "Cannot lstat %s"
+msgstr "Không thể lstat %s"
+
+#: elf/ldconfig.c:579
+#, c-format
+msgid "Ignored file %s since it is not a regular file."
+msgstr "Äã bá» qua tập tin %s vì nó không phải là tập tin chuẩn."
+
+#: elf/ldconfig.c:588
+#, c-format
+msgid "No link created since soname could not be found for %s"
+msgstr "Chưa tạo liên kết vì không tìm thấy soname đối với %s"
+
+#: elf/ldconfig.c:671
+#, c-format
+msgid "Can't open directory %s"
+msgstr "Không thể mở thư mục %s"
+
+#: elf/ldconfig.c:759
+#, c-format
+msgid "Cannot stat %s"
+msgstr "Không thể lấy trạng thái vỠ%s"
+
+#: elf/ldconfig.c:814 elf/readlib.c:91
+#, c-format
+msgid "Input file %s not found.\n"
+msgstr "Không tìm thấy tập tin nhập vào %s.\n"
+
+#: elf/ldconfig.c:888
+#, c-format
+msgid "libc5 library %s in wrong directory"
+msgstr "thư viện libc5 %s nằm trong thư mục không đúng"
+
+#: elf/ldconfig.c:891
+#, c-format
+msgid "libc6 library %s in wrong directory"
+msgstr "thư viện libc6 %s nằm trong thư mục không đúng"
+
+#: elf/ldconfig.c:894
+#, c-format
+msgid "libc4 library %s in wrong directory"
+msgstr "thư viện libc4 %s nằm trong thư mục không đúng"
+
+#: elf/ldconfig.c:922
+#, c-format
+msgid "libraries %s and %s in directory %s have same soname but different type."
+msgstr "thư viện %s và %s trong thư mục %s có cùng một soname còn có kiểu khác nhau."
+
+#: elf/ldconfig.c:1031
+#, c-format
+msgid "Can't open configuration file %s"
+msgstr "Không thể mở tập tin cấu hình %s"
+
+#: elf/ldconfig.c:1095
+#, c-format
+msgid "%s:%u: bad syntax in hwcap line"
+msgstr "%s:%u: cú pháp sai trong dòng hwcap"
+
+#: elf/ldconfig.c:1101
+#, c-format
+msgid "%s:%u: hwcap index %lu above maximum %u"
+msgstr "%s:%u: chỉ mục hwcap %lu vượt quá tối đa %u"
+
+#: elf/ldconfig.c:1108 elf/ldconfig.c:1116
+#, c-format
+msgid "%s:%u: hwcap index %lu already defined as %s"
+msgstr "%s:%u: chỉ mục hwcap %lu đã được xác định là %s"
+
+#: elf/ldconfig.c:1119
+#, c-format
+msgid "%s:%u: duplicate hwcap %lu %s"
+msgstr "%s:%u: hwcap trùng %lu %s"
+
+#: elf/ldconfig.c:1141
+#, c-format
+msgid "need absolute file name for configuration file when using -r"
+msgstr "dùng tùy chá»n « -r » thì cÅ©ng cần tên tập tin tuyệt đối cho tập tin cấu hình"
+
+#: elf/ldconfig.c:1148 locale/programs/xmalloc.c:70 malloc/obstack.c:434
+#: malloc/obstack.c:436 posix/getconf.c:985 posix/getconf.c:1163
+#, c-format
+msgid "memory exhausted"
+msgstr "cạn bộ nhớ"
+
+#: elf/ldconfig.c:1178
+#, c-format
+msgid "%s:%u: cannot read directory %s"
+msgstr "%s:%u: không thể Ä‘á»c thÆ° mục %s"
+
+#: elf/ldconfig.c:1223
+#, c-format
+msgid "relative path `%s' used to build cache"
+msgstr "Ä‘Æ°á»ng dẫn tÆ°Æ¡ng đối « %s » được dùng để xây dá»±ng bá»™ nhá»› tạm"
+
+#: elf/ldconfig.c:1249
+#, c-format
+msgid "Can't chdir to /"
+msgstr "Không thể chuyển đổi thư mục (chdir) sang /"
+
+#: elf/ldconfig.c:1291
+#, c-format
+msgid "Can't open cache file directory %s\n"
+msgstr "Không thể mở thư mục nhớ tạm %s\n"
+
+#: elf/ldd.bash.in:43
+msgid "Written by %s and %s.\n"
+msgstr "Tác giả: %s và %s.\n"
+
+#: elf/ldd.bash.in:48
+msgid ""
+"Usage: ldd [OPTION]... FILE...\n"
+" --help print this help and exit\n"
+" --version print version information and exit\n"
+" -d, --data-relocs process data relocations\n"
+" -r, --function-relocs process data and function relocations\n"
+" -u, --unused print unused direct dependencies\n"
+" -v, --verbose print all information\n"
+"For bug reporting instructions, please see:\n"
+"<http://www.gnu.org/software/libc/bugs.html>."
+msgstr ""
+"Sử dụng: ldd [TÙY_CHỌN]... TẬP_TIN...\n"
+" --help in trợ giúp này rồi thoát\n"
+" --version in thông tin phiên bản rồi thoát\n"
+" -d, --data-relocs xử lý các sự định vị lại dữ liệu\n"
+" -r, --function-relocs xử lý các sự định vị lại dữ liệu và hàm\n"
+" -u, --unused in các quan hệ phụ thuộc trực tiếp không dùng\n"
+" -v, --verbose in má»i thông tin\n"
+"Äể tìm hÆ°á»›ng dẫn vá» thông báo lá»—i, thăm địa chỉ:\n"
+"<http://www.gnu.org/software/libc/bugs.html>."
+
+#: elf/ldd.bash.in:80
+msgid "ldd: option \\`$1' is ambiguous"
+msgstr "ldd: tùy chá»n « $1 » là mÆ¡ hồ"
+
+#: elf/ldd.bash.in:87
+msgid "unrecognized option"
+msgstr "không nhận ra tùy chá»n"
+
+#: elf/ldd.bash.in:88 elf/ldd.bash.in:126
+msgid "Try \\`ldd --help' for more information."
+msgstr "Hãy thử lệnh trợ giúp « ldd --help » để xem thông tin thêm."
+
+#: elf/ldd.bash.in:125
+msgid "missing file arguments"
+msgstr "đối số tập tin còn thiếu"
+
+#. TRANS No such file or directory. This is a ``file doesn't exist'' error
+#. TRANS for ordinary files that are referenced in contexts where they are
+#. TRANS expected to already exist.
+#: elf/ldd.bash.in:148 sysdeps/gnu/errlist.c:36
+msgid "No such file or directory"
+msgstr "Không có tập tin hoặc thư mục như vậy"
+
+#: elf/ldd.bash.in:151 inet/rcmd.c:483
+msgid "not regular file"
+msgstr "không phải tập tin chuẩn"
+
+#: elf/ldd.bash.in:154
+msgid "warning: you do not have execution permission for"
+msgstr "cảnh báo : bạn không có quyá»n thá»±c hiện"
+
+#: elf/ldd.bash.in:183
+msgid "\tnot a dynamic executable"
+msgstr "\tkhông phải một tập tin thực hiện được kiểu động"
+
+#: elf/ldd.bash.in:191
+msgid "exited with unknown exit code"
+msgstr "đã thoát với mã thoát không rõ"
+
+#: elf/ldd.bash.in:196
+msgid "error: you do not have read permission for"
+msgstr "lá»—i: bạn không có quyá»n Ä‘á»c"
+
+#: elf/readelflib.c:35
+#, c-format
+msgid "file %s is truncated\n"
+msgstr "tập tin « %s » bị cắt ngắn\n"
+
+#: elf/readelflib.c:67
+#, c-format
+msgid "%s is a 32 bit ELF file.\n"
+msgstr "%s là một tập tin ELF 32-bit.\n"
+
+#: elf/readelflib.c:69
+#, c-format
+msgid "%s is a 64 bit ELF file.\n"
+msgstr "%s là một tập tin ELF 64-bit.\n"
+
+#: elf/readelflib.c:71
+#, c-format
+msgid "Unknown ELFCLASS in file %s.\n"
+msgstr "Không rõ hạng ELFCLASS trong tập tin %s.\n"
+
+#: elf/readelflib.c:78
+#, c-format
+msgid "%s is not a shared object file (Type: %d).\n"
+msgstr "%s không phải là tập tin đối tượng dùng chung (Kiểu %d).\n"
+
+#: elf/readelflib.c:109
+#, c-format
+msgid "more than one dynamic segment\n"
+msgstr "hơn một đoạn động\n"
+
+#: elf/readlib.c:97
+#, c-format
+msgid "Cannot fstat file %s.\n"
+msgstr "Không thể fstat tập tin %s.\n"
+
+#: elf/readlib.c:108
+#, c-format
+msgid "File %s is empty, not checked."
+msgstr "Tập tin %s là trống nên không được kiểm tra."
+
+#: elf/readlib.c:114
+#, c-format
+msgid "File %s is too small, not checked."
+msgstr "Tập tin %s quá nhỠnên không được kiểm tra."
+
+#: elf/readlib.c:124
+#, c-format
+msgid "Cannot mmap file %s.\n"
+msgstr "Không thể mmap tập tin %s.\n"
+
+#: elf/readlib.c:162
+#, c-format
+msgid "%s is not an ELF file - it has the wrong magic bytes at the start.\n"
+msgstr "%s không phải là tập tin ELF — có những byte ma thuật không đúng tại đầu nó.\n"
+
+#: elf/sprof.c:77
+msgid "Output selection:"
+msgstr "Xuất vùng chá»n:"
+
+#: elf/sprof.c:79
+msgid "print list of count paths and their number of use"
+msgstr "in danh sách các Ä‘Æ°á»ng dẫn đếm và số lần dùng má»—i Ä‘Æ°á»ng dẫn"
+
+#: elf/sprof.c:81
+msgid "generate flat profile with counts and ticks"
+msgstr "tạo nét hiện trạng phẳng có số đếm và vạch khấc"
+
+#: elf/sprof.c:82
+msgid "generate call graph"
+msgstr "tạo đồ thị gá»i"
+
+#: elf/sprof.c:89
+msgid ""
+"Read and display shared object profiling data.\vFor bug reporting instructions, please see:\n"
+"<http://www.gnu.org/software/libc/bugs.html>.\n"
+msgstr ""
+"Äá»c và hiển thị dữ liệu Ä‘o hiệu năng sá»­ dụng Ä‘Æ°á»ng dẫn dùng chung.\n"
+"Äể tìm hÆ°á»›ng dẫn vá» thông báo lá»—i, thăm địa chỉ:\n"
+"<http://www.gnu.org/software/libc/bugs.html>.\n"
+
+#: elf/sprof.c:94
+msgid "SHOBJ [PROFDATA]"
+msgstr "SHOBJ [Dá»®_LIỆU_ÄO_HIỆU_NÄ‚NG]"
+
+#: elf/sprof.c:400
+#, c-format
+msgid "failed to load shared object `%s'"
+msgstr "lỗi nạp đối tượng dùng chung « %s »"
+
+#: elf/sprof.c:409
+#, c-format
+msgid "cannot create internal descriptors"
+msgstr "không thể tạo bộ mô tả nội bộ"
+
+#: elf/sprof.c:528
+#, c-format
+msgid "Reopening shared object `%s' failed"
+msgstr "Lỗi mở lại đối tượng dùng chung « %s »"
+
+#: elf/sprof.c:535 elf/sprof.c:629
+#, c-format
+msgid "reading of section headers failed"
+msgstr "lá»—i Ä‘á»c phần đầu của phần"
+
+#: elf/sprof.c:543 elf/sprof.c:637
+#, c-format
+msgid "reading of section header string table failed"
+msgstr "lá»—i Ä‘á»c bảng chuá»—i phần đầu của phần"
+
+#: elf/sprof.c:569
+#, c-format
+msgid "*** Cannot read debuginfo file name: %m\n"
+msgstr "*** Không thể Ä‘á»c tên tập tin chứa thông tin gỡ lá»—i: %m\n"
+
+#: elf/sprof.c:589
+#, c-format
+msgid "cannot determine file name"
+msgstr "không thể quyết định tên tập tin"
+
+#: elf/sprof.c:622
+#, c-format
+msgid "reading of ELF header failed"
+msgstr "lá»—i Ä‘á»c phần đầu ELF"
+
+#: elf/sprof.c:658
+#, c-format
+msgid "*** The file `%s' is stripped: no detailed analysis possible\n"
+msgstr "*** Tập tin « %s » bị tước nên không thể phân tích chi tiết\n"
+
+#: elf/sprof.c:688
+#, c-format
+msgid "failed to load symbol data"
+msgstr "lỗi nạp dữ liệu ký hiệu"
+
+#: elf/sprof.c:755
+#, c-format
+msgid "cannot load profiling data"
+msgstr "không thể nạp dữ liệu đo hiệu năng sử dụng"
+
+#: elf/sprof.c:764
+#, c-format
+msgid "while stat'ing profiling data file"
+msgstr "trong khi lấy trạng thái vỠtập tin dữ liệu do hiệu năng sử dụng"
+
+#: elf/sprof.c:772
+#, c-format
+msgid "profiling data file `%s' does not match shared object `%s'"
+msgstr "tập tin dữ liệu do hiệu năng sử dụng « %s » không tương ứng với đối tượng dùng chung « %s »"
+
+#: elf/sprof.c:783
+#, c-format
+msgid "failed to mmap the profiling data file"
+msgstr "lỗi mmap tập tin dữ liệu do hiệu năng sử dụng"
+
+#: elf/sprof.c:791
+#, c-format
+msgid "error while closing the profiling data file"
+msgstr "gặp lỗi khi đóng tập tin dữ liệu do hiệu năng sử dụng"
+
+#: elf/sprof.c:800 elf/sprof.c:870
+#, c-format
+msgid "cannot create internal descriptor"
+msgstr "không thể tạo bộ mô tả nội bộ"
+
+#: elf/sprof.c:846
+#, c-format
+msgid "`%s' is no correct profile data file for `%s'"
+msgstr "« %s » không phải là tập tin dữ liệu do hiệu năng sử dụng đúng đối với « %s »"
+
+#: elf/sprof.c:1027 elf/sprof.c:1085
+#, c-format
+msgid "cannot allocate symbol data"
+msgstr "không thể cấp phát dữ liệu ký hiệu"
+
+#: iconv/iconv_charmap.c:176 iconv/iconv_prog.c:316
+#, c-format
+msgid "error while closing input `%s'"
+msgstr "gặp lỗi khi đóng dữ liệu nhập vào « %s »"
+
+#: iconv/iconv_charmap.c:450
+#, c-format
+msgid "illegal input sequence at position %Zd"
+msgstr "dãy nhập vào cấm ở vị trí %Zd"
+
+#: iconv/iconv_charmap.c:469 iconv/iconv_prog.c:526
+#, c-format
+msgid "incomplete character or shift sequence at end of buffer"
+msgstr "dây ký tá»± hoặc dá»i chÆ°a hoàn toàn ở kết thúc của bá»™ đệm"
+
+#: iconv/iconv_charmap.c:514 iconv/iconv_charmap.c:550 iconv/iconv_prog.c:569
+#: iconv/iconv_prog.c:605
+#, c-format
+msgid "error while reading the input"
+msgstr "gặp lá»—i khi Ä‘á»c dữ liệu nhập vào"
+
+#: iconv/iconv_charmap.c:532 iconv/iconv_prog.c:587
+#, c-format
+msgid "unable to allocate buffer for input"
+msgstr "không thể cấp phát bộ đệm cho dữ liệu nhập vào"
+
+#: iconv/iconv_prog.c:60
+msgid "Input/Output format specification:"
+msgstr "Äặc tả định dạng Vào/Ra:"
+
+#: iconv/iconv_prog.c:61
+msgid "encoding of original text"
+msgstr "bảng mã của văn bản gốc"
+
+#: iconv/iconv_prog.c:62
+msgid "encoding for output"
+msgstr "bảng mã cho kết xuất"
+
+#: iconv/iconv_prog.c:63
+msgid "Information:"
+msgstr "Thông tin:"
+
+#: iconv/iconv_prog.c:64
+msgid "list all known coded character sets"
+msgstr "liệt kê tất cả các bộ ký tự đã mã hoá được biết"
+
+#: iconv/iconv_prog.c:65 locale/programs/localedef.c:127
+msgid "Output control:"
+msgstr "Äiá»u khiển xuất:"
+
+#: iconv/iconv_prog.c:66
+msgid "omit invalid characters from output"
+msgstr "bá» sót ký tá»± không hợp lệ khá»i kết xuất"
+
+#: iconv/iconv_prog.c:67
+msgid "output file"
+msgstr "tập tin kết xuất"
+
+#: iconv/iconv_prog.c:68
+msgid "suppress warnings"
+msgstr "thu hồi cảnh báo"
+
+#: iconv/iconv_prog.c:69
+msgid "print progress information"
+msgstr "in thông tin tiến hành"
+
+#: iconv/iconv_prog.c:74
+msgid "Convert encoding of given files from one encoding to another."
+msgstr "Chuyển đổi bảng mã của các tập tin đã đưa ra từ bảng mã này sang bảng mã khác."
+
+#: iconv/iconv_prog.c:78
+msgid "[FILE...]"
+msgstr "[TẬP_TIN...]"
+
+#: iconv/iconv_prog.c:200
+#, c-format
+msgid "cannot open output file"
+msgstr "không thể mở tập tin kết xuất"
+
+#: iconv/iconv_prog.c:242
+#, c-format
+msgid "conversions from `%s' and to `%s' are not supported"
+msgstr "không hỗ trợ chức năng chuyển đổi từ « %s » hoặc đến « %s »"
+
+#: iconv/iconv_prog.c:247
+#, c-format
+msgid "conversion from `%s' is not supported"
+msgstr "không hỗ trợ chức năng chuyển đổi từ « %s »"
+
+#: iconv/iconv_prog.c:254
+#, c-format
+msgid "conversion to `%s' is not supported"
+msgstr "không hỗ trợ chức năng chuyển đổi đến « %s »"
+
+#: iconv/iconv_prog.c:258
+#, c-format
+msgid "conversion from `%s' to `%s' is not supported"
+msgstr "không hỗ trợ chức năng chuyển đổi từ « %s » đến « %s »"
+
+#: iconv/iconv_prog.c:268
+#, c-format
+msgid "failed to start conversion processing"
+msgstr "lỗi bắt đầu tiến trình chuyển đổi"
+
+#: iconv/iconv_prog.c:362
+#, c-format
+msgid "error while closing output file"
+msgstr "gặp lỗi khi đóng tập tin kết xuất"
+
+#: iconv/iconv_prog.c:471 iconv/iconv_prog.c:497
+#, c-format
+msgid "conversion stopped due to problem in writing the output"
+msgstr "tiến trình chuyển đổi bị dừng chạy do vấn đỠkhi ghi kết xuất"
+
+#: iconv/iconv_prog.c:522
+#, c-format
+msgid "illegal input sequence at position %ld"
+msgstr "dãy nhập vào không hợp lệ ở vị trí %ld"
+
+#: iconv/iconv_prog.c:530
+#, c-format
+msgid "internal error (illegal descriptor)"
+msgstr "gặp lỗi nội bộ (bộ mô tả cấm)"
+
+#: iconv/iconv_prog.c:533
+#, c-format
+msgid "unknown iconv() error %d"
+msgstr "không rõ lỗi iconv() %d"
+
+#: iconv/iconv_prog.c:779
+msgid ""
+"The following list contain all the coded character sets known. This does\n"
+"not necessarily mean that all combinations of these names can be used for\n"
+"the FROM and TO command line parameters. One coded character set can be\n"
+"listed with several different names (aliases).\n"
+"\n"
+" "
+msgstr ""
+"Danh sách bên dưới chứa tất cả các bộ ký tự đã mã hoá mà được biết.\n"
+"Không nhất thiết có nghĩa là tất cả các tổ hợp những tên này có thể\n"
+"được dùng làm tham số dòng lệnh TỪ và ÄẾN. Má»™t bá»™ ký tá»± đã mã hoá\n"
+"cũng có thể được liệt kê với vài tên khác nhau.\n"
+"\n"
+" "
+
+#: iconv/iconvconfig.c:110
+msgid "Create fastloading iconv module configuration file."
+msgstr "Tạo tập tin cấu hình mô-đun iconv sẽ nạp nhanh."
+
+#: iconv/iconvconfig.c:114
+msgid "[DIR...]"
+msgstr "[THƯ_MỤC...]"
+
+#: iconv/iconvconfig.c:127
+msgid "Prefix used for all file accesses"
+msgstr "Tiá»n tố được dùng cho má»i việc truy cập tập tin"
+
+#: iconv/iconvconfig.c:128
+msgid "Put output in FILE instead of installed location (--prefix does not apply to FILE)"
+msgstr "Äể kết xuất vào TẬP_TIN thay vào vị trí đã cài đặt (--prefix không áp dụng cho TẬP_TIN)"
+
+#: iconv/iconvconfig.c:132
+msgid "Do not search standard directories, only those on the command line"
+msgstr "Äừng tìm kiếm trong các thÆ° mục chuẩn, chỉ trong những thÆ° mục trong dòng lệnh"
+
+#: iconv/iconvconfig.c:301
+#, c-format
+msgid "Directory arguments required when using --nostdlib"
+msgstr "Tùy chá»n « --nostdlib » cÅ©ng cần thiết đối số thÆ° mục"
+
+#: iconv/iconvconfig.c:343 locale/programs/localedef.c:291
+#, c-format
+msgid "no output file produced because warnings were issued"
+msgstr "chưa xuất tập tin do cảnh báo"
+
+#: iconv/iconvconfig.c:429
+#, c-format
+msgid "while inserting in search tree"
+msgstr "trong khi chèn vào cây tìm kiếm"
+
+#: iconv/iconvconfig.c:1238
+#, c-format
+msgid "cannot generate output file"
+msgstr "không thể tạo tập tin kết xuất"
+
+#: inet/rcmd.c:157
+msgid "rcmd: Cannot allocate memory\n"
+msgstr "rcmd: Không thể cấp phát bộ nhớ\n"
+
+#: inet/rcmd.c:172
+msgid "rcmd: socket: All ports in use\n"
+msgstr "rcmd: ổ cắm: tất cả các cổng đang được dùng\n"
+
+#: inet/rcmd.c:200
+#, c-format
+msgid "connect to address %s: "
+msgstr "kết nối tới địa chỉ %s: "
+
+#: inet/rcmd.c:213
+#, c-format
+msgid "Trying %s...\n"
+msgstr "Äang thá»­ %s...\n"
+
+#: inet/rcmd.c:249
+#, c-format
+msgid "rcmd: write (setting up stderr): %m\n"
+msgstr "rcmd: ghi (đang thiết lập đầu lỗi tiêu chuẩn): %m\n"
+
+#: inet/rcmd.c:265
+#, c-format
+msgid "rcmd: poll (setting up stderr): %m\n"
+msgstr "rcmd: thăm dò (đang thiết lập đầu lỗi tiêu chuẩn): %m\n"
+
+#: inet/rcmd.c:268
+msgid "poll: protocol failure in circuit setup\n"
+msgstr "thăm dò : lỗi giao thức trong thiết lập mạch điện\n"
+
+#: inet/rcmd.c:301
+msgid "socket: protocol failure in circuit setup\n"
+msgstr "ổ cắm: lỗi giao thức trong thiết lập mạch điện\n"
+
+#: inet/rcmd.c:325
+#, c-format
+msgid "rcmd: %s: short read"
+msgstr "rcmd: %s: Ä‘á»c ngắn"
+
+#: inet/rcmd.c:481
+msgid "lstat failed"
+msgstr "lstat bị lỗi"
+
+#: inet/rcmd.c:488
+msgid "cannot open"
+msgstr "không thể mở"
+
+#: inet/rcmd.c:490
+msgid "fstat failed"
+msgstr "fstat bị lỗi"
+
+#: inet/rcmd.c:492
+msgid "bad owner"
+msgstr "chủ sai"
+
+#: inet/rcmd.c:494
+msgid "writeable by other than owner"
+msgstr "ngÆ°á»i khác vá»›i chủ cÅ©ng có quyá»n ghi vào"
+
+#: inet/rcmd.c:496
+msgid "hard linked somewhere"
+msgstr "đã liên kết cứng với một vị trí nào đó"
+
+#: inet/ruserpass.c:170 inet/ruserpass.c:193
+msgid "out of memory"
+msgstr "tràn bộ nhớ"
+
+#: inet/ruserpass.c:184
+msgid "Error: .netrc file is readable by others."
+msgstr "Lá»—i: ngÆ°á»i khác cÅ©ng có quyá»n Ä‘á»c tập tin .netrc"
+
+#: inet/ruserpass.c:185
+msgid "Remove password or make file unreadable by others."
+msgstr "Gỡ bá» mật khẩu hoặc làm cho tập tin không cho phép ngÆ°á»i khác Ä‘á»c."
+
+#: inet/ruserpass.c:277
+#, c-format
+msgid "Unknown .netrc keyword %s"
+msgstr "Không rõ từ khoá .netrc %s"
+
+#: libidn/nfkc.c:464
+msgid "Character out of range for UTF-8"
+msgstr "Ký tự ở ngoại phạm vi UTF-8"
+
+#: locale/programs/charmap-dir.c:59
+#, c-format
+msgid "cannot read character map directory `%s'"
+msgstr "không thể Ä‘á»c thÆ° mục sÆ¡ đồ ký tá»± « %s »"
+
+#: locale/programs/charmap.c:138
+#, c-format
+msgid "character map file `%s' not found"
+msgstr "không tìm thấy tập tin sơ đồ ký tự « %s »"
+
+#: locale/programs/charmap.c:195
+#, c-format
+msgid "default character map file `%s' not found"
+msgstr "không tìm thấy tập tin sơ đồ ký tự mặc định « %s »"
+
+#: locale/programs/charmap.c:258
+#, c-format
+msgid "character map `%s' is not ASCII compatible, locale not ISO C compliant\n"
+msgstr "sÆ¡ đồ ký tá»± « %s » không tÆ°Æ¡ng thích vá»›i ASCII, miá»n địa phÆ°Æ¡ng không tùy theo ISO C\n"
+
+#: locale/programs/charmap.c:337
+#, c-format
+msgid "%s: <mb_cur_max> must be greater than <mb_cur_min>\n"
+msgstr "%s: <mb_cur_max> phải lớn hơn <mb_cur_min>\n"
+
+#: locale/programs/charmap.c:357 locale/programs/charmap.c:374
+#: locale/programs/repertoire.c:174
+#, c-format
+msgid "syntax error in prolog: %s"
+msgstr "lỗi cú pháp trong prolog: %s"
+
+#: locale/programs/charmap.c:358
+msgid "invalid definition"
+msgstr "lá»i xác định không hợp lệ"
+
+#: locale/programs/charmap.c:375 locale/programs/locfile.c:126
+#: locale/programs/locfile.c:153 locale/programs/repertoire.c:175
+msgid "bad argument"
+msgstr "đối số sai"
+
+#: locale/programs/charmap.c:403
+#, c-format
+msgid "duplicate definition of <%s>"
+msgstr "lá»i xác định trùng của <%s>"
+
+#: locale/programs/charmap.c:410
+#, c-format
+msgid "value for <%s> must be 1 or greater"
+msgstr "giá trị cho <%s> phải ≥ 1"
+
+#: locale/programs/charmap.c:422
+#, c-format
+msgid "value of <%s> must be greater or equal than the value of <%s>"
+msgstr "giá trị <%s> phải ≥ giá trị <%s>"
+
+#: locale/programs/charmap.c:445 locale/programs/repertoire.c:183
+#, c-format
+msgid "argument to <%s> must be a single character"
+msgstr "đối số cho <%s> phải là một ký tự riêng lẻ"
+
+#: locale/programs/charmap.c:471
+msgid "character sets with locking states are not supported"
+msgstr "không hỗ trợ bộ ký tự có tình trạng khoá"
+
+#: locale/programs/charmap.c:498 locale/programs/charmap.c:552
+#: locale/programs/charmap.c:584 locale/programs/charmap.c:678
+#: locale/programs/charmap.c:733 locale/programs/charmap.c:774
+#: locale/programs/charmap.c:815
+#, c-format
+msgid "syntax error in %s definition: %s"
+msgstr "gặp lá»—i cú pháp trong lá»i xác định %s: %s"
+
+#: locale/programs/charmap.c:499 locale/programs/charmap.c:679
+#: locale/programs/charmap.c:775 locale/programs/repertoire.c:230
+msgid "no symbolic name given"
+msgstr "chưa đưa ra tên tượng trưng"
+
+#: locale/programs/charmap.c:553
+msgid "invalid encoding given"
+msgstr "đưa ra bảng mã không hợp lệ"
+
+#: locale/programs/charmap.c:562
+msgid "too few bytes in character encoding"
+msgstr "bảng mã ký tự chứa quá ít byte"
+
+#: locale/programs/charmap.c:564
+msgid "too many bytes in character encoding"
+msgstr "bảng mã ký tá»± chứa quá nhiá»u byte"
+
+#: locale/programs/charmap.c:586 locale/programs/charmap.c:734
+#: locale/programs/charmap.c:817 locale/programs/repertoire.c:296
+msgid "no symbolic name given for end of range"
+msgstr "chưa đưa ra tên tượng trưng cho kết thúc phạm vi"
+
+#: locale/programs/charmap.c:610 locale/programs/ld-address.c:600
+#: locale/programs/ld-collate.c:2767 locale/programs/ld-collate.c:3924
+#: locale/programs/ld-ctype.c:2232 locale/programs/ld-ctype.c:2984
+#: locale/programs/ld-identification.c:452
+#: locale/programs/ld-measurement.c:238 locale/programs/ld-messages.c:332
+#: locale/programs/ld-monetary.c:943 locale/programs/ld-name.c:307
+#: locale/programs/ld-numeric.c:368 locale/programs/ld-paper.c:241
+#: locale/programs/ld-telephone.c:313 locale/programs/ld-time.c:1221
+#: locale/programs/repertoire.c:313
+#, c-format
+msgid "%1$s: definition does not end with `END %1$s'"
+msgstr "%1$s: lá»i xác định không kết thúc vá»›i : END %1$s »"
+
+#: locale/programs/charmap.c:643
+msgid "only WIDTH definitions are allowed to follow the CHARMAP definition"
+msgstr "cho phép chỉ lá»i xác định WIDTH (chiá»u rá»™ng) nằm sau lá»i xác định CHARMAP (sÆ¡ đồ ký tá»±)"
+
+#: locale/programs/charmap.c:651 locale/programs/charmap.c:714
+#, c-format
+msgid "value for %s must be an integer"
+msgstr "giá trị cho %s phải là số nguyên"
+
+#: locale/programs/charmap.c:842
+#, c-format
+msgid "%s: error in state machine"
+msgstr "%s: lỗi trong cơ chế tình trạng"
+
+#: locale/programs/charmap.c:850 locale/programs/ld-address.c:616
+#: locale/programs/ld-collate.c:2764 locale/programs/ld-collate.c:4115
+#: locale/programs/ld-ctype.c:2229 locale/programs/ld-ctype.c:3001
+#: locale/programs/ld-identification.c:468
+#: locale/programs/ld-measurement.c:254 locale/programs/ld-messages.c:348
+#: locale/programs/ld-monetary.c:959 locale/programs/ld-name.c:323
+#: locale/programs/ld-numeric.c:384 locale/programs/ld-paper.c:257
+#: locale/programs/ld-telephone.c:329 locale/programs/ld-time.c:1237
+#: locale/programs/locfile.c:826 locale/programs/repertoire.c:324
+#, c-format
+msgid "%s: premature end of file"
+msgstr "%s: gặp kết thúc tập tin quá sớm"
+
+#: locale/programs/charmap.c:869 locale/programs/charmap.c:880
+#, c-format
+msgid "unknown character `%s'"
+msgstr "không rõ ký tự « %s »"
+
+#: locale/programs/charmap.c:888
+#, c-format
+msgid "number of bytes for byte sequence of beginning and end of range not the same: %d vs %d"
+msgstr "số byte cho dãy byte ở đầu và cuối của phạm vi không phải là trùng: %d so với %d"
+
+#: locale/programs/charmap.c:993 locale/programs/ld-collate.c:3047
+#: locale/programs/repertoire.c:419
+msgid "invalid names for character range"
+msgstr "tên không hợp lệ cho phạm vi ký tự"
+
+#: locale/programs/charmap.c:1005 locale/programs/repertoire.c:431
+msgid "hexadecimal range format should use only capital characters"
+msgstr "định dạng phạm vi thập lục chỉ nên dùng chữ hoa"
+
+#: locale/programs/charmap.c:1023 locale/programs/repertoire.c:449
+#, c-format
+msgid "<%s> and <%s> are invalid names for range"
+msgstr "<%s> và <%s> là tên không hợp lệ với phạm vi"
+
+#: locale/programs/charmap.c:1029 locale/programs/repertoire.c:456
+msgid "upper limit in range is smaller than lower limit"
+msgstr "giới hạn trên của phạm vi là nhỠhơn giới hạn dưới"
+
+#: locale/programs/charmap.c:1087
+msgid "resulting bytes for range not representable."
+msgstr "không thể đại diện số byte kết quả cho phạm vi."
+
+#: locale/programs/ld-address.c:133 locale/programs/ld-collate.c:1556
+#: locale/programs/ld-ctype.c:420 locale/programs/ld-identification.c:133
+#: locale/programs/ld-measurement.c:94 locale/programs/ld-messages.c:97
+#: locale/programs/ld-monetary.c:194 locale/programs/ld-name.c:94
+#: locale/programs/ld-numeric.c:98 locale/programs/ld-paper.c:91
+#: locale/programs/ld-telephone.c:94 locale/programs/ld-time.c:159
+#, c-format
+msgid "No definition for %s category found"
+msgstr "Không tìm thấy lá»i xác định cho phân loại %s"
+
+#: locale/programs/ld-address.c:144 locale/programs/ld-address.c:182
+#: locale/programs/ld-address.c:200 locale/programs/ld-address.c:229
+#: locale/programs/ld-address.c:301 locale/programs/ld-address.c:320
+#: locale/programs/ld-address.c:333 locale/programs/ld-identification.c:146
+#: locale/programs/ld-measurement.c:105 locale/programs/ld-monetary.c:206
+#: locale/programs/ld-monetary.c:250 locale/programs/ld-monetary.c:266
+#: locale/programs/ld-monetary.c:278 locale/programs/ld-name.c:105
+#: locale/programs/ld-name.c:142 locale/programs/ld-numeric.c:112
+#: locale/programs/ld-numeric.c:126 locale/programs/ld-paper.c:102
+#: locale/programs/ld-paper.c:111 locale/programs/ld-telephone.c:105
+#: locale/programs/ld-telephone.c:162 locale/programs/ld-time.c:175
+#: locale/programs/ld-time.c:196
+#, c-format
+msgid "%s: field `%s' not defined"
+msgstr "%s: chÆ°a xác định trÆ°á»ng « %s »"
+
+#: locale/programs/ld-address.c:156 locale/programs/ld-address.c:208
+#: locale/programs/ld-address.c:238 locale/programs/ld-address.c:276
+#: locale/programs/ld-name.c:117 locale/programs/ld-telephone.c:117
+#, c-format
+msgid "%s: field `%s' must not be empty"
+msgstr "%s: trÆ°á»ng « %s » không thể là rá»—ng"
+
+#: locale/programs/ld-address.c:168
+#, c-format
+msgid "%s: invalid escape `%%%c' sequence in field `%s'"
+msgstr "%s: dây thoát không hợp lệ: « %%%c » trong trÆ°á»ng « %s »"
+
+#: locale/programs/ld-address.c:219
+#, c-format
+msgid "%s: terminology language code `%s' not defined"
+msgstr "%s: chưa xác định mã ngôn ngữ thuật ngữ « %s »"
+
+#: locale/programs/ld-address.c:244
+#, c-format
+msgid "%s: field `%s' must not be defined"
+msgstr "%s: trÆ°á»ng « %s » không nên được xác định"
+
+#: locale/programs/ld-address.c:258 locale/programs/ld-address.c:287
+#, c-format
+msgid "%s: language abbreviation `%s' not defined"
+msgstr "%s: chưa xác định từ viết tắt ngôn ngữ « %s »"
+
+#: locale/programs/ld-address.c:265 locale/programs/ld-address.c:293
+#: locale/programs/ld-address.c:327 locale/programs/ld-address.c:339
+#, c-format
+msgid "%s: `%s' value does not match `%s' value"
+msgstr "%s: giá trị « %s » không tương ứng với giá trị « %s »"
+
+#: locale/programs/ld-address.c:312
+#, c-format
+msgid "%s: numeric country code `%d' not valid"
+msgstr "%s: mã quốc gia thuộc số « %d » không phải hợp lệ"
+
+#: locale/programs/ld-address.c:508 locale/programs/ld-address.c:545
+#: locale/programs/ld-address.c:583 locale/programs/ld-ctype.c:2608
+#: locale/programs/ld-identification.c:364
+#: locale/programs/ld-measurement.c:221 locale/programs/ld-messages.c:301
+#: locale/programs/ld-monetary.c:701 locale/programs/ld-monetary.c:736
+#: locale/programs/ld-monetary.c:777 locale/programs/ld-name.c:280
+#: locale/programs/ld-numeric.c:263 locale/programs/ld-paper.c:224
+#: locale/programs/ld-telephone.c:288 locale/programs/ld-time.c:1126
+#: locale/programs/ld-time.c:1168
+#, c-format
+msgid "%s: field `%s' declared more than once"
+msgstr "%s: trÆ°á»ng « %s » được tuyên bố nhiá»u lần"
+
+#: locale/programs/ld-address.c:512 locale/programs/ld-address.c:550
+#: locale/programs/ld-identification.c:368 locale/programs/ld-messages.c:311
+#: locale/programs/ld-monetary.c:705 locale/programs/ld-monetary.c:740
+#: locale/programs/ld-name.c:284 locale/programs/ld-numeric.c:267
+#: locale/programs/ld-telephone.c:292 locale/programs/ld-time.c:1020
+#: locale/programs/ld-time.c:1089 locale/programs/ld-time.c:1131
+#, c-format
+msgid "%s: unknown character in field `%s'"
+msgstr "%s: không rõ ký tá»± trong trÆ°á»ng « %s »"
+
+#: locale/programs/ld-address.c:597 locale/programs/ld-collate.c:3922
+#: locale/programs/ld-ctype.c:2981 locale/programs/ld-identification.c:449
+#: locale/programs/ld-measurement.c:235 locale/programs/ld-messages.c:330
+#: locale/programs/ld-monetary.c:941 locale/programs/ld-name.c:305
+#: locale/programs/ld-numeric.c:366 locale/programs/ld-paper.c:239
+#: locale/programs/ld-telephone.c:311 locale/programs/ld-time.c:1219
+#, c-format
+msgid "%s: incomplete `END' line"
+msgstr "%s: dòng « END » chưa hoàn toàn"
+
+#: locale/programs/ld-address.c:607 locale/programs/ld-collate.c:542
+#: locale/programs/ld-collate.c:594 locale/programs/ld-collate.c:890
+#: locale/programs/ld-collate.c:903 locale/programs/ld-collate.c:2733
+#: locale/programs/ld-collate.c:2754 locale/programs/ld-collate.c:4105
+#: locale/programs/ld-ctype.c:1960 locale/programs/ld-ctype.c:2219
+#: locale/programs/ld-ctype.c:2806 locale/programs/ld-ctype.c:2992
+#: locale/programs/ld-identification.c:459
+#: locale/programs/ld-measurement.c:245 locale/programs/ld-messages.c:339
+#: locale/programs/ld-monetary.c:950 locale/programs/ld-name.c:314
+#: locale/programs/ld-numeric.c:375 locale/programs/ld-paper.c:248
+#: locale/programs/ld-telephone.c:320 locale/programs/ld-time.c:1228
+#, c-format
+msgid "%s: syntax error"
+msgstr "%s: lỗi cú pháp"
+
+#: locale/programs/ld-collate.c:417
+#, c-format
+msgid "`%.*s' already defined in charmap"
+msgstr "« %.*s » đã được xác định trong sơ đồ ký tự"
+
+#: locale/programs/ld-collate.c:426
+#, c-format
+msgid "`%.*s' already defined in repertoire"
+msgstr "« %.*s » đã được xác định trong repertoire"
+
+#: locale/programs/ld-collate.c:433
+#, c-format
+msgid "`%.*s' already defined as collating symbol"
+msgstr "« %.*s » đã được xác định là ký hiệu đối chiếu"
+
+#: locale/programs/ld-collate.c:440
+#, c-format
+msgid "`%.*s' already defined as collating element"
+msgstr "« %.*s » đã được xác định là phần tử đối chiếu"
+
+#: locale/programs/ld-collate.c:471 locale/programs/ld-collate.c:497
+#, c-format
+msgid "%s: `forward' and `backward' are mutually excluding each other"
+msgstr "%s: « forward » (tiếp tới) và « backward » (lùi lại) thì loại từ lẫn nhau"
+
+#: locale/programs/ld-collate.c:481 locale/programs/ld-collate.c:507
+#: locale/programs/ld-collate.c:523
+#, c-format
+msgid "%s: `%s' mentioned more than once in definition of weight %d"
+msgstr "%s: « %s » được ghi nhiá»u lần để xác định Ä‘á»™ đậm %d"
+
+#: locale/programs/ld-collate.c:579
+#, c-format
+msgid "%s: too many rules; first entry only had %d"
+msgstr "%s: quá nhiá»u quy tắc; mục nhập thứ nhất chỉ có %d"
+
+#: locale/programs/ld-collate.c:615
+#, c-format
+msgid "%s: not enough sorting rules"
+msgstr "%s: không đủ quy tắc sắp xếp"
+
+#: locale/programs/ld-collate.c:780
+#, c-format
+msgid "%s: empty weight string not allowed"
+msgstr "%s: không cho phép chuỗi độ đậm rỗng"
+
+#: locale/programs/ld-collate.c:875
+#, c-format
+msgid "%s: weights must use the same ellipsis symbol as the name"
+msgstr "%s: độ đậm phải dùng cùng một ký hiệu dấu chấm lửng với tên"
+
+#: locale/programs/ld-collate.c:931
+#, c-format
+msgid "%s: too many values"
+msgstr "%s: quá nhiá»u giá trị"
+
+#: locale/programs/ld-collate.c:1051 locale/programs/ld-collate.c:1226
+#, c-format
+msgid "order for `%.*s' already defined at %s:%Zu"
+msgstr "thứ tự « %.*s » đã được xác định ở %s:%Zu"
+
+#: locale/programs/ld-collate.c:1101
+#, c-format
+msgid "%s: the start and the end symbol of a range must stand for characters"
+msgstr "%s: ký hiệu đầu và ký hiệu cuối của một phạm vi phải đại diện ký tự"
+
+#: locale/programs/ld-collate.c:1128
+#, c-format
+msgid "%s: byte sequences of first and last character must have the same length"
+msgstr "%s: dãy byte của ký tá»± đầu và ký tá»± cuối phải có cùng má»™t chiá»u dài"
+
+#: locale/programs/ld-collate.c:1170
+#, c-format
+msgid "%s: byte sequence of first character of range is not lower than that of the last character"
+msgstr "%s: dãy byte của ký tự đầu của phạm vi không phải nhỠhơn ký tự cuối"
+
+#: locale/programs/ld-collate.c:1295
+#, c-format
+msgid "%s: symbolic range ellipsis must not directly follow `order_start'"
+msgstr "%s: dấu chấm lửng phạm vi tượng trưng không thể nằm đúng sau « order_start »"
+
+#: locale/programs/ld-collate.c:1299
+#, c-format
+msgid "%s: symbolic range ellipsis must not be directly followed by `order_end'"
+msgstr "%s: dấu chấm lửng phạm vi tượng trưng không thể nằm đúng trước « order_end »"
+
+#: locale/programs/ld-collate.c:1319 locale/programs/ld-ctype.c:1477
+#, c-format
+msgid "`%s' and `%.*s' are not valid names for symbolic range"
+msgstr "« %s » và « %.*s » không phải là tên hợp lệ cho phạm vi tượng trưng"
+
+#: locale/programs/ld-collate.c:1369 locale/programs/ld-collate.c:3858
+#, c-format
+msgid "%s: order for `%.*s' already defined at %s:%Zu"
+msgstr "%s: thứ tự « %.*s » đã được xác định ở %s:%Zu"
+
+#: locale/programs/ld-collate.c:1378
+#, c-format
+msgid "%s: `%s' must be a character"
+msgstr "%s: « %s » phải là một ký tự"
+
+#: locale/programs/ld-collate.c:1573
+#, c-format
+msgid "%s: `position' must be used for a specific level in all sections or none"
+msgstr "%s: « position » (vị trí) phải được dùng cho một cấp cụ thể trong tất cả các phần, hoặc trong không phần gì"
+
+#: locale/programs/ld-collate.c:1598
+#, c-format
+msgid "symbol `%s' not defined"
+msgstr "chưa xác định ký hiệu « %s »"
+
+#: locale/programs/ld-collate.c:1674 locale/programs/ld-collate.c:1780
+#, c-format
+msgid "symbol `%s' has the same encoding as"
+msgstr "ký hiệu « %s » có cùng một bảng mã với"
+
+#: locale/programs/ld-collate.c:1678 locale/programs/ld-collate.c:1784
+#, c-format
+msgid "symbol `%s'"
+msgstr "ký hiệu « %s »"
+
+#: locale/programs/ld-collate.c:1826
+#, c-format
+msgid "no definition of `UNDEFINED'"
+msgstr "chưa xác định « UNDEFINED »"
+
+#: locale/programs/ld-collate.c:1855
+#, c-format
+msgid "too many errors; giving up"
+msgstr "quá nhiá»u lá»—i nên chịu thua"
+
+#: locale/programs/ld-collate.c:2659 locale/programs/ld-collate.c:4044
+#, c-format
+msgid "%s: nested conditionals not supported"
+msgstr "%s: không há»— trợ Ä‘iá»u kiện nhúng"
+
+#: locale/programs/ld-collate.c:2677
+#, c-format
+msgid "%s: more then one 'else'"
+msgstr "%s: nhiá»u Ä‘iá»u kiện « else » (nếu không)"
+
+#: locale/programs/ld-collate.c:2852
+#, c-format
+msgid "%s: duplicate definition of `%s'"
+msgstr "%s: lá»i xác định « %s » trùng"
+
+#: locale/programs/ld-collate.c:2888
+#, c-format
+msgid "%s: duplicate declaration of section `%s'"
+msgstr "%s: lá»i xác định phần « %s » trùng"
+
+#: locale/programs/ld-collate.c:3027
+#, c-format
+msgid "%s: unknown character in collating symbol name"
+msgstr "%s: không rõ ký tự trong tên ký hiệu đối chiếu"
+
+#: locale/programs/ld-collate.c:3159
+#, c-format
+msgid "%s: unknown character in equivalent definition name"
+msgstr "%s: không rõ ký tá»± trong tên lá»i xác định tÆ°Æ¡ng Ä‘Æ°Æ¡ng"
+
+#: locale/programs/ld-collate.c:3172
+#, c-format
+msgid "%s: unknown character in equivalent definition value"
+msgstr "%s: không rõ ký tá»± trong giá trị lá»i xác định tÆ°Æ¡ng Ä‘Æ°Æ¡ng"
+
+#: locale/programs/ld-collate.c:3182
+#, c-format
+msgid "%s: unknown symbol `%s' in equivalent definition"
+msgstr "%s: không rõ ký hiệu « %s » trong lá»i xác định tÆ°Æ¡ng Ä‘Æ°Æ¡ng"
+
+#: locale/programs/ld-collate.c:3191
+msgid "error while adding equivalent collating symbol"
+msgstr "gặp lỗi khi thêm ký hiệu đối chiếu tương đương"
+
+#: locale/programs/ld-collate.c:3221
+#, c-format
+msgid "duplicate definition of script `%s'"
+msgstr "lá»i xác định văn lệnh « %s » trùng"
+
+#: locale/programs/ld-collate.c:3269
+#, c-format
+msgid "%s: unknown section name `%.*s'"
+msgstr "%s: không rõ tên phần « %.*s »"
+
+#: locale/programs/ld-collate.c:3298
+#, c-format
+msgid "%s: multiple order definitions for section `%s'"
+msgstr "%s: nhiá»u lá»i xác định thứ tá»± cho phần « %s »"
+
+#: locale/programs/ld-collate.c:3326
+#, c-format
+msgid "%s: invalid number of sorting rules"
+msgstr "%s: số quy tắc sắp xếp không hợp lệ"
+
+#: locale/programs/ld-collate.c:3353
+#, c-format
+msgid "%s: multiple order definitions for unnamed section"
+msgstr "%s: nhiá»u lá»i xác định thứ tá»± cho phần không tên"
+
+#: locale/programs/ld-collate.c:3407 locale/programs/ld-collate.c:3537
+#: locale/programs/ld-collate.c:3900
+#, c-format
+msgid "%s: missing `order_end' keyword"
+msgstr "%s: thiếu từ khoá « order_end »"
+
+#: locale/programs/ld-collate.c:3470
+#, c-format
+msgid "%s: order for collating symbol %.*s not yet defined"
+msgstr "%s: chưa xác định thứ tự cho ký hiệu đối chiếu %.*s"
+
+#: locale/programs/ld-collate.c:3488
+#, c-format
+msgid "%s: order for collating element %.*s not yet defined"
+msgstr "%s: chưa xác định thứ tự cho phần tử đối chiếu %.*s"
+
+#: locale/programs/ld-collate.c:3499
+#, c-format
+msgid "%s: cannot reorder after %.*s: symbol not known"
+msgstr "%s: không thể sắp xếp lại sau %.*s: ký hiệu không rõ"
+
+#: locale/programs/ld-collate.c:3551 locale/programs/ld-collate.c:3912
+#, c-format
+msgid "%s: missing `reorder-end' keyword"
+msgstr "%s: thiếu từ khoá « reorder-end »"
+
+#: locale/programs/ld-collate.c:3585 locale/programs/ld-collate.c:3783
+#, c-format
+msgid "%s: section `%.*s' not known"
+msgstr "%s: không rõ phần « %.*s »"
+
+#: locale/programs/ld-collate.c:3650
+#, c-format
+msgid "%s: bad symbol <%.*s>"
+msgstr "%s: ký hiệu sai <%.*s>"
+
+#: locale/programs/ld-collate.c:3846
+#, c-format
+msgid "%s: cannot have `%s' as end of ellipsis range"
+msgstr "%s: không thể dùng « %s » làm kết thúc của phạm vi dấu chấm lửng"
+
+#: locale/programs/ld-collate.c:3896
+#, c-format
+msgid "%s: empty category description not allowed"
+msgstr "%s: không cho phép mô tả phân loại rỗng"
+
+#: locale/programs/ld-collate.c:3915
+#, c-format
+msgid "%s: missing `reorder-sections-end' keyword"
+msgstr "%s: thiếu từ khoá « reorder-sections-end »"
+
+#: locale/programs/ld-collate.c:4077
+#, c-format
+msgid "%s: '%s' without matching 'ifdef' or 'ifndef'"
+msgstr "%s: « %s » không có « ifdef » hoặc « ifndef » tương ứng"
+
+#: locale/programs/ld-collate.c:4095
+#, c-format
+msgid "%s: 'endif' without matching 'ifdef' or 'ifndef'"
+msgstr "%s: « endif » không có « ifdef » hoặc « ifndef » tương ứng"
+
+#: locale/programs/ld-ctype.c:439
+#, c-format
+msgid "No character set name specified in charmap"
+msgstr "Chưa xác định tên bộ ký tự trong sơ đồ ký tự"
+
+#: locale/programs/ld-ctype.c:468
+#, c-format
+msgid "character L'\\u%0*x' in class `%s' must be in class `%s'"
+msgstr "ký tự L'\\u%0*x' trong hạng « %s » cũng phải nằm trong hạng « %s »"
+
+#: locale/programs/ld-ctype.c:483
+#, c-format
+msgid "character L'\\u%0*x' in class `%s' must not be in class `%s'"
+msgstr "ký tự L'\\u%0*x' trong hạng « %s » không thể nằm trong hạng « %s »"
+
+#: locale/programs/ld-ctype.c:497 locale/programs/ld-ctype.c:555
+#, c-format
+msgid "internal error in %s, line %u"
+msgstr "gặp lỗi nội bộ trong %s, dòng %u"
+
+#: locale/programs/ld-ctype.c:526
+#, c-format
+msgid "character '%s' in class `%s' must be in class `%s'"
+msgstr "ký tự « %s » trong hạng « %s » cũng phải nằm trong hạng « %s »"
+
+#: locale/programs/ld-ctype.c:542
+#, c-format
+msgid "character '%s' in class `%s' must not be in class `%s'"
+msgstr "ký tự « %s » trong hạng « %s » không thể nằm trong hạng « %s »"
+
+#: locale/programs/ld-ctype.c:572 locale/programs/ld-ctype.c:610
+#, c-format
+msgid "<SP> character not in class `%s'"
+msgstr "ký tự <SP> không phải nằm trong hạng « %s »"
+
+#: locale/programs/ld-ctype.c:584 locale/programs/ld-ctype.c:621
+#, c-format
+msgid "<SP> character must not be in class `%s'"
+msgstr "ký tự <SP> không thể nằm trong hạng « %s »"
+
+#: locale/programs/ld-ctype.c:599
+#, c-format
+msgid "character <SP> not defined in character map"
+msgstr "ký tự <SP> không phải được xác định trong sơ đồ ký tự"
+
+#: locale/programs/ld-ctype.c:714
+#, c-format
+msgid "`digit' category has not entries in groups of ten"
+msgstr "phân loại « digit » (chữ số) không có mục nhập theo nhóm mÆ°á»i"
+
+#: locale/programs/ld-ctype.c:763
+#, c-format
+msgid "no input digits defined and none of the standard names in the charmap"
+msgstr "chưa xác định chữ số nhập vào hoặc tên tiêu chuẩn trong sơ đồ ký tự"
+
+#: locale/programs/ld-ctype.c:828
+#, c-format
+msgid "not all characters used in `outdigit' are available in the charmap"
+msgstr "không phải tất cả các ký tự được dùng trong « outdigit » cũng sẵn sàng trong sơ đồ ký tự"
+
+#: locale/programs/ld-ctype.c:845
+#, c-format
+msgid "not all characters used in `outdigit' are available in the repertoire"
+msgstr "không phải tất cả các ký tự được dùng trong « outdigit » cũng sẵn sàng trong repertoire"
+
+#: locale/programs/ld-ctype.c:1245
+#, c-format
+msgid "character class `%s' already defined"
+msgstr "hạng ký tự « %s » đã được xác định"
+
+#: locale/programs/ld-ctype.c:1251
+#, c-format
+msgid "implementation limit: no more than %Zd character classes allowed"
+msgstr "giới hạn thực hiện: không cho phép vượt quá %Zd hạng ký tự"
+
+#: locale/programs/ld-ctype.c:1277
+#, c-format
+msgid "character map `%s' already defined"
+msgstr "sơ đồ ký tự « %s » đã được xác định"
+
+#: locale/programs/ld-ctype.c:1283
+#, c-format
+msgid "implementation limit: no more than %d character maps allowed"
+msgstr "giới hạn thực hiện: không cho phép vượt quá %d sơ đồ ký tự"
+
+#: locale/programs/ld-ctype.c:1548 locale/programs/ld-ctype.c:1673
+#: locale/programs/ld-ctype.c:1779 locale/programs/ld-ctype.c:2471
+#: locale/programs/ld-ctype.c:3467
+#, c-format
+msgid "%s: field `%s' does not contain exactly ten entries"
+msgstr "%s: trÆ°á»ng « %s » không chứa chính xác mÆ°á»i mục nhập"
+
+#: locale/programs/ld-ctype.c:1576 locale/programs/ld-ctype.c:2150
+#, c-format
+msgid "to-value <U%0*X> of range is smaller than from-value <U%0*X>"
+msgstr "giá trị Äến <U%0*X> của phạm vi là nhá» hÆ¡n giá trị Từ <U%0*X>"
+
+#: locale/programs/ld-ctype.c:1703
+msgid "start and end character sequence of range must have the same length"
+msgstr "dãy ký tá»± đầu và cuối của phạm vi phải có cùng má»™t chiá»u dài"
+
+#: locale/programs/ld-ctype.c:1710
+msgid "to-value character sequence is smaller than from-value sequence"
+msgstr "dãy ký tá»± của giá trị Äến là nhá» hÆ¡n dãy ký tá»± của giá trị Từ"
+
+#: locale/programs/ld-ctype.c:2070 locale/programs/ld-ctype.c:2121
+msgid "premature end of `translit_ignore' definition"
+msgstr "gặp kết thúc quá sá»›m của lá»i xác định « translit_ignore »"
+
+#: locale/programs/ld-ctype.c:2076 locale/programs/ld-ctype.c:2127
+#: locale/programs/ld-ctype.c:2169
+msgid "syntax error"
+msgstr "lỗi cú pháp"
+
+#: locale/programs/ld-ctype.c:2303
+#, c-format
+msgid "%s: syntax error in definition of new character class"
+msgstr "%s: gặp lá»—i cú pháp trong lá»i xác định của hạng ký tá»± má»›i"
+
+#: locale/programs/ld-ctype.c:2318
+#, c-format
+msgid "%s: syntax error in definition of new character map"
+msgstr "%s: gặp lá»—i cú pháp trong lá»i xác định của sÆ¡ đồ ký tá»± má»›i"
+
+#: locale/programs/ld-ctype.c:2493
+msgid "ellipsis range must be marked by two operands of same type"
+msgstr "phạm vi dấu chấm lửng phải được đánh dấu bằng hai toán hạng cùng kiểu"
+
+#: locale/programs/ld-ctype.c:2502
+msgid "with symbolic name range values the absolute ellipsis `...' must not be used"
+msgstr "đối với giá trị tên tượng trưng thì không cho phép dùng dấu chấm lửng tuyệt đối « … »"
+
+#: locale/programs/ld-ctype.c:2517
+msgid "with UCS range values one must use the hexadecimal symbolic ellipsis `..'"
+msgstr "đối với giá trị phạm vi UCS thì phải dùng dấu chấm lửng tượng trưng thập lục « .. »"
+
+#: locale/programs/ld-ctype.c:2531
+msgid "with character code range values one must use the absolute ellipsis `...'"
+msgstr "đối với giá trị phạm vi mã ký tự thì phải dùng dấu chấm lửng tuyệt đối « … »"
+
+#: locale/programs/ld-ctype.c:2682
+#, c-format
+msgid "duplicated definition for mapping `%s'"
+msgstr "gặp lá»i xác định trùng của sá»± ánh xạ « %s »"
+
+#: locale/programs/ld-ctype.c:2768 locale/programs/ld-ctype.c:2912
+#, c-format
+msgid "%s: `translit_start' section does not end with `translit_end'"
+msgstr "%s: phần « translit_start » không kết thúc với « translit_end »"
+
+#: locale/programs/ld-ctype.c:2863
+#, c-format
+msgid "%s: duplicate `default_missing' definition"
+msgstr "%s: lá»i xác định « default_missing » trùng"
+
+#: locale/programs/ld-ctype.c:2868
+msgid "previous definition was here"
+msgstr "lá»i xác định trÆ°á»›c ở đây"
+
+#: locale/programs/ld-ctype.c:2890
+#, c-format
+msgid "%s: no representable `default_missing' definition found"
+msgstr "%s: không tìm thấy lá»i xác định « default_missing » có thể đại diện"
+
+#: locale/programs/ld-ctype.c:3043 locale/programs/ld-ctype.c:3127
+#: locale/programs/ld-ctype.c:3147 locale/programs/ld-ctype.c:3168
+#: locale/programs/ld-ctype.c:3189 locale/programs/ld-ctype.c:3210
+#: locale/programs/ld-ctype.c:3231 locale/programs/ld-ctype.c:3271
+#: locale/programs/ld-ctype.c:3292 locale/programs/ld-ctype.c:3359
+#: locale/programs/ld-ctype.c:3401 locale/programs/ld-ctype.c:3426
+#, c-format
+msgid "%s: character `%s' not defined while needed as default value"
+msgstr "%s: chưa xác định ký tự « %s » mà cần thiết làm giá trị mặc định"
+
+#: locale/programs/ld-ctype.c:3048 locale/programs/ld-ctype.c:3132
+#: locale/programs/ld-ctype.c:3152 locale/programs/ld-ctype.c:3173
+#: locale/programs/ld-ctype.c:3194 locale/programs/ld-ctype.c:3215
+#: locale/programs/ld-ctype.c:3236 locale/programs/ld-ctype.c:3276
+#: locale/programs/ld-ctype.c:3297 locale/programs/ld-ctype.c:3364
+#, c-format
+msgid "%s: character `%s' in charmap not representable with one byte"
+msgstr "%s: ký tự « %s » trong sơ đồ ký tự không thể được đại diện dùng một byte"
+
+#: locale/programs/ld-ctype.c:3408 locale/programs/ld-ctype.c:3433
+#, c-format
+msgid "%s: character `%s' needed as default value not representable with one byte"
+msgstr "%s: ký tự « %s » cần thiết làm giá trị mặc định mà không thể được đại diện dùng một byte"
+
+#: locale/programs/ld-ctype.c:3489
+#, c-format
+msgid "no output digits defined and none of the standard names in the charmap"
+msgstr "chưa xác định chữ số kết xuất hoặc tên tiêu chuẩn trong sơ đồ ký tự"
+
+#: locale/programs/ld-ctype.c:3780
+#, c-format
+msgid "%s: transliteration data from locale `%s' not available"
+msgstr "%s: không có sẵn dữ liệu chuyển chữ từ miá»n địa phÆ°Æ¡ng « %s »"
+
+#: locale/programs/ld-ctype.c:3881
+#, c-format
+msgid "%s: table for class \"%s\": %lu bytes\n"
+msgstr "%s: bảng cho hạng « %s »: %lu byte\n"
+
+#: locale/programs/ld-ctype.c:3950
+#, c-format
+msgid "%s: table for map \"%s\": %lu bytes\n"
+msgstr "%s: bảng cho sơ đồ « %s »: %lu byte\n"
+
+#: locale/programs/ld-ctype.c:4083
+#, c-format
+msgid "%s: table for width: %lu bytes\n"
+msgstr "%s: bảng cho chiá»u rá»™ng: %lu byte\n"
+
+#: locale/programs/ld-identification.c:170
+#, c-format
+msgid "%s: no identification for category `%s'"
+msgstr "%s: không có đồ nhận diện phân loại « %s »"
+
+#: locale/programs/ld-identification.c:435
+#, c-format
+msgid "%s: duplicate category version definition"
+msgstr "%s: lá»i xác định phiên bản phân loại trùng"
+
+#: locale/programs/ld-measurement.c:113
+#, c-format
+msgid "%s: invalid value for field `%s'"
+msgstr "%s: giá trị không hợp lệ cho trÆ°á»ng « %s »"
+
+#: locale/programs/ld-messages.c:114 locale/programs/ld-messages.c:148
+#, c-format
+msgid "%s: field `%s' undefined"
+msgstr "%s: chÆ°a xác định trÆ°á»ng « %s »"
+
+#: locale/programs/ld-messages.c:121 locale/programs/ld-messages.c:155
+#: locale/programs/ld-monetary.c:256 locale/programs/ld-numeric.c:118
+#, c-format
+msgid "%s: value for field `%s' must not be an empty string"
+msgstr "%s: giá trị cho trÆ°á»ng « %s » không thể là má»™t chuá»—i rá»—ng"
+
+#: locale/programs/ld-messages.c:137 locale/programs/ld-messages.c:171
+#, c-format
+msgid "%s: no correct regular expression for field `%s': %s"
+msgstr "%s: không có biểu thức chính quy đúng cho trÆ°á»ng « %s »: %s"
+
+#: locale/programs/ld-monetary.c:224
+#, c-format
+msgid "%s: value of field `int_curr_symbol' has wrong length"
+msgstr "%s: giá trị của trÆ°á»ng « int_curr_symbol » có chiá»u dài không đúng"
+
+#: locale/programs/ld-monetary.c:237
+#, c-format
+msgid "%s: value of field `int_curr_symbol' does not correspond to a valid name in ISO 4217"
+msgstr "%s: giá trị của trÆ°á»ng « int_curr_symbol » không tÆ°Æ¡ng ứng vá»›i tên hợp lệ theo ISO 4217"
+
+#: locale/programs/ld-monetary.c:285 locale/programs/ld-monetary.c:315
+#, c-format
+msgid "%s: value for field `%s' must be in range %d...%d"
+msgstr "%s: giá trị của trÆ°á»ng « %s » phải nằm trong phạm vi %d...%d"
+
+#: locale/programs/ld-monetary.c:747 locale/programs/ld-numeric.c:274
+#, c-format
+msgid "%s: value for field `%s' must be a single character"
+msgstr "%s: giá trị của trÆ°á»ng « %s » phải là má»™t ký tá»± riêng lẻ"
+
+#: locale/programs/ld-monetary.c:844 locale/programs/ld-numeric.c:318
+#, c-format
+msgid "%s: `-1' must be last entry in `%s' field"
+msgstr "%s: « -1 » phải là mục nhập cuối cùng trong trÆ°á»ng « %s »"
+
+#: locale/programs/ld-monetary.c:866 locale/programs/ld-numeric.c:335
+#, c-format
+msgid "%s: values for field `%s' must be smaller than 127"
+msgstr "%s: các giá trị cho trÆ°á»ng « %s » phải nhá» hÆ¡n 127"
+
+#: locale/programs/ld-monetary.c:909
+msgid "conversion rate value cannot be zero"
+msgstr "giá trị tỷ lệ chuyển đổi không thể là số không"
+
+#: locale/programs/ld-name.c:129 locale/programs/ld-telephone.c:126
+#: locale/programs/ld-telephone.c:149
+#, c-format
+msgid "%s: invalid escape sequence in field `%s'"
+msgstr "%s: dây thoát không hợp lệ trong trÆ°á»ng « %s »"
+
+#: locale/programs/ld-time.c:247
+#, c-format
+msgid "%s: direction flag in string %Zd in `era' field is not '+' nor '-'"
+msgstr "%s: cá» hÆ°á»›ng trong chuá»—i %Zd trong trÆ°á»ng « era » không phải là « + », cÅ©ng không phải là » - »"
+
+#: locale/programs/ld-time.c:258
+#, c-format
+msgid "%s: direction flag in string %Zd in `era' field is not a single character"
+msgstr "%s: cá» hÆ°á»›ng trong chuá»—i %Zd trong trÆ°á»ng « era » không phải là má»™t ký tá»± riêng lẻ"
+
+#: locale/programs/ld-time.c:271
+#, c-format
+msgid "%s: invalid number for offset in string %Zd in `era' field"
+msgstr "%s: số không hợp lệ vá»›i bù trong hÆ°á»›ng %Zd trong trÆ°á»ng « era »"
+
+#: locale/programs/ld-time.c:279
+#, c-format
+msgid "%s: garbage at end of offset value in string %Zd in `era' field"
+msgstr "%s: gặp rác ở kết thúc của giá trị bù trong chuá»—i %Zd trong trÆ°á»ng « era »"
+
+#: locale/programs/ld-time.c:330
+#, c-format
+msgid "%s: invalid starting date in string %Zd in `era' field"
+msgstr "%s: ngày bắt đầu không hợp lệ trong chuá»—i %Zd trong trÆ°á»ng « era »"
+
+#: locale/programs/ld-time.c:339
+#, c-format
+msgid "%s: garbage at end of starting date in string %Zd in `era' field "
+msgstr "%s: gặp rác ở kết thúc của ngày bắt đầu trong chuá»—i %Zd trong trÆ°á»ng « era »"
+
+#: locale/programs/ld-time.c:358
+#, c-format
+msgid "%s: starting date is invalid in string %Zd in `era' field"
+msgstr "%s: ngày bắt đầu không hợp lệ trong chuá»—i %Zd trong trÆ°á»ng « era »"
+
+#: locale/programs/ld-time.c:407
+#, c-format
+msgid "%s: invalid stopping date in string %Zd in `era' field"
+msgstr "%s: ngày kết thúc không hợp lệ trong chuá»—i %Zd trong trÆ°á»ng « era »"
+
+#: locale/programs/ld-time.c:416
+#, c-format
+msgid "%s: garbage at end of stopping date in string %Zd in `era' field"
+msgstr "%s: gặp rác ở kết thúc của ngày kết thúc trong chuá»—i %Zd trong trÆ°á»ng « era »"
+
+#: locale/programs/ld-time.c:435
+#, c-format
+msgid "%s: stopping date is invalid in string %Zd in `era' field"
+msgstr "%s: ngày kết thúc không hợp lệ trong chuá»—i %Zd trong trÆ°á»ng « era »"
+
+#: locale/programs/ld-time.c:444
+#, c-format
+msgid "%s: missing era name in string %Zd in `era' field"
+msgstr "%s: thiếu tên thá»i đại trong chuá»—i %Zd trong trÆ°á»ng « era »"
+
+#: locale/programs/ld-time.c:456
+#, c-format
+msgid "%s: missing era format in string %Zd in `era' field"
+msgstr "%s: thiếu định dạng thá»i đại trong chuá»—i %Zd trong trÆ°á»ng « era »"
+
+#: locale/programs/ld-time.c:497
+#, c-format
+msgid "%s: third operand for value of field `%s' must not be larger than %d"
+msgstr "%s: toán hạng thứ ba cho giá trị của trÆ°á»ng « %s » không thể vượt quá %d"
+
+#: locale/programs/ld-time.c:505 locale/programs/ld-time.c:513
+#: locale/programs/ld-time.c:521
+#, c-format
+msgid "%s: values for field `%s' must not be larger than %d"
+msgstr "%s: giá trị cho trÆ°á»ng « %s » không thể vượt quá %d"
+
+#: locale/programs/ld-time.c:1004
+#, c-format
+msgid "%s: too few values for field `%s'"
+msgstr "%s: quá nhiá»u giá trị cho trÆ°á»ng « %s »"
+
+#: locale/programs/ld-time.c:1049
+msgid "extra trailing semicolon"
+msgstr "dấu chấm phẩy thêm đi theo"
+
+#: locale/programs/ld-time.c:1052
+#, c-format
+msgid "%s: too many values for field `%s'"
+msgstr "%s: quá nhiá»u giá trị cho trÆ°á»ng « %s »"
+
+#: locale/programs/linereader.c:130
+msgid "trailing garbage at end of line"
+msgstr "gặp rác đi theo ở kết thúc dòng"
+
+#: locale/programs/linereader.c:298
+msgid "garbage at end of number"
+msgstr "gặp rác ở kết thúc số"
+
+#: locale/programs/linereader.c:410
+msgid "garbage at end of character code specification"
+msgstr "gặp rác ở kết thúc của đặc tả mã ký tự"
+
+#: locale/programs/linereader.c:496
+msgid "unterminated symbolic name"
+msgstr "tên tượng trưng chưa chấm dứt"
+
+#: locale/programs/linereader.c:623
+msgid "illegal escape sequence at end of string"
+msgstr "dãy thoát cấm ở kết thúc của chuỗi"
+
+#: locale/programs/linereader.c:627 locale/programs/linereader.c:855
+msgid "unterminated string"
+msgstr "chuỗi chưa chấm dứt"
+
+#: locale/programs/linereader.c:669
+msgid "non-symbolic character value should not be used"
+msgstr "không nên dùng giá trị ký tự không phải tượng trưng"
+
+#: locale/programs/linereader.c:816
+#, c-format
+msgid "symbol `%.*s' not in charmap"
+msgstr "ký hiệu « %.*s » không nằm trong sơ đồ ký tự"
+
+#: locale/programs/linereader.c:837
+#, c-format
+msgid "symbol `%.*s' not in repertoire map"
+msgstr "ký hiệu « %.*s » không nằm trong sơ đồ repertoire"
+
+#: locale/programs/locale.c:74
+msgid "System information:"
+msgstr "Thông tin hệ thống:"
+
+#: locale/programs/locale.c:76
+msgid "Write names of available locales"
+msgstr "Ghi tên của các miá»n địa phÆ°Æ¡ng sẵn sàng"
+
+#: locale/programs/locale.c:78
+msgid "Write names of available charmaps"
+msgstr "Ghi tên của các sơ đồ ký tự sẵn sàng"
+
+#: locale/programs/locale.c:79
+msgid "Modify output format:"
+msgstr "Sửa đổi định dạng xuất:"
+
+#: locale/programs/locale.c:80
+msgid "Write names of selected categories"
+msgstr "Ghi tên của các phân loại đã chá»n"
+
+#: locale/programs/locale.c:81
+msgid "Write names of selected keywords"
+msgstr "Ghi tên của các từ khoá đã chá»n"
+
+#: locale/programs/locale.c:82
+msgid "Print more information"
+msgstr "In thêm thông tin"
+
+#: locale/programs/locale.c:87
+msgid ""
+"Get locale-specific information.\vFor bug reporting instructions, please see:\n"
+"<http://www.gnu.org/software/libc/bugs.html>.\n"
+msgstr ""
+"Lấy thông tin đặc trÆ°ng cho miá»n địa phÆ°Æ¡ng.\n"
+"Äể tìm hÆ°á»›ng dẫn vá» thông báo lá»—i, thăm địa chỉ:\n"
+"<http://www.gnu.org/software/libc/bugs.html>.\n"
+
+#: locale/programs/locale.c:92
+msgid ""
+"NAME\n"
+"[-a|-m]"
+msgstr ""
+"TÊN\n"
+"[-a|-m]"
+
+#: locale/programs/locale.c:193
+#, c-format
+msgid "Cannot set LC_CTYPE to default locale"
+msgstr "Không thể đặt LC_TYPE thành miá»n địa phÆ°Æ¡ng mặc định"
+
+#: locale/programs/locale.c:195
+#, c-format
+msgid "Cannot set LC_MESSAGES to default locale"
+msgstr "Không thể đặt LC_MESSAGES thành miá»n địa phÆ°Æ¡ng mặc định"
+
+#: locale/programs/locale.c:208
+#, c-format
+msgid "Cannot set LC_COLLATE to default locale"
+msgstr "Không thể đặt LC_COLLATE thành miá»n địa phÆ°Æ¡ng mặc định"
+
+#: locale/programs/locale.c:224
+#, c-format
+msgid "Cannot set LC_ALL to default locale"
+msgstr "Không thể đặt LC_ALL thành miá»n địa phÆ°Æ¡ng mặc định"
+
+#: locale/programs/locale.c:500
+#, c-format
+msgid "while preparing output"
+msgstr "trong khi chuẩn bị kết xuất"
+
+#: locale/programs/localedef.c:120
+msgid "Input Files:"
+msgstr "Các tập tin nhập vào :"
+
+#: locale/programs/localedef.c:122
+msgid "Symbolic character names defined in FILE"
+msgstr "Các tên ký tự tượng trưng được xác định trong TẬP_TIN"
+
+#: locale/programs/localedef.c:123
+msgid "Source definitions are found in FILE"
+msgstr "Các lá»i xác định nguồn nằm trong TẬP_TIN"
+
+#: locale/programs/localedef.c:125
+msgid "FILE contains mapping from symbolic names to UCS4 values"
+msgstr "TẬP_TIN chứa sự ánh xạ từ tên tượng trưng đến giá trị UCS4"
+
+#: locale/programs/localedef.c:129
+msgid "Create output even if warning messages were issued"
+msgstr "Tạo kết xuất thậm chí nếu có cảnh báo"
+
+#: locale/programs/localedef.c:130
+msgid "Create old-style tables"
+msgstr "Tạo bảng kiểu cũ"
+
+#: locale/programs/localedef.c:131
+msgid "Optional output file prefix"
+msgstr "Tiá»n tố tập tin xuất tùy chá»n"
+
+#: locale/programs/localedef.c:132
+msgid "Be strictly POSIX conform"
+msgstr "Làm cho hợp hoàn toàn với POSIX"
+
+#: locale/programs/localedef.c:134
+msgid "Suppress warnings and information messages"
+msgstr "Thu hồi các cảnh báo và thông điệp thông tin"
+
+#: locale/programs/localedef.c:135
+msgid "Print more messages"
+msgstr "In thêm thông điệp"
+
+#: locale/programs/localedef.c:136
+msgid "Archive control:"
+msgstr "Äiá»u khiển kho lÆ°u :"
+
+#: locale/programs/localedef.c:138
+msgid "Don't add new data to archive"
+msgstr "Äừng thêm dữ liệu má»›i vào kho lÆ°u"
+
+#: locale/programs/localedef.c:140
+msgid "Add locales named by parameters to archive"
+msgstr "Thêm vào kho lÆ°u các miá»n địa phÆ°Æ¡ng được tham số đặt tên"
+
+#: locale/programs/localedef.c:141
+msgid "Replace existing archive content"
+msgstr "Thay thế nội dung kho lưu đã có"
+
+#: locale/programs/localedef.c:143
+msgid "Remove locales named by parameters from archive"
+msgstr "Gỡ bá» các miá»n địa phÆ°Æ¡ng được đặt tên bằng tham số từ kho lÆ°u"
+
+#: locale/programs/localedef.c:144
+msgid "List content of archive"
+msgstr "Liệt kê nội dung của kho lưu"
+
+#: locale/programs/localedef.c:146
+msgid "locale.alias file to consult when making archive"
+msgstr "tập tin locale.alias cần Ä‘á»c khi tạo kho lÆ°u"
+
+#: locale/programs/localedef.c:151
+msgid "Compile locale specification"
+msgstr "Biên dịch đặc tả miá»n địa phÆ°Æ¡ng"
+
+#: locale/programs/localedef.c:154
+msgid ""
+"NAME\n"
+"[--add-to-archive|--delete-from-archive] FILE...\n"
+"--list-archive [FILE]"
+msgstr ""
+"TÊN\n"
+"[--add-to-archive|--delete-from-archive] TẬP_TIN...\n"
+"--list-archive [TẬP_TIN]"
+
+#: locale/programs/localedef.c:232
+#, c-format
+msgid "cannot create directory for output files"
+msgstr "không thể tạo thư mục cho tập tin kết xuất"
+
+#: locale/programs/localedef.c:243
+#, c-format
+msgid "FATAL: system does not define `_POSIX2_LOCALEDEF'"
+msgstr "NGHIÊM TRỌNG: hệ thống không xác định « _POSIX2_LOCALEDEF »"
+
+#: locale/programs/localedef.c:257 locale/programs/localedef.c:273
+#: locale/programs/localedef.c:599 locale/programs/localedef.c:619
+#, c-format
+msgid "cannot open locale definition file `%s'"
+msgstr "không thể mở tập tin xác định miá»n địa phÆ°Æ¡ng « %s »"
+
+#: locale/programs/localedef.c:285
+#, c-format
+msgid "cannot write output files to `%s'"
+msgstr "không thể ghi tập tin kết xuất vào « %s »"
+
+#: locale/programs/localedef.c:366
+#, c-format
+msgid ""
+"System's directory for character maps : %s\n"
+" repertoire maps: %s\n"
+" locale path : %s\n"
+"%s"
+msgstr ""
+"Thư mục của hệ thống cho sơ đồ ký tự : %s\n"
+"\t\tsơ đồ repertoire: %s\n"
+"\t\tÄ‘Æ°á»ng dẫn miá»n địa phÆ°Æ¡ng: %s\n"
+"%s"
+
+#: locale/programs/localedef.c:567
+#, c-format
+msgid "circular dependencies between locale definitions"
+msgstr "quan hệ phụ thuá»™c vòng tròn giữa các lá»i xác định miá»n địa phÆ°Æ¡ng"
+
+#: locale/programs/localedef.c:573
+#, c-format
+msgid "cannot add already read locale `%s' a second time"
+msgstr "không thể thêm lần thứ hai miá»n địa phÆ°Æ¡ng đã Ä‘á»c « %s »"
+
+#: locale/programs/locarchive.c:88 locale/programs/locarchive.c:261
+#, c-format
+msgid "cannot create temporary file"
+msgstr "không thể tạo tập tin tạm thá»i"
+
+#: locale/programs/locarchive.c:118 locale/programs/locarchive.c:307
+#, c-format
+msgid "cannot initialize archive file"
+msgstr "không thể khởi tạo tập tin kho lưu"
+
+#: locale/programs/locarchive.c:125 locale/programs/locarchive.c:314
+#, c-format
+msgid "cannot resize archive file"
+msgstr "không thể thay đổi kích cỡ của tập tin kho lưu"
+
+#: locale/programs/locarchive.c:134 locale/programs/locarchive.c:323
+#: locale/programs/locarchive.c:527
+#, c-format
+msgid "cannot map archive header"
+msgstr "không thể ánh xạ phần đầu của kho lưu"
+
+#: locale/programs/locarchive.c:156
+#, c-format
+msgid "failed to create new locale archive"
+msgstr "lá»—i tạo kho lÆ°u miá»n địa phÆ°Æ¡ng má»›i"
+
+#: locale/programs/locarchive.c:168
+#, c-format
+msgid "cannot change mode of new locale archive"
+msgstr "không thể chuyển đổi chế Ä‘á»™ của kho lÆ°u miá»n địa phÆ°Æ¡ng má»›i"
+
+#: locale/programs/locarchive.c:255
+#, c-format
+msgid "cannot map locale archive file"
+msgstr "không thể ánh xạ tập tin kho lưu"
+
+#: locale/programs/locarchive.c:331
+#, c-format
+msgid "cannot lock new archive"
+msgstr "không thể khoá kho lưu mới"
+
+#: locale/programs/locarchive.c:396
+#, c-format
+msgid "cannot extend locale archive file"
+msgstr "không thể kéo dài tập tin kho lÆ°u miá»n địa phÆ°Æ¡ng"
+
+#: locale/programs/locarchive.c:405
+#, c-format
+msgid "cannot change mode of resized locale archive"
+msgstr "không thể chuyển đổi chế Ä‘á»™ của kho lÆ°u miá»n địa phÆ°Æ¡ng có kích cỡ đã thay đổi"
+
+#: locale/programs/locarchive.c:413
+#, c-format
+msgid "cannot rename new archive"
+msgstr "không thể thay đổi tên của kho lưu mới"
+
+#: locale/programs/locarchive.c:466
+#, c-format
+msgid "cannot open locale archive \"%s\""
+msgstr "không thể mở kho lÆ°u miá»n địa phÆ°Æ¡ng « %s »"
+
+#: locale/programs/locarchive.c:471
+#, c-format
+msgid "cannot stat locale archive \"%s\""
+msgstr "không thể lấy trạng thái vá» kho lÆ°u miá»n địa phÆ°Æ¡ng « %s »"
+
+#: locale/programs/locarchive.c:490
+#, c-format
+msgid "cannot lock locale archive \"%s\""
+msgstr "không thể khoá kho lÆ°u miá»n địa phÆ°Æ¡ng « %s »"
+
+#: locale/programs/locarchive.c:513
+#, c-format
+msgid "cannot read archive header"
+msgstr "không thể Ä‘á»c phần đầu của kho lÆ°u"
+
+#: locale/programs/locarchive.c:573
+#, c-format
+msgid "locale '%s' already exists"
+msgstr "miá»n địa phÆ°Æ¡ng « %s » đã có."
+
+#: locale/programs/locarchive.c:804 locale/programs/locarchive.c:819
+#: locale/programs/locarchive.c:831 locale/programs/locarchive.c:843
+#: locale/programs/locfile.c:344
+#, c-format
+msgid "cannot add to locale archive"
+msgstr "không thể thêm vào kho lÆ°u miá»n địa phÆ°Æ¡ng"
+
+#: locale/programs/locarchive.c:998
+#, c-format
+msgid "locale alias file `%s' not found"
+msgstr "không tìm thấy tập tin bí danh miá»n địa phÆ°Æ¡ng « %s »"
+
+#: locale/programs/locarchive.c:1142
+#, c-format
+msgid "Adding %s\n"
+msgstr "Äang thêm « %s »\n"
+
+#: locale/programs/locarchive.c:1148
+#, c-format
+msgid "stat of \"%s\" failed: %s: ignored"
+msgstr "lỗi lấy trạng thái vỠ« %s »: %s: bị bỠqua"
+
+#: locale/programs/locarchive.c:1154
+#, c-format
+msgid "\"%s\" is no directory; ignored"
+msgstr "« %s » không phải là thư mục nên bị bỠqua"
+
+#: locale/programs/locarchive.c:1161
+#, c-format
+msgid "cannot open directory \"%s\": %s: ignored"
+msgstr "không thể mở thư mục « %s »: %s: bị bỠqua"
+
+#: locale/programs/locarchive.c:1233
+#, c-format
+msgid "incomplete set of locale files in \"%s\""
+msgstr "tập hợp tập tin miá»n địa phÆ°Æ¡ng chÆ°a hoàn toàn trong « %s »"
+
+#: locale/programs/locarchive.c:1297
+#, c-format
+msgid "cannot read all files in \"%s\": ignored"
+msgstr "không thể Ä‘á»c tất cả các tập tin trong « %s »: bị bá» qua"
+
+#: locale/programs/locarchive.c:1367
+#, c-format
+msgid "locale \"%s\" not in archive"
+msgstr "miá»n địa phÆ°Æ¡ng « %s » không nằm trong kho lÆ°u"
+
+#: locale/programs/locfile.c:132
+#, c-format
+msgid "argument to `%s' must be a single character"
+msgstr "đối số cho « %s » phải là một ký tự riêng lẻ"
+
+#: locale/programs/locfile.c:252
+msgid "syntax error: not inside a locale definition section"
+msgstr "gặp lá»—i cú pháp: không phải bên trong má»™t phần xác định miá»n địa phÆ°Æ¡ng"
+
+#: locale/programs/locfile.c:626
+#, c-format
+msgid "cannot open output file `%s' for category `%s'"
+msgstr "không thể mở tập tin kết xuất « %s » cho phân loại « %s »"
+
+#: locale/programs/locfile.c:650
+#, c-format
+msgid "failure while writing data for category `%s'"
+msgstr "gặp lỗi khi ghi dữ liệu vỠphân loại « %s »"
+
+#: locale/programs/locfile.c:746
+#, c-format
+msgid "cannot create output file `%s' for category `%s'"
+msgstr "không thể tạo tập tin kết xuất « %s » cho phân loại « %s »"
+
+#: locale/programs/locfile.c:782
+msgid "expect string argument for `copy'"
+msgstr "đợi đối số chuỗi cho « copy » (sao chép)"
+
+#: locale/programs/locfile.c:786
+msgid "locale name should consist only of portable characters"
+msgstr "tên miá»n địa phÆ°Æ¡ng nên chứa chỉ ký tá»± di Ä‘á»™ng"
+
+#: locale/programs/locfile.c:805
+msgid "no other keyword shall be specified when `copy' is used"
+msgstr "dùng « copy » (sao chép) thì không ghi rõ từ khoá khác"
+
+#: locale/programs/locfile.c:819
+#, c-format
+msgid "`%1$s' definition does not end with `END %1$s'"
+msgstr "lá»i xác định « %1$s » không kết thúc vá»›i « END %1$s »"
+
+#: locale/programs/repertoire.c:229 locale/programs/repertoire.c:270
+#: locale/programs/repertoire.c:295
+#, c-format
+msgid "syntax error in repertoire map definition: %s"
+msgstr "lá»—i cú pháp trong lá»i xác định sÆ¡ đồ repertoire: %s"
+
+#: locale/programs/repertoire.c:271
+msgid "no <Uxxxx> or <Uxxxxxxxx> value given"
+msgstr "chưa đưa ra giá trị <Uxxxx> hoặc <Uxxxxxxxx>"
+
+#: locale/programs/repertoire.c:331
+#, c-format
+msgid "cannot save new repertoire map"
+msgstr "không thể lưu sơ đồ repertoire mới"
+
+#: locale/programs/repertoire.c:342
+#, c-format
+msgid "repertoire map file `%s' not found"
+msgstr "không tìm thấy tập tin sơ đồ repertoire « %s »"
+
+#: login/programs/pt_chown.c:74
+#, c-format
+msgid "Set the owner, group and access permission of the slave pseudo terminal corresponding to the master pseudo terminal passed on file descriptor `%d'. This is the helper program for the `grantpt' function. It is not intended to be run directly from the command line.\n"
+msgstr "Äặt chủ, nhóm và quyá»n truy cập của thiết bị cuối ảo phụ để tÆ°Æ¡ng ứng vá»›i thiết bị cuối ảo chính được nhập dùng bá»™ mô tả tập tin « %d ». Äây là chÆ°Æ¡ng trình bổ trợ cho hàm « grantpt ». Nó không dá»± định được chạy trá»±c tiếp từ dòng lệnh.\n"
+
+#: login/programs/pt_chown.c:84
+#, c-format
+msgid ""
+"The owner is set to the current user, the group is set to `%s', and the access permission is set to `%o'.\n"
+"\n"
+"%s"
+msgstr ""
+"Chủ được đặt thành ngÆ°á»i dùng hiện thá»i\n"
+"Nhóm được đặt thành « %s »\n"
+"Quyá»n truy cập được đặt thành « %o »\n"
+"\n"
+"%s"
+
+#: login/programs/pt_chown.c:161
+#, c-format
+msgid "too many arguments"
+msgstr "quá nhiá»u đối số"
+
+#: login/programs/pt_chown.c:169
+#, c-format
+msgid "needs to be installed setuid `root'"
+msgstr "cần phải được cài đặt một cách « setuid root »"
+
+#: malloc/mcheck.c:330
+msgid "memory is consistent, library is buggy\n"
+msgstr "bộ nhớ nhất quán mà thư viện chứa lỗi\n"
+
+#: malloc/mcheck.c:333
+msgid "memory clobbered before allocated block\n"
+msgstr "đang ghi đè vào bộ nhớ được dành riêng cho hệ thống, đằng trước khối đã cấp phát cho bạn\n"
+
+#: malloc/mcheck.c:336
+msgid "memory clobbered past end of allocated block\n"
+msgstr "đang ghi đè vào bộ nhớ được dành riêng cho hệ thống, đằng sau khối đã cấp phát cho bạn\n"
+
+#: malloc/mcheck.c:339
+msgid "block freed twice\n"
+msgstr "khối được giải phóng hai lần\n"
+
+#: malloc/mcheck.c:342
+msgid "bogus mcheck_status, library is buggy\n"
+msgstr "trạng thái mcheck_status giả, thư viện chứa lỗi\n"
+
+#: malloc/memusage.sh:27
+msgid "Try \\`memusage --help' for more information."
+msgstr "Hãy thử lệnh trợ giúp « memusage --help » để xem thông tin thêm."
+
+#: malloc/memusage.sh:33
+msgid "memusage: option \\`$1' requires an argument"
+msgstr "memusage: tùy chá»n « $1 » cần thiết đối số"
+
+#: malloc/memusage.sh:39
+msgid ""
+"Usage: memusage [OPTION]... PROGRAM [PROGRAMOPTION]...\n"
+"Profile memory usage of PROGRAM.\n"
+"\n"
+" -n,--progname=NAME Name of the program file to profile\n"
+" -p,--png=FILE Generate PNG graphic and store it in FILE\n"
+" -d,--data=FILE Generate binary data file and store it in FILE\n"
+" -u,--unbuffered Don't buffer output\n"
+" -b,--buffer=SIZE Collect SIZE entries before writing them out\n"
+" --no-timer Don't collect additional information through timer\n"
+" -m,--mmap Also trace mmap & friends\n"
+"\n"
+" -?,--help Print this help and exit\n"
+" --usage Give a short usage message\n"
+" -V,--version Print version information and exit\n"
+"\n"
+" The following options only apply when generating graphical output:\n"
+" -t,--time-based Make graph linear in time\n"
+" -T,--total Also draw graph of total memory use\n"
+" --title=STRING Use STRING as title of the graph\n"
+" -x,--x-size=SIZE Make graphic SIZE pixels wide\n"
+" -y,--y-size=SIZE Make graphic SIZE pixels high\n"
+"\n"
+"Mandatory arguments to long options are also mandatory for any corresponding\n"
+"short options.\n"
+"\n"
+"For bug reporting instructions, please see:\n"
+"<http://www.gnu.org/software/libc/bugs.html>."
+msgstr ""
+"Sử dụng: memusage [TÙY_CHỌN]... CHƯƠNG_TRÌNH [TÙY_CHỌN_CHƯƠNG_TRÌNH]...\n"
+"Äo hiệu năng sá»­ dụng bá»™ nhá»› của CHƯƠNG_TRÃŒNH.\n"
+"\n"
+" -n,--progname=TÊN Tên của tập tin chương trình cần đo\n"
+" -p,--png=TẬP_TIN Tạo đồ há»a PNG và lÆ°u nó vào tập tin này\n"
+" -d,--data=TẬP_TIN Tạo dữ liệu nhị phân và lưu nó vào tập tin này\n"
+" -u,--unbuffered Äừng chuyển hoán đệm kết xuất\n"
+" -b,--buffer=CỠ Thu thập kích CỠ mục nhập trước khi ghi ra\n"
+" --no-timer Äừng thu thập thêm thông tin thông qua bá»™ đếm\n"
+" -m,--mmap CÅ©ng Ä‘o mmap v.v.\n"
+"\n"
+" -?,--help In trợ giúp này rồi thoát\n"
+" --usage Hiển thị hướng dẫn ngắn\n"
+" -V,--version In thông tin phiên bản rồi thoát\n"
+"\n"
+"Các tùy chá»n bên dÆ°á»›i chỉ áp dụng khi tạo kết xuất đồ há»a:\n"
+" -t,--time-based Làm cho đồ thị là Ä‘Æ°á»ng theo thá»i gian\n"
+" -T,--total Cũng vẽ đồ thị đại diện tổng số tiêu hao bộ nhớ\n"
+" --title=CHUỖI Tựa đỠcủa đồ thị là chuỗi này\n"
+" -x,--x-size=Cá»  Kích cỡ này là chiá»u rá»™ng của đồ thị, theo Ä‘iểm ảnh\n"
+" -y,--y-size=Cá»  Kích cỡ này là chiá»u cao của đồ thị, theo Ä‘iểm ảnh\n"
+"\n"
+"Má»i đối số bắt buá»™c phải sá»­ dụng vá»›i tùy chá»n dài cÅ©ng bắt buá»™c\n"
+"vá»›i tùy chá»n ngắn tÆ°Æ¡ng ứng.\n"
+"Äể tìm hÆ°á»›ng dẫn vá» thông báo lá»—i, thăm địa chỉ:\n"
+"<http://www.gnu.org/software/libc/bugs.html>."
+
+#: malloc/memusage.sh:99
+msgid ""
+"Syntax: memusage [--data=FILE] [--progname=NAME] [--png=FILE] [--unbuffered]\n"
+" [--buffer=SIZE] [--no-timer] [--time-based] [--total]\n"
+" [--title=STRING] [--x-size=SIZE] [--y-size=SIZE]\n"
+" PROGRAM [PROGRAMOPTION]..."
+msgstr ""
+"Cú pháp: memusage [--data=TẬP_TIN] [--progname=TÊN] [--png=TẬP_TIN] [--unbuffered]\n"
+" [--buffer=Cá» ] [--no-timer] [--time-based] [--total]\n"
+" [--title=CHUá»–I] [--x-size=Cá» ] [--y-size=Cá» ]\n"
+" CHƯƠNG_TRÌNH [TÙY_CHỌN_CHƯƠNG_TRÌNH]..."
+
+#: malloc/memusage.sh:191
+msgid "memusage: option \\`${1##*=}' is ambiguous"
+msgstr "memusage: tùy chá»n « ${1##*=} » là mÆ¡ hồ"
+
+#: malloc/memusage.sh:200
+msgid "memusage: unrecognized option \\`$1'"
+msgstr "memusage: không nhận ra tùy chá»n « $1 »"
+
+#: malloc/memusage.sh:213
+msgid "No program name given"
+msgstr "Chưa đưa ra tên chương trình"
+
+#: malloc/memusagestat.c:54
+msgid "Name output file"
+msgstr "Äặt tên của tập tin kết xuất"
+
+#: malloc/memusagestat.c:55
+msgid "Title string used in output graphic"
+msgstr "Chuá»—i tá»±a đỠđược dùng trong đồ há»a kết xuất"
+
+#: malloc/memusagestat.c:56
+msgid "Generate output linear to time (default is linear to number of function calls)"
+msgstr "Tạo đồ thị Ä‘Æ°á»ng theo thá»i gian (mặc định là đồ thị Ä‘Æ°á»ng theo số cuá»™c gá»i hàm)"
+
+#: malloc/memusagestat.c:58
+msgid "Also draw graph for total memory consumption"
+msgstr "Cũng vẽ đồ thị đại diện tổng số tiêu hao bộ nhớ"
+
+#: malloc/memusagestat.c:59
+msgid "Make output graphic VALUE pixels wide"
+msgstr "Äặt đồ há»a kết xuất có chiá»u rá»™ng GIÃ_TRỊ (theo Ä‘iểm ảnh)"
+
+#: malloc/memusagestat.c:60
+msgid "Make output graphic VALUE pixels high"
+msgstr "Äặt đồ há»a kết xuất có chiá»u cao GIÃ_TRỊ (theo Ä‘iểm ảnh)"
+
+#: malloc/memusagestat.c:65
+msgid "Generate graphic from memory profiling data"
+msgstr "Tạo đồ há»a từ dữ liệu Ä‘o hiệu năng sá»­ dụng bá»™ nhá»›"
+
+#: malloc/memusagestat.c:68
+msgid "DATAFILE [OUTFILE]"
+msgstr "TẬP_TIN_DỮ_LIỆU [TẬP_TIN_XUẤT]"
+
+#: misc/error.c:118 timezone/zic.c:417
+msgid "Unknown system error"
+msgstr "Gặp lỗi hệ thống không rõ"
+
+#: nis/nis_callback.c:189
+msgid "unable to free arguments"
+msgstr "không thể giải phóng đối số"
+
+#: nis/nis_error.h:1 nis/ypclnt.c:822 nis/ypclnt.c:910 posix/regcomp.c:132
+#: sysdeps/gnu/errlist.c:20
+msgid "Success"
+msgstr "Thành công"
+
+#: nis/nis_error.h:2
+msgid "Probable success"
+msgstr "Rất có thể thành công"
+
+#: nis/nis_error.h:3
+msgid "Not found"
+msgstr "Không tìm thấy"
+
+#: nis/nis_error.h:4
+msgid "Probably not found"
+msgstr "Rất có thể không tìm thấy"
+
+#: nis/nis_error.h:5
+msgid "Cache expired"
+msgstr "Bộ nhớ tạm quá hạn"
+
+#: nis/nis_error.h:6
+msgid "NIS+ servers unreachable"
+msgstr "Không thể tới máy phục vụ NIS+"
+
+#: nis/nis_error.h:7
+msgid "Unknown object"
+msgstr "Äối tượng không rõ"
+
+#: nis/nis_error.h:8
+msgid "Server busy, try again"
+msgstr "Máy phục vụ đang bận, hãy thử lại"
+
+#: nis/nis_error.h:9
+msgid "Generic system error"
+msgstr "Lỗi hệ thống chung"
+
+#: nis/nis_error.h:10
+msgid "First/next chain broken"
+msgstr "Dây thứ nhất/kế tiếp bị ngắt"
+
+#. TRANS Permission denied; the file permissions do not allow the attempted operation.
+#: nis/nis_error.h:11 nis/ypclnt.c:867 sysdeps/gnu/errlist.c:157
+msgid "Permission denied"
+msgstr "Không đủ quyá»n truy cập"
+
+#: nis/nis_error.h:12
+msgid "Not owner"
+msgstr "Không phải chủ"
+
+#: nis/nis_error.h:13
+msgid "Name not served by this server"
+msgstr "Tên không phải được phục vụ bằng máy này"
+
+#: nis/nis_error.h:14
+msgid "Server out of memory"
+msgstr "Tràn bộ nhớ của máy phục vụ"
+
+#: nis/nis_error.h:15
+msgid "Object with same name exists"
+msgstr "Một đối tượng cùng tên đã có"
+
+#: nis/nis_error.h:16
+msgid "Not master server for this domain"
+msgstr "Không phải máy phục vụ chính cho miá»n này"
+
+#: nis/nis_error.h:17
+msgid "Invalid object for operation"
+msgstr "Äối tượng không hợp lệ vá»›i thao tác"
+
+#: nis/nis_error.h:18
+msgid "Malformed name, or illegal name"
+msgstr "Tên dạng sai hoặc cấm"
+
+#: nis/nis_error.h:19
+msgid "Unable to create callback"
+msgstr "Không thể tạo cuá»™c gá»i ngược"
+
+#: nis/nis_error.h:20
+msgid "Results sent to callback proc"
+msgstr "Kết quả được gá»­i cho tiến trình gá»i ngược"
+
+#: nis/nis_error.h:21
+msgid "Not found, no such name"
+msgstr "Không tìm thấy, không có tên như vậy"
+
+#: nis/nis_error.h:22
+msgid "Name/entry isn't unique"
+msgstr "Tên/mục nhập không phải là duy nhất"
+
+#: nis/nis_error.h:23
+msgid "Modification failed"
+msgstr "Lỗi sửa đổi"
+
+#: nis/nis_error.h:24
+msgid "Database for table does not exist"
+msgstr "Không có cơ sở dư liệu cho bảng đó"
+
+#: nis/nis_error.h:25
+msgid "Entry/table type mismatch"
+msgstr "Sai khớp mục nhập và bảng"
+
+#: nis/nis_error.h:26
+msgid "Link points to illegal name"
+msgstr "Liên kết chỉ tới tên cấm"
+
+#: nis/nis_error.h:27
+msgid "Partial success"
+msgstr "Thành công bộ phận"
+
+#: nis/nis_error.h:28
+msgid "Too many attributes"
+msgstr "Quá nhiá»u thuá»™c tính"
+
+#: nis/nis_error.h:29
+msgid "Error in RPC subsystem"
+msgstr "Gặp lỗi trong hệ thống con RPC"
+
+#: nis/nis_error.h:30
+msgid "Missing or malformed attribute"
+msgstr "Thuộc tính còn thiếu hoặc dạng sai"
+
+#: nis/nis_error.h:31
+msgid "Named object is not searchable"
+msgstr "Äối tượng có tên không thể được tìm"
+
+#: nis/nis_error.h:32
+msgid "Error while talking to callback proc"
+msgstr "Gặp lá»—i khi liên lạc vá»›i tiến trình gá»i ngược"
+
+#: nis/nis_error.h:33
+msgid "Non NIS+ namespace encountered"
+msgstr "Gặp miá»n tên không phải NIS+"
+
+#: nis/nis_error.h:34
+msgid "Illegal object type for operation"
+msgstr "Kiểu đối tượng cấm cho thao tác"
+
+#: nis/nis_error.h:35
+msgid "Passed object is not the same object on server"
+msgstr "Äối tượng đã phân tích không phải trùng vá»›i đối tượng trên máy phục vụ"
+
+#: nis/nis_error.h:36
+msgid "Modify operation failed"
+msgstr "Thao tác sửa đổi bị lỗi"
+
+#: nis/nis_error.h:37
+msgid "Query illegal for named table"
+msgstr "Truy vấn cấm cho bảng đã đặt tên"
+
+#: nis/nis_error.h:38
+msgid "Attempt to remove a non-empty table"
+msgstr "Äã thá»­ gỡ bá» má»™t bảng không rá»—ng"
+
+#: nis/nis_error.h:39
+msgid "Error in accessing NIS+ cold start file. Is NIS+ installed?"
+msgstr "Gặp lỗi khi truy cập tập tin khởi chạy lạnh NIS+. NIS+ đã được cài đặt chưa?"
+
+#: nis/nis_error.h:40
+msgid "Full resync required for directory"
+msgstr "Thư mục cần thiết đồng bộ lại đầy đủ"
+
+#: nis/nis_error.h:41
+msgid "NIS+ operation failed"
+msgstr "Thao tác NIS+ bị lỗi"
+
+#: nis/nis_error.h:42
+msgid "NIS+ service is unavailable or not installed"
+msgstr "Dịch vụ NIS+ không sẵn sàng hoặc chưa được cài đặt"
+
+#: nis/nis_error.h:43
+msgid "Yes, 42 is the meaning of life"
+msgstr "Äúng vậy, Ä‘á»i sống nghÄ©a là 42"
+
+#: nis/nis_error.h:44
+msgid "Unable to authenticate NIS+ server"
+msgstr "Không thể xác thực với máy phục vụ NIS+"
+
+#: nis/nis_error.h:45
+msgid "Unable to authenticate NIS+ client"
+msgstr "Không thể xác thực với trình khách NIS+"
+
+#: nis/nis_error.h:46
+msgid "No file space on server"
+msgstr "Không có sức chứa tập tin còn rảnh trên máy phục vụ"
+
+#: nis/nis_error.h:47
+msgid "Unable to create process on server"
+msgstr "Không thể tạo tiến trình trên máy phục vụ"
+
+#: nis/nis_error.h:48
+msgid "Master server busy, full dump rescheduled."
+msgstr "Máy phục vụ chính đang bận nên lập kế hoạch lại cho tiến trình đổ đầy đủ"
+
+#: nis/nis_local_names.c:122
+#, c-format
+msgid "LOCAL entry for UID %d in directory %s not unique\n"
+msgstr "Mục nhập LOCAL (cục bộ) cho UID %d trong thư mục %s không phải duy nhất\n"
+
+#: nis/nis_print.c:51
+msgid "UNKNOWN"
+msgstr "KHÔNG RÕ"
+
+#: nis/nis_print.c:109
+msgid "BOGUS OBJECT\n"
+msgstr "Äá»I TƯỢNG GIẢ\n"
+
+#: nis/nis_print.c:112
+msgid "NO OBJECT\n"
+msgstr "KHÔNG CÓ Äá»I TƯỢNG\n"
+
+#: nis/nis_print.c:115
+msgid "DIRECTORY\n"
+msgstr "THƯ MỤC\n"
+
+#: nis/nis_print.c:118
+msgid "GROUP\n"
+msgstr "NHÓM\n"
+
+#: nis/nis_print.c:121
+msgid "TABLE\n"
+msgstr "BẢNG\n"
+
+#: nis/nis_print.c:124
+msgid "ENTRY\n"
+msgstr "MỤC NHẬP\n"
+
+#: nis/nis_print.c:127
+msgid "LINK\n"
+msgstr "LIÊN KẾT\n"
+
+#: nis/nis_print.c:130
+msgid "PRIVATE\n"
+msgstr "RIÊNG\n"
+
+#: nis/nis_print.c:133
+msgid "(Unknown object)\n"
+msgstr "(Không rõ đối tượng)\n"
+
+#: nis/nis_print.c:167
+#, c-format
+msgid "Name : `%s'\n"
+msgstr "Tên : « %s »\n"
+
+#: nis/nis_print.c:168
+#, c-format
+msgid "Type : %s\n"
+msgstr "Kiểu : %s\n"
+
+#: nis/nis_print.c:173
+msgid "Master Server :\n"
+msgstr "Máy phục vụ chính:\n"
+
+#: nis/nis_print.c:175
+msgid "Replicate :\n"
+msgstr "Tái tạo :\n"
+
+#: nis/nis_print.c:176
+#, c-format
+msgid "\tName : %s\n"
+msgstr "\tTên : %s\n"
+
+#: nis/nis_print.c:177
+msgid "\tPublic Key : "
+msgstr "\tKhoá công : "
+
+#: nis/nis_print.c:181
+msgid "None.\n"
+msgstr "Không có.\n"
+
+#: nis/nis_print.c:184
+#, c-format
+msgid "Diffie-Hellmann (%d bits)\n"
+msgstr "Diffie-Hellmann (%d bit)\n"
+
+#: nis/nis_print.c:189
+#, c-format
+msgid "RSA (%d bits)\n"
+msgstr "RSA (%d bit)\n"
+
+# Name: don't translate/Tên: đừng dịch
+#: nis/nis_print.c:192
+msgid "Kerberos.\n"
+msgstr "Kerberos.\n"
+
+#: nis/nis_print.c:195
+#, c-format
+msgid "Unknown (type = %d, bits = %d)\n"
+msgstr "Không rõ (kiểu = %d, bit = %d)\n"
+
+#: nis/nis_print.c:206
+#, c-format
+msgid "\tUniversal addresses (%u)\n"
+msgstr "\tÄịa chỉ chung (%u)\n"
+
+#: nis/nis_print.c:228
+msgid "Time to live : "
+msgstr "Thá»i gian hoạt Ä‘á»™ng :"
+
+#: nis/nis_print.c:230
+msgid "Default Access rights :\n"
+msgstr "Quyá»n truy cập mặc định :\n"
+
+#: nis/nis_print.c:239
+#, c-format
+msgid "\tType : %s\n"
+msgstr "\tKiểu : %s\n"
+
+#: nis/nis_print.c:240
+msgid "\tAccess rights: "
+msgstr "\tQuyá»n truy cập: "
+
+#: nis/nis_print.c:254
+msgid "Group Flags :"
+msgstr "CỠnhóm:"
+
+#: nis/nis_print.c:257
+msgid ""
+"\n"
+"Group Members :\n"
+msgstr ""
+"\n"
+"Thành viên của nhóm :\n"
+
+#: nis/nis_print.c:269
+#, c-format
+msgid "Table Type : %s\n"
+msgstr "Kiểu bảng : %s\n"
+
+#: nis/nis_print.c:270
+#, c-format
+msgid "Number of Columns : %d\n"
+msgstr "Số cột : %d\n"
+
+#: nis/nis_print.c:271
+#, c-format
+msgid "Character Separator : %c\n"
+msgstr "Dấu tách ký tự : %c\n"
+
+#: nis/nis_print.c:272
+#, c-format
+msgid "Search Path : %s\n"
+msgstr "ÄÆ°á»ng dẫn tìm kiếm : %s\n"
+
+#: nis/nis_print.c:273
+msgid "Columns :\n"
+msgstr "Cá»™t :\n"
+
+#: nis/nis_print.c:276
+#, c-format
+msgid "\t[%d]\tName : %s\n"
+msgstr "\t[%d]\tTên : %s\n"
+
+#: nis/nis_print.c:278
+msgid "\t\tAttributes : "
+msgstr "\tThuộc tính : "
+
+#: nis/nis_print.c:280
+msgid "\t\tAccess Rights : "
+msgstr "\t\tQuyá»n truy cập : "
+
+#: nis/nis_print.c:290
+msgid "Linked Object Type : "
+msgstr "Kiểu đối tượng đã liên kết : "
+
+#: nis/nis_print.c:292
+#, c-format
+msgid "Linked to : %s\n"
+msgstr "Äược liên kết đến : %s\n"
+
+#: nis/nis_print.c:302
+#, c-format
+msgid "\tEntry data of type %s\n"
+msgstr "\tDữ liệu mục nhập có kiểu %s\n"
+
+#: nis/nis_print.c:305
+#, c-format
+msgid "\t[%u] - [%u bytes] "
+msgstr "\t[%u] - [%u byte] "
+
+#: nis/nis_print.c:308
+msgid "Encrypted data\n"
+msgstr "Dữ liệu đã mật mã\n"
+
+#: nis/nis_print.c:310
+msgid "Binary data\n"
+msgstr "Dữ liệu nhị phân\n"
+
+#: nis/nis_print.c:326
+#, c-format
+msgid "Object Name : %s\n"
+msgstr "Tên đối tượng : %s\n"
+
+#: nis/nis_print.c:327
+#, c-format
+msgid "Directory : %s\n"
+msgstr "Thư mục : %s\n"
+
+#: nis/nis_print.c:328
+#, c-format
+msgid "Owner : %s\n"
+msgstr "Chủ : %s\n"
+
+#: nis/nis_print.c:329
+#, c-format
+msgid "Group : %s\n"
+msgstr "Nhóm : %s\n"
+
+#: nis/nis_print.c:330
+msgid "Access Rights : "
+msgstr "Quyá»n truy cập : "
+
+#: nis/nis_print.c:332
+#, c-format
+msgid ""
+"\n"
+"Time to Live : "
+msgstr ""
+"\n"
+"Thá»i gian hoạt Ä‘á»™ng : "
+
+#: nis/nis_print.c:335
+#, c-format
+msgid "Creation Time : %s"
+msgstr "GiỠtạo : %s"
+
+#: nis/nis_print.c:337
+#, c-format
+msgid "Mod. Time : %s"
+msgstr "Giá» sá»­a : %s"
+
+#: nis/nis_print.c:338
+msgid "Object Type : "
+msgstr "Kiểu đối tượng : "
+
+#: nis/nis_print.c:358
+#, c-format
+msgid " Data Length = %u\n"
+msgstr " Äá»™ dài dữ liệu = %u\n"
+
+#: nis/nis_print.c:372
+#, c-format
+msgid "Status : %s\n"
+msgstr "Trạng thái : %s\n"
+
+#: nis/nis_print.c:373
+#, c-format
+msgid "Number of objects : %u\n"
+msgstr "Số đối tượng : %u\n"
+
+#: nis/nis_print.c:377
+#, c-format
+msgid "Object #%d:\n"
+msgstr "Äối tượng số %d:\n"
+
+#: nis/nis_print_group_entry.c:117
+#, c-format
+msgid "Group entry for \"%s.%s\" group:\n"
+msgstr "Mục nhập nhóm cho nhóm « %s.%s »:\n"
+
+#: nis/nis_print_group_entry.c:125
+msgid " Explicit members:\n"
+msgstr " Thành viên dứt khoát:\n"
+
+#: nis/nis_print_group_entry.c:130
+msgid " No explicit members\n"
+msgstr " Không có thành viên dứt khoát\n"
+
+#: nis/nis_print_group_entry.c:133
+msgid " Implicit members:\n"
+msgstr " Thành viên ngầm:\n"
+
+#: nis/nis_print_group_entry.c:138
+msgid " No implicit members\n"
+msgstr " Không có bộ phận ngầm\n"
+
+#: nis/nis_print_group_entry.c:141
+msgid " Recursive members:\n"
+msgstr " Bộ phận đệ quy:\n"
+
+#: nis/nis_print_group_entry.c:146
+msgid " No recursive members\n"
+msgstr " Không có bộ phận đệ quy\n"
+
+#: nis/nis_print_group_entry.c:149
+msgid " Explicit nonmembers:\n"
+msgstr " Dứt khoát không phải bộ phận:\n"
+
+#: nis/nis_print_group_entry.c:154
+msgid " No explicit nonmembers\n"
+msgstr " Không có cái dứt khoát không phải bộ phận\n"
+
+#: nis/nis_print_group_entry.c:157
+msgid " Implicit nonmembers:\n"
+msgstr " Ngầm không phải bộ phận:\n"
+
+#: nis/nis_print_group_entry.c:162
+msgid " No implicit nonmembers\n"
+msgstr " Không có cái ngầm không phải bộ phận\n"
+
+#: nis/nis_print_group_entry.c:165
+msgid " Recursive nonmembers:\n"
+msgstr " Äệ quy không phải bá»™ phận\n"
+
+#: nis/nis_print_group_entry.c:170
+msgid " No recursive nonmembers\n"
+msgstr " Không có cái đệ quy không phải bộ phận\n"
+
+#: nis/nss_nisplus/nisplus-publickey.c:101
+#: nis/nss_nisplus/nisplus-publickey.c:183
+#, c-format
+msgid "DES entry for netname %s not unique\n"
+msgstr "Mục nhập DES cho netname %s không phải duy nhất\n"
+
+#: nis/nss_nisplus/nisplus-publickey.c:220
+#, c-format
+msgid "netname2user: missing group id list in `%s'"
+msgstr "netname2user: thiếu danh sách mã số nhóm trong « %s »"
+
+#: nis/nss_nisplus/nisplus-publickey.c:302
+#: nis/nss_nisplus/nisplus-publickey.c:308
+#: nis/nss_nisplus/nisplus-publickey.c:373
+#: nis/nss_nisplus/nisplus-publickey.c:382
+#, c-format
+msgid "netname2user: (nis+ lookup): %s\n"
+msgstr "netname2user: (nis+ tra cứu): %s\n"
+
+#: nis/nss_nisplus/nisplus-publickey.c:321
+#, c-format
+msgid "netname2user: DES entry for %s in directory %s not unique"
+msgstr "netname2user: mục nhập DES cho %s trong thư mục %s không phải duy nhất"
+
+#: nis/nss_nisplus/nisplus-publickey.c:339
+#, c-format
+msgid "netname2user: principal name `%s' too long"
+msgstr "netname2user: tên chính « %s » quá dài"
+
+#: nis/nss_nisplus/nisplus-publickey.c:395
+#, c-format
+msgid "netname2user: LOCAL entry for %s in directory %s not unique"
+msgstr "netname2user: mục nhập LOCAL cho %s trong thư mục %s không phải duy nhất"
+
+#: nis/nss_nisplus/nisplus-publickey.c:402
+msgid "netname2user: should not have uid 0"
+msgstr "netname2user: không nên có UID 0"
+
+#: nis/ypclnt.c:825
+msgid "Request arguments bad"
+msgstr "Sai đối số yêu cầu"
+
+#: nis/ypclnt.c:828
+msgid "RPC failure on NIS operation"
+msgstr "Lỗi RPC trên thao tác NIS"
+
+#: nis/ypclnt.c:831
+msgid "Can't bind to server which serves this domain"
+msgstr "Không thể đóng kết vá»›i máy có phục vụ miá»n này"
+
+#: nis/ypclnt.c:834
+msgid "No such map in server's domain"
+msgstr "Không có sÆ¡ đồ nhÆ° vậy trong miá»n của máy phục vụ"
+
+#: nis/ypclnt.c:837
+msgid "No such key in map"
+msgstr "Không có khoá như vậy trong sơ đồ"
+
+#: nis/ypclnt.c:840
+msgid "Internal NIS error"
+msgstr "Lá»—i NIS ná»™i bá»™"
+
+#: nis/ypclnt.c:843
+msgid "Local resource allocation failure"
+msgstr "Lỗi cấp phát tài nguyên cục bộ"
+
+#: nis/ypclnt.c:846
+msgid "No more records in map database"
+msgstr "Không có mục ghi thêm nữa trong cơ sở dữ liệu sơ đồ"
+
+#: nis/ypclnt.c:849
+msgid "Can't communicate with portmapper"
+msgstr "Không thể liên lạc với portmapper"
+
+#: nis/ypclnt.c:852
+msgid "Can't communicate with ypbind"
+msgstr "Không thể liên lạc với ypbind"
+
+#: nis/ypclnt.c:855
+msgid "Can't communicate with ypserv"
+msgstr "Không thể liên lạc với ypserv"
+
+#: nis/ypclnt.c:858
+msgid "Local domain name not set"
+msgstr "ChÆ°a đặt tên miá»n cục bá»™"
+
+#: nis/ypclnt.c:861
+msgid "NIS map database is bad"
+msgstr "Cơ sở dữ liệu sơ đồ NIS là sai"
+
+#: nis/ypclnt.c:864
+msgid "NIS client/server version mismatch - can't supply service"
+msgstr "Sai khớp trình khách/phục vụ NIS nên không thể cung cấp dịch vụ"
+
+#: nis/ypclnt.c:870
+msgid "Database is busy"
+msgstr "Cơ sở dữ liệu đang bận"
+
+#: nis/ypclnt.c:873
+msgid "Unknown NIS error code"
+msgstr "Mã lỗi NIS không rõ"
+
+#: nis/ypclnt.c:913
+msgid "Internal ypbind error"
+msgstr "Lá»—i ypbind ná»™i bá»™"
+
+#: nis/ypclnt.c:916
+msgid "Domain not bound"
+msgstr "Không tìm thấy miá»n"
+
+#: nis/ypclnt.c:919
+msgid "System resource allocation failure"
+msgstr "Lỗi cấp phát tài nguyên hệ thống"
+
+#: nis/ypclnt.c:922
+msgid "Unknown ypbind error"
+msgstr "Lỗi ypbind không rõ"
+
+#: nis/ypclnt.c:963
+msgid "yp_update: cannot convert host to netname\n"
+msgstr "yp_update: không thể chuyển đổi máy sang netname\n"
+
+#: nis/ypclnt.c:981
+msgid "yp_update: cannot get server address\n"
+msgstr "yp_update: không thể lấy địa chỉ của máy phục vụ\n"
+
+#: nscd/aicache.c:77 nscd/hstcache.c:468
+#, c-format
+msgid "Haven't found \"%s\" in hosts cache!"
+msgstr "Không tìm thấy « %s » trong bộ nhớ tạm các máy phục vụ !"
+
+#: nscd/aicache.c:79 nscd/hstcache.c:470
+#, c-format
+msgid "Reloading \"%s\" in hosts cache!"
+msgstr "Äang nạp lại « %s » trong bá»™ nhá»› tạm các máy phục vụ !"
+
+#: nscd/cache.c:146
+#, c-format
+msgid "add new entry \"%s\" of type %s for %s to cache%s"
+msgstr "thêm mục nhập mới « %s » có kiểu %s cho %s nhớ tạm %s"
+
+#: nscd/cache.c:148
+msgid " (first)"
+msgstr " (thứ nhất)"
+
+#: nscd/cache.c:256 nscd/connections.c:810
+#, c-format
+msgid "cannot stat() file `%s': %s"
+msgstr "không thể stat() tập tin « %s »: %s"
+
+#: nscd/cache.c:285
+#, c-format
+msgid "pruning %s cache; time %ld"
+msgstr "Ä‘ang xén bá»™ nhá»› tạm %s; thá»i gian %ld"
+
+#: nscd/cache.c:312
+#, c-format
+msgid "considering %s entry \"%s\", timeout %<PRIu64>"
+msgstr "Ä‘ang suy xét mục nhập %s « %s », thá»i hạn %<PRIu64>"
+
+#: nscd/connections.c:521 nscd/connections.c:533 nscd/connections.c:545
+#: nscd/connections.c:564
+#, c-format
+msgid "invalid persistent database file \"%s\": %s"
+msgstr "tập tin cÆ¡ sở dữ liệu bá»n bỉ không hợp lệ « %s »: %s"
+
+#: nscd/connections.c:535
+msgid "header size does not match"
+msgstr "kích cỡ phần đầu không tương ứng"
+
+#: nscd/connections.c:547
+msgid "file size does not match"
+msgstr "kích cỡ tập tin không tương ứng"
+
+#: nscd/connections.c:566
+msgid "verification failed"
+msgstr "lỗi thẩm tra"
+
+#: nscd/connections.c:580
+#, c-format
+msgid "suggested size of table for database %s larger than the persistent database's table"
+msgstr "kích cỡ bảng đã đệ nghị cho cÆ¡ sở dữ liệu %s vẫn lá»›n hÆ¡n bảng của cÆ¡ sở dữ liệu bá»n bỉ"
+
+#: nscd/connections.c:591 nscd/connections.c:673
+#, c-format
+msgid "cannot create read-only descriptor for \"%s\"; no mmap"
+msgstr "không thể tạo bá»™ mô tả chỉ-Ä‘á»c cho « %s »; không có mmap"
+
+#: nscd/connections.c:652
+#, c-format
+msgid "database for %s corrupted or simultaneously used; remove %s manually if necessary and restart"
+msgstr "cÆ¡ sở dữ liệu cho %s bị há»ng hoặc được dùng đồng thá»i; bạn hãy tá»± gỡ bá» %s nếu cần, rồi khởi chạy lại"
+
+#: nscd/connections.c:659
+#, c-format
+msgid "cannot create %s; no persistent database used"
+msgstr "không thể tạo %s; không có cÆ¡ sở dữ liệu bá»n bỉ được dùng"
+
+#: nscd/connections.c:662
+#, c-format
+msgid "cannot create %s; no sharing possible"
+msgstr "không thể tạo %s; không thể dùng chung"
+
+#: nscd/connections.c:733
+#, c-format
+msgid "cannot write to database file %s: %s"
+msgstr "không thể ghi vào tập tin cơ sở dữ liệu %s: %s"
+
+#: nscd/connections.c:772
+#, c-format
+msgid "cannot set socket to close on exec: %s; disabling paranoia mode"
+msgstr "không thể đặt ổ cắm sẽ đóng khi thực hiện: %s; đang tắt chế độ rất cẩn thận"
+
+#: nscd/connections.c:823
+#, c-format
+msgid "cannot open socket: %s"
+msgstr "không thể mở ổ cắm: %s"
+
+#: nscd/connections.c:840
+#, c-format
+msgid "cannot change socket to nonblocking mode: %s"
+msgstr "không thể chuyển đổi ổ cắm sang chế độ không chặn: %s"
+
+#: nscd/connections.c:848
+#, c-format
+msgid "cannot set socket to close on exec: %s"
+msgstr "không thể đặt ổ cắm sẽ đóng khi thực hiện: %s"
+
+#: nscd/connections.c:859
+#, c-format
+msgid "cannot enable socket to accept connections: %s"
+msgstr "không thể hiệu lực ổ cắm chấp nhận kết nối: %s"
+
+#: nscd/connections.c:955
+#, c-format
+msgid "provide access to FD %d, for %s"
+msgstr "cung cấp truy cập vào FD %d, cho %s"
+
+#: nscd/connections.c:967
+#, c-format
+msgid "cannot handle old request version %d; current version is %d"
+msgstr "không thể quản lý phiên bản yêu cầu cÅ© %d; phiên bản hiện thá»i là %d"
+
+#: nscd/connections.c:1009 nscd/connections.c:1062
+#, c-format
+msgid "cannot write result: %s"
+msgstr "không thể ghi kết quả: %s"
+
+#: nscd/connections.c:1145
+#, c-format
+msgid "error getting caller's id: %s"
+msgstr "gặp lá»—i khi lấy mã số gá»i: %s"
+
+#: nscd/connections.c:1204
+#, c-format
+msgid "cannot open /proc/self/cmdline: %s; disabling paranoia mode"
+msgstr "không thể mở « /proc/self/cmdline »: %s; đang tắt chế độ rất cẩn thận"
+
+#: nscd/connections.c:1218
+#, c-format
+msgid "cannot read /proc/self/cmdline: %s; disabling paranoia mode"
+msgstr "không thể Ä‘á»c « /proc/self/cmdline »: %s; Ä‘ang tắt chế Ä‘á»™ rất cẩn thận"
+
+#: nscd/connections.c:1258
+#, c-format
+msgid "cannot change to old UID: %s; disabling paranoia mode"
+msgstr "không thể chuyển đổi sang UID cũ: %s; đang tắt chế độ rất cẩn thận"
+
+#: nscd/connections.c:1268
+#, c-format
+msgid "cannot change to old GID: %s; disabling paranoia mode"
+msgstr "không thể chuyển đổi sang GID cũ: %s; đang tắt chế độ rất cẩn thận"
+
+#: nscd/connections.c:1281
+#, c-format
+msgid "cannot change to old working directory: %s; disabling paranoia mode"
+msgstr "không thể chuyển đổi sang thư mục hoạt động cũ : %s; đang tắt chế độ rất cẩn thận"
+
+#: nscd/connections.c:1310
+#, c-format
+msgid "re-exec failed: %s; disabling paranoia mode"
+msgstr "lỗi thực hiện lại: %s; đang tắt chế độ rất cẩn thận"
+
+#: nscd/connections.c:1319
+#, c-format
+msgid "cannot change current working directory to \"/\": %s"
+msgstr "không thể chuyển đổi thÆ° mục hoạt Ä‘á»™ng hiện thá»i sang « / »: %s"
+
+#: nscd/connections.c:1437
+#, c-format
+msgid "short read while reading request: %s"
+msgstr "Ä‘á»c ngắn khi Ä‘á»c yêu cầu : %s"
+
+#: nscd/connections.c:1468
+#, c-format
+msgid "key length in request too long: %d"
+msgstr "chiá»u dài khoá quá dài trong yêu cầu : %d"
+
+#: nscd/connections.c:1481
+#, c-format
+msgid "short read while reading request key: %s"
+msgstr "Ä‘á»c ngắn khi Ä‘á»c khoá yêu cầu : %s"
+
+#: nscd/connections.c:1490
+#, c-format
+msgid "handle_request: request received (Version = %d) from PID %ld"
+msgstr "handle_request: (quản lý yêu cầu) nhận được yêu cầu (Phiên bản = %d) từ PID %ld"
+
+#: nscd/connections.c:1495
+#, c-format
+msgid "handle_request: request received (Version = %d)"
+msgstr "handle_request: (quản lý yêu cầu) nhận được yêu cầu (Phiên bản = %d)"
+
+#: nscd/connections.c:1856
+#, c-format
+msgid "could only start %d threads; terminating"
+msgstr "chỉ có thể khởi chạy %d mạch nên chấm dứt"
+
+#: nscd/connections.c:1904 nscd/connections.c:1905 nscd/connections.c:1922
+#: nscd/connections.c:1931 nscd/connections.c:1949 nscd/connections.c:1960
+#: nscd/connections.c:1971
+#, c-format
+msgid "Failed to run nscd as user '%s'"
+msgstr "Lá»—i chạy nscd dÆ°á»›i ngÆ°á»i dùng « %s »"
+
+#: nscd/connections.c:1923
+#, c-format
+msgid "initial getgrouplist failed"
+msgstr "getgrouplist (lấy danh sách nhóm) đầu tiên bị lỗi"
+
+#: nscd/connections.c:1932
+#, c-format
+msgid "getgrouplist failed"
+msgstr "getgrouplist (lấy danh sách nhóm) bị lỗi"
+
+#: nscd/connections.c:1950
+#, c-format
+msgid "setgroups failed"
+msgstr "setgroups (đặt các nhóm) bị lỗi"
+
+#: nscd/grpcache.c:402 nscd/hstcache.c:418 nscd/initgrcache.c:412
+#: nscd/pwdcache.c:397 nscd/servicescache.c:343
+#, c-format
+msgid "short write in %s: %s"
+msgstr "ghi ngắn trong %s: %s"
+
+#: nscd/grpcache.c:445 nscd/initgrcache.c:78
+#, c-format
+msgid "Haven't found \"%s\" in group cache!"
+msgstr "Không tìm thấy « %s » trong bộ nhớ tạm nhóm !"
+
+#: nscd/grpcache.c:447 nscd/initgrcache.c:80
+#, c-format
+msgid "Reloading \"%s\" in group cache!"
+msgstr "Äang nạp lại « %s » trong bá»™ nhá»› tạm nhóm !"
+
+#: nscd/grpcache.c:524
+#, c-format
+msgid "Invalid numeric gid \"%s\"!"
+msgstr "GID thuộc số không hợp lệ « %s » !"
+
+#: nscd/mem.c:383
+#, c-format
+msgid "freed %zu bytes in %s cache"
+msgstr "đã giải phóng %zu byte trong bộ nhớ tạm %s"
+
+#: nscd/mem.c:512
+#, c-format
+msgid "no more memory for database '%s'"
+msgstr "không có bộ nhớ còn lại cho cơ sở dữ liệu « %s »"
+
+#: nscd/nscd.c:98
+msgid "Read configuration data from NAME"
+msgstr "Äá»c tập tin cấu hình từ TÊN"
+
+#: nscd/nscd.c:100
+msgid "Do not fork and display messages on the current tty"
+msgstr "Dòng tạo lại và hiển thị thông Ä‘iệp trên TTY hiện thá»i"
+
+#: nscd/nscd.c:101
+msgid "NUMBER"
+msgstr "Sá»"
+
+#: nscd/nscd.c:101
+msgid "Start NUMBER threads"
+msgstr "Khởi chạy SỠmạch"
+
+#: nscd/nscd.c:102
+msgid "Shut the server down"
+msgstr "Tắt máy phục vụ"
+
+#: nscd/nscd.c:103
+msgid "Print current configuration statistic"
+msgstr "In thống kê cấu hình hiện thá»i"
+
+#: nscd/nscd.c:104
+msgid "TABLE"
+msgstr "BẢNG"
+
+#: nscd/nscd.c:105
+msgid "Invalidate the specified cache"
+msgstr "Làm mất hiệu lực bộ nhớ tạm đã ghi rõ"
+
+#: nscd/nscd.c:106
+msgid "TABLE,yes"
+msgstr "BẢNG,có"
+
+#: nscd/nscd.c:107
+msgid "Use separate cache for each user"
+msgstr "Dùng bá»™ nhá»› tạm riêng cho má»—i ngÆ°á»i dùng"
+
+#: nscd/nscd.c:112
+msgid "Name Service Cache Daemon."
+msgstr "Trình ná»n nhá»› tạm dịch vụ tên."
+
+#: nscd/nscd.c:144 nss/getent.c:858 nss/makedb.c:123
+#, c-format
+msgid "wrong number of arguments"
+msgstr "số đối số không đúng"
+
+#: nscd/nscd.c:154
+#, c-format
+msgid "failure while reading configuration file; this is fatal"
+msgstr "gặp lá»—i khi Ä‘á»c tập tin cấu hình: đây là má»™t lá»—i nghiêm trá»ng"
+
+#: nscd/nscd.c:163
+#, c-format
+msgid "already running"
+msgstr "đang chạy"
+
+#: nscd/nscd.c:178 nscd/nscd.c:233
+#, c-format
+msgid "cannot fork"
+msgstr "không thể tạo tiến trình con"
+
+#: nscd/nscd.c:241
+#, c-format
+msgid "cannot change current working directory to \"/\""
+msgstr "không thể chuyển đổi thÆ° mục hoạt Ä‘á»™ng hiện thá»i sang « / »"
+
+#: nscd/nscd.c:249
+msgid "Could not create log file"
+msgstr "Không thể tạo tập tin ghi lưu"
+
+#: nscd/nscd.c:302 nscd/nscd.c:327 nscd/nscd_stat.c:172
+#, c-format
+msgid "Only root is allowed to use this option!"
+msgstr "Chỉ cho phép ngÆ°Æ¡i chủ (root) dùng tùy chá»n này !"
+
+#: nscd/nscd.c:364 nscd/nscd_stat.c:191
+#, c-format
+msgid "write incomplete"
+msgstr "chÆ°a ghi xong"
+
+#: nscd/nscd.c:375
+#, c-format
+msgid "cannot read invalidate ACK"
+msgstr "không thể làm mất hiệu lực ACK"
+
+#: nscd/nscd.c:381
+#, c-format
+msgid "invalidation failed"
+msgstr "gặp lỗi khi thử làm mất hiệu lực"
+
+#: nscd/nscd.c:391
+#, c-format
+msgid "secure services not implemented anymore"
+msgstr "không còn thực hiện lại dịch vụ bảo mật"
+
+#: nscd/nscd_conf.c:57
+#, c-format
+msgid "database %s is not supported"
+msgstr "cơ sở dữ liệu %s không được hỗ trợ"
+
+#: nscd/nscd_conf.c:108
+#, c-format
+msgid "Parse error: %s"
+msgstr "Lỗi phân tích: %s"
+
+#: nscd/nscd_conf.c:193
+#, c-format
+msgid "Must specify user name for server-user option"
+msgstr "Phải ghi rõ tên ngÆ°á»i dùng cho tùy chá»n server-user (ngÆ°á»i dùng máy phục vụ)"
+
+#: nscd/nscd_conf.c:200
+#, c-format
+msgid "Must specify user name for stat-user option"
+msgstr "Phải ghi rõ tên ngÆ°á»i dùng cho tùy chá»n stat-user (ngÆ°á»i dùng thống kê ?)"
+
+#: nscd/nscd_conf.c:244
+#, c-format
+msgid "invalid value for 'reload-count': %u"
+msgstr "Giá trị không hợp lệ cho « reload-count » (đếm lần nạp lại): %u"
+
+#: nscd/nscd_conf.c:259
+#, c-format
+msgid "Must specify value for restart-interval option"
+msgstr "Phải ghi rõ giá trị cho tùy chá»n restart-interval (khoảng khởi chạy lại)"
+
+#: nscd/nscd_conf.c:273
+#, c-format
+msgid "Unknown option: %s %s %s"
+msgstr "Không rõ tùy chá»n %s %s %s"
+
+#: nscd/nscd_conf.c:286
+#, c-format
+msgid "cannot get current working directory: %s; disabling paranoia mode"
+msgstr "không thể lấy thÆ° mục hoạt Ä‘á»™ng hiện thá»i: %s; Ä‘ang tắt chế Ä‘á»™ rất cẩn thận"
+
+#: nscd/nscd_conf.c:306
+#, c-format
+msgid "maximum file size for %s database too small"
+msgstr "kích cỡ tập tin tối đa quá nhỠcho cơ sở dữ liệu %s"
+
+#: nscd/nscd_stat.c:141
+#, c-format
+msgid "cannot write statistics: %s"
+msgstr "không thể ghi thống kê: %s"
+
+#: nscd/nscd_stat.c:156
+msgid "yes"
+msgstr "có"
+
+#: nscd/nscd_stat.c:157
+msgid "no"
+msgstr "không"
+
+#: nscd/nscd_stat.c:168
+#, c-format
+msgid "Only root or %s is allowed to use this option!"
+msgstr "Chỉ cho phép ngÆ°Æ¡i chủ (root) hoặc %s dùng tùy chá»n này !"
+
+#: nscd/nscd_stat.c:179
+#, c-format
+msgid "nscd not running!\n"
+msgstr "nscd không đang chạy !\n"
+
+#: nscd/nscd_stat.c:203
+#, c-format
+msgid "cannot read statistics data"
+msgstr "không thể Ä‘á»c dữ liệu thống kê"
+
+#: nscd/nscd_stat.c:206
+#, c-format
+msgid ""
+"nscd configuration:\n"
+"\n"
+"%15d server debug level\n"
+msgstr ""
+"cấu hình nscd:\n"
+"\n"
+"%15d cấp gỡ lỗi máy phục vụ\n"
+
+#: nscd/nscd_stat.c:230
+#, c-format
+msgid "%3ud %2uh %2um %2lus server runtime\n"
+msgstr "%3ud %2uh %2um %2lus thá»i gian chạy trình phục vụ\n"
+
+#: nscd/nscd_stat.c:233
+#, c-format
+msgid " %2uh %2um %2lus server runtime\n"
+msgstr " %2uh %2um %2lus thá»i gian chạy trình phục vụ\n"
+
+#: nscd/nscd_stat.c:235
+#, c-format
+msgid " %2um %2lus server runtime\n"
+msgstr " %2um %2lus thá»i gian chạy trình phục vụ\n"
+
+#: nscd/nscd_stat.c:237
+#, c-format
+msgid " %2lus server runtime\n"
+msgstr " %2lus thá»i gian chạy trình phục vụ\n"
+
+#: nscd/nscd_stat.c:239
+#, c-format
+msgid ""
+"%15d current number of threads\n"
+"%15d maximum number of threads\n"
+"%15lu number of times clients had to wait\n"
+"%15s paranoia mode enabled\n"
+"%15lu restart internal\n"
+msgstr ""
+"%15d số mạch hiện thá»i\n"
+"%15d số mạch tối đa\n"
+"%15lu số lần trình khách phải đợi\n"
+"%15s chế độ rất cẩn thận được hiệu lực\n"
+"%15lu khởi chạy lại nội bộ\n"
+
+#: nscd/nscd_stat.c:273
+#, c-format
+msgid ""
+"\n"
+"%s cache:\n"
+"\n"
+"%15s cache is enabled\n"
+"%15s cache is persistent\n"
+"%15s cache is shared\n"
+"%15zu suggested size\n"
+"%15zu total data pool size\n"
+"%15zu used data pool size\n"
+"%15lu seconds time to live for positive entries\n"
+"%15lu seconds time to live for negative entries\n"
+"%15<PRIuMAX> cache hits on positive entries\n"
+"%15<PRIuMAX> cache hits on negative entries\n"
+"%15<PRIuMAX> cache misses on positive entries\n"
+"%15<PRIuMAX> cache misses on negative entries\n"
+"%15lu%% cache hit rate\n"
+"%15zu current number of cached values\n"
+"%15zu maximum number of cached values\n"
+"%15zu maximum chain length searched\n"
+"%15<PRIuMAX> number of delays on rdlock\n"
+"%15<PRIuMAX> number of delays on wrlock\n"
+"%15<PRIuMAX> memory allocations failed\n"
+"%15s check /etc/%s for changes\n"
+msgstr ""
+"\n"
+"Bộ nhớ tạm %s:\n"
+"\n"
+"%15s bộ nhớ tạm được hiệu lực\n"
+"%15s bá»™ nhá»› tạm bá»n bỉ\n"
+"%15s bộ nhớ tạm dùng chung\n"
+"%15zu kích cỡ đã đệ nghị\n"
+"%15zu tổng số kích cỡ dữ liệu gộp\n"
+"%15zu kích cỡ dữ liệu gộp được dùng\n"
+"%15lu giây thá»i gian hoạt Ä‘á»™ng cho mục nhập dÆ°Æ¡ng\n"
+"%15lu giây thá»i gian hoạt Ä‘á»™ng cho mục nhập âm\n"
+"%15<PRIuMAX> lần ghé bộ nhớ tạm cho mục nhập dương\n"
+"%15<PRIuMAX> lần ghé bộ nhớ tạm cho mục nhập âm\n"
+"%15<PRIuMAX> lần trượt bộ nhớ tạm cho mục nhập dương\n"
+"%15<PRIuMAX> lần trượt bộ nhớ tạm cho mục nhập âm\n"
+"%15lu%% tỷ lệ ghé bộ nhớ tạm\n"
+"%15zu số giá trị được nhá»› tạm hiện thá»i\n"
+"%15zu số tối đa giá trị được nhớ tạm\n"
+"%15zu chiá»u dài dây tối Ä‘a được tìm kiếm\n"
+"%15<PRIuMAX> số lần hoãn đối với rdlock\n"
+"%15<PRIuMAX> số lần hoãn đối với wrlock\n"
+"%15<PRIuMAX> lỗi cấp phát bộ nhớ\n"
+"%15s kiểm tra « /etc/%s » để tìm thay đổi\n"
+
+#: nscd/pwdcache.c:440
+#, c-format
+msgid "Haven't found \"%s\" in password cache!"
+msgstr "Không tìm thấy « %s » trong bộ nhớ tạm mật khẩu !"
+
+#: nscd/pwdcache.c:442
+#, c-format
+msgid "Reloading \"%s\" in password cache!"
+msgstr "Äang nạp lại « %s » trong bá»™ nhá»› tạm mật khẩu !"
+
+#: nscd/pwdcache.c:520
+#, c-format
+msgid "Invalid numeric uid \"%s\"!"
+msgstr "UID thuộc số không hợp lệ « %s » !"
+
+#: nscd/selinux.c:156
+#, c-format
+msgid "Failed opening connection to the audit subsystem: %m"
+msgstr "Lỗi mở kết nối đến hệ thống con kiểm tra chặt chẽ: %m"
+
+#: nscd/selinux.c:177
+msgid "Failed to set keep-capabilities"
+msgstr "Lỗi đặt keep-capabilities (giữ các khả năng)"
+
+#: nscd/selinux.c:178 nscd/selinux.c:241
+#, c-format
+msgid "prctl(KEEPCAPS) failed"
+msgstr "prctl(KEEPCAPS) bị lỗi"
+
+#: nscd/selinux.c:192
+msgid "Failed to initialize drop of capabilities"
+msgstr "Lỗi khởi tạo sự bỠcác khả năng"
+
+#: nscd/selinux.c:193
+#, c-format
+msgid "cap_init failed"
+msgstr "cap_init bị lỗi"
+
+#: nscd/selinux.c:214 nscd/selinux.c:231
+msgid "Failed to drop capabilities"
+msgstr "Lỗi bỠcác khả năng"
+
+#: nscd/selinux.c:215 nscd/selinux.c:232
+#, c-format
+msgid "cap_set_proc failed"
+msgstr "cap_set_proc bị lỗi"
+
+#: nscd/selinux.c:240
+msgid "Failed to unset keep-capabilities"
+msgstr "Lỗi hủy đặt keep-capabilities (giữ các khả năng)"
+
+#: nscd/selinux.c:256
+msgid "Failed to determine if kernel supports SELinux"
+msgstr "Lỗi quyết định nếu hạt nhân hỗ trợ SELinux không"
+
+#: nscd/selinux.c:271
+#, c-format
+msgid "Failed to start AVC thread"
+msgstr "Lỗi khởi chạy mạch AVC"
+
+#: nscd/selinux.c:293
+#, c-format
+msgid "Failed to create AVC lock"
+msgstr "Lỗi tạo khoá AVC"
+
+#: nscd/selinux.c:333
+#, c-format
+msgid "Failed to start AVC"
+msgstr "Lỗi khởi chạy AVC"
+
+#: nscd/selinux.c:335
+msgid "Access Vector Cache (AVC) started"
+msgstr "AVC (truy cập vào bộ nhớ tạm véc-tơ) đã được khởi chạy"
+
+#: nscd/selinux.c:356
+msgid "Error getting context of socket peer"
+msgstr "Gặp lỗi lấy ngữ cảnh của đồng đẳng ổ cắm"
+
+#: nscd/selinux.c:361
+msgid "Error getting context of nscd"
+msgstr "Gặp lỗi khi lấy ngữ cảnh của nscd"
+
+#: nscd/selinux.c:367
+msgid "Error getting sid from context"
+msgstr "Gặp lỗi khi lấy sid từ ngữ cảnh"
+
+#: nscd/selinux.c:399
+#, c-format
+msgid ""
+"\n"
+"SELinux AVC Statistics:\n"
+"\n"
+"%15u entry lookups\n"
+"%15u entry hits\n"
+"%15u entry misses\n"
+"%15u entry discards\n"
+"%15u CAV lookups\n"
+"%15u CAV hits\n"
+"%15u CAV probes\n"
+"%15u CAV misses\n"
+msgstr ""
+"\n"
+"Thống kê AVC SELinux:\n"
+"\n"
+"%15u lần tra cứu mục nhập\n"
+"%15u lần ghé mục nhập\n"
+"%15u lần trượt mục nhập\n"
+"%15u lần hủy mục nhập\n"
+"%15u lần tra cứu CAV\n"
+"%15u lần ghé CAV\n"
+"%15u lần thăm dò CAV\n"
+"%15u lần trượt CAV\n"
+
+#: nscd/servicescache.c:390
+#, c-format
+msgid "Haven't found \"%s\" in services cache!"
+msgstr "Không tìm thấy « %s » trong bộ nhớ tạm dịch vụ !"
+
+#: nscd/servicescache.c:392
+#, c-format
+msgid "Reloading \"%s\" in services cache!"
+msgstr "Äang nạp lại « %s » trong bá»™ nhá»› tạm dịch vụ !"
+
+#: nss/getent.c:52
+msgid "database [key ...]"
+msgstr "cơ sở dữ liệu [khoá ...]"
+
+#: nss/getent.c:57
+msgid "Service configuration to be used"
+msgstr "Cấu hình dịch vụ cần dùng"
+
+#: nss/getent.c:62
+msgid ""
+"Get entries from administrative database.\vFor bug reporting instructions, please see:\n"
+"<http://www.gnu.org/software/libc/bugs.html>.\n"
+msgstr ""
+"Lấy mục nhập từ cơ sở dữ liệu quản trị.\n"
+"Äể tìm hÆ°á»›ng dẫn vá» thông báo lá»—i, thăm địa chỉ:\n"
+"<http://www.gnu.org/software/libc/bugs.html>.\n"
+
+#: nss/getent.c:145 nss/getent.c:394
+#, c-format
+msgid "Enumeration not supported on %s\n"
+msgstr "Chức năng đếm không được hỗ trợ trên %s\n"
+
+#: nss/getent.c:782
+#, c-format
+msgid "Unknown database name"
+msgstr "Không rõ tên cơ sở dữ liệu"
+
+#: nss/getent.c:808
+msgid "Supported databases:\n"
+msgstr "Các cơ sở dữ liệu được hỗ trợ :\n"
+
+#: nss/getent.c:868
+#, c-format
+msgid "Unknown database: %s\n"
+msgstr "Không rõ cơ sở dữ liệu : %s\n"
+
+#: nss/makedb.c:60
+msgid "Convert key to lower case"
+msgstr "Chuyển đổi khoá sang chữ thÆ°á»ng"
+
+#: nss/makedb.c:63
+msgid "Do not print messages while building database"
+msgstr "Äừng in thông Ä‘iệp trong khi xây dá»±ng cÆ¡ sở dữ liệu"
+
+#: nss/makedb.c:65
+msgid "Print content of database file, one entry a line"
+msgstr "In nội dung của tập tin cơ sở dữ liệu, một mục nhập trên mỗi dòng"
+
+#: nss/makedb.c:70
+msgid "Create simple DB database from textual input."
+msgstr "Tạo cơ sở dữ liệu DB đơn giản từ dữ liệu nhập vào kiểu văn bản"
+
+#: nss/makedb.c:73
+msgid ""
+"INPUT-FILE OUTPUT-FILE\n"
+"-o OUTPUT-FILE INPUT-FILE\n"
+"-u INPUT-FILE"
+msgstr ""
+"TẬP_TIN_NHẬP TẬP_TIN_XUẤT\n"
+"-o TẬP_TIN_XUẤT TẬP_TIN_NHẬP\n"
+"-u TẬP_TIN_NHẬP"
+
+#: nss/makedb.c:142
+#, c-format
+msgid "No usable database library found."
+msgstr "Không tìm thấy thư viện cơ sở dữ liệu có thể dùng."
+
+#: nss/makedb.c:149
+#, c-format
+msgid "cannot open database file `%s': %s"
+msgstr "không thể mở tập tin cơ sở dữ liệu « %s »: %s"
+
+#: nss/makedb.c:151
+msgid "incorrectly formatted file"
+msgstr "tập tin định dạng sai"
+
+#: nss/makedb.c:331
+msgid "duplicate key"
+msgstr "khoá trùng"
+
+#: nss/makedb.c:337
+#, c-format
+msgid "while writing database file"
+msgstr "trong khi ghi tập tin cơ sở dữ liệu"
+
+#: nss/makedb.c:348
+#, c-format
+msgid "problems while reading `%s'"
+msgstr "gặp vấn Ä‘á» khi Ä‘á»c « %s »"
+
+#: nss/makedb.c:368 nss/makedb.c:385
+#, c-format
+msgid "while reading database"
+msgstr "trong khi Ä‘á»c cÆ¡ sở dữ liệu"
+
+#: posix/getconf.c:945
+#, c-format
+msgid "Usage: %s [-v specification] variable_name [pathname]\n"
+msgstr "Sá»­ dụng: %s [-v đặc_tả] tên_biến [Ä‘Æ°á»ng_dẫn]\n"
+
+#: posix/getconf.c:948
+#, c-format
+msgid " %s -a [pathname]\n"
+msgstr " %s -a [Ä‘Æ°á»ng_dẫn]\n"
+
+#: posix/getconf.c:1067
+#, c-format
+msgid "unknown specification \"%s\""
+msgstr "không rõ đặc tả « %s »"
+
+#: posix/getconf.c:1095
+#, c-format
+msgid "Couldn't execute %s"
+msgstr "Không thể thực hiện %s"
+
+#: posix/getconf.c:1135 posix/getconf.c:1151
+msgid "undefined"
+msgstr "chưa xác định"
+
+#: posix/getconf.c:1173
+#, c-format
+msgid "Unrecognized variable `%s'"
+msgstr "Không nhận ra biến « %s »"
+
+#: posix/getopt.c:571 posix/getopt.c:587
+#, c-format
+msgid "%s: option `%s' is ambiguous\n"
+msgstr "%s: tùy chá»n « %s » là mÆ¡ hồ\n"
+
+#: posix/getopt.c:620 posix/getopt.c:624
+#, c-format
+msgid "%s: option `--%s' doesn't allow an argument\n"
+msgstr "%s: tùy chá»n « --%s » không cho phép đối số\n"
+
+#: posix/getopt.c:633 posix/getopt.c:638
+#, c-format
+msgid "%s: option `%c%s' doesn't allow an argument\n"
+msgstr "%s: tùy chá»n « %c%s » không cho phép đối số\n"
+
+#: posix/getopt.c:681 posix/getopt.c:700 posix/getopt.c:1016
+#: posix/getopt.c:1035
+#, c-format
+msgid "%s: option `%s' requires an argument\n"
+msgstr "%s: tùy chá»n « %s » cần thiết đối số\n"
+
+#: posix/getopt.c:738 posix/getopt.c:741
+#, c-format
+msgid "%s: unrecognized option `--%s'\n"
+msgstr "%s: không nhận diện tùy chá»n « --%s »\n"
+
+#: posix/getopt.c:749 posix/getopt.c:752
+#, c-format
+msgid "%s: unrecognized option `%c%s'\n"
+msgstr "%s: không nhận diện tùy chá»n « %c%s »\n"
+
+#: posix/getopt.c:804 posix/getopt.c:807
+#, c-format
+msgid "%s: illegal option -- %c\n"
+msgstr "%s: tùy chá»n không được phép -- %c\n"
+
+#: posix/getopt.c:813 posix/getopt.c:816
+#, c-format
+msgid "%s: invalid option -- %c\n"
+msgstr "%s: tùy chá»n không hợp lệ -- %c\n"
+
+#: posix/getopt.c:868 posix/getopt.c:884 posix/getopt.c:1088
+#: posix/getopt.c:1106
+#, c-format
+msgid "%s: option requires an argument -- %c\n"
+msgstr "%s: tùy chá»n cần thiết đối số -- %c\n"
+
+#: posix/getopt.c:937 posix/getopt.c:953
+#, c-format
+msgid "%s: option `-W %s' is ambiguous\n"
+msgstr "%s: tùy chá»n « -W %s » là mÆ¡ hồ\n"
+
+#: posix/getopt.c:977 posix/getopt.c:995
+#, c-format
+msgid "%s: option `-W %s' doesn't allow an argument\n"
+msgstr "%s: tùy chá»n « -W %s » không cho phép đối số\n"
+
+#: posix/regcomp.c:135
+msgid "No match"
+msgstr "Không khớp"
+
+#: posix/regcomp.c:138
+msgid "Invalid regular expression"
+msgstr "Biểu thức chính quy không hợp lệ"
+
+#: posix/regcomp.c:141
+msgid "Invalid collation character"
+msgstr "Ký tự đối chiếu không hợp lệ"
+
+#: posix/regcomp.c:144
+msgid "Invalid character class name"
+msgstr "Tên loại ký tự không hợp lệ"
+
+#: posix/regcomp.c:147
+msgid "Trailing backslash"
+msgstr "Có gạch chéo ngược theo sau"
+
+#: posix/regcomp.c:150
+msgid "Invalid back reference"
+msgstr "Tham chiếu ngược không hợp lệ"
+
+#: posix/regcomp.c:153
+msgid "Unmatched [ or [^"
+msgstr "Chưa khớp ký tự « [ » hay « [^ »"
+
+#: posix/regcomp.c:156
+msgid "Unmatched ( or \\("
+msgstr "Chưa khớp ký tự « ( » hay « \\( »"
+
+#: posix/regcomp.c:159
+msgid "Unmatched \\{"
+msgstr "Chưa khớp ký tự « \\{ »"
+
+#: posix/regcomp.c:162
+msgid "Invalid content of \\{\\}"
+msgstr "Nội dụng « \\{\\} » không hợp lệ"
+
+#: posix/regcomp.c:165
+msgid "Invalid range end"
+msgstr "Sai kết thúc phạm vi"
+
+#: posix/regcomp.c:168
+msgid "Memory exhausted"
+msgstr "Cạn bộ nhớ"
+
+#: posix/regcomp.c:171
+msgid "Invalid preceding regular expression"
+msgstr "Biểu thức chính quy đi trước không hợp lệ"
+
+#: posix/regcomp.c:174
+msgid "Premature end of regular expression"
+msgstr "Biểu thức chính quy kết thúc quá sớm"
+
+#: posix/regcomp.c:177
+msgid "Regular expression too big"
+msgstr "Biểu thức chính quy quá lớn"
+
+#: posix/regcomp.c:180
+msgid "Unmatched ) or \\)"
+msgstr "Chưa khớp ký tự « ) » hay « \\) »"
+
+#: posix/regcomp.c:660
+msgid "No previous regular expression"
+msgstr "Không có biểu thức chính quy đi trước"
+
+#: posix/wordexp.c:1798
+msgid "parameter null or not set"
+msgstr "tham số vô giá trị hoặc chưa được đặt"
+
+#: resolv/herror.c:68
+msgid "Resolver Error 0 (no error)"
+msgstr "Lỗi bộ giải quyết 0 (không có lỗi)"
+
+#: resolv/herror.c:69
+msgid "Unknown host"
+msgstr "Máy lạ"
+
+#: resolv/herror.c:70
+msgid "Host name lookup failure"
+msgstr "Lỗi tra cứu tên máy"
+
+#: resolv/herror.c:71
+msgid "Unknown server error"
+msgstr "Gặp lỗi hệ thống không rõ"
+
+#: resolv/herror.c:72
+msgid "No address associated with name"
+msgstr "Không có địa chỉ liên quan đến tên"
+
+#: resolv/herror.c:107
+msgid "Resolver internal error"
+msgstr "Lỗi nội bộ của bộ giải quyết"
+
+#: resolv/herror.c:110
+msgid "Unknown resolver error"
+msgstr "Không rõ lỗi bộ giải quyết"
+
+#: resolv/res_hconf.c:124
+#, c-format
+msgid "%s: line %d: cannot specify more than %d trim domains"
+msgstr "%s: dòng %d: không thể ghi rõ nhiá»u hÆ¡n %d miá»n trim"
+
+#: resolv/res_hconf.c:145
+#, c-format
+msgid "%s: line %d: list delimiter not followed by domain"
+msgstr "%s: dòng %d: dấu tách danh sách không có miá»n theo sau"
+
+#: resolv/res_hconf.c:204
+#, c-format
+msgid "%s: line %d: expected `on' or `off', found `%s'\n"
+msgstr "%s: dòng %d: đợi « on » (bật) hoặc « off » (tắt), còn tìm « %s »\n"
+
+#: resolv/res_hconf.c:247
+#, c-format
+msgid "%s: line %d: bad command `%s'\n"
+msgstr "%s: dòng %d: câu lệnh sau « %s »\n"
+
+#: resolv/res_hconf.c:282
+#, c-format
+msgid "%s: line %d: ignoring trailing garbage `%s'\n"
+msgstr "%s: dòng %d: đang bỠqua rác đi theo « %s »\n"
+
+#: stdio-common/psignal.c:51
+#, c-format
+msgid "%s%sUnknown signal %d\n"
+msgstr "%s%sTín hiệu không rõ %d\n"
+
+#: stdio-common/psignal.c:52
+msgid "Unknown signal"
+msgstr "Tín hiệu không rõ"
+
+#: string/_strerror.c:45 sysdeps/mach/_strerror.c:87
+msgid "Unknown error "
+msgstr "Lỗi không rõ "
+
+#: string/strerror.c:43
+msgid "Unknown error"
+msgstr "Lỗi không rõ"
+
+#: string/strsignal.c:65
+#, c-format
+msgid "Real-time signal %d"
+msgstr "Tín hiệu thá»i gian thá»±c %d"
+
+#: string/strsignal.c:69
+#, c-format
+msgid "Unknown signal %d"
+msgstr "Tín hiệu không rõ %d"
+
+#: sunrpc/auth_unix.c:114
+msgid "authunix_create: out of memory\n"
+msgstr "authunix_create: tràn bộ nhớ\n"
+
+#: sunrpc/auth_unix.c:350
+msgid "auth_unix.c: Fatal marshalling problem"
+msgstr "auth_unix.c: lá»—i nghiêm trá»ng khi sắp đặt vào hàng ngÅ©"
+
+#: sunrpc/clnt_perr.c:118 sunrpc/clnt_perr.c:139
+#, c-format
+msgid "; low version = %lu, high version = %lu"
+msgstr "; phiên bản dưới = %lu, phiên bản trên = %lu"
+
+#: sunrpc/clnt_perr.c:125
+msgid "; why = "
+msgstr "; tại vì = "
+
+#: sunrpc/clnt_perr.c:132
+#, c-format
+msgid "(unknown authentication error - %d)"
+msgstr "(không rõ lỗi xác thực - %d)"
+
+#: sunrpc/clnt_perr.c:172
+msgid "RPC: Success"
+msgstr "RPC: Thành công"
+
+#: sunrpc/clnt_perr.c:175
+msgid "RPC: Can't encode arguments"
+msgstr "RPC: Không thể mã hoá đối số"
+
+#: sunrpc/clnt_perr.c:179
+msgid "RPC: Can't decode result"
+msgstr "RPC: Không thể giải mã kết quả"
+
+#: sunrpc/clnt_perr.c:183
+msgid "RPC: Unable to send"
+msgstr "RPC: Không thể gửi"
+
+#: sunrpc/clnt_perr.c:187
+msgid "RPC: Unable to receive"
+msgstr "RPC: Không thể nhận"
+
+#: sunrpc/clnt_perr.c:191
+msgid "RPC: Timed out"
+msgstr "RPC: Quá hạn"
+
+#: sunrpc/clnt_perr.c:195
+msgid "RPC: Incompatible versions of RPC"
+msgstr "RPC: Các phiên bản RPC không tương thích với nhau"
+
+#: sunrpc/clnt_perr.c:199
+msgid "RPC: Authentication error"
+msgstr "RPC: Lỗi xác thực"
+
+#: sunrpc/clnt_perr.c:203
+msgid "RPC: Program unavailable"
+msgstr "RPC: Chương trình không sẵn sàng"
+
+#: sunrpc/clnt_perr.c:207
+msgid "RPC: Program/version mismatch"
+msgstr "RPC: Sai khớp chương trình và phiên bản"
+
+#: sunrpc/clnt_perr.c:211
+msgid "RPC: Procedure unavailable"
+msgstr "RPC: Thủ tục không sẵn sàng"
+
+#: sunrpc/clnt_perr.c:215
+msgid "RPC: Server can't decode arguments"
+msgstr "RPC: Trình phục vụ không thể giải mã đối số"
+
+#: sunrpc/clnt_perr.c:219
+msgid "RPC: Remote system error"
+msgstr "RPC: Lỗi hệ thống ở xa"
+
+#: sunrpc/clnt_perr.c:223
+msgid "RPC: Unknown host"
+msgstr "RPC: Máy lạ"
+
+#: sunrpc/clnt_perr.c:227
+msgid "RPC: Unknown protocol"
+msgstr "RPC: Không rõ giao thức"
+
+#: sunrpc/clnt_perr.c:231
+msgid "RPC: Port mapper failure"
+msgstr "RPC: Lỗi ánh xạ cổng"
+
+#: sunrpc/clnt_perr.c:235
+msgid "RPC: Program not registered"
+msgstr "RPC: Chưa đăng ký chương trình"
+
+#: sunrpc/clnt_perr.c:239
+msgid "RPC: Failed (unspecified error)"
+msgstr "RPC: Lỗi chưa xác định"
+
+#: sunrpc/clnt_perr.c:280
+msgid "RPC: (unknown error code)"
+msgstr "RPC: (mã lỗi không rõ)"
+
+#: sunrpc/clnt_perr.c:342
+msgid "Authentication OK"
+msgstr "Xác thực được"
+
+#: sunrpc/clnt_perr.c:345
+msgid "Invalid client credential"
+msgstr "Thông tin xác thực trình khách không hợp lệ"
+
+#: sunrpc/clnt_perr.c:349
+msgid "Server rejected credential"
+msgstr "Trình phục vụ đã từ chối thông tin xác thực"
+
+#: sunrpc/clnt_perr.c:353
+msgid "Invalid client verifier"
+msgstr "Äồ thẩm tra trình khách không hợp lệ"
+
+#: sunrpc/clnt_perr.c:357
+msgid "Server rejected verifier"
+msgstr "Trình phục vụ đã từ chối đồ thẩm tra"
+
+#: sunrpc/clnt_perr.c:361
+msgid "Client credential too weak"
+msgstr "Thông tin xác thực của trình khách quá yếu"
+
+#: sunrpc/clnt_perr.c:365
+msgid "Invalid server verifier"
+msgstr "Äồ thẩm tra trình phục vụ không hợp lệ"
+
+#: sunrpc/clnt_perr.c:369
+msgid "Failed (unspecified error)"
+msgstr "Lỗi chưa xác định"
+
+#: sunrpc/clnt_raw.c:117
+msgid "clnt_raw.c: fatal header serialization error"
+msgstr "clnt_raw.c: lá»—i nghiêm trá»ng khi xếp theo thứ tá»±"
+
+#: sunrpc/clnt_tcp.c:131
+msgid "clnttcp_create: out of memory\n"
+msgstr "clnttcp_create: tràn bộ nhớ\n"
+
+#: sunrpc/clnt_udp.c:139
+msgid "clntudp_create: out of memory\n"
+msgstr "clntudp_create: tràn bộ nhớ\n"
+
+#: sunrpc/clnt_unix.c:128
+msgid "clntunix_create: out of memory\n"
+msgstr "clntunix_create: tràn bộ nhớ\n"
+
+#: sunrpc/pm_getmaps.c:83
+msgid "pmap_getmaps.c: rpc problem"
+msgstr "pmap_getmaps.c: lá»—i RPC"
+
+#: sunrpc/pmap_clnt.c:129
+msgid "Cannot register service"
+msgstr "Không thể đăng ký dịch vụ"
+
+#: sunrpc/pmap_rmt.c:248
+msgid "Cannot create socket for broadcast rpc"
+msgstr "Không thể tạo ổ cắm cho RPC quảng bá"
+
+#: sunrpc/pmap_rmt.c:255
+msgid "Cannot set socket option SO_BROADCAST"
+msgstr "Không thể đặt tùy chá»n ổ cắm SO_BROADCAST"
+
+#: sunrpc/pmap_rmt.c:307
+msgid "Cannot send broadcast packet"
+msgstr "Không thể gửi gói tin quảng bá"
+
+#: sunrpc/pmap_rmt.c:332
+msgid "Broadcast poll problem"
+msgstr "Vấn đỠthăm dò quảng bá"
+
+#: sunrpc/pmap_rmt.c:345
+msgid "Cannot receive reply to broadcast"
+msgstr "Không thể nhận đáp ứng quảng bá"
+
+#: sunrpc/rpc_main.c:286
+#, c-format
+msgid "%s: output would overwrite %s\n"
+msgstr "%s: kết xuất sẽ ghi đè lên %s\n"
+
+#: sunrpc/rpc_main.c:293
+#, c-format
+msgid "%s: unable to open %s: %m\n"
+msgstr "%s: không thể mở %s: %m\n"
+
+#: sunrpc/rpc_main.c:305
+#, c-format
+msgid "%s: while writing output %s: %m"
+msgstr "%s: khi ghi kết xuất %s: %m"
+
+#: sunrpc/rpc_main.c:340
+#, c-format
+msgid "cannot find C preprocessor: %s \n"
+msgstr "không tìm thấy bá»™ tiá»n xá»­ lý C: %s\n"
+
+#: sunrpc/rpc_main.c:348
+msgid "cannot find any C preprocessor (cpp)\n"
+msgstr "không tìm thấy bá»™ tiá»n xá»­ lý C (cpp)\n"
+
+#: sunrpc/rpc_main.c:417
+#, c-format
+msgid "%s: C preprocessor failed with signal %d\n"
+msgstr "%s: bá»™ tiá»n xá»­ lý C bị lá»—i vá»›i tín hiệu %d\n"
+
+#: sunrpc/rpc_main.c:420
+#, c-format
+msgid "%s: C preprocessor failed with exit code %d\n"
+msgstr "%s: bá»™ tiá»n xá»­ lý C bị lá»—i vá»›i mã thoát %d\n"
+
+#: sunrpc/rpc_main.c:460
+#, c-format
+msgid "illegal nettype: `%s'\n"
+msgstr "nettype cấm: « %s »\n"
+
+#: sunrpc/rpc_main.c:1122
+#, c-format
+msgid "rpcgen: too many defines\n"
+msgstr "rpcgen: quá nhiá»u lần xác định\n"
+
+#: sunrpc/rpc_main.c:1134
+#, c-format
+msgid "rpcgen: arglist coding error\n"
+msgstr "rpcgen: lỗi mã hoá danh sách đối số\n"
+
+#. TRANS: the file will not be removed; this is an
+#. TRANS: informative message.
+#: sunrpc/rpc_main.c:1167
+#, c-format
+msgid "file `%s' already exists and may be overwritten\n"
+msgstr "tập tin « %s » đã có và có thể được ghi đè\n"
+
+#: sunrpc/rpc_main.c:1212
+#, c-format
+msgid "Cannot specify more than one input file!\n"
+msgstr "Không thể ghi rõ nhiá»u hÆ¡n má»™t tập tin nhập vào !\n"
+
+#: sunrpc/rpc_main.c:1382
+msgid "This implementation doesn't support newstyle or MT-safe code!\n"
+msgstr "Bản thực hiện này không hỗ trợ mã kiểu mới hoặc mã an toàn với MT !\n"
+
+#: sunrpc/rpc_main.c:1391
+#, c-format
+msgid "Cannot use netid flag with inetd flag!\n"
+msgstr "Không thể sư dụng cỠnetid với cỠinetd !\n"
+
+#: sunrpc/rpc_main.c:1403
+msgid "Cannot use netid flag without TIRPC!\n"
+msgstr "Không thể sư dụng cỠnetid khi không có TIRPC !\n"
+
+#: sunrpc/rpc_main.c:1410
+msgid "Cannot use table flags with newstyle!\n"
+msgstr "Không thể sử dụng cỠbảng với mã kiểu mới !\n"
+
+#: sunrpc/rpc_main.c:1429
+#, c-format
+msgid "\"infile\" is required for template generation flags.\n"
+msgstr "« tập_tin_nhập » cần thiết cho cỠtạo mẫu.\n"
+
+#: sunrpc/rpc_main.c:1434
+#, c-format
+msgid "Cannot have more than one file generation flag!\n"
+msgstr "Không cho phép nhiá»u hÆ¡n má»™t cá» tạo tập tin !\n"
+
+#: sunrpc/rpc_main.c:1443
+#, c-format
+msgid "usage: %s infile\n"
+msgstr "sử dụng: %s tập_tin_nhập\n"
+
+#: sunrpc/rpc_main.c:1444
+#, c-format
+msgid "\t%s [-abkCLNTM][-Dname[=value]] [-i size] [-I [-K seconds]] [-Y path] infile\n"
+msgstr "\t%s [-abkCLNTM][-Dname[=giá_trị]] [-i cỡ] [-I [-K giây]] [-Y Ä‘Æ°á»ng_dẫn] tập_tin_nhập\n"
+
+#: sunrpc/rpc_main.c:1446
+#, c-format
+msgid "\t%s [-c | -h | -l | -m | -t | -Sc | -Ss | -Sm] [-o outfile] [infile]\n"
+msgstr "\t%s [-c | -h | -l | -m | -t | -Sc | -Ss | -Sm] [-o tập_tin_xuất] [tập_tin_nhập]\n"
+
+#: sunrpc/rpc_main.c:1448
+#, c-format
+msgid "\t%s [-s nettype]* [-o outfile] [infile]\n"
+msgstr "\t%s [-s nettype]* [-o tập_tin_xuất] [tập_tin_nhập]\n"
+
+#: sunrpc/rpc_main.c:1449
+#, c-format
+msgid "\t%s [-n netid]* [-o outfile] [infile]\n"
+msgstr "\t%s [-n netid]* [-o tập_tin_xuất] [tập_tin_nhập]\n"
+
+#: sunrpc/rpc_scan.c:114
+msgid "constant or identifier expected"
+msgstr "đợi bộ nhận diện hoặc hằng"
+
+#: sunrpc/rpc_scan.c:310
+msgid "illegal character in file: "
+msgstr "ký tự cấm trong tập tin:"
+
+#: sunrpc/rpc_scan.c:349 sunrpc/rpc_scan.c:375
+msgid "unterminated string constant"
+msgstr "hằng chuỗi chưa chấm dứt"
+
+#: sunrpc/rpc_scan.c:381
+msgid "empty char string"
+msgstr "chuỗi ký tự trống"
+
+#: sunrpc/rpc_scan.c:523 sunrpc/rpc_scan.c:533
+msgid "preprocessor error"
+msgstr "lá»—i tiá»n xá»­ lý"
+
+#: sunrpc/rpcinfo.c:237 sunrpc/rpcinfo.c:383
+#, c-format
+msgid "program %lu is not available\n"
+msgstr "chương trình %lu không sẵn sàng\n"
+
+#: sunrpc/rpcinfo.c:264 sunrpc/rpcinfo.c:310 sunrpc/rpcinfo.c:333
+#: sunrpc/rpcinfo.c:407 sunrpc/rpcinfo.c:453 sunrpc/rpcinfo.c:476
+#: sunrpc/rpcinfo.c:510
+#, c-format
+msgid "program %lu version %lu is not available\n"
+msgstr "chương trình %lu phiên bản %lu không sẵn sàng\n"
+
+#: sunrpc/rpcinfo.c:515
+#, c-format
+msgid "program %lu version %lu ready and waiting\n"
+msgstr "chương trình %lu phiên bản %lu sẵn sàng và đợi\n"
+
+#: sunrpc/rpcinfo.c:556 sunrpc/rpcinfo.c:563
+msgid "rpcinfo: can't contact portmapper"
+msgstr "rpcinfo: không thể liên lạc với portmapper"
+
+#: sunrpc/rpcinfo.c:570
+msgid "No remote programs registered.\n"
+msgstr "Không có chương trình ở xa đã đăng ký.\n"
+
+#: sunrpc/rpcinfo.c:574
+msgid " program vers proto port\n"
+msgstr " trình pbản gthức cổng\n"
+
+#: sunrpc/rpcinfo.c:613
+msgid "(unknown)"
+msgstr "(không rõ)"
+
+#: sunrpc/rpcinfo.c:637
+#, c-format
+msgid "rpcinfo: broadcast failed: %s\n"
+msgstr "rpcinfo: lỗi quảng bá %s\n"
+
+#: sunrpc/rpcinfo.c:658
+msgid "Sorry. You are not root\n"
+msgstr "Tiếc là bạn không phải ngÆ°á»i chủ\n"
+
+#: sunrpc/rpcinfo.c:665
+#, c-format
+msgid "rpcinfo: Could not delete registration for prog %s version %s\n"
+msgstr "rpcinfo: Không thể xoá sự đăng ký đối với chương trình %s phiên bản %s\n"
+
+#: sunrpc/rpcinfo.c:674
+msgid "Usage: rpcinfo [ -n portnum ] -u host prognum [ versnum ]\n"
+msgstr "Sử dụng: rpcinfo [ -n số_cổng ] -u máy số_chương_trình [ số_phiên_bản ]\n"
+
+#: sunrpc/rpcinfo.c:676
+msgid " rpcinfo [ -n portnum ] -t host prognum [ versnum ]\n"
+msgstr " rpcinfo [ -n số_cổng ] -t máy số_chương_trình [ số_phiên_bản ]\n"
+
+#: sunrpc/rpcinfo.c:678
+msgid " rpcinfo -p [ host ]\n"
+msgstr " rpcinfo -p [ máy ]\n"
+
+#: sunrpc/rpcinfo.c:679
+msgid " rpcinfo -b prognum versnum\n"
+msgstr " rpcinfo -b số_chương_trình số_phiên_bản\n"
+
+#: sunrpc/rpcinfo.c:680
+msgid " rpcinfo -d prognum versnum\n"
+msgstr " rpcinfo -d số_chương_trình số_phiên_bản\n"
+
+#: sunrpc/rpcinfo.c:695
+#, c-format
+msgid "rpcinfo: %s is unknown service\n"
+msgstr "rpcinfo: %s là dịch vụ không rõ\n"
+
+#: sunrpc/rpcinfo.c:732
+#, c-format
+msgid "rpcinfo: %s is unknown host\n"
+msgstr "rpcinfo: %s là máy không rõ\n"
+
+#: sunrpc/svc_run.c:70
+msgid "svc_run: - out of memory"
+msgstr "svc_run: tràn bộ nhớ"
+
+#: sunrpc/svc_run.c:90
+msgid "svc_run: - poll failed"
+msgstr "svc_run: lỗi thăm dò"
+
+#: sunrpc/svc_simple.c:87
+#, c-format
+msgid "can't reassign procedure number %ld\n"
+msgstr "không thể gán lại thủ tục số %ld\n"
+
+#: sunrpc/svc_simple.c:97
+msgid "couldn't create an rpc server\n"
+msgstr "không thể tạo một trình phục vụ RPC\n"
+
+#: sunrpc/svc_simple.c:105
+#, c-format
+msgid "couldn't register prog %ld vers %ld\n"
+msgstr "không thể đăng ký chương trình %ld phiên bản %ld\n"
+
+#: sunrpc/svc_simple.c:113
+msgid "registerrpc: out of memory\n"
+msgstr "registerrpc: tràn bộ nhớ\n"
+
+#: sunrpc/svc_simple.c:173
+#, c-format
+msgid "trouble replying to prog %d\n"
+msgstr "gặp khó đáp ứng chương trình %d\n"
+
+#: sunrpc/svc_simple.c:182
+#, c-format
+msgid "never registered prog %d\n"
+msgstr "chưa bao giỠđăng ký chương trình %d\n"
+
+#: sunrpc/svc_tcp.c:155
+msgid "svc_tcp.c - tcp socket creation problem"
+msgstr "svc_tcp.c — vấn đỠtạo ổ cắm TCP"
+
+#: sunrpc/svc_tcp.c:170
+msgid "svc_tcp.c - cannot getsockname or listen"
+msgstr "svc_tcp.c — không thể getsockname (lấy tên ổ cắm) hoặc lắng nghe"
+
+#: sunrpc/svc_tcp.c:179
+msgid "svctcp_create: out of memory\n"
+msgstr "svctcp_create: tràn bộ nhớ\n"
+
+#: sunrpc/svc_tcp.c:218
+msgid "svc_tcp: makefd_xprt: out of memory\n"
+msgstr "svc_tcp: makefd_xprt: tràn bộ nhớ\n"
+
+#: sunrpc/svc_udp.c:128
+msgid "svcudp_create: socket creation problem"
+msgstr "svcudp_create: vấn đỠtạo ổ cắm"
+
+#: sunrpc/svc_udp.c:142
+msgid "svcudp_create - cannot getsockname"
+msgstr "svcudp_create — không thể getsockname (lấy tên ổ cắm)"
+
+#: sunrpc/svc_udp.c:152
+msgid "svcudp_create: out of memory\n"
+msgstr "svcudp_create: tràn bộ nhớ\n"
+
+#: sunrpc/svc_udp.c:174
+msgid "svcudp_create: xp_pad is too small for IP_PKTINFO\n"
+msgstr "svcudp_create: xp_pad quá nhỠcho IP_PKTINFO\n"
+
+#: sunrpc/svc_udp.c:474
+msgid "enablecache: cache already enabled"
+msgstr "enablecache: bộ nhớ tạm đã được hiệu lực"
+
+#: sunrpc/svc_udp.c:480
+msgid "enablecache: could not allocate cache"
+msgstr "enablecache: không thể cấp phát bộ nhớ tạm"
+
+#: sunrpc/svc_udp.c:489
+msgid "enablecache: could not allocate cache data"
+msgstr "enablecache: không thể cấp phát dữ liệu của bộ nhớ tạm"
+
+#: sunrpc/svc_udp.c:497
+msgid "enablecache: could not allocate cache fifo"
+msgstr "enablecache: không thể cấp phát FIFO (vào trước, ra trước) của bộ nhớ tạm"
+
+#: sunrpc/svc_udp.c:532
+msgid "cache_set: victim not found"
+msgstr "cache_set: không tìm thấy victim"
+
+#: sunrpc/svc_udp.c:543
+msgid "cache_set: victim alloc failed"
+msgstr "cache_set: lỗi cấp phát victim"
+
+#: sunrpc/svc_udp.c:550
+msgid "cache_set: could not allocate new rpc_buffer"
+msgstr "cache_set: không thể cấp phát bộ đệm RPC (rpc_buffer) mới"
+
+#: sunrpc/svc_unix.c:150
+msgid "svc_unix.c - AF_UNIX socket creation problem"
+msgstr "svc_unix.c — vấn đỠtạo ổ cắm AF_UNIX"
+
+#: sunrpc/svc_unix.c:166
+msgid "svc_unix.c - cannot getsockname or listen"
+msgstr "svc_unix.c — không thể getsockname (lấy tên ổ cắm) hoặc lắng nghe"
+
+#: sunrpc/svc_unix.c:176
+msgid "svcunix_create: out of memory\n"
+msgstr "svcunix_create: tràn bộ nhớ\n"
+
+#: sunrpc/svc_unix.c:215
+msgid "svc_unix: makefd_xprt: out of memory\n"
+msgstr "svc_unix: makefd_xprt: tràn bộ nhớ\n"
+
+#: sunrpc/xdr.c:566
+msgid "xdr_bytes: out of memory\n"
+msgstr "xdr_bytes: tràn bộ nhớ\n"
+
+#: sunrpc/xdr.c:718
+msgid "xdr_string: out of memory\n"
+msgstr "xdr_string: tràn bộ nhớ\n"
+
+#: sunrpc/xdr_array.c:106
+msgid "xdr_array: out of memory\n"
+msgstr "xdr_array: tràn bộ nhớ\n"
+
+#: sunrpc/xdr_rec.c:156
+msgid "xdrrec_create: out of memory\n"
+msgstr "xdrrec_create: tràn bộ nhớ\n"
+
+#: sunrpc/xdr_ref.c:86
+msgid "xdr_reference: out of memory\n"
+msgstr "xdr_reference: tràn bộ nhớ\n"
+
+#: sysdeps/generic/siglist.h:29 sysdeps/unix/siglist.c:27
+msgid "Hangup"
+msgstr "Ngừng nói"
+
+#: sysdeps/generic/siglist.h:30 sysdeps/unix/siglist.c:28
+msgid "Interrupt"
+msgstr "Ngắt"
+
+#: sysdeps/generic/siglist.h:31 sysdeps/unix/siglist.c:29
+msgid "Quit"
+msgstr "Thoát"
+
+#: sysdeps/generic/siglist.h:32 sysdeps/unix/siglist.c:30
+msgid "Illegal instruction"
+msgstr "Câu lệnh bị cấm"
+
+#: sysdeps/generic/siglist.h:33 sysdeps/unix/siglist.c:31
+msgid "Trace/breakpoint trap"
+msgstr "Bẫy vết/điểm ngắt"
+
+#: sysdeps/generic/siglist.h:34
+msgid "Aborted"
+msgstr "Bị hủy bá»"
+
+#: sysdeps/generic/siglist.h:35 sysdeps/unix/siglist.c:34
+msgid "Floating point exception"
+msgstr "Ngoại lệ điểm phù động"
+
+#: sysdeps/generic/siglist.h:36 sysdeps/unix/siglist.c:35
+msgid "Killed"
+msgstr "Bị buộc kết thúc"
+
+#: sysdeps/generic/siglist.h:37 sysdeps/unix/siglist.c:36
+msgid "Bus error"
+msgstr "Lỗi mạch nối"
+
+#: sysdeps/generic/siglist.h:38 sysdeps/unix/siglist.c:37
+msgid "Segmentation fault"
+msgstr "Lỗi phân đoạn"
+
+#. TRANS Broken pipe; there is no process reading from the other end of a pipe.
+#. TRANS Every library function that returns this error code also generates a
+#. TRANS @code{SIGPIPE} signal; this signal terminates the program if not handled
+#. TRANS or blocked. Thus, your program will never actually see @code{EPIPE}
+#. TRANS unless it has handled or blocked @code{SIGPIPE}.
+#: sysdeps/generic/siglist.h:39 sysdeps/gnu/errlist.c:359
+#: sysdeps/unix/siglist.c:39
+msgid "Broken pipe"
+msgstr "á»ng dẫn bị ngắt"
+
+#: sysdeps/generic/siglist.h:40 sysdeps/unix/siglist.c:40
+msgid "Alarm clock"
+msgstr "Äồng hồ báo Ä‘á»™ng"
+
+#: sysdeps/generic/siglist.h:41 sysdeps/unix/siglist.c:41
+msgid "Terminated"
+msgstr "Bị kết thúc"
+
+#: sysdeps/generic/siglist.h:42 sysdeps/unix/siglist.c:42
+msgid "Urgent I/O condition"
+msgstr "Tình trạng V/R khẩn cấp"
+
+#: sysdeps/generic/siglist.h:43 sysdeps/unix/siglist.c:43
+msgid "Stopped (signal)"
+msgstr "Bị dừng (tín hiệu)"
+
+#: sysdeps/generic/siglist.h:44 sysdeps/unix/siglist.c:44
+msgid "Stopped"
+msgstr "Bị dừng"
+
+#: sysdeps/generic/siglist.h:45 sysdeps/unix/siglist.c:45
+msgid "Continued"
+msgstr "Äã tiếp tục"
+
+#: sysdeps/generic/siglist.h:46 sysdeps/unix/siglist.c:46
+msgid "Child exited"
+msgstr "Tiến trình con đã thoát"
+
+#: sysdeps/generic/siglist.h:47 sysdeps/unix/siglist.c:47
+msgid "Stopped (tty input)"
+msgstr "Bị dừng (dữ liệu nhập tty)"
+
+#: sysdeps/generic/siglist.h:48 sysdeps/unix/siglist.c:48
+msgid "Stopped (tty output)"
+msgstr "Bị dừng (kết xuất tty)"
+
+#: sysdeps/generic/siglist.h:49 sysdeps/unix/siglist.c:49
+msgid "I/O possible"
+msgstr "V/R có thể"
+
+#: sysdeps/generic/siglist.h:50 sysdeps/unix/siglist.c:50
+msgid "CPU time limit exceeded"
+msgstr "Vượt quá giá»›i hạn thá»i gian CPU"
+
+#: sysdeps/generic/siglist.h:51 sysdeps/unix/siglist.c:51
+msgid "File size limit exceeded"
+msgstr "Vượt quá giới hạn kích cỡ tập tin"
+
+#: sysdeps/generic/siglist.h:52 sysdeps/unix/siglist.c:52
+msgid "Virtual timer expired"
+msgstr "Bá»™ đếm thá»i gian ảo đã quá hạn"
+
+#: sysdeps/generic/siglist.h:53 sysdeps/unix/siglist.c:53
+msgid "Profiling timer expired"
+msgstr "Bá»™ đếm thá»i gian Ä‘o hiệu năng sá»­ dụng đã quá hạn"
+
+#: sysdeps/generic/siglist.h:54 sysdeps/unix/siglist.c:54
+msgid "Window changed"
+msgstr "Cửa sổ đã thay đổi"
+
+#: sysdeps/generic/siglist.h:55 sysdeps/unix/siglist.c:56
+msgid "User defined signal 1"
+msgstr "Tín hiệu do ngÆ°á»i dùng xác định 1"
+
+#: sysdeps/generic/siglist.h:56 sysdeps/unix/siglist.c:57
+msgid "User defined signal 2"
+msgstr "Tín hiệu do ngÆ°á»i dùng xác định 2"
+
+#: sysdeps/generic/siglist.h:60 sysdeps/unix/siglist.c:33
+msgid "EMT trap"
+msgstr "Bẫy EMT"
+
+#: sysdeps/generic/siglist.h:63 sysdeps/unix/siglist.c:38
+msgid "Bad system call"
+msgstr "Cuá»™c gá»i hệ thống sai"
+
+#: sysdeps/generic/siglist.h:66
+msgid "Stack fault"
+msgstr "Lỗi đống"
+
+#: sysdeps/generic/siglist.h:69
+msgid "Information request"
+msgstr "Yêu cầu thông tin"
+
+#: sysdeps/generic/siglist.h:71
+msgid "Power failure"
+msgstr "Bị cúp điện đột ngột"
+
+#: sysdeps/generic/siglist.h:74 sysdeps/unix/siglist.c:55
+msgid "Resource lost"
+msgstr "Tài nguyên bị mất"
+
+#. TRANS Operation not permitted; only the owner of the file (or other resource)
+#. TRANS or processes with special privileges can perform the operation.
+#: sysdeps/gnu/errlist.c:25
+msgid "Operation not permitted"
+msgstr "Thao tác không được phép"
+
+#. TRANS No process matches the specified process ID.
+#: sysdeps/gnu/errlist.c:45
+msgid "No such process"
+msgstr "Không có tiến trình như vậy"
+
+#. TRANS Interrupted function call; an asynchronous signal occurred and prevented
+#. TRANS completion of the call. When this happens, you should try the call
+#. TRANS again.
+#. TRANS
+#. TRANS You can choose to have functions resume after a signal that is handled,
+#. TRANS rather than failing with @code{EINTR}; see @ref{Interrupted
+#. TRANS Primitives}.
+#: sysdeps/gnu/errlist.c:60
+msgid "Interrupted system call"
+msgstr "Cuá»™c gá»i hệ thống bị gián Ä‘oạn"
+
+#. TRANS Input/output error; usually used for physical read or write errors.
+#: sysdeps/gnu/errlist.c:69
+msgid "Input/output error"
+msgstr "Lỗi vào/ra"
+
+#. TRANS No such device or address. The system tried to use the device
+#. TRANS represented by a file you specified, and it couldn't find the device.
+#. TRANS This can mean that the device file was installed incorrectly, or that
+#. TRANS the physical device is missing or not correctly attached to the
+#. TRANS computer.
+#: sysdeps/gnu/errlist.c:82
+msgid "No such device or address"
+msgstr "Không có thiết bị hoặc địa chỉ như vậy"
+
+#. TRANS Argument list too long; used when the arguments passed to a new program
+#. TRANS being executed with one of the @code{exec} functions (@pxref{Executing a
+#. TRANS File}) occupy too much memory space. This condition never arises in the
+#. TRANS GNU system.
+#: sysdeps/gnu/errlist.c:94
+msgid "Argument list too long"
+msgstr "Danh sách đối số quá dài"
+
+#. TRANS Invalid executable file format. This condition is detected by the
+#. TRANS @code{exec} functions; see @ref{Executing a File}.
+#: sysdeps/gnu/errlist.c:104
+msgid "Exec format error"
+msgstr "Lỗi định dạng thực hiện"
+
+#. TRANS Bad file descriptor; for example, I/O on a descriptor that has been
+#. TRANS closed or reading from a descriptor open only for writing (or vice
+#. TRANS versa).
+#: sysdeps/gnu/errlist.c:115
+msgid "Bad file descriptor"
+msgstr "Bộ mô tả tập tin sai"
+
+#. TRANS There are no child processes. This error happens on operations that are
+#. TRANS supposed to manipulate child processes, when there aren't any processes
+#. TRANS to manipulate.
+#: sysdeps/gnu/errlist.c:126
+msgid "No child processes"
+msgstr "Không có tiến trình con"
+
+#. TRANS Deadlock avoided; allocating a system resource would have resulted in a
+#. TRANS deadlock situation. The system does not guarantee that it will notice
+#. TRANS all such situations. This error means you got lucky and the system
+#. TRANS noticed; it might just hang. @xref{File Locks}, for an example.
+#: sysdeps/gnu/errlist.c:138
+msgid "Resource deadlock avoided"
+msgstr "Tránh tài nguyên bế tắc"
+
+#. TRANS No memory available. The system cannot allocate more virtual memory
+#. TRANS because its capacity is full.
+#: sysdeps/gnu/errlist.c:148
+msgid "Cannot allocate memory"
+msgstr "Không thể cấp phát bộ nhớ"
+
+#. TRANS Bad address; an invalid pointer was detected.
+#. TRANS In the GNU system, this error never happens; you get a signal instead.
+#: sysdeps/gnu/errlist.c:167
+msgid "Bad address"
+msgstr "Äịa chỉ sai"
+
+#. TRANS A file that isn't a block special file was given in a situation that
+#. TRANS requires one. For example, trying to mount an ordinary file as a file
+#. TRANS system in Unix gives this error.
+#: sysdeps/gnu/errlist.c:178
+msgid "Block device required"
+msgstr "Cần có thiết bị khối"
+
+#. TRANS Resource busy; a system resource that can't be shared is already in use.
+#. TRANS For example, if you try to delete a file that is the root of a currently
+#. TRANS mounted filesystem, you get this error.
+#: sysdeps/gnu/errlist.c:189
+msgid "Device or resource busy"
+msgstr "Thiết bị hoặc tài nguyên đang bận"
+
+#. TRANS File exists; an existing file was specified in a context where it only
+#. TRANS makes sense to specify a new file.
+#: sysdeps/gnu/errlist.c:199
+msgid "File exists"
+msgstr "Tập tin đã có"
+
+#. TRANS An attempt to make an improper link across file systems was detected.
+#. TRANS This happens not only when you use @code{link} (@pxref{Hard Links}) but
+#. TRANS also when you rename a file with @code{rename} (@pxref{Renaming Files}).
+#: sysdeps/gnu/errlist.c:210
+msgid "Invalid cross-device link"
+msgstr "Liên kết thiết bị chéo không hợp lệ"
+
+#. TRANS The wrong type of device was given to a function that expects a
+#. TRANS particular sort of device.
+#: sysdeps/gnu/errlist.c:220
+msgid "No such device"
+msgstr "Không có thiết bị như vậy"
+
+#. TRANS A file that isn't a directory was specified when a directory is required.
+#: sysdeps/gnu/errlist.c:229
+msgid "Not a directory"
+msgstr "Không phải là một thư mục"
+
+#. TRANS File is a directory; you cannot open a directory for writing,
+#. TRANS or create or remove hard links to it.
+#: sysdeps/gnu/errlist.c:239
+msgid "Is a directory"
+msgstr "Là một thư mục"
+
+#. TRANS Invalid argument. This is used to indicate various kinds of problems
+#. TRANS with passing the wrong argument to a library function.
+#: sysdeps/gnu/errlist.c:249
+msgid "Invalid argument"
+msgstr "Äối số không hợp lệ"
+
+#. TRANS The current process has too many files open and can't open any more.
+#. TRANS Duplicate descriptors do count toward this limit.
+#. TRANS
+#. TRANS In BSD and GNU, the number of open files is controlled by a resource
+#. TRANS limit that can usually be increased. If you get this error, you might
+#. TRANS want to increase the @code{RLIMIT_NOFILE} limit or make it unlimited;
+#. TRANS @pxref{Limits on Resources}.
+#: sysdeps/gnu/errlist.c:264
+msgid "Too many open files"
+msgstr "Quá nhiá»u tập tin còn mở"
+
+#. TRANS There are too many distinct file openings in the entire system. Note
+#. TRANS that any number of linked channels count as just one file opening; see
+#. TRANS @ref{Linked Channels}. This error never occurs in the GNU system.
+#: sysdeps/gnu/errlist.c:275
+msgid "Too many open files in system"
+msgstr "Quá nhiá»u tập tin còn mở trong hệ thống"
+
+#. TRANS Inappropriate I/O control operation, such as trying to set terminal
+#. TRANS modes on an ordinary file.
+#: sysdeps/gnu/errlist.c:285
+msgid "Inappropriate ioctl for device"
+msgstr "ioctl không thích hợp với thiết bị"
+
+#. TRANS An attempt to execute a file that is currently open for writing, or
+#. TRANS write to a file that is currently being executed. Often using a
+#. TRANS debugger to run a program is considered having it open for writing and
+#. TRANS will cause this error. (The name stands for ``text file busy''.) This
+#. TRANS is not an error in the GNU system; the text is copied as necessary.
+#: sysdeps/gnu/errlist.c:298
+msgid "Text file busy"
+msgstr "Tập tin văn bản đang bận"
+
+#. TRANS File too big; the size of a file would be larger than allowed by the system.
+#: sysdeps/gnu/errlist.c:307
+msgid "File too large"
+msgstr "Tập tin quá lớn"
+
+#. TRANS No space left on device; write operation on a file failed because the
+#. TRANS disk is full.
+#: sysdeps/gnu/errlist.c:317
+msgid "No space left on device"
+msgstr "Không có sức chứa còn rảnh trên thiết bị"
+
+#. TRANS Invalid seek operation (such as on a pipe).
+#: sysdeps/gnu/errlist.c:326
+msgid "Illegal seek"
+msgstr "Tìm nơi cấm"
+
+#. TRANS An attempt was made to modify something on a read-only file system.
+#: sysdeps/gnu/errlist.c:335
+msgid "Read-only file system"
+msgstr "Hệ thống tập tin chỉ Ä‘á»c"
+
+#. TRANS Too many links; the link count of a single file would become too large.
+#. TRANS @code{rename} can cause this error if the file being renamed already has
+#. TRANS as many links as it can take (@pxref{Renaming Files}).
+#: sysdeps/gnu/errlist.c:346
+msgid "Too many links"
+msgstr "Quá nhiá»u liên kết"
+
+#. TRANS Domain error; used by mathematical functions when an argument value does
+#. TRANS not fall into the domain over which the function is defined.
+#: sysdeps/gnu/errlist.c:369
+msgid "Numerical argument out of domain"
+msgstr "Äối số thuá»™c số ở ngoại miá»n"
+
+#. TRANS Range error; used by mathematical functions when the result value is
+#. TRANS not representable because of overflow or underflow.
+#: sysdeps/gnu/errlist.c:379
+msgid "Numerical result out of range"
+msgstr "Kết quả thuộc số ở ngoại phạm vi"
+
+#. TRANS Resource temporarily unavailable; the call might work if you try again
+#. TRANS later. The macro @code{EWOULDBLOCK} is another name for @code{EAGAIN};
+#. TRANS they are always the same in the GNU C library.
+#. TRANS
+#. TRANS This error can happen in a few different situations:
+#. TRANS
+#. TRANS @itemize @bullet
+#. TRANS @item
+#. TRANS An operation that would block was attempted on an object that has
+#. TRANS non-blocking mode selected. Trying the same operation again will block
+#. TRANS until some external condition makes it possible to read, write, or
+#. TRANS connect (whatever the operation). You can use @code{select} to find out
+#. TRANS when the operation will be possible; @pxref{Waiting for I/O}.
+#. TRANS
+#. TRANS @strong{Portability Note:} In many older Unix systems, this condition
+#. TRANS was indicated by @code{EWOULDBLOCK}, which was a distinct error code
+#. TRANS different from @code{EAGAIN}. To make your program portable, you should
+#. TRANS check for both codes and treat them the same.
+#. TRANS
+#. TRANS @item
+#. TRANS A temporary resource shortage made an operation impossible. @code{fork}
+#. TRANS can return this error. It indicates that the shortage is expected to
+#. TRANS pass, so your program can try the call again later and it may succeed.
+#. TRANS It is probably a good idea to delay for a few seconds before trying it
+#. TRANS again, to allow time for other processes to release scarce resources.
+#. TRANS Such shortages are usually fairly serious and affect the whole system,
+#. TRANS so usually an interactive program should report the error to the user
+#. TRANS and return to its command loop.
+#. TRANS @end itemize
+#: sysdeps/gnu/errlist.c:416
+msgid "Resource temporarily unavailable"
+msgstr "Tài nguyên tạm thá»i không sẵn sàng"
+
+#. TRANS In the GNU C library, this is another name for @code{EAGAIN} (above).
+#. TRANS The values are always the same, on every operating system.
+#. TRANS
+#. TRANS C libraries in many older Unix systems have @code{EWOULDBLOCK} as a
+#. TRANS separate error code.
+#: sysdeps/gnu/errlist.c:429
+msgid "Operation would block"
+msgstr "Thao tác sẽ chặn"
+
+#. TRANS An operation that cannot complete immediately was initiated on an object
+#. TRANS that has non-blocking mode selected. Some functions that must always
+#. TRANS block (such as @code{connect}; @pxref{Connecting}) never return
+#. TRANS @code{EAGAIN}. Instead, they return @code{EINPROGRESS} to indicate that
+#. TRANS the operation has begun and will take some time. Attempts to manipulate
+#. TRANS the object before the call completes return @code{EALREADY}. You can
+#. TRANS use the @code{select} function to find out when the pending operation
+#. TRANS has completed; @pxref{Waiting for I/O}.
+#: sysdeps/gnu/errlist.c:445
+msgid "Operation now in progress"
+msgstr "Thao tác đang chạy"
+
+#. TRANS An operation is already in progress on an object that has non-blocking
+#. TRANS mode selected.
+#: sysdeps/gnu/errlist.c:455
+msgid "Operation already in progress"
+msgstr "Thao tác đã khởi chạy"
+
+#. TRANS A file that isn't a socket was specified when a socket is required.
+#: sysdeps/gnu/errlist.c:464
+msgid "Socket operation on non-socket"
+msgstr "Thao tác kiểu ổ cắm trên cái không phải ổ cắm"
+
+#. TRANS The size of a message sent on a socket was larger than the supported
+#. TRANS maximum size.
+#: sysdeps/gnu/errlist.c:474
+msgid "Message too long"
+msgstr "Thông điệp quá dài"
+
+#. TRANS The socket type does not support the requested communications protocol.
+#: sysdeps/gnu/errlist.c:483
+msgid "Protocol wrong type for socket"
+msgstr "Giao thức kiểu không đúng cho ổ cắm"
+
+#. TRANS You specified a socket option that doesn't make sense for the
+#. TRANS particular protocol being used by the socket. @xref{Socket Options}.
+#: sysdeps/gnu/errlist.c:493
+msgid "Protocol not available"
+msgstr "Giao thức không sẵn sàng"
+
+#. TRANS The socket domain does not support the requested communications protocol
+#. TRANS (perhaps because the requested protocol is completely invalid).
+#. TRANS @xref{Creating a Socket}.
+#: sysdeps/gnu/errlist.c:504
+msgid "Protocol not supported"
+msgstr "Giao thức không được hỗ trợ"
+
+#. TRANS The socket type is not supported.
+#: sysdeps/gnu/errlist.c:513
+msgid "Socket type not supported"
+msgstr "Kiểu ổ cắm không được hỗ trợ"
+
+#. TRANS The operation you requested is not supported. Some socket functions
+#. TRANS don't make sense for all types of sockets, and others may not be
+#. TRANS implemented for all communications protocols. In the GNU system, this
+#. TRANS error can happen for many calls when the object does not support the
+#. TRANS particular operation; it is a generic indication that the server knows
+#. TRANS nothing to do for that call.
+#: sysdeps/gnu/errlist.c:527
+msgid "Operation not supported"
+msgstr "Thao tác không được hỗ trợ"
+
+#. TRANS The socket communications protocol family you requested is not supported.
+#: sysdeps/gnu/errlist.c:536
+msgid "Protocol family not supported"
+msgstr "Nhóm giao thức không được hỗ trợ"
+
+#. TRANS The address family specified for a socket is not supported; it is
+#. TRANS inconsistent with the protocol being used on the socket. @xref{Sockets}.
+#: sysdeps/gnu/errlist.c:546
+msgid "Address family not supported by protocol"
+msgstr "Nhóm địa chỉ không được giao thức hỗ trợ"
+
+#. TRANS The requested socket address is already in use. @xref{Socket Addresses}.
+#: sysdeps/gnu/errlist.c:555
+msgid "Address already in use"
+msgstr "Äịa chỉ Ä‘ang được dùng"
+
+#. TRANS The requested socket address is not available; for example, you tried
+#. TRANS to give a socket a name that doesn't match the local host name.
+#. TRANS @xref{Socket Addresses}.
+#: sysdeps/gnu/errlist.c:566
+msgid "Cannot assign requested address"
+msgstr "Không thể gán địa chỉ đã yêu cầu"
+
+#. TRANS A socket operation failed because the network was down.
+#: sysdeps/gnu/errlist.c:575
+msgid "Network is down"
+msgstr "Mạng không chạy"
+
+#. TRANS A socket operation failed because the subnet containing the remote host
+#. TRANS was unreachable.
+#: sysdeps/gnu/errlist.c:585
+msgid "Network is unreachable"
+msgstr "Không thể tới mạng"
+
+#. TRANS A network connection was reset because the remote host crashed.
+#: sysdeps/gnu/errlist.c:594
+msgid "Network dropped connection on reset"
+msgstr "Mạng đã bỠkết nối khi đặt lại"
+
+#. TRANS A network connection was aborted locally.
+#: sysdeps/gnu/errlist.c:603
+msgid "Software caused connection abort"
+msgstr "Phần má»m đã gây ra kết nối hủy bá»"
+
+#. TRANS A network connection was closed for reasons outside the control of the
+#. TRANS local host, such as by the remote machine rebooting or an unrecoverable
+#. TRANS protocol violation.
+#: sysdeps/gnu/errlist.c:614
+msgid "Connection reset by peer"
+msgstr "Kết nối bị đặt lại bởi ngang hàng"
+
+#. TRANS The kernel's buffers for I/O operations are all in use. In GNU, this
+#. TRANS error is always synonymous with @code{ENOMEM}; you may get one or the
+#. TRANS other from network operations.
+#: sysdeps/gnu/errlist.c:625
+msgid "No buffer space available"
+msgstr "Không có vùng đệm sẵn sàng"
+
+#. TRANS You tried to connect a socket that is already connected.
+#. TRANS @xref{Connecting}.
+#: sysdeps/gnu/errlist.c:635
+msgid "Transport endpoint is already connected"
+msgstr "Äiểm cuối truyá»n đã được kết nối"
+
+#. TRANS The socket is not connected to anything. You get this error when you
+#. TRANS try to transmit data over a socket, without first specifying a
+#. TRANS destination for the data. For a connectionless socket (for datagram
+#. TRANS protocols, such as UDP), you get @code{EDESTADDRREQ} instead.
+#: sysdeps/gnu/errlist.c:647
+msgid "Transport endpoint is not connected"
+msgstr "Äiểm cuối truyá»n chÆ°a kết nối"
+
+#. TRANS No default destination address was set for the socket. You get this
+#. TRANS error when you try to transmit data over a connectionless socket,
+#. TRANS without first specifying a destination for the data with @code{connect}.
+#: sysdeps/gnu/errlist.c:658
+msgid "Destination address required"
+msgstr "Cần thiết địa chỉ đích"
+
+#. TRANS The socket has already been shut down.
+#: sysdeps/gnu/errlist.c:667
+msgid "Cannot send after transport endpoint shutdown"
+msgstr "Không thể gá»­i sau khi tắt Ä‘iểm cuối truyá»n"
+
+#. TRANS ???
+#: sysdeps/gnu/errlist.c:676
+msgid "Too many references: cannot splice"
+msgstr "Quá nhiá»u tham chiếu : không thể nối bện"
+
+#. TRANS A socket operation with a specified timeout received no response during
+#. TRANS the timeout period.
+#: sysdeps/gnu/errlist.c:686
+msgid "Connection timed out"
+msgstr "Kết nối đã quá hạn"
+
+#. TRANS A remote host refused to allow the network connection (typically because
+#. TRANS it is not running the requested service).
+#: sysdeps/gnu/errlist.c:696
+msgid "Connection refused"
+msgstr "Kết nối bị từ chối"
+
+#. TRANS Too many levels of symbolic links were encountered in looking up a file name.
+#. TRANS This often indicates a cycle of symbolic links.
+#: sysdeps/gnu/errlist.c:706
+msgid "Too many levels of symbolic links"
+msgstr "Quá nhiá»u cấp liên kết tượng trÆ°ng"
+
+#. TRANS Filename too long (longer than @code{PATH_MAX}; @pxref{Limits for
+#. TRANS Files}) or host name too long (in @code{gethostname} or
+#. TRANS @code{sethostname}; @pxref{Host Identification}).
+#: sysdeps/gnu/errlist.c:717
+msgid "File name too long"
+msgstr "Tên tập tin quá dài"
+
+#. TRANS The remote host for a requested network connection is down.
+#: sysdeps/gnu/errlist.c:726
+msgid "Host is down"
+msgstr "Máy không chạy"
+
+#. TRANS The remote host for a requested network connection is not reachable.
+#: sysdeps/gnu/errlist.c:735
+msgid "No route to host"
+msgstr "Không có Ä‘Æ°á»ng dẫn đến máy"
+
+#. TRANS Directory not empty, where an empty directory was expected. Typically,
+#. TRANS this error occurs when you are trying to delete a directory.
+#: sysdeps/gnu/errlist.c:745
+msgid "Directory not empty"
+msgstr "Thư mục không rỗng"
+
+#. TRANS This means that the per-user limit on new process would be exceeded by
+#. TRANS an attempted @code{fork}. @xref{Limits on Resources}, for details on
+#. TRANS the @code{RLIMIT_NPROC} limit.
+#: sysdeps/gnu/errlist.c:756
+msgid "Too many processes"
+msgstr "Quá nhiá»u tiến trình"
+
+#. TRANS The file quota system is confused because there are too many users.
+#. TRANS @c This can probably happen in a GNU system when using NFS.
+#: sysdeps/gnu/errlist.c:766
+msgid "Too many users"
+msgstr "Quá nhiá»u ngÆ°á»i dùng"
+
+#. TRANS The user's disk quota was exceeded.
+#: sysdeps/gnu/errlist.c:775
+msgid "Disk quota exceeded"
+msgstr "Vượt quá chỉ tiêu đĩa"
+
+#. TRANS Stale NFS file handle. This indicates an internal confusion in the NFS
+#. TRANS system which is due to file system rearrangements on the server host.
+#. TRANS Repairing this condition usually requires unmounting and remounting
+#. TRANS the NFS file system on the local host.
+#: sysdeps/gnu/errlist.c:787
+msgid "Stale NFS file handle"
+msgstr "Bộ xử lý tập tin cũ"
+
+#. TRANS An attempt was made to NFS-mount a remote file system with a file name that
+#. TRANS already specifies an NFS-mounted file.
+#. TRANS (This is an error on some operating systems, but we expect it to work
+#. TRANS properly on the GNU system, making this error code impossible.)
+#: sysdeps/gnu/errlist.c:799
+msgid "Object is remote"
+msgstr "Äối tượng ở xa"
+
+#. TRANS ???
+#: sysdeps/gnu/errlist.c:808
+msgid "RPC struct is bad"
+msgstr "Cấu trúc RPC sai"
+
+#. TRANS ???
+#: sysdeps/gnu/errlist.c:817
+msgid "RPC version wrong"
+msgstr "RPC: phiên bản không đúng"
+
+#. TRANS ???
+#: sysdeps/gnu/errlist.c:826
+msgid "RPC program not available"
+msgstr "RPC: chương trình không sẵn sàng "
+
+#. TRANS ???
+#: sysdeps/gnu/errlist.c:835
+msgid "RPC program version wrong"
+msgstr "RPC: phiên bản chương trình không đúng"
+
+#. TRANS ???
+#: sysdeps/gnu/errlist.c:844
+msgid "RPC bad procedure for program"
+msgstr "RPC: thủ tục sai đối với chương trình"
+
+#. TRANS No locks available. This is used by the file locking facilities; see
+#. TRANS @ref{File Locks}. This error is never generated by the GNU system, but
+#. TRANS it can result from an operation to an NFS server running another
+#. TRANS operating system.
+#: sysdeps/gnu/errlist.c:856
+msgid "No locks available"
+msgstr "Không có khoá sẵn sàng"
+
+#. TRANS Inappropriate file type or format. The file was the wrong type for the
+#. TRANS operation, or a data file had the wrong format.
+#. TRANS
+#. TRANS On some systems @code{chmod} returns this error if you try to set the
+#. TRANS sticky bit on a non-directory file; @pxref{Setting Permissions}.
+#: sysdeps/gnu/errlist.c:869
+msgid "Inappropriate file type or format"
+msgstr "Äịnh dạng hoặc kiểu tập tin không thích hợp"
+
+#. TRANS ???
+#: sysdeps/gnu/errlist.c:878
+msgid "Authentication error"
+msgstr "Lỗi xác thực"
+
+#. TRANS ???
+#: sysdeps/gnu/errlist.c:887
+msgid "Need authenticator"
+msgstr "Cần xác thực"
+
+#. TRANS Function not implemented. This indicates that the function called is
+#. TRANS not implemented at all, either in the C library itself or in the
+#. TRANS operating system. When you get this error, you can be sure that this
+#. TRANS particular function will always fail with @code{ENOSYS} unless you
+#. TRANS install a new version of the C library or the operating system.
+#: sysdeps/gnu/errlist.c:900
+msgid "Function not implemented"
+msgstr "Chưa thực hiện chức năng"
+
+#. TRANS Not supported. A function returns this error when certain parameter
+#. TRANS values are valid, but the functionality they request is not available.
+#. TRANS This can mean that the function does not implement a particular command
+#. TRANS or option value or flag bit at all. For functions that operate on some
+#. TRANS object given in a parameter, such as a file descriptor or a port, it
+#. TRANS might instead mean that only @emph{that specific object} (file
+#. TRANS descriptor, port, etc.) is unable to support the other parameters given;
+#. TRANS different file descriptors might support different ranges of parameter
+#. TRANS values.
+#. TRANS
+#. TRANS If the entire function is not available at all in the implementation,
+#. TRANS it returns @code{ENOSYS} instead.
+#: sysdeps/gnu/errlist.c:920
+msgid "Not supported"
+msgstr "Không được hỗ trợ"
+
+#. TRANS While decoding a multibyte character the function came along an invalid
+#. TRANS or an incomplete sequence of bytes or the given wide character is invalid.
+#: sysdeps/gnu/errlist.c:930
+msgid "Invalid or incomplete multibyte or wide character"
+msgstr "Ký tự đa byte hoặc rộng không hợp lệ hoặc chưa hoàn toàn"
+
+#. TRANS In the GNU system, servers supporting the @code{term} protocol return
+#. TRANS this error for certain operations when the caller is not in the
+#. TRANS foreground process group of the terminal. Users do not usually see this
+#. TRANS error because functions such as @code{read} and @code{write} translate
+#. TRANS it into a @code{SIGTTIN} or @code{SIGTTOU} signal. @xref{Job Control},
+#. TRANS for information on process groups and these signals.
+#: sysdeps/gnu/errlist.c:944
+msgid "Inappropriate operation for background process"
+msgstr "Thao tác không thích hợp vá»›i tiến trình ná»n"
+
+#. TRANS In the GNU system, opening a file returns this error when the file is
+#. TRANS translated by a program and the translator program dies while starting
+#. TRANS up, before it has connected to the file.
+#: sysdeps/gnu/errlist.c:955
+msgid "Translator died"
+msgstr "Trình dịch đã chết"
+
+#. TRANS The experienced user will know what is wrong.
+#. TRANS @c This error code is a joke. Its perror text is part of the joke.
+#. TRANS @c Don't change it.
+#: sysdeps/gnu/errlist.c:966
+msgid "?"
+msgstr "?"
+
+#. TRANS You did @strong{what}?
+#: sysdeps/gnu/errlist.c:975
+msgid "You really blew it this time"
+msgstr "Chắc là má»™t trÆ°á»ng hợp sai"
+
+#. TRANS Go home and have a glass of warm, dairy-fresh milk.
+#: sysdeps/gnu/errlist.c:984
+msgid "Computer bought the farm"
+msgstr "Máy tính đã chết"
+
+#. TRANS This error code has no purpose.
+#: sysdeps/gnu/errlist.c:993
+msgid "Gratuitous error"
+msgstr "Lỗi không có lý do"
+
+#: sysdeps/gnu/errlist.c:1001
+msgid "Bad message"
+msgstr "Thông điệp sai"
+
+#: sysdeps/gnu/errlist.c:1009
+msgid "Identifier removed"
+msgstr "Äồ nhận diện bị gỡ bá»"
+
+#: sysdeps/gnu/errlist.c:1017
+msgid "Multihop attempted"
+msgstr "Äa nhảy được thá»­"
+
+#: sysdeps/gnu/errlist.c:1025
+msgid "No data available"
+msgstr "Không có dữ liệu sẵn sàng"
+
+#: sysdeps/gnu/errlist.c:1033
+msgid "Link has been severed"
+msgstr "Liên kết đã bị ngắt"
+
+#: sysdeps/gnu/errlist.c:1041
+msgid "No message of desired type"
+msgstr "Không có thông điệp kiểu đã muốn"
+
+#: sysdeps/gnu/errlist.c:1049
+msgid "Out of streams resources"
+msgstr "Tràn tài nguyên luồng"
+
+#: sysdeps/gnu/errlist.c:1057
+msgid "Device not a stream"
+msgstr "Thiết bị không phải luồng"
+
+#: sysdeps/gnu/errlist.c:1065
+msgid "Value too large for defined data type"
+msgstr "Giá trị quá lớn cho kiểu dữ liệu đã xác định"
+
+#: sysdeps/gnu/errlist.c:1073
+msgid "Protocol error"
+msgstr "Lỗi giao thức"
+
+#: sysdeps/gnu/errlist.c:1081
+msgid "Timer expired"
+msgstr "Quá hạn"
+
+#. TRANS Operation canceled; an asynchronous operation was canceled before it
+#. TRANS completed. @xref{Asynchronous I/O}. When you call @code{aio_cancel},
+#. TRANS the normal result is for the operations affected to complete with this
+#. TRANS error; @pxref{Cancel AIO Operations}.
+#: sysdeps/gnu/errlist.c:1093
+msgid "Operation canceled"
+msgstr "Thao tác bị thôi"
+
+#: sysdeps/gnu/errlist.c:1101
+msgid "Interrupted system call should be restarted"
+msgstr "Cuá»™c gá»i hệ thống bị gián Ä‘oạn nên được khởi chạy lại"
+
+#: sysdeps/gnu/errlist.c:1109
+msgid "Channel number out of range"
+msgstr "Số thứ tự kệnh ở ngoài phạm vi"
+
+#: sysdeps/gnu/errlist.c:1117
+msgid "Level 2 not synchronized"
+msgstr "Cấp 2 không được đồng bộ"
+
+#: sysdeps/gnu/errlist.c:1125
+msgid "Level 3 halted"
+msgstr "Cấp 3 bị dừng"
+
+#: sysdeps/gnu/errlist.c:1133
+msgid "Level 3 reset"
+msgstr "Cấp 3 được đặt lại"
+
+#: sysdeps/gnu/errlist.c:1141
+msgid "Link number out of range"
+msgstr "Số thứ tự liên kết ở ngoài phạm vi"
+
+#: sysdeps/gnu/errlist.c:1149
+msgid "Protocol driver not attached"
+msgstr "Trình Ä‘iá»u khiển giao thức không được gắn nối"
+
+#: sysdeps/gnu/errlist.c:1157
+msgid "No CSI structure available"
+msgstr "Không có cấu trúc CSI sẵn sàng"
+
+#: sysdeps/gnu/errlist.c:1165
+msgid "Level 2 halted"
+msgstr "Cấp 2 bị dừng"
+
+#: sysdeps/gnu/errlist.c:1173
+msgid "Invalid exchange"
+msgstr "Trao đổi không hợp lệ"
+
+#: sysdeps/gnu/errlist.c:1181
+msgid "Invalid request descriptor"
+msgstr "Bộ mô tả yêu cầu không hợp lệ"
+
+#: sysdeps/gnu/errlist.c:1189
+msgid "Exchange full"
+msgstr "Trao đổi đầy đủ"
+
+#: sysdeps/gnu/errlist.c:1197
+msgid "No anode"
+msgstr "Không có dương cực"
+
+#: sysdeps/gnu/errlist.c:1205
+msgid "Invalid request code"
+msgstr "Mã yêu cầu không hợp lệ"
+
+#: sysdeps/gnu/errlist.c:1213
+msgid "Invalid slot"
+msgstr "Khoảng không hợp lệ"
+
+#: sysdeps/gnu/errlist.c:1221
+msgid "File locking deadlock error"
+msgstr "Lỗi khoá tập tin bế tắc"
+
+#: sysdeps/gnu/errlist.c:1229
+msgid "Bad font file format"
+msgstr "Äịnh dạng tập tin phông sai"
+
+#: sysdeps/gnu/errlist.c:1237
+msgid "Machine is not on the network"
+msgstr "Máy không nằm trên mạng"
+
+#: sysdeps/gnu/errlist.c:1245
+msgid "Package not installed"
+msgstr "Gói chưa được cài đặt"
+
+#: sysdeps/gnu/errlist.c:1253
+msgid "Advertise error"
+msgstr "Lỗi quảng cáo"
+
+#: sysdeps/gnu/errlist.c:1261
+msgid "Srmount error"
+msgstr "Lỗi gắn kết Srmount"
+
+#: sysdeps/gnu/errlist.c:1269
+msgid "Communication error on send"
+msgstr "Lỗi liên lạc khi gửi"
+
+#: sysdeps/gnu/errlist.c:1277
+msgid "RFS specific error"
+msgstr "Lỗi đặc trưng cho RFS"
+
+#: sysdeps/gnu/errlist.c:1285
+msgid "Name not unique on network"
+msgstr "Tên không duy nhất trên mạng"
+
+#: sysdeps/gnu/errlist.c:1293
+msgid "File descriptor in bad state"
+msgstr "Bộ mô tả tập tin ở tình trạng sai"
+
+#: sysdeps/gnu/errlist.c:1301
+msgid "Remote address changed"
+msgstr "Äịa chỉ ở xa đã thay đổi"
+
+#: sysdeps/gnu/errlist.c:1309
+msgid "Can not access a needed shared library"
+msgstr "Không thể truy cập vào một thư viện dùng chung cần thiết"
+
+#: sysdeps/gnu/errlist.c:1317
+msgid "Accessing a corrupted shared library"
+msgstr "Äang truy cập vào má»™t thÆ° viện dùng chung bị há»ng"
+
+#: sysdeps/gnu/errlist.c:1325
+msgid ".lib section in a.out corrupted"
+msgstr "Phần .lib trong a.out bị há»ng"
+
+#: sysdeps/gnu/errlist.c:1333
+msgid "Attempting to link in too many shared libraries"
+msgstr "Äang thá»­ liên kết trong quá nhiá»u thÆ° viện dùng chung"
+
+#: sysdeps/gnu/errlist.c:1341
+msgid "Cannot exec a shared library directly"
+msgstr "Không thể thực hiện trực tiếp một thư viện dùng chung"
+
+#: sysdeps/gnu/errlist.c:1349
+msgid "Streams pipe error"
+msgstr "Lỗi ống dẫn luồng"
+
+#: sysdeps/gnu/errlist.c:1357
+msgid "Structure needs cleaning"
+msgstr "Cấu trúc cần làm sạch"
+
+#: sysdeps/gnu/errlist.c:1365
+msgid "Not a XENIX named type file"
+msgstr "Không phải một tập tin kiểu đặt tên XENIX"
+
+#: sysdeps/gnu/errlist.c:1373
+msgid "No XENIX semaphores available"
+msgstr "Không có cỠhiệu XENIX sẵn sàng "
+
+#: sysdeps/gnu/errlist.c:1381
+msgid "Is a named type file"
+msgstr "Là một tập tin kiểu đặt tên"
+
+#: sysdeps/gnu/errlist.c:1389
+msgid "Remote I/O error"
+msgstr "Lỗi V/R ở xa"
+
+#: sysdeps/gnu/errlist.c:1397
+msgid "No medium found"
+msgstr "Không tìm thấy vật chứa"
+
+#: sysdeps/gnu/errlist.c:1405
+msgid "Wrong medium type"
+msgstr "Kiểu vật chứa không đúng"
+
+#: sysdeps/gnu/errlist.c:1413
+msgid "Required key not available"
+msgstr "Khoá cần thiết không sẵn sàng"
+
+#: sysdeps/gnu/errlist.c:1421
+msgid "Key has expired"
+msgstr "Khoá đã quá hạn"
+
+#: sysdeps/gnu/errlist.c:1429
+msgid "Key has been revoked"
+msgstr "Khoá đã bị hủy bá»"
+
+#: sysdeps/gnu/errlist.c:1437
+msgid "Key was rejected by service"
+msgstr "Khoá bị dịch vụ từ chối"
+
+#: sysdeps/gnu/errlist.c:1445
+msgid "Owner died"
+msgstr "Chủ đã chết"
+
+#: sysdeps/gnu/errlist.c:1453
+msgid "State not recoverable"
+msgstr "Tình trạng không thể phục hồi được"
+
+#: sysdeps/mach/_strerror.c:57
+msgid "Error in unknown error system: "
+msgstr "Lỗi trong hệ thống lỗi không rõ : "
+
+#: sysdeps/posix/gai_strerror-strs.h:1
+msgid "Address family for hostname not supported"
+msgstr "Nhóm địa chỉ cho tên máy không được hỗ trợ"
+
+#: sysdeps/posix/gai_strerror-strs.h:2
+msgid "Temporary failure in name resolution"
+msgstr "Tạm thá»i không thể quyết định tên"
+
+#: sysdeps/posix/gai_strerror-strs.h:3
+msgid "Bad value for ai_flags"
+msgstr "Giá trị sai đối vá»›i « ai_flags » (cá»)"
+
+#: sysdeps/posix/gai_strerror-strs.h:4
+msgid "Non-recoverable failure in name resolution"
+msgstr "Lỗi không thể phục hồi khi quyết định tên"
+
+#: sysdeps/posix/gai_strerror-strs.h:5
+msgid "ai_family not supported"
+msgstr "« ai_family » không được hỗ trợ"
+
+#: sysdeps/posix/gai_strerror-strs.h:6
+msgid "Memory allocation failure"
+msgstr "Lỗi cấp phát bộ nhớ"
+
+#: sysdeps/posix/gai_strerror-strs.h:7
+msgid "No address associated with hostname"
+msgstr "Không có địa chỉ liên quan đến tên máy"
+
+#: sysdeps/posix/gai_strerror-strs.h:8
+msgid "Name or service not known"
+msgstr "Không rõ tên hoặc dịch vụ"
+
+#: sysdeps/posix/gai_strerror-strs.h:9
+msgid "Servname not supported for ai_socktype"
+msgstr "Tên máy không được hỗ trợ đối với « ai_socktype » (kiểu ổ cắm)"
+
+#: sysdeps/posix/gai_strerror-strs.h:10
+msgid "ai_socktype not supported"
+msgstr "« ai-socktype » (kiểu ổ cắm) không được hỗ trợ"
+
+#: sysdeps/posix/gai_strerror-strs.h:11
+msgid "System error"
+msgstr "Lỗi hệ thống"
+
+#: sysdeps/posix/gai_strerror-strs.h:12
+msgid "Processing request in progress"
+msgstr "Yêu cầu xử lý đang chạy"
+
+#: sysdeps/posix/gai_strerror-strs.h:13
+msgid "Request canceled"
+msgstr "Yêu cầu bị thôi"
+
+#: sysdeps/posix/gai_strerror-strs.h:14
+msgid "Request not canceled"
+msgstr "Chưa thôi yêu cầu"
+
+#: sysdeps/posix/gai_strerror-strs.h:15
+msgid "All requests done"
+msgstr "Má»i yêu cầu hoàn tất"
+
+#: sysdeps/posix/gai_strerror-strs.h:16
+msgid "Interrupted by a signal"
+msgstr "bị tín hiệu gián đoạn"
+
+#: sysdeps/posix/gai_strerror-strs.h:17
+msgid "Parameter string not correctly encoded"
+msgstr "Chuỗi tham số không phải được mã hóa đúng"
+
+#: sysdeps/unix/siglist.c:26
+msgid "Signal 0"
+msgstr "Tín hiệu 0"
+
+#: sysdeps/unix/siglist.c:32
+msgid "IOT trap"
+msgstr "Bẫy IOT"
+
+#: sysdeps/unix/sysv/linux/i386/readelflib.c:49
+#, c-format
+msgid "%s is for unknown machine %d.\n"
+msgstr "%s là cho máy không rõ %d.\n"
+
+#: sysdeps/unix/sysv/linux/ia64/makecontext.c:63
+#, c-format
+msgid "makecontext: does not know how to handle more than 8 arguments\n"
+msgstr "makecontext: không biết cách xá»­ lý nhiá»u hÆ¡n 8 đối số\n"
+
+#: sysdeps/unix/sysv/linux/lddlibc4.c:64
+#, c-format
+msgid "cannot open `%s'"
+msgstr "không thể mở « %s »"
+
+#: sysdeps/unix/sysv/linux/lddlibc4.c:68
+#, c-format
+msgid "cannot read header from `%s'"
+msgstr "không thể Ä‘á»c phần đầu từ « %s »"
+
+#: timezone/zdump.c:211
+msgid "lacks alphabetic at start"
+msgstr "thiếu chữ cái ở đầu"
+
+#: timezone/zdump.c:213
+msgid "has fewer than 3 alphabetics"
+msgstr "có ít hơn 3 chữ cái"
+
+#: timezone/zdump.c:215
+msgid "has more than 6 alphabetics"
+msgstr "có nhiá»u hÆ¡n 6 chữ cái"
+
+#: timezone/zdump.c:223
+msgid "differs from POSIX standard"
+msgstr "khác với tiêu chuẩn POSIX"
+
+#: timezone/zdump.c:229
+#, c-format
+msgid "%s: warning: zone \"%s\" abbreviation \"%s\" %s\n"
+msgstr "%s: cảnh báo : múi giỠ« %s » viết tắt « %s » %s\n"
+
+#: timezone/zdump.c:280
+#, c-format
+msgid "%s: usage is %s [ --version ] [ -v ] [ -c [loyear,]hiyear ] zonename ...\n"
+msgstr "%s: sử dụng: %s [ --version ] [ -v ] [ -c [năm_trên,]năm_dưới ] tên_múi_giỠ...\n"
+
+#: timezone/zdump.c:297
+#, c-format
+msgid "%s: wild -c argument %s\n"
+msgstr "%s: đối số « -c » đại diện %s\n"
+
+#: timezone/zdump.c:388
+msgid "Error writing to standard output"
+msgstr "Gặp lỗi khi ghi vào đầu ra tiêu chuẩn"
+
+#: timezone/zdump.c:411
+#, c-format
+msgid "%s: use of -v on system with floating time_t other than float or double\n"
+msgstr "%s: dùng « -v » trên hệ thống có time_t nổi khác với nổi hoặc đôi\n"
+
+#: timezone/zic.c:392
+#, c-format
+msgid "%s: Memory exhausted: %s\n"
+msgstr "%s: Cạn bộ nhớ : %s\n"
+
+#: timezone/zic.c:451
+#, c-format
+msgid "\"%s\", line %d: %s"
+msgstr "« %s », dòng %d: %s"
+
+#: timezone/zic.c:454
+#, c-format
+msgid " (rule from \"%s\", line %d)"
+msgstr " (quy tắc từ « %s », dòng %d)"
+
+#: timezone/zic.c:466
+msgid "warning: "
+msgstr "cảnh báo : "
+
+#: timezone/zic.c:476
+#, c-format
+msgid ""
+"%s: usage is %s [ --version ] [ -v ] [ -l localtime ] [ -p posixrules ] \\\n"
+"\t[ -d directory ] [ -L leapseconds ] [ -y yearistype ] [ filename ... ]\n"
+msgstr ""
+"%s: sá»­ dụng: %s [ --version ] [ -v ] [ -l giá»_địa_phÆ°Æ¡ng ] [ -p quy_tắc_POSIX ] \\\n"
+"\t[ -d thư_mục ] [ -L giây_năm_nhuận ] [ -y kiểu_năm ] [ tên_tập_tin ... ]\n"
+
+#: timezone/zic.c:511
+msgid "wild compilation-time specification of zic_t"
+msgstr "đặc tả thá»i gian biên dịch đại diện của zic_t"
+
+#: timezone/zic.c:528
+#, c-format
+msgid "%s: More than one -d option specified\n"
+msgstr "%s: Ghi rõ nhiá»u hÆ¡n má»™t tùy chá»n « -d »\n"
+
+#: timezone/zic.c:538
+#, c-format
+msgid "%s: More than one -l option specified\n"
+msgstr "%s: Ghi rõ nhiá»u hÆ¡n má»™t tùy chá»n « -l »\n"
+
+#: timezone/zic.c:548
+#, c-format
+msgid "%s: More than one -p option specified\n"
+msgstr "%s: Ghi rõ nhiá»u hÆ¡n má»™t tùy chá»n « -p »\n"
+
+#: timezone/zic.c:558
+#, c-format
+msgid "%s: More than one -y option specified\n"
+msgstr "%s: Ghi rõ nhiá»u hÆ¡n má»™t tùy chá»n « -y »\n"
+
+#: timezone/zic.c:568
+#, c-format
+msgid "%s: More than one -L option specified\n"
+msgstr "%s: Ghi rõ nhiá»u hÆ¡n má»™t tùy chá»n « -L »\n"
+
+#: timezone/zic.c:617
+msgid "link to link"
+msgstr "liên kết đến liên kết"
+
+#: timezone/zic.c:682
+msgid "hard link failed, symbolic link used"
+msgstr "lỗi cứng không thành công nên dùng liên kết tượng trưng"
+
+#: timezone/zic.c:690
+#, c-format
+msgid "%s: Can't link from %s to %s: %s\n"
+msgstr "%s: không thể liên kết từ %s đến %s: %s\n"
+
+#: timezone/zic.c:762 timezone/zic.c:764
+msgid "same rule name in multiple files"
+msgstr "nhiá»u tập tin chứa cùng má»™t tên quy tắc"
+
+#: timezone/zic.c:805
+msgid "unruly zone"
+msgstr "múi giỠphóng túng"
+
+#: timezone/zic.c:812
+#, c-format
+msgid "%s in ruleless zone"
+msgstr "%s trong múi giỠkhông có quy tắc"
+
+#: timezone/zic.c:833
+msgid "standard input"
+msgstr "đầu vào tiêu chuẩn"
+
+#: timezone/zic.c:838
+#, c-format
+msgid "%s: Can't open %s: %s\n"
+msgstr "%s: Không thể mở %s: %s\n"
+
+#: timezone/zic.c:849
+msgid "line too long"
+msgstr "dòng quá dài"
+
+#: timezone/zic.c:869
+msgid "input line of unknown type"
+msgstr "dòng nhập vào có kiểu không rõ"
+
+#: timezone/zic.c:885
+#, c-format
+msgid "%s: Leap line in non leap seconds file %s\n"
+msgstr "%s: dòng năm nhuận nằm trong tập tin giây không phải năm nhuận %s\n"
+
+#: timezone/zic.c:892 timezone/zic.c:1329 timezone/zic.c:1351
+#, c-format
+msgid "%s: panic: Invalid l_value %d\n"
+msgstr "%s: không thể phục hồi: giá trị l_value không hợp lệ %d\n"
+
+#: timezone/zic.c:900
+#, c-format
+msgid "%s: Error reading %s\n"
+msgstr "%s: Lá»—i Ä‘á»c %s\n"
+
+#: timezone/zic.c:907
+#, c-format
+msgid "%s: Error closing %s: %s\n"
+msgstr "%s: Lỗi đóng %s: %s\n"
+
+#: timezone/zic.c:912
+msgid "expected continuation line not found"
+msgstr "không tìm thấy Ä‘Æ°á»ng tiếp tục mong đợi"
+
+#: timezone/zic.c:956 timezone/zic.c:2489 timezone/zic.c:2508
+msgid "time overflow"
+msgstr "tràn thá»i gian"
+
+#: timezone/zic.c:960
+msgid "24:00 not handled by pre-1998 versions of zic"
+msgstr "24:00 không được xử lý bởi phiên bản zlc trước năm 1998"
+
+#: timezone/zic.c:963
+msgid "values over 24 hours not handled by pre-2007 versions of zic"
+msgstr "giá trị nhiá»u hÆ¡n 24 giá» không được xá»­ lý bởi phiên bản zlc trÆ°á»›c năm 2007"
+
+#: timezone/zic.c:976
+msgid "wrong number of fields on Rule line"
+msgstr "số trÆ°á»ng không đúng trên dòng Quy tắc (Rule)"
+
+#: timezone/zic.c:980
+msgid "nameless rule"
+msgstr "quy tắc không tên"
+
+#: timezone/zic.c:985
+msgid "invalid saved time"
+msgstr "thá»i gian đã lÆ°u không hợp lệ"
+
+#: timezone/zic.c:1006
+msgid "wrong number of fields on Zone line"
+msgstr "số trÆ°á»ng không đúng trên dòng Múi Giá» (Zone)"
+
+#: timezone/zic.c:1012
+#, c-format
+msgid "\"Zone %s\" line and -l option are mutually exclusive"
+msgstr "Dòng « Zone %s » và tùy chá»n « -l » loại từ lẫn nhau"
+
+#: timezone/zic.c:1020
+#, c-format
+msgid "\"Zone %s\" line and -p option are mutually exclusive"
+msgstr "Dòng « Zone %s » và tùy chá»n « -p » loại từ lẫn nhau"
+
+#: timezone/zic.c:1032
+#, c-format
+msgid "duplicate zone name %s (file \"%s\", line %d)"
+msgstr "tên múi giỠtrùng %s (tập tin « %s », dòng %d)"
+
+#: timezone/zic.c:1048
+msgid "wrong number of fields on Zone continuation line"
+msgstr "số trÆ°á»ng không đúng trên dòng tiếp tục Múi Giá» (Zone)"
+
+#: timezone/zic.c:1088
+msgid "invalid UTC offset"
+msgstr "khoảng bù UTC không hợp lệ"
+
+#: timezone/zic.c:1091
+msgid "invalid abbreviation format"
+msgstr "định dạng viết tắt không hợp lệ"
+
+#: timezone/zic.c:1120
+msgid "Zone continuation line end time is not after end time of previous line"
+msgstr "GiỠkết thúc dòng tiếp tục Múi GiỠkhông nằm sau giỠkết thúc của dòng trước"
+
+#: timezone/zic.c:1148
+msgid "wrong number of fields on Leap line"
+msgstr "số trÆ°á»ng không đúng trên dòng Leap (năm nhuận)"
+
+#: timezone/zic.c:1157
+msgid "invalid leaping year"
+msgstr "năm nhuận không hợp lệ"
+
+#: timezone/zic.c:1177 timezone/zic.c:1283
+msgid "invalid month name"
+msgstr "tên tháng không hợp lệ"
+
+#: timezone/zic.c:1190 timezone/zic.c:1396 timezone/zic.c:1410
+msgid "invalid day of month"
+msgstr "ngày tháng không hợp lệ"
+
+#: timezone/zic.c:1195
+msgid "time before zero"
+msgstr "thá»i gian nằm trÆ°á»›c số không"
+
+#: timezone/zic.c:1199
+msgid "time too small"
+msgstr "thá»i gian quá nhá»"
+
+#: timezone/zic.c:1203
+msgid "time too large"
+msgstr "thá»i gian quá lá»›n"
+
+#: timezone/zic.c:1207 timezone/zic.c:1312
+msgid "invalid time of day"
+msgstr "giỠngày không hợp lệ"
+
+#: timezone/zic.c:1226
+msgid "illegal CORRECTION field on Leap line"
+msgstr "trÆ°á»ng CORRECTION (sá»­a lá»—i) cấm trên dòng Leap (năm nhuận)"
+
+#: timezone/zic.c:1231
+msgid "illegal Rolling/Stationary field on Leap line"
+msgstr "trÆ°á»ng Rolling/Stationary (Ä‘ang lăn/không di chuyển) cấm trên dòng Leap (năm nhuận)"
+
+#: timezone/zic.c:1247
+msgid "wrong number of fields on Link line"
+msgstr "số trÆ°á»ng không đúng trên dòng Link (liên kết)"
+
+#: timezone/zic.c:1251
+msgid "blank FROM field on Link line"
+msgstr "trÆ°á»ng FROM (từ) rá»—ng trên dòng Link (liên kết)"
+
+#: timezone/zic.c:1255
+msgid "blank TO field on Link line"
+msgstr "trÆ°á»ng TO (đến) rá»—ng trên dòng Link (liên kết)"
+
+#: timezone/zic.c:1333
+msgid "invalid starting year"
+msgstr "năm bắt đầu không hợp lệ"
+
+#: timezone/zic.c:1355
+msgid "invalid ending year"
+msgstr "năm kết thúc không hợp lệ"
+
+#: timezone/zic.c:1359
+msgid "starting year greater than ending year"
+msgstr "năm bắt đầu nằm sau nằm kết thúc"
+
+#: timezone/zic.c:1366
+msgid "typed single year"
+msgstr "đã gõ năm riêng lẻ"
+
+#: timezone/zic.c:1401
+msgid "invalid weekday name"
+msgstr "tên ngày tuần không hợp lệ"
+
+#: timezone/zic.c:1579
+#, c-format
+msgid "%s: Can't remove %s: %s\n"
+msgstr "%s: Không thể gỡ bỠ%s: %s\n"
+
+#: timezone/zic.c:1589
+#, c-format
+msgid "%s: Can't create %s: %s\n"
+msgstr "%s: Không thể tạo %s: %s\n"
+
+#: timezone/zic.c:1739
+#, c-format
+msgid "%s: Error writing %s\n"
+msgstr "%s: Lá»—i ghi %s\n"
+
+#: timezone/zic.c:2031
+msgid "no POSIX environment variable for zone"
+msgstr "chÆ°a đặt biến môi trÆ°á»ng POSIX cho múi giá»"
+
+#: timezone/zic.c:2185
+msgid "can't determine time zone abbreviation to use just after until time"
+msgstr "không thể quyết định từ viết tắt múi giá» cần dùng đúng sau thá»i gian đích đến"
+
+#: timezone/zic.c:2231
+msgid "too many transitions?!"
+msgstr "quá nhiá»u lần chuyển tiếp ?!"
+
+#: timezone/zic.c:2250
+msgid "internal error - addtype called with bad isdst"
+msgstr "gặp lá»—i ná»™i bá»™ — addtype (thêm loại) được gá»i vá»›i isdst sai"
+
+#: timezone/zic.c:2254
+msgid "internal error - addtype called with bad ttisstd"
+msgstr "gặp lá»—i ná»™i bá»™ — addtype (thêm loại) được gá»i vá»›i ttisstd sai"
+
+#: timezone/zic.c:2258
+msgid "internal error - addtype called with bad ttisgmt"
+msgstr "gặp lá»—i ná»™i bá»™ — addtype (thêm loại) được gá»i vá»›i ttisgmt sai"
+
+#: timezone/zic.c:2277
+msgid "too many local time types"
+msgstr "quá nhiá»u kiểu thá»i gian địa phÆ°Æ¡ng"
+
+#: timezone/zic.c:2281
+msgid "UTC offset out of range"
+msgstr "khoảng bù UTC ở ngoại phạm vi"
+
+#: timezone/zic.c:2309
+msgid "too many leap seconds"
+msgstr "quá nhiá»u giây năm nhuận"
+
+#: timezone/zic.c:2315
+msgid "repeated leap second moment"
+msgstr "lúc giây năm nhuận đã lặp lại"
+
+#: timezone/zic.c:2367
+msgid "Wild result from command execution"
+msgstr "Kết quả rất lạ khi thực hiện câu lệnh"
+
+#: timezone/zic.c:2368
+#, c-format
+msgid "%s: command was '%s', result was %d\n"
+msgstr "%s: câu lệnh là « %s », kết quả là %d\n"
+
+#: timezone/zic.c:2466
+msgid "Odd number of quotation marks"
+msgstr "Số lẻ các dấu trích dẫn"
+
+#: timezone/zic.c:2555
+msgid "use of 2/29 in non leap-year"
+msgstr "dùng 2/29 trong năm không phải năm nhuận"
+
+#: timezone/zic.c:2590
+msgid "rule goes past start/end of month--will not work with pre-2004 versions of zic"
+msgstr "quy tắc vượt quá kết thúc của tháng nên không hoạt động được với phiên bản zlc được phát hành trước năm 2004"
+
+#: timezone/zic.c:2622
+msgid "time zone abbreviation lacks alphabetic at start"
+msgstr "từ viết tắt múi giỠthiếu chữ cái ở đầu"
+
+#: timezone/zic.c:2624
+msgid "time zone abbreviation has more than 3 alphabetics"
+msgstr "từ viết tắt múi giá» chứa nhiá»u hÆ¡n 3 chữ cái"
+
+#: timezone/zic.c:2626
+msgid "time zone abbreviation has too many alphabetics"
+msgstr "từ viết tắt múi giá» chứa quá nhiá»u chữ cái"
+
+#: timezone/zic.c:2636
+msgid "time zone abbreviation differs from POSIX standard"
+msgstr "từ viết tắt múi giỠkhông tùy theo tiêu chuẩn POSIX"
+
+#: timezone/zic.c:2648
+msgid "too many, or too long, time zone abbreviations"
+msgstr "quá nhiá»u hoặc quá dài các từ viết tắt múi giá»"
+
+#: timezone/zic.c:2689
+#, c-format
+msgid "%s: Can't create directory %s: %s\n"
+msgstr "%s: Không thể tạo thư mục %s: %s\n"
+
+#: timezone/zic.c:2711
+#, c-format
+msgid "%s: %d did not sign extend correctly\n"
+msgstr "%s: %d chưa ký đúng đồ kéo dài\n"
diff --git a/libc/po/zh_CN.po b/libc/po/zh_CN.po
index b42bef9db..14207f057 100644
--- a/libc/po/zh_CN.po
+++ b/libc/po/zh_CN.po
@@ -4195,59 +4195,59 @@ msgstr "ä¸å¯è¯†åˆ«çš„å˜é‡â€œ%sâ€"
#: posix/getopt.c:571 posix/getopt.c:587
#, c-format
-msgid "%s: option `%s' is ambiguous\n"
+msgid "%s: option '%s' is ambiguous\n"
msgstr "%s:选项“%sâ€å…·æœ‰äºŒä¹‰æ€§\n"
#: posix/getopt.c:620 posix/getopt.c:624
#, c-format
-msgid "%s: option `--%s' doesn't allow an argument\n"
+msgid "%s: option '--%s' doesn't allow an argument\n"
msgstr "%s:选项“--%sâ€ä¸æŽ¥å—任何å‚æ•°\n"
#: posix/getopt.c:633 posix/getopt.c:638
#, c-format
-msgid "%s: option `%c%s' doesn't allow an argument\n"
+msgid "%s: option '%c%s' doesn't allow an argument\n"
msgstr "%s:选项“%c%sâ€ä¸æŽ¥å—å‚æ•°\n"
#: posix/getopt.c:681 posix/getopt.c:700 posix/getopt.c:1016
#: posix/getopt.c:1035
#, c-format
-msgid "%s: option `%s' requires an argument\n"
+msgid "%s: option '%s' requires an argument\n"
msgstr "%s:选项“%sâ€éœ€è¦ä¸€ä¸ªå‚æ•°\n"
#: posix/getopt.c:738 posix/getopt.c:741
#, c-format
-msgid "%s: unrecognized option `--%s'\n"
+msgid "%s: unrecognized option '--%s'\n"
msgstr "%s:无法识别的选项“--%sâ€\n"
#: posix/getopt.c:749 posix/getopt.c:752
#, c-format
-msgid "%s: unrecognized option `%c%s'\n"
+msgid "%s: unrecognized option '%c%s'\n"
msgstr "%s:无法识别的选项“%c%sâ€\n"
#: posix/getopt.c:804 posix/getopt.c:807
#, c-format
-msgid "%s: illegal option -- %c\n"
+msgid "%s: illegal option -- '%c'\n"
msgstr "%s:无效选项 -- %c\n"
#: posix/getopt.c:813 posix/getopt.c:816
#, c-format
-msgid "%s: invalid option -- %c\n"
+msgid "%s: invalid option -- '%c'\n"
msgstr "%s:无效选项 -- %c\n"
#: posix/getopt.c:868 posix/getopt.c:884 posix/getopt.c:1088
#: posix/getopt.c:1106
#, c-format
-msgid "%s: option requires an argument -- %c\n"
+msgid "%s: option requires an argument -- '%c'\n"
msgstr "%s:选项需è¦ä¸€ä¸ªå‚æ•° -- %c\n"
#: posix/getopt.c:937 posix/getopt.c:953
#, c-format
-msgid "%s: option `-W %s' is ambiguous\n"
+msgid "%s: option '-W %s' is ambiguous\n"
msgstr "%s:选项“-W %sâ€å…·æœ‰äºŒä¹‰æ€§\n"
#: posix/getopt.c:977 posix/getopt.c:995
#, c-format
-msgid "%s: option `-W %s' doesn't allow an argument\n"
+msgid "%s: option '-W %s' doesn't allow an argument\n"
msgstr "%s:选项“-W %sâ€ä¸æŽ¥å—å‚æ•°\n"
#: posix/regcomp.c:135
diff --git a/libc/po/zh_TW.po b/libc/po/zh_TW.po
index 7fbf3c711..6ccffec2b 100644
--- a/libc/po/zh_TW.po
+++ b/libc/po/zh_TW.po
@@ -3545,59 +3545,59 @@ msgstr "無法識別的變數 `%s'"
#: posix/getopt.c:692 posix/getopt.c:711
#, c-format
-msgid "%s: option `%s' is ambiguous\n"
+msgid "%s: option '%s' is ambiguous\n"
msgstr "%s: é¸é … `%s' å«ç¾©ä¸æ¸…\n"
#: posix/getopt.c:744 posix/getopt.c:748
#, c-format
-msgid "%s: option `--%s' doesn't allow an argument\n"
+msgid "%s: option '--%s' doesn't allow an argument\n"
msgstr "%s: é¸é … `--%s' ä¸å…許附加引數\n"
#: posix/getopt.c:757 posix/getopt.c:762
#, c-format
-msgid "%s: option `%c%s' doesn't allow an argument\n"
+msgid "%s: option '%c%s' doesn't allow an argument\n"
msgstr "%s: é¸é … `%c%s' ä¸å…許附加引數\n"
#: posix/getopt.c:807 posix/getopt.c:829 posix/getopt.c:1159
#: posix/getopt.c:1181
#, c-format
-msgid "%s: option `%s' requires an argument\n"
+msgid "%s: option '%s' requires an argument\n"
msgstr "%s: é¸é … `%s' 需è¦ä¸€å€‹å¼•æ•¸\n"
#: posix/getopt.c:867 posix/getopt.c:870
#, c-format
-msgid "%s: unrecognized option `--%s'\n"
+msgid "%s: unrecognized option '--%s'\n"
msgstr "%s: 未知的é¸é … `--%s'\n"
#: posix/getopt.c:878 posix/getopt.c:881
#, c-format
-msgid "%s: unrecognized option `%c%s'\n"
+msgid "%s: unrecognized option '%c%s'\n"
msgstr "%s: 未知的é¸é … `%c%s'\n"
#: posix/getopt.c:936 posix/getopt.c:939
#, c-format
-msgid "%s: illegal option -- %c\n"
+msgid "%s: illegal option -- '%c'\n"
msgstr "%s: ä¸åˆæ³•çš„é¸é … -- %c\n"
#: posix/getopt.c:945 posix/getopt.c:948
#, c-format
-msgid "%s: invalid option -- %c\n"
+msgid "%s: invalid option -- '%c'\n"
msgstr "%s: ä¸é©ç”¨çš„é¸é … -- %c\n"
#: posix/getopt.c:1003 posix/getopt.c:1022 posix/getopt.c:1234
#: posix/getopt.c:1255
#, c-format
-msgid "%s: option requires an argument -- %c\n"
+msgid "%s: option requires an argument -- '%c'\n"
msgstr "%s: é¸é …需è¦ä¸€å€‹å¼•æ•¸ -- %c\n"
#: posix/getopt.c:1074 posix/getopt.c:1093
#, c-format
-msgid "%s: option `-W %s' is ambiguous\n"
+msgid "%s: option '-W %s' is ambiguous\n"
msgstr "%s: é¸é … `-W %s' å«ç¾©ä¸æ¸…\n"
#: posix/getopt.c:1117 posix/getopt.c:1138
#, c-format
-msgid "%s: option `-W %s' doesn't allow an argument\n"
+msgid "%s: option '-W %s' doesn't allow an argument\n"
msgstr "%s: é¸é … `-W %s' ä¸å…許附加引數\n"
#: posix/regcomp.c:150
diff --git a/libc/posix/gai.conf b/libc/posix/gai.conf
index b4abfc1f9..3dba1a905 100644
--- a/libc/posix/gai.conf
+++ b/libc/posix/gai.conf
@@ -65,4 +65,4 @@
#scopev4 ::ffff:10.0.0.0/104 5
#scopev4 ::ffff:172.16.0.0/108 5
#scopev4 ::ffff:192.168.0.0/112 5
-#scopev4 ::ffff:0.0.0.0 14
+#scopev4 ::ffff:0.0.0.0/96 14
diff --git a/libc/posix/getopt.c b/libc/posix/getopt.c
index b1cecd31a..103f572b0 100644
--- a/libc/posix/getopt.c
+++ b/libc/posix/getopt.c
@@ -1,9 +1,8 @@
/* Getopt for GNU.
- NOTE: getopt is now part of the C library, so if you don't know what
+ NOTE: getopt is part of the C library, so if you don't know what
"Keep this file name-space clean" means, talk to drepper@gnu.org
before changing it!
- Copyright (C) 1987,88,89,90,91,92,93,94,95,96,98,99,2000,2001,2002,2003,2004
- Free Software Foundation, Inc.
+ Copyright (C) 1987-1996,1998-2004,2008 Free Software Foundation, Inc.
This file is part of the GNU C Library.
The GNU C Library is free software; you can redistribute it and/or
@@ -568,7 +567,7 @@ _getopt_internal_r (int argc, char *const *argv, const char *optstring,
#if defined _LIBC && defined USE_IN_LIBIO
char *buf;
- if (__asprintf (&buf, _("%s: option `%s' is ambiguous\n"),
+ if (__asprintf (&buf, _("%s: option '%s' is ambiguous\n"),
argv[0], argv[d->optind]) >= 0)
{
_IO_flockfile (stderr);
@@ -584,7 +583,7 @@ _getopt_internal_r (int argc, char *const *argv, const char *optstring,
free (buf);
}
#else
- fprintf (stderr, _("%s: option `%s' is ambiguous\n"),
+ fprintf (stderr, _("%s: option '%s' is ambiguous\n"),
argv[0], argv[d->optind]);
#endif
}
@@ -618,11 +617,11 @@ _getopt_internal_r (int argc, char *const *argv, const char *optstring,
/* --option */
#if defined _LIBC && defined USE_IN_LIBIO
n = __asprintf (&buf, _("\
-%s: option `--%s' doesn't allow an argument\n"),
+%s: option '--%s' doesn't allow an argument\n"),
argv[0], pfound->name);
#else
fprintf (stderr, _("\
-%s: option `--%s' doesn't allow an argument\n"),
+%s: option '--%s' doesn't allow an argument\n"),
argv[0], pfound->name);
#endif
}
@@ -631,12 +630,12 @@ _getopt_internal_r (int argc, char *const *argv, const char *optstring,
/* +option or -option */
#if defined _LIBC && defined USE_IN_LIBIO
n = __asprintf (&buf, _("\
-%s: option `%c%s' doesn't allow an argument\n"),
+%s: option '%c%s' doesn't allow an argument\n"),
argv[0], argv[d->optind - 1][0],
pfound->name);
#else
fprintf (stderr, _("\
-%s: option `%c%s' doesn't allow an argument\n"),
+%s: option '%c%s' doesn't allow an argument\n"),
argv[0], argv[d->optind - 1][0],
pfound->name);
#endif
@@ -679,7 +678,7 @@ _getopt_internal_r (int argc, char *const *argv, const char *optstring,
char *buf;
if (__asprintf (&buf, _("\
-%s: option `%s' requires an argument\n"),
+%s: option '%s' requires an argument\n"),
argv[0], argv[d->optind - 1]) >= 0)
{
_IO_flockfile (stderr);
@@ -697,7 +696,7 @@ _getopt_internal_r (int argc, char *const *argv, const char *optstring,
}
#else
fprintf (stderr,
- _("%s: option `%s' requires an argument\n"),
+ _("%s: option '%s' requires an argument\n"),
argv[0], argv[d->optind - 1]);
#endif
}
@@ -735,10 +734,10 @@ _getopt_internal_r (int argc, char *const *argv, const char *optstring,
{
/* --option */
#if defined _LIBC && defined USE_IN_LIBIO
- n = __asprintf (&buf, _("%s: unrecognized option `--%s'\n"),
+ n = __asprintf (&buf, _("%s: unrecognized option '--%s'\n"),
argv[0], d->__nextchar);
#else
- fprintf (stderr, _("%s: unrecognized option `--%s'\n"),
+ fprintf (stderr, _("%s: unrecognized option '--%s'\n"),
argv[0], d->__nextchar);
#endif
}
@@ -746,10 +745,10 @@ _getopt_internal_r (int argc, char *const *argv, const char *optstring,
{
/* +option or -option */
#if defined _LIBC && defined USE_IN_LIBIO
- n = __asprintf (&buf, _("%s: unrecognized option `%c%s'\n"),
+ n = __asprintf (&buf, _("%s: unrecognized option '%c%s'\n"),
argv[0], argv[d->optind][0], d->__nextchar);
#else
- fprintf (stderr, _("%s: unrecognized option `%c%s'\n"),
+ fprintf (stderr, _("%s: unrecognized option '%c%s'\n"),
argv[0], argv[d->optind][0], d->__nextchar);
#endif
}
@@ -799,21 +798,22 @@ _getopt_internal_r (int argc, char *const *argv, const char *optstring,
if (d->__posixly_correct)
{
- /* 1003.2 specifies the format of this message. */
#if defined _LIBC && defined USE_IN_LIBIO
- n = __asprintf (&buf, _("%s: illegal option -- %c\n"),
+ n = __asprintf (&buf, _("%s: illegal option -- '%c'\n"),
argv[0], c);
#else
- fprintf (stderr, _("%s: illegal option -- %c\n"), argv[0], c);
+ fprintf (stderr, _("%s: illegal option -- '%c'\n"), argv[0],
+ c);
#endif
}
else
{
#if defined _LIBC && defined USE_IN_LIBIO
- n = __asprintf (&buf, _("%s: invalid option -- %c\n"),
+ n = __asprintf (&buf, _("%s: invalid option -- '%c'\n"),
argv[0], c);
#else
- fprintf (stderr, _("%s: invalid option -- %c\n"), argv[0], c);
+ fprintf (stderr, _("%s: invalid option -- '%c'\n"), argv[0],
+ c);
#endif
}
@@ -860,12 +860,11 @@ _getopt_internal_r (int argc, char *const *argv, const char *optstring,
{
if (print_errors)
{
- /* 1003.2 specifies the format of this message. */
#if defined _LIBC && defined USE_IN_LIBIO
char *buf;
if (__asprintf (&buf,
- _("%s: option requires an argument -- %c\n"),
+ _("%s: option requires an argument -- '%c'\n"),
argv[0], c) >= 0)
{
_IO_flockfile (stderr);
@@ -881,7 +880,8 @@ _getopt_internal_r (int argc, char *const *argv, const char *optstring,
free (buf);
}
#else
- fprintf (stderr, _("%s: option requires an argument -- %c\n"),
+ fprintf (stderr,
+ _("%s: option requires an argument -- '%c'\n"),
argv[0], c);
#endif
}
@@ -934,7 +934,7 @@ _getopt_internal_r (int argc, char *const *argv, const char *optstring,
#if defined _LIBC && defined USE_IN_LIBIO
char *buf;
- if (__asprintf (&buf, _("%s: option `-W %s' is ambiguous\n"),
+ if (__asprintf (&buf, _("%s: option '-W %s' is ambiguous\n"),
argv[0], argv[d->optind]) >= 0)
{
_IO_flockfile (stderr);
@@ -950,7 +950,7 @@ _getopt_internal_r (int argc, char *const *argv, const char *optstring,
free (buf);
}
#else
- fprintf (stderr, _("%s: option `-W %s' is ambiguous\n"),
+ fprintf (stderr, _("%s: option '-W %s' is ambiguous\n"),
argv[0], argv[d->optind]);
#endif
}
@@ -975,7 +975,7 @@ _getopt_internal_r (int argc, char *const *argv, const char *optstring,
char *buf;
if (__asprintf (&buf, _("\
-%s: option `-W %s' doesn't allow an argument\n"),
+%s: option '-W %s' doesn't allow an argument\n"),
argv[0], pfound->name) >= 0)
{
_IO_flockfile (stderr);
@@ -993,7 +993,7 @@ _getopt_internal_r (int argc, char *const *argv, const char *optstring,
}
#else
fprintf (stderr, _("\
-%s: option `-W %s' doesn't allow an argument\n"),
+%s: option '-W %s' doesn't allow an argument\n"),
argv[0], pfound->name);
#endif
}
@@ -1014,7 +1014,7 @@ _getopt_internal_r (int argc, char *const *argv, const char *optstring,
char *buf;
if (__asprintf (&buf, _("\
-%s: option `%s' requires an argument\n"),
+%s: option '%s' requires an argument\n"),
argv[0], argv[d->optind - 1]) >= 0)
{
_IO_flockfile (stderr);
@@ -1032,7 +1032,7 @@ _getopt_internal_r (int argc, char *const *argv, const char *optstring,
}
#else
fprintf (stderr,
- _("%s: option `%s' requires an argument\n"),
+ _("%s: option '%s' requires an argument\n"),
argv[0], argv[d->optind - 1]);
#endif
}
@@ -1081,12 +1081,11 @@ _getopt_internal_r (int argc, char *const *argv, const char *optstring,
{
if (print_errors)
{
- /* 1003.2 specifies the format of this message. */
#if defined _LIBC && defined USE_IN_LIBIO
char *buf;
if (__asprintf (&buf, _("\
-%s: option requires an argument -- %c\n"),
+%s: option requires an argument -- '%c'\n"),
argv[0], c) >= 0)
{
_IO_flockfile (stderr);
@@ -1103,7 +1102,7 @@ _getopt_internal_r (int argc, char *const *argv, const char *optstring,
}
#else
fprintf (stderr,
- _("%s: option requires an argument -- %c\n"),
+ _("%s: option requires an argument -- '%c'\n"),
argv[0], c);
#endif
}
@@ -1200,7 +1199,7 @@ main (int argc, char **argv)
break;
case 'c':
- printf ("option c with value `%s'\n", optarg);
+ printf ("option c with value '%s'\n", optarg);
break;
case '?':
diff --git a/libc/resolv/nss_dns/dns-host.c b/libc/resolv/nss_dns/dns-host.c
index def44e9db..dfdf9c5dc 100644
--- a/libc/resolv/nss_dns/dns-host.c
+++ b/libc/resolv/nss_dns/dns-host.c
@@ -1,4 +1,4 @@
-/* Copyright (C) 1996-2003, 2004, 2007 Free Software Foundation, Inc.
+/* Copyright (C) 1996-2004, 2007, 2008 Free Software Foundation, Inc.
This file is part of the GNU C Library.
Extended from original form by Ulrich Drepper <drepper@cygnus.com>, 1996.
@@ -386,11 +386,7 @@ _nss_dns_gethostbyaddr2_r (const void *addr, socklen_t len, int af,
if (host_buffer.buf != orig_host_buffer)
free (host_buffer.buf);
if (status != NSS_STATUS_SUCCESS)
- {
- *h_errnop = h_errno;
- *errnop = errno;
- return status;
- }
+ return status;
#ifdef SUNSECURITY
This is not implemented because it is not possible to use the current
diff --git a/libc/resolv/res_debug.c b/libc/resolv/res_debug.c
index d9f1607df..cd69d4f4d 100644
--- a/libc/resolv/res_debug.c
+++ b/libc/resolv/res_debug.c
@@ -204,8 +204,7 @@ do_section(const res_state statp,
rrnum++;
}
cleanup:
- if (buf != NULL)
- free(buf);
+ free(buf);
}
/*
diff --git a/libc/stdlib/Makefile b/libc/stdlib/Makefile
index ffedf6d23..9491229f4 100644
--- a/libc/stdlib/Makefile
+++ b/libc/stdlib/Makefile
@@ -61,7 +61,7 @@ routines-$(OPTION_POSIX_C_LANG_WIDE_CHAR) += \
ifeq (yy,$(OPTION_EGLIBC_LOCALE_CODE)$(OPTION_POSIX_REGEXP))
routines-y += rpmatch
endif
-aux = grouping groupingwc
+aux = grouping groupingwc tens_in_limb
# These routines will be omitted from the libc shared object.
# Instead the static object files will be included in a special archive
@@ -77,7 +77,7 @@ tests := tst-strtol tst-strtod testrand testsort testdiv \
tst-limits tst-rand48 bug-strtod tst-setcontext \
test-a64l tst-qsort tst-system bug-strtod2 \
tst-atof1 tst-atof2 tst-strtod2 tst-rand48-2 \
- tst-makecontext tst-qsort2 tst-makecontext2
+ tst-makecontext tst-qsort2 tst-makecontext2 tst-strtod6
tests-$(OPTION_EGLIBC_LOCALE_CODE) \
+= tst-strtod3 tst-strtod4 tst-strtod5 testmb2
tests-$(OPTION_POSIX_C_LANG_WIDE_CHAR) \
diff --git a/libc/stdlib/strtod_l.c b/libc/stdlib/strtod_l.c
index 4f43f3853..05d4ca56a 100644
--- a/libc/stdlib/strtod_l.c
+++ b/libc/stdlib/strtod_l.c
@@ -1,5 +1,5 @@
/* Convert string representing a number to float value, using given locale.
- Copyright (C) 1997,1998,2002,2004,2005,2006,2007
+ Copyright (C) 1997,1998,2002,2004,2005,2006,2007,2008
Free Software Foundation, Inc.
This file is part of the GNU C Library.
Contributed by Ulrich Drepper <drepper@cygnus.com>, 1997.
@@ -149,23 +149,7 @@ extern FLOAT MPN2FLOAT (mp_srcptr mpn, int exponent, int negative);
# error "mp_limb_t size " BITS_PER_MP_LIMB "not accounted for"
#endif
-
-/* Local data structure. */
-static const mp_limb_t _tens_in_limb[MAX_DIG_PER_LIMB + 1] =
-{ 0, 10, 100,
- 1000, 10000, 100000L,
- 1000000L, 10000000L, 100000000L,
- 1000000000L
-#if BITS_PER_MP_LIMB > 32
- , 10000000000ULL, 100000000000ULL,
- 1000000000000ULL, 10000000000000ULL, 100000000000000ULL,
- 1000000000000000ULL, 10000000000000000ULL, 100000000000000000ULL,
- 1000000000000000000ULL, 10000000000000000000ULL
-#endif
-#if BITS_PER_MP_LIMB > 64
- #error "Need to expand tens_in_limb table to" MAX_DIG_PER_LIMB
-#endif
-};
+extern const mp_limb_t _tens_in_limb[MAX_DIG_PER_LIMB + 1];
#ifndef howmany
#define howmany(x,y) (((x)+((y)-1))/(y))
@@ -623,6 +607,9 @@ ____STRTOF_INTERNAL (nptr, endptr, group, loc)
mant = STRTOULL (startp + 1, &endp, 0);
if (endp == cp)
SET_MANTISSA (retval, mant);
+
+ /* Consume the closing brace. */
+ ++cp;
}
}
diff --git a/libc/stdlib/tens_in_limb.c b/libc/stdlib/tens_in_limb.c
new file mode 100644
index 000000000..b6e35aa35
--- /dev/null
+++ b/libc/stdlib/tens_in_limb.c
@@ -0,0 +1,31 @@
+#include <gmp.h>
+
+
+/* Definitions according to limb size used. */
+#if BITS_PER_MP_LIMB == 32
+# define MAX_DIG_PER_LIMB 9
+# define MAX_FAC_PER_LIMB 1000000000UL
+#elif BITS_PER_MP_LIMB == 64
+# define MAX_DIG_PER_LIMB 19
+# define MAX_FAC_PER_LIMB 10000000000000000000ULL
+#else
+# error "mp_limb_t size " BITS_PER_MP_LIMB "not accounted for"
+#endif
+
+
+/* Local data structure. */
+const mp_limb_t _tens_in_limb[MAX_DIG_PER_LIMB + 1] =
+{ 0, 10, 100,
+ 1000, 10000, 100000L,
+ 1000000L, 10000000L, 100000000L,
+ 1000000000L
+#if BITS_PER_MP_LIMB > 32
+ , 10000000000ULL, 100000000000ULL,
+ 1000000000000ULL, 10000000000000ULL, 100000000000000ULL,
+ 1000000000000000ULL, 10000000000000000ULL, 100000000000000000ULL,
+ 1000000000000000000ULL, 10000000000000000000ULL
+#endif
+#if BITS_PER_MP_LIMB > 64
+ #error "Need to expand tens_in_limb table to" MAX_DIG_PER_LIMB
+#endif
+};
diff --git a/libc/stdlib/tst-strtod6.c b/libc/stdlib/tst-strtod6.c
new file mode 100644
index 000000000..fdb104f9c
--- /dev/null
+++ b/libc/stdlib/tst-strtod6.c
@@ -0,0 +1,53 @@
+#include <math.h>
+#include <stdio.h>
+#include <stdlib.h>
+#include <string.h>
+
+static int
+do_test (void)
+{
+ static const char str[] = "NaN(blabla)something";
+ char *endp;
+ int result = 0;
+
+ double d = strtod (str, &endp);
+ if (!isnan (d))
+ {
+ puts ("strtod did not return NAN");
+ result = 1;
+ }
+ if (strcmp (endp, "something") != 0)
+ {
+ puts ("strtod set incorrect end pointer");
+ result = 1;
+ }
+
+ float f = strtof (str, &endp);
+ if (!isnanf (f))
+ {
+ puts ("strtof did not return NAN");
+ result = 1;
+ }
+ if (strcmp (endp, "something") != 0)
+ {
+ puts ("strtof set incorrect end pointer");
+ result = 1;
+ }
+
+ long double ld = strtold (str, &endp);
+ if (!isnan (ld))
+ {
+ puts ("strtold did not return NAN");
+ result = 1;
+ }
+ if (strcmp (endp, "something") != 0)
+ {
+ puts ("strtold set incorrect end pointer");
+ result = 1;
+ }
+
+ return result;
+}
+
+#define TEST_FUNCTION do_test ()
+#include "../test-skeleton.c"
diff --git a/libc/sunrpc/xdr_sizeof.c b/libc/sunrpc/xdr_sizeof.c
index aaf25e969..dc3e19ebe 100644
--- a/libc/sunrpc/xdr_sizeof.c
+++ b/libc/sunrpc/xdr_sizeof.c
@@ -86,8 +86,7 @@ x_inline (XDR *xdrs, u_int len)
else
{
/* Free the earlier space and allocate new area */
- if (xdrs->x_private)
- free (xdrs->x_private);
+ free (xdrs->x_private);
if ((xdrs->x_private = (caddr_t) malloc (len)) == NULL)
{
xdrs->x_base = 0;
@@ -157,7 +156,6 @@ xdr_sizeof (xdrproc_t func, void *data)
x.x_base = (caddr_t) 0;
stat = func (&x, data);
- if (x.x_private)
- free (x.x_private);
+ free (x.x_private);
return stat == TRUE ? x.x_handy : 0;
}
diff --git a/libc/sysdeps/generic/ldsodefs.h b/libc/sysdeps/generic/ldsodefs.h
index 958a099b8..9d1ebdf61 100644
--- a/libc/sysdeps/generic/ldsodefs.h
+++ b/libc/sysdeps/generic/ldsodefs.h
@@ -1,5 +1,5 @@
/* Run-time dynamic linker data structures for loaded ELF shared objects.
- Copyright (C) 1995-2006, 2007 Free Software Foundation, Inc.
+ Copyright (C) 1995-2006, 2007, 2008 Free Software Foundation, Inc.
This file is part of the GNU C Library.
The GNU C Library is free software; you can redistribute it and/or
@@ -655,6 +655,10 @@ struct rtld_global_ro
void *(*_dl_open) (const char *file, int mode, const void *caller_dlopen,
Lmid_t nsid, int argc, char *argv[], char *env[]);
void (*_dl_close) (void *map);
+ void *(*_dl_tls_get_addr_soft) (struct link_map *);
+#ifdef HAVE_DL_DISCOVER_OSVERSION
+ int (*_dl_discover_osversion) (void);
+#endif
/* List of auditing interfaces. */
struct audit_ifaces *_dl_audit;
@@ -1069,7 +1073,7 @@ extern struct link_map *_dl_update_slotinfo (unsigned long int req_modid);
/* Look up the module's TLS block as for __tls_get_addr,
but never touch anything. Return null if it's not allocated yet. */
-extern void *_dl_tls_get_addr_soft (struct link_map *l) internal_function;
+extern void *_dl_tls_get_addr_soft (struct link_map *l) attribute_hidden;
extern int _dl_addr_inside_object (struct link_map *l, const ElfW(Addr) addr)
internal_function attribute_hidden;
diff --git a/libc/sysdeps/ia64/ieee754.h b/libc/sysdeps/ia64/ieee754.h
index f5a71f5b9..44629430f 100644
--- a/libc/sysdeps/ia64/ieee754.h
+++ b/libc/sysdeps/ia64/ieee754.h
@@ -80,7 +80,7 @@ union ieee754_double
unsigned int mantissa1:32;
#endif /* Big endian. */
#if __BYTE_ORDER == __LITTLE_ENDIAN
-# if __FLOAT_WORD_ORDER == BIG_ENDIAN
+# if __FLOAT_WORD_ORDER == __BIG_ENDIAN
unsigned int mantissa0:20;
unsigned int exponent:11;
unsigned int negative:1;
@@ -106,7 +106,7 @@ union ieee754_double
unsigned int mantissa0:19;
unsigned int mantissa1:32;
#else
-# if __FLOAT_WORD_ORDER == BIG_ENDIAN
+# if __FLOAT_WORD_ORDER == __BIG_ENDIAN
unsigned int mantissa0:19;
unsigned int quiet_nan:1;
unsigned int exponent:11;
@@ -143,7 +143,7 @@ union ieee854_long_double
unsigned int mantissa1:32;
#endif
#if __BYTE_ORDER == __LITTLE_ENDIAN
-# if __FLOAT_WORD_ORDER == BIG_ENDIAN
+# if __FLOAT_WORD_ORDER == __BIG_ENDIAN
unsigned int empty0:32;
unsigned int exponent:15;
unsigned int negative:1;
@@ -175,7 +175,7 @@ union ieee854_long_double
unsigned int mantissa1:32;
#endif
#if __BYTE_ORDER == __LITTLE_ENDIAN
-# if __FLOAT_WORD_ORDER == BIG_ENDIAN
+# if __FLOAT_WORD_ORDER == __BIG_ENDIAN
unsigned int empty0:32;
unsigned int exponent:15;
unsigned int negative:1;
diff --git a/libc/sysdeps/ieee754/dbl-64/s_nearbyint.c b/libc/sysdeps/ieee754/dbl-64/s_nearbyint.c
index 32f5bf944..71e14cfb6 100644
--- a/libc/sysdeps/ieee754/dbl-64/s_nearbyint.c
+++ b/libc/sysdeps/ieee754/dbl-64/s_nearbyint.c
@@ -71,8 +71,15 @@ TWO52[2]={
if(((i0&i)|i1)==0) return x; /* x is integral */
i>>=1;
if(((i0&i)|i1)!=0) {
- if(j0==19) i1 = 0x40000000; else
+ if (j0==19)
+ i1 = 0x40000000;
+ else if (j0<18)
i0 = (i0&(~i))|((0x20000)>>j0);
+ else
+ {
+ i0 &= ~i;
+ i1 = 0x80000000;
+ }
}
}
} else if (j0>51) {
diff --git a/libc/sysdeps/ieee754/dbl-64/s_rint.c b/libc/sysdeps/ieee754/dbl-64/s_rint.c
index e5f241291..4e6381efb 100644
--- a/libc/sysdeps/ieee754/dbl-64/s_rint.c
+++ b/libc/sysdeps/ieee754/dbl-64/s_rint.c
@@ -67,8 +67,15 @@ TWO52[2]={
if(((i0&i)|i1)==0) return x; /* x is integral */
i>>=1;
if(((i0&i)|i1)!=0) {
- if(j0==19) i1 = 0x40000000; else
- i0 = (i0&(~i))|((0x20000)>>j0);
+ if (j0==19)
+ i1 = 0x40000000;
+ else if (j0<18)
+ i0 = (i0&(~i))|((0x20000)>>j0);
+ else
+ {
+ i0 &= ~i;
+ i1 = 0x80000000;
+ }
}
}
} else if (j0>51) {
diff --git a/libc/sysdeps/ieee754/ieee754.h b/libc/sysdeps/ieee754/ieee754.h
index 7131e5de6..b17c29ab7 100644
--- a/libc/sysdeps/ieee754/ieee754.h
+++ b/libc/sysdeps/ieee754/ieee754.h
@@ -80,7 +80,7 @@ union ieee754_double
unsigned int mantissa1:32;
#endif /* Big endian. */
#if __BYTE_ORDER == __LITTLE_ENDIAN
-# if __FLOAT_WORD_ORDER == BIG_ENDIAN
+# if __FLOAT_WORD_ORDER == __BIG_ENDIAN
unsigned int mantissa0:20;
unsigned int exponent:11;
unsigned int negative:1;
@@ -106,7 +106,7 @@ union ieee754_double
unsigned int mantissa0:19;
unsigned int mantissa1:32;
#else
-# if __FLOAT_WORD_ORDER == BIG_ENDIAN
+# if __FLOAT_WORD_ORDER == __BIG_ENDIAN
unsigned int mantissa0:19;
unsigned int quiet_nan:1;
unsigned int exponent:11;
@@ -142,7 +142,7 @@ union ieee854_long_double
unsigned int mantissa1:32;
#endif
#if __BYTE_ORDER == __LITTLE_ENDIAN
-# if __FLOAT_WORD_ORDER == BIG_ENDIAN
+# if __FLOAT_WORD_ORDER == __BIG_ENDIAN
unsigned int exponent:15;
unsigned int negative:1;
unsigned int empty:16;
@@ -171,7 +171,7 @@ union ieee854_long_double
unsigned int mantissa1:32;
#endif
#if __BYTE_ORDER == __LITTLE_ENDIAN
-# if __FLOAT_WORD_ORDER == BIG_ENDIAN
+# if __FLOAT_WORD_ORDER == __BIG_ENDIAN
unsigned int exponent:15;
unsigned int negative:1;
unsigned int empty:16;
diff --git a/libc/sysdeps/ieee754/ldbl-opt/Makefile b/libc/sysdeps/ieee754/ldbl-opt/Makefile
index 75d332773..456a9a101 100644
--- a/libc/sysdeps/ieee754/ldbl-opt/Makefile
+++ b/libc/sysdeps/ieee754/ldbl-opt/Makefile
@@ -20,7 +20,8 @@ libnldbl-calls = asprintf dprintf fprintf fscanf fwprintf fwscanf iovfscanf \
fprintf_chk fwprintf_chk printf_chk snprintf_chk sprintf_chk \
swprintf_chk vfprintf_chk vfwprintf_chk vprintf_chk \
vsnprintf_chk vsprintf_chk vswprintf_chk vwprintf_chk \
- wprintf_chk \
+ wprintf_chk asprintf_chk vasprintf_chk dprintf_chk \
+ vdprintf_chk obstack_printf_chk obstack_vprintf_chk \
syslog syslog_chk vsyslog vsyslog_chk \
strtold strtold_l strtoldint wcstold wcstold_l wcstoldint \
qecvt qfcvt qgcvt qecvt_r qfcvt_r \
diff --git a/libc/sysdeps/ieee754/ldbl-opt/Versions b/libc/sysdeps/ieee754/ldbl-opt/Versions
index 74fb3383a..d3f0beaef 100644
--- a/libc/sysdeps/ieee754/ldbl-opt/Versions
+++ b/libc/sysdeps/ieee754/ldbl-opt/Versions
@@ -73,6 +73,11 @@ libc {
__nldbl___isoc99_swscanf; __nldbl___isoc99_vwscanf;
__nldbl___isoc99_vfwscanf; __nldbl___isoc99_vswscanf;
}
+ GLIBC_2.8 {
+ __nldbl___asprintf_chk; __nldbl___vasprintf_chk;
+ __nldbl___dprintf_chk; __nldbl___vdprintf_chk;
+ __nldbl___obstack_printf_chk; __nldbl___obstack_vprintf_chk;
+ }
}
libm {
NLDBL_VERSION {
diff --git a/libc/sysdeps/ieee754/ldbl-opt/nldbl-asprintf_chk.c b/libc/sysdeps/ieee754/ldbl-opt/nldbl-asprintf_chk.c
new file mode 100644
index 000000000..b520181db
--- /dev/null
+++ b/libc/sysdeps/ieee754/ldbl-opt/nldbl-asprintf_chk.c
@@ -0,0 +1,15 @@
+#include "nldbl-compat.h"
+
+attribute_hidden
+int
+__asprintf_chk (char **string_ptr, int flag, const char *fmt, ...)
+{
+ va_list arg;
+ int done;
+
+ va_start (arg, fmt);
+ done = __nldbl___vasprintf_chk (string_ptr, flag, fmt, arg);
+ va_end (arg);
+
+ return done;
+}
diff --git a/libc/sysdeps/ieee754/ldbl-opt/nldbl-compat.c b/libc/sysdeps/ieee754/ldbl-opt/nldbl-compat.c
index aa0899780..61bf51069 100644
--- a/libc/sysdeps/ieee754/ldbl-opt/nldbl-compat.c
+++ b/libc/sysdeps/ieee754/ldbl-opt/nldbl-compat.c
@@ -1,5 +1,5 @@
/* *printf* family compatibility routines for IEEE double as long double
- Copyright (C) 2006, 2007 Free Software Foundation, Inc.
+ Copyright (C) 2006, 2007, 2008 Free Software Foundation, Inc.
This file is part of the GNU C Library.
Contributed by Jakub Jelinek <jakub@cygnus.com>, 2006.
@@ -48,6 +48,9 @@ libc_hidden_proto (__nldbl___vfprintf_chk)
libc_hidden_proto (__nldbl___vsyslog_chk)
libc_hidden_proto (__nldbl___vsprintf_chk)
libc_hidden_proto (__nldbl___vswprintf_chk)
+libc_hidden_proto (__nldbl___vasprintf_chk)
+libc_hidden_proto (__nldbl___vdprintf_chk)
+libc_hidden_proto (__nldbl___obstack_vprintf_chk)
libc_hidden_proto (__nldbl___vstrfmon)
libc_hidden_proto (__nldbl___vstrfmon_l)
libc_hidden_proto (__nldbl___isoc99_vsscanf)
@@ -667,6 +670,86 @@ __nldbl___wprintf_chk (int flag, const wchar_t *fmt, ...)
return done;
}
+int
+attribute_compat_text_section
+__nldbl___vasprintf_chk (char **ptr, int flag, const char *fmt, va_list arg)
+{
+ int res;
+ __no_long_double = 1;
+ res = __vasprintf_chk (ptr, flag, fmt, arg);
+ __no_long_double = 0;
+ return res;
+}
+libc_hidden_def (__nldbl___vasprintf_chk)
+
+int
+attribute_compat_text_section
+__nldbl___asprintf_chk (char **ptr, int flag, const char *fmt, ...)
+{
+ va_list arg;
+ int done;
+
+ va_start (arg, fmt);
+ done = __nldbl___vasprintf_chk (ptr, flag, fmt, arg);
+ va_end (arg);
+
+ return done;
+}
+
+int
+attribute_compat_text_section
+__nldbl___vdprintf_chk (int d, int flag, const char *fmt, va_list arg)
+{
+ int res;
+ set_no_long_double ();
+ res = __vdprintf_chk (d, flag, fmt, arg);
+ clear_no_long_double ();
+ return res;
+}
+libc_hidden_def (__nldbl___vdprintf_chk)
+
+int
+attribute_compat_text_section
+__nldbl___dprintf_chk (int d, int flag, const char *fmt, ...)
+{
+ va_list arg;
+ int done;
+
+ va_start (arg, fmt);
+ done = __nldbl___vdprintf_chk (d, flag, fmt, arg);
+ va_end (arg);
+
+ return done;
+}
+
+int
+attribute_compat_text_section
+__nldbl___obstack_vprintf_chk (struct obstack *obstack, int flag,
+ const char *fmt, va_list arg)
+{
+ int res;
+ __no_long_double = 1;
+ res = __obstack_vprintf_chk (obstack, flag, fmt, arg);
+ __no_long_double = 0;
+ return res;
+}
+libc_hidden_def (__nldbl___obstack_vprintf_chk)
+
+int
+attribute_compat_text_section
+__nldbl___obstack_printf_chk (struct obstack *obstack, int flag,
+ const char *fmt, ...)
+{
+ va_list arg;
+ int done;
+
+ va_start (arg, fmt);
+ done = __nldbl___obstack_vprintf_chk (obstack, flag, fmt, arg);
+ va_end (arg);
+
+ return done;
+}
+
extern __typeof (printf_size) __printf_size;
int
diff --git a/libc/sysdeps/ieee754/ldbl-opt/nldbl-compat.h b/libc/sysdeps/ieee754/ldbl-opt/nldbl-compat.h
index c7824583d..cde15963d 100644
--- a/libc/sysdeps/ieee754/ldbl-opt/nldbl-compat.h
+++ b/libc/sysdeps/ieee754/ldbl-opt/nldbl-compat.h
@@ -93,6 +93,11 @@ extern int __nldbl___vsnprintf_chk (char *__restrict, size_t, int, size_t,
extern int __nldbl___vswprintf_chk (wchar_t *__restrict, size_t, int, size_t,
const wchar_t *__restrict, __gnuc_va_list)
__THROW;
+extern int __nldbl___vasprintf_chk (char **, int, const char *, _G_va_list)
+ __THROW;
+extern int __nldbl___vdprintf_chk (int, int, const char *, _G_va_list);
+extern int __nldbl___obstack_vprintf_chk (struct obstack *, int, const char *,
+ _G_va_list) __THROW;
extern void __nldbl___vsyslog_chk (int, int, const char *, va_list);
diff --git a/libc/sysdeps/ieee754/ldbl-opt/nldbl-dprintf_chk.c b/libc/sysdeps/ieee754/ldbl-opt/nldbl-dprintf_chk.c
new file mode 100644
index 000000000..b3e235912
--- /dev/null
+++ b/libc/sysdeps/ieee754/ldbl-opt/nldbl-dprintf_chk.c
@@ -0,0 +1,15 @@
+#include "nldbl-compat.h"
+
+attribute_hidden
+int
+__dprintf_chk (int d, int flag, const char *fmt, ...)
+{
+ va_list arg;
+ int done;
+
+ va_start (arg, fmt);
+ done = __nldbl___vdprintf_chk (d, flag, fmt, arg);
+ va_end (arg);
+
+ return done;
+}
diff --git a/libc/sysdeps/ieee754/ldbl-opt/nldbl-obstack_printf_chk.c b/libc/sysdeps/ieee754/ldbl-opt/nldbl-obstack_printf_chk.c
new file mode 100644
index 000000000..8e7d8eb4a
--- /dev/null
+++ b/libc/sysdeps/ieee754/ldbl-opt/nldbl-obstack_printf_chk.c
@@ -0,0 +1,13 @@
+#include "nldbl-compat.h"
+
+int
+attribute_hidden
+__obstack_printf_chk (struct obstack *obstack, int flag, const char *fmt, ...)
+{
+ int result;
+ va_list ap;
+ va_start (ap, fmt);
+ result = __nldbl___obstack_vprintf_chk (obstack, flag, fmt, ap);
+ va_end (ap);
+ return result;
+}
diff --git a/libc/sysdeps/ieee754/ldbl-opt/nldbl-obstack_vprintf_chk.c b/libc/sysdeps/ieee754/ldbl-opt/nldbl-obstack_vprintf_chk.c
new file mode 100644
index 000000000..a06f6bf9b
--- /dev/null
+++ b/libc/sysdeps/ieee754/ldbl-opt/nldbl-obstack_vprintf_chk.c
@@ -0,0 +1,9 @@
+#include "nldbl-compat.h"
+
+int
+attribute_hidden
+__obstack_vprintf_chk (struct obstack *obstack, int flag, const char *fmt,
+ va_list ap)
+{
+ return __nldbl___obstack_vprintf_chk (obstack, flag, fmt, ap);
+}
diff --git a/libc/sysdeps/ieee754/ldbl-opt/nldbl-vasprintf_chk.c b/libc/sysdeps/ieee754/ldbl-opt/nldbl-vasprintf_chk.c
new file mode 100644
index 000000000..4f5391a9d
--- /dev/null
+++ b/libc/sysdeps/ieee754/ldbl-opt/nldbl-vasprintf_chk.c
@@ -0,0 +1,8 @@
+#include "nldbl-compat.h"
+
+int
+attribute_hidden
+__vasprintf_chk (char **result_ptr, int flag, const char *fmt, va_list ap)
+{
+ return __nldbl___vasprintf_chk (result_ptr, flag, fmt, ap);
+}
diff --git a/libc/sysdeps/ieee754/ldbl-opt/nldbl-vdprintf_chk.c b/libc/sysdeps/ieee754/ldbl-opt/nldbl-vdprintf_chk.c
new file mode 100644
index 000000000..ca1ce0187
--- /dev/null
+++ b/libc/sysdeps/ieee754/ldbl-opt/nldbl-vdprintf_chk.c
@@ -0,0 +1,8 @@
+#include "nldbl-compat.h"
+
+int
+attribute_hidden
+__vdprintf_chk (int d, int flag, const char *fmt, va_list arg)
+{
+ return __nldbl___vdprintf_chk (d, flag, fmt, arg);
+}
diff --git a/libc/sysdeps/mach/hurd/i386/trampoline.c b/libc/sysdeps/mach/hurd/i386/trampoline.c
index dddc6f3ef..99d930836 100644
--- a/libc/sysdeps/mach/hurd/i386/trampoline.c
+++ b/libc/sysdeps/mach/hurd/i386/trampoline.c
@@ -1,5 +1,5 @@
/* Set thread_state for sighandler, and sigcontext to recover. i386 version.
- Copyright (C) 1994,1995,1996,1997,1998,1999,2005
+ Copyright (C) 1994,1995,1996,1997,1998,1999,2005,2008
Free Software Foundation, Inc.
This file is part of the GNU C Library.
@@ -21,6 +21,7 @@
#include <hurd/signal.h>
#include <hurd/userlink.h>
#include <thread_state.h>
+#include <mach/machine/eflags.h>
#include <assert.h>
#include <errno.h>
#include "hurdfault.h"
@@ -218,6 +219,9 @@ _hurd_setup_sighandler (struct hurd_sigstate *ss, __sighandler_t handler,
/* We pass the handler function to the trampoline code in %edx. */
state->basic.edx = (int) handler;
+ /* The x86 ABI says the DF bit is clear on entry to any function. */
+ state->basic.efl &= ~EFL_DF;
+
return scp;
}
diff --git a/libc/sysdeps/mach/hurd/if_index.c b/libc/sysdeps/mach/hurd/if_index.c
index 664a3a1ef..4ecda2298 100644
--- a/libc/sysdeps/mach/hurd/if_index.c
+++ b/libc/sysdeps/mach/hurd/if_index.c
@@ -59,8 +59,7 @@ if_freenameindex (struct if_nameindex *ifn)
struct if_nameindex *ptr = ifn;
while (ptr->if_name || ptr->if_index)
{
- if (ptr->if_name)
- free (ptr->if_name);
+ free (ptr->if_name);
++ptr;
}
free (ifn);
diff --git a/libc/sysdeps/posix/getaddrinfo.c b/libc/sysdeps/posix/getaddrinfo.c
index fb18bba47..9a27efdf8 100644
--- a/libc/sysdeps/posix/getaddrinfo.c
+++ b/libc/sysdeps/posix/getaddrinfo.c
@@ -1775,6 +1775,7 @@ gaiconf_init (void)
*cp++ = '\0';
if (inet_pton (AF_INET6, val1, &prefix))
{
+ bits = 128;
if (IN6_IS_ADDR_V4MAPPED (&prefix)
&& (cp == NULL
|| (bits = strtoul (cp, &endp, 10)) != ULONG_MAX
diff --git a/libc/sysdeps/posix/sprofil.c b/libc/sysdeps/posix/sprofil.c
index 853038d07..6ffce4d78 100644
--- a/libc/sysdeps/posix/sprofil.c
+++ b/libc/sysdeps/posix/sprofil.c
@@ -322,8 +322,7 @@ __sprofil (struct prof *profp, int profcnt, struct timeval *tvp,
for (i = 0; i < profcnt; ++i)
if (add_region (p[i], (flags & PROF_UINT) != 0) < 0)
{
- if (prof_info.region)
- free (prof_info.region);
+ free (prof_info.region);
prof_info.num_regions = 0;
prof_info.region = NULL;
return -1;
diff --git a/libc/sysdeps/s390/fpu/fegetenv.c b/libc/sysdeps/s390/fpu/fegetenv.c
index b35a76a4e..a244f2ca8 100644
--- a/libc/sysdeps/s390/fpu/fegetenv.c
+++ b/libc/sysdeps/s390/fpu/fegetenv.c
@@ -1,5 +1,5 @@
/* Store current floating-point environment.
- Copyright (C) 2000, 2003 Free Software Foundation, Inc.
+ Copyright (C) 2000, 2008 Free Software Foundation, Inc.
This file is part of the GNU C Library.
Contributed by Denis Joseph Barrow (djbarrow@de.ibm.com).
@@ -28,15 +28,7 @@
int
fegetenv (fenv_t *envp)
{
- /* The S/390 IEEE fpu doesn't keep track of the ieee instruction pointer.
- To get around that the kernel will store the address of the last
- fpu fault to the process structure. This ptrace call reads this value
- from the kernel space. That means the ieee_instruction_pointer is
- only correct after a fpu fault. That's the best we can do, there is
- no way to find out the ieee instruction pointer if there was no fault. */
_FPU_GETCW (envp->fpc);
- envp->ieee_instruction_pointer =
- (void *) ptrace (PTRACE_PEEKUSER, getpid (), PT_IEEE_IP);
/* Success. */
return 0;
diff --git a/libc/sysdeps/s390/fpu/fesetenv.c b/libc/sysdeps/s390/fpu/fesetenv.c
index bb71c95a1..82555c494 100644
--- a/libc/sysdeps/s390/fpu/fesetenv.c
+++ b/libc/sysdeps/s390/fpu/fesetenv.c
@@ -1,5 +1,5 @@
/* Install given floating-point environment.
- Copyright (C) 2000, 2002 Free Software Foundation, Inc.
+ Copyright (C) 2000, 2008 Free Software Foundation, Inc.
This file is part of the GNU C Library.
Contributed by Denis Joseph Barrow (djbarrow@de.ibm.com).
@@ -43,13 +43,7 @@ fesetenv (const fenv_t *envp)
else
env = (*envp);
- /* The S/390 IEEE fpu doesn't have a register for the ieee
- instruction pointer. The operating system is required to keep an
- instruction pointer on a per process base. We read and write this
- value with the ptrace interface. */
_FPU_SETCW (env.fpc);
- ptrace (PTRACE_POKEUSER, getpid (), PT_IEEE_IP,
- env.ieee_instruction_pointer);
/* Success. */
return 0;
diff --git a/libc/sysdeps/unix/sysv/linux/adjtime.c b/libc/sysdeps/unix/sysv/linux/adjtime.c
index 202bb1448..ebd214970 100644
--- a/libc/sysdeps/unix/sysv/linux/adjtime.c
+++ b/libc/sysdeps/unix/sysv/linux/adjtime.c
@@ -1,4 +1,4 @@
-/* Copyright (C) 1995, 1996, 1997, 1998, 2002, 2004, 2007
+/* Copyright (C) 1995, 1996, 1997, 1998, 2002, 2004, 2007, 2008
Free Software Foundation, Inc.
This file is part of the GNU C Library.
@@ -71,14 +71,16 @@ ADJTIME (const struct TIMEVAL *itv, struct TIMEVAL *otv)
return -1;
}
tntx.offset = tmp.tv_usec + tmp.tv_sec * 1000000L;
+ tntx.modes = ADJ_OFFSET_SINGLESHOT;
+ }
+ else
+ {
#ifdef ADJ_OFFSET_SS_READ
tntx.modes = ADJ_OFFSET_SS_READ;
#else
- tntx.modes = ADJ_OFFSET_SINGLESHOT;
+ tntx.modes = 0;
#endif
}
- else
- tntx.modes = 0;
#if defined ADJ_OFFSET_SS_READ && !defined __ASSUME_ADJ_OFFSET_SS_READ
again:
diff --git a/libc/sysdeps/unix/sysv/linux/bits/posix_opt.h b/libc/sysdeps/unix/sysv/linux/bits/posix_opt.h
index 1a96db298..37612e0bd 100644
--- a/libc/sysdeps/unix/sysv/linux/bits/posix_opt.h
+++ b/libc/sysdeps/unix/sysv/linux/bits/posix_opt.h
@@ -1,5 +1,6 @@
/* Define POSIX options for Linux.
- Copyright (C) 1996,1997,1999,2000,2002,2003 Free Software Foundation, Inc.
+ Copyright (C) 1996,1997,1999,2000,2002,2003,2008
+ Free Software Foundation, Inc.
This file is part of the GNU C Library.
The GNU C Library is free software; you can redistribute it and/or
@@ -51,8 +52,8 @@
/* Setting of memory protections is supported. */
#define _POSIX_MEMORY_PROTECTION 200112L
-/* Only root can change owner of file. */
-#define _POSIX_CHOWN_RESTRICTED 1
+/* Some filesystems allow all users to change file ownership. */
+#define _POSIX_CHOWN_RESTRICTED 0
/* `c_cc' member of 'struct termios' structure can be disabled by
using the value _POSIX_VDISABLE. */
diff --git a/libc/sysdeps/unix/sysv/linux/bits/sched.h b/libc/sysdeps/unix/sysv/linux/bits/sched.h
index 5387b9cef..38ba30500 100644
--- a/libc/sysdeps/unix/sysv/linux/bits/sched.h
+++ b/libc/sysdeps/unix/sysv/linux/bits/sched.h
@@ -59,7 +59,12 @@
force CLONE_PTRACE on this clone. */
# define CLONE_CHILD_SETTID 0x01000000 /* Store TID in userlevel buffer in
the child. */
-# define CLONE_STOPPED 0x02000000 /* Start in stopped state. */
+# define CLONE_NEWUTS 0x04000000 /* New utsname group. */
+# define CLONE_NEWIPC 0x08000000 /* New ipcs. */
+# define CLONE_NEWUSER 0x10000000 /* New user namespace. */
+# define CLONE_NEWPID 0x20000000 /* New pid namespace. */
+# define CLONE_NEWNET 0x40000000 /* New network namespace. */
+# define CLONE_IO 0x80000000 /* Clone I/O context. */
#endif
/* The official definition. */
diff --git a/libc/sysdeps/unix/sysv/linux/dl-osinfo.h b/libc/sysdeps/unix/sysv/linux/dl-osinfo.h
index 082790f63..b13b6cf1d 100644
--- a/libc/sysdeps/unix/sysv/linux/dl-osinfo.h
+++ b/libc/sysdeps/unix/sysv/linux/dl-osinfo.h
@@ -1,6 +1,5 @@
/* Operating system specific code for generic dynamic loader functions. Linux.
- Copyright (C) 2000,2001,2002,2004,2005,2006,2007
- Free Software Foundation, Inc.
+ Copyright (C) 2000-2002,2004-2007,2008 Free Software Foundation, Inc.
This file is part of the GNU C Library.
The GNU C Library is free software; you can redistribute it and/or
@@ -18,9 +17,6 @@
Software Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA
02111-1307 USA. */
-#include <string.h>
-#include <fcntl.h>
-#include <sys/utsname.h>
#include <kernel-features.h>
#include <dl-sysdep.h>
#include <stdint.h>
@@ -41,97 +37,6 @@ dl_fatal (const char *str)
}
#endif
-static inline int __attribute__ ((always_inline))
-_dl_discover_osversion (void)
-{
-#if (defined NEED_DL_SYSINFO || defined NEED_DL_SYSINFO_DSO) && defined SHARED
- if (GLRO(dl_sysinfo_map) != NULL)
- {
- /* If the kernel-supplied DSO contains a note indicating the kernel's
- version, we don't need to call uname or parse any strings. */
-
- static const struct
- {
- ElfW(Nhdr) hdr;
- char vendor[8];
- } expected_note = { { sizeof "Linux", sizeof (ElfW(Word)), 0 }, "Linux" };
- const ElfW(Phdr) *const phdr = GLRO(dl_sysinfo_map)->l_phdr;
- const ElfW(Word) phnum = GLRO(dl_sysinfo_map)->l_phnum;
- for (uint_fast16_t i = 0; i < phnum; ++i)
- if (phdr[i].p_type == PT_NOTE)
- {
- const ElfW(Addr) start = (phdr[i].p_vaddr
- + GLRO(dl_sysinfo_map)->l_addr);
- const ElfW(Nhdr) *note = (const void *) start;
- while ((ElfW(Addr)) (note + 1) - start < phdr[i].p_memsz)
- {
- if (!memcmp (note, &expected_note, sizeof expected_note))
- return *(const ElfW(Word) *) ((const void *) note
- + sizeof expected_note);
-#define ROUND(len) (((len) + sizeof note->n_type - 1) & -sizeof note->n_type)
- note = ((const void *) (note + 1)
- + ROUND (note->n_namesz) + ROUND (note->n_descsz));
-#undef ROUND
- }
- }
- }
-#endif
-
- char bufmem[64];
- char *buf = bufmem;
- unsigned int version;
- int parts;
- char *cp;
- struct utsname uts;
-
- /* Try the uname system call. */
- if (__uname (&uts))
- {
- /* This was not successful. Now try reading the /proc filesystem. */
- int fd = __open ("/proc/sys/kernel/osrelease", O_RDONLY);
- if (fd < 0)
- return -1;
- ssize_t reslen = __read (fd, bufmem, sizeof (bufmem));
- __close (fd);
- if (reslen <= 0)
- /* This also didn't work. We give up since we cannot
- make sure the library can actually work. */
- return -1;
- buf[MIN (reslen, (ssize_t) sizeof (bufmem) - 1)] = '\0';
- }
- else
- buf = uts.release;
-
- /* Now convert it into a number. The string consists of at most
- three parts. */
- version = 0;
- parts = 0;
- cp = buf;
- while ((*cp >= '0') && (*cp <= '9'))
- {
- unsigned int here = *cp++ - '0';
-
- while ((*cp >= '0') && (*cp <= '9'))
- {
- here *= 10;
- here += *cp++ - '0';
- }
-
- ++parts;
- version <<= 8;
- version |= here;
-
- if (*cp++ != '.' || parts == 3)
- /* Another part following? */
- break;
- }
-
- if (parts < 3)
- version <<= 8 * (3 - parts);
-
- return version;
-}
-
#define DL_SYSDEP_OSCHECK(FATAL) \
do { \
/* Test whether the kernel is new enough. This test is only performed \
diff --git a/libc/sysdeps/unix/sysv/linux/dl-sysdep.c b/libc/sysdeps/unix/sysv/linux/dl-sysdep.c
index 42aec77e8..08ae9aa86 100644
--- a/libc/sysdeps/unix/sysv/linux/dl-sysdep.c
+++ b/libc/sysdeps/unix/sysv/linux/dl-sysdep.c
@@ -1,5 +1,5 @@
/* Dynamic linker system dependencies for Linux.
- Copyright (C) 1995,1997,2001,2004,2005,2006 Free Software Foundation, Inc.
+ Copyright (C) 1995,1997,2001,2004,2005,2006, 2008 Free Software Foundation, Inc.
This file is part of the GNU C Library.
The GNU C Library is free software; you can redistribute it and/or
@@ -20,11 +20,15 @@
/* Linux needs some special initialization, but otherwise uses
the generic dynamic linker system interface code. */
+#include <string.h>
+#include <fcntl.h>
#include <unistd.h>
+#include <sys/utsname.h>
#include <ldsodefs.h>
#include <kernel-features.h>
-#define DL_SYSDEP_INIT frob_brk ()
+#ifdef SHARED
+# define DL_SYSDEP_INIT frob_brk ()
static inline void
frob_brk (void)
@@ -53,4 +57,98 @@ frob_brk (void)
#endif
}
-#include <elf/dl-sysdep.c>
+# include <elf/dl-sysdep.c>
+#endif
+
+
+int
+attribute_hidden
+_dl_discover_osversion (void)
+{
+#if (defined NEED_DL_SYSINFO || defined NEED_DL_SYSINFO_DSO) && defined SHARED
+ if (GLRO(dl_sysinfo_map) != NULL)
+ {
+ /* If the kernel-supplied DSO contains a note indicating the kernel's
+ version, we don't need to call uname or parse any strings. */
+
+ static const struct
+ {
+ ElfW(Nhdr) hdr;
+ char vendor[8];
+ } expected_note = { { sizeof "Linux", sizeof (ElfW(Word)), 0 }, "Linux" };
+ const ElfW(Phdr) *const phdr = GLRO(dl_sysinfo_map)->l_phdr;
+ const ElfW(Word) phnum = GLRO(dl_sysinfo_map)->l_phnum;
+ for (uint_fast16_t i = 0; i < phnum; ++i)
+ if (phdr[i].p_type == PT_NOTE)
+ {
+ const ElfW(Addr) start = (phdr[i].p_vaddr
+ + GLRO(dl_sysinfo_map)->l_addr);
+ const ElfW(Nhdr) *note = (const void *) start;
+ while ((ElfW(Addr)) (note + 1) - start < phdr[i].p_memsz)
+ {
+ if (!memcmp (note, &expected_note, sizeof expected_note))
+ return *(const ElfW(Word) *) ((const void *) note
+ + sizeof expected_note);
+#define ROUND(len) (((len) + sizeof note->n_type - 1) & -sizeof note->n_type)
+ note = ((const void *) (note + 1)
+ + ROUND (note->n_namesz) + ROUND (note->n_descsz));
+#undef ROUND
+ }
+ }
+ }
+#endif
+
+ char bufmem[64];
+ char *buf = bufmem;
+ unsigned int version;
+ int parts;
+ char *cp;
+ struct utsname uts;
+
+ /* Try the uname system call. */
+ if (__uname (&uts))
+ {
+ /* This was not successful. Now try reading the /proc filesystem. */
+ int fd = __open ("/proc/sys/kernel/osrelease", O_RDONLY);
+ if (fd < 0)
+ return -1;
+ ssize_t reslen = __read (fd, bufmem, sizeof (bufmem));
+ __close (fd);
+ if (reslen <= 0)
+ /* This also didn't work. We give up since we cannot
+ make sure the library can actually work. */
+ return -1;
+ buf[MIN (reslen, (ssize_t) sizeof (bufmem) - 1)] = '\0';
+ }
+ else
+ buf = uts.release;
+
+ /* Now convert it into a number. The string consists of at most
+ three parts. */
+ version = 0;
+ parts = 0;
+ cp = buf;
+ while ((*cp >= '0') && (*cp <= '9'))
+ {
+ unsigned int here = *cp++ - '0';
+
+ while ((*cp >= '0') && (*cp <= '9'))
+ {
+ here *= 10;
+ here += *cp++ - '0';
+ }
+
+ ++parts;
+ version <<= 8;
+ version |= here;
+
+ if (*cp++ != '.' || parts == 3)
+ /* Another part following? */
+ break;
+ }
+
+ if (parts < 3)
+ version <<= 8 * (3 - parts);
+
+ return version;
+}
diff --git a/libc/sysdeps/unix/sysv/linux/dl-sysdep.h b/libc/sysdeps/unix/sysv/linux/dl-sysdep.h
index becfc8df3..f44fa9814 100644
--- a/libc/sysdeps/unix/sysv/linux/dl-sysdep.h
+++ b/libc/sysdeps/unix/sysv/linux/dl-sysdep.h
@@ -1,5 +1,5 @@
/* System-specific settings for dynamic linker code. Linux version.
- Copyright (C) 2005 Free Software Foundation, Inc.
+ Copyright (C) 2005, 2008 Free Software Foundation, Inc.
This file is part of the GNU C Library.
The GNU C Library is free software; you can redistribute it and/or
@@ -25,3 +25,12 @@
we aren't making direct use of it. So enable this across the board. */
#define NEED_DL_SYSINFO_DSO 1
+
+
+/* The _dl_discover_osversion function is so far only needed in sysconf
+ to check for kernels later than 2.6.23. */
+#if !defined __ASSEMBLER__ && __LINUX_KERNEL_VERSION < 0x020617
+/* Get version of the OS. */
+extern int _dl_discover_osversion (void) attribute_hidden;
+# define HAVE_DL_DISCOVER_OSVERSION 1
+#endif
diff --git a/libc/sysdeps/unix/sysv/linux/fpathconf.c b/libc/sysdeps/unix/sysv/linux/fpathconf.c
index c1cdb1b89..2701c9ec9 100644
--- a/libc/sysdeps/unix/sysv/linux/fpathconf.c
+++ b/libc/sysdeps/unix/sysv/linux/fpathconf.c
@@ -1,5 +1,5 @@
/* Get file-specific information about descriptor FD. Linux version.
- Copyright (C) 1991,1995,1996,1998-2002,2003 Free Software Foundation, Inc.
+ Copyright (C) 1991,1995,1996,1998-2003,2008 Free Software Foundation, Inc.
This file is part of the GNU C Library.
The GNU C Library is free software; you can redistribute it and/or
@@ -45,6 +45,9 @@ __fpathconf (fd, name)
case _PC_2_SYMLINKS:
return __statfs_symlinks (__fstatfs (fd, &fsbuf), &fsbuf);
+ case _PC_CHOWN_RESTRICTED:
+ return __statfs_chown_restricted (__fstatfs (fd, &fsbuf), &fsbuf);
+
default:
return posix_fpathconf (fd, name);
}
diff --git a/libc/sysdeps/unix/sysv/linux/pathconf.c b/libc/sysdeps/unix/sysv/linux/pathconf.c
index e12a08434..db03529fe 100644
--- a/libc/sysdeps/unix/sysv/linux/pathconf.c
+++ b/libc/sysdeps/unix/sysv/linux/pathconf.c
@@ -1,5 +1,5 @@
/* Get file-specific information about a file. Linux version.
- Copyright (C) 1991,1995,1996,1998-2002,2003 Free Software Foundation, Inc.
+ Copyright (C) 1991,1995,1996,1998-2003,2008 Free Software Foundation, Inc.
This file is part of the GNU C Library.
The GNU C Library is free software; you can redistribute it and/or
@@ -19,8 +19,10 @@
#include <unistd.h>
#include <errno.h>
+
#include "pathconf.h"
#include "linux_fsinfo.h"
+#include <not-cancel.h>
static long int posix_pathconf (const char *file, int name);
@@ -46,6 +48,9 @@ __pathconf (const char *file, int name)
case _PC_2_SYMLINKS:
return __statfs_symlinks (__statfs (file, &fsbuf), &fsbuf);
+ case _PC_CHOWN_RESTRICTED:
+ return __statfs_chown_restricted (__statfs (file, &fsbuf), &fsbuf);
+
default:
return posix_pathconf (file, name);
}
@@ -179,3 +184,44 @@ __statfs_symlinks (int result, const struct statfs *fsbuf)
return 1;
}
}
+
+
+/* Used like: return __statfs_chown_restricted (__statfs (name, &buf), &buf);*/
+long int
+__statfs_chown_restricted (int result, const struct statfs *fsbuf)
+{
+ if (result < 0)
+ {
+ if (errno == ENOSYS)
+ /* Not possible, return the default value. */
+ return 1;
+
+ /* Some error occured. */
+ return -1;
+ }
+
+ int fd;
+ long int retval = 1;
+ switch (fsbuf->f_type)
+ {
+ case XFS_SUPER_MAGIC:
+ /* Read the value from /proc/sys/fs/xfs/restrict_chown. If we cannot
+ read it default to assume the restriction is in place. */
+ fd = open_not_cancel_2 ("/proc/sys/fs/xfs/restrict_chown", O_RDONLY);
+ if (fd != -1)
+ {
+ char buf[2];
+ if (TEMP_FAILURE_RETRY (read_not_cancel (fd, buf, 2)) == 2
+ && buf[0] >= '0' && buf[0] <= '1')
+ retval = buf[0] - '0';
+
+ close_not_cancel_no_status (fd);
+ }
+ break;
+
+ default:
+ break;
+ }
+
+ return retval;
+}
diff --git a/libc/sysdeps/unix/sysv/linux/pathconf.h b/libc/sysdeps/unix/sysv/linux/pathconf.h
index 20e23685e..806adcc5e 100644
--- a/libc/sysdeps/unix/sysv/linux/pathconf.h
+++ b/libc/sysdeps/unix/sysv/linux/pathconf.h
@@ -1,5 +1,5 @@
/* Common parts of Linux implementation of pathconf and fpathconf.
- Copyright (C) 1991,1995,1996,1998-2002,2003 Free Software Foundation, Inc.
+ Copyright (C) 1991,1995,1996,1998-2003,2008 Free Software Foundation, Inc.
This file is part of the GNU C Library.
The GNU C Library is free software; you can redistribute it and/or
@@ -22,13 +22,18 @@
#include <sys/statfs.h>
-/* Used like: return statfs_link_max (__statfs (name, &buf), &buf); */
+/* Used like: return __statfs_link_max (__statfs (name, &buf), &buf); */
extern long int __statfs_link_max (int result, const struct statfs *fsbuf);
-/* Used like: return statfs_filesize_max (__statfs (name, &buf), &buf); */
+/* Used like: return __statfs_filesize_max (__statfs (name, &buf), &buf); */
extern long int __statfs_filesize_max (int result, const struct statfs *fsbuf);
-/* Used like: return statfs_link_max (__statfs (name, &buf), &buf); */
+/* Used like: return __statfs_link_max (__statfs (name, &buf), &buf); */
extern long int __statfs_symlinks (int result, const struct statfs *fsbuf);
+
+
+/* Used like: return __statfs_chown_restricted (__statfs (name, &buf), &buf);*/
+extern long int __statfs_chown_restricted (int result,
+ const struct statfs *fsbuf);
diff --git a/libc/sysdeps/unix/sysv/linux/s390/sys/user.h b/libc/sysdeps/unix/sysv/linux/s390/sys/user.h
index f00caea84..cd3e60cf0 100644
--- a/libc/sysdeps/unix/sysv/linux/s390/sys/user.h
+++ b/libc/sysdeps/unix/sysv/linux/s390/sys/user.h
@@ -1,4 +1,4 @@
-/* Copyright (C) 2000,2005 Free Software Foundation, Inc.
+/* Copyright (C) 2000,2008 Free Software Foundation, Inc.
This file is part of the GNU C Library.
The GNU C Library is free software; you can redistribute it and/or
@@ -56,7 +56,7 @@ struct _user_regs_struct
unsigned long orig_gpr2; /* Original gpr2. */
struct _user_fpregs_struct fp_regs; /* Floating point registers. */
struct _user_per_struct per_info; /* Hardware tracing registers. */
- unsigned long ieee_instruction_pointer;
+ unsigned long ieee_instruction_pointer; /* Always 0. */
};
struct user {
diff --git a/libc/sysdeps/unix/sysv/linux/sysconf.c b/libc/sysdeps/unix/sysv/linux/sysconf.c
index f9f6f1bfa..ab9cddc30 100644
--- a/libc/sysdeps/unix/sysv/linux/sysconf.c
+++ b/libc/sysdeps/unix/sysv/linux/sysconf.c
@@ -1,5 +1,5 @@
/* Get file-specific information about a file. Linux version.
- Copyright (C) 2003, 2004, 2006 Free Software Foundation, Inc.
+ Copyright (C) 2003, 2004, 2006, 2008 Free Software Foundation, Inc.
This file is part of the GNU C Library.
The GNU C Library is free software; you can redistribute it and/or
@@ -23,7 +23,9 @@
#include <sysdep.h>
#include <time.h>
#include <unistd.h>
+#include <sys/resource.h>
#include <not-cancel.h>
+#include <ldsodefs.h>
static long int posix_sysconf (int name);
@@ -70,6 +72,22 @@ __sysconf (int name)
}
#endif
+ case _SC_ARG_MAX:
+#if __LINUX_KERNEL_VERSION < 0x020617
+ /* Determine whether this is a kernel 2.6.23 or later. Only
+ then do we have an argument limit determined by the stack
+ size. */
+ if (GLRO(dl_discover_osversion) () >= 0x020617)
+#endif
+ {
+ /* Use getrlimit to get the stack limit. */
+ struct rlimit rlimit;
+ if (__getrlimit (RLIMIT_STACK, &rlimit) == 0)
+ return MAX (ARG_MAX, rlimit.rlim_cur / 4);
+ }
+
+ return ARG_MAX;
+
case _SC_NGROUPS_MAX:
/* Try to read the information from the /proc/sys/kernel/ngroups_max
file. */
diff --git a/libc/sysdeps/x86_64/cacheinfo.c b/libc/sysdeps/x86_64/cacheinfo.c
index 6403081c9..6a3ea0f1c 100644
--- a/libc/sysdeps/x86_64/cacheinfo.c
+++ b/libc/sysdeps/x86_64/cacheinfo.c
@@ -405,13 +405,10 @@ long int __x86_64_data_cache_size_half attribute_hidden = 32 * 1024 / 2;
/* Shared cache size for use in memory and string routines, typically
L2 or L3 size. */
long int __x86_64_shared_cache_size_half attribute_hidden = 1024 * 1024 / 2;
-#ifdef NOT_USED_RIGHT_NOW
long int __x86_64_shared_cache_size attribute_hidden = 1024 * 1024;
-#endif
/* PREFETCHW support flag for use in memory and string routines. */
int __x86_64_prefetchw attribute_hidden;
-#ifdef NOT_USED_RIGHT_NOW
/* Instructions preferred for memory and string routines.
0: Regular instructions
@@ -421,7 +418,6 @@ int __x86_64_prefetchw attribute_hidden;
*/
int __x86_64_preferred_memory_instruction attribute_hidden;
-#endif
static void
@@ -464,14 +460,12 @@ init_cacheinfo (void)
: "=a" (eax), "=b" (ebx), "=c" (ecx), "=d" (edx)
: "0" (1));
-#ifdef NOT_USED_RIGHT_NOW
- /* Intel prefers SSSE3 instructions for memory/string rountines
+ /* Intel prefers SSSE3 instructions for memory/string routines
if they are avaiable. */
if ((ecx & 0x200))
__x86_64_preferred_memory_instruction = 3;
else
__x86_64_preferred_memory_instruction = 2;
-#endif
/* Figure out the number of logical threads that share the
highest cache level. */
@@ -577,8 +571,6 @@ init_cacheinfo (void)
if (shared > 0)
{
__x86_64_shared_cache_size_half = shared / 2;
-#ifdef NOT_USED_RIGHT_NOW
__x86_64_shared_cache_size = shared;
-#endif
}
}
diff --git a/libc/sysdeps/x86_64/memset.S b/libc/sysdeps/x86_64/memset.S
index 939240600..c7bf2318d 100644
--- a/libc/sysdeps/x86_64/memset.S
+++ b/libc/sysdeps/x86_64/memset.S
@@ -1,8 +1,7 @@
/* memset/bzero -- set memory area to CH/0
Optimized version for x86-64.
- Copyright (C) 2002, 2003, 2004, 2005, 2007 Free Software Foundation, Inc.
+ Copyright (C) 2002-2005, 2007, 2008 Free Software Foundation, Inc.
This file is part of the GNU C Library.
- Contributed by Andreas Jaeger <aj@suse.de>.
The GNU C Library is free software; you can redistribute it and/or
modify it under the terms of the GNU Lesser General Public
@@ -20,13 +19,9 @@
02111-1307 USA. */
#include <sysdep.h>
-#include "asm-syntax.h"
-#include "bp-sym.h"
-#include "bp-asm.h"
-/* This is somehow experimental and could made dependend on the cache
- size. */
-#define LARGE $120000
+#define __STOS_LOWER_BOUNDARY $8192
+#define __STOS_UPPER_BOUNDARY $65536
.text
#ifndef NOT_IN_libc
@@ -46,89 +41,1291 @@ END (__memset_chk)
#endif
ENTRY (memset)
L(memset_entry):
- cmp $0x7,%rdx /* Check for small length. */
- mov %rdi,%rcx /* Save ptr as return value. */
- jbe 7f
+ cmp $0x1,%rdx
+ mov %rdi,%rax /* memset returns the dest address. */
+ jne L(ck2)
+ mov %sil,(%rdi)
+ retq
+L(ck2):
+ mov $0x101010101010101,%r9
+ mov %rdx,%r8
+ movzbq %sil,%rdx
+ imul %r9,%rdx
+L(now_dw_aligned):
+ cmp $0x90,%r8
+ jg L(ck_mem_ops_method)
+L(now_dw_aligned_small):
+ lea L(setPxQx)(%rip),%r11
+ add %r8,%rdi
+#ifndef PIC
+ jmpq *(%r11,%r8,8)
+#else
+ movslq (%r11,%r8,4),%rcx
+ lea (%rcx,%r11,1),%r11
+ jmpq *%r11
+#endif
- /* Populate 8 bit data to full 64-bit. */
- movabs $0x0101010101010101,%r8
- movzbl %sil,%eax
- imul %rax,%r8
- test $0x7,%edi /* Check for alignment. */
- je 2f
+L(Got0):
+ retq
- .p2align 4
-1: /* Align ptr to 8 byte. */
- mov %sil,(%rcx)
- dec %rdx
- inc %rcx
- test $0x7,%ecx
- jne 1b
-
-2: /* Check for really large regions. */
- mov %rdx,%rax
- shr $0x6,%rax
- je 4f
- cmp LARGE, %rdx
- jae 11f
+ .pushsection .rodata
+ .balign 16
+#ifndef PIC
+L(setPxQx):
+ .quad L(Got0), L(P1Q0), L(P2Q0), L(P3Q0)
+ .quad L(P4Q0), L(P5Q0), L(P6Q0), L(P7Q0)
+ .quad L(P0Q1), L(P1Q1), L(P2Q1), L(P3Q1)
+ .quad L(P4Q1), L(P5Q1), L(P6Q1), L(P7Q1)
+ .quad L(P0Q2), L(P1Q2), L(P2Q2), L(P3Q2)
+ .quad L(P4Q2), L(P5Q2), L(P6Q2), L(P7Q2)
+ .quad L(P0Q3), L(P1Q3), L(P2Q3), L(P3Q3)
+ .quad L(P4Q3), L(P5Q3), L(P6Q3), L(P7Q3)
+ .quad L(P0Q4), L(P1Q4), L(P2Q4), L(P3Q4)
+ .quad L(P4Q4), L(P5Q4), L(P6Q4), L(P7Q4)
+ .quad L(P0Q5), L(P1Q5), L(P2Q5), L(P3Q5)
+ .quad L(P4Q5), L(P5Q5), L(P6Q5), L(P7Q5)
+ .quad L(P0Q6), L(P1Q6), L(P2Q6), L(P3Q6)
+ .quad L(P4Q6), L(P5Q6), L(P6Q6), L(P7Q6)
+ .quad L(P0Q7), L(P1Q7), L(P2Q7), L(P3Q7)
+ .quad L(P4Q7), L(P5Q7), L(P6Q7), L(P7Q7)
+ .quad L(P0Q8), L(P1Q8), L(P2Q8), L(P3Q8)
+ .quad L(P4Q8), L(P5Q8), L(P6Q8), L(P7Q8)
+ .quad L(P0Q9), L(P1Q9), L(P2Q9), L(P3Q9)
+ .quad L(P4Q9), L(P5Q9), L(P6Q9), L(P7Q9)
+ .quad L(P0QA), L(P1QA), L(P2QA), L(P3QA)
+ .quad L(P4QA), L(P5QA), L(P6QA), L(P7QA)
+ .quad L(P0QB), L(P1QB), L(P2QB), L(P3QB)
+ .quad L(P4QB), L(P5QB), L(P6QB), L(P7QB)
+ .quad L(P0QC), L(P1QC), L(P2QC), L(P3QC)
+ .quad L(P4QC), L(P5QC), L(P6QC), L(P7QC)
+ .quad L(P0QD), L(P1QD), L(P2QD), L(P3QD)
+ .quad L(P4QD), L(P5QD), L(P6QD), L(P7QD)
+ .quad L(P0QE), L(P1QE), L(P2QE), L(P3QE)
+ .quad L(P4QE), L(P5QE), L(P6QE), L(P7QE)
+ .quad L(P0QF), L(P1QF), L(P2QF), L(P3QF)
+ .quad L(P4QF), L(P5QF), L(P6QF), L(P7QF)
+ .quad L(P0QG), L(P1QG), L(P2QG), L(P3QG)
+ .quad L(P4QG), L(P5QG), L(P6QG), L(P7QG)
+ .quad L(P0QH), L(P1QH), L(P2QH), L(P3QH)
+ .quad L(P4QH), L(P5QH), L(P6QH), L(P7QH)
+ .quad L(P0QI)
+# ifdef USE_EXTRA_TABLE
+ .quad L(P1QI), L(P2QI), L(P3QI), L(P4QI)
+ .quad L(P5QI), L(P6QI), L(P7QI)
+# endif
+#else
+L(setPxQx):
+ .int L(Got0)-L(setPxQx)
+ .int L(P1Q0)-L(setPxQx)
+ .int L(P2Q0)-L(setPxQx)
+ .int L(P3Q0)-L(setPxQx)
+ .int L(P4Q0)-L(setPxQx)
+ .int L(P5Q0)-L(setPxQx)
+ .int L(P6Q0)-L(setPxQx)
+ .int L(P7Q0)-L(setPxQx)
+
+ .int L(P0Q1)-L(setPxQx)
+ .int L(P1Q1)-L(setPxQx)
+ .int L(P2Q1)-L(setPxQx)
+ .int L(P3Q1)-L(setPxQx)
+ .int L(P4Q1)-L(setPxQx)
+ .int L(P5Q1)-L(setPxQx)
+ .int L(P6Q1)-L(setPxQx)
+ .int L(P7Q1)-L(setPxQx)
+
+ .int L(P0Q2)-L(setPxQx)
+ .int L(P1Q2)-L(setPxQx)
+ .int L(P2Q2)-L(setPxQx)
+ .int L(P3Q2)-L(setPxQx)
+ .int L(P4Q2)-L(setPxQx)
+ .int L(P5Q2)-L(setPxQx)
+ .int L(P6Q2)-L(setPxQx)
+ .int L(P7Q2)-L(setPxQx)
+
+ .int L(P0Q3)-L(setPxQx)
+ .int L(P1Q3)-L(setPxQx)
+ .int L(P2Q3)-L(setPxQx)
+ .int L(P3Q3)-L(setPxQx)
+ .int L(P4Q3)-L(setPxQx)
+ .int L(P5Q3)-L(setPxQx)
+ .int L(P6Q3)-L(setPxQx)
+ .int L(P7Q3)-L(setPxQx)
+
+ .int L(P0Q4)-L(setPxQx)
+ .int L(P1Q4)-L(setPxQx)
+ .int L(P2Q4)-L(setPxQx)
+ .int L(P3Q4)-L(setPxQx)
+ .int L(P4Q4)-L(setPxQx)
+ .int L(P5Q4)-L(setPxQx)
+ .int L(P6Q4)-L(setPxQx)
+ .int L(P7Q4)-L(setPxQx)
+
+ .int L(P0Q5)-L(setPxQx)
+ .int L(P1Q5)-L(setPxQx)
+ .int L(P2Q5)-L(setPxQx)
+ .int L(P3Q5)-L(setPxQx)
+ .int L(P4Q5)-L(setPxQx)
+ .int L(P5Q5)-L(setPxQx)
+ .int L(P6Q5)-L(setPxQx)
+ .int L(P7Q5)-L(setPxQx)
+
+ .int L(P0Q6)-L(setPxQx)
+ .int L(P1Q6)-L(setPxQx)
+ .int L(P2Q6)-L(setPxQx)
+ .int L(P3Q6)-L(setPxQx)
+ .int L(P4Q6)-L(setPxQx)
+ .int L(P5Q6)-L(setPxQx)
+ .int L(P6Q6)-L(setPxQx)
+ .int L(P7Q6)-L(setPxQx)
+
+ .int L(P0Q7)-L(setPxQx)
+ .int L(P1Q7)-L(setPxQx)
+ .int L(P2Q7)-L(setPxQx)
+ .int L(P3Q7)-L(setPxQx)
+ .int L(P4Q7)-L(setPxQx)
+ .int L(P5Q7)-L(setPxQx)
+ .int L(P6Q7)-L(setPxQx)
+ .int L(P7Q7)-L(setPxQx)
+
+ .int L(P0Q8)-L(setPxQx)
+ .int L(P1Q8)-L(setPxQx)
+ .int L(P2Q8)-L(setPxQx)
+ .int L(P3Q8)-L(setPxQx)
+ .int L(P4Q8)-L(setPxQx)
+ .int L(P5Q8)-L(setPxQx)
+ .int L(P6Q8)-L(setPxQx)
+ .int L(P7Q8)-L(setPxQx)
+
+ .int L(P0Q9)-L(setPxQx)
+ .int L(P1Q9)-L(setPxQx)
+ .int L(P2Q9)-L(setPxQx)
+ .int L(P3Q9)-L(setPxQx)
+ .int L(P4Q9)-L(setPxQx)
+ .int L(P5Q9)-L(setPxQx)
+ .int L(P6Q9)-L(setPxQx)
+ .int L(P7Q9)-L(setPxQx)
+
+ .int L(P0QA)-L(setPxQx)
+ .int L(P1QA)-L(setPxQx)
+ .int L(P2QA)-L(setPxQx)
+ .int L(P3QA)-L(setPxQx)
+ .int L(P4QA)-L(setPxQx)
+ .int L(P5QA)-L(setPxQx)
+ .int L(P6QA)-L(setPxQx)
+ .int L(P7QA)-L(setPxQx)
+
+ .int L(P0QB)-L(setPxQx)
+ .int L(P1QB)-L(setPxQx)
+ .int L(P2QB)-L(setPxQx)
+ .int L(P3QB)-L(setPxQx)
+ .int L(P4QB)-L(setPxQx)
+ .int L(P5QB)-L(setPxQx)
+ .int L(P6QB)-L(setPxQx)
+ .int L(P7QB)-L(setPxQx)
+
+ .int L(P0QC)-L(setPxQx)
+ .int L(P1QC)-L(setPxQx)
+ .int L(P2QC)-L(setPxQx)
+ .int L(P3QC)-L(setPxQx)
+ .int L(P4QC)-L(setPxQx)
+ .int L(P5QC)-L(setPxQx)
+ .int L(P6QC)-L(setPxQx)
+ .int L(P7QC)-L(setPxQx)
+
+ .int L(P0QD)-L(setPxQx)
+ .int L(P1QD)-L(setPxQx)
+ .int L(P2QD)-L(setPxQx)
+ .int L(P3QD)-L(setPxQx)
+ .int L(P4QD)-L(setPxQx)
+ .int L(P5QD)-L(setPxQx)
+ .int L(P6QD)-L(setPxQx)
+ .int L(P7QD)-L(setPxQx)
+
+ .int L(P0QE)-L(setPxQx)
+ .int L(P1QE)-L(setPxQx)
+ .int L(P2QE)-L(setPxQx)
+ .int L(P3QE)-L(setPxQx)
+ .int L(P4QE)-L(setPxQx)
+ .int L(P5QE)-L(setPxQx)
+ .int L(P6QE)-L(setPxQx)
+ .int L(P7QE)-L(setPxQx)
+
+ .int L(P0QF)-L(setPxQx)
+ .int L(P1QF)-L(setPxQx)
+ .int L(P2QF)-L(setPxQx)
+ .int L(P3QF)-L(setPxQx)
+ .int L(P4QF)-L(setPxQx)
+ .int L(P5QF)-L(setPxQx)
+ .int L(P6QF)-L(setPxQx)
+ .int L(P7QF)-L(setPxQx)
+
+ .int L(P0QG)-L(setPxQx)
+ .int L(P1QG)-L(setPxQx)
+ .int L(P2QG)-L(setPxQx)
+ .int L(P3QG)-L(setPxQx)
+ .int L(P4QG)-L(setPxQx)
+ .int L(P5QG)-L(setPxQx)
+ .int L(P6QG)-L(setPxQx)
+ .int L(P7QG)-L(setPxQx)
+
+ .int L(P0QH)-L(setPxQx)
+ .int L(P1QH)-L(setPxQx)
+ .int L(P2QH)-L(setPxQx)
+ .int L(P3QH)-L(setPxQx)
+ .int L(P4QH)-L(setPxQx)
+ .int L(P5QH)-L(setPxQx)
+ .int L(P6QH)-L(setPxQx)
+ .int L(P7QH)-L(setPxQx)
+
+ .int L(P0QI)-L(setPxQx)
+# ifdef USE_EXTRA_TABLE
+ .int L(P1QI)-L(setPxQx)
+ .int L(P2QI)-L(setPxQx)
+ .int L(P3QI)-L(setPxQx)
+ .int L(P4QI)-L(setPxQx)
+ .int L(P5QI)-L(setPxQx)
+ .int L(P6QI)-L(setPxQx)
+ .int L(P7QI)-L(setPxQx)
+# endif
+#endif
+ .popsection
+
+ .balign 16
+#ifdef USE_EXTRA_TABLE
+L(P1QI): mov %rdx,-0x91(%rdi)
+#endif
+L(P1QH): mov %rdx,-0x89(%rdi)
+L(P1QG): mov %rdx,-0x81(%rdi)
+# .balign 16
+L(P1QF): mov %rdx,-0x79(%rdi)
+L(P1QE): mov %rdx,-0x71(%rdi)
+L(P1QD): mov %rdx,-0x69(%rdi)
+L(P1QC): mov %rdx,-0x61(%rdi)
+L(P1QB): mov %rdx,-0x59(%rdi)
+L(P1QA): mov %rdx,-0x51(%rdi)
+L(P1Q9): mov %rdx,-0x49(%rdi)
+L(P1Q8): mov %rdx,-0x41(%rdi)
+L(P1Q7): mov %rdx,-0x39(%rdi)
+L(P1Q6): mov %rdx,-0x31(%rdi)
+L(P1Q5): mov %rdx,-0x29(%rdi)
+L(P1Q4): mov %rdx,-0x21(%rdi)
+L(P1Q3): mov %rdx,-0x19(%rdi)
+L(P1Q2): mov %rdx,-0x11(%rdi)
+L(P1Q1): mov %rdx,-0x9(%rdi)
+L(P1Q0): mov %dl,-0x1(%rdi)
+ retq
+
+ .balign 16
+L(P0QI): mov %rdx,-0x90(%rdi)
+L(P0QH): mov %rdx,-0x88(%rdi)
+# .balign 16
+L(P0QG): mov %rdx,-0x80(%rdi)
+L(P0QF): mov %rdx,-0x78(%rdi)
+L(P0QE): mov %rdx,-0x70(%rdi)
+L(P0QD): mov %rdx,-0x68(%rdi)
+L(P0QC): mov %rdx,-0x60(%rdi)
+L(P0QB): mov %rdx,-0x58(%rdi)
+L(P0QA): mov %rdx,-0x50(%rdi)
+L(P0Q9): mov %rdx,-0x48(%rdi)
+L(P0Q8): mov %rdx,-0x40(%rdi)
+L(P0Q7): mov %rdx,-0x38(%rdi)
+L(P0Q6): mov %rdx,-0x30(%rdi)
+L(P0Q5): mov %rdx,-0x28(%rdi)
+L(P0Q4): mov %rdx,-0x20(%rdi)
+L(P0Q3): mov %rdx,-0x18(%rdi)
+L(P0Q2): mov %rdx,-0x10(%rdi)
+L(P0Q1): mov %rdx,-0x8(%rdi)
+L(P0Q0): retq
+
+
+ .balign 16
+#ifdef USE_EXTRA_TABLE
+L(P2QI): mov %rdx,-0x92(%rdi)
+#endif
+L(P2QH): mov %rdx,-0x8a(%rdi)
+L(P2QG): mov %rdx,-0x82(%rdi)
+# .balign 16
+L(P2QF): mov %rdx,-0x7a(%rdi)
+L(P2QE): mov %rdx,-0x72(%rdi)
+L(P2QD): mov %rdx,-0x6a(%rdi)
+L(P2QC): mov %rdx,-0x62(%rdi)
+L(P2QB): mov %rdx,-0x5a(%rdi)
+L(P2QA): mov %rdx,-0x52(%rdi)
+L(P2Q9): mov %rdx,-0x4a(%rdi)
+L(P2Q8): mov %rdx,-0x42(%rdi)
+L(P2Q7): mov %rdx,-0x3a(%rdi)
+L(P2Q6): mov %rdx,-0x32(%rdi)
+L(P2Q5): mov %rdx,-0x2a(%rdi)
+L(P2Q4): mov %rdx,-0x22(%rdi)
+L(P2Q3): mov %rdx,-0x1a(%rdi)
+L(P2Q2): mov %rdx,-0x12(%rdi)
+L(P2Q1): mov %rdx,-0xa(%rdi)
+L(P2Q0): mov %dx,-0x2(%rdi)
+ retq
+
+ .balign 16
+#ifdef USE_EXTRA_TABLE
+L(P3QI): mov %rdx,-0x93(%rdi)
+#endif
+L(P3QH): mov %rdx,-0x8b(%rdi)
+L(P3QG): mov %rdx,-0x83(%rdi)
+# .balign 16
+L(P3QF): mov %rdx,-0x7b(%rdi)
+L(P3QE): mov %rdx,-0x73(%rdi)
+L(P3QD): mov %rdx,-0x6b(%rdi)
+L(P3QC): mov %rdx,-0x63(%rdi)
+L(P3QB): mov %rdx,-0x5b(%rdi)
+L(P3QA): mov %rdx,-0x53(%rdi)
+L(P3Q9): mov %rdx,-0x4b(%rdi)
+L(P3Q8): mov %rdx,-0x43(%rdi)
+L(P3Q7): mov %rdx,-0x3b(%rdi)
+L(P3Q6): mov %rdx,-0x33(%rdi)
+L(P3Q5): mov %rdx,-0x2b(%rdi)
+L(P3Q4): mov %rdx,-0x23(%rdi)
+L(P3Q3): mov %rdx,-0x1b(%rdi)
+L(P3Q2): mov %rdx,-0x13(%rdi)
+L(P3Q1): mov %rdx,-0xb(%rdi)
+L(P3Q0): mov %dx,-0x3(%rdi)
+ mov %dl,-0x1(%rdi)
+ retq
+
+ .balign 16
+#ifdef USE_EXTRA_TABLE
+L(P4QI): mov %rdx,-0x94(%rdi)
+#endif
+L(P4QH): mov %rdx,-0x8c(%rdi)
+L(P4QG): mov %rdx,-0x84(%rdi)
+# .balign 16
+L(P4QF): mov %rdx,-0x7c(%rdi)
+L(P4QE): mov %rdx,-0x74(%rdi)
+L(P4QD): mov %rdx,-0x6c(%rdi)
+L(P4QC): mov %rdx,-0x64(%rdi)
+L(P4QB): mov %rdx,-0x5c(%rdi)
+L(P4QA): mov %rdx,-0x54(%rdi)
+L(P4Q9): mov %rdx,-0x4c(%rdi)
+L(P4Q8): mov %rdx,-0x44(%rdi)
+L(P4Q7): mov %rdx,-0x3c(%rdi)
+L(P4Q6): mov %rdx,-0x34(%rdi)
+L(P4Q5): mov %rdx,-0x2c(%rdi)
+L(P4Q4): mov %rdx,-0x24(%rdi)
+L(P4Q3): mov %rdx,-0x1c(%rdi)
+L(P4Q2): mov %rdx,-0x14(%rdi)
+L(P4Q1): mov %rdx,-0xc(%rdi)
+L(P4Q0): mov %edx,-0x4(%rdi)
+ retq
+
+ .balign 16
+#if defined(USE_EXTRA_TABLE)
+L(P5QI): mov %rdx,-0x95(%rdi)
+#endif
+L(P5QH): mov %rdx,-0x8d(%rdi)
+L(P5QG): mov %rdx,-0x85(%rdi)
+# .balign 16
+L(P5QF): mov %rdx,-0x7d(%rdi)
+L(P5QE): mov %rdx,-0x75(%rdi)
+L(P5QD): mov %rdx,-0x6d(%rdi)
+L(P5QC): mov %rdx,-0x65(%rdi)
+L(P5QB): mov %rdx,-0x5d(%rdi)
+L(P5QA): mov %rdx,-0x55(%rdi)
+L(P5Q9): mov %rdx,-0x4d(%rdi)
+L(P5Q8): mov %rdx,-0x45(%rdi)
+L(P5Q7): mov %rdx,-0x3d(%rdi)
+L(P5Q6): mov %rdx,-0x35(%rdi)
+L(P5Q5): mov %rdx,-0x2d(%rdi)
+L(P5Q4): mov %rdx,-0x25(%rdi)
+L(P5Q3): mov %rdx,-0x1d(%rdi)
+L(P5Q2): mov %rdx,-0x15(%rdi)
+L(P5Q1): mov %rdx,-0xd(%rdi)
+L(P5Q0): mov %edx,-0x5(%rdi)
+ mov %dl,-0x1(%rdi)
+ retq
+
+ .balign 16
+#ifdef USE_EXTRA_TABLE
+L(P6QI): mov %rdx,-0x96(%rdi)
+#endif
+L(P6QH): mov %rdx,-0x8e(%rdi)
+L(P6QG): mov %rdx,-0x86(%rdi)
+# .balign 16
+L(P6QF): mov %rdx,-0x7e(%rdi)
+L(P6QE): mov %rdx,-0x76(%rdi)
+L(P6QD): mov %rdx,-0x6e(%rdi)
+L(P6QC): mov %rdx,-0x66(%rdi)
+L(P6QB): mov %rdx,-0x5e(%rdi)
+L(P6QA): mov %rdx,-0x56(%rdi)
+L(P6Q9): mov %rdx,-0x4e(%rdi)
+L(P6Q8): mov %rdx,-0x46(%rdi)
+L(P6Q7): mov %rdx,-0x3e(%rdi)
+L(P6Q6): mov %rdx,-0x36(%rdi)
+L(P6Q5): mov %rdx,-0x2e(%rdi)
+L(P6Q4): mov %rdx,-0x26(%rdi)
+L(P6Q3): mov %rdx,-0x1e(%rdi)
+L(P6Q2): mov %rdx,-0x16(%rdi)
+L(P6Q1): mov %rdx,-0xe(%rdi)
+L(P6Q0): mov %edx,-0x6(%rdi)
+ mov %dx,-0x2(%rdi)
+ retq
+
+ .balign 16
+#ifdef USE_EXTRA_TABLE
+L(P7QI): mov %rdx,-0x97(%rdi)
+#endif
+L(P7QH): mov %rdx,-0x8f(%rdi)
+L(P7QG): mov %rdx,-0x87(%rdi)
+# .balign 16
+L(P7QF): mov %rdx,-0x7f(%rdi)
+L(P7QE): mov %rdx,-0x77(%rdi)
+L(P7QD): mov %rdx,-0x6f(%rdi)
+L(P7QC): mov %rdx,-0x67(%rdi)
+L(P7QB): mov %rdx,-0x5f(%rdi)
+L(P7QA): mov %rdx,-0x57(%rdi)
+L(P7Q9): mov %rdx,-0x4f(%rdi)
+L(P7Q8): mov %rdx,-0x47(%rdi)
+L(P7Q7): mov %rdx,-0x3f(%rdi)
+L(P7Q6): mov %rdx,-0x37(%rdi)
+L(P7Q5): mov %rdx,-0x2f(%rdi)
+L(P7Q4): mov %rdx,-0x27(%rdi)
+L(P7Q3): mov %rdx,-0x1f(%rdi)
+L(P7Q2): mov %rdx,-0x17(%rdi)
+L(P7Q1): mov %rdx,-0xf(%rdi)
+L(P7Q0): mov %edx,-0x7(%rdi)
+ mov %dx,-0x3(%rdi)
+ mov %dl,-0x1(%rdi)
+ retq
+
+ .balign 16
+L(ck_mem_ops_method):
+
+# align to 16 byte boundary first
+ #test $0xf,%rdi
+ #jz L(aligned_now)
+ lea L(AliPxQx)(%rip),%r11
+ mov $0x10,%r10
+ mov %rdi,%r9
+ and $0xf,%r9
+ sub %r9,%r10
+ and $0xf,%r10
+ add %r10,%rdi
+ sub %r10,%r8
+#ifndef PIC
+ jmpq *(%r11,%r10,8)
+#else
+ movslq (%r11,%r10,4),%rcx
+ lea (%rcx,%r11,1),%r11
+ jmpq *%r11
+#endif
+
+ .pushsection .rodata
+ .balign 16
+#ifndef PIC
+L(AliPxQx):
+ .quad L(aligned_now), L(A1Q0), L(A2Q0), L(A3Q0)
+ .quad L(A4Q0), L(A5Q0), L(A6Q0), L(A7Q0)
+ .quad L(A0Q1), L(A1Q1), L(A2Q1), L(A3Q1)
+ .quad L(A4Q1), L(A5Q1), L(A6Q1), L(A7Q1)
+#else
+L(AliPxQx):
+ .int L(aligned_now)-L(AliPxQx)
+ .int L(A1Q0)-L(AliPxQx)
+ .int L(A2Q0)-L(AliPxQx)
+ .int L(A3Q0)-L(AliPxQx)
+ .int L(A4Q0)-L(AliPxQx)
+ .int L(A5Q0)-L(AliPxQx)
+ .int L(A6Q0)-L(AliPxQx)
+ .int L(A7Q0)-L(AliPxQx)
+
+ .int L(A0Q1)-L(AliPxQx)
+ .int L(A1Q1)-L(AliPxQx)
+ .int L(A2Q1)-L(AliPxQx)
+ .int L(A3Q1)-L(AliPxQx)
+ .int L(A4Q1)-L(AliPxQx)
+ .int L(A5Q1)-L(AliPxQx)
+ .int L(A6Q1)-L(AliPxQx)
+ .int L(A7Q1)-L(AliPxQx)
+#endif
+ .popsection
+
+ .balign 16
+L(A5Q1): mov %dl,-0xd(%rdi)
+L(A4Q1): mov %edx,-0xc(%rdi)
+L(A0Q1): mov %rdx,-0x8(%rdi)
+L(A0Q0): jmp L(aligned_now)
+
+ .balign 16
+L(A1Q1): mov %dl,-0x9(%rdi)
+ mov %rdx,-0x8(%rdi)
+ jmp L(aligned_now)
+
+ .balign 16
+L(A1Q0): mov %dl,-0x1(%rdi)
+ jmp L(aligned_now)
+
+ .balign 16
+L(A3Q1): mov %dl,-0xb(%rdi)
+L(A2Q1): mov %dx,-0xa(%rdi)
+ mov %rdx,-0x8(%rdi)
+ jmp L(aligned_now)
+
+ .balign 16
+L(A3Q0): mov %dl,-0x3(%rdi)
+L(A2Q0): mov %dx,-0x2(%rdi)
+ jmp L(aligned_now)
+
+ .balign 16
+L(A5Q0): mov %dl,-0x5(%rdi)
+L(A4Q0): mov %edx,-0x4(%rdi)
+ jmp L(aligned_now)
+
+ .balign 16
+L(A7Q1): mov %dl,-0xf(%rdi)
+L(A6Q1): mov %dx,-0xe(%rdi)
+ mov %edx,-0xc(%rdi)
+ mov %rdx,-0x8(%rdi)
+ jmp L(aligned_now)
+
+ .balign 16
+L(A7Q0): mov %dl,-0x7(%rdi)
+L(A6Q0): mov %dx,-0x6(%rdi)
+ mov %edx,-0x4(%rdi)
+ jmp L(aligned_now)
+
+ .balign 16
+L(aligned_now):
+
+ cmpl $0x1,__x86_64_preferred_memory_instruction(%rip)
+ jg L(SSE_pre)
+
+L(8byte_move_try):
+ cmpq __STOS_LOWER_BOUNDARY,%r8
+ jae L(8byte_stos_try)
+
+ .balign 16
+L(8byte_move):
+ movq %r8,%rcx
+ shrq $7,%rcx
+ jz L(8byte_move_skip)
.p2align 4
-3: /* Copy 64 bytes. */
- mov %r8,(%rcx)
- mov %r8,0x8(%rcx)
- mov %r8,0x10(%rcx)
- mov %r8,0x18(%rcx)
- mov %r8,0x20(%rcx)
- mov %r8,0x28(%rcx)
- mov %r8,0x30(%rcx)
- mov %r8,0x38(%rcx)
- add $0x40,%rcx
- dec %rax
- jne 3b
-
-4: /* Copy final bytes. */
- and $0x3f,%edx
- mov %rdx,%rax
- shr $0x3,%rax
- je 6f
-
-5: /* First in chunks of 8 bytes. */
- mov %r8,(%rcx)
- add $0x8,%rcx
- dec %rax
- jne 5b
-6:
- and $0x7,%edx
-7:
- test %rdx,%rdx
- je 9f
-8: /* And finally as bytes (up to 7). */
- mov %sil,(%rcx)
- inc %rcx
- dec %rdx
- jne 8b
-9:
- /* Load result (only if used as memset). */
- mov %rdi,%rax /* start address of destination is result */
+
+L(8byte_move_loop):
+ decq %rcx
+
+ movq %rdx, (%rdi)
+ movq %rdx, 8 (%rdi)
+ movq %rdx, 16 (%rdi)
+ movq %rdx, 24 (%rdi)
+ movq %rdx, 32 (%rdi)
+ movq %rdx, 40 (%rdi)
+ movq %rdx, 48 (%rdi)
+ movq %rdx, 56 (%rdi)
+ movq %rdx, 64 (%rdi)
+ movq %rdx, 72 (%rdi)
+ movq %rdx, 80 (%rdi)
+ movq %rdx, 88 (%rdi)
+ movq %rdx, 96 (%rdi)
+ movq %rdx, 104 (%rdi)
+ movq %rdx, 112 (%rdi)
+ movq %rdx, 120 (%rdi)
+
+ leaq 128 (%rdi),%rdi
+
+ jnz L(8byte_move_loop)
+
+L(8byte_move_skip):
+ andl $127,%r8d
+ lea (%rdi,%r8,1),%rdi
+ lea L(setPxQx)(%rip),%r11
+
+#ifndef PIC
+ jmpq *(%r11,%r8,8) # old scheme remained for nonPIC
+#else
+ movslq (%r11,%r8,4),%rcx
+ lea (%rcx,%r11,1),%r11
+ jmpq *%r11
+#endif
+
+ .balign 16
+L(8byte_stos_try):
+ mov __x86_64_shared_cache_size(%rip),%r9d // ck largest cache size
+ cmpq %r8,%r9 // calculate the lesser of remaining
+ cmovaq %r8,%r9 // bytes and largest cache size
+ jbe L(8byte_stos)
+
+L(8byte_move_reuse_try):
+ cmp __STOS_UPPER_BOUNDARY,%r8
+ jae L(8byte_move)
+
+ .balign 16
+L(8byte_stos):
+ movq %r9,%rcx
+ andq $-8,%r9
+
+ shrq $3,%rcx
+ jz L(8byte_stos_skip)
+
+ xchgq %rax,%rdx
+
+ rep
+ stosq
+
+ xchgq %rax,%rdx
+
+L(8byte_stos_skip):
+ subq %r9,%r8
+ ja L(8byte_nt_move)
+
+ andl $7,%r8d
+ lea (%rdi,%r8,1),%rdi
+ lea L(setPxQx)(%rip),%r11
+#ifndef PIC
+ jmpq *(%r11,%r8,8) # old scheme remained for nonPIC
+#else
+ movslq (%r11,%r8,4),%rcx
+ lea (%rcx,%r11,1),%r11
+ jmpq *%r11
+#endif
+
+ .balign 16
+L(8byte_nt_move):
+ movq %r8,%rcx
+ shrq $7,%rcx
+ jz L(8byte_nt_move_skip)
+
+ .balign 16
+L(8byte_nt_move_loop):
+ decq %rcx
+
+ movntiq %rdx, (%rdi)
+ movntiq %rdx, 8 (%rdi)
+ movntiq %rdx, 16 (%rdi)
+ movntiq %rdx, 24 (%rdi)
+ movntiq %rdx, 32 (%rdi)
+ movntiq %rdx, 40 (%rdi)
+ movntiq %rdx, 48 (%rdi)
+ movntiq %rdx, 56 (%rdi)
+ movntiq %rdx, 64 (%rdi)
+ movntiq %rdx, 72 (%rdi)
+ movntiq %rdx, 80 (%rdi)
+ movntiq %rdx, 88 (%rdi)
+ movntiq %rdx, 96 (%rdi)
+ movntiq %rdx, 104 (%rdi)
+ movntiq %rdx, 112 (%rdi)
+ movntiq %rdx, 120 (%rdi)
+
+ leaq 128 (%rdi),%rdi
+
+ jnz L(8byte_nt_move_loop)
+
+ sfence
+
+L(8byte_nt_move_skip):
+ andl $127,%r8d
+
+ lea (%rdi,%r8,1),%rdi
+ lea L(setPxQx)(%rip),%r11
+#ifndef PIC
+ jmpq *(%r11,%r8,8) # old scheme remained for nonPIC
+#else
+ movslq (%r11,%r8,4),%rcx
+ lea (%rcx,%r11,1),%r11
+ jmpq *%r11
+#endif
+
+L(SSE_pre):
+ # fill RegXMM0 with the pattern
+ movd %rdx,%xmm0
+ punpcklqdq %xmm0,%xmm0
+
+ lea L(SSExDx)(%rip),%r9 # for later after the alignment
+ cmp $0xb0,%r8 # 176
+ jge L(byte32sse2_pre)
+
+ add %r8,%rdi
+#ifndef PIC
+ jmpq *(%r9,%r8,8)
+#else
+ movslq (%r9,%r8,4),%rcx
+ lea (%rcx,%r9,1),%r9
+ jmpq *%r9
+#endif
+
+L(SSE0QB): movdqa %xmm0,-0xb0(%rdi)
+L(SSE0QA): movdqa %xmm0,-0xa0(%rdi)
+L(SSE0Q9): movdqa %xmm0,-0x90(%rdi)
+L(SSE0Q8): movdqa %xmm0,-0x80(%rdi)
+L(SSE0Q7): movdqa %xmm0,-0x70(%rdi)
+L(SSE0Q6): movdqa %xmm0,-0x60(%rdi)
+L(SSE0Q5): movdqa %xmm0,-0x50(%rdi)
+L(SSE0Q4): movdqa %xmm0,-0x40(%rdi)
+L(SSE0Q3): movdqa %xmm0,-0x30(%rdi)
+L(SSE0Q2): movdqa %xmm0,-0x20(%rdi)
+L(SSE0Q1): movdqa %xmm0,-0x10(%rdi)
+L(SSE0Q0): retq
+
+L(SSE1QB): movdqa %xmm0,-0xb1(%rdi)
+L(SSE1QA): movdqa %xmm0,-0xa1(%rdi)
+L(SSE1Q9): movdqa %xmm0,-0x91(%rdi)
+L(SSE1Q8): movdqa %xmm0,-0x81(%rdi)
+L(SSE1Q7): movdqa %xmm0,-0x71(%rdi)
+L(SSE1Q6): movdqa %xmm0,-0x61(%rdi)
+L(SSE1Q5): movdqa %xmm0,-0x51(%rdi)
+L(SSE1Q4): movdqa %xmm0,-0x41(%rdi)
+L(SSE1Q3): movdqa %xmm0,-0x31(%rdi)
+L(SSE1Q2): movdqa %xmm0,-0x21(%rdi)
+L(SSE1Q1): movdqa %xmm0,-0x11(%rdi)
+L(SSE1Q0): mov %dl,-0x1(%rdi)
retq
- .p2align 4
-11: /* Copy 64 bytes without polluting the cache. */
- /* We could use movntdq %xmm0,(%rcx) here to further
- speed up for large cases but let's not use XMM registers. */
- movnti %r8,(%rcx)
- movnti %r8,0x8(%rcx)
- movnti %r8,0x10(%rcx)
- movnti %r8,0x18(%rcx)
- movnti %r8,0x20(%rcx)
- movnti %r8,0x28(%rcx)
- movnti %r8,0x30(%rcx)
- movnti %r8,0x38(%rcx)
- add $0x40,%rcx
- dec %rax
- jne 11b
+L(SSE2QB): movdqa %xmm0,-0xb2(%rdi)
+L(SSE2QA): movdqa %xmm0,-0xa2(%rdi)
+L(SSE2Q9): movdqa %xmm0,-0x92(%rdi)
+L(SSE2Q8): movdqa %xmm0,-0x82(%rdi)
+L(SSE2Q7): movdqa %xmm0,-0x72(%rdi)
+L(SSE2Q6): movdqa %xmm0,-0x62(%rdi)
+L(SSE2Q5): movdqa %xmm0,-0x52(%rdi)
+L(SSE2Q4): movdqa %xmm0,-0x42(%rdi)
+L(SSE2Q3): movdqa %xmm0,-0x32(%rdi)
+L(SSE2Q2): movdqa %xmm0,-0x22(%rdi)
+L(SSE2Q1): movdqa %xmm0,-0x12(%rdi)
+L(SSE2Q0): mov %dx,-0x2(%rdi)
+ retq
+
+L(SSE3QB): movdqa %xmm0,-0xb3(%rdi)
+L(SSE3QA): movdqa %xmm0,-0xa3(%rdi)
+L(SSE3Q9): movdqa %xmm0,-0x93(%rdi)
+L(SSE3Q8): movdqa %xmm0,-0x83(%rdi)
+L(SSE3Q7): movdqa %xmm0,-0x73(%rdi)
+L(SSE3Q6): movdqa %xmm0,-0x63(%rdi)
+L(SSE3Q5): movdqa %xmm0,-0x53(%rdi)
+L(SSE3Q4): movdqa %xmm0,-0x43(%rdi)
+L(SSE3Q3): movdqa %xmm0,-0x33(%rdi)
+L(SSE3Q2): movdqa %xmm0,-0x23(%rdi)
+L(SSE3Q1): movdqa %xmm0,-0x13(%rdi)
+L(SSE3Q0): mov %dx,-0x3(%rdi)
+ mov %dl,-0x1(%rdi)
+ retq
+
+L(SSE4QB): movdqa %xmm0,-0xb4(%rdi)
+L(SSE4QA): movdqa %xmm0,-0xa4(%rdi)
+L(SSE4Q9): movdqa %xmm0,-0x94(%rdi)
+L(SSE4Q8): movdqa %xmm0,-0x84(%rdi)
+L(SSE4Q7): movdqa %xmm0,-0x74(%rdi)
+L(SSE4Q6): movdqa %xmm0,-0x64(%rdi)
+L(SSE4Q5): movdqa %xmm0,-0x54(%rdi)
+L(SSE4Q4): movdqa %xmm0,-0x44(%rdi)
+L(SSE4Q3): movdqa %xmm0,-0x34(%rdi)
+L(SSE4Q2): movdqa %xmm0,-0x24(%rdi)
+L(SSE4Q1): movdqa %xmm0,-0x14(%rdi)
+L(SSE4Q0): mov %edx,-0x4(%rdi)
+ retq
+
+L(SSE5QB): movdqa %xmm0,-0xb5(%rdi)
+L(SSE5QA): movdqa %xmm0,-0xa5(%rdi)
+L(SSE5Q9): movdqa %xmm0,-0x95(%rdi)
+L(SSE5Q8): movdqa %xmm0,-0x85(%rdi)
+L(SSE5Q7): movdqa %xmm0,-0x75(%rdi)
+L(SSE5Q6): movdqa %xmm0,-0x65(%rdi)
+L(SSE5Q5): movdqa %xmm0,-0x55(%rdi)
+L(SSE5Q4): movdqa %xmm0,-0x45(%rdi)
+L(SSE5Q3): movdqa %xmm0,-0x35(%rdi)
+L(SSE5Q2): movdqa %xmm0,-0x25(%rdi)
+L(SSE5Q1): movdqa %xmm0,-0x15(%rdi)
+L(SSE5Q0): mov %edx,-0x5(%rdi)
+ mov %dl,-0x1(%rdi)
+ retq
+
+
+L(SSE6QB): movdqa %xmm0,-0xb6(%rdi)
+L(SSE6QA): movdqa %xmm0,-0xa6(%rdi)
+L(SSE6Q9): movdqa %xmm0,-0x96(%rdi)
+L(SSE6Q8): movdqa %xmm0,-0x86(%rdi)
+L(SSE6Q7): movdqa %xmm0,-0x76(%rdi)
+L(SSE6Q6): movdqa %xmm0,-0x66(%rdi)
+L(SSE6Q5): movdqa %xmm0,-0x56(%rdi)
+L(SSE6Q4): movdqa %xmm0,-0x46(%rdi)
+L(SSE6Q3): movdqa %xmm0,-0x36(%rdi)
+L(SSE6Q2): movdqa %xmm0,-0x26(%rdi)
+L(SSE6Q1): movdqa %xmm0,-0x16(%rdi)
+L(SSE6Q0): mov %edx,-0x6(%rdi)
+ mov %dx,-0x2(%rdi)
+ retq
+
+L(SSE7QB): movdqa %xmm0,-0xb7(%rdi)
+L(SSE7QA): movdqa %xmm0,-0xa7(%rdi)
+L(SSE7Q9): movdqa %xmm0,-0x97(%rdi)
+L(SSE7Q8): movdqa %xmm0,-0x87(%rdi)
+L(SSE7Q7): movdqa %xmm0,-0x77(%rdi)
+L(SSE7Q6): movdqa %xmm0,-0x67(%rdi)
+L(SSE7Q5): movdqa %xmm0,-0x57(%rdi)
+L(SSE7Q4): movdqa %xmm0,-0x47(%rdi)
+L(SSE7Q3): movdqa %xmm0,-0x37(%rdi)
+L(SSE7Q2): movdqa %xmm0,-0x27(%rdi)
+L(SSE7Q1): movdqa %xmm0,-0x17(%rdi)
+L(SSE7Q0): mov %edx,-0x7(%rdi)
+ mov %dx,-0x3(%rdi)
+ mov %dl,-0x1(%rdi)
+ retq
+
+L(SSE8QB): movdqa %xmm0,-0xb8(%rdi)
+L(SSE8QA): movdqa %xmm0,-0xa8(%rdi)
+L(SSE8Q9): movdqa %xmm0,-0x98(%rdi)
+L(SSE8Q8): movdqa %xmm0,-0x88(%rdi)
+L(SSE8Q7): movdqa %xmm0,-0x78(%rdi)
+L(SSE8Q6): movdqa %xmm0,-0x68(%rdi)
+L(SSE8Q5): movdqa %xmm0,-0x58(%rdi)
+L(SSE8Q4): movdqa %xmm0,-0x48(%rdi)
+L(SSE8Q3): movdqa %xmm0,-0x38(%rdi)
+L(SSE8Q2): movdqa %xmm0,-0x28(%rdi)
+L(SSE8Q1): movdqa %xmm0,-0x18(%rdi)
+L(SSE8Q0): mov %rdx,-0x8(%rdi)
+ retq
+
+L(SSE9QB): movdqa %xmm0,-0xb9(%rdi)
+L(SSE9QA): movdqa %xmm0,-0xa9(%rdi)
+L(SSE9Q9): movdqa %xmm0,-0x99(%rdi)
+L(SSE9Q8): movdqa %xmm0,-0x89(%rdi)
+L(SSE9Q7): movdqa %xmm0,-0x79(%rdi)
+L(SSE9Q6): movdqa %xmm0,-0x69(%rdi)
+L(SSE9Q5): movdqa %xmm0,-0x59(%rdi)
+L(SSE9Q4): movdqa %xmm0,-0x49(%rdi)
+L(SSE9Q3): movdqa %xmm0,-0x39(%rdi)
+L(SSE9Q2): movdqa %xmm0,-0x29(%rdi)
+L(SSE9Q1): movdqa %xmm0,-0x19(%rdi)
+L(SSE9Q0): mov %rdx,-0x9(%rdi)
+ mov %dl,-0x1(%rdi)
+ retq
+
+L(SSE10QB): movdqa %xmm0,-0xba(%rdi)
+L(SSE10QA): movdqa %xmm0,-0xaa(%rdi)
+L(SSE10Q9): movdqa %xmm0,-0x9a(%rdi)
+L(SSE10Q8): movdqa %xmm0,-0x8a(%rdi)
+L(SSE10Q7): movdqa %xmm0,-0x7a(%rdi)
+L(SSE10Q6): movdqa %xmm0,-0x6a(%rdi)
+L(SSE10Q5): movdqa %xmm0,-0x5a(%rdi)
+L(SSE10Q4): movdqa %xmm0,-0x4a(%rdi)
+L(SSE10Q3): movdqa %xmm0,-0x3a(%rdi)
+L(SSE10Q2): movdqa %xmm0,-0x2a(%rdi)
+L(SSE10Q1): movdqa %xmm0,-0x1a(%rdi)
+L(SSE10Q0): mov %rdx,-0xa(%rdi)
+ mov %dx,-0x2(%rdi)
+ retq
+
+L(SSE11QB): movdqa %xmm0,-0xbb(%rdi)
+L(SSE11QA): movdqa %xmm0,-0xab(%rdi)
+L(SSE11Q9): movdqa %xmm0,-0x9b(%rdi)
+L(SSE11Q8): movdqa %xmm0,-0x8b(%rdi)
+L(SSE11Q7): movdqa %xmm0,-0x7b(%rdi)
+L(SSE11Q6): movdqa %xmm0,-0x6b(%rdi)
+L(SSE11Q5): movdqa %xmm0,-0x5b(%rdi)
+L(SSE11Q4): movdqa %xmm0,-0x4b(%rdi)
+L(SSE11Q3): movdqa %xmm0,-0x3b(%rdi)
+L(SSE11Q2): movdqa %xmm0,-0x2b(%rdi)
+L(SSE11Q1): movdqa %xmm0,-0x1b(%rdi)
+L(SSE11Q0): mov %rdx,-0xb(%rdi)
+ mov %dx,-0x3(%rdi)
+ mov %dl,-0x1(%rdi)
+ retq
+
+L(SSE12QB): movdqa %xmm0,-0xbc(%rdi)
+L(SSE12QA): movdqa %xmm0,-0xac(%rdi)
+L(SSE12Q9): movdqa %xmm0,-0x9c(%rdi)
+L(SSE12Q8): movdqa %xmm0,-0x8c(%rdi)
+L(SSE12Q7): movdqa %xmm0,-0x7c(%rdi)
+L(SSE12Q6): movdqa %xmm0,-0x6c(%rdi)
+L(SSE12Q5): movdqa %xmm0,-0x5c(%rdi)
+L(SSE12Q4): movdqa %xmm0,-0x4c(%rdi)
+L(SSE12Q3): movdqa %xmm0,-0x3c(%rdi)
+L(SSE12Q2): movdqa %xmm0,-0x2c(%rdi)
+L(SSE12Q1): movdqa %xmm0,-0x1c(%rdi)
+L(SSE12Q0): mov %rdx,-0xc(%rdi)
+ mov %edx,-0x4(%rdi)
+ retq
+
+L(SSE13QB): movdqa %xmm0,-0xbd(%rdi)
+L(SSE13QA): movdqa %xmm0,-0xad(%rdi)
+L(SSE13Q9): movdqa %xmm0,-0x9d(%rdi)
+L(SSE13Q8): movdqa %xmm0,-0x8d(%rdi)
+L(SSE13Q7): movdqa %xmm0,-0x7d(%rdi)
+L(SSE13Q6): movdqa %xmm0,-0x6d(%rdi)
+L(SSE13Q5): movdqa %xmm0,-0x5d(%rdi)
+L(SSE13Q4): movdqa %xmm0,-0x4d(%rdi)
+L(SSE13Q3): movdqa %xmm0,-0x3d(%rdi)
+L(SSE13Q2): movdqa %xmm0,-0x2d(%rdi)
+L(SSE13Q1): movdqa %xmm0,-0x1d(%rdi)
+L(SSE13Q0): mov %rdx,-0xd(%rdi)
+ mov %edx,-0x5(%rdi)
+ mov %dl,-0x1(%rdi)
+ retq
+
+L(SSE14QB): movdqa %xmm0,-0xbe(%rdi)
+L(SSE14QA): movdqa %xmm0,-0xae(%rdi)
+L(SSE14Q9): movdqa %xmm0,-0x9e(%rdi)
+L(SSE14Q8): movdqa %xmm0,-0x8e(%rdi)
+L(SSE14Q7): movdqa %xmm0,-0x7e(%rdi)
+L(SSE14Q6): movdqa %xmm0,-0x6e(%rdi)
+L(SSE14Q5): movdqa %xmm0,-0x5e(%rdi)
+L(SSE14Q4): movdqa %xmm0,-0x4e(%rdi)
+L(SSE14Q3): movdqa %xmm0,-0x3e(%rdi)
+L(SSE14Q2): movdqa %xmm0,-0x2e(%rdi)
+L(SSE14Q1): movdqa %xmm0,-0x1e(%rdi)
+L(SSE14Q0): mov %rdx,-0xe(%rdi)
+ mov %edx,-0x6(%rdi)
+ mov %dx,-0x2(%rdi)
+ retq
+
+L(SSE15QB): movdqa %xmm0,-0xbf(%rdi)
+L(SSE15QA): movdqa %xmm0,-0xaf(%rdi)
+L(SSE15Q9): movdqa %xmm0,-0x9f(%rdi)
+L(SSE15Q8): movdqa %xmm0,-0x8f(%rdi)
+L(SSE15Q7): movdqa %xmm0,-0x7f(%rdi)
+L(SSE15Q6): movdqa %xmm0,-0x6f(%rdi)
+L(SSE15Q5): movdqa %xmm0,-0x5f(%rdi)
+L(SSE15Q4): movdqa %xmm0,-0x4f(%rdi)
+L(SSE15Q3): movdqa %xmm0,-0x3f(%rdi)
+L(SSE15Q2): movdqa %xmm0,-0x2f(%rdi)
+L(SSE15Q1): movdqa %xmm0,-0x1f(%rdi)
+L(SSE15Q0): mov %rdx,-0xf(%rdi)
+ mov %edx,-0x7(%rdi)
+ mov %dx,-0x3(%rdi)
+ mov %dl,-0x1(%rdi)
+ retq
+
+ .balign 16
+L(byte32sse2_pre):
+
+ mov __x86_64_shared_cache_size(%rip),%r9d # The largest cache size
+ cmp %r9,%r8
+ jg L(sse2_nt_move_pre)
+ #jmp L(byte32sse2)
+ .balign 16
+L(byte32sse2):
+ lea -0x80(%r8),%r8 # 128
+ cmp $0x80,%r8 # 128
+ movdqa %xmm0,(%rdi)
+ movdqa %xmm0,0x10(%rdi)
+ movdqa %xmm0,0x20(%rdi)
+ movdqa %xmm0,0x30(%rdi)
+ movdqa %xmm0,0x40(%rdi)
+ movdqa %xmm0,0x50(%rdi)
+ movdqa %xmm0,0x60(%rdi)
+ movdqa %xmm0,0x70(%rdi)
+
+ lea 0x80(%rdi),%rdi
+ jge L(byte32sse2)
+ lea L(SSExDx)(%rip),%r11
+ add %r8,%rdi
+#ifndef PIC
+ jmpq *(%r11,%r8,8)
+#else
+ movslq (%r11,%r8,4),%rcx
+ lea (%rcx,%r11,1),%r11
+ jmpq *%r11
+#endif
+
+ .balign 16
+L(sse2_nt_move_pre):
+ cmp $0x0,%r9
+ je L(byte32sse2)
+ jmp L(sse2_nt_move)
+
+ .balign 16
+L(sse2_nt_move):
+ lea -0x80(%r8),%r8
+ cmp $0x80,%r8
+
+ movntdq %xmm0,(%rdi)
+ movntdq %xmm0,0x10(%rdi)
+ movntdq %xmm0,0x20(%rdi)
+ movntdq %xmm0,0x30(%rdi)
+ movntdq %xmm0,0x40(%rdi)
+ movntdq %xmm0,0x50(%rdi)
+ movntdq %xmm0,0x60(%rdi)
+ movntdq %xmm0,0x70(%rdi)
+
+ lea 0x80(%rdi),%rdi
+ jge L(sse2_nt_move)
+ lea L(SSExDx)(%rip),%r11
sfence
- jmp 4b
+ add %r8,%rdi
+#ifndef PIC
+ jmpq *(%r11,%r8,8)
+#else
+ movslq (%r11,%r8,4),%rcx
+ lea (%rcx,%r11,1),%r11
+ jmpq *%r11
+#endif
+
+ .pushsection .rodata
+ .balign 16
+#ifndef PIC
+L(SSExDx):
+ .quad L(SSE0Q0), L(SSE1Q0), L(SSE2Q0), L(SSE3Q0)
+ .quad L(SSE4Q0), L(SSE5Q0), L(SSE6Q0), L(SSE7Q0)
+ .quad L(SSE8Q0), L(SSE9Q0), L(SSE10Q0), L(SSE11Q0)
+ .quad L(SSE12Q0), L(SSE13Q0), L(SSE14Q0), L(SSE15Q0)
+ .quad L(SSE0Q1), L(SSE1Q1), L(SSE2Q1), L(SSE3Q1)
+ .quad L(SSE4Q1), L(SSE5Q1), L(SSE6Q1), L(SSE7Q1)
+ .quad L(SSE8Q1), L(SSE9Q1), L(SSE10Q1), L(SSE11Q1)
+ .quad L(SSE12Q1), L(SSE13Q1), L(SSE14Q1), L(SSE15Q1)
+ .quad L(SSE0Q2), L(SSE1Q2), L(SSE2Q2), L(SSE3Q2)
+ .quad L(SSE4Q2), L(SSE5Q2), L(SSE6Q2), L(SSE7Q2)
+ .quad L(SSE8Q2), L(SSE9Q2), L(SSE10Q2), L(SSE11Q2)
+ .quad L(SSE12Q2), L(SSE13Q2), L(SSE14Q2), L(SSE15Q2)
+ .quad L(SSE0Q3), L(SSE1Q3), L(SSE2Q3), L(SSE3Q3)
+ .quad L(SSE4Q3), L(SSE5Q3), L(SSE6Q3), L(SSE7Q3)
+ .quad L(SSE8Q3), L(SSE9Q3), L(SSE10Q3), L(SSE11Q3)
+ .quad L(SSE12Q3), L(SSE13Q3), L(SSE14Q3), L(SSE15Q3)
+ .quad L(SSE0Q4), L(SSE1Q4), L(SSE2Q4), L(SSE3Q4)
+ .quad L(SSE4Q4), L(SSE5Q4), L(SSE6Q4), L(SSE7Q4)
+ .quad L(SSE8Q4), L(SSE9Q4), L(SSE10Q4), L(SSE11Q4)
+ .quad L(SSE12Q4), L(SSE13Q4), L(SSE14Q4), L(SSE15Q4)
+ .quad L(SSE0Q5), L(SSE1Q5), L(SSE2Q5), L(SSE3Q5)
+ .quad L(SSE4Q5), L(SSE5Q5), L(SSE6Q5), L(SSE7Q5)
+ .quad L(SSE8Q5), L(SSE9Q5), L(SSE10Q5), L(SSE11Q5)
+ .quad L(SSE12Q5), L(SSE13Q5), L(SSE14Q5), L(SSE15Q5)
+ .quad L(SSE0Q6), L(SSE1Q6), L(SSE2Q6), L(SSE3Q6)
+ .quad L(SSE4Q6), L(SSE5Q6), L(SSE6Q6), L(SSE7Q6)
+ .quad L(SSE8Q6), L(SSE9Q6), L(SSE10Q6), L(SSE11Q6)
+ .quad L(SSE12Q6), L(SSE13Q6), L(SSE14Q6), L(SSE15Q6)
+ .quad L(SSE0Q7), L(SSE1Q7), L(SSE2Q7), L(SSE3Q7)
+ .quad L(SSE4Q7), L(SSE5Q7), L(SSE6Q7), L(SSE7Q7)
+ .quad L(SSE8Q7), L(SSE9Q7), L(SSE10Q7), L(SSE11Q7)
+ .quad L(SSE12Q7), L(SSE13Q7), L(SSE14Q7), L(SSE15Q7)
+ .quad L(SSE0Q8), L(SSE1Q8), L(SSE2Q8), L(SSE3Q8)
+ .quad L(SSE4Q8), L(SSE5Q8), L(SSE6Q8), L(SSE7Q8)
+ .quad L(SSE8Q8), L(SSE9Q8), L(SSE10Q8), L(SSE11Q8)
+ .quad L(SSE12Q8), L(SSE13Q8), L(SSE14Q8), L(SSE15Q8)
+ .quad L(SSE0Q9), L(SSE1Q9), L(SSE2Q9), L(SSE3Q9)
+ .quad L(SSE4Q9), L(SSE5Q9), L(SSE6Q9), L(SSE7Q9)
+ .quad L(SSE8Q9), L(SSE9Q9), L(SSE10Q9), L(SSE11Q9)
+ .quad L(SSE12Q9), L(SSE13Q9), L(SSE14Q9), L(SSE15Q9)
+ .quad L(SSE0QA), L(SSE1QA), L(SSE2QA), L(SSE3QA)
+ .quad L(SSE4QA), L(SSE5QA), L(SSE6QA), L(SSE7QA)
+ .quad L(SSE8QA), L(SSE9QA), L(SSE10QA), L(SSE11QA)
+ .quad L(SSE12QA), L(SSE13QA), L(SSE14QA), L(SSE15QA)
+ .quad L(SSE0QB), L(SSE1QB), L(SSE2QB), L(SSE3QB)
+ .quad L(SSE4QB), L(SSE5QB), L(SSE6QB), L(SSE7QB)
+ .quad L(SSE8QB), L(SSE9QB), L(SSE10QB), L(SSE11QB)
+ .quad L(SSE12QB), L(SSE13QB), L(SSE14QB), L(SSE15QB)
+#else
+L(SSExDx):
+ .int L(SSE0Q0) -L(SSExDx)
+ .int L(SSE1Q0) -L(SSExDx)
+ .int L(SSE2Q0) -L(SSExDx)
+ .int L(SSE3Q0) -L(SSExDx)
+ .int L(SSE4Q0) -L(SSExDx)
+ .int L(SSE5Q0) -L(SSExDx)
+ .int L(SSE6Q0) -L(SSExDx)
+ .int L(SSE7Q0) -L(SSExDx)
+
+ .int L(SSE8Q0) -L(SSExDx)
+ .int L(SSE9Q0) -L(SSExDx)
+ .int L(SSE10Q0)-L(SSExDx)
+ .int L(SSE11Q0)-L(SSExDx)
+ .int L(SSE12Q0)-L(SSExDx)
+ .int L(SSE13Q0)-L(SSExDx)
+ .int L(SSE14Q0)-L(SSExDx)
+ .int L(SSE15Q0)-L(SSExDx)
+
+ .int L(SSE0Q1) -L(SSExDx)
+ .int L(SSE1Q1) -L(SSExDx)
+ .int L(SSE2Q1) -L(SSExDx)
+ .int L(SSE3Q1) -L(SSExDx)
+ .int L(SSE4Q1) -L(SSExDx)
+ .int L(SSE5Q1) -L(SSExDx)
+ .int L(SSE6Q1) -L(SSExDx)
+ .int L(SSE7Q1) -L(SSExDx)
+
+ .int L(SSE8Q1) -L(SSExDx)
+ .int L(SSE9Q1) -L(SSExDx)
+ .int L(SSE10Q1)-L(SSExDx)
+ .int L(SSE11Q1)-L(SSExDx)
+ .int L(SSE12Q1)-L(SSExDx)
+ .int L(SSE13Q1)-L(SSExDx)
+ .int L(SSE14Q1)-L(SSExDx)
+ .int L(SSE15Q1)-L(SSExDx)
+
+ .int L(SSE0Q2) -L(SSExDx)
+ .int L(SSE1Q2) -L(SSExDx)
+ .int L(SSE2Q2) -L(SSExDx)
+ .int L(SSE3Q2) -L(SSExDx)
+ .int L(SSE4Q2) -L(SSExDx)
+ .int L(SSE5Q2) -L(SSExDx)
+ .int L(SSE6Q2) -L(SSExDx)
+ .int L(SSE7Q2) -L(SSExDx)
+
+ .int L(SSE8Q2) -L(SSExDx)
+ .int L(SSE9Q2) -L(SSExDx)
+ .int L(SSE10Q2)-L(SSExDx)
+ .int L(SSE11Q2)-L(SSExDx)
+ .int L(SSE12Q2)-L(SSExDx)
+ .int L(SSE13Q2)-L(SSExDx)
+ .int L(SSE14Q2)-L(SSExDx)
+ .int L(SSE15Q2)-L(SSExDx)
+
+ .int L(SSE0Q3) -L(SSExDx)
+ .int L(SSE1Q3) -L(SSExDx)
+ .int L(SSE2Q3) -L(SSExDx)
+ .int L(SSE3Q3) -L(SSExDx)
+ .int L(SSE4Q3) -L(SSExDx)
+ .int L(SSE5Q3) -L(SSExDx)
+ .int L(SSE6Q3) -L(SSExDx)
+ .int L(SSE7Q3) -L(SSExDx)
+
+ .int L(SSE8Q3) -L(SSExDx)
+ .int L(SSE9Q3) -L(SSExDx)
+ .int L(SSE10Q3)-L(SSExDx)
+ .int L(SSE11Q3)-L(SSExDx)
+ .int L(SSE12Q3)-L(SSExDx)
+ .int L(SSE13Q3)-L(SSExDx)
+ .int L(SSE14Q3)-L(SSExDx)
+ .int L(SSE15Q3)-L(SSExDx)
+
+ .int L(SSE0Q4) -L(SSExDx)
+ .int L(SSE1Q4) -L(SSExDx)
+ .int L(SSE2Q4) -L(SSExDx)
+ .int L(SSE3Q4) -L(SSExDx)
+ .int L(SSE4Q4) -L(SSExDx)
+ .int L(SSE5Q4) -L(SSExDx)
+ .int L(SSE6Q4) -L(SSExDx)
+ .int L(SSE7Q4) -L(SSExDx)
+
+ .int L(SSE8Q4) -L(SSExDx)
+ .int L(SSE9Q4) -L(SSExDx)
+ .int L(SSE10Q4)-L(SSExDx)
+ .int L(SSE11Q4)-L(SSExDx)
+ .int L(SSE12Q4)-L(SSExDx)
+ .int L(SSE13Q4)-L(SSExDx)
+ .int L(SSE14Q4)-L(SSExDx)
+ .int L(SSE15Q4)-L(SSExDx)
+
+ .int L(SSE0Q5) -L(SSExDx)
+ .int L(SSE1Q5) -L(SSExDx)
+ .int L(SSE2Q5) -L(SSExDx)
+ .int L(SSE3Q5) -L(SSExDx)
+ .int L(SSE4Q5) -L(SSExDx)
+ .int L(SSE5Q5) -L(SSExDx)
+ .int L(SSE6Q5) -L(SSExDx)
+ .int L(SSE7Q5) -L(SSExDx)
+
+ .int L(SSE8Q5) -L(SSExDx)
+ .int L(SSE9Q5) -L(SSExDx)
+ .int L(SSE10Q5)-L(SSExDx)
+ .int L(SSE11Q5)-L(SSExDx)
+ .int L(SSE12Q5)-L(SSExDx)
+ .int L(SSE13Q5)-L(SSExDx)
+ .int L(SSE14Q5)-L(SSExDx)
+ .int L(SSE15Q5)-L(SSExDx)
+
+ .int L(SSE0Q6) -L(SSExDx)
+ .int L(SSE1Q6) -L(SSExDx)
+ .int L(SSE2Q6) -L(SSExDx)
+ .int L(SSE3Q6) -L(SSExDx)
+ .int L(SSE4Q6) -L(SSExDx)
+ .int L(SSE5Q6) -L(SSExDx)
+ .int L(SSE6Q6) -L(SSExDx)
+ .int L(SSE7Q6) -L(SSExDx)
+
+ .int L(SSE8Q6) -L(SSExDx)
+ .int L(SSE9Q6) -L(SSExDx)
+ .int L(SSE10Q6)-L(SSExDx)
+ .int L(SSE11Q6)-L(SSExDx)
+ .int L(SSE12Q6)-L(SSExDx)
+ .int L(SSE13Q6)-L(SSExDx)
+ .int L(SSE14Q6)-L(SSExDx)
+ .int L(SSE15Q6)-L(SSExDx)
+
+ .int L(SSE0Q7) -L(SSExDx)
+ .int L(SSE1Q7) -L(SSExDx)
+ .int L(SSE2Q7) -L(SSExDx)
+ .int L(SSE3Q7) -L(SSExDx)
+ .int L(SSE4Q7) -L(SSExDx)
+ .int L(SSE5Q7) -L(SSExDx)
+ .int L(SSE6Q7) -L(SSExDx)
+ .int L(SSE7Q7) -L(SSExDx)
+
+ .int L(SSE8Q7) -L(SSExDx)
+ .int L(SSE9Q7) -L(SSExDx)
+ .int L(SSE10Q7)-L(SSExDx)
+ .int L(SSE11Q7)-L(SSExDx)
+ .int L(SSE12Q7)-L(SSExDx)
+ .int L(SSE13Q7)-L(SSExDx)
+ .int L(SSE14Q7)-L(SSExDx)
+ .int L(SSE15Q7)-L(SSExDx)
+
+ .int L(SSE0Q8) -L(SSExDx)
+ .int L(SSE1Q8) -L(SSExDx)
+ .int L(SSE2Q8) -L(SSExDx)
+ .int L(SSE3Q8) -L(SSExDx)
+ .int L(SSE4Q8) -L(SSExDx)
+ .int L(SSE5Q8) -L(SSExDx)
+ .int L(SSE6Q8) -L(SSExDx)
+ .int L(SSE7Q8) -L(SSExDx)
+
+ .int L(SSE8Q8) -L(SSExDx)
+ .int L(SSE9Q8) -L(SSExDx)
+ .int L(SSE10Q8)-L(SSExDx)
+ .int L(SSE11Q8)-L(SSExDx)
+ .int L(SSE12Q8)-L(SSExDx)
+ .int L(SSE13Q8)-L(SSExDx)
+ .int L(SSE14Q8)-L(SSExDx)
+ .int L(SSE15Q8)-L(SSExDx)
+
+ .int L(SSE0Q9) -L(SSExDx)
+ .int L(SSE1Q9) -L(SSExDx)
+ .int L(SSE2Q9) -L(SSExDx)
+ .int L(SSE3Q9) -L(SSExDx)
+ .int L(SSE4Q9) -L(SSExDx)
+ .int L(SSE5Q9) -L(SSExDx)
+ .int L(SSE6Q9) -L(SSExDx)
+ .int L(SSE7Q9) -L(SSExDx)
+
+ .int L(SSE8Q9) -L(SSExDx)
+ .int L(SSE9Q9) -L(SSExDx)
+ .int L(SSE10Q9)-L(SSExDx)
+ .int L(SSE11Q9)-L(SSExDx)
+ .int L(SSE12Q9)-L(SSExDx)
+ .int L(SSE13Q9)-L(SSExDx)
+ .int L(SSE14Q9)-L(SSExDx)
+ .int L(SSE15Q9)-L(SSExDx)
+
+ .int L(SSE0QA) -L(SSExDx)
+ .int L(SSE1QA) -L(SSExDx)
+ .int L(SSE2QA) -L(SSExDx)
+ .int L(SSE3QA) -L(SSExDx)
+ .int L(SSE4QA) -L(SSExDx)
+ .int L(SSE5QA) -L(SSExDx)
+ .int L(SSE6QA) -L(SSExDx)
+ .int L(SSE7QA) -L(SSExDx)
+
+ .int L(SSE8QA) -L(SSExDx)
+ .int L(SSE9QA) -L(SSExDx)
+ .int L(SSE10QA)-L(SSExDx)
+ .int L(SSE11QA)-L(SSExDx)
+ .int L(SSE12QA)-L(SSExDx)
+ .int L(SSE13QA)-L(SSExDx)
+ .int L(SSE14QA)-L(SSExDx)
+ .int L(SSE15QA)-L(SSExDx)
+
+ .int L(SSE0QB) -L(SSExDx)
+ .int L(SSE1QB) -L(SSExDx)
+ .int L(SSE2QB) -L(SSExDx)
+ .int L(SSE3QB) -L(SSExDx)
+ .int L(SSE4QB) -L(SSExDx)
+ .int L(SSE5QB) -L(SSExDx)
+ .int L(SSE6QB) -L(SSExDx)
+ .int L(SSE7QB) -L(SSExDx)
+
+ .int L(SSE8QB) -L(SSExDx)
+ .int L(SSE9QB) -L(SSExDx)
+ .int L(SSE10QB)-L(SSExDx)
+ .int L(SSE11QB)-L(SSExDx)
+ .int L(SSE12QB)-L(SSExDx)
+ .int L(SSE13QB)-L(SSExDx)
+ .int L(SSE14QB)-L(SSExDx)
+ .int L(SSE15QB)-L(SSExDx)
+#endif
+ .popsection
END (memset)
libc_hidden_builtin_def (memset)
diff --git a/libc/sysdeps/x86_64/rtld-memset.c b/libc/sysdeps/x86_64/rtld-memset.c
new file mode 100644
index 000000000..55f383579
--- /dev/null
+++ b/libc/sysdeps/x86_64/rtld-memset.c
@@ -0,0 +1 @@
+#include <string/memset.c>
diff --git a/libc/time/lc-time-cleanup.c b/libc/time/lc-time-cleanup.c
index 797270068..6777f487a 100644
--- a/libc/time/lc-time-cleanup.c
+++ b/libc/time/lc-time-cleanup.c
@@ -29,12 +29,9 @@ _nl_cleanup_time (struct locale_data *locale)
locale->private.time = NULL;
locale->private.cleanup = NULL;
- if (data->eras != NULL)
- free (data->eras);
- if (data->alt_digits != NULL)
- free (data->alt_digits);
- if (data->walt_digits != NULL)
- free (data->walt_digits);
+ free (data->eras);
+ free (data->alt_digits);
+ free (data->walt_digits);
free (data);
}
diff --git a/libc/time/tzset.c b/libc/time/tzset.c
index 0d5420218..a6fed4abc 100644
--- a/libc/time/tzset.c
+++ b/libc/time/tzset.c
@@ -414,8 +414,7 @@ tzset_internal (always, explicit)
tz_rules[1].name = NULL;
/* Save the value of `tz'. */
- if (old_tz != NULL)
- free (old_tz);
+ free (old_tz);
old_tz = tz ? __strdup (tz) : NULL;
/* Try to read a data file. */
diff --git a/ports/ChangeLog.hppa b/ports/ChangeLog.hppa
index 3654fc7a5..abe017e92 100644
--- a/ports/ChangeLog.hppa
+++ b/ports/ChangeLog.hppa
@@ -1,8 +1,24 @@
+2008-03-24 Carlos O'Donell <carlos@codesourcery.com>
+
+ * sysdeps/unix/sysv/linux/hppa/sys/user.h: New file.
+
+2008-03-14 Carlos O'Donell <carlos@codesourcery.com>
+ Guy Martin <gmsoft@tuxicoman.be>
+
+ [BZ #5923]
+ * sysdeps/unix/sysv/linux/hppa/nptl/lowlevellock.h: Pass
+ timespec and futexp.
+
+2008-02-22 Carlos O'Donell <carlos@codesourcery.com>
+
+ * sysdeps/unix/sysv/linux/hppa/Makefile: Remove.
+ * sysdeps/hppa/nptl/Makefile: Set tst-oddstacklimit-ENV.
+
2007-12-05 Jeff Bailey <jeffbailey@google.com>
- * sysdeps/unix/sysv/linux/hppa/nptl/lowlevellock.h
- (__lll_unlock): Use define instead of inline function.
- (__lll_robust_unlock): Likewise.
+ * sysdeps/unix/sysv/linux/hppa/nptl/lowlevellock.h
+ (__lll_unlock): Use define instead of inline function.
+ (__lll_robust_unlock): Likewise.
2007-10-22 Daniel Jacobowitz <dan@codesourcery.com>
diff --git a/ports/ChangeLog.mips b/ports/ChangeLog.mips
index ffbc3441f..711f23b73 100644
--- a/ports/ChangeLog.mips
+++ b/ports/ChangeLog.mips
@@ -1,3 +1,28 @@
+2008-03-26 David Stephenson <david.stephenson@sicortex.com>
+ Daniel Jacobowitz <dan@codesourcery.com>
+
+ * sysdeps/mips/fpu/fesetround.c (fesetround): Use fpu_control_t.
+ * sysdeps/mips/fpu/fgetexcptflg.c (fegetexceptflag): Likewise.
+ * sysdeps/mips/fpu/fsetexcptflg.c (fesetexceptflag): Likewise.
+
+2008-03-09 Andreas Jaeger <aj@suse.de>
+
+ [BZ #5753]
+ * sysdeps/mips/ieee754.h: Use protected namespace
+ __BIG_ENDIAN/__LITTLE_ENDIAN.
+ Patch by Aurelien Jarno <aurelien@aurel32.net>.
+
+2008-03-04 Daniel Jacobowitz <dan@codesourcery.com>
+
+ * sysdeps/unix/sysv/linux/mips/bits/siginfo.h (struct siginfo):
+ Reorganize to match other architectures. Replace _timer._timer1
+ and _timer._timer2 with _timer.si_tid, _timer.si_overrun, and
+ _timer.si_sigval. Correct the type of _sigpoll.si_band.
+ (si_timerid, si_overrun): Define.
+ (__SIGEV_PAD_SIZE): Correct for __WORDSIZE == 64.
+ (__pthread_attr_s): Remove declaration.
+ (struct sigevent): Remove XXX. Add _tid.
+
2007-10-22 Daniel Jacobowitz <dan@codesourcery.com>
* sysdeps/unix/sysv/linux/mips/bits/fcntl.h (F_DUPFD_CLOEXEC): Define.
diff --git a/ports/sysdeps/hppa/nptl/Makefile b/ports/sysdeps/hppa/nptl/Makefile
index 030069378..78d897393 100644
--- a/ports/sysdeps/hppa/nptl/Makefile
+++ b/ports/sysdeps/hppa/nptl/Makefile
@@ -19,3 +19,9 @@
ifeq ($(subdir),csu)
gen-as-const-headers += tcb-offsets.sym
endif
+
+# This sets the stack resource limit to 8193kb, which is not a multiple
+# of the page size, and therefore an odd sized stack limit. We override
+# this because the default is too small to run with.
+tst-oddstacklimit-ENV = ; ulimit -s 8193;
+
diff --git a/ports/sysdeps/mips/fpu/fesetround.c b/ports/sysdeps/mips/fpu/fesetround.c
index 94771092c..c28bd603c 100644
--- a/ports/sysdeps/mips/fpu/fesetround.c
+++ b/ports/sysdeps/mips/fpu/fesetround.c
@@ -24,7 +24,7 @@
int
fesetround (int round)
{
- unsigned short int cw;
+ fpu_control_t cw;
if ((round & ~0x3) != 0)
/* ROUND is no valid rounding mode. */
diff --git a/ports/sysdeps/mips/fpu/fgetexcptflg.c b/ports/sysdeps/mips/fpu/fgetexcptflg.c
index 341215981..27875b376 100644
--- a/ports/sysdeps/mips/fpu/fgetexcptflg.c
+++ b/ports/sysdeps/mips/fpu/fgetexcptflg.c
@@ -24,7 +24,7 @@
int
fegetexceptflag (fexcept_t *flagp, int excepts)
{
- fexcept_t temp;
+ fpu_control_t temp;
/* Get the current exceptions. */
_FPU_GETCW (temp);
diff --git a/ports/sysdeps/mips/fpu/fsetexcptflg.c b/ports/sysdeps/mips/fpu/fsetexcptflg.c
index c65d79317..b1293753c 100644
--- a/ports/sysdeps/mips/fpu/fsetexcptflg.c
+++ b/ports/sysdeps/mips/fpu/fsetexcptflg.c
@@ -24,7 +24,7 @@
int
fesetexceptflag (const fexcept_t *flagp, int excepts)
{
- fexcept_t temp;
+ fpu_control_t temp;
/* Get the current exceptions. */
_FPU_GETCW (temp);
diff --git a/ports/sysdeps/mips/ieee754.h b/ports/sysdeps/mips/ieee754.h
index ed13de277..912e088f7 100644
--- a/ports/sysdeps/mips/ieee754.h
+++ b/ports/sysdeps/mips/ieee754.h
@@ -83,7 +83,7 @@ union ieee754_double
unsigned int mantissa1:32;
#endif /* Big endian. */
#if __BYTE_ORDER == __LITTLE_ENDIAN
-# if __FLOAT_WORD_ORDER == BIG_ENDIAN
+# if __FLOAT_WORD_ORDER == __BIG_ENDIAN
unsigned int mantissa0:20;
unsigned int exponent:11;
unsigned int negative:1;
@@ -109,7 +109,7 @@ union ieee754_double
unsigned int mantissa0:19;
unsigned int mantissa1:32;
#else
-# if __FLOAT_WORD_ORDER == BIG_ENDIAN
+# if __FLOAT_WORD_ORDER == __BIG_ENDIAN
unsigned int mantissa0:19;
unsigned int quiet_nan:1;
unsigned int exponent:11;
@@ -203,7 +203,7 @@ union ieee854_long_double
unsigned int mantissa1:32;
#endif
#if __BYTE_ORDER == __LITTLE_ENDIAN
-# if __FLOAT_WORD_ORDER == BIG_ENDIAN
+# if __FLOAT_WORD_ORDER == __BIG_ENDIAN
unsigned int exponent:15;
unsigned int negative:1;
unsigned int empty:16;
@@ -232,7 +232,7 @@ union ieee854_long_double
unsigned int mantissa1:32;
#endif
#if __BYTE_ORDER == __LITTLE_ENDIAN
-# if __FLOAT_WORD_ORDER == BIG_ENDIAN
+# if __FLOAT_WORD_ORDER == __BIG_ENDIAN
unsigned int exponent:15;
unsigned int negative:1;
unsigned int empty:16;
@@ -272,7 +272,7 @@ union ieee854_long_double
unsigned int mantissa1:32;
#endif /* Big endian. */
#if __BYTE_ORDER == __LITTLE_ENDIAN
-# if __FLOAT_WORD_ORDER == BIG_ENDIAN
+# if __FLOAT_WORD_ORDER == __BIG_ENDIAN
unsigned int mantissa0:20;
unsigned int exponent:11;
unsigned int negative:1;
@@ -298,7 +298,7 @@ union ieee854_long_double
unsigned int mantissa0:19;
unsigned int mantissa1:32;
#else
-# if __FLOAT_WORD_ORDER == BIG_ENDIAN
+# if __FLOAT_WORD_ORDER == __BIG_ENDIAN
unsigned int mantissa0:19;
unsigned int quiet_nan:1;
unsigned int exponent:11;
diff --git a/ports/sysdeps/unix/sysv/linux/hppa/Makefile b/ports/sysdeps/unix/sysv/linux/hppa/Makefile
deleted file mode 100644
index 1c93ec52d..000000000
--- a/ports/sysdeps/unix/sysv/linux/hppa/Makefile
+++ /dev/null
@@ -1,2 +0,0 @@
-# linux/hppa does not use -lmilli anymore
-gnulib := -lgcc
diff --git a/ports/sysdeps/unix/sysv/linux/hppa/nptl/lowlevellock.h b/ports/sysdeps/unix/sysv/linux/hppa/nptl/lowlevellock.h
index 522380e64..ec907aefb 100644
--- a/ports/sysdeps/unix/sysv/linux/hppa/nptl/lowlevellock.h
+++ b/ports/sysdeps/unix/sysv/linux/hppa/nptl/lowlevellock.h
@@ -111,7 +111,7 @@ typedef int lll_lock_t;
lll_private_futex_timed_wait (futex, val, NULL)
#ifdef __ASSUME_PRIVATE_FUTEX
-# define lll_private_futex_timed_wait(futex, val, timeout) \
+# define lll_private_futex_timed_wait(futexp, val, timespec) \
({ \
INTERNAL_SYSCALL_DECL (__err); \
long int __ret; \
diff --git a/ports/sysdeps/unix/sysv/linux/hppa/sys/user.h b/ports/sysdeps/unix/sysv/linux/hppa/sys/user.h
new file mode 100644
index 000000000..c871f1a03
--- /dev/null
+++ b/ports/sysdeps/unix/sysv/linux/hppa/sys/user.h
@@ -0,0 +1 @@
+/* This file is not needed, but in practice gdb might try to include it. */
diff --git a/ports/sysdeps/unix/sysv/linux/mips/bits/siginfo.h b/ports/sysdeps/unix/sysv/linux/mips/bits/siginfo.h
index 787e36513..e0fc81a18 100644
--- a/ports/sysdeps/unix/sysv/linux/mips/bits/siginfo.h
+++ b/ports/sysdeps/unix/sysv/linux/mips/bits/siginfo.h
@@ -1,5 +1,5 @@
/* siginfo_t, sigevent and constants. Linux/MIPS version.
- Copyright (C) 1997, 1998, 2000, 2001, 2002, 2003, 2004, 2005
+ Copyright (C) 1997, 1998, 2000, 2001, 2002, 2003, 2004, 2005, 2008
Free Software Foundation, Inc.
This file is part of the GNU C Library.
@@ -70,6 +70,22 @@ typedef struct siginfo
__uid_t si_uid; /* Real user ID of sending process. */
} _kill;
+ /* POSIX.1b timers. */
+ struct
+ {
+ int si_tid; /* Timer ID. */
+ int si_overrun; /* Overrun count. */
+ sigval_t si_sigval; /* Signal value. */
+ } _timer;
+
+ /* POSIX.1b signals. */
+ struct
+ {
+ __pid_t si_pid; /* Sending process ID. */
+ __uid_t si_uid; /* Real user ID of sending process. */
+ sigval_t si_sigval; /* Signal value. */
+ } _rt;
+
/* SIGCHLD. */
struct
{
@@ -89,24 +105,9 @@ typedef struct siginfo
/* SIGPOLL. */
struct
{
- int si_band; /* Band event for SIGPOLL. */
+ long int si_band; /* Band event for SIGPOLL. */
int si_fd;
} _sigpoll;
-
- /* POSIX.1b timers. */
- struct
- {
- unsigned int _timer1;
- unsigned int _timer2;
- } _timer;
-
- /* POSIX.1b signals. */
- struct
- {
- __pid_t si_pid; /* Sending process ID. */
- __uid_t si_uid; /* Real user ID of sending process. */
- sigval_t si_sigval; /* Signal value. */
- } _rt;
} _sifields;
} siginfo_t;
@@ -114,6 +115,8 @@ typedef struct siginfo
/* X/Open requires some more fields with fixed names. */
# define si_pid _sifields._kill.si_pid
# define si_uid _sifields._kill.si_uid
+# define si_timerid _sifields._timer.si_tid
+# define si_overrun _sifields._timer.si_overrun
# define si_status _sifields._sigchld.si_status
# define si_utime _sifields._sigchld.si_utime
# define si_stime _sifields._sigchld.si_stime
@@ -265,12 +268,12 @@ enum
/* Structure to transport application-defined values with signals. */
# define __SIGEV_MAX_SIZE 64
-# define __SIGEV_PAD_SIZE ((__SIGEV_MAX_SIZE / sizeof (int)) - 3)
-
-/* Forward declaration of the `pthread_attr_t' type. */
-struct __pthread_attr_s;
+# if __WORDSIZE == 64
+# define __SIGEV_PAD_SIZE ((__SIGEV_MAX_SIZE / sizeof (int)) - 4)
+# else
+# define __SIGEV_PAD_SIZE ((__SIGEV_MAX_SIZE / sizeof (int)) - 3)
+# endif
-/* XXX This one might need to change!!! */
typedef struct sigevent
{
sigval_t sigev_value;
@@ -281,6 +284,10 @@ typedef struct sigevent
{
int _pad[__SIGEV_PAD_SIZE];
+ /* When SIGEV_SIGNAL and SIGEV_THREAD_ID set, LWP ID of the
+ thread to receive the signal. */
+ __pid_t _tid;
+
struct
{
void (*_function) (sigval_t); /* Function to start. */