]> git.ipfire.org Git - thirdparty/glibc.git/commitdiff
Updated to fedora-glibc-20090218T1534
authorJakub Jelinek <jakub@redhat.com>
Wed, 18 Feb 2009 15:49:44 +0000 (15:49 +0000)
committerJakub Jelinek <jakub@redhat.com>
Wed, 18 Feb 2009 15:49:44 +0000 (15:49 +0000)
107 files changed:
ChangeLog
argp/argp.h
bits/confname.h
bits/environments.h
debug/pcprofiledump.c
debug/xtrace.sh
elf/dl-load.c
elf/ldconfig.c
elf/ldd.bash.in
elf/sln.c
elf/sprof.c
fedora/branch.mk
grp/compat-initgroups.c
include/atomic.h
include/malloc.h
include/rpc/auth.h
intl/dcigettext.c
io/sys/stat.h
libio/wfileops.c
locale/langinfo.h
locale/programs/locale.c
localedata/ChangeLog
localedata/Makefile
localedata/locales/el_CY
localedata/locales/el_GR
localedata/locales/iso14651_t1_common
localedata/locales/sv_FI
malloc/arena.c
malloc/hooks.c
malloc/malloc.c
malloc/memusage.c
malloc/memusage.sh
malloc/memusagestat.c
malloc/obstack.h
nis/rpcsvc/nislib.h
nptl/ChangeLog
nptl/sysdeps/unix/sysv/linux/sh/lowlevellock.S
nptl_db/ChangeLog
nptl_db/td_thr_get_info.c
nscd/aicache.c
nscd/cache.c
nscd/connections.c
nscd/grpcache.c
nscd/hstcache.c
nscd/initgrcache.c
nscd/mem.c
nscd/nscd.c
nscd/nscd.h
nscd/pwdcache.c
nscd/servicescache.c
nss/getent.c
po/Makefile
po/libc.pot
po/lt.po
po/ru.po
posix/Makefile
posix/confstr.c
posix/getconf.c
posix/spawn.h
posix/sysconf.c
resolv/arpa/nameser.h
resolv/netdb.h
resolv/res_libc.c
resolv/resolv.h
soft-fp/double.h
stdio-common/psignal.c
stdlib/monetary.h
sunrpc/rpc/clnt.h
sunrpc/rpc/pmap_clnt.h
sunrpc/rpc/svc.h
sunrpc/rpc/xdr.h
sunrpc/rpc_common.c
sunrpc/rpc_main.c
sunrpc/rpcinfo.c
sysdeps/i386/bits/link.h
sysdeps/i386/i486/bits/atomic.h
sysdeps/ia64/bits/link.h
sysdeps/posix/sysconf.c
sysdeps/powerpc/bits/link.h
sysdeps/s390/bits/link.h
sysdeps/sh/bits/link.h
sysdeps/sh/sh4/__longjmp.S
sysdeps/sh/sh4/dl-trampoline.S
sysdeps/sh/sh4/setjmp.S
sysdeps/sparc/bits/link.h
sysdeps/unix/opendir.c
sysdeps/unix/sysv/linux/getsysstats.c
sysdeps/unix/sysv/linux/i386/bits/environments.h
sysdeps/unix/sysv/linux/i386/sys/io.h
sysdeps/unix/sysv/linux/lddlibc4.c
sysdeps/unix/sysv/linux/ldsodefs.h
sysdeps/unix/sysv/linux/powerpc/bits/environments.h
sysdeps/unix/sysv/linux/s390/bits/environments.h
sysdeps/unix/sysv/linux/sh/sh4/getcontext.S
sysdeps/unix/sysv/linux/sh/sh4/register-dump.h
sysdeps/unix/sysv/linux/sh/sh4/setcontext.S
sysdeps/unix/sysv/linux/sh/sh4/swapcontext.S
sysdeps/unix/sysv/linux/sparc/bits/environments.h
sysdeps/unix/sysv/linux/sparc/bits/siginfo.h
sysdeps/unix/sysv/linux/sparc/getsysstats.c
sysdeps/unix/sysv/linux/sparc/sys/eventfd.h
sysdeps/unix/sysv/linux/sys/eventfd.h
sysdeps/unix/sysv/linux/x86_64/bits/environments.h
sysdeps/unix/sysv/linux/x86_64/sys/io.h
sysdeps/x86_64/bits/atomic.h
sysdeps/x86_64/bits/link.h
time/tzset.c

index d8e6650e096b8475d33343e3478b03212df507e6..6a2f201a8540fb070c71105efbecc0d1518f2cfa 100644 (file)
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,3 +1,219 @@
+2009-02-16  Jakub Jelinek  <jakub@redhat.com>
+
+       * stdlib/monetary.h: Uglify function parameter names.
+       * sunrpc/rpc/pmap_clnt.h: Likewise.
+       * sunrpc/rpc/svc.h: Likewise.
+       * sunrpc/rpc/xdr.h: Likewise.
+       * sunrpc/rpc/clnt.h: Likewise.
+       * resolv/netdb.h: Likewise.
+       * resolv/arpa/nameser.h: Likewise.
+       * resolv/resolv.h: Likewise.
+       * argp/argp.h: Likewise.
+       * locale/langinfo.h: Likewise.
+       * io/sys/stat.h: Likewise.
+       * posix/spawn.h: Likewise.
+       * nis/rpcsvc/nislib.h: Likewise.
+       * malloc/obstack.h: Likewise.
+       * sysdeps/ia64/bits/link.h: Likewise.
+       * sysdeps/i386/bits/link.h: Likewise.
+       * sysdeps/s390/bits/link.h: Likewise.
+       * sysdeps/powerpc/bits/link.h: Likewise.
+       * sysdeps/x86_64/bits/link.h: Likewise.
+       * sysdeps/sparc/bits/link.h: Likewise.
+       * sysdeps/sh/bits/link.h: Likewise.
+       * sysdeps/unix/sysv/linux/i386/sys/io.h: Likewise.
+       * sysdeps/unix/sysv/linux/x86_64/sys/io.h: Likewise.
+       * sysdeps/unix/sysv/linux/sparc/sys/eventfd.h: Likewise.
+       * sysdeps/unix/sysv/linux/sys/eventfd.h: Likewise.
+
+2008-12-01  Fredrik Unger  <fred@tree.se>
+
+       * soft-fp/double.h [_FP_W_TYPE_SIZE >= 64] (FP_UNPACK_SEMIRAW_D,
+       FP_UNPACK_SEMIRAW_DP): Use _FP_UNPACK_RAW_1 instead of
+       _FP_UNPACK_RAW_2, fix up first argument.
+
+2009-02-15  Ulrich Drepper  <drepper@redhat.com>
+
+       * sysdeps/unix/sysv/linux/getsysstats.c (next_line): New function.
+       (GET_NPROCS_PARSER): Change parameters and use next_line.
+       (__get_nprocs): Rewrite to not use stdio routines.
+       * sysdeps/unix/sysv/linux/sparc/getsysstats.c (GET_NPROCS_PARSER):
+       Change parameters and use next_line.
+
+2009-02-13  Ulrich Drepper  <drepper@redhat.com>
+
+       [BZ #5381]
+       * nscd/nscd.h: Remove definitions and declarations for mem_in_flight.
+       Change mempool_alloc prototype.
+       * nscd/mem.c (gc): Don't handle mem_in_flight.
+       (mempool_alloc): Third parameter now only indicates whether this is the
+       first call (to allocate data) or not.  If it is, get db rdlock.
+       Release it on error.  Don't handle mem_in_flight.
+       * nscd/aicache.c (addhstaiX): Mark he parameter as const.
+       Adjust third parameter of mempool_alloc calls.
+       Nothing to do here in case mempool_alloc fails.
+       Avoid local variable shadowing parameter.  No need to get db rdlock
+       before calling cache_add.
+       * nscd/cache.c (cache_add): Adjust call to mempool_alloc.  There is
+       no mem_in_flight array anymore.
+       * nscd/connections.c: Remove definition and handling of mem_in_flight.
+       * nscd/grpcache.c (cache_addgr): Adjust third parameter of
+       mempool_alloc calls.  Mark he parameter as const.  Nothing to do here
+       in case mempool_alloc fails. No need to get db rdlock before calling
+       cache_add.
+       * nscd/hstcache.c (cache_addhst): Likewise.
+       * nscd/initgrcache.c (addinitgroupsX): Likewise.
+       * nscd/servicescache.c (cache_addserv): Likewise.
+       * nscd/pwdcache.c (cache_addpw): Likewise.  Remove some debugging code.
+
+2009-02-11  Ulrich Drepper  <drepper@redhat.com>
+
+       * po/lt.po: Update from translation team.
+
+2009-02-10  Ulrich Drepper  <drepper@redhat.com>
+
+       * elf/dl-load.c (open_verify): In case VALID_ELF_HEADER is
+       defined, allow additional data to be added using the optional
+       MORE_ELF_HEADER_DATA macro.
+       * sysdeps/unix/sysv/linux/ldsodefs.h (VALID_ELF_HEADER,
+       VALID_ELF_OSABI, VALID_ELF_ABIVERSION, MORE_ELF_HEADER_DATA): Define.
+
+2009-02-08  Ulrich Drepper  <drepper@redhat.com>
+
+       * include/atomic.h: Define catomic_and if not already defined.
+       * sysdeps/x86_64/bits/atomic.h: Define catomic_and.
+       * sysdeps/i386/i486/bits/atomic.h: Likewise.
+
+2009-02-07  Ulrich Drepper  <drepper@redhat.com>
+
+       * malloc/malloc.c (_int_free): Second argument is now mchunkptr.
+       Change all callers.
+       (_int_realloc): Likewise.  Third argument is now padded size
+       All _int_* functions are now static.
+
+       * malloc/hooks.c: Change all callers to _int_free and _int_realloc.
+       * malloc/arena.c: Likewise.
+       * include/malloc.h: Remove now unnecessary declarations of the _int_*
+       functions.
+
+       * sunrpc/rpc_common.c: We cannot move _null_auth into .rodata that
+       easily.
+
+       * malloc/malloc.c: Add branch prediction for use of the hooks.
+
+       * grp/compat-initgroups.c [NOT_IN_libc] (__libc_use_alloca): Define.
+
+2009-02-06  Ulrich Drepper  <drepper@redhat.com>
+
+       [BZ #7095]
+       * bits/confname.h: Add SUSv7 macros for getconf environments.
+       * bits/environments.h: Likewise.
+       * sysdeps/unix/sysv/linux/i386/bits/environments.h: Likewise.
+       * sysdeps/unix/sysv/linux/powerpc/bits/environments.h: Likewise.
+       * sysdeps/unix/sysv/linux/s390/bits/environments.h: Likewise.
+       * sysdeps/unix/sysv/linux/sparc/bits/environments.h: Likewise.
+       * sysdeps/unix/sysv/linux/x86_64/bits/environments.h: Likewise.
+       * posix/confstr.c: Handle SUSv5 and SUSv7 environments.
+       * posix/getconf.c: Likewise.
+       * posix/sysconf.c: Likewise.
+       * sysdeps/posix/sysconf.c: Likewise.
+       * posix/Makefile (getconf.speclist): Also collect SUSv5 and SUSv7
+       environments.
+
+2009-01-16  Petr Baudis  <pasky@suse.cz>
+
+       [BZ #9753]
+       * resolv/res_libc.c (__res_maybe_init): Call __res_vinit()
+       even if we currently have zero nscount.
+
+2009-02-06  Ulrich Drepper  <drepper@redhat.com>
+
+       [BZ #9781]
+       * grp/compat-initgroups.c (compat_call): Switch to use malloc when
+       the input line is too long.
+
+       * po/Makefile (libc.pot): Add f_print as function taking c-format
+       parameter.
+
+       * debug/xtrace.sh: Unify translatable messages.
+       * elf/ldd.bash.in: Likewise.
+       * elf/sprof.c: Likewise.
+       * locale/programs/locale.c: Likewise.
+       * malloc/memusage.sh: Likewise.
+       * nss/getent.c: Likewise.
+
+2009-02-06  Joseph Myers  <joseph@codesourcery.com>
+
+       * debug/pcprofiledump.c (print_version,
+       argp_program_version_hook): New function.
+       * elf/ldconfig.c (more_help): New function.
+       (argp): Use it.
+       * elf/sln.c (usage): New function.
+       (main): Support --help and --version.
+       * malloc/memusagestat.c (print_version): New function.
+       (argp_program_version_hook): New variable.
+       * nscd/nscd.c (more_help): New function.
+       (argp): Use it.
+       * posix/getconf.c (main): Send --version output to stdout.
+       Support --help.
+       * sunrpc/rpc_main.c (usage, options_usage): Take STREAM and STATUS
+       arguments.  All callers changed.
+       (print_version): New function.
+       (parseargs): Support --help and --version.
+       * sunrpc/rpcinfo.c (usage): Take STREAM argument.  All callers
+       changed.
+       (print_version): New function.
+       (main): Use getopt_long.  Support --help and --version.
+       * sysdeps/unix/sysv/linux/lddlibc4.c (main): Support --help and
+       --version.
+
+2009-02-06  Ulrich Drepper  <drepper@redhat.com>
+
+       * malloc/memusage.c (DEFAULT_BUFFER_SIZE): Change to 32768.
+       (update_data): Fix handling of wrapping back
+       to the beginning of the buffer.
+
+       [BZ #9823]
+       * stdio-common/psignal.c (psignal): Fix test for empty string.
+
+2009-02-05  Ulrich Drepper  <drepper@redhat.com>
+
+       * include/rpc/auth.h: Use libc_hidden_proto for _null_auth.
+       * sunrpc/rpc_common.c: Add libc_hidden_def for _null_auth.  Also
+       move _null_auth to .rodata.
+
+       * time/tzset.c (__tzset_parse_tz): DST offset must also allow hour
+       value of 24.
+
+       * intl/dcigettext.c (DCIGETTEXT): Avoid some code duplication.
+
+       * sysdeps/unix/opendir.c (__alloc_dir): We have a lot more memory
+       today than when the original code was written.  Use larger
+       buffers.  This also makes it unnecessary to have stat information,
+       if this causes extra efforts.
+       (__opendir): In case O_DIRECTORY works, don't call fstat just for
+       __alloc_dir.
+
+2009-02-03  Andrew Stubbs  <ams@codesourcery.com>
+
+       * sysdeps/sh/sh4/dl-trampoline.S: Only set HAVE_FPU if __SH_FPU_ANY__
+       is set.
+       * sysdeps/sh/sh4/setjmp.S: Support SH4-NOFPU.
+       * sysdeps/sh/sh4/__longjmp.S: Likewise.
+       * sysdeps/unix/sysv/linux/sh/sh4/getcontext.S: Likewise.
+       * sysdeps/unix/sysv/linux/sh/sh4/setcontext.S: Likewise.
+       * sysdeps/unix/sysv/linux/sh/sh4/swapcontext.S: Likewise.
+       * sysdeps/unix/sysv/linux/sh/sh4/register-dump.h: Likewise.
+
+2009-02-04  Ulrich Drepper  <drepper@redhat.com>
+
+       * po/ru.po: Update from translation team.
+
+2008-11-17  Nathan Sidwell  <nathan@codesourcery.com>
+
+       * sysdeps/unix/sysv/linux/sparc/bits/siginfo.h (struct sigevent):
+       Add _tid slot to maintain consistency with kernel.
+
 2009-02-04  Ulrich Drepper  <drepper@redhat.com>
 
        * libio/wfileops.c (_IO_wfile_underflow): Fix handling of
index baf3afd826eec1a6b2984b9e1acdeaf567ccc6e4..97a954ea5d0f8a2b89ffa61fada7424cbfbac6e7 100644 (file)
@@ -1,5 +1,5 @@
 /* Hierarchial argument parsing, layered over getopt.
-   Copyright (C) 1995-1999, 2003, 2004, 2005, 2006, 2007
+   Copyright (C) 1995-1999, 2003, 2004, 2005, 2006, 2007, 2009
    Free Software Foundation, Inc.
    This file is part of the GNU C Library.
    Written by Miles Bader <miles@gnu.ai.mit.edu>.
@@ -150,8 +150,8 @@ struct argp_state;          /* " */
 struct argp_child;             /* " */
 
 /* The type of a pointer to an argp parsing function.  */
-typedef error_t (*argp_parser_t) (int key, char *arg,
-                                 struct argp_state *state);
+typedef error_t (*argp_parser_t) (int __key, char *__arg,
+                                 struct argp_state *__state);
 
 /* What to return for unrecognized keys.  For special ARGP_KEY_ keys, such
    returns will simply be ignored.  For user keys, this error will be turned
index 80b51ac0b8316361c20c958adc311442a778f7e9..f6fea1fc2982b7e1c54a6c4783b20a90c910daea 100644 (file)
@@ -1,5 +1,5 @@
 /* `sysconf', `pathconf', and `confstr' NAME values.  Generic version.
-   Copyright (C) 1993,1995-1998,2000,2001,2003,2004,2007
+   Copyright (C) 1993,1995-1998,2000,2001,2003,2004,2007,2009
    Free Software Foundation, Inc.
    This file is part of the GNU C Library.
 
@@ -498,8 +498,17 @@ enum
 
     _SC_IPV6 = _SC_LEVEL1_ICACHE_SIZE + 50,
 #define _SC_IPV6                       _SC_IPV6
-    _SC_RAW_SOCKETS
+    _SC_RAW_SOCKETS,
 #define _SC_RAW_SOCKETS                        _SC_RAW_SOCKETS
+
+    _SC_V7_ILP32_OFF32,
+#define _SC_V7_ILP32_OFF32             _SC_V7_ILP32_OFF32
+    _SC_V7_ILP32_OFFBIG,
+#define _SC_V7_ILP32_OFFBIG            _SC_V7_ILP32_OFFBIG
+    _SC_V7_LP64_OFF64,
+#define _SC_V7_LP64_OFF64              _SC_V7_LP64_OFF64
+    _SC_V7_LPBIG_OFFBIG,
+#define _SC_V7_LPBIG_OFFBIG            _SC_V7_LPBIG_OFFBIG
   };
 
 /* Values for the NAME argument to `confstr'.  */
@@ -517,6 +526,14 @@ enum
     _CS_GNU_LIBPTHREAD_VERSION,
 #define _CS_GNU_LIBPTHREAD_VERSION     _CS_GNU_LIBPTHREAD_VERSION
 
+    _CS_V5_WIDTH_RESTRICTED_ENVS,
+#define _CS_V5_WIDTH_RESTRICTED_ENVS   _CS_V5_WIDTH_RESTRICTED_ENVS
+#define _CS_POSIX_V5_WIDTH_RESTRICTED_ENVS     _CS_V5_WIDTH_RESTRICTED_ENVS
+
+    _CS_V7_WIDTH_RESTRICTED_ENVS,
+#define _CS_V7_WIDTH_RESTRICTED_ENVS   _CS_V7_WIDTH_RESTRICTED_ENVS
+#define _CS_POSIX_V7_WIDTH_RESTRICTED_ENVS     _CS_V7_WIDTH_RESTRICTED_ENVS
+
     _CS_LFS_CFLAGS = 1000,
 #define _CS_LFS_CFLAGS _CS_LFS_CFLAGS
     _CS_LFS_LDFLAGS,
@@ -597,6 +614,39 @@ enum
 #define _CS_POSIX_V6_LPBIG_OFFBIG_LDFLAGS _CS_POSIX_V6_LPBIG_OFFBIG_LDFLAGS
     _CS_POSIX_V6_LPBIG_OFFBIG_LIBS,
 #define _CS_POSIX_V6_LPBIG_OFFBIG_LIBS _CS_POSIX_V6_LPBIG_OFFBIG_LIBS
-    _CS_POSIX_V6_LPBIG_OFFBIG_LINTFLAGS
+    _CS_POSIX_V6_LPBIG_OFFBIG_LINTFLAGS,
 #define _CS_POSIX_V6_LPBIG_OFFBIG_LINTFLAGS _CS_POSIX_V6_LPBIG_OFFBIG_LINTFLAGS
+
+    _CS_POSIX_V7_ILP32_OFF32_CFLAGS,
+#define _CS_POSIX_V7_ILP32_OFF32_CFLAGS _CS_POSIX_V7_ILP32_OFF32_CFLAGS
+    _CS_POSIX_V7_ILP32_OFF32_LDFLAGS,
+#define _CS_POSIX_V7_ILP32_OFF32_LDFLAGS _CS_POSIX_V7_ILP32_OFF32_LDFLAGS
+    _CS_POSIX_V7_ILP32_OFF32_LIBS,
+#define _CS_POSIX_V7_ILP32_OFF32_LIBS _CS_POSIX_V7_ILP32_OFF32_LIBS
+    _CS_POSIX_V7_ILP32_OFF32_LINTFLAGS,
+#define _CS_POSIX_V7_ILP32_OFF32_LINTFLAGS _CS_POSIX_V7_ILP32_OFF32_LINTFLAGS
+    _CS_POSIX_V7_ILP32_OFFBIG_CFLAGS,
+#define _CS_POSIX_V7_ILP32_OFFBIG_CFLAGS _CS_POSIX_V7_ILP32_OFFBIG_CFLAGS
+    _CS_POSIX_V7_ILP32_OFFBIG_LDFLAGS,
+#define _CS_POSIX_V7_ILP32_OFFBIG_LDFLAGS _CS_POSIX_V7_ILP32_OFFBIG_LDFLAGS
+    _CS_POSIX_V7_ILP32_OFFBIG_LIBS,
+#define _CS_POSIX_V7_ILP32_OFFBIG_LIBS _CS_POSIX_V7_ILP32_OFFBIG_LIBS
+    _CS_POSIX_V7_ILP32_OFFBIG_LINTFLAGS,
+#define _CS_POSIX_V7_ILP32_OFFBIG_LINTFLAGS _CS_POSIX_V7_ILP32_OFFBIG_LINTFLAGS
+    _CS_POSIX_V7_LP64_OFF64_CFLAGS,
+#define _CS_POSIX_V7_LP64_OFF64_CFLAGS _CS_POSIX_V7_LP64_OFF64_CFLAGS
+    _CS_POSIX_V7_LP64_OFF64_LDFLAGS,
+#define _CS_POSIX_V7_LP64_OFF64_LDFLAGS _CS_POSIX_V7_LP64_OFF64_LDFLAGS
+    _CS_POSIX_V7_LP64_OFF64_LIBS,
+#define _CS_POSIX_V7_LP64_OFF64_LIBS _CS_POSIX_V7_LP64_OFF64_LIBS
+    _CS_POSIX_V7_LP64_OFF64_LINTFLAGS,
+#define _CS_POSIX_V7_LP64_OFF64_LINTFLAGS _CS_POSIX_V7_LP64_OFF64_LINTFLAGS
+    _CS_POSIX_V7_LPBIG_OFFBIG_CFLAGS,
+#define _CS_POSIX_V7_LPBIG_OFFBIG_CFLAGS _CS_POSIX_V7_LPBIG_OFFBIG_CFLAGS
+    _CS_POSIX_V7_LPBIG_OFFBIG_LDFLAGS,
+#define _CS_POSIX_V7_LPBIG_OFFBIG_LDFLAGS _CS_POSIX_V7_LPBIG_OFFBIG_LDFLAGS
+    _CS_POSIX_V7_LPBIG_OFFBIG_LIBS,
+#define _CS_POSIX_V7_LPBIG_OFFBIG_LIBS _CS_POSIX_V7_LPBIG_OFFBIG_LIBS
+    _CS_POSIX_V7_LPBIG_OFFBIG_LINTFLAGS
+#define _CS_POSIX_V7_LPBIG_OFFBIG_LINTFLAGS _CS_POSIX_V7_LPBIG_OFFBIG_LINTFLAGS
   };
index 4617dc45f24fbdabad70d5dd33ef5c26fe9c9b45..548ea7f847de9fe0af3dfb4c5f10c499a607e243 100644 (file)
@@ -1,4 +1,4 @@
-/* Copyright (C) 1999, 2001, 2004 Free Software Foundation, Inc.
+/* Copyright (C) 1999, 2001, 2004, 2009 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
    `-1' means it is never supported.  Undefined means it cannot be
    statically decided.
 
-   _POSIX_V6_ILP32_OFF32   32bit int, long, pointers, and off_t type
-   _POSIX_V6_ILP32_OFFBIG  32bit int, long, and pointers and larger off_t type
+   _POSIX_V7_ILP32_OFF32   32bit int, long, pointers, and off_t type
+   _POSIX_V7_ILP32_OFFBIG  32bit int, long, and pointers and larger off_t type
 
-   _POSIX_V6_LP64_OFF32           64bit long and pointers and 32bit off_t type
-   _POSIX_V6_LPBIG_OFFBIG  64bit long and pointers and large off_t type
+   _POSIX_V7_LP64_OFF32           64bit long and pointers and 32bit off_t type
+   _POSIX_V7_LPBIG_OFFBIG  64bit long and pointers and large off_t type
 
-   The macros _XBS5_ILP32_OFF32, _XBS5_ILP32_OFFBIG, _XBS5_LP64_OFF32, and
-   _XBS5_LPBIG_OFFBIG were used in previous versions of the Unix standard
-   and are available only for compatibility.
+   The macros _POSIX_V6_ILP32_OFF32, _POSIX_V6_ILP32_OFFBIG,
+   _POSIX_V6_LP64_OFF32, _POSIX_V6_LPBIG_OFFBIG, _XBS5_ILP32_OFF32,
+   _XBS5_ILP32_OFFBIG, _XBS5_LP64_OFF32, and _XBS5_LPBIG_OFFBIG were
+   used in previous versions of the Unix standard and are available
+   only for compatibility.
 */
 
 #if __WORDSIZE == 64
 
 /* We can never provide environments with 32-bit wide pointers.  */
+# define _POSIX_V7_ILP32_OFF32 -1
+# define _POSIX_V7_ILP32_OFFBIG        -1
 # define _POSIX_V6_ILP32_OFF32 -1
 # define _POSIX_V6_ILP32_OFFBIG        -1
 # define _XBS5_ILP32_OFF32     -1
 # define _XBS5_ILP32_OFFBIG    -1
 /* We also have no use (for now) for an environment with bigger pointers
    and offsets.  */
+# define _POSIX_V7_LPBIG_OFFBIG        -1
 # define _POSIX_V6_LPBIG_OFFBIG        -1
 # define _XBS5_LPBIG_OFFBIG    -1
 
 /* By default we have 64-bit wide `long int', pointers and `off_t'.  */
+# define _POSIX_V7_LP64_OFF64  1
 # define _POSIX_V6_LP64_OFF64  1
 # define _XBS5_LP64_OFF64      1
 
 
 /* By default we have 32-bit wide `int', `long int', pointers and `off_t'
    and all platforms support LFS.  */
+# define _POSIX_V7_ILP32_OFF32 1
+# define _POSIX_V7_ILP32_OFFBIG        1
 # define _POSIX_V6_ILP32_OFF32 1
 # define _POSIX_V6_ILP32_OFFBIG        1
 # define _XBS5_ILP32_OFF32     1
 # define _XBS5_ILP32_OFFBIG    1
 
 /* We optionally provide an environment with the above size but an 64-bit
-   side `off_t'.  Therefore we don't define _XBS5_ILP32_OFFBIG.  */
+   side `off_t'.  Therefore we don't define _POSIX_V7_ILP32_OFFBIG.  */
 
 /* We can never provide environments with 64-bit wide pointers.  */
+# define _POSIX_V7_LP64_OFF64  -1
+# define _POSIX_V7_LPBIG_OFFBIG        -1
 # define _POSIX_V6_LP64_OFF64  -1
 # define _POSIX_V6_LPBIG_OFFBIG        -1
 # define _XBS5_LP64_OFF64      -1
index 62c0d73f40e3de064fee3c85f2d9da5f991d4fd2..13d9e8c34cc2805145e0e85c81d8925d95a0ddbc 100644 (file)
@@ -1,5 +1,5 @@
 /* Dump information generated by PC profiling.
-   Copyright (C) 1999, 2002, 2007 Free Software Foundation, Inc.
+   Copyright (C) 1999, 2002, 2007, 2009 Free Software Foundation, Inc.
    This file is part of the GNU C Library.
    Contributed by Ulrich Drepper <drepper@cygnus.com>, 1999.
 
@@ -66,6 +66,10 @@ static char *more_help (int key, const char *text, void *input);
 /* Prototype for option handler.  */
 static error_t parse_opt (int key, char *arg, struct argp_state *state);
 
+/* Name and version of program.  */
+static void print_version (FILE *stream, struct argp_state *state);
+void (*argp_program_version_hook) (FILE *, struct argp_state *) = print_version;
+
 /* Data structure to communicate with argp functions.  */
 static struct argp argp =
 {
@@ -209,3 +213,16 @@ For bug reporting instructions, please see:\n\
     }
   return (char *) text;
 }
+
+/* Print the version information.  */
+static void
+print_version (FILE *stream, struct argp_state *state)
+{
+  fprintf (stream, "pcprofiledump (GNU %s) %s\n", PACKAGE, VERSION);
+  fprintf (stream, gettext ("\
+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\
+"), "2009");
+  fprintf (stream, gettext ("Written by %s.\n"), "Ulrich Drepper");
+}
index ef0188afde295369f86e88296d4557022032bf3f..e3b9daa4339594cb6828385f0a824feaff120d8e 100755 (executable)
@@ -54,8 +54,10 @@ do_help() {
 Mandatory arguments to long options are also mandatory for any corresponding
 short options.
 
-For bug reporting instructions, please see:
-<http://www.gnu.org/software/libc/bugs.html>.\n"
+"
+  printf $"For bug reporting instructions, please see:
+<http://www.gnu.org/software/libc/bugs.html>.
+"
   exit 0
 }
 
index 8a8936f7bde0a73efb0407d0ce1c7731f820d550..c77c25915671624e967584e28e967dc9443bbd77 100644 (file)
@@ -1,5 +1,5 @@
 /* Map in a shared object's segments from the file.
-   Copyright (C) 1995-2005, 2006, 2007  Free Software Foundation, Inc.
+   Copyright (C) 1995-2005, 2006, 2007, 2009 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
@@ -1574,6 +1574,8 @@ open_verify (const char *name, struct filebuf *fbp, struct link_map *loader,
 # define VALID_ELF_HEADER(hdr,exp,size)        (memcmp (hdr, exp, size) == 0)
 # define VALID_ELF_OSABI(osabi)                (osabi == ELFOSABI_SYSV)
 # define VALID_ELF_ABIVERSION(ver)     (ver == 0)
+#elif defined MORE_ELF_HEADER_DATA
+  MORE_ELF_HEADER_DATA;
 #endif
   static const unsigned char expected[EI_PAD] =
   {
index dd213669f3520024fa19cbf4b63221c0b38d5036..4886645dfa6a6dc6f9e1856223d9574b8d60bac9 100644 (file)
@@ -132,6 +132,9 @@ static void print_version (FILE *stream, struct argp_state *state);
 void (*argp_program_version_hook) (FILE *, struct argp_state *)
      = print_version;
 
+/* Function to print some extra text in the help message.  */
+static char *more_help (int key, const char *text, void *input);
+
 /* Definitions of arguments for argp functions.  */
 static const struct argp_option options[] =
 {
@@ -161,7 +164,7 @@ static error_t parse_opt (int key, char *arg, struct argp_state *state);
 /* Data structure to communicate with argp functions.  */
 static struct argp argp =
 {
-  options, parse_opt, NULL, doc, NULL, NULL, NULL
+  options, parse_opt, NULL, doc, NULL, more_help, NULL
 };
 
 /* Check if string corresponds to an important hardware capability or
@@ -288,6 +291,23 @@ parse_opt (int key, char *arg, struct argp_state *state)
   return 0;
 }
 
+/* Print bug-reporting information in the help message.  */
+static char *
+more_help (int key, const char *text, void *input)
+{
+  switch (key)
+    {
+    case ARGP_KEY_HELP_EXTRA:
+      /* We print some extra information.  */
+      return strdup (gettext ("\
+For bug reporting instructions, please see:\n\
+<http://www.gnu.org/software/libc/bugs.html>.\n"));
+    default:
+      break;
+    }
+  return (char *) text;
+}
+
 /* Print the version information.  */
 static void
 print_version (FILE *stream, struct argp_state *state)
index ffd125dadf62cee27f45921a0c1eff031c427e22..1bbefe2ff05ce4a1e85728c377d579229d0d344d 100644 (file)
@@ -52,8 +52,10 @@ warranty; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
   -r, --function-relocs   process data and function relocations
   -u, --unused            print unused direct dependencies
   -v, --verbose           print all information
-For bug reporting instructions, please see:
-<http://www.gnu.org/software/libc/bugs.html>."
+"
+    echo $"For bug reporting instructions, please see:
+<http://www.gnu.org/software/libc/bugs.html>.
+"
     exit 0
     ;;
   -d | --d | --da | --dat | --data | --data- | --data-r | --data-re | \
index 8e66510bb262f3064469b48e34b9d482e3c4e198..a8210c1fc075384829a4eb4e81d3e7e5bd6dbca5 100644 (file)
--- a/elf/sln.c
+++ b/elf/sln.c
@@ -1,5 +1,5 @@
 /* `sln' program to create symbolic links between files.
-   Copyright (C) 1998, 1999, 2001 Free Software Foundation, Inc.
+   Copyright (C) 1998, 1999, 2001, 2009 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
    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.  */
-\f
+
+#ifdef HAVE_CONFIG_H
+# include "config.h"
+#endif
+
 #include <error.h>
 #include <errno.h>
+#include <libintl.h>
+#include <locale.h>
 #include <sys/types.h>
 #include <sys/stat.h>
 #include <unistd.h>
 #include <string.h>
 #include <limits.h>
 
+#include "../version.h"
+
+#define PACKAGE _libc_intl_domainname
+
 #if !defined S_ISDIR && defined S_IFDIR
 #define        S_ISDIR(m) (((m) & S_IFMT) == S_IFDIR)
 #endif
 
 static int makesymlink (const char *src, const char *dest);
 static int makesymlinks (const char *file);
+static void usage (void);
 
 int
 main (int argc, char **argv)
 {
+  /* Set locale via LC_ALL.  */
+  setlocale (LC_ALL, "");
+
+  /* Set the text message domain.  */
+  textdomain (PACKAGE);
+
   switch (argc)
     {
     case 2:
+      if (strcmp (argv[1], "--version") == 0) {
+       printf ("sln (GNU libc) %s\n", VERSION);
+       return 0;
+      } else if (strcmp (argv[1], "--help") == 0) {
+       usage ();
+       return 0;
+      }
       return makesymlinks (argv [1]);
       break;
 
@@ -49,12 +73,20 @@ main (int argc, char **argv)
       break;
 
     default:
-      printf ("Usage: %s src dest|file\n", argv [0]);
+      usage ();
       return 1;
       break;
     }
 }
 
+static void
+usage (void)
+{
+  printf (_("Usage: sln src dest|file\n\n"));
+  printf (_("For bug reporting instructions, please see:\n\
+<http://www.gnu.org/software/libc/bugs.html>.\n"));
+}
+
 static int
 makesymlinks (file)
      const char *file;
@@ -75,7 +107,7 @@ makesymlinks (file)
       fp = fopen (file, "r");
       if (fp == NULL)
        {
-         fprintf (stderr, "%s: file open error: %m\n", file);
+         fprintf (stderr, _("%s: file open error: %m\n"), file);
          return 1;
        }
     }
@@ -112,7 +144,7 @@ makesymlinks (file)
        ++cp;
       if (*cp == '\0')
        {
-         fprintf (stderr, "No target in line %d\n", lineno);
+         fprintf (stderr, _("No target in line %d\n"), lineno);
          ret = 1;
          continue;
        }
@@ -144,13 +176,13 @@ makesymlink (src, dest)
     {
       if (S_ISDIR (stats.st_mode))
        {
-         fprintf (stderr, "%s: destination must not be a directory\n",
+         fprintf (stderr, _("%s: destination must not be a directory\n"),
                   dest);
          return 1;
        }
       else if (unlink (dest) && errno != ENOENT)
        {
-         fprintf (stderr, "%s: failed to remove the old destination\n",
+         fprintf (stderr, _("%s: failed to remove the old destination\n"),
                   dest);
          return 1;
        }
@@ -158,7 +190,7 @@ makesymlink (src, dest)
   else if (errno != ENOENT)
     {
       error = strerror (errno);
-      fprintf (stderr, "%s: invalid destination: %s\n", dest, error);
+      fprintf (stderr, _("%s: invalid destination: %s\n"), dest, error);
       return -1;
     }
 
@@ -173,7 +205,7 @@ makesymlink (src, dest)
         {
          error = strerror (errno);
          unlink (dest);
-         fprintf (stderr, "Invalid link from \"%s\" to \"%s\": %s\n",
+         fprintf (stderr, _("Invalid link from \"%s\" to \"%s\": %s\n"),
                   src, dest, error);
          return 1;
        }
@@ -182,7 +214,7 @@ makesymlink (src, dest)
   else
     {
       error = strerror (errno);
-      fprintf (stderr, "Invalid link from \"%s\" to \"%s\": %s\n",
+      fprintf (stderr, _("Invalid link from \"%s\" to \"%s\": %s\n"),
               src, dest, error);
       return 1;
     }
index 4244e05c386b6ec6963330b1f70d5d2c07a4fb1f..ad723f3416d0780cdfdb34d8e7a12a72d949d3d0 100644 (file)
@@ -86,9 +86,9 @@ static const struct argp_option options[] =
 };
 
 /* Short description of program.  */
-static const char doc[] = N_("Read and display shared object profiling data.\v\
-For bug reporting instructions, please see:\n\
-<http://www.gnu.org/software/libc/bugs.html>.\n");
+static const char doc[] = N_("Read and display shared object profiling data.");
+//For bug reporting instructions, please see:\n                \
+//<http://www.gnu.org/software/libc/bugs.html>.\n");
 
 /* Strings for arguments in help texts.  */
 static const char args_doc[] = N_("SHOBJ [PROFDATA]");
@@ -96,10 +96,13 @@ static const char args_doc[] = N_("SHOBJ [PROFDATA]");
 /* Prototype for option handler.  */
 static error_t parse_opt (int key, char *arg, struct argp_state *state);
 
+/* Function to print some extra text in the help message.  */
+static char *more_help (int key, const char *text, void *input);
+
 /* Data structure to communicate with argp functions.  */
 static struct argp argp =
 {
-  options, parse_opt, args_doc, doc
+  options, parse_opt, args_doc, doc, NULL, more_help
 };
 
 
@@ -347,6 +350,23 @@ parse_opt (int key, char *arg, struct argp_state *state)
 }
 
 
+static char *
+more_help (int key, const char *text, void *input)
+{
+  switch (key)
+    {
+    case ARGP_KEY_HELP_EXTRA:
+      /* We print some extra information.  */
+      return strdup (gettext ("\
+For bug reporting instructions, please see:\n\
+<http://www.gnu.org/software/libc/bugs.html>.\n"));
+    default:
+      break;
+    }
+  return (char *) text;
+}
+
+
 /* Print the version information.  */
 static void
 print_version (FILE *stream, struct argp_state *state)
index 9add5a7ef78131db1ce19b7438da13ad1106188b..4140903e64fb82c54777e94190d21a403374acc4 100644 (file)
@@ -3,5 +3,5 @@ glibc-branch := fedora
 glibc-base := HEAD
 DIST_BRANCH := devel
 COLLECTION := dist-f8
-fedora-sync-date := 2009-02-04 21:35 UTC
-fedora-sync-tag := fedora-glibc-20090204T2135
+fedora-sync-date := 2009-02-18 15:34 UTC
+fedora-sync-tag := fedora-glibc-20090218T1534
index efd875a6897ab4affb3ff12c5a4c511eedce3a12..7bcc203fe4b1c8f0b5025687116dfc706f70b8fe 100644 (file)
@@ -8,13 +8,19 @@ typedef enum nss_status (*end_function) (void);
 typedef enum nss_status (*get_function) (struct group *, char *,
                                         size_t, int *);
 
+/* This file is also used in nscd where __libc_alloca_cutoff is not
+   available.  */
+#ifdef NOT_IN_libc
+# define __libc_use_alloca(size) ((size) < __MAX_ALLOCA_CUTOFF * 4)
+#endif
+
+
 static enum nss_status
 compat_call (service_user *nip, const char *user, gid_t group, long int *start,
             long int *size, gid_t **groupsp, long int limit, int *errnop)
 {
   struct group grpbuf;
   size_t buflen = __sysconf (_SC_GETGR_R_SIZE_MAX);
-  char *tmpbuf;
   enum nss_status status;
   set_function setgrent_fct;
   get_function getgrent_fct;
@@ -35,7 +41,9 @@ compat_call (service_user *nip, const char *user, gid_t group, long int *start,
 
   endgrent_fct = __nss_lookup_function (nip, "endgrent");
 
-  tmpbuf = __alloca (buflen);
+  char *tmpbuf = __alloca (buflen);
+  bool use_malloc = false;
+  enum nss_status result = NSS_STATUS_SUCCESS;
 
   do
     {
@@ -44,8 +52,20 @@ compat_call (service_user *nip, const char *user, gid_t group, long int *start,
              status == NSS_STATUS_TRYAGAIN)
             && *errnop == ERANGE)
         {
-          buflen *= 2;
-          tmpbuf = __alloca (buflen);
+         if (__libc_use_alloca (buflen * 2))
+           tmpbuf = extend_alloca (tmpbuf, buflen, buflen * 2);
+         else
+           {
+             buflen *= 2;
+             char *newbuf = realloc (use_malloc ? tmpbuf : NULL, buflen);
+             if (newbuf == NULL)
+               {
+                 result = NSS_STATUS_TRYAGAIN;
+                 goto done;
+               }
+             use_malloc = true;
+             tmpbuf = newbuf;
+           }
         }
 
       if (status != NSS_STATUS_SUCCESS)
@@ -102,8 +122,11 @@ compat_call (service_user *nip, const char *user, gid_t group, long int *start,
   while (status == NSS_STATUS_SUCCESS);
 
  done:
+  if (use_malloc)
+    free (tmpbuf);
+
   if (endgrent_fct)
     DL_CALL_FCT (endgrent_fct, ());
 
-  return NSS_STATUS_SUCCESS;
+  return result;
 }
index 2ad8b5fcb7b9543ff2e1d00dbc46203fe40cecb2..7c0548b004fe3add654289ac7fbeee04c3ec2736 100644 (file)
@@ -1,5 +1,5 @@
 /* Internal macros for atomic operations for GNU C Library.
-   Copyright (C) 2002, 2003, 2004, 2005, 2006 Free Software Foundation, Inc.
+   Copyright (C) 2002-2006, 2009 Free Software Foundation, Inc.
    This file is part of the GNU C Library.
    Contributed by Ulrich Drepper <drepper@redhat.com>, 2002.
 
   } while (0)
 #endif
 
+#ifndef catomic_and
+# define catomic_and(mem, mask) \
+  do {                                                                       \
+    __typeof (*(mem)) __atg20_old;                                           \
+    __typeof (mem) __atg20_memp = (mem);                                     \
+    __typeof (*(mem)) __atg20_mask = (mask);                                 \
+                                                                             \
+    do                                                                       \
+      __atg20_old = (*__atg20_memp);                                         \
+    while (__builtin_expect                                                  \
+          (catomic_compare_and_exchange_bool_acq (__atg20_memp,              \
+                                                  __atg20_old & __atg20_mask,\
+                                                  __atg20_old), 0));         \
+  } while (0)
+#endif
+
 /* Atomically *mem &= mask and return the old value of *mem.  */
 #ifndef atomic_and_val
 # define atomic_and_val(mem, mask) \
index 1a202485594a37f8abb537144ad6e0505c0880ce..42fc8ed6963141d5edc0567f32e9a221a44709aa 100644 (file)
@@ -8,20 +8,7 @@
 /* Nonzero if the malloc is already initialized.  */
 extern int __malloc_initialized attribute_hidden;
 
-/* Internal routines, operating on "arenas".  */
 struct malloc_state;
 typedef struct malloc_state *mstate;
 
-extern __malloc_ptr_t _int_malloc (mstate __m, size_t __size) attribute_hidden;
-extern void           _int_free (mstate __m, __malloc_ptr_t __ptr)
-     attribute_hidden;
-extern __malloc_ptr_t _int_realloc (mstate __m,
-                                   __malloc_ptr_t __ptr,
-                                   size_t __size) attribute_hidden;
-extern __malloc_ptr_t _int_memalign (mstate __m, size_t __alignment,
-                                    size_t __size)
-     attribute_hidden;
-extern __malloc_ptr_t _int_valloc (mstate __m, size_t __size)
-     attribute_hidden;
-
 #endif
index bc433b59309cb054ffcd78cda098b4c82611e31b..a03188ed44568cf90439b78dfb60997e691bee37 100644 (file)
@@ -39,4 +39,6 @@ extern AUTH *authdes_pk_create_internal (const char *, netobj *, u_int,
 libc_hidden_proto (key_encryptsession_pk)
 libc_hidden_proto (key_decryptsession_pk)
 
+libc_hidden_proto (_null_auth)
+
 #endif
index e0782446e4ab1e9b60cf70b4f39aa91c67e52d76..16d901e7d097413bb0fccba6ad42f01e1584d540 100644 (file)
@@ -1,5 +1,5 @@
 /* Implementation of the internal dcigettext function.
-   Copyright (C) 1995-2005, 2006, 2007, 2008
+   Copyright (C) 1995-2005, 2006, 2007, 2008, 2009
    Free Software Foundation, Inc.
    This file is part of the GNU C Library.
 
@@ -553,18 +553,7 @@ DCIGETTEXT (domainname, msgid1, msgid2, plural, n, category)
        }
 
       if (ret == NULL)
-       {
-         /* We cannot get the current working directory.  Don't signal an
-            error but simply return the default string.  */
-         FREE_BLOCKS (block_list);
-         __libc_rwlock_unlock (__libc_setlocale_lock);
-         __libc_rwlock_unlock (_nl_state_lock);
-         __set_errno (saved_errno);
-         return (plural == 0
-                 ? (char *) msgid1
-                 /* Use the Germanic plural rule.  */
-                 : n == 1 ? (char *) msgid1 : (char *) msgid2);
-       }
+       goto no_translation;
 
       stpcpy (stpcpy (strchr (dirname, '\0'), "/"), binding->dirname);
     }
index 364c43f8f4c3c30d4ae78e9def5d1fd15ec28e9f..4b21a2e1cef776b6d0388d675b07fbded3bb52c0 100644 (file)
@@ -1,4 +1,4 @@
-/* Copyright (C) 1991, 1992, 1995-2004, 2005, 2006, 2007
+/* Copyright (C) 1991, 1992, 1995-2004, 2005, 2006, 2007, 2009
    Free Software Foundation, Inc.
    This file is part of the GNU C Library.
 
@@ -298,7 +298,8 @@ extern int fchmod (int __fd, __mode_t __mode) __THROW;
 #ifdef __USE_ATFILE
 /* Set file access permissions of FILE relative to
    the directory FD is open on.  */
-extern int fchmodat (int __fd, __const char *__file, __mode_t mode, int __flag)
+extern int fchmodat (int __fd, __const char *__file, __mode_t __mode,
+                    int __flag)
      __THROW __nonnull ((2)) __wur;
 #endif /* Use ATFILE.  */
 
index c5f0eaf6a7785c4702fd15866da33efd5e1b5280..57ed786a8f2eb9405d9e248adb04aa9ac33653e7 100644 (file)
@@ -297,14 +297,34 @@ _IO_wfile_underflow (fp)
 
       if (naccbuf == 0)
        {
+         if (fp->_IO_read_base < fp->_IO_read_ptr)
+           {
+             /* Partially used the buffer for some input data that
+                produces no output.  */
+             size_t avail = fp->_IO_read_end - fp->_IO_read_ptr;
+             memmove (fp->_IO_read_base, fp->_IO_read_ptr, avail);
+             fp->_IO_read_ptr = fp->_IO_read_base;
+             fp->_IO_read_end -= avail;
+             goto again;
+           }
          naccbuf = fp->_IO_read_end - fp->_IO_read_ptr;
          if (naccbuf >= sizeof (accbuf))
            goto out_eilseq;
 
          memcpy (accbuf, fp->_IO_read_ptr, naccbuf);
        }
-      else if (naccbuf == sizeof (accbuf))
-       goto out_eilseq;
+      else
+       {
+         size_t used = read_ptr_copy - accbuf;
+         if (used > 0)
+           {
+             memmove (accbuf, read_ptr_copy, naccbuf - used);
+             naccbuf -= used;
+           }
+
+         if (naccbuf == sizeof (accbuf))
+           goto out_eilseq;
+       }
 
       fp->_IO_read_ptr = fp->_IO_read_end = fp->_IO_read_base;
 
index 10c4232918bef3a496133bbdd8995aecda02ee47..84f53ef1721927c69b45a24af6f1afe4e3d6026e 100644 (file)
@@ -1,5 +1,5 @@
 /* Access to locale-dependent parameters.
-   Copyright (C) 1995-2002,2003,2004,2005 Free Software Foundation, Inc.
+   Copyright (C) 1995-2002,2003,2004,2005,2009 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
@@ -590,7 +590,7 @@ extern char *nl_langinfo (nl_item __item) __THROW;
 # include <xlocale.h>
 
 /* Just like nl_langinfo but get the information from the locale object L.  */
-extern char *nl_langinfo_l (nl_item __item, __locale_t l);
+extern char *nl_langinfo_l (nl_item __item, __locale_t __l);
 #endif
 
 __END_DECLS
index 33963d5b25d611deb328c89684e312d0c3141403..77262b7d1c3c49e520ef95b4693db607c4127a05 100644 (file)
@@ -84,9 +84,7 @@ static const struct argp_option options[] =
 };
 
 /* Short description of program.  */
-static const char doc[] = N_("Get locale-specific information.\v\
-For bug reporting instructions, please see:\n\
-<http://www.gnu.org/software/libc/bugs.html>.\n");
+static const char doc[] = N_("Get locale-specific information.");
 
 /* Strings for arguments in help texts.  */
 static const char args_doc[] = N_("NAME\n[-a|-m]");
@@ -94,10 +92,13 @@ static const char args_doc[] = N_("NAME\n[-a|-m]");
 /* Prototype for option handler.  */
 static error_t parse_opt (int key, char *arg, struct argp_state *state);
 
+/* Function to print some extra text in the help message.  */
+static char *more_help (int key, const char *text, void *input);
+
 /* Data structure to communicate with argp functions.  */
 static struct argp argp =
 {
-  options, parse_opt, args_doc, doc
+  options, parse_opt, args_doc, doc, NULL, more_help
 };
 
 
@@ -267,6 +268,23 @@ parse_opt (int key, char *arg, struct argp_state *state)
 }
 
 
+static char *
+more_help (int key, const char *text, void *input)
+{
+  switch (key)
+    {
+    case ARGP_KEY_HELP_EXTRA:
+      /* We print some extra information.  */
+      return strdup (gettext ("\
+For bug reporting instructions, please see:\n\
+<http://www.gnu.org/software/libc/bugs.html>.\n"));
+    default:
+      break;
+    }
+  return (char *) text;
+}
+
+
 /* Print the version information.  */
 static void
 print_version (FILE *stream, struct argp_state *state)
index 594a71c98f69bd9a5ce19855261be5c3d34d8fa1..801a2a5dae3a9f8eb91929d520d227c653c5df58 100644 (file)
@@ -1,5 +1,26 @@
+2009-02-11  Ulrich Drepper  <drepper@redhat.com>
+
+       * locales/iso14651_t1_common: Add rules for sorting Malayalam.
+       Patch by Santhosh Thottingal <santhosh.thottingal@gmail.com>.
+
+2009-02-06  Ulrich Drepper  <drepper@redhat.com>
+
+       [BZ #7098]
+       * Makefile ($(inst_i18ndir)/charmaps/%.gz): No need to save
+       timestamp in compressed charmaps.
+       Patch by Gilles Espinasse <g.esp@free.fr>.
+
+       [BZ #9730]
+       * locales/sv_FI: Fix time formats.
+
+       [BZ #9736]
+       * locales/el_CY: Fix frac_digits and int_frac_digits.
+       * locales/el_GR: Likewise.
+       Patch by Clint Adams <schizo@debian.org>.
+
 2009-01-28  Ulrich Drepper  <drepper@redhat.com>
 
+       [BZ #9791]
        * locales/as_IN: Break circular include loops introduced in last patch.
        * locales/bn_BD: Likewise.
        * locales/bn_IN: Likewise.
index f84b3dc58818e6baccab9b287db5d29a0947c85e..1acc41574890dc50461f9bb84364024242f5bb75 100644 (file)
@@ -1,4 +1,4 @@
-# Copyright (C) 1996-2003, 2005, 2007, 2008 Free Software Foundation, Inc.
+# Copyright (C) 1996-2003,2005,2007,2008,2009 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
@@ -114,7 +114,7 @@ $(inst_i18ndir)/charmaps/%.gz: charmaps/% $(+force)
        $(make-target-directory)
        rm -f $(@:.gz=) $@
        $(INSTALL_DATA) $< $(@:.gz=)
-       gzip -9 $(@:.gz=)
+       gzip -9n $(@:.gz=)
 
 # Install the locale source files in the appropriate directory.
 $(inst_i18ndir)/locales/%: locales/% $(+force); $(do-install)
index 7213924233910458a26317c75a87578b640924c8..31175777ed9749bb49aea09b01680430c72ce1c4 100644 (file)
@@ -51,8 +51,8 @@ mon_thousands_sep     "<U002E>"
 mon_grouping          3
 positive_sign         ""
 negative_sign         "<U002D>"
-int_frac_digits       4
-frac_digits           4
+int_frac_digits       2
+frac_digits           2
 p_cs_precedes         0
 p_sep_by_space        0
 n_cs_precedes         1
index ce608a801e83c0ea7fb11cbfff48674a4f707ba1..bb1db143f3fad8ccf56bade4c8dfba412e379346 100644 (file)
@@ -70,8 +70,8 @@ mon_thousands_sep     "<U002E>"
 mon_grouping          3
 positive_sign         ""
 negative_sign         "<U002D>"
-int_frac_digits       4
-frac_digits           4
+int_frac_digits       2
+frac_digits           2
 p_cs_precedes         0
 p_sep_by_space        0
 n_cs_precedes         1
index bb0b4ab2954a2661bd6868db896447b550b19918..1c9963aaf6421143044ad69f4c0b9093a7f0d641 100644 (file)
@@ -66,6 +66,7 @@ script <TELUGU>
 script <GURUMUKHI>
 script <KANNADA>
 script <SINHALA>
+script <MALAYALAM>
 
 # Déclaration des symboles internes / Declaration of internal symbols
 #
@@ -910,6 +911,129 @@ collating-symbol <kvd-visarg>
 collating-symbol <k-halant>
 collating-symbol <k-lenght_mark>
 collating-symbol <k-ai_lenght_mark>
+#
+# <MALAYALAM>
+# mlvs-  denotes Malayalam vowel sign
+# mlvw- denotes Malayalam vowel
+# ml-visarga - dentos Malayalam Visarga
+# consonant + virama is considered half of consonant or consonant without vowel part
+# so it consonant + virama should be considered as cluster and should be 
+# sorted before the consonant. All consonants are considered to have an implicit a vowel
+# part associated with it.
+collating-element <ml-chillu-n> from "<U0D28><U0D4D>"
+collating-element <ml-chillu-nn> from "<U0D23><U0D4D>"
+collating-element <ml-chillu-r> from "<U0D30><U0D4D>"
+collating-element <ml-chillu-l> from "<U0D32><U0D4D>"
+collating-element <ml-chillu-ll> from "<U0D33><U0D4D>"
+collating-element <ml-chillu-k> from "<U0D15><U0D4D>"
+collating-element <ml-kh> from "<U0D16><U0D4D>"
+collating-element <ml-g> from "<U0D17><U0D4D>"
+collating-element <ml-gh> from "<U0D18><U0D4D>"
+collating-element <ml-ng> from "<U0D19><U0D4D>"
+collating-element <ml-ch> from "<U0D1A><U0D4D>"
+collating-element <ml-chh> from "<U0D1B><U0D4D>"
+collating-element <ml-j> from "<U0D1C><U0D4D>"
+collating-element <ml-jh> from "<U0D1D><U0D4D>"
+collating-element <ml-ny> from "<U0D1E><U0D4D>"
+collating-element <ml-t> from "<U0D1F><U0D4D>"
+collating-element <ml-tt> from "<U0D20><U0D4D>"
+collating-element <ml-d> from "<U0D21><U0D4D>"
+collating-element <ml-dh> from "<U0D22><U0D4D>"
+collating-element <ml-th> from "<U0D24><U0D4D>"
+collating-element <ml-thh> from "<U0D25><U0D4D>"
+collating-element <ml-dd> from "<U0D26><U0D4D>"
+collating-element <ml-ddh> from "<U0D27><U0D4D>"
+collating-element <ml-p> from "<U0D2A><U0D4D>"
+collating-element <ml-ph> from "<U0D2B><U0D4D>"
+collating-element <ml-b> from "<U0D2C><U0D4D>"
+collating-element <ml-bh> from "<U0D2D><U0D4D>"
+collating-element <ml-m> from "<U0D2E><U0D4D>"
+collating-element <ml-y> from "<U0D2F><U0D4D>"
+collating-element <ml-v> from "<U0D35><U0D4D>"
+collating-element <ml-s> from "<U0D38><U0D4D>"
+collating-element <ml-ss> from "<U0D36><U0D4D>"
+collating-element <ml-sh> from "<U0D37><U0D4D>"
+collating-element <ml-h> from "<U0D39><U0D4D>"
+collating-element <ml-zh> from "<U0D34><U0D4D>"
+collating-element <ml-rr> from "<U0D31><U0D4D>"
+collating-element <ml-samvruthokaram> from "<U0D41><U0D4D>"
+collating-element <ml-split-o> from "<U0D46><U0D3E>"  # U+0D4A MALAYALAM VOWEL SIGN O = U+0D46 MALAYALAM VOWEL SIGN E + U+0D3E MALAYALAM VOWEL SIGN AA
+collating-element <ml-split-oo> from "<U0D47><U0D3E>"  # U+0D4B MALAYALAM VOWEL SIGN OO = U+0D47 MALAYALAM VOWEL SIGN EE + U+0D3E MALAYALAM VOWEL SIGN AA
+collating-element <ml-split-au> from "<U0D46><U0D57>" # U+0D4C MALAYALAM VOWEL SIGN AU = U+0D46 MALAYALAM VOWEL SIGN E + U+0D57 MALAYALAM AU LENGTH MARK
+# defning symbols
+collating-symbol <mlvw-shorta>
+collating-symbol <mlvw-aa>
+collating-symbol <mlvw-i>
+collating-symbol <mlvw-ii>
+collating-symbol <mlvw-u>
+collating-symbol <mlvw-uu>
+collating-symbol <mlvw-vocalicr>
+collating-symbol <mlvw-vocalicrr>
+collating-symbol <mlvw-vocalicl>
+collating-symbol <mlvw-vocalicll>
+collating-symbol <mlvw-shorte>
+collating-symbol <mlvw-e>
+collating-symbol <mlvw-ai>
+collating-symbol <mlvw-shorto>
+collating-symbol <mlvw-o>
+collating-symbol <mlvw-au>
+collating-symbol <ml-ka>
+collating-symbol <ml-kha>
+collating-symbol <ml-ga>
+collating-symbol <ml-gga>
+collating-symbol <ml-gha>
+collating-symbol <ml-nga>
+collating-symbol <ml-cha>
+collating-symbol <ml-chha>
+collating-symbol <ml-ja>
+collating-symbol <ml-jja>
+collating-symbol <ml-jha>
+collating-symbol <ml-nya>
+collating-symbol <ml-ta>
+collating-symbol <ml-tta>
+collating-symbol <ml-da>
+collating-symbol <ml-dha>
+collating-symbol <ml-nna>
+collating-symbol <ml-tha>
+collating-symbol <ml-thha>
+collating-symbol <ml-dda>
+collating-symbol <ml-ddha>
+collating-symbol <ml-na>
+collating-symbol <ml-pa>
+collating-symbol <ml-pha>
+collating-symbol <ml-ba>
+collating-symbol <ml-bba>
+collating-symbol <ml-bha>
+collating-symbol <ml-ma>
+collating-symbol <ml-ya>
+collating-symbol <ml-ra>
+collating-symbol <ml-rra>
+collating-symbol <ml-la>
+collating-symbol <ml-lla>
+collating-symbol <ml-va>
+collating-symbol <ml-sha>
+collating-symbol <ml-ssa>
+collating-symbol <ml-sa>
+collating-symbol <ml-ha>
+collating-symbol <ml-avagrah>
+collating-symbol <ml-zha>
+collating-symbol <mlvs-aa>
+collating-symbol <mlvs-i>
+collating-symbol <mlvs-ii>
+collating-symbol <mlvs-u>
+collating-symbol <mlvs-uu>
+collating-symbol <mlvs-vocalicr>
+collating-symbol <mlvs-vocalicrr>
+collating-symbol <mlvs-vocalicl>
+collating-symbol <mlvs-vocalicll>
+collating-symbol <mlvs-shorte>
+collating-symbol <mlvs-e>
+collating-symbol <mlvs-ai>
+collating-symbol <mlvs-shorto>
+collating-symbol <mlvs-o>
+collating-symbol <mlvs-au>
+collating-symbol <ml-visarga>
+collating-symbol <ml-virama>
 
 # Ordre des symboles internes / Order of internal symbols
 #
@@ -1733,6 +1857,83 @@ collating-symbol <k-ai_lenght_mark>
 <k-halant>
 <k-lenght_mark>
 <k-ai_lenght_mark>
+#
+# <MALAYALAM>
+#
+# collation weights in order
+<mlvw-shorta>
+<mlvw-aa>
+<mlvw-i>
+<mlvw-ii>
+<mlvw-u>
+<mlvw-uu>
+<mlvw-vocalicr>
+<mlvw-vocalicrr>
+<mlvw-vocalicl>
+<mlvw-vocalicll>
+<mlvw-shorte>
+<mlvw-e>
+<mlvw-ai>
+<mlvw-shorto>
+<mlvw-o>
+<mlvw-au>
+<ml-ka>
+<ml-kha>
+<ml-ga>
+<ml-gga>
+<ml-gha>
+<ml-nga>
+<ml-cha>
+<ml-chha>
+<ml-ja>
+<ml-jja>
+<ml-jha>
+<ml-nya>
+<ml-ta>
+<ml-tta>
+<ml-da>
+<ml-dha>
+<ml-nna>
+<ml-tha>
+<ml-thha>
+<ml-dda>
+<ml-ddha>
+<ml-na>
+<ml-pa>
+<ml-pha>
+<ml-ba>
+<ml-bba>
+<ml-bha>
+<ml-ma>
+<ml-ya>
+<ml-ra>
+<ml-la>
+<ml-va>
+<ml-ssa>
+<ml-sha>
+<ml-sa>
+<ml-ha>
+<ml-lla>
+<ml-zha>
+<ml-rra>
+<ml-avagrah>
+<ml-virama>
+<mlvs-aa>
+<mlvs-i>
+<mlvs-ii>
+<mlvs-u>
+<mlvs-uu>
+<mlvs-vocalicr>
+<mlvs-vocalicrr>
+<mlvs-vocalicl>
+<mlvs-vocalicll>
+<mlvs-shorte>
+<mlvs-e>
+<mlvs-ai>
+<mlvs-shorto>
+<mlvs-o>
+<mlvs-au>
+<ml-visarga>
 
 order_start <SPECIAL>;forward;backward;forward;forward,position
 #
@@ -4052,6 +4253,130 @@ order_start <SINHALA>;forward;forward;forward;forward,position
 <U0DDE> <U0DDE>;<BAS>;<MIN>;IGNORE
 <U0DCA> <U0DCA>;<BAS>;<MIN>;IGNORE
 
+order_start <MALAYALAM>;forward;forward;forward;forward,position
+<U0D66> <0>;"<BAS><NUM>";"<MIN><MIN>";IGNORE
+<U0D67> <1>;"<BAS><NUM>";"<MIN><MIN>";IGNORE
+<U0D68> <2>;"<BAS><NUM>";"<MIN><MIN>";IGNORE
+<U0D69> <3>;"<BAS><NUM>";"<MIN><MIN>";IGNORE
+<U0D6A> <4>;"<BAS><NUM>";"<MIN><MIN>";IGNORE
+<U0D6B> <5>;"<BAS><NUM>";"<MIN><MIN>";IGNORE
+<U0D6C> <6>;"<BAS><NUM>";"<MIN><MIN>";IGNORE
+<U0D6D> <7>;"<BAS><NUM>";"<MIN><MIN>";IGNORE
+<U0D6E> <8>;"<BAS><NUM>";"<MIN><MIN>";IGNORE
+<U0D6F> <9>;"<BAS><NUM>";"<MIN><MIN>";IGNORE
+<U0D05> <mlvw-shorta> ;<BAS>;<MIN>;IGNORE
+<U0D06> <mlvw-aa> ;<BAS>;<MIN>;IGNORE
+<U0D07> <mlvw-i> ;<BAS>;<MIN>;IGNORE
+<U0D08> <mlvw-ii> ;<BAS>;<MIN>;IGNORE
+<U0D09> <mlvw-u> ;<BAS>;<MIN>;IGNORE
+<U0D0A> <mlvw-uu>;<BAS>;<MIN>;IGNORE
+<U0D0B> <mlvw-vocalicr>;<BAS>;<MIN>;IGNORE
+<U0D60> <mlvw-vocalicrr>;<BAS>;<MIN>;IGNORE
+<U0D0C> <mlvw-vocalicl>;<BAS>;<MIN>;IGNORE
+<U0D61> <mlvw-vocalicll>;<BAS>;<MIN>;IGNORE
+<U0D0E> <mlvw-shorte>;<BAS>;<MIN>;IGNORE
+<U0D0F> <mlvw-e>;<BAS>;<MIN>;IGNORE
+<U0D10> <mlvw-ai>;<BAS>;<MIN>;IGNORE
+<U0D12> <mlvw-shorto>;<BAS>;<MIN>;IGNORE
+<U0D13> <mlvw-o>;<BAS>;<MIN>;IGNORE
+<U0D14> <mlvw-au>;<BAS>;<MIN>;IGNORE
+<ml-chillu-k>  "<ml-ka><ml-virama>";<BAS>;<MIN>;IGNORE
+<U0D15>        "<ml-ka><ml-virama><mlvw-shorta>";<BAS>;<MIN>;IGNORE
+<ml-kh>        "<ml-kha><ml-virama>";<BAS>;<MIN>;IGNORE
+<U0D16>        "<ml-kha><ml-virama><mlvw-shorta>";<BAS>;<MIN>;IGNORE
+<ml-g> "<ml-ga><ml-virama>";<BAS>;<MIN>;IGNORE
+<U0D17>        "<ml-ga><ml-virama><mlvw-shorta>";<BAS>;<MIN>;IGNORE
+<ml-gh>        "<ml-gha><ml-virama>";<BAS>;<MIN>;IGNORE
+<U0D18>        "<ml-gha><ml-virama><mlvw-shorta>";<BAS>;<MIN>;IGNORE
+<ml-ng>        "<ml-nga><ml-virama>";<BAS>;<MIN>;IGNORE
+<U0D19>        "<ml-nga><ml-virama><mlvw-shorta>";<BAS>;<MIN>;IGNORE
+<ml-ch>        "<ml-cha><ml-virama>";<BAS>;<MIN>;IGNORE
+<U0D1A>        "<ml-cha><ml-virama><mlvw-shorta>";<BAS>;<MIN>;IGNORE
+<ml-chh> "<ml-chha><ml-virama>";<BAS>;<MIN>;IGNORE
+<U0D1B>        "<ml-chha><ml-virama><mlvw-shorta>";<BAS>;<MIN>;IGNORE
+<ml-j> "<ml-ja><ml-virama>";<BAS>;<MIN>;IGNORE
+<U0D1C>        "<ml-ja><ml-virama><mlvw-shorta>";<BAS>;<MIN>;IGNORE
+<ml-jh>        "<ml-jha><ml-virama>";<BAS>;<MIN>;IGNORE
+<U0D1D>        "<ml-jha><ml-virama><mlvw-shorta>";<BAS>;<MIN>;IGNORE
+<ml-ny>        "<ml-nya><ml-virama>";<BAS>;<MIN>;IGNORE
+<U0D1E>        "<ml-nya><ml-virama><mlvw-shorta>";<BAS>;<MIN>;IGNORE
+<ml-t> "<ml-ta><ml-virama>";<BAS>;<MIN>;IGNORE
+<U0D1F>        "<ml-ta><ml-virama><mlvw-shorta>";<BAS>;<MIN>;IGNORE
+<ml-tt>        "<ml-tta><ml-virama>";<BAS>;<MIN>;IGNORE
+<U0D20>        "<ml-tta><ml-virama><mlvw-shorta>";<BAS>;<MIN>;IGNORE
+<ml-d> "<ml-da><ml-virama>";<BAS>;<MIN>;IGNORE
+<U0D21>        "<ml-da><ml-virama><mlvw-shorta>";<BAS>;<MIN>;IGNORE
+<ml-dh>        "<ml-dha><ml-virama>";<BAS>;<MIN>;IGNORE
+<U0D22>        "<ml-dha><ml-virama><mlvw-shorta>";<BAS>;<MIN>;IGNORE
+<ml-chillu-nn> "<ml-nna><ml-virama>";<BAS>;<MIN>;IGNORE # ണ്‍ = ണ  + ്  + zwj
+<U0D23>        "<ml-nna><ml-virama><mlvw-shorta>";<BAS>;<MIN>;IGNORE # ണ = ണ + ് + അ 
+<ml-th>        "<ml-tha><ml-virama>";<BAS>;<MIN>;IGNORE
+<U0D24>        "<ml-tha><ml-virama><mlvw-shorta>";<BAS>;<MIN>;IGNORE
+<ml-thh> "<ml-thha><ml-virama>";<BAS>;<MIN>;IGNORE
+<U0D25>        "<ml-thha><ml-virama><mlvw-shorta>";<BAS>;<MIN>;IGNORE
+<ml-dd>        "<ml-dda><ml-virama>";<BAS>;<MIN>;IGNORE
+<U0D26>        "<ml-dda><ml-virama><mlvw-shorta>";<BAS>;<MIN>;IGNORE
+<ml-ddh> "<ml-ddha><ml-virama>";<BAS>;<MIN>;IGNORE
+<U0D27>        "<ml-ddha><ml-virama><mlvw-shorta>";<BAS>;<MIN>;IGNORE
+<ml-chillu-n> "<ml-chillu-n>";<BAS>;<MIN>;IGNORE # ന്‍= ന  + ്  + zwj
+<U0D28>        "<ml-chillu-n><ml-virama><mlvw-shorta>";<BAS>;<MIN>;IGNORE  #ന = ന + ് + അ
+<ml-p> "<ml-pa><ml-virama>";<BAS>;<MIN>;IGNORE
+<U0D2A>        "<ml-pa><ml-virama><mlvw-shorta>";<BAS>;<MIN>;IGNORE
+<ml-ph>        "<ml-pha><ml-virama>";<BAS>;<MIN>;IGNORE
+<U0D2B>        "<ml-pha><ml-virama><mlvw-shorta>";<BAS>;<MIN>;IGNORE
+<ml-b> "<ml-ba><ml-virama>";<BAS>;<MIN>;IGNORE
+<U0D2C>        "<ml-ba><ml-virama><mlvw-shorta>";<BAS>;<MIN>;IGNORE
+<ml-bh>        "<ml-bha><ml-virama>";<BAS>;<MIN>;IGNORE
+<U0D2D>        "<ml-bha><ml-virama><mlvw-shorta>";<BAS>;<MIN>;IGNORE
+<U0D02>        "<ml-ma><ml-virama>";<BAS>;<MIN>;IGNORE # ം = മ + ്
+<ml-m> "<ml-ma><ml-virama>";"<BAS><ml-virama>";<MIN>;IGNORE # ം = മ + ്  
+<U0D2E>        "<ml-ma><ml-virama><mlvw-shorta>";<BAS>;<MIN>;IGNORE # മ = മ + ് + അ 
+<ml-y>  "<ml-ya><ml-virama>";<BAS>;<MIN>;IGNORE
+<U0D2F>        "<ml-ya><ml-virama><mlvw-shorta>";<BAS>;<MIN>;IGNORE
+<ml-chillu-r> "<ml-ra><ml-virama>";<BAS>;<MIN>;IGNORE # ര = ര + ്  + zwj
+<U0D30>        "<ml-ra><ml-virama><mlvw-shorta>";<BAS>;<MIN>;IGNORE # ര = ര + ് + അ 
+<ml-chillu-l> <ml-la>;<BAS>;<MIN>;IGNORE # ല്‍ = ല + ്  + zwj
+<U0D32>        "<ml-la><ml-virama><mlvw-shorta>";<BAS>;<MIN>;IGNORE # ല = ല + ് + അ 
+<ml-v> "<ml-va><ml-virama>";<BAS>;<MIN>;IGNORE
+<U0D35>        "<ml-va><ml-virama><mlvw-shorta>";<BAS>;<MIN>;IGNORE
+<ml-ss>        "<ml-ssa><ml-virama>";<BAS>;<MIN>;IGNORE
+<U0D37>        "<ml-ssa><ml-virama><mlvw-shorta>";<BAS>;<MIN>;IGNORE
+<ml-sh>        "<ml-sha><ml-virama>";<BAS>;<MIN>;IGNORE
+<U0D36>        "<ml-sha><ml-virama><mlvw-shorta>";<BAS>;<MIN>;IGNORE
+<ml-s> "<ml-sa><ml-virama>";<BAS>;<MIN>;IGNORE
+<U0D38>        "<ml-sa><ml-virama><mlvw-shorta>";<BAS>;<MIN>;IGNORE
+<ml-h> "<ml-ha><ml-virama>";<BAS>;<MIN>;IGNORE
+<U0D39>        "<ml-ha><ml-virama><mlvw-shorta>";<BAS>;<MIN>;IGNORE
+<ml-chillu-ll> "<ml-lla><ml-virama>";<BAS>;<MIN>;IGNORE # ള്‍ = ള  + ്  + zwj
+<U0D33>        "<ml-lla><ml-virama><mlvw-shorta>";<BAS>;<MIN>;IGNORE # ള = ള + ് + അ 
+<ml-zh>        "<ml-zha><ml-virama>";<BAS>;<MIN>;IGNORE
+<U0D34>        "<ml-zha><ml-virama><mlvw-shorta>";<BAS>;<MIN>;IGNORE
+<ml-rr>        "<ml-rra><ml-virama>";<BAS>;<MIN>;IGNORE
+<U0D31>        "<ml-rra><ml-virama><mlvw-shorta>";<BAS>;<MIN>;IGNORE
+<U0D3D>        <ml-avagrah>;<BAS>;<MIN>;IGNORE
+<U0D3E> <mlvs-aa>;<BAS>;<MIN>;IGNORE
+<U0D3F> <mlvs-i>;<BAS>;<MIN>;IGNORE
+<U0D40> <mlvs-ii>;<BAS>;<MIN>;IGNORE
+<ml-samvruthokaram> <mlvs-u>;<BAS>;<MIN>;IGNORE
+<U0D41> <mlvs-u>;"<BAS><ml-samvruthokaram>";<MIN>;IGNORE # sort it after samvruthokaram
+<U0D42> <mlvs-uu>;<BAS>;<MIN>;IGNORE
+<U0D43> <mlvs-vocalicr>;<BAS>;<MIN>;IGNORE
+<U0D44> <mlvs-vocalicrr>;<BAS>;<MIN>;IGNORE
+<U0D62> <mlvs-vocalicl>;<BAS>;<MIN>;IGNORE
+<U0D63> <mlvs-vocalicll>;<BAS>;<MIN>;IGNORE
+<U0D46> <mlvs-shorte>;<BAS>;<MIN>;IGNORE
+<U0D47> <mlvs-e>;<BAS>;<MIN>;IGNORE
+<U0D48> <mlvs-ai>;<BAS>;<MIN>;IGNORE
+<U0D4A> <mlvs-shorto>;<BAS>;<MIN>;IGNORE
+<U0D4B> <mlvs-o>;<BAS>;<MIN>;IGNORE
+<U0D4C> <mlvs-au>;<BAS>;<MIN>;IGNORE
+<U0D57> <mlvs-au>;<BAS>;<MIN>;IGNORE
+<U0D4D> <ml-virama>;<BAS>;<MIN>;IGNORE
+<U0D03> <ml-visarga>;<BAS>;<MIN>;IGNORE
+<ml-split-o>  <mlvs-shorto>;<BAS>;<MIN>;IGNORE
+<ml-split-oo> <mlvs-o>;<BAS>;<MIN>;IGNORE
+<ml-split-au> <mlvs-au>;<BAS>;<MIN>;IGNORE
+
 order_end
 
 END LC_COLLATE
index bdda16d44b5706128b18a298375766d41ac0695f..af9ec123ea8d39529fca9195477a82cafdd7ead0 100644 (file)
@@ -97,14 +97,16 @@ mon       "<U006A><U0061><U006E><U0075><U0061><U0072><U0069>";/
           "<U006F><U006B><U0074><U006F><U0062><U0065><U0072>";/
           "<U006E><U006F><U0076><U0065><U006D><U0062><U0065><U0072>";/
           "<U0064><U0065><U0063><U0065><U006D><U0062><U0065><U0072>"
-d_t_fmt   "<U0025><U0061><U0020><U0025><U0065><U0020><U0025><U0062><U0020><U0025><U0059><U0020><U0025><U0048><U002E><U0025><U004D><U002E><U0025><U0053>"
-d_fmt     "<U0025><U0059><U002D><U0025><U006D><U002D><U0025><U0064>"
+d_t_fmt  "<U0025><U0061><U0020><U0025><U0065><U002E><U0020><U0025><U0042>/
+<U0074><U0061><U0020><U0025><U0059><U0020><U0025><U0048><U002E><U0025>/
+<U004D><U002E><U0025><U0053>"
+d_fmt    "<U0025><U0064><U002E><U0025><U006D><U002E><U0025><U0059>"
 t_fmt     "<U0025><U0048><U002E><U0025><U004D><U002E><U0025><U0053>"
 am_pm     "";""
 t_fmt_ampm  ""
-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>"
+date_fmt       "<U0025><U0061><U0020><U0025><U002D><U0064><U002E><U0025>/
+<U002D><U006D><U002E><U0025><U0059><U0020><U0025><U0048><U002E><U0025>/
+<U004D><U002E><U0025><U0053><U0020><U0025><U007A>"
 END LC_TIME
 
 LC_PAPER
index 9932ee049b669db81ed7aadac14918c43f450e27..cc03dc4a5b9592b816047a0411a13bc21655b458 100644 (file)
@@ -223,7 +223,7 @@ free_atfork(Void_t* mem, const Void_t *caller)
   tsd_getspecific(arena_key, vptr);
   if(vptr != ATFORK_ARENA_PTR)
     (void)mutex_lock(&ar_ptr->mutex);
-  _int_free(ar_ptr, mem);
+  _int_free(ar_ptr, p);
   if(vptr != ATFORK_ARENA_PTR)
     (void)mutex_unlock(&ar_ptr->mutex);
 }
index c88937665cc052bfb14bf570d84aa13b1086e82c..9659ec5fbe06458f00704b92c48c2196ed2205db 100644 (file)
@@ -1,5 +1,5 @@
 /* Malloc implementation for multiple threads without lock contention.
-   Copyright (C) 2001-2006, 2007, 2008 Free Software Foundation, Inc.
+   Copyright (C) 2001-2006, 2007, 2008, 2009 Free Software Foundation, Inc.
    This file is part of the GNU C Library.
    Contributed by Wolfram Gloger <wg@malloc.de>, 2001.
 
@@ -293,7 +293,7 @@ free_check(mem, caller) Void_t* mem; const Void_t *caller;
 #if 0 /* Erase freed memory. */
   memset(mem, 0, chunksize(p) - (SIZE_SZ+1));
 #endif
-  _int_free(&main_arena, mem);
+  _int_free(&main_arena, p);
   (void)mutex_unlock(&main_arena.mutex);
 }
 
@@ -305,8 +305,7 @@ realloc_check(oldmem, bytes, caller)
      Void_t* oldmem; size_t bytes; const Void_t *caller;
 #endif
 {
-  mchunkptr oldp;
-  INTERNAL_SIZE_T nb, oldsize;
+  INTERNAL_SIZE_T nb;
   Void_t* newmem = 0;
   unsigned char *magic_p;
 
@@ -320,13 +319,13 @@ realloc_check(oldmem, bytes, caller)
     return NULL;
   }
   (void)mutex_lock(&main_arena.mutex);
-  oldp = mem2chunk_check(oldmem, &magic_p);
+  const mchunkptr oldp = mem2chunk_check(oldmem, &magic_p);
   (void)mutex_unlock(&main_arena.mutex);
   if(!oldp) {
     malloc_printerr(check_action, "realloc(): invalid pointer", oldmem);
     return malloc_check(bytes, NULL);
   }
-  oldsize = chunksize(oldp);
+  const INTERNAL_SIZE_T oldsize = chunksize(oldp);
 
   checked_request2size(bytes+1, nb);
   (void)mutex_lock(&main_arena.mutex);
@@ -355,8 +354,11 @@ realloc_check(oldmem, bytes, caller)
     }
   } else {
 #endif /* HAVE_MMAP */
-    if (top_check() >= 0)
-      newmem = _int_realloc(&main_arena, oldmem, bytes+1);
+    if (top_check() >= 0) {
+      INTERNAL_SIZE_T nb;
+      checked_request2size(bytes + 1, nb);
+      newmem = _int_realloc(&main_arena, oldp, nb);
+    }
 #if 0 /* Erase freed memory. */
     if(newmem)
       newp = mem2chunk(newmem);
@@ -470,7 +472,7 @@ free_starter(mem, caller) Void_t* mem; const Void_t *caller;
     return;
   }
 #endif
-  _int_free(&main_arena, mem);
+  _int_free(&main_arena, p);
 }
 
 # endif        /* !defiend NO_STARTER */
index a9189347404a768445665a29ed7d8d883a0f8470..12e23b0f9b0cd00a989c7e0e9b65d919b6d82df4 100644 (file)
@@ -1581,11 +1581,11 @@ typedef struct malloc_chunk* mchunkptr;
 
 #if __STD_C
 
-Void_t*         _int_malloc(mstate, size_t);
-void            _int_free(mstate, Void_t*);
-Void_t*         _int_realloc(mstate, Void_t*, size_t);
-Void_t*         _int_memalign(mstate, size_t, size_t);
-Void_t*         _int_valloc(mstate, size_t);
+static Void_t*  _int_malloc(mstate, size_t);
+static void     _int_free(mstate, mchunkptr);
+static Void_t*  _int_realloc(mstate, mchunkptr, INTERNAL_SIZE_T);
+static Void_t*  _int_memalign(mstate, size_t, size_t);
+static Void_t*  _int_valloc(mstate, size_t);
 static Void_t*  _int_pvalloc(mstate, size_t);
 /*static Void_t*  cALLOc(size_t, size_t);*/
 #ifndef _LIBC
@@ -1632,12 +1632,12 @@ static void      free_atfork(Void_t* mem, const Void_t *caller);
 
 #else
 
-Void_t*         _int_malloc();
-void            _int_free();
-Void_t*         _int_realloc();
-Void_t*         _int_memalign();
-Void_t*         _int_valloc();
-Void_t*         _int_pvalloc();
+static Void_t*  _int_malloc();
+static void     _int_free();
+static Void_t*  _int_realloc();
+static Void_t*  _int_memalign();
+static Void_t*  _int_valloc();
+static Void_t*  _int_pvalloc();
 /*static Void_t*  cALLOc();*/
 static Void_t** _int_icalloc();
 static Void_t** _int_icomalloc();
@@ -3084,7 +3084,7 @@ static Void_t* sYSMALLOc(nb, av) INTERNAL_SIZE_T nb; mstate av;
        set_head(chunk_at_offset(old_top, old_size), (2*SIZE_SZ)|PREV_INUSE);
        set_foot(chunk_at_offset(old_top, old_size), (2*SIZE_SZ));
        set_head(old_top, old_size|PREV_INUSE|NON_MAIN_ARENA);
-       _int_free(av, chunk2mem(old_top));
+       _int_free(av, old_top);
       } else {
        set_head(old_top, (old_size + 2*SIZE_SZ)|PREV_INUSE);
        set_foot(old_top, (old_size + 2*SIZE_SZ));
@@ -3131,7 +3131,7 @@ static Void_t* sYSMALLOc(nb, av) INTERNAL_SIZE_T nb; mstate av;
 
   if (brk != (char*)(MORECORE_FAILURE)) {
     /* Call the `morecore' hook if necessary.  */
-    if (__after_morecore_hook)
+    if (__builtin_expect (__after_morecore_hook != NULL, 0))
       (*__after_morecore_hook) ();
   } else {
   /*
@@ -3270,7 +3270,7 @@ static Void_t* sYSMALLOc(nb, av) INTERNAL_SIZE_T nb; mstate av;
           snd_brk = (char*)(MORECORE(0));
         } else
          /* Call the `morecore' hook if necessary.  */
-         if (__after_morecore_hook)
+         if (__builtin_expect (__after_morecore_hook != NULL, 0))
            (*__after_morecore_hook) ();
       }
 
@@ -3323,7 +3323,7 @@ static Void_t* sYSMALLOc(nb, av) INTERNAL_SIZE_T nb; mstate av;
 
           /* If possible, release the rest. */
           if (old_size >= MINSIZE) {
-            _int_free(av, chunk2mem(old_top));
+            _int_free(av, old_top);
           }
 
         }
@@ -3415,7 +3415,7 @@ static int sYSTRIm(pad, av) size_t pad; mstate av;
 
       MORECORE(-extra);
       /* Call the `morecore' hook if necessary.  */
-      if (__after_morecore_hook)
+      if (__builtin_expect (__after_morecore_hook != NULL, 0))
        (*__after_morecore_hook) ();
       new_brk = (char*)(MORECORE(0));
 
@@ -3542,7 +3542,7 @@ public_mALLOc(size_t bytes)
   Void_t *victim;
 
   __malloc_ptr_t (*hook) (size_t, __const __malloc_ptr_t) = __malloc_hook;
-  if (hook != NULL)
+  if (__builtin_expect (hook != NULL, 0))
     return (*hook)(bytes, RETURN_ADDRESS (0));
 
   arena_get(ar_ptr, bytes);
@@ -3585,7 +3585,7 @@ public_fREe(Void_t* mem)
   mchunkptr p;                          /* chunk corresponding to mem */
 
   void (*hook) (__malloc_ptr_t, __const __malloc_ptr_t) = __free_hook;
-  if (hook != NULL) {
+  if (__builtin_expect (hook != NULL, 0)) {
     (*hook)(mem, RETURN_ADDRESS (0));
     return;
   }
@@ -3622,7 +3622,7 @@ public_fREe(Void_t* mem)
 #else
   (void)mutex_lock(&ar_ptr->mutex);
 #endif
-  _int_free(ar_ptr, mem);
+  _int_free(ar_ptr, p);
   (void)mutex_unlock(&ar_ptr->mutex);
 }
 #ifdef libc_hidden_def
@@ -3635,14 +3635,11 @@ public_rEALLOc(Void_t* oldmem, size_t bytes)
   mstate ar_ptr;
   INTERNAL_SIZE_T    nb;      /* padded request size */
 
-  mchunkptr oldp;             /* chunk corresponding to oldmem */
-  INTERNAL_SIZE_T    oldsize; /* its size */
-
   Void_t* newp;             /* chunk to return */
 
   __malloc_ptr_t (*hook) (__malloc_ptr_t, size_t, __const __malloc_ptr_t) =
     __realloc_hook;
-  if (hook != NULL)
+  if (__builtin_expect (hook != NULL, 0))
     return (*hook)(oldmem, bytes, RETURN_ADDRESS (0));
 
 #if REALLOC_ZERO_BYTES_FREES
@@ -3652,8 +3649,10 @@ public_rEALLOc(Void_t* oldmem, size_t bytes)
   /* realloc of null is supposed to be same as malloc */
   if (oldmem == 0) return public_mALLOc(bytes);
 
-  oldp    = mem2chunk(oldmem);
-  oldsize = chunksize(oldp);
+  /* chunk corresponding to oldmem */
+  const mchunkptr oldp    = mem2chunk(oldmem);
+  /* its size */
+  const INTERNAL_SIZE_T oldsize = chunksize(oldp);
 
   /* Little security check which won't hurt performance: the
      allocator never wrapps around at the end of the address space.
@@ -3705,7 +3704,7 @@ public_rEALLOc(Void_t* oldmem, size_t bytes)
   tsd_setspecific(arena_key, (Void_t *)ar_ptr);
 #endif
 
-  newp = _int_realloc(ar_ptr, oldmem, bytes);
+  newp = _int_realloc(ar_ptr, oldp, nb);
 
   (void)mutex_unlock(&ar_ptr->mutex);
   assert(!newp || chunk_is_mmapped(mem2chunk(newp)) ||
@@ -3728,7 +3727,7 @@ public_rEALLOc(Void_t* oldmem, size_t bytes)
 #else
          (void)mutex_lock(&ar_ptr->mutex);
 #endif
-         _int_free(ar_ptr, oldmem);
+         _int_free(ar_ptr, oldp);
          (void)mutex_unlock(&ar_ptr->mutex);
        }
     }
@@ -3748,7 +3747,7 @@ public_mEMALIGn(size_t alignment, size_t bytes)
   __malloc_ptr_t (*hook) __MALLOC_PMT ((size_t, size_t,
                                        __const __malloc_ptr_t)) =
     __memalign_hook;
-  if (hook != NULL)
+  if (__builtin_expect (hook != NULL, 0))
     return (*hook)(alignment, bytes, RETURN_ADDRESS (0));
 
   /* If need less alignment than we give anyway, just relay to malloc */
@@ -3805,7 +3804,7 @@ public_vALLOc(size_t bytes)
   __malloc_ptr_t (*hook) __MALLOC_PMT ((size_t, size_t,
                                        __const __malloc_ptr_t)) =
     __memalign_hook;
-  if (hook != NULL)
+  if (__builtin_expect (hook != NULL, 0))
     return (*hook)(pagesz, bytes, RETURN_ADDRESS (0));
 
   arena_get(ar_ptr, bytes + pagesz + MINSIZE);
@@ -3852,7 +3851,7 @@ public_pVALLOc(size_t bytes)
   __malloc_ptr_t (*hook) __MALLOC_PMT ((size_t, size_t,
                                        __const __malloc_ptr_t)) =
     __memalign_hook;
-  if (hook != NULL)
+  if (__builtin_expect (hook != NULL, 0))
     return (*hook)(pagesz, rounded_bytes, RETURN_ADDRESS (0));
 
   arena_get(ar_ptr, bytes + 2*pagesz + MINSIZE);
@@ -3906,7 +3905,7 @@ public_cALLOc(size_t n, size_t elem_size)
     }
   }
 
-  if (hook != NULL) {
+  if (__builtin_expect (hook != NULL, 0)) {
     sz = bytes;
     mem = (*hook)(sz, RETURN_ADDRESS (0));
     if(mem == 0)
@@ -4125,7 +4124,7 @@ public_mALLOPt(int p, int v)
   ------------------------------ malloc ------------------------------
 */
 
-Void_t*
+static Void_t*
 _int_malloc(mstate av, size_t bytes)
 {
   INTERNAL_SIZE_T nb;               /* normalized request size */
@@ -4589,10 +4588,9 @@ _int_malloc(mstate av, size_t bytes)
   ------------------------------ free ------------------------------
 */
 
-void
-_int_free(mstate av, Void_t* mem)
+static void
+_int_free(mstate av, mchunkptr p)
 {
-  mchunkptr       p;           /* chunk corresponding to mem */
   INTERNAL_SIZE_T size;        /* its size */
   mfastbinptr*    fb;          /* associated fastbin */
   mchunkptr       nextchunk;   /* next contiguous chunk */
@@ -4604,7 +4602,6 @@ _int_free(mstate av, Void_t* mem)
 
   const char *errstr = NULL;
 
-  p = mem2chunk(mem);
   size = chunksize(p);
 
   /* Little security check which won't hurt performance: the
@@ -4616,7 +4613,7 @@ _int_free(mstate av, Void_t* mem)
     {
       errstr = "free(): invalid pointer";
     errout:
-      malloc_printerr (check_action, errstr, mem);
+      malloc_printerr (check_action, errstr, chunk2mem(p));
       return;
     }
   /* We know that each chunk is at least MINSIZE bytes in size.  */
@@ -4663,7 +4660,7 @@ _int_free(mstate av, Void_t* mem)
       }
 
     if (__builtin_expect (perturb_byte, 0))
-      free_perturb (mem, size - SIZE_SZ);
+      free_perturb (chunk2mem(p), size - SIZE_SZ);
 
     p->fd = *fb;
     *fb = p;
@@ -4707,7 +4704,7 @@ _int_free(mstate av, Void_t* mem)
       }
 
     if (__builtin_expect (perturb_byte, 0))
-      free_perturb (mem, size - SIZE_SZ);
+      free_perturb (chunk2mem(p), size - SIZE_SZ);
 
     /* consolidate backward */
     if (!prev_inuse(p)) {
@@ -4943,13 +4940,8 @@ static void malloc_consolidate(av) mstate av;
 */
 
 Void_t*
-_int_realloc(mstate av, Void_t* oldmem, size_t bytes)
+_int_realloc(mstate av, mchunkptr oldp, INTERNAL_SIZE_T nb)
 {
-  INTERNAL_SIZE_T  nb;              /* padded request size */
-
-  mchunkptr        oldp;            /* chunk corresponding to oldmem */
-  INTERNAL_SIZE_T  oldsize;         /* its size */
-
   mchunkptr        newp;            /* chunk to return */
   INTERNAL_SIZE_T  newsize;         /* its size */
   Void_t*          newmem;          /* corresponding user mem */
@@ -4969,20 +4961,18 @@ _int_realloc(mstate av, Void_t* oldmem, size_t bytes)
 
   const char *errstr = NULL;
 
-
-  checked_request2size(bytes, nb);
-
-  oldp    = mem2chunk(oldmem);
-  oldsize = chunksize(oldp);
-
   /* Simple tests for old block integrity.  */
   if (__builtin_expect (misaligned_chunk (oldp), 0))
     {
       errstr = "realloc(): invalid pointer";
     errout:
-      malloc_printerr (check_action, errstr, oldmem);
+      malloc_printerr (check_action, errstr, chunk2mem(oldp));
       return NULL;
     }
+
+  /* oldmem size */
+  const INTERNAL_SIZE_T oldsize = chunksize(oldp);
+
   if (__builtin_expect (oldp->size <= 2 * SIZE_SZ, 0)
       || __builtin_expect (oldsize >= av->system_mem, 0))
     {
@@ -5054,7 +5044,7 @@ _int_realloc(mstate av, Void_t* oldmem, size_t bytes)
           */
 
           copysize = oldsize - SIZE_SZ;
-          s = (INTERNAL_SIZE_T*)(oldmem);
+          s = (INTERNAL_SIZE_T*)(chunk2mem(oldp));
           d = (INTERNAL_SIZE_T*)(newmem);
           ncopies = copysize / sizeof(INTERNAL_SIZE_T);
           assert(ncopies >= 3);
@@ -5080,7 +5070,7 @@ _int_realloc(mstate av, Void_t* oldmem, size_t bytes)
             }
           }
 
-          _int_free(av, oldmem);
+          _int_free(av, oldp);
           check_inuse_chunk(av, newp);
           return chunk2mem(newp);
         }
@@ -5104,7 +5094,7 @@ _int_realloc(mstate av, Void_t* oldmem, size_t bytes)
               (av != &main_arena ? NON_MAIN_ARENA : 0));
       /* Mark remainder as inuse so free() won't complain */
       set_inuse_bit_at_offset(remainder, remainder_size);
-      _int_free(av, chunk2mem(remainder));
+      _int_free(av, remainder);
     }
 
     check_inuse_chunk(av, newp);
@@ -5129,7 +5119,7 @@ _int_realloc(mstate av, Void_t* oldmem, size_t bytes)
 
     /* don't need to remap if still within same page */
     if (oldsize == newsize - offset)
-      return oldmem;
+      return chunk2mem(oldp);
 
     cp = (char*)mremap((char*)oldp - offset, oldsize + offset, newsize, 1);
 
@@ -5157,13 +5147,13 @@ _int_realloc(mstate av, Void_t* oldmem, size_t bytes)
 
     /* Note the extra SIZE_SZ overhead. */
     if ((unsigned long)(oldsize) >= (unsigned long)(nb + SIZE_SZ))
-      newmem = oldmem; /* do nothing */
+      newmem = chunk2mem(oldp); /* do nothing */
     else {
       /* Must alloc, copy, free. */
       newmem = _int_malloc(av, nb - MALLOC_ALIGN_MASK);
       if (newmem != 0) {
-        MALLOC_COPY(newmem, oldmem, oldsize - 2*SIZE_SZ);
-        _int_free(av, oldmem);
+        MALLOC_COPY(newmem, chunk2mem(oldp), oldsize - 2*SIZE_SZ);
+        _int_free(av, oldp);
       }
     }
     return newmem;
@@ -5181,7 +5171,7 @@ _int_realloc(mstate av, Void_t* oldmem, size_t bytes)
   ------------------------------ memalign ------------------------------
 */
 
-Void_t*
+static Void_t*
 _int_memalign(mstate av, size_t alignment, size_t bytes)
 {
   INTERNAL_SIZE_T nb;             /* padded  request size */
@@ -5257,7 +5247,7 @@ _int_memalign(mstate av, size_t alignment, size_t bytes)
             (av != &main_arena ? NON_MAIN_ARENA : 0));
     set_inuse_bit_at_offset(newp, newsize);
     set_head_size(p, leadsize | (av != &main_arena ? NON_MAIN_ARENA : 0));
-    _int_free(av, chunk2mem(p));
+    _int_free(av, p);
     p = newp;
 
     assert (newsize >= nb &&
@@ -5273,7 +5263,7 @@ _int_memalign(mstate av, size_t alignment, size_t bytes)
       set_head(remainder, remainder_size | PREV_INUSE |
               (av != &main_arena ? NON_MAIN_ARENA : 0));
       set_head_size(p, nb);
-      _int_free(av, chunk2mem(remainder));
+      _int_free(av, remainder);
     }
   }
 
@@ -5514,7 +5504,7 @@ mstate av; size_t n_elements; size_t* sizes; int opts; Void_t* chunks[];
   ------------------------------ valloc ------------------------------
 */
 
-Void_t*
+static Void_t*
 #if __STD_C
 _int_valloc(mstate av, size_t bytes)
 #else
@@ -5531,7 +5521,7 @@ _int_valloc(av, bytes) mstate av; size_t bytes;
 */
 
 
-Void_t*
+static Void_t*
 #if __STD_C
 _int_pvalloc(mstate av, size_t bytes)
 #else
@@ -6020,7 +6010,7 @@ __posix_memalign (void **memptr, size_t alignment, size_t size)
 
   /* Call the hook here, so that caller is posix_memalign's caller
      and not posix_memalign itself.  */
-  if (hook != NULL)
+  if (__builtin_expect (hook != NULL, 0))
     mem = (*hook)(alignment, size, RETURN_ADDRESS (0));
   else
     mem = public_mEMALIGn (alignment, size);
index d11e9e6ed52f33e3176c9ae92fe6c55e0fe4303a..fcd58dc68499fe453841a998dac0e926e3f0e503 100644 (file)
@@ -1,5 +1,5 @@
 /* Profile heap and stack memory usage of running program.
-   Copyright (C) 1998-2002, 2004, 2005, 2006 Free Software Foundation, Inc.
+   Copyright (C) 1998-2002, 2004-2006, 2009 Free Software Foundation, Inc.
    This file is part of the GNU C Library.
    Contributed by Ulrich Drepper <drepper@cygnus.com>, 1998.
 
@@ -18,6 +18,7 @@
    Software Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA
    02111-1307 USA.  */
 
+#include <assert.h>
 #include <atomic.h>
 #include <dlfcn.h>
 #include <errno.h>
@@ -92,7 +93,7 @@ static __thread uintptr_t start_sp;
 #define peak_stack     peak_use[1]
 #define peak_total     peak_use[2]
 
-#define DEFAULT_BUFFER_SIZE    1024
+#define DEFAULT_BUFFER_SIZE    32768
 static size_t buffer_size;
 
 static int fd = -1;
@@ -168,10 +169,11 @@ update_data (struct header *result, size_t len, size_t old_len)
             this fails because of another thread increasing the
             counter it does not matter since that thread will take
             care of the correction.  */
-         unsigned int reset = idx - 2 * buffer_size;
-         catomic_compare_and_exchange_val_acq (&buffer_size, reset, idx);
+         uatomic32_t reset = idx % (2 * buffer_size);
+         catomic_compare_and_exchange_val_acq (&buffer_cnt, reset, idx);
          idx = reset;
        }
+      assert (idx < 2 * DEFAULT_BUFFER_SIZE);
 
       buffer[idx].heap = current_heap;
       buffer[idx].stack = current_stack;
index 1c906a1be5abc297738e547df7f56e76a169af31..8b372e4b8eea1ea3eae93cec34f375c6d8d1ea33 100755 (executable)
@@ -61,8 +61,10 @@ Profile memory usage of PROGRAM.
 Mandatory arguments to long options are also mandatory for any corresponding
 short options.
 
-For bug reporting instructions, please see:
-<http://www.gnu.org/software/libc/bugs.html>."
+"
+  print $"For bug reporting instructions, please see:
+<http://www.gnu.org/software/libc/bugs.html>.
+"
   exit 0
 }
 
index 779d5c0a59b0d1944ff8db44b78d0f9f3f8d119a..bf331754153cdf72fba9a02d65970d97d6481c74 100644 (file)
@@ -1,5 +1,6 @@
 /* Generate graphic from memory profiling data.
-   Copyright (C) 1998, 1999, 2000, 2005, 2006 Free Software Foundation, Inc.
+   Copyright (C) 1998, 1999, 2000, 2005, 2006,
+   2009 Free Software Foundation, Inc.
    This file is part of the GNU C Library.
    Contributed by Ulrich Drepper <drepper@cygnus.com>, 1998.
 
@@ -38,6 +39,8 @@
 #include <gdfontl.h>
 #include <gdfonts.h>
 
+#include "../version.h"
+#define PACKAGE _libc_intl_domainname
 
 /* Default size of the generated image.  */
 #define XSIZE 800
@@ -73,6 +76,10 @@ static error_t parse_opt (int key, char *arg, struct argp_state *state);
 /* Function to print some extra text in the help message.  */
 static char *more_help (int key, const char *text, void *input);
 
+/* Name and version of program.  */
+static void print_version (FILE *stream, struct argp_state *state);
+void (*argp_program_version_hook) (FILE *, struct argp_state *) = print_version;
+
 /* Data structure to communicate with argp functions.  */
 static struct argp argp =
 {
@@ -535,3 +542,16 @@ For bug reporting instructions, please see:\n\
     }
   return (char *) text;
 }
+
+/* Print the version information.  */
+static void
+print_version (FILE *stream, struct argp_state *state)
+{
+  fprintf (stream, "memusagestat (GNU %s) %s\n", PACKAGE, VERSION);
+  fprintf (stream, gettext ("\
+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\
+"), "2009");
+  fprintf (stream, gettext ("Written by %s.\n"), "Ulrich Drepper");
+}
index 206fe55050b4ea73d5266773961ebea587fb5e23..449070e7f17e2a5671f25bc6955bde97af2e978d 100644 (file)
@@ -1,5 +1,5 @@
 /* obstack.h - object stack macros
-   Copyright (C) 1988-1994,1996-1999,2003,2004,2005
+   Copyright (C) 1988-1994,1996-1999,2003,2004,2005,2009
        Free Software Foundation, Inc.
    This file is part of the GNU C Library.
 
@@ -187,7 +187,7 @@ extern int _obstack_begin_1 (struct obstack *, int, int,
                             void (*) (void *, void *), void *);
 extern int _obstack_memory_used (struct obstack *);
 
-void obstack_free (struct obstack *obstack, void *block);
+void obstack_free (struct obstack *__obstack, void *__block);
 
 \f
 /* Error handler called when `obstack_chunk_alloc' failed to allocate
index c8927ece17be408910d440c785002d92cf6e1d3b..f3cc2c4c516a730ff39a5f17aebe5f57a2a70f6a 100644 (file)
@@ -1,4 +1,5 @@
-/* Copyright (C) 1997, 1998, 1999, 2006, 2007 Free Software Foundation, Inc.
+/* Copyright (C) 1997, 1998, 1999, 2006, 2007, 2009
+   Free Software Foundation, Inc.
    This file is part of the GNU C Library.
    Contributed by Thorsten Kukuk <kukuk@suse.de>, 1997.
 
@@ -111,59 +112,59 @@ extern nis_result *nis_modify (const_nis_name name,
  *    const netobj *cookie: The value of cookie from the nis_result structure
  *                          form the previous call.
  */
-extern nis_result *nis_list (const_nis_name name, unsigned int flags,
-                            int (*callback)(const_nis_name table_name,
-                                            const nis_object *obj,
-                                            const void *userdata),
-                            const void *userdata) __THROW;
-extern nis_result *nis_add_entry (const_nis_name table_name,
-                                 const nis_object *obj,
-                                 unsigned int flags) __THROW;
-extern nis_result *nis_modify_entry (const_nis_name name,
-                                    const nis_object *obj,
-                                    unsigned int flags) __THROW;
-extern nis_result *nis_remove_entry (const_nis_name table_name,
-                                    const nis_object *obj,
-                                    unsigned int flags) __THROW;
-extern nis_result *nis_first_entry (const_nis_name table_name) __THROW;
-extern nis_result *nis_next_entry (const_nis_name table_name,
-                                  const netobj *cookie) __THROW;
+extern nis_result *nis_list (const_nis_name __name, unsigned int __flags,
+                            int (*__callback)(const_nis_name __table_name,
+                                              const nis_object *__obj,
+                                              const void *__userdata),
+                            const void *__userdata) __THROW;
+extern nis_result *nis_add_entry (const_nis_name __table_name,
+                                 const nis_object *__obj,
+                                 unsigned int __flags) __THROW;
+extern nis_result *nis_modify_entry (const_nis_name __name,
+                                    const nis_object *__obj,
+                                    unsigned int __flags) __THROW;
+extern nis_result *nis_remove_entry (const_nis_name __table_name,
+                                    const nis_object *__obj,
+                                    unsigned int __flags) __THROW;
+extern nis_result *nis_first_entry (const_nis_name __table_name) __THROW;
+extern nis_result *nis_next_entry (const_nis_name __table_name,
+                                  const netobj *__cookie) __THROW;
 /*
 ** nis_server
 */
-extern nis_error nis_mkdir (const_nis_name dirname,
-                           const nis_server *machine) __THROW;
-extern nis_error nis_rmdir (const_nis_name dirname,
-                           const nis_server *machine) __THROW;
-extern nis_error nis_servstate (const nis_server *machine,
-                               const nis_tag *tags, int numtags,
-                               nis_tag **result) __THROW;
-extern nis_error nis_stats (const nis_server *machine,
-                           const nis_tag *tags, int numtags,
-                           nis_tag **result) __THROW;
-extern void nis_freetags (nis_tag *tags, int numtags) __THROW;
-extern nis_server **nis_getservlist (const_nis_name dirname) __THROW;
-extern void nis_freeservlist (nis_server **machines) __THROW;
+extern nis_error nis_mkdir (const_nis_name __dirname,
+                           const nis_server *__machine) __THROW;
+extern nis_error nis_rmdir (const_nis_name __dirname,
+                           const nis_server *__machine) __THROW;
+extern nis_error nis_servstate (const nis_server *__machine,
+                               const nis_tag *__tags, int __numtags,
+                               nis_tag **__result) __THROW;
+extern nis_error nis_stats (const nis_server *__machine,
+                           const nis_tag *__tags, int __numtags,
+                           nis_tag **__result) __THROW;
+extern void nis_freetags (nis_tag *__tags, int __numtags) __THROW;
+extern nis_server **nis_getservlist (const_nis_name __dirname) __THROW;
+extern void nis_freeservlist (nis_server **__machines) __THROW;
 
 /*
 ** nis_subr
 */
-extern nis_name nis_leaf_of (const_nis_name name) __THROW;
-extern nis_name nis_leaf_of_r (const_nis_name name, char *buffer,
-                              size_t buflen) __THROW;
-extern nis_name nis_name_of (const_nis_name name) __THROW;
-extern nis_name nis_name_of_r (const_nis_name name, char *buffer,
-                              size_t buflen) __THROW;
-extern nis_name nis_domain_of (const_nis_name name) __THROW;
-extern nis_name nis_domain_of_r (const_nis_name name, char *buffer,
-                                size_t buflen) __THROW;
-extern nis_name *nis_getnames (const_nis_name name) __THROW;
-extern void nis_freenames (nis_name *namelist) __THROW;
-extern name_pos nis_dir_cmp (const_nis_name n1, const_nis_name n2) __THROW;
-extern nis_object *nis_clone_object (const nis_object *src,
-                                    nis_object *dest) __THROW;
-extern void nis_destroy_object (nis_object *obj) __THROW;
-extern void nis_print_object (const nis_object *obj) __THROW;
+extern nis_name nis_leaf_of (const_nis_name __name) __THROW;
+extern nis_name nis_leaf_of_r (const_nis_name __name, char *__buffer,
+                              size_t __buflen) __THROW;
+extern nis_name nis_name_of (const_nis_name __name) __THROW;
+extern nis_name nis_name_of_r (const_nis_name __name, char *__buffer,
+                              size_t __buflen) __THROW;
+extern nis_name nis_domain_of (const_nis_name __name) __THROW;
+extern nis_name nis_domain_of_r (const_nis_name __name, char *__buffer,
+                                size_t __buflen) __THROW;
+extern nis_name *nis_getnames (const_nis_name __name) __THROW;
+extern void nis_freenames (nis_name *__namelist) __THROW;
+extern name_pos nis_dir_cmp (const_nis_name __n1, const_nis_name __n2) __THROW;
+extern nis_object *nis_clone_object (const nis_object *__src,
+                                    nis_object *__dest) __THROW;
+extern void nis_destroy_object (nis_object *__obj) __THROW;
+extern void nis_print_object (const nis_object *__obj) __THROW;
 
 /*
 ** nis_local_names
@@ -176,67 +177,67 @@ extern nis_name nis_local_host (void) __THROW;
 /*
 ** nis_error
 */
-extern const char *nis_sperrno (const nis_error status) __THROW;
-extern void nis_perror (const nis_error status, const char *label) __THROW;
-extern void nis_lerror (const nis_error status, const char *label) __THROW;
-extern char *nis_sperror (const nis_error status, const char *label) __THROW;
-extern char *nis_sperror_r (const nis_error status, const char *label,
-                           char *buffer, size_t buflen) __THROW;
+extern const char *nis_sperrno (const nis_error __status) __THROW;
+extern void nis_perror (const nis_error __status, const char *__label) __THROW;
+extern void nis_lerror (const nis_error __status, const char *__label) __THROW;
+extern char *nis_sperror (const nis_error status, const char *__label) __THROW;
+extern char *nis_sperror_r (const nis_error __status, const char *__label,
+                           char *__buffer, size_t __buflen) __THROW;
 /*
 ** nis_groups
 */
-extern bool_t nis_ismember (const_nis_name principal,
-                           const_nis_name group) __THROW;
-extern nis_error nis_addmember (const_nis_name member,
-                               const_nis_name group) __THROW;
-extern nis_error nis_removemember (const_nis_name member,
-                                  const_nis_name group) __THROW;
-extern nis_error nis_creategroup (const_nis_name group,
-                                 unsigned int flags) __THROW;
-extern nis_error nis_destroygroup (const_nis_name group) __THROW;
-extern void nis_print_group_entry (const_nis_name group) __THROW;
-extern nis_error nis_verifygroup (const_nis_name group) __THROW;
+extern bool_t nis_ismember (const_nis_name __principal,
+                           const_nis_name __group) __THROW;
+extern nis_error nis_addmember (const_nis_name __member,
+                               const_nis_name __group) __THROW;
+extern nis_error nis_removemember (const_nis_name __member,
+                                  const_nis_name __group) __THROW;
+extern nis_error nis_creategroup (const_nis_name __group,
+                                 unsigned int __flags) __THROW;
+extern nis_error nis_destroygroup (const_nis_name __group) __THROW;
+extern void nis_print_group_entry (const_nis_name __group) __THROW;
+extern nis_error nis_verifygroup (const_nis_name __group) __THROW;
 
 /*
 ** nis_ping
 */
-extern void nis_ping (const_nis_name dirname, uint32_t utime,
-                     const nis_object *dirobj) __THROW;
-extern nis_result *nis_checkpoint (const_nis_name dirname) __THROW;
+extern void nis_ping (const_nis_name __dirname, uint32_t __utime,
+                     const nis_object *__dirobj) __THROW;
+extern nis_result *nis_checkpoint (const_nis_name __dirname) __THROW;
 
 /*
 ** nis_print (XXX INTERNAL FUNCTIONS, SHOULD NOT BE USED !!)
 */
-extern void nis_print_result (const nis_result *result) __THROW;
-extern void nis_print_rights (unsigned int rights) __THROW;
-extern void nis_print_directory (const directory_obj *dirobj) __THROW;
-extern void nis_print_group (const group_obj *grpobj) __THROW;
-extern void nis_print_table (const table_obj *tblobj) __THROW;
-extern void nis_print_link (const link_obj *lnkobj) __THROW;
-extern void nis_print_entry (const entry_obj *enobj) __THROW;
+extern void nis_print_result (const nis_result *__result) __THROW;
+extern void nis_print_rights (unsigned int __rights) __THROW;
+extern void nis_print_directory (const directory_obj *__dirobj) __THROW;
+extern void nis_print_group (const group_obj *__grpobj) __THROW;
+extern void nis_print_table (const table_obj *__tblobj) __THROW;
+extern void nis_print_link (const link_obj *__lnkobj) __THROW;
+extern void nis_print_entry (const entry_obj *__enobj) __THROW;
 
 /*
 ** nis_file (XXX INTERNAL FUNCTIONS, SHOULD NOT BE USED !!)
 */
 extern directory_obj *readColdStartFile (void) __THROW;
-extern bool_t writeColdStartFile (const directory_obj *dirobj) __THROW;
-extern nis_object *nis_read_obj (const char *obj) __THROW;
-extern bool_t nis_write_obj (const char *file, const nis_object *obj) __THROW;
+extern bool_t writeColdStartFile (const directory_obj *__dirobj) __THROW;
+extern nis_object *nis_read_obj (const char *__obj) __THROW;
+extern bool_t nis_write_obj (const char *__file, const nis_object *__obj) __THROW;
 
 /*
 ** nis_clone - (XXX INTERNAL FUNCTIONS, SHOULD NOT BE USED !!)
 */
-extern directory_obj *nis_clone_directory (const directory_obj *src,
-                                          directory_obj *dest) __THROW;
-extern nis_result *nis_clone_result (const nis_result *src,
-                                    nis_result *dest) __THROW;
+extern directory_obj *nis_clone_directory (const directory_obj *__src,
+                                          directory_obj *__dest) __THROW;
+extern nis_result *nis_clone_result (const nis_result *__src,
+                                    nis_result *__dest) __THROW;
 
 /* nis_free - nis_freeresult */
-extern void nis_freeresult (nis_result *result) __THROW;
+extern void nis_freeresult (nis_result *__result) __THROW;
 /* (XXX THE FOLLOWING ARE INTERNAL FUNCTIONS, SHOULD NOT BE USED !!) */
-extern void nis_free_request (ib_request *req) __THROW;
-extern void nis_free_directory (directory_obj *dirobj) __THROW;
-extern void nis_free_object (nis_object *obj) __THROW;
+extern void nis_free_request (ib_request *__req) __THROW;
+extern void nis_free_directory (directory_obj *__dirobj) __THROW;
+extern void nis_free_object (nis_object *__obj) __THROW;
 
 /* (XXX INTERNAL FUNCTIONS, SHOULD NOT BE USED !!) */
 extern nis_name __nis_default_owner (char *) __THROW;
@@ -245,7 +246,7 @@ extern uint32_t __nis_default_ttl (char *) __THROW;
 extern unsigned int __nis_default_access (char *, unsigned int) __THROW;
 extern fd_result *__nis_finddirectory (directory_obj *, const_nis_name) __THROW;
 extern void __free_fdresult (fd_result *) __THROW;
-extern uint32_t __nis_hash (const void *keyarg, register size_t len) __THROW;
+extern uint32_t __nis_hash (const void *__keyarg, size_t __len) __THROW;
 
 /* NIS+ cache locking */
 extern int __nis_lock_cache (void) __THROW;
index eb0f345cd83fcbfaf01840d716b7e275137f2076..c0c5f82ea8d3c147d393f7ead7d9a4c9afc21bb3 100644 (file)
@@ -1,3 +1,8 @@
+2009-02-14  SUGIOKA Toshinobu  <sugioka@itonet.co.jp>
+
+       * sysdeps/unix/sysv/linux/sh/lowlevellock.S: Define
+       LOAD_FUTEX_WAIT_ABS even if (FUTEX_WAIT == 0).
+
 2009-01-29  Ulrich Drepper  <drepper@redhat.com>
 
        * sysdeps/pthread/unwind-forcedunwind.c: Encrypt all function
index c051192cee063ac03eb391923a5f620ef789cc57..b80c369a3c897fa72d45fc041dddffcc6536a1f3 100644 (file)
        and     tmp2, reg       ; \
        mov     #FUTEX_WAIT, tmp ; \
        or      tmp, reg
-#  define LOAD_FUTEX_WAIT_ABS(reg,tmp,tmp2) \
+# endif
+# define LOAD_FUTEX_WAIT_ABS(reg,tmp,tmp2) \
        stc     gbr, tmp        ; \
        mov.w   99f, tmp2       ; \
        add     tmp2, tmp       ; \
        swap.b  tmp2, tmp2; \
        or      tmp2, tmp; \
        or      tmp, reg
-# endif
 # define LOAD_FUTEX_WAKE(reg,tmp,tmp2) \
        stc     gbr, tmp        ; \
        mov.w   99f, tmp2       ; \
index af819c301abfc7057ba92115caa080b12bb2925e..5166d3df66c7bae2a42363366784322901bf3553 100644 (file)
@@ -1,3 +1,8 @@
+2009-02-06  Ulrich Drepper  <drepper@redhat.com>
+
+       * td_thr_get_info.c (td_thr_get_info): Initialize schedpolicy in
+       the special case [Coverity CID 251].
+
 2008-03-25  Roland McGrath  <roland@redhat.com>
 
        [BZ #5983]
index 99e5e19bf98bb96d0fc45f8ee3c396fbdf40645d..52985603bf9941e9398cabf2e7fdd0b0cbd1322f 100644 (file)
@@ -1,5 +1,5 @@
 /* Get thread information.
-   Copyright (C) 1999,2000,2001,2002,2003,2007 Free Software Foundation, Inc.
+   Copyright (C) 1999-2003,2007,2009 Free Software Foundation, Inc.
    This file is part of the GNU C Library.
    Contributed by Ulrich Drepper <drepper@redhat.com>, 1999.
 
@@ -38,6 +38,7 @@ td_thr_get_info (const td_thrhandle_t *th, td_thrinfo_t *infop)
       copy = NULL;
       tls = 0;
       cancelhandling = 0;
+      schedpolicy = SCHED_OTHER;
       schedprio = 0;
       tid = 0;
       err = DB_GET_VALUE (report_events, th->th_ta_p,
index 5ffab76a04401b680c5f104bef288af99825a6e3..524c0a63af0080fc50a3b56830ef13b1d7a808be 100644 (file)
@@ -1,5 +1,5 @@
 /* Cache handling for host lookup.
-   Copyright (C) 2004, 2005, 2006, 2007, 2008 Free Software Foundation, Inc.
+   Copyright (C) 2004-2008, 2009 Free Software Foundation, Inc.
    This file is part of the GNU C Library.
    Contributed by Ulrich Drepper <drepper@redhat.com>, 2004.
 
@@ -60,7 +60,8 @@ static const ai_response_header notfound =
 
 static void
 addhstaiX (struct database_dyn *db, int fd, request_header *req,
-          void *key, uid_t uid, struct hashentry *he, struct datahead *dh)
+          void *key, uid_t uid, struct hashentry *const he,
+          struct datahead *dh)
 {
   /* Search for the entry matching the key.  Please note that we don't
      look again in the table whether the dataset is now available.  We
@@ -172,13 +173,8 @@ addhstaiX (struct database_dyn *db, int fd, request_header *req,
          /* Now we can allocate the data structure.  If the TTL of the
             entry is reported as zero do not cache the entry at all.  */
          if (ttl != 0 && he == NULL)
-           {
-             dataset = (struct dataset *) mempool_alloc (db, total
-                                                         + req->key_len,
-                                                         IDX_result_data);
-             if (dataset == NULL)
-               ++db->head->addfailed;
-           }
+           dataset = (struct dataset *) mempool_alloc (db, total
+                                                       + req->key_len, 1);
 
          if (dataset == NULL)
            {
@@ -300,9 +296,9 @@ addhstaiX (struct database_dyn *db, int fd, request_header *req,
                }
              else
                {
-                 struct hostent *he = NULL;
+                 struct hostent *hstent = NULL;
                  int herrno;
-                 struct hostent he_mem;
+                 struct hostent hstent_mem;
                  void *addr;
                  size_t addrlen;
                  int addrfamily;
@@ -326,8 +322,8 @@ addhstaiX (struct database_dyn *db, int fd, request_header *req,
                  while (1)
                    {
                      rc = __gethostbyaddr2_r (addr, addrlen, addrfamily,
-                                              &he_mem, tmpbuf, tmpbuflen,
-                                              &he, &herrno, NULL);
+                                              &hstent_mem, tmpbuf, tmpbuflen,
+                                              &hstent, &herrno, NULL);
                      if (rc != ERANGE || herrno != NETDB_INTERNAL)
                        break;
                      tmpbuf = extend_alloca (tmpbuf, tmpbuflen,
@@ -336,8 +332,8 @@ addhstaiX (struct database_dyn *db, int fd, request_header *req,
 
                  if (rc == 0)
                    {
-                     if (he != NULL)
-                       canon = he->h_name;
+                     if (hstent != NULL)
+                       canon = hstent->h_name;
                      else
                        canon = key;
                    }
@@ -352,13 +348,8 @@ addhstaiX (struct database_dyn *db, int fd, request_header *req,
          /* Now we can allocate the data structure.  If the TTL of the
             entry is reported as zero do not cache the entry at all.  */
          if (ttl != 0 && he == NULL)
-           {
-             dataset = (struct dataset *) mempool_alloc (db, total
-                                                         + req->key_len,
-                                                         IDX_result_data);
-             if (dataset == NULL)
-               ++db->head->addfailed;
-           }
+           dataset = (struct dataset *) mempool_alloc (db, total
+                                                       + req->key_len, 1);
 
          if (dataset == NULL)
            {
@@ -436,7 +427,7 @@ addhstaiX (struct database_dyn *db, int fd, request_header *req,
                 appropriate memory and copy it.  */
              struct dataset *newp
                = (struct dataset *) mempool_alloc (db, total + req->key_len,
-                                                   IDX_result_data);
+                                                   1);
              if (__builtin_expect (newp != NULL, 1))
                {
                  /* Adjust pointer into the memory block.  */
@@ -445,8 +436,6 @@ addhstaiX (struct database_dyn *db, int fd, request_header *req,
                  dataset = memcpy (newp, dataset, total + req->key_len);
                  alloca_used = false;
                }
-             else
-               ++db->head->addfailed;
 
              /* Mark the old record as obsolete.  */
              dh->usable = false;
@@ -515,8 +504,7 @@ next_nip:
       if (fd != -1)
        TEMP_FAILURE_RETRY (send (fd, &notfound, total, MSG_NOSIGNAL));
 
-      dataset = mempool_alloc (db, sizeof (struct dataset) + req->key_len,
-                              IDX_result_data);
+      dataset = mempool_alloc (db, sizeof (struct dataset) + req->key_len, 1);
       /* If we cannot permanently store the result, so be it.  */
       if (dataset != NULL)
        {
@@ -535,8 +523,6 @@ next_nip:
          /* Copy the key data.  */
          key_copy = memcpy (dataset->strdata, key, req->key_len);
        }
-      else
-       ++db->head->addfailed;
    }
 
  out:
@@ -554,9 +540,6 @@ next_nip:
                 MS_ASYNC);
        }
 
-      /* Now get the lock to safely insert the records.  */
-      pthread_rwlock_rdlock (&db->lock);
-
       (void) cache_add (req->type, key_copy, req->key_len, &dataset->head,
                        true, db, uid, he == NULL);
 
index cd6e6b4440c63dbeec78e2fdbf85acab35c2ac5a..ab842efc29f25002ea4dc7d61b24ed9f49caf96e 100644 (file)
@@ -1,4 +1,4 @@
-/* Copyright (c) 1998, 1999, 2003-2007, 2008 Free Software Foundation, Inc.
+/* Copyright (c) 1998, 1999, 2003-2008, 2009 Free Software Foundation, Inc.
    This file is part of the GNU C Library.
    Contributed by Ulrich Drepper <drepper@cygnus.com>, 1998.
 
@@ -155,21 +155,15 @@ cache_add (int type, const void *key, size_t len, struct datahead *packet,
   unsigned long int hash = __nis_hash (key, len) % table->head->module;
   struct hashentry *newp;
 
-  newp = mempool_alloc (table, sizeof (struct hashentry), IDX_record_data);
+  newp = mempool_alloc (table, sizeof (struct hashentry), 0);
   /* If we cannot allocate memory, just do not do anything.  */
   if (newp == NULL)
     {
-      ++table->head->addfailed;
-
       /* If necessary mark the entry as unusable so that lookups will
         not use it.  */
       if (first)
        packet->usable = false;
 
-      /* Mark the in-flight memory as unused.  */
-      for (enum in_flight idx = 0; idx < IDX_record_data; ++idx)
-       mem_in_flight.block[idx].dbidx = -1;
-
       return -1;
     }
 
@@ -234,10 +228,6 @@ cache_add (int type, const void *key, size_t len, struct datahead *packet,
        pthread_cond_signal (&table->prune_cond);
     }
 
-  /* Mark the in-flight memory as unused.  */
-  for (enum in_flight idx = 0; idx < IDX_last; ++idx)
-    mem_in_flight.block[idx].dbidx = -1;
-
   return 0;
 }
 
index 7e3a406185e2535176c0ea54fb429e4e8ea75f52..3d0727f33b2a3f0667531e42f65ae3171f623859 100644 (file)
@@ -250,11 +250,6 @@ static int have_accept4;
 /* Number of times clients had to wait.  */
 unsigned long int client_queued;
 
-/* Data structure for recording in-flight memory allocation.  */
-__thread struct mem_in_flight mem_in_flight attribute_tls_model_ie;
-/* Global list of the mem_in_flight variables of all the threads.  */
-struct mem_in_flight *mem_in_flight_list;
-
 
 ssize_t
 writeall (int fd, const void *buf, size_t len)
@@ -1584,16 +1579,6 @@ nscd_run_worker (void *p)
 {
   char buf[256];
 
-  /* Initialize the memory-in-flight list.  */
-  for (enum in_flight idx = 0; idx < IDX_last; ++idx)
-    mem_in_flight.block[idx].dbidx = -1;
-  /* And queue this threads structure.  */
-  do
-    mem_in_flight.next = mem_in_flight_list;
-  while (atomic_compare_and_exchange_bool_acq (&mem_in_flight_list,
-                                              &mem_in_flight,
-                                              mem_in_flight.next) != 0);
-
   /* Initial locking.  */
   pthread_mutex_lock (&readylist_lock);
 
index c49c0e1906a1e728c5fa5b74593482adbcf59868..184d53898ca371f3ab8a90f3cecc53e855c1683c 100644 (file)
@@ -1,5 +1,5 @@
 /* Cache handling for group lookup.
-   Copyright (C) 1998-2005, 2006, 2007, 2008 Free Software Foundation, Inc.
+   Copyright (C) 1998-2008, 2009 Free Software Foundation, Inc.
    This file is part of the GNU C Library.
    Contributed by Ulrich Drepper <drepper@cygnus.com>, 1998.
 
@@ -74,7 +74,7 @@ static const gr_response_header notfound =
 static void
 cache_addgr (struct database_dyn *db, int fd, request_header *req,
             const void *key, struct group *grp, uid_t owner,
-            struct hashentry *he, struct datahead *dh, int errval)
+            struct hashentry *const he, struct datahead *dh, int errval)
 {
   ssize_t total;
   ssize_t written;
@@ -114,7 +114,7 @@ cache_addgr (struct database_dyn *db, int fd, request_header *req,
                                              MSG_NOSIGNAL));
 
          dataset = mempool_alloc (db, sizeof (struct dataset) + req->key_len,
-                                  IDX_result_data);
+                                  1);
          /* If we cannot permanently store the result, so be it.  */
          if (dataset != NULL)
            {
@@ -143,9 +143,6 @@ cache_addgr (struct database_dyn *db, int fd, request_header *req,
                         + sizeof (struct dataset) + req->key_len, MS_ASYNC);
                }
 
-             /* Now get the lock to safely insert the records.  */
-             pthread_rwlock_rdlock (&db->lock);
-
              (void) cache_add (req->type, &dataset->strdata, req->key_len,
                                &dataset->head, true, db, owner, he == NULL);
 
@@ -155,8 +152,6 @@ cache_addgr (struct database_dyn *db, int fd, request_header *req,
              if (dh != NULL)
                dh->usable = false;
            }
-         else
-           ++db->head->addfailed;
        }
     }
   else
@@ -202,12 +197,7 @@ cache_addgr (struct database_dyn *db, int fd, request_header *req,
       dataset = NULL;
 
       if (he == NULL)
-       {
-         dataset = (struct dataset *) mempool_alloc (db, total + n,
-                                                     IDX_result_data);
-         if (dataset == NULL)
-           ++db->head->addfailed;
-       }
+       dataset = (struct dataset *) mempool_alloc (db, total + n, 1);
 
       if (dataset == NULL)
        {
@@ -277,8 +267,7 @@ cache_addgr (struct database_dyn *db, int fd, request_header *req,
              /* We have to create a new record.  Just allocate
                 appropriate memory and copy it.  */
              struct dataset *newp
-               = (struct dataset *) mempool_alloc (db, total + n,
-                                                   IDX_result_data);
+               = (struct dataset *) mempool_alloc (db, total + n, 1);
              if (newp != NULL)
                {
                  /* Adjust pointers into the memory block.  */
@@ -289,8 +278,6 @@ cache_addgr (struct database_dyn *db, int fd, request_header *req,
                  dataset = memcpy (newp, dataset, total + n);
                  alloca_used = false;
                }
-             else
-               ++db->head->addfailed;
 
              /* Mark the old record as obsolete.  */
              dh->usable = false;
@@ -343,9 +330,6 @@ cache_addgr (struct database_dyn *db, int fd, request_header *req,
                     MS_ASYNC);
            }
 
-         /* Now get the lock to safely insert the records.  */
-         pthread_rwlock_rdlock (&db->lock);
-
          /* NB: in the following code we always must add the entry
             marked with FIRST first.  Otherwise we end up with
             dangling "pointers" in case a latter hash entry cannot be
index 4333917ba0231c625ca35276286aa5f0ee3f1c12..51e2273960e728359531da5b5bf327bbfc33b7cf 100644 (file)
@@ -1,5 +1,5 @@
 /* Cache handling for host lookup.
-   Copyright (C) 1998-2005, 2006, 2007, 2008 Free Software Foundation, Inc.
+   Copyright (C) 1998-2008, 2009 Free Software Foundation, Inc.
    This file is part of the GNU C Library.
    Contributed by Ulrich Drepper <drepper@cygnus.com>, 1998.
 
@@ -80,7 +80,7 @@ static const hst_response_header notfound =
 static void
 cache_addhst (struct database_dyn *db, int fd, request_header *req,
              const void *key, struct hostent *hst, uid_t owner,
-             struct hashentry *he, struct datahead *dh, int errval,
+             struct hashentry *const he, struct datahead *dh, int errval,
              int32_t ttl)
 {
   bool all_written = true;
@@ -120,7 +120,7 @@ cache_addhst (struct database_dyn *db, int fd, request_header *req,
            all_written = false;
 
          dataset = mempool_alloc (db, sizeof (struct dataset) + req->key_len,
-                                  IDX_result_data);
+                                  1);
          /* If we cannot permanently store the result, so be it.  */
          if (dataset != NULL)
            {
@@ -150,9 +150,6 @@ cache_addhst (struct database_dyn *db, int fd, request_header *req,
                         + sizeof (struct dataset) + req->key_len, MS_ASYNC);
                }
 
-             /* Now get the lock to safely insert the records.  */
-             pthread_rwlock_rdlock (&db->lock);
-
              (void) cache_add (req->type, &dataset->strdata, req->key_len,
                                &dataset->head, true, db, owner, he == NULL);
 
@@ -162,8 +159,6 @@ cache_addhst (struct database_dyn *db, int fd, request_header *req,
              if (dh != NULL)
                dh->usable = false;
            }
-         else
-           ++db->head->addfailed;
        }
     }
   else
@@ -221,13 +216,8 @@ cache_addhst (struct database_dyn *db, int fd, request_header *req,
         questionable whether it is worthwhile complicating the cache
         handling just for handling such a special case. */
       if (he == NULL && h_addr_list_cnt == 1)
-       {
-         dataset = (struct dataset *) mempool_alloc (db,
-                                                     total + req->key_len,
-                                                     IDX_result_data);
-         if (dataset == NULL)
-           ++db->head->addfailed;
-       }
+       dataset = (struct dataset *) mempool_alloc (db, total + req->key_len,
+                                                   1);
 
       if (dataset == NULL)
        {
@@ -316,7 +306,7 @@ cache_addhst (struct database_dyn *db, int fd, request_header *req,
                  struct dataset *newp
                    = (struct dataset *) mempool_alloc (db,
                                                        total + req->key_len,
-                                                       IDX_result_data);
+                                                       1);
                  if (newp != NULL)
                    {
                      /* Adjust pointers into the memory block.  */
@@ -329,8 +319,6 @@ cache_addhst (struct database_dyn *db, int fd, request_header *req,
                      dataset = memcpy (newp, dataset, total + req->key_len);
                      alloca_used = false;
                    }
-                 else
-                   ++db->head->addfailed;
                }
 
              /* Mark the old record as obsolete.  */
@@ -400,9 +388,6 @@ cache_addhst (struct database_dyn *db, int fd, request_header *req,
          addr_list_type = (hst->h_length == NS_INADDRSZ
                            ? GETHOSTBYADDR : GETHOSTBYADDRv6);
 
-         /* Now get the lock to safely insert the records.  */
-         pthread_rwlock_rdlock (&db->lock);
-
          /* NB: the following code is really complicated.  It has
             seemlingly duplicated code paths which do the same.  The
             problem is that we always must add the hash table entry
index c5693c6be534e70930418a3bac95b29918810f72..c33aaf315f7df1eb0a5bd58ea70edfa68283149f 100644 (file)
@@ -1,5 +1,5 @@
 /* Cache handling for host lookup.
-   Copyright (C) 2004, 2005, 2006, 2008 Free Software Foundation, Inc.
+   Copyright (C) 2004, 2005, 2006, 2008, 2009 Free Software Foundation, Inc.
    This file is part of the GNU C Library.
    Contributed by Ulrich Drepper <drepper@redhat.com>, 2004.
 
@@ -54,7 +54,7 @@ static const initgr_response_header notfound =
 
 static void
 addinitgroupsX (struct database_dyn *db, int fd, request_header *req,
-               void *key, uid_t uid, struct hashentry *he,
+               void *key, uid_t uid, struct hashentry *const he,
                struct datahead *dh)
 {
   /* Search for the entry matching the key.  Please note that we don't
@@ -198,7 +198,7 @@ addinitgroupsX (struct database_dyn *db, int fd, request_header *req,
                                                MSG_NOSIGNAL));
 
          dataset = mempool_alloc (db, sizeof (struct dataset) + req->key_len,
-                                  IDX_result_data);
+                                  1);
          /* If we cannot permanently store the result, so be it.  */
          if (dataset != NULL)
            {
@@ -227,9 +227,6 @@ addinitgroupsX (struct database_dyn *db, int fd, request_header *req,
                         + sizeof (struct dataset) + req->key_len, MS_ASYNC);
                }
 
-             /* Now get the lock to safely insert the records.  */
-             pthread_rwlock_rdlock (&db->lock);
-
              (void) cache_add (req->type, key_copy, req->key_len,
                                &dataset->head, true, db, uid, he == NULL);
 
@@ -239,8 +236,6 @@ addinitgroupsX (struct database_dyn *db, int fd, request_header *req,
              if (dh != NULL)
                dh->usable = false;
            }
-         else
-           ++db->head->addfailed;
        }
     }
   else
@@ -257,13 +252,8 @@ addinitgroupsX (struct database_dyn *db, int fd, request_header *req,
       dataset = NULL;
 
       if (he == NULL)
-       {
-         dataset = (struct dataset *) mempool_alloc (db,
-                                                     total + req->key_len,
-                                                     IDX_result_data);
-         if (dataset == NULL)
-           ++db->head->addfailed;
-       }
+       dataset = (struct dataset *) mempool_alloc (db, total + req->key_len,
+                                                   1);
 
       if (dataset == NULL)
        {
@@ -334,7 +324,7 @@ addinitgroupsX (struct database_dyn *db, int fd, request_header *req,
                 appropriate memory and copy it.  */
              struct dataset *newp
                = (struct dataset *) mempool_alloc (db, total + req->key_len,
-                                                   IDX_result_data);
+                                                   1);
              if (newp != NULL)
                {
                  /* Adjust pointer into the memory block.  */
@@ -343,8 +333,6 @@ addinitgroupsX (struct database_dyn *db, int fd, request_header *req,
                  dataset = memcpy (newp, dataset, total + req->key_len);
                  alloca_used = false;
                }
-             else
-               ++db->head->addfailed;
 
              /* Mark the old record as obsolete.  */
              dh->usable = false;
@@ -398,9 +386,6 @@ addinitgroupsX (struct database_dyn *db, int fd, request_header *req,
                     req->key_len, MS_ASYNC);
            }
 
-         /* Now get the lock to safely insert the records.  */
-         pthread_rwlock_rdlock (&db->lock);
-
          (void) cache_add (INITGROUPS, cp, req->key_len, &dataset->head, true,
                            db, uid, he == NULL);
 
index 7f3ea06f4a12b26298ab29eed629aece3eb2a2e6..fcea6dbd03c7ad22ce7a6c874b2e152a0afbd4ff 100644 (file)
@@ -197,32 +197,6 @@ gc (struct database_dyn *db)
     }
   assert (cnt == db->head->nentries);
 
-  /* Go through the list of in-flight memory blocks.  */
-  struct mem_in_flight *mrunp = mem_in_flight_list;
-  while (mrunp != NULL)
-    {
-      /* NB: There can be no race between this test and another thread
-        setting the field to the index we are looking for because
-        this would require the other thread to also have the memlock
-        for the database.
-
-       NB2: we do not have to look at latter blocks (higher indices) if
-       earlier blocks are not in flight.  They are always allocated in
-       sequence.  */
-      for (enum in_flight idx = IDX_result_data;
-          idx < IDX_last && mrunp->block[idx].dbidx == db - dbs; ++idx)
-       {
-         assert (mrunp->block[idx].blockoff >= 0);
-         assert (mrunp->block[idx].blocklen < db->memsize);
-         assert (mrunp->block[idx].blockoff
-                 + mrunp->block[0].blocklen <= db->memsize);
-         markrange (mark, mrunp->block[idx].blockoff,
-                    mrunp->block[idx].blocklen);
-       }
-
-      mrunp = mrunp->next;
-    }
-
   /* Sort the entries by the addresses of the referenced data.  All
      the entries pointing to the same DATAHEAD object will have the
      same key.  Stability of the sorting is unimportant.  */
@@ -540,13 +514,16 @@ gc (struct database_dyn *db)
 
 
 void *
-mempool_alloc (struct database_dyn *db, size_t len, enum in_flight idx)
+mempool_alloc (struct database_dyn *db, size_t len, int data_alloc)
 {
   /* Make sure LEN is a multiple of our maximum alignment so we can
      keep track of used memory is multiples of this alignment value.  */
   if ((len & BLOCK_ALIGN_M1) != 0)
     len += BLOCK_ALIGN - (len & BLOCK_ALIGN_M1);
 
+  if (data_alloc)
+    pthread_rwlock_rdlock (&db->lock);
+
   pthread_mutex_lock (&db->memlock);
 
   assert ((db->head->first_free & BLOCK_ALIGN_M1) == 0);
@@ -589,6 +566,9 @@ mempool_alloc (struct database_dyn *db, size_t len, enum in_flight idx)
            }
        }
 
+      if (data_alloc)
+       pthread_rwlock_unlock (&db->lock);
+
       if (! db->last_alloc_failed)
        {
          dbg_log (_("no more memory for database '%s'"), dbnames[db - dbs]);
@@ -596,17 +576,13 @@ mempool_alloc (struct database_dyn *db, size_t len, enum in_flight idx)
          db->last_alloc_failed = true;
        }
 
+      ++db->head->addfailed;
+
       /* No luck.  */
       res = NULL;
     }
   else
     {
-      /* Remember that we have allocated this memory.  */
-      assert (idx >= 0 && idx < IDX_last);
-      mem_in_flight.block[idx].dbidx = db - dbs;
-      mem_in_flight.block[idx].blocklen = len;
-      mem_in_flight.block[idx].blockoff = db->head->first_free;
-
       db->head->first_free += len;
 
       db->last_alloc_failed = false;
index 1129cf8480fbcd3234e8c138e443b21849ed686f..3265ea8973edc31056531bd18fe8d4d06dde331e 100644 (file)
@@ -91,6 +91,9 @@ static int write_pid (const char *file);
 static void print_version (FILE *stream, struct argp_state *state);
 void (*argp_program_version_hook) (FILE *, struct argp_state *) = print_version;
 
+/* Function to print some extra text in the help message.  */
+static char *more_help (int key, const char *text, void *input);
+
 /* Definitions of arguments for argp functions.  */
 static const struct argp_option options[] =
 {
@@ -117,7 +120,7 @@ static error_t parse_opt (int key, char *arg, struct argp_state *state);
 /* Data structure to communicate with argp functions.  */
 static struct argp argp =
 {
-  options, parse_opt, NULL, doc,
+  options, parse_opt, NULL, doc, NULL, more_help
 };
 
 /* True if only statistics are requested.  */
@@ -401,6 +404,23 @@ parse_opt (int key, char *arg, struct argp_state *state)
   return 0;
 }
 
+/* Print bug-reporting information in the help message.  */
+static char *
+more_help (int key, const char *text, void *input)
+{
+  switch (key)
+    {
+    case ARGP_KEY_HELP_EXTRA:
+      /* We print some extra information.  */
+      return strdup (gettext ("\
+For bug reporting instructions, please see:\n\
+<http://www.gnu.org/software/libc/bugs.html>.\n"));
+    default:
+      break;
+    }
+  return (char *) text;
+}
+
 /* Print the version information.  */
 static void
 print_version (FILE *stream, struct argp_state *state)
index 2d77bab9891b401bfd79a50b89272b9f8a8f305c..3279b8543266307e7f1f4c5dbf50a0d0dee2b767 100644 (file)
@@ -1,5 +1,4 @@
-/* Copyright (c) 1998, 1999, 2000, 2001, 2003, 2004, 2005, 2006, 2007, 2008
-   Free Software Foundation, Inc.
+/* Copyright (c) 1998-2001, 2003-2008, 2009 Free Software Foundation, Inc.
    This file is part of the GNU C Library.
    Contributed by Thorsten Kukuk <kukuk@suse.de>, 1998.
 
@@ -184,31 +183,6 @@ extern uid_t old_uid;
 extern gid_t old_gid;
 
 
-/* Memory allocation in flight.  Each thread can have a limited number
-   of allocation in flight.  No need to create dynamic data
-   structures.  We use fixed indices.  */
-enum in_flight
-  {
-    IDX_result_data = 0,
-    /* Keep the IDX_record_data entry last at all times.  */
-    IDX_record_data = 1,
-    IDX_last
-  };
-extern __thread struct mem_in_flight
-{
-  struct
-  {
-    int dbidx;
-    nscd_ssize_t blocklen;
-    nscd_ssize_t blockoff;
-  } block[IDX_last];
-
-  struct mem_in_flight *next;
-} mem_in_flight attribute_tls_model_ie;
-/* Global list of the mem_in_flight variables of all the threads.  */
-extern struct mem_in_flight *mem_in_flight_list;
-
-
 /* Prototypes for global functions.  */
 
 /* nscd.c */
@@ -301,7 +275,7 @@ extern void readdservbyport (struct database_dyn *db, struct hashentry *he,
 
 /* mem.c */
 extern void *mempool_alloc (struct database_dyn *db, size_t len,
-                           enum in_flight idx);
+                           int data_alloc);
 extern void gc (struct database_dyn *db);
 
 
index 782b101371d017335fae237f9ac56ea887567574..2338e7e1e089c1e62052a48bce0d53efd77c60c8 100644 (file)
@@ -1,5 +1,5 @@
 /* Cache handling for passwd lookup.
-   Copyright (C) 1998-2005, 2006, 2007, 2008 Free Software Foundation, Inc.
+   Copyright (C) 1998-2008, 2009 Free Software Foundation, Inc.
    This file is part of the GNU C Library.
    Contributed by Ulrich Drepper <drepper@cygnus.com>, 1998.
 
@@ -80,7 +80,7 @@ static const pw_response_header notfound =
 static void
 cache_addpw (struct database_dyn *db, int fd, request_header *req,
             const void *key, struct passwd *pwd, uid_t owner,
-            struct hashentry *he, struct datahead *dh, int errval)
+            struct hashentry *const he, struct datahead *dh, int errval)
 {
   ssize_t total;
   ssize_t written;
@@ -121,7 +121,7 @@ cache_addpw (struct database_dyn *db, int fd, request_header *req,
                                                MSG_NOSIGNAL));
 
          dataset = mempool_alloc (db, sizeof (struct dataset) + req->key_len,
-                                  IDX_result_data);
+                                  1);
          /* If we cannot permanently store the result, so be it.  */
          if (dataset != NULL)
            {
@@ -150,9 +150,6 @@ cache_addpw (struct database_dyn *db, int fd, request_header *req,
                         + sizeof (struct dataset) + req->key_len, MS_ASYNC);
                }
 
-             /* Now get the lock to safely insert the records.  */
-             pthread_rwlock_rdlock (&db->lock);
-
              (void) cache_add (req->type, key_copy, req->key_len,
                                &dataset->head, true, db, owner, he == NULL);
 
@@ -162,8 +159,6 @@ cache_addpw (struct database_dyn *db, int fd, request_header *req,
              if (dh != NULL)
                dh->usable = false;
            }
-         else
-           ++db->head->addfailed;
        }
     }
   else
@@ -197,12 +192,7 @@ cache_addpw (struct database_dyn *db, int fd, request_header *req,
       dataset = NULL;
 
       if (he == NULL)
-       {
-         dataset = (struct dataset *) mempool_alloc (db, total + n,
-                                                     IDX_result_data);
-         if (dataset == NULL)
-           ++db->head->addfailed;
-       }
+       dataset = (struct dataset *) mempool_alloc (db, total + n, 1);
 
       if (dataset == NULL)
        {
@@ -257,19 +247,10 @@ cache_addpw (struct database_dyn *db, int fd, request_header *req,
        {
          assert (fd == -1);
 
-#if 0
-         if (dataset->head.datasize == dh->allocsize
+         if (dataset->head.allocsize == dh->allocsize
              && dataset->head.recsize == dh->recsize
              && memcmp (&dataset->resp, dh->data,
                         dh->allocsize - offsetof (struct dataset, resp)) == 0)
-#else
-         if (dataset->head.allocsize != dh->allocsize)
-           goto nnn;
-         if (dataset->head.recsize != dh->recsize)
-           goto nnn;
-         if(memcmp (&dataset->resp, dh->data,
-                        dh->allocsize - offsetof (struct dataset, resp)) == 0)
-#endif
            {
              /* The data has not changed.  We will just bump the
                 timeout value.  Note that the new record has been
@@ -279,12 +260,10 @@ cache_addpw (struct database_dyn *db, int fd, request_header *req,
            }
          else
            {
- nnn:;
              /* We have to create a new record.  Just allocate
                 appropriate memory and copy it.  */
              struct dataset *newp
-               = (struct dataset *) mempool_alloc (db, total + n,
-                                                   IDX_result_data);
+               = (struct dataset *) mempool_alloc (db, total + n, 1);
              if (newp != NULL)
                {
                  /* Adjust pointer into the memory block.  */
@@ -294,8 +273,6 @@ cache_addpw (struct database_dyn *db, int fd, request_header *req,
                  dataset = memcpy (newp, dataset, total + n);
                  alloca_used = false;
                }
-             else
-               ++db->head->addfailed;
 
              /* Mark the old record as obsolete.  */
              dh->usable = false;
@@ -349,9 +326,6 @@ cache_addpw (struct database_dyn *db, int fd, request_header *req,
                     MS_ASYNC);
            }
 
-         /* Now get the lock to safely insert the records.  */
-         pthread_rwlock_rdlock (&db->lock);
-
          /* NB: in the following code we always must add the entry
             marked with FIRST first.  Otherwise we end up with
             dangling "pointers" in case a latter hash entry cannot be
index 44f12a3c69bb90d9eb2a6867fc32198d22dca2df..dc98d3005ade8d4dae0ab95c26fd544f86d73f6f 100644 (file)
@@ -1,5 +1,5 @@
 /* Cache handling for services lookup.
-   Copyright (C) 2007, 2008 Free Software Foundation, Inc.
+   Copyright (C) 2007, 2008, 2009 Free Software Foundation, Inc.
    This file is part of the GNU C Library.
    Contributed by Ulrich Drepper <drepper@drepper.com>, 2007.
 
@@ -64,7 +64,7 @@ static const serv_response_header notfound =
 static void
 cache_addserv (struct database_dyn *db, int fd, request_header *req,
               const void *key, struct servent *serv, uid_t owner,
-              struct hashentry *he, struct datahead *dh, int errval)
+              struct hashentry *const he, struct datahead *dh, int errval)
 {
   ssize_t total;
   ssize_t written;
@@ -104,7 +104,7 @@ cache_addserv (struct database_dyn *db, int fd, request_header *req,
                                              MSG_NOSIGNAL));
 
          dataset = mempool_alloc (db, sizeof (struct dataset) + req->key_len,
-                                  IDX_result_data);
+                                  1);
          /* If we cannot permanently store the result, so be it.  */
          if (dataset != NULL)
            {
@@ -133,9 +133,6 @@ cache_addserv (struct database_dyn *db, int fd, request_header *req,
                         + sizeof (struct dataset) + req->key_len, MS_ASYNC);
                }
 
-             /* Now get the lock to safely insert the records.  */
-             pthread_rwlock_rdlock (&db->lock);
-
              (void) cache_add (req->type, &dataset->strdata, req->key_len,
                                &dataset->head, true, db, owner, he == NULL);
 
@@ -145,8 +142,6 @@ cache_addserv (struct database_dyn *db, int fd, request_header *req,
              if (dh != NULL)
                dh->usable = false;
            }
-         else
-           ++db->head->addfailed;
        }
     }
   else
@@ -187,13 +182,8 @@ cache_addserv (struct database_dyn *db, int fd, request_header *req,
       dataset = NULL;
 
       if (he == NULL)
-       {
-         dataset = (struct dataset *) mempool_alloc (db,
-                                                     total + req->key_len,
-                                                     IDX_result_data);
-         if (dataset == NULL)
-           ++db->head->addfailed;
-       }
+       dataset = (struct dataset *) mempool_alloc (db, total + req->key_len,
+                                                   1);
 
       if (dataset == NULL)
        {
@@ -262,7 +252,7 @@ cache_addserv (struct database_dyn *db, int fd, request_header *req,
                 appropriate memory and copy it.  */
              struct dataset *newp
                = (struct dataset *) mempool_alloc (db, total + req->key_len,
-                                                   IDX_result_data);
+                                                   1);
              if (newp != NULL)
                {
                  /* Adjust pointers into the memory block.  */
@@ -273,8 +263,6 @@ cache_addserv (struct database_dyn *db, int fd, request_header *req,
                  dataset = memcpy (newp, dataset, total + req->key_len);
                  alloca_used = false;
                }
-             else
-               ++db->head->addfailed;
 
              /* Mark the old record as obsolete.  */
              dh->usable = false;
@@ -327,9 +315,6 @@ cache_addserv (struct database_dyn *db, int fd, request_header *req,
                     + total + req->key_len, MS_ASYNC);
            }
 
-         /* Now get the lock to safely insert the records.  */
-         pthread_rwlock_rdlock (&db->lock);
-
          (void) cache_add (req->type, key_copy, req->key_len,
                            &dataset->head, true, db, owner, he == NULL);
 
index 7a3ad5217528199dcbdff2614eb5507370d42fef..ea5608f1e2783edecef56d9b8809f5f8ad20b84b 100644 (file)
@@ -59,9 +59,7 @@ static const struct argp_option args_options[] =
   };
 
 /* Short description of program.  */
-static const char doc[] = N_("Get entries from administrative database.\v\
-For bug reporting instructions, please see:\n\
-<http://www.gnu.org/software/libc/bugs.html>.\n");
+static const char doc[] = N_("Get entries from administrative database.");
 
 /* Prototype for option handler.  */
 static error_t parse_option (int key, char *arg, struct argp_state *state);
@@ -839,6 +837,12 @@ more_help (int key, const char *text, void *input)
              col += len + 1;
            }
 
+         fputs ("\n\n", fp);
+
+         fprintf (fp, gettext ("\
+For bug reporting instructions, please see:\n\
+<http://www.gnu.org/software/libc/bugs.html>.\n"));
+
          if (fclose (fp) == 0)
            return doc;
        }
index 11f92adee5d3057db65337999d9e202bf362660f..4ac253e3d1bd120c3a3d5fdc7eaa38be8b9d814f 100644 (file)
@@ -1,4 +1,4 @@
-# Copyright (C) 1996,1997,1998,1999,2001,2002,2006,2007
+# Copyright (C) 1996-1999,2001,2002,2006,2007,2009
 #      Free Software Foundation, Inc.
 # This file is part of the GNU C Library.
 
@@ -64,6 +64,7 @@ libc.pot: header.pot libc.pot.files
            $< > $@.new
        cd ..; $(XGETTEXT) --keyword=_ --keyword=N_ \
                           --add-comments=TRANS --flag=error:3:c-format \
+                          --flag=f_print:2:c-format \
                           --sort-by-file --omit-header -E -n -d - \
                           -f po/$(word 2,$^) >> po/$@.new
        mv -f $@.new $@
index a4ae24fd1f96f70c1a40546333fbb810f8453675..71d425fc56e95efa10d09609a8c5b38584d05d01 100644 (file)
@@ -5,8 +5,8 @@
 #, fuzzy
 msgid ""
 msgstr ""
-"Project-Id-Version: libc 2.7.90\n"
-"POT-Creation-Date: 2008-04-09 08:07-0700\n"
+"Project-Id-Version: libc 2.9.90\n"
+"POT-Creation-Date: 2009-02-06 12:40-0800\n"
 "PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n"
 "Last-Translator: FULL NAME <EMAIL@ADDRESS>\n"
 "Language-Team: LANGUAGE <LL@li.org>\n"
@@ -100,7 +100,7 @@ msgstr ""
 msgid "%s%s%s:%u: %s%sAssertion `%s' failed.\n"
 msgstr ""
 
-#: catgets/gencat.c:110 catgets/gencat.c:114 nscd/nscd.c:97 nss/makedb.c:61
+#: catgets/gencat.c:110 catgets/gencat.c:114 nscd/nscd.c:100 nss/makedb.c:61
 msgid "NAME"
 msgstr ""
 
@@ -129,20 +129,27 @@ msgid ""
 "[OUTPUT-FILE [INPUT-FILE]...]"
 msgstr ""
 
-#: catgets/gencat.c:232 debug/pcprofiledump.c:204 iconv/iconv_prog.c:408
-#: iconv/iconvconfig.c:380 locale/programs/localedef.c:371
-#: login/programs/pt_chown.c:88 malloc/memusagestat.c:526 nss/makedb.c:231
+#: catgets/gencat.c:232 debug/pcprofiledump.c:208 debug/xtrace.sh:58
+#: elf/ldconfig.c:302 elf/ldd.bash.in:56 elf/sln.c:86 elf/sprof.c:360
+#: iconv/iconv_prog.c:408 iconv/iconvconfig.c:380 locale/programs/locale.c:278
+#: locale/programs/localedef.c:371 login/programs/pt_chown.c:88
+#: malloc/memusage.sh:65 malloc/memusagestat.c:533 nscd/nscd.c:415
+#: nss/getent.c:842 nss/makedb.c:231 posix/getconf.c:1030
+#: sunrpc/rpc_main.c:1494 sunrpc/rpcinfo.c:699
+#: sysdeps/unix/sysv/linux/lddlibc4.c:62
+#, c-format
 msgid ""
 "For bug reporting instructions, please see:\n"
 "<http://www.gnu.org/software/libc/bugs.html>.\n"
 msgstr ""
 
-#: 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:423
-#: iconv/iconvconfig.c:395 locale/programs/locale.c:275
+#: catgets/gencat.c:246 debug/pcprofiledump.c:222 debug/xtrace.sh:66
+#: elf/ldconfig.c:316 elf/ldd.bash.in:39 elf/sprof.c:375
+#: iconv/iconv_prog.c:423 iconv/iconvconfig.c:395 locale/programs/locale.c:293
 #: 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
+#: malloc/memusage.sh:73 malloc/memusagestat.c:551 nscd/nscd.c:429
+#: nss/getent.c:81 nss/makedb.c:245 posix/getconf.c:1012
+#: sysdeps/unix/sysv/linux/lddlibc4.c:69
 #, c-format
 msgid ""
 "Copyright (C) %s Free Software Foundation, Inc.\n"
@@ -150,10 +157,12 @@ msgid ""
 "warranty; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.\n"
 msgstr ""
 
-#: catgets/gencat.c:251 debug/xtrace.sh:68 elf/ldconfig.c:301 elf/sprof.c:361
-#: iconv/iconv_prog.c:428 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
+#: catgets/gencat.c:251 debug/pcprofiledump.c:227 debug/xtrace.sh:70
+#: elf/ldconfig.c:321 elf/sprof.c:381 iconv/iconv_prog.c:428
+#: iconv/iconvconfig.c:400 locale/programs/locale.c:298
+#: locale/programs/localedef.c:392 malloc/memusage.sh:77
+#: malloc/memusagestat.c:556 nscd/nscd.c:434 nss/getent.c:86 nss/makedb.c:250
+#: posix/getconf.c:1017
 #, c-format
 msgid "Written by %s.\n"
 msgstr ""
@@ -254,17 +263,17 @@ msgstr ""
 msgid "[FILE]"
 msgstr ""
 
-#: debug/pcprofiledump.c:104
+#: debug/pcprofiledump.c:108
 #, c-format
 msgid "cannot open input file"
 msgstr ""
 
-#: debug/pcprofiledump.c:111
+#: debug/pcprofiledump.c:115
 #, c-format
 msgid "cannot read header"
 msgstr ""
 
-#: debug/pcprofiledump.c:175
+#: debug/pcprofiledump.c:179
 #, c-format
 msgid "invalid pointer size"
 msgstr ""
@@ -296,24 +305,22 @@ msgid ""
 "corresponding\n"
 "short options.\n"
 "\n"
-"For bug reporting instructions, please see:\n"
-"<http://www.gnu.org/software/libc/bugs.html>.\\n"
 msgstr ""
 
-#: debug/xtrace.sh:125
+#: debug/xtrace.sh:127
 msgid "xtrace: unrecognized option \\`$1'\\n"
 msgstr ""
 
-#: debug/xtrace.sh:138
+#: debug/xtrace.sh:140
 msgid "No program name given\\n"
 msgstr ""
 
-#: debug/xtrace.sh:146
+#: debug/xtrace.sh:148
 #, sh-format
 msgid "executable \\`$program' not found\\n"
 msgstr ""
 
-#: debug/xtrace.sh:150
+#: debug/xtrace.sh:152
 #, sh-format
 msgid "\\`$program' is no executable\\n"
 msgstr ""
@@ -334,7 +341,7 @@ msgstr ""
 msgid "invalid mode"
 msgstr ""
 
-#: dlfcn/dlopen.c:64
+#: dlfcn/dlopen.c:65
 msgid "invalid mode parameter"
 msgstr ""
 
@@ -351,7 +358,7 @@ msgstr ""
 msgid ", OS ABI: %s %d.%d.%d"
 msgstr ""
 
-#: elf/cache.c:134 elf/ldconfig.c:1269
+#: elf/cache.c:134 elf/ldconfig.c:1289
 #, c-format
 msgid "Can't open cache file %s\n"
 msgstr ""
@@ -470,11 +477,11 @@ msgstr ""
 msgid "cannot open zero fill device"
 msgstr ""
 
-#: elf/dl-load.c:979 elf/dl-load.c:2224
+#: elf/dl-load.c:979 elf/dl-load.c:2215
 msgid "cannot create shared object descriptor"
 msgstr ""
 
-#: elf/dl-load.c:998 elf/dl-load.c:1656 elf/dl-load.c:1748
+#: elf/dl-load.c:998 elf/dl-load.c:1647 elf/dl-load.c:1739
 msgid "cannot read file data"
 msgstr ""
 
@@ -538,63 +545,59 @@ msgstr ""
 msgid "cannot close file descriptor"
 msgstr ""
 
-#: elf/dl-load.c:1478
-msgid "cannot create searchlist"
-msgstr ""
-
-#: elf/dl-load.c:1656
+#: elf/dl-load.c:1647
 msgid "file too short"
 msgstr ""
 
-#: elf/dl-load.c:1685
+#: elf/dl-load.c:1676
 msgid "invalid ELF header"
 msgstr ""
 
-#: elf/dl-load.c:1697
+#: elf/dl-load.c:1688
 msgid "ELF file data encoding not big-endian"
 msgstr ""
 
-#: elf/dl-load.c:1699
+#: elf/dl-load.c:1690
 msgid "ELF file data encoding not little-endian"
 msgstr ""
 
-#: elf/dl-load.c:1703
+#: elf/dl-load.c:1694
 msgid "ELF file version ident does not match current one"
 msgstr ""
 
-#: elf/dl-load.c:1707
+#: elf/dl-load.c:1698
 msgid "ELF file OS ABI invalid"
 msgstr ""
 
-#: elf/dl-load.c:1709
+#: elf/dl-load.c:1700
 msgid "ELF file ABI version invalid"
 msgstr ""
 
-#: elf/dl-load.c:1712
+#: elf/dl-load.c:1703
 msgid "internal error"
 msgstr ""
 
-#: elf/dl-load.c:1719
+#: elf/dl-load.c:1710
 msgid "ELF file version does not match current one"
 msgstr ""
 
-#: elf/dl-load.c:1727
+#: elf/dl-load.c:1718
 msgid "only ET_DYN and ET_EXEC can be loaded"
 msgstr ""
 
-#: elf/dl-load.c:1733
+#: elf/dl-load.c:1724
 msgid "ELF file's phentsize not the expected size"
 msgstr ""
 
-#: elf/dl-load.c:2240
+#: elf/dl-load.c:2231
 msgid "wrong ELF class: ELFCLASS64"
 msgstr ""
 
-#: elf/dl-load.c:2241
+#: elf/dl-load.c:2232
 msgid "wrong ELF class: ELFCLASS32"
 msgstr ""
 
-#: elf/dl-load.c:2244
+#: elf/dl-load.c:2235
 msgid "cannot open shared object file"
 msgstr ""
 
@@ -626,29 +629,29 @@ msgstr ""
 msgid "invalid target namespace in dlmopen()"
 msgstr ""
 
-#: elf/dl-reloc.c:56
+#: elf/dl-reloc.c:121
 msgid "cannot allocate memory in static TLS block"
 msgstr ""
 
-#: elf/dl-reloc.c:198
+#: elf/dl-reloc.c:211
 msgid "cannot make segment writable for relocation"
 msgstr ""
 
-#: elf/dl-reloc.c:281
+#: elf/dl-reloc.c:277
 #, c-format
 msgid "%s: no PLTREL found in object %s\n"
 msgstr ""
 
-#: elf/dl-reloc.c:292
+#: elf/dl-reloc.c:288
 #, c-format
 msgid "%s: out of memory to store relocation results for %s\n"
 msgstr ""
 
-#: elf/dl-reloc.c:308
+#: elf/dl-reloc.c:304
 msgid "cannot restore segment prot after reloc"
 msgstr ""
 
-#: elf/dl-reloc.c:333
+#: elf/dl-reloc.c:329
 msgid "cannot apply additional memory protection after relocation"
 msgstr ""
 
@@ -656,11 +659,11 @@ msgstr ""
 msgid "RTLD_NEXT used in code not dynamically loaded"
 msgstr ""
 
-#: elf/dl-sysdep.c:475 elf/dl-sysdep.c:487
+#: elf/dl-sysdep.c:481 elf/dl-sysdep.c:493
 msgid "cannot create capability list"
 msgstr ""
 
-#: elf/dl-tls.c:848
+#: elf/dl-tls.c:864
 msgid "cannot create TLS data structures"
 msgstr ""
 
@@ -668,222 +671,222 @@ msgstr ""
 msgid "cannot allocate version reference table"
 msgstr ""
 
-#: elf/ldconfig.c:138
+#: elf/ldconfig.c:141
 msgid "Print cache"
 msgstr ""
 
-#: elf/ldconfig.c:139
+#: elf/ldconfig.c:142
 msgid "Generate verbose messages"
 msgstr ""
 
-#: elf/ldconfig.c:140
+#: elf/ldconfig.c:143
 msgid "Don't build cache"
 msgstr ""
 
-#: elf/ldconfig.c:141
+#: elf/ldconfig.c:144
 msgid "Don't generate links"
 msgstr ""
 
-#: elf/ldconfig.c:142
+#: elf/ldconfig.c:145
 msgid "Change to and use ROOT as root directory"
 msgstr ""
 
-#: elf/ldconfig.c:142
+#: elf/ldconfig.c:145
 msgid "ROOT"
 msgstr ""
 
-#: elf/ldconfig.c:143
+#: elf/ldconfig.c:146
 msgid "CACHE"
 msgstr ""
 
-#: elf/ldconfig.c:143
+#: elf/ldconfig.c:146
 msgid "Use CACHE as cache file"
 msgstr ""
 
-#: elf/ldconfig.c:144
+#: elf/ldconfig.c:147
 msgid "CONF"
 msgstr ""
 
-#: elf/ldconfig.c:144
+#: elf/ldconfig.c:147
 msgid "Use CONF as configuration file"
 msgstr ""
 
-#: elf/ldconfig.c:145
+#: elf/ldconfig.c:148
 msgid ""
 "Only process directories specified on the command line.  Don't build cache."
 msgstr ""
 
-#: elf/ldconfig.c:146
+#: elf/ldconfig.c:149
 msgid "Manually link individual libraries."
 msgstr ""
 
-#: elf/ldconfig.c:147
+#: elf/ldconfig.c:150
 msgid "FORMAT"
 msgstr ""
 
-#: elf/ldconfig.c:147
+#: elf/ldconfig.c:150
 msgid "Format to use: new, old or compat (default)"
 msgstr ""
 
-#: elf/ldconfig.c:148
+#: elf/ldconfig.c:151
 msgid "Ignore auxiliary cache file"
 msgstr ""
 
-#: elf/ldconfig.c:156
+#: elf/ldconfig.c:159
 msgid "Configure Dynamic Linker Run Time Bindings."
 msgstr ""
 
-#: elf/ldconfig.c:319
+#: elf/ldconfig.c:339
 #, c-format
 msgid "Path `%s' given more than once"
 msgstr ""
 
-#: elf/ldconfig.c:359
+#: elf/ldconfig.c:379
 #, c-format
 msgid "%s is not a known library type"
 msgstr ""
 
-#: elf/ldconfig.c:384
+#: elf/ldconfig.c:404
 #, c-format
 msgid "Can't stat %s"
 msgstr ""
 
-#: elf/ldconfig.c:458
+#: elf/ldconfig.c:478
 #, c-format
 msgid "Can't stat %s\n"
 msgstr ""
 
-#: elf/ldconfig.c:468
+#: elf/ldconfig.c:488
 #, c-format
 msgid "%s is not a symbolic link\n"
 msgstr ""
 
-#: elf/ldconfig.c:487
+#: elf/ldconfig.c:507
 #, c-format
 msgid "Can't unlink %s"
 msgstr ""
 
-#: elf/ldconfig.c:493
+#: elf/ldconfig.c:513
 #, c-format
 msgid "Can't link %s to %s"
 msgstr ""
 
-#: elf/ldconfig.c:499
+#: elf/ldconfig.c:519
 msgid " (changed)\n"
 msgstr ""
 
-#: elf/ldconfig.c:501
+#: elf/ldconfig.c:521
 msgid " (SKIPPED)\n"
 msgstr ""
 
-#: elf/ldconfig.c:556
+#: elf/ldconfig.c:576
 #, c-format
 msgid "Can't find %s"
 msgstr ""
 
-#: elf/ldconfig.c:572 elf/ldconfig.c:745 elf/ldconfig.c:793 elf/ldconfig.c:827
+#: elf/ldconfig.c:592 elf/ldconfig.c:765 elf/ldconfig.c:813 elf/ldconfig.c:847
 #, c-format
 msgid "Cannot lstat %s"
 msgstr ""
 
-#: elf/ldconfig.c:579
+#: elf/ldconfig.c:599
 #, c-format
 msgid "Ignored file %s since it is not a regular file."
 msgstr ""
 
-#: elf/ldconfig.c:588
+#: elf/ldconfig.c:608
 #, c-format
 msgid "No link created since soname could not be found for %s"
 msgstr ""
 
-#: elf/ldconfig.c:671
+#: elf/ldconfig.c:691
 #, c-format
 msgid "Can't open directory %s"
 msgstr ""
 
-#: elf/ldconfig.c:759
+#: elf/ldconfig.c:779
 #, c-format
 msgid "Cannot stat %s"
 msgstr ""
 
-#: elf/ldconfig.c:814 elf/readlib.c:91
+#: elf/ldconfig.c:834 elf/readlib.c:91
 #, c-format
 msgid "Input file %s not found.\n"
 msgstr ""
 
-#: elf/ldconfig.c:888
+#: elf/ldconfig.c:908
 #, c-format
 msgid "libc5 library %s in wrong directory"
 msgstr ""
 
-#: elf/ldconfig.c:891
+#: elf/ldconfig.c:911
 #, c-format
 msgid "libc6 library %s in wrong directory"
 msgstr ""
 
-#: elf/ldconfig.c:894
+#: elf/ldconfig.c:914
 #, c-format
 msgid "libc4 library %s in wrong directory"
 msgstr ""
 
-#: elf/ldconfig.c:922
+#: elf/ldconfig.c:942
 #, c-format
 msgid ""
 "libraries %s and %s in directory %s have same soname but different type."
 msgstr ""
 
-#: elf/ldconfig.c:1031
+#: elf/ldconfig.c:1051
 #, c-format
 msgid "Can't open configuration file %s"
 msgstr ""
 
-#: elf/ldconfig.c:1095
+#: elf/ldconfig.c:1115
 #, c-format
 msgid "%s:%u: bad syntax in hwcap line"
 msgstr ""
 
-#: elf/ldconfig.c:1101
+#: elf/ldconfig.c:1121
 #, c-format
 msgid "%s:%u: hwcap index %lu above maximum %u"
 msgstr ""
 
-#: elf/ldconfig.c:1108 elf/ldconfig.c:1116
+#: elf/ldconfig.c:1128 elf/ldconfig.c:1136
 #, c-format
 msgid "%s:%u: hwcap index %lu already defined as %s"
 msgstr ""
 
-#: elf/ldconfig.c:1119
+#: elf/ldconfig.c:1139
 #, c-format
 msgid "%s:%u: duplicate hwcap %lu %s"
 msgstr ""
 
-#: elf/ldconfig.c:1141
+#: elf/ldconfig.c:1161
 #, c-format
 msgid "need absolute file name for configuration file when using -r"
 msgstr ""
 
-#: 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
+#: elf/ldconfig.c:1168 locale/programs/xmalloc.c:70 malloc/obstack.c:434
+#: malloc/obstack.c:436 posix/getconf.c:985 posix/getconf.c:1177
 #, c-format
 msgid "memory exhausted"
 msgstr ""
 
-#: elf/ldconfig.c:1178
+#: elf/ldconfig.c:1198
 #, c-format
 msgid "%s:%u: cannot read directory %s"
 msgstr ""
 
-#: elf/ldconfig.c:1222
+#: elf/ldconfig.c:1242
 #, c-format
 msgid "relative path `%s' used to build cache"
 msgstr ""
 
-#: elf/ldconfig.c:1248
+#: elf/ldconfig.c:1268
 #, c-format
 msgid "Can't chdir to /"
 msgstr ""
 
-#: elf/ldconfig.c:1290
+#: elf/ldconfig.c:1310
 #, c-format
 msgid "Can't open cache file directory %s\n"
 msgstr ""
@@ -901,50 +904,48 @@ msgid ""
 "  -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 ""
 
-#: elf/ldd.bash.in:80
+#: elf/ldd.bash.in:82
 msgid "ldd: option \\`$1' is ambiguous"
 msgstr ""
 
-#: elf/ldd.bash.in:87
+#: elf/ldd.bash.in:89
 msgid "unrecognized option"
 msgstr ""
 
-#: elf/ldd.bash.in:88 elf/ldd.bash.in:126
+#: elf/ldd.bash.in:90 elf/ldd.bash.in:128
 msgid "Try \\`ldd --help' for more information."
 msgstr ""
 
-#: elf/ldd.bash.in:125
+#: elf/ldd.bash.in:127
 msgid "missing file arguments"
 msgstr ""
 
 #. 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
+#: elf/ldd.bash.in:150 sysdeps/gnu/errlist.c:36
 msgid "No such file or directory"
 msgstr ""
 
-#: elf/ldd.bash.in:151 inet/rcmd.c:483
+#: elf/ldd.bash.in:153 inet/rcmd.c:483
 msgid "not regular file"
 msgstr ""
 
-#: elf/ldd.bash.in:154
+#: elf/ldd.bash.in:156
 msgid "warning: you do not have execution permission for"
 msgstr ""
 
-#: elf/ldd.bash.in:183
+#: elf/ldd.bash.in:185
 msgid "\tnot a dynamic executable"
 msgstr ""
 
-#: elf/ldd.bash.in:191
+#: elf/ldd.bash.in:193
 msgid "exited with unknown exit code"
 msgstr ""
 
-#: elf/ldd.bash.in:196
+#: elf/ldd.bash.in:198
 msgid "error: you do not have read permission for"
 msgstr ""
 
@@ -1003,6 +1004,43 @@ msgstr ""
 msgid "%s is not an ELF file - it has the wrong magic bytes at the start.\n"
 msgstr ""
 
+#: elf/sln.c:85
+#, c-format
+msgid ""
+"Usage: sln src dest|file\n"
+"\n"
+msgstr ""
+
+#: elf/sln.c:110
+#, c-format
+msgid "%s: file open error: %m\n"
+msgstr ""
+
+#: elf/sln.c:147
+#, c-format
+msgid "No target in line %d\n"
+msgstr ""
+
+#: elf/sln.c:179
+#, c-format
+msgid "%s: destination must not be a directory\n"
+msgstr ""
+
+#: elf/sln.c:185
+#, c-format
+msgid "%s: failed to remove the old destination\n"
+msgstr ""
+
+#: elf/sln.c:193
+#, c-format
+msgid "%s: invalid destination: %s\n"
+msgstr ""
+
+#: elf/sln.c:208 elf/sln.c:217
+#, c-format
+msgid "Invalid link from \"%s\" to \"%s\": %s\n"
+msgstr ""
+
 #: elf/sprof.c:77
 msgid "Output selection:"
 msgstr ""
@@ -1020,102 +1058,99 @@ msgid "generate call graph"
 msgstr ""
 
 #: 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"
+msgid "Read and display shared object profiling data."
 msgstr ""
 
 #: elf/sprof.c:94
 msgid "SHOBJ [PROFDATA]"
 msgstr ""
 
-#: elf/sprof.c:400
+#: elf/sprof.c:420
 #, c-format
 msgid "failed to load shared object `%s'"
 msgstr ""
 
-#: elf/sprof.c:409
+#: elf/sprof.c:429
 #, c-format
 msgid "cannot create internal descriptors"
 msgstr ""
 
-#: elf/sprof.c:528
+#: elf/sprof.c:548
 #, c-format
 msgid "Reopening shared object `%s' failed"
 msgstr ""
 
-#: elf/sprof.c:535 elf/sprof.c:629
+#: elf/sprof.c:555 elf/sprof.c:649
 #, c-format
 msgid "reading of section headers failed"
 msgstr ""
 
-#: elf/sprof.c:543 elf/sprof.c:637
+#: elf/sprof.c:563 elf/sprof.c:657
 #, c-format
 msgid "reading of section header string table failed"
 msgstr ""
 
-#: elf/sprof.c:569
+#: elf/sprof.c:589
 #, c-format
 msgid "*** Cannot read debuginfo file name: %m\n"
 msgstr ""
 
-#: elf/sprof.c:589
+#: elf/sprof.c:609
 #, c-format
 msgid "cannot determine file name"
 msgstr ""
 
-#: elf/sprof.c:622
+#: elf/sprof.c:642
 #, c-format
 msgid "reading of ELF header failed"
 msgstr ""
 
-#: elf/sprof.c:658
+#: elf/sprof.c:678
 #, c-format
 msgid "*** The file `%s' is stripped: no detailed analysis possible\n"
 msgstr ""
 
-#: elf/sprof.c:688
+#: elf/sprof.c:708
 #, c-format
 msgid "failed to load symbol data"
 msgstr ""
 
-#: elf/sprof.c:755
+#: elf/sprof.c:775
 #, c-format
 msgid "cannot load profiling data"
 msgstr ""
 
-#: elf/sprof.c:764
+#: elf/sprof.c:784
 #, c-format
 msgid "while stat'ing profiling data file"
 msgstr ""
 
-#: elf/sprof.c:772
+#: elf/sprof.c:792
 #, c-format
 msgid "profiling data file `%s' does not match shared object `%s'"
 msgstr ""
 
-#: elf/sprof.c:783
+#: elf/sprof.c:803
 #, c-format
 msgid "failed to mmap the profiling data file"
 msgstr ""
 
-#: elf/sprof.c:791
+#: elf/sprof.c:811
 #, c-format
 msgid "error while closing the profiling data file"
 msgstr ""
 
-#: elf/sprof.c:800 elf/sprof.c:870
+#: elf/sprof.c:820 elf/sprof.c:890
 #, c-format
 msgid "cannot create internal descriptor"
 msgstr ""
 
-#: elf/sprof.c:846
+#: elf/sprof.c:866
 #, c-format
 msgid "`%s' is no correct profile data file for `%s'"
 msgstr ""
 
-#: elf/sprof.c:1027 elf/sprof.c:1085
+#: elf/sprof.c:1047 elf/sprof.c:1105
 #, c-format
 msgid "cannot allocate symbol data"
 msgstr ""
@@ -1482,8 +1517,8 @@ msgstr ""
 msgid "no symbolic name given for end of range"
 msgstr ""
 
-#: locale/programs/charmap.c:610 locale/programs/ld-address.c:600
-#: locale/programs/ld-collate.c:2767 locale/programs/ld-collate.c:3928
+#: locale/programs/charmap.c:610 locale/programs/ld-address.c:602
+#: 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
@@ -1509,8 +1544,8 @@ msgstr ""
 msgid "%s: error in state machine"
 msgstr ""
 
-#: locale/programs/charmap.c:850 locale/programs/ld-address.c:616
-#: locale/programs/ld-collate.c:2764 locale/programs/ld-collate.c:4121
+#: locale/programs/charmap.c:850 locale/programs/ld-address.c:618
+#: locale/programs/ld-collate.c:2764 locale/programs/ld-collate.c:4117
 #: 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
@@ -1534,7 +1569,7 @@ msgid ""
 "same: %d vs %d"
 msgstr ""
 
-#: locale/programs/charmap.c:993 locale/programs/ld-collate.c:3045
+#: locale/programs/charmap.c:993 locale/programs/ld-collate.c:3044
 #: locale/programs/repertoire.c:419
 msgid "invalid names for character range"
 msgstr ""
@@ -1556,7 +1591,7 @@ msgstr ""
 msgid "resulting bytes for range not representable."
 msgstr ""
 
-#: locale/programs/ld-address.c:133 locale/programs/ld-collate.c:1556
+#: locale/programs/ld-address.c:135 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
@@ -1566,10 +1601,10 @@ msgstr ""
 msgid "No definition for %s category found"
 msgstr ""
 
-#: 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-address.c:146 locale/programs/ld-address.c:184
+#: locale/programs/ld-address.c:202 locale/programs/ld-address.c:231
+#: locale/programs/ld-address.c:303 locale/programs/ld-address.c:322
+#: locale/programs/ld-address.c:335 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
@@ -1582,46 +1617,46 @@ msgstr ""
 msgid "%s: field `%s' not defined"
 msgstr ""
 
-#: 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-address.c:158 locale/programs/ld-address.c:210
+#: locale/programs/ld-address.c:240 locale/programs/ld-address.c:278
 #: locale/programs/ld-name.c:117 locale/programs/ld-telephone.c:117
 #, c-format
 msgid "%s: field `%s' must not be empty"
 msgstr ""
 
-#: locale/programs/ld-address.c:168
+#: locale/programs/ld-address.c:170
 #, c-format
 msgid "%s: invalid escape `%%%c' sequence in field `%s'"
 msgstr ""
 
-#: locale/programs/ld-address.c:219
+#: locale/programs/ld-address.c:221
 #, c-format
 msgid "%s: terminology language code `%s' not defined"
 msgstr ""
 
-#: locale/programs/ld-address.c:244
+#: locale/programs/ld-address.c:246
 #, c-format
 msgid "%s: field `%s' must not be defined"
 msgstr ""
 
-#: locale/programs/ld-address.c:258 locale/programs/ld-address.c:287
+#: locale/programs/ld-address.c:260 locale/programs/ld-address.c:289
 #, c-format
 msgid "%s: language abbreviation `%s' not defined"
 msgstr ""
 
-#: locale/programs/ld-address.c:265 locale/programs/ld-address.c:293
-#: locale/programs/ld-address.c:327 locale/programs/ld-address.c:339
+#: locale/programs/ld-address.c:267 locale/programs/ld-address.c:295
+#: locale/programs/ld-address.c:329 locale/programs/ld-address.c:341
 #, c-format
 msgid "%s: `%s' value does not match `%s' value"
 msgstr ""
 
-#: locale/programs/ld-address.c:312
+#: locale/programs/ld-address.c:314
 #, c-format
 msgid "%s: numeric country code `%d' not valid"
 msgstr ""
 
-#: 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-address.c:510 locale/programs/ld-address.c:547
+#: locale/programs/ld-address.c:585 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
@@ -1633,7 +1668,7 @@ msgstr ""
 msgid "%s: field `%s' declared more than once"
 msgstr ""
 
-#: locale/programs/ld-address.c:512 locale/programs/ld-address.c:550
+#: locale/programs/ld-address.c:514 locale/programs/ld-address.c:552
 #: 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
@@ -1643,7 +1678,7 @@ msgstr ""
 msgid "%s: unknown character in field `%s'"
 msgstr ""
 
-#: locale/programs/ld-address.c:597 locale/programs/ld-collate.c:3926
+#: locale/programs/ld-address.c:599 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
@@ -1653,10 +1688,10 @@ msgstr ""
 msgid "%s: incomplete `END' line"
 msgstr ""
 
-#: locale/programs/ld-address.c:607 locale/programs/ld-collate.c:542
+#: locale/programs/ld-address.c:609 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:4111
+#: locale/programs/ld-collate.c:2754 locale/programs/ld-collate.c:4107
 #: 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
@@ -1763,7 +1798,7 @@ msgstr ""
 msgid "`%s' and `%.*s' are not valid names for symbolic range"
 msgstr ""
 
-#: locale/programs/ld-collate.c:1369 locale/programs/ld-collate.c:3862
+#: 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 ""
@@ -1804,7 +1839,7 @@ msgstr ""
 msgid "too many errors; giving up"
 msgstr ""
 
-#: locale/programs/ld-collate.c:2659 locale/programs/ld-collate.c:4050
+#: locale/programs/ld-collate.c:2659 locale/programs/ld-collate.c:4046
 #, c-format
 msgid "%s: nested conditionals not supported"
 msgstr ""
@@ -1824,112 +1859,112 @@ msgstr ""
 msgid "%s: duplicate declaration of section `%s'"
 msgstr ""
 
-#: locale/programs/ld-collate.c:3025
+#: locale/programs/ld-collate.c:3024
 #, c-format
 msgid "%s: unknown character in collating symbol name"
 msgstr ""
 
-#: locale/programs/ld-collate.c:3155
+#: locale/programs/ld-collate.c:3153
 #, c-format
 msgid "%s: unknown character in equivalent definition name"
 msgstr ""
 
-#: locale/programs/ld-collate.c:3168
+#: locale/programs/ld-collate.c:3164
 #, c-format
 msgid "%s: unknown character in equivalent definition value"
 msgstr ""
 
-#: locale/programs/ld-collate.c:3178
+#: locale/programs/ld-collate.c:3174
 #, c-format
 msgid "%s: unknown symbol `%s' in equivalent definition"
 msgstr ""
 
-#: locale/programs/ld-collate.c:3187
+#: locale/programs/ld-collate.c:3183
 msgid "error while adding equivalent collating symbol"
 msgstr ""
 
-#: locale/programs/ld-collate.c:3225
+#: locale/programs/ld-collate.c:3221
 #, c-format
 msgid "duplicate definition of script `%s'"
 msgstr ""
 
-#: locale/programs/ld-collate.c:3273
+#: locale/programs/ld-collate.c:3269
 #, c-format
 msgid "%s: unknown section name `%.*s'"
 msgstr ""
 
-#: locale/programs/ld-collate.c:3302
+#: locale/programs/ld-collate.c:3298
 #, c-format
 msgid "%s: multiple order definitions for section `%s'"
 msgstr ""
 
-#: locale/programs/ld-collate.c:3330
+#: locale/programs/ld-collate.c:3326
 #, c-format
 msgid "%s: invalid number of sorting rules"
 msgstr ""
 
-#: locale/programs/ld-collate.c:3357
+#: locale/programs/ld-collate.c:3353
 #, c-format
 msgid "%s: multiple order definitions for unnamed section"
 msgstr ""
 
-#: locale/programs/ld-collate.c:3411 locale/programs/ld-collate.c:3541
-#: locale/programs/ld-collate.c:3904
+#: 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 ""
 
-#: locale/programs/ld-collate.c:3474
+#: locale/programs/ld-collate.c:3470
 #, c-format
 msgid "%s: order for collating symbol %.*s not yet defined"
 msgstr ""
 
-#: locale/programs/ld-collate.c:3492
+#: locale/programs/ld-collate.c:3488
 #, c-format
 msgid "%s: order for collating element %.*s not yet defined"
 msgstr ""
 
-#: locale/programs/ld-collate.c:3503
+#: locale/programs/ld-collate.c:3499
 #, c-format
 msgid "%s: cannot reorder after %.*s: symbol not known"
 msgstr ""
 
-#: locale/programs/ld-collate.c:3555 locale/programs/ld-collate.c:3916
+#: locale/programs/ld-collate.c:3551 locale/programs/ld-collate.c:3912
 #, c-format
 msgid "%s: missing `reorder-end' keyword"
 msgstr ""
 
-#: locale/programs/ld-collate.c:3589 locale/programs/ld-collate.c:3787
+#: locale/programs/ld-collate.c:3585 locale/programs/ld-collate.c:3783
 #, c-format
 msgid "%s: section `%.*s' not known"
 msgstr ""
 
-#: locale/programs/ld-collate.c:3654
+#: locale/programs/ld-collate.c:3650
 #, c-format
 msgid "%s: bad symbol <%.*s>"
 msgstr ""
 
-#: locale/programs/ld-collate.c:3850
+#: locale/programs/ld-collate.c:3846
 #, c-format
 msgid "%s: cannot have `%s' as end of ellipsis range"
 msgstr ""
 
-#: locale/programs/ld-collate.c:3900
+#: locale/programs/ld-collate.c:3896
 #, c-format
 msgid "%s: empty category description not allowed"
 msgstr ""
 
-#: locale/programs/ld-collate.c:3919
+#: locale/programs/ld-collate.c:3915
 #, c-format
 msgid "%s: missing `reorder-sections-end' keyword"
 msgstr ""
 
-#: locale/programs/ld-collate.c:4083
+#: locale/programs/ld-collate.c:4079
 #, c-format
 msgid "%s: '%s' without matching 'ifdef' or 'ifndef'"
 msgstr ""
 
-#: locale/programs/ld-collate.c:4101
+#: locale/programs/ld-collate.c:4097
 #, c-format
 msgid "%s: 'endif' without matching 'ifdef' or 'ifndef'"
 msgstr ""
@@ -2372,39 +2407,36 @@ msgid "Print more information"
 msgstr ""
 
 #: 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"
+msgid "Get locale-specific information."
 msgstr ""
 
-#: locale/programs/locale.c:92
+#: locale/programs/locale.c:90
 msgid ""
 "NAME\n"
 "[-a|-m]"
 msgstr ""
 
-#: locale/programs/locale.c:193
+#: locale/programs/locale.c:194
 #, c-format
 msgid "Cannot set LC_CTYPE to default locale"
 msgstr ""
 
-#: locale/programs/locale.c:195
+#: locale/programs/locale.c:196
 #, c-format
 msgid "Cannot set LC_MESSAGES to default locale"
 msgstr ""
 
-#: locale/programs/locale.c:208
+#: locale/programs/locale.c:209
 #, c-format
 msgid "Cannot set LC_COLLATE to default locale"
 msgstr ""
 
-#: locale/programs/locale.c:224
+#: locale/programs/locale.c:225
 #, c-format
 msgid "Cannot set LC_ALL to default locale"
 msgstr ""
 
-#: locale/programs/locale.c:500
+#: locale/programs/locale.c:518
 #, c-format
 msgid "while preparing output"
 msgstr ""
@@ -2802,11 +2834,9 @@ msgid ""
 "corresponding\n"
 "short options.\n"
 "\n"
-"For bug reporting instructions, please see:\n"
-"<http://www.gnu.org/software/libc/bugs.html>."
 msgstr ""
 
-#: malloc/memusage.sh:99
+#: malloc/memusage.sh:101
 msgid ""
 "Syntax: memusage [--data=FILE] [--progname=NAME] [--png=FILE] [--"
 "unbuffered]\n"
@@ -2815,53 +2845,53 @@ msgid ""
 "            PROGRAM [PROGRAMOPTION]..."
 msgstr ""
 
-#: malloc/memusage.sh:191
+#: malloc/memusage.sh:193
 msgid "memusage: option \\`${1##*=}' is ambiguous"
 msgstr ""
 
-#: malloc/memusage.sh:200
+#: malloc/memusage.sh:202
 msgid "memusage: unrecognized option \\`$1'"
 msgstr ""
 
-#: malloc/memusage.sh:213
+#: malloc/memusage.sh:215
 msgid "No program name given"
 msgstr ""
 
-#: malloc/memusagestat.c:54
+#: malloc/memusagestat.c:57
 msgid "Name output file"
 msgstr ""
 
-#: malloc/memusagestat.c:55
+#: malloc/memusagestat.c:58
 msgid "Title string used in output graphic"
 msgstr ""
 
-#: malloc/memusagestat.c:56
+#: malloc/memusagestat.c:59
 msgid ""
 "Generate output linear to time (default is linear to number of function "
 "calls)"
 msgstr ""
 
-#: malloc/memusagestat.c:58
+#: malloc/memusagestat.c:61
 msgid "Also draw graph for total memory consumption"
 msgstr ""
 
-#: malloc/memusagestat.c:59
+#: malloc/memusagestat.c:62
 msgid "Make output graphic VALUE pixels wide"
 msgstr ""
 
-#: malloc/memusagestat.c:60
+#: malloc/memusagestat.c:63
 msgid "Make output graphic VALUE pixels high"
 msgstr ""
 
-#: malloc/memusagestat.c:65
+#: malloc/memusagestat.c:68
 msgid "Generate graphic from memory profiling data"
 msgstr ""
 
-#: malloc/memusagestat.c:68
+#: malloc/memusagestat.c:71
 msgid "DATAFILE [OUTFILE]"
 msgstr ""
 
-#: misc/error.c:118 timezone/zic.c:417
+#: misc/error.c:118
 msgid "Unknown system error"
 msgstr ""
 
@@ -2869,7 +2899,7 @@ msgstr ""
 msgid "unable to free arguments"
 msgstr ""
 
-#: nis/nis_error.h:1 nis/ypclnt.c:822 nis/ypclnt.c:910 posix/regcomp.c:132
+#: nis/nis_error.h:1 nis/ypclnt.c:833 nis/ypclnt.c:921 posix/regcomp.c:133
 #: sysdeps/gnu/errlist.c:20
 msgid "Success"
 msgstr ""
@@ -2911,7 +2941,7 @@ msgid "First/next chain broken"
 msgstr ""
 
 #. 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
+#: nis/nis_error.h:11 nis/ypclnt.c:878 sysdeps/gnu/errlist.c:157
 msgid "Permission denied"
 msgstr ""
 
@@ -3410,100 +3440,100 @@ msgstr ""
 msgid "netname2user: should not have uid 0"
 msgstr ""
 
-#: nis/ypclnt.c:825
+#: nis/ypclnt.c:836
 msgid "Request arguments bad"
 msgstr ""
 
-#: nis/ypclnt.c:828
+#: nis/ypclnt.c:839
 msgid "RPC failure on NIS operation"
 msgstr ""
 
-#: nis/ypclnt.c:831
+#: nis/ypclnt.c:842
 msgid "Can't bind to server which serves this domain"
 msgstr ""
 
-#: nis/ypclnt.c:834
+#: nis/ypclnt.c:845
 msgid "No such map in server's domain"
 msgstr ""
 
-#: nis/ypclnt.c:837
+#: nis/ypclnt.c:848
 msgid "No such key in map"
 msgstr ""
 
-#: nis/ypclnt.c:840
+#: nis/ypclnt.c:851
 msgid "Internal NIS error"
 msgstr ""
 
-#: nis/ypclnt.c:843
+#: nis/ypclnt.c:854
 msgid "Local resource allocation failure"
 msgstr ""
 
-#: nis/ypclnt.c:846
+#: nis/ypclnt.c:857
 msgid "No more records in map database"
 msgstr ""
 
-#: nis/ypclnt.c:849
+#: nis/ypclnt.c:860
 msgid "Can't communicate with portmapper"
 msgstr ""
 
-#: nis/ypclnt.c:852
+#: nis/ypclnt.c:863
 msgid "Can't communicate with ypbind"
 msgstr ""
 
-#: nis/ypclnt.c:855
+#: nis/ypclnt.c:866
 msgid "Can't communicate with ypserv"
 msgstr ""
 
-#: nis/ypclnt.c:858
+#: nis/ypclnt.c:869
 msgid "Local domain name not set"
 msgstr ""
 
-#: nis/ypclnt.c:861
+#: nis/ypclnt.c:872
 msgid "NIS map database is bad"
 msgstr ""
 
-#: nis/ypclnt.c:864
+#: nis/ypclnt.c:875
 msgid "NIS client/server version mismatch - can't supply service"
 msgstr ""
 
-#: nis/ypclnt.c:870
+#: nis/ypclnt.c:881
 msgid "Database is busy"
 msgstr ""
 
-#: nis/ypclnt.c:873
+#: nis/ypclnt.c:884
 msgid "Unknown NIS error code"
 msgstr ""
 
-#: nis/ypclnt.c:913
+#: nis/ypclnt.c:924
 msgid "Internal ypbind error"
 msgstr ""
 
-#: nis/ypclnt.c:916
+#: nis/ypclnt.c:927
 msgid "Domain not bound"
 msgstr ""
 
-#: nis/ypclnt.c:919
+#: nis/ypclnt.c:930
 msgid "System resource allocation failure"
 msgstr ""
 
-#: nis/ypclnt.c:922
+#: nis/ypclnt.c:933
 msgid "Unknown ypbind error"
 msgstr ""
 
-#: nis/ypclnt.c:963
+#: nis/ypclnt.c:974
 msgid "yp_update: cannot convert host to netname\n"
 msgstr ""
 
-#: nis/ypclnt.c:981
+#: nis/ypclnt.c:992
 msgid "yp_update: cannot get server address\n"
 msgstr ""
 
-#: nscd/aicache.c:77 nscd/hstcache.c:473
+#: nscd/aicache.c:82 nscd/hstcache.c:481
 #, c-format
 msgid "Haven't found \"%s\" in hosts cache!"
 msgstr ""
 
-#: nscd/aicache.c:79 nscd/hstcache.c:475
+#: nscd/aicache.c:84 nscd/hstcache.c:483
 #, c-format
 msgid "Reloading \"%s\" in hosts cache!"
 msgstr ""
@@ -3517,344 +3547,369 @@ msgstr ""
 msgid " (first)"
 msgstr ""
 
-#: nscd/cache.c:263 nscd/connections.c:811
+#: nscd/cache.c:286 nscd/connections.c:866
 #, c-format
 msgid "cannot stat() file `%s': %s"
 msgstr ""
 
-#: nscd/cache.c:305
+#: nscd/cache.c:328
 #, c-format
 msgid "pruning %s cache; time %ld"
 msgstr ""
 
-#: nscd/cache.c:334
+#: nscd/cache.c:357
 #, c-format
 msgid "considering %s entry \"%s\", timeout %<PRIu64>"
 msgstr ""
 
-#: nscd/connections.c:527
+#: nscd/connections.c:570
 #, c-format
 msgid "invalid persistent database file \"%s\": %s"
 msgstr ""
 
-#: nscd/connections.c:535
+#: nscd/connections.c:578
 msgid "uninitialized header"
 msgstr ""
 
-#: nscd/connections.c:540
+#: nscd/connections.c:583
 msgid "header size does not match"
 msgstr ""
 
-#: nscd/connections.c:550
+#: nscd/connections.c:593
 msgid "file size does not match"
 msgstr ""
 
-#: nscd/connections.c:567
+#: nscd/connections.c:610
 msgid "verification failed"
 msgstr ""
 
-#: nscd/connections.c:581
+#: nscd/connections.c:624
 #, c-format
 msgid ""
 "suggested size of table for database %s larger than the persistent "
 "database's table"
 msgstr ""
 
-#: nscd/connections.c:592 nscd/connections.c:674
+#: nscd/connections.c:635 nscd/connections.c:720
 #, c-format
 msgid "cannot create read-only descriptor for \"%s\"; no mmap"
 msgstr ""
 
-#: nscd/connections.c:653
+#: nscd/connections.c:651
+#, c-format
+msgid "cannot access '%s'"
+msgstr ""
+
+#: nscd/connections.c:699
 #, c-format
 msgid ""
 "database for %s corrupted or simultaneously used; remove %s manually if "
 "necessary and restart"
 msgstr ""
 
-#: nscd/connections.c:660
+#: nscd/connections.c:706
 #, c-format
 msgid "cannot create %s; no persistent database used"
 msgstr ""
 
-#: nscd/connections.c:663
+#: nscd/connections.c:709
 #, c-format
 msgid "cannot create %s; no sharing possible"
 msgstr ""
 
-#: nscd/connections.c:734
+#: nscd/connections.c:780
 #, c-format
 msgid "cannot write to database file %s: %s"
 msgstr ""
 
-#: nscd/connections.c:773
+#: nscd/connections.c:819
 #, c-format
 msgid "cannot set socket to close on exec: %s; disabling paranoia mode"
 msgstr ""
 
-#: nscd/connections.c:824
+#: nscd/connections.c:902
 #, c-format
 msgid "cannot open socket: %s"
 msgstr ""
 
-#: nscd/connections.c:841
+#: nscd/connections.c:922
 #, c-format
 msgid "cannot change socket to nonblocking mode: %s"
 msgstr ""
 
-#: nscd/connections.c:849
+#: nscd/connections.c:930
 #, c-format
 msgid "cannot set socket to close on exec: %s"
 msgstr ""
 
-#: nscd/connections.c:860
+#: nscd/connections.c:943
 #, c-format
 msgid "cannot enable socket to accept connections: %s"
 msgstr ""
 
-#: nscd/connections.c:960
+#: nscd/connections.c:1043
 #, c-format
 msgid "provide access to FD %d, for %s"
 msgstr ""
 
-#: nscd/connections.c:972
+#: nscd/connections.c:1055
 #, c-format
 msgid "cannot handle old request version %d; current version is %d"
 msgstr ""
 
-#: nscd/connections.c:982
+#: nscd/connections.c:1077
+#, c-format
+msgid "request from %ld not handled due to missing permission"
+msgstr ""
+
+#: nscd/connections.c:1082
+#, c-format
+msgid "request from '%s' [%ld] not handled due to missing permission"
+msgstr ""
+
+#: nscd/connections.c:1087
 msgid "request not handled due to missing permission"
 msgstr ""
 
-#: nscd/connections.c:1018 nscd/connections.c:1071
+#: nscd/connections.c:1125 nscd/connections.c:1178
 #, c-format
 msgid "cannot write result: %s"
 msgstr ""
 
-#: nscd/connections.c:1154
+#: nscd/connections.c:1261
 #, c-format
 msgid "error getting caller's id: %s"
 msgstr ""
 
-#: nscd/connections.c:1213
+#: nscd/connections.c:1320
 #, c-format
 msgid "cannot open /proc/self/cmdline: %s; disabling paranoia mode"
 msgstr ""
 
-#: nscd/connections.c:1227
+#: nscd/connections.c:1334
 #, c-format
 msgid "cannot read /proc/self/cmdline: %s; disabling paranoia mode"
 msgstr ""
 
-#: nscd/connections.c:1267
+#: nscd/connections.c:1374
 #, c-format
 msgid "cannot change to old UID: %s; disabling paranoia mode"
 msgstr ""
 
-#: nscd/connections.c:1277
+#: nscd/connections.c:1384
 #, c-format
 msgid "cannot change to old GID: %s; disabling paranoia mode"
 msgstr ""
 
-#: nscd/connections.c:1290
+#: nscd/connections.c:1397
 #, c-format
 msgid "cannot change to old working directory: %s; disabling paranoia mode"
 msgstr ""
 
-#: nscd/connections.c:1319
+#: nscd/connections.c:1429
 #, c-format
 msgid "re-exec failed: %s; disabling paranoia mode"
 msgstr ""
 
-#: nscd/connections.c:1328
+#: nscd/connections.c:1438
 #, c-format
 msgid "cannot change current working directory to \"/\": %s"
 msgstr ""
 
-#: nscd/connections.c:1471
+#: nscd/connections.c:1644
 #, c-format
 msgid "short read while reading request: %s"
 msgstr ""
 
-#: nscd/connections.c:1502
+#: nscd/connections.c:1677
 #, c-format
 msgid "key length in request too long: %d"
 msgstr ""
 
-#: nscd/connections.c:1515
+#: nscd/connections.c:1690
 #, c-format
 msgid "short read while reading request key: %s"
 msgstr ""
 
-#: nscd/connections.c:1524
+#: nscd/connections.c:1699
 #, c-format
 msgid "handle_request: request received (Version = %d) from PID %ld"
 msgstr ""
 
-#: nscd/connections.c:1529
+#: nscd/connections.c:1704
 #, c-format
 msgid "handle_request: request received (Version = %d)"
 msgstr ""
 
-#: nscd/connections.c:1866
+#: nscd/connections.c:1903 nscd/connections.c:2101
+#, c-format
+msgid "disabled inotify after read error %d"
+msgstr ""
+
+#: nscd/connections.c:2230
 msgid "could not initialize conditional variable"
 msgstr ""
 
-#: nscd/connections.c:1874
+#: nscd/connections.c:2238
 msgid "could not start clean-up thread; terminating"
 msgstr ""
 
-#: nscd/connections.c:1888
+#: nscd/connections.c:2252
 msgid "could not start any worker thread; terminating"
 msgstr ""
 
-#: nscd/connections.c:1939 nscd/connections.c:1940 nscd/connections.c:1957
-#: nscd/connections.c:1966 nscd/connections.c:1984 nscd/connections.c:1995
-#: nscd/connections.c:2006
+#: nscd/connections.c:2303 nscd/connections.c:2304 nscd/connections.c:2321
+#: nscd/connections.c:2330 nscd/connections.c:2348 nscd/connections.c:2359
+#: nscd/connections.c:2370
 #, c-format
 msgid "Failed to run nscd as user '%s'"
 msgstr ""
 
-#: nscd/connections.c:1958
+#: nscd/connections.c:2322
 #, c-format
 msgid "initial getgrouplist failed"
 msgstr ""
 
-#: nscd/connections.c:1967
+#: nscd/connections.c:2331
 #, c-format
 msgid "getgrouplist failed"
 msgstr ""
 
-#: nscd/connections.c:1985
+#: nscd/connections.c:2349
 #, c-format
 msgid "setgroups failed"
 msgstr ""
 
-#: nscd/grpcache.c:404 nscd/hstcache.c:422 nscd/initgrcache.c:414
-#: nscd/pwdcache.c:399 nscd/servicescache.c:345
+#: nscd/grpcache.c:395 nscd/hstcache.c:430 nscd/initgrcache.c:416
+#: nscd/pwdcache.c:400 nscd/servicescache.c:343
 #, c-format
 msgid "short write in %s: %s"
 msgstr ""
 
-#: nscd/grpcache.c:447 nscd/initgrcache.c:78
+#: nscd/grpcache.c:438 nscd/initgrcache.c:78
 #, c-format
 msgid "Haven't found \"%s\" in group cache!"
 msgstr ""
 
-#: nscd/grpcache.c:449 nscd/initgrcache.c:80
+#: nscd/grpcache.c:440 nscd/initgrcache.c:80
 #, c-format
 msgid "Reloading \"%s\" in group cache!"
 msgstr ""
 
-#: nscd/grpcache.c:526
+#: nscd/grpcache.c:517
 #, c-format
 msgid "Invalid numeric gid \"%s\"!"
 msgstr ""
 
-#: nscd/mem.c:422
+#: nscd/mem.c:457
 #, c-format
 msgid "freed %zu bytes in %s cache"
 msgstr ""
 
-#: nscd/mem.c:557
+#: nscd/mem.c:594
 #, c-format
 msgid "no more memory for database '%s'"
 msgstr ""
 
-#: nscd/nscd.c:98
+#: nscd/nscd.c:101
 msgid "Read configuration data from NAME"
 msgstr ""
 
-#: nscd/nscd.c:100
+#: nscd/nscd.c:103
 msgid "Do not fork and display messages on the current tty"
 msgstr ""
 
-#: nscd/nscd.c:101
+#: nscd/nscd.c:104
 msgid "NUMBER"
 msgstr ""
 
-#: nscd/nscd.c:101
+#: nscd/nscd.c:104
 msgid "Start NUMBER threads"
 msgstr ""
 
-#: nscd/nscd.c:102
+#: nscd/nscd.c:105
 msgid "Shut the server down"
 msgstr ""
 
-#: nscd/nscd.c:103
+#: nscd/nscd.c:106
 msgid "Print current configuration statistics"
 msgstr ""
 
-#: nscd/nscd.c:104
+#: nscd/nscd.c:107
 msgid "TABLE"
 msgstr ""
 
-#: nscd/nscd.c:105
+#: nscd/nscd.c:108
 msgid "Invalidate the specified cache"
 msgstr ""
 
-#: nscd/nscd.c:106
+#: nscd/nscd.c:109
 msgid "TABLE,yes"
 msgstr ""
 
-#: nscd/nscd.c:107
+#: nscd/nscd.c:110
 msgid "Use separate cache for each user"
 msgstr ""
 
-#: nscd/nscd.c:112
+#: nscd/nscd.c:115
 msgid "Name Service Cache Daemon."
 msgstr ""
 
-#: nscd/nscd.c:144 nss/getent.c:858 nss/makedb.c:123
+#: nscd/nscd.c:147 nss/getent.c:876 nss/makedb.c:123
 #, c-format
 msgid "wrong number of arguments"
 msgstr ""
 
-#: nscd/nscd.c:154
+#: nscd/nscd.c:157
 #, c-format
 msgid "failure while reading configuration file; this is fatal"
 msgstr ""
 
-#: nscd/nscd.c:163
+#: nscd/nscd.c:166
 #, c-format
 msgid "already running"
 msgstr ""
 
-#: nscd/nscd.c:178 nscd/nscd.c:233
+#: nscd/nscd.c:181 nscd/nscd.c:236
 #, c-format
 msgid "cannot fork"
 msgstr ""
 
-#: nscd/nscd.c:241
+#: nscd/nscd.c:244
 #, c-format
 msgid "cannot change current working directory to \"/\""
 msgstr ""
 
-#: nscd/nscd.c:249
+#: nscd/nscd.c:252
 msgid "Could not create log file"
 msgstr ""
 
-#: nscd/nscd.c:302 nscd/nscd.c:327 nscd/nscd_stat.c:172
+#: nscd/nscd.c:305 nscd/nscd.c:330 nscd/nscd_stat.c:172
 #, c-format
 msgid "Only root is allowed to use this option!"
 msgstr ""
 
-#: nscd/nscd.c:364 nscd/nscd_stat.c:191
+#: nscd/nscd.c:345
+#, c-format
+msgid "'%s' is not a known database"
+msgstr ""
+
+#: nscd/nscd.c:370 nscd/nscd_stat.c:191
 #, c-format
 msgid "write incomplete"
 msgstr ""
 
-#: nscd/nscd.c:375
+#: nscd/nscd.c:381
 #, c-format
 msgid "cannot read invalidate ACK"
 msgstr ""
 
-#: nscd/nscd.c:381
+#: nscd/nscd.c:387
 #, c-format
 msgid "invalidation failed"
 msgstr ""
 
-#: nscd/nscd.c:391
+#: nscd/nscd.c:397
 #, c-format
 msgid "secure services not implemented anymore"
 msgstr ""
@@ -3998,17 +4053,17 @@ msgid ""
 "%15s  check /etc/%s for changes\n"
 msgstr ""
 
-#: nscd/pwdcache.c:442
+#: nscd/pwdcache.c:443
 #, c-format
 msgid "Haven't found \"%s\" in password cache!"
 msgstr ""
 
-#: nscd/pwdcache.c:444
+#: nscd/pwdcache.c:445
 #, c-format
 msgid "Reloading \"%s\" in password cache!"
 msgstr ""
 
-#: nscd/pwdcache.c:522
+#: nscd/pwdcache.c:523
 #, c-format
 msgid "Invalid numeric uid \"%s\"!"
 msgstr ""
@@ -4104,12 +4159,12 @@ msgid ""
 "%15u  CAV misses\n"
 msgstr ""
 
-#: nscd/servicescache.c:392
+#: nscd/servicescache.c:390
 #, c-format
 msgid "Haven't found \"%s\" in services cache!"
 msgstr ""
 
-#: nscd/servicescache.c:394
+#: nscd/servicescache.c:392
 #, c-format
 msgid "Reloading \"%s\" in services cache!"
 msgstr ""
@@ -4123,27 +4178,24 @@ msgid "Service configuration to be used"
 msgstr ""
 
 #: 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"
+msgid "Get entries from administrative database."
 msgstr ""
 
-#: nss/getent.c:145 nss/getent.c:394
+#: nss/getent.c:143 nss/getent.c:408
 #, c-format
 msgid "Enumeration not supported on %s\n"
 msgstr ""
 
-#: nss/getent.c:782
+#: nss/getent.c:794
 #, c-format
 msgid "Unknown database name"
 msgstr ""
 
-#: nss/getent.c:808
+#: nss/getent.c:820
 msgid "Supported databases:\n"
 msgstr ""
 
-#: nss/getent.c:868
+#: nss/getent.c:886
 #, c-format
 msgid "Unknown database: %s\n"
 msgstr ""
@@ -4214,21 +4266,33 @@ msgstr ""
 msgid "       %s -a [pathname]\n"
 msgstr ""
 
-#: posix/getconf.c:1067
+#: posix/getconf.c:1023
+#, c-format
+msgid ""
+"Usage: getconf [-v SPEC] VAR\n"
+"  or:  getconf [-v SPEC] PATH_VAR PATH\n"
+"\n"
+"Get the configuration value for variable VAR, or for variable PATH_VAR\n"
+"for path PATH.  If SPEC is given, give values for compilation\n"
+"environment SPEC.\n"
+"\n"
+msgstr ""
+
+#: posix/getconf.c:1081
 #, c-format
 msgid "unknown specification \"%s\""
 msgstr ""
 
-#: posix/getconf.c:1095
+#: posix/getconf.c:1109
 #, c-format
 msgid "Couldn't execute %s"
 msgstr ""
 
-#: posix/getconf.c:1135 posix/getconf.c:1151
+#: posix/getconf.c:1149 posix/getconf.c:1165
 msgid "undefined"
 msgstr ""
 
-#: posix/getconf.c:1173
+#: posix/getconf.c:1187
 #, c-format
 msgid "Unrecognized variable `%s'"
 msgstr ""
@@ -4285,75 +4349,75 @@ msgstr ""
 msgid "%s: option '-W %s' doesn't allow an argument\n"
 msgstr ""
 
-#: posix/regcomp.c:135
+#: posix/regcomp.c:136
 msgid "No match"
 msgstr ""
 
-#: posix/regcomp.c:138
+#: posix/regcomp.c:139
 msgid "Invalid regular expression"
 msgstr ""
 
-#: posix/regcomp.c:141
+#: posix/regcomp.c:142
 msgid "Invalid collation character"
 msgstr ""
 
-#: posix/regcomp.c:144
+#: posix/regcomp.c:145
 msgid "Invalid character class name"
 msgstr ""
 
-#: posix/regcomp.c:147
+#: posix/regcomp.c:148
 msgid "Trailing backslash"
 msgstr ""
 
-#: posix/regcomp.c:150
+#: posix/regcomp.c:151
 msgid "Invalid back reference"
 msgstr ""
 
-#: posix/regcomp.c:153
+#: posix/regcomp.c:154
 msgid "Unmatched [ or [^"
 msgstr ""
 
-#: posix/regcomp.c:156
+#: posix/regcomp.c:157
 msgid "Unmatched ( or \\("
 msgstr ""
 
-#: posix/regcomp.c:159
+#: posix/regcomp.c:160
 msgid "Unmatched \\{"
 msgstr ""
 
-#: posix/regcomp.c:162
+#: posix/regcomp.c:163
 msgid "Invalid content of \\{\\}"
 msgstr ""
 
-#: posix/regcomp.c:165
+#: posix/regcomp.c:166
 msgid "Invalid range end"
 msgstr ""
 
-#: posix/regcomp.c:168
+#: posix/regcomp.c:169
 msgid "Memory exhausted"
 msgstr ""
 
-#: posix/regcomp.c:171
+#: posix/regcomp.c:172
 msgid "Invalid preceding regular expression"
 msgstr ""
 
-#: posix/regcomp.c:174
+#: posix/regcomp.c:175
 msgid "Premature end of regular expression"
 msgstr ""
 
-#: posix/regcomp.c:177
+#: posix/regcomp.c:178
 msgid "Regular expression too big"
 msgstr ""
 
-#: posix/regcomp.c:180
+#: posix/regcomp.c:181
 msgid "Unmatched ) or \\)"
 msgstr ""
 
-#: posix/regcomp.c:660
+#: posix/regcomp.c:681
 msgid "No previous regular expression"
 msgstr ""
 
-#: posix/wordexp.c:1798
+#: posix/wordexp.c:1832
 msgid "parameter null or not set"
 msgstr ""
 
@@ -4437,7 +4501,7 @@ msgstr ""
 msgid "Unknown signal %d"
 msgstr ""
 
-#: sunrpc/auth_unix.c:114 sunrpc/clnt_tcp.c:131 sunrpc/clnt_udp.c:140
+#: sunrpc/auth_unix.c:114 sunrpc/clnt_tcp.c:131 sunrpc/clnt_udp.c:143
 #: sunrpc/clnt_unix.c:128 sunrpc/svc_tcp.c:179 sunrpc/svc_tcp.c:218
 #: sunrpc/svc_udp.c:153 sunrpc/svc_unix.c:176 sunrpc/svc_unix.c:215
 #: sunrpc/xdr.c:566 sunrpc/xdr.c:718 sunrpc/xdr_array.c:106
@@ -4604,121 +4668,244 @@ msgstr ""
 msgid "Cannot receive reply to broadcast"
 msgstr ""
 
-#: sunrpc/rpc_main.c:286
+#: sunrpc/rpc_main.c:290
 #, c-format
 msgid "%s: output would overwrite %s\n"
 msgstr ""
 
-#: sunrpc/rpc_main.c:293
+#: sunrpc/rpc_main.c:297
 #, c-format
 msgid "%s: unable to open %s: %m\n"
 msgstr ""
 
-#: sunrpc/rpc_main.c:305
+#: sunrpc/rpc_main.c:309
 #, c-format
 msgid "%s: while writing output %s: %m"
 msgstr ""
 
-#: sunrpc/rpc_main.c:340
+#: sunrpc/rpc_main.c:344
 #, c-format
 msgid "cannot find C preprocessor: %s \n"
 msgstr ""
 
-#: sunrpc/rpc_main.c:348
+#: sunrpc/rpc_main.c:352
 msgid "cannot find any C preprocessor (cpp)\n"
 msgstr ""
 
-#: sunrpc/rpc_main.c:417
+#: sunrpc/rpc_main.c:421
 #, c-format
 msgid "%s: C preprocessor failed with signal %d\n"
 msgstr ""
 
-#: sunrpc/rpc_main.c:420
+#: sunrpc/rpc_main.c:424
 #, c-format
 msgid "%s: C preprocessor failed with exit code %d\n"
 msgstr ""
 
-#: sunrpc/rpc_main.c:460
+#: sunrpc/rpc_main.c:464
 #, c-format
 msgid "illegal nettype: `%s'\n"
 msgstr ""
 
-#: sunrpc/rpc_main.c:1122
+#: sunrpc/rpc_main.c:1130
 #, c-format
 msgid "rpcgen: too many defines\n"
 msgstr ""
 
-#: sunrpc/rpc_main.c:1134
+#: sunrpc/rpc_main.c:1142
 #, c-format
 msgid "rpcgen: arglist coding error\n"
 msgstr ""
 
 #. TRANS: the file will not be removed; this is an
 #. TRANS: informative message.
-#: sunrpc/rpc_main.c:1167
+#: sunrpc/rpc_main.c:1175
 #, c-format
 msgid "file `%s' already exists and may be overwritten\n"
 msgstr ""
 
-#: sunrpc/rpc_main.c:1212
+#: sunrpc/rpc_main.c:1220
 #, c-format
 msgid "Cannot specify more than one input file!\n"
 msgstr ""
 
-#: sunrpc/rpc_main.c:1382
+#: sunrpc/rpc_main.c:1394
+#, c-format
 msgid "This implementation doesn't support newstyle or MT-safe code!\n"
 msgstr ""
 
-#: sunrpc/rpc_main.c:1391
+#: sunrpc/rpc_main.c:1403
 #, c-format
 msgid "Cannot use netid flag with inetd flag!\n"
 msgstr ""
 
-#: sunrpc/rpc_main.c:1403
+#: sunrpc/rpc_main.c:1415
+#, c-format
 msgid "Cannot use netid flag without TIRPC!\n"
 msgstr ""
 
-#: sunrpc/rpc_main.c:1410
+#: sunrpc/rpc_main.c:1422
+#, c-format
 msgid "Cannot use table flags with newstyle!\n"
 msgstr ""
 
-#: sunrpc/rpc_main.c:1429
+#: sunrpc/rpc_main.c:1441
 #, c-format
 msgid "\"infile\" is required for template generation flags.\n"
 msgstr ""
 
-#: sunrpc/rpc_main.c:1434
+#: sunrpc/rpc_main.c:1446
 #, c-format
 msgid "Cannot have more than one file generation flag!\n"
 msgstr ""
 
-#: sunrpc/rpc_main.c:1443
+#: sunrpc/rpc_main.c:1455
 #, c-format
 msgid "usage: %s infile\n"
 msgstr ""
 
-#: sunrpc/rpc_main.c:1444
+#: sunrpc/rpc_main.c:1456
 #, c-format
 msgid ""
 "\t%s [-abkCLNTM][-Dname[=value]] [-i size] [-I [-K seconds]] [-Y path] "
 "infile\n"
 msgstr ""
 
-#: sunrpc/rpc_main.c:1446
+#: sunrpc/rpc_main.c:1458
 #, c-format
 msgid "\t%s [-c | -h | -l | -m | -t | -Sc | -Ss | -Sm] [-o outfile] [infile]\n"
 msgstr ""
 
-#: sunrpc/rpc_main.c:1448
+#: sunrpc/rpc_main.c:1460
 #, c-format
 msgid "\t%s [-s nettype]* [-o outfile] [infile]\n"
 msgstr ""
 
-#: sunrpc/rpc_main.c:1449
+#: sunrpc/rpc_main.c:1461
 #, c-format
 msgid "\t%s [-n netid]* [-o outfile] [infile]\n"
 msgstr ""
 
+#: sunrpc/rpc_main.c:1469
+#, c-format
+msgid "options:\n"
+msgstr ""
+
+#: sunrpc/rpc_main.c:1470
+#, c-format
+msgid "-a\t\tgenerate all files, including samples\n"
+msgstr ""
+
+#: sunrpc/rpc_main.c:1471
+#, c-format
+msgid "-b\t\tbackward compatibility mode (generates code for SunOS 4.1)\n"
+msgstr ""
+
+#: sunrpc/rpc_main.c:1472
+#, c-format
+msgid "-c\t\tgenerate XDR routines\n"
+msgstr ""
+
+#: sunrpc/rpc_main.c:1473
+#, c-format
+msgid "-C\t\tANSI C mode\n"
+msgstr ""
+
+#: sunrpc/rpc_main.c:1474
+#, c-format
+msgid "-Dname[=value]\tdefine a symbol (same as #define)\n"
+msgstr ""
+
+#: sunrpc/rpc_main.c:1475
+#, c-format
+msgid "-h\t\tgenerate header file\n"
+msgstr ""
+
+#: sunrpc/rpc_main.c:1476
+#, c-format
+msgid "-i size\t\tsize at which to start generating inline code\n"
+msgstr ""
+
+#: sunrpc/rpc_main.c:1477
+#, c-format
+msgid "-I\t\tgenerate code for inetd support in server (for SunOS 4.1)\n"
+msgstr ""
+
+#: sunrpc/rpc_main.c:1478
+#, c-format
+msgid "-K seconds\tserver exits after K seconds of inactivity\n"
+msgstr ""
+
+#: sunrpc/rpc_main.c:1479
+#, c-format
+msgid "-l\t\tgenerate client side stubs\n"
+msgstr ""
+
+#: sunrpc/rpc_main.c:1480
+#, c-format
+msgid "-L\t\tserver errors will be printed to syslog\n"
+msgstr ""
+
+#: sunrpc/rpc_main.c:1481
+#, c-format
+msgid "-m\t\tgenerate server side stubs\n"
+msgstr ""
+
+#: sunrpc/rpc_main.c:1482
+#, c-format
+msgid "-M\t\tgenerate MT-safe code\n"
+msgstr ""
+
+#: sunrpc/rpc_main.c:1483
+#, c-format
+msgid "-n netid\tgenerate server code that supports named netid\n"
+msgstr ""
+
+#: sunrpc/rpc_main.c:1484
+#, c-format
+msgid "-N\t\tsupports multiple arguments and call-by-value\n"
+msgstr ""
+
+#: sunrpc/rpc_main.c:1485
+#, c-format
+msgid "-o outfile\tname of the output file\n"
+msgstr ""
+
+#: sunrpc/rpc_main.c:1486
+#, c-format
+msgid "-s nettype\tgenerate server code that supports named nettype\n"
+msgstr ""
+
+#: sunrpc/rpc_main.c:1487
+#, c-format
+msgid "-Sc\t\tgenerate sample client code that uses remote procedures\n"
+msgstr ""
+
+#: sunrpc/rpc_main.c:1488
+#, c-format
+msgid "-Ss\t\tgenerate sample server code that defines remote procedures\n"
+msgstr ""
+
+#: sunrpc/rpc_main.c:1489
+#, c-format
+msgid "-Sm \t\tgenerate makefile template \n"
+msgstr ""
+
+#: sunrpc/rpc_main.c:1490
+#, c-format
+msgid "-t\t\tgenerate RPC dispatch table\n"
+msgstr ""
+
+#: sunrpc/rpc_main.c:1491
+#, c-format
+msgid "-T\t\tgenerate code to support RPC dispatch tables\n"
+msgstr ""
+
+#: sunrpc/rpc_main.c:1492
+#, c-format
+msgid "-Y path\t\tdirectory name to find C preprocessor (cpp)\n"
+msgstr ""
+
 #: sunrpc/rpc_scan.c:114
 msgid "constant or identifier expected"
 msgstr ""
@@ -4739,79 +4926,79 @@ msgstr ""
 msgid "preprocessor error"
 msgstr ""
 
-#: sunrpc/rpcinfo.c:237 sunrpc/rpcinfo.c:383
+#: sunrpc/rpcinfo.c:254 sunrpc/rpcinfo.c:400
 #, c-format
 msgid "program %lu is not available\n"
 msgstr ""
 
-#: 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
+#: sunrpc/rpcinfo.c:281 sunrpc/rpcinfo.c:327 sunrpc/rpcinfo.c:350
+#: sunrpc/rpcinfo.c:424 sunrpc/rpcinfo.c:470 sunrpc/rpcinfo.c:493
+#: sunrpc/rpcinfo.c:527
 #, c-format
 msgid "program %lu version %lu is not available\n"
 msgstr ""
 
-#: sunrpc/rpcinfo.c:515
+#: sunrpc/rpcinfo.c:532
 #, c-format
 msgid "program %lu version %lu ready and waiting\n"
 msgstr ""
 
-#: sunrpc/rpcinfo.c:556 sunrpc/rpcinfo.c:563
+#: sunrpc/rpcinfo.c:573 sunrpc/rpcinfo.c:580
 msgid "rpcinfo: can't contact portmapper"
 msgstr ""
 
-#: sunrpc/rpcinfo.c:570
+#: sunrpc/rpcinfo.c:587
 msgid "No remote programs registered.\n"
 msgstr ""
 
-#: sunrpc/rpcinfo.c:574
+#: sunrpc/rpcinfo.c:591
 msgid "   program vers proto   port\n"
 msgstr ""
 
-#: sunrpc/rpcinfo.c:613
+#: sunrpc/rpcinfo.c:630
 msgid "(unknown)"
 msgstr ""
 
-#: sunrpc/rpcinfo.c:637
+#: sunrpc/rpcinfo.c:654
 #, c-format
 msgid "rpcinfo: broadcast failed: %s\n"
 msgstr ""
 
-#: sunrpc/rpcinfo.c:658
+#: sunrpc/rpcinfo.c:675
 msgid "Sorry. You are not root\n"
 msgstr ""
 
-#: sunrpc/rpcinfo.c:665
+#: sunrpc/rpcinfo.c:682
 #, c-format
 msgid "rpcinfo: Could not delete registration for prog %s version %s\n"
 msgstr ""
 
-#: sunrpc/rpcinfo.c:674
+#: sunrpc/rpcinfo.c:691
 msgid "Usage: rpcinfo [ -n portnum ] -u host prognum [ versnum ]\n"
 msgstr ""
 
-#: sunrpc/rpcinfo.c:676
+#: sunrpc/rpcinfo.c:693
 msgid "       rpcinfo [ -n portnum ] -t host prognum [ versnum ]\n"
 msgstr ""
 
-#: sunrpc/rpcinfo.c:678
+#: sunrpc/rpcinfo.c:695
 msgid "       rpcinfo -p [ host ]\n"
 msgstr ""
 
-#: sunrpc/rpcinfo.c:679
+#: sunrpc/rpcinfo.c:696
 msgid "       rpcinfo -b prognum versnum\n"
 msgstr ""
 
-#: sunrpc/rpcinfo.c:680
+#: sunrpc/rpcinfo.c:697
 msgid "       rpcinfo -d prognum versnum\n"
 msgstr ""
 
-#: sunrpc/rpcinfo.c:695
+#: sunrpc/rpcinfo.c:722
 #, c-format
 msgid "rpcinfo: %s is unknown service\n"
 msgstr ""
 
-#: sunrpc/rpcinfo.c:732
+#: sunrpc/rpcinfo.c:759
 #, c-format
 msgid "rpcinfo: %s is unknown host\n"
 msgstr ""
@@ -5969,415 +6156,422 @@ msgstr ""
 msgid "makecontext: does not know how to handle more than 8 arguments\n"
 msgstr ""
 
-#: sysdeps/unix/sysv/linux/lddlibc4.c:64
+#: sysdeps/unix/sysv/linux/lddlibc4.c:61
+#, c-format
+msgid ""
+"Usage: lddlibc4 FILE\n"
+"\n"
+msgstr ""
+
+#: sysdeps/unix/sysv/linux/lddlibc4.c:82
 #, c-format
 msgid "cannot open `%s'"
 msgstr ""
 
-#: sysdeps/unix/sysv/linux/lddlibc4.c:68
+#: sysdeps/unix/sysv/linux/lddlibc4.c:86
 #, c-format
 msgid "cannot read header from `%s'"
 msgstr ""
 
-#: timezone/zdump.c:211
+#: timezone/zdump.c:210
 msgid "lacks alphabetic at start"
 msgstr ""
 
-#: timezone/zdump.c:213
+#: timezone/zdump.c:212
 msgid "has fewer than 3 alphabetics"
 msgstr ""
 
-#: timezone/zdump.c:215
+#: timezone/zdump.c:214
 msgid "has more than 6 alphabetics"
 msgstr ""
 
-#: timezone/zdump.c:223
+#: timezone/zdump.c:222
 msgid "differs from POSIX standard"
 msgstr ""
 
-#: timezone/zdump.c:229
+#: timezone/zdump.c:228
 #, c-format
 msgid "%s: warning: zone \"%s\" abbreviation \"%s\" %s\n"
 msgstr ""
 
-#: timezone/zdump.c:280
+#: timezone/zdump.c:279
 #, c-format
 msgid ""
 "%s: usage is %s [ --version ] [ -v ] [ -c [loyear,]hiyear ] zonename ...\n"
 msgstr ""
 
-#: timezone/zdump.c:297
+#: timezone/zdump.c:296
 #, c-format
 msgid "%s: wild -c argument %s\n"
 msgstr ""
 
-#: timezone/zdump.c:388
+#: timezone/zdump.c:387
 msgid "Error writing to standard output"
 msgstr ""
 
-#: timezone/zdump.c:411
+#: timezone/zdump.c:410
 #, c-format
 msgid ""
 "%s: use of -v on system with floating time_t other than float or double\n"
 msgstr ""
 
-#: timezone/zic.c:392
+#: timezone/zic.c:388
 #, c-format
 msgid "%s: Memory exhausted: %s\n"
 msgstr ""
 
-#: timezone/zic.c:451
+#: timezone/zic.c:434
 #, c-format
 msgid "\"%s\", line %d: %s"
 msgstr ""
 
-#: timezone/zic.c:454
+#: timezone/zic.c:437
 #, c-format
 msgid " (rule from \"%s\", line %d)"
 msgstr ""
 
-#: timezone/zic.c:466
+#: timezone/zic.c:449
 msgid "warning: "
 msgstr ""
 
-#: timezone/zic.c:476
+#: timezone/zic.c:459
 #, c-format
 msgid ""
 "%s: usage is %s [ --version ] [ -v ] [ -l localtime ] [ -p posixrules ] \\\n"
 "\t[ -d directory ] [ -L leapseconds ] [ -y yearistype ] [ filename ... ]\n"
 msgstr ""
 
-#: timezone/zic.c:511
+#: timezone/zic.c:494
 msgid "wild compilation-time specification of zic_t"
 msgstr ""
 
-#: timezone/zic.c:528
+#: timezone/zic.c:511
 #, c-format
 msgid "%s: More than one -d option specified\n"
 msgstr ""
 
-#: timezone/zic.c:538
+#: timezone/zic.c:521
 #, c-format
 msgid "%s: More than one -l option specified\n"
 msgstr ""
 
-#: timezone/zic.c:548
+#: timezone/zic.c:531
 #, c-format
 msgid "%s: More than one -p option specified\n"
 msgstr ""
 
-#: timezone/zic.c:558
+#: timezone/zic.c:541
 #, c-format
 msgid "%s: More than one -y option specified\n"
 msgstr ""
 
-#: timezone/zic.c:568
+#: timezone/zic.c:551
 #, c-format
 msgid "%s: More than one -L option specified\n"
 msgstr ""
 
-#: timezone/zic.c:617
+#: timezone/zic.c:600
 msgid "link to link"
 msgstr ""
 
-#: timezone/zic.c:682
+#: timezone/zic.c:665
 msgid "hard link failed, symbolic link used"
 msgstr ""
 
-#: timezone/zic.c:690
+#: timezone/zic.c:673
 #, c-format
 msgid "%s: Can't link from %s to %s: %s\n"
 msgstr ""
 
-#: timezone/zic.c:762 timezone/zic.c:764
+#: timezone/zic.c:745 timezone/zic.c:747
 msgid "same rule name in multiple files"
 msgstr ""
 
-#: timezone/zic.c:805
+#: timezone/zic.c:788
 msgid "unruly zone"
 msgstr ""
 
-#: timezone/zic.c:812
+#: timezone/zic.c:795
 #, c-format
 msgid "%s in ruleless zone"
 msgstr ""
 
-#: timezone/zic.c:833
+#: timezone/zic.c:816
 msgid "standard input"
 msgstr ""
 
-#: timezone/zic.c:838
+#: timezone/zic.c:821
 #, c-format
 msgid "%s: Can't open %s: %s\n"
 msgstr ""
 
-#: timezone/zic.c:849
+#: timezone/zic.c:832
 msgid "line too long"
 msgstr ""
 
-#: timezone/zic.c:869
+#: timezone/zic.c:852
 msgid "input line of unknown type"
 msgstr ""
 
-#: timezone/zic.c:885
+#: timezone/zic.c:868
 #, c-format
 msgid "%s: Leap line in non leap seconds file %s\n"
 msgstr ""
 
-#: timezone/zic.c:892 timezone/zic.c:1329 timezone/zic.c:1351
+#: timezone/zic.c:875 timezone/zic.c:1312 timezone/zic.c:1334
 #, c-format
 msgid "%s: panic: Invalid l_value %d\n"
 msgstr ""
 
-#: timezone/zic.c:900
+#: timezone/zic.c:883
 #, c-format
 msgid "%s: Error reading %s\n"
 msgstr ""
 
-#: timezone/zic.c:907
+#: timezone/zic.c:890
 #, c-format
 msgid "%s: Error closing %s: %s\n"
 msgstr ""
 
-#: timezone/zic.c:912
+#: timezone/zic.c:895
 msgid "expected continuation line not found"
 msgstr ""
 
-#: timezone/zic.c:956 timezone/zic.c:2489 timezone/zic.c:2508
+#: timezone/zic.c:939 timezone/zic.c:2476 timezone/zic.c:2495
 msgid "time overflow"
 msgstr ""
 
-#: timezone/zic.c:960
+#: timezone/zic.c:943
 msgid "24:00 not handled by pre-1998 versions of zic"
 msgstr ""
 
-#: timezone/zic.c:963
+#: timezone/zic.c:946
 msgid "values over 24 hours not handled by pre-2007 versions of zic"
 msgstr ""
 
-#: timezone/zic.c:976
+#: timezone/zic.c:959
 msgid "wrong number of fields on Rule line"
 msgstr ""
 
-#: timezone/zic.c:980
+#: timezone/zic.c:963
 msgid "nameless rule"
 msgstr ""
 
-#: timezone/zic.c:985
+#: timezone/zic.c:968
 msgid "invalid saved time"
 msgstr ""
 
-#: timezone/zic.c:1006
+#: timezone/zic.c:989
 msgid "wrong number of fields on Zone line"
 msgstr ""
 
-#: timezone/zic.c:1012
+#: timezone/zic.c:995
 #, c-format
 msgid "\"Zone %s\" line and -l option are mutually exclusive"
 msgstr ""
 
-#: timezone/zic.c:1020
+#: timezone/zic.c:1003
 #, c-format
 msgid "\"Zone %s\" line and -p option are mutually exclusive"
 msgstr ""
 
-#: timezone/zic.c:1032
+#: timezone/zic.c:1015
 #, c-format
 msgid "duplicate zone name %s (file \"%s\", line %d)"
 msgstr ""
 
-#: timezone/zic.c:1048
+#: timezone/zic.c:1031
 msgid "wrong number of fields on Zone continuation line"
 msgstr ""
 
-#: timezone/zic.c:1088
+#: timezone/zic.c:1071
 msgid "invalid UTC offset"
 msgstr ""
 
-#: timezone/zic.c:1091
+#: timezone/zic.c:1074
 msgid "invalid abbreviation format"
 msgstr ""
 
-#: timezone/zic.c:1120
+#: timezone/zic.c:1103
 msgid "Zone continuation line end time is not after end time of previous line"
 msgstr ""
 
-#: timezone/zic.c:1148
+#: timezone/zic.c:1131
 msgid "wrong number of fields on Leap line"
 msgstr ""
 
-#: timezone/zic.c:1157
+#: timezone/zic.c:1140
 msgid "invalid leaping year"
 msgstr ""
 
-#: timezone/zic.c:1177 timezone/zic.c:1283
+#: timezone/zic.c:1160 timezone/zic.c:1266
 msgid "invalid month name"
 msgstr ""
 
-#: timezone/zic.c:1190 timezone/zic.c:1396 timezone/zic.c:1410
+#: timezone/zic.c:1173 timezone/zic.c:1379 timezone/zic.c:1393
 msgid "invalid day of month"
 msgstr ""
 
-#: timezone/zic.c:1195
+#: timezone/zic.c:1178
 msgid "time before zero"
 msgstr ""
 
-#: timezone/zic.c:1199
+#: timezone/zic.c:1182
 msgid "time too small"
 msgstr ""
 
-#: timezone/zic.c:1203
+#: timezone/zic.c:1186
 msgid "time too large"
 msgstr ""
 
-#: timezone/zic.c:1207 timezone/zic.c:1312
+#: timezone/zic.c:1190 timezone/zic.c:1295
 msgid "invalid time of day"
 msgstr ""
 
-#: timezone/zic.c:1226
+#: timezone/zic.c:1209
 msgid "illegal CORRECTION field on Leap line"
 msgstr ""
 
-#: timezone/zic.c:1231
+#: timezone/zic.c:1214
 msgid "illegal Rolling/Stationary field on Leap line"
 msgstr ""
 
-#: timezone/zic.c:1247
+#: timezone/zic.c:1230
 msgid "wrong number of fields on Link line"
 msgstr ""
 
-#: timezone/zic.c:1251
+#: timezone/zic.c:1234
 msgid "blank FROM field on Link line"
 msgstr ""
 
-#: timezone/zic.c:1255
+#: timezone/zic.c:1238
 msgid "blank TO field on Link line"
 msgstr ""
 
-#: timezone/zic.c:1333
+#: timezone/zic.c:1316
 msgid "invalid starting year"
 msgstr ""
 
-#: timezone/zic.c:1355
+#: timezone/zic.c:1338
 msgid "invalid ending year"
 msgstr ""
 
-#: timezone/zic.c:1359
+#: timezone/zic.c:1342
 msgid "starting year greater than ending year"
 msgstr ""
 
-#: timezone/zic.c:1366
+#: timezone/zic.c:1349
 msgid "typed single year"
 msgstr ""
 
-#: timezone/zic.c:1401
+#: timezone/zic.c:1384
 msgid "invalid weekday name"
 msgstr ""
 
-#: timezone/zic.c:1579
+#: timezone/zic.c:1562
 #, c-format
 msgid "%s: Can't remove %s: %s\n"
 msgstr ""
 
-#: timezone/zic.c:1589
+#: timezone/zic.c:1572
 #, c-format
 msgid "%s: Can't create %s: %s\n"
 msgstr ""
 
-#: timezone/zic.c:1739
+#: timezone/zic.c:1722
 #, c-format
 msgid "%s: Error writing %s\n"
 msgstr ""
 
-#: timezone/zic.c:2031
+#: timezone/zic.c:2015
 msgid "no POSIX environment variable for zone"
 msgstr ""
 
-#: timezone/zic.c:2185
+#: timezone/zic.c:2172
 msgid "can't determine time zone abbreviation to use just after until time"
 msgstr ""
 
-#: timezone/zic.c:2231
+#: timezone/zic.c:2218
 msgid "too many transitions?!"
 msgstr ""
 
-#: timezone/zic.c:2250
+#: timezone/zic.c:2237
 msgid "internal error - addtype called with bad isdst"
 msgstr ""
 
-#: timezone/zic.c:2254
+#: timezone/zic.c:2241
 msgid "internal error - addtype called with bad ttisstd"
 msgstr ""
 
-#: timezone/zic.c:2258
+#: timezone/zic.c:2245
 msgid "internal error - addtype called with bad ttisgmt"
 msgstr ""
 
-#: timezone/zic.c:2277
+#: timezone/zic.c:2264
 msgid "too many local time types"
 msgstr ""
 
-#: timezone/zic.c:2281
+#: timezone/zic.c:2268
 msgid "UTC offset out of range"
 msgstr ""
 
-#: timezone/zic.c:2309
+#: timezone/zic.c:2296
 msgid "too many leap seconds"
 msgstr ""
 
-#: timezone/zic.c:2315
+#: timezone/zic.c:2302
 msgid "repeated leap second moment"
 msgstr ""
 
-#: timezone/zic.c:2367
+#: timezone/zic.c:2354
 msgid "Wild result from command execution"
 msgstr ""
 
-#: timezone/zic.c:2368
+#: timezone/zic.c:2355
 #, c-format
 msgid "%s: command was '%s', result was %d\n"
 msgstr ""
 
-#: timezone/zic.c:2466
+#: timezone/zic.c:2453
 msgid "Odd number of quotation marks"
 msgstr ""
 
-#: timezone/zic.c:2555
+#: timezone/zic.c:2542
 msgid "use of 2/29 in non leap-year"
 msgstr ""
 
-#: timezone/zic.c:2590
+#: timezone/zic.c:2577
 msgid ""
 "rule goes past start/end of month--will not work with pre-2004 versions of "
 "zic"
 msgstr ""
 
-#: timezone/zic.c:2622
+#: timezone/zic.c:2609
 msgid "time zone abbreviation lacks alphabetic at start"
 msgstr ""
 
-#: timezone/zic.c:2624
+#: timezone/zic.c:2611
 msgid "time zone abbreviation has more than 3 alphabetics"
 msgstr ""
 
-#: timezone/zic.c:2626
+#: timezone/zic.c:2613
 msgid "time zone abbreviation has too many alphabetics"
 msgstr ""
 
-#: timezone/zic.c:2636
+#: timezone/zic.c:2623
 msgid "time zone abbreviation differs from POSIX standard"
 msgstr ""
 
-#: timezone/zic.c:2648
+#: timezone/zic.c:2635
 msgid "too many, or too long, time zone abbreviations"
 msgstr ""
 
-#: timezone/zic.c:2689
+#: timezone/zic.c:2676
 #, c-format
 msgid "%s: Can't create directory %s: %s\n"
 msgstr ""
 
-#: timezone/zic.c:2711
+#: timezone/zic.c:2698
 #, c-format
 msgid "%s: %d did not sign extend correctly\n"
 msgstr ""
index 516a93bd6cd99fc162326853694c8b046ca3af09..76b35b9d22c56817ad5ee7fd1f8f4a439aea633a 100644 (file)
--- a/po/lt.po
+++ b/po/lt.po
@@ -7,7 +7,7 @@ msgid ""
 msgstr ""
 "Project-Id-Version: libc-2.7\n"
 "POT-Creation-Date: 2007-10-15 21:18-0700\n"
-"PO-Revision-Date: 2008-10-28 01:02+0200\n"
+"PO-Revision-Date: 2009-02-12 05:24+0200\n"
 "Last-Translator: Gintautas Miliauskas <gintas@akl.lt>\n"
 "Language-Team: Lithuanian <komp_lt@konferencijos.lt>\n"
 "MIME-Version: 1.0\n"
@@ -19,7 +19,7 @@ msgstr ""
 #: argp/argp-help.c:228
 #, c-format
 msgid "%.*s: ARGP_HELP_FMT parameter requires a value"
-msgstr "%.*s: ARGP_HELP_FMT parametrui rekia reikšmės"
+msgstr "%.*s: ARGP_HELP_FMT parametrui reikia reikšmės"
 
 #: argp/argp-help.c:238
 #, c-format
@@ -70,7 +70,6 @@ msgid "Set the program name"
 msgstr "Nustatyti programos pavadinimą"
 
 #: argp/argp-parse.c:106
-#, fuzzy
 msgid "Hang for SECS seconds (default 3600)"
 msgstr "Laukti SEK sekundžių (standartiškai 3600)"
 
@@ -80,7 +79,7 @@ msgstr "Išspausdinti programos versiją"
 
 #: argp/argp-parse.c:183
 msgid "(PROGRAM ERROR) No version known!?"
-msgstr "(PROGRAM ERROR) Nežinoma joka versija!?"
+msgstr "(PROGRAM ERROR) Nežinoma jokia versija!?"
 
 #: argp/argp-parse.c:623
 #, c-format
@@ -88,9 +87,8 @@ msgid "%s: Too many arguments\n"
 msgstr "%s: Per daug argumentų\n"
 
 #: argp/argp-parse.c:766
-#, fuzzy
 msgid "(PROGRAM ERROR) Option should have been recognized!?"
-msgstr "(PROGRAM ERROR) Nežinoma joka versija!?"
+msgstr "(PROGRAM ERROR) Parametras turėjo būti atpažintas!?"
 
 #: assert/assert-perr.c:57
 #, c-format
@@ -190,7 +188,6 @@ msgid "unknown set `%s'"
 msgstr "nežinomas rinkinys „%s“"
 
 #: catgets/gencat.c:563
-#, fuzzy
 msgid "invalid quote character"
 msgstr "netaisyklingas kabučių simbolis"
 
@@ -208,12 +205,10 @@ msgid "duplicated message identifier"
 msgstr "pakartotas pranešimo identifikatorius"
 
 #: catgets/gencat.c:731
-#, fuzzy
 msgid "invalid character: message ignored"
 msgstr "netaisyklingas simbolis: pranešimas ignoruotas"
 
 #: catgets/gencat.c:774
-#, fuzzy
 msgid "invalid line"
 msgstr "nekorektiška eilutė"
 
@@ -222,9 +217,9 @@ msgid "malformed line ignored"
 msgstr "nekorektiška eilutė ignoruota"
 
 #: catgets/gencat.c:992 catgets/gencat.c:1033 nss/makedb.c:183
-#, fuzzy, c-format
+#, c-format
 msgid "cannot open output file `%s'"
-msgstr "%s: nepavyko atverti laikinojo failo: %s"
+msgstr "nepavyko atverti išvedimo failo: „%s“"
 
 #: catgets/gencat.c:1195 locale/programs/linereader.c:560
 #, fuzzy
@@ -263,9 +258,9 @@ msgid "[FILE]"
 msgstr "[FAILAS]"
 
 #: debug/pcprofiledump.c:104
-#, fuzzy, c-format
+#, c-format
 msgid "cannot open input file"
-msgstr "%s: nepavyko atverti laikinojo failo: %s"
+msgstr "nepavyko atverti įvedimo failo"
 
 #: debug/pcprofiledump.c:111
 #, c-format
@@ -350,9 +345,8 @@ msgid "invalid mode parameter"
 msgstr "netaisyklinga veiksena"
 
 #: elf/cache.c:69
-#, fuzzy
 msgid "unknown"
-msgstr "%s: adresas nežinomas"
+msgstr "nežinoma"
 
 #: elf/cache.c:112
 msgid "Unknown OS"
@@ -401,7 +395,7 @@ msgstr "%s pervardinimas į %s nesėkmingas"
 #: elf/cache.c:440
 #, c-format
 msgid "Renaming of %s to %s failed"
-msgstr "%s pervardinimas į %s nesėkmingas"
+msgstr "%s pervadinimas į %s nesėkmingas"
 
 #: elf/dl-close.c:378 elf/dl-open.c:460
 #, fuzzy
@@ -573,14 +567,12 @@ msgid "invalid ELF header"
 msgstr "netaisyklinga ELF antraštė"
 
 #: elf/dl-load.c:1697
-#, fuzzy
 msgid "ELF file data encoding not big-endian"
 msgstr "ELF failo duomenų koduotė ne big-endian"
 
 #: elf/dl-load.c:1699
-#, fuzzy
 msgid "ELF file data encoding not little-endian"
-msgstr "ELF failo duomenų koduotė ne big-endian"
+msgstr "ELF failo duomenų koduotė ne little-endian"
 
 #: elf/dl-load.c:1703
 msgid "ELF file version ident does not match current one"
@@ -592,7 +584,7 @@ msgstr "ELF failo OS ABI netaisyklingas"
 
 #: elf/dl-load.c:1709
 msgid "ELF file ABI version invalid"
-msgstr "ELF failo ABI versioja netaisyklinga"
+msgstr "ELF failo ABI versija netaisyklinga"
 
 #: elf/dl-load.c:1712
 msgid "internal error"
@@ -619,7 +611,6 @@ msgid "wrong ELF class: ELFCLASS32"
 msgstr "klaidinga ELF klasė: ELFCLASS32"
 
 #: elf/dl-load.c:2244
-#, fuzzy
 msgid "cannot open shared object file"
 msgstr "nepavyko atverti bendrojo objekto failo"
 
@@ -640,7 +631,6 @@ msgid "TLS generation counter wrapped!  Please report this."
 msgstr "TLS kartų skaitiklis persivertė!  Prašytume apie tai pranešti."
 
 #: elf/dl-open.c:549
-#, fuzzy
 msgid "invalid mode for dlopen()"
 msgstr "netaisyklinga veiksena dlopen()"
 
@@ -764,9 +754,9 @@ msgid "Configure Dynamic Linker Run Time Bindings."
 msgstr ""
 
 #: elf/ldconfig.c:319
-#, fuzzy, c-format
+#, c-format
 msgid "Path `%s' given more than once"
-msgstr "%s: laukas „%s“ apibrėžtas daugiau negu vieną kartą"
+msgstr "Kelias „%s“ nurodytas daugiau negu vieną kartą"
 
 #: elf/ldconfig.c:359
 #, c-format
@@ -784,9 +774,9 @@ msgid "Can't stat %s\n"
 msgstr "Nepavyko susaistyti (link) %s su %s"
 
 #: elf/ldconfig.c:468
-#, fuzzy, c-format
+#, c-format
 msgid "%s is not a symbolic link\n"
-msgstr "simbolinė nuoroda"
+msgstr "%s nėra simbolinė nuoroda\n"
 
 #: elf/ldconfig.c:487
 #, fuzzy, c-format
@@ -817,9 +807,9 @@ msgid "Cannot lstat %s"
 msgstr "%s: nepavyko perskaityti: %s"
 
 #: elf/ldconfig.c:579
-#, fuzzy, c-format
+#, c-format
 msgid "Ignored file %s since it is not a regular file."
-msgstr "ne paprastas failas"
+msgstr "Failas %s praleistas, nes tai nėra paprastas failas"
 
 #: elf/ldconfig.c:588
 #, c-format
@@ -837,9 +827,9 @@ msgid "Cannot stat %s"
 msgstr "%s: nepavyko perskaityti: %s"
 
 #: elf/ldconfig.c:814 elf/readlib.c:91
-#, fuzzy, c-format
+#, c-format
 msgid "Input file %s not found.\n"
-msgstr "Duomenų failas %s nerastas.\n"
+msgstr "Įvedimo failas %s nerastas.\n"
 
 #: elf/ldconfig.c:888
 #, c-format
@@ -898,9 +888,9 @@ msgid "memory exhausted"
 msgstr "baigėsi atmintis"
 
 #: elf/ldconfig.c:1178
-#, fuzzy, c-format
+#, c-format
 msgid "%s:%u: cannot read directory %s"
-msgstr "nepavyko atverti aplanko %s"
+msgstr "%s:%u: nepavyko atverti aplanko %s"
 
 #: elf/ldconfig.c:1223
 #, c-format
@@ -959,9 +949,8 @@ msgid "No such file or directory"
 msgstr "Toks failas ar aplankas neegzistuoja"
 
 #: elf/ldd.bash.in:151 inet/rcmd.c:483
-#, fuzzy
 msgid "not regular file"
-msgstr "paprastas failas"
+msgstr "ne paprastas failas"
 
 #: elf/ldd.bash.in:154
 msgid "warning: you do not have execution permission for"
@@ -1558,9 +1547,9 @@ msgstr "%s: klaida būsenų automate"
 #: 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
-#, fuzzy, c-format
+#, c-format
 msgid "%s: premature end of file"
-msgstr "%s: failo pabaiga"
+msgstr "%s: ankstyva failo pabaiga"
 
 #: locale/programs/charmap.c:869 locale/programs/charmap.c:880
 #, c-format
@@ -5839,7 +5828,7 @@ msgstr "Kanalo numeris už ribų"
 
 #: sysdeps/gnu/errlist.c:1117
 msgid "Level 2 not synchronized"
-msgstr "2 lygmuo nesinchonizuotas"
+msgstr "2 lygmuo nesinchronizuotas"
 
 #: sysdeps/gnu/errlist.c:1125
 msgid "Level 3 halted"
index e1d94a77ca1b8861974e127b78dfcd8a7c93fd19..2237ed5d4b36ec00856404d69de8c6991bfd8a96 100644 (file)
--- a/po/ru.po
+++ b/po/ru.po
-# ÐÅÒÅ×ÏÄ ÓÏÏÂÝÅÎÉÊ GNU libc
+# Translation of libc messages to Russian
 # Copyright (C) 2005 Free Software Foundation, Inc.
+# This file is distributed under the same license as the glibc package.
+#
 # Oleg Tihonov <ost@tatnipi.ru>, 2005, 2007.
+# Dimitriy Ryazantcev <DJm00n@mail.ru>, 2009.
+# Pavel Maryanov <acid_jack@ukr.net>, 2009.
 #
 msgid ""
 msgstr ""
-"Project-Id-Version: libc 2.5\n"
-"POT-Creation-Date: 2006-09-29 11:38-0700\n"
-"PO-Revision-Date: 2007-02-13 13:52+0300\n"
-"Last-Translator: Oleg Tihonov <ost@tatnipi.ru>\n"
-"Language-Team: Russian <ru@li.org>\n"
+"Project-Id-Version: libc 2.7\n"
+"POT-Creation-Date: 2007-10-15 21:18-0700\n"
+"PO-Revision-Date: 2009-02-04 21:52+0200\n"
+"Last-Translator: Pavel Maryanov <acid_jack@ukr.net>\n"
+"Language-Team: Russian <gnu@mx.ru>\n"
 "MIME-Version: 1.0\n"
-"Content-Type: text/plain; charset=koi8-r\n"
+"Content-Type: text/plain; charset=utf-8\n"
 "Content-Transfer-Encoding: 8bit\n"
+"Plural-Forms: nplurals=2; plural=(n != 1);\n"
 
-#: argp/argp-help.c:227
+#: argp/argp-help.c:228
 #, c-format
 msgid "%.*s: ARGP_HELP_FMT parameter requires a value"
-msgstr "%.*s: ÐÁÒÁÍÅÔÒ ARGP_HELP_FMT ÔÒÅÂÕÅÔ ÚÎÁÞÅÎÉÅ"
+msgstr "%.*s: Ð¿Ð°Ñ\80амеÑ\82Ñ\80 ARGP_HELP_FMT Ñ\82Ñ\80ебÑ\83еÑ\82 Ð·Ð½Ð°Ñ\87ение"
 
-#: argp/argp-help.c:237
+#: argp/argp-help.c:238
 #, c-format
 msgid "%.*s: Unknown ARGP_HELP_FMT parameter"
-msgstr "%.*s: ÎÅÉÚ×ÅÓÔÎÙÊ ÐÁÒÁÍÅÔÒ ARGP_HELP_FMT"
+msgstr "%.*s: неизвестный параметр ARGP_HELP_FMT"
 
-#: argp/argp-help.c:250
+#: argp/argp-help.c:251
 #, c-format
 msgid "Garbage in ARGP_HELP_FMT: %s"
-msgstr "íÕÓÏÒ × ARGP_HELP_FMT: %s"
+msgstr "Мусор в ARGP_HELP_FMT: %s"
 
-#: argp/argp-help.c:1214
+#: argp/argp-help.c:1215
 msgid "Mandatory or optional arguments to long options are also mandatory or optional for any corresponding short options."
-msgstr "ïÂÑÚÁÔÅÌØÎÙÅ ÉÌÉ ÎÅÏÂÑÚÁÔÅÌØÎÙÅ ÁÒÇÕÍÅÎÔÙ ÄÌÑ ÄÌÉÎÎÙÈ ËÌÀÞÅÊ ÔÁËÖÅ Ñ×ÌÑÀÔÓÑ ÏÂÑÚÁÔÅÌØÎÙÍÉ ÉÌÉ ÎÅÏÂÑÚÁÔÅÌØÎÙÍÉ ÄÌÑ ÓÏÏÔ×ÅÔÓÔ×ÕÀÝÉÈ ËÏÒÏÔËÉÈ ËÌÀÞÅÊ."
+msgstr "Обязательные или необязательные аргументы для длинных ключей также являются обязательными или необязательными для соответствующих коротких ключей."
 
-#: argp/argp-help.c:1600
+#: argp/argp-help.c:1601
 msgid "Usage:"
-msgstr "éÓÐÏÌØÚÏ×ÁÎÉÅ:"
+msgstr "Использование:"
 
-#: argp/argp-help.c:1604
+#: argp/argp-help.c:1605
 msgid "  or: "
-msgstr "  ÉÌÉ: "
+msgstr "  или: "
 
-#: argp/argp-help.c:1616
+#: argp/argp-help.c:1617
 msgid " [OPTION...]"
-msgstr " [ëìàþ...]"
+msgstr " [КЛЮЧ...]"
 
-#: argp/argp-help.c:1643
+#: argp/argp-help.c:1644
 #, c-format
 msgid "Try `%s --help' or `%s --usage' for more information.\n"
-msgstr "ðÏÐÒÏÂÕÊÔÅ `%s --help' ÉÌÉ `%s --usage' ÄÌÑ ÐÏÌÕÞÅÎÉÑ ÂÏÌÅÅ ÐÏÄÒÏÂÎÏÇÏ ÏÐÉÓÁÎÉÑ.\n"
+msgstr "Попробуйте «%s --help» или «%s --usage» для получения более подробного описания.\n"
 
-#: argp/argp-help.c:1671
+#: argp/argp-help.c:1672
 #, c-format
 msgid "Report bugs to %s.\n"
-msgstr "óÏÏÂÝÅÎÉÑ Ï ÏÛÉÂËÁÈ ÏÔÐÒÁ×ÌÑÊÔÅ ÐÏ ÁÄÒÅÓÕ %s.\n"
+msgstr "Сообщения об ошибках отправляйте по адресу %s.\n"
 
 #: argp/argp-parse.c:102
 msgid "Give this help list"
-msgstr "÷ÙÄÁÅÔ ÜÔÏÔ ÓÐÒÁ×ÏÞÎÙÊ ÓÐÉÓÏË"
+msgstr "Выдает этот справочный список"
 
 #: argp/argp-parse.c:103
 msgid "Give a short usage message"
-msgstr "÷ÙÄÁÅÔ ËÒÁÔËÕÀ ÉÎÆÏÒÍÁÃÉÀ Ï ÉÓÐÏÌØÚÏ×ÁÎÉÉ"
+msgstr "Выдает краткую информацию об использовании"
 
 #: argp/argp-parse.c:104
 msgid "Set the program name"
-msgstr "õÓÔÁÎÁ×ÌÉ×ÁÅÔ ÉÍÑ ÐÒÏÇÒÁÍÍÙ"
+msgstr "Устанавливает имя программы"
 
 #: argp/argp-parse.c:106
 msgid "Hang for SECS seconds (default 3600)"
-msgstr "÷ÉÓÉÔ ÕËÁÚÁÎÎÏÅ ÞÉÓÌÏ ÓÅËÕÎÄ (ÐÏ ÕÍÏÌÞÁÎÉÀ 3600)"
+msgstr "Висит указанное число секунд (по умолчанию 3600)"
 
 #: argp/argp-parse.c:167
 msgid "Print program version"
-msgstr "ðÅÞÁÔÁÅÔ ×ÅÒÓÉÀ ÐÒÏÇÒÁÍÍÙ"
+msgstr "Печатает версию программы"
 
 #: argp/argp-parse.c:183
 msgid "(PROGRAM ERROR) No version known!?"
-msgstr "(ïûéâëá ðòïçòáííù) ÷ÅÒÓÉÑ ÎÅÉÚ×ÅÓÔÎÁ!?"
+msgstr "(ОШИБКА ПРОГРАММЫ) Версия неизвестна!?"
 
 #: argp/argp-parse.c:623
 #, c-format
 msgid "%s: Too many arguments\n"
-msgstr "%s: óÌÉÛËÏÍ ÍÎÏÇÏ ÁÒÇÕÍÅÎÔÏ×\n"
+msgstr "%s: Слишком много аргументов\n"
 
 #: argp/argp-parse.c:766
 msgid "(PROGRAM ERROR) Option should have been recognized!?"
-msgstr "(ïûéâëá ðòïçòáííù) ëÌÀÞ ÄÏÌÖÅΠÂÙÔØ ÒÁÓÐÏÚÎÁÎ!?"
+msgstr "(ОШИБКА ПРОГРАММЫ) Ключ должен быть распознан!?"
 
 #: assert/assert-perr.c:57
 #, c-format
 msgid "%s%s%s:%u: %s%sUnexpected error: %s.\n"
-msgstr "%s%s%s:%u: %s%sîÅÏÖÉÄÁÎÎÁÑ ÏÛÉÂËÁ: %s.\n"
+msgstr "%s%s%s:%u: %s%sНеожиданная ошибка: %s.\n"
 
 #: assert/assert.c:57
 #, c-format
 msgid "%s%s%s:%u: %s%sAssertion `%s' failed.\n"
-msgstr "%s%s%s:%u: %s%sðÒÏ×ÅÒÏÞÎÏÅ ÕÔ×ÅÒÖÄÅÎÉÅ `%s' ÎÅ ×ÙÐÏÌÎÅÎÏ.\n"
+msgstr "%s%s%s:%u: %s%sПроверочное утверждение «%s» не выполнено.\n"
 
-#: catgets/gencat.c:109 catgets/gencat.c:113 nscd/nscd.c:96 nss/makedb.c:61
+#: catgets/gencat.c:110 catgets/gencat.c:114 nscd/nscd.c:97 nss/makedb.c:61
 msgid "NAME"
-msgstr "æáêì"
+msgstr "ФАЙЛ"
 
-#: catgets/gencat.c:110
+#: catgets/gencat.c:111
 msgid "Create C header file NAME containing symbol definitions"
-msgstr "óÏÚÄÁÅÔ ÚÁÇÏÌÏ×ÏÞÎÙÊ æáêì ÎÁ óÉ, ÓÏÄÅÒÖÁÝÉÊ ÏÐÒÅÄÅÌÅÎÉÑ ÓÉÍ×ÏÌÏ×."
+msgstr "Создает заголовочный ФАЙЛ на Си, содержащий определения символов."
 
-#: catgets/gencat.c:112
+#: catgets/gencat.c:113
 msgid "Do not use existing catalog, force new output file"
-msgstr "îÅ ÉÓÐÏÌØÚÏ×ÁÔØ ÓÕÝÅÓÔ×ÕÀÝÉÊ ËÁÔÁÌÏÇ, ÐÒÉÎÕÄÉÔÅÌØÎÏ ÓÏÚÄÁÔØ ÎÏ×ÙÊ ×ÙÈÏÄÎÏÊ ÆÁÊÌ"
+msgstr "Не использовать существующий каталог, принудительно создать новый выходной файл"
 
-#: catgets/gencat.c:113 nss/makedb.c:61
+#: catgets/gencat.c:114 nss/makedb.c:61
 msgid "Write output to file NAME"
-msgstr "úÁÐÉÓÁÔØ ×Ù×ÏÄ × æáêì"
+msgstr "Записать вывод в ФАЙЛ"
 
-#: catgets/gencat.c:118
+#: catgets/gencat.c:119
 msgid ""
-"Generate message catalog.\vIf INPUT-FILE is -, input is read from standard input.  If OUTPUT-FILE\n"
+"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 ""
-"çÅÎÅÒÉÒÕÅÔ ËÁÔÁÌÏÇ ÓÏÏÂÝÅÎÉÊ.\våÓÌÉ ÷èïäîïê-æáêì ÚÁÄÁΠËÁË -, ÞÉÔÁÅÔ ÓÔÁÎÄÁÒÔÎÙÊ ××ÏÄ.  åÓÌÉ\n"
-"÷ùèïäîïê-æáêì ÚÁÄÁΠËÁË -, ÒÅÚÕÌØÔÁÔ ÐÅÞÁÔÁÅÔÓÑ ÎÁ ÓÔÁÎÄÁÒÔÎÙÊ ×Ù×ÏÄ.\n"
+"Генерирует каталог сообщений.\vЕсли ВХОДНОЙ-ФАЙЛ задан как -, читает стандартный ввод.  Если\n"
+"ВЫХОДНОЙ-ФАЙЛ задан как -, результат печатается на стандартный вывод.\n"
 
-#: catgets/gencat.c:123
+#: catgets/gencat.c:124
 msgid ""
 "-o OUTPUT-FILE [INPUT-FILE]...\n"
 "[OUTPUT-FILE [INPUT-FILE]...]"
 msgstr ""
-"-o ÷ùèïäîïê-æáêì [÷èïäîïê-æáêì]...\n"
-"[÷ùèïäîïê-æáêì [÷èïäîïê-æáêì]...]"
+"-o ВЫХОДНОЙ-ФАЙЛ [ВХОДНОЙ-ФАЙЛ]...\n"
+"[ВЫХОДНОЙ-ФАЙЛ [ВХОДНОЙ-ФАЙЛ]...]"
 
-#: catgets/gencat.c:231 debug/pcprofiledump.c:199 iconv/iconv_prog.c:410
-#: iconv/iconvconfig.c:379 locale/programs/localedef.c:370
-#: login/programs/pt_chown.c:88 malloc/memusagestat.c:525 nss/makedb.c:231
+#: 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 ""
-"éÎÓÔÒÕËÃÉÉ ÐÏ ÓÏÏÂÝÅÎÉÀ Ï ÏÛÉÂËÁÈ ÓÍÏÔÒÉÔÅ ÎÁ\n"
+"Инструкции по сообщению об ошибках смотрите на\n"
 "<http://www.gnu.org/software/libc/bugs.html>.\n"
 
-#: catgets/gencat.c:245 debug/xtrace.sh:64 elf/ldconfig.c:285
-#: elf/ldd.bash.in:39 elf/sprof.c:355 iconv/iconv_prog.c:425
-#: iconv/iconvconfig.c:394 locale/programs/locale.c:274
-#: locale/programs/localedef.c:386 login/programs/pt_chown.c:59
-#: malloc/memusage.sh:71 nscd/nscd.c:401 nss/getent.c:83 nss/makedb.c:245
-#: posix/getconf.c:1007
+#: 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"
@@ -152,140 +157,142 @@ msgid ""
 "warranty; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.\n"
 msgstr ""
 "Copyright (C) %s Free Software Foundation, Inc.\n"
-"üÔÏ Ó×ÏÂÏÄÎÁÑ ÐÒÏÇÒÁÍÍÁ; ÐÏÄÒÏÂÎÏÓÔÉ Ï ÕÓÌÏ×ÉÑÈ ÒÁÓÐÒÏÓÔÒÁÎÅÎÉÑ\n"
-"ÓÍÏÔÒÉÔÅ × ÉÓÈÏÄÎÏÍ ÔÅËÓÔÅ.  íÙ îå ÐÒÅÄÏÓÔÁ×ÌÑÅÍ ÇÁÒÁÎÔÉÊ; ÄÁÖÅ ÇÁÒÁÎÔÉÊ\n"
-"ëïííåòþåóëïê ðòéçïäîïóôé ÉÌÉ ðòéçïäîïóôé äìñ ëáëïê-ìéâï ãåìé.\n"
+"Это свободная программа; подробности об условиях распространения\n"
+"смотрите в исходном тексте.  Мы НЕ предоставляем гарантий; даже гарантий\n"
+"КОММЕРЧЕСКОЙ ПРИГОДНОСТИ или ПРИГОДНОСТИ ДЛЯ КАКОЙ-ЛИБО ЦЕЛИ.\n"
 
-#: catgets/gencat.c:250 debug/xtrace.sh:68 elf/ldconfig.c:290 elf/sprof.c:361
-#: iconv/iconv_prog.c:430 iconv/iconvconfig.c:399 locale/programs/locale.c:279
-#: locale/programs/localedef.c:391 malloc/memusage.sh:75 nscd/nscd.c:406
-#: nss/getent.c:88 nss/makedb.c:250 posix/getconf.c:1012
+#: 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 "á×ÔÏÒ ÐÒÏÇÒÁÍÍÙ -- %s.\n"
+msgstr "Автор программы -- %s.\n"
 
-#: catgets/gencat.c:281
+#: catgets/gencat.c:282
 msgid "*standard input*"
-msgstr "*ÓÔÁÎÄÁÒÔÎÙÊ ××ÏÄ*"
+msgstr "*стандартный ввод*"
 
-#: catgets/gencat.c:287 iconv/iconv_charmap.c:157 iconv/iconv_prog.c:297
+#: 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 "ÎÅ×ÏÚÍÏÖÎÏ ÏÔËÒÙÔØ ×ÈÏÄÎÏÊ ÆÁÊÌ `%s'"
+msgstr "невозможно открыть входной файл «%s»"
 
-#: catgets/gencat.c:416 catgets/gencat.c:493
+#: catgets/gencat.c:417 catgets/gencat.c:494
 msgid "illegal set number"
-msgstr "ÎÅ×ÅÒÎÙÊ ÎÏÍÅÒ ÍÎÏÖÅÓÔ×Á"
+msgstr "неверный номер множества"
 
-#: catgets/gencat.c:443
+#: catgets/gencat.c:444
 msgid "duplicate set definition"
-msgstr "ÐÏ×ÔÏÒÎÏÅ ÏÐÒÅÄÅÌÅÎÉÅ ÍÎÏÖÅÓÔ×Á"
+msgstr "повÑ\82оÑ\80ное Ð¾Ð¿Ñ\80еделение Ð¼Ð½Ð¾Ð¶ÐµÑ\81Ñ\82ва"
 
-#: catgets/gencat.c:445 catgets/gencat.c:622 catgets/gencat.c:676
+#: catgets/gencat.c:446 catgets/gencat.c:623 catgets/gencat.c:677
 msgid "this is the first definition"
-msgstr "ÜÔÏ ÐÅÒ×ÏÅ ÏÐÒÅÄÅÌÅÎÉÅ"
+msgstr "это первое определение"
 
-#: catgets/gencat.c:521
+#: catgets/gencat.c:522
 #, c-format
 msgid "unknown set `%s'"
-msgstr "ÎÅÉÚ×ÅÓÔÎÏÅ ÍÎÏÖÅÓÔ×Ï `%s'"
+msgstr "неизвестное множество «%s»"
 
-#: catgets/gencat.c:562
+#: catgets/gencat.c:563
 msgid "invalid quote character"
-msgstr "ÎÅ×ÅÒÎÙÊ ÜËÒÁÎÉÒÕÀÝÉÊ ÚÎÁË"
+msgstr "неверный экранирующий знак"
 
-#: catgets/gencat.c:575
+#: catgets/gencat.c:576
 #, c-format
 msgid "unknown directive `%s': line ignored"
-msgstr "ÎÅÉÚ×ÅÓÔÎÁÑ ÄÉÒÅËÔÉ×Á `%s': ÓÔÒÏËÁ ÉÇÎÏÒÉÒÏ×ÁÎÁ"
+msgstr "неизвестная директива «%s»: строка игнорирована"
 
-#: catgets/gencat.c:620
+#: catgets/gencat.c:621
 msgid "duplicated message number"
-msgstr "ÐÏ×ÔÏÒÎÙÊ ÎÏÍÅÒ ÓÏÏÂÝÅÎÉÑ"
+msgstr "повÑ\82оÑ\80нÑ\8bй Ð½Ð¾Ð¼ÐµÑ\80 Ñ\81ообÑ\89ениÑ\8f"
 
-#: catgets/gencat.c:673
+#: catgets/gencat.c:674
 msgid "duplicated message identifier"
-msgstr "ÐÏ×ÔÏÒÎÙÊ ÉÄÅÎÔÉÆÉËÁÔÏÒ ÓÏÏÂÝÅÎÉÑ"
+msgstr "повÑ\82оÑ\80нÑ\8bй Ð¸Ð´ÐµÐ½Ñ\82иÑ\84икаÑ\82оÑ\80 Ñ\81ообÑ\89ениÑ\8f"
 
-#: catgets/gencat.c:730
+#: catgets/gencat.c:731
 msgid "invalid character: message ignored"
-msgstr "ÎÅÄÏÐÕÓÔÉÍÙÊ ÚÎÁË: ÓÏÏÂÝÅÎÉÅ ÉÇÎÏÒÉÒÏ×ÁÎÏ"
+msgstr "недопустимый знак: сообщение игнорировано"
 
-#: catgets/gencat.c:773
+#: catgets/gencat.c:774
 msgid "invalid line"
-msgstr "ÎÅ×ÅÒÎÁÑ ÓÔÒÏËÁ"
+msgstr "неверная строка"
 
-#: catgets/gencat.c:827
+#: catgets/gencat.c:828
 msgid "malformed line ignored"
-msgstr "ÎÅÐÒÁ×ÉÌØÎÁÑ ÓÔÒÏËÁ ÉÇÎÏÒÉÒÏ×ÁÎÁ"
+msgstr "неправильная строка игнорирована"
 
-#: catgets/gencat.c:991 catgets/gencat.c:1032 nss/makedb.c:183
+#: catgets/gencat.c:992 catgets/gencat.c:1033 nss/makedb.c:183
 #, c-format
 msgid "cannot open output file `%s'"
-msgstr "ÎÅ×ÏÚÍÏÖÎÏ ÏÔËÒÙÔØ ×ÙÈÏÄÎÏÊ ÆÁÊÌ `%s'"
+msgstr "невозможно открыть выходной файл «%s»"
 
-#: catgets/gencat.c:1194 locale/programs/linereader.c:559
+#: catgets/gencat.c:1195 locale/programs/linereader.c:560
 msgid "invalid escape sequence"
-msgstr "ÎÅ×ÅÒÎÁÑ ÕÐÒÁ×ÌÑÀÝÁÑ ÐÏÓÌÅÄÏ×ÁÔÅÌØÎÏÓÔØ"
+msgstr "неверная управляющая последовательность"
 
-#: catgets/gencat.c:1216
+#: catgets/gencat.c:1217
 msgid "unterminated message"
-msgstr "ÎÅÚÁ×ÅÒÛÅÎÎÏÅ ÓÏÏÂÝÅÎÉÅ"
+msgstr "незавершенное сообщение"
 
-#: catgets/gencat.c:1240
+#: catgets/gencat.c:1241
 #, c-format
 msgid "while opening old catalog file"
-msgstr "ÐÒÉ ÏÔËÒÙÔÉÉ ÓÔÁÒÏÇÏ ÆÁÊÌÁ ËÁÔÁÌÏÇÁ"
+msgstr "пÑ\80и Ð¾Ñ\82кÑ\80Ñ\8bÑ\82ии Ñ\81Ñ\82аÑ\80ого Ñ\84айла ÐºÐ°Ñ\82алога"
 
-#: catgets/gencat.c:1331
+#: catgets/gencat.c:1332
 #, c-format
 msgid "conversion modules not available"
-msgstr "ÍÏÄÕÌÉ ÐÒÅÏÂÒÁÚÏ×ÁÎÉÑ ÎÅÄÏÓÔÕÐÎÙ"
+msgstr "модули преобразования недоступны"
 
-#: catgets/gencat.c:1357
+#: catgets/gencat.c:1358
 #, c-format
 msgid "cannot determine escape character"
-msgstr "ÎÅ×ÏÚÍÏÖÎÏ ÏÐÒÅÄÅÌÉÔØ ÚÎÁË ×ÙÈÏÄÁ"
+msgstr "невозможно определить знак выхода"
 
-#: debug/pcprofiledump.c:52
+#: debug/pcprofiledump.c:53
 msgid "Don't buffer output"
-msgstr "îÅ ÂÕÆÅÒÉÒÏ×ÁÔØ ×Ù×ÏÄ"
+msgstr "Не буферировать вывод"
 
-#: debug/pcprofiledump.c:57
+#: debug/pcprofiledump.c:58
 msgid "Dump information generated by PC profiling."
-msgstr "óÂÒÁÓÙ×ÁÅÔ ÉÎÆÏÒÍÁÃÉÀ, ÓÏÂÒÁÎÎÕÀ ÐÒÉ ÐÒÏÆÉÌÉÒÏ×ÁÎÉÉ PC."
+msgstr "Сбрасывает информацию, собранную при профилировании PC."
 
-#: debug/pcprofiledump.c:60
+#: debug/pcprofiledump.c:61
 msgid "[FILE]"
-msgstr "[æáêì]"
+msgstr "[ФАЙЛ]"
 
-#: debug/pcprofiledump.c:100
+#: debug/pcprofiledump.c:104
 #, c-format
 msgid "cannot open input file"
-msgstr "ÎÅ×ÏÚÍÏÖÎÏ ÏÔËÒÙÔØ ×ÈÏÄÎÏÊ ÆÁÊÌ"
+msgstr "невозможно открыть входной файл"
 
-#: debug/pcprofiledump.c:106
+#: debug/pcprofiledump.c:111
 #, c-format
 msgid "cannot read header"
-msgstr "ÎÅ×ÏÚÍÏÖÎÏ ÓÞÉÔÁÔØ ÚÁÇÏÌÏ×ÏË"
+msgstr "невозможно считать заголовок"
 
-#: debug/pcprofiledump.c:170
+#: debug/pcprofiledump.c:175
 #, c-format
 msgid "invalid pointer size"
-msgstr "ÎÅ×ÅÒÎÙÊ ÒÁÚÍÅÒ ÕËÁÚÁÔÅÌÑ"
+msgstr "неверный размер указателя"
 
 #: debug/xtrace.sh:27 debug/xtrace.sh:45
 msgid "Usage: xtrace [OPTION]... PROGRAM [PROGRAMOPTION]...\\n"
-msgstr "éÓÐÏÌØÚÏ×ÁÎÉÅ: xtrace [ëìàþ]... ðòïçòáííá [ëìàþ-ðòïçòáííù]...\\n"
+msgstr "Использование: xtrace [КЛЮЧ]... ПРОГРАММА [КЛЮЧ-ПРОГРАММЫ]...\\n"
 
 #: debug/xtrace.sh:33
-msgid "Try `xtrace --help' for more information.\\n"
-msgstr "ðÏÐÒÏÂÕÊÔÅ `xtrace --help' ÄÌÑ ÐÏÌÕÞÅÎÉÑ ÂÏÌÅÅ ÐÏÄÒÏÂÎÏÇÏ ÏÐÉÓÁÎÉÑ.\\n"
+#, fuzzy
+msgid "Try \\`xtrace --help' for more information.\\n"
+msgstr "Попробуйте «xtrace --help» для получения более подробного описания.\\n"
 
 #: debug/xtrace.sh:39
-msgid "xtrace: option `$1' requires an argument.\\n"
-msgstr "xtrace: ËÌÀÞ `%1' ÔÒÅÂÕÅÔ ÁÒÇÕÍÅÎÔ.\\n"
+#, fuzzy
+msgid "xtrace: option \\`$1' requires an argument.\\n"
+msgstr "xtrace: ключ «%1» требует аргумент.\\n"
 
 #: debug/xtrace.sh:46
 msgid ""
@@ -303,623 +310,609 @@ msgid ""
 "For bug reporting instructions, please see:\n"
 "<http://www.gnu.org/software/libc/bugs.html>.\\n"
 msgstr ""
-"ôÒÁÓÓÉÒÕÅÔ ×ÙÐÏÌÎÅÎÉÅ ÐÒÏÇÒÁÍÍÙ, ÐÅÞÁÔÁÑ ×ÙÐÏÌÎÑÀÝÕÀÓÑ × ÄÁÎÎÏÅ ×ÒÅÍÑ ÆÕÎËÃÉÀ.\n"
+"Трассирует выполнение программы, печатая выполняющуюся в данное время функцию.\n"
 "\n"
-"     --data=æáêì          îÅ ×ÙÐÏÌÎÑÔØ ÐÒÏÇÒÁÍÍÕ, ÐÒÏÓÔÏ ÎÁÐÅÞÁÔÁÔØ ÄÁÎÎÙÅ ÉÚ æáêìá.\n"
+"     --data=ФАЙЛ          Не выполнять программу, просто напечатать данные из ФАЙЛА.\n"
 "     \n"
-"   -?,--help              ðÏËÁÚÁÔØ ÜÔÕ ÓÐÒÁ×ËÕ É ×ÙÊÔÉ\n"
-"      --usage             ðÏËÁÚÁÔØ ËÒÁÔËÏÅ ÓÏÏÂÝÅÎÉÅ Ï ÉÓÐÏÌØÚÏ×ÁÎÉÉ\n"
-"   -V,--version           ðÏËÁÚÁÔØ ÉÎÆÏÒÍÁÃÉÀ Ï ×ÅÒÓÉÉ É ×ÙÊÔÉ\n"
+"   -?,--help              Показать эту справку и выйти\n"
+"      --usage             Показать краткое сообщение об использовании\n"
+"   -V,--version           Показать информацию о версии и выйти\n"
 "\n"
-"áÒÇÕÍÅÎÔÙ, ÏÂÑÚÁÔÅÌØÎÙÅ ÄÌÑ ÄÌÉÎÎÙÈ ËÌÀÞÅÊ, ÏÂÑÚÁÔÅÌØÎÙ É ÄÌÑ\n"
-"ÓÏÏÔ×ÅÔÓÔ×ÕÀÝÉÈ ËÏÒÏÔËÉÈ.\n"
+"Аргументы, обязательные для длинных ключей, обязательны и для\n"
+"соответствующих коротких.\n"
 "\n"
-"éÎÓÔÒÕËÃÉÉ ÐÏ ÓÏÏÂÝÅÎÉÀ Ï ÏÛÉÂËÁÈ ÓÍÏÔÒÉÔÅ ÎÁ\n"
+"Инструкции по сообщению об ошибках смотрите на\n"
 "<http://www.gnu.org/software/libc/bugs.html>.\\n"
 
 #: debug/xtrace.sh:125
-msgid "xtrace: unrecognized option `$1'\\n"
-msgstr "xtrace: ÎÅÒÁÓÐÏÚÎÁÎÎÙÊ ËÌÀÞ `$1'\\n"
+#, fuzzy
+msgid "xtrace: unrecognized option \\`$1'\\n"
+msgstr "xtrace: нераспознанный ключ «$1»\\n"
 
 #: debug/xtrace.sh:138
 msgid "No program name given\\n"
-msgstr "îÅ ÚÁÄÁÎÏ ÉÍÑ ÐÒÏÇÒÁÍÍÙ\\n"
+msgstr "Не задано имя программы\\n"
 
 #: debug/xtrace.sh:146
-#, sh-format
-msgid "executable `$program' not found\\n"
-msgstr "ÉÓÐÏÌÎÑÅÍÙÊ ÆÁÊÌ `$program' ÎÅ ÎÁÊÄÅÎ\\n"
+#, fuzzy, sh-format
+msgid "executable \\`$program' not found\\n"
+msgstr "исполняемый файл «$program» не найден\\n"
 
 #: debug/xtrace.sh:150
-#, sh-format
-msgid "`$program' is no executable\\n"
-msgstr "`$program' ÎÅ Ñ×ÌÑÅÔÓÑ ÉÓÐÏÌÎÑÅÍÙÍ ÆÁÊÌÏÍ\\n"
+#, fuzzy, sh-format
+msgid "\\`$program' is no executable\\n"
+msgstr "«$program» не является исполняемым файлом\\n"
 
-#: dlfcn/dlinfo.c:67
+#: dlfcn/dlinfo.c:64
 msgid "RTLD_SELF used in code not dynamically loaded"
-msgstr "RTLD_SELF ÉÓÐÏÌØÚÏ×ÁÎÏ × ÎÅ ÄÉÎÁÍÉÞÅÓËÉ ÚÁÇÒÕÖÅÎÎÏÍ ËÏÄÅ"
+msgstr "RTLD_SELF использовано в не динамически загруженном коде"
 
-#: dlfcn/dlinfo.c:76
+#: dlfcn/dlinfo.c:73
 msgid "unsupported dlinfo request"
-msgstr "ÎÅÐÏÄÄÅÒÖÉ×ÁÅÍÙÊ ÚÁÐÒÏÓ dlinfo"
+msgstr "неподдерживаемый запрос dlinfo"
 
 #: dlfcn/dlmopen.c:64
 msgid "invalid namespace"
-msgstr "ÎÅ×ÅÒÎÏÅ ÐÒÏÓÔÒÁÎÓÔ×Ï ÉÍÅÎ"
+msgstr "неверное пространство имен"
 
 #: dlfcn/dlmopen.c:69
 msgid "invalid mode"
-msgstr "ÎÅ×ÅÒÎÙÊ ÒÅÖÉÍ"
+msgstr "неверный режим"
 
 #: dlfcn/dlopen.c:64
 msgid "invalid mode parameter"
-msgstr "ÎÅ×ÅÒÎÙÊ ÐÁÒÁÍÅÔÒ ÒÅÖÉÍÁ"
+msgstr "неверный параметр режима"
 
-#: elf/cache.c:67
+#: elf/cache.c:69
 msgid "unknown"
-msgstr "ÎÅÉÚ×ÅÓÔÎÏ"
+msgstr "неизвестно"
 
-#: elf/cache.c:110
+#: elf/cache.c:112
 msgid "Unknown OS"
-msgstr "îÅÉÚ×ÅÓÔÎÁÑ ïó"
+msgstr "Неизвестная ОС"
 
-#: elf/cache.c:115
+#: elf/cache.c:117
 #, c-format
 msgid ", OS ABI: %s %d.%d.%d"
-msgstr ", ABI ïó: %s %d.%d.%d"
+msgstr ", ABI ОС: %s %d.%d.%d"
 
-#: elf/cache.c:141 elf/ldconfig.c:1231
+#: elf/cache.c:134 elf/ldconfig.c:1270
 #, c-format
 msgid "Can't open cache file %s\n"
-msgstr "îÅ×ÏÚÍÏÖÎÏ ÏÔËÒÙÔØ ËÜÛ-ÆÁÊÌ %s\n"
+msgstr "Невозможно открыть кэш-файл %s\n"
 
-#: elf/cache.c:153
+#: elf/cache.c:148
 #, c-format
 msgid "mmap of cache file failed.\n"
-msgstr "ÏÔÏÂÒÁÖÅÎÉÅ ËÜÛ-ÆÁÊÌÁ × ÐÁÍÑÔØ ÎÅ ÕÄÁÌÏÓØ.\n"
+msgstr "отображение кэш-файла в память не удалось.\n"
 
-#: elf/cache.c:157 elf/cache.c:167
+#: elf/cache.c:152 elf/cache.c:166
 #, c-format
 msgid "File is not a cache file.\n"
-msgstr "üÔÏ ÎÅ ËÜÛ-ÆÁÊÌ.\n"
+msgstr "Это не кэш-файл.\n"
 
-#: elf/cache.c:200 elf/cache.c:210
+#: elf/cache.c:199 elf/cache.c:209
 #, c-format
 msgid "%d libs found in cache `%s'\n"
-msgstr "%d ÂÉÂÌÉÏÔÅË ÎÁÊÄÅÎÏ × ËÜÛÅ `%s'\n"
-
-#: elf/cache.c:409
-#, c-format
-msgid "Can't remove old temporary cache file %s"
-msgstr "îÅ×ÏÚÍÏÖÎÏ ÕÄÁÌÉÔØ ÓÔÁÒÙÊ ×ÒÅÍÅÎÎÙÊ ËÜÛ-ÆÁÊÌ %s"
+msgstr "%d библиотек найдено в кэше «%s»\n"
 
-#: elf/cache.c:416
+#: elf/cache.c:403
 #, c-format
 msgid "Can't create temporary cache file %s"
-msgstr "îÅ×ÏÚÍÏÖÎÏ ÓÏÚÄÁÔØ ×ÒÅÍÅÎÎÙÊ ËÜÛ-ÆÁÊÌ %s"
+msgstr "Невозможно создать временный кэш-файл %s"
 
-#: elf/cache.c:424 elf/cache.c:434 elf/cache.c:438
+#: 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 "úÁÐÉÓØ ÄÁÎÎÙÈ ËÜÛÁ ÎÅÕÓÐÅÛÎÁ"
-
-#: elf/cache.c:442
-#, c-format
-msgid "Writing of cache data failed."
-msgstr "úÁÐÉÓØ ÄÁÎÎÙÈ ËÜÛÁ ÎÅÕÓÐÅÛÎÁ."
+msgstr "Запись данных кэша неуспешна"
 
-#: elf/cache.c:449
+#: elf/cache.c:435
 #, c-format
 msgid "Changing access rights of %s to %#o failed"
-msgstr "éÚÍÅÎÅÎÉÅ ÐÒÁ× ÄÏÓÔÕÐÁ ÄÌÑ %s ÎÁ %#o ÎÅÕÓÐÅÛÎÏ"
+msgstr "Изменение прав доступа для %s на %#o неуспешно"
 
-#: elf/cache.c:454
+#: elf/cache.c:440
 #, c-format
 msgid "Renaming of %s to %s failed"
-msgstr "ðÅÒÅÉÍÅÎÏ×ÁÎÉÅ %s × %s ÎÅÕÓÐÅÛÎÏ"
+msgstr "Переименование %s в %s неуспешно"
+
+#: elf/dl-close.c:378 elf/dl-open.c:460
+msgid "cannot create scope list"
+msgstr "невозможно создать список областей"
 
-#: elf/dl-close.c:116
+#: elf/dl-close.c:724
 msgid "shared object not open"
-msgstr "ÒÁÚÄÅÌÑÅÍÙÊ ÏÂßÅËÔ ÎÅ ÏÔËÒÙÔ"
+msgstr "разделяемый объект не открыт"
 
-#: elf/dl-deps.c:112
+#: elf/dl-deps.c:114
 msgid "DST not allowed in SUID/SGID programs"
-msgstr "DST ÎÅ ÄÏÐÕÓËÁÅÔÓÑ × ÐÒÏÇÒÁÍÍÁÈ Ó SUID/SGID"
+msgstr "DST не допускается в программах с SUID/SGID"
 
-#: elf/dl-deps.c:125
-msgid "empty dynamics string token substitution"
-msgstr ""
+#: elf/dl-deps.c:127 elf/dl-open.c:282
+msgid "empty dynamic string token substitution"
+msgstr "пустое вхождение динамического строкового токена"
 
-#: elf/dl-deps.c:131
+#: elf/dl-deps.c:133
 #, c-format
 msgid "cannot load auxiliary `%s' because of empty dynamic string token substitution\n"
-msgstr ""
+msgstr "невозможно загрузить вспомогательное  «%s» из-за вхождения пустого динамического строкового токена\n"
 
-#: elf/dl-deps.c:472
+#: elf/dl-deps.c:474
 msgid "cannot allocate dependency list"
-msgstr "ÎÅ×ÏÚÍÏÖÎÏ ×ÙÄÅÌÉÔØ ÐÁÍÑÔØ ÐÏÄ ÓÐÉÓÏË ÚÁ×ÉÓÉÍÏÓÔÅÊ"
+msgstr "невозможно выделить память под список зависимостей"
 
-#: elf/dl-deps.c:505 elf/dl-deps.c:560
+#: elf/dl-deps.c:510 elf/dl-deps.c:565
 msgid "cannot allocate symbol search list"
-msgstr "ÎÅ×ÏÚÍÏÖÎÏ ×ÙÄÅÌÉÔØ ÐÁÍÑÔØ ÐÏÄ ÓÐÉÓÏË ÐÏÉÓËÁ ÓÉÍ×ÏÌÏ×"
+msgstr "невозможно выделить память под список поиска символов"
 
-#: elf/dl-deps.c:545
+#: elf/dl-deps.c:550
 msgid "Filters not supported with LD_TRACE_PRELINKING"
-msgstr "æÉÌØÔÒÙ ÎÅ ÐÏÄÄÅÒÖÉ×ÁÀÔÓÑ Ó LD_TRACE_PRELINKING"
+msgstr "Фильтры не поддерживаются с LD_TRACE_PRELINKING"
 
 #: elf/dl-error.c:77
 msgid "DYNAMIC LINKER BUG!!!"
-msgstr "ïûéâëá äéîáíéþåóëïçï ëïíðïîï÷ýéëá!!!"
+msgstr "ОШИБКА ДИНАМИЧЕСКОГО КОМПОНОВЩИКА!!!"
 
 #: elf/dl-error.c:124
 msgid "error while loading shared libraries"
-msgstr "ÏÛÉÂËÁ ÐÒÉ ÚÁÇÒÕÚËÅ ÒÁÚÄÅÌÑÅÍÙÈ ÂÉÂÌÉÏÔÅË"
+msgstr "ошибка при загрузке разделяемых библиотек"
 
 #: elf/dl-fptr.c:88
 msgid "cannot map pages for fdesc table"
-msgstr "ÎÅ×ÏÚÍÏÖÎÏ ÏÔÏÂÒÁÚÉÔØ ÓÔÒÁÎÉÃÙ ÄÌÑ ÔÁÂÌÉÃÙ fdesc"
+msgstr "невозможно отобразить страницы для таблицы fdesc"
 
 #: elf/dl-fptr.c:192
 msgid "cannot map pages for fptr table"
-msgstr "ÎÅ×ÏÚÍÏÖÎÏ ÏÔÏÂÒÁÚÉÔØ ÓÔÒÁÎÉÃÙ ÄÌÑ ÔÁÂÌÉÃÙ fptr"
+msgstr "невозможно отобразить страницы для таблицы fptr"
 
 #: elf/dl-fptr.c:221
 msgid "internal error: symidx out of range of fptr table"
-msgstr "×ÎÕÔÒÅÎÎÑÑ ÏÛÉÂËÁ: symidx ×ÙÈÏÄÉÔ ÚÁ ÐÒÅÄÅÌÙ ÔÁÂÌÉÃÙ fptr"
+msgstr "внутренняя ошибка: symidx выходит за пределы таблицы fptr"
 
 #: elf/dl-load.c:372
 msgid "cannot allocate name record"
-msgstr "ÎÅ×ÏÚÍÏÖÎÏ ×ÙÄÅÌÉÔØ ÐÁÍÑÔØ ÐÏÄ ÚÁÐÉÓØ ÉÍÅÎÉ"
+msgstr "невозможно выделить память под запись имени"
 
-#: elf/dl-load.c:474 elf/dl-load.c:553 elf/dl-load.c:673 elf/dl-load.c:786
+#: 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 "ÎÅ×ÏÚÍÏÖÎÏ ÓÏÚÄÁÔØ ËÜÛ ÄÌÑ ÐÕÔÅÊ ÐÏÉÓËÁ"
+msgstr "невозможно создать кэш для путей поиска"
 
-#: elf/dl-load.c:576
+#: elf/dl-load.c:565
 msgid "cannot create RUNPATH/RPATH copy"
-msgstr "ÎÅ×ÏÚÍÏÖÎÏ ÓÏÚÄÁÔØ ËÏÐÉÀ RUNPATH/RPATH"
+msgstr "невозможно создать копию RUNPATH/RPATH"
 
-#: elf/dl-load.c:659
+#: elf/dl-load.c:653
 msgid "cannot create search path array"
-msgstr "ÎÅ×ÏÚÍÏÖÎÏ ÓÏÚÄÁÔØ ÍÁÓÓÉ× ÐÕÔÅÊ ÐÏÉÓËÁ"
+msgstr "невозможно создать массив путей поиска"
 
-#: elf/dl-load.c:870
+#: elf/dl-load.c:864
 msgid "cannot stat shared object"
-msgstr "ÎÅ×ÏÚÍÏÖÎÏ ×ÙÐÏÌÎÉÔØ stat ÄÌÑ ÒÁÚÄÅÌÑÅÍÏÇÏ ÏÂßÅËÔÁ"
+msgstr "невозможно выполнить stat для разделяемого объекта"
 
-#: elf/dl-load.c:940
+#: elf/dl-load.c:934
 msgid "cannot open zero fill device"
-msgstr "ÎÅ×ÏÚÍÏÖÎÏ ÏÔËÒÙÔØ ÆÁÊÌ-ÉÓÔÏÞÎÉË ÎÕÌÅÊ"
+msgstr "невозможно открыть файл-источник нулей"
 
-#: elf/dl-load.c:985 elf/dl-load.c:2215
+#: elf/dl-load.c:979 elf/dl-load.c:2224
 msgid "cannot create shared object descriptor"
-msgstr "ÎÅ×ÏÚÍÏÖÎÏ ÓÏÚÄÁÔØ ÄÅÓËÒÉÐÔÏÒ ÒÁÚÄÅÌÑÅÍÏÇÏ ÏÂßÅËÔÁ"
+msgstr "невозможно создать дескриптор разделяемого объекта"
 
-#: elf/dl-load.c:1004 elf/dl-load.c:1663 elf/dl-load.c:1755
+#: elf/dl-load.c:998 elf/dl-load.c:1656 elf/dl-load.c:1748
 msgid "cannot read file data"
-msgstr "ÎÅ×ÏÚÍÏÖÎÏ ÐÒÏÞÉÔÁÔØ ÄÁÎÎÙÅ ÆÁÊÌÁ"
+msgstr "невозможно прочитать данные файла"
 
-#: elf/dl-load.c:1048
+#: elf/dl-load.c:1042
 msgid "ELF load command alignment not page-aligned"
-msgstr "×ÙÒÁ×ÎÉ×ÁÎÉÅ ËÏÍÁÎÄÙ ÚÁÇÒÕÚËÉ ELF ÎÅ ×ÙÒÏ×ÎÅÎÏ ÐÏ ÓÔÒÁÎÉÃÅ"
+msgstr "выравнивание команды загрузки ELF не выровнено по странице"
 
-#: elf/dl-load.c:1055
+#: elf/dl-load.c:1049
 msgid "ELF load command address/offset not properly aligned"
-msgstr "ÁÄÒÅÓ/ÓÍÅÝÅÎÉÅ ËÏÍÁÎÄÙ ÚÁÇÒÕÚËÉ ELF ÎÅ ×ÙÒÏ×ÎÅÎÏ ÐÒÁ×ÉÌØÎÏ"
+msgstr "адрес/смещение команды загрузки ELF не выровнено правильно"
 
-#: elf/dl-load.c:1139
+#: elf/dl-load.c:1132
 msgid "cannot allocate TLS data structures for initial thread"
-msgstr "ÎÅ×ÏÚÍÏÖÎÏ ×ÙÄÅÌÉÔØ ÐÁÍÑÔØ ÐÏÄ TLS-ÓÔÒÕËÔÕÒÙ ÄÌÑ ÎÁÞÁÌØÎÏÇÏ ÔÒÅÄÁ"
+msgstr "невозможно выделить память под TLS-структуры для начального треда"
 
-#: elf/dl-load.c:1163
+#: elf/dl-load.c:1155
 msgid "cannot handle TLS data"
-msgstr "ÎÅ×ÏÚÍÏÖÎÏ ÏÂÒÁÂÏÔÁÔØ ÄÁÎÎÙÅ TLS"
+msgstr "невозможно обработать данные TLS"
 
-#: elf/dl-load.c:1182
+#: elf/dl-load.c:1174
 msgid "object file has no loadable segments"
-msgstr "× ÏÂßÅËÔÎÏÍ ÆÁÊÌÅ ÎÅÔ ÚÁÇÒÕÖÁÅÍÙÈ ÓÅÇÍÅÎÔÏ×"
+msgstr "в объектном файле нет загружаемых сегментов"
 
-#: elf/dl-load.c:1218
+#: elf/dl-load.c:1210
 msgid "failed to map segment from shared object"
-msgstr "ÓÂÏÊ ÏÔÏÂÒÁÖÅÎÉÑ ÓÅÇÍÅÎÔÁ ÉÚ ÒÁÚÄÅÌÑÅÍÏÇÏ ÏÂßÅËÔÁ"
+msgstr "сбой отображения сегмента из разделяемого объекта"
 
-#: elf/dl-load.c:1242
+#: elf/dl-load.c:1236
 msgid "cannot dynamically load executable"
-msgstr "ÎÅ×ÏÚÍÏÖÎÏ ÄÉÎÁÍÉÞÅÓËÉ ÚÁÇÒÕÚÉÔØ ÉÓÐÏÌÎÑÅÍÙÊ ÆÁÊÌ"
+msgstr "невозможно динамически загрузить исполняемый файл"
 
-#: elf/dl-load.c:1303
+#: elf/dl-load.c:1298
 msgid "cannot change memory protections"
-msgstr "ÎÅ×ÏÚÍÏÖÎÏ ÉÚÍÅÎÉÔØ ÚÁÝÉÔÕ ÐÁÍÑÔÉ"
+msgstr "невозможно изменить защиту памяти"
 
-#: elf/dl-load.c:1322
+#: elf/dl-load.c:1317
 msgid "cannot map zero-fill pages"
-msgstr "ÎÅ×ÏÚÍÏÖÎÏ ÏÔÏÂÒÁÚÉÔØ ÓÔÒÁÎÉÃÙ ÚÁÐÏÌÎÅÎÉÑ ÎÕÌÑÍÉ"
+msgstr "невозможно отобразить страницы заполнения нулями"
 
-#: elf/dl-load.c:1336
+#: elf/dl-load.c:1331
 msgid "object file has no dynamic section"
-msgstr "× ÏÂßÅËÔÎÏÍ ÆÁÊÌÅ ÎÅÔ ÄÉÎÁÍÉÞÅÓËÏÊ ÓÅËÃÉÉ"
+msgstr "в объектном файле нет динамической секции"
 
-#: elf/dl-load.c:1359
+#: elf/dl-load.c:1354
 msgid "shared object cannot be dlopen()ed"
-msgstr "ÎÅ×ÏÚÍÏÖÎÏ ÐÒÉÍÅÎÉÔØ dlopen() Ë ÒÁÚÄÅÌÑÅÍÏÍÕ ÏÂßÅËÔÕ"
+msgstr "невозможно применить dlopen() к разделяемому объекту"
 
-#: elf/dl-load.c:1372
+#: elf/dl-load.c:1367
 msgid "cannot allocate memory for program header"
-msgstr "ÎÅ×ÏÚÍÏÖÎÏ ×ÙÄÅÌÉÔØ ÐÁÍÑÔØ ÐÏÄ ÚÁÇÏÌÏ×ÏË ÐÒÏÇÒÁÍÍÙ"
+msgstr "невозможно выделить память под заголовок программы"
 
-#: elf/dl-load.c:1389 elf/dl-open.c:174
+#: elf/dl-load.c:1384 elf/dl-open.c:218
 msgid "invalid caller"
-msgstr "ÎÅ×ÅÒÎÁÑ ×ÙÚÙ×ÁÀÝÁÑ ÆÕÎËÃÉÑ"
+msgstr "неверная вызывающая функция"
 
-#: elf/dl-load.c:1428
+#: elf/dl-load.c:1423
 msgid "cannot enable executable stack as shared object requires"
-msgstr "ÎÅ×ÏÚÍÏÖÎÏ ÚÁÄÅÊÓÔ×Ï×ÁÔØ ÉÓÐÏÌÎÑÅÍÙÊ ÓÔÅË, ËÁË ÔÒÅÂÕÅÔ ÒÁÚÄÅÌÑÅÍÙÊ ÏÂßÅËÔ"
+msgstr "невозможно задействовать исполняемый стек, как требует разделяемый объект"
 
-#: elf/dl-load.c:1443
+#: elf/dl-load.c:1436
 msgid "cannot close file descriptor"
-msgstr "ÎÅ×ÏÚÍÏÖÎÏ ÚÁËÒÙÔØ ÄÅÓËÒÉÐÔÏÒ ÆÁÊÌÁ"
+msgstr "невозможно закрыть дескриптор файла"
 
-#: elf/dl-load.c:1485
+#: elf/dl-load.c:1478
 msgid "cannot create searchlist"
-msgstr "ÎÅ×ÏÚÍÏÖÎÏ ÓÏÚÄÁÔØ ÓÐÉÓÏË ÐÏÉÓËÁ"
+msgstr "невозможно создать список поиска"
 
-#: elf/dl-load.c:1663
+#: elf/dl-load.c:1656
 msgid "file too short"
-msgstr "ÆÁÊÌ ÓÌÉÛËÏÍ ÍÁÌ"
+msgstr "файл слишком мал"
 
-#: elf/dl-load.c:1692
+#: elf/dl-load.c:1685
 msgid "invalid ELF header"
-msgstr "ÎÅ×ÅÒÎÙÊ ÚÁÇÏÌÏ×ÏË ELF"
+msgstr "неверный заголовок ELF"
 
-#: elf/dl-load.c:1704
+#: elf/dl-load.c:1697
 msgid "ELF file data encoding not big-endian"
-msgstr "ËÏÄÉÒÏ×ËÁ ÄÁÎÎÙÈ × ELF-ÆÁÊÌÅ ÎÅ ÔÕÐÏËÏÎÅÞÎÁÑ"
+msgstr "кодировка данных в ELF-файле не тупоконечная"
 
-#: elf/dl-load.c:1706
+#: elf/dl-load.c:1699
 msgid "ELF file data encoding not little-endian"
-msgstr "ËÏÄÉÒÏ×ËÁ ÄÁÎÎÙÈ × ELF-ÆÁÊÌÅ ÎÅ ÏÓÔÒÏËÏÎÅÞÎÁÑ"
+msgstr "кодировка данных в ELF-файле не остроконечная"
 
-#: elf/dl-load.c:1710
+#: elf/dl-load.c:1703
 msgid "ELF file version ident does not match current one"
-msgstr "ÉÄÅÎÔÉÆÉËÁÔÏÒ ×ÅÒÓÉÉ ELF-ÆÁÊÌÁ ÎÅ ÓÏÏÔ×ÅÔÓÔ×ÕÅÔ ÔÅËÕÝÅÊ ×ÅÒÓÉÉ"
+msgstr "идентификатор версии ELF-файла не соответствует текущей версии"
 
-#: elf/dl-load.c:1714
+#: elf/dl-load.c:1707
 msgid "ELF file OS ABI invalid"
-msgstr "ÎÅ×ÅÒÎÙÊ ABI ïó ELF-ÆÁÊÌÁ"
+msgstr "неверный ABI ОС ELF-файла"
 
-#: elf/dl-load.c:1716
+#: elf/dl-load.c:1709
 msgid "ELF file ABI version invalid"
-msgstr "ÎÅ×ÅÒÎÁÑ ×ÅÒÓÉÑ ABI ELF-ÆÁÊÌÁ"
+msgstr "неверная версия ABI ELF-файла"
 
-#: elf/dl-load.c:1719
+#: elf/dl-load.c:1712
 msgid "internal error"
-msgstr "×ÎÕÔÒÅÎÎÑÑ ÏÛÉÂËÁ"
+msgstr "внутренняя ошибка"
 
-#: elf/dl-load.c:1726
+#: elf/dl-load.c:1719
 msgid "ELF file version does not match current one"
-msgstr "×ÅÒÓÉÑ ELF-ÆÁÊÌÁ ÎÅ ÓÏÏÔ×ÅÔÓÔ×ÕÅÔ ÔÅËÕÝÅÊ ×ÅÒÓÉÉ"
+msgstr "версия ELF-файла не соответствует текущей версии"
 
-#: elf/dl-load.c:1734
+#: elf/dl-load.c:1727
 msgid "only ET_DYN and ET_EXEC can be loaded"
-msgstr "ÍÏÖÎÏ ÚÁÇÒÕÚÉÔØ ÔÏÌØËÏ ET_DYN É ET_EXEC"
+msgstr "можно загрузить только ET_DYN и ET_EXEC"
 
 # ???
-#: elf/dl-load.c:1740
+#: elf/dl-load.c:1733
 msgid "ELF file's phentsize not the expected size"
-msgstr "phentsize ELF-ÆÁÊÌÁ ÎÅ ÓÏ×ÐÁÄÁÅÔ Ó ÏÖÉÄÁÅÍÙÍ ÒÁÚÍÅÒÏÍ"
+msgstr "phentsize ELF-файла не совпадает с ожидаемым размером"
 
-#: elf/dl-load.c:2231
+#: elf/dl-load.c:2240
 msgid "wrong ELF class: ELFCLASS64"
-msgstr "ÎÅÐÒÁ×ÉÌØÎÙÊ ËÌÁÓÓ ELF: ELFCLASS64"
+msgstr "неправильный класс ELF: ELFCLASS64"
 
-#: elf/dl-load.c:2232
+#: elf/dl-load.c:2241
 msgid "wrong ELF class: ELFCLASS32"
-msgstr "ÎÅÐÒÁ×ÉÌØÎÙÊ ËÌÁÓÓ ELF: ELFCLASS32"
+msgstr "неправильный класс ELF: ELFCLASS32"
 
-#: elf/dl-load.c:2235
+#: elf/dl-load.c:2244
 msgid "cannot open shared object file"
-msgstr "ÎÅ×ÏÚÍÏÖÎÏ ÏÔËÒÙÔØ ÒÁÚÄÅÌÑÅÍÙÊ ÏÂßÅËÔÎÙÊ ÆÁÊÌ"
+msgstr "невозможно открыть разделяемый объектный файл"
 
-#: elf/dl-lookup.c:261
+#: elf/dl-lookup.c:356
 msgid "relocation error"
-msgstr "ÏÛÉÂËÁ ÐÅÒÅÍÅÝÅÎÉÑ"
+msgstr "ошибка перемещения"
 
-#: elf/dl-lookup.c:289
+#: elf/dl-lookup.c:384
 msgid "symbol lookup error"
-msgstr "ÏÛÉÂËÁ ÐÏÉÓËÁ ÓÉÍ×ÏÌÁ"
+msgstr "ошибка поиска символа"
 
-#: elf/dl-open.c:112
+#: elf/dl-open.c:114
 msgid "cannot extend global scope"
-msgstr "ÎÅ×ÏÚÍÏÖÎÏ ÒÁÓÛÉÒÉÔØ ÇÌÏÂÁÌØÎÕÀ ÏÂÌÁÓÔØ"
+msgstr "невозможно расширить глобальную область"
 
-#: elf/dl-open.c:237
-msgid "empty dynamic string token substitution"
-msgstr ""
-
-#: elf/dl-open.c:406 elf/dl-open.c:417 elf/dl-open.c:425
-msgid "cannot create scope list"
-msgstr "ÎÅ×ÏÚÍÏÖÎÏ ÓÏÚÄÁÔØ ÓÐÉÓÏË ÏÂÌÁÓÔÅÊ"
-
-#: elf/dl-open.c:470
+#: elf/dl-open.c:512
 msgid "TLS generation counter wrapped!  Please report this."
-msgstr "ðÅÒÅÐÏÌÎÅÎÉÅ ÓÞÅÔÞÉËÁ ÐÏËÏÌÅÎÉÊ TLS!  ðÏÖÁÌÕÊÓÔÁ, ÓÏÏÂÝÉÔÅ Ï ÜÔÏÍ."
+msgstr "Переполнение счетчика поколений TLS!  Пожалуйста, сообщите об этом."
 
-#: elf/dl-open.c:508
+#: elf/dl-open.c:549
 msgid "invalid mode for dlopen()"
-msgstr "ÎÅ×ÅÒÎÙÊ ÒÅÖÉÍ ÄÌÑ dlopen()"
+msgstr "неверный режим для dlopen()"
 
-#: elf/dl-open.c:525
+#: elf/dl-open.c:566
 msgid "no more namespaces available for dlmopen()"
-msgstr "ÂÏÌØÛÅ ÎÅÔ ÄÏÓÔÕÐÎÙÈ ÐÒÏÓÔÒÁÎÓÔ× ÉÍÅΠÄÌÑ dlmopen()"
+msgstr "больше нет доступных пространств имен для dlmopen()"
 
-#: elf/dl-open.c:538
+#: elf/dl-open.c:579
 msgid "invalid target namespace in dlmopen()"
-msgstr "ÎÅ×ÅÒÎÏÅ ÃÅÌÅ×ÏÅ ÐÒÏÓÔÒÁÎÓÔ×Ï ÉÍÅΠנdlmopen()"
+msgstr "неверное целевое пространство имен в dlmopen()"
 
-#: elf/dl-reloc.c:55
+#: elf/dl-reloc.c:54
 msgid "cannot allocate memory in static TLS block"
-msgstr "ÎÅ×ÏÚÍÏÖÎÏ ×ÙÄÅÌÉÔØ ÐÁÍÑÔØ × ÓÔÁÔÉÞÎÏÍ ÂÌÏËÅ TLS"
+msgstr "невозможно выделить память в статичном блоке TLS"
 
-#: elf/dl-reloc.c:198
+#: elf/dl-reloc.c:196
 msgid "cannot make segment writable for relocation"
-msgstr "ÎÅ×ÏÚÍÏÖÎÏ ÓÄÅÌÁÔØ ÓÅÇÍÅÎÔ ÚÁÐÉÓÙ×ÁÅÍÙÍ ÄÌÑ ÐÅÒÅÍÅÝÅÎÉÑ"
+msgstr "невозможно сделать сегмент записываемым для перемещения"
 
-#: elf/dl-reloc.c:279
+#: elf/dl-reloc.c:277
 #, c-format
 msgid "%s: no PLTREL found in object %s\n"
-msgstr "%s: × ÏÂßÅËÔÅ %s ÎÅ ÎÁÊÄÅÎÏ PLTREL\n"
+msgstr "%s: в объекте %s не найдено PLTREL\n"
 
-#: elf/dl-reloc.c:290
+#: elf/dl-reloc.c:288
 #, c-format
 msgid "%s: out of memory to store relocation results for %s\n"
-msgstr "%s: ÎÅÄÏÓÔÁÔÏÞÎÏ ÐÁÍÑÔÉ ÄÌÑ ÚÁÐÉÓÉ ÒÅÚÕÌØÔÁÔÏ× ÒÅÌÏËÁÃÉÉ ÄÌÑ %s\n"
+msgstr "%s: недостаточно памяти для записи результатов релокации для %s\n"
 
-#: elf/dl-reloc.c:306
+#: elf/dl-reloc.c:304
 msgid "cannot restore segment prot after reloc"
-msgstr "ÎÅ×ÏÚÍÏÖÎÏ ×ÏÓÓÔÁÎÏ×ÉÔØ ÚÁÝÉÔÕ ÓÅÇÍÅÎÔÁ ÐÏÓÌÅ ÐÅÒÅÍÅÝÅÎÉÑ"
+msgstr "невозможно восстановить защиту сегмента после перемещения"
 
-#: elf/dl-reloc.c:331
+#: elf/dl-reloc.c:329
 msgid "cannot apply additional memory protection after relocation"
-msgstr "ÎÅ×ÏÚÍÏÖÎÏ ÐÒÉÍÅÎÉÔØ ÄÏÐÏÌÎÉÔÅÌØÎÕÀ ÚÁÝÉÔÕ ÐÁÍÑÔÉ ÐÏÓÌÅ ÒÅÌÏËÁÃÉÉ"
+msgstr "невозможно применить дополнительную защиту памяти после релокации"
 
-#: elf/dl-sym.c:98
+#: elf/dl-sym.c:162
 msgid "RTLD_NEXT used in code not dynamically loaded"
-msgstr "RTLD_NEXT ÉÓÐÏÌØÚÏ×ÁÎÏ × ÎÅ ÄÉÎÁÍÉÞÅÓËÉ ÚÁÇÒÕÖÅÎÎÏÍ ËÏÄÅ"
+msgstr "RTLD_NEXT использовано в не динамически загруженном коде"
 
-#: elf/dl-sysdep.c:495
+#: elf/dl-sysdep.c:469 elf/dl-sysdep.c:481
 msgid "cannot create capability list"
-msgstr "ÎÅ×ÏÚÍÏÖÎÏ ÓÏÚÄÁÔØ ÓÐÉÓÏË ×ÏÚÍÏÖÎÏÓÔÅÊ"
+msgstr "невозможно создать список возможностей"
 
-#: elf/dl-tls.c:829
+#: elf/dl-tls.c:825
 msgid "cannot create TLS data structures"
-msgstr "ÎÅ×ÏÚÍÏÖÎÏ ÓÏÚÄÁÔØ ÓÔÒÕËÔÕÒÙ ÄÁÎÎÙÈ TLS"
+msgstr "невозможно создать структуры данных TLS"
 
 #: elf/dl-version.c:303
 msgid "cannot allocate version reference table"
-msgstr "ÎÅ×ÏÚÍÏÖÎÏ ×ÙÄÅÌÉÔØ ÐÁÍÑÔØ ÐÏÄ ÔÁÂÌÉÃÕ ÓÓÙÌÏË ÎÁ ×ÅÒÓÉÉ"
+msgstr "невозможно выделить память под таблицу ссылок на версии"
 
-#: elf/ldconfig.c:133
+#: elf/ldconfig.c:138
 msgid "Print cache"
-msgstr "îÁÐÅÞÁÔÁÔØ ËÜÛ"
+msgstr "Напечатать кэш"
 
-#: elf/ldconfig.c:134
+#: elf/ldconfig.c:139
 msgid "Generate verbose messages"
-msgstr "çÅÎÅÒÉÒÏ×ÁÔØ ÐÏÄÒÏÂÎÙÅ ÓÏÏÂÝÅÎÉÑ"
+msgstr "Генерировать подробные сообщения"
 
-#: elf/ldconfig.c:135
+#: elf/ldconfig.c:140
 msgid "Don't build cache"
-msgstr "îÅ ÓÔÒÏÉÔØ ËÜÛ"
+msgstr "Не строить кэш"
 
-#: elf/ldconfig.c:136
+#: elf/ldconfig.c:141
 msgid "Don't generate links"
-msgstr "îÅ ÇÅÎÅÒÉÒÏ×ÁÔØ ÓÓÙÌËÉ"
+msgstr "Не генерировать ссылки"
 
-#: elf/ldconfig.c:137
+#: elf/ldconfig.c:142
 msgid "Change to and use ROOT as root directory"
-msgstr "ðÅÒÅÊÔÉ × ROOT É ÉÓÐÏÌØÚÏ×ÁÔØ ÅÇÏ ËÁË ËÏÒÎÅ×ÏÊ ËÁÔÁÌÏÇ"
+msgstr "Перейти в КОРЕНЬ и использовать его как корневой каталог"
 
-#: elf/ldconfig.c:137
+#: elf/ldconfig.c:142
 msgid "ROOT"
-msgstr ""
+msgstr "КОРЕНЬ"
 
-#: elf/ldconfig.c:138
+#: elf/ldconfig.c:143
 msgid "CACHE"
-msgstr ""
+msgstr "КЭШ"
 
-#: elf/ldconfig.c:138
+#: elf/ldconfig.c:143
 msgid "Use CACHE as cache file"
-msgstr "éÓÐÏÌØÚÏ×ÁÔØ CACHE × ËÁÞÅÓÔ×Å ËÜÛ-ÆÁÊÌÁ"
+msgstr "Использовать КЭШ в качестве кэш-файла"
 
-#: elf/ldconfig.c:139
+#: elf/ldconfig.c:144
 msgid "CONF"
-msgstr ""
+msgstr "КОНФИГУРАЦИЯ"
 
-#: elf/ldconfig.c:139
+#: elf/ldconfig.c:144
 msgid "Use CONF as configuration file"
-msgstr "éÓÐÏÌØÚÏ×ÁÔØ CONF × ËÁÞÅÓÔ×Å ËÏÎÆÉÇÕÒÁÃÉÏÎÎÏÇÏ ÆÁÊÌÁ"
+msgstr "Использовать КОНФИГУРАЦИЯ в качестве конфигурационного файла"
 
-#: elf/ldconfig.c:140
+#: elf/ldconfig.c:145
 msgid "Only process directories specified on the command line.  Don't build cache."
-msgstr "ïÂÒÁÂÏÔÁÔØ ÔÏÌØËÏ ËÁÔÁÌÏÇÉ, ÕËÁÚÁÎÎÙÅ × ËÏÍÁÎÄÎÏÊ ÓÔÒÏËÅ.  îÅ ÓÔÒÏÉÔØ ËÜÛ."
+msgstr "Обработать только каталоги, указанные в командной строке.  Не строить кэш."
 
-#: elf/ldconfig.c:141
+#: elf/ldconfig.c:146
 msgid "Manually link individual libraries."
-msgstr "÷ÒÕÞÎÕÀ ÓËÏÍÐÏÎÏ×ÁÔØ ÏÔÄÅÌØÎÙÅ ÂÉÂÌÉÏÔÅËÉ."
+msgstr "Вручную скомпоновать отдельные библиотеки."
 
-#: elf/ldconfig.c:142
+#: elf/ldconfig.c:147
 msgid "FORMAT"
-msgstr ""
+msgstr "FORMAT"
 
-#: elf/ldconfig.c:142
+#: elf/ldconfig.c:147
 msgid "Format to use: new, old or compat (default)"
-msgstr "éÓÐÏÌØÚÕÅÍÙÊ ÆÏÒÍÁÔ: new, old ÉÌÉ compat (ÐÏ ÕÍÏÌÞÁÎÉÀ)"
+msgstr "Используемый формат: new, old или compat (по умолчанию)"
 
-#: elf/ldconfig.c:150
+#: elf/ldconfig.c:148
+msgid "Ignore auxiliary cache file"
+msgstr "Игнорирование вспомогательного файла кэша"
+
+#: elf/ldconfig.c:156
 msgid "Configure Dynamic Linker Run Time Bindings."
-msgstr "ëÏÎÆÉÇÕÒÉÒÕÅÔ Ó×ÑÚÉ ×ÒÅÍÅÎÉ ×ÙÐÏÌÎÅÎÉÑ ÄÌÑ ÄÉÎÁÍÉÞÅÓËÏÇÏ ËÏÍÐÏÎÏ×ÝÉËÁ."
+msgstr "Конфигурирует связи времени выполнения для динамического компоновщика."
 
-#: elf/ldconfig.c:308
+#: elf/ldconfig.c:319
 #, c-format
 msgid "Path `%s' given more than once"
-msgstr "ðÕÔØ `%s' ÚÁÄÁΠÎÅÓËÏÌØËÏ ÒÁÚ"
+msgstr "Путь «%s» задан несколько раз"
 
-#: elf/ldconfig.c:348
+#: elf/ldconfig.c:359
 #, c-format
 msgid "%s is not a known library type"
-msgstr "%s ÎÅ Ñ×ÌÑÅÔÓÑ ÉÚ×ÅÓÔÎÙÍ ÔÉÐÏÍ ÂÉÂÌÉÏÔÅËÉ"
+msgstr "%s не является известным типом библиотеки"
 
-#: elf/ldconfig.c:373
+#: elf/ldconfig.c:384
 #, c-format
 msgid "Can't stat %s"
-msgstr "îÅ×ÏÚÍÏÖÎÏ ×ÙÐÏÌÎÉÔØ stat %s"
+msgstr "Невозможно выполнить stat %s"
 
-#: elf/ldconfig.c:447
+#: elf/ldconfig.c:458
 #, c-format
 msgid "Can't stat %s\n"
-msgstr "îÅ×ÏÚÍÏÖÎÏ ×ÙÐÏÌÎÉÔØ stat %s\n"
+msgstr "Невозможно выполнить stat %s\n"
 
-#: elf/ldconfig.c:457
+#: elf/ldconfig.c:468
 #, c-format
 msgid "%s is not a symbolic link\n"
-msgstr "%s ÎÅ Ñ×ÌÑÅÔÓÑ ÓÉÍ×ÏÌØÎÏÊ ÓÓÙÌËÏÊ\n"
+msgstr "%s не является символьной ссылкой\n"
 
-#: elf/ldconfig.c:476
+#: elf/ldconfig.c:487
 #, c-format
 msgid "Can't unlink %s"
-msgstr "îÅ×ÏÚÍÏÖÎÏ ÕÄÁÌÉÔØ ÓÓÙÌËÕ %s"
+msgstr "Невозможно удалить ссылку %s"
 
-#: elf/ldconfig.c:482
+#: elf/ldconfig.c:493
 #, c-format
 msgid "Can't link %s to %s"
-msgstr "îÅ×ÏÚÍÏÖÎÏ ÓÏÚÄÁÔØ ÓÓÙÌËÕ Ó %s ÎÁ %s"
+msgstr "Невозможно создать ссылку с %s на %s"
 
-#: elf/ldconfig.c:488
+#: elf/ldconfig.c:499
 msgid " (changed)\n"
-msgstr " (ÉÍÅÎÅÎÏ)\n"
+msgstr " (именено)\n"
 
-#: elf/ldconfig.c:490
+#: elf/ldconfig.c:501
 msgid " (SKIPPED)\n"
-msgstr " (ðòïðõýåîï)\n"
+msgstr " (ПРОПУЩЕНО)\n"
 
-#: elf/ldconfig.c:545
+#: elf/ldconfig.c:556
 #, c-format
 msgid "Can't find %s"
-msgstr "îÅ×ÏÚÍÏÖÎÏ ÎÁÊÔÉ %s"
+msgstr "Невозможно найти %s"
 
-#: elf/ldconfig.c:561
+#: elf/ldconfig.c:572 elf/ldconfig.c:745 elf/ldconfig.c:793 elf/ldconfig.c:827
 #, c-format
-msgid "Can't lstat %s"
-msgstr "îÅ×ÏÚÍÏÖÎÏ ×ÙÐÏÌÎÉÔØ lstat %s"
+msgid "Cannot lstat %s"
+msgstr "Невозможно выполнить lstat %s"
 
-#: elf/ldconfig.c:568
+#: elf/ldconfig.c:579
 #, c-format
 msgid "Ignored file %s since it is not a regular file."
-msgstr "æÁÊÌ %s ÉÇÎÏÒÉÒÏ×ÁÎ, ÐÏÓËÏÌØËÕ ÜÔÏ ÎÅ ÏÂÙÞÎÙÊ ÆÁÊÌ"
+msgstr "Файл %s игнорирован, поскольку это не обычный файл"
 
-#: elf/ldconfig.c:576
+#: elf/ldconfig.c:588
 #, c-format
 msgid "No link created since soname could not be found for %s"
-msgstr "óÓÙÌËÁ ÎÅ ÓÏÚÄÁÎÁ, ÐÏÓËÏÌØËÕ ÄÌÑ %s ÎÅ ÂÙÌÏ ÎÁÊÄÅÎÏ soname"
+msgstr "Ссылка не создана, поскольку для %s не было найдено soname"
 
-#: elf/ldconfig.c:667
+#: elf/ldconfig.c:671
 #, c-format
 msgid "Can't open directory %s"
-msgstr "îÅ×ÏÚÍÏÖÎÏ ÏÔËÒÙÔØ ËÁÔÁÌÏÇ %s"
-
-#: elf/ldconfig.c:735 elf/ldconfig.c:782
-#, c-format
-msgid "Cannot lstat %s"
-msgstr "îÅ×ÏÚÍÏÖÎÏ ×ÙÐÏÌÎÉÔØ lstat %s"
+msgstr "Невозможно открыть каталог %s"
 
-#: elf/ldconfig.c:747
+#: elf/ldconfig.c:759
 #, c-format
 msgid "Cannot stat %s"
-msgstr "îÅ×ÏÚÍÏÖÎÏ ×ÙÐÏÌÎÉÔØ stat %s"
+msgstr "Невозможно выполнить stat %s"
 
-#: elf/ldconfig.c:804 elf/readlib.c:90
+#: elf/ldconfig.c:814 elf/readlib.c:91
 #, c-format
 msgid "Input file %s not found.\n"
-msgstr "÷ÈÏÄÎÏÊ ÆÁÊÌ %s ÎÅ ÎÁÊÄÅÎ.\n"
+msgstr "Входной файл %s не найден.\n"
 
-#: elf/ldconfig.c:855
+#: elf/ldconfig.c:888
 #, c-format
 msgid "libc5 library %s in wrong directory"
-msgstr "libc5-ÂÉÂÌÉÏÔÅËÁ %s × ÎÅÐÒÁ×ÉÌØÎÏÍ ËÁÔÁÌÏÇÅ"
+msgstr "libc5-библиотека %s в неправильном каталоге"
 
-#: elf/ldconfig.c:858
+#: elf/ldconfig.c:891
 #, c-format
 msgid "libc6 library %s in wrong directory"
-msgstr "libc6-ÂÉÂÌÉÏÔÅËÁ %s × ÎÅÐÒÁ×ÉÌØÎÏÍ ËÁÔÁÌÏÇÅ"
+msgstr "libc6-библиотека %s в неправильном каталоге"
 
-#: elf/ldconfig.c:861
+#: elf/ldconfig.c:894
 #, c-format
 msgid "libc4 library %s in wrong directory"
-msgstr "libc4-ÂÉÂÌÉÏÔÅËÁ %s × ÎÅÐÒÁ×ÉÌØÎÏÍ ËÁÔÁÌÏÇÅ"
+msgstr "libc4-библиотека %s в неправильном каталоге"
 
-#: elf/ldconfig.c:888
+#: elf/ldconfig.c:922
 #, c-format
 msgid "libraries %s and %s in directory %s have same soname but different type."
-msgstr "ÂÉÂÌÉÏÔÅËÉ %s É %s × ËÁÔÁÌÏÇÅ %s ÉÍÅÀÔ ÏÄÉÎÁËÏ×ÙÊ soname, ÎÏ ÒÁÚÎÙÅ ÔÉÐÙ."
+msgstr "библиотеки %s и %s в каталоге %s имеют одинаковый soname, но разные типы."
 
-#: elf/ldconfig.c:995
+#: elf/ldconfig.c:1031
 #, c-format
 msgid "Can't open configuration file %s"
-msgstr "îÅ×ÏÚÍÏÖÎÏ ÏÔËÒÙÔØ ËÏÎÆÉÇÕÒÁÃÉÏÎÎÙÊ ÆÁÊÌ %s"
+msgstr "Невозможно открыть конфигурационный файл %s"
 
-#: elf/ldconfig.c:1059
+#: elf/ldconfig.c:1095
 #, c-format
 msgid "%s:%u: bad syntax in hwcap line"
-msgstr "%s:%u: ÎÅÐÒÁ×ÉÌØÎÙÊ ÓÉÎÔÁËÓÉÓ × ÓÔÒÏËÅ hwcap"
+msgstr "%s:%u: неправильный синтаксис в строке hwcap"
 
-#: elf/ldconfig.c:1065
+#: elf/ldconfig.c:1101
 #, c-format
 msgid "%s:%u: hwcap index %lu above maximum %u"
-msgstr "%s:%u: ÉÎÄÅËÓ hwcap %lu ÐÒÅ×ÙÛÁÅÔ ÍÁËÓÉÍÕÍ %u"
+msgstr "%s:%u: индекс hwcap %lu превышает максимум %u"
 
-#: elf/ldconfig.c:1072 elf/ldconfig.c:1080
+#: elf/ldconfig.c:1108 elf/ldconfig.c:1116
 #, c-format
 msgid "%s:%u: hwcap index %lu already defined as %s"
-msgstr "%s:%u: ÉÎÄÅËÓ hwcap %lu ÕÖÅ ÏÐÒÅÄÅÌÅΠËÁË %s"
+msgstr "%s:%u: индекс hwcap %lu уже определен как %s"
 
-#: elf/ldconfig.c:1083
+#: elf/ldconfig.c:1119
 #, c-format
 msgid "%s:%u: duplicate hwcap %lu %s"
-msgstr "%s:%u: ÐÏ×ÔÏÒÎÏÅ hwcap %lu %s"
+msgstr "%s:%u: Ð¿Ð¾Ð²Ñ\82оÑ\80ное hwcap %lu %s"
 
-#: elf/ldconfig.c:1105
+#: elf/ldconfig.c:1141
 #, c-format
 msgid "need absolute file name for configuration file when using -r"
-msgstr "ÐÒÉ ÉÓÐÏÌØÚÏ×ÁÎÉÉ -r ÎÅÏÂÈÏÄÉÍÏ ÚÁÄÁ×ÁÔØ ÁÂÓÏÌÀÔÎÏÅ ÉÍÑ ÄÌÑ ËÏÎÆÉÇÕÒÁÃÉÏÎÎÏÇÏ ÆÁÊÌÁ"
+msgstr "пÑ\80и Ð¸Ñ\81полÑ\8cзовании -r Ð½ÐµÐ¾Ð±Ñ\85одимо Ð·Ð°Ð´Ð°Ð²Ð°Ñ\82Ñ\8c Ð°Ð±Ñ\81олÑ\8eÑ\82ное Ð¸Ð¼Ñ\8f Ð´Ð»Ñ\8f ÐºÐ¾Ð½Ñ\84игÑ\83Ñ\80аÑ\86ионного Ñ\84айла"
 
-#: elf/ldconfig.c:1112 locale/programs/xmalloc.c:69 malloc/obstack.c:434
-#: malloc/obstack.c:436 posix/getconf.c:980 posix/getconf.c:1158
+#: 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 "ÐÁÍÑÔØ ÉÓÞÅÒÐÁÎÁ"
+msgstr "памÑ\8fÑ\82Ñ\8c Ð¸Ñ\81Ñ\87еÑ\80пана"
 
-#: elf/ldconfig.c:1142
+#: elf/ldconfig.c:1178
 #, c-format
 msgid "%s:%u: cannot read directory %s"
-msgstr "%s:%u: ÎÅ×ÏÚÍÏÖÎÏ ÐÒÏÞÉÔÁÔØ ËÁÔÁÌÏÇ %s"
+msgstr "%s:%u: невозможно прочитать каталог %s"
 
-#: elf/ldconfig.c:1182
+#: elf/ldconfig.c:1223
 #, c-format
 msgid "relative path `%s' used to build cache"
-msgstr "ÄÌÑ ÐÏÓÔÒÏÅÎÉÑ ËÜÛÁ ÉÓÐÏÌØÚÏ×ÁΠÏÔÎÏÓÉÔÅÌØÎÙÊ ÐÕÔØ `%s'"
+msgstr "для построения кэша использован относительный путь «%s»"
 
-#: elf/ldconfig.c:1210
+#: elf/ldconfig.c:1249
 #, c-format
 msgid "Can't chdir to /"
-msgstr "îÅ×ÏÚÍÏÖÎÏ ÐÅÒÅÊÔÉ × ËÁÔÁÌÏÇ /"
+msgstr "Невозможно перейти в каталог /"
 
-#: elf/ldconfig.c:1252
+#: elf/ldconfig.c:1291
 #, c-format
 msgid "Can't open cache file directory %s\n"
-msgstr "îÅ×ÏÚÍÏÖÎÏ ÏÔËÒÙÔØ ËÁÔÁÌÏÇ ËÜÛ-ÆÁÊÌÁ %s\n"
+msgstr "Невозможно открыть каталог кэш-файла %s\n"
 
 #: elf/ldd.bash.in:43
 msgid "Written by %s and %s.\n"
-msgstr "á×ÔÏÒÙ ÐÒÏÇÒÁÍÍÙ -- %s É %s.\n"
+msgstr "Авторы программы -- %s и %s.\n"
 
 #: elf/ldd.bash.in:48
 msgid ""
@@ -933,362 +926,364 @@ msgid ""
 "For bug reporting instructions, please see:\n"
 "<http://www.gnu.org/software/libc/bugs.html>."
 msgstr ""
-"éÓÐÏÌØÚÏ×ÁÎÉÅ: ldd [ëìàþ]... æáêì...\n"
-"      --help              ÎÁÐÅÞÁÔÁÔØ ÜÔÕ ÓÐÒÁ×ËÕ É ×ÙÊÔÉ\n"
-"      --version           ÎÁÐÅÞÁÔÁÔØ ÉÎÆÏÒÍÁÃÉÀ Ï ×ÅÒÓÉÉ É ×ÙÊÔÉ\n"
-"  -d, --data-relocs       ÏÂÒÁÂÏÔÁÔØ ÒÅÌÏËÁÃÉÉ ÄÁÎÎÙÈ\n"
-"  -r, --function-relocs   ÏÂÒÁÂÏÔÁÔØ ÒÅÌÏËÁÃÉÉ ÄÁÎÎÙÈ É ÆÕÎËÃÉÊ\n"
-"  -u, --unused            ÎÁÐÅÞÁÔÁÔØ ÎÅÉÓÐÏÌØÚÕÅÍÙÅ ÐÒÑÍÙÅ ÚÁ×ÉÓÉÍÏÓÔÉ\n"
-"  -v, --verbose           ÎÁÐÅÞÁÔÁÔØ ×ÓÀ ÉÎÆÏÒÍÁÃÉÀ\n"
-"éÎÓÔÒÕËÃÉÉ ÐÏ ÓÏÏÂÝÅÎÉÀ Ï ÏÛÉÂËÁÈ ÓÍÏÔÒÉÔÅ ÎÁ\n"
+"Использование: ldd [КЛЮЧ]... ФАЙЛ...\n"
+"      --help              напечатать эту справку и выйти\n"
+"      --version           напечатать информацию о версии и выйти\n"
+"  -d, --data-relocs       обработать релокации данных\n"
+"  -r, --function-relocs   обработать релокации данных и функций\n"
+"  -u, --unused            напечатать неиспользуемые прямые зависимости\n"
+"  -v, --verbose           напечатать всю информацию\n"
+"Инструкции по сообщению об ошибках смотрите на\n"
 "<http://www.gnu.org/software/libc/bugs.html>."
 
 #: elf/ldd.bash.in:80
-msgid "ldd: option `$1' is ambiguous"
-msgstr "ldd: ËÌÀÞ `$1' ÎÅÏÄÎÏÚÎÁÞÅÎ"
+#, fuzzy
+msgid "ldd: option \\`$1' is ambiguous"
+msgstr "ldd: ключ «$1» неоднозначен"
 
 #: elf/ldd.bash.in:87
 msgid "unrecognized option"
-msgstr "ÎÅÒÁÓÐÏÚÎÁÎÎÙÊ ËÌÀÞ"
+msgstr "нераспознанный ключ"
 
 #: elf/ldd.bash.in:88 elf/ldd.bash.in:126
-msgid "Try `ldd --help' for more information."
-msgstr "ðÏÐÒÏÂÕÊÔÅ `ldd --help' ÄÌÑ ÐÏÌÕÞÅÎÉÑ ÂÏÌÅÅ ÐÏÄÒÏÂÎÏÇÏ ÏÐÉÓÁÎÉÑ."
+#, fuzzy
+msgid "Try \\`ldd --help' for more information."
+msgstr "Попробуйте «ldd --help» для получения более подробного описания."
 
 #: elf/ldd.bash.in:125
 msgid "missing file arguments"
-msgstr "ÏÔÓÕÔÓÔ×ÕÀÔ ÁÒÇÕÍÅÎÔÙ, ÚÁÄÁÀÝÉÅ ÆÁÊÌÙ"
+msgstr "отсутствуют аргументы, задающие файлы"
 
 #. 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 "îÅÔ ÔÁËÏÇÏ ÆÁÊÌÁ ÉÌÉ ËÁÔÁÌÏÇÁ"
+msgstr "Нет такого файла или каталога"
 
 #: elf/ldd.bash.in:151 inet/rcmd.c:483
 msgid "not regular file"
-msgstr "ÎÅ ÏÂÙÞÎÙÊ ÆÁÊÌ"
+msgstr "не обычный файл"
 
 #: elf/ldd.bash.in:154
 msgid "warning: you do not have execution permission for"
-msgstr "ÐÒÅÄÕÐÒÅÖÄÅÎÉÅ: Õ ×ÁÓ ÎÅÔ ÐÒÁ× ÎÁ ×ÙÐÏÌÎÅÎÉÅ"
+msgstr "пÑ\80едÑ\83пÑ\80еждение: Ñ\83 Ð²Ð°Ñ\81 Ð½ÐµÑ\82 Ð¿Ñ\80ав Ð½Ð° Ð²Ñ\8bполнение"
 
 #: elf/ldd.bash.in:183
 msgid "\tnot a dynamic executable"
-msgstr "\tÎÅ Ñ×ÌÑÅÔÓÑ ÄÉÎÁÍÉÞÅÓËÉÍ ÉÓÐÏÌÎÑÅÍÙÍ ÆÁÊÌÏÍ"
+msgstr "\tне является динамическим исполняемым файлом"
 
 #: elf/ldd.bash.in:191
 msgid "exited with unknown exit code"
-msgstr "ÚÁ×ÅÒÛÅÎÏ Ó ÎÅÉÚ×ÅÓÔÎÙÍ ×ÙÈÏÄÎÙÍ ËÏÄÏÍ"
+msgstr "завершено с неизвестным выходным кодом"
 
 #: elf/ldd.bash.in:196
 msgid "error: you do not have read permission for"
-msgstr "ÏÛÉÂËÁ: Õ ×ÁÓ ÎÅÔ ÒÁÚÒÅÛÅÎÉÑ ÎÁ ÞÔÅÎÉÅ"
+msgstr "ошибка: у вас нет разрешения на чтение"
 
 #: elf/readelflib.c:35
 #, c-format
 msgid "file %s is truncated\n"
-msgstr "ÆÁÊÌ %s ÕÓÅÞÅÎ\n"
+msgstr "файл %s усечен\n"
 
 #: elf/readelflib.c:67
 #, c-format
 msgid "%s is a 32 bit ELF file.\n"
-msgstr "%s Ñ×ÌÑÅÔÓÑ 32-ÂÉÔÎÙÍ ELF-ÆÁÊÌÏÍ.\n"
+msgstr "%s Ñ\8fвлÑ\8fеÑ\82Ñ\81Ñ\8f 32-биÑ\82нÑ\8bм ELF-Ñ\84айлом.\n"
 
 #: elf/readelflib.c:69
 #, c-format
 msgid "%s is a 64 bit ELF file.\n"
-msgstr "%s Ñ×ÌÑÅÔÓÑ 64-ÂÉÔÎÙÍ ELF-ÆÁÊÌÏÍ.\n"
+msgstr "%s Ñ\8fвлÑ\8fеÑ\82Ñ\81Ñ\8f 64-биÑ\82нÑ\8bм ELF-Ñ\84айлом.\n"
 
 #: elf/readelflib.c:71
 #, c-format
 msgid "Unknown ELFCLASS in file %s.\n"
-msgstr "îÅÉÚ×ÅÓÔÎÙÊ ELFCLASS × ÆÁÊÌÅ %s.\n"
+msgstr "Неизвестный ELFCLASS в файле %s.\n"
 
 #: elf/readelflib.c:78
 #, c-format
 msgid "%s is not a shared object file (Type: %d).\n"
-msgstr "%s ÎÅ Ñ×ÌÑÅÔÓÑ ÒÁÚÄÅÌÑÅÍÙÍ ÏÂßÅËÔÎÙÍ ÆÁÊÌÏÍ (ôÉÐ: %d).\n"
+msgstr "%s не является разделяемым объектным файлом (Тип: %d).\n"
 
 #: elf/readelflib.c:109
 #, c-format
 msgid "more than one dynamic segment\n"
-msgstr "ÂÏÌÅÅ ÏÄÎÏÇÏ ÄÉÎÁÍÉÞÅÓËÉÈ ÓÅÇÍÅÎÔÏ×\n"
+msgstr "более одного динамических сегментов\n"
 
-#: elf/readlib.c:96
+#: elf/readlib.c:97
 #, c-format
 msgid "Cannot fstat file %s.\n"
-msgstr "îÅ×ÏÚÍÏÖÎÏ ×ÙÐÏÌÎÉÔØ fstat ÄÌÑ ÆÁÊÌÁ %s.\n"
+msgstr "Невозможно выполнить fstat для файла %s.\n"
 
-#: elf/readlib.c:107
+#: elf/readlib.c:108
 #, c-format
 msgid "File %s is empty, not checked."
-msgstr "æÁÊÌ %s ÐÕÓÔ; ÎÅ ÂÙÌ ÐÒÏ×ÅÒÅÎ."
+msgstr "Файл %s пуст; не был проверен."
 
-#: elf/readlib.c:113
+#: elf/readlib.c:114
 #, c-format
 msgid "File %s is too small, not checked."
-msgstr "æÁÊÌ %s ÓÌÉÛËÏÍ ÍÁÌ; ÎÅ ÂÙÌ ÐÒÏ×ÅÒÅÎ."
+msgstr "Файл %s слишком мал; не был проверен."
 
-#: elf/readlib.c:123
+#: elf/readlib.c:124
 #, c-format
 msgid "Cannot mmap file %s.\n"
-msgstr "îÅ×ÏÚÍÏÖÎÏ ÏÔÏÂÒÁÚÉÔØ × ÐÁÍÑÔØ ÆÁÊÌ %s.\n"
+msgstr "Невозможно отобразить в память файл %s.\n"
 
-#: elf/readlib.c:161
+#: 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 ÎÅ Ñ×ÌÑÅÔÓÑ ELF-ÆÁÊÌÏÍ -- Õ ÎÅÇÏ × ÎÁÞÁÌÅ ÎÅÐÒÁ×ÉÌØÎÙÅ ×ÏÌÛÅÂÎÙÅ ÂÁÊÔÙ.\n"
+msgstr "%s не является ELF-файлом -- у него в начале неправильные волшебные байты.\n"
 
 #: elf/sprof.c:77
 msgid "Output selection:"
-msgstr "÷ÙÂÏÒ ÔÉÐÁ ×Ù×ÏÄÁ:"
+msgstr "Выбор типа вывода:"
 
 #: elf/sprof.c:79
 msgid "print list of count paths and their number of use"
-msgstr "ÎÁÐÅÞÁÔÁÔØ ÓÐÉÓÏË ÐÕÔÅÊ ÓÞÅÔÞÉËÏ× É ÞÉÓÌÏ ÉÈ ÉÓÐÏÌØÚÏ×ÁÎÉÊ"
+msgstr "напечатать список путей счетчиков и число их использований"
 
 #: elf/sprof.c:81
 msgid "generate flat profile with counts and ticks"
-msgstr "ÇÅÎÅÒÉÒÏ×ÁÔØ ÐÌÏÓËÉÊ ÐÒÏÆÉÌØ ÓÏ ÓÞÅÔÞÉËÁÍÉ É ÍÅÔËÁÍÉ"
+msgstr "генерировать плоский профиль со счетчиками и метками"
 
 #: elf/sprof.c:82
 msgid "generate call graph"
-msgstr "ÇÅÎÅÒÉÒÏ×ÁÔØ ÇÒÁÆ ×ÙÚÏ×Ï×"
+msgstr "генерировать граф вызовов"
 
 #: elf/sprof.c:89
 msgid ""
-"Read and display shared object profiling data.\vFor bug reporting instructions, please see:\n"
+"Read and display shared object profiling data.\vFor bug reporting instructions, please see:\n"
 "<http://www.gnu.org/software/libc/bugs.html>.\n"
 msgstr ""
-"óÞÉÔÙ×ÁÅÔ É ÏÔÏÂÒÁÖÁÅÔ ÄÁÎÎÙÅ ÐÒÏÆÉÌÉÒÏ×ÁÎÉÑ ÒÁÚÄÅÌÑÅÍÏÇÏ ÏÂßÅËÔÁ.\véÎÓÔÒÕËÃÉÉ ÐÏ ÓÏÏÂÝÅÎÉÀ Ï ÏÛÉÂËÁÈ ÓÍÏÔÒÉÔÅ ÎÁ\n"
+"Считывает и отображает данные профилирования разделяемого объекта.\vИнструкции по сообщению об ошибках смотрите на\n"
 "<http://www.gnu.org/software/libc/bugs.html>.\n"
 
 #: elf/sprof.c:94
 msgid "SHOBJ [PROFDATA]"
-msgstr "òáúä-ïâÿåëô [ðòïæ-äáîîùå]"
+msgstr "РАЗД-ОБЪЕКТ [ПРОФ-ДАННЫЕ]"
 
 #: elf/sprof.c:400
 #, c-format
 msgid "failed to load shared object `%s'"
-msgstr "ÎÅ ÕÄÁÌÏÓØ ÚÁÇÒÕÚÉÔØ ÒÁÚÄÅÌÑÅÍÙÊ ÏÂßÅËÔ `%s'"
+msgstr "не удалось загрузить разделяемый объект «%s»"
 
 #: elf/sprof.c:409
 #, c-format
 msgid "cannot create internal descriptors"
-msgstr "ÎÅ×ÏÚÍÏÖÎÏ ÓÏÚÄÁÔØ ×ÎÕÔÒÅÎÎÉÅ ÄÅÓËÒÉÐÔÏÒÙ"
+msgstr "невозможно создать внутренние дескрипторы"
 
 #: elf/sprof.c:528
 #, c-format
 msgid "Reopening shared object `%s' failed"
-msgstr "óÂÏÊ ÐÏ×ÔÏÒÎÏÇÏ ÏÔËÒÙÔÉÑ ÒÁÚÄÅÌÑÅÍÏÇÏ ÏÂßÅËÔÁ `%s'"
+msgstr "Сбой повторного открытия разделяемого объекта «%s»"
 
 #: elf/sprof.c:535 elf/sprof.c:629
 #, c-format
 msgid "reading of section headers failed"
-msgstr "ÞÔÅÎÉÅ ÚÁÇÏÌÏ×ËÏ× ÓÅËÃÉÉ ÎÅÕÓÐÅÛÎÏ"
+msgstr "чтение заголовков секции неуспешно"
 
 #: elf/sprof.c:543 elf/sprof.c:637
 #, c-format
 msgid "reading of section header string table failed"
-msgstr "ÞÔÅÎÉÅ ÓÔÒÏËÉ ÚÁÇÏÌÏ×ËÁ ÓÅËÃÉÉ ÎÅÕÓÐÅÛÎÏ"
+msgstr "чтение строки заголовка секции неуспешно"
 
 #: elf/sprof.c:569
 #, c-format
 msgid "*** Cannot read debuginfo file name: %m\n"
-msgstr "*** îÅ×ÏÚÍÏÖÎÏ ÐÒÏÞÉÔÁÔØ ÆÁÊÌ Ó ÏÔÌÁÄÏÞÎÏÊ ÉÎÆÏÒÍÁÃÉÅÊ: %m\n"
+msgstr "*** Невозможно прочитать файл с отладочной информацией: %m\n"
 
 #: elf/sprof.c:589
 #, c-format
 msgid "cannot determine file name"
-msgstr "ÎÅ×ÏÚÍÏÖÎÏ ÏÐÒÅÄÅÌÉÔØ ÉÍÑ ÆÁÊÌÁ"
+msgstr "невозможно определить имя файла"
 
 #: elf/sprof.c:622
 #, c-format
 msgid "reading of ELF header failed"
-msgstr "ÓÞÉÔÙ×ÁÎÉÅ ÚÁÇÏÌÏ×ËÁ ELF ÎÅÕÓÐÅÛÎÏ"
+msgstr "считывание заголовка ELF неуспешно"
 
 #: elf/sprof.c:658
 #, c-format
 msgid "*** The file `%s' is stripped: no detailed analysis possible\n"
-msgstr "*** æÁÊÌ `%s' ÏÞÉÝÅÎ: ÐÏÄÒÏÂÎÙÊ ÁÎÁÌÉÚ ÎÅ×ÏÚÍÏÖÅÎ\n"
+msgstr "*** Файл «%s» очищен: подробный анализ невозможен\n"
 
 #: elf/sprof.c:688
 #, c-format
 msgid "failed to load symbol data"
-msgstr "ÎÅ ÕÄÁÌÏÓØ ÚÁÇÒÕÚÉÔØ ÄÁÎÎÙÅ Ï ÓÉÍ×ÏÌÁÈ"
+msgstr "не удалось загрузить данные о символах"
 
 #: elf/sprof.c:755
 #, c-format
 msgid "cannot load profiling data"
-msgstr "ÎÅ ÕÄÁÌÏÓØ ÚÁÇÒÕÚÉÔØ ÐÒÏÆÉÌÉÒÏ×ÏÞÎÙÅ ÄÁÎÎÙÅ"
+msgstr "не удалось загрузить профилировочные данные"
 
 #: elf/sprof.c:764
 #, c-format
 msgid "while stat'ing profiling data file"
-msgstr "ÐÒÉ ÏÐÅÒÁÃÉÉ stat ÎÁÄ ÆÁÊÌÏÍ Ó ÐÒÏÆÉÌÉÒÏ×ÏÞÎÙÍÉ ÄÁÎÎÙÍÉ"
+msgstr "пÑ\80и Ð¾Ð¿ÐµÑ\80аÑ\86ии stat Ð½Ð°Ð´ Ñ\84айлом Ñ\81 Ð¿Ñ\80оÑ\84илиÑ\80овоÑ\87нÑ\8bми Ð´Ð°Ð½Ð½Ñ\8bми"
 
 #: elf/sprof.c:772
 #, c-format
 msgid "profiling data file `%s' does not match shared object `%s'"
-msgstr "ÆÁÊÌ Ó ÐÒÏÆÉÌÉÒÏ×ÏÞÎÙÍÉ ÄÁÎÎÙÍÉ `%s' ÎÅ ÓÏÏÔ×ÅÔÓÔ×ÕÅÔ ÒÁÚÄÅÌÑÅÍÏÍÕ ÏÂßÅËÔÕ `%s'"
+msgstr "файл с профилировочными данными «%s» не соответствует разделяемому объекту «%s»"
 
 #: elf/sprof.c:783
 #, c-format
 msgid "failed to mmap the profiling data file"
-msgstr "ÎÅ ÕÄÁÌÏÓØ ÏÔÏÂÒÁÚÉÔØ × ÐÁÍÑÔØ ÆÁÊÌ Ó ÐÒÏÆÉÌÉÒÏ×ÏÞÎÙÍÉ ÄÁÎÎÙÍÉ"
+msgstr "не удалось отобразить в память файл с профилировочными данными"
 
 #: elf/sprof.c:791
 #, c-format
 msgid "error while closing the profiling data file"
-msgstr "ÏÛÉÂËÁ ÐÒÉ ÚÁËÒÙÔÉÉ ÆÁÊÌÁ Ó ÐÒÏÆÉÌÉÒÏ×ÏÞÎÙÍÉ ÄÁÎÎÙÍÉ"
+msgstr "ошибка при закрытии файла с профилировочными данными"
 
 #: elf/sprof.c:800 elf/sprof.c:870
 #, c-format
 msgid "cannot create internal descriptor"
-msgstr "ÎÅ×ÏÚÍÏÖÎÏ ÓÏÚÄÁÔØ ×ÎÕÔÒÅÎÎÉÊ ÄÅÓËÒÉÐÔÏÒ"
+msgstr "невозможно создать внутренний дескриптор"
 
 #: elf/sprof.c:846
 #, c-format
 msgid "`%s' is no correct profile data file for `%s'"
-msgstr "`%s' ÎÅ Ñ×ÌÑÅÔÓÑ ×ÅÒÎÙÍ ÆÁÊÌÏÍ Ó ÐÒÏÆÉÌÉÒÏ×ÏÞÎÙÍÉ ÄÁÎÎÙÍÉ ÄÌÑ `%s'"
+msgstr "«%s» не является верным файлом с профилировочными данными для «%s»"
 
 #: elf/sprof.c:1027 elf/sprof.c:1085
 #, c-format
 msgid "cannot allocate symbol data"
-msgstr "ÎÅ×ÏÚÍÏÖÎÏ ×ÙÄÅÌÉÔØ ÐÁÍÑÔØ ÐÏÄ ÄÁÎÎÙÅ ÓÉÍ×ÏÌÁ"
+msgstr "невозможно выделить память под данные символа"
 
-#: iconv/iconv_charmap.c:175 iconv/iconv_prog.c:315
+#: iconv/iconv_charmap.c:176 iconv/iconv_prog.c:316
 #, c-format
 msgid "error while closing input `%s'"
-msgstr "ÏÛÉÂËÁ ÐÒÉ ÚÁËÒÙÔÉÉ ×ÈÏÄÎÏÇÏ ÆÁÊÌÁ `%s'"
+msgstr "ошибка при закрытии входного файла «%s»"
 
-#: iconv/iconv_charmap.c:449
+#: iconv/iconv_charmap.c:450
 #, c-format
 msgid "illegal input sequence at position %Zd"
-msgstr "ÎÅÄÏÐÕÓÔÉÍÁÑ ×ÈÏÄÎÁÑ ÐÏÓÌÅÄÏ×ÁÔÅÌØÎÏÓÔØ × ÐÏÚÉÃÉÉ %Zd"
+msgstr "недопустимая входная последовательность в позиции %Zd"
 
-#: iconv/iconv_charmap.c:468 iconv/iconv_prog.c:525
+#: iconv/iconv_charmap.c:469 iconv/iconv_prog.c:526
 #, c-format
 msgid "incomplete character or shift sequence at end of buffer"
-msgstr "ÎÅÐÏÌÎÙÊ ÚÎÁË ÉÌÉ ÐÏÓÌÅÄÏ×ÁÔÅÌØÎÏÓÔØ ÓÄ×ÉÇÁ × ËÏÎÃÅ ÂÕÆÅÒÁ"
+msgstr "неполный знак или последовательность сдвига в конце буфера"
 
-#: iconv/iconv_charmap.c:513 iconv/iconv_charmap.c:549 iconv/iconv_prog.c:568
-#: iconv/iconv_prog.c:604
+#: 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 "ÏÛÉÂËÁ ÐÒÉ ÞÔÅÎÉÉ ×ÈÏÄÎÏÇÏ ÆÁÊÌÁ"
+msgstr "ошибка при чтении входного файла"
 
-#: iconv/iconv_charmap.c:531 iconv/iconv_prog.c:586
+#: iconv/iconv_charmap.c:532 iconv/iconv_prog.c:587
 #, c-format
 msgid "unable to allocate buffer for input"
-msgstr "ÎÅ×ÏÚÍÏÖÎÏ ÐÏÌÕÞÉÔØ ÂÕÆÅÒ ÄÌÑ ××ÏÄÁ"
+msgstr "невозможно получить буфер для ввода"
 
-#: iconv/iconv_prog.c:59
+#: iconv/iconv_prog.c:60
 msgid "Input/Output format specification:"
-msgstr "óÐÅÃÉÆÉËÁÃÉÑ ÆÏÒÍÁÔÁ ××ÏÄÁ/×Ù×ÏÄÁ:"
+msgstr "Спецификация формата ввода/вывода:"
 
-#: iconv/iconv_prog.c:60
+#: iconv/iconv_prog.c:61
 msgid "encoding of original text"
-msgstr "ËÏÄÉÒÏ×ËÁ ÏÒÉÇÉÎÁÌØÎÏÇÏ ÔÅËÓÔÁ"
+msgstr "кодировка оригинального текста"
 
-#: iconv/iconv_prog.c:61
+#: iconv/iconv_prog.c:62
 msgid "encoding for output"
-msgstr "ËÏÄÉÒÏ×ËÁ ÄÌÑ ×Ù×ÏÄÁ"
+msgstr "кодировка для вывода"
 
-#: iconv/iconv_prog.c:62
+#: iconv/iconv_prog.c:63
 msgid "Information:"
-msgstr "éÎÆÏÒÍÁÃÉÑ:"
+msgstr "Информация:"
 
-#: iconv/iconv_prog.c:63
+#: iconv/iconv_prog.c:64
 msgid "list all known coded character sets"
-msgstr "ÐÅÒÅÞÉÓÌÉÔØ ×ÓÅ ÉÚ×ÅÓÔÎÙÅ ×ÓÔÒÏÅÎÎÙÅ ËÏÄÉÒÏ×ËÉ"
+msgstr "пеÑ\80еÑ\87иÑ\81лиÑ\82Ñ\8c Ð²Ñ\81е Ð¸Ð·Ð²ÐµÑ\81Ñ\82нÑ\8bе Ð²Ñ\81Ñ\82Ñ\80оеннÑ\8bе ÐºÐ¾Ð´Ð¸Ñ\80овки"
 
-#: iconv/iconv_prog.c:64 locale/programs/localedef.c:126
+#: iconv/iconv_prog.c:65 locale/programs/localedef.c:127
 msgid "Output control:"
-msgstr "õÓÐÒÁ×ÌÅÎÉÅ ×Ù×ÏÄÏÍ:"
+msgstr "Усправление выводом:"
 
-#: iconv/iconv_prog.c:65
+#: iconv/iconv_prog.c:66
 msgid "omit invalid characters from output"
-msgstr "ÐÒÏÐÕÓËÁÔØ ÎÁ ×Ù×ÏÄÅ ÎÅÄÏÐÕÓÔÉÍÙÅ ÚÎÁËÉ"
+msgstr "пÑ\80опÑ\83Ñ\81каÑ\82Ñ\8c Ð½Ð° Ð²Ñ\8bводе Ð½ÐµÐ´Ð¾Ð¿Ñ\83Ñ\81Ñ\82имÑ\8bе Ð·Ð½Ð°ÐºÐ¸"
 
-#: iconv/iconv_prog.c:66
+#: iconv/iconv_prog.c:67
 msgid "output file"
-msgstr "×ÙÈÏÄÎÏÊ ÆÁÊÌ"
+msgstr "выходной файл"
 
-#: iconv/iconv_prog.c:67
+#: iconv/iconv_prog.c:68
 msgid "suppress warnings"
-msgstr "ÎÅ ÐÅÞÁÔÁÔØ ÐÒÅÄÕÐÒÅÖÄÅÎÉÑ"
+msgstr "не печатать предупреждения"
 
-#: iconv/iconv_prog.c:68
+#: iconv/iconv_prog.c:69
 msgid "print progress information"
-msgstr "ÐÅÞÁÔÁÔØ ÉÎÆÏÒÍÁÃÉÀ Ï ÈÏÄÅ ÒÁÂÏÔÙ"
+msgstr "пеÑ\87аÑ\82аÑ\82Ñ\8c Ð¸Ð½Ñ\84оÑ\80маÑ\86иÑ\8e Ð¾ Ñ\85оде Ñ\80абоÑ\82Ñ\8b"
 
-#: iconv/iconv_prog.c:73
+#: iconv/iconv_prog.c:74
 msgid "Convert encoding of given files from one encoding to another."
-msgstr "ðÒÅÏÂÒÁÚÕÅÔ ÕËÁÚÁÎÎÙÅ ÆÁÊÌÙ ÉÚ ÏÄÎÏÊ ËÏÄÉÒÏ×ËÉ × ÄÒÕÇÕÀ."
+msgstr "Преобразует указанные файлы из одной кодировки в другую."
 
-#: iconv/iconv_prog.c:77
+#: iconv/iconv_prog.c:78
 msgid "[FILE...]"
-msgstr "[æáêì...]"
+msgstr "[ФАЙЛ...]"
 
-#: iconv/iconv_prog.c:199
+#: iconv/iconv_prog.c:200
 #, c-format
 msgid "cannot open output file"
-msgstr "ÎÅ×ÏÚÍÏÖÎÏ ÏÔËÒÙÔØ ×ÙÈÏÄÎÏÊ ÆÁÊÌ"
+msgstr "невозможно открыть выходной файл"
 
-#: iconv/iconv_prog.c:241
+#: iconv/iconv_prog.c:242
 #, c-format
 msgid "conversions from `%s' and to `%s' are not supported"
-msgstr "ÐÒÅÏÂÒÁÚÏ×ÁÎÉÑ ÉÚ `%s' É × `%s' ÎÅ ÐÏÄÄÅÒÖÉ×ÁÀÔÓÑ"
+msgstr "пÑ\80еобÑ\80азованиÑ\8f Ð¸Ð· Â«%s» Ð¸ Ð² Â«%s» Ð½Ðµ Ð¿Ð¾Ð´Ð´ÐµÑ\80живаÑ\8eÑ\82Ñ\81Ñ\8f"
 
-#: iconv/iconv_prog.c:246
+#: iconv/iconv_prog.c:247
 #, c-format
 msgid "conversion from `%s' is not supported"
-msgstr "ÐÒÅÏÂÒÁÚÏ×ÁÎÉÅ ÉÚ `%s' ÎÅ ÐÏÄÄÅÒÖÉ×ÁÅÔÓÑ"
+msgstr "пÑ\80еобÑ\80азование Ð¸Ð· Â«%s» Ð½Ðµ Ð¿Ð¾Ð´Ð´ÐµÑ\80живаеÑ\82Ñ\81Ñ\8f"
 
-#: iconv/iconv_prog.c:253
+#: iconv/iconv_prog.c:254
 #, c-format
 msgid "conversion to `%s' is not supported"
-msgstr "ÐÒÅÏÂÒÁÚÏ×ÁÎÉÅ × `%s' ÎÅ ÐÏÄÄÅÒÖÉ×ÁÅÔÓÑ"
+msgstr "пÑ\80еобÑ\80азование Ð² Â«%s» Ð½Ðµ Ð¿Ð¾Ð´Ð´ÐµÑ\80живаеÑ\82Ñ\81Ñ\8f"
 
-#: iconv/iconv_prog.c:257
+#: iconv/iconv_prog.c:258
 #, c-format
 msgid "conversion from `%s' to `%s' is not supported"
-msgstr "ÐÒÅÏÂÒÁÚÏ×ÁÎÉÅ ÉÚ `%s' × `%s' ÎÅ ÐÏÄÄÅÒÖÉ×ÁÅÔÓÑ"
+msgstr "пÑ\80еобÑ\80азование Ð¸Ð· Â«%s» Ð² Â«%s» Ð½Ðµ Ð¿Ð¾Ð´Ð´ÐµÑ\80живаеÑ\82Ñ\81Ñ\8f"
 
-#: iconv/iconv_prog.c:267
+#: iconv/iconv_prog.c:268
 #, c-format
 msgid "failed to start conversion processing"
-msgstr "ÎÅ ÕÄÁÌÏÓØ ÎÁÞÁÔØ ÐÒÅÏÂÒÁÚÏ×ÁÎÉÅ"
+msgstr "не удалось начать преобразование"
 
-#: iconv/iconv_prog.c:361
+#: iconv/iconv_prog.c:362
 #, c-format
 msgid "error while closing output file"
-msgstr "ÏÛÉÂËÁ ÐÒÉ ÚÁËÒÙÔÉÉ ×ÙÈÏÄÎÏÇÏ ÆÁÊÌÁ"
+msgstr "ошибка при закрытии выходного файла"
 
-#: iconv/iconv_prog.c:470 iconv/iconv_prog.c:496
+#: iconv/iconv_prog.c:471 iconv/iconv_prog.c:497
 #, c-format
 msgid "conversion stopped due to problem in writing the output"
-msgstr "ÐÒÅÏÂÒÁÚÏ×ÁÎÉÅ ÏÓÔÁÎÏ×ÌÅÎÏ ÉÚ-ÚÁ ÐÒÏÂÌÅÍÙ ÐÒÉ ÚÁÐÉÓÉ ×Ù×ÏÄÁ"
+msgstr "пÑ\80еобÑ\80азование Ð¾Ñ\81Ñ\82ановлено Ð¸Ð·-за Ð¿Ñ\80облемÑ\8b Ð¿Ñ\80и Ð·Ð°Ð¿Ð¸Ñ\81и Ð²Ñ\8bвода"
 
-#: iconv/iconv_prog.c:521
+#: iconv/iconv_prog.c:522
 #, c-format
 msgid "illegal input sequence at position %ld"
-msgstr "ÎÅÄÏÐÕÓÔÉÍÁÑ ×ÈÏÄÎÁÑ ÐÏÓÌÅÄÏ×ÁÔÅÌØÎÏÓÔØ × ÐÏÚÉÃÉÉ %ld"
+msgstr "недопустимая входная последовательность в позиции %ld"
 
-#: iconv/iconv_prog.c:529
+#: iconv/iconv_prog.c:530
 #, c-format
 msgid "internal error (illegal descriptor)"
-msgstr "×ÎÕÔÒÅÎÎÑÑ ÏÛÉÂËÁ (ÎÅ×ÅÒÎÙÊ ÄÅÓËÒÉÐÔÏÒ)"
+msgstr "внутренняя ошибка (неверный дескриптор)"
 
-#: iconv/iconv_prog.c:532
+#: iconv/iconv_prog.c:533
 #, c-format
 msgid "unknown iconv() error %d"
-msgstr "ÎÅÉÚ×ÅÓÔÎÁÑ ÏÛÉÂËÁ iconv() %d"
+msgstr "неизвестная ошибка iconv() %d"
 
-#: iconv/iconv_prog.c:778
+#: 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"
@@ -1297,1258 +1292,1259 @@ msgid ""
 "\n"
 "  "
 msgstr ""
-"óÌÅÄÕÀÝÉÊ ÓÐÉÓÏË ÓÏÄÅÒÖÉÔ ×ÓÅ ÉÚ×ÅÓÔÎÙÅ ×ÓÔÒÏÅÎÎÙÅ ËÏÄÉÒÏ×ËÉ.  üÔÏ ÎÅ\n"
-"ÏÂÑÚÁÔÅÌØÎÏ ÏÚÎÁÞÁÅÔ, ÞÔÏ ÍÏÖÎÏ ÉÓÐÏÌØÚÏ×ÁÔØ ÌÀÂÙÅ ËÏÍÂÉÎÁÃÉÉ ÄÁÎÎÙÈ\n"
-"ÉÍÅΠנÐÁÒÁÍÅÔÒÁÈ ËÏÍÁÎÄÎÏÊ ÓÔÒÏËÉ FROM É TO.  ïÄÎÁ É ÔÁ ÖÅ ËÏÄÉÒÏ×ËÁ\n"
-"ÍÏÖÅÔ ÂÙÔØ ÐÅÒÅÞÉÓÌÅÎÁ ÐÏÄ ÎÅÓËÏÌØËÉÍÉ ÉÍÅÎÁÍÉ (ÐÓÅ×ÄÏÎÉÍÁÍÉ).\n"
+"Следующий список содержит все известные встроенные кодировки.  Это не\n"
+"обязательно означает, что можно использовать любые комбинации данных\n"
+"имен в параметрах командной строки FROM и TO.  Одна и та же кодировка\n"
+"может быть перечислена под несколькими именами (псевдонимами).\n"
 "\n"
 "  "
 
-#: iconv/iconvconfig.c:109
+#: iconv/iconvconfig.c:110
 msgid "Create fastloading iconv module configuration file."
-msgstr "óÏÚÄÁÅÔ ÂÙÓÔÒÏÚÁÇÒÕÖÁÅÍÙÊ ËÏÎÆÉÇÕÒÁÃÉÏÎÎÙÊ ÆÁÊÌ ÍÏÄÕÌÑ iconv."
+msgstr "Создает быстрозагружаемый конфигурационный файл модуля iconv."
 
-#: iconv/iconvconfig.c:113
+#: iconv/iconvconfig.c:114
 msgid "[DIR...]"
-msgstr "[ëáôáìïç...]"
+msgstr "[КАТАЛОГ...]"
 
-#: iconv/iconvconfig.c:126
+#: iconv/iconvconfig.c:127
 msgid "Prefix used for all file accesses"
-msgstr "ðÒÅÆÉËÓ, ÉÓÐÏÌØÚÕÅÍÙÊ ÄÌÑ ÄÏÓÔÕÐÁ ËÏ ×ÓÅÍ ÆÁÊÌÁÍ"
+msgstr "Префикс, используемый для доступа ко всем файлам"
 
-#: iconv/iconvconfig.c:127
+#: iconv/iconvconfig.c:128
 msgid "Put output in FILE instead of installed location (--prefix does not apply to FILE)"
-msgstr "úÁÐÉÓÁÔØ ×Ù×ÏÄ × æáêì, Á ÎÅ × ÍÅÓÔÏ ÕÓÔÁÎÏ×ËÉ (--prefix ÎÅ ÐÒÉÍÅÎÑÅÔÓÑ Ë æáêìõ)"
+msgstr "Записать вывод в ФАЙЛ, а не в место установки (--prefix не применяется к ФАЙЛУ)"
 
-#: iconv/iconvconfig.c:131
+#: iconv/iconvconfig.c:132
 msgid "Do not search standard directories, only those on the command line"
-msgstr "îÅ ÉÓËÁÔØ × ÓÔÁÎÄÁÒÔÎÙÈ ËÁÔÁÌÏÇÁÈ, Á ÔÏÌØËÏ × ÕËÁÚÁÎÎÙÈ × ËÏÍÁÎÄÎÏÊ ÓÔÒÏËÅ"
+msgstr "Не искать в стандартных каталогах, а только в указанных в командной строке"
 
-#: iconv/iconvconfig.c:300
+#: iconv/iconvconfig.c:301
 #, c-format
 msgid "Directory arguments required when using --nostdlib"
-msgstr "ðÒÉ ÉÓÐÏÌØÚÏ×ÁÎÉÉ --nostdlib ÔÒÅÂÕÅÔÓÑ ÚÁÄÁ×ÁÔØ ÁÒÇÕÍÅÎÔÙ-ËÁÔÁÌÏÇÉ"
+msgstr "При использовании --nostdlib требуется задавать аргументы-каталоги"
 
-#: iconv/iconvconfig.c:342 locale/programs/localedef.c:290
+#: iconv/iconvconfig.c:343 locale/programs/localedef.c:291
 #, c-format
 msgid "no output file produced because warnings were issued"
-msgstr "×ÙÈÏÄÎÏÊ ÆÁÊÌ ÎÅ ÓÏÚÄÁÎ, ÐÏÓËÏÌØËÕ ÂÙÌÉ ÐÒÅÄÕÐÒÅÖÄÅÎÉÑ"
+msgstr "выходной файл не создан, поскольку были предупреждения"
 
-#: iconv/iconvconfig.c:428
+#: iconv/iconvconfig.c:429
 #, c-format
 msgid "while inserting in search tree"
-msgstr "ÐÒÉ ×ÓÔÁ×ËÅ × ÄÅÒÅ×Ï ÐÏÉÓËÁ"
+msgstr "пÑ\80и Ð²Ñ\81Ñ\82авке Ð² Ð´ÐµÑ\80ево Ð¿Ð¾Ð¸Ñ\81ка"
 
-#: iconv/iconvconfig.c:1236
+#: iconv/iconvconfig.c:1238
 #, c-format
 msgid "cannot generate output file"
-msgstr "ÎÅ×ÏÚÍÏÖÎÏ ÓÇÅÎÅÒÉÒÏ×ÁÔØ ×ÙÈÏÄÎÏÊ ÆÁÊÌ"
+msgstr "невозможно сгенерировать выходной файл"
 
 #: inet/rcmd.c:157
 msgid "rcmd: Cannot allocate memory\n"
-msgstr "rcmd: îÅ×ÏÚÍÏÖÎÏ ×ÙÄÅÌÉÔØ ÐÁÍÑÔØ\n"
+msgstr "rcmd: Невозможно выделить память\n"
 
 #: inet/rcmd.c:172
 msgid "rcmd: socket: All ports in use\n"
-msgstr "rcmd: socket: ÷ÓÅ ÐÏÒÔÙ ÉÓÐÏÌØÚÕÀÔÓÑ\n"
+msgstr "rcmd: socket: Все порты используются\n"
 
 #: inet/rcmd.c:200
 #, c-format
 msgid "connect to address %s: "
-msgstr "ÓÏÅÄÉÎÅÎÉÅ Ó ÁÄÒÅÓÏÍ %s: "
+msgstr "соединение с адресом %s: "
 
 #: inet/rcmd.c:213
 #, c-format
 msgid "Trying %s...\n"
-msgstr "ðÏÐÙÔËÁ %s...\n"
+msgstr "Попытка %s...\n"
 
 #: inet/rcmd.c:249
 #, c-format
 msgid "rcmd: write (setting up stderr): %m\n"
-msgstr "rcmd: write (ÎÁÓÔÒÏÊËÁ stderr): %m\n"
+msgstr "rcmd: write (настройка stderr): %m\n"
 
 #: inet/rcmd.c:265
 #, c-format
 msgid "rcmd: poll (setting up stderr): %m\n"
-msgstr "rcmd: poll (ÎÁÓÔÒÏÊËÁ stderr): %m\n"
+msgstr "rcmd: poll (настройка stderr): %m\n"
 
 #: inet/rcmd.c:268
 msgid "poll: protocol failure in circuit setup\n"
-msgstr "poll: ÓÂÏÊ ÐÒÏÔÏËÏÌÁ ÐÒÉ ÎÁÓÔÒÏÊËÅ ÃÅÐÉ\n"
+msgstr "poll: сбой протокола при настройке цепи\n"
 
 #: inet/rcmd.c:301
 msgid "socket: protocol failure in circuit setup\n"
-msgstr "socket: ÓÂÏÊ ÐÒÏÔÏËÏÌÁ ÐÒÉ ÎÁÓÔÒÏÊËÅ ÃÅÐÉ\n"
+msgstr "socket: сбой протокола при настройке цепи\n"
 
 #: inet/rcmd.c:325
 #, c-format
 msgid "rcmd: %s: short read"
-msgstr "rcmd: %s: ÎÅÐÏÌÎÏÅ ÞÔÅÎÉÅ"
+msgstr "rcmd: %s: неполное чтение"
 
 #: inet/rcmd.c:481
 msgid "lstat failed"
-msgstr "lstat ÎÅÕÓÐÅÛÎÁ"
+msgstr "lstat неуспешна"
 
 #: inet/rcmd.c:488
 msgid "cannot open"
-msgstr "ÎÅ×ÏÚÍÏÖÎÏ ÏÔËÒÙÔØ"
+msgstr "невозможно открыть"
 
 #: inet/rcmd.c:490
 msgid "fstat failed"
-msgstr "fstat ÎÅÕÓÐÅÛÎÁ"
+msgstr "fstat неуспешна"
 
 #: inet/rcmd.c:492
 msgid "bad owner"
-msgstr "ÎÅÐÒÁ×ÉÌØÎÙÊ ×ÌÁÄÅÌÅÃ"
+msgstr "неправильный владелец"
 
 #: inet/rcmd.c:494
 msgid "writeable by other than owner"
-msgstr "ÍÏÖÅÔ ÚÁÐÉÓÙ×ÁÔØÓÑ ÎÅ ×ÌÁÄÅÌØÃÅÍ"
+msgstr "может записываться не владельцем"
 
 #: inet/rcmd.c:496
 msgid "hard linked somewhere"
-msgstr "ÉÍÅÅÔÓÑ ÖÅÓÔËÁÑ ÓÓÙÌËÁ"
+msgstr "имеется жесткая ссылка"
 
 #: inet/ruserpass.c:170 inet/ruserpass.c:193
 msgid "out of memory"
-msgstr "ÎÅÄÏÓÔÁÔÏÞÎÏ ÐÁÍÑÔÉ"
+msgstr "недостаточно памяти"
 
 #: inet/ruserpass.c:184
 msgid "Error: .netrc file is readable by others."
-msgstr "ïÛÉÂËÁ: ÆÁÊÌ .netrc ÍÏÖÅÔ ÚÁÐÉÓÙ×ÁÔØÓÑ ÄÒÕÇÉÍÉ."
+msgstr "Ошибка: файл .netrc может записываться другими."
 
 #: inet/ruserpass.c:185
 msgid "Remove password or make file unreadable by others."
-msgstr "õÄÁÌÉÔÅ ÐÁÒÏÌØ ÉÌÉ ÓÄÅÌÁÊÔÅ ÆÁÊÌ ÎÅÞÉÔÁÅÍÙÍ ÄÒÕÇÉÍÉ."
+msgstr "Удалите пароль или сделайте файл нечитаемым другими."
 
 #: inet/ruserpass.c:277
 #, c-format
 msgid "Unknown .netrc keyword %s"
-msgstr "îÅÉÚ×ÅÓÔÎÏÅ ËÌÀÞÅ×ÏÅ ÓÌÏ×Ï .netrc %s"
+msgstr "Неизвестное ключевое слово .netrc %s"
 
 #: libidn/nfkc.c:464
 msgid "Character out of range for UTF-8"
-msgstr "úÎÁË ×ÎÅ ÄÉÁÐÁÚÏÎÁ ÄÌÑ UTF-8"
+msgstr "Знак вне диапазона для UTF-8"
 
-#: locale/programs/charmap-dir.c:57
+#: locale/programs/charmap-dir.c:59
 #, c-format
 msgid "cannot read character map directory `%s'"
-msgstr "ÎÅ×ÏÚÍÏÖÎÏ ÐÒÏÞÉÔÁÔØ ËÁÔÁÌÏÇ ÏÔÏÂÒÁÖÅÎÉÊ ÚÎÁËÏ× `%s'"
+msgstr "невозможно прочитать каталог отображений знаков «%s»"
 
-#: locale/programs/charmap.c:137
+#: locale/programs/charmap.c:138
 #, c-format
 msgid "character map file `%s' not found"
-msgstr "ÆÁÊÌ ÏÔÏÂÒÁÖÅÎÉÊ ÚÎÁËÏ× `%s' ÎÅ ÎÁÊÄÅÎ"
+msgstr "файл отображений знаков «%s» не найден"
 
-#: locale/programs/charmap.c:194
+#: locale/programs/charmap.c:195
 #, c-format
 msgid "default character map file `%s' not found"
-msgstr "ÐÒÉÍÅÎÑÅÍÙÊ ÐÏ ÕÍÏÌÞÁÎÉÀ ÆÁÊÌ ÏÔÏÂÒÁÖÅÎÉÊ ÚÎÁËÏ× `%s' ÎÅ ÎÁÊÄÅÎ"
+msgstr "пÑ\80именÑ\8fемÑ\8bй Ð¿Ð¾ Ñ\83молÑ\87аниÑ\8e Ñ\84айл Ð¾Ñ\82обÑ\80ажений Ð·Ð½Ð°ÐºÐ¾Ð² Â«%s» Ð½Ðµ Ð½Ð°Ð¹Ð´ÐµÐ½"
 
-#: 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 "ÏÔÏÂÒÁÖÅÎÉÅ ÚÎÁËÏ× `%s' ÎÅ ÓÏ×ÍÅÓÔÉÍÏ Ó ASCII, ÌÏËÁÌØ ÎÅ ÓÏÏÔ×ÅÔÓÔ×ÕÅÔ ÓÔÁÎÄÁÒÔÕ ISO C\n"
+msgstr "отображение знаков «%s» не совместимо с ASCII, локаль не соответствует стандарту 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> ÄÏÌÖÎÏ ÂÙÔØ ÂÏÌØÛÅ ÞÅÍ <mb_cur_min>\n"
+msgstr "%s: <mb_cur_max> должно быть больше чем <mb_cur_min>\n"
 
-#: locale/programs/charmap.c:356 locale/programs/charmap.c:373
+#: locale/programs/charmap.c:357 locale/programs/charmap.c:374
 #: locale/programs/repertoire.c:174
 #, c-format
 msgid "syntax error in prolog: %s"
-msgstr "ÓÉÎÔÁËÓÉÞÅÓËÁÑ ÏÛÉÂËÁ × ÐÒÏÌÏÇÅ: %s"
+msgstr "синтаксическая ошибка в прологе: %s"
 
-#: locale/programs/charmap.c:357
+#: locale/programs/charmap.c:358
 msgid "invalid definition"
-msgstr "ÎÅ×ÅÒÎÏÅ ÏÐÒÅÄÅÌÅÎÉÅ"
+msgstr "неверное определение"
 
-#: locale/programs/charmap.c:374 locale/programs/locfile.c:125
-#: locale/programs/locfile.c:152 locale/programs/repertoire.c:175
+#: locale/programs/charmap.c:375 locale/programs/locfile.c:126
+#: locale/programs/locfile.c:153 locale/programs/repertoire.c:175
 msgid "bad argument"
-msgstr "ÎÅÐÒÁ×ÉÌØÎÙÊ ÁÒÇÕÍÅÎÔ"
+msgstr "неправильный аргумент"
 
-#: locale/programs/charmap.c:402
+#: locale/programs/charmap.c:403
 #, c-format
 msgid "duplicate definition of <%s>"
-msgstr "ÐÏ×ÔÏÒÎÏÅ ÏÐÒÅÄÅÌÅÎÉÅ ÄÌÑ <%s>"
+msgstr "повÑ\82оÑ\80ное Ð¾Ð¿Ñ\80еделение Ð´Ð»Ñ\8f <%s>"
 
-#: locale/programs/charmap.c:409
+#: locale/programs/charmap.c:410
 #, c-format
 msgid "value for <%s> must be 1 or greater"
-msgstr "ÚÎÁÞÅÎÉÅ <%s> ÄÏÌÖÎÏ ÂÙÔØ 1 ÉÌÉ ÂÏÌØÛÅ"
+msgstr "значение <%s> должно быть 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 "ÚÎÁÞÅÎÉÅ <%s> ÄÏÌÖÎÏ ÂÙÔØ ÂÏÌØÛÅ ÉÌÉ ÒÁ×ÎÏ ÚÎÁÞÅÎÉÀ <%s>"
+msgstr "значение <%s> должно быть больше или равно значению <%s>"
 
-#: locale/programs/charmap.c:444 locale/programs/repertoire.c:183
+#: locale/programs/charmap.c:445 locale/programs/repertoire.c:183
 #, c-format
 msgid "argument to <%s> must be a single character"
-msgstr "ÁÒÇÕÍÅÎÔ ÄÌÑ <%s> ÄÏÌÖÅΠÂÙÔØ ÏÄÎÉÍ ÚÎÁËÏÍ"
+msgstr "аргумент для <%s> должен быть одним знаком"
 
-#: locale/programs/charmap.c:470
+#: locale/programs/charmap.c:471
 msgid "character sets with locking states are not supported"
-msgstr "ËÏÄÉÒÏ×ËÉ Ó ÂÌÏËÉÒÕÀÝÉÍÉ ÓÏÓÔÏÑÎÉÑÍÉ ÎÅ ÐÏÄÄÅÒÖÉ×ÁÀÔÓÑ"
+msgstr "кодировки с блокирующими состояниями не поддерживаются"
 
-#: 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 "ÓÉÎÔÁËÓÉÞÅÓËÁÑ ÏÛÉÂËÁ × ÏÐÒÅÄÅÌÅÎÉÉ %s: %s"
+msgstr "синтаксическая ошибка в определении %s: %s"
 
-#: locale/programs/charmap.c:498 locale/programs/charmap.c:678
-#: locale/programs/charmap.c:774 locale/programs/repertoire.c:230
+#: 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 "ÎÅ ÚÁÄÁÎÏ ÓÉÍ×ÏÌØÎÏÅ ÉÍÑ"
+msgstr "не задано символьное имя"
 
-#: locale/programs/charmap.c:552
+#: locale/programs/charmap.c:553
 msgid "invalid encoding given"
-msgstr "ÚÁÄÁÎÁ ÎÅ×ÅÒÎÁÑ ËÏÄÉÒÏ×ËÁ"
+msgstr "задана неверная кодировка"
 
-#: locale/programs/charmap.c:561
+#: locale/programs/charmap.c:562
 msgid "too few bytes in character encoding"
-msgstr "ÓÌÉÛËÏÍ ÍÁÌÏ ÂÁÊÔ × ËÏÄÉÒÏ×ËÅ ÚÎÁËÁ"
+msgstr "слишком мало байт в кодировке знака"
 
-#: locale/programs/charmap.c:563
+#: locale/programs/charmap.c:564
 msgid "too many bytes in character encoding"
-msgstr "ÓÌÉÛËÏÍ ÍÎÏÇÏ ÂÁÊÔ × ËÏÄÉÒÏ×ËÅ ÚÎÁËÁ"
+msgstr "слишком много байт в кодировке знака"
 
-#: locale/programs/charmap.c:585 locale/programs/charmap.c:733
-#: locale/programs/charmap.c:816 locale/programs/repertoire.c:296
+#: 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 "ÎÅ ÚÁÄÁÎÏ ÓÉÍ×ÏÌØÎÏÅ ÉÍÑ ÄÌÑ ËÏÎÃÁ ÄÉÁÐÁÚÏÎÁ"
-
-#: locale/programs/charmap.c:609 locale/programs/locfile.c:818
+msgstr "не задано символьное имя для конца диапазона"
+
+#: 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' ÎÅ ÚÁËÁÎÞÉ×ÁÅÔÓÑ ÎÁ `END %1$s'"
+msgid "%1$s: definition does not end with `END %1$s'"
+msgstr "%1$s: определение не заканчивается на «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 "ÐÏÓÌÅ ÏÐÒÅÄÅÌÅÎÉÑ CHARMAP ÍÏÇÕÔ ÓÌÅÄÏ×ÁÔØ ÔÏÌØËÏ ÏÐÒÅÄÅÌÅÎÉÑ WIDTH"
+msgstr "поÑ\81ле Ð¾Ð¿Ñ\80еделениÑ\8f CHARMAP Ð¼Ð¾Ð³Ñ\83Ñ\82 Ñ\81ледоваÑ\82Ñ\8c Ñ\82олÑ\8cко Ð¾Ð¿Ñ\80еделениÑ\8f WIDTH"
 
-#: 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 "ÚÎÁÞÅÎÉÅ ÄÌÑ %s ÄÏÌÖÎÏ ÂÙÔØ ÃÅÌÙÍ ÞÉÓÌÏÍ"
+msgstr "значение для %s должно быть целым числом"
 
-#: locale/programs/charmap.c:841
+#: locale/programs/charmap.c:842
 #, c-format
 msgid "%s: error in state machine"
-msgstr "%s: ÏÛÉÂËÁ × Á×ÔÏÍÁÔÅ"
-
-#: locale/programs/charmap.c:849 locale/programs/ld-address.c:615
-#: locale/programs/ld-collate.c:2650 locale/programs/ld-collate.c:3820
-#: locale/programs/ld-ctype.c:2224 locale/programs/ld-ctype.c:2996
-#: locale/programs/ld-identification.c:467
-#: locale/programs/ld-measurement.c:253 locale/programs/ld-messages.c:347
-#: locale/programs/ld-monetary.c:956 locale/programs/ld-name.c:322
-#: locale/programs/ld-numeric.c:383 locale/programs/ld-paper.c:256
-#: locale/programs/ld-telephone.c:328 locale/programs/ld-time.c:1236
-#: locale/programs/locfile.c:825 locale/programs/repertoire.c:324
+msgstr "%s: ошибка в автомате"
+
+#: 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: ÐÒÅÖÄÅ×ÒÅÍÅÎÎÙÊ ËÏÎÅàÆÁÊÌÁ"
+msgstr "%s: Ð¿Ñ\80еждевÑ\80еменнÑ\8bй ÐºÐ¾Ð½ÐµÑ\86 Ñ\84айла"
 
-#: 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 "ÎÅÉÚ×ÅÓÔÎÙÊ ÚÎÁË `%s'"
+msgstr "неизвестный знак «%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 "ÞÉÓÌÏ ÂÁÊÔ ÄÌÑ ÐÏÓÌÅÄÏ×ÁÔÅÌØÎÏÓÔÉ ÂÁÊÔ ÎÁÞÁÌÁ É ËÏÎÃÁ ÄÉÁÐÁÚÏÎÁ ÎÅ ÓÏ×ÐÁÄÁÀÔ: %d É %d"
+msgstr "число байт для последовательности байт начала и конца диапазона не совпадают: %d и %d"
 
-#: locale/programs/charmap.c:992 locale/programs/ld-collate.c:2933
+#: locale/programs/charmap.c:993 locale/programs/ld-collate.c:3047
 #: locale/programs/repertoire.c:419
 msgid "invalid names for character range"
-msgstr "ÎÅÄÏÐÕÓÔÉÍÙÅ ÉÍÅÎÁ ÄÌÑ ÄÉÁÐÁÚÏÎÁ ÚÎÁËÏ×"
+msgstr "недопустимые имена для диапазона знаков"
 
-#: locale/programs/charmap.c:1004 locale/programs/repertoire.c:431
+#: locale/programs/charmap.c:1005 locale/programs/repertoire.c:431
 msgid "hexadecimal range format should use only capital characters"
-msgstr "× ÛÅÓÔÎÁÄÃÁÔÉÒÉÞÎÏÍ ÆÏÒÍÁÔÅ ÄÉÁÐÁÚÏÎÁ ÓÌÅÄÕÅÔ ÉÓÐÏÌØÚÏ×ÁÔØ ÔÏÌØËÏ ÚÁÇÌÁ×ÎÙÅ ÂÕË×Ù"
+msgstr "в шестнадцатиричном формате диапазона следует использовать только заглавные буквы"
 
-#: locale/programs/charmap.c:1022
+#: locale/programs/charmap.c:1023 locale/programs/repertoire.c:449
 #, c-format
-msgid "<%s> and <%s> are illegal names for range"
-msgstr "<%s> É <%s> -- ÎÅÄÏÐÕÓÔÉÍÙÅ ÉÍÅÎÁ ÄÌÑ ÄÉÁÐÁÚÏÎÁ"
+msgid "<%s> and <%s> are invalid names for range"
+msgstr "<%s> и <%s> не являются допустимыми именами диапазона"
 
-#: locale/programs/charmap.c:1028
-msgid "upper limit in range is not higher then lower limit"
-msgstr "×ÅÒÈÎÑÑ ÇÒÁÎÉÃÁ ÄÉÁÐÁÚÏÎÁ ÎÅ ÂÏÌØÛÅ ÎÉÖÎÅÊ ÇÒÁÎÉÃÙ"
+#: locale/programs/charmap.c:1029 locale/programs/repertoire.c:456
+#, fuzzy
+msgid "upper limit in range is smaller than lower limit"
+msgstr "верхняя граница диапазона не меньше нижней"
 
-#: locale/programs/charmap.c:1086
+#: locale/programs/charmap.c:1087
 msgid "resulting bytes for range not representable."
-msgstr "ÒÅÚÕÌØÔÉÒÕÀÝÉÅ ÂÁÊÔÙ ÄÌÑ ÄÉÁÐÁÚÏÎÁ ÎÅ×ÏÚÍÏÖÎÏ ÍÁÛÉÎÎÏ ÐÒÅÄÓÔÁ×ÉÔØ."
+msgstr "результирующие байты для диапазона невозможно машинно представить."
 
-#: locale/programs/ld-address.c:132 locale/programs/ld-collate.c:1532
-#: locale/programs/ld-ctype.c:419 locale/programs/ld-identification.c:132
-#: locale/programs/ld-measurement.c:93 locale/programs/ld-messages.c:96
-#: locale/programs/ld-monetary.c:192 locale/programs/ld-name.c:93
-#: locale/programs/ld-numeric.c:97 locale/programs/ld-paper.c:90
-#: locale/programs/ld-telephone.c:93 locale/programs/ld-time.c:158
+#: 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 "îÅ ÎÁÊÄÅÎÏ ÏÐÒÅÄÅÌÅÎÉÑ ÄÌÑ ËÁÔÅÇÏÒÉÉ %s"
-
-#: locale/programs/ld-address.c:143 locale/programs/ld-address.c:181
-#: locale/programs/ld-address.c:199 locale/programs/ld-address.c:228
-#: locale/programs/ld-address.c:300 locale/programs/ld-address.c:319
-#: locale/programs/ld-address.c:332 locale/programs/ld-identification.c:145
-#: locale/programs/ld-measurement.c:104 locale/programs/ld-monetary.c:204
-#: locale/programs/ld-monetary.c:248 locale/programs/ld-monetary.c:264
-#: locale/programs/ld-monetary.c:276 locale/programs/ld-name.c:104
-#: locale/programs/ld-name.c:141 locale/programs/ld-numeric.c:111
-#: locale/programs/ld-numeric.c:125 locale/programs/ld-paper.c:101
-#: locale/programs/ld-paper.c:110 locale/programs/ld-telephone.c:104
-#: locale/programs/ld-telephone.c:161 locale/programs/ld-time.c:174
-#: locale/programs/ld-time.c:195
+msgstr "Не найдено определения для категории %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: ÐÏÌÅ `%s' ÎÅ ÏÐÒÅÄÅÌÅÎÏ"
+msgstr "%s: Ð¿Ð¾Ð»Ðµ Â«%s» Ð½Ðµ Ð¾Ð¿Ñ\80еделено"
 
-#: locale/programs/ld-address.c:155 locale/programs/ld-address.c:207
-#: locale/programs/ld-address.c:237 locale/programs/ld-address.c:275
-#: locale/programs/ld-name.c:116 locale/programs/ld-telephone.c:116
+#: 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: ÐÏÌÅ `%s' ÄÏÌÖÎÏ ÂÙÔØ ÎÅÐÕÓÔÙÍ"
+msgstr "%s: Ð¿Ð¾Ð»Ðµ Â«%s» Ð´Ð¾Ð»Ð¶Ð½Ð¾ Ð±Ñ\8bÑ\82Ñ\8c Ð½ÐµÐ¿Ñ\83Ñ\81Ñ\82Ñ\8bм"
 
-#: locale/programs/ld-address.c:167
+#: locale/programs/ld-address.c:168
 #, c-format
 msgid "%s: invalid escape `%%%c' sequence in field `%s'"
-msgstr "%s: ÎÅ×ÅÒÎÁÑ ÕÐÒÁ×ÌÑÀÝÁÑ ÐÏÓÌÅÄÏ×ÁÔÅÌØÎÏÓÔØ `%%%c' × ÐÏÌÅ `%s'"
+msgstr "%s: неверная управляющая последовательность «%%%c» в поле «%s»"
 
-#: locale/programs/ld-address.c:218
+#: locale/programs/ld-address.c:219
 #, c-format
 msgid "%s: terminology language code `%s' not defined"
-msgstr ""
+msgstr "%s: термин языка «%s» не определен"
 
-#: locale/programs/ld-address.c:243
+#: locale/programs/ld-address.c:244
 #, c-format
 msgid "%s: field `%s' must not be defined"
-msgstr "%s: ÐÏÌÅ `%s' ÎÅ ÄÏÌÖÎÏ ÂÙÔØ ÏÐÒÅÄÅÌÅÎÏ"
+msgstr "%s: Ð¿Ð¾Ð»Ðµ Â«%s» Ð½Ðµ Ð´Ð¾Ð»Ð¶Ð½Ð¾ Ð±Ñ\8bÑ\82Ñ\8c Ð¾Ð¿Ñ\80еделено"
 
-#: locale/programs/ld-address.c:257 locale/programs/ld-address.c:286
+#: locale/programs/ld-address.c:258 locale/programs/ld-address.c:287
 #, c-format
 msgid "%s: language abbreviation `%s' not defined"
-msgstr "%s: ÓÏËÒÁÝÅÎÎÏÅ ÉÍÑ ÑÚÙËÁ `%s' ÎÅ ÏÐÒÅÄÅÌÅÎÏ"
+msgstr "%s: сокращенное имя языка «%s» не определено"
 
-#: locale/programs/ld-address.c:264 locale/programs/ld-address.c:292
-#: locale/programs/ld-address.c:326 locale/programs/ld-address.c:338
+#: 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: ÚÎÁÞÅÎÉÅ `%s' ÎÅ ÓÏ×ÐÁÄÁÅÔ ÓÏ ÚÎÁÞÅÎÉÅÍ `%s'"
+msgstr "%s: значение «%s» не совпадает со значением «%s»"
 
-#: locale/programs/ld-address.c:311
+#: locale/programs/ld-address.c:312
 #, c-format
 msgid "%s: numeric country code `%d' not valid"
-msgstr "%s: ÎÅ×ÅÒÎÙÊ ÞÉÓÌÏ×ÏÊ ËÏÄ ÓÔÒÁÎÙ `%d'"
-
-#: locale/programs/ld-address.c:507 locale/programs/ld-address.c:544
-#: locale/programs/ld-address.c:582 locale/programs/ld-ctype.c:2603
-#: locale/programs/ld-identification.c:363
-#: locale/programs/ld-measurement.c:220 locale/programs/ld-messages.c:300
-#: locale/programs/ld-monetary.c:698 locale/programs/ld-monetary.c:733
-#: locale/programs/ld-monetary.c:774 locale/programs/ld-name.c:279
-#: locale/programs/ld-numeric.c:262 locale/programs/ld-paper.c:223
-#: locale/programs/ld-telephone.c:287 locale/programs/ld-time.c:1125
-#: locale/programs/ld-time.c:1167
+msgstr "%s: неверный числовой код страны «%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: ÐÏÌÅ `%s' ÏÂßÑ×ÌÅÎÏ ÎÅÓËÏÌØËÏ ÒÁÚ"
+msgstr "%s: Ð¿Ð¾Ð»Ðµ Â«%s» Ð¾Ð±Ñ\8aÑ\8fвлено Ð½ÐµÑ\81колÑ\8cко Ñ\80аз"
 
-#: locale/programs/ld-address.c:511 locale/programs/ld-address.c:549
-#: locale/programs/ld-identification.c:367 locale/programs/ld-messages.c:310
-#: locale/programs/ld-monetary.c:702 locale/programs/ld-monetary.c:737
-#: locale/programs/ld-name.c:283 locale/programs/ld-numeric.c:266
-#: locale/programs/ld-telephone.c:291 locale/programs/ld-time.c:1019
-#: locale/programs/ld-time.c:1088 locale/programs/ld-time.c:1130
+#: 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: ÎÅÉÚ×ÅÓÔÎÙÊ ÚÎÁË × ÐÏÌÅ `%s'"
+msgstr "%s: неизвестный знак в поле «%s»"
 
-#: locale/programs/ld-address.c:596 locale/programs/ld-collate.c:3802
-#: locale/programs/ld-ctype.c:2976 locale/programs/ld-identification.c:448
-#: locale/programs/ld-measurement.c:234 locale/programs/ld-messages.c:329
-#: locale/programs/ld-monetary.c:938 locale/programs/ld-name.c:304
-#: locale/programs/ld-numeric.c:365 locale/programs/ld-paper.c:238
-#: locale/programs/ld-telephone.c:310 locale/programs/ld-time.c:1218
+#: 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: ÎÅÚÁ×ÅÒÛÅÎÎÁÑ ÓÔÒÏËÁ `END'"
-
-#: locale/programs/ld-address.c:599 locale/programs/ld-collate.c:2653
-#: locale/programs/ld-collate.c:3804 locale/programs/ld-ctype.c:2227
-#: locale/programs/ld-ctype.c:2979 locale/programs/ld-identification.c:451
-#: locale/programs/ld-measurement.c:237 locale/programs/ld-messages.c:331
-#: locale/programs/ld-monetary.c:940 locale/programs/ld-name.c:306
-#: locale/programs/ld-numeric.c:367 locale/programs/ld-paper.c:240
-#: locale/programs/ld-telephone.c:312 locale/programs/ld-time.c:1220
-#, c-format
-msgid "%1$s: definition does not end with `END %1$s'"
-msgstr "%1$s: ÏÐÒÅÄÅÌÅÎÉÅ ÎÅ ÚÁËÁÎÞÉ×ÁÅÔÓÑ ÎÁ `END %1$s'"
-
-#: locale/programs/ld-address.c:606 locale/programs/ld-collate.c:521
-#: locale/programs/ld-collate.c:573 locale/programs/ld-collate.c:869
-#: locale/programs/ld-collate.c:882 locale/programs/ld-collate.c:2640
-#: locale/programs/ld-collate.c:3811 locale/programs/ld-ctype.c:1955
-#: locale/programs/ld-ctype.c:2214 locale/programs/ld-ctype.c:2801
-#: locale/programs/ld-ctype.c:2987 locale/programs/ld-identification.c:458
-#: locale/programs/ld-measurement.c:244 locale/programs/ld-messages.c:338
-#: locale/programs/ld-monetary.c:947 locale/programs/ld-name.c:313
-#: locale/programs/ld-numeric.c:374 locale/programs/ld-paper.c:247
-#: locale/programs/ld-telephone.c:319 locale/programs/ld-time.c:1227
+msgstr "%s: незавершенная строка «END»"
+
+#: 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: ÓÉÎÔÁËÓÉÞÅÓËÁÑ ÏÛÉÂËÁ"
+msgstr "%s: синтаксическая ошибка"
 
-#: locale/programs/ld-collate.c:396
+#: locale/programs/ld-collate.c:417
 #, c-format
 msgid "`%.*s' already defined in charmap"
-msgstr "`%.*s' ÕÖÅ ÏÐÒÅÄÅÌÅΠנÏÔÏÂÒÁÖÅÎÉÉ ÚÎÁËÏ×"
+msgstr "«%.*s» уже определен в отображении знаков"
 
-#: locale/programs/ld-collate.c:405
+#: locale/programs/ld-collate.c:426
 #, c-format
 msgid "`%.*s' already defined in repertoire"
-msgstr "`%.*s' ÕÖÅ ÏÐÒÅÄÅÌÅÎÏ × ÒÅÐÅÒÔÕÁÒÅ"
+msgstr "«%.*s» уже определено в репертуаре"
 
-#: locale/programs/ld-collate.c:412
+#: locale/programs/ld-collate.c:433
 #, c-format
 msgid "`%.*s' already defined as collating symbol"
-msgstr "`%.*s' ÕÖÅ ÏÐÒÅÄÅÌÅÎÏ ËÁË ÓÉÍ×ÏÌ ÓÏÒÔÉÒÏ×ËÉ"
+msgstr "«%.*s» уже определено как символ сортировки"
 
-#: locale/programs/ld-collate.c:419
+#: locale/programs/ld-collate.c:440
 #, c-format
 msgid "`%.*s' already defined as collating element"
-msgstr "`%.*s' ÕÖÅ ÏÐÒÅÄÅÌÅÎÏ ËÁË ÜÌÅÍÅÎÔ ÓÏÒÔÉÒÏ×ËÉ"
+msgstr "«%.*s» уже определено как элемент сортировки"
 
-#: locale/programs/ld-collate.c:450 locale/programs/ld-collate.c:476
+#: 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' É `backward' ×ÚÁÉÍÎÏ ÉÓËÌÀÞÁÀÔÓÑ"
+msgstr "%s: «forward» и «backward» взаимно исключаются"
 
-#: locale/programs/ld-collate.c:460 locale/programs/ld-collate.c:486
-#: locale/programs/ld-collate.c:502
+#: 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' ×ÓÔÒÅÞÁÅÔÓÑ ÂÏÌÅÅ ÏÄÎÏÇÏ ÒÁÚÁ × ÏÐÒÅÄÅÌÅÎÉÉ ×ÅÓÁ %d"
+msgstr "%s: «%s» встречается более одного раза в определении веса %d"
 
-#: locale/programs/ld-collate.c:558
+#: locale/programs/ld-collate.c:579
 #, c-format
 msgid "%s: too many rules; first entry only had %d"
-msgstr "%s: ÓÌÉÛËÏÍ ÍÎÏÇÏ ÐÒÁ×ÉÌ; × ÐÅÒ×ÏÍ ×ÈÏÖÄÅÎÉÉ ÂÙÌÏ ÔÏÌØËÏ %d"
+msgstr "%s: слишком много правил; в первом вхождении было только %d"
 
-#: locale/programs/ld-collate.c:594
+#: locale/programs/ld-collate.c:615
 #, c-format
 msgid "%s: not enough sorting rules"
-msgstr "%s: ÎÅÄÏÓÔÁÔÏÞÎÏ ÐÒÁ×ÉÌ ÓÏÒÔÉÒÏ×ËÉ"
+msgstr "%s: недостаточно правил сортировки"
 
-#: locale/programs/ld-collate.c:759
+#: locale/programs/ld-collate.c:780
 #, c-format
 msgid "%s: empty weight string not allowed"
-msgstr "%s: ÐÕÓÔÁÑ ÓÔÒÏËÁ ×ÅÓÁ ÎÅÄÏÐÕÓÔÉÍÁ"
+msgstr "%s: Ð¿Ñ\83Ñ\81Ñ\82аÑ\8f Ñ\81Ñ\82Ñ\80ока Ð²ÐµÑ\81а Ð½ÐµÐ´Ð¾Ð¿Ñ\83Ñ\81Ñ\82има"
 
-#: locale/programs/ld-collate.c:854
+#: locale/programs/ld-collate.c:875
 #, c-format
 msgid "%s: weights must use the same ellipsis symbol as the name"
-msgstr "%s: ×ÅÓÁ ÄÏÌÖÎÙ ÉÓÐÏÌØÚÏ×ÁÔØ ÔÁËÏÊ ÖÅ ÓÉÍ×ÏÌ ÜÌÌÉÐÓÉÓÁ, ËÁË ÉÍÑ"
+msgstr "%s: веса должны использовать такой же символ эллипсиса, как имя"
 
-#: locale/programs/ld-collate.c:910
+#: locale/programs/ld-collate.c:931
 #, c-format
 msgid "%s: too many values"
-msgstr "%s: ÓÌÉÛËÏÍ ÍÎÏÇÏ ÚÎÁÞÅÎÉÊ"
+msgstr "%s: слишком много значений"
 
-#: locale/programs/ld-collate.c:1029 locale/programs/ld-collate.c:1204
+#: locale/programs/ld-collate.c:1051 locale/programs/ld-collate.c:1226
 #, c-format
 msgid "order for `%.*s' already defined at %s:%Zu"
-msgstr "ÐÏÒÑÄÏË ÄÌÑ `%.*s' ÕÖÅ ÏÐÒÅÄÅÌÅΠנ%s:%Zu"
+msgstr "поÑ\80Ñ\8fдок Ð´Ð»Ñ\8f Â«%.*s» Ñ\83же Ð¾Ð¿Ñ\80еделен Ð² %s:%Zu"
 
-#: locale/programs/ld-collate.c:1079
+#: 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: ÎÁÞÁÌØÎÙÊ É ËÏÎÅÞÎÙÊ ÓÉÍ×ÏÌÙ ÄÉÁÐÁÚÏÎÁ ÄÏÌÖÎÙ ÏÂÏÚÎÁÞÁÔØ ÚÎÁËÉ"
+msgstr "%s: начальный и конечный символы диапазона должны обозначать знаки"
 
-#: locale/programs/ld-collate.c:1106
+#: locale/programs/ld-collate.c:1128
 #, c-format
 msgid "%s: byte sequences of first and last character must have the same length"
-msgstr "%s: ÐÏÓÌÅÄÏ×ÁÔÅÌØÎÏÓÔÉ ÂÁÊÔ ÄÌÑ ÐÅÒ×ÏÇÏ É ÐÏÓÌÅÄÎÅÇÏ ÚÎÁËÁ ÄÏÌÖÎÙ ÂÙÔØ ÏÄÉÎÁËÏ×ÏÊ ÄÌÉÎÙ"
+msgstr "%s: Ð¿Ð¾Ñ\81ледоваÑ\82елÑ\8cноÑ\81Ñ\82и Ð±Ð°Ð¹Ñ\82 Ð´Ð»Ñ\8f Ð¿ÐµÑ\80вого Ð¸ Ð¿Ð¾Ñ\81леднего Ð·Ð½Ð°ÐºÐ° Ð´Ð¾Ð»Ð¶Ð½Ñ\8b Ð±Ñ\8bÑ\82Ñ\8c Ð¾Ð´Ð¸Ð½Ð°ÐºÐ¾Ð²Ð¾Ð¹ Ð´Ð»Ð¸Ð½Ñ\8b"
 
-#: locale/programs/ld-collate.c:1148
-#, c-format
-msgid "%s: byte sequence of first character of sequence is not lower than that of the last character"
-msgstr "%s: ÐÏÓÌÅÄÏ×ÁÔÅÌØÎÏÓÔØ ÂÁÊÔ ÄÌÑ ÐÅÒ×ÏÇÏ ÚÎÁËÁ ÐÏÓÌÅÄÏ×ÁÔÅÌØÎÏÓÔÉ ÎÅ ÍÅÎØÛÅ ÞÅÍ ÄÌÑ ÐÏÓÌÅÄÎÅÇÏ"
+#: locale/programs/ld-collate.c:1170
+#, fuzzy, c-format
+msgid "%s: byte sequence of first character of range is not lower than that of the last character"
+msgstr "%s: Ð¿Ð¾Ñ\81ледоваÑ\82елÑ\8cноÑ\81Ñ\82Ñ\8c Ð±Ð°Ð¹Ñ\82 Ð´Ð»Ñ\8f Ð¿ÐµÑ\80вого Ð·Ð½Ð°ÐºÐ° Ð´Ð¸Ð°Ð¿Ð°Ð·Ð¾Ð½Ð° Ð½Ðµ Ð¼ÐµÐ½Ñ\8cÑ\88е Ñ\87ем Ð´Ð»Ñ\8f Ð¿Ð¾Ñ\81леднего"
 
-#: locale/programs/ld-collate.c:1273
+#: locale/programs/ld-collate.c:1295
 #, c-format
 msgid "%s: symbolic range ellipsis must not directly follow `order_start'"
-msgstr "%s: ÜÌÌÉÐÓÉÓ ÓÉÍ×ÏÌØÎÏÇÏ ÄÉÁÐÁÚÏÎÁ ÎÅ ÍÏÖÅÔ ÎÅÐÏÓÒÅÄÓÔ×ÅÎÎÏ ÓÌÅÄÏ×ÁÔØ ÐÏÓÌÅ `order_start'"
+msgstr "%s: эллипсис символьного диапазона не может непосредственно следовать после «order_start»"
 
-#: locale/programs/ld-collate.c:1277
+#: locale/programs/ld-collate.c:1299
 #, c-format
 msgid "%s: symbolic range ellipsis must not be directly followed by `order_end'"
-msgstr "%s: ÐÏÓÌÅ ÜÌÌÉÐÓÉÓÁ ÓÉÍ×ÏÌØÎÏÇÏ ÄÉÁÐÁÚÏÎÁ ÎÅ ÍÏÖÅÔ ÎÅÐÏÓÒÅÄÓÔ×ÅÎÎÏ ÓÌÅÄÏ×ÁÔØ `order_end'"
+msgstr "%s: Ð¿Ð¾Ñ\81ле Ñ\8dллипÑ\81иÑ\81а Ñ\81имволÑ\8cного Ð´Ð¸Ð°Ð¿Ð°Ð·Ð¾Ð½Ð° Ð½Ðµ Ð¼Ð¾Ð¶ÐµÑ\82 Ð½ÐµÐ¿Ð¾Ñ\81Ñ\80едÑ\81Ñ\82венно Ñ\81ледоваÑ\82Ñ\8c Â«order_end»"
 
-#: locale/programs/ld-collate.c:1297 locale/programs/ld-ctype.c:1475
+#: 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' É `%.*s' ÎÅ Ñ×ÌÑÀÔÓÑ ×ÅÒÎÙÍÉ ÉÍÅÎÁÍÉ ÓÉÍ×ÏÌØÎÏÇÏ ÄÉÁÐÏÚÏÎÁ"
+msgstr "«%s» и «%.*s» не являются верными именами символьного диапозона"
 
-#: locale/programs/ld-collate.c:1346 locale/programs/ld-collate.c:3739
+#: 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: ÐÏÒÑÄÏË ÄÌÑ `%.*s' ÕÖÅ ÏÐÒÅÄÅÌÅΠנ%s:%Zu"
+msgstr "%s: Ð¿Ð¾Ñ\80Ñ\8fдок Ð´Ð»Ñ\8f Â«%.*s» Ñ\83же Ð¾Ð¿Ñ\80еделен Ð² %s:%Zu"
 
-#: locale/programs/ld-collate.c:1355
+#: locale/programs/ld-collate.c:1378
 #, c-format
 msgid "%s: `%s' must be a character"
-msgstr "%s: `%s' ÄÏÌÖÎÏ ÂÙÔØ ÚÎÁËÏÍ"
+msgstr "%s: «%s» должно быть знаком"
 
-#: locale/programs/ld-collate.c:1548
+#: 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' ÄÏÌÖÎÏ ÉÓÐÏÌØÚÏ×ÁÔØÓÑ ÄÌÑ ÏÄÎÏÇÏ ËÏÎËÒÅÔÎÏÇÏ ÕÒÏ×ÎÑ ÌÉÂÏ ×Ï ×ÓÅÈ ÓÅËÃÉÑÈ, ÌÉÂÏ ÎÉ × ÏÄÎÏÊ"
+msgstr "%s: «position» должно использоваться для одного конкретного уровня либо во всех секциях, либо ни в одной"
 
-#: locale/programs/ld-collate.c:1573
+#: locale/programs/ld-collate.c:1598
 #, c-format
 msgid "symbol `%s' not defined"
-msgstr "ÓÉÍ×ÏÌ `%s' ÎÅ ÏÐÒÅÄÅÌÅÎ"
+msgstr "символ «%s» не определен"
 
-#: locale/programs/ld-collate.c:1649 locale/programs/ld-collate.c:1755
+#: locale/programs/ld-collate.c:1674 locale/programs/ld-collate.c:1780
 #, c-format
 msgid "symbol `%s' has the same encoding as"
-msgstr "ÓÉÍ×ÏÌ `%s' ÉÍÅÅÔ ÔÁËÕÀ ÖÅ ËÏÄÉÒÏ×ËÕ ËÁË"
+msgstr "символ «%s» имеет такую же кодировку как"
 
-#: locale/programs/ld-collate.c:1653 locale/programs/ld-collate.c:1759
+#: locale/programs/ld-collate.c:1678 locale/programs/ld-collate.c:1784
 #, c-format
 msgid "symbol `%s'"
-msgstr "ÓÉÍ×ÏÌ `%s'"
+msgstr "символ «%s»"
 
-#: locale/programs/ld-collate.c:1801
+#: locale/programs/ld-collate.c:1826
 #, c-format
 msgid "no definition of `UNDEFINED'"
-msgstr "ÎÅÔ ÏÐÒÅÄÅÌÅÎÉÑ ÄÌÑ `UNDEFINED'"
+msgstr "нет определения для «UNDEFINED»"
 
-#: locale/programs/ld-collate.c:1830
+#: locale/programs/ld-collate.c:1855
 #, c-format
 msgid "too many errors; giving up"
-msgstr "ÓÌÉÛËÏÍ ÍÎÏÇÏ ÏÛÉÂÏË; ËÏÎÅÃ"
+msgstr "слишком много ошибок; конец"
+
+#: locale/programs/ld-collate.c:2659 locale/programs/ld-collate.c:4044
+#, c-format
+msgid "%s: nested conditionals not supported"
+msgstr "%s: вложенные условия не поддерживаются"
+
+#: locale/programs/ld-collate.c:2677
+#, c-format
+msgid "%s: more then one 'else'"
+msgstr "%s: больше одного 'else'"
 
-#: locale/programs/ld-collate.c:2738
+#: locale/programs/ld-collate.c:2852
 #, c-format
 msgid "%s: duplicate definition of `%s'"
-msgstr "%s: ÐÏ×ÔÏÒÎÏÅ ÏÐÒÅÄÅÌÅÎÉÅ `%s'"
+msgstr "%s: Ð¿Ð¾Ð²Ñ\82оÑ\80ное Ð¾Ð¿Ñ\80еделение Â«%s»"
 
-#: locale/programs/ld-collate.c:2774
+#: locale/programs/ld-collate.c:2888
 #, c-format
 msgid "%s: duplicate declaration of section `%s'"
-msgstr "%s: ÐÏ×ÔÏÒÎÏÅ ÏÂßÑ×ÌÅÎÉÅ ÓÅËÃÉÉ `%s'"
+msgstr "%s: Ð¿Ð¾Ð²Ñ\82оÑ\80ное Ð¾Ð±Ñ\8aÑ\8fвление Ñ\81екÑ\86ии Â«%s»"
 
-#: locale/programs/ld-collate.c:2913
+#: locale/programs/ld-collate.c:3027
 #, c-format
 msgid "%s: unknown character in collating symbol name"
-msgstr "%s: ÎÅÉÚ×ÅÓÔÎÙÊ ÚÎÁË × ÉÍÅÎÉ ÓÉÍ×ÏÌÁ ÓÏÒÔÉÒÏ×ËÉ"
+msgstr "%s: неизвестный знак в имени символа сортировки"
 
-#: locale/programs/ld-collate.c:3045
+#: locale/programs/ld-collate.c:3159
 #, c-format
 msgid "%s: unknown character in equivalent definition name"
-msgstr "%s: ÎÅÉÚ×ÅÓÔÎÙÊ ÚÎÁË × ÉÍÅÎÉ ÏÐÒÅÄÅÌÅÎÉÑ ÜË×É×ÁÌÅÎÔÎÏÓÔÉ"
+msgstr "%s: неизвестный знак в имени определения эквивалентности"
 
-#: locale/programs/ld-collate.c:3058
+#: locale/programs/ld-collate.c:3172
 #, c-format
 msgid "%s: unknown character in equivalent definition value"
-msgstr "%s: ÎÅÉÚ×ÅÓÔÎÙÊ ÚÎÁË × ÚÎÁÞÅÎÉÉ ÏÐÒÅÄÅÌÅÎÁÑ ÜË×É×ÁÌÅÎÔÎÏÓÔÉ"
+msgstr "%s: неизвестный знак в значении определеная эквивалентности"
 
-#: locale/programs/ld-collate.c:3068
+#: locale/programs/ld-collate.c:3182
 #, c-format
 msgid "%s: unknown symbol `%s' in equivalent definition"
-msgstr "%s: ÎÅÉÚ×ÅÓÔÎÙÊ ÓÉÍ×ÏÌ `%s' × ÏÐÒÅÄÅÌÅÎÉÉ ÜË×É×ÁÌÅÎÔÎÏÓÔÉ"
+msgstr "%s: неизвестный символ «%s» в определении эквивалентности"
 
-#: locale/programs/ld-collate.c:3077
+#: locale/programs/ld-collate.c:3191
 msgid "error while adding equivalent collating symbol"
-msgstr "ÏÛÉÂËÁ ÐÒÉ ÄÏÂÁ×ÌÅÎÉÉ ÜË×É×ÁÌÅÎÔÎÏÇÏ ÓÉÍ×ÏÌÁ ÓÏÒÔÉÒÏ×ËÉ"
+msgstr "ошибка при добавлении эквивалентного символа сортировки"
 
-#: locale/programs/ld-collate.c:3107
+#: locale/programs/ld-collate.c:3221
 #, c-format
 msgid "duplicate definition of script `%s'"
-msgstr "ÐÏ×ÔÏÒÎÏÅ ÏÐÒÅÄÅÌÅÎÉÅ ÓÉÓÔÅÍÙ ÐÉÓØÍÁ `%s'"
+msgstr "повÑ\82оÑ\80ное Ð¾Ð¿Ñ\80еделение Ñ\81иÑ\81Ñ\82емÑ\8b Ð¿Ð¸Ñ\81Ñ\8cма Â«%s»"
 
-#: locale/programs/ld-collate.c:3155
-#, c-format
-msgid "%s: unknown section name `%s'"
-msgstr "%s: ÎÅÉÚ×ÅÓÔÎÏÅ ÉÍÑ ÓÅËÃÉÉ `%s'"
+#: locale/programs/ld-collate.c:3269
+#, fuzzy, c-format
+msgid "%s: unknown section name `%.*s'"
+msgstr "%s: неизвестное имя секции «%s»"
 
-#: locale/programs/ld-collate.c:3183
+#: locale/programs/ld-collate.c:3298
 #, c-format
 msgid "%s: multiple order definitions for section `%s'"
-msgstr "%s: ÐÏ×ÔÏÒÎÏÅ ÏÐÒÅÄÅÌÅÎÉÅ ÐÏÒÑÄËÁ ÄÌÑ ÓÅËÃÉÉ `%s'"
+msgstr "%s: Ð¿Ð¾Ð²Ñ\82оÑ\80ное Ð¾Ð¿Ñ\80еделение Ð¿Ð¾Ñ\80Ñ\8fдка Ð´Ð»Ñ\8f Ñ\81екÑ\86ии Â«%s»"
 
-#: locale/programs/ld-collate.c:3208
+#: locale/programs/ld-collate.c:3326
 #, c-format
 msgid "%s: invalid number of sorting rules"
-msgstr "%s: ÎÅ×ÅÒÎÏÅ ÞÉÓÌÏ ÐÒÁ×ÉÌ ÓÏÒÔÉÒÏ×ËÉ"
+msgstr "%s: неверное число правил сортировки"
 
-#: locale/programs/ld-collate.c:3235
+#: locale/programs/ld-collate.c:3353
 #, c-format
 msgid "%s: multiple order definitions for unnamed section"
-msgstr "%s: ÐÏ×ÔÏÒÎÏÅ ÏÐÒÅÄÅÌÅÎÉÅ ÐÏÒÑÄËÁ ÄÌÑ ÂÅÚÙÍÑÎÎÏÊ ÓÅËÃÉÉ"
+msgstr "%s: Ð¿Ð¾Ð²Ñ\82оÑ\80ное Ð¾Ð¿Ñ\80еделение Ð¿Ð¾Ñ\80Ñ\8fдка Ð´Ð»Ñ\8f Ð±ÐµÐ·Ñ\8bмÑ\8fнной Ñ\81екÑ\86ии"
 
-#: locale/programs/ld-collate.c:3289 locale/programs/ld-collate.c:3417
-#: locale/programs/ld-collate.c:3780
+#: 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: ÐÒÏÐÕÝÅÎÏ ËÌÀÞÅ×ÏÅ ÓÌÏ×Ï `order_end'"
+msgstr "%s: Ð¿Ñ\80опÑ\83Ñ\89ено ÐºÐ»Ñ\8eÑ\87евое Ñ\81лово Â«order_end»"
 
-#: locale/programs/ld-collate.c:3350
+#: locale/programs/ld-collate.c:3470
 #, c-format
 msgid "%s: order for collating symbol %.*s not yet defined"
-msgstr "%s: ÐÏÒÑÄÏË ÄÌÑ ÓÉÍ×ÏÌÁ ÓÏÒÔÉÒÏ×ËÉ %.*s ÅÝÅ ÎÅ ÏÐÒÅÄÅÌÅÎ"
+msgstr "%s: Ð¿Ð¾Ñ\80Ñ\8fдок Ð´Ð»Ñ\8f Ñ\81имвола Ñ\81оÑ\80Ñ\82иÑ\80овки %.*s ÐµÑ\89е Ð½Ðµ Ð¾Ð¿Ñ\80еделен"
 
-#: locale/programs/ld-collate.c:3368
+#: locale/programs/ld-collate.c:3488
 #, c-format
 msgid "%s: order for collating element %.*s not yet defined"
-msgstr "%s: ÐÏÒÑÄÏË ÄÌÑ ÜÌÅÍÅÎÔÁ ÓÏÒÔÉÒÏ×ËÉ %.*s ÅÝÅ ÎÅ ÏÐÒÅÄÅÌÅÎ"
+msgstr "%s: Ð¿Ð¾Ñ\80Ñ\8fдок Ð´Ð»Ñ\8f Ñ\8dлеменÑ\82а Ñ\81оÑ\80Ñ\82иÑ\80овки %.*s ÐµÑ\89е Ð½Ðµ Ð¾Ð¿Ñ\80еделен"
 
-#: locale/programs/ld-collate.c:3379
+#: locale/programs/ld-collate.c:3499
 #, c-format
 msgid "%s: cannot reorder after %.*s: symbol not known"
-msgstr "%s: ÎÅ×ÏÚÍÏÖÎÏ ÐÏÍÅÎÑÔØ ÐÏÒÑÄÏË ÐÏÓÌÅ %.*s: ÓÉÍ×ÏÌ ÎÅÉÚ×ÅÓÔÅÎ"
+msgstr "%s: невозможно поменять порядок после %.*s: символ неизвестен"
 
-#: locale/programs/ld-collate.c:3431 locale/programs/ld-collate.c:3792
+#: locale/programs/ld-collate.c:3551 locale/programs/ld-collate.c:3912
 #, c-format
 msgid "%s: missing `reorder-end' keyword"
-msgstr "%s: ÐÒÏÐÕÝÅÎÏ ËÌÀÞÅ×ÏÅ ÓÌÏ×Ï `reorder-end'"
+msgstr "%s: Ð¿Ñ\80опÑ\83Ñ\89ено ÐºÐ»Ñ\8eÑ\87евое Ñ\81лово Â«reorder-end»"
 
-#: locale/programs/ld-collate.c:3465 locale/programs/ld-collate.c:3664
+#: locale/programs/ld-collate.c:3585 locale/programs/ld-collate.c:3783
 #, c-format
 msgid "%s: section `%.*s' not known"
-msgstr "%s: ÓÅËÃÉÑ `%.*s' ÎÅÉÚ×ÅÓÔÎÁ"
+msgstr "%s: секция «%.*s» неизвестна"
 
-#: locale/programs/ld-collate.c:3530
+#: locale/programs/ld-collate.c:3650
 #, c-format
 msgid "%s: bad symbol <%.*s>"
-msgstr "%s: ÎÅÐÒÁ×ÉÌØÎÙÊ ÓÉÍ×ÏÌ <%.*s>"
+msgstr "%s: неправильный символ <%.*s>"
 
-#: locale/programs/ld-collate.c:3727
+#: locale/programs/ld-collate.c:3846
 #, c-format
 msgid "%s: cannot have `%s' as end of ellipsis range"
-msgstr "%s: `%s' ÎÅ ÍÏÖÅÔ ÂÙÔØ ËÏÎÃÏÍ ÄÉÁÐÁÚÏÎÁ Ó ÜÌÌÉÐÓÉÓÏÍ"
+msgstr "%s: «%s» не может быть концом диапазона с эллипсисом"
 
-#: locale/programs/ld-collate.c:3776
+#: locale/programs/ld-collate.c:3896
 #, c-format
 msgid "%s: empty category description not allowed"
-msgstr "%s: ÐÕÓÔÙÅ ÏÐÉÓÁÎÉÑ ËÁÔÅÇÏÒÉÊ ÎÅÄÏÐÕÓÔÉÍÙ"
+msgstr "%s: Ð¿Ñ\83Ñ\81Ñ\82Ñ\8bе Ð¾Ð¿Ð¸Ñ\81аниÑ\8f ÐºÐ°Ñ\82егоÑ\80ий Ð½ÐµÐ´Ð¾Ð¿Ñ\83Ñ\81Ñ\82имÑ\8b"
 
-#: locale/programs/ld-collate.c:3795
+#: locale/programs/ld-collate.c:3915
 #, c-format
 msgid "%s: missing `reorder-sections-end' keyword"
-msgstr "%s: ÐÒÏÐÕÝÅÎÏ ËÌÀÞÅ×ÏÅ ÓÌÏ×Ï `reorder-sections-end'"
+msgstr "%s: пропущено ключевое слово «reorder-sections-end»"
+
+#: locale/programs/ld-collate.c:4077
+#, c-format
+msgid "%s: '%s' without matching 'ifdef' or 'ifndef'"
+msgstr "%s: '%s' без соответствующего 'ifdef' или 'ifndef'"
+
+#: locale/programs/ld-collate.c:4095
+#, c-format
+msgid "%s: 'endif' without matching 'ifdef' or 'ifndef'"
+msgstr "%s: 'endif' без соответствующего 'ifdef' или 'ifndef'"
 
-#: locale/programs/ld-ctype.c:438
+#: locale/programs/ld-ctype.c:439
 #, c-format
 msgid "No character set name specified in charmap"
-msgstr "÷ ÏÔÏÂÒÁÖÅÎÉÉ ÚÎÁËÏ× ÎÅ ÕËÁÚÁÎÏ ÉÍÑ ÎÁÂÏÒÁ ÚÎÁËÏ×"
+msgstr "В отображении знаков не указано имя набора знаков"
 
-#: locale/programs/ld-ctype.c:467
+#: locale/programs/ld-ctype.c:468
 #, c-format
 msgid "character L'\\u%0*x' in class `%s' must be in class `%s'"
-msgstr "ÚÎÁË L'\\u%0*x' × ËÌÁÓÓÅ `%s' ÄÏÌÖÅΠÂÙÔØ × ËÌÁÓÓÅ `%s'"
+msgstr "знак L'\\u%0*x' в классе «%s» должен быть в классе «%s»"
 
-#: locale/programs/ld-ctype.c:482
+#: locale/programs/ld-ctype.c:483
 #, c-format
 msgid "character L'\\u%0*x' in class `%s' must not be in class `%s'"
-msgstr "ÚÎÁË L'\\u%0*x' × ËÌÁÓÓÅ `%s' ÎÅ ÄÏÌÖÅΠÂÙÔØ × ËÌÁÓÓÅ `%s'"
+msgstr "знак L'\\u%0*x' в классе «%s» не должен быть в классе «%s»"
 
-#: locale/programs/ld-ctype.c:496 locale/programs/ld-ctype.c:554
+#: locale/programs/ld-ctype.c:497 locale/programs/ld-ctype.c:555
 #, c-format
 msgid "internal error in %s, line %u"
-msgstr "×ÎÕÔÒÅÎÎÑÑ ÏÛÉÂËÁ × %s, ÓÔÒÏËÁ %u"
+msgstr "внутренняя ошибка в %s, строка %u"
 
-#: locale/programs/ld-ctype.c:525
+#: locale/programs/ld-ctype.c:526
 #, c-format
 msgid "character '%s' in class `%s' must be in class `%s'"
-msgstr "ÚÎÁË '%s' × ËÌÁÓÓÅ `%s' ÄÏÌÖÅΠÂÙÔØ × ËÌÁÓÓÅ `%s'"
+msgstr "знак »%s» в классе «%s» должен быть в классе «%s»"
 
-#: locale/programs/ld-ctype.c:541
+#: locale/programs/ld-ctype.c:542
 #, c-format
 msgid "character '%s' in class `%s' must not be in class `%s'"
-msgstr "ÚÎÁË '%s' × ËÌÁÓÓÅ `%s' ÎÅ ÄÏÌÖÅΠÂÙÔØ × ËÌÁÓÓÅ `%s'"
+msgstr "знак »%s» в классе «%s» не должен быть в классе «%s»"
 
-#: locale/programs/ld-ctype.c:571 locale/programs/ld-ctype.c:609
+#: locale/programs/ld-ctype.c:572 locale/programs/ld-ctype.c:610
 #, c-format
 msgid "<SP> character not in class `%s'"
-msgstr "ÚÎÁË <SP> ÎÅ × ËÌÁÓÓÅ `%s'"
+msgstr "знак <SP> не в классе «%s»"
 
-#: locale/programs/ld-ctype.c:583 locale/programs/ld-ctype.c:620
+#: locale/programs/ld-ctype.c:584 locale/programs/ld-ctype.c:621
 #, c-format
 msgid "<SP> character must not be in class `%s'"
-msgstr "ÚÎÁË <SP> ÎÅ ÄÏÌÖÅΠÂÙÔØ × ËÌÁÓÓÅ `%s'"
+msgstr "знак <SP> не должен быть в классе «%s»"
 
-#: locale/programs/ld-ctype.c:598
+#: locale/programs/ld-ctype.c:599
 #, c-format
 msgid "character <SP> not defined in character map"
-msgstr "ÚÎÁË <SP> ÎÅ ÏÐÒÅÄÅÌÅΠנÏÔÏÂÒÁÖÅÎÉÉ ÚÎÁËÏ×"
+msgstr "знак <SP> не определен в отображении знаков"
 
-#: locale/programs/ld-ctype.c:712
+#: locale/programs/ld-ctype.c:714
 #, c-format
 msgid "`digit' category has not entries in groups of ten"
-msgstr "×ÈÏÖÄÅÎÉÑ ËÁÔÅÇÏÒÉÉ `digit' ÎÅ ÇÒÕÐÐÉÒÕÀÔÓÑ ÐÏ ÄÅÓÑÔØ"
+msgstr "вхождения категории «digit» не группируются по десять"
 
-#: locale/programs/ld-ctype.c:761
+#: locale/programs/ld-ctype.c:763
 #, c-format
 msgid "no input digits defined and none of the standard names in the charmap"
-msgstr ""
+msgstr "не указаны входные цифры или стандартные имена в таблице символов"
 
-#: locale/programs/ld-ctype.c:826
+#: locale/programs/ld-ctype.c:828
 #, c-format
 msgid "not all characters used in `outdigit' are available in the charmap"
-msgstr ""
+msgstr "не все знаки, использованные в «outdigit», доступны в данной таблице символов"
 
-#: locale/programs/ld-ctype.c:843
+#: locale/programs/ld-ctype.c:845
 #, c-format
 msgid "not all characters used in `outdigit' are available in the repertoire"
-msgstr "ÎÅ ×ÓÅ ÚÎÁËÉ, ÉÓÐÏÌØÚÏ×ÁÎÎÙÅ × `outdigit', ÄÏÓÔÕÐÎÙ × ÄÁÎÎÏÍ ÒÅÐÅÒÔÕÁÒÅ"
+msgstr "не все знаки, использованные в «outdigit», доступны в данном репертуаре"
 
-#: locale/programs/ld-ctype.c:1243
+#: locale/programs/ld-ctype.c:1245
 #, c-format
 msgid "character class `%s' already defined"
-msgstr "ËÌÁÓÓ ÚÎÁËÏ× `%s' ÕÖÅ ÏÐÒÅÄÅÌÅÎ"
+msgstr "класс знаков «%s» уже определен"
 
-#: locale/programs/ld-ctype.c:1249
+#: locale/programs/ld-ctype.c:1251
 #, c-format
 msgid "implementation limit: no more than %Zd character classes allowed"
-msgstr "ÏÇÒÁÎÉÞÅÎÉÅ ÒÅÁÌÉÚÁÃÉÉ: ÐÏÄÄÅÒÖÉ×ÁÅÔÓÑ ÎÅ ÂÏÌÅÅ %Zd ËÌÁÓÓÏ× ÚÎÁËÏ×"
+msgstr "ограничение реализации: поддерживается не более %Zd классов знаков"
 
-#: locale/programs/ld-ctype.c:1275
+#: locale/programs/ld-ctype.c:1277
 #, c-format
 msgid "character map `%s' already defined"
-msgstr "ÏÔÏÂÒÁÖÅÎÉÅ ÚÎÁËÏ× `%s' ÕÖÅ ÏÐÒÅÄÅÌÅÎÏ"
+msgstr "отображение знаков «%s» уже определено"
 
-#: locale/programs/ld-ctype.c:1281
+#: locale/programs/ld-ctype.c:1283
 #, c-format
 msgid "implementation limit: no more than %d character maps allowed"
-msgstr "ÏÇÒÁÎÉÞÅÎÉÅ ÒÅÁÌÉÚÁÃÉÉ: ÄÏÐÕÓËÁÅÔÓÑ ÎÅ ÂÏÌÅÅ %d ÏÔÏÂÒÁÖÅÎÉÊ ÚÎÁËÏ×"
+msgstr "ограничение реализации: допускается не более %d отображений знаков"
 
-#: locale/programs/ld-ctype.c:1546 locale/programs/ld-ctype.c:1671
-#: locale/programs/ld-ctype.c:1777 locale/programs/ld-ctype.c:2466
-#: locale/programs/ld-ctype.c:3462
+#: 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: ÐÏÌÅ `%s' ÎÅ ÓÏÄÅÒÖÉÔ ÒÏ×ÎÏ ÄÅÓÑÔØ ×ÈÏÖÄÅÎÉÊ"
+msgstr "%s: Ð¿Ð¾Ð»Ðµ Â«%s» Ð½Ðµ Ñ\81одеÑ\80жиÑ\82 Ñ\80овно Ð´ÐµÑ\81Ñ\8fÑ\82Ñ\8c Ð²Ñ\85ождений"
 
-#: locale/programs/ld-ctype.c:1574 locale/programs/ld-ctype.c:2145
+#: 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 "×ÅÒÈÎÅÅ ÚÎÁÞÅÎÉÅ ÄÉÁÐÁÚÏÎÁ <U%0*X> ÍÅÎØÛÅ ÞÅÍ ÎÉÖÎÅÅ ÚÎÁÞÅÎÉÅ <U%0*X>"
+msgstr "верхнее значение диапазона <U%0*X> меньше чем нижнее значение <U%0*X>"
 
-#: locale/programs/ld-ctype.c:1701
+#: locale/programs/ld-ctype.c:1703
 msgid "start and end character sequence of range must have the same length"
-msgstr "ÎÁÞÁÌØÎÁÑ É ËÏÎÅÞÎÁÑ ÐÏÓÌÅÄÏ×ÁÔÅÌØÎÏÓÔÉ ÚÎÁËÏ× ÄÉÁÐÁÚÏÎÁ ÄÏÌÖÎÙ ÂÙÔØ ÏÄÉÎÁËÏ×ÏÊ ÄÌÉÎÙ"
+msgstr "начальная и конечная последовательности знаков диапазона должны быть одинаковой длины"
 
-#: locale/programs/ld-ctype.c:1708
+#: locale/programs/ld-ctype.c:1710
 msgid "to-value character sequence is smaller than from-value sequence"
-msgstr "ËÏÎÅÞÎÁÑ ÐÏÓÌÅÄÏ×ÁÔÅÌØÎÏÓÔØ ÚÎÁËÏ× ÄÉÁÐÁÚÏÎÁ ÍÅÎØÛÅ ÞÅÍ ÎÁÞÁÌØÎÁÑ"
+msgstr "конечная последовательность знаков диапазона меньше чем начальная"
 
-#: locale/programs/ld-ctype.c:2065 locale/programs/ld-ctype.c:2116
+#: locale/programs/ld-ctype.c:2070 locale/programs/ld-ctype.c:2121
 msgid "premature end of `translit_ignore' definition"
-msgstr "ÐÒÅÖÄÅ×ÒÅÍÅÎÎÙÊ ËÏÎÅàÏÐÒÅÄÅÌÅÎÉÑ `translit_ignore'"
+msgstr "пÑ\80еждевÑ\80еменнÑ\8bй ÐºÐ¾Ð½ÐµÑ\86 Ð¾Ð¿Ñ\80еделениÑ\8f Â«translit_ignore»"
 
-#: locale/programs/ld-ctype.c:2071 locale/programs/ld-ctype.c:2122
-#: locale/programs/ld-ctype.c:2164
+#: locale/programs/ld-ctype.c:2076 locale/programs/ld-ctype.c:2127
+#: locale/programs/ld-ctype.c:2169
 msgid "syntax error"
-msgstr "ÓÉÎÔÁËÓÉÞÅÓËÁÑ ÏÛÉÂËÁ"
+msgstr "синтаксическая ошибка"
 
-#: locale/programs/ld-ctype.c:2298
+#: locale/programs/ld-ctype.c:2303
 #, c-format
 msgid "%s: syntax error in definition of new character class"
-msgstr "%s: ÓÉÎÔÁËÓÉÞÅÓËÁÑ ÏÛÉÂËÁ × ÏÐÒÅÄÅÌÅÎÉÉ ÎÏ×ÏÇÏ ËÌÁÓÓÁ ÚÎÁËÏ×"
+msgstr "%s: синтаксическая ошибка в определении нового класса знаков"
 
-#: locale/programs/ld-ctype.c:2313
+#: locale/programs/ld-ctype.c:2318
 #, c-format
 msgid "%s: syntax error in definition of new character map"
-msgstr "%s: ÓÉÎÔÁËÓÉÞÅÓËÁÑ ÏÛÉÂËÁ × ÏÐÒÅÄÅÌÅÎÉÉ ÎÏ×ÏÇÏ ÏÔÏÂÒÁÖÅÎÉÑ ÚÎÁËÏ×"
+msgstr "%s: синтаксическая ошибка в определении нового отображения знаков"
 
-#: locale/programs/ld-ctype.c:2488
+#: locale/programs/ld-ctype.c:2493
 msgid "ellipsis range must be marked by two operands of same type"
-msgstr "ÄÉÁÐÁÚÏΠӠÜÌÌÉÐÓÉÓÏÍ ÄÏÌÖÅΠÂÙÔØ ÐÏÍÅÞÅΠÄ×ÕÍÑ ÏÐÅÒÁÎÄÁÍÉ ÏÄÎÏÇÏ ÔÉÐÁ"
+msgstr "диапазон с эллипсисом должен быть помечен двумя операндами одного типа"
 
-#: locale/programs/ld-ctype.c:2497
+#: locale/programs/ld-ctype.c:2502
 msgid "with symbolic name range values the absolute ellipsis `...' must not be used"
-msgstr "Ó ÓÉÍ×ÏÌØÎÙÍÉ ÉÍÅÎÁÍÉ ÚÎÁÞÅÎÉÊ ÄÉÁÐÁÚÏÎÁ ÎÅÌØÚÑ ÉÓÐÏÌØÚÏ×ÁÔØ ÁÂÓÏÌÀÔÎÙÊ ÜÌÌÉÐÓÉÓ `...'"
+msgstr "с символьными именами значений диапазона нельзя использовать абсолютный эллипсис «...»"
 
-#: locale/programs/ld-ctype.c:2512
+#: locale/programs/ld-ctype.c:2517
 msgid "with UCS range values one must use the hexadecimal symbolic ellipsis `..'"
-msgstr "Ó UCS-ÚÎÁÞÅÎÉÑÍÉ ÄÉÁÐÁÚÏÎÁ ÓÌÅÄÕÅÔ ÉÓÐÏÌØÚÏ×ÁÔØ ÛÅÓÔÎÁÄÃÁÔÉÒÉÞÎÙÊ ÓÉÍ×ÏÌØÎÙÊ ÜÌÌÉÐÓÉÓ `..'"
+msgstr "с UCS-значениями диапазона следует использовать шестнадцатиричный символьный эллипсис «..»"
 
-#: locale/programs/ld-ctype.c:2526
+#: locale/programs/ld-ctype.c:2531
 msgid "with character code range values one must use the absolute ellipsis `...'"
-msgstr "ÓÏ ÚÎÁËÏ×ÙÍÉ ËÏÄÁÍÉ ÚÎÁÞÅÎÉÊ ÄÉÁÐÁÚÏÎÁ ÓÌÅÄÕÅÔ ÉÓÐÏÌØÚÏ×ÁÔØ ÁÂÓÏÌÀÔÎÙÊ ÜÌÌÉÐÓÉÓ `...'"
+msgstr "со знаковыми кодами значений диапазона следует использовать абсолютный эллипсис «...»"
 
-#: locale/programs/ld-ctype.c:2677
+#: locale/programs/ld-ctype.c:2682
 #, c-format
 msgid "duplicated definition for mapping `%s'"
-msgstr "ÐÏ×ÔÏÒÎÏÅ ÏÐÒÅÄÅÌÅÎÉÅ ÏÔÏÂÒÁÖÅÎÉÑ `%s'"
+msgstr "повÑ\82оÑ\80ное Ð¾Ð¿Ñ\80еделение Ð¾Ñ\82обÑ\80ажениÑ\8f Â«%s»"
 
-#: locale/programs/ld-ctype.c:2763 locale/programs/ld-ctype.c:2907
+#: 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: ÓÅËÃÉÑ `translit_start' ÎÅ ÚÁËÁÎÞÉ×ÁÅÔÓÑ ÎÁ `translit_end'"
+msgstr "%s: секция «translit_start» не заканчивается на «translit_end»"
 
-#: locale/programs/ld-ctype.c:2858
+#: locale/programs/ld-ctype.c:2863
 #, c-format
 msgid "%s: duplicate `default_missing' definition"
-msgstr "%s: ÐÏ×ÔÏÒÎÏÅ ÏÐÒÅÄÅÌÅÎÉÅ `default_missing'"
+msgstr "%s: Ð¿Ð¾Ð²Ñ\82оÑ\80ное Ð¾Ð¿Ñ\80еделение Â«default_missing»"
 
-#: locale/programs/ld-ctype.c:2863
+#: locale/programs/ld-ctype.c:2868
 msgid "previous definition was here"
-msgstr "ÐÒÅÄÙÄÕÝÅÅ ÏÐÒÅÄÅÌÅÎÉÅ ÂÙÌÏ ÚÄÅÓØ"
+msgstr "пÑ\80едÑ\8bдÑ\83Ñ\89ее Ð¾Ð¿Ñ\80еделение Ð±Ñ\8bло Ð·Ð´ÐµÑ\81Ñ\8c"
 
-#: locale/programs/ld-ctype.c:2885
+#: locale/programs/ld-ctype.c:2890
 #, c-format
 msgid "%s: no representable `default_missing' definition found"
-msgstr "%s: ÎÅ ÎÁÊÄÅÎÏ ÐÒÅÄÓÔÁ×ÉÍÏÇÏ ÏÐÒÅÄÅÌÅÎÉÑ `default_missing'"
-
-#: locale/programs/ld-ctype.c:3038
-#, c-format
-msgid "%s: character `%s' not defined in charmap while needed as default value"
-msgstr "%s: ÚÎÁË `%s' ÎÅ ÏÐÒÅÄÅÌÅΠנÏÔÏÂÒÁÖÅÎÉÉ ÚÎÁËÏ×, ÏÄÎÁËÏ ÏΠÎÅÏÂÈÏÄÉÍ ËÁË ÚÎÁÞÅÎÉÅ ÐÏ ÕÍÏÌÞÁÎÉÀ"
+msgstr "%s: не найдено представимого определения «default_missing»"
 
 #: 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
-#, c-format
-msgid "%s: character `%s' in charmap not representable with one byte"
-msgstr "%s: ÚÎÁË `%s' × ÏÔÏÂÒÁÖÅÎÉÉ ÚÎÁËÏ× ÎÅÐÒÅÄÓÔÁ×ÉÍ ÏÄÎÉÍ ÂÁÊÔÏÍ"
-
-#: locale/programs/ld-ctype.c:3122 locale/programs/ld-ctype.c:3142
-#: locale/programs/ld-ctype.c:3184 locale/programs/ld-ctype.c:3205
-#: locale/programs/ld-ctype.c:3226 locale/programs/ld-ctype.c:3266
-#: locale/programs/ld-ctype.c:3287 locale/programs/ld-ctype.c:3354
-#: locale/programs/ld-ctype.c:3396 locale/programs/ld-ctype.c:3421
+#: 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: ÚÎÁË `%s' ÎÅ ÏÐÒÅÄÅÌÅÎ, ÈÏÔÑ ÏΠÎÕÖÅΠËÁË ÚÎÁÞÅÎÉÅ ÐÏ ÕÍÏÌÞÁÎÉÀ"
+msgstr "%s: знак «%s» не определен, хотя он нужен как значение по умолчанию"
 
-#: locale/programs/ld-ctype.c:3163
+#: 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 "ÚÎÁË `%s' ÎÅ ÏÐÒÅÄÅÌÅÎ, ÈÏÔÑ ÏΠÎÕÖÅΠËÁË ÚÎÁÞÅÎÉÅ ÐÏ ÕÍÏÌÞÁÎÉÀ"
+msgid "%s: character `%s' in charmap not representable with one byte"
+msgstr "%s: знак «%s» в отображении знаков непредставим одним байтом"
 
-#: locale/programs/ld-ctype.c:3403 locale/programs/ld-ctype.c:3428
+#: 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: ÚÎÁË `%s' ÎÕÖÅΠËÁË ÚÎÁÞÅÎÉÅ ÐÏ ÕÍÏÌÞÁÎÉÀ, ÎÏ ÅÇÏ ÎÅÌØÚÑ ÐÒÅÄÓÔÁ×ÉÔØ ÏÄÎÉÍ ÂÁÊÔÏÍ"
+msgstr "%s: знак «%s» нужен как значение по умолчанию, но его нельзя представить одним байтом"
 
-#: locale/programs/ld-ctype.c:3483
+#: locale/programs/ld-ctype.c:3489
 #, c-format
 msgid "no output digits defined and none of the standard names in the charmap"
-msgstr ""
+msgstr "не указаны выходные цифры или стандартные имена в таблице символов"
 
-#: locale/programs/ld-ctype.c:3774
+#: locale/programs/ld-ctype.c:3780
 #, c-format
 msgid "%s: transliteration data from locale `%s' not available"
-msgstr "%s: ÎÅÔ ÄÁÎÎÙÈ ÄÌÑ ÔÒÁÎÓÌÉÔÅÒÁÃÉÉ ÉÚ ÌÏËÁÌÉ `%s'"
+msgstr "%s: нет данных для транслитерации из локали «%s»"
 
-#: locale/programs/ld-ctype.c:3875
+#: locale/programs/ld-ctype.c:3881
 #, c-format
 msgid "%s: table for class \"%s\": %lu bytes\n"
-msgstr "%s: ÔÁÂÌÉÃÁ ÄÌÑ ËÌÁÓÓÁ \"%s\": %lu ÂÁÊÔ\n"
+msgstr "%s: таблица для класса «%s»: %lu байт\n"
 
-#: locale/programs/ld-ctype.c:3944
+#: locale/programs/ld-ctype.c:3950
 #, c-format
 msgid "%s: table for map \"%s\": %lu bytes\n"
-msgstr "%s: ÔÁÂÌÉÃÁ ÄÌÑ ÏÔÏÂÒÁÖÅÎÉÑ \"%s\": %lu ÂÁÊÔ\n"
+msgstr "%s: таблица для отображения «%s»: %lu байт\n"
 
-#: locale/programs/ld-ctype.c:4077
+#: locale/programs/ld-ctype.c:4083
 #, c-format
 msgid "%s: table for width: %lu bytes\n"
-msgstr "%s: ÔÁÂÌÉÃÁ ÄÌÑ ÛÉÒÉÎÙ: %lu ÂÁÊÔ\n"
+msgstr "%s: таблица для ширины: %lu байт\n"
 
-#: locale/programs/ld-identification.c:169
+#: locale/programs/ld-identification.c:170
 #, c-format
 msgid "%s: no identification for category `%s'"
-msgstr "%s: ÎÅÔ ÉÄÅÎÔÉÆÉËÁÃÉÉ ÄÌÑ ËÁÔÅÇÏÒÉÉ `%s'"
+msgstr "%s: нет идентификации для категории «%s»"
 
-#: locale/programs/ld-identification.c:434
+#: locale/programs/ld-identification.c:435
 #, c-format
 msgid "%s: duplicate category version definition"
-msgstr "%s: ÐÏ×ÔÏÒÎÏÅ ÏÐÒÅÄÅÌÅÎÉÅ ×ÅÒÓÉÉ ËÁÔÅÇÏÒÉÉ"
+msgstr "%s: Ð¿Ð¾Ð²Ñ\82оÑ\80ное Ð¾Ð¿Ñ\80еделение Ð²ÐµÑ\80Ñ\81ии ÐºÐ°Ñ\82егоÑ\80ии"
 
-#: locale/programs/ld-measurement.c:112
+#: locale/programs/ld-measurement.c:113
 #, c-format
 msgid "%s: invalid value for field `%s'"
-msgstr "%s: ÎÅÄÏÐÕÓÔÉÍÏÅ ÚÎÁÞÅÎÉÅ ÐÏÌÑ `%s'"
+msgstr "%s: недопустимое значение поля «%s»"
 
-#: locale/programs/ld-messages.c:113 locale/programs/ld-messages.c:147
+#: locale/programs/ld-messages.c:114 locale/programs/ld-messages.c:148
 #, c-format
 msgid "%s: field `%s' undefined"
-msgstr "%s: ÐÏÌÅ `%s' ÎÅ ÏÐÒÅÄÅÌÅÎÏ"
+msgstr "%s: Ð¿Ð¾Ð»Ðµ Â«%s» Ð½Ðµ Ð¾Ð¿Ñ\80еделено"
 
-#: locale/programs/ld-messages.c:120 locale/programs/ld-messages.c:154
+#: 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: ÚÎÁÞÅÎÉÅ ÐÏÌÑ `%s' ÎÅ ÄÏÌÖÎÏ ÂÙÔØ ÐÕÓÔÏÊ ÓÔÒÏËÏÊ"
+msgstr "%s: значение поля «%s» не должно быть пустой строкой"
 
-#: locale/programs/ld-messages.c:136 locale/programs/ld-messages.c:170
+#: 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: ÎÅÔ ÐÒÁ×ÉÌØÎÏÇÏ ÒÅÇÕÌÑÒÎÏÇÏ ×ÙÒÁÖÅÎÉÑ ÄÌÑ ÐÏÌÑ `%s': %s"
+msgstr "%s: нет правильного регулярного выражения для поля «%s»: %s"
 
-#: locale/programs/ld-monetary.c:222
+#: locale/programs/ld-monetary.c:224
 #, c-format
 msgid "%s: value of field `int_curr_symbol' has wrong length"
-msgstr "%s: ÚÎÁÞÅÎÉÅ ÐÏÌÑ `int_curr_symbol' ÉÍÅÅÔ ÎÅÐÒÁ×ÉÌØÎÕÀ ÄÌÉÎÕ"
+msgstr "%s: значение поля «int_curr_symbol» имеет неправильную длину"
 
-#: locale/programs/ld-monetary.c:235
+#: 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: ÚÎÁÞÅÎÉÅ ÐÏÌÑ `int_curr_symbol' ÎÅ ÓÏÏÔ×ÅÔÓÔ×ÕÅÔ ÎÉ ÏÄÎÏÍÕ ×ÅÒÎÏÍÕ ÉÍÅÎÉ ÉÚ ISO 4217"
+msgstr "%s: значение поля «int_curr_symbol» не соответствует ни одному верному имени из ISO 4217"
 
-#: locale/programs/ld-monetary.c:254 locale/programs/ld-numeric.c:117
-#, c-format
-msgid "%s: value for field `%s' must not be the empty string"
-msgstr "%s: ÚÎÁÞÅÎÉÅ ÐÏÌÑ `%s' ÎÅ ÄÏÌÖÎÏ ÂÙÔØ ÐÕÓÔÏÊ ÓÔÒÏËÏÊ"
-
-#: locale/programs/ld-monetary.c:282 locale/programs/ld-monetary.c:312
+#: 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: ÚÎÁÞÅÎÉÅ ÐÏÌÑ `%s' ÄÏÌÖÎÏ ÂÙÔØ × ÄÉÁÐÁÚÏÎÅ %d...%d"
+msgstr "%s: значение поля «%s» должно быть в диапазоне %d...%d"
 
-#: locale/programs/ld-monetary.c:744 locale/programs/ld-numeric.c:273
+#: 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: ÚÎÁÞÅÎÉÅ ÐÏÌÑ `%s' ÄÏÌÖÎÏ ÂÙÔØ ÏÄÎÉÍ ÚÎÁËÏÍ"
+msgstr "%s: значение поля «%s» должно быть одним знаком"
 
-#: locale/programs/ld-monetary.c:841 locale/programs/ld-numeric.c:317
+#: 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' ÄÏÌÖÎÏ ÂÙÔØ ÐÏÓÌÅÄÎÉÍ ×ÈÏÖÄÅÎÉÅ × ÐÏÌÅ `%s'"
+msgstr "%s: «-1» должно быть последним вхождение в поле «%s»"
 
-#: locale/programs/ld-monetary.c:863 locale/programs/ld-numeric.c:334
+#: 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: ÚÎÁÞÅÎÉÑ ÐÏÌÑ `%s' ÄÏÌÖÎÙ ÂÙÔØ ÍÅÎØÛÅ 127"
+msgstr "%s: значения поля «%s» должны быть меньше 127"
 
-#: locale/programs/ld-monetary.c:906
+#: locale/programs/ld-monetary.c:909
 msgid "conversion rate value cannot be zero"
-msgstr "ÚÎÁÞÅÎÉÅ ÏÂÍÅÎÎÏÇÏ ËÕÒÓÁ ÎÅ ÍÏÖÅÔ ÂÙÔØ ÎÕÌÅÍ"
+msgstr "значение обменного курса не может быть нулем"
 
-#: locale/programs/ld-name.c:128 locale/programs/ld-telephone.c:125
-#: locale/programs/ld-telephone.c:148
+#: 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'"
+msgstr "%s: недопустимая управляющая последовательность в поле «%s»"
 
-#: locale/programs/ld-time.c:246
+#: locale/programs/ld-time.c:247
 #, c-format
 msgid "%s: direction flag in string %Zd in `era' field is not '+' nor '-'"
-msgstr "%s: ÆÌÁÇ ÎÁÐÒÁ×ÌÅÎÉÑ × ÓÔÒÏËÅ %Zd × ÐÏÌÅ `era' ÎÅ '+' É ÎÅ '-'"
+msgstr "%s: флаг направления в строке %Zd в поле «era» не »+» и не »-»"
 
-#: locale/programs/ld-time.c:257
+#: 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:  ÆÌÁÇ ÎÁÐÒÁ×ÌÅÎÉÑ × ÓÔÒÏËÅ %Zd × ÐÏÌÅ `era' ÎÅ Ñ×ÌÑÅÔÓÑ ÏÄÎÉÍ ÚÎÁËÏÍ"
+msgstr "%s:  флаг направления в строке %Zd в поле «era» не является одним знаком"
 
-#: locale/programs/ld-time.c:270
+#: locale/programs/ld-time.c:271
 #, c-format
 msgid "%s: invalid number for offset in string %Zd in `era' field"
-msgstr "%s: ÎÅÄÏÐÕÓÔÉÍÏÅ ÞÉÓÌÏ ÄÌÑ ÓÍÅÝÅÎÉÑ × ÓÔÒÏËÅ %Zd × ÐÏÌÅ `era'"
+msgstr "%s: недопустимое число для смещения в строке %Zd в поле «era»"
 
-#: locale/programs/ld-time.c:278
+#: locale/programs/ld-time.c:279
 #, c-format
 msgid "%s: garbage at end of offset value in string %Zd in `era' field"
-msgstr "%s: ÍÕÓÏÒ × ËÏÎÃÅ ÚÎÁÞÅÎÉÑ ÓÍÅÝÅÎÉÑ × ÓÔÒÏËÅ %Zd × ÐÏÌÅ `era'"
+msgstr "%s: мусор в конце значения смещения в строке %Zd в поле «era»"
 
-#: locale/programs/ld-time.c:329
+#: locale/programs/ld-time.c:330
 #, c-format
 msgid "%s: invalid starting date in string %Zd in `era' field"
-msgstr "%s: ÎÅÄÏÐÕÓÔÉÍÁÑ ÎÁÞÁÌØÎÁÑ ÄÁÔÁ × ÓÔÒÏËÅ %Zd × ÐÏÌÅ `era'"
+msgstr "%s: недопустимая начальная дата в строке %Zd в поле «era»"
 
-#: locale/programs/ld-time.c:338
+#: locale/programs/ld-time.c:339
 #, c-format
 msgid "%s: garbage at end of starting date in string %Zd in `era' field "
-msgstr "%s: ÍÕÓÏÒ × ËÏÎÃÅ ÎÁÞÁÌØÎÏÊ ÄÁÔÙ × ÓÔÒÏËÅ %Zd × ÐÏÌÅ `era'"
+msgstr "%s: мусор в конце начальной даты в строке %Zd в поле «era»"
 
-#: locale/programs/ld-time.c:357
+#: locale/programs/ld-time.c:358
 #, c-format
 msgid "%s: starting date is invalid in string %Zd in `era' field"
-msgstr "%s: ÎÅ×ÅÒÎÁÑ ÎÁÞÁÌØÎÁÑ ÄÁÔÁ × ÓÔÒÏËÅ %Zd × ÐÏÌÅ `era'"
+msgstr "%s: неверная начальная дата в строке %Zd в поле «era»"
 
-#: locale/programs/ld-time.c:406
+#: locale/programs/ld-time.c:407
 #, c-format
 msgid "%s: invalid stopping date in string %Zd in `era' field"
-msgstr "%s: ÎÅ×ÅÒÎÁÑ ËÏÎÅÞÎÁÑ ÄÁÔÁ × ÓÔÒÏËÅ %Zd × ÐÏÌÅ `era'"
+msgstr "%s: неверная конечная дата в строке %Zd в поле «era»"
 
-#: locale/programs/ld-time.c:415
+#: locale/programs/ld-time.c:416
 #, c-format
 msgid "%s: garbage at end of stopping date in string %Zd in `era' field"
-msgstr "%s: ÍÕÓÏÒ × ËÏÎÃÅ ËÏÎÅÞÎÏÊ ÄÁÔÙ × ÓÔÒÏËÅ %Zd × ÐÏÌÅ `era'"
+msgstr "%s: мусор в конце конечной даты в строке %Zd в поле «era»"
 
-#: locale/programs/ld-time.c:434
+#: locale/programs/ld-time.c:435
 #, c-format
 msgid "%s: stopping date is invalid in string %Zd in `era' field"
-msgstr "%s: ÎÅ×ÅÒÎÁÑ ËÏÎÅÞÎÁÑ ÄÁÔÁ × ÓÔÒÏËÅ %Zd × ÐÏÌÅ `era'"
+msgstr "%s: неверная конечная дата в строке %Zd в поле «era»"
 
-#: locale/programs/ld-time.c:443
+#: locale/programs/ld-time.c:444
 #, c-format
 msgid "%s: missing era name in string %Zd in `era' field"
-msgstr "%s: ÐÒÏÐÕÝÅÎÏ ÉÍÑ ÜÒÙ × ÓÔÒÏËÅ %Zd  × ÐÏÌÅ `era'"
+msgstr "%s: Ð¿Ñ\80опÑ\83Ñ\89ено Ð¸Ð¼Ñ\8f Ñ\8dÑ\80Ñ\8b Ð² Ñ\81Ñ\82Ñ\80оке %Zd  Ð² Ð¿Ð¾Ð»Ðµ Â«era»"
 
-#: locale/programs/ld-time.c:455
+#: locale/programs/ld-time.c:456
 #, c-format
 msgid "%s: missing era format in string %Zd in `era' field"
-msgstr "%s: ÐÒÏÐÕÝÅΠÆÏÒÍÁÔ ÜÒÙ × ÓÔÒÏËÅ %Zd × ÐÏÌÅ `era'"
+msgstr "%s: Ð¿Ñ\80опÑ\83Ñ\89ен Ñ\84оÑ\80маÑ\82 Ñ\8dÑ\80Ñ\8b Ð² Ñ\81Ñ\82Ñ\80оке %Zd Ð² Ð¿Ð¾Ð»Ðµ Â«era»"
 
-#: locale/programs/ld-time.c:496
+#: 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: ÔÒÅÔÉÊ ÏÐÅÒÁÎÄ ÄÌÑ ÚÎÁÞÅÎÉÑ ÐÏÌÑ `%s' ÎÅ ÄÏÌÖÅΠÂÙÔØ ÂÏÌØÛÅ %d"
-
-#: locale/programs/ld-time.c:504 locale/programs/ld-time.c:512
-#, c-format
-msgid "%s: values of field `%s' must not be larger than %d"
-msgstr "%s: ÚÎÁÞÅÎÉÑ ÐÏÌÑ `%s' ÎÅ ÄÏÌÖÎÙ ÂÙÔØ ÂÏÌØÛÅ %d"
+msgstr "%s: третий операнд для значения поля «%s» не должен быть больше %d"
 
-#: locale/programs/ld-time.c:520
+#: 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: ÚÎÁÞÅÎÉÑ ÄÌÑ ÐÏÌÑ `%s' ÎÅ ÄÏÌÖÎÙ ÂÙÔØ ÂÏÌØÛÅ %d"
+msgstr "%s: значения для поля «%s» не должны быть больше %d"
 
-#: locale/programs/ld-time.c:1003
+#: locale/programs/ld-time.c:1004
 #, c-format
 msgid "%s: too few values for field `%s'"
-msgstr "%s: ÓÌÉÛËÏÍ ÍÁÌÏ ÚÎÁÞÅÎÉÊ ÄÌÑ ÐÏÌÑ `%s'"
+msgstr "%s: слишком мало значений для поля «%s»"
 
-#: locale/programs/ld-time.c:1048
+#: locale/programs/ld-time.c:1049
 msgid "extra trailing semicolon"
-msgstr "ÌÉÛÎÅÅ Ä×ÏÅÔÏÞÉÅ × ËÏÎÃÅ"
+msgstr "лишнее двоеточие в конце"
 
-#: locale/programs/ld-time.c:1051
+#: locale/programs/ld-time.c:1052
 #, c-format
 msgid "%s: too many values for field `%s'"
-msgstr "%s: ÓÌÉÛËÏÍ ÍÎÏÇÏ ÚÎÁÞÅÎÉÊ ÄÌÑ ÐÏÌÑ `%s'"
+msgstr "%s: слишком много значений для поля «%s»"
 
-#: locale/programs/linereader.c:129
+#: locale/programs/linereader.c:130
 msgid "trailing garbage at end of line"
-msgstr "ÍÕÓÏÒ × ËÏÎÃÅ ÓÔÒÏËÉ"
+msgstr "мусор в конце строки"
 
-#: locale/programs/linereader.c:297
+#: locale/programs/linereader.c:298
 msgid "garbage at end of number"
-msgstr "ÍÕÓÏÒ × ËÏÎÃÅ ÞÉÓÌÁ"
+msgstr "мусор в конце числа"
 
-#: locale/programs/linereader.c:409
+#: locale/programs/linereader.c:410
 msgid "garbage at end of character code specification"
-msgstr "ÍÕÓÏÒ × ËÏÎÃÅ ÓÐÅÃÉÆÉËÁÃÉÉ ËÏÄÁ ÚÎÁËÁ"
+msgstr "мусор в конце спецификации кода знака"
 
-#: locale/programs/linereader.c:495
+#: locale/programs/linereader.c:496
 msgid "unterminated symbolic name"
-msgstr "ÎÅÚÁ×ÅÒÛÅÎÎÏÅ ÓÉÍ×ÏÌØÎÏÅ ÉÍÑ"
+msgstr "незавершенное символьное имя"
 
-#: locale/programs/linereader.c:622
+#: locale/programs/linereader.c:623
 msgid "illegal escape sequence at end of string"
-msgstr "ÎÅ×ÅÒÎÁÑ ÕÐÒÁ×ÌÑÀÝÁÑ ÐÏÓÌÅÄÏ×ÁÔÅÌØÎÏÓÔØ × ËÏÎÃÅ ÓÔÒÏËÉ"
+msgstr "неверная управляющая последовательность в конце строки"
 
-#: locale/programs/linereader.c:626 locale/programs/linereader.c:854
+#: locale/programs/linereader.c:627 locale/programs/linereader.c:855
 msgid "unterminated string"
-msgstr "ÎÅÚÁ×ÅÒÛÅÎÎÁÑ ÓÔÒÏËÁ"
+msgstr "незавершенная строка"
 
-#: locale/programs/linereader.c:668
+#: locale/programs/linereader.c:669
 msgid "non-symbolic character value should not be used"
-msgstr "ÎÅ ÓÔÏÉÔ ÉÓÐÏÌØÚÏ×ÁÔØ ÎÅÓÉÍ×ÏÌØÎÏÅ ÚÎÁËÏ×ÏÅ ÚÎÁÞÅÎÉÅ"
+msgstr "не стоит использовать несимвольное знаковое значение"
 
-#: locale/programs/linereader.c:815
+#: locale/programs/linereader.c:816
 #, c-format
 msgid "symbol `%.*s' not in charmap"
-msgstr "ÓÉÍ×ÏÌ `%.*s' ÏÔÓÕÔÓÔ×ÕÅÔ × ÏÔÏÂÒÁÖÅÎÉÉ ÚÎÁËÏ×"
+msgstr "символ «%.*s» отсутствует в отображении знаков"
 
-#: locale/programs/linereader.c:836
+#: locale/programs/linereader.c:837
 #, c-format
 msgid "symbol `%.*s' not in repertoire map"
-msgstr "ÓÉÍ×ÏÌ `%.*s' ÏÔÓÕÔÓÔ×ÕÅÔ × ÏÔÏÂÒÁÖÅÎÉÉ ÒÅÐÅÒÔÕÁÒÁ"
+msgstr "символ «%.*s» отсутствует в отображении репертуара"
 
-#: locale/programs/locale.c:73
+#: locale/programs/locale.c:74
 msgid "System information:"
-msgstr "éÎÆÏÒÍÁÃÉÑ Ï ÓÉÓÔÅÍÅ:"
+msgstr "Информация о системе:"
 
-#: locale/programs/locale.c:75
+#: locale/programs/locale.c:76
 msgid "Write names of available locales"
-msgstr "îÁÐÉÓÁÔØ ÉÍÅÎÁ ÄÏÓÔÕÐÎÙÈ ÌÏËÁÌÅÊ"
+msgstr "Написать имена доступных локалей"
 
-#: locale/programs/locale.c:77
+#: locale/programs/locale.c:78
 msgid "Write names of available charmaps"
-msgstr "ðÅÞÁÔÁÅÔ ÉÍÅÎÁ ÄÏÓÔÕÐÎÙÈ ÏÔÏÂÒÁÖÅÎÉÊ ÚÎÁËÏ×"
+msgstr "Печатает имена доступных отображений знаков"
 
-#: locale/programs/locale.c:78
+#: locale/programs/locale.c:79
 msgid "Modify output format:"
-msgstr "éÚÍÅÎÅÎÉÅ ×ÙÈÏÄÎÏÇÏ ÆÏÒÍÁÔÁ:"
+msgstr "Изменение выходного формата:"
 
-#: locale/programs/locale.c:79
+#: locale/programs/locale.c:80
 msgid "Write names of selected categories"
-msgstr "îÁÐÉÓÁÔØ ÉÍÅÎÁ ×ÙÂÒÁÎÎÙÈ ËÁÔÅÇÏÒÉÊ"
+msgstr "Написать имена выбранных категорий"
 
-#: locale/programs/locale.c:80
+#: locale/programs/locale.c:81
 msgid "Write names of selected keywords"
-msgstr "îÁÐÉÓÁÔØ ÉÍÅÎÁ ×ÙÂÒÁÎÎÙÈ ËÌÀÞÅ×ÙÈ ÓÌÏ×"
+msgstr "Написать имена выбранных ключевых слов"
 
-#: locale/programs/locale.c:81
+#: locale/programs/locale.c:82
 msgid "Print more information"
-msgstr "îÁÐÅÞÁÔÁÔØ ÂÏÌØÛÅ ÉÎÆÏÒÍÁÃÉÉ"
+msgstr "Напечатать больше информации"
 
-#: locale/programs/locale.c:86
+#: locale/programs/locale.c:87
 msgid ""
-"Get locale-specific information.\vFor bug reporting instructions, please see:\n"
+"Get locale-specific information.\vFor bug reporting instructions, please see:\n"
 "<http://www.gnu.org/software/libc/bugs.html>.\n"
 msgstr ""
-"÷ÙÄÁÅÔ ÉÎÆÏÒÍÁÃÉÀ, ÏÔÎÏÓÑÝÕÀÓÑ Ë ÌÏËÁÌÉ.\véÎÓÔÒÕËÃÉÉ ÐÏ ÓÏÏÂÝÅÎÉÀ Ï ÏÛÉÂËÁÈ ÓÍÏÔÒÉÔÅ ÎÁ\n"
+"Выдает информацию, относящуюся к локали.\vИнструкции по сообщению об ошибках смотрите на\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]"
 msgstr ""
-"éíñ\n"
+"ИМЯ\n"
 "[-a|-m]"
 
-#: locale/programs/locale.c:192
+#: locale/programs/locale.c:193
 #, c-format
 msgid "Cannot set LC_CTYPE to default locale"
-msgstr "îÅ×ÏÚÍÏÖÎÏ ÕÓÔÁÎÏ×ÉÔØ LC_CTYPE × ÌÏËÁÌØ ÐÏ ÕÍÏÌÞÁÎÉÀ."
+msgstr "Невозможно установить LC_CTYPE в локаль по умолчанию."
 
-#: locale/programs/locale.c:194
+#: locale/programs/locale.c:195
 #, c-format
 msgid "Cannot set LC_MESSAGES to default locale"
-msgstr "îÅ×ÏÚÍÏÖÎÏ ÕÓÔÁÎÏ×ÉÔØ LC_MESSAGES × ÌÏËÁÌØ ÐÏ ÕÍÏÌÞÁÎÉÀ."
+msgstr "Невозможно установить LC_MESSAGES в локаль по умолчанию."
 
-#: locale/programs/locale.c:207
+#: locale/programs/locale.c:208
 #, c-format
 msgid "Cannot set LC_COLLATE to default locale"
-msgstr "îÅ×ÏÚÍÏÖÎÏ ÕÓÔÁÎÏ×ÉÔØ LC_COLLATE × ÌÏËÁÌØ ÐÏ ÕÍÏÌÞÁÎÉÀ."
+msgstr "Невозможно установить LC_COLLATE в локаль по умолчанию."
 
-#: locale/programs/locale.c:223
+#: locale/programs/locale.c:224
 #, c-format
 msgid "Cannot set LC_ALL to default locale"
-msgstr "îÅ×ÏÚÍÏÖÎÏ ÕÓÔÁÎÏ×ÉÔØ LC_ALL × ÌÏËÁÌØ ÐÏ ÕÍÏÌÞÁÎÉÀ."
+msgstr "Невозможно установить LC_ALL в локаль по умолчанию."
 
-#: locale/programs/locale.c:499
+#: locale/programs/locale.c:500
 #, c-format
 msgid "while preparing output"
-msgstr "ÐÒÉ ÐÏÄÇÏÔÏ×ËÅ ×Ù×ÏÄÁ"
+msgstr "пÑ\80и Ð¿Ð¾Ð´Ð³Ð¾Ñ\82овке Ð²Ñ\8bвода"
 
-#: locale/programs/localedef.c:119
+#: locale/programs/localedef.c:120
 msgid "Input Files:"
-msgstr "÷ÈÏÄÎÙÅ ÆÁÊÌÙ:"
+msgstr "Входные файлы:"
 
-#: locale/programs/localedef.c:121
+#: locale/programs/localedef.c:122
 msgid "Symbolic character names defined in FILE"
-msgstr "óÉÍ×ÏÌØÎÙÅ ÉÍÅÎÁ ÚÎÁËÏ× ÏÂßÑ×ÌÅÎÙ × æáêìå"
+msgstr "Символьные имена знаков объявлены в ФАЙЛЕ"
 
-#: locale/programs/localedef.c:122
+#: locale/programs/localedef.c:123
 msgid "Source definitions are found in FILE"
-msgstr "éÓÈÏÄÎÙÅ ÏÐÒÅÄÅÌÅÎÉÑ ÎÁÈÏÄÑÔÓÑ × æáêìå"
+msgstr "Исходные определения находятся в ФАЙЛЕ"
 
-#: locale/programs/localedef.c:124
+#: locale/programs/localedef.c:125
 msgid "FILE contains mapping from symbolic names to UCS4 values"
-msgstr "æáêì ÓÏÄÅÒÖÉÔ ÏÔÏÂÒÁÖÅÎÉÑ ÉÚ ÓÉÍ×ÏÌØÎÙÈ ÉÍÅΠנÚÎÁÞÅÎÉÑ UCS4"
+msgstr "ФАЙЛ содержит отображения из символьных имен в значения UCS4"
 
-#: locale/programs/localedef.c:128
+#: locale/programs/localedef.c:129
 msgid "Create output even if warning messages were issued"
-msgstr "óÏÚÄÁ×ÁÔØ ×Ù×ÏÄ, ÄÁÖÅ ÅÓÌÉ ÂÙÌÉ ÐÒÅÄÕÐÒÅÖÄÅÎÉÑ"
+msgstr "Создавать вывод, даже если были предупреждения"
 
-#: locale/programs/localedef.c:129
+#: locale/programs/localedef.c:130
 msgid "Create old-style tables"
-msgstr "óÏÚÄÁ×ÁÔØ ÔÁÂÌÉÃÙ × ÓÔÁÒÏÍ ÓÔÉÌÅ"
+msgstr "Создавать таблицы в старом стиле"
 
-#: locale/programs/localedef.c:130
+#: locale/programs/localedef.c:131
 msgid "Optional output file prefix"
-msgstr "îÅÏÂÑÚÁÔÅÌØÎÙÊ ÐÒÅÆÉËÓ ÄÌÑ ×ÙÈÏÄÎÙÈ ÆÁÊÌÏ×"
+msgstr "Необязательный префикс для выходных файлов"
 
-#: locale/programs/localedef.c:131
+#: locale/programs/localedef.c:132
 msgid "Be strictly POSIX conform"
-msgstr "óÔÒÏÇÏ ÓÌÅÄÏ×ÁÔØ ÓÔÁÎÄÁÒÔÕ POSIX"
+msgstr "Строго следовать стандарту POSIX"
 
-#: locale/programs/localedef.c:133
+#: locale/programs/localedef.c:134
 msgid "Suppress warnings and information messages"
-msgstr "îÅ ×Ù×ÏÄÉÔØ ÐÒÅÄÕÐÒÅÖÄÅÎÉÑ É ÉÎÆÏÒÍÁÃÉÏÎÎÙÅ ÓÏÏÂÝÅÎÉÑ"
+msgstr "Не выводить предупреждения и информационные сообщения"
 
-#: locale/programs/localedef.c:134
+#: locale/programs/localedef.c:135
 msgid "Print more messages"
-msgstr "ðÅÞÁÔÁÔØ ÂÏÌØÛÅ ÓÏÏÂÝÅÎÉÊ"
+msgstr "Печатать больше сообщений"
 
-#: locale/programs/localedef.c:135
+#: locale/programs/localedef.c:136
 msgid "Archive control:"
-msgstr "õÐÒÁ×ÌÅÎÉÅ ÁÒÈÉ×ÏÍ:"
+msgstr "Управление архивом:"
 
-#: locale/programs/localedef.c:137
+#: locale/programs/localedef.c:138
 msgid "Don't add new data to archive"
-msgstr "îÅ ÄÏÂÁ×ÌÑÔØ × ÁÒÈÉ× ÎÏ×ÙÅ ÄÁÎÎÙÅ"
+msgstr "Не добавлять в архив новые данные"
 
-#: locale/programs/localedef.c:139
+#: locale/programs/localedef.c:140
 msgid "Add locales named by parameters to archive"
-msgstr "äÏÂÁ×ÉÔØ × ÁÒÈÉ× ÌÏËÁÌÉ, ÕËÁÚÁÎÎÙÅ × ÐÁÒÁÍÅÔÒÁÈ"
+msgstr "Добавить в архив локали, указанные в параметрах"
 
-#: locale/programs/localedef.c:140
+#: locale/programs/localedef.c:141
 msgid "Replace existing archive content"
-msgstr "úÁÍÅÎÉÔØ ÓÕÝÅÓÔ×ÕÀÝÅÅ ÓÏÄÅÒÖÉÍÏÅ ÁÒÈÉ×Á"
+msgstr "Заменить существующее содержимое архива"
 
-#: locale/programs/localedef.c:142
+#: locale/programs/localedef.c:143
 msgid "Remove locales named by parameters from archive"
-msgstr "õÄÁÌÉÔØ ÉÚ ÁÒÈÉ×Á ÌÏËÁÌÉ, ÕËÁÚÁÎÎÙÅ × ÐÁÒÁÍÅÔÒÁÈ"
+msgstr "Удалить из архива локали, указанные в параметрах"
 
-#: locale/programs/localedef.c:143
+#: locale/programs/localedef.c:144
 msgid "List content of archive"
-msgstr "ðÅÒÅÞÉÓÌÉÔØ ÓÏÄÅÒÖÉÍÏÅ ÁÒÈÉ×Á"
+msgstr "Перечислить содержимое архива"
 
-#: locale/programs/localedef.c:145
+#: locale/programs/localedef.c:146
 msgid "locale.alias file to consult when making archive"
-msgstr "ÆÁÊÌ locale.alias, Ë ËÏÔÏÒÏÍÕ ÓÌÅÄÕÅÔ ÏÂÒÁÝÁÔØÓÑ ÐÒÉ ÓÏÚÄÁÎÉÉ ÁÒÈÉ×Á"
+msgstr "файл locale.alias, к которому следует обращаться при создании архива"
 
-#: locale/programs/localedef.c:150
+#: locale/programs/localedef.c:151
 msgid "Compile locale specification"
-msgstr "ëÏÍÐÉÌÉÒÕÅÔ ÓÐÅÃÉÆÉËÁÃÉÀ ÌÏËÁÌÉ"
+msgstr "Компилирует спецификацию локали"
 
-#: locale/programs/localedef.c:153
+#: locale/programs/localedef.c:154
 msgid ""
 "NAME\n"
 "[--add-to-archive|--delete-from-archive] FILE...\n"
 "--list-archive [FILE]"
 msgstr ""
-"éíñ\n"
-"[--add-to-archive|--delete-from-archive] æáêì...\n"
-"--list-archive [æáêì]"
+"ИМЯ\n"
+"[--add-to-archive|--delete-from-archive] ФАЙЛ...\n"
+"--list-archive [ФАЙЛ]"
 
-#: locale/programs/localedef.c:231
+#: locale/programs/localedef.c:232
 #, c-format
 msgid "cannot create directory for output files"
-msgstr "ÎÅ×ÏÚÍÏÖÎÏ ÓÏÚÄÁÔØ ËÁÔÁÌÏÇ ÄÌÑ ×ÙÈÏÄÎÙÈ ÆÁÊÌÏ×"
+msgstr "невозможно создать каталог для выходных файлов"
 
-#: locale/programs/localedef.c:242
+#: locale/programs/localedef.c:243
 #, c-format
 msgid "FATAL: system does not define `_POSIX2_LOCALEDEF'"
-msgstr "æáôáìøîáñ ïûéâëá: ÓÉÓÔÅÍÁ ÎÅ ÏÐÒÅÄÅÌÑÅÔ `_POSIX2_LOCALEDEF'"
+msgstr "ФАТАЛЬНАЯ ОШИБКА: система не определяет «_POSIX2_LOCALEDEF»"
 
-#: locale/programs/localedef.c:256 locale/programs/localedef.c:272
-#: locale/programs/localedef.c:598 locale/programs/localedef.c:618
+#: 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 "ÎÅ×ÏÚÍÏÖÎÏ ÏÔËÒÙÔØ ÆÁÊÌ Ó ÏÐÒÅÄÅÌÅÎÉÅÍ ÌÏËÁÌÉ `%s'"
+msgstr "невозможно открыть файл с определением локали «%s»"
 
-#: locale/programs/localedef.c:284
+#: locale/programs/localedef.c:285
 #, c-format
 msgid "cannot write output files to `%s'"
-msgstr "ÎÅ×ÏÚÍÏÖÎÏ ÚÁÐÉÓÁÔØ ×ÙÈÏÄÎÙÅ ÆÁÊÌÙ × `%s'"
+msgstr "невозможно записать выходные файлы в «%s»"
 
-#: locale/programs/localedef.c:365
+#: locale/programs/localedef.c:366
 #, c-format
 msgid ""
 "System's directory for character maps : %s\n"
@@ -2556,218 +2552,214 @@ msgid ""
 "                       locale path    : %s\n"
 "%s"
 msgstr ""
-"óÉÓÔÅÍÎÙÅ ËÁÔÁÌÏÇÉ ÄÌÑ ÏÔÏÂÒÁÖÅÎÉÊ ÚÎÁËÏ×: %s\n"
-"                  ÏÔÏÂÒÁÖÅÎÉÊ ÒÅÐÅÒÔÕÁÒÏ×: %s\n"
-"                       ÐÕÔØ ÌÏËÁÌÉ       : %s\n"
+"Системные каталоги для отображений знаков: %s\n"
+"                  отображений репертуаров: %s\n"
+"                       Ð¿Ñ\83Ñ\82Ñ\8c Ð»Ð¾ÐºÐ°Ð»Ð¸       : %s\n"
 "%s"
 
-#: locale/programs/localedef.c:566
+#: locale/programs/localedef.c:567
 #, c-format
 msgid "circular dependencies between locale definitions"
-msgstr "ÃÉËÌÉÞÅÓËÉÅ ÚÁ×ÉÓÉÍÏÓÔÉ ÍÅÖÄÕ ÏÐÒÅÄÅÌÅÎÉÑÍÉ ÌÏËÁÌÅÊ"
+msgstr "циклические зависимости между определениями локалей"
 
-#: locale/programs/localedef.c:572
+#: locale/programs/localedef.c:573
 #, c-format
 msgid "cannot add already read locale `%s' a second time"
-msgstr "ÎÅ×ÏÚÍÏÖÎÏ ÄÏÂÁ×ÉÔØ ÕÖÅ ÓÞÉÔÁÎÎÕÀ ÌÏËÁÌØ `%s' ×ÔÏÒÏÊ ÒÁÚ"
+msgstr "невозможно добавить уже считанную локаль «%s» второй раз"
 
-#: locale/programs/locarchive.c:87 locale/programs/locarchive.c:256
+#: locale/programs/locarchive.c:88 locale/programs/locarchive.c:261
 #, c-format
 msgid "cannot create temporary file"
-msgstr "ÎÅ×ÏÚÍÏÖÎÏ ÓÏÚÄÁÔØ ×ÒÅÍÅÎÎÙÊ ÆÁÊÌ"
+msgstr "невозможно создать временный файл"
 
-#: locale/programs/locarchive.c:116 locale/programs/locarchive.c:302
+#: locale/programs/locarchive.c:118 locale/programs/locarchive.c:307
 #, c-format
 msgid "cannot initialize archive file"
-msgstr "ÎÅ×ÏÚÍÏÖÎÏ ÐÒÏÉÎÉÃÉÁÌÉÚÉÒÏ×ÁÔØ ÁÒÈÉ×ÎÙÊ ÆÁÊÌ"
+msgstr "невозможно проинициализировать архивный файл"
 
-#: locale/programs/locarchive.c:123 locale/programs/locarchive.c:309
+#: locale/programs/locarchive.c:125 locale/programs/locarchive.c:314
 #, c-format
 msgid "cannot resize archive file"
-msgstr "ÎÅ×ÏÚÍÏÖÎÏ ÉÚÍÅÎÉÔØ ÒÁÚÍÅÒ ÁÒÈÉ×ÎÏÇÏ ÆÁÊÌÁ"
+msgstr "невозможно изменить размер архивного файла"
 
-#: locale/programs/locarchive.c:132 locale/programs/locarchive.c:318
-#: locale/programs/locarchive.c:506
+#: locale/programs/locarchive.c:134 locale/programs/locarchive.c:323
+#: locale/programs/locarchive.c:527
 #, c-format
 msgid "cannot map archive header"
-msgstr "ÎÅ×ÏÚÍÏÖÎÏ ÏÔÏÂÒÁÚÉÔØ × ÐÁÍÑÔØ ÚÁÇÏÌÏ×ÏË ÁÒÈÉ×Á"
+msgstr "невозможно отобразить в память заголовок архива"
 
-#: locale/programs/locarchive.c:154
+#: locale/programs/locarchive.c:156
 #, c-format
 msgid "failed to create new locale archive"
-msgstr "ÎÅ ÕÄÁÌÏÓØ ÓÏÚÄÁÔØ ÎÏ×ÙÊ ÁÒÈÉ× ÌÏËÁÌÉ"
+msgstr "не удалось создать новый архив локали"
 
-#: locale/programs/locarchive.c:166
+#: locale/programs/locarchive.c:168
 #, c-format
 msgid "cannot change mode of new locale archive"
-msgstr "ÎÅ×ÏÚÍÏÖÎÏ ÉÚÍÅÎÉÔØ ÐÒÁ×Á ÄÏÓÔÕÐÁ ÄÌÑ ÎÏ×ÏÇÏ ÁÒÈÉ×ÎÏÇÏ ÆÁÊÌÁ"
+msgstr "невозможно изменить права доступа для нового архивного файла"
 
-#: locale/programs/locarchive.c:250
+#: locale/programs/locarchive.c:255
 #, c-format
 msgid "cannot map locale archive file"
-msgstr "ÎÅ×ÏÚÍÏÖÎÏ ÏÔÏÂÒÁÚÉÔØ × ÐÁÍÑÔØ ÁÒÈÉ×ÎÙÊ ÆÁÊÌ ÌÏËÁÌÉ"
+msgstr "невозможно отобразить в память архивный файл локали"
 
-#: locale/programs/locarchive.c:326
+#: locale/programs/locarchive.c:331
 #, c-format
 msgid "cannot lock new archive"
-msgstr "ÎÅ×ÏÚÍÏÖÎÏ ÚÁÂÌÏËÉÒÏ×ÁÔØ ÎÏ×ÙÊ ÁÒÈÉ×"
+msgstr "невозможно заблокировать новый архив"
 
-#: locale/programs/locarchive.c:375
+#: locale/programs/locarchive.c:396
 #, c-format
 msgid "cannot extend locale archive file"
-msgstr "ÎÅ×ÏÚÍÏÖÎÏ ÒÁÓÛÉÒÉÔØ ÁÒÈÉ×ÎÙÊ ÆÁÊÌ ÌÏËÁÌÉ"
+msgstr "невозможно расширить архивный файл локали"
 
-#: locale/programs/locarchive.c:384
+#: locale/programs/locarchive.c:405
 #, c-format
 msgid "cannot change mode of resized locale archive"
-msgstr "ÎÅ×ÏÚÍÏÖÎÏ ÉÚÍÅÎÉÔØ ÐÒÁ×Á ÄÏÓÔÕÐÁ ÁÒÈÉ×Á ÌÏËÁÌÉ ÐÏÓÌÅ ÉÚÍÅÎÅÎÉÑ ÒÁÚÍÅÒÁ"
+msgstr "невозможно изменить права доступа архива локали после изменения размера"
 
-#: locale/programs/locarchive.c:392
+#: locale/programs/locarchive.c:413
 #, c-format
 msgid "cannot rename new archive"
-msgstr "ÎÅ×ÏÚÍÏÖÎÏ ÐÅÒÅÉÍÅÎÏ×ÁÔØ ÎÏ×ÙÊ ÁÒÈÉ×"
+msgstr "невозможно переименовать новый архив"
 
-#: locale/programs/locarchive.c:445
+#: locale/programs/locarchive.c:466
 #, c-format
 msgid "cannot open locale archive \"%s\""
-msgstr "ÎÅ×ÏÚÍÏÖÎÏ ÏÔËÒÙÔØ ÁÒÈÉ× ÌÏËÁÌÉ \"%s\""
+msgstr "невозможно открыть архив локали «%s»"
 
-#: locale/programs/locarchive.c:450
+#: locale/programs/locarchive.c:471
 #, c-format
 msgid "cannot stat locale archive \"%s\""
-msgstr "ÎÅ×ÏÚÍÏÖÎÏ ×ÙÐÏÌÎÉÔØ stat ÄÌÑ ÁÒÈÉ×Á ÌÏËÁÌÉ \"%s\""
+msgstr "невозможно выполнить stat для архива локали «%s»"
 
-#: locale/programs/locarchive.c:469
+#: locale/programs/locarchive.c:490
 #, c-format
 msgid "cannot lock locale archive \"%s\""
-msgstr "ÎÅ×ÏÚÍÏÖÎÏ ÚÁÂÌÏËÉÒÏ×ÁÔØ ÁÒÈÉ× ÌÏËÁÌÉ \"%s\""
+msgstr "невозможно заблокировать архив локали «%s»"
 
-#: locale/programs/locarchive.c:492
+#: locale/programs/locarchive.c:513
 #, c-format
 msgid "cannot read archive header"
-msgstr "ÎÅ×ÏÚÍÏÖÎÏ ÓÞÉÔÁÔØ ÚÁÇÏÌÏ×ÏË ÁÒÈÉ×Á"
+msgstr "невозможно считать заголовок архива"
 
-#: locale/programs/locarchive.c:552
+#: locale/programs/locarchive.c:573
 #, c-format
 msgid "locale '%s' already exists"
-msgstr "ÌÏËÁÌØ '%s' ÕÖÅ ÓÕÝÅÓÔ×ÕÅÔ"
+msgstr "локаль «%s» уже существует"
 
-#: locale/programs/locarchive.c:783 locale/programs/locarchive.c:798
-#: locale/programs/locarchive.c:810 locale/programs/locarchive.c:822
-#: 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 "ÎÅ×ÏÚÍÏÖÎÏ ÄÏÂÁ×ÉÔØ Ë ÁÒÈÉ×Õ ÌÏËÁÌÉ"
+msgstr "невозможно добавить к архиву локали"
 
-#: locale/programs/locarchive.c:977
+#: locale/programs/locarchive.c:998
 #, c-format
 msgid "locale alias file `%s' not found"
-msgstr "ÆÁÊÌ ÐÓÅ×ÄÏÎÉÍÏ× ÌÏËÁÌÅÊ `%s' ÎÅ ÎÁÊÄÅÎ"
+msgstr "файл псевдонимов локалей «%s» не найден"
 
-#: locale/programs/locarchive.c:1121
+#: locale/programs/locarchive.c:1142
 #, c-format
 msgid "Adding %s\n"
-msgstr "äÏÂÁ×ÌÅÎÉÅ %s\n"
+msgstr "Добавление %s\n"
 
-#: locale/programs/locarchive.c:1127
+#: locale/programs/locarchive.c:1148
 #, c-format
 msgid "stat of \"%s\" failed: %s: ignored"
-msgstr "ÏÐÅÒÁÃÉÑ stat ÄÌÑ \"%s\" ÎÅÕÓÐÅÛÎÁ: %s: ÉÇÎÏÒÉÒÏ×ÁÎÏ"
+msgstr "операция stat для «%s» неуспешна: %s: игнорировано"
 
-#: locale/programs/locarchive.c:1133
+#: locale/programs/locarchive.c:1154
 #, c-format
 msgid "\"%s\" is no directory; ignored"
-msgstr "\"%s\" ÎÅ Ñ×ÌÑÅÔÓÑ ËÁÔÁÌÏÇÏÍ; ÉÇÎÏÒÉÒÏ×ÁÎÏ"
+msgstr "«%s» не является каталогом; игнорировано"
 
-#: locale/programs/locarchive.c:1140
+#: locale/programs/locarchive.c:1161
 #, c-format
 msgid "cannot open directory \"%s\": %s: ignored"
-msgstr "ÎÅ×ÏÚÍÏÖÎÏ ÏÔËÒÙÔØ ËÁÔÁÌÏÇ \"%s\": %s: ÉÇÎÏÒÉÒÏ×ÁÎÏ"
+msgstr "невозможно открыть каталог «%s»: %s: игнорировано"
 
-#: locale/programs/locarchive.c:1212
+#: locale/programs/locarchive.c:1233
 #, c-format
 msgid "incomplete set of locale files in \"%s\""
-msgstr "ÎÅÐÏÌÎÙÊ ÎÁÂÏÒ ÆÁÊÌÏ× ÌÏËÁÌÉ × \"%s\""
+msgstr "неполный набор файлов локали в «%s»"
 
-#: locale/programs/locarchive.c:1276
+#: locale/programs/locarchive.c:1297
 #, c-format
 msgid "cannot read all files in \"%s\": ignored"
-msgstr "ÎÅ×ÏÚÍÏÖÎÏ ÐÒÏÞÉÔÁÔØ ×ÓÅ ÆÁÊÌÙ × \"%s\": ÉÇÎÏÒÉÒÏ×ÁÎÏ"
+msgstr "невозможно прочитать все файлы в «%s»: игнорировано"
 
-#: locale/programs/locarchive.c:1346
+#: locale/programs/locarchive.c:1367
 #, c-format
 msgid "locale \"%s\" not in archive"
-msgstr "ÌÏËÁÌØ \"%s\" ÏÔÓÕÔÓÔ×ÕÅÔ × ÁÒÈÉ×Å"
+msgstr "локаль «%s» отсутствует в архиве"
 
-#: locale/programs/locfile.c:131
+#: locale/programs/locfile.c:132
 #, c-format
 msgid "argument to `%s' must be a single character"
-msgstr "ÁÒÇÕÍÅÎÔ ÄÌÑ `%s' ÄÏÌÖÅΠÂÙÔØ ÏÄÎÉÍ ÚÎÁËÏÍ"
+msgstr "аргумент для «%s» должен быть одним знаком"
 
-#: locale/programs/locfile.c:251
+#: locale/programs/locfile.c:252
 msgid "syntax error: not inside a locale definition section"
-msgstr "ÓÉÎÔÁËÓÉÞÅÓËÁÑ ÏÛÉÂËÁ: ×ÎÅ ÓÅËÃÉÉ ÏÐÒÅÄÅÌÅÎÉÑ ÌÏËÁÌÉ"
+msgstr "синтаксическая ошибка: вне секции определения локали"
 
-#: locale/programs/locfile.c:625
+#: locale/programs/locfile.c:626
 #, c-format
 msgid "cannot open output file `%s' for category `%s'"
-msgstr "ÎÅ×ÏÚÍÏÖÎÏ ÏÔËÒÙÔØ ×ÙÈÏÄÎÏÊ ÆÁÊÌ `%s' ÄÌÑ ËÁÔÅÇÏÒÉÉ `%s'"
+msgstr "невозможно открыть выходной файл «%s» для категории «%s»"
 
-#: locale/programs/locfile.c:649
+#: locale/programs/locfile.c:650
 #, c-format
 msgid "failure while writing data for category `%s'"
-msgstr "ÏÛÉÂËÁ ÐÒÉ ÚÁÐÉÓÉ ÄÁÎÎÙÈ ÄÌÑ ËÁÔÅÇÏÒÉÉ`%s'"
+msgstr "ошибка при записи данных для категории«%s»"
 
-#: locale/programs/locfile.c:745
+#: locale/programs/locfile.c:746
 #, c-format
 msgid "cannot create output file `%s' for category `%s'"
-msgstr "ÎÅ×ÏÚÍÏÖÎÏ ÓÏÚÄÁÔØ ×ÙÈÏÄÎÏÊ ÆÁÊÌ `%s' ÄÌÑ ËÁÔÅÇÏÒÉÉ `%s'"
+msgstr "невозможно создать выходной файл «%s» для категории «%s»"
 
-#: locale/programs/locfile.c:781
+#: locale/programs/locfile.c:782
 msgid "expect string argument for `copy'"
-msgstr "ÄÌÑ `copy' ÏÖÉÄÁÅÔÓÑ ÁÒÇÕÍÅÎÔ-ÓÔÒÏËÁ"
+msgstr "для «copy» ожидается аргумент-строка"
 
-#: locale/programs/locfile.c:785
+#: locale/programs/locfile.c:786
 msgid "locale name should consist only of portable characters"
-msgstr "ÉÍÑ ÌÏËÁÌÉ ÄÏÌÖÎÏ ÓÏÓÔÏÑÔØ ÔÏÌØËÏ ÉÚ ÐÅÒÅÎÏÓÉÍÙÈ ÚÎÁËÏ×"
+msgstr "имя локали должно состоять только из переносимых знаков"
 
-#: locale/programs/locfile.c:804
+#: locale/programs/locfile.c:805
 msgid "no other keyword shall be specified when `copy' is used"
-msgstr "ÐÒÉ ÉÓÐÏÌØÚÏ×ÁÎÉÉ `copy' ÎÅÌØÚÑ ÚÁÄÁ×ÁÔØ ÄÒÕÇÉÅ ËÌÀÞÅ×ÙÅ ÓÌÏ×Á"
+msgstr "при использовании «copy» нельзя задавать другие ключевые слова"
+
+#: locale/programs/locfile.c:819
+#, c-format
+msgid "`%1$s' definition does not end with `END %1$s'"
+msgstr "определение «%1$s» не заканчивается на «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 "ÓÉÎÔÁËÓÉÞÅÓËÁÑ ÏÛÉÂËÁ × ÏÐÒÅÄÅÌÅÎÉÉ ÏÔÏÂÒÁÖÅÎÉÑ ÒÅÐÅÒÔÕÁÒÁ: %s"
+msgstr "синтаксическая ошибка в определении отображения репертуара: %s"
 
 #: locale/programs/repertoire.c:271
 msgid "no <Uxxxx> or <Uxxxxxxxx> value given"
-msgstr "ÎÅ ÚÁÄÁÎÏ ÚÎÁÞÅÎÉÅ <Uxxxx> ÉÌÉ <Uxxxxxxxx>"
+msgstr "не задано значение <Uxxxx> или <Uxxxxxxxx>"
 
 #: locale/programs/repertoire.c:331
 #, c-format
 msgid "cannot save new repertoire map"
-msgstr "ÎÅ×ÏÚÍÏÖÎÏ ÓÏÈÒÁÎÉÔØ ÎÏ×ÏÅ ÏÔÏÂÒÁÖÅÎÉÅ ÒÅÐÅÒÔÕÁÒÁ"
+msgstr "невозможно сохранить новое отображение репертуара"
 
 #: locale/programs/repertoire.c:342
 #, c-format
 msgid "repertoire map file `%s' not found"
-msgstr "ÆÁÊÌ ÏÔÏÂÒÁÖÅÎÉÑ ÒÅÐÅÒÔÕÁÒÁ `%s' ÎÅ ÎÁÊÄÅÎ"
-
-#: locale/programs/repertoire.c:449
-#, c-format
-msgid "<%s> and <%s> are invalid names for range"
-msgstr "<%s> É <%s> ÎÅ Ñ×ÌÑÀÔÓÑ ÄÏÐÕÓÔÉÍÙÍÉ ÉÍÅÎÁÍÉ ÄÉÁÐÁÚÏÎÁ"
-
-#: locale/programs/repertoire.c:456
-msgid "upper limit in range is not smaller then lower limit"
-msgstr "×ÅÒÈÎÑÑ ÇÒÁÎÉÃÁ ÄÉÁÐÁÚÏÎÁ ÎÅ ÍÅÎØÛÅ ÎÉÖÎÅÊ"
+msgstr "файл отображения репертуара «%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 "õÓÔÁÎÁ×ÌÉ×ÁÅÔ ×ÌÁÄÅÌØÃÁ, ÇÒÕÐÐÕ É ÐÒÁ×Á ÄÏÓÔÕÐÁ ÄÌÑ ÐÏÄÞÉÎÅÎÎÏÇÏ ÐÓÅ×ÄÏÔÅÒÍÉÎÁÌÁ, ÓÏÏÔ×ÅÔÓÔ×ÕÀÝÅÇÏ ÏÓÎÏ×ÎÏÍÕ ÐÓÅ×ÄÏÔÅÒÍÉÎÁÌÕ, ÐÅÒÅÄÁÎÎÏÇÏ ÐÏ ÄÅÓËÒÉÐÔÏÒÕ ÆÁÊÌÁ `%d'.  üÔÏ ×ÓÐÏÍÏÇÁÔÅÌØÎÁÑ ÐÒÏÇÒÁÍÍÁ ÄÌÑ ÆÕÎËÃÉÉ `grantpt'.  ïÎÁ ÎÅ ÐÒÅÄÎÁÚÎÁÞÅÎÁ ÄÌÑ ÎÅÐÏÓÒÅÄÓÔ×ÅÎÎÏÇÏ ÚÁÐÕÓËÁ ÉÚ ËÏÍÁÎÄÎÏÊ ÓÔÒÏËÉ.\n"
+msgstr "Устанавливает владельца, группу и права доступа для подчиненного псевдотерминала, соответствующего основному псевдотерминалу, переданного по дескриптору файла «%d».  Это вспомогательная программа для функции «grantpt».  Она не предназначена для непосредственного запуска из командной строки.\n"
 
 #: login/programs/pt_chown.c:84
 #, c-format
@@ -2776,49 +2768,52 @@ msgid ""
 "\n"
 "%s"
 msgstr ""
-"÷ÌÁÄÅÌÅàÕÓÔÁÎÁ×ÌÅΠנÔÅËÕÝÅÇÏ ÐÏÌØÚÏ×ÁÔÅÌÑ, ÇÒÕÐÐÁ ÕÓÔÁÎÁ×ÌÅÎÁ × `%s', ÐÒÁ×Á ÄÏÓÔÕÐÁ ÕÓÔÁÎÁ×ÌÅÎÙ × `%o'.\n"
+"Владелец устанавлен в текущего пользователя, группа устанавлена в «%s», права доступа устанавлены в «%o».\n"
 "\n"
 "%s"
 
 #: login/programs/pt_chown.c:161
 #, c-format
 msgid "too many arguments"
-msgstr "ÓÌÉÛËÏÍ ÍÎÏÇÏ ÁÒÇÕÍÅÎÔÏ×"
+msgstr "слишком много аргументов"
 
 #: login/programs/pt_chown.c:169
 #, c-format
 msgid "needs to be installed setuid `root'"
-msgstr "ÎÅÏÂÈÏÄÉÍÏ ÕÓÔÁÎÏ×ÉÔØ Ó setuid `root'"
+msgstr "необходимо установить с setuid «root»"
 
-#: malloc/mcheck.c:324
+#: malloc/mcheck.c:330
 msgid "memory is consistent, library is buggy\n"
-msgstr "ÐÁÍÑÔØ × ÈÏÒÏÛÅÍ ÓÏÓÔÏÑÎÉÉ, ÏÛÉÂËÉ × ÂÉÂÌÉÏÔÅËÅ\n"
+msgstr "памÑ\8fÑ\82Ñ\8c Ð² Ñ\85оÑ\80оÑ\88ем Ñ\81оÑ\81Ñ\82оÑ\8fнии, Ð¾Ñ\88ибки Ð² Ð±Ð¸Ð±Ð»Ð¸Ð¾Ñ\82еке\n"
 
-#: malloc/mcheck.c:327
+#: malloc/mcheck.c:333
 msgid "memory clobbered before allocated block\n"
-msgstr "ÐÁÍÑÔØ ÚÁÔÅÒÔÁ ÐÅÒÅÄ ×ÙÄÅÌÅÎÎÙÍ ÂÌÏËÏÍ\n"
+msgstr "памÑ\8fÑ\82Ñ\8c Ð·Ð°Ñ\82еÑ\80Ñ\82а Ð¿ÐµÑ\80ед Ð²Ñ\8bделеннÑ\8bм Ð±Ð»Ð¾ÐºÐ¾Ð¼\n"
 
-#: malloc/mcheck.c:330
+#: malloc/mcheck.c:336
 msgid "memory clobbered past end of allocated block\n"
-msgstr "ÐÁÍÑÔØ ÚÁÔÅÒÔÁ ÐÏÓÌÅ ËÏÎÃÁ ×ÙÄÅÌÅÎÎÏÇÏ ÂÌÏËÁ\n"
+msgstr "памÑ\8fÑ\82Ñ\8c Ð·Ð°Ñ\82еÑ\80Ñ\82а Ð¿Ð¾Ñ\81ле ÐºÐ¾Ð½Ñ\86а Ð²Ñ\8bделенного Ð±Ð»Ð¾ÐºÐ°\n"
 
-#: malloc/mcheck.c:333
+#: malloc/mcheck.c:339
 msgid "block freed twice\n"
-msgstr "ÂÌÏË ÏÓ×ÏÂÏÖÄÅΠÄ×ÁÖÄÙ\n"
+msgstr "блок освобожден дважды\n"
 
-#: malloc/mcheck.c:336
+#: malloc/mcheck.c:342
 msgid "bogus mcheck_status, library is buggy\n"
-msgstr "ÎÅÁÄÅË×ÁÔÎÙÊ mcheck_status, × ÂÉÂÌÉÏÔÅËÅ ÏÛÉÂËÉ\n"
+msgstr "неадекватный mcheck_status, в библиотеке ошибки\n"
 
 #: malloc/memusage.sh:27
-msgid "Try `memusage --help' for more information."
-msgstr "ðÏÐÒÏÂÕÊÔÅ `memusage --help' ÄÌÑ ÐÏÌÕÞÅÎÉÑ ÂÏÌÅÅ ÐÏÄÒÏÂÎÏÇÏ ÏÐÉÓÁÎÉÑ."
+#, fuzzy
+msgid "Try \\`memusage --help' for more information."
+msgstr "Попробуйте «memusage --help» для получения более подробного описания."
 
 #: malloc/memusage.sh:33
-msgid "memusage: option `$1' requires an argument"
-msgstr "memusage: ËÌÀÞ `$1' ÔÒÅÂÕÅÔ ÁÒÇÕÍÅÎÔ"
+#, fuzzy
+msgid "memusage: option \\`$1' requires an argument"
+msgstr "memusage: ключ «$1» требует аргумент"
 
 #: malloc/memusage.sh:39
+#, fuzzy
 msgid ""
 "Usage: memusage [OPTION]... PROGRAM [PROGRAMOPTION]...\n"
 "Profile memory usage of PROGRAM.\n"
@@ -2828,7 +2823,7 @@ msgid ""
 "   -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 though timer\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"
@@ -2848,413 +2843,417 @@ msgid ""
 "For bug reporting instructions, please see:\n"
 "<http://www.gnu.org/software/libc/bugs.html>."
 msgstr ""
-"éÓÐÏÌØÚÏ×ÁÎÉÅ: memusage [ëìàþ]... ðòïçòáííá [ëìàþ-ðòïçòáííù]...\n"
-"ðÒÏÆÉÌÉÒÕÅÔ ÉÓÐÏÌØÚÏ×ÁÎÉÅ ÐÁÍÑÔÉ ðòïçòáííïê.\n"
+"Использование: memusage [КЛЮЧ]... ПРОГРАММА [КЛЮЧ-ПРОГРАММЫ]...\n"
+"Профилирует использование памяти ПРОГРАММОЙ.\n"
 "\n"
-"   -n,--progname=éíñ      éÍÑ ÐÒÏÇÒÁÍÍÎÏÇÏ ÆÁÊÌÁ ÄÌÑ ÐÒÏÆÉÌÉÒÏ×ËÉ\n"
-"   -p,--png=æáêì          óÏÚÄÁÔØ PNG-ÇÒÁÆÉË É ÚÁÐÉÓÁÔØ ÅÇÏ × æáêì\n"
-"   -d,--data=æáêì         óÏÚÄÁÔØ ÂÉÎÁÒÎÙÊ ÆÁÊÌ ÄÁÎÎÙÈ É ÚÁÐÉÓÁÔØ ÅÇÏ æáêì\n"
-"   -u,--unbuffered        îÅ ÂÕÆÅÒÉÒÏ×ÁÔØ ×Ù×ÏÄ\n"
-"   -b,--buffer=þéóìï      óÏÂÒÁÔØ ÚÁÄÁÎÎÏÅ þéóìï ×ÈÏÖÄÅÎÉÊ ÐÅÒÅÄ ÚÁÐÉÓØÀ\n"
-"      --no-timer          îÅ ÓÏÂÉÒÁÔØ ÄÏÐÏÌÎÉÔÅÌØÎÕÀ ÉÎÆÏÒÍÁÃÉÀ ÐÏ ÔÁÊÍÅÒÕ\n"
-"   -m,--mmap              ôÒÁÓÓÉÒÏ×ÁÔØ ÔÁËÖÅ mmap É ÅÅ ÄÒÕÚÅÊ\n"
+"   -n,--progname=ИМЯ      Имя программного файла для профилировки\n"
+"   -p,--png=ФАЙЛ          Создать PNG-график и записать его в ФАЙЛ\n"
+"   -d,--data=ФАЙЛ         Создать бинарный файл данных и записать его ФАЙЛ\n"
+"   -u,--unbuffered        Не буферировать вывод\n"
+"   -b,--buffer=ЧИСЛО      Собрать заданное ЧИСЛО вхождений перед записью\n"
+"      --no-timer          Не собирать дополнительную информацию по таймеру\n"
+"   -m,--mmap              Трассировать также mmap и ее друзей\n"
 "\n"
-"   -?,--help              îÁÐÅÞÁÔÁÔØ ÜÔÕ ÓÐÒÁ×ËÕ É ×ÙÊÔÉ\n"
-"      --usage             ðÏËÁÚÁÔØ ËÒÁÔËÕÀ ÓÐÒÁ×ËÕ Ï ÉÓÐÏÌØÚÏ×ÁÎÉÉ\n"
-"   -V,--version           îÁÐÅÞÁÔÁÔØ ÉÎÆÏÒÍÁÃÉÀ Ï ×ÅÒÓÉÉ É ×ÙÊÔÉ\n"
+"   -?,--help              Напечатать эту справку и выйти\n"
+"      --usage             Показать краткую справку об использовании\n"
+"   -V,--version           Напечатать информацию о версии и выйти\n"
 "\n"
-" óÌÅÄÕÀÝÉÅ ËÌÀÞÉ ÐÒÉÍÅÎÉÍÙ ÔÏÌØËÏ ÐÒÉ ÇÅÎÅÒÉÒÏ×ÁÎÉÉ ÇÒÁÆÉÞÅÓËÏÇÏ ×Ù×ÏÄÁ:\n"
-"   -t,--time-based        óÄÅÌÁÔØ ÌÉÎÅÊÎÙÊ ÐÏ ×ÒÅÍÅÎÉ ÇÒÁÆÉË\n"
-"   -T,--total             îÁÞÅÒÔÉÔØ ÔÁËÖÅ ÉÔÏÇÏ×ÙÊ ÇÒÁÆÉË ÉÓÐÏÌØÚÏ×ÁÎÉÑ ÐÁÍÑÔÉ\n"
-"      --title=óôòïëá      éÓÐÏÌØÚÏ×ÁÔØ óôòïëõ × ËÁÞÅÓÔ×Å ÚÁÇÏÌÏ×ËÁ ÇÒÁÆÉËÁ\n"
-"   -x,--x-size=þéóìï      óÄÅÌÁÔØ ÇÒÁÆÉË ×ÙÓÏÔÏÊ × ÚÁÄÁÎÎÏÅ þéóìï ÐÉËÓÅÌÏ×\n"
-"   -y,--y-size=þéóìï      óÄÅÌÁÔØ ÇÒÁÆÉË ÛÉÒÉÎÏÊ × ÚÁÄÁÎÎÏÅ þéóìï ÐÉËÓÅÌÏ×\n"
+" Следующие ключи применимы только при генерировании графического вывода:\n"
+"   -t,--time-based        Сделать линейный по времени график\n"
+"   -T,--total             Начертить также итоговый график использования памяти\n"
+"      --title=СТРОКА      Использовать СТРОКУ в качестве заголовка графика\n"
+"   -x,--x-size=ЧИСЛО      Сделать график высотой в заданное ЧИСЛО пикселов\n"
+"   -y,--y-size=ЧИСЛО      Сделать график шириной в заданное ЧИСЛО пикселов\n"
 "\n"
 "\n"
-"áÒÇÕÍÅÎÔÙ, ÏÂÑÚÁÔÅÌØÎÙÅ ÄÌÑ ÄÌÉÎÎÙÈ ËÌÀÞÅÊ, ÏÂÑÚÁÔÅÌØÎÙ É ÄÌÑ\n"
-"ÓÏÏÔ×ÅÔÓÔ×ÕÀÝÉÈ ËÏÒÏÔËÉÈ.\n"
+"Аргументы, обязательные для длинных ключей, обязательны и для\n"
+"соответствующих коротких.\n"
 "\n"
-"éÎÓÔÒÕËÃÉÉ ÐÏ ÓÏÏÂÝÅÎÉÀ Ï ÏÛÉÂËÁÈ ÓÍÏÔÒÉÔÅ ÎÁ\n"
+"Инструкции по сообщению об ошибках смотрите на\n"
 "<http://www.gnu.org/software/libc/bugs.html>."
 
-#: malloc/memusage.sh:90
+#: 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 ""
-"óÉÎÔÁËÓÉÓ: memusage [--data=æáêì] [--progname=éíñ] [--png=æáêì] [--unbuffered]\n"
-"            [--buffer=þéóìï] [--no-timer] [--time-based] [--total]\n"
-"            [--title=óôòïëá] [--x-size=þéóìï] [--y-size=þéóìï]\n"
-"            ðòïçòáííá [ëìàþ-ðòïçòáííù]..."
-
-#: malloc/memusage.sh:182
-msgid "memusage: option `${1##*=}' is ambiguous"
-msgstr "memusage: ËÌÀÞ `${1##*=}' ÎÅÏÄÎÏÚÎÁÞÅÎ"
+"Синтаксис: memusage [--data=ФАЙЛ] [--progname=ИМЯ] [--png=ФАЙЛ] [--unbuffered]\n"
+"            [--buffer=ЧИСЛО] [--no-timer] [--time-based] [--total]\n"
+"            [--title=СТРОКА] [--x-size=ЧИСЛО] [--y-size=ЧИСЛО]\n"
+"            ПРОГРАММА [КЛЮЧ-ПРОГРАММЫ]..."
 
 #: malloc/memusage.sh:191
-msgid "memusage: unrecognized option `$1'"
-msgstr "memusage: ÎÅÒÁÓÐÏÚÎÁÎÎÙÊ ËÌÀÞ `$1'"
+#, fuzzy
+msgid "memusage: option \\`${1##*=}' is ambiguous"
+msgstr "memusage: ключ «${1##*=}» неоднозначен"
+
+#: malloc/memusage.sh:200
+#, fuzzy
+msgid "memusage: unrecognized option \\`$1'"
+msgstr "memusage: нераспознанный ключ «$1»"
 
-#: malloc/memusage.sh:204
+#: malloc/memusage.sh:213
 msgid "No program name given"
-msgstr "îÅ ÚÁÄÁÎÏ ÉÍÑ ÐÒÏÇÒÁÍÍÙ"
+msgstr "Не задано имя программы"
 
-#: malloc/memusagestat.c:53
+#: malloc/memusagestat.c:54
 msgid "Name output file"
-msgstr "éÍÑ ×ÙÈÏÄÎÏÇÏ ÆÁÊÌÁ"
+msgstr "Имя выходного файла"
 
-#: malloc/memusagestat.c:54
+#: malloc/memusagestat.c:55
 msgid "Title string used in output graphic"
-msgstr "úÁÇÏÌÏ×ÏË ÄÌÑ ×ÙÈÏÄÎÏÇÏ ÇÒÁÆÉËÁ"
+msgstr "Заголовок для выходного графика"
 
-#: malloc/memusagestat.c:55
+#: malloc/memusagestat.c:56
 msgid "Generate output linear to time (default is linear to number of function calls)"
-msgstr "çÅÎÅÒÉÒÏ×ÁÔØ ×Ù×ÏÄ ÌÉÎÅÊÎÏ ÏÔÎÏÓÉÔÅÌØÎÏ ×ÒÅÍÅÎÉ (ÐÏ ÕÍÏÌÞÁÎÉÀ ÌÉÎÅÊÎÏ ÏÔÎÏÓÉÔÅÌØÎÏ ÞÉÓÌÕ ×ÙÚÏ×Ï× ÆÕÎËÃÉÊ)"
-
-#: malloc/memusagestat.c:57
-msgid "Also draw graph for total memory consumption"
-msgstr "ðÏÓÔÒÏÉÔØ ÔÁËÖÅ ÇÒÁÆÉË ÉÔÏÇÏ×ÏÇÏ ÐÏÔÒÅÂÌÅÎÉÑ ÐÁÍÑÔÉ"
+msgstr "Генерировать вывод линейно относительно времени (по умолчанию линейно относительно числу вызовов функций)"
 
 #: malloc/memusagestat.c:58
-msgid "make output graphic VALUE pixel wide"
-msgstr "ÒÉÓÏ×ÁÔØ ÇÒÁÆÉË ÛÉÒÉÎÏÊ × VALUE ÐÉËÓÅÌÏ×"
+msgid "Also draw graph for total memory consumption"
+msgstr "Построить также график итогового потребления памяти"
 
 #: malloc/memusagestat.c:59
-msgid "make output graphic VALUE pixel high"
-msgstr "ÒÉÓÏ×ÁÔØ ÇÒÁÆÉË ×ÙÓÏÔÏÊ × VALUE ÐÉËÓÅÌÏ×"
+#, fuzzy
+msgid "Make output graphic VALUE pixels wide"
+msgstr "Рисовать график шириной в VALUE пикселов"
+
+#: malloc/memusagestat.c:60
+#, fuzzy
+msgid "Make output graphic VALUE pixels high"
+msgstr "Рисовать график высотой в VALUE пикселов"
 
-#: malloc/memusagestat.c:64
+#: malloc/memusagestat.c:65
 msgid "Generate graphic from memory profiling data"
-msgstr "óÇÅÎÅÒÉÒÏ×ÁÔØ ÇÒÁÆÉË ÐÏ ÄÁÎÎÙÍ ÐÒÏÆÉÌÉÒÏ×ÁÎÉÑ ÐÁÍÑÔÉ"
+msgstr "Сгенерировать график по данным профилирования памяти"
 
-#: malloc/memusagestat.c:67
+#: malloc/memusagestat.c:68
 msgid "DATAFILE [OUTFILE]"
-msgstr "æáêì-äáîîùè [÷ùèïäîïê-æáêì]"
+msgstr "ФАЙЛ-ДАННЫХ [ВЫХОДНОЙ-ФАЙЛ]"
 
-#: misc/error.c:118 timezone/zic.c:396
+#: misc/error.c:118 timezone/zic.c:417
 msgid "Unknown system error"
-msgstr "îÅÉÚ×ÅÓÔÎÁÑ ÓÉÓÔÅÍÎÁÑ ÏÛÉÂËÁ"
+msgstr "Неизвестная системная ошибка"
 
 #: nis/nis_callback.c:189
 msgid "unable to free arguments"
-msgstr "ÎÅ ÕÄÁÌÏÓØ ×ÙÓ×ÏÂÏÄÉÔØ ÚÁÎÑÔÕÀ ÁÒÇÕÍÅÎÔÁÍÉ ÐÁÍÑÔØ"
+msgstr "не удалось высвободить занятую аргументами память"
 
 #: 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 "ðÏÂÅÄÁ"
+msgstr "Победа"
 
 #: nis/nis_error.h:2
 msgid "Probable success"
-msgstr "÷ÅÒÏÑÔÎÙÊ ÕÓÐÅÈ"
+msgstr "Вероятный успех"
 
 #: nis/nis_error.h:3
 msgid "Not found"
-msgstr "îÅ ÎÁÊÄÅÎÏ"
+msgstr "Не найдено"
 
 #: nis/nis_error.h:4
 msgid "Probably not found"
-msgstr "÷ÅÒÏÑÔÎÏ, ÎÅ ÎÁÊÄÅÎÏ"
+msgstr "Вероятно, не найдено"
 
 #: nis/nis_error.h:5
 msgid "Cache expired"
-msgstr "÷ÒÅÍÑ ÖÉÚÎÉ ËÜÛÁ ÉÓÔÅËÌÏ "
+msgstr "Время жизни кэша истекло "
 
 #: nis/nis_error.h:6
 msgid "NIS+ servers unreachable"
-msgstr "óÌÕÖÂÙ NIS+ ÎÅÄÏÓÔÉÖÉÍÙ"
+msgstr "Службы NIS+ недостижимы"
 
 #: nis/nis_error.h:7
 msgid "Unknown object"
-msgstr "îÅÉÚ×ÅÓÔÎÙÊ ÏÂßÅËÔ"
+msgstr "Неизвестный объект"
 
 #: nis/nis_error.h:8
 msgid "Server busy, try again"
-msgstr "óÅÒ×ÅÒ ÚÁÎÑÔ, ÐÏÐÒÏÂÕÊÔÅ ÅÝÅ ÒÁÚ"
+msgstr "Сервер занят, попробуйте еще раз"
 
 #: nis/nis_error.h:9
 msgid "Generic system error"
-msgstr "ïÂÝÁÑ ÏÛÉÂËÁ ÓÉÓÔÅÍÙ"
+msgstr "Общая ошибка системы"
 
 #: nis/nis_error.h:10
 msgid "First/next chain broken"
-msgstr "òÁÚÏÒ×ÁÎÁ ÃÅÐÏÞËÁ ÐÅÒ×ÙÊ/ÓÌÅÄÕÀÝÉÊ"
+msgstr "Разорвана цепочка первый/следующий"
 
 #. 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 "ïÔËÁÚÁÎÏ × ÄÏÓÔÕÐÅ"
+msgstr "Отказано в доступе"
 
 #: nis/nis_error.h:12
 msgid "Not owner"
-msgstr "îÅ ×ÌÁÄÅÌÅÃ"
+msgstr "Не владелец"
 
 #: nis/nis_error.h:13
 msgid "Name not served by this server"
-msgstr "éÍÑ ÎÅ ÏÂÓÌÕÖÉ×ÁÅÔÓÑ ÄÁÎÎÙÍ ÓÅÒ×ÅÒÏÍ"
+msgstr "Имя не обслуживается данным сервером"
 
 #: nis/nis_error.h:14
 msgid "Server out of memory"
-msgstr "ðÁÍÑÔØ ÎÁ ÓÅÒ×ÅÒÅ ÉÓÞÅÒÐÁÎÁ"
+msgstr "Память на сервере исчерпана"
 
 #: nis/nis_error.h:15
 msgid "Object with same name exists"
-msgstr "óÕÝÅÓÔ×ÕÅÔ ÏÂßÅËÔ Ó ÔÁËÉÍ ÖÅ ÉÍÅÎÅÍ"
+msgstr "Существует объект с таким же именем"
 
 #: nis/nis_error.h:16
 msgid "Not master server for this domain"
-msgstr "üÔÏ ÎÅ ÍÁÓÔÅÒ-ÓÅÒ×ÅÒ ÄÌÑ ÄÁÎÎÏÇÏ ÄÏÍÅÎÁ"
+msgstr "Это не мастер-сервер для данного домена"
 
 #: nis/nis_error.h:17
 msgid "Invalid object for operation"
-msgstr "îÅÄÏÐÕÓÔÉÍÙÊ ÄÌÑ ÄÁÎÎÏÊ ÏÐÅÒÁÃÉÉ ÏÂßÅËÔ"
+msgstr "Недопустимый для данной операции объект"
 
 #: nis/nis_error.h:18
 msgid "Malformed name, or illegal name"
-msgstr "îÅÐÒÁ×ÉÌØÎÏ ÕËÁÚÁÎÎÏÅ ÉÌÉ ÎÅÄÏÐÕÓÔÉÍÏÅ ÉÍÑ"
+msgstr "Неправильно указанное или недопустимое имя"
 
 #: nis/nis_error.h:19
 msgid "Unable to create callback"
-msgstr ""
+msgstr "Не удалось создать обратный вызов"
 
 #: nis/nis_error.h:20
 msgid "Results sent to callback proc"
-msgstr ""
+msgstr "Результат отправлен процедуре обратного вызова"
 
 #: nis/nis_error.h:21
 msgid "Not found, no such name"
-msgstr "îÅ ÎÁÊÄÅÎÏ, ÎÅÔ ÔÁËÏÇÏ ÉÍÅÎÉ"
+msgstr "Не найдено, нет такого имени"
 
 #: nis/nis_error.h:22
 msgid "Name/entry isn't unique"
-msgstr "éÍÑ/ÚÁÐÉÓØ ÎÅ ÕÎÉËÁÌØÎÏ"
+msgstr "Имя/запись не уникально"
 
 #: nis/nis_error.h:23
 msgid "Modification failed"
-msgstr "íÏÄÉÆÉËÁÃÉÑ ÎÅ ÕÄÁÌÁÓØ"
+msgstr "Модификация не удалась"
 
 #: nis/nis_error.h:24
 msgid "Database for table does not exist"
-msgstr "âÁÚÁ ÄÁÎÎÙÈ ÄÌÑ ÔÁÂÌÉÃÙ ÎÅ ÓÕÝÅÓÔ×ÕÅÔ"
+msgstr "База данных для таблицы не существует"
 
 #: nis/nis_error.h:25
 msgid "Entry/table type mismatch"
-msgstr "îÅÓÏÏÔ×ÅÔÓÔ×ÉÅ ÔÉÐÏ× ÚÁÐÉÓÉ/ÔÁÂÌÉÃÙ"
+msgstr "Несоответствие типов записи/таблицы"
 
 #: nis/nis_error.h:26
 msgid "Link points to illegal name"
-msgstr "óÓÙÌËÁ ÕËÁÚÙ×ÁÅÔ ÎÁ ÎÅÄÏÐÕÓÔÉÍÏÅ ÉÍÑ"
+msgstr "Ссылка указывает на недопустимое имя"
 
 #: nis/nis_error.h:27
 msgid "Partial success"
-msgstr "þÁÓÔÉÞÎÙÊ ÕÓÐÅÈ"
+msgstr "Частичный успех"
 
 #: nis/nis_error.h:28
 msgid "Too many attributes"
-msgstr "óÌÉÛËÏÍ ÍÎÏÇÏ ÁÔÒÉÂÕÔÏ×"
+msgstr "Слишком много атрибутов"
 
 #: nis/nis_error.h:29
 msgid "Error in RPC subsystem"
-msgstr "ïÛÉÂËÁ × ÐÏÄÓÉÓÔÅÍÅ RPC"
+msgstr "Ошибка в подсистеме RPC"
 
 #: nis/nis_error.h:30
 msgid "Missing or malformed attribute"
-msgstr "ðÒÏÐÕÝÅÎÎÙÊ ÉÌÉ ÎÅÐÒÁ×ÉÌØÎÏ ÕËÁÚÁÎÎÙÊ ÁÔÒÉÂÕÔ"
+msgstr "Пропущенный или неправильно указанный атрибут"
 
 #: nis/nis_error.h:31
 msgid "Named object is not searchable"
-msgstr "éÍÅÎÏ×ÁÎÎÙÊ ÏÂßÅËÔ ÎÅ ÐÏÄÄÅÒÖÉ×ÁÅÔ ÐÏÉÓË"
+msgstr "Именованный объект не поддерживает поиск"
 
 #: nis/nis_error.h:32
 msgid "Error while talking to callback proc"
-msgstr ""
+msgstr "Ошибка вызова процедуры обратного вызова"
 
 #: nis/nis_error.h:33
 msgid "Non NIS+ namespace encountered"
-msgstr "ïÂÎÁÒÕÖÅÎÏ ÎÅ-NIS+ ÐÒÏÓÔÒÁÎÓÔ×Ï ÉÍÅÎ"
+msgstr "Обнаружено не-NIS+ пространство имен"
 
 #: nis/nis_error.h:34
 msgid "Illegal object type for operation"
-msgstr "îÅ ÄÏÐÕÓÔÉÍÙÊ ÄÌÑ ÏÐÅÒÁÃÉÉ ÔÉРÏÂßÅËÔÁ"
+msgstr "Не допустимый для операции тип объекта"
 
 #: nis/nis_error.h:35
 msgid "Passed object is not the same object on server"
-msgstr "ðÅÒÅÄÁÎÎÙÊ ÏÂßÅËÔ ÎÅ ÔÏÇÏ ÖÅ ÔÉÐÁ, ÞÔÏ ÏÂßÅËÔ ÎÁ ÓÅÒ×ÅÒÅ"
+msgstr "Переданный объект не того же типа, что объект на сервере"
 
 #: nis/nis_error.h:36
 msgid "Modify operation failed"
-msgstr "ïÐÅÒÁÃÉÑ ÍÏÄÉÆÉËÁÃÉÉ ÎÅÕÓÐÅÛÎÁ"
+msgstr "Операция модификации неуспешна"
 
 #: nis/nis_error.h:37
 msgid "Query illegal for named table"
-msgstr "îÅÄÏÐÕÓÔÉÍÙÊ ÚÁÐÒÏÓ ÄÌÑ ÉÍÅÎÏ×ÁÎÎÏÊ ÔÁÂÌÉÃÙ"
+msgstr "Недопустимый запрос для именованной таблицы"
 
 #: nis/nis_error.h:38
 msgid "Attempt to remove a non-empty table"
-msgstr "ðÏÐÙÔËÁ ÕÄÁÌÉÔØ ÎÅÐÕÓÔÕÀ ÔÁÂÌÉÃÕ"
+msgstr "Попытка удалить непустую таблицу"
 
 #: nis/nis_error.h:39
 msgid "Error in accessing NIS+ cold start file.  Is NIS+ installed?"
-msgstr "ïÛÉÂËÁ ÏÂÒÁÝÅÎÉÑ Ë ÆÁÊÌÕ ÈÏÌÏÄÎÏÇÏ ÚÁÐÕÓËÁ NIS+.  õÓÔÁÎÏ×ÌÅΠÌÉ NIS+?"
+msgstr "Ошибка обращения к файлу холодного запуска NIS+.  Установлен ли NIS+?"
 
 #: nis/nis_error.h:40
 msgid "Full resync required for directory"
-msgstr "äÌÑ ËÁÔÁÌÏÇÁ ÔÒÅÂÕÅÔÓÑ ÐÏÌÎÁÑ ÒÅÓÉÎÈÒÏÎÉÚÁÃÉÑ"
+msgstr "Для каталога требуется полная ресинхронизация"
 
 #: nis/nis_error.h:41
 msgid "NIS+ operation failed"
-msgstr "ïÐÅÒÁÃÉÑ NIS+ ÎÅÕÓÐÅÛÎÁ"
+msgstr "Операция NIS+ неуспешна"
 
 #: nis/nis_error.h:42
 msgid "NIS+ service is unavailable or not installed"
-msgstr "óÌÕÖÂÁ NIS+ ÎÅÄÏÓÔÕÐÎÁ ÉÌÉ ÎÅ ÕÓÔÁÎÏ×ÌÅÎÁ"
+msgstr "Служба NIS+ недоступна или не установлена"
 
 #: nis/nis_error.h:43
 msgid "Yes, 42 is the meaning of life"
-msgstr "äÁ, 42 -- ÜÔÏ ÓÍÙÓÌ ÖÉÚÎÉ"
+msgstr "Да, 42 -- это смысл жизни"
 
 #: nis/nis_error.h:44
 msgid "Unable to authenticate NIS+ server"
-msgstr "îÅ ÕÄÁÌÏÓØ ÁÕÔÅÎÆÉÃÉÒÏ×ÁÔØ ÓÅÒ×ÅÒ NIS+"
+msgstr "Не удалось аутенфицировать сервер NIS+"
 
 #: nis/nis_error.h:45
 msgid "Unable to authenticate NIS+ client"
-msgstr "îÅ ÕÄÁÌÏÓØ ÁÕÔÅÎÆÉÃÉÒÏ×ÁÔØ ËÌÉÅÎÔ NIS+"
+msgstr "Не удалось аутенфицировать клиент NIS+"
 
 #: nis/nis_error.h:46
 msgid "No file space on server"
-msgstr "îÁ ÓÅÒ×ÅÒÅ ÎÅÔ ÄÉÓËÏ×ÏÇÏ ÐÒÏÓÔÒÁÎÓÔ×Á"
+msgstr "На сервере нет дискового пространства"
 
 #: nis/nis_error.h:47
 msgid "Unable to create process on server"
-msgstr "îÅ ÕÄÁÌÏÓØ ÓÏÚÄÁÔØ ÐÒÏÃÅÓÓ ÎÁ ÓÅÒ×ÅÒÅ"
+msgstr "Не удалось создать процесс на сервере"
 
 #: nis/nis_error.h:48
 msgid "Master server busy, full dump rescheduled."
-msgstr "íÁÓÔÅÒ-ÓÅÒ×ÅÒ ÚÁÎÑÔ, ÚÁÐÌÁÎÉÒÏ×ÁΠÐÏÌÎÙÊ ÄÁÍÐ."
+msgstr "Мастер-сервер занят, запланирован полный дамп."
 
 #: nis/nis_local_names.c:122
 #, c-format
 msgid "LOCAL entry for UID %d in directory %s not unique\n"
-msgstr "úÁÐÉÓØ LOCAL ÄÌÑ UID %d × ËÁÔÁÌÏÇÅ %s ÎÅ ÕÎÉËÁÌØÎÁ\n"
+msgstr "Запись LOCAL для UID %d в каталоге %s не уникальна\n"
 
 #: nis/nis_print.c:51
 msgid "UNKNOWN"
-msgstr "îåéú÷åóôîï"
+msgstr "НЕИЗВЕСТНО"
 
 #: nis/nis_print.c:109
 msgid "BOGUS OBJECT\n"
-msgstr "îåáäåë÷áôîùê ïâÿåëô\n"
+msgstr "НЕАДЕКВАТНЫЙ ОБЪЕКТ\n"
 
 #: nis/nis_print.c:112
 msgid "NO OBJECT\n"
-msgstr "îåô ïâÿåëôá\n"
+msgstr "НЕТ ОБЪЕКТА\n"
 
 #: nis/nis_print.c:115
 msgid "DIRECTORY\n"
-msgstr "ëáôáìïç\n"
+msgstr "КАТАЛОГ\n"
 
 #: nis/nis_print.c:118
 msgid "GROUP\n"
-msgstr "çòõððá\n"
+msgstr "ГРУППА\n"
 
 #: nis/nis_print.c:121
 msgid "TABLE\n"
-msgstr "ôáâìéãá\n"
+msgstr "ТАБЛИЦА\n"
 
 #: nis/nis_print.c:124
 msgid "ENTRY\n"
-msgstr "úáðéóø\n"
+msgstr "ЗАПИСЬ\n"
 
 #: nis/nis_print.c:127
 msgid "LINK\n"
-msgstr "óóùìëá\n"
+msgstr "ССЫЛКА\n"
 
 #: nis/nis_print.c:130
 msgid "PRIVATE\n"
-msgstr "ðòé÷áôîïå\n"
+msgstr "ПРИВАТНОЕ\n"
 
 #: nis/nis_print.c:133
 msgid "(Unknown object)\n"
-msgstr "(îÅÉÚ×ÅÓÔÎÙÊ ÏÂßÅËÔ)\n"
+msgstr "(Неизвестный объект)\n"
 
 #: nis/nis_print.c:167
 #, c-format
 msgid "Name : `%s'\n"
-msgstr "éÍÑ : `%s'\n"
+msgstr "Имя : «%s»\n"
 
 #: nis/nis_print.c:168
 #, c-format
 msgid "Type : %s\n"
-msgstr "ôÉР: %s\n"
+msgstr "Тип : %s\n"
 
 #: nis/nis_print.c:173
 msgid "Master Server :\n"
-msgstr "íÁÓÔÅÒ-ÓÅÒ×ÅÒ :\n"
+msgstr "Мастер-сервер :\n"
 
 #: nis/nis_print.c:175
 msgid "Replicate :\n"
-msgstr "òÅÐÌÉËÁ :\n"
+msgstr "Реплика :\n"
 
 #: nis/nis_print.c:176
 #, c-format
 msgid "\tName       : %s\n"
-msgstr "\téÍÑ       : %s\n"
+msgstr "\tИмя       : %s\n"
 
 #: nis/nis_print.c:177
 msgid "\tPublic Key : "
-msgstr "\tðÕÂÌÉÞÎÙÊ ËÌÀÞ : "
+msgstr "\tПубличный ключ : "
 
 #: nis/nis_print.c:181
 msgid "None.\n"
-msgstr "îÅÔ.\n"
+msgstr "Нет.\n"
 
 #: nis/nis_print.c:184
 #, c-format
 msgid "Diffie-Hellmann (%d bits)\n"
-msgstr "äÉÆÆÉ-èÅÌÍÁΠ(%d ÂÉÔ)\n"
+msgstr "Диффи-Хелман (%d бит)\n"
 
 #: nis/nis_print.c:189
 #, c-format
 msgid "RSA (%d bits)\n"
-msgstr "RSA (%d ÂÉÔ)\n"
+msgstr "RSA (%d бит)\n"
 
 #: nis/nis_print.c:192
 msgid "Kerberos.\n"
-msgstr "ëÅÒÂÅÒÏÓ.\n"
+msgstr "Керберос.\n"
 
 #: nis/nis_print.c:195
 #, c-format
 msgid "Unknown (type = %d, bits = %d)\n"
-msgstr "îÅÉÚ×ÅÓÔÎÏ (ÔÉР= %d, ÂÉÔÙ = %d)\n"
+msgstr "Неизвестно (тип = %d, биты = %d)\n"
 
 #: nis/nis_print.c:206
 #, c-format
 msgid "\tUniversal addresses (%u)\n"
-msgstr "\tõÎÉ×ÅÒÓÁÌØÎÙÅ ÁÄÒÅÓÁ (%u)\n"
+msgstr "\tУниверсальные адреса (%u)\n"
 
 #: nis/nis_print.c:228
 msgid "Time to live : "
-msgstr "÷ÒÅÍÑ ÖÉÚÎÉ : "
+msgstr "Время жизни : "
 
 #: nis/nis_print.c:230
 msgid "Default Access rights :\n"
-msgstr "ðÒÁ×Á ÄÏÓÔÕÐÁ ÐÏ ÕÍÏÌÞÁÎÉÀ :\n"
+msgstr "Права доступа по умолчанию :\n"
 
 #: nis/nis_print.c:239
 #, c-format
 msgid "\tType         : %s\n"
-msgstr "\tôÉР        : %s\n"
+msgstr "\tТип         : %s\n"
 
 #: nis/nis_print.c:240
 msgid "\tAccess rights: "
-msgstr "\tðÒÁ×Á ÄÏÓÔÕÐÁ: "
+msgstr "\tПрава доступа: "
 
 #: nis/nis_print.c:254
 msgid "Group Flags :"
-msgstr "æÌÁÇÉ ÇÒÕÐÐÙ :"
+msgstr "Флаги группы :"
 
 #: nis/nis_print.c:257
 msgid ""
@@ -3262,96 +3261,96 @@ msgid ""
 "Group Members :\n"
 msgstr ""
 "\n"
-"þÌÅÎÙ ÇÒÕÐÐÙ :\n"
+"Члены группы :\n"
 
 #: nis/nis_print.c:269
 #, c-format
 msgid "Table Type          : %s\n"
-msgstr "ôÉРÔÁÂÌÉÃÙ          : %s\n"
+msgstr "Тип таблицы          : %s\n"
 
 #: nis/nis_print.c:270
 #, c-format
 msgid "Number of Columns   : %d\n"
-msgstr "þÉÓÌÏ ÓÔÏÌÂÃÏ×   : %d\n"
+msgstr "Число столбцов   : %d\n"
 
 #: nis/nis_print.c:271
 #, c-format
 msgid "Character Separator : %c\n"
-msgstr "úÎÁË-ÒÁÚÄÅÌÉÔÅÌØ : %c\n"
+msgstr "Знак-разделитель : %c\n"
 
 #: nis/nis_print.c:272
 #, c-format
 msgid "Search Path         : %s\n"
-msgstr "ðÕÔØ ÐÏÉÓËÁ         : %s\n"
+msgstr "Путь поиска         : %s\n"
 
 #: nis/nis_print.c:273
 msgid "Columns             :\n"
-msgstr "óÔÏÌÂÃÙ             :\n"
+msgstr "Столбцы             :\n"
 
 #: nis/nis_print.c:276
 #, c-format
 msgid "\t[%d]\tName          : %s\n"
-msgstr "\t[%d]\téÍÑ          : %s\n"
+msgstr "\t[%d]\tИмя          : %s\n"
 
 #: nis/nis_print.c:278
 msgid "\t\tAttributes    : "
-msgstr "\t\táÔÒÉÂÕÔÙ    : "
+msgstr "\t\tАтрибуты    : "
 
 #: nis/nis_print.c:280
 msgid "\t\tAccess Rights : "
-msgstr "\t\tðÒÁ×Á ÄÏÓÔÕÐÁ : "
+msgstr "\t\tПрава доступа : "
 
 #: nis/nis_print.c:290
 msgid "Linked Object Type : "
-msgstr "ôÉРÏÂßÅËÔÁ ÐÏ ÓÓÙÌËÅ : "
+msgstr "Тип объекта по ссылке : "
 
 #: nis/nis_print.c:292
 #, c-format
 msgid "Linked to : %s\n"
-msgstr "óÓÙÌËÁ ÎÁ : %s\n"
+msgstr "Ссылка на : %s\n"
 
 #: nis/nis_print.c:302
 #, c-format
 msgid "\tEntry data of type %s\n"
-msgstr "\täÁÎÎÙÅ ÚÁÐÉÓÉ ÔÉÐÁ %s\n"
+msgstr "\tДанные записи типа %s\n"
 
 #: nis/nis_print.c:305
 #, c-format
 msgid "\t[%u] - [%u bytes] "
-msgstr "\t[%u] - [%u ÂÁÊÔ] "
+msgstr "\t[%u] - [%u байт] "
 
 #: nis/nis_print.c:308
 msgid "Encrypted data\n"
-msgstr "úÁÛÉÆÒÏ×ÁÎÎÙÅ ÄÁÎÎÙÅ\n"
+msgstr "Зашифрованные данные\n"
 
 #: nis/nis_print.c:310
 msgid "Binary data\n"
-msgstr "âÉÎÁÒÎÙÅ ÄÁÎÎÙÅ\n"
+msgstr "Бинарные данные\n"
 
 #: nis/nis_print.c:326
 #, c-format
 msgid "Object Name   : %s\n"
-msgstr "éÍÑ ÏÂßÅËÔÁ   : %s\n"
+msgstr "Имя объекта   : %s\n"
 
 #: nis/nis_print.c:327
 #, c-format
 msgid "Directory     : %s\n"
-msgstr "ëÁÔÁÌÏÇ     : %s\n"
+msgstr "Каталог     : %s\n"
 
 #: nis/nis_print.c:328
 #, c-format
 msgid "Owner         : %s\n"
-msgstr "÷ÌÁÄÅÌÅà        : %s\n"
+msgstr "Владелец         : %s\n"
 
 #: nis/nis_print.c:329
 #, c-format
 msgid "Group         : %s\n"
-msgstr "çÒÕÐÐÁ         : %s\n"
+msgstr "Группа         : %s\n"
 
-# ??? ÚÄÅÓØ, ÎÉÖÅ É ×ÙÛÅ -- ÒÁÓÓÔÁ×ÉÔØ ÐÒÏÂÅÌÙ ËÁË ÎÁÄÏ
+# ??? здесь, ниже и выше -- расставить пробелы как надо
 #: nis/nis_print.c:330
 msgid "Access Rights : "
-msgstr "ðÒÁ×Á ÄÏÓÔÕÐÁ : "
+msgstr "Права доступа : "
 
 #: nis/nis_print.c:332
 #, c-format
@@ -3360,102 +3359,106 @@ msgid ""
 "Time to Live  : "
 msgstr ""
 "\n"
-"÷ÒÅÍÑ ÖÉÚÎÉ  : "
+"Время жизни  : "
 
 #: nis/nis_print.c:335
 #, c-format
 msgid "Creation Time : %s"
-msgstr "÷ÒÅÍÑ ÓÏÚÄÁÎÉÑ : %s"
+msgstr "Время создания : %s"
 
 #: nis/nis_print.c:337
 #, c-format
 msgid "Mod. Time     : %s"
-msgstr "÷ÒÅÍÑ ÍÏÄÉÆÉËÁÃÉÉ     : %s"
+msgstr "Время модификации     : %s"
 
 #: nis/nis_print.c:338
 msgid "Object Type   : "
-msgstr "ôÉРÏÂßÅËÔÁ   : "
+msgstr "Тип объекта   : "
 
 #: nis/nis_print.c:358
 #, c-format
 msgid "    Data Length = %u\n"
-msgstr "    äÌÉÎÁ ÄÁÎÎÙÈ = %u\n"
+msgstr "    Длина данных = %u\n"
 
 #: nis/nis_print.c:372
 #, c-format
 msgid "Status            : %s\n"
-msgstr "óÔÁÔÕÓ            : %s\n"
+msgstr "Статус            : %s\n"
 
 #: nis/nis_print.c:373
 #, c-format
 msgid "Number of objects : %u\n"
-msgstr "þÉÓÌÏ ÏÂßÅËÔÏ× : %u\n"
+msgstr "Число объектов : %u\n"
 
 #: nis/nis_print.c:377
 #, c-format
 msgid "Object #%d:\n"
-msgstr "ïÂßÅËÔ #%d:\n"
+msgstr "Объект #%d:\n"
 
 #: nis/nis_print_group_entry.c:117
 #, c-format
 msgid "Group entry for \"%s.%s\" group:\n"
-msgstr "úÁÐÉÓØ ÇÒÕÐÐÙ ÄÌÑ ÇÒÕÐÐÙ \"%s.%s\":\n"
+msgstr "Запись группы для группы «%s.%s»:\n"
 
 #: nis/nis_print_group_entry.c:125
 msgid "    Explicit members:\n"
-msgstr "    ñ×ÎÙÅ ÞÌÅÎÙ:\n"
+msgstr "    Явные члены:\n"
 
 #: nis/nis_print_group_entry.c:130
 msgid "    No explicit members\n"
-msgstr "    îÅÔ Ñ×ÎÙÈ ÞÌÅÎÏ×\n"
+msgstr "    Нет явных членов\n"
 
 #: nis/nis_print_group_entry.c:133
 msgid "    Implicit members:\n"
-msgstr "    îÅÑ×ÎÙÅ ÞÌÅÎÙ:\n"
+msgstr "    Неявные члены:\n"
 
 #: nis/nis_print_group_entry.c:138
 msgid "    No implicit members\n"
-msgstr "    îÅÔ ÎÅÑ×ÎÙÈ ÞÌÅÎÏ×\n"
+msgstr "    Нет неявных членов\n"
 
 #: nis/nis_print_group_entry.c:141
 msgid "    Recursive members:\n"
-msgstr "    òÅËÕÒÓÉ×ÎÙÅ ÞÌÅÎÙ:\n"
+msgstr "    Рекурсивные члены:\n"
 
 #: nis/nis_print_group_entry.c:146
 msgid "    No recursive members\n"
-msgstr "    îÅÔ ÒÅËÕÒÓÉ×ÎÙÈ ÞÌÅÎÏ×\n"
+msgstr "    Нет рекурсивных членов\n"
 
-#: nis/nis_print_group_entry.c:149 nis/nis_print_group_entry.c:165
+#: nis/nis_print_group_entry.c:149
 msgid "    Explicit nonmembers:\n"
-msgstr "    ñ×ÎÙÅ ÎÅ-ÞÌÅÎÙ:\n"
+msgstr "    Явные не-члены:\n"
 
 #: nis/nis_print_group_entry.c:154
 msgid "    No explicit nonmembers\n"
-msgstr "    îÅÔ Ñ×ÎÙÈ ÎÅ-ÞÌÅÎÏ×\n"
+msgstr "    Нет явных не-членов\n"
 
 #: nis/nis_print_group_entry.c:157
 msgid "    Implicit nonmembers:\n"
-msgstr "    îÅÑ×ÎÙÅ ÎÅ-ÞÌÅÎÙ:\n"
+msgstr "    Неявные не-члены:\n"
 
 #: nis/nis_print_group_entry.c:162
 msgid "    No implicit nonmembers\n"
-msgstr "    îÅÔ ÎÅÑ×ÎÙÈ ÎÅ-ÞÌÅÎÏ×\n"
+msgstr "    Нет неявных не-членов\n"
+
+#: nis/nis_print_group_entry.c:165
+msgid "    Recursive nonmembers:\n"
+msgstr "    Рекурсивные не-члены:\n"
 
 #: nis/nis_print_group_entry.c:170
 msgid "    No recursive nonmembers\n"
-msgstr "    îÅÔ ÒÅËÕÒÓÉ×ÎÙÈ ÎÅ-ÞÌÅÎÏ×\n"
+msgstr "    Нет рекурсивных не-членов\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 "úÁÐÉÓØ DES ÄÌÑ netname %s ÎÅ ÕÎÉËÁÌØÎÁ\n"
+msgstr "Запись DES для netname %s не уникальна\n"
 
 #: nis/nss_nisplus/nisplus-publickey.c:220
-#, c-format
-msgid "netname2user: missing group id list in `%s'."
-msgstr "netname2user: ÐÒÏÐÕÝÅΠÓÐÉÓÏË ÉÄÅÎÔÉÆÉËÁÔÏÒÏ× ÇÒÕÐРנ`%s'."
+#, fuzzy, c-format
+msgid "netname2user: missing group id list in `%s'"
+msgstr "netname2user: Ð¿Ñ\80опÑ\83Ñ\89ен Ñ\81пиÑ\81ок Ð¸Ð´ÐµÐ½Ñ\82иÑ\84икаÑ\82оÑ\80ов Ð³Ñ\80Ñ\83пп Ð² Â«%s»."
 
 #: nis/nss_nisplus/nisplus-publickey.c:302
 #: nis/nss_nisplus/nisplus-publickey.c:308
@@ -3463,521 +3466,530 @@ msgstr "netname2user: 
 #: nis/nss_nisplus/nisplus-publickey.c:382
 #, c-format
 msgid "netname2user: (nis+ lookup): %s\n"
-msgstr "netname2user: (ÐÏÉÓË × nis+): %s\n"
+msgstr "netname2user: (поиÑ\81к Ð² nis+): %s\n"
 
 #: nis/nss_nisplus/nisplus-publickey.c:321
 #, c-format
 msgid "netname2user: DES entry for %s in directory %s not unique"
-msgstr "netname2user: ÚÁÐÉÓØ DES ÄÌÑ %s × ËÁÔÁÌÏÇÅ %s ÎÅ ÕÎÉËÁÌØÎÁ"
+msgstr "netname2user: запись DES для %s в каталоге %s не уникальна"
 
 #: nis/nss_nisplus/nisplus-publickey.c:339
 #, c-format
 msgid "netname2user: principal name `%s' too long"
-msgstr "netname2user: ÉÍÑ ÐÒÉÎÃÉÐÁÌÁ `%s' ÓÌÉÛËÏÍ ×ÅÌÉËÏ"
+msgstr "netname2user: имя принципала «%s» слишком велико"
 
 #: nis/nss_nisplus/nisplus-publickey.c:395
 #, c-format
 msgid "netname2user: LOCAL entry for %s in directory %s not unique"
-msgstr "netname2user: ÚÁÐÉÓØ LOCAL ÄÌÑ %s × ËÁÔÁÌÏÇÅ %s ÎÅ ÕÎÉËÁÌØÎÁ"
+msgstr "netname2user: запись LOCAL для %s в каталоге %s не уникальна"
 
 #: nis/nss_nisplus/nisplus-publickey.c:402
 msgid "netname2user: should not have uid 0"
-msgstr "netname2user: ÎÅ ÄÏÌÖÅΠÉÍÅÔØ ÎÕÌÅ×ÏÊ uid"
+msgstr "netname2user: не должен иметь нулевой uid"
 
 #: nis/ypclnt.c:825
 msgid "Request arguments bad"
-msgstr "îÅÐÒÁ×ÉÌØÎÙÅ ÁÒÇÕÍÅÎÔÙ ÚÁÐÒÏÓÁ"
+msgstr "Неправильные аргументы запроса"
 
 #: nis/ypclnt.c:828
 msgid "RPC failure on NIS operation"
-msgstr "óÂÏÊ RPC ÐÒÉ ÏÐÅÒÁÃÉÉ NIS"
+msgstr "Сбой RPC при операции NIS"
 
 #: nis/ypclnt.c:831
 msgid "Can't bind to server which serves this domain"
-msgstr "îÅ ÕÄÁÅÔÓÑ ÓÏÅÄÉÎÉÔØÓÑ Ó ÓÅÒ×ÅÒÏÍ, ÏÂÓÌÕÖÉ×ÁÀÝÉÍ ÜÔÏÔ ÄÏÍÅÎ"
+msgstr "Не удается соединиться с сервером, обслуживающим этот домен"
 
 #: nis/ypclnt.c:834
 msgid "No such map in server's domain"
-msgstr "îÅÔ ÔÁËÏÇÏ ÏÔÏÂÒÁÖÅÎÉÑ × ÄÏÍÅÎÅ ÓÅÒ×ÅÒÁ"
+msgstr "Нет такого отображения в домене сервера"
 
 #: nis/ypclnt.c:837
 msgid "No such key in map"
-msgstr "îÅÔ ÔÁËÏÇÏ ËÌÀÞÁ × ÏÔÏÂÒÁÖÅÎÉÉ"
+msgstr "Нет такого ключа в отображении"
 
 #: nis/ypclnt.c:840
 msgid "Internal NIS error"
-msgstr "÷ÎÕÔÒÅÎÎÑÑ ÏÛÉÂËÁ NIS"
+msgstr "Внутренняя ошибка NIS"
 
 #: nis/ypclnt.c:843
 msgid "Local resource allocation failure"
-msgstr "óÂÏÊ ÐÒÉ ×ÙÄÅÌÅÎÉÉ ÌÏËÁÌØÎÏÇÏ ÒÅÓÕÒÓÁ"
+msgstr "Сбой при выделении локального ресурса"
 
 #: nis/ypclnt.c:846
 msgid "No more records in map database"
-msgstr "âÏÌØÛÅ ÎÅÔ ÚÁÐÉÓÅÊ × ÂÁÚÅ ÄÁÎÎÙÈ ÏÔÏÂÒÁÖÅÎÉÊ"
+msgstr "Больше нет записей в базе данных отображений"
 
 #: nis/ypclnt.c:849
 msgid "Can't communicate with portmapper"
-msgstr "îÅ×ÏÚÍÏÖÎÏ Ó×ÑÚÁÔØÓÑ Ó ÏÔÏÂÒÁÖÁÔÅÌÅÍ ÐÏÒÔÏ×"
+msgstr "Невозможно связаться с отображателем портов"
 
 #: nis/ypclnt.c:852
 msgid "Can't communicate with ypbind"
-msgstr "îÅ×ÏÚÍÏÖÎÏ Ó×ÑÚÁÔØÓÑ Ó ypbind"
+msgstr "Невозможно связаться с ypbind"
 
 #: nis/ypclnt.c:855
 msgid "Can't communicate with ypserv"
-msgstr "îÅ×ÏÚÍÏÖÎÏ Ó×ÑÚÁÔØÓÑ Ó ypserv"
+msgstr "Невозможно связаться с ypserv"
 
 #: nis/ypclnt.c:858
 msgid "Local domain name not set"
-msgstr "ìÏËÁÌØÎÏÅ ÉÍÑ ÄÏÍÅÎÁ ÎÅ ÕÓÔÁÎÏ×ÌÅÎÏ"
+msgstr "Локальное имя домена не установлено"
 
 #: nis/ypclnt.c:861
 msgid "NIS map database is bad"
-msgstr "îÅÐÒÁ×ÉÌØÎÁÑ ÂÁÚÁ ÄÁÎÎÙÈ ÏÔÏÂÒÁÖÅÎÉÊ NIS"
+msgstr "Неправильная база данных отображений NIS"
 
 #: nis/ypclnt.c:864
 msgid "NIS client/server version mismatch - can't supply service"
-msgstr "îÅÓÏÏÔ×ÅÔÓÔ×ÉÅ ×ÅÒÓÉÊ ËÌÉÅÎÔÁ/ÓÅÒ×ÅÒÁ NIS -- ÎÅ×ÏÚÍÏÖÎÏ ÐÒÅÄÏÓÔÁ×ÉÔØ ÓÌÕÖÂÕ"
+msgstr "Несоответствие версий клиента/сервера NIS -- невозможно предоставить службу"
 
 #: nis/ypclnt.c:870
 msgid "Database is busy"
-msgstr "âÁÚÁ ÄÁÎÎÙÈ ÚÁÎÑÔÁ"
+msgstr "База данных занята"
 
 #: nis/ypclnt.c:873
 msgid "Unknown NIS error code"
-msgstr "îÅÉÚ×ÅÓÔÎÙÊ ËÏÄ ÏÛÉÂËÉ NIS"
+msgstr "Неизвестный код ошибки NIS"
 
 #: nis/ypclnt.c:913
 msgid "Internal ypbind error"
-msgstr "÷ÎÕÔÒÅÎÎÑÑ ÏÛÉÂËÁ ypbind"
+msgstr "Внутренняя ошибка ypbind"
 
 #: nis/ypclnt.c:916
 msgid "Domain not bound"
-msgstr "äÏÍÅΠÎÅ ÎÁÊÄÅÎ"
+msgstr "Домен не найден"
 
 #: nis/ypclnt.c:919
 msgid "System resource allocation failure"
-msgstr "óÂÏÊ ×ÙÄÅÌÅÎÉÑ ÓÉÓÔÅÍÎÏÇÏ ÒÅÓÕÒÓÁ"
+msgstr "Сбой выделения системного ресурса"
 
 #: nis/ypclnt.c:922
 msgid "Unknown ypbind error"
-msgstr "îÅÉÚ×ÅÓÔÎÁÑ ÏÛÉÂËÁ ypbind"
+msgstr "Неизвестная ошибка ypbind"
 
 #: nis/ypclnt.c:963
 msgid "yp_update: cannot convert host to netname\n"
-msgstr "yp_update: ÎÅ×ÏÚÍÏÖÎÏ ÐÒÅÏÂÒÁÚÏ×ÁÔØ ÈÏÓÔ × netname\n"
+msgstr "yp_update: невозможно преобразовать хост в netname\n"
 
 #: nis/ypclnt.c:981
 msgid "yp_update: cannot get server address\n"
-msgstr "yp_update: ÎÅ×ÏÚÍÏÖÎÏ ÐÏÌÕÞÉÔØ ÁÄÒÅÓ ÓÅÒ×ÅÒÁ\n"
+msgstr "yp_update: невозможно получить адрес сервера\n"
 
-#: nscd/aicache.c:76 nscd/hstcache.c:461
+#: nscd/aicache.c:77 nscd/hstcache.c:468
 #, c-format
 msgid "Haven't found \"%s\" in hosts cache!"
-msgstr "îÅ ÎÁÊÄÅÎÏ \"%s\" × ËÜÛÅ ÈÏÓÔÏ×!"
+msgstr "Не найдено «%s» в кэше хостов!"
 
-#: nscd/aicache.c:78 nscd/hstcache.c:463
+#: nscd/aicache.c:79 nscd/hstcache.c:470
 #, c-format
 msgid "Reloading \"%s\" in hosts cache!"
-msgstr "ðÅÒÅÚÁÇÒÕÚËÁ \"%s\" × ËÜÛÅ ÈÏÓÔÏ×!"
+msgstr "Перезагрузка «%s» в кэше хостов!"
 
-#: nscd/cache.c:126
+#: nscd/cache.c:146
 #, c-format
 msgid "add new entry \"%s\" of type %s for %s to cache%s"
-msgstr "ÄÏÂÁ×ÉÔØ ÎÏ×ÕÀ ÚÁÐÉÓØ \"%s\" ÔÉÐÁ %s ÄÌÑ %s × ËÜÛ%s"
+msgstr "добавить новую запись «%s» типа %s для %s в кэш%s"
+
+#: nscd/cache.c:148
+msgid " (first)"
+msgstr " (первый)"
 
-#: nscd/cache.c:233 nscd/connections.c:750
+#: nscd/cache.c:256 nscd/connections.c:810
 #, c-format
 msgid "cannot stat() file `%s': %s"
-msgstr "ÎÅ×ÏÚÍÏÖÎÏ ×ÙÐÏÌÎÉÔØ stat() ÄÌÑ ÆÁÊÌÁ `%s': %s"
+msgstr "невозможно выполнить stat() для файла «%s»: %s"
 
-#: nscd/cache.c:262
+#: nscd/cache.c:285
 #, c-format
 msgid "pruning %s cache; time %ld"
-msgstr ""
+msgstr "очитка %s кэша; время %ld"
 
-#: nscd/cache.c:289
+#: nscd/cache.c:312
 #, c-format
 msgid "considering %s entry \"%s\", timeout %<PRIu64>"
-msgstr ""
+msgstr "вычисление %s элемента «%s», тайм-аут %<PRIu64>"
 
-#: nscd/connections.c:469 nscd/connections.c:481 nscd/connections.c:493
-#: nscd/connections.c:512
+#: 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 "ÎÅ×ÅÒÎÙÊ ÆÁÊÌ Ó ÐÏÓÔÏÑÎÎÏÊ ÂÁÚÏÊ ÄÁÎÎÙÈ \"%s\": %s"
+msgstr "неверный файл с постоянной базой данных «%s»: %s"
 
-#: nscd/connections.c:483
+#: nscd/connections.c:535
 msgid "header size does not match"
-msgstr "ÒÁÚÍÅÒ ÚÁÇÏÌÏ×ËÁ ÎÅ ÓÏ×ÐÁÄÁÅÔ"
+msgstr "размер заголовка не совпадает"
 
-#: nscd/connections.c:495
+#: nscd/connections.c:547
 msgid "file size does not match"
-msgstr "ÎÅ ÓÏ×ÐÁÄÁÅÔ ÒÁÚÍÅÒ ÆÁÊÌÁ"
+msgstr "не совпадает размер файла"
 
-#: nscd/connections.c:514
+#: nscd/connections.c:566
 msgid "verification failed"
-msgstr "×ÅÒÉÆÉËÁÃÉÑ ÎÅ ÕÄÁÌÁÓØ"
+msgstr "верификация не удалась"
 
-#: nscd/connections.c:528
+#: nscd/connections.c:580
 #, c-format
 msgid "suggested size of table for database %s larger than the persistent database's table"
-msgstr "ÐÒÅÄÌÁÇÁÅÍÙÊ ÒÁÚÍÅÒ ÔÁÂÌÉÃÙ ÄÌÑ ÂÁÚÙ ÄÁÎÎÙÈ %s ÂÏÌØÛÅ ÞÅÍ ÔÁÂÌÉÃÁ Õ ÐÏÓÔÏÑÎÎÏÊ ÂÁÚÙ ÄÁÎÎÙÈ"
+msgstr "пÑ\80едлагаемÑ\8bй Ñ\80азмеÑ\80 Ñ\82аблиÑ\86Ñ\8b Ð´Ð»Ñ\8f Ð±Ð°Ð·Ñ\8b Ð´Ð°Ð½Ð½Ñ\8bÑ\85 %s Ð±Ð¾Ð»Ñ\8cÑ\88е Ñ\87ем Ñ\82аблиÑ\86а Ñ\83 Ð¿Ð¾Ñ\81Ñ\82оÑ\8fнной Ð±Ð°Ð·Ñ\8b Ð´Ð°Ð½Ð½Ñ\8bÑ\85"
 
-#: nscd/connections.c:538 nscd/connections.c:619
+#: nscd/connections.c:591 nscd/connections.c:673
 #, c-format
 msgid "cannot create read-only descriptor for \"%s\"; no mmap"
-msgstr "ÎÅ×ÏÚÍÏÖÎÏ ÓÏÚÄÁÔØ ÄÅÓËÒÉÐÔÏÒ ÔÏÌØËÏ ÄÌÑ ÞÔÅÎÉÑ ÄÌÑ \"%s\"; ÏÔÓÕÔÓÔ×ÕÅÔ mmap"
+msgstr "невозможно создать дескриптор только для чтения для «%s»; отсутствует mmap"
 
-#: nscd/connections.c:598
+#: nscd/connections.c:652
 #, c-format
 msgid "database for %s corrupted or simultaneously used; remove %s manually if necessary and restart"
-msgstr "ÂÁÚÁ ÄÁÎÎÙÈ ÄÌÑ %s ÐÏ×ÒÅÖÄÅÎÁ ÉÌÉ ÐÁÒÁÌÌÅÌØÎÏ ÉÓÐÏÌØÚÕÅÔÓÑ; ÕÄÁÌÉÔÅ %s ×ÒÕÞÎÕÀ, ÅÓÌÉ ÎÅÏÂÈÏÄÉÍÏ, É ÐÅÒÅÚÁÐÕÓÔÉÔÅ"
+msgstr "база данных для %s повреждена или параллельно используется; удалите %s вручную, если необходимо, и перезапустите"
 
-#: nscd/connections.c:605
+#: nscd/connections.c:659
 #, c-format
 msgid "cannot create %s; no persistent database used"
-msgstr "ÎÅ×ÏÚÍÏÖÎÏ ÓÏÚÄÁÔØ %s; ÐÏÓÔÏÑÎÎÙÅ ÂÁÚÙ ÄÁÎÎÙÈ ÎÅ ÉÓÐÏÌØÚÏ×ÁÎÙ"
+msgstr "невозможно создать %s; постоянные базы данных не использованы"
 
-#: nscd/connections.c:608
+#: nscd/connections.c:662
 #, c-format
 msgid "cannot create %s; no sharing possible"
-msgstr "ÎÅ×ÏÚÍÏÖÎÏ ÓÏÚÄÁÔØ %s; ÒÁÚÄÅÌÅÎÉÅ ÎÅ×ÏÚÍÏÖÎÏ"
+msgstr "невозможно создать %s; разделение невозможно"
 
-#: nscd/connections.c:679
+#: nscd/connections.c:733
 #, c-format
 msgid "cannot write to database file %s: %s"
-msgstr "ÎÅ×ÏÚÍÏÖÎÏ ÚÁÐÉÓÁÔØ × ÆÁÊÌ ÂÁÚÙ ÄÁÎÎÙÈ %s: %s "
+msgstr "невозможно записать в файл базы данных %s: %s "
 
-#: nscd/connections.c:713
+#: nscd/connections.c:772
 #, c-format
 msgid "cannot set socket to close on exec: %s; disabling paranoia mode"
-msgstr "ÎÅ×ÏÚÍÏÖÎÏ ÕÓÔÁÎÏ×ÉÔØ ÚÁËÒÙÔÉÅ ÓÏËÅÔÁ ÐÒÉ exec: %s; ÐÁÒÁÎÏÉÄÁÌØÎÙÊ ÒÅÖÉÍ ×ÙËÌÀÞÅÎ"
+msgstr "невозможно установить закрытие сокета при exec: %s; параноидальный режим выключен"
 
-#: nscd/connections.c:763
+#: nscd/connections.c:823
 #, c-format
 msgid "cannot open socket: %s"
-msgstr "ÎÅ×ÏÚÍÏÖÎÏ ÏÔËÒÙÔØ ÓÏËÅÔ: %s"
+msgstr "невозможно открыть сокет: %s"
 
-#: nscd/connections.c:780
+#: nscd/connections.c:840
 #, c-format
 msgid "cannot change socket to nonblocking mode: %s"
-msgstr "ÎÅ×ÏÚÍÏÖÎÏ ÐÅÒÅ×ÅÓÔÉ ÓÏËÅÔ × ÎÅÂÌÏËÉÒÕÀÝÉÊ ÒÅÖÉÍ: %s"
+msgstr "невозможно перевести сокет в неблокирующий режим: %s"
 
-#: nscd/connections.c:788
+#: nscd/connections.c:848
 #, c-format
 msgid "cannot set socket to close on exec: %s"
-msgstr "ÎÅ×ÏÚÍÏÖÎÏ ÓÄÅÌÁÔØ ÓÏËÅÔ ÚÁËÒÙ×ÁÀÝÉÍÓÑ ÐÒÉ ×ÙÐÏÌÎÅÎÉÉ exec: %s"
+msgstr "невозможно сделать сокет закрывающимся при выполнении exec: %s"
 
-#: nscd/connections.c:799
+#: nscd/connections.c:859
 #, c-format
 msgid "cannot enable socket to accept connections: %s"
-msgstr "ÎÅ×ÏÚÍÏÖÎÏ ÓÄÅÌÁÔØ ÓÏËÅÔ ÐÒÉÎÉÍÁÀÝÉÍ ÓÏÅÄÉÎÅÎÉÑ: %s"
+msgstr "невозможно сделать сокет принимающим соединения: %s"
 
-#: nscd/connections.c:892
+#: nscd/connections.c:955
 #, c-format
 msgid "provide access to FD %d, for %s"
-msgstr ""
+msgstr "предоставить доступ FD %d, для %s"
 
-#: nscd/connections.c:904
+#: nscd/connections.c:967
 #, c-format
 msgid "cannot handle old request version %d; current version is %d"
-msgstr "ÎÅ×ÏÚÍÏÖÎÏ ÏÂÒÁÂÏÔÁÔØ ÚÁÐÒÏÓ ÓÔÁÒÏÊ ×ÅÒÓÉÉ %d; ÔÅËÕÝÁÑ ×ÅÒÓÉÑ %d"
+msgstr "невозможно обработать запрос старой версии %d; текущая версия %d"
 
-#: nscd/connections.c:954 nscd/connections.c:1007
+#: nscd/connections.c:1009 nscd/connections.c:1062
 #, c-format
 msgid "cannot write result: %s"
-msgstr "ÎÅ×ÏÚÍÏÖÎÏ ÚÁÐÉÓÁÔØ ÒÅÚÕÌØÔÁÔ: %s"
+msgstr "невозможно записать результат: %s"
 
-#: nscd/connections.c:1082
+#: nscd/connections.c:1145
 #, c-format
 msgid "error getting caller's id: %s"
-msgstr "ÏÛÉÂËÁ ÐÒÉ ÐÏÌÕÞÅÎÉÉ ÉÄÅÎÔÉÆÉËÁÔÏÒÁ ×ÙÚÙ×ÁÀÝÅÊ ÓÔÏÒÏÎÙ: %s"
+msgstr "ошибка при получении идентификатора вызывающей стороны: %s"
 
-#: nscd/connections.c:1140 nscd/connections.c:1154
+#: nscd/connections.c:1204
 #, c-format
 msgid "cannot open /proc/self/cmdline: %s; disabling paranoia mode"
-msgstr "ÎÅ×ÏÚÍÏÖÎÏ ÏÔËÒÙÔØ /proc/self/cmdline: %s; ÐÁÒÁÎÏÉÄÁÌØÎÙÊ ÒÅÖÉÍ ×ÙËÌÀÞÅÎ"
+msgstr "невозможно открыть /proc/self/cmdline: %s; параноидальный режим выключен"
+
+#: nscd/connections.c:1218
+#, c-format
+msgid "cannot read /proc/self/cmdline: %s; disabling paranoia mode"
+msgstr "невозможно прочитать /proc/self/cmdline: %s; параноидальный режим выключен"
 
-#: nscd/connections.c:1194
+#: nscd/connections.c:1258
 #, c-format
 msgid "cannot change to old UID: %s; disabling paranoia mode"
-msgstr "ÎÅ×ÏÚÍÏÖÎÏ ÓÍÅÎÉÔØ UID ÎÁ ÐÒÅÖÎÉÊ: %s; ÐÁÒÁÎÏÉÄÁÌØÎÙÊ ÒÅÖÉÍ ×ÙËÌÀÞÅÎ"
+msgstr "невозможно сменить UID на прежний: %s; параноидальный режим выключен"
 
-#: nscd/connections.c:1204
+#: nscd/connections.c:1268
 #, c-format
 msgid "cannot change to old GID: %s; disabling paranoia mode"
-msgstr "ÎÅ×ÏÚÍÏÖÎÏ ÓÍÅÎÉÔØ GID ÎÁ ÐÒÅÖÎÉÊ: %s; ÐÁÒÁÎÏÉÄÁÌØÎÙÊ ÒÅÖÉÍ ×ÙËÌÀÞÅÎ"
+msgstr "невозможно сменить GID на прежний: %s; параноидальный режим выключен"
 
-#: nscd/connections.c:1217
+#: nscd/connections.c:1281
 #, c-format
 msgid "cannot change to old working directory: %s; disabling paranoia mode"
-msgstr "ÎÅ×ÏÚÍÏÖÎÏ ×ÅÒÎÕÔØÓÑ × ÐÒÅÖÎÉÊ ÒÁÂÏÞÉÊ ËÁÔÁÌÏÇ: %s; ÐÁÒÁÎÏÉÄÁÌØÎÙÊ ÒÅÖÉÍ ×ÙËÌÀÞÅÎ"
+msgstr "невозможно вернуться в прежний рабочий каталог: %s; параноидальный режим выключен"
 
-#: nscd/connections.c:1245
+#: nscd/connections.c:1310
 #, c-format
 msgid "re-exec failed: %s; disabling paranoia mode"
-msgstr "ÐÏ×ÔÏÒÎÙÊ exec ÎÅÕÓÐÅÛÅÎ: %s; ÐÁÒÁÎÏÉÄÁÌØÎÙÊ ÒÅÖÉÍ ×ÙËÌÀÞÅÎ"
+msgstr "повÑ\82оÑ\80нÑ\8bй exec Ð½Ðµ Ñ\83Ñ\81пеÑ\88ен: %s; Ð¿Ð°Ñ\80аноидалÑ\8cнÑ\8bй Ñ\80ежим Ð²Ñ\8bклÑ\8eÑ\87ен"
 
-#: nscd/connections.c:1254
+#: nscd/connections.c:1319
 #, c-format
 msgid "cannot change current working directory to \"/\": %s"
-msgstr "ÎÅ×ÏÚÍÏÖÎÏ ÓÍÅÎÉÔØ ÒÁÂÏÞÉÊ ËÁÔÁÌÏÇ ÎÁ \"/\": %s"
+msgstr "невозможно сменить рабочий каталог на «/»: %s"
 
-#: nscd/connections.c:1372
+#: nscd/connections.c:1437
 #, c-format
 msgid "short read while reading request: %s"
-msgstr "ÎÅÐÏÌÎÙÊ ÓÞÉÔÁÎÎÙÊ ÂÌÏË ÐÒÉ ÞÔÅÎÉÉ ÚÁÐÒÏÓÁ: %s"
+msgstr "неполный считанный блок при чтении запроса: %s"
 
-#: nscd/connections.c:1404
+#: nscd/connections.c:1468
 #, c-format
 msgid "key length in request too long: %d"
-msgstr "ÄÌÉÎÁ ËÌÀÞÁ × ÚÁÐÒÏÓÅ ÓÌÉÛËÏÍ ×ÅÌÉËÁ: %d"
+msgstr "длина ключа в запросе слишком велика: %d"
 
-#: nscd/connections.c:1417
+#: nscd/connections.c:1481
 #, c-format
 msgid "short read while reading request key: %s"
-msgstr "ÎÅÐÏÌÎÙÊ ÓÞÉÔÁÎÎÙÊ ÂÌÏË ÐÒÉ ÞÔÅÎÉÉ ËÌÀÞÁ ÚÁÐÒÏÓÁ: %s"
+msgstr "неполный считанный блок при чтении ключа запроса: %s"
 
-#: nscd/connections.c:1426
+#: nscd/connections.c:1490
 #, c-format
 msgid "handle_request: request received (Version = %d) from PID %ld"
-msgstr "handle_request: ÐÏÌÕÞÅΠÚÁÐÒÏÓ (×ÅÒÓÉÑ = %d) ÏÔ PID %ld"
+msgstr "handle_request: Ð¿Ð¾Ð»Ñ\83Ñ\87ен Ð·Ð°Ð¿Ñ\80оÑ\81 (веÑ\80Ñ\81иÑ\8f = %d) Ð¾Ñ\82 PID %ld"
 
-#: nscd/connections.c:1431
+#: nscd/connections.c:1495
 #, c-format
 msgid "handle_request: request received (Version = %d)"
-msgstr "handle_request: ÐÏÌÕÞÅΠÚÁÐÒÏÓ (×ÅÒÓÉÑ = %d)"
+msgstr "handle_request: Ð¿Ð¾Ð»Ñ\83Ñ\87ен Ð·Ð°Ð¿Ñ\80оÑ\81 (веÑ\80Ñ\81иÑ\8f = %d)"
 
-#: nscd/connections.c:1792
+#: nscd/connections.c:1856
 #, c-format
 msgid "could only start %d threads; terminating"
-msgstr "ÕÄÁÌÏÓØ ÚÁÐÕÓÔÉÔØ ÔÏÌØËÏ %d ÔÒÅÄÏ×; ÏÓÔÁÎÏ×"
+msgstr "удалось запустить только %d поток; останов"
 
-#: nscd/connections.c:1840 nscd/connections.c:1841 nscd/connections.c:1858
-#: nscd/connections.c:1867 nscd/connections.c:1885 nscd/connections.c:1896
-#: nscd/connections.c:1907
+#: 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 "îÅ ÕÄÁÌÏÓØ ÚÁÐÕÓÔÉÔØ nscd ÏÔ ÉÍÅÎÉ ÐÏÌØÚÏ×ÁÔÅÌÑ '%s'"
+msgstr "Не удалось запустить nscd от имени пользователя »%s»"
 
-#: nscd/connections.c:1859
+#: nscd/connections.c:1923
 #, c-format
 msgid "initial getgrouplist failed"
-msgstr "ÐÅÒ×ÏÎÁÞÁÌØÎÁÑ getgrouplist ÎÅÕÓÐÅÛÎÁ"
+msgstr "пеÑ\80вонаÑ\87алÑ\8cнаÑ\8f getgrouplist Ð½ÐµÑ\83Ñ\81пеÑ\88на"
 
-#: nscd/connections.c:1868
+#: nscd/connections.c:1932
 #, c-format
 msgid "getgrouplist failed"
-msgstr "getgrouplist ÎÅÕÓÐÅÛÎÁ"
+msgstr "getgrouplist неуспешна"
 
-#: nscd/connections.c:1886
+#: nscd/connections.c:1950
 #, c-format
 msgid "setgroups failed"
-msgstr "setgroups ÎÅÕÓÐÅÛÎÁ"
+msgstr "setgroups неуспешна"
 
-#: nscd/grpcache.c:400 nscd/hstcache.c:411 nscd/initgrcache.c:411
-#: nscd/pwdcache.c:395
+#: 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 "ÎÅÐÏÌÎÁÑ ÚÁÐÉÓØ × %s: %s"
+msgstr "неполная запись в %s: %s"
 
-#: nscd/grpcache.c:443 nscd/initgrcache.c:77
+#: nscd/grpcache.c:445 nscd/initgrcache.c:78
 #, c-format
 msgid "Haven't found \"%s\" in group cache!"
-msgstr "îÅ ÎÁÊÄÅÎÏ \"%s\" × ËÜÛÅ ÇÒÕÐÐ!"
+msgstr "Не найдено «%s» в кэше групп!"
 
-#: nscd/grpcache.c:445 nscd/initgrcache.c:79
+#: nscd/grpcache.c:447 nscd/initgrcache.c:80
 #, c-format
 msgid "Reloading \"%s\" in group cache!"
-msgstr "ðÅÒÅÚÁÇÒÕÚËÁ \"%s\" × ËÜÛÅ ÇÒÕÐÐ!"
+msgstr "Перезагрузка «%s» в кэше групп!"
 
-#: nscd/grpcache.c:536
+#: nscd/grpcache.c:524
 #, c-format
 msgid "Invalid numeric gid \"%s\"!"
-msgstr "îÅ×ÅÒÎÙÊ ÞÉÓÌÏ×ÏÊ ÉÄÅÎÔÉÆÉËÁÔÏÒ ÇÒÕÐÐÙ \"%s\"!"
+msgstr "Неверный числовой идентификатор группы «%s»!"
 
-#: nscd/mem.c:382
+#: nscd/mem.c:383
 #, c-format
 msgid "freed %zu bytes in %s cache"
-msgstr "ÏÓ×ÏÂÏÖÄÅÎÏ %zu ÂÁÊÔ × ËÜÛÅ %s"
+msgstr "освобождено %zu байт в кэше %s"
 
-#: nscd/mem.c:511
+#: nscd/mem.c:512
 #, c-format
 msgid "no more memory for database '%s'"
-msgstr "ÎÅÄÏÓÔÁÔÏÞÎÏ ÐÁÍÑÔÉ ÄÌÑ ÂÁÚÙ ÄÁÎÎÙÈ '%s'"
+msgstr "недостаточно памяти для базы данных «%s»"
 
-#: nscd/nscd.c:97
+#: nscd/nscd.c:98
 msgid "Read configuration data from NAME"
-msgstr "þÉÔÁÔØ ËÏÎÆÉÇÕÒÁÃÉÏÎÎÙÅ ÄÁÎÎÙÅ ÉÚ æáêìá"
+msgstr "Читать конфигурационные данные из ФАЙЛА"
 
-#: nscd/nscd.c:99
+#: nscd/nscd.c:100
 msgid "Do not fork and display messages on the current tty"
-msgstr "îÅ ÐÏÒÏÖÄÁÔØ ÄÏÞÅÒÎÉÊ ÐÒÏÃÅÓÓ, ÐÅÞÁÔÁÔØ ÓÏÏÂÝÅÎÉÑ ÎÁ ÔÅËÕÝÉÊ ÔÅÒÍÉÎÁÌ"
+msgstr "Не порождать дочерний процесс, печатать сообщения на текущий терминал"
 
-#: nscd/nscd.c:100
+#: nscd/nscd.c:101
 msgid "NUMBER"
-msgstr "þéóìï"
+msgstr "ЧИСЛО"
 
-#: nscd/nscd.c:100
+#: nscd/nscd.c:101
 msgid "Start NUMBER threads"
-msgstr "úÁÐÕÓÔÉÔØ ÕËÁÚÁÎÎÏÅ þéóìï ÎÉÔÅÊ"
+msgstr "Запустить указанное ЧИСЛО нитей"
 
-#: nscd/nscd.c:101
+#: nscd/nscd.c:102
 msgid "Shut the server down"
-msgstr "÷ÙËÌÀÞÉÔØ ÓÅÒ×ÅÒ"
+msgstr "Выключить сервер"
 
-#: nscd/nscd.c:102
+#: nscd/nscd.c:103
 msgid "Print current configuration statistic"
-msgstr "îÁÐÅÞÁÔÁÔØ ÓÔÁÔÉÓÔÉËÕ ÐÏ ÔÅËÕÝÅÊ ËÏÎÆÉÇÕÒÁÃÉÉ"
+msgstr "Напечатать статистику по текущей конфигурации"
 
-#: nscd/nscd.c:103
+#: nscd/nscd.c:104
 msgid "TABLE"
-msgstr "ôáâìéãá"
+msgstr "ТАБЛИЦА"
 
-#: nscd/nscd.c:104
+#: nscd/nscd.c:105
 msgid "Invalidate the specified cache"
-msgstr "ïÂßÑ×ÉÔØ ÕËÁÚÁÎÎÙÊ ËÜÛ ÎÅÄÅÊÓÔ×ÉÔÅÌØÎÙÍ"
+msgstr "Объявить указанный кэш недействительным"
 
-#: nscd/nscd.c:105
+#: nscd/nscd.c:106
 msgid "TABLE,yes"
-msgstr "ôáâìéãá,yes"
+msgstr "ТАБЛИЦА,yes"
 
-#: nscd/nscd.c:106
+#: nscd/nscd.c:107
 msgid "Use separate cache for each user"
-msgstr "éÓÐÏÌØÚÏ×ÁÔØ ÏÔÄÅÌØÎÙÊ ËÜÛ ÄÌÑ ËÁÖÄÏÇÏ ÐÏÌØÚÏ×ÁÔÅÌÑ"
+msgstr "Использовать отдельный кэш для каждого пользователя"
 
-#: nscd/nscd.c:111
+#: nscd/nscd.c:112
 msgid "Name Service Cache Daemon."
-msgstr "äÅÍÏΠËÜÛÁ ÓÌÕÖÂÙ ÉÍÅÎ."
+msgstr "Демон кэша службы имен."
 
-#: nscd/nscd.c:143 nss/getent.c:858 nss/makedb.c:123
+#: nscd/nscd.c:144 nss/getent.c:858 nss/makedb.c:123
 #, c-format
 msgid "wrong number of arguments"
-msgstr "îÅÐÒÁ×ÉÌØÎÏÅ ÞÉÓÌÏ ÁÒÇÕÍÅÎÔÏ×"
+msgstr "Неправильное число аргументов"
 
-#: nscd/nscd.c:153
+#: nscd/nscd.c:154
 #, c-format
 msgid "failure while reading configuration file; this is fatal"
-msgstr "ÎÅ×ÏÚÍÏÖÎÏ ÐÒÏÞÉÔÁÔØ ÆÁÊÌ ËÏÎÆÉÇÕÒÁÃÉÉ; ÜÔÏ ÆÁÔÁÌØÎÙÊ ÓÂÏÊ"
+msgstr "невозможно прочитать файл конфигурации; это фатальный сбой"
 
-#: nscd/nscd.c:162
+#: nscd/nscd.c:163
 #, c-format
 msgid "already running"
-msgstr "ÕÖÅ ÚÁÐÕÝÅÎ"
+msgstr "уже запущен"
 
-#: nscd/nscd.c:177 nscd/nscd.c:232
+#: nscd/nscd.c:178 nscd/nscd.c:233
 #, c-format
 msgid "cannot fork"
-msgstr "ÎÅ×ÏÚÍÏÖÎÏ ÐÏÒÏÄÉÔØ ÄÏÞÅÒÎÉÊ ÐÒÏÃÅÓÓ"
+msgstr "невозможно породить дочерний процесс"
 
-#: nscd/nscd.c:240
+#: nscd/nscd.c:241
 #, c-format
 msgid "cannot change current working directory to \"/\""
-msgstr "ÎÅ×ÏÚÍÏÖÎÏ ÓÍÅÎÉÔØ ÒÁÂÏÞÉÊ ËÁÔÁÌÏÇ ÎÁ \"/\""
+msgstr "невозможно сменить рабочий каталог на «/»"
 
-#: nscd/nscd.c:248
+#: nscd/nscd.c:249
 msgid "Could not create log file"
-msgstr "îÅ ÕÄÁÌÏÓØ ÓÏÚÄÁÔØ ÆÁÊÌ ÐÒÏÔÏËÏÌÁ"
+msgstr "Не удалось создать файл протокола"
 
-#: nscd/nscd.c:301 nscd/nscd.c:326 nscd/nscd_stat.c:172
+#: 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 "ôÏÌØËÏ ÓÕÐÅÒÐÏÌØÚÏ×ÁÔÅÌØ ÍÏÖÅÔ ÉÓÐÏÌØÚÏ×ÁÔØ ÜÔÏÔ ËÌÀÞ!"
+msgstr "Только суперпользователь может использовать этот ключ!"
 
-#: nscd/nscd.c:359 nscd/nscd_stat.c:191
+#: nscd/nscd.c:364 nscd/nscd_stat.c:191
 #, c-format
 msgid "write incomplete"
-msgstr "ÎÅÚÁ×ÅÒÛÅÎÎÁÑ ÚÁÐÉÓØ"
+msgstr "незавершенная запись"
 
-#: nscd/nscd.c:370
+#: nscd/nscd.c:375
 #, c-format
 msgid "cannot read invalidate ACK"
-msgstr ""
+msgstr "невозможно прочитать аннулированный ACK"
 
-#: nscd/nscd.c:376
+#: nscd/nscd.c:381
 #, c-format
 msgid "invalidation failed"
-msgstr ""
+msgstr "аннулирование не удалось"
 
-#: nscd/nscd.c:386
+#: nscd/nscd.c:391
 #, c-format
 msgid "secure services not implemented anymore"
-msgstr ""
+msgstr "безопасные сервисы более не поддерживаются"
 
-#: nscd/nscd_conf.c:55
-#, c-format
-msgid "database %s is not supported\n"
-msgstr "ÂÁÚÁ ÄÁÎÎÙÈ %s ÎÅ ÐÏÄÄÅÒÖÉ×ÁÅÔÓÑ\n"
+#: nscd/nscd_conf.c:57
+#, fuzzy, c-format
+msgid "database %s is not supported"
+msgstr "база данных %s не поддерживается\n"
 
-#: nscd/nscd_conf.c:106
+#: nscd/nscd_conf.c:108
 #, c-format
 msgid "Parse error: %s"
-msgstr "ïÛÉÂËÁ ÒÁÚÂÏÒÁ: %s"
+msgstr "Ошибка разбора: %s"
 
-#: nscd/nscd_conf.c:191
+#: nscd/nscd_conf.c:193
 #, c-format
 msgid "Must specify user name for server-user option"
-msgstr "îÕÖÎÏ ÕËÁÚÁÔØ ÉÍÑ ÐÏÌØÚÏ×ÁÔÅÌÑ ÄÌÑ ËÌÀÞÁ server-user"
+msgstr "Нужно указать имя пользователя для ключа server-user"
 
-#: nscd/nscd_conf.c:198
+#: nscd/nscd_conf.c:200
 #, c-format
 msgid "Must specify user name for stat-user option"
-msgstr "îÕÖÎÏ ÕËÁÚÁÔØ ÉÍÑ ÐÏÌØÚÏ×ÁÔÅÌÑ ÄÌÑ ËÌÀÞÁ stat-user"
+msgstr "Нужно указать имя пользователя для ключа stat-user"
 
-#: nscd/nscd_conf.c:242
+#: nscd/nscd_conf.c:244
 #, c-format
 msgid "invalid value for 'reload-count': %u"
-msgstr "ÎÅÄÏÐÕÓÔÉÍÏÅ ÚÎÁÞÅÎÉÅ ÄÌÑ 'reload-count': %u"
+msgstr "недопустимое значение для «reload-count»: %u"
 
-#: nscd/nscd_conf.c:257
+#: nscd/nscd_conf.c:259
 #, c-format
 msgid "Must specify value for restart-interval option"
-msgstr "îÕÖÎÏ ÕËÁÚÁÔØ ÚÎÁÞÅÎÉÅ ÄÌÑ ËÌÀÞÁ restart-interval"
+msgstr "Нужно указать значение для ключа restart-interval"
 
-#: nscd/nscd_conf.c:271
+#: nscd/nscd_conf.c:273
 #, c-format
 msgid "Unknown option: %s %s %s"
-msgstr "îÅÉÚ×ÅÓÔÎÙÊ ËÌÀÞ: %s %s %s"
+msgstr "Неизвестный ключ: %s %s %s"
 
-#: nscd/nscd_conf.c:284
+#: nscd/nscd_conf.c:286
 #, c-format
 msgid "cannot get current working directory: %s; disabling paranoia mode"
-msgstr "ÎÅ×ÏÚÍÏÖÎÏ ÐÏÌÕÞÉÔØ ÔÅËÕÝÉÊ ÒÁÂÏÞÉÊ ËÁÔÁÌÏÇ: %s; ÐÁÒÁÎÏÉÄÁÌØÎÙÊ ÒÅÖÉÍ ×ÙËÌÀÞÅÎ"
+msgstr "невозможно получить текущий рабочий каталог: %s; параноидальный режим выключен"
 
-#: nscd/nscd_conf.c:304
+#: nscd/nscd_conf.c:306
 #, c-format
 msgid "maximum file size for %s database too small"
-msgstr "ÍÁËÓÉÍÁÌØÎÙÊ ÒÁÚÍÅÒ ÆÁÊÌÁ ÄÌÑ ÂÁÚÙ ÄÁÎÎÙÈ %s ÓÌÉÛËÏÍ ÍÁÌ"
+msgstr "максимальный размер файла для базы данных %s слишком мал"
 
 #: nscd/nscd_stat.c:141
 #, c-format
 msgid "cannot write statistics: %s"
-msgstr "ÎÅ×ÏÚÍÏÖÎÏ ÚÁÐÉÓÁÔØ ÓÔÁÔÉÓÔÉËÕ: %s"
+msgstr "невозможно записать статистику: %s"
 
 #: nscd/nscd_stat.c:156
 msgid "yes"
-msgstr "ÄÁ"
+msgstr "да"
 
 #: nscd/nscd_stat.c:157
 msgid "no"
-msgstr "ÎÅÔ"
+msgstr "нет"
 
 #: nscd/nscd_stat.c:168
 #, c-format
 msgid "Only root or %s is allowed to use this option!"
-msgstr "ôÏÌØËÏ ÓÕÐÅÒÐÏÌØÚÏ×ÁÔÅÌØ ÉÌÉ %s ÍÏÇÕÔ ÉÓÐÏÌØÚÏ×ÁÔØ ÜÔÏÔ ËÌÀÞ!"
+msgstr "Только суперпользователь или %s могут использовать этот ключ!"
 
 #: nscd/nscd_stat.c:179
 #, c-format
 msgid "nscd not running!\n"
-msgstr "nscd ÎÅ ÚÁÐÕÝÅÎ!\n"
+msgstr "nscd не запущен!\n"
 
 #: nscd/nscd_stat.c:203
 #, c-format
 msgid "cannot read statistics data"
-msgstr "ÎÅ×ÏÚÍÏÖÎÏ ÓÞÉÔÁÔØ ÓÔÁÔÉÓÔÉÞÅÓËÉÅ ÄÁÎÎÙÅ"
+msgstr "невозможно считать статистические данные"
 
 #: nscd/nscd_stat.c:206
 #, c-format
@@ -3986,29 +3998,29 @@ msgid ""
 "\n"
 "%15d  server debug level\n"
 msgstr ""
-"ëÏÎÆÉÇÕÒÁÃÉÑ nscd:\n"
+"Конфигурация nscd:\n"
 "\n"
-"%15d  ÕÒÏ×ÅÎØ ÏÔÌÁÄËÉ ÓÅÒ×ÅÒÁ\n"
+"%15d  уровень отладки сервера\n"
 
 #: nscd/nscd_stat.c:230
 #, c-format
 msgid "%3ud %2uh %2um %2lus  server runtime\n"
-msgstr "%3ud %2uh %2um %2lus  ×ÒÅÍÑ ÒÁÂÏÔÙ ÓÅÒ×ÅÒÁ\n"
+msgstr "%3ud %2uh %2um %2lus  время работы сервера\n"
 
 #: nscd/nscd_stat.c:233
 #, c-format
 msgid "    %2uh %2um %2lus  server runtime\n"
-msgstr "    %2uh %2um %2lus  ×ÒÅÍÑ ÒÁÂÏÔÙ ÓÅÒ×ÅÒÁ\n"
+msgstr "    %2uh %2um %2lus  время работы сервера\n"
 
 #: nscd/nscd_stat.c:235
 #, c-format
 msgid "        %2um %2lus  server runtime\n"
-msgstr "        %2um %2lus  ×ÒÅÍÑ ÒÁÂÏÔÙ ÓÅÒ×ÅÒÁ\n"
+msgstr "        %2um %2lus  время работы сервера\n"
 
 #: nscd/nscd_stat.c:237
 #, c-format
 msgid "            %2lus  server runtime\n"
-msgstr "            %2lus  ×ÒÅÍÑ ÒÁÂÏÔÙ ÓÅÒ×ÅÒÁ\n"
+msgstr "            %2lus  время работы сервера\n"
 
 #: nscd/nscd_stat.c:239
 #, c-format
@@ -4019,11 +4031,11 @@ msgid ""
 "%15s  paranoia mode enabled\n"
 "%15lu  restart internal\n"
 msgstr ""
-"%15d  ÔÅËÕÝÅÅ ËÏÌÉÞÅÓÔ×Ï ÔÒÅÄÏ×\n"
-"%15d  ÍÁËÓÉÍÁÌØÎÏÅ ÞÉÓÌÏ ÔÒÅÄÏ×\n"
-"%15lu  ÞÉÓÌÏ ÓÌÕÞÁÅ×, ËÏÇÄÁ ËÌÉÅÎÔÁÍ ÐÒÉÛÌÏÓØ ÖÄÁÔØ\n"
-"%15s  ÐÁÒÁÎÏÉÄÁÌØÎÙÊ ÒÅÖÉÍ ×ËÌÀÞÅÎ\n"
-"%15lu  ×ÎÕÔÒÅÎÎÉÊ ÐÅÒÅÚÁÐÕÓË\n"
+"%15d  текущее количество потоков\n"
+"%15d  максимальное число потоков\n"
+"%15lu  число случаев, когда клиентам пришлось ждать\n"
+"%15s  Ð¿Ð°Ñ\80аноидалÑ\8cнÑ\8bй Ñ\80ежим Ð²ÐºÐ»Ñ\8eÑ\87ен\n"
+"%15lu  внутренний перезапуск\n"
 
 #: nscd/nscd_stat.c:273
 #, c-format
@@ -4053,120 +4065,116 @@ msgid ""
 "%15s  check /etc/%s for changes\n"
 msgstr ""
 "\n"
-"ëÜÛ %s:\n"
+"Кэш %s:\n"
 "\n"
-"%15s  ËÜÛ ÚÁÄÅÊÓÔ×Ï×ÁÎ\n"
-"%15s  ËÜÛ ÐÏÓÔÏÑÎÎÙÊ\n"
-"%15s  ËÜÛ ÒÁÚÄÅÌÑÅÍÙÊ\n"
-"%15Zu  ÐÒÅÄÌÁÇÁÅÍÙÊ ÒÁÚÍÅÒ\n"
-"%15zu  ÏÂÝÉÊ ÏÂßÅÍ ÐÕÌÁ ÄÁÎÎÙÈ\n"
-"%15zu  ÉÓÐÏÌØÚÏ×ÁÎÎÙÊ ÏÂßÅÍ ÐÕÌÁ ÄÁÎÎÙÈ\n"
-"%15lu  ÓÅËÕÎÄÙ ÖÉÚÎÉ ÄÌÑ ÐÏÌÏÖÉÔÅÌØÎÙÈ ÚÁÐÉÓÅÊ\n"
-"%15lu  ÓÅËÕÎÄÙ ÖÉÚÎÉ ÄÌÑ ÏÔÒÉÃÁÔÅÌØÎÙÈ ÚÁÐÉÓÅÊ\n"
-"%15<PRIuMAX>  ÐÏÐÁÄÁÎÉÑ ÎÁ ÐÏÌÏÖÉÔÅÌØÎÙÅ ÚÁÐÉÓÉ\n"
-"%15<PRIuMAX>  ÐÏÐÁÄÁÎÉÑ ÎÁ ÏÔÒÉÃÁÔÅÌØÎÙÅ ÚÁÐÉÓÉ\n"
-"%15<PRIuMAX>  ÐÒÏÍÁÈÉ ÎÁ ÐÏÌÏÖÉÔÅÌØÎÙÅ ÚÁÐÉÓÉ\n"
-"%15<PRIuMAX>  ÐÒÏÍÁÈÉ ÎÁ ÏÔÒÉÃÁÔÅÌØÎÙÅ ÚÁÐÉÓÉ\n"
-"%15lu%% ÞÁÓÔÏÔÁ ÐÏÐÁÄÁÎÉÑ ÎÁ ËÜÛ\n"
-"%15zu  ÔÅËÕÝÅÅ ÞÉÓÌÏ ËÜÛÉÒÏ×ÁÎÎÙÈ ÚÎÁÞÅÎÉÊ\n"
-"%15zu  ÍÁËÓÉÍÁÌØÎÏÅ ÞÉÓÌÏ ËÜÛÉÒÏ×ÁÎÎÙÈ ÚÎÁÞÅÎÉÊ\n"
-"%15zu  ÍÁËÓÉÍÁÌØÎÁÑ ÄÌÉÎÁ ÃÅÐÏÞËÉ ÐÏÉÓËÁ\n"
-"%15<PRIuMAX>  ÞÉÓÌÏ ÚÁÄÅÒÖÅË ÎÁ rdlock\n"
-"%15<PRIuMAX>  ÞÉÓÌÏ ÚÁÄÅÒÖÅË ÎÁ wrlock\n"
-"%15<PRIuMAX>  ÞÉÓÌÏ ÏÛÉÂÏË ×ÙÄÅÌÅÎÉÑ ÐÁÍÑÔÉ\n"
-"%15s  ÏÔÓÌÅÖÉ×ÁÀÔÓÑ ÌÉ ÉÚÍÅÎÅÎÉÑ /etc/%s \n"
-
-#: nscd/pwdcache.c:438
+"%15s  кэш задействован\n"
+"%15s  кэш постоянный\n"
+"%15s  кэш разделяемый\n"
+"%15Zu  Ð¿Ñ\80едлагаемÑ\8bй Ñ\80азмеÑ\80\n"
+"%15zu  общий объем пула данных\n"
+"%15zu  использованный объем пула данных\n"
+"%15lu  секунды жизни для положительных записей\n"
+"%15lu  секунды жизни для отрицательных записей\n"
+"%15<PRIuMAX>  Ð¿Ð¾Ð¿Ð°Ð´Ð°Ð½Ð¸Ñ\8f Ð½Ð° Ð¿Ð¾Ð»Ð¾Ð¶Ð¸Ñ\82елÑ\8cнÑ\8bе Ð·Ð°Ð¿Ð¸Ñ\81и\n"
+"%15<PRIuMAX>  Ð¿Ð¾Ð¿Ð°Ð´Ð°Ð½Ð¸Ñ\8f Ð½Ð° Ð¾Ñ\82Ñ\80иÑ\86аÑ\82елÑ\8cнÑ\8bе Ð·Ð°Ð¿Ð¸Ñ\81и\n"
+"%15<PRIuMAX>  Ð¿Ñ\80омаÑ\85и Ð½Ð° Ð¿Ð¾Ð»Ð¾Ð¶Ð¸Ñ\82елÑ\8cнÑ\8bе Ð·Ð°Ð¿Ð¸Ñ\81и\n"
+"%15<PRIuMAX>  Ð¿Ñ\80омаÑ\85и Ð½Ð° Ð¾Ñ\82Ñ\80иÑ\86аÑ\82елÑ\8cнÑ\8bе Ð·Ð°Ð¿Ð¸Ñ\81и\n"
+"%15lu%% частота попадания на кэш\n"
+"%15zu  текущее число кэшированных значений\n"
+"%15zu  максимальное число кэшированных значений\n"
+"%15zu  максимальная длина цепочки поиска\n"
+"%15<PRIuMAX>  число задержек на rdlock\n"
+"%15<PRIuMAX>  число задержек на wrlock\n"
+"%15<PRIuMAX>  число ошибок выделения памяти\n"
+"%15s  отслеживаются ли изменения /etc/%s \n"
+
+#: nscd/pwdcache.c:440
 #, c-format
 msgid "Haven't found \"%s\" in password cache!"
-msgstr "îÅ ÎÁÊÄÅÎÏ \"%s\" × ËÜÛÅ ÐÁÒÏÌÅÊ!"
+msgstr "Не найдено «%s» в кэше паролей!"
 
-#: nscd/pwdcache.c:440
+#: nscd/pwdcache.c:442
 #, c-format
 msgid "Reloading \"%s\" in password cache!"
-msgstr "ðÅÒÅÚÁÇÒÕÚËÁ \"%s\" × ËÜÛÅ ÐÁÒÏÌÅÊ!"
+msgstr "Перезагрузка «%s» в кэше паролей!"
 
-#: nscd/pwdcache.c:532
+#: nscd/pwdcache.c:520
 #, c-format
 msgid "Invalid numeric uid \"%s\"!"
-msgstr "îÅ×ÅÒÎÙÊ ÞÉÓÌÏ×ÏÊ ÉÄÅÎÔÉÆÉËÁÔÏÒ ÐÏÌØÚÏ×ÁÔÅÌÑ \"%s\"!"
+msgstr "Неверный числовой идентификатор пользователя «%s»!"
 
-#: nscd/selinux.c:151
+#: nscd/selinux.c:156
 #, c-format
 msgid "Failed opening connection to the audit subsystem: %m"
-msgstr "îÅ ÕÄÁÌÏÓØ ÏÔËÒÙÔØ ÓÏÅÄÉÎÅÎÉÅ Ó ÐÏÄÓÉÓÔÅÍÏÊ ÁÕÄÉÔÁ: %m"
+msgstr "Не удалось открыть соединение с подсистемой аудита: %m"
 
-#: nscd/selinux.c:172
+#: nscd/selinux.c:177
 msgid "Failed to set keep-capabilities"
-msgstr ""
+msgstr "Не удалось установить возможности хранения"
 
-#: nscd/selinux.c:173 nscd/selinux.c:232
+#: nscd/selinux.c:178 nscd/selinux.c:241
 #, c-format
 msgid "prctl(KEEPCAPS) failed"
-msgstr "prctl(KEEPCAPS) ÎÅÕÓÐÅÛÎÁ"
+msgstr "prctl(KEEPCAPS) неуспешна"
 
-#: nscd/selinux.c:187
+#: nscd/selinux.c:192
 msgid "Failed to initialize drop of capabilities"
-msgstr ""
+msgstr "Не удалось инициализировать возможности сброса"
 
-#: nscd/selinux.c:188
+#: nscd/selinux.c:193
 #, c-format
 msgid "cap_init failed"
-msgstr "cap_init ÎÅÕÓÐÅÛÎÁ"
+msgstr "cap_init неуспешна"
 
-#: nscd/selinux.c:205
-msgid "Failed to drop capabilities\n"
-msgstr ""
+#: nscd/selinux.c:214 nscd/selinux.c:231
+msgid "Failed to drop capabilities"
+msgstr "Не удалось сбросить возможности"
 
-#: nscd/selinux.c:206 nscd/selinux.c:223
+#: nscd/selinux.c:215 nscd/selinux.c:232
 #, c-format
 msgid "cap_set_proc failed"
-msgstr "cap_set_proc ÎÅÕÓÐÅÛÎÁ"
-
-#: nscd/selinux.c:222
-msgid "Failed to drop capabilities"
-msgstr ""
+msgstr "cap_set_proc неуспешна"
 
-#: nscd/selinux.c:231
+#: nscd/selinux.c:240
 msgid "Failed to unset keep-capabilities"
-msgstr ""
+msgstr "Не удалось снять возможности хранения"
 
-#: nscd/selinux.c:247
+#: nscd/selinux.c:256
 msgid "Failed to determine if kernel supports SELinux"
-msgstr "îÅ ÕÄÁÌÏÓØ ÏÐÒÅÄÅÌÉÔØ, ÐÏÄÄÅÒÖÉ×ÁÅÔ ÌÉ ÑÄÒÏ SELinux"
+msgstr "Не удалось определить, поддерживает ли ядро SELinux"
 
-#: nscd/selinux.c:262
+#: nscd/selinux.c:271
 #, c-format
 msgid "Failed to start AVC thread"
-msgstr "îÅ ÕÄÁÌÏÓØ ÚÁÐÕÓÔÉÔØ ÔÒÅÄ AVC"
+msgstr "Не удалось запустить тред AVC"
 
-#: nscd/selinux.c:284
+#: nscd/selinux.c:293
 #, c-format
 msgid "Failed to create AVC lock"
-msgstr "îÅ ÕÄÁÌÏÓØ ÓÏÚÄÁÔØ ÂÌÏËÉÒÏ×ËÕ"
+msgstr "Не удалось создать блокировку"
 
-#: nscd/selinux.c:324
+#: nscd/selinux.c:333
 #, c-format
 msgid "Failed to start AVC"
-msgstr "îÅ ÕÄÁÌÏÓØ ÚÁÐÕÓÔÉÔØ AVC"
+msgstr "Не удалось запустить AVC"
 
-#: nscd/selinux.c:326
+#: nscd/selinux.c:335
 msgid "Access Vector Cache (AVC) started"
-msgstr "Access Vector Cache (AVC) ÚÁÐÕÝÅÎ"
+msgstr "Access Vector Cache (AVC) запущен"
 
-#: nscd/selinux.c:347
+#: nscd/selinux.c:356
 msgid "Error getting context of socket peer"
-msgstr "ïÛÉÂËÁ ÐÏÌÕÞÅÎÉÑ ËÏÎÔÅËÓÔÁ ÄÒÕÇÏÊ ÓÔÏÒÏÎÙ ÓÏËÅÔÁ"
+msgstr "Ошибка получения контекста другой стороны сокета"
 
-#: nscd/selinux.c:352
+#: nscd/selinux.c:361
 msgid "Error getting context of nscd"
-msgstr "ïÛÉÂËÁ ÐÏÌÕÞÅÎÉÑ ËÏÎÔÅËÓÔÁ nscd"
+msgstr "Ошибка получения контекста nscd"
 
-#: nscd/selinux.c:358
+#: nscd/selinux.c:367
 msgid "Error getting sid from context"
-msgstr "ïÛÉÂËÁ ÐÏÌÕÞÅÎÉÑ sid ÉÚ ËÏÎÔÅËÓÔÁ"
+msgstr "Ошибка получения sid из контекста"
 
-#: nscd/selinux.c:390
+#: nscd/selinux.c:399
 #, c-format
 msgid ""
 "\n"
@@ -4182,67 +4190,77 @@ msgid ""
 "%15u  CAV misses\n"
 msgstr ""
 "\n"
-"óÔÁÔÉÓÔÉËÁ AVC SELinux:\n"
+"Статистика AVC SELinux:\n"
 "\n"
-"%15u  ÐÏÉÓËÏ× ÚÁÐÉÓÅÊ\n"
-"%15u  ÐÏÐÁÄÁÎÉÊ\n"
-"%15u  ÐÒÏÍÁÈÏ×\n"
-"%15u  ÓÂÒÏÓÏ× ÚÁÐÉÓÅÊ\n"
-"%15u  ÐÏÉÓËÏ× CAV\n"
-"%15u  ÐÏÐÁÄÁÎÉÊ CAV\n"
-"%15u  ÐÒÏ×ÅÒÏË CAV\n"
-"%15u  ÐÒÏÍÁÈÏ× CAV\n"
+"%15u  поисков записей\n"
+"%15u  попаданий\n"
+"%15u  промахов\n"
+"%15u  сбросов записей\n"
+"%15u  поисков CAV\n"
+"%15u  попаданий CAV\n"
+"%15u  проверок CAV\n"
+"%15u  промахов CAV\n"
+
+#: nscd/servicescache.c:390
+#, c-format
+msgid "Haven't found \"%s\" in services cache!"
+msgstr "Не найдено \"%s\" в кэше сервисов!"
+
+#: nscd/servicescache.c:392
+#, c-format
+msgid "Reloading \"%s\" in services cache!"
+msgstr "Перезагрузка \"%s\" в кэше сервисов!"
 
 #: nss/getent.c:52
 msgid "database [key ...]"
-msgstr "ÂÁÚÁ-ÄÁÎÎÙÈ [ËÌÀÞ ...]"
+msgstr "база-данных [ключ ...]"
 
 #: nss/getent.c:57
 msgid "Service configuration to be used"
-msgstr "éÓÐÏÌØÚÕÅÍÁÑ ËÏÎÆÉÇÕÒÁÃÉÑ ÓÌÕÖÂÙ"
+msgstr "Используемая конфигурация службы"
 
 #: nss/getent.c:62
 msgid ""
-"Get entries from administrative database.\vFor bug reporting instructions, please see:\n"
+"Get entries from administrative database.\vFor bug reporting instructions, please see:\n"
 "<http://www.gnu.org/software/libc/bugs.html>.\n"
 msgstr ""
-"ðÏÌÕÞÁÅÔ ÚÁÐÉÓÉ ÉÚ ÁÄÍÉÎÉÓÔÒÁÔÉ×ÎÏÊ ÂÁÚÙ ÄÁÎÎÙÈ.\véÎÓÔÒÕËÃÉÉ ÐÏ ÓÏÏÂÝÅÎÉÀ Ï ÏÛÉÂËÁÈ ÓÍÏÔÒÉÔÅ ÎÁ:\n"
+"Получает записи из административной базы данных.\vИнструкции по сообщению об ошибках смотрите на:\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 "ðÅÒÅÞÉÓÌÅÎÉÅ ÎÅ ÐÏÄÄÅÒÖÉ×ÁÅÔÓÑ ÄÌÑ %s\n"
+msgstr "Перечисление не поддерживается для %s\n"
 
 #: nss/getent.c:782
 #, c-format
 msgid "Unknown database name"
-msgstr "îÅÉÚ×ÅÓÔÎÏÅ ÉÍÑ ÂÁÚÙ ÄÁÎÎÙÈ"
+msgstr "Неизвестное имя базы данных"
 
 #: nss/getent.c:808
 msgid "Supported databases:\n"
-msgstr "ðÏÄÄÅÒÖÉ×ÁÅÍÙÅ ÂÁÚÙ ÄÁÎÎÙÈ:\n"
+msgstr "Поддерживаемые базы данных:\n"
 
 #: nss/getent.c:868
 #, c-format
 msgid "Unknown database: %s\n"
-msgstr "îÅÉÚ×ÅÓÔÎÁÑ ÂÁÚÁ ÄÁÎÎÙÈ: %s\n"
+msgstr "Неизвестная база данных: %s\n"
 
 #: nss/makedb.c:60
 msgid "Convert key to lower case"
-msgstr "ðÒÅÏÂÒÁÚÏ×ÁÔØ ËÌÀÞ × ÎÉÖÎÉÊ ÒÅÇÉÓÔÒ"
+msgstr "Преобразовать ключ в нижний регистр"
 
 #: nss/makedb.c:63
 msgid "Do not print messages while building database"
-msgstr "îÅ ÐÅÞÁÔÁÔØ ÓÏÏÂÝÅÎÉÊ ÐÒÉ ÐÏÓÔÒÏÅÎÉÉ ÂÁÚÙ ÄÁÎÎÙÈ"
+msgstr "Не печатать сообщений при построении базы данных"
 
 #: nss/makedb.c:65
 msgid "Print content of database file, one entry a line"
-msgstr "îÁÐÅÞÁÔÁÔØ ÓÏÄÅÒÖÉÍÏÅ ÆÁÊÌÁ ÂÁÚÙ ÄÁÎÎÙÈ, ÐÏ ÏÄÎÏÊ ÚÁÐÉÓÉ × ÓÔÒÏËÕ"
+msgstr "Напечатать содержимое файла базы данных, по одной записи в строку"
 
 #: nss/makedb.c:70
 msgid "Create simple DB database from textual input."
-msgstr "ðÏÓÔÒÏÉÔØ ÐÒÏÓÔÕÀ ÂÁÚÕ ÄÁÎÎÙÈ DB ÉÚ ÔÅËÓÔÏ×ÏÇÏ ××ÏÄÁ."
+msgstr "Построить простую базу данных DB из текстового ввода."
 
 #: nss/makedb.c:73
 msgid ""
@@ -4250,833 +4268,840 @@ msgid ""
 "-o OUTPUT-FILE INPUT-FILE\n"
 "-u INPUT-FILE"
 msgstr ""
-"÷èïäîïê-æáêì ÷ùèïäîïê-æáêì\n"
-"-o ÷ùèïäîïê-æáêì ÷èïäîïê-æáêì\n"
-"-u ÷èïäîïê-æáêì"
+"ВХОДНОЙ-ФАЙЛ ВЫХОДНОЙ-ФАЙЛ\n"
+"-o ВЫХОДНОЙ-ФАЙЛ ВХОДНОЙ-ФАЙЛ\n"
+"-u ВХОДНОЙ-ФАЙЛ"
 
 #: nss/makedb.c:142
 #, c-format
 msgid "No usable database library found."
-msgstr "îÅ ÎÁÊÄÅÎÏ ÐÏÄÈÏÄÑÝÅÊ ÂÉÂÌÉÏÔÅËÉ."
+msgstr "Не найдено подходящей библиотеки."
 
 #: nss/makedb.c:149
 #, c-format
 msgid "cannot open database file `%s': %s"
-msgstr "ÎÅ×ÏÚÍÏÖÎÏ ÏÔËÒÙÔØ ÆÁÊÌ ÂÁÚÙ ÄÁÎÎÙÈ `%s': %s"
+msgstr "невозможно открыть файл базы данных «%s»: %s"
 
 #: nss/makedb.c:151
 msgid "incorrectly formatted file"
-msgstr "ÎÅÐÒÁ×ÉÌØÎÏ ÏÔÆÏÒÍÁÔÉÒÏ×ÁÎÎÙÊ ÆÁÊÌ"
+msgstr "неправильно отформатированный файл"
 
 #: nss/makedb.c:331
 msgid "duplicate key"
-msgstr "ÄÕÂÌÉÒÏ×ÁÎÎÙÊ ËÌÀÞ"
+msgstr "дублированный ключ"
 
 #: nss/makedb.c:337
 #, c-format
 msgid "while writing database file"
-msgstr "ÐÒÉ ÚÁÐÉÓÉ ÆÁÊÌÁ ÂÁÚÙ ÄÁÎÎÙÈ"
+msgstr "пÑ\80и Ð·Ð°Ð¿Ð¸Ñ\81и Ñ\84айла Ð±Ð°Ð·Ñ\8b Ð´Ð°Ð½Ð½Ñ\8bÑ\85"
 
 #: nss/makedb.c:348
 #, c-format
 msgid "problems while reading `%s'"
-msgstr "ÐÒÏÂÌÅÍÙ ÐÒÉ ÞÔÅÎÉÉ `%s'"
+msgstr "пÑ\80облемÑ\8b Ð¿Ñ\80и Ñ\87Ñ\82ении Â«%s»"
 
 #: nss/makedb.c:368 nss/makedb.c:385
 #, c-format
 msgid "while reading database"
-msgstr "ÐÒÉ ÞÔÅÎÉÉ ÂÁÚÙ ÄÁÎÎÙÈ"
+msgstr "пÑ\80и Ñ\87Ñ\82ении Ð±Ð°Ð·Ñ\8b Ð´Ð°Ð½Ð½Ñ\8bÑ\85"
 
-#: posix/getconf.c:940
+#: posix/getconf.c:945
 #, c-format
 msgid "Usage: %s [-v specification] variable_name [pathname]\n"
-msgstr "éÓÐÏÌØÚÏ×ÁÎÉÅ: %s [-v ÓÐÅÃÉÆÉËÁÃÉÑ] ÉÍÑ-ÐÅÒÅÍÅÎÎÏÊ [ÐÕÔØ]\n"
+msgstr "Использование: %s [-v спецификация] имя-переменной [путь]\n"
 
-#: posix/getconf.c:943
+#: posix/getconf.c:948
 #, c-format
 msgid "       %s -a [pathname]\n"
-msgstr "       %s -a [ÐÕÔØ]\n"
+msgstr "       %s -a [пÑ\83Ñ\82Ñ\8c]\n"
 
-#: posix/getconf.c:1062
+#: posix/getconf.c:1067
 #, c-format
 msgid "unknown specification \"%s\""
-msgstr "ÎÅÉÚ×ÅÓÔÎÁÑ ÓÐÅÃÉÆÉËÁÃÉÑ \"%s\""
+msgstr "неизвестная спецификация «%s»"
 
-#: posix/getconf.c:1090
+#: posix/getconf.c:1095
 #, c-format
 msgid "Couldn't execute %s"
-msgstr "îÅ×ÏÚÍÏÖÎÏ ×ÙÐÏÌÎÉÔØ %s"
+msgstr "Невозможно выполнить %s"
 
-#: posix/getconf.c:1130 posix/getconf.c:1146
+#: posix/getconf.c:1135 posix/getconf.c:1151
 msgid "undefined"
-msgstr "ÎÅ ÏÐÒÅÄÅÌÅÎÏ"
+msgstr "не определено"
 
-#: posix/getconf.c:1168
+#: posix/getconf.c:1173
 #, c-format
 msgid "Unrecognized variable `%s'"
-msgstr "îÅÒÁÓÐÏÚÎÁÎÎÁÑ ÐÅÒÅÍÅÎÎÁÑ `%s'"
+msgstr "Нераспознанная переменная «%s»"
 
 #: posix/getopt.c:571 posix/getopt.c:587
 #, c-format
 msgid "%s: option `%s' is ambiguous\n"
-msgstr "%s: ËÌÀÞ `%s' ÎÅÏÄÎÏÚÎÁÞÅÎ\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"
-msgstr "%s: ËÌÀÞ `--%s' ÎÅÌØÚÑ ÉÓÐÏÌØÚÏ×ÁÔØ Ó ÁÒÇÕÍÅÎÔÏÍ\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"
-msgstr "%s: ËÌÀÞ `%c%s' ÎÅÌØÚÑ ÉÓÐÏÌØÚÏ×ÁÔØ Ó ÁÒÇÕÍÅÎÔÏÍ\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"
-msgstr "%s: ËÌÀÞ `%s' ÔÒÅÂÕÅÔ ÁÒÇÕÍÅÎÔ\n"
+msgstr "%s: ключ «%s» должен использоваться с аргументом\n"
 
 #: posix/getopt.c:738 posix/getopt.c:741
 #, c-format
 msgid "%s: unrecognized option `--%s'\n"
-msgstr "%s: ÎÅÒÁÓÐÏÚÎÁÎÎÙÊ ËÌÀÞ `--%s'\n"
+msgstr "%s: неизвестный ключ «--%s»\n"
 
 #: posix/getopt.c:749 posix/getopt.c:752
 #, c-format
 msgid "%s: unrecognized option `%c%s'\n"
-msgstr "%s: ÎÅÒÁÓÐÏÚÎÁÎÎÙÊ ËÌÀÞ `%c%s'\n"
+msgstr "%s: неизвестный ключ «%c%s»\n"
 
 #: posix/getopt.c:804 posix/getopt.c:807
 #, c-format
 msgid "%s: illegal option -- %c\n"
-msgstr "%s: ÎÅÄÏÐÕÓÔÉÍÙÊ ËÌÀÞ -- %c\n"
+msgstr "%s: недопустимый ключ -- %c\n"
 
 #: posix/getopt.c:813 posix/getopt.c:816
 #, c-format
 msgid "%s: invalid option -- %c\n"
-msgstr "%s: ÎÅ×ÅÒÎÙÊ ËÌÀÞ -- %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"
-msgstr "%s: ËÌÀÞ ÔÒÅÂÕÅÔ ÁÒÇÕÍÅÎÔ -- %c\n"
+msgstr "%s: ключ должен использоваться с аргументом -- %c\n"
 
 #: posix/getopt.c:937 posix/getopt.c:953
 #, c-format
 msgid "%s: option `-W %s' is ambiguous\n"
-msgstr "%s: ËÌÀÞ `-W %s' ÎÅÏÄÎÏÚÎÁÞÅÎ\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"
-msgstr "%s: ËÌÀÞ `-W %s' ÎÅÌØÚÑ ÉÓÐÏÌØÚÏ×ÁÔØ Ó ÁÒÇÕÍÅÎÔÏÍ\n"
+msgstr "%s: ключ «-W %s» должен использоваться без аргумента\n"
 
 #: posix/regcomp.c:135
 msgid "No match"
-msgstr "îÅÔ ÓÏ×ÐÁÄÅÎÉÑ"
+msgstr "Нет совпадения"
 
 #: posix/regcomp.c:138
 msgid "Invalid regular expression"
-msgstr "îÅ×ÅÒÎÏÅ ÒÅÇÕÌÑÒÎÏÅ ×ÙÒÁÖÅÎÉÅ"
+msgstr "Неверное регулярное выражение"
 
 #: posix/regcomp.c:141
 msgid "Invalid collation character"
-msgstr "îÅ×ÅÒÎÙÊ ÚÎÁË ÓÏÒÔÉÒÏ×ËÉ"
+msgstr "Неверный знак сортировки"
 
 #: posix/regcomp.c:144
 msgid "Invalid character class name"
-msgstr "îÅ×ÅÒÎÏÅ ÉÍÑ ËÌÁÓÓÁ ÚÎÁËÏ×"
+msgstr "Неверное имя класса знаков"
 
 #: posix/regcomp.c:147
 msgid "Trailing backslash"
-msgstr "ïÂÒÁÔÎÁÑ ËÏÓÁÑ ÞÅÒÔÁ × ËÏÎÃÅ"
+msgstr "Обратная косая черта в конце"
 
 #: posix/regcomp.c:150
 msgid "Invalid back reference"
-msgstr "îÅ×ÅÒÎÁÑ ÓÓÙÌËÁ ÎÁÚÁÄ"
+msgstr "Неверная ссылка назад"
 
 #: posix/regcomp.c:153
 msgid "Unmatched [ or [^"
-msgstr "îÅÐÁÒÎÁÑ [ ÉÌÉ [^"
+msgstr "Непарная [ или [^"
 
 #: posix/regcomp.c:156
 msgid "Unmatched ( or \\("
-msgstr "îÅÐÁÒÎÁÑ ( ÉÌÉ \\("
+msgstr "Непарная ( или \\("
 
 #: posix/regcomp.c:159
 msgid "Unmatched \\{"
-msgstr "îÅÐÁÒÎÁÑ \\{"
+msgstr "Непарная \\{"
 
 #: posix/regcomp.c:162
 msgid "Invalid content of \\{\\}"
-msgstr "îÅ×ÅÒÎÏÅ ÓÏÄÅÒÖÉÍÏÅ × \\{\\}"
+msgstr "Неверное содержимое в \\{\\}"
 
 #: posix/regcomp.c:165
 msgid "Invalid range end"
-msgstr "îÅ×ÅÒÎÙÊ ËÏÎÅàÄÉÁÐÁÚÏÎÁ"
+msgstr "Неверный конец диапазона"
 
 #: posix/regcomp.c:168
 msgid "Memory exhausted"
-msgstr "ðÁÍÑÔØ ÉÓÞÅÒÐÁÎÁ"
+msgstr "Память исчерпана"
 
 #: posix/regcomp.c:171
 msgid "Invalid preceding regular expression"
-msgstr "îÅ×ÅÒÎÏÅ ÐÒÅÄÛÅÓÔ×ÕÀÝÅÅ ÒÅÇÕÌÑÒÎÏÅ ×ÙÒÁÖÅÎÉÅ"
+msgstr "Неверное предшествующее регулярное выражение"
 
 #: posix/regcomp.c:174
 msgid "Premature end of regular expression"
-msgstr "ðÒÅÖÄÅ×ÒÅÍÅÎÎÙÊ ËÏÎÅàÒÅÇÕÌÑÒÎÏÇÏ ×ÙÒÁÖÅÎÉÑ"
+msgstr "Преждевременный конец регулярного выражения"
 
 #: posix/regcomp.c:177
 msgid "Regular expression too big"
-msgstr "òÅÇÕÌÑÒÎÏÅ ×ÙÒÁÖÅÎÉÅ ÓÌÉÛËÏÍ ×ÅÌÉËÏ"
+msgstr "Регулярное выражение слишком велико"
 
 #: posix/regcomp.c:180
 msgid "Unmatched ) or \\)"
-msgstr "îÅÐÁÒÎÁÑ ) ÉÌÉ \\)"
+msgstr "Непарная ) или \\)"
 
 #: posix/regcomp.c:660
 msgid "No previous regular expression"
-msgstr "îÅÔ ÐÒÅÄÛÅÓÔ×ÕÀÝÅÇÏ ÒÅÇÕÌÑÒÎÏÇÏ ×ÙÒÁÖÅÎÉÑ"
+msgstr "Нет предшествующего регулярного выражения"
 
 #: posix/wordexp.c:1798
 msgid "parameter null or not set"
-msgstr "ÐÁÒÁÍÅÔÒ ÐÕÓÔ ÉÌÉ ÎÅ ÚÁÄÁÎ"
+msgstr "паÑ\80амеÑ\82Ñ\80 Ð¿Ñ\83Ñ\81Ñ\82 Ð¸Ð»Ð¸ Ð½Ðµ Ð·Ð°Ð´Ð°Ð½"
 
 #: resolv/herror.c:68
 msgid "Resolver Error 0 (no error)"
-msgstr "ïÛÉÂËÁ ÒÅÓÏÌ×ÅÒÁ 0 (ÎÅÔ ÏÛÉÂËÉ)"
+msgstr "Ошибка ресолвера 0 (нет ошибки)"
 
 #: resolv/herror.c:69
 msgid "Unknown host"
-msgstr "îÅÉÚ×ÅÓÔÎÙÊ ÈÏÓÔ"
+msgstr "Неизвестный хост"
 
 #: resolv/herror.c:70
 msgid "Host name lookup failure"
-msgstr "óÂÏÊ ÐÏÉÓËÁ ÉÍÅÎÉ ÈÏÓÔÁ"
+msgstr "Сбой поиска имени хоста"
 
 #: resolv/herror.c:71
 msgid "Unknown server error"
-msgstr "îÅÉÚ×ÅÓÔÎÁÑ ÏÛÉÂËÁ ÓÅÒ×ÅÒÁ"
+msgstr "Неизвестная ошибка сервера"
 
 #: resolv/herror.c:72
 msgid "No address associated with name"
-msgstr "ó ÉÍÅÎÅÍ ÎÅ Ó×ÑÚÁÎÏ ÎÉ ÏÄÎÏÇÏ ÁÄÒÅÓÁ"
+msgstr "С именем не связано ни одного адреса"
 
 #: resolv/herror.c:107
 msgid "Resolver internal error"
-msgstr "÷ÎÕÔÒÅÎÎÑÑ ÏÛÉÂËÁ ÒÅÓÏÌ×ÅÒÁ"
+msgstr "Внутренняя ошибка ресолвера"
 
 #: resolv/herror.c:110
 msgid "Unknown resolver error"
-msgstr "îÅÉÚ×ÅÓÔÎÁÑ ÏÛÉÂËÁ ÒÅÓÏÌ×ÅÒÁ"
+msgstr "Неизвестная ошибка ресолвера"
 
 #: resolv/res_hconf.c:124
 #, c-format
 msgid "%s: line %d: cannot specify more than %d trim domains"
-msgstr ""
+msgstr "%s: строка %d: не удалось указать более %d готовых доменов"
 
 #: resolv/res_hconf.c:145
 #, c-format
 msgid "%s: line %d: list delimiter not followed by domain"
-msgstr "%s: ÓÔÒÏËÁ %d: ÐÏÓÌÅ ÒÁÚÄÅÌÉÔÅÌÑ ÓÐÉÓËÁ ÎÅ ÓÔÏÉÔ ÄÏÍÅÎ"
+msgstr "%s: строка %d: после разделителя списка не стоит домен"
 
 #: resolv/res_hconf.c:204
 #, c-format
 msgid "%s: line %d: expected `on' or `off', found `%s'\n"
-msgstr "%s: ÓÔÒÏËÁ %d: ÏÖÉÄÁÅÔÓÑ `on' ÉÌÉ `off', ÎÁÊÄÅÎÏ `%s'\n"
+msgstr "%s: строка %d: ожидается «on» или «off», найдено «%s»\n"
 
 #: resolv/res_hconf.c:247
 #, c-format
 msgid "%s: line %d: bad command `%s'\n"
-msgstr "%s: ÓÔÒÏËÁ %d: ÎÅÐÒÁ×ÉÌØÎÁÑ ËÏÍÁÎÄÁ `%s'\n"
+msgstr "%s: строка %d: неправильная команда «%s»\n"
 
 #: resolv/res_hconf.c:282
 #, c-format
 msgid "%s: line %d: ignoring trailing garbage `%s'\n"
-msgstr "%s: ÓÔÒÏËÁ %d: ÉÇÎÏÒÉÒÏ×ÁΠÍÕÓÏÒ × ËÏÎÃÅ `%s'\n"
+msgstr "%s: строка %d: игнорирован мусор в конце «%s»\n"
 
 #: stdio-common/psignal.c:51
 #, c-format
 msgid "%s%sUnknown signal %d\n"
-msgstr "%s%sîÅÉÚ×ÅÓÔÎÙÊ ÓÉÇÎÁÌ %d\n"
+msgstr "%s%sНеизвестный сигнал %d\n"
 
 #: stdio-common/psignal.c:52
 msgid "Unknown signal"
-msgstr "îÅÉÚ×ÅÓÔÎÙÊ ÓÉÇÎÁÌ"
+msgstr "Неизвестный сигнал"
 
 #: string/_strerror.c:45 sysdeps/mach/_strerror.c:87
 msgid "Unknown error "
-msgstr "îÅÉÚ×ÅÓÔÎÁÑ ÏÛÉÂËÁ "
+msgstr "Неизвестная ошибка "
 
 #: string/strerror.c:43
 msgid "Unknown error"
-msgstr "îÅÉÚ×ÅÓÔÎÁÑ ÏÛÉÂËÁ"
+msgstr "Неизвестная ошибка"
 
 #: string/strsignal.c:65
 #, c-format
 msgid "Real-time signal %d"
-msgstr "óÉÇÎÁÌ ÒÅÁÌØÎÏÇÏ ×ÒÅÍÅÎÉ %d"
+msgstr "Сигнал реального времени %d"
 
 #: string/strsignal.c:69
 #, c-format
 msgid "Unknown signal %d"
-msgstr "îÅÉÚ×ÅÓÔÎÙÊ ÓÉÇÎÁÌ %d"
+msgstr "Неизвестный сигнал %d"
 
 #: sunrpc/auth_unix.c:114
 msgid "authunix_create: out of memory\n"
-msgstr "authunix_create: ÎÅÄÏÓÔÁÔÏÞÎÏ ÐÁÍÑÔÉ\n"
+msgstr "authunix_create: недостаточно памяти\n"
 
 #: sunrpc/auth_unix.c:350
-msgid "auth_none.c - Fatal marshalling problem"
-msgstr "auth_none.c -- æÁÔÁÌØÎÁÑ ÏÛÉÂËÁ ÍÁÒÛÁÌÌÉÎÇÁ"
+#, fuzzy
+msgid "auth_unix.c: Fatal marshalling problem"
+msgstr "auth_none.c - Фатальная ошибка маршаллинга"
 
 #: sunrpc/clnt_perr.c:118 sunrpc/clnt_perr.c:139
 #, c-format
 msgid "; low version = %lu, high version = %lu"
-msgstr "; ÎÉÖÎÑÑ ×ÅÒÓÉÑ = %lu, ×ÅÒÈÎÑÑ ×ÅÒÓÉÑ = %lu"
+msgstr "; нижняя версия = %lu, верхняя версия = %lu"
 
 #: sunrpc/clnt_perr.c:125
 msgid "; why = "
-msgstr "; ÐÒÉÞÉÎÁ = "
+msgstr "; Ð¿Ñ\80иÑ\87ина = "
 
 #: sunrpc/clnt_perr.c:132
 #, c-format
 msgid "(unknown authentication error - %d)"
-msgstr "(ÎÅÉÚ×ÅÓÔÎÁÑ ÏÛÉÂËÁ ÁÕÔÅÎÆÉËÁÃÉÉ -- %d)"
+msgstr "(неизвестная ошибка аутентификации - %d)"
 
 #: sunrpc/clnt_perr.c:172
 msgid "RPC: Success"
-msgstr "RPC: õÓÐÅÈ"
+msgstr "RPC: Успех"
 
 #: sunrpc/clnt_perr.c:175
 msgid "RPC: Can't encode arguments"
-msgstr "RPC: îÅ×ÏÚÍÏÖÎÏ ÚÁËÏÄÉÒÏ×ÁÔØ ÁÒÇÕÍÅÎÔÙ"
+msgstr "RPC: Невозможно закодировать аргументы"
 
 #: sunrpc/clnt_perr.c:179
 msgid "RPC: Can't decode result"
-msgstr "RPC: îÅ×ÏÚÍÏÖÎÏ ÒÁÓËÏÄÉÒÏ×ÁÔØ ÒÅÚÕÌØÔÁÔ"
+msgstr "RPC: Невозможно раскодировать результат"
 
 #: sunrpc/clnt_perr.c:183
 msgid "RPC: Unable to send"
-msgstr "RPC: îÅ ÕÄÁÌÏÓØ ÐÏÓÌÁÔØ"
+msgstr "RPC: Не удалось послать"
 
 #: sunrpc/clnt_perr.c:187
 msgid "RPC: Unable to receive"
-msgstr "RPC: îÅ ÕÄÁÌÏÓØ ÐÏÌÕÞÉÔØ"
+msgstr "RPC: Не удалось получить"
 
 #: sunrpc/clnt_perr.c:191
 msgid "RPC: Timed out"
-msgstr "RPC: ÷ÒÅÍÑ ÏÖÉÄÁÎÉÑ ÉÓÔÅËÌÏ"
+msgstr "RPC: Время ожидания истекло"
 
 #: sunrpc/clnt_perr.c:195
 msgid "RPC: Incompatible versions of RPC"
-msgstr "RPC: îÅÓÏ×ÍÅÓÔÉÍÙÅ ×ÅÒÓÉÉ RPC"
+msgstr "RPC: Несовместимые версии RPC"
 
 #: sunrpc/clnt_perr.c:199
 msgid "RPC: Authentication error"
-msgstr "RPC: ïÛÉÂËÁ ÁÕÔÅÎÆÉËÁÃÉÉ"
+msgstr "RPC: Ошибка аутентификации"
 
 #: sunrpc/clnt_perr.c:203
 msgid "RPC: Program unavailable"
-msgstr "RPC: ðÒÏÇÒÁÍÍÁ ÎÅÄÏÓÔÕÐÎÁ"
+msgstr "RPC: Программа недоступна"
 
 #: sunrpc/clnt_perr.c:207
 msgid "RPC: Program/version mismatch"
-msgstr "RPC: îÅÓÏ×ÐÁÄÅÎÉÅ ÐÒÏÇÒÁÍÍÙ/×ÅÒÓÉÉ"
+msgstr "RPC: Несовпадение программы/версии"
 
 #: sunrpc/clnt_perr.c:211
 msgid "RPC: Procedure unavailable"
-msgstr "RPC: ðÒÏÃÅÄÕÒÁ ÎÅÄÏÓÔÕÐÎÁ"
+msgstr "RPC: Процедура недоступна"
 
 #: sunrpc/clnt_perr.c:215
 msgid "RPC: Server can't decode arguments"
-msgstr "RPC: óÅÒ×ÅÒ ÎÅ ÍÏÖÅÔ ÒÁÓËÏÄÉÒÏ×ÁÔØ ÁÒÇÕÍÅÎÔÙ"
+msgstr "RPC: Сервер не может раскодировать аргументы"
 
 #: sunrpc/clnt_perr.c:219
 msgid "RPC: Remote system error"
-msgstr "RPC: ïÛÉÂËÁ ÕÄÁÌÅÎÎÏÊ ÓÉÓÔÅÍÙ"
+msgstr "RPC: Ошибка удаленной системы"
 
 #: sunrpc/clnt_perr.c:223
 msgid "RPC: Unknown host"
-msgstr "RPC: îÅÉÚ×ÅÓÔÎÙÊ ÈÏÓÔ"
+msgstr "RPC: Неизвестный хост"
 
 #: sunrpc/clnt_perr.c:227
 msgid "RPC: Unknown protocol"
-msgstr "RPC: îÅÉÚ×ÅÓÔÎÙÊ ÐÒÏÔÏËÏÌ"
+msgstr "RPC: Неизвестный протокол"
 
 #: sunrpc/clnt_perr.c:231
 msgid "RPC: Port mapper failure"
-msgstr "RPC: óÂÏÊ ÏÔÏÂÒÁÖÁÔÅÌÑ ÐÏÒÔÏ×"
+msgstr "RPC: Сбой отображателя портов"
 
 #: sunrpc/clnt_perr.c:235
 msgid "RPC: Program not registered"
-msgstr "RPC: ðÒÏÇÒÁÍÍÁ ÎÅ ÚÁÒÅÇÉÓÔÒÉÒÏ×ÁÎÁ"
+msgstr "RPC: Программа не зарегистрирована"
 
 #: sunrpc/clnt_perr.c:239
 msgid "RPC: Failed (unspecified error)"
-msgstr "RPC: óÂÏÊ (ÏÛÉÂËÁ ÎÅ ÕËÁÚÁÎÁ)"
+msgstr "RPC: Сбой (ошибка не указана)"
 
 #: sunrpc/clnt_perr.c:280
 msgid "RPC: (unknown error code)"
-msgstr "RPC: (ÎÅÉÚ×ÅÓÔÎÙÊ ËÏÄ ÏÛÉÂËÉ)"
+msgstr "RPC: (неизвестный код ошибки)"
 
 #: sunrpc/clnt_perr.c:342
 msgid "Authentication OK"
-msgstr "áÕÔÅÎÆÉËÁÃÉÑ ÕÓÐÅÛÎÁ"
+msgstr "Аутентификация успешна"
 
 #: sunrpc/clnt_perr.c:345
 msgid "Invalid client credential"
-msgstr "îÅ×ÅÒÎÙÊ ÒÅË×ÉÚÉÔ ËÌÉÅÎÔÁ"
+msgstr "Неверный реквизит клиента"
 
 #: sunrpc/clnt_perr.c:349
 msgid "Server rejected credential"
-msgstr "óÅÒ×ÅÒ ÏÔ×ÅÒÇ ÒÅË×ÉÚÉÔ"
+msgstr "Сервер отверг реквизит"
 
 #: sunrpc/clnt_perr.c:353
 msgid "Invalid client verifier"
-msgstr ""
+msgstr "Неверный верификатор клиента"
 
 #: sunrpc/clnt_perr.c:357
 msgid "Server rejected verifier"
-msgstr ""
+msgstr "Сервер отверг реквизит"
 
 #: sunrpc/clnt_perr.c:361
 msgid "Client credential too weak"
-msgstr "òÅË×ÉÚÉÔ ËÌÉÅÎÔÁ ÓÌÉÛËÏÍ ÓÌÁÂ"
+msgstr "Реквизит клиента слишком слаб"
 
 #: sunrpc/clnt_perr.c:365
 msgid "Invalid server verifier"
-msgstr ""
+msgstr "Неверный верификатор сервера"
 
 #: sunrpc/clnt_perr.c:369
 msgid "Failed (unspecified error)"
-msgstr "óÂÏÊ (ÏÛÉÂËÁ ÎÅ ÕËÁÚÁÎÁ)"
+msgstr "Сбой (ошибка не указана)"
 
 #: sunrpc/clnt_raw.c:117
-msgid "clnt_raw.c - Fatal header serialization error."
-msgstr "clnt_raw.c -- æÁÔÁÌØÎÁÑ ÏÛÉÂËÁ ÓÅÒÉÁÌÉÚÁÃÉÉ ÚÁÇÏÌÏ×ËÁ."
+#, fuzzy
+msgid "clnt_raw.c: fatal header serialization error"
+msgstr "clnt_raw.c - фатальная ошибка сериализации заголовка."
 
 #: sunrpc/clnt_tcp.c:131
 msgid "clnttcp_create: out of memory\n"
-msgstr "clnttcp_create: ÐÁÍÑÔØ ÉÓÞÅÒÐÁÎÁ\n"
+msgstr "clnttcp_create: Ð¿Ð°Ð¼Ñ\8fÑ\82Ñ\8c Ð¸Ñ\81Ñ\87еÑ\80пана\n"
 
 #: sunrpc/clnt_udp.c:139
 msgid "clntudp_create: out of memory\n"
-msgstr "clntudp_create: ÐÁÍÑÔØ ÉÓÞÅÒÐÁÎÁ\n"
+msgstr "clntudp_create: Ð¿Ð°Ð¼Ñ\8fÑ\82Ñ\8c Ð¸Ñ\81Ñ\87еÑ\80пана\n"
 
 #: sunrpc/clnt_unix.c:128
 msgid "clntunix_create: out of memory\n"
-msgstr "clntunix_create: ÐÁÍÑÔØ ÉÓÞÅÒÐÁÎÁ\n"
+msgstr "clntunix_create: Ð¿Ð°Ð¼Ñ\8fÑ\82Ñ\8c Ð¸Ñ\81Ñ\87еÑ\80пана\n"
 
 #: sunrpc/pm_getmaps.c:83
-msgid "pmap_getmaps rpc problem"
-msgstr "ÐÒÏÂÌÅÍÁ pmap_getmaps rpc"
+#, fuzzy
+msgid "pmap_getmaps.c: rpc problem"
+msgstr "pmap_getmaps проблема rpc"
 
 #: sunrpc/pmap_clnt.c:129
 msgid "Cannot register service"
-msgstr "îÅ×ÏÚÍÏÖÎÏ ÚÁÒÅÇÉÓÔÒÉÒÏ×ÁÔØ ÓÌÕÖÂÕ"
+msgstr "Невозможно зарегистрировать службу"
 
 #: sunrpc/pmap_rmt.c:248
 msgid "Cannot create socket for broadcast rpc"
-msgstr "îÅ×ÏÚÍÏÖÎÏ ÓÏÚÄÁÔØ ÓÏËÅÔ ÄÌÑ ÛÉÒÏËÏ×ÅÝÁÔÅÌØÎÏÇÏ rpc"
+msgstr "Невозможно создать сокет для широковещательного rpc"
 
 #: sunrpc/pmap_rmt.c:255
 msgid "Cannot set socket option SO_BROADCAST"
-msgstr "îÅ×ÏÚÍÏÖÎÏ ÕÓÔÁÎÏ×ÉÔØ ×ÏÚÍÏÖÎÏÓÔØ ÓÏËÅÔÁ SO_BROADCAST"
+msgstr "Невозможно установить возможность сокета SO_BROADCAST"
 
 #: sunrpc/pmap_rmt.c:307
 msgid "Cannot send broadcast packet"
-msgstr "îÅ×ÏÚÍÏÖÎÏ ÐÏÓÌÁÔØ ÛÉÒÏËÏ×ÅÝÁÔÅÌØÎÙÊ ÐÁËÅÔ"
+msgstr "Невозможно послать широковещательный пакет"
 
 #: sunrpc/pmap_rmt.c:332
 msgid "Broadcast poll problem"
-msgstr "ðÒÏÂÌÅÍÁ Ó ÛÉÒÏËÏ×ÅÝÁÔÅÌØÎÙÍ ÏÐÒÏÓÏÍ"
+msgstr "Проблема с широковещательным опросом"
 
 #: sunrpc/pmap_rmt.c:345
 msgid "Cannot receive reply to broadcast"
-msgstr "îÅ×ÏÚÍÏÖÎÏ ÐÏÌÕÞÉÔØ ÏÔ×ÅÔ ÎÁ ÛÉÒÏËÏ×ÅÝÁÔÅÌØÎÏÅ ÓÏÏÂÝÅÎÉÅ"
+msgstr "Невозможно получить ответ на широковещательное сообщение"
 
 #: sunrpc/rpc_main.c:286
 #, c-format
 msgid "%s: output would overwrite %s\n"
-msgstr "%s: ×Ù×ÏÄ ÐÅÒÅÚÁÐÉÓÁÌ ÂÙ %s\n"
+msgstr "%s: вывод перезаписал бы %s\n"
 
 #: sunrpc/rpc_main.c:293
 #, c-format
 msgid "%s: unable to open %s: %m\n"
-msgstr "%s: ÎÅ×ÏÚÍÏÖÎÏ ÏÔËÒÙÔØ %s: %m\n"
+msgstr "%s: невозможно открыть %s: %m\n"
 
 #: sunrpc/rpc_main.c:305
 #, c-format
 msgid "%s: while writing output %s: %m"
-msgstr "%s: ×Ï ×ÒÅÍÑ ÚÁÐÉÓÉ ×Ù×ÏÄÁ %s: %m"
+msgstr "%s: во время записи вывода %s: %m"
 
 #: sunrpc/rpc_main.c:340
 #, c-format
 msgid "cannot find C preprocessor: %s \n"
-msgstr "ÎÅ×ÏÚÍÏÖÎÏ ÎÁÊÔÉ ÐÒÅÐÒÏÃÅÓÓÏÒ óÉ: %s \n"
+msgstr "невозможно найти препроцессор Си: %s \n"
 
 #: sunrpc/rpc_main.c:348
 msgid "cannot find any C preprocessor (cpp)\n"
-msgstr "ÎÅ×ÏÚÍÏÖÎÏ ÎÁÊÔÉ ÎÉËÁËÏÇÏ ÐÒÅÐÒÏÃÅÓÓÏÒÁ óÉ (cpp)\n"
+msgstr "невозможно найти никакого препроцессора Си (cpp)\n"
 
 #: sunrpc/rpc_main.c:417
 #, c-format
 msgid "%s: C preprocessor failed with signal %d\n"
-msgstr "%s: ÐÒÅÐÒÏÃÅÓÓÏÒ óÉ ÚÁ×ÅÒÛÉÌÓÑ ÎÅÕÓÐÅÛÎÏ Ó ÓÉÇÎÁÌÏÍ %d\n"
+msgstr "%s: Ð¿Ñ\80епÑ\80оÑ\86еÑ\81Ñ\81оÑ\80 Ð¡Ð¸ Ð·Ð°Ð²ÐµÑ\80Ñ\88илÑ\81Ñ\8f Ð½Ðµ Ñ\83Ñ\81пеÑ\88но Ñ\81 Ñ\81игналом %d\n"
 
 #: sunrpc/rpc_main.c:420
 #, c-format
 msgid "%s: C preprocessor failed with exit code %d\n"
-msgstr "%s: ÐÒÅÐÒÏÃÅÓÓÏÒ óÉ ÚÁ×ÅÒÛÉÌÓÑ ÎÅÕÓÐÅÛÎÏ Ó ×ÙÈÏÄÎÙÍ ËÏÄÏÍ %d\n"
+msgstr "%s: Ð¿Ñ\80епÑ\80оÑ\86еÑ\81Ñ\81оÑ\80 Ð¡Ð¸ Ð·Ð°Ð²ÐµÑ\80Ñ\88илÑ\81Ñ\8f Ð½Ðµ Ñ\83Ñ\81пеÑ\88но Ñ\81 Ð²Ñ\8bÑ\85однÑ\8bм ÐºÐ¾Ð´Ð¾Ð¼ %d\n"
 
 #: sunrpc/rpc_main.c:460
-#, c-format
-msgid "illegal nettype :`%s'\n"
-msgstr "ÎÅ×ÅÒÎÙÊ nettype :`%s'\n"
+#, fuzzy, c-format
+msgid "illegal nettype`%s'\n"
+msgstr "неверный nettype:«%s»\n"
 
 #: sunrpc/rpc_main.c:1122
 #, c-format
 msgid "rpcgen: too many defines\n"
-msgstr "rpcgen: ÓÌÉÛËÏÍ ÍÎÏÇÏ ÏÐÒÅÄÅÌÅÎÉÊ\n"
+msgstr "rpcgen: слишком много определений\n"
 
 #: sunrpc/rpc_main.c:1134
 #, c-format
 msgid "rpcgen: arglist coding error\n"
-msgstr "rpcgen: ÏÛÉÂËÁ ËÏÄÉÒÏ×ÁÎÉÑ ÓÐÉÓËÁ ÁÒÇÕÍÅÎÔÏ×\n"
+msgstr "rpcgen: ошибка кодирования списка аргументов\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 "ÆÁÊÌ `%s' ÕÖÅ ÓÕÝÅÓÔ×ÕÅÔ É ÍÏÖÅÔ ÂÙÔØ ÐÅÒÅÚÁÐÉÓÁÎ\n"
+msgstr "файл «%s» уже существует и может быть перезаписан\n"
 
 #: sunrpc/rpc_main.c:1212
 #, c-format
 msgid "Cannot specify more than one input file!\n"
-msgstr "îÅÌØÚÑ ÚÁÄÁ×ÁÔØ ÂÏÌÅÅ ÏÄÎÏÇÏ ×ÈÏÄÎÏÇÏ ÆÁÊÌÁ!\n"
+msgstr "Нельзя задавать более одного входного файла!\n"
 
 #: sunrpc/rpc_main.c:1382
 msgid "This implementation doesn't support newstyle or MT-safe code!\n"
-msgstr ""
+msgstr "Эта реализация не поддерживает код нового стиля или безопасный многопоточный код!\n"
 
 #: sunrpc/rpc_main.c:1391
 #, c-format
 msgid "Cannot use netid flag with inetd flag!\n"
-msgstr "îÅ×ÏÚÍÏÖÎÏ ÉÓÐÏÌØÚÏ×ÁÔØ ÆÌÁÇ netid Ó ÆÌÁÇÏÍ inetd!\n"
+msgstr "Невозможно использовать флаг netid с флагом inetd!\n"
 
 #: sunrpc/rpc_main.c:1403
 msgid "Cannot use netid flag without TIRPC!\n"
-msgstr "îÅ×ÏÚÍÏÖÎÏ ÉÓÐÏÌØÚÏ×ÁÔØ ÆÌÁÇ netid ÂÅÚ TIRPC!\n"
+msgstr "Невозможно использовать флаг netid без TIRPC!\n"
 
 #: sunrpc/rpc_main.c:1410
 msgid "Cannot use table flags with newstyle!\n"
-msgstr ""
+msgstr "Невозможно использовать флаги таблиц с новым стилем!\n"
 
 #: sunrpc/rpc_main.c:1429
 #, c-format
 msgid "\"infile\" is required for template generation flags.\n"
-msgstr "ôÒÅÂÕÅÔÓÑ ÚÁÄÁÔØ \"×ÈÏÄÎÏÊ-ÆÁÊÌ\" ÄÌÑ ÆÌÁÇÏ× ÇÅÎÅÒÉÒÏ×ÁÎÉÑ ÛÁÂÌÏÎÁ.\n"
+msgstr "Требуется задать «входной-файл» для флагов генерирования шаблона.\n"
 
 #: sunrpc/rpc_main.c:1434
 #, c-format
 msgid "Cannot have more than one file generation flag!\n"
-msgstr "îÅÌØÚÑ ÚÁÄÁ×ÁÔØ ÂÏÌÅÅ ÏÄÎÏÇÏ ÆÌÁÇÁ ÇÅÎÅÒÉÒÏ×ÁÎÉÑ ÆÁÊÌÁ!\n"
+msgstr "Нельзя задавать более одного флага генерирования файла!\n"
 
 #: sunrpc/rpc_main.c:1443
 #, c-format
 msgid "usage: %s infile\n"
-msgstr "ÉÓÐÏÌØÚÏ×ÁÎÉÅ: %s ×ÈÏÄÎÏÊ-ÆÁÊÌ\n"
+msgstr "использование: %s входной-файл\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[=ÚÎÁÞÅÎÉÅ]] [-i ÒÁÚÍÅÒ] [-I [-K ÓÅËÕÎÄÙ]] [-Y ÐÕÔØ] ×ÈÏÄÎÏÊ-ÆÁÊÌ\n"
+msgstr "\t%s [-abkCLNTM][-Dname[=значение]] [-i размер] [-I [-K секунды]] [-Y путь] входной-файл\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 ×ÙÈÏÄÎÏÊ-ÆÁÊÌ] [×ÈÏÄÎÏÊ-ÆÁÊÌ]\n"
+msgstr "\t%s [-c | -h | -l | -m | -t | -Sc | -Ss | -Sm] [-o выходной-файл] [входной-файл]\n"
 
 # ???
 #: sunrpc/rpc_main.c:1448
 #, c-format
 msgid "\t%s [-s nettype]* [-o outfile] [infile]\n"
-msgstr "\t%s [-s nettype]* [-o ×ÙÈÏÄÎÏÊ-ÆÁÊÌ] [×ÈÏÄÎÏÊ-ÆÁÊÌ]\n"
+msgstr "\t%s [-s nettype]* [-o выходной-файл] [входной-файл]\n"
 
 #: sunrpc/rpc_main.c:1449
 #, c-format
 msgid "\t%s [-n netid]* [-o outfile] [infile]\n"
-msgstr "\t%s [-n netid]* [-o ×ÙÈÏÄÎÏÊ-ÆÁÊÌ] [×ÈÏÄÎÏÊ-ÆÁÊÌ]\n"
+msgstr "\t%s [-n netid]* [-o выходной-файл] [входной-файл]\n"
 
 #: sunrpc/rpc_scan.c:114
 msgid "constant or identifier expected"
-msgstr "ÏÖÉÄÁÅÔÓÑ ËÏÎÓÔÁÎÔÁ ÉÌÉ ÉÄÅÎÔÉÆÉËÁÔÏÒ"
+msgstr "ожидается константа или идентификатор"
 
 #: sunrpc/rpc_scan.c:310
 msgid "illegal character in file: "
-msgstr "ÎÅ×ÅÒÎÙÊ ÚÎÁË × ÆÁÊÌÅ: "
+msgstr "неверный знак в файле: "
 
 #: sunrpc/rpc_scan.c:349 sunrpc/rpc_scan.c:375
 msgid "unterminated string constant"
-msgstr "ÎÅÚÁ×ÅÒÛÅÎÎÁÑ ÓÔÒÏËÏ×ÁÑ ËÏÎÓÔÁÎÔÁ"
+msgstr "незавершенная строковая константа"
 
 #: sunrpc/rpc_scan.c:381
 msgid "empty char string"
-msgstr "ÐÕÓÔÁÑ ÓÔÒÏËÁ"
+msgstr "пÑ\83Ñ\81Ñ\82аÑ\8f Ñ\81Ñ\82Ñ\80ока"
 
 #: sunrpc/rpc_scan.c:523 sunrpc/rpc_scan.c:533
 msgid "preprocessor error"
-msgstr "ÏÛÉÂËÁ ÐÒÅÐÒÏÃÅÓÓÏÒÁ"
+msgstr "ошибка препроцессора"
 
 #: sunrpc/rpcinfo.c:237 sunrpc/rpcinfo.c:383
 #, c-format
 msgid "program %lu is not available\n"
-msgstr "ÐÒÏÇÒÁÍÍÁ %lu ÎÅÄÏÓÔÕÐÎÁ\n"
+msgstr "пÑ\80огÑ\80амма %lu Ð½ÐµÐ´Ð¾Ñ\81Ñ\82Ñ\83пна\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 "ÐÒÏÇÒÁÍÍÁ %lu ×ÅÒÓÉÉ %lu ÎÅÄÏÓÔÕÐÎÁ\n"
+msgstr "пÑ\80огÑ\80амма %lu Ð²ÐµÑ\80Ñ\81ии %lu Ð½ÐµÐ´Ð¾Ñ\81Ñ\82Ñ\83пна\n"
 
 #: sunrpc/rpcinfo.c:515
 #, c-format
 msgid "program %lu version %lu ready and waiting\n"
-msgstr "ÐÒÏÇÒÁÍÍÁ %lu ×ÅÒÓÉÉ %lu ÇÏÔÏ×Á É ÖÄÅÔ\n"
+msgstr "пÑ\80огÑ\80амма %lu Ð²ÐµÑ\80Ñ\81ии %lu Ð³Ð¾Ñ\82ова Ð¸ Ð¶Ð´ÐµÑ\82\n"
 
 #: sunrpc/rpcinfo.c:556 sunrpc/rpcinfo.c:563
 msgid "rpcinfo: can't contact portmapper"
-msgstr "rpcinfo: ÎÅ×ÏÚÍÏÖÎÏ Ó×ÑÚÁÔØÓÑ Ó ÏÔÏÂÒÁÖÁÔÅÌÅÍ ÐÏÒÔÏ×"
+msgstr "rpcinfo: невозможно связаться с отображателем портов"
 
 #: sunrpc/rpcinfo.c:570
 msgid "No remote programs registered.\n"
-msgstr "îÅÔ ÚÁÒÅÇÉÓÔÒÉÒÏ×ÁÎÎÙÈ ÕÄÁÌÅÎÎÙÈ ÐÒÏÇÒÁÍÍ.\n"
+msgstr "Нет зарегистрированных удаленных программ.\n"
 
 #: sunrpc/rpcinfo.c:574
 msgid "   program vers proto   port\n"
-msgstr "   ÐÒÏÇ-ÍÁ ×ÅÒÓ ÐÒÏÔÏ   ÐÏÒÔ\n"
+msgstr "   Ð¿Ñ\80ог-ма Ð²ÐµÑ\80Ñ\81 Ð¿Ñ\80оÑ\82о   Ð¿Ð¾Ñ\80Ñ\82\n"
 
 #: sunrpc/rpcinfo.c:613
 msgid "(unknown)"
-msgstr "(ÎÅÉÚ×ÅÓÔÎÏ)"
+msgstr "(неизвестно)"
 
 #: sunrpc/rpcinfo.c:637
 #, c-format
 msgid "rpcinfo: broadcast failed: %s\n"
-msgstr "rpcinfo: ÛÉÒÏËÏ×ÅÝÁÔÅÌØÎÏÅ ÓÏÏÂÝÅÎÉÅ ÎÅÕÓÐÅÛÎÏ: %s\n"
+msgstr "rpcinfo: широковещательное сообщение не успешно: %s\n"
 
 #: sunrpc/rpcinfo.c:658
 msgid "Sorry. You are not root\n"
-msgstr "éÚ×ÉÎÉÔÅ, ×Ù ÎÅ ÓÕÐÅÒÐÏÌØÚÏ×ÁÔÅÌØ.\n"
+msgstr "Извините, вы не суперпользователь.\n"
 
 #: sunrpc/rpcinfo.c:665
 #, c-format
 msgid "rpcinfo: Could not delete registration for prog %s version %s\n"
-msgstr "rpcinfo: îÅ×ÏÚÍÏÖÎÏ ÕÄÁÌÉÔØ ÒÅÇÉÓÔÒÁÃÉÀ ÐÒÏÇÒÁÍÍÙ %s ×ÅÒÓÉÉ %s\n"
+msgstr "rpcinfo: Невозможно удалить регистрацию программы %s версии %s\n"
 
 #: sunrpc/rpcinfo.c:674
 msgid "Usage: rpcinfo [ -n portnum ] -u host prognum [ versnum ]\n"
-msgstr "Usage: rpcinfo [ -n ÎÏÍÅÒ-ÐÏÒÔÁ ] -u ÈÏÓÔ ÎÏÍÅÒ-ÐÒÏÇÒÁÍÍÙ [ ÎÏÍÅÒ-×ÅÒÓÉÉ ]\n"
+msgstr "Usage: rpcinfo [ -n номер-порта ] -u хост номер-программы [ номер-версии ]\n"
 
 #: sunrpc/rpcinfo.c:676
 msgid "       rpcinfo [ -n portnum ] -t host prognum [ versnum ]\n"
-msgstr "       rpcinfo [ -n ÎÏÍÅÒ-ÐÏÒÔÁ ] -t ÈÏÓÔ ÎÏÍÅÒ-ÐÒÏÇÒÁÍÍÙ [ ÎÏÍÅÒ-×ÅÒÓÉÉ ]\n"
+msgstr "       rpcinfo [ -n номер-порта ] -t хост номер-программы [ номер-версии ]\n"
 
 #: sunrpc/rpcinfo.c:678
 msgid "       rpcinfo -p [ host ]\n"
-msgstr "       rpcinfo -p [ ÈÏÓÔ ]\n"
+msgstr "       rpcinfo -p [ хост ]\n"
 
 #: sunrpc/rpcinfo.c:679
 msgid "       rpcinfo -b prognum versnum\n"
-msgstr "       rpcinfo -b ÎÏÍÅÒ-ÐÒÏÇÒÁÍÍÙ ÎÏÍÅÒ-×ÅÒÓÉÉ\n"
+msgstr "       rpcinfo -b номер-программы номер-версии\n"
 
 #: sunrpc/rpcinfo.c:680
 msgid "       rpcinfo -d prognum versnum\n"
-msgstr "       rpcinfo -d ÎÏÍÅÒ-ÐÒÏÇÒÁÍÍÙ ÎÏÍÅÒ-×ÅÒÓÉÉ\n"
+msgstr "       rpcinfo -d номер-программы номер-версии\n"
 
 #: sunrpc/rpcinfo.c:695
 #, c-format
 msgid "rpcinfo: %s is unknown service\n"
-msgstr "rpcinfo: ÓÌÕÖÂÁ %s ÎÅÉÚ×ÅÓÔÎÁ\n"
+msgstr "rpcinfo: служба %s неизвестна\n"
 
 #: sunrpc/rpcinfo.c:732
 #, c-format
 msgid "rpcinfo: %s is unknown host\n"
-msgstr "rpcinfo: ÈÏÓÔ %s ÎÅÉÚ×ÅÓÔÅÎ\n"
+msgstr "rpcinfo: хост %s неизвестен\n"
+
+#: sunrpc/svc_run.c:70
+msgid "svc_run: - out of memory"
+msgstr "svc_run: недостаточно памяти"
 
-#: sunrpc/svc_run.c:76
+#: sunrpc/svc_run.c:90
 msgid "svc_run: - poll failed"
-msgstr "svc_run: -- ÏÐÒÏÓ ÎÅÕÓÐÅÛÅÎ"
+msgstr "svc_run: -- опрос неуспешен"
 
 #: sunrpc/svc_simple.c:87
 #, c-format
 msgid "can't reassign procedure number %ld\n"
-msgstr "ÎÅ×ÏÚÍÏÖÎÏ ÐÅÒÅÎÁÚÎÁÞÉÔØ ÎÏÍÅÒ ÐÒÏÃÅÄÕÒÙ %ld\n"
+msgstr "невозможно переназначить номер процедуры %ld\n"
 
 #: sunrpc/svc_simple.c:97
 msgid "couldn't create an rpc server\n"
-msgstr "ÎÅ×ÏÚÍÏÖÎÏ ÓÏÚÄÁÔØ ÓÅÒ×ÅÒ rpc\n"
+msgstr "невозможно создать сервер rpc\n"
 
 #: sunrpc/svc_simple.c:105
 #, c-format
 msgid "couldn't register prog %ld vers %ld\n"
-msgstr "ÎÅ×ÏÚÍÏÖÎÏ ÚÁÒÅÇÉÓÔÒÉÒÏ×ÁÔØ ÐÒÏÇÒÁÍÍÕ %ld ×ÅÒÓÉÉ %ld\n"
+msgstr "невозможно зарегистрировать программу %ld версии %ld\n"
 
 #: sunrpc/svc_simple.c:113
 msgid "registerrpc: out of memory\n"
-msgstr "registerrpc: ÐÁÍÑÔØ ÉÓÞÅÒÐÁÎÁ\n"
+msgstr "registerrpc: Ð¿Ð°Ð¼Ñ\8fÑ\82Ñ\8c Ð¸Ñ\81Ñ\87еÑ\80пана\n"
 
 #: sunrpc/svc_simple.c:173
 #, c-format
 msgid "trouble replying to prog %d\n"
-msgstr "ÐÒÏÂÌÅÍÙ ÐÒÉ ÏÔÐÒÁ×ËÅ ÏÔ×ÅÔÁ ÐÒÏÇÒÁÍÍÅ  %d\n"
+msgstr "пÑ\80облемÑ\8b Ð¿Ñ\80и Ð¾Ñ\82пÑ\80авке Ð¾Ñ\82веÑ\82а Ð¿Ñ\80огÑ\80амме  %d\n"
 
 #: sunrpc/svc_simple.c:182
 #, c-format
 msgid "never registered prog %d\n"
-msgstr "ÎÉ ÒÁÚÕ ÎÅ ÒÅÇÉÓÔÒÉÒÏ×ÁÎÎÁÑ ÐÒÏÇÒÁÍÍÁ %d\n"
+msgstr "ни разу не регистрированная программа %d\n"
 
 #: sunrpc/svc_tcp.c:155
 msgid "svc_tcp.c - tcp socket creation problem"
-msgstr "svc_tcp.c -- ÐÒÏÂÌÅÍÁ ÐÒÉ ÓÏÚÄÁÎÉÉ tcp-ÓÏËÅÔÁ"
+msgstr "svc_tcp.c -- Ð¿Ñ\80облема Ð¿Ñ\80и Ñ\81оздании tcp-Ñ\81океÑ\82а"
 
 #: sunrpc/svc_tcp.c:170
 msgid "svc_tcp.c - cannot getsockname or listen"
-msgstr "svc_tcp.c -- ÎÅ×ÏÚÍÏÖÎÏ ×ÙÐÏÌÎÉÔØ getsockname ÉÌÉ listen"
+msgstr "svc_tcp.c -- невозможно выполнить getsockname или listen"
 
 #: sunrpc/svc_tcp.c:179
 msgid "svctcp_create: out of memory\n"
-msgstr "svctcp_create: ÐÁÍÑÔØ ÉÓÞÅÒÐÁÎÁ\n"
+msgstr "svctcp_create: Ð¿Ð°Ð¼Ñ\8fÑ\82Ñ\8c Ð¸Ñ\81Ñ\87еÑ\80пана\n"
 
 #: sunrpc/svc_tcp.c:218
 msgid "svc_tcp: makefd_xprt: out of memory\n"
-msgstr "svc_tcp: makefd_xprt: ÐÁÍÑÔØ ÉÓÞÅÒÐÁÎÁ\n"
+msgstr "svc_tcp: makefd_xprt: Ð¿Ð°Ð¼Ñ\8fÑ\82Ñ\8c Ð¸Ñ\81Ñ\87еÑ\80пана\n"
 
 #: sunrpc/svc_udp.c:128
 msgid "svcudp_create: socket creation problem"
-msgstr "svcudp_create: ÐÒÏÂÌÅÍÁ ÐÒÉ ÓÏÚÄÁÎÉÉ ÓÏËÅÔÁ"
+msgstr "svcudp_create: Ð¿Ñ\80облема Ð¿Ñ\80и Ñ\81оздании Ñ\81океÑ\82а"
 
 #: sunrpc/svc_udp.c:142
 msgid "svcudp_create - cannot getsockname"
-msgstr "svcudp_create -- ÎÅ×ÏÚÍÏÖÎÏ ×ÙÐÏÌÎÉÔØ getsockname"
+msgstr "svcudp_create -- невозможно выполнить getsockname"
 
 #: sunrpc/svc_udp.c:152
 msgid "svcudp_create: out of memory\n"
-msgstr "svcudp_create: ÐÁÍÑÔØ ÉÓÞÅÒÐÁÎÁ\n"
+msgstr "svcudp_create: Ð¿Ð°Ð¼Ñ\8fÑ\82Ñ\8c Ð¸Ñ\81Ñ\87еÑ\80пана\n"
 
 #: sunrpc/svc_udp.c:174
 msgid "svcudp_create: xp_pad is too small for IP_PKTINFO\n"
-msgstr "svcudp_create: xp_pad ÓÌÉÛËÏÍ ÍÁÌÏ ÄÌÑ IP_PKTINFO\n"
+msgstr "svcudp_create: xp_pad слишком мало для IP_PKTINFO\n"
 
 #: sunrpc/svc_udp.c:474
 msgid "enablecache: cache already enabled"
-msgstr "enablecache: ËÜÛ ÕÖÅ ÚÁÄÅÊÓÔ×Ï×ÁÎ"
+msgstr "enablecache: кэш уже задействован"
 
 #: sunrpc/svc_udp.c:480
 msgid "enablecache: could not allocate cache"
-msgstr "enablecache: ÎÅ ÕÄÁÌÏÓØ ×ÙÄÅÌÉÔØ ÍÅÓÔÏ ÐÏÄ ËÜÛ"
+msgstr "enablecache: не удалось выделить место под кэш"
 
 #: sunrpc/svc_udp.c:489
 msgid "enablecache: could not allocate cache data"
-msgstr "enablecache: ÎÅ ÕÄÁÌÏÓØ ×ÙÄÅÌÉÔØ ÍÅÓÔÏ ÐÏÄ ÄÁÎÎÙÅ ËÜÛÁ"
+msgstr "enablecache: не удалось выделить место под данные кэша"
 
 #: sunrpc/svc_udp.c:497
 msgid "enablecache: could not allocate cache fifo"
-msgstr "enablecache: ÎÅ ÕÄÁÌÏÓØ ×ÙÄÅÌÉÔØ ÍÅÓÔÏ ÐÏÄ ÏÞÅÒÅÄØ ËÜÛÁ"
+msgstr "enablecache: не удалось выделить место под очередь кэша"
 
 #: sunrpc/svc_udp.c:532
 msgid "cache_set: victim not found"
-msgstr "cache_set: ÖÅÒÔ×Á ÎÅ ÎÁÊÄÅÎÁ"
+msgstr "cache_set: жертва не найдена"
 
 #: sunrpc/svc_udp.c:543
 msgid "cache_set: victim alloc failed"
-msgstr "cache_set: ÓÂÏÊ ×ÙÄÅÌÅÎÉÑ ÐÁÍÑÔÉ ÄÌÑ ÖÅÒÔ×Ù"
+msgstr "cache_set: сбой выделения памяти для жертвы"
 
 #: sunrpc/svc_udp.c:550
 msgid "cache_set: could not allocate new rpc_buffer"
-msgstr "cache_set: ÎÅ ÕÄÁÌÏÓØ ×ÙÄÅÌÉÔØ ÐÁÍÑÔØ ÐÏÄ ÎÏ×ÙÊ rpc_buffer"
+msgstr "cache_set: не удалось выделить память под новый rpc_buffer"
 
 #: sunrpc/svc_unix.c:150
 msgid "svc_unix.c - AF_UNIX socket creation problem"
-msgstr "svc_unix.c -- ÐÒÏÂÌÅÍÁ ÐÒÉ ÓÏÚÄÁÎÉÉ AF_UNIX-ÓÏËÅÔÁ"
+msgstr "svc_unix.c -- Ð¿Ñ\80облема Ð¿Ñ\80и Ñ\81оздании AF_UNIX-Ñ\81океÑ\82а"
 
 #: sunrpc/svc_unix.c:166
 msgid "svc_unix.c - cannot getsockname or listen"
-msgstr "svc_unix.c -- ÎÅ×ÏÚÍÏÖÎÏ ×ÙÐÏÌÎÉÔØ getsockname ÉÌÉ listen"
+msgstr "svc_unix.c -- невозможно выполнить getsockname или listen"
 
 #: sunrpc/svc_unix.c:176
 msgid "svcunix_create: out of memory\n"
-msgstr "svcunix_create: ÐÁÍÑÔØ ÉÓÞÅÒÐÁÎÁ\n"
+msgstr "svcunix_create: Ð¿Ð°Ð¼Ñ\8fÑ\82Ñ\8c Ð¸Ñ\81Ñ\87еÑ\80пана\n"
 
 #: sunrpc/svc_unix.c:215
 msgid "svc_unix: makefd_xprt: out of memory\n"
-msgstr "svc_unix: makefd_xprt: ÐÁÍÑÔØ ÉÓÞÅÒÐÁÎÁ\n"
+msgstr "svc_unix: makefd_xprt: Ð¿Ð°Ð¼Ñ\8fÑ\82Ñ\8c Ð¸Ñ\81Ñ\87еÑ\80пана\n"
 
 #: sunrpc/xdr.c:566
 msgid "xdr_bytes: out of memory\n"
-msgstr "xdr_bytes: ÐÁÍÑÔØ ÉÓÞÅÒÐÁÎÁ\n"
+msgstr "xdr_bytes: Ð¿Ð°Ð¼Ñ\8fÑ\82Ñ\8c Ð¸Ñ\81Ñ\87еÑ\80пана\n"
 
 #: sunrpc/xdr.c:718
 msgid "xdr_string: out of memory\n"
-msgstr "xdr_string: ÐÁÍÑÔØ ÉÓÞÅÒÐÁÎÁ\n"
+msgstr "xdr_string: Ð¿Ð°Ð¼Ñ\8fÑ\82Ñ\8c Ð¸Ñ\81Ñ\87еÑ\80пана\n"
 
 #: sunrpc/xdr_array.c:106
 msgid "xdr_array: out of memory\n"
-msgstr "xdr_array: ÐÁÍÑÔØ ÉÓÞÅÒÐÁÎÁ\n"
+msgstr "xdr_array: Ð¿Ð°Ð¼Ñ\8fÑ\82Ñ\8c Ð¸Ñ\81Ñ\87еÑ\80пана\n"
 
 #: sunrpc/xdr_rec.c:156
 msgid "xdrrec_create: out of memory\n"
-msgstr "xdrrec_create: ÐÁÍÑÔØ ÉÓÞÅÒÐÁÎÁ\n"
+msgstr "xdrrec_create: Ð¿Ð°Ð¼Ñ\8fÑ\82Ñ\8c Ð¸Ñ\81Ñ\87еÑ\80пана\n"
 
 #: sunrpc/xdr_ref.c:86
 msgid "xdr_reference: out of memory\n"
-msgstr "xdr_reference: ÐÁÍÑÔØ ÉÓÞÅÒÐÁÎÁ\n"
+msgstr "xdr_reference: Ð¿Ð°Ð¼Ñ\8fÑ\82Ñ\8c Ð¸Ñ\81Ñ\87еÑ\80пана\n"
 
 #: sysdeps/generic/siglist.h:29 sysdeps/unix/siglist.c:27
 msgid "Hangup"
-msgstr "ïÂÒÙ× ÔÅÒÍÉÎÁÌØÎÏÊ ÌÉÎÉÉ"
+msgstr "Обрыв терминальной линии"
 
 #: sysdeps/generic/siglist.h:30 sysdeps/unix/siglist.c:28
 msgid "Interrupt"
-msgstr "ðÒÅÒÙ×ÁÎÉÅ"
+msgstr "Прерывание"
 
 #: sysdeps/generic/siglist.h:31 sysdeps/unix/siglist.c:29
 msgid "Quit"
-msgstr "÷ÙÈÏÄ"
+msgstr "Выход"
 
 #: sysdeps/generic/siglist.h:32 sysdeps/unix/siglist.c:30
 msgid "Illegal instruction"
-msgstr "îÅÄÏÐÕÓÔÉÍÁÑ ÉÎÓÔÒÕËÃÉÑ"
+msgstr "Недопустимая инструкция"
 
 #: sysdeps/generic/siglist.h:33 sysdeps/unix/siglist.c:31
 msgid "Trace/breakpoint trap"
-msgstr "ìÏ×ÕÛËÁ ÔÒÁÓÓÉÒÏ×ËÉ/ÏÓÔÁÎÏ×Á"
+msgstr "Ловушка трассировки/останова"
 
 #: sysdeps/generic/siglist.h:34
 msgid "Aborted"
-msgstr "á×ÁÒÉÊÎÙÊ ÏÓÔÁÎÏ×"
+msgstr "Аварийный останов"
 
 #: sysdeps/generic/siglist.h:35 sysdeps/unix/siglist.c:34
 msgid "Floating point exception"
-msgstr "éÓËÌÀÞÅÎÉÅ × ÏÐÅÒÁÃÉÉ Ó ÐÌÁ×ÁÀÝÅÊ ÔÏÞËÏÊ"
+msgstr "Исключение в операции с плавающей точкой"
 
 #: sysdeps/generic/siglist.h:36 sysdeps/unix/siglist.c:35
 msgid "Killed"
-msgstr "õÂÉÔÏ"
+msgstr "Убито"
 
 #: sysdeps/generic/siglist.h:37 sysdeps/unix/siglist.c:36
 msgid "Bus error"
-msgstr "ïÛÉÂËÁ ÛÉÎÙ"
+msgstr "Ошибка шины"
 
 #: sysdeps/generic/siglist.h:38 sysdeps/unix/siglist.c:37
 msgid "Segmentation fault"
-msgstr "ïÛÉÂËÁ ÓÅÇÍÅÎÔÉÒÏ×ÁÎÉÑ"
+msgstr "Ошибка сегментирования"
 
 #. 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
@@ -5086,110 +5111,110 @@ msgstr "
 #: sysdeps/generic/siglist.h:39 sysdeps/gnu/errlist.c:359
 #: sysdeps/unix/siglist.c:39
 msgid "Broken pipe"
-msgstr "ïÂÒÙ× ËÁÎÁÌÁ"
+msgstr "Обрыв канала"
 
 #: sysdeps/generic/siglist.h:40 sysdeps/unix/siglist.c:40
 msgid "Alarm clock"
-msgstr "óÉÇÎÁÌ ÔÁÊÍÅÒÁ"
+msgstr "Сигнал таймера"
 
 #: sysdeps/generic/siglist.h:41 sysdeps/unix/siglist.c:41
 msgid "Terminated"
-msgstr "úÁ×ÅÒÛÅÎÏ"
+msgstr "Завершено"
 
 #: sysdeps/generic/siglist.h:42 sysdeps/unix/siglist.c:42
 msgid "Urgent I/O condition"
-msgstr "óÉÔÕÁÃÉÑ ÓÒÏÞÎÏÇÏ ××ÏÄÁ/×Ù×ÏÄÁ"
+msgstr "Ситуация срочного ввода/вывода"
 
 #: sysdeps/generic/siglist.h:43 sysdeps/unix/siglist.c:43
 msgid "Stopped (signal)"
-msgstr "ïÓÔÁÎÏ×ÌÅÎÏ (ÓÉÇÎÁÌ)"
+msgstr "Остановлено (сигнал)"
 
 #: sysdeps/generic/siglist.h:44 sysdeps/unix/siglist.c:44
 msgid "Stopped"
-msgstr "ïÓÔÁÎÏ×ÌÅÎÏ"
+msgstr "Остановлено"
 
 #: sysdeps/generic/siglist.h:45 sysdeps/unix/siglist.c:45
 msgid "Continued"
-msgstr "ðÒÏÄÏÌÖÅÎÏ"
+msgstr "Продолжено"
 
 #: sysdeps/generic/siglist.h:46 sysdeps/unix/siglist.c:46
 msgid "Child exited"
-msgstr "äÏÞÅÒÎÉÊ ÐÒÏÃÅÓÓ ÚÁ×ÅÒÛÉÌÓÑ"
+msgstr "Дочерний процесс завершился"
 
 #: sysdeps/generic/siglist.h:47 sysdeps/unix/siglist.c:47
 msgid "Stopped (tty input)"
-msgstr "ïÓÔÁÎÏ×ÌÅÎÏ (××ÏÄ Ó ÔÅÒÍÉÎÁÌÁ)"
+msgstr "Остановлено (ввод с терминала)"
 
 #: sysdeps/generic/siglist.h:48 sysdeps/unix/siglist.c:48
 msgid "Stopped (tty output)"
-msgstr "ïÓÔÁÎÏ×ÌÅÎÏ (×Ù×ÏÄ ÎÁ ÔÅÒÍÉÎÁÌ)"
+msgstr "Остановлено (вывод на терминал)"
 
 #: sysdeps/generic/siglist.h:49 sysdeps/unix/siglist.c:49
 msgid "I/O possible"
-msgstr "÷ÏÚÍÏÖÅΠ××ÏÄ/×Ù×ÏÄ"
+msgstr "Возможен ввод/вывод"
 
 #: sysdeps/generic/siglist.h:50 sysdeps/unix/siglist.c:50
 msgid "CPU time limit exceeded"
-msgstr "ðÒÅ×ÙÛÅΠÌÉÍÉÔ ÐÒÏÃÅÓÓÏÒÎÏÇÏ ×ÒÅÍÅÎÉ"
+msgstr "Превышен лимит процессорного времени"
 
 #: sysdeps/generic/siglist.h:51 sysdeps/unix/siglist.c:51
 msgid "File size limit exceeded"
-msgstr "ðÒÅ×ÙÛÅΠÌÉÍÉÔ ÒÁÚÍÅÒÁ ÆÁÊÌÁ"
+msgstr "Превышен лимит размера файла"
 
 #: sysdeps/generic/siglist.h:52 sysdeps/unix/siglist.c:52
 msgid "Virtual timer expired"
-msgstr "÷ÉÒÔÕÁÌØÎÙÊ ÔÁÊÍÅÒ ÉÓÔÅË"
+msgstr "Виртуальный таймер истек"
 
 #: sysdeps/generic/siglist.h:53 sysdeps/unix/siglist.c:53
 msgid "Profiling timer expired"
-msgstr "ðÒÏÆÉÌÉÒÏ×ÏÞÎÙÊ ÔÁÊÍÅÒ ÉÓÔÅË"
+msgstr "Профилировочный таймер истек"
 
 #: sysdeps/generic/siglist.h:54 sysdeps/unix/siglist.c:54
 msgid "Window changed"
-msgstr "ïËÎÏ ÉÚÍÅÎÉÌÏÓØ"
+msgstr "Окно изменилось"
 
 #: sysdeps/generic/siglist.h:55 sysdeps/unix/siglist.c:56
 msgid "User defined signal 1"
-msgstr "ïÐÒÅÄÅÌÑÅÍÙÊ ÐÏÌØÚÏ×ÁÔÅÌÅÍ ÓÉÇÎÁÌ 1"
+msgstr "Определяемый пользователем сигнал 1"
 
 #: sysdeps/generic/siglist.h:56 sysdeps/unix/siglist.c:57
 msgid "User defined signal 2"
-msgstr "ïÐÒÅÄÅÌÑÅÍÙÊ ÐÏÌØÚÏ×ÁÔÅÌÅÍ ÓÉÇÎÁÌ 2"
+msgstr "Определяемый пользователем сигнал 2"
 
 #: sysdeps/generic/siglist.h:60 sysdeps/unix/siglist.c:33
 msgid "EMT trap"
-msgstr "ìÏ×ÕÛËÁ EMT"
+msgstr "Ловушка EMT"
 
 #: sysdeps/generic/siglist.h:63 sysdeps/unix/siglist.c:38
 msgid "Bad system call"
-msgstr "îÅ×ÅÒÎÙÊ ÓÉÓÔÅÍÎÙÊ ×ÙÚÏ×"
+msgstr "Неверный системный вызов"
 
 #: sysdeps/generic/siglist.h:66
 msgid "Stack fault"
-msgstr "ïÛÉÂËÁ ÓÔÅËÁ"
+msgstr "Ошибка стека"
 
 #: sysdeps/generic/siglist.h:69
 msgid "Information request"
-msgstr "úÁÐÒÏÓ ÉÎÆÏÒÍÁÃÉÉ"
+msgstr "Запрос информации"
 
 #: sysdeps/generic/siglist.h:71
 msgid "Power failure"
-msgstr "óÂÏÊ ÐÉÔÁÎÉÑ"
+msgstr "Сбой питания"
 
 #: sysdeps/generic/siglist.h:74 sysdeps/unix/siglist.c:55
 msgid "Resource lost"
-msgstr "ðÏÔÅÒÑ ÒÅÓÕÒÓÁ"
+msgstr "Потеря ресурса"
 
 #. 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 "ïÐÅÒÁÃÉÑ ÎÅ ÐÏÚ×ÏÌÑÅÔÓÑ"
+msgstr "Операция не позволяется"
 
 #. TRANS No process matches the specified process ID.
 #: sysdeps/gnu/errlist.c:45
 msgid "No such process"
-msgstr "îÅÔ ÔÁËÏÇÏ ÐÒÏÃÅÓÓÁ"
+msgstr "Нет такого процесса"
 
 #. TRANS Interrupted function call; an asynchronous signal occurred and prevented
 #. TRANS completion of the call.  When this happens, you should try the call
@@ -5200,12 +5225,12 @@ msgstr "
 #. TRANS Primitives}.
 #: sysdeps/gnu/errlist.c:60
 msgid "Interrupted system call"
-msgstr "ðÒÅÒ×ÁΠÓÉÓÔÅÍÎÙÊ ×ÙÚÏ×"
+msgstr "Прерван системный вызов"
 
 #. TRANS Input/output error; usually used for physical read or write errors.
 #: sysdeps/gnu/errlist.c:69
 msgid "Input/output error"
-msgstr "ïÛÉÂËÁ ××ÏÄÁ/×Ù×ÏÄÁ"
+msgstr "Ошибка ввода/вывода"
 
 #. 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.
@@ -5214,7 +5239,7 @@ msgstr "
 #. TRANS computer.
 #: sysdeps/gnu/errlist.c:82
 msgid "No such device or address"
-msgstr "îÅÔ ÔÁËÏÇÏ ÕÓÔÒÏÊÓÔ×Á ÉÌÉ ÁÄÒÅÓÁ"
+msgstr "Нет такого устройства или адреса"
 
 #. 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
@@ -5222,27 +5247,27 @@ msgstr "
 #. TRANS GNU system.
 #: sysdeps/gnu/errlist.c:94
 msgid "Argument list too long"
-msgstr "óÌÉÛËÏÍ ÄÌÉÎÎÙÊ ÓÐÉÓÏË ÁÒÇÕÍÅÎÔÏ×"
+msgstr "Слишком длинный список аргументов"
 
 #. 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 "ïÛÉÂËÁ ÆÏÒÍÁÔÁ ×ÙÐÏÌÎÑÅÍÏÇÏ ÆÁÊÌÁ"
+msgstr "Ошибка формата выполняемого файла"
 
 #. 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 "îÅÐÒÁ×ÉÌØÎÙÊ ÄÅÓËÒÉÐÔÏÒ ÆÁÊÌÁ"
+msgstr "Неправильный дескриптор файла"
 
 #. 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 "îÅÔ ÄÏÞÅÒÎÉÈ ÐÒÏÃÅÓÓÏ×"
+msgstr "Нет дочерних процессов"
 
 #. TRANS Deadlock avoided; allocating a system resource would have resulted in a
 #. TRANS deadlock situation.  The system does not guarantee that it will notice
@@ -5250,69 +5275,69 @@ msgstr "
 #. TRANS noticed; it might just hang.  @xref{File Locks}, for an example.
 #: sysdeps/gnu/errlist.c:138
 msgid "Resource deadlock avoided"
-msgstr "ðÒÅÄÏÔ×ÒÁÝÅÎÁ ÔÕÐÉËÏ×ÁÑ ÓÉÔÕÁÃÉÑ ÐÒÉ ÏÂÒÁÝÅÎÉÉ Ë ÒÅÓÕÒÓÕ"
+msgstr "Предотвращена тупиковая ситуация при обращении к ресурсу"
 
 #. 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 "îÅ×ÏÚÍÏÖÎÏ ×ÙÄÅÌÉÔØ ÐÁÍÑÔØ"
+msgstr "Невозможно выделить память"
 
 #. 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 "îÅÐÒÁ×ÉÌØÎÙÊ ÁÄÒÅÓ"
+msgstr "Неправильный адрес"
 
 #. 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 "ôÒÅÂÕÅÔÓÑ ÂÌÏÞÎÏÅ ÕÓÔÒÏÊÓÔ×Ï"
+msgstr "Требуется блочное устройство"
 
 #. 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 "õÓÔÒÏÊÓÔ×Ï ÉÌÉ ÒÅÓÕÒÓ ÚÁÎÑÔÏ"
+msgstr "Устройство или ресурс занято"
 
 #. 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 "æÁÊÌ ÓÕÝÅÓÔ×ÕÅÔ"
+msgstr "Файл существует"
 
 #. 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 "îÅ×ÅÒÎÁÑ ÓÓÙÌËÁ ÍÅÖÄÕ ÕÓÔÒÏÊÓÔ×ÁÍÉ"
+msgstr "Неверная ссылка между устройствами"
 
 #. 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 "îÅÔ ÔÁËÏÇÏ ÕÓÔÒÏÊÓÔ×Á"
+msgstr "Нет такого устройства"
 
 #. 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 "üÔÏ ÎÅ ËÁÔÁÌÏÇ"
+msgstr "Это не каталог"
 
 #. 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 "üÔÏ ËÁÔÁÌÏÇ"
+msgstr "Это каталог"
 
 #. 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 "îÅÄÏÐÕÓÔÉÍÙÊ ÁÒÇÕÍÅÎÔ"
+msgstr "Недопустимый аргумент"
 
 #. TRANS The current process has too many files open and can't open any more.
 #. TRANS Duplicate descriptors do count toward this limit.
@@ -5323,20 +5348,20 @@ msgstr "
 #. TRANS @pxref{Limits on Resources}.
 #: sysdeps/gnu/errlist.c:264
 msgid "Too many open files"
-msgstr "óÌÉÛËÏÍ ÍÎÏÇÏ ÏÔËÒÙÔÙÈ ÆÁÊÌÏ×"
+msgstr "Слишком много открытых файлов"
 
 #. 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 "óÌÉÛËÏÍ ÍÎÏÇÏ ÏÔËÒÙÔÙÈ ÆÁÊÌÏ× × ÓÉÓÔÅÍÅ"
+msgstr "Слишком много открытых файлов в системе"
 
 #. 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"
+msgstr "Неприменимый к данному устройству ioctl"
 
 #. 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
@@ -5345,47 +5370,47 @@ msgstr "
 #. 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 "ôÅËÓÔÏ×ÙÊ ÆÁÊÌ ÚÁÎÑÔ"
+msgstr "Текстовый файл занят"
 
 #. 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 "æÁÊÌ ÓÌÉÛËÏÍ ×ÅÌÉË"
+msgstr "Файл слишком велик"
 
 #. 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 "îÁ ÕÓÔÒÏÊÓÔ×Å ËÏÎÞÉÌÏÓØ ÍÅÓÔÏ"
+msgstr "На устройстве кончилось место"
 
 #. TRANS Invalid seek operation (such as on a pipe).
 #: sysdeps/gnu/errlist.c:326
 msgid "Illegal seek"
-msgstr "îÅÄÏÐÕÓÔÉÍÁÑ ÏÐÅÒÁÃÉÑ ÓÍÅÝÅÎÉÑ"
+msgstr "Недопустимая операция смещения"
 
 #. 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 "æÁÊÌÏ×ÁÑ ÓÉÓÔÅÍÁ ÄÏÓÔÕÐÎÁ ÔÏÌØËÏ ÄÌÑ ÞÔÅÎÉÑ"
+msgstr "Файловая система доступна только для чтения"
 
 #. 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 "óÌÉÛËÏÍ ÍÎÏÇÏ ÓÓÙÌÏË"
+msgstr "Слишком много ссылок"
 
 #. 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 "þÉÓÌÏ×ÏÊ ÁÒÇÕÍÅÎÔ ×ÎÅ ÏÂÌÁÓÔÉ ÏÐÒÅÄÅÌÅÎÉÑ"
+msgstr "Числовой аргумент вне области определения"
 
 #. 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 "þÉÓÌÏ×ÏÊ ÒÅÚÕÌØÔÁÔ ×ÎÅ ÐÒÅÄÓÔÁ×ÉÍÏÇÏ ÄÉÁÐÁÚÏÎÁ"
+msgstr "Числовой результат вне представимого диапазона"
 
 #. TRANS Resource temporarily unavailable; the call might work if you try again
 #. TRANS later.  The macro @code{EWOULDBLOCK} is another name for @code{EAGAIN};
@@ -5418,7 +5443,7 @@ msgstr "
 #. TRANS @end itemize
 #: sysdeps/gnu/errlist.c:416
 msgid "Resource temporarily unavailable"
-msgstr "òÅÓÕÒÓ ×ÒÅÍÅÎÎÏ ÎÅÄÏÓÔÕÐÅÎ"
+msgstr "Ресурс временно недоступен"
 
 #. 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.
@@ -5427,7 +5452,7 @@ msgstr "
 #. TRANS separate error code.
 #: sysdeps/gnu/errlist.c:429
 msgid "Operation would block"
-msgstr "ïÐÅÒÁÃÉÑ ÐÒÉ×ÅÄÅÔ Ë ÂÌÏËÉÒÏ×ËÅ"
+msgstr "Операция приведет к блокировке"
 
 #. TRANS An operation that cannot complete immediately was initiated on an object
 #. TRANS that has non-blocking mode selected.  Some functions that must always
@@ -5439,47 +5464,47 @@ msgstr "
 #. TRANS has completed; @pxref{Waiting for I/O}.
 #: sysdeps/gnu/errlist.c:445
 msgid "Operation now in progress"
-msgstr "ïÐÅÒÁÃÉÑ ×ÙÐÏÌÎÑÅÔÓÑ × ÄÁÎÎÙÊ ÍÏÍÅÎÔ"
+msgstr "Операция выполняется в данный момент"
 
 #. 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 "ïÐÅÒÁÃÉÑ ÕÖÅ ×ÙÐÏÌÎÑÅÔÓÑ"
+msgstr "Операция уже выполняется"
 
 #. 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 "ïÐÅÒÁÃÉÑ ÄÌÑ ÓÏËÅÔÁ ÐÒÉÍÅÎÅÎÁ Ë ÎÅ-ÓÏËÅÔÕ"
+msgstr "Операция для сокета применена к не-сокету"
 
 #. 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 "óÏÏÂÝÅÎÉÅ ÓÌÉÛËÏÍ ÄÌÉÎÎÏÅ"
+msgstr "Сообщение слишком длинное"
 
 #. TRANS The socket type does not support the requested communications protocol.
 #: sysdeps/gnu/errlist.c:483
 msgid "Protocol wrong type for socket"
-msgstr "îÅÐÏÄÄÅÒÖÉ×ÁÅÍÙÊ ÄÌÑ ÓÏËÅÔÁ ÔÉРÐÒÏÔÏËÏÌÁ"
+msgstr "Неподдерживаемый для сокета тип протокола"
 
 #. 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 "ðÒÏÔÏËÏÌ ÎÅÄÏÓÔÕÐÅÎ"
+msgstr "Протокол недоступен"
 
 #. 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 "ðÒÏÔÏËÏÌ ÎÅ ÐÏÄÄÅÒÖÉ×ÁÅÔÓÑ"
+msgstr "Протокол не поддерживается"
 
 #. TRANS The socket type is not supported.
 #: sysdeps/gnu/errlist.c:513
 msgid "Socket type not supported"
-msgstr "îÅÐÏÄÄÅÒÖÉ×ÁÅÍÙÊ ÔÉРÓÏËÅÔÁ"
+msgstr "Неподдерживаемый тип сокета"
 
 #. 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
@@ -5489,71 +5514,71 @@ msgstr "
 #. TRANS nothing to do for that call.
 #: sysdeps/gnu/errlist.c:527
 msgid "Operation not supported"
-msgstr "îÅÐÏÄÄÅÒÖÉ×ÁÅÍÁÑ ÏÐÅÒÁÃÉÑ"
+msgstr "Неподдерживаемая операция"
 
 #. TRANS The socket communications protocol family you requested is not supported.
 #: sysdeps/gnu/errlist.c:536
 msgid "Protocol family not supported"
-msgstr "îÅÐÏÄÄÅÒÖÉ×ÁÅÍÏÅ ÓÅÍÅÊÓÔ×Ï ÐÒÏÔÏËÏÌÏ×"
+msgstr "Неподдерживаемое семейство протоколов"
 
 #. 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 "óÅÍÅÊÓÔ×Ï ÁÄÒÅÓÏ× ÎÅ ÐÏÄÄÅÒÖÉ×ÁÅÔÓÑ ÐÒÏÔÏËÏÌÏÍ"
+msgstr "Семейство адресов не поддерживается протоколом"
 
 #. TRANS The requested socket address is already in use.  @xref{Socket Addresses}.
 #: sysdeps/gnu/errlist.c:555
 msgid "Address already in use"
-msgstr "áÄÒÅÓ ÕÖÅ ÉÓÐÏÌØÚÕÅÔÓÑ"
+msgstr "Адрес уже используется"
 
 #. 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 "îÅ×ÏÚÍÏÖÎÏ ÎÁÚÎÁÞÉÔØ ÚÁÐÒÏÛÅÎÎÙÊ ÁÄÒÅÓ"
+msgstr "Невозможно назначить запрошенный адрес"
 
 #. TRANS A socket operation failed because the network was down.
 #: sysdeps/gnu/errlist.c:575
 msgid "Network is down"
-msgstr "óÅÔØ ÎÅ ÒÁÂÏÔÁÅÔ"
+msgstr "Сеть не работает"
 
 #. 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 "óÅÔØ ÎÅÄÏÓÔÕÐÎÁ"
+msgstr "Сеть недоступна"
 
 #. TRANS A network connection was reset because the remote host crashed.
 #: sysdeps/gnu/errlist.c:594
 msgid "Network dropped connection on reset"
-msgstr "óÅÔÅ×ÏÅ ÓÏÅÄÉÎÅÎÉÅ ÂÙÌÏ ÓÂÒÏÛÅÎÏ"
+msgstr "Сетевое соединение было сброшено"
 
 #. TRANS A network connection was aborted locally.
 #: sysdeps/gnu/errlist.c:603
 msgid "Software caused connection abort"
-msgstr "ðÒÏÇÒÁÍÍÁ ×ÙÚ×ÁÌÁ ÓÂÒÏÓ ÓÏÅÄÉÎÅÎÉÑ"
+msgstr "Программа вызвала сброс соединения"
 
 #. 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 "óÏÅÄÉÎÅÎÉÅ ÓÂÒÏÛÅÎÏ ÄÒÕÇÏÊ ÓÔÏÒÏÎÏÊ"
+msgstr "Соединение сброшено другой стороной"
 
 #. 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 "îÅÄÏÓÔÁÔÏÞÎÏ ÂÕÆÅÒÎÏÇÏ ÐÒÏÓÔÒÁÎÓÔ×Á"
+msgstr "Недостаточно буферного пространства"
 
 #. 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 "ëÏÎÅÞÎÁÑ ÔÏÞËÁ ÐÅÒÅÄÁÞÉ ÕÖÅ ÐÏÄÓÏÅÄÉÎÅÎÁ"
+msgstr "Конечная точка передачи уже подсоединена"
 
 #. 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
@@ -5561,83 +5586,83 @@ msgstr "
 #. TRANS protocols, such as UDP), you get @code{EDESTADDRREQ} instead.
 #: sysdeps/gnu/errlist.c:647
 msgid "Transport endpoint is not connected"
-msgstr "ëÏÎÅÞÎÁÑ ÔÏÞËÁ ÐÅÒÅÄÁÞÉ ÎÅ ÐÏÄÓÏÅÄÉÎÅÎÁ"
+msgstr "Конечная точка передачи не подсоединена"
 
 #. 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 "ôÒÅÂÕÅÔÓÑ ÕËÁÚÁÔØ ÁÄÒÅÓ ÎÁÚÎÁÞÅÎÉÑ"
+msgstr "Требуется указать адрес назначения"
 
 #. TRANS The socket has already been shut down.
 #: sysdeps/gnu/errlist.c:667
 msgid "Cannot send after transport endpoint shutdown"
-msgstr "îÅ×ÏÚÍÏÖÎÏ ÐÏÓÌÁÔØ ÄÁÎÎÙÅ ÐÏÓÌÅ ×ÙËÌÀÞÅÎÉÑ ËÏÎÅÞÎÏÊ ÔÏÞËÉ ÐÅÒÅÄÁÞÉ"
+msgstr "Невозможно послать данные после выключения конечной точки передачи"
 
 #. TRANS ???
 #: sysdeps/gnu/errlist.c:676
 msgid "Too many references: cannot splice"
-msgstr "óÌÉÛËÏÍ ÍÎÏÇÏ ÓÓÙÌÏË: ÎÅ×ÏÚÍÏÖÎÏ ÏÂßÅÄÉÎÉÔØ"
+msgstr "Слишком много ссылок: невозможно объединить"
 
 #. 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 "÷ÒÅÍÑ ÏÖÉÄÁÎÉÑ ÓÏÅÄÉÎÅÎÉÑ ÉÓÔÅËÌÏ"
+msgstr "Время ожидания соединения истекло"
 
 #. 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 "÷ ÓÏÅÄÉÎÅÎÉÉ ÏÔËÁÚÁÎÏ"
+msgstr "В соединении отказано"
 
 #. 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 "óÌÉÛËÏÍ ÍÎÏÇÏ ÕÒÏ×ÎÅÊ ÓÉÍ×ÏÌØÎÙÈ ÓÓÙÌÏË"
+msgstr "Слишком много уровней символьных ссылок"
 
 #. 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 "óÌÉÛËÏÍ ÄÌÉÎÎÏÅ ÉÍÑ ÆÁÊÌÁ"
+msgstr "Слишком длинное имя файла"
 
 #. TRANS The remote host for a requested network connection is down.
 #: sysdeps/gnu/errlist.c:726
 msgid "Host is down"
-msgstr "èÏÓÔ ×ÙËÌÀÞÅÎ"
+msgstr "Хост выключен"
 
 #. TRANS The remote host for a requested network connection is not reachable.
 #: sysdeps/gnu/errlist.c:735
 msgid "No route to host"
-msgstr "îÅÔ ÐÕÔÉ ÄÏ ÈÏÓÔÁ"
+msgstr "Нет пути до хоста"
 
 #. 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 "ëÁÔÁÌÏÇ ÎÅ ÐÕÓÔ"
+msgstr "Каталог не пуст"
 
 #. 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 "óÌÉÛËÏÍ ÍÎÏÇÏ ÐÒÏÃÅÓÓÏ×"
+msgstr "Слишком много процессов"
 
 #. 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 "óÌÉÛËÏÍ ÍÎÏÇÏ ÐÏÌØÚÏ×ÁÔÅÌÅÊ"
+msgstr "Слишком много пользователей"
 
 #. TRANS The user's disk quota was exceeded.
 #: sysdeps/gnu/errlist.c:775
 msgid "Disk quota exceeded"
-msgstr "ðÒÅ×ÙÛÅÎÁ ÄÉÓËÏ×ÁÑ Ë×ÏÔÁ"
+msgstr "Превышена дисковая квота"
 
 #. 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.
@@ -5645,7 +5670,7 @@ msgstr "
 #. TRANS the NFS file system on the local host.
 #: sysdeps/gnu/errlist.c:787
 msgid "Stale NFS file handle"
-msgstr "õÓÔÁÒÅ×ÛÉÊ ÈÜÎÄÌ ÆÁÊÌÁ NFS"
+msgstr "Устаревший хэндл файла NFS"
 
 #. TRANS An attempt was made to NFS-mount a remote file system with a file name that
 #. TRANS already specifies an NFS-mounted file.
@@ -5653,32 +5678,32 @@ msgstr "
 #. TRANS properly on the GNU system, making this error code impossible.)
 #: sysdeps/gnu/errlist.c:799
 msgid "Object is remote"
-msgstr "üÔÏ ÕÄÁÌÅÎÎÙÊ ÏÂßÅËÔ"
+msgstr "Это удаленный объект"
 
 #. TRANS ???
 #: sysdeps/gnu/errlist.c:808
 msgid "RPC struct is bad"
-msgstr " RPC ÎÅÐÒÁ×ÉÌØÎÁÑ ÓÔÒÕËÔÕÒÁ"
+msgstr " RPC неправильная структура"
 
 #. TRANS ???
 #: sysdeps/gnu/errlist.c:817
 msgid "RPC version wrong"
-msgstr "RPC ÎÅÐÒÁ×ÉÌØÎÁÑ ×ÅÒÓÉÑ"
+msgstr "RPC неправильная версия"
 
 #. TRANS ???
 #: sysdeps/gnu/errlist.c:826
 msgid "RPC program not available"
-msgstr "RPC ÐÒÏÇÒÁÍÍÁ ÎÅÄÏÓÔÕÐÎÁ"
+msgstr "RPC Ð¿Ñ\80огÑ\80амма Ð½ÐµÐ´Ð¾Ñ\81Ñ\82Ñ\83пна"
 
 #. TRANS ???
 #: sysdeps/gnu/errlist.c:835
 msgid "RPC program version wrong"
-msgstr "RPC ÎÅÐÒÁ×ÉÌØÎÁÑ ×ÅÒÓÉÑ ÐÒÏÇÒÁÍÍÙ"
+msgstr "RPC неправильная версия программы"
 
 #. TRANS ???
 #: sysdeps/gnu/errlist.c:844
 msgid "RPC bad procedure for program"
-msgstr "RPC ÎÅÐÒÁ×ÉÌØÎÁÑ ÐÒÏÃÅÄÕÒÁ ÄÌÑ ÐÒÏÇÒÁÍÍÙ"
+msgstr "RPC неправильная процедура для программы"
 
 #. 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
@@ -5686,7 +5711,7 @@ msgstr "RPC 
 #. TRANS operating system.
 #: sysdeps/gnu/errlist.c:856
 msgid "No locks available"
-msgstr "îÅÔ ÄÏÓÔÕÐÎÙÈ ÂÌÏËÉÒÏ×ÏË"
+msgstr "Нет доступных блокировок"
 
 #. TRANS Inappropriate file type or format.  The file was the wrong type for the
 #. TRANS operation, or a data file had the wrong format.
@@ -5695,17 +5720,17 @@ msgstr "
 #. TRANS sticky bit on a non-directory file; @pxref{Setting Permissions}.
 #: sysdeps/gnu/errlist.c:869
 msgid "Inappropriate file type or format"
-msgstr "îÅÐÏÄÈÏÄÑÝÉÊ ÔÉРÉÌÉ ÆÏÒÍÁÔ ÆÁÊÌÁ"
+msgstr "Неподходящий тип или формат файла"
 
 #. TRANS ???
 #: sysdeps/gnu/errlist.c:878
 msgid "Authentication error"
-msgstr "ïÛÉÂËÁ ÁÕÔÅÎÆÉËÁÃÉÉ"
+msgstr "Ошибка аутентификации"
 
 #. TRANS ???
 #: sysdeps/gnu/errlist.c:887
 msgid "Need authenticator"
-msgstr "îÅÏÂÈÏÄÉÍ ÁÕÔÅÎÆÉËÁÔÏÒ"
+msgstr "Необходим аутентификатор"
 
 #. 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
@@ -5714,7 +5739,7 @@ msgstr "
 #. TRANS install a new version of the C library or the operating system.
 #: sysdeps/gnu/errlist.c:900
 msgid "Function not implemented"
-msgstr "æÕÎËÃÉÑ ÎÅ ÒÅÁÌÉÚÏ×ÁÎÁ"
+msgstr "Функция не реализована"
 
 #. TRANS Not supported.  A function returns this error when certain parameter
 #. TRANS values are valid, but the functionality they request is not available.
@@ -5730,13 +5755,13 @@ msgstr "
 #. TRANS it returns @code{ENOSYS} instead.
 #: sysdeps/gnu/errlist.c:920
 msgid "Not supported"
-msgstr "îÅ ÐÏÄÄÅÒÖÉ×ÁÅÔÓÑ"
+msgstr "Не поддерживается"
 
 #. 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 "îÅ×ÅÒÎÙÊ ÉÌÉ ÎÅÐÏÌÎÙÊ ÍÕÌØÔÉÂÁÊÔÎÙÊ ÉÌÉ ÛÉÒÏËÉÊ ÚÎÁË"
+msgstr "Неверный или неполный мультибайтный или широкий знак"
 
 #. 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
@@ -5746,14 +5771,14 @@ msgstr "
 #. TRANS for information on process groups and these signals.
 #: sysdeps/gnu/errlist.c:944
 msgid "Inappropriate operation for background process"
-msgstr "îÅÐÏÄÈÏÄÑÝÁÑ ÏÐÅÒÁÃÉÑ ÄÌÑ ÆÏÎÏ×ÏÇÏ ÐÒÏÃÅÓÓÁ"
+msgstr "Неподходящая операция для фонового процесса"
 
 #. 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 "ôÒÁÎÓÌÑÔÏÒ ÕÍÅÒ"
+msgstr "Транслятор умер"
 
 #. 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.
@@ -5765,61 +5790,61 @@ msgstr "?"
 #. TRANS You did @strong{what}?
 #: sysdeps/gnu/errlist.c:975
 msgid "You really blew it this time"
-msgstr "îÁ ÜÔÏÔ ÒÁÚ ×Ù ×ÓÅÈ ÏÐÒÏËÉÎÕÌÉ"
+msgstr "На этот раз вы всех опрокинули"
 
 #. TRANS Go home and have a glass of warm, dairy-fresh milk.
 #: sysdeps/gnu/errlist.c:984
 msgid "Computer bought the farm"
-msgstr "ëÏÍÐØÀÔÅÒ ËÕÐÉÌ ÆÅÒÍÕ"
+msgstr "Компьютер купил ферму"
 
 #. TRANS This error code has no purpose.
 #: sysdeps/gnu/errlist.c:993
 msgid "Gratuitous error"
-msgstr "âÅÚ×ÏÚÍÅÚÄÎÁÑ ÏÛÉÂËÁ"
+msgstr "Безвозмездная ошибка"
 
 #: sysdeps/gnu/errlist.c:1001
 msgid "Bad message"
-msgstr "îÅÐÒÁ×ÉÌØÎÏÅ ÓÏÏÂÝÅÎÉÅ"
+msgstr "Неправильное сообщение"
 
 #: sysdeps/gnu/errlist.c:1009
 msgid "Identifier removed"
-msgstr "éÄÅÎÔÉÆÉËÁÔÏÒ ÂÙÌ ÕÄÁÌÅÎ"
+msgstr "Идентификатор был удален"
 
 #: sysdeps/gnu/errlist.c:1017
 msgid "Multihop attempted"
-msgstr ""
+msgstr "Попытка Multihop"
 
 #: sysdeps/gnu/errlist.c:1025
 msgid "No data available"
-msgstr "îÅÔ ÄÏÓÔÕÐÎÙÈ ÄÁÎÎÙÈ"
+msgstr "Нет доступных данных"
 
 #: sysdeps/gnu/errlist.c:1033
 msgid "Link has been severed"
-msgstr "óÏÅÄÉÎÅÎÅÎÉÅ ÂÙÌÏ ÒÁÚÏÒ×ÁÎÏ"
+msgstr "Соединение было разорвано"
 
 #: sysdeps/gnu/errlist.c:1041
 msgid "No message of desired type"
-msgstr "îÅÔ ÓÏÏÂÝÅÎÉÑ ÖÅÌÁÅÍÏÇÏ ÔÉÐÁ"
+msgstr "Нет сообщения желаемого типа"
 
 #: sysdeps/gnu/errlist.c:1049
 msgid "Out of streams resources"
-msgstr "îÅÄÏÓÔÁÔÏÞÎÏ ÐÏÔÏËÏ×ÙÈ ÒÅÓÕÒÓÏ×"
+msgstr "Недостаточно потоковых ресурсов"
 
 #: sysdeps/gnu/errlist.c:1057
 msgid "Device not a stream"
-msgstr "õÓÔÒÏÊÓÔ×Ï ÎÅ Ñ×ÌÑÅÔÓÑ ÐÏÔÏËÏÍ"
+msgstr "Устройство не является потоком"
 
 #: sysdeps/gnu/errlist.c:1065
 msgid "Value too large for defined data type"
-msgstr "úÎÁÞÅÎÉÅ ÓÌÉÛËÏÍ ×ÅÌÉËÏ ÄÌÑ ÔÁËÏÇÏ ÔÉÐÁ ÄÁÎÎÙÈ"
+msgstr "Значение слишком велико для такого типа данных"
 
 #: sysdeps/gnu/errlist.c:1073
 msgid "Protocol error"
-msgstr "ïÛÉÂËÁ ÐÒÏÔÏËÏÌÁ"
+msgstr "Ошибка протокола"
 
 #: sysdeps/gnu/errlist.c:1081
 msgid "Timer expired"
-msgstr "ôÁÊÍÅÒ ÉÓÔÅË"
+msgstr "Таймер истек"
 
 #. TRANS Operation canceled; an asynchronous operation was canceled before it
 #. TRANS completed.  @xref{Asynchronous I/O}.  When you call @code{aio_cancel},
@@ -5827,685 +5852,748 @@ msgstr "
 #. TRANS error; @pxref{Cancel AIO Operations}.
 #: sysdeps/gnu/errlist.c:1093
 msgid "Operation canceled"
-msgstr "ïÐÅÒÁÃÉÑ ÏÔÍÅÎÅÎÁ"
+msgstr "Операция отменена"
 
 #: sysdeps/gnu/errlist.c:1101
 msgid "Interrupted system call should be restarted"
-msgstr "ðÒÅÒ×ÁÎÙÊ ÓÉÓÔÅÍÎÙÊ ×ÙÚÏ× ÓÌÅÄÕÅÔ ÐÅÒÅÚÁÐÕÓÔÉÔØ"
+msgstr "Прерванный системный вызов следует перезапустить"
 
 #: sysdeps/gnu/errlist.c:1109
 msgid "Channel number out of range"
-msgstr "îÏÍÅÒ ËÁÎÁÌÁ ×ÎÅ ÄÉÁÐÁÚÏÎÁ"
+msgstr "Номер канала вне диапазона"
 
 #: sysdeps/gnu/errlist.c:1117
 msgid "Level 2 not synchronized"
-msgstr "õÒÏ×ÅÎØ 2 ÎÅ ÓÉÎÈÒÏÎÉÚÉÒÏ×ÁÎ"
+msgstr "Уровень 2 не синхронизирован"
 
 #: sysdeps/gnu/errlist.c:1125
 msgid "Level 3 halted"
-msgstr "õÒÏ×ÅÎØ 3 ÏÓÔÁÎÏ×ÌÅÎ"
+msgstr "Уровень 3 остановлен"
 
 #: sysdeps/gnu/errlist.c:1133
 msgid "Level 3 reset"
-msgstr "õÒÏ×ÅÎØ 3 ÓÂÒÏÛÅÎ"
+msgstr "Уровень 3 сброшен"
 
 #: sysdeps/gnu/errlist.c:1141
 msgid "Link number out of range"
-msgstr "þÉÓÌÏ ÓÓÙÌÏË ×ÎÅ ÄÏÐÕÓÔÉÍÏÇÏ ÄÉÁÐÁÚÏÎÁ"
+msgstr "Число ссылок вне допустимого диапазона"
 
 #: sysdeps/gnu/errlist.c:1149
 msgid "Protocol driver not attached"
-msgstr "äÒÁÊ×ÅÒ ÐÒÏÔÏËÏÌÁ ÎÅ ÐÏÄÓÏÅÄÉÎÅÎ"
+msgstr "Драйвер протокола не подсоединен"
 
 #: sysdeps/gnu/errlist.c:1157
 msgid "No CSI structure available"
-msgstr "îÅÔ ÄÏÓÔÕÐÎÏÊ CSI-ÓÔÒÕËÔÕÒÙ"
+msgstr "Нет доступной CSI-структуры"
 
 #: sysdeps/gnu/errlist.c:1165
 msgid "Level 2 halted"
-msgstr "õÒÏ×ÅÎØ 2 ÏÓÔÁÎÏ×ÌÅÎ"
+msgstr "Уровень 2 остановлен"
 
 #: sysdeps/gnu/errlist.c:1173
 msgid "Invalid exchange"
-msgstr ""
+msgstr "Некорректный обмен"
 
 #: sysdeps/gnu/errlist.c:1181
 msgid "Invalid request descriptor"
-msgstr "îÅ×ÅÒÎÙÊ ÄÅÓËÒÉÐÔÏÒ ÚÁÐÒÏÓÁ"
+msgstr "Неверный дескриптор запроса"
 
 #: sysdeps/gnu/errlist.c:1189
 msgid "Exchange full"
-msgstr ""
+msgstr "Обмен полный"
 
 #: sysdeps/gnu/errlist.c:1197
 msgid "No anode"
-msgstr ""
+msgstr "Нет anode"
 
 #: sysdeps/gnu/errlist.c:1205
 msgid "Invalid request code"
-msgstr "îÅ×ÅÒÎÙÊ ËÏÄ ÚÁÐÒÏÓÁ"
+msgstr "Неверный код запроса"
 
 #: sysdeps/gnu/errlist.c:1213
 msgid "Invalid slot"
-msgstr ""
+msgstr "Некорректный слот"
 
 #: sysdeps/gnu/errlist.c:1221
 msgid "File locking deadlock error"
-msgstr "ïÛÉÂËÁ: ÔÕÐÉË ÐÒÉ ÂÌÏËÉÒÏ×ËÅ ÆÁÊÌÁ"
+msgstr "Ошибка: тупик при блокировке файла"
 
 #: sysdeps/gnu/errlist.c:1229
 msgid "Bad font file format"
-msgstr "îÅ×ÅÒÎÙÊ ÆÏÒÍÁÔ ÆÁÊÌÁ ÓÏ ÛÒÉÆÔÏÍ"
+msgstr "Неверный формат файла со шрифтом"
 
 #: sysdeps/gnu/errlist.c:1237
 msgid "Machine is not on the network"
-msgstr "íÁÛÉÎÁ ÎÅ × ÓÅÔÉ"
+msgstr "Машина не в сети"
 
 #: sysdeps/gnu/errlist.c:1245
 msgid "Package not installed"
-msgstr "ðÁËÅÔ ÎÅ ÕÓÔÁÎÏ×ÌÅÎ"
+msgstr "Пакет не установлен"
 
 #: sysdeps/gnu/errlist.c:1253
 msgid "Advertise error"
-msgstr ""
+msgstr "Ошибка объявления"
 
 #: sysdeps/gnu/errlist.c:1261
 msgid "Srmount error"
-msgstr "ïÛÉÂËÁ Srmount"
+msgstr "Ошибка Srmount"
 
 #: sysdeps/gnu/errlist.c:1269
 msgid "Communication error on send"
-msgstr "ïÛÉÂËÁ Ó×ÑÚÉ ÐÒÉ ÏÔÐÒÁ×ËÅ"
+msgstr "Ошибка связи при отправке"
 
 #: sysdeps/gnu/errlist.c:1277
 msgid "RFS specific error"
-msgstr "óÐÅÃÉÆÉÞÎÁÑ ÄÌÑ RFS ÏÛÉÂËÁ"
+msgstr "Специфичная для RFS ошибка"
 
 #: sysdeps/gnu/errlist.c:1285
 msgid "Name not unique on network"
-msgstr "éÍÑ ÎÅ ÕÎÉËÁÌØÎÏ × ÓÅÔÉ"
+msgstr "Имя не уникально в сети"
 
 #: sysdeps/gnu/errlist.c:1293
 msgid "File descriptor in bad state"
-msgstr "äÅÓËÒÉÐÔÏÒ ÆÁÊÌÁ × ÐÌÏÈÏÍ ÓÏÓÔÏÑÎÉÉ"
+msgstr "Дескриптор файла в плохом состоянии"
 
 #: sysdeps/gnu/errlist.c:1301
 msgid "Remote address changed"
-msgstr "õÄÁÌÅÎÎÙÊ ÁÄÒÅÓ ÂÙÌ ÉÚÍÅÎÅÎ"
+msgstr "Удаленный адрес был изменен"
 
 #: sysdeps/gnu/errlist.c:1309
 msgid "Can not access a needed shared library"
-msgstr "îÅ×ÏÚÍÏÖÎÏ ÐÏÌÕÞÉÔØ ÄÏÓÔÕРˠÎÕÖÎÏÊ ÒÁÚÄÅÌÑÅÍÏÊ ÂÉÂÌÉÏÔÅËÅ"
+msgstr "Невозможно получить доступ к нужной разделяемой библиотеке"
 
 #: sysdeps/gnu/errlist.c:1317
 msgid "Accessing a corrupted shared library"
-msgstr "ïÂÒÁÝÅÎÉÅ Ë ÐÏ×ÒÅÖÄÅÎÎÏÊ ÒÁÚÄÅÌÑÅÍÏÊ ÂÉÂÌÉÏÔÅËÅ"
+msgstr "Обращение к поврежденной разделяемой библиотеке"
 
 #: sysdeps/gnu/errlist.c:1325
 msgid ".lib section in a.out corrupted"
-msgstr "óÅËÃÉÑ .lib × a.out ÐÏ×ÒÅÖÄÅÎÁ"
+msgstr "Секция .lib в a.out повреждена"
 
 #: sysdeps/gnu/errlist.c:1333
 msgid "Attempting to link in too many shared libraries"
-msgstr "ðÏÐÙÔËÁ ÐÏÄËÌÀÞÉÔØ ÓÌÉÛËÏÍ ÍÎÏÇÏ ÒÁÚÄÅÌÑÅÍÙÊ ÂÉÂÌÉÏÔÅË"
+msgstr "Попытка подключить слишком много разделяемый библиотек"
 
 #: sysdeps/gnu/errlist.c:1341
 msgid "Cannot exec a shared library directly"
-msgstr "îÅ×ÏÚÍÏÖÎÏ ÎÅÐÏÓÒÅÄÓÔ×ÅÎÎÏ ×ÙÐÏÌÎÉÔØ ÒÁÚÄÅÌÑÅÍÕÀ ÂÉÂÌÉÏÔÅËÕ"
+msgstr "Невозможно непосредственно выполнить разделяемую библиотеку"
 
 #: sysdeps/gnu/errlist.c:1349
 msgid "Streams pipe error"
-msgstr ""
+msgstr "Ошибка потоков канала"
 
 #: sysdeps/gnu/errlist.c:1357
 msgid "Structure needs cleaning"
-msgstr "óÔÒÕËÔÕÒÕ ÎÅÏÂÈÏÄÉÍÏ ÐÏÞÉÓÔÉÔØ"
+msgstr "Структуру необходимо почистить"
 
 #: sysdeps/gnu/errlist.c:1365
 msgid "Not a XENIX named type file"
-msgstr ""
+msgstr "Тип файла не назван XENIX"
 
 #: sysdeps/gnu/errlist.c:1373
 msgid "No XENIX semaphores available"
-msgstr "óÅÍÁÆÏÒÙ XENIX ÎÅÄÏÓÔÕÐÎÙ"
+msgstr "Семафоры XENIX недоступны"
 
 #: sysdeps/gnu/errlist.c:1381
 msgid "Is a named type file"
-msgstr ""
+msgstr "Является файлом имен типов"
 
 #: sysdeps/gnu/errlist.c:1389
 msgid "Remote I/O error"
-msgstr "ïÛÉÂËÁ ÕÄÁÌÅÎÎÏÇÏ ××ÏÄÁ/×Ù×ÏÄÁ"
+msgstr "Ошибка удаленного ввода/вывода"
 
 #: sysdeps/gnu/errlist.c:1397
 msgid "No medium found"
-msgstr "îÏÓÉÔÅÌØ ÎÅ ÎÁÊÄÅÎ"
+msgstr "Носитель не найден"
 
 #: sysdeps/gnu/errlist.c:1405
 msgid "Wrong medium type"
-msgstr "îÅÐÒÁ×ÉÌØÎÙÊ ÔÉРÎÏÓÉÔÅÌÑ"
+msgstr "Неправильный тип носителя"
 
 #: sysdeps/gnu/errlist.c:1413
 msgid "Required key not available"
-msgstr "ôÒÅÂÕÅÍÙÊ ËÌÀÞ ÎÅÄÏÓÔÕÐÅÎ"
+msgstr "Требуемый ключ недоступен"
 
 #: sysdeps/gnu/errlist.c:1421
 msgid "Key has expired"
-msgstr "÷ÒÅÍÑ ÖÉÚÎÉ ËÌÀÞÁ ÉÓÔÅËÌÏ"
+msgstr "Время жизни ключа истекло"
 
 #: sysdeps/gnu/errlist.c:1429
 msgid "Key has been revoked"
-msgstr "ëÌÀÞ ÂÙÌ ÏÔÏÚ×ÁÎ"
+msgstr "Ключ был отозван"
 
 #: sysdeps/gnu/errlist.c:1437
 msgid "Key was rejected by service"
-msgstr "ëÌÀÞ ÂÙÌ ÏÔ×ÅÒÇÎÕÔ ÓÌÕÖÂÏÊ"
+msgstr "Ключ был отвергнут службой"
 
 #: sysdeps/gnu/errlist.c:1445
 msgid "Owner died"
-msgstr "÷ÌÁÄÅÌÅàÕÍÅÒ"
+msgstr "Владелец умер"
 
 #: sysdeps/gnu/errlist.c:1453
 msgid "State not recoverable"
-msgstr "óÏÓÔÏÑÎÉÅ ÎÅÌØÚÑ ×ÏÓÓÔÁÎÏ×ÉÔØ"
+msgstr "Состояние нельзя восстановить"
 
 #: sysdeps/mach/_strerror.c:57
 msgid "Error in unknown error system: "
-msgstr "ïÛÉÂËÁ × ÎÅÉÚ×ÅÓÔÎÏÊ ÓÉÓÔÅÍÅ ÏÛÉÂÏË: "
+msgstr "Ошибка в неизвестной системе ошибок: "
 
 #: sysdeps/posix/gai_strerror-strs.h:1
 msgid "Address family for hostname not supported"
-msgstr "óÅÍÅÊÓÔ×Ï ÁÄÒÅÓÏ× ÎÅ ÐÏÄÄÅÒÖÉ×ÁÔÓÑ ÄÌÑ ÄÁÎÎÏÇÏ ÉÍÅÎÉ ÈÏÓÔÁ"
+msgstr "Семейство адресов не поддерживается для данного имени хоста"
 
 #: sysdeps/posix/gai_strerror-strs.h:2
 msgid "Temporary failure in name resolution"
-msgstr "÷ÒÅÍÅÎÎÙÊ ÓÂÏÊ × ÒÁÚÒÅÛÅÎÉÉ ÉÍÅÎ"
+msgstr "Временный сбой в разрешении имен"
 
 #: sysdeps/posix/gai_strerror-strs.h:3
 msgid "Bad value for ai_flags"
-msgstr "îÅÐÒÁ×ÉÌØÎÏÅ ÚÎÁÞÅÎÉÅ ÄÌÑ ai_flags"
+msgstr "Неправильное значение для ai_flags"
 
 #: sysdeps/posix/gai_strerror-strs.h:4
 msgid "Non-recoverable failure in name resolution"
-msgstr "îÅÉÓÐÒÁ×ÉÍÁÑ ÏÛÉÂËÁ × ÒÁÚÒÅÛÅÎÉÉ ÉÍÅÎ"
+msgstr "Неисправимая ошибка в разрешении имен"
 
 #: sysdeps/posix/gai_strerror-strs.h:5
 msgid "ai_family not supported"
-msgstr "ai_family ÎÅ ÐÏÄÄÅÒÖÉ×ÁÅÔÓÑ"
+msgstr "ai_family не поддерживается"
 
 #: sysdeps/posix/gai_strerror-strs.h:6
 msgid "Memory allocation failure"
-msgstr "ïÛÉÂËÁ ×ÙÄÅÌÅÎÉÑ ÐÁÍÑÔÉ"
+msgstr "Ошибка выделения памяти"
 
 #: sysdeps/posix/gai_strerror-strs.h:7
 msgid "No address associated with hostname"
-msgstr "ó ÉÍÅÎÅÍ ÈÏÓÔÁ ÎÅ Ó×ÑÚÁÎÏ ÎÉ ÏÄÎÏÇÏ ÁÄÒÅÓÁ"
+msgstr "С именем хоста не связано ни одного адреса"
 
 #: sysdeps/posix/gai_strerror-strs.h:8
 msgid "Name or service not known"
-msgstr "éÍÑ ÉÌÉ ÓÌÕÖÂÁ ÎÅ ÉÚ×ÅÓÔÎÙ"
+msgstr "Имя или служба не известны"
 
 #: sysdeps/posix/gai_strerror-strs.h:9
 msgid "Servname not supported for ai_socktype"
-msgstr "Servname ÎÅ ÐÏÄÄÅÒÖÉ×ÁÅÔÓÑ ÄÌÑ ai_socktype"
+msgstr "Servname не поддерживается для ai_socktype"
 
 #: sysdeps/posix/gai_strerror-strs.h:10
 msgid "ai_socktype not supported"
-msgstr "ai_socktype ÎÅ ÐÏÄÄÅÒÖÉ×ÁÅÔÓÑ"
+msgstr "ai_socktype не поддерживается"
 
 #: sysdeps/posix/gai_strerror-strs.h:11
 msgid "System error"
-msgstr "óÉÓÔÅÍÎÁÑ ÏÛÉÂËÁ"
+msgstr "Системная ошибка"
 
 #: sysdeps/posix/gai_strerror-strs.h:12
 msgid "Processing request in progress"
-msgstr "ïÂÒÁÂÏÔËÁ ÚÁÐÒÏÓÁ ÐÒÏÄÏÌÖÁÅÔÓÑ"
+msgstr "Обработка запроса продолжается"
 
 #: sysdeps/posix/gai_strerror-strs.h:13
 msgid "Request canceled"
-msgstr "úÁÐÒÏÓ ÏÔÍÅÎÅÎ"
+msgstr "Запрос отменен"
 
 #: sysdeps/posix/gai_strerror-strs.h:14
 msgid "Request not canceled"
-msgstr "úÁÐÒÏÓ ÎÅ ÏÔÍÅÎÅÎ"
+msgstr "Запрос не отменен"
 
 #: sysdeps/posix/gai_strerror-strs.h:15
 msgid "All requests done"
-msgstr "÷ÓÅ ÚÁÐÒÏÓÙ ×ÙÐÏÌÎÅÎÙ"
+msgstr "Все запросы выполнены"
 
 #: sysdeps/posix/gai_strerror-strs.h:16
 msgid "Interrupted by a signal"
-msgstr "ðÒÅÒ×ÁÎÏ ÐÏ ÓÉÇÎÁÌÕ"
+msgstr "Прервано по сигналу"
 
 #: sysdeps/posix/gai_strerror-strs.h:17
 msgid "Parameter string not correctly encoded"
-msgstr "îÅÐÒÁ×ÉÌØÎÏ ÚÁËÏÄÉÒÏ×ÁÎÁ ÓÔÒÏËÁ ÐÁÒÁÍÅÔÒÁ"
+msgstr "Неправильно закодирована строка параметра"
 
 #: sysdeps/unix/siglist.c:26
 msgid "Signal 0"
-msgstr "óÉÇÎÁÌ 0"
+msgstr "Сигнал 0"
 
 #: sysdeps/unix/siglist.c:32
 msgid "IOT trap"
-msgstr "ìÏ×ÕÛËÁ IOT"
+msgstr "Ловушка IOT"
 
 #: sysdeps/unix/sysv/linux/i386/readelflib.c:49
 #, c-format
 msgid "%s is for unknown machine %d.\n"
-msgstr "%s ÐÒÅÄÎÁÚÎÁÞÅΠÄÌÑ ÎÅÉÚ×ÅÓÔÎÏÊ ÍÁÛÉÎÙ %d.\n"
+msgstr "%s Ð¿Ñ\80едназнаÑ\87ен Ð´Ð»Ñ\8f Ð½ÐµÐ¸Ð·Ð²ÐµÑ\81Ñ\82ной Ð¼Ð°Ñ\88инÑ\8b %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: ÎÅÔ ×ÏÚÍÏÖÎÏÓÔÉ ÏÂÒÁÂÏÔÁÔØ ÂÏÌÅÅ ×ÏÓØÍÉ ÁÒÇÕÍÅÎÔÏ×\n"
+msgstr "makecontext: нет возможности обработать более восьми аргументов\n"
 
 #: sysdeps/unix/sysv/linux/lddlibc4.c:64
 #, c-format
 msgid "cannot open `%s'"
-msgstr "ÎÅ×ÏÚÍÏÖÎÏ ÏÔËÒÙÔØ `%s'"
+msgstr "невозможно открыть «%s»"
 
 #: sysdeps/unix/sysv/linux/lddlibc4.c:68
 #, c-format
 msgid "cannot read header from `%s'"
-msgstr "ÎÅ×ÏÚÍÏÖÎÏ ÓÞÉÔÁÔØ ÚÁÇÏÌÏ×ÏË ÉÚ `%s'"
+msgstr "невозможно считать заголовок из «%s»"
 
-#: timezone/zdump.c:215
+#: timezone/zdump.c:211
 msgid "lacks alphabetic at start"
-msgstr "×ÎÁÞÁÌÅ ÎÅÔ ÂÕË×Ù"
+msgstr "вначале нет буквы"
 
-#: timezone/zdump.c:217
+#: timezone/zdump.c:213
 msgid "has fewer than 3 alphabetics"
-msgstr "ÓÏÄÅÒÖÉÔ ÍÅÎÅÅ 3 ÂÕË×"
+msgstr "содержит менее 3 букв"
 
-#: timezone/zdump.c:219
+#: timezone/zdump.c:215
 msgid "has more than 6 alphabetics"
-msgstr "ÓÏÄÅÒÖÉÔ ÂÏÌÅÅ 6 ÂÕË×"
+msgstr "содержит более 6 букв"
 
-#: timezone/zdump.c:227
+#: timezone/zdump.c:223
 msgid "differs from POSIX standard"
-msgstr "ÏÔÌÉÞÁÅÔÓÑ ÏÔ ÓÔÁÎÄÁÒÔÁ POSIX"
+msgstr "отличается от стандарта POSIX"
 
-#: timezone/zdump.c:233
+#: timezone/zdump.c:229
 #, c-format
 msgid "%s: warning: zone \"%s\" abbreviation \"%s\" %s\n"
-msgstr "%s: ÐÒÅÄÕÐÒÅÖÄÅÎÉÅ: ÚÏÎÁ \"%s\" ÓÏËÒÁÝÅÎÉÅ \"%s\" %s\n"
+msgstr "%s: Ð¿Ñ\80едÑ\83пÑ\80еждение: Ð·Ð¾Ð½Ð° Â«%s» Ñ\81окÑ\80аÑ\89ение Â«%s» %s\n"
 
-#: timezone/zdump.c:284
+#: timezone/zdump.c:280
 #, c-format
 msgid "%s: usage is %s [ --version ] [ -v ] [ -c [loyear,]hiyear ] zonename ...\n"
-msgstr "%s: ÉÓÐÏÌØÚÏ×ÁÎÉÅ: %s [ --version ] [ -v ] [ -c [ÐÅÒ×ÙÊ-ÇÏÄ,]ÐÏÓÌÅÄÎÉÊ-ÇÏÄ ] ÉÍÑ-ÚÏÎÙ ...\n"
+msgstr "%s: использование: %s [ --version ] [ -v ] [ -c [первый-год,]последний-год ] имя-зоны ...\n"
 
-#: timezone/zdump.c:301
+#: timezone/zdump.c:297
 #, c-format
 msgid "%s: wild -c argument %s\n"
-msgstr ""
+msgstr "%s: не обработан аргумент -c, %s\n"
 
-#: timezone/zdump.c:392
+#: timezone/zdump.c:388
 msgid "Error writing to standard output"
-msgstr "ïÛÉÂËÁ ÚÁÐÉÓÉ ÎÁ ÓÔÁÎÄÁÒÔÎÙÊ ×Ù×ÏÄ"
+msgstr "Ошибка записи на стандартный вывод"
 
-#: timezone/zdump.c:415
+#: 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: ÉÓÐÏÌØÚÏ×ÁÎÉÅ -v ÎÁ ÓÉÓÔÅÍÅ, ÇÄÅ time_t ÉÍÅÅÔ ÔÉРӠÐÌÁ×ÁÀÝÅÊ ÚÁÐÑÔÏÊ, ÏÔÌÉÞÎÙÊ ÏÔ float ÉÌÉ double\n"
+msgstr "%s: использование -v на системе, где time_t имеет тип с плавающей запятой, отличный от float или double\n"
 
-#: timezone/zic.c:371
+#: timezone/zic.c:392
 #, c-format
 msgid "%s: Memory exhausted: %s\n"
-msgstr "%s: ðÁÍÑÔØ ÉÓÞÅÒÐÁÎÁ: %s\n"
+msgstr "%s: Память исчерпана: %s\n"
 
-#: timezone/zic.c:430
+#: timezone/zic.c:451
 #, c-format
 msgid "\"%s\", line %d: %s"
-msgstr "\"%s\", ÓÔÒÏËÁ %d: %s"
+msgstr "«%s», строка %d: %s"
 
-#: timezone/zic.c:433
+#: timezone/zic.c:454
 #, c-format
 msgid " (rule from \"%s\", line %d)"
-msgstr " (ÐÒÁ×ÉÌÏ ÉÚ \"%s\", ÓÔÒÏËÁ %d)"
+msgstr " (пÑ\80авило Ð¸Ð· Â«%s», Ñ\81Ñ\82Ñ\80ока %d)"
 
-#: timezone/zic.c:445
+#: timezone/zic.c:466
 msgid "warning: "
-msgstr "ÐÒÅÄÕÐÒÅÖÄÅÎÉÅ: "
+msgstr "пÑ\80едÑ\83пÑ\80еждение: "
 
-#: timezone/zic.c:455
-#, c-format
+#: timezone/zic.c:476
+#, fuzzy, c-format
 msgid ""
-"%s: usage is %s [ --version ] [ -s ] [ -v ] [ -l localtime ] [ -p posixrules ] \\\n"
+"%s: usage is %s [ --version ] [ -v ] [ -l localtime ] [ -p posixrules ] \\\n"
 "\t[ -d directory ] [ -L leapseconds ] [ -y yearistype ] [ filename ... ]\n"
 msgstr ""
-"%s: ÉÓÐÏÌØÚÏ×ÁÎÉÅ: %s [ --version ] [ -s ] [ -v ] [ -l ÍÅÓÔÎÏÅ-×ÒÅÍÑ ] [ -p ÐÒÁ×ÉÌÁ-posix ] \\\n"
-"\t[ -d ËÁÔÁÌÏÇ ] [ -L ×ÉÓÏËÏÓÎÙÅ-ÓÅËÕÎÄÙ ] [ -y yearistype ] [ ÉÍÑ-ÆÁÊÌÁ ... ]\n"
+"%s: использование: %s [ --version ] [ -s ] [ -v ] [ -l местное-время ] [ -p правила-posix ] \\\n"
+"\t[ -d каталог ] [ -L високосные-секунды ] [ -y yearistype ] [ имя-файла ... ]\n"
+
+#: timezone/zic.c:511
+msgid "wild compilation-time specification of zic_t"
+msgstr "плохая спецификация при компиляции для zic_t"
 
-#: timezone/zic.c:503
+#: timezone/zic.c:528
 #, c-format
 msgid "%s: More than one -d option specified\n"
-msgstr "%s: úÁÄÁÎÏ ÂÏÌÅÅ ÏÄÎÏÇÏ ËÌÀÞÁ -d\n"
+msgstr "%s: Задано более одного ключа -d\n"
 
-#: timezone/zic.c:513
+#: timezone/zic.c:538
 #, c-format
 msgid "%s: More than one -l option specified\n"
-msgstr "%s: úÁÄÁÎÏ ÂÏÌÅÅ ÏÄÎÏÇÏ ËÌÀÞÁ -l\n"
+msgstr "%s: Задано более одного ключа -l\n"
 
-#: timezone/zic.c:523
+#: timezone/zic.c:548
 #, c-format
 msgid "%s: More than one -p option specified\n"
-msgstr "%s: úÁÄÁÎÏ ÂÏÌÅÅ ÏÄÎÏÇÏ ËÌÀÞÁ -p\n"
+msgstr "%s: Задано более одного ключа -p\n"
 
-#: timezone/zic.c:533
+#: timezone/zic.c:558
 #, c-format
 msgid "%s: More than one -y option specified\n"
-msgstr "%s: úÁÄÁÎÏ ÂÏÌÅÅ ÏÄÎÏÇÏ ËÌÀÞÁ -y\n"
+msgstr "%s: Задано более одного ключа -y\n"
 
-#: timezone/zic.c:543
+#: timezone/zic.c:568
 #, c-format
 msgid "%s: More than one -L option specified\n"
-msgstr "%s: úÁÄÁÎÏ ÂÏÌÅÅ ÏÄÎÏÇÏ ËÌÀÞÁ -L\n"
+msgstr "%s: Задано более одного ключа -L\n"
 
-#: timezone/zic.c:592
+#: timezone/zic.c:617
 msgid "link to link"
-msgstr "ÓÓÙÌËÁ ÎÁ ÓÓÙÌËÕ"
+msgstr "ссылка на ссылку"
 
-#: timezone/zic.c:657
+#: timezone/zic.c:682
 msgid "hard link failed, symbolic link used"
-msgstr "ÎÅ ÕÄÁÌÏÓØ ÓÄÅÌÁÔØ ÖÅÓÔËÕÀ ÓÓÙÌËÕ, ÉÓÐÏÌØÚÕÅÔÓÑ ÓÉÍ×ÏÌØÎÁÑ"
+msgstr "не удалось сделать жесткую ссылку, используется символьная"
 
-#: timezone/zic.c:665
+#: timezone/zic.c:690
 #, c-format
 msgid "%s: Can't link from %s to %s: %s\n"
-msgstr "%s: îÅ×ÏÚÍÏÖÎÏ ÓÄÅÌÁÔØ ÓÓÙÌËÕ Ó %s ÎÁ %s: %s\n"
+msgstr "%s: Невозможно сделать ссылку с %s на %s: %s\n"
 
-#: timezone/zic.c:774 timezone/zic.c:776
+#: timezone/zic.c:762 timezone/zic.c:764
 msgid "same rule name in multiple files"
-msgstr "ÏÄÉÎÁËÏ×ÏÅ ÉÍÑ ÐÒÁ×ÉÌÁ × ÎÅÓËÏÌØËÉÈ ÆÁÊÌÁÈ"
+msgstr "одинаковое имя правила в нескольких файлах"
 
-#: timezone/zic.c:817
+#: timezone/zic.c:805
 msgid "unruly zone"
-msgstr "ÎÅ ÐÏÄÞÉÎÑÀÝÁÑÓÑ ÐÒÁ×ÉÌÁÍ ÚÏÎÁ"
+msgstr "не подчиняющаяся правилам зона"
 
-#: timezone/zic.c:824
+#: timezone/zic.c:812
 #, c-format
 msgid "%s in ruleless zone"
-msgstr "%s × ÚÏÎÅ ÂÅÚ ÐÒÁ×ÉÌ"
+msgstr "%s в зоне без правил"
 
-#: timezone/zic.c:845
+#: timezone/zic.c:833
 msgid "standard input"
-msgstr "ÓÔÁÎÄÁÒÔÎÙÊ ××ÏÄ"
+msgstr "стандартный ввод"
 
-#: timezone/zic.c:850
+#: timezone/zic.c:838
 #, c-format
 msgid "%s: Can't open %s: %s\n"
-msgstr "%s: îÅ×ÏÚÍÏÖÎÏ ÏÔËÒÙÔØ %s: %s\n"
+msgstr "%s: Невозможно открыть %s: %s\n"
 
-#: timezone/zic.c:861
+#: timezone/zic.c:849
 msgid "line too long"
-msgstr "ÓÔÒÏËÁ ÓÌÉÛËÏÍ ÄÌÉÎÎÁÑ"
+msgstr "строка слишком длинная"
 
-#: timezone/zic.c:881
+#: timezone/zic.c:869
 msgid "input line of unknown type"
-msgstr "×ÈÏÄÎÁÑ ÓÔÒÏËÁ ÎÅÉÚ×ÅÓÔÎÏÇÏ ÔÉÐÁ"
+msgstr "входная строка неизвестного типа"
 
-#: timezone/zic.c:897
+#: timezone/zic.c:885
 #, c-format
 msgid "%s: Leap line in non leap seconds file %s\n"
-msgstr "%s: ÷ÉÓÏËÏÓÎÁÑ ÓÔÒÏËÁ ×ÅË ÆÁÊÌÁ ×ÉÓÏËÏÓÎÙÈ ÓÅËÕÎÄ %s\n"
+msgstr "%s: Високосная строка век файла високосных секунд %s\n"
 
-#: timezone/zic.c:904 timezone/zic.c:1325 timezone/zic.c:1350
+#: timezone/zic.c:892 timezone/zic.c:1329 timezone/zic.c:1351
 #, c-format
 msgid "%s: panic: Invalid l_value %d\n"
-msgstr "%s: ÐÁÎÉËÁ: îÅÄÏÐÕÓÔÉÍÏÅ l_value %d\n"
+msgstr "%s: Ð¿Ð°Ð½Ð¸ÐºÐ°: Ð\9dедопÑ\83Ñ\81Ñ\82имое l_value %d\n"
 
-#: timezone/zic.c:912
+#: timezone/zic.c:900
 #, c-format
 msgid "%s: Error reading %s\n"
-msgstr "%s: ïÛÉÂËÁ ÞÔÅÎÉÑ %s\n"
+msgstr "%s: Ошибка чтения %s\n"
 
-#: timezone/zic.c:919
+#: timezone/zic.c:907
 #, c-format
 msgid "%s: Error closing %s: %s\n"
-msgstr "%s: ïÛÉÂËÁ ÚÁËÒÙÔÉÑ %s: %s\n"
+msgstr "%s: Ошибка закрытия %s: %s\n"
 
-#: timezone/zic.c:924
+#: timezone/zic.c:912
 msgid "expected continuation line not found"
-msgstr "ÏÖÉÄÁÅÍÁÑ ÓÔÒÏËÁ ÐÒÏÄÏÌÖÅÎÉÑ ÎÅ ÎÁÊÄÅÎÁ"
+msgstr "ожидаемая строка продолжения не найдена"
+
+#: timezone/zic.c:956 timezone/zic.c:2489 timezone/zic.c:2508
+msgid "time overflow"
+msgstr "переполнение времени"
 
-#: timezone/zic.c:968
+#: timezone/zic.c:960
 msgid "24:00 not handled by pre-1998 versions of zic"
-msgstr "24:00 ÎÅ ÐÏÄÄÅÒÖÉ×ÁÅÔÓÑ ×ÅÒÓÉÑÍÉ zic ÓÔÁÒÛÅ 1998 ÇÏÄÁ"
+msgstr "24:00 не поддерживается версиями zic старше 1998 года"
 
-#: timezone/zic.c:982
+#: timezone/zic.c:963
+msgid "values over 24 hours not handled by pre-2007 versions of zic"
+msgstr "значения больше 24 часов не поддерживается версиями zic старше 2007 года"
+
+#: timezone/zic.c:976
 msgid "wrong number of fields on Rule line"
-msgstr "ÎÅÐÒÁ×ÉÌØÎÏÅ ÞÉÓÌÏ ÐÏÌÅÊ × ÓÔÒÏËÅ Rule"
+msgstr "неправильное число полей в строке Rule"
 
-#: timezone/zic.c:986
+#: timezone/zic.c:980
 msgid "nameless rule"
-msgstr "ÂÅÚÙÍÑÎÎÏÅ ÐÒÁ×ÉÌÏ"
+msgstr "безымянное правило"
 
-#: timezone/zic.c:991
+#: timezone/zic.c:985
 msgid "invalid saved time"
-msgstr "ÎÅ×ÅÒÎÏÅ ÓÏÈÒÁÎÅÎÎÏÅ ×ÒÅÍÑ"
+msgstr "неверное сохраненное время"
 
-#: timezone/zic.c:1010
+#: timezone/zic.c:1006
 msgid "wrong number of fields on Zone line"
-msgstr "ÎÅ×ÅÒÎÏÅ ÞÉÓÌÏ ÐÏÌÅÊ × ÓÔÒÏËÅ Zone"
+msgstr "неверное число полей в строке Zone"
 
-#: timezone/zic.c:1016
+#: timezone/zic.c:1012
 #, c-format
 msgid "\"Zone %s\" line and -l option are mutually exclusive"
-msgstr "ÓÔÒÏËÁ \"Zone %s\" É ËÌÀÞ -l ×ÚÁÉÍÎÏ ÉÓËÌÀÞÁÀÔÓÑ"
+msgstr "строка «Zone %s» и ключ -l взаимно исключаются"
 
-#: timezone/zic.c:1024
+#: timezone/zic.c:1020
 #, c-format
 msgid "\"Zone %s\" line and -p option are mutually exclusive"
-msgstr "ÓÔÒÏËÁ \"Zone %s\" É ËÌÀÞ -p ×ÚÁÉÍÎÏ ÉÓËÌÀÞÁÀÔÓÑ"
+msgstr "строка «Zone %s» и ключ -p взаимно исключаются"
 
-#: timezone/zic.c:1036
+#: timezone/zic.c:1032
 #, c-format
 msgid "duplicate zone name %s (file \"%s\", line %d)"
-msgstr "ÐÏ×ÔÏÒÎÏÅ ÉÍÑ ÚÏÎÙ %s (ÆÁÊÌ \"%s\", ÓÔÒÏËÁ %d)"
+msgstr "повÑ\82оÑ\80ное Ð¸Ð¼Ñ\8f Ð·Ð¾Ð½Ñ\8b %s (Ñ\84айл Â«%s», Ñ\81Ñ\82Ñ\80ока %d)"
 
-#: timezone/zic.c:1052
+#: timezone/zic.c:1048
 msgid "wrong number of fields on Zone continuation line"
-msgstr "ÎÅÐÒÁ×ÉÌØÎÏÅ ÞÉÓÌÏ ÐÏÌÅÊ × ÓÔÒÏËÅ ÐÒÏÄÏÌÖÅÎÉÑ Zone"
+msgstr "неправильное число полей в строке продолжения Zone"
 
-#: timezone/zic.c:1092
+#: timezone/zic.c:1088
 msgid "invalid UTC offset"
-msgstr "ÎÅ×ÅÒÎÏÅ ÓÍÅÝÅÎÉÅ ÏÔ UTC"
+msgstr "неверное смещение от UTC"
 
-#: timezone/zic.c:1095
+#: timezone/zic.c:1091
 msgid "invalid abbreviation format"
-msgstr "ÎÅ×ÅÒÎÙÊ ÆÏÒÍÁÔ ÓÏËÒÁÝÅÎÉÑ"
+msgstr "неверный формат сокращения"
 
-#: timezone/zic.c:1122
+#: timezone/zic.c:1120
 msgid "Zone continuation line end time is not after end time of previous line"
-msgstr "ËÏÎÅÞÎÏÅ ×ÒÅÍÑ × ÓÔÒÏËÅ ÐÒÏÄÏÌÖÅÎÉÑ Zone ÎÅ ÐÏÚÄÎÅÅ ËÏÎÅÞÎÏÇÏ ×ÒÅÍÅÎÉ × ÐÒÅÄÙÄÕÝÅÊ ÓÔÒÏËÅ"
+msgstr "конечное время в строке продолжения Zone не позднее конечного времени в предыдущей строке"
 
-#: timezone/zic.c:1150
+#: timezone/zic.c:1148
 msgid "wrong number of fields on Leap line"
-msgstr "ÎÅ×ÅÒÎÏÅ ÞÉÓÌÏ ÐÏÌÅÊ × ÓÔÒÏËÅ Leap"
+msgstr "неверное число полей в строке Leap"
 
-#: timezone/zic.c:1159
+#: timezone/zic.c:1157
 msgid "invalid leaping year"
-msgstr "ÎÅ×ÅÒÎÙÊ ×ÉÓÏËÏÓÎÙÊ ÇÏÄ"
+msgstr "неверный високосный год"
 
-#: timezone/zic.c:1174 timezone/zic.c:1280
+#: timezone/zic.c:1177 timezone/zic.c:1283
 msgid "invalid month name"
-msgstr "ÎÅ×ÅÒÎÏÅ ÎÁÚ×ÁÎÉÅ ÍÅÓÑÃÁ"
+msgstr "неверное название месяца"
 
-#: timezone/zic.c:1187 timezone/zic.c:1402 timezone/zic.c:1416
+#: timezone/zic.c:1190 timezone/zic.c:1396 timezone/zic.c:1410
 msgid "invalid day of month"
-msgstr "ÎÅ×ÅÒÎÙÊ ÄÅÎØ ÍÅÓÑÃÁ"
+msgstr "неверный день месяца"
 
-#: timezone/zic.c:1192
+#: timezone/zic.c:1195
 msgid "time before zero"
-msgstr "×ÒÅÍÑ ÄÏ ÎÕÌÑ"
+msgstr "время до нуля"
 
-#: timezone/zic.c:1196
+#: timezone/zic.c:1199
 msgid "time too small"
-msgstr "×ÒÅÍÑ ÓÌÉÛËÏÍ ÍÁÌÏ"
+msgstr "время слишком мало"
 
-#: timezone/zic.c:1200
+#: timezone/zic.c:1203
 msgid "time too large"
-msgstr "×ÒÅÍÑ ÓÌÉÛËÏÍ ×ÅÌÉËÏ"
+msgstr "время слишком велико"
 
-#: timezone/zic.c:1204 timezone/zic.c:1309
+#: timezone/zic.c:1207 timezone/zic.c:1312
 msgid "invalid time of day"
-msgstr "ÎÅ×ÅÒÎÏÅ ×ÒÅÍÑ ÄÎÑ"
+msgstr "неверное время дня"
 
-#: timezone/zic.c:1223
+#: timezone/zic.c:1226
 msgid "illegal CORRECTION field on Leap line"
-msgstr "ÎÅ×ÅÒÎÏÅ ÐÏÌÅ CORRECTION × ÓÔÒÏËÅ Leap"
+msgstr "неверное поле CORRECTION в строке Leap"
 
-#: timezone/zic.c:1228
+#: timezone/zic.c:1231
 msgid "illegal Rolling/Stationary field on Leap line"
-msgstr "ÎÅ×ÅÒÎÏÅ ÐÏÌÅ Rolling/Stationary × ÓÔÒÏËÅ Leap"
+msgstr "неверное поле Rolling/Stationary в строке Leap"
 
-#: timezone/zic.c:1244
+#: timezone/zic.c:1247
 msgid "wrong number of fields on Link line"
-msgstr "ÎÅ×ÅÒÎÏÅ ÞÉÓÌÏ ÐÏÌÅÊ × ÓÔÒÏËÅ Link"
+msgstr "неверное число полей в строке Link"
 
-#: timezone/zic.c:1248
+#: timezone/zic.c:1251
 msgid "blank FROM field on Link line"
-msgstr "ÐÕÓÔÏÅ ÐÏÌÅ FROM × ÓÔÒÏËÅ Link"
+msgstr "пÑ\83Ñ\81Ñ\82ое Ð¿Ð¾Ð»Ðµ FROM Ð² Ñ\81Ñ\82Ñ\80оке Link"
 
-#: timezone/zic.c:1252
+#: timezone/zic.c:1255
 msgid "blank TO field on Link line"
-msgstr "ÐÕÓÔÏÅ ÐÏÌÅ TO × ÓÔÒÏËÅ Link"
-
-#: timezone/zic.c:1329
-msgid "invalid starting year"
-msgstr "ÎÅ×ÅÒÎÙÊ ÎÁÞÁÌØÎÙÊ ÇÏÄ"
+msgstr "пустое поле TO в строке Link"
 
 #: timezone/zic.c:1333
-msgid "starting year too low to be represented"
-msgstr "ÎÁÞÁÌØÎÙÊ ÇÏÄ ÓÌÉÛËÏÍ ÍÁÌ É ÅÇÏ ÎÅ×ÏÚÍÏÖÎÏ ÍÁÛÉÎÎÏ ÐÒÅÄÓÔÁ×ÉÔØ"
-
-#: timezone/zic.c:1335
-msgid "starting year too high to be represented"
-msgstr "ÎÁÞÁÌØÎÙÊ ÇÏÄ ÓÌÉÛËÏÍ ×ÅÌÉË É ÅÇÏ ÎÅ×ÏÚÍÏÖÎÏ ÍÁÛÉÎÎÏ ÐÒÅÄÓÔÁ×ÉÔØ"
+msgid "invalid starting year"
+msgstr "неверный начальный год"
 
-#: timezone/zic.c:1354
+#: timezone/zic.c:1355
 msgid "invalid ending year"
-msgstr "ÎÅ×ÅÒÎÙÊ ËÏÎÅÞÎÙÊ ÇÏÄ"
-
-#: timezone/zic.c:1358
-msgid "ending year too low to be represented"
-msgstr "ËÏÎÅÞÎÙÊ ÇÏÄ ÓÌÉÛËÏÍ ÍÁÌ É ÅÇÏ ÎÅ×ÏÚÍÏÖÎÏ ÍÁÛÉÎÎÏ ÐÒÅÄÓÔÁ×ÉÔØ"
-
-#: timezone/zic.c:1360
-msgid "ending year too high to be represented"
-msgstr "ËÏÎÅÞÎÙÊ ÇÏÄ ÓÌÉÛËÏÍ ×ÅÌÉË É ÅÇÏ ÎÅ×ÏÚÍÏÖÎÏ ÍÁÛÉÎÎÏ ÐÒÅÄÓÔÁ×ÉÔØ"
+msgstr "неверный конечный год"
 
-#: timezone/zic.c:1363
+#: timezone/zic.c:1359
 msgid "starting year greater than ending year"
-msgstr "ÎÁÞÁÌØÎÙÊ ÇÏÄ ÂÏÌØÛÅ ËÏÎÅÞÎÏÇÏ"
+msgstr "начальный год больше конечного"
 
-#: timezone/zic.c:1370
+#: timezone/zic.c:1366
 msgid "typed single year"
-msgstr "ÏÄÉΠÔÉÐÉÚÉÒÏ×ÁÎÎÙÊ ÇÏÄ"
+msgstr "один типизированный год"
 
-#: timezone/zic.c:1407
+#: timezone/zic.c:1401
 msgid "invalid weekday name"
-msgstr "ÎÅ×ÅÒÎÏÅ ÎÁÚ×ÁÎÉÑ ÄÎÑ ÎÅÄÅÌÉ"
+msgstr "неверное названия дня недели"
 
-#: timezone/zic.c:1521
+#: timezone/zic.c:1579
 #, c-format
 msgid "%s: Can't remove %s: %s\n"
-msgstr "%s: îÅ×ÏÚÍÏÖÎÏ ÕÄÁÌÉÔØ %s: %s\n"
+msgstr "%s: Невозможно удалить %s: %s\n"
 
-#: timezone/zic.c:1531
+#: timezone/zic.c:1589
 #, c-format
 msgid "%s: Can't create %s: %s\n"
-msgstr "%s: îÅ×ÏÚÍÏÖÎÏ ÓÏÚÄÁÔØ %s: %s\n"
+msgstr "%s: Невозможно создать %s: %s\n"
 
-#: timezone/zic.c:1598
+#: timezone/zic.c:1739
 #, c-format
 msgid "%s: Error writing %s\n"
-msgstr "%s: ïÛÉÂËÁ ÚÁÐÉÓÉ %s\n"
+msgstr "%s: Ошибка записи %s\n"
 
-#: timezone/zic.c:1789
+#: timezone/zic.c:2031
+msgid "no POSIX environment variable for zone"
+msgstr "нет переменной окружения POSIX для часового пояса"
+
+#: timezone/zic.c:2185
 msgid "can't determine time zone abbreviation to use just after until time"
-msgstr ""
+msgstr "не удалось определить аббревиатуру часового пояса для использования сразу после прошедшего времени "
 
-#: timezone/zic.c:1832
+#: timezone/zic.c:2231
 msgid "too many transitions?!"
-msgstr "ÓÌÉÛËÏÍ ÍÎÏÇÏ ÐÅÒÅÈÏÄÏ×?!"
+msgstr "слишком много переходов?!"
 
-#: timezone/zic.c:1851
+#: timezone/zic.c:2250
 msgid "internal error - addtype called with bad isdst"
-msgstr "×ÎÕÔÒÅÎÎÑÑ ÏÛÉÂËÁ -- addtype ×ÙÚ×ÁÎÁ Ó ÎÅÐÒÁ×ÉÌØÎÙÍ isdst"
+msgstr "внутренняя ошибка -- addtype вызвана с неправильным isdst"
 
-#: timezone/zic.c:1855
+#: timezone/zic.c:2254
 msgid "internal error - addtype called with bad ttisstd"
-msgstr "×ÎÕÔÒÅÎÎÑÑ ÏÛÉÂËÁ -- addtype ×ÙÚ×ÁÎÁ Ó ÎÅÐÒÁ×ÉÌØÎÙÍ ttisstd"
+msgstr "внутренняя ошибка -- addtype вызвана с неправильным ttisstd"
 
-#: timezone/zic.c:1859
+#: timezone/zic.c:2258
 msgid "internal error - addtype called with bad ttisgmt"
-msgstr "×ÎÕÔÒÅÎÎÑÑ ÏÛÉÂËÁ -- addtype ×ÙÚ×ÁÎÁ Ó ÎÅÐÒÁ×ÉÌØÎÙÍ ttisgmt"
+msgstr "внутренняя ошибка -- addtype вызвана с неправильным ttisgmt"
 
-#: timezone/zic.c:1878
+#: timezone/zic.c:2277
 msgid "too many local time types"
-msgstr "ÓÌÉÛËÏÍ ÍÎÏÇÏ ÔÉÐÏ× ÍÅÓÔÎÏÇÏ ×ÒÅÍÅÎÉ"
+msgstr "слишком много типов местного времени"
 
-#: timezone/zic.c:1906
+#: timezone/zic.c:2281
+msgid "UTC offset out of range"
+msgstr "сдвиг UTC вне диапазона"
+
+#: timezone/zic.c:2309
 msgid "too many leap seconds"
-msgstr "ÓÌÉÛËÏÍ ÍÎÏÇÏ ×ÉÓÏËÏÓÎÙÈ ÓÅËÕÎÄ"
+msgstr "слишком много високосных секунд"
 
-#: timezone/zic.c:1912
+#: timezone/zic.c:2315
 msgid "repeated leap second moment"
-msgstr "ÐÏ×ÔÏÒÑÀÝÉÊÓÑ ÍÏÍÅÎÔ ×ÉÓÏËÏÓÎÏÊ ÓÅËÕÎÄÙ"
+msgstr "повÑ\82оÑ\80Ñ\8fÑ\8eÑ\89ийÑ\81Ñ\8f Ð¼Ð¾Ð¼ÐµÐ½Ñ\82 Ð²Ð¸Ñ\81окоÑ\81ной Ñ\81екÑ\83ндÑ\8b"
 
-#: timezone/zic.c:1964
+#: timezone/zic.c:2367
 msgid "Wild result from command execution"
-msgstr "îÅÁÄÅË×ÁÔÎÙÊ ÒÅÚÕÌØÔÁÔ ×ÙÐÏÌÎÅÎÉÑ ËÏÍÁÎÄÙ"
+msgstr "Неадекватный результат выполнения команды"
 
-#: timezone/zic.c:1965
+#: timezone/zic.c:2368
 #, c-format
 msgid "%s: command was '%s', result was %d\n"
-msgstr "%s: ËÏÍÁÎÄÁ ÂÙÌÁ '%s', ÒÅÚÕÌØÔÁÔ ÂÙÌ %d\n"
+msgstr "%s: команда была »%s», результат был %d\n"
 
-#: timezone/zic.c:2062
+#: timezone/zic.c:2466
 msgid "Odd number of quotation marks"
-msgstr "îÅÞÅÔÎÏÅ ÞÉÓÌÏ ËÁ×ÙÞÅË"
+msgstr "Нечетное число кавычек"
 
-#: timezone/zic.c:2083 timezone/zic.c:2102
-msgid "time overflow"
-msgstr "ÐÅÒÅÐÏÌÎÅÎÉÅ ×ÒÅÍÅÎÉ"
-
-#: timezone/zic.c:2149
+#: timezone/zic.c:2555
 msgid "use of 2/29 in non leap-year"
-msgstr "ÉÓÐÏÌØÚÏ×ÁÎÉÅ 29 ÆÅ×ÒÁÌÑ × ÎÅ×ÉÓÏËÏÓÎÏÍ ÇÏÄÕ"
+msgstr "использование 29 февраля в не-високосном году"
 
-#: timezone/zic.c:2184
+#: timezone/zic.c:2590
 msgid "rule goes past start/end of month--will not work with pre-2004 versions of zic"
-msgstr "ÐÒÁ×ÉÌÏ ÐÅÒÅÈÏÄÉÔ ÚÁ ÎÁÞÁÌÏ/ËÏÎÅàÍÅÓÑÃÁ -- ÜÔÏ ÎÅ ÂÕÄÅÔ ÒÁÂÏÔÁÔØ × ×ÅÒÓÉÑÈ zic ÓÔÁÒÛÅ 2004 ÇÏÄÁ"
+msgstr "пÑ\80авило Ð¿ÐµÑ\80еÑ\85одиÑ\82 Ð·Ð° Ð½Ð°Ñ\87ало/конеÑ\86 Ð¼ÐµÑ\81Ñ\8fÑ\86а -- Ñ\8dÑ\82о Ð½Ðµ Ð±Ñ\83деÑ\82 Ñ\80абоÑ\82аÑ\82Ñ\8c Ð² Ð²ÐµÑ\80Ñ\81иÑ\8fÑ\85 zic Ñ\81Ñ\82аÑ\80Ñ\88е 2004 Ð³Ð¾Ð´Ð°"
 
-#: timezone/zic.c:2218
+#: timezone/zic.c:2622
 msgid "time zone abbreviation lacks alphabetic at start"
-msgstr "ÓÏËÒÁÝÅÎÉÅ ÞÁÓÏ×ÏÇÏ ÐÏÑÓÁ ÎÅ ÎÁÞÉÎÁÅÔÓÑ Ó ÂÕË×Ù"
+msgstr "сокращение часового пояса не начинается с буквы"
 
-#: timezone/zic.c:2220
+#: timezone/zic.c:2624
 msgid "time zone abbreviation has more than 3 alphabetics"
-msgstr "ÓÏËÒÁÝÅÎÉÅ ÞÁÓÏ×ÏÇÏ ÐÏÑÓÁ ÓÏÄÅÒÖÉÔ ÂÏÌÅÅ ÔÒÅÈ ÂÕË×"
+msgstr "сокращение часового пояса содержит более трех букв"
 
-#: timezone/zic.c:2222
+#: timezone/zic.c:2626
 msgid "time zone abbreviation has too many alphabetics"
-msgstr "ÓÏËÒÁÝÅÎÉÅ ÞÁÓÏ×ÏÇÏ ÐÏÑÓÁ ÓÏÄÅÒÖÉÔ ÓÌÉÛËÏÍ ÍÎÏÇÏ ÂÕË×"
+msgstr "сокращение часового пояса содержит слишком много букв"
 
-#: timezone/zic.c:2232
+#: timezone/zic.c:2636
 msgid "time zone abbreviation differs from POSIX standard"
-msgstr "ÓÏËÒÁÝÅÎÉÅ ÞÁÓÏ×ÏÇÏ ÐÏÑÓÁ ÏÔÌÉÞÁÅÔÓÑ ÏÔ ÓÔÁÎÄÁÒÔÁ POSIX"
+msgstr "сокращение часового пояса отличается от стандарта POSIX"
 
-#: timezone/zic.c:2244
+#: timezone/zic.c:2648
 msgid "too many, or too long, time zone abbreviations"
-msgstr "ÓÌÉÛËÏÍ ÍÎÏÇÏ ÓÏËÒÁÝÅÎÉÊ ÞÁÓÏ×ÙÈ ÐÏÑÓÏ× ÉÌÉ ÏÎÉ ÓÌÉÛËÏÍ ÄÌÉÎÎÙÅ"
+msgstr "слишком много сокращений часовых поясов или они слишком длинные"
 
-#: timezone/zic.c:2285
+#: timezone/zic.c:2689
 #, c-format
 msgid "%s: Can't create directory %s: %s\n"
-msgstr "%s: îÅ×ÏÚÍÏÖÎÏ ÓÏÚÄÁÔØ ËÁÔÁÌÏÇ %s: %s\n"
+msgstr "%s: Невозможно создать каталог %s: %s\n"
 
-#: timezone/zic.c:2307
+#: timezone/zic.c:2711
 #, c-format
 msgid "%s: %d did not sign extend correctly\n"
-msgstr "%s: %d ÎÅ ÓÏÈÒÁÎÉÌÏ ÚÎÁË ÐÒÉ ÒÁÓÛÉÒÅÎÉÉ\n"
+msgstr "%s: %d не сохранило знак при расширении\n"
+
+#~ msgid "Can't remove old temporary cache file %s"
+#~ msgstr "Невозможно удалить старый временный кэш-файл %s"
+
+#~ msgid "Writing of cache data failed."
+#~ msgstr "Запись данных кэша неуспешна."
+
+#~ msgid "empty dynamics string token substitution"
+#~ msgstr "пустое вхождение динамического строкового токена"
+
+#~ msgid "Can't lstat %s"
+#~ msgstr "Невозможно выполнить lstat %s"
+
+#~ msgid "<%s> and <%s> are illegal names for range"
+#~ msgstr "<%s> и <%s> -- недопустимые имена для диапазона"
+
+#~ msgid "upper limit in range is not higher then lower limit"
+#~ msgstr "верхняя граница диапазона не больше нижней границы"
+
+#~ msgid "%s: character `%s' not defined in charmap while needed as default value"
+#~ msgstr "%s: знак «%s» не определен в отображении знаков, однако он необходим как значение по умолчанию"
+
+#~ msgid "character `%s' not defined while needed as default value"
+#~ msgstr "знак «%s» не определен, хотя он нужен как значение по умолчанию"
+
+#~ msgid "%s: value for field `%s' must not be the empty string"
+#~ msgstr "%s: значение поля «%s» не должно быть пустой строкой"
+
+#~ msgid "%s: values of field `%s' must not be larger than %d"
+#~ msgstr "%s: значения поля «%s» не должны быть больше %d"
+
+#~ msgid "Failed to drop capabilities\n"
+#~ msgstr "Не удалось сбросить возможности\n"
+
+#~ msgid "starting year too low to be represented"
+#~ msgstr "начальный год слишком мал и его невозможно машинно представить"
+
+#~ msgid "starting year too high to be represented"
+#~ msgstr "начальный год слишком велик и его невозможно машинно представить"
+
+#~ msgid "ending year too low to be represented"
+#~ msgstr "конечный год слишком мал и его невозможно машинно представить"
+
+#~ msgid "ending year too high to be represented"
+#~ msgstr "конечный год слишком велик и его невозможно машинно представить"
+
+#~ msgid "uninitialized header"
+#~ msgstr "неинициализированный заголовок"
+
+#~ msgid "request not handled due to missing permission"
+#~ msgstr "запрос не обработан из-за недостаточного доступа"
+
+#~ msgid "could not initialize conditional variable"
+#~ msgstr "невозможно инициализировать условное выражение"
+
+#~ msgid "could not start any worker thread; terminating"
+#~ msgstr "не удалось запустить ни один рабочий поток; останов"
+
+#~ msgid "compile-time support for database policy missing"
+#~ msgstr "отсутствует поддержка стратегий баз данных при компиляции"
+
+#~ msgid "out of memory\n"
+#~ msgstr "недостаточно памяти\n"
index c0edce4d62528e4bd243a87365f9735046db045e..5af49dffd4f9ede070e3b238ade1476b2cb396af 100644 (file)
@@ -1,4 +1,4 @@
-# Copyright (C) 1991-1999, 2000-2006, 2007 Free Software Foundation, Inc.
+# Copyright (C) 1991-1999, 2000-2006, 2007, 2009 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
@@ -303,6 +303,6 @@ $(inst_libexecdir)/getconf: $(inst_bindir)/getconf \
 
 $(objpfx)getconf.speclist: getconf.speclist.h
        $(CC) -E $(CFLAGS) $(CPPFLAGS) $< \
-         | sed -n -e '/START_OF_STRINGS/,$${/POSIX_V6_/{s/^[^"]*"//;s/".*$$//;p}}' \
+         | sed -n -e '/START_OF_STRINGS/,$${/\(POSIX_V[67]\|_XBS5\)_/{s/^[^"]*"//;s/".*$$//;p}}' \
          > $@.new
        mv -f $@.new $@
index 26b0fa875b0f3f204dea53152d2e5169a6a3e56f..9aa4b5aebb8790ac591d826bfbce8ce691e4081c 100644 (file)
@@ -1,5 +1,4 @@
-/* Copyright (C) 1991, 1996, 1997, 2000-2002, 2003, 2004
-   Free Software Foundation, Inc.
+/* Copyright (C) 1991,1996,1997,2000-2004,2009 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
@@ -46,6 +45,69 @@ confstr (name, buf, len)
       }
       break;
 
+    case _CS_V7_WIDTH_RESTRICTED_ENVS:
+      /* We have to return a newline-separated list of named of
+        programming environements in which the widths of blksize_t,
+        cc_t, mode_t, nfds_t, pid_t, ptrdiff_t, size_t, speed_t,
+        ssize_t, suseconds_t, tcflag_t, useconds_t, wchar_t, and
+        wint_t types are no greater than the width of type long.
+
+        Currently this means all environment which the system allows.  */
+      {
+       char restenvs[4 * sizeof "POSIX_V7_LPBIG_OFFBIG"];
+
+       string_len = 0;
+#ifndef _POSIX_V7_ILP32_OFF32
+        if (__sysconf (_SC_V7_ILP32_OFF32) > 0)
+#endif
+#if !defined _POSIX_V7_ILP32_OFF32 || _POSIX_V7_ILP32_OFF32 > 0
+          {
+            memcpy (restenvs + string_len, "POSIX_V7_ILP32_OFF32",
+                    sizeof "POSIX_V7_ILP32_OFF32" - 1);
+            string_len += sizeof "POSIX_V7_ILP32_OFF32" - 1;
+          }
+#endif
+#ifndef _POSIX_V7_ILP32_OFFBIG
+        if (__sysconf (_SC_V7_ILP32_OFFBIG) > 0)
+#endif
+#if !defined _POSIX_V7_ILP32_OFFBIG || _POSIX_V7_ILP32_OFFBIG > 0
+          {
+            if (string_len)
+              restenvs[string_len++] = '\n';
+            memcpy (restenvs + string_len, "POSIX_V7_ILP32_OFFBIG",
+                    sizeof "POSIX_V7_ILP32_OFFBIG" - 1);
+            string_len += sizeof "POSIX_V7_ILP32_OFFBIG" - 1;
+          }
+#endif
+#ifndef _POSIX_V7_LP64_OFF64
+        if (__sysconf (_SC_V7_LP64_OFF64) > 0)
+#endif
+#if !defined _POSIX_V7_LP64_OFF64 || _POSIX_V7_LP64_OFF64 > 0
+          {
+            if (string_len)
+              restenvs[string_len++] = '\n';
+            memcpy (restenvs + string_len, "POSIX_V7_LP64_OFF64",
+                    sizeof "POSIX_V7_LP64_OFF64" - 1);
+            string_len += sizeof "POSIX_V7_LP64_OFF64" - 1;
+          }
+#endif
+#ifndef _POSIX_V7_LPBIG_OFFBIG
+        if (__sysconf (_SC_V7_LPBIG_OFFBIG) > 0)
+#endif
+#if !defined _POSIX_V7_LPBIG_OFFBIG || _POSIX_V7_LPBIG_OFFBIG > 0
+          {
+            if (string_len)
+              restenvs[string_len++] = '\n';
+            memcpy (restenvs + string_len, "POSIX_V7_LPBIG_OFFBIG",
+                    sizeof "POSIX_V7_LPBIG_OFFBIG" - 1);
+            string_len += sizeof "POSIX_V7_LPBIG_OFFBIG" - 1;
+          }
+#endif
+        restenvs[string_len++] = '\0';
+       string = restenvs;
+      }
+      break;
+
     case _CS_V6_WIDTH_RESTRICTED_ENVS:
       /* We have to return a newline-separated list of named of
         programming environements in which the widths of blksize_t,
@@ -109,13 +171,77 @@ confstr (name, buf, len)
       }
       break;
 
+    case _CS_V5_WIDTH_RESTRICTED_ENVS:
+      /* We have to return a newline-separated list of named of
+        programming environements in which the widths of blksize_t,
+        cc_t, mode_t, nfds_t, pid_t, ptrdiff_t, size_t, speed_t,
+        ssize_t, suseconds_t, tcflag_t, useconds_t, wchar_t, and
+        wint_t types are no greater than the width of type long.
+
+        Currently this means all environment which the system allows.  */
+      {
+       char restenvs[4 * sizeof "XBS5_LPBIG_OFFBIG"];
+
+       string_len = 0;
+#ifndef _XBS5_ILP32_OFF32
+        if (__sysconf (_SC_XBS5_ILP32_OFF32) > 0)
+#endif
+#if !defined _XBS5_ILP32_OFF32 || _XBS5_ILP32_OFF32 > 0
+          {
+            memcpy (restenvs + string_len, "XBS5_ILP32_OFF32",
+                    sizeof "XBS5_ILP32_OFF32" - 1);
+            string_len += sizeof "XBS5_ILP32_OFF32" - 1;
+          }
+#endif
+#ifndef _XBS5_ILP32_OFFBIG
+        if (__sysconf (_SC_XBS5_ILP32_OFFBIG) > 0)
+#endif
+#if !defined _XBS5_ILP32_OFFBIG || _XBS5_ILP32_OFFBIG > 0
+          {
+            if (string_len)
+              restenvs[string_len++] = '\n';
+            memcpy (restenvs + string_len, "XBS5_ILP32_OFFBIG",
+                    sizeof "XBS5_ILP32_OFFBIG" - 1);
+            string_len += sizeof "XBS5_ILP32_OFFBIG" - 1;
+          }
+#endif
+#ifndef _XBS5_LP64_OFF64
+        if (__sysconf (_SC_XBS5_LP64_OFF64) > 0)
+#endif
+#if !defined _XBS5_LP64_OFF64 || _XBS5_LP64_OFF64 > 0
+          {
+            if (string_len)
+              restenvs[string_len++] = '\n';
+            memcpy (restenvs + string_len, "XBS5_LP64_OFF64",
+                    sizeof "XBS5_LP64_OFF64" - 1);
+            string_len += sizeof "XBS5_LP64_OFF64" - 1;
+          }
+#endif
+#ifndef _XBS5_LPBIG_OFFBIG
+        if (__sysconf (_SC_XBS5_LPBIG_OFFBIG) > 0)
+#endif
+#if !defined _XBS5_LPBIG_OFFBIG || _XBS5_LPBIG_OFFBIG > 0
+          {
+            if (string_len)
+              restenvs[string_len++] = '\n';
+            memcpy (restenvs + string_len, "XBS5_LPBIG_OFFBIG",
+                    sizeof "XBS5_LPBIG_OFFBIG" - 1);
+            string_len += sizeof "XBS5_LPBIG_OFFBIG" - 1;
+          }
+#endif
+        restenvs[string_len++] = '\0';
+       string = restenvs;
+      }
+      break;
+
     case _CS_XBS5_ILP32_OFF32_CFLAGS:
     case _CS_POSIX_V6_ILP32_OFF32_CFLAGS:
+    case _CS_POSIX_V7_ILP32_OFF32_CFLAGS:
 #ifdef __ILP32_OFF32_CFLAGS
-# if _POSIX_V6_ILP32_OFF32 == -1
+# if _POSIX_V7_ILP32_OFF32 == -1
 #  error "__ILP32_OFF32_CFLAGS should not be defined"
-# elif !defined _POSIX_V6_ILP32_OFF32
-      if (__sysconf (_SC_V6_ILP32_OFF32) < 0)
+# elif !defined _POSIX_V7_ILP32_OFF32
+      if (__sysconf (_SC_V7_ILP32_OFF32) < 0)
         break;
 # endif
       string = __ILP32_OFF32_CFLAGS;
@@ -125,11 +251,12 @@ confstr (name, buf, len)
 
     case _CS_XBS5_ILP32_OFFBIG_CFLAGS:
     case _CS_POSIX_V6_ILP32_OFFBIG_CFLAGS:
+    case _CS_POSIX_V7_ILP32_OFFBIG_CFLAGS:
 #ifdef __ILP32_OFFBIG_CFLAGS
-# if _POSIX_V6_ILP32_OFFBIG == -1
+# if _POSIX_V7_ILP32_OFFBIG == -1
 #  error "__ILP32_OFFBIG_CFLAGS should not be defined"
-# elif !defined _POSIX_V6_ILP32_OFFBIG
-      if (__sysconf (_SC_V6_ILP32_OFFBIG) < 0)
+# elif !defined _POSIX_V7_ILP32_OFFBIG
+      if (__sysconf (_SC_V7_ILP32_OFFBIG) < 0)
         break;
 # endif
       string = __ILP32_OFFBIG_CFLAGS;
@@ -139,11 +266,12 @@ confstr (name, buf, len)
 
     case _CS_XBS5_LP64_OFF64_CFLAGS:
     case _CS_POSIX_V6_LP64_OFF64_CFLAGS:
+    case _CS_POSIX_V7_LP64_OFF64_CFLAGS:
 #ifdef __LP64_OFF64_CFLAGS
-# if _POSIX_V6_LP64_OFF64 == -1
+# if _POSIX_V7_LP64_OFF64 == -1
 #  error "__LP64_OFF64_CFLAGS should not be defined"
-# elif !defined _POSIX_V6_LP64_OFF64
-      if (__sysconf (_SC_V6_LP64_OFF64) < 0)
+# elif !defined _POSIX_V7_LP64_OFF64
+      if (__sysconf (_SC_V7_LP64_OFF64) < 0)
         break;
 # endif
       string = __LP64_OFF64_CFLAGS;
@@ -153,11 +281,12 @@ confstr (name, buf, len)
 
     case _CS_XBS5_ILP32_OFF32_LDFLAGS:
     case _CS_POSIX_V6_ILP32_OFF32_LDFLAGS:
+    case _CS_POSIX_V7_ILP32_OFF32_LDFLAGS:
 #ifdef __ILP32_OFF32_LDFLAGS
-# if _POSIX_V6_ILP32_OFF32 == -1
+# if _POSIX_V7_ILP32_OFF32 == -1
 #  error "__ILP32_OFF32_LDFLAGS should not be defined"
-# elif !defined _POSIX_V6_ILP32_OFF32
-      if (__sysconf (_SC_V6_ILP32_OFF32) < 0)
+# elif !defined _POSIX_V7_ILP32_OFF32
+      if (__sysconf (_SC_V7_ILP32_OFF32) < 0)
         break;
 # endif
       string = __ILP32_OFF32_LDFLAGS;
@@ -167,11 +296,12 @@ confstr (name, buf, len)
 
     case _CS_XBS5_ILP32_OFFBIG_LDFLAGS:
     case _CS_POSIX_V6_ILP32_OFFBIG_LDFLAGS:
+    case _CS_POSIX_V7_ILP32_OFFBIG_LDFLAGS:
 #ifdef __ILP32_OFFBIG_LDFLAGS
-# if _POSIX_V6_ILP32_OFFBIG == -1
+# if _POSIX_V7_ILP32_OFFBIG == -1
 #  error "__ILP32_OFFBIG_LDFLAGS should not be defined"
-# elif !defined _POSIX_V6_ILP32_OFFBIG
-      if (__sysconf (_SC_V6_ILP32_OFFBIG) < 0)
+# elif !defined _POSIX_V7_ILP32_OFFBIG
+      if (__sysconf (_SC_V7_ILP32_OFFBIG) < 0)
         break;
 # endif
       string = __ILP32_OFFBIG_LDFLAGS;
@@ -181,11 +311,12 @@ confstr (name, buf, len)
 
     case _CS_XBS5_LP64_OFF64_LDFLAGS:
     case _CS_POSIX_V6_LP64_OFF64_LDFLAGS:
+    case _CS_POSIX_V7_LP64_OFF64_LDFLAGS:
 #ifdef __LP64_OFF64_LDFLAGS
-# if _POSIX_V6_LP64_OFF64 == -1
+# if _POSIX_V7_LP64_OFF64 == -1
 #  error "__LP64_OFF64_LDFLAGS should not be defined"
-# elif !defined _POSIX_V6_LP64_OFF64
-      if (__sysconf (_SC_V6_LP64_OFF64) < 0)
+# elif !defined _POSIX_V7_LP64_OFF64
+      if (__sysconf (_SC_V7_LP64_OFF64) < 0)
         break;
 # endif
       string = __LP64_OFF64_LDFLAGS;
@@ -241,6 +372,17 @@ confstr (name, buf, len)
     case _CS_POSIX_V6_LPBIG_OFFBIG_LDFLAGS:
     case _CS_POSIX_V6_LPBIG_OFFBIG_LIBS:
     case _CS_POSIX_V6_LPBIG_OFFBIG_LINTFLAGS:
+
+    case _CS_POSIX_V7_ILP32_OFF32_LIBS:
+    case _CS_POSIX_V7_ILP32_OFF32_LINTFLAGS:
+    case _CS_POSIX_V7_ILP32_OFFBIG_LIBS:
+    case _CS_POSIX_V7_ILP32_OFFBIG_LINTFLAGS:
+    case _CS_POSIX_V7_LP64_OFF64_LIBS:
+    case _CS_POSIX_V7_LP64_OFF64_LINTFLAGS:
+    case _CS_POSIX_V7_LPBIG_OFFBIG_CFLAGS:
+    case _CS_POSIX_V7_LPBIG_OFFBIG_LDFLAGS:
+    case _CS_POSIX_V7_LPBIG_OFFBIG_LIBS:
+    case _CS_POSIX_V7_LPBIG_OFFBIG_LINTFLAGS:
       /* GNU libc does not require special actions to use LFS functions.  */
       break;
 
index 8f5def08adf0113b0ab51c643fa5ec26b4283cf4..2b1f6c987163c3acc83ee2ce2940262678df9273 100644 (file)
@@ -528,6 +528,11 @@ static const struct conf vars[] =
 #endif
 
     /* Programming environments.  */
+#ifdef _CS_V5_WIDTH_RESTRICTED_ENVS
+    { "_XBS5_WIDTH_RESTRICTED_ENVS", _CS_V5_WIDTH_RESTRICTED_ENVS, CONFSTR },
+    { "XBS5_WIDTH_RESTRICTED_ENVS", _CS_V5_WIDTH_RESTRICTED_ENVS, CONFSTR },
+#endif
+
 #ifdef _SC_XBS5_ILP32_OFF32
     { "_XBS5_ILP32_OFF32", _SC_XBS5_ILP32_OFF32, SYSCONF },
 #endif
@@ -661,6 +666,75 @@ static const struct conf vars[] =
     { "POSIX_V6_LPBIG_OFFBIG_LINTFLAGS", _CS_POSIX_V6_LPBIG_OFFBIG_LINTFLAGS, CONFSTR },
 #endif
 
+#ifdef _SC_V7_ILP32_OFF32
+    { "_POSIX_V7_ILP32_OFF32", _SC_V7_ILP32_OFF32, SYSCONF },
+#endif
+#ifdef _CS_POSIX_V7_ILP32_OFF32_CFLAGS
+    { "POSIX_V7_ILP32_OFF32_CFLAGS", _CS_POSIX_V7_ILP32_OFF32_CFLAGS, CONFSTR },
+#endif
+#ifdef _CS_POSIX_V7_ILP32_OFF32_LDFLAGS
+    { "POSIX_V7_ILP32_OFF32_LDFLAGS", _CS_POSIX_V7_ILP32_OFF32_LDFLAGS, CONFSTR },
+#endif
+#ifdef _CS_POSIX_V7_ILP32_OFF32_LIBS
+    { "POSIX_V7_ILP32_OFF32_LIBS", _CS_POSIX_V7_ILP32_OFF32_LIBS, CONFSTR },
+#endif
+#ifdef _CS_POSIX_V7_ILP32_OFF32_LINTFLAGS
+    { "POSIX_V7_ILP32_OFF32_LINTFLAGS", _CS_POSIX_V7_ILP32_OFF32_LINTFLAGS, CONFSTR },
+#endif
+
+#ifdef _CS_V7_WIDTH_RESTRICTED_ENVS
+    { "_POSIX_V7_WIDTH_RESTRICTED_ENVS", _CS_V7_WIDTH_RESTRICTED_ENVS, CONFSTR },
+    { "POSIX_V7_WIDTH_RESTRICTED_ENVS", _CS_V7_WIDTH_RESTRICTED_ENVS, CONFSTR },
+#endif
+
+#ifdef _SC_V7_ILP32_OFFBIG
+    { "_POSIX_V7_ILP32_OFFBIG", _SC_V7_ILP32_OFFBIG, SYSCONF },
+#endif
+#ifdef _CS_POSIX_V7_ILP32_OFFBIG_CFLAGS
+    { "POSIX_V7_ILP32_OFFBIG_CFLAGS", _CS_POSIX_V7_ILP32_OFFBIG_CFLAGS, CONFSTR },
+#endif
+#ifdef _CS_POSIX_V7_ILP32_OFFBIG_LDFLAGS
+    { "POSIX_V7_ILP32_OFFBIG_LDFLAGS", _CS_POSIX_V7_ILP32_OFFBIG_LDFLAGS, CONFSTR },
+#endif
+#ifdef _CS_POSIX_V7_ILP32_OFFBIG_LIBS
+    { "POSIX_V7_ILP32_OFFBIG_LIBS", _CS_POSIX_V7_ILP32_OFFBIG_LIBS, CONFSTR },
+#endif
+#ifdef _CS_POSIX_V7_ILP32_OFFBIG_LINTFLAGS
+    { "POSIX_V7_ILP32_OFFBIG_LINTFLAGS", _CS_POSIX_V7_ILP32_OFFBIG_LINTFLAGS, CONFSTR },
+#endif
+
+#ifdef _SC_V7_LP64_OFF64
+    { "_POSIX_V7_LP64_OFF64", _SC_V7_LP64_OFF64, SYSCONF },
+#endif
+#ifdef _CS_POSIX_V7_LP64_OFF64_CFLAGS
+    { "POSIX_V7_LP64_OFF64_CFLAGS", _CS_POSIX_V7_LP64_OFF64_CFLAGS, CONFSTR },
+#endif
+#ifdef _CS_POSIX_V7_LP64_OFF64_LDFLAGS
+    { "POSIX_V7_LP64_OFF64_LDFLAGS", _CS_POSIX_V7_LP64_OFF64_LDFLAGS, CONFSTR },
+#endif
+#ifdef _CS_POSIX_V7_LP64_OFF64_LIBS
+    { "POSIX_V7_LP64_OFF64_LIBS", _CS_POSIX_V7_LP64_OFF64_LIBS, CONFSTR },
+#endif
+#ifdef _CS_POSIX_V7_LP64_OFF64_LINTFLAGS
+    { "POSIX_V7_LP64_OFF64_LINTFLAGS", _CS_POSIX_V7_LP64_OFF64_LINTFLAGS, CONFSTR },
+#endif
+
+#ifdef _SC_V7_LPBIG_OFFBIG
+    { "_POSIX_V7_LPBIG_OFFBIG", _SC_V7_LPBIG_OFFBIG, SYSCONF },
+#endif
+#ifdef _CS_POSIX_V7_LPBIG_OFFBIG_CFLAGS
+    { "POSIX_V7_LPBIG_OFFBIG_CFLAGS", _CS_POSIX_V7_LPBIG_OFFBIG_CFLAGS, CONFSTR },
+#endif
+#ifdef _CS_POSIX_V7_LPBIG_OFFBIG_LDFLAGS
+    { "POSIX_V7_LPBIG_OFFBIG_LDFLAGS", _CS_POSIX_V7_LPBIG_OFFBIG_LDFLAGS, CONFSTR },
+#endif
+#ifdef _CS_POSIX_V7_LPBIG_OFFBIG_LIBS
+    { "POSIX_V7_LPBIG_OFFBIG_LIBS", _CS_POSIX_V7_LPBIG_OFFBIG_LIBS, CONFSTR },
+#endif
+#ifdef _CS_POSIX_V7_LPBIG_OFFBIG_LINTFLAGS
+    { "POSIX_V7_LPBIG_OFFBIG_LINTFLAGS", _CS_POSIX_V7_LPBIG_OFFBIG_LINTFLAGS, CONFSTR },
+#endif
+
 #ifdef _SC_ADVISORY_INFO
     { "_POSIX_ADVISORY_INFO", _SC_ADVISORY_INFO, SYSCONF },
 #endif
@@ -926,12 +1000,20 @@ static const struct conf vars[] =
   };
 
 
-static struct { const char *name; int num; } specs[] =
+static const struct { const char *name; int num; } specs[] =
   {
+    { "XBS5_ILP32_OFF32", _SC_XBS5_ILP32_OFF32 },
+    { "XBS5_ILP32_OFFBIG", _SC_XBS5_ILP32_OFFBIG },
+    { "XBS5_LP64_OFF64", _SC_XBS5_LP64_OFF64 },
+    { "XBS5_LPBIG_OFFBIG", _SC_XBS5_LPBIG_OFFBIG },
     { "POSIX_V6_ILP32_OFF32", _SC_V6_ILP32_OFF32 },
     { "POSIX_V6_ILP32_OFFBIG", _SC_V6_ILP32_OFFBIG },
     { "POSIX_V6_LP64_OFF64", _SC_V6_LP64_OFF64 },
-    { "POSIX_V6_LPBIG_OFFBIG", _SC_V6_LPBIG_OFFBIG }
+    { "POSIX_V6_LPBIG_OFFBIG", _SC_V6_LPBIG_OFFBIG },
+    { "POSIX_V7_ILP32_OFF32", _SC_V7_ILP32_OFF32 },
+    { "POSIX_V7_ILP32_OFFBIG", _SC_V7_ILP32_OFFBIG },
+    { "POSIX_V7_LP64_OFF64", _SC_V7_LP64_OFF64 },
+    { "POSIX_V7_LPBIG_OFFBIG", _SC_V7_LPBIG_OFFBIG },
   };
 static const int nspecs = sizeof (specs) / sizeof (specs[0]);
 
@@ -949,6 +1031,7 @@ usage (void)
   exit (2);
 }
 
+
 static void
 print_all (const char *path)
 {
@@ -1008,13 +1091,27 @@ main (int argc, char *argv[])
 
   if (argc > 1 && strcmp (argv[1], "--version") == 0)
     {
-      fprintf (stderr, "getconf (GNU %s) %s\n", PACKAGE, VERSION);
-      fprintf (stderr, gettext ("\
+      printf ("getconf (GNU %s) %s\n", PACKAGE, VERSION);
+      printf (gettext ("\
 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\
 "), "2009");
-      fprintf (stderr, gettext ("Written by %s.\n"), "Roland McGrath");
+      printf (gettext ("Written by %s.\n"), "Roland McGrath");
+      return 0;
+    }
+
+  if (argc > 1 && strcmp (argv[1], "--help") == 0)
+    {
+      printf (gettext ("\
+Usage: getconf [-v SPEC] VAR\n\
+  or:  getconf [-v SPEC] PATH_VAR PATH\n\
+\n\
+Get the configuration value for variable VAR, or for variable PATH_VAR\n\
+for path PATH.  If SPEC is given, give values for compilation\n\
+environment SPEC.\n\n"));
+      printf (gettext ("For bug reporting instructions, please see:\n\
+<http://www.gnu.org/software/libc/bugs.html>.\n"));
       return 0;
     }
 
@@ -1068,6 +1165,18 @@ warranty; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.\n\
 
       switch (specs[i].num)
        {
+#ifndef _XBS5_ILP32_OFF32
+         case _SC_XBS5_ILP32_OFF32:
+#endif
+#ifndef _XBS5_ILP32_OFFBIG
+         case _SC_XBS5_ILP32_OFFBIG:
+#endif
+#ifndef _XBS5_LP64_OFF64
+         case _SC_XBS5_LP64_OFF64:
+#endif
+#ifndef _XBS5_LPBIG_OFFBIG
+         case _SC_XBS5_LPBIG_OFFBIG:
+#endif
 #ifndef _POSIX_V6_ILP32_OFF32
          case _SC_V6_ILP32_OFF32:
 #endif
@@ -1079,6 +1188,18 @@ warranty; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.\n\
 #endif
 #ifndef _POSIX_V6_LPBIG_OFFBIG
          case _SC_V6_LPBIG_OFFBIG:
+#endif
+#ifndef _POSIX_V7_ILP32_OFF32
+         case _SC_V7_ILP32_OFF32:
+#endif
+#ifndef _POSIX_V7_ILP32_OFFBIG
+         case _SC_V7_ILP32_OFFBIG:
+#endif
+#ifndef _POSIX_V7_LP64_OFF64
+         case _SC_V7_LP64_OFF64:
+#endif
+#ifndef _POSIX_V7_LPBIG_OFFBIG
+         case _SC_V7_LPBIG_OFFBIG:
 #endif
            {
              const char *args[argc + 3];
index ff77fcc8f98b2fd7d4d82a80c0764b33cdabd2ff..85ac69bf44ed4237984a7c5b924afa944065eca4 100644 (file)
@@ -1,5 +1,5 @@
 /* Definitions for POSIX spawn interface.
-   Copyright (C) 2000, 2003, 2004 Free Software Foundation, Inc.
+   Copyright (C) 2000, 2003, 2004, 2009 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
@@ -74,8 +74,8 @@ extern int posix_spawn (pid_t *__restrict __pid,
                        __const posix_spawn_file_actions_t *__restrict
                        __file_actions,
                        __const posix_spawnattr_t *__restrict __attrp,
-                       char *__const argv[__restrict_arr],
-                       char *__const envp[__restrict_arr]);
+                       char *__const __argv[__restrict_arr],
+                       char *__const __envp[__restrict_arr]);
 
 /* Similar to `posix_spawn' but search for FILE in the PATH.
 
@@ -84,7 +84,7 @@ extern int posix_spawn (pid_t *__restrict __pid,
 extern int posix_spawnp (pid_t *__pid, __const char *__file,
                         __const posix_spawn_file_actions_t *__file_actions,
                         __const posix_spawnattr_t *__attrp,
-                        char *__const argv[], char *__const envp[]);
+                        char *__const __argv[], char *__const __envp[]);
 
 
 /* Initialize data structure with attributes for `spawn' to default values.  */
index f22685cb2955f99fd5cde9a8aa464b7a3312d410..971dd8bf773f4dc82dc55c5096f9dabc5bd00250 100644 (file)
@@ -1,4 +1,4 @@
-/* Copyright (C) 1991,1993,1995-1997,2001,2002,2003
+/* Copyright (C) 1991,1993,1995-1997,2001,2002,2003,2009
    Free Software Foundation, Inc.
    This file is part of the GNU C Library.
 
@@ -255,6 +255,16 @@ __sysconf (name)
     case _SC_XBS5_LP64_OFF64:
     case _SC_XBS5_LPBIG_OFFBIG:
 
+    case _SC_POSIX_V6_ILP32_OFF32:
+    case _SC_POSIX_V6_ILP32_OFFBIG:
+    case _SC_POSIX_V6_LP64_OFF64:
+    case _SC_POSIX_V6_LPBIG_OFFBIG:
+
+    case _SC_POSIX_V7_ILP32_OFF32:
+    case _SC_POSIX_V7_ILP32_OFFBIG:
+    case _SC_POSIX_V7_LP64_OFF64:
+    case _SC_POSIX_V7_LPBIG_OFFBIG:
+
     case _SC_XOPEN_LEGACY:
     case _SC_XOPEN_REALTIME:
     case _SC_XOPEN_REALTIME_THREADS:
index 7979b3d4dda3bf6b2243c3b416abddfde5701f61..6a2c8376bd6565cbd7f1354c50f83bf371b0fb99 100644 (file)
@@ -487,7 +487,7 @@ int         ns_sprintrrf (const u_char *, size_t, const char *,
                              char *, size_t) __THROW;
 int            ns_format_ttl (u_long, char *, size_t) __THROW;
 int            ns_parse_ttl (const char *, u_long *) __THROW;
-u_int32_t      ns_datetosecs (const char *cp, int *errp) __THROW;
+u_int32_t      ns_datetosecs (const char *, int *) __THROW;
 int            ns_name_ntol (const u_char *, u_char *, size_t) __THROW;
 int            ns_name_ntop (const u_char *, char *, size_t) __THROW;
 int            ns_name_pton (const char *, u_char *, size_t) __THROW;
index a260c487bcd66a9bd814fd6c471265fcf26929e2..dc1f7cec612011720ef71b80573d986a4ec45fee 100644 (file)
@@ -1,4 +1,4 @@
-  /* Copyright (C) 1996-2002, 2003, 2004 Free Software Foundation, Inc.
+  /* Copyright (C) 1996-2002, 2003, 2004, 2009 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
@@ -421,7 +421,7 @@ extern int getnetgrent (char **__restrict __hostp,
    or due to the implementation it is a cancellation point and
    therefore not marked with __THROW.  */
 extern int innetgr (__const char *__netgroup, __const char *__host,
-                   __const char *__user, __const char *domain);
+                   __const char *__user, __const char *__domain);
 
 /* Reentrant version of `getnetgrent' where result is placed in BUFFER.
 
index 8af57f7a4a429771482cccb434917b9dd6f8e24f..810fbc804d8bc008b271f7f31318fa42ad34b69b 100644 (file)
@@ -96,10 +96,9 @@ __res_maybe_init (res_state resp, int preinit)
 {
        if (resp->options & RES_INIT) {
                if (__res_initstamp != resp->_u._ext.initstamp) {
-                       if (resp->nscount > 0) {
+                       if (resp->nscount > 0)
                                __res_iclose (resp, true);
-                               return __res_vinit (resp, 1);
-                       }
+                       return __res_vinit (resp, 1);
                }
                return 0;
        } else if (preinit) {
index 105631ee7dfe6ac219e2587eb92aa45660e403a5..a0de320d0f765da6b25c52e55c88f3c6c1ea1dbc 100644 (file)
 typedef enum { res_goahead, res_nextns, res_modified, res_done, res_error }
        res_sendhookact;
 
-typedef res_sendhookact (*res_send_qhook) (struct sockaddr_in * const *ns,
-                                          const u_char **query,
-                                          int *querylen,
-                                          u_char *ans,
-                                          int anssiz,
-                                          int *resplen);
+typedef res_sendhookact (*res_send_qhook) (struct sockaddr_in * const *__ns,
+                                          const u_char **__query,
+                                          int *__querylen,
+                                          u_char *__ans,
+                                          int __anssiz,
+                                          int *__resplen);
 
-typedef res_sendhookact (*res_send_rhook) (const struct sockaddr_in *ns,
-                                          const u_char *query,
-                                          int querylen,
-                                          u_char *ans,
-                                          int anssiz,
-                                          int *resplen);
+typedef res_sendhookact (*res_send_rhook) (const struct sockaddr_in *__ns,
+                                          const u_char *__query,
+                                          int __querylen,
+                                          u_char *__ans,
+                                          int __anssiz,
+                                          int *__resplen);
 
 /*
  * Global defines and variables for resolver stub.
@@ -328,8 +328,8 @@ const char *        sym_ntos (const struct res_sym *, int, int *) __THROW;
 const char *   sym_ntop (const struct res_sym *, int, int *) __THROW;
 int            b64_ntop (u_char const *, size_t, char *, size_t) __THROW;
 int            b64_pton (char const *, u_char *, size_t) __THROW;
-int            loc_aton (const char *ascii, u_char *binary) __THROW;
-const char *   loc_ntoa (const u_char *binary, char *ascii) __THROW;
+int            loc_aton (const char *__ascii, u_char *__binary) __THROW;
+const char *   loc_ntoa (const u_char *__binary, char *__ascii) __THROW;
 int            dn_skipname (const u_char *, const u_char *) __THROW;
 void           putlong (u_int32_t, u_char *) __THROW;
 void           putshort (u_int16_t, u_char *) __THROW;
@@ -340,10 +340,10 @@ const char *      p_rcode (int) __THROW;
 const u_char * p_cdnname (const u_char *, const u_char *, int, FILE *)
      __THROW;
 const u_char * p_cdname (const u_char *, const u_char *, FILE *) __THROW;
-const u_char * p_fqnname (const u_char *cp, const u_char *msg,
+const u_char * p_fqnname (const u_char *__cp, const u_char *__msg,
                           int, char *, int) __THROW;
 const u_char * p_fqname (const u_char *, const u_char *, FILE *) __THROW;
-const char *   p_option (u_long option) __THROW;
+const char *   p_option (u_long __option) __THROW;
 char *         p_secstodate (u_long) __THROW;
 int            dn_count_labels (const char *) __THROW;
 int            dn_comp (const char *, u_char *, int, u_char **, u_char **)
@@ -355,7 +355,7 @@ int         res_nameinquery (const char *, int, int,
                                 const u_char *, const u_char *) __THROW;
 int            res_queriesmatch (const u_char *, const u_char *,
                                  const u_char *, const u_char *) __THROW;
-const char *   p_section (int section, int opcode) __THROW;
+const char *   p_section (int __section, int __opcode) __THROW;
 /* Things involving a resolver context. */
 int            res_ninit (res_state) __THROW;
 int            res_nisourserver (const res_state,
index b012d9d51be7d8a9dd4b73a166c216cbaf66e902..1cde3308bacec5cad82ea3fef489ab5010d69d09 100644 (file)
@@ -1,6 +1,7 @@
 /* Software floating-point emulation.
    Definitions for IEEE Double Precision
-   Copyright (C) 1997,1998,1999,2006,2007 Free Software Foundation, Inc.
+   Copyright (C) 1997, 1998, 1999, 2006, 2007, 2008, 2009
+   Free Software Foundation, Inc.
    This file is part of the GNU C Library.
    Contributed by Richard Henderson (rth@cygnus.com),
                  Jakub Jelinek (jj@ultra.linux.cz),
@@ -203,13 +204,13 @@ union _FP_UNION_D
 
 #define FP_UNPACK_SEMIRAW_D(X,val)     \
   do {                                 \
-    _FP_UNPACK_RAW_2(1,X,val);         \
+    _FP_UNPACK_RAW_1(D,X,val);         \
     _FP_UNPACK_SEMIRAW(D,1,X);         \
   } while (0)
 
 #define FP_UNPACK_SEMIRAW_DP(X,val)    \
   do {                                 \
-    _FP_UNPACK_RAW_2_P(1,X,val);       \
+    _FP_UNPACK_RAW_1_P(D,X,val);       \
     _FP_UNPACK_SEMIRAW(D,1,X);         \
   } while (0)
 
index 98049a58719ce50f08d7f50d4eb28ee1921d9539..c8111051b122ffca897123cdc44f7a99f9403719 100644 (file)
@@ -1,4 +1,4 @@
-/* Copyright (C) 1991, 1992, 1995, 1996, 1997, 2001, 2002, 2004, 2005
+/* Copyright (C) 1991, 1992, 1995, 1996, 1997, 2001, 2002, 2004, 2005, 2009
    Free Software Foundation, Inc.
    This file is part of the GNU C Library.
 
@@ -37,7 +37,7 @@ psignal (int sig, const char *s)
 {
   const char *colon, *desc;
 
-  if (s == NULL || s == '\0')
+  if (s == NULL || *s == '\0')
     s = colon = "";
   else
     colon = ": ";
index d9234ca61be45be3f075c061b916f9e4cd061cfc..c8483b27a89055c21508620439e4f8e73ba6f96e 100644 (file)
@@ -1,5 +1,5 @@
 /* Header file for monetary value formatting functions.
-   Copyright (C) 1996,1997,1998,1999,2000,2002,2006
+   Copyright (C) 1996,1997,1998,1999,2000,2002,2006,2009
        Free Software Foundation, Inc.
    This file is part of the GNU C Library.
 
@@ -46,7 +46,7 @@ extern ssize_t strfmon (char *__restrict __s, size_t __maxsize,
 
 /* Formatting a monetary value according to the current locale.  */
 extern ssize_t strfmon_l (char *__restrict __s, size_t __maxsize,
-                         __locale_t loc,
+                         __locale_t __loc,
                          __const char *__restrict __format, ...)
      __THROW __attribute_format_strfmon__ (4, 5);
 #endif
index cf271c5c133ca602b6f2ec9dd49b3be3230ec22a..265bbe25281a56f2c00777710a49b787a6ad925c 100644 (file)
@@ -405,7 +405,7 @@ extern char *clnt_sperrno (enum clnt_stat __num) __THROW;   /* string */
  * get the port number on the host for the rpc program,version and proto
  */
 extern int getrpcport (__const char * __host, u_long __prognum,
-                      u_long __versnum, u_int proto) __THROW;
+                      u_long __versnum, u_int __proto) __THROW;
 
 /*
  * get the local host's IP address without consulting
index 1b1c45291519f3934ff89ad9884ba9162fa29776..997dddb3232ce4b70a0eed5a3ae4f0acfa3d6606 100644 (file)
@@ -45,7 +45,7 @@
 
 __BEGIN_DECLS
 
-typedef bool_t (*resultproc_t) (caddr_t resp, struct sockaddr_in *raddr);
+typedef bool_t (*resultproc_t) (caddr_t __resp, struct sockaddr_in *__raddr);
 
 /*
  * Usage:
index 171231919a368bff8178e9db4f9b85de4981da4c..f29615d5d048ead32fcec75f6866d65d632b7c5f 100644 (file)
@@ -82,11 +82,11 @@ struct SVCXPRT {
     enum xprt_stat (*xp_stat) (SVCXPRT *__xprt);
                                /* get transport status */
     bool_t     (*xp_getargs) (SVCXPRT *__xprt, xdrproc_t __xdr_args,
-                              caddr_t args_ptr); /* get arguments */
+                              caddr_t __args_ptr); /* get arguments */
     bool_t     (*xp_reply) (SVCXPRT *__xprt, struct rpc_msg *__msg);
                                /* send reply */
     bool_t     (*xp_freeargs) (SVCXPRT *__xprt, xdrproc_t __xdr_args,
-                               caddr_t args_ptr);
+                               caddr_t __args_ptr);
                                /* free mem allocated for args */
     void       (*xp_destroy) (SVCXPRT *__xprt);
                                /* destroy this struct */
@@ -226,7 +226,7 @@ extern void xprt_unregister (SVCXPRT *__xprt) __THROW;
  * deadlock the caller and server processes!
  */
 
-extern bool_t  svc_sendreply (SVCXPRT *xprt, xdrproc_t __xdr_results,
+extern bool_t  svc_sendreply (SVCXPRT *__xprt, xdrproc_t __xdr_results,
                               caddr_t __xdr_location) __THROW;
 
 extern void    svcerr_decode (SVCXPRT *__xprt) __THROW;
index ba9691d1afce756de556f923ae9184cc35c91fe8..75bc302980d8e5d8ab2d17b44b1721fb441d8b64 100644 (file)
@@ -316,7 +316,7 @@ extern bool_t xdr_opaque (XDR *__xdrs, caddr_t __cp, u_int __cnt) __THROW;
 extern bool_t xdr_string (XDR *__xdrs, char **__cpp, u_int __maxsize) __THROW;
 extern bool_t xdr_union (XDR *__xdrs, enum_t *__dscmp, char *__unp,
                         __const struct xdr_discrim *__choices,
-                        xdrproc_t dfault) __THROW;
+                        xdrproc_t __dfault) __THROW;
 extern bool_t xdr_char (XDR *__xdrs, char *__cp) __THROW;
 extern bool_t xdr_u_char (XDR *__xdrs, u_char *__cp) __THROW;
 extern bool_t xdr_vector (XDR *__xdrs, char *__basep, u_int __nelem,
index 6b22b3f66bd2def049965a345b883371bab17483..3fb0bda489988640336517655141eb3c8a7e3b97 100644 (file)
  * This file should only contain common data (global data) that is exported
  * by public interfaces
  */
-struct opaque_auth _null_auth;
+/* We are very tricky here.  We want to have _null_auth in a read-only
+   section but we cannot add const to the type because this isn't how
+   the variable is declared.  So we use the section attribute.  */
+struct opaque_auth _null_auth __attribute__ ((nocommon));
+libc_hidden_def (_null_auth)
 fd_set svc_fdset;
 struct rpc_createerr rpc_createerr;
 struct pollfd *svc_pollfd;
index a3d227e524ca7d45c585a83e9e14f7de1fc33f02..8a7d3695e28e1e86209ad6d6379d0874ff271f26 100644 (file)
@@ -52,6 +52,9 @@
 #include "rpc_scan.h"
 #include "proto.h"
 
+#include "../version.h"
+#define PACKAGE _libc_intl_domainname
+
 #define EXTEND 1               /* alias for TRUE */
 #define DONT_EXTEND    0       /* alias for FALSE */
 
@@ -132,8 +135,9 @@ static void addarg (const char *cp);
 static void putarg (int whereto, const char *cp);
 static void checkfiles (const char *infile, const char *outfile);
 static int parseargs (int argc, const char *argv[], struct commandline *cmd);
-static void usage (void) __attribute__ ((noreturn));
-static void options_usage (void) __attribute__ ((noreturn));
+static void usage (FILE *stream, int status) __attribute__ ((noreturn));
+static void options_usage (FILE *stream, int status) __attribute__ ((noreturn));
+static void print_version (void);
 static void c_initialize (void);
 static char *generate_guard (const char *pathname);
 
@@ -185,7 +189,7 @@ main (int argc, const char *argv[])
   (void) memset ((char *) &cmd, 0, sizeof (struct commandline));
   clear_args ();
   if (!parseargs (argc, argv, &cmd))
-    usage ();
+    usage (stderr, 1);
 
   if (cmd.cflag || cmd.hflag || cmd.lflag || cmd.tflag || cmd.sflag ||
       cmd.mflag || cmd.nflag || cmd.Ssflag || cmd.Scflag)
@@ -787,7 +791,7 @@ s_output (int argc, const char *argv[], const char *infile, const char *define,
        {
          if (outfilename)
            unlink (outfilename);
-         usage ();
+         usage (stderr, 1);
        }
       write_rest ();
     }
@@ -1218,6 +1222,10 @@ parseargs (int argc, const char *argv[], struct commandline *cmd)
            }
          cmd->infile = argv[i];
        }
+      else if (strcmp (argv[i], "--help") == 0)
+       usage (stdout, 0);
+      else if (strcmp (argv[i], "--version") == 0)
+       print_version ();
       else
        {
          for (j = 1; argv[i][j] != 0; j++)
@@ -1442,46 +1450,56 @@ parseargs (int argc, const char *argv[], struct commandline *cmd)
 }
 
 static void
-usage (void)
+usage (FILE *stream, int status)
 {
-  fprintf (stderr, _("usage: %s infile\n"), cmdname);
-  fprintf (stderr, _("\t%s [-abkCLNTM][-Dname[=value]] [-i size] \
+  fprintf (stream, _("usage: %s infile\n"), cmdname);
+  fprintf (stream, _("\t%s [-abkCLNTM][-Dname[=value]] [-i size] \
 [-I [-K seconds]] [-Y path] infile\n"), cmdname);
-  fprintf (stderr, _("\t%s [-c | -h | -l | -m | -t | -Sc | -Ss | -Sm] \
+  fprintf (stream, _("\t%s [-c | -h | -l | -m | -t | -Sc | -Ss | -Sm] \
 [-o outfile] [infile]\n"), cmdname);
-  fprintf (stderr, _("\t%s [-s nettype]* [-o outfile] [infile]\n"), cmdname);
-  fprintf (stderr, _("\t%s [-n netid]* [-o outfile] [infile]\n"), cmdname);
-  options_usage ();
-  exit (1);
+  fprintf (stream, _("\t%s [-s nettype]* [-o outfile] [infile]\n"), cmdname);
+  fprintf (stream, _("\t%s [-n netid]* [-o outfile] [infile]\n"), cmdname);
+  options_usage (stream, status);
+  exit (status);
+}
+
+static void
+options_usage (FILE *stream, int status)
+{
+  f_print (stream, _("options:\n"));
+  f_print (stream, _("-a\t\tgenerate all files, including samples\n"));
+  f_print (stream, _("-b\t\tbackward compatibility mode (generates code for SunOS 4.1)\n"));
+  f_print (stream, _("-c\t\tgenerate XDR routines\n"));
+  f_print (stream, _("-C\t\tANSI C mode\n"));
+  f_print (stream, _("-Dname[=value]\tdefine a symbol (same as #define)\n"));
+  f_print (stream, _("-h\t\tgenerate header file\n"));
+  f_print (stream, _("-i size\t\tsize at which to start generating inline code\n"));
+  f_print (stream, _("-I\t\tgenerate code for inetd support in server (for SunOS 4.1)\n"));
+  f_print (stream, _("-K seconds\tserver exits after K seconds of inactivity\n"));
+  f_print (stream, _("-l\t\tgenerate client side stubs\n"));
+  f_print (stream, _("-L\t\tserver errors will be printed to syslog\n"));
+  f_print (stream, _("-m\t\tgenerate server side stubs\n"));
+  f_print (stream, _("-M\t\tgenerate MT-safe code\n"));
+  f_print (stream, _("-n netid\tgenerate server code that supports named netid\n"));
+  f_print (stream, _("-N\t\tsupports multiple arguments and call-by-value\n"));
+  f_print (stream, _("-o outfile\tname of the output file\n"));
+  f_print (stream, _("-s nettype\tgenerate server code that supports named nettype\n"));
+  f_print (stream, _("-Sc\t\tgenerate sample client code that uses remote procedures\n"));
+  f_print (stream, _("-Ss\t\tgenerate sample server code that defines remote procedures\n"));
+  f_print (stream, _("-Sm \t\tgenerate makefile template \n"));
+  f_print (stream, _("-t\t\tgenerate RPC dispatch table\n"));
+  f_print (stream, _("-T\t\tgenerate code to support RPC dispatch tables\n"));
+  f_print (stream, _("-Y path\t\tdirectory name to find C preprocessor (cpp)\n"));
+
+  f_print (stream, "\n%s", _("\
+For bug reporting instructions, please see:\n\
+<http://www.gnu.org/software/libc/bugs.html>.\n"));
+  exit (status);
 }
 
 static void
-options_usage (void)
+print_version (void)
 {
-  f_print (stderr, "options:\n");
-  f_print (stderr, "-a\t\tgenerate all files, including samples\n");
-  f_print (stderr, "-b\t\tbackward compatibility mode (generates code for SunOS 4.1)\n");
-  f_print (stderr, "-c\t\tgenerate XDR routines\n");
-  f_print (stderr, "-C\t\tANSI C mode\n");
-  f_print (stderr, "-Dname[=value]\tdefine a symbol (same as #define)\n");
-  f_print (stderr, "-h\t\tgenerate header file\n");
-  f_print (stderr, "-i size\t\tsize at which to start generating inline code\n");
-  f_print (stderr, "-I\t\tgenerate code for inetd support in server (for SunOS 4.1)\n");
-  f_print (stderr, "-K seconds\tserver exits after K seconds of inactivity\n");
-  f_print (stderr, "-l\t\tgenerate client side stubs\n");
-  f_print (stderr, "-L\t\tserver errors will be printed to syslog\n");
-  f_print (stderr, "-m\t\tgenerate server side stubs\n");
-  f_print (stderr, "-M\t\tgenerate MT-safe code\n");
-  f_print (stderr, "-n netid\tgenerate server code that supports named netid\n");
-  f_print (stderr, "-N\t\tsupports multiple arguments and call-by-value\n");
-  f_print (stderr, "-o outfile\tname of the output file\n");
-  f_print (stderr, "-s nettype\tgenerate server code that supports named nettype\n");
-  f_print (stderr, "-Sc\t\tgenerate sample client code that uses remote procedures\n");
-  f_print (stderr, "-Ss\t\tgenerate sample server code that defines remote procedures\n");
-  f_print (stderr, "-Sm \t\tgenerate makefile template \n");
-  f_print (stderr, "-t\t\tgenerate RPC dispatch table\n");
-  f_print (stderr, "-T\t\tgenerate code to support RPC dispatch tables\n");
-  f_print (stderr, "-Y path\t\tdirectory name to find C preprocessor (cpp)\n");
-
-  exit (1);
+  printf ("rpcgen (GNU %s) %s\n", PACKAGE, VERSION);
+  exit (0);
 }
index d9da9896601db3de0914b24c9e1ea6459cb4c5f7..91f360c2f3691c8003cbe71a04b63753db1de157 100644 (file)
@@ -58,6 +58,9 @@ static char sccsid[] = "@(#)rpcinfo.c 1.22 87/08/12 SMI";
 #include <locale.h>
 #include <libintl.h>
 
+#include "../version.h"
+#define PACKAGE _libc_intl_domainname
+
 #define MAXHOSTLEN 256
 
 #define        MIN_VERS        ((u_long) 0)
@@ -70,7 +73,8 @@ static void pmapdump (int argc, char **argv);
 static bool_t reply_proc (void *res, struct sockaddr_in *who);
 static void brdcst (int argc, char **argv) __attribute__ ((noreturn));
 static void deletereg (int argc, char **argv);
-static void usage (void);
+static void usage (FILE *stream);
+static void print_version (void);
 static u_long getprognum (char *arg);
 static u_long getvers (char *arg);
 static void get_inet_address (struct sockaddr_in *addr, char *host);
@@ -92,6 +96,11 @@ main (int argc, char **argv)
   int errflg;
   int function;
   u_short portnum;
+  static const struct option long_options[] = {
+    { "help", no_argument, NULL, 'H' },
+    { "version", no_argument, NULL, 'V' },
+    { NULL, 0, NULL, 0 }
+  };
 
   setlocale (LC_ALL, "");
   textdomain (_libc_intl_domainname);
@@ -99,7 +108,7 @@ main (int argc, char **argv)
   function = NONE;
   portnum = 0;
   errflg = 0;
-  while ((c = getopt (argc, argv, "ptubdn:")) != -1)
+  while ((c = getopt_long (argc, argv, "ptubdn:", long_options, NULL)) != -1)
     {
       switch (c)
        {
@@ -143,6 +152,14 @@ main (int argc, char **argv)
            function = DELETES;
          break;
 
+       case 'H':
+         usage (stdout);
+         return 0;
+
+       case 'V':
+         print_version ();
+         return 0;
+
        case '?':
          errflg = 1;
        }
@@ -150,7 +167,7 @@ main (int argc, char **argv)
 
   if (errflg || function == NONE)
     {
-      usage ();
+      usage (stderr);
       return 1;
     }
 
@@ -160,7 +177,7 @@ main (int argc, char **argv)
     case PMAPDUMP:
       if (portnum != 0)
        {
-         usage ();
+         usage (stderr);
          return 1;
        }
       pmapdump (argc - optind, argv + optind);
@@ -177,7 +194,7 @@ main (int argc, char **argv)
     case BRDCST:
       if (portnum != 0)
        {
-         usage ();
+         usage (stderr);
          return 1;
        }
       brdcst (argc - optind, argv + optind);
@@ -208,7 +225,7 @@ udpping (portnum, argc, argv)
 
   if (argc < 2 || argc > 3)
     {
-      usage ();
+      usage (stderr);
       exit (1);
     }
   prognum = getprognum (argv[1]);
@@ -363,7 +380,7 @@ tcpping (portnum, argc, argv)
 
   if (argc < 2 || argc > 3)
     {
-      usage ();
+      usage (stderr);
       exit (1);
     }
   prognum = getprognum (argv[1]);
@@ -532,7 +549,7 @@ pmapdump (argc, argv)
 
   if (argc > 1)
     {
-      usage ();
+      usage (stderr);
       exit (1);
     }
   if (argc == 1)
@@ -624,7 +641,7 @@ brdcst (argc, argv)
 
   if (argc != 2)
     {
-      usage ();
+      usage (stderr);
       exit (1);
     }
   prognum = getprognum (argv[0]);
@@ -650,7 +667,7 @@ deletereg (argc, argv)
 
   if (argc != 2)
     {
-      usage ();
+      usage (stderr);
       exit (1);
     }
   if (getuid ())
@@ -669,15 +686,25 @@ deletereg (argc, argv)
 }
 
 static void
-usage ()
+usage (FILE *stream)
 {
   fputs (_("Usage: rpcinfo [ -n portnum ] -u host prognum [ versnum ]\n"),
-        stderr);
+        stream);
   fputs (_("       rpcinfo [ -n portnum ] -t host prognum [ versnum ]\n"),
-        stderr);
-  fputs (_("       rpcinfo -p [ host ]\n"), stderr);
-  fputs (_("       rpcinfo -b prognum versnum\n"), stderr);
-  fputs (_("       rpcinfo -d prognum versnum\n"), stderr);
+        stream);
+  fputs (_("       rpcinfo -p [ host ]\n"), stream);
+  fputs (_("       rpcinfo -b prognum versnum\n"), stream);
+  fputs (_("       rpcinfo -d prognum versnum\n"), stream);
+  fputc ('\n', stream);
+  fprintf (stream, _("\
+For bug reporting instructions, please see:\n\
+<http://www.gnu.org/software/libc/bugs.html>.\n"));
+}
+
+static void
+print_version (void)
+{
+  printf ("rpcinfo (GNU %s) %s\n", PACKAGE, VERSION);
 }
 
 static u_long
index 985d040413cc99f3020964579b4f319d60e8ed66..4df5f795e3c25b4f15835e0646fc841ee1e9ef78 100644 (file)
@@ -1,4 +1,4 @@
-/* Copyright (C) 2004, 2005 Free Software Foundation, Inc.
+/* Copyright (C) 2004, 2005, 2009 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
@@ -55,6 +55,6 @@ extern unsigned int la_i86_gnu_pltexit (Elf32_Sym *__sym, unsigned int __ndx,
                                        uintptr_t *__defcook,
                                        const La_i86_regs *__inregs,
                                        La_i86_retval *__outregs,
-                                       const char *symname);
+                                       const char *__symname);
 
 __END_DECLS
index 21eea7112ce5541d1731a445042f748e36c8276b..4ee6fef692659aa8ff5addef6783e0291db0cc88 100644 (file)
@@ -1,4 +1,4 @@
-/* Copyright (C) 2002, 2003, 2004, 2006, 2007 Free Software Foundation, Inc.
+/* Copyright (C) 2002-2004, 2006, 2007, 2009 Free Software Foundation, Inc.
    This file is part of the GNU C Library.
    Contributed by Ulrich Drepper <drepper@redhat.com>, 2002.
 
@@ -500,24 +500,34 @@ typedef uintmax_t uatomic_max_t;
 #define atomic_delay() asm ("rep; nop")
 
 
-#define atomic_and(mem, mask) \
+#define __arch_and_body(lock, mem, mask) \
   do {                                                                       \
     if (sizeof (*mem) == 1)                                                  \
-      __asm __volatile (LOCK_PREFIX "andb %b1, %0"                           \
+      __asm __volatile (lock "andb %b1, %0"                                  \
                        : "=m" (*mem)                                         \
-                       : "iq" (mask), "m" (*mem));                           \
+                       : "iq" (mask), "m" (*mem),                            \
+                         "i" (offsetof (tcbhead_t, multiple_threads)));      \
     else if (sizeof (*mem) == 2)                                             \
-      __asm __volatile (LOCK_PREFIX "andw %w1, %0"                           \
+      __asm __volatile (lock "andw %w1, %0"                                  \
                        : "=m" (*mem)                                         \
-                       : "ir" (mask), "m" (*mem));                           \
+                       : "ir" (mask), "m" (*mem),                            \
+                         "i" (offsetof (tcbhead_t, multiple_threads)));      \
     else if (sizeof (*mem) == 4)                                             \
-      __asm __volatile (LOCK_PREFIX "andl %1, %0"                            \
+      __asm __volatile (lock "andl %1, %0"                                   \
                        : "=m" (*mem)                                         \
-                       : "ir" (mask), "m" (*mem));                           \
+                       : "ir" (mask), "m" (*mem),                            \
+                         "i" (offsetof (tcbhead_t, multiple_threads)));      \
     else                                                                     \
       abort ();                                                                      \
   } while (0)
 
+#define __arch_cprefix \
+  "cmpl $0, %%gs:%P3\n\tje 0f\n\tlock\n0:\t"
+
+#define atomic_and(mem, mask) __arch_and_body (LOCK_PREFIX, mem, mask)
+
+#define catomic_and(mem, mask) __arch_and_body (__arch_cprefix, mem, mask)
+
 
 #define __arch_or_body(lock, mem, mask) \
   do {                                                                       \
@@ -542,7 +552,4 @@ typedef uintmax_t uatomic_max_t;
 
 #define atomic_or(mem, mask) __arch_or_body (LOCK_PREFIX, mem, mask)
 
-#define __arch_or_cprefix \
-  "cmpl $0, %%gs:%P3\n\tje 0f\n\tlock\n0:\t"
-
-#define catomic_or(mem, mask) __arch_or_body (__arch_or_cprefix, mem, mask)
+#define catomic_or(mem, mask) __arch_or_body (__arch_cprefix, mem, mask)
index f751c23fd1e300e5e486c05a126b79dbb499f63a..f522ab340bc4cb9180ee50dcbdf679481594fa04 100644 (file)
@@ -1,4 +1,4 @@
-/* Copyright (C) 2005 Free Software Foundation, Inc.
+/* Copyright (C) 2005, 2009 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,6 +58,6 @@ extern unsigned int la_ia64_gnu_pltexit (Elf64_Sym *__sym, unsigned int __ndx,
                                        uintptr_t *__defcook,
                                        const La_ia64_regs *__inregs,
                                        La_ia64_retval *__outregs,
-                                       const char *symname);
+                                       const char *__symname);
 
 __END_DECLS
index 0c0d7d141880867678060e28cd5740e8157c8f26..f1d1ee441703ad0ae0e6f8e3c321a3aeee0347bc 100644 (file)
@@ -1,4 +1,4 @@
-/* Copyright (C) 1991,1993,1995-1997,1999-2003,2004,2006
+/* Copyright (C) 1991,1993,1995-1997,1999-2003,2004,2006,2009
        Free Software Foundation, Inc.
    This file is part of the GNU C Library.
 
@@ -38,7 +38,9 @@
   (!defined _XBS5_ILP32_OFF32 || !defined _XBS5_ILP32_OFFBIG \
    || !defined _XBS5_LP64_OFF64 || !defined _XBS5_LPBIG_OFFBIG \
    || !defined _POSIX_V6_ILP32_OFF32 || !defined _POSIX_V6_ILP32_OFFBIG \
-   || !defined _POSIX_V6_LP64_OFF64 || !defined _POSIX_V6_LPBIG_OFFBIG)
+   || !defined _POSIX_V6_LP64_OFF64 || !defined _POSIX_V6_LPBIG_OFFBIG \
+   || !defined _POSIX_V7_ILP32_OFF32 || !defined _POSIX_V7_ILP32_OFFBIG \
+   || !defined _POSIX_V7_LP64_OFF64 || !defined _POSIX_V7_LPBIG_OFFBIG)
 #if NEED_CHECK_SPEC
 static long int __sysconf_check_spec (const char *spec);
 #endif
@@ -840,6 +842,31 @@ __sysconf (name)
       return __sysconf_check_spec ("LPBIG_OFFBIG");
 #endif
 
+    case _SC_V7_ILP32_OFF32:
+#ifdef _POSIX_V7_ILP32_OFF32
+      return _POSIX_V7_ILP32_OFF32;
+#else
+      return __sysconf_check_spec ("ILP32_OFF32");
+#endif
+    case _SC_V7_ILP32_OFFBIG:
+#ifdef _POSIX_V7_ILP32_OFFBIG
+      return _POSIX_V7_ILP32_OFFBIG;
+#else
+      return __sysconf_check_spec ("ILP32_OFFBIG");
+#endif
+    case _SC_V7_LP64_OFF64:
+#ifdef _POSIX_V7_LP64_OFF64
+      return _POSIX_V7_LP64_OFF64;
+#else
+      return __sysconf_check_spec ("LP64_OFF64");
+#endif
+    case _SC_V7_LPBIG_OFFBIG:
+#ifdef _POSIX_V7_LPBIG_OFFBIG
+      return _POSIX_V7_LPBIG_OFFBIG;
+#else
+      return __sysconf_check_spec ("LPBIG_OFFBIG");
+#endif
+
     case _SC_XOPEN_LEGACY:
       return _XOPEN_LEGACY;
 
index 6c6f6042a1e7d3a1e73a83d3b3263df0426d6d64..24baba09c4672efc44bb98b68566cf5f7f12ffa7 100644 (file)
@@ -1,5 +1,5 @@
 /* Machine-specific declarations for dynamic linker interface.  PowerPC version
-   Copyright (C) 2004, 2005 Free Software Foundation, Inc.
+   Copyright (C) 2004, 2005, 2009 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
@@ -60,7 +60,7 @@ extern unsigned int la_ppc32_gnu_pltexit (Elf32_Sym *__sym,
                                          uintptr_t *__defcook,
                                          const La_ppc32_regs *__inregs,
                                          La_ppc32_retval *__outregs,
-                                         const char *symname);
+                                         const char *__symname);
 
 __END_DECLS
 
@@ -104,7 +104,7 @@ extern unsigned int la_ppc64_gnu_pltexit (Elf64_Sym *__sym,
                                          uintptr_t *__defcook,
                                          const La_ppc64_regs *__inregs,
                                          La_ppc64_retval *__outregs,
-                                         const char *symname);
+                                         const char *__symname);
 
 __END_DECLS
 
index 70f004382054139ee0a69d4c5d04d1d8be1339e1..bb6f54664c445cf2a37aa23f55fcddb7e2274377 100644 (file)
@@ -1,4 +1,4 @@
-/* Copyright (C) 2005 Free Software Foundation, Inc.
+/* Copyright (C) 2005, 2009 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
@@ -104,7 +104,7 @@ extern unsigned int la_s390_64_gnu_pltexit (Elf64_Sym *__sym,
                                            uintptr_t *__defcook,
                                            const La_s390_64_regs *__inregs,
                                            La_s390_64_retval *__outregs,
-                                           const char *symname);
+                                           const char *__symname);
 
 __END_DECLS
 
index 2826677336507855900791740a07365d05a0fe6e..f650aa302ee52ff218181115f7120b6fbb4d6230 100644 (file)
@@ -1,4 +1,4 @@
-/* Copyright (C) 2005 Free Software Foundation, Inc.
+/* Copyright (C) 2005, 2009 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,6 +65,6 @@ extern unsigned int la_sh_gnu_pltexit (Elf32_Sym *__sym, unsigned int __ndx,
                                       uintptr_t *__defcook,
                                       const La_sh_regs *__inregs,
                                       La_sh_retval *__outregs,
-                                      const char *symname);
+                                      const char *__symname);
 
 __END_DECLS
index 320a7d11f7f84dcca9b646190a42a0ed0fd6a99a..2fd137bcba8b08f2aaed56e3c234a1381739624b 100644 (file)
@@ -1,5 +1,5 @@
 /* longjmp for SH.
-   Copyright (C) 1999, 2000, 2005, 2006 Free Software Foundation, Inc.
+   Copyright (C) 1999, 2000, 2005, 2006, 2009 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
@@ -52,6 +52,7 @@ ENTRY (__longjmp)
        mov.l   @r4+, r15
        lds.l   @r4+, pr
 #endif
+#ifdef __SH_FPU_ANY__
        ldc.l   @r4+, gbr
        lds.l   @r4+, fpscr
        fmov.s  @r4+, fr12
@@ -59,4 +60,8 @@ ENTRY (__longjmp)
        fmov.s  @r4+, fr14
        rts
         fmov.s @r4+, fr15
+#else
+       rts
+        ldc.l  @r4+, gbr
+#endif  /* !__SH_FPU_ANY__ */
 END (__longjmp)
index f9529851a18382f31ea22b8c04f99b349ee1f3c8..bd9bb7e5bde607b4d7176b4e13f0c928fbea8d72 100644 (file)
@@ -1,2 +1,4 @@
-#define HAVE_FPU
+#ifdef __SH_FPU_ANY__
+# define HAVE_FPU
+#endif
 #include <sysdeps/sh/dl-trampoline.S>
index f9a4f0a8cec0b559496adb7669dd72495339a3a2..03f0b08dcd7ba352fe33c93bb9d10a47c080042c 100644 (file)
@@ -1,5 +1,5 @@
 /* setjmp for SH4.
-   Copyright (C) 1999, 2000, 2005, 2006 Free Software Foundation, Inc.
+   Copyright (C) 1999, 2000, 2005, 2006, 2009 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
 ENTRY (__sigsetjmp)
        /* Save registers */
        add     #JB_SIZE, r4
+#ifdef __SH_FPU_ANY__
        fmov.s  fr15, @-r4
        fmov.s  fr14, @-r4
        fmov.s  fr13, @-r4
        fmov.s  fr12, @-r4
        sts.l   fpscr, @-r4
+#endif /* __SH_FPU_ANY__ */
        stc.l   gbr, @-r4
 #ifdef PTR_MANGLE
        sts     pr, r2
index 9b8434f56fa8114c5466feff6bea671967bda553..e0550e84accb8d838375485b92d0464f0ecd072a 100644 (file)
@@ -1,5 +1,5 @@
 /* Machine-specific audit interfaces for dynamic linker.  SPARC version.
-   Copyright (C) 2005 Free Software Foundation, Inc.
+   Copyright (C) 2005, 2009 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
@@ -75,7 +75,7 @@ extern unsigned int la_sparc32_gnu_pltexit (Elf32_Sym *__sym,
                                            uintptr_t *__defcook,
                                             const La_sparc32_regs *__inregs,
                                            La_sparc32_retval *__outregs,
-                                           const char *symname);
+                                           const char *__symname);
 
 #else
 
@@ -93,7 +93,7 @@ extern unsigned int la_sparc64_gnu_pltexit (Elf64_Sym *__sym,
                                            uintptr_t *__defcook,
                                            const La_sparc64_regs *__inregs,
                                            La_sparc64_retval *__outregs,
-                                           const char *symname);
+                                           const char *__symname);
 
 #endif
 
index 92029c65477900403817d68c8fb2b7f959916573..fbf14f5eec88b54cde28fa8ea9a4cd5d9ba0eb7e 100644 (file)
@@ -1,4 +1,4 @@
-/* Copyright (C) 1991-1996,98,2000-2003,2005,2007
+/* Copyright (C) 1991-1996,98,2000-2003,2005,2007,2009
    Free Software Foundation, Inc.
    This file is part of the GNU C Library.
 
@@ -81,6 +81,7 @@ DIR *
 __opendir (const char *name)
 {
   struct stat64 statbuf;
+  struct stat64 *statp = NULL;
 
   if (__builtin_expect (name[0], '\1') == '\0')
     {
@@ -119,16 +120,14 @@ __opendir (const char *name)
   if (__builtin_expect (fd, 0) < 0)
     return NULL;
 
-  /* Now make sure this really is a directory and nothing changed since
-     the `stat' call.  We do not have to perform the test for the
-     descriptor being associated with a directory if we know the
-     O_DIRECTORY flag is honored by the kernel.  */
-  if (__builtin_expect (__fxstat64 (_STAT_VER, fd, &statbuf), 0) < 0)
-    goto lose;
 #ifdef O_DIRECTORY
   if (o_directory_works <= 0)
 #endif
     {
+      /* Now make sure this really is a directory and nothing changed since
+        the `stat' call.  */
+      if (__builtin_expect (__fxstat64 (_STAT_VER, fd, &statbuf), 0) < 0)
+       goto lose;
       if (__builtin_expect (! S_ISDIR (statbuf.st_mode), 0))
        {
          __set_errno (ENOTDIR);
@@ -136,9 +135,10 @@ __opendir (const char *name)
          close_not_cancel_no_status (fd);
          return NULL;
        }
+      statp = &statbuf;
     }
 
-  return __alloc_dir (fd, true, &statbuf);
+  return __alloc_dir (fd, true, statp);
 }
 weak_alias (__opendir, opendir)
 
@@ -171,29 +171,23 @@ __alloc_dir (int fd, bool close_fd, const struct stat64 *statp)
        goto lose;
     }
 
-  const size_t default_allocation = (BUFSIZ < sizeof (struct dirent64)
-                                    ? sizeof (struct dirent64) : BUFSIZ);
-  size_t allocation;
+  const size_t default_allocation = (4 * BUFSIZ < sizeof (struct dirent64)
+                                    ? sizeof (struct dirent64) : 4 * BUFSIZ);
+  const size_t small_allocation = (BUFSIZ < sizeof (struct dirent64)
+                                  ? sizeof (struct dirent64) : BUFSIZ);
+  size_t allocation = default_allocation;
 #ifdef _STATBUF_ST_BLKSIZE
-  if (__builtin_expect ((size_t) statp->st_blksize >= sizeof (struct dirent64),
-                       1))
+  if (statp != NULL && default_allocation < statp->st_blksize)
     allocation = statp->st_blksize;
-  else
 #endif
-    allocation = default_allocation;
 
   DIR *dirp = (DIR *) malloc (sizeof (DIR) + allocation);
   if (dirp == NULL)
     {
-#ifdef _STATBUF_ST_BLKSIZE
-      if (allocation == statp->st_blksize
-         && allocation != default_allocation)
-       {
-         allocation = default_allocation;
-         dirp = (DIR *) malloc (sizeof (DIR) + allocation);
-       }
+      allocation = small_allocation;
+      dirp = (DIR *) malloc (sizeof (DIR) + allocation);
+
       if (dirp == NULL)
-#endif
       lose:
        {
          if (close_fd)
index 6d4c9c06e8a5de1b97da448909aa0874df5f6c88..28f52c04631eae40fe4a2627462dc4d22a4b25a4 100644 (file)
@@ -1,5 +1,5 @@
 /* Determine various system internal values, Linux version.
-   Copyright (C) 1996-2001, 2002, 2003, 2006, 2007 Free Software Foundation, Inc.
+   Copyright (C) 1996-2003, 2006, 2007, 2009 Free Software Foundation, Inc.
    This file is part of the GNU C Library.
    Contributed by Ulrich Drepper <drepper@cygnus.com>, 1996.
 
    But not all systems have support for the /proc filesystem.  If it
    is not available we simply return 1 since there is no way.  */
 
+#include <not-cancel.h>
+
+
 /* Other architectures use different formats for /proc/cpuinfo.  This
    provides a hook for alternative parsers.  */
 #ifndef GET_NPROCS_PARSER
-# define GET_NPROCS_PARSER(FP, BUFFER, RESULT)                         \
+# define GET_NPROCS_PARSER(FD, BUFFER, CP, RE, BUFFER_END, RESULT) \
   do                                                                   \
     {                                                                  \
       (RESULT) = 0;                                                    \
         "processor".  We don't have to fear extremely long lines since \
         the kernel will not generate them.  8192 bytes are really      \
         enough.  */                                                    \
-      while (fgets_unlocked (BUFFER, sizeof (BUFFER), FP) != NULL)     \
-       if (strncmp (BUFFER, "processor", 9) == 0)                      \
+      char *l;                                                         \
+      while ((l = next_line (FD, BUFFER, &CP, &RE, BUFFER_END)) != NULL) \
+       if (strncmp (l, "processor", 9) == 0)                           \
          ++(RESULT);                                                   \
     }                                                                  \
   while (0)
 #endif
 
 
+static char *
+next_line (int fd, char *const buffer, char **cp, char **re,
+          char *const buffer_end)
+{
+  char *res = *cp;
+  char *nl = memchr (*cp, '\n', *re - *cp);
+  if (nl == NULL)
+    {
+      if (*cp != buffer)
+       {
+         if (*re == buffer_end)
+           {
+             memmove (buffer, *cp, *re - *cp);
+             *re = buffer + (*re - *cp);
+             *cp = buffer;
+
+             ssize_t n = read_not_cancel (fd, *re, buffer_end - *re);
+             if (n < 0)
+               return NULL;
+
+             *re += n;
+           }
+
+         res = *cp;
+         nl = memchr (*cp, '\n', *re - *cp);
+       }
+
+      if (nl == NULL)
+       nl = *re - 1;
+    }
+
+  *cp = nl + 1;
+  assert (*cp <= *re);
+
+  return res == *re ? NULL : res;
+}
+
+
 int
 __get_nprocs ()
 {
   /* XXX Here will come a test for the new system call.  */
 
   char buffer[8192];
+  char *const buffer_end = buffer + sizeof (buffer);
+  char *cp = buffer_end;
+  char *re = buffer_end;
   int result = 1;
 
+#ifdef O_CLOEXEC
+  const int flags = O_RDONLY | O_CLOEXEC;
+#else
+  const int flags = O_RDONLY;
+#endif
   /* The /proc/stat format is more uniform, use it by default.  */
-  FILE *fp = fopen ("/proc/stat", "rc");
-  if (fp != NULL)
+  int fd = open_not_cancel_2 ("/proc/stat", flags);
+  if (fd != -1)
     {
-      /* No threads use this stream.  */
-      __fsetlocking (fp, FSETLOCKING_BYCALLER);
-
       result = 0;
-      while (fgets_unlocked (buffer, sizeof (buffer), fp) != NULL)
-       if (strncmp (buffer, "cpu", 3) == 0 && isdigit (buffer[3]))
+
+      char *l;
+      while ((l = next_line (fd, buffer, &cp, &re, buffer_end)) != NULL)
+       if (strncmp (l, "cpu", 3) == 0 && isdigit (l[3]))
          ++result;
 
-      fclose (fp);
+      close_not_cancel_no_status (fd);
     }
   else
     {
-      fp = fopen ("/proc/cpuinfo", "rc");
-      if (fp != NULL)
+      fd = open_not_cancel_2 ("/proc/cpuinfo", flags);
+      if (fd != -1)
        {
-         /* No threads use this stream.  */
-         __fsetlocking (fp, FSETLOCKING_BYCALLER);
-         GET_NPROCS_PARSER (fp, buffer, result);
-         fclose (fp);
+         GET_NPROCS_PARSER (fd, buffer, cp, re, buffer_end, result);
+         close_not_cancel_no_status (fd);
        }
     }
 
@@ -141,7 +188,7 @@ __get_nprocs_conf ()
 
 #ifdef GET_NPROCS_CONF_PARSER
   /* If we haven't found an appropriate entry return 1.  */
-  FILE *fp = fopen ("/proc/cpuinfo", "rc");
+  FILE *fp = fopen ("/proc/cpuinfo", "rce");
   if (fp != NULL)
     {
       char buffer[8192];
index 16f7732aad0a707fdcf63077df8be2cfd030ea16..785dd7e8faca90c2006dcac894fff7ff6163b1a6 100644 (file)
@@ -1,4 +1,4 @@
-/* Copyright (C) 1999, 2001, 2004 Free Software Foundation, Inc.
+/* Copyright (C) 1999, 2001, 2004, 2009 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
    `-1' means it is never supported.  Undefined means it cannot be
    statically decided.
 
-   _POSIX_V6_ILP32_OFF32   32bit int, long, pointers, and off_t type
-   _POSIX_V6_ILP32_OFFBIG  32bit int, long, and pointers and larger off_t type
+   _POSIX_V7_ILP32_OFF32   32bit int, long, pointers, and off_t type
+   _POSIX_V7_ILP32_OFFBIG  32bit int, long, and pointers and larger off_t type
 
-   _POSIX_V6_LP64_OFF32           64bit long and pointers and 32bit off_t type
-   _POSIX_V6_LPBIG_OFFBIG  64bit long and pointers and large off_t type
+   _POSIX_V7_LP64_OFF32           64bit long and pointers and 32bit off_t type
+   _POSIX_V7_LPBIG_OFFBIG  64bit long and pointers and large off_t type
 
-   The macros _XBS5_ILP32_OFF32, _XBS5_ILP32_OFFBIG, _XBS5_LP64_OFF32, and
-   _XBS5_LPBIG_OFFBIG were used in previous versions of the Unix standard
-   and are available only for compatibility.
+   The macros _POSIX_V6_ILP32_OFF32, _POSIX_V6_ILP32_OFFBIG,
+   _POSIX_V6_LP64_OFF32, _POSIX_V6_LPBIG_OFFBIG, _XBS5_ILP32_OFF32,
+   _XBS5_ILP32_OFFBIG, _XBS5_LP64_OFF32, and _XBS5_LPBIG_OFFBIG were
+   used in previous versions of the Unix standard and are available
+   only for compatibility.
 */
 
 /* By default we have 32-bit wide `int', `long int', pointers and `off_t'
    and all platforms support LFS.  */
+#define _POSIX_V7_ILP32_OFF32  1
+#define _POSIX_V7_ILP32_OFFBIG 1
 #define _POSIX_V6_ILP32_OFF32  1
 #define _POSIX_V6_ILP32_OFFBIG 1
 #define _XBS5_ILP32_OFF32      1
 #define _XBS5_ILP32_OFFBIG     1
 
 /* We optionally provide an environment with the above size but an 64-bit
-   side `off_t'.  Therefore we don't define _XBS5_ILP32_OFFBIG.  */
+   side `off_t'.  Therefore we don't define _POSIX_V7_ILP32_OFFBIG.  */
 
 /* Environments with 64-bit wide pointers can be provided,
    so these macros aren't defined:
+   # undef _POSIX_V7_LP64_OFF64
+   # undef _POSIX_V7_LPBIG_OFFBIG
    # undef _POSIX_V6_LP64_OFF64
    # undef _POSIX_V6_LPBIG_OFFBIG
    # undef _XBS5_LP64_OFF64
index 39a7877f7edfd7aabb7c6955eba8f1abaee6c170..128c2caac7b4edfacf1689b2236e2546cce86764 100644 (file)
@@ -1,4 +1,4 @@
-/* Copyright (C) 1996, 2000 Free Software Foundation, Inc.
+/* Copyright (C) 1996, 2000, 2009 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
@@ -41,138 +41,142 @@ extern int iopl (int __level) __THROW;
 #if defined __GNUC__ && __GNUC__ >= 2
 
 static __inline unsigned char
-inb (unsigned short int port)
+inb (unsigned short int __port)
 {
   unsigned char _v;
 
-  __asm__ __volatile__ ("inb %w1,%0":"=a" (_v):"Nd" (port));
+  __asm__ __volatile__ ("inb %w1,%0":"=a" (_v):"Nd" (__port));
   return _v;
 }
 
 static __inline unsigned char
-inb_p (unsigned short int port)
+inb_p (unsigned short int __port)
 {
   unsigned char _v;
 
-  __asm__ __volatile__ ("inb %w1,%0\noutb %%al,$0x80":"=a" (_v):"Nd" (port));
+  __asm__ __volatile__ ("inb %w1,%0\noutb %%al,$0x80":"=a" (_v):"Nd" (__port));
   return _v;
 }
 
 static __inline unsigned short int
-inw (unsigned short int port)
+inw (unsigned short int __port)
 {
   unsigned short _v;
 
-  __asm__ __volatile__ ("inw %w1,%0":"=a" (_v):"Nd" (port));
+  __asm__ __volatile__ ("inw %w1,%0":"=a" (_v):"Nd" (__port));
   return _v;
 }
 
 static __inline unsigned short int
-inw_p (unsigned short int port)
+inw_p (unsigned short int __port)
 {
   unsigned short int _v;
 
-  __asm__ __volatile__ ("inw %w1,%0\noutb %%al,$0x80":"=a" (_v):"Nd" (port));
+  __asm__ __volatile__ ("inw %w1,%0\noutb %%al,$0x80":"=a" (_v):"Nd" (__port));
   return _v;
 }
 
 static __inline unsigned int
-inl (unsigned short int port)
+inl (unsigned short int __port)
 {
   unsigned int _v;
 
-  __asm__ __volatile__ ("inl %w1,%0":"=a" (_v):"Nd" (port));
+  __asm__ __volatile__ ("inl %w1,%0":"=a" (_v):"Nd" (__port));
   return _v;
 }
 
 static __inline unsigned int
-inl_p (unsigned short int port)
+inl_p (unsigned short int __port)
 {
   unsigned int _v;
-  __asm__ __volatile__ ("inl %w1,%0\noutb %%al,$0x80":"=a" (_v):"Nd" (port));
+  __asm__ __volatile__ ("inl %w1,%0\noutb %%al,$0x80":"=a" (_v)
+                       :"Nd" (__port));
   return _v;
 }
 
 static __inline void
-outb (unsigned char value, unsigned short int port)
+outb (unsigned char value, unsigned short int __port)
 {
-  __asm__ __volatile__ ("outb %b0,%w1": :"a" (value), "Nd" (port));
+  __asm__ __volatile__ ("outb %b0,%w1": :"a" (value), "Nd" (__port));
 }
 
 static __inline void
-outb_p (unsigned char value, unsigned short int port)
+outb_p (unsigned char value, unsigned short int __port)
 {
   __asm__ __volatile__ ("outb %b0,%w1\noutb %%al,$0x80": :"a" (value),
-                       "Nd" (port));
+                       "Nd" (__port));
 }
 
 static __inline void
-outw (unsigned short int value, unsigned short int port)
+outw (unsigned short int value, unsigned short int __port)
 {
-  __asm__ __volatile__ ("outw %w0,%w1": :"a" (value), "Nd" (port));
+  __asm__ __volatile__ ("outw %w0,%w1": :"a" (value), "Nd" (__port));
 
 }
 
 static __inline void
-outw_p (unsigned short int value, unsigned short int port)
+outw_p (unsigned short int value, unsigned short int __port)
 {
   __asm__ __volatile__ ("outw %w0,%w1\noutb %%al,$0x80": :"a" (value),
-                       "Nd" (port));
+                       "Nd" (__port));
 }
 
 static __inline void
-outl (unsigned int value, unsigned short int port)
+outl (unsigned int value, unsigned short int __port)
 {
-  __asm__ __volatile__ ("outl %0,%w1": :"a" (value), "Nd" (port));
+  __asm__ __volatile__ ("outl %0,%w1": :"a" (value), "Nd" (__port));
 }
 
 static __inline void
-outl_p (unsigned int value, unsigned short int port)
+outl_p (unsigned int value, unsigned short int __port)
 {
   __asm__ __volatile__ ("outl %0,%w1\noutb %%al,$0x80": :"a" (value),
-                       "Nd" (port));
+                       "Nd" (__port));
 }
 
 static __inline void
-insb (unsigned short int port, void *addr, unsigned long int count)
+insb (unsigned short int __port, void *__addr, unsigned long int __count)
 {
-  __asm__ __volatile__ ("cld ; rep ; insb":"=D" (addr),
-                       "=c" (count):"d" (port), "0" (addr), "1" (count));
+  __asm__ __volatile__ ("cld ; rep ; insb":"=D" (__addr), "=c" (__count)
+                       :"d" (__port), "0" (__addr), "1" (__count));
 }
 
 static __inline void
-insw (unsigned short int port, void *addr, unsigned long int count)
+insw (unsigned short int __port, void *__addr, unsigned long int __count)
 {
-  __asm__ __volatile__ ("cld ; rep ; insw":"=D" (addr),
-                       "=c" (count):"d" (port), "0" (addr), "1" (count));
+  __asm__ __volatile__ ("cld ; rep ; insw":"=D" (__addr), "=c" (__count)
+                       :"d" (__port), "0" (__addr), "1" (__count));
 }
 
 static __inline void
-insl (unsigned short int port, void *addr, unsigned long int count)
+insl (unsigned short int __port, void *__addr, unsigned long int __count)
 {
-  __asm__ __volatile__ ("cld ; rep ; insl":"=D" (addr),
-                       "=c" (count):"d" (port), "0" (addr), "1" (count));
+  __asm__ __volatile__ ("cld ; rep ; insl":"=D" (__addr), "=c" (__count)
+                       :"d" (__port), "0" (__addr), "1" (__count));
 }
 
 static __inline void
-outsb (unsigned short int port, const void *addr, unsigned long int count)
+outsb (unsigned short int __port, const void *__addr,
+       unsigned long int __count)
 {
-  __asm__ __volatile__ ("cld ; rep ; outsb":"=S" (addr),
-                       "=c" (count):"d" (port), "0" (addr), "1" (count));
+  __asm__ __volatile__ ("cld ; rep ; outsb":"=S" (__addr), "=c" (__count)
+                       :"d" (__port), "0" (__addr), "1" (__count));
 }
 
 static __inline void
-outsw (unsigned short int port, const void *addr, unsigned long int count)
+outsw (unsigned short int __port, const void *__addr,
+       unsigned long int __count)
 {
-  __asm__ __volatile__ ("cld ; rep ; outsw":"=S" (addr),
-                       "=c" (count):"d" (port), "0" (addr), "1" (count));
+  __asm__ __volatile__ ("cld ; rep ; outsw":"=S" (__addr), "=c" (__count)
+                       :"d" (__port), "0" (__addr), "1" (__count));
 }
 
 static __inline void
-outsl (unsigned short int port, const void *addr, unsigned long int count)
+outsl (unsigned short int __port, const void *__addr,
+       unsigned long int __count)
 {
-  __asm__ __volatile__ ("cld ; rep ; outsl":"=S" (addr),
-                       "=c" (count):"d" (port), "0" (addr), "1" (count));
+  __asm__ __volatile__ ("cld ; rep ; outsl":"=S" (__addr), "=c" (__count)
+                       :"d" (__port), "0" (__addr), "1" (__count));
 }
 
 #endif /* GNU C */
index 7683ec2efdd0974ebfe00c5efe111753d4a9becb..694d1291cd056b3b911fc3b1ac9237d9e5392a7e 100644 (file)
@@ -1,5 +1,5 @@
 /* Stub for ldd script to print Linux libc4 dependencies.
-   Copyright (C) 1998, 2005 Free Software Foundation, Inc.
+   Copyright (C) 1998, 2005, 2009 Free Software Foundation, Inc.
    This file is part of the GNU C Library.
    Contributed by Ulrich Drepper <drepper@cygnus.com>, 1998.
 
@@ -56,6 +56,24 @@ main (int argc, char *argv[])
   if (argc != 2)
     return 1;
 
+  if (strcmp (argv[1], "--help") == 0)
+    {
+      printf (gettext ("Usage: lddlibc4 FILE\n\n"));
+      printf (gettext ("For bug reporting instructions, please see:\n\
+<http://www.gnu.org/software/libc/bugs.html>.\n"));
+      return 0;
+    }
+  else if (strcmp (argv[1], "--version") == 0)
+    {
+      printf ("lddlibc4 (GNU %s) %s\n", PACKAGE, VERSION);
+      printf (gettext ("\
+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\
+"), "2009");
+      return 0;
+    }
+
   filename = argv[1];
 
   /* First see whether this is really an a.out binary.  */
index 0bdca3c3fd6ecd8c15960f8a087cd5063bd81785..0965f1496f735c5a3b05f7785847f80be404d54a 100644 (file)
@@ -1,5 +1,5 @@
 /* Run-time dynamic linker data structures for loaded ELF shared objects.
-   Copyright (C) 2001, 2002, 2003, 2006 Free Software Foundation, Inc.
+   Copyright (C) 2001, 2002, 2003, 2006, 2009 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
@@ -53,4 +53,24 @@ extern void _dl_non_dynamic_init (void) internal_function;
 # define HAVE_AUX_PAGESIZE
 #endif
 
+/* Accept binaries which identify the binary as using Linux extensions.  */
+#define VALID_ELF_HEADER(hdr,exp,size) (memcmp (hdr, exp, size) == 0   \
+                                        || memcmp (hdr, expected2, size) == 0)
+#define VALID_ELF_OSABI(osabi)         (osabi == ELFOSABI_SYSV \
+                                        || osabi == ELFOSABI_LINUX)
+#define VALID_ELF_ABIVERSION(ver)      (ver == 0)
+#define MORE_ELF_HEADER_DATA \
+  static const unsigned char expected2[EI_PAD] =       \
+  {                                                    \
+    [EI_MAG0] = ELFMAG0,                               \
+    [EI_MAG1] = ELFMAG1,                               \
+    [EI_MAG2] = ELFMAG2,                               \
+    [EI_MAG3] = ELFMAG3,                               \
+    [EI_CLASS] = ELFW(CLASS),                          \
+    [EI_DATA] = byteorder,                             \
+    [EI_VERSION] = EV_CURRENT,                         \
+    [EI_OSABI] = ELFOSABI_LINUX,                       \
+    [EI_ABIVERSION] = 0                                        \
+  }
+
 #endif /* ldsodefs.h */
index a51a564cbb53e884edc8b942ba02b2e567a7116d..c675ecc62736cec544de06a3436ca7951b5a248c 100644 (file)
@@ -1,4 +1,4 @@
-/* Copyright (C) 1999, 2001, 2004 Free Software Foundation, Inc.
+/* Copyright (C) 1999, 2001, 2004, 2009 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
    `-1' means it is never supported.  Undefined means it cannot be
    statically decided.
 
-   _POSIX_V6_ILP32_OFF32   32bit int, long, pointers, and off_t type
-   _POSIX_V6_ILP32_OFFBIG  32bit int, long, and pointers and larger off_t type
+   _POSIX_V7_ILP32_OFF32   32bit int, long, pointers, and off_t type
+   _POSIX_V7_ILP32_OFFBIG  32bit int, long, and pointers and larger off_t type
 
-   _POSIX_V6_LP64_OFF32           64bit long and pointers and 32bit off_t type
-   _POSIX_V6_LPBIG_OFFBIG  64bit long and pointers and large off_t type
+   _POSIX_V7_LP64_OFF32           64bit long and pointers and 32bit off_t type
+   _POSIX_V7_LPBIG_OFFBIG  64bit long and pointers and large off_t type
 
-   The macros _XBS5_ILP32_OFF32, _XBS5_ILP32_OFFBIG, _XBS5_LP64_OFF32, and
-   _XBS5_LPBIG_OFFBIG were used in previous versions of the Unix standard
-   and are available only for compatibility.
+   The macros _POSIX_V6_ILP32_OFF32, _POSIX_V6_ILP32_OFFBIG,
+   _POSIX_V6_LP64_OFF32, _POSIX_V6_LPBIG_OFFBIG, _XBS5_ILP32_OFF32,
+   _XBS5_ILP32_OFFBIG, _XBS5_LP64_OFF32, and _XBS5_LPBIG_OFFBIG were
+   used in previous versions of the Unix standard and are available
+   only for compatibility.
 */
 
 #if __WORDSIZE == 64
 
 /* Environments with 32-bit wide pointers are optionally provided.
    Therefore following macros aren't defined:
+   # undef _POSIX_V7_ILP32_OFF32
+   # undef _POSIX_V7_ILP32_OFFBIG
    # undef _POSIX_V6_ILP32_OFF32
    # undef _POSIX_V6_ILP32_OFFBIG
    # undef _XBS5_ILP32_OFF32
 
 /* We also have no use (for now) for an environment with bigger pointers
    and offsets.  */
+# define _POSIX_V7_LPBIG_OFFBIG        -1
 # define _POSIX_V6_LPBIG_OFFBIG        -1
 # define _XBS5_LPBIG_OFFBIG    -1
 
 /* By default we have 64-bit wide `long int', pointers and `off_t'.  */
+# define _POSIX_V7_LP64_OFF64  1
 # define _POSIX_V6_LP64_OFF64  1
 # define _XBS5_LP64_OFF64      1
 
 
 /* By default we have 32-bit wide `int', `long int', pointers and `off_t'
    and all platforms support LFS.  */
+# define _POSIX_V7_ILP32_OFF32 1
+# define _POSIX_V7_ILP32_OFFBIG        1
 # define _POSIX_V6_ILP32_OFF32 1
 # define _POSIX_V6_ILP32_OFFBIG        1
 # define _XBS5_ILP32_OFF32     1
 # define _XBS5_ILP32_OFFBIG    1
 
 /* We optionally provide an environment with the above size but an 64-bit
-   side `off_t'.  Therefore we don't define _XBS5_ILP32_OFFBIG.  */
+   side `off_t'.  Therefore we don't define _POSIX_V7_ILP32_OFFBIG.  */
 
 /* Environments with 64-bit wide pointers can be provided,
    so these macros aren't defined:
+   # undef _POSIX_V7_LP64_OFF64
+   # undef _POSIX_V7_LPBIG_OFFBIG
    # undef _POSIX_V6_LP64_OFF64
    # undef _POSIX_V6_LPBIG_OFFBIG
    # undef _XBS5_LP64_OFF64
index 713d21c9a59f0e2b2ce58105786a1681c6617a30..29628b2ed4bb06996557ad2d93e3115342df3e4b 100644 (file)
@@ -1,4 +1,4 @@
-/* Copyright (C) 1999, 2001, 2004 Free Software Foundation, Inc.
+/* Copyright (C) 1999, 2001, 2004, 2009 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
    `-1' means it is never supported.  Undefined means it cannot be
    statically decided.
 
-   _POSIX_V6_ILP32_OFF32   32bit int, long, pointers, and off_t type
-   _POSIX_V6_ILP32_OFFBIG  32bit int, long, and pointers and larger off_t type
+   _POSIX_V7_ILP32_OFF32   32bit int, long, pointers, and off_t type
+   _POSIX_V7_ILP32_OFFBIG  32bit int, long, and pointers and larger off_t type
 
-   _POSIX_V6_LP64_OFF32           64bit long and pointers and 32bit off_t type
-   _POSIX_V6_LPBIG_OFFBIG  64bit long and pointers and large off_t type
+   _POSIX_V7_LP64_OFF32           64bit long and pointers and 32bit off_t type
+   _POSIX_V7_LPBIG_OFFBIG  64bit long and pointers and large off_t type
 
-   The macros _XBS5_ILP32_OFF32, _XBS5_ILP32_OFFBIG, _XBS5_LP64_OFF32, and
-   _XBS5_LPBIG_OFFBIG were used in previous versions of the Unix standard
-   and are available only for compatibility.
+   The macros _POSIX_V6_ILP32_OFF32, _POSIX_V6_ILP32_OFFBIG,
+   _POSIX_V6_LP64_OFF32, _POSIX_V6_LPBIG_OFFBIG, _XBS5_ILP32_OFF32,
+   _XBS5_ILP32_OFFBIG, _XBS5_LP64_OFF32, and _XBS5_LPBIG_OFFBIG were
+   used in previous versions of the Unix standard and are available
+   only for compatibility.
 */
 
 #if __WORDSIZE == 64
 
 /* Environments with 32-bit wide pointers are optionally provided.
    Therefore following macros aren't defined:
+   # undef _POSIX_V7_ILP32_OFF32
+   # undef _POSIX_V7_ILP32_OFFBIG
    # undef _POSIX_V6_ILP32_OFF32
    # undef _POSIX_V6_ILP32_OFFBIG
    # undef _XBS5_ILP32_OFF32
 
 /* We also have no use (for now) for an environment with bigger pointers
    and offsets.  */
+# define _POSIX_V7_LPBIG_OFFBIG        -1
 # define _POSIX_V6_LPBIG_OFFBIG        -1
 # define _XBS5_LPBIG_OFFBIG    -1
 
 /* By default we have 64-bit wide `long int', pointers and `off_t'.  */
+# define _POSIX_V7_LP64_OFF64  1
 # define _POSIX_V6_LP64_OFF64  1
 # define _XBS5_LP64_OFF64      1
 
 
 /* By default we have 32-bit wide `int', `long int', pointers and `off_t'
    and all platforms support LFS.  */
+# define _POSIX_V7_ILP32_OFF32 1
+# define _POSIX_V7_ILP32_OFFBIG        1
 # define _POSIX_V6_ILP32_OFF32 1
 # define _POSIX_V6_ILP32_OFFBIG        1
 # define _XBS5_ILP32_OFF32     1
 # define _XBS5_ILP32_OFFBIG    1
 
 /* We optionally provide an environment with the above size but an 64-bit
-   side `off_t'.  Therefore we don't define _XBS5_ILP32_OFFBIG.  */
+   side `off_t'.  Therefore we don't define _POSIX_V7_ILP32_OFFBIG.  */
 
 /* Environments with 64-bit wide pointers can be provided,
    so these macros aren't defined:
+   # undef _POSIX_V7_LP64_OFF64
+   # undef _POSIX_V7_LPBIG_OFFBIG
    # undef _POSIX_V6_LP64_OFF64
    # undef _POSIX_V6_LPBIG_OFFBIG
    # undef _XBS5_LP64_OFF64
index 68bc235bcfb5362e74bacb0676441969cfc198c7..3432dca5d1145aa773499bff609725f01d5c0ea9 100644 (file)
@@ -1,5 +1,5 @@
 /* Save current context.
-   Copyright (C) 2005 Free Software Foundation, Inc.
+   Copyright (C) 2005, 2009 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,6 +61,7 @@ ENTRY(__getcontext)
        mov.l   r9, @-r0
        mov.l   r8, @-r0
 
+#ifdef __SH_FPU_ANY__
        mov     r4, r0
        /* We need 2 add instruction because oFPUL+4 > 127.  */
        add     #124,r0
@@ -101,6 +102,7 @@ ENTRY(__getcontext)
        fmov.s  fr2, @-r0
        fmov.s  fr1, @-r0
        fmov.s  fr0, @-r0
+#endif /* __SH_FPU_ANY__ */
 
        /* sigprocmask (SIG_BLOCK, NULL, &uc->uc_sigmask).  */
        mov     r4, r6
@@ -117,7 +119,7 @@ ENTRY(__getcontext)
        not     r1, r1                  // r1=0 means r0 = -1 to -4095
        tst     r1, r1                  // i.e. error in linux
        bf      .Lgetcontext_end
-.Lsyscall_error:       
+.Lsyscall_error:
        SYSCALL_ERROR_HANDLER
 .Lgetcontext_end:
        /* All done, return 0 for success.  */
index d09ad2a3739e0935a6a979f5d420836542f4e0a9..e3c9c0e6399009b142dd920140092834c7d25939 100644 (file)
@@ -1,5 +1,5 @@
 /* Dump registers.
-   Copyright (C) 1999, 2000 Free Software Foundation, Inc.
+   Copyright (C) 1999, 2000, 2009 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
@@ -31,15 +31,15 @@ MACL: XXXXXXXX MACH: XXXXXXXX
 
   PC: XXXXXXXX   PR: XXXXXXXX  GBR: XXXXXXXX   SR: XXXXXXXX
 
- FR0: XXXXXXXX  FR1: XXXXXXXX  FR2: XXXXXXXX  FR3: XXXXXXXX 
- FR4: XXXXXXXX  FR5: XXXXXXXX  FR6: XXXXXXXX  FR7: XXXXXXXX 
- FR8: XXXXXXXX  FR9: XXXXXXXX FR10: XXXXXXXX FR11: XXXXXXXX 
-FR12: XXXXXXXX FR13: XXXXXXXX FR14: XXXXXXXX FR15: XXXXXXXX 
+ FR0: XXXXXXXX  FR1: XXXXXXXX  FR2: XXXXXXXX  FR3: XXXXXXXX
+ FR4: XXXXXXXX  FR5: XXXXXXXX  FR6: XXXXXXXX  FR7: XXXXXXXX
+ FR8: XXXXXXXX  FR9: XXXXXXXX FR10: XXXXXXXX FR11: XXXXXXXX
+FR12: XXXXXXXX FR13: XXXXXXXX FR14: XXXXXXXX FR15: XXXXXXXX
 
- XR0: XXXXXXXX  XR1: XXXXXXXX  XR2: XXXXXXXX  XR3: XXXXXXXX 
- XR4: XXXXXXXX  XR5: XXXXXXXX  XR6: XXXXXXXX  XR7: XXXXXXXX 
- XR8: XXXXXXXX  XR9: XXXXXXXX XR10: XXXXXXXX XR11: XXXXXXXX 
-XR12: XXXXXXXX XR13: XXXXXXXX XR14: XXXXXXXX XR15: XXXXXXXX 
+ XR0: XXXXXXXX  XR1: XXXXXXXX  XR2: XXXXXXXX  XR3: XXXXXXXX
+ XR4: XXXXXXXX  XR5: XXXXXXXX  XR6: XXXXXXXX  XR7: XXXXXXXX
+ XR8: XXXXXXXX  XR9: XXXXXXXX XR10: XXXXXXXX XR11: XXXXXXXX
+XR12: XXXXXXXX XR13: XXXXXXXX XR14: XXXXXXXX XR15: XXXXXXXX
 
 FPSCR: XXXXXXXX FPUL: XXXXXXXX
 
@@ -144,6 +144,7 @@ register_dump (int fd, struct sigcontext *ctx)
 
   ADD_STRING ("\n");
 
+#ifdef __SH_FPU_ANY__
   if (ctx->sc_ownedfp != NULL)
     {
       hexvalue (ctx->sc_fpregs[0], fpregs[0], 8);
@@ -253,6 +254,7 @@ register_dump (int fd, struct sigcontext *ctx)
 
       ADD_STRING ("\n");
     }
+#endif /* __SH_FPU_ANY__  */
 
   /* Write the stuff out.  */
   writev (fd, iov, nr);
index 2bc546d1a152b2ff8d63394d70c509de385fca96..48f6d4c721bf94ed39a9e19265b6d374ce3ca94a 100644 (file)
@@ -1,5 +1,5 @@
 /* Install given context.
-   Copyright (C) 2005 Free Software Foundation, Inc.
+   Copyright (C) 2005, 2009 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
@@ -43,13 +43,14 @@ ENTRY(__setcontext)
        not     r1, r1                  // r1=0 means r0 = -1 to -4095
        tst     r1, r1                  // i.e. error in linux
        bf      .Lsetcontext_restore
-.Lsyscall_error:       
+.Lsyscall_error:
        SYSCALL_ERROR_HANDLER
 .Lpseudo_end:
        rts
         nop
 
 .Lsetcontext_restore:
+#ifdef __SH_FPU_ANY__
        mov     r8, r0
        add     #(oFR0),r0
        fmov.s  @r0+, fr0
@@ -88,6 +89,7 @@ ENTRY(__setcontext)
        frchg
        lds.l   @r0+, fpscr
        lds.l   @r0+, fpul
+#endif /* __SH_FPU_ANY__ */
 
        mov     r8, r0
        add     #(oPC), r0
index 1aeca1b1a724d37413f4b30983d764b5e37f33a5..1f1b69baeee6b4ad8803346c2f5f72cb531b46d2 100644 (file)
@@ -1,5 +1,5 @@
 /* Save current context and install the given one.
-   Copyright (C) 2005 Free Software Foundation, Inc.
+   Copyright (C) 2005, 2009 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,6 +61,7 @@ ENTRY(__swapcontext)
        mov.l   r9, @-r0
        mov.l   r8, @-r0
 
+#ifdef __SH_FPU_ANY__
        mov     r4, r0
        /* We need 2 add instruction because oFPUL+4 >= 127.  */
        add     #124,r0
@@ -101,6 +102,7 @@ ENTRY(__swapcontext)
        fmov.s  fr2, @-r0
        fmov.s  fr1, @-r0
        fmov.s  fr0, @-r0
+#endif /* __SH_FPU_ANY__ */
 
        mov     r5, r8
 
@@ -119,12 +121,13 @@ ENTRY(__swapcontext)
        not     r1, r1                  // r1=0 means r0 = -1 to -4095
        tst     r1, r1                  // i.e. error in linux
        bf      .Lswapcontext_restore
-.Lsyscall_error:       
+.Lsyscall_error:
        SYSCALL_ERROR_HANDLER
 .Lpseudo_end:
        rts
         nop
-.Lswapcontext_restore: 
+.Lswapcontext_restore:
+#ifdef __SH_FPU_ANY__
        mov     r8, r0
        add     #(oFR0),r0
        fmov.s  @r0+, fr0
@@ -163,6 +166,7 @@ ENTRY(__swapcontext)
        frchg
        lds.l   @r0+, fpscr
        lds.l   @r0+, fpul
+#endif /* __SH_FPU_ANY__ */
 
        mov     r8, r0
        add     #(oPC), r0
@@ -208,7 +212,7 @@ ENTRY(__swapcontext)
        mov.l   @r15+, r0
        jmp     @r0
         mov.l  @r15+, r0
-       
+
 PSEUDO_END(__swapcontext)
 
 weak_alias (__swapcontext, swapcontext)
index a51a564cbb53e884edc8b942ba02b2e567a7116d..c675ecc62736cec544de06a3436ca7951b5a248c 100644 (file)
@@ -1,4 +1,4 @@
-/* Copyright (C) 1999, 2001, 2004 Free Software Foundation, Inc.
+/* Copyright (C) 1999, 2001, 2004, 2009 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
    `-1' means it is never supported.  Undefined means it cannot be
    statically decided.
 
-   _POSIX_V6_ILP32_OFF32   32bit int, long, pointers, and off_t type
-   _POSIX_V6_ILP32_OFFBIG  32bit int, long, and pointers and larger off_t type
+   _POSIX_V7_ILP32_OFF32   32bit int, long, pointers, and off_t type
+   _POSIX_V7_ILP32_OFFBIG  32bit int, long, and pointers and larger off_t type
 
-   _POSIX_V6_LP64_OFF32           64bit long and pointers and 32bit off_t type
-   _POSIX_V6_LPBIG_OFFBIG  64bit long and pointers and large off_t type
+   _POSIX_V7_LP64_OFF32           64bit long and pointers and 32bit off_t type
+   _POSIX_V7_LPBIG_OFFBIG  64bit long and pointers and large off_t type
 
-   The macros _XBS5_ILP32_OFF32, _XBS5_ILP32_OFFBIG, _XBS5_LP64_OFF32, and
-   _XBS5_LPBIG_OFFBIG were used in previous versions of the Unix standard
-   and are available only for compatibility.
+   The macros _POSIX_V6_ILP32_OFF32, _POSIX_V6_ILP32_OFFBIG,
+   _POSIX_V6_LP64_OFF32, _POSIX_V6_LPBIG_OFFBIG, _XBS5_ILP32_OFF32,
+   _XBS5_ILP32_OFFBIG, _XBS5_LP64_OFF32, and _XBS5_LPBIG_OFFBIG were
+   used in previous versions of the Unix standard and are available
+   only for compatibility.
 */
 
 #if __WORDSIZE == 64
 
 /* Environments with 32-bit wide pointers are optionally provided.
    Therefore following macros aren't defined:
+   # undef _POSIX_V7_ILP32_OFF32
+   # undef _POSIX_V7_ILP32_OFFBIG
    # undef _POSIX_V6_ILP32_OFF32
    # undef _POSIX_V6_ILP32_OFFBIG
    # undef _XBS5_ILP32_OFF32
 
 /* We also have no use (for now) for an environment with bigger pointers
    and offsets.  */
+# define _POSIX_V7_LPBIG_OFFBIG        -1
 # define _POSIX_V6_LPBIG_OFFBIG        -1
 # define _XBS5_LPBIG_OFFBIG    -1
 
 /* By default we have 64-bit wide `long int', pointers and `off_t'.  */
+# define _POSIX_V7_LP64_OFF64  1
 # define _POSIX_V6_LP64_OFF64  1
 # define _XBS5_LP64_OFF64      1
 
 
 /* By default we have 32-bit wide `int', `long int', pointers and `off_t'
    and all platforms support LFS.  */
+# define _POSIX_V7_ILP32_OFF32 1
+# define _POSIX_V7_ILP32_OFFBIG        1
 # define _POSIX_V6_ILP32_OFF32 1
 # define _POSIX_V6_ILP32_OFFBIG        1
 # define _XBS5_ILP32_OFF32     1
 # define _XBS5_ILP32_OFFBIG    1
 
 /* We optionally provide an environment with the above size but an 64-bit
-   side `off_t'.  Therefore we don't define _XBS5_ILP32_OFFBIG.  */
+   side `off_t'.  Therefore we don't define _POSIX_V7_ILP32_OFFBIG.  */
 
 /* Environments with 64-bit wide pointers can be provided,
    so these macros aren't defined:
+   # undef _POSIX_V7_LP64_OFF64
+   # undef _POSIX_V7_LPBIG_OFFBIG
    # undef _POSIX_V6_LP64_OFF64
    # undef _POSIX_V6_LPBIG_OFFBIG
    # undef _XBS5_LP64_OFF64
index 7ff1971c2a412c8440fbcbcc6eb1aa15b4e70216..c0f98f6072ea5f115a0bcca977e7278be1e4e410 100644 (file)
@@ -289,6 +289,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.  */
index f064b372ff8984e06284cf2f9bd08429a12c5d32..e96a8e5605d98bde12a233c73135a76a9fb7586b 100644 (file)
@@ -1,5 +1,5 @@
 /* Determine various system internal values, Linux/Sparc version.
-   Copyright (C) 1999 Free Software Foundation, Inc.
+   Copyright (C) 1999, 2009 Free Software Foundation, Inc.
    This file is part of the GNU C Library.
    Contributed by Andreas Schwab <schwab@suse.de> and
                  Jakub Jelinek <jj@ultra.linux.cz>
@@ -21,7 +21,7 @@
 
 
 /* We need to define a special parser for /proc/cpuinfo.  */
-#define GET_NPROCS_PARSER(FP, BUFFER, RESULT)                            \
+#define GET_NPROCS_PARSER(FD, BUFFER, CP, RE, BUFFER_END, RESULT)        \
   do                                                                     \
     {                                                                    \
       (RESULT) = 0;                                                      \
@@ -29,8 +29,9 @@
         active cpus.  We don't have to fear extremely long lines since   \
         the kernel will not generate them.  8192 bytes are really        \
         enough.  */                                                      \
-      while (fgets_unlocked (BUFFER, sizeof (BUFFER), FP) != NULL)       \
-       if (sscanf (BUFFER, "ncpus active : %d", &(RESULT)) == 1)         \
+      char *l;                                                           \
+      while ((l = next_line (FD, BUFFER, &CP, &RE, BUFFER_END)) != NULL)  \
+       if (sscanf (l, "ncpus active : %d", &(RESULT)) == 1)              \
          break;                                                          \
     }                                                                    \
   while (0)
index aff4f3592e9cadbfbb00bee4577cbb2c1d97296d..c42f2ce59b0dc2466adc9fa6a2161971db53ad0a 100644 (file)
@@ -1,4 +1,4 @@
-/* Copyright (C) 2007, 2008 Free Software Foundation, Inc.
+/* Copyright (C) 2007, 2008, 2009 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,7 +45,7 @@ extern int eventfd (int __count, int __flags) __THROW;
 extern int eventfd_read (int __fd, eventfd_t *__value);
 
 /* Increment event counter.  */
-extern int eventfd_write (int __fd, eventfd_t value);
+extern int eventfd_write (int __fd, eventfd_t __value);
 
 __END_DECLS
 
index 205824b6691d6f664141dd1b0ab1dd6d5481fa24..7c6cf7196da20dd6502a09e26e24b4bafbe28843 100644 (file)
@@ -1,4 +1,4 @@
-/* Copyright (C) 2007, 2008 Free Software Foundation, Inc.
+/* Copyright (C) 2007, 2008, 2009 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,7 +45,7 @@ extern int eventfd (int __count, int __flags) __THROW;
 extern int eventfd_read (int __fd, eventfd_t *__value);
 
 /* Increment event counter.  */
-extern int eventfd_write (int __fd, eventfd_t value);
+extern int eventfd_write (int __fd, eventfd_t __value);
 
 __END_DECLS
 
index a51a564cbb53e884edc8b942ba02b2e567a7116d..c675ecc62736cec544de06a3436ca7951b5a248c 100644 (file)
@@ -1,4 +1,4 @@
-/* Copyright (C) 1999, 2001, 2004 Free Software Foundation, Inc.
+/* Copyright (C) 1999, 2001, 2004, 2009 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
    `-1' means it is never supported.  Undefined means it cannot be
    statically decided.
 
-   _POSIX_V6_ILP32_OFF32   32bit int, long, pointers, and off_t type
-   _POSIX_V6_ILP32_OFFBIG  32bit int, long, and pointers and larger off_t type
+   _POSIX_V7_ILP32_OFF32   32bit int, long, pointers, and off_t type
+   _POSIX_V7_ILP32_OFFBIG  32bit int, long, and pointers and larger off_t type
 
-   _POSIX_V6_LP64_OFF32           64bit long and pointers and 32bit off_t type
-   _POSIX_V6_LPBIG_OFFBIG  64bit long and pointers and large off_t type
+   _POSIX_V7_LP64_OFF32           64bit long and pointers and 32bit off_t type
+   _POSIX_V7_LPBIG_OFFBIG  64bit long and pointers and large off_t type
 
-   The macros _XBS5_ILP32_OFF32, _XBS5_ILP32_OFFBIG, _XBS5_LP64_OFF32, and
-   _XBS5_LPBIG_OFFBIG were used in previous versions of the Unix standard
-   and are available only for compatibility.
+   The macros _POSIX_V6_ILP32_OFF32, _POSIX_V6_ILP32_OFFBIG,
+   _POSIX_V6_LP64_OFF32, _POSIX_V6_LPBIG_OFFBIG, _XBS5_ILP32_OFF32,
+   _XBS5_ILP32_OFFBIG, _XBS5_LP64_OFF32, and _XBS5_LPBIG_OFFBIG were
+   used in previous versions of the Unix standard and are available
+   only for compatibility.
 */
 
 #if __WORDSIZE == 64
 
 /* Environments with 32-bit wide pointers are optionally provided.
    Therefore following macros aren't defined:
+   # undef _POSIX_V7_ILP32_OFF32
+   # undef _POSIX_V7_ILP32_OFFBIG
    # undef _POSIX_V6_ILP32_OFF32
    # undef _POSIX_V6_ILP32_OFFBIG
    # undef _XBS5_ILP32_OFF32
 
 /* We also have no use (for now) for an environment with bigger pointers
    and offsets.  */
+# define _POSIX_V7_LPBIG_OFFBIG        -1
 # define _POSIX_V6_LPBIG_OFFBIG        -1
 # define _XBS5_LPBIG_OFFBIG    -1
 
 /* By default we have 64-bit wide `long int', pointers and `off_t'.  */
+# define _POSIX_V7_LP64_OFF64  1
 # define _POSIX_V6_LP64_OFF64  1
 # define _XBS5_LP64_OFF64      1
 
 
 /* By default we have 32-bit wide `int', `long int', pointers and `off_t'
    and all platforms support LFS.  */
+# define _POSIX_V7_ILP32_OFF32 1
+# define _POSIX_V7_ILP32_OFFBIG        1
 # define _POSIX_V6_ILP32_OFF32 1
 # define _POSIX_V6_ILP32_OFFBIG        1
 # define _XBS5_ILP32_OFF32     1
 # define _XBS5_ILP32_OFFBIG    1
 
 /* We optionally provide an environment with the above size but an 64-bit
-   side `off_t'.  Therefore we don't define _XBS5_ILP32_OFFBIG.  */
+   side `off_t'.  Therefore we don't define _POSIX_V7_ILP32_OFFBIG.  */
 
 /* Environments with 64-bit wide pointers can be provided,
    so these macros aren't defined:
+   # undef _POSIX_V7_LP64_OFF64
+   # undef _POSIX_V7_LPBIG_OFFBIG
    # undef _POSIX_V6_LP64_OFF64
    # undef _POSIX_V6_LPBIG_OFFBIG
    # undef _XBS5_LP64_OFF64
index 802a0dfb42c2d402b4c28a35a030ed78906e90ce..4f8537f428e2dbbc7d15233c4a053c3d5828bd02 100644 (file)
@@ -1,4 +1,4 @@
-/* Copyright (C) 1996, 2000, 2002 Free Software Foundation, Inc.
+/* Copyright (C) 1996, 2000, 2002, 2009 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
@@ -41,138 +41,138 @@ extern int iopl (int __level) __THROW;
 #if defined __GNUC__ && __GNUC__ >= 2
 
 static __inline unsigned char
-inb (unsigned short int port)
+inb (unsigned short int __port)
 {
   unsigned char _v;
 
-  __asm__ __volatile__ ("inb %w1,%0":"=a" (_v):"Nd" (port));
+  __asm__ __volatile__ ("inb %w1,%0":"=a" (_v):"Nd" (__port));
   return _v;
 }
 
 static __inline unsigned char
-inb_p (unsigned short int port)
+inb_p (unsigned short int __port)
 {
   unsigned char _v;
 
-  __asm__ __volatile__ ("inb %w1,%0\noutb %%al,$0x80":"=a" (_v):"Nd" (port));
+  __asm__ __volatile__ ("inb %w1,%0\noutb %%al,$0x80":"=a" (_v):"Nd" (__port));
   return _v;
 }
 
 static __inline unsigned short int
-inw (unsigned short int port)
+inw (unsigned short int __port)
 {
   unsigned short _v;
 
-  __asm__ __volatile__ ("inw %w1,%0":"=a" (_v):"Nd" (port));
+  __asm__ __volatile__ ("inw %w1,%0":"=a" (_v):"Nd" (__port));
   return _v;
 }
 
 static __inline unsigned short int
-inw_p (unsigned short int port)
+inw_p (unsigned short int __port)
 {
   unsigned short int _v;
 
-  __asm__ __volatile__ ("inw %w1,%0\noutb %%al,$0x80":"=a" (_v):"Nd" (port));
+  __asm__ __volatile__ ("inw %w1,%0\noutb %%al,$0x80":"=a" (_v):"Nd" (__port));
   return _v;
 }
 
 static __inline unsigned int
-inl (unsigned short int port)
+inl (unsigned short int __port)
 {
   unsigned int _v;
 
-  __asm__ __volatile__ ("inl %w1,%0":"=a" (_v):"Nd" (port));
+  __asm__ __volatile__ ("inl %w1,%0":"=a" (_v):"Nd" (__port));
   return _v;
 }
 
 static __inline unsigned int
-inl_p (unsigned short int port)
+inl_p (unsigned short int __port)
 {
   unsigned int _v;
-  __asm__ __volatile__ ("inl %w1,%0\noutb %%al,$0x80":"=a" (_v):"Nd" (port));
+  __asm__ __volatile__ ("inl %w1,%0\noutb %%al,$0x80":"=a" (_v):"Nd" (__port));
   return _v;
 }
 
 static __inline void
-outb (unsigned char value, unsigned short int port)
+outb (unsigned char __value, unsigned short int __port)
 {
-  __asm__ __volatile__ ("outb %b0,%w1": :"a" (value), "Nd" (port));
+  __asm__ __volatile__ ("outb %b0,%w1": :"a" (__value), "Nd" (__port));
 }
 
 static __inline void
-outb_p (unsigned char value, unsigned short int port)
+outb_p (unsigned char __value, unsigned short int __port)
 {
-  __asm__ __volatile__ ("outb %b0,%w1\noutb %%al,$0x80": :"a" (value),
-                       "Nd" (port));
+  __asm__ __volatile__ ("outb %b0,%w1\noutb %%al,$0x80": :"a" (__value),
+                       "Nd" (__port));
 }
 
 static __inline void
-outw (unsigned short int value, unsigned short int port)
+outw (unsigned short int __value, unsigned short int __port)
 {
-  __asm__ __volatile__ ("outw %w0,%w1": :"a" (value), "Nd" (port));
+  __asm__ __volatile__ ("outw %w0,%w1": :"a" (__value), "Nd" (__port));
 
 }
 
 static __inline void
-outw_p (unsigned short int value, unsigned short int port)
+outw_p (unsigned short int __value, unsigned short int __port)
 {
-  __asm__ __volatile__ ("outw %w0,%w1\noutb %%al,$0x80": :"a" (value),
-                       "Nd" (port));
+  __asm__ __volatile__ ("outw %w0,%w1\noutb %%al,$0x80": :"a" (__value),
+                       "Nd" (__port));
 }
 
 static __inline void
-outl (unsigned int value, unsigned short int port)
+outl (unsigned int __value, unsigned short int __port)
 {
-  __asm__ __volatile__ ("outl %0,%w1": :"a" (value), "Nd" (port));
+  __asm__ __volatile__ ("outl %0,%w1": :"a" (__value), "Nd" (__port));
 }
 
 static __inline void
-outl_p (unsigned int value, unsigned short int port)
+outl_p (unsigned int __value, unsigned short int __port)
 {
-  __asm__ __volatile__ ("outl %0,%w1\noutb %%al,$0x80": :"a" (value),
-                       "Nd" (port));
+  __asm__ __volatile__ ("outl %0,%w1\noutb %%al,$0x80": :"a" (__value),
+                       "Nd" (__port));
 }
 
 static __inline void
-insb (unsigned short int port, void *addr, unsigned long int count)
+insb (unsigned short int __port, void *addr, unsigned long int __count)
 {
-  __asm__ __volatile__ ("cld ; rep ; insb":"=D" (addr),
-                       "=c" (count):"d" (port), "0" (addr), "1" (count));
+  __asm__ __volatile__ ("cld ; rep ; insb":"=D" (addr), "=c" (__count)
+                       :"d" (__port), "0" (addr), "1" (__count));
 }
 
 static __inline void
-insw (unsigned short int port, void *addr, unsigned long int count)
+insw (unsigned short int __port, void *addr, unsigned long int __count)
 {
-  __asm__ __volatile__ ("cld ; rep ; insw":"=D" (addr),
-                       "=c" (count):"d" (port), "0" (addr), "1" (count));
+  __asm__ __volatile__ ("cld ; rep ; insw":"=D" (addr), "=c" (__count)
+                       :"d" (__port), "0" (addr), "1" (__count));
 }
 
 static __inline void
-insl (unsigned short int port, void *addr, unsigned long int count)
+insl (unsigned short int __port, void *addr, unsigned long int __count)
 {
-  __asm__ __volatile__ ("cld ; rep ; insl":"=D" (addr),
-                       "=c" (count):"d" (port), "0" (addr), "1" (count));
+  __asm__ __volatile__ ("cld ; rep ; insl":"=D" (addr), "=c" (__count)
+                       :"d" (__port), "0" (addr), "1" (__count));
 }
 
 static __inline void
-outsb (unsigned short int port, const void *addr, unsigned long int count)
+outsb (unsigned short int __port, const void *addr, unsigned long int __count)
 {
-  __asm__ __volatile__ ("cld ; rep ; outsb":"=S" (addr),
-                       "=c" (count):"d" (port), "0" (addr), "1" (count));
+  __asm__ __volatile__ ("cld ; rep ; outsb":"=S" (addr), "=c" (__count)
+                       :"d" (__port), "0" (addr), "1" (__count));
 }
 
 static __inline void
-outsw (unsigned short int port, const void *addr, unsigned long int count)
+outsw (unsigned short int __port, const void *addr, unsigned long int __count)
 {
-  __asm__ __volatile__ ("cld ; rep ; outsw":"=S" (addr),
-                       "=c" (count):"d" (port), "0" (addr), "1" (count));
+  __asm__ __volatile__ ("cld ; rep ; outsw":"=S" (addr), "=c" (__count)
+                       :"d" (__port), "0" (addr), "1" (__count));
 }
 
 static __inline void
-outsl (unsigned short int port, const void *addr, unsigned long int count)
+outsl (unsigned short int __port, const void *addr, unsigned long int __count)
 {
-  __asm__ __volatile__ ("cld ; rep ; outsl":"=S" (addr),
-                       "=c" (count):"d" (port), "0" (addr), "1" (count));
+  __asm__ __volatile__ ("cld ; rep ; outsl":"=S" (addr), "=c" (__count)
+                       :"d" (__port), "0" (addr), "1" (__count));
 }
 
 #endif /* GNU C */
index 39c6ecba83030c356efef2d551e08aea892bd8da..7c138eb2f36042abe72de030a9cbfa728973f2e8 100644 (file)
@@ -1,4 +1,4 @@
-/* Copyright (C) 2002, 2003, 2004, 2006, 2007 Free Software Foundation, Inc.
+/* Copyright (C) 2002-2004, 2006, 2007, 2009 Free Software Foundation, Inc.
    This file is part of the GNU C Library.
    Contributed by Ulrich Drepper <drepper@redhat.com>, 2002.
 
@@ -437,26 +437,37 @@ typedef uintmax_t uatomic_max_t;
 #define atomic_delay() asm ("rep; nop")
 
 
-#define atomic_and(mem, mask) \
+#define __arch_and_body(lock, mem, mask) \
   do {                                                                       \
     if (sizeof (*mem) == 1)                                                  \
-      __asm __volatile (LOCK_PREFIX "andb %b1, %0"                           \
+      __asm __volatile (lock "andb %b1, %0"                                  \
                        : "=m" (*mem)                                         \
-                       : "iq" (mask), "m" (*mem));                           \
+                       : "iq" (mask), "m" (*mem),                            \
+                         "i" (offsetof (tcbhead_t, multiple_threads)));      \
     else if (sizeof (*mem) == 2)                                             \
-      __asm __volatile (LOCK_PREFIX "andw %w1, %0"                           \
+      __asm __volatile (lock "andw %w1, %0"                                  \
                        : "=m" (*mem)                                         \
-                       : "ir" (mask), "m" (*mem));                           \
+                       : "ir" (mask), "m" (*mem),                            \
+                         "i" (offsetof (tcbhead_t, multiple_threads)));      \
     else if (sizeof (*mem) == 4)                                             \
-      __asm __volatile (LOCK_PREFIX "andl %1, %0"                            \
+      __asm __volatile (lock "andl %1, %0"                                   \
                        : "=m" (*mem)                                         \
-                       : "ir" (mask), "m" (*mem));                           \
+                       : "ir" (mask), "m" (*mem),                            \
+                         "i" (offsetof (tcbhead_t, multiple_threads)));      \
     else                                                                     \
-      __asm __volatile (LOCK_PREFIX "andq %q1, %0"                           \
+      __asm __volatile (lock "andq %q1, %0"                                  \
                        : "=m" (*mem)                                         \
-                       : "ir" (mask), "m" (*mem));                           \
+                       : "ir" (mask), "m" (*mem),                            \
+                         "i" (offsetof (tcbhead_t, multiple_threads)));      \
   } while (0)
 
+#define __arch_cprefix \
+  "cmpl $0, %%fs:%P3\n\tje 0f\n\tlock\n0:\t"
+
+#define atomic_and(mem, mask) __arch_and_body (LOCK_PREFIX, mem, mask)
+
+#define catomic_and(mem, mask) __arch_and_body (__arch_cprefix, mem, mask)
+
 
 #define __arch_or_body(lock, mem, mask)                                              \
   do {                                                                       \
@@ -484,7 +495,4 @@ typedef uintmax_t uatomic_max_t;
 
 #define atomic_or(mem, mask) __arch_or_body (LOCK_PREFIX, mem, mask)
 
-#define __arch_or_cprefix \
-  "cmpl $0, %%fs:%P3\n\tje 0f\n\tlock\n0:\t"
-
-#define catomic_or(mem, mask) __arch_or_body (__arch_or_cprefix, mem, mask)
+#define catomic_or(mem, mask) __arch_or_body (__arch_cprefix, mem, mask)
index 2890c2d88d36773a7ab376d2d7ecb5d1432786af..5676b787534aeb4bf3ac671406f519e0420e61ae 100644 (file)
@@ -1,4 +1,4 @@
-/* Copyright (C) 2004, 2005 Free Software Foundation, Inc.
+/* Copyright (C) 2004, 2005, 2009 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
@@ -110,7 +110,7 @@ extern unsigned int la_x86_64_gnu_pltexit (Elf64_Sym *__sym,
                                           uintptr_t *__defcook,
                                           const La_x86_64_regs *__inregs,
                                           La_x86_64_retval *__outregs,
-                                          const char *symname);
+                                          const char *__symname);
 
 __END_DECLS
 
index a6fed4abc1dd32eb07f26a899aa6ed16cb2aa4a4..45d70518a82b9d555f83feeb2db954b167822f99 100644 (file)
@@ -1,4 +1,4 @@
-/* Copyright (C) 1991-2002,2003,2004,2007 Free Software Foundation, Inc.
+/* Copyright (C) 1991-2002,2003,2004,2007,2009 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
@@ -244,7 +244,7 @@ __tzset_parse_tz (tz)
          ss = 0;
        case 3:
          tz_rules[1].offset *= (min (ss, 59) + (min (mm, 59) * 60) +
-                                (min (hh, 23) * (60 * 60)));
+                                (min (hh, 24) * (60 * 60)));
          break;
        }
       for (l = 0; l < 3; ++l)