diff options
author | Khem Raj <raj.khem@gmail.com> | 2013-06-26 13:59:01 -0700 |
---|---|---|
committer | Richard Purdie <richard.purdie@linuxfoundation.org> | 2013-07-05 15:26:22 +0100 |
commit | 59ae9fc07a6a89492c001de0b3322ecd6d3956be (patch) | |
tree | b795a934ffc597deed68433ae7590f2c6f1a94db /meta/recipes-core | |
parent | eda721f0c85afa30c2b3030ef76522cc3451af21 (diff) | |
download | openembedded-core-59ae9fc07a6a89492c001de0b3322ecd6d3956be.tar.gz openembedded-core-59ae9fc07a6a89492c001de0b3322ecd6d3956be.tar.bz2 openembedded-core-59ae9fc07a6a89492c001de0b3322ecd6d3956be.zip |
eglibc: Add 2.18 recipes
Signed-off-by: Khem Raj <raj.khem@gmail.com>
Signed-off-by: Saul Wold <sgw@linux.intel.com>
Diffstat (limited to 'meta/recipes-core')
35 files changed, 14172 insertions, 0 deletions
diff --git a/meta/recipes-core/eglibc/cross-localedef-native_2.18.bb b/meta/recipes-core/eglibc/cross-localedef-native_2.18.bb new file mode 100644 index 0000000000..bf9e3c270f --- /dev/null +++ b/meta/recipes-core/eglibc/cross-localedef-native_2.18.bb @@ -0,0 +1,49 @@ +DESCRIPTION = "Cross locale generation tool for eglibc" +HOMEPAGE = "http://www.eglibc.org/home" +SECTION = "libs" +LICENSE = "LGPL-2.1" + +LIC_DIR = "${WORKDIR}/eglibc-${PV}/libc" +LIC_FILES_CHKSUM = "file://${LIC_DIR}/LICENSES;md5=e9a558e243b36d3209f380deb394b213 \ + file://${LIC_DIR}/COPYING;md5=393a5ca445f6965873eca0259a17f833 \ + file://${LIC_DIR}/posix/rxspencer/COPYRIGHT;md5=dc5485bb394a13b2332ec1c785f5d83a \ + file://${LIC_DIR}/COPYING.LIB;md5=bbb461211a33b134d42ed5ee802b37ff " + + +inherit native +inherit autotools + +# pick up an eglibc patch +FILESPATH = "${FILE_DIRNAME}/eglibc-${PV}" + +SRC_URI = "http://downloads.yoctoproject.org/releases/eglibc/eglibc-${PV}-svnr23379.tar.bz2 \ + file://fix_for_centos_5.8.patch;patchdir=.. \ + " +SRC_URI[md5sum] = "7da8ab8c0af6889187b9ece6dafc12b0" +SRC_URI[sha256sum] = "bd1cdb0528fd54d11ab896b878d71c0f89b4557e908e0f2561f32bbd7472aaeb" + +S = "${WORKDIR}/eglibc-${PV}/localedef" + +do_unpack_append() { + bb.build.exec_func('do_move_ports', d) +} + +do_move_ports() { + if test -d ${WORKDIR}/eglibc-${PV}/ports ; then + rm -rf ${WORKDIR}/libc/ports + mv ${WORKDIR}/eglibc-${PV}/ports ${WORKDIR}/libc/ + fi +} + +EXTRA_OECONF = "--with-glibc=${WORKDIR}/eglibc-${PV}/libc" +CFLAGS += "-DNOT_IN_libc=1" + +do_configure () { + ${S}/configure ${EXTRA_OECONF} +} + + +do_install() { + install -d ${D}${bindir} + install -m 0755 ${B}/localedef ${D}${bindir}/cross-localedef +} diff --git a/meta/recipes-core/eglibc/eglibc-2.18/0001-R_ARM_TLS_DTPOFF32.patch b/meta/recipes-core/eglibc/eglibc-2.18/0001-R_ARM_TLS_DTPOFF32.patch new file mode 100644 index 0000000000..b4489e9ae9 --- /dev/null +++ b/meta/recipes-core/eglibc/eglibc-2.18/0001-R_ARM_TLS_DTPOFF32.patch @@ -0,0 +1,56 @@ + +Quote from bug 1443 which explains what the patch does : + + We build some random program and link it with -lust. When we run it, + it dies with a SIGSEGV before reaching main(). + + Libust.so depends on liburcu-bp.so from the usermode-rcu package. + Although libust.so is not prelinked, liburcu-bp.so IS prelinked; this + is critical. + + Libust.so uses a TLS / __thread variable that is defined in liburcu- + bp.so. There are special ARM-specific relocation types that allow two + shared libraries to share thread-specific data. This is critical too. + + One more critical issue: although liburcu-bp.so is prelinked, we can't + load it at its prelinked address, because we also link against + librt.so, and librt.so uses that address. + + The dynamic linker is forced to relink liburcu-bp.so at a different + address. In the course of relinking, it processes the special ARM + relocation record mentioned above. The prelinker has already filled + in the information, which is a short offset into a table of thread- + specific data that is allocated per-thread for each library that uses + TLS. Because the normal behavior of a relocation is to add the symbol + value to an addend stored at the address being relocated, we end up + adding the short offset to itself, doubling it. + + Now we have an awkward situation. The libust.so library doesn't know + about the addend, so its TLS data for this element is correct. The + liburcu-bp.so library has a different offset for the element. When we + go to initialize the element for the first time in liburcu-bp.so, we + write the address of the result at the doubled (broken) offset. + Later, when we refer to the address from libust.so, we check the value + at the correct offset, but it's NULL, so we eat hot SIGSEGV. + +Upstream-Status: Pending + +Signed-off-by: Andrei Dinu <andrei.adrianx.dinu@intel.com> +--- + .../libc/ports/sysdeps/arm/dl-machine.h | 2 +- + 1 file changed, 1 insertion(+), 1 deletion(-) + +ndex 8d905e8..dcfa71e 100644 +--- libc.orig/ports/sysdeps/arm/dl-machine.h ++++ libc/ports/sysdeps/arm/dl-machine.h +@@ -503,7 +503,7 @@ elf_machine_rel (struct link_map *map, const Elf32_Rel *reloc, + + case R_ARM_TLS_DTPOFF32: + if (sym != NULL) +- *reloc_addr += sym->st_value; ++ *reloc_addr = sym->st_value; + break; + + case R_ARM_TLS_TPOFF32: +-- + diff --git a/meta/recipes-core/eglibc/eglibc-2.18/0001-eglibc-menuconfig-support.patch b/meta/recipes-core/eglibc/eglibc-2.18/0001-eglibc-menuconfig-support.patch new file mode 100644 index 0000000000..9e23e7cda2 --- /dev/null +++ b/meta/recipes-core/eglibc/eglibc-2.18/0001-eglibc-menuconfig-support.patch @@ -0,0 +1,912 @@ +Pulled from +http://www.eglibc.org/archives/patches/msg01042.html + +Upstream-Status: Pending +Signed-off-by: Khem + +Hi, + +This patch adds 'make menuconfig' support to EGLIBC. + + +EGLIBC can re-use the Linux kernel kconfig host tools ('conf' and 'mconf') unmodified, by passing appropriate environment variables and with some pre- and post-processing on the input/output config files. + +There are three new make targets supported, which all are defined in the new libc/options-config/Makefile, which is included by the top-level libc/Makefile: + +- 'make defconfig'. This passes 'libc/option-groups.defaults' to 'conf' as a default config, and outputs 'option-groups.config' to the top-level build directory, which will be the same as the default config. + +- 'make config'. This is the same line-oriented interface as in the Linux kernel. Input and output is 'option-groups.config' in the top-level build directory. + +- 'make menuconfig'. This is the same menu-based interface as in the Linux kernel. Input and output is 'option-groups.config' in the top-level build directory. + + +Pre-Processing: + + +The Linux kernel kconfig tools expect a prefix of "CONFIG_" on all config option names, but EGLIBC expects a prefix of "OPTION_". The pre-processing script, libc/options-config/config-preproc.pl, simply replaces "CONFIG_ with "OPTION_" in the given config file. The libc/options-config/Makefile passes the script output to a temporary config file, which is then passed to 'conf' or 'mconf'. + +Post-Processing (libc/options-config/config-postproc.pl): + + +- Disabled options are output as a comment line of the form "# CONFIG_FOO is not set". This needs to be changed to an explicit "CONFIG_FOO=n" in order to be compatible with 'option-groups.awk' which generates the option-groups.h header. + +- "CONFIG_" prefix is changed back to "OPTION_". + + +- The kconfig tools will not output anything for options that depend on a parent option, when the parent option is disabled. This implicit disable must be converted to an explicit "CONFIG_FOO=n" in order to be compatible with the way EGLIBC overrides the default option settings in 'libc/option-groups.defaults' with those in 'option-groups.config'. + + +A new configure option, '--with-kconfig=<PATH>', tells EGLIBC where to find the pre-built 'conf' and 'mconf' host tools from Linux kernel builds. + +libc/EGLIBC.cross-building is updated to include instructions for using '--with-kconfig' for the final EGLIBC build, and shows how and when to run 'make *config'. + +libc/EGLIBC.option-groups is updated to include new information on the menuconfig support. + +Thanks, + +attached is the updated patch to address above issues. + +Steve + +-- +Steve Longerbeam | Senior Embedded Engineer, ESD Services +Mentor Embedded(tm) | 46871 Bayside Parkway, Fremont, CA 94538 +P 510.354.5838 | M 408.410.2735 +Nucleus(r) | Linux(r) | Android(tm) | Services | UI | Multi-OS + + +Index: libc/EGLIBC.cross-building +=================================================================== +--- libc.orig/EGLIBC.cross-building 2007-04-20 16:15:03.000000000 -0700 ++++ libc/EGLIBC.cross-building 2013-06-26 00:45:15.788885570 -0700 +@@ -243,9 +243,29 @@ + > $src/libc/configure \ + > --prefix=/usr \ + > --with-headers=$sysroot/usr/include \ ++ > --with-kconfig=$obj/linux/scripts/kconfig \ + > --build=$build \ + > --host=$target \ + > --disable-profile --without-gd --without-cvs --enable-add-ons ++ ++Note the additional '--with-kconfig' option. This tells EGLIBC where to ++find the host config tools used by the kernel 'make config' and 'make ++menuconfig'. These tools can be re-used by EGLIBC for its own 'make ++*config' support, which will create 'option-groups.config' for you. ++But first make sure those tools have been built by running some ++dummy 'make *config' calls in the kernel directory: ++ ++ $ cd $obj/linux ++ $ PATH=$tools/bin:$PATH make config \ ++ > ARCH=$linux_arch CROSS_COMPILE=$target- \ ++ $ PATH=$tools/bin:$PATH make menuconfig \ ++ > ARCH=$linux_arch CROSS_COMPILE=$target- \ ++ ++Now we can configure and build the full EGLIBC: ++ ++ $ cd $obj/eglibc ++ $ PATH=$tools/bin:$PATH make defconfig ++ $ PATH=$tools/bin:$PATH make menuconfig + $ PATH=$tools/bin:$PATH make + $ PATH=$tools/bin:$PATH make install install_root=$sysroot + +Index: libc/configure.in +=================================================================== +--- libc.orig/configure.in 2013-06-24 15:42:26.000000000 -0700 ++++ libc/configure.in 2013-06-26 00:45:15.792885570 -0700 +@@ -127,6 +127,16 @@ + [sysheaders='']) + AC_SUBST(sysheaders) + ++AC_ARG_WITH([kconfig], ++ AC_HELP_STRING([--with-kconfig=PATH], ++ [location of kconfig tools to use (from Linux ++ kernel builds) to re-use for configuring EGLIBC ++ option groups]), ++ [KCONFIG_TOOLS=$withval], ++ [KCONFIG_TOOLS='']) ++AC_SUBST(KCONFIG_TOOLS) ++ ++ + AC_SUBST(use_default_link) + AC_ARG_WITH([default-link], + AC_HELP_STRING([--with-default-link], +Index: libc/config.make.in +=================================================================== +--- libc.orig/config.make.in 2013-04-28 08:21:50.000000000 -0700 ++++ libc/config.make.in 2013-06-26 00:45:15.792885570 -0700 +@@ -45,6 +45,8 @@ + c++-sysincludes = @CXX_SYSINCLUDES@ + all-warnings = @all_warnings@ + ++kconfig_tools = @KCONFIG_TOOLS@ ++ + have-z-combreloc = @libc_cv_z_combreloc@ + have-z-execstack = @libc_cv_z_execstack@ + have-Bgroup = @libc_cv_Bgroup@ +Index: libc/options-config/config-postproc.pl +=================================================================== +--- /dev/null 1970-01-01 00:00:00.000000000 +0000 ++++ libc/options-config/config-postproc.pl 2013-06-26 00:45:15.792885570 -0700 +@@ -0,0 +1,54 @@ ++#!/usr/bin/perl ++ ++$usage = "usage: $0 <default config file> <config file>\n"; ++ ++die "$usage" unless @ARGV; ++$defaults = shift @ARGV; ++die "$usage" unless @ARGV; ++die "Could not open $ARGV[0]" unless -T $ARGV[0]; ++ ++sub yank { ++ @option = grep($_ ne $_[0], @option); ++} ++ ++open(DEFAULTS, $defaults) || die "Could not open $defaults\n"; ++ ++# get the full list of available options using the default config file ++$i = 0; ++while (<DEFAULTS>) { ++ if (/^\s*OPTION_(\w+)\s*=/) { ++ $option[$i++] = $1; ++ } ++} ++ ++# now go through the config file, making the necessary changes ++while (<>) { ++ if (/Linux Kernel Configuration/) { ++ # change title ++ s/Linux Kernel/Option Groups/; ++ print; ++ } elsif (/^\s*CONFIG_(\w+)\s*=/) { ++ # this is an explicit option set line, change CONFIG_ to OPTION_ ++ # before printing and remove this option from option list ++ $opt = $1; ++ yank($opt); ++ s/CONFIG_/OPTION_/g; ++ print; ++ } elsif (/^\s*#\s+CONFIG_(\w+) is not set/) { ++ # this is a comment line, change CONFIG_ to OPTION_, remove this ++ # option from option list, and convert to explicit OPTION_FOO=n ++ $opt = $1; ++ yank($opt); ++ s/CONFIG_/OPTION_/g; ++ print "OPTION_$opt=n\n"; ++ } else { ++ print; ++ } ++} ++ ++# any options left in @options, are options that were not mentioned in ++# the config file, and implicitly that means the option must be set =n, ++# so do that here. ++foreach $opt (@option) { ++ print "OPTION_$opt=n\n"; ++} +Index: libc/options-config/config-preproc.pl +=================================================================== +--- /dev/null 1970-01-01 00:00:00.000000000 +0000 ++++ libc/options-config/config-preproc.pl 2013-06-26 00:45:15.792885570 -0700 +@@ -0,0 +1,8 @@ ++#!/usr/bin/perl ++ ++if (@ARGV) { ++ while (<>) { ++ s/OPTION_/CONFIG_/g; ++ print; ++ } ++} +Index: libc/options-config/Makefile +=================================================================== +--- /dev/null 1970-01-01 00:00:00.000000000 +0000 ++++ libc/options-config/Makefile 2013-06-26 00:45:15.792885570 -0700 +@@ -0,0 +1,55 @@ ++# =========================================================================== ++# EGLIBC option-groups configuration targets ++# These targets are included from top-level makefile ++ ++ifneq ($(kconfig_tools),) ++ifneq (no,$(PERL)) ++ ++ocdir := options-config ++ ++OconfigDefaults := option-groups.defaults ++OconfigDefaults_tmp := $(common-objpfx).tmp.defconfig ++OconfigDef := option-groups.def ++Oconfig := $(common-objpfx)option-groups.config ++Oconfig_tmp := $(common-objpfx).tmp.config ++ ++conf := $(kconfig_tools)/conf ++mconf := $(kconfig_tools)/mconf ++ ++preproc := $(PERL) $(ocdir)/config-preproc.pl ++postproc := $(PERL) $(ocdir)/config-postproc.pl ++ ++PHONY += defconfig config menuconfig ++ ++defconfig: $(conf) $(OconfigDefaults) $(OconfigDef) ++ rm -f $(OconfigDefaults_tmp) ++ rm -f $(Oconfig_tmp) ++ $(preproc) $(OconfigDefaults) > $(OconfigDefaults_tmp) ++ KCONFIG_CONFIG=$(Oconfig_tmp) $< --defconfig=$(OconfigDefaults_tmp) \ ++ $(OconfigDef) ++ $(postproc) $(OconfigDefaults) $(Oconfig_tmp) > $(Oconfig) ++ rm $(Oconfig_tmp) ++ rm $(OconfigDefaults_tmp) ++ ++config: $(conf) $(OconfigDefaults) $(OconfigDef) ++ rm -f $(Oconfig_tmp) ++ $(preproc) $(wildcard $(Oconfig)) > $(Oconfig_tmp) ++ KCONFIG_CONFIG=$(Oconfig_tmp) $< --oldaskconfig $(OconfigDef) ++ $(postproc) $(OconfigDefaults) $(Oconfig_tmp) > $(Oconfig) ++ rm $(Oconfig_tmp) ++ ++menuconfig: $(mconf) $(OconfigDefaults) $(OconfigDef) ++ rm -f $(Oconfig_tmp) ++ $(preproc) $(wildcard $(Oconfig)) > $(Oconfig_tmp) ++ KCONFIG_CONFIG=$(Oconfig_tmp) $< $(OconfigDef) ++ $(postproc) $(OconfigDefaults) $(Oconfig_tmp) > $(Oconfig) ++ rm $(Oconfig_tmp) ++ ++# Help text used by make help ++help: ++ @echo ' defconfig - New config with default from default config' ++ @echo ' config - Update current config utilising a line-oriented program' ++ @echo ' menuconfig - Update current config utilising a menu based program' ++ ++endif ++endif +Index: libc/option-groups.def +=================================================================== +--- libc.orig/option-groups.def 2013-05-17 17:12:09.000000000 -0700 ++++ libc/option-groups.def 2013-06-26 00:45:15.796885570 -0700 +@@ -4,19 +4,19 @@ + # + # An entry of the form: + # +-# config OPTION_GROUP_NAME ++# config GROUP_NAME + # bool "one-line explanation of what this option group controls" + # help + # Multi-line help explaining the option group's meaning in + # some detail, terminated by indentation level. + # +-# defines an option group whose variable is OPTION_GROUP_NAME, with ++# defines an option group whose variable is GROUP_NAME, with + # meaningful values 'y' (enabled) and 'n' (disabled). The + # documentation is formatted to be consumed by some sort of + # interactive configuration interface, but EGLIBC doesn't have such an + # interface yet. + # +-# An option may have a 'depends' line, indicating which other options ++# An option may have a 'depends on' line, indicating which other options + # must also be enabled if this option is. At present, EGLIBC doesn't + # check that these dependencies are satisfied. + # +@@ -41,9 +41,9 @@ + # although this simply reestablishes the value already set by + # 'option-groups.defaults'. + +-config OPTION_EGLIBC_ADVANCED_INET6 ++config EGLIBC_ADVANCED_INET6 + bool "IPv6 Advanced Sockets API support (RFC3542)" +- depends OPTION_EGLIBC_INET ++ depends on EGLIBC_INET + help + This option group includes the functions specified by RFC 3542, + "Advanced Sockets Application Program Interface (API) for +@@ -71,7 +71,7 @@ + inet6_rth_segments + inet6_rth_space + +-config OPTION_EGLIBC_BACKTRACE ++config EGLIBC_BACKTRACE + bool "Functions for producing backtraces" + help + This option group includes functions for producing a list of +@@ -85,7 +85,7 @@ + backtrace_symbols + backtrace_symbols_fd + +-config OPTION_EGLIBC_BIG_MACROS ++config EGLIBC_BIG_MACROS + bool "Use extensive inline code" + help + This option group specifies whether certain pieces of code +@@ -93,7 +93,7 @@ + group is not selected, function calls will be used instead, + hence reducing the library footprint. + +-config OPTION_EGLIBC_BSD ++config EGLIBC_BSD + bool "BSD-specific functions, and their compatibility stubs" + help + This option group includes functions specific to BSD kernels. +@@ -109,10 +109,9 @@ + revoke + setlogin + +-config OPTION_EGLIBC_CXX_TESTS ++config EGLIBC_CXX_TESTS + bool "Tests that link against the standard C++ library." +- depends OPTION_POSIX_WIDE_CHAR_DEVICE_IO +- depends OPTION_EGLIBC_LIBM ++ depends on POSIX_WIDE_CHAR_DEVICE_IO && EGLIBC_LIBM + help + This option group does not include any C library functions; + instead, it controls which EGLIBC tests an ordinary 'make +@@ -121,23 +120,22 @@ + run. + + The standard C++ library depends on the math library 'libm' and +- the wide character I/O functions included in EGLIBC. If those +- option groups are disabled, this test must also be disabled. ++ the wide character I/O functions included in EGLIBC. So those ++ option groups must be enabled if this test is enabled. + +-config OPTION_EGLIBC_CATGETS ++config EGLIBC_CATGETS + bool "Functions for accessing message catalogs" +- depends OPTION_EGLIBC_LOCALE_CODE ++ depends on EGLIBC_LOCALE_CODE + help + This option group includes functions for accessing message + catalogs: catopen, catclose, and catgets. + +- This option group depends on the OPTION_EGLIBC_LOCALE_CODE +- option group; if you disable that, you must also disable this. ++ This option group depends on the EGLIBC_LOCALE_CODE ++ option group. + +-config OPTION_EGLIBC_CHARSETS ++config EGLIBC_CHARSETS + bool "iconv/gconv character set conversion libraries" + help +- + This option group includes support for character sets other + than ASCII (ANSI_X3.4-1968) and Unicode and ISO-10646 in their + various encodings. This affects both the character sets +@@ -198,16 +196,16 @@ + WCHAR_T - EGLIBC's internal form (target-endian, + 32-bit ISO 10646) + +-config OPTION_EGLIBC_CRYPT ++config EGLIBC_CRYPT + bool "Encryption library" + help + This option group includes the `libcrypt' library which + provides functions for one-way encryption. Supported + encryption algorithms include MD5, SHA-256, SHA-512 and DES. + +-config OPTION_EGLIBC_CRYPT_UFC ++config EGLIBC_CRYPT_UFC + bool "Ultra fast `crypt' implementation" +- depends OPTION_EGLIBC_CRYPT ++ depends on EGLIBC_CRYPT + help + This option group provides ultra fast DES-based implementation of + the `crypt' function. When this option group is disabled, +@@ -216,7 +214,7 @@ + errno to ENOSYS if /salt/ passed does not correspond to either MD5, + SHA-256 or SHA-512 algorithm. + +-config OPTION_EGLIBC_DB_ALIASES ++config EGLIBC_DB_ALIASES + bool "Functions for accessing the mail aliases database" + help + This option group includues functions for looking up mail +@@ -233,7 +231,7 @@ + When this option group is disabled, the NSS service libraries + also lack support for querying their mail alias tables. + +-config OPTION_EGLIBC_ENVZ ++config EGLIBC_ENVZ + bool "Functions for handling envz-style environment vectors." + help + This option group contains functions for creating and operating +@@ -248,7 +246,7 @@ + envz_entry envz_remove + envz_get envz_strip + +-config OPTION_EGLIBC_FCVT ++config EGLIBC_FCVT + bool "Functions for converting floating-point numbers to strings" + help + This option group includes functions for converting +@@ -262,14 +260,14 @@ + fcvt_r qfcvt_r + gcvt qgcvt + +-config OPTION_EGLIBC_FMTMSG ++config EGLIBC_FMTMSG + bool "Functions for formatting messages" + help + This option group includes the following functions: + + addseverity fmtmsg + +-config OPTION_EGLIBC_FSTAB ++config EGLIBC_FSTAB + bool "Access functions for 'fstab'" + help + This option group includes functions for reading the mount +@@ -283,7 +281,7 @@ + getfsent setfsent + getfsfile + +-config OPTION_EGLIBC_FTRAVERSE ++config EGLIBC_FTRAVERSE + bool "Functions for traversing file hierarchies" + help + This option group includes functions for traversing file +@@ -297,9 +295,9 @@ + fts_set nftw64 + fts_close + +-config OPTION_EGLIBC_GETLOGIN ++config EGLIBC_GETLOGIN + bool "The getlogin function" +- depends OPTION_EGLIBC_UTMP ++ depends on EGLIBC_UTMP + help + This function group includes the 'getlogin' and 'getlogin_r' + functions, which return the user name associated by the login +@@ -309,17 +307,17 @@ + fall back on 'getlogin' to find the user's login name for tilde + expansion when the 'HOME' environment variable is not set. + +-config OPTION_EGLIBC_IDN ++config EGLIBC_IDN + bool "International domain names support" + help + This option group includes the `libcidn' library which + provides support for international domain names. + +-config OPTION_EGLIBC_INET ++config EGLIBC_INET + bool "Networking support" + help + This option group includes networking-specific functions and +- data. With OPTION_EGLIBC_INET disabled, the EGLIBC ++ data. With EGLIBC_INET disabled, the EGLIBC + installation and API changes as follows: + + - The following libraries are not installed: +@@ -439,14 +437,14 @@ + use Unix-domain sockets to communicate with the syslog daemon; + syslog is valuable in non-networked contexts. + +-config OPTION_EGLIBC_INET_ANL ++config EGLIBC_INET_ANL + bool "Asynchronous name lookup" +- depends OPTION_EGLIBC_INET ++ depends on EGLIBC_INET + help + This option group includes the `libanl' library which + provides support for asynchronous name lookup. + +-config OPTION_EGLIBC_LIBM ++config EGLIBC_LIBM + bool "libm (math library)" + help + This option group includes the 'libm' library, containing +@@ -464,7 +462,7 @@ + group, you will not be able to build 'libstdc++' against the + resulting EGLIBC installation. + +-config OPTION_EGLIBC_LOCALES ++config EGLIBC_LOCALES + bool "Locale definitions" + help + This option group includes all locale definitions other than +@@ -472,17 +470,17 @@ + only the "C" locale is supported. + + +-config OPTION_EGLIBC_LOCALE_CODE ++config EGLIBC_LOCALE_CODE + bool "Locale functions" +- depends OPTION_POSIX_C_LANG_WIDE_CHAR ++ depends on POSIX_C_LANG_WIDE_CHAR + help + This option group includes locale support functions, programs, +- and libraries. With OPTION_EGLIBC_LOCALE_FUNCTIONS disabled, ++ and libraries. With EGLIBC_LOCALE_CODE disabled, + EGLIBC supports only the 'C' locale (also known as 'POSIX'), + and ignores the settings of the 'LANG' and 'LC_*' environment + variables. + +- With OPTION_EGLIBC_LOCALE_CODE disabled, the following ++ With EGLIBC_LOCALE_CODE disabled, the following + functions are omitted from libc: + + duplocale localeconv nl_langinfo rpmatch strfmon_l +@@ -491,46 +489,43 @@ + Furthermore, only the LC_CTYPE and LC_TIME categories of the + standard "C" locale are available. + +- The OPTION_EGLIBC_CATGETS option group depends on this option +- group; if you disable OPTION_EGLIBC_LOCALE_CODE, you must also +- disable OPTION_EGLIBC_CATGETS. ++ The EGLIBC_CATGETS option group depends on this option group. ++ + +-config OPTION_EGLIBC_MEMUSAGE ++config EGLIBC_MEMUSAGE + bool "Memory profiling library" + help + This option group includes the `libmemusage' library and + the `memusage' and `memusagestat' utilities. + These components provide memory profiling functions. + +- OPTION_EGLIBC_MEMUSAGE_DEFAULT_BUFFER_SIZE ++ EGLIBC_MEMUSAGE_DEFAULT_BUFFER_SIZE + + Libmemusage library buffers the profiling data in memory + before writing it out to disk. By default, the library + allocates 1.5M buffer, which can be substantial for some +- systems. OPTION_EGLIBC_MEMUSAGE_DEFAULT_BUFFER_SIZE option ++ systems. EGLIBC_MEMUSAGE_DEFAULT_BUFFER_SIZE option + allows to change the default buffer size. It specifies + the number of entries the buffer should have. + On most architectures one buffer entry amounts to 48 bytes, + so setting this option to the value of 512 will reduce the size of + the memory buffer to 24K. + +-config OPTION_EGLIBC_NIS ++config EGLIBC_NIS + bool "Support for NIS, NIS+, and the special 'compat' services." +- depends OPTION_EGLIBC_INET +- depends OPTION_EGLIBC_SUNRPC ++ depends on EGLIBC_INET && EGLIBC_SUNRPC + help + This option group includes the NIS, NIS+, and 'compat' Name + Service Switch service libraries. When it is disabled, those + services libraries are not installed; you should remove any + references to them from your 'nsswitch.conf' file. + +- This option group depends on the OPTION_EGLIBC_INET option ++ This option group depends on the EGLIBC_INET option + group; you must enable that to enable this option group. + +-config OPTION_EGLIBC_NSSWITCH ++config EGLIBC_NSSWITCH + bool "Name service switch (nsswitch) support" + help +- + This option group includes support for the 'nsswitch' facility. + With this option group enabled, all EGLIBC functions for + accessing various system databases (passwords and groups; +@@ -544,12 +539,12 @@ + 'option-groups.config' file must set the following two + variables: + +- OPTION_EGLIBC_NSSWITCH_FIXED_CONFIG ++ EGLIBC_NSSWITCH_FIXED_CONFIG + + Set this to the name of a file whose contents observe the + same syntax as an ordinary '/etc/nsswitch.conf' file. The + EGLIBC build process parses this file just as EGLIBC would +- at run time if OPTION_EGLIBC_NSSWITCH were enabled, and ++ at run time if EGLIBC_NSSWITCH were enabled, and + produces a C library that uses the nsswitch service + libraries to search for database entries as this file + specifies, instead of consulting '/etc/nsswitch.conf' at run +@@ -567,7 +562,7 @@ + you will probably want to delete references to databases not + needed on your system. + +- OPTION_EGLIBC_NSSWITCH_FIXED_FUNCTIONS ++ EGLIBC_NSSWITCH_FIXED_FUNCTIONS + + The EGLIBC build process uses this file to decide which + functions to make available from which service libraries. +@@ -585,28 +580,28 @@ + Be sure to mention each function in each service you wish to + use. If you do not mention a service's function here, the + EGLIBC database access functions will not find it, even if +- it is listed in the OPTION_EGLIBC_NSSWITCH_FIXED_CONFIG ++ it is listed in the EGLIBC_NSSWITCH_FIXED_CONFIG + file. + +- In this arrangement, EGLIBC will not use the 'dlopen' and +- 'dlsym' functions to find database access functions. Instead, +- libc hard-codes references to the service libraries' database +- access functions. You must explicitly link your program +- against the name service libraries (those whose names start +- with 'libnss_', in the sysroot's '/lib' directory) whose +- functions you intend to use. This arrangement helps +- system-wide static analysis tools decide which functions a +- system actually uses. +- +- Note that some nsswitch service libraries require other option +- groups to be enabled; for example, the OPTION_EGLIBC_INET +- option group must be enabled to use the 'libnss_dns.so.2' +- service library, which uses the Domain Name System network +- protocol to answer queries. ++ In this arrangement, EGLIBC will not use the 'dlopen' and ++ 'dlsym' functions to find database access functions. Instead, ++ libc hard-codes references to the service libraries' database ++ access functions. You must explicitly link your program ++ against the name service libraries (those whose names start ++ with 'libnss_', in the sysroot's '/lib' directory) whose ++ functions you intend to use. This arrangement helps ++ system-wide static analysis tools decide which functions a ++ system actually uses. ++ ++ Note that some nsswitch service libraries require other option ++ groups to be enabled; for example, the EGLIBC_INET ++ option group must be enabled to use the 'libnss_dns.so.2' ++ service library, which uses the Domain Name System network ++ protocol to answer queries. + +-config OPTION_EGLIBC_RCMD ++config EGLIBC_RCMD + bool "Support for 'rcmd' and related library functions" +- depends OPTION_EGLIBC_INET ++ depends on EGLIBC_INET + help + This option group includes functions for running commands on + remote machines via the 'rsh' protocol, and doing authentication +@@ -622,7 +617,7 @@ + rresvport ruserpass + rresvport_af + +-config OPTION_EGLIBC_RTLD_DEBUG ++config EGLIBC_RTLD_DEBUG + bool "Runtime linker debug print outs" + help + This option group enables debug output of the runtime linker +@@ -633,7 +628,7 @@ + the `ldd' utility which may also be used by the prelinker. + In particular, the `--unused' ldd option will not work correctly. + +-config OPTION_EGLIBC_SPAWN ++config EGLIBC_SPAWN + bool "Support for POSIX posix_spawn functions" + help + This option group includes the POSIX functions for executing +@@ -669,7 +664,7 @@ + disabled, those programs will only operate on uncompressed + charmap files. + +-config OPTION_EGLIBC_STREAMS ++config EGLIBC_STREAMS + bool "Support for accessing STREAMS." + help + This option group includes functions for reading and writing +@@ -685,14 +680,14 @@ + isastream fdetach + putmsg + +-config OPTION_EGLIBC_SUNRPC ++config EGLIBC_SUNRPC + bool "Support for the Sun 'RPC' protocol." +- depends OPTION_EGLIBC_INET ++ depends on EGLIBC_INET + help + This option group includes support for the Sun RPC protocols, + including the 'rpcgen' and 'rpcinfo' programs. + +-config OPTION_EGLIBC_UTMP ++config EGLIBC_UTMP + bool "Older access functions for 'utmp' login records" + help + This option group includes the older 'utent' family of +@@ -719,9 +714,9 @@ + + libutil.so (and libutil.a) + +-config OPTION_EGLIBC_UTMPX ++config EGLIBC_UTMPX + bool "POSIX access functions for 'utmp' login records" +- depends OPTION_EGLIBC_UTMP ++ depends on EGLIBC_UTMP + help + This option group includes the POSIX functions for reading and + writing user login records in the 'utmp' file (usually +@@ -742,21 +737,21 @@ + updwtmpx + utmpxname + +-config OPTION_EGLIBC_WORDEXP ++config EGLIBC_WORDEXP + bool "Shell-style word expansion" + help + This option group includes the 'wordexp' function for + performing word expansion in the manner of the shell, and the + accompanying 'wordfree' function. + +-config OPTION_POSIX_C_LANG_WIDE_CHAR ++config POSIX_C_LANG_WIDE_CHAR + bool "ISO C library wide character functions, excluding I/O" + help + This option group includes the functions defined by the ISO C + standard for working with wide and multibyte characters in + memory. Functions for reading and writing wide and multibyte + characters from and to files call in the +- OPTION_POSIX_WIDE_CHAR_DEVICE_IO option group. ++ POSIX_WIDE_CHAR_DEVICE_IO option group. + + This option group includes the following functions: + +@@ -778,14 +773,14 @@ + mbrlen wcscoll wcstol + mbrtowc wcscpy wcstold + +-config OPTION_POSIX_REGEXP ++config POSIX_REGEXP + bool "Regular expressions" + help + This option group includes the POSIX regular expression + functions, and the associated non-POSIX extensions and + compatibility functions. + +- With OPTION_POSIX_REGEXP disabled, the following functions are ++ With POSIX_REGEXP disabled, the following functions are + omitted from libc: + + re_comp re_max_failures regcomp +@@ -799,9 +794,9 @@ + <regexp.h> header file, 'compile', 'step', and 'advance', is + omitted. + +-config OPTION_POSIX_REGEXP_GLIBC ++config POSIX_REGEXP_GLIBC + bool "Regular expressions from GLIBC" +- depends OPTION_POSIX_REGEXP ++ depends on POSIX_REGEXP + help + This option group specifies which regular expression + library to use. The choice is between regex +@@ -810,9 +805,9 @@ + optimized for speed; regex from libiberty is more than twice + as small while still is enough for most practical purposes. + +-config OPTION_POSIX_WIDE_CHAR_DEVICE_IO ++config POSIX_WIDE_CHAR_DEVICE_IO + bool "Input and output functions for wide characters" +- depends OPTION_POSIX_C_LANG_WIDE_CHAR ++ depends on POSIX_C_LANG_WIDE_CHAR + help + This option group includes functions for reading and writing + wide characters to and from <stdio.h> streams. +Index: libc/Makefile +=================================================================== +--- libc.orig/Makefile 2013-06-04 08:48:26.000000000 -0700 ++++ libc/Makefile 2013-06-26 00:45:15.796885570 -0700 +@@ -24,6 +24,7 @@ + + include Makeconfig + ++include options-config/Makefile + + # This is the default target; it makes everything except the tests. + .PHONY: all +Index: libc/configure +=================================================================== +--- libc.orig/configure 2013-06-24 15:42:26.000000000 -0700 ++++ libc/configure 2013-06-26 00:45:15.800885570 -0700 +@@ -622,6 +622,7 @@ + libc_cv_have_bash2 + BASH_SHELL + libc_cv_gcc_static_libgcc ++KCONFIG_TOOLS + CXX_SYSINCLUDES + SYSINCLUDES + AUTOCONF +@@ -734,6 +735,7 @@ + with_binutils + with_selinux + with_headers ++with_kconfig + with_default_link + enable_sanity_checks + enable_shared +@@ -1432,6 +1434,9 @@ + --with-selinux if building with SELinux support + --with-headers=PATH location of system headers to use (for example + /usr/src/linux/include) [default=compiler default] ++ --with-kconfig=PATH location of kconfig tools to use (from Linux kernel ++ builds) to re-use for configuring EGLIBC option ++ groups + --with-default-link do not use explicit linker scripts + --with-cpu=CPU select code for CPU variant + +@@ -3395,6 +3400,14 @@ + + + ++# Check whether --with-kconfig was given. ++if test "${with_kconfig+set}" = set; then ++ withval=$with_kconfig; KCONFIG_TOOLS=$withval ++else ++ KCONFIG_TOOLS='' ++fi ++ ++ + + # Check whether --with-default-link was given. + if test "${with_default_link+set}" = set; then : +Index: libc/EGLIBC.option-groups +=================================================================== +--- libc.orig/EGLIBC.option-groups 2007-04-13 17:50:17.000000000 -0700 ++++ libc/EGLIBC.option-groups 2013-06-26 00:45:15.800885570 -0700 +@@ -56,33 +56,9 @@ + + The Option Groups + +-EGLIBC currently implements the following option groups, also +-documented in the file 'option-groups.def': +- +-OPTION_EGLIBC_CATGETS +- This option group includes functions for accessing message +- catalogs: catopen, catclose, and catgets. +- +-OPTION_EGLIBC_LOCALES +- This option group includes all locale definitions other than +- those for the "C" locale. If this option group is omitted, then +- only the "C" locale is supported. +- +-OPTION_EGLIBC_LIBM +- This option group includes the 'libm' library, containing +- mathematical functions. If this option group is omitted, then +- an EGLIBC installation does not include shared or unshared versions +- of the math library. +- +- Note that this does not remove all floating-point related +- functionality from EGLIBC; for example, 'printf' and 'scanf' +- can still print and read floating-point values with this option +- group disabled. +- +- Note that the ISO Standard C++ library 'libstdc++' depends on +- EGLIBC's math library 'libm'. If you disable this option +- group, you will not be able to build 'libstdc++' against the +- resulting EGLIBC installation. ++To see the current full list of implemented option groups, refer to the ++file 'option-groups.def' at the top of the source tree, or run ++'make menuconfig' from the top-level build directory. + + The POSIX.1-2001 specification includes a suggested partition of all + the functions in the POSIX C API into option groups: math functions +@@ -110,6 +86,18 @@ + OPTION_EGLIBC_LOCALES = n + OPTION_EGLIBC_LIBM = y + ++Like the Linux kernel, EGLIBC supports a similar set of '*config' make ++targets to make it easier to create 'option-groups.config', with all ++dependencies between option groups automatically satisfied. Run ++'make help' to see the list of supported make config targets. For ++example, 'make menuconfig' will update the current config utilising a ++menu based program. ++ ++The option group names and their type (boolean, int, hex, string), help ++description, and dependencies with other option groups, are described by ++'option-groups.def' at the top of the source tree, analogous to the ++'Kconfig' files in the Linux kernel. ++ + In general, each option group variable controls whether a given set of + object files in EGLIBC is compiled and included in the final + libraries, or omitted from the build. +@@ -132,22 +120,3 @@ + + We have used the system to subset some portions of EGLIBC's + functionality. It needs to be extended to cover more of the library. +- +-At the moment, EGLIBC performs no sanity checks on the contents of +-'option-groups.config'; if an option group's name is mistyped, the +-option group is silently included in the build. EGLIBC should check +-that all variables set in 'option-groups.config' are proper option +-group names, and that their values are appropriate. +- +-Some portions of EGLIBC depend on others; for example, the Sun Remote +-Procedure Call functions in 'sunrpc' depend on the networking +-functions in 'inet'. The sanity checking described above should check +-that the selection configuration satisfies dependencies within EGLIBC, +-and produce a legible error message if it does not. At the moment, +-inconsistent configurations produce link errors late in the build +-process. +- +-The Linux kernel's configuration system provides interactive +-interfaces for creating and modifying configuration files (which also +-perform the sanity checking and dependency tracking described above). +-EGLIBC should provide similar interfaces. diff --git a/meta/recipes-core/eglibc/eglibc-2.18/0001-eglibc-run-libm-err-tab.pl-with-specific-dirs-in-S.patch b/meta/recipes-core/eglibc/eglibc-2.18/0001-eglibc-run-libm-err-tab.pl-with-specific-dirs-in-S.patch new file mode 100644 index 0000000000..a8463ea915 --- /dev/null +++ b/meta/recipes-core/eglibc/eglibc-2.18/0001-eglibc-run-libm-err-tab.pl-with-specific-dirs-in-S.patch @@ -0,0 +1,36 @@ +From 713d822908d1b2ae8403af7f9375c7054ed3dd49 Mon Sep 17 00:00:00 2001 +From: Ting Liu <b28495@freescale.com> +Date: Wed, 19 Dec 2012 04:39:57 -0600 +Subject: [PATCH] eglibc: run libm-err-tab.pl with specific dirs in ${S} + +libm-err-tab.pl will parse all the files named "libm-test-ulps" +in the given dir recursively. To avoid parsing the one in +${S}/.pc/ (it does exist after eglibc adds aarch64 support, +${S}/.pc/aarch64-0001-glibc-fsf-v1-eaf6f205.patch/ports/sysdeps/ +aarch64/libm-test-ulps), run libm-err-tab.pl with specific dirs +in ${S}. + +Upstream-Status: inappropriate [OE specific] + +Signed-off-by: Ting Liu <b28495@freescale.com> +--- + manual/Makefile | 3 ++- + 1 file changed, 2 insertions(+), 1 deletion(-) + +diff --git a/manual/Makefile b/manual/Makefile +index 6fddff0..7af242e 100644 +--- a/manual/Makefile ++++ b/manual/Makefile +@@ -109,7 +109,8 @@ $(objpfx)libm-err.texi: $(objpfx)stamp-libm-err + $(objpfx)stamp-libm-err: libm-err-tab.pl $(wildcard $(foreach dir,$(sysdirs),\ + $(dir)/libm-test-ulps)) + pwd=`pwd`; \ +- $(PERL) $< $$pwd/.. > $(objpfx)libm-err-tmp ++ $(PERL) $< $$pwd/../ports > $(objpfx)libm-err-tmp ++ $(PERL) $< $$pwd/../sysdeps >> $(objpfx)libm-err-tmp + $(move-if-change) $(objpfx)libm-err-tmp $(objpfx)libm-err.texi + touch $@ + +-- +1.7.9.7 + diff --git a/meta/recipes-core/eglibc/eglibc-2.18/0002-eglibc-menuconfig-hex-string-options.patch b/meta/recipes-core/eglibc/eglibc-2.18/0002-eglibc-menuconfig-hex-string-options.patch new file mode 100644 index 0000000000..7caba48112 --- /dev/null +++ b/meta/recipes-core/eglibc/eglibc-2.18/0002-eglibc-menuconfig-hex-string-options.patch @@ -0,0 +1,169 @@ +pulled from + +http://www.eglibc.org/archives/patches/msg01043.html + + +Upstream-Status: Pending +Signed-off-by: Khem + + +This patch builds on the menuconfig patch for EGLIBC. + + +There are a few options that have non-boolean types, that would benefit from the new 'make *config' support: + +EGLIBC_MEMUSAGE_DEFAULT_BUFFER_SIZE (int) +EGLIBC_NSSWITCH_FIXED_CONFIG (string) +EGLIBC_NSSWITCH_FIXED_FUNCTIONS (string) + + +The patch converts these to real options in libc/option-groups.def. Also, libc/scripts/option-groups.awk is modified to output a '#define' line for int, hex, or string options encountered in the config file. + +In the post-processing script config-postproc.pl, a small change is needed: for any boolean option FOO that is implicitly disabled in the kconfig output, make sure that option is indeed a boolean before printing the explicit OPTION_FOO=n. + +Finally, libc/malloc/Makefile passes __OPTION_EGLIBC_MEMUSAGE_DEFAULT_BUFFER_SIZE as a CPPFLAGS, which is not necessary anymore because this macro will now be present in the generated header. + +attached is the updated patch to address above issues. + +Steve + +-- +Steve Longerbeam | Senior Embedded Engineer, ESD Services +Mentor Embedded(tm) | 46871 Bayside Parkway, Fremont, CA 94538 +P 510.354.5838 | M 408.410.2735 +Nucleus(r) | Linux(r) | Android(tm) | Services | UI | Multi-OS + + +Index: libc/malloc/Makefile +=================================================================== +--- libc.orig/malloc/Makefile 2012-01-04 22:06:18.000000000 -0800 ++++ libc/malloc/Makefile 2012-05-09 19:35:28.598682105 -0700 +@@ -48,10 +48,6 @@ + ifeq ($(OPTION_EGLIBC_MEMUSAGE),y) + extra-libs = libmemusage + extra-libs-others = $(extra-libs) +- +-ifdef OPTION_EGLIBC_MEMUSAGE_DEFAULT_BUFFER_SIZE +-CPPFLAGS-memusage += -D__OPTION_EGLIBC_MEMUSAGE_DEFAULT_BUFFER_SIZE=$(OPTION_EGLIBC_MEMUSAGE_DEFAULT_BUFFER_SIZE) +-endif + endif + + libmemusage-routines = memusage +Index: libc/option-groups.def +=================================================================== +--- libc.orig/option-groups.def 2012-05-09 19:33:48.398677256 -0700 ++++ libc/option-groups.def 2012-05-09 19:35:28.610682107 -0700 +@@ -513,8 +513,11 @@ + the `memusage' and `memusagestat' utilities. + These components provide memory profiling functions. + +- EGLIBC_MEMUSAGE_DEFAULT_BUFFER_SIZE +- ++config EGLIBC_MEMUSAGE_DEFAULT_BUFFER_SIZE ++ int "Memory profiling library buffer size" ++ depends on EGLIBC_MEMUSAGE ++ default "32768" ++ help + Libmemusage library buffers the profiling data in memory + before writing it out to disk. By default, the library + allocates 1.5M buffer, which can be substantial for some +@@ -553,8 +556,11 @@ + 'option-groups.config' file must set the following two + variables: + +- EGLIBC_NSSWITCH_FIXED_CONFIG +- ++config EGLIBC_NSSWITCH_FIXED_CONFIG ++ string "Nsswitch fixed config filename" ++ depends on !EGLIBC_NSSWITCH ++ default "" ++ help + Set this to the name of a file whose contents observe the + same syntax as an ordinary '/etc/nsswitch.conf' file. The + EGLIBC build process parses this file just as EGLIBC would +@@ -576,8 +582,11 @@ + you will probably want to delete references to databases not + needed on your system. + +- EGLIBC_NSSWITCH_FIXED_FUNCTIONS +- ++config EGLIBC_NSSWITCH_FIXED_FUNCTIONS ++ string "Nsswitch fixed functions filename" ++ depends on !EGLIBC_NSSWITCH ++ default "" ++ help + The EGLIBC build process uses this file to decide which + functions to make available from which service libraries. + The file 'nss/fixed-nsswitch.functions' serves as a sample +Index: libc/options-config/config-postproc.pl +=================================================================== +--- libc.orig/options-config/config-postproc.pl 2012-05-09 19:33:36.530676681 -0700 ++++ libc/options-config/config-postproc.pl 2012-05-09 19:35:28.610682107 -0700 +@@ -8,7 +8,7 @@ + die "Could not open $ARGV[0]" unless -T $ARGV[0]; + + sub yank { +- @option = grep($_ ne $_[0], @option); ++ @option = grep(!($_ =~ /$_[0]\s*=/), @option); + } + + open(DEFAULTS, $defaults) || die "Could not open $defaults\n"; +@@ -16,7 +16,7 @@ + # get the full list of available options using the default config file + $i = 0; + while (<DEFAULTS>) { +- if (/^\s*OPTION_(\w+)\s*=/) { ++ if (/^\s*OPTION_(\w+\s*=.*$)/) { + $option[$i++] = $1; + } + } +@@ -35,8 +35,9 @@ + s/CONFIG_/OPTION_/g; + print; + } elsif (/^\s*#\s+CONFIG_(\w+) is not set/) { +- # this is a comment line, change CONFIG_ to OPTION_, remove this +- # option from option list, and convert to explicit OPTION_FOO=n ++ # this is a comment line for an unset boolean option, change CONFIG_ ++ # to OPTION_, remove this option from option list, and convert to ++ # explicit OPTION_FOO=n + $opt = $1; + yank($opt); + s/CONFIG_/OPTION_/g; +@@ -46,9 +47,12 @@ + } + } + +-# any options left in @options, are options that were not mentioned in ++# any boolean options left in @options, are options that were not mentioned in + # the config file, and implicitly that means the option must be set =n, + # so do that here. + foreach $opt (@option) { +- print "OPTION_$opt=n\n"; ++ if ($opt =~ /=\s*[yn]/) { ++ $opt =~ s/=\s*[yn]/=n/; ++ print "OPTION_$opt\n"; ++ } + } +Index: libc/scripts/option-groups.awk +=================================================================== +--- libc.orig/scripts/option-groups.awk 2012-01-04 22:06:00.000000000 -0800 ++++ libc/scripts/option-groups.awk 2012-05-09 19:35:28.610682107 -0700 +@@ -46,9 +46,15 @@ + print "#define __" var " 1" + else if (vars[var] == "n") + print "/* #undef __" var " */" +- # Ignore variables that don't have boolean values. +- # Ideally, this would be driven by the types given in +- # option-groups.def. ++ else if (vars[var] ~ /^[0-9]+/ || ++ vars[var] ~ /^0x[0-9aAbBcCdDeEfF]+/ || ++ vars[var] ~ /^\"/) ++ print "#define __" var " " vars[var] ++ else ++ print "/* #undef __" var " */" ++ # Ignore variables that don't have boolean, int, hex, or ++ # string values. Ideally, this would be driven by the types ++ # given in option-groups.def. + } + } + diff --git a/meta/recipes-core/eglibc/eglibc-2.18/0003-eglibc-menuconfig-build-instructions.patch b/meta/recipes-core/eglibc/eglibc-2.18/0003-eglibc-menuconfig-build-instructions.patch new file mode 100644 index 0000000000..d137f5b318 --- /dev/null +++ b/meta/recipes-core/eglibc/eglibc-2.18/0003-eglibc-menuconfig-build-instructions.patch @@ -0,0 +1,176 @@ +Pulled from + +http://www.eglibc.org/archives/patches/msg01035.html + +Upstream-Status: Pending +Signed-off-by: Khem + +As part of the menuconfig development, I encountered some outdated information in the cross-build instructions, libc/EGLIBC.cross-building. This patch updates the file with new (and tested) instructions. It is unrelated to the menuconfig support, but applies after. + +My testing was done with an ARM target, and an x86_64 Linux host, so I converted the instructions to use those host/target types from the original i686/powerpc. Hope that's ok. + + +Thanks, + +-- +Steve Longerbeam | Senior Embedded Engineer, ESD Services +Mentor Embedded(tm) | 46871 Bayside Parkway, Fremont, CA 94538 +P 510.354.5838 | M 408.410.2735 +Nucleus(r) | Linux(r) | Android(tm) | Services | UI | Multi-OS + + + EGLIBC.cross-building | 59 +++++++++++++++++++++++++++++--------------------- + 1 file changed, 35 insertions(+), 24 deletions(-) + +Index: libc/EGLIBC.cross-building +=================================================================== +--- libc.orig/EGLIBC.cross-building 2012-05-09 19:33:36.522676681 -0700 ++++ libc/EGLIBC.cross-building 2012-05-09 19:36:13.918684298 -0700 +@@ -47,31 +47,34 @@ + EGLIBC requires recent versions of the GNU binutils, GCC, and the + Linux kernel. The web page <http://www.eglibc.org/prerequisites> + documents the current requirements, and lists patches needed for +-certain target architectures. As of this writing, EGLIBC required +-binutils 2.17, GCC 4.1, and Linux 2.6.19.1. ++certain target architectures. As of this writing, these build ++instructions have been tested with binutils 2.22.51, GCC 4.6.2, ++and Linux 3.1. + + First, let's set some variables, to simplify later commands. We'll +-build EGLIBC and GCC for a PowerPC target, known to the Linux kernel +-as 'powerpc', and we'll do the build on an Intel Linux box: ++build EGLIBC and GCC for an ARM target, known to the Linux kernel ++as 'arm', and we'll do the build on an Intel x86_64 Linux box: + +- $ build=i686-pc-linux-gnu ++ $ build=x86_64-pc-linux-gnu + $ host=$build +- $ target=powerpc-none-linux-gnu +- $ linux_arch=powerpc ++ $ target=arm-none-linux-gnueabi ++ $ linux_arch=arm + + We're using the aforementioned versions of Binutils, GCC, and Linux: + +- $ binutilsv=binutils-2.17 +- $ gccv=gcc-4.1.1 +- $ linuxv=linux-2.6.20 ++ $ binutilsv=binutils-2.22.51 ++ $ gccv=gcc-4.6.2 ++ $ linuxv=linux-3.1 + + We're carrying out the entire process under '~/cross-build', which +-contains unpacked source trees: ++contains unpacked source trees for binutils, gcc, and linux kernel, ++along with EGLIBC svn trunk (which can be checked-out with ++'svn co http://www.eglibc.org/svn/trunk eglibc'): + +- $ top=$HOME/cross-build/ppc ++ $ top=$HOME/cross-build/$target + $ src=$HOME/cross-build/src + $ ls $src +- binutils-2.17 gcc-4.1.1 libc linux-2.6.20 ++ binutils-2.22.51 eglibc gcc-4.6.2 linux-3.1 + + We're going to place our build directories in a subdirectory 'obj', + we'll install the cross-development toolchain in 'tools', and we'll +@@ -99,7 +102,7 @@ + + The First GCC + +-For our work, we need a cross-compiler targeting a PowerPC Linux ++For our work, we need a cross-compiler targeting an ARM Linux + system. However, that configuration includes the shared library + 'libgcc_s.so', which is compiled against the EGLIBC headers (which we + haven't installed yet) and linked against 'libc.so' (which we haven't +@@ -125,7 +128,8 @@ + > --prefix=$tools \ + > --without-headers --with-newlib \ + > --disable-shared --disable-threads --disable-libssp \ +- > --disable-libgomp --disable-libmudflap \ ++ > --disable-libgomp --disable-libmudflap --disable-libquadmath \ ++ > --disable-decimal-float --disable-libffi \ + > --enable-languages=c + $ PATH=$tools/bin:$PATH make + $ PATH=$tools/bin:$PATH make install +@@ -162,12 +166,13 @@ + > CXX=$tools/bin/$target-g++ \ + > AR=$tools/bin/$target-ar \ + > RANLIB=$tools/bin/$target-ranlib \ +- > $src/libc/configure \ ++ > $src/eglibc/libc/configure \ + > --prefix=/usr \ + > --with-headers=$sysroot/usr/include \ + > --build=$build \ + > --host=$target \ +- > --disable-profile --without-gd --without-cvs --enable-add-ons ++ > --disable-profile --without-gd --without-cvs \ ++ > --enable-add-ons=nptl,libidn,../ports + + The option '--prefix=/usr' may look strange, but you should never + configure EGLIBC with a prefix other than '/usr': in various places, +@@ -181,6 +186,11 @@ + The '--with-headers' option tells EGLIBC where the Linux headers have + been installed. + ++The '--enable-add-ons=nptl,libidn,../ports' option tells EGLIBC to look ++for the listed glibc add-ons. Most notably the ports add-on (located ++just above the libc sources in the EGLIBC svn tree) is required to ++support ARM targets. ++ + We can now use the 'install-headers' makefile target to install the + headers: + +@@ -223,6 +233,7 @@ + > --prefix=$tools \ + > --with-sysroot=$sysroot \ + > --disable-libssp --disable-libgomp --disable-libmudflap \ ++ > --disable-libffi --disable-libquadmath \ + > --enable-languages=c + $ PATH=$tools/bin:$PATH make + $ PATH=$tools/bin:$PATH make install +@@ -240,13 +251,14 @@ + > CXX=$tools/bin/$target-g++ \ + > AR=$tools/bin/$target-ar \ + > RANLIB=$tools/bin/$target-ranlib \ +- > $src/libc/configure \ ++ > $src/eglibc/libc/configure \ + > --prefix=/usr \ + > --with-headers=$sysroot/usr/include \ + > --with-kconfig=$obj/linux/scripts/kconfig \ + > --build=$build \ + > --host=$target \ +- > --disable-profile --without-gd --without-cvs --enable-add-ons ++ > --disable-profile --without-gd --without-cvs \ ++ > --enable-add-ons=nptl,libidn,../ports + + Note the additional '--with-kconfig' option. This tells EGLIBC where to + find the host config tools used by the kernel 'make config' and 'make +@@ -337,15 +349,15 @@ + ELF Header: + ... + Type: EXEC (Executable file) +- Machine: PowerPC ++ Machine: ARM + + ... + Program Headers: + Type Offset VirtAddr PhysAddr FileSiz MemSiz Flg Align + PHDR 0x000034 0x10000034 0x10000034 0x00100 0x00100 R E 0x4 +- INTERP 0x000134 0x10000134 0x10000134 0x0000d 0x0000d R 0x1 +- [Requesting program interpreter: /lib/ld.so.1] +- LOAD 0x000000 0x10000000 0x10000000 0x008f0 0x008f0 R E 0x10000 ++ INTERP 0x000134 0x00008134 0x00008134 0x00013 0x00013 R 0x1 ++ [Requesting program interpreter: /lib/ld-linux.so.3] ++ LOAD 0x000000 0x00008000 0x00008000 0x0042c 0x0042c R E 0x8000 + ... + + Looking at the dynamic section of the installed 'libgcc_s.so', we see +@@ -357,7 +369,6 @@ + Dynamic section at offset 0x1083c contains 24 entries: + Tag Type Name/Value + 0x00000001 (NEEDED) Shared library: [libc.so.6] +- 0x00000001 (NEEDED) Shared library: [ld.so.1] + 0x0000000e (SONAME) Library soname: [libgcc_s.so.1] + ... + diff --git a/meta/recipes-core/eglibc/eglibc-2.18/GLRO_dl_debug_mask.patch b/meta/recipes-core/eglibc/eglibc-2.18/GLRO_dl_debug_mask.patch new file mode 100644 index 0000000000..7258c82418 --- /dev/null +++ b/meta/recipes-core/eglibc/eglibc-2.18/GLRO_dl_debug_mask.patch @@ -0,0 +1,143 @@ +Its controlled by __OPTION_EGLIBC_RTLD_DEBUG +so we should use GLRO_dl_debug_mask + +Singed-off-by: Khem Raj <raj.khem@gmail.com> + +Upstream-Status: Pending +Index: libc/elf/dl-open.c +=================================================================== +--- libc.orig/elf/dl-open.c 2012-10-25 10:18:12.000000000 -0700 ++++ libc/elf/dl-open.c 2013-01-09 11:49:02.635577870 -0800 +@@ -155,7 +155,7 @@ + ns->_ns_main_searchlist->r_list[new_nlist++] = map; + + /* We modify the global scope. Report this. */ +- if (__builtin_expect (GLRO(dl_debug_mask) & DL_DEBUG_SCOPES, 0)) ++ if (__builtin_expect (GLRO_dl_debug_mask & DL_DEBUG_SCOPES, 0)) + _dl_debug_printf ("\nadd %s [%lu] to global scope\n", + map->l_name, map->l_ns); + } +@@ -298,7 +298,7 @@ + LIBC_PROBE (map_complete, 3, args->nsid, r, new); + + /* Print scope information. */ +- if (__builtin_expect (GLRO(dl_debug_mask) & DL_DEBUG_SCOPES, 0)) ++ if (__builtin_expect (GLRO_dl_debug_mask & DL_DEBUG_SCOPES, 0)) + _dl_show_scope (new, 0); + + /* Only do lazy relocation if `LD_BIND_NOW' is not set. */ +@@ -515,7 +515,7 @@ + } + + /* Print scope information. */ +- if (__builtin_expect (GLRO(dl_debug_mask) & DL_DEBUG_SCOPES, 0)) ++ if (__builtin_expect (GLRO_dl_debug_mask & DL_DEBUG_SCOPES, 0)) + _dl_show_scope (imap, from_scope); + } + +Index: libc/ports/sysdeps/mips/dl-lookup.c +=================================================================== +--- libc.orig/ports/sysdeps/mips/dl-lookup.c 2012-08-17 12:39:53.000000000 -0700 ++++ libc/ports/sysdeps/mips/dl-lookup.c 2013-01-09 11:49:02.635577870 -0800 +@@ -111,7 +111,7 @@ + continue; + + /* Print some debugging info if wanted. */ +- if (__builtin_expect (GLRO(dl_debug_mask) & DL_DEBUG_SYMBOLS, 0)) ++ if (__builtin_expect (GLRO_dl_debug_mask & DL_DEBUG_SYMBOLS, 0)) + _dl_debug_printf ("symbol=%s; lookup in file=%s [%lu]\n", + undef_name, + map->l_name[0] ? map->l_name : rtld_progname, +@@ -432,7 +432,7 @@ + hash table. */ + if (__builtin_expect (tab->size, 0)) + { +- assert (GLRO(dl_debug_mask) & DL_DEBUG_PRELINK); ++ assert (GLRO_dl_debug_mask & DL_DEBUG_PRELINK); + __rtld_lock_unlock_recursive (tab->lock); + goto success; + } +@@ -681,7 +681,7 @@ + } + + /* Display information if we are debugging. */ +- if (__builtin_expect (GLRO(dl_debug_mask) & DL_DEBUG_FILES, 0)) ++ if (__builtin_expect (GLRO_dl_debug_mask & DL_DEBUG_FILES, 0)) + _dl_debug_printf ("\ + \nfile=%s [%lu]; needed by %s [%lu] (relocation dependency)\n\n", + map->l_name[0] ? map->l_name : rtld_progname, +@@ -788,7 +788,7 @@ + { + if ((*ref == NULL || ELFW(ST_BIND) ((*ref)->st_info) != STB_WEAK) + && skip_map == NULL +- && !(GLRO(dl_debug_mask) & DL_DEBUG_UNUSED)) ++ && !(GLRO_dl_debug_mask & DL_DEBUG_UNUSED)) + { + /* We could find no value for a strong reference. */ + const char *reference_name = undef_map ? undef_map->l_name : ""; +@@ -861,7 +861,7 @@ + if (__builtin_expect (current_value.m->l_used == 0, 0)) + current_value.m->l_used = 1; + +- if (__builtin_expect (GLRO(dl_debug_mask) ++ if (__builtin_expect (GLRO_dl_debug_mask + & (DL_DEBUG_BINDINGS|DL_DEBUG_PRELINK), 0)) + _dl_debug_bindings (undef_name, undef_map, ref, + ¤t_value, version, type_class, protected); +@@ -926,7 +926,7 @@ + { + const char *reference_name = undef_map->l_name; + +- if (GLRO(dl_debug_mask) & DL_DEBUG_BINDINGS) ++ if (GLRO_dl_debug_mask & DL_DEBUG_BINDINGS) + { + _dl_debug_printf ("binding file %s [%lu] to %s [%lu]: %s symbol `%s'", + (reference_name[0] +@@ -942,7 +942,7 @@ + _dl_debug_printf_c ("\n"); + } + #ifdef SHARED +- if (GLRO(dl_debug_mask) & DL_DEBUG_PRELINK) ++ if (GLRO_dl_debug_mask & DL_DEBUG_PRELINK) + { + int conflict = 0; + struct sym_val val = { NULL, NULL }; +Index: libc/elf/rtld.c +=================================================================== +--- libc.orig/elf/rtld.c 2012-10-10 08:35:46.000000000 -0700 ++++ libc/elf/rtld.c 2013-01-09 11:49:02.635577870 -0800 +@@ -2118,7 +2118,7 @@ + GLRO(dl_init_all_dirs) = GL(dl_all_dirs); + + /* Print scope information. */ +- if (__builtin_expect (GLRO(dl_debug_mask) & DL_DEBUG_SCOPES, 0)) ++ if (__builtin_expect (GLRO_dl_debug_mask & DL_DEBUG_SCOPES, 0)) + { + _dl_debug_printf ("\nInitial object scopes\n"); + +Index: libc/elf/dl-lookup.c +=================================================================== +--- libc.orig/elf/dl-lookup.c 2012-08-17 12:39:53.000000000 -0700 ++++ libc/elf/dl-lookup.c 2013-01-09 11:49:02.635577870 -0800 +@@ -771,7 +771,7 @@ + { + if ((*ref == NULL || ELFW(ST_BIND) ((*ref)->st_info) != STB_WEAK) + && skip_map == NULL +- && !(GLRO(dl_debug_mask) & DL_DEBUG_UNUSED)) ++ && !(GLRO_dl_debug_mask & DL_DEBUG_UNUSED)) + { + /* We could find no value for a strong reference. */ + const char *reference_name = undef_map ? undef_map->l_name : ""; +Index: libc/elf/get-dynamic-info.h +=================================================================== +--- libc.orig/elf/get-dynamic-info.h 2012-12-02 13:11:45.000000000 -0800 ++++ libc/elf/get-dynamic-info.h 2013-01-09 12:53:51.015657653 -0800 +@@ -157,7 +157,7 @@ + them. Therefore to avoid breaking existing applications the + best we can do is add a warning during debugging with the + intent of notifying the user of the problem. */ +- if (__builtin_expect (GLRO(dl_debug_mask) & DL_DEBUG_FILES, 0) ++ if (__builtin_expect (GLRO_dl_debug_mask & DL_DEBUG_FILES, 0) + && l->l_flags_1 & ~DT_1_SUPPORTED_MASK) + _dl_debug_printf ("\nWARNING: Unsupported flag value(s) of 0x%x in DT_FLAGS_1.\n", + l->l_flags_1 & ~DT_1_SUPPORTED_MASK); diff --git a/meta/recipes-core/eglibc/eglibc-2.18/IO-acquire-lock-fix.patch b/meta/recipes-core/eglibc/eglibc-2.18/IO-acquire-lock-fix.patch new file mode 100644 index 0000000000..cf5803585c --- /dev/null +++ b/meta/recipes-core/eglibc/eglibc-2.18/IO-acquire-lock-fix.patch @@ -0,0 +1,17 @@ +import http://sourceware.org/ml/libc-ports/2007-12/msg00000.html + +Upstream-Status: Pending + +Index: libc/bits/stdio-lock.h +=================================================================== +--- libc.orig/bits/stdio-lock.h 2009-10-28 14:34:19.000000000 -0700 ++++ libc/bits/stdio-lock.h 2009-10-28 14:34:54.000000000 -0700 +@@ -50,6 +50,8 @@ __libc_lock_define_recursive (typedef, _ + _IO_cleanup_region_start ((void (*) (void *)) _IO_funlockfile, (_fp)); \ + _IO_flockfile (_fp) + ++# define _IO_acquire_lock_clear_flags2(_fp) _IO_acquire_lock (_fp) ++ + # define _IO_release_lock(_fp) \ + _IO_funlockfile (_fp); \ + _IO_cleanup_region_end (0) diff --git a/meta/recipes-core/eglibc/eglibc-2.18/add_resource_h_to_wait_h.patch b/meta/recipes-core/eglibc/eglibc-2.18/add_resource_h_to_wait_h.patch new file mode 100644 index 0000000000..f5023c08d4 --- /dev/null +++ b/meta/recipes-core/eglibc/eglibc-2.18/add_resource_h_to_wait_h.patch @@ -0,0 +1,20 @@ +The older versions of perf still require sys/resource.h to be +present in this header, the newer version of perf in 3.2 and +beyond directly include sys/resource.h + +Upstream-Status: Inapproriate [older kernel/perf specific] + +Signed-off-by: Saul Wold <sgw@linux.intel.com> + +Index: libc/posix/sys/wait.h +=================================================================== +--- libc.orig/posix/sys/wait.h ++++ libc/posix/sys/wait.h +@@ -28,6 +28,7 @@ + __BEGIN_DECLS + + #include <signal.h> ++#include <sys/resource.h> + + /* These macros could also be defined in <stdlib.h>. */ + #if !defined _STDLIB_H || (!defined __USE_XOPEN && !defined __USE_XOPEN2K8) diff --git a/meta/recipes-core/eglibc/eglibc-2.18/eglibc-2.17-PR15003-r22243.patch b/meta/recipes-core/eglibc/eglibc-2.18/eglibc-2.17-PR15003-r22243.patch new file mode 100644 index 0000000000..a69302bb7d --- /dev/null +++ b/meta/recipes-core/eglibc/eglibc-2.18/eglibc-2.17-PR15003-r22243.patch @@ -0,0 +1,207 @@ +Index: libc/NEWS +=================================================================== +--- libc/NEWS (revision 22242) ++++ libc/NEWS (revision 22243) +@@ -23,7 +23,7 @@ + 14767, 14783, 14784, 14785, 14793, 14796, 14797, 14801, 14803, 14805, + 14807, 14811, 14815, 14821, 14822, 14824, 14828, 14831, 14833, 14835, + 14838, 14856, 14863, 14865, 14866, 14868, 14869, 14871, 14872, 14879, +- 14889, 14893, 14898, 14914. ++ 14889, 14893, 14898, 14914, 15003. + + * Optimization of memcpy for MIPS. + +Index: libc/ChangeLog +=================================================================== +--- libc/ChangeLog (revision 22242) ++++ libc/ChangeLog (revision 22243) +@@ -1,3 +1,29 @@ ++2013-01-11 Andreas Jaeger <aj@suse.de> ++ ++ [BZ #15003] ++ * sysdeps/unix/sysv/linux/bits/socket.h (MSG_FASTOPEN): New ++ value. Sync with Linux 3.7. ++ ++2013-01-09 David S. Miller <davem@davemloft.net> ++ ++ [BZ# 15003] ++ * sysdeps/gnu/netinet/tcp.h (TCP_COOKIE_TRANSACTIONS, ++ TCP_THIN_LINEAR_TIMEOUTS, TCP_THIN_DUPACK, TCP_USER_TIMEOUT, ++ TCP_REPAIR, TCP_REPAIR_QUEUE, TCP_QUEUE_SEQ, TCP_REPAIR_OPTIONS, ++ TCP_FASTOPEN): Define. ++ (tcp_repair_opt): New structure. ++ (TCP_NO_QUEUE, TCP_RECV_QUEUE, TCP_SEND_QUEUE, TCP_QUEUES_NR): New ++ enum values. ++ (TCP_COOKIE_MIN, TCP_COOKIE_MAX, TCP_COOKIE_PAIR_SIZE, ++ TCP_COOKIE_IN_ALWAYS, TCP_COOKIE_OUT_NEVER, TCP_S_DATA_IN, ++ TCP_S_DATA_OUT, TCP_MSS_DEFAULT, TCP_MSS_DESIRED): Define. ++ (tcp_cookie_transactions): New structure. ++ ++2013-01-09 Andreas Jaeger <aj@suse.de> ++ ++ * sysdeps/gnu/netinet/tcp.h (TCPI_OPT_SYN_DATA) ++ (TCPI_OPT_ECN_SEEN): Define. Sync with Linux 3.7. ++ + 2013-01-01 David S. Miller <davem@davemloft.net> + + * po/fr.po: Update from translation team. +Index: libc/sysdeps/unix/sysv/linux/bits/socket.h +=================================================================== +--- libc/sysdeps/unix/sysv/linux/bits/socket.h (revision 22242) ++++ libc/sysdeps/unix/sysv/linux/bits/socket.h (revision 22243) +@@ -1,6 +1,5 @@ + /* System-specific socket constants and types. Linux version. +- Copyright (C) 1991, 1992, 1994-2001, 2004, 2006-2010, 2011, 2012 +- Free Software Foundation, Inc. ++ Copyright (C) 1991-2013 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 +@@ -208,6 +207,8 @@ + #define MSG_MORE MSG_MORE + MSG_WAITFORONE = 0x10000, /* Wait for at least one packet to return.*/ + #define MSG_WAITFORONE MSG_WAITFORONE ++ MSG_FASTOPEN = 0x20000000, /* Send data in TCP SYN. */ ++#define MSG_FASTOPEN MSG_FASTOPEN + + MSG_CMSG_CLOEXEC = 0x40000000 /* Set close_on_exit for file + descriptor received through +Index: libc/sysdeps/gnu/netinet/tcp.h +=================================================================== +--- libc/sysdeps/gnu/netinet/tcp.h (revision 22242) ++++ libc/sysdeps/gnu/netinet/tcp.h (revision 22243) +@@ -37,20 +37,29 @@ + /* + * User-settable options (used with setsockopt). + */ +-#define TCP_NODELAY 1 /* Don't delay send to coalesce packets */ +-#define TCP_MAXSEG 2 /* Set maximum segment size */ +-#define TCP_CORK 3 /* Control sending of partial frames */ +-#define TCP_KEEPIDLE 4 /* Start keeplives after this period */ +-#define TCP_KEEPINTVL 5 /* Interval between keepalives */ +-#define TCP_KEEPCNT 6 /* Number of keepalives before death */ +-#define TCP_SYNCNT 7 /* Number of SYN retransmits */ +-#define TCP_LINGER2 8 /* Life time of orphaned FIN-WAIT-2 state */ +-#define TCP_DEFER_ACCEPT 9 /* Wake up listener only when data arrive */ +-#define TCP_WINDOW_CLAMP 10 /* Bound advertised window */ +-#define TCP_INFO 11 /* Information about this connection. */ +-#define TCP_QUICKACK 12 /* Bock/reenable quick ACKs. */ +-#define TCP_CONGESTION 13 /* Congestion control algorithm. */ +-#define TCP_MD5SIG 14 /* TCP MD5 Signature (RFC2385) */ ++#define TCP_NODELAY 1 /* Don't delay send to coalesce packets */ ++#define TCP_MAXSEG 2 /* Set maximum segment size */ ++#define TCP_CORK 3 /* Control sending of partial frames */ ++#define TCP_KEEPIDLE 4 /* Start keeplives after this period */ ++#define TCP_KEEPINTVL 5 /* Interval between keepalives */ ++#define TCP_KEEPCNT 6 /* Number of keepalives before death */ ++#define TCP_SYNCNT 7 /* Number of SYN retransmits */ ++#define TCP_LINGER2 8 /* Life time of orphaned FIN-WAIT-2 state */ ++#define TCP_DEFER_ACCEPT 9 /* Wake up listener only when data arrive */ ++#define TCP_WINDOW_CLAMP 10 /* Bound advertised window */ ++#define TCP_INFO 11 /* Information about this connection. */ ++#define TCP_QUICKACK 12 /* Bock/reenable quick ACKs. */ ++#define TCP_CONGESTION 13 /* Congestion control algorithm. */ ++#define TCP_MD5SIG 14 /* TCP MD5 Signature (RFC2385) */ ++#define TCP_COOKIE_TRANSACTIONS 15 /* TCP Cookie Transactions */ ++#define TCP_THIN_LINEAR_TIMEOUTS 16 /* Use linear timeouts for thin streams*/ ++#define TCP_THIN_DUPACK 17 /* Fast retrans. after 1 dupack */ ++#define TCP_USER_TIMEOUT 18 /* How long for loss retry before timeout */ ++#define TCP_REPAIR 19 /* TCP sock is under repair right now */ ++#define TCP_REPAIR_QUEUE 20 /* Set TCP queue to repair */ ++#define TCP_QUEUE_SEQ 21 /* Set sequence number of repaired queue. */ ++#define TCP_REPAIR_OPTIONS 22 /* Repair TCP connection options */ ++#define TCP_FASTOPEN 23 /* Enable FastOpen on listeners */ + + #ifdef __USE_MISC + # include <sys/types.h> +@@ -173,7 +182,9 @@ + # define TCPI_OPT_TIMESTAMPS 1 + # define TCPI_OPT_SACK 2 + # define TCPI_OPT_WSCALE 4 +-# define TCPI_OPT_ECN 8 ++# define TCPI_OPT_ECN 8 /* ECN was negociated at TCP session init */ ++# define TCPI_OPT_ECN_SEEN 16 /* we received at least one packet with ECT */ ++# define TCPI_OPT_SYN_DATA 32 /* SYN-ACK acked data in SYN sent or rcvd */ + + /* Values for tcpi_state. */ + enum tcp_ca_state +@@ -241,6 +252,49 @@ + u_int8_t tcpm_key[TCP_MD5SIG_MAXKEYLEN]; /* Key (binary). */ + }; + ++/* For socket repair options. */ ++struct tcp_repair_opt ++{ ++ u_int32_t opt_code; ++ u_int32_t opt_val; ++}; ++ ++/* Queue to repair, for TCP_REPAIR_QUEUE. */ ++enum ++{ ++ TCP_NO_QUEUE, ++ TCP_RECV_QUEUE, ++ TCP_SEND_QUEUE, ++ TCP_QUEUES_NR, ++}; ++ ++/* For cookie transactions socket options. */ ++#define TCP_COOKIE_MIN 8 /* 64-bits */ ++#define TCP_COOKIE_MAX 16 /* 128-bits */ ++#define TCP_COOKIE_PAIR_SIZE (2*TCP_COOKIE_MAX) ++ ++/* Flags for both getsockopt and setsockopt */ ++#define TCP_COOKIE_IN_ALWAYS (1 << 0) /* Discard SYN without cookie */ ++#define TCP_COOKIE_OUT_NEVER (1 << 1) /* Prohibit outgoing cookies, ++ * supercedes everything. */ ++ ++/* Flags for getsockopt */ ++#define TCP_S_DATA_IN (1 << 2) /* Was data received? */ ++#define TCP_S_DATA_OUT (1 << 3) /* Was data sent? */ ++ ++#define TCP_MSS_DEFAULT 536U /* IPv4 (RFC1122, RFC2581) */ ++#define TCP_MSS_DESIRED 1220U /* IPv6 (tunneled), EDNS0 (RFC3226) */ ++ ++struct tcp_cookie_transactions ++{ ++ u_int16_t tcpct_flags; ++ u_int8_t __tcpct_pad1; ++ u_int8_t tcpct_cookie_desired; ++ u_int16_t tcpct_s_data_desired; ++ u_int16_t tcpct_used; ++ u_int8_t tcpct_value[TCP_MSS_DEFAULT]; ++}; ++ + #endif /* Misc. */ + + #endif /* netinet/tcp.h */ + +Property changes on: libc/ports/sysdeps/unix/sysv/linux/powerpc/powerpc32/e500/single/nptl/c++-types.data +___________________________________________________________________ +Modified: svn:mergeinfo + Merged /fsf/glibc-2_17-branch/libc/ports/sysdeps/unix/sysv/linux/powerpc/powerpc32/e500/single/nptl/c++-types.data:r22178-22242 + + +Property changes on: libc/ports/sysdeps/unix/sysv/linux/powerpc/powerpc32/e500/single/nptl/localplt.data +___________________________________________________________________ +Modified: svn:mergeinfo + Merged /fsf/glibc-2_17-branch/libc/ports/sysdeps/unix/sysv/linux/powerpc/powerpc32/e500/single/nptl/localplt.data:r22178-22242 + + +Property changes on: libc/ports/sysdeps/unix/sysv/linux/powerpc/powerpc32/e500/nptl/c++-types.data +___________________________________________________________________ +Modified: svn:mergeinfo + Merged /fsf/glibc-2_17-branch/libc/ports/sysdeps/unix/sysv/linux/powerpc/powerpc32/e500/nptl/c++-types.data:r22178-22242 + + +Property changes on: libc/ports/sysdeps/unix/sysv/linux/powerpc/powerpc32/e500/nptl/localplt.data +___________________________________________________________________ +Modified: svn:mergeinfo + Merged /fsf/glibc-2_17-branch/libc/ports/sysdeps/unix/sysv/linux/powerpc/powerpc32/e500/nptl/localplt.data:r22178-22242 + + +Property changes on: . +___________________________________________________________________ +Modified: svn:mergeinfo + Merged /fsf/glibc-2_17-branch:r22178-22242 + diff --git a/meta/recipes-core/eglibc/eglibc-2.18/eglibc-2.17-r22178.patch b/meta/recipes-core/eglibc/eglibc-2.18/eglibc-2.17-r22178.patch new file mode 100644 index 0000000000..2ad1e23bcf --- /dev/null +++ b/meta/recipes-core/eglibc/eglibc-2.18/eglibc-2.17-r22178.patch @@ -0,0 +1,9472 @@ +Index: libc/ChangeLog +=================================================================== +--- libc/ChangeLog (revision 22177) ++++ libc/ChangeLog (revision 22178) +@@ -1,3 +1,8 @@ ++2013-01-01 David S. Miller <davem@davemloft.net> ++ ++ * po/fr.po: Update from translation team. ++ * po/ca.po: Likewise. ++ + 2012-12-21 David S. Miller <davem@davemloft.net> + + * po/hr.po: Update from translation team. + +Property changes on: libc/ports/sysdeps/unix/sysv/linux/powerpc/powerpc32/e500/single/nptl/c++-types.data +___________________________________________________________________ +Modified: svn:mergeinfo + Merged /fsf/glibc-2_17-branch/libc/ports/sysdeps/unix/sysv/linux/powerpc/powerpc32/e500/single/nptl/c++-types.data:r22064-22177 + + +Property changes on: libc/ports/sysdeps/unix/sysv/linux/powerpc/powerpc32/e500/single/nptl/localplt.data +___________________________________________________________________ +Modified: svn:mergeinfo + Merged /fsf/glibc-2_17-branch/libc/ports/sysdeps/unix/sysv/linux/powerpc/powerpc32/e500/single/nptl/localplt.data:r22064-22177 + + +Property changes on: libc/ports/sysdeps/unix/sysv/linux/powerpc/powerpc32/e500/nptl/c++-types.data +___________________________________________________________________ +Modified: svn:mergeinfo + Merged /fsf/glibc-2_17-branch/libc/ports/sysdeps/unix/sysv/linux/powerpc/powerpc32/e500/nptl/c++-types.data:r22064-22177 + + +Property changes on: libc/ports/sysdeps/unix/sysv/linux/powerpc/powerpc32/e500/nptl/localplt.data +___________________________________________________________________ +Modified: svn:mergeinfo + Merged /fsf/glibc-2_17-branch/libc/ports/sysdeps/unix/sysv/linux/powerpc/powerpc32/e500/nptl/localplt.data:r22064-22177 + +Index: libc/po/fr.po +=================================================================== +--- libc/po/fr.po (revision 22177) ++++ libc/po/fr.po (revision 22178) +@@ -7,9 +7,9 @@ + # kerb <traduc@traduc.org>, 2008, 2009. + msgid "" + msgstr "" +-"Project-Id-Version: libc-2.16-pre1\n" +-"POT-Creation-Date: 2012-06-21 07:51-0700\n" +-"PO-Revision-Date: 2012-07-12 08:16+0100\n" ++"Project-Id-Version: libc-2.17-pre1\n" ++"POT-Creation-Date: 2012-12-07 15:10-0500\n" ++"PO-Revision-Date: 2012-12-30 17:20+0100\n" + "Last-Translator: kerb <y.kerb@laposte.net>\n" + "Language-Team: French <traduc@traduc.org>\n" + "Language: fr\n" +@@ -19,45 +19,45 @@ + "Plural-Forms: nplurals=2; plural=(n > 1);\n" + "X-Generator: KBabel 1.11.4\n" + +-#: argp/argp-help.c:226 ++#: argp/argp-help.c:227 + #, c-format + msgid "%.*s: ARGP_HELP_FMT parameter requires a value" + msgstr "%.*s : le paramètre ARGP_HELP_FMT requiert une valeur" + +-#: argp/argp-help.c:236 ++#: argp/argp-help.c:237 + #, c-format + msgid "%.*s: Unknown ARGP_HELP_FMT parameter" + msgstr "% *s : paramètre ARGP_HELP_FMT inconnu" + +-#: argp/argp-help.c:249 ++#: argp/argp-help.c:250 + #, c-format + msgid "Garbage in ARGP_HELP_FMT: %s" + msgstr "Rebut dans l'argument ARGP_HELP_FMT : %s" + +-#: argp/argp-help.c:1213 ++#: argp/argp-help.c:1214 + msgid "Mandatory or optional arguments to long options are also mandatory or optional for any corresponding short options." + msgstr "" + "Les arguments obligatoires ou optionnels pour les options de formes longues\n" + "le sont aussi pour les options de forme courtes." + +-#: argp/argp-help.c:1599 ++#: argp/argp-help.c:1600 + msgid "Usage:" + msgstr "Usage :" + +-#: argp/argp-help.c:1603 ++#: argp/argp-help.c:1604 + msgid " or: " + msgstr " ou : " + +-#: argp/argp-help.c:1615 ++#: argp/argp-help.c:1616 + msgid " [OPTION...]" + msgstr " [OPTION...]" + +-#: argp/argp-help.c:1642 ++#: argp/argp-help.c:1643 + #, c-format + msgid "Try `%s --help' or `%s --usage' for more information.\n" + msgstr "Pour en savoir davantage, faites : «%s --help » ou «%s --usage».\n" + +-#: argp/argp-help.c:1670 ++#: argp/argp-help.c:1671 + #, c-format + msgid "Report bugs to %s.\n" + msgstr "Rapporter toutes anomalies à %s.\n" +@@ -109,7 +109,7 @@ + "%s%s%s :%u : %s%s l'assertion « %s » a échoué.\n" + "%n" + +-#: catgets/gencat.c:109 catgets/gencat.c:113 nscd/nscd.c:115 nss/makedb.c:118 ++#: catgets/gencat.c:109 catgets/gencat.c:113 nscd/nscd.c:115 nss/makedb.c:119 + msgid "NAME" + msgstr "NOM" + +@@ -121,7 +121,7 @@ + msgid "Do not use existing catalog, force new output file" + msgstr "Ne pas utiliser le catalogue existant, forcer la génération d'un autre fichier" + +-#: catgets/gencat.c:113 nss/makedb.c:118 ++#: catgets/gencat.c:113 nss/makedb.c:119 + msgid "Write output to file NAME" + msgstr "Écrit en sortie dans le FICHIER" + +@@ -141,28 +141,27 @@ + "-o FICHIER_DE_SORTIE [FICHIER_D_ENTRÉE]...\n" + "[FICHIER_DE_SORTIE [FICHIER_D_ENTRÉE]...]" + +-#: catgets/gencat.c:234 debug/pcprofiledump.c:207 debug/xtrace.sh:57 +-#: elf/ldconfig.c:301 elf/ldd.bash.in:55 elf/pldd.c:56 elf/sln.c:85 +-#: elf/sotruss.ksh:49 elf/sprof.c:370 iconv/iconv_prog.c:407 +-#: iconv/iconvconfig.c:382 locale/programs/locale.c:278 +-#: locale/programs/localedef.c:367 login/programs/pt_chown.c:91 +-#: malloc/memusage.sh:64 malloc/memusagestat.c:538 nscd/nscd.c:456 +-#: nss/getent.c:965 nss/makedb.c:369 posix/getconf.c:1121 +-#: sunrpc/rpc_main.c:1446 sunrpc/rpcinfo.c:691 ++#: catgets/gencat.c:235 debug/pcprofiledump.c:208 elf/ldconfig.c:302 ++#: elf/pldd.c:222 elf/sln.c:85 elf/sprof.c:371 iconv/iconv_prog.c:408 ++#: iconv/iconvconfig.c:383 locale/programs/locale.c:279 ++#: locale/programs/localedef.c:363 login/programs/pt_chown.c:88 ++#: malloc/memusagestat.c:536 nscd/nscd.c:459 nss/getent.c:965 nss/makedb.c:371 ++#: posix/getconf.c:1121 sunrpc/rpcinfo.c:691 + #: sysdeps/unix/sysv/linux/lddlibc4.c:61 ++#, c-format + msgid "" + "For bug reporting instructions, please see:\n" +-"<http://www.gnu.org/software/libc/bugs.html>.\n" ++"%s.\n" + msgstr "" + "Pour les instructions de rapport de bug, SVP voyez là : \n" +-"<http://www.gnu.org/software/libc/bugs.html>.\n" ++"%s.\n" + +-#: catgets/gencat.c:248 debug/pcprofiledump.c:221 debug/xtrace.sh:65 +-#: elf/ldconfig.c:315 elf/ldd.bash.in:38 elf/pldd.c:220 elf/sotruss.ksh:76 +-#: elf/sprof.c:385 iconv/iconv_prog.c:422 iconv/iconvconfig.c:397 +-#: locale/programs/locale.c:293 locale/programs/localedef.c:383 +-#: login/programs/pt_chown.c:62 malloc/memusage.sh:72 +-#: malloc/memusagestat.c:556 nscd/nscd.c:470 nss/getent.c:86 nss/makedb.c:383 ++#: catgets/gencat.c:251 debug/pcprofiledump.c:224 debug/xtrace.sh:64 ++#: elf/ldconfig.c:318 elf/ldd.bash.in:38 elf/pldd.c:238 elf/sotruss.ksh:75 ++#: elf/sprof.c:388 iconv/iconv_prog.c:425 iconv/iconvconfig.c:400 ++#: locale/programs/locale.c:296 locale/programs/localedef.c:389 ++#: login/programs/pt_chown.c:62 malloc/memusage.sh:71 ++#: malloc/memusagestat.c:552 nscd/nscd.c:475 nss/getent.c:86 nss/makedb.c:387 + #: posix/getconf.c:1103 sysdeps/unix/sysv/linux/lddlibc4.c:68 + #, c-format + msgid "" +@@ -175,96 +174,96 @@ + "reproduction. AUCUNE garantie n'est donnée; tant pour des raisons\n" + "COMMERCIALES que pour RÉPONDRE À UN BESOIN PARTICULIER.\n" + +-#: catgets/gencat.c:253 debug/pcprofiledump.c:226 debug/xtrace.sh:69 +-#: elf/ldconfig.c:320 elf/pldd.c:225 elf/sprof.c:391 iconv/iconv_prog.c:427 +-#: iconv/iconvconfig.c:402 locale/programs/locale.c:298 +-#: locale/programs/localedef.c:388 malloc/memusage.sh:76 +-#: malloc/memusagestat.c:561 nscd/nscd.c:475 nss/getent.c:91 nss/makedb.c:388 ++#: catgets/gencat.c:256 debug/pcprofiledump.c:229 debug/xtrace.sh:68 ++#: elf/ldconfig.c:323 elf/pldd.c:243 elf/sprof.c:394 iconv/iconv_prog.c:430 ++#: iconv/iconvconfig.c:405 locale/programs/locale.c:301 ++#: locale/programs/localedef.c:394 malloc/memusage.sh:75 ++#: malloc/memusagestat.c:557 nscd/nscd.c:480 nss/getent.c:91 nss/makedb.c:392 + #: posix/getconf.c:1108 + #, c-format + msgid "Written by %s.\n" + msgstr "Écrit par %s.\n" + +-#: catgets/gencat.c:284 ++#: catgets/gencat.c:287 + msgid "*standard input*" + msgstr "*entrée standard*" + +-#: catgets/gencat.c:290 iconv/iconv_charmap.c:171 iconv/iconv_prog.c:293 +-#: nss/makedb.c:247 ++#: catgets/gencat.c:293 iconv/iconv_charmap.c:169 iconv/iconv_prog.c:293 ++#: nss/makedb.c:248 + #, c-format + msgid "cannot open input file `%s'" + msgstr "ne peut ouvrir le fichier d'entrée « %s »" + +-#: catgets/gencat.c:419 catgets/gencat.c:494 ++#: catgets/gencat.c:422 catgets/gencat.c:497 + msgid "illegal set number" + msgstr "numéro d'ensemble non permis" + +-#: catgets/gencat.c:446 ++#: catgets/gencat.c:449 + msgid "duplicate set definition" + msgstr "double définitions d'ensemble" + +-#: catgets/gencat.c:448 catgets/gencat.c:620 catgets/gencat.c:672 ++#: catgets/gencat.c:451 catgets/gencat.c:623 catgets/gencat.c:675 + msgid "this is the first definition" + msgstr "ceci est la première définition" + +-#: catgets/gencat.c:519 ++#: catgets/gencat.c:522 + #, c-format + msgid "unknown set `%s'" + msgstr "ensemble inconnu « %s »" + +-#: catgets/gencat.c:560 ++#: catgets/gencat.c:563 + msgid "invalid quote character" + msgstr "caractère de citation (quote) invalide" + +-#: catgets/gencat.c:573 ++#: catgets/gencat.c:576 + #, c-format + msgid "unknown directive `%s': line ignored" + msgstr "directive inconnue « %s » : ligne ignorée" + +-#: catgets/gencat.c:618 ++#: catgets/gencat.c:621 + msgid "duplicated message number" + msgstr "numéro de message en double" + +-#: catgets/gencat.c:669 ++#: catgets/gencat.c:672 + msgid "duplicated message identifier" + msgstr "identifiant de message en double" + +-#: catgets/gencat.c:726 ++#: catgets/gencat.c:729 + msgid "invalid character: message ignored" + msgstr "caractère invalide : message ignoré" + +-#: catgets/gencat.c:769 ++#: catgets/gencat.c:772 + msgid "invalid line" + msgstr "ligne invalide" + +-#: catgets/gencat.c:823 ++#: catgets/gencat.c:826 + msgid "malformed line ignored" + msgstr "ligne incorrecte ignorée" + +-#: catgets/gencat.c:987 catgets/gencat.c:1028 ++#: catgets/gencat.c:990 catgets/gencat.c:1031 + #, c-format + msgid "cannot open output file `%s'" + msgstr "ne peut ouvrir le fichier de sortie « %s »" + +-#: catgets/gencat.c:1190 locale/programs/linereader.c:559 ++#: catgets/gencat.c:1193 locale/programs/linereader.c:559 + msgid "invalid escape sequence" + msgstr "séquence d'échappement invalide" + +-#: catgets/gencat.c:1212 ++#: catgets/gencat.c:1215 + msgid "unterminated message" + msgstr "message non terminé" + +-#: catgets/gencat.c:1236 ++#: catgets/gencat.c:1239 + #, c-format + msgid "while opening old catalog file" + msgstr "lors de l'ouverture de l'ancien fichier catalogue" + +-#: catgets/gencat.c:1327 ++#: catgets/gencat.c:1330 + #, c-format + msgid "conversion modules not available" + msgstr "modules de conversion indisponibles" + +-#: catgets/gencat.c:1353 ++#: catgets/gencat.c:1356 + #, c-format + msgid "cannot determine escape character" + msgstr "ne peut déterminer le caractère d'échappement" +@@ -300,8 +299,8 @@ + msgid "Usage: xtrace [OPTION]... PROGRAM [PROGRAMOPTION]...\\n" + msgstr "Usage : xtrace [OPTION]... PROGRAM [PROGRAMOPTION]...\\n" + +-#: debug/xtrace.sh:32 elf/sotruss.ksh:57 elf/sotruss.ksh:68 +-#: elf/sotruss.ksh:136 malloc/memusage.sh:26 ++#: debug/xtrace.sh:32 elf/sotruss.ksh:56 elf/sotruss.ksh:67 ++#: elf/sotruss.ksh:135 malloc/memusage.sh:26 + msgid "Try \\`%s --help' or \\`%s --usage' for more information.\\n" + msgstr "Pour en savoir davantage, faites : «%s --help » ou «%s --usage».\\n" + +@@ -335,20 +334,25 @@ + "les options de formes courtes.\n" + "\n" + +-#: debug/xtrace.sh:126 ++#: debug/xtrace.sh:57 elf/ldd.bash.in:55 elf/sotruss.ksh:49 ++#: malloc/memusage.sh:64 ++msgid "For bug reporting instructions, please see:\\\\n%s.\\\\n" ++msgstr "Pour les instructions de rapport de bug, SVP voyez là : \\\\n%s.\\\\n" ++ ++#: debug/xtrace.sh:125 + msgid "xtrace: unrecognized option \\`$1'\\n" + msgstr "xtrace : option non reconnue\\`$1'\\n" + +-#: debug/xtrace.sh:139 ++#: debug/xtrace.sh:138 + msgid "No program name given\\n" + msgstr "Le nom de programme n'est pas indiqué\\n" + +-#: debug/xtrace.sh:147 ++#: debug/xtrace.sh:146 + #, sh-format + msgid "executable \\`$program' not found\\n" + msgstr "exécutable \\`$program' non trouvé\\n" + +-#: debug/xtrace.sh:151 ++#: debug/xtrace.sh:150 + #, sh-format + msgid "\\`$program' is no executable\\n" + msgstr "\\`$program' n'est pas un exécutable\\n" +@@ -377,85 +381,85 @@ + msgid "unknown" + msgstr "inconnu" + +-#: elf/cache.c:115 ++#: elf/cache.c:121 + msgid "Unknown OS" + msgstr "Système d'exploitation inconnu" + +-#: elf/cache.c:120 ++#: elf/cache.c:126 + #, c-format + msgid ", OS ABI: %s %d.%d.%d" + msgstr ", Système d'exploitation ABI : %s %d.%d.%d" + +-#: elf/cache.c:137 elf/ldconfig.c:1306 ++#: elf/cache.c:143 elf/ldconfig.c:1309 + #, c-format + msgid "Can't open cache file %s\n" + msgstr "Ne peut ouvrir le fichier de cache %s\n" + +-#: elf/cache.c:151 ++#: elf/cache.c:157 + #, c-format + msgid "mmap of cache file failed.\n" + msgstr "la procédure mmap sur le fichier de cache a échouée\n" + +-#: elf/cache.c:155 elf/cache.c:169 ++#: elf/cache.c:161 elf/cache.c:175 + #, c-format + msgid "File is not a cache file.\n" + msgstr "Fichier n'est pas un fichier de cache.\n" + +-#: elf/cache.c:202 elf/cache.c:212 ++#: elf/cache.c:208 elf/cache.c:218 + #, c-format + msgid "%d libs found in cache `%s'\n" + msgstr "%d libs trouvé dans le cache « %s »\n" + +-#: elf/cache.c:406 ++#: elf/cache.c:412 + #, c-format + msgid "Can't create temporary cache file %s" + msgstr "Ne peut créer un fichier de cache temporaire %s" + +-#: elf/cache.c:414 elf/cache.c:424 elf/cache.c:428 elf/cache.c:433 ++#: elf/cache.c:420 elf/cache.c:430 elf/cache.c:434 elf/cache.c:439 + #, c-format + msgid "Writing of cache data failed" + msgstr "Échec d'écriture des données du cache" + +-#: elf/cache.c:438 ++#: elf/cache.c:444 + #, c-format + msgid "Changing access rights of %s to %#o failed" + msgstr "Échec de la modification des droits d'accès de %s à %#o" + +-#: elf/cache.c:443 ++#: elf/cache.c:449 + #, c-format + msgid "Renaming of %s to %s failed" + msgstr "Échec du changement de nom de %s vers %s" + +-#: elf/dl-close.c:386 elf/dl-open.c:460 ++#: elf/dl-close.c:378 elf/dl-open.c:474 + msgid "cannot create scope list" + msgstr "ne peut créer une liste panorama" + +-#: elf/dl-close.c:773 ++#: elf/dl-close.c:771 + msgid "shared object not open" + msgstr "objet partagé non ouvert" + +-#: elf/dl-deps.c:114 ++#: elf/dl-deps.c:112 + msgid "DST not allowed in SUID/SGID programs" + msgstr "DST non permis dans un programme SUID/SGID" + +-#: elf/dl-deps.c:127 ++#: elf/dl-deps.c:125 + msgid "empty dynamic string token substitution" + msgstr "la chaîne dynamique d'un jeton de substitution est vide" + +-#: elf/dl-deps.c:133 ++#: elf/dl-deps.c:131 + #, c-format + msgid "cannot load auxiliary `%s' because of empty dynamic string token substitution\n" + msgstr "ne peut charger l'auxiliaire « %s » en raison d'une chaîne dynamique de substitution de jeton vide\n" + +-#: elf/dl-deps.c:486 ++#: elf/dl-deps.c:483 + msgid "cannot allocate dependency list" + msgstr "ne peut allouer une liste de dépendances" + +-#: elf/dl-deps.c:522 elf/dl-deps.c:582 ++#: elf/dl-deps.c:520 elf/dl-deps.c:580 + msgid "cannot allocate symbol search list" + msgstr "ne peut allouer la liste des symboles à rechercher" + +-#: elf/dl-deps.c:562 ++#: elf/dl-deps.c:560 + msgid "Filters not supported with LD_TRACE_PRELINKING" + msgstr "Filtres non supportés avec LD_TRACE_PRELINKING" + +@@ -479,187 +483,191 @@ + msgid "internal error: symidx out of range of fptr table" + msgstr "erreur interne : symidx en dehors de la table fptr " + +-#: elf/dl-load.c:470 ++#: elf/dl-hwcaps.c:173 elf/dl-hwcaps.c:185 ++msgid "cannot create capability list" ++msgstr "ne peut créer une liste des possibilités" ++ ++#: elf/dl-load.c:471 + msgid "cannot allocate name record" + msgstr "ne peut allouer un enregistrement de nom" + +-#: elf/dl-load.c:547 elf/dl-load.c:663 elf/dl-load.c:748 elf/dl-load.c:861 ++#: 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 "ne peut créer le cache pour le chemin de recherche" + +-#: elf/dl-load.c:638 ++#: elf/dl-load.c:639 + msgid "cannot create RUNPATH/RPATH copy" + msgstr "ne peut créer une copie RUNPATH/RPATH" + +-#: elf/dl-load.c:734 ++#: elf/dl-load.c:735 + msgid "cannot create search path array" + msgstr "ne peut créer un tableau des chemins de recherche" + +-#: elf/dl-load.c:932 ++#: elf/dl-load.c:934 + msgid "cannot stat shared object" + msgstr "ne peut évaluer par stat() l'objet partagé" + +-#: elf/dl-load.c:1010 ++#: elf/dl-load.c:1012 + msgid "cannot open zero fill device" + msgstr "ne peut ouvrir le fichier de périphérique rempli de zéros" + +-#: elf/dl-load.c:1056 elf/dl-load.c:2317 ++#: elf/dl-load.c:1059 elf/dl-load.c:2339 + msgid "cannot create shared object descriptor" + msgstr "ne peut créer un descripteur d'objet partagé" + +-#: elf/dl-load.c:1075 elf/dl-load.c:1731 elf/dl-load.c:1834 ++#: elf/dl-load.c:1078 elf/dl-load.c:1751 elf/dl-load.c:1854 + msgid "cannot read file data" + msgstr "ne peut lire les données du fichier" + +-#: elf/dl-load.c:1121 ++#: elf/dl-load.c:1124 + msgid "ELF load command alignment not page-aligned" + msgstr "Commande de chargement sur une page ELF qui n'est pas alignée" + +-#: elf/dl-load.c:1128 ++#: elf/dl-load.c:1131 + msgid "ELF load command address/offset not properly aligned" + msgstr "Commande de chargement sur une adresse ELF incorrectement alignée" + +-#: elf/dl-load.c:1211 ++#: elf/dl-load.c:1216 + msgid "cannot allocate TLS data structures for initial thread" + msgstr "ne peut allouer une structure de données TLS pour un thread initial" + +-#: elf/dl-load.c:1234 ++#: elf/dl-load.c:1239 + msgid "cannot handle TLS data" + msgstr "ne peut traiter les données TLS" + +-#: elf/dl-load.c:1253 ++#: elf/dl-load.c:1258 + msgid "object file has no loadable segments" + msgstr "le fichier objet n'a pas de segment chargeable" + +-#: elf/dl-load.c:1289 ++#: elf/dl-load.c:1294 + msgid "failed to map segment from shared object" + msgstr "échec d'adressage (mapping) du segment de l'objet partagé" + +-#: elf/dl-load.c:1315 ++#: elf/dl-load.c:1320 + msgid "cannot dynamically load executable" + msgstr "ne peut dynamiquement charger un exécutable" + +-#: elf/dl-load.c:1377 ++#: elf/dl-load.c:1383 + msgid "cannot change memory protections" + msgstr "ne peut modifier les protections de mémoire" + +-#: elf/dl-load.c:1396 ++#: elf/dl-load.c:1402 + msgid "cannot map zero-fill pages" + msgstr "ne peut adresser des pages remplies de zéros" + +-#: elf/dl-load.c:1410 ++#: elf/dl-load.c:1416 + msgid "object file has no dynamic section" + msgstr "le fichier objet n'a pas de section dynamique" + +-#: elf/dl-load.c:1433 ++#: elf/dl-load.c:1439 + msgid "shared object cannot be dlopen()ed" + msgstr "l'objet partagé ne peut pas être ouvert via dlopen()" + +-#: elf/dl-load.c:1446 ++#: elf/dl-load.c:1452 + msgid "cannot allocate memory for program header" + msgstr "ne peut allouer de la mémoire pour une en-tête de programme" + +-#: elf/dl-load.c:1463 elf/dl-open.c:178 ++#: elf/dl-load.c:1469 elf/dl-open.c:180 + msgid "invalid caller" + msgstr "appelant invalide" + +-#: elf/dl-load.c:1502 ++#: elf/dl-load.c:1508 + msgid "cannot enable executable stack as shared object requires" + msgstr "ne peut activer une pile exécutable comme l'objet partagé le requiert" + +-#: elf/dl-load.c:1515 ++#: elf/dl-load.c:1521 + msgid "cannot close file descriptor" + msgstr "ne peut pas fermer le descripteur de fichier" + +-#: elf/dl-load.c:1731 ++#: elf/dl-load.c:1751 + msgid "file too short" + msgstr "fichier trop court" + +-#: elf/dl-load.c:1767 ++#: elf/dl-load.c:1787 + msgid "invalid ELF header" + msgstr "en-tête ELF invalide" + +-#: elf/dl-load.c:1779 ++#: elf/dl-load.c:1799 + msgid "ELF file data encoding not big-endian" + msgstr "l'encodage des données du fichier ELF n'est pas big-endian" + +-#: elf/dl-load.c:1781 ++#: elf/dl-load.c:1801 + msgid "ELF file data encoding not little-endian" + msgstr "l'encodage des données du fichier ELF n'est pas little-endian" + +-#: elf/dl-load.c:1785 ++#: elf/dl-load.c:1805 + msgid "ELF file version ident does not match current one" + msgstr "l'identifiant de version du fichier ELF ne concorde pas avec la version courante" + +-#: elf/dl-load.c:1789 ++#: elf/dl-load.c:1809 + msgid "ELF file OS ABI invalid" + msgstr "Système d'exploitation du fichier ELF ABI invalide" + +-#: elf/dl-load.c:1792 ++#: elf/dl-load.c:1812 + msgid "ELF file ABI version invalid" + msgstr "Version du fichier ELF ABI invalide" + +-#: elf/dl-load.c:1795 ++#: elf/dl-load.c:1815 + msgid "nonzero padding in e_ident" + msgstr "remplissage sans zéro dans e_ident" + +-#: elf/dl-load.c:1798 ++#: elf/dl-load.c:1818 + msgid "internal error" + msgstr "Erreur interne" + +-#: elf/dl-load.c:1805 ++#: elf/dl-load.c:1825 + msgid "ELF file version does not match current one" + msgstr "Version du fichier ELF ne concorde pas avec la version courante" + +-#: elf/dl-load.c:1813 ++#: elf/dl-load.c:1833 + msgid "only ET_DYN and ET_EXEC can be loaded" + msgstr "Seuls ET_DYN et ET_EXEC peuvent être chargés" + +-#: elf/dl-load.c:1819 ++#: elf/dl-load.c:1839 + msgid "ELF file's phentsize not the expected size" + msgstr "« Phentize » du fichier ELF ne concorde pas avec la taille prévue" + +-#: elf/dl-load.c:2336 ++#: elf/dl-load.c:2358 + msgid "wrong ELF class: ELFCLASS64" + msgstr "mauvaise classe ELF : ELFCLASS64" + +-#: elf/dl-load.c:2337 ++#: elf/dl-load.c:2359 + msgid "wrong ELF class: ELFCLASS32" + msgstr "mauvaise classe ELF : ELFCLASS32" + +-#: elf/dl-load.c:2340 ++#: elf/dl-load.c:2362 + msgid "cannot open shared object file" + msgstr "Ne peut ouvrir le fichier d'objet partagé" + +-#: elf/dl-lookup.c:756 ports/sysdeps/mips/dl-lookup.c:773 ++#: elf/dl-lookup.c:757 ports/sysdeps/mips/dl-lookup.c:774 + msgid "relocation error" + msgstr "erreur de réaffectation" + +-#: elf/dl-lookup.c:785 ports/sysdeps/mips/dl-lookup.c:802 ++#: elf/dl-lookup.c:786 ports/sysdeps/mips/dl-lookup.c:803 + msgid "symbol lookup error" + msgstr "erreur de recherche de symbole" + +-#: elf/dl-open.c:108 ++#: elf/dl-open.c:110 + msgid "cannot extend global scope" + msgstr "ne peut augmenter l'étendue de la plage globale" + +-#: elf/dl-open.c:510 ++#: elf/dl-open.c:524 + msgid "TLS generation counter wrapped! Please report this." + msgstr "Le compteur de génération TLS a bouclé ! SVP expédier un rapport avec le script 'glibcbug'." + +-#: elf/dl-open.c:532 ++#: elf/dl-open.c:546 + msgid "cannot load any more object with static TLS" + msgstr "ne peut pas charger plus d'objets avec TLS statique" + +-#: elf/dl-open.c:581 ++#: elf/dl-open.c:599 + msgid "invalid mode for dlopen()" + msgstr "mode invalide pour dlopen()" + +-#: elf/dl-open.c:598 ++#: elf/dl-open.c:616 + msgid "no more namespaces available for dlmopen()" + msgstr "plus d'espace de nommage disponible pour dlmopen()" + +-#: elf/dl-open.c:616 ++#: elf/dl-open.c:634 + msgid "invalid target namespace in dlmopen()" + msgstr "espace de nommage cible invalide dans dlmopen()" + +@@ -689,23 +697,19 @@ + msgid "cannot apply additional memory protection after relocation" + msgstr "ne peut appliquer les protections additionnelle de mémoire après la réaffectation" + +-#: elf/dl-sym.c:162 ++#: elf/dl-sym.c:163 + msgid "RTLD_NEXT used in code not dynamically loaded" + msgstr "RTLD_NEXT est utilisé dans du code qui n'est pas chargé dynamiquement" + +-#: elf/dl-sysdep.c:488 elf/dl-sysdep.c:500 +-msgid "cannot create capability list" +-msgstr "ne peut créer une liste des possibilités" +- +-#: elf/dl-tls.c:872 ++#: elf/dl-tls.c:875 + msgid "cannot create TLS data structures" + msgstr "ne peut créer les structures de données TLS" + +-#: elf/dl-version.c:171 ++#: elf/dl-version.c:166 + msgid "version lookup error" + msgstr "erreur de recherche de version" + +-#: elf/dl-version.c:302 ++#: elf/dl-version.c:297 + msgid "cannot allocate version reference table" + msgstr "ne peut allouer la table de référence des versions" + +@@ -773,156 +777,156 @@ + msgid "Configure Dynamic Linker Run Time Bindings." + msgstr "Configuration dynamique des éditions de liens lors de l'exécution." + +-#: elf/ldconfig.c:338 ++#: elf/ldconfig.c:341 + #, c-format + msgid "Path `%s' given more than once" + msgstr "Chemin « %s » donné plus d'une fois" + +-#: elf/ldconfig.c:378 ++#: elf/ldconfig.c:381 + #, c-format + msgid "%s is not a known library type" + msgstr "%s n'est pas un type de librairie connu" + +-#: elf/ldconfig.c:406 ++#: elf/ldconfig.c:409 + #, c-format + msgid "Can't stat %s" + msgstr "Ne peut évaluer par stat %s" + +-#: elf/ldconfig.c:480 ++#: elf/ldconfig.c:483 + #, c-format + msgid "Can't stat %s\n" + msgstr "Ne peut évaluer par stat %s\n" + +-#: elf/ldconfig.c:490 ++#: elf/ldconfig.c:493 + #, c-format + msgid "%s is not a symbolic link\n" + msgstr "%s n'est pas un lien symbolique\n" + +-#: elf/ldconfig.c:509 ++#: elf/ldconfig.c:512 + #, c-format + msgid "Can't unlink %s" + msgstr "Ne peut enlever le lien (unlink) %s" + +-#: elf/ldconfig.c:515 ++#: elf/ldconfig.c:518 + #, c-format + msgid "Can't link %s to %s" + msgstr "Ne peut établir un lien entre %s et %s" + +-#: elf/ldconfig.c:521 ++#: elf/ldconfig.c:524 + msgid " (changed)\n" + msgstr " (a été modifié)\n" + +-#: elf/ldconfig.c:523 ++#: elf/ldconfig.c:526 + msgid " (SKIPPED)\n" + msgstr " (ESCAMOTÉ)\n" + +-#: elf/ldconfig.c:578 ++#: elf/ldconfig.c:581 + #, c-format + msgid "Can't find %s" + msgstr "Ne peut repérer %s" + +-#: elf/ldconfig.c:594 elf/ldconfig.c:767 elf/ldconfig.c:826 elf/ldconfig.c:860 ++#: elf/ldconfig.c:597 elf/ldconfig.c:770 elf/ldconfig.c:829 elf/ldconfig.c:863 + #, c-format + msgid "Cannot lstat %s" + msgstr "Ne peut évaluer par lstat %s" + +-#: elf/ldconfig.c:601 ++#: elf/ldconfig.c:604 + #, c-format + msgid "Ignored file %s since it is not a regular file." + msgstr "A ignoré le fichier %s parce que ce n'est pas un fichier régulier." + +-#: elf/ldconfig.c:610 ++#: elf/ldconfig.c:613 + #, c-format + msgid "No link created since soname could not be found for %s" + msgstr "Aucun lien créé étant donné que n'a pas été repéré %s" + +-#: elf/ldconfig.c:693 ++#: elf/ldconfig.c:696 + #, c-format + msgid "Can't open directory %s" + msgstr "Ne peut ouvrir le dossier %s" + +-#: elf/ldconfig.c:785 elf/ldconfig.c:847 elf/readlib.c:90 ++#: elf/ldconfig.c:788 elf/ldconfig.c:850 elf/readlib.c:90 + #, c-format + msgid "Input file %s not found.\n" + msgstr "Fichier d'entrée %s non repéré\n" + +-#: elf/ldconfig.c:792 ++#: elf/ldconfig.c:795 + #, c-format + msgid "Cannot stat %s" + msgstr "Ne peut évaluer par stat %s" + +-#: elf/ldconfig.c:921 ++#: elf/ldconfig.c:924 + #, c-format + msgid "libc5 library %s in wrong directory" + msgstr "librairie libc5 %s est dans le mauvais dossier" + +-#: elf/ldconfig.c:924 ++#: elf/ldconfig.c:927 + #, c-format + msgid "libc6 library %s in wrong directory" + msgstr "librairie libc6 %s est dans le mauvais dossier" + +-#: elf/ldconfig.c:927 ++#: elf/ldconfig.c:930 + #, c-format + msgid "libc4 library %s in wrong directory" + msgstr "librairie libc4 %s est dans le mauvais dossier" + +-#: elf/ldconfig.c:955 ++#: elf/ldconfig.c:958 + #, c-format + msgid "libraries %s and %s in directory %s have same soname but different type." + msgstr "Les librairies %s et %s du dossier %s ont le même nom mais sont de types différents." + +-#: elf/ldconfig.c:1064 ++#: elf/ldconfig.c:1067 + #, c-format + msgid "Warning: ignoring configuration file that cannot be opened: %s" + msgstr "Attention : ignore tout fichier de configuration qui ne peut s'ouvrir : %s" + +-#: elf/ldconfig.c:1130 ++#: elf/ldconfig.c:1133 + #, c-format + msgid "%s:%u: bad syntax in hwcap line" + msgstr "%s:%u : mauvaise syntaxe dans la ligne hwcap" + +-#: elf/ldconfig.c:1136 ++#: elf/ldconfig.c:1139 + #, c-format + msgid "%s:%u: hwcap index %lu above maximum %u" + msgstr "%s:%u : l'index hwcap %lu dépasse le maximum %u" + +-#: elf/ldconfig.c:1143 elf/ldconfig.c:1151 ++#: elf/ldconfig.c:1146 elf/ldconfig.c:1154 + #, c-format + msgid "%s:%u: hwcap index %lu already defined as %s" + msgstr "%s:%u : l'index hwcap %lu déjà défini comme %s" + +-#: elf/ldconfig.c:1154 ++#: elf/ldconfig.c:1157 + #, c-format + msgid "%s:%u: duplicate hwcap %lu %s" + msgstr "%s:%u : hwcap en doublon %lu %s" + +-#: elf/ldconfig.c:1176 ++#: elf/ldconfig.c:1179 + #, c-format + msgid "need absolute file name for configuration file when using -r" + msgstr "nécessite un nom de fichier absolu pour le fichier de configuration quand on utilise -r" + +-#: elf/ldconfig.c:1183 locale/programs/xmalloc.c:65 malloc/obstack.c:433 ++#: elf/ldconfig.c:1186 locale/programs/xmalloc.c:65 malloc/obstack.c:433 + #: malloc/obstack.c:435 posix/getconf.c:1076 posix/getconf.c:1296 + #, c-format + msgid "memory exhausted" + msgstr "mémoire épuisée" + +-#: elf/ldconfig.c:1215 ++#: elf/ldconfig.c:1218 + #, c-format + msgid "%s:%u: cannot read directory %s" + msgstr "%s:%u : ne peut lire le dossier %s" + +-#: elf/ldconfig.c:1259 ++#: elf/ldconfig.c:1262 + #, c-format + msgid "relative path `%s' used to build cache" + msgstr "chemin relatif `%s' utilisé pour construire le cache" + +-#: elf/ldconfig.c:1285 ++#: elf/ldconfig.c:1288 + #, c-format + msgid "Can't chdir to /" + msgstr "Ne peut se positionner (chdir) dans /" + +-#: elf/ldconfig.c:1326 ++#: elf/ldconfig.c:1329 + #, c-format + msgid "Can't open cache file directory %s\n" + msgstr "Ne peut ouvrir le dossier des fichiers de cache %s\n" +@@ -949,46 +953,46 @@ + " -u, --unused affiche les dépendances directes non utilisées\n" + " -v, --verbose affiche toutes les informations\n" + +-#: elf/ldd.bash.in:81 ++#: elf/ldd.bash.in:80 + msgid "ldd: option \\`$1' is ambiguous" + msgstr "ldd : option \\`$1' est ambiguë" + +-#: elf/ldd.bash.in:88 ++#: elf/ldd.bash.in:87 + msgid "unrecognized option" + msgstr "option non reconnue" + +-#: elf/ldd.bash.in:89 elf/ldd.bash.in:127 ++#: elf/ldd.bash.in:88 elf/ldd.bash.in:126 + msgid "Try \\`ldd --help' for more information." + msgstr "Pour en savoir davantage, faites : \\`ldd --help'." + +-#: elf/ldd.bash.in:126 ++#: elf/ldd.bash.in:125 + msgid "missing file arguments" + msgstr "arguments de fichier manquants" + + #. TRANS No such file or directory. This is a ``file doesn't exist'' error + #. TRANS for ordinary files that are referenced in contexts where they are + #. TRANS expected to already exist. +-#: elf/ldd.bash.in:149 sysdeps/gnu/errlist.c:36 ++#: elf/ldd.bash.in:148 sysdeps/gnu/errlist.c:36 + msgid "No such file or directory" + msgstr "Aucun fichier ou dossier de ce type" + +-#: elf/ldd.bash.in:152 inet/rcmd.c:488 ++#: elf/ldd.bash.in:151 inet/rcmd.c:488 + msgid "not regular file" + msgstr "n'est pas un fichier régulier" + +-#: elf/ldd.bash.in:155 ++#: elf/ldd.bash.in:154 + msgid "warning: you do not have execution permission for" + msgstr "attention : vous n'avez pas la permission d'exécution pour" + +-#: elf/ldd.bash.in:184 ++#: elf/ldd.bash.in:183 + msgid "\tnot a dynamic executable" + msgstr "\tn'est pas un exécutable dynamique" + +-#: elf/ldd.bash.in:192 ++#: elf/ldd.bash.in:191 + msgid "exited with unknown exit code" + msgstr "a quitté avec un code retour inconnu" + +-#: elf/ldd.bash.in:197 ++#: elf/ldd.bash.in:196 + msgid "error: you do not have read permission for" + msgstr "erreur : vous n'avez pas de permission de lecture pour" + +@@ -1027,55 +1031,55 @@ + msgid "cannot read object name" + msgstr "ne peut lire le nom d'objet" + +-#: elf/pldd.c:67 ++#: elf/pldd.c:65 + msgid "List dynamic shared objects loaded into process." + msgstr "Liste les objets partagés dynamiques chargés dans le process." + +-#: elf/pldd.c:71 ++#: elf/pldd.c:69 + msgid "PID" + msgstr "PID" + +-#: elf/pldd.c:102 ++#: elf/pldd.c:100 + #, c-format + msgid "Exactly one parameter with process ID required.\n" + msgstr "Un paramètre exactement avec le process ID est requis.\n" + +-#: elf/pldd.c:114 ++#: elf/pldd.c:112 + #, c-format + msgid "invalid process ID '%s'" + msgstr "process ID invalide '%s'" + +-#: elf/pldd.c:122 ++#: elf/pldd.c:120 + #, c-format + msgid "cannot open %s" + msgstr "Ne peut ouvrir %s" + +-#: elf/pldd.c:147 ++#: elf/pldd.c:145 + #, c-format + msgid "cannot open %s/task" + msgstr "Ne peut ouvrir %s/tâche" + +-#: elf/pldd.c:150 ++#: elf/pldd.c:148 + #, c-format + msgid "cannot prepare reading %s/task" + msgstr "ne peut préparer la lecture %s/tâche" + +-#: elf/pldd.c:163 ++#: elf/pldd.c:161 + #, c-format + msgid "invalid thread ID '%s'" + msgstr "ID de fil (thread) invalide '%s'" + +-#: elf/pldd.c:174 ++#: elf/pldd.c:172 + #, c-format + msgid "cannot attach to process %lu" + msgstr "ne peut s'attacher au process %lu" + +-#: elf/pldd.c:246 ++#: elf/pldd.c:264 + #, c-format + msgid "cannot get information about process %lu" + msgstr "ne peut récupérer l'information à propos du process %lu" + +-#: elf/pldd.c:259 ++#: elf/pldd.c:277 + #, c-format + msgid "process %lu is no ELF program" + msgstr "le process %lu n'est pas un programme ELF" +@@ -1209,19 +1213,19 @@ + "Les arguments obligatoires pour options de formes longues\n" + "sont aussi obligatoires pour options de forme courtes correspondantes." + +-#: elf/sotruss.ksh:56 ++#: elf/sotruss.ksh:55 + msgid "%s: option requires an argument -- '%s'\\n" + msgstr "%s : l'option requiert un argument -- '%s'\\n" + +-#: elf/sotruss.ksh:62 ++#: elf/sotruss.ksh:61 + msgid "%s: option is ambiguous; possibilities:" + msgstr "%s : l'option est ambiguë; possibilités:" + +-#: elf/sotruss.ksh:80 ++#: elf/sotruss.ksh:79 + msgid "Written by %s.\\n" + msgstr "Écrit par %s.\\n" + +-#: elf/sotruss.ksh:87 ++#: elf/sotruss.ksh:86 + msgid "" + "Usage: %s [-ef] [-F FROMLIST] [-o FILENAME] [-T TOLIST] [--exit]\n" + "\t [--follow] [--from FROMLIST] [--output FILENAME] [--to TOLIST]\n" +@@ -1233,7 +1237,7 @@ + "\t [--help] [--usage] [--version] [--]\n" + "\t EXECUTABLE [EXECUTABLE-OPTION...]\\n" + +-#: elf/sotruss.ksh:135 ++#: elf/sotruss.ksh:134 + msgid "%s: unrecognized option '%c%s'\\n" + msgstr "%s : option non reconnue « %c%s »\\n" + +@@ -1261,97 +1265,97 @@ + msgid "SHOBJ [PROFDATA]" + msgstr "SHOBJ [PROFDATA]" + +-#: elf/sprof.c:429 ++#: elf/sprof.c:432 + #, c-format + msgid "failed to load shared object `%s'" + msgstr "échec de chargement de l'objet partagé « %s »" + +-#: elf/sprof.c:438 ++#: elf/sprof.c:441 + #, c-format + msgid "cannot create internal descriptors" + msgstr "ne peut créer les descripteurs internes" + +-#: elf/sprof.c:550 ++#: elf/sprof.c:553 + #, c-format + msgid "Reopening shared object `%s' failed" + msgstr "Échec de réouverture de l'objet partagé « %s »" + +-#: elf/sprof.c:557 elf/sprof.c:652 ++#: elf/sprof.c:560 elf/sprof.c:655 + #, c-format + msgid "reading of section headers failed" + msgstr "Échec de la lecture d'en-têtes de section" + +-#: elf/sprof.c:565 elf/sprof.c:660 ++#: elf/sprof.c:568 elf/sprof.c:663 + #, c-format + msgid "reading of section header string table failed" + msgstr "Échec de lecture de la table des chaînes d'en-têtes de section" + +-#: elf/sprof.c:591 ++#: elf/sprof.c:594 + #, c-format + msgid "*** Cannot read debuginfo file name: %m\n" + msgstr "*** Ne peut lire le nom de fichier de debuginfo : %m\n" + +-#: elf/sprof.c:612 ++#: elf/sprof.c:615 + #, c-format + msgid "cannot determine file name" + msgstr "Ne peut déterminer le nom de fichier" + +-#: elf/sprof.c:645 ++#: elf/sprof.c:648 + #, c-format + msgid "reading of ELF header failed" + msgstr "Échec de lecture de l'en-tête ELF" + +-#: elf/sprof.c:681 ++#: elf/sprof.c:684 + #, c-format + msgid "*** The file `%s' is stripped: no detailed analysis possible\n" + msgstr "*** Le fichier « %s » a été élagué : aucune analyse détaillée possible\n" + +-#: elf/sprof.c:711 ++#: elf/sprof.c:714 + #, c-format + msgid "failed to load symbol data" + msgstr "échec du chargement de données de symbole" + +-#: elf/sprof.c:776 ++#: elf/sprof.c:779 + #, c-format + msgid "cannot load profiling data" + msgstr "ne peut charger les données de profilage" + +-#: elf/sprof.c:785 ++#: elf/sprof.c:788 + #, c-format + msgid "while stat'ing profiling data file" + msgstr "lors de l'évaluation par stat() du fichier de données de profilage" + +-#: elf/sprof.c:793 ++#: elf/sprof.c:796 + #, c-format + msgid "profiling data file `%s' does not match shared object `%s'" + msgstr "Le fichier de données de profilage « %s » ne concorde pas avec l'objet partagé « %s »" + +-#: elf/sprof.c:804 ++#: elf/sprof.c:807 + #, c-format + msgid "failed to mmap the profiling data file" + msgstr "Échec de la procédure mmap sur le fichier de données de profilage" + +-#: elf/sprof.c:812 ++#: elf/sprof.c:815 + #, c-format + msgid "error while closing the profiling data file" + msgstr "erreur lors de la fermeture du fichier de données de profilage" + +-#: elf/sprof.c:821 elf/sprof.c:919 ++#: elf/sprof.c:824 elf/sprof.c:922 + #, c-format + msgid "cannot create internal descriptor" + msgstr "ne peut créer un descripteur interne" + +-#: elf/sprof.c:895 ++#: elf/sprof.c:898 + #, c-format + msgid "`%s' is no correct profile data file for `%s'" + msgstr "« %s » est un fichier de profilage incorrect pour « %s »" + +-#: elf/sprof.c:1076 elf/sprof.c:1134 ++#: elf/sprof.c:1079 elf/sprof.c:1137 + #, c-format + msgid "cannot allocate symbol data" + msgstr "ne peut allouer les données des symboles" + +-#: iconv/iconv_charmap.c:143 iconv/iconv_prog.c:445 ++#: iconv/iconv_charmap.c:143 iconv/iconv_prog.c:448 + #, c-format + msgid "cannot open output file" + msgstr "ne peut ouvrir le fichier de sortie" +@@ -1366,18 +1370,18 @@ + msgid "illegal input sequence at position %Zd" + msgstr "séquence d'échappement d'entrée non permise à la position %Zd" + +-#: iconv/iconv_charmap.c:482 iconv/iconv_prog.c:536 ++#: iconv/iconv_charmap.c:482 iconv/iconv_prog.c:539 + #, c-format + msgid "incomplete character or shift sequence at end of buffer" + msgstr "caractère ou séquence de changement incomplet à la fin du tampon" + +-#: iconv/iconv_charmap.c:527 iconv/iconv_charmap.c:563 iconv/iconv_prog.c:579 +-#: iconv/iconv_prog.c:615 ++#: iconv/iconv_charmap.c:527 iconv/iconv_charmap.c:563 iconv/iconv_prog.c:582 ++#: iconv/iconv_prog.c:618 + #, c-format + msgid "error while reading the input" + msgstr "erreur lors de la lecture de l'entrée" + +-#: iconv/iconv_charmap.c:545 iconv/iconv_prog.c:597 ++#: iconv/iconv_charmap.c:545 iconv/iconv_prog.c:600 + #, c-format + msgid "unable to allocate buffer for input" + msgstr "incapable d'allouer un tampon pour l'entrée" +@@ -1460,27 +1464,27 @@ + msgid "error while closing output file" + msgstr "erreur lors de la fermeture du fichier de sortie" + +-#: iconv/iconv_prog.c:455 ++#: iconv/iconv_prog.c:458 + #, c-format + msgid "conversion stopped due to problem in writing the output" + msgstr "conversion stoppée en raison d'un problème d'écriture à la sortie" + +-#: iconv/iconv_prog.c:532 ++#: iconv/iconv_prog.c:535 + #, c-format + msgid "illegal input sequence at position %ld" + msgstr "séquence d'échappement non permise à la position %ld" + +-#: iconv/iconv_prog.c:540 ++#: iconv/iconv_prog.c:543 + #, c-format + msgid "internal error (illegal descriptor)" + msgstr "erreur interne (descripteur non permis)" + +-#: iconv/iconv_prog.c:543 ++#: iconv/iconv_prog.c:546 + #, c-format + msgid "unknown iconv() error %d" + msgstr "erreur inconnue de iconv() %d" + +-#: iconv/iconv_prog.c:788 ++#: iconv/iconv_prog.c:791 + 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" +@@ -1526,12 +1530,12 @@ + msgid "no output file produced because warnings were issued" + msgstr "aucun fichier de sortie généré en raison d'avertissements émis" + +-#: iconv/iconvconfig.c:431 ++#: iconv/iconvconfig.c:434 + #, c-format + msgid "while inserting in search tree" + msgstr "lors d'une insertion dans un arbre de recherche" + +-#: iconv/iconvconfig.c:1240 ++#: iconv/iconvconfig.c:1243 + #, c-format + msgid "cannot generate output file" + msgstr "ne peut générer le fichier de sortie" +@@ -2636,7 +2640,7 @@ + msgid "Cannot set LC_ALL to default locale" + msgstr "Ne peut initialiser LC_ALL à la locale par défaut" + +-#: locale/programs/locale.c:518 ++#: locale/programs/locale.c:521 + #, c-format + msgid "while preparing output" + msgstr "lors de la préparation de la sortie" +@@ -2734,7 +2738,7 @@ + msgstr "ERREUR FATALE : le système ne peut définir « _POSIX2_LOCALEDEF »" + + #: locale/programs/localedef.c:253 locale/programs/localedef.c:269 +-#: locale/programs/localedef.c:595 locale/programs/localedef.c:615 ++#: locale/programs/localedef.c:601 locale/programs/localedef.c:621 + #, c-format + msgid "cannot open locale definition file `%s'" + msgstr "Ne peut ouvrir le fichier des particularisations « %s »" +@@ -2744,7 +2748,7 @@ + msgid "cannot write output files to `%s'" + msgstr "Ne peut écrire dans les fichiers de sortie vers « %s »" + +-#: locale/programs/localedef.c:362 ++#: locale/programs/localedef.c:367 + #, c-format + msgid "" + "System's directory for character maps : %s\n" +@@ -2757,18 +2761,18 @@ + "\t\t du chemin des particularisations : %s\n" + "%s" + +-#: locale/programs/localedef.c:563 ++#: locale/programs/localedef.c:569 + #, c-format + msgid "circular dependencies between locale definitions" + msgstr "Dépendance circulaires entre les définitions de locales" + +-#: locale/programs/localedef.c:569 ++#: locale/programs/localedef.c:575 + #, c-format + msgid "cannot add already read locale `%s' a second time" + msgstr "Ne peut ajouter une locale déjà lu « %s » une seconde fois" + + #: locale/programs/locarchive.c:113 locale/programs/locarchive.c:347 +-#: nss/makedb.c:289 ++#: nss/makedb.c:290 + #, c-format + msgid "cannot create temporary file" + msgstr "ne peut créer un fichier temporaire" +@@ -2962,12 +2966,12 @@ + msgid "repertoire map file `%s' not found" + msgstr "Fichier de la table des caractères « %s » non repérable" + +-#: login/programs/pt_chown.c:77 ++#: login/programs/pt_chown.c:78 + #, c-format + msgid "Set the owner, group and access permission of the slave pseudo terminal corresponding to the master pseudo terminal passed on file descriptor `%d'. This is the helper program for the `grantpt' function. It is not intended to be run directly from the command line.\n" + msgstr "Etablit les permissions d'accès, le propriétaire et le groupe du pseudo terminal esclave correspondant au pseudo terminal maître passé au descripteur de fichier`%d'. Ceci est le programme d'aide de la fonction `grantpt'. Il n'est pas prévu pour être lancé depuis la ligne de commande.\n" + +-#: login/programs/pt_chown.c:87 ++#: login/programs/pt_chown.c:92 + #, c-format + msgid "" + "The owner is set to the current user, the group is set to `%s', and the access permission is set to `%o'.\n" +@@ -2978,33 +2982,33 @@ + "\n" + "%s" + +-#: login/programs/pt_chown.c:191 ++#: login/programs/pt_chown.c:198 + #, c-format + msgid "too many arguments" + msgstr "trop d'arguments" + +-#: login/programs/pt_chown.c:199 ++#: login/programs/pt_chown.c:206 + #, c-format + msgid "needs to be installed setuid `root'" + msgstr "nécessite d'être installé avec setuid `root'" + +-#: malloc/mcheck.c:349 ++#: malloc/mcheck.c:348 + msgid "memory is consistent, library is buggy\n" + msgstr "La mémoire est consistente, la librairie est fautive.\n" + +-#: malloc/mcheck.c:352 ++#: malloc/mcheck.c:351 + msgid "memory clobbered before allocated block\n" + msgstr "Mémoire écrasée avant le bloc alloué\n" + +-#: malloc/mcheck.c:355 ++#: malloc/mcheck.c:354 + msgid "memory clobbered past end of allocated block\n" + msgstr "Mémoire écrasée après la fin du bloc alloué\n" + +-#: malloc/mcheck.c:358 ++#: malloc/mcheck.c:357 + msgid "block freed twice\n" + msgstr "Bloc libéré deux fois\n" + +-#: malloc/mcheck.c:361 ++#: malloc/mcheck.c:360 + msgid "bogus mcheck_status, library is buggy\n" + msgstr "Statut de « mcheck_status » erroné, la librarie est erronée.\n" + +@@ -3066,7 +3070,7 @@ + "le sont aussi pour les options de forme courtes.\n" + "\n" + +-#: malloc/memusage.sh:100 ++#: malloc/memusage.sh:99 + msgid "" + "Syntax: memusage [--data=FILE] [--progname=NAME] [--png=FILE] [--unbuffered]\n" + "\t [--buffer=SIZE] [--no-timer] [--time-based] [--total]\n" +@@ -3078,47 +3082,47 @@ + "\t [--title=STRING] [--x-size=SIZE] [--y-size=SIZE]\n" + "\t PROGRAM [PROGRAMOPTION]..." + +-#: malloc/memusage.sh:192 ++#: malloc/memusage.sh:191 + msgid "memusage: option \\`${1##*=}' is ambiguous" + msgstr "memusage : l'option \\`${1##*=}' est ambiguë" + +-#: malloc/memusage.sh:201 ++#: malloc/memusage.sh:200 + msgid "memusage: unrecognized option \\`$1'" + msgstr "memusage : option non reconnue \\`$1'" + +-#: malloc/memusage.sh:214 ++#: malloc/memusage.sh:213 + msgid "No program name given" + msgstr "Le nom de programme n'a pas été indiqué" + +-#: malloc/memusagestat.c:56 ++#: malloc/memusagestat.c:55 + msgid "Name output file" + msgstr "Nommer le fichier de sortie" + +-#: malloc/memusagestat.c:57 ++#: malloc/memusagestat.c:56 + msgid "Title string used in output graphic" + msgstr "Chaîne de titre utilisé dans le graphique de sortie" + +-#: malloc/memusagestat.c:58 ++#: malloc/memusagestat.c:57 + msgid "Generate output linear to time (default is linear to number of function calls)" + msgstr "Génération de sortie linéaire au temps (par défaut linéaire au nombre d'appels de fonction)" + +-#: malloc/memusagestat.c:60 ++#: malloc/memusagestat.c:59 + msgid "Also draw graph for total memory consumption" + msgstr "Afficher aussi le graphe de l'utilisation totale de la mémoire" + +-#: malloc/memusagestat.c:61 ++#: malloc/memusagestat.c:60 + msgid "Make output graphic VALUE pixels wide" + msgstr "Génère un graphe ayant pour largeur VALUE pixels" + +-#: malloc/memusagestat.c:62 ++#: malloc/memusagestat.c:61 + msgid "Make output graphic VALUE pixels high" + msgstr "Génère un graphe ayant VALUE pixels de hauteur" + +-#: malloc/memusagestat.c:67 ++#: malloc/memusagestat.c:66 + msgid "Generate graphic from memory profiling data" + msgstr "Génération du graphique des données de profilage de la mémoire" + +-#: malloc/memusagestat.c:70 ++#: malloc/memusagestat.c:69 + msgid "DATAFILE [OUTFILE]" + msgstr "DATAFILE [FICHIER_DE_SORTIE]" + +@@ -4016,23 +4020,23 @@ + msgid "setgroups failed" + msgstr "échec de setgroups" + +-#: nscd/grpcache.c:390 nscd/hstcache.c:440 nscd/initgrcache.c:411 ++#: nscd/grpcache.c:407 nscd/hstcache.c:440 nscd/initgrcache.c:411 + #: nscd/pwdcache.c:383 nscd/servicescache.c:338 + #, c-format + msgid "short write in %s: %s" + msgstr "Écriture écourtée dans %s : %s" + +-#: nscd/grpcache.c:435 nscd/initgrcache.c:77 ++#: nscd/grpcache.c:452 nscd/initgrcache.c:77 + #, c-format + msgid "Haven't found \"%s\" in group cache!" + msgstr "N'a pas trouvé « %s » dans la cache du groupe !" + +-#: nscd/grpcache.c:437 nscd/initgrcache.c:79 ++#: nscd/grpcache.c:454 nscd/initgrcache.c:79 + #, c-format + msgid "Reloading \"%s\" in group cache!" + msgstr "Recharge « %s » dans le cache groupe !" + +-#: nscd/grpcache.c:516 ++#: nscd/grpcache.c:533 + #, c-format + msgid "Invalid numeric gid \"%s\"!" + msgstr "gid numérique invalide « %s » !" +@@ -4115,7 +4119,7 @@ + msgid "Name Service Cache Daemon." + msgstr "« Daemon » du cache du service de noms." + +-#: nscd/nscd.c:164 nss/getent.c:999 nss/makedb.c:207 ++#: nscd/nscd.c:164 nss/getent.c:999 nss/makedb.c:208 + #, c-format + msgid "wrong number of arguments" + msgstr "Mauvais nombre d'arguments" +@@ -4144,32 +4148,32 @@ + msgid "Could not create log file" + msgstr "N'a pu créé le fichier journal" + +-#: nscd/nscd.c:346 nscd/nscd.c:371 nscd/nscd_stat.c:173 ++#: nscd/nscd.c:348 nscd/nscd.c:373 nscd/nscd_stat.c:173 + #, c-format + msgid "Only root is allowed to use this option!" + msgstr "Seul ROOT est autorisé à utiliser cette option !" + +-#: nscd/nscd.c:386 ++#: nscd/nscd.c:388 + #, c-format + msgid "'%s' is not a known database" + msgstr "'%s' n'est pas une base de donnée connue" + +-#: nscd/nscd.c:411 nscd/nscd_stat.c:192 ++#: nscd/nscd.c:413 nscd/nscd_stat.c:192 + #, c-format + msgid "write incomplete" + msgstr "écriture incomplète" + +-#: nscd/nscd.c:422 ++#: nscd/nscd.c:424 + #, c-format + msgid "cannot read invalidate ACK" + msgstr "ne peut lire les ACK invalidés" + +-#: nscd/nscd.c:428 ++#: nscd/nscd.c:430 + #, c-format + msgid "invalidation failed" + msgstr "l'invalidation a échoué" + +-#: nscd/nscd.c:438 ++#: nscd/nscd.c:440 + #, c-format + msgid "secure services not implemented anymore" + msgstr "les services de sécurité ne sont plus implémentés" +@@ -4504,31 +4508,31 @@ + msgid "Unknown database: %s\n" + msgstr "Base de données inconnue : « %s »\n" + +-#: nss/makedb.c:117 ++#: nss/makedb.c:118 + msgid "Convert key to lower case" + msgstr "Conversion des caractères en minuscules" + +-#: nss/makedb.c:120 ++#: nss/makedb.c:121 + msgid "Do not print messages while building database" + msgstr "Ne pas afficher de message lors de la génération de la base de données" + +-#: nss/makedb.c:122 ++#: nss/makedb.c:123 + msgid "Print content of database file, one entry a line" + msgstr "Afficher le contenu du fichier de base de données, une entrée par ligne" + +-#: nss/makedb.c:123 ++#: nss/makedb.c:124 + msgid "CHAR" + msgstr "CHAR" + +-#: nss/makedb.c:124 ++#: nss/makedb.c:125 + msgid "Generated line not part of iteration" + msgstr "La ligne générée ne fait pas partie de l'itération" + +-#: nss/makedb.c:129 ++#: nss/makedb.c:130 + msgid "Create simple database from textual input." + msgstr "Crée une base de données simple à partir des entrées textuelles." + +-#: nss/makedb.c:132 ++#: nss/makedb.c:133 + msgid "" + "INPUT-FILE OUTPUT-FILE\n" + "-o OUTPUT-FILE INPUT-FILE\n" +@@ -4538,66 +4542,66 @@ + "-o FICHIER_DE_SORTIE FICHIER_D_ENTRÉE\n" + "-u FICHIER_D_ENTRÉE" + +-#: nss/makedb.c:228 ++#: nss/makedb.c:229 + #, c-format + msgid "cannot open database file `%s'" + msgstr "Ne peut ouvrir le fichier de base de données `%s'" + +-#: nss/makedb.c:273 ++#: nss/makedb.c:274 + #, c-format + msgid "no entries to be processed" + msgstr "pas d'entrée à traiter" + +-#: nss/makedb.c:283 ++#: nss/makedb.c:284 + #, c-format + msgid "cannot create temporary file name" + msgstr "ne peut créer un nom de fichier temporaire" + +-#: nss/makedb.c:305 ++#: nss/makedb.c:306 + #, c-format + msgid "cannot stat newly created file" + msgstr "pas de stat pour un fichier nouvellement créé" + +-#: nss/makedb.c:316 ++#: nss/makedb.c:317 + #, c-format + msgid "cannot rename temporary file" + msgstr "ne peut renommer un fichier temporaire" + +-#: nss/makedb.c:529 nss/makedb.c:552 ++#: nss/makedb.c:533 nss/makedb.c:556 + #, c-format + msgid "cannot create search tree" + msgstr "ne peut créer un arbre de recherche" + +-#: nss/makedb.c:558 ++#: nss/makedb.c:562 + msgid "duplicate key" + msgstr "Duplicité de clé" + +-#: nss/makedb.c:570 ++#: nss/makedb.c:574 + #, c-format + msgid "problems while reading `%s'" + msgstr "Problème lors de la lecture de `%s'" + +-#: nss/makedb.c:794 ++#: nss/makedb.c:801 + #, c-format + msgid "failed to write new database file" + msgstr "échec à l'écriture du fichier de database" + +-#: nss/makedb.c:807 ++#: nss/makedb.c:814 + #, c-format + msgid "cannot stat database file" + msgstr "pas de stat pour le fichier de database" + +-#: nss/makedb.c:812 ++#: nss/makedb.c:819 + #, c-format + msgid "cannot map database file" + msgstr "Ne peut corréler (mapper) le fichier de database" + +-#: nss/makedb.c:815 ++#: nss/makedb.c:822 + #, c-format + msgid "file not a database file" + msgstr "le fichier n'est pas un fichier de database" + +-#: nss/makedb.c:866 ++#: nss/makedb.c:873 + #, c-format + msgid "cannot set file creation context for `%s'" + msgstr "Ne peut établir le contexte de création de fichier pour `%s'" +@@ -4779,7 +4783,7 @@ + msgid "No previous regular expression" + msgstr "Aucune expression régulière précédente" + +-#: posix/wordexp.c:1829 ++#: posix/wordexp.c:1830 + msgid "parameter null or not set" + msgstr "paramètre nul ou non initialisé" + +@@ -5045,8 +5049,8 @@ + msgstr "Signal inconnu %d" + + #: sunrpc/auth_unix.c:111 sunrpc/clnt_tcp.c:123 sunrpc/clnt_udp.c:134 +-#: sunrpc/clnt_unix.c:124 sunrpc/svc_tcp.c:171 sunrpc/svc_tcp.c:216 +-#: sunrpc/svc_udp.c:145 sunrpc/svc_unix.c:171 sunrpc/svc_unix.c:212 ++#: sunrpc/clnt_unix.c:124 sunrpc/svc_tcp.c:188 sunrpc/svc_tcp.c:233 ++#: sunrpc/svc_udp.c:162 sunrpc/svc_unix.c:188 sunrpc/svc_unix.c:229 + #: sunrpc/xdr.c:630 sunrpc/xdr.c:790 sunrpc/xdr_array.c:97 + #: sunrpc/xdr_rec.c:151 sunrpc/xdr_ref.c:76 + msgid "out of memory\n" +@@ -5211,242 +5215,249 @@ + msgid "Cannot receive reply to broadcast" + msgstr "Ne peut recevoir l'accusé réception à la requête faite par diffusion" + +-#: sunrpc/rpc_main.c:280 ++#: sunrpc/rpc_main.c:277 + #, c-format + msgid "%s: output would overwrite %s\n" + msgstr "%s : la sortie écraserait %s\n" + +-#: sunrpc/rpc_main.c:287 ++#: sunrpc/rpc_main.c:284 + #, c-format + msgid "%s: unable to open %s: %m\n" + msgstr "%s : incapable d'ouvrir %s : %m\n" + +-#: sunrpc/rpc_main.c:299 ++#: sunrpc/rpc_main.c:296 + #, c-format + msgid "%s: while writing output %s: %m" + msgstr "%s : lors de l'écriture sur la sortie %s : %m" + +-#: sunrpc/rpc_main.c:334 ++#: sunrpc/rpc_main.c:332 sunrpc/rpc_main.c:371 + #, c-format +-msgid "cannot find C preprocessor: %s \n" +-msgstr "Ne peut trouver le préprocesseur C : %s\n" ++msgid "cannot find C preprocessor: %s\n" ++msgstr "Ne peut trouver le préprocesseur C : %s\n" + +-#: sunrpc/rpc_main.c:342 +-msgid "cannot find any C preprocessor (cpp)\n" +-msgstr "Ne peut trouver un préprocesseur C (cpp)\n" +- +-#: sunrpc/rpc_main.c:411 ++#: sunrpc/rpc_main.c:407 + #, c-format + msgid "%s: C preprocessor failed with signal %d\n" + msgstr "%s : échec du préprocesseur C -- code de terminaison : %d\n" + +-#: sunrpc/rpc_main.c:414 ++#: sunrpc/rpc_main.c:410 + #, c-format + msgid "%s: C preprocessor failed with exit code %d\n" + msgstr "%s : échec du préprocesseur C -- code de terminaison : %d\n" + +-#: sunrpc/rpc_main.c:454 ++#: sunrpc/rpc_main.c:450 + #, c-format + msgid "illegal nettype: `%s'\n" + msgstr "« nettype » non permis :« %s »\n" + +-#: sunrpc/rpc_main.c:1089 ++#: sunrpc/rpc_main.c:1085 + #, c-format + msgid "rpcgen: too many defines\n" + msgstr "rpcgen : trop de définitions\n" + +-#: sunrpc/rpc_main.c:1101 ++#: sunrpc/rpc_main.c:1097 + #, c-format + msgid "rpcgen: arglist coding error\n" + msgstr "rpcgen : erreur dans la liste d'arguments de codage\n" + + #. TRANS: the file will not be removed; this is an + #. TRANS: informative message. +-#: sunrpc/rpc_main.c:1134 ++#: sunrpc/rpc_main.c:1130 + #, c-format + msgid "file `%s' already exists and may be overwritten\n" + msgstr "Le fichier « %s » existe déjà et peut avoir été écrasé.\n" + +-#: sunrpc/rpc_main.c:1179 ++#: sunrpc/rpc_main.c:1175 + #, c-format + msgid "Cannot specify more than one input file!\n" + msgstr "Ne peut spécifier plus d'un fichier d'entrée !\n" + +-#: sunrpc/rpc_main.c:1349 ++#: sunrpc/rpc_main.c:1345 + #, c-format + msgid "This implementation doesn't support newstyle or MT-safe code!\n" + msgstr "Cette implantation ne supporte pas le nouveau style ou le code MT-safe !\n" + +-#: sunrpc/rpc_main.c:1358 ++#: sunrpc/rpc_main.c:1354 + #, c-format + msgid "Cannot use netid flag with inetd flag!\n" + msgstr "Ne utiliser le sémaphore « netid » avec le sémaphore « inetd » !\n" + +-#: sunrpc/rpc_main.c:1367 ++#: sunrpc/rpc_main.c:1363 + #, c-format + msgid "Cannot use netid flag without TIRPC!\n" + msgstr "Ne peut utiliser le sémaphore « netid » sans « TIRPC » !\n" + +-#: sunrpc/rpc_main.c:1374 ++#: sunrpc/rpc_main.c:1370 + #, c-format + msgid "Cannot use table flags with newstyle!\n" + msgstr "Ne peut utiliser la table des sémaphores avec « newstyle » !\n" + +-#: sunrpc/rpc_main.c:1393 ++#: sunrpc/rpc_main.c:1389 + #, c-format + msgid "\"infile\" is required for template generation flags.\n" + msgstr "« fichier-en-entrée » est requis pour la génération du gabarit des indicateurs.\n" + +-#: sunrpc/rpc_main.c:1398 ++#: sunrpc/rpc_main.c:1394 + #, c-format + msgid "Cannot have more than one file generation flag!\n" + msgstr "Ne peut avoir plus d'un fichier de génération de sémaphores !\n" + +-#: sunrpc/rpc_main.c:1407 ++#: sunrpc/rpc_main.c:1403 + #, c-format + msgid "usage: %s infile\n" + msgstr "usage : %s fichier-en-entrée\n" + +-#: sunrpc/rpc_main.c:1408 ++#: sunrpc/rpc_main.c:1404 + #, c-format + msgid "\t%s [-abkCLNTM][-Dname[=value]] [-i size] [-I [-K seconds]] [-Y path] infile\n" + msgstr "\t%s [-abkCLNTM][-Dname[=valeur]] [-i taille] [-I [-K secondes]] [-Y chemin] fichier\n" + +-#: sunrpc/rpc_main.c:1410 ++#: sunrpc/rpc_main.c:1406 + #, c-format + msgid "\t%s [-c | -h | -l | -m | -t | -Sc | -Ss | -Sm] [-o outfile] [infile]\n" + msgstr "\t%s [-c | -h | -l | -m | -t | -Sc | -Ss | -Sm] [-o fichier_de_sortie] [fichier_d_entrée]\n" + +-#: sunrpc/rpc_main.c:1412 ++#: sunrpc/rpc_main.c:1408 + #, c-format + msgid "\t%s [-s nettype]* [-o outfile] [infile]\n" + msgstr "\t%s [-s type_réseau]* [-o fichier_de_sortie] [fichier_d_entrée]\n" + +-#: sunrpc/rpc_main.c:1413 ++#: sunrpc/rpc_main.c:1409 + #, c-format + msgid "\t%s [-n netid]* [-o outfile] [infile]\n" + msgstr "\t%s [-n id_réseau]* [-o fichier_de_sortie] [fichier_d_entrée]\n" + +-#: sunrpc/rpc_main.c:1421 ++#: sunrpc/rpc_main.c:1417 + #, c-format + msgid "options:\n" + msgstr "options :\n" + +-#: sunrpc/rpc_main.c:1422 ++#: sunrpc/rpc_main.c:1418 + #, c-format + msgid "-a\t\tgenerate all files, including samples\n" + msgstr "-a\t\tgénère tout fichiers, y compris exemples\n" + +-#: sunrpc/rpc_main.c:1423 ++#: sunrpc/rpc_main.c:1419 + #, c-format + msgid "-b\t\tbackward compatibility mode (generates code for SunOS 4.1)\n" + msgstr "-b\t\tmode de compatibilité descendante (génère du code pour Sun0S 4.1)\n" + +-#: sunrpc/rpc_main.c:1424 ++#: sunrpc/rpc_main.c:1420 + #, c-format + msgid "-c\t\tgenerate XDR routines\n" + msgstr "-c\t\tgénère des routines XDR\n" + +-#: sunrpc/rpc_main.c:1425 ++#: sunrpc/rpc_main.c:1421 + #, c-format + msgid "-C\t\tANSI C mode\n" + msgstr "-C\t\tmode ANSI C\n" + +-#: sunrpc/rpc_main.c:1426 ++#: sunrpc/rpc_main.c:1422 + #, c-format + msgid "-Dname[=value]\tdefine a symbol (same as #define)\n" + msgstr "-Dname[=valeur]\tdéfinit un symbole (pareil que #define)\n" + +-#: sunrpc/rpc_main.c:1427 ++#: sunrpc/rpc_main.c:1423 + #, c-format + msgid "-h\t\tgenerate header file\n" + msgstr "-h\t\tgénère le fichier d'entête\n" + +-#: sunrpc/rpc_main.c:1428 ++#: sunrpc/rpc_main.c:1424 + #, c-format + msgid "-i size\t\tsize at which to start generating inline code\n" + msgstr "-i size\t\ttaille à laquelle débute la génération du code en ligne\n" + +-#: sunrpc/rpc_main.c:1429 ++#: sunrpc/rpc_main.c:1425 + #, c-format + msgid "-I\t\tgenerate code for inetd support in server (for SunOS 4.1)\n" + msgstr "-I\t\tgénère du code pour le support de inetd sur serveur (pour SunOS 4.1)\n" + +-#: sunrpc/rpc_main.c:1430 ++#: sunrpc/rpc_main.c:1426 + #, c-format + msgid "-K seconds\tserver exits after K seconds of inactivity\n" + msgstr "-K secondes\tserveur quitte après K secondes d'inactivité\n" + +-#: sunrpc/rpc_main.c:1431 ++#: sunrpc/rpc_main.c:1427 + #, c-format + msgid "-l\t\tgenerate client side stubs\n" + msgstr "-l\t\tgénère des squelettes de code du côté client\n" + +-#: sunrpc/rpc_main.c:1432 ++#: sunrpc/rpc_main.c:1428 + #, c-format + msgid "-L\t\tserver errors will be printed to syslog\n" + msgstr "-L\t\tles erreurs du serveur seront dirigées vers syslog\n" + +-#: sunrpc/rpc_main.c:1433 ++#: sunrpc/rpc_main.c:1429 + #, c-format + msgid "-m\t\tgenerate server side stubs\n" + msgstr "-m\t\tgénère des squelettes de code du côté serveur\n" + +-#: sunrpc/rpc_main.c:1434 ++#: sunrpc/rpc_main.c:1430 + #, c-format + msgid "-M\t\tgenerate MT-safe code\n" + msgstr "-M\t\tgénère le code MT-safe\n" + +-#: sunrpc/rpc_main.c:1435 ++#: sunrpc/rpc_main.c:1431 + #, c-format + msgid "-n netid\tgenerate server code that supports named netid\n" + msgstr "-n netid\tgénère le code serveur qui supporte netid nommé\n" + +-#: sunrpc/rpc_main.c:1436 ++#: sunrpc/rpc_main.c:1432 + #, c-format + msgid "-N\t\tsupports multiple arguments and call-by-value\n" + msgstr "-N\t\tsupporte des arguments multiples et call-by-value\n" + +-#: sunrpc/rpc_main.c:1437 ++#: sunrpc/rpc_main.c:1433 + #, c-format + msgid "-o outfile\tname of the output file\n" + msgstr "-o outfile\tnom du fichier de sortie\n" + +-#: sunrpc/rpc_main.c:1438 ++#: sunrpc/rpc_main.c:1434 + #, c-format + msgid "-s nettype\tgenerate server code that supports named nettype\n" + msgstr "-s nettype\tgénère le code serveur qui supporte nettype nommé\n" + +-#: sunrpc/rpc_main.c:1439 ++#: sunrpc/rpc_main.c:1435 + #, c-format + msgid "-Sc\t\tgenerate sample client code that uses remote procedures\n" + msgstr "-Sc\t\tgénère du code échantillon client qui utilise des procédures éloignées\n" + +-#: sunrpc/rpc_main.c:1440 ++#: sunrpc/rpc_main.c:1436 + #, c-format + msgid "-Ss\t\tgenerate sample server code that defines remote procedures\n" + msgstr "-Ss\t\tgénère du code échantillon serveur qui définit des procédures éloignées\n" + +-#: sunrpc/rpc_main.c:1441 ++#: sunrpc/rpc_main.c:1437 + #, c-format + msgid "-Sm \t\tgenerate makefile template \n" + msgstr "-Sm \t\tgénère un patron de makefile\n" + +-#: sunrpc/rpc_main.c:1442 ++#: sunrpc/rpc_main.c:1438 + #, c-format + msgid "-t\t\tgenerate RPC dispatch table\n" + msgstr "-t\t\tgénère la table de distribution RPC\n" + +-#: sunrpc/rpc_main.c:1443 ++#: sunrpc/rpc_main.c:1439 + #, c-format + msgid "-T\t\tgenerate code to support RPC dispatch tables\n" + msgstr "-T\t\tgénère le code qui supporte les tables de distribution RPC\n" + +-#: sunrpc/rpc_main.c:1444 ++#: sunrpc/rpc_main.c:1440 + #, c-format + msgid "-Y path\t\tdirectory name to find C preprocessor (cpp)\n" + msgstr "-Y path\t\tnom de répertoire pour trouver un préprocesseur C (cpp)\n" + ++#: sunrpc/rpc_main.c:1442 ++#, c-format ++msgid "" ++"\n" ++"For bug reporting instructions, please see:\n" ++"%s.\n" ++msgstr "" ++"\n" ++"Pour les instructions de rapport de bug, SVP voyez là : \n" ++"%s.\n" ++ + #: sunrpc/rpc_scan.c:112 + msgid "constant or identifier expected" + msgstr "Constante ou identificateur attendu" +@@ -5580,59 +5591,59 @@ + msgid "never registered prog %d\n" + msgstr "Le programme %d n'a jamais été enregistré.\n" + +-#: sunrpc/svc_tcp.c:147 ++#: sunrpc/svc_tcp.c:164 + msgid "svc_tcp.c - tcp socket creation problem" + msgstr "svc_tcp.c - problème de création d'un socket TCP" + +-#: sunrpc/svc_tcp.c:162 ++#: sunrpc/svc_tcp.c:179 + msgid "svc_tcp.c - cannot getsockname or listen" + msgstr "svc_tcp.c - ne peut repérer le nom du socket par getsockname() ou listen()" + +-#: sunrpc/svc_udp.c:120 ++#: sunrpc/svc_udp.c:137 + msgid "svcudp_create: socket creation problem" + msgstr "svcudp_create : problème de création du socket" + +-#: sunrpc/svc_udp.c:134 ++#: sunrpc/svc_udp.c:151 + msgid "svcudp_create - cannot getsockname" + msgstr "svcudp_create - ne peut repérer le nom du socket par getsockname()" + +-#: sunrpc/svc_udp.c:166 ++#: sunrpc/svc_udp.c:183 + msgid "svcudp_create: xp_pad is too small for IP_PKTINFO\n" + msgstr "svcudp_create : xp_pad est trop petit pour IP_PKTINFO\n" + +-#: sunrpc/svc_udp.c:474 ++#: sunrpc/svc_udp.c:495 + msgid "enablecache: cache already enabled" + msgstr "enablecache : cache déjà activée" + +-#: sunrpc/svc_udp.c:480 ++#: sunrpc/svc_udp.c:501 + msgid "enablecache: could not allocate cache" + msgstr "enablecache : ne peut allouer une cache" + +-#: sunrpc/svc_udp.c:489 ++#: sunrpc/svc_udp.c:510 + msgid "enablecache: could not allocate cache data" + msgstr "enablecache : ne peut allouer une cache de données" + +-#: sunrpc/svc_udp.c:497 ++#: sunrpc/svc_udp.c:518 + msgid "enablecache: could not allocate cache fifo" + msgstr "enablecache : ne peut allouer une cache de type fifo" + +-#: sunrpc/svc_udp.c:533 ++#: sunrpc/svc_udp.c:554 + msgid "cache_set: victim not found" + msgstr "cache_set : « victim » non repéré" + +-#: sunrpc/svc_udp.c:544 ++#: sunrpc/svc_udp.c:565 + msgid "cache_set: victim alloc failed" + msgstr "cache_set : échec d'allocation de « victim »" + +-#: sunrpc/svc_udp.c:551 ++#: sunrpc/svc_udp.c:572 + msgid "cache_set: could not allocate new rpc_buffer" + msgstr "cache_set : ne peut allouer une nouveau tampon rpc_buffer" + +-#: sunrpc/svc_unix.c:145 ++#: sunrpc/svc_unix.c:162 + msgid "svc_unix.c - AF_UNIX socket creation problem" + msgstr "svc_unix.c - problème de création d'un socket « AF_UNIX »" + +-#: sunrpc/svc_unix.c:161 ++#: sunrpc/svc_unix.c:178 + msgid "svc_unix.c - cannot getsockname or listen" + msgstr "svc_unix.c - ne peut repérer le nom du socket par getsockname() ou listen()" + +@@ -5742,41 +5753,41 @@ + msgstr "Expiration de la minuterie durant l'établissement du profile" + + #: sysdeps/generic/siglist.h:53 +-msgid "Window changed" +-msgstr "La fenêtre a changée" +- +-#: sysdeps/generic/siglist.h:54 + msgid "User defined signal 1" + msgstr "Signal #1 défini par l'usager" + +-#: sysdeps/generic/siglist.h:55 ++#: sysdeps/generic/siglist.h:54 + msgid "User defined signal 2" + msgstr "Signal #2 défini par l'usager" + +-#: sysdeps/generic/siglist.h:59 ++#: sysdeps/generic/siglist.h:58 + msgid "EMT trap" + msgstr "Trappe EMT" + +-#: sysdeps/generic/siglist.h:62 ++#: sysdeps/generic/siglist.h:61 + msgid "Bad system call" + msgstr "Appel système erroné" + +-#: sysdeps/generic/siglist.h:65 ++#: sysdeps/generic/siglist.h:64 + msgid "Stack fault" + msgstr "Erreur sur la pile" + +-#: sysdeps/generic/siglist.h:68 ++#: sysdeps/generic/siglist.h:67 + msgid "Information request" + msgstr "Requête d'information" + +-#: sysdeps/generic/siglist.h:70 ++#: sysdeps/generic/siglist.h:69 + msgid "Power failure" + msgstr "Panne d'alimentation" + +-#: sysdeps/generic/siglist.h:73 ++#: sysdeps/generic/siglist.h:72 + msgid "Resource lost" + msgstr "Ressource perdue" + ++#: sysdeps/generic/siglist.h:75 ++msgid "Window changed" ++msgstr "La fenêtre a changée" ++ + #. 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 +@@ -6710,424 +6721,427 @@ + msgid "cannot read header from `%s'" + msgstr "Ne peut lire l'en-tête de « %s »" + +-#: timezone/zdump.c:215 ++#: timezone/zdump.c:246 + msgid "lacks alphabetic at start" + msgstr "Il manque un lettre de l'alphabet au début" + +-#: timezone/zdump.c:217 ++#: timezone/zdump.c:248 + msgid "has fewer than 3 alphabetics" + msgstr "a moins de 3 lettres alphabétiques" + +-#: timezone/zdump.c:219 ++#: timezone/zdump.c:250 + msgid "has more than 6 alphabetics" + msgstr "a plus de 6 lettres alphabétiques" + +-#: timezone/zdump.c:227 ++#: timezone/zdump.c:258 + msgid "differs from POSIX standard" + msgstr "diffère du standard POSIX" + +-#: timezone/zdump.c:233 ++#: timezone/zdump.c:264 + #, c-format + msgid "%s: warning: zone \"%s\" abbreviation \"%s\" %s\n" + msgstr "%s : attention : zone \"%s\" abréviation \"%s\" %s\n" + +-#: timezone/zdump.c:244 ++#: timezone/zdump.c:273 + #, c-format + msgid "" + "%s: usage is %s [ --version ] [ --help ] [ -v ] [ -c [loyear,]hiyear ] zonename ...\n" + "\n" +-"Report bugs to tz@elsie.nci.nih.gov.\n" ++"Report bugs to %s.\n" + msgstr "" + "%s : usage est %s [ --version ] [ --help ] [ -v ] [ -c [AnnéeBasse,]AnnéeHaute ] nom_fuseau_horaire ...\n" + "\n" +-"Envoyer bugs à tz@elsie.nci.nih.gov.\n" ++"Rapporter les bugs à %s.\n" + +-#: timezone/zdump.c:313 ++#: timezone/zdump.c:340 + #, c-format + msgid "%s: wild -c argument %s\n" + msgstr "%s : argument -c intempestif %s\n" + +-#: timezone/zdump.c:400 ++#: timezone/zdump.c:426 + msgid "Error writing to standard output" + msgstr "Erreur d'écriture sur la sortie standard" + +-#: timezone/zdump.c:423 ++#: timezone/zdump.c:439 + #, c-format + msgid "%s: use of -v on system with floating time_t other than float or double\n" + msgstr "%s : usage de -v sur un système avec time_t flottant autre que float ou double\n" + +-#: timezone/zic.c:388 ++#: timezone/zic.c:361 + #, c-format + msgid "%s: Memory exhausted: %s\n" + msgstr "%s : mémoire épuisée : %s\n" + +-#: timezone/zic.c:434 ++#: timezone/zic.c:401 + #, c-format + msgid "\"%s\", line %d: %s" + msgstr "« %s », ligne %d : %s" + +-#: timezone/zic.c:437 ++#: timezone/zic.c:404 + #, c-format + msgid " (rule from \"%s\", line %d)" + msgstr " (règles de « %s », ligne %d)" + +-#: timezone/zic.c:449 ++#: timezone/zic.c:415 + msgid "warning: " + msgstr "AVERTISSEMENT : " + +-#: timezone/zic.c:459 ++#: timezone/zic.c:425 + #, c-format + 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" ++"Report bugs to %s.\n" + msgstr "" + "%s : l'usage is %s [ --version ] [ --help ] [ -v ] [ -l temps_local ] [ -p règles_posix ] \\\n" + "\t[ -d dossier ] [ -L secondes_écoulées ] [ -y type_année ] [ fichier ... ]\n" + "\n" +-"Envoyer bugs à tz@elsie.nci.nih.gov.\n" ++"Rapporter les bugs à %s.\n" + +-#: timezone/zic.c:496 ++#: timezone/zic.c:460 + msgid "wild compilation-time specification of zic_t" + msgstr "spécification approximative de zic_t au moment de la compilation" + +-#: timezone/zic.c:515 ++#: timezone/zic.c:479 + #, c-format + msgid "%s: More than one -d option specified\n" + msgstr "%s : option -d spécifiée plus d'une fois\n" + +-#: timezone/zic.c:525 ++#: timezone/zic.c:489 + #, c-format + msgid "%s: More than one -l option specified\n" + msgstr "%s : option -l spécifiée plus d'une fois\n" + +-#: timezone/zic.c:535 ++#: timezone/zic.c:499 + #, c-format + msgid "%s: More than one -p option specified\n" + msgstr "%s : option -p spécifiée plus d'une fois\n" + +-#: timezone/zic.c:545 ++#: timezone/zic.c:509 + #, c-format + msgid "%s: More than one -y option specified\n" + msgstr "%s : option -y spécifiée plus d'une fois\n" + +-#: timezone/zic.c:555 ++#: timezone/zic.c:519 + #, c-format + msgid "%s: More than one -L option specified\n" + msgstr "%s : option -L spécifiée plus d'une fois\n" + +-#: timezone/zic.c:604 ++#: timezone/zic.c:566 + msgid "link to link" + msgstr "lien à lien" + +-#: timezone/zic.c:669 ++#: timezone/zic.c:629 + msgid "hard link failed, symbolic link used" + msgstr "Échec de création du lien direct, création d'un lien symbolique" + +-#: timezone/zic.c:677 ++#: timezone/zic.c:637 + #, c-format + msgid "%s: Can't link from %s to %s: %s\n" + msgstr "%s : ne peut établir un lien entre %s et %s : %s\n" + +-#: timezone/zic.c:749 timezone/zic.c:751 ++#: timezone/zic.c:697 timezone/zic.c:699 + msgid "same rule name in multiple files" + msgstr "Même nom de règle dans plusieurs fichiers" + +-#: timezone/zic.c:792 ++#: timezone/zic.c:740 + msgid "unruly zone" + msgstr "Zone sans règle" + +-#: timezone/zic.c:799 ++#: timezone/zic.c:747 + #, c-format + msgid "%s in ruleless zone" + msgstr "%s est dans une zone sans règle" + +-#: timezone/zic.c:820 ++#: timezone/zic.c:767 + msgid "standard input" + msgstr "entrée standard" + +-#: timezone/zic.c:825 ++#: timezone/zic.c:772 + #, c-format + msgid "%s: Can't open %s: %s\n" + msgstr "%s : ne peut ouvrir %s : %s\n" + +-#: timezone/zic.c:836 ++#: timezone/zic.c:783 + msgid "line too long" + msgstr "Ligne trop longue" + +-#: timezone/zic.c:856 ++#: timezone/zic.c:803 + msgid "input line of unknown type" + msgstr "Ligne d'entrée de type inconnu" + +-#: timezone/zic.c:872 ++#: timezone/zic.c:819 + #, c-format + msgid "%s: Leap line in non leap seconds file %s\n" + msgstr "" + "%s : ligne de type « Leap » dans un fichier qui n'a pas\n" + "de délai en secondes %s\n" + +-#: timezone/zic.c:879 timezone/zic.c:1316 timezone/zic.c:1338 ++#: timezone/zic.c:826 timezone/zic.c:1243 timezone/zic.c:1265 + #, c-format + msgid "%s: panic: Invalid l_value %d\n" + msgstr "%s : panique : valeur %d de type « l_value » invalide\n" + +-#: timezone/zic.c:887 ++#: timezone/zic.c:834 + #, c-format + msgid "%s: Error reading %s\n" + msgstr "%s : erreur de lecture de %s\n" + +-#: timezone/zic.c:894 ++#: timezone/zic.c:841 + #, c-format + msgid "%s: Error closing %s: %s\n" + msgstr "%s : erreur lors de la fermeture de %s : %s\n" + +-#: timezone/zic.c:899 ++#: timezone/zic.c:846 + msgid "expected continuation line not found" + msgstr "ligne de continuation attendue, non repérée" + +-#: timezone/zic.c:943 timezone/zic.c:2541 timezone/zic.c:2560 ++#: timezone/zic.c:887 timezone/zic.c:2411 timezone/zic.c:2425 + msgid "time overflow" + msgstr "Débordement du temps alloué" + +-#: timezone/zic.c:947 ++#: timezone/zic.c:891 + msgid "24:00 not handled by pre-1998 versions of zic" + msgstr "24 : 00 non pris en charge par les versions de zic antérieures à1998 " + +-#: timezone/zic.c:950 ++#: timezone/zic.c:894 + msgid "values over 24 hours not handled by pre-2007 versions of zic" + msgstr "valeurs au-delà de 24 heures non prises en charge par les versions de zic antérieures à 2007" + +-#: timezone/zic.c:963 ++#: timezone/zic.c:905 + msgid "wrong number of fields on Rule line" + msgstr "Mauvais nombre de champs sur la ligne de type « Rule »" + +-#: timezone/zic.c:967 ++#: timezone/zic.c:909 + msgid "nameless rule" + msgstr "Règle sans nom" + +-#: timezone/zic.c:972 ++#: timezone/zic.c:914 + msgid "invalid saved time" + msgstr "Temps sauvegardé invalide" + +-#: timezone/zic.c:993 ++#: timezone/zic.c:932 + msgid "wrong number of fields on Zone line" + msgstr "Mauvais nombre de champs sur la ligne de type « Zone »" + +-#: timezone/zic.c:999 ++#: timezone/zic.c:938 + #, c-format + msgid "\"Zone %s\" line and -l option are mutually exclusive" + msgstr "La ligne \"Zone %s\" et l'option -l sont mutuellement exclusifs" + +-#: timezone/zic.c:1007 ++#: timezone/zic.c:946 + #, c-format + msgid "\"Zone %s\" line and -p option are mutually exclusive" + msgstr "La ligne « Zone %s » et l'option -p sont mutuellement exclusifs" + +-#: timezone/zic.c:1019 ++#: timezone/zic.c:958 + #, c-format + msgid "duplicate zone name %s (file \"%s\", line %d)" + msgstr "Double noms de zone %s (fichier « %s », ligne %d)" + +-#: timezone/zic.c:1035 ++#: timezone/zic.c:972 + msgid "wrong number of fields on Zone continuation line" + msgstr "Mauvais nombre de champs sur la ligne de type continuation de « Zone »" + +-#: timezone/zic.c:1075 ++#: timezone/zic.c:1009 + msgid "invalid UTC offset" + msgstr "Adressage relatif GMT invalide" + +-#: timezone/zic.c:1078 ++#: timezone/zic.c:1012 + msgid "invalid abbreviation format" + msgstr "Format d'abréviation invalide" + +-#: timezone/zic.c:1107 ++#: timezone/zic.c:1041 + msgid "Zone continuation line end time is not after end time of previous line" + msgstr "" + "Temps final de la ligne de continuation du fuseau horaire est antérieur\n" + "au temps final de la ligne précédente" + +-#: timezone/zic.c:1135 ++#: timezone/zic.c:1066 + msgid "wrong number of fields on Leap line" + msgstr "Mauvais nombre de champs sur la ligne de type « Leap »" + +-#: timezone/zic.c:1144 ++#: timezone/zic.c:1075 + msgid "invalid leaping year" + msgstr "Année bissextile invalide" + +-#: timezone/zic.c:1164 timezone/zic.c:1270 ++#: timezone/zic.c:1095 timezone/zic.c:1197 + msgid "invalid month name" + msgstr "Nom de mois invalide" + +-#: timezone/zic.c:1177 timezone/zic.c:1383 timezone/zic.c:1397 ++#: timezone/zic.c:1108 timezone/zic.c:1310 timezone/zic.c:1324 + msgid "invalid day of month" + msgstr "Jour du mois invalide" + + # time/zic.c:1120A +-#: timezone/zic.c:1182 ++#: timezone/zic.c:1113 + msgid "time before zero" + msgstr "Temps défini avant le zéro" + +-#: timezone/zic.c:1186 ++#: timezone/zic.c:1117 + msgid "time too small" + msgstr "valeur de temps trop petite" + +-#: timezone/zic.c:1190 ++#: timezone/zic.c:1121 + msgid "time too large" + msgstr "valeur de temps trop grande" + +-#: timezone/zic.c:1194 timezone/zic.c:1299 ++#: timezone/zic.c:1125 timezone/zic.c:1226 + msgid "invalid time of day" + msgstr "Heure du jour invalide" + +-#: timezone/zic.c:1213 ++#: timezone/zic.c:1144 + msgid "illegal CORRECTION field on Leap line" + msgstr "champ CORRECTION non permis dans la ligne de type « Leap »" + +-#: timezone/zic.c:1218 ++#: timezone/zic.c:1149 + msgid "illegal Rolling/Stationary field on Leap line" + msgstr "Champ « Rolling/Stationary » non permis sur la ligne de type « Leap »" + +-#: timezone/zic.c:1234 ++#: timezone/zic.c:1163 + msgid "wrong number of fields on Link line" + msgstr "Mauvais nombre de champs sur la ligne de type « Link »" + +-#: timezone/zic.c:1238 ++#: timezone/zic.c:1167 + msgid "blank FROM field on Link line" + msgstr "Champ « FROM » vide dans la ligne de type « Link »" + +-#: timezone/zic.c:1242 ++#: timezone/zic.c:1171 + msgid "blank TO field on Link line" + msgstr "Champ « TO » vide dans la ligne de type « Link »" + +-#: timezone/zic.c:1320 ++#: timezone/zic.c:1247 + msgid "invalid starting year" + msgstr "Année initiale invalide" + +-#: timezone/zic.c:1342 ++#: timezone/zic.c:1269 + msgid "invalid ending year" + msgstr "Année finale invalide" + +-#: timezone/zic.c:1346 ++#: timezone/zic.c:1273 + msgid "starting year greater than ending year" + msgstr "année initiale plus grande que l'année finale" + +-#: timezone/zic.c:1353 ++#: timezone/zic.c:1280 + msgid "typed single year" + msgstr "une seule année fournie" + +-#: timezone/zic.c:1388 ++#: timezone/zic.c:1315 + msgid "invalid weekday name" + msgstr "Nom du jour de semaine invalide" + +-#: timezone/zic.c:1566 ++#: timezone/zic.c:1481 + #, c-format + msgid "%s: Can't remove %s: %s\n" + msgstr "%s : ne peut enlever %s : %s\n" + +-#: timezone/zic.c:1576 ++#: timezone/zic.c:1491 + #, c-format + msgid "%s: Can't create %s: %s\n" + msgstr "%s : ne peut créer %s : %s\n" + +-#: timezone/zic.c:1773 ++#: timezone/zic.c:1683 + #, c-format + msgid "%s: Error writing %s\n" + msgstr "%s : erreur d'écriture de %s\n" + +-#: timezone/zic.c:2070 ++#: timezone/zic.c:1964 + msgid "no POSIX environment variable for zone" + msgstr "pas de variable d'environnement POSIX pour zone" + +-#: timezone/zic.c:2237 ++#: timezone/zic.c:2131 + msgid "can't determine time zone abbreviation to use just after until time" + msgstr "" + "Ne peut déterminer l'abréviation du fuseau horaire à utiliser\n" + "juste après telle date" + +-#: timezone/zic.c:2283 ++#: timezone/zic.c:2175 + msgid "too many transitions?!" + msgstr "trop de transitions définies ? !" + +-#: timezone/zic.c:2302 ++#: timezone/zic.c:2190 + msgid "internal error - addtype called with bad isdst" + msgstr "Erreur interne - addtype() appellé avec un mauvais bloc de type « isdst »" + +-#: timezone/zic.c:2306 ++#: timezone/zic.c:2194 + msgid "internal error - addtype called with bad ttisstd" + msgstr "Erreur interne - addtype() appellé avec un mauvais bloc de type « ttisstd »" + +-#: timezone/zic.c:2310 ++#: timezone/zic.c:2198 + msgid "internal error - addtype called with bad ttisgmt" + msgstr "Erreur interne - addtype() appellé avec un mauvais bloc de type « ttisgmt »" + +-#: timezone/zic.c:2329 ++#: timezone/zic.c:2217 + msgid "too many local time types" + msgstr "trop de types localisés pour la représentation du temps" + +-#: timezone/zic.c:2333 ++#: timezone/zic.c:2221 + msgid "UTC offset out of range" + msgstr "UTC décalage en dehors de la plage" + +-#: timezone/zic.c:2361 ++#: timezone/zic.c:2245 + msgid "too many leap seconds" + msgstr "trop de délai en secondes" + +-#: timezone/zic.c:2367 ++#: timezone/zic.c:2251 + msgid "repeated leap second moment" + msgstr "Répétition du délai une seconde fois" + +-#: timezone/zic.c:2419 ++#: timezone/zic.c:2301 + msgid "Wild result from command execution" + msgstr "Résultat anarchique résultant de l'exécution de la commande" + +-#: timezone/zic.c:2420 ++#: timezone/zic.c:2302 + #, c-format + msgid "%s: command was '%s', result was %d\n" + msgstr "%s : la commande était « %s », le résultat était %d\n" + +-#: timezone/zic.c:2518 ++#: timezone/zic.c:2393 + msgid "Odd number of quotation marks" + msgstr "Nombre impair de caractères apostrophe" + +-#: timezone/zic.c:2607 ++#: timezone/zic.c:2470 + msgid "use of 2/29 in non leap-year" + msgstr "Utiliser 2/29 pour les années non-bissextiles" + +-#: timezone/zic.c:2642 ++#: timezone/zic.c:2505 + msgid "rule goes past start/end of month--will not work with pre-2004 versions of zic" + msgstr "la règle en dehors de début/fin du mois--ne fonctionnera pas avec les versions de zic antérieures à 2004" + +-#: timezone/zic.c:2674 ++#: timezone/zic.c:2536 + msgid "time zone abbreviation lacks alphabetic at start" + msgstr "l'abréviation du nom de fuseau horaire n'a pas de caractère alphabétique au début" + +-#: timezone/zic.c:2676 +-msgid "time zone abbreviation has more than 3 alphabetics" +-msgstr "l'abréviation du nom de fuseau horaire a plus de 3 caractères alphabétiques" ++#: timezone/zic.c:2538 ++msgid "time zone abbreviation has fewer than 3 alphabetics" ++msgstr "l'abréviation du nom de fuseau horaire a moins de 3 caractères alphabétiques" + +-#: timezone/zic.c:2678 ++#: timezone/zic.c:2540 + msgid "time zone abbreviation has too many alphabetics" + msgstr "l'abréviation du nom de fuseau horaire a trop de caractères alphabétiques" + +-#: timezone/zic.c:2688 ++#: timezone/zic.c:2550 + msgid "time zone abbreviation differs from POSIX standard" + msgstr "l'abréviation du nom de fuseau horaire diffère du standard POSIX" + +-#: timezone/zic.c:2700 ++#: timezone/zic.c:2562 + msgid "too many, or too long, time zone abbreviations" + msgstr "trop ou de trop longues abréviations de fuseaux horaires" + +-#: timezone/zic.c:2741 ++#: timezone/zic.c:2602 + #, c-format + msgid "%s: Can't create directory %s: %s\n" + msgstr "%s : ne peut créer le dossier %s : %s\n" + +-#: timezone/zic.c:2763 ++#: timezone/zic.c:2623 + #, c-format + msgid "%s: %d did not sign extend correctly\n" + msgstr "%s : %d n'a pas fait correctement l'expansion de la valeur signée\n" + ++#~ msgid "cannot find any C preprocessor (cpp)\n" ++#~ msgstr "Ne peut trouver un préprocesseur C (cpp)\n" ++ + #~ msgid "Try \\`%s --help' or `%s --usage' for more information.\\n" + #~ msgstr "Pour en savoir davantage, faites : «%s --help » ou «%s --usage».\\n" + +Index: libc/po/ca.po +=================================================================== +--- libc/po/ca.po (revision 22177) ++++ libc/po/ca.po (revision 22178) +@@ -1,7 +1,7 @@ + # Catalan messages for GNU libc. +-# Copyright (C) 1998, 1999, 2000, 2001, 2002, 2003, 2004, 2006, 2007, 2009, 2011 Free Software Foundation, Inc. ++# Copyright (C) 1998, 1999, 2000, 2001, 2002, 2003, 2004, 2006, 2007, 2009, 2011, 2012, 2013 Free Software Foundation, Inc. + # This file is distributed under the same license as the glibc package. +-# Ivan Vilata i Balaguer <ivan@selidor.net>, 1998, 1999, 2000, 2001, 2002, 2003, 2004, 2006, 2007, 2009, 2011. ++# Ivan Vilata i Balaguer <ivan@selidor.net>, 1998, 1999, 2000, 2001, 2002, 2003, 2004, 2006, 2007, 2009, 2011, 2012, 2013. + # + # Sóc Ivan, aquestes són les convencions que adopte per a la 2.4: + # +@@ -47,9 +47,9 @@ + # bonic, excepte quan quede realment horrend o porte a confusió). + msgid "" + msgstr "" +-"Project-Id-Version: libc 2.14\n" +-"POT-Creation-Date: 2011-05-31 00:06-0400\n" +-"PO-Revision-Date: 2011-09-30 12:49+0200\n" ++"Project-Id-Version: libc 2.17-pre1\n" ++"POT-Creation-Date: 2012-12-07 15:10-0500\n" ++"PO-Revision-Date: 2013-01-01 14:00+0100\n" + "Last-Translator: Ivan Vilata i Balaguer <ivan@selidor.net>\n" + "Language-Team: Catalan <ca@dodds.net>\n" + "Language: ca\n" +@@ -57,89 +57,89 @@ + "Content-Type: text/plain; charset=UTF-8\n" + "Content-Transfer-Encoding: 8bit\n" + +-#: argp/argp-help.c:228 ++#: argp/argp-help.c:227 + #, c-format + msgid "%.*s: ARGP_HELP_FMT parameter requires a value" + msgstr "%.*s: el paràmetre ARGP_HELP_FMT necessita un valor" + +-#: argp/argp-help.c:238 ++#: argp/argp-help.c:237 + #, c-format + msgid "%.*s: Unknown ARGP_HELP_FMT parameter" + msgstr "%.*s: el paràmetre d’ARGP_HELP_FMT no és conegut" + +-#: argp/argp-help.c:251 ++#: argp/argp-help.c:250 + #, c-format + msgid "Garbage in ARGP_HELP_FMT: %s" + msgstr "brossa a ARGP_HELP_FMT: %s" + +-#: argp/argp-help.c:1215 ++#: argp/argp-help.c:1214 + msgid "Mandatory or optional arguments to long options are also mandatory or optional for any corresponding short options." + msgstr "Els arguments obligatoris o opcionals per a les opcions llargues també ho són per a les opcions curtes corresponents." + +-#: argp/argp-help.c:1601 ++#: argp/argp-help.c:1600 + msgid "Usage:" + msgstr "Forma d’ús:" + +-#: argp/argp-help.c:1605 ++#: argp/argp-help.c:1604 + msgid " or: " + msgstr " o bé: " + +-#: argp/argp-help.c:1617 ++#: argp/argp-help.c:1616 + msgid " [OPTION...]" + msgstr " [OPCIÓ…]" + +-#: argp/argp-help.c:1644 ++#: argp/argp-help.c:1643 + #, c-format + msgid "Try `%s --help' or `%s --usage' for more information.\n" + msgstr "Proveu «%s --help» o «%s --usage» per a obtenir més informació.\n" + +-#: argp/argp-help.c:1672 ++#: argp/argp-help.c:1671 + #, c-format + msgid "Report bugs to %s.\n" + msgstr "Informeu dels errors a %s.\n" + + # Més ajudes. ivb +-#: argp/argp-parse.c:102 ++#: argp/argp-parse.c:101 + msgid "Give this help list" + msgstr "Mostra aquest llistat d’ajuda." + +-#: argp/argp-parse.c:103 ++#: argp/argp-parse.c:102 + msgid "Give a short usage message" + msgstr "Mostra un missatge breu amb la forma d’ús." + +-#: argp/argp-parse.c:104 ++#: argp/argp-parse.c:103 + msgid "Set the program name" + msgstr "Estableix el nom del programa." + + # ivb (2002/10/21) + # ivb La cadena «SECS» no està traduïda en l'estructura d'opcions. +-#: argp/argp-parse.c:106 ++#: argp/argp-parse.c:105 + msgid "Hang for SECS seconds (default 3600)" + msgstr "Espera durant un nombre de segons (3600 per defecte)." + +-#: argp/argp-parse.c:167 ++#: argp/argp-parse.c:166 + msgid "Print program version" + msgstr "Mostra la versió del programa." + +-#: argp/argp-parse.c:183 ++#: argp/argp-parse.c:182 + msgid "(PROGRAM ERROR) No version known!?" + msgstr "(ERROR DEL PROGRAMA) No es coneix cap versió!?" + +-#: argp/argp-parse.c:623 ++#: argp/argp-parse.c:622 + #, c-format + msgid "%s: Too many arguments\n" + msgstr "%s: Sobren arguments\n" + +-#: argp/argp-parse.c:766 ++#: argp/argp-parse.c:765 + msgid "(PROGRAM ERROR) Option should have been recognized!?" + msgstr "(ERROR DEL PROGRAMA) L’opció hauria d’haver estat reconeguda!?" + +-#: assert/assert-perr.c:37 ++#: assert/assert-perr.c:36 + #, c-format + msgid "%s%s%s:%u: %s%sUnexpected error: %s.\n" + msgstr "%s%s%s:%u: %s%sError inesperat: %s.\n" + +-#: assert/assert.c:105 ++#: assert/assert.c:101 + #, c-format + msgid "" + "%s%s%s:%u: %s%sAssertion `%s' failed.\n" +@@ -148,25 +148,25 @@ + "%s%s%s:%u: %s%sL’asserció «%s» ha fallat.\n" + "%n" + +-#: catgets/gencat.c:110 catgets/gencat.c:114 nscd/nscd.c:100 nss/makedb.c:61 ++#: catgets/gencat.c:109 catgets/gencat.c:113 nscd/nscd.c:115 nss/makedb.c:119 + msgid "NAME" + msgstr "NOM" + + # Més ajudes. ivb +-#: catgets/gencat.c:111 ++#: catgets/gencat.c:110 + msgid "Create C header file NAME containing symbol definitions" + msgstr "Crea el fitxer capçalera C NOM que contindrà les definicions de símbols." + +-#: catgets/gencat.c:113 ++#: catgets/gencat.c:112 + msgid "Do not use existing catalog, force new output file" + msgstr "No empra el catàleg existent, i crea un nou fitxer d’eixida." + +-#: catgets/gencat.c:114 nss/makedb.c:61 ++#: catgets/gencat.c:113 nss/makedb.c:119 + msgid "Write output to file NAME" + msgstr "Escriu l’eixida al fitxer NOM." + + # FIXME: Don't use \v. +-#: catgets/gencat.c:119 ++#: catgets/gencat.c:118 + 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" +@@ -176,7 +176,7 @@ + "Si FITXER_ENTRADA és «-», l’entrada es llegirà de l’entrada estàndard.\n" + "Si FITXER_EIXIDA és «-», l’eixida s’escriurà a l’eixida estàndard.\n" + +-#: catgets/gencat.c:124 ++#: catgets/gencat.c:123 + msgid "" + "-o OUTPUT-FILE [INPUT-FILE]...\n" + "[OUTPUT-FILE [INPUT-FILE]...]" +@@ -184,28 +184,29 @@ + "-o FITXER_EIXIDA [FITXER_ENTRADA]…\n" + "[FITXER_EIXIDA [FITXER_ENTRADA]…]" + +-#: 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 ++# L’adreça es veu millor així. ivb ++#: catgets/gencat.c:235 debug/pcprofiledump.c:208 elf/ldconfig.c:302 ++#: elf/pldd.c:222 elf/sln.c:85 elf/sprof.c:371 iconv/iconv_prog.c:408 ++#: iconv/iconvconfig.c:383 locale/programs/locale.c:279 ++#: locale/programs/localedef.c:363 login/programs/pt_chown.c:88 ++#: malloc/memusagestat.c:536 nscd/nscd.c:459 nss/getent.c:965 nss/makedb.c:371 ++#: posix/getconf.c:1121 sunrpc/rpcinfo.c:691 ++#: sysdeps/unix/sysv/linux/lddlibc4.c:61 ++#, c-format + msgid "" + "For bug reporting instructions, please see:\n" +-"<http://www.gnu.org/software/libc/bugs.html>.\n" ++"%s.\n" + msgstr "" + "Per a obtenir instruccions sobre com informar d’un error, vegeu\n" +-"<http://www.gnu.org/software/libc/bugs.html>.\n" ++"<%s>.\n" + +-#: 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 ++#: catgets/gencat.c:251 debug/pcprofiledump.c:224 debug/xtrace.sh:64 ++#: elf/ldconfig.c:318 elf/ldd.bash.in:38 elf/pldd.c:238 elf/sotruss.ksh:75 ++#: elf/sprof.c:388 iconv/iconv_prog.c:425 iconv/iconvconfig.c:400 ++#: locale/programs/locale.c:296 locale/programs/localedef.c:389 ++#: login/programs/pt_chown.c:62 malloc/memusage.sh:71 ++#: malloc/memusagestat.c:552 nscd/nscd.c:475 nss/getent.c:86 nss/makedb.c:387 ++#: posix/getconf.c:1103 sysdeps/unix/sysv/linux/lddlibc4.c:68 + #, c-format + msgid "" + "Copyright (C) %s Free Software Foundation, Inc.\n" +@@ -217,35 +218,35 @@ + "de còpia. No hi ha CAP garantia; ni tan sols de COMERCIABILITAT o\n" + "ADEQUACIÓ PER A UN PROPÒSIT PARTICULAR.\n" + +-#: 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 ++#: catgets/gencat.c:256 debug/pcprofiledump.c:229 debug/xtrace.sh:68 ++#: elf/ldconfig.c:323 elf/pldd.c:243 elf/sprof.c:394 iconv/iconv_prog.c:430 ++#: iconv/iconvconfig.c:405 locale/programs/locale.c:301 ++#: locale/programs/localedef.c:394 malloc/memusage.sh:75 ++#: malloc/memusagestat.c:557 nscd/nscd.c:480 nss/getent.c:91 nss/makedb.c:392 ++#: posix/getconf.c:1108 + #, c-format + msgid "Written by %s.\n" + msgstr "Escrit per %s.\n" + +-#: catgets/gencat.c:282 ++#: catgets/gencat.c:287 + msgid "*standard input*" + msgstr "*entrada estàndard*" + +-#: catgets/gencat.c:288 iconv/iconv_charmap.c:170 iconv/iconv_prog.c:294 +-#: nss/makedb.c:170 ++#: catgets/gencat.c:293 iconv/iconv_charmap.c:169 iconv/iconv_prog.c:293 ++#: nss/makedb.c:248 + #, c-format + msgid "cannot open input file `%s'" + msgstr "no s’ha pogut obrir el fitxer d’entrada «%s»" + +-#: catgets/gencat.c:417 catgets/gencat.c:494 ++#: catgets/gencat.c:422 catgets/gencat.c:497 + msgid "illegal set number" + msgstr "el número de joc de missatges no és vàlid" + +-#: catgets/gencat.c:444 ++#: catgets/gencat.c:449 + msgid "duplicate set definition" + msgstr "la definició del joc de missatges és duplicada" + +-#: catgets/gencat.c:446 catgets/gencat.c:623 catgets/gencat.c:677 ++#: catgets/gencat.c:451 catgets/gencat.c:623 catgets/gencat.c:675 + msgid "this is the first definition" + msgstr "aquesta és la primera definició" + +@@ -267,52 +268,52 @@ + msgid "duplicated message number" + msgstr "el número de missatge és duplicat" + +-#: catgets/gencat.c:674 ++#: catgets/gencat.c:672 + msgid "duplicated message identifier" + msgstr "l’identificador de missatge és duplicat" + +-#: catgets/gencat.c:731 ++#: catgets/gencat.c:729 + msgid "invalid character: message ignored" + msgstr "el caràcter no és vàlid: es descarta el missatge" + +-#: catgets/gencat.c:774 ++#: catgets/gencat.c:772 + msgid "invalid line" + msgstr "la línia no és vàlida" + +-#: catgets/gencat.c:828 ++#: catgets/gencat.c:826 + msgid "malformed line ignored" + msgstr "es descarta la línia en mal estat" + +-#: catgets/gencat.c:992 catgets/gencat.c:1033 nss/makedb.c:183 ++#: catgets/gencat.c:990 catgets/gencat.c:1031 + #, c-format + msgid "cannot open output file `%s'" + msgstr "no s’ha pogut obrir el fitxer d’eixida «%s»" + +-#: catgets/gencat.c:1195 locale/programs/linereader.c:560 ++#: catgets/gencat.c:1193 locale/programs/linereader.c:559 + msgid "invalid escape sequence" + msgstr "la seqüència d’escapada no és vàlida" + +-#: catgets/gencat.c:1217 ++#: catgets/gencat.c:1215 + msgid "unterminated message" + msgstr "el missatge no està acabat" + +-#: catgets/gencat.c:1241 ++#: catgets/gencat.c:1239 + #, c-format + msgid "while opening old catalog file" + msgstr "en obrir el fitxer antic de catàleg" + +-#: catgets/gencat.c:1332 ++#: catgets/gencat.c:1330 + #, c-format + msgid "conversion modules not available" + msgstr "els mòduls de conversió no es troben disponibles" + +-#: catgets/gencat.c:1358 ++#: catgets/gencat.c:1356 + #, c-format + msgid "cannot determine escape character" + msgstr "no s’ha pogut determinar el caràcter d’escapada" + + # Més ajudes. ivb +-#: debug/pcprofiledump.c:53 ++#: debug/pcprofiledump.c:52 + msgid "Don't buffer output" + msgstr "No empra memòria intermèdia per a l’eixida." + +@@ -324,42 +325,43 @@ + # ivb tot i que el codi del programa cada volta que fa referència a «pc» + # ivb o «PC» parla del «lowpc» i del «highpc», sempre en referència al + # ivb segment de text (codi) del programa. +-#: debug/pcprofiledump.c:58 ++#: debug/pcprofiledump.c:57 + msgid "Dump information generated by PC profiling." + msgstr "Bolca la informació generada en perfilar el comptador de programa." + +-#: debug/pcprofiledump.c:61 ++#: debug/pcprofiledump.c:60 + msgid "[FILE]" + msgstr "[FITXER]" + +-#: debug/pcprofiledump.c:108 ++#: debug/pcprofiledump.c:107 + #, c-format + msgid "cannot open input file" + msgstr "no s’ha pogut obrir el fitxer d’entrada" + +-#: debug/pcprofiledump.c:115 ++#: debug/pcprofiledump.c:114 + #, c-format + msgid "cannot read header" + msgstr "no s’ha pogut llegir la capçalera" + +-#: debug/pcprofiledump.c:179 ++#: debug/pcprofiledump.c:178 + #, c-format + msgid "invalid pointer size" + msgstr "la mida del punter no és vàlida" + +-#: debug/xtrace.sh:27 debug/xtrace.sh:45 ++#: debug/xtrace.sh:26 debug/xtrace.sh:44 + msgid "Usage: xtrace [OPTION]... PROGRAM [PROGRAMOPTION]...\\n" + msgstr "Forma d’ús: xtrace [OPCIÓ]… PROGRAMA [OPCIÓ_DE_PROGRAMA]…\\n" + +-#: debug/xtrace.sh:33 malloc/memusage.sh:27 +-msgid "Try \\`%s --help' or `%s --usage' for more information.\\n" ++#: debug/xtrace.sh:32 elf/sotruss.ksh:56 elf/sotruss.ksh:67 ++#: elf/sotruss.ksh:135 malloc/memusage.sh:26 ++msgid "Try \\`%s --help' or \\`%s --usage' for more information.\\n" + msgstr "Proveu «%s --help» o «%s --usage» per a obtenir més informació.\\n" + +-#: debug/xtrace.sh:39 ++#: debug/xtrace.sh:38 + msgid "%s: option '%s' requires an argument.\\n" + msgstr "%s: l’opció «%s» necessita un argument\\n" + +-#: debug/xtrace.sh:46 ++#: debug/xtrace.sh:45 + msgid "" + "Trace execution of program by printing currently executed function.\n" + "\n" +@@ -387,163 +389,173 @@ + "opcions curtes corresponents.\n" + "\n" + +-#: debug/xtrace.sh:127 ++# L’adreça es veu millor així. ivb ++#: debug/xtrace.sh:57 elf/ldd.bash.in:55 elf/sotruss.ksh:49 ++#: malloc/memusage.sh:64 ++msgid "For bug reporting instructions, please see:\\\\n%s.\\\\n" ++msgstr "Per a obtenir instruccions sobre com informar d’un error, vegeu\\\\n<%s>.\\\\n" ++ ++#: debug/xtrace.sh:125 + msgid "xtrace: unrecognized option \\`$1'\\n" + msgstr "xtrace: l’opció «$1» no és reconeguda\\n" + +-#: debug/xtrace.sh:140 ++#: debug/xtrace.sh:138 + msgid "No program name given\\n" + msgstr "no s’ha indicat un nom de programa\\n" + +-#: debug/xtrace.sh:148 ++#: debug/xtrace.sh:146 + #, sh-format + msgid "executable \\`$program' not found\\n" + msgstr "no s’ha trobat l’executable «$program»\\n" + +-#: debug/xtrace.sh:152 ++#: debug/xtrace.sh:150 + #, sh-format + msgid "\\`$program' is no executable\\n" + msgstr "«$program» no és executable\\n" + +-#: dlfcn/dlinfo.c:64 ++#: dlfcn/dlinfo.c:63 + msgid "RTLD_SELF used in code not dynamically loaded" + msgstr "S’ha emprat RTLD_SELF en un codi no carregat dinàmicament" + +-#: dlfcn/dlinfo.c:73 ++#: dlfcn/dlinfo.c:72 + msgid "unsupported dlinfo request" + msgstr "dlinfo() no permet l’ús d’aquesta petició" + +-#: dlfcn/dlmopen.c:64 ++#: dlfcn/dlmopen.c:63 + msgid "invalid namespace" + msgstr "l’espai de noms no és vàlid" + +-#: dlfcn/dlmopen.c:69 ++#: dlfcn/dlmopen.c:68 + msgid "invalid mode" + msgstr "el mode no és vàlid" + +-#: dlfcn/dlopen.c:65 ++#: dlfcn/dlopen.c:64 + msgid "invalid mode parameter" + msgstr "el paràmetre de mode no és vàlid" + + # ivb (2001/11/01) + # ivb Es refereix al tipus de la biblioteca (libc{4,5,6}) -> masculí. +-#: elf/cache.c:69 ++#: elf/cache.c:68 + msgid "unknown" + msgstr "desconegut" + + # ivb (2001/11/06) + # ivb Cal mantenir-ho curt... +-#: elf/cache.c:112 ++#: elf/cache.c:121 + msgid "Unknown OS" + msgstr "SO desconegut" + + # ivb (2001/11/06) + # ivb Cal mantenir-ho curt... +-#: elf/cache.c:117 ++#: elf/cache.c:126 + #, 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 ++#: elf/cache.c:143 elf/ldconfig.c:1309 + #, c-format + msgid "Can't open cache file %s\n" + msgstr "no s’ha pogut obrir el fitxer «%s» de memòria cau\n" + +-#: elf/cache.c:148 ++#: elf/cache.c:157 + #, c-format + msgid "mmap of cache file failed.\n" + msgstr "ha fallat mmap() sobre el fitxer de memòria cau\n" + +-#: elf/cache.c:152 elf/cache.c:166 ++#: elf/cache.c:161 elf/cache.c:175 + #, c-format + msgid "File is not a cache file.\n" + msgstr "el fitxer no és un fitxer de memòria cau\n" + + # No és un error. ivb +-#: elf/cache.c:199 elf/cache.c:209 ++#: elf/cache.c:208 elf/cache.c:218 + #, c-format + msgid "%d libs found in cache `%s'\n" + msgstr "S’han trobat %d biblioteques a la memòria cau «%s».\n" + +-#: elf/cache.c:403 ++#: elf/cache.c:412 + #, c-format + msgid "Can't create temporary cache file %s" + msgstr "no s’ha pogut crear el fitxer temporal de memòria cau «%s»" + +-#: elf/cache.c:411 elf/cache.c:421 elf/cache.c:425 elf/cache.c:430 ++#: elf/cache.c:420 elf/cache.c:430 elf/cache.c:434 elf/cache.c:439 + #, c-format + msgid "Writing of cache data failed" + msgstr "no s’han pogut escriure les dades de la memòria cau" + +-#: elf/cache.c:435 ++#: elf/cache.c:444 + #, c-format + msgid "Changing access rights of %s to %#o failed" + msgstr "no s’ha pogut canviar els drets d’accés de «%s» a %#o" + +-#: elf/cache.c:440 ++#: elf/cache.c:449 + #, c-format + msgid "Renaming of %s to %s failed" + msgstr "no s’ha pogut reanomenar «%s» a «%s»" + +-#: elf/dl-close.c:387 elf/dl-open.c:397 ++#: elf/dl-close.c:378 elf/dl-open.c:474 + msgid "cannot create scope list" + msgstr "no s’ha pogut crear la llista d’àmbits" + +-#: elf/dl-close.c:767 ++#: elf/dl-close.c:771 + msgid "shared object not open" + msgstr "l’objecte compartit no és obert" + + # ivb (2001/11/05) + # ivb DST = Dynamic String Token (component cadena dinàmica) +-#: elf/dl-deps.c:114 ++#: elf/dl-deps.c:112 + msgid "DST not allowed in SUID/SGID programs" + msgstr "no es permeten components cadena dinàmica (DST) en programes SUID/SGID" + +-#: elf/dl-deps.c:127 ++#: elf/dl-deps.c:125 + msgid "empty dynamic string token substitution" + msgstr "la substitució del component cadena dinàmica és buida" + + # ivb (2002/10/21) + # ivb Es refereix a _objectes_ auxiliars, segons el codi. +-#: elf/dl-deps.c:133 ++#: elf/dl-deps.c:131 + #, c-format + msgid "cannot load auxiliary `%s' because of empty dynamic string token substitution\n" + msgstr "no s’ha pogut carregar l’objecte auxiliar «%s» perquè la substitució del component cadena dinàmica és buida\n" + +-#: elf/dl-deps.c:474 ++#: elf/dl-deps.c:483 + msgid "cannot allocate dependency list" + msgstr "no s’ha pogut reservar la llista de dependències" + +-#: elf/dl-deps.c:514 elf/dl-deps.c:574 ++#: elf/dl-deps.c:520 elf/dl-deps.c:580 + msgid "cannot allocate symbol search list" + msgstr "no s’ha pogut reservar la llista de cerca de símbols" + + # ivb (2002/10/21) + # ivb LD_TRACE_PRELINKING és una variable d'entorn, no és part del filtre. +-#: elf/dl-deps.c:554 ++#: elf/dl-deps.c:560 + msgid "Filters not supported with LD_TRACE_PRELINKING" + msgstr "LD_TRACE_PRELINKING no permet l’ús de filtres" + +-#: elf/dl-error.c:77 ++#: elf/dl-error.c:76 + msgid "DYNAMIC LINKER BUG!!!" + msgstr "ERROR A L’ENLLAÇADOR DINÀMIC!!!" + +-#: elf/dl-error.c:124 ++#: elf/dl-error.c:123 + msgid "error while loading shared libraries" + msgstr "error en carregar les biblioteques dinàmiques" + +-#: elf/dl-fptr.c:88 ++#: elf/dl-fptr.c:87 ports/sysdeps/hppa/dl-fptr.c:93 + msgid "cannot map pages for fdesc table" + msgstr "no s’han pogut mapar pàgines per a la taula «fdesc»" + +-#: elf/dl-fptr.c:192 ++#: elf/dl-fptr.c:191 ports/sysdeps/hppa/dl-fptr.c:206 + msgid "cannot map pages for fptr table" + msgstr "no s’han pogut mapar pàgines per a la taula «fptr»" + +-#: elf/dl-fptr.c:221 ++#: elf/dl-fptr.c:220 ports/sysdeps/hppa/dl-fptr.c:235 + msgid "internal error: symidx out of range of fptr table" + msgstr "error intern: «symidx» és fora de rang respecte la taula «fptr»" + ++#: elf/dl-hwcaps.c:173 elf/dl-hwcaps.c:185 ++msgid "cannot create capability list" ++msgstr "no s’ha pogut crear la llista de capacitats" ++ + #: elf/dl-load.c:471 + msgid "cannot allocate name record" + msgstr "no s’ha pogut reservar el registre de nom" +@@ -560,181 +572,181 @@ + msgid "cannot create search path array" + msgstr "no s’ha pogut crear el vector de camins de cerca" + +-#: elf/dl-load.c:931 ++#: elf/dl-load.c:934 + msgid "cannot stat shared object" + msgstr "ha fallat stat() sobre l’objecte compartit" + + # ivb (2001/10/28) + # ivb Es refereix a /dev/zero . +-#: elf/dl-load.c:1009 ++#: elf/dl-load.c:1012 + msgid "cannot open zero fill device" + msgstr "no s’ha pogut obrir el dispositiu de zeros" + +-#: elf/dl-load.c:1055 elf/dl-load.c:2313 ++#: elf/dl-load.c:1059 elf/dl-load.c:2339 + msgid "cannot create shared object descriptor" + msgstr "no s’ha pogut crear el descriptor d’objecte compartit" + +-#: elf/dl-load.c:1074 elf/dl-load.c:1730 elf/dl-load.c:1833 ++#: elf/dl-load.c:1078 elf/dl-load.c:1751 elf/dl-load.c:1854 + msgid "cannot read file data" + msgstr "no s’han pogut llegir les dades del fitxer" + +-#: elf/dl-load.c:1120 ++#: elf/dl-load.c:1124 + msgid "ELF load command alignment not page-aligned" + msgstr "l’alineament de l’ordre ELF de càrrega no està alineada amb la pàgina" + +-#: elf/dl-load.c:1127 ++#: elf/dl-load.c:1131 + msgid "ELF load command address/offset not properly aligned" + msgstr "l’adreça o desplaçament de l’ordre ELF de càrrega no està correctament alineada" + +-#: elf/dl-load.c:1210 ++#: elf/dl-load.c:1216 + msgid "cannot allocate TLS data structures for initial thread" + msgstr "no s’han pogut reservar les estructures de dades TLS per al fil inicial" + +-#: elf/dl-load.c:1233 ++#: elf/dl-load.c:1239 + msgid "cannot handle TLS data" + msgstr "no es pot tractar amb dades TLS" + +-#: elf/dl-load.c:1252 ++#: elf/dl-load.c:1258 + msgid "object file has no loadable segments" + msgstr "el fitxer objecte no té segments carregables" + +-#: elf/dl-load.c:1288 ++#: elf/dl-load.c:1294 + msgid "failed to map segment from shared object" + msgstr "no s’ha pogut mapar un segment de l’objecte compartit" + +-#: elf/dl-load.c:1314 ++#: elf/dl-load.c:1320 + msgid "cannot dynamically load executable" + msgstr "no s’ha pogut carregar dinàmicament l’executable" + +-#: elf/dl-load.c:1376 ++#: elf/dl-load.c:1383 + msgid "cannot change memory protections" + msgstr "no s’han pogut canviar les proteccions de memòria" + +-#: elf/dl-load.c:1395 ++#: elf/dl-load.c:1402 + msgid "cannot map zero-fill pages" + msgstr "no s’han pogut mapar les pàgines plenes de zeros" + +-#: elf/dl-load.c:1409 ++#: elf/dl-load.c:1416 + msgid "object file has no dynamic section" + msgstr "el fitxer objecte no té secció dinàmica" + +-#: elf/dl-load.c:1432 ++#: elf/dl-load.c:1439 + msgid "shared object cannot be dlopen()ed" + msgstr "ha fallat dlopen() sobre l’objecte compartit" + +-#: elf/dl-load.c:1445 ++#: elf/dl-load.c:1452 + msgid "cannot allocate memory for program header" + msgstr "no s’ha pogut reservar memòria per a la capçalera del programa" + +-#: elf/dl-load.c:1462 elf/dl-open.c:180 ++#: elf/dl-load.c:1469 elf/dl-open.c:180 + msgid "invalid caller" + msgstr "la biblioteca que ha fet la crida no és vàlida" + +-#: elf/dl-load.c:1501 ++#: elf/dl-load.c:1508 + msgid "cannot enable executable stack as shared object requires" + msgstr "no s’ha pogut habilitar la pila executable a requeriment de l’objecte compartit" + +-#: elf/dl-load.c:1514 ++#: elf/dl-load.c:1521 + msgid "cannot close file descriptor" + msgstr "no s’ha pogut tancar un descriptor de fitxer" + +-#: elf/dl-load.c:1730 ++#: elf/dl-load.c:1751 + msgid "file too short" + msgstr "el fitxer és massa curt" + +-#: elf/dl-load.c:1766 ++#: elf/dl-load.c:1787 + msgid "invalid ELF header" + msgstr "la capçalera ELF no és vàlida" + +-#: elf/dl-load.c:1778 ++#: elf/dl-load.c:1799 + msgid "ELF file data encoding not big-endian" + msgstr "la codificació de les dades del fitxer ELF no és big‐endian" + +-#: elf/dl-load.c:1780 ++#: elf/dl-load.c:1801 + msgid "ELF file data encoding not little-endian" + msgstr "la codificació de les dades del fitxer ELF no és little‐endian" + +-#: elf/dl-load.c:1784 ++#: elf/dl-load.c:1805 + msgid "ELF file version ident does not match current one" + msgstr "la identificació de la versió del fitxer ELF no concorda amb l’actual" + + # ivb (2001/11(06) + # ivb ABI = Application Binary Interface (interfície binària d'aplicació) +-#: elf/dl-load.c:1788 ++#: elf/dl-load.c:1809 + msgid "ELF file OS ABI invalid" + msgstr "l’ABI de sistema operatiu del fitxer ELF no és vàlida" + +-#: elf/dl-load.c:1791 ++#: elf/dl-load.c:1812 + msgid "ELF file ABI version invalid" + msgstr "la versió de l’ABI del fitxer ELF no és vàlida" + +-#: elf/dl-load.c:1794 ++#: elf/dl-load.c:1815 + msgid "nonzero padding in e_ident" + msgstr "el replè d’«e_ident» no conté només zeros" + +-#: elf/dl-load.c:1797 ++#: elf/dl-load.c:1818 + msgid "internal error" + msgstr "error intern" + +-#: elf/dl-load.c:1804 ++#: elf/dl-load.c:1825 + msgid "ELF file version does not match current one" + msgstr "la versió del fitxer ELF no concorda amb l’actual" + +-#: elf/dl-load.c:1812 ++#: elf/dl-load.c:1833 + msgid "only ET_DYN and ET_EXEC can be loaded" + msgstr "només es poden carregar els tipus ET_DYN i ET_EXEC" + + # ivb (2001/11/01) + # ivb La traducció completa de «phentsize» vindria a ser: mida d'entrada + # ivb de taula de la capçalera de programa. +-#: elf/dl-load.c:1818 ++#: elf/dl-load.c:1839 + msgid "ELF file's phentsize not the expected size" + msgstr "el valor de «phentsize» del fitxer ELF no és l’esperat" + +-#: elf/dl-load.c:2332 ++#: elf/dl-load.c:2358 + msgid "wrong ELF class: ELFCLASS64" + msgstr "la classe ELF no és vàlida: ELFCLASS64" + +-#: elf/dl-load.c:2333 ++#: elf/dl-load.c:2359 + msgid "wrong ELF class: ELFCLASS32" + msgstr "la classe ELF no és vàlida: ELFCLASS32" + +-#: elf/dl-load.c:2336 ++#: elf/dl-load.c:2362 + msgid "cannot open shared object file" + msgstr "no s’ha pogut obrir el fitxer objecte compartit" + +-#: elf/dl-lookup.c:757 ++#: elf/dl-lookup.c:757 ports/sysdeps/mips/dl-lookup.c:774 + msgid "relocation error" + msgstr "error de reubicació" + +-#: elf/dl-lookup.c:785 ++#: elf/dl-lookup.c:786 ports/sysdeps/mips/dl-lookup.c:803 + msgid "symbol lookup error" + msgstr "error en cercar el símbol" + +-#: elf/dl-open.c:115 ++#: elf/dl-open.c:110 + msgid "cannot extend global scope" + msgstr "no s’ha pogut estendre l’àmbit global" + + # ivb (2002/10/29) + # ivb TLS = Thread Local Storage +-#: elf/dl-open.c:440 ++#: elf/dl-open.c:524 + msgid "TLS generation counter wrapped! Please report this." + msgstr "El comptador de generació de TLS s’ha esgotat! Per favor, informeu d’açò." + + # Cas general. ivb +-#: elf/dl-open.c:462 ++#: elf/dl-open.c:546 + msgid "cannot load any more object with static TLS" + msgstr "no es poden carregar més objectes amb el TLS estàtic" + +-#: elf/dl-open.c:511 ++#: elf/dl-open.c:599 + msgid "invalid mode for dlopen()" + msgstr "el mode de dlopen() no és vàlid" + +-#: elf/dl-open.c:528 ++#: elf/dl-open.c:616 + msgid "no more namespaces available for dlmopen()" + msgstr "no resten espais de noms disponibles per a dlmopen()" + +-#: elf/dl-open.c:547 ++#: elf/dl-open.c:634 + msgid "invalid target namespace in dlmopen()" + msgstr "l’espai de noms destí de dlmopen() no és vàlid" + +@@ -742,280 +754,276 @@ + msgid "cannot allocate memory in static TLS block" + msgstr "no s’ha pogut reservar memòria al bloc TLS estàtic" + +-#: elf/dl-reloc.c:212 ++#: elf/dl-reloc.c:213 + msgid "cannot make segment writable for relocation" + msgstr "no s’ha pogut fer escrivible el segment per a reubicar‐lo" + + # ivb (2002/10/21) + # ivb PLT = Procedure Linkage Table, Taula d'Enllaçat de Procediments + # ivb PLTREL = tipus de reubicació usada per la PLT +-#: elf/dl-reloc.c:275 ++#: elf/dl-reloc.c:276 + #, c-format + msgid "%s: no PLTREL found in object %s\n" + msgstr "%s: no s’ha trobat el PLTREL de l’objecte «%s»\n" + +-#: elf/dl-reloc.c:286 ++#: elf/dl-reloc.c:287 + #, c-format + msgid "%s: out of memory to store relocation results for %s\n" + msgstr "%s: no resta memòria per a guardar els resultats de reubicar «%s»\n" + +-#: elf/dl-reloc.c:302 ++#: elf/dl-reloc.c:303 + msgid "cannot restore segment prot after reloc" + msgstr "no s’ha pogut restaurar la protecció del segment després de reubicar‐lo" + +-#: elf/dl-reloc.c:331 ++#: elf/dl-reloc.c:332 + msgid "cannot apply additional memory protection after relocation" + msgstr "no s’ha pogut protegir la memòria després de reubicar" + +-#: elf/dl-sym.c:162 ++#: elf/dl-sym.c:163 + msgid "RTLD_NEXT used in code not dynamically loaded" + msgstr "s’ha emprat RTLD_NEXT en un codi no carregat dinàmicament" + +-#: elf/dl-sysdep.c:488 elf/dl-sysdep.c:500 +-msgid "cannot create capability list" +-msgstr "no s’ha pogut crear la llista de capacitats" +- +-#: elf/dl-tls.c:861 ++#: elf/dl-tls.c:875 + msgid "cannot create TLS data structures" + msgstr "no s’han pogut crear les estructures de dades TLS" + +-#: elf/dl-version.c:172 ++#: elf/dl-version.c:166 + msgid "version lookup error" + msgstr "error en cercar la versió" + +-#: elf/dl-version.c:303 ++#: elf/dl-version.c:297 + msgid "cannot allocate version reference table" + msgstr "no s’ha pogut reservar la taula de referències de versions" + + # Més ajudes. ivb +-#: elf/ldconfig.c:141 ++#: elf/ldconfig.c:140 + msgid "Print cache" + msgstr "Mostra la memòria cau." + +-#: elf/ldconfig.c:142 ++#: elf/ldconfig.c:141 + msgid "Generate verbose messages" + msgstr "Genera missatges detallats." + +-#: elf/ldconfig.c:143 ++#: elf/ldconfig.c:142 + msgid "Don't build cache" + msgstr "No construeix la memòria cau." + +-#: elf/ldconfig.c:144 ++#: elf/ldconfig.c:143 + msgid "Don't generate links" + msgstr "No genera enllaços." + +-#: elf/ldconfig.c:145 ++#: elf/ldconfig.c:144 + msgid "Change to and use ROOT as root directory" + msgstr "Canvia a i empra ARREL com a directori arrel." + +-#: elf/ldconfig.c:145 ++#: elf/ldconfig.c:144 + msgid "ROOT" + msgstr "ARREL" + +-#: elf/ldconfig.c:146 ++#: elf/ldconfig.c:145 + msgid "CACHE" + msgstr "CACHE" + +-#: elf/ldconfig.c:146 ++#: elf/ldconfig.c:145 + msgid "Use CACHE as cache file" + msgstr "Empra CACHE com a fitxer de memòria cau." + +-#: elf/ldconfig.c:147 ++#: elf/ldconfig.c:146 + msgid "CONF" + msgstr "CONF" + +-#: elf/ldconfig.c:147 ++#: elf/ldconfig.c:146 + msgid "Use CONF as configuration file" + msgstr "Empra CONF com a fitxer de configuració." + +-#: elf/ldconfig.c:148 ++#: elf/ldconfig.c:147 + msgid "Only process directories specified on the command line. Don't build cache." + msgstr "Només processa els directoris especificats a la línia d’ordres. No construeix la memòria cau." + +-#: elf/ldconfig.c:149 ++#: elf/ldconfig.c:148 + msgid "Manually link individual libraries." + msgstr "Per a enllaçar les biblioteques manualment." + +-#: elf/ldconfig.c:150 ++#: elf/ldconfig.c:149 + msgid "FORMAT" + msgstr "FORMAT" + +-#: elf/ldconfig.c:150 ++#: elf/ldconfig.c:149 + msgid "Format to use: new, old or compat (default)" + msgstr "FORMAT a emprar: «new» (nou), «old» (antic) o «compat» (compatible, per defecte)." + +-#: elf/ldconfig.c:151 ++#: elf/ldconfig.c:150 + msgid "Ignore auxiliary cache file" + msgstr "No té en compte el fitxer de memòria cau auxilar." + +-#: elf/ldconfig.c:159 ++#: elf/ldconfig.c:158 + msgid "Configure Dynamic Linker Run Time Bindings." + msgstr "Configura els vincles en temps d’execució de l’enllaçador dinàmic." + +-#: elf/ldconfig.c:339 ++#: elf/ldconfig.c:341 + #, c-format + msgid "Path `%s' given more than once" + msgstr "s’ha indicat el camí «%s» més d’una volta" + +-#: elf/ldconfig.c:379 ++#: elf/ldconfig.c:381 + #, c-format + msgid "%s is not a known library type" + msgstr "«%s» no és un tipus conegut de biblioteca" + +-#: elf/ldconfig.c:407 ++#: elf/ldconfig.c:409 + #, c-format + msgid "Can't stat %s" + msgstr "ha fallat stat() sobre «%s»" + +-#: elf/ldconfig.c:481 ++#: elf/ldconfig.c:483 + #, c-format + msgid "Can't stat %s\n" + msgstr "ha fallat stat() sobre «%s»\n" + +-#: elf/ldconfig.c:491 ++#: elf/ldconfig.c:493 + #, c-format + msgid "%s is not a symbolic link\n" + msgstr "«%s» no és un enllaç simbòlic\n" + +-#: elf/ldconfig.c:510 ++#: elf/ldconfig.c:512 + #, c-format + msgid "Can't unlink %s" + msgstr "no s’ha pogut desenllaçar «%s»" + +-#: elf/ldconfig.c:516 ++#: elf/ldconfig.c:518 + #, c-format + msgid "Can't link %s to %s" + msgstr "no s’ha pogut crear un enllaç des de «%s» cap a «%s»" + + # ivb (2001/10/28) + # ivb Es refereix a un enllaç -> masculí. +-#: elf/ldconfig.c:522 ++#: elf/ldconfig.c:524 + msgid " (changed)\n" + msgstr " (canviat)\n" + + # ivb (2001/10/28) + # ivb Es refereix a fer o no l'enllaç, no importa el gènere. +-#: elf/ldconfig.c:524 ++#: elf/ldconfig.c:526 + msgid " (SKIPPED)\n" + msgstr " (SALTAT)\n" + +-#: elf/ldconfig.c:579 ++#: elf/ldconfig.c:581 + #, c-format + msgid "Can't find %s" + msgstr "no s’ha pogut trobar «%s»" + +-#: elf/ldconfig.c:595 elf/ldconfig.c:768 elf/ldconfig.c:827 elf/ldconfig.c:861 ++#: elf/ldconfig.c:597 elf/ldconfig.c:770 elf/ldconfig.c:829 elf/ldconfig.c:863 + #, c-format + msgid "Cannot lstat %s" + msgstr "ha fallat lstat() sobre «%s»" + +-#: elf/ldconfig.c:602 ++#: elf/ldconfig.c:604 + #, c-format + msgid "Ignored file %s since it is not a regular file." + msgstr "es descarta el fitxer «%s» que no és un fitxer ordinari" + +-#: elf/ldconfig.c:611 ++#: elf/ldconfig.c:613 + #, c-format + msgid "No link created since soname could not be found for %s" + msgstr "no s’ha creat l’enllaç perquè no s’ha trobat el nom d’objecte compartit de «%s»" + +-#: elf/ldconfig.c:694 ++#: elf/ldconfig.c:696 + #, c-format + msgid "Can't open directory %s" + msgstr "no s’ha pogut obrir el directori «%s»" + +-#: elf/ldconfig.c:786 elf/ldconfig.c:848 elf/readlib.c:91 ++#: elf/ldconfig.c:788 elf/ldconfig.c:850 elf/readlib.c:90 + #, c-format + msgid "Input file %s not found.\n" + msgstr "no s’ha trobat el fitxer d’entrada «%s»\n" + +-#: elf/ldconfig.c:793 ++#: elf/ldconfig.c:795 + #, c-format + msgid "Cannot stat %s" + msgstr "ha fallat stat() sobre «%s»" + +-#: elf/ldconfig.c:922 ++#: elf/ldconfig.c:924 + #, c-format + msgid "libc5 library %s in wrong directory" + msgstr "la biblioteca «%s» per a libc5 es troba en un directori incorrecte" + +-#: elf/ldconfig.c:925 ++#: elf/ldconfig.c:927 + #, c-format + msgid "libc6 library %s in wrong directory" + msgstr "la biblioteca «%s» per a libc6 es troba en un directori incorrecte" + +-#: elf/ldconfig.c:928 ++#: elf/ldconfig.c:930 + #, c-format + msgid "libc4 library %s in wrong directory" + msgstr "la biblioteca «%s» per a libc4 es troba en un directori incorrecte" + +-#: elf/ldconfig.c:956 ++#: elf/ldconfig.c:958 + #, c-format + msgid "libraries %s and %s in directory %s have same soname but different type." + msgstr "les biblioteques «%s» i «%s» del directori «%s» tenen el mateix nom d’objecte compartit però diferent tipus." + +-#: elf/ldconfig.c:1065 ++#: elf/ldconfig.c:1067 + #, c-format +-msgid "Can't open configuration file %s" +-msgstr "no s’ha pogut obrir el fitxer «%s» de configuració" ++msgid "Warning: ignoring configuration file that cannot be opened: %s" ++msgstr "avís: es descarta el fitxer de configuració que no s’ha pogut obrir: %s" + +-#: elf/ldconfig.c:1129 ++#: elf/ldconfig.c:1133 + #, c-format + msgid "%s:%u: bad syntax in hwcap line" + msgstr "%s:%u: la sintaxi de la línia «hwcap» no és vàlida" + +-#: elf/ldconfig.c:1135 ++#: elf/ldconfig.c:1139 + #, c-format + msgid "%s:%u: hwcap index %lu above maximum %u" + msgstr "%s:%u: la «hwcap» amb índex %lu està sobre el màxim %u" + + # La substitució final és per un nom. ivb +-#: elf/ldconfig.c:1142 elf/ldconfig.c:1150 ++#: elf/ldconfig.c:1146 elf/ldconfig.c:1154 + #, c-format + msgid "%s:%u: hwcap index %lu already defined as %s" + msgstr "%s:%u: la «hwcap» amb índex %lu ja ha estat definida com a «%s»" + +-#: elf/ldconfig.c:1153 ++#: elf/ldconfig.c:1157 + #, c-format + msgid "%s:%u: duplicate hwcap %lu %s" + msgstr "%s:%u: la «hwcap» %lu amb nom «%s» està duplicada" + +-#: elf/ldconfig.c:1175 ++#: elf/ldconfig.c:1179 + #, c-format + msgid "need absolute file name for configuration file when using -r" + msgstr "cal indicar el camí absolut del fitxer de configuració en emprar «-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 ++#: elf/ldconfig.c:1186 locale/programs/xmalloc.c:65 malloc/obstack.c:433 ++#: malloc/obstack.c:435 posix/getconf.c:1076 posix/getconf.c:1296 + #, c-format + msgid "memory exhausted" + msgstr "la memòria s’ha exhaurit" + +-#: elf/ldconfig.c:1214 ++#: elf/ldconfig.c:1218 + #, c-format + msgid "%s:%u: cannot read directory %s" + msgstr "%s:%u: no s’ha pogut llegir el directori «%s»" + +-#: elf/ldconfig.c:1258 ++#: elf/ldconfig.c:1262 + #, c-format + msgid "relative path `%s' used to build cache" + msgstr "s’ha indicat el camí relatiu «%s» per a construir la memòria cau" + +-#: elf/ldconfig.c:1284 ++#: elf/ldconfig.c:1288 + #, c-format + msgid "Can't chdir to /" + msgstr "no s’ha pogut canviar al directori arrel" + +-#: elf/ldconfig.c:1325 ++#: elf/ldconfig.c:1329 + #, c-format + msgid "Can't open cache file directory %s\n" + msgstr "no s’ha pogut obrir el directori «%s» de fitxers de memòria cau\n" + +-#: elf/ldd.bash.in:43 ++#: elf/ldd.bash.in:42 + msgid "Written by %s and %s.\n" + msgstr "Escrit per %s i %s.\n" + +-#: elf/ldd.bash.in:48 ++#: elf/ldd.bash.in:47 + msgid "" + "Usage: ldd [OPTION]... FILE...\n" + " --help print this help and exit\n" +@@ -1035,110 +1043,203 @@ + " --version Mostra informació sobre la versió i ix.\n" + "\n" + +-#: elf/ldd.bash.in:82 ++#: elf/ldd.bash.in:80 + msgid "ldd: option \\`$1' is ambiguous" + msgstr "ldd: l’opció «$1» és ambígua" + +-#: elf/ldd.bash.in:89 ++#: elf/ldd.bash.in:87 + msgid "unrecognized option" + msgstr "l’opció no és reconeguda" + +-#: elf/ldd.bash.in:90 elf/ldd.bash.in:128 ++#: elf/ldd.bash.in:88 elf/ldd.bash.in:126 + msgid "Try \\`ldd --help' for more information." + msgstr "Proveu «ldd --help» per a obtenir més informació." + +-#: elf/ldd.bash.in:127 ++#: elf/ldd.bash.in:125 + msgid "missing file arguments" + msgstr "manquen arguments fitxer" + + #. 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 ++#: elf/ldd.bash.in:148 sysdeps/gnu/errlist.c:36 + msgid "No such file or directory" + msgstr "El fitxer o directori no existeix" + + # ivb (2001/10/31) + # ivb Cal tenir en compte que «ordinary» a l'anglés és cosa pler diferent ;) +-#: elf/ldd.bash.in:153 inet/rcmd.c:488 ++#: elf/ldd.bash.in:151 inet/rcmd.c:488 + msgid "not regular file" + msgstr "no és un fitxer ordinari" + + # Darrere va el nom de fitxer, no puc canviar les cometes. :( ivb +-#: elf/ldd.bash.in:156 ++#: elf/ldd.bash.in:154 + msgid "warning: you do not have execution permission for" + msgstr "avís: no teniu permís d’execució per a" + +-#: elf/ldd.bash.in:185 ++#: elf/ldd.bash.in:183 + msgid "\tnot a dynamic executable" + msgstr "\tno és un executable dinàmic" + + # Davant va el nom de fitxer, no puc canviar les cometes. :( ivb +-#: elf/ldd.bash.in:193 ++#: elf/ldd.bash.in:191 + msgid "exited with unknown exit code" + msgstr "ha finalitzat amb un codi d’eixida desconegut" + + # Darrere va el nom de fitxer, no puc canviar les cometes. :( ivb +-#: elf/ldd.bash.in:198 ++#: elf/ldd.bash.in:196 + msgid "error: you do not have read permission for" + msgstr "error: no teniu permís de lectura per a" + +-#: elf/readelflib.c:35 ++#: elf/pldd-xx.c:105 + #, c-format ++msgid "cannot find program header of process" ++msgstr "no s’ha trobat la capçalera de programa del procés" ++ ++#: elf/pldd-xx.c:110 ++#, c-format ++msgid "cannot read program header" ++msgstr "no s’ha pogut llegir la capçalera de programa" ++ ++#: elf/pldd-xx.c:135 ++#, c-format ++msgid "cannot read dynamic section" ++msgstr "no s’ha pogut llegir la secció dinàmica" ++ ++#: elf/pldd-xx.c:147 ++#, c-format ++msgid "cannot read r_debug" ++msgstr "no s’ha pogut llegir «r_debug»" ++ ++#: elf/pldd-xx.c:167 ++#, c-format ++msgid "cannot read program interpreter" ++msgstr "no s’ha pogut llegir l’intèrpret del programa" ++ ++#: elf/pldd-xx.c:196 ++#, c-format ++msgid "cannot read link map" ++msgstr "no s’ha pogut llegir el mapa d’enllaçat" ++ ++#: elf/pldd-xx.c:207 ++#, c-format ++msgid "cannot read object name" ++msgstr "no s’ha pogut llegir el nom de l’objecte" ++ ++# Descripció del programa. ivb ++#: elf/pldd.c:65 ++msgid "List dynamic shared objects loaded into process." ++msgstr "Llista els objectes compatits dinàmics carregats en un procés." ++ ++# Crec que el terme és suficient conegut. ivb ++#: elf/pldd.c:69 ++msgid "PID" ++msgstr "PID" ++ ++#: elf/pldd.c:100 ++#, c-format ++msgid "Exactly one parameter with process ID required.\n" ++msgstr "cal exactament un paràmetre amb l’identificador de procés\n" ++ ++#: elf/pldd.c:112 ++#, c-format ++msgid "invalid process ID '%s'" ++msgstr "l’identificador de procés «%s» no és vàlid" ++ ++# No usa quote(). ivb ++#: elf/pldd.c:120 ++#, c-format ++msgid "cannot open %s" ++msgstr "no s’ha pogut obrir «%s»" ++ ++# No usa quote. ivb ++#: elf/pldd.c:145 ++#, c-format ++msgid "cannot open %s/task" ++msgstr "no s’ha pogut obrir «%s/task»" ++ ++# No usa quote(). ivb ++#: elf/pldd.c:148 ++#, c-format ++msgid "cannot prepare reading %s/task" ++msgstr "no s’ha pogut preparar la lectura de «%s/task»" ++ ++#: elf/pldd.c:161 ++#, c-format ++msgid "invalid thread ID '%s'" ++msgstr "l’identificador de fil «%s» no és vàlid" ++ ++#: elf/pldd.c:172 ++#, c-format ++msgid "cannot attach to process %lu" ++msgstr "no s’ha pogut associar al procés %lu" ++ ++#: elf/pldd.c:264 ++#, c-format ++msgid "cannot get information about process %lu" ++msgstr "no s’ha pogut obtenir informació sobre el procés %lu" ++ ++#: elf/pldd.c:277 ++#, c-format ++msgid "process %lu is no ELF program" ++msgstr "el procés %lu no pertany a un programa ELF" ++ ++#: elf/readelflib.c:34 ++#, c-format + msgid "file %s is truncated\n" + msgstr "el fitxer «%s» està truncat\n" + +-#: elf/readelflib.c:67 ++#: elf/readelflib.c:66 + #, c-format + msgid "%s is a 32 bit ELF file.\n" + msgstr "«%s» és un fitxer ELF de 32 bits\n" + +-#: elf/readelflib.c:69 ++#: elf/readelflib.c:68 + #, c-format + msgid "%s is a 64 bit ELF file.\n" + msgstr "«%s» és un fitxer ELF de 64 bits\n" + +-#: elf/readelflib.c:71 ++#: elf/readelflib.c:70 + #, c-format + msgid "Unknown ELFCLASS in file %s.\n" + msgstr "la classe ELF del fitxer «%s» no és coneguda\n" + +-#: elf/readelflib.c:78 ++#: elf/readelflib.c:77 + #, c-format + msgid "%s is not a shared object file (Type: %d).\n" + msgstr "«%s» no és un fitxer objecte compartit (tipus: %d)\n" + +-#: elf/readelflib.c:109 ++#: elf/readelflib.c:108 + #, c-format + msgid "more than one dynamic segment\n" + msgstr "hi ha més d’un segment dinàmic\n" + +-#: elf/readlib.c:97 ++#: elf/readlib.c:96 + #, c-format + msgid "Cannot fstat file %s.\n" + msgstr "ha fallat fstat() sobre el fitxer «%s»\n" + +-#: elf/readlib.c:108 ++#: elf/readlib.c:107 + #, c-format + msgid "File %s is empty, not checked." + msgstr "el fitxer «%s» és buit, no es comprova" + +-#: elf/readlib.c:114 ++#: elf/readlib.c:113 + #, c-format + msgid "File %s is too small, not checked." + msgstr "el fitxer «%s» és massa menut, no es comprova" + +-#: elf/readlib.c:124 ++#: elf/readlib.c:123 + #, c-format + msgid "Cannot mmap file %s.\n" + msgstr "ha fallat mmap() sobre el fitxer «%s»\n" + +-#: elf/readlib.c:162 ++#: elf/readlib.c:161 + #, c-format + msgid "%s is not an ELF file - it has the wrong magic bytes at the start.\n" + msgstr "«%s» no és un fitxer ELF: els octets màgics del començament no són correctes\n" + +-#: elf/sln.c:85 ++#: elf/sln.c:84 + #, c-format + msgid "" + "Usage: sln src dest|file\n" +@@ -1147,50 +1248,51 @@ + "Forma d’ús: sln ORIGEN DESTÍ|FITXER\n" + "\n" + +-#: elf/sln.c:110 ++#: elf/sln.c:109 + #, c-format + msgid "%s: file open error: %m\n" + msgstr "%s: error en obrir el fitxer: %m\n" + +-#: elf/sln.c:147 ++#: elf/sln.c:146 + #, c-format + msgid "No target in line %d\n" + msgstr "manca un destí a la línia %d\n" + +-#: elf/sln.c:179 ++#: elf/sln.c:178 + #, c-format + msgid "%s: destination must not be a directory\n" + msgstr "%s: el destí no ha de ser un directori\n" + +-#: elf/sln.c:185 ++#: elf/sln.c:184 + #, c-format + msgid "%s: failed to remove the old destination\n" + msgstr "%s: no s’ha pogut esborrar el destí antic\n" + +-#: elf/sln.c:193 ++#: elf/sln.c:192 + #, c-format + msgid "%s: invalid destination: %s\n" + msgstr "%s: el destí no és vàlid: %s\n" + +-#: elf/sln.c:208 elf/sln.c:217 ++#: elf/sln.c:207 elf/sln.c:216 + #, c-format + msgid "Invalid link from \"%s\" to \"%s\": %s\n" + msgstr "l’enllaç des de «%s» cap a «%s» no és vàlid: %s\n" + +-#: elf/sotruss.ksh:33 ++#: elf/sotruss.ksh:32 + #, 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" ++" -F, --from FROMLIST Trace calls from objects on FROMLIST\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" ++" -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" ++" -?, --help Give this help list\n" ++" --usage Give a short usage message\n" ++" --version Print program version" + msgstr "" + "Forma d’ús: sotruss [OPCIÓ…] [--] EXECUTABLE [OPCIÓ_EXECUTABLE…]\n" + "\n" +@@ -1202,288 +1304,289 @@ + " -o, --output FITXER Escriu l’eixida al FITXER (o a FITXER.$PID si s’empra\n" + " l’opció «-f») en lloc de l’eixida estàndard d’errors.\n" + "\n" +-" --help Mostra aquesta ajuda i surt.\n" ++" -?, --help Mostra aquesta ajuda i surt.\n" ++" --usage Mostra un missatge breu amb la forma d’ús.\n" + " --version Mostra informació sobre la versió i surt." + + #: elf/sotruss.ksh:46 + msgid "Mandatory arguments to long options are also mandatory for any corresponding\\nshort options.\\n" + msgstr "Els arguments obligatoris o opcionals per a les opcions llargues també ho són\\nper a les opcions curtes corresponents.\\n" + +-#: elf/sotruss.ksh:56 ++#: elf/sotruss.ksh:55 + msgid "%s: option requires an argument -- '%s'\\n" + msgstr "%s: l’opció «%c» necessita un argument\\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 "Proveu «%s --help» o «%s --usage» per a obtenir més informació.\\n" +- +-#: elf/sotruss.ksh:62 ++#: elf/sotruss.ksh:61 + msgid "%s: option is ambiguous; possibilities:" + msgstr "%s: l’opció és ambígua; possibilitats:" + +-#: elf/sotruss.ksh:80 ++#: elf/sotruss.ksh:79 + msgid "Written by %s.\\n" + msgstr "Escrit per %s.\\n" + +-#: elf/sotruss.ksh:87 ++#: elf/sotruss.ksh:86 + msgid "" + "Usage: %s [-ef] [-F FROMLIST] [-o FILENAME] [-T TOLIST] [--exit]\n" +-"\t [--follow] [--from FROMLIST] [--output FILENAME] [--to TOLIST]\\n" ++"\t [--follow] [--from FROMLIST] [--output FILENAME] [--to TOLIST]\n" ++"\t [--help] [--usage] [--version] [--]\n" ++"\t EXECUTABLE [EXECUTABLE-OPTION...]\\n" + msgstr "" + "Forma d’ús: %s [-ef] [-F LLISTA_DE] [-o FITXER] [-T LLISTA_A]\n" + " [--exit] [--follow]\n" +-" [--from LLISTA_DE] [--output FITXER] [--to LLISTA_A]\\n" ++" [--from LLISTA_DE] [--output FITXER] [--to LLISTA_A]\n" ++" [--help] [--usage] [--version] [--]\n" ++" EXECUTABLE [OPCIÓ_EXECUTABLE…]\\n" + +-#: elf/sotruss.ksh:133 ++#: elf/sotruss.ksh:134 + msgid "%s: unrecognized option '%c%s'\\n" + msgstr "%s: l’opció «%c%s» no és reconeguda\\n" + + # Més ajudes. ivb +-#: elf/sprof.c:77 ++#: elf/sprof.c:76 + msgid "Output selection:" + msgstr "Selecció de l’eixida:" + +-#: elf/sprof.c:79 ++#: elf/sprof.c:78 + msgid "print list of count paths and their number of use" + msgstr "Mostra una llista de camins de recompte i les voltes que han estat emprats." + +-#: elf/sprof.c:81 ++#: elf/sprof.c:80 + msgid "generate flat profile with counts and ticks" + msgstr "Genera un perfil pla amb recomptes i unitats de temps." + +-#: elf/sprof.c:82 ++#: elf/sprof.c:81 + msgid "generate call graph" + msgstr "Genera un gràfic de crides." + +-#: elf/sprof.c:89 ++#: elf/sprof.c:88 + msgid "Read and display shared object profiling data." + msgstr "Llig i mostra les dades de perfilat d’un objecte compartit." + +-#: elf/sprof.c:94 ++#: elf/sprof.c:93 + msgid "SHOBJ [PROFDATA]" + msgstr "OBJECTE_COMPARTIT [DADES_PERFILAT]" + +-#: elf/sprof.c:431 ++#: elf/sprof.c:432 + #, c-format + msgid "failed to load shared object `%s'" + msgstr "no s’ha pogut carregar l’objecte compartit «%s»" + +-#: elf/sprof.c:440 ++#: elf/sprof.c:441 + #, c-format + msgid "cannot create internal descriptors" + msgstr "no s’han pogut crear els descriptors interns" + +-#: elf/sprof.c:559 ++#: elf/sprof.c:553 + #, c-format + msgid "Reopening shared object `%s' failed" + msgstr "no s’ha pogut reobrir l’objecte compartit «%s»" + +-#: elf/sprof.c:566 elf/sprof.c:660 ++#: elf/sprof.c:560 elf/sprof.c:655 + #, c-format + msgid "reading of section headers failed" + msgstr "la lectura de les capçaleres de secció ha fallat" + +-#: elf/sprof.c:574 elf/sprof.c:668 ++#: elf/sprof.c:568 elf/sprof.c:663 + #, c-format + msgid "reading of section header string table failed" + msgstr "la lectura de la taula de cadenes de capçalera de secció ha fallat" + +-#: elf/sprof.c:600 ++#: elf/sprof.c:594 + #, c-format + msgid "*** Cannot read debuginfo file name: %m\n" + msgstr "*** No s’ha pogut llegir el nom del fitxer d’informació de depuració: %m\n" + +-#: elf/sprof.c:620 ++#: elf/sprof.c:615 + #, c-format + msgid "cannot determine file name" + msgstr "no s’ha pogut determinar un nom de fitxer" + +-#: elf/sprof.c:653 ++#: elf/sprof.c:648 + #, c-format + msgid "reading of ELF header failed" + msgstr "la lectura de la capçalera ELF ha fallat" + +-#: elf/sprof.c:689 ++#: elf/sprof.c:684 + #, c-format + msgid "*** The file `%s' is stripped: no detailed analysis possible\n" + msgstr "*** El fitxer «%s» no conté símbols: no és possible l’anàlisi detallada\n" + +-#: elf/sprof.c:719 ++#: elf/sprof.c:714 + #, c-format + msgid "failed to load symbol data" + msgstr "no s’han pogut carregar les dades simbòliques" + +-#: elf/sprof.c:784 ++#: elf/sprof.c:779 + #, c-format + msgid "cannot load profiling data" + msgstr "no s’han pogut carregar les dades de perfilat" + +-#: elf/sprof.c:793 ++#: elf/sprof.c:788 + #, c-format + msgid "while stat'ing profiling data file" + msgstr "en cridar stat() sobre el fitxer de dades de perfilat" + +-#: elf/sprof.c:801 ++#: elf/sprof.c:796 + #, c-format + msgid "profiling data file `%s' does not match shared object `%s'" + msgstr "el fitxer «%s» de dades de perfilat no correspon a l’objecte compartit «%s»" + +-#: elf/sprof.c:812 ++#: elf/sprof.c:807 + #, c-format + msgid "failed to mmap the profiling data file" + msgstr "ha fallat mmap() sobre el fitxer de dades de perfilat" + +-#: elf/sprof.c:820 ++#: elf/sprof.c:815 + #, c-format + msgid "error while closing the profiling data file" + msgstr "error en tancar el fitxer de dades de perfilat" + +-#: elf/sprof.c:829 elf/sprof.c:927 ++#: elf/sprof.c:824 elf/sprof.c:922 + #, c-format + msgid "cannot create internal descriptor" + msgstr "no s’ha pogut crear un descriptor intern" + +-#: elf/sprof.c:903 ++#: elf/sprof.c:898 + #, c-format + msgid "`%s' is no correct profile data file for `%s'" + msgstr "«%s» no és un fitxer vàlid de perfilat de «%s»" + +-#: elf/sprof.c:1084 elf/sprof.c:1142 ++#: elf/sprof.c:1079 elf/sprof.c:1137 + #, c-format + msgid "cannot allocate symbol data" + msgstr "no s’han pogut reservar les dades de símbols" + +-#: iconv/iconv_charmap.c:142 iconv/iconv_prog.c:446 ++#: iconv/iconv_charmap.c:143 iconv/iconv_prog.c:448 + #, c-format + msgid "cannot open output file" + msgstr "no s’ha pogut obrir el fitxer d’eixida" + +-#: iconv/iconv_charmap.c:188 iconv/iconv_prog.c:312 ++#: iconv/iconv_charmap.c:189 iconv/iconv_prog.c:311 + #, c-format + msgid "error while closing input `%s'" + msgstr "error en tancar l’entrada «%s»" + +-#: iconv/iconv_charmap.c:462 ++#: iconv/iconv_charmap.c:463 + #, c-format + msgid "illegal input sequence at position %Zd" + msgstr "hi ha una seqüència d’entrada no vàlida a la posició %Zd" + +-#: iconv/iconv_charmap.c:481 iconv/iconv_prog.c:537 ++#: iconv/iconv_charmap.c:482 iconv/iconv_prog.c:539 + #, c-format + msgid "incomplete character or shift sequence at end of buffer" + msgstr "hi ha un caràcter o seqüència de desplaçament incompleta al final de la memòria intermèdia" + +-#: iconv/iconv_charmap.c:526 iconv/iconv_charmap.c:562 iconv/iconv_prog.c:580 +-#: iconv/iconv_prog.c:616 ++#: iconv/iconv_charmap.c:527 iconv/iconv_charmap.c:563 iconv/iconv_prog.c:582 ++#: iconv/iconv_prog.c:618 + #, c-format + msgid "error while reading the input" + msgstr "error en llegir l’entrada" + +-#: iconv/iconv_charmap.c:544 iconv/iconv_prog.c:598 ++#: iconv/iconv_charmap.c:545 iconv/iconv_prog.c:600 + #, c-format + msgid "unable to allocate buffer for input" + msgstr "no s’ha pogut reservar memòria intermèdia per a l’entrada" + +-#: iconv/iconv_prog.c:60 ++#: iconv/iconv_prog.c:59 + msgid "Input/Output format specification:" + msgstr "Especificació de format de l’entrada/eixida:" + + # Els següents són missatges d'ajuda. ivb +-#: iconv/iconv_prog.c:61 ++#: iconv/iconv_prog.c:60 + msgid "encoding of original text" + msgstr "Codificació del text original." + +-#: iconv/iconv_prog.c:62 ++#: iconv/iconv_prog.c:61 + msgid "encoding for output" + msgstr "Codificació de l’eixida." + +-#: iconv/iconv_prog.c:63 ++#: iconv/iconv_prog.c:62 + msgid "Information:" + msgstr "Informació:" + +-#: iconv/iconv_prog.c:64 ++#: iconv/iconv_prog.c:63 + msgid "list all known coded character sets" + msgstr "Llista tots els jocs de caràcters codificats coneguts." + +-#: iconv/iconv_prog.c:65 locale/programs/localedef.c:127 ++#: iconv/iconv_prog.c:64 locale/programs/localedef.c:126 + msgid "Output control:" + msgstr "Control de l’eixida:" + +-#: iconv/iconv_prog.c:66 ++#: iconv/iconv_prog.c:65 + msgid "omit invalid characters from output" + msgstr "Omet a l’eixida els caràcters no vàlids." + +-#: iconv/iconv_prog.c:67 ++#: iconv/iconv_prog.c:66 + msgid "output file" + msgstr "Fitxer d’eixida." + +-#: iconv/iconv_prog.c:68 ++#: iconv/iconv_prog.c:67 + msgid "suppress warnings" + msgstr "Elimina els avisos." + +-#: iconv/iconv_prog.c:69 ++#: iconv/iconv_prog.c:68 + msgid "print progress information" + msgstr "Mostra informació del progrés." + +-#: iconv/iconv_prog.c:74 ++#: iconv/iconv_prog.c:73 + msgid "Convert encoding of given files from one encoding to another." + msgstr "Converteix els fitxers especificats d’una codificació a una altra." + +-#: iconv/iconv_prog.c:78 ++#: iconv/iconv_prog.c:77 + msgid "[FILE...]" + msgstr "[FITXER…]" + +-#: iconv/iconv_prog.c:234 ++#: iconv/iconv_prog.c:233 + #, c-format + msgid "conversions from `%s' and to `%s' are not supported" + msgstr "les conversions de «%s» i a «%s» no estan implementades" + +-#: iconv/iconv_prog.c:239 ++#: iconv/iconv_prog.c:238 + #, c-format + msgid "conversion from `%s' is not supported" + msgstr "la conversió de «%s» no està implementada" + +-#: iconv/iconv_prog.c:246 ++#: iconv/iconv_prog.c:245 + #, c-format + msgid "conversion to `%s' is not supported" + msgstr "la conversió a «%s» no està implementada" + +-#: iconv/iconv_prog.c:250 ++#: iconv/iconv_prog.c:249 + #, c-format + msgid "conversion from `%s' to `%s' is not supported" + msgstr "la conversió de «%s» a «%s» no està implementada" + +-#: iconv/iconv_prog.c:260 ++#: iconv/iconv_prog.c:259 + #, c-format + msgid "failed to start conversion processing" + msgstr "no s’ha pogut començar a processar la conversió" + +-#: iconv/iconv_prog.c:358 ++#: iconv/iconv_prog.c:357 + #, c-format + msgid "error while closing output file" + msgstr "error en tancar el fitxer d’eixida" + +-#: iconv/iconv_prog.c:456 ++#: iconv/iconv_prog.c:458 + #, c-format + msgid "conversion stopped due to problem in writing the output" + msgstr "la conversió s’ha detingut a causa d’un problema en escriure l’eixida" + +-#: iconv/iconv_prog.c:533 ++#: iconv/iconv_prog.c:535 + #, c-format + msgid "illegal input sequence at position %ld" + msgstr "hi ha una seqüència d’entrada no vàlida a la posició %ld" + +-#: iconv/iconv_prog.c:541 ++#: iconv/iconv_prog.c:543 + #, c-format + msgid "internal error (illegal descriptor)" + msgstr "error intern (el descriptor no és vàlid)" + +-#: iconv/iconv_prog.c:544 ++#: iconv/iconv_prog.c:546 + #, c-format + msgid "unknown iconv() error %d" + msgstr "error desconegut %d a iconv()" + +-#: iconv/iconv_prog.c:790 ++#: iconv/iconv_prog.c:791 + 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" +@@ -1501,43 +1604,43 @@ + + # ivb (2001/10/28) + # ivb Ostres, açò pareix una frase del M-x spook! +-#: iconv/iconvconfig.c:110 ++#: iconv/iconvconfig.c:109 + msgid "Create fastloading iconv module configuration file." + msgstr "Crea un fitxer de configuració de càrrega ràpida per al mòdul iconv." + +-#: iconv/iconvconfig.c:114 ++#: iconv/iconvconfig.c:113 + msgid "[DIR...]" + msgstr " [DIRECTORI…]" + + # És un missatge d'ajuda. ivb +-#: iconv/iconvconfig.c:127 ++#: iconv/iconvconfig.c:126 + msgid "Prefix used for all file accesses" + msgstr "Prefix a emprar per a tots els accessos a fitxer." + +-#: iconv/iconvconfig.c:128 ++#: iconv/iconvconfig.c:127 + msgid "Put output in FILE instead of installed location (--prefix does not apply to FILE)" + msgstr "Desa l’eixida en el FITXER en lloc de la ubicació d’instaŀlació («--prefix» no s’aplica al FITXER)." + +-#: iconv/iconvconfig.c:132 ++#: iconv/iconvconfig.c:131 + msgid "Do not search standard directories, only those on the command line" + msgstr "No cerca en els directoris estàndard, només en els indicats a la línia d’ordres." + +-#: iconv/iconvconfig.c:301 ++#: iconv/iconvconfig.c:303 + #, c-format + msgid "Directory arguments required when using --nostdlib" + msgstr "Cal proporcionar arguments directori en emprar «--nostdlib»." + +-#: iconv/iconvconfig.c:343 locale/programs/localedef.c:291 ++#: iconv/iconvconfig.c:345 locale/programs/localedef.c:287 + #, c-format + msgid "no output file produced because warnings were issued" + msgstr "no s’ha generat el fitxer d’eixida perquè s’han produït avisos" + +-#: iconv/iconvconfig.c:429 ++#: iconv/iconvconfig.c:434 + #, c-format + msgid "while inserting in search tree" + msgstr "en inserir a l’arbre de cerca" + +-#: iconv/iconvconfig.c:1238 ++#: iconv/iconvconfig.c:1243 + #, c-format + msgid "cannot generate output file" + msgstr "no s’ha pogut generar el fitxer d’eixida" +@@ -1624,217 +1727,217 @@ + msgid "Unknown .netrc keyword %s" + msgstr "la paraula clau «%s» de «.netrc» no és coneguda" + +-#: libidn/nfkc.c:464 ++#: libidn/nfkc.c:462 + msgid "Character out of range for UTF-8" + msgstr "el caràcter és fora de rang respecte UTF-8" + +-#: locale/programs/charmap-dir.c:59 ++#: locale/programs/charmap-dir.c:58 + #, c-format + msgid "cannot read character map directory `%s'" + msgstr "no s’ha pogut llegir el directori «%s» de taules de caràcters" + +-#: locale/programs/charmap.c:138 ++#: locale/programs/charmap.c:137 + #, c-format + msgid "character map file `%s' not found" + msgstr "no s’ha trobat el fitxer «%s» de mapa de caràcters" + +-#: locale/programs/charmap.c:195 ++#: locale/programs/charmap.c:194 + #, c-format + msgid "default character map file `%s' not found" + msgstr "no s’ha trobat el fitxer «%s» de mapa de caràcters per defecte" + +-#: locale/programs/charmap.c:258 ++#: locale/programs/charmap.c:257 + #, c-format + msgid "character map `%s' is not ASCII compatible, locale not ISO C compliant\n" + msgstr "el mapa de caràcters «%s» no és compatible amb ASCII, el locale no és conforme amb ISO C\n" + + # La variable porta els símbols inclosos. ivb +-#: locale/programs/charmap.c:337 ++#: locale/programs/charmap.c:336 + #, c-format + msgid "%s: <mb_cur_max> must be greater than <mb_cur_min>\n" + msgstr "%s: <mb_cur_max> ha de ser major que <mb_cur_min>\n" + +-#: locale/programs/charmap.c:357 locale/programs/charmap.c:374 +-#: locale/programs/repertoire.c:174 ++#: locale/programs/charmap.c:356 locale/programs/charmap.c:373 ++#: locale/programs/repertoire.c:173 + #, c-format + msgid "syntax error in prolog: %s" + msgstr "error de sintaxi al pròleg: %s" + +-#: locale/programs/charmap.c:358 ++#: locale/programs/charmap.c:357 + msgid "invalid definition" + msgstr "la definició no és vàlida" + +-#: locale/programs/charmap.c:375 locale/programs/locfile.c:126 +-#: locale/programs/locfile.c:153 locale/programs/repertoire.c:175 ++#: locale/programs/charmap.c:374 locale/programs/locfile.c:125 ++#: locale/programs/locfile.c:152 locale/programs/repertoire.c:174 + msgid "bad argument" + msgstr "l’argument no és vàlid" + + # Les variables inclouen els símbols «<>». ivb +-#: locale/programs/charmap.c:403 ++#: locale/programs/charmap.c:402 + #, c-format + msgid "duplicate definition of <%s>" + msgstr "la definició de <%s> és duplicada" + +-#: locale/programs/charmap.c:410 ++#: locale/programs/charmap.c:409 + #, c-format + msgid "value for <%s> must be 1 or greater" + msgstr "el valor de <%s> ha de ser 1 o major" + +-#: locale/programs/charmap.c:422 ++#: locale/programs/charmap.c:421 + #, c-format + msgid "value of <%s> must be greater or equal than the value of <%s>" + msgstr "el valor de «%s» ha de ser major o igual que el de «%s»" + +-#: locale/programs/charmap.c:445 locale/programs/repertoire.c:183 ++#: locale/programs/charmap.c:444 locale/programs/repertoire.c:182 + #, c-format + msgid "argument to <%s> must be a single character" + msgstr "l’argument de «%s» ha de ser un sol caràcter" + +-#: locale/programs/charmap.c:471 ++#: locale/programs/charmap.c:470 + msgid "character sets with locking states are not supported" + msgstr "l’ús de jocs de caràcters amb estats blocadors no està implementat" + + # El primer és el nom d'una variable (en majúscules). ivb +-#: 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 ++#: 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 + #, c-format + msgid "syntax error in %s definition: %s" + msgstr "error de sintaxi a la definició %s: %s" + +-#: locale/programs/charmap.c:499 locale/programs/charmap.c:679 +-#: locale/programs/charmap.c:775 locale/programs/repertoire.c:230 ++#: locale/programs/charmap.c:498 locale/programs/charmap.c:678 ++#: locale/programs/charmap.c:774 locale/programs/repertoire.c:229 + msgid "no symbolic name given" + msgstr "no s’ha indicat un nom simbòlic" + +-#: locale/programs/charmap.c:553 ++#: locale/programs/charmap.c:552 + msgid "invalid encoding given" + msgstr "la codificació especificada no és vàlida" + +-#: locale/programs/charmap.c:562 ++#: locale/programs/charmap.c:561 + msgid "too few bytes in character encoding" + msgstr "manquen octets a la codificació del caràcter" + +-#: locale/programs/charmap.c:564 ++#: locale/programs/charmap.c:563 + msgid "too many bytes in character encoding" + msgstr "sobren octets a la codificació del caràcter" + +-#: locale/programs/charmap.c:586 locale/programs/charmap.c:734 +-#: locale/programs/charmap.c:817 locale/programs/repertoire.c:296 ++#: locale/programs/charmap.c:585 locale/programs/charmap.c:733 ++#: locale/programs/charmap.c:816 locale/programs/repertoire.c:295 + msgid "no symbolic name given for end of range" + msgstr "no s’ha indicat un nom simbòlic per a la fi del rang" + +-#: 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 ++#: locale/programs/charmap.c:609 locale/programs/ld-address.c:601 ++#: locale/programs/ld-collate.c:2766 locale/programs/ld-collate.c:3924 ++#: locale/programs/ld-ctype.c:2255 locale/programs/ld-ctype.c:3006 ++#: locale/programs/ld-identification.c:451 ++#: locale/programs/ld-measurement.c:237 locale/programs/ld-messages.c:331 ++#: locale/programs/ld-monetary.c:942 locale/programs/ld-name.c:306 ++#: locale/programs/ld-numeric.c:367 locale/programs/ld-paper.c:240 ++#: locale/programs/ld-telephone.c:312 locale/programs/ld-time.c:1220 ++#: locale/programs/repertoire.c:312 + #, c-format + msgid "%1$s: definition does not end with `END %1$s'" + msgstr "%1$s: la definició no acaba en «END %1$s»" + +-#: locale/programs/charmap.c:643 ++#: locale/programs/charmap.c:642 + msgid "only WIDTH definitions are allowed to follow the CHARMAP definition" + msgstr "només es permeten definicions WIDTH després de la definició CHARMAP" + + # El primer és el nom d'una variable (en majúscules). ivb +-#: locale/programs/charmap.c:651 locale/programs/charmap.c:714 ++#: locale/programs/charmap.c:650 locale/programs/charmap.c:713 + #, c-format + msgid "value for %s must be an integer" + msgstr "el valor de %s ha de ser un enter" + +-#: locale/programs/charmap.c:842 ++#: locale/programs/charmap.c:841 + #, c-format + msgid "%s: error in state machine" + msgstr "%s: error a la màquina d’estats" + +-#: 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 ++#: locale/programs/charmap.c:849 locale/programs/ld-address.c:617 ++#: locale/programs/ld-collate.c:2763 locale/programs/ld-collate.c:4117 ++#: locale/programs/ld-ctype.c:2252 locale/programs/ld-ctype.c:3023 ++#: locale/programs/ld-identification.c:467 ++#: locale/programs/ld-measurement.c:253 locale/programs/ld-messages.c:347 ++#: locale/programs/ld-monetary.c:958 locale/programs/ld-name.c:322 ++#: locale/programs/ld-numeric.c:383 locale/programs/ld-paper.c:256 ++#: locale/programs/ld-telephone.c:328 locale/programs/ld-time.c:1236 ++#: locale/programs/locfile.c:825 locale/programs/repertoire.c:323 + #, c-format + msgid "%s: premature end of file" + msgstr "%s: final prematur del fitxer" + +-#: locale/programs/charmap.c:869 locale/programs/charmap.c:880 ++#: locale/programs/charmap.c:868 locale/programs/charmap.c:879 + #, c-format + msgid "unknown character `%s'" + msgstr "el caràcter «%s» no és conegut" + +-#: locale/programs/charmap.c:888 ++#: locale/programs/charmap.c:887 + #, c-format + msgid "number of bytes for byte sequence of beginning and end of range not the same: %d vs %d" + msgstr "el nombre d’octets de les seqüències d’inici i final del rang no són iguals: %d i %d" + +-#: locale/programs/charmap.c:993 locale/programs/ld-collate.c:3046 +-#: locale/programs/repertoire.c:419 ++#: locale/programs/charmap.c:992 locale/programs/ld-collate.c:3043 ++#: locale/programs/repertoire.c:418 + msgid "invalid names for character range" + msgstr "els noms del rang de caràcters no són vàlids" + + # ivb (2001/11/05) + # ivb El rang també pot contenir dígits. El text original pot fer pensar + # ivb que _només_ s'accepten lletres majúscules. +-#: locale/programs/charmap.c:1005 locale/programs/repertoire.c:431 ++#: locale/programs/charmap.c:1004 locale/programs/repertoire.c:430 + msgid "hexadecimal range format should use only capital characters" + msgstr "les lletres emprades en un rang amb format hexadecimal han de ser majúscules" + +-#: locale/programs/charmap.c:1023 locale/programs/repertoire.c:449 ++#: locale/programs/charmap.c:1022 locale/programs/repertoire.c:448 + #, c-format + msgid "<%s> and <%s> are invalid names for range" + msgstr "<%s> i <%s> no són noms de rang vàlids" + +-#: locale/programs/charmap.c:1029 locale/programs/repertoire.c:456 ++#: locale/programs/charmap.c:1028 locale/programs/repertoire.c:455 + msgid "upper limit in range is smaller than lower limit" + msgstr "el límit superior del rang és menor que l’inferior" + +-#: locale/programs/charmap.c:1087 ++#: locale/programs/charmap.c:1086 + msgid "resulting bytes for range not representable." + msgstr "els octets resultants del rang no són representables" + +-#: 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 ++#: locale/programs/ld-address.c:134 locale/programs/ld-collate.c:1557 ++#: locale/programs/ld-ctype.c:420 locale/programs/ld-identification.c:132 ++#: locale/programs/ld-measurement.c:93 locale/programs/ld-messages.c:96 ++#: locale/programs/ld-monetary.c:193 locale/programs/ld-name.c:93 ++#: locale/programs/ld-numeric.c:97 locale/programs/ld-paper.c:90 ++#: locale/programs/ld-telephone.c:93 locale/programs/ld-time.c:158 + #, c-format + msgid "No definition for %s category found" + msgstr "no s’ha trobat cap definició de la categoria «%s»" + +-#: locale/programs/ld-address.c:146 locale/programs/ld-address.c:184 +-#: locale/programs/ld-address.c:202 locale/programs/ld-address.c:231 +-#: locale/programs/ld-address.c:303 locale/programs/ld-address.c:322 +-#: locale/programs/ld-address.c:335 locale/programs/ld-identification.c:146 +-#: locale/programs/ld-measurement.c:105 locale/programs/ld-monetary.c:206 +-#: locale/programs/ld-monetary.c:250 locale/programs/ld-monetary.c:266 +-#: locale/programs/ld-monetary.c:278 locale/programs/ld-name.c:105 +-#: 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 ++#: locale/programs/ld-address.c:145 locale/programs/ld-address.c:183 ++#: locale/programs/ld-address.c:201 locale/programs/ld-address.c:230 ++#: locale/programs/ld-address.c:302 locale/programs/ld-address.c:321 ++#: locale/programs/ld-address.c:334 locale/programs/ld-identification.c:145 ++#: locale/programs/ld-measurement.c:104 locale/programs/ld-monetary.c:205 ++#: locale/programs/ld-monetary.c:249 locale/programs/ld-monetary.c:265 ++#: locale/programs/ld-monetary.c:277 locale/programs/ld-name.c:104 ++#: locale/programs/ld-name.c:141 locale/programs/ld-numeric.c:111 ++#: locale/programs/ld-numeric.c:125 locale/programs/ld-paper.c:101 ++#: locale/programs/ld-paper.c:110 locale/programs/ld-telephone.c:104 ++#: locale/programs/ld-telephone.c:161 locale/programs/ld-time.c:174 ++#: locale/programs/ld-time.c:195 + #, c-format + msgid "%s: field `%s' not defined" + msgstr "%s: no s’ha definit el camp «%s»" + +-#: 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 ++#: locale/programs/ld-address.c:157 locale/programs/ld-address.c:209 ++#: locale/programs/ld-address.c:239 locale/programs/ld-address.c:277 ++#: locale/programs/ld-name.c:116 locale/programs/ld-telephone.c:116 + #, c-format + msgid "%s: field `%s' must not be empty" + msgstr "%s: el camp «%s» no ha d’estar buit" + +-#: locale/programs/ld-address.c:170 ++#: locale/programs/ld-address.c:169 + #, c-format + msgid "%s: invalid escape `%%%c' sequence in field `%s'" + msgstr "%s: la seqüència d’escapada «%%%c» del camp «%s» no és vàlida" +@@ -1843,744 +1946,744 @@ + # ivb Pel que sembla hi ha un codi terminològic de llengua i un + # ivb codi bibliogràfic de llengua. + # ivb http://anubis.dkuug.dk/i18n/iso-639-2-dis.txt +-#: locale/programs/ld-address.c:221 ++#: locale/programs/ld-address.c:220 + #, c-format + msgid "%s: terminology language code `%s' not defined" + msgstr "%s: no s’ha definit el codi terminològic de llengua «%s»" + +-#: locale/programs/ld-address.c:246 ++#: locale/programs/ld-address.c:245 + #, c-format + msgid "%s: field `%s' must not be defined" + msgstr "%s: no s’ha de definir el camp «%s»" + +-#: locale/programs/ld-address.c:260 locale/programs/ld-address.c:289 ++#: locale/programs/ld-address.c:259 locale/programs/ld-address.c:288 + #, c-format + msgid "%s: language abbreviation `%s' not defined" + msgstr "%s: no s’ha definit l’abreviatura de llengua «%s»" + +-#: locale/programs/ld-address.c:267 locale/programs/ld-address.c:295 +-#: locale/programs/ld-address.c:329 locale/programs/ld-address.c:341 ++#: locale/programs/ld-address.c:266 locale/programs/ld-address.c:294 ++#: locale/programs/ld-address.c:328 locale/programs/ld-address.c:340 + #, c-format + msgid "%s: `%s' value does not match `%s' value" + msgstr "%s: el valor de «%s» no concorda amb el valor de «%s»" + +-#: locale/programs/ld-address.c:314 ++#: locale/programs/ld-address.c:313 + #, c-format + msgid "%s: numeric country code `%d' not valid" + msgstr "%s: el codi numèric de país «%d» no és vàlid" + +-#: 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 ++#: locale/programs/ld-address.c:509 locale/programs/ld-address.c:546 ++#: locale/programs/ld-address.c:584 locale/programs/ld-ctype.c:2630 ++#: locale/programs/ld-identification.c:363 ++#: locale/programs/ld-measurement.c:220 locale/programs/ld-messages.c:300 ++#: locale/programs/ld-monetary.c:700 locale/programs/ld-monetary.c:735 ++#: locale/programs/ld-monetary.c:776 locale/programs/ld-name.c:279 ++#: locale/programs/ld-numeric.c:262 locale/programs/ld-paper.c:223 ++#: locale/programs/ld-telephone.c:287 locale/programs/ld-time.c:1125 ++#: locale/programs/ld-time.c:1167 + #, c-format + msgid "%s: field `%s' declared more than once" + msgstr "%s: el camp «%s» ha estat declarat més d’una volta" + +-#: 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 ++#: locale/programs/ld-address.c:513 locale/programs/ld-address.c:551 ++#: locale/programs/ld-identification.c:367 locale/programs/ld-messages.c:310 ++#: locale/programs/ld-monetary.c:704 locale/programs/ld-monetary.c:739 ++#: locale/programs/ld-name.c:283 locale/programs/ld-numeric.c:266 ++#: locale/programs/ld-telephone.c:291 locale/programs/ld-time.c:1019 ++#: locale/programs/ld-time.c:1088 locale/programs/ld-time.c:1130 + #, c-format + msgid "%s: unknown character in field `%s'" + msgstr "%s: el camp «%s» conté un caràcter desconegut" + +-#: 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 ++#: locale/programs/ld-address.c:598 locale/programs/ld-collate.c:3922 ++#: locale/programs/ld-ctype.c:3003 locale/programs/ld-identification.c:448 ++#: locale/programs/ld-measurement.c:234 locale/programs/ld-messages.c:329 ++#: locale/programs/ld-monetary.c:940 locale/programs/ld-name.c:304 ++#: locale/programs/ld-numeric.c:365 locale/programs/ld-paper.c:238 ++#: locale/programs/ld-telephone.c:310 locale/programs/ld-time.c:1218 + #, c-format + msgid "%s: incomplete `END' line" + msgstr "%s: la línia «END» és 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 ++#: locale/programs/ld-address.c:608 locale/programs/ld-collate.c:543 ++#: locale/programs/ld-collate.c:595 locale/programs/ld-collate.c:891 ++#: locale/programs/ld-collate.c:904 locale/programs/ld-collate.c:2732 ++#: locale/programs/ld-collate.c:2753 locale/programs/ld-collate.c:4107 ++#: locale/programs/ld-ctype.c:1984 locale/programs/ld-ctype.c:2242 ++#: locale/programs/ld-ctype.c:2828 locale/programs/ld-ctype.c:3014 ++#: locale/programs/ld-identification.c:458 ++#: locale/programs/ld-measurement.c:244 locale/programs/ld-messages.c:338 ++#: locale/programs/ld-monetary.c:949 locale/programs/ld-name.c:313 ++#: locale/programs/ld-numeric.c:374 locale/programs/ld-paper.c:247 ++#: locale/programs/ld-telephone.c:319 locale/programs/ld-time.c:1227 + #, c-format + msgid "%s: syntax error" + msgstr "%s: error de sintaxi" + +-#: locale/programs/ld-collate.c:419 ++#: locale/programs/ld-collate.c:418 + #, c-format + msgid "`%.*s' already defined in charmap" + msgstr "«%.*s» ja ha estat definit al mapa de caràcters" + +-#: locale/programs/ld-collate.c:428 ++#: locale/programs/ld-collate.c:427 + #, c-format + msgid "`%.*s' already defined in repertoire" + msgstr "«%.*s» ja ha estat definit al repertori" + +-#: locale/programs/ld-collate.c:435 ++#: locale/programs/ld-collate.c:434 + #, c-format + msgid "`%.*s' already defined as collating symbol" + msgstr "«%.*s» ja ha estat definit com a símbol d’ordenació" + +-#: locale/programs/ld-collate.c:442 ++#: locale/programs/ld-collate.c:441 + #, c-format + msgid "`%.*s' already defined as collating element" + msgstr "«%.*s» ja ha estat definit com a element d’ordenació" + +-#: locale/programs/ld-collate.c:473 locale/programs/ld-collate.c:499 ++#: locale/programs/ld-collate.c:472 locale/programs/ld-collate.c:498 + #, c-format + msgid "%s: `forward' and `backward' are mutually excluding each other" + msgstr "%s: «forward» i «backward» són mútuament excloents" + +-#: locale/programs/ld-collate.c:483 locale/programs/ld-collate.c:509 +-#: locale/programs/ld-collate.c:525 ++#: locale/programs/ld-collate.c:482 locale/programs/ld-collate.c:508 ++#: locale/programs/ld-collate.c:524 + #, c-format + msgid "%s: `%s' mentioned more than once in definition of weight %d" + msgstr "%s: s’ha mencionat «%s» més d’una volta a la definició de pes %d" + +-#: locale/programs/ld-collate.c:581 ++#: locale/programs/ld-collate.c:580 + #, c-format + msgid "%s: too many rules; first entry only had %d" + msgstr "%s: sobren regles; la primera entrada només en tenia %d" + +-#: locale/programs/ld-collate.c:617 ++#: locale/programs/ld-collate.c:616 + #, c-format + msgid "%s: not enough sorting rules" + msgstr "%s: no hi ha suficients regles d’ordenació" + +-#: locale/programs/ld-collate.c:782 ++#: locale/programs/ld-collate.c:781 + #, c-format + msgid "%s: empty weight string not allowed" + msgstr "%s: no es permet la cadena buida com a nom de pes" + +-#: locale/programs/ld-collate.c:877 ++#: locale/programs/ld-collate.c:876 + #, c-format + msgid "%s: weights must use the same ellipsis symbol as the name" + msgstr "%s: els pesos han d’emprar el mateix símbol d’eŀlipsi que el nom" + +-#: locale/programs/ld-collate.c:933 ++#: locale/programs/ld-collate.c:932 + #, c-format + msgid "%s: too many values" + msgstr "%s: sobren valors" + +-#: locale/programs/ld-collate.c:1053 locale/programs/ld-collate.c:1228 ++#: locale/programs/ld-collate.c:1052 locale/programs/ld-collate.c:1227 + #, c-format + msgid "order for `%.*s' already defined at %s:%Zu" + msgstr "l’ordre de «%.*s» ja ha estat definit a %s:%Zu" + +-#: locale/programs/ld-collate.c:1103 ++#: locale/programs/ld-collate.c:1102 + #, c-format + msgid "%s: the start and the end symbol of a range must stand for characters" + msgstr "%s: els símbols inicial i final d’un rang han de representar caràcters" + +-#: locale/programs/ld-collate.c:1130 ++#: locale/programs/ld-collate.c:1129 + #, c-format + msgid "%s: byte sequences of first and last character must have the same length" + msgstr "%s: les seqüències d’octets del primer i darrer caràcter han de tenir la mateixa longitud" + +-#: locale/programs/ld-collate.c:1172 ++#: locale/programs/ld-collate.c:1171 + #, c-format + msgid "%s: byte sequence of first character of range is not lower than that of the last character" + msgstr "%s: la seqüència d’octets del primer caràcter del rang no és menor que la del darrer caràcter" + +-#: locale/programs/ld-collate.c:1297 ++#: locale/programs/ld-collate.c:1296 + #, c-format + msgid "%s: symbolic range ellipsis must not directly follow `order_start'" + msgstr "%s: un rang simbòlic amb eŀlipsi no pot anar just darrere d’«order_start»" + +-#: locale/programs/ld-collate.c:1301 ++#: locale/programs/ld-collate.c:1300 + #, c-format + msgid "%s: symbolic range ellipsis must not be directly followed by `order_end'" + msgstr "%s: un rang simbòlic amb eŀlipsi no pot anar just davant d’«order_end»" + +-#: locale/programs/ld-collate.c:1321 locale/programs/ld-ctype.c:1502 ++#: locale/programs/ld-collate.c:1320 locale/programs/ld-ctype.c:1501 + #, c-format + msgid "`%s' and `%.*s' are not valid names for symbolic range" + msgstr "«%s» i «%.*s» no són noms vàlids de rangs simbòlics" + +-#: locale/programs/ld-collate.c:1371 locale/programs/ld-collate.c:3861 ++#: locale/programs/ld-collate.c:1370 locale/programs/ld-collate.c:3858 + #, c-format + msgid "%s: order for `%.*s' already defined at %s:%Zu" + msgstr "%s: l’ordre de «%.*s» ja ha estat definit a %s:%Zu" + +-#: locale/programs/ld-collate.c:1380 ++#: locale/programs/ld-collate.c:1379 + #, c-format + msgid "%s: `%s' must be a character" + msgstr "%s: «%s» ha de ser un caràcter" + +-#: locale/programs/ld-collate.c:1575 ++#: locale/programs/ld-collate.c:1574 + #, c-format + msgid "%s: `position' must be used for a specific level in all sections or none" + msgstr "%s: cal emprar «position» per a un nivell específic a totes les seccions o a cap" + +-#: locale/programs/ld-collate.c:1600 ++#: locale/programs/ld-collate.c:1599 + #, c-format + msgid "symbol `%s' not defined" + msgstr "el símbol «%s» no ha estat definit" + +-#: locale/programs/ld-collate.c:1676 locale/programs/ld-collate.c:1782 ++#: locale/programs/ld-collate.c:1675 locale/programs/ld-collate.c:1781 + #, c-format + msgid "symbol `%s' has the same encoding as" + msgstr "el símbol «%s» té la mateixa codificació que" + +-#: locale/programs/ld-collate.c:1680 locale/programs/ld-collate.c:1786 ++#: locale/programs/ld-collate.c:1679 locale/programs/ld-collate.c:1785 + #, c-format + msgid "symbol `%s'" + msgstr "el símbol «%s»" + +-#: locale/programs/ld-collate.c:1828 ++#: locale/programs/ld-collate.c:1827 + #, c-format + msgid "no definition of `UNDEFINED'" + msgstr "no s’ha definit «UNDEFINED»" + +-#: locale/programs/ld-collate.c:1857 ++#: locale/programs/ld-collate.c:1856 + #, c-format + msgid "too many errors; giving up" + msgstr "hi ha massa errors: s’abandona" + +-#: locale/programs/ld-collate.c:2661 locale/programs/ld-collate.c:4049 ++#: locale/programs/ld-collate.c:2658 locale/programs/ld-collate.c:4046 + #, c-format + msgid "%s: nested conditionals not supported" + msgstr "%s: no es permeten els condicionals niats" + +-#: locale/programs/ld-collate.c:2679 ++#: locale/programs/ld-collate.c:2676 + #, c-format + msgid "%s: more then one 'else'" + msgstr "%s: hi ha més d’una clàusula «else»" + +-#: locale/programs/ld-collate.c:2854 ++#: locale/programs/ld-collate.c:2851 + #, c-format + msgid "%s: duplicate definition of `%s'" + msgstr "%s: la definició de «%s» és duplicada" + +-#: locale/programs/ld-collate.c:2890 ++#: locale/programs/ld-collate.c:2887 + #, c-format + msgid "%s: duplicate declaration of section `%s'" + msgstr "%s: la declaració de la secció «%s» és duplicada" + +-#: locale/programs/ld-collate.c:3026 ++#: locale/programs/ld-collate.c:3023 + #, c-format + msgid "%s: unknown character in collating symbol name" + msgstr "%s: el nom del símbol d’ordenació conté un caràcter desconegut" + +-#: locale/programs/ld-collate.c:3155 ++#: locale/programs/ld-collate.c:3152 + #, c-format + msgid "%s: unknown character in equivalent definition name" + msgstr "%s: el nom de la definició equivalent conté un caràcter desconegut" + +-#: locale/programs/ld-collate.c:3166 ++#: locale/programs/ld-collate.c:3163 + #, c-format + msgid "%s: unknown character in equivalent definition value" + msgstr "%s: el valor de la definició equivalent conté un caràcter desconegut" + +-#: locale/programs/ld-collate.c:3176 ++#: locale/programs/ld-collate.c:3173 + #, c-format + msgid "%s: unknown symbol `%s' in equivalent definition" + msgstr "%s: la definició equivalent conté el símbol desconegut «%s»" + +-#: locale/programs/ld-collate.c:3185 ++#: locale/programs/ld-collate.c:3182 + msgid "error while adding equivalent collating symbol" + msgstr "error en afegir un símbol d’ordenació equivalent" + +-#: locale/programs/ld-collate.c:3223 ++#: locale/programs/ld-collate.c:3220 + #, c-format + msgid "duplicate definition of script `%s'" + msgstr "la definició de l’escriptura «%s» és duplicada" + +-#: locale/programs/ld-collate.c:3271 ++#: locale/programs/ld-collate.c:3268 + #, c-format + msgid "%s: unknown section name `%.*s'" + msgstr "%s: el nom de secció «%.*s» no és conegut" + +-#: locale/programs/ld-collate.c:3300 ++#: locale/programs/ld-collate.c:3297 + #, c-format + msgid "%s: multiple order definitions for section `%s'" + msgstr "%s: hi ha múltiples definicions d’ordre de la secció «%s»" + +-#: locale/programs/ld-collate.c:3328 ++#: locale/programs/ld-collate.c:3325 + #, c-format + msgid "%s: invalid number of sorting rules" + msgstr "%s: el nombre de regles d’ordenació no és vàlid" + +-#: locale/programs/ld-collate.c:3355 ++#: locale/programs/ld-collate.c:3352 + #, c-format + msgid "%s: multiple order definitions for unnamed section" + msgstr "%s: hi ha múltiples definicions d’ordre a la secció sense nom" + +-#: locale/programs/ld-collate.c:3410 locale/programs/ld-collate.c:3540 +-#: locale/programs/ld-collate.c:3903 ++#: locale/programs/ld-collate.c:3407 locale/programs/ld-collate.c:3537 ++#: locale/programs/ld-collate.c:3900 + #, c-format + msgid "%s: missing `order_end' keyword" + msgstr "%s: manca la paraula clau «order_end»" + +-#: locale/programs/ld-collate.c:3473 ++#: locale/programs/ld-collate.c:3470 + #, c-format + msgid "%s: order for collating symbol %.*s not yet defined" + msgstr "%s: l’ordre del símbol d’ordenació «%.*s» encara no ha estat definit" + +-#: locale/programs/ld-collate.c:3491 ++#: locale/programs/ld-collate.c:3488 + #, c-format + msgid "%s: order for collating element %.*s not yet defined" + msgstr "%s: l’ordre de l’element d’ordenació «%.*s» encara no ha estat definit" + +-#: locale/programs/ld-collate.c:3502 ++#: locale/programs/ld-collate.c:3499 + #, c-format + msgid "%s: cannot reorder after %.*s: symbol not known" + msgstr "%s: no s’ha pogut reordenar després de «%.*s»: el símbol no és conegut" + +-#: locale/programs/ld-collate.c:3554 locale/programs/ld-collate.c:3915 ++#: locale/programs/ld-collate.c:3551 locale/programs/ld-collate.c:3912 + #, c-format + msgid "%s: missing `reorder-end' keyword" + msgstr "%s: manca la paraula clau «reorder-end»" + +-#: locale/programs/ld-collate.c:3588 locale/programs/ld-collate.c:3786 ++#: locale/programs/ld-collate.c:3585 locale/programs/ld-collate.c:3783 + #, c-format + msgid "%s: section `%.*s' not known" + msgstr "%s: la secció «%.*s» no és coneguda" + +-#: locale/programs/ld-collate.c:3653 ++#: locale/programs/ld-collate.c:3650 + #, c-format + msgid "%s: bad symbol <%.*s>" + msgstr "%s: el símbol <%.*s> no és vàlid" + +-#: locale/programs/ld-collate.c:3849 ++#: locale/programs/ld-collate.c:3846 + #, c-format + msgid "%s: cannot have `%s' as end of ellipsis range" + msgstr "%s: «%s» no es pot trobar al final d’un rang amb eŀlipsi" + +-#: locale/programs/ld-collate.c:3899 ++#: locale/programs/ld-collate.c:3896 + #, c-format + msgid "%s: empty category description not allowed" + msgstr "%s: no es permet una descripció buida de la categoria" + +-#: locale/programs/ld-collate.c:3918 ++#: locale/programs/ld-collate.c:3915 + #, c-format + msgid "%s: missing `reorder-sections-end' keyword" + msgstr "%s: manca la paraula clau «reorder-sections-end»" + +-#: locale/programs/ld-collate.c:4082 ++#: locale/programs/ld-collate.c:4079 + #, c-format + msgid "%s: '%s' without matching 'ifdef' or 'ifndef'" + msgstr "%s: s’ha trobat un «%s» sense el corresponent «ifdef» o «ifndef»" + +-#: locale/programs/ld-collate.c:4100 ++#: locale/programs/ld-collate.c:4097 + #, c-format + msgid "%s: 'endif' without matching 'ifdef' or 'ifndef'" + msgstr "%s: s’ha trobat un «endif» sense el corresponent «ifdef» o «ifndef»" + +-#: locale/programs/ld-ctype.c:440 ++#: locale/programs/ld-ctype.c:439 + #, c-format + msgid "No character set name specified in charmap" + msgstr "no s’ha indicat cap nom de joc de caràcters al mapa de caràcters" + +-#: locale/programs/ld-ctype.c:469 ++#: locale/programs/ld-ctype.c:468 + #, c-format + msgid "character L'\\u%0*x' in class `%s' must be in class `%s'" + msgstr "el caràcter L«\\u%0*x» de la classe «%s» ha de ser a la classe «%s»" + +-#: locale/programs/ld-ctype.c:484 ++#: locale/programs/ld-ctype.c:483 + #, c-format + msgid "character L'\\u%0*x' in class `%s' must not be in class `%s'" + msgstr "el caràcter L«\\u%0*x» de la classe «%s» no ha de ser a la classe «%s»" + +-#: locale/programs/ld-ctype.c:498 locale/programs/ld-ctype.c:556 ++#: locale/programs/ld-ctype.c:497 locale/programs/ld-ctype.c:555 + #, c-format + msgid "internal error in %s, line %u" + msgstr "error intern a «%s», línia %u" + +-#: locale/programs/ld-ctype.c:527 ++#: locale/programs/ld-ctype.c:526 + #, c-format + msgid "character '%s' in class `%s' must be in class `%s'" + msgstr "el caràcter «%s» de la classe «%s» ha de ser a la classe «%s»" + +-#: locale/programs/ld-ctype.c:543 ++#: locale/programs/ld-ctype.c:542 + #, c-format + msgid "character '%s' in class `%s' must not be in class `%s'" + msgstr "el caràcter «%s» de la classe «%s» no ha de ser a la classe «%s»" + +-#: locale/programs/ld-ctype.c:573 locale/programs/ld-ctype.c:611 ++#: locale/programs/ld-ctype.c:572 locale/programs/ld-ctype.c:610 + #, c-format + msgid "<SP> character not in class `%s'" + msgstr "el caràcter <SP> no és a la classe «%s»" + +-#: locale/programs/ld-ctype.c:585 locale/programs/ld-ctype.c:622 ++#: locale/programs/ld-ctype.c:584 locale/programs/ld-ctype.c:621 + #, c-format + msgid "<SP> character must not be in class `%s'" + msgstr "el caràcter <SP> no ha de ser a la classe «%s»" + +-#: locale/programs/ld-ctype.c:600 ++#: locale/programs/ld-ctype.c:599 + #, c-format + msgid "character <SP> not defined in character map" + msgstr "el caràcter <SP> no ha estat definit a la taula de caràcters" + +-#: locale/programs/ld-ctype.c:736 ++#: locale/programs/ld-ctype.c:735 + #, c-format + msgid "`digit' category has not entries in groups of ten" + msgstr "les entrades de la categoria «digit» no estan agrupades de deu en deu" + +-#: locale/programs/ld-ctype.c:785 ++#: locale/programs/ld-ctype.c:784 + #, c-format + msgid "no input digits defined and none of the standard names in the charmap" + msgstr "no s’han definit dígits d’entrada i cap dels noms estàndard es troba al mapa de caràcters" + +-#: locale/programs/ld-ctype.c:850 ++#: locale/programs/ld-ctype.c:849 + #, c-format + msgid "not all characters used in `outdigit' are available in the charmap" + msgstr "no tots els caràcters emprats a «outdigit» es troben al mapa de caràcters" + +-#: locale/programs/ld-ctype.c:867 ++#: locale/programs/ld-ctype.c:866 + #, c-format + msgid "not all characters used in `outdigit' are available in the repertoire" + msgstr "no tots els caràcters emprats a «outdigit» es troben al repertori" + +-#: locale/programs/ld-ctype.c:1270 ++#: locale/programs/ld-ctype.c:1269 + #, c-format + msgid "character class `%s' already defined" + msgstr "la classe de caràcters «%s» ja ha estat definida" + +-#: locale/programs/ld-ctype.c:1276 ++#: locale/programs/ld-ctype.c:1275 + #, c-format + msgid "implementation limit: no more than %Zd character classes allowed" + msgstr "límit d’implementació: no es permeten més de %Zd classes de caràcters" + +-#: locale/programs/ld-ctype.c:1302 ++#: locale/programs/ld-ctype.c:1301 + #, c-format + msgid "character map `%s' already defined" + msgstr "el mapa de caràcters «%s» ja ha estat definit" + +-#: locale/programs/ld-ctype.c:1308 ++#: locale/programs/ld-ctype.c:1307 + #, c-format + msgid "implementation limit: no more than %d character maps allowed" + msgstr "límit d’implementació: no es permeten més de %d taules de caràcters" + +-#: 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 ++#: locale/programs/ld-ctype.c:1572 locale/programs/ld-ctype.c:1697 ++#: locale/programs/ld-ctype.c:1803 locale/programs/ld-ctype.c:2493 ++#: locale/programs/ld-ctype.c:3489 + #, c-format + msgid "%s: field `%s' does not contain exactly ten entries" + msgstr "%s: el camp «%s» no conté deu entrades exactament" + +-#: locale/programs/ld-ctype.c:1601 locale/programs/ld-ctype.c:2175 ++#: locale/programs/ld-ctype.c:1600 locale/programs/ld-ctype.c:2174 + #, c-format + msgid "to-value <U%0*X> of range is smaller than from-value <U%0*X>" + msgstr "el valor final <U%0*X> del rang és menor que l’inicial <U%0*X>" + +-#: locale/programs/ld-ctype.c:1728 ++#: locale/programs/ld-ctype.c:1727 + msgid "start and end character sequence of range must have the same length" + msgstr "les seqüències de caràcters inicial i final del rang han de tenir la mateixa longitud" + +-#: locale/programs/ld-ctype.c:1735 ++#: locale/programs/ld-ctype.c:1734 + msgid "to-value character sequence is smaller than from-value sequence" + msgstr "la seqüència de caràcters final és menor que la seqüència inicial" + +-#: locale/programs/ld-ctype.c:2095 locale/programs/ld-ctype.c:2146 ++#: locale/programs/ld-ctype.c:2094 locale/programs/ld-ctype.c:2145 + msgid "premature end of `translit_ignore' definition" + msgstr "fi prematura de la definició «translit_ignore»" + +-#: locale/programs/ld-ctype.c:2101 locale/programs/ld-ctype.c:2152 +-#: locale/programs/ld-ctype.c:2194 ++#: locale/programs/ld-ctype.c:2100 locale/programs/ld-ctype.c:2151 ++#: locale/programs/ld-ctype.c:2193 + msgid "syntax error" + msgstr "error de sintaxi" + +-#: locale/programs/ld-ctype.c:2328 ++#: locale/programs/ld-ctype.c:2326 + #, c-format + msgid "%s: syntax error in definition of new character class" + msgstr "%s: error de sintaxi a la definició de nova classe de caràcters" + +-#: locale/programs/ld-ctype.c:2343 ++#: locale/programs/ld-ctype.c:2341 + #, c-format + msgid "%s: syntax error in definition of new character map" + msgstr "%s: error de sintaxi a la definició de nou mapa de caràcters" + +-#: locale/programs/ld-ctype.c:2518 ++#: locale/programs/ld-ctype.c:2515 + msgid "ellipsis range must be marked by two operands of same type" + msgstr "el rang amb eŀlipsi ha d’estar marcat per dos operands del mateix tipus" + +-#: locale/programs/ld-ctype.c:2527 ++#: locale/programs/ld-ctype.c:2524 + msgid "with symbolic name range values the absolute ellipsis `...' must not be used" + msgstr "no s’ha d’emprar l’eŀlipsi absoluta «...» amb els valors de rang de noms simbòlics" + +-#: locale/programs/ld-ctype.c:2542 ++#: locale/programs/ld-ctype.c:2539 + msgid "with UCS range values one must use the hexadecimal symbolic ellipsis `..'" + msgstr "cal emprar l’eŀlipsi simbòlica hexadecimal «..» amb els valors de rang UCS" + +-#: locale/programs/ld-ctype.c:2556 ++#: locale/programs/ld-ctype.c:2553 + msgid "with character code range values one must use the absolute ellipsis `...'" + msgstr "cal emprar l’eŀlispi absoluta «...» amb els valors de rang de codis de caràcters" + +-#: locale/programs/ld-ctype.c:2707 ++#: locale/programs/ld-ctype.c:2704 + #, c-format + msgid "duplicated definition for mapping `%s'" + msgstr "la definició del mapa «%s» és duplicada" + +-#: locale/programs/ld-ctype.c:2793 locale/programs/ld-ctype.c:2937 ++#: locale/programs/ld-ctype.c:2790 locale/programs/ld-ctype.c:2934 + #, c-format + msgid "%s: `translit_start' section does not end with `translit_end'" + msgstr "%s: la secció «translit_start» no acaba amb «translit_end»" + +-#: locale/programs/ld-ctype.c:2888 ++#: locale/programs/ld-ctype.c:2885 + #, c-format + msgid "%s: duplicate `default_missing' definition" + msgstr "%s: la definició de «default_missing» és duplicada" + +-#: locale/programs/ld-ctype.c:2893 ++#: locale/programs/ld-ctype.c:2890 + msgid "previous definition was here" + msgstr "la definició prèvia es troba ací" + +-#: locale/programs/ld-ctype.c:2915 ++#: locale/programs/ld-ctype.c:2912 + #, c-format + msgid "%s: no representable `default_missing' definition found" + msgstr "%s: no s’ha trobat cap definició representable de «default_missing»" + +-#: 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 ++#: locale/programs/ld-ctype.c:3065 locale/programs/ld-ctype.c:3149 ++#: locale/programs/ld-ctype.c:3169 locale/programs/ld-ctype.c:3190 ++#: locale/programs/ld-ctype.c:3211 locale/programs/ld-ctype.c:3232 ++#: locale/programs/ld-ctype.c:3253 locale/programs/ld-ctype.c:3293 ++#: locale/programs/ld-ctype.c:3314 locale/programs/ld-ctype.c:3381 ++#: locale/programs/ld-ctype.c:3423 locale/programs/ld-ctype.c:3448 + #, c-format + msgid "%s: character `%s' not defined while needed as default value" + msgstr "%s: el caràcter «%s», necessari com a valor per defecte, no ha estat definit" + +-#: 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 ++#: locale/programs/ld-ctype.c:3070 locale/programs/ld-ctype.c:3154 ++#: locale/programs/ld-ctype.c:3174 locale/programs/ld-ctype.c:3195 ++#: locale/programs/ld-ctype.c:3216 locale/programs/ld-ctype.c:3237 ++#: locale/programs/ld-ctype.c:3258 locale/programs/ld-ctype.c:3298 ++#: locale/programs/ld-ctype.c:3319 locale/programs/ld-ctype.c:3386 + #, c-format + msgid "%s: character `%s' in charmap not representable with one byte" + msgstr "%s: el caràcter «%s» del mapa de caràcters no es pot representar amb un sol octet" + +-#: locale/programs/ld-ctype.c:3433 locale/programs/ld-ctype.c:3458 ++#: locale/programs/ld-ctype.c:3430 locale/programs/ld-ctype.c:3455 + #, c-format + msgid "%s: character `%s' needed as default value not representable with one byte" + msgstr "%s: el caràcter «%s», necessari com a valor per defecte, no es pot representar amb un sol octet" + +-#: locale/programs/ld-ctype.c:3514 ++#: locale/programs/ld-ctype.c:3511 + #, c-format + msgid "no output digits defined and none of the standard names in the charmap" + msgstr "no s’han definit dígits d’eixida i cap del noms estàndard es troba al mapa de caràcters" + +-#: locale/programs/ld-ctype.c:3805 ++#: locale/programs/ld-ctype.c:3802 + #, c-format + msgid "%s: transliteration data from locale `%s' not available" + msgstr "%s: les dades de transliteració del locale «%s» no es troben disponibles" + +-#: locale/programs/ld-ctype.c:3906 ++#: locale/programs/ld-ctype.c:3903 + #, c-format + msgid "%s: table for class \"%s\": %lu bytes\n" + msgstr "%s: taula de la classe «%s»: %lu octets\n" + +-#: locale/programs/ld-ctype.c:3975 ++#: locale/programs/ld-ctype.c:3972 + #, c-format + msgid "%s: table for map \"%s\": %lu bytes\n" + msgstr "%s: taula del mapa «%s»: %lu octets\n" + +-#: locale/programs/ld-ctype.c:4108 ++#: locale/programs/ld-ctype.c:4105 + #, c-format + msgid "%s: table for width: %lu bytes\n" + msgstr "%s: taula d’amplada: %lu bytes\n" + +-#: locale/programs/ld-identification.c:170 ++#: locale/programs/ld-identification.c:169 + #, c-format + msgid "%s: no identification for category `%s'" + msgstr "%s: no hi ha cap identificació per a la categoria «%s»" + +-#: locale/programs/ld-identification.c:435 ++#: locale/programs/ld-identification.c:434 + #, c-format + msgid "%s: duplicate category version definition" + msgstr "%s: la definició de versió de categoria és duplicada" + +-#: locale/programs/ld-measurement.c:113 ++#: locale/programs/ld-measurement.c:112 + #, c-format + msgid "%s: invalid value for field `%s'" + msgstr "%s: el valor del camp «%s» no és vàlid" + +-#: locale/programs/ld-messages.c:114 locale/programs/ld-messages.c:148 ++#: locale/programs/ld-messages.c:113 locale/programs/ld-messages.c:147 + #, c-format + msgid "%s: field `%s' undefined" + msgstr "%s: no s’ha definit el camp «%s»" + +-#: locale/programs/ld-messages.c:121 locale/programs/ld-messages.c:155 +-#: locale/programs/ld-monetary.c:256 locale/programs/ld-numeric.c:118 ++#: locale/programs/ld-messages.c:120 locale/programs/ld-messages.c:154 ++#: locale/programs/ld-monetary.c:255 locale/programs/ld-numeric.c:117 + #, c-format + msgid "%s: value for field `%s' must not be an empty string" + msgstr "%s: el valor del camp «%s» no ha de ser la cadena buida" + +-#: locale/programs/ld-messages.c:137 locale/programs/ld-messages.c:171 ++#: locale/programs/ld-messages.c:136 locale/programs/ld-messages.c:170 + #, c-format + msgid "%s: no correct regular expression for field `%s': %s" + msgstr "%s: no hi ha cap expressió regular correcta per al camp «%s»: %s" + +-#: locale/programs/ld-monetary.c:224 ++#: locale/programs/ld-monetary.c:223 + #, c-format + msgid "%s: value of field `int_curr_symbol' has wrong length" + msgstr "%s: el valor del camp «int_curr_symbol» té una longitud incorrecta" + +-#: locale/programs/ld-monetary.c:237 ++#: locale/programs/ld-monetary.c:236 + #, 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 camp «int_curr_symbol» no és un nom vàlid de l’estàndard ISO 4217" + +-#: locale/programs/ld-monetary.c:285 locale/programs/ld-monetary.c:315 ++#: locale/programs/ld-monetary.c:284 locale/programs/ld-monetary.c:314 + #, c-format + msgid "%s: value for field `%s' must be in range %d...%d" + msgstr "%s: el valor del camp «%s» ha d’estar dins el rang %d...%d" + +-#: locale/programs/ld-monetary.c:747 locale/programs/ld-numeric.c:274 ++#: locale/programs/ld-monetary.c:746 locale/programs/ld-numeric.c:273 + #, c-format + msgid "%s: value for field `%s' must be a single character" + msgstr "%s: el valor del camp «%s» ha de ser un sol caràcter" + +-#: locale/programs/ld-monetary.c:844 locale/programs/ld-numeric.c:318 ++#: locale/programs/ld-monetary.c:843 locale/programs/ld-numeric.c:317 + #, c-format + msgid "%s: `-1' must be last entry in `%s' field" + msgstr "%s: «-1» ha de ser la darrera entrada del camp «%s»" + +-#: locale/programs/ld-monetary.c:866 locale/programs/ld-numeric.c:335 ++#: locale/programs/ld-monetary.c:865 locale/programs/ld-numeric.c:334 + #, c-format + msgid "%s: values for field `%s' must be smaller than 127" + msgstr "%s: els valors del camp «%s» han de ser menors que 127" + +-#: locale/programs/ld-monetary.c:909 ++#: locale/programs/ld-monetary.c:908 + msgid "conversion rate value cannot be zero" + msgstr "el valor de la taxa de conversió no pot ser zero" + +-#: locale/programs/ld-name.c:129 locale/programs/ld-telephone.c:126 +-#: locale/programs/ld-telephone.c:149 ++#: locale/programs/ld-name.c:128 locale/programs/ld-telephone.c:125 ++#: locale/programs/ld-telephone.c:148 + #, c-format + msgid "%s: invalid escape sequence in field `%s'" + msgstr "%s: la seqüència d’escapada del camp «%s» no és vàlida" + +-#: locale/programs/ld-time.c:247 ++#: locale/programs/ld-time.c:246 + #, c-format + msgid "%s: direction flag in string %Zd in `era' field is not '+' nor '-'" + msgstr "%s: el senyalador de direcció de la cadena %Zd del camp «era» no és ni «+» ni «-»" + +-#: locale/programs/ld-time.c:258 ++#: locale/programs/ld-time.c:257 + #, c-format + msgid "%s: direction flag in string %Zd in `era' field is not a single character" + msgstr "%s: el senyalador de direcció de la cadena %Zd del camp «era» no és un sol caràcter" + +-#: locale/programs/ld-time.c:271 ++#: locale/programs/ld-time.c:270 + #, c-format + msgid "%s: invalid number for offset in string %Zd in `era' field" + msgstr "%s: el número de desplaçament de la cadena %Zd del camp «era» no és vàlid" + +-#: locale/programs/ld-time.c:279 ++#: locale/programs/ld-time.c:278 + #, c-format + msgid "%s: garbage at end of offset value in string %Zd in `era' field" + msgstr "%s: brossa al final del valor de desplaçament de la cadena %Zd del camp «era»" + +-#: locale/programs/ld-time.c:330 ++#: locale/programs/ld-time.c:329 + #, c-format + msgid "%s: invalid starting date in string %Zd in `era' field" + msgstr "%s: la data de començament de la cadena %Zd del camp «era» no és vàlida" + +-#: locale/programs/ld-time.c:339 ++#: locale/programs/ld-time.c:338 + #, c-format + msgid "%s: garbage at end of starting date in string %Zd in `era' field " + msgstr "%s: brossa al final de la data de començament de la cadena %Zd del camp «era» " + +-#: locale/programs/ld-time.c:358 ++#: locale/programs/ld-time.c:357 + #, c-format + msgid "%s: starting date is invalid in string %Zd in `era' field" + msgstr "%s: la data de començament de la cadena %Zd del camp «era» no és vàlida" + +-#: locale/programs/ld-time.c:407 locale/programs/ld-time.c:435 ++#: locale/programs/ld-time.c:406 locale/programs/ld-time.c:434 + #, c-format + msgid "%s: invalid stopping date in string %Zd in `era' field" + msgstr "%s: la data d’acabament de la cadena %Zd del camp «era» no és vàlida" + +-#: locale/programs/ld-time.c:416 ++#: locale/programs/ld-time.c:415 + #, c-format + msgid "%s: garbage at end of stopping date in string %Zd in `era' field" + msgstr "%s: brossa al final de la data d’acabament de la cadena %Zd del camp «era»" + +-#: locale/programs/ld-time.c:444 ++#: locale/programs/ld-time.c:443 + #, c-format + msgid "%s: missing era name in string %Zd in `era' field" + msgstr "%s: manca el nom de l’era a la cadena %Zd del camp «era»" + +-#: locale/programs/ld-time.c:456 ++#: locale/programs/ld-time.c:455 + #, c-format + msgid "%s: missing era format in string %Zd in `era' field" + msgstr "%s: manca el format de l’era a la cadena %Zd del camp «era»" + +-#: locale/programs/ld-time.c:497 ++#: locale/programs/ld-time.c:496 + #, c-format + msgid "%s: third operand for value of field `%s' must not be larger than %d" + msgstr "%s: el tercer operand del valor del camp «%s» no ha de ser major que %d" + +-#: locale/programs/ld-time.c:505 locale/programs/ld-time.c:513 +-#: locale/programs/ld-time.c:521 ++#: locale/programs/ld-time.c:504 locale/programs/ld-time.c:512 ++#: locale/programs/ld-time.c:520 + #, c-format + msgid "%s: values for field `%s' must not be larger than %d" + msgstr "%s: els valors del camp «%s» no han de ser majors que %d" + +-#: locale/programs/ld-time.c:1004 ++#: locale/programs/ld-time.c:1003 + #, c-format + msgid "%s: too few values for field `%s'" + msgstr "%s: manquen valors al camp «%s»" + +-#: locale/programs/ld-time.c:1049 ++#: locale/programs/ld-time.c:1048 + msgid "extra trailing semicolon" + msgstr "hi ha un punt i coma sobrant al final" + +-#: locale/programs/ld-time.c:1052 ++#: locale/programs/ld-time.c:1051 + #, c-format + msgid "%s: too many values for field `%s'" + msgstr "%s: sobren valors al camp «%s»" + +-#: locale/programs/linereader.c:130 ++#: locale/programs/linereader.c:129 + msgid "trailing garbage at end of line" + msgstr "brossa al final de la línia" + +-#: locale/programs/linereader.c:298 ++#: locale/programs/linereader.c:297 + msgid "garbage at end of number" + msgstr "brossa al final del número" + +-#: locale/programs/linereader.c:410 ++#: locale/programs/linereader.c:409 + msgid "garbage at end of character code specification" + msgstr "brossa al final de l’especificació de codi de caràcter" + +-#: locale/programs/linereader.c:496 ++#: locale/programs/linereader.c:495 + msgid "unterminated symbolic name" + msgstr "el nom simbòlic no està acabat" + +-#: locale/programs/linereader.c:623 ++#: locale/programs/linereader.c:622 + msgid "illegal escape sequence at end of string" + msgstr "hi ha una seqüència d’escapada no permesa al final de la cadena" + +-#: locale/programs/linereader.c:627 locale/programs/linereader.c:855 ++#: locale/programs/linereader.c:626 locale/programs/linereader.c:854 + msgid "unterminated string" + msgstr "la cadena no està acabada" + +-#: locale/programs/linereader.c:669 ++#: locale/programs/linereader.c:668 + msgid "non-symbolic character value should not be used" + msgstr "no s’han d’emprar valors de caràcters no simbòlics" + +-#: locale/programs/linereader.c:816 ++#: locale/programs/linereader.c:815 + #, c-format + msgid "symbol `%.*s' not in charmap" + msgstr "el símbol «%.*s» no es troba al mapa de caràcters" + +-#: locale/programs/linereader.c:837 ++#: locale/programs/linereader.c:836 + #, c-format + msgid "symbol `%.*s' not in repertoire map" + msgstr "el símbol «%.*s» no es troba al mapa de repertori" + +-#: locale/programs/locale-spec.c:131 ++#: locale/programs/locale-spec.c:130 + #, c-format + msgid "unknown name \"%s\"" + msgstr "el nom «%s» no és conegut" +@@ -2648,33 +2751,33 @@ + msgid "Cannot set LC_ALL to default locale" + msgstr "no s’ha pogut establir LC_ALL al locale per defecte" + +-#: locale/programs/locale.c:518 ++#: locale/programs/locale.c:521 + #, c-format + msgid "while preparing output" + msgstr "en preparar l’eixida" + + # Més ajudes. ivb +-#: locale/programs/localedef.c:120 ++#: locale/programs/localedef.c:119 + msgid "Input Files:" + msgstr "Fitxers d’entrada:" + +-#: locale/programs/localedef.c:122 ++#: locale/programs/localedef.c:121 + msgid "Symbolic character names defined in FILE" + msgstr "Els noms simbòlics dels caràcters es defineixen al FITXER." + +-#: locale/programs/localedef.c:123 ++#: locale/programs/localedef.c:122 + msgid "Source definitions are found in FILE" + msgstr "Les definicions font es troben al FITXER." + +-#: locale/programs/localedef.c:125 ++#: locale/programs/localedef.c:124 + msgid "FILE contains mapping from symbolic names to UCS4 values" + msgstr "El FITXER conté un mapa de noms simbòlics a valors UCS4." + +-#: locale/programs/localedef.c:129 ++#: locale/programs/localedef.c:128 + msgid "Create output even if warning messages were issued" + msgstr "Crea fitxers d’eixida encara que s’hagen emès missatges d’avís." + +-#: locale/programs/localedef.c:130 ++#: locale/programs/localedef.c:129 + msgid "Create old-style tables" + msgstr "Crea taules de l’estil antic." + +@@ -2682,57 +2785,57 @@ + # ivb Localedef crea diversos fitxers en un directori: és plural. + # ivb Però, el prefix és un prefix d'un camí, com «/usr/local» en + # ivb «/usr/local/share/doc». +-#: locale/programs/localedef.c:131 ++#: locale/programs/localedef.c:130 + msgid "Optional output file prefix" + msgstr "Prefix opcional dels fitxers d’eixida." + +-#: locale/programs/localedef.c:132 ++#: locale/programs/localedef.c:131 + msgid "Be strictly POSIX conform" + msgstr "S’ajusta estrictament a POSIX." + +-#: locale/programs/localedef.c:134 ++#: locale/programs/localedef.c:133 + msgid "Suppress warnings and information messages" + msgstr "Descarta els avisos i els missatges informatius." + +-#: locale/programs/localedef.c:135 ++#: locale/programs/localedef.c:134 + msgid "Print more messages" + msgstr "Mostra més missatges." + +-#: locale/programs/localedef.c:136 ++#: locale/programs/localedef.c:135 + msgid "Archive control:" + msgstr "Control d’arxius:" + +-#: locale/programs/localedef.c:138 ++#: locale/programs/localedef.c:137 + msgid "Don't add new data to archive" + msgstr "No afegeix dades noves a l’arxiu." + +-#: locale/programs/localedef.c:140 ++#: locale/programs/localedef.c:139 + msgid "Add locales named by parameters to archive" + msgstr "Afegeix a l’arxiu els locales esmentats pels paràmetres." + +-#: locale/programs/localedef.c:141 ++#: locale/programs/localedef.c:140 + msgid "Replace existing archive content" + msgstr "Reemplaça el contingut existent a l’arxiu." + +-#: locale/programs/localedef.c:143 ++#: locale/programs/localedef.c:142 + msgid "Remove locales named by parameters from archive" + msgstr "Elimina de l’arxiu els locales esmentats pels paràmetres." + +-#: locale/programs/localedef.c:144 ++#: locale/programs/localedef.c:143 + msgid "List content of archive" + msgstr "Llista el contingut de l’arxiu." + +-#: locale/programs/localedef.c:146 ++#: locale/programs/localedef.c:145 + msgid "locale.alias file to consult when making archive" + msgstr "Fitxer «locale.alias» a consultar en crear l’arxiu." + + # ivb (2001/10/28) + # ivb Pose el punt final pq és la descripció curta de l'ordre. +-#: locale/programs/localedef.c:151 ++#: locale/programs/localedef.c:150 + msgid "Compile locale specification" + msgstr "Compiŀla una especificació de locale." + +-#: locale/programs/localedef.c:154 ++#: locale/programs/localedef.c:153 + msgid "" + "NAME\n" + "[--add-to-archive|--delete-from-archive] FILE...\n" +@@ -2742,28 +2845,28 @@ + "[--add-to-archive | --delete-from-archive] FITXER…\n" + "--list-archive [FITXER]" + +-#: locale/programs/localedef.c:232 ++#: locale/programs/localedef.c:228 + #, c-format + msgid "cannot create directory for output files" + msgstr "no s’ha pogut crear el directori per als fitxers d’eixida" + +-#: locale/programs/localedef.c:243 ++#: locale/programs/localedef.c:239 + #, c-format + msgid "FATAL: system does not define `_POSIX2_LOCALEDEF'" + msgstr "FATAL: el sistema no defineix «_POSIX2_LOCALEDEF»" + +-#: locale/programs/localedef.c:257 locale/programs/localedef.c:273 +-#: locale/programs/localedef.c:599 locale/programs/localedef.c:619 ++#: locale/programs/localedef.c:253 locale/programs/localedef.c:269 ++#: locale/programs/localedef.c:601 locale/programs/localedef.c:621 + #, c-format + msgid "cannot open locale definition file `%s'" + msgstr "no s’ha pogut obrir el fitxer «%s» de definició del locale" + +-#: locale/programs/localedef.c:285 ++#: locale/programs/localedef.c:281 + #, c-format + msgid "cannot write output files to `%s'" + msgstr "no s’han pogut escriure els fitxers d’eixida a «%s»" + +-#: locale/programs/localedef.c:366 ++#: locale/programs/localedef.c:367 + #, c-format + msgid "" + "System's directory for character maps : %s\n" +@@ -2776,214 +2879,215 @@ + " camí als locales : %s\n" + "%s" + +-#: locale/programs/localedef.c:567 ++#: locale/programs/localedef.c:569 + #, c-format + msgid "circular dependencies between locale definitions" + msgstr "hi ha dependències circulars entre les definicions dels locales" + +-#: locale/programs/localedef.c:573 ++#: locale/programs/localedef.c:575 + #, c-format + msgid "cannot add already read locale `%s' a second time" + msgstr "no es pot afegir una altra volta el locale ja llegit «%s»" + +-#: locale/programs/locarchive.c:92 locale/programs/locarchive.c:338 ++#: locale/programs/locarchive.c:113 locale/programs/locarchive.c:347 ++#: nss/makedb.c:290 + #, c-format + msgid "cannot create temporary file" + msgstr "no s’ha pogut crear un fitxer temporal" + +-#: locale/programs/locarchive.c:122 locale/programs/locarchive.c:384 ++#: locale/programs/locarchive.c:143 locale/programs/locarchive.c:393 + #, c-format + msgid "cannot initialize archive file" + msgstr "no s’ha pogut iniciar el fitxer arxiu" + +-#: locale/programs/locarchive.c:129 locale/programs/locarchive.c:391 ++#: locale/programs/locarchive.c:150 locale/programs/locarchive.c:400 + #, c-format + msgid "cannot resize archive file" + msgstr "no s’ha pogut redimensionar el fitxer arxiu" + +-#: locale/programs/locarchive.c:152 locale/programs/locarchive.c:414 +-#: locale/programs/locarchive.c:633 ++#: locale/programs/locarchive.c:163 locale/programs/locarchive.c:413 ++#: locale/programs/locarchive.c:619 + #, c-format + msgid "cannot map archive header" + msgstr "no s’ha pogut mapar la capçalera de l’arxiu" + + # ivb (2002/10/21) + # ivb Un «locale archive» conté diversos locales -> «arxiu de locales». +-#: locale/programs/locarchive.c:174 ++#: locale/programs/locarchive.c:185 + #, c-format + msgid "failed to create new locale archive" + msgstr "no s’ha pogut crear el nou arxiu de locales" + +-#: locale/programs/locarchive.c:186 ++#: locale/programs/locarchive.c:197 + #, c-format + msgid "cannot change mode of new locale archive" + msgstr "no s’ha pogut canviar el mode del nou arxiu de locales" + +-#: locale/programs/locarchive.c:285 ++#: locale/programs/locarchive.c:296 + #, c-format + msgid "cannot read data from locale archive" + msgstr "no s’han pogut llegir les dades de l’arxiu de locales" + +-#: locale/programs/locarchive.c:318 ++#: locale/programs/locarchive.c:327 + #, c-format + msgid "cannot map locale archive file" + msgstr "no s’ha pogut mapar el fitxer arxiu de locales" + +-#: locale/programs/locarchive.c:422 ++#: locale/programs/locarchive.c:421 + #, c-format + msgid "cannot lock new archive" + msgstr "no s’ha pogut blocar el nou arxiu" + +-#: locale/programs/locarchive.c:488 ++#: locale/programs/locarchive.c:485 + #, c-format + msgid "cannot extend locale archive file" + msgstr "no s’ha pogut estendre el fitxer arxiu de locales" + +-#: locale/programs/locarchive.c:497 ++#: locale/programs/locarchive.c:494 + #, c-format + msgid "cannot change mode of resized locale archive" + msgstr "no s’ha pogut canviar el mode de l’arxiu de locales redimensionat" + +-#: locale/programs/locarchive.c:505 ++#: locale/programs/locarchive.c:502 + #, c-format + msgid "cannot rename new archive" + msgstr "no s’ha pogut reanomenar el nou arxiu" + +-#: locale/programs/locarchive.c:558 ++#: locale/programs/locarchive.c:555 + #, c-format + msgid "cannot open locale archive \"%s\"" + msgstr "no s’ha pogut obrir l’arxiu «%s» de locales" + +-#: locale/programs/locarchive.c:563 ++#: locale/programs/locarchive.c:560 + #, c-format + msgid "cannot stat locale archive \"%s\"" + msgstr "ha fallat stat() sobre l’arxiu «%s» de locales" + +-#: locale/programs/locarchive.c:582 ++#: locale/programs/locarchive.c:579 + #, c-format + msgid "cannot lock locale archive \"%s\"" + msgstr "no s’ha pogut blocar l’arxiu «%s» de locales" + +-#: locale/programs/locarchive.c:605 ++#: locale/programs/locarchive.c:602 + #, c-format + msgid "cannot read archive header" + msgstr "no s’ha pogut llegir la capçalera de l’arxiu" + +-#: locale/programs/locarchive.c:680 ++#: locale/programs/locarchive.c:666 + #, c-format + msgid "locale '%s' already exists" + msgstr "el locale «%s» ja existeix" + +-#: 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 ++#: locale/programs/locarchive.c:928 locale/programs/locarchive.c:943 ++#: locale/programs/locarchive.c:955 locale/programs/locarchive.c:967 ++#: locale/programs/locfile.c:343 + #, c-format + msgid "cannot add to locale archive" + msgstr "no s’ha pogut afegir a l’arxiu de locales" + + # ivb (2002/10/21) + # ivb El fitxer conté àlies de diversos locales (locale.alias). +-#: locale/programs/locarchive.c:1139 ++#: locale/programs/locarchive.c:1125 + #, c-format + msgid "locale alias file `%s' not found" + msgstr "no s’ha trobat el fitxer «%s» d’àlies de locales" + + # ivb (2002/10/21) + # ivb És un missatge, no un error. +-#: locale/programs/locarchive.c:1289 ++#: locale/programs/locarchive.c:1275 + #, c-format + msgid "Adding %s\n" + msgstr "S’està afegint «%s»\n" + +-#: locale/programs/locarchive.c:1295 ++#: locale/programs/locarchive.c:1281 + #, c-format + msgid "stat of \"%s\" failed: %s: ignored" + msgstr "ha fallat stat() sobre «%s»: %s: es descarta" + +-#: locale/programs/locarchive.c:1301 ++#: locale/programs/locarchive.c:1287 + #, c-format + msgid "\"%s\" is no directory; ignored" + msgstr "«%s» no és un directori: es descarta" + +-#: locale/programs/locarchive.c:1308 ++#: locale/programs/locarchive.c:1294 + #, c-format + msgid "cannot open directory \"%s\": %s: ignored" + msgstr "no s’ha pogut obrir el directori «%s»: %s: es descarta" + +-#: locale/programs/locarchive.c:1380 ++#: locale/programs/locarchive.c:1366 + #, c-format + msgid "incomplete set of locale files in \"%s\"" + msgstr "el joc de fitxers de locale a «%s» no és complet" + +-#: locale/programs/locarchive.c:1444 ++#: locale/programs/locarchive.c:1430 + #, c-format + msgid "cannot read all files in \"%s\": ignored" + msgstr "no s’han pogut llegir tots els fitxers de «%s»: es descarta" + +-#: locale/programs/locarchive.c:1514 ++#: locale/programs/locarchive.c:1500 + #, c-format + msgid "locale \"%s\" not in archive" + msgstr "el locale «%s» no es troba a l’arxiu" + +-#: locale/programs/locfile.c:132 ++#: locale/programs/locfile.c:131 + #, c-format + msgid "argument to `%s' must be a single character" + msgstr "l’argument de «%s» ha de ser un sol caràcter" + +-#: locale/programs/locfile.c:252 ++#: locale/programs/locfile.c:251 + msgid "syntax error: not inside a locale definition section" + msgstr "error de sintaxi: no és a dins d’una secció de definició de locale" + +-#: locale/programs/locfile.c:626 ++#: locale/programs/locfile.c:625 + #, c-format + msgid "cannot open output file `%s' for category `%s'" + msgstr "no s’ha pogut obrir el fitxer d’eixida «%s» de la categoria «%s»" + +-#: locale/programs/locfile.c:650 ++#: locale/programs/locfile.c:649 + #, c-format + msgid "failure while writing data for category `%s'" + msgstr "no s’han pogut escriure les dades de la categoria «%s»" + +-#: locale/programs/locfile.c:746 ++#: locale/programs/locfile.c:745 + #, c-format + msgid "cannot create output file `%s' for category `%s'" + msgstr "no s’ha pogut crear el fitxer d’eixida «%s» de la categoria «%s»" + +-#: locale/programs/locfile.c:782 ++#: locale/programs/locfile.c:781 + msgid "expecting string argument for `copy'" + msgstr "cal una cadena com a argument de «copy»" + +-#: locale/programs/locfile.c:786 ++#: locale/programs/locfile.c:785 + msgid "locale name should consist only of portable characters" + msgstr "el nom del locale només ha de contenir caràcters portables" + +-#: locale/programs/locfile.c:805 ++#: locale/programs/locfile.c:804 + msgid "no other keyword shall be specified when `copy' is used" + msgstr "no s’ha d’indicar cap altra paraula clau quan s’empre «copy»" + +-#: locale/programs/locfile.c:819 ++#: locale/programs/locfile.c:818 + #, c-format + msgid "`%1$s' definition does not end with `END %1$s'" + msgstr "la definició «%1$s» no acaba en «END %1$s»" + +-#: locale/programs/repertoire.c:229 locale/programs/repertoire.c:270 +-#: locale/programs/repertoire.c:295 ++#: locale/programs/repertoire.c:228 locale/programs/repertoire.c:269 ++#: locale/programs/repertoire.c:294 + #, c-format + msgid "syntax error in repertoire map definition: %s" + msgstr "error de sintaxi a la definició del mapa de repertori: %s" + +-#: locale/programs/repertoire.c:271 ++#: locale/programs/repertoire.c:270 + msgid "no <Uxxxx> or <Uxxxxxxxx> value given" + msgstr "no s’ha especificat un valor <Uxxxx> o <Uxxxxxxxx>" + + # ivb (2001/11/05) + # ivb Apareix quan no es troba el repertori en un arbre de repertoris. +-#: locale/programs/repertoire.c:331 ++#: locale/programs/repertoire.c:330 + #, c-format + msgid "cannot save new repertoire map" + msgstr "no s’ha pogut afegir el nou mapa de repertori" + +-#: locale/programs/repertoire.c:342 ++#: locale/programs/repertoire.c:341 + #, c-format + msgid "repertoire map file `%s' not found" + msgstr "no s’ha trobat el fitxer «%s» de mapa de repertori" +@@ -2993,7 +3097,7 @@ + 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 "Estableix el propietari, grup i permissos d’accés del pseudo‐terminal esclau corresponent al pseudo‐terminal mestre passat en el descriptor de fitxer %d. Aquest és el programa auxiliar per a la funció grantpt(), i no està pensat per a ser executat directament des de la línia d’ordres.\n" + +-#: login/programs/pt_chown.c:88 ++#: login/programs/pt_chown.c:92 + #, c-format + msgid "" + "The owner is set to the current user, the group is set to `%s', and the access permission is set to `%o'.\n" +@@ -3004,41 +3108,41 @@ + "\n" + "%s" + +-#: login/programs/pt_chown.c:192 ++#: login/programs/pt_chown.c:198 + #, c-format + msgid "too many arguments" + msgstr "sobren arguments" + +-#: login/programs/pt_chown.c:200 ++#: login/programs/pt_chown.c:206 + #, c-format + msgid "needs to be installed setuid `root'" + msgstr "ha d’estar instaŀlat amb setuid a «root»" + +-#: malloc/mcheck.c:350 ++#: malloc/mcheck.c:348 + msgid "memory is consistent, library is buggy\n" + msgstr "la memòria és consistent; la biblioteca té errors\n" + +-#: malloc/mcheck.c:353 ++#: malloc/mcheck.c:351 + msgid "memory clobbered before allocated block\n" + msgstr "s’ha sobreescrit la memòria d’abans del bloc reservat\n" + +-#: malloc/mcheck.c:356 ++#: malloc/mcheck.c:354 + msgid "memory clobbered past end of allocated block\n" + msgstr "s’ha sobreescrit la memòria de després del bloc reservat\n" + +-#: malloc/mcheck.c:359 ++#: malloc/mcheck.c:357 + msgid "block freed twice\n" + msgstr "s’ha alliberat el bloc dues voltes\n" + +-#: malloc/mcheck.c:362 ++#: malloc/mcheck.c:360 + msgid "bogus mcheck_status, library is buggy\n" + msgstr "el valor d’«mcheck_status» és estrany; la biblioteca té errors\n" + +-#: malloc/memusage.sh:33 ++#: malloc/memusage.sh:32 + msgid "%s: option '%s' requires an argument\\n" + msgstr "%s: l’opció «%s» necessita un argument\\n" + +-#: malloc/memusage.sh:39 ++#: malloc/memusage.sh:38 + msgid "" + "Usage: memusage [OPTION]... PROGRAM [PROGRAMOPTION]...\n" + "Profile memory usage of PROGRAM.\n" +@@ -3093,7 +3197,7 @@ + "opcions curtes corresponents.\n" + "\n" + +-#: malloc/memusage.sh:101 ++#: malloc/memusage.sh:99 + msgid "" + "Syntax: memusage [--data=FILE] [--progname=NAME] [--png=FILE] [--unbuffered]\n" + "\t [--buffer=SIZE] [--no-timer] [--time-based] [--total]\n" +@@ -3105,60 +3209,60 @@ + " [--total] [--title=CADENA] [--x-size=MIDA] [--y-size=MIDA]\n" + " PROGRAMA [OPCIÓ_DE_PROGRAMA]…" + +-#: malloc/memusage.sh:193 ++#: malloc/memusage.sh:191 + msgid "memusage: option \\`${1##*=}' is ambiguous" + msgstr "memusage: l’opció «${1##*=}» és ambígua" + +-#: malloc/memusage.sh:202 ++#: malloc/memusage.sh:200 + msgid "memusage: unrecognized option \\`$1'" + msgstr "memusage: l’opció «$1» no és reconeguda" + +-#: malloc/memusage.sh:215 ++#: malloc/memusage.sh:213 + msgid "No program name given" + msgstr "No s’ha indicat un nom de programa" + + # Més ajudes. ivb +-#: malloc/memusagestat.c:57 ++#: malloc/memusagestat.c:55 + msgid "Name output file" + msgstr "Especifica el fitxer d’eixida." + +-#: malloc/memusagestat.c:58 ++#: malloc/memusagestat.c:56 + msgid "Title string used in output graphic" + msgstr "Cadena amb el títol a emprar al gràfic d’eixida." + +-#: malloc/memusagestat.c:59 ++#: malloc/memusagestat.c:57 + msgid "Generate output linear to time (default is linear to number of function calls)" + msgstr "Genera una eixida lineal respecte el temps (per defecte és lineal respecte el nombre de crides a funció)." + +-#: malloc/memusagestat.c:61 ++#: malloc/memusagestat.c:59 + msgid "Also draw graph for total memory consumption" + msgstr "També mostra un gràfic del consum total de memòria." + +-#: malloc/memusagestat.c:62 ++#: malloc/memusagestat.c:60 + msgid "Make output graphic VALUE pixels wide" + msgstr "Fa el gràfic d’eixida de VALOR píxels d’amplada." + +-#: malloc/memusagestat.c:63 ++#: malloc/memusagestat.c:61 + msgid "Make output graphic VALUE pixels high" + msgstr "Fa el gràfic d’eixida de VALOR píxels d’altura." + +-#: malloc/memusagestat.c:68 ++#: malloc/memusagestat.c:66 + msgid "Generate graphic from memory profiling data" + msgstr "Genera un gràfic amb les dades de perfilat de memòria." + +-#: malloc/memusagestat.c:71 ++#: malloc/memusagestat.c:69 + msgid "DATAFILE [OUTFILE]" + msgstr "FITXER_DADES [FITXER_EIXIDA]" + +-#: misc/error.c:118 ++#: misc/error.c:117 + msgid "Unknown system error" + msgstr "error desconegut del sistema" + +-#: nis/nis_callback.c:189 ++#: nis/nis_callback.c:188 + msgid "unable to free arguments" + msgstr "no s’han pogut alliberar els arguments" + +-#: nis/nis_error.h:1 nis/ypclnt.c:833 nis/ypclnt.c:921 posix/regcomp.c:132 ++#: nis/nis_error.h:1 nis/ypclnt.c:832 nis/ypclnt.c:920 posix/regcomp.c:131 + #: sysdeps/gnu/errlist.c:20 + msgid "Success" + msgstr "Èxit" +@@ -3200,7 +3304,7 @@ + msgstr "S’ha trencat la cadena de primer/següent" + + #. TRANS Permission denied; the file permissions do not allow the attempted operation. +-#: nis/nis_error.h:11 nis/ypclnt.c:878 sysdeps/gnu/errlist.c:157 ++#: nis/nis_error.h:11 nis/ypclnt.c:877 sysdeps/gnu/errlist.c:157 + msgid "Permission denied" + msgstr "S’ha denegat el permís" + +@@ -3356,138 +3460,138 @@ + msgid "Master server busy, full dump rescheduled." + msgstr "El servidor mestre es troba ocupat, es replanifica el bolcat complet" + +-#: nis/nis_local_names.c:122 ++#: nis/nis_local_names.c:121 + #, c-format + msgid "LOCAL entry for UID %d in directory %s not unique\n" + msgstr "L’entrada LOCAL de l’UID %d al directori «%s» no és única\n" + + # ivb (2001/10/30) + # ivb Crec que es refereix a un tipus de servei de noms -> masculí. +-#: nis/nis_print.c:51 ++#: nis/nis_print.c:50 + msgid "UNKNOWN" + msgstr "DESCONEGUT" + + # ivb (2001/11/01) + # ivb D'acord amb «nis/rpcsvc/nis_object.x». +-#: nis/nis_print.c:109 ++#: nis/nis_print.c:108 + msgid "BOGUS OBJECT\n" + msgstr "OBJECTE NO INICIAT\n" + +-#: nis/nis_print.c:112 ++#: nis/nis_print.c:111 + msgid "NO OBJECT\n" + msgstr "CAP OBJECTE\n" + +-#: nis/nis_print.c:115 ++#: nis/nis_print.c:114 + msgid "DIRECTORY\n" + msgstr "DIRECTORI\n" + +-#: nis/nis_print.c:118 ++#: nis/nis_print.c:117 + msgid "GROUP\n" + msgstr "GRUP\n" + +-#: nis/nis_print.c:121 ++#: nis/nis_print.c:120 + msgid "TABLE\n" + msgstr "TAULA\n" + +-#: nis/nis_print.c:124 ++#: nis/nis_print.c:123 + msgid "ENTRY\n" + msgstr "ENTRADA\n" + +-#: nis/nis_print.c:127 ++#: nis/nis_print.c:126 + msgid "LINK\n" + msgstr "ENLLAÇ\n" + +-#: nis/nis_print.c:130 ++#: nis/nis_print.c:129 + msgid "PRIVATE\n" + msgstr "PRIVAT\n" + +-#: nis/nis_print.c:133 ++#: nis/nis_print.c:132 + msgid "(Unknown object)\n" + msgstr "(Objecte desconegut)\n" + +-#: nis/nis_print.c:167 ++#: nis/nis_print.c:166 + #, c-format + msgid "Name : `%s'\n" + msgstr "Nom : «%s»\n" + +-#: nis/nis_print.c:168 ++#: nis/nis_print.c:167 + #, c-format + msgid "Type : %s\n" + msgstr "Tipus : %s\n" + +-#: nis/nis_print.c:173 ++#: nis/nis_print.c:172 + msgid "Master Server :\n" + msgstr "Servidor mestre :\n" + + # ivb (2001/10/28) + # ivb Es refereix a un servidor rèplica, no a replicar. +-#: nis/nis_print.c:175 ++#: nis/nis_print.c:174 + msgid "Replicate :\n" + msgstr "Rèplica :\n" + +-#: nis/nis_print.c:176 ++#: nis/nis_print.c:175 + #, c-format + msgid "\tName : %s\n" + msgstr "\tNom : %s\n" + +-#: nis/nis_print.c:177 ++#: nis/nis_print.c:176 + msgid "\tPublic Key : " + msgstr "\tClau pública: " + +-#: nis/nis_print.c:181 ++#: nis/nis_print.c:180 + msgid "None.\n" + msgstr "Cap.\n" + + # ivb (2001/10/28) + # ivb Xicoteta diferència-Home de l'infern ;) +-#: nis/nis_print.c:184 ++#: nis/nis_print.c:183 + #, c-format + msgid "Diffie-Hellmann (%d bits)\n" + msgstr "Diffie‐Hellmann (%d bits)\n" + +-#: nis/nis_print.c:189 ++#: nis/nis_print.c:188 + #, c-format + msgid "RSA (%d bits)\n" + msgstr "RSA (%d bits)\n" + +-#: nis/nis_print.c:192 ++#: nis/nis_print.c:191 + msgid "Kerberos.\n" + msgstr "Kerberos.\n" + + # ivb (2001/10/30) + # ivb Es refereix a una clau pública -> femení. +-#: nis/nis_print.c:195 ++#: nis/nis_print.c:194 + #, c-format + msgid "Unknown (type = %d, bits = %d)\n" + msgstr "Desconeguda (tipus = %d, bits = %d)\n" + +-#: nis/nis_print.c:206 ++#: nis/nis_print.c:205 + #, c-format + msgid "\tUniversal addresses (%u)\n" + msgstr "\tAdreces universals (%u)\n" + +-#: nis/nis_print.c:228 ++#: nis/nis_print.c:227 + msgid "Time to live : " + msgstr "Temps de vida : " + +-#: nis/nis_print.c:230 ++#: nis/nis_print.c:229 + msgid "Default Access rights :\n" + msgstr "Drets d’accés per defecte :\n" + +-#: nis/nis_print.c:239 ++#: nis/nis_print.c:238 + #, c-format + msgid "\tType : %s\n" + msgstr "\tTipus : %s\n" + +-#: nis/nis_print.c:240 ++#: nis/nis_print.c:239 + msgid "\tAccess rights: " + msgstr "\tDrets d’accés: " + +-#: nis/nis_print.c:254 ++#: nis/nis_print.c:253 + msgid "Group Flags :" + msgstr "Senyaladors del grup :" + +-#: nis/nis_print.c:257 ++#: nis/nis_print.c:256 + msgid "" + "\n" + "Group Members :\n" +@@ -3495,12 +3599,12 @@ + "\n" + "Membres del grup :\n" + +-#: nis/nis_print.c:269 ++#: nis/nis_print.c:268 + #, c-format + msgid "Table Type : %s\n" + msgstr "Tipus de taula : %s\n" + +-#: nis/nis_print.c:270 ++#: nis/nis_print.c:269 + #, c-format + msgid "Number of Columns : %d\n" + msgstr "Nombre de columnes : %d\n" +@@ -3508,85 +3612,85 @@ + # ivb (2000/10/28) + # ivb Açò és correcte segons nis/rpcsvc/nis_object.x, és «caràcter + # ivb separador» i no «separador de caràcters». +-#: nis/nis_print.c:271 ++#: nis/nis_print.c:270 + #, c-format + msgid "Character Separator : %c\n" + msgstr "Caràcter separador : %c\n" + +-#: nis/nis_print.c:272 ++#: nis/nis_print.c:271 + #, c-format + msgid "Search Path : %s\n" + msgstr "Camí de cerca : %s\n" + +-#: nis/nis_print.c:273 ++#: nis/nis_print.c:272 + msgid "Columns :\n" + msgstr "Columnes :\n" + +-#: nis/nis_print.c:276 ++#: nis/nis_print.c:275 + #, c-format + msgid "\t[%d]\tName : %s\n" + msgstr "\t[%d]\tNom : %s\n" + +-#: nis/nis_print.c:278 ++#: nis/nis_print.c:277 + msgid "\t\tAttributes : " + msgstr "\t\tAtributs : " + +-#: nis/nis_print.c:280 ++#: nis/nis_print.c:279 + msgid "\t\tAccess Rights : " + msgstr "\t\tDrets d’accés : " + +-#: nis/nis_print.c:290 ++#: nis/nis_print.c:289 + msgid "Linked Object Type : " + msgstr "Tipus de l’objecte enllaçat : " + +-#: nis/nis_print.c:292 ++#: nis/nis_print.c:291 + #, c-format + msgid "Linked to : %s\n" + msgstr "Enllaçat amb : %s\n" + +-#: nis/nis_print.c:302 ++#: nis/nis_print.c:301 + #, c-format + msgid "\tEntry data of type %s\n" + msgstr "\tDades de l’entrada de tipus «%s»\n" + +-#: nis/nis_print.c:305 ++#: nis/nis_print.c:304 + #, c-format + msgid "\t[%u] - [%u bytes] " + msgstr "\t[%u] — [%u octets] " + +-#: nis/nis_print.c:308 ++#: nis/nis_print.c:307 + msgid "Encrypted data\n" + msgstr "Dades xifrades\n" + +-#: nis/nis_print.c:310 ++#: nis/nis_print.c:309 + msgid "Binary data\n" + msgstr "Dades binàries\n" + +-#: nis/nis_print.c:326 ++#: nis/nis_print.c:325 + #, c-format + msgid "Object Name : %s\n" + msgstr "Nom de l’objecte : %s\n" + +-#: nis/nis_print.c:327 ++#: nis/nis_print.c:326 + #, c-format + msgid "Directory : %s\n" + msgstr "Directori : %s\n" + +-#: nis/nis_print.c:328 ++#: nis/nis_print.c:327 + #, c-format + msgid "Owner : %s\n" + msgstr "Propietari : %s\n" + +-#: nis/nis_print.c:329 ++#: nis/nis_print.c:328 + #, c-format + msgid "Group : %s\n" + msgstr "Grup : %s\n" + +-#: nis/nis_print.c:330 ++#: nis/nis_print.c:329 + msgid "Access Rights : " + msgstr "Drets d’accés : " + +-#: nis/nis_print.c:332 ++#: nis/nis_print.c:331 + #, c-format + msgid "" + "\n" +@@ -3595,36 +3699,36 @@ + "\n" + "Temps de vida : " + +-#: nis/nis_print.c:335 ++#: nis/nis_print.c:334 + #, c-format + msgid "Creation Time : %s" + msgstr "Data de creació : %s" + +-#: nis/nis_print.c:337 ++#: nis/nis_print.c:336 + #, c-format + msgid "Mod. Time : %s" + msgstr "Data modificació : %s" + +-#: nis/nis_print.c:338 ++#: nis/nis_print.c:337 + msgid "Object Type : " + msgstr "Tipus d’objecte : " + +-#: nis/nis_print.c:358 ++#: nis/nis_print.c:357 + #, c-format + msgid " Data Length = %u\n" + msgstr " Longitud de les dades = %u\n" + +-#: nis/nis_print.c:372 ++#: nis/nis_print.c:371 + #, c-format + msgid "Status : %s\n" + msgstr "Estat : %s\n" + +-#: nis/nis_print.c:373 ++#: nis/nis_print.c:372 + #, c-format + msgid "Number of objects : %u\n" + msgstr "Nombre d’objectes : %u\n" + +-#: nis/nis_print.c:377 ++#: nis/nis_print.c:376 + #, c-format + msgid "Object #%d:\n" + msgstr "Objecte #%d:\n" +@@ -3682,279 +3786,287 @@ + msgid " No recursive nonmembers\n" + msgstr " No hi ha no‐membres recursius.\n" + +-#: nis/nss_nisplus/nisplus-publickey.c:101 +-#: nis/nss_nisplus/nisplus-publickey.c:183 ++#: nis/nss_nisplus/nisplus-publickey.c:100 ++#: nis/nss_nisplus/nisplus-publickey.c:182 + #, c-format + msgid "DES entry for netname %s not unique\n" + msgstr "l’entrada DES per al nom de xarxa «%s» no és única\n" + +-#: nis/nss_nisplus/nisplus-publickey.c:220 ++#: nis/nss_nisplus/nisplus-publickey.c:219 + #, c-format + msgid "netname2user: missing group id list in `%s'" + msgstr "netname2user: manca la llista d’identificadors de grup a «%s»." + +-#: nis/nss_nisplus/nisplus-publickey.c:302 +-#: nis/nss_nisplus/nisplus-publickey.c:308 +-#: nis/nss_nisplus/nisplus-publickey.c:373 +-#: nis/nss_nisplus/nisplus-publickey.c:382 ++#: nis/nss_nisplus/nisplus-publickey.c:301 ++#: nis/nss_nisplus/nisplus-publickey.c:307 ++#: nis/nss_nisplus/nisplus-publickey.c:372 ++#: nis/nss_nisplus/nisplus-publickey.c:381 + #, c-format + msgid "netname2user: (nis+ lookup): %s\n" + msgstr "netname2user: (cerca nis+): %s\n" + +-#: nis/nss_nisplus/nisplus-publickey.c:321 ++#: nis/nss_nisplus/nisplus-publickey.c:320 + #, c-format + msgid "netname2user: DES entry for %s in directory %s not unique" + msgstr "netname2user: l’entrada DES de «%s» al directori «%s» no és única" + +-#: nis/nss_nisplus/nisplus-publickey.c:339 ++#: nis/nss_nisplus/nisplus-publickey.c:338 + #, c-format + msgid "netname2user: principal name `%s' too long" + msgstr "netname2user: el nom principal «%s» és massa llarg" + +-#: nis/nss_nisplus/nisplus-publickey.c:395 ++#: nis/nss_nisplus/nisplus-publickey.c:394 + #, c-format + msgid "netname2user: LOCAL entry for %s in directory %s not unique" + msgstr "netname2user: l’entrada LOCAL de «%s» al directori «%s» no és única" + +-#: nis/nss_nisplus/nisplus-publickey.c:402 ++#: nis/nss_nisplus/nisplus-publickey.c:401 + msgid "netname2user: should not have uid 0" + msgstr "netname2user: no ha de tenir l’UID 0" + +-#: nis/ypclnt.c:836 ++#: nis/ypclnt.c:835 + msgid "Request arguments bad" + msgstr "Els arguments de la petició són incorrectes" + +-#: nis/ypclnt.c:839 ++#: nis/ypclnt.c:838 + msgid "RPC failure on NIS operation" + msgstr "El procediment RPC ha fallat en una operació NIS" + +-#: nis/ypclnt.c:842 ++#: nis/ypclnt.c:841 + msgid "Can't bind to server which serves this domain" + msgstr "No s’ha pogut enllaçar amb el servidor d’aquest domini" + +-#: nis/ypclnt.c:845 ++#: nis/ypclnt.c:844 + msgid "No such map in server's domain" + msgstr "El mapa no és al domini del servidor" + +-#: nis/ypclnt.c:848 ++#: nis/ypclnt.c:847 + msgid "No such key in map" + msgstr "La clau no és al mapa" + +-#: nis/ypclnt.c:851 ++#: nis/ypclnt.c:850 + msgid "Internal NIS error" + msgstr "Error intern de NIS" + +-#: nis/ypclnt.c:854 ++#: nis/ypclnt.c:853 + msgid "Local resource allocation failure" + msgstr "No s’ha pogut assignar un recurs local" + +-#: nis/ypclnt.c:857 ++#: nis/ypclnt.c:856 + msgid "No more records in map database" + msgstr "No hi ha més registres a la base de dades del mapa" + +-#: nis/ypclnt.c:860 ++#: nis/ypclnt.c:859 + msgid "Can't communicate with portmapper" + msgstr "No s’ha pogut comunicar amb el mapador de ports" + +-#: nis/ypclnt.c:863 ++#: nis/ypclnt.c:862 + msgid "Can't communicate with ypbind" + msgstr "No s’ha pogut comunicar amb «ypbind»" + +-#: nis/ypclnt.c:866 ++#: nis/ypclnt.c:865 + msgid "Can't communicate with ypserv" + msgstr "No s’ha pogut comunicar amb «ypserv»" + +-#: nis/ypclnt.c:869 ++#: nis/ypclnt.c:868 + msgid "Local domain name not set" + msgstr "No s’ha establert nom del domini local" + +-#: nis/ypclnt.c:872 ++#: nis/ypclnt.c:871 + msgid "NIS map database is bad" + msgstr "La base de dades de mapes NIS és feta malbé" + +-#: nis/ypclnt.c:875 ++#: nis/ypclnt.c:874 + msgid "NIS client/server version mismatch - can't supply service" + msgstr "Les versions de client i servidor NIS difereixen; no es pot donar servei" + +-#: nis/ypclnt.c:881 ++#: nis/ypclnt.c:880 + msgid "Database is busy" + msgstr "La base de dades es troba ocupada" + +-#: nis/ypclnt.c:884 ++#: nis/ypclnt.c:883 + msgid "Unknown NIS error code" + msgstr "Codi d’error desconegut de NIS" + +-#: nis/ypclnt.c:924 ++#: nis/ypclnt.c:923 + msgid "Internal ypbind error" + msgstr "Error intern d’«ypbind»" + +-#: nis/ypclnt.c:927 ++#: nis/ypclnt.c:926 + msgid "Domain not bound" + msgstr "El domini no és vinculat" + +-#: nis/ypclnt.c:930 ++#: nis/ypclnt.c:929 + msgid "System resource allocation failure" + msgstr "No s’han pogut assignar recursos del sistema" + +-#: nis/ypclnt.c:933 ++#: nis/ypclnt.c:932 + msgid "Unknown ypbind error" + msgstr "Error desconegut d’«ypbind»" + +-#: nis/ypclnt.c:974 ++#: nis/ypclnt.c:973 + msgid "yp_update: cannot convert host to netname\n" + msgstr "yp_update: no s’ha pogut convertir el nom d’estació a nom de xarxa\n" + +-#: nis/ypclnt.c:992 ++#: nis/ypclnt.c:991 + msgid "yp_update: cannot get server address\n" + msgstr "yp_update: no s’ha pogut obtenir l’adreça del servidor\n" + + # El nom de la base de dades s’usa més a sovint que la descripció. ivb +-#: nscd/aicache.c:83 nscd/hstcache.c:492 ++#: nscd/aicache.c:82 nscd/hstcache.c:493 + #, c-format + msgid "Haven't found \"%s\" in hosts cache!" + msgstr "no s’ha trobat «%s» a la memòria cau de «hosts»" + + # El nom de la base de dades s’usa més a sovint que la descripció. ivb +-#: nscd/aicache.c:85 nscd/hstcache.c:494 ++#: nscd/aicache.c:84 nscd/hstcache.c:495 + #, c-format + msgid "Reloading \"%s\" in hosts cache!" + msgstr "es torna a carregar «%s» a la memòria cau de «hosts»" + + # La 2a. és de l’estil de «GETPWBYNAME», la 3a. com «passwd». ivb + # Al darrere pot anar « (first)» o no. ivb +-#: nscd/cache.c:150 ++#: nscd/cache.c:151 + #, c-format + msgid "add new entry \"%s\" of type %s for %s to cache%s" + msgstr "s’afegeix una nova entrada «%s» de tipus %s a la memòria cau de «%s»%s" + + # FIXME: language-dependent construct ivb + # Supose que vol dir «abans». ivb +-#: nscd/cache.c:152 ++#: nscd/cache.c:153 + msgid " (first)" + msgstr " (primer)" + +-#: nscd/cache.c:276 nscd/connections.c:861 ++#: nscd/cache.c:285 nscd/connections.c:1002 + #, c-format + msgid "cannot stat() file `%s': %s" + msgstr "ha fallat stat() sobre el fitxer «%s»: %s" + +-#: nscd/cache.c:318 ++#: nscd/cache.c:331 + #, c-format + msgid "pruning %s cache; time %ld" + msgstr "neteja de la memòria cau de «%s», hora %ld" + + # La 2a. és de l’estil de «GETPWBYNAME». ivb +-#: nscd/cache.c:347 ++#: nscd/cache.c:360 + #, c-format + msgid "considering %s entry \"%s\", timeout %<PRIu64>" + msgstr "es considera l’entrada %s «%s», expiració %<PRIu64>" + +-#: nscd/connections.c:565 ++#: nscd/connections.c:570 + #, c-format + msgid "invalid persistent database file \"%s\": %s" + msgstr "el fitxer de base de dades persistent «%s» no és vàlid: %s" + +-#: nscd/connections.c:573 ++#: nscd/connections.c:578 + msgid "uninitialized header" + msgstr "la capçalera no es troba iniciada" + +-#: nscd/connections.c:578 ++#: nscd/connections.c:583 + msgid "header size does not match" + msgstr "la mida de la capçalera no concorda" + +-#: nscd/connections.c:588 ++#: nscd/connections.c:593 + msgid "file size does not match" + msgstr "la mida del fitxer no concorda" + +-#: nscd/connections.c:605 ++#: nscd/connections.c:610 + msgid "verification failed" + msgstr "la verificació ha fallat" + +-#: nscd/connections.c:619 ++#: nscd/connections.c:624 + #, c-format + msgid "suggested size of table for database %s larger than the persistent database's table" + msgstr "la mida de taula suggerida per a la base de dades «%s» és major que la de la base de dades persistent" + +-#: nscd/connections.c:630 nscd/connections.c:715 ++#: nscd/connections.c:635 nscd/connections.c:720 + #, c-format + msgid "cannot create read-only descriptor for \"%s\"; no mmap" + msgstr "no s’ha pogut crear un descriptor de només lectura per a «%s»; no s’emprarà mmap()" + +-#: nscd/connections.c:646 ++#: nscd/connections.c:651 + #, c-format + msgid "cannot access '%s'" + msgstr "no s’ha pogut accedir a «%s»" + +-#: nscd/connections.c:694 ++#: nscd/connections.c:699 + #, c-format + msgid "database for %s corrupted or simultaneously used; remove %s manually if necessary and restart" + msgstr "la base de dades de «%s» està corrupta o sent emprada concurrentment; elimineu «%s» manualment si cal i reinicieu" + +-#: nscd/connections.c:701 ++#: nscd/connections.c:706 + #, c-format + msgid "cannot create %s; no persistent database used" + msgstr "no s’ha pogut crear «%s»; no s’emprarà una base de dades persistent" + +-#: nscd/connections.c:704 ++#: nscd/connections.c:709 + #, c-format + msgid "cannot create %s; no sharing possible" + msgstr "no s’ha pogut crear «%s»; no es podrà compartir" + +-#: nscd/connections.c:775 ++#: nscd/connections.c:780 + #, c-format + msgid "cannot write to database file %s: %s" + msgstr "no s’ha pogut escriure al fitxer de base de dades «%s»: %s" + +-#: nscd/connections.c:814 ++#: nscd/connections.c:819 + #, c-format + msgid "cannot set socket to close on exec: %s; disabling paranoia mode" + msgstr "no s’ha pogut indicar que el connector es tanque en fer exec(): %s; s’inhabilita el mode paranoic" + +-#: nscd/connections.c:897 ++#: nscd/connections.c:868 + #, c-format + msgid "cannot open socket: %s" + msgstr "no s’ha pogut obrir el connector: %s" + +-#: nscd/connections.c:917 ++#: nscd/connections.c:888 nscd/connections.c:952 + #, c-format + msgid "cannot change socket to nonblocking mode: %s" + msgstr "no s’ha pogut canviar el connector al mode no blocador: %s" + +-#: nscd/connections.c:925 ++#: nscd/connections.c:896 nscd/connections.c:962 + #, c-format + msgid "cannot set socket to close on exec: %s" + msgstr "no s’ha pogut indicar que el connector es tanque en fer exec(): %s" + +-#: nscd/connections.c:938 ++#: nscd/connections.c:909 + #, c-format + msgid "cannot enable socket to accept connections: %s" + msgstr "no s’ha pogut habilitar el connector per a acceptar connexions: %s" + +-#: nscd/connections.c:1039 ++# Cap usa quote(). ivb ++# Missatge de depuració. ivb ++# Allò traçat és el fitxer, segons el codi. ivb ++#: nscd/connections.c:986 + #, c-format ++msgid "register trace file %s for database %s" ++msgstr "es registra el fitxer traçat «%s» per a la base de dades «%s»" ++ ++#: nscd/connections.c:1116 ++#, c-format + msgid "provide access to FD %d, for %s" + msgstr "es proporciona accés al descriptor de fitxer %d, per a «%s»" + +-#: nscd/connections.c:1051 ++#: nscd/connections.c:1128 + #, c-format + msgid "cannot handle old request version %d; current version is %d" + msgstr "no s’ha pogut atendre la petició amb versió antiga %d; la versió actual és %d" + +-#: nscd/connections.c:1073 ++#: nscd/connections.c:1150 + #, c-format + msgid "request from %ld not handled due to missing permission" + msgstr "no s’atén la petició de %ld per manca de permissos" + +-#: nscd/connections.c:1078 ++#: nscd/connections.c:1155 + #, c-format + msgid "request from '%s' [%ld] not handled due to missing permission" + msgstr "no s’atén la petició de «%s» (%ld) per manca de permissos" + +-#: nscd/connections.c:1083 ++#: nscd/connections.c:1160 + msgid "request not handled due to missing permission" + msgstr "no s’atén la petició per manca de permissos" + +-#: nscd/connections.c:1121 nscd/connections.c:1174 ++#: nscd/connections.c:1198 nscd/connections.c:1251 + #, c-format + msgid "cannot write result: %s" + msgstr "no s’ha pogut escriure el resultat: %s" +@@ -3964,245 +4076,273 @@ + # ivb dimoni «nscd» per consultar la memòria cau o invalidar-la. Per + # ivb això faig servir «programa de control» (com «ndc» amb «named» o + # ivb «chronyc» amb «chronyd»). +-#: nscd/connections.c:1257 ++#: nscd/connections.c:1342 + #, c-format + msgid "error getting caller's id: %s" + msgstr "error en obtenir l’identificador del programa de control: %s" + +-#: nscd/connections.c:1316 ++#: nscd/connections.c:1402 + #, c-format + msgid "cannot open /proc/self/cmdline: %s; disabling paranoia mode" + msgstr "no s’ha pogut obrir «/proc/self/cmdline»: %s; s’inhabilita el mode paranoic" + +-#: nscd/connections.c:1330 ++#: nscd/connections.c:1416 + #, c-format + msgid "cannot read /proc/self/cmdline: %s; disabling paranoia mode" + msgstr "no s’ha pogut llegir «/proc/self/cmdline»: %s; s’inhabilita el mode paranoic" + +-#: nscd/connections.c:1370 ++#: nscd/connections.c:1456 + #, c-format + msgid "cannot change to old UID: %s; disabling paranoia mode" + msgstr "no s’ha pogut tornar a l’UID vell: %s; s’inhabilita el mode paranoic" + +-#: nscd/connections.c:1380 ++#: nscd/connections.c:1466 + #, c-format + msgid "cannot change to old GID: %s; disabling paranoia mode" + msgstr "no s’ha pogut tornar al GID vell: %s; s’inhabilita el mode paranoic" + +-#: nscd/connections.c:1393 ++#: nscd/connections.c:1479 + #, c-format + msgid "cannot change to old working directory: %s; disabling paranoia mode" + msgstr "no s’ha pogut tornar al directori vell de treball: %s; s’inhabilita el mode paranoic" + +-#: nscd/connections.c:1439 ++#: nscd/connections.c:1525 + #, c-format + msgid "re-exec failed: %s; disabling paranoia mode" + msgstr "ha fallat la reexecució: %s; s’inhabilita el mode paranoic" + +-#: nscd/connections.c:1448 ++#: nscd/connections.c:1534 + #, c-format + msgid "cannot change current working directory to \"/\": %s" + msgstr "no s’ha pogut canviar el directori de treball a «/»: %s" + +-#: nscd/connections.c:1641 ++#: nscd/connections.c:1727 + #, c-format + msgid "short read while reading request: %s" + msgstr "lectura incompleta en llegir la petició: %s" + +-#: nscd/connections.c:1674 ++#: nscd/connections.c:1760 + #, c-format + msgid "key length in request too long: %d" + msgstr "la longitud de la clau de la petició és massa gran: %d" + +-#: nscd/connections.c:1687 ++#: nscd/connections.c:1773 + #, c-format + msgid "short read while reading request key: %s" + msgstr "lectura incompleta en llegir la clau de la petició: %s" + +-#: nscd/connections.c:1696 ++#: nscd/connections.c:1782 + #, c-format + msgid "handle_request: request received (Version = %d) from PID %ld" + msgstr "handle_request: s’ha rebut una petició (amb versió %d) del PID %ld" + +-#: nscd/connections.c:1701 ++#: nscd/connections.c:1787 + #, c-format + msgid "handle_request: request received (Version = %d)" + msgstr "handle_request: s’ha rebut una petició (amb versió %d)" + +-#: nscd/connections.c:1901 nscd/connections.c:2099 ++#: nscd/connections.c:1999 nscd/connections.c:2227 + #, c-format + msgid "disabled inotify after read error %d" + msgstr "s’inhabilita «inotify» per l’error de lectura amb codi %d" + +-#: nscd/connections.c:2228 ++#: nscd/connections.c:2374 + msgid "could not initialize conditional variable" + msgstr "no s’ha pogut iniciar la variable condicional" + +-#: nscd/connections.c:2236 ++#: nscd/connections.c:2382 + msgid "could not start clean-up thread; terminating" + msgstr "no s’ha pogut iniciar el fil d’execució de neteja; s’està finalitzant" + +-#: nscd/connections.c:2250 ++#: nscd/connections.c:2396 + msgid "could not start any worker thread; terminating" + msgstr "no s’ha pogut iniciar cap fil d’execució treballador; s’està finalitzant" + +-#: 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 ++#: nscd/connections.c:2447 nscd/connections.c:2448 nscd/connections.c:2465 ++#: nscd/connections.c:2474 nscd/connections.c:2492 nscd/connections.c:2503 ++#: nscd/connections.c:2514 + #, c-format + msgid "Failed to run nscd as user '%s'" + msgstr "no s’ha pogut executar «nscd» com a l’usuari «%s»" + +-#: nscd/connections.c:2320 ++#: nscd/connections.c:2466 + #, c-format + msgid "initial getgrouplist failed" + msgstr "ha fallat getgrouplist() inicial" + +-#: nscd/connections.c:2329 ++#: nscd/connections.c:2475 + #, c-format + msgid "getgrouplist failed" + msgstr "ha fallat getgrouplist()" + +-#: nscd/connections.c:2347 ++#: nscd/connections.c:2493 + #, c-format + msgid "setgroups failed" + msgstr "ha fallat setgroups()" + +-#: nscd/grpcache.c:383 nscd/hstcache.c:439 nscd/initgrcache.c:406 +-#: nscd/pwdcache.c:378 nscd/servicescache.c:332 ++#: nscd/grpcache.c:407 nscd/hstcache.c:440 nscd/initgrcache.c:411 ++#: nscd/pwdcache.c:383 nscd/servicescache.c:338 + #, c-format + msgid "short write in %s: %s" + msgstr "escriptura incompleta a «%s»: %s" + + # El nom de la base de dades s’usa més a sovint que la descripció. ivb +-#: nscd/grpcache.c:428 nscd/initgrcache.c:78 ++#: nscd/grpcache.c:452 nscd/initgrcache.c:77 + #, c-format + msgid "Haven't found \"%s\" in group cache!" + msgstr "no s’ha trobat «%s» a la memòria cau de «group»" + + # El nom de la base de dades s’usa més a sovint que la descripció. ivb +-#: nscd/grpcache.c:430 nscd/initgrcache.c:80 ++#: nscd/grpcache.c:454 nscd/initgrcache.c:79 + #, c-format + msgid "Reloading \"%s\" in group cache!" + msgstr "es torna a carregar «%s» a la memòria cau de «group»" + +-#: nscd/grpcache.c:509 ++#: nscd/grpcache.c:533 + #, c-format + msgid "Invalid numeric gid \"%s\"!" + msgstr "«%s» no és un identificador numèric de grup vàlid" + +-#: nscd/mem.c:431 ++#: nscd/mem.c:425 + #, c-format + msgid "freed %zu bytes in %s cache" + msgstr "s’han alliberat %zu octets de la memòria cau de «%s»" + +-#: nscd/mem.c:574 ++#: nscd/mem.c:568 + #, c-format + msgid "no more memory for database '%s'" + msgstr "no resta memòria per a la base de dades «%s»" + ++# El nom de la base de dades s’usa més a sovint que la descripció. ivb ++#: nscd/netgroupcache.c:77 ++#, c-format ++msgid "Haven't found \"%s\" in netgroup cache!" ++msgstr "no s’ha trobat «%s» a la memòria cau de «netgroup»" ++ ++# El nom de la base de dades s’usa més a sovint que la descripció. ivb ++#: nscd/netgroupcache.c:79 ++#, c-format ++msgid "Reloading \"%s\" in netgroup cache!" ++msgstr "es torna a carregar «%s» a la memòria cau de «netgroup»" ++ ++# El nom de la base de dades s’usa més a sovint que la descripció. ivb ++#: nscd/netgroupcache.c:467 ++#, c-format ++msgid "Haven't found \"%s (%s,%s,%s)\" in netgroup cache!" ++msgstr "no s’ha trobat «%s (%s,%s,%s)» a la memòria cau de «netgroup»" ++ ++# El nom de la base de dades s’usa més a sovint que la descripció. ivb ++#: nscd/netgroupcache.c:470 ++#, c-format ++msgid "Reloading \"%s (%s,%s,%s)\" in netgroup cache!" ++msgstr "es torna a carregar «%s (%s,%s,%s)» a la memòria cau de «netgroup»" ++ + # Més ajudes. ivb +-#: nscd/nscd.c:101 ++#: nscd/nscd.c:116 + msgid "Read configuration data from NAME" + msgstr "Llegeix les dades de configuració de NOM." + +-#: nscd/nscd.c:103 ++#: nscd/nscd.c:118 + msgid "Do not fork and display messages on the current tty" + msgstr "No fa fork() i mostra els missatges al terminal actual." + ++#: nscd/nscd.c:120 ++msgid "Do not fork, but otherwise behave like a daemon" ++msgstr "No fa fork() però continua comportant‐se com un dimoni." ++ + # ivb (2001/10/30) + # ivb Es refereix al _nombre_ de fils a llançar. +-#: nscd/nscd.c:104 ++#: nscd/nscd.c:121 + msgid "NUMBER" + msgstr "NOMBRE" + +-#: nscd/nscd.c:104 ++#: nscd/nscd.c:121 + msgid "Start NUMBER threads" + msgstr "Llança NOMBRE fils d’exeució." + +-#: nscd/nscd.c:105 ++#: nscd/nscd.c:122 + msgid "Shut the server down" + msgstr "Finalitza el servidor." + +-#: nscd/nscd.c:106 ++#: nscd/nscd.c:123 + msgid "Print current configuration statistics" + msgstr "Mostra estadístiques de la configuració actual." + +-#: nscd/nscd.c:107 ++#: nscd/nscd.c:124 + msgid "TABLE" + msgstr "TAULA" + +-#: nscd/nscd.c:108 ++#: nscd/nscd.c:125 + msgid "Invalidate the specified cache" + msgstr "Invalida la memòria cau especificada." + +-#: nscd/nscd.c:109 ++#: nscd/nscd.c:126 + msgid "TABLE,yes" + msgstr "TAULA,yes" + +-#: nscd/nscd.c:110 ++#: nscd/nscd.c:127 + msgid "Use separate cache for each user" + msgstr "Empra una memòria cau diferent per a cada usuari." + +-#: nscd/nscd.c:115 ++#: nscd/nscd.c:132 + msgid "Name Service Cache Daemon." + msgstr "Dimoni de memòria cau del servei de noms." + +-#: nscd/nscd.c:147 nss/getent.c:952 nss/makedb.c:123 ++#: nscd/nscd.c:164 nss/getent.c:999 nss/makedb.c:208 + #, c-format + msgid "wrong number of arguments" + msgstr "el nombre d’arguments és incorrecte" + +-#: nscd/nscd.c:157 ++#: nscd/nscd.c:174 + #, c-format + msgid "failure while reading configuration file; this is fatal" + msgstr "error en llegir el fitxer de configuració; açò és fatal" + +-#: nscd/nscd.c:166 ++#: nscd/nscd.c:183 + #, c-format + msgid "already running" + msgstr "ja es troba en marxa" + +-#: nscd/nscd.c:181 nscd/nscd.c:236 ++#: nscd/nscd.c:201 nscd/nscd.c:259 + #, c-format + msgid "cannot fork" + msgstr "ha fallat fork()" + +-#: nscd/nscd.c:244 ++#: nscd/nscd.c:268 + #, c-format + msgid "cannot change current working directory to \"/\"" + msgstr "no s’ha pogut canviar el directori de treball a «/»" + +-#: nscd/nscd.c:252 ++#: nscd/nscd.c:276 + msgid "Could not create log file" + msgstr "no s’ha pogut crear el fitxer de registre" + +-#: nscd/nscd.c:305 nscd/nscd.c:330 nscd/nscd_stat.c:174 ++#: nscd/nscd.c:348 nscd/nscd.c:373 nscd/nscd_stat.c:173 + #, c-format + msgid "Only root is allowed to use this option!" + msgstr "només root pot emprar aquesta opció" + +-#: nscd/nscd.c:345 ++#: nscd/nscd.c:388 + #, c-format + msgid "'%s' is not a known database" + msgstr "«%s» no és una base de dades coneguda" + +-#: nscd/nscd.c:370 nscd/nscd_stat.c:193 ++#: nscd/nscd.c:413 nscd/nscd_stat.c:192 + #, c-format + msgid "write incomplete" + msgstr "escriptura incompleta" + +-#: nscd/nscd.c:381 ++#: nscd/nscd.c:424 + #, c-format + msgid "cannot read invalidate ACK" + msgstr "no s’ha pogut llegir l’ACK d’invalidació" + +-#: nscd/nscd.c:387 ++#: nscd/nscd.c:430 + #, c-format + msgid "invalidation failed" + msgstr "la invalidació ha fallat" + +-#: nscd/nscd.c:397 ++#: nscd/nscd.c:440 + #, c-format + msgid "secure services not implemented anymore" + msgstr "ja no s’implementen els serveis segurs" +@@ -4227,60 +4367,55 @@ + msgid "Must specify user name for stat-user option" + msgstr "cal especificar un nom d’usuari per a l’opció «stat-user»" + +-#: nscd/nscd_conf.c:245 ++#: nscd/nscd_conf.c:258 + #, c-format +-msgid "invalid value for 'reload-count': %u" +-msgstr "el valor de «reload-count» no és vàlid: %u" +- +-#: nscd/nscd_conf.c:260 +-#, c-format + msgid "Must specify value for restart-interval option" + msgstr "cal especificar un valor per a l’opció «restart-interval»" + +-#: nscd/nscd_conf.c:274 ++#: nscd/nscd_conf.c:272 + #, c-format + msgid "Unknown option: %s %s %s" + msgstr "l’opció no és coneguda: %s %s %s" + +-#: nscd/nscd_conf.c:287 ++#: nscd/nscd_conf.c:285 + #, c-format + msgid "cannot get current working directory: %s; disabling paranoia mode" + msgstr "no s’ha pogut obtenir el directori de treball actual: %s; s’inhabilita el mode paranoic" + +-#: nscd/nscd_conf.c:307 ++#: nscd/nscd_conf.c:305 + #, c-format + msgid "maximum file size for %s database too small" + msgstr "la mida màxima de fitxer per a la base de dades «%s» és massa menuda" + +-#: nscd/nscd_stat.c:143 ++#: nscd/nscd_stat.c:142 + #, c-format + msgid "cannot write statistics: %s" + msgstr "no s’han pogut escriure les estadístiques: %s" + +-#: nscd/nscd_stat.c:158 ++#: nscd/nscd_stat.c:157 + msgid "yes" + msgstr "sí" + +-#: nscd/nscd_stat.c:159 ++#: nscd/nscd_stat.c:158 + msgid "no" + msgstr "no" + +-#: nscd/nscd_stat.c:170 ++#: nscd/nscd_stat.c:169 + #, c-format + msgid "Only root or %s is allowed to use this option!" + msgstr "només root o %s pot emprar aquesta opció" + +-#: nscd/nscd_stat.c:181 ++#: nscd/nscd_stat.c:180 + #, c-format + msgid "nscd not running!\n" + msgstr "nscd no està en marxa\n" + +-#: nscd/nscd_stat.c:205 ++#: nscd/nscd_stat.c:204 + #, c-format + msgid "cannot read statistics data" + msgstr "no s’han pogut llegir les dades estadístiques" + +-#: nscd/nscd_stat.c:208 ++#: nscd/nscd_stat.c:207 + #, c-format + msgid "" + "nscd configuration:\n" +@@ -4291,28 +4426,28 @@ + "\n" + "%15d nivell de depuració del servidor\n" + +-#: nscd/nscd_stat.c:232 ++#: nscd/nscd_stat.c:231 + #, c-format + msgid "%3ud %2uh %2um %2lus server runtime\n" + msgstr "%3ud %2uh %2um %2lus de funcionament del servidor\n" + +-#: nscd/nscd_stat.c:235 ++#: nscd/nscd_stat.c:234 + #, c-format + msgid " %2uh %2um %2lus server runtime\n" + msgstr " %2uh %2um %2lus de funcionament del servidor\n" + +-#: nscd/nscd_stat.c:237 ++#: nscd/nscd_stat.c:236 + #, c-format + msgid " %2um %2lus server runtime\n" + msgstr " %2um %2lus de funcionament del servidor\n" + +-#: nscd/nscd_stat.c:239 ++#: nscd/nscd_stat.c:238 + #, c-format + msgid " %2lus server runtime\n" + msgstr " %2lus de funcionament del servidor\n" + + # FIXME: interval, not internal. ivb +-#: nscd/nscd_stat.c:241 ++#: nscd/nscd_stat.c:240 + #, c-format + msgid "" + "%15d current number of threads\n" +@@ -4330,7 +4465,7 @@ + "%15u nombre de recàrregues\n" + + # El primer camp és passwd, group, shadow... ivb +-#: nscd/nscd_stat.c:276 ++#: nscd/nscd_stat.c:275 + #, c-format + msgid "" + "\n" +@@ -4382,98 +4517,98 @@ + "%15s comprovar «/etc/%s» per si hi ha hagut canvis?\n" + + # El nom de la base de dades s’usa més a sovint que la descripció. ivb +-#: nscd/pwdcache.c:423 ++#: nscd/pwdcache.c:428 + #, c-format + msgid "Haven't found \"%s\" in password cache!" + msgstr "no s’ha trobat «%s» a la memòria cau de «passwd»" + + # El nom de la base de dades s’usa més a sovint que la descripció. ivb +-#: nscd/pwdcache.c:425 ++#: nscd/pwdcache.c:430 + #, c-format + msgid "Reloading \"%s\" in password cache!" + msgstr "es torna a carregar «%s» a la memòria cau de «passwd»" + +-#: nscd/pwdcache.c:506 ++#: nscd/pwdcache.c:511 + #, c-format + msgid "Invalid numeric uid \"%s\"!" + msgstr "«%s» no és un identificador numèric d’usuari vàlid" + +-#: nscd/selinux.c:156 ++#: nscd/selinux.c:160 + #, c-format + msgid "Failed opening connection to the audit subsystem: %m" + msgstr "no s’ha pogut obrir una connexió amb el sub‐sistema d’auditoria: %m" + +-#: nscd/selinux.c:177 ++#: nscd/selinux.c:181 + msgid "Failed to set keep-capabilities" + msgstr "no s’han pogut establir les capacitats a mantenir" + +-#: nscd/selinux.c:178 nscd/selinux.c:241 ++#: nscd/selinux.c:182 nscd/selinux.c:245 + #, c-format + msgid "prctl(KEEPCAPS) failed" + msgstr "ha fallat prctl(KEEPCAPS)" + +-#: nscd/selinux.c:192 ++#: nscd/selinux.c:196 + msgid "Failed to initialize drop of capabilities" + msgstr "no s’ha pogut començar a renunciar a capacitats" + +-#: nscd/selinux.c:193 ++#: nscd/selinux.c:197 + #, c-format + msgid "cap_init failed" + msgstr "ha fallat cap_init()" + +-#: nscd/selinux.c:214 nscd/selinux.c:231 ++#: nscd/selinux.c:218 nscd/selinux.c:235 + msgid "Failed to drop capabilities" + msgstr "no s’ha pogunt renunciar a les capacitats" + +-#: nscd/selinux.c:215 nscd/selinux.c:232 ++#: nscd/selinux.c:219 nscd/selinux.c:236 + #, c-format + msgid "cap_set_proc failed" + msgstr "ha fallat cap_set_proc()" + +-#: nscd/selinux.c:240 ++#: nscd/selinux.c:244 + msgid "Failed to unset keep-capabilities" + msgstr "no s’han pogut desestablir les capacitats a mantenir" + +-#: nscd/selinux.c:256 ++#: nscd/selinux.c:260 + msgid "Failed to determine if kernel supports SELinux" + msgstr "no s’ha pogut determinar si el nucli accepta SELinux" + +-#: nscd/selinux.c:271 ++#: nscd/selinux.c:275 + #, c-format + msgid "Failed to start AVC thread" + msgstr "no s’ha pogut iniciar el fil d’execució de l’AVC" + +-#: nscd/selinux.c:293 ++#: nscd/selinux.c:297 + #, c-format + msgid "Failed to create AVC lock" + msgstr "no s’ha pogut crear el blocatge de l’AVC" + +-#: nscd/selinux.c:333 ++#: nscd/selinux.c:337 + #, c-format + msgid "Failed to start AVC" + msgstr "no s’ha pogut iniciar l’AVC" + +-#: nscd/selinux.c:335 ++#: nscd/selinux.c:339 + msgid "Access Vector Cache (AVC) started" + msgstr "s’ha iniciat la memòria cau de vectors d’accés (AVC)" + +-#: nscd/selinux.c:356 ++#: nscd/selinux.c:360 + msgid "Error getting context of socket peer" + msgstr "error en obtenir el context de l’extrem remot del connector" + +-#: nscd/selinux.c:361 ++#: nscd/selinux.c:365 + msgid "Error getting context of nscd" + msgstr "error en obtenir el context d’«nscd»" + +-#: nscd/selinux.c:367 ++#: nscd/selinux.c:371 + msgid "Error getting sid from context" + msgstr "error en obtenir el SID del context" + +-#: nscd/selinux.c:374 ++#: nscd/selinux.c:378 + msgid "compile-time support for database policy missing" + msgstr "no s’ha compiŀlat la compatibilitat amb polítiques de bases de dades" + +-#: nscd/selinux.c:407 ++#: nscd/selinux.c:411 + #, c-format + msgid "" + "\n" +@@ -4501,70 +4636,79 @@ + "%15u fallades de CAV\n" + + # El nom de la base de dades s’usa més a sovint que la descripció. ivb +-#: nscd/servicescache.c:381 ++#: nscd/servicescache.c:387 + #, c-format + msgid "Haven't found \"%s\" in services cache!" + msgstr "no s’ha trobat «%s» a la memòria cau de «services»" + + # El nom de la base de dades s’usa més a sovint que la descripció. ivb +-#: nscd/servicescache.c:383 ++#: nscd/servicescache.c:389 + #, c-format + msgid "Reloading \"%s\" in services cache!" + msgstr "es torna a carregar «%s» a la memòria cau de «services»" + +-#: nss/getent.c:54 ++#: nss/getent.c:53 + msgid "database [key ...]" + msgstr "BASE_DE_DADES [CLAU…]" + + # Més ajudes. ivb +-#: nss/getent.c:59 ++#: nss/getent.c:58 + msgid "Service configuration to be used" + msgstr "Configuració a emprar del servei." + +-#: nss/getent.c:60 ++#: nss/getent.c:59 + msgid "disable IDN encoding" + msgstr "Inhabilita la codificació IDN." + +-#: nss/getent.c:65 ++#: nss/getent.c:64 + msgid "Get entries from administrative database." + msgstr "Obté entrades de les bases de dades d’administració." + +-#: nss/getent.c:149 nss/getent.c:479 ++#: nss/getent.c:148 nss/getent.c:477 nss/getent.c:522 + #, c-format + msgid "Enumeration not supported on %s\n" + msgstr "no es permet l’enumeració sobre «%s»\n" + +-#: nss/getent.c:866 ++#: nss/getent.c:913 + #, c-format + msgid "Unknown database name" + msgstr "el nom de la base de dades no és conegut" + +-#: nss/getent.c:896 ++#: nss/getent.c:943 + msgid "Supported databases:\n" + msgstr "Bases de dades acceptades:\n" + +-#: nss/getent.c:962 ++#: nss/getent.c:1009 + #, c-format + msgid "Unknown database: %s\n" + msgstr "la base de dades no és coneguda: %s\n" + +-#: nss/makedb.c:60 ++#: nss/makedb.c:118 + msgid "Convert key to lower case" + msgstr "Converteix la clau a minúscules." + +-#: nss/makedb.c:63 ++#: nss/makedb.c:121 + msgid "Do not print messages while building database" + msgstr "No mostra cap missatge mentre es crea la base de dades." + +-#: nss/makedb.c:65 ++#: nss/makedb.c:123 + msgid "Print content of database file, one entry a line" + msgstr "Mostra el contingut del fitxer de base de dades, a entrada per línia." + +-#: nss/makedb.c:70 +-msgid "Create simple DB database from textual input." +-msgstr "Crea una base de dades DB simple partint de l’entrada textual." ++#: nss/makedb.c:124 ++msgid "CHAR" ++msgstr "CARÀCTER" + +-#: nss/makedb.c:73 ++# No tinc massa clar el significat. ivb ++#: nss/makedb.c:125 ++msgid "Generated line not part of iteration" ++msgstr "Línia generada a excloure de la iteració." ++ ++#: nss/makedb.c:130 ++msgid "Create simple database from textual input." ++msgstr "Crea una base de dades simple partint de l’entrada textual." ++ ++#: nss/makedb.c:133 + msgid "" + "INPUT-FILE OUTPUT-FILE\n" + "-o OUTPUT-FILE INPUT-FILE\n" +@@ -4574,51 +4718,87 @@ + "-o FITXER_EIXIDA FITXER_ENTRADA\n" + "-u FITXER_ENTRADA" + +-#: nss/makedb.c:142 ++#: nss/makedb.c:229 + #, c-format +-msgid "No usable database library found." +-msgstr "no s’ha trobat cap biblioteca usable de base de dades" ++msgid "cannot open database file `%s'" ++msgstr "no s’ha pogut obrir el fitxer de base de dades «%s»" + +-#: nss/makedb.c:149 ++#: nss/makedb.c:274 + #, c-format +-msgid "cannot open database file `%s': %s" +-msgstr "no s’ha pogut obrir el fitxer de base de dades «%s»: %s" ++msgid "no entries to be processed" ++msgstr "no hi ha cap entrada que processar" + +-#: nss/makedb.c:151 +-msgid "incorrectly formatted file" +-msgstr "el fitxer no té un format vàlid" ++#: nss/makedb.c:284 ++#, c-format ++msgid "cannot create temporary file name" ++msgstr "no s’ha pogut crear un nom de fitxer temporal" + +-#: nss/makedb.c:331 ++#: nss/makedb.c:306 ++#, c-format ++msgid "cannot stat newly created file" ++msgstr "ha fallat stat() sobre el nou fitxer temporal" ++ ++#: nss/makedb.c:317 ++#, c-format ++msgid "cannot rename temporary file" ++msgstr "no s’ha pogut reanomenar el fitxer temporal" ++ ++#: nss/makedb.c:533 nss/makedb.c:556 ++#, c-format ++msgid "cannot create search tree" ++msgstr "no s’ha pogut crear l’arbre de cerca" ++ ++#: nss/makedb.c:562 + msgid "duplicate key" + msgstr "la clau és duplicada" + +-#: nss/makedb.c:337 ++#: nss/makedb.c:574 + #, c-format +-msgid "while writing database file" +-msgstr "en escriure el fitxer de base dades" +- +-#: nss/makedb.c:348 +-#, c-format + msgid "problems while reading `%s'" + msgstr "problemes en llegir «%s»" + +-#: nss/makedb.c:368 nss/makedb.c:385 ++#: nss/makedb.c:801 + #, c-format +-msgid "while reading database" +-msgstr "en llegir la base de dades" ++msgid "failed to write new database file" ++msgstr "no s’ha pogut escriure el nou fitxer de base de dades" + +-#: posix/getconf.c:1036 ++#: nss/makedb.c:814 + #, c-format ++msgid "cannot stat database file" ++msgstr "ha fallat stat() sobre el fitxer de base de dades" ++ ++#: nss/makedb.c:819 ++#, c-format ++msgid "cannot map database file" ++msgstr "no s’ha pogut mapar el fitxer de base de dades" ++ ++#: nss/makedb.c:822 ++#, c-format ++msgid "file not a database file" ++msgstr "el fitxer no és un fitxer de base dades" ++ ++#: nss/makedb.c:873 ++#, c-format ++msgid "cannot set file creation context for `%s'" ++msgstr "no s’ha pogut establir el context de creació per a «%s»" ++ ++#: ports/sysdeps/unix/sysv/linux/ia64/makecontext.c:62 ++#, c-format ++msgid "makecontext: does not know how to handle more than 8 arguments\n" ++msgstr "makecontext: no es poden tractar més de 8 arguments\n" ++ ++#: posix/getconf.c:1035 ++#, c-format + msgid "Usage: %s [-v specification] variable_name [pathname]\n" + msgstr "Forma d’ús: %s [-v ESPECIFICACIÓ] NOM_DE_VARIABLE [CAMÍ]\n" + + # S’alinea amb el nom de programa de dalt. ivb +-#: posix/getconf.c:1039 ++#: posix/getconf.c:1038 + #, c-format + msgid " %s -a [pathname]\n" + msgstr " %s -a [CAMÍ]\n" + +-#: posix/getconf.c:1115 ++#: posix/getconf.c:1114 + #, c-format + msgid "" + "Usage: getconf [-v SPEC] VAR\n" +@@ -4637,152 +4817,152 @@ + "de compiŀlació indicat.\n" + "\n" + +-#: posix/getconf.c:1173 ++#: posix/getconf.c:1172 + #, c-format + msgid "unknown specification \"%s\"" + msgstr "l’especificació «%s» no és coneguda" + +-#: posix/getconf.c:1225 ++#: posix/getconf.c:1224 + #, c-format + msgid "Couldn't execute %s" + msgstr "no s’ha pogut executar «%s»" + + # ivb (2001/11/01) + # ivb Es refereix a variables de configuració -> femení. +-#: posix/getconf.c:1269 posix/getconf.c:1285 ++#: posix/getconf.c:1268 posix/getconf.c:1284 + msgid "undefined" + msgstr "indefinida" + +-#: posix/getconf.c:1307 ++#: posix/getconf.c:1306 + #, c-format + msgid "Unrecognized variable `%s'" + msgstr "la variable «%s» no és reconeguda" + +-#: posix/getopt.c:594 posix/getopt.c:623 ++#: posix/getopt.c:593 posix/getopt.c:622 + #, c-format + msgid "%s: option '%s' is ambiguous; possibilities:" + msgstr "%s: l’opció «%s» és ambígua; possibilitats:" + +-#: posix/getopt.c:664 posix/getopt.c:668 ++#: posix/getopt.c:663 posix/getopt.c:667 + #, c-format + msgid "%s: option '--%s' doesn't allow an argument\n" + msgstr "%s: l’opció «--%s» no admet arguments\n" + +-#: posix/getopt.c:677 posix/getopt.c:682 ++#: posix/getopt.c:676 posix/getopt.c:681 + #, c-format + msgid "%s: option '%c%s' doesn't allow an argument\n" + msgstr "%s: l’opció «%c%s» no admet arguments\n" + +-#: posix/getopt.c:725 posix/getopt.c:744 ++#: posix/getopt.c:724 posix/getopt.c:743 + #, c-format + msgid "%s: option '--%s' requires an argument\n" + msgstr "%s: l’opció «--%s» necessita un argument\n" + +-#: posix/getopt.c:782 posix/getopt.c:785 ++#: posix/getopt.c:781 posix/getopt.c:784 + #, c-format + msgid "%s: unrecognized option '--%s'\n" + msgstr "%s: l’opció «--%s» no és reconeguda\n" + +-#: posix/getopt.c:793 posix/getopt.c:796 ++#: posix/getopt.c:792 posix/getopt.c:795 + #, c-format + msgid "%s: unrecognized option '%c%s'\n" + msgstr "%s: l’opció «%c%s» no és reconeguda\n" + +-#: posix/getopt.c:845 posix/getopt.c:848 ++#: posix/getopt.c:844 posix/getopt.c:847 + #, c-format + msgid "%s: invalid option -- '%c'\n" + msgstr "%s: l’opció «%c» no és vàlida\n" + +-#: posix/getopt.c:898 posix/getopt.c:915 posix/getopt.c:1123 +-#: posix/getopt.c:1141 ++#: posix/getopt.c:900 posix/getopt.c:917 posix/getopt.c:1127 ++#: posix/getopt.c:1145 + #, c-format + msgid "%s: option requires an argument -- '%c'\n" + msgstr "%s: l’opció «%c» necessita un argument\n" + +-#: posix/getopt.c:971 posix/getopt.c:987 ++#: posix/getopt.c:973 posix/getopt.c:989 + #, c-format + msgid "%s: option '-W %s' is ambiguous\n" + msgstr "%s: l’opció «-W %s» és ambígua\n" + +-#: posix/getopt.c:1011 posix/getopt.c:1029 ++#: posix/getopt.c:1013 posix/getopt.c:1031 + #, c-format + msgid "%s: option '-W %s' doesn't allow an argument\n" + msgstr "%s: l’opció «-W %s» no admet arguments\n" + +-#: posix/getopt.c:1050 posix/getopt.c:1068 ++#: posix/getopt.c:1052 posix/getopt.c:1070 + #, c-format + msgid "%s: option '-W %s' requires an argument\n" + msgstr "%s: l’opció «-W %s» necessita un argument\n" + +-#: posix/regcomp.c:135 ++#: posix/regcomp.c:134 + msgid "No match" + msgstr "No hi ha cap coincidència" + +-#: posix/regcomp.c:138 ++#: posix/regcomp.c:137 + msgid "Invalid regular expression" + msgstr "L’expressió regular no és vàlida" + +-#: posix/regcomp.c:141 ++#: posix/regcomp.c:140 + msgid "Invalid collation character" + msgstr "El caràcter d’ordenació no és vàlid" + +-#: posix/regcomp.c:144 ++#: posix/regcomp.c:143 + msgid "Invalid character class name" + msgstr "El nom de la classe de caràcters no és vàlid" + +-#: posix/regcomp.c:147 ++#: posix/regcomp.c:146 + msgid "Trailing backslash" + msgstr "Hi ha una barra invertida sobrant al final" + +-#: posix/regcomp.c:150 ++#: posix/regcomp.c:149 + msgid "Invalid back reference" + msgstr "La referència cap enrere no és vàlida" + +-#: posix/regcomp.c:153 ++#: posix/regcomp.c:152 + msgid "Unmatched [ or [^" + msgstr "«[» o «[^» desaparellat" + +-#: posix/regcomp.c:156 ++#: posix/regcomp.c:155 + msgid "Unmatched ( or \\(" + msgstr "«(» o «\\(» desaparellat" + +-#: posix/regcomp.c:159 ++#: posix/regcomp.c:158 + msgid "Unmatched \\{" + msgstr "«\\{» desaparellat" + +-#: posix/regcomp.c:162 ++#: posix/regcomp.c:161 + msgid "Invalid content of \\{\\}" + msgstr "El contingut de «\\{\\}» no és vàlid" + +-#: posix/regcomp.c:165 ++#: posix/regcomp.c:164 + msgid "Invalid range end" + msgstr "El final del rang no és vàlid" + +-#: posix/regcomp.c:168 ++#: posix/regcomp.c:167 + msgid "Memory exhausted" + msgstr "La memòria s’ha exhaurit" + +-#: posix/regcomp.c:171 ++#: posix/regcomp.c:170 + msgid "Invalid preceding regular expression" + msgstr "L’expressió regular precedent és incorrecta" + +-#: posix/regcomp.c:174 ++#: posix/regcomp.c:173 + msgid "Premature end of regular expression" + msgstr "Fi prematura de l’expressió regular" + +-#: posix/regcomp.c:177 ++#: posix/regcomp.c:176 + msgid "Regular expression too big" + msgstr "L’expressió regular és massa llarga" + +-#: posix/regcomp.c:180 ++#: posix/regcomp.c:179 + msgid "Unmatched ) or \\)" + msgstr "«)» o «\\)» desaparellat" + +-#: posix/regcomp.c:680 ++#: posix/regcomp.c:679 + msgid "No previous regular expression" + msgstr "No hi ha expressió regular prèvia" + +-#: posix/wordexp.c:1832 ++#: posix/wordexp.c:1830 + msgid "parameter null or not set" + msgstr "el paràmetre és nul o no s’ha establert" + +@@ -4817,27 +4997,27 @@ + # ivb (2002/02/08) + # ivb En realitat es refereic a la paraula clau d'«/etc/host.conf» «trim», + # ivb però crec que així queda més clar. +-#: resolv/res_hconf.c:124 ++#: resolv/res_hconf.c:122 + #, c-format + msgid "%s: line %d: cannot specify more than %d trim domains" + msgstr "%s: línia %d: no es poden especificar més de %d dominis a retallar" + +-#: resolv/res_hconf.c:145 ++#: resolv/res_hconf.c:143 + #, c-format + msgid "%s: line %d: list delimiter not followed by domain" + msgstr "%s: línia %d: cal un domini a continuació del delimitador de llista" + +-#: resolv/res_hconf.c:204 ++#: resolv/res_hconf.c:202 + #, c-format + msgid "%s: line %d: expected `on' or `off', found `%s'\n" + msgstr "%s: línia %d: cal «on» o «off», però s’ha trobat «%s»\n" + +-#: resolv/res_hconf.c:247 ++#: resolv/res_hconf.c:245 + #, c-format + msgid "%s: line %d: bad command `%s'\n" + msgstr "%s: línia %d: l’ordre «%s» no és vàlida\n" + +-#: resolv/res_hconf.c:282 ++#: resolv/res_hconf.c:280 + #, c-format + msgid "%s: line %d: ignoring trailing garbage `%s'\n" + msgstr "%s: línia %d: es descarta la brossa «%s» al final de la línia\n" +@@ -4982,208 +5162,208 @@ + msgid "Device disconnected" + msgstr "El dispositiu ha estat desconnectat" + +-#: stdio-common/psiginfo.c:145 ++#: stdio-common/psiginfo.c:139 + msgid "Signal sent by kill()" + msgstr "Senyal enviat per kill()" + +-#: stdio-common/psiginfo.c:148 ++#: stdio-common/psiginfo.c:142 + msgid "Signal sent by sigqueue()" + msgstr "Senyal enviat per sigqueue()" + +-#: stdio-common/psiginfo.c:151 ++#: stdio-common/psiginfo.c:145 + msgid "Signal generated by the expiration of a timer" + msgstr "Senyal generat en expirar un temporitzador" + +-#: stdio-common/psiginfo.c:154 ++#: stdio-common/psiginfo.c:148 + msgid "Signal generated by the completion of an asynchronous I/O request" + msgstr "Senyal generat en completar una petició d’E/S asíncrona" + +-#: stdio-common/psiginfo.c:158 ++#: stdio-common/psiginfo.c:152 + msgid "Signal generated by the arrival of a message on an empty message queue" + msgstr "Senyal generat en arribar un missatge a una cua de missatges buida" + +-#: stdio-common/psiginfo.c:163 ++#: stdio-common/psiginfo.c:157 + msgid "Signal sent by tkill()" + msgstr "Senyal enviat per tkill()" + +-#: stdio-common/psiginfo.c:168 ++#: stdio-common/psiginfo.c:162 + msgid "Signal generated by the completion of an asynchronous name lookup request" + msgstr "Senyal generat en completar una petició asíncrona de consulta de nom" + +-#: stdio-common/psiginfo.c:174 ++#: stdio-common/psiginfo.c:168 + msgid "Signal generated by the completion of an I/O request" + msgstr "Senyal generat en completar una petició d’E/S" + +-#: stdio-common/psiginfo.c:180 ++#: stdio-common/psiginfo.c:174 + msgid "Signal sent by the kernel" + msgstr "Senyal enviat pel nucli" + +-#: stdio-common/psiginfo.c:204 ++#: stdio-common/psiginfo.c:198 + #, c-format + msgid "Unknown signal %d\n" + msgstr "Senyal desconegut %d\n" + +-#: stdio-common/psignal.c:51 ++#: stdio-common/psignal.c:43 + #, c-format + msgid "%s%sUnknown signal %d\n" + msgstr "%s%sSenyal desconegut %d\n" + +-#: stdio-common/psignal.c:52 ++#: stdio-common/psignal.c:44 + msgid "Unknown signal" + msgstr "Senyal desconegut" + +-#: string/_strerror.c:47 sysdeps/mach/_strerror.c:87 ++#: string/_strerror.c:46 sysdeps/mach/_strerror.c:86 + msgid "Unknown error " + msgstr "Error desconegut " + +-#: string/strerror.c:43 ++#: string/strerror.c:42 + msgid "Unknown error" + msgstr "Error desconegut" + +-#: string/strsignal.c:65 ++#: string/strsignal.c:60 + #, c-format + msgid "Real-time signal %d" + msgstr "Senyal de temps real %d" + +-#: string/strsignal.c:69 ++#: string/strsignal.c:64 + #, c-format + msgid "Unknown signal %d" + msgstr "Senyal desconegut %d" + +-#: 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 ++#: sunrpc/auth_unix.c:111 sunrpc/clnt_tcp.c:123 sunrpc/clnt_udp.c:134 ++#: sunrpc/clnt_unix.c:124 sunrpc/svc_tcp.c:188 sunrpc/svc_tcp.c:233 ++#: sunrpc/svc_udp.c:162 sunrpc/svc_unix.c:188 sunrpc/svc_unix.c:229 ++#: sunrpc/xdr.c:630 sunrpc/xdr.c:790 sunrpc/xdr_array.c:97 ++#: sunrpc/xdr_rec.c:151 sunrpc/xdr_ref.c:76 + msgid "out of memory\n" + msgstr "no resta memòria\n" + + # ivb (2001/11/01) + # ivb D'acord amb un comentari del propi fitxer. +-#: sunrpc/auth_unix.c:351 ++#: sunrpc/auth_unix.c:349 + msgid "auth_unix.c: Fatal marshalling problem" + msgstr "auth_none.c: error fatal de preserialització" + +-#: sunrpc/clnt_perr.c:98 sunrpc/clnt_perr.c:114 ++#: sunrpc/clnt_perr.c:95 sunrpc/clnt_perr.c:111 + #, c-format + msgid "%s: %s; low version = %lu, high version = %lu" + msgstr "%s: %s; versió menor = %lu, versió major = %lu" + +-#: sunrpc/clnt_perr.c:105 ++#: sunrpc/clnt_perr.c:102 + #, c-format + msgid "%s: %s; why = %s\n" + msgstr "%s: %s; causa = %s\n" + +-#: sunrpc/clnt_perr.c:107 ++#: sunrpc/clnt_perr.c:104 + #, c-format + msgid "%s: %s; why = (unknown authentication error - %d)\n" + msgstr "%s: %s; causa = (error desconegut d’autenticació: %d)\n" + +-#: sunrpc/clnt_perr.c:156 ++#: sunrpc/clnt_perr.c:153 + msgid "RPC: Success" + msgstr "RPC: Èxit" + +-#: sunrpc/clnt_perr.c:159 ++#: sunrpc/clnt_perr.c:156 + msgid "RPC: Can't encode arguments" + msgstr "RPC: No s’han pogut codificar els arguments" + +-#: sunrpc/clnt_perr.c:163 ++#: sunrpc/clnt_perr.c:160 + msgid "RPC: Can't decode result" + msgstr "RPC: No s’ha pogut descodificar el resultat" + +-#: sunrpc/clnt_perr.c:167 ++#: sunrpc/clnt_perr.c:164 + msgid "RPC: Unable to send" + msgstr "RPC: No s’ha pogut fer l’enviament" + +-#: sunrpc/clnt_perr.c:171 ++#: sunrpc/clnt_perr.c:168 + msgid "RPC: Unable to receive" + msgstr "RPC: No s’ha pogut rebre" + +-#: sunrpc/clnt_perr.c:175 ++#: sunrpc/clnt_perr.c:172 + msgid "RPC: Timed out" + msgstr "RPC: S’ha excedit el temps" + +-#: sunrpc/clnt_perr.c:179 ++#: sunrpc/clnt_perr.c:176 + msgid "RPC: Incompatible versions of RPC" + msgstr "RPC: Les versions d’RPC són incompatibles" + +-#: sunrpc/clnt_perr.c:183 ++#: sunrpc/clnt_perr.c:180 + msgid "RPC: Authentication error" + msgstr "RPC: Error d’autenticació" + +-#: sunrpc/clnt_perr.c:187 ++#: sunrpc/clnt_perr.c:184 + msgid "RPC: Program unavailable" + msgstr "RPC: El programa no es troba disponible" + +-#: sunrpc/clnt_perr.c:191 ++#: sunrpc/clnt_perr.c:188 + msgid "RPC: Program/version mismatch" + msgstr "RPC: No hi ha coincidència programa/versió" + +-#: sunrpc/clnt_perr.c:195 ++#: sunrpc/clnt_perr.c:192 + msgid "RPC: Procedure unavailable" + msgstr "RPC: El procediment no es troba disponible" + +-#: sunrpc/clnt_perr.c:199 ++#: sunrpc/clnt_perr.c:196 + msgid "RPC: Server can't decode arguments" + msgstr "RPC: El servidor no ha pogut descodificar els arguments" + +-#: sunrpc/clnt_perr.c:203 ++#: sunrpc/clnt_perr.c:200 + msgid "RPC: Remote system error" + msgstr "RPC: Error al sistema remot" + +-#: sunrpc/clnt_perr.c:207 ++#: sunrpc/clnt_perr.c:204 + msgid "RPC: Unknown host" + msgstr "RPC: L’estació no és coneguda" + +-#: sunrpc/clnt_perr.c:211 ++#: sunrpc/clnt_perr.c:208 + msgid "RPC: Unknown protocol" + msgstr "RPC: El protocol no és conegut" + +-#: sunrpc/clnt_perr.c:215 ++#: sunrpc/clnt_perr.c:212 + msgid "RPC: Port mapper failure" + msgstr "RPC: Fallada del mapador de ports" + +-#: sunrpc/clnt_perr.c:219 ++#: sunrpc/clnt_perr.c:216 + msgid "RPC: Program not registered" + msgstr "RPC: El programa no s’ha donat d’alta" + +-#: sunrpc/clnt_perr.c:223 ++#: sunrpc/clnt_perr.c:220 + msgid "RPC: Failed (unspecified error)" + msgstr "RPC: Ha fallat (error no especificat)" + +-#: sunrpc/clnt_perr.c:264 ++#: sunrpc/clnt_perr.c:261 + msgid "RPC: (unknown error code)" + msgstr "RPC: (codi d’error desconegut)" + +-#: sunrpc/clnt_perr.c:336 ++#: sunrpc/clnt_perr.c:333 + msgid "Authentication OK" + msgstr "L’autenticació és vàlida" + +-#: sunrpc/clnt_perr.c:339 ++#: sunrpc/clnt_perr.c:336 + msgid "Invalid client credential" + msgstr "La credencial donada pel client no és vàlida" + +-#: sunrpc/clnt_perr.c:343 ++#: sunrpc/clnt_perr.c:340 + msgid "Server rejected credential" + msgstr "El servidor ha rebutjat la credencial" + +-#: sunrpc/clnt_perr.c:347 ++#: sunrpc/clnt_perr.c:344 + msgid "Invalid client verifier" + msgstr "El verificador del client no és vàlid" + +-#: sunrpc/clnt_perr.c:351 ++#: sunrpc/clnt_perr.c:348 + msgid "Server rejected verifier" + msgstr "El servidor ha rebutjat el verificador" + +-#: sunrpc/clnt_perr.c:355 ++#: sunrpc/clnt_perr.c:352 + msgid "Client credential too weak" + msgstr "La credencial del client és massa fluixa" + +-#: sunrpc/clnt_perr.c:359 ++#: sunrpc/clnt_perr.c:356 + msgid "Invalid server verifier" + msgstr "El verificador del servidor no és vàlid" + +-#: sunrpc/clnt_perr.c:363 ++#: sunrpc/clnt_perr.c:360 + msgid "Failed (unspecified error)" + msgstr "Ha fallat (no s’especifica l’error)" + +@@ -5223,263 +5403,270 @@ + msgid "Cannot receive reply to broadcast" + msgstr "no s’ha pogut rebre una resposta a la difusió" + +-#: sunrpc/rpc_main.c:288 ++#: sunrpc/rpc_main.c:277 + #, c-format + msgid "%s: output would overwrite %s\n" + msgstr "%s: l’eixida sobreescriuria «%s»\n" + +-#: sunrpc/rpc_main.c:295 ++#: sunrpc/rpc_main.c:284 + #, c-format + msgid "%s: unable to open %s: %m\n" + msgstr "%s: no s’ha pogut obrir «%s»: %m\n" + +-#: sunrpc/rpc_main.c:307 ++#: sunrpc/rpc_main.c:296 + #, c-format + msgid "%s: while writing output %s: %m" + msgstr "%s: en escriure a l’eixida «%s»: %m" + +-#: sunrpc/rpc_main.c:342 ++#: sunrpc/rpc_main.c:332 sunrpc/rpc_main.c:371 + #, c-format +-msgid "cannot find C preprocessor: %s \n" ++msgid "cannot find C preprocessor: %s\n" + msgstr "no s’ha pogut trobar el preprocessador de C: %s\n" + +-#: sunrpc/rpc_main.c:350 +-msgid "cannot find any C preprocessor (cpp)\n" +-msgstr "no s’ha pogut trobar cap preprocessador de C (cpp)\n" +- +-#: sunrpc/rpc_main.c:419 ++#: sunrpc/rpc_main.c:407 + #, c-format + msgid "%s: C preprocessor failed with signal %d\n" + msgstr "%s: el preprocessador de C ha fallat amb el senyal %d\n" + +-#: sunrpc/rpc_main.c:422 ++#: sunrpc/rpc_main.c:410 + #, c-format + msgid "%s: C preprocessor failed with exit code %d\n" + msgstr "%s: el preprocessador de C ha fallat amb el codi d’eixida %d\n" + +-#: sunrpc/rpc_main.c:462 ++#: sunrpc/rpc_main.c:450 + #, c-format + msgid "illegal nettype: `%s'\n" + msgstr "el tipus de xarxa no és permès: «%s»\n" + +-#: sunrpc/rpc_main.c:1128 ++#: sunrpc/rpc_main.c:1085 + #, c-format + msgid "rpcgen: too many defines\n" + msgstr "rpcgen: hi ha massa definicions\n" + +-#: sunrpc/rpc_main.c:1140 ++#: sunrpc/rpc_main.c:1097 + #, c-format + msgid "rpcgen: arglist coding error\n" + msgstr "rpcgen: error en codificar els arguments\n" + + #. TRANS: the file will not be removed; this is an + #. TRANS: informative message. +-#: sunrpc/rpc_main.c:1173 ++#: sunrpc/rpc_main.c:1130 + #, c-format + msgid "file `%s' already exists and may be overwritten\n" + msgstr "el fitxer «%s» ja existeix i podria ser sobreescrit\n" + +-#: sunrpc/rpc_main.c:1218 ++#: sunrpc/rpc_main.c:1175 + #, c-format + msgid "Cannot specify more than one input file!\n" + msgstr "no es pot especificar més d’un fitxer d’entrada\n" + +-#: sunrpc/rpc_main.c:1392 ++#: sunrpc/rpc_main.c:1345 + #, c-format + msgid "This implementation doesn't support newstyle or MT-safe code!\n" + msgstr "aquesta implementació no accepta l’estil nou ni el codi compatible amb MT\n" + +-#: sunrpc/rpc_main.c:1401 ++#: sunrpc/rpc_main.c:1354 + #, c-format + msgid "Cannot use netid flag with inetd flag!\n" + msgstr "no es pot emprar l’opció IDXARXA («-n») amb l’opció d’inetd («-I»)\n" + +-#: sunrpc/rpc_main.c:1413 ++#: sunrpc/rpc_main.c:1363 + #, c-format + msgid "Cannot use netid flag without TIRPC!\n" + msgstr "no es pot emprar l’opció IDXARXA («-n») sense TIRPC\n" + +-#: sunrpc/rpc_main.c:1420 ++#: sunrpc/rpc_main.c:1370 + #, c-format + msgid "Cannot use table flags with newstyle!\n" + msgstr "no es poden emprar opcions de taula amb l’estil nou («-N»)\n" + +-#: sunrpc/rpc_main.c:1439 ++#: sunrpc/rpc_main.c:1389 + #, c-format + msgid "\"infile\" is required for template generation flags.\n" + msgstr "cal FITXER_ENTRADA per als senyaladors de generació de plantilles\n" + +-#: sunrpc/rpc_main.c:1444 ++#: sunrpc/rpc_main.c:1394 + #, c-format + msgid "Cannot have more than one file generation flag!\n" + msgstr "no es pot tenir més d’un senyalador de generació de fitxers\n" + +-#: sunrpc/rpc_main.c:1453 ++#: sunrpc/rpc_main.c:1403 + #, c-format + msgid "usage: %s infile\n" + msgstr "Forma d’ús: %s FITXER_ENTRADA\n" + +-#: sunrpc/rpc_main.c:1454 ++#: sunrpc/rpc_main.c:1404 + #, c-format + msgid "\t%s [-abkCLNTM][-Dname[=value]] [-i size] [-I [-K seconds]] [-Y path] infile\n" + msgstr "" + " %s [-abkCLNTM] [-DNOM[=VALOR]] [-i MIDA] [-I [-K SEGONS]]\n" + " [-Y CAMÍ] FITXER_ENTRADA\n" + +-#: sunrpc/rpc_main.c:1456 ++#: sunrpc/rpc_main.c:1406 + #, c-format + msgid "\t%s [-c | -h | -l | -m | -t | -Sc | -Ss | -Sm] [-o outfile] [infile]\n" + msgstr "" + " %s [-c | -h | -l | -m | -t | -Sc | -Ss | -Sm] [-o FITXER_EIXIDA]\n" + " [FITXER_ENTRADA]\n" + +-#: sunrpc/rpc_main.c:1458 ++#: sunrpc/rpc_main.c:1408 + #, c-format + msgid "\t%s [-s nettype]* [-o outfile] [infile]\n" + msgstr " %s [-s TIPUS_DE_XARXA]… [-o FITXER_EIXIDA] [FITXER_ENTRADA]\n" + +-#: sunrpc/rpc_main.c:1459 ++#: sunrpc/rpc_main.c:1409 + #, c-format + msgid "\t%s [-n netid]* [-o outfile] [infile]\n" + msgstr " %s [-n IDXARXA]… [-o FITXER_EIXIDA] [FITXER_ENTRADA]\n" + +-#: sunrpc/rpc_main.c:1467 ++#: sunrpc/rpc_main.c:1417 + #, c-format + msgid "options:\n" + msgstr "" + "Opcions:\n" + "\n" + +-#: sunrpc/rpc_main.c:1468 ++#: sunrpc/rpc_main.c:1418 + #, c-format + msgid "-a\t\tgenerate all files, including samples\n" + msgstr " -a Genera tots els fitxers, incloent els exemples.\n" + +-#: sunrpc/rpc_main.c:1469 ++#: sunrpc/rpc_main.c:1419 + #, c-format + msgid "-b\t\tbackward compatibility mode (generates code for SunOS 4.1)\n" + msgstr "" + " -b Mode de compatibilitat cap enrere (genera codi per a\n" + " SunOS 4.1).\n" + +-#: sunrpc/rpc_main.c:1470 ++#: sunrpc/rpc_main.c:1420 + #, c-format + msgid "-c\t\tgenerate XDR routines\n" + msgstr " -c Genera rutines XDR.\n" + +-#: sunrpc/rpc_main.c:1471 ++#: sunrpc/rpc_main.c:1421 + #, c-format + msgid "-C\t\tANSI C mode\n" + msgstr " -C Mode ANSI C.\n" + +-#: sunrpc/rpc_main.c:1472 ++#: sunrpc/rpc_main.c:1422 + #, c-format + msgid "-Dname[=value]\tdefine a symbol (same as #define)\n" + msgstr " -DNOM[=VALOR] Defineix un símbol (equival a «#define»).\n" + +-#: sunrpc/rpc_main.c:1473 ++#: sunrpc/rpc_main.c:1423 + #, c-format + msgid "-h\t\tgenerate header file\n" + msgstr " -h Genera un fitxer de capçaleres.\n" + +-#: sunrpc/rpc_main.c:1474 ++#: sunrpc/rpc_main.c:1424 + #, c-format + msgid "-i size\t\tsize at which to start generating inline code\n" + msgstr " -i MIDA Indica la MIDA on començar a generar codi en línia.\n" + +-#: sunrpc/rpc_main.c:1475 ++#: sunrpc/rpc_main.c:1425 + #, c-format + msgid "-I\t\tgenerate code for inetd support in server (for SunOS 4.1)\n" + msgstr "" + " -I Genera codi de compatibilitat amb «inetd» per al\n" + " servidor (per a SunOS 4.1).\n" + +-#: sunrpc/rpc_main.c:1476 ++#: sunrpc/rpc_main.c:1426 + #, c-format + msgid "-K seconds\tserver exits after K seconds of inactivity\n" + msgstr "" + " -K SEGONS Fa que el servidor isca després del nombre indicat de\n" + " SEGONS d’inactivitat.\n" + +-#: sunrpc/rpc_main.c:1477 ++#: sunrpc/rpc_main.c:1427 + #, c-format + msgid "-l\t\tgenerate client side stubs\n" + msgstr " -l Genera esquelets per a la part del client.\n" + +-#: sunrpc/rpc_main.c:1478 ++#: sunrpc/rpc_main.c:1428 + #, c-format + msgid "-L\t\tserver errors will be printed to syslog\n" + msgstr " -L Fa que els errors del servidor s’envien a «syslog».\n" + +-#: sunrpc/rpc_main.c:1479 ++#: sunrpc/rpc_main.c:1429 + #, c-format + msgid "-m\t\tgenerate server side stubs\n" + msgstr " -m Genera esquelets per a la part del servidor.\n" + +-#: sunrpc/rpc_main.c:1480 ++#: sunrpc/rpc_main.c:1430 + #, c-format + msgid "-M\t\tgenerate MT-safe code\n" + msgstr " -M Genera codi compatible amb múltiples fils d’execució.\n" + + # Sembla que «netid» és una expressió de la jerga RPC. ivb +-#: sunrpc/rpc_main.c:1481 ++#: sunrpc/rpc_main.c:1431 + #, c-format + msgid "-n netid\tgenerate server code that supports named netid\n" + msgstr " -n NETID Genera codi compatible amb el NETID indicat.\n" + +-#: sunrpc/rpc_main.c:1482 ++#: sunrpc/rpc_main.c:1432 + #, c-format + msgid "-N\t\tsupports multiple arguments and call-by-value\n" + msgstr " -N Permet arguments múltiples i pas d’arguments per valor.\n" + +-#: sunrpc/rpc_main.c:1483 ++#: sunrpc/rpc_main.c:1433 + #, c-format + msgid "-o outfile\tname of the output file\n" + msgstr " -o FITXER_EIXIDA Nom del fitxer d’eixida.\n" + +-#: sunrpc/rpc_main.c:1484 ++#: sunrpc/rpc_main.c:1434 + #, c-format + msgid "-s nettype\tgenerate server code that supports named nettype\n" + msgstr "" + " -s TIPUS_DE_XARXA Genera codi de servidor compatible amb el TIPUS_DE_XARXA\n" + " indicat.\n" + +-#: sunrpc/rpc_main.c:1485 ++#: sunrpc/rpc_main.c:1435 + #, c-format + msgid "-Sc\t\tgenerate sample client code that uses remote procedures\n" + msgstr "" + " -Sc Genera codi d’exemple per a un client que empra\n" + " procediments remots.\n" + +-#: sunrpc/rpc_main.c:1486 ++#: sunrpc/rpc_main.c:1436 + #, c-format + msgid "-Ss\t\tgenerate sample server code that defines remote procedures\n" + msgstr "" + " -Ss Genera codi d’exemple per a un servidor que defineix\n" + " procediments remots.\n" + +-#: sunrpc/rpc_main.c:1487 ++#: sunrpc/rpc_main.c:1437 + #, c-format + msgid "-Sm \t\tgenerate makefile template \n" + msgstr " -Sm Genera una plantilla de fitxer «Makefile».\n" + +-#: sunrpc/rpc_main.c:1488 ++#: sunrpc/rpc_main.c:1438 + #, c-format + msgid "-t\t\tgenerate RPC dispatch table\n" + msgstr " -t Genera una taula de despatxat de crides RPC.\n" + +-#: sunrpc/rpc_main.c:1489 ++#: sunrpc/rpc_main.c:1439 + #, c-format + msgid "-T\t\tgenerate code to support RPC dispatch tables\n" + msgstr "" + " -T Genera codi per a treballar amb taules de despatxat de\n" + " crides RPC.\n" + +-#: sunrpc/rpc_main.c:1490 ++#: sunrpc/rpc_main.c:1440 + #, c-format + msgid "-Y path\t\tdirectory name to find C preprocessor (cpp)\n" + msgstr " -Y CAMÍ Directori on es troba el preprocessador de C (cpp).\n" + ++#: sunrpc/rpc_main.c:1442 ++#, c-format ++msgid "" ++"\n" ++"For bug reporting instructions, please see:\n" ++"%s.\n" ++msgstr "" ++"\n" ++"Per a obtenir instruccions sobre com informar d’un error, vegeu\n" ++"<%s>.\n" ++ + #: sunrpc/rpc_scan.c:112 + msgid "constant or identifier expected" + msgstr "cal una constant o un identificador" +@@ -5589,127 +5776,127 @@ + msgid "svc_run: - poll failed" + msgstr "svc_run: ha fallat poll()" + +-#: sunrpc/svc_simple.c:81 ++#: sunrpc/svc_simple.c:80 + #, c-format + msgid "can't reassign procedure number %ld\n" + msgstr "no s’ha pogut reassignar el procediment número %ld\n" + +-#: sunrpc/svc_simple.c:91 ++#: sunrpc/svc_simple.c:90 + msgid "couldn't create an rpc server\n" + msgstr "no s’ha pogut crear un servidor RPC\n" + +-#: sunrpc/svc_simple.c:99 ++#: sunrpc/svc_simple.c:98 + #, c-format + msgid "couldn't register prog %ld vers %ld\n" + msgstr "no s’ha pogut donar d’alta el programa %ld amb versió %ld\n" + +-#: sunrpc/svc_simple.c:107 ++#: sunrpc/svc_simple.c:106 + msgid "registerrpc: out of memory\n" + msgstr "registerrpc: no resta memòria\n" + +-#: sunrpc/svc_simple.c:168 ++#: sunrpc/svc_simple.c:169 + #, c-format + msgid "trouble replying to prog %d\n" + msgstr "no s’ha pogut respondre al programa %d\n" + +-#: sunrpc/svc_simple.c:177 ++#: sunrpc/svc_simple.c:178 + #, c-format + msgid "never registered prog %d\n" + msgstr "el programa %d mai no s’ha donat d’alta\n" + +-#: sunrpc/svc_tcp.c:149 ++#: sunrpc/svc_tcp.c:164 + msgid "svc_tcp.c - tcp socket creation problem" + msgstr "svc_tcp.c: problemes en crear un connector TCP" + +-#: sunrpc/svc_tcp.c:164 ++#: sunrpc/svc_tcp.c:179 + msgid "svc_tcp.c - cannot getsockname or listen" + msgstr "svc_tcp.c: ha fallat getsockname() o listen()" + +-#: sunrpc/svc_udp.c:122 ++#: sunrpc/svc_udp.c:137 + msgid "svcudp_create: socket creation problem" + msgstr "svcudp_create: problemes en crear un connector" + +-#: sunrpc/svc_udp.c:136 ++#: sunrpc/svc_udp.c:151 + msgid "svcudp_create - cannot getsockname" + msgstr "svcudp_create: ha fallat getsockname()" + +-#: sunrpc/svc_udp.c:168 ++#: sunrpc/svc_udp.c:183 + msgid "svcudp_create: xp_pad is too small for IP_PKTINFO\n" + msgstr "svcudp_create: «xp_pad» és massa menut per a IP_PKTINFO\n" + +-#: sunrpc/svc_udp.c:476 ++#: sunrpc/svc_udp.c:495 + msgid "enablecache: cache already enabled" + msgstr "enablecache: la memòria cau ja està habilitada" + +-#: sunrpc/svc_udp.c:482 ++#: sunrpc/svc_udp.c:501 + msgid "enablecache: could not allocate cache" + msgstr "enablecache: no s’ha pogut reservar espai per a la memòria cau" + +-#: sunrpc/svc_udp.c:491 ++#: sunrpc/svc_udp.c:510 + msgid "enablecache: could not allocate cache data" + msgstr "enablecache: no s’ha pogut reservar espai per a les dades de la memòria cau" + +-#: sunrpc/svc_udp.c:499 ++#: sunrpc/svc_udp.c:518 + msgid "enablecache: could not allocate cache fifo" + msgstr "enablecache: no s’ha pogut reservar la cua FIFO de la memòria cau" + +-#: sunrpc/svc_udp.c:535 ++#: sunrpc/svc_udp.c:554 + msgid "cache_set: victim not found" + msgstr "cache_set: no s’ha trobat la víctima" + +-#: sunrpc/svc_udp.c:546 ++#: sunrpc/svc_udp.c:565 + msgid "cache_set: victim alloc failed" + msgstr "cache_set: no s’ha pogut reservar la víctima" + +-#: sunrpc/svc_udp.c:553 ++#: sunrpc/svc_udp.c:572 + msgid "cache_set: could not allocate new rpc_buffer" + msgstr "cache_set: no s’ha pogut reservar un nou «rpc_buffer»" + +-#: sunrpc/svc_unix.c:148 ++#: sunrpc/svc_unix.c:162 + msgid "svc_unix.c - AF_UNIX socket creation problem" + msgstr "svc_unix.c: problemes en crear un connector AF_UNIX" + +-#: sunrpc/svc_unix.c:164 ++#: sunrpc/svc_unix.c:178 + msgid "svc_unix.c - cannot getsockname or listen" + msgstr "svc_unix.c: ha fallat getsockname() o listen()" + +-#: sysdeps/generic/siglist.h:29 sysdeps/unix/siglist.c:27 ++#: sysdeps/generic/siglist.h:28 + msgid "Hangup" + msgstr "Penjat" + +-#: sysdeps/generic/siglist.h:30 sysdeps/unix/siglist.c:28 ++#: sysdeps/generic/siglist.h:29 + msgid "Interrupt" + msgstr "Interromput" + +-#: sysdeps/generic/siglist.h:31 sysdeps/unix/siglist.c:29 ++#: sysdeps/generic/siglist.h:30 + msgid "Quit" + msgstr "Eixit" + +-#: sysdeps/generic/siglist.h:32 sysdeps/unix/siglist.c:30 ++#: sysdeps/generic/siglist.h:31 + msgid "Illegal instruction" + msgstr "La instrucció no és permesa" + +-#: sysdeps/generic/siglist.h:33 sysdeps/unix/siglist.c:31 ++#: sysdeps/generic/siglist.h:32 + msgid "Trace/breakpoint trap" + msgstr "Trampa de traçat/punt d’aturada" + +-#: sysdeps/generic/siglist.h:34 ++#: sysdeps/generic/siglist.h:33 + msgid "Aborted" + msgstr "Avortat" + +-#: sysdeps/generic/siglist.h:35 sysdeps/unix/siglist.c:34 ++#: sysdeps/generic/siglist.h:34 + msgid "Floating point exception" + msgstr "Excepció de coma flotant" + +-#: sysdeps/generic/siglist.h:36 sysdeps/unix/siglist.c:35 ++#: sysdeps/generic/siglist.h:35 + msgid "Killed" + msgstr "Matat" + +-#: sysdeps/generic/siglist.h:37 sysdeps/unix/siglist.c:36 ++#: sysdeps/generic/siglist.h:36 + msgid "Bus error" + msgstr "Error de bus" + +-#: sysdeps/generic/siglist.h:38 sysdeps/unix/siglist.c:37 ++#: sysdeps/generic/siglist.h:37 + msgid "Segmentation fault" + msgstr "Violació de segment" + +@@ -5718,108 +5905,107 @@ + #. 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 ++#: sysdeps/generic/siglist.h:38 sysdeps/gnu/errlist.c:359 + msgid "Broken pipe" + msgstr "La canonada s’ha trencat" + +-#: sysdeps/generic/siglist.h:40 sysdeps/unix/siglist.c:40 ++#: sysdeps/generic/siglist.h:39 + msgid "Alarm clock" + msgstr "Temporitzador" + +-#: sysdeps/generic/siglist.h:41 sysdeps/unix/siglist.c:41 ++#: sysdeps/generic/siglist.h:40 + msgid "Terminated" + msgstr "Terminat" + +-#: sysdeps/generic/siglist.h:42 sysdeps/unix/siglist.c:42 ++#: sysdeps/generic/siglist.h:41 + msgid "Urgent I/O condition" + msgstr "Condició urgent d’E/S" + +-#: sysdeps/generic/siglist.h:43 sysdeps/unix/siglist.c:43 ++#: sysdeps/generic/siglist.h:42 + msgid "Stopped (signal)" + msgstr "Aturat (senyal)" + +-#: sysdeps/generic/siglist.h:44 sysdeps/unix/siglist.c:44 ++#: sysdeps/generic/siglist.h:43 + msgid "Stopped" + msgstr "Aturat" + +-#: sysdeps/generic/siglist.h:45 sysdeps/unix/siglist.c:45 ++#: sysdeps/generic/siglist.h:44 + msgid "Continued" + msgstr "Continuat" + +-#: sysdeps/generic/siglist.h:46 sysdeps/unix/siglist.c:46 ++#: sysdeps/generic/siglist.h:45 + msgid "Child exited" + msgstr "Un fill ha eixit" + +-#: sysdeps/generic/siglist.h:47 sysdeps/unix/siglist.c:47 ++#: sysdeps/generic/siglist.h:46 + msgid "Stopped (tty input)" + msgstr "Aturat (esperant entrada del terminal)" + +-#: sysdeps/generic/siglist.h:48 sysdeps/unix/siglist.c:48 ++#: sysdeps/generic/siglist.h:47 + msgid "Stopped (tty output)" + msgstr "Aturat (esperant escriure al terminal)" + + # ivb (2000/10/28) + # ivb És clar, E/S significa «Entrada/Sortida», perquè «Entrada/Eixida» + # ivb queda ambigu (d'açò es diu discriminació objectiva %-P ). +-#: sysdeps/generic/siglist.h:49 sysdeps/unix/siglist.c:49 ++#: sysdeps/generic/siglist.h:48 + msgid "I/O possible" + msgstr "L’operació d’E/S és possible" + +-#: sysdeps/generic/siglist.h:50 sysdeps/unix/siglist.c:50 ++#: sysdeps/generic/siglist.h:49 + msgid "CPU time limit exceeded" + msgstr "S’ha excedit el temps límit de CPU" + +-#: sysdeps/generic/siglist.h:51 sysdeps/unix/siglist.c:51 ++#: sysdeps/generic/siglist.h:50 + msgid "File size limit exceeded" + msgstr "S’ha excedit la mida màxima de fitxer" + +-#: sysdeps/generic/siglist.h:52 sysdeps/unix/siglist.c:52 ++#: sysdeps/generic/siglist.h:51 + msgid "Virtual timer expired" + msgstr "Ha expirat el temporitzador virtual" + +-#: sysdeps/generic/siglist.h:53 sysdeps/unix/siglist.c:53 ++#: sysdeps/generic/siglist.h:52 + msgid "Profiling timer expired" + msgstr "El temps de perfilat ha expirat" + +-#: sysdeps/generic/siglist.h:54 sysdeps/unix/siglist.c:54 +-msgid "Window changed" +-msgstr "Ha canviat la mida de la finestra" +- +-#: sysdeps/generic/siglist.h:55 sysdeps/unix/siglist.c:56 ++#: sysdeps/generic/siglist.h:53 + msgid "User defined signal 1" + msgstr "Senyal 1 definit per l’usuari" + +-#: sysdeps/generic/siglist.h:56 sysdeps/unix/siglist.c:57 ++#: sysdeps/generic/siglist.h:54 + msgid "User defined signal 2" + msgstr "Senyal 2 definit per l’usuari" + +-#: sysdeps/generic/siglist.h:60 sysdeps/unix/siglist.c:33 ++#: sysdeps/generic/siglist.h:58 + msgid "EMT trap" + msgstr "Trampa EMT" + +-#: sysdeps/generic/siglist.h:63 sysdeps/unix/siglist.c:38 ++#: sysdeps/generic/siglist.h:61 + msgid "Bad system call" + msgstr "La crida al sistema no és vàlida" + +-#: sysdeps/generic/siglist.h:66 ++#: sysdeps/generic/siglist.h:64 + msgid "Stack fault" + msgstr "Fallada de pila" + +-#: sysdeps/generic/siglist.h:69 ++#: sysdeps/generic/siglist.h:67 + msgid "Information request" + msgstr "Petició d’informació" + +-#: sysdeps/generic/siglist.h:71 ++#: sysdeps/generic/siglist.h:69 + msgid "Power failure" + msgstr "Fallada d’alimentació" + + # ivb (2000/10/28) + # ivb Sona més a llenguatge jurídic que a altra cosa... +-#: sysdeps/generic/siglist.h:74 sysdeps/unix/siglist.c:55 ++#: sysdeps/generic/siglist.h:72 + msgid "Resource lost" + msgstr "S’ha perdut el recurs" + ++#: sysdeps/generic/siglist.h:75 ++msgid "Window changed" ++msgstr "Ha canviat la mida de la finestra" ++ + #. 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 +@@ -5858,8 +6044,8 @@ + + #. 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. ++#. TRANS File}) occupy too much memory space. This condition never arises on ++#. TRANS @gnuhurdsystems{}. + #: sysdeps/gnu/errlist.c:94 + msgid "Argument list too long" + msgstr "La llista d’arguments és massa llarga" +@@ -5899,7 +6085,7 @@ + msgstr "No s’ha pogut reservar memòria" + + #. TRANS Bad address; an invalid pointer was detected. +-#. TRANS In the GNU system, this error never happens; you get a signal instead. ++#. TRANS On @gnuhurdsystems{}, this error never happens; you get a signal instead. + #: sysdeps/gnu/errlist.c:167 + msgid "Bad address" + msgstr "L’adreça no és vàlida" +@@ -5967,7 +6153,7 @@ + + #. 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. ++#. TRANS @ref{Linked Channels}. This error never occurs on @gnuhurdsystems{}. + #: sysdeps/gnu/errlist.c:275 + msgid "Too many open files in system" + msgstr "El sistema té massa fitxers oberts" +@@ -5982,7 +6168,7 @@ + #. 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. ++#. TRANS is not an error on @gnuhurdsystems{}; the text is copied as necessary. + #: sysdeps/gnu/errlist.c:298 + msgid "Text file busy" + msgstr "El fitxer de text es troba ocupat" +@@ -6029,7 +6215,7 @@ + + #. 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 they are always the same in @theglibc{}. + #. TRANS + #. TRANS This error can happen in a few different situations: + #. TRANS +@@ -6060,7 +6246,7 @@ + msgid "Resource temporarily unavailable" + msgstr "El recurs no es troba disponible temporalment" + +-#. TRANS In the GNU C library, this is another name for @code{EAGAIN} (above). ++#. TRANS In @theglibc{}, 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 +@@ -6123,7 +6309,7 @@ + + #. 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 implemented for all communications protocols. On @gnuhurdsystems{}, 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. +@@ -6290,7 +6476,7 @@ + #. 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.) ++#. TRANS properly on @gnuhurdsystems{}, making this error code impossible.) + #: sysdeps/gnu/errlist.c:799 + msgid "Object is remote" + msgstr "L’objecte és remot" +@@ -6321,7 +6507,7 @@ + msgstr "El procediment RPC no és vàlid per al programa" + + #. 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 @ref{File Locks}. This error is never generated by @gnuhurdsystems{}, but + #. TRANS it can result from an operation to an NFS server running another + #. TRANS operating system. + #: sysdeps/gnu/errlist.c:856 +@@ -6378,7 +6564,7 @@ + msgid "Invalid or incomplete multibyte or wide character" + msgstr "El caràcter estès o multioctet no és vàlid o complet" + +-#. TRANS In the GNU system, servers supporting the @code{term} protocol return ++#. TRANS On @gnuhurdsystems{}, 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 +@@ -6390,7 +6576,7 @@ + + # ivb (2000/10/28) + # ivb Doncs que conste que jo no he sigut! +-#. TRANS In the GNU system, opening a file returns this error when the file is ++#. TRANS On @gnuhurdsystems{}, 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 +@@ -6664,10 +6850,14 @@ + msgid "Operation not possible due to RF-kill" + msgstr "L’operació no és possible degut a RFKill" + ++#: sysdeps/gnu/errlist.c:1469 ++msgid "Memory page has hardware error" ++msgstr "La pàgina de memòria té un error de maquinari" ++ + # ivb (2001/10/28) + # ivb Codi -> sembla que aquesta és la traducció correcta, ja que tracta + # ivb d'identificar l'error dins un vector de sistemes d'errors del mach. (?) +-#: sysdeps/mach/_strerror.c:57 ++#: sysdeps/mach/_strerror.c:56 + msgid "Error in unknown error system: " + msgstr "Error en un sistema d’errors desconegut: " + +@@ -6739,26 +6929,13 @@ + msgid "Parameter string not correctly encoded" + msgstr "La cadena paràmetre no té una codificació vàlida" + +-#: sysdeps/unix/siglist.c:26 +-msgid "Signal 0" +-msgstr "Senyal 0" +- +-#: sysdeps/unix/siglist.c:32 +-msgid "IOT trap" +-msgstr "Trampa IOT" +- +-#: sysdeps/unix/sysv/linux/i386/readelflib.c:49 ++#: sysdeps/unix/sysv/linux/i386/readelflib.c:65 + #, c-format + msgid "%s is for unknown machine %d.\n" + msgstr "«%s» és per a la màquina desconeguda %d\n" + +-#: sysdeps/unix/sysv/linux/ia64/makecontext.c:63 ++#: sysdeps/unix/sysv/linux/lddlibc4.c:60 + #, c-format +-msgid "makecontext: does not know how to handle more than 8 arguments\n" +-msgstr "makecontext: no es poden tractar més de 8 arguments\n" +- +-#: sysdeps/unix/sysv/linux/lddlibc4.c:61 +-#, c-format + msgid "" + "Usage: lddlibc4 FILE\n" + "\n" +@@ -6766,81 +6943,81 @@ + "Forma d’ús: lddlibc4 FITXER\n" + "\n" + +-#: sysdeps/unix/sysv/linux/lddlibc4.c:82 ++#: sysdeps/unix/sysv/linux/lddlibc4.c:81 + #, c-format + msgid "cannot open `%s'" + msgstr "no s’ha pogut obrir «%s»" + +-#: sysdeps/unix/sysv/linux/lddlibc4.c:86 ++#: sysdeps/unix/sysv/linux/lddlibc4.c:85 + #, c-format + msgid "cannot read header from `%s'" + msgstr "no s’ha pogut llegir la capçalera de «%s»" + +-#: timezone/zdump.c:215 ++#: timezone/zdump.c:246 + msgid "lacks alphabetic at start" + msgstr "no comença per un caràcter alfabètic" + +-#: timezone/zdump.c:217 ++#: timezone/zdump.c:248 + msgid "has fewer than 3 alphabetics" + msgstr "té menys de 3 caràcters alfabètics" + +-#: timezone/zdump.c:219 ++#: timezone/zdump.c:250 + msgid "has more than 6 alphabetics" + msgstr "té més de 6 caràcters alfabètics" + +-#: timezone/zdump.c:227 ++#: timezone/zdump.c:258 + msgid "differs from POSIX standard" + msgstr "difereix de l’estàndard POSIX" + + # FIXME: language-dependent + # La cadena final és una de les anteriors. ivb +-#: timezone/zdump.c:233 ++#: timezone/zdump.c:264 + #, c-format + msgid "%s: warning: zone \"%s\" abbreviation \"%s\" %s\n" + msgstr "%1$s: avís: l’abreviatura «%3$s» de la zona «%2$s» %4$s\n" + +-#: timezone/zdump.c:242 ++#: timezone/zdump.c:273 + #, c-format + msgid "" + "%s: usage is %s [ --version ] [ --help ] [ -v ] [ -c [loyear,]hiyear ] zonename ...\n" + "\n" +-"Report bugs to tz@elsie.nci.nih.gov.\n" ++"Report bugs to %s.\n" + msgstr "" + "%s: forma d’ús: %s [--version] [--help] [-v] [-c [ANY_INF,]ANY_SUP]\n" + "\tNOM_DE_ZONA…\n" + "\n" +-"Informeu dels errors a tz@elsie.nci.nih.gov.\n" ++"Informeu dels errors a %s.\n" + +-#: timezone/zdump.c:311 ++#: timezone/zdump.c:340 + #, c-format + msgid "%s: wild -c argument %s\n" + msgstr "%s: l’argument de l’opció «-c» no és vàlid: %s\n" + +-#: timezone/zdump.c:398 ++#: timezone/zdump.c:426 + msgid "Error writing to standard output" + msgstr "error en escriure a l’eixida estàndard" + +-#: timezone/zdump.c:421 ++#: timezone/zdump.c:439 + #, c-format + msgid "%s: use of -v on system with floating time_t other than float or double\n" + msgstr "%s: no es pot emprar «-v» ja que «time_t» en aquest sistema és un tipus flotant diferent de «float» i «double»\n" + +-#: timezone/zic.c:388 ++#: timezone/zic.c:361 + #, c-format + msgid "%s: Memory exhausted: %s\n" + msgstr "%s: la memòria s’ha exhaurit: %s\n" + +-#: timezone/zic.c:434 ++#: timezone/zic.c:401 + #, c-format + msgid "\"%s\", line %d: %s" + msgstr "«%s», línia %d: %s" + +-#: timezone/zic.c:437 ++#: timezone/zic.c:404 + #, c-format + msgid " (rule from \"%s\", line %d)" + msgstr " (regla de «%s», línia %d)" + +-#: timezone/zic.c:449 ++#: timezone/zic.c:415 + msgid "warning: " + msgstr "avís: " + +@@ -6848,355 +7025,355 @@ + # ivb Deixe algunes paraules per traduir perquè es refereixen a paraules + # ivb reservades dels fitxers amb què treballa zic. + # Sembla que la barra al final de la línia no pinta res. ivb +-#: timezone/zic.c:459 ++#: timezone/zic.c:425 + #, c-format + 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" ++"Report bugs to %s.\n" + msgstr "" + "%s: forma d’ús: %s [--version] [--help] [-s] [-v] [-l localtime]\n" + "\t[-p posixrules] [-d DIRECTORI] [-L FITXER_SEGONS_INTERCALARS]\n" + "\t[-y yearistype] [FITXER…]\n" + "\n" +-"Informeu dels errors a tz@elsie.nci.nih.gov.\n" ++"Informeu dels errors a %s.\n" + +-#: timezone/zic.c:496 ++#: timezone/zic.c:460 + msgid "wild compilation-time specification of zic_t" + msgstr "l’especificació de «zic_t» en temps de compiŀlació no és vàlida" + +-#: timezone/zic.c:515 ++#: timezone/zic.c:479 + #, c-format + msgid "%s: More than one -d option specified\n" + msgstr "%s: s’ha indicat l’opció «-d» més d’una volta\n" + +-#: timezone/zic.c:525 ++#: timezone/zic.c:489 + #, c-format + msgid "%s: More than one -l option specified\n" + msgstr "%s: s’ha indicat l’opció «-l» més d’una volta\n" + +-#: timezone/zic.c:535 ++#: timezone/zic.c:499 + #, c-format + msgid "%s: More than one -p option specified\n" + msgstr "%s: s’ha indicat l’opció «-p» més d’una volta\n" + +-#: timezone/zic.c:545 ++#: timezone/zic.c:509 + #, c-format + msgid "%s: More than one -y option specified\n" + msgstr "%s: s’ha indicat l’opció «-y» més d’una volta\n" + +-#: timezone/zic.c:555 ++#: timezone/zic.c:519 + #, c-format + msgid "%s: More than one -L option specified\n" + msgstr "%s: s’ha indicat l’opció «-L» més d’una volta\n" + +-#: timezone/zic.c:604 ++#: timezone/zic.c:566 + msgid "link to link" + msgstr "enllaç a un altre enllaç" + +-#: timezone/zic.c:669 ++#: timezone/zic.c:629 + msgid "hard link failed, symbolic link used" + msgstr "no s’ha pogut crear un enllaç fort, se n’ha emprat un de simbòlic" + +-#: timezone/zic.c:677 ++#: timezone/zic.c:637 + #, c-format + msgid "%s: Can't link from %s to %s: %s\n" + msgstr "%s: no s’ha pogut crear un enllaç des de «%s» cap a «%s»: %s\n" + +-#: timezone/zic.c:749 timezone/zic.c:751 ++#: timezone/zic.c:697 timezone/zic.c:699 + msgid "same rule name in multiple files" + msgstr "el mateix nom de regla és repetit a diversos fitxers" + +-#: timezone/zic.c:792 ++#: timezone/zic.c:740 + msgid "unruly zone" + msgstr "la zona no té regles" + +-#: timezone/zic.c:799 ++#: timezone/zic.c:747 + #, c-format + msgid "%s in ruleless zone" + msgstr "«%s» en una zona sense regles" + +-#: timezone/zic.c:820 ++#: timezone/zic.c:767 + msgid "standard input" + msgstr "entrada estàndard" + +-#: timezone/zic.c:825 ++#: timezone/zic.c:772 + #, c-format + msgid "%s: Can't open %s: %s\n" + msgstr "%s: no s’ha pogut obrir «%s»: %s\n" + +-#: timezone/zic.c:836 ++#: timezone/zic.c:783 + msgid "line too long" + msgstr "la línia és massa llarga" + +-#: timezone/zic.c:856 ++#: timezone/zic.c:803 + msgid "input line of unknown type" + msgstr "la línia introduïda pertany a un tipus desconegut" + +-#: timezone/zic.c:872 ++#: timezone/zic.c:819 + #, c-format + msgid "%s: Leap line in non leap seconds file %s\n" + msgstr "%s: línia «Leap» en fitxer no de segons intercalars «%s»\n" + +-#: timezone/zic.c:879 timezone/zic.c:1316 timezone/zic.c:1338 ++#: timezone/zic.c:826 timezone/zic.c:1243 timezone/zic.c:1265 + #, c-format + msgid "%s: panic: Invalid l_value %d\n" + msgstr "%s: pànic: el valor esquerre %d no és vàlid\n" + +-#: timezone/zic.c:887 ++#: timezone/zic.c:834 + #, c-format + msgid "%s: Error reading %s\n" + msgstr "%s: error en llegir «%s»\n" + +-#: timezone/zic.c:894 ++#: timezone/zic.c:841 + #, c-format + msgid "%s: Error closing %s: %s\n" + msgstr "%s: error en tancar «%s»: %s\n" + +-#: timezone/zic.c:899 ++#: timezone/zic.c:846 + msgid "expected continuation line not found" + msgstr "cal una línia de continuació, però se’n troba cap" + +-#: timezone/zic.c:943 timezone/zic.c:2480 timezone/zic.c:2499 ++#: timezone/zic.c:887 timezone/zic.c:2411 timezone/zic.c:2425 + msgid "time overflow" + msgstr "desbordament de l’hora" + +-#: timezone/zic.c:947 ++#: timezone/zic.c:891 + msgid "24:00 not handled by pre-1998 versions of zic" + msgstr "les versions de «zic» anteriors a 1998 no admeten «24:00»" + +-#: timezone/zic.c:950 ++#: timezone/zic.c:894 + msgid "values over 24 hours not handled by pre-2007 versions of zic" + msgstr "les versions de «zic» anteriors a 2007 no admeten valors majors que 24 hores" + +-#: timezone/zic.c:963 ++#: timezone/zic.c:905 + msgid "wrong number of fields on Rule line" + msgstr "el nombre de camps de la línia «Rule» és incorrecte" + +-#: timezone/zic.c:967 ++#: timezone/zic.c:909 + msgid "nameless rule" + msgstr "la regla no té nom" + +-#: timezone/zic.c:972 ++#: timezone/zic.c:914 + msgid "invalid saved time" + msgstr "el temps estalviat no és vàlid" + +-#: timezone/zic.c:993 ++#: timezone/zic.c:932 + msgid "wrong number of fields on Zone line" + msgstr "el nombre de camps de la línia «Zone» no és correcte" + +-#: timezone/zic.c:999 ++#: timezone/zic.c:938 + #, c-format + msgid "\"Zone %s\" line and -l option are mutually exclusive" + msgstr "la línia «Zone %s» i l’opció «-l» són mútuament excloents" + +-#: timezone/zic.c:1007 ++#: timezone/zic.c:946 + #, c-format + msgid "\"Zone %s\" line and -p option are mutually exclusive" + msgstr "la línia «Zone %s» i l’opció «-p» són mútuament excloents" + +-#: timezone/zic.c:1019 ++#: timezone/zic.c:958 + #, c-format + msgid "duplicate zone name %s (file \"%s\", line %d)" + msgstr "el nom de zona «%s» (fitxer «%s», línia %d) és duplicat" + +-#: timezone/zic.c:1035 ++#: timezone/zic.c:972 + msgid "wrong number of fields on Zone continuation line" + msgstr "el nombre de camps de la línia de continuació de «Zone» no és correcte" + +-#: timezone/zic.c:1075 ++#: timezone/zic.c:1009 + msgid "invalid UTC offset" + msgstr "el desplaçament d’UTC no és vàlid" + +-#: timezone/zic.c:1078 ++#: timezone/zic.c:1012 + msgid "invalid abbreviation format" + msgstr "el format de l’abreviatura no és vàlid" + +-#: timezone/zic.c:1107 ++#: timezone/zic.c:1041 + msgid "Zone continuation line end time is not after end time of previous line" + msgstr "el temps final de la línia de continuació de «Zone» no ve darrere del temps final de la línia anterior" + +-#: timezone/zic.c:1135 ++#: timezone/zic.c:1066 + msgid "wrong number of fields on Leap line" + msgstr "el nombre de camps de la línia «Leap» no és correcte" + +-#: timezone/zic.c:1144 ++#: timezone/zic.c:1075 + msgid "invalid leaping year" + msgstr "l’any bixest no és vàlid" + +-#: timezone/zic.c:1164 timezone/zic.c:1270 ++#: timezone/zic.c:1095 timezone/zic.c:1197 + msgid "invalid month name" + msgstr "el nom del mes no és vàlid" + +-#: timezone/zic.c:1177 timezone/zic.c:1383 timezone/zic.c:1397 ++#: timezone/zic.c:1108 timezone/zic.c:1310 timezone/zic.c:1324 + msgid "invalid day of month" + msgstr "el dia del mes no és vàlid" + +-#: timezone/zic.c:1182 ++#: timezone/zic.c:1113 + msgid "time before zero" + msgstr "l’hora és anterior a zero" + +-#: timezone/zic.c:1186 ++#: timezone/zic.c:1117 + msgid "time too small" + msgstr "l’hora és massa menuda" + +-#: timezone/zic.c:1190 ++#: timezone/zic.c:1121 + msgid "time too large" + msgstr "l’hora és massa gran" + +-#: timezone/zic.c:1194 timezone/zic.c:1299 ++#: timezone/zic.c:1125 timezone/zic.c:1226 + msgid "invalid time of day" + msgstr "l’hora del dia no és vàlida" + +-#: timezone/zic.c:1213 ++#: timezone/zic.c:1144 + msgid "illegal CORRECTION field on Leap line" + msgstr "el camp de correcció de la línia de «Leap» no és vàlid" + +-#: timezone/zic.c:1218 ++#: timezone/zic.c:1149 + msgid "illegal Rolling/Stationary field on Leap line" + msgstr "el camp «Rolling/Stationary» de la línia «Leap» no és vàlid" + +-#: timezone/zic.c:1234 ++#: timezone/zic.c:1163 + msgid "wrong number of fields on Link line" + msgstr "el nombre de camps de la línia «Link» no és correcte" + + # El nom del camp no és una paraula clau del fitxer. ivb +-#: timezone/zic.c:1238 ++#: timezone/zic.c:1167 + msgid "blank FROM field on Link line" + msgstr "el camp d’inici de la línia «Link» és buit" + + # El nom del camp no és una paraula clau del fitxer. ivb +-#: timezone/zic.c:1242 ++#: timezone/zic.c:1171 + msgid "blank TO field on Link line" + msgstr "el camp d’acabament de la línia «Link» és buit" + +-#: timezone/zic.c:1320 ++#: timezone/zic.c:1247 + msgid "invalid starting year" + msgstr "l’any de començament no és vàlid" + +-#: timezone/zic.c:1342 ++#: timezone/zic.c:1269 + msgid "invalid ending year" + msgstr "l’any d’acabament no és vàlid" + +-#: timezone/zic.c:1346 ++#: timezone/zic.c:1273 + msgid "starting year greater than ending year" + msgstr "l’any de començament és major que el d’acabament" + +-#: timezone/zic.c:1353 ++#: timezone/zic.c:1280 + msgid "typed single year" + msgstr "s’ha especificat un sol any" + +-#: timezone/zic.c:1388 ++#: timezone/zic.c:1315 + msgid "invalid weekday name" + msgstr "el nom del dia de la setmana no és vàlid" + +-#: timezone/zic.c:1566 ++#: timezone/zic.c:1481 + #, c-format + msgid "%s: Can't remove %s: %s\n" + msgstr "%s: no s’ha pogut eliminar «%s»: %s\n" + +-#: timezone/zic.c:1576 ++#: timezone/zic.c:1491 + #, c-format + msgid "%s: Can't create %s: %s\n" + msgstr "%s: no s’ha pogut crear «%s»: %s\n" + +-#: timezone/zic.c:1726 ++#: timezone/zic.c:1683 + #, c-format + msgid "%s: Error writing %s\n" + msgstr "%s: error en escriure «%s»\n" + +-#: timezone/zic.c:2019 ++#: timezone/zic.c:1964 + msgid "no POSIX environment variable for zone" + msgstr "no s’ha establert una variable d’entorn POSIX per a la zona" + +-#: timezone/zic.c:2176 ++#: timezone/zic.c:2131 + msgid "can't determine time zone abbreviation to use just after until time" + msgstr "no s’ha pogut determinar l’abreviatura de zona horària a emprar just després de la data límit (until)" + +-#: timezone/zic.c:2222 ++#: timezone/zic.c:2175 + msgid "too many transitions?!" + msgstr "hi ha massa transicions?!" + +-#: timezone/zic.c:2241 ++#: timezone/zic.c:2190 + msgid "internal error - addtype called with bad isdst" + msgstr "error intern: s’ha cridat addtype() amb un valor erroni per a «isdst»" + +-#: timezone/zic.c:2245 ++#: timezone/zic.c:2194 + msgid "internal error - addtype called with bad ttisstd" + msgstr "error intern: s’ha cridat addtype() amb un valor erroni per a «ttisstd»" + +-#: timezone/zic.c:2249 ++#: timezone/zic.c:2198 + msgid "internal error - addtype called with bad ttisgmt" + msgstr "error intern: s’ha cridat addtype() amb un valor erroni per a «ttisgmt»" + +-#: timezone/zic.c:2268 ++#: timezone/zic.c:2217 + msgid "too many local time types" + msgstr "hi ha massa tipus d’hora local" + +-#: timezone/zic.c:2272 ++#: timezone/zic.c:2221 + msgid "UTC offset out of range" + msgstr "el desplaçament respecte UTC és fora de rang" + +-#: timezone/zic.c:2300 ++#: timezone/zic.c:2245 + msgid "too many leap seconds" + msgstr "hi ha massa segons intercalars" + +-#: timezone/zic.c:2306 ++#: timezone/zic.c:2251 + msgid "repeated leap second moment" + msgstr "el moment de segon intercalar és repetit" + +-#: timezone/zic.c:2358 ++#: timezone/zic.c:2301 + msgid "Wild result from command execution" + msgstr "l’execució de l’ordre ha donat un resultat estrany" + +-#: timezone/zic.c:2359 ++#: timezone/zic.c:2302 + #, c-format + msgid "%s: command was '%s', result was %d\n" + msgstr "%s: l’ordre ha estat «%s», el resultat ha estat %d\n" + + # ivb (2001/10/30) + # ivb Es refereix a les cometes dobles «"». +-#: timezone/zic.c:2457 ++#: timezone/zic.c:2393 + msgid "Odd number of quotation marks" + msgstr "el nombre de cometes és senar" + +-#: timezone/zic.c:2546 ++#: timezone/zic.c:2470 + msgid "use of 2/29 in non leap-year" + msgstr "s’ha emprat el dia 29 de febrer en un any no bixest" + +-#: timezone/zic.c:2581 ++#: timezone/zic.c:2505 + msgid "rule goes past start/end of month--will not work with pre-2004 versions of zic" + msgstr "la regla va més enllà de l’inici o fi del mes; no funcionarà en les versions de «zic» anteriors a 2004" + +-#: timezone/zic.c:2613 ++#: timezone/zic.c:2536 + msgid "time zone abbreviation lacks alphabetic at start" + msgstr "l’abreviatura de la zona horària no comença per un caràcter alfabètic" + +-#: timezone/zic.c:2615 +-msgid "time zone abbreviation has more than 3 alphabetics" +-msgstr "l’abreviatura de la zona horària té més de 3 caràcters alfabètics" ++#: timezone/zic.c:2538 ++msgid "time zone abbreviation has fewer than 3 alphabetics" ++msgstr "l’abreviatura de la zona horària té menys de 3 caràcters alfabètics" + +-#: timezone/zic.c:2617 ++#: timezone/zic.c:2540 + msgid "time zone abbreviation has too many alphabetics" + msgstr "l’abreviatura de la zona horària té massa caràcters alfabètics" + +-#: timezone/zic.c:2627 ++#: timezone/zic.c:2550 + msgid "time zone abbreviation differs from POSIX standard" + msgstr "l’abreviatura de la zona horària difereix de l’estàndard POSIX" + +-#: timezone/zic.c:2639 ++#: timezone/zic.c:2562 + msgid "too many, or too long, time zone abbreviations" + msgstr "hi ha massa abreviatures de zona horària (o són massa llargues)" + +-#: timezone/zic.c:2680 ++#: timezone/zic.c:2602 + #, c-format + msgid "%s: Can't create directory %s: %s\n" + msgstr "%s: no s’ha pogut crear el directori «%s»: %s\n" + + # ivb (2001/10/28) + # ivb Resulta d'assignar un «int» a un «long». +-#: timezone/zic.c:2702 ++#: timezone/zic.c:2623 + #, c-format + msgid "%s: %d did not sign extend correctly\n" + msgstr "%s: el signe de %d no s’ha estès correctament\n" + +Property changes on: . +___________________________________________________________________ +Modified: svn:mergeinfo + Merged /fsf/glibc-2_17-branch:r22064-22177 + diff --git a/meta/recipes-core/eglibc/eglibc-2.18/eglibc-svn-arm-lowlevellock-include-tls.patch b/meta/recipes-core/eglibc/eglibc-2.18/eglibc-svn-arm-lowlevellock-include-tls.patch new file mode 100644 index 0000000000..4313aa5197 --- /dev/null +++ b/meta/recipes-core/eglibc/eglibc-2.18/eglibc-svn-arm-lowlevellock-include-tls.patch @@ -0,0 +1,21 @@ +In file included from ../nptl/sysdeps/unix/sysv/linux/libc-lowlevellock.c:21: +../nptl/sysdeps/unix/sysv/linux/lowlevellock.c: In function '__lll_lock_wait_private': +../nptl/sysdeps/unix/sysv/linux/lowlevellock.c:34: warning: implicit declaration of function 'THREAD_GETMEM' +../nptl/sysdeps/unix/sysv/linux/lowlevellock.c:34: error: 'THREAD_SELF' undeclared (first use in this function) +../nptl/sysdeps/unix/sysv/linux/lowlevellock.c:34: error: (Each undeclared identifier is reported only once +../nptl/sysdeps/unix/sysv/linux/lowlevellock.c:34: error: for each function it appears in.) +../nptl/sysdeps/unix/sysv/linux/lowlevellock.c:34: error: 'header' undeclared (first use in this function) +make[4]: *** [/var/tmp/portage/sys-libs/glibc-2.7-r1/work/build-default-armv4l-unknown-linux-gnu-nptl/nptl/rtld-libc-lowlevellock.os] Error 1 + +Upstream-Status: Pending + +--- libc/ports/sysdeps/unix/sysv/linux/arm/nptl/lowlevellock.h.orig ++++ libc/ports/sysdeps/unix/sysv/linux/arm/nptl/lowlevellock.h +@@ -25,6 +25,7 @@ + #include <atomic.h> + #include <sysdep.h> + #include <kernel-features.h> ++#include <tls.h> + + #define FUTEX_WAIT 0 + #define FUTEX_WAKE 1 diff --git a/meta/recipes-core/eglibc/eglibc-2.18/eglibc_fix_findidx_parameters.patch b/meta/recipes-core/eglibc/eglibc-2.18/eglibc_fix_findidx_parameters.patch new file mode 100644 index 0000000000..bbf4605505 --- /dev/null +++ b/meta/recipes-core/eglibc/eglibc-2.18/eglibc_fix_findidx_parameters.patch @@ -0,0 +1,38 @@ +Upstream-Status: backport + +Imported patch from: http://www.eglibc.org/archives/patches/msg01124.html + +Signed-Off-By: Nitin A Kamble <nitin.a.kamble@intel.com> +2012/05/09 + +Index: libc/posix/xregex.c +=================================================================== +--- libc.orig/posix/xregex.c ++++ libc/posix/xregex.c +@@ -2943,7 +2943,7 @@ PREFIX(regex_compile) (const char *ARG_P + _NL_CURRENT (LC_COLLATE, + _NL_COLLATE_INDIRECTWC); + +- idx = findidx ((const wint_t**)&cp); ++ idx = findidx ((const wint_t**)&cp, -1); + if (idx == 0 || cp < (wint_t*) str + c1) + /* This is no valid character. */ + FREE_STACK_RETURN (REG_ECOLLATE); +@@ -3392,7 +3392,7 @@ PREFIX(regex_compile) (const char *ARG_P + indirect = (const int32_t *) + _NL_CURRENT (LC_COLLATE, _NL_COLLATE_INDIRECTMB); + +- idx = findidx (&cp); ++ idx = findidx (&cp, -1); + if (idx == 0 || cp < str + c1) + /* This is no valid character. */ + FREE_STACK_RETURN (REG_ECOLLATE); +@@ -6363,7 +6363,7 @@ byte_re_match_2_internal (struct re_patt + } + str_buf[i] = TRANSLATE(*(d+i)); + str_buf[i+1] = '\0'; /* sentinel */ +- idx2 = findidx ((const wint_t**)&cp); ++ idx2 = findidx ((const wint_t**)&cp, -1); + } + + /* Update d, however d will be incremented at diff --git a/meta/recipes-core/eglibc/eglibc-2.18/etc/ld.so.conf b/meta/recipes-core/eglibc/eglibc-2.18/etc/ld.so.conf new file mode 100644 index 0000000000..e69de29bb2 --- /dev/null +++ b/meta/recipes-core/eglibc/eglibc-2.18/etc/ld.so.conf diff --git a/meta/recipes-core/eglibc/eglibc-2.18/fileops-without-wchar-io.patch b/meta/recipes-core/eglibc/eglibc-2.18/fileops-without-wchar-io.patch new file mode 100644 index 0000000000..2ca0bca248 --- /dev/null +++ b/meta/recipes-core/eglibc/eglibc-2.18/fileops-without-wchar-io.patch @@ -0,0 +1,22 @@ +Fix error like + +/home/kraj/work/angstrom/sources/openembedded-core/build/tmp-eglibc/work/mips64-oe-linux/eglibc-2.16-r2+svnr19383/build-mips64-oe-linux/libc_pic.os: In function `_IO_new_file_fopen': +/home/kraj/work/angstrom/sources/openembedded-core/build/tmp-eglibc/work/mips64-oe-linux/eglibc-2.16-r2+svnr19383/eglibc-2_16/libc/libio/fileops.c:431: undefined reference to `_IO_file_close_it_internal' +collect2: error: ld returned 1 exit status + + +Signed-off-by: Khem Raj <raj.khem@gmail.com> +Upstream-Status: Pending +Index: libc/libio/fileops.c +=================================================================== +--- libc.orig/libio/fileops.c 2012-07-04 18:25:47.000000000 -0700 ++++ libc/libio/fileops.c 2012-07-24 00:21:17.220322557 -0700 +@@ -428,7 +428,7 @@ + result->_mode = 1; + #else + /* Treat this as if we couldn't find the given character set. */ +- (void) INTUSE(_IO_file_close_it) (fp); ++ (void) _IO_file_close_it (fp); + __set_errno (EINVAL); + return NULL; + #endif diff --git a/meta/recipes-core/eglibc/eglibc-2.18/fix-tibetian-locales.patch b/meta/recipes-core/eglibc/eglibc-2.18/fix-tibetian-locales.patch new file mode 100644 index 0000000000..25c43a9fe6 --- /dev/null +++ b/meta/recipes-core/eglibc/eglibc-2.18/fix-tibetian-locales.patch @@ -0,0 +1,38 @@ +cross localedef fails to compile these locales because name_fmt field is empty +It is not acceptable for cross localedef and it errors out + +LC_NAME: field `name_fmt' not defined + +We therefore give a dummy string to the format, the real fix needs some native +tibetian person to define proper name_fmt + +Upstream-Status: Pending + +Signed-off-by: Khem Raj <raj.khem@gmail.com> + +Index: libc/localedata/locales/bo_CN +=================================================================== +--- libc.orig/localedata/locales/bo_CN 2012-11-17 09:50:14.000000000 -0800 ++++ libc/localedata/locales/bo_CN 2013-01-04 08:55:15.593612288 -0800 +@@ -145,7 +145,7 @@ + LC_NAME + % FIXME + +-name_fmt "" ++name_fmt "FIXME" + % name_gen "FIXME" + % name_miss "FIXME" + % name_mr "FIXME" +Index: libc/localedata/locales/bo_IN +=================================================================== +--- libc.orig/localedata/locales/bo_IN 2012-11-17 09:50:14.000000000 -0800 ++++ libc/localedata/locales/bo_IN 2013-01-04 08:54:12.345609028 -0800 +@@ -70,7 +70,7 @@ + + LC_NAME + % FIXME +-name_fmt "" ++name_fmt "FIXME" + % name_gen "FIXME" + % name_miss "FIXME" + % name_mr "FIXME" diff --git a/meta/recipes-core/eglibc/eglibc-2.18/fix_for_centos_5.8.patch b/meta/recipes-core/eglibc/eglibc-2.18/fix_for_centos_5.8.patch new file mode 100644 index 0000000000..7618c99534 --- /dev/null +++ b/meta/recipes-core/eglibc/eglibc-2.18/fix_for_centos_5.8.patch @@ -0,0 +1,18 @@ +Upstream-Status: Inappropriate [other] + +This is a hack to fix building the locale bits on an older +CentOs 5.X machine + +Index: eglibc-2_16/libc/locale/programs/config.h +=================================================================== +--- eglibc-2_16.orig/libc/locale/programs/config.h ++++ eglibc-2_16/libc/locale/programs/config.h +@@ -19,6 +19,8 @@ + #ifndef _LD_CONFIG_H + #define _LD_CONFIG_H 1 + ++#define DUMMY_LOCALE_T ++ + /* Use the internal textdomain used for libc messages. */ + #define PACKAGE _libc_intl_domainname + #ifndef VERSION diff --git a/meta/recipes-core/eglibc/eglibc-2.18/fsl-ppc-no-fsqrt.patch b/meta/recipes-core/eglibc/eglibc-2.18/fsl-ppc-no-fsqrt.patch new file mode 100644 index 0000000000..511ee9d19e --- /dev/null +++ b/meta/recipes-core/eglibc/eglibc-2.18/fsl-ppc-no-fsqrt.patch @@ -0,0 +1,100 @@ +Create e5500 specific math_private.h and let it include when compiling for e5500/64bit core +We prefefine __CPU_HAS_FSQRT to 0 and then in general ppc64 math_private.h we check if its +already defined before redefining it. This way we can ensure that on e5500 builds it wont +emit fsqrt intructions + +-Khem + +Upstream-Status: Pending + +Index: libc/sysdeps/powerpc/fpu/math_private.h +=================================================================== +--- libc.orig/sysdeps/powerpc/fpu/math_private.h ++++ libc/sysdeps/powerpc/fpu/math_private.h +@@ -25,10 +25,12 @@ + #include <dl-procinfo.h> + #include_next <math_private.h> + +-# if __WORDSIZE == 64 || defined _ARCH_PWR4 +-# define __CPU_HAS_FSQRT 1 +-# else +-# define __CPU_HAS_FSQRT ((GLRO(dl_hwcap) & PPC_FEATURE_64) != 0) ++# ifndef __CPU_HAS_FSQRT ++# if __WORDSIZE == 64 || defined _ARCH_PWR4 ++# define __CPU_HAS_FSQRT 1 ++# else ++# define __CPU_HAS_FSQRT ((GLRO(dl_hwcap) & PPC_FEATURE_64) != 0) ++# endif + # endif + + extern double __slow_ieee754_sqrt (double); +Index: libc/ports/sysdeps/powerpc/powerpc64/e5500/fpu/math_private.h +=================================================================== +--- /dev/null ++++ libc/ports/sysdeps/powerpc/powerpc64/e5500/fpu/math_private.h +@@ -0,0 +1,9 @@ ++#ifndef _E5500_MATH_PRIVATE_H_ ++#define _E5500_MATH_PRIVATE_H_ 1 ++/* E5500 core FPU does not implement ++ fsqrt */ ++ ++#define __CPU_HAS_FSQRT 0 ++#include_next <math_private.h> ++ ++#endif /* _E5500_MATH_PRIVATE_H_ */ +Index: libc/ports/sysdeps/powerpc/powerpc64/e6500/fpu/math_private.h +=================================================================== +--- /dev/null ++++ libc/ports/sysdeps/powerpc/powerpc64/e6500/fpu/math_private.h +@@ -0,0 +1,9 @@ ++#ifndef _E6500_MATH_PRIVATE_H_ ++#define _E6500_MATH_PRIVATE_H_ 1 ++/* E6500 core FPU does not implement ++ fsqrt */ ++ ++#define __CPU_HAS_FSQRT 0 ++#include_next <math_private.h> ++ ++#endif /* _E6500_MATH_PRIVATE_H_ */ +Index: libc/ports/sysdeps/powerpc/powerpc32/e500mc/fpu/math_private.h +=================================================================== +--- /dev/null ++++ libc/ports/sysdeps/powerpc/powerpc32/e500mc/fpu/math_private.h +@@ -0,0 +1,9 @@ ++#ifndef _E500MC_MATH_PRIVATE_H_ ++#define _E500MC_MATH_PRIVATE_H_ 1 ++/* E500MC core FPU does not implement ++ fsqrt */ ++ ++#define __CPU_HAS_FSQRT 0 ++#include_next <math_private.h> ++ ++#endif /* _E500MC_MATH_PRIVATE_H_ */ +Index: libc/ports/sysdeps/powerpc/powerpc32/e5500/fpu/math_private.h +=================================================================== +--- /dev/null ++++ libc/ports/sysdeps/powerpc/powerpc32/e5500/fpu/math_private.h +@@ -0,0 +1,9 @@ ++#ifndef _E5500_MATH_PRIVATE_H_ ++#define _E5500_MATH_PRIVATE_H_ 1 ++/* E5500 core FPU does not implement ++ fsqrt */ ++ ++#define __CPU_HAS_FSQRT 0 ++#include_next <math_private.h> ++ ++#endif /* _E5500_MATH_PRIVATE_H_ */ +Index: libc/ports/sysdeps/powerpc/powerpc32/e6500/fpu/math_private.h +=================================================================== +--- /dev/null ++++ libc/ports/sysdeps/powerpc/powerpc32/e6500/fpu/math_private.h +@@ -0,0 +1,9 @@ ++#ifndef _E6500_MATH_PRIVATE_H_ ++#define _E6500_MATH_PRIVATE_H_ 1 ++/* E6500 core FPU does not implement ++ fsqrt */ ++ ++#define __CPU_HAS_FSQRT 0 ++#include_next <math_private.h> ++ ++#endif /* _E6500_MATH_PRIVATE_H_ */ diff --git a/meta/recipes-core/eglibc/eglibc-2.18/generate-supported.mk b/meta/recipes-core/eglibc/eglibc-2.18/generate-supported.mk new file mode 100644 index 0000000000..d2a28c2dc6 --- /dev/null +++ b/meta/recipes-core/eglibc/eglibc-2.18/generate-supported.mk @@ -0,0 +1,11 @@ +#!/usr/bin/make + +include $(IN) + +all: + rm -f $(OUT) + touch $(OUT) + for locale in $(SUPPORTED-LOCALES); do \ + [ $$locale = true ] && continue; \ + echo $$locale | sed 's,/, ,' >> $(OUT); \ + done diff --git a/meta/recipes-core/eglibc/eglibc-2.18/glibc.fix_sqrt2.patch b/meta/recipes-core/eglibc/eglibc-2.18/glibc.fix_sqrt2.patch new file mode 100644 index 0000000000..a66972998c --- /dev/null +++ b/meta/recipes-core/eglibc/eglibc-2.18/glibc.fix_sqrt2.patch @@ -0,0 +1,1491 @@ +Signed-of-by: Edmar Wienskoski <edmar@freescale.com> +Upstream-Status: Pending + +diff -ruN libc-orig/sysdeps/powerpc/powerpc32/603e/fpu/e_sqrt.c libc/sysdeps/powerpc/powerpc32/603e/fpu/e_sqrt.c +--- libc-orig/sysdeps/powerpc/powerpc32/603e/fpu/e_sqrt.c 1969-12-31 18:00:00.000000000 -0600 ++++ libc/sysdeps/powerpc/powerpc32/603e/fpu/e_sqrt.c 2012-06-14 14:51:50.452001745 -0500 +@@ -0,0 +1,134 @@ ++/* Double-precision floating point square root. ++ Copyright (C) 2010 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 <math.h> ++#include <math_private.h> ++#include <fenv_libc.h> ++#include <inttypes.h> ++ ++#include <sysdep.h> ++#include <ldsodefs.h> ++ ++static const ieee_float_shape_type a_nan = {.word = 0x7fc00000 }; ++static const ieee_float_shape_type a_inf = {.word = 0x7f800000 }; ++static const float two108 = 3.245185536584267269e+32; ++static const float twom54 = 5.551115123125782702e-17; ++static const float half = 0.5; ++ ++/* The method is based on the descriptions in: ++ ++ _The Handbook of Floating-Pointer Arithmetic_ by Muller et al., chapter 5; ++ _IA-64 and Elementary Functions: Speed and Precision_ by Markstein, chapter 9 ++ ++ We find the actual square root and half of its reciprocal ++ simultaneously. */ ++ ++#ifdef __STDC__ ++double ++__ieee754_sqrt (double b) ++#else ++double ++__ieee754_sqrt (b) ++ double b; ++#endif ++{ ++ if (__builtin_expect (b > 0, 1)) ++ { ++ double y, g, h, d, r; ++ ieee_double_shape_type u; ++ ++ if (__builtin_expect (b != a_inf.value, 1)) ++ { ++ fenv_t fe; ++ ++ fe = fegetenv_register (); ++ ++ u.value = b; ++ ++ relax_fenv_state (); ++ ++ __asm__ ("frsqrte %[estimate], %[x]\n" ++ : [estimate] "=f" (y) : [x] "f" (b)); ++ ++ /* Following Muller et al, page 168, equation 5.20. ++ ++ h goes to 1/(2*sqrt(b)) ++ g goes to sqrt(b). ++ ++ We need three iterations to get within 1ulp. */ ++ ++ /* Indicate that these can be performed prior to the branch. GCC ++ insists on sinking them below the branch, however; it seems like ++ they'd be better before the branch so that we can cover any latency ++ from storing the argument and loading its high word. Oh well. */ ++ ++ g = b * y; ++ h = 0.5 * y; ++ ++ /* Handle small numbers by scaling. */ ++ if (__builtin_expect ((u.parts.msw & 0x7ff00000) <= 0x02000000, 0)) ++ return __ieee754_sqrt (b * two108) * twom54; ++ ++#define FMADD(a_, c_, b_) \ ++ ({ double __r; \ ++ __asm__ ("fmadd %[r], %[a], %[c], %[b]\n" \ ++ : [r] "=f" (__r) : [a] "f" (a_), [c] "f" (c_), [b] "f" (b_)); \ ++ __r;}) ++#define FNMSUB(a_, c_, b_) \ ++ ({ double __r; \ ++ __asm__ ("fnmsub %[r], %[a], %[c], %[b]\n" \ ++ : [r] "=f" (__r) : [a] "f" (a_), [c] "f" (c_), [b] "f" (b_)); \ ++ __r;}) ++ ++ r = FNMSUB (g, h, half); ++ g = FMADD (g, r, g); ++ h = FMADD (h, r, h); ++ ++ r = FNMSUB (g, h, half); ++ g = FMADD (g, r, g); ++ h = FMADD (h, r, h); ++ ++ r = FNMSUB (g, h, half); ++ g = FMADD (g, r, g); ++ h = FMADD (h, r, h); ++ ++ /* g is now +/- 1ulp, or exactly equal to, the square root of b. */ ++ ++ /* Final refinement. */ ++ d = FNMSUB (g, g, b); ++ ++ fesetenv_register (fe); ++ return FMADD (d, h, g); ++ } ++ } ++ else if (b < 0) ++ { ++ /* For some reason, some PowerPC32 processors don't implement ++ FE_INVALID_SQRT. */ ++#ifdef FE_INVALID_SQRT ++ feraiseexcept (FE_INVALID_SQRT); ++ ++ fenv_union_t u = { .fenv = fegetenv_register () }; ++ if ((u.l[1] & FE_INVALID) == 0) ++#endif ++ feraiseexcept (FE_INVALID); ++ b = a_nan.value; ++ } ++ return f_wash (b); ++} +diff -ruN libc-orig/sysdeps/powerpc/powerpc32/603e/fpu/e_sqrtf.c libc/sysdeps/powerpc/powerpc32/603e/fpu/e_sqrtf.c +--- libc-orig/sysdeps/powerpc/powerpc32/603e/fpu/e_sqrtf.c 1969-12-31 18:00:00.000000000 -0600 ++++ libc/sysdeps/powerpc/powerpc32/603e/fpu/e_sqrtf.c 2012-06-14 14:51:50.452001745 -0500 +@@ -0,0 +1,101 @@ ++/* Single-precision floating point square root. ++ Copyright (C) 2010 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 <math.h> ++#include <math_private.h> ++#include <fenv_libc.h> ++#include <inttypes.h> ++ ++#include <sysdep.h> ++#include <ldsodefs.h> ++ ++static const ieee_float_shape_type a_nan = {.word = 0x7fc00000 }; ++static const ieee_float_shape_type a_inf = {.word = 0x7f800000 }; ++static const float threehalf = 1.5; ++ ++/* The method is based on the descriptions in: ++ ++ _The Handbook of Floating-Pointer Arithmetic_ by Muller et al., chapter 5; ++ _IA-64 and Elementary Functions: Speed and Precision_ by Markstein, chapter 9 ++ ++ We find the reciprocal square root and use that to compute the actual ++ square root. */ ++ ++#ifdef __STDC__ ++float ++__ieee754_sqrtf (float b) ++#else ++float ++__ieee754_sqrtf (b) ++ float b; ++#endif ++{ ++ if (__builtin_expect (b > 0, 1)) ++ { ++#define FMSUB(a_, c_, b_) \ ++ ({ double __r; \ ++ __asm__ ("fmsub %[r], %[a], %[c], %[b]\n" \ ++ : [r] "=f" (__r) : [a] "f" (a_), [c] "f" (c_), [b] "f" (b_)); \ ++ __r;}) ++#define FNMSUB(a_, c_, b_) \ ++ ({ double __r; \ ++ __asm__ ("fnmsub %[r], %[a], %[c], %[b]\n" \ ++ : [r] "=f" (__r) : [a] "f" (a_), [c] "f" (c_), [b] "f" (b_)); \ ++ __r;}) ++ ++ if (__builtin_expect (b != a_inf.value, 1)) ++ { ++ double y, x; ++ fenv_t fe; ++ ++ fe = fegetenv_register (); ++ ++ relax_fenv_state (); ++ ++ /* Compute y = 1.5 * b - b. Uses fewer constants than y = 0.5 * b. */ ++ y = FMSUB (threehalf, b, b); ++ ++ /* Initial estimate. */ ++ __asm__ ("frsqrte %[x], %[b]\n" : [x] "=f" (x) : [b] "f" (b)); ++ ++ /* Iterate. x_{n+1} = x_n * (1.5 - y * (x_n * x_n)). */ ++ x = x * FNMSUB (y, x * x, threehalf); ++ x = x * FNMSUB (y, x * x, threehalf); ++ x = x * FNMSUB (y, x * x, threehalf); ++ ++ /* All done. */ ++ fesetenv_register (fe); ++ return x * b; ++ } ++ } ++ else if (b < 0) ++ { ++ /* For some reason, some PowerPC32 processors don't implement ++ FE_INVALID_SQRT. */ ++#ifdef FE_INVALID_SQRT ++ feraiseexcept (FE_INVALID_SQRT); ++ ++ fenv_union_t u = { .fenv = fegetenv_register () }; ++ if ((u.l[1] & FE_INVALID) == 0) ++#endif ++ feraiseexcept (FE_INVALID); ++ b = a_nan.value; ++ } ++ return f_washf (b); ++} +diff -ruN libc-orig/sysdeps/powerpc/powerpc32/e500mc/fpu/e_sqrt.c libc/sysdeps/powerpc/powerpc32/e500mc/fpu/e_sqrt.c +--- libc-orig/sysdeps/powerpc/powerpc32/e500mc/fpu/e_sqrt.c 1969-12-31 18:00:00.000000000 -0600 ++++ libc/sysdeps/powerpc/powerpc32/e500mc/fpu/e_sqrt.c 2012-06-14 14:55:14.749001061 -0500 +@@ -0,0 +1,134 @@ ++/* Double-precision floating point square root. ++ Copyright (C) 2010 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 <math.h> ++#include <math_private.h> ++#include <fenv_libc.h> ++#include <inttypes.h> ++ ++#include <sysdep.h> ++#include <ldsodefs.h> ++ ++static const ieee_float_shape_type a_nan = {.word = 0x7fc00000 }; ++static const ieee_float_shape_type a_inf = {.word = 0x7f800000 }; ++static const float two108 = 3.245185536584267269e+32; ++static const float twom54 = 5.551115123125782702e-17; ++static const float half = 0.5; ++ ++/* The method is based on the descriptions in: ++ ++ _The Handbook of Floating-Pointer Arithmetic_ by Muller et al., chapter 5; ++ _IA-64 and Elementary Functions: Speed and Precision_ by Markstein, chapter 9 ++ ++ We find the actual square root and half of its reciprocal ++ simultaneously. */ ++ ++#ifdef __STDC__ ++double ++__ieee754_sqrt (double b) ++#else ++double ++__ieee754_sqrt (b) ++ double b; ++#endif ++{ ++ if (__builtin_expect (b > 0, 1)) ++ { ++ double y, g, h, d, r; ++ ieee_double_shape_type u; ++ ++ if (__builtin_expect (b != a_inf.value, 1)) ++ { ++ fenv_t fe; ++ ++ fe = fegetenv_register (); ++ ++ u.value = b; ++ ++ relax_fenv_state (); ++ ++ __asm__ ("frsqrte %[estimate], %[x]\n" ++ : [estimate] "=f" (y) : [x] "f" (b)); ++ ++ /* Following Muller et al, page 168, equation 5.20. ++ ++ h goes to 1/(2*sqrt(b)) ++ g goes to sqrt(b). ++ ++ We need three iterations to get within 1ulp. */ ++ ++ /* Indicate that these can be performed prior to the branch. GCC ++ insists on sinking them below the branch, however; it seems like ++ they'd be better before the branch so that we can cover any latency ++ from storing the argument and loading its high word. Oh well. */ ++ ++ g = b * y; ++ h = 0.5 * y; ++ ++ /* Handle small numbers by scaling. */ ++ if (__builtin_expect ((u.parts.msw & 0x7ff00000) <= 0x02000000, 0)) ++ return __ieee754_sqrt (b * two108) * twom54; ++ ++#define FMADD(a_, c_, b_) \ ++ ({ double __r; \ ++ __asm__ ("fmadd %[r], %[a], %[c], %[b]\n" \ ++ : [r] "=f" (__r) : [a] "f" (a_), [c] "f" (c_), [b] "f" (b_)); \ ++ __r;}) ++#define FNMSUB(a_, c_, b_) \ ++ ({ double __r; \ ++ __asm__ ("fnmsub %[r], %[a], %[c], %[b]\n" \ ++ : [r] "=f" (__r) : [a] "f" (a_), [c] "f" (c_), [b] "f" (b_)); \ ++ __r;}) ++ ++ r = FNMSUB (g, h, half); ++ g = FMADD (g, r, g); ++ h = FMADD (h, r, h); ++ ++ r = FNMSUB (g, h, half); ++ g = FMADD (g, r, g); ++ h = FMADD (h, r, h); ++ ++ r = FNMSUB (g, h, half); ++ g = FMADD (g, r, g); ++ h = FMADD (h, r, h); ++ ++ /* g is now +/- 1ulp, or exactly equal to, the square root of b. */ ++ ++ /* Final refinement. */ ++ d = FNMSUB (g, g, b); ++ ++ fesetenv_register (fe); ++ return FMADD (d, h, g); ++ } ++ } ++ else if (b < 0) ++ { ++ /* For some reason, some PowerPC32 processors don't implement ++ FE_INVALID_SQRT. */ ++#ifdef FE_INVALID_SQRT ++ feraiseexcept (FE_INVALID_SQRT); ++ ++ fenv_union_t u = { .fenv = fegetenv_register () }; ++ if ((u.l[1] & FE_INVALID) == 0) ++#endif ++ feraiseexcept (FE_INVALID); ++ b = a_nan.value; ++ } ++ return f_wash (b); ++} +diff -ruN libc-orig/sysdeps/powerpc/powerpc32/e500mc/fpu/e_sqrtf.c libc/sysdeps/powerpc/powerpc32/e500mc/fpu/e_sqrtf.c +--- libc-orig/sysdeps/powerpc/powerpc32/e500mc/fpu/e_sqrtf.c 1969-12-31 18:00:00.000000000 -0600 ++++ libc/sysdeps/powerpc/powerpc32/e500mc/fpu/e_sqrtf.c 2012-06-14 14:55:14.749001061 -0500 +@@ -0,0 +1,101 @@ ++/* Single-precision floating point square root. ++ Copyright (C) 2010 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 <math.h> ++#include <math_private.h> ++#include <fenv_libc.h> ++#include <inttypes.h> ++ ++#include <sysdep.h> ++#include <ldsodefs.h> ++ ++static const ieee_float_shape_type a_nan = {.word = 0x7fc00000 }; ++static const ieee_float_shape_type a_inf = {.word = 0x7f800000 }; ++static const float threehalf = 1.5; ++ ++/* The method is based on the descriptions in: ++ ++ _The Handbook of Floating-Pointer Arithmetic_ by Muller et al., chapter 5; ++ _IA-64 and Elementary Functions: Speed and Precision_ by Markstein, chapter 9 ++ ++ We find the reciprocal square root and use that to compute the actual ++ square root. */ ++ ++#ifdef __STDC__ ++float ++__ieee754_sqrtf (float b) ++#else ++float ++__ieee754_sqrtf (b) ++ float b; ++#endif ++{ ++ if (__builtin_expect (b > 0, 1)) ++ { ++#define FMSUB(a_, c_, b_) \ ++ ({ double __r; \ ++ __asm__ ("fmsub %[r], %[a], %[c], %[b]\n" \ ++ : [r] "=f" (__r) : [a] "f" (a_), [c] "f" (c_), [b] "f" (b_)); \ ++ __r;}) ++#define FNMSUB(a_, c_, b_) \ ++ ({ double __r; \ ++ __asm__ ("fnmsub %[r], %[a], %[c], %[b]\n" \ ++ : [r] "=f" (__r) : [a] "f" (a_), [c] "f" (c_), [b] "f" (b_)); \ ++ __r;}) ++ ++ if (__builtin_expect (b != a_inf.value, 1)) ++ { ++ double y, x; ++ fenv_t fe; ++ ++ fe = fegetenv_register (); ++ ++ relax_fenv_state (); ++ ++ /* Compute y = 1.5 * b - b. Uses fewer constants than y = 0.5 * b. */ ++ y = FMSUB (threehalf, b, b); ++ ++ /* Initial estimate. */ ++ __asm__ ("frsqrte %[x], %[b]\n" : [x] "=f" (x) : [b] "f" (b)); ++ ++ /* Iterate. x_{n+1} = x_n * (1.5 - y * (x_n * x_n)). */ ++ x = x * FNMSUB (y, x * x, threehalf); ++ x = x * FNMSUB (y, x * x, threehalf); ++ x = x * FNMSUB (y, x * x, threehalf); ++ ++ /* All done. */ ++ fesetenv_register (fe); ++ return x * b; ++ } ++ } ++ else if (b < 0) ++ { ++ /* For some reason, some PowerPC32 processors don't implement ++ FE_INVALID_SQRT. */ ++#ifdef FE_INVALID_SQRT ++ feraiseexcept (FE_INVALID_SQRT); ++ ++ fenv_union_t u = { .fenv = fegetenv_register () }; ++ if ((u.l[1] & FE_INVALID) == 0) ++#endif ++ feraiseexcept (FE_INVALID); ++ b = a_nan.value; ++ } ++ return f_washf (b); ++} +diff -ruN libc-orig/sysdeps/powerpc/powerpc32/e5500/fpu/e_sqrt.c libc/sysdeps/powerpc/powerpc32/e5500/fpu/e_sqrt.c +--- libc-orig/sysdeps/powerpc/powerpc32/e5500/fpu/e_sqrt.c 1969-12-31 18:00:00.000000000 -0600 ++++ libc/sysdeps/powerpc/powerpc32/e5500/fpu/e_sqrt.c 2012-06-14 14:55:21.812002270 -0500 +@@ -0,0 +1,134 @@ ++/* Double-precision floating point square root. ++ Copyright (C) 2010 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 <math.h> ++#include <math_private.h> ++#include <fenv_libc.h> ++#include <inttypes.h> ++ ++#include <sysdep.h> ++#include <ldsodefs.h> ++ ++static const ieee_float_shape_type a_nan = {.word = 0x7fc00000 }; ++static const ieee_float_shape_type a_inf = {.word = 0x7f800000 }; ++static const float two108 = 3.245185536584267269e+32; ++static const float twom54 = 5.551115123125782702e-17; ++static const float half = 0.5; ++ ++/* The method is based on the descriptions in: ++ ++ _The Handbook of Floating-Pointer Arithmetic_ by Muller et al., chapter 5; ++ _IA-64 and Elementary Functions: Speed and Precision_ by Markstein, chapter 9 ++ ++ We find the actual square root and half of its reciprocal ++ simultaneously. */ ++ ++#ifdef __STDC__ ++double ++__ieee754_sqrt (double b) ++#else ++double ++__ieee754_sqrt (b) ++ double b; ++#endif ++{ ++ if (__builtin_expect (b > 0, 1)) ++ { ++ double y, g, h, d, r; ++ ieee_double_shape_type u; ++ ++ if (__builtin_expect (b != a_inf.value, 1)) ++ { ++ fenv_t fe; ++ ++ fe = fegetenv_register (); ++ ++ u.value = b; ++ ++ relax_fenv_state (); ++ ++ __asm__ ("frsqrte %[estimate], %[x]\n" ++ : [estimate] "=f" (y) : [x] "f" (b)); ++ ++ /* Following Muller et al, page 168, equation 5.20. ++ ++ h goes to 1/(2*sqrt(b)) ++ g goes to sqrt(b). ++ ++ We need three iterations to get within 1ulp. */ ++ ++ /* Indicate that these can be performed prior to the branch. GCC ++ insists on sinking them below the branch, however; it seems like ++ they'd be better before the branch so that we can cover any latency ++ from storing the argument and loading its high word. Oh well. */ ++ ++ g = b * y; ++ h = 0.5 * y; ++ ++ /* Handle small numbers by scaling. */ ++ if (__builtin_expect ((u.parts.msw & 0x7ff00000) <= 0x02000000, 0)) ++ return __ieee754_sqrt (b * two108) * twom54; ++ ++#define FMADD(a_, c_, b_) \ ++ ({ double __r; \ ++ __asm__ ("fmadd %[r], %[a], %[c], %[b]\n" \ ++ : [r] "=f" (__r) : [a] "f" (a_), [c] "f" (c_), [b] "f" (b_)); \ ++ __r;}) ++#define FNMSUB(a_, c_, b_) \ ++ ({ double __r; \ ++ __asm__ ("fnmsub %[r], %[a], %[c], %[b]\n" \ ++ : [r] "=f" (__r) : [a] "f" (a_), [c] "f" (c_), [b] "f" (b_)); \ ++ __r;}) ++ ++ r = FNMSUB (g, h, half); ++ g = FMADD (g, r, g); ++ h = FMADD (h, r, h); ++ ++ r = FNMSUB (g, h, half); ++ g = FMADD (g, r, g); ++ h = FMADD (h, r, h); ++ ++ r = FNMSUB (g, h, half); ++ g = FMADD (g, r, g); ++ h = FMADD (h, r, h); ++ ++ /* g is now +/- 1ulp, or exactly equal to, the square root of b. */ ++ ++ /* Final refinement. */ ++ d = FNMSUB (g, g, b); ++ ++ fesetenv_register (fe); ++ return FMADD (d, h, g); ++ } ++ } ++ else if (b < 0) ++ { ++ /* For some reason, some PowerPC32 processors don't implement ++ FE_INVALID_SQRT. */ ++#ifdef FE_INVALID_SQRT ++ feraiseexcept (FE_INVALID_SQRT); ++ ++ fenv_union_t u = { .fenv = fegetenv_register () }; ++ if ((u.l[1] & FE_INVALID) == 0) ++#endif ++ feraiseexcept (FE_INVALID); ++ b = a_nan.value; ++ } ++ return f_wash (b); ++} +diff -ruN libc-orig/sysdeps/powerpc/powerpc32/e5500/fpu/e_sqrtf.c libc/sysdeps/powerpc/powerpc32/e5500/fpu/e_sqrtf.c +--- libc-orig/sysdeps/powerpc/powerpc32/e5500/fpu/e_sqrtf.c 1969-12-31 18:00:00.000000000 -0600 ++++ libc/sysdeps/powerpc/powerpc32/e5500/fpu/e_sqrtf.c 2012-06-14 14:55:21.812002270 -0500 +@@ -0,0 +1,101 @@ ++/* Single-precision floating point square root. ++ Copyright (C) 2010 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 <math.h> ++#include <math_private.h> ++#include <fenv_libc.h> ++#include <inttypes.h> ++ ++#include <sysdep.h> ++#include <ldsodefs.h> ++ ++static const ieee_float_shape_type a_nan = {.word = 0x7fc00000 }; ++static const ieee_float_shape_type a_inf = {.word = 0x7f800000 }; ++static const float threehalf = 1.5; ++ ++/* The method is based on the descriptions in: ++ ++ _The Handbook of Floating-Pointer Arithmetic_ by Muller et al., chapter 5; ++ _IA-64 and Elementary Functions: Speed and Precision_ by Markstein, chapter 9 ++ ++ We find the reciprocal square root and use that to compute the actual ++ square root. */ ++ ++#ifdef __STDC__ ++float ++__ieee754_sqrtf (float b) ++#else ++float ++__ieee754_sqrtf (b) ++ float b; ++#endif ++{ ++ if (__builtin_expect (b > 0, 1)) ++ { ++#define FMSUB(a_, c_, b_) \ ++ ({ double __r; \ ++ __asm__ ("fmsub %[r], %[a], %[c], %[b]\n" \ ++ : [r] "=f" (__r) : [a] "f" (a_), [c] "f" (c_), [b] "f" (b_)); \ ++ __r;}) ++#define FNMSUB(a_, c_, b_) \ ++ ({ double __r; \ ++ __asm__ ("fnmsub %[r], %[a], %[c], %[b]\n" \ ++ : [r] "=f" (__r) : [a] "f" (a_), [c] "f" (c_), [b] "f" (b_)); \ ++ __r;}) ++ ++ if (__builtin_expect (b != a_inf.value, 1)) ++ { ++ double y, x; ++ fenv_t fe; ++ ++ fe = fegetenv_register (); ++ ++ relax_fenv_state (); ++ ++ /* Compute y = 1.5 * b - b. Uses fewer constants than y = 0.5 * b. */ ++ y = FMSUB (threehalf, b, b); ++ ++ /* Initial estimate. */ ++ __asm__ ("frsqrte %[x], %[b]\n" : [x] "=f" (x) : [b] "f" (b)); ++ ++ /* Iterate. x_{n+1} = x_n * (1.5 - y * (x_n * x_n)). */ ++ x = x * FNMSUB (y, x * x, threehalf); ++ x = x * FNMSUB (y, x * x, threehalf); ++ x = x * FNMSUB (y, x * x, threehalf); ++ ++ /* All done. */ ++ fesetenv_register (fe); ++ return x * b; ++ } ++ } ++ else if (b < 0) ++ { ++ /* For some reason, some PowerPC32 processors don't implement ++ FE_INVALID_SQRT. */ ++#ifdef FE_INVALID_SQRT ++ feraiseexcept (FE_INVALID_SQRT); ++ ++ fenv_union_t u = { .fenv = fegetenv_register () }; ++ if ((u.l[1] & FE_INVALID) == 0) ++#endif ++ feraiseexcept (FE_INVALID); ++ b = a_nan.value; ++ } ++ return f_washf (b); ++} +diff -ruN libc-orig/sysdeps/powerpc/powerpc32/e6500/fpu/e_sqrt.c libc/sysdeps/powerpc/powerpc32/e6500/fpu/e_sqrt.c +--- libc-orig/sysdeps/powerpc/powerpc32/e6500/fpu/e_sqrt.c 1969-12-31 18:00:00.000000000 -0600 ++++ libc/sysdeps/powerpc/powerpc32/e6500/fpu/e_sqrt.c 2012-06-14 14:55:24.620001266 -0500 +@@ -0,0 +1,134 @@ ++/* Double-precision floating point square root. ++ Copyright (C) 2010 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 <math.h> ++#include <math_private.h> ++#include <fenv_libc.h> ++#include <inttypes.h> ++ ++#include <sysdep.h> ++#include <ldsodefs.h> ++ ++static const ieee_float_shape_type a_nan = {.word = 0x7fc00000 }; ++static const ieee_float_shape_type a_inf = {.word = 0x7f800000 }; ++static const float two108 = 3.245185536584267269e+32; ++static const float twom54 = 5.551115123125782702e-17; ++static const float half = 0.5; ++ ++/* The method is based on the descriptions in: ++ ++ _The Handbook of Floating-Pointer Arithmetic_ by Muller et al., chapter 5; ++ _IA-64 and Elementary Functions: Speed and Precision_ by Markstein, chapter 9 ++ ++ We find the actual square root and half of its reciprocal ++ simultaneously. */ ++ ++#ifdef __STDC__ ++double ++__ieee754_sqrt (double b) ++#else ++double ++__ieee754_sqrt (b) ++ double b; ++#endif ++{ ++ if (__builtin_expect (b > 0, 1)) ++ { ++ double y, g, h, d, r; ++ ieee_double_shape_type u; ++ ++ if (__builtin_expect (b != a_inf.value, 1)) ++ { ++ fenv_t fe; ++ ++ fe = fegetenv_register (); ++ ++ u.value = b; ++ ++ relax_fenv_state (); ++ ++ __asm__ ("frsqrte %[estimate], %[x]\n" ++ : [estimate] "=f" (y) : [x] "f" (b)); ++ ++ /* Following Muller et al, page 168, equation 5.20. ++ ++ h goes to 1/(2*sqrt(b)) ++ g goes to sqrt(b). ++ ++ We need three iterations to get within 1ulp. */ ++ ++ /* Indicate that these can be performed prior to the branch. GCC ++ insists on sinking them below the branch, however; it seems like ++ they'd be better before the branch so that we can cover any latency ++ from storing the argument and loading its high word. Oh well. */ ++ ++ g = b * y; ++ h = 0.5 * y; ++ ++ /* Handle small numbers by scaling. */ ++ if (__builtin_expect ((u.parts.msw & 0x7ff00000) <= 0x02000000, 0)) ++ return __ieee754_sqrt (b * two108) * twom54; ++ ++#define FMADD(a_, c_, b_) \ ++ ({ double __r; \ ++ __asm__ ("fmadd %[r], %[a], %[c], %[b]\n" \ ++ : [r] "=f" (__r) : [a] "f" (a_), [c] "f" (c_), [b] "f" (b_)); \ ++ __r;}) ++#define FNMSUB(a_, c_, b_) \ ++ ({ double __r; \ ++ __asm__ ("fnmsub %[r], %[a], %[c], %[b]\n" \ ++ : [r] "=f" (__r) : [a] "f" (a_), [c] "f" (c_), [b] "f" (b_)); \ ++ __r;}) ++ ++ r = FNMSUB (g, h, half); ++ g = FMADD (g, r, g); ++ h = FMADD (h, r, h); ++ ++ r = FNMSUB (g, h, half); ++ g = FMADD (g, r, g); ++ h = FMADD (h, r, h); ++ ++ r = FNMSUB (g, h, half); ++ g = FMADD (g, r, g); ++ h = FMADD (h, r, h); ++ ++ /* g is now +/- 1ulp, or exactly equal to, the square root of b. */ ++ ++ /* Final refinement. */ ++ d = FNMSUB (g, g, b); ++ ++ fesetenv_register (fe); ++ return FMADD (d, h, g); ++ } ++ } ++ else if (b < 0) ++ { ++ /* For some reason, some PowerPC32 processors don't implement ++ FE_INVALID_SQRT. */ ++#ifdef FE_INVALID_SQRT ++ feraiseexcept (FE_INVALID_SQRT); ++ ++ fenv_union_t u = { .fenv = fegetenv_register () }; ++ if ((u.l[1] & FE_INVALID) == 0) ++#endif ++ feraiseexcept (FE_INVALID); ++ b = a_nan.value; ++ } ++ return f_wash (b); ++} +diff -ruN libc-orig/sysdeps/powerpc/powerpc32/e6500/fpu/e_sqrtf.c libc/sysdeps/powerpc/powerpc32/e6500/fpu/e_sqrtf.c +--- libc-orig/sysdeps/powerpc/powerpc32/e6500/fpu/e_sqrtf.c 1969-12-31 18:00:00.000000000 -0600 ++++ libc/sysdeps/powerpc/powerpc32/e6500/fpu/e_sqrtf.c 2012-06-14 14:55:24.620001266 -0500 +@@ -0,0 +1,101 @@ ++/* Single-precision floating point square root. ++ Copyright (C) 2010 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 <math.h> ++#include <math_private.h> ++#include <fenv_libc.h> ++#include <inttypes.h> ++ ++#include <sysdep.h> ++#include <ldsodefs.h> ++ ++static const ieee_float_shape_type a_nan = {.word = 0x7fc00000 }; ++static const ieee_float_shape_type a_inf = {.word = 0x7f800000 }; ++static const float threehalf = 1.5; ++ ++/* The method is based on the descriptions in: ++ ++ _The Handbook of Floating-Pointer Arithmetic_ by Muller et al., chapter 5; ++ _IA-64 and Elementary Functions: Speed and Precision_ by Markstein, chapter 9 ++ ++ We find the reciprocal square root and use that to compute the actual ++ square root. */ ++ ++#ifdef __STDC__ ++float ++__ieee754_sqrtf (float b) ++#else ++float ++__ieee754_sqrtf (b) ++ float b; ++#endif ++{ ++ if (__builtin_expect (b > 0, 1)) ++ { ++#define FMSUB(a_, c_, b_) \ ++ ({ double __r; \ ++ __asm__ ("fmsub %[r], %[a], %[c], %[b]\n" \ ++ : [r] "=f" (__r) : [a] "f" (a_), [c] "f" (c_), [b] "f" (b_)); \ ++ __r;}) ++#define FNMSUB(a_, c_, b_) \ ++ ({ double __r; \ ++ __asm__ ("fnmsub %[r], %[a], %[c], %[b]\n" \ ++ : [r] "=f" (__r) : [a] "f" (a_), [c] "f" (c_), [b] "f" (b_)); \ ++ __r;}) ++ ++ if (__builtin_expect (b != a_inf.value, 1)) ++ { ++ double y, x; ++ fenv_t fe; ++ ++ fe = fegetenv_register (); ++ ++ relax_fenv_state (); ++ ++ /* Compute y = 1.5 * b - b. Uses fewer constants than y = 0.5 * b. */ ++ y = FMSUB (threehalf, b, b); ++ ++ /* Initial estimate. */ ++ __asm__ ("frsqrte %[x], %[b]\n" : [x] "=f" (x) : [b] "f" (b)); ++ ++ /* Iterate. x_{n+1} = x_n * (1.5 - y * (x_n * x_n)). */ ++ x = x * FNMSUB (y, x * x, threehalf); ++ x = x * FNMSUB (y, x * x, threehalf); ++ x = x * FNMSUB (y, x * x, threehalf); ++ ++ /* All done. */ ++ fesetenv_register (fe); ++ return x * b; ++ } ++ } ++ else if (b < 0) ++ { ++ /* For some reason, some PowerPC32 processors don't implement ++ FE_INVALID_SQRT. */ ++#ifdef FE_INVALID_SQRT ++ feraiseexcept (FE_INVALID_SQRT); ++ ++ fenv_union_t u = { .fenv = fegetenv_register () }; ++ if ((u.l[1] & FE_INVALID) == 0) ++#endif ++ feraiseexcept (FE_INVALID); ++ b = a_nan.value; ++ } ++ return f_washf (b); ++} +diff -ruN libc-orig/sysdeps/powerpc/powerpc64/e5500/fpu/e_sqrt.c libc/sysdeps/powerpc/powerpc64/e5500/fpu/e_sqrt.c +--- libc-orig/sysdeps/powerpc/powerpc64/e5500/fpu/e_sqrt.c 1969-12-31 18:00:00.000000000 -0600 ++++ libc/sysdeps/powerpc/powerpc64/e5500/fpu/e_sqrt.c 2012-06-14 14:51:50.452001745 -0500 +@@ -0,0 +1,134 @@ ++/* Double-precision floating point square root. ++ Copyright (C) 2010 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 <math.h> ++#include <math_private.h> ++#include <fenv_libc.h> ++#include <inttypes.h> ++ ++#include <sysdep.h> ++#include <ldsodefs.h> ++ ++static const ieee_float_shape_type a_nan = {.word = 0x7fc00000 }; ++static const ieee_float_shape_type a_inf = {.word = 0x7f800000 }; ++static const float two108 = 3.245185536584267269e+32; ++static const float twom54 = 5.551115123125782702e-17; ++static const float half = 0.5; ++ ++/* The method is based on the descriptions in: ++ ++ _The Handbook of Floating-Pointer Arithmetic_ by Muller et al., chapter 5; ++ _IA-64 and Elementary Functions: Speed and Precision_ by Markstein, chapter 9 ++ ++ We find the actual square root and half of its reciprocal ++ simultaneously. */ ++ ++#ifdef __STDC__ ++double ++__ieee754_sqrt (double b) ++#else ++double ++__ieee754_sqrt (b) ++ double b; ++#endif ++{ ++ if (__builtin_expect (b > 0, 1)) ++ { ++ double y, g, h, d, r; ++ ieee_double_shape_type u; ++ ++ if (__builtin_expect (b != a_inf.value, 1)) ++ { ++ fenv_t fe; ++ ++ fe = fegetenv_register (); ++ ++ u.value = b; ++ ++ relax_fenv_state (); ++ ++ __asm__ ("frsqrte %[estimate], %[x]\n" ++ : [estimate] "=f" (y) : [x] "f" (b)); ++ ++ /* Following Muller et al, page 168, equation 5.20. ++ ++ h goes to 1/(2*sqrt(b)) ++ g goes to sqrt(b). ++ ++ We need three iterations to get within 1ulp. */ ++ ++ /* Indicate that these can be performed prior to the branch. GCC ++ insists on sinking them below the branch, however; it seems like ++ they'd be better before the branch so that we can cover any latency ++ from storing the argument and loading its high word. Oh well. */ ++ ++ g = b * y; ++ h = 0.5 * y; ++ ++ /* Handle small numbers by scaling. */ ++ if (__builtin_expect ((u.parts.msw & 0x7ff00000) <= 0x02000000, 0)) ++ return __ieee754_sqrt (b * two108) * twom54; ++ ++#define FMADD(a_, c_, b_) \ ++ ({ double __r; \ ++ __asm__ ("fmadd %[r], %[a], %[c], %[b]\n" \ ++ : [r] "=f" (__r) : [a] "f" (a_), [c] "f" (c_), [b] "f" (b_)); \ ++ __r;}) ++#define FNMSUB(a_, c_, b_) \ ++ ({ double __r; \ ++ __asm__ ("fnmsub %[r], %[a], %[c], %[b]\n" \ ++ : [r] "=f" (__r) : [a] "f" (a_), [c] "f" (c_), [b] "f" (b_)); \ ++ __r;}) ++ ++ r = FNMSUB (g, h, half); ++ g = FMADD (g, r, g); ++ h = FMADD (h, r, h); ++ ++ r = FNMSUB (g, h, half); ++ g = FMADD (g, r, g); ++ h = FMADD (h, r, h); ++ ++ r = FNMSUB (g, h, half); ++ g = FMADD (g, r, g); ++ h = FMADD (h, r, h); ++ ++ /* g is now +/- 1ulp, or exactly equal to, the square root of b. */ ++ ++ /* Final refinement. */ ++ d = FNMSUB (g, g, b); ++ ++ fesetenv_register (fe); ++ return FMADD (d, h, g); ++ } ++ } ++ else if (b < 0) ++ { ++ /* For some reason, some PowerPC32 processors don't implement ++ FE_INVALID_SQRT. */ ++#ifdef FE_INVALID_SQRT ++ feraiseexcept (FE_INVALID_SQRT); ++ ++ fenv_union_t u = { .fenv = fegetenv_register () }; ++ if ((u.l[1] & FE_INVALID) == 0) ++#endif ++ feraiseexcept (FE_INVALID); ++ b = a_nan.value; ++ } ++ return f_wash (b); ++} +diff -ruN libc-orig/sysdeps/powerpc/powerpc64/e5500/fpu/e_sqrtf.c libc/sysdeps/powerpc/powerpc64/e5500/fpu/e_sqrtf.c +--- libc-orig/sysdeps/powerpc/powerpc64/e5500/fpu/e_sqrtf.c 1969-12-31 18:00:00.000000000 -0600 ++++ libc/sysdeps/powerpc/powerpc64/e5500/fpu/e_sqrtf.c 2012-06-14 14:51:50.452001745 -0500 +@@ -0,0 +1,101 @@ ++/* Single-precision floating point square root. ++ Copyright (C) 2010 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 <math.h> ++#include <math_private.h> ++#include <fenv_libc.h> ++#include <inttypes.h> ++ ++#include <sysdep.h> ++#include <ldsodefs.h> ++ ++static const ieee_float_shape_type a_nan = {.word = 0x7fc00000 }; ++static const ieee_float_shape_type a_inf = {.word = 0x7f800000 }; ++static const float threehalf = 1.5; ++ ++/* The method is based on the descriptions in: ++ ++ _The Handbook of Floating-Pointer Arithmetic_ by Muller et al., chapter 5; ++ _IA-64 and Elementary Functions: Speed and Precision_ by Markstein, chapter 9 ++ ++ We find the reciprocal square root and use that to compute the actual ++ square root. */ ++ ++#ifdef __STDC__ ++float ++__ieee754_sqrtf (float b) ++#else ++float ++__ieee754_sqrtf (b) ++ float b; ++#endif ++{ ++ if (__builtin_expect (b > 0, 1)) ++ { ++#define FMSUB(a_, c_, b_) \ ++ ({ double __r; \ ++ __asm__ ("fmsub %[r], %[a], %[c], %[b]\n" \ ++ : [r] "=f" (__r) : [a] "f" (a_), [c] "f" (c_), [b] "f" (b_)); \ ++ __r;}) ++#define FNMSUB(a_, c_, b_) \ ++ ({ double __r; \ ++ __asm__ ("fnmsub %[r], %[a], %[c], %[b]\n" \ ++ : [r] "=f" (__r) : [a] "f" (a_), [c] "f" (c_), [b] "f" (b_)); \ ++ __r;}) ++ ++ if (__builtin_expect (b != a_inf.value, 1)) ++ { ++ double y, x; ++ fenv_t fe; ++ ++ fe = fegetenv_register (); ++ ++ relax_fenv_state (); ++ ++ /* Compute y = 1.5 * b - b. Uses fewer constants than y = 0.5 * b. */ ++ y = FMSUB (threehalf, b, b); ++ ++ /* Initial estimate. */ ++ __asm__ ("frsqrte %[x], %[b]\n" : [x] "=f" (x) : [b] "f" (b)); ++ ++ /* Iterate. x_{n+1} = x_n * (1.5 - y * (x_n * x_n)). */ ++ x = x * FNMSUB (y, x * x, threehalf); ++ x = x * FNMSUB (y, x * x, threehalf); ++ x = x * FNMSUB (y, x * x, threehalf); ++ ++ /* All done. */ ++ fesetenv_register (fe); ++ return x * b; ++ } ++ } ++ else if (b < 0) ++ { ++ /* For some reason, some PowerPC32 processors don't implement ++ FE_INVALID_SQRT. */ ++#ifdef FE_INVALID_SQRT ++ feraiseexcept (FE_INVALID_SQRT); ++ ++ fenv_union_t u = { .fenv = fegetenv_register () }; ++ if ((u.l[1] & FE_INVALID) == 0) ++#endif ++ feraiseexcept (FE_INVALID); ++ b = a_nan.value; ++ } ++ return f_washf (b); ++} +diff -ruN libc-orig/sysdeps/powerpc/powerpc64/e6500/fpu/e_sqrt.c libc/sysdeps/powerpc/powerpc64/e6500/fpu/e_sqrt.c +--- libc-orig/sysdeps/powerpc/powerpc64/e6500/fpu/e_sqrt.c 1969-12-31 18:00:00.000000000 -0600 ++++ libc/sysdeps/powerpc/powerpc64/e6500/fpu/e_sqrt.c 2012-06-14 14:56:02.080000985 -0500 +@@ -0,0 +1,134 @@ ++/* Double-precision floating point square root. ++ Copyright (C) 2010 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 <math.h> ++#include <math_private.h> ++#include <fenv_libc.h> ++#include <inttypes.h> ++ ++#include <sysdep.h> ++#include <ldsodefs.h> ++ ++static const ieee_float_shape_type a_nan = {.word = 0x7fc00000 }; ++static const ieee_float_shape_type a_inf = {.word = 0x7f800000 }; ++static const float two108 = 3.245185536584267269e+32; ++static const float twom54 = 5.551115123125782702e-17; ++static const float half = 0.5; ++ ++/* The method is based on the descriptions in: ++ ++ _The Handbook of Floating-Pointer Arithmetic_ by Muller et al., chapter 5; ++ _IA-64 and Elementary Functions: Speed and Precision_ by Markstein, chapter 9 ++ ++ We find the actual square root and half of its reciprocal ++ simultaneously. */ ++ ++#ifdef __STDC__ ++double ++__ieee754_sqrt (double b) ++#else ++double ++__ieee754_sqrt (b) ++ double b; ++#endif ++{ ++ if (__builtin_expect (b > 0, 1)) ++ { ++ double y, g, h, d, r; ++ ieee_double_shape_type u; ++ ++ if (__builtin_expect (b != a_inf.value, 1)) ++ { ++ fenv_t fe; ++ ++ fe = fegetenv_register (); ++ ++ u.value = b; ++ ++ relax_fenv_state (); ++ ++ __asm__ ("frsqrte %[estimate], %[x]\n" ++ : [estimate] "=f" (y) : [x] "f" (b)); ++ ++ /* Following Muller et al, page 168, equation 5.20. ++ ++ h goes to 1/(2*sqrt(b)) ++ g goes to sqrt(b). ++ ++ We need three iterations to get within 1ulp. */ ++ ++ /* Indicate that these can be performed prior to the branch. GCC ++ insists on sinking them below the branch, however; it seems like ++ they'd be better before the branch so that we can cover any latency ++ from storing the argument and loading its high word. Oh well. */ ++ ++ g = b * y; ++ h = 0.5 * y; ++ ++ /* Handle small numbers by scaling. */ ++ if (__builtin_expect ((u.parts.msw & 0x7ff00000) <= 0x02000000, 0)) ++ return __ieee754_sqrt (b * two108) * twom54; ++ ++#define FMADD(a_, c_, b_) \ ++ ({ double __r; \ ++ __asm__ ("fmadd %[r], %[a], %[c], %[b]\n" \ ++ : [r] "=f" (__r) : [a] "f" (a_), [c] "f" (c_), [b] "f" (b_)); \ ++ __r;}) ++#define FNMSUB(a_, c_, b_) \ ++ ({ double __r; \ ++ __asm__ ("fnmsub %[r], %[a], %[c], %[b]\n" \ ++ : [r] "=f" (__r) : [a] "f" (a_), [c] "f" (c_), [b] "f" (b_)); \ ++ __r;}) ++ ++ r = FNMSUB (g, h, half); ++ g = FMADD (g, r, g); ++ h = FMADD (h, r, h); ++ ++ r = FNMSUB (g, h, half); ++ g = FMADD (g, r, g); ++ h = FMADD (h, r, h); ++ ++ r = FNMSUB (g, h, half); ++ g = FMADD (g, r, g); ++ h = FMADD (h, r, h); ++ ++ /* g is now +/- 1ulp, or exactly equal to, the square root of b. */ ++ ++ /* Final refinement. */ ++ d = FNMSUB (g, g, b); ++ ++ fesetenv_register (fe); ++ return FMADD (d, h, g); ++ } ++ } ++ else if (b < 0) ++ { ++ /* For some reason, some PowerPC32 processors don't implement ++ FE_INVALID_SQRT. */ ++#ifdef FE_INVALID_SQRT ++ feraiseexcept (FE_INVALID_SQRT); ++ ++ fenv_union_t u = { .fenv = fegetenv_register () }; ++ if ((u.l[1] & FE_INVALID) == 0) ++#endif ++ feraiseexcept (FE_INVALID); ++ b = a_nan.value; ++ } ++ return f_wash (b); ++} +diff -ruN libc-orig/sysdeps/powerpc/powerpc64/e6500/fpu/e_sqrtf.c libc/sysdeps/powerpc/powerpc64/e6500/fpu/e_sqrtf.c +--- libc-orig/sysdeps/powerpc/powerpc64/e6500/fpu/e_sqrtf.c 1969-12-31 18:00:00.000000000 -0600 ++++ libc/sysdeps/powerpc/powerpc64/e6500/fpu/e_sqrtf.c 2012-06-14 14:56:02.080000985 -0500 +@@ -0,0 +1,101 @@ ++/* Single-precision floating point square root. ++ Copyright (C) 2010 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 <math.h> ++#include <math_private.h> ++#include <fenv_libc.h> ++#include <inttypes.h> ++ ++#include <sysdep.h> ++#include <ldsodefs.h> ++ ++static const ieee_float_shape_type a_nan = {.word = 0x7fc00000 }; ++static const ieee_float_shape_type a_inf = {.word = 0x7f800000 }; ++static const float threehalf = 1.5; ++ ++/* The method is based on the descriptions in: ++ ++ _The Handbook of Floating-Pointer Arithmetic_ by Muller et al., chapter 5; ++ _IA-64 and Elementary Functions: Speed and Precision_ by Markstein, chapter 9 ++ ++ We find the reciprocal square root and use that to compute the actual ++ square root. */ ++ ++#ifdef __STDC__ ++float ++__ieee754_sqrtf (float b) ++#else ++float ++__ieee754_sqrtf (b) ++ float b; ++#endif ++{ ++ if (__builtin_expect (b > 0, 1)) ++ { ++#define FMSUB(a_, c_, b_) \ ++ ({ double __r; \ ++ __asm__ ("fmsub %[r], %[a], %[c], %[b]\n" \ ++ : [r] "=f" (__r) : [a] "f" (a_), [c] "f" (c_), [b] "f" (b_)); \ ++ __r;}) ++#define FNMSUB(a_, c_, b_) \ ++ ({ double __r; \ ++ __asm__ ("fnmsub %[r], %[a], %[c], %[b]\n" \ ++ : [r] "=f" (__r) : [a] "f" (a_), [c] "f" (c_), [b] "f" (b_)); \ ++ __r;}) ++ ++ if (__builtin_expect (b != a_inf.value, 1)) ++ { ++ double y, x; ++ fenv_t fe; ++ ++ fe = fegetenv_register (); ++ ++ relax_fenv_state (); ++ ++ /* Compute y = 1.5 * b - b. Uses fewer constants than y = 0.5 * b. */ ++ y = FMSUB (threehalf, b, b); ++ ++ /* Initial estimate. */ ++ __asm__ ("frsqrte %[x], %[b]\n" : [x] "=f" (x) : [b] "f" (b)); ++ ++ /* Iterate. x_{n+1} = x_n * (1.5 - y * (x_n * x_n)). */ ++ x = x * FNMSUB (y, x * x, threehalf); ++ x = x * FNMSUB (y, x * x, threehalf); ++ x = x * FNMSUB (y, x * x, threehalf); ++ ++ /* All done. */ ++ fesetenv_register (fe); ++ return x * b; ++ } ++ } ++ else if (b < 0) ++ { ++ /* For some reason, some PowerPC32 processors don't implement ++ FE_INVALID_SQRT. */ ++#ifdef FE_INVALID_SQRT ++ feraiseexcept (FE_INVALID_SQRT); ++ ++ fenv_union_t u = { .fenv = fegetenv_register () }; ++ if ((u.l[1] & FE_INVALID) == 0) ++#endif ++ feraiseexcept (FE_INVALID); ++ b = a_nan.value; ++ } ++ return f_washf (b); ++} +diff -ruN libc-orig/sysdeps/unix/sysv/linux/powerpc/powerpc32/603e/fpu/Implies libc/sysdeps/unix/sysv/linux/powerpc/powerpc32/603e/fpu/Implies +--- libc-orig/sysdeps/unix/sysv/linux/powerpc/powerpc32/603e/fpu/Implies 1969-12-31 18:00:00.000000000 -0600 ++++ libc/sysdeps/unix/sysv/linux/powerpc/powerpc32/603e/fpu/Implies 2012-06-14 14:51:50.452001745 -0500 +@@ -0,0 +1 @@ ++powerpc/powerpc32/603e/fpu +diff -ruN libc-orig/sysdeps/unix/sysv/linux/powerpc/powerpc32/e500mc/fpu/Implies libc/sysdeps/unix/sysv/linux/powerpc/powerpc32/e500mc/fpu/Implies +--- libc-orig/sysdeps/unix/sysv/linux/powerpc/powerpc32/e500mc/fpu/Implies 1969-12-31 18:00:00.000000000 -0600 ++++ libc/sysdeps/unix/sysv/linux/powerpc/powerpc32/e500mc/fpu/Implies 2012-06-14 14:54:00.481000876 -0500 +@@ -0,0 +1 @@ ++powerpc/powerpc32/e500mc/fpu +diff -ruN libc-orig/sysdeps/unix/sysv/linux/powerpc/powerpc32/e5500/fpu/Implies libc/sysdeps/unix/sysv/linux/powerpc/powerpc32/e5500/fpu/Implies +--- libc-orig/sysdeps/unix/sysv/linux/powerpc/powerpc32/e5500/fpu/Implies 1969-12-31 18:00:00.000000000 -0600 ++++ libc/sysdeps/unix/sysv/linux/powerpc/powerpc32/e5500/fpu/Implies 2012-06-14 14:54:17.000001007 -0500 +@@ -0,0 +1 @@ ++powerpc/powerpc32/e5500/fpu +diff -ruN libc-orig/sysdeps/unix/sysv/linux/powerpc/powerpc32/e6500/fpu/Implies libc/sysdeps/unix/sysv/linux/powerpc/powerpc32/e6500/fpu/Implies +--- libc-orig/sysdeps/unix/sysv/linux/powerpc/powerpc32/e6500/fpu/Implies 1969-12-31 18:00:00.000000000 -0600 ++++ libc/sysdeps/unix/sysv/linux/powerpc/powerpc32/e6500/fpu/Implies 2012-06-14 14:54:31.054001299 -0500 +@@ -0,0 +1 @@ ++powerpc/powerpc32/e6500/fpu +diff -ruN libc-orig/sysdeps/unix/sysv/linux/powerpc/powerpc64/e5500/fpu/Implies libc/sysdeps/unix/sysv/linux/powerpc/powerpc64/e5500/fpu/Implies +--- libc-orig/sysdeps/unix/sysv/linux/powerpc/powerpc64/e5500/fpu/Implies 1969-12-31 18:00:00.000000000 -0600 ++++ libc/sysdeps/unix/sysv/linux/powerpc/powerpc64/e5500/fpu/Implies 2012-06-14 14:51:50.453001709 -0500 +@@ -0,0 +1 @@ ++powerpc/powerpc64/e5500/fpu +diff -ruN libc-orig/sysdeps/unix/sysv/linux/powerpc/powerpc64/e6500/fpu/Implies libc/sysdeps/unix/sysv/linux/powerpc/powerpc64/e6500/fpu/Implies +--- libc-orig/sysdeps/unix/sysv/linux/powerpc/powerpc64/e6500/fpu/Implies 1969-12-31 18:00:00.000000000 -0600 ++++ libc/sysdeps/unix/sysv/linux/powerpc/powerpc64/e6500/fpu/Implies 2012-06-14 14:58:14.298001288 -0500 +@@ -0,0 +1 @@ ++powerpc/powerpc64/e6500/fpu diff --git a/meta/recipes-core/eglibc/eglibc-2.18/initgroups_keys.patch b/meta/recipes-core/eglibc/eglibc-2.18/initgroups_keys.patch new file mode 100644 index 0000000000..be29856b03 --- /dev/null +++ b/meta/recipes-core/eglibc/eglibc-2.18/initgroups_keys.patch @@ -0,0 +1,20 @@ +This is needed since initgroups belongs to NET group +so when NET is disabled in eglibc build then it reports +as undefined symbol + +Signed-off-by: Khem Raj <raj.khem@gmail.com> +Upstream-Status: Pending + +Index: libc/nss/getent.c +=================================================================== +--- libc.orig/nss/getent.c 2012-03-09 09:41:57.099581559 -0800 ++++ libc/nss/getent.c 2012-03-09 09:42:13.095582334 -0800 +@@ -898,7 +898,7 @@ + D(group) + D(gshadow) + DN(hosts) +-D(initgroups) ++DN(initgroups) + DN(netgroup) + DN(networks) + D(passwd) diff --git a/meta/recipes-core/eglibc/eglibc-2.18/ld-search-order.patch b/meta/recipes-core/eglibc/eglibc-2.18/ld-search-order.patch new file mode 100644 index 0000000000..e83a0ad6d2 --- /dev/null +++ b/meta/recipes-core/eglibc/eglibc-2.18/ld-search-order.patch @@ -0,0 +1,56 @@ +Upstream-Status: Inappropriate [embedded specific] + +The default lib search path order is: + + 1) LD_LIBRARY_PATH + 2) RPATH from the binary + 3) ld.so.cache + 4) default search paths embedded in the linker + +For nativesdk binaries which are being used alongside binaries on a host system, we +need the search paths to firstly search the shipped nativesdk libs but then also +cover the host system. For example we want the host system's libGL and this may be +in a non-standard location like /usr/lib/mesa. The only place the location is know +about is in the ld.so.cache of the host system. + +Since nativesdk has a simple structure and doesn't need to use a cache itself, we +repurpose the cache for use as a last resort in finding host system binaries. This +means we need to switch the order of 3 and 4 above to make this work effectively. + +RP 14/10/2010 + +Index: libc/elf/dl-load.c +=================================================================== +--- libc.orig/elf/dl-load.c 2012-12-02 13:11:45.000000000 -0800 ++++ libc/elf/dl-load.c 2013-01-09 07:00:59.135223084 -0800 +@@ -2215,7 +2215,14 @@ + fd = open_path (name, namelen, mode & __RTLD_SECURE, + &loader->l_runpath_dirs, &realname, &fb, loader, + LA_SER_RUNPATH, &found_other_class); +- ++ /* try the default path. */ ++ if (fd == -1 ++ && ((l = loader ?: GL(dl_ns)[nsid]._ns_loaded) == NULL ++ || __builtin_expect (!(l->l_flags_1 & DF_1_NODEFLIB), 1)) ++ && rtld_search_dirs.dirs != (void *) -1) ++ fd = open_path (name, namelen, mode & __RTLD_SECURE, &rtld_search_dirs, ++ &realname, &fb, l, LA_SER_DEFAULT, &found_other_class); ++ /* Finally try ld.so.cache */ + #ifdef USE_LDCONFIG + if (fd == -1 + && (__builtin_expect (! (mode & __RTLD_SECURE), 1) +@@ -2283,14 +2290,6 @@ + } + #endif + +- /* Finally, try the default path. */ +- if (fd == -1 +- && ((l = loader ?: GL(dl_ns)[nsid]._ns_loaded) == NULL +- || __builtin_expect (!(l->l_flags_1 & DF_1_NODEFLIB), 1)) +- && rtld_search_dirs.dirs != (void *) -1) +- fd = open_path (name, namelen, mode & __RTLD_SECURE, &rtld_search_dirs, +- &realname, &fb, l, LA_SER_DEFAULT, &found_other_class); +- + /* Add another newline when we are tracing the library loading. */ + if (__builtin_expect (GLRO_dl_debug_mask & DL_DEBUG_LIBS, 0)) + _dl_debug_printf ("\n"); diff --git a/meta/recipes-core/eglibc/eglibc-2.18/mips-rld-map-check.patch b/meta/recipes-core/eglibc/eglibc-2.18/mips-rld-map-check.patch new file mode 100644 index 0000000000..9b646fea95 --- /dev/null +++ b/meta/recipes-core/eglibc/eglibc-2.18/mips-rld-map-check.patch @@ -0,0 +1,26 @@ + +On mips target, binutils currently sets DT_MIPS_RLD_MAP to 0 in dynamic +section if a --version-script sets _RLD_MAP to local. This is apparently +a binutils bug, but libc shouldn't segfault in this case. + +see also: http://sourceware.org/bugilla/show_bug.cgi?id=11615 + +Upstream-Status: Pending + +9/19/2010 - added by Qing He <qing.he@intel.com> + + +--- +diff -ru glibc-2.10.1.orig/ports/sysdeps/mips/dl-machine.h glibc-2.10.1/ports/sysdeps/mips/dl-machine.h +--- glibc-2.10.1.orig/ports/sysdeps/mips/dl-machine.h 2009-05-16 16:36:20.000000000 +0800 ++++ glibc-2.10.1/ports/sysdeps/mips/dl-machine.h 2010-09-19 09:11:53.000000000 +0800 +@@ -70,7 +70,8 @@ + /* If there is a DT_MIPS_RLD_MAP entry in the dynamic section, fill it in + with the run-time address of the r_debug structure */ + #define ELF_MACHINE_DEBUG_SETUP(l,r) \ +-do { if ((l)->l_info[DT_MIPS (RLD_MAP)]) \ ++do { if ((l)->l_info[DT_MIPS (RLD_MAP)] && \ ++ (l)->l_info[DT_MIPS (RLD_MAP)]->d_un.d_ptr) \ + *(ElfW(Addr) *)((l)->l_info[DT_MIPS (RLD_MAP)]->d_un.d_ptr) = \ + (ElfW(Addr)) (r); \ + } while (0) diff --git a/meta/recipes-core/eglibc/eglibc-2.18/multilib_readlib.patch b/meta/recipes-core/eglibc/eglibc-2.18/multilib_readlib.patch new file mode 100644 index 0000000000..1542b1b519 --- /dev/null +++ b/meta/recipes-core/eglibc/eglibc-2.18/multilib_readlib.patch @@ -0,0 +1,17 @@ +Upstream-Status: Inappropriate [embedded specific] + +Replace the OECORE_KNOWN_INTERPRETER_NAMES with the value of +variable EGLIBC_KNOWN_INTERPRETER_NAMES. + +Lianhao Lu, 08/01/2011 + +--- libc/elf/readlib.c.orig 2011-08-12 17:05:51.864470837 +0800 ++++ libc/elf/readlib.c 2011-08-12 17:06:39.346942074 +0800 +@@ -52,6 +52,7 @@ + #ifdef SYSDEP_KNOWN_INTERPRETER_NAMES + SYSDEP_KNOWN_INTERPRETER_NAMES + #endif ++ OECORE_KNOWN_INTERPRETER_NAMES + }; + + static struct known_names known_libs[] = diff --git a/meta/recipes-core/eglibc/eglibc-2.18/ppc-sqrt_finite.patch b/meta/recipes-core/eglibc/eglibc-2.18/ppc-sqrt_finite.patch new file mode 100644 index 0000000000..6ea666b1d6 --- /dev/null +++ b/meta/recipes-core/eglibc/eglibc-2.18/ppc-sqrt_finite.patch @@ -0,0 +1,184 @@ +on ppc fixes the errors like below +| ./.libs/libpulsecore-1.1.so: undefined reference to `__sqrt_finite' +| collect2: ld returned 1 exit status + +Upstream-Status: Pending + +ChangeLog + +2012-01-06 Khem Raj <raj.khem@gmail.com> + + * sysdeps/powerpc/powerpc64/e5500/fpu/e_sqrtf.c: Add __*_finite alias. + Remove cruft. + * sysdeps/powerpc/powerpc64/e5500/fpu/e_sqrt.c: Ditto. + * sysdeps/powerpc/powerpc32/603e/fpu/e_sqrt.c: Ditto. + * sysdeps/powerpc/powerpc32/603e/fpu/e_sqrtf.c: Ditto. + +Index: libc/sysdeps/powerpc/powerpc32/603e/fpu/e_sqrt.c +=================================================================== +--- libc.orig/sysdeps/powerpc/powerpc32/603e/fpu/e_sqrt.c ++++ libc/sysdeps/powerpc/powerpc32/603e/fpu/e_sqrt.c +@@ -39,14 +39,8 @@ static const float half = 0.5; + We find the actual square root and half of its reciprocal + simultaneously. */ + +-#ifdef __STDC__ + double + __ieee754_sqrt (double b) +-#else +-double +-__ieee754_sqrt (b) +- double b; +-#endif + { + if (__builtin_expect (b > 0, 1)) + { +@@ -132,3 +126,4 @@ __ieee754_sqrt (b) + } + return f_wash (b); + } ++strong_alias (__ieee754_sqrt, __sqrt_finite) +Index: libc/sysdeps/powerpc/powerpc32/603e/fpu/e_sqrtf.c +=================================================================== +--- libc.orig/sysdeps/powerpc/powerpc32/603e/fpu/e_sqrtf.c ++++ libc/sysdeps/powerpc/powerpc32/603e/fpu/e_sqrtf.c +@@ -37,14 +37,8 @@ static const float threehalf = 1.5; + We find the reciprocal square root and use that to compute the actual + square root. */ + +-#ifdef __STDC__ + float + __ieee754_sqrtf (float b) +-#else +-float +-__ieee754_sqrtf (b) +- float b; +-#endif + { + if (__builtin_expect (b > 0, 1)) + { +@@ -99,3 +93,4 @@ __ieee754_sqrtf (b) + } + return f_washf (b); + } ++strong_alias (__ieee754_sqrtf, __sqrtf_finite) +Index: libc/sysdeps/powerpc/powerpc64/e5500/fpu/e_sqrt.c +=================================================================== +--- libc.orig/sysdeps/powerpc/powerpc64/e5500/fpu/e_sqrt.c ++++ libc/sysdeps/powerpc/powerpc64/e5500/fpu/e_sqrt.c +@@ -39,14 +39,8 @@ static const float half = 0.5; + We find the actual square root and half of its reciprocal + simultaneously. */ + +-#ifdef __STDC__ + double + __ieee754_sqrt (double b) +-#else +-double +-__ieee754_sqrt (b) +- double b; +-#endif + { + if (__builtin_expect (b > 0, 1)) + { +@@ -132,3 +126,4 @@ __ieee754_sqrt (b) + } + return f_wash (b); + } ++strong_alias (__ieee754_sqrt, __sqrt_finite) +Index: libc/sysdeps/powerpc/powerpc64/e5500/fpu/e_sqrtf.c +=================================================================== +--- libc.orig/sysdeps/powerpc/powerpc64/e5500/fpu/e_sqrtf.c ++++ libc/sysdeps/powerpc/powerpc64/e5500/fpu/e_sqrtf.c +@@ -37,14 +37,8 @@ static const float threehalf = 1.5; + We find the reciprocal square root and use that to compute the actual + square root. */ + +-#ifdef __STDC__ + float + __ieee754_sqrtf (float b) +-#else +-float +-__ieee754_sqrtf (b) +- float b; +-#endif + { + if (__builtin_expect (b > 0, 1)) + { +@@ -99,3 +93,4 @@ __ieee754_sqrtf (b) + } + return f_washf (b); + } ++strong_alias (__ieee754_sqrtf, __sqrtf_finite) +Index: libc/sysdeps/powerpc/powerpc32/e500mc/fpu/e_sqrt.c +=================================================================== +--- libc.orig/sysdeps/powerpc/powerpc32/e500mc/fpu/e_sqrt.c ++++ libc/sysdeps/powerpc/powerpc32/e500mc/fpu/e_sqrt.c +@@ -132,3 +132,4 @@ __ieee754_sqrt (b) + } + return f_wash (b); + } ++strong_alias (__ieee754_sqrt, __sqrt_finite) +Index: libc/sysdeps/powerpc/powerpc32/e500mc/fpu/e_sqrtf.c +=================================================================== +--- libc.orig/sysdeps/powerpc/powerpc32/e500mc/fpu/e_sqrtf.c ++++ libc/sysdeps/powerpc/powerpc32/e500mc/fpu/e_sqrtf.c +@@ -99,3 +99,4 @@ __ieee754_sqrtf (b) + } + return f_washf (b); + } ++strong_alias (__ieee754_sqrtf, __sqrtf_finite) +Index: libc/sysdeps/powerpc/powerpc32/e5500/fpu/e_sqrt.c +=================================================================== +--- libc.orig/sysdeps/powerpc/powerpc32/e5500/fpu/e_sqrt.c ++++ libc/sysdeps/powerpc/powerpc32/e5500/fpu/e_sqrt.c +@@ -132,3 +132,4 @@ __ieee754_sqrt (b) + } + return f_wash (b); + } ++strong_alias (__ieee754_sqrt, __sqrt_finite) +Index: libc/sysdeps/powerpc/powerpc32/e5500/fpu/e_sqrtf.c +=================================================================== +--- libc.orig/sysdeps/powerpc/powerpc32/e5500/fpu/e_sqrtf.c ++++ libc/sysdeps/powerpc/powerpc32/e5500/fpu/e_sqrtf.c +@@ -99,3 +99,4 @@ __ieee754_sqrtf (b) + } + return f_washf (b); + } ++strong_alias (__ieee754_sqrtf, __sqrtf_finite) +Index: libc/sysdeps/powerpc/powerpc64/e6500/fpu/e_sqrt.c +=================================================================== +--- libc.orig/sysdeps/powerpc/powerpc64/e6500/fpu/e_sqrt.c ++++ libc/sysdeps/powerpc/powerpc64/e6500/fpu/e_sqrt.c +@@ -132,3 +132,4 @@ __ieee754_sqrt (b) + } + return f_wash (b); + } ++strong_alias (__ieee754_sqrt, __sqrt_finite) +Index: libc/sysdeps/powerpc/powerpc64/e6500/fpu/e_sqrtf.c +=================================================================== +--- libc.orig/sysdeps/powerpc/powerpc64/e6500/fpu/e_sqrtf.c ++++ libc/sysdeps/powerpc/powerpc64/e6500/fpu/e_sqrtf.c +@@ -99,3 +99,4 @@ __ieee754_sqrtf (b) + } + return f_washf (b); + } ++strong_alias (__ieee754_sqrtf, __sqrtf_finite) +Index: libc/sysdeps/powerpc/powerpc32/e6500/fpu/e_sqrt.c +=================================================================== +--- libc.orig/sysdeps/powerpc/powerpc32/e6500/fpu/e_sqrt.c ++++ libc/sysdeps/powerpc/powerpc32/e6500/fpu/e_sqrt.c +@@ -132,3 +132,4 @@ __ieee754_sqrt (b) + } + return f_wash (b); + } ++strong_alias (__ieee754_sqrt, __sqrt_finite) +Index: libc/sysdeps/powerpc/powerpc32/e6500/fpu/e_sqrtf.c +=================================================================== +--- libc.orig/sysdeps/powerpc/powerpc32/e6500/fpu/e_sqrtf.c ++++ libc/sysdeps/powerpc/powerpc32/e6500/fpu/e_sqrtf.c +@@ -99,3 +99,4 @@ __ieee754_sqrtf (b) + } + return f_washf (b); + } ++strong_alias (__ieee754_sqrtf, __sqrtf_finite) diff --git a/meta/recipes-core/eglibc/eglibc-2.18/ppc_slow_ieee754_sqrt.patch b/meta/recipes-core/eglibc/eglibc-2.18/ppc_slow_ieee754_sqrt.patch new file mode 100644 index 0000000000..60532cbd03 --- /dev/null +++ b/meta/recipes-core/eglibc/eglibc-2.18/ppc_slow_ieee754_sqrt.patch @@ -0,0 +1,365 @@ + __ieee754_sqrt{,f} are now inline functions and call out __slow versions + + +Signed-off-by: Khem Raj <raj.khem@gmail.com> +Upstream-Status: Pending +Index: libc/sysdeps/powerpc/powerpc32/603e/fpu/e_sqrt.c +=================================================================== +--- libc.orig/sysdeps/powerpc/powerpc32/603e/fpu/e_sqrt.c ++++ libc/sysdeps/powerpc/powerpc32/603e/fpu/e_sqrt.c +@@ -40,7 +40,7 @@ static const float half = 0.5; + simultaneously. */ + + double +-__ieee754_sqrt (double b) ++__slow_ieee754_sqrt (double b) + { + if (__builtin_expect (b > 0, 1)) + { +@@ -77,7 +77,7 @@ __ieee754_sqrt (double b) + + /* Handle small numbers by scaling. */ + if (__builtin_expect ((u.parts.msw & 0x7ff00000) <= 0x02000000, 0)) +- return __ieee754_sqrt (b * two108) * twom54; ++ return __slow_ieee754_sqrt (b * two108) * twom54; + + #define FMADD(a_, c_, b_) \ + ({ double __r; \ +@@ -126,4 +126,12 @@ __ieee754_sqrt (double b) + } + return f_wash (b); + } ++ ++#undef __ieee754_sqrt ++double ++__ieee754_sqrt (double x) ++{ ++ return __slow_ieee754_sqrt (x); ++} ++ + strong_alias (__ieee754_sqrt, __sqrt_finite) +Index: libc/sysdeps/powerpc/powerpc32/603e/fpu/e_sqrtf.c +=================================================================== +--- libc.orig/sysdeps/powerpc/powerpc32/603e/fpu/e_sqrtf.c ++++ libc/sysdeps/powerpc/powerpc32/603e/fpu/e_sqrtf.c +@@ -38,7 +38,7 @@ static const float threehalf = 1.5; + square root. */ + + float +-__ieee754_sqrtf (float b) ++__slow_ieee754_sqrtf (float b) + { + if (__builtin_expect (b > 0, 1)) + { +@@ -93,4 +93,10 @@ __ieee754_sqrtf (float b) + } + return f_washf (b); + } ++#undef __ieee754_sqrtf ++float ++__ieee754_sqrtf (float x) ++{ ++ return __slow_ieee754_sqrtf (x); ++} + strong_alias (__ieee754_sqrtf, __sqrtf_finite) +Index: libc/sysdeps/powerpc/powerpc64/e5500/fpu/e_sqrt.c +=================================================================== +--- libc.orig/sysdeps/powerpc/powerpc64/e5500/fpu/e_sqrt.c ++++ libc/sysdeps/powerpc/powerpc64/e5500/fpu/e_sqrt.c +@@ -40,7 +40,7 @@ static const float half = 0.5; + simultaneously. */ + + double +-__ieee754_sqrt (double b) ++__slow_ieee754_sqrt (double b) + { + if (__builtin_expect (b > 0, 1)) + { +@@ -77,7 +77,7 @@ __ieee754_sqrt (double b) + + /* Handle small numbers by scaling. */ + if (__builtin_expect ((u.parts.msw & 0x7ff00000) <= 0x02000000, 0)) +- return __ieee754_sqrt (b * two108) * twom54; ++ return __slow_ieee754_sqrt (b * two108) * twom54; + + #define FMADD(a_, c_, b_) \ + ({ double __r; \ +@@ -126,4 +126,12 @@ __ieee754_sqrt (double b) + } + return f_wash (b); + } ++ ++#undef __ieee754_sqrt ++double ++__ieee754_sqrt (double x) ++{ ++ return __slow_ieee754_sqrt (x); ++} ++ + strong_alias (__ieee754_sqrt, __sqrt_finite) +Index: libc/sysdeps/powerpc/powerpc64/e5500/fpu/e_sqrtf.c +=================================================================== +--- libc.orig/sysdeps/powerpc/powerpc64/e5500/fpu/e_sqrtf.c ++++ libc/sysdeps/powerpc/powerpc64/e5500/fpu/e_sqrtf.c +@@ -38,7 +38,7 @@ static const float threehalf = 1.5; + square root. */ + + float +-__ieee754_sqrtf (float b) ++__slow_ieee754_sqrtf (float b) + { + if (__builtin_expect (b > 0, 1)) + { +@@ -93,4 +93,11 @@ __ieee754_sqrtf (float b) + } + return f_washf (b); + } ++#undef __ieee754_sqrtf ++float ++__ieee754_sqrtf (float x) ++{ ++ return __slow_ieee754_sqrtf (x); ++} ++ + strong_alias (__ieee754_sqrtf, __sqrtf_finite) +Index: libc/sysdeps/powerpc/powerpc64/e6500/fpu/e_sqrt.c +=================================================================== +--- libc.orig/sysdeps/powerpc/powerpc64/e6500/fpu/e_sqrt.c ++++ libc/sysdeps/powerpc/powerpc64/e6500/fpu/e_sqrt.c +@@ -41,10 +41,10 @@ static const float half = 0.5; + + #ifdef __STDC__ + double +-__ieee754_sqrt (double b) ++__slow_ieee754_sqrt (double b) + #else + double +-__ieee754_sqrt (b) ++__slow_ieee754_sqrt (b) + double b; + #endif + { +@@ -83,7 +83,7 @@ __ieee754_sqrt (b) + + /* Handle small numbers by scaling. */ + if (__builtin_expect ((u.parts.msw & 0x7ff00000) <= 0x02000000, 0)) +- return __ieee754_sqrt (b * two108) * twom54; ++ return __slow_ieee754_sqrt (b * two108) * twom54; + + #define FMADD(a_, c_, b_) \ + ({ double __r; \ +@@ -132,4 +132,12 @@ __ieee754_sqrt (b) + } + return f_wash (b); + } ++ ++#undef __ieee754_sqrt ++double ++__ieee754_sqrt (double x) ++{ ++ return __slow_ieee754_sqrt (x); ++} ++ + strong_alias (__ieee754_sqrt, __sqrt_finite) +Index: libc/sysdeps/powerpc/powerpc64/e6500/fpu/e_sqrtf.c +=================================================================== +--- libc.orig/sysdeps/powerpc/powerpc64/e6500/fpu/e_sqrtf.c ++++ libc/sysdeps/powerpc/powerpc64/e6500/fpu/e_sqrtf.c +@@ -39,10 +39,10 @@ static const float threehalf = 1.5; + + #ifdef __STDC__ + float +-__ieee754_sqrtf (float b) ++__slow_ieee754_sqrtf (float b) + #else + float +-__ieee754_sqrtf (b) ++__slow_ieee754_sqrtf (b) + float b; + #endif + { +@@ -99,4 +99,12 @@ __ieee754_sqrtf (b) + } + return f_washf (b); + } ++ ++#undef __ieee754_sqrtf ++float ++__ieee754_sqrtf (float x) ++{ ++ return __slow_ieee754_sqrtf (x); ++} ++ + strong_alias (__ieee754_sqrtf, __sqrtf_finite) +Index: libc/sysdeps/powerpc/powerpc32/e500mc/fpu/e_sqrt.c +=================================================================== +--- libc.orig/sysdeps/powerpc/powerpc32/e500mc/fpu/e_sqrt.c ++++ libc/sysdeps/powerpc/powerpc32/e500mc/fpu/e_sqrt.c +@@ -41,10 +41,10 @@ static const float half = 0.5; + + #ifdef __STDC__ + double +-__ieee754_sqrt (double b) ++__slow_ieee754_sqrt (double b) + #else + double +-__ieee754_sqrt (b) ++__slow_ieee754_sqrt (b) + double b; + #endif + { +@@ -83,7 +83,7 @@ __ieee754_sqrt (b) + + /* Handle small numbers by scaling. */ + if (__builtin_expect ((u.parts.msw & 0x7ff00000) <= 0x02000000, 0)) +- return __ieee754_sqrt (b * two108) * twom54; ++ return __slow_ieee754_sqrt (b * two108) * twom54; + + #define FMADD(a_, c_, b_) \ + ({ double __r; \ +@@ -132,4 +132,12 @@ __ieee754_sqrt (b) + } + return f_wash (b); + } ++ ++#undef __ieee754_sqrt ++double ++__ieee754_sqrt (double x) ++{ ++ return __slow_ieee754_sqrt (x); ++} ++ + strong_alias (__ieee754_sqrt, __sqrt_finite) +Index: libc/sysdeps/powerpc/powerpc32/e500mc/fpu/e_sqrtf.c +=================================================================== +--- libc.orig/sysdeps/powerpc/powerpc32/e500mc/fpu/e_sqrtf.c ++++ libc/sysdeps/powerpc/powerpc32/e500mc/fpu/e_sqrtf.c +@@ -39,10 +39,10 @@ static const float threehalf = 1.5; + + #ifdef __STDC__ + float +-__ieee754_sqrtf (float b) ++__slow_ieee754_sqrtf (float b) + #else + float +-__ieee754_sqrtf (b) ++__slow_ieee754_sqrtf (b) + float b; + #endif + { +@@ -99,4 +99,12 @@ __ieee754_sqrtf (b) + } + return f_washf (b); + } ++ ++#undef __ieee754_sqrtf ++float ++__ieee754_sqrtf (float x) ++{ ++ return __slow_ieee754_sqrtf (x); ++} ++ + strong_alias (__ieee754_sqrtf, __sqrtf_finite) +Index: libc/sysdeps/powerpc/powerpc32/e5500/fpu/e_sqrt.c +=================================================================== +--- libc.orig/sysdeps/powerpc/powerpc32/e5500/fpu/e_sqrt.c ++++ libc/sysdeps/powerpc/powerpc32/e5500/fpu/e_sqrt.c +@@ -41,10 +41,10 @@ static const float half = 0.5; + + #ifdef __STDC__ + double +-__ieee754_sqrt (double b) ++__slow_ieee754_sqrt (double b) + #else + double +-__ieee754_sqrt (b) ++__slow_ieee754_sqrt (b) + double b; + #endif + { +@@ -83,7 +83,7 @@ __ieee754_sqrt (b) + + /* Handle small numbers by scaling. */ + if (__builtin_expect ((u.parts.msw & 0x7ff00000) <= 0x02000000, 0)) +- return __ieee754_sqrt (b * two108) * twom54; ++ return __slow_ieee754_sqrt (b * two108) * twom54; + + #define FMADD(a_, c_, b_) \ + ({ double __r; \ +@@ -132,4 +132,12 @@ __ieee754_sqrt (b) + } + return f_wash (b); + } ++ ++#undef __ieee754_sqrt ++double ++__ieee754_sqrt (double x) ++{ ++ return __slow_ieee754_sqrt (x); ++} ++ + strong_alias (__ieee754_sqrt, __sqrt_finite) +Index: libc/sysdeps/powerpc/powerpc32/e5500/fpu/e_sqrtf.c +=================================================================== +--- libc.orig/sysdeps/powerpc/powerpc32/e5500/fpu/e_sqrtf.c ++++ libc/sysdeps/powerpc/powerpc32/e5500/fpu/e_sqrtf.c +@@ -39,10 +39,10 @@ static const float threehalf = 1.5; + + #ifdef __STDC__ + float +-__ieee754_sqrtf (float b) ++__slow_ieee754_sqrtf (float b) + #else + float +-__ieee754_sqrtf (b) ++__slow_ieee754_sqrtf (b) + float b; + #endif + { +@@ -99,4 +99,12 @@ __ieee754_sqrtf (b) + } + return f_washf (b); + } ++ ++#undef __ieee754_sqrtf ++float ++__ieee754_sqrtf (float x) ++{ ++ return __slow_ieee754_sqrtf (x); ++} ++ + strong_alias (__ieee754_sqrtf, __sqrtf_finite) +Index: libc/sysdeps/powerpc/powerpc32/e6500/fpu/e_sqrt.c +=================================================================== +--- libc.orig/sysdeps/powerpc/powerpc32/e6500/fpu/e_sqrt.c ++++ libc/sysdeps/powerpc/powerpc32/e6500/fpu/e_sqrt.c +@@ -132,4 +132,12 @@ __ieee754_sqrt (b) + } + return f_wash (b); + } ++ ++#undef __ieee754_sqrt ++double ++__ieee754_sqrt (double x) ++{ ++ return __slow_ieee754_sqrt (x); ++} ++ + strong_alias (__ieee754_sqrt, __sqrt_finite) +Index: libc/sysdeps/powerpc/powerpc32/e6500/fpu/e_sqrtf.c +=================================================================== +--- libc.orig/sysdeps/powerpc/powerpc32/e6500/fpu/e_sqrtf.c ++++ libc/sysdeps/powerpc/powerpc32/e6500/fpu/e_sqrtf.c +@@ -99,4 +99,12 @@ __ieee754_sqrtf (b) + } + return f_washf (b); + } ++ ++#undef __ieee754_sqrtf ++float ++__ieee754_sqrtf (float x) ++{ ++ return __slow_ieee754_sqrtf (x); ++} ++ + strong_alias (__ieee754_sqrtf, __sqrtf_finite) diff --git a/meta/recipes-core/eglibc/eglibc-2.18/relocatable_sdk.patch b/meta/recipes-core/eglibc/eglibc-2.18/relocatable_sdk.patch new file mode 100644 index 0000000000..ca5f17ba58 --- /dev/null +++ b/meta/recipes-core/eglibc/eglibc-2.18/relocatable_sdk.patch @@ -0,0 +1,108 @@ +Upstream-Status: Inappropriate [SDK specific] + +This patch puts the dynamic loader path in the binaries, SYSTEM_DIRS strings +and lengths as well as ld.so.cache path in the dynamic loader to specific +sections in memory. The sections that contain paths have been allocated a 4096 +byte section, which is the maximum path length in linux. This will allow the +relocating script to parse the ELF binary, detect the section and easily replace +the strings in a certain path. + +Signed-off-by: Laurentiu Palcu <laurentiu.palcu@intel.com> + +Index: libc/elf/interp.c +=================================================================== +--- libc.orig/elf/interp.c ++++ libc/elf/interp.c +@@ -16,5 +16,5 @@ + License along with the GNU C Library; if not, see + <http://www.gnu.org/licenses/>. */ + +-const char __invoke_dynamic_linker__[] __attribute__ ((section (".interp"))) ++const char __invoke_dynamic_linker__[4096] __attribute__ ((section (".interp"))) + = RUNTIME_LINKER; +Index: libc/elf/dl-load.c +=================================================================== +--- libc.orig/elf/dl-load.c ++++ libc/elf/dl-load.c +@@ -144,8 +144,8 @@ static size_t max_capstrlen attribute_re + /* Get the generated information about the trusted directories. */ + #include "trusted-dirs.h" + +-static const char system_dirs[] = SYSTEM_DIRS; +-static const size_t system_dirs_len[] = ++static const char system_dirs[4096] __attribute__ ((section (".sysdirs"))) = SYSTEM_DIRS; ++volatile static const size_t system_dirs_len[] __attribute__ ((section (".sysdirslen"))) = + { + SYSTEM_DIRS_LEN + }; +Index: libc/elf/dl-cache.c +=================================================================== +--- libc.orig/elf/dl-cache.c ++++ libc/elf/dl-cache.c +@@ -133,6 +133,10 @@ do \ + while (0) + + ++const char LD_SO_CACHE[4096] __attribute__ ((section (".ldsocache"))) = ++ SYSCONFDIR "/ld.so.cache"; ++ ++ + int + internal_function + _dl_cache_libcmp (const char *p1, const char *p2) +Index: libc/elf/ldconfig.c +=================================================================== +--- libc.orig/elf/ldconfig.c ++++ libc/elf/ldconfig.c +@@ -166,6 +166,9 @@ static struct argp argp = + options, parse_opt, NULL, doc, NULL, more_help, NULL + }; + ++ ++extern const char LD_SO_CACHE[4096] __attribute__ ((section (".ldsocache"))); ++ + /* Check if string corresponds to an important hardware capability or + a platform. */ + static int +Index: libc/sysdeps/generic/dl-cache.h +=================================================================== +--- libc.orig/sysdeps/generic/dl-cache.h ++++ libc/sysdeps/generic/dl-cache.h +@@ -27,10 +27,6 @@ + ((flags) == 1 || (flags) == _DL_CACHE_DEFAULT_ID) + #endif + +-#ifndef LD_SO_CACHE +-# define LD_SO_CACHE SYSCONFDIR "/ld.so.cache" +-#endif +- + #ifndef add_system_dir + # define add_system_dir(dir) add_dir (dir) + #endif +Index: libc/elf/rtld.c +=================================================================== +--- libc.orig/elf/rtld.c ++++ libc/elf/rtld.c +@@ -99,6 +99,7 @@ uintptr_t __pointer_chk_guard_local + strong_alias (__pointer_chk_guard_local, __pointer_chk_guard) + #endif + ++extern const char LD_SO_CACHE[4096] __attribute__ ((section (".ldsocache"))); + + /* List of auditing DSOs. */ + static struct audit_list +@@ -1031,12 +1032,12 @@ of this helper program; chances are you + --list list all dependencies and how they are resolved\n\ + --verify verify that given object really is a dynamically linked\n\ + object we can handle\n\ +- --inhibit-cache Do not use " LD_SO_CACHE "\n\ ++ --inhibit-cache Do not use %s\n\ + --library-path PATH use given PATH instead of content of the environment\n\ + variable LD_LIBRARY_PATH\n\ + --inhibit-rpath LIST ignore RUNPATH and RPATH information in object names\n\ + in LIST\n\ +- --audit LIST use objects named in LIST as auditors\n"); ++ --audit LIST use objects named in LIST as auditors\n", LD_SO_CACHE); + + ++_dl_skip_args; + --_dl_argc; diff --git a/meta/recipes-core/eglibc/eglibc-2.18/relocatable_sdk_fix_openpath.patch b/meta/recipes-core/eglibc/eglibc-2.18/relocatable_sdk_fix_openpath.patch new file mode 100644 index 0000000000..f164f8f9ae --- /dev/null +++ b/meta/recipes-core/eglibc/eglibc-2.18/relocatable_sdk_fix_openpath.patch @@ -0,0 +1,41 @@ +Upstream-Status: Inappropriate [SDK specific] + +eglibc-nativesdk: Fix buffer overrun with a relocated SDK + +When ld-linux-*.so.2 is relocated to a path that is longer than the +original fixed location, the dynamic loader will crash in open_path +because it implicitly assumes that max_dirnamelen is a fixed size that +never changes. + +The allocated buffer will not be large enough to contain the directory +path string which is larger than the fixed location provided at build +time. + +Signed-off-by: Jason Wessel <jason.wessel@windriver.com> + +--- + elf/dl-load.c | 12 ++++++++++++ + 1 file changed, 12 insertions(+) + +--- a/elf/dl-load.c ++++ b/elf/dl-load.c +@@ -1919,7 +1919,19 @@ open_path (const char *name, size_t name + given on the command line when rtld is run directly. */ + return -1; + ++ do ++ { ++ struct r_search_path_elem *this_dir = *dirs; ++ if (this_dir->dirnamelen > max_dirnamelen) ++ { ++ max_dirnamelen = this_dir->dirnamelen; ++ } ++ } ++ while (*++dirs != NULL); ++ + buf = alloca (max_dirnamelen + max_capstrlen + namelen); ++ ++ dirs = sps->dirs; + do + { + struct r_search_path_elem *this_dir = *dirs; diff --git a/meta/recipes-core/eglibc/eglibc-2.18/tzselect-awk.patch b/meta/recipes-core/eglibc/eglibc-2.18/tzselect-awk.patch new file mode 100644 index 0000000000..dc9949bec9 --- /dev/null +++ b/meta/recipes-core/eglibc/eglibc-2.18/tzselect-awk.patch @@ -0,0 +1,42 @@ +tzselect: workaround bug in busybox awk + +busybox's version of awk in version 1.20.2 and lower doesn't support +escape sequences in conjunction with the -F option. Use -v FS= instead +as a workaround until the bug is fixed. + +Reference: +https://bugs.busybox.net/show_bug.cgi?id=5126 + +Upstream-Status: Inappropriate [other] + +Signed-off-by: Paul Eggleton <paul.eggleton@linux.intel.com> + +--- libc/timezone/tzselect.ksh ++++ libc/timezone/tzselect.ksh +@@ -208,7 +208,7 @@ while + TZ_for_date=$TZ;; + *) + # Get list of names of countries in the continent or ocean. +- countries=$($AWK -F'\t' \ ++ countries=$($AWK -v FS="\t" \ + -v continent="$continent" \ + -v TZ_COUNTRY_TABLE="$TZ_COUNTRY_TABLE" \ + ' +@@ -252,7 +252,7 @@ while + + + # Get list of names of time zone rule regions in the country. +- regions=$($AWK -F'\t' \ ++ regions=$($AWK -v FS="\t" \ + -v country="$country" \ + -v TZ_COUNTRY_TABLE="$TZ_COUNTRY_TABLE" \ + ' +@@ -289,7 +289,7 @@ while + esac + + # Determine TZ from country and region. +- TZ=$($AWK -F'\t' \ ++ TZ=$($AWK -v FS="\t" \ + -v country="$country" \ + -v region="$region" \ + -v TZ_COUNTRY_TABLE="$TZ_COUNTRY_TABLE" \ diff --git a/meta/recipes-core/eglibc/eglibc-2.18/tzselect-sh.patch b/meta/recipes-core/eglibc/eglibc-2.18/tzselect-sh.patch new file mode 100644 index 0000000000..e9a3691bbb --- /dev/null +++ b/meta/recipes-core/eglibc/eglibc-2.18/tzselect-sh.patch @@ -0,0 +1,156 @@ +tzselect: eliminate ksh-dependency + +This is an adapted version of a patch originally +by Peter Seebach <peter.seebach@windriver.com> found here: +http://www.eglibc.org/archives/patches/msg00671.html + +Upstream-Status: Pending + +Signed-off-by: Paul Eggleton <paul.eggleton@linux.intel.com> + +Index: libc/timezone/tzselect.ksh +=================================================================== +--- libc.orig/timezone/tzselect.ksh 2012-11-17 09:50:14.000000000 -0800 ++++ libc/timezone/tzselect.ksh 2013-01-03 22:46:26.423844259 -0800 +@@ -1,4 +1,4 @@ +-#!/bin/bash ++#!/bin/sh + + PKGVERSION='(tzcode) ' + TZVERSION=see_Makefile +@@ -11,23 +11,80 @@ + + # Porting notes: + # +-# This script requires a Posix-like shell with the extension of a +-# 'select' statement. The 'select' statement was introduced in the +-# Korn shell and is available in Bash and other shell implementations. +-# If your host lacks both Bash and the Korn shell, you can get their +-# source from one of these locations: ++# func_select allows this script to run on shells (such as busybox ash) ++# which lack the ksh "select" builtin. + # +-# Bash <http://www.gnu.org/software/bash/bash.html> +-# Korn Shell <http://www.kornshell.com/> +-# Public Domain Korn Shell <http://www.cs.mun.ca/~michael/pdksh/> +-# +-# This script also uses several features of modern awk programs. ++# This script uses several features of modern awk programs. + # If your host lacks awk, or has an old awk that does not conform to Posix, + # you can use either of the following free programs instead: + # + # Gawk (GNU awk) <http://www.gnu.org/software/gawk/> + # mawk <http://invisible-island.net/mawk/> + ++# Implement ksh-style select in POSIX shell ++ ++# We need a mostly-portable echo-n. ++case `echo -n "foo\c"` in ++*n*c*) func_echo_n() { echo "$*"; } ;; ++*n*) func_echo_n() { echo "$*\c"; } ;; ++*) func_echo_n() { echo -n "$*"; } ;; ++esac ++ ++# Synopsis: Replace "select foo in list" with "while func_select foo in list" ++# and this works just like ksh, so far as I know. ++func_select () { ++ func_select_args=0 ++ if expr "$1" : "[_a-zA-Z][_a-zA-Z0-9]*$" > /dev/null; then ++ func_select_var=$1 ++ else ++ echo >&2 "func_select: '$1' is not a valid variable name." ++ return 1 ++ fi ++ shift 1 ++ case $1 in ++ in) shift 1;; ++ *) echo >&2 "func_select: usage: func_select var in ... (you must provide ++arguments)"; return 1;; ++ esac ++ case $# in ++ 0) echo >&2 "func_select: usage: func_select var in ..."; return 1;; ++ esac ++ for func_select_arg ++ do ++ func_select_args=`expr $func_select_args + 1` ++ eval func_select_a_$func_select_args=\$func_select_arg ++ done ++ REPLY="" ++ while : ++ do ++ if test -z "$REPLY"; then ++ func_select_i=1 ++ while test $func_select_i -le $func_select_args ++ do ++ eval echo "\"\$func_select_i) \$func_select_a_$func_select_i\"" ++ func_select_i=`expr $func_select_i + 1` ++ done ++ fi ++ func_echo_n "${PS3-#? }" >&2 ++ if read REPLY; then ++ if test -n "${REPLY}"; then ++ if expr "$REPLY" : '[1-9][0-9]*$' > /dev/null; then ++ if test "$REPLY" -ge 1 && test "$REPLY" -le $func_select_args; then ++ eval $func_select_var=\$func_select_a_$REPLY ++ else ++ eval $func_select_var= ++ fi ++ else ++ eval $func_select_var= ++ fi ++ return 0 ++ fi ++ else ++ eval $func_select_var= ++ return 1 ++ fi ++ done ++} + + # Specify default values for environment variables if they are unset. + : ${AWK=awk} +@@ -72,7 +129,7 @@ + + + # Work around a bug in bash 1.14.7 and earlier, where $PS3 is sent to stdout. +-case $(echo 1 | (select x in x; do break; done) 2>/dev/null) in ++case $(echo 1 | (while func_select x in x; do break; done) 2>/dev/null) in + ?*) PS3= + esac + +@@ -92,7 +149,7 @@ + + echo >&2 'Please select a continent or ocean.' + +- select continent in \ ++ while func_select continent in \ + Africa \ + Americas \ + Antarctica \ +@@ -172,7 +229,7 @@ + case $countries in + *"$newline"*) + echo >&2 'Please select a country.' +- select country in $countries ++ while func_select country in $countries + do + case $country in + '') echo >&2 'Please enter a number in range.';; +@@ -211,7 +268,7 @@ + *"$newline"*) + echo >&2 'Please select one of the following' \ + 'time zone regions.' +- select region in $regions ++ while func_select region in $regions + do + case $region in + '') echo >&2 'Please enter a number in range.';; +@@ -288,7 +345,7 @@ + echo >&2 "Is the above information OK?" + + ok= +- select ok in Yes No ++ while func_select ok in Yes No + do + case $ok in + '') echo >&2 'Please enter 1 for Yes, or 2 for No.';; diff --git a/meta/recipes-core/eglibc/eglibc-initial_2.18.bb b/meta/recipes-core/eglibc/eglibc-initial_2.18.bb new file mode 100644 index 0000000000..de45079603 --- /dev/null +++ b/meta/recipes-core/eglibc/eglibc-initial_2.18.bb @@ -0,0 +1,11 @@ +require eglibc_${PV}.bb +require eglibc-initial.inc + +DEPENDS += "kconfig-frontends-native" + +# main eglibc recipes muck with TARGET_CPPFLAGS to point into +# final target sysroot but we +# are not there when building eglibc-initial +# so reset it here + +TARGET_CPPFLAGS = "" diff --git a/meta/recipes-core/eglibc/eglibc-locale_2.18.bb b/meta/recipes-core/eglibc/eglibc-locale_2.18.bb new file mode 100644 index 0000000000..ce6c1d2320 --- /dev/null +++ b/meta/recipes-core/eglibc/eglibc-locale_2.18.bb @@ -0,0 +1 @@ +require eglibc-locale.inc diff --git a/meta/recipes-core/eglibc/eglibc-mtrace_2.18.bb b/meta/recipes-core/eglibc/eglibc-mtrace_2.18.bb new file mode 100644 index 0000000000..6fa2be9cc9 --- /dev/null +++ b/meta/recipes-core/eglibc/eglibc-mtrace_2.18.bb @@ -0,0 +1 @@ +require eglibc-mtrace.inc diff --git a/meta/recipes-core/eglibc/eglibc-scripts_2.18.bb b/meta/recipes-core/eglibc/eglibc-scripts_2.18.bb new file mode 100644 index 0000000000..31133621d1 --- /dev/null +++ b/meta/recipes-core/eglibc/eglibc-scripts_2.18.bb @@ -0,0 +1 @@ +require eglibc-scripts.inc diff --git a/meta/recipes-core/eglibc/eglibc_2.18.bb b/meta/recipes-core/eglibc/eglibc_2.18.bb new file mode 100644 index 0000000000..7c26829748 --- /dev/null +++ b/meta/recipes-core/eglibc/eglibc_2.18.bb @@ -0,0 +1,147 @@ +require eglibc.inc + +DEPENDS += "gperf-native kconfig-frontends-native" + +SRC_URI = "http://sakrah.dontexist.org/files/eglibc-${PV}-svnr23379.tar.bz2 \ + file://eglibc-svn-arm-lowlevellock-include-tls.patch \ + file://IO-acquire-lock-fix.patch \ + file://mips-rld-map-check.patch \ + file://etc/ld.so.conf \ + file://generate-supported.mk \ + file://glibc.fix_sqrt2.patch \ + file://multilib_readlib.patch \ + file://ppc-sqrt_finite.patch \ + file://GLRO_dl_debug_mask.patch \ + file://initgroups_keys.patch \ + file://eglibc_fix_findidx_parameters.patch \ + file://ppc_slow_ieee754_sqrt.patch \ + file://fileops-without-wchar-io.patch \ + file://add_resource_h_to_wait_h.patch \ + file://0001-eglibc-menuconfig-support.patch \ + file://0002-eglibc-menuconfig-hex-string-options.patch \ + file://0003-eglibc-menuconfig-build-instructions.patch \ + file://fsl-ppc-no-fsqrt.patch \ + file://0001-R_ARM_TLS_DTPOFF32.patch \ + file://tzselect-sh.patch \ + file://tzselect-awk.patch \ + file://0001-eglibc-run-libm-err-tab.pl-with-specific-dirs-in-S.patch \ + file://fix-tibetian-locales.patch \ + " +SRC_URI[md5sum] = "7da8ab8c0af6889187b9ece6dafc12b0" +SRC_URI[sha256sum] = "bd1cdb0528fd54d11ab896b878d71c0f89b4557e908e0f2561f32bbd7472aaeb" + +LIC_FILES_CHKSUM = "file://LICENSES;md5=e9a558e243b36d3209f380deb394b213 \ + file://COPYING;md5=393a5ca445f6965873eca0259a17f833 \ + file://posix/rxspencer/COPYRIGHT;md5=dc5485bb394a13b2332ec1c785f5d83a \ + file://COPYING.LIB;md5=bbb461211a33b134d42ed5ee802b37ff " + +SRC_URI_append_class-nativesdk = " file://ld-search-order.patch \ + file://relocatable_sdk.patch \ + file://relocatable_sdk_fix_openpath.patch \ + " +S = "${WORKDIR}/eglibc-${PV}/libc" +B = "${WORKDIR}/build-${TARGET_SYS}" + +PACKAGES_DYNAMIC = "" + +# the -isystem in bitbake.conf screws up glibc do_stage +BUILD_CPPFLAGS = "-I${STAGING_INCDIR_NATIVE}" +TARGET_CPPFLAGS = "-I${STAGING_DIR_TARGET}${includedir}" + +GLIBC_BROKEN_LOCALES = " _ER _ET so_ET yn_ER sid_ET tr_TR mn_MN gez_ET gez_ER bn_BD te_IN es_CR.ISO-8859-1" + +FILESPATH = "${@base_set_filespath([ '${FILE_DIRNAME}/eglibc-${PV}', '${FILE_DIRNAME}/eglibc', '${FILE_DIRNAME}/files', '${FILE_DIRNAME}' ], d)}" + +# +# For now, we will skip building of a gcc package if it is a uclibc one +# and our build is not a uclibc one, and we skip a glibc one if our build +# is a uclibc build. +# +# See the note in gcc/gcc_3.4.0.oe +# + +python __anonymous () { + import re + uc_os = (re.match('.*uclibc$', d.getVar('TARGET_OS', True)) != None) + if uc_os: + raise bb.parse.SkipPackage("incompatible with target %s" % + d.getVar('TARGET_OS', True)) +} + +export libc_cv_slibdir = "${base_libdir}" + +EXTRA_OECONF = "--enable-kernel=${OLDEST_KERNEL} \ + --without-cvs --disable-profile \ + --disable-debug --without-gd \ + --enable-clocale=gnu \ + --enable-add-ons \ + --with-headers=${STAGING_INCDIR} \ + --without-selinux \ + --enable-obsolete-rpc \ + --with-kconfig=${STAGING_BINDIR_NATIVE} \ + ${GLIBC_EXTRA_OECONF}" + +EXTRA_OECONF += "${@get_libc_fpu_setting(bb, d)}" + +do_patch_append() { + bb.build.exec_func('do_fix_readlib_c', d) +} + +# for mips eglibc now builds syscall tables for all abi's +# so we make sure that we choose right march option which is +# compatible with o32,n32 and n64 abi's +# e.g. -march=mips32 is not compatible with n32 and n64 therefore +# we filter it out in such case -march=from-abi which will be +# mips1 when using o32 and mips3 when using n32/n64 + +TUNE_CCARGS_mips := "${@oe_filter_out('-march=mips32', '${TUNE_CCARGS}', d)}" +TUNE_CCARGS_mipsel := "${@oe_filter_out('-march=mips32', '${TUNE_CCARGS}', d)}" + +do_fix_readlib_c () { + sed -i -e 's#OECORE_KNOWN_INTERPRETER_NAMES#${EGLIBC_KNOWN_INTERPRETER_NAMES}#' ${S}/elf/readlib.c +} + +do_configure () { +# override this function to avoid the autoconf/automake/aclocal/autoheader +# calls for now +# don't pass CPPFLAGS into configure, since it upsets the kernel-headers +# version check and doesn't really help with anything + if [ -z "`which rpcgen`" ]; then + echo "rpcgen not found. Install glibc-devel." + exit 1 + fi + (cd ${S} && gnu-configize) || die "failure in running gnu-configize" + find ${S} -name "configure" | xargs touch + CPPFLAGS="" oe_runconf +} + +rpcsvc = "bootparam_prot.x nlm_prot.x rstat.x \ + yppasswd.x klm_prot.x rex.x sm_inter.x mount.x \ + rusers.x spray.x nfs_prot.x rquota.x key_prot.x" + +do_compile () { + # -Wl,-rpath-link <staging>/lib in LDFLAGS can cause breakage if another glibc is in staging + unset LDFLAGS + base_do_compile + ( + cd ${S}/sunrpc/rpcsvc + for r in ${rpcsvc}; do + h=`echo $r|sed -e's,\.x$,.h,'` + rpcgen -h $r -o $h || bbwarn "unable to generate header for $r" + done + ) + echo "Adjust ldd script" + if [ -n "${RTLDLIST}" ] + then + prevrtld=`cat ${B}/elf/ldd | grep "^RTLDLIST=" | sed 's#^RTLDLIST="\?\([^"]*\)"\?$#\1#'` + if [ "${prevrtld}" != "${RTLDLIST}" ] + then + sed -i ${B}/elf/ldd -e "s#^RTLDLIST=.*\$#RTLDLIST=\"${prevrtld} ${RTLDLIST}\"#" + fi + fi + +} + +require eglibc-package.inc + +BBCLASSEXTEND = "nativesdk" |