aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorKhem Raj <raj.khem@gmail.com>2013-06-26 13:59:01 -0700
committerRichard Purdie <richard.purdie@linuxfoundation.org>2013-07-05 15:26:22 +0100
commit59ae9fc07a6a89492c001de0b3322ecd6d3956be (patch)
treeb795a934ffc597deed68433ae7590f2c6f1a94db
parenteda721f0c85afa30c2b3030ef76522cc3451af21 (diff)
downloadopenembedded-core-59ae9fc07a6a89492c001de0b3322ecd6d3956be.tar.gz
eglibc: Add 2.18 recipes
Signed-off-by: Khem Raj <raj.khem@gmail.com> Signed-off-by: Saul Wold <sgw@linux.intel.com>
-rw-r--r--meta/recipes-core/eglibc/cross-localedef-native_2.18.bb49
-rw-r--r--meta/recipes-core/eglibc/eglibc-2.18/0001-R_ARM_TLS_DTPOFF32.patch56
-rw-r--r--meta/recipes-core/eglibc/eglibc-2.18/0001-eglibc-menuconfig-support.patch912
-rw-r--r--meta/recipes-core/eglibc/eglibc-2.18/0001-eglibc-run-libm-err-tab.pl-with-specific-dirs-in-S.patch36
-rw-r--r--meta/recipes-core/eglibc/eglibc-2.18/0002-eglibc-menuconfig-hex-string-options.patch169
-rw-r--r--meta/recipes-core/eglibc/eglibc-2.18/0003-eglibc-menuconfig-build-instructions.patch176
-rw-r--r--meta/recipes-core/eglibc/eglibc-2.18/GLRO_dl_debug_mask.patch143
-rw-r--r--meta/recipes-core/eglibc/eglibc-2.18/IO-acquire-lock-fix.patch17
-rw-r--r--meta/recipes-core/eglibc/eglibc-2.18/add_resource_h_to_wait_h.patch20
-rw-r--r--meta/recipes-core/eglibc/eglibc-2.18/eglibc-2.17-PR15003-r22243.patch207
-rw-r--r--meta/recipes-core/eglibc/eglibc-2.18/eglibc-2.17-r22178.patch9472
-rw-r--r--meta/recipes-core/eglibc/eglibc-2.18/eglibc-svn-arm-lowlevellock-include-tls.patch21
-rw-r--r--meta/recipes-core/eglibc/eglibc-2.18/eglibc_fix_findidx_parameters.patch38
-rw-r--r--meta/recipes-core/eglibc/eglibc-2.18/etc/ld.so.conf0
-rw-r--r--meta/recipes-core/eglibc/eglibc-2.18/fileops-without-wchar-io.patch22
-rw-r--r--meta/recipes-core/eglibc/eglibc-2.18/fix-tibetian-locales.patch38
-rw-r--r--meta/recipes-core/eglibc/eglibc-2.18/fix_for_centos_5.8.patch18
-rw-r--r--meta/recipes-core/eglibc/eglibc-2.18/fsl-ppc-no-fsqrt.patch100
-rw-r--r--meta/recipes-core/eglibc/eglibc-2.18/generate-supported.mk11
-rw-r--r--meta/recipes-core/eglibc/eglibc-2.18/glibc.fix_sqrt2.patch1491
-rw-r--r--meta/recipes-core/eglibc/eglibc-2.18/initgroups_keys.patch20
-rw-r--r--meta/recipes-core/eglibc/eglibc-2.18/ld-search-order.patch56
-rw-r--r--meta/recipes-core/eglibc/eglibc-2.18/mips-rld-map-check.patch26
-rw-r--r--meta/recipes-core/eglibc/eglibc-2.18/multilib_readlib.patch17
-rw-r--r--meta/recipes-core/eglibc/eglibc-2.18/ppc-sqrt_finite.patch184
-rw-r--r--meta/recipes-core/eglibc/eglibc-2.18/ppc_slow_ieee754_sqrt.patch365
-rw-r--r--meta/recipes-core/eglibc/eglibc-2.18/relocatable_sdk.patch108
-rw-r--r--meta/recipes-core/eglibc/eglibc-2.18/relocatable_sdk_fix_openpath.patch41
-rw-r--r--meta/recipes-core/eglibc/eglibc-2.18/tzselect-awk.patch42
-rw-r--r--meta/recipes-core/eglibc/eglibc-2.18/tzselect-sh.patch156
-rw-r--r--meta/recipes-core/eglibc/eglibc-initial_2.18.bb11
-rw-r--r--meta/recipes-core/eglibc/eglibc-locale_2.18.bb1
-rw-r--r--meta/recipes-core/eglibc/eglibc-mtrace_2.18.bb1
-rw-r--r--meta/recipes-core/eglibc/eglibc-scripts_2.18.bb1
-rw-r--r--meta/recipes-core/eglibc/eglibc_2.18.bb147
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,
+ &current_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"