aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorJakub Jelinek <jakub@redhat.com>2009-02-18 15:49:44 +0000
committerJakub Jelinek <jakub@redhat.com>2009-02-18 15:49:44 +0000
commitcf22c5c9b3a4a6cc81a269d49d2324b5df084d74 (patch)
treeca7e374c348baf4e6510329f3f271eca4eb5419f
parentUpdated to fedora-glibc-20090204T2135 (diff)
downloadglibc-cf22c5c9b3a4a6cc81a269d49d2324b5df084d74.tar.gz
glibc-cf22c5c9b3a4a6cc81a269d49d2324b5df084d74.tar.bz2
glibc-cf22c5c9b3a4a6cc81a269d49d2324b5df084d74.zip
Updated to fedora-glibc-20090218T1534
-rw-r--r--ChangeLog216
-rw-r--r--argp/argp.h6
-rw-r--r--bits/confname.h56
-rw-r--r--bits/environments.h28
-rw-r--r--debug/pcprofiledump.c19
-rwxr-xr-xdebug/xtrace.sh6
-rw-r--r--elf/dl-load.c4
-rw-r--r--elf/ldconfig.c22
-rw-r--r--elf/ldd.bash.in6
-rw-r--r--elf/sln.c52
-rw-r--r--elf/sprof.c28
-rw-r--r--fedora/branch.mk4
-rw-r--r--grp/compat-initgroups.c33
-rw-r--r--include/atomic.h18
-rw-r--r--include/malloc.h13
-rw-r--r--include/rpc/auth.h2
-rw-r--r--intl/dcigettext.c15
-rw-r--r--io/sys/stat.h5
-rw-r--r--libio/wfileops.c24
-rw-r--r--locale/langinfo.h4
-rw-r--r--locale/programs/locale.c26
-rw-r--r--localedata/ChangeLog21
-rw-r--r--localedata/Makefile4
-rw-r--r--localedata/locales/el_CY4
-rw-r--r--localedata/locales/el_GR4
-rw-r--r--localedata/locales/iso14651_t1_common325
-rw-r--r--localedata/locales/sv_FI12
-rw-r--r--malloc/arena.c2
-rw-r--r--malloc/hooks.c20
-rw-r--r--malloc/malloc.c120
-rw-r--r--malloc/memusage.c10
-rwxr-xr-xmalloc/memusage.sh6
-rw-r--r--malloc/memusagestat.c22
-rw-r--r--malloc/obstack.h4
-rw-r--r--nis/rpcsvc/nislib.h173
-rw-r--r--nptl/ChangeLog5
-rw-r--r--nptl/sysdeps/unix/sysv/linux/sh/lowlevellock.S4
-rw-r--r--nptl_db/ChangeLog5
-rw-r--r--nptl_db/td_thr_get_info.c3
-rw-r--r--nscd/aicache.c47
-rw-r--r--nscd/cache.c14
-rw-r--r--nscd/connections.c15
-rw-r--r--nscd/grpcache.c26
-rw-r--r--nscd/hstcache.c27
-rw-r--r--nscd/initgrcache.c27
-rw-r--r--nscd/mem.c42
-rw-r--r--nscd/nscd.c22
-rw-r--r--nscd/nscd.h30
-rw-r--r--nscd/pwdcache.c38
-rw-r--r--nscd/servicescache.c27
-rw-r--r--nss/getent.c10
-rw-r--r--po/Makefile3
-rw-r--r--po/libc.pot1160
-rw-r--r--po/lt.po63
-rw-r--r--po/ru.po4660
-rw-r--r--posix/Makefile4
-rw-r--r--posix/confstr.c182
-rw-r--r--posix/getconf.c131
-rw-r--r--posix/spawn.h8
-rw-r--r--posix/sysconf.c12
-rw-r--r--resolv/arpa/nameser.h2
-rw-r--r--resolv/netdb.h4
-rw-r--r--resolv/res_libc.c5
-rw-r--r--resolv/resolv.h34
-rw-r--r--soft-fp/double.h7
-rw-r--r--stdio-common/psignal.c4
-rw-r--r--stdlib/monetary.h4
-rw-r--r--sunrpc/rpc/clnt.h2
-rw-r--r--sunrpc/rpc/pmap_clnt.h2
-rw-r--r--sunrpc/rpc/svc.h6
-rw-r--r--sunrpc/rpc/xdr.h2
-rw-r--r--sunrpc/rpc_common.c6
-rw-r--r--sunrpc/rpc_main.c96
-rw-r--r--sunrpc/rpcinfo.c59
-rw-r--r--sysdeps/i386/bits/link.h4
-rw-r--r--sysdeps/i386/i486/bits/atomic.h31
-rw-r--r--sysdeps/ia64/bits/link.h4
-rw-r--r--sysdeps/posix/sysconf.c31
-rw-r--r--sysdeps/powerpc/bits/link.h6
-rw-r--r--sysdeps/s390/bits/link.h4
-rw-r--r--sysdeps/sh/bits/link.h4
-rw-r--r--sysdeps/sh/sh4/__longjmp.S7
-rw-r--r--sysdeps/sh/sh4/dl-trampoline.S4
-rw-r--r--sysdeps/sh/sh4/setjmp.S4
-rw-r--r--sysdeps/sparc/bits/link.h6
-rw-r--r--sysdeps/unix/opendir.c40
-rw-r--r--sysdeps/unix/sysv/linux/getsysstats.c85
-rw-r--r--sysdeps/unix/sysv/linux/i386/bits/environments.h24
-rw-r--r--sysdeps/unix/sysv/linux/i386/sys/io.h90
-rw-r--r--sysdeps/unix/sysv/linux/lddlibc4.c20
-rw-r--r--sysdeps/unix/sysv/linux/ldsodefs.h22
-rw-r--r--sysdeps/unix/sysv/linux/powerpc/bits/environments.h28
-rw-r--r--sysdeps/unix/sysv/linux/s390/bits/environments.h28
-rw-r--r--sysdeps/unix/sysv/linux/sh/sh4/getcontext.S6
-rw-r--r--sysdeps/unix/sysv/linux/sh/sh4/register-dump.h20
-rw-r--r--sysdeps/unix/sysv/linux/sh/sh4/setcontext.S6
-rw-r--r--sysdeps/unix/sysv/linux/sh/sh4/swapcontext.S12
-rw-r--r--sysdeps/unix/sysv/linux/sparc/bits/environments.h28
-rw-r--r--sysdeps/unix/sysv/linux/sparc/bits/siginfo.h4
-rw-r--r--sysdeps/unix/sysv/linux/sparc/getsysstats.c9
-rw-r--r--sysdeps/unix/sysv/linux/sparc/sys/eventfd.h4
-rw-r--r--sysdeps/unix/sysv/linux/sys/eventfd.h4
-rw-r--r--sysdeps/unix/sysv/linux/x86_64/bits/environments.h28
-rw-r--r--sysdeps/unix/sysv/linux/x86_64/sys/io.h92
-rw-r--r--sysdeps/x86_64/bits/atomic.h36
-rw-r--r--sysdeps/x86_64/bits/link.h4
-rw-r--r--time/tzset.c4
107 files changed, 5124 insertions, 3687 deletions
diff --git a/ChangeLog b/ChangeLog
index d8e6650e09..6a2f201a85 100644
--- 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
diff --git a/argp/argp.h b/argp/argp.h
index baf3afd826..97a954ea5d 100644
--- a/argp/argp.h
+++ b/argp/argp.h
@@ -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
diff --git a/bits/confname.h b/bits/confname.h
index 80b51ac0b8..f6fea1fc29 100644
--- a/bits/confname.h
+++ b/bits/confname.h
@@ -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
};
diff --git a/bits/environments.h b/bits/environments.h
index 4617dc45f2..548ea7f847 100644
--- a/bits/environments.h
+++ b/bits/environments.h
@@ -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
@@ -27,30 +27,36 @@
`-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
@@ -58,15 +64,19 @@
/* 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
diff --git a/debug/pcprofiledump.c b/debug/pcprofiledump.c
index 62c0d73f40..13d9e8c34c 100644
--- a/debug/pcprofiledump.c
+++ b/debug/pcprofiledump.c
@@ -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");
+}
diff --git a/debug/xtrace.sh b/debug/xtrace.sh
index ef0188afde..e3b9daa433 100755
--- a/debug/xtrace.sh
+++ b/debug/xtrace.sh
@@ -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
}
diff --git a/elf/dl-load.c b/elf/dl-load.c
index 8a8936f7bd..c77c259156 100644
--- a/elf/dl-load.c
+++ b/elf/dl-load.c
@@ -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] =
{
diff --git a/elf/ldconfig.c b/elf/ldconfig.c
index dd213669f3..4886645dfa 100644
--- a/elf/ldconfig.c
+++ b/elf/ldconfig.c
@@ -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)
diff --git a/elf/ldd.bash.in b/elf/ldd.bash.in
index ffd125dadf..1bbefe2ff0 100644
--- a/elf/ldd.bash.in
+++ b/elf/ldd.bash.in
@@ -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 | \
diff --git a/elf/sln.c b/elf/sln.c
index 8e66510bb2..a8210c1fc0 100644
--- 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
@@ -16,9 +16,15 @@
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. */
-
+
+#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>
@@ -28,19 +34,37 @@
#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;
}
diff --git a/elf/sprof.c b/elf/sprof.c
index 4244e05c38..ad723f3416 100644
--- a/elf/sprof.c
+++ b/elf/sprof.c
@@ -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)
diff --git a/fedora/branch.mk b/fedora/branch.mk
index 9add5a7ef7..4140903e64 100644
--- a/fedora/branch.mk
+++ b/fedora/branch.mk
@@ -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
diff --git a/grp/compat-initgroups.c b/grp/compat-initgroups.c
index efd875a689..7bcc203fe4 100644
--- a/grp/compat-initgroups.c
+++ b/grp/compat-initgroups.c
@@ -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;
}
diff --git a/include/atomic.h b/include/atomic.h
index 2ad8b5fcb7..7c0548b004 100644
--- a/include/atomic.h
+++ b/include/atomic.h
@@ -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.
@@ -415,6 +415,22 @@
} 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) \
diff --git a/include/malloc.h b/include/malloc.h
index 1a20248559..42fc8ed696 100644
--- a/include/malloc.h
+++ b/include/malloc.h
@@ -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
diff --git a/include/rpc/auth.h b/include/rpc/auth.h
index bc433b5930..a03188ed44 100644
--- a/include/rpc/auth.h
+++ b/include/rpc/auth.h
@@ -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
diff --git a/intl/dcigettext.c b/intl/dcigettext.c
index e0782446e4..16d901e7d0 100644
--- a/intl/dcigettext.c
+++ b/intl/dcigettext.c
@@ -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);
}
diff --git a/io/sys/stat.h b/io/sys/stat.h
index 364c43f8f4..4b21a2e1ce 100644
--- a/io/sys/stat.h
+++ b/io/sys/stat.h
@@ -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. */
diff --git a/libio/wfileops.c b/libio/wfileops.c
index c5f0eaf6a7..57ed786a8f 100644
--- a/libio/wfileops.c
+++ b/libio/wfileops.c
@@ -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;
diff --git a/locale/langinfo.h b/locale/langinfo.h
index 10c4232918..84f53ef172 100644
--- a/locale/langinfo.h
+++ b/locale/langinfo.h
@@ -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
diff --git a/locale/programs/locale.c b/locale/programs/locale.c
index 33963d5b25..77262b7d1c 100644
--- a/locale/programs/locale.c
+++ b/locale/programs/locale.c
@@ -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)
diff --git a/localedata/ChangeLog b/localedata/ChangeLog
index 594a71c98f..801a2a5dae 100644
--- a/localedata/ChangeLog
+++ b/localedata/ChangeLog
@@ -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.
diff --git a/localedata/Makefile b/localedata/Makefile
index f84b3dc588..1acc415748 100644
--- a/localedata/Makefile
+++ b/localedata/Makefile
@@ -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)
diff --git a/localedata/locales/el_CY b/localedata/locales/el_CY
index 7213924233..31175777ed 100644
--- a/localedata/locales/el_CY
+++ b/localedata/locales/el_CY
@@ -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
diff --git a/localedata/locales/el_GR b/localedata/locales/el_GR
index ce608a801e..bb1db143f3 100644
--- a/localedata/locales/el_GR
+++ b/localedata/locales/el_GR
@@ -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
diff --git a/localedata/locales/iso14651_t1_common b/localedata/locales/iso14651_t1_common
index bb0b4ab295..1c9963aaf6 100644
--- a/localedata/locales/iso14651_t1_common
+++ b/localedata/locales/iso14651_t1_common
@@ -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
diff --git a/localedata/locales/sv_FI b/localedata/locales/sv_FI
index bdda16d44b..af9ec123ea 100644
--- a/localedata/locales/sv_FI
+++ b/localedata/locales/sv_FI
@@ -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
diff --git a/malloc/arena.c b/malloc/arena.c
index 9932ee049b..cc03dc4a5b 100644
--- a/malloc/arena.c
+++ b/malloc/arena.c
@@ -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);
}
diff --git a/malloc/hooks.c b/malloc/hooks.c
index c88937665c..9659ec5fbe 100644
--- a/malloc/hooks.c
+++ b/malloc/hooks.c
@@ -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 */
diff --git a/malloc/malloc.c b/malloc/malloc.c
index a918934740..12e23b0f9b 100644
--- a/malloc/malloc.c
+++ b/malloc/malloc.c
@@ -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);
diff --git a/malloc/memusage.c b/malloc/memusage.c
index d11e9e6ed5..fcd58dc684 100644
--- a/malloc/memusage.c
+++ b/malloc/memusage.c
@@ -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;
diff --git a/malloc/memusage.sh b/malloc/memusage.sh
index 1c906a1be5..8b372e4b8e 100755
--- a/malloc/memusage.sh
+++ b/malloc/memusage.sh
@@ -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
}
diff --git a/malloc/memusagestat.c b/malloc/memusagestat.c
index 779d5c0a59..bf33175415 100644
--- a/malloc/memusagestat.c
+++ b/malloc/memusagestat.c
@@ -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");
+}
diff --git a/malloc/obstack.h b/malloc/obstack.h
index 206fe55050..449070e7f1 100644
--- a/malloc/obstack.h
+++ b/malloc/obstack.h
@@ -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);
/* Error handler called when `obstack_chunk_alloc' failed to allocate
diff --git a/nis/rpcsvc/nislib.h b/nis/rpcsvc/nislib.h
index c8927ece17..f3cc2c4c51 100644
--- a/nis/rpcsvc/nislib.h
+++ b/nis/rpcsvc/nislib.h
@@ -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;
diff --git a/nptl/ChangeLog b/nptl/ChangeLog
index eb0f345cd8..c0c5f82ea8 100644
--- a/nptl/ChangeLog
+++ b/nptl/ChangeLog
@@ -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
diff --git a/nptl/sysdeps/unix/sysv/linux/sh/lowlevellock.S b/nptl/sysdeps/unix/sysv/linux/sh/lowlevellock.S
index c051192cee..b80c369a3c 100644
--- a/nptl/sysdeps/unix/sysv/linux/sh/lowlevellock.S
+++ b/nptl/sysdeps/unix/sysv/linux/sh/lowlevellock.S
@@ -103,7 +103,8 @@
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 ; \
@@ -119,7 +120,6 @@
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 ; \
diff --git a/nptl_db/ChangeLog b/nptl_db/ChangeLog
index af819c301a..5166d3df66 100644
--- a/nptl_db/ChangeLog
+++ b/nptl_db/ChangeLog
@@ -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]
diff --git a/nptl_db/td_thr_get_info.c b/nptl_db/td_thr_get_info.c
index 99e5e19bf9..52985603bf 100644
--- a/nptl_db/td_thr_get_info.c
+++ b/nptl_db/td_thr_get_info.c
@@ -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,
diff --git a/nscd/aicache.c b/nscd/aicache.c
index 5ffab76a04..524c0a63af 100644
--- a/nscd/aicache.c
+++ b/nscd/aicache.c
@@ -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);
diff --git a/nscd/cache.c b/nscd/cache.c
index cd6e6b4440..ab842efc29 100644
--- a/nscd/cache.c
+++ b/nscd/cache.c
@@ -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;
}
diff --git a/nscd/connections.c b/nscd/connections.c
index 7e3a406185..3d0727f33b 100644
--- a/nscd/connections.c
+++ b/nscd/connections.c
@@ -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);
diff --git a/nscd/grpcache.c b/nscd/grpcache.c
index c49c0e1906..184d53898c 100644
--- a/nscd/grpcache.c
+++ b/nscd/grpcache.c
@@ -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
diff --git a/nscd/hstcache.c b/nscd/hstcache.c
index 4333917ba0..51e2273960 100644
--- a/nscd/hstcache.c
+++ b/nscd/hstcache.c
@@ -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
diff --git a/nscd/initgrcache.c b/nscd/initgrcache.c
index c5693c6be5..c33aaf315f 100644
--- a/nscd/initgrcache.c
+++ b/nscd/initgrcache.c
@@ -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);
diff --git a/nscd/mem.c b/nscd/mem.c
index 7f3ea06f4a..fcea6dbd03 100644
--- a/nscd/mem.c
+++ b/nscd/mem.c
@@ -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;
diff --git a/nscd/nscd.c b/nscd/nscd.c
index 1129cf8480..3265ea8973 100644
--- a/nscd/nscd.c
+++ b/nscd/nscd.c
@@ -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)
diff --git a/nscd/nscd.h b/nscd/nscd.h
index 2d77bab989..3279b85432 100644
--- a/nscd/nscd.h
+++ b/nscd/nscd.h
@@ -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);
diff --git a/nscd/pwdcache.c b/nscd/pwdcache.c
index 782b101371..2338e7e1e0 100644
--- a/nscd/pwdcache.c
+++ b/nscd/pwdcache.c
@@ -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
diff --git a/nscd/servicescache.c b/nscd/servicescache.c
index 44f12a3c69..dc98d3005a 100644
--- a/nscd/servicescache.c
+++ b/nscd/servicescache.c
@@ -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);
diff --git a/nss/getent.c b/nss/getent.c
index 7a3ad52175..ea5608f1e2 100644
--- a/nss/getent.c
+++ b/nss/getent.c
@@ -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;
}
diff --git a/po/Makefile b/po/Makefile
index 11f92adee5..4ac253e3d1 100644
--- a/po/Makefile
+++ b/po/Makefile
@@ -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 $@
diff --git a/po/libc.pot b/po/libc.pot
index a4ae24fd1f..71d425fc56 100644
--- a/po/libc.pot
+++ b/po/libc.pot
@@ -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 ""
diff --git a/po/lt.po b/po/lt.po
index 516a93bd6c..76b35b9d22 100644
--- 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"
diff --git a/po/ru.po b/po/ru.po
index e1d94a77ca..2237ed5d4b 100644
--- a/po/ru.po
+++ b/po/ru.po
@@ -1,150 +1,155 @@
-# 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: параметр ARGP_HELP_FMT требует значение"
-#: 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. If 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 ""
-" . - -, . \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 "повторное определение множества"
-#: 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 "повторный номер сообщения"
-#: catgets/gencat.c:673
+#: catgets/gencat.c:674
msgid "duplicated message identifier"
-msgstr " "
+msgstr "повторный идентификатор сообщения"
-#: 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 "при открытии старого файла каталога"
-#: 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: повторное 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 "при использовании -r необходимо задавать абсолютное имя для конфигурационного файла"
-#: 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 "память исчерпана"
-#: 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 "предупреждение: у вас нет прав на выполнение"
#: 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 является 32-битным ELF-файлом.\n"
#: elf/readelflib.c:69
#, c-format
msgid "%s is a 64 bit ELF file.\n"
-msgstr "%s 64- ELF-.\n"
+msgstr "%s является 64-битным ELF-файлом.\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. For 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 ""
-" . \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 "при операции stat над файлом с профилировочными данными"
#: 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 "перечислить все известные встроенные кодировки"
-#: 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 "пропускать на выводе недопустимые знаки"
-#: 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 "печатать информацию о ходе работы"
-#: 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 "преобразования из «%s» и в «%s» не поддерживаются"
-#: iconv/iconv_prog.c:246
+#: iconv/iconv_prog.c:247
#, c-format
msgid "conversion from `%s' is not supported"
-msgstr " `%s' "
+msgstr "преобразование из «%s» не поддерживается"
-#: iconv/iconv_prog.c:253
+#: iconv/iconv_prog.c:254
#, c-format
msgid "conversion to `%s' is not supported"
-msgstr " `%s' "
+msgstr "преобразование в «%s» не поддерживается"
-#: 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 "преобразование из «%s» в «%s» не поддерживается"
-#: 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 "преобразование остановлено из-за проблемы при записи вывода"
-#: 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 "при вставке в дерево поиска"
-#: 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 "применяемый по умолчанию файл отображений знаков «%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 "повторное определение для <%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 "после определения CHARMAP могут следовать только определения 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: преждевременный конец файла"
-#: 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» не определено"
-#: 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» должно быть непустым"
-#: 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» не должно быть определено"
-#: 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» объявлено несколько раз"
-#: 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: пустая строка веса недопустима"
-#: 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 "порядок для «%.*s» уже определен в %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: последовательности байт для первого и последнего знака должны быть одинаковой длины"
-#: 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: последовательность байт для первого знака диапазона не меньше чем для последнего"
-#: 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: после эллипсиса символьного диапазона не может непосредственно следовать «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: порядок для «%.*s» уже определен в %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: повторное определение «%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: повторное объявление секции «%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 "повторное определение системы письма «%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: повторное определение порядка для секции «%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: повторное определение порядка для безымянной секции"
-#: 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: пропущено ключевое слово «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: порядок для символа сортировки %.*s еще не определен"
-#: 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: порядок для элемента сортировки %.*s еще не определен"
-#: 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: пропущено ключевое слово «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: пустые описания категорий недопустимы"
-#: 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» не содержит ровно десять вхождений"
-#: 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 "преждевременный конец определения «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 "повторное определение отображения «%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: повторное определение «default_missing»"
-#: locale/programs/ld-ctype.c:2863
+#: locale/programs/ld-ctype.c:2868
msgid "previous definition was here"
-msgstr " "
+msgstr "предыдущее определение было здесь"
-#: 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: повторное определение версии категории"
-#: 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» не определено"
-#: 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: пропущено имя эры в строке %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: пропущен формат эры в строке %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. For 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 ""
-" , . \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 "при подготовке вывода"
-#: 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"
+" путь локали : %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 "память в хорошем состоянии, ошибки в библиотеке\n"
-#: malloc/mcheck.c:327
+#: malloc/mcheck.c:333
msgid "memory clobbered before allocated block\n"
-msgstr " \n"
+msgstr "память затерта перед выделенным блоком\n"
-#: malloc/mcheck.c:330
+#: malloc/mcheck.c:336
msgid "memory clobbered past end of allocated block\n"
-msgstr " \n"
+msgstr "память затерта после конца выделенного блока\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: пропущен список идентификаторов групп в «%s»."
#: nis/nss_nisplus/nisplus-publickey.c:302
#: nis/nss_nisplus/nisplus-publickey.c:308
@@ -3463,521 +3466,530 @@ msgstr "netname2user: `%s'."
#: nis/nss_nisplus/nisplus-publickey.c:382
#, c-format
msgid "netname2user: (nis+ lookup): %s\n"
-msgstr "netname2user: ( nis+): %s\n"
+msgstr "netname2user: (поиск в 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 "предлагаемый размер таблицы для базы данных %s больше чем таблица у постоянной базы данных"
-#: 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 "повторный exec не успешен: %s; параноидальный режим выключен"
-#: 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: получен запрос (версия = %d) от 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: получен запрос (версия = %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 "первоначальная getgrouplist неуспешна"
-#: 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 параноидальный режим включен\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 предлагаемый размер\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: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. For 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 ""
-" . :\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 "при записи файла базы данных"
#: nss/makedb.c:348
#, c-format
msgid "problems while reading `%s'"
-msgstr " `%s'"
+msgstr "проблемы при чтении «%s»"
#: nss/makedb.c:368 nss/makedb.c:385
#, c-format
msgid "while reading database"
-msgstr " "
+msgstr "при чтении базы данных"
-#: 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 [путь]\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 "параметр пуст или не задан"
#: 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 "; причина = "
#: 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: память исчерпана\n"
#: sunrpc/clnt_udp.c:139
msgid "clntudp_create: out of memory\n"
-msgstr "clntudp_create: \n"
+msgstr "clntudp_create: память исчерпана\n"
#: sunrpc/clnt_unix.c:128
msgid "clntunix_create: out of memory\n"
-msgstr "clntunix_create: \n"
+msgstr "clntunix_create: память исчерпана\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: препроцессор Си завершился не успешно с сигналом %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: препроцессор Си завершился не успешно с выходным кодом %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 "пустая строка"
#: 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 "программа %lu недоступна\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 "программа %lu версии %lu недоступна\n"
#: sunrpc/rpcinfo.c:515
#, c-format
msgid "program %lu version %lu ready and waiting\n"
-msgstr " %lu %lu \n"
+msgstr "программа %lu версии %lu готова и ждет\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 " прог-ма верс прото порт\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: память исчерпана\n"
#: sunrpc/svc_simple.c:173
#, c-format
msgid "trouble replying to prog %d\n"
-msgstr " %d\n"
+msgstr "проблемы при отправке ответа программе %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 -- проблема при создании tcp-сокета"
#: 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: память исчерпана\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: память исчерпана\n"
#: sunrpc/svc_udp.c:128
msgid "svcudp_create: socket creation problem"
-msgstr "svcudp_create: "
+msgstr "svcudp_create: проблема при создании сокета"
#: 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: память исчерпана\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 -- проблема при создании AF_UNIX-сокета"
#: 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: память исчерпана\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: память исчерпана\n"
#: sunrpc/xdr.c:566
msgid "xdr_bytes: out of memory\n"
-msgstr "xdr_bytes: \n"
+msgstr "xdr_bytes: память исчерпана\n"
#: sunrpc/xdr.c:718
msgid "xdr_string: out of memory\n"
-msgstr "xdr_string: \n"
+msgstr "xdr_string: память исчерпана\n"
#: sunrpc/xdr_array.c:106
msgid "xdr_array: out of memory\n"
-msgstr "xdr_array: \n"
+msgstr "xdr_array: память исчерпана\n"
#: sunrpc/xdr_rec.c:156
msgid "xdrrec_create: out of memory\n"
-msgstr "xdrrec_create: \n"
+msgstr "xdrrec_create: память исчерпана\n"
#: sunrpc/xdr_ref.c:86
msgid "xdr_reference: out of memory\n"
-msgstr "xdr_reference: \n"
+msgstr "xdr_reference: память исчерпана\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 " ioctl"
#. 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 " NFS"
#. 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 программа недоступна"
#. 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 предназначен для неизвестной машины %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: предупреждение: зона «%s» сокращение «%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 " (правило из «%s», строка %d)"
-#: timezone/zic.c:445
+#: timezone/zic.c:466
msgid "warning: "
-msgstr ": "
+msgstr "предупреждение: "
-#: 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: паника: Недопустимое 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 "повторное имя зоны %s (файл «%s», строка %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 "пустое поле FROM в строке 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 "повторяющийся момент високосной секунды"
-#: 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 "правило переходит за начало/конец месяца -- это не будет работать в версиях zic старше 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"
diff --git a/posix/Makefile b/posix/Makefile
index c0edce4d62..5af49dffd4 100644
--- a/posix/Makefile
+++ b/posix/Makefile
@@ -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 $@
diff --git a/posix/confstr.c b/posix/confstr.c
index 26b0fa875b..9aa4b5aebb 100644
--- a/posix/confstr.c
+++ b/posix/confstr.c
@@ -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;
diff --git a/posix/getconf.c b/posix/getconf.c
index 8f5def08ad..2b1f6c9871 100644
--- a/posix/getconf.c
+++ b/posix/getconf.c
@@ -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
@@ -1080,6 +1189,18 @@ warranty; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.\n\
#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];
size_t spec_len = strlen (spec);
diff --git a/posix/spawn.h b/posix/spawn.h
index ff77fcc8f9..85ac69bf44 100644
--- a/posix/spawn.h
+++ b/posix/spawn.h
@@ -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. */
diff --git a/posix/sysconf.c b/posix/sysconf.c
index f22685cb29..971dd8bf77 100644
--- a/posix/sysconf.c
+++ b/posix/sysconf.c
@@ -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:
diff --git a/resolv/arpa/nameser.h b/resolv/arpa/nameser.h
index 7979b3d4dd..6a2c8376bd 100644
--- a/resolv/arpa/nameser.h
+++ b/resolv/arpa/nameser.h
@@ -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;
diff --git a/resolv/netdb.h b/resolv/netdb.h
index a260c487bc..dc1f7cec61 100644
--- a/resolv/netdb.h
+++ b/resolv/netdb.h
@@ -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.
diff --git a/resolv/res_libc.c b/resolv/res_libc.c
index 8af57f7a4a..810fbc804d 100644
--- a/resolv/res_libc.c
+++ b/resolv/res_libc.c
@@ -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) {
diff --git a/resolv/resolv.h b/resolv/resolv.h
index 105631ee7d..a0de320d0f 100644
--- a/resolv/resolv.h
+++ b/resolv/resolv.h
@@ -71,19 +71,19 @@
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,
diff --git a/soft-fp/double.h b/soft-fp/double.h
index b012d9d51b..1cde3308ba 100644
--- a/soft-fp/double.h
+++ b/soft-fp/double.h
@@ -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)
diff --git a/stdio-common/psignal.c b/stdio-common/psignal.c
index 98049a5871..c8111051b1 100644
--- a/stdio-common/psignal.c
+++ b/stdio-common/psignal.c
@@ -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 = ": ";
diff --git a/stdlib/monetary.h b/stdlib/monetary.h
index d9234ca61b..c8483b27a8 100644
--- a/stdlib/monetary.h
+++ b/stdlib/monetary.h
@@ -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
diff --git a/sunrpc/rpc/clnt.h b/sunrpc/rpc/clnt.h
index cf271c5c13..265bbe2528 100644
--- a/sunrpc/rpc/clnt.h
+++ b/sunrpc/rpc/clnt.h
@@ -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
diff --git a/sunrpc/rpc/pmap_clnt.h b/sunrpc/rpc/pmap_clnt.h
index 1b1c452915..997dddb323 100644
--- a/sunrpc/rpc/pmap_clnt.h
+++ b/sunrpc/rpc/pmap_clnt.h
@@ -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:
diff --git a/sunrpc/rpc/svc.h b/sunrpc/rpc/svc.h
index 171231919a..f29615d5d0 100644
--- a/sunrpc/rpc/svc.h
+++ b/sunrpc/rpc/svc.h
@@ -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;
diff --git a/sunrpc/rpc/xdr.h b/sunrpc/rpc/xdr.h
index ba9691d1af..75bc302980 100644
--- a/sunrpc/rpc/xdr.h
+++ b/sunrpc/rpc/xdr.h
@@ -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,
diff --git a/sunrpc/rpc_common.c b/sunrpc/rpc_common.c
index 6b22b3f66b..3fb0bda489 100644
--- a/sunrpc/rpc_common.c
+++ b/sunrpc/rpc_common.c
@@ -39,7 +39,11 @@
* 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;
diff --git a/sunrpc/rpc_main.c b/sunrpc/rpc_main.c
index a3d227e524..8a7d3695e2 100644
--- a/sunrpc/rpc_main.c
+++ b/sunrpc/rpc_main.c
@@ -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);
}
diff --git a/sunrpc/rpcinfo.c b/sunrpc/rpcinfo.c
index d9da989660..91f360c2f3 100644
--- a/sunrpc/rpcinfo.c
+++ b/sunrpc/rpcinfo.c
@@ -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
diff --git a/sysdeps/i386/bits/link.h b/sysdeps/i386/bits/link.h
index 985d040413..4df5f795e3 100644
--- a/sysdeps/i386/bits/link.h
+++ b/sysdeps/i386/bits/link.h
@@ -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
diff --git a/sysdeps/i386/i486/bits/atomic.h b/sysdeps/i386/i486/bits/atomic.h
index 21eea7112c..4ee6fef692 100644
--- a/sysdeps/i386/i486/bits/atomic.h
+++ b/sysdeps/i386/i486/bits/atomic.h
@@ -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)
diff --git a/sysdeps/ia64/bits/link.h b/sysdeps/ia64/bits/link.h
index f751c23fd1..f522ab340b 100644
--- a/sysdeps/ia64/bits/link.h
+++ b/sysdeps/ia64/bits/link.h
@@ -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
diff --git a/sysdeps/posix/sysconf.c b/sysdeps/posix/sysconf.c
index 0c0d7d1418..f1d1ee4417 100644
--- a/sysdeps/posix/sysconf.c
+++ b/sysdeps/posix/sysconf.c
@@ -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;
diff --git a/sysdeps/powerpc/bits/link.h b/sysdeps/powerpc/bits/link.h
index 6c6f6042a1..24baba09c4 100644
--- a/sysdeps/powerpc/bits/link.h
+++ b/sysdeps/powerpc/bits/link.h
@@ -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
diff --git a/sysdeps/s390/bits/link.h b/sysdeps/s390/bits/link.h
index 70f0043820..bb6f54664c 100644
--- a/sysdeps/s390/bits/link.h
+++ b/sysdeps/s390/bits/link.h
@@ -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
diff --git a/sysdeps/sh/bits/link.h b/sysdeps/sh/bits/link.h
index 2826677336..f650aa302e 100644
--- a/sysdeps/sh/bits/link.h
+++ b/sysdeps/sh/bits/link.h
@@ -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
diff --git a/sysdeps/sh/sh4/__longjmp.S b/sysdeps/sh/sh4/__longjmp.S
index 320a7d11f7..2fd137bcba 100644
--- a/sysdeps/sh/sh4/__longjmp.S
+++ b/sysdeps/sh/sh4/__longjmp.S
@@ -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)
diff --git a/sysdeps/sh/sh4/dl-trampoline.S b/sysdeps/sh/sh4/dl-trampoline.S
index f9529851a1..bd9bb7e5bd 100644
--- a/sysdeps/sh/sh4/dl-trampoline.S
+++ b/sysdeps/sh/sh4/dl-trampoline.S
@@ -1,2 +1,4 @@
-#define HAVE_FPU
+#ifdef __SH_FPU_ANY__
+# define HAVE_FPU
+#endif
#include <sysdeps/sh/dl-trampoline.S>
diff --git a/sysdeps/sh/sh4/setjmp.S b/sysdeps/sh/sh4/setjmp.S
index f9a4f0a8ce..03f0b08dcd 100644
--- a/sysdeps/sh/sh4/setjmp.S
+++ b/sysdeps/sh/sh4/setjmp.S
@@ -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
@@ -23,11 +23,13 @@
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
diff --git a/sysdeps/sparc/bits/link.h b/sysdeps/sparc/bits/link.h
index 9b8434f56f..e0550e84ac 100644
--- a/sysdeps/sparc/bits/link.h
+++ b/sysdeps/sparc/bits/link.h
@@ -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
diff --git a/sysdeps/unix/opendir.c b/sysdeps/unix/opendir.c
index 92029c6547..fbf14f5eec 100644
--- a/sysdeps/unix/opendir.c
+++ b/sysdeps/unix/opendir.c
@@ -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)
diff --git a/sysdeps/unix/sysv/linux/getsysstats.c b/sysdeps/unix/sysv/linux/getsysstats.c
index 6d4c9c06e8..28f52c0463 100644
--- a/sysdeps/unix/sysv/linux/getsysstats.c
+++ b/sysdeps/unix/sysv/linux/getsysstats.c
@@ -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.
@@ -49,10 +49,13 @@
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; \
@@ -60,45 +63,89 @@
"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];
diff --git a/sysdeps/unix/sysv/linux/i386/bits/environments.h b/sysdeps/unix/sysv/linux/i386/bits/environments.h
index 16f7732aad..785dd7e8fa 100644
--- a/sysdeps/unix/sysv/linux/i386/bits/environments.h
+++ b/sysdeps/unix/sysv/linux/i386/bits/environments.h
@@ -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
@@ -25,29 +25,35 @@
`-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
diff --git a/sysdeps/unix/sysv/linux/i386/sys/io.h b/sysdeps/unix/sysv/linux/i386/sys/io.h
index 39a7877f7e..128c2caac7 100644
--- a/sysdeps/unix/sysv/linux/i386/sys/io.h
+++ b/sysdeps/unix/sysv/linux/i386/sys/io.h
@@ -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 */
diff --git a/sysdeps/unix/sysv/linux/lddlibc4.c b/sysdeps/unix/sysv/linux/lddlibc4.c
index 7683ec2efd..694d1291cd 100644
--- a/sysdeps/unix/sysv/linux/lddlibc4.c
+++ b/sysdeps/unix/sysv/linux/lddlibc4.c
@@ -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. */
diff --git a/sysdeps/unix/sysv/linux/ldsodefs.h b/sysdeps/unix/sysv/linux/ldsodefs.h
index 0bdca3c3fd..0965f1496f 100644
--- a/sysdeps/unix/sysv/linux/ldsodefs.h
+++ b/sysdeps/unix/sysv/linux/ldsodefs.h
@@ -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 */
diff --git a/sysdeps/unix/sysv/linux/powerpc/bits/environments.h b/sysdeps/unix/sysv/linux/powerpc/bits/environments.h
index a51a564cbb..c675ecc627 100644
--- a/sysdeps/unix/sysv/linux/powerpc/bits/environments.h
+++ b/sysdeps/unix/sysv/linux/powerpc/bits/environments.h
@@ -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
@@ -27,21 +27,25 @@
`-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
@@ -50,10 +54,12 @@
/* 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
@@ -61,16 +67,20 @@
/* 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
diff --git a/sysdeps/unix/sysv/linux/s390/bits/environments.h b/sysdeps/unix/sysv/linux/s390/bits/environments.h
index 713d21c9a5..29628b2ed4 100644
--- a/sysdeps/unix/sysv/linux/s390/bits/environments.h
+++ b/sysdeps/unix/sysv/linux/s390/bits/environments.h
@@ -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
@@ -27,21 +27,25 @@
`-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
@@ -50,10 +54,12 @@
/* 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
@@ -61,16 +67,20 @@
/* 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
diff --git a/sysdeps/unix/sysv/linux/sh/sh4/getcontext.S b/sysdeps/unix/sysv/linux/sh/sh4/getcontext.S
index 68bc235bcf..3432dca5d1 100644
--- a/sysdeps/unix/sysv/linux/sh/sh4/getcontext.S
+++ b/sysdeps/unix/sysv/linux/sh/sh4/getcontext.S
@@ -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. */
diff --git a/sysdeps/unix/sysv/linux/sh/sh4/register-dump.h b/sysdeps/unix/sysv/linux/sh/sh4/register-dump.h
index d09ad2a373..e3c9c0e639 100644
--- a/sysdeps/unix/sysv/linux/sh/sh4/register-dump.h
+++ b/sysdeps/unix/sysv/linux/sh/sh4/register-dump.h
@@ -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);
diff --git a/sysdeps/unix/sysv/linux/sh/sh4/setcontext.S b/sysdeps/unix/sysv/linux/sh/sh4/setcontext.S
index 2bc546d1a1..48f6d4c721 100644
--- a/sysdeps/unix/sysv/linux/sh/sh4/setcontext.S
+++ b/sysdeps/unix/sysv/linux/sh/sh4/setcontext.S
@@ -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
diff --git a/sysdeps/unix/sysv/linux/sh/sh4/swapcontext.S b/sysdeps/unix/sysv/linux/sh/sh4/swapcontext.S
index 1aeca1b1a7..1f1b69baee 100644
--- a/sysdeps/unix/sysv/linux/sh/sh4/swapcontext.S
+++ b/sysdeps/unix/sysv/linux/sh/sh4/swapcontext.S
@@ -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)
diff --git a/sysdeps/unix/sysv/linux/sparc/bits/environments.h b/sysdeps/unix/sysv/linux/sparc/bits/environments.h
index a51a564cbb..c675ecc627 100644
--- a/sysdeps/unix/sysv/linux/sparc/bits/environments.h
+++ b/sysdeps/unix/sysv/linux/sparc/bits/environments.h
@@ -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
@@ -27,21 +27,25 @@
`-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
@@ -50,10 +54,12 @@
/* 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
@@ -61,16 +67,20 @@
/* 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
diff --git a/sysdeps/unix/sysv/linux/sparc/bits/siginfo.h b/sysdeps/unix/sysv/linux/sparc/bits/siginfo.h
index 7ff1971c2a..c0f98f6072 100644
--- a/sysdeps/unix/sysv/linux/sparc/bits/siginfo.h
+++ b/sysdeps/unix/sysv/linux/sparc/bits/siginfo.h
@@ -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. */
diff --git a/sysdeps/unix/sysv/linux/sparc/getsysstats.c b/sysdeps/unix/sysv/linux/sparc/getsysstats.c
index f064b372ff..e96a8e5605 100644
--- a/sysdeps/unix/sysv/linux/sparc/getsysstats.c
+++ b/sysdeps/unix/sysv/linux/sparc/getsysstats.c
@@ -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)
diff --git a/sysdeps/unix/sysv/linux/sparc/sys/eventfd.h b/sysdeps/unix/sysv/linux/sparc/sys/eventfd.h
index aff4f3592e..c42f2ce59b 100644
--- a/sysdeps/unix/sysv/linux/sparc/sys/eventfd.h
+++ b/sysdeps/unix/sysv/linux/sparc/sys/eventfd.h
@@ -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
diff --git a/sysdeps/unix/sysv/linux/sys/eventfd.h b/sysdeps/unix/sysv/linux/sys/eventfd.h
index 205824b669..7c6cf7196d 100644
--- a/sysdeps/unix/sysv/linux/sys/eventfd.h
+++ b/sysdeps/unix/sysv/linux/sys/eventfd.h
@@ -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
diff --git a/sysdeps/unix/sysv/linux/x86_64/bits/environments.h b/sysdeps/unix/sysv/linux/x86_64/bits/environments.h
index a51a564cbb..c675ecc627 100644
--- a/sysdeps/unix/sysv/linux/x86_64/bits/environments.h
+++ b/sysdeps/unix/sysv/linux/x86_64/bits/environments.h
@@ -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
@@ -27,21 +27,25 @@
`-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
@@ -50,10 +54,12 @@
/* 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
@@ -61,16 +67,20 @@
/* 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
diff --git a/sysdeps/unix/sysv/linux/x86_64/sys/io.h b/sysdeps/unix/sysv/linux/x86_64/sys/io.h
index 802a0dfb42..4f8537f428 100644
--- a/sysdeps/unix/sysv/linux/x86_64/sys/io.h
+++ b/sysdeps/unix/sysv/linux/x86_64/sys/io.h
@@ -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 */
diff --git a/sysdeps/x86_64/bits/atomic.h b/sysdeps/x86_64/bits/atomic.h
index 39c6ecba83..7c138eb2f3 100644
--- a/sysdeps/x86_64/bits/atomic.h
+++ b/sysdeps/x86_64/bits/atomic.h
@@ -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)
diff --git a/sysdeps/x86_64/bits/link.h b/sysdeps/x86_64/bits/link.h
index 2890c2d88d..5676b78753 100644
--- a/sysdeps/x86_64/bits/link.h
+++ b/sysdeps/x86_64/bits/link.h
@@ -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
diff --git a/time/tzset.c b/time/tzset.c
index a6fed4abc1..45d70518a8 100644
--- a/time/tzset.c
+++ b/time/tzset.c
@@ -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)