diff options
author | joseph <joseph@7b3dc134-2b1b-0410-93df-9e9f96275f8d> | 2011-11-17 21:56:08 +0000 |
---|---|---|
committer | joseph <joseph@7b3dc134-2b1b-0410-93df-9e9f96275f8d> | 2011-11-17 21:56:08 +0000 |
commit | 913a0f6c362c8c9aac72f800485678845a60ed06 (patch) | |
tree | 227afb2373db8f9494b69c20069cce6a03ab0914 | |
parent | 86abb02796d5bfc0c71d46ad9923ff8737e03280 (diff) |
Merge changes between r15584 and r15868 from /fsf/trunk.
git-svn-id: svn://svn.eglibc.org/trunk@15869 7b3dc134-2b1b-0410-93df-9e9f96275f8d
183 files changed, 8975 insertions, 6472 deletions
diff --git a/libc/ChangeLog b/libc/ChangeLog index 57c4bbe3f..d9866def3 100644 --- a/libc/ChangeLog +++ b/libc/ChangeLog @@ -1,3 +1,431 @@ +2011-11-17 Ulrich Drepper <drepper@gmail.com> + + * Makefile.in: Remove CVSOPT handling. + * configure.in: Remove use of AC_REVISION. + * iconvdata/Makefile (distribute): No need to filter out CVS. + * scripts/list-sources.sh: Remove CVS, subversion and monotone + handling. + +2011-11-16 Andreas Schwab <schwab@redhat.com> + + * sysdeps/i386/i686/multiarch/strcmp-ssse3.S + [USE_AS_STRCASECMP_L]: Fix argument offsets for non-PIC. + [USE_AS_STRNCASECMP_L]: Likewise. + (__strcasecmp_ssse3, __strncasecmp_ssse3): Handle + NO_TLS_DIRECT_SEG_REFS. + * sysdeps/i386/i686/multiarch/strcmp-sse4.S [USE_AS_STRCASECMP_L]: + Fix argument offsets for non-PIC. + [USE_AS_STRNCASECMP_L]: Likewise. + (__strcasecmp_sse4_2, __strncasecmp_sse4_2): Handle + NO_TLS_DIRECT_SEG_REFS. + +2011-11-15 Ulrich Drepper <drepper@gmail.com> + + * locale/loadarchive.c (_nl_load_locale_from_archive): Open files with + O_CLOEXEC. + * locale/loadlocale.c (_nl_load_locale): Likewise. + +2011-11-15 Andreas Schwab <schwab@redhat.com> + + * sysdeps/unix/sysv/linux/clock_gettime.c (SYSDEP_GETTIME_CPU) + [__ASSUME_POSIX_CPU_TIMERS > 0]: Assign to retval and break. + * sysdeps/unix/sysv/linux/x86_64/clock_gettime.c + (SYSCALL_GETTIME): Set errno on error. + + * sysdeps/unix/sysv/linux/check_pf.c (make_request): Properly + count references to noai6ai_cached. + +2011-11-15 Ulrich Drepper <drepper@gmail.com> + + * time/getdate.c (__getdate_r): Set FD_CLOEXEC for given file. + + * sysdeps/unix/sysv/linux/readonly-area.c (__readonly_area): Set + FD_CLOEXEC for /proc/self/maps. + + * sysdeps/unix/sysv/linux/getsysstats.c (phys_pages_info): Set + FD_CLOEXEC for /proc/meminfo. + + * sysdeps/posix/getaddrinfo.c (gaiconf_init): Set FD_CLOEXEC for + gai.conf. + + * resolv/res_query.c (res_hostalias): Don't allow cancellation and set + FD_CLOEXEC for given file. + + * resolv/res_hconf.c (do_init): Set FD_CLOEXEC for host.conf. + + * resolv/gethnamaddr.c (_sethtent): Don't allow cancellation and set + FD_CLOEXEC for /etc/hosts. + (_gethtent): Likewise. + + * nss/nsswitch.c (nss_parse_file): Set FD_CLOEXEC. + + * nss/nss_files/files-netgrp.c (_nss_files_setnetgrent): Don't allow + cancellation and set FD_CLOEXEC for /etc/netgroup. + + * nss/nss_files/files-key.c (search): Don't allow cancellation when + reading /etc/publickey. + + * nss/nss_files/files-initgroups.c (_nss_files_initgroups_dyn): Don't + allow cancellation when reading /etc/group. + + * nss/nss_files/files-alias.c (internal_setent): Don't allow + cancellation. + (get_next_alias): Likewise for included file. Also set FD_CLOEXEC. + + * nss/nss_files/files-XXX.c (internal_setent): Don't allow cancellation + when using data file. + + * nis/nss-default.c (init): Set FD_CLOEXEC for /etc/default/nss. + + * nis/nis_file.c (read_nis_obj): Set FD_CLOEXEC. + (write_nis_obj): Use "c" and "e" in fopen. + + * misc/mntent_r.c (__setmntent): Also append e to fopen format. + + * misc/getusershell.c (initshells): Set FD_CLOEXEC for /etc/shells. + + * misc/getttyent.c (setttyent): Set FD_CLOEXEC. + + * misc/getpass.c (getpass): Set FD_CLOEXEC for /dev/tty. + + * intl/localealias.c (read_alias_file): Set FD_CLOEXEC for + locale.alias. + + * inet/ruserpass.c (ruserpass): Set FD_CLOEXEC for .netrc. + + * inet/rcmd.c (iruserfopen): Set FD_CLOEXEC for hosts.equiv. + + * iconv/gconv_conf.c (read_conf_file): Set FD_CLOEXEC for config file. + + * hesiod/hesiod.c (parse_config_file): Prevent cancellation in config + file parsing and set FD_CLOEXEC. + +2011-11-14 Ulrich Drepper <drepper@gmail.com> + + * time/tzfile.c (__tzfile_read): Use "e" in fopen call. + +2011-11-14 Andreas Schwab <schwab@redhat.com> + + * malloc/arena.c (arena_get2): Don't call reused_arena when + _int_new_arena failed. + +2011-11-14 Ulrich Drepper <drepper@gmail.com> + + * sysdeps/i386/i686/multiarch/Makefile [subdir=string] + (sysdep_routines): Add strcasecmp_l-sse4 and strncase_l-sse4. + * sysdeps/i386/i686/multiarch/strcasecmp.S: Re-enable SSE4.2 code. + * sysdeps/i386/i686/multiarch/strcmp.S: Likewise. + * sysdeps/i386/i686/multiarch/strncase.S: Likewise. + * sysdeps/i386/i686/multiarch/strcmp-sse4.S: Change to allow reuse + to compile strcasecmp and strncasecmp. + * sysdeps/i386/i686/multiarch/strcasecmp_l-sse4.S: New file. + * sysdeps/i386/i686/multiarch/strncase_l-sse4.S: New file. + + * sysdeps/i386/i686/multiarch/strcmp-ssse3.S: Use L macro consistently. + +2011-11-13 Ulrich Drepper <drepper@gmail.com> + + * sysdeps/i386/i686/multiarch/Makefile [subdir=string]: Add + locale-defines.sym to gen-as-const-headers. + (sysdep_routines): Add strcasecmp_l-c, strcasecmp-c, + strcasecmp_l-ssse3, strncase_l-c, strncase-c, and strncase_l-ssse3. + * sysdeps/i386/i686/multiarch/strcmp-ssse3.S: Change to allow reuse + to compile strcasecmp and strncasecmp. + * sysdeps/i386/i686/multiarch/strcmp.S: Allow to use for + strcasecmp_l and strncasecmp_l. + * sysdeps/i386/i686/multiarch/locale-defines.sym: New file. + * sysdeps/i386/i686/multiarch/strcasecmp-c.c: New file. + * sysdeps/i386/i686/multiarch/strcasecmp.S: New file. + * sysdeps/i386/i686/multiarch/strcasecmp_l-c.c: New file. + * sysdeps/i386/i686/multiarch/strcasecmp_l-ssse3.S: New file. + * sysdeps/i386/i686/multiarch/strcasecmp_l.S: New file. + * sysdeps/i386/i686/multiarch/strncase-c.c: New file. + * sysdeps/i386/i686/multiarch/strncase.S: New file. + * sysdeps/i386/i686/multiarch/strncase_l-c.c: New file. + * sysdeps/i386/i686/multiarch/strncase_l-ssse3.S: New file. + * sysdeps/i386/i686/multiarch/strncase_l.S: New file. + +2011-11-12 Ulrich Drepper <drepper@gmail.com> + + * sysdeps/unix/clock_gettime.c (clock_gettime): No need to assign + result of SYSDEP_GETTIME_CPU to retval. + * sysdeps/unix/sysv/linux/clock_gettime.c (SYSDEP_GETTIME_CPU): Add + parameter list to macro. Remove trailing semicolon. Adjust users. + + * resolv/getaddrinfo_a.c (getaddrinfo_a): Avoid warning about unused + variable. + + * sysdeps/ieee754/ldbl-96/e_j0l.c (__ieee754_j0l): Avoid storing + mantissa words. + * sysdeps/ieee754/ldbl-96/e_j1l.c (__ieee754_j1l): Likewise. + + * sysdeps/ieee754/ldbl-96/e_hypotl.c (__ieee754_hypotl): Avoid warning + from unused variable. + + * sysdeps/generic/sysdep.h: Clean up, pretty print, use dwarf2.h for + DWARF definitions. + * sysdeps/generic/dwarf2.h: Don't define enums when using the file + for assembling. + + * elf/dl-iteratephdr.c [!SHARED] (__dl_iterate_phdr): Don't iterate + over namespaces. + + * sunrpc/rpc_prot.c (rejected): Fix case value. + + * sysdeps/unix/sysv/linux/internal_statvfs.c (INTERNAL_STATVFS): Use + unsigned long long int to avoid warnings in shift. + + * posix/regex_internal.c (re_string_reconstruct): Actually use result + of use of trans. + * posix/regex_internal.h (re_string_wchar_at): Remove temporary + variable tmp. + + * sysdeps/i386/i686/multiarch/wcscmp-c.c: Avoid warning. + * sysdeps/i386/i686/multiarch/wcslen-c.c: Likewise. + * sysdeps/i386/i686/multiarch/wmemcmp-c.c: Likewise. + + * nis/nis_table.c (nis_list): Use variable of correct type for + result of __follow_path call. + +2011-11-07 Adhemerval Zanella <azanella@linux.vnet.ibm.com> + + * sysdeps/powerpc/fpu/math_private.h: Using inline assembly version + of math functions ceil, trunc, floor, round, and sqrt, when + avaliable on the platform. + * sysdeps/powerpc/fpu/e_sqrt.c: Undefine __ieee754_sqrt to avoid + name clash. + * sysdeps/powerpc/fpu/e_sqrtf.c: Likewise. + * sysdeps/powerpc/powerpc64/fpu/e_sqrt.c: Likewise. + * sysdeps/powerpc/powerpc64/fpu/e_sqrtf.c: Likewise. + +2011-10-30 Marek Polacek <mpolacek@redhat.com> + + * libio/wfileops.c (_IO_wfile_underflow_mmap): Remove unused variable. + * sysdeps/ieee754/dbl-64/mpsqrt.c (__mpsqrt): Likewise. + +2011-11-11 Roland McGrath <roland@hack.frob.com> + + * include/unistd.h: Fix __readlink return type. + Reported by Chris Metcalf <cmetcalf@tilera.com>. + +2011-11-11 Ulrich Drepper <drepper@gmail.com> + + * stdlib/ucontext.h: Undo last change for makecontext. + +2011-11-11 Andreas Schwab <schwab@redhat.com> + + * nss/db-Makefile ($(VAR_DB)/group.db): Fix typo in awk script. + + * misc/sys/cdefs.h (__REDIRECT_NTHNL): Define. + * setjmp/setjmp.h: Mark functions as non-leaf. + * setjmp/bits/setjmp2.h: Likewise. + * stdlib/ucontext.h: Likewise. + +2011-11-10 Andreas Schwab <schwab@redhat.com> + + * malloc/arena.c (_int_new_arena): Don't increment narenas. + (reused_arena): Don't check arena limit. + (arena_get2): Atomically check arena limit. + +2011-11-08 Ulrich Drepper <drepper@gmail.com> + + * locale/findlocale.c (_nl_find_locale): Use __strcasecmp_l. + * intl/localealias.c (strcasecmp): Define using __strcasecmp_l. + + * sysdeps/i386/i686/multiarch/strcmp-ssse3.S: Remove unnecessary + instructions. + +2011-11-07 Andreas Schwab <schwab@redhat.com> + + * libio/genops.c (_IO_flush_all_lockp): Only register cleanup + handler when locking. + + * nss/nss_files/files-initgroups.c (_nss_files_initgroups_dyn): + Fix size of allocated buffer. + +2011-11-04 Andreas Schwab <schwab@redhat.com> + + [BZ #10103] + * math/math.h [__NO_LONG_DOUBLE_MATH && !_LIBC]: Provide + declarations for long double functions. + * math/complex.h [__NO_LONG_DOUBLE_MATH && !_LIBC]: Likewise. + + * elf/sprof.c (load_shobj): Fix off-by-one when reading link name. + +2011-11-03 Andreas Schwab <schwab@redhat.com> + + * nscd/nscd.c (main): Don't start AVC thread until credentials are + installed. + + * nss/makedb.c (set_file_creation_context): Do nothing if SELinux + is disabled. + +2011-11-02 Samuel Thibault <samuel.thibault@ens-lyon.org> + + * bits/ioctl-types.h (_IOT_sgttyb): Set number of chars to 4. + +2011-11-01 Andreas Schwab <schwab@linux-m68k.org> + + * include/alloca.h (stackinfo_alloca_round): Define. + (extend_alloca): Use it. + [_STACK_GROWS_UP]: Correct check for adjacent allocation. + * elf/dl-deps.c (_dl_map_object_deps): Don't round alloca size + here. + + * scripts/check-local-headers.sh: Ignore libaudit.h. + + * nscd/Makefile (extra-objs): Make recursively expanded. + +2011-11-01 Ulrich Drepper <drepper@gmail.com> + + * sysdeps/x86_64/strcmp.S: Fix test for non-ASCII locales. + * sysdeps/x86_64/multiarch/strcmp-sse42.S: Likewise. + + * posix/tst-rfc3484.c: Add missing __free_in6ai dummy function. + * posix/tst-rfc3484-2.c: Likewise. + * posix/tst-rfc3484-3.c: Likewise. + + * sysdeps/unix/sysv/linux/bits/uio.h: Declare process_vm_readv and + process_vm_writev. + * sysdeps/unix/sysv/linux/syscalls.list: Add process_vm_readv and + process_vm_writev. + * sysdeps/unix/sysv/linux/Versions: Export process_vm_readv and + process_vm_writev from libc using GLIBC_2.15 version. + + * nscd/connections.c: Use kernel headers instead of <netlink/netlink.h>. + +2011-10-31 Paul Pluzhnikov <ppluzhnikov@google.com> + + * elf/dl-deps.c (_dl_map_object_deps): Reuse alloca space to reduce + stack usage. + +2011-10-31 Ulrich Drepper <drepper@gmail.com> + + [BZ #13367] + * nss/getent.c (initgroups_keys): Show error message in case no group + names are given. + + * include/ifaddrs.h: Declare __free_in6ai and __bump_nl_timestamp. + * inet/check_pf.c: Provide dummy versions of __free_in6ai and + __bump_nl_timestamp. + * nscd/connections (nscd_init): When host database is served open + netlink socket and request notification about configuration changes. + (main_loop_poll): Track netlink file descriptor and bump timestamp + in case data becomes available. + (main_loop_epoll): Likewise. + * nscd/nscd-client.h (DB_VERSION): Bump to 2. + (database_pers_head): Add extra_data fileds. + Declare __nscd_get_mapping and __nscd_get_nl_timestamp. + * nscd/nscd_gethst_r.c (__nscd_get_nl_timestamp): New function. + * nscd/nscd_helper.c (__nscd_get_mapping): Renamed from get_mapping. + Adjust caller. + * sysdeps/posix/getaddrinfo.c (getaddrinfo): Don't call free on + in6ai data, call __free_in6ai. + * sysdeps/unix/sysv/linux/Makefile [subdir=nscd] (sysdep-CFLAGS): + Add -DHAVE_NETLINK. + * sysdeps/unix/sysv/linux/check_pf.c: Major rewrite. Cache the + interface information. Reuse previous data if netlink timestamp + is not changed. + (__bump_nl_timestamp): New function. + (__free_in6ai): New function. + +2011-10-30 Ulrich Drepper <drepper@gmail.com> + + * sysdeps/unix/sysv/linux/check_pf.c (make_request): Don't call + close_not_cancel_no_status here. + (__check_pf): Reorganize code a bit to not call close twice if OOM. + +2011-10-29 Ulrich Drepper <drepper@gmail.com> + + [BZ #13276] + * malloc/malloc.c (munmap_chunk): Don't use assertion to check munmap + return value. + + * posix/sys/wait.h: Mark wait3 and wait4 with __THROWNL. + * libio/stdio.h: Mark sprintf, vsprintf snprintf, vsnprintf, vasprintf, + asprintf, __asprintf, obstack_printf, obstack_vprintf with __THROWNL. + +2011-07-03 Andreas Jaeger <aj@suse.de> + + [BZ #10709] + * sysdeps/ieee754/dbl-64/s_sin.c (__sin): Fix incorrect rounding + of sin. Patch suggested by Paul Zimmermann <zimmerma+gcc@loria.fr>. + * math/libm-test.inc (sin_test): Add test case. + +2011-10-29 Ulrich Drepper <drepper@gmail.com> + + [BZ #13337] + * elf/sprof.c (load_shobj): Correctly NUL-terminate link name. + Patch by Thomas Jarosch <thomas.jarosch@intra2net.com>. + + * elf/chroot_canon.c (chroot_canon): Cleanups. + + * elf/dl-lookup.c (_dl_setup_hash): Avoid warning. + + [BZ #13335] + * elf/chroot_canon.c (chroot_canon): Fix readlink call. + Patch by Thomas Jarosch <thomas.jarosch@intra2net.com>. + + * string/test-strchr.c: Make usable for strchrnul testing. + * string/test-strchrnul.c: New file. + * string/Makefile (strop-tests): Add strchrnul. + + * po/it.po: Update from translation team. + * po/es.po: Likewise. + +2011-10-28 Ulrich Drepper <drepper@gmail.com> + + * sysdeps/x86_64/multiarch/strstr.c (__m128i_strloadu_tolower): Take + the three constants needed as parameters. Drop the others. + (strcasestr_sse42): Load uclow, uchigh, and lcqword and pass to + __m128i_strloadu_tolower. + Create and initialize variable zero and use it in all the places + where _mm_setzero_si128 was used. + + * sysdeps/x86_64/fpu/multiarch/Makefile: Don't build brandred-avx.c, + doasin-avx.c, dosincos-avx.c, e_asin-avx.c, mpatan-avx.c, + mpatan2-avx.c, mpsqrt-avx.c, mptan-avx.c, sincos32-avx.c. + * sysdeps/x86_64/fpu/multiarch/e_asin.c: There are no _avx variants + anymore. + * sysdeps/x86_64/fpu/multiarch/e_atan2-avx.c: Don't redirect __mpatan2. + * sysdeps/x86_64/fpu/multiarch/s_atan-avx.c: Don't redirect __mpatan. + * sysdeps/x86_64/fpu/multiarch/s_sin-avx.c: Don't redirect __branred, + __docos, __dubsin, __mpcos, __mpcos1, __mpsin, __mpsin1. + * sysdeps/x86_64/fpu/multiarch/s_tan-avx.c: Don't redirect __branred, + __mpranred, __mptan. + * sysdeps/x86_64/fpu/multiarch/brandred-avx.c: Removed. + * sysdeps/x86_64/fpu/multiarch/doasin-avx.c: Removed. + * sysdeps/x86_64/fpu/multiarch/dosincos-avx.c: Removed. + * sysdeps/x86_64/fpu/multiarch/e_asin-avx.c: Removed. + * sysdeps/x86_64/fpu/multiarch/mpatan-avx.c: Removed. + * sysdeps/x86_64/fpu/multiarch/mpatan2-avx.c: Removed. + * sysdeps/x86_64/fpu/multiarch/mpsqrt-avx.c: Removed. + * sysdeps/x86_64/fpu/multiarch/mptan-avx.c: Removed. + * sysdeps/x86_64/fpu/multiarch/sincos32-avx.c: Removed. + +2011-10-28 Andreas Schwab <schwab@redhat.com> + + * sysdeps/i386/i686/multiarch/strnlen-c.c (libc_hidden_def): Only + redefine if SHARED. + * sysdeps/i386/i686/multiarch/wcscmp-c.c (libc_hidden_def): Likewise. + + * sysdeps/i386/i686/multiarch/Makefile (sysdep_routines): Move + wide char related routines to wcsmbs subdir. + +2011-10-27 Andreas Schwab <schwab@redhat.com> + + [BZ #13344] + * misc/sys/cdefs.h (__THROWNL): Define. + * posix/unistd.h: Use __THREADNL instead of __THREAD + for memory synchronization functions. + +2011-10-26 Roland McGrath <roland@hack.frob.com> + + [BZ #13349] + * libio/Versions (GLIBC_2.0): Remove open_obstack_stream, which + doesn't exist. + * manual/stdio.texi (Obstack Streams): Node removed. + 2011-10-26 Andreas Schwab <schwab@redhat.com> * sysdeps/ieee754/flt-32/e_j0f.c: Fix use of math_force_eval. @@ -605,10 +605,10 @@ builtins (__builtin_*). Without optimizations enabled GNU CC will not inline functions. The early startup of the dynamic loader will make function calls via an -unrelocated PLT and crash. +unrelocated PLT and crash. Without auditing the dynamic linker code it would be difficult to remove -this requirement. +this requirement. Another reason is that nested functions must be inlined in many cases to avoid executable stacks. @@ -1204,7 +1204,7 @@ solutions: {AJ} You might get the following errors when upgrading to glibc 2.1: In file included from /usr/include/stdio.h:57, - from ... + from ... /usr/include/libio.h:335: parse error before `_IO_seekoff' /usr/include/libio.h:335: parse error before `_G_off64_t' /usr/include/libio.h:336: parse error before `_IO_seekpos' @@ -1278,10 +1278,7 @@ and gives more details for some topics. 2.33. The makefiles want to do a CVS commit. -{UD} Only if you are not specifying the --without-cvs flag at configure -time. This is what you always have to use if you are checking sources -directly out of the public CVS repository or you have your own private -repository. +{} Removed. Does not apply anymore. 2.34. When compiling C++ programs, I get a compilation error in streambuf.h. diff --git a/libc/FAQ.in b/libc/FAQ.in index 0eb6bac15..af61599a7 100644 --- a/libc/FAQ.in +++ b/libc/FAQ.in @@ -400,10 +400,10 @@ builtins (__builtin_*). Without optimizations enabled GNU CC will not inline functions. The early startup of the dynamic loader will make function calls via an -unrelocated PLT and crash. +unrelocated PLT and crash. Without auditing the dynamic linker code it would be difficult to remove -this requirement. +this requirement. Another reason is that nested functions must be inlined in many cases to avoid executable stacks. @@ -971,7 +971,7 @@ solutions: {AJ} You might get the following errors when upgrading to glibc 2.1: In file included from /usr/include/stdio.h:57, - from ... + from ... /usr/include/libio.h:335: parse error before `_IO_seekoff' /usr/include/libio.h:335: parse error before `_G_off64_t' /usr/include/libio.h:336: parse error before `_IO_seekpos' @@ -1041,10 +1041,7 @@ and gives more details for some topics. ?? The makefiles want to do a CVS commit. -{UD} Only if you are not specifying the --without-cvs flag at configure -time. This is what you always have to use if you are checking sources -directly out of the public CVS repository or you have your own private -repository. +{} Removed. Does not apply anymore. ?? When compiling C++ programs, I get a compilation error in streambuf.h. diff --git a/libc/Makefile.in b/libc/Makefile.in index 1c1e2c1df..1f5dc1cd7 100644 --- a/libc/Makefile.in +++ b/libc/Makefile.in @@ -3,14 +3,9 @@ srcdir = @srcdir@ # Uncomment the line below if you want to do parallel build. # PARALLELMFLAGS = -j 4 -# This option is for those who modify the sources and keep them in a -# CVS repository. Sometimes it is necessary to pass options to the cvs -# program (not the command), like -z9 or -x. -# CVSOPTS = -z9 - all .DEFAULT: - $(MAKE) -r PARALLELMFLAGS="$(PARALLELMFLAGS)" CVSOPTS="$(CVSOPTS)" -C $(srcdir) objdir=`pwd` $@ + $(MAKE) -r PARALLELMFLAGS="$(PARALLELMFLAGS)" -C $(srcdir) objdir=`pwd` $@ install: LANGUAGE=C LC_ALL=C; export LANGUAGE LC_ALL; \ - $(MAKE) -r PARALLELMFLAGS="$(PARALLELMFLAGS)" CVSOPTS="$(CVSOPTS)" -C $(srcdir) objdir=`pwd` $@ + $(MAKE) -r PARALLELMFLAGS="$(PARALLELMFLAGS)" -C $(srcdir) objdir=`pwd` $@ @@ -1,4 +1,4 @@ -GNU C Library NEWS -- history of user-visible changes. 2011-10-20 +GNU C Library NEWS -- history of user-visible changes. 2011-11-14 Copyright (C) 1992-2009, 2010, 2011 Free Software Foundation, Inc. See the end for copying conditions. @@ -9,9 +9,10 @@ Version 2.15 * The following bugs are resolved with this release: - 6779, 6783, 9696, 11589, 12403, 12847, 12868, 12852, 12874, 12885, 12892, - 12907, 12922, 12935, 13007, 13021, 13067, 13068, 13090, 13092, 13114, - 13118, 13123, 13134, 13138, 13150, 13179, 13192, 13268, 13291 + 6779, 6783, 9696, 10103, 10709, 11589, 12403, 12847, 12868, 12852, 12874, + 12885, 12892, 12907, 12922, 12935, 13007, 13021, 13067, 13068, 13090, + 13092, 13114, 13118, 13123, 13134, 13138, 13147, 13150, 13179, 13192, + 13268, 13276, 13291, 13335, 13337, 13344, 13358, 13367 * New program pldd to list loaded object of a process Implemented by Ulrich Drepper. @@ -53,6 +54,11 @@ Version 2.15 * Optimized strcasecmp and strncasecmp for AVX on x86-64. Implemented by Ulrich Drepper. + +* New Linux interfaces: process_vm_readv, process_vm_writev + +* Optimized strcasecmp and strncasecmp for SSSE3 and SSE4.2 on x86-32. + Implemented by Ulrich Drepper. Version 2.14 diff --git a/libc/bits/ioctl-types.h b/libc/bits/ioctl-types.h index 58b78a6af..661887f95 100644 --- a/libc/bits/ioctl-types.h +++ b/libc/bits/ioctl-types.h @@ -1,5 +1,5 @@ /* Structure types for pre-termios terminal ioctls. Generic Unix version. - Copyright (C) 1996, 1997 Free Software Foundation, Inc. + Copyright (C) 1996,1997,2011 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 @@ -64,7 +64,7 @@ struct sgttyb }; #define _IOT_sgttyb /* Hurd ioctl type field. */ \ - _IOT (_IOTS (char), 6, _IOTS (short int), 1, 0, 0) + _IOT (_IOTS (char), 4, _IOTS (short int), 1, 0, 0) #if defined TIOCGWINSZ || defined TIOCSWINSZ /* Type of ARG for TIOCGWINSZ and TIOCSWINSZ requests. */ diff --git a/libc/configure b/libc/configure index bb689bbce..e5e0184da 100755 --- a/libc/configure +++ b/libc/configure @@ -1,5 +1,4 @@ #! /bin/sh -# From configure.in CVSid. # Guess values for system-dependent variables and create Makefiles. # Generated by GNU Autoconf 2.63 for GNU C Library (see version.h). # diff --git a/libc/configure.in b/libc/configure.in index 614ed18ef..4655c8aa4 100644 --- a/libc/configure.in +++ b/libc/configure.in @@ -1,5 +1,4 @@ dnl Process this file with autoconf to produce a configure script. -AC_REVISION([$CVSid$]) AC_PREREQ(2.53)dnl dnl Minimum Autoconf version required. AC_INIT([GNU C Library], [(see version.h)], [http://sourceware.org/bugzilla/], [glibc]) AC_CONFIG_SRCDIR([include/features.h]) diff --git a/libc/elf/chroot_canon.c b/libc/elf/chroot_canon.c index 54a6a4cc9..f8f337049 100644 --- a/libc/elf/chroot_canon.c +++ b/libc/elf/chroot_canon.c @@ -1,5 +1,5 @@ /* Return the canonical absolute name of a given file inside chroot. - Copyright (C) 1996,1997,1998,1999,2000,2001,2004,2005,2010 + Copyright (C) 1996,1997,1998,1999,2000,2001,2004,2005,2010,2011 Free Software Foundation, Inc. This file is part of the GNU C Library. @@ -70,7 +70,6 @@ chroot_canon (const char *chroot, const char *name) for (start = end = name; *start; start = end) { struct stat64 st; - int n; /* Skip sequence of multiple path-separators. */ while (*start == '/') @@ -135,7 +134,7 @@ chroot_canon (const char *chroot, const char *name) goto error; } - n = readlink (rpath, buf, PATH_MAX); + ssize_t n = readlink (rpath, buf, PATH_MAX - 1); if (n < 0) { if (*end == '\0') @@ -148,7 +147,7 @@ chroot_canon (const char *chroot, const char *name) extra_buf = alloca (PATH_MAX); len = strlen (end); - if ((long int) (n + len) >= PATH_MAX) + if (len >= PATH_MAX - n) { __set_errno (ENAMETOOLONG); goto error; diff --git a/libc/elf/dl-deps.c b/libc/elf/dl-deps.c index fb180ac99..51cb2fa59 100644 --- a/libc/elf/dl-deps.c +++ b/libc/elf/dl-deps.c @@ -188,6 +188,10 @@ _dl_map_object_deps (struct link_map *map, /* Pointer to last unique object. */ tail = &known[nlist - 1]; + /* No alloca'd space yet. */ + struct link_map **needed_space = NULL; + size_t needed_space_bytes = 0; + /* Process each element of the search list, loading each of its auxiliary objects and immediate dependencies. Auxiliary objects will be added in the list before the object itself and @@ -216,8 +220,15 @@ _dl_map_object_deps (struct link_map *map, dependencies of this object. */ if (l->l_searchlist.r_list == NULL && l->l_initfini == NULL && l != map && l->l_ldnum > 0) - needed = (struct link_map **) alloca (l->l_ldnum - * sizeof (struct link_map *)); + { + size_t new_size = l->l_ldnum * sizeof (struct link_map *); + + if (new_size > needed_space_bytes) + needed_space + = extend_alloca (needed_space, needed_space_bytes, new_size); + + needed = needed_space; + } if (l->l_info[DT_NEEDED] || l->l_info[AUXTAG] || l->l_info[FILTERTAG]) { diff --git a/libc/elf/dl-iteratephdr.c b/libc/elf/dl-iteratephdr.c index 45107a9b6..33b56c962 100644 --- a/libc/elf/dl-iteratephdr.c +++ b/libc/elf/dl-iteratephdr.c @@ -44,9 +44,10 @@ __dl_iterate_phdr (int (*callback) (struct dl_phdr_info *info, /* We have to determine the namespace of the caller since this determines which namespace is reported. */ - const void *caller = RETURN_ADDRESS (0); size_t nloaded = GL(dl_ns)[0]._ns_nloaded; Lmid_t ns = 0; +#ifdef SHARED + const void *caller = RETURN_ADDRESS (0); for (Lmid_t cnt = GL(dl_nns) - 1; cnt > 0; --cnt) for (struct link_map *l = GL(dl_ns)[cnt]._ns_loaded; l; l = l->l_next) { @@ -59,6 +60,7 @@ __dl_iterate_phdr (int (*callback) (struct dl_phdr_info *info, || _dl_addr_inside_object (l, (ElfW(Addr)) caller))) ns = cnt; } +#endif for (l = GL(dl_ns)[ns]._ns_loaded; l != NULL; l = l->l_next) { diff --git a/libc/elf/dl-lookup.c b/libc/elf/dl-lookup.c index fa9b8fe2d..1ad86c5c9 100644 --- a/libc/elf/dl-lookup.c +++ b/libc/elf/dl-lookup.c @@ -860,7 +860,6 @@ internal_function _dl_setup_hash (struct link_map *map) { Elf_Symndx *hash; - Elf_Symndx nchain; if (__builtin_expect (map->l_info[DT_ADDRTAGIDX (DT_GNU_HASH) + DT_NUM + DT_THISPROCNUM + DT_VERSIONTAGNUM @@ -892,7 +891,8 @@ _dl_setup_hash (struct link_map *map) hash = (void *) D_PTR (map, l_info[DT_HASH]); map->l_nbuckets = *hash++; - nchain = *hash++; + /* Skip nchain. */ + hash++; map->l_buckets = hash; hash += map->l_nbuckets; map->l_chain = hash; diff --git a/libc/elf/sprof.c b/libc/elf/sprof.c index a5caddded..2d1d2ac28 100644 --- a/libc/elf/sprof.c +++ b/libc/elf/sprof.c @@ -599,10 +599,11 @@ load_shobj (const char *name) static const char procpath[] = "/proc/self/fd/%d"; char origprocname[sizeof (procpath) + sizeof (int) * 3]; snprintf (origprocname, sizeof (origprocname), procpath, fd); - char *origlink = (char *) alloca (PATH_MAX + 1); - origlink[PATH_MAX] = '\0'; - if (readlink (origprocname, origlink, PATH_MAX) == -1) + char *origlink = (char *) alloca (PATH_MAX); + ssize_t n = readlink (origprocname, origlink, PATH_MAX - 1); + if (n == -1) goto no_debuginfo; + origlink[n] = '\0'; /* Try to find the actual file. There are three places: 1. the same directory the DSO is in diff --git a/libc/hesiod/hesiod.c b/libc/hesiod/hesiod.c index b3706b506..a3f22e5c8 100644 --- a/libc/hesiod/hesiod.c +++ b/libc/hesiod/hesiod.c @@ -278,7 +278,7 @@ parse_config_file(struct hesiod_p *ctx, const char *filename) { /* * Now open and parse the file... */ - if (!(fp = fopen(filename, "r"))) + if (!(fp = fopen(filename, "rce"))) return (-1); while (fgets(buf, sizeof(buf), fp) != NULL) { @@ -482,7 +482,7 @@ __hesiod_res_get(void *context) { void __hesiod_res_set(void *context, struct __res_state *res, - void (*free_res)(void *)) { + void (*free_res)(void *)) { struct hesiod_p *ctx = context; if (ctx->res && ctx->free_res) { diff --git a/libc/iconv/gconv_conf.c b/libc/iconv/gconv_conf.c index b28cb3c9a..7b7c340e9 100644 --- a/libc/iconv/gconv_conf.c +++ b/libc/iconv/gconv_conf.c @@ -364,7 +364,7 @@ read_conf_file (const char *filename, const char *directory, size_t dir_len, { /* Note the file is opened with cancellation in the I/O functions disabled. */ - FILE *fp = fopen (filename, "rc"); + FILE *fp = fopen (filename, "rce"); char *line = NULL; size_t line_len = 0; static int modcounter; diff --git a/libc/iconvdata/Makefile b/libc/iconvdata/Makefile index 5f1893f97..d4a6a329b 100644 --- a/libc/iconvdata/Makefile +++ b/libc/iconvdata/Makefile @@ -134,7 +134,7 @@ LDFLAGS-libJISX0213.so = $(LDFLAGS-soname-fname) distribute := gconv-modules extra-module.mk gap.awk gaptab.awk gconv.map \ gen-8bit.sh gen-8bit-gap.sh gen-8bit-gap-1.sh \ - TESTS $(filter-out testdata/CVS%, $(wildcard testdata/*)) \ + TESTS $(wildcard testdata/*) \ TESTS2 run-iconv-test.sh tst-tables.sh tst-table.sh \ tst-table-charmap.sh tst-table-from.c tst-table-to.c \ EUC-JP.irreversible ISIRI-3342.irreversible SJIS.irreversible \ diff --git a/libc/include/alloca.h b/libc/include/alloca.h index 83504135f..f741d25d5 100644 --- a/libc/include/alloca.h +++ b/libc/include/alloca.h @@ -20,9 +20,13 @@ libc_hidden_proto (__libc_alloca_cutoff) #include <allocalim.h> +#ifndef stackinfo_alloca_round +# define stackinfo_alloca_round(l) (((l) + 15) & -16) +#endif + #if _STACK_GROWS_DOWN # define extend_alloca(buf, len, newlen) \ - (__typeof (buf)) ({ size_t __newlen = (newlen); \ + (__typeof (buf)) ({ size_t __newlen = stackinfo_alloca_round (newlen); \ char *__newbuf = __alloca (__newlen); \ if (__newbuf + __newlen == (char *) buf) \ len += __newlen; \ @@ -31,10 +35,10 @@ libc_hidden_proto (__libc_alloca_cutoff) __newbuf; }) #elif _STACK_GROWS_UP # define extend_alloca(buf, len, newlen) \ - (__typeof (buf)) ({ size_t __newlen = (newlen); \ + (__typeof (buf)) ({ size_t __newlen = stackinfo_alloca_round (newlen); \ char *__newbuf = __alloca (__newlen); \ char *__buf = (buf); \ - if (__buf + __newlen == __newbuf) \ + if (__buf + len == __newbuf) \ { \ len += __newlen; \ __newbuf = __buf; \ diff --git a/libc/include/ifaddrs.h b/libc/include/ifaddrs.h index 50e4c48e8..e1c6cac11 100644 --- a/libc/include/ifaddrs.h +++ b/libc/include/ifaddrs.h @@ -21,8 +21,13 @@ struct in6addrinfo extern void __check_pf (bool *seen_ipv4, bool *seen_ipv6, struct in6addrinfo **in6ai, size_t *in6ailen) attribute_hidden; +extern void __free_in6ai (struct in6addrinfo *in6ai) attribute_hidden; extern void __check_native (uint32_t a1_index, int *a1_native, uint32_t a2_index, int *a2_native) attribute_hidden; +#ifdef IS_IN_nscd +extern uint32_t __bump_nl_timestamp (void) attribute_hidden; +#endif + #endif /* ifaddrs.h */ diff --git a/libc/include/unistd.h b/libc/include/unistd.h index 5014e2e77..3231943b0 100644 --- a/libc/include/unistd.h +++ b/libc/include/unistd.h @@ -117,7 +117,7 @@ extern int __ttyname_r (int __fd, char *__buf, size_t __buflen); extern int __isatty (int __fd); extern int __link (__const char *__from, __const char *__to); extern int __symlink (__const char *__from, __const char *__to); -extern int __readlink (__const char *__path, char *__buf, size_t __len); +extern ssize_t __readlink (__const char *__path, char *__buf, size_t __len); extern int __unlink (__const char *__name); extern int __gethostname (char *__name, size_t __len); extern int __profil (unsigned short int *__sample_buffer, size_t __size, diff --git a/libc/inet/check_pf.c b/libc/inet/check_pf.c index b01543265..0fa34ccbb 100644 --- a/libc/inet/check_pf.c +++ b/libc/inet/check_pf.c @@ -1,5 +1,5 @@ /* Determine protocol families for which interfaces exist. Generic version. - Copyright (C) 2003, 2006 Free Software Foundation, Inc. + Copyright (C) 2003, 2006, 2011 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 @@ -54,3 +54,19 @@ __check_pf (bool *seen_ipv4, bool *seen_ipv6, (void) freeifaddrs (ifa); } + + +void +__free_in6ai (struct in6addrinfo *in6ai) +{ + /* Nothing to do. */ +} + + +#ifdef IS_IN_nscd +uint32_t +__bump_nl_timestamp (void) +{ + return 0; +} +#endif diff --git a/libc/inet/rcmd.c b/libc/inet/rcmd.c index 343e0954d..5e18b1269 100644 --- a/libc/inet/rcmd.c +++ b/libc/inet/rcmd.c @@ -149,7 +149,7 @@ rcmd_af(ahost, rport, locuser, remuser, cmd, fd2p, af) __fxprintf(NULL, "rcmd: getaddrinfo: %s\n", gai_strerror(error)); - return -1; + return -1; } pfd[0].events = POLLIN; @@ -488,7 +488,7 @@ iruserfopen (const char *file, uid_t okuser) cp = _("not regular file"); else { - res = fopen (file, "rc"); + res = fopen (file, "rce"); if (!res) cp = _("cannot open"); else if (__fxstat64 (_STAT_VER, fileno (res), &st) < 0) @@ -574,8 +574,8 @@ ruserok2_sa (ra, ralen, superuser, ruser, luser, rhost) if (hostf != NULL) { - isbad = __validuser2_sa (hostf, ra, ralen, luser, ruser, rhost); - fclose (hostf); + isbad = __validuser2_sa (hostf, ra, ralen, luser, ruser, rhost); + fclose (hostf); } seteuid (uid); @@ -618,7 +618,7 @@ iruserok_af (raddr, superuser, ruser, luser, af) case AF_INET6: ra.ss_family = AF_INET6; memcpy (&(((struct sockaddr_in6 *)&ra)->sin6_addr), raddr, - sizeof(struct in6_addr)); + sizeof(struct in6_addr)); ralen = sizeof(struct sockaddr_in6); break; default: @@ -778,7 +778,7 @@ __validuser2_sa(hostf, ra, ralen, luser, ruser, rhost) while (__getline (&buf, &bufsize, hostf) > 0) { buf[bufsize - 1] = '\0'; /* Make sure it's terminated. */ - p = buf; + p = buf; /* Skip empty or comment lines */ if (__isempty (p)) { diff --git a/libc/inet/ruserpass.c b/libc/inet/ruserpass.c index e5b2caf4d..df423ba6e 100644 --- a/libc/inet/ruserpass.c +++ b/libc/inet/ruserpass.c @@ -114,7 +114,7 @@ ruserpass(host, aname, apass) buf = alloca (strlen (hdir) + 8); __stpcpy (__stpcpy (buf, hdir), "/.netrc"); - cfile = fopen(buf, "rc"); + cfile = fopen(buf, "rce"); if (cfile == NULL) { if (errno != ENOENT) warn("%s", buf); diff --git a/libc/intl/localealias.c b/libc/intl/localealias.c index 735107abd..6cc69c84b 100644 --- a/libc/intl/localealias.c +++ b/libc/intl/localealias.c @@ -1,5 +1,5 @@ /* Handle aliases for locale names. - Copyright (C) 1995-2002, 2003, 2005 Free Software Foundation, Inc. + Copyright (C) 1995-2002, 2003, 2005, 2011 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 @@ -64,7 +64,7 @@ char *alloca (); /* Rename the non ANSI C functions. This is required by the standard because some ANSI C functions will require linking with this object file and the name space must not be polluted. */ -# define strcasecmp __strcasecmp +# define strcasecmp(s1, s2) __strcasecmp_l (s1, s2, _nl_C_locobj_ptr) # ifndef mempcpy # define mempcpy __mempcpy @@ -221,7 +221,7 @@ read_alias_file (fname, fname_len) /* Note the file is opened with cancellation in the I/O functions disabled. */ - fp = fopen (full_fname, "rc"); + fp = fopen (full_fname, "rce"); freea (full_fname); if (fp == NULL) return 0; diff --git a/libc/libio/Versions b/libc/libio/Versions index e7a96daca..8df89d215 100644 --- a/libc/libio/Versions +++ b/libc/libio/Versions @@ -58,7 +58,7 @@ libc { gets; # o* - open_memstream; open_obstack_stream; obstack_printf; obstack_vprintf; + open_memstream; obstack_printf; obstack_vprintf; # p* pclose; popen; putc; putc_locked; putc_unlocked; putchar; diff --git a/libc/libio/genops.c b/libc/libio/genops.c index 5d21c4240..bb40c3435 100644 --- a/libc/libio/genops.c +++ b/libc/libio/genops.c @@ -826,7 +826,7 @@ _IO_flush_all_lockp (int do_lock) int last_stamp; #ifdef _IO_MTSAFE_IO - _IO_cleanup_region_start_noarg (flush_cleanup); + __libc_cleanup_region_start (do_lock, flush_cleanup, 0); if (do_lock) _IO_lock_lock (list_all_lock); #endif @@ -866,7 +866,7 @@ _IO_flush_all_lockp (int do_lock) #ifdef _IO_MTSAFE_IO if (do_lock) _IO_lock_unlock (list_all_lock); - _IO_cleanup_region_end (0); + __libc_cleanup_region_end (0); #endif return result; diff --git a/libc/libio/stdio.h b/libc/libio/stdio.h index 59ecdefa6..8e23903c2 100644 --- a/libc/libio/stdio.h +++ b/libc/libio/stdio.h @@ -363,7 +363,7 @@ extern int fprintf (FILE *__restrict __stream, extern int printf (__const char *__restrict __format, ...); /* Write formatted output to S. */ extern int sprintf (char *__restrict __s, - __const char *__restrict __format, ...) __THROW; + __const char *__restrict __format, ...) __THROWNL; /* Write formatted output to S from argument list ARG. @@ -378,7 +378,7 @@ extern int vfprintf (FILE *__restrict __s, __const char *__restrict __format, extern int vprintf (__const char *__restrict __format, _G_va_list __arg); /* Write formatted output to S from argument list ARG. */ extern int vsprintf (char *__restrict __s, __const char *__restrict __format, - _G_va_list __arg) __THROW; + _G_va_list __arg) __THROWNL; __END_NAMESPACE_STD #if defined __USE_BSD || defined __USE_ISOC99 || defined __USE_UNIX98 @@ -386,11 +386,11 @@ __BEGIN_NAMESPACE_C99 /* Maximum chars of output to write in MAXLEN. */ extern int snprintf (char *__restrict __s, size_t __maxlen, __const char *__restrict __format, ...) - __THROW __attribute__ ((__format__ (__printf__, 3, 4))); + __THROWNL __attribute__ ((__format__ (__printf__, 3, 4))); extern int vsnprintf (char *__restrict __s, size_t __maxlen, __const char *__restrict __format, _G_va_list __arg) - __THROW __attribute__ ((__format__ (__printf__, 3, 0))); + __THROWNL __attribute__ ((__format__ (__printf__, 3, 0))); __END_NAMESPACE_C99 #endif @@ -399,13 +399,13 @@ __END_NAMESPACE_C99 Store the address of the string in *PTR. */ extern int vasprintf (char **__restrict __ptr, __const char *__restrict __f, _G_va_list __arg) - __THROW __attribute__ ((__format__ (__printf__, 2, 0))) __wur; + __THROWNL __attribute__ ((__format__ (__printf__, 2, 0))) __wur; extern int __asprintf (char **__restrict __ptr, __const char *__restrict __fmt, ...) - __THROW __attribute__ ((__format__ (__printf__, 2, 3))) __wur; + __THROWNL __attribute__ ((__format__ (__printf__, 2, 3))) __wur; extern int asprintf (char **__restrict __ptr, __const char *__restrict __fmt, ...) - __THROW __attribute__ ((__format__ (__printf__, 2, 3))) __wur; + __THROWNL __attribute__ ((__format__ (__printf__, 2, 3))) __wur; #endif #ifdef __USE_XOPEN2K8 @@ -895,11 +895,11 @@ struct obstack; /* See <obstack.h>. */ /* Write formatted output to an obstack. */ extern int obstack_printf (struct obstack *__restrict __obstack, __const char *__restrict __format, ...) - __THROW __attribute__ ((__format__ (__printf__, 2, 3))); + __THROWNL __attribute__ ((__format__ (__printf__, 2, 3))); extern int obstack_vprintf (struct obstack *__restrict __obstack, __const char *__restrict __format, _G_va_list __args) - __THROW __attribute__ ((__format__ (__printf__, 2, 0))); + __THROWNL __attribute__ ((__format__ (__printf__, 2, 0))); #endif /* Use GNU. */ diff --git a/libc/libio/wfileops.c b/libc/libio/wfileops.c index 386b06b79..8f21168fb 100644 --- a/libc/libio/wfileops.c +++ b/libc/libio/wfileops.c @@ -252,7 +252,7 @@ _IO_wfile_underflow (fp) { if (naccbuf != 0) /* There are some bytes in the external buffer but they don't - convert to anything. */ + convert to anything. */ __set_errno (EILSEQ); return WEOF; } @@ -340,7 +340,6 @@ static wint_t _IO_wfile_underflow_mmap (_IO_FILE *fp) { struct _IO_codecvt *cd; - enum __codecvt_result status; const char *read_stop; if (__builtin_expect (fp->_flags & _IO_NO_READS, 0)) @@ -379,12 +378,12 @@ _IO_wfile_underflow_mmap (_IO_FILE *fp) fp->_wide_data->_IO_last_state = fp->_wide_data->_IO_state; fp->_wide_data->_IO_read_base = fp->_wide_data->_IO_read_ptr = fp->_wide_data->_IO_buf_base; - status = (*cd->__codecvt_do_in) (cd, &fp->_wide_data->_IO_state, - fp->_IO_read_ptr, fp->_IO_read_end, - &read_stop, - fp->_wide_data->_IO_read_ptr, - fp->_wide_data->_IO_buf_end, - &fp->_wide_data->_IO_read_end); + (*cd->__codecvt_do_in) (cd, &fp->_wide_data->_IO_state, + fp->_IO_read_ptr, fp->_IO_read_end, + &read_stop, + fp->_wide_data->_IO_read_ptr, + fp->_wide_data->_IO_buf_end, + &fp->_wide_data->_IO_read_end); fp->_IO_read_ptr = (char *) read_stop; @@ -513,9 +512,9 @@ _IO_wfile_sync (fp) else { /* We have to find out the hard way how much to back off. - To do this we determine how much input we needed to - generate the wide characters up to the current reading - position. */ + To do this we determine how much input we needed to + generate the wide characters up to the current reading + position. */ int nread; fp->_wide_data->_IO_state = fp->_wide_data->_IO_last_state; @@ -625,8 +624,8 @@ _IO_wfile_seekoff (fp, offset, dir, mode) case _IO_seek_cur: /* Adjust for read-ahead (bytes is buffer). To do this we must - find out which position in the external buffer corresponds to - the current position in the internal buffer. */ + find out which position in the external buffer corresponds to + the current position in the internal buffer. */ cv = fp->_codecvt; clen = (*cv->__codecvt_do_encoding) (cv); diff --git a/libc/locale/findlocale.c b/libc/locale/findlocale.c index 2fec9a70d..6c888f00c 100644 --- a/libc/locale/findlocale.c +++ b/libc/locale/findlocale.c @@ -258,7 +258,8 @@ _nl_find_locale (const char *locale_path, size_t locale_path_len, } /* Determine whether the user wants transliteration or not. */ - if (modifier != NULL && __strcasecmp (modifier, "TRANSLIT") == 0) + if (modifier != NULL + && __strcasecmp_l (modifier, "TRANSLIT", _nl_C_locobj_ptr) == 0) ((struct __locale_data *) locale_file->data)->use_translit = 1; /* Increment the usage count. */ diff --git a/libc/locale/loadarchive.c b/libc/locale/loadarchive.c index 663202e54..47a6127a5 100644 --- a/libc/locale/loadarchive.c +++ b/libc/locale/loadarchive.c @@ -1,5 +1,5 @@ /* Code to load locale data from the locale archive file. - Copyright (C) 2002, 2003, 2005, 2010 Free Software Foundation, Inc. + Copyright (C) 2002, 2003, 2005, 2010, 2011 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 @@ -203,7 +203,7 @@ _nl_load_locale_from_archive (int category, const char **namep) archmapped = &headmap; /* The archive has never been opened. */ - fd = open_not_cancel_2 (archfname, O_RDONLY|O_LARGEFILE); + fd = open_not_cancel_2 (archfname, O_RDONLY|O_LARGEFILE|O_CLOEXEC); if (fd < 0) /* Cannot open the archive, for whatever reason. */ return NULL; @@ -394,7 +394,8 @@ _nl_load_locale_from_archive (int category, const char **namep) if (fd == -1) { struct stat64 st; - fd = open_not_cancel_2 (archfname, O_RDONLY|O_LARGEFILE); + fd = open_not_cancel_2 (archfname, + O_RDONLY|O_LARGEFILE|O_CLOEXEC); if (fd == -1) /* Cannot open the archive, for whatever reason. */ return NULL; diff --git a/libc/locale/loadlocale.c b/libc/locale/loadlocale.c index 61e6f7f0a..d33a49413 100644 --- a/libc/locale/loadlocale.c +++ b/libc/locale/loadlocale.c @@ -1,5 +1,5 @@ /* Functions to read locale data files. - Copyright (C) 1996-2004, 2005, 2006, 2010 Free Software Foundation, Inc. + Copyright (C) 1996-2004, 2005, 2006, 2010, 2011 Free Software Foundation, Inc. This file is part of the GNU C Library. Contributed by Ulrich Drepper <drepper@cygnus.com>, 1996. @@ -173,7 +173,7 @@ _nl_load_locale (struct loaded_l10nfile *file, int category) file->decided = 1; file->data = NULL; - fd = open_not_cancel_2 (file->filename, O_RDONLY); + fd = open_not_cancel_2 (file->filename, O_RDONLY | O_CLOEXEC); if (__builtin_expect (fd, 0) < 0) /* Cannot open the file. */ return; @@ -201,7 +201,7 @@ _nl_load_locale (struct loaded_l10nfile *file, int category) _nl_category_names.str + _nl_category_name_idxs[category], _nl_category_name_sizes[category] + 1); - fd = open_not_cancel_2 (newp, O_RDONLY); + fd = open_not_cancel_2 (newp, O_RDONLY | O_CLOEXEC); if (__builtin_expect (fd, 0) < 0) return; diff --git a/libc/localedata/ChangeLog b/libc/localedata/ChangeLog index dc2b8a04b..43bd3bf17 100644 --- a/libc/localedata/ChangeLog +++ b/libc/localedata/ChangeLog @@ -1,3 +1,36 @@ +2011-11-17 Ulrich Drepper <drepper@gmail.com> + + * Makefile (charmaps): Not need to filter out any of the VC + directories. + (locales): Likewise. + +2011-11-11 Ulrich Drepper <drepper@gmail.com> + + [BZ #13147] + * locales/de_AT: Use de_DE for LC_NUMERIC. + * locales/es_BO: Use es_ES for LC_MESSAGES and LC_NUMERIC. + * locales/es_CL: Likewise. + * locales/es_CO: Likewise. + * locales/es_DO: Likewise. + * locales/es_EC: Likewise. + * locales/es_GT: Likewise. + * locales/es_HN: Likewise. + * locales/es_MX: Likewise. + * locales/es_NI: Likewise. + * locales/es_PA: Likewise. + * locales/es_PE: Likewise. + * locales/es_PR: Likewise. + * locales/es_PY: Likewise. + * locales/es_SV: Likewise. + * locales/es_UY: Likewise. + * locales/es_VE: Likewise. + * locales/es_ES: Fix LC_NUMERIC. + * locales/es_CR: Use es_ES for LC_MESSAGES. + * locales/fr_BE: Actually use grouping in LC_NUMERIC. + * locales/fr_CA: Use fr_FR for LC_MESSAGES and LC_NUMERIC. + * locales/fr_CH: Use de_CH for LC_NUMERIC. + * locales/fr_LU: Use same grouping in LC_NUMERIC as in LC_MONETARY. + 2011-10-15 Ulrich Drepper <drepper@gmail.com> * Makefile (tests): Add tst-setlocale2: diff --git a/libc/localedata/Makefile b/libc/localedata/Makefile index 6830b1d71..26b80abaf 100644 --- a/libc/localedata/Makefile +++ b/libc/localedata/Makefile @@ -25,13 +25,9 @@ all: # Make this the default target; it will be defined in Rules. include ../option-groups.mak # List with all available character set descriptions. -all-charmaps := $(filter-out $(addprefix charmaps/, CVS RCS SCCS %~), \ - $(wildcard charmaps/[A-I]*) \ - $(wildcard charmaps/[J-Z]*)) +all-charmaps := $(wildcard charmaps/[A-I]*) $(wildcard charmaps/[J-Z]*) -# List with all available character set descriptions. -all-locales := $(filter-out $(addprefix locales/, CVS RCS SCCS %~), \ - $(wildcard locales/*)) +all-locales := $(wildcard locales/*) # If the EGLIBC_LOCALES option group is not enabled, trim the # list of charmap and locale source files. diff --git a/libc/localedata/locales/de_AT b/libc/localedata/locales/de_AT index 4e0b7fb15..b3adf907c 100644 --- a/libc/localedata/locales/de_AT +++ b/libc/localedata/locales/de_AT @@ -78,41 +78,39 @@ n_sign_posn 1 END LC_MONETARY LC_NUMERIC -decimal_point "<U002C>" -thousands_sep "" -grouping 0;0 +copy "de_DE" END LC_NUMERIC LC_TIME abday "<U0053><U006F><U006E>";"<U004D><U006F><U006E>";/ - "<U0044><U0069><U0065>";"<U004D><U0069><U0074>";/ - "<U0044><U006F><U006E>";"<U0046><U0072><U0065>";/ - "<U0053><U0061><U006D>" + "<U0044><U0069><U0065>";"<U004D><U0069><U0074>";/ + "<U0044><U006F><U006E>";"<U0046><U0072><U0065>";/ + "<U0053><U0061><U006D>" day "<U0053><U006F><U006E><U006E><U0074><U0061><U0067>";/ - "<U004D><U006F><U006E><U0074><U0061><U0067>";/ - "<U0044><U0069><U0065><U006E><U0073><U0074><U0061><U0067>";/ - "<U004D><U0069><U0074><U0074><U0077><U006F><U0063><U0068>";/ - "<U0044><U006F><U006E><U006E><U0065><U0072><U0073><U0074><U0061><U0067>";/ - "<U0046><U0072><U0065><U0069><U0074><U0061><U0067>";/ - "<U0053><U0061><U006D><U0073><U0074><U0061><U0067>" + "<U004D><U006F><U006E><U0074><U0061><U0067>";/ + "<U0044><U0069><U0065><U006E><U0073><U0074><U0061><U0067>";/ + "<U004D><U0069><U0074><U0074><U0077><U006F><U0063><U0068>";/ + "<U0044><U006F><U006E><U006E><U0065><U0072><U0073><U0074><U0061><U0067>";/ + "<U0046><U0072><U0065><U0069><U0074><U0061><U0067>";/ + "<U0053><U0061><U006D><U0073><U0074><U0061><U0067>" abmon "<U004A><U00E4><U006E>";"<U0046><U0065><U0062>";/ - "<U004D><U00E4><U0072>";"<U0041><U0070><U0072>";/ - "<U004D><U0061><U0069>";"<U004A><U0075><U006E>";/ - "<U004A><U0075><U006C>";"<U0041><U0075><U0067>";/ - "<U0053><U0065><U0070>";"<U004F><U006B><U0074>";/ - "<U004E><U006F><U0076>";"<U0044><U0065><U007A>" + "<U004D><U00E4><U0072>";"<U0041><U0070><U0072>";/ + "<U004D><U0061><U0069>";"<U004A><U0075><U006E>";/ + "<U004A><U0075><U006C>";"<U0041><U0075><U0067>";/ + "<U0053><U0065><U0070>";"<U004F><U006B><U0074>";/ + "<U004E><U006F><U0076>";"<U0044><U0065><U007A>" mon "<U004A><U00E4><U006E><U006E><U0065><U0072>";/ - "<U0046><U0065><U0062><U0065><U0072>";/ - "<U004D><U00E4><U0072><U007A>";/ - "<U0041><U0070><U0072><U0069><U006C>";/ - "<U004D><U0061><U0069>";/ - "<U004A><U0075><U006E><U0069>";/ - "<U004A><U0075><U006C><U0069>";/ - "<U0041><U0075><U0067><U0075><U0073><U0074>";/ - "<U0053><U0065><U0070><U0074><U0065><U006D><U0062><U0065><U0072>";/ - "<U004F><U006B><U0074><U006F><U0062><U0065><U0072>";/ - "<U004E><U006F><U0076><U0065><U006D><U0062><U0065><U0072>";/ - "<U0044><U0065><U007A><U0065><U006D><U0062><U0065><U0072>" + "<U0046><U0065><U0062><U0065><U0072>";/ + "<U004D><U00E4><U0072><U007A>";/ + "<U0041><U0070><U0072><U0069><U006C>";/ + "<U004D><U0061><U0069>";/ + "<U004A><U0075><U006E><U0069>";/ + "<U004A><U0075><U006C><U0069>";/ + "<U0041><U0075><U0067><U0075><U0073><U0074>";/ + "<U0053><U0065><U0070><U0074><U0065><U006D><U0062><U0065><U0072>";/ + "<U004F><U006B><U0074><U006F><U0062><U0065><U0072>";/ + "<U004E><U006F><U0076><U0065><U006D><U0062><U0065><U0072>";/ + "<U0044><U0065><U007A><U0065><U006D><U0062><U0065><U0072>" d_t_fmt "<U0025><U0061><U0020><U0025><U0064><U0020><U0025><U0062><U0020><U0025><U0059><U0020><U0025><U0054><U0020><U0025><U005A>" d_fmt "<U0025><U0059><U002D><U0025><U006D><U002D><U0025><U0064>" t_fmt "<U0025><U0054>" diff --git a/libc/localedata/locales/es_BO b/libc/localedata/locales/es_BO index c77bb1d5d..69643115f 100644 --- a/libc/localedata/locales/es_BO +++ b/libc/localedata/locales/es_BO @@ -56,8 +56,7 @@ copy "es_ES" END LC_CTYPE LC_MESSAGES -yesexpr "<U005E><U005B><U0073><U0053><U0079><U0059><U005D><U002E><U002A>" -noexpr "<U005E><U005B><U006E><U004E><U005D><U002E><U002A>" +copy "es_ES" END LC_MESSAGES LC_MONETARY @@ -79,41 +78,39 @@ n_sign_posn 1 END LC_MONETARY LC_NUMERIC -decimal_point "<U002C>" -thousands_sep "" -grouping 0;0 +copy "es_ES" END LC_NUMERIC LC_TIME abday "<U0064><U006F><U006D>";"<U006C><U0075><U006E>";/ - "<U006D><U0061><U0072>";"<U006D><U0069><U00E9>";/ - "<U006A><U0075><U0065>";"<U0076><U0069><U0065>";/ - "<U0073><U00E1><U0062>" + "<U006D><U0061><U0072>";"<U006D><U0069><U00E9>";/ + "<U006A><U0075><U0065>";"<U0076><U0069><U0065>";/ + "<U0073><U00E1><U0062>" day "<U0064><U006F><U006D><U0069><U006E><U0067><U006F>";/ - "<U006C><U0075><U006E><U0065><U0073>";/ - "<U006D><U0061><U0072><U0074><U0065><U0073>";/ - "<U006D><U0069><U00E9><U0072><U0063><U006F><U006C><U0065><U0073>";/ - "<U006A><U0075><U0065><U0076><U0065><U0073>";/ - "<U0076><U0069><U0065><U0072><U006E><U0065><U0073>";/ - "<U0073><U00E1><U0062><U0061><U0064><U006F>" + "<U006C><U0075><U006E><U0065><U0073>";/ + "<U006D><U0061><U0072><U0074><U0065><U0073>";/ + "<U006D><U0069><U00E9><U0072><U0063><U006F><U006C><U0065><U0073>";/ + "<U006A><U0075><U0065><U0076><U0065><U0073>";/ + "<U0076><U0069><U0065><U0072><U006E><U0065><U0073>";/ + "<U0073><U00E1><U0062><U0061><U0064><U006F>" abmon "<U0065><U006E><U0065>";"<U0066><U0065><U0062>";/ - "<U006D><U0061><U0072>";"<U0061><U0062><U0072>";/ - "<U006D><U0061><U0079>";"<U006A><U0075><U006E>";/ - "<U006A><U0075><U006C>";"<U0061><U0067><U006F>";/ - "<U0073><U0065><U0070>";"<U006F><U0063><U0074>";/ - "<U006E><U006F><U0076>";"<U0064><U0069><U0063>" + "<U006D><U0061><U0072>";"<U0061><U0062><U0072>";/ + "<U006D><U0061><U0079>";"<U006A><U0075><U006E>";/ + "<U006A><U0075><U006C>";"<U0061><U0067><U006F>";/ + "<U0073><U0065><U0070>";"<U006F><U0063><U0074>";/ + "<U006E><U006F><U0076>";"<U0064><U0069><U0063>" mon "<U0065><U006E><U0065><U0072><U006F>";/ - "<U0066><U0065><U0062><U0072><U0065><U0072><U006F>";/ - "<U006D><U0061><U0072><U007A><U006F>";/ - "<U0061><U0062><U0072><U0069><U006C>";/ - "<U006D><U0061><U0079><U006F>";/ - "<U006A><U0075><U006E><U0069><U006F>";/ - "<U006A><U0075><U006C><U0069><U006F>";/ - "<U0061><U0067><U006F><U0073><U0074><U006F>";/ - "<U0073><U0065><U0070><U0074><U0069><U0065><U006D><U0062><U0072><U0065>";/ - "<U006F><U0063><U0074><U0075><U0062><U0072><U0065>";/ - "<U006E><U006F><U0076><U0069><U0065><U006D><U0062><U0072><U0065>";/ - "<U0064><U0069><U0063><U0069><U0065><U006D><U0062><U0072><U0065>" + "<U0066><U0065><U0062><U0072><U0065><U0072><U006F>";/ + "<U006D><U0061><U0072><U007A><U006F>";/ + "<U0061><U0062><U0072><U0069><U006C>";/ + "<U006D><U0061><U0079><U006F>";/ + "<U006A><U0075><U006E><U0069><U006F>";/ + "<U006A><U0075><U006C><U0069><U006F>";/ + "<U0061><U0067><U006F><U0073><U0074><U006F>";/ + "<U0073><U0065><U0070><U0074><U0069><U0065><U006D><U0062><U0072><U0065>";/ + "<U006F><U0063><U0074><U0075><U0062><U0072><U0065>";/ + "<U006E><U006F><U0076><U0069><U0065><U006D><U0062><U0072><U0065>";/ + "<U0064><U0069><U0063><U0069><U0065><U006D><U0062><U0072><U0065>" d_t_fmt "<U0025><U0061><U0020><U0025><U0064><U0020><U0025><U0062><U0020><U0025><U0059><U0020><U0025><U0054><U0020><U0025><U005A>" d_fmt "<U0025><U0064><U002F><U0025><U006D><U002F><U0025><U0079>" t_fmt "<U0025><U0054>" diff --git a/libc/localedata/locales/es_CL b/libc/localedata/locales/es_CL index ff44fa8c5..fe5b6d95e 100644 --- a/libc/localedata/locales/es_CL +++ b/libc/localedata/locales/es_CL @@ -56,8 +56,7 @@ copy "es_ES" END LC_CTYPE LC_MESSAGES -yesexpr "<U005E><U005B><U0073><U0053><U0079><U0059><U005D><U002E><U002A>" -noexpr "<U005E><U005B><U006E><U004E><U005D><U002E><U002A>" +copy "es_ES" END LC_MESSAGES LC_MONETARY @@ -79,41 +78,39 @@ n_sign_posn 1 END LC_MONETARY LC_NUMERIC -decimal_point "<U002C>" -thousands_sep "" -grouping 0;0 +copy "es_ES" END LC_NUMERIC LC_TIME abday "<U0064><U006F><U006D>";"<U006C><U0075><U006E>";/ - "<U006D><U0061><U0072>";"<U006D><U0069><U00E9>";/ - "<U006A><U0075><U0065>";"<U0076><U0069><U0065>";/ - "<U0073><U00E1><U0062>" + "<U006D><U0061><U0072>";"<U006D><U0069><U00E9>";/ + "<U006A><U0075><U0065>";"<U0076><U0069><U0065>";/ + "<U0073><U00E1><U0062>" day "<U0064><U006F><U006D><U0069><U006E><U0067><U006F>";/ - "<U006C><U0075><U006E><U0065><U0073>";/ - "<U006D><U0061><U0072><U0074><U0065><U0073>";/ - "<U006D><U0069><U00E9><U0072><U0063><U006F><U006C><U0065><U0073>";/ - "<U006A><U0075><U0065><U0076><U0065><U0073>";/ - "<U0076><U0069><U0065><U0072><U006E><U0065><U0073>";/ - "<U0073><U00E1><U0062><U0061><U0064><U006F>" + "<U006C><U0075><U006E><U0065><U0073>";/ + "<U006D><U0061><U0072><U0074><U0065><U0073>";/ + "<U006D><U0069><U00E9><U0072><U0063><U006F><U006C><U0065><U0073>";/ + "<U006A><U0075><U0065><U0076><U0065><U0073>";/ + "<U0076><U0069><U0065><U0072><U006E><U0065><U0073>";/ + "<U0073><U00E1><U0062><U0061><U0064><U006F>" abmon "<U0065><U006E><U0065>";"<U0066><U0065><U0062>";/ - "<U006D><U0061><U0072>";"<U0061><U0062><U0072>";/ - "<U006D><U0061><U0079>";"<U006A><U0075><U006E>";/ - "<U006A><U0075><U006C>";"<U0061><U0067><U006F>";/ - "<U0073><U0065><U0070>";"<U006F><U0063><U0074>";/ - "<U006E><U006F><U0076>";"<U0064><U0069><U0063>" + "<U006D><U0061><U0072>";"<U0061><U0062><U0072>";/ + "<U006D><U0061><U0079>";"<U006A><U0075><U006E>";/ + "<U006A><U0075><U006C>";"<U0061><U0067><U006F>";/ + "<U0073><U0065><U0070>";"<U006F><U0063><U0074>";/ + "<U006E><U006F><U0076>";"<U0064><U0069><U0063>" mon "<U0065><U006E><U0065><U0072><U006F>";/ - "<U0066><U0065><U0062><U0072><U0065><U0072><U006F>";/ - "<U006D><U0061><U0072><U007A><U006F>";/ - "<U0061><U0062><U0072><U0069><U006C>";/ - "<U006D><U0061><U0079><U006F>";/ - "<U006A><U0075><U006E><U0069><U006F>";/ - "<U006A><U0075><U006C><U0069><U006F>";/ - "<U0061><U0067><U006F><U0073><U0074><U006F>";/ - "<U0073><U0065><U0070><U0074><U0069><U0065><U006D><U0062><U0072><U0065>";/ - "<U006F><U0063><U0074><U0075><U0062><U0072><U0065>";/ - "<U006E><U006F><U0076><U0069><U0065><U006D><U0062><U0072><U0065>";/ - "<U0064><U0069><U0063><U0069><U0065><U006D><U0062><U0072><U0065>" + "<U0066><U0065><U0062><U0072><U0065><U0072><U006F>";/ + "<U006D><U0061><U0072><U007A><U006F>";/ + "<U0061><U0062><U0072><U0069><U006C>";/ + "<U006D><U0061><U0079><U006F>";/ + "<U006A><U0075><U006E><U0069><U006F>";/ + "<U006A><U0075><U006C><U0069><U006F>";/ + "<U0061><U0067><U006F><U0073><U0074><U006F>";/ + "<U0073><U0065><U0070><U0074><U0069><U0065><U006D><U0062><U0072><U0065>";/ + "<U006F><U0063><U0074><U0075><U0062><U0072><U0065>";/ + "<U006E><U006F><U0076><U0069><U0065><U006D><U0062><U0072><U0065>";/ + "<U0064><U0069><U0063><U0069><U0065><U006D><U0062><U0072><U0065>" d_t_fmt "<U0025><U0061><U0020><U0025><U0064><U0020><U0025><U0062><U0020><U0025><U0059><U0020><U0025><U0054><U0020><U0025><U005A>" d_fmt "<U0025><U0064><U002F><U0025><U006D><U002F><U0025><U0079>" t_fmt "<U0025><U0054>" diff --git a/libc/localedata/locales/es_CO b/libc/localedata/locales/es_CO index 4c1de136b..5db5d6dcf 100644 --- a/libc/localedata/locales/es_CO +++ b/libc/localedata/locales/es_CO @@ -56,8 +56,7 @@ copy "es_ES" END LC_CTYPE LC_MESSAGES -yesexpr "<U005E><U005B><U0073><U0053><U0079><U0059><U005D><U002E><U002A>" -noexpr "<U005E><U005B><U006E><U004E><U005D><U002E><U002A>" +copy "es_ES" END LC_MESSAGES LC_MONETARY @@ -79,41 +78,39 @@ n_sign_posn 1 END LC_MONETARY LC_NUMERIC -decimal_point "<U002C>" -thousands_sep "" -grouping 0;0 +copy "es_ES" END LC_NUMERIC LC_TIME abday "<U0064><U006F><U006D>";"<U006C><U0075><U006E>";/ - "<U006D><U0061><U0072>";"<U006D><U0069><U00E9>";/ - "<U006A><U0075><U0065>";"<U0076><U0069><U0065>";/ - "<U0073><U00E1><U0062>" + "<U006D><U0061><U0072>";"<U006D><U0069><U00E9>";/ + "<U006A><U0075><U0065>";"<U0076><U0069><U0065>";/ + "<U0073><U00E1><U0062>" day "<U0064><U006F><U006D><U0069><U006E><U0067><U006F>";/ - "<U006C><U0075><U006E><U0065><U0073>";/ - "<U006D><U0061><U0072><U0074><U0065><U0073>";/ - "<U006D><U0069><U00E9><U0072><U0063><U006F><U006C><U0065><U0073>";/ - "<U006A><U0075><U0065><U0076><U0065><U0073>";/ - "<U0076><U0069><U0065><U0072><U006E><U0065><U0073>";/ - "<U0073><U00E1><U0062><U0061><U0064><U006F>" + "<U006C><U0075><U006E><U0065><U0073>";/ + "<U006D><U0061><U0072><U0074><U0065><U0073>";/ + "<U006D><U0069><U00E9><U0072><U0063><U006F><U006C><U0065><U0073>";/ + "<U006A><U0075><U0065><U0076><U0065><U0073>";/ + "<U0076><U0069><U0065><U0072><U006E><U0065><U0073>";/ + "<U0073><U00E1><U0062><U0061><U0064><U006F>" abmon "<U0065><U006E><U0065>";"<U0066><U0065><U0062>";/ - "<U006D><U0061><U0072>";"<U0061><U0062><U0072>";/ - "<U006D><U0061><U0079>";"<U006A><U0075><U006E>";/ - "<U006A><U0075><U006C>";"<U0061><U0067><U006F>";/ - "<U0073><U0065><U0070>";"<U006F><U0063><U0074>";/ - "<U006E><U006F><U0076>";"<U0064><U0069><U0063>" + "<U006D><U0061><U0072>";"<U0061><U0062><U0072>";/ + "<U006D><U0061><U0079>";"<U006A><U0075><U006E>";/ + "<U006A><U0075><U006C>";"<U0061><U0067><U006F>";/ + "<U0073><U0065><U0070>";"<U006F><U0063><U0074>";/ + "<U006E><U006F><U0076>";"<U0064><U0069><U0063>" mon "<U0065><U006E><U0065><U0072><U006F>";/ - "<U0066><U0065><U0062><U0072><U0065><U0072><U006F>";/ - "<U006D><U0061><U0072><U007A><U006F>";/ - "<U0061><U0062><U0072><U0069><U006C>";/ - "<U006D><U0061><U0079><U006F>";/ - "<U006A><U0075><U006E><U0069><U006F>";/ - "<U006A><U0075><U006C><U0069><U006F>";/ - "<U0061><U0067><U006F><U0073><U0074><U006F>";/ - "<U0073><U0065><U0070><U0074><U0069><U0065><U006D><U0062><U0072><U0065>";/ - "<U006F><U0063><U0074><U0075><U0062><U0072><U0065>";/ - "<U006E><U006F><U0076><U0069><U0065><U006D><U0062><U0072><U0065>";/ - "<U0064><U0069><U0063><U0069><U0065><U006D><U0062><U0072><U0065>" + "<U0066><U0065><U0062><U0072><U0065><U0072><U006F>";/ + "<U006D><U0061><U0072><U007A><U006F>";/ + "<U0061><U0062><U0072><U0069><U006C>";/ + "<U006D><U0061><U0079><U006F>";/ + "<U006A><U0075><U006E><U0069><U006F>";/ + "<U006A><U0075><U006C><U0069><U006F>";/ + "<U0061><U0067><U006F><U0073><U0074><U006F>";/ + "<U0073><U0065><U0070><U0074><U0069><U0065><U006D><U0062><U0072><U0065>";/ + "<U006F><U0063><U0074><U0075><U0062><U0072><U0065>";/ + "<U006E><U006F><U0076><U0069><U0065><U006D><U0062><U0072><U0065>";/ + "<U0064><U0069><U0063><U0069><U0065><U006D><U0062><U0072><U0065>" d_t_fmt "<U0025><U0061><U0020><U0025><U0064><U0020><U0025><U0062><U0020><U0025><U0059><U0020><U0025><U0054><U0020><U0025><U005A>" d_fmt "<U0025><U0064><U002F><U0025><U006D><U002F><U0025><U0079>" t_fmt "<U0025><U0054>" diff --git a/libc/localedata/locales/es_CR b/libc/localedata/locales/es_CR index 6cff56062..f998c8624 100644 --- a/libc/localedata/locales/es_CR +++ b/libc/localedata/locales/es_CR @@ -47,8 +47,7 @@ copy "es_ES" END LC_CTYPE LC_MESSAGES -yesexpr "<U005E><U005B><U0073><U0053><U0079><U0059><U005D><U002E><U002A>" -noexpr "<U005E><U005B><U006E><U004E><U005D><U002E><U002A>" +copy "es_ES" END LC_MESSAGES LC_MONETARY @@ -79,34 +78,34 @@ END LC_NUMERIC LC_TIME abday "<U0064><U006F><U006D>";"<U006C><U0075><U006E>";/ - "<U006D><U0061><U0072>";"<U006D><U0069><U00E9>";/ - "<U006A><U0075><U0065>";"<U0076><U0069><U0065>";/ - "<U0073><U00E1><U0062>" + "<U006D><U0061><U0072>";"<U006D><U0069><U00E9>";/ + "<U006A><U0075><U0065>";"<U0076><U0069><U0065>";/ + "<U0073><U00E1><U0062>" day "<U0064><U006F><U006D><U0069><U006E><U0067><U006F>";/ - "<U006C><U0075><U006E><U0065><U0073>";/ - "<U006D><U0061><U0072><U0074><U0065><U0073>";/ - "<U006D><U0069><U00E9><U0072><U0063><U006F><U006C><U0065><U0073>";/ - "<U006A><U0075><U0065><U0076><U0065><U0073>";/ - "<U0076><U0069><U0065><U0072><U006E><U0065><U0073>";/ - "<U0073><U00E1><U0062><U0061><U0064><U006F>" + "<U006C><U0075><U006E><U0065><U0073>";/ + "<U006D><U0061><U0072><U0074><U0065><U0073>";/ + "<U006D><U0069><U00E9><U0072><U0063><U006F><U006C><U0065><U0073>";/ + "<U006A><U0075><U0065><U0076><U0065><U0073>";/ + "<U0076><U0069><U0065><U0072><U006E><U0065><U0073>";/ + "<U0073><U00E1><U0062><U0061><U0064><U006F>" abmon "<U0065><U006E><U0065>";"<U0066><U0065><U0062>";/ - "<U006D><U0061><U0072>";"<U0061><U0062><U0072>";/ - "<U006D><U0061><U0079>";"<U006A><U0075><U006E>";/ - "<U006A><U0075><U006C>";"<U0061><U0067><U006F>";/ - "<U0073><U0065><U0070>";"<U006F><U0063><U0074>";/ - "<U006E><U006F><U0076>";"<U0064><U0069><U0063>" + "<U006D><U0061><U0072>";"<U0061><U0062><U0072>";/ + "<U006D><U0061><U0079>";"<U006A><U0075><U006E>";/ + "<U006A><U0075><U006C>";"<U0061><U0067><U006F>";/ + "<U0073><U0065><U0070>";"<U006F><U0063><U0074>";/ + "<U006E><U006F><U0076>";"<U0064><U0069><U0063>" mon "<U0065><U006E><U0065><U0072><U006F>";/ - "<U0066><U0065><U0062><U0072><U0065><U0072><U006F>";/ - "<U006D><U0061><U0072><U007A><U006F>";/ - "<U0061><U0062><U0072><U0069><U006C>";/ - "<U006D><U0061><U0079><U006F>";/ - "<U006A><U0075><U006E><U0069><U006F>";/ - "<U006A><U0075><U006C><U0069><U006F>";/ - "<U0061><U0067><U006F><U0073><U0074><U006F>";/ - "<U0073><U0065><U0070><U0074><U0069><U0065><U006D><U0062><U0072><U0065>";/ - "<U006F><U0063><U0074><U0075><U0062><U0072><U0065>";/ - "<U006E><U006F><U0076><U0069><U0065><U006D><U0062><U0072><U0065>";/ - "<U0064><U0069><U0063><U0069><U0065><U006D><U0062><U0072><U0065>" + "<U0066><U0065><U0062><U0072><U0065><U0072><U006F>";/ + "<U006D><U0061><U0072><U007A><U006F>";/ + "<U0061><U0062><U0072><U0069><U006C>";/ + "<U006D><U0061><U0079><U006F>";/ + "<U006A><U0075><U006E><U0069><U006F>";/ + "<U006A><U0075><U006C><U0069><U006F>";/ + "<U0061><U0067><U006F><U0073><U0074><U006F>";/ + "<U0073><U0065><U0070><U0074><U0069><U0065><U006D><U0062><U0072><U0065>";/ + "<U006F><U0063><U0074><U0075><U0062><U0072><U0065>";/ + "<U006E><U006F><U0076><U0069><U0065><U006D><U0062><U0072><U0065>";/ + "<U0064><U0069><U0063><U0069><U0065><U006D><U0062><U0072><U0065>" d_t_fmt "<U0025><U0061><U0020><U0025><U0064><U0020><U0025><U0062><U0020><U0025><U0059><U0020><U0025><U0054><U0020><U0025><U005A>" d_fmt "<U0025><U0064><U002F><U0025><U006D><U002F><U0025><U0059>" t_fmt "<U0025><U0054>" diff --git a/libc/localedata/locales/es_DO b/libc/localedata/locales/es_DO index fcd0f9e5a..7cf54cf3a 100644 --- a/libc/localedata/locales/es_DO +++ b/libc/localedata/locales/es_DO @@ -56,8 +56,7 @@ copy "es_ES" END LC_CTYPE LC_MESSAGES -yesexpr "<U005E><U005B><U0073><U0053><U0079><U0059><U005D><U002E><U002A>" -noexpr "<U005E><U005B><U006E><U004E><U005D><U002E><U002A>" +copy "es_ES" END LC_MESSAGES LC_MONETARY @@ -79,41 +78,39 @@ n_sign_posn 1 END LC_MONETARY LC_NUMERIC -decimal_point "<U002E>" -thousands_sep "" -grouping 0;0 +copy "es_ES" END LC_NUMERIC LC_TIME abday "<U0064><U006F><U006D>";"<U006C><U0075><U006E>";/ - "<U006D><U0061><U0072>";"<U006D><U0069><U00E9>";/ - "<U006A><U0075><U0065>";"<U0076><U0069><U0065>";/ - "<U0073><U00E1><U0062>" + "<U006D><U0061><U0072>";"<U006D><U0069><U00E9>";/ + "<U006A><U0075><U0065>";"<U0076><U0069><U0065>";/ + "<U0073><U00E1><U0062>" day "<U0064><U006F><U006D><U0069><U006E><U0067><U006F>";/ - "<U006C><U0075><U006E><U0065><U0073>";/ - "<U006D><U0061><U0072><U0074><U0065><U0073>";/ - "<U006D><U0069><U00E9><U0072><U0063><U006F><U006C><U0065><U0073>";/ - "<U006A><U0075><U0065><U0076><U0065><U0073>";/ - "<U0076><U0069><U0065><U0072><U006E><U0065><U0073>";/ - "<U0073><U00E1><U0062><U0061><U0064><U006F>" + "<U006C><U0075><U006E><U0065><U0073>";/ + "<U006D><U0061><U0072><U0074><U0065><U0073>";/ + "<U006D><U0069><U00E9><U0072><U0063><U006F><U006C><U0065><U0073>";/ + "<U006A><U0075><U0065><U0076><U0065><U0073>";/ + "<U0076><U0069><U0065><U0072><U006E><U0065><U0073>";/ + "<U0073><U00E1><U0062><U0061><U0064><U006F>" abmon "<U0065><U006E><U0065>";"<U0066><U0065><U0062>";/ - "<U006D><U0061><U0072>";"<U0061><U0062><U0072>";/ - "<U006D><U0061><U0079>";"<U006A><U0075><U006E>";/ - "<U006A><U0075><U006C>";"<U0061><U0067><U006F>";/ - "<U0073><U0065><U0070>";"<U006F><U0063><U0074>";/ - "<U006E><U006F><U0076>";"<U0064><U0069><U0063>" + "<U006D><U0061><U0072>";"<U0061><U0062><U0072>";/ + "<U006D><U0061><U0079>";"<U006A><U0075><U006E>";/ + "<U006A><U0075><U006C>";"<U0061><U0067><U006F>";/ + "<U0073><U0065><U0070>";"<U006F><U0063><U0074>";/ + "<U006E><U006F><U0076>";"<U0064><U0069><U0063>" mon "<U0065><U006E><U0065><U0072><U006F>";/ - "<U0066><U0065><U0062><U0072><U0065><U0072><U006F>";/ - "<U006D><U0061><U0072><U007A><U006F>";/ - "<U0061><U0062><U0072><U0069><U006C>";/ - "<U006D><U0061><U0079><U006F>";/ - "<U006A><U0075><U006E><U0069><U006F>";/ - "<U006A><U0075><U006C><U0069><U006F>";/ - "<U0061><U0067><U006F><U0073><U0074><U006F>";/ - "<U0073><U0065><U0070><U0074><U0069><U0065><U006D><U0062><U0072><U0065>";/ - "<U006F><U0063><U0074><U0075><U0062><U0072><U0065>";/ - "<U006E><U006F><U0076><U0069><U0065><U006D><U0062><U0072><U0065>";/ - "<U0064><U0069><U0063><U0069><U0065><U006D><U0062><U0072><U0065>" + "<U0066><U0065><U0062><U0072><U0065><U0072><U006F>";/ + "<U006D><U0061><U0072><U007A><U006F>";/ + "<U0061><U0062><U0072><U0069><U006C>";/ + "<U006D><U0061><U0079><U006F>";/ + "<U006A><U0075><U006E><U0069><U006F>";/ + "<U006A><U0075><U006C><U0069><U006F>";/ + "<U0061><U0067><U006F><U0073><U0074><U006F>";/ + "<U0073><U0065><U0070><U0074><U0069><U0065><U006D><U0062><U0072><U0065>";/ + "<U006F><U0063><U0074><U0075><U0062><U0072><U0065>";/ + "<U006E><U006F><U0076><U0069><U0065><U006D><U0062><U0072><U0065>";/ + "<U0064><U0069><U0063><U0069><U0065><U006D><U0062><U0072><U0065>" d_t_fmt "<U0025><U0061><U0020><U0025><U0064><U0020><U0025><U0062><U0020><U0025><U0059><U0020><U0025><U0054><U0020><U0025><U005A>" d_fmt "<U0025><U0064><U002F><U0025><U006D><U002F><U0025><U0079>" t_fmt "<U0025><U0054>" diff --git a/libc/localedata/locales/es_EC b/libc/localedata/locales/es_EC index b8d4c8ff3..480f6ef78 100644 --- a/libc/localedata/locales/es_EC +++ b/libc/localedata/locales/es_EC @@ -56,8 +56,7 @@ copy "es_ES" END LC_CTYPE LC_MESSAGES -yesexpr "<U005E><U005B><U0073><U0053><U0079><U0059><U005D><U002E><U002A>" -noexpr "<U005E><U005B><U006E><U004E><U005D><U002E><U002A>" +copy "es_ES" END LC_MESSAGES LC_MONETARY @@ -79,41 +78,39 @@ n_sign_posn 1 END LC_MONETARY LC_NUMERIC -decimal_point "<U002C>" -thousands_sep "" -grouping 0;0 +copy "es_ES" END LC_NUMERIC LC_TIME abday "<U0064><U006F><U006D>";"<U006C><U0075><U006E>";/ - "<U006D><U0061><U0072>";"<U006D><U0069><U00E9>";/ - "<U006A><U0075><U0065>";"<U0076><U0069><U0065>";/ - "<U0073><U00E1><U0062>" + "<U006D><U0061><U0072>";"<U006D><U0069><U00E9>";/ + "<U006A><U0075><U0065>";"<U0076><U0069><U0065>";/ + "<U0073><U00E1><U0062>" day "<U0064><U006F><U006D><U0069><U006E><U0067><U006F>";/ - "<U006C><U0075><U006E><U0065><U0073>";/ - "<U006D><U0061><U0072><U0074><U0065><U0073>";/ - "<U006D><U0069><U00E9><U0072><U0063><U006F><U006C><U0065><U0073>";/ - "<U006A><U0075><U0065><U0076><U0065><U0073>";/ - "<U0076><U0069><U0065><U0072><U006E><U0065><U0073>";/ - "<U0073><U00E1><U0062><U0061><U0064><U006F>" + "<U006C><U0075><U006E><U0065><U0073>";/ + "<U006D><U0061><U0072><U0074><U0065><U0073>";/ + "<U006D><U0069><U00E9><U0072><U0063><U006F><U006C><U0065><U0073>";/ + "<U006A><U0075><U0065><U0076><U0065><U0073>";/ + "<U0076><U0069><U0065><U0072><U006E><U0065><U0073>";/ + "<U0073><U00E1><U0062><U0061><U0064><U006F>" abmon "<U0065><U006E><U0065>";"<U0066><U0065><U0062>";/ - "<U006D><U0061><U0072>";"<U0061><U0062><U0072>";/ - "<U006D><U0061><U0079>";"<U006A><U0075><U006E>";/ - "<U006A><U0075><U006C>";"<U0061><U0067><U006F>";/ - "<U0073><U0065><U0070>";"<U006F><U0063><U0074>";/ - "<U006E><U006F><U0076>";"<U0064><U0069><U0063>" + "<U006D><U0061><U0072>";"<U0061><U0062><U0072>";/ + "<U006D><U0061><U0079>";"<U006A><U0075><U006E>";/ + "<U006A><U0075><U006C>";"<U0061><U0067><U006F>";/ + "<U0073><U0065><U0070>";"<U006F><U0063><U0074>";/ + "<U006E><U006F><U0076>";"<U0064><U0069><U0063>" mon "<U0065><U006E><U0065><U0072><U006F>";/ - "<U0066><U0065><U0062><U0072><U0065><U0072><U006F>";/ - "<U006D><U0061><U0072><U007A><U006F>";/ - "<U0061><U0062><U0072><U0069><U006C>";/ - "<U006D><U0061><U0079><U006F>";/ - "<U006A><U0075><U006E><U0069><U006F>";/ - "<U006A><U0075><U006C><U0069><U006F>";/ - "<U0061><U0067><U006F><U0073><U0074><U006F>";/ - "<U0073><U0065><U0070><U0074><U0069><U0065><U006D><U0062><U0072><U0065>";/ - "<U006F><U0063><U0074><U0075><U0062><U0072><U0065>";/ - "<U006E><U006F><U0076><U0069><U0065><U006D><U0062><U0072><U0065>";/ - "<U0064><U0069><U0063><U0069><U0065><U006D><U0062><U0072><U0065>" + "<U0066><U0065><U0062><U0072><U0065><U0072><U006F>";/ + "<U006D><U0061><U0072><U007A><U006F>";/ + "<U0061><U0062><U0072><U0069><U006C>";/ + "<U006D><U0061><U0079><U006F>";/ + "<U006A><U0075><U006E><U0069><U006F>";/ + "<U006A><U0075><U006C><U0069><U006F>";/ + "<U0061><U0067><U006F><U0073><U0074><U006F>";/ + "<U0073><U0065><U0070><U0074><U0069><U0065><U006D><U0062><U0072><U0065>";/ + "<U006F><U0063><U0074><U0075><U0062><U0072><U0065>";/ + "<U006E><U006F><U0076><U0069><U0065><U006D><U0062><U0072><U0065>";/ + "<U0064><U0069><U0063><U0069><U0065><U006D><U0062><U0072><U0065>" d_t_fmt "<U0025><U0061><U0020><U0025><U0064><U0020><U0025><U0062><U0020><U0025><U0059><U0020><U0025><U0054><U0020><U0025><U005A>" d_fmt "<U0025><U0064><U002F><U0025><U006D><U002F><U0025><U0079>" t_fmt "<U0025><U0054>" diff --git a/libc/localedata/locales/es_ES b/libc/localedata/locales/es_ES index fba412536..fcf90cbdb 100644 --- a/libc/localedata/locales/es_ES +++ b/libc/localedata/locales/es_ES @@ -85,40 +85,40 @@ END LC_MONETARY LC_NUMERIC decimal_point "<U002C>" -thousands_sep "" -grouping 0;0 +thousands_sep "<U002E>" +grouping 3;3 END LC_NUMERIC LC_TIME abday "<U0064><U006F><U006D>";"<U006C><U0075><U006E>";/ - "<U006D><U0061><U0072>";"<U006D><U0069><U00E9>";/ - "<U006A><U0075><U0065>";"<U0076><U0069><U0065>";/ - "<U0073><U00E1><U0062>" + "<U006D><U0061><U0072>";"<U006D><U0069><U00E9>";/ + "<U006A><U0075><U0065>";"<U0076><U0069><U0065>";/ + "<U0073><U00E1><U0062>" day "<U0064><U006F><U006D><U0069><U006E><U0067><U006F>";/ - "<U006C><U0075><U006E><U0065><U0073>";/ - "<U006D><U0061><U0072><U0074><U0065><U0073>";/ - "<U006D><U0069><U00E9><U0072><U0063><U006F><U006C><U0065><U0073>";/ - "<U006A><U0075><U0065><U0076><U0065><U0073>";/ - "<U0076><U0069><U0065><U0072><U006E><U0065><U0073>";/ - "<U0073><U00E1><U0062><U0061><U0064><U006F>" + "<U006C><U0075><U006E><U0065><U0073>";/ + "<U006D><U0061><U0072><U0074><U0065><U0073>";/ + "<U006D><U0069><U00E9><U0072><U0063><U006F><U006C><U0065><U0073>";/ + "<U006A><U0075><U0065><U0076><U0065><U0073>";/ + "<U0076><U0069><U0065><U0072><U006E><U0065><U0073>";/ + "<U0073><U00E1><U0062><U0061><U0064><U006F>" abmon "<U0065><U006E><U0065>";"<U0066><U0065><U0062>";/ - "<U006D><U0061><U0072>";"<U0061><U0062><U0072>";/ - "<U006D><U0061><U0079>";"<U006A><U0075><U006E>";/ - "<U006A><U0075><U006C>";"<U0061><U0067><U006F>";/ - "<U0073><U0065><U0070>";"<U006F><U0063><U0074>";/ - "<U006E><U006F><U0076>";"<U0064><U0069><U0063>" + "<U006D><U0061><U0072>";"<U0061><U0062><U0072>";/ + "<U006D><U0061><U0079>";"<U006A><U0075><U006E>";/ + "<U006A><U0075><U006C>";"<U0061><U0067><U006F>";/ + "<U0073><U0065><U0070>";"<U006F><U0063><U0074>";/ + "<U006E><U006F><U0076>";"<U0064><U0069><U0063>" mon "<U0065><U006E><U0065><U0072><U006F>";/ - "<U0066><U0065><U0062><U0072><U0065><U0072><U006F>";/ - "<U006D><U0061><U0072><U007A><U006F>";/ - "<U0061><U0062><U0072><U0069><U006C>";/ - "<U006D><U0061><U0079><U006F>";/ - "<U006A><U0075><U006E><U0069><U006F>";/ - "<U006A><U0075><U006C><U0069><U006F>";/ - "<U0061><U0067><U006F><U0073><U0074><U006F>";/ - "<U0073><U0065><U0070><U0074><U0069><U0065><U006D><U0062><U0072><U0065>";/ - "<U006F><U0063><U0074><U0075><U0062><U0072><U0065>";/ - "<U006E><U006F><U0076><U0069><U0065><U006D><U0062><U0072><U0065>";/ - "<U0064><U0069><U0063><U0069><U0065><U006D><U0062><U0072><U0065>" + "<U0066><U0065><U0062><U0072><U0065><U0072><U006F>";/ + "<U006D><U0061><U0072><U007A><U006F>";/ + "<U0061><U0062><U0072><U0069><U006C>";/ + "<U006D><U0061><U0079><U006F>";/ + "<U006A><U0075><U006E><U0069><U006F>";/ + "<U006A><U0075><U006C><U0069><U006F>";/ + "<U0061><U0067><U006F><U0073><U0074><U006F>";/ + "<U0073><U0065><U0070><U0074><U0069><U0065><U006D><U0062><U0072><U0065>";/ + "<U006F><U0063><U0074><U0075><U0062><U0072><U0065>";/ + "<U006E><U006F><U0076><U0069><U0065><U006D><U0062><U0072><U0065>";/ + "<U0064><U0069><U0063><U0069><U0065><U006D><U0062><U0072><U0065>" d_t_fmt "<U0025><U0061><U0020><U0025><U0064><U0020><U0025><U0062><U0020><U0025><U0059><U0020><U0025><U0054><U0020><U0025><U005A>" d_fmt "<U0025><U0064><U002F><U0025><U006D><U002F><U0025><U0079>" t_fmt "<U0025><U0054>" diff --git a/libc/localedata/locales/es_GT b/libc/localedata/locales/es_GT index 455b076c4..49d369f74 100644 --- a/libc/localedata/locales/es_GT +++ b/libc/localedata/locales/es_GT @@ -55,8 +55,7 @@ copy "es_ES" END LC_CTYPE LC_MESSAGES -yesexpr "<U005E><U005B><U0073><U0053><U0079><U0059><U005D><U002E><U002A>" -noexpr "<U005E><U005B><U006E><U004E><U005D><U002E><U002A>" +copy "es_ES" END LC_MESSAGES LC_MONETARY @@ -78,9 +77,7 @@ n_sign_posn 1 END LC_MONETARY LC_NUMERIC -decimal_point "<U002E>" -thousands_sep "" -grouping 0;0 +copy "es_ES" END LC_NUMERIC LC_TIME diff --git a/libc/localedata/locales/es_HN b/libc/localedata/locales/es_HN index 53892b4c5..a80918846 100644 --- a/libc/localedata/locales/es_HN +++ b/libc/localedata/locales/es_HN @@ -56,8 +56,7 @@ copy "es_ES" END LC_CTYPE LC_MESSAGES -yesexpr "<U005E><U005B><U0073><U0053><U0079><U0059><U005D><U002E><U002A>" -noexpr "<U005E><U005B><U006E><U004E><U005D><U002E><U002A>" +copy "es_ES" END LC_MESSAGES LC_MONETARY @@ -79,41 +78,39 @@ n_sign_posn 1 END LC_MONETARY LC_NUMERIC -decimal_point "<U002E>" -thousands_sep "" -grouping 0;0 +copy "es_ES" END LC_NUMERIC LC_TIME abday "<U0064><U006F><U006D>";"<U006C><U0075><U006E>";/ - "<U006D><U0061><U0072>";"<U006D><U0069><U00E9>";/ - "<U006A><U0075><U0065>";"<U0076><U0069><U0065>";/ - "<U0073><U00E1><U0062>" + "<U006D><U0061><U0072>";"<U006D><U0069><U00E9>";/ + "<U006A><U0075><U0065>";"<U0076><U0069><U0065>";/ + "<U0073><U00E1><U0062>" day "<U0064><U006F><U006D><U0069><U006E><U0067><U006F>";/ - "<U006C><U0075><U006E><U0065><U0073>";/ - "<U006D><U0061><U0072><U0074><U0065><U0073>";/ - "<U006D><U0069><U00E9><U0072><U0063><U006F><U006C><U0065><U0073>";/ - "<U006A><U0075><U0065><U0076><U0065><U0073>";/ - "<U0076><U0069><U0065><U0072><U006E><U0065><U0073>";/ - "<U0073><U00E1><U0062><U0061><U0064><U006F>" + "<U006C><U0075><U006E><U0065><U0073>";/ + "<U006D><U0061><U0072><U0074><U0065><U0073>";/ + "<U006D><U0069><U00E9><U0072><U0063><U006F><U006C><U0065><U0073>";/ + "<U006A><U0075><U0065><U0076><U0065><U0073>";/ + "<U0076><U0069><U0065><U0072><U006E><U0065><U0073>";/ + "<U0073><U00E1><U0062><U0061><U0064><U006F>" abmon "<U0065><U006E><U0065>";"<U0066><U0065><U0062>";/ - "<U006D><U0061><U0072>";"<U0061><U0062><U0072>";/ - "<U006D><U0061><U0079>";"<U006A><U0075><U006E>";/ - "<U006A><U0075><U006C>";"<U0061><U0067><U006F>";/ - "<U0073><U0065><U0070>";"<U006F><U0063><U0074>";/ - "<U006E><U006F><U0076>";"<U0064><U0069><U0063>" + "<U006D><U0061><U0072>";"<U0061><U0062><U0072>";/ + "<U006D><U0061><U0079>";"<U006A><U0075><U006E>";/ + "<U006A><U0075><U006C>";"<U0061><U0067><U006F>";/ + "<U0073><U0065><U0070>";"<U006F><U0063><U0074>";/ + "<U006E><U006F><U0076>";"<U0064><U0069><U0063>" mon "<U0065><U006E><U0065><U0072><U006F>";/ - "<U0066><U0065><U0062><U0072><U0065><U0072><U006F>";/ - "<U006D><U0061><U0072><U007A><U006F>";/ - "<U0061><U0062><U0072><U0069><U006C>";/ - "<U006D><U0061><U0079><U006F>";/ - "<U006A><U0075><U006E><U0069><U006F>";/ - "<U006A><U0075><U006C><U0069><U006F>";/ - "<U0061><U0067><U006F><U0073><U0074><U006F>";/ - "<U0073><U0065><U0070><U0074><U0069><U0065><U006D><U0062><U0072><U0065>";/ - "<U006F><U0063><U0074><U0075><U0062><U0072><U0065>";/ - "<U006E><U006F><U0076><U0069><U0065><U006D><U0062><U0072><U0065>";/ - "<U0064><U0069><U0063><U0069><U0065><U006D><U0062><U0072><U0065>" + "<U0066><U0065><U0062><U0072><U0065><U0072><U006F>";/ + "<U006D><U0061><U0072><U007A><U006F>";/ + "<U0061><U0062><U0072><U0069><U006C>";/ + "<U006D><U0061><U0079><U006F>";/ + "<U006A><U0075><U006E><U0069><U006F>";/ + "<U006A><U0075><U006C><U0069><U006F>";/ + "<U0061><U0067><U006F><U0073><U0074><U006F>";/ + "<U0073><U0065><U0070><U0074><U0069><U0065><U006D><U0062><U0072><U0065>";/ + "<U006F><U0063><U0074><U0075><U0062><U0072><U0065>";/ + "<U006E><U006F><U0076><U0069><U0065><U006D><U0062><U0072><U0065>";/ + "<U0064><U0069><U0063><U0069><U0065><U006D><U0062><U0072><U0065>" d_t_fmt "<U0025><U0061><U0020><U0025><U0064><U0020><U0025><U0062><U0020><U0025><U0059><U0020><U0025><U0054><U0020><U0025><U005A>" d_fmt "<U0025><U0064><U002F><U0025><U006D><U002F><U0025><U0079>" t_fmt "<U0025><U0054>" diff --git a/libc/localedata/locales/es_MX b/libc/localedata/locales/es_MX index 91dac23d8..7a1cccc96 100644 --- a/libc/localedata/locales/es_MX +++ b/libc/localedata/locales/es_MX @@ -56,8 +56,7 @@ copy "es_ES" END LC_CTYPE LC_MESSAGES -yesexpr "<U005E><U005B><U0073><U0053><U0079><U0059><U005D><U002E><U002A>" -noexpr "<U005E><U005B><U006E><U004E><U005D><U002E><U002A>" +copy "es_ES" END LC_MESSAGES LC_MONETARY @@ -79,41 +78,39 @@ n_sign_posn 1 END LC_MONETARY LC_NUMERIC -decimal_point "<U002E>" -thousands_sep "" -grouping 0;0 +copy "es_ES" END LC_NUMERIC LC_TIME abday "<U0064><U006F><U006D>";"<U006C><U0075><U006E>";/ - "<U006D><U0061><U0072>";"<U006D><U0069><U00E9>";/ - "<U006A><U0075><U0065>";"<U0076><U0069><U0065>";/ - "<U0073><U00E1><U0062>" + "<U006D><U0061><U0072>";"<U006D><U0069><U00E9>";/ + "<U006A><U0075><U0065>";"<U0076><U0069><U0065>";/ + "<U0073><U00E1><U0062>" day "<U0064><U006F><U006D><U0069><U006E><U0067><U006F>";/ - "<U006C><U0075><U006E><U0065><U0073>";/ - "<U006D><U0061><U0072><U0074><U0065><U0073>";/ - "<U006D><U0069><U00E9><U0072><U0063><U006F><U006C><U0065><U0073>";/ - "<U006A><U0075><U0065><U0076><U0065><U0073>";/ - "<U0076><U0069><U0065><U0072><U006E><U0065><U0073>";/ - "<U0073><U00E1><U0062><U0061><U0064><U006F>" + "<U006C><U0075><U006E><U0065><U0073>";/ + "<U006D><U0061><U0072><U0074><U0065><U0073>";/ + "<U006D><U0069><U00E9><U0072><U0063><U006F><U006C><U0065><U0073>";/ + "<U006A><U0075><U0065><U0076><U0065><U0073>";/ + "<U0076><U0069><U0065><U0072><U006E><U0065><U0073>";/ + "<U0073><U00E1><U0062><U0061><U0064><U006F>" abmon "<U0065><U006E><U0065>";"<U0066><U0065><U0062>";/ - "<U006D><U0061><U0072>";"<U0061><U0062><U0072>";/ - "<U006D><U0061><U0079>";"<U006A><U0075><U006E>";/ - "<U006A><U0075><U006C>";"<U0061><U0067><U006F>";/ - "<U0073><U0065><U0070>";"<U006F><U0063><U0074>";/ - "<U006E><U006F><U0076>";"<U0064><U0069><U0063>" + "<U006D><U0061><U0072>";"<U0061><U0062><U0072>";/ + "<U006D><U0061><U0079>";"<U006A><U0075><U006E>";/ + "<U006A><U0075><U006C>";"<U0061><U0067><U006F>";/ + "<U0073><U0065><U0070>";"<U006F><U0063><U0074>";/ + "<U006E><U006F><U0076>";"<U0064><U0069><U0063>" mon "<U0065><U006E><U0065><U0072><U006F>";/ - "<U0066><U0065><U0062><U0072><U0065><U0072><U006F>";/ - "<U006D><U0061><U0072><U007A><U006F>";/ - "<U0061><U0062><U0072><U0069><U006C>";/ - "<U006D><U0061><U0079><U006F>";/ - "<U006A><U0075><U006E><U0069><U006F>";/ - "<U006A><U0075><U006C><U0069><U006F>";/ - "<U0061><U0067><U006F><U0073><U0074><U006F>";/ - "<U0073><U0065><U0070><U0074><U0069><U0065><U006D><U0062><U0072><U0065>";/ - "<U006F><U0063><U0074><U0075><U0062><U0072><U0065>";/ - "<U006E><U006F><U0076><U0069><U0065><U006D><U0062><U0072><U0065>";/ - "<U0064><U0069><U0063><U0069><U0065><U006D><U0062><U0072><U0065>" + "<U0066><U0065><U0062><U0072><U0065><U0072><U006F>";/ + "<U006D><U0061><U0072><U007A><U006F>";/ + "<U0061><U0062><U0072><U0069><U006C>";/ + "<U006D><U0061><U0079><U006F>";/ + "<U006A><U0075><U006E><U0069><U006F>";/ + "<U006A><U0075><U006C><U0069><U006F>";/ + "<U0061><U0067><U006F><U0073><U0074><U006F>";/ + "<U0073><U0065><U0070><U0074><U0069><U0065><U006D><U0062><U0072><U0065>";/ + "<U006F><U0063><U0074><U0075><U0062><U0072><U0065>";/ + "<U006E><U006F><U0076><U0069><U0065><U006D><U0062><U0072><U0065>";/ + "<U0064><U0069><U0063><U0069><U0065><U006D><U0062><U0072><U0065>" d_t_fmt "<U0025><U0061><U0020><U0025><U0064><U0020><U0025><U0062><U0020><U0025><U0059><U0020><U0025><U0054><U0020><U0025><U005A>" d_fmt "<U0025><U0064><U002F><U0025><U006D><U002F><U0025><U0079>" t_fmt "<U0025><U0054>" diff --git a/libc/localedata/locales/es_NI b/libc/localedata/locales/es_NI index c0c395fe0..207f2dabf 100644 --- a/libc/localedata/locales/es_NI +++ b/libc/localedata/locales/es_NI @@ -47,8 +47,7 @@ copy "es_ES" END LC_CTYPE LC_MESSAGES -yesexpr "<U005E><U005B><U0073><U0053><U0079><U0059><U005D><U002E><U002A>" -noexpr "<U005E><U005B><U006E><U004E><U005D><U002E><U002A>" +copy "es_ES" END LC_MESSAGES LC_MONETARY @@ -70,9 +69,7 @@ n_sign_posn 1 END LC_MONETARY LC_NUMERIC -decimal_point "<U002E>" -thousands_sep "" -grouping 0;0 +copy "es_ES" END LC_NUMERIC LC_TIME diff --git a/libc/localedata/locales/es_PA b/libc/localedata/locales/es_PA index 10d6d8233..ae5cd3a4f 100644 --- a/libc/localedata/locales/es_PA +++ b/libc/localedata/locales/es_PA @@ -56,8 +56,7 @@ copy "es_ES" END LC_CTYPE LC_MESSAGES -yesexpr "<U005E><U005B><U0073><U0053><U0079><U0059><U005D><U002E><U002A>" -noexpr "<U005E><U005B><U006E><U004E><U005D><U002E><U002A>" +copy "es_ES" END LC_MESSAGES LC_MONETARY @@ -79,41 +78,39 @@ n_sign_posn 1 END LC_MONETARY LC_NUMERIC -decimal_point "<U002E>" -thousands_sep "" -grouping 0;0 +copy "es_ES" END LC_NUMERIC LC_TIME abday "<U0064><U006F><U006D>";"<U006C><U0075><U006E>";/ - "<U006D><U0061><U0072>";"<U006D><U0069><U00E9>";/ - "<U006A><U0075><U0065>";"<U0076><U0069><U0065>";/ - "<U0073><U00E1><U0062>" + "<U006D><U0061><U0072>";"<U006D><U0069><U00E9>";/ + "<U006A><U0075><U0065>";"<U0076><U0069><U0065>";/ + "<U0073><U00E1><U0062>" day "<U0064><U006F><U006D><U0069><U006E><U0067><U006F>";/ - "<U006C><U0075><U006E><U0065><U0073>";/ - "<U006D><U0061><U0072><U0074><U0065><U0073>";/ - "<U006D><U0069><U00E9><U0072><U0063><U006F><U006C><U0065><U0073>";/ - "<U006A><U0075><U0065><U0076><U0065><U0073>";/ - "<U0076><U0069><U0065><U0072><U006E><U0065><U0073>";/ - "<U0073><U00E1><U0062><U0061><U0064><U006F>" + "<U006C><U0075><U006E><U0065><U0073>";/ + "<U006D><U0061><U0072><U0074><U0065><U0073>";/ + "<U006D><U0069><U00E9><U0072><U0063><U006F><U006C><U0065><U0073>";/ + "<U006A><U0075><U0065><U0076><U0065><U0073>";/ + "<U0076><U0069><U0065><U0072><U006E><U0065><U0073>";/ + "<U0073><U00E1><U0062><U0061><U0064><U006F>" abmon "<U0065><U006E><U0065>";"<U0066><U0065><U0062>";/ - "<U006D><U0061><U0072>";"<U0061><U0062><U0072>";/ - "<U006D><U0061><U0079>";"<U006A><U0075><U006E>";/ - "<U006A><U0075><U006C>";"<U0061><U0067><U006F>";/ - "<U0073><U0065><U0070>";"<U006F><U0063><U0074>";/ - "<U006E><U006F><U0076>";"<U0064><U0069><U0063>" + "<U006D><U0061><U0072>";"<U0061><U0062><U0072>";/ + "<U006D><U0061><U0079>";"<U006A><U0075><U006E>";/ + "<U006A><U0075><U006C>";"<U0061><U0067><U006F>";/ + "<U0073><U0065><U0070>";"<U006F><U0063><U0074>";/ + "<U006E><U006F><U0076>";"<U0064><U0069><U0063>" mon "<U0065><U006E><U0065><U0072><U006F>";/ - "<U0066><U0065><U0062><U0072><U0065><U0072><U006F>";/ - "<U006D><U0061><U0072><U007A><U006F>";/ - "<U0061><U0062><U0072><U0069><U006C>";/ - "<U006D><U0061><U0079><U006F>";/ - "<U006A><U0075><U006E><U0069><U006F>";/ - "<U006A><U0075><U006C><U0069><U006F>";/ - "<U0061><U0067><U006F><U0073><U0074><U006F>";/ - "<U0073><U0065><U0070><U0074><U0069><U0065><U006D><U0062><U0072><U0065>";/ - "<U006F><U0063><U0074><U0075><U0062><U0072><U0065>";/ - "<U006E><U006F><U0076><U0069><U0065><U006D><U0062><U0072><U0065>";/ - "<U0064><U0069><U0063><U0069><U0065><U006D><U0062><U0072><U0065>" + "<U0066><U0065><U0062><U0072><U0065><U0072><U006F>";/ + "<U006D><U0061><U0072><U007A><U006F>";/ + "<U0061><U0062><U0072><U0069><U006C>";/ + "<U006D><U0061><U0079><U006F>";/ + "<U006A><U0075><U006E><U0069><U006F>";/ + "<U006A><U0075><U006C><U0069><U006F>";/ + "<U0061><U0067><U006F><U0073><U0074><U006F>";/ + "<U0073><U0065><U0070><U0074><U0069><U0065><U006D><U0062><U0072><U0065>";/ + "<U006F><U0063><U0074><U0075><U0062><U0072><U0065>";/ + "<U006E><U006F><U0076><U0069><U0065><U006D><U0062><U0072><U0065>";/ + "<U0064><U0069><U0063><U0069><U0065><U006D><U0062><U0072><U0065>" d_t_fmt "<U0025><U0061><U0020><U0025><U0064><U0020><U0025><U0062><U0020><U0025><U0059><U0020><U0025><U0054><U0020><U0025><U005A>" d_fmt "<U0025><U0064><U002F><U0025><U006D><U002F><U0025><U0079>" t_fmt "<U0025><U0054>" diff --git a/libc/localedata/locales/es_PE b/libc/localedata/locales/es_PE index 634c9272d..da1a64036 100644 --- a/libc/localedata/locales/es_PE +++ b/libc/localedata/locales/es_PE @@ -56,8 +56,7 @@ copy "es_ES" END LC_CTYPE LC_MESSAGES -yesexpr "<U005E><U005B><U0073><U0053><U0079><U0059><U005D><U002E><U002A>" -noexpr "<U005E><U005B><U006E><U004E><U005D><U002E><U002A>" +copy "es_ES" END LC_MESSAGES LC_MONETARY @@ -79,41 +78,39 @@ n_sign_posn 1 END LC_MONETARY LC_NUMERIC -decimal_point "<U002E>" -thousands_sep "" -grouping 0;0 +copy "es_ES" END LC_NUMERIC LC_TIME abday "<U0064><U006F><U006D>";"<U006C><U0075><U006E>";/ - "<U006D><U0061><U0072>";"<U006D><U0069><U00E9>";/ - "<U006A><U0075><U0065>";"<U0076><U0069><U0065>";/ - "<U0073><U00E1><U0062>" + "<U006D><U0061><U0072>";"<U006D><U0069><U00E9>";/ + "<U006A><U0075><U0065>";"<U0076><U0069><U0065>";/ + "<U0073><U00E1><U0062>" day "<U0064><U006F><U006D><U0069><U006E><U0067><U006F>";/ - "<U006C><U0075><U006E><U0065><U0073>";/ - "<U006D><U0061><U0072><U0074><U0065><U0073>";/ - "<U006D><U0069><U00E9><U0072><U0063><U006F><U006C><U0065><U0073>";/ - "<U006A><U0075><U0065><U0076><U0065><U0073>";/ - "<U0076><U0069><U0065><U0072><U006E><U0065><U0073>";/ - "<U0073><U00E1><U0062><U0061><U0064><U006F>" + "<U006C><U0075><U006E><U0065><U0073>";/ + "<U006D><U0061><U0072><U0074><U0065><U0073>";/ + "<U006D><U0069><U00E9><U0072><U0063><U006F><U006C><U0065><U0073>";/ + "<U006A><U0075><U0065><U0076><U0065><U0073>";/ + "<U0076><U0069><U0065><U0072><U006E><U0065><U0073>";/ + "<U0073><U00E1><U0062><U0061><U0064><U006F>" abmon "<U0065><U006E><U0065>";"<U0066><U0065><U0062>";/ - "<U006D><U0061><U0072>";"<U0061><U0062><U0072>";/ - "<U006D><U0061><U0079>";"<U006A><U0075><U006E>";/ - "<U006A><U0075><U006C>";"<U0061><U0067><U006F>";/ - "<U0073><U0065><U0070>";"<U006F><U0063><U0074>";/ - "<U006E><U006F><U0076>";"<U0064><U0069><U0063>" + "<U006D><U0061><U0072>";"<U0061><U0062><U0072>";/ + "<U006D><U0061><U0079>";"<U006A><U0075><U006E>";/ + "<U006A><U0075><U006C>";"<U0061><U0067><U006F>";/ + "<U0073><U0065><U0070>";"<U006F><U0063><U0074>";/ + "<U006E><U006F><U0076>";"<U0064><U0069><U0063>" mon "<U0065><U006E><U0065><U0072><U006F>";/ - "<U0066><U0065><U0062><U0072><U0065><U0072><U006F>";/ - "<U006D><U0061><U0072><U007A><U006F>";/ - "<U0061><U0062><U0072><U0069><U006C>";/ - "<U006D><U0061><U0079><U006F>";/ - "<U006A><U0075><U006E><U0069><U006F>";/ - "<U006A><U0075><U006C><U0069><U006F>";/ - "<U0061><U0067><U006F><U0073><U0074><U006F>";/ - "<U0073><U0065><U0070><U0074><U0069><U0065><U006D><U0062><U0072><U0065>";/ - "<U006F><U0063><U0074><U0075><U0062><U0072><U0065>";/ - "<U006E><U006F><U0076><U0069><U0065><U006D><U0062><U0072><U0065>";/ - "<U0064><U0069><U0063><U0069><U0065><U006D><U0062><U0072><U0065>" + "<U0066><U0065><U0062><U0072><U0065><U0072><U006F>";/ + "<U006D><U0061><U0072><U007A><U006F>";/ + "<U0061><U0062><U0072><U0069><U006C>";/ + "<U006D><U0061><U0079><U006F>";/ + "<U006A><U0075><U006E><U0069><U006F>";/ + "<U006A><U0075><U006C><U0069><U006F>";/ + "<U0061><U0067><U006F><U0073><U0074><U006F>";/ + "<U0073><U0065><U0070><U0074><U0069><U0065><U006D><U0062><U0072><U0065>";/ + "<U006F><U0063><U0074><U0075><U0062><U0072><U0065>";/ + "<U006E><U006F><U0076><U0069><U0065><U006D><U0062><U0072><U0065>";/ + "<U0064><U0069><U0063><U0069><U0065><U006D><U0062><U0072><U0065>" d_t_fmt "<U0025><U0061><U0020><U0025><U0064><U0020><U0025><U0062><U0020><U0025><U0059><U0020><U0025><U0054><U0020><U0025><U005A>" d_fmt "<U0025><U0064><U002F><U0025><U006D><U002F><U0025><U0079>" t_fmt "<U0025><U0054>" diff --git a/libc/localedata/locales/es_PR b/libc/localedata/locales/es_PR index 546b6c20e..53496d48c 100644 --- a/libc/localedata/locales/es_PR +++ b/libc/localedata/locales/es_PR @@ -47,8 +47,7 @@ copy "es_ES" END LC_CTYPE LC_MESSAGES -yesexpr "<U005E><U005B><U0073><U0053><U0079><U0059><U005D><U002E><U002A>" -noexpr "<U005E><U005B><U006E><U004E><U005D><U002E><U002A>" +copy "es_ES" END LC_MESSAGES LC_MONETARY @@ -70,41 +69,39 @@ n_sign_posn 1 END LC_MONETARY LC_NUMERIC -decimal_point "<U002E>" -thousands_sep "" -grouping 0;0 +copy "es_ES" END LC_NUMERIC LC_TIME abday "<U0064><U006F><U006D>";"<U006C><U0075><U006E>";/ - "<U006D><U0061><U0072>";"<U006D><U0069><U00E9>";/ - "<U006A><U0075><U0065>";"<U0076><U0069><U0065>";/ - "<U0073><U00E1><U0062>" + "<U006D><U0061><U0072>";"<U006D><U0069><U00E9>";/ + "<U006A><U0075><U0065>";"<U0076><U0069><U0065>";/ + "<U0073><U00E1><U0062>" day "<U0064><U006F><U006D><U0069><U006E><U0067><U006F>";/ - "<U006C><U0075><U006E><U0065><U0073>";/ - "<U006D><U0061><U0072><U0074><U0065><U0073>";/ - "<U006D><U0069><U00E9><U0072><U0063><U006F><U006C><U0065><U0073>";/ - "<U006A><U0075><U0065><U0076><U0065><U0073>";/ - "<U0076><U0069><U0065><U0072><U006E><U0065><U0073>";/ - "<U0073><U00E1><U0062><U0061><U0064><U006F>" + "<U006C><U0075><U006E><U0065><U0073>";/ + "<U006D><U0061><U0072><U0074><U0065><U0073>";/ + "<U006D><U0069><U00E9><U0072><U0063><U006F><U006C><U0065><U0073>";/ + "<U006A><U0075><U0065><U0076><U0065><U0073>";/ + "<U0076><U0069><U0065><U0072><U006E><U0065><U0073>";/ + "<U0073><U00E1><U0062><U0061><U0064><U006F>" abmon "<U0065><U006E><U0065>";"<U0066><U0065><U0062>";/ - "<U006D><U0061><U0072>";"<U0061><U0062><U0072>";/ - "<U006D><U0061><U0079>";"<U006A><U0075><U006E>";/ - "<U006A><U0075><U006C>";"<U0061><U0067><U006F>";/ - "<U0073><U0065><U0070>";"<U006F><U0063><U0074>";/ - "<U006E><U006F><U0076>";"<U0064><U0069><U0063>" + "<U006D><U0061><U0072>";"<U0061><U0062><U0072>";/ + "<U006D><U0061><U0079>";"<U006A><U0075><U006E>";/ + "<U006A><U0075><U006C>";"<U0061><U0067><U006F>";/ + "<U0073><U0065><U0070>";"<U006F><U0063><U0074>";/ + "<U006E><U006F><U0076>";"<U0064><U0069><U0063>" mon "<U0065><U006E><U0065><U0072><U006F>";/ - "<U0066><U0065><U0062><U0072><U0065><U0072><U006F>";/ - "<U006D><U0061><U0072><U007A><U006F>";/ - "<U0061><U0062><U0072><U0069><U006C>";/ - "<U006D><U0061><U0079><U006F>";/ - "<U006A><U0075><U006E><U0069><U006F>";/ - "<U006A><U0075><U006C><U0069><U006F>";/ - "<U0061><U0067><U006F><U0073><U0074><U006F>";/ - "<U0073><U0065><U0070><U0074><U0069><U0065><U006D><U0062><U0072><U0065>";/ - "<U006F><U0063><U0074><U0075><U0062><U0072><U0065>";/ - "<U006E><U006F><U0076><U0069><U0065><U006D><U0062><U0072><U0065>";/ - "<U0064><U0069><U0063><U0069><U0065><U006D><U0062><U0072><U0065>" + "<U0066><U0065><U0062><U0072><U0065><U0072><U006F>";/ + "<U006D><U0061><U0072><U007A><U006F>";/ + "<U0061><U0062><U0072><U0069><U006C>";/ + "<U006D><U0061><U0079><U006F>";/ + "<U006A><U0075><U006E><U0069><U006F>";/ + "<U006A><U0075><U006C><U0069><U006F>";/ + "<U0061><U0067><U006F><U0073><U0074><U006F>";/ + "<U0073><U0065><U0070><U0074><U0069><U0065><U006D><U0062><U0072><U0065>";/ + "<U006F><U0063><U0074><U0075><U0062><U0072><U0065>";/ + "<U006E><U006F><U0076><U0069><U0065><U006D><U0062><U0072><U0065>";/ + "<U0064><U0069><U0063><U0069><U0065><U006D><U0062><U0072><U0065>" d_t_fmt "<U0025><U0061><U0020><U0025><U0064><U0020><U0025><U0062><U0020><U0025><U0059><U0020><U0025><U0054><U0020><U0025><U005A>" d_fmt "<U0025><U0064><U002F><U0025><U006D><U002F><U0025><U0079>" t_fmt "<U0025><U0054>" diff --git a/libc/localedata/locales/es_PY b/libc/localedata/locales/es_PY index 2c31b2f25..ce226bad7 100644 --- a/libc/localedata/locales/es_PY +++ b/libc/localedata/locales/es_PY @@ -56,8 +56,7 @@ copy "es_ES" END LC_CTYPE LC_MESSAGES -yesexpr "<U005E><U005B><U0073><U0053><U0079><U0059><U005D><U002E><U002A>" -noexpr "<U005E><U005B><U006E><U004E><U005D><U002E><U002A>" +copy "es_ES" END LC_MESSAGES LC_MONETARY @@ -79,41 +78,39 @@ n_sign_posn 1 END LC_MONETARY LC_NUMERIC -decimal_point "<U002C>" -thousands_sep "" -grouping 0;0 +copy "es_ES" END LC_NUMERIC LC_TIME abday "<U0064><U006F><U006D>";"<U006C><U0075><U006E>";/ - "<U006D><U0061><U0072>";"<U006D><U0069><U00E9>";/ - "<U006A><U0075><U0065>";"<U0076><U0069><U0065>";/ - "<U0073><U00E1><U0062>" + "<U006D><U0061><U0072>";"<U006D><U0069><U00E9>";/ + "<U006A><U0075><U0065>";"<U0076><U0069><U0065>";/ + "<U0073><U00E1><U0062>" day "<U0064><U006F><U006D><U0069><U006E><U0067><U006F>";/ - "<U006C><U0075><U006E><U0065><U0073>";/ - "<U006D><U0061><U0072><U0074><U0065><U0073>";/ - "<U006D><U0069><U00E9><U0072><U0063><U006F><U006C><U0065><U0073>";/ - "<U006A><U0075><U0065><U0076><U0065><U0073>";/ - "<U0076><U0069><U0065><U0072><U006E><U0065><U0073>";/ - "<U0073><U00E1><U0062><U0061><U0064><U006F>" + "<U006C><U0075><U006E><U0065><U0073>";/ + "<U006D><U0061><U0072><U0074><U0065><U0073>";/ + "<U006D><U0069><U00E9><U0072><U0063><U006F><U006C><U0065><U0073>";/ + "<U006A><U0075><U0065><U0076><U0065><U0073>";/ + "<U0076><U0069><U0065><U0072><U006E><U0065><U0073>";/ + "<U0073><U00E1><U0062><U0061><U0064><U006F>" abmon "<U0065><U006E><U0065>";"<U0066><U0065><U0062>";/ - "<U006D><U0061><U0072>";"<U0061><U0062><U0072>";/ - "<U006D><U0061><U0079>";"<U006A><U0075><U006E>";/ - "<U006A><U0075><U006C>";"<U0061><U0067><U006F>";/ - "<U0073><U0065><U0070>";"<U006F><U0063><U0074>";/ - "<U006E><U006F><U0076>";"<U0064><U0069><U0063>" + "<U006D><U0061><U0072>";"<U0061><U0062><U0072>";/ + "<U006D><U0061><U0079>";"<U006A><U0075><U006E>";/ + "<U006A><U0075><U006C>";"<U0061><U0067><U006F>";/ + "<U0073><U0065><U0070>";"<U006F><U0063><U0074>";/ + "<U006E><U006F><U0076>";"<U0064><U0069><U0063>" mon "<U0065><U006E><U0065><U0072><U006F>";/ - "<U0066><U0065><U0062><U0072><U0065><U0072><U006F>";/ - "<U006D><U0061><U0072><U007A><U006F>";/ - "<U0061><U0062><U0072><U0069><U006C>";/ - "<U006D><U0061><U0079><U006F>";/ - "<U006A><U0075><U006E><U0069><U006F>";/ - "<U006A><U0075><U006C><U0069><U006F>";/ - "<U0061><U0067><U006F><U0073><U0074><U006F>";/ - "<U0073><U0065><U0070><U0074><U0069><U0065><U006D><U0062><U0072><U0065>";/ - "<U006F><U0063><U0074><U0075><U0062><U0072><U0065>";/ - "<U006E><U006F><U0076><U0069><U0065><U006D><U0062><U0072><U0065>";/ - "<U0064><U0069><U0063><U0069><U0065><U006D><U0062><U0072><U0065>" + "<U0066><U0065><U0062><U0072><U0065><U0072><U006F>";/ + "<U006D><U0061><U0072><U007A><U006F>";/ + "<U0061><U0062><U0072><U0069><U006C>";/ + "<U006D><U0061><U0079><U006F>";/ + "<U006A><U0075><U006E><U0069><U006F>";/ + "<U006A><U0075><U006C><U0069><U006F>";/ + "<U0061><U0067><U006F><U0073><U0074><U006F>";/ + "<U0073><U0065><U0070><U0074><U0069><U0065><U006D><U0062><U0072><U0065>";/ + "<U006F><U0063><U0074><U0075><U0062><U0072><U0065>";/ + "<U006E><U006F><U0076><U0069><U0065><U006D><U0062><U0072><U0065>";/ + "<U0064><U0069><U0063><U0069><U0065><U006D><U0062><U0072><U0065>" d_t_fmt "<U0025><U0061><U0020><U0025><U0064><U0020><U0025><U0062><U0020><U0025><U0059><U0020><U0025><U0054><U0020><U0025><U005A>" d_fmt "<U0025><U0064><U002F><U0025><U006D><U002F><U0025><U0079>" t_fmt "<U0025><U0054>" diff --git a/libc/localedata/locales/es_SV b/libc/localedata/locales/es_SV index 3b6be32b1..d99b6cff6 100644 --- a/libc/localedata/locales/es_SV +++ b/libc/localedata/locales/es_SV @@ -56,8 +56,7 @@ copy "es_ES" END LC_CTYPE LC_MESSAGES -yesexpr "<U005E><U005B><U0073><U0053><U0079><U0059><U005D><U002E><U002A>" -noexpr "<U005E><U005B><U006E><U004E><U005D><U002E><U002A>" +copy "es_ES" END LC_MESSAGES LC_MONETARY @@ -79,9 +78,7 @@ n_sign_posn 1 END LC_MONETARY LC_NUMERIC -decimal_point "<U002E>" -thousands_sep "" -grouping 0;0 +copy "es_ES" END LC_NUMERIC LC_TIME diff --git a/libc/localedata/locales/es_UY b/libc/localedata/locales/es_UY index 8b7ed0da4..cbb7d5a86 100644 --- a/libc/localedata/locales/es_UY +++ b/libc/localedata/locales/es_UY @@ -56,8 +56,7 @@ copy "es_ES" END LC_CTYPE LC_MESSAGES -yesexpr "<U005E><U005B><U0073><U0053><U0079><U0059><U005D><U002E><U002A>" -noexpr "<U005E><U005B><U006E><U004E><U005D><U002E><U002A>" +copy "es_ES" END LC_MESSAGES LC_MONETARY @@ -79,41 +78,39 @@ n_sign_posn 1 END LC_MONETARY LC_NUMERIC -decimal_point "<U002C>" -thousands_sep "" -grouping 0;0 +copy "es_ES" END LC_NUMERIC LC_TIME abday "<U0064><U006F><U006D>";"<U006C><U0075><U006E>";/ - "<U006D><U0061><U0072>";"<U006D><U0069><U00E9>";/ - "<U006A><U0075><U0065>";"<U0076><U0069><U0065>";/ - "<U0073><U00E1><U0062>" + "<U006D><U0061><U0072>";"<U006D><U0069><U00E9>";/ + "<U006A><U0075><U0065>";"<U0076><U0069><U0065>";/ + "<U0073><U00E1><U0062>" day "<U0064><U006F><U006D><U0069><U006E><U0067><U006F>";/ - "<U006C><U0075><U006E><U0065><U0073>";/ - "<U006D><U0061><U0072><U0074><U0065><U0073>";/ - "<U006D><U0069><U00E9><U0072><U0063><U006F><U006C><U0065><U0073>";/ - "<U006A><U0075><U0065><U0076><U0065><U0073>";/ - "<U0076><U0069><U0065><U0072><U006E><U0065><U0073>";/ - "<U0073><U00E1><U0062><U0061><U0064><U006F>" + "<U006C><U0075><U006E><U0065><U0073>";/ + "<U006D><U0061><U0072><U0074><U0065><U0073>";/ + "<U006D><U0069><U00E9><U0072><U0063><U006F><U006C><U0065><U0073>";/ + "<U006A><U0075><U0065><U0076><U0065><U0073>";/ + "<U0076><U0069><U0065><U0072><U006E><U0065><U0073>";/ + "<U0073><U00E1><U0062><U0061><U0064><U006F>" abmon "<U0065><U006E><U0065>";"<U0066><U0065><U0062>";/ - "<U006D><U0061><U0072>";"<U0061><U0062><U0072>";/ - "<U006D><U0061><U0079>";"<U006A><U0075><U006E>";/ - "<U006A><U0075><U006C>";"<U0061><U0067><U006F>";/ - "<U0073><U0065><U0070>";"<U006F><U0063><U0074>";/ - "<U006E><U006F><U0076>";"<U0064><U0069><U0063>" + "<U006D><U0061><U0072>";"<U0061><U0062><U0072>";/ + "<U006D><U0061><U0079>";"<U006A><U0075><U006E>";/ + "<U006A><U0075><U006C>";"<U0061><U0067><U006F>";/ + "<U0073><U0065><U0070>";"<U006F><U0063><U0074>";/ + "<U006E><U006F><U0076>";"<U0064><U0069><U0063>" mon "<U0065><U006E><U0065><U0072><U006F>";/ - "<U0066><U0065><U0062><U0072><U0065><U0072><U006F>";/ - "<U006D><U0061><U0072><U007A><U006F>";/ - "<U0061><U0062><U0072><U0069><U006C>";/ - "<U006D><U0061><U0079><U006F>";/ - "<U006A><U0075><U006E><U0069><U006F>";/ - "<U006A><U0075><U006C><U0069><U006F>";/ - "<U0061><U0067><U006F><U0073><U0074><U006F>";/ - "<U0073><U0065><U0070><U0074><U0069><U0065><U006D><U0062><U0072><U0065>";/ - "<U006F><U0063><U0074><U0075><U0062><U0072><U0065>";/ - "<U006E><U006F><U0076><U0069><U0065><U006D><U0062><U0072><U0065>";/ - "<U0064><U0069><U0063><U0069><U0065><U006D><U0062><U0072><U0065>" + "<U0066><U0065><U0062><U0072><U0065><U0072><U006F>";/ + "<U006D><U0061><U0072><U007A><U006F>";/ + "<U0061><U0062><U0072><U0069><U006C>";/ + "<U006D><U0061><U0079><U006F>";/ + "<U006A><U0075><U006E><U0069><U006F>";/ + "<U006A><U0075><U006C><U0069><U006F>";/ + "<U0061><U0067><U006F><U0073><U0074><U006F>";/ + "<U0073><U0065><U0070><U0074><U0069><U0065><U006D><U0062><U0072><U0065>";/ + "<U006F><U0063><U0074><U0075><U0062><U0072><U0065>";/ + "<U006E><U006F><U0076><U0069><U0065><U006D><U0062><U0072><U0065>";/ + "<U0064><U0069><U0063><U0069><U0065><U006D><U0062><U0072><U0065>" d_t_fmt "<U0025><U0061><U0020><U0025><U0064><U0020><U0025><U0062><U0020><U0025><U0059><U0020><U0025><U0054><U0020><U0025><U005A>" d_fmt "<U0025><U0064><U002F><U0025><U006D><U002F><U0025><U0079>" t_fmt "<U0025><U0054>" diff --git a/libc/localedata/locales/es_VE b/libc/localedata/locales/es_VE index ca6637a6d..1ec2dff6a 100644 --- a/libc/localedata/locales/es_VE +++ b/libc/localedata/locales/es_VE @@ -56,8 +56,7 @@ copy "es_ES" END LC_CTYPE LC_MESSAGES -yesexpr "<U005E><U005B><U0073><U0053><U0079><U0059><U005D><U002E><U002A>" -noexpr "<U005E><U005B><U006E><U004E><U005D><U002E><U002A>" +copy "es_ES" END LC_MESSAGES LC_MONETARY @@ -79,41 +78,39 @@ n_sign_posn 1 END LC_MONETARY LC_NUMERIC -decimal_point "<U002C>" -thousands_sep "" -grouping 0;0 +copy "es_ES" END LC_NUMERIC LC_TIME abday "<U0064><U006F><U006D>";"<U006C><U0075><U006E>";/ - "<U006D><U0061><U0072>";"<U006D><U0069><U00E9>";/ - "<U006A><U0075><U0065>";"<U0076><U0069><U0065>";/ - "<U0073><U00E1><U0062>" + "<U006D><U0061><U0072>";"<U006D><U0069><U00E9>";/ + "<U006A><U0075><U0065>";"<U0076><U0069><U0065>";/ + "<U0073><U00E1><U0062>" day "<U0064><U006F><U006D><U0069><U006E><U0067><U006F>";/ - "<U006C><U0075><U006E><U0065><U0073>";/ - "<U006D><U0061><U0072><U0074><U0065><U0073>";/ - "<U006D><U0069><U00E9><U0072><U0063><U006F><U006C><U0065><U0073>";/ - "<U006A><U0075><U0065><U0076><U0065><U0073>";/ - "<U0076><U0069><U0065><U0072><U006E><U0065><U0073>";/ - "<U0073><U00E1><U0062><U0061><U0064><U006F>" + "<U006C><U0075><U006E><U0065><U0073>";/ + "<U006D><U0061><U0072><U0074><U0065><U0073>";/ + "<U006D><U0069><U00E9><U0072><U0063><U006F><U006C><U0065><U0073>";/ + "<U006A><U0075><U0065><U0076><U0065><U0073>";/ + "<U0076><U0069><U0065><U0072><U006E><U0065><U0073>";/ + "<U0073><U00E1><U0062><U0061><U0064><U006F>" abmon "<U0065><U006E><U0065>";"<U0066><U0065><U0062>";/ - "<U006D><U0061><U0072>";"<U0061><U0062><U0072>";/ - "<U006D><U0061><U0079>";"<U006A><U0075><U006E>";/ - "<U006A><U0075><U006C>";"<U0061><U0067><U006F>";/ - "<U0073><U0065><U0070>";"<U006F><U0063><U0074>";/ - "<U006E><U006F><U0076>";"<U0064><U0069><U0063>" + "<U006D><U0061><U0072>";"<U0061><U0062><U0072>";/ + "<U006D><U0061><U0079>";"<U006A><U0075><U006E>";/ + "<U006A><U0075><U006C>";"<U0061><U0067><U006F>";/ + "<U0073><U0065><U0070>";"<U006F><U0063><U0074>";/ + "<U006E><U006F><U0076>";"<U0064><U0069><U0063>" mon "<U0065><U006E><U0065><U0072><U006F>";/ - "<U0066><U0065><U0062><U0072><U0065><U0072><U006F>";/ - "<U006D><U0061><U0072><U007A><U006F>";/ - "<U0061><U0062><U0072><U0069><U006C>";/ - "<U006D><U0061><U0079><U006F>";/ - "<U006A><U0075><U006E><U0069><U006F>";/ - "<U006A><U0075><U006C><U0069><U006F>";/ - "<U0061><U0067><U006F><U0073><U0074><U006F>";/ - "<U0073><U0065><U0070><U0074><U0069><U0065><U006D><U0062><U0072><U0065>";/ - "<U006F><U0063><U0074><U0075><U0062><U0072><U0065>";/ - "<U006E><U006F><U0076><U0069><U0065><U006D><U0062><U0072><U0065>";/ - "<U0064><U0069><U0063><U0069><U0065><U006D><U0062><U0072><U0065>" + "<U0066><U0065><U0062><U0072><U0065><U0072><U006F>";/ + "<U006D><U0061><U0072><U007A><U006F>";/ + "<U0061><U0062><U0072><U0069><U006C>";/ + "<U006D><U0061><U0079><U006F>";/ + "<U006A><U0075><U006E><U0069><U006F>";/ + "<U006A><U0075><U006C><U0069><U006F>";/ + "<U0061><U0067><U006F><U0073><U0074><U006F>";/ + "<U0073><U0065><U0070><U0074><U0069><U0065><U006D><U0062><U0072><U0065>";/ + "<U006F><U0063><U0074><U0075><U0062><U0072><U0065>";/ + "<U006E><U006F><U0076><U0069><U0065><U006D><U0062><U0072><U0065>";/ + "<U0064><U0069><U0063><U0069><U0065><U006D><U0062><U0072><U0065>" d_t_fmt "<U0025><U0061><U0020><U0025><U0064><U0020><U0025><U0062><U0020><U0025><U0059><U0020><U0025><U0054><U0020><U0025><U005A>" d_fmt "<U0025><U0064><U002F><U0025><U006D><U002F><U0025><U0079>" t_fmt "<U0025><U0054>" diff --git a/libc/localedata/locales/fr_BE b/libc/localedata/locales/fr_BE index f9c911aba..43beac59c 100644 --- a/libc/localedata/locales/fr_BE +++ b/libc/localedata/locales/fr_BE @@ -79,7 +79,7 @@ END LC_MONETARY LC_NUMERIC decimal_point "<U002C>" thousands_sep "<U002E>" -grouping 0;0 +grouping 3;3 END LC_NUMERIC LC_TIME diff --git a/libc/localedata/locales/fr_CA b/libc/localedata/locales/fr_CA index 992a4b133..21eb6701a 100644 --- a/libc/localedata/locales/fr_CA +++ b/libc/localedata/locales/fr_CA @@ -55,8 +55,7 @@ copy "en_CA" END LC_COLLATE LC_MESSAGES -yesexpr "<U005E><U005B><U006F><U004F><U0079><U0059><U005D><U002E><U002A>" -noexpr "<U005E><U005B><U006E><U004E><U005D><U002E><U002A>" +copy "fr_FR" END LC_MESSAGES LC_MONETARY @@ -78,41 +77,39 @@ n_sign_posn 0 END LC_MONETARY LC_NUMERIC -decimal_point "<U002C>" -thousands_sep "<U0020>" -grouping 0;0 +copy "fr_FR" END LC_NUMERIC LC_TIME abday "<U0064><U0069><U006D>";"<U006C><U0075><U006E>";/ - "<U006D><U0061><U0072>";"<U006D><U0065><U0072>";/ - "<U006A><U0065><U0075>";"<U0076><U0065><U006E>";/ - "<U0073><U0061><U006D>" + "<U006D><U0061><U0072>";"<U006D><U0065><U0072>";/ + "<U006A><U0065><U0075>";"<U0076><U0065><U006E>";/ + "<U0073><U0061><U006D>" day "<U0064><U0069><U006D><U0061><U006E><U0063><U0068><U0065>";/ - "<U006C><U0075><U006E><U0064><U0069>";/ - "<U006D><U0061><U0072><U0064><U0069>";/ - "<U006D><U0065><U0072><U0063><U0072><U0065><U0064><U0069>";/ - "<U006A><U0065><U0075><U0064><U0069>";/ - "<U0076><U0065><U006E><U0064><U0072><U0065><U0064><U0069>";/ - "<U0073><U0061><U006D><U0065><U0064><U0069>" + "<U006C><U0075><U006E><U0064><U0069>";/ + "<U006D><U0061><U0072><U0064><U0069>";/ + "<U006D><U0065><U0072><U0063><U0072><U0065><U0064><U0069>";/ + "<U006A><U0065><U0075><U0064><U0069>";/ + "<U0076><U0065><U006E><U0064><U0072><U0065><U0064><U0069>";/ + "<U0073><U0061><U006D><U0065><U0064><U0069>" abmon "<U006A><U0061><U006E>";"<U0066><U00E9><U0076>";/ - "<U006D><U0061><U0072>";"<U0061><U0076><U0072>";/ - "<U006D><U0061><U0069>";"<U006A><U0075><U006E>";/ - "<U006A><U0075><U0069>";"<U0061><U006F><U00FB>";/ - "<U0073><U0065><U0070>";"<U006F><U0063><U0074>";/ - "<U006E><U006F><U0076>";"<U0064><U00E9><U0063>" + "<U006D><U0061><U0072>";"<U0061><U0076><U0072>";/ + "<U006D><U0061><U0069>";"<U006A><U0075><U006E>";/ + "<U006A><U0075><U0069>";"<U0061><U006F><U00FB>";/ + "<U0073><U0065><U0070>";"<U006F><U0063><U0074>";/ + "<U006E><U006F><U0076>";"<U0064><U00E9><U0063>" mon "<U006A><U0061><U006E><U0076><U0069><U0065><U0072>";/ - "<U0066><U00E9><U0076><U0072><U0069><U0065><U0072>";/ - "<U006D><U0061><U0072><U0073>";/ - "<U0061><U0076><U0072><U0069><U006C>";/ - "<U006D><U0061><U0069>";/ - "<U006A><U0075><U0069><U006E>";/ - "<U006A><U0075><U0069><U006C><U006C><U0065><U0074>";/ - "<U0061><U006F><U00FB><U0074>";/ - "<U0073><U0065><U0070><U0074><U0065><U006D><U0062><U0072><U0065>";/ - "<U006F><U0063><U0074><U006F><U0062><U0072><U0065>";/ - "<U006E><U006F><U0076><U0065><U006D><U0062><U0072><U0065>";/ - "<U0064><U00E9><U0063><U0065><U006D><U0062><U0072><U0065>" + "<U0066><U00E9><U0076><U0072><U0069><U0065><U0072>";/ + "<U006D><U0061><U0072><U0073>";/ + "<U0061><U0076><U0072><U0069><U006C>";/ + "<U006D><U0061><U0069>";/ + "<U006A><U0075><U0069><U006E>";/ + "<U006A><U0075><U0069><U006C><U006C><U0065><U0074>";/ + "<U0061><U006F><U00FB><U0074>";/ + "<U0073><U0065><U0070><U0074><U0065><U006D><U0062><U0072><U0065>";/ + "<U006F><U0063><U0074><U006F><U0062><U0072><U0065>";/ + "<U006E><U006F><U0076><U0065><U006D><U0062><U0072><U0065>";/ + "<U0064><U00E9><U0063><U0065><U006D><U0062><U0072><U0065>" d_t_fmt "<U0025><U0061><U0020><U0025><U0064><U0020><U0025><U0062><U0020><U0025><U0059><U0020><U0025><U0054><U0020><U0025><U005A>" d_fmt "<U0025><U0059><U002D><U0025><U006D><U002D><U0025><U0064>" t_fmt "<U0025><U0054>" diff --git a/libc/localedata/locales/fr_CH b/libc/localedata/locales/fr_CH index 7cb62822b..5ab6af108 100644 --- a/libc/localedata/locales/fr_CH +++ b/libc/localedata/locales/fr_CH @@ -64,41 +64,39 @@ copy "de_CH" END LC_MONETARY LC_NUMERIC -decimal_point "<U002C>" -thousands_sep "" -grouping 0;0 +copy "de_CH" END LC_NUMERIC LC_TIME abday "<U0064><U0069><U006D>";"<U006C><U0075><U006E>";/ - "<U006D><U0061><U0072>";"<U006D><U0065><U0072>";/ - "<U006A><U0065><U0075>";"<U0076><U0065><U006E>";/ - "<U0073><U0061><U006D>" + "<U006D><U0061><U0072>";"<U006D><U0065><U0072>";/ + "<U006A><U0065><U0075>";"<U0076><U0065><U006E>";/ + "<U0073><U0061><U006D>" day "<U0064><U0069><U006D><U0061><U006E><U0063><U0068><U0065>";/ - "<U006C><U0075><U006E><U0064><U0069>";/ - "<U006D><U0061><U0072><U0064><U0069>";/ - "<U006D><U0065><U0072><U0063><U0072><U0065><U0064><U0069>";/ - "<U006A><U0065><U0075><U0064><U0069>";/ - "<U0076><U0065><U006E><U0064><U0072><U0065><U0064><U0069>";/ - "<U0073><U0061><U006D><U0065><U0064><U0069>" + "<U006C><U0075><U006E><U0064><U0069>";/ + "<U006D><U0061><U0072><U0064><U0069>";/ + "<U006D><U0065><U0072><U0063><U0072><U0065><U0064><U0069>";/ + "<U006A><U0065><U0075><U0064><U0069>";/ + "<U0076><U0065><U006E><U0064><U0072><U0065><U0064><U0069>";/ + "<U0073><U0061><U006D><U0065><U0064><U0069>" abmon "<U006A><U0061><U006E>";"<U0066><U00E9><U0076>";/ - "<U006D><U0061><U0072>";"<U0061><U0076><U0072>";/ - "<U006D><U0061><U0069>";"<U006A><U0075><U006E>";/ - "<U006A><U0075><U0069>";"<U0061><U006F><U00FB>";/ - "<U0073><U0065><U0070>";"<U006F><U0063><U0074>";/ - "<U006E><U006F><U0076>";"<U0064><U00E9><U0063>" + "<U006D><U0061><U0072>";"<U0061><U0076><U0072>";/ + "<U006D><U0061><U0069>";"<U006A><U0075><U006E>";/ + "<U006A><U0075><U0069>";"<U0061><U006F><U00FB>";/ + "<U0073><U0065><U0070>";"<U006F><U0063><U0074>";/ + "<U006E><U006F><U0076>";"<U0064><U00E9><U0063>" mon "<U006A><U0061><U006E><U0076><U0069><U0065><U0072>";/ - "<U0066><U00E9><U0076><U0072><U0069><U0065><U0072>";/ - "<U006D><U0061><U0072><U0073>";/ - "<U0061><U0076><U0072><U0069><U006C>";/ - "<U006D><U0061><U0069>";/ - "<U006A><U0075><U0069><U006E>";/ - "<U006A><U0075><U0069><U006C><U006C><U0065><U0074>";/ - "<U0061><U006F><U00FB><U0074>";/ - "<U0073><U0065><U0070><U0074><U0065><U006D><U0062><U0072><U0065>";/ - "<U006F><U0063><U0074><U006F><U0062><U0072><U0065>";/ - "<U006E><U006F><U0076><U0065><U006D><U0062><U0072><U0065>";/ - "<U0064><U00E9><U0063><U0065><U006D><U0062><U0072><U0065>" + "<U0066><U00E9><U0076><U0072><U0069><U0065><U0072>";/ + "<U006D><U0061><U0072><U0073>";/ + "<U0061><U0076><U0072><U0069><U006C>";/ + "<U006D><U0061><U0069>";/ + "<U006A><U0075><U0069><U006E>";/ + "<U006A><U0075><U0069><U006C><U006C><U0065><U0074>";/ + "<U0061><U006F><U00FB><U0074>";/ + "<U0073><U0065><U0070><U0074><U0065><U006D><U0062><U0072><U0065>";/ + "<U006F><U0063><U0074><U006F><U0062><U0072><U0065>";/ + "<U006E><U006F><U0076><U0065><U006D><U0062><U0072><U0065>";/ + "<U0064><U00E9><U0063><U0065><U006D><U0062><U0072><U0065>" d_t_fmt "<U0025><U0061><U0020><U0025><U0064><U0020><U0025><U0062><U0020><U0025><U0059><U0020><U0025><U0054><U0020><U0025><U005A>" d_fmt "<U0025><U0064><U002E><U0020><U0025><U006D><U002E><U0020><U0025><U0079>" t_fmt "<U0025><U0054>" diff --git a/libc/localedata/locales/fr_LU b/libc/localedata/locales/fr_LU index 80b29b645..8cb90b361 100644 --- a/libc/localedata/locales/fr_LU +++ b/libc/localedata/locales/fr_LU @@ -78,40 +78,40 @@ END LC_MONETARY LC_NUMERIC decimal_point "<U002C>" -thousands_sep "" -grouping 0;0 +thousands_sep "<U0020>" +grouping 3;3 END LC_NUMERIC LC_TIME abday "<U0064><U0069><U006D>";"<U006C><U0075><U006E>";/ - "<U006D><U0061><U0072>";"<U006D><U0065><U0072>";/ - "<U006A><U0065><U0075>";"<U0076><U0065><U006E>";/ - "<U0073><U0061><U006D>" + "<U006D><U0061><U0072>";"<U006D><U0065><U0072>";/ + "<U006A><U0065><U0075>";"<U0076><U0065><U006E>";/ + "<U0073><U0061><U006D>" day "<U0064><U0069><U006D><U0061><U006E><U0063><U0068><U0065>";/ - "<U006C><U0075><U006E><U0064><U0069>";/ - "<U006D><U0061><U0072><U0064><U0069>";/ - "<U006D><U0065><U0072><U0063><U0072><U0065><U0064><U0069>";/ - "<U006A><U0065><U0075><U0064><U0069>";/ - "<U0076><U0065><U006E><U0064><U0072><U0065><U0064><U0069>";/ - "<U0073><U0061><U006D><U0065><U0064><U0069>" + "<U006C><U0075><U006E><U0064><U0069>";/ + "<U006D><U0061><U0072><U0064><U0069>";/ + "<U006D><U0065><U0072><U0063><U0072><U0065><U0064><U0069>";/ + "<U006A><U0065><U0075><U0064><U0069>";/ + "<U0076><U0065><U006E><U0064><U0072><U0065><U0064><U0069>";/ + "<U0073><U0061><U006D><U0065><U0064><U0069>" abmon "<U006A><U0061><U006E>";"<U0066><U00E9><U0076>";/ - "<U006D><U0061><U0072>";"<U0061><U0076><U0072>";/ - "<U006D><U0061><U0069>";"<U006A><U0075><U006E>";/ - "<U006A><U0075><U0069>";"<U0061><U006F><U00FB>";/ - "<U0073><U0065><U0070>";"<U006F><U0063><U0074>";/ - "<U006E><U006F><U0076>";"<U0064><U00E9><U0063>" + "<U006D><U0061><U0072>";"<U0061><U0076><U0072>";/ + "<U006D><U0061><U0069>";"<U006A><U0075><U006E>";/ + "<U006A><U0075><U0069>";"<U0061><U006F><U00FB>";/ + "<U0073><U0065><U0070>";"<U006F><U0063><U0074>";/ + "<U006E><U006F><U0076>";"<U0064><U00E9><U0063>" mon "<U006A><U0061><U006E><U0076><U0069><U0065><U0072>";/ - "<U0066><U00E9><U0076><U0072><U0069><U0065><U0072>";/ - "<U006D><U0061><U0072><U0073>";/ - "<U0061><U0076><U0072><U0069><U006C>";/ - "<U006D><U0061><U0069>";/ - "<U006A><U0075><U0069><U006E>";/ - "<U006A><U0075><U0069><U006C><U006C><U0065><U0074>";/ - "<U0061><U006F><U00FB><U0074>";/ - "<U0073><U0065><U0070><U0074><U0065><U006D><U0062><U0072><U0065>";/ - "<U006F><U0063><U0074><U006F><U0062><U0072><U0065>";/ - "<U006E><U006F><U0076><U0065><U006D><U0062><U0072><U0065>";/ - "<U0064><U00E9><U0063><U0065><U006D><U0062><U0072><U0065>" + "<U0066><U00E9><U0076><U0072><U0069><U0065><U0072>";/ + "<U006D><U0061><U0072><U0073>";/ + "<U0061><U0076><U0072><U0069><U006C>";/ + "<U006D><U0061><U0069>";/ + "<U006A><U0075><U0069><U006E>";/ + "<U006A><U0075><U0069><U006C><U006C><U0065><U0074>";/ + "<U0061><U006F><U00FB><U0074>";/ + "<U0073><U0065><U0070><U0074><U0065><U006D><U0062><U0072><U0065>";/ + "<U006F><U0063><U0074><U006F><U0062><U0072><U0065>";/ + "<U006E><U006F><U0076><U0065><U006D><U0062><U0072><U0065>";/ + "<U0064><U00E9><U0063><U0065><U006D><U0062><U0072><U0065>" d_t_fmt "<U0025><U0061><U0020><U0025><U0064><U0020><U0025><U0062><U0020><U0025><U0059><U0020><U0025><U0054><U0020><U0025><U005A>" d_fmt "<U0025><U0064><U002E><U0025><U006D><U002E><U0025><U0059>" t_fmt "<U0025><U0054>" diff --git a/libc/malloc/arena.c b/libc/malloc/arena.c index 9114fd28e..cb8548ba3 100644 --- a/libc/malloc/arena.c +++ b/libc/malloc/arena.c @@ -747,8 +747,6 @@ _int_new_arena(size_t size) main_arena.next = a; #ifdef PER_THREAD - ++narenas; - (void)mutex_unlock(&list_lock); #endif @@ -786,30 +784,6 @@ get_free_list (void) static mstate reused_arena (void) { - if (narenas <= mp_.arena_test) - return NULL; - - static int narenas_limit; - if (narenas_limit == 0) - { - if (mp_.arena_max != 0) - narenas_limit = mp_.arena_max; - else - { - int n = __get_nprocs (); - - if (n >= 1) - narenas_limit = NARENAS_FROM_NCORES (n); - else - /* We have no information about the system. Assume two - cores. */ - narenas_limit = NARENAS_FROM_NCORES (2); - } - } - - if (narenas < narenas_limit) - return NULL; - mstate result; static mstate next_to_use; if (next_to_use == NULL) @@ -844,10 +818,41 @@ arena_get2(mstate a_tsd, size_t size) mstate a; #ifdef PER_THREAD - if ((a = get_free_list ()) == NULL - && (a = reused_arena ()) == NULL) - /* Nothing immediately available, so generate a new arena. */ - a = _int_new_arena(size); + static size_t narenas_limit; + + a = get_free_list (); + if (a == NULL) + { + /* Nothing immediately available, so generate a new arena. */ + if (narenas_limit == 0) + { + if (mp_.arena_max != 0) + narenas_limit = mp_.arena_max; + else + { + int n = __get_nprocs (); + + if (n >= 1) + narenas_limit = NARENAS_FROM_NCORES (n); + else + /* We have no information about the system. Assume two + cores. */ + narenas_limit = NARENAS_FROM_NCORES (2); + } + } + repeat:; + size_t n = narenas; + if (__builtin_expect (n <= mp_.arena_test || n < narenas_limit, 0)) + { + if (catomic_compare_and_exchange_bool_acq (&narenas, n + 1, n)) + goto repeat; + a = _int_new_arena (size); + if (__builtin_expect (a == NULL, 0)) + catomic_decrement (&narenas); + } + else + a = reused_arena (); + } #else if(!a_tsd) a = a_tsd = &main_arena; diff --git a/libc/malloc/malloc.c b/libc/malloc/malloc.c index 864c7d908..8608083ad 100644 --- a/libc/malloc/malloc.c +++ b/libc/malloc/malloc.c @@ -2855,10 +2855,10 @@ munmap_chunk(mchunkptr p) mp_.n_mmaps--; mp_.mmapped_mem -= total_size; - int ret __attribute__ ((unused)) = munmap((char *)block, total_size); - - /* munmap returns non-zero on failure */ - assert(ret == 0); + /* If munmap failed the process virtual memory address space is in a + bad shape. Just leave the block hanging around, the process will + terminate shortly anyway since not much can be done. */ + munmap((char *)block, total_size); } #if HAVE_MREMAP diff --git a/libc/manual/stdio.texi b/libc/manual/stdio.texi index 94f9126c9..588c15bf7 100644 --- a/libc/manual/stdio.texi +++ b/libc/manual/stdio.texi @@ -4780,7 +4780,6 @@ provide equivalent functionality. @menu * String Streams:: Streams that get data from or put data in a string or memory buffer. -* Obstack Streams:: Streams that store data in an obstack. * Custom Streams:: Defining your own streams with an arbitrary input data source and/or output data sink. @end menu @@ -4884,64 +4883,6 @@ buf = `hello', size = 5 buf = `hello, world', size = 12 @end smallexample -@c @group Invalid outside @example. -@node Obstack Streams -@subsection Obstack Streams - -You can open an output stream that puts it data in an obstack. -@xref{Obstacks}. - -@comment stdio.h -@comment GNU -@deftypefun {FILE *} open_obstack_stream (struct obstack *@var{obstack}) -This function opens a stream for writing data into the obstack @var{obstack}. -This starts an object in the obstack and makes it grow as data is -written (@pxref{Growing Objects}). -@c @end group Doubly invalid because not nested right. - -Calling @code{fflush} on this stream updates the current size of the -object to match the amount of data that has been written. After a call -to @code{fflush}, you can examine the object temporarily. - -You can move the file position of an obstack stream with @code{fseek} or -@code{fseeko} (@pxref{File Positioning}). Moving the file position past -the end of the data written fills the intervening space with zeros. - -To make the object permanent, update the obstack with @code{fflush}, and -then use @code{obstack_finish} to finalize the object and get its address. -The following write to the stream starts a new object in the obstack, -and later writes add to that object until you do another @code{fflush} -and @code{obstack_finish}. - -But how do you find out how long the object is? You can get the length -in bytes by calling @code{obstack_object_size} (@pxref{Status of an -Obstack}), or you can null-terminate the object like this: - -@smallexample -obstack_1grow (@var{obstack}, 0); -@end smallexample - -Whichever one you do, you must do it @emph{before} calling -@code{obstack_finish}. (You can do both if you wish.) -@end deftypefun - -Here is a sample function that uses @code{open_obstack_stream}: - -@smallexample -char * -make_message_string (const char *a, int b) -@{ - FILE *stream = open_obstack_stream (&message_obstack); - output_task (stream); - fprintf (stream, ": "); - fprintf (stream, a, b); - fprintf (stream, "\n"); - fclose (stream); - obstack_1grow (&message_obstack, 0); - return obstack_finish (&message_obstack); -@} -@end smallexample - @node Custom Streams @subsection Programming Your Own Custom Streams @cindex custom streams diff --git a/libc/math/complex.h b/libc/math/complex.h index 7e22fc9ab..a2fe0e178 100644 --- a/libc/math/complex.h +++ b/libc/math/complex.h @@ -1,4 +1,4 @@ -/* Copyright (C) 1997, 1998, 1999, 2000, 2006 Free Software Foundation, Inc. +/* Copyright (C) 1997, 1998, 1999, 2000, 2006, 2011 Free Software Foundation, Inc. This file is part of the GNU C Library. The GNU C Library is free software; you can redistribute it and/or @@ -85,9 +85,8 @@ __BEGIN_DECLS /* And the long double versions. It is non-critical to define them here unconditionally since `long double' is required in ISO C99. */ #if (__STDC__ - 0 || __GNUC__ - 0) \ - && (!defined __NO_LONG_DOUBLE_MATH \ - || defined __LDBL_COMPAT \ - || !defined _LIBC) + && (!(defined __NO_LONG_DOUBLE_MATH && defined _LIBC) \ + || defined __LDBL_COMPAT) # if defined __LDBL_COMPAT || defined __NO_LONG_DOUBLE_MATH # undef __MATHDECL_1 # define __MATHDECL_1(type, function, args) \ diff --git a/libc/math/libm-test.inc b/libc/math/libm-test.inc index f1ecdcd78..d07ab6c48 100644 --- a/libc/math/libm-test.inc +++ b/libc/math/libm-test.inc @@ -5655,6 +5655,7 @@ sin_test (void) #ifdef TEST_DOUBLE TEST_f_f (sin, 0.80190127184058835, 0.71867942238767868); + TEST_f_f (sin, 2.522464e-1, 2.4957989804940911e-1); #endif END (sin); diff --git a/libc/math/math.h b/libc/math/math.h index 7b5988114..52c23537d 100644 --- a/libc/math/math.h +++ b/libc/math/math.h @@ -98,9 +98,8 @@ __BEGIN_DECLS # undef __MATH_PRECNAME # if (__STDC__ - 0 || __GNUC__ - 0) \ - && (!defined __NO_LONG_DOUBLE_MATH \ - || defined __LDBL_COMPAT \ - || !defined _LIBC) + && (!(defined __NO_LONG_DOUBLE_MATH && defined _LIBC) \ + || defined __LDBL_COMPAT) # ifdef __LDBL_COMPAT # ifdef __USE_ISOC99 @@ -131,6 +130,7 @@ extern long double __REDIRECT_NTH (nexttowardl, /* Include the file of declarations again, this time using `long double' instead of `double' and appending l to each function name. */ + # ifndef _Mlong_double_ # define _Mlong_double_ long double # endif diff --git a/libc/misc/getpass.c b/libc/misc/getpass.c index 5290c3c7d..bdfa2c807 100644 --- a/libc/misc/getpass.c +++ b/libc/misc/getpass.c @@ -1,4 +1,4 @@ -/* Copyright (C) 1992-1999,2001,2003,2004,2005 Free Software Foundation, Inc. +/* Copyright (C) 1992-1999,2001,2003-2005,2011 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 @@ -57,7 +57,7 @@ getpass (prompt) /* Try to write to and read from the terminal if we can. If we can't open the terminal, use stderr and stdin. */ - in = fopen ("/dev/tty", "w+c"); + in = fopen ("/dev/tty", "w+ce"); if (in == NULL) { in = stdin; diff --git a/libc/misc/getttyent.c b/libc/misc/getttyent.c index 6d789c4e2..b1e6376fb 100644 --- a/libc/misc/getttyent.c +++ b/libc/misc/getttyent.c @@ -190,7 +190,7 @@ setttyent() if (tf) { (void)rewind(tf); return (1); - } else if ((tf = fopen(_PATH_TTYS, "rc"))) { + } else if ((tf = fopen(_PATH_TTYS, "rce"))) { /* We do the locking ourselves. */ __fsetlocking (tf, FSETLOCKING_BYCALLER); return (1); diff --git a/libc/misc/getusershell.c b/libc/misc/getusershell.c index 0e4f79619..2e8d97e65 100644 --- a/libc/misc/getusershell.c +++ b/libc/misc/getusershell.c @@ -104,7 +104,7 @@ initshells() shells = NULL; free(strings); strings = NULL; - if ((fp = fopen(_PATH_SHELLS, "rc")) == NULL) + if ((fp = fopen(_PATH_SHELLS, "rce")) == NULL) goto init_okshells_noclose; if (fstat64(fileno(fp), &statb) == -1) { init_okshells: diff --git a/libc/misc/mntent_r.c b/libc/misc/mntent_r.c index 0e9835c61..3b5418a19 100644 --- a/libc/misc/mntent_r.c +++ b/libc/misc/mntent_r.c @@ -38,10 +38,10 @@ FILE * __setmntent (const char *file, const char *mode) { /* Extend the mode parameter with "c" to disable cancellation in the - I/O functions. */ + I/O functions and "e" to set FD_CLOEXEC. */ size_t modelen = strlen (mode); - char newmode[modelen + 2]; - memcpy (mempcpy (newmode, mode, modelen), "c", 2); + char newmode[modelen + 3]; + memcpy (mempcpy (newmode, mode, modelen), "ce", 3); FILE *result = fopen (file, newmode); if (result != NULL) diff --git a/libc/misc/sys/cdefs.h b/libc/misc/sys/cdefs.h index 72073e855..c856e87a0 100644 --- a/libc/misc/sys/cdefs.h +++ b/libc/misc/sys/cdefs.h @@ -38,7 +38,8 @@ #ifdef __GNUC__ -/* All functions, except those with callbacks, are leaf functions. */ +/* All functions, except those with callbacks or those that + synchronize memory, are leaf functions. */ # if __GNUC_PREREQ (4, 6) && !defined _LIBC # define __LEAF , __leaf__ # define __LEAF_ATTR __attribute__ ((__leaf__)) @@ -54,13 +55,16 @@ the -fexceptions options for C code as well. */ # if !defined __cplusplus && __GNUC_PREREQ (3, 3) # define __THROW __attribute__ ((__nothrow__ __LEAF)) +# define __THROWNL __attribute__ ((__nothrow__)) # define __NTH(fct) __attribute__ ((__nothrow__ __LEAF)) fct # else # if defined __cplusplus && __GNUC_PREREQ (2,8) # define __THROW throw () +# define __THROWNL throw () # define __NTH(fct) __LEAF_ATTR fct throw () # else # define __THROW +# define __THROWNL # define __NTH(fct) fct # endif # endif @@ -70,6 +74,7 @@ # define __inline /* No inline functions. */ # define __THROW +# define __THROWNL # define __NTH(fct) fct # define __const const @@ -187,9 +192,13 @@ # ifdef __cplusplus # define __REDIRECT_NTH(name, proto, alias) \ name proto __THROW __asm__ (__ASMNAME (#alias)) +# define __REDIRECT_NTHNL(name, proto, alias) \ + name proto __THROWNL __asm__ (__ASMNAME (#alias)) # else # define __REDIRECT_NTH(name, proto, alias) \ name proto __asm__ (__ASMNAME (#alias)) __THROW +# define __REDIRECT_NTHNL(name, proto, alias) \ + name proto __asm__ (__ASMNAME (#alias)) __THROWNL # endif # define __ASMNAME(cname) __ASMNAME2 (__USER_LABEL_PREFIX__, cname) # define __ASMNAME2(prefix, cname) __STRING (prefix) cname diff --git a/libc/nis/nis_file.c b/libc/nis/nis_file.c index 566f30c48..dc382424b 100644 --- a/libc/nis/nis_file.c +++ b/libc/nis/nis_file.c @@ -1,4 +1,4 @@ -/* Copyright (c) 1997, 1998, 1999, 2004, 2005 Free Software Foundation, Inc. +/* Copyright (c) 1997, 1998, 1999, 2004, 2005, 2011 Free Software Foundation, Inc. This file is part of the GNU C Library. Contributed by Thorsten Kukuk <kukuk@suse.de>, 1997. @@ -31,7 +31,7 @@ static void * read_nis_obj (const char *name, iofct_t readfct, freefct_t freefct, size_t objsize) { - FILE *in = fopen (name, "rc"); + FILE *in = fopen (name, "rce"); if (in == NULL) return NULL; @@ -59,7 +59,7 @@ read_nis_obj (const char *name, iofct_t readfct, freefct_t freefct, static bool_t write_nis_obj (const char *name, const void *obj, iofct_t writefct) { - FILE *out = fopen (name, "w"); + FILE *out = fopen (name, "wce"); if (out == NULL) return FALSE; diff --git a/libc/nis/nis_table.c b/libc/nis/nis_table.c index aba289732..c628ed63c 100644 --- a/libc/nis/nis_table.c +++ b/libc/nis/nis_table.c @@ -101,8 +101,8 @@ __create_ib_request (const_nis_name name, unsigned int flags) } *val++ = '\0'; if (search_len + 1 >= size) - { - size += 1; + { + size += 1; nis_attr *newp = realloc (search_val, size * sizeof (nis_attr)); if (newp == NULL) goto free_null; @@ -279,8 +279,8 @@ nis_list (const_nis_name name, unsigned int flags, &dir, &bptr, flags & ~MASTER_ONLY); if (status != NIS_SUCCESS) { - NIS_RES_STATUS (res) = status; - goto fail3; + NIS_RES_STATUS (res) = status; + goto fail3; } while (__nisbind_connect (&bptr) != NIS_SUCCESS) @@ -368,12 +368,12 @@ nis_list (const_nis_name name, unsigned int flags, else if ((flags & FOLLOW_PATH) && NIS_RES_STATUS (res) == NIS_PARTIAL) { - clnt_status = __follow_path (&tablepath, &tableptr, ibreq, - &bptr); - if (clnt_status != NIS_SUCCESS) + enum nis_error err = __follow_path (&tablepath, &tableptr, + ibreq, &bptr); + if (err != NIS_SUCCESS) { - if (clnt_status == NIS_NOMEMORY) - NIS_RES_STATUS (res) = clnt_status; + if (err == NIS_NOMEMORY) + NIS_RES_STATUS (res) = err; ++done; } else @@ -428,15 +428,15 @@ nis_list (const_nis_name name, unsigned int flags, NIS_RES_STATUS (allres) = NIS_RES_STATUS (res); xdr_free ((xdrproc_t) _xdr_nis_result, (char *) res); } - clnt_status = __follow_path (&tablepath, &tableptr, ibreq, - &bptr); - if (clnt_status != NIS_SUCCESS) + enum nis_error err = __follow_path (&tablepath, &tableptr, + ibreq, &bptr); + if (err != NIS_SUCCESS) { /* Prepare for the nis_freeresult call. */ memset (res, '\0', sizeof (*res)); - if (clnt_status == NIS_NOMEMORY) - NIS_RES_STATUS (allres) = clnt_status; + if (err == NIS_NOMEMORY) + NIS_RES_STATUS (allres) = err; ++done; } } @@ -453,12 +453,12 @@ nis_list (const_nis_name name, unsigned int flags, ++done; else { - clnt_status + enum nis_error err = __follow_path (&tablepath, &tableptr, ibreq, &bptr); - if (clnt_status != NIS_SUCCESS) + if (err != NIS_SUCCESS) { - if (clnt_status == NIS_NOMEMORY) - NIS_RES_STATUS (res) = clnt_status; + if (err == NIS_NOMEMORY) + NIS_RES_STATUS (res) = err; ++done; } } diff --git a/libc/nis/nss-default.c b/libc/nis/nss-default.c index d7a3293a4..e4dc3d6af 100644 --- a/libc/nis/nss-default.c +++ b/libc/nis/nss-default.c @@ -1,4 +1,5 @@ -/* Copyright (C) 1996,2001,2004,2006,2007,2010 Free Software Foundation, Inc. +/* Copyright (C) 1996,2001,2004,2006,2007,2010,2011 + 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 @@ -57,7 +58,7 @@ static void init (void) { int saved_errno = errno; - FILE *fp = fopen (default_nss, "rc"); + FILE *fp = fopen (default_nss, "rce"); if (fp != NULL) { char *line = NULL; diff --git a/libc/nptl/ChangeLog b/libc/nptl/ChangeLog index f4b2f04c0..9abaa26ba 100644 --- a/libc/nptl/ChangeLog +++ b/libc/nptl/ChangeLog @@ -1,3 +1,23 @@ +2011-11-15 Ulrich Drepper <drepper@gmail.com> + + * pthread_getattr_np.c (pthread_getattr_np): Set FD_CLOEXEC for + /proc/self/maps. + +2011-10-29 Ulrich Drepper <drepper@gmail.com> + + [BZ #13358] + * sysdeps/unix/sysv/linux/x86_64/pthread_cond_timedwait.S + (__pthread_cond_timedwait): Initialize %r15 correctly also for code + path for kernels with FUTEX_CLOCK_REALTIME. + Debugged by H.J. Lu <hjl.tools@gmail.com>. + +2011-10-27 Andreas Schwab <schwab@redhat.com> + + [BZ #13344] + * sysdeps/pthread/pthread.h: Use __THREADNL instead of __THREAD + for memory synchronization functions. + * semaphore.h: Likewise. + 2011-10-24 Ulrich Drepper <drepper@gmail.com> * tst-cancel7.c: Avoid warning. diff --git a/libc/nptl/pthread_getattr_np.c b/libc/nptl/pthread_getattr_np.c index 9c25caff8..f03c97899 100644 --- a/libc/nptl/pthread_getattr_np.c +++ b/libc/nptl/pthread_getattr_np.c @@ -1,4 +1,4 @@ -/* Copyright (C) 2002, 2003, 2004, 2006, 2007 Free Software Foundation, Inc. +/* Copyright (C) 2002-2004, 2006, 2007, 2011 Free Software Foundation, Inc. This file is part of the GNU C Library. Contributed by Ulrich Drepper <drepper@redhat.com>, 2002. @@ -75,7 +75,7 @@ pthread_getattr_np (thread_id, attr) /* The safest way to get the top of the stack is to read /proc/self/maps and locate the line into which __libc_stack_end falls. */ - FILE *fp = fopen ("/proc/self/maps", "rc"); + FILE *fp = fopen ("/proc/self/maps", "rce"); if (fp == NULL) ret = errno; /* We need the limit of the stack in any case. */ @@ -164,7 +164,7 @@ pthread_getattr_np (thread_id, attr) { free (cpuset); if (ret == ENOSYS) - { + { /* There is no such functionality. */ ret = 0; iattr->cpuset = NULL; diff --git a/libc/nptl/semaphore.h b/libc/nptl/semaphore.h index 4f13725b3..11caf664a 100644 --- a/libc/nptl/semaphore.h +++ b/libc/nptl/semaphore.h @@ -1,4 +1,4 @@ -/* Copyright (C) 2002, 2003 Free Software Foundation, Inc. +/* Copyright (C) 2002, 2003, 2011 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 @@ -64,10 +64,10 @@ extern int sem_timedwait (sem_t *__restrict __sem, #endif /* Test whether SEM is posted. */ -extern int sem_trywait (sem_t *__sem) __THROW; +extern int sem_trywait (sem_t *__sem) __THROWNL; /* Post SEM. */ -extern int sem_post (sem_t *__sem) __THROW; +extern int sem_post (sem_t *__sem) __THROWNL; /* Get current value of SEM and store it in *SVAL. */ extern int sem_getvalue (sem_t *__restrict __sem, int *__restrict __sval) diff --git a/libc/nptl/sysdeps/pthread/pthread.h b/libc/nptl/sysdeps/pthread/pthread.h index 4c8366545..a92428162 100644 --- a/libc/nptl/sysdeps/pthread/pthread.h +++ b/libc/nptl/sysdeps/pthread/pthread.h @@ -1,4 +1,4 @@ -/* Copyright (C) 2002, 2003, 2004, 2005, 2006, 2007, 2008, 2009, 2010 +/* Copyright (C) 2002, 2003, 2004, 2005, 2006, 2007, 2008, 2009, 2010, 2011 Free Software Foundation, Inc. This file is part of the GNU C Library. @@ -225,7 +225,7 @@ __BEGIN_DECLS extern int pthread_create (pthread_t *__restrict __newthread, __const pthread_attr_t *__restrict __attr, void *(*__start_routine) (void *), - void *__restrict __arg) __THROW __nonnull ((1, 3)); + void *__restrict __arg) __THROWNL __nonnull ((1, 3)); /* Terminate calling thread. @@ -740,22 +740,22 @@ extern int pthread_mutex_destroy (pthread_mutex_t *__mutex) /* Try locking a mutex. */ extern int pthread_mutex_trylock (pthread_mutex_t *__mutex) - __THROW __nonnull ((1)); + __THROWNL __nonnull ((1)); /* Lock a mutex. */ extern int pthread_mutex_lock (pthread_mutex_t *__mutex) - __THROW __nonnull ((1)); + __THROWNL __nonnull ((1)); #ifdef __USE_XOPEN2K /* Wait until lock becomes available, or specified time passes. */ extern int pthread_mutex_timedlock (pthread_mutex_t *__restrict __mutex, __const struct timespec *__restrict - __abstime) __THROW __nonnull ((1, 2)); + __abstime) __THROWNL __nonnull ((1, 2)); #endif /* Unlock a mutex. */ extern int pthread_mutex_unlock (pthread_mutex_t *__mutex) - __THROW __nonnull ((1)); + __THROWNL __nonnull ((1)); /* Get the priority ceiling of MUTEX. */ @@ -879,37 +879,37 @@ extern int pthread_rwlock_destroy (pthread_rwlock_t *__rwlock) /* Acquire read lock for RWLOCK. */ extern int pthread_rwlock_rdlock (pthread_rwlock_t *__rwlock) - __THROW __nonnull ((1)); + __THROWNL __nonnull ((1)); /* Try to acquire read lock for RWLOCK. */ extern int pthread_rwlock_tryrdlock (pthread_rwlock_t *__rwlock) - __THROW __nonnull ((1)); + __THROWNL __nonnull ((1)); # ifdef __USE_XOPEN2K /* Try to acquire read lock for RWLOCK or return after specfied time. */ extern int pthread_rwlock_timedrdlock (pthread_rwlock_t *__restrict __rwlock, __const struct timespec *__restrict - __abstime) __THROW __nonnull ((1, 2)); + __abstime) __THROWNL __nonnull ((1, 2)); # endif /* Acquire write lock for RWLOCK. */ extern int pthread_rwlock_wrlock (pthread_rwlock_t *__rwlock) - __THROW __nonnull ((1)); + __THROWNL __nonnull ((1)); /* Try to acquire write lock for RWLOCK. */ extern int pthread_rwlock_trywrlock (pthread_rwlock_t *__rwlock) - __THROW __nonnull ((1)); + __THROWNL __nonnull ((1)); # ifdef __USE_XOPEN2K /* Try to acquire write lock for RWLOCK or return after specfied time. */ extern int pthread_rwlock_timedwrlock (pthread_rwlock_t *__restrict __rwlock, __const struct timespec *__restrict - __abstime) __THROW __nonnull ((1, 2)); + __abstime) __THROWNL __nonnull ((1, 2)); # endif /* Unlock RWLOCK. */ extern int pthread_rwlock_unlock (pthread_rwlock_t *__rwlock) - __THROW __nonnull ((1)); + __THROWNL __nonnull ((1)); /* Functions for handling read-write lock attributes. */ @@ -959,11 +959,11 @@ extern int pthread_cond_destroy (pthread_cond_t *__cond) /* Wake up one thread waiting for condition variable COND. */ extern int pthread_cond_signal (pthread_cond_t *__cond) - __THROW __nonnull ((1)); + __THROWNL __nonnull ((1)); /* Wake up all threads waiting for condition variables COND. */ extern int pthread_cond_broadcast (pthread_cond_t *__cond) - __THROW __nonnull ((1)); + __THROWNL __nonnull ((1)); /* Wait for condition variable COND to be signaled or broadcast. MUTEX is assumed to be locked before. @@ -1034,15 +1034,15 @@ extern int pthread_spin_destroy (pthread_spinlock_t *__lock) /* Wait until spinlock LOCK is retrieved. */ extern int pthread_spin_lock (pthread_spinlock_t *__lock) - __THROW __nonnull ((1)); + __THROWNL __nonnull ((1)); /* Try to lock spinlock LOCK. */ extern int pthread_spin_trylock (pthread_spinlock_t *__lock) - __THROW __nonnull ((1)); + __THROWNL __nonnull ((1)); /* Release spinlock LOCK. */ extern int pthread_spin_unlock (pthread_spinlock_t *__lock) - __THROW __nonnull ((1)); + __THROWNL __nonnull ((1)); /* Functions to handle barriers. */ @@ -1060,7 +1060,7 @@ extern int pthread_barrier_destroy (pthread_barrier_t *__barrier) /* Wait on barrier BARRIER. */ extern int pthread_barrier_wait (pthread_barrier_t *__barrier) - __THROW __nonnull ((1)); + __THROWNL __nonnull ((1)); /* Initialize barrier attribute ATTR. */ diff --git a/libc/nptl/sysdeps/unix/sysv/linux/x86_64/pthread_cond_timedwait.S b/libc/nptl/sysdeps/unix/sysv/linux/x86_64/pthread_cond_timedwait.S index d11b29746..acbd3fa53 100644 --- a/libc/nptl/sysdeps/unix/sysv/linux/x86_64/pthread_cond_timedwait.S +++ b/libc/nptl/sysdeps/unix/sysv/linux/x86_64/pthread_cond_timedwait.S @@ -1,4 +1,4 @@ -/* Copyright (C) 2002-2005, 2007, 2009, 2010, 2011 Free Software Foundation, Inc. +/* Copyright (C) 2002-2005,2007,2009,2010,2011 Free Software Foundation, Inc. This file is part of the GNU C Library. Contributed by Ulrich Drepper <drepper@redhat.com>, 2002. @@ -101,6 +101,8 @@ __pthread_cond_timedwait: movq %rsi, dep_mutex(%rdi) 22: + xorl %r15d, %r15d + #ifndef __ASSUME_FUTEX_CLOCK_REALTIME # ifdef PIC cmpl $0, __have_futex_clock_realtime(%rip) @@ -402,8 +404,6 @@ __pthread_cond_timedwait: #ifndef __ASSUME_FUTEX_CLOCK_REALTIME .Lreltmo: - xorl %r15d, %r15d - /* Get internal lock. */ movl $1, %esi xorl %eax, %eax diff --git a/libc/nscd/connections.c b/libc/nscd/connections.c index 2b5c7ef53..c74199616 100644 --- a/libc/nscd/connections.c +++ b/libc/nscd/connections.c @@ -24,6 +24,7 @@ #include <errno.h> #include <fcntl.h> #include <grp.h> +#include <ifaddrs.h> #include <libintl.h> #include <pthread.h> #include <pwd.h> @@ -32,6 +33,10 @@ #include <stdlib.h> #include <unistd.h> #include <arpa/inet.h> +#ifdef HAVE_NETLINK +# include <linux/netlink.h> +# include <linux/rtnetlink.h> +#endif #ifdef HAVE_EPOLL # include <sys/epoll.h> #endif @@ -247,6 +252,11 @@ static int sock; int inotify_fd = -1; #endif +#ifdef HAVE_NETLINK +/* Descriptor for netlink status updates. */ +static int nl_status_fd = -1; +#endif + #ifndef __ASSUME_SOCK_CLOEXEC /* Negative if SOCK_CLOEXEC is not supported, positive if it is, zero before be know the result. */ @@ -903,6 +913,65 @@ cannot set socket to close on exec: %s; disabling paranoia mode"), exit (1); } +#ifdef HAVE_NETLINK + if (dbs[hstdb].enabled) + { + /* Try to open netlink socket to monitor network setting changes. */ + nl_status_fd = socket (AF_NETLINK, + SOCK_RAW | SOCK_CLOEXEC | SOCK_NONBLOCK, + NETLINK_ROUTE); + if (nl_status_fd != -1) + { + struct sockaddr_nl snl; + memset (&snl, '\0', sizeof (snl)); + snl.nl_family = AF_NETLINK; + /* XXX Is this the best set to use? */ + snl.nl_groups = (RTMGRP_IPV4_IFADDR | RTMGRP_TC | RTMGRP_IPV4_MROUTE + | RTMGRP_IPV4_ROUTE | RTMGRP_IPV4_RULE + | RTMGRP_IPV6_IFADDR | RTMGRP_IPV6_MROUTE + | RTMGRP_IPV6_ROUTE | RTMGRP_IPV6_IFINFO + | RTMGRP_IPV6_PREFIX); + + if (bind (nl_status_fd, (struct sockaddr *) &snl, sizeof (snl)) != 0) + { + close (nl_status_fd); + nl_status_fd = -1; + } + else + { + /* Start the timestamp process. */ + dbs[hstdb].head->extra_data[NSCD_HST_IDX_CONF_TIMESTAMP] + = __bump_nl_timestamp (); + +# ifndef __ASSUME_SOCK_CLOEXEC + if (have_sock_cloexec < 0) + { + /* We don't want to get stuck on accept. */ + int fl = fcntl (nl_status_fd, F_GETFL); + if (fl == -1 + || fcntl (nl_status_fd, F_SETFL, fl | O_NONBLOCK) == -1) + { + dbg_log (_("\ +cannot change socket to nonblocking mode: %s"), + strerror (errno)); + exit (1); + } + + /* The descriptor needs to be closed on exec. */ + if (paranoia + && fcntl (nl_status_fd, F_SETFD, FD_CLOEXEC) == -1) + { + dbg_log (_("cannot set socket to close on exec: %s"), + strerror (errno)); + exit (1); + } + } +# endif + } + } + } +#endif + /* Change to unprivileged uid/gid/groups if specified in config file */ if (server_user != NULL) finish_drop_privileges (); @@ -1826,6 +1895,18 @@ main_loop_poll (void) } #endif +#ifdef HAVE_NETLINK + size_t idx_nl_status_fd = 0; + if (nl_status_fd != -1) + { + idx_nl_status_fd = nused; + conns[nused].fd = nl_status_fd; + conns[nused].events = POLLRDNORM; + ++nused; + firstfree = nused; + } +#endif + while (1) { /* Wait for any event. We wait at most a couple of seconds so @@ -1968,6 +2049,20 @@ disabled inotify after read error %d"), } #endif +#ifdef HAVE_NETLINK + if (idx_nl_status_fd != 0 && conns[idx_nl_status_fd].revents != 0) + { + char buf[4096]; + /* Read all the data. We do not interpret it here. */ + while (TEMP_FAILURE_RETRY (read (nl_status_fd, buf, + sizeof (buf))) != -1) + ; + + dbs[hstdb].head->extra_data[NSCD_HST_IDX_CONF_TIMESTAMP] + = __bump_nl_timestamp (); + } +#endif + for (size_t cnt = first; cnt < nused && n > 0; ++cnt) if (conns[cnt].revents != 0) { @@ -2046,6 +2141,17 @@ main_loop_epoll (int efd) } # endif +# ifdef HAVE_NETLINK + if (nl_status_fd != -1) + { + ev.events = EPOLLRDNORM; + ev.data.fd = nl_status_fd; + if (epoll_ctl (efd, EPOLL_CTL_ADD, nl_status_fd, &ev) == -1) + /* We cannot use epoll. */ + return; + } +# endif + while (1) { struct epoll_event revs[100]; @@ -2162,6 +2268,18 @@ main_loop_epoll (int efd) } } # endif +# ifdef HAVE_NETLINK + else if (revs[cnt].data.fd == nl_status_fd) + { + char buf[4096]; + /* Read all the data. We do not interpret it here. */ + while (TEMP_FAILURE_RETRY (read (nl_status_fd, buf, + sizeof (buf))) != -1) + ; + + __bump_nl_timestamp (); + } +# endif else { /* Remove the descriptor from the epoll descriptor. */ @@ -2185,6 +2303,7 @@ main_loop_epoll (int efd) time_t laststart = now - ACCEPT_TIMEOUT; assert (starttime[sock] == 0); assert (inotify_fd == -1 || starttime[inotify_fd] == 0); + assert (nl_status_fd == -1 || starttime[nl_status_fd] == 0); for (int cnt = highest; cnt > STDERR_FILENO; --cnt) if (starttime[cnt] != 0 && starttime[cnt] < laststart) { diff --git a/libc/nscd/nscd-client.h b/libc/nscd/nscd-client.h index caad26a9c..b5cd2d2c1 100644 --- a/libc/nscd/nscd-client.h +++ b/libc/nscd/nscd-client.h @@ -260,12 +260,17 @@ struct hashentry /* Current persistent database version. */ -#define DB_VERSION 1 +#define DB_VERSION 2 /* Maximum time allowed between updates of the timestamp. */ #define MAPPING_TIMEOUT (5 * 60) +/* Used indices for the EXTRA_DATA element of 'database_pers_head'. + Each database has its own indices. */ +#define NSCD_HST_IDX_CONF_TIMESTAMP 0 + + /* Header of persistent database file. */ struct database_pers_head { @@ -274,6 +279,8 @@ struct database_pers_head volatile int32_t gc_cycle; volatile int32_t nscd_certainly_running; volatile nscd_time_t timestamp; + /* Room for extensions. */ + volatile uint32_t extra_data[4]; nscd_ssize_t module; nscd_ssize_t data_size; @@ -322,6 +329,12 @@ extern int __nscd_open_socket (const char *key, size_t keylen, request_type type, void *response, size_t responselen) attribute_hidden; +/* Try to get a file descriptor for the shared meory segment + containing the database. */ +extern struct mapped_database *__nscd_get_mapping (request_type type, + const char *key, + struct mapped_database **mappedp) attribute_hidden; + /* Get reference of mapping. */ extern struct mapped_database *__nscd_get_map_ref (request_type type, const char *name, @@ -371,4 +384,7 @@ extern ssize_t writeall (int fd, const void *buf, size_t len) extern ssize_t sendfileall (int tofd, int fromfd, off_t off, size_t len) attribute_hidden; +/* Get netlink timestamp counter from mapped area or zero. */ +extern uint32_t __nscd_get_nl_timestamp (void); + #endif /* nscd.h */ diff --git a/libc/nscd/nscd.c b/libc/nscd/nscd.c index ccc0d761a..f0521fe0e 100644 --- a/libc/nscd/nscd.c +++ b/libc/nscd/nscd.c @@ -263,10 +263,6 @@ main (int argc, char **argv) /* In foreground mode we are not paranoid. */ paranoia = 0; - /* Start the SELinux AVC. */ - if (selinux_enabled) - nscd_avc_init (); - signal (SIGINT, termination_handler); signal (SIGQUIT, termination_handler); signal (SIGTERM, termination_handler); @@ -294,6 +290,10 @@ main (int argc, char **argv) /* Init databases. */ nscd_init (); + /* Start the SELinux AVC. */ + if (selinux_enabled) + nscd_avc_init (); + /* Handle incoming requests */ start_threads (); diff --git a/libc/nscd/nscd_gethst_r.c b/libc/nscd/nscd_gethst_r.c index 70631fa96..6ee142d71 100644 --- a/libc/nscd/nscd_gethst_r.c +++ b/libc/nscd/nscd_gethst_r.c @@ -1,4 +1,4 @@ -/* Copyright (C) 1998-2005, 2006, 2007, 2008, 2009 +/* Copyright (C) 1998-2005, 2006, 2007, 2008, 2009, 2011 Free Software Foundation, Inc. This file is part of the GNU C Library. Contributed by Ulrich Drepper <drepper@cygnus.com>, 1998. @@ -98,6 +98,27 @@ libc_freeres_fn (hst_map_free) } +uint32_t +__nscd_get_nl_timestamp (void) +{ + if (__nss_not_use_nscd_hosts != 0) + return 0; + + struct mapped_database *map = __hst_map_handle.mapped; + + if (map == NULL + || (map != NO_MAPPING + && map->head->nscd_certainly_running == 0 + && map->head->timestamp + MAPPING_TIMEOUT < time (NULL))) + map = __nscd_get_mapping (GETFDHST, "hosts", &__hst_map_handle.mapped); + + if (map == NO_MAPPING) + return 0; + + return map->head->extra_data[NSCD_HST_IDX_CONF_TIMESTAMP]; +} + + int __nss_have_localdomain attribute_hidden; static int diff --git a/libc/nscd/nscd_helper.c b/libc/nscd/nscd_helper.c index fe63f9a7f..365b59989 100644 --- a/libc/nscd/nscd_helper.c +++ b/libc/nscd/nscd_helper.c @@ -277,9 +277,9 @@ __nscd_unmap (struct mapped_database *mapped) /* Try to get a file descriptor for the shared meory segment containing the database. */ -static struct mapped_database * -get_mapping (request_type type, const char *key, - struct mapped_database **mappedp) +struct mapped_database * +__nscd_get_mapping (request_type type, const char *key, + struct mapped_database **mappedp) { struct mapped_database *result = NO_MAPPING; #ifdef SCM_RIGHTS @@ -449,8 +449,8 @@ __nscd_get_map_ref (request_type type, const char *name, || (cur->head->nscd_certainly_running == 0 && cur->head->timestamp + MAPPING_TIMEOUT < time (NULL)) || cur->head->data_size > cur->datasize) - cur = get_mapping (type, name, - (struct mapped_database **) &mapptr->mapped); + cur = __nscd_get_mapping (type, name, + (struct mapped_database **) &mapptr->mapped); if (__builtin_expect (cur != NO_MAPPING, 1)) { diff --git a/libc/nss/db-Makefile b/libc/nss/db-Makefile index 13259c188..f86ba12ba 100644 --- a/libc/nss/db-Makefile +++ b/libc/nss/db-Makefile @@ -59,7 +59,7 @@ $(VAR_DB)/group.db: /etc/group } \ delete grmems; } } \ END { for (mem in members) \ - printf ":%s $s %s\n", mem, mem, members[mem]; }' $^ | \ + printf ":%s %s %s\n", mem, mem, members[mem]; }' $^ | \ $(MAKEDB) -o $@ - @echo "done." diff --git a/libc/nss/getent.c b/libc/nss/getent.c index fc0d685f0..c3649fcb0 100644 --- a/libc/nss/getent.c +++ b/libc/nss/getent.c @@ -524,6 +524,12 @@ initgroups_keys (int number, char *key[]) size_t grpslen = ngrps * sizeof (gid_t); gid_t *grps = alloca (grpslen); + if (number == 0) + { + fprintf (stderr, _("Enumeration not supported on %s\n"), "initgroups"); + return 3; + } + for (int i = 0; i < number; ++i) { int no = ngrps; diff --git a/libc/nss/makedb.c b/libc/nss/makedb.c index baa08bce1..e7bd8f858 100644 --- a/libc/nss/makedb.c +++ b/libc/nss/makedb.c @@ -845,7 +845,7 @@ set_file_creation_context (const char *outname, mode_t mode) /* Check if SELinux is enabled, and remember. */ if (enabled == 0) - enabled = is_selinux_enabled (); + enabled = is_selinux_enabled () ? 1 : -1; if (enabled < 0) return; diff --git a/libc/nss/nss_files/files-XXX.c b/libc/nss/nss_files/files-XXX.c index 1a6fa0ddd..8db052903 100644 --- a/libc/nss/nss_files/files-XXX.c +++ b/libc/nss/nss_files/files-XXX.c @@ -77,7 +77,7 @@ internal_setent (int stayopen) if (stream == NULL) { - stream = fopen (DATAFILE, "re"); + stream = fopen (DATAFILE, "rce"); if (stream == NULL) status = errno == EAGAIN ? NSS_STATUS_TRYAGAIN : NSS_STATUS_UNAVAIL; diff --git a/libc/nss/nss_files/files-alias.c b/libc/nss/nss_files/files-alias.c index 714299aad..023021e6c 100644 --- a/libc/nss/nss_files/files-alias.c +++ b/libc/nss/nss_files/files-alias.c @@ -48,7 +48,7 @@ internal_setent (void) if (stream == NULL) { - stream = fopen ("/etc/aliases", "re"); + stream = fopen ("/etc/aliases", "rce"); if (stream == NULL) status = errno == EAGAIN ? NSS_STATUS_TRYAGAIN : NSS_STATUS_UNAVAIL; @@ -258,7 +258,7 @@ get_next_alias (const char *match, struct aliasent *result, first_unused = cp; - listfile = fopen (&cp[9], "r"); + listfile = fopen (&cp[9], "rce"); /* If the file does not exist we simply ignore the statement. */ if (listfile != NULL diff --git a/libc/nss/nss_files/files-initgroups.c b/libc/nss/nss_files/files-initgroups.c index c343b35e5..3a3b5c1e3 100644 --- a/libc/nss/nss_files/files-initgroups.c +++ b/libc/nss/nss_files/files-initgroups.c @@ -30,7 +30,7 @@ _nss_files_initgroups_dyn (const char *user, gid_t group, long int *start, long int *size, gid_t **groupsp, long int limit, int *errnop) { - FILE *stream = fopen ("/etc/group", "re"); + FILE *stream = fopen ("/etc/group", "rce"); if (stream == NULL) { *errnop = errno; @@ -73,7 +73,7 @@ _nss_files_initgroups_dyn (const char *user, gid_t group, long int *start, if (buffer_use_malloc || ! __libc_use_alloca (buflen + newbuflen)) { void *newbuf = realloc (buffer_use_malloc ? buffer : NULL, - buflen); + newbuflen); if (newbuf == NULL) { *errnop = ENOMEM; diff --git a/libc/nss/nss_files/files-key.c b/libc/nss/nss_files/files-key.c index fb108c809..cb3920482 100644 --- a/libc/nss/nss_files/files-key.c +++ b/libc/nss/nss_files/files-key.c @@ -33,7 +33,7 @@ extern int xdecrypt (char *, char *); static enum nss_status search (const char *netname, char *result, int *errnop, int secret) { - FILE *stream = fopen (DATAFILE, "re"); + FILE *stream = fopen (DATAFILE, "rce"); if (stream == NULL) return errno == EAGAIN ? NSS_STATUS_TRYAGAIN : NSS_STATUS_UNAVAIL; diff --git a/libc/nss/nss_files/files-netgrp.c b/libc/nss/nss_files/files-netgrp.c index 4b5d774fd..f70196bc7 100644 --- a/libc/nss/nss_files/files-netgrp.c +++ b/libc/nss/nss_files/files-netgrp.c @@ -1,5 +1,5 @@ /* Netgroup file parser in nss_files modules. - Copyright (C) 1996, 1997, 2000, 2004, 2005 Free Software Foundation, Inc. + Copyright (C) 1996, 1997, 2000, 2004, 2005, 2011 Free Software Foundation, Inc. This file is part of the GNU C Library. Contributed by Ulrich Drepper <drepper@cygnus.com>, 1996. @@ -63,7 +63,7 @@ _nss_files_setnetgrent (const char *group, struct __netgrent *result) return NSS_STATUS_UNAVAIL; /* Find the netgroups file and open it. */ - fp = fopen (DATAFILE, "r"); + fp = fopen (DATAFILE, "rce"); if (fp == NULL) status = errno == EAGAIN ? NSS_STATUS_TRYAGAIN : NSS_STATUS_UNAVAIL; else diff --git a/libc/nss/nsswitch.c b/libc/nss/nsswitch.c index 06995bda6..674b3d32c 100644 --- a/libc/nss/nsswitch.c +++ b/libc/nss/nsswitch.c @@ -574,7 +574,7 @@ nss_parse_file (const char *fname) size_t len; /* Open the configuration file. */ - fp = fopen (fname, "rc"); + fp = fopen (fname, "rce"); if (fp == NULL) return NULL; diff --git a/libc/po/es.po b/libc/po/es.po index 493a54c60..e03b82676 100644 --- a/libc/po/es.po +++ b/libc/po/es.po @@ -1,382 +1,1448 @@ -# Mensajes en español para GNU libc. -# Copyright (C) 1996, 1997, 1998, 2001, 2002, 2003, 2004 Free Software Foundation, Inc. -# Enrique Melero Gómez <melero@eurolands.com>, 1996, 1997. -# Santiago Vila Doncel <sanvila@unex.es>, 1997, 1998, 2001, 2002, 2003, 2004. +# Mensajes en español para GNU libc. +# Copyright (C) 1996, 1997, 1998, 2001, 2002, 2003, 2004, 2011 Free Software Foundation, Inc. +# This file is distributed under the same license as the glibc package. +# Enrique Melero Gómez <melero@eurolands.com>, 1996, 1997. +# Santiago Vila Doncel <sanvila@unex.es>, 1997, 1998, 2001, 2002, 2003, 2004, 2011. # msgid "" msgstr "" -"Project-Id-Version: GNU libc 2.3.3\n" +"Project-Id-Version: GNU libc 2.14\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2004-08-05 09:16+0200\n" -"PO-Revision-Date: 2004-12-28 19:46+0100\n" +"POT-Creation-Date: 2011-05-31 00:06-0400\n" +"PO-Revision-Date: 2011-10-25 17:03+0200\n" "Last-Translator: Santiago Vila Doncel <sanvila@unex.es>\n" "Language-Team: Spanish <es@li.org>\n" +"Language: es\n" "MIME-Version: 1.0\n" -"Content-Type: text/plain; charset=ISO-8859-1\n" +"Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8-bit\n" -# Habrá que mirar esto -# Mirado, efectivamente esto es una señal que habrá -# que dejarla con su nombre original ( entre paréntesis ) -#: sysdeps/generic/siglist.h:29 stdio-common/../sysdeps/unix/siglist.c:27 -msgid "Hangup" -msgstr "Colgar (hangup)" +#: argp/argp-help.c:228 +#, c-format +msgid "%.*s: ARGP_HELP_FMT parameter requires a value" +msgstr "%.*s: El argumento ARGP_HELP_FMT requiere un valor" -#: sysdeps/generic/siglist.h:30 stdio-common/../sysdeps/unix/siglist.c:28 -msgid "Interrupt" -msgstr "Interrupción" +#: argp/argp-help.c:238 +#, c-format +msgid "%.*s: Unknown ARGP_HELP_FMT parameter" +msgstr "%.*s: Parámetro ARGP_HELP_FMT desconocido" -# Podría ser también "Abandonar" sv -#: sysdeps/generic/siglist.h:31 stdio-common/../sysdeps/unix/siglist.c:29 -msgid "Quit" -msgstr "Abandona" +#: argp/argp-help.c:251 +#, c-format +msgid "Garbage in ARGP_HELP_FMT: %s" +msgstr "Inconsistencias en ARGP_HELP_FMT: %s" -# Se trata de una instrucción ilegal en el juego de instrucciones del 486 -# que provoca una "excepción". -#: sysdeps/generic/siglist.h:32 stdio-common/../sysdeps/unix/siglist.c:30 -msgid "Illegal instruction" -msgstr "Instrucción ilegal" +#: argp/argp-help.c:1215 +msgid "Mandatory or optional arguments to long options are also mandatory or optional for any corresponding short options." +msgstr "" +"Los argumentos obligatorios u opcionales para las opciones largas son\n" +"también obligatorios u opcionales para las opciones cortas correspondientes." -#: sysdeps/generic/siglist.h:33 stdio-common/../sysdeps/unix/siglist.c:31 -msgid "Trace/breakpoint trap" -msgstr "`trap' para punto de parada/seguimiento" +#: argp/argp-help.c:1601 +msgid "Usage:" +msgstr "Modo de empleo:" -#: sysdeps/generic/siglist.h:34 -msgid "Aborted" -msgstr "Abortado" +#: argp/argp-help.c:1605 +msgid " or: " +msgstr " o: " -#: sysdeps/generic/siglist.h:35 stdio-common/../sysdeps/unix/siglist.c:34 -msgid "Floating point exception" -msgstr "Excepción de coma flotante" +#: argp/argp-help.c:1617 +msgid " [OPTION...]" +msgstr " [OPCIÓN...]" -# A quien se le ocurra `matar' un proceso, que especifique con qué señal. -# En todo caso ` Terminado ( KILL ) ' sería apropiado. Ver fuentes -#: sysdeps/generic/siglist.h:36 stdio-common/../sysdeps/unix/siglist.c:35 -msgid "Killed" -msgstr "Terminado (killed)" +#: argp/argp-help.c:1644 +#, c-format +msgid "Try `%s --help' or `%s --usage' for more information.\n" +msgstr "Pruebe `%s --help' o `%s --usage' para más información.\n" -#: sysdeps/generic/siglist.h:37 stdio-common/../sysdeps/unix/siglist.c:36 -msgid "Bus error" -msgstr "Error del bus" +#: argp/argp-help.c:1672 +#, c-format +msgid "Report bugs to %s.\n" +msgstr "Comunicar bichos a %s.\n" -# ¿De "segmento", o de "segmentación"? sv -# De segmentación me parece incorrecto. La memoria ya estaba -# segmentada, y se intentó acceder a un segmento -# que no pertenece al programa. em -# ¿Entonces dirías que está mal el original inglés? sv -# No, en inglés siempre se ha dicho así. Siempre he traducido -# Segmentation fault como violación de segmento. Consultémoslo, -# es un mensaje que se ve demasiado a menudo em -#: sysdeps/generic/siglist.h:38 stdio-common/../sysdeps/unix/siglist.c:37 -msgid "Segmentation fault" -msgstr "Violación de segmento" +#: argp/argp-parse.c:102 +msgid "Give this help list" +msgstr "Da esta lista de ayuda" + +#: argp/argp-parse.c:103 +msgid "Give a short usage message" +msgstr "Da un mensaje corto de uso" + +#: argp/argp-parse.c:104 +msgid "Set the program name" +msgstr "Establece el nombre del programa" + +#: argp/argp-parse.c:106 +msgid "Hang for SECS seconds (default 3600)" +msgstr "Cuelga durante SECS segundos (por omisión, 3600)" -# Vi traducido pipe como tubo en un libro sobre pc/dos, y me horrorizó -# menos mal que venía siempre la palabra `pipe' al lado entrecomillada +#: argp/argp-parse.c:167 +msgid "Print program version" +msgstr "Muestra la versión del programa" + +#: argp/argp-parse.c:183 +msgid "(PROGRAM ERROR) No version known!?" +msgstr "(ERROR DEL PROGRAMA) ¿¡No se conoce ninguna versión!?" + +#: argp/argp-parse.c:623 +#, c-format +msgid "%s: Too many arguments\n" +msgstr "%s: Demasiados argumentos\n" + +#: argp/argp-parse.c:766 +msgid "(PROGRAM ERROR) Option should have been recognized!?" +msgstr "(ERROR DEL PROGRAMA) ¿¡No se deberÃa haber reconocido la opción!?" + +# ¿Qué tiene de malo "inesperado"? sv # -# Este mensaje sale ahora cada vez que pulsas "q" cuando haces por ejemplo -# cat loquesea | less -# Sale *muy a menudo* y estoy harto, así que lo borro que ya está bien. sv -#. TRANS Broken pipe; there is no process reading from the other end of a pipe. -#. TRANS Every library function that returns this error code also generates a -#. TRANS @code{SIGPIPE} signal; this signal terminates the program if not handled -#. TRANS or blocked. Thus, your program will never actually see @code{EPIPE} -#. TRANS unless it has handled or blocked @code{SIGPIPE}. -#: sysdeps/generic/siglist.h:39 stdio-common/../sysdeps/gnu/errlist.c:351 -#: stdio-common/../sysdeps/unix/siglist.c:39 -#: stdio-common/../sysdeps/unix/sysv/sysv4/solaris2/sparc/errlist.c:62 -msgid "Broken pipe" -msgstr "Tubería rota" +# Parece el nombre de pelÃcula de los '50 em +# ... y antes de que digas nada, a mà me encantan +# las pelÃculas de los 50 em +# +# Pero es que esa palabra *existe* y significa "no esperado". +# ¿Por qué quieres empobrecer el idioma de esa forma? +# ¿No podrÃas emplear la forma in-loquesea unas veces sà y otras no, +# para darle variedad a la cosa? (Por ejemplo aquà sÃ, pues no te debe +# recordar a una opción en silla de ruedas...). sv+ +# +# Lo cambio después de leer 1984. sv +#: assert/assert-perr.c:37 +#, c-format +msgid "%s%s%s:%u: %s%sUnexpected error: %s.\n" +msgstr "%s%s%s:%u: %s%sError inesperado: %s.\n" -#: sysdeps/generic/siglist.h:40 stdio-common/../sysdeps/unix/siglist.c:40 -msgid "Alarm clock" -msgstr "Temporizador" +# La traducción de Jochen es exactamente esta: Zusicherung %s nicht erfüllt +# que viene a decir algo asà que las promesas no se han cumplido, o que +# las afirmaciones hechas no son ciertas. +#: assert/assert.c:105 +#, c-format +msgid "" +"%s%s%s:%u: %s%sAssertion `%s' failed.\n" +"%n" +msgstr "" +"%s%s%s:%u: %s%sLa declaración `%s' no se cumple.\n" +"%n" -#: sysdeps/generic/siglist.h:41 stdio-common/../sysdeps/unix/siglist.c:41 -msgid "Terminated" -msgstr "Terminado" +#: catgets/gencat.c:110 catgets/gencat.c:114 nscd/nscd.c:100 nss/makedb.c:61 +msgid "NAME" +msgstr "NOMBRE" -# ?? sigo pensando en una traducción para condición -#: sysdeps/generic/siglist.h:42 stdio-common/../sysdeps/unix/siglist.c:42 -msgid "Urgent I/O condition" -msgstr "Condición urgente de E/S" +#: catgets/gencat.c:111 +msgid "Create C header file NAME containing symbol definitions" +msgstr "Crea un fichero de cabecera C, NOMBRE, que contiene las definiciones de sÃmbolos" -#: sysdeps/generic/siglist.h:43 stdio-common/../sysdeps/unix/siglist.c:43 -msgid "Stopped (signal)" -msgstr "Parado (por una señal)" +#: catgets/gencat.c:113 +msgid "Do not use existing catalog, force new output file" +msgstr "No utiliza el catálogo existente, crea un nuevo fichero de salida" -#: sysdeps/generic/siglist.h:44 stdio-common/../sysdeps/unix/siglist.c:44 -msgid "Stopped" -msgstr "Parado" +#: catgets/gencat.c:114 nss/makedb.c:61 +msgid "Write output to file NAME" +msgstr "Escribe el resultado en el fichero NOMBRE" -#: sysdeps/generic/siglist.h:45 stdio-common/../sysdeps/unix/siglist.c:45 -msgid "Continued" -msgstr "Continúa" +# FIXME: ¿Qué es ^K? +#: catgets/gencat.c:119 +msgid "" +"Generate message catalog.\vIf INPUT-FILE is -, input is read from standard input. If OUTPUT-FILE\n" +"is -, output is written to standard output.\n" +msgstr "" +"Genera un catálogo de mensajes.\vSi FICHERO-ENTRADA es -, la entrada\n" +"se lee de la entrada estándar. Si FICHERO-SALIDA es -, el resultado se\n" +"escribe en la salida estándar.\n" -#: sysdeps/generic/siglist.h:46 stdio-common/../sysdeps/unix/siglist.c:46 -msgid "Child exited" -msgstr "El proceso hijo terminó" +#: catgets/gencat.c:124 +msgid "" +"-o OUTPUT-FILE [INPUT-FILE]...\n" +"[OUTPUT-FILE [INPUT-FILE]...]" +msgstr "" +"-o FICHERO-SALIDA [FICHERO-ENTRADA]...\n" +"[FICHERO-SALIDA [FICHERO-ENTRADA]...]" -# Perdonad que sea tan largo, pero es algo que nunca está de más -# Creo que mejora al original ;) -#: sysdeps/generic/siglist.h:47 stdio-common/../sysdeps/unix/siglist.c:47 -msgid "Stopped (tty input)" -msgstr "Parado (requiere entrada de terminal)" +#: 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/sotruss.ksh:49 +#: elf/sprof.c:371 iconv/iconv_prog.c:408 iconv/iconvconfig.c:380 +#: locale/programs/locale.c:278 locale/programs/localedef.c:371 +#: login/programs/pt_chown.c:92 malloc/memusage.sh:65 +#: malloc/memusagestat.c:539 nscd/nscd.c:415 nss/getent.c:918 nss/makedb.c:231 +#: posix/getconf.c:1122 sunrpc/rpc_main.c:1492 sunrpc/rpcinfo.c:691 +#: sysdeps/unix/sysv/linux/lddlibc4.c:62 +msgid "" +"For bug reporting instructions, please see:\n" +"<http://www.gnu.org/software/libc/bugs.html>.\n" +msgstr "" +"Para instrucciones sobre informes de fallo, por favor consulte:\n" +"<http://www.gnu.org/software/libc/bugs.html>.\n" -# Perdonad que sea tan largo, pero es algo que nunca está de más -# Creo que mejora al original ;) -#: sysdeps/generic/siglist.h:48 stdio-common/../sysdeps/unix/siglist.c:48 -msgid "Stopped (tty output)" -msgstr "Parado (requiere salida por terminal)" +#: catgets/gencat.c:246 debug/pcprofiledump.c:222 debug/xtrace.sh:66 +#: elf/ldconfig.c:316 elf/ldd.bash.in:39 elf/sotruss.ksh:76 elf/sprof.c:386 +#: iconv/iconv_prog.c:423 iconv/iconvconfig.c:395 locale/programs/locale.c:293 +#: locale/programs/localedef.c:387 login/programs/pt_chown.c:63 +#: malloc/memusage.sh:73 malloc/memusagestat.c:557 nscd/nscd.c:429 +#: nss/getent.c:87 nss/makedb.c:245 posix/getconf.c:1104 +#: sysdeps/unix/sysv/linux/lddlibc4.c:69 +#, c-format +msgid "" +"Copyright (C) %s Free Software Foundation, Inc.\n" +"This is free software; see the source for copying conditions. There is NO\n" +"warranty; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.\n" +msgstr "" +"Copyright (C) %s Free Software Foundation, Inc.\n" +"Esto es software libre; vea el código fuente para las condiciones de copia.\n" +"No hay NINGUNA garantÃa; ni siquiera de COMERCIABILIDAD o IDONEIDAD PARA UN\n" +"FIN DETERMINADO.\n" -#: sysdeps/generic/siglist.h:49 stdio-common/../sysdeps/unix/siglist.c:49 -msgid "I/O possible" -msgstr "Operación de E/S permitida" +#: catgets/gencat.c:251 debug/pcprofiledump.c:227 debug/xtrace.sh:70 +#: elf/ldconfig.c:321 elf/sprof.c:392 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:562 nscd/nscd.c:434 nss/getent.c:92 nss/makedb.c:250 +#: posix/getconf.c:1109 +#, c-format +msgid "Written by %s.\n" +msgstr "Escrito por %s.\n" -#: sysdeps/generic/siglist.h:50 stdio-common/../sysdeps/unix/siglist.c:50 -msgid "CPU time limit exceeded" -msgstr "Rebasado el límite de tiempo de CPU" +#: catgets/gencat.c:282 +msgid "*standard input*" +msgstr "*entrada estándar*" -#: sysdeps/generic/siglist.h:51 stdio-common/../sysdeps/unix/siglist.c:51 -msgid "File size limit exceeded" -msgstr "Superado el límite de tamaño de fichero" +#: catgets/gencat.c:288 iconv/iconv_charmap.c:170 iconv/iconv_prog.c:294 +#: nss/makedb.c:170 +#, c-format +msgid "cannot open input file `%s'" +msgstr "no se puede abrir el fichero de entrada `%s'" -#: sysdeps/generic/siglist.h:52 stdio-common/../sysdeps/unix/siglist.c:52 -msgid "Virtual timer expired" -msgstr "El temporizador virtual llegó al final" +#: catgets/gencat.c:417 catgets/gencat.c:494 +msgid "illegal set number" +msgstr "número de conjunto ilegal" -# ¿No habría que traducir profile? sv -# Miré los fuentes, y la última documentación de Glibc -# No se me ocurre traducción para profile ( así se llamaba -# en los viejos apple al disco duro de 5 Megas ) em -# Pero esto no tiene nada que ver, ¿no? -# "Profiling" es ejecutar un programa midiendo qué partes de él consumen -# más tiempo. Creo recordar que esto tenía nombre en español, pero no -# me acuerdo de cuál. sv -# Gracias por la explicación, sé que era algo referente -# al trace o debug de un programa. Miro a la alemana. -#: sysdeps/generic/siglist.h:53 stdio-common/../sysdeps/unix/siglist.c:53 -msgid "Profiling timer expired" -msgstr "El tiempo de CPU expiró" +#: catgets/gencat.c:444 +msgid "duplicate set definition" +msgstr "definición de conjunto duplicada" -#: sysdeps/generic/siglist.h:54 stdio-common/../sysdeps/unix/siglist.c:54 -msgid "Window changed" -msgstr "La ventana ha cambiado" +#: catgets/gencat.c:446 catgets/gencat.c:623 catgets/gencat.c:677 +msgid "this is the first definition" +msgstr "esta es la primera vez que aparece la definición" -#: sysdeps/generic/siglist.h:55 stdio-common/../sysdeps/unix/siglist.c:56 -msgid "User defined signal 1" -msgstr "Señal definida por el usuario 1" +#: catgets/gencat.c:522 +#, c-format +msgid "unknown set `%s'" +msgstr "conjunto `%s' desconocido" -#: sysdeps/generic/siglist.h:56 stdio-common/../sysdeps/unix/siglist.c:57 -msgid "User defined signal 2" -msgstr "Señal definida por el usuario 2" +#: catgets/gencat.c:563 +msgid "invalid quote character" +msgstr "carácter de cita inválido" -# ???, siempre lo he usado como trap, nunca encontramos la palabra -# y es una señal estándar Unix, así que no creo conveniente traducirla -#: sysdeps/generic/siglist.h:60 stdio-common/../sysdeps/unix/siglist.c:33 -msgid "EMT trap" -msgstr "`trap' de EMT" +# descartada (?) sv +# ¿y asÃ? em +# por mÃ, vale. sv+ +#: catgets/gencat.c:576 +#, c-format +msgid "unknown directive `%s': line ignored" +msgstr "directiva desconocida `%s': lÃnea pasada por alto" -#: sysdeps/generic/siglist.h:63 stdio-common/../sysdeps/unix/siglist.c:38 -msgid "Bad system call" -msgstr "Llamada al sistema errónea" +#: catgets/gencat.c:621 +msgid "duplicated message number" +msgstr "número de mensaje duplicado" -#: sysdeps/generic/siglist.h:66 -msgid "Stack fault" -msgstr "Fallo en la pila" +#: catgets/gencat.c:674 +msgid "duplicated message identifier" +msgstr "identificador de mensaje duplicado" -#: sysdeps/generic/siglist.h:69 -msgid "Information request" -msgstr "Petición de información" +#: catgets/gencat.c:731 +msgid "invalid character: message ignored" +msgstr "carácter inválido: mensaje descartado" -#: sysdeps/generic/siglist.h:71 -msgid "Power failure" -msgstr "Fallo de alimentación" +#: catgets/gencat.c:774 +msgid "invalid line" +msgstr "lÃnea inválida" -#: sysdeps/generic/siglist.h:74 stdio-common/../sysdeps/unix/siglist.c:55 -msgid "Resource lost" -msgstr "Recurso perdido" +#: catgets/gencat.c:828 +msgid "malformed line ignored" +msgstr "una lÃnea incorrecta no se tendrá en cuenta" -# ¿Qué demonios es esto? -# ¿Error en el error del sistema desconocido? sv -#: sysdeps/mach/hurd/mips/dl-machine.c:68 -#: string/../sysdeps/mach/_strerror.c:57 -msgid "Error in unknown error system: " -msgstr "Error de sistema desconocido: " +#: catgets/gencat.c:992 catgets/gencat.c:1033 nss/makedb.c:183 +#, c-format +msgid "cannot open output file `%s'" +msgstr "no se puede abrir el fichero de salida `%s'" -#: sysdeps/mach/hurd/mips/dl-machine.c:83 -#: string/../sysdeps/generic/_strerror.c:44 -#: string/../sysdeps/mach/_strerror.c:87 -msgid "Unknown error " -msgstr "Error desconocido " +#: catgets/gencat.c:1195 locale/programs/linereader.c:560 +msgid "invalid escape sequence" +msgstr "secuencia de escape inválida" + +#: catgets/gencat.c:1217 +msgid "unterminated message" +msgstr "mensaje sin terminar" -#: sysdeps/unix/sysv/linux/lddlibc4.c:64 +#: catgets/gencat.c:1241 #, c-format -msgid "cannot open `%s'" -msgstr "no se puede abrir `%s'" +msgid "while opening old catalog file" +msgstr "al abrir el fichero de catálogo antiguo" -#: sysdeps/unix/sysv/linux/lddlibc4.c:68 +#: catgets/gencat.c:1332 #, c-format -msgid "cannot read header from `%s'" -msgstr "no se puede leer la cabecera de `%s'" +msgid "conversion modules not available" +msgstr "no están disponibles los módulos de conversión" -#: iconv/iconv_charmap.c:159 iconv/iconv_prog.c:295 catgets/gencat.c:288 +#: catgets/gencat.c:1358 #, c-format -msgid "cannot open input file `%s'" -msgstr "no se puede abrir el fichero de entrada `%s'" +msgid "cannot determine escape character" +msgstr "no se puede determinar el carácter de escape" + +#: debug/pcprofiledump.c:53 +msgid "Don't buffer output" +msgstr "No hace pasar el resultado a través de un búfer" + +# Se admiten sugerencias. sv +#: debug/pcprofiledump.c:58 +msgid "Dump information generated by PC profiling." +msgstr "Información de volcado generada mediante `PC profiling'." + +#: debug/pcprofiledump.c:61 +msgid "[FILE]" +msgstr "[FICHERO]" + +#: debug/pcprofiledump.c:108 +#, c-format +msgid "cannot open input file" +msgstr "no se puede abrir el fichero de entrada" + +#: debug/pcprofiledump.c:115 +#, c-format +msgid "cannot read header" +msgstr "no se puede leer la cabecera" + +#: debug/pcprofiledump.c:179 +#, c-format +msgid "invalid pointer size" +msgstr "tamaño de puntero inválido" + +#: debug/xtrace.sh:27 debug/xtrace.sh:45 +msgid "Usage: xtrace [OPTION]... PROGRAM [PROGRAMOPTION]...\\n" +msgstr "Modo de empleo: xtrace [OPCIÓN]... PROGRAMA [OPCIÓNDEPROGRAMA]...\\n" + +#: debug/xtrace.sh:33 malloc/memusage.sh:27 +msgid "Try \\`%s --help' or `%s --usage' for more information.\\n" +msgstr "Pruebe \\`%s --help' o `%s --usage' para más información.\\n" + +#: debug/xtrace.sh:39 +msgid "%s: option '%s' requires an argument.\\n" +msgstr "%s: la opción '%s' requiere un argumento\\n" + +#: debug/xtrace.sh:46 +msgid "" +"Trace execution of program by printing currently executed function.\n" +"\n" +" --data=FILE Don't run the program, just print the data from FILE.\n" +"\n" +" -?,--help Print this help and exit\n" +" --usage Give a short usage message\n" +" -V,--version Print version information and exit\n" +"\n" +"Mandatory arguments to long options are also mandatory for any corresponding\n" +"short options.\n" +"\n" +msgstr "" +"Sigue la ejecución del programa mostrando la función que se ejecuta actualmente.\n" +"\n" +" --data=FICHERO No ejecuta el programa, solamente muestra los datos\n" +" de FICHERO\n" +" -?,--help Muestra esta ayuda y finaliza\n" +" --usage Da un mensaje de uso breve\n" +" -V,--version Muestra la información de versión y finaliza\n" +"\n" +"Los argumentos obligatorios para las opciones largas son también obligatorios\n" +"para las opciones cortas correspondientes.\n" + +#: debug/xtrace.sh:127 +msgid "xtrace: unrecognized option \\`$1'\\n" +msgstr "xtrace: opción no reconocida \\`$1'\\n" + +#: debug/xtrace.sh:140 +msgid "No program name given\\n" +msgstr "No se ha especificado el nombre del programa\\n" + +#: debug/xtrace.sh:148 +#, sh-format +msgid "executable \\`$program' not found\\n" +msgstr "no se ha encontrado el ejecutable \\`$program'\\n" + +#: debug/xtrace.sh:152 +#, sh-format +msgid "\\`$program' is no executable\\n" +msgstr "\\`$program' no es ejecutable\\n" + +#: dlfcn/dlinfo.c:64 +msgid "RTLD_SELF used in code not dynamically loaded" +msgstr "Se ha usado RTLD_SELF en una parte del código que no se cargó dinámicamente" + +#: dlfcn/dlinfo.c:73 +msgid "unsupported dlinfo request" +msgstr "Petición dlinfo no admitida" + +#: dlfcn/dlmopen.c:64 +msgid "invalid namespace" +msgstr "espacio de nombres inválido" + +#: dlfcn/dlmopen.c:69 +msgid "invalid mode" +msgstr "modo inválido" + +#: dlfcn/dlopen.c:65 +msgid "invalid mode parameter" +msgstr "parámetro de modo inválido" + +# FIXME: Falta ver si es niño o niña. sv +#: elf/cache.c:69 +msgid "unknown" +msgstr "desconocido/a" + +#: elf/cache.c:112 +msgid "Unknown OS" +msgstr "Sistema Operativo desconocido" + +#: elf/cache.c:117 +#, c-format +msgid ", OS ABI: %s %d.%d.%d" +msgstr ", ABI del SO: %s %d.%d.%d" + +#: elf/cache.c:134 elf/ldconfig.c:1305 +#, c-format +msgid "Can't open cache file %s\n" +msgstr "No se puede abrir el fichero de caché %s\n" + +#: elf/cache.c:148 +#, c-format +msgid "mmap of cache file failed.\n" +msgstr "falló la operación `mmap' sobre el fichero de caché.\n" + +#: elf/cache.c:152 elf/cache.c:166 +#, c-format +msgid "File is not a cache file.\n" +msgstr "El fichero no es un fichero de caché.\n" + +#: elf/cache.c:199 elf/cache.c:209 +#, c-format +msgid "%d libs found in cache `%s'\n" +msgstr "%d bibliotecas se encontraron en la caché `%s'\n" + +#: elf/cache.c:403 +#, c-format +msgid "Can't create temporary cache file %s" +msgstr "No se puede crear el fichero temporal de caché %s" + +#: elf/cache.c:411 elf/cache.c:421 elf/cache.c:425 elf/cache.c:430 +#, c-format +msgid "Writing of cache data failed" +msgstr "Falló la escritura de los datos de la caché" + +#: elf/cache.c:435 +#, c-format +msgid "Changing access rights of %s to %#o failed" +msgstr "El cambio de los derechos de acceso de %s a %#o falló" + +#: elf/cache.c:440 +#, c-format +msgid "Renaming of %s to %s failed" +msgstr "Falló el renombramiento de %s a %s" + +#: elf/dl-close.c:387 elf/dl-open.c:397 +msgid "cannot create scope list" +msgstr "no se puede crear la lista de ámbito" + +#: elf/dl-close.c:767 +msgid "shared object not open" +msgstr "el objeto compartido no está abierto" + +#: elf/dl-deps.c:114 +msgid "DST not allowed in SUID/SGID programs" +msgstr "No se permite DST en programas SUID/SGID" + +#: elf/dl-deps.c:127 +msgid "empty dynamic string token substitution" +msgstr "sustitución dinámica de un elemento por una cadena vacÃa" + +# Hmm, me suena que lo que es dinámica aquà es la cadena, no la sustitución. +# FIXME: Consultarlo. sv +#: elf/dl-deps.c:133 +#, c-format +msgid "cannot load auxiliary `%s' because of empty dynamic string token substitution\n" +msgstr "" +"no se puede cargar el `%s' auxiliar debido a la sustitución dinámica\n" +"de un elemento por cadena vacÃa\n" + +#: elf/dl-deps.c:474 +msgid "cannot allocate dependency list" +msgstr "no se pudo asignar espacio para la lista de dependencias" + +#: elf/dl-deps.c:514 elf/dl-deps.c:574 +msgid "cannot allocate symbol search list" +msgstr "no se puede asignar espacio para la lista de búsqueda de los sÃmbolos" + +#: elf/dl-deps.c:554 +msgid "Filters not supported with LD_TRACE_PRELINKING" +msgstr "No se admiten filtros con LD_TRACE_PRELINKING" + +# Véase "A bug's life". +#: elf/dl-error.c:77 +msgid "DYNAMIC LINKER BUG!!!" +msgstr "¡¡¡HAY UN BICHO EN EL ENLAZADOR DINÃMICO!!!" + +#: elf/dl-error.c:124 +msgid "error while loading shared libraries" +msgstr "error al cargar las bibliotecas compartidas" + +#: elf/dl-fptr.c:88 +msgid "cannot map pages for fdesc table" +msgstr "no se pueden asignar páginas para la tabla fdesc" + +#: elf/dl-fptr.c:192 +msgid "cannot map pages for fptr table" +msgstr "no se pueden asignar páginas para la tabla fptr" + +#: elf/dl-fptr.c:221 +msgid "internal error: symidx out of range of fptr table" +msgstr "error interno: symidx fuera del rango de la tabla fptr" + +#: elf/dl-load.c:471 +msgid "cannot allocate name record" +msgstr "no se puede asignar el registro del nombre" + +# He intentado mejorarlo un poco ... +# +#: elf/dl-load.c:548 elf/dl-load.c:664 elf/dl-load.c:749 elf/dl-load.c:862 +msgid "cannot create cache for search path" +msgstr "no se puede crear un caché para la ruta de búsqueda" + +#: elf/dl-load.c:639 +msgid "cannot create RUNPATH/RPATH copy" +msgstr "no se puede crear una copia RUNPATH/RPATH" + +#: elf/dl-load.c:735 +msgid "cannot create search path array" +msgstr "no se puede crear la matriz de la ruta de búsqueda" + +#: elf/dl-load.c:931 +msgid "cannot stat shared object" +msgstr "no se puede efectuar `stat' sobre el objeto compartido" + +#: elf/dl-load.c:1009 +msgid "cannot open zero fill device" +msgstr "no se puede abrir el dispositivo de `zero fill'" + +#: elf/dl-load.c:1055 elf/dl-load.c:2313 +msgid "cannot create shared object descriptor" +msgstr "no se puede crear el descriptor del objeto compartido" + +#: elf/dl-load.c:1074 elf/dl-load.c:1730 elf/dl-load.c:1833 +msgid "cannot read file data" +msgstr "no se pueden leer los datos del fichero" + +#: elf/dl-load.c:1120 +msgid "ELF load command alignment not page-aligned" +msgstr "El alineamiento de la orden de carga ELF no está alineada a la página" + +#: elf/dl-load.c:1127 +msgid "ELF load command address/offset not properly aligned" +msgstr "La dirección/desplazamiento de la orden de carga ELF no está bien alineada" + +#: elf/dl-load.c:1210 +msgid "cannot allocate TLS data structures for initial thread" +msgstr "no se pueden crear las estructuras de datos TLS para el hilo inicial" + +#: elf/dl-load.c:1233 +msgid "cannot handle TLS data" +msgstr "no se pueden manejar los datos de TLS" + +#: elf/dl-load.c:1252 +msgid "object file has no loadable segments" +msgstr "el fichero objeto no tiene segmentos cargables" + +#: elf/dl-load.c:1288 +msgid "failed to map segment from shared object" +msgstr "fallo al asignar un segmento del objeto compartido" + +#: elf/dl-load.c:1314 +msgid "cannot dynamically load executable" +msgstr "no se puede cargar el ejecutable dinámicamente" + +#: elf/dl-load.c:1376 +msgid "cannot change memory protections" +msgstr "no se pueden cambiar las protecciones de memoria" + +#: elf/dl-load.c:1395 +msgid "cannot map zero-fill pages" +msgstr "no se pueden asignar páginas de tipo `zero-fill'" + +#: elf/dl-load.c:1409 +msgid "object file has no dynamic section" +msgstr "el fichero objeto no tiene sección dinámica" + +#: elf/dl-load.c:1432 +msgid "shared object cannot be dlopen()ed" +msgstr "no se puede efectuar dlopen() sobre el objeto compartido" + +#: elf/dl-load.c:1445 +msgid "cannot allocate memory for program header" +msgstr "no se puede asignar memoria para la cabecera del programa" + +#: elf/dl-load.c:1462 elf/dl-open.c:180 +msgid "invalid caller" +msgstr "llamante inválido" + +#: elf/dl-load.c:1501 +msgid "cannot enable executable stack as shared object requires" +msgstr "no se puede activar la pila ejecutable tal y como el objeto compartido necesita" + +#: elf/dl-load.c:1514 +msgid "cannot close file descriptor" +msgstr "no se puede cerrar el descriptor de fichero" + +#: elf/dl-load.c:1730 +msgid "file too short" +msgstr "fichero demasiado corto" + +#: elf/dl-load.c:1766 +msgid "invalid ELF header" +msgstr "cabecera ELF inválida" + +#: elf/dl-load.c:1778 +msgid "ELF file data encoding not big-endian" +msgstr "La codificación de los datos del fichero ELF no es `big-endian'" + +#: elf/dl-load.c:1780 +msgid "ELF file data encoding not little-endian" +msgstr "La codificación de los datos del fichero ELF no es `little-endian'" + +#: elf/dl-load.c:1784 +msgid "ELF file version ident does not match current one" +msgstr "La identificación de versión del fichero ELF no encaja con la actual" + +#: elf/dl-load.c:1788 +msgid "ELF file OS ABI invalid" +msgstr "ABI del OS del fichero ELF inválida" + +#: elf/dl-load.c:1791 +msgid "ELF file ABI version invalid" +msgstr "Versión de ABI del fichero ELF inválida" + +#: elf/dl-load.c:1794 +msgid "nonzero padding in e_ident" +msgstr "relleno con no ceros en e_ident" + +#: elf/dl-load.c:1797 +msgid "internal error" +msgstr "error interno" + +#: elf/dl-load.c:1804 +msgid "ELF file version does not match current one" +msgstr "La versión del fichero ELF no coincide con la actual" + +#: elf/dl-load.c:1812 +msgid "only ET_DYN and ET_EXEC can be loaded" +msgstr "solamente pueden cargarse ET_DYN y ET_EXEC" + +#: elf/dl-load.c:1818 +msgid "ELF file's phentsize not the expected size" +msgstr "El `phentsize' del fichero ELF no es el tamaño esperado" + +#: elf/dl-load.c:2332 +msgid "wrong ELF class: ELFCLASS64" +msgstr "clase ELF errónea: ELFCLASS64" + +#: elf/dl-load.c:2333 +msgid "wrong ELF class: ELFCLASS32" +msgstr "clase ELF errónea: ELFCLASS32" + +#: elf/dl-load.c:2336 +msgid "cannot open shared object file" +msgstr "no se puede abrir el fichero del objeto compartido" + +#: elf/dl-lookup.c:757 +msgid "relocation error" +msgstr "error de relocalización" + +#: elf/dl-lookup.c:785 +msgid "symbol lookup error" +msgstr "error de búsqueda de sÃmbolo" + +#: elf/dl-open.c:115 +msgid "cannot extend global scope" +msgstr "no se puede extender el ámbito global" + +#: elf/dl-open.c:440 +msgid "TLS generation counter wrapped! Please report this." +msgstr "¡El contador de generaciones TLS ha vuelto a cero! Por favor envÃe un informe." + +#: elf/dl-open.c:462 +msgid "cannot load any more object with static TLS" +msgstr "no se puede cargar ningún objeto más con TLS estático" + +#: elf/dl-open.c:511 +msgid "invalid mode for dlopen()" +msgstr "modo inválido para dlopen()" + +#: elf/dl-open.c:528 +msgid "no more namespaces available for dlmopen()" +msgstr "no hay más espacios de nombres disponibles para dlmopen()" + +#: elf/dl-open.c:547 +msgid "invalid target namespace in dlmopen()" +msgstr "espacio de nombres objetivo inválido para dlmopen()" + +#: elf/dl-reloc.c:120 +msgid "cannot allocate memory in static TLS block" +msgstr "No se pudo asignar memoria en el bloque TLS estático" + +#: elf/dl-reloc.c:212 +msgid "cannot make segment writable for relocation" +msgstr "no se puede hacer el segmento escribible para su relocalización" + +#: elf/dl-reloc.c:275 +#, c-format +msgid "%s: no PLTREL found in object %s\n" +msgstr "%s no se encontró ningún PLTREL en el objeto %s\n" + +#: elf/dl-reloc.c:286 +#, c-format +msgid "%s: out of memory to store relocation results for %s\n" +msgstr "%s: memoria agotada para almacenar los resultados de relocalización para %s\n" + +# Se admiten sugerencias. sv +#: elf/dl-reloc.c:302 +msgid "cannot restore segment prot after reloc" +msgstr "no se puede restaurar el `prot' del segmento después de la relocalización" + +#: elf/dl-reloc.c:331 +msgid "cannot apply additional memory protection after relocation" +msgstr "no se pueden aplicar protecciones de memoria adicionales después de relocalizar" + +#: elf/dl-sym.c:162 +msgid "RTLD_NEXT used in code not dynamically loaded" +msgstr "Se ha usado RTLD_NEXT en una parte del código que no se cargó dinámicamente" + +#: elf/dl-sysdep.c:488 elf/dl-sysdep.c:500 +msgid "cannot create capability list" +msgstr "no se puede crear la lista de capacidades" + +#: elf/dl-tls.c:861 +msgid "cannot create TLS data structures" +msgstr "no se pueden crear las estructuras de datos TLS" + +#: elf/dl-version.c:172 +msgid "version lookup error" +msgstr "error de búsqueda de versión" + +#: elf/dl-version.c:303 +msgid "cannot allocate version reference table" +msgstr "no se puede asignar espacio para la tabla de versiones de referencia" + +#: elf/ldconfig.c:141 +msgid "Print cache" +msgstr "Muestra la caché" + +#: elf/ldconfig.c:142 +msgid "Generate verbose messages" +msgstr "Genera mensajes explicativos" + +#: elf/ldconfig.c:143 +msgid "Don't build cache" +msgstr "No crea caché" + +#: elf/ldconfig.c:144 +msgid "Don't generate links" +msgstr "No genera enlaces" + +#: elf/ldconfig.c:145 +msgid "Change to and use ROOT as root directory" +msgstr "Cambia a RAÃZ y lo utiliza como directorio raÃz" + +#: elf/ldconfig.c:145 +msgid "ROOT" +msgstr "RAÃZ" + +#: elf/ldconfig.c:146 +msgid "CACHE" +msgstr "CACHÉ" + +#: elf/ldconfig.c:146 +msgid "Use CACHE as cache file" +msgstr "Utiliza CACHE como fichero de caché" + +#: elf/ldconfig.c:147 +msgid "CONF" +msgstr "CONF" + +#: elf/ldconfig.c:147 +msgid "Use CONF as configuration file" +msgstr "Utiliza CONF como fichero de configuración" + +#: elf/ldconfig.c:148 +msgid "Only process directories specified on the command line. Don't build cache." +msgstr "" +"Procesa únicamente los directorios especificados en la lÃnea de órdenes.\n" +"No crea la caché." + +#: elf/ldconfig.c:149 +msgid "Manually link individual libraries." +msgstr "Enlace bibliotecas individuales manualmente." + +#: elf/ldconfig.c:150 +msgid "FORMAT" +msgstr "FORMATO" + +#: elf/ldconfig.c:150 +msgid "Format to use: new, old or compat (default)" +msgstr "Formato utilizado: new, old o compat (predeterminado)" + +# Antes decÃa: .rhosts no es un fichero regular +#: elf/ldconfig.c:151 +msgid "Ignore auxiliary cache file" +msgstr "Descarta el fichero de caché auxiliar" + +# FIXME: Why So Many Uppercase Letters? sv +#: elf/ldconfig.c:159 +msgid "Configure Dynamic Linker Run Time Bindings." +msgstr "Configura las asociaciones de tiempo de ejecución del enlazador dinámico" + +#: elf/ldconfig.c:339 +#, c-format +msgid "Path `%s' given more than once" +msgstr "Se ha dado la ruta `%s' más de una vez" + +#: elf/ldconfig.c:379 +#, c-format +msgid "%s is not a known library type" +msgstr "%s no es un tipo de biblioteca conocido" + +#: elf/ldconfig.c:407 +#, c-format +msgid "Can't stat %s" +msgstr "No se puede efectuar `stat' sobre %s" + +#: elf/ldconfig.c:481 +#, c-format +msgid "Can't stat %s\n" +msgstr "No se puede efectuar `stat' sobre %s\n" + +#: elf/ldconfig.c:491 +#, c-format +msgid "%s is not a symbolic link\n" +msgstr "%s no es un enlace simbólico\n" + +#: elf/ldconfig.c:510 +#, c-format +msgid "Can't unlink %s" +msgstr "No se puede efectuar `unlink' sobre %s" + +#: elf/ldconfig.c:516 +#, c-format +msgid "Can't link %s to %s" +msgstr "No se puede crear un enlace de %s a %s" + +#: elf/ldconfig.c:522 +msgid " (changed)\n" +msgstr " (cambiado)\n" + +#: elf/ldconfig.c:524 +msgid " (SKIPPED)\n" +msgstr " (SALTADO)\n" + +#: elf/ldconfig.c:579 +#, c-format +msgid "Can't find %s" +msgstr "No se encuentra %s" + +#: elf/ldconfig.c:595 elf/ldconfig.c:768 elf/ldconfig.c:827 elf/ldconfig.c:861 +#, c-format +msgid "Cannot lstat %s" +msgstr "No se puede efectuar `lstat' sobre %s" + +#: elf/ldconfig.c:602 +#, c-format +msgid "Ignored file %s since it is not a regular file." +msgstr "Descartado el fichero %s dado que no es un fichero regular." + +#: elf/ldconfig.c:611 +#, c-format +msgid "No link created since soname could not be found for %s" +msgstr "No se creó el enlace ya que no se encontró el soname para %s" + +#: elf/ldconfig.c:694 +#, c-format +msgid "Can't open directory %s" +msgstr "No se puede abrir el directorio %s" + +#: elf/ldconfig.c:786 elf/ldconfig.c:848 elf/readlib.c:91 +#, c-format +msgid "Input file %s not found.\n" +msgstr "No se encontró el fichero de entrada %s.\n" -#: iconv/iconv_charmap.c:177 iconv/iconv_prog.c:313 +#: elf/ldconfig.c:793 +#, c-format +msgid "Cannot stat %s" +msgstr "No se puede efectuar `stat' sobre %s" + +#: elf/ldconfig.c:922 +#, c-format +msgid "libc5 library %s in wrong directory" +msgstr "biblioteca libc5 %s en un directorio equivocado" + +#: elf/ldconfig.c:925 +#, c-format +msgid "libc6 library %s in wrong directory" +msgstr "biblioteca libc6 %s en un directorio equivocado" + +#: elf/ldconfig.c:928 +#, c-format +msgid "libc4 library %s in wrong directory" +msgstr "biblioteca libc4 %s en un directorio equivocado" + +#: elf/ldconfig.c:956 +#, c-format +msgid "libraries %s and %s in directory %s have same soname but different type." +msgstr "las bibliotecas %s y %s en el directorio %s tienen el mismo soname pero distinto tipo." + +#: elf/ldconfig.c:1065 +#, c-format +msgid "Can't open configuration file %s" +msgstr "No se puede abrir el fichero de configuración `%s'" + +#: elf/ldconfig.c:1129 +#, c-format +msgid "%s:%u: bad syntax in hwcap line" +msgstr "%s:%u: sintaxis errónea en lÃnea hwcap" + +#: elf/ldconfig.c:1135 +#, c-format +msgid "%s:%u: hwcap index %lu above maximum %u" +msgstr "%s:%u: el Ãndice de hwcap %lu está por encima del máximo %u" + +#: elf/ldconfig.c:1142 elf/ldconfig.c:1150 +#, c-format +msgid "%s:%u: hwcap index %lu already defined as %s" +msgstr "%s:%u: el Ãndice de hwcap %lu ya está definido como %s" + +#: elf/ldconfig.c:1153 +#, c-format +msgid "%s:%u: duplicate hwcap %lu %s" +msgstr "%s:%u: hwcap duplicado %lu %s" + +#: elf/ldconfig.c:1175 +#, c-format +msgid "need absolute file name for configuration file when using -r" +msgstr "se necesita un nombre de fichero absoluto para el fichero de configuración cuando se utiliza -r" + +#: elf/ldconfig.c:1182 locale/programs/xmalloc.c:70 malloc/obstack.c:434 +#: malloc/obstack.c:436 posix/getconf.c:1077 posix/getconf.c:1297 +#, c-format +msgid "memory exhausted" +msgstr "memoria agotada" + +#: elf/ldconfig.c:1214 +#, c-format +msgid "%s:%u: cannot read directory %s" +msgstr "%s:%u: no se puede leer el directorio %s" + +#: elf/ldconfig.c:1258 +#, c-format +msgid "relative path `%s' used to build cache" +msgstr "se usa el camino relativo `%s' para construir el caché" + +#: elf/ldconfig.c:1284 +#, c-format +msgid "Can't chdir to /" +msgstr "No se puede cambiar al directorio /" + +#: elf/ldconfig.c:1325 +#, c-format +msgid "Can't open cache file directory %s\n" +msgstr "No se puede leer el directorio de ficheros de caché %s\n" + +#: elf/ldd.bash.in:43 +msgid "Written by %s and %s.\n" +msgstr "Escrito por %s y %s.\n" + +#: elf/ldd.bash.in:48 +msgid "" +"Usage: ldd [OPTION]... FILE...\n" +" --help print this help and exit\n" +" --version print version information and exit\n" +" -d, --data-relocs process data relocations\n" +" -r, --function-relocs process data and function relocations\n" +" -u, --unused print unused direct dependencies\n" +" -v, --verbose print all information\n" +msgstr "" +"Modo de empleo: ldd [OPCIÓN]... FICHERO...\n" +" --help muestra esta ayuda y finaliza\n" +" --version muestra la versión y finaliza\n" +" -d, --data-relocs procesa las relocalizaciones de datos\n" +" -r, --function-relocs procesa las relocalizaciones de datos y de funciones\n" +" -u, --unused muestra las dependencias directas no utilizadas\n" +" -v, --verbose muestra toda la información\n" + +#: elf/ldd.bash.in:82 +msgid "ldd: option \\`$1' is ambiguous" +msgstr "ldd: la opción \\`$1' es ambigua" + +#: elf/ldd.bash.in:89 +msgid "unrecognized option" +msgstr "opción no reconocida" + +#: elf/ldd.bash.in:90 elf/ldd.bash.in:128 +msgid "Try \\`ldd --help' for more information." +msgstr "Pruebe \\`ldd --help' para más información." + +#: elf/ldd.bash.in:127 +msgid "missing file arguments" +msgstr "faltan los ficheros de argumentos" + +#. 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:150 sysdeps/gnu/errlist.c:36 +msgid "No such file or directory" +msgstr "No existe el fichero o el directorio" + +# Antes decÃa: .rhosts no es un fichero regular +#: elf/ldd.bash.in:153 inet/rcmd.c:488 +msgid "not regular file" +msgstr "no es un fichero regular" + +#: elf/ldd.bash.in:156 +msgid "warning: you do not have execution permission for" +msgstr "atención: no tiene permiso de ejecitación para" + +#: elf/ldd.bash.in:185 +msgid "\tnot a dynamic executable" +msgstr "\tno es un ejecutable dinámico" + +#: elf/ldd.bash.in:193 +msgid "exited with unknown exit code" +msgstr "salió con estado de salida desconocido" + +#: elf/ldd.bash.in:198 +msgid "error: you do not have read permission for" +msgstr "error: no tiene permiso de lectura para" + +#: elf/readelflib.c:35 +#, c-format +msgid "file %s is truncated\n" +msgstr "el fichero %s está truncado\n" + +#: elf/readelflib.c:67 +#, c-format +msgid "%s is a 32 bit ELF file.\n" +msgstr "%s es un fichero ELF de 32 bits.\n" + +#: elf/readelflib.c:69 +#, c-format +msgid "%s is a 64 bit ELF file.\n" +msgstr "%s es un fichero ELF de 64 bits.\n" + +#: elf/readelflib.c:71 +#, c-format +msgid "Unknown ELFCLASS in file %s.\n" +msgstr "ELFCLASS desconocido en el fichero %s.\n" + +#: elf/readelflib.c:78 +#, c-format +msgid "%s is not a shared object file (Type: %d).\n" +msgstr "%s no es un fichero `shared object' (Tipo: %d).\n" + +#: elf/readelflib.c:109 +#, c-format +msgid "more than one dynamic segment\n" +msgstr "más de un segmento dinámico\n" + +#: elf/readlib.c:97 +#, c-format +msgid "Cannot fstat file %s.\n" +msgstr "No se puede efectuar `fstat' sobre el fichero %s.\n" + +#: elf/readlib.c:108 +#, c-format +msgid "File %s is empty, not checked." +msgstr "El fichero %s está vacÃo, no se comprueba." + +#: elf/readlib.c:114 +#, c-format +msgid "File %s is too small, not checked." +msgstr "El fichero %s es demasiado pequeño, no se comprueba." + +#: elf/readlib.c:124 +#, c-format +msgid "Cannot mmap file %s.\n" +msgstr "No se puede efectuar `mmap' sobre el fichero %s.\n" + +#: elf/readlib.c:162 +#, c-format +msgid "%s is not an ELF file - it has the wrong magic bytes at the start.\n" +msgstr "%s no es un fichero ELF - tiene los bytes mágicos equivocados en el comienzo.\n" + +#: elf/sln.c:85 +#, c-format +msgid "" +"Usage: sln src dest|file\n" +"\n" +msgstr "" +"Modo de empleo: sln orig desti|fichero\n" +"\n" + +#: elf/sln.c:110 +#, c-format +msgid "%s: file open error: %m\n" +msgstr "%s: error al abrir el fichero: %m\n" + +#: elf/sln.c:147 +#, c-format +msgid "No target in line %d\n" +msgstr "No hay ningún objetivo en la lÃnea %d\n" + +#: elf/sln.c:179 +#, c-format +msgid "%s: destination must not be a directory\n" +msgstr "%s: el destino no debe ser un directorio\n" + +#: elf/sln.c:185 +#, c-format +msgid "%s: failed to remove the old destination\n" +msgstr "%s: fallo al borrar el destino antiguo\n" + +# ¿Qué tiene de malo "inválida"? sv +# Jopé, ¿y qué tiene de malo no válida? +# usuario inválido tiene un doble sentido claro +# ya que uso usuario no válido me parece bien usar +# tambien opción no válida, aunque solo sea de vez +# en cuando em +# +# Pues que *inválida* existe. Piensa en retroreferencia, por ejemplo. +# Se puede poner retroreferencia porque significa referencia hacia atrás. +# (Bueno, en este caso esa palabra se usa poco, pero inválida no). sv+ +# +# Después de leer "1984", lo cambio. +# Aquà y en todas partes. sv +# +#: elf/sln.c:193 +#, c-format +msgid "%s: invalid destination: %s\n" +msgstr "%s: destino inválido: %s\n" + +#: elf/sln.c:208 elf/sln.c:217 +#, c-format +msgid "Invalid link from \"%s\" to \"%s\": %s\n" +msgstr "Enlace inválido de \"%s\" a \"%s\": %s\n" + +#: elf/sotruss.ksh:33 +#, sh-format +msgid "" +"Usage: sotruss [OPTION...] [--] EXECUTABLE [EXECUTABLE-OPTION...]\n" +" -F, --from FROMLIST trace calls from objects on FORMLIST\n" +" -T, --to TOLIST trace calls to objects on TOLIST\n" +"\n" +" -e, --exit also show exits from the function calls\n" +" -f, --follow trace child processes\n" +" -o, --output FILENAME write output to FILENAME (or FILENAME.$PID in case\n" +"\t\t\t -f is also used) instead of standard error\n" +"\n" +" --help print this help and exit\n" +" --version print version information and exit" +msgstr "" +"Modo de empleo: sotruss [OPCIÓN...] [--] EJECUTABLE [OPCIÓN-DEL-EJECUTABLE...]\n" +" -F, --from LISTA_DE sigue las llamadas de objetos en LISTA_DE\n" +" -T, --to LISTA_A sigue las llamadas a objetos en LISTA_A\n" +"\n" +" -e, --exit muestra también la salidas de las llamadas a función\n" +" -f, --follow sigue los procesos hijos\n" +" -o, --output FICHERO escribe el resultado en FICHERO (o en FICHERO.$PID si se\n" +" utiliza también -f) en lugar de la salida de error estándar\n" +"\n" +" --help muestra esta ayuda y finaliza\n" +" --version muestra la información de versión y finaliza" + +#: elf/sotruss.ksh:46 +msgid "Mandatory arguments to long options are also mandatory for any corresponding\\nshort options.\\n" +msgstr "" +"Los argumentos obligatorios para las opciones largas son\n" +"también obligatorios para las opciones cortas correspondientes." + +#: elf/sotruss.ksh:56 +msgid "%s: option requires an argument -- '%s'\\n" +msgstr "%s: la opción requiere un argumento -- '%c'\\n" + +#: elf/sotruss.ksh:57 elf/sotruss.ksh:68 elf/sotruss.ksh:134 +msgid "Try \\`%s --help' or \\`%s --usage' for more information.\\n" +msgstr "Pruebe \\`%s --help' o `%s --usage' para más información.\\n" + +#: elf/sotruss.ksh:62 +msgid "%s: option is ambiguous; possibilities:" +msgstr "%s: la opción es ambigua; posibilidades:" + +#: elf/sotruss.ksh:80 +msgid "Written by %s.\\n" +msgstr "Escrito por %s.\\n" + +#: elf/sotruss.ksh:87 +msgid "" +"Usage: %s [-ef] [-F FROMLIST] [-o FILENAME] [-T TOLIST] [--exit]\n" +"\t [--follow] [--from FROMLIST] [--output FILENAME] [--to TOLIST]\\n" +msgstr "" +"Modo de empleo: %s [-ef] [-F LISTA_DE] [-o FICHERO] [-T LISTA_A] [--exit]\n" +"\t [--follow] [--from LISTA_DE] [--output FICHERO] [--to LISTA_A]\\n" + +#: elf/sotruss.ksh:133 +msgid "%s: unrecognized option '%c%s'\\n" +msgstr "%s: opción no reconocida '%c%s'\\n" + +#: elf/sprof.c:77 +msgid "Output selection:" +msgstr "Selección del resultado:" + +#: elf/sprof.c:79 +msgid "print list of count paths and their number of use" +msgstr "muestra la lista de contadores de ruta y su número de uso" + +#: elf/sprof.c:81 +msgid "generate flat profile with counts and ticks" +msgstr "genera un `profile' plano con contadores y `ticks'" + +#: elf/sprof.c:82 +msgid "generate call graph" +msgstr "genera el grafo de llamadas" + +# ¿profiling? sv +#: elf/sprof.c:89 +msgid "Read and display shared object profiling data." +msgstr "Lee y muestra los datos de `profiling' del objeto compartido." + +#: elf/sprof.c:94 +msgid "SHOBJ [PROFDATA]" +msgstr "SHOBJ [DATOSPROF]" + +#: elf/sprof.c:431 +#, c-format +msgid "failed to load shared object `%s'" +msgstr "fallo al cargar el objeto compartido `%s'" + +#: elf/sprof.c:440 +#, c-format +msgid "cannot create internal descriptors" +msgstr "no se pueden crear descriptores internos" + +#: elf/sprof.c:559 +#, c-format +msgid "Reopening shared object `%s' failed" +msgstr "La reapertura del objeto compartido `%s' falló" + +#: elf/sprof.c:566 elf/sprof.c:660 +#, c-format +msgid "reading of section headers failed" +msgstr "falló la lectura de las cabeceras de sección" + +# Estupendo, entre section, header, string y table hay 4! posibilidades... +#: elf/sprof.c:574 elf/sprof.c:668 +#, c-format +msgid "reading of section header string table failed" +msgstr "falló la lectura de la tabla de cadenas de cabeceras de sección" + +#: elf/sprof.c:600 +#, c-format +msgid "*** Cannot read debuginfo file name: %m\n" +msgstr "*** No se puede leer el nombre del fichero de información de depuración: %m\n" + +#: elf/sprof.c:620 +#, c-format +msgid "cannot determine file name" +msgstr "no se puede determinar el nombre del fichero" + +#: elf/sprof.c:653 +#, c-format +msgid "reading of ELF header failed" +msgstr "falló la lectura de la cabecera ELF" + +# Duda: stripped. +#: elf/sprof.c:689 +#, c-format +msgid "*** The file `%s' is stripped: no detailed analysis possible\n" +msgstr "*** El fichero `%s' está `stripped': no es posible un análisis detallado\n" + +#: elf/sprof.c:719 +#, c-format +msgid "failed to load symbol data" +msgstr "fallo al cargar los datos del sÃmbolo" + +#: elf/sprof.c:784 +#, c-format +msgid "cannot load profiling data" +msgstr "no se pueden cargar los datos de `profiling'" + +#: elf/sprof.c:793 +#, c-format +msgid "while stat'ing profiling data file" +msgstr "al ejecutar `stat' sobre el fichero de datos de `profiling'" + +#: elf/sprof.c:801 +#, c-format +msgid "profiling data file `%s' does not match shared object `%s'" +msgstr "" +"el fichero de datos para `profiling' %s no se corresponde con el\n" +"objeto compartido `%s'" + +#: elf/sprof.c:812 +#, c-format +msgid "failed to mmap the profiling data file" +msgstr "no se pudo hacer mmap con el fichero de datos de `profile'" + +# Se admiten sugerencias para el "profiling" sv. +#: elf/sprof.c:820 +#, c-format +msgid "error while closing the profiling data file" +msgstr "error al cerrar el fichero de datos de `profiling'" + +#: elf/sprof.c:829 elf/sprof.c:927 +#, c-format +msgid "cannot create internal descriptor" +msgstr "no se puede crear un descriptor interno" + +#: elf/sprof.c:903 +#, c-format +msgid "`%s' is no correct profile data file for `%s'" +msgstr "`%s' no es un fichero de datos para `profile' correcto para `%s'" + +#: elf/sprof.c:1084 elf/sprof.c:1142 +#, c-format +msgid "cannot allocate symbol data" +msgstr "no se puede asignar espacio para los datos del sÃmbolo" + +#: iconv/iconv_charmap.c:142 iconv/iconv_prog.c:446 +#, c-format +msgid "cannot open output file" +msgstr "no se puede abrir el fichero de salida" + +#: iconv/iconv_charmap.c:188 iconv/iconv_prog.c:312 #, c-format msgid "error while closing input `%s'" msgstr "error al cerrar la entrada `%s'" -#: iconv/iconv_charmap.c:443 +#: iconv/iconv_charmap.c:462 #, c-format msgid "illegal input sequence at position %Zd" -msgstr "secuencia de entrada ilegal en la posición %Zd" +msgstr "secuencia de entrada ilegal en la posición %Zd" -#: iconv/iconv_charmap.c:462 iconv/iconv_prog.c:506 +#: iconv/iconv_charmap.c:481 iconv/iconv_prog.c:537 +#, c-format msgid "incomplete character or shift sequence at end of buffer" -msgstr "carácter o secuencia de desplazamiento incompleta al final del búfer" +msgstr "carácter o secuencia de desplazamiento incompleta al final del búfer" -#: iconv/iconv_charmap.c:507 iconv/iconv_charmap.c:543 iconv/iconv_prog.c:549 -#: iconv/iconv_prog.c:585 +#: iconv/iconv_charmap.c:526 iconv/iconv_charmap.c:562 iconv/iconv_prog.c:580 +#: iconv/iconv_prog.c:616 +#, c-format msgid "error while reading the input" msgstr "error al leer la entrada" -#: iconv/iconv_charmap.c:525 iconv/iconv_prog.c:567 +#: iconv/iconv_charmap.c:544 iconv/iconv_prog.c:598 +#, c-format msgid "unable to allocate buffer for input" -msgstr "no se puede asignar espacio para el búfer de entrada" +msgstr "no se puede asignar espacio para el búfer de entrada" -#: iconv/iconv_prog.c:61 +#: iconv/iconv_prog.c:60 msgid "Input/Output format specification:" -msgstr "Especificación de formato de Entrada/Salida:" +msgstr "Especificación de formato de Entrada/Salida:" -#: iconv/iconv_prog.c:62 +#: iconv/iconv_prog.c:61 msgid "encoding of original text" -msgstr "codificación del texto original" +msgstr "codificación del texto original" -#: iconv/iconv_prog.c:63 +#: iconv/iconv_prog.c:62 msgid "encoding for output" -msgstr "codificación para el resultado" +msgstr "codificación para el resultado" -#: iconv/iconv_prog.c:64 +#: iconv/iconv_prog.c:63 msgid "Information:" -msgstr "Información:" +msgstr "Información:" -#: iconv/iconv_prog.c:65 +#: iconv/iconv_prog.c:64 msgid "list all known coded character sets" msgstr "lista todos los juegos de caracteres conocidos" -#: iconv/iconv_prog.c:66 locale/programs/localedef.c:128 +#: iconv/iconv_prog.c:65 locale/programs/localedef.c:127 msgid "Output control:" msgstr "Control del resultado:" -#: iconv/iconv_prog.c:67 +#: iconv/iconv_prog.c:66 msgid "omit invalid characters from output" -msgstr "se omiten los caracteres inválidos en la salida" +msgstr "se omiten los caracteres inválidos en la salida" -#: iconv/iconv_prog.c:68 +#: iconv/iconv_prog.c:67 msgid "output file" msgstr "fichero de salida" -#: iconv/iconv_prog.c:69 +#: iconv/iconv_prog.c:68 msgid "suppress warnings" msgstr "suprime los avisos" -#: iconv/iconv_prog.c:70 +#: iconv/iconv_prog.c:69 msgid "print progress information" -msgstr "muestra información sobre el desarrollo" +msgstr "muestra información sobre el desarrollo" -#: iconv/iconv_prog.c:75 +#: iconv/iconv_prog.c:74 msgid "Convert encoding of given files from one encoding to another." -msgstr "Convierte la codificación de los ficheros dados de una codificación a otra." +msgstr "Convierte la codificación de los ficheros dados de una codificación a otra." -#: iconv/iconv_prog.c:79 +#: iconv/iconv_prog.c:78 msgid "[FILE...]" msgstr "[FICHERO...]" -#: iconv/iconv_prog.c:201 -msgid "cannot open output file" -msgstr "no se puede abrir el fichero de salida" - -#: iconv/iconv_prog.c:243 +#: iconv/iconv_prog.c:234 #, c-format msgid "conversions from `%s' and to `%s' are not supported" -msgstr "no se admite la conversión de `%s' a `%s'" +msgstr "no se admiten las conversiones desde `%s' y hacia `%s'" -#: iconv/iconv_prog.c:248 +#: iconv/iconv_prog.c:239 #, c-format msgid "conversion from `%s' is not supported" -msgstr "no se admite la conversión de `%s'" +msgstr "no se admite la conversión de `%s'" -#: iconv/iconv_prog.c:255 +#: iconv/iconv_prog.c:246 #, c-format msgid "conversion to `%s' is not supported" -msgstr "no se admite la conversión a `%s'" +msgstr "no se admite la conversión a `%s'" -#: iconv/iconv_prog.c:259 +#: iconv/iconv_prog.c:250 #, c-format msgid "conversion from `%s' to `%s' is not supported" -msgstr "no se admite la conversión de `%s' a `%s'" +msgstr "no se admite la conversión de `%s' a `%s'" -#: iconv/iconv_prog.c:265 +#: iconv/iconv_prog.c:260 +#, c-format msgid "failed to start conversion processing" -msgstr "fallo al comenzar el proceso de conversión" +msgstr "fallo al comenzar el proceso de conversión" -#: iconv/iconv_prog.c:360 +#: iconv/iconv_prog.c:358 +#, c-format msgid "error while closing output file" msgstr "error al cerrar el fichero de salida" -#: iconv/iconv_prog.c:409 iconv/iconvconfig.c:357 locale/programs/locale.c:279 -#: locale/programs/localedef.c:372 catgets/gencat.c:233 -#: malloc/memusagestat.c:602 debug/pcprofiledump.c:199 -msgid "Report bugs using the `glibcbug' script to <bugs@gnu.org>.\n" -msgstr "Comunicar bichos usando el programa `glibcbug' a <bugs@gnu.org>.\n" - -#: iconv/iconv_prog.c:423 iconv/iconvconfig.c:371 locale/programs/locale.c:292 -#: locale/programs/localedef.c:386 catgets/gencat.c:246 posix/getconf.c:913 -#: nss/getent.c:74 nscd/nscd.c:355 nscd/nscd_nischeck.c:90 elf/ldconfig.c:274 -#: elf/sprof.c:349 -#, c-format -msgid "" -"Copyright (C) %s Free Software Foundation, Inc.\n" -"This is free software; see the source for copying conditions. There is NO\n" -"warranty; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.\n" -msgstr "" -"Copyright (C) %s Free Software Foundation, Inc.\n" -"Esto es software libre; vea el código fuente para las condiciones de copia.\n" -"No hay NINGUNA garantía; ni siquiera de COMERCIABILIDAD o IDONEIDAD PARA UN\n" -"FIN DETERMINADO.\n" - -#: iconv/iconv_prog.c:428 iconv/iconvconfig.c:376 locale/programs/locale.c:297 -#: locale/programs/localedef.c:391 catgets/gencat.c:251 posix/getconf.c:918 -#: nss/getent.c:79 nscd/nscd.c:360 nscd/nscd_nischeck.c:95 elf/ldconfig.c:279 -#: elf/sprof.c:355 +#: iconv/iconv_prog.c:456 #, c-format -msgid "Written by %s.\n" -msgstr "Escrito por %s.\n" - -#: iconv/iconv_prog.c:458 iconv/iconv_prog.c:484 msgid "conversion stopped due to problem in writing the output" -msgstr "la conversión se ha detenido debido a un problema al escribir el resultado" +msgstr "la conversión se ha detenido debido a un problema al escribir el resultado" -#: iconv/iconv_prog.c:502 +#: iconv/iconv_prog.c:533 #, c-format msgid "illegal input sequence at position %ld" -msgstr "secuencia de entrada ilegal en la posición %ld" +msgstr "secuencia de entrada ilegal en la posición %ld" -#: iconv/iconv_prog.c:510 +#: iconv/iconv_prog.c:541 +#, c-format msgid "internal error (illegal descriptor)" msgstr "error interno (descriptor ilegal)" -#: iconv/iconv_prog.c:513 +#: iconv/iconv_prog.c:544 #, c-format msgid "unknown iconv() error %d" msgstr "error de iconv() desconocido %d" # FIXME: Espacio en blanco final. -#: iconv/iconv_prog.c:756 +#: iconv/iconv_prog.c:790 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" @@ -387,7 +1453,7 @@ msgid "" msgstr "" "La siguiente lista contiene todos los conjuntos de caracteres conocidos.\n" "Esto no quiere decir necesariamente que todas las combinaciones de estos\n" -"nombres se puedan usar como parámetros FROM y TO en la línea de órdenes.\n" +"nombres se puedan usar como parámetros FROM y TO en la lÃnea de órdenes.\n" "Un determinado conjunto de caracteres puede aparecer con varios nombres\n" "(aliases).\n" "\n" @@ -395,1043 +1461,1162 @@ msgstr "" #: iconv/iconvconfig.c:110 msgid "Create fastloading iconv module configuration file." -msgstr "Crea un fichero de configuración de un módulo iconv de carga rápida." +msgstr "Crea un fichero de configuración de un módulo iconv de carga rápida." #: iconv/iconvconfig.c:114 msgid "[DIR...]" msgstr "[DIR...]" -# FIXME: El mensaje es ambiguo. No sabe muy bien si después de este -# mensaje nos dicen justo a continuación cuál es ese prefijo (en cuyo +# FIXME: El mensaje es ambiguo. No sabe muy bien si después de este +# mensaje nos dicen justo a continuación cuál es ese prefijo (en cuyo # caso el msgstr que he puesto es apropiado) o si por el contrario lo -# que nos dicen es que se utilizará prefijo para todos los accesos a +# que nos dicen es que se utilizará prefijo para todos los accesos a # ficheros. -#: iconv/iconvconfig.c:126 +#: iconv/iconvconfig.c:127 msgid "Prefix used for all file accesses" msgstr "Prefijo utilizado para todos los accesos a ficheros" -#: iconv/iconvconfig.c:327 locale/programs/localedef.c:292 +#: iconv/iconvconfig.c:128 +msgid "Put output in FILE instead of installed location (--prefix does not apply to FILE)" +msgstr "Pone el resultado en FICHERO, no en el lugar instalado (--prefix no es aplicable a FICHERO)" + +#: iconv/iconvconfig.c:132 +msgid "Do not search standard directories, only those on the command line" +msgstr "No busca en los directorios estándar, solamente en los de la lÃnea de órdenes" + +#: iconv/iconvconfig.c:301 +#, c-format +msgid "Directory arguments required when using --nostdlib" +msgstr "Se requieren directorios como argumentos cuando se usa --nostdlib" + +#: iconv/iconvconfig.c:343 locale/programs/localedef.c:291 +#, c-format msgid "no output file produced because warnings were issued" -msgstr "no se ha producido ningún fichero de salida debido a la existencia de avisos" +msgstr "no se ha producido ningún fichero de salida debido a la existencia de avisos" -#: iconv/iconvconfig.c:405 +#: iconv/iconvconfig.c:429 +#, c-format msgid "while inserting in search tree" -msgstr "al insertar en el árbol de búsqueda" +msgstr "al insertar en el árbol de búsqueda" -#: iconv/iconvconfig.c:1204 +#: iconv/iconvconfig.c:1238 +#, c-format msgid "cannot generate output file" msgstr "no se puede generar el fichero de salida" +#: inet/rcmd.c:163 +msgid "rcmd: Cannot allocate memory\n" +msgstr "rcmd: No se puede asignar memoria\n" + +#: inet/rcmd.c:178 +msgid "rcmd: socket: All ports in use\n" +msgstr "rcmd: socket: Se están usando todos los puertos\n" + +#: inet/rcmd.c:206 +#, c-format +msgid "connect to address %s: " +msgstr "conexión a la dirección %s: " + +#: inet/rcmd.c:219 +#, c-format +msgid "Trying %s...\n" +msgstr "Intentando %s...\n" + +#: inet/rcmd.c:255 +#, c-format +msgid "rcmd: write (setting up stderr): %m\n" +msgstr "rcmd: write (activando la salida de error estándar): %m\n" + +#: inet/rcmd.c:271 +#, c-format +msgid "rcmd: poll (setting up stderr): %m\n" +msgstr "rcmd: poll (activando la salida de error estándar): %m\n" + +# ¿en la configuración del servicio?, ¿del circuito?, ¿o dejarlo asÃ? +# Es de locos, estuve viendo las/los fuentes, preferà dejarlo asÃ. em +#: inet/rcmd.c:274 +msgid "poll: protocol failure in circuit setup\n" +msgstr "poll: fallo de protocolo al configurar el circuito\n" + +# ??? lo mismo que arriba +#: inet/rcmd.c:306 +msgid "socket: protocol failure in circuit setup\n" +msgstr "socket: fallo de protocolo al configurar el circuito\n" + +#: inet/rcmd.c:330 +#, c-format +msgid "rcmd: %s: short read" +msgstr "rcmd: %s: lectura insuficiente" + +# ## Lo mismo con lstat. sv +# Antes decÃa: No se pudo obtener información (lstat) del fichero .rhosts +#: inet/rcmd.c:486 +msgid "lstat failed" +msgstr "lstat ha fallado" + +#: inet/rcmd.c:493 +msgid "cannot open" +msgstr "no se puede abrir" + +# ## Sugerencia: Añadir (fstat) después de información. sv +# Antes decÃa: No se pudo obtener información (fstat) del fichero .rhosts +#: inet/rcmd.c:495 +msgid "fstat failed" +msgstr "fstat ha fallado" + +# Antes decÃa: El propietario del fichero .rhosts no es válido +#: inet/rcmd.c:497 +msgid "bad owner" +msgstr "propietario incorrecto" + +#: inet/rcmd.c:499 +msgid "writeable by other than owner" +msgstr "puede ser modificado por otros además del propietario" + +#: inet/rcmd.c:501 +msgid "hard linked somewhere" +msgstr "hay un enlace duro en alguna parte" + +#: inet/ruserpass.c:170 inet/ruserpass.c:193 +msgid "out of memory" +msgstr "memoria agotada" + +# Supongo que se dice legible... sv +#: inet/ruserpass.c:184 +msgid "Error: .netrc file is readable by others." +msgstr "Error: el fichero .netrc es legible por otros usuarios." + +#: inet/ruserpass.c:185 +msgid "Remove password or make file unreadable by others." +msgstr "Elimine la contraseña o haga el fichero no legible por otros." + +#: inet/ruserpass.c:277 +#, c-format +msgid "Unknown .netrc keyword %s" +msgstr "Palabra clave %s desconocida en .netrc" + +#: libidn/nfkc.c:464 +msgid "Character out of range for UTF-8" +msgstr "Carácter fuera de rango para UTF-8" + #: locale/programs/charmap-dir.c:59 #, c-format msgid "cannot read character map directory `%s'" msgstr "no se puede leer el directorio de tablas de caracteres `%s'" -#: locale/programs/charmap.c:136 +#: locale/programs/charmap.c:138 #, c-format msgid "character map file `%s' not found" -msgstr "el fichero de tabla de caracteres `%s' no se encontró" +msgstr "el fichero de tabla de caracteres `%s' no se encontró" -#: locale/programs/charmap.c:194 +#: locale/programs/charmap.c:195 #, c-format msgid "default character map file `%s' not found" -msgstr "no se encontró el fichero de tabla de caracteres predeterminado `%s'" +msgstr "no se encontró el fichero de tabla de caracteres predeterminado `%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 "" "la tabla de caracteres `%s' no es compatible con ASCII, el local no cumple\n" "con 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> debe ser mayor que <mb_cur_min>\n" -#: locale/programs/charmap.c:356 locale/programs/charmap.c:373 -#: locale/programs/repertoire.c:175 +#: locale/programs/charmap.c:357 locale/programs/charmap.c:374 +#: locale/programs/repertoire.c:174 #, c-format msgid "syntax error in prolog: %s" -msgstr "error de sintaxis en el prólogo: %s" +msgstr "error de sintaxis en el prólogo: %s" -#: locale/programs/charmap.c:357 +#: locale/programs/charmap.c:358 msgid "invalid definition" -msgstr "definición inválida" +msgstr "definición inválida" -#: locale/programs/charmap.c:374 locale/programs/locfile.c:126 -#: locale/programs/locfile.c:153 locale/programs/repertoire.c:176 +#: locale/programs/charmap.c:375 locale/programs/locfile.c:126 +#: locale/programs/locfile.c:153 locale/programs/repertoire.c:175 msgid "bad argument" -msgstr "argumento erróneo" +msgstr "argumento erróneo" -#: locale/programs/charmap.c:402 +#: locale/programs/charmap.c:403 #, c-format msgid "duplicate definition of <%s>" -msgstr "definición duplicada de <%s>" +msgstr "definición duplicada de <%s>" -#: locale/programs/charmap.c:409 +#: locale/programs/charmap.c:410 #, c-format msgid "value for <%s> must be 1 or greater" msgstr "el valor para <%s> debe ser 1 o mayor" -# Milagro, por una vez es más corto en español :-) sv -#: locale/programs/charmap.c:421 +# Milagro, por una vez es más corto en español :-) sv +#: locale/programs/charmap.c:422 #, c-format msgid "value of <%s> must be greater or equal than the value of <%s>" msgstr "el valor de <%s> debe ser mayor o igual que el valor de <%s>" -#: locale/programs/charmap.c:444 locale/programs/repertoire.c:184 +#: locale/programs/charmap.c:445 locale/programs/repertoire.c:183 #, c-format msgid "argument to <%s> must be a single character" -msgstr "el argumento para <%s> debe ser un único carácter" +msgstr "el argumento para <%s> debe ser un único carácter" -#: locale/programs/charmap.c:470 +#: locale/programs/charmap.c:471 msgid "character sets with locking states are not supported" -msgstr "los conjuntos de caracteres con estados de bloqueo no están soportados" +msgstr "los conjuntos de caracteres con estados de bloqueo no están soportados" -#: 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 "error de sintaxis en la definición de %s: %s" +msgstr "error de sintaxis en la definición de %s: %s" -#: locale/programs/charmap.c:498 locale/programs/charmap.c:678 -#: locale/programs/charmap.c:774 locale/programs/repertoire.c:231 +#: locale/programs/charmap.c:499 locale/programs/charmap.c:679 +#: locale/programs/charmap.c:775 locale/programs/repertoire.c:230 msgid "no symbolic name given" -msgstr "no se ha especificado ningún nombre simbólico" +msgstr "no se ha especificado ningún nombre simbólico" -#: locale/programs/charmap.c:552 +#: locale/programs/charmap.c:553 msgid "invalid encoding given" -msgstr "especificada una codificación inválida" +msgstr "especificada una codificación inválida" -#: locale/programs/charmap.c:561 +#: locale/programs/charmap.c:562 msgid "too few bytes in character encoding" -msgstr "insuficiente número de bytes en la codificación del carácter" +msgstr "insuficiente número de bytes en la codificación del carácter" -#: locale/programs/charmap.c:563 +#: locale/programs/charmap.c:564 msgid "too many bytes in character encoding" -msgstr "demasiados bytes en la codificación del carácter" +msgstr "demasiados bytes en la codificación del carácter" -#: locale/programs/charmap.c:585 locale/programs/charmap.c:733 -#: locale/programs/charmap.c:816 locale/programs/repertoire.c:297 +#: locale/programs/charmap.c:586 locale/programs/charmap.c:734 +#: locale/programs/charmap.c:817 locale/programs/repertoire.c:296 msgid "no symbolic name given for end of range" -msgstr "no se ha especificado ningún nombre simbólico para el final del rango" - -#: locale/programs/charmap.c:609 locale/programs/locfile.c:818 -#: locale/programs/repertoire.c:314 +msgstr "no se ha especificado ningún nombre simbólico para el final del rango" + +#: locale/programs/charmap.c:610 locale/programs/ld-address.c:602 +#: locale/programs/ld-collate.c:2769 locale/programs/ld-collate.c:3927 +#: locale/programs/ld-ctype.c:2257 locale/programs/ld-ctype.c:3009 +#: 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 "La definición `%1$s' no termina con `END %1$s'" +msgid "%1$s: definition does not end with `END %1$s'" +msgstr "%1$s: la definición no termina con `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 "solamente se permiten ANCHO definiciones después de la definición CHARMAP" +msgstr "solamente se permiten ANCHO definiciones después de la definición CHARMAP" -#: locale/programs/charmap.c:650 locale/programs/charmap.c:713 +#: locale/programs/charmap.c:651 locale/programs/charmap.c:714 #, c-format msgid "value for %s must be an integer" -msgstr "el valor para %s debe ser un número entero" +msgstr "el valor para %s debe ser un número entero" # Para entender este mensaje, pensar en Turing. -#: locale/programs/charmap.c:841 +#: locale/programs/charmap.c:842 #, c-format msgid "%s: error in state machine" -msgstr "%s: error en la máquina de estados" - -#: locale/programs/charmap.c:849 locale/programs/ld-address.c:605 -#: locale/programs/ld-collate.c:2650 locale/programs/ld-collate.c:3818 -#: locale/programs/ld-ctype.c:2225 locale/programs/ld-ctype.c:2994 -#: locale/programs/ld-identification.c:469 -#: locale/programs/ld-measurement.c:255 locale/programs/ld-messages.c:349 -#: locale/programs/ld-monetary.c:958 locale/programs/ld-name.c:324 -#: locale/programs/ld-numeric.c:392 locale/programs/ld-paper.c:258 -#: locale/programs/ld-telephone.c:330 locale/programs/ld-time.c:1219 -#: locale/programs/locfile.c:825 locale/programs/repertoire.c:325 +msgstr "%s: error en la máquina de estados" + +#: locale/programs/charmap.c:850 locale/programs/ld-address.c:618 +#: locale/programs/ld-collate.c:2766 locale/programs/ld-collate.c:4120 +#: locale/programs/ld-ctype.c:2254 locale/programs/ld-ctype.c:3026 +#: locale/programs/ld-identification.c:468 +#: locale/programs/ld-measurement.c:254 locale/programs/ld-messages.c:348 +#: locale/programs/ld-monetary.c:959 locale/programs/ld-name.c:323 +#: locale/programs/ld-numeric.c:384 locale/programs/ld-paper.c:257 +#: locale/programs/ld-telephone.c:329 locale/programs/ld-time.c:1237 +#: locale/programs/locfile.c:826 locale/programs/repertoire.c:324 #, c-format msgid "%s: premature end of file" msgstr "%s: fin de fichero no esperado" -#: 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 "carácter desconocido `%s'" +msgstr "carácter desconocido `%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 "" -"el número de bytes para la sucesión de bytes de comienzo y final del rango\n" +"el número de bytes para la sucesión de bytes de comienzo y final del rango\n" "no es el mismo: %d vs %d" -#: locale/programs/charmap.c:991 locale/programs/ld-collate.c:2930 -#: locale/programs/repertoire.c:420 +#: locale/programs/charmap.c:993 locale/programs/ld-collate.c:3046 +#: locale/programs/repertoire.c:419 msgid "invalid names for character range" -msgstr "nombres inválidos para el rango de caracteres" +msgstr "nombres inválidos para el rango de caracteres" -#: locale/programs/charmap.c:1003 locale/programs/repertoire.c:432 +#: locale/programs/charmap.c:1005 locale/programs/repertoire.c:431 msgid "hexadecimal range format should use only capital characters" -msgstr "el formato de rango hexadecimal debe usar solamente caracteres en mayúsculas" +msgstr "el formato de rango hexadecimal debe usar solamente caracteres en mayúsculas" -#: locale/programs/charmap.c:1021 +#: locale/programs/charmap.c:1023 locale/programs/repertoire.c:449 #, c-format -msgid "<%s> and <%s> are illegal names for range" -msgstr "<%s> y <%s> son nombres no permitidos para el rango de caracteres" +msgid "<%s> and <%s> are invalid names for range" +msgstr "<%s> y <%s> son nombres inválidos para el rango de caracteres" -# FIXME: then -> than -#: locale/programs/charmap.c:1027 -msgid "upper limit in range is not higher then lower limit" -msgstr "el límite superior del rango no es mayor que el límite inferior" +#: locale/programs/charmap.c:1029 locale/programs/repertoire.c:456 +msgid "upper limit in range is smaller than lower limit" +msgstr "el lÃmite superior del rango es menor que el lÃmite inferior" -#: locale/programs/charmap.c:1085 +#: locale/programs/charmap.c:1087 msgid "resulting bytes for range not representable." msgstr "los bytes resultantes para el rango no son representables." -#: locale/programs/ld-address.c:134 locale/programs/ld-collate.c:1534 -#: locale/programs/ld-ctype.c:421 locale/programs/ld-identification.c:134 -#: locale/programs/ld-measurement.c:95 locale/programs/ld-messages.c:98 -#: locale/programs/ld-monetary.c:194 locale/programs/ld-name.c:95 -#: locale/programs/ld-numeric.c:99 locale/programs/ld-paper.c:92 -#: locale/programs/ld-telephone.c:95 locale/programs/ld-time.c:160 +#: locale/programs/ld-address.c:135 locale/programs/ld-collate.c:1558 +#: locale/programs/ld-ctype.c:421 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 "No se encontró ninguna definición para la categoría %s" - -# FIXME: ¿Por qué hay dos mensajes distintos para este y el siguiente? -#: locale/programs/ld-address.c:145 locale/programs/ld-address.c:183 -#: locale/programs/ld-address.c:201 locale/programs/ld-address.c:228 -#: locale/programs/ld-address.c:290 locale/programs/ld-address.c:309 -#: locale/programs/ld-address.c:322 locale/programs/ld-identification.c:147 -#: locale/programs/ld-measurement.c:106 locale/programs/ld-monetary.c:206 +msgstr "No se encontró ninguna definición para la categorÃa %s" + +# FIXME: ¿Por qué hay dos mensajes distintos para este y el siguiente? +#: 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:106 -#: locale/programs/ld-name.c:143 locale/programs/ld-numeric.c:113 -#: locale/programs/ld-numeric.c:127 locale/programs/ld-paper.c:103 -#: locale/programs/ld-paper.c:112 locale/programs/ld-telephone.c:106 -#: locale/programs/ld-telephone.c:163 locale/programs/ld-time.c:176 -#: locale/programs/ld-time.c:197 +#: locale/programs/ld-monetary.c:278 locale/programs/ld-name.c:105 +#: locale/programs/ld-name.c:142 locale/programs/ld-numeric.c:112 +#: locale/programs/ld-numeric.c:126 locale/programs/ld-paper.c:102 +#: locale/programs/ld-paper.c:111 locale/programs/ld-telephone.c:105 +#: locale/programs/ld-telephone.c:162 locale/programs/ld-time.c:175 +#: locale/programs/ld-time.c:196 #, c-format msgid "%s: field `%s' not defined" -msgstr "%s: el campo `%s' no está definido" +msgstr "%s: el campo `%s' no está definido" -#: locale/programs/ld-address.c:157 locale/programs/ld-address.c:209 -#: locale/programs/ld-address.c:235 locale/programs/ld-address.c:265 -#: locale/programs/ld-name.c:118 locale/programs/ld-telephone.c:118 +#: locale/programs/ld-address.c: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 "%s: el campo `%s' no debe estar vacío" +msgstr "%s: el campo `%s' no debe estar vacÃo" -#: locale/programs/ld-address.c:169 +#: locale/programs/ld-address.c:170 #, c-format msgid "%s: invalid escape `%%%c' sequence in field `%s'" -msgstr "%s: secuencia de escape `%%%c' inválida en el campo `%s'" +msgstr "%s: secuencia de escape `%%%c' inválida en el campo `%s'" -#: locale/programs/ld-address.c:220 +#: locale/programs/ld-address.c:221 #, c-format msgid "%s: terminology language code `%s' not defined" -msgstr "%s: el código de terminología del idioma `%s' no está definido" +msgstr "%s: el código de terminologÃa del idioma `%s' no está definido" + +# FIXME: ¿Por qué hay dos mensajes distintos para este y el siguiente? +#: locale/programs/ld-address.c:246 +#, c-format +msgid "%s: field `%s' must not be defined" +msgstr "%s: no se debe definir el campo `%s'" -#: locale/programs/ld-address.c:247 locale/programs/ld-address.c:276 +#: locale/programs/ld-address.c:260 locale/programs/ld-address.c:289 #, c-format msgid "%s: language abbreviation `%s' not defined" -msgstr "%s: la abreviatura de lenguaje `%s' no está definida" +msgstr "%s: la abreviatura de lenguaje `%s' no está definida" -#: locale/programs/ld-address.c:254 locale/programs/ld-address.c:282 -#: locale/programs/ld-address.c:316 locale/programs/ld-address.c:328 +#: locale/programs/ld-address.c: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 "%s: el valor `%s' no coincide con el valor `%s'" -#: locale/programs/ld-address.c:301 +#: locale/programs/ld-address.c:314 #, c-format msgid "%s: numeric country code `%d' not valid" -msgstr "%s: el código numérico de país `%d' no es válido" - -#: locale/programs/ld-address.c:497 locale/programs/ld-address.c:534 -#: locale/programs/ld-address.c:572 locale/programs/ld-ctype.c:2601 -#: locale/programs/ld-identification.c:365 -#: locale/programs/ld-measurement.c:222 locale/programs/ld-messages.c:302 -#: locale/programs/ld-monetary.c:700 locale/programs/ld-monetary.c:735 -#: locale/programs/ld-monetary.c:776 locale/programs/ld-name.c:281 -#: locale/programs/ld-numeric.c:264 locale/programs/ld-paper.c:225 -#: locale/programs/ld-telephone.c:289 locale/programs/ld-time.c:1108 -#: locale/programs/ld-time.c:1150 +msgstr "%s: el código numérico de paÃs `%d' no es válido" + +#: locale/programs/ld-address.c:510 locale/programs/ld-address.c:547 +#: locale/programs/ld-address.c:585 locale/programs/ld-ctype.c:2633 +#: 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: el campo `%s' ha sido declarado más de una vez" +msgstr "%s: el campo `%s' ha sido declarado más de una vez" -#: locale/programs/ld-address.c:501 locale/programs/ld-address.c:539 -#: locale/programs/ld-identification.c:369 locale/programs/ld-messages.c:312 -#: locale/programs/ld-monetary.c:704 locale/programs/ld-monetary.c:739 -#: locale/programs/ld-name.c:285 locale/programs/ld-numeric.c:268 -#: locale/programs/ld-telephone.c:293 locale/programs/ld-time.c:1002 -#: locale/programs/ld-time.c:1071 locale/programs/ld-time.c:1113 +#: locale/programs/ld-address.c: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 +#: 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: carácter desconocido en el campo `%s'" +msgstr "%s: carácter desconocido en el campo `%s'" -#: locale/programs/ld-address.c:586 locale/programs/ld-collate.c:3800 -#: locale/programs/ld-ctype.c:2974 locale/programs/ld-identification.c:450 -#: locale/programs/ld-measurement.c:236 locale/programs/ld-messages.c:331 -#: locale/programs/ld-monetary.c:940 locale/programs/ld-name.c:306 -#: locale/programs/ld-numeric.c:374 locale/programs/ld-paper.c:240 -#: locale/programs/ld-telephone.c:312 locale/programs/ld-time.c:1201 +#: locale/programs/ld-address.c:599 locale/programs/ld-collate.c:3925 +#: locale/programs/ld-ctype.c:3006 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: línea `END' incompleta" - -#: locale/programs/ld-address.c:589 locale/programs/ld-collate.c:2653 -#: locale/programs/ld-collate.c:3802 locale/programs/ld-ctype.c:2228 -#: locale/programs/ld-ctype.c:2977 locale/programs/ld-identification.c:453 -#: locale/programs/ld-measurement.c:239 locale/programs/ld-messages.c:333 -#: locale/programs/ld-monetary.c:942 locale/programs/ld-name.c:308 -#: locale/programs/ld-numeric.c:376 locale/programs/ld-paper.c:242 -#: locale/programs/ld-telephone.c:314 locale/programs/ld-time.c:1203 -#, c-format -msgid "%1$s: definition does not end with `END %1$s'" -msgstr "%1$s: la definición no termina con `END %1$s'" - -#: locale/programs/ld-address.c:596 locale/programs/ld-collate.c:523 -#: locale/programs/ld-collate.c:575 locale/programs/ld-collate.c:871 -#: locale/programs/ld-collate.c:884 locale/programs/ld-collate.c:2640 -#: locale/programs/ld-collate.c:3809 locale/programs/ld-ctype.c:1956 -#: locale/programs/ld-ctype.c:2215 locale/programs/ld-ctype.c:2799 -#: locale/programs/ld-ctype.c:2985 locale/programs/ld-identification.c:460 -#: locale/programs/ld-measurement.c:246 locale/programs/ld-messages.c:340 -#: locale/programs/ld-monetary.c:949 locale/programs/ld-name.c:315 -#: locale/programs/ld-numeric.c:383 locale/programs/ld-paper.c:249 -#: locale/programs/ld-telephone.c:321 locale/programs/ld-time.c:1210 +msgstr "%s: lÃnea `END' incompleta" + +#: locale/programs/ld-address.c:609 locale/programs/ld-collate.c:544 +#: locale/programs/ld-collate.c:596 locale/programs/ld-collate.c:892 +#: locale/programs/ld-collate.c:905 locale/programs/ld-collate.c:2735 +#: locale/programs/ld-collate.c:2756 locale/programs/ld-collate.c:4110 +#: locale/programs/ld-ctype.c:1985 locale/programs/ld-ctype.c:2244 +#: locale/programs/ld-ctype.c:2831 locale/programs/ld-ctype.c:3017 +#: 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: error de sintaxis" -#: locale/programs/ld-collate.c:398 +#: locale/programs/ld-collate.c:419 #, c-format msgid "`%.*s' already defined in charmap" -msgstr "`%.*s' ya está definido en la tabla de caracteres" +msgstr "`%.*s' ya está definido en la tabla de caracteres" -#: locale/programs/ld-collate.c:407 +#: locale/programs/ld-collate.c:428 #, c-format msgid "`%.*s' already defined in repertoire" -msgstr "`%.*s' ya está definido en el repertorio" +msgstr "`%.*s' ya está definido en el repertorio" -#: locale/programs/ld-collate.c:414 +#: locale/programs/ld-collate.c:435 #, c-format msgid "`%.*s' already defined as collating symbol" -msgstr "`%.*s' ya está definido como símbolo de ordenación" +msgstr "`%.*s' ya está definido como sÃmbolo de ordenación" -#: locale/programs/ld-collate.c:421 +#: locale/programs/ld-collate.c:442 #, c-format msgid "`%.*s' already defined as collating element" -msgstr "`%.*s' ya está definido como elemento de ordenación" +msgstr "`%.*s' ya está definido como elemento de ordenación" -#: locale/programs/ld-collate.c:452 locale/programs/ld-collate.c:478 +#: locale/programs/ld-collate.c:473 locale/programs/ld-collate.c:499 #, c-format msgid "%s: `forward' and `backward' are mutually excluding each other" msgstr "%s: `forward' y `backward' se excluyen mutuamente" -#: locale/programs/ld-collate.c:462 locale/programs/ld-collate.c:488 -#: locale/programs/ld-collate.c:504 +#: locale/programs/ld-collate.c:483 locale/programs/ld-collate.c:509 +#: locale/programs/ld-collate.c:525 #, c-format msgid "%s: `%s' mentioned more than once in definition of weight %d" -msgstr "%s: `%s' mencionado más de una vez en la definición del peso %d" +msgstr "%s: `%s' mencionado más de una vez en la definición del peso %d" -#: locale/programs/ld-collate.c:560 +#: locale/programs/ld-collate.c:581 #, c-format msgid "%s: too many rules; first entry only had %d" -msgstr "%s: demasiadas reglas; la primera entrada solamente tenía %d" +msgstr "%s: demasiadas reglas; la primera entrada solamente tenÃa %d" -#: locale/programs/ld-collate.c:596 +#: locale/programs/ld-collate.c:617 #, c-format msgid "%s: not enough sorting rules" -msgstr "%s: no hay suficientes reglas de ordenación" +msgstr "%s: no hay suficientes reglas de ordenación" -#: locale/programs/ld-collate.c:761 +#: locale/programs/ld-collate.c:782 #, c-format msgid "%s: empty weight string not allowed" -msgstr "%s: no se permite una cadena de peso vacía" +msgstr "%s: no se permite una cadena de peso vacÃa" -#: locale/programs/ld-collate.c:856 +#: locale/programs/ld-collate.c:877 #, c-format msgid "%s: weights must use the same ellipsis symbol as the name" -msgstr "%s: los pesos deben usar el mismo símbolo de elipsis que el nombre" +msgstr "%s: los pesos deben usar el mismo sÃmbolo de elipsis que el nombre" -#: locale/programs/ld-collate.c:912 +#: locale/programs/ld-collate.c:933 #, c-format msgid "%s: too many values" msgstr "%s: demasiados valores" -#: locale/programs/ld-collate.c:1031 locale/programs/ld-collate.c:1206 +#: locale/programs/ld-collate.c:1053 locale/programs/ld-collate.c:1228 #, c-format msgid "order for `%.*s' already defined at %s:%Zu" -msgstr "el orden para `%.*s' ya está definido en %s:%Zu" +msgstr "el orden para `%.*s' ya está definido en %s:%Zu" -#: locale/programs/ld-collate.c:1081 +#: locale/programs/ld-collate.c:1103 #, c-format msgid "%s: the start and the end symbol of a range must stand for characters" -msgstr "%s: los símbolos de comienzo y de final de un rango deben representar caracteres" +msgstr "%s: los sÃmbolos de comienzo y de final de un rango deben representar caracteres" -#: locale/programs/ld-collate.c:1108 +#: locale/programs/ld-collate.c:1130 #, c-format msgid "%s: byte sequences of first and last character must have the same length" msgstr "" -"%s: los órdenes de byte de los caracteres primero y último deben tener\n" +"%s: los órdenes de byte de los caracteres primero y último deben tener\n" "la misma longitud" -#: locale/programs/ld-collate.c:1150 +#: locale/programs/ld-collate.c:1172 #, c-format -msgid "%s: byte sequence of first character of sequence is not lower than that of the last character" +msgid "%s: byte sequence of first character of range is not lower than that of the last character" msgstr "" -"%s: el orden de byte del primer carácter de la sucesión no es menor que\n" -"el del último carácter" +"%s: el orden de byte del primer carácter del rango no es menor que\n" +"el del último carácter" -#: locale/programs/ld-collate.c:1275 +#: locale/programs/ld-collate.c:1297 #, c-format msgid "%s: symbolic range ellipsis must not directly follow `order_start'" -msgstr "%s: el rango simbólico de la elipsis no debe seguir directamente a `order_start'" +msgstr "%s: el rango simbólico de la elipsis no debe seguir directamente a `order_start'" -#: locale/programs/ld-collate.c:1279 +#: locale/programs/ld-collate.c:1301 #, c-format msgid "%s: symbolic range ellipsis must not be directly followed by `order_end'" -msgstr "%s: el rango simbólico de la elipsis no debe estar directamente seguido por `order_end'" +msgstr "%s: el rango simbólico de la elipsis no debe estar directamente seguido por `order_end'" -#: locale/programs/ld-collate.c:1299 locale/programs/ld-ctype.c:1476 +#: locale/programs/ld-collate.c:1321 locale/programs/ld-ctype.c:1502 #, c-format msgid "`%s' and `%.*s' are not valid names for symbolic range" -msgstr "`%s' y `%.*s' no son nombres válidos para el rango simbólico" +msgstr "`%s' y `%.*s' no son nombres válidos para el rango simbólico" -#: locale/programs/ld-collate.c:1348 locale/programs/ld-collate.c:3737 +#: locale/programs/ld-collate.c:1371 locale/programs/ld-collate.c:3861 #, c-format msgid "%s: order for `%.*s' already defined at %s:%Zu" -msgstr "%s: el orden para `%.*s' ya está definido en %s:%Zu" +msgstr "%s: el orden para `%.*s' ya está definido en %s:%Zu" -#: locale/programs/ld-collate.c:1357 +#: locale/programs/ld-collate.c:1380 #, c-format msgid "%s: `%s' must be a character" -msgstr "%s: `%s' debe ser un carácter" +msgstr "%s: `%s' debe ser un carácter" -#: locale/programs/ld-collate.c:1550 +#: locale/programs/ld-collate.c:1575 #, c-format msgid "%s: `position' must be used for a specific level in all sections or none" -msgstr "%s: `position' debe utilizarse para un nivel específico en todas las secciones o en ninguna" +msgstr "%s: `position' debe utilizarse para un nivel especÃfico en todas las secciones o en ninguna" -#: locale/programs/ld-collate.c:1575 +#: locale/programs/ld-collate.c:1600 #, c-format msgid "symbol `%s' not defined" -msgstr "el símbolo `%s' no está definido" +msgstr "el sÃmbolo `%s' no está definido" -#: locale/programs/ld-collate.c:1651 locale/programs/ld-collate.c:1757 +#: locale/programs/ld-collate.c:1676 locale/programs/ld-collate.c:1782 #, c-format msgid "symbol `%s' has the same encoding as" -msgstr "el símbolo `%s' tiene la misma codificación que" +msgstr "el sÃmbolo `%s' tiene la misma codificación que" -#: locale/programs/ld-collate.c:1655 locale/programs/ld-collate.c:1761 +#: locale/programs/ld-collate.c:1680 locale/programs/ld-collate.c:1786 #, c-format msgid "symbol `%s'" -msgstr "el símbolo `%s'" +msgstr "el sÃmbolo `%s'" -#: locale/programs/ld-collate.c:1803 +#: locale/programs/ld-collate.c:1828 +#, c-format msgid "no definition of `UNDEFINED'" -msgstr "no hay definición para `UNDEFINED'" +msgstr "no hay definición para `UNDEFINED'" -#: locale/programs/ld-collate.c:1832 +#: locale/programs/ld-collate.c:1857 +#, c-format msgid "too many errors; giving up" msgstr "demasiados errores; abandono" -#: locale/programs/ld-collate.c:2735 +#: locale/programs/ld-collate.c:2661 locale/programs/ld-collate.c:4049 +#, c-format +msgid "%s: nested conditionals not supported" +msgstr "%s: no se admiten condicionales anidados" + +#: locale/programs/ld-collate.c:2679 +#, c-format +msgid "%s: more then one 'else'" +msgstr "%s: más de un 'else'" + +#: locale/programs/ld-collate.c:2854 #, c-format msgid "%s: duplicate definition of `%s'" -msgstr "%s: definición duplicada de `%s'" +msgstr "%s: definición duplicada de `%s'" -#: locale/programs/ld-collate.c:2771 +#: locale/programs/ld-collate.c:2890 #, c-format msgid "%s: duplicate declaration of section `%s'" -msgstr "%s: definición duplicada de la sección `%s'" +msgstr "%s: definición duplicada de la sección `%s'" -#: locale/programs/ld-collate.c:2910 +#: locale/programs/ld-collate.c:3026 #, c-format msgid "%s: unknown character in collating symbol name" -msgstr "%s: carácter desconocido en el nombre de un símbolo de ordenación" +msgstr "%s: carácter desconocido en el nombre de un sÃmbolo de ordenación" -#: locale/programs/ld-collate.c:3042 +#: locale/programs/ld-collate.c:3155 #, c-format msgid "%s: unknown character in equivalent definition name" -msgstr "%s: carácter desconocido en el nombre de definición equivalente" +msgstr "%s: carácter desconocido en el nombre de definición equivalente" -#: locale/programs/ld-collate.c:3055 +#: locale/programs/ld-collate.c:3166 #, c-format msgid "%s: unknown character in equivalent definition value" -msgstr "%s: carácter desconocido en el valor de definición equivalente" +msgstr "%s: carácter desconocido en el valor de definición equivalente" -#: locale/programs/ld-collate.c:3065 +#: locale/programs/ld-collate.c:3176 #, c-format msgid "%s: unknown symbol `%s' in equivalent definition" -msgstr "%s: símbolo desconocido `%s' en la definición equivalente" +msgstr "%s: sÃmbolo desconocido `%s' en la definición equivalente" -#: locale/programs/ld-collate.c:3074 +#: locale/programs/ld-collate.c:3185 msgid "error while adding equivalent collating symbol" -msgstr "error al añadir símbolo de ordenación equivalente" +msgstr "error al añadir sÃmbolo de ordenación equivalente" -#: locale/programs/ld-collate.c:3104 +#: locale/programs/ld-collate.c:3223 #, c-format msgid "duplicate definition of script `%s'" -msgstr "definición duplicada de `script' `%s'" +msgstr "definición duplicada de `script' `%s'" -#: locale/programs/ld-collate.c:3152 +#: locale/programs/ld-collate.c:3271 #, c-format -msgid "%s: unknown section name `%s'" -msgstr "%s: nombre de sección desconocido `%s'" +msgid "%s: unknown section name `%.*s'" +msgstr "%s: nombre de sección desconocido `%.*s'" -#: locale/programs/ld-collate.c:3180 +#: locale/programs/ld-collate.c:3300 #, c-format msgid "%s: multiple order definitions for section `%s'" -msgstr "%s: hay varias definiciones de orden para la sección `%s'" +msgstr "%s: hay varias definiciones de orden para la sección `%s'" -#: locale/programs/ld-collate.c:3205 +#: locale/programs/ld-collate.c:3328 #, c-format msgid "%s: invalid number of sorting rules" -msgstr "%s: número inválido de reglas de ordenación" +msgstr "%s: número inválido de reglas de ordenación" -#: locale/programs/ld-collate.c:3232 +#: locale/programs/ld-collate.c:3355 #, c-format msgid "%s: multiple order definitions for unnamed section" -msgstr "%s: varias definiciones de orden para la sección sin nombre" +msgstr "%s: varias definiciones de orden para la sección sin nombre" -#: locale/programs/ld-collate.c:3286 locale/programs/ld-collate.c:3414 -#: locale/programs/ld-collate.c:3778 +#: locale/programs/ld-collate.c:3410 locale/programs/ld-collate.c:3540 +#: locale/programs/ld-collate.c:3903 #, c-format msgid "%s: missing `order_end' keyword" msgstr "%s: falta la palabra clave `order_end'" -#: locale/programs/ld-collate.c:3347 +#: locale/programs/ld-collate.c:3473 #, c-format msgid "%s: order for collating symbol %.*s not yet defined" -msgstr "%s: el orden para el símbolo de ordenación %.*s todavía no está definido" +msgstr "%s: el orden para el sÃmbolo de ordenación %.*s todavÃa no está definido" -# FIXME: ¿Por qué este y el siguiente no son iguales? -#: locale/programs/ld-collate.c:3365 +# FIXME: ¿Por qué este y el siguiente no son iguales? +#: locale/programs/ld-collate.c:3491 #, c-format msgid "%s: order for collating element %.*s not yet defined" -msgstr "%s: el orden para el elemento de ordenación %.*s todavía no está definido" +msgstr "%s: el orden para el elemento de ordenación %.*s todavÃa no está definido" -#: locale/programs/ld-collate.c:3376 +#: locale/programs/ld-collate.c:3502 #, c-format msgid "%s: cannot reorder after %.*s: symbol not known" -msgstr "%s: no se puede reordenar después de %.*s: símbolo desconocido" +msgstr "%s: no se puede reordenar después de %.*s: sÃmbolo desconocido" -#: locale/programs/ld-collate.c:3428 locale/programs/ld-collate.c:3790 +#: locale/programs/ld-collate.c:3554 locale/programs/ld-collate.c:3915 #, c-format msgid "%s: missing `reorder-end' keyword" msgstr "%s: falta la palabra clave `reorder-end'" -#: locale/programs/ld-collate.c:3462 locale/programs/ld-collate.c:3662 +#: locale/programs/ld-collate.c:3588 locale/programs/ld-collate.c:3786 #, c-format msgid "%s: section `%.*s' not known" -msgstr "%s: la sección `%.*s' es desconocida" +msgstr "%s: la sección `%.*s' es desconocida" -#: locale/programs/ld-collate.c:3527 +#: locale/programs/ld-collate.c:3653 #, c-format msgid "%s: bad symbol <%.*s>" -msgstr "%s: símbolo erróneo <%.*s>" +msgstr "%s: sÃmbolo erróneo <%.*s>" -#: locale/programs/ld-collate.c:3725 +#: locale/programs/ld-collate.c:3849 #, c-format msgid "%s: cannot have `%s' as end of ellipsis range" msgstr "%s: no puede tener `%s' como final de un rango de elipsis" -#: locale/programs/ld-collate.c:3774 +#: locale/programs/ld-collate.c:3899 #, c-format msgid "%s: empty category description not allowed" -msgstr "%s: no se permite una descripción de categoría vacía" +msgstr "%s: no se permite una descripción de categorÃa vacÃa" -#: locale/programs/ld-collate.c:3793 +#: locale/programs/ld-collate.c:3918 #, c-format msgid "%s: missing `reorder-sections-end' keyword" msgstr "%s: falta la palabra clave `reorder-sections-end'" +#: locale/programs/ld-collate.c:4082 +#, c-format +msgid "%s: '%s' without matching 'ifdef' or 'ifndef'" +msgstr "%s: '%s' sin el 'ifdef' o 'ifndef' correspondiente" + +#: locale/programs/ld-collate.c:4100 +#, c-format +msgid "%s: 'endif' without matching 'ifdef' or 'ifndef'" +msgstr "%s: 'endif' sin el 'ifdef' o 'ifndef' correspondiente" + #: locale/programs/ld-ctype.c:440 +#, c-format msgid "No character set name specified in charmap" msgstr "" -"No se ha especificado ningún nombre de conjunto de caracteres en la tabla\n" +"No se ha especificado ningún nombre de conjunto de caracteres en la tabla\n" "de caracteres" #: locale/programs/ld-ctype.c:469 #, c-format msgid "character L'\\u%0*x' in class `%s' must be in class `%s'" -msgstr "el carácter L'\\u%0*x' en la clase `%s' debe estar en la clase `%s'" +msgstr "el carácter L'\\u%0*x' en la clase `%s' debe estar en la clase `%s'" #: locale/programs/ld-ctype.c:484 #, c-format msgid "character L'\\u%0*x' in class `%s' must not be in class `%s'" -msgstr "el carácter L'\\u%0*x' en la clase `%s' no debe estar en la clase `%s" +msgstr "el carácter L'\\u%0*x' en la clase `%s' no debe estar en la clase `%s" #: locale/programs/ld-ctype.c:498 locale/programs/ld-ctype.c:556 #, c-format msgid "internal error in %s, line %u" -msgstr "error interno en %s, línea %u" +msgstr "error interno en %s, lÃnea %u" #: locale/programs/ld-ctype.c:527 #, c-format msgid "character '%s' in class `%s' must be in class `%s'" -msgstr "el carácter '%s' en la clase `%s' debe estar en la clase `%s'" +msgstr "el carácter '%s' en la clase `%s' debe estar en la clase `%s'" #: locale/programs/ld-ctype.c:543 #, c-format msgid "character '%s' in class `%s' must not be in class `%s'" -msgstr "el carácter '%s' en la clase `%s' no debe estar en la clase `%s" +msgstr "el carácter '%s' en la clase `%s' no debe estar en la clase `%s" #: locale/programs/ld-ctype.c:573 locale/programs/ld-ctype.c:611 #, c-format msgid "<SP> character not in class `%s'" -msgstr "El carácter <SP> no está en la clase `%s'" +msgstr "El carácter <SP> no está en la clase `%s'" #: locale/programs/ld-ctype.c:585 locale/programs/ld-ctype.c:622 #, c-format msgid "<SP> character must not be in class `%s'" -msgstr "El carácter <SP> no debe estar en la clase `%s'" +msgstr "El carácter <SP> no debe estar en la clase `%s'" #: locale/programs/ld-ctype.c:600 +#, c-format msgid "character <SP> not defined in character map" -msgstr "el carácter <SP> no está definido en la tabla de caracteres" +msgstr "el carácter <SP> no está definido en la tabla de caracteres" -#: locale/programs/ld-ctype.c:714 +#: locale/programs/ld-ctype.c:736 +#, c-format msgid "`digit' category has not entries in groups of ten" -msgstr "la categoría `digit' no tiene entradas en grupos de diez" +msgstr "la categorÃa `digit' no tiene entradas en grupos de diez" -# FIXME: El original no se entiende. ¿Es gramaticalmente correcto? sv -#: locale/programs/ld-ctype.c:763 +# FIXME: El original no se entiende. ¿Es gramaticalmente correcto? sv +#: locale/programs/ld-ctype.c:785 +#, c-format msgid "no input digits defined and none of the standard names in the charmap" msgstr "" -"no hay ningún dígito de entrada definido y ninguno de los nombres estándar\n" +"no hay ningún dÃgito de entrada definido y ninguno de los nombres estándar\n" "en el conjunto de caracteres" -#: locale/programs/ld-ctype.c:828 +#: locale/programs/ld-ctype.c:850 +#, c-format msgid "not all characters used in `outdigit' are available in the charmap" msgstr "" -"no todos los caracteres usados en `outdigit' están disponibles en la tabla\n" +"no todos los caracteres usados en `outdigit' están disponibles en la tabla\n" "de caracteres" -#: locale/programs/ld-ctype.c:845 +#: locale/programs/ld-ctype.c:867 +#, c-format msgid "not all characters used in `outdigit' are available in the repertoire" -msgstr "no todos los caracteres usados en `outdigit' están disponibles en el repertorio" +msgstr "no todos los caracteres usados en `outdigit' están disponibles en el repertorio" -#: locale/programs/ld-ctype.c:1244 +#: locale/programs/ld-ctype.c:1270 #, c-format msgid "character class `%s' already defined" -msgstr "la clase de carácter `%s' ya fue definida" +msgstr "la clase de carácter `%s' ya fue definida" -#: locale/programs/ld-ctype.c:1250 +#: locale/programs/ld-ctype.c:1276 #, c-format msgid "implementation limit: no more than %Zd character classes allowed" -msgstr "límite de la implementación: no se permiten más de %Zd clases de caracteres" +msgstr "lÃmite de la implementación: no se permiten más de %Zd clases de caracteres" -#: locale/programs/ld-ctype.c:1276 +#: locale/programs/ld-ctype.c:1302 #, c-format msgid "character map `%s' already defined" -msgstr "la tabla de caracteres `%s' ya está definida" +msgstr "la tabla de caracteres `%s' ya está definida" -#: locale/programs/ld-ctype.c:1282 +#: locale/programs/ld-ctype.c:1308 #, c-format msgid "implementation limit: no more than %d character maps allowed" -msgstr "límite de la implementación: no se permiten más de %d tablas de caracteres" +msgstr "lÃmite de la implementación: no se permiten más de %d tablas de caracteres" -#: locale/programs/ld-ctype.c:1547 locale/programs/ld-ctype.c:1672 -#: locale/programs/ld-ctype.c:1778 locale/programs/ld-ctype.c:2464 -#: locale/programs/ld-ctype.c:3460 +#: locale/programs/ld-ctype.c:1573 locale/programs/ld-ctype.c:1698 +#: locale/programs/ld-ctype.c:1804 locale/programs/ld-ctype.c:2496 +#: locale/programs/ld-ctype.c:3492 #, c-format msgid "%s: field `%s' does not contain exactly ten entries" msgstr "%s: el campo `%s' no contiene exactamente diez entradas" -#: locale/programs/ld-ctype.c:1575 locale/programs/ld-ctype.c:2146 +#: locale/programs/ld-ctype.c:1601 locale/programs/ld-ctype.c:2175 #, c-format msgid "to-value <U%0*X> of range is smaller than from-value <U%0*X>" -msgstr "el valor `to' del rango <U%0*X> es más pequeño que el valor `from' <U%0*X>" +msgstr "el valor `to' del rango <U%0*X> es más pequeño que el valor `from' <U%0*X>" -#: locale/programs/ld-ctype.c:1702 +#: locale/programs/ld-ctype.c:1728 msgid "start and end character sequence of range must have the same length" msgstr "los caracteres de comienzo y final del rango debe tener la misma longitud" -#: locale/programs/ld-ctype.c:1709 +#: locale/programs/ld-ctype.c:1735 msgid "to-value character sequence is smaller than from-value sequence" -msgstr "el valor `to' de la sucesión de caracteres es más pequeño que el valor `from'" +msgstr "el valor `to' de la sucesión de caracteres es más pequeño que el valor `from'" -#: locale/programs/ld-ctype.c:2066 locale/programs/ld-ctype.c:2117 +#: locale/programs/ld-ctype.c:2095 locale/programs/ld-ctype.c:2146 msgid "premature end of `translit_ignore' definition" -msgstr "Fin no esperado de la definición `translit_ignore'" +msgstr "Fin no esperado de la definición `translit_ignore'" -#: locale/programs/ld-ctype.c:2072 locale/programs/ld-ctype.c:2123 -#: locale/programs/ld-ctype.c:2165 +#: locale/programs/ld-ctype.c:2101 locale/programs/ld-ctype.c:2152 +#: locale/programs/ld-ctype.c:2194 msgid "syntax error" msgstr "error de sintaxis" -#: locale/programs/ld-ctype.c:2296 +#: locale/programs/ld-ctype.c:2328 #, c-format msgid "%s: syntax error in definition of new character class" -msgstr "%s: error de sintaxis en la definición de una nueva clase de caracteres" +msgstr "%s: error de sintaxis en la definición de una nueva clase de caracteres" -#: locale/programs/ld-ctype.c:2311 +#: locale/programs/ld-ctype.c:2343 #, c-format msgid "%s: syntax error in definition of new character map" -msgstr "%s: error de sintaxis en la definición de un nueva tabla de caracteres" +msgstr "%s: error de sintaxis en la definición de un nueva tabla de caracteres" -#: locale/programs/ld-ctype.c:2486 +#: locale/programs/ld-ctype.c:2518 msgid "ellipsis range must be marked by two operands of same type" msgstr "el rango de la elipsis debe estar marcada mediante dos operandos del mismo tipo" -#: locale/programs/ld-ctype.c:2495 +#: locale/programs/ld-ctype.c:2527 msgid "with symbolic name range values the absolute ellipsis `...' must not be used" -msgstr "con valores de rango nombre simbólico la elipsis absoluta `...' no debe usarse" +msgstr "con valores de rango nombre simbólico la elipsis absoluta `...' no debe usarse" -#: locale/programs/ld-ctype.c:2510 +#: locale/programs/ld-ctype.c:2542 msgid "with UCS range values one must use the hexadecimal symbolic ellipsis `..'" -msgstr "con valores de rango UCS se debe utilizar la elipsis simbólica hexadecimal `..'" +msgstr "con valores de rango UCS se debe utilizar la elipsis simbólica hexadecimal `..'" -#: locale/programs/ld-ctype.c:2524 +#: locale/programs/ld-ctype.c:2556 msgid "with character code range values one must use the absolute ellipsis `...'" -msgstr "con valores de rango código de caracteres se debe utilizar la elipsis absoluta `...'" +msgstr "con valores de rango código de caracteres se debe utilizar la elipsis absoluta `...'" -#: locale/programs/ld-ctype.c:2675 +#: locale/programs/ld-ctype.c:2707 #, c-format msgid "duplicated definition for mapping `%s'" -msgstr "definición duplicada para la asignación `%s'" +msgstr "definición duplicada para la asignación `%s'" -#: locale/programs/ld-ctype.c:2761 locale/programs/ld-ctype.c:2905 +#: locale/programs/ld-ctype.c:2793 locale/programs/ld-ctype.c:2937 #, c-format msgid "%s: `translit_start' section does not end with `translit_end'" -msgstr "%s: la sección `translit_start' no termina con `translit_end'" +msgstr "%s: la sección `translit_start' no termina con `translit_end'" -#: locale/programs/ld-ctype.c:2856 +#: locale/programs/ld-ctype.c:2888 #, c-format msgid "%s: duplicate `default_missing' definition" -msgstr "%s: definición `default_missing' duplicada" +msgstr "%s: definición `default_missing' duplicada" -#: locale/programs/ld-ctype.c:2861 +#: locale/programs/ld-ctype.c:2893 msgid "previous definition was here" -msgstr "aquí estaba la definición anterior" +msgstr "aquà estaba la definición anterior" -#: locale/programs/ld-ctype.c:2883 +#: locale/programs/ld-ctype.c:2915 #, c-format msgid "%s: no representable `default_missing' definition found" -msgstr "%s: no se ha encontrado ninguna definición de `default_missing' representable" - -#: locale/programs/ld-ctype.c:3036 -#, c-format -msgid "%s: character `%s' not defined in charmap while needed as default value" -msgstr "" -"%s: el carácter `%s' no está definido en el conjundo de caracteres\n" -"cuando se necesitó como valor predeterminado" - -#: locale/programs/ld-ctype.c:3041 locale/programs/ld-ctype.c:3125 -#: locale/programs/ld-ctype.c:3145 locale/programs/ld-ctype.c:3166 -#: locale/programs/ld-ctype.c:3187 locale/programs/ld-ctype.c:3208 -#: locale/programs/ld-ctype.c:3229 locale/programs/ld-ctype.c:3269 -#: locale/programs/ld-ctype.c:3290 locale/programs/ld-ctype.c:3357 -#, c-format -msgid "%s: character `%s' in charmap not representable with one byte" -msgstr "%s: el carácter `%s' en la tabla de caracteres no es representable con un byte" +msgstr "%s: no se ha encontrado ninguna definición de `default_missing' representable" -#: locale/programs/ld-ctype.c:3120 locale/programs/ld-ctype.c:3140 -#: locale/programs/ld-ctype.c:3182 locale/programs/ld-ctype.c:3203 -#: locale/programs/ld-ctype.c:3224 locale/programs/ld-ctype.c:3264 -#: locale/programs/ld-ctype.c:3285 locale/programs/ld-ctype.c:3352 -#: locale/programs/ld-ctype.c:3394 locale/programs/ld-ctype.c:3419 +#: locale/programs/ld-ctype.c:3068 locale/programs/ld-ctype.c:3152 +#: locale/programs/ld-ctype.c:3172 locale/programs/ld-ctype.c:3193 +#: locale/programs/ld-ctype.c:3214 locale/programs/ld-ctype.c:3235 +#: locale/programs/ld-ctype.c:3256 locale/programs/ld-ctype.c:3296 +#: locale/programs/ld-ctype.c:3317 locale/programs/ld-ctype.c:3384 +#: locale/programs/ld-ctype.c:3426 locale/programs/ld-ctype.c:3451 #, c-format msgid "%s: character `%s' not defined while needed as default value" -msgstr "%s: el carácter `%s' no está definido cuando se necesitó como valor predeterminado" +msgstr "%s: el carácter `%s' no está definido cuando se necesitó como valor predeterminado" -#: locale/programs/ld-ctype.c:3161 +#: locale/programs/ld-ctype.c:3073 locale/programs/ld-ctype.c:3157 +#: locale/programs/ld-ctype.c:3177 locale/programs/ld-ctype.c:3198 +#: locale/programs/ld-ctype.c:3219 locale/programs/ld-ctype.c:3240 +#: locale/programs/ld-ctype.c:3261 locale/programs/ld-ctype.c:3301 +#: locale/programs/ld-ctype.c:3322 locale/programs/ld-ctype.c:3389 #, c-format -msgid "character `%s' not defined while needed as default value" -msgstr "el carácter `%s' no está definido cuando se necesitó como valor por defecto" +msgid "%s: character `%s' in charmap not representable with one byte" +msgstr "%s: el carácter `%s' en la tabla de caracteres no es representable con un byte" -#: locale/programs/ld-ctype.c:3401 locale/programs/ld-ctype.c:3426 +#: locale/programs/ld-ctype.c:3433 locale/programs/ld-ctype.c:3458 #, c-format msgid "%s: character `%s' needed as default value not representable with one byte" msgstr "" -"%s: el carácter `%s' necesario como valor predeterminado no es representable\n" +"%s: el carácter `%s' necesario como valor predeterminado no es representable\n" "con un byte" # FIXME: Lo mismo de antes. -#: locale/programs/ld-ctype.c:3481 +#: locale/programs/ld-ctype.c:3514 +#, c-format msgid "no output digits defined and none of the standard names in the charmap" msgstr "" -"no hay ningún dígito de salida definido y ninguno de los nombres estándar\n" +"no hay ningún dÃgito de salida definido y ninguno de los nombres estándar\n" "en el conjunto de caracteres" -# Pregunta: ¿De verdad existe transliteración en español? sv -#: locale/programs/ld-ctype.c:3772 +# Pregunta: ¿De verdad existe transliteración en español? sv +#: locale/programs/ld-ctype.c:3805 #, c-format msgid "%s: transliteration data from locale `%s' not available" -msgstr "%s: los datos de transliteración del local `%s' no están disponibles" +msgstr "%s: los datos de transliteración del local `%s' no están disponibles" -#: locale/programs/ld-ctype.c:3868 +#: locale/programs/ld-ctype.c:3906 #, c-format msgid "%s: table for class \"%s\": %lu bytes\n" msgstr "%s: tabla para la clase \"%s\": %lu bytes\n" -#: locale/programs/ld-ctype.c:3937 +#: locale/programs/ld-ctype.c:3975 #, c-format msgid "%s: table for map \"%s\": %lu bytes\n" -msgstr "%s: tabla para la asignación \"%s\": %lu bytes\n" +msgstr "%s: tabla para la asignación \"%s\": %lu bytes\n" -#: locale/programs/ld-ctype.c:4070 +#: locale/programs/ld-ctype.c:4108 #, c-format msgid "%s: table for width: %lu bytes\n" msgstr "%s: tabla para el ancho: %lu bytes\n" -#: locale/programs/ld-identification.c:171 +#: locale/programs/ld-identification.c:170 #, c-format msgid "%s: no identification for category `%s'" -msgstr "%s: no hay ninguna identificación para la categoría `%s'" +msgstr "%s: no hay ninguna identificación para la categorÃa `%s'" -#: locale/programs/ld-identification.c:436 +#: locale/programs/ld-identification.c:435 #, c-format msgid "%s: duplicate category version definition" -msgstr "%s: definición duplicada de la versión de la categoría" +msgstr "%s: definición duplicada de la versión de la categorÃa" -# Ídem. 1984. -#: locale/programs/ld-measurement.c:114 +# Ãdem. 1984. +#: locale/programs/ld-measurement.c:113 #, c-format msgid "%s: invalid value for field `%s'" -msgstr "%s: valor inválido para el campo `%s'" +msgstr "%s: valor inválido para el campo `%s'" # FIXME: Este mensaje se parece sospechosamente al anterior. sv -#: locale/programs/ld-messages.c:115 locale/programs/ld-messages.c:149 +#: locale/programs/ld-messages.c:114 locale/programs/ld-messages.c:148 #, c-format msgid "%s: field `%s' undefined" -msgstr "%s: el campo `%s' no está definido" +msgstr "%s: el campo `%s' no está definido" -#: locale/programs/ld-messages.c:122 locale/programs/ld-messages.c:156 +#: locale/programs/ld-messages.c:121 locale/programs/ld-messages.c:155 +#: locale/programs/ld-monetary.c:256 locale/programs/ld-numeric.c:118 #, c-format msgid "%s: value for field `%s' must not be an empty string" -msgstr "%s: el valor para el campo `%s' no debe ser la cadena vacía" +msgstr "%s: el valor para el campo `%s' no debe ser la cadena vacÃa" -#: locale/programs/ld-messages.c:138 locale/programs/ld-messages.c:172 +#: locale/programs/ld-messages.c:137 locale/programs/ld-messages.c:171 #, c-format msgid "%s: no correct regular expression for field `%s': %s" -msgstr "%s: la expresión regular para el campo `%s' no es correcta: %s" +msgstr "%s: la expresión regular para el campo `%s' no es correcta: %s" -# ¿Errónea? em+ -# También se puede poner equivocada. sv+ +# ¿Errónea? em+ +# También se puede poner equivocada. sv+ #: locale/programs/ld-monetary.c:224 #, c-format msgid "%s: value of field `int_curr_symbol' has wrong length" -msgstr "%s: el valor del campo `int_curr_symbol' tiene una longitud errónea" +msgstr "%s: el valor del campo `int_curr_symbol' tiene una longitud errónea" #: 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: el valor del campo `int_curr_symbol' no se corresponde con un nombre\n" -"válido en ISO 4217" - -#: locale/programs/ld-monetary.c:256 locale/programs/ld-numeric.c:119 -#, c-format -msgid "%s: value for field `%s' must not be the empty string" -msgstr "%s: el valor para el campo `%s' no debe estar vacío" +"válido en ISO 4217" -#: locale/programs/ld-monetary.c:284 locale/programs/ld-monetary.c:314 +#: locale/programs/ld-monetary.c:285 locale/programs/ld-monetary.c:315 #, c-format msgid "%s: value for field `%s' must be in range %d...%d" msgstr "%s: el valor para el campo `%s' debe estar en el rango %d...%d" -#: locale/programs/ld-monetary.c:746 locale/programs/ld-numeric.c:275 +#: locale/programs/ld-monetary.c:747 locale/programs/ld-numeric.c:274 #, c-format msgid "%s: value for field `%s' must be a single character" -msgstr "%s: el valor para el campo `%s' debe ser un único carácter" +msgstr "%s: el valor para el campo `%s' debe ser un único carácter" -#: locale/programs/ld-monetary.c:843 locale/programs/ld-numeric.c:319 +#: locale/programs/ld-monetary.c:844 locale/programs/ld-numeric.c:318 #, c-format msgid "%s: `-1' must be last entry in `%s' field" -msgstr "%s: `-1' debe ser la última entrada del campo `%s'" +msgstr "%s: `-1' debe ser la última entrada del campo `%s'" -#: locale/programs/ld-monetary.c:865 locale/programs/ld-numeric.c:340 +#: locale/programs/ld-monetary.c:866 locale/programs/ld-numeric.c:335 #, c-format msgid "%s: values for field `%s' must be smaller than 127" msgstr "%s: los valores para el campo `%s' deben ser menores que 127" -#: locale/programs/ld-monetary.c:908 +#: locale/programs/ld-monetary.c:909 msgid "conversion rate value cannot be zero" -msgstr "el valor de la tasa de conversión no puede ser cero" +msgstr "el valor de la tasa de conversión no puede ser cero" -#: locale/programs/ld-name.c:130 locale/programs/ld-telephone.c:127 -#: locale/programs/ld-telephone.c:150 +#: locale/programs/ld-name.c:129 locale/programs/ld-telephone.c:126 +#: locale/programs/ld-telephone.c:149 #, c-format msgid "%s: invalid escape sequence in field `%s'" -msgstr "%s: secuencia de escape inválida en el campo `%s'" +msgstr "%s: secuencia de escape inválida en el campo `%s'" -#: locale/programs/ld-time.c:248 +#: locale/programs/ld-time.c:247 #, c-format msgid "%s: direction flag in string %Zd in `era' field is not '+' nor '-'" -msgstr "%s: el indicador de dirección en la cadena %Zd en el campo `era' no es '+' ni '-'" +msgstr "%s: el indicador de dirección en la cadena %Zd en el campo `era' no es '+' ni '-'" -#: locale/programs/ld-time.c:259 +#: locale/programs/ld-time.c:258 #, c-format msgid "%s: direction flag in string %Zd in `era' field is not a single character" -msgstr "%s: el indicador de dirección en la cadena %Zd en el campo `era' no es un único carácter" +msgstr "%s: el indicador de dirección en la cadena %Zd en el campo `era' no es un único carácter" -#: locale/programs/ld-time.c:272 +#: locale/programs/ld-time.c:271 #, c-format msgid "%s: invalid number for offset in string %Zd in `era' field" -msgstr "%s: número de desplazamiento ilegal en la cadena %Zd en el campo `era'" +msgstr "%s: número de desplazamiento ilegal en la cadena %Zd en el campo `era'" -#: locale/programs/ld-time.c:280 +#: locale/programs/ld-time.c:279 #, c-format msgid "%s: garbage at end of offset value in string %Zd in `era' field" msgstr "" "%s: incongruencias al final del valor de desplazamiento en la cadena %Zd\n" "en el campo `era'" -#: locale/programs/ld-time.c:331 +#: locale/programs/ld-time.c:330 #, c-format msgid "%s: invalid starting date in string %Zd in `era' field" -msgstr "%s: fecha de comienzo inválida en la cadena %Zd en el campo `era'" +msgstr "%s: fecha de comienzo inválida en la cadena %Zd en el campo `era'" -# FIXME: ¿Por qué el espacio final? sv -#: locale/programs/ld-time.c:340 +# FIXME: ¿Por qué el espacio final? sv +#: locale/programs/ld-time.c:339 #, c-format msgid "%s: garbage at end of starting date in string %Zd in `era' field " msgstr "" "%s: incongruencias al final de la fecha de comienzo en la cadena %Zd\n" "en el campo `era' " -#: locale/programs/ld-time.c:359 +#: locale/programs/ld-time.c:358 #, c-format msgid "%s: starting date is invalid in string %Zd in `era' field" -msgstr "%s: la fecha de comienzo es inválida en la cadena %Zd del campo `era'" +msgstr "%s: la fecha de comienzo es inválida en la cadena %Zd del campo `era'" -#: locale/programs/ld-time.c:408 +#: locale/programs/ld-time.c:407 locale/programs/ld-time.c:435 #, c-format msgid "%s: invalid stopping date in string %Zd in `era' field" -msgstr "%s: fecha de parada inválida en la cadena %Zd en el campo `era'" +msgstr "%s: fecha de parada inválida en la cadena %Zd en el campo `era'" -#: locale/programs/ld-time.c:417 +#: locale/programs/ld-time.c:416 #, c-format msgid "%s: garbage at end of stopping date in string %Zd in `era' field" msgstr "" "%s: incongruencias al final de la fecha de parada en la cadena %Zd\n" "en el campo `era'" -#: locale/programs/ld-time.c:436 -#, c-format -msgid "%s: stopping date is invalid in string %Zd in `era' field" -msgstr "%s: la fecha de final es inválida en la cadena %Zd del campo `era'" - -#: locale/programs/ld-time.c:445 +#: locale/programs/ld-time.c:444 #, c-format msgid "%s: missing era name in string %Zd in `era' field" msgstr "%s: falta el nombre de la era en la cadena %Zd en el campo `era'" -#: locale/programs/ld-time.c:457 +#: locale/programs/ld-time.c:456 #, c-format msgid "%s: missing era format in string %Zd in `era' field" msgstr "%s: falta el formato de era en la cadena %Zd en el campo `era'" -#: locale/programs/ld-time.c:486 +#: locale/programs/ld-time.c:497 #, c-format msgid "%s: third operand for value of field `%s' must not be larger than %d" msgstr "%s: el tercer operando para el valor del campo `%s' no debe ser mayor que %d" -#: locale/programs/ld-time.c:494 locale/programs/ld-time.c:502 -#, c-format -msgid "%s: values of field `%s' must not be larger than %d" -msgstr "%s: los valores para el campo `%s' no deben ser mayores que %d" - -#: locale/programs/ld-time.c:510 +#: locale/programs/ld-time.c:505 locale/programs/ld-time.c:513 +#: locale/programs/ld-time.c:521 #, c-format msgid "%s: values for field `%s' must not be larger than %d" msgstr "%s: los valores para el campo `%s' no deben ser mayores que %d" -#: locale/programs/ld-time.c:986 +#: locale/programs/ld-time.c:1004 #, c-format msgid "%s: too few values for field `%s'" -msgstr "%s: insuficiente número de valores para el campo `%s'" +msgstr "%s: insuficiente número de valores para el campo `%s'" -#: locale/programs/ld-time.c:1031 +#: locale/programs/ld-time.c:1049 msgid "extra trailing semicolon" msgstr "sobra un punto y coma al final" -#: locale/programs/ld-time.c:1034 +#: locale/programs/ld-time.c:1052 #, c-format msgid "%s: too many values for field `%s'" msgstr "%s: demasiados valores para el campo `%s'" #: locale/programs/linereader.c:130 msgid "trailing garbage at end of line" -msgstr "hay inconsistencias al final de la línea" +msgstr "hay inconsistencias al final de la lÃnea" -#: locale/programs/linereader.c:304 +#: locale/programs/linereader.c:298 msgid "garbage at end of number" -msgstr "inconsistencias al final del número" +msgstr "inconsistencias al final del número" -#: locale/programs/linereader.c:416 +#: locale/programs/linereader.c:410 msgid "garbage at end of character code specification" -msgstr "inconsistencia al final de la especificación del código de caracteres" +msgstr "inconsistencia al final de la especificación del código de caracteres" -#: locale/programs/linereader.c:502 +#: locale/programs/linereader.c:496 msgid "unterminated symbolic name" -msgstr "nombre simbólico sin terminar" - -#: locale/programs/linereader.c:566 catgets/gencat.c:1195 -msgid "invalid escape sequence" -msgstr "secuencia de escape inválida" +msgstr "nombre simbólico sin terminar" -#: locale/programs/linereader.c:629 +#: locale/programs/linereader.c:623 msgid "illegal escape sequence at end of string" msgstr "secuencia de escape ilegal al final de la cadena de caracteres" -#: locale/programs/linereader.c:633 locale/programs/linereader.c:861 +#: locale/programs/linereader.c:627 locale/programs/linereader.c:855 msgid "unterminated string" msgstr "cadena de caracteres sin terminar" -#: locale/programs/linereader.c:675 +#: locale/programs/linereader.c:669 msgid "non-symbolic character value should not be used" -msgstr "los valores de caracteres no simbólicos no deben utilizarse" +msgstr "los valores de caracteres no simbólicos no deben utilizarse" -#: locale/programs/linereader.c:822 +#: locale/programs/linereader.c:816 #, c-format msgid "symbol `%.*s' not in charmap" -msgstr "el símbolo `%.*s' no está en la tabla de caracteres" +msgstr "el sÃmbolo `%.*s' no está en la tabla de caracteres" -#: locale/programs/linereader.c:843 +#: locale/programs/linereader.c:837 #, c-format msgid "symbol `%.*s' not in repertoire map" -msgstr "el símbolo `%.*s' no está en el repertorio" +msgstr "el sÃmbolo `%.*s' no está en el repertorio" + +#: locale/programs/locale-spec.c:131 +#, c-format +msgid "unknown name \"%s\"" +msgstr "nombre desconocido \"%s\"" -#: locale/programs/locale.c:75 +#: locale/programs/locale.c:74 msgid "System information:" -msgstr "Información del sistema:" +msgstr "Información del sistema:" -#: locale/programs/locale.c:77 +#: locale/programs/locale.c:76 msgid "Write names of available locales" msgstr "Escribe los nombres de los locales disponibles" -#: locale/programs/locale.c:79 +#: locale/programs/locale.c:78 msgid "Write names of available charmaps" msgstr "Escribe los nombres de las asignaciones de caracteres disponibles" -#: locale/programs/locale.c:80 +#: locale/programs/locale.c:79 msgid "Modify output format:" msgstr "Modifica el formato de salida:" -#: locale/programs/locale.c:81 +#: locale/programs/locale.c:80 msgid "Write names of selected categories" -msgstr "Escribe los nombres de las categorías seleccionadas" +msgstr "Escribe los nombres de las categorÃas seleccionadas" -#: locale/programs/locale.c:82 +#: locale/programs/locale.c:81 msgid "Write names of selected keywords" msgstr "Escribe los nombres de las palabras clave seleccionadas" -#: locale/programs/locale.c:83 +#: locale/programs/locale.c:82 msgid "Print more information" -msgstr "Muestra más información" +msgstr "Muestra más información" -#: locale/programs/locale.c:88 +#: locale/programs/locale.c:87 msgid "Get locale-specific information." -msgstr "Obtiene la información específica del local." +msgstr "Obtiene la información especÃfica del local." -#: locale/programs/locale.c:91 +#: locale/programs/locale.c:90 msgid "" "NAME\n" "[-a|-m]" @@ -1439,99 +2624,104 @@ msgstr "" "NOMBRE\n" "[-a|-m]" -#: locale/programs/locale.c:195 +#: locale/programs/locale.c:194 +#, c-format msgid "Cannot set LC_CTYPE to default locale" msgstr "No se puede establecer LC_CTYPE al local predeterminado" -#: locale/programs/locale.c:197 +#: locale/programs/locale.c:196 +#, c-format msgid "Cannot set LC_MESSAGES to default locale" msgstr "No se puede establecer LC_MESSAGES al local predeterminado" -#: locale/programs/locale.c:210 +#: locale/programs/locale.c:209 +#, c-format msgid "Cannot set LC_COLLATE to default locale" msgstr "No se puede establecer LC_COLLATE al local predeterminado" -#: locale/programs/locale.c:226 +#: locale/programs/locale.c:225 +#, c-format msgid "Cannot set LC_ALL to default locale" msgstr "No se puede establecer LC_ALL al local predeterminado" -#: locale/programs/locale.c:517 +#: locale/programs/locale.c:518 +#, c-format msgid "while preparing output" msgstr "al preparar la salida" -#: locale/programs/localedef.c:121 +#: locale/programs/localedef.c:120 msgid "Input Files:" msgstr "Ficheros de Entrada:" -#: locale/programs/localedef.c:123 +#: locale/programs/localedef.c:122 msgid "Symbolic character names defined in FILE" -msgstr "Nombres simbólicos de caracteres definidos en FICHERO" +msgstr "Nombres simbólicos de caracteres definidos en FICHERO" -#: locale/programs/localedef.c:124 +#: locale/programs/localedef.c:123 msgid "Source definitions are found in FILE" msgstr "Las definiciones fuente se encuentran en FICHERO" -#: locale/programs/localedef.c:126 +#: locale/programs/localedef.c:125 msgid "FILE contains mapping from symbolic names to UCS4 values" -msgstr "El FICHERO contiene una asignación de nombres simbólicos a valores UCS4" +msgstr "El FICHERO contiene una asignación de nombres simbólicos a valores UCS4" -#: locale/programs/localedef.c:130 +#: locale/programs/localedef.c:129 msgid "Create output even if warning messages were issued" msgstr "Crea la salida incluso si hubo mensajes de aviso" -#: locale/programs/localedef.c:131 +#: locale/programs/localedef.c:130 msgid "Create old-style tables" msgstr "Crea tablas en estilo antiguo" -#: locale/programs/localedef.c:132 +#: locale/programs/localedef.c:131 msgid "Optional output file prefix" msgstr "Prefijo opcional del fichero de salida" -#: locale/programs/localedef.c:133 +#: locale/programs/localedef.c:132 msgid "Be strictly POSIX conform" -msgstr "Actúa estrictamente de acuerdo con la norma POSIX" +msgstr "Actúa estrictamente de acuerdo con la norma POSIX" -#: locale/programs/localedef.c:135 +#: locale/programs/localedef.c:134 msgid "Suppress warnings and information messages" -msgstr "Suprime los avisos y los mensajes de información" +msgstr "Suprime los avisos y los mensajes de información" -#: locale/programs/localedef.c:136 +#: locale/programs/localedef.c:135 msgid "Print more messages" -msgstr "Muestra más mensajes" +msgstr "Muestra más mensajes" -#: locale/programs/localedef.c:137 +#: locale/programs/localedef.c:136 msgid "Archive control:" msgstr "Control del archivo:" -#: locale/programs/localedef.c:139 +#: locale/programs/localedef.c:138 msgid "Don't add new data to archive" -msgstr "No añade nuevos datos al archivo" +msgstr "No añade nuevos datos al archivo" -#: locale/programs/localedef.c:141 +#: locale/programs/localedef.c:140 msgid "Add locales named by parameters to archive" -msgstr "Añade locales nombrados por parámetros al archivo" +msgstr "Añade locales nombrados por parámetros al archivo" -#: locale/programs/localedef.c:142 +#: locale/programs/localedef.c:141 msgid "Replace existing archive content" msgstr "Reemplaza el contenido del archivo que exista" -#: locale/programs/localedef.c:144 +#: locale/programs/localedef.c:143 msgid "Remove locales named by parameters from archive" -msgstr "Elimina locales nombrados por parámetros del archivo" +msgstr "Elimina locales nombrados por parámetros del archivo" -#: locale/programs/localedef.c:145 +#: locale/programs/localedef.c:144 msgid "List content of archive" msgstr "Lista el contenido del archivo" -#: locale/programs/localedef.c:147 +#: locale/programs/localedef.c:146 msgid "locale.alias file to consult when making archive" -msgstr "fichero locale.alias que se consultará al crear el archivo" +msgstr "fichero locale.alias que se consultará al crear el archivo" -#: locale/programs/localedef.c:152 +#: locale/programs/localedef.c:151 msgid "Compile locale specification" -msgstr "Compila una especificación de locales" +msgstr "Compila una especificación de locales" -#: locale/programs/localedef.c:155 +#: locale/programs/localedef.c:154 msgid "" "NAME\n" "[--add-to-archive|--delete-from-archive] FILE...\n" @@ -1541,2605 +2731,2049 @@ msgstr "" "[--add-to-archive|--delete-from-archive] FICHERO...\n" "--list-archive [FICHERO]" -#: locale/programs/localedef.c:233 +#: locale/programs/localedef.c:232 +#, c-format msgid "cannot create directory for output files" msgstr "no se puede crear el directorio para los ficheros de salida" -#: locale/programs/localedef.c:244 +#: locale/programs/localedef.c:243 +#, c-format msgid "FATAL: system does not define `_POSIX2_LOCALEDEF'" msgstr "Error fatal: el sistema no define `_POSIX2_LOCALEDEF'" -#: locale/programs/localedef.c:258 locale/programs/localedef.c:274 +#: locale/programs/localedef.c:257 locale/programs/localedef.c:273 #: locale/programs/localedef.c:599 locale/programs/localedef.c:619 #, c-format msgid "cannot open locale definition file `%s'" -msgstr "no se puede abrir el fichero de definición de locales `%s'" +msgstr "no se puede abrir el fichero de definición de locales `%s'" -# OJO: %s podría ser un directorio. -#: locale/programs/localedef.c:286 +# OJO: %s podrÃa ser un directorio. +#: locale/programs/localedef.c:285 #, c-format msgid "cannot write output files to `%s'" msgstr "no se puede escribir en el fichero de salida `%s'" -# ¿repertorios? -#: locale/programs/localedef.c:367 +# ¿repertorios? +#: locale/programs/localedef.c:366 #, c-format msgid "" "System's directory for character maps : %s\n" -" repertoire maps: %s\n" -" locale path : %s\n" +"\t\t repertoire maps: %s\n" +"\t\t locale path : %s\n" "%s" msgstr "" "Directorio del sistema para asignaciones de caracteres : %s\n" -" asignaciones de repertorios: %s\n" -" ruta de búsqueda de locales: %s\n" +"\t\t asignaciones de repertorios : %s\n" +"\t\t ruta de búsqueda de locales : %s\n" "%s" #: locale/programs/localedef.c:567 +#, c-format msgid "circular dependencies between locale definitions" msgstr "dependencias circulares entre definiciones de locales" #: locale/programs/localedef.c:573 #, c-format msgid "cannot add already read locale `%s' a second time" -msgstr "no se puede añadir el local ya leído `%s' por segunda vez" +msgstr "no se puede añadir el local ya leÃdo `%s' por segunda vez" -#: locale/programs/locarchive.c:89 locale/programs/locarchive.c:259 +#: locale/programs/locarchive.c:92 locale/programs/locarchive.c:338 +#, c-format msgid "cannot create temporary file" msgstr "no se puede crear un fichero temporal" -#: locale/programs/locarchive.c:118 locale/programs/locarchive.c:305 +#: locale/programs/locarchive.c:122 locale/programs/locarchive.c:384 +#, c-format msgid "cannot initialize archive file" msgstr "no se puede inicializar el archivo" -#: locale/programs/locarchive.c:125 locale/programs/locarchive.c:312 +#: locale/programs/locarchive.c:129 locale/programs/locarchive.c:391 +#, c-format msgid "cannot resize archive file" -msgstr "no se puede cambiar el tamaño del archivo" +msgstr "no se puede cambiar el tamaño del archivo" -#: locale/programs/locarchive.c:134 locale/programs/locarchive.c:321 -#: locale/programs/locarchive.c:511 +#: locale/programs/locarchive.c:152 locale/programs/locarchive.c:414 +#: locale/programs/locarchive.c:633 +#, c-format msgid "cannot map archive header" msgstr "no se puede leer la cabecera del archivo" -#: locale/programs/locarchive.c:156 +#: locale/programs/locarchive.c:174 +#, c-format msgid "failed to create new locale archive" msgstr "fallo al crear un nuevo archivo de locales" -#: locale/programs/locarchive.c:168 +#: locale/programs/locarchive.c:186 +#, c-format msgid "cannot change mode of new locale archive" msgstr "no se puede cambiar el modo del nuevo archivo de locales" -#: locale/programs/locarchive.c:253 +#: locale/programs/locarchive.c:285 +#, c-format +msgid "cannot read data from locale archive" +msgstr "no se pueden leer datos del archivo de locales" + +#: locale/programs/locarchive.c:318 +#, c-format msgid "cannot map locale archive file" msgstr "no se puede leer el fichero de locales" -#: locale/programs/locarchive.c:329 +#: locale/programs/locarchive.c:422 +#, c-format msgid "cannot lock new archive" msgstr "no se puede bloquear el archivo nuevo" -#: locale/programs/locarchive.c:380 +#: locale/programs/locarchive.c:488 +#, c-format msgid "cannot extend locale archive file" msgstr "no se puede extender el archivo de locales" -#: locale/programs/locarchive.c:389 +#: locale/programs/locarchive.c:497 +#, c-format msgid "cannot change mode of resized locale archive" msgstr "no se puede cambiar el modo de un archivo de locales redimensionado" -#: locale/programs/locarchive.c:397 +#: locale/programs/locarchive.c:505 +#, c-format msgid "cannot rename new archive" msgstr "no se puede renombrar el nuevo archivo" -#: locale/programs/locarchive.c:450 +#: locale/programs/locarchive.c:558 #, c-format msgid "cannot open locale archive \"%s\"" msgstr "no se puede abrir el archivo de locales \"%s\"" -#: locale/programs/locarchive.c:455 +#: locale/programs/locarchive.c:563 #, c-format msgid "cannot stat locale archive \"%s\"" msgstr "no se puede efectuar `stat' sobre el archivo de locales \"%s\"" -#: locale/programs/locarchive.c:474 +#: locale/programs/locarchive.c:582 #, c-format msgid "cannot lock locale archive \"%s\"" msgstr "no se puede bloquear el archivo de locales \"%s\"" -#: locale/programs/locarchive.c:497 +#: locale/programs/locarchive.c:605 +#, c-format msgid "cannot read archive header" msgstr "no se puede leer la cabecera del archivo" -#: locale/programs/locarchive.c:557 +#: locale/programs/locarchive.c:680 #, c-format msgid "locale '%s' already exists" msgstr "el local `%s' ya existe" -#: locale/programs/locarchive.c:788 locale/programs/locarchive.c:803 -#: locale/programs/locarchive.c:815 locale/programs/locarchive.c:827 -#: locale/programs/locfile.c:343 +#: locale/programs/locarchive.c:942 locale/programs/locarchive.c:957 +#: locale/programs/locarchive.c:969 locale/programs/locarchive.c:981 +#: locale/programs/locfile.c:344 +#, c-format msgid "cannot add to locale archive" -msgstr "no se puede añadir al archivo de locales" +msgstr "no se puede añadir al archivo de locales" -#: locale/programs/locarchive.c:982 +#: locale/programs/locarchive.c:1139 #, c-format msgid "locale alias file `%s' not found" -msgstr "no se encontró el fichero de alias de locales `%s'" +msgstr "no se encontró el fichero de alias de locales `%s'" -#: locale/programs/locarchive.c:1126 +#: locale/programs/locarchive.c:1289 #, c-format msgid "Adding %s\n" -msgstr "Añadiendo %s\n" +msgstr "Añadiendo %s\n" -#: locale/programs/locarchive.c:1132 +#: locale/programs/locarchive.c:1295 #, c-format msgid "stat of \"%s\" failed: %s: ignored" -msgstr "falló la llamada a `stat' sobre \"%s\": %s: descartado" +msgstr "falló la llamada a `stat' sobre \"%s\": %s: descartado" -#: locale/programs/locarchive.c:1138 +#: locale/programs/locarchive.c:1301 #, c-format msgid "\"%s\" is no directory; ignored" msgstr "\"%s\" no es un directorio; descartado" -#: locale/programs/locarchive.c:1145 +#: locale/programs/locarchive.c:1308 #, c-format msgid "cannot open directory \"%s\": %s: ignored" msgstr "no se puede abrir el directorio \"%s\": %s: descartado" -#: locale/programs/locarchive.c:1217 +#: locale/programs/locarchive.c:1380 #, c-format msgid "incomplete set of locale files in \"%s\"" msgstr "conjunto incompleto de ficheros de locales en \"%s\"" -#: locale/programs/locarchive.c:1281 +#: locale/programs/locarchive.c:1444 #, c-format msgid "cannot read all files in \"%s\": ignored" msgstr "no se pueden leer todos los ficheros de \"%s\": descartado" -#: locale/programs/locarchive.c:1351 +#: locale/programs/locarchive.c:1514 #, c-format msgid "locale \"%s\" not in archive" -msgstr "el local \"%s\" no está en el archivo" +msgstr "el local \"%s\" no está en el archivo" #: locale/programs/locfile.c:132 #, c-format msgid "argument to `%s' must be a single character" -msgstr "el argumento para `%s' debe ser un único carácter" +msgstr "el argumento para `%s' debe ser un único carácter" -#: locale/programs/locfile.c:251 +#: locale/programs/locfile.c:252 msgid "syntax error: not inside a locale definition section" -msgstr "error de sintaxis: no está dentro de una sección de definición para un local" +msgstr "error de sintaxis: no está dentro de una sección de definición para un local" -#: locale/programs/locfile.c:625 +#: locale/programs/locfile.c:626 #, c-format msgid "cannot open output file `%s' for category `%s'" -msgstr "no se puede abrir el fichero de salida `%s' para la categoría `%s'" +msgstr "no se puede abrir el fichero de salida `%s' para la categorÃa `%s'" -#: locale/programs/locfile.c:649 +#: locale/programs/locfile.c:650 #, c-format msgid "failure while writing data for category `%s'" -msgstr "error al escribir los datos para la categoría `%s'" +msgstr "error al escribir los datos para la categorÃa `%s'" -#: locale/programs/locfile.c:745 +#: locale/programs/locfile.c:746 #, c-format msgid "cannot create output file `%s' for category `%s'" -msgstr "no se puede crear el fichero de salida `%s' para la categoría `%s'" +msgstr "no se puede crear el fichero de salida `%s' para la categorÃa `%s'" -#: locale/programs/locfile.c:781 -msgid "expect string argument for `copy'" -msgstr "se espera un argumento de cadena de caracteres para `copy'" +#: locale/programs/locfile.c:782 +msgid "expecting string argument for `copy'" +msgstr "se esperaba un argumento de cadena de caracteres para `copy'" -#: locale/programs/locfile.c:785 +#: locale/programs/locfile.c:786 msgid "locale name should consist only of portable characters" -msgstr "el nombre del local debe estar formado por caracteres portables únicamente" +msgstr "el nombre del local debe estar formado por caracteres portables únicamente" -#: locale/programs/locfile.c:804 +#: locale/programs/locfile.c:805 msgid "no other keyword shall be specified when `copy' is used" msgstr "cuando se utiliza `copy' no debe especificarse ninguna otra palabra clave" -#: locale/programs/repertoire.c:230 locale/programs/repertoire.c:271 -#: locale/programs/repertoire.c:296 +#: locale/programs/locfile.c:819 +#, c-format +msgid "`%1$s' definition does not end with `END %1$s'" +msgstr "La definición `%1$s' no termina con `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 "error de sintaxis en la definición de la asignación: %s" +msgstr "error de sintaxis en la definición de la asignación: %s" -#: locale/programs/repertoire.c:272 +#: locale/programs/repertoire.c:271 msgid "no <Uxxxx> or <Uxxxxxxxx> value given" -msgstr "no se ha dado ningún valor <Uxxxx> o <Uxxxxxxxx>" +msgstr "no se ha dado ningún valor <Uxxxx> o <Uxxxxxxxx>" -# No sé qué es eso del "repertoire map", pero creo que el repertoire -# es una simple aclaración. sv -#: locale/programs/repertoire.c:332 +# No sé qué es eso del "repertoire map", pero creo que el repertoire +# es una simple aclaración. sv +#: locale/programs/repertoire.c:331 +#, c-format msgid "cannot save new repertoire map" -msgstr "no se puede asegurar el nuevo repertorio" +msgstr "no se puede guardar el nuevo repertorio" -#: locale/programs/repertoire.c:343 +#: locale/programs/repertoire.c:342 #, c-format msgid "repertoire map file `%s' not found" -msgstr "el fichero de tabla de caracteres `%s' no se encontró" +msgstr "el fichero de tabla de caracteres `%s' no se encontró" -#: locale/programs/repertoire.c:450 +#: login/programs/pt_chown.c:78 #, c-format -msgid "<%s> and <%s> are invalid names for range" -msgstr "<%s> y <%s> son nombres inválidos para el rango de caracteres" - -# FIXME: then -> than -#: locale/programs/repertoire.c:457 -msgid "upper limit in range is not smaller then lower limit" -msgstr "el límite superior del rango no es menor que el límite inferior" - -#: locale/programs/xmalloc.c:70 malloc/obstack.c:505 malloc/obstack.c:508 -#: posix/getconf.c:1007 -msgid "memory exhausted" -msgstr "memoria agotada" +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 "Establece el propietario, grupo y permisos de acceso del pseudoterminal esclavo correspondiente al pseudoterminal maestro que se le pasa en el descriptor de fichero `%d'. Este es el programa de apoyo para la función `grantpt'. No está pensada para ejecutarse directamente desde la lÃnea de órdenes.\n" -# ¿Qué tiene de malo "inesperado"? sv -# -# Parece el nombre de película de los '50 em -# ... y antes de que digas nada, a mí me encantan -# las películas de los 50 em -# -# Pero es que esa palabra *existe* y significa "no esperado". -# ¿Por qué quieres empobrecer el idioma de esa forma? -# ¿No podrías emplear la forma in-loquesea unas veces sí y otras no, -# para darle variedad a la cosa? (Por ejemplo aquí sí, pues no te debe -# recordar a una opción en silla de ruedas...). sv+ -# -# Lo cambio después de leer 1984. sv -#: assert/assert-perr.c:57 +#: login/programs/pt_chown.c:88 #, c-format -msgid "%s%s%s:%u: %s%sUnexpected error: %s.\n" -msgstr "%s%s%s:%u: %s%sError inesperado: %s.\n" +msgid "" +"The owner is set to the current user, the group is set to `%s', and the access permission is set to `%o'.\n" +"\n" +"%s" +msgstr "" +"El propietario se establece al usuario actual, el grupo se establece a `%s', y los permissos de acceso se establecen a `%o'.\n" +"\n" +"%s" -# La traducción de Jochen es exactamente esta: Zusicherung %s nicht erfüllt -# que viene a decir algo así que las promesas no se han cumplido, o que -# las afirmaciones hechas no son ciertas. -#: assert/assert.c:56 +#: login/programs/pt_chown.c:192 #, c-format -msgid "%s%s%s:%u: %s%sAssertion `%s' failed.\n" -msgstr "%s%s%s:%u: %s%sLa declaración `%s' no se cumple.\n" +msgid "too many arguments" +msgstr "demasiados argumentos" -# ¿Qué demonios es esto? sv -#: intl/tst-codeset.c:40 intl/tst-codeset.c:50 -msgid "cheese" -msgstr "queso" +#: login/programs/pt_chown.c:200 +#, c-format +msgid "needs to be installed setuid `root'" +msgstr "necesita ser instalado setuid `root'" -#: intl/tst-gettext2.c:37 -msgid "First string for testing." -msgstr "Primera cadena para hacer pruebas." +#: malloc/mcheck.c:350 +msgid "memory is consistent, library is buggy\n" +msgstr "la memoria es consistente, la biblioteca tiene un bicho\n" -#: intl/tst-gettext2.c:38 -msgid "Another string for testing." -msgstr "Otra cadena para hacer pruebas." +#: malloc/mcheck.c:353 +msgid "memory clobbered before allocated block\n" +msgstr "memoria alterada antes del bloque de memoria asignado\n" -#: catgets/gencat.c:111 catgets/gencat.c:115 nscd/nscd.c:88 -msgid "NAME" -msgstr "NOMBRE" +#: malloc/mcheck.c:356 +msgid "memory clobbered past end of allocated block\n" +msgstr "memoria alterada pasado el final del bloque de memoria asignado\n" -#: catgets/gencat.c:112 -msgid "Create C header file NAME containing symbol definitions" -msgstr "Crea un fichero de cabecera C, NOMBRE, que contiene las definiciones de símbolos" +#: malloc/mcheck.c:359 +msgid "block freed twice\n" +msgstr "bloque liberado dos veces\n" -#: catgets/gencat.c:114 -msgid "Do not use existing catalog, force new output file" -msgstr "No utiliza el catálogo existente, crea un nuevo fichero de salida" +# Revisar lo de bogus. creo que es eso. +#: malloc/mcheck.c:362 +msgid "bogus mcheck_status, library is buggy\n" +msgstr "valor de mcheck_status incorrecto, la biblioteca tiene un bicho\n" -#: catgets/gencat.c:115 -msgid "Write output to file NAME" -msgstr "Escribe el resultado en el fichero NOMBRE" +#: malloc/memusage.sh:33 +msgid "%s: option '%s' requires an argument\\n" +msgstr "%s: la opción '%s' requiere un argumento\\n" -# FIXME: ¿Qué es ^K? -#: catgets/gencat.c:120 +#: malloc/memusage.sh:39 msgid "" -"Generate message catalog.If INPUT-FILE is -, input is read from standard input. If OUTPUT-FILE\n" -"is -, output is written to standard output.\n" +"Usage: memusage [OPTION]... PROGRAM [PROGRAMOPTION]...\n" +"Profile memory usage of PROGRAM.\n" +"\n" +" -n,--progname=NAME Name of the program file to profile\n" +" -p,--png=FILE Generate PNG graphic and store it in FILE\n" +" -d,--data=FILE Generate binary data file and store it in FILE\n" +" -u,--unbuffered Don't buffer output\n" +" -b,--buffer=SIZE Collect SIZE entries before writing them out\n" +" --no-timer Don't collect additional information through timer\n" +" -m,--mmap Also trace mmap & friends\n" +"\n" +" -?,--help Print this help and exit\n" +" --usage Give a short usage message\n" +" -V,--version Print version information and exit\n" +"\n" +" The following options only apply when generating graphical output:\n" +" -t,--time-based Make graph linear in time\n" +" -T,--total Also draw graph of total memory use\n" +" --title=STRING Use STRING as title of the graph\n" +" -x,--x-size=SIZE Make graphic SIZE pixels wide\n" +" -y,--y-size=SIZE Make graphic SIZE pixels high\n" +"\n" +"Mandatory arguments to long options are also mandatory for any corresponding\n" +"short options.\n" +"\n" msgstr "" -"Genera un catálogo de mensajes.Si FICHERO-ENTRADA es -, la entrada\n" -"se lee de la entrada estándar. Si FICHERO-SALIDA es -, el resultado se\n" -"escribe en la salida estándar.\n" +"Modo de empleo: memusage [OPCIÓN]... PROGRAMA [OPCIÓNDEPROGRAMA]...\n" +"Calibra el uso de memoria de PROGRAMA.\n" +"\n" +" -n,--progname=NOMBRE Nombre del programa que se calibra\n" +" -p,--png=FICHERO Genera un gráfico PNG y lo almacena en FICHERO\n" +" -d,--data=FICHERO Genera un fichero de datos binario y lo almacena en FICHERO\n" +" -u,--unbuffered No hace búfer con el resultado\n" +" -b,--buffer=TAMAÑO Acumula TAMAÑO entradas antes de escribirlas\n" +" --no-timer No obtiene información adicional a través del temporizador\n" +" -m,--mmap Sigue también mmap y compañÃa\n" +"\n" +" -?,--help Muestra esta ayuda y finaliza\n" +" --usage Muestra un breve mensaje de uso\n" +" -V,--version Muestra la versión y finaliza\n" +"\n" +" Las siguientes opciones solamente son aplicables cuando se genera una salida gráfica:\n" +" -t,--time-based Crea el gráfico lineal en el tiempo\n" +" -T,--total Dibuja también un gráfico del uso total de memoria\n" +" --title=CADENA Utiliza CADENA como tÃtulo del gráfico\n" +" -x,--x-size=TAMAÑO Crea un gráfico de TAMAÑO pixeles de ancho\n" +" -y,--y-size=TAMAÑO Crea un gráfico de TAMAÑO pixeles de alto\n" +"\n" +"Los argumentos obligatorios para las opciones largas son también obligatorios\n" +"para las opciones cortas correspondientes.\n" -#: catgets/gencat.c:125 +#: malloc/memusage.sh:101 msgid "" -"-o OUTPUT-FILE [INPUT-FILE]...\n" -"[OUTPUT-FILE [INPUT-FILE]...]" +"Syntax: memusage [--data=FILE] [--progname=NAME] [--png=FILE] [--unbuffered]\n" +"\t [--buffer=SIZE] [--no-timer] [--time-based] [--total]\n" +"\t [--title=STRING] [--x-size=SIZE] [--y-size=SIZE]\n" +"\t PROGRAM [PROGRAMOPTION]..." msgstr "" -"-o FICHERO-SALIDA [FICHERO-ENTRADA]...\n" -"[FICHERO-SALIDA [FICHERO-ENTRADA]...]" +"Sintaxis: memusage [--data=FICHERO] [--progname=NOMBRE] [--png=FICHERO] [--unbuffered]\n" +"\t [--buffer=TAMAÑO] [--no-timer] [--time-based] [--total]\n" +"\t [--title=CADENA] [--x-size=TAMAÑO] [--y-size=TAMAÑO]\n" +"\t PROGRAMA [OPCIÓNDEPROGRAMA]..." -#: catgets/gencat.c:282 -msgid "*standard input*" -msgstr "*entrada estándar*" +#: malloc/memusage.sh:193 +msgid "memusage: option \\`${1##*=}' is ambiguous" +msgstr "memusage: la opción \\`${1##*=}' es ambigua" -#: catgets/gencat.c:417 catgets/gencat.c:494 -msgid "illegal set number" -msgstr "número de conjunto ilegal" +#: malloc/memusage.sh:202 +msgid "memusage: unrecognized option \\`$1'" +msgstr "memusage: opción no reconocida \\`$1'" -#: catgets/gencat.c:444 -msgid "duplicate set definition" -msgstr "definición de conjunto duplicada" +#: malloc/memusage.sh:215 +msgid "No program name given" +msgstr "No se ha dado ningún nombre de programa" -#: catgets/gencat.c:446 catgets/gencat.c:623 catgets/gencat.c:677 -msgid "this is the first definition" -msgstr "esta es la primera vez que aparece la definición" - -#: catgets/gencat.c:522 -#, c-format -msgid "unknown set `%s'" -msgstr "conjunto `%s' desconocido" - -#: catgets/gencat.c:563 -msgid "invalid quote character" -msgstr "carácter de cita inválido" - -# descartada (?) sv -# ¿y así? em -# por mí, vale. sv+ -#: catgets/gencat.c:576 -#, c-format -msgid "unknown directive `%s': line ignored" -msgstr "directiva desconocida `%s': línea pasada por alto" - -#: catgets/gencat.c:621 -msgid "duplicated message number" -msgstr "número de mensaje duplicado" - -#: catgets/gencat.c:674 -msgid "duplicated message identifier" -msgstr "identificador de mensaje duplicado" +# Supondremos que se trata de un imperativo. sv +#: malloc/memusagestat.c:57 +msgid "Name output file" +msgstr "Nombre el fichero de salida" -#: catgets/gencat.c:731 -msgid "invalid character: message ignored" -msgstr "carácter inválido: mensaje descartado" +#: malloc/memusagestat.c:58 +msgid "Title string used in output graphic" +msgstr "Se ha utilizado una cadena de tÃtulo en la gráfica de salida" -#: catgets/gencat.c:774 -msgid "invalid line" -msgstr "línea inválida" +#: malloc/memusagestat.c:59 +msgid "Generate output linear to time (default is linear to number of function calls)" +msgstr "" +"Genera un resultado lineal en el tiempo (por omisión es lineal en el número\n" +"de llamadas a función)" -#: catgets/gencat.c:828 -msgid "malformed line ignored" -msgstr "una línea incorrecta no se tendrá en cuenta" +#: malloc/memusagestat.c:61 +msgid "Also draw graph for total memory consumption" +msgstr "Dibuja también una gráfica del total de memoria consumida" -#: catgets/gencat.c:992 catgets/gencat.c:1033 -#, c-format -msgid "cannot open output file `%s'" -msgstr "no se puede abrir el fichero de salida `%s'" +#: malloc/memusagestat.c:62 +msgid "Make output graphic VALUE pixels wide" +msgstr "Hace que la salida gráfica tenga VALOR pixels de ancho" -#: catgets/gencat.c:1217 -msgid "unterminated message" -msgstr "mensaje sin terminar" +#: malloc/memusagestat.c:63 +msgid "Make output graphic VALUE pixels high" +msgstr "Hace que la salida gráfica tenga VALOR pixels de alto" -#: catgets/gencat.c:1241 -msgid "while opening old catalog file" -msgstr "al abrir el fichero de catálogo antiguo" +#: malloc/memusagestat.c:68 +msgid "Generate graphic from memory profiling data" +msgstr "Genera un gráfico a partir de los datos de `profiling' de memoria" -#: catgets/gencat.c:1332 -msgid "conversion modules not available" -msgstr "no están disponibles los módulos de conversión" +#: malloc/memusagestat.c:71 +msgid "DATAFILE [OUTFILE]" +msgstr "FICHERODEDATOS [FICHERODESALIDA]" -#: catgets/gencat.c:1358 -msgid "cannot determine escape character" -msgstr "no se puede determinar el carácter de escape" +#: misc/error.c:118 +msgid "Unknown system error" +msgstr "Error del sistema desconocido" -#: stdlib/../sysdeps/unix/sysv/linux/ia64/makecontext.c:63 -#, c-format -msgid "makecontext: does not know how to handle more than 8 arguments\n" -msgstr "makecontext: no sabe cómo manejar más de 8 argumentos\n" +#: nis/nis_callback.c:189 +msgid "unable to free arguments" +msgstr "no se pueden liberar los argumentos" -# "¡conseguido!" me recuerda a los "sketches" de Faemino y Cansado... -# me gustaría que hubiera otra palabra mejor. SV +# "¡conseguido!" me recuerda a los "sketches" de Faemino y Cansado... +# me gustarÃa que hubiera otra palabra mejor. SV # Siempre me han gustado F&C ;-) -# A mí también :-) sv -#: stdio-common/../sysdeps/gnu/errlist.c:12 posix/regcomp.c:147 -#: nis/nis_error.c:29 nis/ypclnt.c:778 nis/ypclnt.c:852 +# A mà también :-) sv +#: nis/nis_error.h:1 nis/ypclnt.c:833 nis/ypclnt.c:921 posix/regcomp.c:132 +#: sysdeps/gnu/errlist.c:20 msgid "Success" msgstr "Conseguido" -#. TRANS Operation not permitted; only the owner of the file (or other resource) -#. TRANS or processes with special privileges can perform the operation. -#: stdio-common/../sysdeps/gnu/errlist.c:17 -msgid "Operation not permitted" -msgstr "Operación no permitida" - -#. TRANS No such file or directory. This is a ``file doesn't exist'' error -#. TRANS for ordinary files that are referenced in contexts where they are -#. TRANS expected to already exist. -#: stdio-common/../sysdeps/gnu/errlist.c:28 -#: stdio-common/../sysdeps/unix/sysv/sysv4/solaris2/sparc/errlist.c:32 -msgid "No such file or directory" -msgstr "No existe el fichero o el directorio" - -# Sugerencia: No existe el proceso. sv -# ¿Por qué? -# Porque si "No such file or directory" se ha traducido por -# "no existe el fichero o el directorio", está claro que si le dices un -# proceso y te dice "no existe el proceso" se refiere al que -# tú le has dicho y no a otro. sv -# -#. TRANS No process matches the specified process ID. -#: stdio-common/../sysdeps/gnu/errlist.c:37 -#: stdio-common/../sysdeps/unix/sysv/sysv4/solaris2/sparc/errlist.c:33 -msgid "No such process" -msgstr "No existe el proceso" - -#. TRANS Interrupted function call; an asynchronous signal occurred and prevented -#. TRANS completion of the call. When this happens, you should try the call -#. TRANS again. -#. TRANS -#. TRANS You can choose to have functions resume after a signal that is handled, -#. TRANS rather than failing with @code{EINTR}; see @ref{Interrupted -#. TRANS Primitives}. -#: stdio-common/../sysdeps/gnu/errlist.c:52 -#: stdio-common/../sysdeps/unix/sysv/sysv4/solaris2/sparc/errlist.c:34 -msgid "Interrupted system call" -msgstr "Llamada al sistema interrumpida" +#: nis/nis_error.h:2 +msgid "Probable success" +msgstr "Éxito probable" -#. TRANS Input/output error; usually used for physical read or write errors. -#: stdio-common/../sysdeps/gnu/errlist.c:61 -msgid "Input/output error" -msgstr "Error de entrada/salida" +#: nis/nis_error.h:3 +msgid "Not found" +msgstr "No se ha encontrado" -#. TRANS No such device or address. The system tried to use the device -#. TRANS represented by a file you specified, and it couldn't find the device. -#. TRANS This can mean that the device file was installed incorrectly, or that -#. TRANS the physical device is missing or not correctly attached to the -#. TRANS computer. -#: stdio-common/../sysdeps/gnu/errlist.c:74 -#: stdio-common/../sysdeps/unix/sysv/sysv4/solaris2/sparc/errlist.c:36 -msgid "No such device or address" -msgstr "No existe el dispositivo o la dirección" +#: nis/nis_error.h:4 +msgid "Probably not found" +msgstr "Probablemente no se encontró" -#. TRANS Argument list too long; used when the arguments passed to a new program -#. TRANS being executed with one of the @code{exec} functions (@pxref{Executing a -#. TRANS File}) occupy too much memory space. This condition never arises in the -#. TRANS GNU system. -#: stdio-common/../sysdeps/gnu/errlist.c:86 -msgid "Argument list too long" -msgstr "La lista de argumentos es demasiado larga" +#: nis/nis_error.h:5 +msgid "Cache expired" +msgstr "El caché ha expirado" -#. TRANS Invalid executable file format. This condition is detected by the -#. TRANS @code{exec} functions; see @ref{Executing a File}. -#: stdio-common/../sysdeps/gnu/errlist.c:96 -#: stdio-common/../sysdeps/unix/sysv/sysv4/solaris2/sparc/errlist.c:38 -msgid "Exec format error" -msgstr "Formato de ejecutable incorrecto" +#: nis/nis_error.h:6 +msgid "NIS+ servers unreachable" +msgstr "No se puede acceder a los servidores NIS+" -#. TRANS Bad file descriptor; for example, I/O on a descriptor that has been -#. TRANS closed or reading from a descriptor open only for writing (or vice -#. TRANS versa). -#: stdio-common/../sysdeps/gnu/errlist.c:107 -msgid "Bad file descriptor" -msgstr "Descriptor de fichero erróneo" +#: nis/nis_error.h:7 +msgid "Unknown object" +msgstr "Objeto desconocido" -#. TRANS There are no child processes. This error happens on operations that are -#. TRANS supposed to manipulate child processes, when there aren't any processes -#. TRANS to manipulate. -#: stdio-common/../sysdeps/gnu/errlist.c:118 -#: stdio-common/../sysdeps/unix/sysv/sysv4/solaris2/sparc/errlist.c:40 -msgid "No child processes" -msgstr "No hay ningún proceso hijo" +#: nis/nis_error.h:8 +msgid "Server busy, try again" +msgstr "El servidor está ocupado, inténtelo de nuevo" -# ¿Sugerencias? em -# ¿Evitado? sv -# Esperemos a ver la opinión de otro. em -# -# ¡Ya la tienen! Creo que hay que traducir (o al menos preservar) deadlock. -# No diría "el recurso" porque aquí "resource deadlock" significa -# "deadlock de recursos" y un deadlock siempre se trata de más de un -# recurso. -jtobey -# -# Estupendo. sv -# -#. TRANS Deadlock avoided; allocating a system resource would have resulted in a -#. TRANS deadlock situation. The system does not guarantee that it will notice -#. TRANS all such situations. This error means you got lucky and the system -#. TRANS noticed; it might just hang. @xref{File Locks}, for an example. -#: stdio-common/../sysdeps/gnu/errlist.c:130 -msgid "Resource deadlock avoided" -msgstr "Se ha evitado un bloqueo de recursos" +#: nis/nis_error.h:9 +msgid "Generic system error" +msgstr "Error del sistema genérico" -#. TRANS No memory available. The system cannot allocate more virtual memory -#. TRANS because its capacity is full. -#: stdio-common/../sysdeps/gnu/errlist.c:140 -msgid "Cannot allocate memory" -msgstr "No se pudo asignar memoria" +#: nis/nis_error.h:10 +msgid "First/next chain broken" +msgstr "Cadena primero/siguiente rota" #. TRANS Permission denied; the file permissions do not allow the attempted operation. -#: stdio-common/../sysdeps/gnu/errlist.c:149 -#: stdio-common/../sysdeps/unix/sysv/sysv4/solaris2/sparc/errlist.c:43 -#: nis/nis_error.c:39 nis/ypclnt.c:808 +#: nis/nis_error.h:11 nis/ypclnt.c:878 sysdeps/gnu/errlist.c:157 msgid "Permission denied" msgstr "Permiso denegado" -#. TRANS Bad address; an invalid pointer was detected. -#. TRANS In the GNU system, this error never happens; you get a signal instead. -#: stdio-common/../sysdeps/gnu/errlist.c:159 -#: stdio-common/../sysdeps/unix/sysv/sysv4/solaris2/sparc/errlist.c:44 -msgid "Bad address" -msgstr "Dirección incorrecta" - -#. TRANS A file that isn't a block special file was given in a situation that -#. TRANS requires one. For example, trying to mount an ordinary file as a file -#. TRANS system in Unix gives this error. -#: stdio-common/../sysdeps/gnu/errlist.c:170 -#: stdio-common/../sysdeps/unix/sysv/sysv4/solaris2/sparc/errlist.c:45 -msgid "Block device required" -msgstr "Se requiere un dispositivo de bloques" - -#. TRANS Resource busy; a system resource that can't be shared is already in use. -#. TRANS For example, if you try to delete a file that is the root of a currently -#. TRANS mounted filesystem, you get this error. -#: stdio-common/../sysdeps/gnu/errlist.c:181 -msgid "Device or resource busy" -msgstr "Dispositivo o recurso ocupado" +#: nis/nis_error.h:12 +msgid "Not owner" +msgstr "No es el propietario" -#. TRANS File exists; an existing file was specified in a context where it only -#. TRANS makes sense to specify a new file. -#: stdio-common/../sysdeps/gnu/errlist.c:191 -#: stdio-common/../sysdeps/unix/sysv/sysv4/solaris2/sparc/errlist.c:47 -msgid "File exists" -msgstr "El fichero ya existe" +#: nis/nis_error.h:13 +msgid "Name not served by this server" +msgstr "Nombre no servido por este servidor" -# ??? ver esto. -#. TRANS An attempt to make an improper link across file systems was detected. -#. TRANS This happens not only when you use @code{link} (@pxref{Hard Links}) but -#. TRANS also when you rename a file with @code{rename} (@pxref{Renaming Files}). -#: stdio-common/../sysdeps/gnu/errlist.c:202 -msgid "Invalid cross-device link" -msgstr "Enlace cruzado entre dispositivos no permitido" +#: nis/nis_error.h:14 +msgid "Server out of memory" +msgstr "Memoria agotada en el servidor" -#. TRANS The wrong type of device was given to a function that expects a -#. TRANS particular sort of device. -#: stdio-common/../sysdeps/gnu/errlist.c:212 -#: stdio-common/../sysdeps/unix/sysv/sysv4/solaris2/sparc/errlist.c:49 -msgid "No such device" -msgstr "No existe el dispositivo" +#: nis/nis_error.h:15 +msgid "Object with same name exists" +msgstr "Existe un objeto con el mismo nombre" -#. TRANS A file that isn't a directory was specified when a directory is required. -#: stdio-common/../sysdeps/gnu/errlist.c:221 -#: stdio-common/../sysdeps/unix/sysv/sysv4/solaris2/sparc/errlist.c:50 -msgid "Not a directory" -msgstr "No es un directorio" +#: nis/nis_error.h:16 +msgid "Not master server for this domain" +msgstr "No existe un servidor maestro para este dominio" -#. TRANS File is a directory; you cannot open a directory for writing, -#. TRANS or create or remove hard links to it. -#: stdio-common/../sysdeps/gnu/errlist.c:231 -#: stdio-common/../sysdeps/unix/sysv/sysv4/solaris2/sparc/errlist.c:51 -msgid "Is a directory" -msgstr "Es un directorio" +#: nis/nis_error.h:17 +msgid "Invalid object for operation" +msgstr "Objeto inválido para la operación" -#. TRANS Invalid argument. This is used to indicate various kinds of problems -#. TRANS with passing the wrong argument to a library function. -#: stdio-common/../sysdeps/gnu/errlist.c:241 -#: stdio-common/../sysdeps/unix/sysv/sysv4/solaris2/sparc/errlist.c:52 -msgid "Invalid argument" -msgstr "Argumento inválido" +#: nis/nis_error.h:18 +msgid "Malformed name, or illegal name" +msgstr "Nombre mal escrito, o nombre ilegal" -#. TRANS The current process has too many files open and can't open any more. -#. TRANS Duplicate descriptors do count toward this limit. -#. TRANS -#. TRANS In BSD and GNU, the number of open files is controlled by a resource -#. TRANS limit that can usually be increased. If you get this error, you might -#. TRANS want to increase the @code{RLIMIT_NOFILE} limit or make it unlimited; -#. TRANS @pxref{Limits on Resources}. -#: stdio-common/../sysdeps/gnu/errlist.c:256 -#: stdio-common/../sysdeps/unix/sysv/sysv4/solaris2/sparc/errlist.c:54 -msgid "Too many open files" -msgstr "Demasiados ficheros abiertos" +#: nis/nis_error.h:19 +msgid "Unable to create callback" +msgstr "No se puede crear la llamada de regreso" -#. TRANS There are too many distinct file openings in the entire system. Note -#. TRANS that any number of linked channels count as just one file opening; see -#. TRANS @ref{Linked Channels}. This error never occurs in the GNU system. -#: stdio-common/../sysdeps/gnu/errlist.c:267 -msgid "Too many open files in system" -msgstr "Demasiados ficheros abiertos en el sistema" +# ¿callback? +#: nis/nis_error.h:20 +msgid "Results sent to callback proc" +msgstr "Resultados enviados al proceso de `callback'" -#. TRANS Inappropriate I/O control operation, such as trying to set terminal -#. TRANS modes on an ordinary file. -#: stdio-common/../sysdeps/gnu/errlist.c:277 -#: stdio-common/../sysdeps/unix/sysv/sysv4/solaris2/sparc/errlist.c:55 -msgid "Inappropriate ioctl for device" -msgstr "Función ioctl no apropiada para el dispositivo" +#: nis/nis_error.h:21 +msgid "Not found, no such name" +msgstr "No se encontró, no existe ese nombre" -#. TRANS An attempt to execute a file that is currently open for writing, or -#. TRANS write to a file that is currently being executed. Often using a -#. TRANS debugger to run a program is considered having it open for writing and -#. TRANS will cause this error. (The name stands for ``text file busy''.) This -#. TRANS is not an error in the GNU system; the text is copied as necessary. -#: stdio-common/../sysdeps/gnu/errlist.c:290 -#: stdio-common/../sysdeps/unix/sysv/sysv4/solaris2/sparc/errlist.c:56 -msgid "Text file busy" -msgstr "El fichero de texto está ocupado" +#: nis/nis_error.h:22 +msgid "Name/entry isn't unique" +msgstr "El par nombre/entrada no es único" -#. TRANS File too big; the size of a file would be larger than allowed by the system. -#: stdio-common/../sysdeps/gnu/errlist.c:299 -#: stdio-common/../sysdeps/unix/sysv/sysv4/solaris2/sparc/errlist.c:57 -msgid "File too large" -msgstr "Fichero demasiado grande" +#: nis/nis_error.h:23 +msgid "Modification failed" +msgstr "Fallo en la modificación" -#. TRANS No space left on device; write operation on a file failed because the -#. TRANS disk is full. -#: stdio-common/../sysdeps/gnu/errlist.c:309 -#: stdio-common/../sysdeps/unix/sysv/sysv4/solaris2/sparc/errlist.c:58 -msgid "No space left on device" -msgstr "No queda espacio en el dispositivo" +#: nis/nis_error.h:24 +msgid "Database for table does not exist" +msgstr "No existe la base de datos para la tabla" -# ¿"seek" no era "desplazamiento"? sv -# Según el contexto no se puede saber a qué se refiere -# cambio ... por no permitida em+ -# Suggestion: "Llamada a lseek() inválida" -jtobey -# Sí, bueno, esto lo hemos traducido otras veces por desplazamiento, así -# que lo cambio (antes era "búsqueda no permitida"). -# Como hay varias funciones de desplazamiento creo que es mejor -# no decantarse por ninguna en particular. sv -#. TRANS Invalid seek operation (such as on a pipe). -#: stdio-common/../sysdeps/gnu/errlist.c:318 -#: stdio-common/../sysdeps/unix/sysv/sysv4/solaris2/sparc/errlist.c:59 -msgid "Illegal seek" -msgstr "Desplazamiento ilegal" +#: nis/nis_error.h:25 +msgid "Entry/table type mismatch" +msgstr "Discordancia de tipo entrada/tabla" -#. TRANS An attempt was made to modify something on a read-only file system. -#: stdio-common/../sysdeps/gnu/errlist.c:327 -#: stdio-common/../sysdeps/unix/sysv/sysv4/solaris2/sparc/errlist.c:60 -msgid "Read-only file system" -msgstr "Sistema de ficheros de sólo lectura" +#: nis/nis_error.h:26 +msgid "Link points to illegal name" +msgstr "En enlace apunta a un nombre ilegal" -#. TRANS Too many links; the link count of a single file would become too large. -#. TRANS @code{rename} can cause this error if the file being renamed already has -#. TRANS as many links as it can take (@pxref{Renaming Files}). -#: stdio-common/../sysdeps/gnu/errlist.c:338 -#: stdio-common/../sysdeps/unix/sysv/sysv4/solaris2/sparc/errlist.c:61 -msgid "Too many links" -msgstr "Demasiados enlaces" +#: nis/nis_error.h:27 +msgid "Partial success" +msgstr "Éxito parcial" -#. TRANS Domain error; used by mathematical functions when an argument value does -#. TRANS not fall into the domain over which the function is defined. -#: stdio-common/../sysdeps/gnu/errlist.c:361 -msgid "Numerical argument out of domain" -msgstr "Argumento numérico fuera del dominio de la función" +#: nis/nis_error.h:28 +msgid "Too many attributes" +msgstr "Demasiados atributos" -#. TRANS Range error; used by mathematical functions when the result value is -#. TRANS not representable because of overflow or underflow. -#: stdio-common/../sysdeps/gnu/errlist.c:371 -msgid "Numerical result out of range" -msgstr "Resultado numérico fuera de rango" +#: nis/nis_error.h:29 +msgid "Error in RPC subsystem" +msgstr "Error en el subsistema RPC" -#. TRANS Resource temporarily unavailable; the call might work if you try again -#. TRANS later. The macro @code{EWOULDBLOCK} is another name for @code{EAGAIN}; -#. TRANS they are always the same in the GNU C library. -#. TRANS -#. TRANS This error can happen in a few different situations: -#. TRANS -#. TRANS @itemize @bullet -#. TRANS @item -#. TRANS An operation that would block was attempted on an object that has -#. TRANS non-blocking mode selected. Trying the same operation again will block -#. TRANS until some external condition makes it possible to read, write, or -#. TRANS connect (whatever the operation). You can use @code{select} to find out -#. TRANS when the operation will be possible; @pxref{Waiting for I/O}. -#. TRANS -#. TRANS @strong{Portability Note:} In many older Unix systems, this condition -#. TRANS was indicated by @code{EWOULDBLOCK}, which was a distinct error code -#. TRANS different from @code{EAGAIN}. To make your program portable, you should -#. TRANS check for both codes and treat them the same. -#. TRANS -#. TRANS @item -#. TRANS A temporary resource shortage made an operation impossible. @code{fork} -#. TRANS can return this error. It indicates that the shortage is expected to -#. TRANS pass, so your program can try the call again later and it may succeed. -#. TRANS It is probably a good idea to delay for a few seconds before trying it -#. TRANS again, to allow time for other processes to release scarce resources. -#. TRANS Such shortages are usually fairly serious and affect the whole system, -#. TRANS so usually an interactive program should report the error to the user -#. TRANS and return to its command loop. -#. TRANS @end itemize -#: stdio-common/../sysdeps/gnu/errlist.c:408 -#: stdio-common/../sysdeps/unix/sysv/sysv4/solaris2/sparc/errlist.c:41 -msgid "Resource temporarily unavailable" -msgstr "Recurso no disponible temporalmente" +#: nis/nis_error.h:30 +msgid "Missing or malformed attribute" +msgstr "Falta un atributo o está mal escrito" -#. TRANS In the GNU C library, this is another name for @code{EAGAIN} (above). -#. TRANS The values are always the same, on every operating system. -#. TRANS -#. TRANS C libraries in many older Unix systems have @code{EWOULDBLOCK} as a -#. TRANS separate error code. -#: stdio-common/../sysdeps/gnu/errlist.c:421 -msgid "Operation would block" -msgstr "La operación se bloquearía" +#: nis/nis_error.h:31 +msgid "Named object is not searchable" +msgstr "El objeto nombrado no es localizable" -#. TRANS An operation that cannot complete immediately was initiated on an object -#. TRANS that has non-blocking mode selected. Some functions that must always -#. TRANS block (such as @code{connect}; @pxref{Connecting}) never return -#. TRANS @code{EAGAIN}. Instead, they return @code{EINPROGRESS} to indicate that -#. TRANS the operation has begun and will take some time. Attempts to manipulate -#. TRANS the object before the call completes return @code{EALREADY}. You can -#. TRANS use the @code{select} function to find out when the pending operation -#. TRANS has completed; @pxref{Waiting for I/O}. -#: stdio-common/../sysdeps/gnu/errlist.c:437 -#: stdio-common/../sysdeps/unix/sysv/sysv4/solaris2/sparc/errlist.c:180 -msgid "Operation now in progress" -msgstr "Operación en curso" +# ¿callback? +#: nis/nis_error.h:32 +msgid "Error while talking to callback proc" +msgstr "Error al hablar con el proceso de `callback'" -# Vale, pero muy poco más abajo has puesto "en curso", que me parece mejor. sv -# Creo que prefiero dejar uno de cada. Se me ocurre si no cambiar el -# de abajo también. em -#. TRANS An operation is already in progress on an object that has non-blocking -#. TRANS mode selected. -#: stdio-common/../sysdeps/gnu/errlist.c:447 -#: stdio-common/../sysdeps/unix/sysv/sysv4/solaris2/sparc/errlist.c:179 -msgid "Operation already in progress" -msgstr "La operación ya se está llevando a cabo" +#: nis/nis_error.h:33 +msgid "Non NIS+ namespace encountered" +msgstr "Se ha encontrado un nombre de espacio que no es NIS+" -#. TRANS A file that isn't a socket was specified when a socket is required. -#: stdio-common/../sysdeps/gnu/errlist.c:456 -#: stdio-common/../sysdeps/unix/sysv/sysv4/solaris2/sparc/errlist.c:125 -msgid "Socket operation on non-socket" -msgstr "Operación de `socket' en un `no-socket'" +#: nis/nis_error.h:34 +msgid "Illegal object type for operation" +msgstr "Objeto ilegal para la operación" -#. TRANS The size of a message sent on a socket was larger than the supported -#. TRANS maximum size. -#: stdio-common/../sysdeps/gnu/errlist.c:466 -#: stdio-common/../sysdeps/unix/sysv/sysv4/solaris2/sparc/errlist.c:127 -msgid "Message too long" -msgstr "Mensaje demasiado largo" +# ¿pasado? sv +#: nis/nis_error.h:35 +msgid "Passed object is not the same object on server" +msgstr "El objeto pasado no es el mismo objeto que hay en el servidor" -#. TRANS The socket type does not support the requested communications protocol. -#: stdio-common/../sysdeps/gnu/errlist.c:475 -#: stdio-common/../sysdeps/unix/sysv/sysv4/solaris2/sparc/errlist.c:128 -msgid "Protocol wrong type for socket" -msgstr "Tipo de protocolo incorrecto para el `socket'" +#: nis/nis_error.h:36 +msgid "Modify operation failed" +msgstr "La operación de modificación ha fallado" -#. TRANS You specified a socket option that doesn't make sense for the -#. TRANS particular protocol being used by the socket. @xref{Socket Options}. -#: stdio-common/../sysdeps/gnu/errlist.c:485 -msgid "Protocol not available" -msgstr "Protocolo no disponible" +#: nis/nis_error.h:37 +msgid "Query illegal for named table" +msgstr "Consulta ilegal para la tabla nombrada" -#. TRANS The socket domain does not support the requested communications protocol -#. TRANS (perhaps because the requested protocol is completely invalid). -#. TRANS @xref{Creating a Socket}. -#: stdio-common/../sysdeps/gnu/errlist.c:496 -#: stdio-common/../sysdeps/unix/sysv/sysv4/solaris2/sparc/errlist.c:150 -msgid "Protocol not supported" -msgstr "Protocolo no soportado" +#: nis/nis_error.h:38 +msgid "Attempt to remove a non-empty table" +msgstr "Se intentó eliminar una tabla no vacÃa" -#. TRANS The socket type is not supported. -#: stdio-common/../sysdeps/gnu/errlist.c:505 -#: stdio-common/../sysdeps/unix/sysv/sysv4/solaris2/sparc/errlist.c:151 -msgid "Socket type not supported" -msgstr "Tipo de `socket' no soportado" +#: nis/nis_error.h:39 +msgid "Error in accessing NIS+ cold start file. Is NIS+ installed?" +msgstr "Error al acceder al fichero de comienzo frio de NIS+. ¿Está NIS+ instalado?" -#. TRANS The operation you requested is not supported. Some socket functions -#. TRANS don't make sense for all types of sockets, and others may not be -#. TRANS implemented for all communications protocols. In the GNU system, this -#. TRANS error can happen for many calls when the object does not support the -#. TRANS particular operation; it is a generic indication that the server knows -#. TRANS nothing to do for that call. -#: stdio-common/../sysdeps/gnu/errlist.c:519 -#: stdio-common/../sysdeps/unix/sysv/sysv4/solaris2/sparc/errlist.c:78 -msgid "Operation not supported" -msgstr "La operación no está soportada" +#: nis/nis_error.h:40 +msgid "Full resync required for directory" +msgstr "Se necesita una resincronización completa del directorio" -#. TRANS The socket communications protocol family you requested is not supported. -#: stdio-common/../sysdeps/gnu/errlist.c:528 -#: stdio-common/../sysdeps/unix/sysv/sysv4/solaris2/sparc/errlist.c:153 -msgid "Protocol family not supported" -msgstr "Familia de protocolos no soportada" +#: nis/nis_error.h:41 +msgid "NIS+ operation failed" +msgstr "Falló la operación de NIS+" -#. TRANS The address family specified for a socket is not supported; it is -#. TRANS inconsistent with the protocol being used on the socket. @xref{Sockets}. -#: stdio-common/../sysdeps/gnu/errlist.c:538 -msgid "Address family not supported by protocol" -msgstr "Esta familia de direcciones no está soportada por el protocolo" +#: nis/nis_error.h:42 +msgid "NIS+ service is unavailable or not installed" +msgstr "El servicio NIS+ no está disponible o no está instalado" -#. TRANS The requested socket address is already in use. @xref{Socket Addresses}. -#: stdio-common/../sysdeps/gnu/errlist.c:547 -#: stdio-common/../sysdeps/unix/sysv/sysv4/solaris2/sparc/errlist.c:155 -msgid "Address already in use" -msgstr "La dirección ya se está usando" +# ¿¿Qué demonios es esto?? sv +#: nis/nis_error.h:43 +msgid "Yes, 42 is the meaning of life" +msgstr "SÃ, 42 es el significado de la vida" -#. TRANS The requested socket address is not available; for example, you tried -#. TRANS to give a socket a name that doesn't match the local host name. -#. TRANS @xref{Socket Addresses}. -#: stdio-common/../sysdeps/gnu/errlist.c:558 -#: stdio-common/../sysdeps/unix/sysv/sysv4/solaris2/sparc/errlist.c:156 -msgid "Cannot assign requested address" -msgstr "No se puede asignar la dirección solicitada" +#: nis/nis_error.h:44 +msgid "Unable to authenticate NIS+ server" +msgstr "No se puede autentificar el servidor NIS+" -#. TRANS A socket operation failed because the network was down. -#: stdio-common/../sysdeps/gnu/errlist.c:567 -#: stdio-common/../sysdeps/unix/sysv/sysv4/solaris2/sparc/errlist.c:157 -msgid "Network is down" -msgstr "La red no está activa" +#: nis/nis_error.h:45 +msgid "Unable to authenticate NIS+ client" +msgstr "No se puede autentificar el cliente NIS+" -# Este no me gusta. Preferiría poner "la red es inaccesible", o al menos -# añadirle un "es": "Es imposible conectar con la red". sv -# En muchos mensajes he puesto el 'Es' al principio, terminaremos hablando -# como indios si no. em -# -# Mira un mensaje que he puesto más arriba a ver si estás de acuerdo con -# mi definición de "indio". sv -# -# Después de que me haya salido este mensaje varias veces, lo cambio. -# Antes decía "Es imposible conectar con la red", demasiado largo. sv -#. TRANS A socket operation failed because the subnet containing the remote host -#. TRANS was unreachable. -#: stdio-common/../sysdeps/gnu/errlist.c:577 -#: stdio-common/../sysdeps/unix/sysv/sysv4/solaris2/sparc/errlist.c:158 -msgid "Network is unreachable" -msgstr "La red es inaccesible" +#: nis/nis_error.h:46 +msgid "No file space on server" +msgstr "No queda espacio de ficheros en el servidor" -#. TRANS A network connection was reset because the remote host crashed. -#: stdio-common/../sysdeps/gnu/errlist.c:586 -msgid "Network dropped connection on reset" -msgstr "La conexión de red se perdió al reinicializar" +#: nis/nis_error.h:47 +msgid "Unable to create process on server" +msgstr "No se puede crear el proceso en el servidor" -#. TRANS A network connection was aborted locally. -#: stdio-common/../sysdeps/gnu/errlist.c:595 -#: stdio-common/../sysdeps/unix/sysv/sysv4/solaris2/sparc/errlist.c:160 -msgid "Software caused connection abort" -msgstr "El programa provocó el fin de la conexión" +#: nis/nis_error.h:48 +msgid "Master server busy, full dump rescheduled." +msgstr "El servidor maestro está ocupado, el volcado completo se postpone." -# Se aceptan sugerencias alternativas para "peer" -# ¿Qué tal "remote machine"? ;-) -# Prefiero la traducción. -jtobey -# La verdad es que no se me ocurre nada mejor, así que se queda así. sv -#. TRANS A network connection was closed for reasons outside the control of the -#. TRANS local host, such as by the remote machine rebooting or an unrecoverable -#. TRANS protocol violation. -#: stdio-common/../sysdeps/gnu/errlist.c:606 -#: stdio-common/../sysdeps/unix/sysv/sysv4/solaris2/sparc/errlist.c:161 -msgid "Connection reset by peer" -msgstr "Conexión reinicializada por la máquina remota" +#: nis/nis_local_names.c:122 +#, c-format +msgid "LOCAL entry for UID %d in directory %s not unique\n" +msgstr "La entrada LOCAL para el UID %d en el directorio %s no es única\n" -# Memoria intermedia me parece una traducción óptima. -# Desgraciadamente no tengo ningún diccionario de Castellano -# Enrique, creo que en español existe "búfer", míralo si puedes. sv -# ¿Buffer? memoria intermedia. -# A ver qué dice Iñaky... sv -#. TRANS The kernel's buffers for I/O operations are all in use. In GNU, this -#. TRANS error is always synonymous with @code{ENOMEM}; you may get one or the -#. TRANS other from network operations. -#: stdio-common/../sysdeps/gnu/errlist.c:617 -#: stdio-common/../sysdeps/unix/sysv/sysv4/solaris2/sparc/errlist.c:162 -msgid "No buffer space available" -msgstr "No queda espacio para memoria intermedia" +#: nis/nis_print.c:51 +msgid "UNKNOWN" +msgstr "DESCONOCIDO" -#. TRANS You tried to connect a socket that is already connected. -#. TRANS @xref{Connecting}. -#: stdio-common/../sysdeps/gnu/errlist.c:627 -#: stdio-common/../sysdeps/unix/sysv/sysv4/solaris2/sparc/errlist.c:163 -msgid "Transport endpoint is already connected" -msgstr "El otro extremo ya está conectado" +#: nis/nis_print.c:109 +msgid "BOGUS OBJECT\n" +msgstr "OBJETO INVÃLIDO\n" -#. TRANS The socket is not connected to anything. You get this error when you -#. TRANS try to transmit data over a socket, without first specifying a -#. TRANS destination for the data. For a connectionless socket (for datagram -#. TRANS protocols, such as UDP), you get @code{EDESTADDRREQ} instead. -#: stdio-common/../sysdeps/gnu/errlist.c:639 -#: stdio-common/../sysdeps/unix/sysv/sysv4/solaris2/sparc/errlist.c:164 -msgid "Transport endpoint is not connected" -msgstr "El otro extremo de la conexión no está conectado" +#: nis/nis_print.c:112 +msgid "NO OBJECT\n" +msgstr "NO HAY NINGÚN OBJETO\n" -#. TRANS No default destination address was set for the socket. You get this -#. TRANS error when you try to transmit data over a connectionless socket, -#. TRANS without first specifying a destination for the data with @code{connect}. -#: stdio-common/../sysdeps/gnu/errlist.c:650 -#: stdio-common/../sysdeps/unix/sysv/sysv4/solaris2/sparc/errlist.c:126 -msgid "Destination address required" -msgstr "Se debe especificar la dirección de destino" +#: nis/nis_print.c:115 +msgid "DIRECTORY\n" +msgstr "DIRECTORIO\n" -#. TRANS The socket has already been shut down. -#: stdio-common/../sysdeps/gnu/errlist.c:659 -msgid "Cannot send after transport endpoint shutdown" -msgstr "No se puede enviar tras la destrucción del punto de destino" +#: nis/nis_print.c:118 +msgid "GROUP\n" +msgstr "GRUPO\n" -# FUZZY -#. TRANS ??? -#: stdio-common/../sysdeps/gnu/errlist.c:668 -#: stdio-common/../sysdeps/unix/sysv/sysv4/solaris2/sparc/errlist.c:174 -msgid "Too many references: cannot splice" -msgstr "Demasiadas referencias: no se pueden solapar" +#: nis/nis_print.c:121 +msgid "TABLE\n" +msgstr "TABLA\n" -#. TRANS A socket operation with a specified timeout received no response during -#. TRANS the timeout period. -#: stdio-common/../sysdeps/gnu/errlist.c:678 -#: stdio-common/../sysdeps/unix/sysv/sysv4/solaris2/sparc/errlist.c:175 -msgid "Connection timed out" -msgstr "Expiró el tiempo de conexión" +#: nis/nis_print.c:124 +msgid "ENTRY\n" +msgstr "ENTRADA\n" -#. TRANS A remote host refused to allow the network connection (typically because -#. TRANS it is not running the requested service). -#: stdio-common/../sysdeps/gnu/errlist.c:688 -#: stdio-common/../sysdeps/unix/sysv/sysv4/solaris2/sparc/errlist.c:176 -msgid "Connection refused" -msgstr "Conexión rehusada" +#: nis/nis_print.c:127 +msgid "LINK\n" +msgstr "ENLACE\n" -#. TRANS Too many levels of symbolic links were encountered in looking up a file name. -#. TRANS This often indicates a cycle of symbolic links. -#: stdio-common/../sysdeps/gnu/errlist.c:698 -msgid "Too many levels of symbolic links" -msgstr "Demasiados niveles de enlaces simbólicos" +#: nis/nis_print.c:130 +msgid "PRIVATE\n" +msgstr "PRIVADO\n" -#. TRANS Filename too long (longer than @code{PATH_MAX}; @pxref{Limits for -#. TRANS Files}) or host name too long (in @code{gethostname} or -#. TRANS @code{sethostname}; @pxref{Host Identification}). -#: stdio-common/../sysdeps/gnu/errlist.c:709 -#: stdio-common/../sysdeps/unix/sysv/sysv4/solaris2/sparc/errlist.c:108 -msgid "File name too long" -msgstr "Nombre de fichero demasiado largo" +#: nis/nis_print.c:133 +msgid "(Unknown object)\n" +msgstr "(Objeto desconocido)\n" -# La palabra "host" es delicada. -# En spanglish algunos la traducen por "anfitrión". -# -# Enrique considera equívoca la propia palabra host. -# [ A un huésped también se le llama "host" ]. -# -# En este fichero .po he decidido ser cauto y de momento la dejaré sin -# traducir. De acuerdo con nuestra costumbre, cuando una palabra no nos -# atrevemos a traducirla la encerramos entre apóstrofos: `host' -# -#. TRANS The remote host for a requested network connection is down. -#: stdio-common/../sysdeps/gnu/errlist.c:718 -#: stdio-common/../sysdeps/unix/sysv/sysv4/solaris2/sparc/errlist.c:177 -msgid "Host is down" -msgstr "El `host' no está operativo" +#: nis/nis_print.c:167 +#, c-format +msgid "Name : `%s'\n" +msgstr "Nombre : `%s'\n" -#. TRANS The remote host for a requested network connection is not reachable. -#: stdio-common/../sysdeps/gnu/errlist.c:727 -#: stdio-common/../sysdeps/unix/sysv/sysv4/solaris2/sparc/errlist.c:178 -msgid "No route to host" -msgstr "No existe ninguna ruta hasta el `host'" +#: nis/nis_print.c:168 +#, c-format +msgid "Type : %s\n" +msgstr "Tipo : %s\n" -#. TRANS Directory not empty, where an empty directory was expected. Typically, -#. TRANS this error occurs when you are trying to delete a directory. -#: stdio-common/../sysdeps/gnu/errlist.c:737 -#: stdio-common/../sysdeps/unix/sysv/sysv4/solaris2/sparc/errlist.c:123 -msgid "Directory not empty" -msgstr "El directorio no está vacío" +#: nis/nis_print.c:173 +msgid "Master Server :\n" +msgstr "Servidor Maestro :\n" -#. TRANS This means that the per-user limit on new process would be exceeded by -#. TRANS an attempted @code{fork}. @xref{Limits on Resources}, for details on -#. TRANS the @code{RLIMIT_NPROC} limit. -#: stdio-common/../sysdeps/gnu/errlist.c:748 -msgid "Too many processes" -msgstr "Demasiados procesos" +# ¿Replicate? +#: nis/nis_print.c:175 +msgid "Replicate :\n" +msgstr "Replicado :\n" -#. TRANS The file quota system is confused because there are too many users. -#. TRANS @c This can probably happen in a GNU system when using NFS. -#: stdio-common/../sysdeps/gnu/errlist.c:758 -#: stdio-common/../sysdeps/unix/sysv/sysv4/solaris2/sparc/errlist.c:124 -msgid "Too many users" -msgstr "Demasiados usuarios" +#: nis/nis_print.c:176 +#, c-format +msgid "\tName : %s\n" +msgstr "\tNombre : %s\n" -#. TRANS The user's disk quota was exceeded. -#: stdio-common/../sysdeps/gnu/errlist.c:767 -msgid "Disk quota exceeded" -msgstr "Se ha excedido la cuota de disco" +#: nis/nis_print.c:177 +msgid "\tPublic Key : " +msgstr "\tClave Pública : " -# ?? sugerencias ? -# Habrá que traducir el "handle" de alguna forma... sv -# No veo porqué. em -# ¿No puede un fichero tener varios `handles' -# y que unos estén bloqueados y otros no? sv -# En efecto la traducción es incorrecta, el uso de file handle -# en vez de file descriptor, debe ser porque nos referimos a ficheros -# compartidos con NFS. Al igual que no se bloquean, sino que se stalan :) -# -# Suggestion: stale->vencido. No me gusta "bloqueado" porque el -# remedio necesita una acción, y "bloqueado" sugiere esperar. -# No me gusta "fichero" simplemente, pues el fichero estará perfectamente -# bien; lo que se venció es el "handle" o sea el número o nombre que -# nos da acceso al fichero. Habrá que traducir el "handle", como dijo sv. -# -jtobey -# -# Muy bien, he buscado "stale" y por lo que parece es algo que "caduca" -# o que "vence", como las letras comerciales. Me he decidido por "en desuso". -# -#. TRANS Stale NFS file handle. This indicates an internal confusion in the NFS -#. TRANS system which is due to file system rearrangements on the server host. -#. TRANS Repairing this condition usually requires unmounting and remounting -#. TRANS the NFS file system on the local host. -#: stdio-common/../sysdeps/gnu/errlist.c:779 -#: stdio-common/../sysdeps/unix/sysv/sysv4/solaris2/sparc/errlist.c:181 -msgid "Stale NFS file handle" -msgstr "`handle' de fichero NFS en desuso" +#: nis/nis_print.c:181 +msgid "None.\n" +msgstr "Ninguno.\n" -#. TRANS An attempt was made to NFS-mount a remote file system with a file name that -#. TRANS already specifies an NFS-mounted file. -#. TRANS (This is an error on some operating systems, but we expect it to work -#. TRANS properly on the GNU system, making this error code impossible.) -#: stdio-common/../sysdeps/gnu/errlist.c:791 -#: stdio-common/../sysdeps/unix/sysv/sysv4/solaris2/sparc/errlist.c:96 -msgid "Object is remote" -msgstr "El objeto es remoto" +#: nis/nis_print.c:184 +#, c-format +msgid "Diffie-Hellmann (%d bits)\n" +msgstr "Diffie-Hellmann (%d bits)\n" -#. TRANS ??? -#: stdio-common/../sysdeps/gnu/errlist.c:800 -msgid "RPC struct is bad" -msgstr "la estructura RPC es incorrecta" +#: nis/nis_print.c:189 +#, c-format +msgid "RSA (%d bits)\n" +msgstr "RSA (%d bits)\n" -#. TRANS ??? -#: stdio-common/../sysdeps/gnu/errlist.c:809 -msgid "RPC version wrong" -msgstr "versión de RPC incorrecta" +# Véase "Investigación y Ciencia" sv +#: nis/nis_print.c:192 +msgid "Kerberos.\n" +msgstr "Cerbero.\n" -#. TRANS ??? -#: stdio-common/../sysdeps/gnu/errlist.c:818 -msgid "RPC program not available" -msgstr "Programa RPC no disponible" +#: nis/nis_print.c:195 +#, c-format +msgid "Unknown (type = %d, bits = %d)\n" +msgstr "Desconocido (tipo = %d, bits = %d)\n" -#. TRANS ??? -#: stdio-common/../sysdeps/gnu/errlist.c:827 -msgid "RPC program version wrong" -msgstr "Versión del programa RPC incorrecta" +#: nis/nis_print.c:206 +#, c-format +msgid "\tUniversal addresses (%u)\n" +msgstr "\tDirección universal (%u)\n" -# ## qué horror -# ## Pues mira, quizá añadiendo dos puntos después del RPC mejoraría algo: -# ## "RPC: procedimiento erróneo..." sv -# FIXME -> Comunicarlo al autor. -# En inglés podría quedar también mejor. -#. TRANS ??? -#: stdio-common/../sysdeps/gnu/errlist.c:836 -msgid "RPC bad procedure for program" -msgstr "RPC: procedimiento erróneo para el programa" +#: nis/nis_print.c:228 +msgid "Time to live : " +msgstr "Tiempo de vida : " -# Ojo: ¿Solamente los ficheros se pueden bloquear? -# Propondría: "No quedan bloqueos disponibles" o algo así. sv -# -# Efectivamente puede que tengas razón, pero ... -# los dispositivos en UNIX son siempre ficheros /dev :) em -# -# Lo sé, lo sé, pero: Cuando bloqueas /dev/cua3, ¿dices que estás bloqueando un -# fichero o que estás bloqueando el módem, que es un dispositivo? sv -# Decir ficheros podría traer equívocos, por más que formalmente todos -# lo sean. sv -# -# ¿Y qué se te ocurre?, ¿poner bloquear ficheros/dispositivos? em -# -# ( Pues mira, no estaría mal. sv ) -# -# no quedan bloqueos me parece que no colabora a entender nada. em -# Miro la versión alemana. -# ??? ¿locks? ¿cómo diablos? -#. TRANS No locks available. This is used by the file locking facilities; see -#. TRANS @ref{File Locks}. This error is never generated by the GNU system, but -#. TRANS it can result from an operation to an NFS server running another -#. TRANS operating system. -#: stdio-common/../sysdeps/gnu/errlist.c:848 -msgid "No locks available" -msgstr "No se pueden bloquear más ficheros" +#: nis/nis_print.c:230 +msgid "Default Access rights :\n" +msgstr "Derechos de acceso predeterminados :\n" -#. TRANS Inappropriate file type or format. The file was the wrong type for the -#. TRANS operation, or a data file had the wrong format. -#. TRANS -#. TRANS On some systems @code{chmod} returns this error if you try to set the -#. TRANS sticky bit on a non-directory file; @pxref{Setting Permissions}. -#: stdio-common/../sysdeps/gnu/errlist.c:861 -msgid "Inappropriate file type or format" -msgstr "Formato o tipo de fichero no apropiado" +#: nis/nis_print.c:239 +#, c-format +msgid "\tType : %s\n" +msgstr "\tTipo : %s\n" -#. TRANS ??? -#: stdio-common/../sysdeps/gnu/errlist.c:870 -msgid "Authentication error" -msgstr "Error de autentificación" +#: nis/nis_print.c:240 +msgid "\tAccess rights: " +msgstr "\tDerechos de acceso: " -#. TRANS ??? -#: stdio-common/../sysdeps/gnu/errlist.c:879 -msgid "Need authenticator" -msgstr "Se necesita un autentificador" +#: nis/nis_print.c:254 +msgid "Group Flags :" +msgstr "Opciones de Grupo :" -#. TRANS Function not implemented. This indicates that the function called is -#. TRANS not implemented at all, either in the C library itself or in the -#. TRANS operating system. When you get this error, you can be sure that this -#. TRANS particular function will always fail with @code{ENOSYS} unless you -#. TRANS install a new version of the C library or the operating system. -#: stdio-common/../sysdeps/gnu/errlist.c:892 -msgid "Function not implemented" -msgstr "Función no implementada" +#: nis/nis_print.c:257 +msgid "" +"\n" +"Group Members :\n" +msgstr "" +"\n" +"Miembros del Grupo :\n" -#. TRANS Not supported. A function returns this error when certain parameter -#. TRANS values are valid, but the functionality they request is not available. -#. TRANS This can mean that the function does not implement a particular command -#. TRANS or option value or flag bit at all. For functions that operate on some -#. TRANS object given in a parameter, such as a file descriptor or a port, it -#. TRANS might instead mean that only @emph{that specific object} (file -#. TRANS descriptor, port, etc.) is unable to support the other parameters given; -#. TRANS different file descriptors might support different ranges of parameter -#. TRANS values. -#. TRANS -#. TRANS If the entire function is not available at all in the implementation, -#. TRANS it returns @code{ENOSYS} instead. -#: stdio-common/../sysdeps/gnu/errlist.c:912 -msgid "Not supported" -msgstr "No soportado" +#: nis/nis_print.c:269 +#, c-format +msgid "Table Type : %s\n" +msgstr "Tipo de Tabla : %s\n" -#. TRANS While decoding a multibyte character the function came along an invalid -#. TRANS or an incomplete sequence of bytes or the given wide character is invalid. -#: stdio-common/../sysdeps/gnu/errlist.c:922 -msgid "Invalid or incomplete multibyte or wide character" -msgstr "El carácter multibyte o extendido está incompleto o es inválido" +#: nis/nis_print.c:270 +#, c-format +msgid "Number of Columns : %d\n" +msgstr "Número de Columnas : %d\n" -# Habrá que ver a qué se refiere. -# -# Si le pones el "es", ponle el "La" al principio. -# O no le pongas ninguno de los dos, si no es realmente necesario. -# Creo que no es malo que una oración no tenga verbo, pero si lo tiene -# debe ser una oración completa. Me explico: -# 1 "operación no válida" sería admisible. -# 2 "operación no es válida" suena completamente a indio (inadmisible). -# 3 "la operación no es válida" es mucho mejor que 2, pero no siempre -# es mejor que 1. sv -# -# En este caso, creo que sobran el "La" y el "es". Por eso le he quitado -# el "es". sv -#. TRANS In the GNU system, servers supporting the @code{term} protocol return -#. TRANS this error for certain operations when the caller is not in the -#. TRANS foreground process group of the terminal. Users do not usually see this -#. TRANS error because functions such as @code{read} and @code{write} translate -#. TRANS it into a @code{SIGTTIN} or @code{SIGTTOU} signal. @xref{Job Control}, -#. TRANS for information on process groups and these signals. -#: stdio-common/../sysdeps/gnu/errlist.c:936 -msgid "Inappropriate operation for background process" -msgstr "Operación no válida para un proceso en segundo plano" +#: nis/nis_print.c:271 +#, c-format +msgid "Character Separator : %c\n" +msgstr "Separador de Caracteres : %c\n" -# Requiescant in pace. ¿de verdad lo vas a dejar así? :-) sv -# Creí que el traductor eras tú. cuídate, oye. -# Lo siento pero no se me ocurre nada en su lugar. sv -# -# Tengo que mirar los fuentes, de esto y de muchas otras cosas -# todo esta en mi disco duro en mi ordenador roto. em -# -# Uds. han usado "terminado" para "killed"... ¿qué les parece -# "Se terminó el traductor"? -jtobey -# -# Muy bien, pero lo pongo en pretérito perfecto. sv -# -#. TRANS In the GNU system, opening a file returns this error when the file is -#. TRANS translated by a program and the translator program dies while starting -#. TRANS up, before it has connected to the file. -#: stdio-common/../sysdeps/gnu/errlist.c:947 -msgid "Translator died" -msgstr "El traductor ha terminado" +#: nis/nis_print.c:272 +#, c-format +msgid "Search Path : %s\n" +msgstr "Ruta de búsqueda : %s\n" -#. TRANS The experienced user will know what is wrong. -#. TRANS @c This error code is a joke. Its perror text is part of the joke. -#. TRANS @c Don't change it. -#: stdio-common/../sysdeps/gnu/errlist.c:958 -msgid "?" -msgstr "?" +#: nis/nis_print.c:273 +msgid "Columns :\n" +msgstr "Columnas :\n" -# ?? Ni idea de como traducir esto -# "Ciertamente expiraste durante este tiempo" em -# this time es esta *vez* Pero como no acabo de verle el sentido a la frase -# prefiero que no corramos el riesgo. sv -# Sin fuentes no se puede hacer. Cogeré la traducción de Ulrich Drepper -# al alemán, no sé cómo no se me había ocurrido antes. em -# Muy buena idea. Suerte que tenemos un coordinador que sabe alemán :-) sv -# El problema es que la 1.10.1 no esta disponible todavía. Le he mandado un -# mail para que me envíe lo que tenga hecho. em -# Ok, traducido exactamente igual que lo tiene Jochen. Es ist keine Schuld -# von mir wenn es gar nicht stimmt. -# -# Sugerencia: "Ahora sí que te lo has cargado". sv+ -# (Preguntar a nuestros amigos americanos si se entiende). -# (Es que me suena que "blew" no es muy fino, por eso romper es -# demasiado suave). -# -#. TRANS You did @strong{what}? -#: stdio-common/../sysdeps/gnu/errlist.c:967 -msgid "You really blew it this time" -msgstr "Esta vez sí que lo has roto" +#: nis/nis_print.c:276 +#, c-format +msgid "\t[%d]\tName : %s\n" +msgstr "\t[%d]\tNombre : %s\n" -# ¿qué diablos es esto?, esperemos a tener las fuentes -# estupendo, este error parece mostrarse en dos ocasiones -# - Macro: int EIEIO -# Go home and have a glass of warm, dairy-fresh milk. -# Jochen tambien lo traduce así. em -# -# Okay. Since you are dying to know, I'll tell you. -# This is a joke, obviously. There is a children's song which begins, -# "Old McDonald had a farm, e-i-e-i-o." Every time I see the (real) -# errno macro EIO, I think about that song. Probably most of my -# compatriots who program on Unix do, too. One of them must have stayed -# up a little too late one night and decided to add it to Hurd or Glibc. -# Whoever did it should be castigated, but it made me laugh. -# --jtobey@channel1.com -# -# "bought the farm" means "died". -jtobey -# -# Bueno, pues después de pensarlo mucho, he seguido el ejemplo de la -# traducción francesa (traducción libre). sv -#. TRANS Go home and have a glass of warm, dairy-fresh milk. -#: stdio-common/../sysdeps/gnu/errlist.c:976 -msgid "Computer bought the farm" -msgstr "Anda, vete a casa y tómate un vasito de leche" +#: nis/nis_print.c:278 +msgid "\t\tAttributes : " +msgstr "\t\tAtributos : " -#. TRANS This error code has no purpose. -#: stdio-common/../sysdeps/gnu/errlist.c:985 -msgid "Gratuitous error" -msgstr "Error injustificado" +#: nis/nis_print.c:280 +msgid "\t\tAccess Rights : " +msgstr "\t\tDerechos de Acceso : " -#: stdio-common/../sysdeps/gnu/errlist.c:993 -msgid "Bad message" -msgstr "Mensaje erróneo" +#: nis/nis_print.c:290 +msgid "Linked Object Type : " +msgstr "Tipo de objeto enlazado : " -#: stdio-common/../sysdeps/gnu/errlist.c:1001 -#: stdio-common/../sysdeps/unix/sysv/sysv4/solaris2/sparc/errlist.c:66 -msgid "Identifier removed" -msgstr "El identificador se ha eliminado" +#: nis/nis_print.c:292 +#, c-format +msgid "Linked to : %s\n" +msgstr "Enlazado a : %s\n" -# FUZZY em+ -# No tengo ni idea de qué es un HOP -# este error, que ya lo vi en errno no -# lo encuentro documentado -# "Hop" es "saltito", por ej. un enlace directo que es parte de la ruta -# entre dos máquinas. --jtobey -#: stdio-common/../sysdeps/gnu/errlist.c:1009 -#: stdio-common/../sysdeps/unix/sysv/sysv4/solaris2/sparc/errlist.c:104 -msgid "Multihop attempted" -msgstr "Se ha intentado un `multihop'" +#: nis/nis_print.c:302 +#, c-format +msgid "\tEntry data of type %s\n" +msgstr "\tEntrada de tipo %s\n" -#: stdio-common/../sysdeps/gnu/errlist.c:1017 -#: stdio-common/../sysdeps/unix/sysv/sysv4/solaris2/sparc/errlist.c:91 -msgid "No data available" -msgstr "No hay datos disponibles" +#: nis/nis_print.c:305 +#, c-format +msgid "\t[%u] - [%u bytes] " +msgstr "\t[%u] - [%u bytes] " -#: stdio-common/../sysdeps/gnu/errlist.c:1025 -#: stdio-common/../sysdeps/unix/sysv/sysv4/solaris2/sparc/errlist.c:97 -msgid "Link has been severed" -msgstr "El enlace se ha cortado" +#: nis/nis_print.c:308 +msgid "Encrypted data\n" +msgstr "Datos cifrados\n" -#: stdio-common/../sysdeps/gnu/errlist.c:1033 -#: stdio-common/../sysdeps/unix/sysv/sysv4/solaris2/sparc/errlist.c:65 -msgid "No message of desired type" -msgstr "Ningún mensaje del tipo deseado" +#: nis/nis_print.c:310 +msgid "Binary data\n" +msgstr "Datos binarios\n" -# FIXME: Este mensaje debería ser igual al anterior. sv -#: stdio-common/../sysdeps/gnu/errlist.c:1041 -msgid "Out of streams resources" -msgstr "Alcanzado el límite de recursos de `streams'" +#: nis/nis_print.c:326 +#, c-format +msgid "Object Name : %s\n" +msgstr "Nombre del Objeto : %s\n" -# FUZZY -# Tal vez "de flujo", pero no sé si me atrevo... sv -#: stdio-common/../sysdeps/gnu/errlist.c:1049 -msgid "Device not a stream" -msgstr "El dispositivo no es un `stream'" +#: nis/nis_print.c:327 +#, c-format +msgid "Directory : %s\n" +msgstr "Directorio : %s\n" -#: stdio-common/../sysdeps/gnu/errlist.c:1057 -#: stdio-common/../sysdeps/unix/sysv/sysv4/solaris2/sparc/errlist.c:109 -msgid "Value too large for defined data type" -msgstr "Valor demasiado grande para el tipo de datos definido" +#: nis/nis_print.c:328 +#, c-format +msgid "Owner : %s\n" +msgstr "Propietario : %s\n" -#: stdio-common/../sysdeps/gnu/errlist.c:1065 -#: stdio-common/../sysdeps/unix/sysv/sysv4/solaris2/sparc/errlist.c:101 -msgid "Protocol error" -msgstr "Error de protocolo" +#: nis/nis_print.c:329 +#, c-format +msgid "Group : %s\n" +msgstr "Grupo : %s\n" -#: stdio-common/../sysdeps/gnu/errlist.c:1073 -#: stdio-common/../sysdeps/unix/sysv/sysv4/solaris2/sparc/errlist.c:92 -msgid "Timer expired" -msgstr "El temporizador llegó al final" +#: nis/nis_print.c:330 +msgid "Access Rights : " +msgstr "Derechos de acceso : " -#. TRANS Operation canceled; an asynchronous operation was canceled before it -#. TRANS completed. @xref{Asynchronous I/O}. When you call @code{aio_cancel}, -#. TRANS the normal result is for the operations affected to complete with this -#. TRANS error; @pxref{Cancel AIO Operations}. -#: stdio-common/../sysdeps/gnu/errlist.c:1085 -#: stdio-common/../sysdeps/unix/sysv/sysv4/solaris2/sparc/errlist.c:77 -msgid "Operation canceled" -msgstr "Operación cancelada" +#: nis/nis_print.c:332 +#, c-format +msgid "" +"\n" +"Time to Live : " +msgstr "" +"\n" +"Tiempo de Vida : " -# FUZZY -#: stdio-common/../sysdeps/gnu/errlist.c:1093 -msgid "Interrupted system call should be restarted" -msgstr "La llamada al sistema interrumpida debería volverse a iniciar" +#: nis/nis_print.c:335 +#, c-format +msgid "Creation Time : %s" +msgstr "Fecha de creación : %s" -#: stdio-common/../sysdeps/gnu/errlist.c:1101 -#: stdio-common/../sysdeps/unix/sysv/sysv4/solaris2/sparc/errlist.c:67 -msgid "Channel number out of range" -msgstr "Número de canal fuera de rango" +#: nis/nis_print.c:337 +#, c-format +msgid "Mod. Time : %s" +msgstr "Fecha de modificación: %s" -#: stdio-common/../sysdeps/gnu/errlist.c:1109 -#: stdio-common/../sysdeps/unix/sysv/sysv4/solaris2/sparc/errlist.c:68 -msgid "Level 2 not synchronized" -msgstr "Nivel 2 no sincronizado" +#: nis/nis_print.c:338 +msgid "Object Type : " +msgstr "Tipo del Objeto : " -#: stdio-common/../sysdeps/gnu/errlist.c:1117 -#: stdio-common/../sysdeps/unix/sysv/sysv4/solaris2/sparc/errlist.c:69 -msgid "Level 3 halted" -msgstr "Nivel 3 detenido" +#: nis/nis_print.c:358 +#, c-format +msgid " Data Length = %u\n" +msgstr " Longitud de los datos = %u\n" -#: stdio-common/../sysdeps/gnu/errlist.c:1125 -#: stdio-common/../sysdeps/unix/sysv/sysv4/solaris2/sparc/errlist.c:70 -msgid "Level 3 reset" -msgstr "Nivel 3 restablecido" +#: nis/nis_print.c:372 +#, c-format +msgid "Status : %s\n" +msgstr "Estado : %s\n" -#: stdio-common/../sysdeps/gnu/errlist.c:1133 -#: stdio-common/../sysdeps/unix/sysv/sysv4/solaris2/sparc/errlist.c:71 -msgid "Link number out of range" -msgstr "Número de enlace fuera de rango" +#: nis/nis_print.c:373 +#, c-format +msgid "Number of objects : %u\n" +msgstr "Número de objetos : %u\n" -#: stdio-common/../sysdeps/gnu/errlist.c:1141 -#: stdio-common/../sysdeps/unix/sysv/sysv4/solaris2/sparc/errlist.c:72 -msgid "Protocol driver not attached" -msgstr "Protocolo no disponible" +# Tal vez habrÃa que poner núm en vez de #. sv +#: nis/nis_print.c:377 +#, c-format +msgid "Object #%d:\n" +msgstr "Objeto #%d:\n" -# FIXME: ¿No sería más bien CSI structures? -#: stdio-common/../sysdeps/gnu/errlist.c:1149 -#: stdio-common/../sysdeps/unix/sysv/sysv4/solaris2/sparc/errlist.c:73 -msgid "No CSI structure available" -msgstr "No quedan estructuras CSI disponibles" +#: nis/nis_print_group_entry.c:117 +#, c-format +msgid "Group entry for \"%s.%s\" group:\n" +msgstr "Entrada de grupo para el grupo \"%s.%s\"\n" -#: stdio-common/../sysdeps/gnu/errlist.c:1157 -#: stdio-common/../sysdeps/unix/sysv/sysv4/solaris2/sparc/errlist.c:74 -msgid "Level 2 halted" -msgstr "Nivel 2 detenido" +#: nis/nis_print_group_entry.c:125 +msgid " Explicit members:\n" +msgstr " Miembros explÃcitos:\n" -#: stdio-common/../sysdeps/gnu/errlist.c:1165 -msgid "Invalid exchange" -msgstr "Intercambio inválido" +#: nis/nis_print_group_entry.c:130 +msgid " No explicit members\n" +msgstr " No hay ningún miembro explÃcito\n" -#: stdio-common/../sysdeps/gnu/errlist.c:1173 -msgid "Invalid request descriptor" -msgstr "El descriptor de fichero solicitado es erróneo" +#: nis/nis_print_group_entry.c:133 +msgid " Implicit members:\n" +msgstr " Miembros implÃcitos:\n" -# FUZZY em+ -#: stdio-common/../sysdeps/gnu/errlist.c:1181 -msgid "Exchange full" -msgstr "Intercambio lleno" +#: nis/nis_print_group_entry.c:138 +msgid " No implicit members\n" +msgstr " No hay ningún miembro implÃcito\n" -# FUZZY -# anode o catode :), qué diablos ? em+ -# -# Pongo esto provisionalmente, en electricidad se usan los términos -# ánodo y cátodo para los polos positivo y negativo, pero no sé -# si esto será lo mismo. -# De cualquier forma, mantengo el FUZZY por si sale algo mejor. sv+ -#: stdio-common/../sysdeps/gnu/errlist.c:1189 -msgid "No anode" -msgstr "No hay ningún ánodo" +#: nis/nis_print_group_entry.c:141 +msgid " Recursive members:\n" +msgstr " Miembros recursivos:\n" -#: stdio-common/../sysdeps/gnu/errlist.c:1197 -msgid "Invalid request code" -msgstr "Código de petición incorrecto" +#: nis/nis_print_group_entry.c:146 +msgid " No recursive members\n" +msgstr " No hay ningún miembro recursivo\n" -# ¿Ranura no válida?, creo que no hay traducción para slot :) em+ -# Antes: `slot' incorrecto -#: stdio-common/../sysdeps/gnu/errlist.c:1205 -#: stdio-common/../sysdeps/unix/sysv/sysv4/solaris2/sparc/errlist.c:85 -msgid "Invalid slot" -msgstr "Ranura inválida" +#: nis/nis_print_group_entry.c:149 +msgid " Explicit nonmembers:\n" +msgstr " No-miembros explÃcitos:\n" -# FUZZY em+ -#: stdio-common/../sysdeps/gnu/errlist.c:1213 -msgid "File locking deadlock error" -msgstr "error `deadlock' de bloqueo de ficheros" +#: nis/nis_print_group_entry.c:154 +msgid " No explicit nonmembers\n" +msgstr " No hay ningún no-miembro explÃcito\n" -#: stdio-common/../sysdeps/gnu/errlist.c:1221 -#: stdio-common/../sysdeps/unix/sysv/sysv4/solaris2/sparc/errlist.c:87 -msgid "Bad font file format" -msgstr "Formato de fichero fuente incorrecto" +#: nis/nis_print_group_entry.c:157 +msgid " Implicit nonmembers:\n" +msgstr " No-miembros implÃcitos:\n" -#: stdio-common/../sysdeps/gnu/errlist.c:1229 -#: stdio-common/../sysdeps/unix/sysv/sysv4/solaris2/sparc/errlist.c:94 -msgid "Machine is not on the network" -msgstr "La máquina no está en red" +#: nis/nis_print_group_entry.c:162 +msgid " No implicit nonmembers\n" +msgstr " No hay ningún no-miembro implÃcito\n" -#: stdio-common/../sysdeps/gnu/errlist.c:1237 -#: stdio-common/../sysdeps/unix/sysv/sysv4/solaris2/sparc/errlist.c:95 -msgid "Package not installed" -msgstr "El paquete no está instalado" +#: nis/nis_print_group_entry.c:165 +msgid " Recursive nonmembers:\n" +msgstr " No miembros recursivos:\n" -# FUZZY -# Lo dejo fuzzy aposta, a ver qué se os ocurre em+ -# Pues mira, advertencia es warning, advertise es anunciar. -# De momento lo cambio. sv -#: stdio-common/../sysdeps/gnu/errlist.c:1245 -#: stdio-common/../sysdeps/unix/sysv/sysv4/solaris2/sparc/errlist.c:98 -msgid "Advertise error" -msgstr "Error de anuncio" +#: nis/nis_print_group_entry.c:170 +msgid " No recursive nonmembers\n" +msgstr " No hay ningún no miembro recursivo\n" -#: stdio-common/../sysdeps/gnu/errlist.c:1253 -#: stdio-common/../sysdeps/unix/sysv/sysv4/solaris2/sparc/errlist.c:99 -msgid "Srmount error" -msgstr "Error de `srmount'" +#: 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 "La entrada DES para el nombre %s no es única\n" -#: stdio-common/../sysdeps/gnu/errlist.c:1261 -#: stdio-common/../sysdeps/unix/sysv/sysv4/solaris2/sparc/errlist.c:100 -msgid "Communication error on send" -msgstr "Error de comunicación al enviar" +#: nis/nss_nisplus/nisplus-publickey.c:220 +#, c-format +msgid "netname2user: missing group id list in `%s'" +msgstr "netname2user: falta la lista de ids de grupo en `%s'" -#: stdio-common/../sysdeps/gnu/errlist.c:1269 -msgid "RFS specific error" -msgstr "error específico de RFS" +#: nis/nss_nisplus/nisplus-publickey.c:302 +#: nis/nss_nisplus/nisplus-publickey.c:308 +#: nis/nss_nisplus/nisplus-publickey.c:373 +#: nis/nss_nisplus/nisplus-publickey.c:382 +#, c-format +msgid "netname2user: (nis+ lookup): %s\n" +msgstr "netname2user: (búsqueda nis+): %s\n" -#: stdio-common/../sysdeps/gnu/errlist.c:1277 -#: stdio-common/../sysdeps/unix/sysv/sysv4/solaris2/sparc/errlist.c:110 -msgid "Name not unique on network" -msgstr "El nombre no es único en la red" +#: nis/nss_nisplus/nisplus-publickey.c:321 +#, c-format +msgid "netname2user: DES entry for %s in directory %s not unique" +msgstr "netname2user: la entrada DES para %s en el directorio %s no es única" -#: stdio-common/../sysdeps/gnu/errlist.c:1285 -#: stdio-common/../sysdeps/unix/sysv/sysv4/solaris2/sparc/errlist.c:111 -msgid "File descriptor in bad state" -msgstr "Descriptor de fichero en mal estado" +#: nis/nss_nisplus/nisplus-publickey.c:339 +#, c-format +msgid "netname2user: principal name `%s' too long" +msgstr "netname2user: el nombre principal `%s' es demasiado largo" -#: stdio-common/../sysdeps/gnu/errlist.c:1293 -#: stdio-common/../sysdeps/unix/sysv/sysv4/solaris2/sparc/errlist.c:112 -msgid "Remote address changed" -msgstr "La dirección remota ha cambiado" +#: nis/nss_nisplus/nisplus-publickey.c:395 +#, c-format +msgid "netname2user: LOCAL entry for %s in directory %s not unique" +msgstr "netname2user: la entrada LOCAL para %s en el directorio %s no es única" -#: stdio-common/../sysdeps/gnu/errlist.c:1301 -#: stdio-common/../sysdeps/unix/sysv/sysv4/solaris2/sparc/errlist.c:113 -msgid "Can not access a needed shared library" -msgstr "No se puede acceder a una biblioteca compartida necesaria" +#: nis/nss_nisplus/nisplus-publickey.c:402 +msgid "netname2user: should not have uid 0" +msgstr "netname2user: no deberÃa tener uid 0" -#: stdio-common/../sysdeps/gnu/errlist.c:1309 -#: stdio-common/../sysdeps/unix/sysv/sysv4/solaris2/sparc/errlist.c:114 -msgid "Accessing a corrupted shared library" -msgstr "Accediendo a una biblioteca compartida que está corrompida" +#: nis/ypclnt.c:836 +msgid "Request arguments bad" +msgstr "Los argumentos de la petición son incorrectos" -#: stdio-common/../sysdeps/gnu/errlist.c:1317 -#: stdio-common/../sysdeps/unix/sysv/sysv4/solaris2/sparc/errlist.c:115 -msgid ".lib section in a.out corrupted" -msgstr "la sección .lib en el a.out está corrompida" +#: nis/ypclnt.c:839 +msgid "RPC failure on NIS operation" +msgstr "Fallo RPC en una operación NIS" -# Suggestion: "enlazar demasiadas bibliotecas en el ejecutable" -# "link in" es verbo transitivo. --jtobey@channel1.com -# Muy bien, me como lo del ejecutable para no alargar demasiado -# el mensaje, pues creo que por el contexto el usuario sabrá a qué -# se refiere. De paso, lo pongo en pasado (se intentaron) porque -# es un error sobre algo que ya ha ocurrido (el intento fallido). sv -#: stdio-common/../sysdeps/gnu/errlist.c:1325 -msgid "Attempting to link in too many shared libraries" -msgstr "Se intentaron enlazar demasiadas bibliotecas compartidas" +#: nis/ypclnt.c:842 +msgid "Can't bind to server which serves this domain" +msgstr "Ha fallado la llamada a bind() con el servidor que sirve a este dominio" -#: stdio-common/../sysdeps/gnu/errlist.c:1333 -msgid "Cannot exec a shared library directly" -msgstr "No se puede ejecutar una biblioteca compartida directamente" +#: nis/ypclnt.c:845 +msgid "No such map in server's domain" +msgstr "No existe esa tabla en el dominio del servidor" -# FUZZY FUZZY -# ¡ Esto no hay quien lo traduzca ! em+ -#: stdio-common/../sysdeps/gnu/errlist.c:1341 -msgid "Streams pipe error" -msgstr "Error de tubería de `streams'" +#: nis/ypclnt.c:848 +msgid "No such key in map" +msgstr "No existe esta clave en la tabla" -# FUZZY -# O me cojo otras traducciones o ando perdido em+ -#: stdio-common/../sysdeps/gnu/errlist.c:1349 -#: stdio-common/../sysdeps/unix/sysv/sysv4/solaris2/sparc/errlist.c:165 -msgid "Structure needs cleaning" -msgstr "La estructura necesita una limpieza" +#: nis/ypclnt.c:851 +msgid "Internal NIS error" +msgstr "Error interno de NIS" -#: stdio-common/../sysdeps/gnu/errlist.c:1357 -msgid "Not a XENIX named type file" -msgstr "No es un fichero XENIX del tipo `named'" +#: nis/ypclnt.c:854 +msgid "Local resource allocation failure" +msgstr "La asignación de recursos locales ha fallado" -#: stdio-common/../sysdeps/gnu/errlist.c:1365 -msgid "No XENIX semaphores available" -msgstr "No quedan semáforos XENIX disponibles" +#: nis/ypclnt.c:857 +msgid "No more records in map database" +msgstr "No hay más registros en la base de datos" -# FUZZY em+ -# ¿Será esto un `named pipe'? ¿cómo se traduce? -#: stdio-common/../sysdeps/gnu/errlist.c:1373 -msgid "Is a named type file" -msgstr "Es un fichero de tipo `named'" +#: nis/ypclnt.c:860 +msgid "Can't communicate with portmapper" +msgstr "No se puede comunicar con el asignador de puertos" -#: stdio-common/../sysdeps/gnu/errlist.c:1381 -#: stdio-common/../sysdeps/unix/sysv/sysv4/solaris2/sparc/errlist.c:170 -msgid "Remote I/O error" -msgstr "Error de E/S en la máquina remota" +#: nis/ypclnt.c:863 +msgid "Can't communicate with ypbind" +msgstr "No se puede establecer comunicación con `ypbind'" -#: stdio-common/../sysdeps/gnu/errlist.c:1389 -msgid "No medium found" -msgstr "No se ha encontrado el medio" +#: nis/ypclnt.c:866 +msgid "Can't communicate with ypserv" +msgstr "No se puede establecer comunicación con `ypserv'" -#: stdio-common/../sysdeps/gnu/errlist.c:1397 -msgid "Wrong medium type" -msgstr "Tipo de medio erróneo" +#: nis/ypclnt.c:869 +msgid "Local domain name not set" +msgstr "No se ha establecido el nombre del dominio local" -#: stdio-common/../sysdeps/unix/siglist.c:26 -msgid "Signal 0" -msgstr "Señal 0" +#: nis/ypclnt.c:872 +msgid "NIS map database is bad" +msgstr "La base de datos de la tabla NIS no es correcta" -# ???, siempre lo he usado como trap, nunca encontramos la palabra -# y es una señal estándar Unix, así que no creo conveniente traducirla -#: stdio-common/../sysdeps/unix/siglist.c:32 -msgid "IOT trap" -msgstr "`trap' de IOT" +#: nis/ypclnt.c:875 +msgid "NIS client/server version mismatch - can't supply service" +msgstr "" +"Discordancia en las versiones de NIS del cliente y el servidor.\n" +"No se puede suministrar el servicio." -#: stdio-common/../sysdeps/unix/sysv/sysv4/solaris2/sparc/errlist.c:30 -msgid "Error 0" -msgstr "Error 0" +#: nis/ypclnt.c:881 +msgid "Database is busy" +msgstr "La base de datos está ocupada" -#: stdio-common/../sysdeps/unix/sysv/sysv4/solaris2/sparc/errlist.c:31 -#: nis/nis_error.c:40 -msgid "Not owner" -msgstr "No es el propietario" +#: nis/ypclnt.c:884 +msgid "Unknown NIS error code" +msgstr "Error de NIS desconocido" -#: stdio-common/../sysdeps/unix/sysv/sysv4/solaris2/sparc/errlist.c:35 -msgid "I/O error" -msgstr "Error de E/S" +# Suggestion: Como es "internal" deberÃas poner "interno" para +# indicar que el bug está en la biblioteca y no necesariamente +# en el programa. Es lo que más importa dar a entender. Propongo +# "Error interno en ypbind" -jtobey +# De acuerdo. +# [ Antes decÃa ... la llamada a bind para el servicio de páginas amarillas ] +# Un poco demasiado explicativo. sv +#: nis/ypclnt.c:924 +msgid "Internal ypbind error" +msgstr "Error interno en ypbind" -#: stdio-common/../sysdeps/unix/sysv/sysv4/solaris2/sparc/errlist.c:37 -msgid "Arg list too long" -msgstr "La lista de argumentos es demasiado larga" +# FUZZY +#: nis/ypclnt.c:927 +msgid "Domain not bound" +msgstr "No se pudo conectar con el dominio" -#: stdio-common/../sysdeps/unix/sysv/sysv4/solaris2/sparc/errlist.c:39 -msgid "Bad file number" -msgstr "Número de fichero erróneo" +#: nis/ypclnt.c:930 +msgid "System resource allocation failure" +msgstr "Fallo en la asignación de recursos del sistema" -#: stdio-common/../sysdeps/unix/sysv/sysv4/solaris2/sparc/errlist.c:42 -msgid "Not enough space" -msgstr "No hay espacio suficiente" +#: nis/ypclnt.c:933 +msgid "Unknown ypbind error" +msgstr "Error desconocido en la llamada a `ypbind()'" -#: stdio-common/../sysdeps/unix/sysv/sysv4/solaris2/sparc/errlist.c:46 -msgid "Device busy" -msgstr "Dispositivo ocupado" +#: nis/ypclnt.c:974 +msgid "yp_update: cannot convert host to netname\n" +msgstr "yp_update: no se puede convertir el nombre del `host' a nombre de red\n" -# ??? ver esto. -#: stdio-common/../sysdeps/unix/sysv/sysv4/solaris2/sparc/errlist.c:48 -msgid "Cross-device link" -msgstr "Enlace cruzado entre dispositivos" +#: nis/ypclnt.c:992 +msgid "yp_update: cannot get server address\n" +msgstr "yp_update: no se puede encontrar la dirección del servidor\n" -# Sugerencia: Desbordamiento de fecha. (?) sv+ -#: stdio-common/../sysdeps/unix/sysv/sysv4/solaris2/sparc/errlist.c:53 -msgid "File table overflow" -msgstr "Desbordamiento de la tabla de ficheros" +#: nscd/aicache.c:83 nscd/hstcache.c:492 +#, c-format +msgid "Haven't found \"%s\" in hosts cache!" +msgstr "No se ha encontrado \"%s\" en el caché de `hosts'" -# fuentes -# Sugerencia: Argumento numérico. sv -# -#: stdio-common/../sysdeps/unix/sysv/sysv4/solaris2/sparc/errlist.c:63 -msgid "Argument out of domain" -msgstr "Argumento fuera del dominio" +#: nscd/aicache.c:85 nscd/hstcache.c:494 +#, c-format +msgid "Reloading \"%s\" in hosts cache!" +msgstr "Recargando \"%s\" en el caché de hosts" -#: stdio-common/../sysdeps/unix/sysv/sysv4/solaris2/sparc/errlist.c:64 -msgid "Result too large" -msgstr "Resultado demasiado grande" +#: nscd/cache.c:150 +#, c-format +msgid "add new entry \"%s\" of type %s for %s to cache%s" +msgstr "añade nueva entrada \"%s\" de tipo %s para %s al caché%s" -#: stdio-common/../sysdeps/unix/sysv/sysv4/solaris2/sparc/errlist.c:75 -msgid "Deadlock situation detected/avoided" -msgstr "Situación de bloqueo detectada/evitada" +#: nscd/cache.c:152 +msgid " (first)" +msgstr " (primero)" -#: stdio-common/../sysdeps/unix/sysv/sysv4/solaris2/sparc/errlist.c:76 -msgid "No record locks available" -msgstr "No hay ningún bloqueo de registro disponible" +#: nscd/cache.c:276 nscd/connections.c:861 +#, c-format +msgid "cannot stat() file `%s': %s" +msgstr "no se puede ejecutar stat() sobre el fichero `%s': %s" -# FIXME: Disc or Disk? -#: stdio-common/../sysdeps/unix/sysv/sysv4/solaris2/sparc/errlist.c:79 -msgid "Disc quota exceeded" -msgstr "Se ha excedido la cuota de disco" +#: nscd/cache.c:318 +#, c-format +msgid "pruning %s cache; time %ld" +msgstr "limpiando %s caché; tiempo %ld" -#: stdio-common/../sysdeps/unix/sysv/sysv4/solaris2/sparc/errlist.c:80 -msgid "Bad exchange descriptor" -msgstr "Descriptor de intercambio erróneo" +#: nscd/cache.c:347 +#, c-format +msgid "considering %s entry \"%s\", timeout %<PRIu64>" +msgstr "considerando la entrada %s \"%s\", tiempo lÃmite %<PRIu64>" -#: stdio-common/../sysdeps/unix/sysv/sysv4/solaris2/sparc/errlist.c:81 -msgid "Bad request descriptor" -msgstr "Descriptor de petición erróneo" +#: nscd/connections.c:565 +#, c-format +msgid "invalid persistent database file \"%s\": %s" +msgstr "fichero de base de datos persistente inválido \"%s\": %s" -#: stdio-common/../sysdeps/unix/sysv/sysv4/solaris2/sparc/errlist.c:82 -msgid "Message tables full" -msgstr "Tablas de mensajes llenas" +#: nscd/connections.c:573 +msgid "uninitialized header" +msgstr "cabecera no inicializada" -# Pregunta: ¿Qué es eso de un Anode? sv -#: stdio-common/../sysdeps/unix/sysv/sysv4/solaris2/sparc/errlist.c:83 -msgid "Anode table overflow" -msgstr "Desbordamiento de tabla de ánodos" +#: nscd/connections.c:578 +msgid "header size does not match" +msgstr "el tamaño de la cabecera no coincide" -#: stdio-common/../sysdeps/unix/sysv/sysv4/solaris2/sparc/errlist.c:84 -msgid "Bad request code" -msgstr "Código de petición erróneo" +#: nscd/connections.c:588 +msgid "file size does not match" +msgstr "el tamaño del fichero no coincide" -# FUZZY em+ -#: stdio-common/../sysdeps/unix/sysv/sysv4/solaris2/sparc/errlist.c:86 -msgid "File locking deadlock" -msgstr "`deadlock' de bloqueo de ficheros" +#: nscd/connections.c:605 +msgid "verification failed" +msgstr "falló la verificación" -#: stdio-common/../sysdeps/unix/sysv/sysv4/solaris2/sparc/errlist.c:88 -msgid "Error 58" -msgstr "Error 58" +#: nscd/connections.c:619 +#, c-format +msgid "suggested size of table for database %s larger than the persistent database's table" +msgstr "el tamaño sugerido de tabla para la base de datos %s es más grande que la tabla de la base de datos persistente" -#: stdio-common/../sysdeps/unix/sysv/sysv4/solaris2/sparc/errlist.c:89 -msgid "Error 59" -msgstr "Error 59" +#: nscd/connections.c:630 nscd/connections.c:715 +#, c-format +msgid "cannot create read-only descriptor for \"%s\"; no mmap" +msgstr "no se puede crear descriptor de sólo lectura para \"%s\"; no hay mmap" -#: stdio-common/../sysdeps/unix/sysv/sysv4/solaris2/sparc/errlist.c:90 -msgid "Not a stream device" -msgstr "No es un dispositivo de flujo" +#: nscd/connections.c:646 +#, c-format +msgid "cannot access '%s'" +msgstr "no se puede acceder a '%s'" -#: stdio-common/../sysdeps/unix/sysv/sysv4/solaris2/sparc/errlist.c:93 -msgid "Out of stream resources" -msgstr "Alcanzado el límite de recursos de `streams'" +#: nscd/connections.c:694 +#, c-format +msgid "database for %s corrupted or simultaneously used; remove %s manually if necessary and restart" +msgstr "la base de datos %s está corrupta o se está usando simultáneamente; borre %s manualmente si fuera necesario y reinicie" -#: stdio-common/../sysdeps/unix/sysv/sysv4/solaris2/sparc/errlist.c:102 -msgid "Error 72" -msgstr "Error 72" +#: nscd/connections.c:701 +#, c-format +msgid "cannot create %s; no persistent database used" +msgstr "no se puede crear %s; no se ha utilizado una base de datos persistente" -#: stdio-common/../sysdeps/unix/sysv/sysv4/solaris2/sparc/errlist.c:103 -msgid "Error 73" -msgstr "Error 73" +#: nscd/connections.c:704 +#, c-format +msgid "cannot create %s; no sharing possible" +msgstr "no se puede crear %s; no es posible la compartición" -#: stdio-common/../sysdeps/unix/sysv/sysv4/solaris2/sparc/errlist.c:105 -msgid "Error 75" -msgstr "Error 75" +#: nscd/connections.c:775 +#, c-format +msgid "cannot write to database file %s: %s" +msgstr "no se puede escribir al fichero de datos %s: %s" -#: stdio-common/../sysdeps/unix/sysv/sysv4/solaris2/sparc/errlist.c:106 -msgid "Error 76" -msgstr "Error 76" +#: nscd/connections.c:814 +#, c-format +msgid "cannot set socket to close on exec: %s; disabling paranoia mode" +msgstr "no se puede establecer el `socket' para cerrar en ejecutación: %s; se desactiva el modo paranoia" -#: stdio-common/../sysdeps/unix/sysv/sysv4/solaris2/sparc/errlist.c:107 -msgid "Not a data message" -msgstr "No es un mensaje de datos" +#: nscd/connections.c:897 +#, c-format +msgid "cannot open socket: %s" +msgstr "no se puede abrir el `socket': %s" -#: stdio-common/../sysdeps/unix/sysv/sysv4/solaris2/sparc/errlist.c:116 -msgid "Attempting to link in more shared libraries than system limit" -msgstr "Se intentaron enlazar más bibliotecas compartidas que el límite del sistema" +#: nscd/connections.c:917 +#, c-format +msgid "cannot change socket to nonblocking mode: %s" +msgstr "no se puede cambiar el `socket' a modo no bloqueante: %s" -#: stdio-common/../sysdeps/unix/sysv/sysv4/solaris2/sparc/errlist.c:117 -msgid "Can not exec a shared library directly" -msgstr "No se puede ejecutar una biblioteca compartida directamente" +#: nscd/connections.c:925 +#, c-format +msgid "cannot set socket to close on exec: %s" +msgstr "no se puede establecer el `socket' para que se cierre en ejecución: %s" -#: stdio-common/../sysdeps/unix/sysv/sysv4/solaris2/sparc/errlist.c:118 -msgid "Illegal byte sequence" -msgstr "Sucesión de bytes ilegal" +#: nscd/connections.c:938 +#, c-format +msgid "cannot enable socket to accept connections: %s" +msgstr "no se puede activar el `socket' para aceptar conexiones: %s" -#: stdio-common/../sysdeps/unix/sysv/sysv4/solaris2/sparc/errlist.c:119 -msgid "Operation not applicable" -msgstr "Operación no aplicable" +#: nscd/connections.c:1039 +#, c-format +msgid "provide access to FD %d, for %s" +msgstr "proporciona acceso al descriptor de fichero %d, para %s" -#: stdio-common/../sysdeps/unix/sysv/sysv4/solaris2/sparc/errlist.c:120 -msgid "Number of symbolic links encountered during path name traversal exceeds MAXSYMLINKS" +#: nscd/connections.c:1051 +#, c-format +msgid "cannot handle old request version %d; current version is %d" msgstr "" -"El número de enlaces simbólicos encontrados al atravesar la ruta es mayor que\n" -"MAXSYMLINKS" - -#: stdio-common/../sysdeps/unix/sysv/sysv4/solaris2/sparc/errlist.c:121 -msgid "Error 91" -msgstr "Error 91" - -#: stdio-common/../sysdeps/unix/sysv/sysv4/solaris2/sparc/errlist.c:122 -msgid "Error 92" -msgstr "Error 92" - -#: stdio-common/../sysdeps/unix/sysv/sysv4/solaris2/sparc/errlist.c:129 -msgid "Option not supported by protocol" -msgstr "Opción no soportada por el protocolo" - -#: stdio-common/../sysdeps/unix/sysv/sysv4/solaris2/sparc/errlist.c:130 -msgid "Error 100" -msgstr "Error 100" - -#: stdio-common/../sysdeps/unix/sysv/sysv4/solaris2/sparc/errlist.c:131 -msgid "Error 101" -msgstr "Error 101" - -#: stdio-common/../sysdeps/unix/sysv/sysv4/solaris2/sparc/errlist.c:132 -msgid "Error 102" -msgstr "Error 102" - -#: stdio-common/../sysdeps/unix/sysv/sysv4/solaris2/sparc/errlist.c:133 -msgid "Error 103" -msgstr "Error 103" - -#: stdio-common/../sysdeps/unix/sysv/sysv4/solaris2/sparc/errlist.c:134 -msgid "Error 104" -msgstr "Error 104" +"no se pueden manejar peticiones de la versión %d, la versión\n" +"actual es %d" -#: stdio-common/../sysdeps/unix/sysv/sysv4/solaris2/sparc/errlist.c:135 -msgid "Error 105" -msgstr "Error 105" +#: nscd/connections.c:1073 +#, c-format +msgid "request from %ld not handled due to missing permission" +msgstr "la petición de %ld no ha sido atendida por falta de permisos" -#: stdio-common/../sysdeps/unix/sysv/sysv4/solaris2/sparc/errlist.c:136 -msgid "Error 106" -msgstr "Error 106" +#: nscd/connections.c:1078 +#, c-format +msgid "request from '%s' [%ld] not handled due to missing permission" +msgstr "la petición de '%s' [%ld] no ha sido atendida por falta de permisos" -#: stdio-common/../sysdeps/unix/sysv/sysv4/solaris2/sparc/errlist.c:137 -msgid "Error 107" -msgstr "Error 107" +#: nscd/connections.c:1083 +msgid "request not handled due to missing permission" +msgstr "la petición no ha sido atendida por falta de permisos" -#: stdio-common/../sysdeps/unix/sysv/sysv4/solaris2/sparc/errlist.c:138 -msgid "Error 108" -msgstr "Error 108" +#: nscd/connections.c:1121 nscd/connections.c:1174 +#, c-format +msgid "cannot write result: %s" +msgstr "no se puede escribir el resultado: %s" -#: stdio-common/../sysdeps/unix/sysv/sysv4/solaris2/sparc/errlist.c:139 -msgid "Error 109" -msgstr "Error 109" +#: nscd/connections.c:1257 +#, c-format +msgid "error getting caller's id: %s" +msgstr "error al obtener el id de los llamantes: %s" -#: stdio-common/../sysdeps/unix/sysv/sysv4/solaris2/sparc/errlist.c:140 -msgid "Error 110" -msgstr "Error 110" +#: nscd/connections.c:1316 +#, c-format +msgid "cannot open /proc/self/cmdline: %s; disabling paranoia mode" +msgstr "no se puede abrir /proc/self/cmdline: %s; se desactiva el modo paranoia" -#: stdio-common/../sysdeps/unix/sysv/sysv4/solaris2/sparc/errlist.c:141 -msgid "Error 111" -msgstr "Error 111" +#: nscd/connections.c:1330 +#, c-format +msgid "cannot read /proc/self/cmdline: %s; disabling paranoia mode" +msgstr "no se puede leer /proc/self/cmdline: %s; se desactiva el modo paranoia" -#: stdio-common/../sysdeps/unix/sysv/sysv4/solaris2/sparc/errlist.c:142 -msgid "Error 112" -msgstr "Error 112" +#: nscd/connections.c:1370 +#, c-format +msgid "cannot change to old UID: %s; disabling paranoia mode" +msgstr "no se puede cambiar al UID antiguo: %s; se desactiva el modo paranoia" -#: stdio-common/../sysdeps/unix/sysv/sysv4/solaris2/sparc/errlist.c:143 -msgid "Error 113" -msgstr "Error 113" +#: nscd/connections.c:1380 +#, c-format +msgid "cannot change to old GID: %s; disabling paranoia mode" +msgstr "no se puede cambiar al GID antiguo: %s; se desactiva el modo paranoia" -#: stdio-common/../sysdeps/unix/sysv/sysv4/solaris2/sparc/errlist.c:144 -msgid "Error 114" -msgstr "Error 114" +#: nscd/connections.c:1393 +#, c-format +msgid "cannot change to old working directory: %s; disabling paranoia mode" +msgstr "no se puede cambiar al directorio de trabajo antiguo: %s; se desactiva el modo paranoia" -#: stdio-common/../sysdeps/unix/sysv/sysv4/solaris2/sparc/errlist.c:145 -msgid "Error 115" -msgstr "Error 115" +#: nscd/connections.c:1439 +#, c-format +msgid "re-exec failed: %s; disabling paranoia mode" +msgstr "falló la re-ejecución: %s; se desactiva el modo paranoia" -#: stdio-common/../sysdeps/unix/sysv/sysv4/solaris2/sparc/errlist.c:146 -msgid "Error 116" -msgstr "Error 116" +#: nscd/connections.c:1448 +#, c-format +msgid "cannot change current working directory to \"/\": %s" +msgstr "no se puede cambiar el directorio de trabajo a \"/\": %s" -#: stdio-common/../sysdeps/unix/sysv/sysv4/solaris2/sparc/errlist.c:147 -msgid "Error 117" -msgstr "Error 117" +#: nscd/connections.c:1641 +#, c-format +msgid "short read while reading request: %s" +msgstr "lectura insuficiente mientras se leÃa la petición: %s" -#: stdio-common/../sysdeps/unix/sysv/sysv4/solaris2/sparc/errlist.c:148 -msgid "Error 118" -msgstr "Error 118" +#: nscd/connections.c:1674 +#, c-format +msgid "key length in request too long: %d" +msgstr "la longitud de la clave en la petición es demasiado larga: %d" -#: stdio-common/../sysdeps/unix/sysv/sysv4/solaris2/sparc/errlist.c:149 -msgid "Error 119" -msgstr "Error 119" +#: nscd/connections.c:1687 +#, c-format +msgid "short read while reading request key: %s" +msgstr "se acabaron los datos mientras se leÃa la clave de petición: %s" -#: stdio-common/../sysdeps/unix/sysv/sysv4/solaris2/sparc/errlist.c:152 -msgid "Operation not supported on transport endpoint" -msgstr "La operación no está soportada en el otro extremo de la conexión" +#: nscd/connections.c:1696 +#, c-format +msgid "handle_request: request received (Version = %d) from PID %ld" +msgstr "handle_request: petición recibida (Versión = %d) del PID %ld" -#: stdio-common/../sysdeps/unix/sysv/sysv4/solaris2/sparc/errlist.c:154 -msgid "Address family not supported by protocol family" -msgstr "Esta familia de direcciones no está soportada por la familia del protocolo" +#: nscd/connections.c:1701 +#, c-format +msgid "handle_request: request received (Version = %d)" +msgstr "handle_request: petición recibida (Versión = %d)" -#: stdio-common/../sysdeps/unix/sysv/sysv4/solaris2/sparc/errlist.c:159 -msgid "Network dropped connection because of reset" -msgstr "La conexión de red se perdió debido a su reinicialización" +#: nscd/connections.c:1901 nscd/connections.c:2099 +#, c-format +msgid "disabled inotify after read error %d" +msgstr "se desactiva `inotify' después de un error de lectura %d" -#: stdio-common/../sysdeps/unix/sysv/sysv4/solaris2/sparc/errlist.c:166 -msgid "Error 136" -msgstr "Error 136" +#: nscd/connections.c:2228 +msgid "could not initialize conditional variable" +msgstr "no se pudo inicializar la variable condicional" -#: stdio-common/../sysdeps/unix/sysv/sysv4/solaris2/sparc/errlist.c:167 -msgid "Not a name file" -msgstr "No es un fichero de tipo `name'" +#: nscd/connections.c:2236 +msgid "could not start clean-up thread; terminating" +msgstr "no se pudo iniciar el hilo de limpieza; terminando" -#: stdio-common/../sysdeps/unix/sysv/sysv4/solaris2/sparc/errlist.c:168 -msgid "Not available" -msgstr "No disponible" +#: nscd/connections.c:2250 +msgid "could not start any worker thread; terminating" +msgstr "no se pudo iniciar ningún hilo de trabajo; terminando" -# FUZZY em+ -# ¿Será esto un `named pipe'? ¿cómo se traduce? -# FIXME: ¿No será "named"? sv -#: stdio-common/../sysdeps/unix/sysv/sysv4/solaris2/sparc/errlist.c:169 -msgid "Is a name file" -msgstr "Es un fichero de tipo `name'" +#: nscd/connections.c:2301 nscd/connections.c:2302 nscd/connections.c:2319 +#: nscd/connections.c:2328 nscd/connections.c:2346 nscd/connections.c:2357 +#: nscd/connections.c:2368 +#, c-format +msgid "Failed to run nscd as user '%s'" +msgstr "Fallo al ejecutar nscd como usuario `%s'" -#: stdio-common/../sysdeps/unix/sysv/sysv4/solaris2/sparc/errlist.c:171 -msgid "Reserved for future use" -msgstr "Reservado para uso futuro" +#: nscd/connections.c:2320 +#, c-format +msgid "initial getgrouplist failed" +msgstr "falló el `getgrouplist' inicial" -#: stdio-common/../sysdeps/unix/sysv/sysv4/solaris2/sparc/errlist.c:172 -msgid "Error 142" -msgstr "Error 142" +#: nscd/connections.c:2329 +#, c-format +msgid "getgrouplist failed" +msgstr "falló `getgrouplist'" -#: stdio-common/../sysdeps/unix/sysv/sysv4/solaris2/sparc/errlist.c:173 -msgid "Cannot send after socket shutdown" -msgstr "No se puede enviar después de la destrucción del `socket'" +#: nscd/connections.c:2347 +#, c-format +msgid "setgroups failed" +msgstr "falló `setgroups'" -#: stdio-common/psignal.c:63 +#: nscd/grpcache.c:383 nscd/hstcache.c:439 nscd/initgrcache.c:406 +#: nscd/pwdcache.c:378 nscd/servicescache.c:332 #, c-format -msgid "%s%sUnknown signal %d\n" -msgstr "%s%sSeñal desconocida %d\n" +msgid "short write in %s: %s" +msgstr "escritura insuficiente en %s: %s" -#: dlfcn/dlinfo.c:51 -msgid "RTLD_SELF used in code not dynamically loaded" -msgstr "Se ha usado RTLD_SELF en una parte del código que no se cargó dinámicamente" +#: nscd/grpcache.c:428 nscd/initgrcache.c:78 +#, c-format +msgid "Haven't found \"%s\" in group cache!" +msgstr "No se ha encontrado \"%s\" en el caché de grupos" -#: dlfcn/dlinfo.c:61 -msgid "unsupported dlinfo request" -msgstr "Petición dlinfo no admitida" +#: nscd/grpcache.c:430 nscd/initgrcache.c:80 +#, c-format +msgid "Reloading \"%s\" in group cache!" +msgstr "Recargando \"%s\" en el caché de grupos" -#: malloc/mcheck.c:346 -msgid "memory is consistent, library is buggy\n" -msgstr "la memoria es consistente, la biblioteca tiene un bicho\n" +#: nscd/grpcache.c:509 +#, c-format +msgid "Invalid numeric gid \"%s\"!" +msgstr "¡gid numérico inválido \"%s\"!" -#: malloc/mcheck.c:349 -msgid "memory clobbered before allocated block\n" -msgstr "memoria alterada antes del bloque de memoria asignado\n" +#: nscd/mem.c:431 +#, c-format +msgid "freed %zu bytes in %s cache" +msgstr "se han liberado %zu bytes en la caché %s" -#: malloc/mcheck.c:352 -msgid "memory clobbered past end of allocated block\n" -msgstr "memoria alterada pasado el final del bloque de memoria asignado\n" +#: nscd/mem.c:574 +#, c-format +msgid "no more memory for database '%s'" +msgstr "no hay más memoria para la base de datos '%s'" -#: malloc/mcheck.c:355 -msgid "block freed twice\n" -msgstr "bloque liberado dos veces\n" +#: nscd/nscd.c:101 +msgid "Read configuration data from NAME" +msgstr "Lee datos de configuración de NOMBRE" -# Revisar lo de bogus. creo que es eso. -#: malloc/mcheck.c:358 -msgid "bogus mcheck_status, library is buggy\n" -msgstr "valor de mcheck_status incorrecto, la biblioteca tiene un bicho\n" +#: nscd/nscd.c:103 +msgid "Do not fork and display messages on the current tty" +msgstr "No se divide y muestra los mensajes en la terminal actual" -# Supondremos que se trata de un imperativo. sv -#: malloc/memusagestat.c:53 -msgid "Name output file" -msgstr "Nombre el fichero de salida" +#: nscd/nscd.c:104 +msgid "NUMBER" +msgstr "NÚMERO" -#: malloc/memusagestat.c:54 -msgid "Title string used in output graphic" -msgstr "Se ha utilizado una cadena de título en la gráfica de salida" +#: nscd/nscd.c:104 +msgid "Start NUMBER threads" +msgstr "Comienza NÚMERO hilos" -#: malloc/memusagestat.c:55 -msgid "Generate output linear to time (default is linear to number of function calls)" -msgstr "" -"Genera un resultado lineal en el tiempo (por omisión es lineal en el número\n" -"de llamadas a función)" +#: nscd/nscd.c:105 +msgid "Shut the server down" +msgstr "Apagar el servidor" -#: malloc/memusagestat.c:57 -msgid "Also draw graph for total memory consumption" -msgstr "Dibuja también una gráfica del total de memoria consumida" +#: nscd/nscd.c:106 +msgid "Print current configuration statistics" +msgstr "Muestra estadÃsticas sobre la configuración actual" -#: malloc/memusagestat.c:58 -msgid "make output graphic VALUE pixel wide" -msgstr "hace que la salida gráfica tenga VALOR pixels de ancho" +#: nscd/nscd.c:107 +msgid "TABLE" +msgstr "TABLA" -#: malloc/memusagestat.c:59 -msgid "make output graphic VALUE pixel high" -msgstr "hace que la salida gráfica tenga VALOR pixels de alto" +#: nscd/nscd.c:108 +msgid "Invalidate the specified cache" +msgstr "Invalida la caché especificada" -#: malloc/memusagestat.c:64 -msgid "Generate graphic from memory profiling data" -msgstr "Genera un gráfico a partir de los datos de `profiling' de memoria" +#: nscd/nscd.c:109 +msgid "TABLE,yes" +msgstr "TABLA,sÃ" -#: malloc/memusagestat.c:67 -msgid "DATAFILE [OUTFILE]" -msgstr "FICHERODEDATOS [FICHERODESALIDA]" +#: nscd/nscd.c:110 +msgid "Use separate cache for each user" +msgstr "Utiliza una caché separada para cada usuario" -#: string/strerror.c:43 posix/../sysdeps/posix/gai_strerror.c:57 -msgid "Unknown error" -msgstr "Error desconocido" +#: nscd/nscd.c:115 +msgid "Name Service Cache Daemon." +msgstr "Daemon de Caché del Servicio de Nombres." -#: string/strsignal.c:69 +#: nscd/nscd.c:147 nss/getent.c:952 nss/makedb.c:123 #, c-format -msgid "Real-time signal %d" -msgstr "Señal de tiempo real %d" +msgid "wrong number of arguments" +msgstr "número incorrecto de argumentos" -#: string/strsignal.c:73 +#: nscd/nscd.c:157 #, c-format -msgid "Unknown signal %d" -msgstr "Señal desconocida %d" +msgid "failure while reading configuration file; this is fatal" +msgstr "fallo al leer el fichero de configuración; este error es fatal" -#: timezone/zdump.c:176 +#: nscd/nscd.c:166 #, c-format -msgid "%s: usage is %s [ --version ] [ -v ] [ -c cutoff ] zonename ...\n" -msgstr "%s: el modo de empleo es %s [ --version ] [ -v ] [ -c cutoff ] nombrezona ...\n" +msgid "already running" +msgstr "ya está funcionando" -#: timezone/zdump.c:269 -msgid "Error writing to standard output" -msgstr "Error al escribir en la salida estándar" +#: nscd/nscd.c:181 nscd/nscd.c:236 +#, c-format +msgid "cannot fork" +msgstr "no se puede hacer `fork'" -#: timezone/zic.c:361 +#: nscd/nscd.c:244 #, c-format -msgid "%s: Memory exhausted: %s\n" -msgstr "%s: Memoria agotada: %s\n" +msgid "cannot change current working directory to \"/\"" +msgstr "no se puede cambiar el directorio de trabajo a \"/\"" -#: timezone/zic.c:386 misc/error.c:129 misc/error.c:157 -msgid "Unknown system error" -msgstr "Error del sistema desconocido" +#: nscd/nscd.c:252 +msgid "Could not create log file" +msgstr "No se pudo crear el fichero de registro" -#: timezone/zic.c:420 +#: nscd/nscd.c:305 nscd/nscd.c:330 nscd/nscd_stat.c:174 #, c-format -msgid "\"%s\", line %d: %s" -msgstr "\"%s\", línea %d: %s" +msgid "Only root is allowed to use this option!" +msgstr "Solamente root puede usar esta opción" -#: timezone/zic.c:423 +#: nscd/nscd.c:345 #, c-format -msgid " (rule from \"%s\", line %d)" -msgstr " (regla desde \"%s\", línea %d)" - -#: timezone/zic.c:435 -msgid "warning: " -msgstr "atención: " +msgid "'%s' is not a known database" +msgstr "'%s' no es una base de datos conocida" -# FIXME: Decir al autor que no use tabs. sv -#: timezone/zic.c:445 +#: nscd/nscd.c:370 nscd/nscd_stat.c:193 #, c-format -msgid "" -"%s: usage is %s [ --version ] [ -s ] [ -v ] [ -l localtime ] [ -p posixrules ] \\\n" -"\t[ -d directory ] [ -L leapseconds ] [ -y yearistype ] [ filename ... ]\n" -msgstr "" -"%s: el modo de empleo es %s [ --version ] [ -s ] [ -v ] [ -l hora_local ] [ -p reglasposix ] \\\n" -" [ -d directorio ] [ -L segundos_intercalares ] [ -y tipoaño ] [ fichero ... ]\n" +msgid "write incomplete" +msgstr "escritura incompleta" -#: timezone/zic.c:492 +#: nscd/nscd.c:381 #, c-format -msgid "%s: More than one -d option specified\n" -msgstr "%s: La opción -d se ha especificado más de una vez\n" +msgid "cannot read invalidate ACK" +msgstr "no se puede leer el ACK de invalidación" -#: timezone/zic.c:502 +#: nscd/nscd.c:387 #, c-format -msgid "%s: More than one -l option specified\n" -msgstr "%s: La opción -l se ha especificado más de una vez\n" +msgid "invalidation failed" +msgstr "fallo en la invalidación" -#: timezone/zic.c:512 +#: nscd/nscd.c:397 #, c-format -msgid "%s: More than one -p option specified\n" -msgstr "%s: La opción -p se ha especificado más de una vez\n" +msgid "secure services not implemented anymore" +msgstr "los servicios seguros ya no están implementados" -#: timezone/zic.c:522 +#: nscd/nscd_conf.c:57 #, c-format -msgid "%s: More than one -y option specified\n" -msgstr "%s: La opción -y se ha especificado más de una vez\n" +msgid "database %s is not supported" +msgstr "la base de datos %s no está soportada" -#: timezone/zic.c:532 +#: nscd/nscd_conf.c:108 #, c-format -msgid "%s: More than one -L option specified\n" -msgstr "%s: La opción -L se ha especificado más de una vez\n" +msgid "Parse error: %s" +msgstr "Error de análisis: %s" -#: timezone/zic.c:639 +#: nscd/nscd_conf.c:194 #, c-format -msgid "%s: Can't unlink %s: %s\n" -msgstr "%s: No se puede borrar %s: %s\n" - -#: timezone/zic.c:646 -msgid "hard link failed, symbolic link used" -msgstr "el enlace duro falló, se usará un enlace simbólico" +msgid "Must specify user name for server-user option" +msgstr "Debe especificar un nombre de usuario para la opción `server-user'" -#: timezone/zic.c:654 +#: nscd/nscd_conf.c:201 #, c-format -msgid "%s: Can't link from %s to %s: %s\n" -msgstr "%s: No se pudo crear un enlace de %s a %s: %s\n" - -#: timezone/zic.c:752 timezone/zic.c:754 -msgid "same rule name in multiple files" -msgstr "mismo nombre de regla en varios ficheros" - -#: timezone/zic.c:795 -msgid "unruly zone" -msgstr "zona sin reglas" +msgid "Must specify user name for stat-user option" +msgstr "Debe especificar un nombre de usuario para la opción `stat-user'" -#: timezone/zic.c:802 +# Ãdem. 1984. +#: nscd/nscd_conf.c:245 #, c-format -msgid "%s in ruleless zone" -msgstr "%s en una zona sin reglas" - -#: timezone/zic.c:823 -msgid "standard input" -msgstr "entrada estándar" +msgid "invalid value for 'reload-count': %u" +msgstr "valor inválido para 'reload-count': %u" -#: timezone/zic.c:828 +#: nscd/nscd_conf.c:260 #, c-format -msgid "%s: Can't open %s: %s\n" -msgstr "%s: No se puede abrir %s: %s\n" - -#: timezone/zic.c:839 -msgid "line too long" -msgstr "línea demasiado larga" - -#: timezone/zic.c:859 -msgid "input line of unknown type" -msgstr "línea de entrada de tipo desconocido" +msgid "Must specify value for restart-interval option" +msgstr "Debe especificar un valor para la opción `restart-interval'" -# ¿¿cómo se dirá eso??, pregunto en spanglish -# -# diría que la porción "de años bisiestos" sobra. sv -# -# Mejor dejarlo bien clarito. Después de haberme enterado de -# qué diablos era eso ;) -# -# En ningún sitio dice que la línea de ajuste sea "de años bisiestos" -# Si pones algo que no viene en el original puedes acabar cambiando -# el sentido. -# O quitas lo de "de años bisiestos" o miras el código fuente -# a ver si de verdad es un ajuste de años bisiestos o más bien de segundos -# intercalares. En cualquier caso me parece que queda más largo añadiendo -# eso. sv -# -# Otra cosa: "en un fichero que no es el de" -> "en un fichero que no es de" -# (sin "el"). Si no, da a entender que sólo puede haber uno, -# y el original no da a entender eso. sv -# -# Varias cosas, según he entendido los ajustes en segundo se llaman -# indiferentemente 'segundos intercalares' o 'segundos bisiestos' -# el ajuste en sí es un ajuste de años bisiestos ( no son exactamente -# un día ) . Por lo tanto Leap ( año bisiesto ) line, son las líneas -# que caracterizan al leap seconds file, que podríamos llamarlo fichero -# de ajuste de años bisiestos, fichero intercalar o incluso bisiestifile -# De todas maneras creo que lo cambio, este mensaje, si alguna vez tengo -# la mala suerte de que me aparezca, me acoxonaría, tal y como está -# redactado -# Segundo, según he visto en la documentación, sólo existe un fichero -# de leap lines, por eso pongo 'el'... em+ -# -#: timezone/zic.c:875 +#: nscd/nscd_conf.c:274 #, c-format -msgid "%s: Leap line in non leap seconds file %s\n" -msgstr "" -"%s: Línea de segundos intercalares en un fichero que no es el de\n" -"ajuste de años bisiestos %s\n" +msgid "Unknown option: %s %s %s" +msgstr "Opción desconocida: %s %s %s" -# Ídem. 1984. -#: timezone/zic.c:882 timezone/zic.c:1297 timezone/zic.c:1322 +#: nscd/nscd_conf.c:287 #, c-format -msgid "%s: panic: Invalid l_value %d\n" -msgstr "%s: grave: valor_l %d inválido\n" +msgid "cannot get current working directory: %s; disabling paranoia mode" +msgstr "no se puede obtener el directorio actual: %s; se desactiva el modo paranoia" -#: timezone/zic.c:890 +#: nscd/nscd_conf.c:307 #, c-format -msgid "%s: Error reading %s\n" -msgstr "%s: Error al leer %s\n" +msgid "maximum file size for %s database too small" +msgstr "el tamaño máximo de fichero para la base de datos %s es demasiado pequeño" -#: timezone/zic.c:897 +#: nscd/nscd_stat.c:143 #, c-format -msgid "%s: Error closing %s: %s\n" -msgstr "%s: Error al cerrar %s: %s\n" - -#: timezone/zic.c:902 -msgid "expected continuation line not found" -msgstr "la línea de continuación esperada no se encuentra" - -#: timezone/zic.c:958 -msgid "wrong number of fields on Rule line" -msgstr "número incorrecto de argumentos en la línea de regla (Rule)" - -#: timezone/zic.c:962 -msgid "nameless rule" -msgstr "regla sin nombre" +msgid "cannot write statistics: %s" +msgstr "no se pueden escribir las estadÃsticas: %s" -#: timezone/zic.c:967 -msgid "invalid saved time" -msgstr "la hora almacenada no es válida" +#: nscd/nscd_stat.c:158 +msgid "yes" +msgstr "sÃ" -#: timezone/zic.c:986 -msgid "wrong number of fields on Zone line" -msgstr "número de campos incorrecto en la línea de zona (Zone)" +#: nscd/nscd_stat.c:159 +msgid "no" +msgstr "no" -#: timezone/zic.c:992 +#: nscd/nscd_stat.c:170 #, c-format -msgid "\"Zone %s\" line and -l option are mutually exclusive" -msgstr "la línea \"Zone %s\" y la opción -l son mutuamente excluyentes" +msgid "Only root or %s is allowed to use this option!" +msgstr "Solamente root o %s puede usar esta opción" -#: timezone/zic.c:1000 +#: nscd/nscd_stat.c:181 #, c-format -msgid "\"Zone %s\" line and -p option are mutually exclusive" -msgstr "la línea \"Zone %s\" y la opción -p son mutuamente excluyentes" +msgid "nscd not running!\n" +msgstr "nscd no está en ejecución\n" -#: timezone/zic.c:1012 +#: nscd/nscd_stat.c:205 #, c-format -msgid "duplicate zone name %s (file \"%s\", line %d)" -msgstr "nombre de zona %s duplicado (fichero \"%s\", línea %d)" - -#: timezone/zic.c:1028 -msgid "wrong number of fields on Zone continuation line" -msgstr "número de campos incorrecto en la línea de continuación de zona (Zone)" - -#: timezone/zic.c:1068 -msgid "invalid UTC offset" -msgstr "desplazamiento UTC inválido" - -#: timezone/zic.c:1071 -msgid "invalid abbreviation format" -msgstr "formato de abreviatura incorrecto" +msgid "cannot read statistics data" +msgstr "no se pueden leer los datos de estadÃstica" -# VER -#: timezone/zic.c:1097 -msgid "Zone continuation line end time is not after end time of previous line" +#: nscd/nscd_stat.c:208 +#, c-format +msgid "" +"nscd configuration:\n" +"\n" +"%15d server debug level\n" msgstr "" -"La línea de continuación de la zona no está después del tiempo de final\n" -"de la línea anterior" - -# En todas estas, yo pondría "número incorrecto de campos", -# "número incorrecto de argumentos", etc. -# creo que quedaría mucho mejor. sv -# La mitad como tú dices, y la mitad como yo em -# -# Eso es que te da igual... -# O es mejor como digo, o no es mejor. -# Si es mejor, ponlo en todos los sitios. Y si no, en ninguno. -# Yo creo que es mucho mejor poner "número incorrecto ..." -# Si no, queda como "al revés". sv+ -#: timezone/zic.c:1124 -msgid "wrong number of fields on Leap line" -msgstr "número incorrecto de campos en la línea de bisiesto (Leap)" - -#: timezone/zic.c:1133 -msgid "invalid leaping year" -msgstr "año bisiesto inválido" - -#: timezone/zic.c:1148 timezone/zic.c:1252 -msgid "invalid month name" -msgstr "nombre de mes incorrecto" - -#: timezone/zic.c:1161 timezone/zic.c:1374 timezone/zic.c:1388 -msgid "invalid day of month" -msgstr "día del mes inválido" +"configuración nscd:\n" +"\n" +"%15d nivel de depuración del servidor\n" -#: timezone/zic.c:1166 -msgid "time before zero" -msgstr "hora antes de cero" +#: nscd/nscd_stat.c:232 +#, c-format +msgid "%3ud %2uh %2um %2lus server runtime\n" +msgstr "%3ud %2uh %2um %2lus tiempo de funcionamiento del servidor\n" -#: timezone/zic.c:1170 -msgid "time too small" -msgstr "tiempo demasiado pequeño" +#: nscd/nscd_stat.c:235 +#, c-format +msgid " %2uh %2um %2lus server runtime\n" +msgstr " %2uh %2um %2lus tiempo de funcionamiento del servidor\n" -#: timezone/zic.c:1174 -msgid "time too large" -msgstr "tiempo demasiado grande" +#: nscd/nscd_stat.c:237 +#, c-format +msgid " %2um %2lus server runtime\n" +msgstr " %2um %2lus tiempo de funcionamiento del servidor\n" -#: timezone/zic.c:1178 timezone/zic.c:1281 -msgid "invalid time of day" -msgstr "hora del día inválida" +#: nscd/nscd_stat.c:239 +#, c-format +msgid " %2lus server runtime\n" +msgstr " %2lus tiempo de funcionamiento del servidor\n" -#: timezone/zic.c:1197 -msgid "illegal CORRECTION field on Leap line" -msgstr "El campo CORRECTION en la línea de año bisiesto es ilegal" +#: nscd/nscd_stat.c:241 +#, c-format +msgid "" +"%15d current number of threads\n" +"%15d maximum number of threads\n" +"%15lu number of times clients had to wait\n" +"%15s paranoia mode enabled\n" +"%15lu restart internal\n" +"%15u reload count\n" +msgstr "" +"%15d número actual de hilos\n" +"%15d número máximo de hilos\n" +"%15lu número de veces que los clientes tuvieron que esperar\n" +"%15s modo paranoia activado\n" +"%15lu reinicio interno\n" +"%15u recarga contadores\n" -#: timezone/zic.c:1201 -msgid "illegal Rolling/Stationary field on Leap line" -msgstr "Campo Rolling/Stationary ilegal en la línea de año bisiesto" +#: nscd/nscd_stat.c:276 +#, c-format +msgid "" +"\n" +"%s cache:\n" +"\n" +"%15s cache is enabled\n" +"%15s cache is persistent\n" +"%15s cache is shared\n" +"%15zu suggested size\n" +"%15zu total data pool size\n" +"%15zu used data pool size\n" +"%15lu seconds time to live for positive entries\n" +"%15lu seconds time to live for negative entries\n" +"%15<PRIuMAX> cache hits on positive entries\n" +"%15<PRIuMAX> cache hits on negative entries\n" +"%15<PRIuMAX> cache misses on positive entries\n" +"%15<PRIuMAX> cache misses on negative entries\n" +"%15lu%% cache hit rate\n" +"%15zu current number of cached values\n" +"%15zu maximum number of cached values\n" +"%15zu maximum chain length searched\n" +"%15<PRIuMAX> number of delays on rdlock\n" +"%15<PRIuMAX> number of delays on wrlock\n" +"%15<PRIuMAX> memory allocations failed\n" +"%15s check /etc/%s for changes\n" +msgstr "" +"\n" +"%s caché:\n" +"\n" +"%15s caché activado\n" +"%15s caché persistente\n" +"%15s caché compartido\n" +"%15zu tamaño sugerido\n" +"%15zu tamaño total del almacén de datos\n" +"%15zu tamaño usado del almacén de datos\n" +"%15lu segundos de vida para las entradas positivas\n" +"%15lu segundos de vida para las entradas negativas\n" +"%15<PRIuMAX> aciertos de caché en las entradas positivas\n" +"%15<PRIuMAX> aciertos de caché en las entradas negativas\n" +"%15<PRIuMAX> fallos de caché en las entradas positivas\n" +"%15<PRIuMAX> fallos de caché en las entradas negativas\n" +"%15lu%% tasa de aciertos de caché\n" +"%15zu número actual de valores en caché\n" +"%15zu número máximo de valores en caché\n" +"%15zu longitud maxima de la cadena buscada\n" +"%15<PRIuMAX> número de retardos en rdlock\n" +"%15<PRIuMAX> número de retardos en wrlock\n" +"%15<PRIuMAX> fallos de asignación de memoria\n" +"%15s compruebe /etc/%s para cambios\n" -#: timezone/zic.c:1216 -msgid "wrong number of fields on Link line" -msgstr "número incorrecto de campos en la línea de enlace (Link)" +#: nscd/pwdcache.c:423 +#, c-format +msgid "Haven't found \"%s\" in password cache!" +msgstr "No se ha encontrado \"%s\" en el caché de contraseñas" -#: timezone/zic.c:1220 -msgid "blank FROM field on Link line" -msgstr "Campo FROM vacío en la línea `Link'" +#: nscd/pwdcache.c:425 +#, c-format +msgid "Reloading \"%s\" in password cache!" +msgstr "Recargando \"%s\" en el caché de contraseñas" -#: timezone/zic.c:1224 -msgid "blank TO field on Link line" -msgstr "Campo TO vacío en la línea `Link'" +#: nscd/pwdcache.c:506 +#, c-format +msgid "Invalid numeric uid \"%s\"!" +msgstr "¡uid numérico inválido \"%s\"!" -#: timezone/zic.c:1301 -msgid "invalid starting year" -msgstr "año de comienzo inválido" +#: nscd/selinux.c:156 +#, c-format +msgid "Failed opening connection to the audit subsystem: %m" +msgstr "Fallo al abrir la conexión al subsistema de auditorÃa: %m" -#: timezone/zic.c:1305 -msgid "starting year too low to be represented" -msgstr "el año de comienzo es demasiado bajo para ser representado" +#: nscd/selinux.c:177 +msgid "Failed to set keep-capabilities" +msgstr "Fallo al establecer las capacidades que se mantienen" -#: timezone/zic.c:1307 -msgid "starting year too high to be represented" -msgstr "el año de comienzo es demasiado alto para ser representado" +#: nscd/selinux.c:178 nscd/selinux.c:241 +#, c-format +msgid "prctl(KEEPCAPS) failed" +msgstr "Falló prctl(KEEPCAPS)" -#: timezone/zic.c:1326 -msgid "invalid ending year" -msgstr "año de final inválido" +#: nscd/selinux.c:192 +msgid "Failed to initialize drop of capabilities" +msgstr "Fallo al inicializar el abandono de capacidades" -#: timezone/zic.c:1330 -msgid "ending year too low to be represented" -msgstr "el año de final es demasiado bajo para ser representado" +# ## Lo mismo con lstat. sv +# Antes decÃa: No se pudo obtener información (lstat) del fichero .rhosts +#: nscd/selinux.c:193 +#, c-format +msgid "cap_init failed" +msgstr "cap_init ha fallado" -#: timezone/zic.c:1332 -msgid "ending year too high to be represented" -msgstr "el año de final es demasiado alto para ser representado" +#: nscd/selinux.c:214 nscd/selinux.c:231 +msgid "Failed to drop capabilities" +msgstr "Fallo al abandonar capacidades" -#: timezone/zic.c:1335 -msgid "starting year greater than ending year" -msgstr "año de comienzo mayor que año de final" +#: nscd/selinux.c:215 nscd/selinux.c:232 +#, c-format +msgid "cap_set_proc failed" +msgstr "cap_set_proc ha fallado" -#: timezone/zic.c:1342 -msgid "typed single year" -msgstr "tecleado un único año" +#: nscd/selinux.c:240 +msgid "Failed to unset keep-capabilities" +msgstr "Fallo al desactivar las capacidades que se mantienen" -#: timezone/zic.c:1379 -msgid "invalid weekday name" -msgstr "nombre del día de la semana incorrecto" +#: nscd/selinux.c:256 +msgid "Failed to determine if kernel supports SELinux" +msgstr "Fallo al determinar si el núcleo admite SELinux" -#: timezone/zic.c:1494 +#: nscd/selinux.c:271 #, c-format -msgid "%s: Can't remove %s: %s\n" -msgstr "%s: No se puede eliminar %s: %s\n" +msgid "Failed to start AVC thread" +msgstr "Fallo al iniciar hilo AVC" -#: timezone/zic.c:1504 +#: nscd/selinux.c:293 #, c-format -msgid "%s: Can't create %s: %s\n" -msgstr "%s: No se puede crear %s: %s\n" +msgid "Failed to create AVC lock" +msgstr "Fallo al crear bloqueo AVC" -#: timezone/zic.c:1570 +#: nscd/selinux.c:333 #, c-format -msgid "%s: Error writing %s\n" -msgstr "%s: Error al escribir %s\n" - -# FUZZY -#: timezone/zic.c:1760 -msgid "can't determine time zone abbreviation to use just after until time" -msgstr "" -"No se puede determinar la abreviación de zona horaria que se usará justo\n" -"después" +msgid "Failed to start AVC" +msgstr "Fallo al iniciar AVC" -#: timezone/zic.c:1803 -msgid "too many transitions?!" -msgstr "¡¿demasiadas transiciones?!" +#: nscd/selinux.c:335 +msgid "Access Vector Cache (AVC) started" +msgstr "Access Vector Cache (AVC) iniciado" -#: timezone/zic.c:1822 -msgid "internal error - addtype called with bad isdst" -msgstr "error interno - se llamó a `addtype' con un `isdst' erróneo" +#: nscd/selinux.c:356 +msgid "Error getting context of socket peer" +msgstr "Error al obtener el contexto del `socket' remoto" -#: timezone/zic.c:1826 -msgid "internal error - addtype called with bad ttisstd" -msgstr "error interno - se llamó a `addtype' con un `ttisstd' erróneo" +#: nscd/selinux.c:361 +msgid "Error getting context of nscd" +msgstr "Error al obtener el contexto de nscd" -#: timezone/zic.c:1830 -msgid "internal error - addtype called with bad ttisgmt" -msgstr "error interno - se llamó a `addtype' con un `ttisgmt' erróneo" +#: nscd/selinux.c:367 +msgid "Error getting sid from context" +msgstr "Error al obtener sid del contexto" -#: timezone/zic.c:1849 -msgid "too many local time types" -msgstr "demasiados tipos de hora local" +#: nscd/selinux.c:374 +msgid "compile-time support for database policy missing" +msgstr "falta el soporte de tiempo de compilación para la base de datos de polÃticas" -#: timezone/zic.c:1877 -msgid "too many leap seconds" -msgstr "demasiados segundos intercalares" - -#: timezone/zic.c:1883 -msgid "repeated leap second moment" -msgstr "segundo intercalar repetido" - -# # Otra opción, resultado incongruente al ejecutar la orden em -#: timezone/zic.c:1935 -msgid "Wild result from command execution" -msgstr "Resultado salvaje en la ejecución de la orden" +#: nscd/selinux.c:407 +#, c-format +msgid "" +"\n" +"SELinux AVC Statistics:\n" +"\n" +"%15u entry lookups\n" +"%15u entry hits\n" +"%15u entry misses\n" +"%15u entry discards\n" +"%15u CAV lookups\n" +"%15u CAV hits\n" +"%15u CAV probes\n" +"%15u CAV misses\n" +msgstr "" +"\n" +"EstadÃsticas de AVC de SELinux:\n" +"\n" +"%15u búsquedas de entradas\n" +"%15u aciertos de entrada\n" +"%15u fallos de entrada\n" +"%15u entradas descartadas\n" +"%15u búsquedas de CAV\n" +"%15u aciertos de CAV\n" +"%15u consultas de CAV\n" +"%15u fallos de CAV\n" -# FIXME: `%s' -#: timezone/zic.c:1936 +#: nscd/servicescache.c:381 #, c-format -msgid "%s: command was '%s', result was %d\n" -msgstr "%s: la orden fue `%s', el resultado fue %d\n" +msgid "Haven't found \"%s\" in services cache!" +msgstr "No se ha encontrado \"%s\" en el caché de `services'" -#: timezone/zic.c:2031 -msgid "Odd number of quotation marks" -msgstr "Número impar de comillas" +#: nscd/servicescache.c:383 +#, c-format +msgid "Reloading \"%s\" in services cache!" +msgstr "Recargando \"%s\" en el caché de services" -# Sugerencia: Desbordamiento de fecha. (?) sv+ -#: timezone/zic.c:2051 timezone/zic.c:2070 -msgid "time overflow" -msgstr "desbordamiento horario" +#: nss/getent.c:54 +msgid "database [key ...]" +msgstr "basededatos [clave ...]" -# FIXME: non leap-year -> non-leap year. -# A lo mejor si pones "veintinueve de febrero" o "29 de febrero" -# se entiende mejor. no sé. sv -# Si, estas pensando lo mismo que yo, 29 de febrero puede confundir, porque -# en el fichero pondrá 2/29 em -#: timezone/zic.c:2117 -msgid "use of 2/29 in non leap-year" -msgstr "uso de 2/29 en un año no bisiesto" +#: nss/getent.c:59 +msgid "Service configuration to be used" +msgstr "Configuración del servicio" -# ## Antes tenías: "no hay día en la regla de coincidencia de mes" sv -# Esto debe tener algo que ver con la función menopausie() em -# No se me había ocurrido... ¿Se te ocurre algo mejor, ahora que ya -# sabemos lo que quiere decir? sv -#: timezone/zic.c:2151 -msgid "no day in month matches rule" -msgstr "ningún día del mes coincide con la regla" +#: nss/getent.c:60 +msgid "disable IDN encoding" +msgstr "desactiva la codificación IDN" -#: timezone/zic.c:2175 -msgid "too many, or too long, time zone abbreviations" -msgstr "demasiadas abreviaturas de zona horaria, o demasiado largas" +#: nss/getent.c:65 +msgid "Get entries from administrative database." +msgstr "Obtiene entradas de la base de datos administrativa." -#: timezone/zic.c:2216 +#: nss/getent.c:149 nss/getent.c:479 #, c-format -msgid "%s: Can't create directory %s: %s\n" -msgstr "%s: No se puede crear el directorio %s: %s\n" +msgid "Enumeration not supported on %s\n" +msgstr "La enumeración no está soportada sobre %s\n" -#: timezone/zic.c:2238 +#: nss/getent.c:866 #, c-format -msgid "%s: %d did not sign extend correctly\n" -msgstr "%s: %d no extendió el signo correctamente\n" - -#: posix/../sysdeps/generic/wordexp.c:1797 -msgid "parameter null or not set" -msgstr "parámetro nulo o no establecido" +msgid "Unknown database name" +msgstr "Nombre de base de datos desconocido" -#: posix/../sysdeps/posix/gai_strerror.c:31 -msgid "Address family for hostname not supported" -msgstr "Esta familia de direcciones no está soportada para el `host'" +#: nss/getent.c:896 +msgid "Supported databases:\n" +msgstr "Bases de datos admitidas:\n" -#: posix/../sysdeps/posix/gai_strerror.c:32 -msgid "Temporary failure in name resolution" -msgstr "Fallo temporal en la resolución del nombre" +#: nss/getent.c:962 +#, c-format +msgid "Unknown database: %s\n" +msgstr "Base de datos desconocida: %s\n" -#: posix/../sysdeps/posix/gai_strerror.c:33 -msgid "Bad value for ai_flags" -msgstr "Valor erróneo para ai_flags" +#: nss/makedb.c:60 +msgid "Convert key to lower case" +msgstr "Convierte la clave a minúsculas" -#: posix/../sysdeps/posix/gai_strerror.c:34 -msgid "Non-recoverable failure in name resolution" -msgstr "Fallo irrecuperable en la resolución del nombre" +#: nss/makedb.c:63 +msgid "Do not print messages while building database" +msgstr "No muestra ningún mensaje mientras construye la base de datos" -#: posix/../sysdeps/posix/gai_strerror.c:35 -msgid "ai_family not supported" -msgstr "No se admite ai_familiy" +#: nss/makedb.c:65 +msgid "Print content of database file, one entry a line" +msgstr "Muestra el contenido de un fichero de base de datos, una entrada por lÃnea" -#: posix/../sysdeps/posix/gai_strerror.c:36 -msgid "Memory allocation failure" -msgstr "Fallo en la asignación de memoria" +#: nss/makedb.c:70 +msgid "Create simple DB database from textual input." +msgstr "Crea una base de datos DB simple a partir de una entrada de texto." -#: posix/../sysdeps/posix/gai_strerror.c:37 -msgid "No address associated with hostname" -msgstr "No existe ninguna dirección asociada al nombre" +#: nss/makedb.c:73 +msgid "" +"INPUT-FILE OUTPUT-FILE\n" +"-o OUTPUT-FILE INPUT-FILE\n" +"-u INPUT-FILE" +msgstr "" +"FICHERO-ENTRADA FICHERO-SALIDA\n" +"-o FICHERO-SALIDA FICHERO-ENTRADA\n" +"-u FICHERO-ENTRADA" -#: posix/../sysdeps/posix/gai_strerror.c:38 -msgid "Name or service not known" -msgstr "Nombre o servicio desconocido" +#: nss/makedb.c:142 +#, c-format +msgid "No usable database library found." +msgstr "No se ha encontrado ninguna biblioteca de base de datos utilizable." -#: posix/../sysdeps/posix/gai_strerror.c:39 -msgid "Servname not supported for ai_socktype" -msgstr "No se admite servname para ai_socktype" +#: nss/makedb.c:149 +#, c-format +msgid "cannot open database file `%s': %s" +msgstr "no se puede abrir el fichero de datos `%s': %s" -#: posix/../sysdeps/posix/gai_strerror.c:40 -msgid "ai_socktype not supported" -msgstr "No se admite ai_socktype" +#: nss/makedb.c:151 +msgid "incorrectly formatted file" +msgstr "fichero formateado incorrectamente" -#: posix/../sysdeps/posix/gai_strerror.c:41 -msgid "System error" -msgstr "Error del sistema" +#: nss/makedb.c:331 +msgid "duplicate key" +msgstr "clave duplicada" -# Vale, pero muy poco más abajo has puesto "en curso", que me parece mejor. sv -# Creo que prefiero dejar uno de cada. Se me ocurre si no cambiar el -# de abajo también. em -#: posix/../sysdeps/posix/gai_strerror.c:42 -msgid "Processing request in progress" -msgstr "Se está procesando la petición" +#: nss/makedb.c:337 +#, c-format +msgid "while writing database file" +msgstr "al escribir la base de datos" -#: posix/../sysdeps/posix/gai_strerror.c:43 -msgid "Request canceled" -msgstr "Petición cancelada" +#: nss/makedb.c:348 +#, c-format +msgid "problems while reading `%s'" +msgstr "problemas mientras se leÃa `%s'" -#: posix/../sysdeps/posix/gai_strerror.c:44 -msgid "Request not canceled" -msgstr "Petición no cancelada" +#: nss/makedb.c:368 nss/makedb.c:385 +#, c-format +msgid "while reading database" +msgstr "al leer el fichero de datos" -#: posix/../sysdeps/posix/gai_strerror.c:45 -msgid "All requests done" -msgstr "Realizadas todas las peticiones" +#: posix/getconf.c:1036 +#, c-format +msgid "Usage: %s [-v specification] variable_name [pathname]\n" +msgstr "Modo de empleo: %s [-v especificación] nombre_de_variable [ruta]\n" -#: posix/../sysdeps/posix/gai_strerror.c:46 -msgid "Interrupted by a signal" -msgstr "Interrumpido por una señal" +#: posix/getconf.c:1039 +#, c-format +msgid " %s -a [pathname]\n" +msgstr " %s -a [ruta]\n" -#: posix/getconf.c:892 +#: posix/getconf.c:1115 #, c-format -msgid "Usage: %s [-v specification] variable_name [pathname]\n" -msgstr "Modo de empleo: %s [-v especificación] nombre_de_variable [ruta]\n" +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 "" +"Modo de empleo: getconf [-v ESP] VAR\n" +" o bien: getconf [-v ESP] RUTA_VAR RUTA\n" +"\n" +"Obtiene el valor de configuración para la variable VAR, o para la\n" +"variable RUTA_VAR para la ruta RUTA. Si se especifica ESP, se dan\n" +"los valores para el entorno de compilación ESP.\n" -#: posix/getconf.c:950 +#: posix/getconf.c:1173 #, c-format msgid "unknown specification \"%s\"" -msgstr "especificación \"%s\" desconocida" +msgstr "especificación \"%s\" desconocida" + +#: posix/getconf.c:1225 +#, c-format +msgid "Couldn't execute %s" +msgstr "No se pudo ejecutar %s" -#: posix/getconf.c:979 posix/getconf.c:995 +#: posix/getconf.c:1269 posix/getconf.c:1285 msgid "undefined" msgstr "sin definir" -#: posix/getconf.c:1017 +#: posix/getconf.c:1307 #, c-format msgid "Unrecognized variable `%s'" msgstr "Variable no reconocida `%s'" -#: posix/getopt.c:692 posix/getopt.c:711 +#: posix/getopt.c:594 posix/getopt.c:623 #, c-format -msgid "%s: option '%s' is ambiguous\n" -msgstr "%s: la opción `%s' es ambigua\n" +msgid "%s: option '%s' is ambiguous; possibilities:" +msgstr "%s: la opción '%s' es ambigua; posibilidades:" -#: posix/getopt.c:744 posix/getopt.c:748 +#: posix/getopt.c:664 posix/getopt.c:668 #, c-format msgid "%s: option '--%s' doesn't allow an argument\n" -msgstr "%s: la opción `--%s' no admite ningún argumento\n" +msgstr "%s: la opción '--%s' no admite ningún argumento\n" -#: posix/getopt.c:757 posix/getopt.c:762 +#: posix/getopt.c:677 posix/getopt.c:682 #, c-format msgid "%s: option '%c%s' doesn't allow an argument\n" -msgstr "%s: la opción `%c%s' no admite ningún argumento\n" +msgstr "%s: la opción '%c%s' no admite ningún argumento\n" -#: posix/getopt.c:807 posix/getopt.c:829 posix/getopt.c:1159 -#: posix/getopt.c:1181 +#: posix/getopt.c:725 posix/getopt.c:744 #, c-format -msgid "%s: option '%s' requires an argument\n" -msgstr "%s: la opción `%s' requiere un argumento\n" +msgid "%s: option '--%s' requires an argument\n" +msgstr "%s: la opción '--%s' requiere un argumento\n" -#: posix/getopt.c:867 posix/getopt.c:870 +#: posix/getopt.c:782 posix/getopt.c:785 #, c-format msgid "%s: unrecognized option '--%s'\n" -msgstr "%s: opción no reconocida `--%s'\n" +msgstr "%s: opción no reconocida '--%s'\n" -#: posix/getopt.c:878 posix/getopt.c:881 +#: posix/getopt.c:793 posix/getopt.c:796 #, c-format msgid "%s: unrecognized option '%c%s'\n" -msgstr "%s: opción no reconocida `%c%s'\n" +msgstr "%s: opción no reconocida '%c%s'\n" -#: posix/getopt.c:936 posix/getopt.c:939 -#, c-format -msgid "%s: illegal option -- '%c'\n" -msgstr "%s: opción ilegal -- %c\n" - -# ¿Qué tiene de malo "inválida"? sv -# Jopé, ¿y qué tiene de malo no válida? -# usuario inválido tiene un doble sentido claro -# ya que uso usuario no válido me parece bien usar -# tambien opción no válida, aunque solo sea de vez +# ¿Qué tiene de malo "inválida"? sv +# Jopé, ¿y qué tiene de malo no válida? +# usuario inválido tiene un doble sentido claro +# ya que uso usuario no válido me parece bien usar +# tambien opción no válida, aunque solo sea de vez # en cuando em # -# Pues que *inválida* existe. Piensa en retroreferencia, por ejemplo. -# Se puede poner retroreferencia porque significa referencia hacia atrás. -# (Bueno, en este caso esa palabra se usa poco, pero inválida no). sv+ +# Pues que *inválida* existe. Piensa en retroreferencia, por ejemplo. +# Se puede poner retroreferencia porque significa referencia hacia atrás. +# (Bueno, en este caso esa palabra se usa poco, pero inválida no). sv+ # -# Después de leer "1984", lo cambio. -# Aquí y en todas partes. sv +# Después de leer "1984", lo cambio. +# Aquà y en todas partes. sv # -#: posix/getopt.c:945 posix/getopt.c:948 +#: posix/getopt.c:845 posix/getopt.c:848 #, c-format msgid "%s: invalid option -- '%c'\n" -msgstr "%s: opción inválida -- %c\n" +msgstr "%s: opción inválida -- '%c'\n" -#: posix/getopt.c:1003 posix/getopt.c:1022 posix/getopt.c:1234 -#: posix/getopt.c:1255 +#: posix/getopt.c:898 posix/getopt.c:915 posix/getopt.c:1123 +#: posix/getopt.c:1141 #, c-format msgid "%s: option requires an argument -- '%c'\n" -msgstr "%s: la opción requiere un argumento --%c\n" +msgstr "%s: la opción requiere un argumento -- '%c'\n" -#: posix/getopt.c:1074 posix/getopt.c:1093 +#: posix/getopt.c:971 posix/getopt.c:987 #, c-format msgid "%s: option '-W %s' is ambiguous\n" -msgstr "%s: la opción `-W %s' es ambigua\n" +msgstr "%s: la opción '-W %s' es ambigua\n" -#: posix/getopt.c:1117 posix/getopt.c:1138 +#: posix/getopt.c:1011 posix/getopt.c:1029 #, c-format msgid "%s: option '-W %s' doesn't allow an argument\n" -msgstr "%s: la opción `-W %s' no admite ningún argumento\n" +msgstr "%s: la opción '-W %s' no admite ningún argumento\n" -#: posix/regcomp.c:150 +#: posix/getopt.c:1050 posix/getopt.c:1068 +#, c-format +msgid "%s: option '-W %s' requires an argument\n" +msgstr "%s: la opción '-W %s' requiere un argumento\n" + +#: posix/regcomp.c:135 msgid "No match" msgstr "No hay ninguna coincidencia" -#: posix/regcomp.c:153 +#: posix/regcomp.c:138 msgid "Invalid regular expression" -msgstr "La expresión regular es errónea" +msgstr "La expresión regular es errónea" -#: posix/regcomp.c:156 +#: posix/regcomp.c:141 msgid "Invalid collation character" -msgstr "Carácter de unión inválido" +msgstr "Carácter de unión inválido" -#: posix/regcomp.c:159 +#: posix/regcomp.c:144 msgid "Invalid character class name" -msgstr "Nombre de clase de carácter inválido" +msgstr "Nombre de clase de carácter inválido" -#: posix/regcomp.c:162 +#: posix/regcomp.c:147 msgid "Trailing backslash" msgstr "Barra invertida extra al final `\\'" -#: posix/regcomp.c:165 +#: posix/regcomp.c:150 msgid "Invalid back reference" -msgstr "Referencia hacia atrás inválida" +msgstr "Referencia hacia atrás inválida" -#: posix/regcomp.c:168 +#: posix/regcomp.c:153 msgid "Unmatched [ or [^" -msgstr "[ ó ^[ desemparejados" +msgstr "[ ó ^[ desemparejados" -#: posix/regcomp.c:171 +#: posix/regcomp.c:156 msgid "Unmatched ( or \\(" -msgstr "( ó \\( desemparejados" +msgstr "( ó \\( desemparejados" -#: posix/regcomp.c:174 +#: posix/regcomp.c:159 msgid "Unmatched \\{" msgstr "\\{ desemparejado" -#: posix/regcomp.c:177 +#: posix/regcomp.c:162 msgid "Invalid content of \\{\\}" -msgstr "Contenido de \\{\\} inválido" +msgstr "Contenido de \\{\\} inválido" -#: posix/regcomp.c:180 +#: posix/regcomp.c:165 msgid "Invalid range end" -msgstr "Final de rango inválido" +msgstr "Final de rango inválido" -#: posix/regcomp.c:183 +#: posix/regcomp.c:168 msgid "Memory exhausted" msgstr "Memoria agotada" -#: posix/regcomp.c:186 +#: posix/regcomp.c:171 msgid "Invalid preceding regular expression" -msgstr "La expresión regular precedente es inválida" +msgstr "La expresión regular precedente es inválida" -#: posix/regcomp.c:189 +#: posix/regcomp.c:174 msgid "Premature end of regular expression" -msgstr "Fin no esperado de la expresión regular" +msgstr "Fin no esperado de la expresión regular" -#: posix/regcomp.c:192 +#: posix/regcomp.c:177 msgid "Regular expression too big" -msgstr "La expresión regular es demasiado grande" +msgstr "La expresión regular es demasiado grande" -#: posix/regcomp.c:195 +#: posix/regcomp.c:180 msgid "Unmatched ) or \\)" -msgstr ") ó \\) desemparejados" +msgstr ") ó \\) desemparejados" -#: posix/regcomp.c:661 +#: posix/regcomp.c:680 msgid "No previous regular expression" -msgstr "No existe ninguna expresión regular anterior" +msgstr "No existe ninguna expresión regular anterior" -#: argp/argp-help.c:224 -#, c-format -msgid "%.*s: ARGP_HELP_FMT parameter requires a value" -msgstr "%.*s: El argumento ARGP_HELP_FMT requiere un valor" - -#: argp/argp-help.c:233 -#, c-format -msgid "%.*s: Unknown ARGP_HELP_FMT parameter" -msgstr "%.*s: Parámetro ARGP_HELP_FMT desconocido" - -#: argp/argp-help.c:245 -#, c-format -msgid "Garbage in ARGP_HELP_FMT: %s" -msgstr "Inconsistencias en ARGP_HELP_FMT: %s" - -#: argp/argp-help.c:1205 -msgid "Mandatory or optional arguments to long options are also mandatory or optional for any corresponding short options." -msgstr "" -"Los argumentos obligatorios u opcionales para las opciones largas son\n" -"también obligatorios u opcionales para las opciones cortas correspondientes." - -#: argp/argp-help.c:1592 -msgid "Usage:" -msgstr "Modo de empleo:" - -#: argp/argp-help.c:1596 -msgid " or: " -msgstr " o: " - -#: argp/argp-help.c:1608 -msgid " [OPTION...]" -msgstr " [OPCIÓN...]" - -#: argp/argp-help.c:1635 -#, c-format -msgid "Try `%s --help' or `%s --usage' for more information.\n" -msgstr "Pruebe `%s --help' o `%s --usage' para más información.\n" - -#: argp/argp-help.c:1663 -#, c-format -msgid "Report bugs to %s.\n" -msgstr "Comunicar bichos a %s.\n" - -#: argp/argp-parse.c:115 -msgid "Give this help list" -msgstr "Da esta lista de ayuda" - -#: argp/argp-parse.c:116 -msgid "Give a short usage message" -msgstr "Da un mensaje corto de uso" - -#: argp/argp-parse.c:117 -msgid "Set the program name" -msgstr "Establece el nombre del programa" - -#: argp/argp-parse.c:119 -msgid "Hang for SECS seconds (default 3600)" -msgstr "Cuelga durante SECS segundos (por omisión, 3600)" - -#: argp/argp-parse.c:180 -msgid "Print program version" -msgstr "Muestra la versión del programa" - -#: argp/argp-parse.c:196 -msgid "(PROGRAM ERROR) No version known!?" -msgstr "(ERROR DEL PROGRAMA) ¿¡No se conoce ninguna versión!?" - -#: argp/argp-parse.c:672 -#, c-format -msgid "%s: Too many arguments\n" -msgstr "%s: Demasiados argumentos\n" - -#: argp/argp-parse.c:813 -msgid "(PROGRAM ERROR) Option should have been recognized!?" -msgstr "(ERROR DEL PROGRAMA) ¿¡No se debería haber reconocido la opción!?" +#: posix/wordexp.c:1832 +msgid "parameter null or not set" +msgstr "parámetro nulo o no establecido" # ??? resolvedor, determinador, investigador, solucionador ? -# Me suena que quizá exista resolvedor. Habría que enterarse. sv +# Me suena que quizá exista resolvedor. HabrÃa que enterarse. sv #: resolv/herror.c:68 msgid "Resolver Error 0 (no error)" -msgstr "Error del determinador de nombres 0 (ningún error)" +msgstr "Error del determinador de nombres 0 (ningún error)" -# En el libro de Infovía traducen host por "anfitrión" +# En el libro de InfovÃa traducen host por "anfitrión" #: resolv/herror.c:69 msgid "Unknown host" msgstr "`Host' desconocido" @@ -4154,439 +4788,462 @@ msgstr "Error del servidor desconocido" #: resolv/herror.c:72 msgid "No address associated with name" -msgstr "No existe ninguna dirección asociada al nombre" +msgstr "No existe ninguna dirección asociada al nombre" # ??? lo mismo que arriba -#: resolv/herror.c:108 +#: resolv/herror.c:107 msgid "Resolver internal error" msgstr "Error interno del determinador de nombres" -#: resolv/herror.c:111 +#: resolv/herror.c:110 msgid "Unknown resolver error" msgstr "Error del determinador de nombres desconocido" -#: resolv/res_hconf.c:147 -#, c-format -msgid "%s: line %d: expected service, found `%s'\n" -msgstr "%s: línea %d: se esperaba un servicio, se encontró `%s'\n" - -#: resolv/res_hconf.c:165 -#, c-format -msgid "%s: line %d: cannot specify more than %d services" -msgstr "%s: línea %d: no se pueden especificar más de %d servicios" - -#: resolv/res_hconf.c:191 -#, c-format -msgid "%s: line %d: list delimiter not followed by keyword" -msgstr "%s: línea %d: el delimitador de lista no está seguido por una palabra clave" - -# ¿Qué son dominios trim? -#: resolv/res_hconf.c:231 +# ¿Qué son dominios trim? +#: resolv/res_hconf.c:124 #, c-format msgid "%s: line %d: cannot specify more than %d trim domains" -msgstr "%s: línea %d: no se pueden especificar más de % dominios" +msgstr "%s: lÃnea %d: no se pueden especificar más de % dominios" -#: resolv/res_hconf.c:256 +#: resolv/res_hconf.c:145 #, c-format msgid "%s: line %d: list delimiter not followed by domain" -msgstr "%s: línea %d: el delimitador de lista no está seguido por el dominio" +msgstr "%s: lÃnea %d: el delimitador de lista no está seguido por el dominio" -#: resolv/res_hconf.c:319 +#: resolv/res_hconf.c:204 #, c-format msgid "%s: line %d: expected `on' or `off', found `%s'\n" -msgstr "%s: línea %d: se esperaba `on' o `off', se encontró `%s'\n" +msgstr "%s: lÃnea %d: se esperaba `on' o `off', se encontró `%s'\n" -#: resolv/res_hconf.c:366 +#: resolv/res_hconf.c:247 #, c-format msgid "%s: line %d: bad command `%s'\n" -msgstr "%s: línea %d: orden errónea `%s'\n" +msgstr "%s: lÃnea %d: orden errónea `%s'\n" -#: resolv/res_hconf.c:395 +#: resolv/res_hconf.c:282 #, c-format msgid "%s: line %d: ignoring trailing garbage `%s'\n" -msgstr "%s: línea %d: se descarta lo que sigue `%s'\n" +msgstr "%s: lÃnea %d: se descarta lo que sigue `%s'\n" -#: nss/getent.c:51 -msgid "database [key ...]" -msgstr "basededatos [clave ...]" +#: stdio-common/psiginfo-data.h:2 +msgid "Illegal opcode" +msgstr "Código de operación ilegal" -#: nss/getent.c:56 -msgid "Service configuration to be used" -msgstr "Configuración del servicio" +#: stdio-common/psiginfo-data.h:3 +msgid "Illegal operand" +msgstr "Operando ilegal" -#: nss/getent.c:136 nss/getent.c:375 -#, c-format -msgid "Enumeration not supported on %s\n" -msgstr "La enumeración no está soportada sobre %s\n" +#: stdio-common/psiginfo-data.h:4 +msgid "Illegal addressing mode" +msgstr "Modo de direccionamiento ilegal" -#: nss/getent.c:800 -msgid "getent - get entries from administrative database." -msgstr "getent - obtiene entradas de la base de datos administrativa." +#: stdio-common/psiginfo-data.h:5 +msgid "Illegal trap" +msgstr "`trap' ilegal" -#: nss/getent.c:801 -msgid "Supported databases:" -msgstr "Bases de datos admitidas:" +#: stdio-common/psiginfo-data.h:6 +msgid "Privileged opcode" +msgstr "Código de operación privilegiado" -#: nss/getent.c:858 nscd/nscd.c:131 nscd/nscd_nischeck.c:64 -msgid "wrong number of arguments" -msgstr "número incorrecto de argumentos" +#: stdio-common/psiginfo-data.h:7 +msgid "Privileged register" +msgstr "Registro privilegiado" -#: nss/getent.c:868 -#, c-format -msgid "Unknown database: %s\n" -msgstr "Base de datos desconocida: %s\n" +#: stdio-common/psiginfo-data.h:8 +msgid "Coprocessor error" +msgstr "Error del coprocesador" + +#: stdio-common/psiginfo-data.h:9 +msgid "Internal stack error" +msgstr "Error interno de pila" + +#: stdio-common/psiginfo-data.h:12 +msgid "Integer divide by zero" +msgstr "División entera por cero" + +#: stdio-common/psiginfo-data.h:13 +msgid "Integer overflow" +msgstr "Desbordamiento entero" + +#: stdio-common/psiginfo-data.h:14 +msgid "Floating-point divide by zero" +msgstr "División de coma flotante por cero" + +#: stdio-common/psiginfo-data.h:15 +msgid "Floating-point overflow" +msgstr "Desbordamiento de coma flotante" + +#: stdio-common/psiginfo-data.h:16 +msgid "Floating-point underflow" +msgstr "Subdesbordamiento de coma flotante" + +#: stdio-common/psiginfo-data.h:17 +msgid "Floating-poing inexact result" +msgstr "Resultado inexacto de coma flotante" + +#: stdio-common/psiginfo-data.h:18 +msgid "Invalid floating-point operation" +msgstr "Operación de coma flotante inválida" + +#: stdio-common/psiginfo-data.h:19 +msgid "Subscript out of range" +msgstr "SubÃndice fuera de rango" + +#: stdio-common/psiginfo-data.h:22 +msgid "Address not mapped to object" +msgstr "Dirección no asignada al objeto" + +#: stdio-common/psiginfo-data.h:23 +msgid "Invalid permissions for mapped object" +msgstr "Permisos inválidos para el objeto asignado" + +#: stdio-common/psiginfo-data.h:26 +msgid "Invalid address alignment" +msgstr "Alineación de direcciones inválida" + +#: stdio-common/psiginfo-data.h:27 +msgid "Nonexisting physical address" +msgstr "Dirección fÃsica inexistente" + +#: stdio-common/psiginfo-data.h:28 +msgid "Object-specific hardware error" +msgstr "Error de hardware especÃfico del objeto" + +#: stdio-common/psiginfo-data.h:31 +msgid "Process breakpoint" +msgstr "Punto de parada/seguimiento del proceso" + +#: stdio-common/psiginfo-data.h:32 +msgid "Process trace trap" +msgstr "Procesa el `trap' de seguimiento" + +#: stdio-common/psiginfo-data.h:35 +msgid "Child has exited" +msgstr "El proceso hijo terminó" + +#: stdio-common/psiginfo-data.h:36 +msgid "Child has terminated abnormally and did not create a core file" +msgstr "El proceso hijo ha terminado anormalmente y no creó un fichero `core'" -#: debug/pcprofiledump.c:52 -msgid "Don't buffer output" -msgstr "No hace pasar el resultado a través de un búfer" +#: stdio-common/psiginfo-data.h:37 +msgid "Child hat terminated abnormally and created a core file" +msgstr "El proceso hijo ha terminado y ha creado un fichero `core'" -# Se admiten sugerencias. sv -#: debug/pcprofiledump.c:57 -msgid "Dump information generated by PC profiling." -msgstr "Información de volcado generada mediante `PC profiling'." +#: stdio-common/psiginfo-data.h:38 +msgid "Traced child has trapped" +msgstr "El proceso hijo seguido ha sido capturado" -#: debug/pcprofiledump.c:60 -msgid "[FILE]" -msgstr "[FICHERO]" +#: stdio-common/psiginfo-data.h:39 +msgid "Child has stopped" +msgstr "El proceso hijo se ha detenido" -#: debug/pcprofiledump.c:100 -msgid "cannot open input file" -msgstr "no se puede abrir el fichero de entrada" +#: stdio-common/psiginfo-data.h:40 +msgid "Stopped child has continued" +msgstr "El proceso hijo detenido ha continuado" -#: debug/pcprofiledump.c:106 -msgid "cannot read header" -msgstr "no se puede leer la cabecera" +#: stdio-common/psiginfo-data.h:43 +msgid "Data input available" +msgstr "Datos de entrada disponibles" -#: debug/pcprofiledump.c:170 -msgid "invalid pointer size" -msgstr "tamaño de puntero inválido" +# Memoria intermedia me parece una traducción óptima. +# Desgraciadamente no tengo ningún diccionario de Castellano +# Enrique, creo que en español existe "búfer", mÃralo si puedes. sv +# ¿Buffer? memoria intermedia. +# A ver qué dice Iñaky... sv +#: stdio-common/psiginfo-data.h:44 +msgid "Output buffers available" +msgstr "Hay búfers de salida disponibles" + +#: stdio-common/psiginfo-data.h:45 +msgid "Input message available" +msgstr "Mensaje de entrada disponible" + +#: stdio-common/psiginfo-data.h:46 +msgid "I/O error" +msgstr "Error de E/S" -#: inet/rcmd.c:163 inet/rcmd.c:166 -msgid "rcmd: Cannot allocate memory\n" -msgstr "rcmd: No se puede asignar memoria\n" +#: stdio-common/psiginfo-data.h:47 +msgid "High priority input available" +msgstr "Entrada de alta prioridad disponible" -#: inet/rcmd.c:185 inet/rcmd.c:188 -msgid "rcmd: socket: All ports in use\n" -msgstr "rcmd: socket: Se están usando todos los puertos\n" +#: stdio-common/psiginfo-data.h:48 +msgid "Device disconnected" +msgstr "Dispositivo desconectado" -#: inet/rcmd.c:222 -#, c-format -msgid "connect to address %s: " -msgstr "conexión a la dirección %s: " +#: stdio-common/psiginfo.c:145 +msgid "Signal sent by kill()" +msgstr "Señal enviada por kill()" -#: inet/rcmd.c:240 -#, c-format -msgid "Trying %s...\n" -msgstr "Intentando %s...\n" +#: stdio-common/psiginfo.c:148 +msgid "Signal sent by sigqueue()" +msgstr "Señal enviada por sigqueue()" -#: inet/rcmd.c:289 -#, c-format -msgid "rcmd: write (setting up stderr): %m\n" -msgstr "rcmd: write (activando la salida de error estándar): %m\n" +#: stdio-common/psiginfo.c:151 +msgid "Signal generated by the expiration of a timer" +msgstr "Señal generada por la expiración de un temporizador" -#: inet/rcmd.c:310 -#, c-format -msgid "rcmd: poll (setting up stderr): %m\n" -msgstr "rcmd: poll (activando la salida de error estándar): %m\n" +#: stdio-common/psiginfo.c:154 +msgid "Signal generated by the completion of an asynchronous I/O request" +msgstr "Señal generada por la compleción de una petición de E/S asÃncrona" -# ¿en la configuración del servicio?, ¿del circuito?, ¿o dejarlo así? -# Es de locos, estuve viendo las/los fuentes, preferí dejarlo así. em -#: inet/rcmd.c:313 -msgid "poll: protocol failure in circuit setup\n" -msgstr "poll: fallo de protocolo al configurar el circuito\n" +#: stdio-common/psiginfo.c:158 +msgid "Signal generated by the arrival of a message on an empty message queue" +msgstr "Señal generada por la llegada de un mensaje en una cola de mensajes vacÃa" -# ??? lo mismo que arriba -#: inet/rcmd.c:358 -msgid "socket: protocol failure in circuit setup\n" -msgstr "socket: fallo de protocolo al configurar el circuito\n" +#: stdio-common/psiginfo.c:163 +msgid "Signal sent by tkill()" +msgstr "Señal enviada por tkill()" -#: inet/rcmd.c:387 -#, c-format -msgid "rcmd: %s: short read" -msgstr "rcmd: %s: lectura insuficiente" +#: stdio-common/psiginfo.c:168 +msgid "Signal generated by the completion of an asynchronous name lookup request" +msgstr "Señal generada por la compleción de una petición de búsqueda de nombres asÃncrona" -# ## Lo mismo con lstat. sv -# Antes decía: No se pudo obtener información (lstat) del fichero .rhosts -#: inet/rcmd.c:549 -msgid "lstat failed" -msgstr "lstat ha fallado" - -# Antes decía: .rhosts no es un fichero regular -#: inet/rcmd.c:551 -msgid "not regular file" -msgstr "no es un fichero regular" +#: stdio-common/psiginfo.c:174 +msgid "Signal generated by the completion of an I/O request" +msgstr "Señal generada por la compleción de una petición de E/S" -#: inet/rcmd.c:556 -msgid "cannot open" -msgstr "no se puede abrir" +#: stdio-common/psiginfo.c:180 +msgid "Signal sent by the kernel" +msgstr "Señal enviada por el núcleo" -# ## Sugerencia: Añadir (fstat) después de información. sv -# Antes decía: No se pudo obtener información (fstat) del fichero .rhosts -#: inet/rcmd.c:558 -msgid "fstat failed" -msgstr "fstat ha fallado" - -# Antes decía: El propietario del fichero .rhosts no es válido -#: inet/rcmd.c:560 -msgid "bad owner" -msgstr "propietario incorrecto" +#: stdio-common/psiginfo.c:204 +#, c-format +msgid "Unknown signal %d\n" +msgstr "Señal desconocida %d\n" -#: inet/rcmd.c:562 -msgid "writeable by other than owner" -msgstr "puede ser modificado por otros además del propietario" +#: stdio-common/psignal.c:51 +#, c-format +msgid "%s%sUnknown signal %d\n" +msgstr "%s%sSeñal desconocida %d\n" -#: inet/rcmd.c:564 -msgid "hard linked somewhere" -msgstr "hay un enlace duro en alguna parte" +#: stdio-common/psignal.c:52 +msgid "Unknown signal" +msgstr "Señal desconocida" -#: inet/ruserpass.c:170 inet/ruserpass.c:193 -msgid "out of memory" -msgstr "memoria agotada" +#: string/_strerror.c:47 sysdeps/mach/_strerror.c:87 +msgid "Unknown error " +msgstr "Error desconocido " -# Supongo que se dice legible... sv -#: inet/ruserpass.c:184 -msgid "Error: .netrc file is readable by others." -msgstr "Error: el fichero .netrc es legible por otros usuarios." +#: string/strerror.c:43 +msgid "Unknown error" +msgstr "Error desconocido" -#: inet/ruserpass.c:185 -msgid "Remove password or make file unreadable by others." -msgstr "Elimine la contraseña o haga el fichero no legible por otros." +#: string/strsignal.c:65 +#, c-format +msgid "Real-time signal %d" +msgstr "Señal de tiempo real %d" -#: inet/ruserpass.c:277 +#: string/strsignal.c:69 #, c-format -msgid "Unknown .netrc keyword %s" -msgstr "Palabra clave %s desconocida en .netrc" +msgid "Unknown signal %d" +msgstr "Señal desconocida %d" -#: sunrpc/auth_unix.c:115 sunrpc/auth_unix.c:118 -msgid "authunix_create: out of memory\n" -msgstr "authunix_create: memoria agotada\n" +#: sunrpc/auth_unix.c:113 sunrpc/clnt_tcp.c:125 sunrpc/clnt_udp.c:136 +#: sunrpc/clnt_unix.c:126 sunrpc/svc_tcp.c:173 sunrpc/svc_tcp.c:218 +#: sunrpc/svc_udp.c:147 sunrpc/svc_unix.c:174 sunrpc/svc_unix.c:215 +#: sunrpc/xdr.c:632 sunrpc/xdr.c:792 sunrpc/xdr_array.c:100 +#: sunrpc/xdr_rec.c:154 sunrpc/xdr_ref.c:79 +msgid "out of memory\n" +msgstr "memoria agotada\n" -# ??? mariscalización ? -#: sunrpc/auth_unix.c:318 -msgid "auth_none.c - Fatal marshalling problem" -msgstr "auth_none.c - Problema muy grave con autorización marshall" +# ??? mariscalización ? +#: sunrpc/auth_unix.c:351 +msgid "auth_unix.c: Fatal marshalling problem" +msgstr "auth_unix.c: - Problema muy grave con autorización marshall" -# FIXME: ¿¿No será major y minor?? -#: sunrpc/clnt_perr.c:118 sunrpc/clnt_perr.c:139 +# FIXME: ¿¿No será major y minor?? +#: sunrpc/clnt_perr.c:98 sunrpc/clnt_perr.c:114 #, c-format -msgid "; low version = %lu, high version = %lu" -msgstr "; versión menor = %lu, versión mayor = %lu" +msgid "%s: %s; low version = %lu, high version = %lu" +msgstr "%s: %s; versión menor = %lu, versión mayor = %lu" -#: sunrpc/clnt_perr.c:125 -msgid "; why = " -msgstr "; causa = " +#: sunrpc/clnt_perr.c:105 +#, c-format +msgid "%s: %s; why = %s\n" +msgstr "%s: %s; causa = %s\n" -#: sunrpc/clnt_perr.c:132 +#: sunrpc/clnt_perr.c:107 #, c-format -msgid "(unknown authentication error - %d)" -msgstr "(error de autentificación desconocido - %d)" +msgid "%s: %s; why = (unknown authentication error - %d)\n" +msgstr "%s: %s; causa = (error de autentificación desconocido - %d)\n" -#: sunrpc/clnt_perr.c:177 +#: sunrpc/clnt_perr.c:156 msgid "RPC: Success" msgstr "RPC: Conseguido" -#: sunrpc/clnt_perr.c:180 +#: sunrpc/clnt_perr.c:159 msgid "RPC: Can't encode arguments" msgstr "RPC: No se pudieron codificar los argumentos" -# Si da el error es porque lo intentó descodificar -# y no lo consiguió. Es decir, que lo intentó ( pasado ) +# Si da el error es porque lo intentó descodificar +# y no lo consiguió. Es decir, que lo intentó ( pasado ) # En muchos de los mensajes de GNU se usa presente o pasado # indiferentemente. Ya se sabe lo mal que les suena el pasado de can, # sobre todo en frases afirmativas ( que no es el caso, pero bueno ) # -#: sunrpc/clnt_perr.c:184 +#: sunrpc/clnt_perr.c:163 msgid "RPC: Can't decode result" msgstr "RPC: No se pudo descodificar la respuesta" # Sugerencia: No se puede enviar. (?) (no estoy muy seguro) sv -#: sunrpc/clnt_perr.c:188 +#: sunrpc/clnt_perr.c:167 msgid "RPC: Unable to send" msgstr "RPC: No se puede enviar" # Me parece que incapaz expresa mejor lo que pasa. Intenta # recibir, pero no puede. De la otra forma (no se puede recibir) -# da la impresión de que ni siquiera se intenta +# da la impresión de que ni siquiera se intenta # A lo mejor es que ni siquiera puede intentarlo ... sv # Me suena horrible lo de "Incapaz", lo cambio. sv -#: sunrpc/clnt_perr.c:192 +#: sunrpc/clnt_perr.c:171 msgid "RPC: Unable to receive" msgstr "RPC: No se puede recibir" -#: sunrpc/clnt_perr.c:196 +#: sunrpc/clnt_perr.c:175 msgid "RPC: Timed out" -msgstr "RPC: El tiempo expiró" +msgstr "RPC: El tiempo expiró" -#: sunrpc/clnt_perr.c:200 +#: sunrpc/clnt_perr.c:179 msgid "RPC: Incompatible versions of RPC" msgstr "RPC: Versiones incompatibles de RPC" -#: sunrpc/clnt_perr.c:204 +#: sunrpc/clnt_perr.c:183 msgid "RPC: Authentication error" -msgstr "RPC: Error de autentificación" +msgstr "RPC: Error de autentificación" -#: sunrpc/clnt_perr.c:208 +#: sunrpc/clnt_perr.c:187 msgid "RPC: Program unavailable" msgstr "RPC: Programa no disponible" -#: sunrpc/clnt_perr.c:212 +#: sunrpc/clnt_perr.c:191 msgid "RPC: Program/version mismatch" -msgstr "RPC: La versión del programa no coincide" +msgstr "RPC: La versión del programa no coincide" -# ??? prefiero añadir rpc otra vez, -# parece que queda más claro cual es el error y son solo tres letras +# ??? prefiero añadir rpc otra vez, +# parece que queda más claro cual es el error y son solo tres letras # -# No sé lo que es el RPC, pero igual es un disparate "procedimiento rpc" -# En estos casos, preferiría no añadir nada y no "arriesgar". sv +# No sé lo que es el RPC, pero igual es un disparate "procedimiento rpc" +# En estos casos, preferirÃa no añadir nada y no "arriesgar". sv # -# Está bien, por homogeneizar todo un poco lo quitaré. Pero que conste que -# procedimiento rpc es perfectamente válido ( rcp: remote procedure call ) +# Está bien, por homogeneizar todo un poco lo quitaré. Pero que conste que +# procedimiento rpc es perfectamente válido ( rcp: remote procedure call ) # em # -# Incluyo una cita de César Ballardini a ver qué te parece: -# "no es necesario explicar la terminología obvia dentro de su contexto" -# Creo que no hace falta poner rpc dos veces. El primero ya te avisa "de qué +# Incluyo una cita de César Ballardini a ver qué te parece: +# "no es necesario explicar la terminologÃa obvia dentro de su contexto" +# Creo que no hace falta poner rpc dos veces. El primero ya te avisa "de qué # va el rollo". sv+ # # Por cierto, unavailable es NO disponible. Lo cambio. # Y quito el "rpc" sv+ -#: sunrpc/clnt_perr.c:216 +#: sunrpc/clnt_perr.c:195 msgid "RPC: Procedure unavailable" msgstr "RPC: Procedimiento no disponible" -#: sunrpc/clnt_perr.c:220 +#: sunrpc/clnt_perr.c:199 msgid "RPC: Server can't decode arguments" msgstr "RPC: El servidor no puede descifrar los argumentos" -#: sunrpc/clnt_perr.c:224 +#: sunrpc/clnt_perr.c:203 msgid "RPC: Remote system error" msgstr "RPC: Error del sistema remoto" -#: sunrpc/clnt_perr.c:228 +#: sunrpc/clnt_perr.c:207 msgid "RPC: Unknown host" msgstr "RPC: `Host' desconocido" -#: sunrpc/clnt_perr.c:232 +#: sunrpc/clnt_perr.c:211 msgid "RPC: Unknown protocol" msgstr "RPC: Protocolo desconocido" -#: sunrpc/clnt_perr.c:236 +#: sunrpc/clnt_perr.c:215 msgid "RPC: Port mapper failure" msgstr "RPC: Fallo del asignador de puertos" -#: sunrpc/clnt_perr.c:240 +#: sunrpc/clnt_perr.c:219 msgid "RPC: Program not registered" msgstr "RPC: Programa no registrado" -# ??? Falló, fracasó, pinchó ;-) -#: sunrpc/clnt_perr.c:244 +# ??? Falló, fracasó, pinchó ;-) +#: sunrpc/clnt_perr.c:223 msgid "RPC: Failed (unspecified error)" -msgstr "RPC: Falló (error no especificado)" +msgstr "RPC: Falló (error no especificado)" -#: sunrpc/clnt_perr.c:285 +#: sunrpc/clnt_perr.c:264 msgid "RPC: (unknown error code)" -msgstr "RPC: (código de error desconocido)" +msgstr "RPC: (código de error desconocido)" -#: sunrpc/clnt_perr.c:357 +#: sunrpc/clnt_perr.c:336 msgid "Authentication OK" -msgstr "Autentificación válida" +msgstr "Autentificación válida" -#: sunrpc/clnt_perr.c:360 +#: sunrpc/clnt_perr.c:339 msgid "Invalid client credential" -msgstr "Credenciales del cliente inválidas" +msgstr "Credenciales del cliente inválidas" -#: sunrpc/clnt_perr.c:364 +#: sunrpc/clnt_perr.c:343 msgid "Server rejected credential" -msgstr "El servidor rechazó la credencial" +msgstr "El servidor rechazó la credencial" -#: sunrpc/clnt_perr.c:368 +#: sunrpc/clnt_perr.c:347 msgid "Invalid client verifier" -msgstr "Verificación del cliente inválida" +msgstr "Verificación del cliente inválida" -#: sunrpc/clnt_perr.c:372 +#: sunrpc/clnt_perr.c:351 msgid "Server rejected verifier" -msgstr "El servidor rechazó el verificador" +msgstr "El servidor rechazó el verificador" -#: sunrpc/clnt_perr.c:376 +#: sunrpc/clnt_perr.c:355 msgid "Client credential too weak" msgstr "Las credenciales del cliente son poco fiables" -#: sunrpc/clnt_perr.c:380 +#: sunrpc/clnt_perr.c:359 msgid "Invalid server verifier" -msgstr "Verificación del servidor inválido" +msgstr "Verificación del servidor inválido" -#: sunrpc/clnt_perr.c:384 +#: sunrpc/clnt_perr.c:363 msgid "Failed (unspecified error)" -msgstr "Falló (error no especificado)" +msgstr "Falló (error no especificado)" -#: sunrpc/clnt_raw.c:117 -msgid "clnt_raw.c - Fatal header serialization error." -msgstr "clnt_raw.c - Error grave en la secuencia de cabecera." +#: sunrpc/clnt_raw.c:115 +msgid "clnt_raw.c: fatal header serialization error" +msgstr "clnt_raw.c: error grave en la secuencia de cabecera" -#: sunrpc/clnt_tcp.c:134 sunrpc/clnt_tcp.c:137 -msgid "clnttcp_create: out of memory\n" -msgstr "clnttcp_create: memoria agotada\n" +#: sunrpc/pm_getmaps.c:77 +msgid "pmap_getmaps.c: rpc problem" +msgstr "pmap_getmaps.c: problema de rpc" -#: sunrpc/clnt_udp.c:141 sunrpc/clnt_udp.c:144 -msgid "clntudp_create: out of memory\n" -msgstr "clntudp_create: memoria agotada\n" - -#: sunrpc/clnt_unix.c:131 sunrpc/clnt_unix.c:134 -msgid "clntunix_create: out of memory\n" -msgstr "clntunix_create: memoria agotada\n" - -#: sunrpc/get_myaddr.c:78 -msgid "get_myaddress: ioctl (get interface configuration)" -msgstr "get_myaddress: ioctl (lee la configuración del interfaz)" - -#: sunrpc/pm_getmaps.c:74 -msgid "pmap_getmaps rpc problem" -msgstr "pmap_getmaps problema de rpc" - -#: sunrpc/pmap_clnt.c:72 -msgid "__get_myaddress: ioctl (get interface configuration)" -msgstr "__get_myaddress: ioctl (lee la configuración del interfaz)" - -#: sunrpc/pmap_clnt.c:137 +#: sunrpc/pmap_clnt.c:127 msgid "Cannot register service" msgstr "No se pudo registrar el servicio" -#: sunrpc/pmap_rmt.c:190 -msgid "broadcast: ioctl (get interface configuration)" -msgstr "broadcast: iotcl (lee la configuración del interfaz)" - -# Mejorando lo presente ( idea de Jochen ) -#: sunrpc/pmap_rmt.c:199 -msgid "broadcast: ioctl (get interface flags)" -msgstr "broadcast: iotcl (lee las propiedades del interfaz)" - # He intentado mejorarlo un poco ... # -#: sunrpc/pmap_rmt.c:269 +#: sunrpc/pmap_rmt.c:243 msgid "Cannot create socket for broadcast rpc" msgstr "No se puede crear `socket' para enviar un mensaje `broadcast' del rpc" -#: sunrpc/pmap_rmt.c:276 +#: sunrpc/pmap_rmt.c:250 msgid "Cannot set socket option SO_BROADCAST" -msgstr "No se pudo especificar la opción SO_BROADCAST para el `socket'" +msgstr "No se pudo especificar la opción SO_BROADCAST para el `socket'" -#: sunrpc/pmap_rmt.c:328 +#: sunrpc/pmap_rmt.c:302 msgid "Cannot send broadcast packet" msgstr "No se pudo enviar el mensaje `broadcast'" -# Pregunta: ¿Qué es poll? -#: sunrpc/pmap_rmt.c:353 +# Pregunta: ¿Qué es poll? +#: sunrpc/pmap_rmt.c:327 msgid "Broadcast poll problem" msgstr "Problema en el `poll' del `broadcast'" -#: sunrpc/pmap_rmt.c:366 +#: sunrpc/pmap_rmt.c:340 msgid "Cannot receive reply to broadcast" msgstr "No se puede recibir la respuesta al `broadcast'" #: sunrpc/rpc_main.c:288 #, c-format msgid "%s: output would overwrite %s\n" -msgstr "%s: la salida sobreescribiría %s\n" +msgstr "%s: la salida sobreescribirÃa %s\n" #: sunrpc/rpc_main.c:295 #, c-format @@ -4606,2412 +5263,2240 @@ msgstr "no se puede encontrar el preprocesador de C: %s \n" #: sunrpc/rpc_main.c:350 msgid "cannot find any C preprocessor (cpp)\n" -msgstr "no se puede encontrar ningún preprocesador de C (cpp)\n" +msgstr "no se puede encontrar ningún preprocesador de C (cpp)\n" #: sunrpc/rpc_main.c:419 #, c-format msgid "%s: C preprocessor failed with signal %d\n" -msgstr "%s: El preprocesador de C falló con la señal %d\n" +msgstr "%s: El preprocesador de C falló con la señal %d\n" #: sunrpc/rpc_main.c:422 #, c-format msgid "%s: C preprocessor failed with exit code %d\n" -msgstr "%s: El preprocesador de C falló con un código de retorno %d\n" +msgstr "%s: El preprocesador de C falló con un código de retorno %d\n" #: sunrpc/rpc_main.c:462 #, c-format -msgid "illegal nettype :`%s'\n" -msgstr "tipodered ilegal :`%s'\n" +msgid "illegal nettype: `%s'\n" +msgstr "tipodered ilegal: `%s'\n" -#: sunrpc/rpc_main.c:1104 +#: sunrpc/rpc_main.c:1128 #, c-format msgid "rpcgen: too many defines\n" msgstr "rpcgen: demasiados defines\n" -#: sunrpc/rpc_main.c:1116 +#: sunrpc/rpc_main.c:1140 #, c-format msgid "rpcgen: arglist coding error\n" -msgstr "rpcgen: error de codificación de la lista de argumentos\n" +msgstr "rpcgen: error de codificación de la lista de argumentos\n" #. TRANS: the file will not be removed; this is an #. TRANS: informative message. -#: sunrpc/rpc_main.c:1149 +#: sunrpc/rpc_main.c:1173 #, c-format msgid "file `%s' already exists and may be overwritten\n" -msgstr "el fichero `%s' ya existe y podría ser sobreescrito\n" +msgstr "el fichero `%s' ya existe y podrÃa ser sobreescrito\n" -#: sunrpc/rpc_main.c:1194 +#: sunrpc/rpc_main.c:1218 #, c-format msgid "Cannot specify more than one input file!\n" -msgstr "No se puede especificar más de un fichero de entrada\n" +msgstr "No se puede especificar más de un fichero de entrada\n" # Se admiten sugerencias para MT-safe. sv -#: sunrpc/rpc_main.c:1364 +#: sunrpc/rpc_main.c:1392 +#, c-format msgid "This implementation doesn't support newstyle or MT-safe code!\n" -msgstr "¡Esta implementación no admite código de nuevo estilo o `MT-safe'!\n" +msgstr "¡Esta implementación no admite código de nuevo estilo o `MT-safe'!\n" -#: sunrpc/rpc_main.c:1373 +#: sunrpc/rpc_main.c:1401 #, c-format msgid "Cannot use netid flag with inetd flag!\n" -msgstr "No se puede usar la opción netid con la opción inetd\n" +msgstr "No se puede usar la opción netid con la opción inetd\n" -#: sunrpc/rpc_main.c:1385 +#: sunrpc/rpc_main.c:1413 +#, c-format msgid "Cannot use netid flag without TIRPC!\n" -msgstr "No se puede usar la opción netid sin TIRPC\n" +msgstr "No se puede usar la opción netid sin TIRPC\n" -#: sunrpc/rpc_main.c:1392 +#: sunrpc/rpc_main.c:1420 +#, c-format msgid "Cannot use table flags with newstyle!\n" msgstr "No se pueden usar las opciones de la tabla con el nuevo estilo\n" -#: sunrpc/rpc_main.c:1411 +#: sunrpc/rpc_main.c:1439 #, c-format msgid "\"infile\" is required for template generation flags.\n" msgstr "" -"se necesita un \"fichero_de_entrada\" para las opciones de generación\n" +"se necesita un \"fichero_de_entrada\" para las opciones de generación\n" "de plantillas\n" -#: sunrpc/rpc_main.c:1416 +#: sunrpc/rpc_main.c:1444 #, c-format msgid "Cannot have more than one file generation flag!\n" -msgstr "No se puede tener más de una opción de generación de fichero\n" +msgstr "No se puede tener más de una opción de generación de fichero\n" -#: sunrpc/rpc_main.c:1425 +#: sunrpc/rpc_main.c:1453 #, c-format msgid "usage: %s infile\n" msgstr "modo de empleo: %s fichero_de_entrada\n" -# Este mensaje tal vez habría que cortarlo por algún lado. sv -#: sunrpc/rpc_main.c:1426 +# Este mensaje tal vez habrÃa que cortarlo por algún lado. sv +#: sunrpc/rpc_main.c:1454 #, c-format msgid "\t%s [-abkCLNTM][-Dname[=value]] [-i size] [-I [-K seconds]] [-Y path] infile\n" -msgstr "\t%s [-abkCLNTM][-Dnombre[=valor]] [-i tamaño] [-I [-K segundos]] [-Y camino] fichero_de_entrada\n" +msgstr "\t%s [-abkCLNTM][-Dnombre[=valor]] [-i tamaño] [-I [-K segundos]] [-Y camino] fichero_de_entrada\n" -# Y este también. sv -#: sunrpc/rpc_main.c:1428 +# Y este también. sv +#: sunrpc/rpc_main.c:1456 #, 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 fichero_de_salida] [fichero_de_entrada]\n" -#: sunrpc/rpc_main.c:1430 +#: sunrpc/rpc_main.c:1458 #, c-format msgid "\t%s [-s nettype]* [-o outfile] [infile]\n" msgstr "\t%s [-s tipored]* [-o fichero_de_salida] [fichero_de_entrada]\n" -#: sunrpc/rpc_main.c:1431 +#: sunrpc/rpc_main.c:1459 #, c-format msgid "\t%s [-n netid]* [-o outfile] [infile]\n" msgstr "\t%s [-n netid]* [-o fichero_de_salida] [fichero_de_entrada]\n" -#: sunrpc/rpc_scan.c:116 +#: sunrpc/rpc_main.c:1467 +#, c-format +msgid "options:\n" +msgstr "opciones:\n" + +#: sunrpc/rpc_main.c:1468 +#, c-format +msgid "-a\t\tgenerate all files, including samples\n" +msgstr "-a\t\tgenera todos los ficheros, incluyendo las muestras\n" + +#: sunrpc/rpc_main.c:1469 +#, c-format +msgid "-b\t\tbackward compatibility mode (generates code for SunOS 4.1)\n" +msgstr "-b\t\tmodo de compatibilidad hacia atrás (genera código para SunOS 4.1)\n" + +#: sunrpc/rpc_main.c:1470 +#, c-format +msgid "-c\t\tgenerate XDR routines\n" +msgstr "-c\t\tgenera rutinas XDR\n" + +#: sunrpc/rpc_main.c:1471 +#, c-format +msgid "-C\t\tANSI C mode\n" +msgstr "-C\t\tmodo ANSI C\n" + +#: sunrpc/rpc_main.c:1472 +#, c-format +msgid "-Dname[=value]\tdefine a symbol (same as #define)\n" +msgstr "-Dnombre[=valor]\tdefine un sÃmbolo (igual que #define)\n" + +#: sunrpc/rpc_main.c:1473 +#, c-format +msgid "-h\t\tgenerate header file\n" +msgstr "-h\t\tgenera un fichero de cabecera\n" + +#: sunrpc/rpc_main.c:1474 +#, c-format +msgid "-i size\t\tsize at which to start generating inline code\n" +msgstr "-i tamaño\t\ttamaño en el que comienza a generar código `inline'\n" + +#: sunrpc/rpc_main.c:1475 +#, c-format +msgid "-I\t\tgenerate code for inetd support in server (for SunOS 4.1)\n" +msgstr "-I\t\tgenera código para soporte de inetd en el servidor (para SunOS 4.1)\n" + +# FIXME: TendrÃa que ser después de "segundos" segundos de inactividad +#: sunrpc/rpc_main.c:1476 +#, c-format +msgid "-K seconds\tserver exits after K seconds of inactivity\n" +msgstr "-K segundos\tel servidor termina después de K segundos de inactividad\n" + +# Se admiten sugerencias para "stubs" +#: sunrpc/rpc_main.c:1477 +#, c-format +msgid "-l\t\tgenerate client side stubs\n" +msgstr "-l\t\tgenera `stubs' para el lado del cliente\n" + +#: sunrpc/rpc_main.c:1478 +#, c-format +msgid "-L\t\tserver errors will be printed to syslog\n" +msgstr "-L\t\tlos errores del servidor se escribirán en syslog\n" + +#: sunrpc/rpc_main.c:1479 +#, c-format +msgid "-m\t\tgenerate server side stubs\n" +msgstr "-m\t\tgenera `stubs' para el lado del servidor\n" + +#: sunrpc/rpc_main.c:1480 +#, c-format +msgid "-M\t\tgenerate MT-safe code\n" +msgstr "-M\t\tgenera código multi-hilo seguro\n" + +#: sunrpc/rpc_main.c:1481 +#, c-format +msgid "-n netid\tgenerate server code that supports named netid\n" +msgstr "-n netid\tgenera código servidor que soporta netid nombrado\n" + +#: sunrpc/rpc_main.c:1482 +#, c-format +msgid "-N\t\tsupports multiple arguments and call-by-value\n" +msgstr "-N\t\tsoporta varios argumentos y llamada por valor\n" + +#: sunrpc/rpc_main.c:1483 +#, c-format +msgid "-o outfile\tname of the output file\n" +msgstr "-o fichero_de_salida\tnombre del fichero de salida\n" + +#: sunrpc/rpc_main.c:1484 +#, c-format +msgid "-s nettype\tgenerate server code that supports named nettype\n" +msgstr "-s nettype\tgenera código servidor que soporta nettype nombrado\n" + +#: sunrpc/rpc_main.c:1485 +#, c-format +msgid "-Sc\t\tgenerate sample client code that uses remote procedures\n" +msgstr "-Sc\t\tgenera código cliente de muestra que usa procedimientos remotos\n" + +#: sunrpc/rpc_main.c:1486 +#, c-format +msgid "-Ss\t\tgenerate sample server code that defines remote procedures\n" +msgstr "-Ss\t\tgenera código servidor de muestra que define procedimientos remotos\n" + +#: sunrpc/rpc_main.c:1487 +#, c-format +msgid "-Sm \t\tgenerate makefile template \n" +msgstr "-Sm \t\tgenera una plantilla de makefile\n" + +#: sunrpc/rpc_main.c:1488 +#, c-format +msgid "-t\t\tgenerate RPC dispatch table\n" +msgstr "-t\t\tgenera tabla de ejecución RPC\n" + +#: sunrpc/rpc_main.c:1489 +#, c-format +msgid "-T\t\tgenerate code to support RPC dispatch tables\n" +msgstr "-T\t\tgenera código para soportar tablas de ejecución RPC\n" + +#: sunrpc/rpc_main.c:1490 +#, c-format +msgid "-Y path\t\tdirectory name to find C preprocessor (cpp)\n" +msgstr "-Y ruta\t\tnombre del directorio donde encontrar el preprocesador de C (cpp)\n" + +#: sunrpc/rpc_scan.c:112 msgid "constant or identifier expected" msgstr "se esperaba una constante o un identificador" -#: sunrpc/rpc_scan.c:312 +#: sunrpc/rpc_scan.c:308 msgid "illegal character in file: " -msgstr "carácter no válido en el fichero: " +msgstr "carácter no válido en el fichero: " -#: sunrpc/rpc_scan.c:351 sunrpc/rpc_scan.c:377 +#: sunrpc/rpc_scan.c:347 sunrpc/rpc_scan.c:373 msgid "unterminated string constant" msgstr "constante de caracteres sin terminar" -#: sunrpc/rpc_scan.c:383 +#: sunrpc/rpc_scan.c:379 msgid "empty char string" -msgstr "cadena de caracteres vacía" +msgstr "cadena de caracteres vacÃa" -#: sunrpc/rpc_scan.c:525 sunrpc/rpc_scan.c:535 +#: sunrpc/rpc_scan.c:521 sunrpc/rpc_scan.c:531 msgid "preprocessor error" msgstr "error del preprocesador" -#: sunrpc/rpcinfo.c:237 sunrpc/rpcinfo.c:383 +#: sunrpc/rpcinfo.c:246 sunrpc/rpcinfo.c:392 #, c-format msgid "program %lu is not available\n" -msgstr "el programa %lu no está disponible\n" +msgstr "el programa %lu no está disponible\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 +#: sunrpc/rpcinfo.c:273 sunrpc/rpcinfo.c:319 sunrpc/rpcinfo.c:342 +#: sunrpc/rpcinfo.c:416 sunrpc/rpcinfo.c:462 sunrpc/rpcinfo.c:485 +#: sunrpc/rpcinfo.c:519 #, c-format msgid "program %lu version %lu is not available\n" -msgstr "el programa %lu versión %lu no está disponible\n" +msgstr "el programa %lu versión %lu no está disponible\n" -#: sunrpc/rpcinfo.c:515 +#: sunrpc/rpcinfo.c:524 #, c-format msgid "program %lu version %lu ready and waiting\n" -msgstr "el programa %lu versión %lu está listo y a la espera\n" +msgstr "el programa %lu versión %lu está listo y a la espera\n" -#: sunrpc/rpcinfo.c:556 sunrpc/rpcinfo.c:563 +#: sunrpc/rpcinfo.c:565 sunrpc/rpcinfo.c:572 msgid "rpcinfo: can't contact portmapper" msgstr "rpcinfo: no se puede comunicar con el asignador de puertos" -# No me gusta "programa rpc". El rpc debería sobrar por el contexto. sv -# A ver qué te parece esto em+ -# Igual de raro: Te repito la frase de César: "No hay que explicar -# la terminología dentro de su propio contexto". -# Con lo fácil que es poner: -# "No se ha registrado ningún programa remoto.\n" sv+ +# No me gusta "programa rpc". El rpc deberÃa sobrar por el contexto. sv +# A ver qué te parece esto em+ +# Igual de raro: Te repito la frase de César: "No hay que explicar +# la terminologÃa dentro de su propio contexto". +# Con lo fácil que es poner: +# "No se ha registrado ningún programa remoto.\n" sv+ # # Demasiado complejo. -# Antes decía: -# No existe ningún procedimiento rpc registrado en la máquina remota. +# Antes decÃa: +# No existe ningún procedimiento rpc registrado en la máquina remota. # Lo cambio. sv -#: sunrpc/rpcinfo.c:570 +#: sunrpc/rpcinfo.c:579 msgid "No remote programs registered.\n" -msgstr "No hay ningún programa remoto registrado.\n" +msgstr "No hay ningún programa remoto registrado.\n" -#: sunrpc/rpcinfo.c:574 +#: sunrpc/rpcinfo.c:583 msgid " program vers proto port\n" msgstr " programa vers proto puerto\n" # FUZZY. sv -# Sugerencia: Borrar "señal". sv +# Sugerencia: Borrar "señal". sv # Sugerencia: Asegurarse de que a lo que se refiere es femenino. sv -# Según los antiguos fuentes esto era una señal ( lo comprobé entonces ) -# de todas maneras queda pendiente de revisar con la versión alemana +# Según los antiguos fuentes esto era una señal ( lo comprobé entonces ) +# de todas maneras queda pendiente de revisar con la versión alemana # no quites el fuzzy em+ -#: sunrpc/rpcinfo.c:613 +#: sunrpc/rpcinfo.c:622 msgid "(unknown)" -msgstr "(señal desconocida)" +msgstr "(señal desconocida)" -#: sunrpc/rpcinfo.c:637 +#: sunrpc/rpcinfo.c:646 #, c-format msgid "rpcinfo: broadcast failed: %s\n" -msgstr "rpcinfo: el `broadcast' no tuvo éxito: %s\n" +msgstr "rpcinfo: el `broadcast' no tuvo éxito: %s\n" -#: sunrpc/rpcinfo.c:658 +#: sunrpc/rpcinfo.c:667 msgid "Sorry. You are not root\n" msgstr "Lo siento. Usted no es root\n" -# FUZZY. Se podría añadir rpcinfo: al principio. sv +# FUZZY. Se podrÃa añadir rpcinfo: al principio. sv # Estoy pensando en poner 'dar de baja' en vez de eso em+ -#: sunrpc/rpcinfo.c:665 +#: sunrpc/rpcinfo.c:674 #, c-format msgid "rpcinfo: Could not delete registration for prog %s version %s\n" -msgstr "rpcinfo: No se pudo borrar el registro para el programa %s versión %s\n" +msgstr "rpcinfo: No se pudo borrar el registro para el programa %s versión %s\n" # Sugerencia: numprogr -> numprog. sv -# Sugerencia: numpuerto -> númpuerto. sv -# Sugerencia: numprog -> númprog. sv +# Sugerencia: numpuerto -> númpuerto. sv +# Sugerencia: numprog -> númprog. sv # OK, lo he cambiado en todo -#: sunrpc/rpcinfo.c:674 +#: sunrpc/rpcinfo.c:683 msgid "Usage: rpcinfo [ -n portnum ] -u host prognum [ versnum ]\n" -msgstr "Modo de empleo: rpcinfo [ -n númpuerto ] -u host progrnúm [ numversión ]\n" +msgstr "Modo de empleo: rpcinfo [ -n númpuerto ] -u host progrnúm [ numversión ]\n" -#: sunrpc/rpcinfo.c:676 +#: sunrpc/rpcinfo.c:685 msgid " rpcinfo [ -n portnum ] -t host prognum [ versnum ]\n" -msgstr " rpcinfo [ -n númpuerto ] -t host númprog [ númvers ]\n" +msgstr " rpcinfo [ -n númpuerto ] -t host númprog [ númvers ]\n" -#: sunrpc/rpcinfo.c:678 +#: sunrpc/rpcinfo.c:687 msgid " rpcinfo -p [ host ]\n" msgstr " rpcinfo -p [ host ]\n" -#: sunrpc/rpcinfo.c:679 +#: sunrpc/rpcinfo.c:688 msgid " rpcinfo -b prognum versnum\n" -msgstr " rpcinfo -b númprog númvers\n" +msgstr " rpcinfo -b númprog númvers\n" -#: sunrpc/rpcinfo.c:680 +#: sunrpc/rpcinfo.c:689 msgid " rpcinfo -d prognum versnum\n" -msgstr " rpcinfo -d númprog númvers\n" +msgstr " rpcinfo -d númprog númvers\n" -#: sunrpc/rpcinfo.c:695 +#: sunrpc/rpcinfo.c:714 #, c-format msgid "rpcinfo: %s is unknown service\n" msgstr "rpcinfo: el servicio `%s' es desconocido\n" -#: sunrpc/rpcinfo.c:732 +#: sunrpc/rpcinfo.c:751 #, c-format msgid "rpcinfo: %s is unknown host\n" msgstr "rpcinfo: el `host' %s es desconocido\n" -#: sunrpc/svc_run.c:76 +#: sunrpc/svc_run.c:71 +msgid "svc_run: - out of memory" +msgstr "svc_run: - memoria agotada" + +#: sunrpc/svc_run.c:91 msgid "svc_run: - poll failed" -msgstr "svc_run: - poll falló" +msgstr "svc_run: - poll falló" -#: sunrpc/svc_simple.c:87 +#: sunrpc/svc_simple.c:81 #, c-format msgid "can't reassign procedure number %ld\n" -msgstr "no se puede reasignar el número de procedimiento %ld\n" +msgstr "no se puede reasignar el número de procedimiento %ld\n" -#: sunrpc/svc_simple.c:96 +#: sunrpc/svc_simple.c:91 msgid "couldn't create an rpc server\n" msgstr "no se pudo crear un servidor rpc\n" -#: sunrpc/svc_simple.c:104 +#: sunrpc/svc_simple.c:99 #, c-format msgid "couldn't register prog %ld vers %ld\n" -msgstr "no se pudo registrar el programa %ld versión %ld\n" +msgstr "no se pudo registrar el programa %ld versión %ld\n" -#: sunrpc/svc_simple.c:111 +#: sunrpc/svc_simple.c:107 msgid "registerrpc: out of memory\n" msgstr "registerrpc: memoria agotada\n" -#: sunrpc/svc_simple.c:175 +#: sunrpc/svc_simple.c:168 #, c-format msgid "trouble replying to prog %d\n" msgstr "dificultades para responder al programa %d\n" -#: sunrpc/svc_simple.c:183 +#: sunrpc/svc_simple.c:177 #, c-format msgid "never registered prog %d\n" msgstr "el programa %d no fue registrado nunca\n" -#: sunrpc/svc_tcp.c:155 +#: sunrpc/svc_tcp.c:149 msgid "svc_tcp.c - tcp socket creation problem" msgstr "svc_tcp.c - problema al crear el `socket' tcp" -#: sunrpc/svc_tcp.c:170 +#: sunrpc/svc_tcp.c:164 msgid "svc_tcp.c - cannot getsockname or listen" -msgstr "svc_tcp.c - fallo en la ejecución de `getsockname()' o `listen()'" - -#: sunrpc/svc_tcp.c:181 sunrpc/svc_tcp.c:184 -msgid "svctcp_create: out of memory\n" -msgstr "svctcp_create: memoria agotada\n" - -#: sunrpc/svc_tcp.c:225 sunrpc/svc_tcp.c:228 -msgid "svc_tcp: makefd_xprt: out of memory\n" -msgstr "svc_tcp: makefd_xprt: memoria agotada\n" +msgstr "svc_tcp.c - fallo en la ejecución de `getsockname()' o `listen()'" -#: sunrpc/svc_udp.c:128 +#: sunrpc/svc_udp.c:122 msgid "svcudp_create: socket creation problem" msgstr "svcudp_create: problemas para crear el `socket'" -#: sunrpc/svc_udp.c:142 +#: sunrpc/svc_udp.c:136 msgid "svcudp_create - cannot getsockname" -msgstr "svcudp_create - fallo en la ejecución de `getsockname'" +msgstr "svcudp_create - fallo en la ejecución de `getsockname'" -#: sunrpc/svc_udp.c:154 sunrpc/svc_udp.c:157 -msgid "svcudp_create: out of memory\n" -msgstr "svcudp_create: memoria agotada\n" - -#: sunrpc/svc_udp.c:182 sunrpc/svc_udp.c:185 +#: sunrpc/svc_udp.c:168 msgid "svcudp_create: xp_pad is too small for IP_PKTINFO\n" -msgstr "svcudp_create: xp_pad es demasiado pequeño para IP_PKTINFO\n" +msgstr "svcudp_create: xp_pad es demasiado pequeño para IP_PKTINFO\n" -#: sunrpc/svc_udp.c:493 +#: sunrpc/svc_udp.c:476 msgid "enablecache: cache already enabled" -msgstr "enablecache: el caché ya estaba activado" +msgstr "enablecache: el caché ya estaba activado" -# Se consultó a la lista sobre si era "la caché" o "el caché" -# Parece ser indistinto, así que unas veces puede ser "la" y otras "el". +# Se consultó a la lista sobre si era "la caché" o "el caché" +# Parece ser indistinto, asà que unas veces puede ser "la" y otras "el". # dependiendo del caso (lo que mejor suene). # -#: sunrpc/svc_udp.c:499 +#: sunrpc/svc_udp.c:482 msgid "enablecache: could not allocate cache" -msgstr "enablecache: no se pudo crear espacio para el caché" +msgstr "enablecache: no se pudo crear espacio para el caché" -#: sunrpc/svc_udp.c:507 +#: sunrpc/svc_udp.c:491 msgid "enablecache: could not allocate cache data" -msgstr "enablecache: no se pudo crear espacio para los datos del caché" +msgstr "enablecache: no se pudo crear espacio para los datos del caché" -#: sunrpc/svc_udp.c:514 +#: sunrpc/svc_udp.c:499 msgid "enablecache: could not allocate cache fifo" -msgstr "enablecache: no se pudo crear espacio para la pila del caché" +msgstr "enablecache: no se pudo crear espacio para la pila del caché" -#: sunrpc/svc_udp.c:550 +#: sunrpc/svc_udp.c:535 msgid "cache_set: victim not found" -msgstr "cache_set: no se encontró el objetivo" +msgstr "cache_set: no se encontró el objetivo" -#: sunrpc/svc_udp.c:561 +#: sunrpc/svc_udp.c:546 msgid "cache_set: victim alloc failed" -msgstr "cache_set: falló la asignación de espacio para el objetivo" +msgstr "cache_set: falló la asignación de espacio para el objetivo" -#: sunrpc/svc_udp.c:567 +#: sunrpc/svc_udp.c:553 msgid "cache_set: could not allocate new rpc_buffer" -msgstr "cache_set: no se pudo asignar espacio para un nuevo búfer rpc" +msgstr "cache_set: no se pudo asignar espacio para un nuevo búfer rpc" -#: sunrpc/svc_unix.c:150 +#: sunrpc/svc_unix.c:148 msgid "svc_unix.c - AF_UNIX socket creation problem" msgstr "svc_unix.c - problema al crear el `socket' AF_UNIX" -#: sunrpc/svc_unix.c:166 +#: sunrpc/svc_unix.c:164 msgid "svc_unix.c - cannot getsockname or listen" -msgstr "svc_unix.c - fallo en la ejecución de `getsockname()' o `listen()'" - -#: sunrpc/svc_unix.c:178 sunrpc/svc_unix.c:181 -msgid "svcunix_create: out of memory\n" -msgstr "svcunix_create: memoria agotada\n" +msgstr "svc_unix.c - fallo en la ejecución de `getsockname()' o `listen()'" -#: sunrpc/svc_unix.c:222 sunrpc/svc_unix.c:225 -msgid "svc_unix: makefd_xprt: out of memory\n" -msgstr "svc_unix: makefd_xprt: memoria agotada\n" +# Habrá que mirar esto +# Mirado, efectivamente esto es una señal que habrá +# que dejarla con su nombre original ( entre paréntesis ) +#: sysdeps/generic/siglist.h:29 sysdeps/unix/siglist.c:27 +msgid "Hangup" +msgstr "Colgar (hangup)" -#: sunrpc/xdr.c:570 sunrpc/xdr.c:573 -msgid "xdr_bytes: out of memory\n" -msgstr "xdr_bytes: memoria agotada\n" +#: sysdeps/generic/siglist.h:30 sysdeps/unix/siglist.c:28 +msgid "Interrupt" +msgstr "Interrupción" -#: sunrpc/xdr.c:728 sunrpc/xdr.c:731 -msgid "xdr_string: out of memory\n" -msgstr "xdr_string: memoria agotada\n" +# PodrÃa ser también "Abandonar" sv +#: sysdeps/generic/siglist.h:31 sysdeps/unix/siglist.c:29 +msgid "Quit" +msgstr "Abandona" -#: sunrpc/xdr_array.c:111 sunrpc/xdr_array.c:114 -msgid "xdr_array: out of memory\n" -msgstr "xdr_array: memoria agotada\n" +# Se trata de una instrucción ilegal en el juego de instrucciones del 486 +# que provoca una "excepción". +#: sysdeps/generic/siglist.h:32 sysdeps/unix/siglist.c:30 +msgid "Illegal instruction" +msgstr "Instrucción ilegal" -#: sunrpc/xdr_rec.c:158 sunrpc/xdr_rec.c:161 -msgid "xdrrec_create: out of memory\n" -msgstr "xdrrec_create: memoria agotada\n" +#: sysdeps/generic/siglist.h:33 sysdeps/unix/siglist.c:31 +msgid "Trace/breakpoint trap" +msgstr "`trap' para punto de parada/seguimiento" -#: sunrpc/xdr_ref.c:88 sunrpc/xdr_ref.c:91 -msgid "xdr_reference: out of memory\n" -msgstr "xdr_reference: memoria agotada\n" +#: sysdeps/generic/siglist.h:34 +msgid "Aborted" +msgstr "Abortado" -#: nis/nis_callback.c:189 -msgid "unable to free arguments" -msgstr "no se pueden liberar los argumentos" +#: sysdeps/generic/siglist.h:35 sysdeps/unix/siglist.c:34 +msgid "Floating point exception" +msgstr "Excepción de coma flotante" -#: nis/nis_error.c:30 -msgid "Probable success" -msgstr "Éxito probable" +# A quien se le ocurra `matar' un proceso, que especifique con qué señal. +# En todo caso ` Terminado ( KILL ) ' serÃa apropiado. Ver fuentes +#: sysdeps/generic/siglist.h:36 sysdeps/unix/siglist.c:35 +msgid "Killed" +msgstr "Terminado (killed)" -#: nis/nis_error.c:31 -msgid "Not found" -msgstr "No se ha encontrado" +#: sysdeps/generic/siglist.h:37 sysdeps/unix/siglist.c:36 +msgid "Bus error" +msgstr "Error del bus" -#: nis/nis_error.c:32 -msgid "Probably not found" -msgstr "Probablemente no se encontró" +# ¿De "segmento", o de "segmentación"? sv +# De segmentación me parece incorrecto. La memoria ya estaba +# segmentada, y se intentó acceder a un segmento +# que no pertenece al programa. em +# ¿Entonces dirÃas que está mal el original inglés? sv +# No, en inglés siempre se ha dicho asÃ. Siempre he traducido +# Segmentation fault como violación de segmento. Consultémoslo, +# es un mensaje que se ve demasiado a menudo em +#: sysdeps/generic/siglist.h:38 sysdeps/unix/siglist.c:37 +msgid "Segmentation fault" +msgstr "Violación de segmento" -#: nis/nis_error.c:33 -msgid "Cache expired" -msgstr "El caché ha expirado" +# Vi traducido pipe como tubo en un libro sobre pc/dos, y me horrorizó +# menos mal que venÃa siempre la palabra `pipe' al lado entrecomillada +# +# Este mensaje sale ahora cada vez que pulsas "q" cuando haces por ejemplo +# cat loquesea | less +# Sale *muy a menudo* y estoy harto, asà que lo borro que ya está bien. sv +#. TRANS Broken pipe; there is no process reading from the other end of a pipe. +#. TRANS Every library function that returns this error code also generates a +#. TRANS @code{SIGPIPE} signal; this signal terminates the program if not handled +#. TRANS or blocked. Thus, your program will never actually see @code{EPIPE} +#. TRANS unless it has handled or blocked @code{SIGPIPE}. +#: sysdeps/generic/siglist.h:39 sysdeps/gnu/errlist.c:359 +#: sysdeps/unix/siglist.c:39 +msgid "Broken pipe" +msgstr "TuberÃa rota" -#: nis/nis_error.c:34 -msgid "NIS+ servers unreachable" -msgstr "No se puede acceder a los servidores NIS+" +#: sysdeps/generic/siglist.h:40 sysdeps/unix/siglist.c:40 +msgid "Alarm clock" +msgstr "Temporizador" -#: nis/nis_error.c:35 -msgid "Unknown object" -msgstr "Objeto desconocido" +#: sysdeps/generic/siglist.h:41 sysdeps/unix/siglist.c:41 +msgid "Terminated" +msgstr "Terminado" -#: nis/nis_error.c:36 -msgid "Server busy, try again" -msgstr "El servidor está ocupado, inténtelo de nuevo" +# ?? sigo pensando en una traducción para condición +#: sysdeps/generic/siglist.h:42 sysdeps/unix/siglist.c:42 +msgid "Urgent I/O condition" +msgstr "Condición urgente de E/S" -#: nis/nis_error.c:37 -msgid "Generic system error" -msgstr "Error del sistema genérico" +#: sysdeps/generic/siglist.h:43 sysdeps/unix/siglist.c:43 +msgid "Stopped (signal)" +msgstr "Parado (por una señal)" -#: nis/nis_error.c:38 -msgid "First/next chain broken" -msgstr "Cadena primero/siguiente rota" +#: sysdeps/generic/siglist.h:44 sysdeps/unix/siglist.c:44 +msgid "Stopped" +msgstr "Parado" -#: nis/nis_error.c:41 -msgid "Name not served by this server" -msgstr "Nombre no servido por este servidor" +#: sysdeps/generic/siglist.h:45 sysdeps/unix/siglist.c:45 +msgid "Continued" +msgstr "Continúa" -#: nis/nis_error.c:42 -msgid "Server out of memory" -msgstr "Memoria agotada en el servidor" +#: sysdeps/generic/siglist.h:46 sysdeps/unix/siglist.c:46 +msgid "Child exited" +msgstr "El proceso hijo terminó" -#: nis/nis_error.c:43 -msgid "Object with same name exists" -msgstr "Existe un objeto con el mismo nombre" +# Perdonad que sea tan largo, pero es algo que nunca está de más +# Creo que mejora al original ;) +#: sysdeps/generic/siglist.h:47 sysdeps/unix/siglist.c:47 +msgid "Stopped (tty input)" +msgstr "Parado (requiere entrada de terminal)" -#: nis/nis_error.c:44 -msgid "Not master server for this domain" -msgstr "No existe un servidor maestro para este dominio" +# Perdonad que sea tan largo, pero es algo que nunca está de más +# Creo que mejora al original ;) +#: sysdeps/generic/siglist.h:48 sysdeps/unix/siglist.c:48 +msgid "Stopped (tty output)" +msgstr "Parado (requiere salida por terminal)" -#: nis/nis_error.c:45 -msgid "Invalid object for operation" -msgstr "Objeto inválido para la operación" +#: sysdeps/generic/siglist.h:49 sysdeps/unix/siglist.c:49 +msgid "I/O possible" +msgstr "Operación de E/S permitida" -#: nis/nis_error.c:46 -msgid "Malformed name, or illegal name" -msgstr "Nombre mal escrito, o nombre ilegal" +#: sysdeps/generic/siglist.h:50 sysdeps/unix/siglist.c:50 +msgid "CPU time limit exceeded" +msgstr "Rebasado el lÃmite de tiempo de CPU" -#: nis/nis_error.c:47 -msgid "Unable to create callback" -msgstr "No se puede crear la llamada de regreso" +#: sysdeps/generic/siglist.h:51 sysdeps/unix/siglist.c:51 +msgid "File size limit exceeded" +msgstr "Superado el lÃmite de tamaño de fichero" -# ¿callback? -#: nis/nis_error.c:48 -msgid "Results sent to callback proc" -msgstr "Resultados enviados al proceso de `callback'" +#: sysdeps/generic/siglist.h:52 sysdeps/unix/siglist.c:52 +msgid "Virtual timer expired" +msgstr "El temporizador virtual llegó al final" -#: nis/nis_error.c:49 -msgid "Not found, no such name" -msgstr "No se encontró, no existe ese nombre" +# ¿No habrÃa que traducir profile? sv +# Miré los fuentes, y la última documentación de Glibc +# No se me ocurre traducción para profile ( asà se llamaba +# en los viejos apple al disco duro de 5 Megas ) em +# Pero esto no tiene nada que ver, ¿no? +# "Profiling" es ejecutar un programa midiendo qué partes de él consumen +# más tiempo. Creo recordar que esto tenÃa nombre en español, pero no +# me acuerdo de cuál. sv +# Gracias por la explicación, sé que era algo referente +# al trace o debug de un programa. Miro a la alemana. +#: sysdeps/generic/siglist.h:53 sysdeps/unix/siglist.c:53 +msgid "Profiling timer expired" +msgstr "El tiempo de CPU expiró" -#: nis/nis_error.c:50 -msgid "Name/entry isn't unique" -msgstr "El par nombre/entrada no es único" +#: sysdeps/generic/siglist.h:54 sysdeps/unix/siglist.c:54 +msgid "Window changed" +msgstr "La ventana ha cambiado" -# FIXME: ¿En qué se diferencia este del siguiente? -#: nis/nis_error.c:51 -msgid "Modification failed" -msgstr "Fallo en la modificación" +#: sysdeps/generic/siglist.h:55 sysdeps/unix/siglist.c:56 +msgid "User defined signal 1" +msgstr "Señal definida por el usuario 1" -#: nis/nis_error.c:52 -msgid "Database for table does not exist" -msgstr "No existe la base de datos para la tabla" +#: sysdeps/generic/siglist.h:56 sysdeps/unix/siglist.c:57 +msgid "User defined signal 2" +msgstr "Señal definida por el usuario 2" -#: nis/nis_error.c:53 -msgid "Entry/table type mismatch" -msgstr "Discordancia de tipo entrada/tabla" +# ???, siempre lo he usado como trap, nunca encontramos la palabra +# y es una señal estándar Unix, asà que no creo conveniente traducirla +#: sysdeps/generic/siglist.h:60 sysdeps/unix/siglist.c:33 +msgid "EMT trap" +msgstr "`trap' de EMT" -#: nis/nis_error.c:54 -msgid "Link points to illegal name" -msgstr "En enlace apunta a un nombre ilegal" +#: sysdeps/generic/siglist.h:63 sysdeps/unix/siglist.c:38 +msgid "Bad system call" +msgstr "Llamada al sistema errónea" -#: nis/nis_error.c:55 -msgid "Partial success" -msgstr "Éxito parcial" +#: sysdeps/generic/siglist.h:66 +msgid "Stack fault" +msgstr "Fallo en la pila" -#: nis/nis_error.c:56 -msgid "Too many attributes" -msgstr "Demasiados atributos" +#: sysdeps/generic/siglist.h:69 +msgid "Information request" +msgstr "Petición de información" -#: nis/nis_error.c:57 -msgid "Error in RPC subsystem" -msgstr "Error en el subsistema RPC" +#: sysdeps/generic/siglist.h:71 +msgid "Power failure" +msgstr "Fallo de alimentación" -#: nis/nis_error.c:58 -msgid "Missing or malformed attribute" -msgstr "Falta un atributo o está mal escrito" +#: sysdeps/generic/siglist.h:74 sysdeps/unix/siglist.c:55 +msgid "Resource lost" +msgstr "Recurso perdido" -#: nis/nis_error.c:59 -msgid "Named object is not searchable" -msgstr "El objeto nombrado no es localizable" +#. 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 "Operación no permitida" -# ¿callback? -#: nis/nis_error.c:60 -msgid "Error while talking to callback proc" -msgstr "Error al hablar con el proceso de `callback'" +# Sugerencia: No existe el proceso. sv +# ¿Por qué? +# Porque si "No such file or directory" se ha traducido por +# "no existe el fichero o el directorio", está claro que si le dices un +# proceso y te dice "no existe el proceso" se refiere al que +# tú le has dicho y no a otro. sv +# +#. TRANS No process matches the specified process ID. +#: sysdeps/gnu/errlist.c:45 +msgid "No such process" +msgstr "No existe el proceso" -#: nis/nis_error.c:61 -msgid "Non NIS+ namespace encountered" -msgstr "Se ha encontrado un nombre de espacio que no es NIS+" +#. TRANS Interrupted function call; an asynchronous signal occurred and prevented +#. TRANS completion of the call. When this happens, you should try the call +#. TRANS again. +#. TRANS +#. TRANS You can choose to have functions resume after a signal that is handled, +#. TRANS rather than failing with @code{EINTR}; see @ref{Interrupted +#. TRANS Primitives}. +#: sysdeps/gnu/errlist.c:60 +msgid "Interrupted system call" +msgstr "Llamada al sistema interrumpida" -#: nis/nis_error.c:62 -msgid "Illegal object type for operation" -msgstr "Objeto ilegal para la operación" +#. TRANS Input/output error; usually used for physical read or write errors. +#: sysdeps/gnu/errlist.c:69 +msgid "Input/output error" +msgstr "Error de entrada/salida" -# ¿pasado? sv -#: nis/nis_error.c:63 -msgid "Passed object is not the same object on server" -msgstr "El objeto pasado no es el mismo objeto que hay en el servidor" +#. TRANS No such device or address. The system tried to use the device +#. TRANS represented by a file you specified, and it couldn't find the device. +#. TRANS This can mean that the device file was installed incorrectly, or that +#. TRANS the physical device is missing or not correctly attached to the +#. TRANS computer. +#: sysdeps/gnu/errlist.c:82 +msgid "No such device or address" +msgstr "No existe el dispositivo o la dirección" -#: nis/nis_error.c:64 -msgid "Modify operation failed" -msgstr "La operación de modificación ha fallado" +#. TRANS Argument list too long; used when the arguments passed to a new program +#. TRANS being executed with one of the @code{exec} functions (@pxref{Executing a +#. TRANS File}) occupy too much memory space. This condition never arises in the +#. TRANS GNU system. +#: sysdeps/gnu/errlist.c:94 +msgid "Argument list too long" +msgstr "La lista de argumentos es demasiado larga" -#: nis/nis_error.c:65 -msgid "Query illegal for named table" -msgstr "Consulta ilegal para la tabla nombrada" +#. 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 "Formato de ejecutable incorrecto" -#: nis/nis_error.c:66 -msgid "Attempt to remove a non-empty table" -msgstr "Se intentó eliminar una tabla no vacía" +#. 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 "Descriptor de fichero erróneo" -#: nis/nis_error.c:67 -msgid "Error in accessing NIS+ cold start file. Is NIS+ installed?" -msgstr "Error al acceder al fichero de comienzo frio de NIS+. ¿Está NIS+ instalado?" +#. 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 "No hay ningún proceso hijo" -#: nis/nis_error.c:68 -msgid "Full resync required for directory" -msgstr "Se necesita una resincronización completa del directorio" +# ¿Sugerencias? em +# ¿Evitado? sv +# Esperemos a ver la opinión de otro. em +# +# ¡Ya la tienen! Creo que hay que traducir (o al menos preservar) deadlock. +# No dirÃa "el recurso" porque aquà "resource deadlock" significa +# "deadlock de recursos" y un deadlock siempre se trata de más de un +# recurso. -jtobey +# +# Estupendo. sv +# +#. TRANS Deadlock avoided; allocating a system resource would have resulted in a +#. TRANS deadlock situation. The system does not guarantee that it will notice +#. TRANS all such situations. This error means you got lucky and the system +#. TRANS noticed; it might just hang. @xref{File Locks}, for an example. +#: sysdeps/gnu/errlist.c:138 +msgid "Resource deadlock avoided" +msgstr "Se ha evitado un bloqueo de recursos" -#: nis/nis_error.c:69 -msgid "NIS+ operation failed" -msgstr "Falló la operación de NIS+" +#. 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 "No se pudo asignar memoria" -#: nis/nis_error.c:70 -msgid "NIS+ service is unavailable or not installed" -msgstr "El servicio NIS+ no está disponible o no está instalado" +#. 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 "Dirección incorrecta" -# ¿¿Qué demonios es esto?? sv -#: nis/nis_error.c:71 -msgid "Yes, 42 is the meaning of life" -msgstr "Sí, 42 es el significado de la vida" +#. 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 "Se requiere un dispositivo de bloques" -#: nis/nis_error.c:72 -msgid "Unable to authenticate NIS+ server" -msgstr "No se puede autentificar el servidor NIS+" +#. 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 "Dispositivo o recurso ocupado" -#: nis/nis_error.c:73 -msgid "Unable to authenticate NIS+ client" -msgstr "No se puede autentificar el cliente NIS+" +#. 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 "El fichero ya existe" -#: nis/nis_error.c:74 -msgid "No file space on server" -msgstr "No queda espacio de ficheros en el servidor" +# ??? ver esto. +#. 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 "Enlace cruzado entre dispositivos no permitido" -#: nis/nis_error.c:75 -msgid "Unable to create process on server" -msgstr "No se puede crear el proceso en el servidor" +#. 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 "No existe el dispositivo" -#: nis/nis_error.c:76 -msgid "Master server busy, full dump rescheduled." -msgstr "El servidor maestro está ocupado, el volcado completo se postpone." +#. 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 "No es un directorio" -#: nis/nis_local_names.c:126 -#, c-format -msgid "LOCAL entry for UID %d in directory %s not unique\n" -msgstr "La entrada LOCAL para el UID %d en el directorio %s no es única\n" +#. TRANS File is a directory; you cannot open a directory for writing, +#. TRANS or create or remove hard links to it. +#: sysdeps/gnu/errlist.c:239 +msgid "Is a directory" +msgstr "Es un directorio" -#: nis/nis_print.c:51 -msgid "UNKNOWN" -msgstr "DESCONOCIDO" +#. 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 "Argumento inválido" -#: nis/nis_print.c:109 -msgid "BOGUS OBJECT\n" -msgstr "OBJETO INVÁLIDO\n" +#. TRANS The current process has too many files open and can't open any more. +#. TRANS Duplicate descriptors do count toward this limit. +#. TRANS +#. TRANS In BSD and GNU, the number of open files is controlled by a resource +#. TRANS limit that can usually be increased. If you get this error, you might +#. TRANS want to increase the @code{RLIMIT_NOFILE} limit or make it unlimited; +#. TRANS @pxref{Limits on Resources}. +#: sysdeps/gnu/errlist.c:264 +msgid "Too many open files" +msgstr "Demasiados ficheros abiertos" -#: nis/nis_print.c:112 -msgid "NO OBJECT\n" -msgstr "NO HAY NINGÚN OBJETO\n" +#. TRANS There are too many distinct file openings in the entire system. Note +#. TRANS that any number of linked channels count as just one file opening; see +#. TRANS @ref{Linked Channels}. This error never occurs in the GNU system. +#: sysdeps/gnu/errlist.c:275 +msgid "Too many open files in system" +msgstr "Demasiados ficheros abiertos en el sistema" -#: nis/nis_print.c:115 -msgid "DIRECTORY\n" -msgstr "DIRECTORIO\n" +#. 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 "Función ioctl no apropiada para el dispositivo" -#: nis/nis_print.c:118 -msgid "GROUP\n" -msgstr "GRUPO\n" +#. TRANS An attempt to execute a file that is currently open for writing, or +#. TRANS write to a file that is currently being executed. Often using a +#. TRANS debugger to run a program is considered having it open for writing and +#. TRANS will cause this error. (The name stands for ``text file busy''.) This +#. TRANS is not an error in the GNU system; the text is copied as necessary. +#: sysdeps/gnu/errlist.c:298 +msgid "Text file busy" +msgstr "El fichero de texto está ocupado" -#: nis/nis_print.c:121 -msgid "TABLE\n" -msgstr "TABLA\n" +#. TRANS File too big; the size of a file would be larger than allowed by the system. +#: sysdeps/gnu/errlist.c:307 +msgid "File too large" +msgstr "Fichero demasiado grande" -#: nis/nis_print.c:124 -msgid "ENTRY\n" -msgstr "ENTRADA\n" +#. TRANS No space left on device; write operation on a file failed because the +#. TRANS disk is full. +#: sysdeps/gnu/errlist.c:317 +msgid "No space left on device" +msgstr "No queda espacio en el dispositivo" -#: nis/nis_print.c:127 -msgid "LINK\n" -msgstr "ENLACE\n" +# ¿"seek" no era "desplazamiento"? sv +# Según el contexto no se puede saber a qué se refiere +# cambio ... por no permitida em+ +# Suggestion: "Llamada a lseek() inválida" -jtobey +# SÃ, bueno, esto lo hemos traducido otras veces por desplazamiento, asà +# que lo cambio (antes era "búsqueda no permitida"). +# Como hay varias funciones de desplazamiento creo que es mejor +# no decantarse por ninguna en particular. sv +#. TRANS Invalid seek operation (such as on a pipe). +#: sysdeps/gnu/errlist.c:326 +msgid "Illegal seek" +msgstr "Desplazamiento ilegal" -#: nis/nis_print.c:130 -msgid "PRIVATE\n" -msgstr "PRIVADO\n" +#. TRANS An attempt was made to modify something on a read-only file system. +#: sysdeps/gnu/errlist.c:335 +msgid "Read-only file system" +msgstr "Sistema de ficheros de sólo lectura" -#: nis/nis_print.c:133 -msgid "(Unknown object)\n" -msgstr "(Objeto desconocido)\n" +#. TRANS Too many links; the link count of a single file would become too large. +#. TRANS @code{rename} can cause this error if the file being renamed already has +#. TRANS as many links as it can take (@pxref{Renaming Files}). +#: sysdeps/gnu/errlist.c:346 +msgid "Too many links" +msgstr "Demasiados enlaces" -#: nis/nis_print.c:166 -#, c-format -msgid "Name : `%s'\n" -msgstr "Nombre : `%s'\n" +#. TRANS Domain error; used by mathematical functions when an argument value does +#. TRANS not fall into the domain over which the function is defined. +#: sysdeps/gnu/errlist.c:369 +msgid "Numerical argument out of domain" +msgstr "Argumento numérico fuera del dominio de la función" -#: nis/nis_print.c:167 -#, c-format -msgid "Type : %s\n" -msgstr "Tipo : %s\n" +#. TRANS Range error; used by mathematical functions when the result value is +#. TRANS not representable because of overflow or underflow. +#: sysdeps/gnu/errlist.c:379 +msgid "Numerical result out of range" +msgstr "Resultado numérico fuera de rango" -#: nis/nis_print.c:172 -msgid "Master Server :\n" -msgstr "Servidor Maestro :\n" +#. TRANS Resource temporarily unavailable; the call might work if you try again +#. TRANS later. The macro @code{EWOULDBLOCK} is another name for @code{EAGAIN}; +#. TRANS they are always the same in the GNU C library. +#. TRANS +#. TRANS This error can happen in a few different situations: +#. TRANS +#. TRANS @itemize @bullet +#. TRANS @item +#. TRANS An operation that would block was attempted on an object that has +#. TRANS non-blocking mode selected. Trying the same operation again will block +#. TRANS until some external condition makes it possible to read, write, or +#. TRANS connect (whatever the operation). You can use @code{select} to find out +#. TRANS when the operation will be possible; @pxref{Waiting for I/O}. +#. TRANS +#. TRANS @strong{Portability Note:} In many older Unix systems, this condition +#. TRANS was indicated by @code{EWOULDBLOCK}, which was a distinct error code +#. TRANS different from @code{EAGAIN}. To make your program portable, you should +#. TRANS check for both codes and treat them the same. +#. TRANS +#. TRANS @item +#. TRANS A temporary resource shortage made an operation impossible. @code{fork} +#. TRANS can return this error. It indicates that the shortage is expected to +#. TRANS pass, so your program can try the call again later and it may succeed. +#. TRANS It is probably a good idea to delay for a few seconds before trying it +#. TRANS again, to allow time for other processes to release scarce resources. +#. TRANS Such shortages are usually fairly serious and affect the whole system, +#. TRANS so usually an interactive program should report the error to the user +#. TRANS and return to its command loop. +#. TRANS @end itemize +#: sysdeps/gnu/errlist.c:416 +msgid "Resource temporarily unavailable" +msgstr "Recurso no disponible temporalmente" -# ¿Replicate? -#: nis/nis_print.c:174 -msgid "Replicate :\n" -msgstr "Replicado :\n" +#. TRANS In the GNU C library, this is another name for @code{EAGAIN} (above). +#. TRANS The values are always the same, on every operating system. +#. TRANS +#. TRANS C libraries in many older Unix systems have @code{EWOULDBLOCK} as a +#. TRANS separate error code. +#: sysdeps/gnu/errlist.c:429 +msgid "Operation would block" +msgstr "La operación se bloquearÃa" -#: nis/nis_print.c:175 -#, c-format -msgid "\tName : %s\n" -msgstr "\tNombre : %s\n" +#. TRANS An operation that cannot complete immediately was initiated on an object +#. TRANS that has non-blocking mode selected. Some functions that must always +#. TRANS block (such as @code{connect}; @pxref{Connecting}) never return +#. TRANS @code{EAGAIN}. Instead, they return @code{EINPROGRESS} to indicate that +#. TRANS the operation has begun and will take some time. Attempts to manipulate +#. TRANS the object before the call completes return @code{EALREADY}. You can +#. TRANS use the @code{select} function to find out when the pending operation +#. TRANS has completed; @pxref{Waiting for I/O}. +#: sysdeps/gnu/errlist.c:445 +msgid "Operation now in progress" +msgstr "Operación en curso" -#: nis/nis_print.c:176 -msgid "\tPublic Key : " -msgstr "\tClave Pública : " +# Vale, pero muy poco más abajo has puesto "en curso", que me parece mejor. sv +# Creo que prefiero dejar uno de cada. Se me ocurre si no cambiar el +# de abajo también. em +#. 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 "La operación ya se está llevando a cabo" -#: nis/nis_print.c:180 -msgid "None.\n" -msgstr "Ninguno.\n" +#. 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 "Operación de `socket' en un `no-socket'" -#: nis/nis_print.c:183 -#, c-format -msgid "Diffie-Hellmann (%d bits)\n" -msgstr "Diffie-Hellmann (%d bits)\n" +#. 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 "Mensaje demasiado largo" -#: nis/nis_print.c:188 -#, c-format -msgid "RSA (%d bits)\n" -msgstr "RSA (%d bits)\n" +#. TRANS The socket type does not support the requested communications protocol. +#: sysdeps/gnu/errlist.c:483 +msgid "Protocol wrong type for socket" +msgstr "Tipo de protocolo incorrecto para el `socket'" -# Véase "Investigación y Ciencia" sv -#: nis/nis_print.c:191 -msgid "Kerberos.\n" -msgstr "Cerbero.\n" +#. TRANS You specified a socket option that doesn't make sense for the +#. TRANS particular protocol being used by the socket. @xref{Socket Options}. +#: sysdeps/gnu/errlist.c:493 +msgid "Protocol not available" +msgstr "Protocolo no disponible" -#: nis/nis_print.c:194 -#, c-format -msgid "Unknown (type = %d, bits = %d)\n" -msgstr "Desconocido (tipo = %d, bits = %d)\n" +#. 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 "Protocolo no soportado" -#: nis/nis_print.c:205 -#, c-format -msgid "\tUniversal addresses (%u)\n" -msgstr "\tDirección universal (%u)\n" +#. TRANS The socket type is not supported. +#: sysdeps/gnu/errlist.c:513 +msgid "Socket type not supported" +msgstr "Tipo de `socket' no soportado" -#: nis/nis_print.c:227 -msgid "Time to live : " -msgstr "Tiempo de vida : " +#. TRANS The operation you requested is not supported. Some socket functions +#. TRANS don't make sense for all types of sockets, and others may not be +#. TRANS implemented for all communications protocols. In the GNU system, this +#. TRANS error can happen for many calls when the object does not support the +#. TRANS particular operation; it is a generic indication that the server knows +#. TRANS nothing to do for that call. +#: sysdeps/gnu/errlist.c:527 +msgid "Operation not supported" +msgstr "La operación no está soportada" -#: nis/nis_print.c:229 -msgid "Default Access rights :\n" -msgstr "Derechos de acceso predeterminados :\n" +#. TRANS The socket communications protocol family you requested is not supported. +#: sysdeps/gnu/errlist.c:536 +msgid "Protocol family not supported" +msgstr "Familia de protocolos no soportada" -#: nis/nis_print.c:238 -#, c-format -msgid "\tType : %s\n" -msgstr "\tTipo : %s\n" +#. TRANS The address family specified for a socket is not supported; it is +#. TRANS inconsistent with the protocol being used on the socket. @xref{Sockets}. +#: sysdeps/gnu/errlist.c:546 +msgid "Address family not supported by protocol" +msgstr "Esta familia de direcciones no está soportada por el protocolo" -#: nis/nis_print.c:239 -msgid "\tAccess rights: " -msgstr "\tDerechos de acceso: " +#. TRANS The requested socket address is already in use. @xref{Socket Addresses}. +#: sysdeps/gnu/errlist.c:555 +msgid "Address already in use" +msgstr "La dirección ya se está usando" -#: nis/nis_print.c:252 -msgid "Group Flags :" -msgstr "Opciones de Grupo :" +#. 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 "No se puede asignar la dirección solicitada" -#: nis/nis_print.c:255 -msgid "" -"\n" -"Group Members :\n" -msgstr "" -"\n" -"Miembros del Grupo :\n" +#. TRANS A socket operation failed because the network was down. +#: sysdeps/gnu/errlist.c:575 +msgid "Network is down" +msgstr "La red no está activa" -#: nis/nis_print.c:266 -#, c-format -msgid "Table Type : %s\n" -msgstr "Tipo de Tabla : %s\n" +# Este no me gusta. PreferirÃa poner "la red es inaccesible", o al menos +# añadirle un "es": "Es imposible conectar con la red". sv +# En muchos mensajes he puesto el 'Es' al principio, terminaremos hablando +# como indios si no. em +# +# Mira un mensaje que he puesto más arriba a ver si estás de acuerdo con +# mi definición de "indio". sv +# +# Después de que me haya salido este mensaje varias veces, lo cambio. +# Antes decÃa "Es imposible conectar con la red", demasiado largo. sv +#. 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 "La red es inaccesible" -#: nis/nis_print.c:267 -#, c-format -msgid "Number of Columns : %d\n" -msgstr "Número de Columnas : %d\n" +#. TRANS A network connection was reset because the remote host crashed. +#: sysdeps/gnu/errlist.c:594 +msgid "Network dropped connection on reset" +msgstr "La conexión de red se perdió al reinicializar" -#: nis/nis_print.c:268 -#, c-format -msgid "Character Separator : %c\n" -msgstr "Separador de Caracteres : %c\n" +#. TRANS A network connection was aborted locally. +#: sysdeps/gnu/errlist.c:603 +msgid "Software caused connection abort" +msgstr "El programa provocó el fin de la conexión" -#: nis/nis_print.c:269 -#, c-format -msgid "Search Path : %s\n" -msgstr "Ruta de búsqueda : %s\n" +# Se aceptan sugerencias alternativas para "peer" +# ¿Qué tal "remote machine"? ;-) +# Prefiero la traducción. -jtobey +# La verdad es que no se me ocurre nada mejor, asà que se queda asÃ. sv +#. 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 "Conexión reinicializada por la máquina remota" -#: nis/nis_print.c:270 -msgid "Columns :\n" -msgstr "Columnas :\n" +# Memoria intermedia me parece una traducción óptima. +# Desgraciadamente no tengo ningún diccionario de Castellano +# Enrique, creo que en español existe "búfer", mÃralo si puedes. sv +# ¿Buffer? memoria intermedia. +# A ver qué dice Iñaky... sv +#. 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 "No queda espacio para memoria intermedia" -#: nis/nis_print.c:273 -#, c-format -msgid "\t[%d]\tName : %s\n" -msgstr "\t[%d]\tNombre : %s\n" +#. TRANS You tried to connect a socket that is already connected. +#. TRANS @xref{Connecting}. +#: sysdeps/gnu/errlist.c:635 +msgid "Transport endpoint is already connected" +msgstr "El otro extremo ya está conectado" -#: nis/nis_print.c:275 -msgid "\t\tAttributes : " -msgstr "\t\tAtributos : " +#. TRANS The socket is not connected to anything. You get this error when you +#. TRANS try to transmit data over a socket, without first specifying a +#. TRANS destination for the data. For a connectionless socket (for datagram +#. TRANS protocols, such as UDP), you get @code{EDESTADDRREQ} instead. +#: sysdeps/gnu/errlist.c:647 +msgid "Transport endpoint is not connected" +msgstr "El otro extremo de la conexión no está conectado" -#: nis/nis_print.c:277 -msgid "\t\tAccess Rights : " -msgstr "\t\tDerechos de Acceso : " +#. 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 "Se debe especificar la dirección de destino" -#: nis/nis_print.c:286 -msgid "Linked Object Type : " -msgstr "Tipo de objeto enlazado : " +#. TRANS The socket has already been shut down. +#: sysdeps/gnu/errlist.c:667 +msgid "Cannot send after transport endpoint shutdown" +msgstr "No se puede enviar tras la destrucción del punto de destino" -#: nis/nis_print.c:288 -#, c-format -msgid "Linked to : %s\n" -msgstr "Enlazado a : %s\n" +# FUZZY +#. TRANS ??? +#: sysdeps/gnu/errlist.c:676 +msgid "Too many references: cannot splice" +msgstr "Demasiadas referencias: no se pueden solapar" -#: nis/nis_print.c:297 -#, c-format -msgid "\tEntry data of type %s\n" -msgstr "\tEntrada de tipo %s\n" +#. TRANS A socket operation with a specified timeout received no response during +#. TRANS the timeout period. +#: sysdeps/gnu/errlist.c:686 +msgid "Connection timed out" +msgstr "Expiró el tiempo de conexión" -#: nis/nis_print.c:300 -#, c-format -msgid "\t[%u] - [%u bytes] " -msgstr "\t[%u] - [%u bytes] " +#. 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 "Conexión rehusada" -#: nis/nis_print.c:303 -msgid "Encrypted data\n" -msgstr "Datos cifrados\n" +#. TRANS Too many levels of symbolic links were encountered in looking up a file name. +#. TRANS This often indicates a cycle of symbolic links. +#: sysdeps/gnu/errlist.c:706 +msgid "Too many levels of symbolic links" +msgstr "Demasiados niveles de enlaces simbólicos" -#: nis/nis_print.c:305 -msgid "Binary data\n" -msgstr "Datos binarios\n" +#. TRANS Filename too long (longer than @code{PATH_MAX}; @pxref{Limits for +#. TRANS Files}) or host name too long (in @code{gethostname} or +#. TRANS @code{sethostname}; @pxref{Host Identification}). +#: sysdeps/gnu/errlist.c:717 +msgid "File name too long" +msgstr "Nombre de fichero demasiado largo" -#: nis/nis_print.c:320 -#, c-format -msgid "Object Name : %s\n" -msgstr "Nombre del Objeto : %s\n" +# La palabra "host" es delicada. +# En spanglish algunos la traducen por "anfitrión". +# +# Enrique considera equÃvoca la propia palabra host. +# [ A un huésped también se le llama "host" ]. +# +# En este fichero .po he decidido ser cauto y de momento la dejaré sin +# traducir. De acuerdo con nuestra costumbre, cuando una palabra no nos +# atrevemos a traducirla la encerramos entre apóstrofos: `host' +# +#. TRANS The remote host for a requested network connection is down. +#: sysdeps/gnu/errlist.c:726 +msgid "Host is down" +msgstr "El `host' no está operativo" -#: nis/nis_print.c:321 -#, c-format -msgid "Directory : %s\n" -msgstr "Directorio : %s\n" +#. TRANS The remote host for a requested network connection is not reachable. +#: sysdeps/gnu/errlist.c:735 +msgid "No route to host" +msgstr "No existe ninguna ruta hasta el `host'" -#: nis/nis_print.c:322 -#, c-format -msgid "Owner : %s\n" -msgstr "Propietario : %s\n" +#. TRANS Directory not empty, where an empty directory was expected. Typically, +#. TRANS this error occurs when you are trying to delete a directory. +#: sysdeps/gnu/errlist.c:745 +msgid "Directory not empty" +msgstr "El directorio no está vacÃo" -#: nis/nis_print.c:323 -#, c-format -msgid "Group : %s\n" -msgstr "Grupo : %s\n" +#. TRANS This means that the per-user limit on new process would be exceeded by +#. TRANS an attempted @code{fork}. @xref{Limits on Resources}, for details on +#. TRANS the @code{RLIMIT_NPROC} limit. +#: sysdeps/gnu/errlist.c:756 +msgid "Too many processes" +msgstr "Demasiados procesos" -#: nis/nis_print.c:324 -msgid "Access Rights : " -msgstr "Derechos de acceso : " +#. 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 "Demasiados usuarios" -#: nis/nis_print.c:326 -#, c-format -msgid "" -"\n" -"Time to Live : " -msgstr "" -"\n" -"Tiempo de Vida : " +#. TRANS The user's disk quota was exceeded. +#: sysdeps/gnu/errlist.c:775 +msgid "Disk quota exceeded" +msgstr "Se ha excedido la cuota de disco" -#: nis/nis_print.c:329 -#, c-format -msgid "Creation Time : %s" -msgstr "Fecha de creación : %s" +# ?? sugerencias ? +# Habrá que traducir el "handle" de alguna forma... sv +# No veo porqué. em +# ¿No puede un fichero tener varios `handles' +# y que unos estén bloqueados y otros no? sv +# En efecto la traducción es incorrecta, el uso de file handle +# en vez de file descriptor, debe ser porque nos referimos a ficheros +# compartidos con NFS. Al igual que no se bloquean, sino que se stalan :) +# +# Suggestion: stale->vencido. No me gusta "bloqueado" porque el +# remedio necesita una acción, y "bloqueado" sugiere esperar. +# No me gusta "fichero" simplemente, pues el fichero estará perfectamente +# bien; lo que se venció es el "handle" o sea el número o nombre que +# nos da acceso al fichero. Habrá que traducir el "handle", como dijo sv. +# -jtobey +# +# Muy bien, he buscado "stale" y por lo que parece es algo que "caduca" +# o que "vence", como las letras comerciales. Me he decidido por "en desuso". +# +#. TRANS Stale NFS file handle. This indicates an internal confusion in the NFS +#. TRANS system which is due to file system rearrangements on the server host. +#. TRANS Repairing this condition usually requires unmounting and remounting +#. TRANS the NFS file system on the local host. +#: sysdeps/gnu/errlist.c:787 +msgid "Stale NFS file handle" +msgstr "`handle' de fichero NFS en desuso" -#: nis/nis_print.c:331 -#, c-format -msgid "Mod. Time : %s" -msgstr "Fecha de modificación: %s" +#. TRANS An attempt was made to NFS-mount a remote file system with a file name that +#. TRANS already specifies an NFS-mounted file. +#. TRANS (This is an error on some operating systems, but we expect it to work +#. TRANS properly on the GNU system, making this error code impossible.) +#: sysdeps/gnu/errlist.c:799 +msgid "Object is remote" +msgstr "El objeto es remoto" -#: nis/nis_print.c:332 -msgid "Object Type : " -msgstr "Tipo del Objeto : " +#. TRANS ??? +#: sysdeps/gnu/errlist.c:808 +msgid "RPC struct is bad" +msgstr "la estructura RPC es incorrecta" -#: nis/nis_print.c:352 -#, c-format -msgid " Data Length = %u\n" -msgstr " Longitud de los datos = %u\n" +#. TRANS ??? +#: sysdeps/gnu/errlist.c:817 +msgid "RPC version wrong" +msgstr "versión de RPC incorrecta" -#: nis/nis_print.c:365 -#, c-format -msgid "Status : %s\n" -msgstr "Estado : %s\n" +#. TRANS ??? +#: sysdeps/gnu/errlist.c:826 +msgid "RPC program not available" +msgstr "Programa RPC no disponible" -#: nis/nis_print.c:366 -#, c-format -msgid "Number of objects : %u\n" -msgstr "Número de objetos : %u\n" +#. TRANS ??? +#: sysdeps/gnu/errlist.c:835 +msgid "RPC program version wrong" +msgstr "Versión del programa RPC incorrecta" -# Tal vez habría que poner núm en vez de #. sv -#: nis/nis_print.c:370 -#, c-format -msgid "Object #%d:\n" -msgstr "Objeto #%d:\n" +# ## qué horror +# ## Pues mira, quizá añadiendo dos puntos después del RPC mejorarÃa algo: +# ## "RPC: procedimiento erróneo..." sv +# FIXME -> Comunicarlo al autor. +# En inglés podrÃa quedar también mejor. +#. TRANS ??? +#: sysdeps/gnu/errlist.c:844 +msgid "RPC bad procedure for program" +msgstr "RPC: procedimiento erróneo para el programa" -#: nis/nis_print_group_entry.c:115 -#, c-format -msgid "Group entry for \"%s.%s\" group:\n" -msgstr "Entrada de grupo para el grupo \"%s.%s\"\n" +# Ojo: ¿Solamente los ficheros se pueden bloquear? +# PropondrÃa: "No quedan bloqueos disponibles" o algo asÃ. sv +# +# Efectivamente puede que tengas razón, pero ... +# los dispositivos en UNIX son siempre ficheros /dev :) em +# +# Lo sé, lo sé, pero: Cuando bloqueas /dev/cua3, ¿dices que estás bloqueando un +# fichero o que estás bloqueando el módem, que es un dispositivo? sv +# Decir ficheros podrÃa traer equÃvocos, por más que formalmente todos +# lo sean. sv +# +# ¿Y qué se te ocurre?, ¿poner bloquear ficheros/dispositivos? em +# +# ( Pues mira, no estarÃa mal. sv ) +# +# no quedan bloqueos me parece que no colabora a entender nada. em +# Miro la versión alemana. +# ??? ¿locks? ¿cómo diablos? +#. TRANS No locks available. This is used by the file locking facilities; see +#. TRANS @ref{File Locks}. This error is never generated by the GNU system, but +#. TRANS it can result from an operation to an NFS server running another +#. TRANS operating system. +#: sysdeps/gnu/errlist.c:856 +msgid "No locks available" +msgstr "No se pueden bloquear más ficheros" -#: nis/nis_print_group_entry.c:123 -msgid " Explicit members:\n" -msgstr " Miembros explícitos:\n" +#. TRANS Inappropriate file type or format. The file was the wrong type for the +#. TRANS operation, or a data file had the wrong format. +#. TRANS +#. TRANS On some systems @code{chmod} returns this error if you try to set the +#. TRANS sticky bit on a non-directory file; @pxref{Setting Permissions}. +#: sysdeps/gnu/errlist.c:869 +msgid "Inappropriate file type or format" +msgstr "Formato o tipo de fichero no apropiado" -#: nis/nis_print_group_entry.c:128 -msgid " No explicit members\n" -msgstr " No hay ningún miembro explícito\n" +#. TRANS ??? +#: sysdeps/gnu/errlist.c:878 +msgid "Authentication error" +msgstr "Error de autentificación" -#: nis/nis_print_group_entry.c:131 -msgid " Implicit members:\n" -msgstr " Miembros implícitos:\n" +#. TRANS ??? +#: sysdeps/gnu/errlist.c:887 +msgid "Need authenticator" +msgstr "Se necesita un autentificador" -#: nis/nis_print_group_entry.c:136 -msgid " No implicit members\n" -msgstr " No hay ningún miembro implícito\n" +#. TRANS Function not implemented. This indicates that the function called is +#. TRANS not implemented at all, either in the C library itself or in the +#. TRANS operating system. When you get this error, you can be sure that this +#. TRANS particular function will always fail with @code{ENOSYS} unless you +#. TRANS install a new version of the C library or the operating system. +#: sysdeps/gnu/errlist.c:900 +msgid "Function not implemented" +msgstr "Función no implementada" -#: nis/nis_print_group_entry.c:139 -msgid " Recursive members:\n" -msgstr " Miembros recursivos:\n" +#. TRANS Not supported. A function returns this error when certain parameter +#. TRANS values are valid, but the functionality they request is not available. +#. TRANS This can mean that the function does not implement a particular command +#. TRANS or option value or flag bit at all. For functions that operate on some +#. TRANS object given in a parameter, such as a file descriptor or a port, it +#. TRANS might instead mean that only @emph{that specific object} (file +#. TRANS descriptor, port, etc.) is unable to support the other parameters given; +#. TRANS different file descriptors might support different ranges of parameter +#. TRANS values. +#. TRANS +#. TRANS If the entire function is not available at all in the implementation, +#. TRANS it returns @code{ENOSYS} instead. +#: sysdeps/gnu/errlist.c:920 +msgid "Not supported" +msgstr "No soportado" -#: nis/nis_print_group_entry.c:144 -msgid " No recursive members\n" -msgstr " No hay ningún miembro recursivo\n" +#. TRANS While decoding a multibyte character the function came along an invalid +#. TRANS or an incomplete sequence of bytes or the given wide character is invalid. +#: sysdeps/gnu/errlist.c:930 +msgid "Invalid or incomplete multibyte or wide character" +msgstr "El carácter multibyte o extendido está incompleto o es inválido" -#: nis/nis_print_group_entry.c:147 nis/nis_print_group_entry.c:163 -msgid " Explicit nonmembers:\n" -msgstr " No-miembros explícitos:\n" +# Habrá que ver a qué se refiere. +# +# Si le pones el "es", ponle el "La" al principio. +# O no le pongas ninguno de los dos, si no es realmente necesario. +# Creo que no es malo que una oración no tenga verbo, pero si lo tiene +# debe ser una oración completa. Me explico: +# 1 "operación no válida" serÃa admisible. +# 2 "operación no es válida" suena completamente a indio (inadmisible). +# 3 "la operación no es válida" es mucho mejor que 2, pero no siempre +# es mejor que 1. sv +# +# En este caso, creo que sobran el "La" y el "es". Por eso le he quitado +# el "es". sv +#. TRANS In the GNU system, servers supporting the @code{term} protocol return +#. TRANS this error for certain operations when the caller is not in the +#. TRANS foreground process group of the terminal. Users do not usually see this +#. TRANS error because functions such as @code{read} and @code{write} translate +#. TRANS it into a @code{SIGTTIN} or @code{SIGTTOU} signal. @xref{Job Control}, +#. TRANS for information on process groups and these signals. +#: sysdeps/gnu/errlist.c:944 +msgid "Inappropriate operation for background process" +msgstr "Operación no válida para un proceso en segundo plano" -#: nis/nis_print_group_entry.c:152 -msgid " No explicit nonmembers\n" -msgstr " No hay ningún no-miembro explícito\n" +# Requiescant in pace. ¿de verdad lo vas a dejar asÃ? :-) sv +# Creà que el traductor eras tú. cuÃdate, oye. +# Lo siento pero no se me ocurre nada en su lugar. sv +# +# Tengo que mirar los fuentes, de esto y de muchas otras cosas +# todo esta en mi disco duro en mi ordenador roto. em +# +# Uds. han usado "terminado" para "killed"... ¿qué les parece +# "Se terminó el traductor"? -jtobey +# +# Muy bien, pero lo pongo en pretérito perfecto. sv +# +#. 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 "El traductor ha terminado" -#: nis/nis_print_group_entry.c:155 -msgid " Implicit nonmembers:\n" -msgstr " No-miembros implícitos:\n" +#. TRANS The experienced user will know what is wrong. +#. TRANS @c This error code is a joke. Its perror text is part of the joke. +#. TRANS @c Don't change it. +#: sysdeps/gnu/errlist.c:966 +msgid "?" +msgstr "?" -#: nis/nis_print_group_entry.c:160 -msgid " No implicit nonmembers\n" -msgstr " No hay ningún no-miembro implícito\n" +# ?? Ni idea de como traducir esto +# "Ciertamente expiraste durante este tiempo" em +# this time es esta *vez* Pero como no acabo de verle el sentido a la frase +# prefiero que no corramos el riesgo. sv +# Sin fuentes no se puede hacer. Cogeré la traducción de Ulrich Drepper +# al alemán, no sé cómo no se me habÃa ocurrido antes. em +# Muy buena idea. Suerte que tenemos un coordinador que sabe alemán :-) sv +# El problema es que la 1.10.1 no esta disponible todavÃa. Le he mandado un +# mail para que me envÃe lo que tenga hecho. em +# Ok, traducido exactamente igual que lo tiene Jochen. Es ist keine Schuld +# von mir wenn es gar nicht stimmt. +# +# Sugerencia: "Ahora sà que te lo has cargado". sv+ +# (Preguntar a nuestros amigos americanos si se entiende). +# (Es que me suena que "blew" no es muy fino, por eso romper es +# demasiado suave). +# +#. TRANS You did @strong{what}? +#: sysdeps/gnu/errlist.c:975 +msgid "You really blew it this time" +msgstr "Esta vez sà que lo has roto" -#: nis/nis_print_group_entry.c:168 -msgid " No recursive nonmembers\n" -msgstr " No hay ningún no-miembro recursivo\n" +# ¿qué diablos es esto?, esperemos a tener las fuentes +# estupendo, este error parece mostrarse en dos ocasiones +# - Macro: int EIEIO +# Go home and have a glass of warm, dairy-fresh milk. +# Jochen tambien lo traduce asÃ. em +# +# Okay. Since you are dying to know, I'll tell you. +# This is a joke, obviously. There is a children's song which begins, +# "Old McDonald had a farm, e-i-e-i-o." Every time I see the (real) +# errno macro EIO, I think about that song. Probably most of my +# compatriots who program on Unix do, too. One of them must have stayed +# up a little too late one night and decided to add it to Hurd or Glibc. +# Whoever did it should be castigated, but it made me laugh. +# --jtobey@channel1.com +# +# "bought the farm" means "died". -jtobey +# +# Bueno, pues después de pensarlo mucho, he seguido el ejemplo de la +# traducción francesa (traducción libre). sv +#. TRANS Go home and have a glass of warm, dairy-fresh milk. +#: sysdeps/gnu/errlist.c:984 +msgid "Computer bought the farm" +msgstr "Anda, vete a casa y tómate un vasito de leche" -#: nis/nss_nisplus/nisplus-publickey.c:101 -#: nis/nss_nisplus/nisplus-publickey.c:182 -#, c-format -msgid "DES entry for netname %s not unique\n" -msgstr "La entrada DES para el nombre %s no es única\n" +#. TRANS This error code has no purpose. +#: sysdeps/gnu/errlist.c:993 +msgid "Gratuitous error" +msgstr "Error injustificado" -#: nis/nss_nisplus/nisplus-publickey.c:218 -#, c-format -msgid "netname2user: missing group id list in `%s'." -msgstr "netname2user: falta la lista de ids de grupo en `%s'." +#: sysdeps/gnu/errlist.c:1001 +msgid "Bad message" +msgstr "Mensaje erróneo" -#: nis/nss_nisplus/nisplus-publickey.c:300 -#: nis/nss_nisplus/nisplus-publickey.c:306 -#: nis/nss_nisplus/nisplus-publickey.c:370 -#: nis/nss_nisplus/nisplus-publickey.c:379 -#, c-format -msgid "netname2user: (nis+ lookup): %s\n" -msgstr "netname2user: (búsqueda nis+): %s\n" +#: sysdeps/gnu/errlist.c:1009 +msgid "Identifier removed" +msgstr "El identificador se ha eliminado" -#: nis/nss_nisplus/nisplus-publickey.c:319 -#, c-format -msgid "netname2user: DES entry for %s in directory %s not unique" -msgstr "netname2user: la entrada DES para %s en el directorio %s no es única" +# FUZZY em+ +# No tengo ni idea de qué es un HOP +# este error, que ya lo vi en errno no +# lo encuentro documentado +# "Hop" es "saltito", por ej. un enlace directo que es parte de la ruta +# entre dos máquinas. --jtobey +#: sysdeps/gnu/errlist.c:1017 +msgid "Multihop attempted" +msgstr "Se ha intentado un `multihop'" -#: nis/nss_nisplus/nisplus-publickey.c:337 -#, c-format -msgid "netname2user: principal name `%s' too long" -msgstr "netname2user: el nombre principal `%s' es demasiado largo" +#: sysdeps/gnu/errlist.c:1025 +msgid "No data available" +msgstr "No hay datos disponibles" -#: nis/nss_nisplus/nisplus-publickey.c:392 -#, c-format -msgid "netname2user: LOCAL entry for %s in directory %s not unique" -msgstr "netname2user: la entrada LOCAL para %s en el directorio %s no es única" +#: sysdeps/gnu/errlist.c:1033 +msgid "Link has been severed" +msgstr "El enlace se ha cortado" -#: nis/nss_nisplus/nisplus-publickey.c:399 -msgid "netname2user: should not have uid 0" -msgstr "netname2user: no debería tener uid 0" +#: sysdeps/gnu/errlist.c:1041 +msgid "No message of desired type" +msgstr "Ningún mensaje del tipo deseado" -#: nis/ypclnt.c:171 -#, c-format -msgid "YPBINDPROC_DOMAIN: %s\n" -msgstr "YPBINDPROC_DOMAIN: %s\n" +# FIXME: Este mensaje deberÃa ser igual al anterior. sv +#: sysdeps/gnu/errlist.c:1049 +msgid "Out of streams resources" +msgstr "Alcanzado el lÃmite de recursos de `streams'" -#: nis/ypclnt.c:780 -msgid "Request arguments bad" -msgstr "Los argumentos de la petición son incorrectos" +# FUZZY +# Tal vez "de flujo", pero no sé si me atrevo... sv +#: sysdeps/gnu/errlist.c:1057 +msgid "Device not a stream" +msgstr "El dispositivo no es un `stream'" -#: nis/ypclnt.c:782 -msgid "RPC failure on NIS operation" -msgstr "Fallo RPC en una operación NIS" +#: sysdeps/gnu/errlist.c:1065 +msgid "Value too large for defined data type" +msgstr "Valor demasiado grande para el tipo de datos definido" -#: nis/ypclnt.c:784 -msgid "Can't bind to server which serves this domain" -msgstr "Ha fallado la llamada a bind() con el servidor que sirve a este dominio" +#: sysdeps/gnu/errlist.c:1073 +msgid "Protocol error" +msgstr "Error de protocolo" -#: nis/ypclnt.c:786 -msgid "No such map in server's domain" -msgstr "No existe esa tabla en el dominio del servidor" +#: sysdeps/gnu/errlist.c:1081 +msgid "Timer expired" +msgstr "El temporizador llegó al final" -#: nis/ypclnt.c:788 -msgid "No such key in map" -msgstr "No existe esta clave en la tabla" +#. TRANS Operation canceled; an asynchronous operation was canceled before it +#. TRANS completed. @xref{Asynchronous I/O}. When you call @code{aio_cancel}, +#. TRANS the normal result is for the operations affected to complete with this +#. TRANS error; @pxref{Cancel AIO Operations}. +#: sysdeps/gnu/errlist.c:1093 +msgid "Operation canceled" +msgstr "Operación cancelada" -#: nis/ypclnt.c:790 -msgid "Internal NIS error" -msgstr "Error interno de NIS" +# FUZZY +#: sysdeps/gnu/errlist.c:1101 +msgid "Interrupted system call should be restarted" +msgstr "La llamada al sistema interrumpida deberÃa volverse a iniciar" -#: nis/ypclnt.c:792 -msgid "Local resource allocation failure" -msgstr "La asignación de recursos locales ha fallado" +#: sysdeps/gnu/errlist.c:1109 +msgid "Channel number out of range" +msgstr "Número de canal fuera de rango" -#: nis/ypclnt.c:794 -msgid "No more records in map database" -msgstr "No hay más registros en la base de datos" +#: sysdeps/gnu/errlist.c:1117 +msgid "Level 2 not synchronized" +msgstr "Nivel 2 no sincronizado" -#: nis/ypclnt.c:796 -msgid "Can't communicate with portmapper" -msgstr "No se puede comunicar con el asignador de puertos" +#: sysdeps/gnu/errlist.c:1125 +msgid "Level 3 halted" +msgstr "Nivel 3 detenido" -#: nis/ypclnt.c:798 -msgid "Can't communicate with ypbind" -msgstr "No se puede establecer comunicación con `ypbind'" +#: sysdeps/gnu/errlist.c:1133 +msgid "Level 3 reset" +msgstr "Nivel 3 restablecido" -#: nis/ypclnt.c:800 -msgid "Can't communicate with ypserv" -msgstr "No se puede establecer comunicación con `ypserv'" +#: sysdeps/gnu/errlist.c:1141 +msgid "Link number out of range" +msgstr "Número de enlace fuera de rango" -#: nis/ypclnt.c:802 -msgid "Local domain name not set" -msgstr "No se ha establecido el nombre del dominio local" +#: sysdeps/gnu/errlist.c:1149 +msgid "Protocol driver not attached" +msgstr "Protocolo no disponible" -#: nis/ypclnt.c:804 -msgid "NIS map database is bad" -msgstr "La base de datos de la tabla NIS no es correcta" +# FIXME: ¿No serÃa más bien CSI structures? +#: sysdeps/gnu/errlist.c:1157 +msgid "No CSI structure available" +msgstr "No quedan estructuras CSI disponibles" -#: nis/ypclnt.c:806 -msgid "NIS client/server version mismatch - can't supply service" -msgstr "" -"Discordancia en las versiones de NIS del cliente y el servidor.\n" -"No se puede suministrar el servicio." +#: sysdeps/gnu/errlist.c:1165 +msgid "Level 2 halted" +msgstr "Nivel 2 detenido" -#: nis/ypclnt.c:810 -msgid "Database is busy" -msgstr "La base de datos está ocupada" +#: sysdeps/gnu/errlist.c:1173 +msgid "Invalid exchange" +msgstr "Intercambio inválido" -#: nis/ypclnt.c:812 -msgid "Unknown NIS error code" -msgstr "Error de NIS desconocido" +#: sysdeps/gnu/errlist.c:1181 +msgid "Invalid request descriptor" +msgstr "El descriptor de fichero solicitado es erróneo" -# Suggestion: Como es "internal" deberías poner "interno" para -# indicar que el bug está en la biblioteca y no necesariamente -# en el programa. Es lo que más importa dar a entender. Propongo -# "Error interno en ypbind" -jtobey -# De acuerdo. -# [ Antes decía ... la llamada a bind para el servicio de páginas amarillas ] -# Un poco demasiado explicativo. sv -#: nis/ypclnt.c:854 -msgid "Internal ypbind error" -msgstr "Error interno en ypbind" +# FUZZY em+ +#: sysdeps/gnu/errlist.c:1189 +msgid "Exchange full" +msgstr "Intercambio lleno" # FUZZY -#: nis/ypclnt.c:856 -msgid "Domain not bound" -msgstr "No se pudo conectar con el dominio" +# anode o catode :), qué diablos ? em+ +# +# Pongo esto provisionalmente, en electricidad se usan los términos +# ánodo y cátodo para los polos positivo y negativo, pero no sé +# si esto será lo mismo. +# De cualquier forma, mantengo el FUZZY por si sale algo mejor. sv+ +#: sysdeps/gnu/errlist.c:1197 +msgid "No anode" +msgstr "No hay ningún ánodo" -#: nis/ypclnt.c:858 -msgid "System resource allocation failure" -msgstr "Fallo en la asignación de recursos del sistema" +#: sysdeps/gnu/errlist.c:1205 +msgid "Invalid request code" +msgstr "Código de petición incorrecto" -#: nis/ypclnt.c:860 -msgid "Unknown ypbind error" -msgstr "Error desconocido en la llamada a `ypbind()'" +# ¿Ranura no válida?, creo que no hay traducción para slot :) em+ +# Antes: `slot' incorrecto +#: sysdeps/gnu/errlist.c:1213 +msgid "Invalid slot" +msgstr "Ranura inválida" -#: nis/ypclnt.c:899 -msgid "yp_update: cannot convert host to netname\n" -msgstr "yp_update: no se puede convertir el nombre del `host' a nombre de red\n" +# FUZZY em+ +#: sysdeps/gnu/errlist.c:1221 +msgid "File locking deadlock error" +msgstr "error `deadlock' de bloqueo de ficheros" -#: nis/ypclnt.c:911 -msgid "yp_update: cannot get server address\n" -msgstr "yp_update: no se puede encontrar la dirección del servidor\n" +#: sysdeps/gnu/errlist.c:1229 +msgid "Bad font file format" +msgstr "Formato de fichero fuente incorrecto" -#: nscd/cache.c:94 -msgid "while allocating hash table entry" -msgstr "al asignar espacio para la entrada en la tabla `hash'" +#: sysdeps/gnu/errlist.c:1237 +msgid "Machine is not on the network" +msgstr "La máquina no está en red" -#: nscd/cache.c:162 nscd/connections.c:184 -#, c-format -msgid "cannot stat() file `%s': %s" -msgstr "no se puede ejecutar stat() sobre el fichero `%s': %s" +#: sysdeps/gnu/errlist.c:1245 +msgid "Package not installed" +msgstr "El paquete no está instalado" -#: nscd/connections.c:150 -msgid "Cannot run nscd in secure mode as unprivileged user" -msgstr "No se puede ejecutar nscd en modo seguro como usuario no privilegiado" +# FUZZY +# Lo dejo fuzzy aposta, a ver qué se os ocurre em+ +# Pues mira, advertencia es warning, advertise es anunciar. +# De momento lo cambio. sv +#: sysdeps/gnu/errlist.c:1253 +msgid "Advertise error" +msgstr "Error de anuncio" -#: nscd/connections.c:172 -#, c-format -msgid "while allocating cache: %s" -msgstr "al asignar espacio para el caché: %s" +#: sysdeps/gnu/errlist.c:1261 +msgid "Srmount error" +msgstr "Error de `srmount'" -#: nscd/connections.c:197 -#, c-format -msgid "cannot open socket: %s" -msgstr "no se puede abrir el `socket': %s" +#: sysdeps/gnu/errlist.c:1269 +msgid "Communication error on send" +msgstr "Error de comunicación al enviar" -#: nscd/connections.c:215 -#, c-format -msgid "cannot enable socket to accept connections: %s" -msgstr "no se puede activar el `socket' para aceptar conexiones: %s" +#: sysdeps/gnu/errlist.c:1277 +msgid "RFS specific error" +msgstr "error especÃfico de RFS" -#: nscd/connections.c:260 -#, c-format -msgid "cannot handle old request version %d; current version is %d" -msgstr "" -"no se pueden manejar peticiones de la versión %d, la versión\n" -"actual es %d" +#: sysdeps/gnu/errlist.c:1285 +msgid "Name not unique on network" +msgstr "El nombre no es único en la red" -#: nscd/connections.c:298 nscd/connections.c:324 -#, c-format -msgid "cannot write result: %s" -msgstr "no se puede escribir el resultado: %s" +#: sysdeps/gnu/errlist.c:1293 +msgid "File descriptor in bad state" +msgstr "Descriptor de fichero en mal estado" -#: nscd/connections.c:392 nscd/connections.c:514 -#, c-format -msgid "error getting caller's id: %s" -msgstr "error al obtener el id de los llamantes: %s" +#: sysdeps/gnu/errlist.c:1301 +msgid "Remote address changed" +msgstr "La dirección remota ha cambiado" -#: nscd/connections.c:485 -#, c-format -msgid "while accepting connection: %s" -msgstr "al aceptar la conexión: %s" +#: sysdeps/gnu/errlist.c:1309 +msgid "Can not access a needed shared library" +msgstr "No se puede acceder a una biblioteca compartida necesaria" -#: nscd/connections.c:498 -#, c-format -msgid "short read while reading request: %s" -msgstr "lectura insuficiente mientras se leía la petición: %s" +#: sysdeps/gnu/errlist.c:1317 +msgid "Accessing a corrupted shared library" +msgstr "Accediendo a una biblioteca compartida que está corrompida" -#: nscd/connections.c:542 -#, c-format -msgid "key length in request too long: %d" -msgstr "la longitud de la clave en la petición es demasiado larga: %d" +#: sysdeps/gnu/errlist.c:1325 +msgid ".lib section in a.out corrupted" +msgstr "la sección .lib en el a.out está corrompida" -#: nscd/connections.c:556 -#, c-format -msgid "short read while reading request key: %s" -msgstr "se acabaron los datos mientras se leía la clave de petición: %s" +# Suggestion: "enlazar demasiadas bibliotecas en el ejecutable" +# "link in" es verbo transitivo. --jtobey@channel1.com +# Muy bien, me como lo del ejecutable para no alargar demasiado +# el mensaje, pues creo que por el contexto el usuario sabrá a qué +# se refiere. De paso, lo pongo en pasado (se intentaron) porque +# es un error sobre algo que ya ha ocurrido (el intento fallido). sv +#: sysdeps/gnu/errlist.c:1333 +msgid "Attempting to link in too many shared libraries" +msgstr "Se intentaron enlazar demasiadas bibliotecas compartidas" -#: nscd/connections.c:566 -#, c-format -msgid "handle_request: request received (Version = %d) from PID %ld" -msgstr "handle_request: petición recibida (Versión = %d) del PID %ld" +#: sysdeps/gnu/errlist.c:1341 +msgid "Cannot exec a shared library directly" +msgstr "No se puede ejecutar una biblioteca compartida directamente" -#: nscd/connections.c:571 -#, c-format -msgid "handle_request: request received (Version = %d)" -msgstr "handle_request: petición recibida (Versión = %d)" +# FUZZY FUZZY +# ¡ Esto no hay quien lo traduzca ! em+ +#: sysdeps/gnu/errlist.c:1349 +msgid "Streams pipe error" +msgstr "Error de tuberÃa de `streams'" -#: nscd/connections.c:635 nscd/connections.c:636 nscd/connections.c:655 -#: nscd/connections.c:668 nscd/connections.c:674 nscd/connections.c:681 -#, c-format -msgid "Failed to run nscd as user '%s'" -msgstr "Fallo al ejecutar nscd como usuario `%s'" +# FUZZY +# O me cojo otras traducciones o ando perdido em+ +#: sysdeps/gnu/errlist.c:1357 +msgid "Structure needs cleaning" +msgstr "La estructura necesita una limpieza" -#: nscd/connections.c:656 -msgid "getgrouplist failed" -msgstr "falló `getgrouplist'" +#: sysdeps/gnu/errlist.c:1365 +msgid "Not a XENIX named type file" +msgstr "No es un fichero XENIX del tipo `named'" -#: nscd/connections.c:669 -msgid "setgroups failed" -msgstr "falló `setgroups'" +#: sysdeps/gnu/errlist.c:1373 +msgid "No XENIX semaphores available" +msgstr "No quedan semáforos XENIX disponibles" -#: nscd/grpcache.c:103 nscd/hstcache.c:111 nscd/pwdcache.c:109 -msgid "while allocating key copy" -msgstr "al asignar espacio para la copia de la clave" +# FUZZY em+ +# ¿Será esto un `named pipe'? ¿cómo se traduce? +#: sysdeps/gnu/errlist.c:1381 +msgid "Is a named type file" +msgstr "Es un fichero de tipo `named'" -#: nscd/grpcache.c:153 nscd/hstcache.c:168 nscd/pwdcache.c:146 -msgid "while allocating cache entry" -msgstr "al asignar espacio para la entrada en el caché" +#: sysdeps/gnu/errlist.c:1389 +msgid "Remote I/O error" +msgstr "Error de E/S en la máquina remota" -#: nscd/grpcache.c:197 nscd/hstcache.c:283 nscd/pwdcache.c:193 -#, c-format -msgid "short write in %s: %s" -msgstr "escritura insuficiente en %s: %s" +#: sysdeps/gnu/errlist.c:1397 +msgid "No medium found" +msgstr "No se ha encontrado el medio" -#: nscd/grpcache.c:219 -#, c-format -msgid "Haven't found \"%s\" in group cache!" -msgstr "No se ha encontrado \"%s\" en el caché de grupos" +#: sysdeps/gnu/errlist.c:1405 +msgid "Wrong medium type" +msgstr "Tipo de medio erróneo" -#: nscd/grpcache.c:285 -#, c-format -msgid "Invalid numeric gid \"%s\"!" -msgstr "¡gid numérico inválido \"%s\"!" +#: sysdeps/gnu/errlist.c:1413 +msgid "Required key not available" +msgstr "La clave requerida no está disponible" -#: nscd/grpcache.c:292 -#, c-format -msgid "Haven't found \"%d\" in group cache!" -msgstr "No se ha encontrado \"%d\" en el caché de grupo" +#: sysdeps/gnu/errlist.c:1421 +msgid "Key has expired" +msgstr "La clave ha caducado" -#: nscd/hstcache.c:305 nscd/hstcache.c:371 nscd/hstcache.c:436 -#: nscd/hstcache.c:501 -#, c-format -msgid "Haven't found \"%s\" in hosts cache!" -msgstr "No se ha encontrado \"%s\" en el caché de `hosts'" +#: sysdeps/gnu/errlist.c:1429 +msgid "Key has been revoked" +msgstr "La clave ha sido revocada" -#: nscd/nscd.c:89 -msgid "Read configuration data from NAME" -msgstr "Lee datos de configuración de NOMBRE" +#: sysdeps/gnu/errlist.c:1437 +msgid "Key was rejected by service" +msgstr "La clave fue rechazada por el servicio" -#: nscd/nscd.c:91 -msgid "Do not fork and display messages on the current tty" -msgstr "No se divide y muestra los mensajes en la terminal actual" +#: sysdeps/gnu/errlist.c:1445 +msgid "Owner died" +msgstr "El propietario ha muerto" -#: nscd/nscd.c:92 -msgid "NUMBER" -msgstr "NÚMERO" +#: sysdeps/gnu/errlist.c:1453 +msgid "State not recoverable" +msgstr "El estado es irrecuperable" -#: nscd/nscd.c:92 -msgid "Start NUMBER threads" -msgstr "Comienza NÚMERO hilos" +#: sysdeps/gnu/errlist.c:1461 +msgid "Operation not possible due to RF-kill" +msgstr "Operación imposible por estar la radiofrecuencia desactivada" -#: nscd/nscd.c:93 -msgid "Shut the server down" -msgstr "Apagar el servidor" +# ¿Qué demonios es esto? +# ¿Error en el error del sistema desconocido? sv +#: sysdeps/mach/_strerror.c:57 +msgid "Error in unknown error system: " +msgstr "Error de sistema desconocido: " -#: nscd/nscd.c:94 -msgid "Print current configuration statistic" -msgstr "Muestra una estadística sobre la configuración actual" +#: sysdeps/posix/gai_strerror-strs.h:1 +msgid "Address family for hostname not supported" +msgstr "Esta familia de direcciones no está soportada para el `host'" -#: nscd/nscd.c:95 -msgid "TABLE" -msgstr "TABLA" +#: sysdeps/posix/gai_strerror-strs.h:2 +msgid "Temporary failure in name resolution" +msgstr "Fallo temporal en la resolución del nombre" -#: nscd/nscd.c:96 -msgid "Invalidate the specified cache" -msgstr "Invalida la caché especificada" +#: sysdeps/posix/gai_strerror-strs.h:3 +msgid "Bad value for ai_flags" +msgstr "Valor erróneo para ai_flags" -#: nscd/nscd.c:97 -msgid "TABLE,yes" -msgstr "TABLA,sí" +#: sysdeps/posix/gai_strerror-strs.h:4 +msgid "Non-recoverable failure in name resolution" +msgstr "Fallo irrecuperable en la resolución del nombre" -#: nscd/nscd.c:97 -msgid "Use separate cache for each user" -msgstr "Utiliza una caché separada para cada usuario" +#: sysdeps/posix/gai_strerror-strs.h:5 +msgid "ai_family not supported" +msgstr "No se admite ai_familiy" -#: nscd/nscd.c:102 -msgid "Name Service Cache Daemon." -msgstr "Daemon de Caché del Servicio de Nombres." +#: sysdeps/posix/gai_strerror-strs.h:6 +msgid "Memory allocation failure" +msgstr "Fallo en la asignación de memoria" -#: nscd/nscd.c:141 -msgid "cannot read configuration file; this is fatal" -msgstr "no se puede leer el fichero de configuración; este error es fatal" +#: sysdeps/posix/gai_strerror-strs.h:7 +msgid "No address associated with hostname" +msgstr "No existe ninguna dirección asociada al nombre" -#: nscd/nscd.c:152 -msgid "already running" -msgstr "ya está funcionando" +#: sysdeps/posix/gai_strerror-strs.h:8 +msgid "Name or service not known" +msgstr "Nombre o servicio desconocido" -#: nscd/nscd.c:270 nscd/nscd.c:294 nscd/nscd_stat.c:132 -msgid "Only root is allowed to use this option!" -msgstr "Solamente root puede usar esta opción" +#: sysdeps/posix/gai_strerror-strs.h:9 +msgid "Servname not supported for ai_socktype" +msgstr "No se admite servname para ai_socktype" -#: nscd/nscd_conf.c:88 -#, c-format -msgid "Parse error: %s" -msgstr "Error de análisis: %s" +#: sysdeps/posix/gai_strerror-strs.h:10 +msgid "ai_socktype not supported" +msgstr "No se admite ai_socktype" -#: nscd/nscd_conf.c:171 -#, c-format -msgid "Could not create log file \"%s\"" -msgstr "No se pudo crear el fichero de registro \"%s\"" +#: sysdeps/posix/gai_strerror-strs.h:11 +msgid "System error" +msgstr "Error del sistema" -#: nscd/nscd_conf.c:187 -msgid "Must specify user name for server-user option" -msgstr "Debe especificar un nombre de usuario para la opción `server-user'" +# Vale, pero muy poco más abajo has puesto "en curso", que me parece mejor. sv +# Creo que prefiero dejar uno de cada. Se me ocurre si no cambiar el +# de abajo también. em +#: sysdeps/posix/gai_strerror-strs.h:12 +msgid "Processing request in progress" +msgstr "Se está procesando la petición" -#: nscd/nscd_conf.c:194 -msgid "Must specify user name for stat-user option" -msgstr "Debe especificar un nombre de usuario para la opción `stat-user'" +#: sysdeps/posix/gai_strerror-strs.h:13 +msgid "Request canceled" +msgstr "Petición cancelada" -#: nscd/nscd_conf.c:205 -#, c-format -msgid "Unknown option: %s %s %s" -msgstr "Opción desconocida: %s %s %s" +#: sysdeps/posix/gai_strerror-strs.h:14 +msgid "Request not canceled" +msgstr "Petición no cancelada" -#: nscd/nscd_stat.c:103 -#, c-format -msgid "cannot write statistics: %s" -msgstr "no se pueden escribir las estadísticas: %s" +#: sysdeps/posix/gai_strerror-strs.h:15 +msgid "All requests done" +msgstr "Realizadas todas las peticiones" -#: nscd/nscd_stat.c:128 -#, c-format -msgid "Only root or %s is allowed to use this option!" -msgstr "Solamente root o %s puede usar esta opción" +#: sysdeps/posix/gai_strerror-strs.h:16 +msgid "Interrupted by a signal" +msgstr "Interrumpido por una señal" -#: nscd/nscd_stat.c:139 -msgid "nscd not running!\n" -msgstr "nscd no está en ejecución\n" +#: sysdeps/posix/gai_strerror-strs.h:17 +msgid "Parameter string not correctly encoded" +msgstr "Cadena de parámetros codificada incorrectamente" -#: nscd/nscd_stat.c:150 -msgid "write incomplete" -msgstr "escritura incompleta" +#: sysdeps/unix/siglist.c:26 +msgid "Signal 0" +msgstr "Señal 0" -#: nscd/nscd_stat.c:162 -msgid "cannot read statistics data" -msgstr "no se pueden leer los datos de estadística" +# ???, siempre lo he usado como trap, nunca encontramos la palabra +# y es una señal estándar Unix, asà que no creo conveniente traducirla +#: sysdeps/unix/siglist.c:32 +msgid "IOT trap" +msgstr "`trap' de IOT" + +#: sysdeps/unix/sysv/linux/i386/readelflib.c:49 +#, c-format +msgid "%s is for unknown machine %d.\n" +msgstr "%s es para la máquina desconocida %d.\n" -#: nscd/nscd_stat.c:165 +#: 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: no sabe cómo manejar más de 8 argumentos\n" + +#: sysdeps/unix/sysv/linux/lddlibc4.c:61 #, c-format msgid "" -"nscd configuration:\n" +"Usage: lddlibc4 FILE\n" "\n" -"%15d server debug level\n" msgstr "" -"configuración nscd:\n" +"Modo de empleo: lddlibc4 FICHERO\n" "\n" -"%15d nivel de depuración del servidor\n" -#: nscd/nscd_stat.c:189 +#: sysdeps/unix/sysv/linux/lddlibc4.c:82 #, c-format -msgid "%3ud %2uh %2um %2lus server runtime\n" -msgstr "%3ud %2uh %2um %2lus tiempo de funcionamiento del servidor\n" +msgid "cannot open `%s'" +msgstr "no se puede abrir `%s'" -#: nscd/nscd_stat.c:192 +#: sysdeps/unix/sysv/linux/lddlibc4.c:86 #, c-format -msgid " %2uh %2um %2lus server runtime\n" -msgstr " %2uh %2um %2lus tiempo de funcionamiento del servidor\n" +msgid "cannot read header from `%s'" +msgstr "no se puede leer la cabecera de `%s'" -#: nscd/nscd_stat.c:194 -#, c-format -msgid " %2um %2lus server runtime\n" -msgstr " %2um %2lus tiempo de funcionamiento del servidor\n" +#: timezone/zdump.c:215 +msgid "lacks alphabetic at start" +msgstr "no tiene caracteres alfabéticos al comienzo" -#: nscd/nscd_stat.c:196 -#, c-format -msgid " %2lus server runtime\n" -msgstr " %2lus tiempo de funcionamiento del servidor\n" +#: timezone/zdump.c:217 +msgid "has fewer than 3 alphabetics" +msgstr "tiene menos de 3 caracteres alfabéticos" -#: nscd/nscd_stat.c:198 -#, c-format -msgid "%15lu number of times clients had to wait\n" -msgstr "%15lu número de veces que los clientes tuvieron que esperar\n" +#: timezone/zdump.c:219 +msgid "has more than 6 alphabetics" +msgstr "tiene más de 6 caracteres alfabéticos" -#: nscd/nscd_stat.c:213 nscd/nscd_stat.c:215 -msgid " no" -msgstr " no" +#: timezone/zdump.c:227 +msgid "differs from POSIX standard" +msgstr "difiere del estándar POSIX" -#: nscd/nscd_stat.c:213 nscd/nscd_stat.c:215 -msgid " yes" -msgstr " si" +#: timezone/zdump.c:233 +#, c-format +msgid "%s: warning: zone \"%s\" abbreviation \"%s\" %s\n" +msgstr "%s: atención: zona \"%s\" abreviatura \"%s\" %s\n" -#: nscd/nscd_stat.c:221 +#: timezone/zdump.c:242 #, c-format msgid "" +"%s: usage is %s [ --version ] [ --help ] [ -v ] [ -c [loyear,]hiyear ] zonename ...\n" "\n" -"%s cache:\n" -"\n" -"%15s cache is enabled\n" -"%15Zu suggested size\n" -"%15lu seconds time to live for positive entries\n" -"%15lu seconds time to live for negative entries\n" -"%15lu cache hits on positive entries\n" -"%15lu cache hits on negative entries\n" -"%15lu cache misses on positive entries\n" -"%15lu cache misses on negative entries\n" -"%15lu%% cache hit rate\n" -"%15lu current number of cached values\n" -"%15lu maximum number of cached values\n" -"%15lu maximum chain length searched\n" -"%15lu number of delays on rdlock\n" -"%15lu number of delays on wrlock\n" -"%15s check /etc/%s for changes\n" +"Report bugs to tz@elsie.nci.nih.gov.\n" msgstr "" +"%s: el modo de empleo es %s [ --version ] [ -v ] [ -c [añoinf,]añosup ] nombrezona ...\n" "\n" -"%s caché:\n" -"\n" -"%15s el caché está activado\n" -"%15Zu tamaño sugerido\n" -"%15lu segundos de vida para las entradas positivas\n" -"%15lu segundos de vida para las entradas negativas\n" -"%15lu aciertos de caché en las entradas positivas\n" -"%15lu aciertos de caché en las entradas negativas\n" -"%15lu fallos de caché en las entradas positivas\n" -"%15lu fallos de caché en las entradas negativas\n" -"%15lu%% tasa de aciertos de caché\n" -"%15lu número actual de valores en caché\n" -"%15lu número máximo de valores en caché\n" -"%15lu longitud maxima de la cadena buscada\n" -"%15lu número de retardos en rdlock\n" -"%15lu número de retardos en wrlock\n" -"%15s compruebe /etc/%s para cambios\n" - -#: nscd/pwdcache.c:215 -#, c-format -msgid "Haven't found \"%s\" in password cache!" -msgstr "No se ha encontrado \"%s\" en el caché de contraseñas" - -#: nscd/pwdcache.c:281 -#, c-format -msgid "Invalid numeric uid \"%s\"!" -msgstr "¡uid numérico inválido \"%s\"!" +"Comunicar errores a tz@elsie.nci.nih.gov.\n" -#: nscd/pwdcache.c:288 +#: timezone/zdump.c:311 #, c-format -msgid "Haven't found \"%d\" in password cache!" -msgstr "No se ha encontrado \"%d\" en el caché de contraseñas" - -#: elf/../sysdeps/generic/dl-sysdep.c:422 -msgid "cannot create capability list" -msgstr "no se puede crear la lista de capacidades" +msgid "%s: wild -c argument %s\n" +msgstr "%s: argumento %s descabellado para -c\n" -#: elf/../sysdeps/generic/readelflib.c:35 -#, c-format -msgid "file %s is truncated\n" -msgstr "el fichero %s está truncado\n" +#: timezone/zdump.c:398 +msgid "Error writing to standard output" +msgstr "Error al escribir en la salida estándar" -#: elf/../sysdeps/generic/readelflib.c:67 +#: timezone/zdump.c:421 #, c-format -msgid "%s is a 32 bit ELF file.\n" -msgstr "%s es un fichero ELF de 32 bits.\n" +msgid "%s: use of -v on system with floating time_t other than float or double\n" +msgstr "%s: uso de -v en un sistema con time_t flotante distinto float o double\n" -#: elf/../sysdeps/generic/readelflib.c:69 +#: timezone/zic.c:388 #, c-format -msgid "%s is a 64 bit ELF file.\n" -msgstr "%s es un fichero ELF de 64 bits.\n" +msgid "%s: Memory exhausted: %s\n" +msgstr "%s: Memoria agotada: %s\n" -#: elf/../sysdeps/generic/readelflib.c:71 +#: timezone/zic.c:434 #, c-format -msgid "Unknown ELFCLASS in file %s.\n" -msgstr "ELFCLASS desconocido en el fichero %s.\n" +msgid "\"%s\", line %d: %s" +msgstr "\"%s\", lÃnea %d: %s" -#: elf/../sysdeps/generic/readelflib.c:78 +#: timezone/zic.c:437 #, c-format -msgid "%s is not a shared object file (Type: %d).\n" -msgstr "%s no es un fichero `shared object' (Tipo: %d).\n" +msgid " (rule from \"%s\", line %d)" +msgstr " (regla desde \"%s\", lÃnea %d)" -#: elf/../sysdeps/generic/readelflib.c:109 -msgid "more than one dynamic segment\n" -msgstr "más de un segmento dinámico\n" +#: timezone/zic.c:449 +msgid "warning: " +msgstr "atención: " -#: elf/../sysdeps/unix/sysv/linux/i386/readelflib.c:49 +# FIXME: Decir al autor que no use tabs. sv +#: timezone/zic.c:459 #, c-format -msgid "%s is for unknown machine %d.\n" -msgstr "%s es para la máquina desconocida %d.\n" - -# FIXME: Falta ver si es niño o niña. sv -#: elf/cache.c:70 -msgid "unknown" -msgstr "desconocido/a" +msgid "" +"%s: usage is %s [ --version ] [ --help ] [ -v ] [ -l localtime ] [ -p posixrules ] \\\n" +"\t[ -d directory ] [ -L leapseconds ] [ -y yearistype ] [ filename ... ]\n" +"\n" +"Report bugs to tz@elsie.nci.nih.gov.\n" +msgstr "" +"%s: el modo de empleo es %s [ --version ] [ -v ] [ -l hora_local ] [ -p reglasposix ] \\\n" +" [ -d directorio ] [ -L segundos_intercalares ] [ -y tipoaño ] [ fichero ... ]\n" +"\n" +"Comunicar errores a tz@elstz@elsie.nci.nih.gov.\n" -#: elf/cache.c:111 -msgid "Unknown OS" -msgstr "Sistema Operativo desconocido" +#: timezone/zic.c:496 +msgid "wild compilation-time specification of zic_t" +msgstr "especificación de zic_t en tiempo de compilación descabellada" -#: elf/cache.c:116 +#: timezone/zic.c:515 #, c-format -msgid ", OS ABI: %s %d.%d.%d" -msgstr ", ABI del SO: %s %d.%d.%d" +msgid "%s: More than one -d option specified\n" +msgstr "%s: La opción -d se ha especificado más de una vez\n" -#: elf/cache.c:142 elf/ldconfig.c:1078 +#: timezone/zic.c:525 #, c-format -msgid "Can't open cache file %s\n" -msgstr "No se puede abrir el fichero de caché %s\n" - -#: elf/cache.c:154 -msgid "mmap of cache file failed.\n" -msgstr "falló la operación `mmap' sobre el fichero de caché.\n" - -#: elf/cache.c:158 elf/cache.c:168 -msgid "File is not a cache file.\n" -msgstr "El fichero no es un fichero de caché.\n" +msgid "%s: More than one -l option specified\n" +msgstr "%s: La opción -l se ha especificado más de una vez\n" -#: elf/cache.c:201 elf/cache.c:211 +#: timezone/zic.c:535 #, c-format -msgid "%d libs found in cache `%s'\n" -msgstr "%d bibliotecas se encontraron en la caché `%s'\n" +msgid "%s: More than one -p option specified\n" +msgstr "%s: La opción -p se ha especificado más de una vez\n" -#: elf/cache.c:410 +#: timezone/zic.c:545 #, c-format -msgid "Can't remove old temporary cache file %s" -msgstr "No se puede borrar el fichero de caché temporal antiguo %s" +msgid "%s: More than one -y option specified\n" +msgstr "%s: La opción -y se ha especificado más de una vez\n" -#: elf/cache.c:417 +#: timezone/zic.c:555 #, c-format -msgid "Can't create temporary cache file %s" -msgstr "No se puede crear el fichero temporal de caché %s" - -#: elf/cache.c:425 elf/cache.c:434 elf/cache.c:438 -msgid "Writing of cache data failed" -msgstr "Falló la escritura de los datos de la caché" +msgid "%s: More than one -L option specified\n" +msgstr "%s: La opción -L se ha especificado más de una vez\n" -# FIXME. Merge with previous message (?). sv -#: elf/cache.c:442 -msgid "Writing of cache data failed." -msgstr "Falló la escritura de los datos de la caché" +#: timezone/zic.c:604 +msgid "link to link" +msgstr "enlace a un enlace" -#: elf/cache.c:449 -#, c-format -msgid "Changing access rights of %s to %#o failed" -msgstr "El cambio de los derechos de acceso de %s a %#o falló" +#: timezone/zic.c:669 +msgid "hard link failed, symbolic link used" +msgstr "el enlace duro falló, se usará un enlace simbólico" -#: elf/cache.c:454 +#: timezone/zic.c:677 #, c-format -msgid "Renaming of %s to %s failed" -msgstr "Falló el renombramiento de %s a %s" - -#: elf/dl-close.c:128 -msgid "shared object not open" -msgstr "el objeto compartido no está abierto" - -#: elf/dl-close.c:531 elf/dl-open.c:454 -msgid "TLS generation counter wrapped! Please send report with the 'glibcbug' script." -msgstr "" -"¡El contador de generaciones TLS ha vuelto a cero! Por favor envíe un informe\n" -"con el script 'glibcbug'" +msgid "%s: Can't link from %s to %s: %s\n" +msgstr "%s: No se pudo crear un enlace de %s a %s: %s\n" -#: elf/dl-deps.c:111 elf/dl-open.c:183 -msgid "DST not allowed in SUID/SGID programs" -msgstr "No se permite DST en programas SUID/SGID" +#: timezone/zic.c:749 timezone/zic.c:751 +msgid "same rule name in multiple files" +msgstr "mismo nombre de regla en varios ficheros" -# FIXME: Es casi el mismo mensaje de antes. sv -#: elf/dl-deps.c:124 -msgid "empty dynamics string token substitution" -msgstr "sustitución dinámica de un elemento por cadena vacía" +#: timezone/zic.c:792 +msgid "unruly zone" +msgstr "zona sin reglas" -# Hmm, me suena que lo que es dinámica aquí es la cadena, no la sustitución. -# FIXME: Consultarlo. sv -#: elf/dl-deps.c:130 +#: timezone/zic.c:799 #, c-format -msgid "cannot load auxiliary `%s' because of empty dynamic string token substitution\n" -msgstr "" -"no se puede cargar el `%s' auxiliar debido a la sustitución dinámica\n" -"de un elemento por cadena vacía\n" - -#: elf/dl-deps.c:461 -msgid "cannot allocate dependency list" -msgstr "no se pudo asignar espacio para la lista de dependencias" - -#: elf/dl-deps.c:494 elf/dl-deps.c:549 -msgid "cannot allocate symbol search list" -msgstr "no se puede asignar espacio para la lista de búsqueda de los símbolos" +msgid "%s in ruleless zone" +msgstr "%s en una zona sin reglas" -#: elf/dl-deps.c:534 -msgid "Filters not supported with LD_TRACE_PRELINKING" -msgstr "No se admiten filtros con LD_TRACE_PRELINKING" +#: timezone/zic.c:820 +msgid "standard input" +msgstr "entrada estándar" -# Véase "A bug's life". -#: elf/dl-error.c:75 -msgid "DYNAMIC LINKER BUG!!!" -msgstr "¡¡¡HAY UN BICHO EN EL ENLAZADOR DINÁMICO!!!" +#: timezone/zic.c:825 +#, c-format +msgid "%s: Can't open %s: %s\n" +msgstr "%s: No se puede abrir %s: %s\n" -#: elf/dl-error.c:108 -msgid "error while loading shared libraries" -msgstr "error al cargar las bibliotecas compartidas" +#: timezone/zic.c:836 +msgid "line too long" +msgstr "lÃnea demasiado larga" -#: elf/dl-load.c:347 -msgid "cannot allocate name record" -msgstr "no se puede asignar el registro del nombre" +#: timezone/zic.c:856 +msgid "input line of unknown type" +msgstr "lÃnea de entrada de tipo desconocido" -# He intentado mejorarlo un poco ... +# ¿¿cómo se dirá eso??, pregunto en spanglish # -#: elf/dl-load.c:449 elf/dl-load.c:528 elf/dl-load.c:648 elf/dl-load.c:743 -msgid "cannot create cache for search path" -msgstr "no se puede crear un caché para la ruta de búsqueda" - -#: elf/dl-load.c:551 -msgid "cannot create RUNPATH/RPATH copy" -msgstr "no se puede crear una copia RUNPATH/RPATH" - -#: elf/dl-load.c:634 -msgid "cannot create search path array" -msgstr "no se puede crear la matriz de la ruta de búsqueda" - -#: elf/dl-load.c:830 -msgid "cannot stat shared object" -msgstr "no se puede efectuar `stat' sobre el objeto compartido" - -#: elf/dl-load.c:874 -msgid "cannot open zero fill device" -msgstr "no se puede abrir el dispositivo de `zero fill'" - -#: elf/dl-load.c:883 elf/dl-load.c:1929 -msgid "cannot create shared object descriptor" -msgstr "no se puede crear el descriptor del objeto compartido" - -#: elf/dl-load.c:902 elf/dl-load.c:1470 elf/dl-load.c:1553 -msgid "cannot read file data" -msgstr "no se pueden leer los datos del fichero" - -#: elf/dl-load.c:946 -msgid "ELF load command alignment not page-aligned" -msgstr "El alineamiento de la orden de carga ELF no está alineada a la página" - -#: elf/dl-load.c:953 -msgid "ELF load command address/offset not properly aligned" -msgstr "La dirección/desplazamiento de la orden de carga ELF no está bien alineada" - -#: elf/dl-load.c:1037 -msgid "cannot allocate TLS data structures for initial thread" -msgstr "no se pueden crear las estructuras de datos TLS para el hilo inicial" - -#: elf/dl-load.c:1061 -msgid "cannot handle TLS data" -msgstr "no se pueden manejar los datos de TLS" - -#: elf/dl-load.c:1075 -msgid "object file has no loadable segments" -msgstr "el fichero objeto no tiene segmentos cargables" - -#: elf/dl-load.c:1110 -msgid "failed to map segment from shared object" -msgstr "fallo al asignar un segmento del objeto compartido" - -#: elf/dl-load.c:1135 -msgid "cannot dynamically load executable" -msgstr "no se puede cargar el ejecutable dinámicamente" - -#: elf/dl-load.c:1191 -msgid "cannot change memory protections" -msgstr "no se pueden cambiar las protecciones de memoria" - -#: elf/dl-load.c:1210 -msgid "cannot map zero-fill pages" -msgstr "no se pueden asignar páginas de tipo `zero-fill'" - -#: elf/dl-load.c:1228 -msgid "cannot allocate memory for program header" -msgstr "no se puede asignar memoria para la cabecera del programa" - -#: elf/dl-load.c:1259 -msgid "object file has no dynamic section" -msgstr "el fichero objeto no tiene sección dinámica" - -#: elf/dl-load.c:1299 -msgid "shared object cannot be dlopen()ed" -msgstr "no se puede efectuar dlopen() sobre el objeto compartido" - -#: elf/dl-load.c:1322 -msgid "cannot create searchlist" -msgstr "no se puede crear la lista de búsqueda" - -#: elf/dl-load.c:1352 -msgid "cannot enable executable stack as shared object requires" -msgstr "no se puede activar la pila ejecutable tal y como el objeto compartido necesita" - -#: elf/dl-load.c:1470 -msgid "file too short" -msgstr "fichero demasiado corto" - -#: elf/dl-load.c:1493 -msgid "invalid ELF header" -msgstr "cabecera ELF inválida" - -#: elf/dl-load.c:1502 -msgid "ELF file data encoding not big-endian" -msgstr "La codificación de los datos del fichero ELF no es `big-endian'" - -#: elf/dl-load.c:1504 -msgid "ELF file data encoding not little-endian" -msgstr "La codificación de los datos del fichero ELF no es `little-endian'" - -#: elf/dl-load.c:1508 -msgid "ELF file version ident does not match current one" -msgstr "La identificación de versión del fichero ELF no encaja con la actual" - -#: elf/dl-load.c:1512 -msgid "ELF file OS ABI invalid" -msgstr "ABI del OS del fichero ELF inválida" - -#: elf/dl-load.c:1514 -msgid "ELF file ABI version invalid" -msgstr "Versión de ABI del fichero ELF inválida" - -#: elf/dl-load.c:1517 -msgid "internal error" -msgstr "error interno" - -#: elf/dl-load.c:1524 -msgid "ELF file version does not match current one" -msgstr "La versión del fichero ELF no coincide con la actual" - -#: elf/dl-load.c:1532 -msgid "ELF file's phentsize not the expected size" -msgstr "El `phentsize' del fichero ELF no es el tamaño esperado" - -#: elf/dl-load.c:1538 -msgid "only ET_DYN and ET_EXEC can be loaded" -msgstr "solamente pueden cargarse ET_DYN y ET_EXEC" - -#: elf/dl-load.c:1944 -msgid "cannot open shared object file" -msgstr "no se puede abrir el fichero del objeto compartido" - -#: elf/dl-lookup.c:265 elf/dl-lookup.c:443 -msgid "relocation error" -msgstr "error de relocalización" - -#: elf/dl-open.c:111 -msgid "cannot extend global scope" -msgstr "no se puede extender el ámbito global" - -#: elf/dl-open.c:214 -msgid "empty dynamic string token substitution" -msgstr "sustitución dinámica de un elemento por una cadena vacía" - -#: elf/dl-open.c:361 elf/dl-open.c:372 -msgid "cannot create scope list" -msgstr "no se puede crear la lista de ámbito" - -#: elf/dl-open.c:434 -msgid "cannot create TLS data structures" -msgstr "no se pueden crear las estructuras de datos TLS" - -#: elf/dl-open.c:496 -msgid "invalid mode for dlopen()" -msgstr "modo inválido para dlopen()" - -#: elf/dl-reloc.c:57 -msgid "cannot allocate memory in static TLS block" -msgstr "No se pudo asignar memoria en el bloque TLS estático" - -#: elf/dl-reloc.c:176 -msgid "cannot make segment writable for relocation" -msgstr "no se puede hacer el segmento escribible para su relocalización" - -#: elf/dl-reloc.c:277 -#, c-format -msgid "%s: profiler found no PLTREL in object %s\n" -msgstr "%s el `profiler' no encontró ningún PLTREL en el objeto %s\n" - -#: elf/dl-reloc.c:289 +# dirÃa que la porción "de años bisiestos" sobra. sv +# +# Mejor dejarlo bien clarito. Después de haberme enterado de +# qué diablos era eso ;) +# +# En ningún sitio dice que la lÃnea de ajuste sea "de años bisiestos" +# Si pones algo que no viene en el original puedes acabar cambiando +# el sentido. +# O quitas lo de "de años bisiestos" o miras el código fuente +# a ver si de verdad es un ajuste de años bisiestos o más bien de segundos +# intercalares. En cualquier caso me parece que queda más largo añadiendo +# eso. sv +# +# Otra cosa: "en un fichero que no es el de" -> "en un fichero que no es de" +# (sin "el"). Si no, da a entender que sólo puede haber uno, +# y el original no da a entender eso. sv +# +# Varias cosas, según he entendido los ajustes en segundo se llaman +# indiferentemente 'segundos intercalares' o 'segundos bisiestos' +# el ajuste en sà es un ajuste de años bisiestos ( no son exactamente +# un dÃa ) . Por lo tanto Leap ( año bisiesto ) line, son las lÃneas +# que caracterizan al leap seconds file, que podrÃamos llamarlo fichero +# de ajuste de años bisiestos, fichero intercalar o incluso bisiestifile +# De todas maneras creo que lo cambio, este mensaje, si alguna vez tengo +# la mala suerte de que me aparezca, me acoxonarÃa, tal y como está +# redactado +# Segundo, según he visto en la documentación, sólo existe un fichero +# de leap lines, por eso pongo 'el'... em+ +# +#: timezone/zic.c:872 #, c-format -msgid "%s: profiler out of memory shadowing PLTREL of %s\n" -msgstr "%s: el `profiler' se quedó sin memoria al ocultar el PLTREL de %s\n" - -# Se admiten sugerencias. sv -#: elf/dl-reloc.c:304 -msgid "cannot restore segment prot after reloc" -msgstr "no se puede restaurar el `prot' del segmento después de la relocalización" - -#: elf/dl-sym.c:74 elf/dl-sym.c:145 -msgid "RTLD_NEXT used in code not dynamically loaded" -msgstr "Se ha usado RTLD_NEXT en una parte del código que no se cargó dinámicamente" - -#: elf/dl-version.c:303 -msgid "cannot allocate version reference table" -msgstr "no se puede asignar espacio para la tabla de versiones de referencia" - -#: elf/ldconfig.c:122 -msgid "Print cache" -msgstr "Muestra la caché" - -#: elf/ldconfig.c:123 -msgid "Generate verbose messages" -msgstr "Genera mensajes explicativos" - -#: elf/ldconfig.c:124 -msgid "Don't build cache" -msgstr "No crea caché" - -#: elf/ldconfig.c:125 -msgid "Don't generate links" -msgstr "No genera enlaces" - -#: elf/ldconfig.c:126 -msgid "Change to and use ROOT as root directory" -msgstr "Cambia a ROOT y lo utiliza como directorio raíz" - -#: elf/ldconfig.c:127 -msgid "Use CACHE as cache file" -msgstr "Utiliza CACHE como fichero de caché" - -#: elf/ldconfig.c:128 -msgid "Use CONF as configuration file" -msgstr "Utiliza CONF como fichero de configuración" - -#: elf/ldconfig.c:129 -msgid "Only process directories specified on the command line. Don't build cache." +msgid "%s: Leap line in non leap seconds file %s\n" msgstr "" -"Procesa únicamente los directorios especificados en la línea de órdenes.\n" -"No crea la caché." - -#: elf/ldconfig.c:130 -msgid "Manually link individual libraries." -msgstr "Enlace bibliotecas individuales manualmente." - -#: elf/ldconfig.c:131 -msgid "Format to use: new, old or compat (default)" -msgstr "Formato utilizado: new, old o compat (predeterminado)" - -# FIXME: Why So Many Uppercase Letters? sv -#: elf/ldconfig.c:139 -msgid "Configure Dynamic Linker Run Time Bindings." -msgstr "Configura las asociaciones de tiempo de ejecución del enlazador dinámico" - -#: elf/ldconfig.c:297 -#, c-format -msgid "Path `%s' given more than once" -msgstr "Se ha dado la ruta `%s' más de una vez" - -#: elf/ldconfig.c:341 -#, c-format -msgid "%s is not a known library type" -msgstr "%s no es un tipo de biblioteca conocido" +"%s: LÃnea de segundos intercalares en un fichero que no es el de\n" +"ajuste de años bisiestos %s\n" -#: elf/ldconfig.c:361 +# Ãdem. 1984. +#: timezone/zic.c:879 timezone/zic.c:1316 timezone/zic.c:1338 #, c-format -msgid "Can't stat %s" -msgstr "No se puede efectuar `stat' sobre %s" - -#: elf/ldconfig.c:431 -#, c-format -msgid "Can't stat %s\n" -msgstr "No se puede efectuar `stat' sobre %s\n" - -#: elf/ldconfig.c:441 -#, c-format -msgid "%s is not a symbolic link\n" -msgstr "%s no es un enlace simbólico\n" +msgid "%s: panic: Invalid l_value %d\n" +msgstr "%s: grave: valor_l %d inválido\n" -#: elf/ldconfig.c:460 +#: timezone/zic.c:887 #, c-format -msgid "Can't unlink %s" -msgstr "No se puede efectuar `unlink' sobre %s" +msgid "%s: Error reading %s\n" +msgstr "%s: Error al leer %s\n" -#: elf/ldconfig.c:466 +#: timezone/zic.c:894 #, c-format -msgid "Can't link %s to %s" -msgstr "No se puede crear un enlace de %s a %s" +msgid "%s: Error closing %s: %s\n" +msgstr "%s: Error al cerrar %s: %s\n" -#: elf/ldconfig.c:472 -msgid " (changed)\n" -msgstr " (cambiado)\n" +#: timezone/zic.c:899 +msgid "expected continuation line not found" +msgstr "la lÃnea de continuación esperada no se encuentra" -#: elf/ldconfig.c:474 -msgid " (SKIPPED)\n" -msgstr " (SALTADO)\n" +# Sugerencia: Desbordamiento de fecha. (?) sv+ +#: timezone/zic.c:943 timezone/zic.c:2480 timezone/zic.c:2499 +msgid "time overflow" +msgstr "desbordamiento horario" -#: elf/ldconfig.c:529 -#, c-format -msgid "Can't find %s" -msgstr "No se encuentra %s" +#: timezone/zic.c:947 +msgid "24:00 not handled by pre-1998 versions of zic" +msgstr "24:00 no se puede tratar por versiones de zic anteriores a 1998" -#: elf/ldconfig.c:545 -#, c-format -msgid "Can't lstat %s" -msgstr "No se puede efectuar `lstat' sobre %s" +#: timezone/zic.c:950 +msgid "values over 24 hours not handled by pre-2007 versions of zic" +msgstr "las versiones de zic anteriores a 2007 no manejan valores por encima de 24 horas" -#: elf/ldconfig.c:552 -#, c-format -msgid "Ignored file %s since it is not a regular file." -msgstr "Descartado el fichero %s dado que no es un fichero regular." +#: timezone/zic.c:963 +msgid "wrong number of fields on Rule line" +msgstr "número incorrecto de argumentos en la lÃnea de regla (Rule)" -#: elf/ldconfig.c:560 -#, c-format -msgid "No link created since soname could not be found for %s" -msgstr "No se creó el enlace ya que no se encontró el soname para %s" +#: timezone/zic.c:967 +msgid "nameless rule" +msgstr "regla sin nombre" -#: elf/ldconfig.c:651 -#, c-format -msgid "Can't open directory %s" -msgstr "No se puede abrir el directorio %s" +#: timezone/zic.c:972 +msgid "invalid saved time" +msgstr "la hora almacenada no es válida" -#: elf/ldconfig.c:706 elf/ldconfig.c:753 -#, c-format -msgid "Cannot lstat %s" -msgstr "No se puede efectuar `lstat' sobre %s" +#: timezone/zic.c:993 +msgid "wrong number of fields on Zone line" +msgstr "número de campos incorrecto en la lÃnea de zona (Zone)" -#: elf/ldconfig.c:718 +#: timezone/zic.c:999 #, c-format -msgid "Cannot stat %s" -msgstr "No se puede efectuar `stat' sobre %s" +msgid "\"Zone %s\" line and -l option are mutually exclusive" +msgstr "la lÃnea \"Zone %s\" y la opción -l son mutuamente excluyentes" -#: elf/ldconfig.c:775 elf/readlib.c:92 +#: timezone/zic.c:1007 #, c-format -msgid "Input file %s not found.\n" -msgstr "No se encontró el fichero de entrada %s.\n" +msgid "\"Zone %s\" line and -p option are mutually exclusive" +msgstr "la lÃnea \"Zone %s\" y la opción -p son mutuamente excluyentes" -#: elf/ldconfig.c:826 +#: timezone/zic.c:1019 #, c-format -msgid "libc5 library %s in wrong directory" -msgstr "biblioteca libc5 %s en un directorio equivocado" +msgid "duplicate zone name %s (file \"%s\", line %d)" +msgstr "nombre de zona %s duplicado (fichero \"%s\", lÃnea %d)" -#: elf/ldconfig.c:829 -#, c-format -msgid "libc6 library %s in wrong directory" -msgstr "biblioteca libc6 %s en un directorio equivocado" +#: timezone/zic.c:1035 +msgid "wrong number of fields on Zone continuation line" +msgstr "número de campos incorrecto en la lÃnea de continuación de zona (Zone)" -#: elf/ldconfig.c:832 -#, c-format -msgid "libc4 library %s in wrong directory" -msgstr "biblioteca libc4 %s en un directorio equivocado" +#: timezone/zic.c:1075 +msgid "invalid UTC offset" +msgstr "desplazamiento UTC inválido" -#: elf/ldconfig.c:859 -#, c-format -msgid "libraries %s and %s in directory %s have same soname but different type." -msgstr "las bibliotecas %s y %s en el directorio %s tienen el mismo soname pero distinto tipo." +#: timezone/zic.c:1078 +msgid "invalid abbreviation format" +msgstr "formato de abreviatura incorrecto" -#: elf/ldconfig.c:962 -#, c-format -msgid "Can't open configuration file %s" -msgstr "No se puede abrir el fichero de configuración `%s'" +# VER +#: timezone/zic.c:1107 +msgid "Zone continuation line end time is not after end time of previous line" +msgstr "" +"La lÃnea de continuación de la zona no está después del tiempo de final\n" +"de la lÃnea anterior" -#: elf/ldconfig.c:1033 -#, c-format -msgid "relative path `%s' used to build cache" -msgstr "se usa el camino relativo `%s' para construir el caché" +# En todas estas, yo pondrÃa "número incorrecto de campos", +# "número incorrecto de argumentos", etc. +# creo que quedarÃa mucho mejor. sv +# La mitad como tú dices, y la mitad como yo em +# +# Eso es que te da igual... +# O es mejor como digo, o no es mejor. +# Si es mejor, ponlo en todos los sitios. Y si no, en ninguno. +# Yo creo que es mucho mejor poner "número incorrecto ..." +# Si no, queda como "al revés". sv+ +#: timezone/zic.c:1135 +msgid "wrong number of fields on Leap line" +msgstr "número incorrecto de campos en la lÃnea de bisiesto (Leap)" -#: elf/ldconfig.c:1057 -msgid "Can't chdir to /" -msgstr "No se puede cambiar al directorio /" +#: timezone/zic.c:1144 +msgid "invalid leaping year" +msgstr "año bisiesto inválido" -#: elf/ldconfig.c:1099 -#, c-format -msgid "Can't open cache file directory %s\n" -msgstr "No se puede leer el directorio de ficheros de caché %s\n" +#: timezone/zic.c:1164 timezone/zic.c:1270 +msgid "invalid month name" +msgstr "nombre de mes incorrecto" -#: elf/readlib.c:98 -#, c-format -msgid "Cannot fstat file %s.\n" -msgstr "No se puede efectuar `fstat' sobre el fichero %s.\n" +#: timezone/zic.c:1177 timezone/zic.c:1383 timezone/zic.c:1397 +msgid "invalid day of month" +msgstr "dÃa del mes inválido" -#: elf/readlib.c:108 -#, c-format -msgid "File %s is too small, not checked." -msgstr "El fichero %s es demasiado pequeño, no se comprueba." +#: timezone/zic.c:1182 +msgid "time before zero" +msgstr "hora antes de cero" -#: elf/readlib.c:117 -#, c-format -msgid "Cannot mmap file %s.\n" -msgstr "No se puede efectuar `mmap' sobre el fichero %s.\n" +#: timezone/zic.c:1186 +msgid "time too small" +msgstr "tiempo demasiado pequeño" -#: elf/readlib.c:155 -#, c-format -msgid "%s is not an ELF file - it has the wrong magic bytes at the start.\n" -msgstr "%s no es un fichero ELF - tiene los bytes mágicos equivocados en el comienzo.\n" +#: timezone/zic.c:1190 +msgid "time too large" +msgstr "tiempo demasiado grande" -#: elf/sprof.c:72 -msgid "Output selection:" -msgstr "Selección del resultado:" +#: timezone/zic.c:1194 timezone/zic.c:1299 +msgid "invalid time of day" +msgstr "hora del dÃa inválida" -#: elf/sprof.c:74 -msgid "print list of count paths and their number of use" -msgstr "muestra la lista de contadores de ruta y su número de uso" +#: timezone/zic.c:1213 +msgid "illegal CORRECTION field on Leap line" +msgstr "El campo CORRECTION en la lÃnea de año bisiesto es ilegal" -#: elf/sprof.c:76 -msgid "generate flat profile with counts and ticks" -msgstr "genera un `profile' plano con contadores y `ticks'" +#: timezone/zic.c:1218 +msgid "illegal Rolling/Stationary field on Leap line" +msgstr "Campo Rolling/Stationary ilegal en la lÃnea de año bisiesto" -#: elf/sprof.c:77 -msgid "generate call graph" -msgstr "genera el grafo de llamadas" +#: timezone/zic.c:1234 +msgid "wrong number of fields on Link line" +msgstr "número incorrecto de campos en la lÃnea de enlace (Link)" -# ¿profiling? sv -#: elf/sprof.c:84 -msgid "Read and display shared object profiling data" -msgstr "Lee y visualiza los datos de `profiling' del objeto compartido" +#: timezone/zic.c:1238 +msgid "blank FROM field on Link line" +msgstr "Campo FROM vacÃo en la lÃnea `Link'" -#: elf/sprof.c:87 -msgid "SHOBJ [PROFDATA]" -msgstr "SHOBJ [DATOSPROF]" +#: timezone/zic.c:1242 +msgid "blank TO field on Link line" +msgstr "Campo TO vacÃo en la lÃnea `Link'" -#: elf/sprof.c:398 -#, c-format -msgid "failed to load shared object `%s'" -msgstr "fallo al cargar el objeto compartido `%s'" +#: timezone/zic.c:1320 +msgid "invalid starting year" +msgstr "año de comienzo inválido" -#: elf/sprof.c:407 -msgid "cannot create internal descriptors" -msgstr "no se pueden crear descriptores internos" +#: timezone/zic.c:1342 +msgid "invalid ending year" +msgstr "año de final inválido" -#: elf/sprof.c:526 -#, c-format -msgid "Reopening shared object `%s' failed" -msgstr "La reapertura del objeto compartido `%s' falló" +#: timezone/zic.c:1346 +msgid "starting year greater than ending year" +msgstr "año de comienzo mayor que año de final" -#: elf/sprof.c:534 -msgid "mapping of section headers failed" -msgstr "falló la asignación de las cabeceras de sección" +#: timezone/zic.c:1353 +msgid "typed single year" +msgstr "tecleado un único año" -# Estupendo, entre section, header, string y table hay 4! posibilidades... -#: elf/sprof.c:544 -msgid "mapping of section header string table failed" -msgstr "falló la asignación de la tabla de cadenas de cabeceras de sección" +#: timezone/zic.c:1388 +msgid "invalid weekday name" +msgstr "nombre del dÃa de la semana incorrecto" -# Duda: stripped. -#: elf/sprof.c:564 +#: timezone/zic.c:1566 #, c-format -msgid "*** The file `%s' is stripped: no detailed analysis possible\n" -msgstr "*** El fichero `%s' está `stripped': no es posible un análisis detallado\n" - -#: elf/sprof.c:594 -msgid "failed to load symbol data" -msgstr "fallo al cargar los datos del símbolo" - -#: elf/sprof.c:664 -msgid "cannot load profiling data" -msgstr "no se pueden cargar los datos de `profiling'" - -#: elf/sprof.c:673 -msgid "while stat'ing profiling data file" -msgstr "al ejecutar `stat' sobre el fichero de datos de `profiling'" +msgid "%s: Can't remove %s: %s\n" +msgstr "%s: No se puede eliminar %s: %s\n" -#: elf/sprof.c:681 +#: timezone/zic.c:1576 #, c-format -msgid "profiling data file `%s' does not match shared object `%s'" -msgstr "" -"el fichero de datos para `profiling' %s no se corresponde con el\n" -"objeto compartido `%s'" - -#: elf/sprof.c:692 -msgid "failed to mmap the profiling data file" -msgstr "no se pudo hacer mmap con el fichero de datos de `profile'" - -# Se admiten sugerencias para el "profiling" sv. -#: elf/sprof.c:700 -msgid "error while closing the profiling data file" -msgstr "error al cerrar el fichero de datos de `profiling'" - -#: elf/sprof.c:709 elf/sprof.c:779 -msgid "cannot create internal descriptor" -msgstr "no se puede crear un descriptor interno" +msgid "%s: Can't create %s: %s\n" +msgstr "%s: No se puede crear %s: %s\n" -#: elf/sprof.c:755 +#: timezone/zic.c:1726 #, c-format -msgid "`%s' is no correct profile data file for `%s'" -msgstr "`%s' no es un fichero de datos para `profile' correcto para `%s'" - -#: elf/sprof.c:936 elf/sprof.c:988 -msgid "cannot allocate symbol data" -msgstr "no se puede asignar espacio para los datos del símbolo" - -#~ msgid "shared object cannot be dlopen()ed: static TLS memory too small" -#~ msgstr "" -#~ "no se puede efectuar dlopen() sobre el objeto compartido: memoria estática TLS\n" -#~ "demasiado pequeña" - -# FIXME: Decir al autor que no use tabs. sv -#~ msgid "\t\t\t\t\t\t\t %s: value for field `%s' must be in range %d...%d" -#~ msgstr "\t\t\t\t\t\t\t %s: el valor para el campo `%s' debe estar en el rango %d...%d" - -#~ msgid "Failed to look up user '%s' to run server as" -#~ msgstr "Fallo al buscar el usuario '%s' para ejecutar el servidor" - -#~ msgid "no filename for profiling data given and shared object `%s' has no soname" -#~ msgstr "" -#~ "no se ha dado un nombre de fichero para los datos de `profiling'\n" -#~ "y el objeto compartido `%s' no tiene soname" - -#~ msgid "%s: Error writing " -#~ msgstr "%s: Error al escribir " - -#~ msgid "cannot load shared object file" -#~ msgstr "no se puede cargar el objeto compartido" - -#~ msgid "cannot read locale directory `%s'" -#~ msgstr "No se puede leer el directorio de locales %s" - -#~ msgid "neither original nor target encoding specified" -#~ msgstr "no se ha especificado la codificación original ni la final" - -#~ msgid "original encoding not specified using `-f'" -#~ msgstr "la codificación original no se ha especificado utilizando `-f'" - -#~ msgid "standard output" -#~ msgstr "salida estándar" - -#~ msgid "target encoding not specified using `-t'" -#~ msgstr "no se ha especificado la codificación final utilizando `-t'" - -#~ msgid " done\n" -#~ msgstr " hecho\n" - -#~ msgid "%s: cannot get modification time" -#~ msgstr "%s: no se puede obtener la fecha de modificación" - -#~ msgid "Computing table size for character classes might take a while..." -#~ msgstr "" -#~ "El cálculo del tamaño de la tabla de clases de caracteres podría tardar un\n" -#~ "rato ..." - -# FUZZY -# Collating, uff, lo he visto por lo menos 10 veces, en varios contextos -# diferentes. Uno de ellos en el de comparaciones de strings en el DM de DB2. -# Podría traducirse tambien como 'uniones' o 'emparejamientos' ... em+ -#~ msgid "Computing table size for collation information might take a while..." -#~ msgstr "" -#~ "El cálculo del tamaño de la tabla de información de secuencias podría tardar\n" -#~ "un rato ..." - -#~ msgid "Convert key to lower case" -#~ msgstr "Convierte la clave a minúsculas" - -#~ msgid "Create simple DB database from textual input." -#~ msgstr "Crea una base de datos DB simple a partir de una entrada de texto." - -#~ msgid "Device not configured" -#~ msgstr "Dispositivo no configurado" - -#~ msgid "Do not print messages while building database" -#~ msgstr "No muestra ningún mensaje mientras construye la base de datos" - -#~ msgid "" -#~ "INPUT-FILE OUTPUT-FILE\n" -#~ "-o OUTPUT-FILE INPUT-FILE\n" -#~ "-u INPUT-FILE" -#~ msgstr "" -#~ "FICHERO-ENTRADA FICHERO-SALIDA\n" -#~ "-o FICHERO-SALIDA FICHERO-ENTRADA\n" -#~ "-u FICHERO-ENTRADA" - -#~ msgid "Print content of database file, one entry a line" -#~ msgstr "Muestra el contenido de un fichero de base de datos, una entrada por línea" - -# FUZZY -# entries ? debe haber algo para eso -# lo traducí antes como especificación, pero ... em+ -#~ msgid "`...' must only be used in `...' and `UNDEFINED' entries" -#~ msgstr "`...' debe usarse únicamente en las entradas `...' y `UNDEFINED'" - -#~ msgid "`from' expected after first argument to `collating-element'" -#~ msgstr "Se esperaba `from' después del primer argumento para `collating-element'" - -#~ msgid "`from' string in collation element declaration contains unknown character" -#~ msgstr "" -#~ "La cadena de caracteres `from' en la declaración de elemento de unión contiene\n" -#~ "un carácter desconocido" - -#~ msgid "buffer overflow" -#~ msgstr "desbordamiento de búfer" +msgid "%s: Error writing %s\n" +msgstr "%s: Error al escribir %s\n" -#~ msgid "cannot insert collation element `%.*s'" -#~ msgstr "no se puede insertar el elemento de unión `%.*s' " +#: timezone/zic.c:2019 +msgid "no POSIX environment variable for zone" +msgstr "no hay ninguna variable de entorno POSIX para la zona" # FUZZY -#~ msgid "cannot insert new collating symbol definition: %s" -#~ msgstr "no se puede insertar la nueva definición para el símbolo de unión: %s" - -#~ msgid "cannot open database file `%s': %s" -#~ msgstr "no se puede abrir el fichero de datos `%s': %s" - -#~ msgid "category data requested more than once: should not happen" -#~ msgstr "categoría de datos reclamada más de una vez, no debería ocurrir" - -#, fuzzy -#~ msgid "character L'%s' (index %Zd) in class `%s' must be in class `%s'" -#~ msgstr "el carácter %s'%s' en la clase `%s' debe estar en la clase `%s'" - -#, fuzzy -#~ msgid "character L'%s' (index %Zd) in class `%s' must not be in class `%s'" -#~ msgstr "el carácter %s'%s' en la clase `%s' no debe estar en la clase `%s" - -#~ msgid "collation element `%.*s' appears more than once: ignore line" -#~ msgstr "el elemento de unión `%.*s' aparece más de una vez: pasando por alto la línea" - -#~ msgid "collation symbol `%.*s' appears more than once: ignore line" -#~ msgstr "símbolo de unión `%.*s' aparece más de una vez: descartando la línea" - -#~ msgid "collation symbol expected after `%s'" -#~ msgstr "símbolo de unión esperado después de `%s'" - -#~ msgid "duplicate character name `%s'" -#~ msgstr "nombre de carácter duplicado `%s'" - -#~ msgid "duplicate key" -#~ msgstr "clave duplicada" - -#~ msgid "end point of ellipsis range is bigger then start" -#~ msgstr "el punto de final para el rango de la elipsis es mayor que el de comienzo" - -#~ msgid "error while inserting collation element into hash table" -#~ msgstr "error cuando se insertaba el elemento de unión en la tabla enlazada" - -#~ msgid "from-value of `collating-element' must be a string" -#~ msgstr "el valor `from-value' del elemento de unión ha de ser una cadena de caracteres" - -#~ msgid "illegal character constant in string" -#~ msgstr "carácter ilegal en la cadena" - -#~ msgid "illegal collation element" -#~ msgstr "elemento de unión ilegal" - -#~ msgid "incorrectly formatted file" -#~ msgstr "fichero formateado incorrectamente" - -#~ msgid "line after ellipsis must contain character definition" -#~ msgstr "la línea de después de la elipsis tiene que contener una definición de carácter" - -#~ msgid "line before ellipsis does not contain definition for character constant" -#~ msgstr "" -#~ "la línea posterior a la elipsis no contiene una definición para una constante\n" -#~ "de caracteres" - -#~ msgid "locale file `%s', used in `copy' statement, not found" -#~ msgstr "fichero de locales `%s', que se usa en una orden `copy', no se encuentra" - -# ¿repertorio? -#~ msgid "no repertoire map specified: cannot proceed" -#~ msgstr "no se ha especificado ninguna asignación de repertorio: no se puede continuar" - -#~ msgid "no weight defined for symbol `%s'" -#~ msgstr "no hay ningún peso definido para el símbolo `%s'" - -#~ msgid "problems while reading `%s'" -#~ msgstr "problemas mientras se leía `%s'" - -#~ msgid "symbol for multicharacter collating element `%.*s' duplicates other symbol definition" -#~ msgstr "" -#~ "el símbolo para el elemento de unión multicarácter `%.*s' repite la definición\n" -#~ "de otro símbolo" - -#~ msgid "symbol for multicharacter collating element `%.*s' duplicates symbol definition" -#~ msgstr "" -#~ "el símbolo para el elemento de unión multicarácter `%.*s' repite la definición\n" -#~ "de otro símbolo" +#: timezone/zic.c:2176 +msgid "can't determine time zone abbreviation to use just after until time" +msgstr "" +"No se puede determinar la abreviación de zona horaria que se usará justo\n" +"después" -#~ msgid "symbol for multicharacter collating element `%.*s' duplicates symbolic name in charset" -#~ msgstr "" -#~ "el símbolo para el elemento de unión multicarácter `%.*s' repite otro nombre\n" -#~ "de símbolo en el conjunto de caracteres" +#: timezone/zic.c:2222 +msgid "too many transitions?!" +msgstr "¡¿demasiadas transiciones?!" -#~ msgid "syntax error in `order_start' directive" -#~ msgstr "error de sintaxis en la directiva `order_start'" +#: timezone/zic.c:2241 +msgid "internal error - addtype called with bad isdst" +msgstr "error interno - se llamó a `addtype' con un `isdst' erróneo" -#~ msgid "syntax error in character class definition" -#~ msgstr "error de sintaxis en el nombre de clase de carácter" +#: timezone/zic.c:2245 +msgid "internal error - addtype called with bad ttisstd" +msgstr "error interno - se llamó a `addtype' con un `ttisstd' erróneo" -#~ msgid "syntax error in collating order definition" -#~ msgstr "error de sintaxis en la definición del orden de unión" +#: timezone/zic.c:2249 +msgid "internal error - addtype called with bad ttisgmt" +msgstr "error interno - se llamó a `addtype' con un `ttisgmt' erróneo" -#~ msgid "syntax error in collation definition" -#~ msgstr "error de sintaxis en la definición de la unión" +#: timezone/zic.c:2268 +msgid "too many local time types" +msgstr "demasiados tipos de hora local" -#~ msgid "syntax error in definition of LC_CTYPE category" -#~ msgstr "error de sintaxis en una definición de categoría LC_CTYPE" +#: timezone/zic.c:2272 +msgid "UTC offset out of range" +msgstr "desplazamiento UTC fuera de rango" -#~ msgid "syntax error in message locale definition" -#~ msgstr "error de sintaxis en la definición de local para mensajes" +#: timezone/zic.c:2300 +msgid "too many leap seconds" +msgstr "demasiados segundos intercalares" -#~ msgid "syntax error in monetary locale definition" -#~ msgstr "error de sintaxis en la definición de local para moneda" +#: timezone/zic.c:2306 +msgid "repeated leap second moment" +msgstr "segundo intercalar repetido" -#~ msgid "syntax error in numeric locale definition" -#~ msgstr "error de sintaxis en la definición de local para números" +# # Otra opción, resultado incongruente al ejecutar la orden em +#: timezone/zic.c:2358 +msgid "Wild result from command execution" +msgstr "Resultado salvaje en la ejecución de la orden" -#~ msgid "syntax error in order specification" -#~ msgstr "error de sintaxis en la especificación de orden" +# FIXME: `%s' +#: timezone/zic.c:2359 +#, c-format +msgid "%s: command was '%s', result was %d\n" +msgstr "%s: la orden fue `%s', el resultado fue %d\n" -#~ msgid "syntax error in time locale definition" -#~ msgstr "error de sintaxis en la definición de local para la hora" +#: timezone/zic.c:2457 +msgid "Odd number of quotation marks" +msgstr "Número impar de comillas" -#~ msgid "too many character classes defined" -#~ msgstr "demasiadas clases de caracteres definidas" +# FIXME: non leap-year -> non-leap year. +# A lo mejor si pones "veintinueve de febrero" o "29 de febrero" +# se entiende mejor. no sé. sv +# Si, estas pensando lo mismo que yo, 29 de febrero puede confundir, porque +# en el fichero pondrá 2/29 em +#: timezone/zic.c:2546 +msgid "use of 2/29 in non leap-year" +msgstr "uso de 2/29 en un año no bisiesto" -#~ msgid "too many weights" -#~ msgstr "¡demasiados pesos!" +#: timezone/zic.c:2581 +msgid "rule goes past start/end of month--will not work with pre-2004 versions of zic" +msgstr "la regla sobrepasa el comienzo/final del mes--no funcionará con versiones de zic anteriores a 2004" -#~ msgid "two lines in a row containing `...' are not allowed" -#~ msgstr "no están permitidas dos líneas en una misma fila con `...'" +#: timezone/zic.c:2613 +msgid "time zone abbreviation lacks alphabetic at start" +msgstr "la abreviatura de la zona horaria no comienza con un carácter alfabético" -#~ msgid "unknown character in field `%s' of category `%s'" -#~ msgstr "carácter no reconocido en el campo `%s' de la categoría `%s'" +#: timezone/zic.c:2615 +msgid "time zone abbreviation has more than 3 alphabetics" +msgstr "la abreviatura de la zona horaria tiene más de 3 caracteres alfabéticos" -# FUZZY em+ -#~ msgid "unknown collation directive" -#~ msgstr "la directiva de unión es desconocida" - -#~ msgid "unterminated weight name" -#~ msgstr "nombre de peso sin terminar" - -#~ msgid "value for <%s> must lie between 1 and 4" -#~ msgstr "el valor para <%s> debe estar entre 1 y 4" - -#~ msgid "while reading database" -#~ msgstr "al leer el fichero de datos" - -#~ msgid "while writing database file" -#~ msgstr "al escribir la base de datos" - -#~ msgid "symbol for multicharacter collating element `%.*s' duplicates other element definition" -#~ msgstr "" -#~ "el símbolo para el elemento de unión multicarácter `%.*s' repite la definición\n" -#~ "de otro elemento" - -#~ msgid "Filesize limit exceeded" -#~ msgstr "Superado el límite de tamaño de fichero" - -#~ msgid "Trace/BPT trap" -#~ msgstr "`trap' para seguimiento/BPT" - -#~ msgid "" -#~ "Usage: %s [OPTION]... -o OUTPUT-FILE [INPUT-FILE]...\n" -#~ " %s [OPTION]... [OUTPUT-FILE [INPUT-FILE]...]\n" -#~ "Mandatory arguments to long options are mandatory for short options too.\n" -#~ " -H, --header=NAME create C header file NAME containing symbol definitions\n" -#~ " -h, --help display this help and exit\n" -#~ " --new do not use existing catalog, force new output file\n" -#~ " -o, --output=NAME write output to file NAME\n" -#~ " -V, --version output version information and exit\n" -#~ "If INPUT-FILE is -, input is read from standard input. If OUTPUT-FILE\n" -#~ "is -, output is written to standard output.\n" -#~ msgstr "" -#~ "Modo de empleo: %s [OPCIÓN]... -o FICHERO-SALIDA [FICHERO-ENTRADA]...\n" -#~ " %s [OPCIÓN]... [FICHERO-SALIDA [FICHERO-ENTRADA]...]\n" -#~ "Los argumentos obligatorios para las opciones largas son también obligatorios\n" -#~ "para las opciones cortas.\n" -#~ " -H, --header=NOMBRE crea el fichero NOMBRE de cabeceras C con las definiciones de\n" -#~ " los símbolos\n" -#~ " -h, --help muestra esta ayuda y finaliza\n" -#~ " --new no usa el catálogo existente, crea un nuevo fichero\n" -#~ " de salida\n" -#~ " -o, --output=NOMBRE escribe el resultado en el fichero NOMBRE\n" -#~ " -V, --version informa de la versión y finaliza\n" -#~ "Si FICHERO-ENTRADA es -, la entrada se lee de la entrada estándar.\n" -#~ "Si FICHERO-SALIDA es -, el resultado se escribe en la salida estándar.\n" - -#~ msgid "" -#~ "Usage: %s [OPTION]... INPUT-FILE OUTPUT-FILE\n" -#~ " %s [OPTION]... -o OUTPUT-FILE INPUT-FILE\n" -#~ " %s [OPTION]... -u INPUT-FILE\n" -#~ "Mandatory arguments to long options are mandatory for short options too.\n" -#~ " -f, --fold-case convert key to lower case\n" -#~ " -h, --help display this help and exit\n" -#~ " -o, --output=NAME write output to file NAME\n" -#~ " --quiet don't print messages while building database\n" -#~ " -u, --undo print content of database file, one entry a line\n" -#~ " -V, --version output version information and exit\n" -#~ "If INPUT-FILE is -, input is read from standard input.\n" -#~ msgstr "" -#~ "Modo de empleo: %s [OPCIÓN]... FICHERO-ENTRADA FICHERO-SALIDA\n" -#~ " %s [OPCIÓN]... -o FICHERO-SALIDA FICHERO-ENTRADA\n" -#~ " %s [OPCIÓN]... -u FICHERO-ENTRADA\n" -#~ "Los argumentos obligatorios para las opciones largas son también obligatorios\n" -#~ "para las opciones cortas.\n" -#~ " -f, --fold-case convierte las claves a minúsculas\n" -#~ " -h, --help Muestra esta ayuda y finaliza\n" -#~ " -o, --output=FICHERO escribe el resultado en el fichero FICHERO\n" -#~ " --quiet no muestra mensajes al construir la base de datos\n" -#~ " -u, --undo muestra el contenido del fichero de datos, una\n" -#~ " entrada por línea\n" -#~ " -V, --version informa de la versión y finaliza\n" -#~ "Si FICHERO-ENTRADA es -, la entrada se lee de la entrada estándar.\n" - -#~ msgid "" -#~ "Usage: %s [OPTION]... name\n" -#~ "Mandatory arguments to long options are mandatory for short options too.\n" -#~ " -c, --force create output even if warning messages were issued\n" -#~ " -h, --help display this help and exit\n" -#~ " -f, --charmap=FILE symbolic character names defined in FILE\n" -#~ " -i, --inputfile=FILE source definitions are found in FILE\n" -#~ " -u, --code-set-name=NAME specify code set for mapping ISO 10646 elements\n" -#~ " -v, --verbose print more messages\n" -#~ " -V, --version output version information and exit\n" -#~ " --posix be strictly POSIX conform\n" -#~ "\n" -#~ "System's directory for character maps: %s\n" -#~ " locale files : %s\n" -#~ msgstr "" -#~ "Modo de empleo: %s [OPCIÓN]... nombre\n" -#~ "Los argumentos obligatorios para las opciones largas son también obligatorios\n" -#~ "para las opciones cortas.\n" -#~ " -c, --force crea el resultado incluso si existieron mensajes\n" -#~ " de aviso\n" -#~ " -h, --help muestra esta ayuda y finaliza\n" -#~ " -f, --charmap=FICHERO los nombres símbólicos de caracteres se encuentran\n" -#~ " en FICHERO\n" -#~ " -i, --inputfile=FICHERO las definiciones fuente se encuentran en FICHERO\n" -#~ " -u, --code-set-name=NOMBRE especifica el conjunto de códigos para asignar\n" -#~ " los elementos ISO 10646\n" -#~ " -v, --verbose incrementa el número de mensajes mostrados\n" -#~ " -V, --version informa de la versión y finaliza\n" -#~ " --posix atiende estrictamente las especificaciones POSIX\n" -#~ "\n" -#~ "Directorio del sistema para las tablas de caracteres:\n" -#~ "%s\n" -#~ " los ficheros de locales:\n" -#~ "%s\n" - -#~ msgid "" -#~ "Usage: %s [OPTION]... name\n" -#~ "Mandatory arguments to long options are mandatory for short options too.\n" -#~ " -h, --help display this help and exit\n" -#~ " -V, --version output version information and exit\n" -#~ "\n" -#~ " -a, --all-locales write names of available locales\n" -#~ " -m, --charmaps write names of available charmaps\n" -#~ "\n" -#~ " -c, --category-name write names of selected categories\n" -#~ " -k, --keyword-name write names of selected keywords\n" -#~ msgstr "" -#~ "Modo de empleo: %s [OPCIÓN]... nombre\n" -#~ "Los argumentos para las opciones largas son tambien obligatorios para las\n" -#~ "opciones cortas.\n" -#~ " -h, --help muestra esta ayuda y finaliza\n" -#~ " -V, --version informa de la versión y finaliza\n" -#~ "\n" -#~ " -a, --all-locales muestra los nombres de todos los locales disponibles\n" -#~ " -m, --charmaps muestra los nombres de todas las tablas de caracteres\n" -#~ " disponibles\n" -#~ "\n" -#~ " -c, --category-name muestra los nombres de las categorías seleccionadas\n" -#~ " -k, --keyword-name muestra los nombres de las palabras clave seleccionadas\n" - -#~ msgid "values for field `%s' in category `%s' must not be zero" -#~ msgstr "el valor para el campo `%s' en la categoría `%s' no debe ser cero" - -#~ msgid "while opening UTMP file" -#~ msgstr "al abrir el fichero UTMP" - -#~ msgid "YPBINDPROC_DOMAIN: No server for domain %s\n" -#~ msgstr "YPBINDPROC_DOMAIN: No hay servidor para el dominio %s\n" - -#~ msgid "YPBINDPROC_DOMAIN: Resource allocation failure\n" -#~ msgstr "YPBINDPROC_DOMAIN: Fallo en la asignación de recursos\n" - -#~ msgid "yp_all: clnttcp_create failed" -#~ msgstr "yp_all: ha fallado la llamada a 'clnttcp_create()'" - -#~ msgid "character `%c' not defined while needed as default value" -#~ msgstr "el carácter `%c' no está definido cuando se necesitó como valor por defecto" - -#~ msgid "couldn't do tcp_create\n" -#~ msgstr "no se ha podido ejecutar tcp_create\n" - -#~ msgid "couldn't do udp_create\n" -#~ msgstr "no se pudo ejecutar udp_create\n" - -#~ msgid "portmap CALLIT: cannot fork.\n" -#~ msgstr "portmap CALLIT: llamada a fork() sin éxito\n" - -#~ msgid "portmap cannot create socket" -#~ msgstr "el mapeador de puertos `portmap' no ha podido crear el `socket'" - -#~ msgid "run_svc returned unexpectedly\n" -#~ msgstr "run_svc terminó inesperadamente\n" - -# A los "arrays" les digo matrices. Igual en América se dice de otra forma. -# Creo que habría que consultarlo. SV. -# Echando mano de los fuentes, está claro que se refiere a un array de -# caracteres, ¿Cadena de caracteres?, si claro. EM -# Pues no, puede ser ambas cosas, o un array de caracteres, o una cadena. -# ¿por qué te comes la palabra "declaración"? -# ¿Qué tal "esperada una declaración de `array'"? sv -# Una declaración de array es> "char *a" por ejemplo. Lo que espera -# es algo así>"pepe" , escrito en un fichero de texto, con toda -# seguridad ( consulté los fuentes ) em -# Creí que una declaración y una constante eran cosas distintas. sv -# ¿Está mal el original inglés? sv -# Desde luego que esta mal, o poco claro al menos. Estoy convencido -# de que la traducción mejora una vez más al original. em -#~ msgid "array declaration expected" -#~ msgstr "esperado un array" - -#~ msgid "definition keyword expected" -#~ msgstr "esperada una palabra clave" - -#~ msgid "expected '%s'" -#~ msgstr "se esperaba `%s'" - -#~ msgid "expected '%s' or '%s'" -#~ msgstr "se esperaba `%s' ó `%s' " - -#~ msgid "expected '%s', '%s' or '%s'" -#~ msgstr "se esperaba `%s', `%s' ó `%s'" - -#~ msgid "expected type specifier" -#~ msgstr "esperado especificador de tipo" - -#~ msgid "no array-of-pointer declarations -- use typedef" -#~ msgstr "no existe ninguna declaración de array-of-pointer -- usar typedef" - -# "array" es "array"? -# Lo miro con cuidado, los ficheros rpc_*.c de la libc son especialmente -# complicados. Sí, creo que se refiere a los aliases de servicios rpc, y -# efectivamente es un array de longitud variable. No se me ocurriría -# traducirlo de otra forma, yo no lo entendería mejor que así. -# otra vez está ausente la "declaración", ¿no habría que ponerla? sv -# rpc_parse contiene las funciones para 'parsear' un fichero de config. em -# Habrá que inventar algo para 'parsear' ... sv -# Los alemanes dicen parsen, habe geparst em, quizá comprobar -# sintaxis o interpretar ? ( parsear es ambas cosas juntas, no ? ) em -# Creo que "examinar" podría valer, al menos para empezar. sv -# -# Sugerencia: "esperado un..." -> "se esperaba un..." sv -#~ msgid "variable-length array declaration expected" -#~ msgstr "esperado un array de longitud variable" +#: timezone/zic.c:2617 +msgid "time zone abbreviation has too many alphabetics" +msgstr "la abreviatura de la zona horaria tiene demasiados caracteres alfabéticos" -#~ msgid "voids allowed only inside union and program definitions" -#~ msgstr "voids sólo se permiten dentro de las definiciones de uniones y de programa" +#: timezone/zic.c:2627 +msgid "time zone abbreviation differs from POSIX standard" +msgstr "la abreviatura de la zona horaria difiere del estándar POSIX" -# Probablemente la traducción de path sería algo así -# como "ruta de búsqueda" sv -# por cierto: ¿qué son los niveles de "remote"? sv -# Niveles de profundidad ?, ver fuentes em ?? -#~ msgid "Too many levels of remote in path" -#~ msgstr "Demasiados niveles en el `path'" +#: timezone/zic.c:2639 +msgid "too many, or too long, time zone abbreviations" +msgstr "demasiadas abreviaturas de zona horaria, o demasiado largas" -#~ msgid "illegal result type" -#~ msgstr "tipo resultante no válido" +#: timezone/zic.c:2680 +#, c-format +msgid "%s: Can't create directory %s: %s\n" +msgstr "%s: No se puede crear el directorio %s: %s\n" -#~ msgid "too many files!\n" -#~ msgstr "¡demasiados ficheros!\n" +#: timezone/zic.c:2702 +#, c-format +msgid "%s: %d did not sign extend correctly\n" +msgstr "%s: %d no extendió el signo correctamente\n" diff --git a/libc/po/it.po b/libc/po/it.po index 9c3f5b919..deb465067 100644 --- a/libc/po/it.po +++ b/libc/po/it.po @@ -810,7 +810,7 @@ msgstr "Passa a RADICE come directory di root" #: elf/ldconfig.c:145 msgid "ROOT" -msgstr "RADICE" +msgstr "ROOT" #: elf/ldconfig.c:146 msgid "CACHE" @@ -5806,11 +5806,11 @@ msgstr "enablecache: impossibile allocare la coda fifo della cache" #: sunrpc/svc_udp.c:535 msgid "cache_set: victim not found" -msgstr "cache_set: victim cache non trovata" +msgstr "cache_set: victim non trovato" #: sunrpc/svc_udp.c:546 msgid "cache_set: victim alloc failed" -msgstr "cache_set: allocazione della victim cache non riuscita" +msgstr "cache_set: allocazione di victim non riuscita" #: sunrpc/svc_udp.c:553 msgid "cache_set: could not allocate new rpc_buffer" diff --git a/libc/posix/regex_internal.c b/libc/posix/regex_internal.c index a7d528ff6..6b1981a5f 100644 --- a/libc/posix/regex_internal.c +++ b/libc/posix/regex_internal.c @@ -1,5 +1,5 @@ /* Extended regular expression matching and search library. - Copyright (C) 2002-2006, 2010 Free Software Foundation, Inc. + Copyright (C) 2002-2006, 2010, 2011 Free Software Foundation, Inc. This file is part of the GNU C Library. Contributed by Isamu Hasegawa <isamu@yamato.ibm.com>. @@ -737,16 +737,18 @@ re_string_reconstruct (re_string_t *pstr, int idx, int eflags) unsigned char buf[6]; size_t mbclen; + const unsigned char *pp = p; if (BE (pstr->trans != NULL, 0)) { int i = mlen < 6 ? mlen : 6; while (--i >= 0) buf[i] = pstr->trans[p[i]]; + pp = buf; } /* XXX Don't use mbrtowc, we know which conversion to use (UTF-8 -> UCS4). */ memset (&cur_state, 0, sizeof (cur_state)); - mbclen = __mbrtowc (&wc2, (const char *) p, mlen, + mbclen = __mbrtowc (&wc2, (const char *) pp, mlen, &cur_state); if (raw + offset - p <= mbclen && mbclen < (size_t) -2) diff --git a/libc/posix/regex_internal.h b/libc/posix/regex_internal.h index 1a210f996..575dbfd83 100644 --- a/libc/posix/regex_internal.h +++ b/libc/posix/regex_internal.h @@ -1,5 +1,5 @@ /* Extended regular expression matching and search library. - Copyright (C) 2002-2005, 2007, 2008 Free Software Foundation, Inc. + Copyright (C) 2002-2005, 2007, 2008, 2011 Free Software Foundation, Inc. This file is part of the GNU C Library. Contributed by Isamu Hasegawa <isamu@yamato.ibm.com>. @@ -763,7 +763,6 @@ re_string_elem_size_at (const re_string_t *pstr, int idx) # ifdef _LIBC const unsigned char *p, *extra; const int32_t *table, *indirect; - int32_t tmp; # include <locale/weight.h> uint_fast32_t nrules = _NL_CURRENT_WORD (LC_COLLATE, _NL_COLLATE_NRULES); @@ -775,7 +774,7 @@ re_string_elem_size_at (const re_string_t *pstr, int idx) indirect = (const int32_t *) _NL_CURRENT (LC_COLLATE, _NL_COLLATE_INDIRECTMB); p = pstr->mbs + idx; - tmp = findidx (&p); + findidx (&p); return p - pstr->mbs - idx; } else diff --git a/libc/posix/sys/wait.h b/libc/posix/sys/wait.h index 6d7f0684c..a5fd58f9d 100644 --- a/libc/posix/sys/wait.h +++ b/libc/posix/sys/wait.h @@ -1,4 +1,4 @@ -/* Copyright (C) 1991-1994,1996-2001,2003,2004,2005,2007,2009,2010 +/* Copyright (C) 1991-1994,1996-2001,2003,2004,2005,2007,2009,2010,2011 Free Software Foundation, Inc. This file is part of the GNU C Library. @@ -167,13 +167,13 @@ struct rusage; WUNTRACED bit is set in OPTIONS, return status for stopped children; otherwise don't. */ extern __pid_t wait3 (__WAIT_STATUS __stat_loc, int __options, - struct rusage * __usage) __THROW; + struct rusage * __usage) __THROWNL; #endif #ifdef __USE_BSD /* PID is like waitpid. Other args are like wait3. */ extern __pid_t wait4 (__pid_t __pid, __WAIT_STATUS __stat_loc, int __options, - struct rusage *__usage) __THROW; + struct rusage *__usage) __THROWNL; #endif /* Use BSD. */ diff --git a/libc/posix/tst-rfc3484-2.c b/libc/posix/tst-rfc3484-2.c index bf5f6cff7..298fe6695 100644 --- a/libc/posix/tst-rfc3484-2.c +++ b/libc/posix/tst-rfc3484-2.c @@ -21,6 +21,12 @@ __check_pf (bool *p1, bool *p2, struct in6addrinfo **in6ai, size_t *in6ailen) void attribute_hidden +__free_in6ai (struct in6addrinfo *ai) +{ +} + +void +attribute_hidden __check_native (uint32_t a1_index, int *a1_native, uint32_t a2_index, int *a2_native) { diff --git a/libc/posix/tst-rfc3484-3.c b/libc/posix/tst-rfc3484-3.c index 8eba74e48..701f534bb 100644 --- a/libc/posix/tst-rfc3484-3.c +++ b/libc/posix/tst-rfc3484-3.c @@ -21,6 +21,12 @@ __check_pf (bool *p1, bool *p2, struct in6addrinfo **in6ai, size_t *in6ailen) void attribute_hidden +__free_in6ai (struct in6addrinfo *ai) +{ +} + +void +attribute_hidden __check_native (uint32_t a1_index, int *a1_native, uint32_t a2_index, int *a2_native) { diff --git a/libc/posix/tst-rfc3484.c b/libc/posix/tst-rfc3484.c index 26835cf8b..f77dc4c2c 100644 --- a/libc/posix/tst-rfc3484.c +++ b/libc/posix/tst-rfc3484.c @@ -21,6 +21,12 @@ __check_pf (bool *p1, bool *p2, struct in6addrinfo **in6ai, size_t *in6ailen) void attribute_hidden +__free_in6ai (struct in6addrinfo *ai) +{ +} + +void +attribute_hidden __check_native (uint32_t a1_index, int *a1_native, uint32_t a2_index, int *a2_native) { diff --git a/libc/posix/unistd.h b/libc/posix/unistd.h index f3ba5c764..b799b778c 100644 --- a/libc/posix/unistd.h +++ b/libc/posix/unistd.h @@ -776,7 +776,7 @@ extern int setresgid (__gid_t __rgid, __gid_t __egid, __gid_t __sgid) /* Clone the calling process, creating an exact copy. Return -1 for errors, 0 to the new process, and the process ID of the new process to the old process. */ -extern __pid_t fork (void) __THROW; +extern __pid_t fork (void) __THROWNL; #if (defined __USE_XOPEN_EXTENDED && !defined __USE_XOPEN2K8) \ || defined __USE_BSD diff --git a/libc/resolv/getaddrinfo_a.c b/libc/resolv/getaddrinfo_a.c index f6af3aa45..6f4ad8d81 100644 --- a/libc/resolv/getaddrinfo_a.c +++ b/libc/resolv/getaddrinfo_a.c @@ -1,4 +1,4 @@ -/* Copyright (C) 2001, 2006 Free Software Foundation, Inc. +/* Copyright (C) 2001, 2006, 2011 Free Software Foundation, Inc. This file is part of the GNU C Library. Contributed by Ulrich Drepper <drepper@redhat.com>, 2001. @@ -125,8 +125,8 @@ getaddrinfo_a (int mode, struct gaicb *list[], int ent, struct sigevent *sig) while (total > 0) { #ifdef DONT_NEED_GAI_MISC_COND - int result; - GAI_MISC_WAIT (result, total, NULL, 1); + int not_used __attribute__ ((unused)); + GAI_MISC_WAIT (not_used, total, NULL, 1); #else pthread_cond_wait (&cond, &__gai_requests_mutex); #endif diff --git a/libc/resolv/gethnamaddr.c b/libc/resolv/gethnamaddr.c index 5cf660a8d..a8ccf1fd3 100644 --- a/libc/resolv/gethnamaddr.c +++ b/libc/resolv/gethnamaddr.c @@ -585,7 +585,7 @@ gethostbyname2(name, af) } if (!isdigit(*cp) && *cp != '.') break; - } + } if ((isxdigit(name[0]) && strchr(name, ':') != NULL) || name[0] == ':') for (cp = name;; ++cp) { @@ -787,7 +787,7 @@ _sethtent(f) int f; { if (!hostf) - hostf = fopen(_PATH_HOSTS, "r" ); + hostf = fopen(_PATH_HOSTS, "rce" ); else rewind(hostf); stayopen = f; @@ -810,7 +810,7 @@ _gethtent() register char *cp, **q; int af, len; - if (!hostf && !(hostf = fopen(_PATH_HOSTS, "r" ))) { + if (!hostf && !(hostf = fopen(_PATH_HOSTS, "rce" ))) { __set_h_errno (NETDB_INTERNAL); return (NULL); } diff --git a/libc/resolv/res_hconf.c b/libc/resolv/res_hconf.c index 7b167bb3b..6f831ec6b 100644 --- a/libc/resolv/res_hconf.c +++ b/libc/resolv/res_hconf.c @@ -307,7 +307,7 @@ do_init (void) if (hconf_name == NULL) hconf_name = _PATH_HOSTCONF; - fp = fopen (hconf_name, "rc"); + fp = fopen (hconf_name, "rce"); if (fp) { /* No threads using this stream. */ diff --git a/libc/resolv/res_query.c b/libc/resolv/res_query.c index 2f7cfaa4b..947c6513a 100644 --- a/libc/resolv/res_query.c +++ b/libc/resolv/res_query.c @@ -602,7 +602,7 @@ res_hostalias(const res_state statp, const char *name, char *dst, size_t siz) { if (statp->options & RES_NOALIASES) return (NULL); file = getenv("HOSTALIASES"); - if (file == NULL || (fp = fopen(file, "r")) == NULL) + if (file == NULL || (fp = fopen(file, "rce")) == NULL) return (NULL); setbuf(fp, NULL); buf[sizeof(buf) - 1] = '\0'; diff --git a/libc/scripts/check-local-headers.sh b/libc/scripts/check-local-headers.sh index b73078d36..62831ddda 100755 --- a/libc/scripts/check-local-headers.sh +++ b/libc/scripts/check-local-headers.sh @@ -29,7 +29,7 @@ exec ${AWK} -v includedir="$includedir" ' BEGIN { status = 0 exclude = "^" includedir \ - "/(asm[-/]|linux/|selinux/|gd|nss3/|sys/capability\\.h)" + "/(asm[-/]|linux/|selinux/|gd|nss3/|sys/capability\\.h|libaudit\\.h)" } /^[^ ]/ && $1 ~ /.*:/ { obj = $1 } { diff --git a/libc/scripts/list-sources.sh b/libc/scripts/list-sources.sh index 41c8b9ead..53b6f7f0e 100755 --- a/libc/scripts/list-sources.sh +++ b/libc/scripts/list-sources.sh @@ -9,23 +9,7 @@ case $# in *) echo >&2 "Usage: $0 [top_srcdir]"; exit 2 ;; esac -if [ -r CVS/Entries ]; then - - ${CVS:-cvs} status 2>&1 | ${AWK:-awk} ' -NF >= 2 && $(NF - 1) == "Examining" { dir = $NF } -$1 == "File:" { print (dir == ".") ? $2 : (dir "/" $2) }' - exit $? - -elif [ -r .svn/entries ]; then - - ${SVN:-svn} ls -R | sed '/\/$/d' - exit $? - -elif [ -r MT/options ]; then - - exec ${MONOTONE:-monotone} list known - -elif [ -r .git/HEAD ]; then +if [ -r .git/HEAD ]; then exec ${GIT:-git} ls-files diff --git a/libc/setjmp/bits/setjmp2.h b/libc/setjmp/bits/setjmp2.h index b2f8efac4..ad65d2597 100644 --- a/libc/setjmp/bits/setjmp2.h +++ b/libc/setjmp/bits/setjmp2.h @@ -1,5 +1,5 @@ /* Checking macros for setjmp functions. - Copyright (C) 2009 Free Software Foundation, Inc. + Copyright (C) 2009, 2011 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,18 +23,18 @@ /* Variant of the longjmp functions which perform some sanity checking. */ #ifdef __REDIRECT_NTH -extern void __REDIRECT_NTH (longjmp, - (struct __jmp_buf_tag __env[1], int __val), - __longjmp_chk) __attribute__ ((__noreturn__)); -extern void __REDIRECT_NTH (_longjmp, - (struct __jmp_buf_tag __env[1], int __val), - __longjmp_chk) __attribute__ ((__noreturn__)); -extern void __REDIRECT_NTH (siglongjmp, - (struct __jmp_buf_tag __env[1], int __val), - __longjmp_chk) __attribute__ ((__noreturn__)); +extern void __REDIRECT_NTHNL (longjmp, + (struct __jmp_buf_tag __env[1], int __val), + __longjmp_chk) __attribute__ ((__noreturn__)); +extern void __REDIRECT_NTHNL (_longjmp, + (struct __jmp_buf_tag __env[1], int __val), + __longjmp_chk) __attribute__ ((__noreturn__)); +extern void __REDIRECT_NTHNL (siglongjmp, + (struct __jmp_buf_tag __env[1], int __val), + __longjmp_chk) __attribute__ ((__noreturn__)); #else extern void __longjmp_chk (struct __jmp_buf_tag __env[1], int __val), - __THROW __attribute__ ((__noreturn__)); + __THROWNL __attribute__ ((__noreturn__)); # define longjmp __longjmp_chk # define _longjmp __longjmp_chk # define siglongjmp __longjmp_chk diff --git a/libc/setjmp/setjmp.h b/libc/setjmp/setjmp.h index 3bc382ff1..fd57ab645 100644 --- a/libc/setjmp/setjmp.h +++ b/libc/setjmp/setjmp.h @@ -1,4 +1,4 @@ -/* Copyright (C) 1991-1999,2001,2002,2007,2009 Free Software Foundation, Inc. +/* Copyright (C) 1991-1999,2001,2002,2007,2009,2011 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 @@ -50,19 +50,19 @@ typedef struct __jmp_buf_tag jmp_buf[1]; /* Store the calling environment in ENV, also saving the signal mask. Return 0. */ -extern int setjmp (jmp_buf __env) __THROW; +extern int setjmp (jmp_buf __env) __THROWNL; __END_NAMESPACE_STD /* Store the calling environment in ENV, also saving the signal mask if SAVEMASK is nonzero. Return 0. This is the internal name for `sigsetjmp'. */ -extern int __sigsetjmp (struct __jmp_buf_tag __env[1], int __savemask) __THROW; +extern int __sigsetjmp (struct __jmp_buf_tag __env[1], int __savemask) __THROWNL; #ifndef __FAVOR_BSD /* Store the calling environment in ENV, not saving the signal mask. Return 0. */ -extern int _setjmp (struct __jmp_buf_tag __env[1]) __THROW; +extern int _setjmp (struct __jmp_buf_tag __env[1]) __THROWNL; /* Do not save the signal mask. This is equivalent to the `_setjmp' BSD function. */ @@ -80,7 +80,7 @@ __BEGIN_NAMESPACE_STD /* Jump to the environment saved in ENV, making the `setjmp' call there return VAL, or 1 if VAL is 0. */ extern void longjmp (struct __jmp_buf_tag __env[1], int __val) - __THROW __attribute__ ((__noreturn__)); + __THROWNL __attribute__ ((__noreturn__)); __END_NAMESPACE_STD @@ -89,7 +89,7 @@ __END_NAMESPACE_STD the signal mask. But it is how ENV was saved that determines whether `longjmp' restores the mask; `_longjmp' is just an alias. */ extern void _longjmp (struct __jmp_buf_tag __env[1], int __val) - __THROW __attribute__ ((__noreturn__)); + __THROWNL __attribute__ ((__noreturn__)); #endif @@ -108,7 +108,7 @@ typedef struct __jmp_buf_tag sigjmp_buf[1]; Restore the signal mask if that sigsetjmp call saved it. This is just an alias `longjmp'. */ extern void siglongjmp (sigjmp_buf __env, int __val) - __THROW __attribute__ ((__noreturn__)); + __THROWNL __attribute__ ((__noreturn__)); #endif /* Use POSIX. */ diff --git a/libc/stdlib/ucontext.h b/libc/stdlib/ucontext.h index ee6f594f0..abeb6471d 100644 --- a/libc/stdlib/ucontext.h +++ b/libc/stdlib/ucontext.h @@ -1,4 +1,4 @@ -/* Copyright (C) 1997, 1998, 1999, 2000 Free Software Foundation, Inc. +/* Copyright (C) 1997, 1998, 1999, 2000, 2011 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 @@ -29,15 +29,15 @@ __BEGIN_DECLS /* Get user context and store it in variable pointed to by UCP. */ -extern int getcontext (ucontext_t *__ucp) __THROW; +extern int getcontext (ucontext_t *__ucp) __THROWNL; /* Set user context from information of variable pointed to by UCP. */ -extern int setcontext (__const ucontext_t *__ucp) __THROW; +extern int setcontext (__const ucontext_t *__ucp) __THROWNL; /* Save current context in context variable pointed to by OUCP and set context from variable pointed to by UCP. */ extern int swapcontext (ucontext_t *__restrict __oucp, - __const ucontext_t *__restrict __ucp) __THROW; + __const ucontext_t *__restrict __ucp) __THROWNL; /* Manipulate user context UCP to continue with calling functions FUNC and the ARGC-1 parameters following ARGC when the context is used diff --git a/libc/string/Makefile b/libc/string/Makefile index 46d32188b..5a8d84023 100644 --- a/libc/string/Makefile +++ b/libc/string/Makefile @@ -54,7 +54,7 @@ strop-tests := memchr memcmp memcpy memmove mempcpy memset memccpy \ stpcpy stpncpy strcat strchr strcmp strcpy strcspn \ strlen strncmp strncpy strpbrk strrchr strspn memmem \ strstr strcasestr strnlen strcasecmp strncasecmp \ - strncat rawmemchr + strncat rawmemchr strchrnul tests := tester inl-tester noinl-tester testcopy test-ffs \ tst-strlen stratcliff tst-svc tst-inlcall \ bug-strncat1 bug-strspn1 bug-strpbrk1 tst-bswap \ diff --git a/libc/string/test-strchr.c b/libc/string/test-strchr.c index 3bbc2f570..a46ee82c1 100644 --- a/libc/string/test-strchr.c +++ b/libc/string/test-strchr.c @@ -23,7 +23,13 @@ #include "test-string.h" #ifndef WIDE -# define STRCHR strchr +# ifdef USE_FOR_STRCHRNUL +# define STRCHR strchrnul +# define stupid_STRCHR stupid_STRCHRNUL +# define simple_STRCHR simple_STRCHRNUL +# else +# define STRCHR strchr +# endif # define STRLEN strlen # define CHAR char # define BIG_CHAR CHAR_MAX @@ -41,6 +47,13 @@ # define UCHAR wchar_t #endif +#ifdef USE_FOR_STRCHRNUL +# define NULLRET(endptr) endptr +#else +# define NULLRET(endptr) NULL +#endif + + typedef CHAR *(*proto_t) (const CHAR *, int); CHAR * @@ -48,7 +61,7 @@ simple_STRCHR (const CHAR *s, int c) { for (; *s != (CHAR) c; ++s) if (*s == '\0') - return NULL; + return NULLRET ((CHAR *) s); return (CHAR *) s; } @@ -60,7 +73,7 @@ stupid_STRCHR (const CHAR *s, int c) while (n--) if (*s++ == (CHAR) c) return (CHAR *) s - 1; - return NULL; + return NULLRET ((CHAR *) s - 1); } IMPL (stupid_STRCHR, 0) @@ -73,8 +86,8 @@ do_one_test (impl_t *impl, const CHAR *s, int c, const CHAR *exp_res) CHAR *res = CALL (impl, s, c); if (res != exp_res) { - error (0, 0, "Wrong result in function %s %p %p", impl->name, - res, exp_res); + error (0, 0, "Wrong result in function %s %#x %p %p", impl->name, + c, res, exp_res); ret = 1; return; } @@ -129,7 +142,7 @@ do_test (size_t align, size_t pos, size_t len, int seek_char, int max_char) else if (seek_char == 0) result = buf + align + len; else - result = NULL; + result = NULLRET (buf + align + len); if (HP_TIMING_AVAIL) printf ("Length %4zd, alignment in bytes %2zd:", @@ -198,7 +211,7 @@ do_random_tests (void) else if (seek_char == 0) result = (CHAR *) (p + len + align); else - result = NULL; + result = NULLRET ((CHAR *) (p + len + align)); FOR_EACH_IMPL (impl, 1) if (CALL (impl, (CHAR *) (p + align), seek_char) != result) diff --git a/libc/string/test-strchrnul.c b/libc/string/test-strchrnul.c new file mode 100644 index 000000000..9836af6dd --- /dev/null +++ b/libc/string/test-strchrnul.c @@ -0,0 +1,2 @@ +#define USE_FOR_STRCHRNUL 1 +#include "test-strchr.c" diff --git a/libc/sunrpc/rpc_prot.c b/libc/sunrpc/rpc_prot.c index b19dff765..9a23cc1b0 100644 --- a/libc/sunrpc/rpc_prot.c +++ b/libc/sunrpc/rpc_prot.c @@ -214,7 +214,7 @@ rejected (enum reject_stat rjct_stat, { switch (rjct_stat) { - case RPC_VERSMISMATCH: + case RPC_MISMATCH: error->re_status = RPC_VERSMISMATCH; return; case AUTH_ERROR: diff --git a/libc/sysdeps/generic/dwarf2.h b/libc/sysdeps/generic/dwarf2.h index 9fca4c00e..26ceef68c 100644 --- a/libc/sysdeps/generic/dwarf2.h +++ b/libc/sysdeps/generic/dwarf2.h @@ -1,6 +1,6 @@ /* Declarations and definitions of codes relating to the DWARF2 symbolic debugging information format. - Copyright (C) 1992, 1993, 1995, 1996, 1997, 2000 + Copyright (C) 1992, 1993, 1995, 1996, 1997, 2000, 2011 Free Software Foundation, Inc. Contributed by Gary Funck (gary@intrepid.com). Derived from the DWARF 1 implementation written by Ron Guilmette (rfg@monkeys.com). @@ -22,6 +22,9 @@ Software Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA. */ +#ifndef _DWARF2_H +#define _DWARF2_H 1 + /* This file is derived from the DWARF specification (a public document) Revision 2.0.0 (July 27, 1993) developed by the UNIX International Programming Languages Special Interest Group (UI/PLSIG) and distributed @@ -31,6 +34,7 @@ /* This file is shared between GCC and GDB, and should not contain prototypes. */ +#ifndef __ASSEMBLER__ /* Tag names and codes. */ enum dwarf_tag @@ -560,6 +564,7 @@ enum dwarf_macinfo_record_type DW_MACINFO_vendor_ext = 255 }; +#endif /* !ASSEMBLER */ /* @@@ For use with GNU frame unwind information. */ @@ -583,3 +588,5 @@ enum dwarf_macinfo_record_type #define DW_EH_PE_aligned 0x50 #define DW_EH_PE_indirect 0x80 + +#endif /* dwarf2.h */ diff --git a/libc/sysdeps/generic/sysdep.h b/libc/sysdeps/generic/sysdep.h index 54884d9af..eecbd731f 100644 --- a/libc/sysdeps/generic/sysdep.h +++ b/libc/sysdeps/generic/sysdep.h @@ -1,5 +1,6 @@ /* Generic asm macros used on many machines. - Copyright (C) 1991,92,93,96,98,2002,2003,2009 Free Software Foundation, Inc. + Copyright (C) 1991-1993,96,98,2002,2003,2009,2011 + Free Software Foundation, Inc. This file is part of the GNU C Library. The GNU C Library is free software; you can redistribute it and/or @@ -20,19 +21,19 @@ #ifndef C_LABEL /* Define a macro we can use to construct the asm name for a C symbol. */ -#ifdef NO_UNDERSCORES -#ifdef __STDC__ -#define C_LABEL(name) name##: -#else -#define C_LABEL(name) name/**/: -#endif -#else -#ifdef __STDC__ -#define C_LABEL(name) _##name##: -#else -#define C_LABEL(name) _/**/name/**/: -#endif -#endif +# ifdef NO_UNDERSCORES +# ifdef __STDC__ +# define C_LABEL(name) name##: +# else +# define C_LABEL(name) name/**/: +# endif +# else +# ifdef __STDC__ +# define C_LABEL(name) _##name##: +# else +# define C_LABEL(name) _/**/name/**/: +# endif +# endif #endif @@ -40,15 +41,17 @@ /* Mark the end of function named SYM. This is used on some platforms to generate correct debugging information. */ # ifndef END -# define END(sym) +# define END(sym) # endif # ifndef JUMPTARGET -# define JUMPTARGET(sym) sym +# define JUMPTARGET(sym) sym # endif +#endif /* Makros to generate eh_frame unwind information. */ -# ifdef HAVE_ASM_CFI_DIRECTIVES +#ifdef HAVE_ASM_CFI_DIRECTIVES +# ifdef __ASSEMBLER__ # define cfi_startproc .cfi_startproc # define cfi_endproc .cfi_endproc # define cfi_def_cfa(reg, off) .cfi_def_cfa reg, off @@ -67,29 +70,9 @@ # define cfi_window_save .cfi_window_save # define cfi_personality(enc, exp) .cfi_personality enc, exp # define cfi_lsda(enc, exp) .cfi_lsda enc, exp -# else -# define cfi_startproc -# define cfi_endproc -# define cfi_def_cfa(reg, off) -# define cfi_def_cfa_register(reg) -# define cfi_def_cfa_offset(off) -# define cfi_adjust_cfa_offset(off) -# define cfi_offset(reg, off) -# define cfi_rel_offset(reg, off) -# define cfi_register(r1, r2) -# define cfi_return_column(reg) -# define cfi_restore(reg) -# define cfi_same_value(reg) -# define cfi_undefined(reg) -# define cfi_remember_state -# define cfi_restore_state -# define cfi_window_save -# define cfi_personality(enc, exp) -# define cfi_lsda(enc, exp) -# endif -#else /* ! ASSEMBLER */ -# ifdef HAVE_ASM_CFI_DIRECTIVES +# else /* ! ASSEMBLER */ + # define CFI_STRINGIFY(Name) CFI_STRINGIFY2 (Name) # define CFI_STRINGIFY2(Name) #Name # define CFI_STARTPROC ".cfi_startproc" @@ -124,43 +107,27 @@ ".cfi_personality " CFI_STRINGIFY(enc) "," CFI_STRINGIFY(exp) # define CFI_LSDA(enc, exp) \ ".cfi_lsda " CFI_STRINGIFY(enc) "," CFI_STRINGIFY(exp) -# else -# define CFI_STARTPROC -# define CFI_ENDPROC -# define CFI_DEF_CFA(reg, off) -# define CFI_DEF_CFA_REGISTER(reg) -# define CFI_DEF_CFA_OFFSET(off) -# define CFI_ADJUST_CFA_OFFSET(off) -# define CFI_OFFSET(reg, off) -# define CFI_REL_OFFSET(reg, off) -# define CFI_REGISTER(r1, r2) -# define CFI_RETURN_COLUMN(reg) -# define CFI_RESTORE(reg) -# define CFI_UNDEFINED(reg) -# define CFI_REMEMBER_STATE -# define CFI_RESTORE_STATE -# define CFI_WINDOW_SAVE -# define CFI_PERSONALITY(enc, exp) -# define CFI_LSDA(enc, exp) # endif -#endif /* __ASSEMBLER__ */ +#else + +# define CFI_STARTPROC +# define CFI_ENDPROC +# define CFI_DEF_CFA(reg, off) +# define CFI_DEF_CFA_REGISTER(reg) +# define CFI_DEF_CFA_OFFSET(off) +# define CFI_ADJUST_CFA_OFFSET(off) +# define CFI_OFFSET(reg, off) +# define CFI_REL_OFFSET(reg, off) +# define CFI_REGISTER(r1, r2) +# define CFI_RETURN_COLUMN(reg) +# define CFI_RESTORE(reg) +# define CFI_UNDEFINED(reg) +# define CFI_REMEMBER_STATE +# define CFI_RESTORE_STATE +# define CFI_WINDOW_SAVE +# define CFI_PERSONALITY(enc, exp) +# define CFI_LSDA(enc, exp) +#endif -/* Values used for encoding parameter of cfi_personality and cfi_lsda. */ -#define DW_EH_PE_absptr 0x00 -#define DW_EH_PE_omit 0xff -#define DW_EH_PE_uleb128 0x01 -#define DW_EH_PE_udata2 0x02 -#define DW_EH_PE_udata4 0x03 -#define DW_EH_PE_udata8 0x04 -#define DW_EH_PE_sleb128 0x09 -#define DW_EH_PE_sdata2 0x0a -#define DW_EH_PE_sdata4 0x0b -#define DW_EH_PE_sdata8 0x0c -#define DW_EH_PE_signed 0x08 -#define DW_EH_PE_pcrel 0x10 -#define DW_EH_PE_textrel 0x20 -#define DW_EH_PE_datarel 0x30 -#define DW_EH_PE_funcrel 0x40 -#define DW_EH_PE_aligned 0x50 -#define DW_EH_PE_indirect 0x80 +#include "dwarf2.h" diff --git a/libc/sysdeps/i386/i686/multiarch/Makefile b/libc/sysdeps/i386/i686/multiarch/Makefile index 5f1853877..426b718e4 100644 --- a/libc/sysdeps/i386/i686/multiarch/Makefile +++ b/libc/sysdeps/i386/i686/multiarch/Makefile @@ -4,6 +4,7 @@ gen-as-const-headers += ifunc-defines.sym endif ifeq ($(subdir),string) +gen-as-const-headers += locale-defines.sym sysdep_routines += bzero-sse2 memset-sse2 memcpy-ssse3 mempcpy-ssse3 \ memmove-ssse3 memcpy-ssse3-rep mempcpy-ssse3-rep \ memmove-ssse3-rep bcopy-ssse3 bcopy-ssse3-rep \ @@ -15,11 +16,13 @@ sysdep_routines += bzero-sse2 memset-sse2 memcpy-ssse3 mempcpy-ssse3 \ strncpy-sse2 stpcpy-sse2 stpncpy-sse2 strcat-ssse3 \ strcat-sse2 strncat-ssse3 strncat-sse2 strncat-c \ strchr-sse2 strrchr-sse2 strchr-sse2-bsf strrchr-sse2-bsf \ - wcscmp-sse2 wcscmp-c memchr-sse2 memchr-sse2-bsf \ + memchr-sse2 memchr-sse2-bsf \ memrchr-sse2 memrchr-sse2-bsf memrchr-c \ rawmemchr-sse2 rawmemchr-sse2-bsf \ - strnlen-sse2 strnlen-c wcslen-sse2 wcslen-c \ - wmemcmp-sse4 wmemcmp-ssse3 wmemcmp-c + strnlen-sse2 strnlen-c \ + strcasecmp_l-c strcasecmp-c strcasecmp_l-ssse3 \ + strncase_l-c strncase-c strncase_l-ssse3 \ + strcasecmp_l-sse4 strncase_l-sse4 ifeq (yes,$(config-cflags-sse4)) sysdep_routines += strcspn-c strpbrk-c strspn-c strstr-c strcasestr-c CFLAGS-varshift.c += -msse4 @@ -32,6 +35,11 @@ CFLAGS-strcasestr-nonascii.c += -msse4 endif endif +ifeq ($(subdir),wcsmbs) +sysdep_routines += wcscmp-sse2 wcscmp-c wcslen-sse2 wcslen-c \ + wmemcmp-sse4 wmemcmp-ssse3 wmemcmp-c +endif + ifeq (mathyes,$(subdir)$(config-cflags-avx)) libm-sysdep_routines += s_fma-fma s_fmaf-fma CFLAGS-s_fma-fma.c += -mavx -mfpmath=sse diff --git a/libc/sysdeps/i386/i686/multiarch/locale-defines.sym b/libc/sysdeps/i386/i686/multiarch/locale-defines.sym new file mode 100644 index 000000000..aebff9a4f --- /dev/null +++ b/libc/sysdeps/i386/i686/multiarch/locale-defines.sym @@ -0,0 +1,11 @@ +#include <locale/localeinfo.h> +#include <langinfo.h> +#include <stddef.h> + +-- + +LOCALE_T___LOCALES offsetof (struct __locale_struct, __locales) +LC_CTYPE +_NL_CTYPE_NONASCII_CASE +LOCALE_DATA_VALUES offsetof (struct __locale_data, values) +SIZEOF_VALUES sizeof (((struct __locale_data *) 0)->values[0]) diff --git a/libc/sysdeps/i386/i686/multiarch/strcasecmp-c.c b/libc/sysdeps/i386/i686/multiarch/strcasecmp-c.c new file mode 100644 index 000000000..753c6ec84 --- /dev/null +++ b/libc/sysdeps/i386/i686/multiarch/strcasecmp-c.c @@ -0,0 +1,12 @@ +#include <string.h> + +extern __typeof (strcasecmp) __strcasecmp_nonascii; + +#define __strcasecmp __strcasecmp_nonascii +#include <string/strcasecmp.c> + +strong_alias (__strcasecmp_nonascii, __strcasecmp_ia32) + +/* The needs of strcasecmp in libc are minimal, no need to go through + the IFUNC. */ +strong_alias (__strcasecmp_nonascii, __GI___strcasecmp) diff --git a/libc/sysdeps/i386/i686/multiarch/strcasecmp.S b/libc/sysdeps/i386/i686/multiarch/strcasecmp.S new file mode 100644 index 000000000..97603d884 --- /dev/null +++ b/libc/sysdeps/i386/i686/multiarch/strcasecmp.S @@ -0,0 +1,68 @@ +/* Entry point for multi-version x86 strcasecmp. + Copyright (C) 2011 Free Software Foundation, Inc. + This file is part of the GNU C Library. + + The GNU C Library is free software; you can redistribute it and/or + modify it under the terms of the GNU Lesser General Public + License as published by the Free Software Foundation; either + version 2.1 of the License, or (at your option) any later version. + + The GNU C Library is distributed in the hope that it will be useful, + but WITHOUT ANY WARRANTY; without even the implied warranty of + MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU + Lesser General Public License for more details. + + You should have received a copy of the GNU Lesser General Public + License along with the GNU C Library; if not, write to the Free + Software Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA + 02111-1307 USA. */ + +#include <sysdep.h> +#include <init-arch.h> + +#ifdef SHARED + .text +ENTRY(__strcasecmp) + .type __strcasecmp, @gnu_indirect_function + pushl %ebx + cfi_adjust_cfa_offset (4) + cfi_rel_offset (ebx, 0) + call __i686.get_pc_thunk.bx + addl $_GLOBAL_OFFSET_TABLE_, %ebx + cmpl $0, KIND_OFFSET+__cpu_features@GOTOFF(%ebx) + jne 1f + call __init_cpu_features +1: leal __strcasecmp_ia32@GOTOFF(%ebx), %eax + testl $bit_SSSE3, CPUID_OFFSET+index_SSSE3+__cpu_features@GOTOFF(%ebx) + jz 2f + leal __strcasecmp_ssse3@GOTOFF(%ebx), %eax + testl $bit_SSE4_2, CPUID_OFFSET+index_SSE4_2+__cpu_features@GOTOFF(%ebx) + jz 2f + leal __strcasecmp_sse4_2@GOTOFF(%ebx), %eax +2: popl %ebx + cfi_adjust_cfa_offset (-4) + cfi_restore (ebx) + ret +END(__strcasecmp) +#else + .text +ENTRY(__strcasecmp) + .type __strcasecmp, @gnu_indirect_function + cmpl $0, KIND_OFFSET+__cpu_features + jne 1f + call __init_cpu_features +1: leal __strcasecmp_ia32, %eax + testl $bit_SSSE3, CPUID_OFFSET+index_SSSE3+__cpu_features + jz 2f + leal __strcasecmp_ssse3, %eax +#if 0 + // XXX Temporarily + testl $bit_SSE4_2, CPUID_OFFSET+index_SSE4_2+__cpu_features + jz 2f + leal __strcasecmp_sse4_2, %eax +#endif +2: ret +END(__strcasecmp) +#endif + +weak_alias (__strcasecmp, strcasecmp) diff --git a/libc/sysdeps/i386/i686/multiarch/strcasecmp_l-c.c b/libc/sysdeps/i386/i686/multiarch/strcasecmp_l-c.c new file mode 100644 index 000000000..d10e87256 --- /dev/null +++ b/libc/sysdeps/i386/i686/multiarch/strcasecmp_l-c.c @@ -0,0 +1,11 @@ +#include <string.h> + +extern __typeof (strcasecmp_l) __strcasecmp_l_nonascii; + +#define __strcasecmp_l __strcasecmp_l_nonascii +#define USE_IN_EXTENDED_LOCALE_MODEL 1 +#include <string/strcasecmp.c> + +/* The needs of strcasecmp in libc are minimal, no need to go through + the IFUNC. */ +strong_alias (__strcasecmp_l_nonascii, __GI___strcasecmp_l) diff --git a/libc/sysdeps/i386/i686/multiarch/strcasecmp_l-sse4.S b/libc/sysdeps/i386/i686/multiarch/strcasecmp_l-sse4.S new file mode 100644 index 000000000..411d4153f --- /dev/null +++ b/libc/sysdeps/i386/i686/multiarch/strcasecmp_l-sse4.S @@ -0,0 +1,2 @@ +#define USE_AS_STRCASECMP_L 1 +#include "strcmp-sse4.S" diff --git a/libc/sysdeps/i386/i686/multiarch/strcasecmp_l-ssse3.S b/libc/sysdeps/i386/i686/multiarch/strcasecmp_l-ssse3.S new file mode 100644 index 000000000..a22b93c51 --- /dev/null +++ b/libc/sysdeps/i386/i686/multiarch/strcasecmp_l-ssse3.S @@ -0,0 +1,2 @@ +#define USE_AS_STRCASECMP_L 1 +#include "strcmp-ssse3.S" diff --git a/libc/sysdeps/i386/i686/multiarch/strcasecmp_l.S b/libc/sysdeps/i386/i686/multiarch/strcasecmp_l.S new file mode 100644 index 000000000..1322bd86d --- /dev/null +++ b/libc/sysdeps/i386/i686/multiarch/strcasecmp_l.S @@ -0,0 +1,5 @@ +#define STRCMP __strcasecmp_l +#define USE_AS_STRCASECMP_L +#include "strcmp.S" + +weak_alias (__strcasecmp_l, strcasecmp_l) diff --git a/libc/sysdeps/i386/i686/multiarch/strcmp-sse4.S b/libc/sysdeps/i386/i686/multiarch/strcmp-sse4.S index 0de0a113c..c9e0317b6 100644 --- a/libc/sysdeps/i386/i686/multiarch/strcmp-sse4.S +++ b/libc/sysdeps/i386/i686/multiarch/strcmp-sse4.S @@ -1,5 +1,5 @@ /* strcmp with SSE4.2 - Copyright (C) 2010 Free Software Foundation, Inc. + Copyright (C) 2010, 2011 Free Software Foundation, Inc. Contributed by Intel Corporation. This file is part of the GNU C Library. @@ -34,33 +34,184 @@ #define PUSH(REG) pushl REG; CFI_PUSH (REG) #define POP(REG) popl REG; CFI_POP (REG) -#ifndef USE_AS_STRNCMP +#ifdef USE_AS_STRNCMP # ifndef STRCMP -# define STRCMP __strcmp_sse4_2 +# define STRCMP __strncmp_sse4_2 # endif -# define STR1 4 +# define STR1 8 # define STR2 STR1+4 -# define RETURN ret; .p2align 4 -#else +# define CNT STR2+4 +# define RETURN POP (REM); ret; .p2align 4; CFI_PUSH (REM) +# define REM %ebp +#elif defined USE_AS_STRCASECMP_L +# include "locale-defines.h" # ifndef STRCMP -# define STRCMP __strncmp_sse4_2 +# define STRCMP __strcasecmp_l_sse4_2 +# endif +# ifdef PIC +# define STR1 12 +# else +# define STR1 8 +# endif +# define STR2 STR1+4 +# define LOCALE 12 /* Loaded before the adjustement. */ +# ifdef PIC +# define RETURN POP (%edi); POP (%ebx); ret; \ + .p2align 4; CFI_PUSH (%ebx); CFI_PUSH (%edi) +# else +# define RETURN POP (%edi); ret; .p2align 4; CFI_PUSH (%edi) +# endif +# define NONASCII __strcasecmp_nonascii +#elif defined USE_AS_STRNCASECMP_L +# include "locale-defines.h" +# ifndef STRCMP +# define STRCMP __strncasecmp_l_sse4_2 +# endif +# ifdef PIC +# define STR1 16 +# else +# define STR1 12 # endif -# define STR1 8 # define STR2 STR1+4 # define CNT STR2+4 -# define RETURN POP (%ebp); ret; .p2align 4; CFI_PUSH (%ebp) +# define LOCALE 16 /* Loaded before the adjustement. */ +# ifdef PIC +# define RETURN POP (%edi); POP (REM); POP (%ebx); ret; \ + .p2align 4; \ + CFI_PUSH (%ebx); CFI_PUSH (REM); CFI_PUSH (%edi) +# else +# define RETURN POP (%edi); POP (REM); ret; \ + .p2align 4; CFI_PUSH (REM); CFI_PUSH (%edi) +# endif +# define REM %ebp +# define NONASCII __strncasecmp_nonascii +#else +# ifndef STRCMP +# define STRCMP __strcmp_sse4_2 +# endif +# define STR1 4 +# define STR2 STR1+4 +# define RETURN ret; .p2align 4 #endif .section .text.sse4.2,"ax",@progbits -ENTRY (STRCMP) -#ifdef USE_AS_STRNCMP - PUSH (%ebp) + +#ifdef USE_AS_STRCASECMP_L +ENTRY (__strcasecmp_sse4_2) +# ifdef PIC + PUSH (%ebx) + call __i686.get_pc_thunk.bx + addl $_GLOBAL_OFFSET_TABLE_, %ebx + movl __libc_tsd_LOCALE@GOTNTPOFF(%ebx), %eax +# ifdef NO_TLS_DIRECT_SEG_REFS + addl %gs:0, %eax + movl (%eax), %eax +# else + movl %gs:(%eax), %eax +# endif +# else +# ifdef NO_TLS_DIRECT_SEG_REFS + movl %gs:0, %eax + movl __libc_tsd_LOCALE@NTPOFF(%eax), %eax +# else + movl %gs:__libc_tsd_LOCALE@NTPOFF, %eax +# endif +# endif +# if LOCALE_T___LOCALES != 0 || LC_CTYPE != 0 + movl LOCALE_T___LOCALES+LC_CTYPE*4(%eax), %eax +# else + movl (%eax), %eax +# endif + testl $1, LOCALE_DATA_VALUES+_NL_CTYPE_NONASCII_CASE*SIZEOF_VALUES(%eax) + jne __strcasecmp_nonascii + jmp L(ascii) +END (__strcasecmp_sse4_2) +#endif + +#ifdef USE_AS_STRNCASECMP_L +ENTRY (__strncasecmp_sse4_2) +# ifdef PIC + PUSH (%ebx) + call __i686.get_pc_thunk.bx + addl $_GLOBAL_OFFSET_TABLE_, %ebx + movl __libc_tsd_LOCALE@GOTNTPOFF(%ebx), %eax +# ifdef NO_TLS_DIRECT_SEG_REFS + addl %gs:0, %eax + movl (%eax), %eax +# else + movl %gs:(%eax), %eax +# endif +# else +# ifdef NO_TLS_DIRECT_SEG_REFS + movl %gs:0, %eax + movl __libc_tsd_LOCALE@NTPOFF(%eax), %eax +# else + movl %gs:__libc_tsd_LOCALE@NTPOFF, %eax +# endif +# endif +# if LOCALE_T___LOCALES != 0 || LC_CTYPE != 0 + movl LOCALE_T___LOCALES+LC_CTYPE*4(%eax), %eax +# else + movl (%eax), %eax +# endif + testl $1, LOCALE_DATA_VALUES+_NL_CTYPE_NONASCII_CASE*SIZEOF_VALUES(%eax) + jne __strncasecmp_nonascii + jmp L(ascii) +END (__strncasecmp_sse4_2) +#endif + + ENTRY (STRCMP) +#if defined USE_AS_STRCASECMP_L || defined USE_AS_STRNCASECMP_L + movl LOCALE(%esp), %eax +# if LOCALE_T___LOCALES != 0 || LC_CTYPE != 0 + movl LOCALE_T___LOCALES+LC_CTYPE*4(%eax), %eax +# else + movl (%eax), %eax +# endif + testl $1, LOCALE_DATA_VALUES+_NL_CTYPE_NONASCII_CASE*SIZEOF_VALUES(%eax) + jne NONASCII + +# ifdef PIC + PUSH (%ebx) + call __i686.get_pc_thunk.bx + addl $_GLOBAL_OFFSET_TABLE_, %ebx +# endif +L(ascii): + .section .rodata.cst16,"aM",@progbits,16 + .align 16 +.Lbelowupper: + .quad 0x4040404040404040 + .quad 0x4040404040404040 +.Ltopupper: + .quad 0x5b5b5b5b5b5b5b5b + .quad 0x5b5b5b5b5b5b5b5b +.Ltouppermask: + .quad 0x2020202020202020 + .quad 0x2020202020202020 + .previous + +# ifdef PIC +# define UCLOW_reg .Lbelowupper@GOTOFF(%ebx) +# define UCHIGH_reg .Ltopupper@GOTOFF(%ebx) +# define LCQWORD_reg .Ltouppermask@GOTOFF(%ebx) +# else +# define UCLOW_reg .Lbelowupper +# define UCHIGH_reg .Ltopupper +# define LCQWORD_reg .Ltouppermask +# endif +#endif + +#if defined USE_AS_STRNCMP || defined USE_AS_STRNCASECMP_L + PUSH (REM) +#endif +#if defined USE_AS_STRCASECMP_L || defined USE_AS_STRNCASECMP_L + PUSH (%edi) #endif mov STR1(%esp), %edx mov STR2(%esp), %eax -#ifdef USE_AS_STRNCMP - movl CNT(%esp), %ebp - test %ebp, %ebp +#if defined USE_AS_STRNCMP || defined USE_AS_STRNCASECMP_L + movl CNT(%esp), REM + test REM, REM je L(eq) #endif mov %dx, %cx @@ -72,10 +223,40 @@ ENTRY (STRCMP) and $0xfff, %ecx cmp $0xff0, %ecx ja L(first4bytes) +#if defined USE_AS_STRCASECMP_L || defined USE_AS_STRNCASECMP_L +# define TOLOWER(reg1, reg2) \ + movdqa reg1, %xmm3; \ + movdqa UCHIGH_reg, %xmm4; \ + movdqa reg2, %xmm5; \ + movdqa UCHIGH_reg, %xmm6; \ + pcmpgtb UCLOW_reg, %xmm3; \ + pcmpgtb reg1, %xmm4; \ + pcmpgtb UCLOW_reg, %xmm5; \ + pcmpgtb reg2, %xmm6; \ + pand %xmm4, %xmm3; \ + pand %xmm6, %xmm5; \ + pand LCQWORD_reg, %xmm3; \ + pand LCQWORD_reg, %xmm5; \ + por %xmm3, reg1; \ + por %xmm5, reg2 + + movdqu (%eax), %xmm1 + TOLOWER (%xmm2, %xmm1) + movd %xmm2, %ecx + movd %xmm1, %edi + movdqa %xmm2, %xmm3 + movdqa %xmm1, %xmm4 + cmpl %edi, %ecx +#else +# define TOLOWER(reg1, reg) + movd %xmm2, %ecx cmp (%eax), %ecx +#endif jne L(less4bytes) +#if !defined USE_AS_STRCASECMP_L && !defined USE_AS_STRNCASECMP_L movdqu (%eax), %xmm1 +#endif pxor %xmm2, %xmm1 pxor %xmm0, %xmm0 ptest %xmm1, %xmm0 @@ -84,113 +265,210 @@ ENTRY (STRCMP) ptest %xmm2, %xmm0 jnc L(less16bytes) -#ifdef USE_AS_STRNCMP - sub $16, %ebp +#if defined USE_AS_STRNCMP || defined USE_AS_STRNCASECMP_L + sub $16, REM jbe L(eq) #endif add $16, %edx add $16, %eax L(first4bytes): movzbl (%eax), %ecx +#if defined USE_AS_STRCASECMP_L || defined USE_AS_STRNCASECMP_L + movzbl (%edx), %edi +# ifdef PIC + movl _nl_C_LC_CTYPE_tolower@GOTOFF+128*4(%ebx,%ecx,4), %ecx + movl _nl_C_LC_CTYPE_tolower@GOTOFF+128*4(%ebx,%edi,4), %edi +# else + movl _nl_C_LC_CTYPE_tolower+128*4(,%ecx,4), %ecx + movl _nl_C_LC_CTYPE_tolower+128*4(,%edi,4), %edi +# endif + cmpl %ecx, %edi +#else cmpb %cl, (%edx) +#endif jne L(neq) cmpl $0, %ecx je L(eq) -#ifdef USE_AS_STRNCMP - cmp $1, %ebp +#if defined USE_AS_STRNCMP || defined USE_AS_STRNCASECMP_L + cmp $1, REM je L(eq) #endif movzbl 1(%eax), %ecx +#if defined USE_AS_STRCASECMP_L || defined USE_AS_STRNCASECMP_L + movzbl 1(%edx), %edi +# ifdef PIC + movl _nl_C_LC_CTYPE_tolower@GOTOFF+128*4(%ebx,%ecx,4), %ecx + movl _nl_C_LC_CTYPE_tolower@GOTOFF+128*4(%ebx,%edi,4), %edi +# else + movl _nl_C_LC_CTYPE_tolower+128*4(,%ecx,4), %ecx + movl _nl_C_LC_CTYPE_tolower+128*4(,%edi,4), %edi +# endif + cmpl %ecx, %edi +#else cmpb %cl, 1(%edx) +#endif jne L(neq) cmpl $0, %ecx je L(eq) -#ifdef USE_AS_STRNCMP - cmp $2, %ebp +#if defined USE_AS_STRNCMP || defined USE_AS_STRNCASECMP_L + cmp $2, REM je L(eq) #endif movzbl 2(%eax), %ecx +#if defined USE_AS_STRCASECMP_L || defined USE_AS_STRNCASECMP_L + movzbl 2(%edx), %edi +# ifdef PIC + movl _nl_C_LC_CTYPE_tolower@GOTOFF+128*4(%ebx,%ecx,4), %ecx + movl _nl_C_LC_CTYPE_tolower@GOTOFF+128*4(%ebx,%edi,4), %edi +# else + movl _nl_C_LC_CTYPE_tolower+128*4(,%ecx,4), %ecx + movl _nl_C_LC_CTYPE_tolower+128*4(,%edi,4), %edi +# endif + cmpl %ecx, %edi +#else cmpb %cl, 2(%edx) +#endif jne L(neq) cmpl $0, %ecx je L(eq) -#ifdef USE_AS_STRNCMP - cmp $3, %ebp +#if defined USE_AS_STRNCMP || defined USE_AS_STRNCASECMP_L + cmp $3, REM je L(eq) #endif movzbl 3(%eax), %ecx +#if defined USE_AS_STRCASECMP_L || defined USE_AS_STRNCASECMP_L + movzbl 3(%edx), %edi +# ifdef PIC + movl _nl_C_LC_CTYPE_tolower@GOTOFF+128*4(%ebx,%ecx,4), %ecx + movl _nl_C_LC_CTYPE_tolower@GOTOFF+128*4(%ebx,%edi,4), %edi +# else + movl _nl_C_LC_CTYPE_tolower+128*4(,%ecx,4), %ecx + movl _nl_C_LC_CTYPE_tolower+128*4(,%edi,4), %edi +# endif + cmpl %ecx, %edi +#else cmpb %cl, 3(%edx) +#endif jne L(neq) cmpl $0, %ecx je L(eq) -#ifdef USE_AS_STRNCMP - cmp $4, %ebp +#if defined USE_AS_STRNCMP || defined USE_AS_STRNCASECMP_L + cmp $4, REM je L(eq) #endif movzbl 4(%eax), %ecx +#if defined USE_AS_STRCASECMP_L || defined USE_AS_STRNCASECMP_L + movzbl 4(%edx), %edi +# ifdef PIC + movl _nl_C_LC_CTYPE_tolower@GOTOFF+128*4(%ebx,%ecx,4), %ecx + movl _nl_C_LC_CTYPE_tolower@GOTOFF+128*4(%ebx,%edi,4), %edi +# else + movl _nl_C_LC_CTYPE_tolower+128*4(,%ecx,4), %ecx + movl _nl_C_LC_CTYPE_tolower+128*4(,%edi,4), %edi +# endif + cmpl %ecx, %edi +#else cmpb %cl, 4(%edx) +#endif jne L(neq) cmpl $0, %ecx je L(eq) -#ifdef USE_AS_STRNCMP - cmp $5, %ebp +#if defined USE_AS_STRNCMP || defined USE_AS_STRNCASECMP_L + cmp $5, REM je L(eq) #endif movzbl 5(%eax), %ecx +#if defined USE_AS_STRCASECMP_L || defined USE_AS_STRNCASECMP_L + movzbl 5(%edx), %edi +# ifdef PIC + movl _nl_C_LC_CTYPE_tolower@GOTOFF+128*4(%ebx,%ecx,4), %ecx + movl _nl_C_LC_CTYPE_tolower@GOTOFF+128*4(%ebx,%edi,4), %edi +# else + movl _nl_C_LC_CTYPE_tolower+128*4(,%ecx,4), %ecx + movl _nl_C_LC_CTYPE_tolower+128*4(,%edi,4), %edi +# endif + cmpl %ecx, %edi +#else cmpb %cl, 5(%edx) +#endif jne L(neq) cmpl $0, %ecx je L(eq) -#ifdef USE_AS_STRNCMP - cmp $6, %ebp +#if defined USE_AS_STRNCMP || defined USE_AS_STRNCASECMP_L + cmp $6, REM je L(eq) #endif movzbl 6(%eax), %ecx +#if defined USE_AS_STRCASECMP_L || defined USE_AS_STRNCASECMP_L + movzbl 6(%edx), %edi +# ifdef PIC + movl _nl_C_LC_CTYPE_tolower@GOTOFF+128*4(%ebx,%ecx,4), %ecx + movl _nl_C_LC_CTYPE_tolower@GOTOFF+128*4(%ebx,%edi,4), %edi +# else + movl _nl_C_LC_CTYPE_tolower+128*4(,%ecx,4), %ecx + movl _nl_C_LC_CTYPE_tolower+128*4(,%edi,4), %edi +# endif + cmpl %ecx, %edi +#else cmpb %cl, 6(%edx) +#endif jne L(neq) cmpl $0, %ecx je L(eq) -#ifdef USE_AS_STRNCMP - cmp $7, %ebp +#if defined USE_AS_STRNCMP || defined USE_AS_STRNCASECMP_L + cmp $7, REM je L(eq) #endif movzbl 7(%eax), %ecx +#if defined USE_AS_STRCASECMP_L || defined USE_AS_STRNCASECMP_L + movzbl 7(%edx), %edi +# ifdef PIC + movl _nl_C_LC_CTYPE_tolower@GOTOFF+128*4(%ebx,%ecx,4), %ecx + movl _nl_C_LC_CTYPE_tolower@GOTOFF+128*4(%ebx,%edi,4), %edi +# else + movl _nl_C_LC_CTYPE_tolower+128*4(,%ecx,4), %ecx + movl _nl_C_LC_CTYPE_tolower+128*4(,%edi,4), %edi +# endif + cmpl %ecx, %edi +#else cmpb %cl, 7(%edx) +#endif jne L(neq) cmpl $0, %ecx je L(eq) -#ifdef USE_AS_STRNCMP - sub $8, %ebp +#if defined USE_AS_STRNCMP || defined USE_AS_STRNCASECMP_L + sub $8, REM je L(eq) #endif add $8, %eax add $8, %edx - PUSH (%ebx) +#if !defined USE_AS_STRCASECMP_L && !defined USE_AS_STRNCASECMP_L PUSH (%edi) +#endif PUSH (%esi) -#ifdef USE_AS_STRNCMP +#if defined USE_AS_STRNCMP || defined USE_AS_STRNCASECMP_L cfi_remember_state #endif mov %edx, %edi mov %eax, %esi xorl %eax, %eax L(check_offset): - movl %edi, %ebx + movl %edi, %edx movl %esi, %ecx - andl $0xfff, %ebx + andl $0xfff, %edx andl $0xfff, %ecx - cmpl %ebx, %ecx - cmovl %ebx, %ecx + cmpl %edx, %ecx + cmovl %edx, %ecx lea -0xff0(%ecx), %edx sub %edx, %edi sub %edx, %esi @@ -199,11 +477,12 @@ L(check_offset): L(loop): movdqu (%esi,%edx), %xmm2 movdqu (%edi,%edx), %xmm1 + TOLOWER (%xmm2, %xmm1) pcmpistri $0x1a, %xmm2, %xmm1 jbe L(end) -#ifdef USE_AS_STRNCMP - sub $16, %ebp +#if defined USE_AS_STRNCMP || defined USE_AS_STRNCASECMP_L + sub $16, REM jbe L(more16byteseq) #endif @@ -211,13 +490,22 @@ L(loop): jle L(loop) L(crosspage): movzbl (%edi,%edx), %eax - movzbl (%esi,%edx), %ebx - subl %ebx, %eax + movzbl (%esi,%edx), %ecx +#if defined USE_AS_STRCASECMP_L || defined USE_AS_STRNCASECMP_L +# ifdef PIC + movl _nl_C_LC_CTYPE_tolower@GOTOFF+128*4(%ebx,%eax,4), %eax + movl _nl_C_LC_CTYPE_tolower@GOTOFF+128*4(%ebx,%ecx,4), %ecx +# else + movl _nl_C_LC_CTYPE_tolower+128*4(,%eax,4), %eax + movl _nl_C_LC_CTYPE_tolower+128*4(,%ecx,4), %ecx +# endif +#endif + subl %ecx, %eax jne L(ret) - testl %ebx, %ebx + testl %ecx, %ecx je L(ret) -#ifdef USE_AS_STRNCMP - sub $1, %ebp +#if defined USE_AS_STRNCMP || defined USE_AS_STRNCASECMP_L + sub $1, REM jbe L(more16byteseq) #endif inc %edx @@ -230,30 +518,44 @@ L(crosspage): .p2align 4 L(end): jnc L(ret) -#ifdef USE_AS_STRNCMP - sub %ecx, %ebp +#if defined USE_AS_STRNCMP || defined USE_AS_STRNCASECMP_L + sub %ecx, REM jbe L(more16byteseq) #endif - lea (%ecx,%edx), %ebx - movzbl (%edi,%ebx), %eax - movzbl (%esi,%ebx), %ecx + lea (%ecx,%edx), %ecx + movzbl (%edi,%ecx), %eax + movzbl (%esi,%ecx), %ecx +#if defined USE_AS_STRCASECMP_L || defined USE_AS_STRNCASECMP_L +# ifdef PIC + movl _nl_C_LC_CTYPE_tolower@GOTOFF+128*4(%ebx,%eax,4), %eax + movl _nl_C_LC_CTYPE_tolower@GOTOFF+128*4(%ebx,%ecx,4), %ecx +# else + movl _nl_C_LC_CTYPE_tolower+128*4(,%eax,4), %eax + movl _nl_C_LC_CTYPE_tolower+128*4(,%ecx,4), %ecx +# endif +#endif subl %ecx, %eax L(ret): POP (%esi) POP (%edi) +#if defined USE_AS_STRNCMP || defined USE_AS_STRNCASECMP_L + POP (REM) +#endif +#if defined USE_AS_STRCASECMP_L || defined USE_AS_STRNCASECMP_L +# ifdef PIC POP (%ebx) -#ifdef USE_AS_STRNCMP - POP (%ebp) +# endif #endif ret .p2align 4 -#ifdef USE_AS_STRNCMP +#if defined USE_AS_STRNCMP || defined USE_AS_STRNCASECMP_L cfi_restore_state L(more16byteseq): POP (%esi) +# ifdef USE_AS_STRNCMP POP (%edi) - POP (%ebx) +# endif #endif L(eq): xorl %eax, %eax @@ -269,27 +571,45 @@ L(neq_bigger): L(less16bytes): add $0xfefefeff, %ecx jnc L(less4bytes) +#if defined USE_AS_STRCASECMP_L || defined USE_AS_STRNCASECMP_L + movd %xmm3, %edi + xor %edi, %ecx +#else xor (%edx), %ecx +#endif or $0xfefefeff, %ecx add $1, %ecx jnz L(less4bytes) -#ifdef USE_AS_STRNCMP - cmp $4, %ebp +#if defined USE_AS_STRNCMP || defined USE_AS_STRNCASECMP_L + cmp $4, REM jbe L(eq) #endif +#if defined USE_AS_STRCASECMP_L || defined USE_AS_STRNCASECMP_L + psrldq $4, %xmm3 + psrldq $4, %xmm4 + movd %xmm3, %ecx + movd %xmm4, %edi + cmp %edi, %ecx + mov %ecx, %edi +#else mov 4(%edx), %ecx cmp 4(%eax), %ecx +#endif jne L(more4bytes) add $0xfefefeff, %ecx jnc L(more4bytes) +#if defined USE_AS_STRCASECMP_L || defined USE_AS_STRNCASECMP_L + xor %edi, %ecx +#else xor 4(%edx), %ecx +#endif or $0xfefefeff, %ecx add $1, %ecx jnz L(more4bytes) -#ifdef USE_AS_STRNCMP - sub $8, %ebp +#if defined USE_AS_STRNCMP || defined USE_AS_STRNCASECMP_L + sub $8, REM jbe L(eq) #endif @@ -298,80 +618,176 @@ L(less16bytes): L(less4bytes): movzbl (%eax), %ecx +#if defined USE_AS_STRCASECMP_L || defined USE_AS_STRNCASECMP_L + movzbl (%edx), %edi +# ifdef PIC + movl _nl_C_LC_CTYPE_tolower@GOTOFF+128*4(%ebx,%ecx,4), %ecx + movl _nl_C_LC_CTYPE_tolower@GOTOFF+128*4(%ebx,%edi,4), %edi +# else + movl _nl_C_LC_CTYPE_tolower+128*4(,%ecx,4), %ecx + movl _nl_C_LC_CTYPE_tolower+128*4(,%edi,4), %edi +# endif + cmpl %ecx, %edi +#else cmpb %cl, (%edx) +#endif jne L(neq) cmpl $0, %ecx je L(eq) -#ifdef USE_AS_STRNCMP - cmp $1, %ebp +#if defined USE_AS_STRNCMP || defined USE_AS_STRNCASECMP_L + cmp $1, REM je L(eq) #endif movzbl 1(%eax), %ecx +#if defined USE_AS_STRCASECMP_L || defined USE_AS_STRNCASECMP_L + movzbl 1(%edx), %edi +# ifdef PIC + movl _nl_C_LC_CTYPE_tolower@GOTOFF+128*4(%ebx,%ecx,4), %ecx + movl _nl_C_LC_CTYPE_tolower@GOTOFF+128*4(%ebx,%edi,4), %edi +# else + movl _nl_C_LC_CTYPE_tolower+128*4(,%ecx,4), %ecx + movl _nl_C_LC_CTYPE_tolower+128*4(,%edi,4), %edi +# endif + cmpl %ecx, %edi +#else cmpb %cl, 1(%edx) +#endif jne L(neq) cmpl $0, %ecx je L(eq) -#ifdef USE_AS_STRNCMP - cmp $2, %ebp +#if defined USE_AS_STRNCMP || defined USE_AS_STRNCASECMP_L + cmp $2, REM je L(eq) #endif movzbl 2(%eax), %ecx +#if defined USE_AS_STRCASECMP_L || defined USE_AS_STRNCASECMP_L + movzbl 2(%edx), %edi +# ifdef PIC + movl _nl_C_LC_CTYPE_tolower@GOTOFF+128*4(%ebx,%ecx,4), %ecx + movl _nl_C_LC_CTYPE_tolower@GOTOFF+128*4(%ebx,%edi,4), %edi +# else + movl _nl_C_LC_CTYPE_tolower+128*4(,%ecx,4), %ecx + movl _nl_C_LC_CTYPE_tolower+128*4(,%edi,4), %edi +# endif + cmpl %ecx, %edi +#else cmpb %cl, 2(%edx) +#endif jne L(neq) cmpl $0, %ecx je L(eq) -#ifdef USE_AS_STRNCMP - cmp $3, %ebp +#if defined USE_AS_STRNCMP || defined USE_AS_STRNCASECMP_L + cmp $3, REM je L(eq) #endif movzbl 3(%eax), %ecx +#if defined USE_AS_STRCASECMP_L || defined USE_AS_STRNCASECMP_L + movzbl 3(%edx), %edi +# ifdef PIC + movl _nl_C_LC_CTYPE_tolower@GOTOFF+128*4(%ebx,%ecx,4), %ecx + movl _nl_C_LC_CTYPE_tolower@GOTOFF+128*4(%ebx,%edi,4), %edi +# else + movl _nl_C_LC_CTYPE_tolower+128*4(,%ecx,4), %ecx + movl _nl_C_LC_CTYPE_tolower+128*4(,%edi,4), %edi +# endif + cmpl %ecx, %edi +#else cmpb %cl, 3(%edx) +#endif jne L(neq) cmpl $0, %ecx je L(eq) L(more4bytes): -#ifdef USE_AS_STRNCMP - cmp $4, %ebp +#if defined USE_AS_STRNCMP || defined USE_AS_STRNCASECMP_L + cmp $4, REM je L(eq) #endif movzbl 4(%eax), %ecx +#if defined USE_AS_STRCASECMP_L || defined USE_AS_STRNCASECMP_L + movzbl 4(%edx), %edi +# ifdef PIC + movl _nl_C_LC_CTYPE_tolower@GOTOFF+128*4(%ebx,%ecx,4), %ecx + movl _nl_C_LC_CTYPE_tolower@GOTOFF+128*4(%ebx,%edi,4), %edi +# else + movl _nl_C_LC_CTYPE_tolower+128*4(,%ecx,4), %ecx + movl _nl_C_LC_CTYPE_tolower+128*4(,%edi,4), %edi +# endif + cmpl %ecx, %edi +#else cmpb %cl, 4(%edx) +#endif jne L(neq) cmpl $0, %ecx je L(eq) -#ifdef USE_AS_STRNCMP - cmp $5, %ebp +#if defined USE_AS_STRNCMP || defined USE_AS_STRNCASECMP_L + cmp $5, REM je L(eq) #endif movzbl 5(%eax), %ecx +#if defined USE_AS_STRCASECMP_L || defined USE_AS_STRNCASECMP_L + movzbl 5(%edx), %edi +# ifdef PIC + movl _nl_C_LC_CTYPE_tolower@GOTOFF+128*4(%ebx,%ecx,4), %ecx + movl _nl_C_LC_CTYPE_tolower@GOTOFF+128*4(%ebx,%edi,4), %edi +# else + movl _nl_C_LC_CTYPE_tolower+128*4(,%ecx,4), %ecx + movl _nl_C_LC_CTYPE_tolower+128*4(,%edi,4), %edi +# endif + cmpl %ecx, %edi +#else cmpb %cl, 5(%edx) +#endif jne L(neq) cmpl $0, %ecx je L(eq) -#ifdef USE_AS_STRNCMP - cmp $6, %ebp +#if defined USE_AS_STRNCMP || defined USE_AS_STRNCASECMP_L + cmp $6, REM je L(eq) #endif movzbl 6(%eax), %ecx +#if defined USE_AS_STRCASECMP_L || defined USE_AS_STRNCASECMP_L + movzbl 6(%edx), %edi +# ifdef PIC + movl _nl_C_LC_CTYPE_tolower@GOTOFF+128*4(%ebx,%ecx,4), %ecx + movl _nl_C_LC_CTYPE_tolower@GOTOFF+128*4(%ebx,%edi,4), %edi +# else + movl _nl_C_LC_CTYPE_tolower+128*4(,%ecx,4), %ecx + movl _nl_C_LC_CTYPE_tolower+128*4(,%edi,4), %edi +# endif + cmpl %ecx, %edi +#else cmpb %cl, 6(%edx) +#endif jne L(neq) cmpl $0, %ecx je L(eq) -#ifdef USE_AS_STRNCMP - cmp $7, %ebp +#if defined USE_AS_STRNCMP || defined USE_AS_STRNCASECMP_L + cmp $7, REM je L(eq) #endif movzbl 7(%eax), %ecx +#if defined USE_AS_STRCASECMP_L || defined USE_AS_STRNCASECMP_L + movzbl 7(%edx), %edi +# ifdef PIC + movl _nl_C_LC_CTYPE_tolower@GOTOFF+128*4(%ebx,%ecx,4), %ecx + movl _nl_C_LC_CTYPE_tolower@GOTOFF+128*4(%ebx,%edi,4), %edi +# else + movl _nl_C_LC_CTYPE_tolower+128*4(,%ecx,4), %ecx + movl _nl_C_LC_CTYPE_tolower+128*4(,%edi,4), %edi +# endif + cmpl %ecx, %edi +#else cmpb %cl, 7(%edx) +#endif jne L(neq) jmp L(eq) diff --git a/libc/sysdeps/i386/i686/multiarch/strcmp-ssse3.S b/libc/sysdeps/i386/i686/multiarch/strcmp-ssse3.S index 607b69b6f..cbba46550 100644 --- a/libc/sysdeps/i386/i686/multiarch/strcmp-ssse3.S +++ b/libc/sysdeps/i386/i686/multiarch/strcmp-ssse3.S @@ -1,5 +1,5 @@ /* strcmp with SSSE3 - Copyright (C) 2010 Free Software Foundation, Inc. + Copyright (C) 2010, 2011 Free Software Foundation, Inc. Contributed by Intel Corporation. This file is part of the GNU C Library. @@ -34,43 +34,201 @@ #define PUSH(REG) pushl REG; CFI_PUSH (REG) #define POP(REG) popl REG; CFI_POP (REG) -#ifndef USE_AS_STRNCMP +#ifdef USE_AS_STRNCMP # ifndef STRCMP -# define STRCMP __strcmp_ssse3 +# define STRCMP __strncmp_ssse3 # endif -# define STR1 4 +# define STR1 8 # define STR2 STR1+4 -# define RETURN ret; .p2align 4 +# define CNT STR2+4 +# define RETURN POP (REM); ret; .p2align 4; CFI_PUSH (REM) +# define UPDATE_STRNCMP_COUNTER \ + /* calculate left number to compare */ \ + mov $16, %esi; \ + sub %ecx, %esi; \ + cmp %esi, REM; \ + jbe L(more8byteseq); \ + sub %esi, REM +# define FLAGS %ebx +# define REM %ebp +#elif defined USE_AS_STRCASECMP_L +# include "locale-defines.h" +# ifndef STRCMP +# define STRCMP __strcasecmp_l_ssse3 +# endif +# ifdef PIC +# define STR1 8 +# else +# define STR1 4 +# endif +# define STR2 STR1+4 +# define LOCALE 12 /* Loaded before the adjustement. */ +# ifdef PIC +# define RETURN POP (%ebx); ret; .p2align 4; CFI_PUSH (%ebx) +# else +# define RETURN ret; .p2align 4 +# endif # define UPDATE_STRNCMP_COUNTER -#else +# define FLAGS (%esp) +# define NONASCII __strcasecmp_nonascii +#elif defined USE_AS_STRNCASECMP_L +# include "locale-defines.h" # ifndef STRCMP -# define STRCMP __strncmp_ssse3 +# define STRCMP __strncasecmp_l_ssse3 +# endif +# ifdef PIC +# define STR1 12 +# else +# define STR1 8 # endif -# define STR1 8 # define STR2 STR1+4 # define CNT STR2+4 -# define RETURN POP (%ebp); ret; .p2align 4; CFI_PUSH (%ebp) +# define LOCALE 16 /* Loaded before the adjustement. */ +# ifdef PIC +# define RETURN POP (REM); POP (%ebx); ret; \ + .p2align 4; CFI_PUSH (%ebx); CFI_PUSH (REM) +# else +# define RETURN POP (REM); ret; .p2align 4; CFI_PUSH (REM) +# endif # define UPDATE_STRNCMP_COUNTER \ /* calculate left number to compare */ \ mov $16, %esi; \ sub %ecx, %esi; \ - cmp %esi, %ebp; \ + cmp %esi, REM; \ jbe L(more8byteseq); \ - sub %esi, %ebp + sub %esi, REM +# define FLAGS (%esp) +# define REM %ebp +# define NONASCII __strncasecmp_nonascii +#else +# ifndef STRCMP +# define STRCMP __strcmp_ssse3 +# endif +# define STR1 4 +# define STR2 STR1+4 +# define RETURN ret; .p2align 4 +# define UPDATE_STRNCMP_COUNTER +# define FLAGS %ebx #endif .section .text.ssse3,"ax",@progbits + +#ifdef USE_AS_STRCASECMP_L +ENTRY (__strcasecmp_ssse3) +# ifdef PIC + PUSH (%ebx) + call __i686.get_pc_thunk.bx + addl $_GLOBAL_OFFSET_TABLE_, %ebx + movl __libc_tsd_LOCALE@GOTNTPOFF(%ebx), %eax +# ifdef NO_TLS_DIRECT_SEG_REFS + addl %gs:0, %eax + movl (%eax), %eax +# else + movl %gs:(%eax), %eax +# endif +# else +# ifdef NO_TLS_DIRECT_SEG_REFS + movl %gs:0, %eax + movl __libc_tsd_LOCALE@NTPOFF(%eax), %eax +# else + movl %gs:__libc_tsd_LOCALE@NTPOFF, %eax +# endif +# endif +# if LOCALE_T___LOCALES != 0 || LC_CTYPE != 0 + movl LOCALE_T___LOCALES+LC_CTYPE*4(%eax), %eax +# else + movl (%eax), %eax +# endif + testl $1, LOCALE_DATA_VALUES+_NL_CTYPE_NONASCII_CASE*SIZEOF_VALUES(%eax) + jne __strcasecmp_nonascii + jmp L(ascii) +END (__strcasecmp_ssse3) +#endif + +#ifdef USE_AS_STRNCASECMP_L +ENTRY (__strncasecmp_ssse3) +# ifdef PIC + PUSH (%ebx) + call __i686.get_pc_thunk.bx + addl $_GLOBAL_OFFSET_TABLE_, %ebx + movl __libc_tsd_LOCALE@GOTNTPOFF(%ebx), %eax +# ifdef NO_TLS_DIRECT_SEG_REFS + addl %gs:0, %eax + movl (%eax), %eax +# else + movl %gs:(%eax), %eax +# endif +# else +# ifdef NO_TLS_DIRECT_SEG_REFS + movl %gs:0, %eax + movl __libc_tsd_LOCALE@NTPOFF(%eax), %eax +# else + movl %gs:__libc_tsd_LOCALE@NTPOFF, %eax +# endif +# endif +# if LOCALE_T___LOCALES != 0 || LC_CTYPE != 0 + movl LOCALE_T___LOCALES+LC_CTYPE*4(%eax), %eax +# else + movl (%eax), %eax +# endif + testl $1, LOCALE_DATA_VALUES+_NL_CTYPE_NONASCII_CASE*SIZEOF_VALUES(%eax) + jne __strncasecmp_nonascii + jmp L(ascii) +END (__strncasecmp_ssse3) +#endif + ENTRY (STRCMP) -#ifdef USE_AS_STRNCMP - PUSH (%ebp) +#if defined USE_AS_STRCASECMP_L || defined USE_AS_STRNCASECMP_L + movl LOCALE(%esp), %eax +# if LOCALE_T___LOCALES != 0 || LC_CTYPE != 0 + movl LOCALE_T___LOCALES+LC_CTYPE*4(%eax), %eax +# else + movl (%eax), %eax +# endif + testl $1, LOCALE_DATA_VALUES+_NL_CTYPE_NONASCII_CASE*SIZEOF_VALUES(%eax) + jne NONASCII + +# ifdef PIC + PUSH (%ebx) + call __i686.get_pc_thunk.bx + addl $_GLOBAL_OFFSET_TABLE_, %ebx +# endif +L(ascii): + .section .rodata.cst16,"aM",@progbits,16 + .align 16 +.Lbelowupper: + .quad 0x4040404040404040 + .quad 0x4040404040404040 +.Ltopupper: + .quad 0x5b5b5b5b5b5b5b5b + .quad 0x5b5b5b5b5b5b5b5b +.Ltouppermask: + .quad 0x2020202020202020 + .quad 0x2020202020202020 + .previous + +# ifdef PIC +# define UCLOW_reg .Lbelowupper@GOTOFF(%ebx) +# define UCHIGH_reg .Ltopupper@GOTOFF(%ebx) +# define LCQWORD_reg .Ltouppermask@GOTOFF(%ebx) +# else +# define UCLOW_reg .Lbelowupper +# define UCHIGH_reg .Ltopupper +# define LCQWORD_reg .Ltouppermask +# endif #endif + +#if defined USE_AS_STRNCMP || defined USE_AS_STRNCASECMP_L + PUSH (REM) +#endif + movl STR1(%esp), %edx movl STR2(%esp), %eax -#ifdef USE_AS_STRNCMP - movl CNT(%esp), %ebp - cmp $16, %ebp +#if defined USE_AS_STRNCMP || defined USE_AS_STRNCASECMP_L + movl CNT(%esp), REM + cmp $16, REM jb L(less16bytes_sncmp) -#else +#elif !defined USE_AS_STRCASECMP_L movzbl (%eax), %ecx cmpb %cl, (%edx) jne L(neq) @@ -135,15 +293,35 @@ ENTRY (STRCMP) movlpd (%edx), %xmm2 movhpd 8(%eax), %xmm1 movhpd 8(%edx), %xmm2 +#if defined USE_AS_STRCASECMP_L || defined USE_AS_STRNCASECMP_L +# define TOLOWER(reg1, reg2) \ + movdqa reg1, %xmm5; \ + movdqa reg2, %xmm7; \ + movdqa UCHIGH_reg, %xmm6; \ + pcmpgtb UCLOW_reg, %xmm5; \ + pcmpgtb UCLOW_reg, %xmm7; \ + pcmpgtb reg1, %xmm6; \ + pand %xmm6, %xmm5; \ + movdqa UCHIGH_reg, %xmm6; \ + pcmpgtb reg2, %xmm6; \ + pand %xmm6, %xmm7; \ + pand LCQWORD_reg, %xmm5; \ + por %xmm5, reg1; \ + pand LCQWORD_reg, %xmm7; \ + por %xmm7, reg2 + TOLOWER (%xmm1, %xmm2) +#else +# define TOLOWER(reg1, reg2) +#endif pcmpeqb %xmm1, %xmm0 pcmpeqb %xmm2, %xmm1 psubb %xmm0, %xmm1 pmovmskb %xmm1, %ecx sub $0xffff, %ecx jnz L(less16bytes) -#ifdef USE_AS_STRNCMP - cmp $16, %ebp - lea -16(%ebp), %ebp +#if defined USE_AS_STRNCMP || defined USE_AS_STRNCASECMP_L + cmp $16, REM + lea -16(REM), REM jbe L(eq) #endif add $16, %eax @@ -151,10 +329,16 @@ ENTRY (STRCMP) L(crosspage): - PUSH (%ebx) +#if !defined USE_AS_STRCASECMP_L && !defined USE_AS_STRNCASECMP_L + PUSH (FLAGS) +#endif PUSH (%edi) PUSH (%esi) -#ifdef USE_AS_STRNCMP +#if defined USE_AS_STRCASECMP_L || defined USE_AS_STRNCASECMP_L + pushl $0 + cfi_adjust_cfa_offset (4) +#endif +#if defined USE_AS_STRNCMP || defined USE_AS_STRNCASECMP_L cfi_remember_state #endif @@ -164,11 +348,13 @@ L(crosspage): and $0xf, %edi xor %ecx, %eax xor %edi, %edx - xor %ebx, %ebx +#if !defined USE_AS_STRCASECMP_L && !defined USE_AS_STRNCASECMP_L + xor FLAGS, FLAGS +#endif cmp %edi, %ecx je L(ashr_0) ja L(bigger) - or $0x20, %ebx + orl $0x20, FLAGS xchg %edx, %eax xchg %ecx, %edi L(bigger): @@ -218,7 +404,13 @@ L(ashr_0): movdqa (%eax), %xmm1 pxor %xmm0, %xmm0 pcmpeqb %xmm1, %xmm0 +#if defined USE_AS_STRCASECMP_L || defined USE_AS_STRNCASECMP_L + movdqa (%edx), %xmm2 + TOLOWER (%xmm1, %xmm2) + pcmpeqb %xmm2, %xmm1 +#else pcmpeqb (%edx), %xmm1 +#endif psubb %xmm0, %xmm1 pmovmskb %xmm1, %edi shr %cl, %esi @@ -227,23 +419,29 @@ L(ashr_0): mov %ecx, %edi jne L(less32bytes) UPDATE_STRNCMP_COUNTER - mov $0x10, %ebx + movl $0x10, FLAGS mov $0x10, %ecx pxor %xmm0, %xmm0 .p2align 4 L(loop_ashr_0): movdqa (%eax, %ecx), %xmm1 +#if defined USE_AS_STRCASECMP_L || defined USE_AS_STRNCASECMP_L movdqa (%edx, %ecx), %xmm2 + TOLOWER (%xmm1, %xmm2) pcmpeqb %xmm1, %xmm0 pcmpeqb %xmm2, %xmm1 +#else + pcmpeqb %xmm1, %xmm0 + pcmpeqb (%edx, %ecx), %xmm1 +#endif psubb %xmm0, %xmm1 pmovmskb %xmm1, %esi sub $0xffff, %esi jnz L(exit) -#ifdef USE_AS_STRNCMP - cmp $16, %ebp - lea -16(%ebp), %ebp +#if defined USE_AS_STRNCMP || defined USE_AS_STRNCASECMP_L + cmp $16, REM + lea -16(REM), REM jbe L(more8byteseq) #endif add $16, %ecx @@ -262,6 +460,7 @@ L(ashr_1): movdqa (%eax), %xmm1 pcmpeqb %xmm1, %xmm0 pslldq $15, %xmm2 + TOLOWER (%xmm1, %xmm2) pcmpeqb %xmm1, %xmm2 psubb %xmm0, %xmm2 pmovmskb %xmm2, %edi @@ -276,7 +475,7 @@ L(ashr_1): movdqa (%edx), %xmm3 pxor %xmm0, %xmm0 mov $16, %ecx - or $1, %ebx + orl $1, FLAGS lea 1(%edx), %edi and $0xfff, %edi sub $0x1000, %edi @@ -292,6 +491,7 @@ L(gobble_ashr_1): movdqa %xmm2, %xmm4 palignr $1, %xmm3, %xmm2 + TOLOWER (%xmm1, %xmm2) pcmpeqb %xmm1, %xmm0 pcmpeqb %xmm2, %xmm1 @@ -299,9 +499,9 @@ L(gobble_ashr_1): pmovmskb %xmm1, %esi sub $0xffff, %esi jnz L(exit) -#ifdef USE_AS_STRNCMP - cmp $16, %ebp - lea -16(%ebp), %ebp +#if defined USE_AS_STRNCMP || defined USE_AS_STRNCASECMP_L + cmp $16, REM + lea -16(REM), REM jbe L(more8byteseq) #endif @@ -316,6 +516,7 @@ L(gobble_ashr_1): movdqa %xmm2, %xmm4 palignr $1, %xmm3, %xmm2 + TOLOWER (%xmm1, %xmm2) pcmpeqb %xmm1, %xmm0 pcmpeqb %xmm2, %xmm1 @@ -324,9 +525,9 @@ L(gobble_ashr_1): sub $0xffff, %esi jnz L(exit) -#ifdef USE_AS_STRNCMP - cmp $16, %ebp - lea -16(%ebp), %ebp +#if defined USE_AS_STRNCMP || defined USE_AS_STRNCASECMP_L + cmp $16, REM + lea -16(REM), REM jbe L(more8byteseq) #endif add $16, %ecx @@ -340,8 +541,8 @@ L(nibble_ashr_1): test $0xfffe, %esi jnz L(ashr_1_exittail) -#ifdef USE_AS_STRNCMP - cmp $15, %ebp +#if defined USE_AS_STRNCMP || defined USE_AS_STRNCASECMP_L + cmp $15, REM jbe L(ashr_1_exittail) #endif pxor %xmm0, %xmm0 @@ -368,6 +569,7 @@ L(ashr_2): movdqa (%eax), %xmm1 pcmpeqb %xmm1, %xmm0 pslldq $14, %xmm2 + TOLOWER (%xmm1, %xmm2) pcmpeqb %xmm1, %xmm2 psubb %xmm0, %xmm2 pmovmskb %xmm2, %edi @@ -382,7 +584,7 @@ L(ashr_2): movdqa (%edx), %xmm3 pxor %xmm0, %xmm0 mov $16, %ecx - or $2, %ebx + orl $2, FLAGS lea 2(%edx), %edi and $0xfff, %edi sub $0x1000, %edi @@ -398,6 +600,7 @@ L(gobble_ashr_2): movdqa %xmm2, %xmm4 palignr $2, %xmm3, %xmm2 + TOLOWER (%xmm1, %xmm2) pcmpeqb %xmm1, %xmm0 pcmpeqb %xmm2, %xmm1 @@ -406,9 +609,9 @@ L(gobble_ashr_2): sub $0xffff, %esi jnz L(exit) -#ifdef USE_AS_STRNCMP - cmp $16, %ebp - lea -16(%ebp), %ebp +#if defined USE_AS_STRNCMP || defined USE_AS_STRNCASECMP_L + cmp $16, REM + lea -16(REM), REM jbe L(more8byteseq) #endif add $16, %ecx @@ -422,6 +625,7 @@ L(gobble_ashr_2): movdqa %xmm2, %xmm4 palignr $2, %xmm3, %xmm2 + TOLOWER (%xmm1, %xmm2) pcmpeqb %xmm1, %xmm0 pcmpeqb %xmm2, %xmm1 @@ -430,9 +634,9 @@ L(gobble_ashr_2): sub $0xffff, %esi jnz L(exit) -#ifdef USE_AS_STRNCMP - cmp $16, %ebp - lea -16(%ebp), %ebp +#if defined USE_AS_STRNCMP || defined USE_AS_STRNCASECMP_L + cmp $16, REM + lea -16(REM), REM jbe L(more8byteseq) #endif add $16, %ecx @@ -446,8 +650,8 @@ L(nibble_ashr_2): test $0xfffc, %esi jnz L(ashr_2_exittail) -#ifdef USE_AS_STRNCMP - cmp $14, %ebp +#if defined USE_AS_STRNCMP || defined USE_AS_STRNCASECMP_L + cmp $14, REM jbe L(ashr_2_exittail) #endif @@ -475,6 +679,7 @@ L(ashr_3): movdqa (%eax), %xmm1 pcmpeqb %xmm1, %xmm0 pslldq $13, %xmm2 + TOLOWER (%xmm1, %xmm2) pcmpeqb %xmm1, %xmm2 psubb %xmm0, %xmm2 pmovmskb %xmm2, %edi @@ -489,7 +694,7 @@ L(ashr_3): movdqa (%edx), %xmm3 pxor %xmm0, %xmm0 mov $16, %ecx - or $3, %ebx + orl $3, FLAGS lea 3(%edx), %edi and $0xfff, %edi sub $0x1000, %edi @@ -505,6 +710,7 @@ L(gobble_ashr_3): movdqa %xmm2, %xmm4 palignr $3, %xmm3, %xmm2 + TOLOWER (%xmm1, %xmm2) pcmpeqb %xmm1, %xmm0 pcmpeqb %xmm2, %xmm1 @@ -513,9 +719,9 @@ L(gobble_ashr_3): sub $0xffff, %esi jnz L(exit) -#ifdef USE_AS_STRNCMP - cmp $16, %ebp - lea -16(%ebp), %ebp +#if defined USE_AS_STRNCMP || defined USE_AS_STRNCASECMP_L + cmp $16, REM + lea -16(REM), REM jbe L(more8byteseq) #endif add $16, %ecx @@ -529,6 +735,7 @@ L(gobble_ashr_3): movdqa %xmm2, %xmm4 palignr $3, %xmm3, %xmm2 + TOLOWER (%xmm1, %xmm2) pcmpeqb %xmm1, %xmm0 pcmpeqb %xmm2, %xmm1 @@ -537,9 +744,9 @@ L(gobble_ashr_3): sub $0xffff, %esi jnz L(exit) -#ifdef USE_AS_STRNCMP - cmp $16, %ebp - lea -16(%ebp), %ebp +#if defined USE_AS_STRNCMP || defined USE_AS_STRNCASECMP_L + cmp $16, REM + lea -16(REM), REM jbe L(more8byteseq) #endif add $16, %ecx @@ -553,8 +760,8 @@ L(nibble_ashr_3): test $0xfff8, %esi jnz L(ashr_3_exittail) -#ifdef USE_AS_STRNCMP - cmp $13, %ebp +#if defined USE_AS_STRNCMP || defined USE_AS_STRNCASECMP_L + cmp $13, REM jbe L(ashr_3_exittail) #endif pxor %xmm0, %xmm0 @@ -581,6 +788,7 @@ L(ashr_4): movdqa (%eax), %xmm1 pcmpeqb %xmm1, %xmm0 pslldq $12, %xmm2 + TOLOWER (%xmm1, %xmm2) pcmpeqb %xmm1, %xmm2 psubb %xmm0, %xmm2 pmovmskb %xmm2, %edi @@ -595,7 +803,7 @@ L(ashr_4): movdqa (%edx), %xmm3 pxor %xmm0, %xmm0 mov $16, %ecx - or $4, %ebx + orl $4, FLAGS lea 4(%edx), %edi and $0xfff, %edi sub $0x1000, %edi @@ -611,6 +819,7 @@ L(gobble_ashr_4): movdqa %xmm2, %xmm4 palignr $4, %xmm3, %xmm2 + TOLOWER (%xmm1, %xmm2) pcmpeqb %xmm1, %xmm0 pcmpeqb %xmm2, %xmm1 @@ -619,9 +828,9 @@ L(gobble_ashr_4): sub $0xffff, %esi jnz L(exit) -#ifdef USE_AS_STRNCMP - cmp $16, %ebp - lea -16(%ebp), %ebp +#if defined USE_AS_STRNCMP || defined USE_AS_STRNCASECMP_L + cmp $16, REM + lea -16(REM), REM jbe L(more8byteseq) #endif @@ -636,6 +845,7 @@ L(gobble_ashr_4): movdqa %xmm2, %xmm4 palignr $4, %xmm3, %xmm2 + TOLOWER (%xmm1, %xmm2) pcmpeqb %xmm1, %xmm0 pcmpeqb %xmm2, %xmm1 @@ -644,9 +854,9 @@ L(gobble_ashr_4): sub $0xffff, %esi jnz L(exit) -#ifdef USE_AS_STRNCMP - cmp $16, %ebp - lea -16(%ebp), %ebp +#if defined USE_AS_STRNCMP || defined USE_AS_STRNCASECMP_L + cmp $16, REM + lea -16(REM), REM jbe L(more8byteseq) #endif @@ -661,8 +871,8 @@ L(nibble_ashr_4): test $0xfff0, %esi jnz L(ashr_4_exittail) -#ifdef USE_AS_STRNCMP - cmp $12, %ebp +#if defined USE_AS_STRNCMP || defined USE_AS_STRNCASECMP_L + cmp $12, REM jbe L(ashr_4_exittail) #endif @@ -690,6 +900,7 @@ L(ashr_5): movdqa (%eax), %xmm1 pcmpeqb %xmm1, %xmm0 pslldq $11, %xmm2 + TOLOWER (%xmm1, %xmm2) pcmpeqb %xmm1, %xmm2 psubb %xmm0, %xmm2 pmovmskb %xmm2, %edi @@ -704,7 +915,7 @@ L(ashr_5): movdqa (%edx), %xmm3 pxor %xmm0, %xmm0 mov $16, %ecx - or $5, %ebx + orl $5, FLAGS lea 5(%edx), %edi and $0xfff, %edi sub $0x1000, %edi @@ -720,6 +931,7 @@ L(gobble_ashr_5): movdqa %xmm2, %xmm4 palignr $5, %xmm3, %xmm2 + TOLOWER (%xmm1, %xmm2) pcmpeqb %xmm1, %xmm0 pcmpeqb %xmm2, %xmm1 @@ -728,9 +940,9 @@ L(gobble_ashr_5): sub $0xffff, %esi jnz L(exit) -#ifdef USE_AS_STRNCMP - cmp $16, %ebp - lea -16(%ebp), %ebp +#if defined USE_AS_STRNCMP || defined USE_AS_STRNCASECMP_L + cmp $16, REM + lea -16(REM), REM jbe L(more8byteseq) #endif add $16, %ecx @@ -744,6 +956,7 @@ L(gobble_ashr_5): movdqa %xmm2, %xmm4 palignr $5, %xmm3, %xmm2 + TOLOWER (%xmm1, %xmm2) pcmpeqb %xmm1, %xmm0 pcmpeqb %xmm2, %xmm1 @@ -752,9 +965,9 @@ L(gobble_ashr_5): sub $0xffff, %esi jnz L(exit) -#ifdef USE_AS_STRNCMP - cmp $16, %ebp - lea -16(%ebp), %ebp +#if defined USE_AS_STRNCMP || defined USE_AS_STRNCASECMP_L + cmp $16, REM + lea -16(REM), REM jbe L(more8byteseq) #endif add $16, %ecx @@ -768,8 +981,8 @@ L(nibble_ashr_5): test $0xffe0, %esi jnz L(ashr_5_exittail) -#ifdef USE_AS_STRNCMP - cmp $11, %ebp +#if defined USE_AS_STRNCMP || defined USE_AS_STRNCASECMP_L + cmp $11, REM jbe L(ashr_5_exittail) #endif pxor %xmm0, %xmm0 @@ -797,6 +1010,7 @@ L(ashr_6): movdqa (%eax), %xmm1 pcmpeqb %xmm1, %xmm0 pslldq $10, %xmm2 + TOLOWER (%xmm1, %xmm2) pcmpeqb %xmm1, %xmm2 psubb %xmm0, %xmm2 pmovmskb %xmm2, %edi @@ -811,7 +1025,7 @@ L(ashr_6): movdqa (%edx), %xmm3 pxor %xmm0, %xmm0 mov $16, %ecx - or $6, %ebx + orl $6, FLAGS lea 6(%edx), %edi and $0xfff, %edi sub $0x1000, %edi @@ -827,6 +1041,7 @@ L(gobble_ashr_6): movdqa %xmm2, %xmm4 palignr $6, %xmm3, %xmm2 + TOLOWER (%xmm1, %xmm2) pcmpeqb %xmm1, %xmm0 pcmpeqb %xmm2, %xmm1 @@ -835,9 +1050,9 @@ L(gobble_ashr_6): sub $0xffff, %esi jnz L(exit) -#ifdef USE_AS_STRNCMP - cmp $16, %ebp - lea -16(%ebp), %ebp +#if defined USE_AS_STRNCMP || defined USE_AS_STRNCASECMP_L + cmp $16, REM + lea -16(REM), REM jbe L(more8byteseq) #endif @@ -852,6 +1067,7 @@ L(gobble_ashr_6): movdqa %xmm2, %xmm4 palignr $6, %xmm3, %xmm2 + TOLOWER (%xmm1, %xmm2) pcmpeqb %xmm1, %xmm0 pcmpeqb %xmm2, %xmm1 @@ -859,9 +1075,9 @@ L(gobble_ashr_6): pmovmskb %xmm1, %esi sub $0xffff, %esi jnz L(exit) -#ifdef USE_AS_STRNCMP - cmp $16, %ebp - lea -16(%ebp), %ebp +#if defined USE_AS_STRNCMP || defined USE_AS_STRNCASECMP_L + cmp $16, REM + lea -16(REM), REM jbe L(more8byteseq) #endif @@ -876,8 +1092,8 @@ L(nibble_ashr_6): test $0xffc0, %esi jnz L(ashr_6_exittail) -#ifdef USE_AS_STRNCMP - cmp $10, %ebp +#if defined USE_AS_STRNCMP || defined USE_AS_STRNCASECMP_L + cmp $10, REM jbe L(ashr_6_exittail) #endif pxor %xmm0, %xmm0 @@ -905,6 +1121,7 @@ L(ashr_7): movdqa (%eax), %xmm1 pcmpeqb %xmm1, %xmm0 pslldq $9, %xmm2 + TOLOWER (%xmm1, %xmm2) pcmpeqb %xmm1, %xmm2 psubb %xmm0, %xmm2 pmovmskb %xmm2, %edi @@ -919,7 +1136,7 @@ L(ashr_7): movdqa (%edx), %xmm3 pxor %xmm0, %xmm0 mov $16, %ecx - or $7, %ebx + orl $7, FLAGS lea 8(%edx), %edi and $0xfff, %edi sub $0x1000, %edi @@ -935,6 +1152,7 @@ L(gobble_ashr_7): movdqa %xmm2, %xmm4 palignr $7, %xmm3, %xmm2 + TOLOWER (%xmm1, %xmm2) pcmpeqb %xmm1, %xmm0 pcmpeqb %xmm2, %xmm1 @@ -943,9 +1161,9 @@ L(gobble_ashr_7): sub $0xffff, %esi jnz L(exit) -#ifdef USE_AS_STRNCMP - cmp $16, %ebp - lea -16(%ebp), %ebp +#if defined USE_AS_STRNCMP || defined USE_AS_STRNCASECMP_L + cmp $16, REM + lea -16(REM), REM jbe L(more8byteseq) #endif @@ -960,6 +1178,7 @@ L(gobble_ashr_7): movdqa %xmm2, %xmm4 palignr $7, %xmm3, %xmm2 + TOLOWER (%xmm1, %xmm2) pcmpeqb %xmm1, %xmm0 pcmpeqb %xmm2, %xmm1 @@ -968,9 +1187,9 @@ L(gobble_ashr_7): sub $0xffff, %esi jnz L(exit) -#ifdef USE_AS_STRNCMP - cmp $16, %ebp - lea -16(%ebp), %ebp +#if defined USE_AS_STRNCMP || defined USE_AS_STRNCASECMP_L + cmp $16, REM + lea -16(REM), REM jbe L(more8byteseq) #endif @@ -985,8 +1204,8 @@ L(nibble_ashr_7): test $0xff80, %esi jnz L(ashr_7_exittail) -#ifdef USE_AS_STRNCMP - cmp $9, %ebp +#if defined USE_AS_STRNCMP || defined USE_AS_STRNCASECMP_L + cmp $9, REM jbe L(ashr_7_exittail) #endif pxor %xmm0, %xmm0 @@ -1014,6 +1233,7 @@ L(ashr_8): movdqa (%eax), %xmm1 pcmpeqb %xmm1, %xmm0 pslldq $8, %xmm2 + TOLOWER (%xmm1, %xmm2) pcmpeqb %xmm1, %xmm2 psubb %xmm0, %xmm2 pmovmskb %xmm2, %edi @@ -1028,7 +1248,7 @@ L(ashr_8): movdqa (%edx), %xmm3 pxor %xmm0, %xmm0 mov $16, %ecx - or $8, %ebx + orl $8, FLAGS lea 8(%edx), %edi and $0xfff, %edi sub $0x1000, %edi @@ -1044,6 +1264,7 @@ L(gobble_ashr_8): movdqa %xmm2, %xmm4 palignr $8, %xmm3, %xmm2 + TOLOWER (%xmm1, %xmm2) pcmpeqb %xmm1, %xmm0 pcmpeqb %xmm2, %xmm1 @@ -1052,9 +1273,9 @@ L(gobble_ashr_8): sub $0xffff, %esi jnz L(exit) -#ifdef USE_AS_STRNCMP - cmp $16, %ebp - lea -16(%ebp), %ebp +#if defined USE_AS_STRNCMP || defined USE_AS_STRNCASECMP_L + cmp $16, REM + lea -16(REM), REM jbe L(more8byteseq) #endif add $16, %ecx @@ -1068,6 +1289,7 @@ L(gobble_ashr_8): movdqa %xmm2, %xmm4 palignr $8, %xmm3, %xmm2 + TOLOWER (%xmm1, %xmm2) pcmpeqb %xmm1, %xmm0 pcmpeqb %xmm2, %xmm1 @@ -1076,9 +1298,9 @@ L(gobble_ashr_8): sub $0xffff, %esi jnz L(exit) -#ifdef USE_AS_STRNCMP - cmp $16, %ebp - lea -16(%ebp), %ebp +#if defined USE_AS_STRNCMP || defined USE_AS_STRNCASECMP_L + cmp $16, REM + lea -16(REM), REM jbe L(more8byteseq) #endif add $16, %ecx @@ -1092,8 +1314,8 @@ L(nibble_ashr_8): test $0xff00, %esi jnz L(ashr_8_exittail) -#ifdef USE_AS_STRNCMP - cmp $8, %ebp +#if defined USE_AS_STRNCMP || defined USE_AS_STRNCASECMP_L + cmp $8, REM jbe L(ashr_8_exittail) #endif pxor %xmm0, %xmm0 @@ -1121,6 +1343,7 @@ L(ashr_9): movdqa (%eax), %xmm1 pcmpeqb %xmm1, %xmm0 pslldq $7, %xmm2 + TOLOWER (%xmm1, %xmm2) pcmpeqb %xmm1, %xmm2 psubb %xmm0, %xmm2 pmovmskb %xmm2, %edi @@ -1135,7 +1358,7 @@ L(ashr_9): movdqa (%edx), %xmm3 pxor %xmm0, %xmm0 mov $16, %ecx - or $9, %ebx + orl $9, FLAGS lea 9(%edx), %edi and $0xfff, %edi sub $0x1000, %edi @@ -1151,6 +1374,7 @@ L(gobble_ashr_9): movdqa %xmm2, %xmm4 palignr $9, %xmm3, %xmm2 + TOLOWER (%xmm1, %xmm2) pcmpeqb %xmm1, %xmm0 pcmpeqb %xmm2, %xmm1 @@ -1159,9 +1383,9 @@ L(gobble_ashr_9): sub $0xffff, %esi jnz L(exit) -#ifdef USE_AS_STRNCMP - cmp $16, %ebp - lea -16(%ebp), %ebp +#if defined USE_AS_STRNCMP || defined USE_AS_STRNCASECMP_L + cmp $16, REM + lea -16(REM), REM jbe L(more8byteseq) #endif add $16, %ecx @@ -1175,6 +1399,7 @@ L(gobble_ashr_9): movdqa %xmm2, %xmm4 palignr $9, %xmm3, %xmm2 + TOLOWER (%xmm1, %xmm2) pcmpeqb %xmm1, %xmm0 pcmpeqb %xmm2, %xmm1 @@ -1183,9 +1408,9 @@ L(gobble_ashr_9): sub $0xffff, %esi jnz L(exit) -#ifdef USE_AS_STRNCMP - cmp $16, %ebp - lea -16(%ebp), %ebp +#if defined USE_AS_STRNCMP || defined USE_AS_STRNCASECMP_L + cmp $16, REM + lea -16(REM), REM jbe L(more8byteseq) #endif add $16, %ecx @@ -1199,8 +1424,8 @@ L(nibble_ashr_9): test $0xfe00, %esi jnz L(ashr_9_exittail) -#ifdef USE_AS_STRNCMP - cmp $7, %ebp +#if defined USE_AS_STRNCMP || defined USE_AS_STRNCASECMP_L + cmp $7, REM jbe L(ashr_9_exittail) #endif pxor %xmm0, %xmm0 @@ -1227,6 +1452,7 @@ L(ashr_10): movdqa (%eax), %xmm1 pcmpeqb %xmm1, %xmm0 pslldq $6, %xmm2 + TOLOWER (%xmm1, %xmm2) pcmpeqb %xmm1, %xmm2 psubb %xmm0, %xmm2 pmovmskb %xmm2, %edi @@ -1241,7 +1467,7 @@ L(ashr_10): movdqa (%edx), %xmm3 pxor %xmm0, %xmm0 mov $16, %ecx - or $10, %ebx + orl $10, FLAGS lea 10(%edx), %edi and $0xfff, %edi sub $0x1000, %edi @@ -1257,6 +1483,7 @@ L(gobble_ashr_10): movdqa %xmm2, %xmm4 palignr $10, %xmm3, %xmm2 + TOLOWER (%xmm1, %xmm2) pcmpeqb %xmm1, %xmm0 pcmpeqb %xmm2, %xmm1 @@ -1265,9 +1492,9 @@ L(gobble_ashr_10): sub $0xffff, %esi jnz L(exit) -#ifdef USE_AS_STRNCMP - cmp $16, %ebp - lea -16(%ebp), %ebp +#if defined USE_AS_STRNCMP || defined USE_AS_STRNCASECMP_L + cmp $16, REM + lea -16(REM), REM jbe L(more8byteseq) #endif add $16, %ecx @@ -1281,6 +1508,7 @@ L(gobble_ashr_10): movdqa %xmm2, %xmm4 palignr $10, %xmm3, %xmm2 + TOLOWER (%xmm1, %xmm2) pcmpeqb %xmm1, %xmm0 pcmpeqb %xmm2, %xmm1 @@ -1289,9 +1517,9 @@ L(gobble_ashr_10): sub $0xffff, %esi jnz L(exit) -#ifdef USE_AS_STRNCMP - cmp $16, %ebp - lea -16(%ebp), %ebp +#if defined USE_AS_STRNCMP || defined USE_AS_STRNCASECMP_L + cmp $16, REM + lea -16(REM), REM jbe L(more8byteseq) #endif add $16, %ecx @@ -1305,8 +1533,8 @@ L(nibble_ashr_10): test $0xfc00, %esi jnz L(ashr_10_exittail) -#ifdef USE_AS_STRNCMP - cmp $6, %ebp +#if defined USE_AS_STRNCMP || defined USE_AS_STRNCASECMP_L + cmp $6, REM jbe L(ashr_10_exittail) #endif pxor %xmm0, %xmm0 @@ -1333,6 +1561,7 @@ L(ashr_11): movdqa (%eax), %xmm1 pcmpeqb %xmm1, %xmm0 pslldq $5, %xmm2 + TOLOWER (%xmm1, %xmm2) pcmpeqb %xmm1, %xmm2 psubb %xmm0, %xmm2 pmovmskb %xmm2, %edi @@ -1347,7 +1576,7 @@ L(ashr_11): movdqa (%edx), %xmm3 pxor %xmm0, %xmm0 mov $16, %ecx - or $11, %ebx + orl $11, FLAGS lea 11(%edx), %edi and $0xfff, %edi sub $0x1000, %edi @@ -1363,6 +1592,7 @@ L(gobble_ashr_11): movdqa %xmm2, %xmm4 palignr $11, %xmm3, %xmm2 + TOLOWER (%xmm1, %xmm2) pcmpeqb %xmm1, %xmm0 pcmpeqb %xmm2, %xmm1 @@ -1371,9 +1601,9 @@ L(gobble_ashr_11): sub $0xffff, %esi jnz L(exit) -#ifdef USE_AS_STRNCMP - cmp $16, %ebp - lea -16(%ebp), %ebp +#if defined USE_AS_STRNCMP || defined USE_AS_STRNCASECMP_L + cmp $16, REM + lea -16(REM), REM jbe L(more8byteseq) #endif add $16, %ecx @@ -1387,6 +1617,7 @@ L(gobble_ashr_11): movdqa %xmm2, %xmm4 palignr $11, %xmm3, %xmm2 + TOLOWER (%xmm1, %xmm2) pcmpeqb %xmm1, %xmm0 pcmpeqb %xmm2, %xmm1 @@ -1395,9 +1626,9 @@ L(gobble_ashr_11): sub $0xffff, %esi jnz L(exit) -#ifdef USE_AS_STRNCMP - cmp $16, %ebp - lea -16(%ebp), %ebp +#if defined USE_AS_STRNCMP || defined USE_AS_STRNCASECMP_L + cmp $16, REM + lea -16(REM), REM jbe L(more8byteseq) #endif add $16, %ecx @@ -1411,8 +1642,8 @@ L(nibble_ashr_11): test $0xf800, %esi jnz L(ashr_11_exittail) -#ifdef USE_AS_STRNCMP - cmp $5, %ebp +#if defined USE_AS_STRNCMP || defined USE_AS_STRNCASECMP_L + cmp $5, REM jbe L(ashr_11_exittail) #endif pxor %xmm0, %xmm0 @@ -1439,6 +1670,7 @@ L(ashr_12): movdqa (%eax), %xmm1 pcmpeqb %xmm1, %xmm0 pslldq $4, %xmm2 + TOLOWER (%xmm1, %xmm2) pcmpeqb %xmm1, %xmm2 psubb %xmm0, %xmm2 pmovmskb %xmm2, %edi @@ -1453,7 +1685,7 @@ L(ashr_12): movdqa (%edx), %xmm3 pxor %xmm0, %xmm0 mov $16, %ecx - or $12, %ebx + orl $12, FLAGS lea 12(%edx), %edi and $0xfff, %edi sub $0x1000, %edi @@ -1469,6 +1701,7 @@ L(gobble_ashr_12): movdqa %xmm2, %xmm4 palignr $12, %xmm3, %xmm2 + TOLOWER (%xmm1, %xmm2) pcmpeqb %xmm1, %xmm0 pcmpeqb %xmm2, %xmm1 @@ -1477,9 +1710,9 @@ L(gobble_ashr_12): sub $0xffff, %esi jnz L(exit) -#ifdef USE_AS_STRNCMP - cmp $16, %ebp - lea -16(%ebp), %ebp +#if defined USE_AS_STRNCMP || defined USE_AS_STRNCASECMP_L + cmp $16, REM + lea -16(REM), REM jbe L(more8byteseq) #endif @@ -1494,6 +1727,7 @@ L(gobble_ashr_12): movdqa %xmm2, %xmm4 palignr $12, %xmm3, %xmm2 + TOLOWER (%xmm1, %xmm2) pcmpeqb %xmm1, %xmm0 pcmpeqb %xmm2, %xmm1 @@ -1502,9 +1736,9 @@ L(gobble_ashr_12): sub $0xffff, %esi jnz L(exit) -#ifdef USE_AS_STRNCMP - cmp $16, %ebp - lea -16(%ebp), %ebp +#if defined USE_AS_STRNCMP || defined USE_AS_STRNCASECMP_L + cmp $16, REM + lea -16(REM), REM jbe L(more8byteseq) #endif add $16, %ecx @@ -1518,8 +1752,8 @@ L(nibble_ashr_12): test $0xf000, %esi jnz L(ashr_12_exittail) -#ifdef USE_AS_STRNCMP - cmp $4, %ebp +#if defined USE_AS_STRNCMP || defined USE_AS_STRNCASECMP_L + cmp $4, REM jbe L(ashr_12_exittail) #endif pxor %xmm0, %xmm0 @@ -1546,6 +1780,7 @@ L(ashr_13): movdqa (%eax), %xmm1 pcmpeqb %xmm1, %xmm0 pslldq $3, %xmm2 + TOLOWER (%xmm1, %xmm2) pcmpeqb %xmm1, %xmm2 psubb %xmm0, %xmm2 pmovmskb %xmm2, %edi @@ -1560,7 +1795,7 @@ L(ashr_13): movdqa (%edx), %xmm3 pxor %xmm0, %xmm0 mov $16, %ecx - or $13, %ebx + orl $13, FLAGS lea 13(%edx), %edi and $0xfff, %edi sub $0x1000, %edi @@ -1576,6 +1811,7 @@ L(gobble_ashr_13): movdqa %xmm2, %xmm4 palignr $13, %xmm3, %xmm2 + TOLOWER (%xmm1, %xmm2) pcmpeqb %xmm1, %xmm0 pcmpeqb %xmm2, %xmm1 @@ -1584,9 +1820,9 @@ L(gobble_ashr_13): sub $0xffff, %esi jnz L(exit) -#ifdef USE_AS_STRNCMP - cmp $16, %ebp - lea -16(%ebp), %ebp +#if defined USE_AS_STRNCMP || defined USE_AS_STRNCASECMP_L + cmp $16, REM + lea -16(REM), REM jbe L(more8byteseq) #endif add $16, %ecx @@ -1600,6 +1836,7 @@ L(gobble_ashr_13): movdqa %xmm2, %xmm4 palignr $13, %xmm3, %xmm2 + TOLOWER (%xmm1, %xmm2) pcmpeqb %xmm1, %xmm0 pcmpeqb %xmm2, %xmm1 @@ -1608,9 +1845,9 @@ L(gobble_ashr_13): sub $0xffff, %esi jnz L(exit) -#ifdef USE_AS_STRNCMP - cmp $16, %ebp - lea -16(%ebp), %ebp +#if defined USE_AS_STRNCMP || defined USE_AS_STRNCASECMP_L + cmp $16, REM + lea -16(REM), REM jbe L(more8byteseq) #endif add $16, %ecx @@ -1624,8 +1861,8 @@ L(nibble_ashr_13): test $0xe000, %esi jnz L(ashr_13_exittail) -#ifdef USE_AS_STRNCMP - cmp $3, %ebp +#if defined USE_AS_STRNCMP || defined USE_AS_STRNCASECMP_L + cmp $3, REM jbe L(ashr_13_exittail) #endif pxor %xmm0, %xmm0 @@ -1652,6 +1889,7 @@ L(ashr_14): movdqa (%eax), %xmm1 pcmpeqb %xmm1, %xmm0 pslldq $2, %xmm2 + TOLOWER (%xmm1, %xmm2) pcmpeqb %xmm1, %xmm2 psubb %xmm0, %xmm2 pmovmskb %xmm2, %edi @@ -1666,7 +1904,7 @@ L(ashr_14): movdqa (%edx), %xmm3 pxor %xmm0, %xmm0 mov $16, %ecx - or $14, %ebx + orl $14, FLAGS lea 14(%edx), %edi and $0xfff, %edi sub $0x1000, %edi @@ -1682,6 +1920,7 @@ L(gobble_ashr_14): movdqa %xmm2, %xmm4 palignr $14, %xmm3, %xmm2 + TOLOWER (%xmm1, %xmm2) pcmpeqb %xmm1, %xmm0 pcmpeqb %xmm2, %xmm1 @@ -1690,9 +1929,9 @@ L(gobble_ashr_14): sub $0xffff, %esi jnz L(exit) -#ifdef USE_AS_STRNCMP - cmp $16, %ebp - lea -16(%ebp), %ebp +#if defined USE_AS_STRNCMP || defined USE_AS_STRNCASECMP_L + cmp $16, REM + lea -16(REM), REM jbe L(more8byteseq) #endif add $16, %ecx @@ -1706,6 +1945,7 @@ L(gobble_ashr_14): movdqa %xmm2, %xmm4 palignr $14, %xmm3, %xmm2 + TOLOWER (%xmm1, %xmm2) pcmpeqb %xmm1, %xmm0 pcmpeqb %xmm2, %xmm1 @@ -1714,9 +1954,9 @@ L(gobble_ashr_14): sub $0xffff, %esi jnz L(exit) -#ifdef USE_AS_STRNCMP - cmp $16, %ebp - lea -16(%ebp), %ebp +#if defined USE_AS_STRNCMP || defined USE_AS_STRNCASECMP_L + cmp $16, REM + lea -16(REM), REM jbe L(more8byteseq) #endif add $16, %ecx @@ -1730,8 +1970,8 @@ L(nibble_ashr_14): test $0xc000, %esi jnz L(ashr_14_exittail) -#ifdef USE_AS_STRNCMP - cmp $2, %ebp +#if defined USE_AS_STRNCMP || defined USE_AS_STRNCASECMP_L + cmp $2, REM jbe L(ashr_14_exittail) #endif pxor %xmm0, %xmm0 @@ -1759,6 +1999,7 @@ L(ashr_15): movdqa (%eax), %xmm1 pcmpeqb %xmm1, %xmm0 pslldq $1, %xmm2 + TOLOWER (%xmm1, %xmm2) pcmpeqb %xmm1, %xmm2 psubb %xmm0, %xmm2 pmovmskb %xmm2, %edi @@ -1773,7 +2014,7 @@ L(ashr_15): movdqa (%edx), %xmm3 pxor %xmm0, %xmm0 mov $16, %ecx - or $15, %ebx + orl $15, FLAGS lea 15(%edx), %edi and $0xfff, %edi sub $0x1000, %edi @@ -1789,6 +2030,7 @@ L(gobble_ashr_15): movdqa %xmm2, %xmm4 palignr $15, %xmm3, %xmm2 + TOLOWER (%xmm1, %xmm2) pcmpeqb %xmm1, %xmm0 pcmpeqb %xmm2, %xmm1 @@ -1797,9 +2039,9 @@ L(gobble_ashr_15): sub $0xffff, %esi jnz L(exit) -#ifdef USE_AS_STRNCMP - cmp $16, %ebp - lea -16(%ebp), %ebp +#if defined USE_AS_STRNCMP || defined USE_AS_STRNCASECMP_L + cmp $16, REM + lea -16(REM), REM jbe L(more8byteseq) #endif add $16, %ecx @@ -1813,6 +2055,7 @@ L(gobble_ashr_15): movdqa %xmm2, %xmm4 palignr $15, %xmm3, %xmm2 + TOLOWER (%xmm1, %xmm2) pcmpeqb %xmm1, %xmm0 pcmpeqb %xmm2, %xmm1 @@ -1821,9 +2064,9 @@ L(gobble_ashr_15): sub $0xffff, %esi jnz L(exit) -#ifdef USE_AS_STRNCMP - cmp $16, %ebp - lea -16(%ebp), %ebp +#if defined USE_AS_STRNCMP || defined USE_AS_STRNCASECMP_L + cmp $16, REM + lea -16(REM), REM jbe L(more8byteseq) #endif add $16, %ecx @@ -1837,8 +2080,8 @@ L(nibble_ashr_15): test $0x8000, %esi jnz L(ashr_15_exittail) -#ifdef USE_AS_STRNCMP - cmp $1, %ebp +#if defined USE_AS_STRNCMP || defined USE_AS_STRNCASECMP_L + cmp $1, REM jbe L(ashr_15_exittail) #endif pxor %xmm0, %xmm0 @@ -1854,27 +2097,34 @@ L(ashr_15_exittail): .p2align 4 L(aftertail): + TOLOWER (%xmm1, %xmm3) pcmpeqb %xmm3, %xmm1 psubb %xmm0, %xmm1 pmovmskb %xmm1, %esi not %esi L(exit): - mov %ebx, %edi + mov FLAGS, %edi and $0x1f, %edi lea -16(%edi, %ecx), %edi L(less32bytes): add %edi, %edx add %ecx, %eax - test $0x20, %ebx + testl $0x20, FLAGS jz L(ret2) xchg %eax, %edx .p2align 4 L(ret2): mov %esi, %ecx +#if defined USE_AS_STRCASECMP_L || defined USE_AS_STRNCASECMP_L + addl $4, %esp + cfi_adjust_cfa_offset (-4) +#endif POP (%esi) POP (%edi) - POP (%ebx) +#if !defined USE_AS_STRCASECMP_L && !defined USE_AS_STRNCASECMP_L + POP (FLAGS) +#endif L(less16bytes): test %cl, %cl jz L(2next_8_bytes) @@ -1899,100 +2149,179 @@ L(less16bytes): test $0x40, %cl jnz L(Byte6) -#ifdef USE_AS_STRNCMP - cmp $7, %ebp +#if defined USE_AS_STRNCMP || defined USE_AS_STRNCASECMP_L + cmp $7, REM jbe L(eq) #endif movzx 7(%eax), %ecx movzx 7(%edx), %eax +#if defined USE_AS_STRCASECMP_L || defined USE_AS_STRNCASECMP_L +# ifdef PIC + movl _nl_C_LC_CTYPE_tolower@GOTOFF+128*4(%ebx,%ecx,4), %ecx + movl _nl_C_LC_CTYPE_tolower@GOTOFF+128*4(%ebx,%eax,4), %eax +# else + movl _nl_C_LC_CTYPE_tolower+128*4(,%ecx,4), %ecx + movl _nl_C_LC_CTYPE_tolower+128*4(,%eax,4), %eax +# endif +#endif sub %ecx, %eax RETURN L(Byte0): -#ifdef USE_AS_STRNCMP - cmp $0, %ebp +#if defined USE_AS_STRNCMP || defined USE_AS_STRNCASECMP_L + cmp $0, REM jbe L(eq) #endif movzx (%eax), %ecx movzx (%edx), %eax +#if defined USE_AS_STRCASECMP_L || defined USE_AS_STRNCASECMP_L +# ifdef PIC + movl _nl_C_LC_CTYPE_tolower@GOTOFF+128*4(%ebx,%ecx,4), %ecx + movl _nl_C_LC_CTYPE_tolower@GOTOFF+128*4(%ebx,%eax,4), %eax +# else + movl _nl_C_LC_CTYPE_tolower+128*4(,%ecx,4), %ecx + movl _nl_C_LC_CTYPE_tolower+128*4(,%eax,4), %eax +# endif +#endif + sub %ecx, %eax RETURN L(Byte1): -#ifdef USE_AS_STRNCMP - cmp $1, %ebp +#if defined USE_AS_STRNCMP || defined USE_AS_STRNCASECMP_L + cmp $1, REM jbe L(eq) #endif movzx 1(%eax), %ecx movzx 1(%edx), %eax +#if defined USE_AS_STRCASECMP_L || defined USE_AS_STRNCASECMP_L +# ifdef PIC + movl _nl_C_LC_CTYPE_tolower@GOTOFF+128*4(%ebx,%ecx,4), %ecx + movl _nl_C_LC_CTYPE_tolower@GOTOFF+128*4(%ebx,%eax,4), %eax +# else + movl _nl_C_LC_CTYPE_tolower+128*4(,%ecx,4), %ecx + movl _nl_C_LC_CTYPE_tolower+128*4(,%eax,4), %eax +# endif +#endif + sub %ecx, %eax RETURN L(Byte2): -#ifdef USE_AS_STRNCMP - cmp $2, %ebp +#if defined USE_AS_STRNCMP || defined USE_AS_STRNCASECMP_L + cmp $2, REM jbe L(eq) #endif movzx 2(%eax), %ecx movzx 2(%edx), %eax +#if defined USE_AS_STRCASECMP_L || defined USE_AS_STRNCASECMP_L +# ifdef PIC + movl _nl_C_LC_CTYPE_tolower@GOTOFF+128*4(%ebx,%ecx,4), %ecx + movl _nl_C_LC_CTYPE_tolower@GOTOFF+128*4(%ebx,%eax,4), %eax +# else + movl _nl_C_LC_CTYPE_tolower+128*4(,%ecx,4), %ecx + movl _nl_C_LC_CTYPE_tolower+128*4(,%eax,4), %eax +# endif +#endif + sub %ecx, %eax RETURN L(Byte3): -#ifdef USE_AS_STRNCMP - cmp $3, %ebp +#if defined USE_AS_STRNCMP || defined USE_AS_STRNCASECMP_L + cmp $3, REM jbe L(eq) #endif movzx 3(%eax), %ecx movzx 3(%edx), %eax +#if defined USE_AS_STRCASECMP_L || defined USE_AS_STRNCASECMP_L +# ifdef PIC + movl _nl_C_LC_CTYPE_tolower@GOTOFF+128*4(%ebx,%ecx,4), %ecx + movl _nl_C_LC_CTYPE_tolower@GOTOFF+128*4(%ebx,%eax,4), %eax +# else + movl _nl_C_LC_CTYPE_tolower+128*4(,%ecx,4), %ecx + movl _nl_C_LC_CTYPE_tolower+128*4(,%eax,4), %eax +# endif +#endif + sub %ecx, %eax RETURN L(Byte4): -#ifdef USE_AS_STRNCMP - cmp $4, %ebp +#if defined USE_AS_STRNCMP || defined USE_AS_STRNCASECMP_L + cmp $4, REM jbe L(eq) #endif movzx 4(%eax), %ecx movzx 4(%edx), %eax +#if defined USE_AS_STRCASECMP_L || defined USE_AS_STRNCASECMP_L +# ifdef PIC + movl _nl_C_LC_CTYPE_tolower@GOTOFF+128*4(%ebx,%ecx,4), %ecx + movl _nl_C_LC_CTYPE_tolower@GOTOFF+128*4(%ebx,%eax,4), %eax +# else + movl _nl_C_LC_CTYPE_tolower+128*4(,%ecx,4), %ecx + movl _nl_C_LC_CTYPE_tolower+128*4(,%eax,4), %eax +# endif +#endif + sub %ecx, %eax RETURN L(Byte5): -#ifdef USE_AS_STRNCMP - cmp $5, %ebp +#if defined USE_AS_STRNCMP || defined USE_AS_STRNCASECMP_L + cmp $5, REM jbe L(eq) #endif movzx 5(%eax), %ecx movzx 5(%edx), %eax +#if defined USE_AS_STRCASECMP_L || defined USE_AS_STRNCASECMP_L +# ifdef PIC + movl _nl_C_LC_CTYPE_tolower@GOTOFF+128*4(%ebx,%ecx,4), %ecx + movl _nl_C_LC_CTYPE_tolower@GOTOFF+128*4(%ebx,%eax,4), %eax +# else + movl _nl_C_LC_CTYPE_tolower+128*4(,%ecx,4), %ecx + movl _nl_C_LC_CTYPE_tolower+128*4(,%eax,4), %eax +# endif +#endif + sub %ecx, %eax RETURN L(Byte6): -#ifdef USE_AS_STRNCMP - cmp $6, %ebp +#if defined USE_AS_STRNCMP || defined USE_AS_STRNCASECMP_L + cmp $6, REM jbe L(eq) #endif movzx 6(%eax), %ecx movzx 6(%edx), %eax +#if defined USE_AS_STRCASECMP_L || defined USE_AS_STRNCASECMP_L +# ifdef PIC + movl _nl_C_LC_CTYPE_tolower@GOTOFF+128*4(%ebx,%ecx,4), %ecx + movl _nl_C_LC_CTYPE_tolower@GOTOFF+128*4(%ebx,%eax,4), %eax +# else + movl _nl_C_LC_CTYPE_tolower+128*4(,%ecx,4), %ecx + movl _nl_C_LC_CTYPE_tolower+128*4(,%eax,4), %eax +# endif +#endif + sub %ecx, %eax RETURN L(2next_8_bytes): add $8, %eax add $8, %edx -#ifdef USE_AS_STRNCMP - cmp $8, %ebp - lea -8(%ebp), %ebp +#if defined USE_AS_STRNCMP || defined USE_AS_STRNCASECMP_L + cmp $8, REM + lea -8(REM), REM jbe L(eq) #endif @@ -2017,196 +2346,455 @@ L(2next_8_bytes): test $0x40, %ch jnz L(Byte6) -#ifdef USE_AS_STRNCMP - cmp $7, %ebp +#if defined USE_AS_STRNCMP || defined USE_AS_STRNCASECMP_L + cmp $7, REM jbe L(eq) #endif movzx 7(%eax), %ecx movzx 7(%edx), %eax +#if defined USE_AS_STRCASECMP_L || defined USE_AS_STRNCASECMP_L +# ifdef PIC + movl _nl_C_LC_CTYPE_tolower@GOTOFF+128*4(%ebx,%ecx,4), %ecx + movl _nl_C_LC_CTYPE_tolower@GOTOFF+128*4(%ebx,%eax,4), %eax +# else + movl _nl_C_LC_CTYPE_tolower+128*4(,%ecx,4), %ecx + movl _nl_C_LC_CTYPE_tolower+128*4(,%eax,4), %eax +# endif +#endif + sub %ecx, %eax RETURN +#ifdef USE_AS_STRNCMP +L(neq_sncmp): +#endif L(neq): mov $1, %eax ja L(neq_bigger) neg %eax L(neq_bigger): -#ifdef USE_AS_STRNCMP - POP (%ebp) +#if defined USE_AS_STRCASECMP_L || defined USE_AS_STRNCASECMP_L + addl $4, %esp + cfi_adjust_cfa_offset (-4) +#endif +#if defined USE_AS_STRNCMP || defined USE_AS_STRNCASECMP_L + POP (REM) +#endif +#if defined USE_AS_STRCASECMP_L || defined USE_AS_STRNCASECMP_L +# ifdef PIC + POP (%ebx) +# endif #endif ret -#ifdef USE_AS_STRNCMP +#if defined USE_AS_STRNCMP || defined USE_AS_STRNCASECMP_L .p2align 4 cfi_restore_state L(more8byteseq): + +# ifdef USE_AS_STRNCASECMP_L + addl $4, %esp + cfi_adjust_cfa_offset (-4) +# endif POP (%esi) POP (%edi) - POP (%ebx) +# ifdef USE_AS_STRNCMP + POP (FLAGS) +# endif #endif +#ifdef USE_AS_STRNCMP +L(eq_sncmp): +#endif L(eq): -#ifdef USE_AS_STRNCMP - POP (%ebp) +#if defined USE_AS_STRNCMP || defined USE_AS_STRNCASECMP_L + POP (REM) +#endif +#if defined USE_AS_STRCASECMP_L || defined USE_AS_STRNCASECMP_L +# ifdef PIC + POP (%ebx) +# endif #endif xorl %eax, %eax ret -#ifdef USE_AS_STRNCMP +#if defined USE_AS_STRNCMP || defined USE_AS_STRNCASECMP_L .p2align 4 - CFI_PUSH (%ebp) +# if defined USE_AS_STRNCASECMP_L && defined PIC + CFI_PUSH (%ebx) +# endif + CFI_PUSH (REM) L(less16bytes_sncmp): - test %ebp, %ebp - jz L(eq) +# ifdef USE_AS_STRNCASECMP_L + PUSH (%esi) +# endif + test REM, REM + jz L(eq_sncmp) movzbl (%eax), %ecx +# ifdef USE_AS_STRNCASECMP_L + movzbl (%edx), %esi +# ifdef PIC + movl _nl_C_LC_CTYPE_tolower@GOTOFF+128*4(%ebx,%ecx,4), %ecx + movl _nl_C_LC_CTYPE_tolower@GOTOFF+128*4(%ebx,%esi,4), %esi +# else + movl _nl_C_LC_CTYPE_tolower+128*4(,%ecx,4), %ecx + movl _nl_C_LC_CTYPE_tolower+128*4(,%esi,4), %esi +# endif + cmpl %ecx, %esi +# else cmpb %cl, (%edx) - jne L(neq) +# endif + jne L(neq_sncmp) test %cl, %cl je L(eq) - cmp $1, %ebp - je L(eq) + cmp $1, REM + je L(eq_sncmp) movzbl 1(%eax), %ecx +# ifdef USE_AS_STRNCASECMP_L + movzbl 1(%edx), %esi +# ifdef PIC + movl _nl_C_LC_CTYPE_tolower@GOTOFF+128*4(%ebx,%ecx,4), %ecx + movl _nl_C_LC_CTYPE_tolower@GOTOFF+128*4(%ebx,%esi,4), %esi +# else + movl _nl_C_LC_CTYPE_tolower+128*4(,%ecx,4), %ecx + movl _nl_C_LC_CTYPE_tolower+128*4(,%esi,4), %esi +# endif + cmpl %ecx, %esi +# else cmpb %cl, 1(%edx) - jne L(neq) +# endif + jne L(neq_sncmp) test %cl, %cl - je L(eq) + je L(eq_sncmp) - cmp $2, %ebp - je L(eq) + cmp $2, REM + je L(eq_sncmp) movzbl 2(%eax), %ecx +# ifdef USE_AS_STRNCASECMP_L + movzbl 2(%edx), %esi +# ifdef PIC + movl _nl_C_LC_CTYPE_tolower@GOTOFF+128*4(%ebx,%ecx,4), %ecx + movl _nl_C_LC_CTYPE_tolower@GOTOFF+128*4(%ebx,%esi,4), %esi +# else + movl _nl_C_LC_CTYPE_tolower+128*4(,%ecx,4), %ecx + movl _nl_C_LC_CTYPE_tolower+128*4(,%esi,4), %esi +# endif + cmpl %ecx, %esi +# else cmpb %cl, 2(%edx) - jne L(neq) +# endif + jne L(neq_sncmp) test %cl, %cl - je L(eq) + je L(eq_sncmp) - cmp $3, %ebp - je L(eq) + cmp $3, REM + je L(eq_sncmp) movzbl 3(%eax), %ecx +# ifdef USE_AS_STRNCASECMP_L + movzbl 3(%edx), %esi +# ifdef PIC + movl _nl_C_LC_CTYPE_tolower@GOTOFF+128*4(%ebx,%ecx,4), %ecx + movl _nl_C_LC_CTYPE_tolower@GOTOFF+128*4(%ebx,%esi,4), %esi +# else + movl _nl_C_LC_CTYPE_tolower+128*4(,%ecx,4), %ecx + movl _nl_C_LC_CTYPE_tolower+128*4(,%esi,4), %esi +# endif + cmpl %ecx, %esi +# else cmpb %cl, 3(%edx) - jne L(neq) +# endif + jne L(neq_sncmp) test %cl, %cl - je L(eq) + je L(eq_sncmp) - cmp $4, %ebp - je L(eq) + cmp $4, REM + je L(eq_sncmp) movzbl 4(%eax), %ecx +# ifdef USE_AS_STRNCASECMP_L + movzbl 4(%edx), %esi +# ifdef PIC + movl _nl_C_LC_CTYPE_tolower@GOTOFF+128*4(%ebx,%ecx,4), %ecx + movl _nl_C_LC_CTYPE_tolower@GOTOFF+128*4(%ebx,%esi,4), %esi +# else + movl _nl_C_LC_CTYPE_tolower+128*4(,%ecx,4), %ecx + movl _nl_C_LC_CTYPE_tolower+128*4(,%esi,4), %esi +# endif + cmpl %ecx, %esi +# else cmpb %cl, 4(%edx) - jne L(neq) +# endif + jne L(neq_sncmp) test %cl, %cl - je L(eq) + je L(eq_sncmp) - cmp $5, %ebp - je L(eq) + cmp $5, REM + je L(eq_sncmp) movzbl 5(%eax), %ecx +# ifdef USE_AS_STRNCASECMP_L + movzbl 5(%edx), %esi +# ifdef PIC + movl _nl_C_LC_CTYPE_tolower@GOTOFF+128*4(%ebx,%ecx,4), %ecx + movl _nl_C_LC_CTYPE_tolower@GOTOFF+128*4(%ebx,%esi,4), %esi +# else + movl _nl_C_LC_CTYPE_tolower+128*4(,%ecx,4), %ecx + movl _nl_C_LC_CTYPE_tolower+128*4(,%esi,4), %esi +# endif + cmpl %ecx, %esi +# else cmpb %cl, 5(%edx) - jne L(neq) +# endif + jne L(neq_sncmp) test %cl, %cl - je L(eq) + je L(eq_sncmp) - cmp $6, %ebp - je L(eq) + cmp $6, REM + je L(eq_sncmp) movzbl 6(%eax), %ecx +# ifdef USE_AS_STRNCASECMP_L + movzbl 6(%edx), %esi +# ifdef PIC + movl _nl_C_LC_CTYPE_tolower@GOTOFF+128*4(%ebx,%ecx,4), %ecx + movl _nl_C_LC_CTYPE_tolower@GOTOFF+128*4(%ebx,%esi,4), %esi +# else + movl _nl_C_LC_CTYPE_tolower+128*4(,%ecx,4), %ecx + movl _nl_C_LC_CTYPE_tolower+128*4(,%esi,4), %esi +# endif + cmpl %ecx, %esi +# else cmpb %cl, 6(%edx) - jne L(neq) +# endif + jne L(neq_sncmp) test %cl, %cl - je L(eq) + je L(eq_sncmp) - cmp $7, %ebp - je L(eq) + cmp $7, REM + je L(eq_sncmp) movzbl 7(%eax), %ecx +# ifdef USE_AS_STRNCASECMP_L + movzbl 7(%edx), %esi +# ifdef PIC + movl _nl_C_LC_CTYPE_tolower@GOTOFF+128*4(%ebx,%ecx,4), %ecx + movl _nl_C_LC_CTYPE_tolower@GOTOFF+128*4(%ebx,%esi,4), %esi +# else + movl _nl_C_LC_CTYPE_tolower+128*4(,%ecx,4), %ecx + movl _nl_C_LC_CTYPE_tolower+128*4(,%esi,4), %esi +# endif + cmpl %ecx, %esi +# else cmpb %cl, 7(%edx) - jne L(neq) +# endif + jne L(neq_sncmp) test %cl, %cl - je L(eq) + je L(eq_sncmp) - cmp $8, %ebp - je L(eq) + cmp $8, REM + je L(eq_sncmp) movzbl 8(%eax), %ecx +# ifdef USE_AS_STRNCASECMP_L + movzbl 8(%edx), %esi +# ifdef PIC + movl _nl_C_LC_CTYPE_tolower@GOTOFF+128*4(%ebx,%ecx,4), %ecx + movl _nl_C_LC_CTYPE_tolower@GOTOFF+128*4(%ebx,%esi,4), %esi +# else + movl _nl_C_LC_CTYPE_tolower+128*4(,%ecx,4), %ecx + movl _nl_C_LC_CTYPE_tolower+128*4(,%esi,4), %esi +# endif + cmpl %ecx, %esi +# else cmpb %cl, 8(%edx) - jne L(neq) +# endif + jne L(neq_sncmp) test %cl, %cl - je L(eq) + je L(eq_sncmp) - cmp $9, %ebp - je L(eq) + cmp $9, REM + je L(eq_sncmp) movzbl 9(%eax), %ecx +# ifdef USE_AS_STRNCASECMP_L + movzbl 9(%edx), %esi +# ifdef PIC + movl _nl_C_LC_CTYPE_tolower@GOTOFF+128*4(%ebx,%ecx,4), %ecx + movl _nl_C_LC_CTYPE_tolower@GOTOFF+128*4(%ebx,%esi,4), %esi +# else + movl _nl_C_LC_CTYPE_tolower+128*4(,%ecx,4), %ecx + movl _nl_C_LC_CTYPE_tolower+128*4(,%esi,4), %esi +# endif + cmpl %ecx, %esi +# else cmpb %cl, 9(%edx) - jne L(neq) +# endif + jne L(neq_sncmp) test %cl, %cl - je L(eq) + je L(eq_sncmp) - cmp $10, %ebp - je L(eq) + cmp $10, REM + je L(eq_sncmp) movzbl 10(%eax), %ecx +# ifdef USE_AS_STRNCASECMP_L + movzbl 10(%edx), %esi +# ifdef PIC + movl _nl_C_LC_CTYPE_tolower@GOTOFF+128*4(%ebx,%ecx,4), %ecx + movl _nl_C_LC_CTYPE_tolower@GOTOFF+128*4(%ebx,%esi,4), %esi +# else + movl _nl_C_LC_CTYPE_tolower+128*4(,%ecx,4), %ecx + movl _nl_C_LC_CTYPE_tolower+128*4(,%esi,4), %esi +# endif + cmpl %ecx, %esi +# else cmpb %cl, 10(%edx) - jne L(neq) +# endif + jne L(neq_sncmp) test %cl, %cl - je L(eq) + je L(eq_sncmp) - cmp $11, %ebp - je L(eq) + cmp $11, REM + je L(eq_sncmp) movzbl 11(%eax), %ecx +# ifdef USE_AS_STRNCASECMP_L + movzbl 11(%edx), %esi +# ifdef PIC + movl _nl_C_LC_CTYPE_tolower@GOTOFF+128*4(%ebx,%ecx,4), %ecx + movl _nl_C_LC_CTYPE_tolower@GOTOFF+128*4(%ebx,%esi,4), %esi +# else + movl _nl_C_LC_CTYPE_tolower+128*4(,%ecx,4), %ecx + movl _nl_C_LC_CTYPE_tolower+128*4(,%esi,4), %esi +# endif + cmpl %ecx, %esi +# else cmpb %cl, 11(%edx) - jne L(neq) +# endif + jne L(neq_sncmp) test %cl, %cl - je L(eq) + je L(eq_sncmp) - cmp $12, %ebp - je L(eq) + cmp $12, REM + je L(eq_sncmp) movzbl 12(%eax), %ecx +# ifdef USE_AS_STRNCASECMP_L + movzbl 12(%edx), %esi +# ifdef PIC + movl _nl_C_LC_CTYPE_tolower@GOTOFF+128*4(%ebx,%ecx,4), %ecx + movl _nl_C_LC_CTYPE_tolower@GOTOFF+128*4(%ebx,%esi,4), %esi +# else + movl _nl_C_LC_CTYPE_tolower+128*4(,%ecx,4), %ecx + movl _nl_C_LC_CTYPE_tolower+128*4(,%esi,4), %esi +# endif + cmpl %ecx, %esi +# else cmpb %cl, 12(%edx) - jne L(neq) +# endif + jne L(neq_sncmp) test %cl, %cl - je L(eq) + je L(eq_sncmp) - cmp $13, %ebp - je L(eq) + cmp $13, REM + je L(eq_sncmp) movzbl 13(%eax), %ecx +# ifdef USE_AS_STRNCASECMP_L + movzbl 13(%edx), %esi +# ifdef PIC + movl _nl_C_LC_CTYPE_tolower@GOTOFF+128*4(%ebx,%ecx,4), %ecx + movl _nl_C_LC_CTYPE_tolower@GOTOFF+128*4(%ebx,%esi,4), %esi +# else + movl _nl_C_LC_CTYPE_tolower+128*4(,%ecx,4), %ecx + movl _nl_C_LC_CTYPE_tolower+128*4(,%esi,4), %esi +# endif + cmpl %ecx, %esi +# else cmpb %cl, 13(%edx) - jne L(neq) +# endif + jne L(neq_sncmp) test %cl, %cl - je L(eq) + je L(eq_sncmp) - cmp $14, %ebp - je L(eq) + cmp $14, REM + je L(eq_sncmp) movzbl 14(%eax), %ecx +# ifdef USE_AS_STRNCASECMP_L + movzbl 14(%edx), %esi +# ifdef PIC + movl _nl_C_LC_CTYPE_tolower@GOTOFF+128*4(%ebx,%ecx,4), %ecx + movl _nl_C_LC_CTYPE_tolower@GOTOFF+128*4(%ebx,%esi,4), %esi +# else + movl _nl_C_LC_CTYPE_tolower+128*4(,%ecx,4), %ecx + movl _nl_C_LC_CTYPE_tolower+128*4(,%esi,4), %esi +# endif + cmpl %ecx, %esi +# else cmpb %cl, 14(%edx) - jne L(neq) +# endif + jne L(neq_sncmp) test %cl, %cl - je L(eq) + je L(eq_sncmp) - cmp $15, %ebp - je L(eq) + cmp $15, REM + je L(eq_sncmp) movzbl 15(%eax), %ecx +# ifdef USE_AS_STRNCASECMP_L + movzbl 15(%edx), %esi +# ifdef PIC + movl _nl_C_LC_CTYPE_tolower@GOTOFF+128*4(%ebx,%ecx,4), %ecx + movl _nl_C_LC_CTYPE_tolower@GOTOFF+128*4(%ebx,%esi,4), %esi +# else + movl _nl_C_LC_CTYPE_tolower+128*4(,%ecx,4), %ecx + movl _nl_C_LC_CTYPE_tolower+128*4(,%esi,4), %esi +# endif + cmpl %ecx, %esi +# else cmpb %cl, 15(%edx) - jne L(neq) - test %cl, %cl - je L(eq) +# endif + jne L(neq_sncmp) - POP (%ebp) +# ifdef USE_AS_STRNCASECMP_L +L(eq_sncmp): + POP (%esi) +# endif + POP (REM) +# if defined USE_AS_STRNCASECMP_L && defined PIC + POP (%ebx) +# endif xor %eax, %eax ret + +# ifdef USE_AS_STRNCASECMP_L + .p2align 4 +# ifdef PIC + CFI_PUSH (%ebx) +# endif + CFI_PUSH (REM) + CFI_PUSH (%esi) +L(neq_sncmp): + mov $1, %eax + mov $-1, %edx + cmovna %edx, %eax + POP (%esi) + POP (REM) +# ifdef PIC + POP (%ebx) +# endif + ret +# endif #endif END (STRCMP) diff --git a/libc/sysdeps/i386/i686/multiarch/strcmp.S b/libc/sysdeps/i386/i686/multiarch/strcmp.S index 7136d47e8..28e2d6154 100644 --- a/libc/sysdeps/i386/i686/multiarch/strcmp.S +++ b/libc/sysdeps/i386/i686/multiarch/strcmp.S @@ -1,5 +1,5 @@ /* Multiple versions of strcmp - Copyright (C) 2010 Free Software Foundation, Inc. + Copyright (C) 2010, 2011 Free Software Foundation, Inc. Contributed by Intel Corporation. This file is part of the GNU C Library. @@ -21,18 +21,30 @@ #include <sysdep.h> #include <init-arch.h> -#ifndef USE_AS_STRNCMP -# define STRCMP strcmp -# define __GI_STRCMP __GI_strcmp -# define __STRCMP_IA32 __strcmp_ia32 -# define __STRCMP_SSSE3 __strcmp_ssse3 -# define __STRCMP_SSE4_2 __strcmp_sse4_2 -#else +#ifdef USE_AS_STRNCMP # define STRCMP strncmp # define __GI_STRCMP __GI_strncmp # define __STRCMP_IA32 __strncmp_ia32 # define __STRCMP_SSSE3 __strncmp_ssse3 # define __STRCMP_SSE4_2 __strncmp_sse4_2 +#elif defined USE_AS_STRCASECMP_L +# define STRCMP __strcasecmp_l +# define __GI_STRCMP __GI_strcasecmp_l +# define __STRCMP_IA32 __strcasecmp_l_ia32 +# define __STRCMP_SSSE3 __strcasecmp_l_ssse3 +# define __STRCMP_SSE4_2 __strcasecmp_l_sse4_2 +#elif defined USE_AS_STRNCASECMP_L +# define STRCMP __strncasecmp_l +# define __GI_STRCMP __GI_strncasecmp_l +# define __STRCMP_IA32 __strncasecmp_l_ia32 +# define __STRCMP_SSSE3 __strncasecmp_l_ssse3 +# define __STRCMP_SSE4_2 __strncasecmp_l_sse4_2 +#else +# define STRCMP strcmp +# define __GI_STRCMP __GI_strcmp +# define __STRCMP_IA32 __strcmp_ia32 +# define __STRCMP_SSSE3 __strcmp_ssse3 +# define __STRCMP_SSE4_2 __strcmp_sse4_2 #endif /* Define multiple versions only for the definition in libc. Don't diff --git a/libc/sysdeps/i386/i686/multiarch/strncase-c.c b/libc/sysdeps/i386/i686/multiarch/strncase-c.c new file mode 100644 index 000000000..76581eb62 --- /dev/null +++ b/libc/sysdeps/i386/i686/multiarch/strncase-c.c @@ -0,0 +1,8 @@ +#include <string.h> + +extern __typeof (strncasecmp) __strncasecmp_nonascii; + +#define __strncasecmp __strncasecmp_nonascii +#include <string/strncase.c> + +strong_alias (__strncasecmp_nonascii, __strncasecmp_ia32) diff --git a/libc/sysdeps/i386/i686/multiarch/strncase.S b/libc/sysdeps/i386/i686/multiarch/strncase.S new file mode 100644 index 000000000..d20532f99 --- /dev/null +++ b/libc/sysdeps/i386/i686/multiarch/strncase.S @@ -0,0 +1,68 @@ +/* Entry point for multi-version x86 strncasecmp. + Copyright (C) 2011 Free Software Foundation, Inc. + This file is part of the GNU C Library. + + The GNU C Library is free software; you can redistribute it and/or + modify it under the terms of the GNU Lesser General Public + License as published by the Free Software Foundation; either + version 2.1 of the License, or (at your option) any later version. + + The GNU C Library is distributed in the hope that it will be useful, + but WITHOUT ANY WARRANTY; without even the implied warranty of + MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU + Lesser General Public License for more details. + + You should have received a copy of the GNU Lesser General Public + License along with the GNU C Library; if not, write to the Free + Software Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA + 02111-1307 USA. */ + +#include <sysdep.h> +#include <init-arch.h> + +#ifdef SHARED + .text +ENTRY(__strncasecmp) + .type __strncasecmp, @gnu_indirect_function + pushl %ebx + cfi_adjust_cfa_offset (4) + cfi_rel_offset (ebx, 0) + call __i686.get_pc_thunk.bx + addl $_GLOBAL_OFFSET_TABLE_, %ebx + cmpl $0, KIND_OFFSET+__cpu_features@GOTOFF(%ebx) + jne 1f + call __init_cpu_features +1: leal __strncasecmp_ia32@GOTOFF(%ebx), %eax + testl $bit_SSSE3, CPUID_OFFSET+index_SSSE3+__cpu_features@GOTOFF(%ebx) + jz 2f + leal __strncasecmp_ssse3@GOTOFF(%ebx), %eax + testl $bit_SSE4_2, CPUID_OFFSET+index_SSE4_2+__cpu_features@GOTOFF(%ebx) + jz 2f + leal __strncasecmp_sse4_2@GOTOFF(%ebx), %eax +2: popl %ebx + cfi_adjust_cfa_offset (-4) + cfi_restore (ebx) + ret +END(__strncasecmp) +#else + .text +ENTRY(__strncasecmp) + .type __strncasecmp, @gnu_indirect_function + cmpl $0, KIND_OFFSET+__cpu_features + jne 1f + call __init_cpu_features +1: leal __strncasecmp_ia32, %eax + testl $bit_SSSE3, CPUID_OFFSET+index_SSSE3+__cpu_features + jz 2f + leal __strncasecmp_ssse3, %eax +#if 0 + // XXX Temporarily + testl $bit_SSE4_2, CPUID_OFFSET+index_SSE4_2+__cpu_features + jz 2f + leal __strncasecmp_sse4_2, %eax +#endif +2: ret +END(__strncasecmp) +#endif + +weak_alias (__strncasecmp, strncasecmp) diff --git a/libc/sysdeps/i386/i686/multiarch/strncase_l-c.c b/libc/sysdeps/i386/i686/multiarch/strncase_l-c.c new file mode 100644 index 000000000..0c68b8d1c --- /dev/null +++ b/libc/sysdeps/i386/i686/multiarch/strncase_l-c.c @@ -0,0 +1,11 @@ +#include <string.h> + +extern __typeof (strncasecmp_l) __strncasecmp_l_nonascii; + +#define __strncasecmp_l __strncasecmp_l_nonascii +#define USE_IN_EXTENDED_LOCALE_MODEL 1 +#include <string/strncase.c> + +/* The needs of strcasecmp in libc are minimal, no need to go through + the IFUNC. */ +strong_alias (__strncasecmp_l_nonascii, __GI___strncasecmp_l) diff --git a/libc/sysdeps/i386/i686/multiarch/strncase_l-sse4.S b/libc/sysdeps/i386/i686/multiarch/strncase_l-sse4.S new file mode 100644 index 000000000..557210832 --- /dev/null +++ b/libc/sysdeps/i386/i686/multiarch/strncase_l-sse4.S @@ -0,0 +1,2 @@ +#define USE_AS_STRNCASECMP_L 1 +#include "strcmp-sse4.S" diff --git a/libc/sysdeps/i386/i686/multiarch/strncase_l-ssse3.S b/libc/sysdeps/i386/i686/multiarch/strncase_l-ssse3.S new file mode 100644 index 000000000..d438a1ae3 --- /dev/null +++ b/libc/sysdeps/i386/i686/multiarch/strncase_l-ssse3.S @@ -0,0 +1,2 @@ +#define USE_AS_STRNCASECMP_L 1 +#include "strcmp-ssse3.S" diff --git a/libc/sysdeps/i386/i686/multiarch/strncase_l.S b/libc/sysdeps/i386/i686/multiarch/strncase_l.S new file mode 100644 index 000000000..a808c8cd7 --- /dev/null +++ b/libc/sysdeps/i386/i686/multiarch/strncase_l.S @@ -0,0 +1,5 @@ +#define STRCMP __strncasecmp_l +#define USE_AS_STRNCASECMP_L +#include "strcmp.S" + +weak_alias (__strncasecmp_l, strncasecmp_l) diff --git a/libc/sysdeps/i386/i686/multiarch/strnlen-c.c b/libc/sysdeps/i386/i686/multiarch/strnlen-c.c index 567af2c81..f02465d6a 100644 --- a/libc/sysdeps/i386/i686/multiarch/strnlen-c.c +++ b/libc/sysdeps/i386/i686/multiarch/strnlen-c.c @@ -1,6 +1,6 @@ -#ifndef NOT_IN_libc -# define STRNLEN __strnlen_ia32 -# undef libc_hidden_builtin_def +#define STRNLEN __strnlen_ia32 +#ifdef SHARED +# undef libc_hidden_def # define libc_hidden_def(name) \ __hidden_ver1 (__strnlen_ia32, __GI_strnlen, __strnlen_ia32); #endif diff --git a/libc/sysdeps/i386/i686/multiarch/wcscmp-c.c b/libc/sysdeps/i386/i686/multiarch/wcscmp-c.c index 9592455d0..165c56afb 100644 --- a/libc/sysdeps/i386/i686/multiarch/wcscmp-c.c +++ b/libc/sysdeps/i386/i686/multiarch/wcscmp-c.c @@ -1,10 +1,12 @@ -#ifndef NOT_IN_libc - -# define WCSCMP __wcscmp_ia32 +#include <wchar.h> +#define WCSCMP __wcscmp_ia32 +#ifdef SHARED # undef libc_hidden_def # define libc_hidden_def(name) \ __hidden_ver1 (__wcscmp_ia32, __GI_wcscmp, __wcscmp_ia32); #endif +extern __typeof (wcscmp) __wcscmp_ia32; + #include "wcsmbs/wcscmp.c" diff --git a/libc/sysdeps/i386/i686/multiarch/wcslen-c.c b/libc/sysdeps/i386/i686/multiarch/wcslen-c.c index 49f32a25e..8cebfea0e 100644 --- a/libc/sysdeps/i386/i686/multiarch/wcslen-c.c +++ b/libc/sysdeps/i386/i686/multiarch/wcslen-c.c @@ -1,5 +1,9 @@ +#include <wchar.h> + #ifndef NOT_IN_libc # define WCSLEN __wcslen_ia32 #endif +extern __typeof (wcslen) __wcslen_ia32; + #include "wcsmbs/wcslen.c" diff --git a/libc/sysdeps/i386/i686/multiarch/wmemcmp-c.c b/libc/sysdeps/i386/i686/multiarch/wmemcmp-c.c index 94ff6151f..bd37660fc 100644 --- a/libc/sysdeps/i386/i686/multiarch/wmemcmp-c.c +++ b/libc/sysdeps/i386/i686/multiarch/wmemcmp-c.c @@ -1,5 +1,9 @@ +#include <wchar.h> + #ifndef NOT_IN_libc # define WMEMCMP __wmemcmp_ia32 #endif +extern __typeof (wmemcmp) __wmemcmp_ia32; + #include "wcsmbs/wmemcmp.c" diff --git a/libc/sysdeps/ieee754/dbl-64/mpsqrt.c b/libc/sysdeps/ieee754/dbl-64/mpsqrt.c index d1a80f909..f007cab5d 100644 --- a/libc/sysdeps/ieee754/dbl-64/mpsqrt.c +++ b/libc/sysdeps/ieee754/dbl-64/mpsqrt.c @@ -51,7 +51,7 @@ static double fastiroot(double); void SECTION __mpsqrt(mp_no *x, mp_no *y, int p) { - int i,m,ex,ey; + int i,m,ey; double dx,dy; mp_no mphalf = {0,{0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0, @@ -66,7 +66,7 @@ __mpsqrt(mp_no *x, mp_no *y, int p) { mphalf.e =0; mphalf.d[0] =ONE; mphalf.d[1] =HALFRAD; mp3halfs.e=1; mp3halfs.d[0]=ONE; mp3halfs.d[1]=ONE; mp3halfs.d[2]=HALFRAD; - ex=EX; ey=EX/2; __cpy(x,&mpxn,p); mpxn.e -= (ey+ey); + ey=EX/2; __cpy(x,&mpxn,p); mpxn.e -= (ey+ey); __mp_dbl(&mpxn,&dx,p); dy=fastiroot(dx); __dbl_mp(dy,&mpu,p); __mul(&mpxn,&mphalf,&mpz,p); diff --git a/libc/sysdeps/ieee754/dbl-64/s_sin.c b/libc/sysdeps/ieee754/dbl-64/s_sin.c index 6f19f158f..5183e55e8 100644 --- a/libc/sysdeps/ieee754/dbl-64/s_sin.c +++ b/libc/sysdeps/ieee754/dbl-64/s_sin.c @@ -138,7 +138,7 @@ __sin(double x){ cor=(ssn+s*ccs-sn*c)+cs*s; res=sn+cor; cor=(sn-res)+cor; - return (res==res+1.025*cor)? res : slow1(x); + return (res==res+1.096*cor)? res : slow1(x); } /* else if (k < 0x3feb6000) */ /*----------------------- 0.855469 <|x|<2.426265 ----------------------*/ diff --git a/libc/sysdeps/ieee754/ldbl-96/e_hypotl.c b/libc/sysdeps/ieee754/ldbl-96/e_hypotl.c index a59320b06..5e0b37ec0 100644 --- a/libc/sysdeps/ieee754/ldbl-96/e_hypotl.c +++ b/libc/sysdeps/ieee754/ldbl-96/e_hypotl.c @@ -70,7 +70,8 @@ k=0; if(__builtin_expect(ea > 0x5f3f,0)) { /* a>2**8000 */ if(ea == 0x7fff) { /* Inf or NaN */ - u_int32_t exp,high,low; + u_int32_t exp __attribute__ ((unused)); + u_int32_t high,low; w = a+b; /* for sNaN */ GET_LDOUBLE_WORDS(exp,high,low,a); if(((high&0x7fffffff)|low)==0) w = a; @@ -85,7 +86,8 @@ } if(__builtin_expect(eb < 0x20bf, 0)) { /* b < 2**-8000 */ if(eb == 0) { /* subnormal b or 0 */ - u_int32_t exp,high,low; + u_int32_t exp __attribute__ ((unused)); + u_int32_t high,low; GET_LDOUBLE_WORDS(exp,high,low,b); if((high|low)==0) return a; SET_LDOUBLE_WORDS(t1, 0x7ffd, 0, 0); /* t1=2^16382 */ diff --git a/libc/sysdeps/ieee754/ldbl-96/e_j0l.c b/libc/sysdeps/ieee754/ldbl-96/e_j0l.c index abf4f109f..325408d5d 100644 --- a/libc/sysdeps/ieee754/ldbl-96/e_j0l.c +++ b/libc/sysdeps/ieee754/ldbl-96/e_j0l.c @@ -108,9 +108,9 @@ __ieee754_j0l (long double x) { long double z, s, c, ss, cc, r, u, v; int32_t ix; - u_int32_t se, i0, i1; + u_int32_t se; - GET_LDOUBLE_WORDS (se, i0, i1, x); + GET_LDOUBLE_EXP (se, x); ix = se & 0x7fff; if (__builtin_expect (ix >= 0x7fff, 0)) return one / (x * x); diff --git a/libc/sysdeps/ieee754/ldbl-96/e_j1l.c b/libc/sysdeps/ieee754/ldbl-96/e_j1l.c index 369fd830f..d7fcc9b44 100644 --- a/libc/sysdeps/ieee754/ldbl-96/e_j1l.c +++ b/libc/sysdeps/ieee754/ldbl-96/e_j1l.c @@ -110,9 +110,9 @@ __ieee754_j1l (long double x) { long double z, c, r, s, ss, cc, u, v, y; int32_t ix; - u_int32_t se, i0, i1; + u_int32_t se; - GET_LDOUBLE_WORDS (se, i0, i1, x); + GET_LDOUBLE_EXP (se, x); ix = se & 0x7fff; if (__builtin_expect (ix >= 0x7fff, 0)) return one / x; diff --git a/libc/sysdeps/posix/getaddrinfo.c b/libc/sysdeps/posix/getaddrinfo.c index a5aafe93a..1a023f91f 100644 --- a/libc/sysdeps/posix/getaddrinfo.c +++ b/libc/sysdeps/posix/getaddrinfo.c @@ -1958,7 +1958,7 @@ gaiconf_init (void) size_t nscopelist = 0; bool scopelist_nullbits = false; - FILE *fp = fopen (GAICONF_FNAME, "rc"); + FILE *fp = fopen (GAICONF_FNAME, "rce"); if (fp != NULL) { struct stat64 st; @@ -2386,7 +2386,7 @@ getaddrinfo (const char *name, const char *service, || (hints->ai_family == PF_INET6 && ! seen_ipv6)) { /* We cannot possibly return a valid answer. */ - free (in6ai); + __free_in6ai (in6ai); return EAI_NONAME; } } @@ -2400,7 +2400,7 @@ getaddrinfo (const char *name, const char *service, { if (hints->ai_flags & AI_NUMERICSERV) { - free (in6ai); + __free_in6ai (in6ai); return EAI_NONAME; } @@ -2422,7 +2422,7 @@ getaddrinfo (const char *name, const char *service, if (last_i != 0) { freeaddrinfo (p); - free (in6ai); + __free_in6ai (in6ai); return -(last_i & GAIH_EAI); } @@ -2434,7 +2434,7 @@ getaddrinfo (const char *name, const char *service, } else { - free (in6ai); + __free_in6ai (in6ai); return EAI_FAMILY; } @@ -2622,7 +2622,7 @@ getaddrinfo (const char *name, const char *service, p->ai_canonname = canonname; } - free (in6ai); + __free_in6ai (in6ai); if (p) { diff --git a/libc/sysdeps/powerpc/fpu/e_sqrt.c b/libc/sysdeps/powerpc/fpu/e_sqrt.c index f9ded2571..d59bd08d5 100644 --- a/libc/sysdeps/powerpc/fpu/e_sqrt.c +++ b/libc/sysdeps/powerpc/fpu/e_sqrt.c @@ -154,6 +154,7 @@ __slow_ieee754_sqrt (double x) return f_wash (x); } +#undef __ieee754_sqrt double __ieee754_sqrt (double x) { diff --git a/libc/sysdeps/powerpc/fpu/e_sqrtf.c b/libc/sysdeps/powerpc/fpu/e_sqrtf.c index 965faee84..9c6b860c9 100644 --- a/libc/sysdeps/powerpc/fpu/e_sqrtf.c +++ b/libc/sysdeps/powerpc/fpu/e_sqrtf.c @@ -130,7 +130,7 @@ __slow_ieee754_sqrtf (float x) return f_washf (x); } - +#undef __ieee754_sqrtf float __ieee754_sqrtf (float x) { diff --git a/libc/sysdeps/powerpc/fpu/math_private.h b/libc/sysdeps/powerpc/fpu/math_private.h index 90021c6d3..c4dd217d1 100644 --- a/libc/sysdeps/powerpc/fpu/math_private.h +++ b/libc/sysdeps/powerpc/fpu/math_private.h @@ -1,5 +1,5 @@ /* Private inline math functions for powerpc. - Copyright (C) 2006 + Copyright (C) 2006, 2011 Free Software Foundation, Inc. This file is part of the GNU C Library. @@ -25,12 +25,145 @@ #include <ldsodefs.h> #include <dl-procinfo.h> +#include <math/math_private.h> + # if __WORDSIZE == 64 || defined _ARCH_PWR4 # define __CPU_HAS_FSQRT 1 + +#ifndef __ieee754_sqrt +# define __ieee754_sqrt(x) \ + ({ double __z; \ + __asm __volatile ( \ + " fsqrt %0,%1\n" \ + : "=f" (__z) \ + : "f"(x)); \ + __z; }) +#endif +#ifndef __ieee754_sqrtf +# define __ieee754_sqrtf(x) \ + ({ float __z; \ + __asm __volatile ( \ + " fsqrts %0,%1\n" \ + : "=f" (__z) \ + : "f"(x)); \ + __z; }) +#endif + # else # define __CPU_HAS_FSQRT ((GLRO(dl_hwcap) & PPC_FEATURE_64) != 0) +# endif // __WORDSIZE == 64 || defined _ARCH_PWR4 + + +#if defined _ARCH_PWR5X + +# ifndef __round +# define __round(x) \ + ({ double __z; \ + __asm __volatile ( \ + " frin %0,%1\n" \ + : "=f" (__z) \ + : "f" (x)); \ + __z; }) +# endif +# ifndef __roundf +# define __roundf(x) \ + ({ float __z; \ + __asm __volatile ( \ + " frin %0,%1\n" \ + " frsp %0,%0\n" \ + : "=f" (__z) \ + : "f" (x)); \ + __z; }) +# endif + +# ifndef __trunc +# define __trunc(x) \ + ({ double __z; \ + __asm __volatile ( \ + " friz %0,%1\n" \ + : "=f" (__z) \ + : "f" (x)); \ + __z; }) +# endif +# ifndef __truncf +# define __truncf(x) \ + ({ float __z; \ + __asm __volatile ( \ + " friz %0,%1\n" \ + " frsp %0,%0\n" \ + : "=f" (__z) \ + : "f" (x)); \ + __z; }) +# endif + +# ifndef __ceil +# define __ceil(x) \ + ({ double __z; \ + __asm __volatile ( \ + " frip %0,%1\n" \ + : "=f" (__z) \ + : "f" (x)); \ + __z; }) +# endif +# ifndef __ceilf +# define __ceilf(x) \ + ({ float __z; \ + __asm __volatile ( \ + " frip %0,%1\n" \ + " frsp %0,%0\n" \ + : "=f" (__z) \ + : "f" (x)); \ + __z; }) # endif +# ifndef __floor +# define __floor(x) \ + ({ double __z; \ + __asm __volatile ( \ + " frim %0,%1\n" \ + : "=f" (__z) \ + : "f" (x)); \ + __z; }) +# endif +# ifndef __floorf +# define __floorf(x) \ + ({ float __z; \ + __asm __volatile ( \ + " frim %0,%1\n" \ + " frsp %0,%0\n" \ + : "=f" (__z) \ + : "f" (x)); \ + __z; }) +# endif + +#endif /* defined _ARCH_PWR5X */ + + +#if defined _ARCH_PWR6 + +# ifndef __copysign +# define __copysign(x, y) \ + ({ double __z; \ + __asm __volatile ( \ + " fcpsgn %0,%1,%2\n" \ + : "=f" (__z) \ + : "f" (y), "f" (x)); \ + __z; }) +# endif +# ifndef __copysignf +# define __copysignf(x, y) \ + ({ float __z; \ + __asm __volatile ( \ + " fcpsgn %0,%1,%2\n" \ + " frsp %0,%0\n" \ + : "=f" (__z) \ + : "f" (y), "f" (x)); \ + __z; }) +# endif + +#endif /* defined _ARCH_PWR6 */ + + # ifndef __LIBC_INTERNAL_MATH_INLINES extern double __slow_ieee754_sqrt (double); __inline double @@ -78,6 +211,4 @@ __ieee754_sqrtf (float __x) } #endif /* __LIBC_INTERNAL_MATH_INLINES */ -#include <math/math_private.h> - #endif /* _PPC_MATH_PRIVATE_H_ */ diff --git a/libc/sysdeps/powerpc/powerpc64/fpu/e_sqrt.c b/libc/sysdeps/powerpc/powerpc64/fpu/e_sqrt.c index 314abba3b..66d04ceb7 100644 --- a/libc/sysdeps/powerpc/powerpc64/fpu/e_sqrt.c +++ b/libc/sysdeps/powerpc/powerpc64/fpu/e_sqrt.c @@ -20,6 +20,7 @@ #include <math.h> #include <math_private.h> +#undef __ieee754_sqrt double __ieee754_sqrt (double x) { diff --git a/libc/sysdeps/powerpc/powerpc64/fpu/e_sqrtf.c b/libc/sysdeps/powerpc/powerpc64/fpu/e_sqrtf.c index 715721439..847a2e4ad 100644 --- a/libc/sysdeps/powerpc/powerpc64/fpu/e_sqrtf.c +++ b/libc/sysdeps/powerpc/powerpc64/fpu/e_sqrtf.c @@ -20,6 +20,7 @@ #include <math.h> #include <math_private.h> +#undef __ieee754_sqrtf float __ieee754_sqrtf (float x) { diff --git a/libc/sysdeps/unix/clock_gettime.c b/libc/sysdeps/unix/clock_gettime.c index d467f2b78..b4355d463 100644 --- a/libc/sysdeps/unix/clock_gettime.c +++ b/libc/sysdeps/unix/clock_gettime.c @@ -113,7 +113,7 @@ clock_gettime (clockid_t clock_id, struct timespec *tp) default: #ifdef SYSDEP_GETTIME_CPU - retval = SYSDEP_GETTIME_CPU (clock_id, tp); + SYSDEP_GETTIME_CPU (clock_id, tp); #endif #if HP_TIMING_AVAIL if ((clock_id & ((1 << CLOCK_IDFIELD_SIZE) - 1)) diff --git a/libc/sysdeps/unix/sysv/linux/Makefile b/libc/sysdeps/unix/sysv/linux/Makefile index 254d809e8..bd4fae2e5 100644 --- a/libc/sysdeps/unix/sysv/linux/Makefile +++ b/libc/sysdeps/unix/sysv/linux/Makefile @@ -162,6 +162,6 @@ CFLAGS-mq_receive.c += -fexceptions endif ifeq ($(subdir),nscd) -sysdep-CFLAGS += -DHAVE_EPOLL -DHAVE_SENDFILE -DHAVE_INOTIFY +sysdep-CFLAGS += -DHAVE_EPOLL -DHAVE_SENDFILE -DHAVE_INOTIFY -DHAVE_NETLINK CFLAGS-gai.c += -DNEED_NETLINK endif diff --git a/libc/sysdeps/unix/sysv/linux/Versions b/libc/sysdeps/unix/sysv/linux/Versions index 3a3e8e8c2..7f2f1b9ff 100644 --- a/libc/sysdeps/unix/sysv/linux/Versions +++ b/libc/sysdeps/unix/sysv/linux/Versions @@ -163,6 +163,9 @@ libc { sendmmsg; } + GLIBC_2.15 { + process_vm_readv; process_vm_writev; + } GLIBC_PRIVATE { # functions used in other libraries __syscall_rt_sigqueueinfo; diff --git a/libc/sysdeps/unix/sysv/linux/bits/uio.h b/libc/sysdeps/unix/sysv/linux/bits/uio.h index 6a283ed77..b2d77195c 100644 --- a/libc/sysdeps/unix/sysv/linux/bits/uio.h +++ b/libc/sysdeps/unix/sysv/linux/bits/uio.h @@ -1,4 +1,4 @@ -/* Copyright (C) 1996, 1997, 2006 Free Software Foundation, Inc. +/* Copyright (C) 1996, 1997, 2006, 2011 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 @@ -48,3 +48,28 @@ struct iovec }; #endif + +#if defined _SYS_UIO_H && !defined _BITS_UIO_H_FOR_SYS_UIO_H +#define _BITS_UIO_H_FOR_SYS_UIO_H 1 + +__BEGIN_DECLS + +/* Read from another process' address space. */ +extern ssize_t process_vm_readv (pid_t __pid, __const struct iovec *__lvec, + unsigned long int __liovcnt, + __const struct iovec *__rvec, + unsigned long int __riovcnt, + unsigned long int __flags) + __THROW; + +/* Write to another process' address space. */ +extern ssize_t process_vm_writev (pid_t __pid, __const struct iovec *__lvec, + unsigned long int __liovcnt, + __const struct iovec *__rvec, + unsigned long int __riovcnt, + unsigned long int __flags) + __THROW; + +__END_DECLS + +#endif diff --git a/libc/sysdeps/unix/sysv/linux/check_pf.c b/libc/sysdeps/unix/sysv/linux/check_pf.c index c053adcda..0738a7012 100644 --- a/libc/sysdeps/unix/sysv/linux/check_pf.c +++ b/libc/sysdeps/unix/sysv/linux/check_pf.c @@ -1,5 +1,5 @@ /* Determine protocol families for which interfaces exist. Linux version. - Copyright (C) 2003, 2006, 2007, 2008, 2010, 2011 Free Software Foundation, Inc. + Copyright (C) 2003, 2006-2008, 2010, 2011 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 @@ -33,6 +33,9 @@ #include <not-cancel.h> #include <kernel-features.h> +#include <bits/libc-lock.h> +#include <atomic.h> +#include <nscd/nscd-client.h> #ifndef IFA_F_HOMEADDRESS @@ -43,9 +46,42 @@ #endif -static int -make_request (int fd, pid_t pid, bool *seen_ipv4, bool *seen_ipv6, - struct in6addrinfo **in6ai, size_t *in6ailen) +struct cached_data +{ + uint32_t timestamp; + uint32_t usecnt; + bool seen_ipv4; + bool seen_ipv6; + size_t in6ailen; + struct in6addrinfo in6ai[0]; +}; + +static struct cached_data noai6ai_cached = + { + .usecnt = 1, /* Make sure we never try to delete this entry. */ + .in6ailen = 0 + }; + +static struct cached_data *cache; +__libc_lock_define_initialized (static, lock); + + +#ifdef IS_IN_nscd +static uint32_t nl_timestamp; + +uint32_t +__bump_nl_timestamp (void) +{ + if (atomic_increment_val (&nl_timestamp) == 0) + atomic_increment (&nl_timestamp); + + return nl_timestamp; +} +#endif + + +static struct cached_data * +make_request (int fd, pid_t pid) { struct req { @@ -99,9 +135,6 @@ make_request (int fd, pid_t pid, bool *seen_ipv4, bool *seen_ipv6, sizeof (nladdr))) < 0) goto out_fail; - *seen_ipv4 = false; - *seen_ipv6 = false; - bool done = false; struct in6ailist { @@ -109,6 +142,8 @@ make_request (int fd, pid_t pid, bool *seen_ipv4, bool *seen_ipv6, struct in6ailist *next; } *in6ailist = NULL; size_t in6ailistlen = 0; + bool seen_ipv4 = false; + bool seen_ipv6 = false; do { @@ -172,12 +207,12 @@ make_request (int fd, pid_t pid, bool *seen_ipv4, bool *seen_ipv6, { if (*(const in_addr_t *) address != htonl (INADDR_LOOPBACK)) - *seen_ipv4 = true; + seen_ipv4 = true; } else { if (!IN6_IS_ADDR_LOOPBACK (address)) - *seen_ipv6 = true; + seen_ipv6 = true; } } @@ -211,32 +246,47 @@ make_request (int fd, pid_t pid, bool *seen_ipv4, bool *seen_ipv6, } while (! done); - close_not_cancel_no_status (fd); - - if (*seen_ipv6 && in6ailist != NULL) + struct cached_data *result; + if (seen_ipv6 && in6ailist != NULL) { - *in6ai = malloc (in6ailistlen * sizeof (**in6ai)); - if (*in6ai == NULL) + result = malloc (sizeof (*result) + + in6ailistlen * sizeof (struct in6addrinfo)); + if (result == NULL) goto out_fail; - *in6ailen = in6ailistlen; +#ifdef IS_IN_nscd + result->timestamp = nl_timestamp; +#else + result->timestamp = __nscd_get_nl_timestamp (); +#endif + result->usecnt = 2; + result->seen_ipv4 = seen_ipv4; + result->seen_ipv6 = true; + result->in6ailen = in6ailistlen; do { - (*in6ai)[--in6ailistlen] = in6ailist->info; + result->in6ai[--in6ailistlen] = in6ailist->info; in6ailist = in6ailist->next; } while (in6ailist != NULL); } + else + { + atomic_add (&noai6ai_cached.usecnt, 2); + noai6ai_cached.seen_ipv4 = seen_ipv4; + noai6ai_cached.seen_ipv6 = seen_ipv6; + result = &noai6ai_cached; + } if (use_malloc) free (buf); - return 0; + return result; out_fail: if (use_malloc) free (buf); - return -1; + return NULL; } @@ -260,24 +310,66 @@ __check_pf (bool *seen_ipv4, bool *seen_ipv6, if (! __no_netlink_support) { - int fd = __socket (PF_NETLINK, SOCK_RAW, NETLINK_ROUTE); + struct cached_data *olddata = NULL; + struct cached_data *data = NULL; - struct sockaddr_nl nladdr; - memset (&nladdr, '\0', sizeof (nladdr)); - nladdr.nl_family = AF_NETLINK; + __libc_lock_lock (lock); - socklen_t addr_len = sizeof (nladdr); +#ifdef IS_IN_nscd +# define cache_valid() nl_timestamp != 0 && cache->timestamp == nl_timestamp +#else +# define cache_valid() \ + ({ uint32_t val = __nscd_get_nl_timestamp (); \ + val != 0 && cache->timestamp == val; }) +#endif + if (cache != NULL && cache_valid ()) + { + data = cache; + atomic_increment (&cache->usecnt); + } + else + { + int fd = __socket (PF_NETLINK, SOCK_RAW, NETLINK_ROUTE); - if (fd >= 0 - && __bind (fd, (struct sockaddr *) &nladdr, sizeof (nladdr)) == 0 - && __getsockname (fd, (struct sockaddr *) &nladdr, &addr_len) == 0 - && make_request (fd, nladdr.nl_pid, seen_ipv4, seen_ipv6, - in6ai, in6ailen) == 0) - /* It worked. */ - return; + if (__builtin_expect (fd >= 0, 1)) + { + struct sockaddr_nl nladdr; + memset (&nladdr, '\0', sizeof (nladdr)); + nladdr.nl_family = AF_NETLINK; - if (fd >= 0) - __close (fd); + socklen_t addr_len = sizeof (nladdr); + + if(__bind (fd, (struct sockaddr *) &nladdr, sizeof (nladdr)) == 0 + && __getsockname (fd, (struct sockaddr *) &nladdr, + &addr_len) == 0) + data = make_request (fd, nladdr.nl_pid); + + close_not_cancel_no_status (fd); + } + + if (data != NULL) + { + olddata = cache; + cache = data; + } + } + + __libc_lock_unlock (lock); + + if (data != NULL) + { + /* It worked. */ + *seen_ipv4 = data->seen_ipv4; + *seen_ipv6 = data->seen_ipv6; + *in6ailen = data->in6ailen; + *in6ai = data->in6ai; + + if (olddata != NULL && olddata->usecnt > 0 + && atomic_add_zero (&olddata->usecnt, -1)) + free (olddata); + + return; + } #if __ASSUME_NETLINK_SUPPORT == 0 /* Remember that there is no netlink support. */ @@ -315,3 +407,26 @@ __check_pf (bool *seen_ipv4, bool *seen_ipv6, (void) freeifaddrs (ifa); #endif } + + +void +__free_in6ai (struct in6addrinfo *ai) +{ + if (ai != NULL) + { + struct cached_data *data = + (struct cached_data *) ((char *) ai + - offsetof (struct cached_data, in6ai)); + + if (atomic_add_zero (&data->usecnt, -1)) + { + __libc_lock_lock (lock); + + if (data->usecnt == 0) + /* Still unused. */ + free (data); + + __libc_lock_unlock (lock); + } + } +} diff --git a/libc/sysdeps/unix/sysv/linux/clock_gettime.c b/libc/sysdeps/unix/sysv/linux/clock_gettime.c index 0ae45de37..ad0fe1e8b 100644 --- a/libc/sysdeps/unix/sysv/linux/clock_gettime.c +++ b/libc/sysdeps/unix/sysv/linux/clock_gettime.c @@ -45,8 +45,8 @@ /* This means the REALTIME and MONOTONIC clock are definitely supported in the kernel. */ -# define SYSDEP_GETTIME \ - SYSDEP_GETTIME_CPUTIME \ +# define SYSDEP_GETTIME \ + SYSDEP_GETTIME_CPUTIME; \ case CLOCK_REALTIME: \ case CLOCK_MONOTONIC: \ retval = SYSCALL_GETTIME (clock_id, tp); \ @@ -82,8 +82,8 @@ maybe_syscall_gettime (clockid_t clock_id, struct timespec *tp) /* The REALTIME and MONOTONIC clock might be available. Try the syscall first. */ -# define SYSDEP_GETTIME \ - SYSDEP_GETTIME_CPUTIME \ +# define SYSDEP_GETTIME \ + SYSDEP_GETTIME_CPUTIME; \ case CLOCK_REALTIME: \ case CLOCK_MONOTONIC: \ case CLOCK_MONOTONIC_RAW: \ @@ -100,7 +100,7 @@ maybe_syscall_gettime (clockid_t clock_id, struct timespec *tp) __set_errno (retval); \ retval = -1; \ } \ - break; + break #endif #ifdef __NR_clock_gettime @@ -110,7 +110,9 @@ maybe_syscall_gettime (clockid_t clock_id, struct timespec *tp) # if __ASSUME_POSIX_CPU_TIMERS > 0 -# define SYSDEP_GETTIME_CPU SYSCALL_GETTIME +# define SYSDEP_GETTIME_CPU(clock_id, tp) \ + retval = SYSCALL_GETTIME (clock_id, tp); \ + break # define SYSDEP_GETTIME_CPUTIME /* Default catches them too. */ # else @@ -164,7 +166,7 @@ maybe_syscall_gettime_cpu (clockid_t clock_id, struct timespec *tp) return e; } -# define SYSDEP_GETTIME_CPU \ +# define SYSDEP_GETTIME_CPU(clock_id, tp) \ retval = maybe_syscall_gettime_cpu (clock_id, tp); \ if (retval == 0) \ break; \ @@ -199,7 +201,7 @@ maybe_syscall_gettime_cputime (clockid_t clock_id, struct timespec *tp) break; \ } \ retval = hp_timing_gettime (clock_id, tp); \ - break; + break # if !HP_TIMING_AVAIL # define hp_timing_gettime(clock_id, tp) (__set_errno (EINVAL), -1) # endif diff --git a/libc/sysdeps/unix/sysv/linux/getsysstats.c b/libc/sysdeps/unix/sysv/linux/getsysstats.c index 7feb7a180..bde3fa899 100644 --- a/libc/sysdeps/unix/sysv/linux/getsysstats.c +++ b/libc/sysdeps/unix/sysv/linux/getsysstats.c @@ -296,7 +296,7 @@ phys_pages_info (const char *format) long int result = -1; /* If we haven't found an appropriate entry return 1. */ - FILE *fp = fopen ("/proc/meminfo", "rc"); + FILE *fp = fopen ("/proc/meminfo", "rce"); if (fp != NULL) { /* No threads use this stream. */ diff --git a/libc/sysdeps/unix/sysv/linux/internal_statvfs.c b/libc/sysdeps/unix/sysv/linux/internal_statvfs.c index 2ddec1edb..a0bad02d7 100644 --- a/libc/sysdeps/unix/sysv/linux/internal_statvfs.c +++ b/libc/sysdeps/unix/sysv/linux/internal_statvfs.c @@ -237,9 +237,13 @@ INTERNAL_STATVFS (const char *name, struct STATVFS *buf, buf->f_files = fsbuf->f_files; buf->f_ffree = fsbuf->f_ffree; if (sizeof (buf->f_fsid) == sizeof (fsbuf->f_fsid)) + /* The shifting uses 'unsigned long long int' even though the target + field might only have 32 bits. This is OK since the 'if' branch + is not used in this case but the compiler would still generate + warnings. */ buf->f_fsid = ((fsbuf->f_fsid.__val[0] - & ((1UL << (8 * sizeof (fsbuf->f_fsid.__val[0]))) - 1)) - | ((unsigned long int) fsbuf->f_fsid.__val[1] + & ((1ULL << (8 * sizeof (fsbuf->f_fsid.__val[0]))) - 1)) + | ((unsigned long long int) fsbuf->f_fsid.__val[1] << (8 * (sizeof (buf->f_fsid) - sizeof (fsbuf->f_fsid.__val[0]))))); else diff --git a/libc/sysdeps/unix/sysv/linux/readonly-area.c b/libc/sysdeps/unix/sysv/linux/readonly-area.c index 69e926a7a..ce8ac94c4 100644 --- a/libc/sysdeps/unix/sysv/linux/readonly-area.c +++ b/libc/sysdeps/unix/sysv/linux/readonly-area.c @@ -1,4 +1,4 @@ -/* Copyright (C) 2004, 2005 Free Software Foundation, Inc. +/* Copyright (C) 2004, 2005, 2011 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 @@ -32,7 +32,7 @@ __readonly_area (const char *ptr, size_t size) { const void *ptr_end = ptr + size; - FILE *fp = fopen ("/proc/self/maps", "rc"); + FILE *fp = fopen ("/proc/self/maps", "rce"); if (fp == NULL) { /* It is the system administrator's choice to not have /proc diff --git a/libc/sysdeps/unix/sysv/linux/syscalls.list b/libc/sysdeps/unix/sysv/linux/syscalls.list index 2bed9e99e..f6e6653d3 100644 --- a/libc/sysdeps/unix/sysv/linux/syscalls.list +++ b/libc/sysdeps/unix/sysv/linux/syscalls.list @@ -109,3 +109,6 @@ name_to_handle_at EXTRA name_to_handle_at i:isppi name_to_handle_at open_by_handle_at EXTRA open_by_handle_at Ci:ipi open_by_handle_at setns EXTRA setns i:ii setns + +process_vm_readv EXTRA process_vm_readv i:ipipii process_vm_readv +process_vm_writev EXTRA process_vm_writev i:ipipii process_vm_writev diff --git a/libc/sysdeps/unix/sysv/linux/x86_64/clock_gettime.c b/libc/sysdeps/unix/sysv/linux/x86_64/clock_gettime.c index 7802701e2..f7121106b 100644 --- a/libc/sysdeps/unix/sysv/linux/x86_64/clock_gettime.c +++ b/libc/sysdeps/unix/sysv/linux/x86_64/clock_gettime.c @@ -3,8 +3,14 @@ #ifdef SHARED # define SYSCALL_GETTIME(id, tp) \ ({ long int (*f) (clockid_t, struct timespec *) = __vdso_clock_gettime; \ + long int v_ret; \ PTR_DEMANGLE (f); \ - f (id, tp); }) + v_ret = f (id, tp); \ + if (INTERNAL_SYSCALL_ERROR_P (v_ret, )) { \ + __set_errno (INTERNAL_SYSCALL_ERRNO (v_ret, )); \ + v_ret = -1; \ + } \ + v_ret; }) # define INTERNAL_GETTIME(id, tp) \ ({ long int (*f) (clockid_t, struct timespec *) = __vdso_clock_gettime; \ PTR_DEMANGLE (f); \ diff --git a/libc/sysdeps/x86_64/fpu/multiarch/Makefile b/libc/sysdeps/x86_64/fpu/multiarch/Makefile index f97ce1699..be689036d 100644 --- a/libc/sysdeps/x86_64/fpu/multiarch/Makefile +++ b/libc/sysdeps/x86_64/fpu/multiarch/Makefile @@ -36,29 +36,18 @@ endif ifeq ($(config-cflags-avx),yes) libm-sysdep_routines += e_exp-avx e_log-avx s_atan-avx \ - e_asin-avx e_atan2-avx s_sin-avx s_tan-avx \ + e_atan2-avx s_sin-avx s_tan-avx \ mplog-avx mpa-avx slowexp-avx \ - sincos32-avx doasin-avx dosincos-avx \ - brandred-avx mpexp-avx \ - mpatan2-avx mpatan-avx mpsqrt-avx mptan-avx + mpexp-avx -CFLAGS-brandred-avx.c = -mavx -CFLAGS-doasin-avx.c = -mavx -CFLAGS-dosincos-avx.c = -mavx -CFLAGS-e_asin-avx.c = -mavx CFLAGS-e_atan2-avx.c = -mavx CFLAGS-e_exp-avx.c = -mavx CFLAGS-e_log-avx.c = -mavx CFLAGS-mpa-avx.c = -mavx -CFLAGS-mpatan-avx.c = -mavx -CFLAGS-mpatan2-avx.c = -mavx CFLAGS-mpexp-avx.c = -mavx CFLAGS-mplog-avx.c = -mavx -CFLAGS-mpsqrt-avx.c = -mavx -CFLAGS-mptan-avx.c = -mavx CFLAGS-s_atan-avx.c = -mavx CFLAGS-s_sin-avx.c = -mavx -CFLAGS-sincos32-avx.c = -mavx CFLAGS-slowexp-avx.c = -mavx CFLAGS-s_tan-avx.c = -mavx endif diff --git a/libc/sysdeps/x86_64/fpu/multiarch/brandred-avx.c b/libc/sysdeps/x86_64/fpu/multiarch/brandred-avx.c deleted file mode 100644 index 2f6edffad..000000000 --- a/libc/sysdeps/x86_64/fpu/multiarch/brandred-avx.c +++ /dev/null @@ -1,4 +0,0 @@ -#define __branred __branred_avx -#define SECTION __attribute__ ((section (".text.avx"))) - -#include <sysdeps/ieee754/dbl-64/branred.c> diff --git a/libc/sysdeps/x86_64/fpu/multiarch/doasin-avx.c b/libc/sysdeps/x86_64/fpu/multiarch/doasin-avx.c deleted file mode 100644 index 86781c156..000000000 --- a/libc/sysdeps/x86_64/fpu/multiarch/doasin-avx.c +++ /dev/null @@ -1,4 +0,0 @@ -#define __doasin __doasin_avx -#define SECTION __attribute__ ((section (".text.avx"))) - -#include <sysdeps/ieee754/dbl-64/doasin.c> diff --git a/libc/sysdeps/x86_64/fpu/multiarch/dosincos-avx.c b/libc/sysdeps/x86_64/fpu/multiarch/dosincos-avx.c deleted file mode 100644 index ffa18743d..000000000 --- a/libc/sysdeps/x86_64/fpu/multiarch/dosincos-avx.c +++ /dev/null @@ -1,6 +0,0 @@ -#define __docos __docos_avx -#define __dubcos __dubcos_avx -#define __dubsin __dubsin_avx -#define SECTION __attribute__ ((section (".text.avx"))) - -#include <sysdeps/ieee754/dbl-64/dosincos.c> diff --git a/libc/sysdeps/x86_64/fpu/multiarch/e_asin-avx.c b/libc/sysdeps/x86_64/fpu/multiarch/e_asin-avx.c deleted file mode 100644 index 7f89e4f14..000000000 --- a/libc/sysdeps/x86_64/fpu/multiarch/e_asin-avx.c +++ /dev/null @@ -1,11 +0,0 @@ -#define __ieee754_acos __ieee754_acos_avx -#define __ieee754_asin __ieee754_asin_avx -#define __cos32 __cos32_avx -#define __doasin __doasin_avx -#define __docos __docos_avx -#define __dubcos __dubcos_avx -#define __dubsin __dubsin_avx -#define __sin32 __sin32_avx -#define SECTION __attribute__ ((section (".text.avx"))) - -#include <sysdeps/ieee754/dbl-64/e_asin.c> diff --git a/libc/sysdeps/x86_64/fpu/multiarch/e_asin.c b/libc/sysdeps/x86_64/fpu/multiarch/e_asin.c index bb711b1ff..e742a9c13 100644 --- a/libc/sysdeps/x86_64/fpu/multiarch/e_asin.c +++ b/libc/sysdeps/x86_64/fpu/multiarch/e_asin.c @@ -1,29 +1,18 @@ -#if defined HAVE_FMA4_SUPPORT || defined HAVE_AVX_SUPPORT +#ifdef HAVE_FMA4_SUPPORT # include <init-arch.h> # include <math_private.h> extern double __ieee754_acos_sse2 (double); extern double __ieee754_asin_sse2 (double); -extern double __ieee754_acos_avx (double); -extern double __ieee754_asin_avx (double); -# ifdef HAVE_FMA4_SUPPORT extern double __ieee754_acos_fma4 (double); extern double __ieee754_asin_fma4 (double); -# else -# undef HAS_FMA4 -# define HAS_FMA4 0 -# define __ieee754_acos_fma4 ((void *) 0) -# define __ieee754_asin_fma4 ((void *) 0) -# endif libm_ifunc (__ieee754_acos, - HAS_FMA4 ? __ieee754_acos_fma4 - : (HAS_AVX ? __ieee754_acos_avx : __ieee754_acos_sse2)); + HAS_FMA4 ? __ieee754_acos_fma4 : __ieee754_acos_sse2); strong_alias (__ieee754_acos, __acos_finite) libm_ifunc (__ieee754_asin, - HAS_FMA4 ? __ieee754_asin_fma4 - : (HAS_AVX ? __ieee754_asin_avx : __ieee754_asin_sse2)); + HAS_FMA4 ? __ieee754_asin_fma4 : __ieee754_asin_sse2); strong_alias (__ieee754_asin, __asin_finite) # define __ieee754_acos __ieee754_acos_sse2 diff --git a/libc/sysdeps/x86_64/fpu/multiarch/e_atan2-avx.c b/libc/sysdeps/x86_64/fpu/multiarch/e_atan2-avx.c index 13155c87d..3012afac3 100644 --- a/libc/sysdeps/x86_64/fpu/multiarch/e_atan2-avx.c +++ b/libc/sysdeps/x86_64/fpu/multiarch/e_atan2-avx.c @@ -2,7 +2,6 @@ #define __add __add_avx #define __dbl_mp __dbl_mp_avx #define __dvd __dvd_avx -#define __mpatan2 __mpatan2_avx #define __mul __mul_avx #define __sub __sub_avx #define SECTION __attribute__ ((section (".text.avx"))) diff --git a/libc/sysdeps/x86_64/fpu/multiarch/mpatan-avx.c b/libc/sysdeps/x86_64/fpu/multiarch/mpatan-avx.c deleted file mode 100644 index e26e1fa3e..000000000 --- a/libc/sysdeps/x86_64/fpu/multiarch/mpatan-avx.c +++ /dev/null @@ -1,10 +0,0 @@ -#define __mpatan __mpatan_avx -#define __add __add_avx -#define __dvd __dvd_avx -#define __mpsqrt __mpsqrt_avx -#define __mul __mul_avx -#define __sub __sub_avx -#define AVOID_MPATAN_H 1 -#define SECTION __attribute__ ((section (".text.avx"))) - -#include <sysdeps/ieee754/dbl-64/mpatan.c> diff --git a/libc/sysdeps/x86_64/fpu/multiarch/mpatan2-avx.c b/libc/sysdeps/x86_64/fpu/multiarch/mpatan2-avx.c deleted file mode 100644 index fa824d69b..000000000 --- a/libc/sysdeps/x86_64/fpu/multiarch/mpatan2-avx.c +++ /dev/null @@ -1,9 +0,0 @@ -#define __mpatan2 __mpatan2_avx -#define __add __add_avx -#define __dvd __dvd_avx -#define __mpatan __mpatan_avx -#define __mpsqrt __mpsqrt_avx -#define __mul __mul_avx -#define SECTION __attribute__ ((section (".text.avx"))) - -#include <sysdeps/ieee754/dbl-64/mpatan2.c> diff --git a/libc/sysdeps/x86_64/fpu/multiarch/mpsqrt-avx.c b/libc/sysdeps/x86_64/fpu/multiarch/mpsqrt-avx.c deleted file mode 100644 index 26f2fb30f..000000000 --- a/libc/sysdeps/x86_64/fpu/multiarch/mpsqrt-avx.c +++ /dev/null @@ -1,8 +0,0 @@ -#define __mpsqrt __mpsqrt_avx -#define __dbl_mp __dbl_mp_avx -#define __mul __mul_avx -#define __sub __sub_avx -#define AVOID_MPSQRT_H 1 -#define SECTION __attribute__ ((section (".text.avx"))) - -#include <sysdeps/ieee754/dbl-64/mpsqrt.c> diff --git a/libc/sysdeps/x86_64/fpu/multiarch/mptan-avx.c b/libc/sysdeps/x86_64/fpu/multiarch/mptan-avx.c deleted file mode 100644 index 02514b783..000000000 --- a/libc/sysdeps/x86_64/fpu/multiarch/mptan-avx.c +++ /dev/null @@ -1,7 +0,0 @@ -#define __mptan __mptan_avx -#define __c32 __c32_avx -#define __dvd __dvd_avx -#define __mpranred __mpranred_avx -#define SECTION __attribute__ ((section (".text.avx"))) - -#include <sysdeps/ieee754/dbl-64/mptan.c> diff --git a/libc/sysdeps/x86_64/fpu/multiarch/s_atan-avx.c b/libc/sysdeps/x86_64/fpu/multiarch/s_atan-avx.c index 8e7022f51..b5cb9c3a7 100644 --- a/libc/sysdeps/x86_64/fpu/multiarch/s_atan-avx.c +++ b/libc/sysdeps/x86_64/fpu/multiarch/s_atan-avx.c @@ -1,7 +1,6 @@ #define atan __atan_avx #define __add __add_avx #define __dbl_mp __dbl_mp_avx -#define __mpatan __mpatan_avx #define __mul __mul_avx #define __sub __sub_avx #define SECTION __attribute__ ((section (".text.avx"))) diff --git a/libc/sysdeps/x86_64/fpu/multiarch/s_sin-avx.c b/libc/sysdeps/x86_64/fpu/multiarch/s_sin-avx.c index c0ccf4be7..e1c6de025 100644 --- a/libc/sysdeps/x86_64/fpu/multiarch/s_sin-avx.c +++ b/libc/sysdeps/x86_64/fpu/multiarch/s_sin-avx.c @@ -1,12 +1,5 @@ #define __cos __cos_avx #define __sin __sin_avx -#define __branred __branred_avx -#define __docos __docos_avx -#define __dubsin __dubsin_avx -#define __mpcos __mpcos_avx -#define __mpcos1 __mpcos1_avx -#define __mpsin __mpsin_avx -#define __mpsin1 __mpsin1_avx #define SECTION __attribute__ ((section (".text.avx"))) #include <sysdeps/ieee754/dbl-64/s_sin.c> diff --git a/libc/sysdeps/x86_64/fpu/multiarch/s_tan-avx.c b/libc/sysdeps/x86_64/fpu/multiarch/s_tan-avx.c index f31ff65b6..53de5d3c9 100644 --- a/libc/sysdeps/x86_64/fpu/multiarch/s_tan-avx.c +++ b/libc/sysdeps/x86_64/fpu/multiarch/s_tan-avx.c @@ -1,8 +1,5 @@ #define tan __tan_avx -#define __branred __branred_avx #define __dbl_mp __dbl_mp_avx -#define __mpranred __mpranred_avx -#define __mptan __mptan_avx #define __sub __sub_avx #define SECTION __attribute__ ((section (".text.avx"))) diff --git a/libc/sysdeps/x86_64/fpu/multiarch/sincos32-avx.c b/libc/sysdeps/x86_64/fpu/multiarch/sincos32-avx.c deleted file mode 100644 index 5af51ab38..000000000 --- a/libc/sysdeps/x86_64/fpu/multiarch/sincos32-avx.c +++ /dev/null @@ -1,15 +0,0 @@ -#define __cos32 __cos32_avx -#define __sin32 __sin32_avx -#define __c32 __c32_avx -#define __mpsin __mpsin_avx -#define __mpsin1 __mpsin1_avx -#define __mpcos __mpcos_avx -#define __mpcos1 __mpcos1_avx -#define __mpranred __mpranred_avx -#define __add __add_avx -#define __dbl_mp __dbl_mp_avx -#define __mul __mul_avx -#define __sub __sub_avx -#define SECTION __attribute__ ((section (".text.avx"))) - -#include <sysdeps/ieee754/dbl-64/sincos32.c> diff --git a/libc/sysdeps/x86_64/multiarch/strcmp-sse42.S b/libc/sysdeps/x86_64/multiarch/strcmp-sse42.S index b93eda13b..7a50ff05d 100644 --- a/libc/sysdeps/x86_64/multiarch/strcmp-sse42.S +++ b/libc/sysdeps/x86_64/multiarch/strcmp-sse42.S @@ -104,7 +104,7 @@ STRCMP_SSE42: # else movq (%rdx), %rax # endif - testl $0, LOCALE_DATA_VALUES+_NL_CTYPE_NONASCII_CASE*SIZEOF_VALUES(%rax) + testl $1, LOCALE_DATA_VALUES+_NL_CTYPE_NONASCII_CASE*SIZEOF_VALUES(%rax) jne __strcasecmp_l_nonascii #endif #ifdef USE_AS_STRNCASECMP_L @@ -115,7 +115,7 @@ STRCMP_SSE42: # else movq (%rcx), %rax # endif - testl $0, LOCALE_DATA_VALUES+_NL_CTYPE_NONASCII_CASE*SIZEOF_VALUES(%rax) + testl $1, LOCALE_DATA_VALUES+_NL_CTYPE_NONASCII_CASE*SIZEOF_VALUES(%rax) jne __strncasecmp_l_nonascii #endif diff --git a/libc/sysdeps/x86_64/multiarch/strstr.c b/libc/sysdeps/x86_64/multiarch/strstr.c index b408b752f..36dc6762c 100644 --- a/libc/sysdeps/x86_64/multiarch/strstr.c +++ b/libc/sysdeps/x86_64/multiarch/strstr.c @@ -1,5 +1,5 @@ /* strstr with SSE4.2 intrinsics - Copyright (C) 2009, 2010 Free Software Foundation, Inc. + Copyright (C) 2009, 2010, 2011 Free Software Foundation, Inc. Contributed by Intel Corporation. This file is part of the GNU C Library. @@ -88,14 +88,12 @@ cross to next page. */ static inline __m128i -__m128i_strloadu (const unsigned char * p) +__m128i_strloadu (const unsigned char * p, __m128i zero) { - int offset = ((size_t) p & (16 - 1)); - - if (offset && (int) ((size_t) p & 0xfff) > 0xff0) + if (__builtin_expect ((int) ((size_t) p & 0xfff) > 0xff0, 0)) { + size_t offset = ((size_t) p & (16 - 1)); __m128i a = _mm_load_si128 ((__m128i *) (p - offset)); - __m128i zero = _mm_setzero_si128 (); int bmsk = _mm_movemask_epi8 (_mm_cmpeq_epi8 (a, zero)); if ((bmsk >> offset) != 0) return __m128i_shift_right (a, offset); @@ -106,24 +104,22 @@ __m128i_strloadu (const unsigned char * p) #if defined USE_AS_STRCASESTR && !defined STRCASESTR_NONASCII /* Similar to __m128i_strloadu. Convert to lower case for POSIX/C - locale. */ + locale and other which have single-byte letters only in the ASCII + range. */ static inline __m128i -__m128i_strloadu_tolower (const unsigned char *p, __m128i rangeuc, - __m128i u2ldelta) +__m128i_strloadu_tolower (const unsigned char *p, __m128i zero, __m128i uclow, + __m128i uchigh, __m128i lcqword) { - __m128i frag = __m128i_strloadu (p); + __m128i frag = __m128i_strloadu (p, zero); -#define UCLOW 0x4040404040404040ULL -#define UCHIGH 0x5b5b5b5b5b5b5b5bULL -#define LCQWORD 0x2020202020202020ULL /* Compare if 'Z' > bytes. Inverted way to get a mask for byte <= 'Z'. */ - __m128i r2 = _mm_cmpgt_epi8 (_mm_set1_epi64x (UCHIGH), frag); + __m128i r2 = _mm_cmpgt_epi8 (uchigh, frag); /* Compare if bytes are > 'A' - 1. */ - __m128i r1 = _mm_cmpgt_epi8 (frag, _mm_set1_epi64x (UCLOW)); + __m128i r1 = _mm_cmpgt_epi8 (frag, uclow); /* Mask byte == ff if byte(r2) <= 'Z' and byte(r1) > 'A' - 1. */ __m128i mask = _mm_and_si128 (r2, r1); /* Apply lowercase bit 6 mask for above mask bytes == ff. */ - return _mm_or_si128 (frag, _mm_and_si128 (mask, _mm_set1_epi64x (LCQWORD))); + return _mm_or_si128 (frag, _mm_and_si128 (mask, lcqword)); } #endif @@ -190,14 +186,18 @@ STRSTR_SSE42 (const unsigned char *s1, const unsigned char *s2) != 0, 0)) return __strcasestr_sse42_nonascii (s1, s2); - const __m128i rangeuc = _mm_set_epi64x (0x0, 0x5a41); - const __m128i u2ldelta = _mm_set1_epi64x (0xe0e0e0e0e0e0e0e0); -# define strloadu(p) __m128i_strloadu_tolower (p, rangeuc, u2ldelta) + const __m128i uclow = _mm_set1_epi8 (0x40); + const __m128i uchigh = _mm_set1_epi8 (0x5b); + const __m128i lcqword = _mm_set1_epi8 (0x20); + const __m128i zero = _mm_setzero_si128 (); +# define strloadu(p) __m128i_strloadu_tolower (p, zero, uclow, uchigh, lcqword) # else # define strloadu __m128i_strloadu_tolower +# define zero _mm_setzero_si128 () # endif #else -# define strloadu __m128i_strloadu +# define strloadu(p) __m128i_strloadu (p, zero) + const __m128i zero = _mm_setzero_si128 (); #endif /* p1 > 1 byte long. Load up to 16 bytes of fragment. */ @@ -208,7 +208,7 @@ STRSTR_SSE42 (const unsigned char *s1, const unsigned char *s2) /* p2 is > 1 byte long. */ frag2 = strloadu (p2); else - frag2 = _mm_insert_epi8 (_mm_setzero_si128 (), LOADBYTE (p2[0]), 0); + frag2 = _mm_insert_epi8 (zero, LOADBYTE (p2[0]), 0); /* Unsigned bytes, equal order, does frag2 has null? */ int cmp_c = _mm_cmpistrc (frag2, frag1, 0x0c); @@ -217,8 +217,7 @@ STRSTR_SSE42 (const unsigned char *s1, const unsigned char *s2) int cmp_s = _mm_cmpistrs (frag2, frag1, 0x0c); if (cmp_s & cmp_c) { - int bmsk = _mm_movemask_epi8 (_mm_cmpeq_epi8 (frag2, - _mm_setzero_si128 ())); + int bmsk = _mm_movemask_epi8 (_mm_cmpeq_epi8 (frag2, zero)); int len; __asm ("bsfl %[bmsk], %[len]" : [len] "=r" (len) : [bmsk] "r" (bmsk)); @@ -344,7 +343,6 @@ re_trace: /* Handle both zero and sign flag set and s1 is shorter in length. */ - __m128i zero = _mm_setzero_si128 (); int bmsk = _mm_movemask_epi8 (_mm_cmpeq_epi8 (zero, frag2)); int bmsk1 = _mm_movemask_epi8 (_mm_cmpeq_epi8 (zero, frag1)); int len; diff --git a/libc/sysdeps/x86_64/strcmp.S b/libc/sysdeps/x86_64/strcmp.S index 165073e90..6e5bdaaf2 100644 --- a/libc/sysdeps/x86_64/strcmp.S +++ b/libc/sysdeps/x86_64/strcmp.S @@ -1,5 +1,5 @@ /* Highly optimized version for x86-64. - Copyright (C) 1999, 2000, 2002, 2003, 2005, 2009, 2010 + Copyright (C) 1999, 2000, 2002, 2003, 2005, 2009, 2010, 2011 Free Software Foundation, Inc. This file is part of the GNU C Library. Based on i686 version contributed by Ulrich Drepper @@ -157,7 +157,7 @@ END (BP_SYM (STRCMP)) # else movq (%rdx), %rax # endif - testl $0, LOCALE_DATA_VALUES+_NL_CTYPE_NONASCII_CASE*SIZEOF_VALUES(%rax) + testl $1, LOCALE_DATA_VALUES+_NL_CTYPE_NONASCII_CASE*SIZEOF_VALUES(%rax) jne __strcasecmp_l_nonascii # elif defined USE_AS_STRNCASECMP_L /* We have to fall back on the C implementation for locales @@ -167,7 +167,7 @@ END (BP_SYM (STRCMP)) # else movq (%rcx), %rax # endif - testl $0, LOCALE_DATA_VALUES+_NL_CTYPE_NONASCII_CASE*SIZEOF_VALUES(%rax) + testl $1, LOCALE_DATA_VALUES+_NL_CTYPE_NONASCII_CASE*SIZEOF_VALUES(%rax) jne __strncasecmp_l_nonascii # endif diff --git a/libc/time/getdate.c b/libc/time/getdate.c index cbaa41dfd..a95bad4c4 100644 --- a/libc/time/getdate.c +++ b/libc/time/getdate.c @@ -1,5 +1,5 @@ /* Convert a string representation of time to a time value. - Copyright (C) 1997,1998,1999,2000,2001,2003 Free Software Foundation, Inc. + Copyright (C) 1997-2001,2003,2011 Free Software Foundation, Inc. This file is part of the GNU C Library. Contributed by Mark Kettenis <kettenis@phys.uva.nl>, 1997. @@ -44,7 +44,7 @@ static int check_mday (int year, int mon, int mday); 6 memory allication failed (not enough memory available), 7 there is no line in the template that matches the input, 8 invalid input specification Example: February 31 or a time is - specified that can not be represented in a time_t (representing + specified that can not be represented in a time_t (representing the time in seconds since 00:00:00 UTC, January 1, 1970) */ int getdate_err; @@ -129,7 +129,7 @@ __getdate_r (const char *string, struct tm *tp) return 2; /* Open the template file. */ - fp = fopen (datemsk, "rc"); + fp = fopen (datemsk, "rce"); if (fp == NULL) return 2; diff --git a/libc/time/tzfile.c b/libc/time/tzfile.c index f4cba46e5..144e20ba2 100644 --- a/libc/time/tzfile.c +++ b/libc/time/tzfile.c @@ -1,4 +1,4 @@ -/* Copyright (C) 1991-1993,1995-2001,2003,2004,2006,2007,2009 +/* Copyright (C) 1991-1993,1995-2001,2003,2004,2006,2007,2009,2011 Free Software Foundation, Inc. This file is part of the GNU C Library. @@ -178,8 +178,8 @@ __tzfile_read (const char *file, size_t extra, char **extrap) } /* Note the file is opened with cancellation in the I/O functions - disabled. */ - f = fopen (file, "rc"); + disabled and if available FD_CLOEXEC set. */ + f = fopen (file, "rce"); if (f == NULL) goto ret_free_transitions; diff --git a/ports/ChangeLog.arm b/ports/ChangeLog.arm index c61cfe461..8c14f0898 100644 --- a/ports/ChangeLog.arm +++ b/ports/ChangeLog.arm @@ -1,3 +1,8 @@ +2011-11-16 Joseph Myers <joseph@codesourcery.com> + + * sysdeps/unix/sysv/linux/arm/ioperm.c (init_iosys): Use "c" and + "e" in fopen. + 2011-10-26 Joseph Myers <joseph@codesourcery.com> * sysdeps/arm/dl-machine.h, sysdeps/unix/arm/sysdep.S: Restore diff --git a/ports/ChangeLog.m68k b/ports/ChangeLog.m68k index 09de15987..42dcf75db 100644 --- a/ports/ChangeLog.m68k +++ b/ports/ChangeLog.m68k @@ -1,3 +1,8 @@ +2011-11-01 Andreas Schwab <schwab@linux-m68k.org> + + * sysdeps/m68k/stackinfo.h (stackinfo_get_sp, stackinfo_sub_sp): + Define. + 2011-10-26 Andreas Schwab <schwab@linux-m68k.org> * sysdeps/m68k/m680x0/fpu/math_private.h: New file. diff --git a/ports/ChangeLog.mips b/ports/ChangeLog.mips index 78932d7a0..abfc2b447 100644 --- a/ports/ChangeLog.mips +++ b/ports/ChangeLog.mips @@ -1,3 +1,12 @@ +2011-11-17 Joseph Myers <joseph@codesourcery.com> + + * sysdeps/unix/sysv/linux/mips/mips64/n64/ftw.c, + sysdeps/unix/sysv/linux/mips/mips64/n64/ftw64.c: New. + +2011-11-11 Joseph Myers <joseph@codesourcery.com> + + * sysdeps/mips/dl-lookup.c: Update from generic version. + 2011-10-12 Joseph Myers <joseph@codesourcery.com> * sysdeps/mips/fpu/e_sqrt.c: Add __sqrt_finite alias. diff --git a/ports/sysdeps/m68k/stackinfo.h b/ports/sysdeps/m68k/stackinfo.h index b44d4d0ee..bcfdb1285 100644 --- a/ports/sysdeps/m68k/stackinfo.h +++ b/ports/sysdeps/m68k/stackinfo.h @@ -1,4 +1,4 @@ -/* Copyright (C) 1999, 2010 Free Software Foundation, Inc. +/* Copyright (C) 1999, 2010, 2011 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,4 +31,12 @@ is present, but it is presumed absent. */ #define DEFAULT_STACK_PERMS (PF_R|PF_W|PF_X) +/* Access to the stack pointer. */ +#define stackinfo_get_sp() \ + ({ void *p__; asm volatile ("move.l %%sp, %0" : "=r" (p__)); p__; }) +#define stackinfo_sub_sp(ptr) \ + ({ ptrdiff_t d__; \ + asm volatile ("sub.l %%sp, %0" : "=r" (d__) : "0" (ptr)); \ + d__; }) + #endif /* stackinfo.h */ diff --git a/ports/sysdeps/mips/dl-lookup.c b/ports/sysdeps/mips/dl-lookup.c index 6b36c34a8..fed3b6c66 100644 --- a/ports/sysdeps/mips/dl-lookup.c +++ b/ports/sysdeps/mips/dl-lookup.c @@ -877,7 +877,6 @@ internal_function _dl_setup_hash (struct link_map *map) { Elf_Symndx *hash; - Elf_Symndx nchain; if (__builtin_expect (map->l_info[DT_ADDRTAGIDX (DT_GNU_HASH) + DT_NUM + DT_THISPROCNUM + DT_VERSIONTAGNUM @@ -909,7 +908,8 @@ _dl_setup_hash (struct link_map *map) hash = (void *) D_PTR (map, l_info[DT_HASH]); map->l_nbuckets = *hash++; - nchain = *hash++; + /* Skip nchain. */ + hash++; map->l_buckets = hash; hash += map->l_nbuckets; map->l_chain = hash; diff --git a/ports/sysdeps/unix/sysv/linux/arm/ioperm.c b/ports/sysdeps/unix/sysv/linux/arm/ioperm.c index 8af1ea356..8ac9b09c2 100644 --- a/ports/sysdeps/unix/sysv/linux/arm/ioperm.c +++ b/ports/sysdeps/unix/sysv/linux/arm/ioperm.c @@ -1,4 +1,5 @@ -/* Copyright (C) 1998, 1999, 2003, 2005, 2008 Free Software Foundation, Inc. +/* Copyright (C) 1998, 1999, 2003, 2005, 2008, 2011 + Free Software Foundation, Inc. This file is part of the GNU C Library. Contributed by Phil Blundell, based on the Alpha version by David Mosberger. @@ -135,7 +136,7 @@ init_iosys (void) { FILE * fp; - fp = fopen (PATH_CPUINFO, "r"); + fp = fopen (PATH_CPUINFO, "rce"); if (! fp) return -1; while ((n = fscanf (fp, "Hardware\t: %256[^\n]\n", systype)) diff --git a/ports/sysdeps/unix/sysv/linux/mips/mips64/n64/ftw.c b/ports/sysdeps/unix/sysv/linux/mips/mips64/n64/ftw.c new file mode 100644 index 000000000..46389568b --- /dev/null +++ b/ports/sysdeps/unix/sysv/linux/mips/mips64/n64/ftw.c @@ -0,0 +1 @@ +#include <io/ftw.c> diff --git a/ports/sysdeps/unix/sysv/linux/mips/mips64/n64/ftw64.c b/ports/sysdeps/unix/sysv/linux/mips/mips64/n64/ftw64.c new file mode 100644 index 000000000..cb02172b3 --- /dev/null +++ b/ports/sysdeps/unix/sysv/linux/mips/mips64/n64/ftw64.c @@ -0,0 +1 @@ +#include <io/ftw64.c> |