summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorjoseph <joseph@7b3dc134-2b1b-0410-93df-9e9f96275f8d>2009-02-13 18:31:14 +0000
committerjoseph <joseph@7b3dc134-2b1b-0410-93df-9e9f96275f8d>2009-02-13 18:31:14 +0000
commit90b6943f0a77fe847ccc8037447ee56a796a1915 (patch)
tree5991cf54ea093cb5af534d3acdf7e012ac219b81
parent75b72fe085a17b1448190cb9d5cd31124320f3a3 (diff)
Merge changes between r7867 and r7922 from /fsf/trunk.
git-svn-id: svn://svn.eglibc.org/trunk@7923 7b3dc134-2b1b-0410-93df-9e9f96275f8d
-rw-r--r--libc/ChangeLog128
-rw-r--r--libc/bits/confname.h56
-rw-r--r--libc/bits/environments.h28
-rw-r--r--libc/debug/pcprofiledump.c4
-rwxr-xr-xlibc/debug/xtrace.sh6
-rw-r--r--libc/elf/dl-load.c4
-rw-r--r--libc/elf/ldconfig.c29
-rw-r--r--libc/elf/ldd.bash.in3
-rw-r--r--libc/elf/sln.c43
-rw-r--r--libc/elf/sprof.c31
-rw-r--r--libc/grp/compat-initgroups.c33
-rw-r--r--libc/include/atomic.h18
-rw-r--r--libc/include/malloc.h13
-rw-r--r--libc/include/rpc/auth.h2
-rw-r--r--libc/intl/dcigettext.c17
-rw-r--r--libc/locale/programs/locale.c29
-rw-r--r--libc/localedata/ChangeLog21
-rw-r--r--libc/localedata/Makefile4
-rw-r--r--libc/localedata/locales/el_CY4
-rw-r--r--libc/localedata/locales/el_GR4
-rw-r--r--libc/localedata/locales/iso14651_t1_common325
-rw-r--r--libc/localedata/locales/sv_FI12
-rw-r--r--libc/malloc/arena.c2
-rw-r--r--libc/malloc/hooks.c20
-rw-r--r--libc/malloc/malloc.c120
-rw-r--r--libc/malloc/memusage.c10
-rwxr-xr-xlibc/malloc/memusage.sh3
-rw-r--r--libc/malloc/memusagestat.c6
-rw-r--r--libc/nptl_db/ChangeLog5
-rw-r--r--libc/nptl_db/td_thr_get_info.c3
-rw-r--r--libc/nscd/nscd.c29
-rw-r--r--libc/nss/getent.c10
-rw-r--r--libc/po/Makefile3
-rw-r--r--libc/po/libc.pot1160
-rw-r--r--libc/po/lt.po63
-rw-r--r--libc/posix/Makefile10
-rw-r--r--libc/posix/confstr.c58
-rw-r--r--libc/posix/confstr.inc128
-rw-r--r--libc/posix/cross-getconf.c58
-rw-r--r--libc/posix/getconf.c116
-rw-r--r--libc/posix/sysconf.c12
-rw-r--r--libc/resolv/res_libc.c5
-rw-r--r--libc/stdio-common/psignal.c4
-rw-r--r--libc/sunrpc/rpc_common.c6
-rw-r--r--libc/sunrpc/rpc_main.c53
-rw-r--r--libc/sunrpc/rpcinfo.c1
-rw-r--r--libc/sysdeps/i386/i486/bits/atomic.h31
-rw-r--r--libc/sysdeps/posix/sysconf.c31
-rw-r--r--libc/sysdeps/unix/opendir.c40
-rw-r--r--libc/sysdeps/unix/sysv/linux/i386/bits/environments.h24
-rw-r--r--libc/sysdeps/unix/sysv/linux/lddlibc4.c13
-rw-r--r--libc/sysdeps/unix/sysv/linux/ldsodefs.h22
-rw-r--r--libc/sysdeps/unix/sysv/linux/powerpc/bits/environments.h28
-rw-r--r--libc/sysdeps/unix/sysv/linux/s390/bits/environments.h28
-rw-r--r--libc/sysdeps/unix/sysv/linux/sparc/bits/environments.h28
-rw-r--r--libc/sysdeps/unix/sysv/linux/x86_64/bits/environments.h28
-rw-r--r--libc/sysdeps/x86_64/bits/atomic.h36
-rw-r--r--libc/time/tzset.c4
-rw-r--r--ports/ChangeLog.arm35
-rw-r--r--ports/ChangeLog.hppa17
-rw-r--r--ports/ChangeLog.mips6
-rw-r--r--ports/sysdeps/unix/sysv/linux/arm/eabi/nptl/unwind-forcedunwind.c20
-rw-r--r--ports/sysdeps/unix/sysv/linux/arm/nptl/unwind-forcedunwind.c20
-rw-r--r--ports/sysdeps/unix/sysv/linux/hppa/linuxthreads/malloc-machine.h6
-rw-r--r--ports/sysdeps/unix/sysv/linux/hppa/nptl/unwind-forcedunwind.c20
-rw-r--r--ports/sysdeps/unix/sysv/linux/mips/sys/inotify.h4
66 files changed, 2250 insertions, 890 deletions
diff --git a/libc/ChangeLog b/libc/ChangeLog
index 100de9067..99ad03961 100644
--- a/libc/ChangeLog
+++ b/libc/ChangeLog
@@ -1,3 +1,131 @@
+2009-02-11 Ulrich Drepper <drepper@redhat.com>
+
+ * po/lt.po: Update from translation team.
+
+2009-02-10 Ulrich Drepper <drepper@redhat.com>
+
+ * elf/dl-load.c (open_verify): In case VALID_ELF_HEADER is
+ defined, allow additional data to be added using the optional
+ MORE_ELF_HEADER_DATA macro.
+ * sysdeps/unix/sysv/linux/ldsodefs.h (VALID_ELF_HEADER,
+ VALID_ELF_OSABI, VALID_ELF_ABIVERSION, MORE_ELF_HEADER_DATA): Define.
+
+2009-02-08 Ulrich Drepper <drepper@redhat.com>
+
+ * include/atomic.h: Define catomic_and if not already defined.
+ * sysdeps/x86_64/bits/atomic.h: Define catomic_and.
+ * sysdeps/i386/i486/bits/atomic.h: Likewise.
+
+2009-02-07 Ulrich Drepper <drepper@redhat.com>
+
+ * malloc/malloc.c (_int_free): Second argument is now mchunkptr.
+ Change all callers.
+ (_int_realloc): Likewise. Third argument is now padded size
+ All _int_* functions are now static.
+
+ * malloc/hooks.c: Change all callers to _int_free and _int_realloc.
+ * malloc/arena.c: Likewise.
+ * include/malloc.h: Remove now unnecessary declarations of the _int_*
+ functions.
+
+ * sunrpc/rpc_common.c: We cannot move _null_auth into .rodata that
+ easily.
+
+ * malloc/malloc.c: Add branch prediction for use of the hooks.
+
+ * grp/compat-initgroups.c [NOT_IN_libc] (__libc_use_alloca): Define.
+
+2009-02-06 Ulrich Drepper <drepper@redhat.com>
+
+ [BZ #7095]
+ * bits/confname.h: Add SUSv7 macros for getconf environments.
+ * bits/environments.h: Likewise.
+ * sysdeps/unix/sysv/linux/i386/bits/environments.h: Likewise.
+ * sysdeps/unix/sysv/linux/powerpc/bits/environments.h: Likewise.
+ * sysdeps/unix/sysv/linux/s390/bits/environments.h: Likewise.
+ * sysdeps/unix/sysv/linux/sparc/bits/environments.h: Likewise.
+ * sysdeps/unix/sysv/linux/x86_64/bits/environments.h: Likewise.
+ * posix/confstr.c: Handle SUSv5 and SUSv7 environments.
+ * posix/getconf.c: Likewise.
+ * posix/sysconf.c: Likewise.
+ * sysdeps/posix/sysconf.c: Likewise.
+ * posix/Makefile (getconf.speclist): Also collect SUSv5 and SUSv7
+ environments.
+
+2009-01-16 Petr Baudis <pasky@suse.cz>
+
+ [BZ #9753]
+ * resolv/res_libc.c (__res_maybe_init): Call __res_vinit()
+ even if we currently have zero nscount.
+
+2009-02-06 Ulrich Drepper <drepper@redhat.com>
+
+ [BZ #9781]
+ * grp/compat-initgroups.c (compat_call): Switch to use malloc when
+ the input line is too long.
+
+ * po/Makefile (libc.pot): Add f_print as function taking c-format
+ parameter.
+
+ * debug/xtrace.sh: Unify translatable messages.
+ * elf/ldd.bash.in: Likewise.
+ * elf/sprof.c: Likewise.
+ * locale/programs/locale.c: Likewise.
+ * malloc/memusage.sh: Likewise.
+ * nss/getent.c: Likewise.
+
+2009-02-06 Joseph Myers <joseph@codesourcery.com>
+
+ * debug/pcprofiledump.c (print_version,
+ argp_program_version_hook): New function.
+ * elf/ldconfig.c (more_help): New function.
+ (argp): Use it.
+ * elf/sln.c (usage): New function.
+ (main): Support --help and --version.
+ * malloc/memusagestat.c (print_version): New function.
+ (argp_program_version_hook): New variable.
+ * nscd/nscd.c (more_help): New function.
+ (argp): Use it.
+ * posix/getconf.c (main): Send --version output to stdout.
+ Support --help.
+ * sunrpc/rpc_main.c (usage, options_usage): Take STREAM and STATUS
+ arguments. All callers changed.
+ (print_version): New function.
+ (parseargs): Support --help and --version.
+ * sunrpc/rpcinfo.c (usage): Take STREAM argument. All callers
+ changed.
+ (print_version): New function.
+ (main): Use getopt_long. Support --help and --version.
+ * sysdeps/unix/sysv/linux/lddlibc4.c (main): Support --help and
+ --version.
+
+2009-02-06 Ulrich Drepper <drepper@redhat.com>
+
+ * malloc/memusage.c (DEFAULT_BUFFER_SIZE): Change to 32768.
+ (update_data): Fix handling of wrapping back
+ to the beginning of the buffer.
+
+ [BZ #9823]
+ * stdio-common/psignal.c (psignal): Fix test for empty string.
+
+2009-02-05 Ulrich Drepper <drepper@redhat.com>
+
+ * include/rpc/auth.h: Use libc_hidden_proto for _null_auth.
+ * sunrpc/rpc_common.c: Add libc_hidden_def for _null_auth. Also
+ move _null_auth to .rodata.
+
+ * time/tzset.c (__tzset_parse_tz): DST offset must also allow hour
+ value of 24.
+
+ * intl/dcigettext.c (DCIGETTEXT): Avoid some code duplication.
+
+ * sysdeps/unix/opendir.c (__alloc_dir): We have a lot more memory
+ today than when the original code was written. Use larger
+ buffers. This also makes it unnecessary to have stat information,
+ if this causes extra efforts.
+ (__opendir): In case O_DIRECTORY works, don't call fstat just for
+ __alloc_dir.
+
2009-02-03 Andrew Stubbs <ams@codesourcery.com>
* sysdeps/sh/sh4/dl-trampoline.S: Only set HAVE_FPU if __SH_FPU_ANY__
diff --git a/libc/bits/confname.h b/libc/bits/confname.h
index 80b51ac0b..f6fea1fc2 100644
--- a/libc/bits/confname.h
+++ b/libc/bits/confname.h
@@ -1,5 +1,5 @@
/* `sysconf', `pathconf', and `confstr' NAME values. Generic version.
- Copyright (C) 1993,1995-1998,2000,2001,2003,2004,2007
+ Copyright (C) 1993,1995-1998,2000,2001,2003,2004,2007,2009
Free Software Foundation, Inc.
This file is part of the GNU C Library.
@@ -498,8 +498,17 @@ enum
_SC_IPV6 = _SC_LEVEL1_ICACHE_SIZE + 50,
#define _SC_IPV6 _SC_IPV6
- _SC_RAW_SOCKETS
+ _SC_RAW_SOCKETS,
#define _SC_RAW_SOCKETS _SC_RAW_SOCKETS
+
+ _SC_V7_ILP32_OFF32,
+#define _SC_V7_ILP32_OFF32 _SC_V7_ILP32_OFF32
+ _SC_V7_ILP32_OFFBIG,
+#define _SC_V7_ILP32_OFFBIG _SC_V7_ILP32_OFFBIG
+ _SC_V7_LP64_OFF64,
+#define _SC_V7_LP64_OFF64 _SC_V7_LP64_OFF64
+ _SC_V7_LPBIG_OFFBIG,
+#define _SC_V7_LPBIG_OFFBIG _SC_V7_LPBIG_OFFBIG
};
/* Values for the NAME argument to `confstr'. */
@@ -517,6 +526,14 @@ enum
_CS_GNU_LIBPTHREAD_VERSION,
#define _CS_GNU_LIBPTHREAD_VERSION _CS_GNU_LIBPTHREAD_VERSION
+ _CS_V5_WIDTH_RESTRICTED_ENVS,
+#define _CS_V5_WIDTH_RESTRICTED_ENVS _CS_V5_WIDTH_RESTRICTED_ENVS
+#define _CS_POSIX_V5_WIDTH_RESTRICTED_ENVS _CS_V5_WIDTH_RESTRICTED_ENVS
+
+ _CS_V7_WIDTH_RESTRICTED_ENVS,
+#define _CS_V7_WIDTH_RESTRICTED_ENVS _CS_V7_WIDTH_RESTRICTED_ENVS
+#define _CS_POSIX_V7_WIDTH_RESTRICTED_ENVS _CS_V7_WIDTH_RESTRICTED_ENVS
+
_CS_LFS_CFLAGS = 1000,
#define _CS_LFS_CFLAGS _CS_LFS_CFLAGS
_CS_LFS_LDFLAGS,
@@ -597,6 +614,39 @@ enum
#define _CS_POSIX_V6_LPBIG_OFFBIG_LDFLAGS _CS_POSIX_V6_LPBIG_OFFBIG_LDFLAGS
_CS_POSIX_V6_LPBIG_OFFBIG_LIBS,
#define _CS_POSIX_V6_LPBIG_OFFBIG_LIBS _CS_POSIX_V6_LPBIG_OFFBIG_LIBS
- _CS_POSIX_V6_LPBIG_OFFBIG_LINTFLAGS
+ _CS_POSIX_V6_LPBIG_OFFBIG_LINTFLAGS,
#define _CS_POSIX_V6_LPBIG_OFFBIG_LINTFLAGS _CS_POSIX_V6_LPBIG_OFFBIG_LINTFLAGS
+
+ _CS_POSIX_V7_ILP32_OFF32_CFLAGS,
+#define _CS_POSIX_V7_ILP32_OFF32_CFLAGS _CS_POSIX_V7_ILP32_OFF32_CFLAGS
+ _CS_POSIX_V7_ILP32_OFF32_LDFLAGS,
+#define _CS_POSIX_V7_ILP32_OFF32_LDFLAGS _CS_POSIX_V7_ILP32_OFF32_LDFLAGS
+ _CS_POSIX_V7_ILP32_OFF32_LIBS,
+#define _CS_POSIX_V7_ILP32_OFF32_LIBS _CS_POSIX_V7_ILP32_OFF32_LIBS
+ _CS_POSIX_V7_ILP32_OFF32_LINTFLAGS,
+#define _CS_POSIX_V7_ILP32_OFF32_LINTFLAGS _CS_POSIX_V7_ILP32_OFF32_LINTFLAGS
+ _CS_POSIX_V7_ILP32_OFFBIG_CFLAGS,
+#define _CS_POSIX_V7_ILP32_OFFBIG_CFLAGS _CS_POSIX_V7_ILP32_OFFBIG_CFLAGS
+ _CS_POSIX_V7_ILP32_OFFBIG_LDFLAGS,
+#define _CS_POSIX_V7_ILP32_OFFBIG_LDFLAGS _CS_POSIX_V7_ILP32_OFFBIG_LDFLAGS
+ _CS_POSIX_V7_ILP32_OFFBIG_LIBS,
+#define _CS_POSIX_V7_ILP32_OFFBIG_LIBS _CS_POSIX_V7_ILP32_OFFBIG_LIBS
+ _CS_POSIX_V7_ILP32_OFFBIG_LINTFLAGS,
+#define _CS_POSIX_V7_ILP32_OFFBIG_LINTFLAGS _CS_POSIX_V7_ILP32_OFFBIG_LINTFLAGS
+ _CS_POSIX_V7_LP64_OFF64_CFLAGS,
+#define _CS_POSIX_V7_LP64_OFF64_CFLAGS _CS_POSIX_V7_LP64_OFF64_CFLAGS
+ _CS_POSIX_V7_LP64_OFF64_LDFLAGS,
+#define _CS_POSIX_V7_LP64_OFF64_LDFLAGS _CS_POSIX_V7_LP64_OFF64_LDFLAGS
+ _CS_POSIX_V7_LP64_OFF64_LIBS,
+#define _CS_POSIX_V7_LP64_OFF64_LIBS _CS_POSIX_V7_LP64_OFF64_LIBS
+ _CS_POSIX_V7_LP64_OFF64_LINTFLAGS,
+#define _CS_POSIX_V7_LP64_OFF64_LINTFLAGS _CS_POSIX_V7_LP64_OFF64_LINTFLAGS
+ _CS_POSIX_V7_LPBIG_OFFBIG_CFLAGS,
+#define _CS_POSIX_V7_LPBIG_OFFBIG_CFLAGS _CS_POSIX_V7_LPBIG_OFFBIG_CFLAGS
+ _CS_POSIX_V7_LPBIG_OFFBIG_LDFLAGS,
+#define _CS_POSIX_V7_LPBIG_OFFBIG_LDFLAGS _CS_POSIX_V7_LPBIG_OFFBIG_LDFLAGS
+ _CS_POSIX_V7_LPBIG_OFFBIG_LIBS,
+#define _CS_POSIX_V7_LPBIG_OFFBIG_LIBS _CS_POSIX_V7_LPBIG_OFFBIG_LIBS
+ _CS_POSIX_V7_LPBIG_OFFBIG_LINTFLAGS
+#define _CS_POSIX_V7_LPBIG_OFFBIG_LINTFLAGS _CS_POSIX_V7_LPBIG_OFFBIG_LINTFLAGS
};
diff --git a/libc/bits/environments.h b/libc/bits/environments.h
index 4617dc45f..548ea7f84 100644
--- a/libc/bits/environments.h
+++ b/libc/bits/environments.h
@@ -1,4 +1,4 @@
-/* Copyright (C) 1999, 2001, 2004 Free Software Foundation, Inc.
+/* Copyright (C) 1999, 2001, 2004, 2009 Free Software Foundation, Inc.
This file is part of the GNU C Library.
The GNU C Library is free software; you can redistribute it and/or
@@ -27,30 +27,36 @@
`-1' means it is never supported. Undefined means it cannot be
statically decided.
- _POSIX_V6_ILP32_OFF32 32bit int, long, pointers, and off_t type
- _POSIX_V6_ILP32_OFFBIG 32bit int, long, and pointers and larger off_t type
+ _POSIX_V7_ILP32_OFF32 32bit int, long, pointers, and off_t type
+ _POSIX_V7_ILP32_OFFBIG 32bit int, long, and pointers and larger off_t type
- _POSIX_V6_LP64_OFF32 64bit long and pointers and 32bit off_t type
- _POSIX_V6_LPBIG_OFFBIG 64bit long and pointers and large off_t type
+ _POSIX_V7_LP64_OFF32 64bit long and pointers and 32bit off_t type
+ _POSIX_V7_LPBIG_OFFBIG 64bit long and pointers and large off_t type
- The macros _XBS5_ILP32_OFF32, _XBS5_ILP32_OFFBIG, _XBS5_LP64_OFF32, and
- _XBS5_LPBIG_OFFBIG were used in previous versions of the Unix standard
- and are available only for compatibility.
+ The macros _POSIX_V6_ILP32_OFF32, _POSIX_V6_ILP32_OFFBIG,
+ _POSIX_V6_LP64_OFF32, _POSIX_V6_LPBIG_OFFBIG, _XBS5_ILP32_OFF32,
+ _XBS5_ILP32_OFFBIG, _XBS5_LP64_OFF32, and _XBS5_LPBIG_OFFBIG were
+ used in previous versions of the Unix standard and are available
+ only for compatibility.
*/
#if __WORDSIZE == 64
/* We can never provide environments with 32-bit wide pointers. */
+# define _POSIX_V7_ILP32_OFF32 -1
+# define _POSIX_V7_ILP32_OFFBIG -1
# define _POSIX_V6_ILP32_OFF32 -1
# define _POSIX_V6_ILP32_OFFBIG -1
# define _XBS5_ILP32_OFF32 -1
# define _XBS5_ILP32_OFFBIG -1
/* We also have no use (for now) for an environment with bigger pointers
and offsets. */
+# define _POSIX_V7_LPBIG_OFFBIG -1
# define _POSIX_V6_LPBIG_OFFBIG -1
# define _XBS5_LPBIG_OFFBIG -1
/* By default we have 64-bit wide `long int', pointers and `off_t'. */
+# define _POSIX_V7_LP64_OFF64 1
# define _POSIX_V6_LP64_OFF64 1
# define _XBS5_LP64_OFF64 1
@@ -58,15 +64,19 @@
/* By default we have 32-bit wide `int', `long int', pointers and `off_t'
and all platforms support LFS. */
+# define _POSIX_V7_ILP32_OFF32 1
+# define _POSIX_V7_ILP32_OFFBIG 1
# define _POSIX_V6_ILP32_OFF32 1
# define _POSIX_V6_ILP32_OFFBIG 1
# define _XBS5_ILP32_OFF32 1
# define _XBS5_ILP32_OFFBIG 1
/* We optionally provide an environment with the above size but an 64-bit
- side `off_t'. Therefore we don't define _XBS5_ILP32_OFFBIG. */
+ side `off_t'. Therefore we don't define _POSIX_V7_ILP32_OFFBIG. */
/* We can never provide environments with 64-bit wide pointers. */
+# define _POSIX_V7_LP64_OFF64 -1
+# define _POSIX_V7_LPBIG_OFFBIG -1
# define _POSIX_V6_LP64_OFF64 -1
# define _POSIX_V6_LPBIG_OFFBIG -1
# define _XBS5_LP64_OFF64 -1
diff --git a/libc/debug/pcprofiledump.c b/libc/debug/pcprofiledump.c
index 73c0c3ebf..9c6186d6f 100644
--- a/libc/debug/pcprofiledump.c
+++ b/libc/debug/pcprofiledump.c
@@ -1,5 +1,5 @@
/* Dump information generated by PC profiling.
- Copyright (C) 1999, 2002, 2007 Free Software Foundation, Inc.
+ Copyright (C) 1999, 2002, 2007, 2009 Free Software Foundation, Inc.
This file is part of the GNU C Library.
Contributed by Ulrich Drepper <drepper@cygnus.com>, 1999.
@@ -226,6 +226,6 @@ print_version (FILE *stream, struct argp_state *state)
Copyright (C) %s Free Software Foundation, Inc.\n\
This is free software; see the source for copying conditions. There is NO\n\
warranty; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.\n\
-"), "2008");
+"), "2009");
fprintf (stream, gettext ("Written by %s.\n"), "Ulrich Drepper");
}
diff --git a/libc/debug/xtrace.sh b/libc/debug/xtrace.sh
index 0be565eb5..91959e4da 100755
--- a/libc/debug/xtrace.sh
+++ b/libc/debug/xtrace.sh
@@ -54,8 +54,10 @@ do_help() {
Mandatory arguments to long options are also mandatory for any corresponding
short options.
-For bug reporting instructions, please see:
-%s.\n" "@REPORT_BUGS_TO@"
+"
+ printf $"For bug reporting instructions, please see:
+%s.
+" "@REPORT_BUGS_TO@"
exit 0
}
diff --git a/libc/elf/dl-load.c b/libc/elf/dl-load.c
index 8a8936f7b..c77c25915 100644
--- a/libc/elf/dl-load.c
+++ b/libc/elf/dl-load.c
@@ -1,5 +1,5 @@
/* Map in a shared object's segments from the file.
- Copyright (C) 1995-2005, 2006, 2007 Free Software Foundation, Inc.
+ Copyright (C) 1995-2005, 2006, 2007, 2009 Free Software Foundation, Inc.
This file is part of the GNU C Library.
The GNU C Library is free software; you can redistribute it and/or
@@ -1574,6 +1574,8 @@ open_verify (const char *name, struct filebuf *fbp, struct link_map *loader,
# define VALID_ELF_HEADER(hdr,exp,size) (memcmp (hdr, exp, size) == 0)
# define VALID_ELF_OSABI(osabi) (osabi == ELFOSABI_SYSV)
# define VALID_ELF_ABIVERSION(ver) (ver == 0)
+#elif defined MORE_ELF_HEADER_DATA
+ MORE_ELF_HEADER_DATA;
#endif
static const unsigned char expected[EI_PAD] =
{
diff --git a/libc/elf/ldconfig.c b/libc/elf/ldconfig.c
index d3ffb3144..93a8d7aa7 100644
--- a/libc/elf/ldconfig.c
+++ b/libc/elf/ldconfig.c
@@ -132,6 +132,9 @@ static void print_version (FILE *stream, struct argp_state *state);
void (*argp_program_version_hook) (FILE *, struct argp_state *)
= print_version;
+/* Function to print some extra text in the help message. */
+static char *more_help (int key, const char *text, void *input);
+
/* Definitions of arguments for argp functions. */
static const struct argp_option options[] =
{
@@ -153,9 +156,7 @@ static const struct argp_option options[] =
#include <dl-procinfo.c>
/* Short description of program. */
-static const char doc[] = N_("Configure Dynamic Linker Run Time Bindings.\v\
-For bug reporting instructions, please see:\n\
-"REPORT_BUGS_TO".\n");
+static const char doc[] = N_("Configure Dynamic Linker Run Time Bindings.");
/* Prototype for option handler. */
static error_t parse_opt (int key, char *arg, struct argp_state *state);
@@ -163,7 +164,7 @@ static error_t parse_opt (int key, char *arg, struct argp_state *state);
/* Data structure to communicate with argp functions. */
static struct argp argp =
{
- options, parse_opt, NULL, doc, NULL, NULL, NULL
+ options, parse_opt, NULL, doc, NULL, more_help, NULL
};
/* Check if string corresponds to an important hardware capability or
@@ -290,6 +291,26 @@ parse_opt (int key, char *arg, struct argp_state *state)
return 0;
}
+/* Print bug-reporting information in the help message. */
+static char *
+more_help (int key, const char *text, void *input)
+{
+ char *tp = NULL;
+ switch (key)
+ {
+ case ARGP_KEY_HELP_EXTRA:
+ /* We print some extra information. */
+ if (asprintf (&tp, gettext ("\
+For bug reporting instructions, please see:\n\
+%s.\n"), REPORT_BUGS_TO) < 0)
+ return NULL;
+ return tp;
+ default:
+ break;
+ }
+ return (char *) text;
+}
+
/* Print the version information. */
static void
print_version (FILE *stream, struct argp_state *state)
diff --git a/libc/elf/ldd.bash.in b/libc/elf/ldd.bash.in
index 90ad0da89..98e589064 100644
--- a/libc/elf/ldd.bash.in
+++ b/libc/elf/ldd.bash.in
@@ -52,7 +52,8 @@ warranty; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
-r, --function-relocs process data and function relocations
-u, --unused print unused direct dependencies
-v, --verbose print all information
-For bug reporting instructions, please see:
+"
+ printf $"For bug reporting instructions, please see:
%s.
" "@REPORT_BUGS_TO@"
exit 0
diff --git a/libc/elf/sln.c b/libc/elf/sln.c
index 141dffcf4..3d9d6b8d0 100644
--- a/libc/elf/sln.c
+++ b/libc/elf/sln.c
@@ -1,5 +1,5 @@
/* `sln' program to create symbolic links between files.
- Copyright (C) 1998, 1999, 2001 Free Software Foundation, Inc.
+ Copyright (C) 1998, 1999, 2001, 2009 Free Software Foundation, Inc.
This file is part of the GNU C Library.
The GNU C Library is free software; you can redistribute it and/or
@@ -16,9 +16,15 @@
License along with the GNU C Library; if not, write to the Free
Software Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA
02111-1307 USA. */
-
+
+#ifdef HAVE_CONFIG_H
+# include "config.h"
+#endif
+
#include <error.h>
#include <errno.h>
+#include <libintl.h>
+#include <locale.h>
#include <sys/types.h>
#include <sys/stat.h>
#include <unistd.h>
@@ -30,6 +36,8 @@
#include "../version.h"
+#define PACKAGE _libc_intl_domainname
+
#if !defined S_ISDIR && defined S_IFDIR
#define S_ISDIR(m) (((m) & S_IFMT) == S_IFDIR)
#endif
@@ -41,13 +49,19 @@ static void usage (void);
int
main (int argc, char **argv)
{
+ /* Set locale via LC_ALL. */
+ setlocale (LC_ALL, "");
+
+ /* Set the text message domain. */
+ textdomain (PACKAGE);
+
switch (argc)
{
case 2:
- if (!strcmp (argv[1], "--version")) {
+ if (strcmp (argv[1], "--version") == 0) {
printf ("sln %s%s\n", PKGVERSION, VERSION);
return 0;
- } else if (!strcmp (argv[1], "--help")) {
+ } else if (strcmp (argv[1], "--help") == 0) {
usage ();
return 0;
}
@@ -68,10 +82,9 @@ main (int argc, char **argv)
static void
usage (void)
{
- printf ("Usage: sln src dest|file\n\
-\n\
-For bug reporting instructions, please see:\n\
-%s.\n", REPORT_BUGS_TO);
+ printf (_("Usage: sln src dest|file\n\n"));
+ printf (_("For bug reporting instructions, please see:\n\
+%s.\n"), REPORT_BUGS_TO);
}
static int
@@ -94,7 +107,7 @@ makesymlinks (file)
fp = fopen (file, "r");
if (fp == NULL)
{
- fprintf (stderr, "%s: file open error: %m\n", file);
+ fprintf (stderr, _("%s: file open error: %m\n"), file);
return 1;
}
}
@@ -131,7 +144,7 @@ makesymlinks (file)
++cp;
if (*cp == '\0')
{
- fprintf (stderr, "No target in line %d\n", lineno);
+ fprintf (stderr, _("No target in line %d\n"), lineno);
ret = 1;
continue;
}
@@ -163,13 +176,13 @@ makesymlink (src, dest)
{
if (S_ISDIR (stats.st_mode))
{
- fprintf (stderr, "%s: destination must not be a directory\n",
+ fprintf (stderr, _("%s: destination must not be a directory\n"),
dest);
return 1;
}
else if (unlink (dest) && errno != ENOENT)
{
- fprintf (stderr, "%s: failed to remove the old destination\n",
+ fprintf (stderr, _("%s: failed to remove the old destination\n"),
dest);
return 1;
}
@@ -177,7 +190,7 @@ makesymlink (src, dest)
else if (errno != ENOENT)
{
error = strerror (errno);
- fprintf (stderr, "%s: invalid destination: %s\n", dest, error);
+ fprintf (stderr, _("%s: invalid destination: %s\n"), dest, error);
return -1;
}
@@ -192,7 +205,7 @@ makesymlink (src, dest)
{
error = strerror (errno);
unlink (dest);
- fprintf (stderr, "Invalid link from \"%s\" to \"%s\": %s\n",
+ fprintf (stderr, _("Invalid link from \"%s\" to \"%s\": %s\n"),
src, dest, error);
return 1;
}
@@ -201,7 +214,7 @@ makesymlink (src, dest)
else
{
error = strerror (errno);
- fprintf (stderr, "Invalid link from \"%s\" to \"%s\": %s\n",
+ fprintf (stderr, _("Invalid link from \"%s\" to \"%s\": %s\n"),
src, dest, error);
return 1;
}
diff --git a/libc/elf/sprof.c b/libc/elf/sprof.c
index d2f0c1931..aaf335add 100644
--- a/libc/elf/sprof.c
+++ b/libc/elf/sprof.c
@@ -86,9 +86,9 @@ static const struct argp_option options[] =
};
/* Short description of program. */
-static const char doc[] = N_("Read and display shared object profiling data.\v\
-For bug reporting instructions, please see:\n\
-"REPORT_BUGS_TO".\n");
+static const char doc[] = N_("Read and display shared object profiling data.");
+//For bug reporting instructions, please see:\n \
+//<http://www.gnu.org/software/libc/bugs.html>.\n");
/* Strings for arguments in help texts. */
static const char args_doc[] = N_("SHOBJ [PROFDATA]");
@@ -96,10 +96,13 @@ static const char args_doc[] = N_("SHOBJ [PROFDATA]");
/* Prototype for option handler. */
static error_t parse_opt (int key, char *arg, struct argp_state *state);
+/* Function to print some extra text in the help message. */
+static char *more_help (int key, const char *text, void *input);
+
/* Data structure to communicate with argp functions. */
static struct argp argp =
{
- options, parse_opt, args_doc, doc
+ options, parse_opt, args_doc, doc, NULL, more_help
};
@@ -347,6 +350,26 @@ parse_opt (int key, char *arg, struct argp_state *state)
}
+static char *
+more_help (int key, const char *text, void *input)
+{
+ char *tp = NULL;
+ switch (key)
+ {
+ case ARGP_KEY_HELP_EXTRA:
+ /* We print some extra information. */
+ if (asprintf (&tp, gettext ("\
+For bug reporting instructions, please see:\n\
+%s.\n"), REPORT_BUGS_TO) < 0)
+ return NULL;
+ return tp;
+ default:
+ break;
+ }
+ return (char *) text;
+}
+
+
/* Print the version information. */
static void
print_version (FILE *stream, struct argp_state *state)
diff --git a/libc/grp/compat-initgroups.c b/libc/grp/compat-initgroups.c
index efd875a68..7bcc203fe 100644
--- a/libc/grp/compat-initgroups.c
+++ b/libc/grp/compat-initgroups.c
@@ -8,13 +8,19 @@ typedef enum nss_status (*end_function) (void);
typedef enum nss_status (*get_function) (struct group *, char *,
size_t, int *);
+/* This file is also used in nscd where __libc_alloca_cutoff is not
+ available. */
+#ifdef NOT_IN_libc
+# define __libc_use_alloca(size) ((size) < __MAX_ALLOCA_CUTOFF * 4)
+#endif
+
+
static enum nss_status
compat_call (service_user *nip, const char *user, gid_t group, long int *start,
long int *size, gid_t **groupsp, long int limit, int *errnop)
{
struct group grpbuf;
size_t buflen = __sysconf (_SC_GETGR_R_SIZE_MAX);
- char *tmpbuf;
enum nss_status status;
set_function setgrent_fct;
get_function getgrent_fct;
@@ -35,7 +41,9 @@ compat_call (service_user *nip, const char *user, gid_t group, long int *start,
endgrent_fct = __nss_lookup_function (nip, "endgrent");
- tmpbuf = __alloca (buflen);
+ char *tmpbuf = __alloca (buflen);
+ bool use_malloc = false;
+ enum nss_status result = NSS_STATUS_SUCCESS;
do
{
@@ -44,8 +52,20 @@ compat_call (service_user *nip, const char *user, gid_t group, long int *start,
status == NSS_STATUS_TRYAGAIN)
&& *errnop == ERANGE)
{
- buflen *= 2;
- tmpbuf = __alloca (buflen);
+ if (__libc_use_alloca (buflen * 2))
+ tmpbuf = extend_alloca (tmpbuf, buflen, buflen * 2);
+ else
+ {
+ buflen *= 2;
+ char *newbuf = realloc (use_malloc ? tmpbuf : NULL, buflen);
+ if (newbuf == NULL)
+ {
+ result = NSS_STATUS_TRYAGAIN;
+ goto done;
+ }
+ use_malloc = true;
+ tmpbuf = newbuf;
+ }
}
if (status != NSS_STATUS_SUCCESS)
@@ -102,8 +122,11 @@ compat_call (service_user *nip, const char *user, gid_t group, long int *start,
while (status == NSS_STATUS_SUCCESS);
done:
+ if (use_malloc)
+ free (tmpbuf);
+
if (endgrent_fct)
DL_CALL_FCT (endgrent_fct, ());
- return NSS_STATUS_SUCCESS;
+ return result;
}
diff --git a/libc/include/atomic.h b/libc/include/atomic.h
index 2ad8b5fcb..7c0548b00 100644
--- a/libc/include/atomic.h
+++ b/libc/include/atomic.h
@@ -1,5 +1,5 @@
/* Internal macros for atomic operations for GNU C Library.
- Copyright (C) 2002, 2003, 2004, 2005, 2006 Free Software Foundation, Inc.
+ Copyright (C) 2002-2006, 2009 Free Software Foundation, Inc.
This file is part of the GNU C Library.
Contributed by Ulrich Drepper <drepper@redhat.com>, 2002.
@@ -415,6 +415,22 @@
} while (0)
#endif
+#ifndef catomic_and
+# define catomic_and(mem, mask) \
+ do { \
+ __typeof (*(mem)) __atg20_old; \
+ __typeof (mem) __atg20_memp = (mem); \
+ __typeof (*(mem)) __atg20_mask = (mask); \
+ \
+ do \
+ __atg20_old = (*__atg20_memp); \
+ while (__builtin_expect \
+ (catomic_compare_and_exchange_bool_acq (__atg20_memp, \
+ __atg20_old & __atg20_mask,\
+ __atg20_old), 0)); \
+ } while (0)
+#endif
+
/* Atomically *mem &= mask and return the old value of *mem. */
#ifndef atomic_and_val
# define atomic_and_val(mem, mask) \
diff --git a/libc/include/malloc.h b/libc/include/malloc.h
index 1a2024855..42fc8ed69 100644
--- a/libc/include/malloc.h
+++ b/libc/include/malloc.h
@@ -8,20 +8,7 @@
/* Nonzero if the malloc is already initialized. */
extern int __malloc_initialized attribute_hidden;
-/* Internal routines, operating on "arenas". */
struct malloc_state;
typedef struct malloc_state *mstate;
-extern __malloc_ptr_t _int_malloc (mstate __m, size_t __size) attribute_hidden;
-extern void _int_free (mstate __m, __malloc_ptr_t __ptr)
- attribute_hidden;
-extern __malloc_ptr_t _int_realloc (mstate __m,
- __malloc_ptr_t __ptr,
- size_t __size) attribute_hidden;
-extern __malloc_ptr_t _int_memalign (mstate __m, size_t __alignment,
- size_t __size)
- attribute_hidden;
-extern __malloc_ptr_t _int_valloc (mstate __m, size_t __size)
- attribute_hidden;
-
#endif
diff --git a/libc/include/rpc/auth.h b/libc/include/rpc/auth.h
index bc433b593..a03188ed4 100644
--- a/libc/include/rpc/auth.h
+++ b/libc/include/rpc/auth.h
@@ -39,4 +39,6 @@ extern AUTH *authdes_pk_create_internal (const char *, netobj *, u_int,
libc_hidden_proto (key_encryptsession_pk)
libc_hidden_proto (key_decryptsession_pk)
+libc_hidden_proto (_null_auth)
+
#endif
diff --git a/libc/intl/dcigettext.c b/libc/intl/dcigettext.c
index e5b72e533..c2860f81f 100644
--- a/libc/intl/dcigettext.c
+++ b/libc/intl/dcigettext.c
@@ -1,5 +1,5 @@
/* Implementation of the internal dcigettext function.
- Copyright (C) 1995-2005, 2006, 2007, 2008
+ Copyright (C) 1995-2005, 2006, 2007, 2008, 2009
Free Software Foundation, Inc.
This file is part of the GNU C Library.
@@ -565,20 +565,7 @@ DCIGETTEXT (domainname, msgid1, msgid2, plural, n, category)
}
if (ret == NULL)
- {
- /* We cannot get the current working directory. Don't signal an
- error but simply return the default string. */
- FREE_BLOCKS (block_list);
-#if __OPTION_EGLIBC_LOCALE_CODE
- __libc_rwlock_unlock (__libc_setlocale_lock);
-#endif
- __libc_rwlock_unlock (_nl_state_lock);
- __set_errno (saved_errno);
- return (plural == 0
- ? (char *) msgid1
- /* Use the Germanic plural rule. */
- : n == 1 ? (char *) msgid1 : (char *) msgid2);
- }
+ goto no_translation;
stpcpy (stpcpy (strchr (dirname, '\0'), "/"), binding->dirname);
}
diff --git a/libc/locale/programs/locale.c b/libc/locale/programs/locale.c
index 5b9fbb3f5..74924e5ec 100644
--- a/libc/locale/programs/locale.c
+++ b/libc/locale/programs/locale.c
@@ -84,9 +84,7 @@ static const struct argp_option options[] =
};
/* Short description of program. */
-static const char doc[] = N_("Get locale-specific information.\v\
-For bug reporting instructions, please see:\n\
-"REPORT_BUGS_TO".\n");
+static const char doc[] = N_("Get locale-specific information.");
/* Strings for arguments in help texts. */
static const char args_doc[] = N_("NAME\n[-a|-m]");
@@ -94,10 +92,13 @@ static const char args_doc[] = N_("NAME\n[-a|-m]");
/* Prototype for option handler. */
static error_t parse_opt (int key, char *arg, struct argp_state *state);
+/* Function to print some extra text in the help message. */
+static char *more_help (int key, const char *text, void *input);
+
/* Data structure to communicate with argp functions. */
static struct argp argp =
{
- options, parse_opt, args_doc, doc
+ options, parse_opt, args_doc, doc, NULL, more_help
};
@@ -267,6 +268,26 @@ parse_opt (int key, char *arg, struct argp_state *state)
}
+static char *
+more_help (int key, const char *text, void *input)
+{
+ char *tp = NULL;
+ switch (key)
+ {
+ case ARGP_KEY_HELP_EXTRA:
+ /* We print some extra information. */
+ if (asprintf (&tp, gettext ("\
+For bug reporting instructions, please see:\n\
+%s.\n"), REPORT_BUGS_TO) < 0)
+ return NULL;
+ return tp;
+ default:
+ break;
+ }
+ return (char *) text;
+}
+
+
/* Print the version information. */
static void
print_version (FILE *stream, struct argp_state *state)
diff --git a/libc/localedata/ChangeLog b/libc/localedata/ChangeLog
index 594a71c98..801a2a5da 100644
--- a/libc/localedata/ChangeLog
+++ b/libc/localedata/ChangeLog
@@ -1,5 +1,26 @@
+2009-02-11 Ulrich Drepper <drepper@redhat.com>
+
+ * locales/iso14651_t1_common: Add rules for sorting Malayalam.
+ Patch by Santhosh Thottingal <santhosh.thottingal@gmail.com>.
+
+2009-02-06 Ulrich Drepper <drepper@redhat.com>
+
+ [BZ #7098]
+ * Makefile ($(inst_i18ndir)/charmaps/%.gz): No need to save
+ timestamp in compressed charmaps.
+ Patch by Gilles Espinasse <g.esp@free.fr>.
+
+ [BZ #9730]
+ * locales/sv_FI: Fix time formats.
+
+ [BZ #9736]
+ * locales/el_CY: Fix frac_digits and int_frac_digits.
+ * locales/el_GR: Likewise.
+ Patch by Clint Adams <schizo@debian.org>.
+
2009-01-28 Ulrich Drepper <drepper@redhat.com>
+ [BZ #9791]
* locales/as_IN: Break circular include loops introduced in last patch.
* locales/bn_BD: Likewise.
* locales/bn_IN: Likewise.
diff --git a/libc/localedata/Makefile b/libc/localedata/Makefile
index 6c10a0c7b..256ecea12 100644
--- a/libc/localedata/Makefile
+++ b/libc/localedata/Makefile
@@ -1,4 +1,4 @@
-# Copyright (C) 1996-2003, 2005, 2007, 2008 Free Software Foundation, Inc.
+# Copyright (C) 1996-2003,2005,2007,2008,2009 Free Software Foundation, Inc.
# This file is part of the GNU C Library.
# The GNU C Library is free software; you can redistribute it and/or
@@ -129,7 +129,7 @@ $(inst_i18ndir)/charmaps/%.gz: charmaps/% $(+force)
$(make-target-directory)
rm -f $(@:.gz=) $@
$(INSTALL_DATA) $< $(@:.gz=)
- gzip -9 $(@:.gz=)
+ gzip -9n $(@:.gz=)
# Install the locale source files in the appropriate directory.
$(inst_i18ndir)/locales/%: locales/% $(+force); $(do-install)
diff --git a/libc/localedata/locales/el_CY b/libc/localedata/locales/el_CY
index 721392423..31175777e 100644
--- a/libc/localedata/locales/el_CY
+++ b/libc/localedata/locales/el_CY
@@ -51,8 +51,8 @@ mon_thousands_sep "<U002E>"
mon_grouping 3
positive_sign ""
negative_sign "<U002D>"
-int_frac_digits 4
-frac_digits 4
+int_frac_digits 2
+frac_digits 2
p_cs_precedes 0
p_sep_by_space 0
n_cs_precedes 1
diff --git a/libc/localedata/locales/el_GR b/libc/localedata/locales/el_GR
index ce608a801..bb1db143f 100644
--- a/libc/localedata/locales/el_GR
+++ b/libc/localedata/locales/el_GR
@@ -70,8 +70,8 @@ mon_thousands_sep "<U002E>"
mon_grouping 3
positive_sign ""
negative_sign "<U002D>"
-int_frac_digits 4
-frac_digits 4
+int_frac_digits 2
+frac_digits 2
p_cs_precedes 0
p_sep_by_space 0
n_cs_precedes 1
diff --git a/libc/localedata/locales/iso14651_t1_common b/libc/localedata/locales/iso14651_t1_common
index bb0b4ab29..1c9963aaf 100644
--- a/libc/localedata/locales/iso14651_t1_common
+++ b/libc/localedata/locales/iso14651_t1_common
@@ -66,6 +66,7 @@ script <TELUGU>
script <GURUMUKHI>
script <KANNADA>
script <SINHALA>
+script <MALAYALAM>
# Déclaration des symboles internes / Declaration of internal symbols
#
@@ -910,6 +911,129 @@ collating-symbol <kvd-visarg>
collating-symbol <k-halant>
collating-symbol <k-lenght_mark>
collating-symbol <k-ai_lenght_mark>
+#
+# <MALAYALAM>
+# mlvs- denotes Malayalam vowel sign
+# mlvw- denotes Malayalam vowel
+# ml-visarga - dentos Malayalam Visarga
+# consonant + virama is considered half of consonant or consonant without vowel part
+# so it consonant + virama should be considered as cluster and should be
+# sorted before the consonant. All consonants are considered to have an implicit a vowel
+# part associated with it.
+collating-element <ml-chillu-n> from "<U0D28><U0D4D>"
+collating-element <ml-chillu-nn> from "<U0D23><U0D4D>"
+collating-element <ml-chillu-r> from "<U0D30><U0D4D>"
+collating-element <ml-chillu-l> from "<U0D32><U0D4D>"
+collating-element <ml-chillu-ll> from "<U0D33><U0D4D>"
+collating-element <ml-chillu-k> from "<U0D15><U0D4D>"
+collating-element <ml-kh> from "<U0D16><U0D4D>"
+collating-element <ml-g> from "<U0D17><U0D4D>"
+collating-element <ml-gh> from "<U0D18><U0D4D>"
+collating-element <ml-ng> from "<U0D19><U0D4D>"
+collating-element <ml-ch> from "<U0D1A><U0D4D>"
+collating-element <ml-chh> from "<U0D1B><U0D4D>"
+collating-element <ml-j> from "<U0D1C><U0D4D>"
+collating-element <ml-jh> from "<U0D1D><U0D4D>"
+collating-element <ml-ny> from "<U0D1E><U0D4D>"
+collating-element <ml-t> from "<U0D1F><U0D4D>"
+collating-element <ml-tt> from "<U0D20><U0D4D>"
+collating-element <ml-d> from "<U0D21><U0D4D>"
+collating-element <ml-dh> from "<U0D22><U0D4D>"
+collating-element <ml-th> from "<U0D24><U0D4D>"
+collating-element <ml-thh> from "<U0D25><U0D4D>"
+collating-element <ml-dd> from "<U0D26><U0D4D>"
+collating-element <ml-ddh> from "<U0D27><U0D4D>"
+collating-element <ml-p> from "<U0D2A><U0D4D>"
+collating-element <ml-ph> from "<U0D2B><U0D4D>"
+collating-element <ml-b> from "<U0D2C><U0D4D>"
+collating-element <ml-bh> from "<U0D2D><U0D4D>"
+collating-element <ml-m> from "<U0D2E><U0D4D>"
+collating-element <ml-y> from "<U0D2F><U0D4D>"
+collating-element <ml-v> from "<U0D35><U0D4D>"
+collating-element <ml-s> from "<U0D38><U0D4D>"
+collating-element <ml-ss> from "<U0D36><U0D4D>"
+collating-element <ml-sh> from "<U0D37><U0D4D>"
+collating-element <ml-h> from "<U0D39><U0D4D>"
+collating-element <ml-zh> from "<U0D34><U0D4D>"
+collating-element <ml-rr> from "<U0D31><U0D4D>"
+collating-element <ml-samvruthokaram> from "<U0D41><U0D4D>"
+collating-element <ml-split-o> from "<U0D46><U0D3E>" # U+0D4A MALAYALAM VOWEL SIGN O = U+0D46 MALAYALAM VOWEL SIGN E + U+0D3E MALAYALAM VOWEL SIGN AA
+collating-element <ml-split-oo> from "<U0D47><U0D3E>" # U+0D4B MALAYALAM VOWEL SIGN OO = U+0D47 MALAYALAM VOWEL SIGN EE + U+0D3E MALAYALAM VOWEL SIGN AA
+collating-element <ml-split-au> from "<U0D46><U0D57>" # U+0D4C MALAYALAM VOWEL SIGN AU = U+0D46 MALAYALAM VOWEL SIGN E + U+0D57 MALAYALAM AU LENGTH MARK
+# defning symbols
+collating-symbol <mlvw-shorta>
+collating-symbol <mlvw-aa>
+collating-symbol <mlvw-i>
+collating-symbol <mlvw-ii>
+collating-symbol <mlvw-u>
+collating-symbol <mlvw-uu>
+collating-symbol <mlvw-vocalicr>
+collating-symbol <mlvw-vocalicrr>
+collating-symbol <mlvw-vocalicl>
+collating-symbol <mlvw-vocalicll>
+collating-symbol <mlvw-shorte>
+collating-symbol <mlvw-e>
+collating-symbol <mlvw-ai>
+collating-symbol <mlvw-shorto>
+collating-symbol <mlvw-o>
+collating-symbol <mlvw-au>
+collating-symbol <ml-ka>
+collating-symbol <ml-kha>
+collating-symbol <ml-ga>
+collating-symbol <ml-gga>
+collating-symbol <ml-gha>
+collating-symbol <ml-nga>
+collating-symbol <ml-cha>
+collating-symbol <ml-chha>
+collating-symbol <ml-ja>
+collating-symbol <ml-jja>
+collating-symbol <ml-jha>
+collating-symbol <ml-nya>
+collating-symbol <ml-ta>
+collating-symbol <ml-tta>
+collating-symbol <ml-da>
+collating-symbol <ml-dha>
+collating-symbol <ml-nna>
+collating-symbol <ml-tha>
+collating-symbol <ml-thha>
+collating-symbol <ml-dda>
+collating-symbol <ml-ddha>
+collating-symbol <ml-na>
+collating-symbol <ml-pa>
+collating-symbol <ml-pha>
+collating-symbol <ml-ba>
+collating-symbol <ml-bba>
+collating-symbol <ml-bha>
+collating-symbol <ml-ma>
+collating-symbol <ml-ya>
+collating-symbol <ml-ra>
+collating-symbol <ml-rra>
+collating-symbol <ml-la>
+collating-symbol <ml-lla>
+collating-symbol <ml-va>
+collating-symbol <ml-sha>
+collating-symbol <ml-ssa>
+collating-symbol <ml-sa>
+collating-symbol <ml-ha>
+collating-symbol <ml-avagrah>
+collating-symbol <ml-zha>
+collating-symbol <mlvs-aa>
+collating-symbol <mlvs-i>
+collating-symbol <mlvs-ii>
+collating-symbol <mlvs-u>
+collating-symbol <mlvs-uu>
+collating-symbol <mlvs-vocalicr>
+collating-symbol <mlvs-vocalicrr>
+collating-symbol <mlvs-vocalicl>
+collating-symbol <mlvs-vocalicll>
+collating-symbol <mlvs-shorte>
+collating-symbol <mlvs-e>
+collating-symbol <mlvs-ai>
+collating-symbol <mlvs-shorto>
+collating-symbol <mlvs-o>
+collating-symbol <mlvs-au>
+collating-symbol <ml-visarga>
+collating-symbol <ml-virama>
# Ordre des symboles internes / Order of internal symbols
#
@@ -1733,6 +1857,83 @@ collating-symbol <k-ai_lenght_mark>
<k-halant>
<k-lenght_mark>
<k-ai_lenght_mark>
+#
+# <MALAYALAM>
+#
+# collation weights in order
+<mlvw-shorta>
+<mlvw-aa>
+<mlvw-i>
+<mlvw-ii>
+<mlvw-u>
+<mlvw-uu>
+<mlvw-vocalicr>
+<mlvw-vocalicrr>
+<mlvw-vocalicl>
+<mlvw-vocalicll>
+<mlvw-shorte>
+<mlvw-e>
+<mlvw-ai>
+<mlvw-shorto>
+<mlvw-o>
+<mlvw-au>
+<ml-ka>
+<ml-kha>
+<ml-ga>
+<ml-gga>
+<ml-gha>
+<ml-nga>
+<ml-cha>
+<ml-chha>
+<ml-ja>
+<ml-jja>
+<ml-jha>
+<ml-nya>
+<ml-ta>
+<ml-tta>
+<ml-da>
+<ml-dha>
+<ml-nna>
+<ml-tha>
+<ml-thha>
+<ml-dda>
+<ml-ddha>
+<ml-na>
+<ml-pa>
+<ml-pha>
+<ml-ba>
+<ml-bba>
+<ml-bha>
+<ml-ma>
+<ml-ya>
+<ml-ra>
+<ml-la>
+<ml-va>
+<ml-ssa>
+<ml-sha>
+<ml-sa>
+<ml-ha>
+<ml-lla>
+<ml-zha>
+<ml-rra>
+<ml-avagrah>
+<ml-virama>
+<mlvs-aa>
+<mlvs-i>
+<mlvs-ii>
+<mlvs-u>
+<mlvs-uu>
+<mlvs-vocalicr>
+<mlvs-vocalicrr>
+<mlvs-vocalicl>
+<mlvs-vocalicll>
+<mlvs-shorte>
+<mlvs-e>
+<mlvs-ai>
+<mlvs-shorto>
+<mlvs-o>
+<mlvs-au>
+<ml-visarga>
order_start <SPECIAL>;forward;backward;forward;forward,position
#
@@ -4052,6 +4253,130 @@ order_start <SINHALA>;forward;forward;forward;forward,position
<U0DDE> <U0DDE>;<BAS>;<MIN>;IGNORE
<U0DCA> <U0DCA>;<BAS>;<MIN>;IGNORE
+order_start <MALAYALAM>;forward;forward;forward;forward,position
+<U0D66> <0>;"<BAS><NUM>";"<MIN><MIN>";IGNORE
+<U0D67> <1>;"<BAS><NUM>";"<MIN><MIN>";IGNORE
+<U0D68> <2>;"<BAS><NUM>";"<MIN><MIN>";IGNORE
+<U0D69> <3>;"<BAS><NUM>";"<MIN><MIN>";IGNORE
+<U0D6A> <4>;"<BAS><NUM>";"<MIN><MIN>";IGNORE
+<U0D6B> <5>;"<BAS><NUM>";"<MIN><MIN>";IGNORE
+<U0D6C> <6>;"<BAS><NUM>";"<MIN><MIN>";IGNORE
+<U0D6D> <7>;"<BAS><NUM>";"<MIN><MIN>";IGNORE
+<U0D6E> <8>;"<BAS><NUM>";"<MIN><MIN>";IGNORE
+<U0D6F> <9>;"<BAS><NUM>";"<MIN><MIN>";IGNORE
+<U0D05> <mlvw-shorta> ;<BAS>;<MIN>;IGNORE
+<U0D06> <mlvw-aa> ;<BAS>;<MIN>;IGNORE
+<U0D07> <mlvw-i> ;<BAS>;<MIN>;IGNORE
+<U0D08> <mlvw-ii> ;<BAS>;<MIN>;IGNORE
+<U0D09> <mlvw-u> ;<BAS>;<MIN>;IGNORE
+<U0D0A> <mlvw-uu>;<BAS>;<MIN>;IGNORE
+<U0D0B> <mlvw-vocalicr>;<BAS>;<MIN>;IGNORE
+<U0D60> <mlvw-vocalicrr>;<BAS>;<MIN>;IGNORE
+<U0D0C> <mlvw-vocalicl>;<BAS>;<MIN>;IGNORE
+<U0D61> <mlvw-vocalicll>;<BAS>;<MIN>;IGNORE
+<U0D0E> <mlvw-shorte>;<BAS>;<MIN>;IGNORE
+<U0D0F> <mlvw-e>;<BAS>;<MIN>;IGNORE
+<U0D10> <mlvw-ai>;<BAS>;<MIN>;IGNORE
+<U0D12> <mlvw-shorto>;<BAS>;<MIN>;IGNORE
+<U0D13> <mlvw-o>;<BAS>;<MIN>;IGNORE
+<U0D14> <mlvw-au>;<BAS>;<MIN>;IGNORE
+<ml-chillu-k> "<ml-ka><ml-virama>";<BAS>;<MIN>;IGNORE
+<U0D15> "<ml-ka><ml-virama><mlvw-shorta>";<BAS>;<MIN>;IGNORE
+<ml-kh> "<ml-kha><ml-virama>";<BAS>;<MIN>;IGNORE
+<U0D16> "<ml-kha><ml-virama><mlvw-shorta>";<BAS>;<MIN>;IGNORE
+<ml-g> "<ml-ga><ml-virama>";<BAS>;<MIN>;IGNORE
+<U0D17> "<ml-ga><ml-virama><mlvw-shorta>";<BAS>;<MIN>;IGNORE
+<ml-gh> "<ml-gha><ml-virama>";<BAS>;<MIN>;IGNORE
+<U0D18> "<ml-gha><ml-virama><mlvw-shorta>";<BAS>;<MIN>;IGNORE
+<ml-ng> "<ml-nga><ml-virama>";<BAS>;<MIN>;IGNORE
+<U0D19> "<ml-nga><ml-virama><mlvw-shorta>";<BAS>;<MIN>;IGNORE
+<ml-ch> "<ml-cha><ml-virama>";<BAS>;<MIN>;IGNORE
+<U0D1A> "<ml-cha><ml-virama><mlvw-shorta>";<BAS>;<MIN>;IGNORE
+<ml-chh> "<ml-chha><ml-virama>";<BAS>;<MIN>;IGNORE
+<U0D1B> "<ml-chha><ml-virama><mlvw-shorta>";<BAS>;<MIN>;IGNORE
+<ml-j> "<ml-ja><ml-virama>";<BAS>;<MIN>;IGNORE
+<U0D1C> "<ml-ja><ml-virama><mlvw-shorta>";<BAS>;<MIN>;IGNORE
+<ml-jh> "<ml-jha><ml-virama>";<BAS>;<MIN>;IGNORE
+<U0D1D> "<ml-jha><ml-virama><mlvw-shorta>";<BAS>;<MIN>;IGNORE
+<ml-ny> "<ml-nya><ml-virama>";<BAS>;<MIN>;IGNORE
+<U0D1E> "<ml-nya><ml-virama><mlvw-shorta>";<BAS>;<MIN>;IGNORE
+<ml-t> "<ml-ta><ml-virama>";<BAS>;<MIN>;IGNORE
+<U0D1F> "<ml-ta><ml-virama><mlvw-shorta>";<BAS>;<MIN>;IGNORE
+<ml-tt> "<ml-tta><ml-virama>";<BAS>;<MIN>;IGNORE
+<U0D20> "<ml-tta><ml-virama><mlvw-shorta>";<BAS>;<MIN>;IGNORE
+<ml-d> "<ml-da><ml-virama>";<BAS>;<MIN>;IGNORE
+<U0D21> "<ml-da><ml-virama><mlvw-shorta>";<BAS>;<MIN>;IGNORE
+<ml-dh> "<ml-dha><ml-virama>";<BAS>;<MIN>;IGNORE
+<U0D22> "<ml-dha><ml-virama><mlvw-shorta>";<BAS>;<MIN>;IGNORE
+<ml-chillu-nn> "<ml-nna><ml-virama>";<BAS>;<MIN>;IGNORE # ണ്‍ = ണ + ് + zwj
+<U0D23> "<ml-nna><ml-virama><mlvw-shorta>";<BAS>;<MIN>;IGNORE # ണ = ണ + ് + അ
+<ml-th> "<ml-tha><ml-virama>";<BAS>;<MIN>;IGNORE
+<U0D24> "<ml-tha><ml-virama><mlvw-shorta>";<BAS>;<MIN>;IGNORE
+<ml-thh> "<ml-thha><ml-virama>";<BAS>;<MIN>;IGNORE
+<U0D25> "<ml-thha><ml-virama><mlvw-shorta>";<BAS>;<MIN>;IGNORE
+<ml-dd> "<ml-dda><ml-virama>";<BAS>;<MIN>;IGNORE
+<U0D26> "<ml-dda><ml-virama><mlvw-shorta>";<BAS>;<MIN>;IGNORE
+<ml-ddh> "<ml-ddha><ml-virama>";<BAS>;<MIN>;IGNORE
+<U0D27> "<ml-ddha><ml-virama><mlvw-shorta>";<BAS>;<MIN>;IGNORE
+<ml-chillu-n> "<ml-chillu-n>";<BAS>;<MIN>;IGNORE # ന്‍= ന + ് + zwj
+<U0D28> "<ml-chillu-n><ml-virama><mlvw-shorta>";<BAS>;<MIN>;IGNORE #ന = ന + ് + അ
+<ml-p> "<ml-pa><ml-virama>";<BAS>;<MIN>;IGNORE
+<U0D2A> "<ml-pa><ml-virama><mlvw-shorta>";<BAS>;<MIN>;IGNORE
+<ml-ph> "<ml-pha><ml-virama>";<BAS>;<MIN>;IGNORE
+<U0D2B> "<ml-pha><ml-virama><mlvw-shorta>";<BAS>;<MIN>;IGNORE
+<ml-b> "<ml-ba><ml-virama>";<BAS>;<MIN>;IGNORE
+<U0D2C> "<ml-ba><ml-virama><mlvw-shorta>";<BAS>;<MIN>;IGNORE
+<ml-bh> "<ml-bha><ml-virama>";<BAS>;<MIN>;IGNORE
+<U0D2D> "<ml-bha><ml-virama><mlvw-shorta>";<BAS>;<MIN>;IGNORE
+<U0D02> "<ml-ma><ml-virama>";<BAS>;<MIN>;IGNORE # ം = മ + ്
+<ml-m> "<ml-ma><ml-virama>";"<BAS><ml-virama>";<MIN>;IGNORE # ം = മ + ്
+<U0D2E> "<ml-ma><ml-virama><mlvw-shorta>";<BAS>;<MIN>;IGNORE # മ = മ + ് + അ
+<ml-y> "<ml-ya><ml-virama>";<BAS>;<MIN>;IGNORE
+<U0D2F> "<ml-ya><ml-virama><mlvw-shorta>";<BAS>;<MIN>;IGNORE
+<ml-chillu-r> "<ml-ra><ml-virama>";<BAS>;<MIN>;IGNORE # ര = ര + ് + zwj
+<U0D30> "<ml-ra><ml-virama><mlvw-shorta>";<BAS>;<MIN>;IGNORE # ര = ര + ് + അ
+<ml-chillu-l> <ml-la>;<BAS>;<MIN>;IGNORE # ല്‍ = ല + ് + zwj
+<U0D32> "<ml-la><ml-virama><mlvw-shorta>";<BAS>;<MIN>;IGNORE # ല = ല + ് + അ
+<ml-v> "<ml-va><ml-virama>";<BAS>;<MIN>;IGNORE
+<U0D35> "<ml-va><ml-virama><mlvw-shorta>";<BAS>;<MIN>;IGNORE
+<ml-ss> "<ml-ssa><ml-virama>";<BAS>;<MIN>;IGNORE
+<U0D37> "<ml-ssa><ml-virama><mlvw-shorta>";<BAS>;<MIN>;IGNORE
+<ml-sh> "<ml-sha><ml-virama>";<BAS>;<MIN>;IGNORE
+<U0D36> "<ml-sha><ml-virama><mlvw-shorta>";<BAS>;<MIN>;IGNORE
+<ml-s> "<ml-sa><ml-virama>";<BAS>;<MIN>;IGNORE
+<U0D38> "<ml-sa><ml-virama><mlvw-shorta>";<BAS>;<MIN>;IGNORE
+<ml-h> "<ml-ha><ml-virama>";<BAS>;<MIN>;IGNORE
+<U0D39> "<ml-ha><ml-virama><mlvw-shorta>";<BAS>;<MIN>;IGNORE
+<ml-chillu-ll> "<ml-lla><ml-virama>";<BAS>;<MIN>;IGNORE # ള്‍ = ള + ് + zwj
+<U0D33> "<ml-lla><ml-virama><mlvw-shorta>";<BAS>;<MIN>;IGNORE # ള = ള + ് + അ
+<ml-zh> "<ml-zha><ml-virama>";<BAS>;<MIN>;IGNORE
+<U0D34> "<ml-zha><ml-virama><mlvw-shorta>";<BAS>;<MIN>;IGNORE
+<ml-rr> "<ml-rra><ml-virama>";<BAS>;<MIN>;IGNORE
+<U0D31> "<ml-rra><ml-virama><mlvw-shorta>";<BAS>;<MIN>;IGNORE
+<U0D3D> <ml-avagrah>;<BAS>;<MIN>;IGNORE
+<U0D3E> <mlvs-aa>;<BAS>;<MIN>;IGNORE
+<U0D3F> <mlvs-i>;<BAS>;<MIN>;IGNORE
+<U0D40> <mlvs-ii>;<BAS>;<MIN>;IGNORE
+<ml-samvruthokaram> <mlvs-u>;<BAS>;<MIN>;IGNORE
+<U0D41> <mlvs-u>;"<BAS><ml-samvruthokaram>";<MIN>;IGNORE # sort it after samvruthokaram
+<U0D42> <mlvs-uu>;<BAS>;<MIN>;IGNORE
+<U0D43> <mlvs-vocalicr>;<BAS>;<MIN>;IGNORE
+<U0D44> <mlvs-vocalicrr>;<BAS>;<MIN>;IGNORE
+<U0D62> <mlvs-vocalicl>;<BAS>;<MIN>;IGNORE
+<U0D63> <mlvs-vocalicll>;<BAS>;<MIN>;IGNORE
+<U0D46> <mlvs-shorte>;<BAS>;<MIN>;IGNORE
+<U0D47> <mlvs-e>;<BAS>;<MIN>;IGNORE
+<U0D48> <mlvs-ai>;<BAS>;<MIN>;IGNORE
+<U0D4A> <mlvs-shorto>;<BAS>;<MIN>;IGNORE
+<U0D4B> <mlvs-o>;<BAS>;<MIN>;IGNORE
+<U0D4C> <mlvs-au>;<BAS>;<MIN>;IGNORE
+<U0D57> <mlvs-au>;<BAS>;<MIN>;IGNORE
+<U0D4D> <ml-virama>;<BAS>;<MIN>;IGNORE
+<U0D03> <ml-visarga>;<BAS>;<MIN>;IGNORE
+<ml-split-o> <mlvs-shorto>;<BAS>;<MIN>;IGNORE
+<ml-split-oo> <mlvs-o>;<BAS>;<MIN>;IGNORE
+<ml-split-au> <mlvs-au>;<BAS>;<MIN>;IGNORE
+
order_end
END LC_COLLATE
diff --git a/libc/localedata/locales/sv_FI b/libc/localedata/locales/sv_FI
index bdda16d44..af9ec123e 100644
--- a/libc/localedata/locales/sv_FI
+++ b/libc/localedata/locales/sv_FI
@@ -97,14 +97,16 @@ mon "<U006A><U0061><U006E><U0075><U0061><U0072><U0069>";/
"<U006F><U006B><U0074><U006F><U0062><U0065><U0072>";/
"<U006E><U006F><U0076><U0065><U006D><U0062><U0065><U0072>";/
"<U0064><U0065><U0063><U0065><U006D><U0062><U0065><U0072>"
-d_t_fmt "<U0025><U0061><U0020><U0025><U0065><U0020><U0025><U0062><U0020><U0025><U0059><U0020><U0025><U0048><U002E><U0025><U004D><U002E><U0025><U0053>"
-d_fmt "<U0025><U0059><U002D><U0025><U006D><U002D><U0025><U0064>"
+d_t_fmt "<U0025><U0061><U0020><U0025><U0065><U002E><U0020><U0025><U0042>/
+<U0074><U0061><U0020><U0025><U0059><U0020><U0025><U0048><U002E><U0025>/
+<U004D><U002E><U0025><U0053>"
+d_fmt "<U0025><U0064><U002E><U0025><U006D><U002E><U0025><U0059>"
t_fmt "<U0025><U0048><U002E><U0025><U004D><U002E><U0025><U0053>"
am_pm "";""
t_fmt_ampm ""
-date_fmt "<U0025><U0061><U0020><U0025><U0062><U0020><U0025><U0065>/
-<U0020><U0025><U0048><U003A><U0025><U004D><U003A><U0025><U0053><U0020>/
-<U0025><U005A><U0020><U0025><U0059>"
+date_fmt "<U0025><U0061><U0020><U0025><U002D><U0064><U002E><U0025>/
+<U002D><U006D><U002E><U0025><U0059><U0020><U0025><U0048><U002E><U0025>/
+<U004D><U002E><U0025><U0053><U0020><U0025><U007A>"
END LC_TIME
LC_PAPER
diff --git a/libc/malloc/arena.c b/libc/malloc/arena.c
index 9932ee049..cc03dc4a5 100644
--- a/libc/malloc/arena.c
+++ b/libc/malloc/arena.c
@@ -223,7 +223,7 @@ free_atfork(Void_t* mem, const Void_t *caller)
tsd_getspecific(arena_key, vptr);
if(vptr != ATFORK_ARENA_PTR)
(void)mutex_lock(&ar_ptr->mutex);
- _int_free(ar_ptr, mem);
+ _int_free(ar_ptr, p);
if(vptr != ATFORK_ARENA_PTR)
(void)mutex_unlock(&ar_ptr->mutex);
}
diff --git a/libc/malloc/hooks.c b/libc/malloc/hooks.c
index c88937665..9659ec5fb 100644
--- a/libc/malloc/hooks.c
+++ b/libc/malloc/hooks.c
@@ -1,5 +1,5 @@
/* Malloc implementation for multiple threads without lock contention.
- Copyright (C) 2001-2006, 2007, 2008 Free Software Foundation, Inc.
+ Copyright (C) 2001-2006, 2007, 2008, 2009 Free Software Foundation, Inc.
This file is part of the GNU C Library.
Contributed by Wolfram Gloger <wg@malloc.de>, 2001.
@@ -293,7 +293,7 @@ free_check(mem, caller) Void_t* mem; const Void_t *caller;
#if 0 /* Erase freed memory. */
memset(mem, 0, chunksize(p) - (SIZE_SZ+1));
#endif
- _int_free(&main_arena, mem);
+ _int_free(&main_arena, p);
(void)mutex_unlock(&main_arena.mutex);
}
@@ -305,8 +305,7 @@ realloc_check(oldmem, bytes, caller)
Void_t* oldmem; size_t bytes; const Void_t *caller;
#endif
{
- mchunkptr oldp;
- INTERNAL_SIZE_T nb, oldsize;
+ INTERNAL_SIZE_T nb;
Void_t* newmem = 0;
unsigned char *magic_p;
@@ -320,13 +319,13 @@ realloc_check(oldmem, bytes, caller)
return NULL;
}
(void)mutex_lock(&main_arena.mutex);
- oldp = mem2chunk_check(oldmem, &magic_p);
+ const mchunkptr oldp = mem2chunk_check(oldmem, &magic_p);
(void)mutex_unlock(&main_arena.mutex);
if(!oldp) {
malloc_printerr(check_action, "realloc(): invalid pointer", oldmem);
return malloc_check(bytes, NULL);
}
- oldsize = chunksize(oldp);
+ const INTERNAL_SIZE_T oldsize = chunksize(oldp);
checked_request2size(bytes+1, nb);
(void)mutex_lock(&main_arena.mutex);
@@ -355,8 +354,11 @@ realloc_check(oldmem, bytes, caller)
}
} else {
#endif /* HAVE_MMAP */
- if (top_check() >= 0)
- newmem = _int_realloc(&main_arena, oldmem, bytes+1);
+ if (top_check() >= 0) {
+ INTERNAL_SIZE_T nb;
+ checked_request2size(bytes + 1, nb);
+ newmem = _int_realloc(&main_arena, oldp, nb);
+ }
#if 0 /* Erase freed memory. */
if(newmem)
newp = mem2chunk(newmem);
@@ -470,7 +472,7 @@ free_starter(mem, caller) Void_t* mem; const Void_t *caller;
return;
}
#endif
- _int_free(&main_arena, mem);
+ _int_free(&main_arena, p);
}
# endif /* !defiend NO_STARTER */
diff --git a/libc/malloc/malloc.c b/libc/malloc/malloc.c
index a91893474..12e23b0f9 100644
--- a/libc/malloc/malloc.c
+++ b/libc/malloc/malloc.c
@@ -1581,11 +1581,11 @@ typedef struct malloc_chunk* mchunkptr;
#if __STD_C
-Void_t* _int_malloc(mstate, size_t);
-void _int_free(mstate, Void_t*);
-Void_t* _int_realloc(mstate, Void_t*, size_t);
-Void_t* _int_memalign(mstate, size_t, size_t);
-Void_t* _int_valloc(mstate, size_t);
+static Void_t* _int_malloc(mstate, size_t);
+static void _int_free(mstate, mchunkptr);
+static Void_t* _int_realloc(mstate, mchunkptr, INTERNAL_SIZE_T);
+static Void_t* _int_memalign(mstate, size_t, size_t);
+static Void_t* _int_valloc(mstate, size_t);
static Void_t* _int_pvalloc(mstate, size_t);
/*static Void_t* cALLOc(size_t, size_t);*/
#ifndef _LIBC
@@ -1632,12 +1632,12 @@ static void free_atfork(Void_t* mem, const Void_t *caller);
#else
-Void_t* _int_malloc();
-void _int_free();
-Void_t* _int_realloc();
-Void_t* _int_memalign();
-Void_t* _int_valloc();
-Void_t* _int_pvalloc();
+static Void_t* _int_malloc();
+static void _int_free();
+static Void_t* _int_realloc();
+static Void_t* _int_memalign();
+static Void_t* _int_valloc();
+static Void_t* _int_pvalloc();
/*static Void_t* cALLOc();*/
static Void_t** _int_icalloc();
static Void_t** _int_icomalloc();
@@ -3084,7 +3084,7 @@ static Void_t* sYSMALLOc(nb, av) INTERNAL_SIZE_T nb; mstate av;
set_head(chunk_at_offset(old_top, old_size), (2*SIZE_SZ)|PREV_INUSE);
set_foot(chunk_at_offset(old_top, old_size), (2*SIZE_SZ));
set_head(old_top, old_size|PREV_INUSE|NON_MAIN_ARENA);
- _int_free(av, chunk2mem(old_top));
+ _int_free(av, old_top);
} else {
set_head(old_top, (old_size + 2*SIZE_SZ)|PREV_INUSE);
set_foot(old_top, (old_size + 2*SIZE_SZ));
@@ -3131,7 +3131,7 @@ static Void_t* sYSMALLOc(nb, av) INTERNAL_SIZE_T nb; mstate av;
if (brk != (char*)(MORECORE_FAILURE)) {
/* Call the `morecore' hook if necessary. */
- if (__after_morecore_hook)
+ if (__builtin_expect (__after_morecore_hook != NULL, 0))
(*__after_morecore_hook) ();
} else {
/*
@@ -3270,7 +3270,7 @@ static Void_t* sYSMALLOc(nb, av) INTERNAL_SIZE_T nb; mstate av;
snd_brk = (char*)(MORECORE(0));
} else
/* Call the `morecore' hook if necessary. */
- if (__after_morecore_hook)
+ if (__builtin_expect (__after_morecore_hook != NULL, 0))
(*__after_morecore_hook) ();
}
@@ -3323,7 +3323,7 @@ static Void_t* sYSMALLOc(nb, av) INTERNAL_SIZE_T nb; mstate av;
/* If possible, release the rest. */
if (old_size >= MINSIZE) {
- _int_free(av, chunk2mem(old_top));
+ _int_free(av, old_top);
}
}
@@ -3415,7 +3415,7 @@ static int sYSTRIm(pad, av) size_t pad; mstate av;
MORECORE(-extra);
/* Call the `morecore' hook if necessary. */
- if (__after_morecore_hook)
+ if (__builtin_expect (__after_morecore_hook != NULL, 0))
(*__after_morecore_hook) ();
new_brk = (char*)(MORECORE(0));
@@ -3542,7 +3542,7 @@ public_mALLOc(size_t bytes)
Void_t *victim;
__malloc_ptr_t (*hook) (size_t, __const __malloc_ptr_t) = __malloc_hook;
- if (hook != NULL)
+ if (__builtin_expect (hook != NULL, 0))
return (*hook)(bytes, RETURN_ADDRESS (0));
arena_get(ar_ptr, bytes);
@@ -3585,7 +3585,7 @@ public_fREe(Void_t* mem)
mchunkptr p; /* chunk corresponding to mem */
void (*hook) (__malloc_ptr_t, __const __malloc_ptr_t) = __free_hook;
- if (hook != NULL) {
+ if (__builtin_expect (hook != NULL, 0)) {
(*hook)(mem, RETURN_ADDRESS (0));
return;
}
@@ -3622,7 +3622,7 @@ public_fREe(Void_t* mem)
#else
(void)mutex_lock(&ar_ptr->mutex);
#endif
- _int_free(ar_ptr, mem);
+ _int_free(ar_ptr, p);
(void)mutex_unlock(&ar_ptr->mutex);
}
#ifdef libc_hidden_def
@@ -3635,14 +3635,11 @@ public_rEALLOc(Void_t* oldmem, size_t bytes)
mstate ar_ptr;
INTERNAL_SIZE_T nb; /* padded request size */
- mchunkptr oldp; /* chunk corresponding to oldmem */
- INTERNAL_SIZE_T oldsize; /* its size */
-
Void_t* newp; /* chunk to return */
__malloc_ptr_t (*hook) (__malloc_ptr_t, size_t, __const __malloc_ptr_t) =
__realloc_hook;
- if (hook != NULL)
+ if (__builtin_expect (hook != NULL, 0))
return (*hook)(oldmem, bytes, RETURN_ADDRESS (0));
#if REALLOC_ZERO_BYTES_FREES
@@ -3652,8 +3649,10 @@ public_rEALLOc(Void_t* oldmem, size_t bytes)
/* realloc of null is supposed to be same as malloc */
if (oldmem == 0) return public_mALLOc(bytes);
- oldp = mem2chunk(oldmem);
- oldsize = chunksize(oldp);
+ /* chunk corresponding to oldmem */
+ const mchunkptr oldp = mem2chunk(oldmem);
+ /* its size */
+ const INTERNAL_SIZE_T oldsize = chunksize(oldp);
/* Little security check which won't hurt performance: the
allocator never wrapps around at the end of the address space.
@@ -3705,7 +3704,7 @@ public_rEALLOc(Void_t* oldmem, size_t bytes)
tsd_setspecific(arena_key, (Void_t *)ar_ptr);
#endif
- newp = _int_realloc(ar_ptr, oldmem, bytes);
+ newp = _int_realloc(ar_ptr, oldp, nb);
(void)mutex_unlock(&ar_ptr->mutex);
assert(!newp || chunk_is_mmapped(mem2chunk(newp)) ||
@@ -3728,7 +3727,7 @@ public_rEALLOc(Void_t* oldmem, size_t bytes)
#else
(void)mutex_lock(&ar_ptr->mutex);
#endif
- _int_free(ar_ptr, oldmem);
+ _int_free(ar_ptr, oldp);
(void)mutex_unlock(&ar_ptr->mutex);
}
}
@@ -3748,7 +3747,7 @@ public_mEMALIGn(size_t alignment, size_t bytes)
__malloc_ptr_t (*hook) __MALLOC_PMT ((size_t, size_t,
__const __malloc_ptr_t)) =
__memalign_hook;
- if (hook != NULL)
+ if (__builtin_expect (hook != NULL, 0))
return (*hook)(alignment, bytes, RETURN_ADDRESS (0));
/* If need less alignment than we give anyway, just relay to malloc */
@@ -3805,7 +3804,7 @@ public_vALLOc(size_t bytes)
__malloc_ptr_t (*hook) __MALLOC_PMT ((size_t, size_t,
__const __malloc_ptr_t)) =
__memalign_hook;
- if (hook != NULL)
+ if (__builtin_expect (hook != NULL, 0))
return (*hook)(pagesz, bytes, RETURN_ADDRESS (0));
arena_get(ar_ptr, bytes + pagesz + MINSIZE);
@@ -3852,7 +3851,7 @@ public_pVALLOc(size_t bytes)
__malloc_ptr_t (*hook) __MALLOC_PMT ((size_t, size_t,
__const __malloc_ptr_t)) =
__memalign_hook;
- if (hook != NULL)
+ if (__builtin_expect (hook != NULL, 0))
return (*hook)(pagesz, rounded_bytes, RETURN_ADDRESS (0));
arena_get(ar_ptr, bytes + 2*pagesz + MINSIZE);
@@ -3906,7 +3905,7 @@ public_cALLOc(size_t n, size_t elem_size)
}
}
- if (hook != NULL) {
+ if (__builtin_expect (hook != NULL, 0)) {
sz = bytes;
mem = (*hook)(sz, RETURN_ADDRESS (0));
if(mem == 0)
@@ -4125,7 +4124,7 @@ public_mALLOPt(int p, int v)
------------------------------ malloc ------------------------------
*/
-Void_t*
+static Void_t*
_int_malloc(mstate av, size_t bytes)
{
INTERNAL_SIZE_T nb; /* normalized request size */
@@ -4589,10 +4588,9 @@ _int_malloc(mstate av, size_t bytes)
------------------------------ free ------------------------------
*/
-void
-_int_free(mstate av, Void_t* mem)
+static void
+_int_free(mstate av, mchunkptr p)
{
- mchunkptr p; /* chunk corresponding to mem */
INTERNAL_SIZE_T size; /* its size */
mfastbinptr* fb; /* associated fastbin */
mchunkptr nextchunk; /* next contiguous chunk */
@@ -4604,7 +4602,6 @@ _int_free(mstate av, Void_t* mem)
const char *errstr = NULL;
- p = mem2chunk(mem);
size = chunksize(p);
/* Little security check which won't hurt performance: the
@@ -4616,7 +4613,7 @@ _int_free(mstate av, Void_t* mem)
{
errstr = "free(): invalid pointer";
errout:
- malloc_printerr (check_action, errstr, mem);
+ malloc_printerr (check_action, errstr, chunk2mem(p));
return;
}
/* We know that each chunk is at least MINSIZE bytes in size. */
@@ -4663,7 +4660,7 @@ _int_free(mstate av, Void_t* mem)
}
if (__builtin_expect (perturb_byte, 0))
- free_perturb (mem, size - SIZE_SZ);
+ free_perturb (chunk2mem(p), size - SIZE_SZ);
p->fd = *fb;
*fb = p;
@@ -4707,7 +4704,7 @@ _int_free(mstate av, Void_t* mem)
}
if (__builtin_expect (perturb_byte, 0))
- free_perturb (mem, size - SIZE_SZ);
+ free_perturb (chunk2mem(p), size - SIZE_SZ);
/* consolidate backward */
if (!prev_inuse(p)) {
@@ -4943,13 +4940,8 @@ static void malloc_consolidate(av) mstate av;
*/
Void_t*
-_int_realloc(mstate av, Void_t* oldmem, size_t bytes)
+_int_realloc(mstate av, mchunkptr oldp, INTERNAL_SIZE_T nb)
{
- INTERNAL_SIZE_T nb; /* padded request size */
-
- mchunkptr oldp; /* chunk corresponding to oldmem */
- INTERNAL_SIZE_T oldsize; /* its size */
-
mchunkptr newp; /* chunk to return */
INTERNAL_SIZE_T newsize; /* its size */
Void_t* newmem; /* corresponding user mem */
@@ -4969,20 +4961,18 @@ _int_realloc(mstate av, Void_t* oldmem, size_t bytes)
const char *errstr = NULL;
-
- checked_request2size(bytes, nb);
-
- oldp = mem2chunk(oldmem);
- oldsize = chunksize(oldp);
-
/* Simple tests for old block integrity. */
if (__builtin_expect (misaligned_chunk (oldp), 0))
{
errstr = "realloc(): invalid pointer";
errout:
- malloc_printerr (check_action, errstr, oldmem);
+ malloc_printerr (check_action, errstr, chunk2mem(oldp));
return NULL;
}
+
+ /* oldmem size */
+ const INTERNAL_SIZE_T oldsize = chunksize(oldp);
+
if (__builtin_expect (oldp->size <= 2 * SIZE_SZ, 0)
|| __builtin_expect (oldsize >= av->system_mem, 0))
{
@@ -5054,7 +5044,7 @@ _int_realloc(mstate av, Void_t* oldmem, size_t bytes)
*/
copysize = oldsize - SIZE_SZ;
- s = (INTERNAL_SIZE_T*)(oldmem);
+ s = (INTERNAL_SIZE_T*)(chunk2mem(oldp));
d = (INTERNAL_SIZE_T*)(newmem);
ncopies = copysize / sizeof(INTERNAL_SIZE_T);
assert(ncopies >= 3);
@@ -5080,7 +5070,7 @@ _int_realloc(mstate av, Void_t* oldmem, size_t bytes)
}
}
- _int_free(av, oldmem);
+ _int_free(av, oldp);
check_inuse_chunk(av, newp);
return chunk2mem(newp);
}
@@ -5104,7 +5094,7 @@ _int_realloc(mstate av, Void_t* oldmem, size_t bytes)
(av != &main_arena ? NON_MAIN_ARENA : 0));
/* Mark remainder as inuse so free() won't complain */
set_inuse_bit_at_offset(remainder, remainder_size);
- _int_free(av, chunk2mem(remainder));
+ _int_free(av, remainder);
}
check_inuse_chunk(av, newp);
@@ -5129,7 +5119,7 @@ _int_realloc(mstate av, Void_t* oldmem, size_t bytes)
/* don't need to remap if still within same page */
if (oldsize == newsize - offset)
- return oldmem;
+ return chunk2mem(oldp);
cp = (char*)mremap((char*)oldp - offset, oldsize + offset, newsize, 1);
@@ -5157,13 +5147,13 @@ _int_realloc(mstate av, Void_t* oldmem, size_t bytes)
/* Note the extra SIZE_SZ overhead. */
if ((unsigned long)(oldsize) >= (unsigned long)(nb + SIZE_SZ))
- newmem = oldmem; /* do nothing */
+ newmem = chunk2mem(oldp); /* do nothing */
else {
/* Must alloc, copy, free. */
newmem = _int_malloc(av, nb - MALLOC_ALIGN_MASK);
if (newmem != 0) {
- MALLOC_COPY(newmem, oldmem, oldsize - 2*SIZE_SZ);
- _int_free(av, oldmem);
+ MALLOC_COPY(newmem, chunk2mem(oldp), oldsize - 2*SIZE_SZ);
+ _int_free(av, oldp);
}
}
return newmem;
@@ -5181,7 +5171,7 @@ _int_realloc(mstate av, Void_t* oldmem, size_t bytes)
------------------------------ memalign ------------------------------
*/
-Void_t*
+static Void_t*
_int_memalign(mstate av, size_t alignment, size_t bytes)
{
INTERNAL_SIZE_T nb; /* padded request size */
@@ -5257,7 +5247,7 @@ _int_memalign(mstate av, size_t alignment, size_t bytes)
(av != &main_arena ? NON_MAIN_ARENA : 0));
set_inuse_bit_at_offset(newp, newsize);
set_head_size(p, leadsize | (av != &main_arena ? NON_MAIN_ARENA : 0));
- _int_free(av, chunk2mem(p));
+ _int_free(av, p);
p = newp;
assert (newsize >= nb &&
@@ -5273,7 +5263,7 @@ _int_memalign(mstate av, size_t alignment, size_t bytes)
set_head(remainder, remainder_size | PREV_INUSE |
(av != &main_arena ? NON_MAIN_ARENA : 0));
set_head_size(p, nb);
- _int_free(av, chunk2mem(remainder));
+ _int_free(av, remainder);
}
}
@@ -5514,7 +5504,7 @@ mstate av; size_t n_elements; size_t* sizes; int opts; Void_t* chunks[];
------------------------------ valloc ------------------------------
*/
-Void_t*
+static Void_t*
#if __STD_C
_int_valloc(mstate av, size_t bytes)
#else
@@ -5531,7 +5521,7 @@ _int_valloc(av, bytes) mstate av; size_t bytes;
*/
-Void_t*
+static Void_t*
#if __STD_C
_int_pvalloc(mstate av, size_t bytes)
#else
@@ -6020,7 +6010,7 @@ __posix_memalign (void **memptr, size_t alignment, size_t size)
/* Call the hook here, so that caller is posix_memalign's caller
and not posix_memalign itself. */
- if (hook != NULL)
+ if (__builtin_expect (hook != NULL, 0))
mem = (*hook)(alignment, size, RETURN_ADDRESS (0));
else
mem = public_mEMALIGn (alignment, size);
diff --git a/libc/malloc/memusage.c b/libc/malloc/memusage.c
index d11e9e6ed..fcd58dc68 100644
--- a/libc/malloc/memusage.c
+++ b/libc/malloc/memusage.c
@@ -1,5 +1,5 @@
/* Profile heap and stack memory usage of running program.
- Copyright (C) 1998-2002, 2004, 2005, 2006 Free Software Foundation, Inc.
+ Copyright (C) 1998-2002, 2004-2006, 2009 Free Software Foundation, Inc.
This file is part of the GNU C Library.
Contributed by Ulrich Drepper <drepper@cygnus.com>, 1998.
@@ -18,6 +18,7 @@
Software Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA
02111-1307 USA. */
+#include <assert.h>
#include <atomic.h>
#include <dlfcn.h>
#include <errno.h>
@@ -92,7 +93,7 @@ static __thread uintptr_t start_sp;
#define peak_stack peak_use[1]
#define peak_total peak_use[2]
-#define DEFAULT_BUFFER_SIZE 1024
+#define DEFAULT_BUFFER_SIZE 32768
static size_t buffer_size;
static int fd = -1;
@@ -168,10 +169,11 @@ update_data (struct header *result, size_t len, size_t old_len)
this fails because of another thread increasing the
counter it does not matter since that thread will take
care of the correction. */
- unsigned int reset = idx - 2 * buffer_size;
- catomic_compare_and_exchange_val_acq (&buffer_size, reset, idx);
+ uatomic32_t reset = idx % (2 * buffer_size);
+ catomic_compare_and_exchange_val_acq (&buffer_cnt, reset, idx);
idx = reset;
}
+ assert (idx < 2 * DEFAULT_BUFFER_SIZE);
buffer[idx].heap = current_heap;
buffer[idx].stack = current_stack;
diff --git a/libc/malloc/memusage.sh b/libc/malloc/memusage.sh
index 7f1ac186e..d99676611 100755
--- a/libc/malloc/memusage.sh
+++ b/libc/malloc/memusage.sh
@@ -61,7 +61,8 @@ Profile memory usage of PROGRAM.
Mandatory arguments to long options are also mandatory for any corresponding
short options.
-For bug reporting instructions, please see:
+"
+ printf $"For bug reporting instructions, please see:
%s.
" "@REPORT_BUGS_TO@"
exit 0
diff --git a/libc/malloc/memusagestat.c b/libc/malloc/memusagestat.c
index 63961d9fa..a7b27df77 100644
--- a/libc/malloc/memusagestat.c
+++ b/libc/malloc/memusagestat.c
@@ -1,5 +1,6 @@
/* Generate graphic from memory profiling data.
- Copyright (C) 1998, 1999, 2000, 2005, 2006 Free Software Foundation, Inc.
+ Copyright (C) 1998, 1999, 2000, 2005, 2006,
+ 2009 Free Software Foundation, Inc.
This file is part of the GNU C Library.
Contributed by Ulrich Drepper <drepper@cygnus.com>, 1998.
@@ -39,6 +40,7 @@
#include <gdfonts.h>
#include "../version.h"
+#define PACKAGE _libc_intl_domainname
/* Default size of the generated image. */
#define XSIZE 800
@@ -547,6 +549,6 @@ print_version (FILE *stream, struct argp_state *state)
Copyright (C) %s Free Software Foundation, Inc.\n\
This is free software; see the source for copying conditions. There is NO\n\
warranty; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.\n\
-"), "2008");
+"), "2009");
fprintf (stream, gettext ("Written by %s.\n"), "Ulrich Drepper");
}
diff --git a/libc/nptl_db/ChangeLog b/libc/nptl_db/ChangeLog
index af819c301..5166d3df6 100644
--- a/libc/nptl_db/ChangeLog
+++ b/libc/nptl_db/ChangeLog
@@ -1,3 +1,8 @@
+2009-02-06 Ulrich Drepper <drepper@redhat.com>
+
+ * td_thr_get_info.c (td_thr_get_info): Initialize schedpolicy in
+ the special case [Coverity CID 251].
+
2008-03-25 Roland McGrath <roland@redhat.com>
[BZ #5983]
diff --git a/libc/nptl_db/td_thr_get_info.c b/libc/nptl_db/td_thr_get_info.c
index 99e5e19bf..52985603b 100644
--- a/libc/nptl_db/td_thr_get_info.c
+++ b/libc/nptl_db/td_thr_get_info.c
@@ -1,5 +1,5 @@
/* Get thread information.
- Copyright (C) 1999,2000,2001,2002,2003,2007 Free Software Foundation, Inc.
+ Copyright (C) 1999-2003,2007,2009 Free Software Foundation, Inc.
This file is part of the GNU C Library.
Contributed by Ulrich Drepper <drepper@redhat.com>, 1999.
@@ -38,6 +38,7 @@ td_thr_get_info (const td_thrhandle_t *th, td_thrinfo_t *infop)
copy = NULL;
tls = 0;
cancelhandling = 0;
+ schedpolicy = SCHED_OTHER;
schedprio = 0;
tid = 0;
err = DB_GET_VALUE (report_events, th->th_ta_p,
diff --git a/libc/nscd/nscd.c b/libc/nscd/nscd.c
index db45e709c..31497e083 100644
--- a/libc/nscd/nscd.c
+++ b/libc/nscd/nscd.c
@@ -91,6 +91,9 @@ static int write_pid (const char *file);
static void print_version (FILE *stream, struct argp_state *state);
void (*argp_program_version_hook) (FILE *, struct argp_state *) = print_version;
+/* Function to print some extra text in the help message. */
+static char *more_help (int key, const char *text, void *input);
+
/* Definitions of arguments for argp functions. */
static const struct argp_option options[] =
{
@@ -109,9 +112,7 @@ static const struct argp_option options[] =
};
/* Short description of program. */
-static const char doc[] = N_("Name Service Cache Daemon.\v\
-For bug reporting instructions, please see:\n\
-"REPORT_BUGS_TO".\n");
+static const char doc[] = N_("Name Service Cache Daemon.");
/* Prototype for option handler. */
static error_t parse_opt (int key, char *arg, struct argp_state *state);
@@ -119,7 +120,7 @@ static error_t parse_opt (int key, char *arg, struct argp_state *state);
/* Data structure to communicate with argp functions. */
static struct argp argp =
{
- options, parse_opt, NULL, doc,
+ options, parse_opt, NULL, doc, NULL, more_help
};
/* True if only statistics are requested. */
@@ -403,6 +404,26 @@ parse_opt (int key, char *arg, struct argp_state *state)
return 0;
}
+/* Print bug-reporting information in the help message. */
+static char *
+more_help (int key, const char *text, void *input)
+{
+ char *tp = NULL;
+ switch (key)
+ {
+ case ARGP_KEY_HELP_EXTRA:
+ /* We print some extra information. */
+ if (asprintf (&tp, gettext ("\
+For bug reporting instructions, please see:\n\
+%s.\n"), REPORT_BUGS_TO) < 0)
+ return NULL;
+ return tp;
+ default:
+ break;
+ }
+ return (char *) text;
+}
+
/* Print the version information. */
static void
print_version (FILE *stream, struct argp_state *state)
diff --git a/libc/nss/getent.c b/libc/nss/getent.c
index af9be403a..ea6efbce2 100644
--- a/libc/nss/getent.c
+++ b/libc/nss/getent.c
@@ -60,9 +60,7 @@ static const struct argp_option args_options[] =
};
/* Short description of program. */
-static const char doc[] = N_("Get entries from administrative database.\v\
-For bug reporting instructions, please see:\n\
-"REPORT_BUGS_TO".\n");
+static const char doc[] = N_("Get entries from administrative database.");
/* Prototype for option handler. */
static error_t parse_option (int key, char *arg, struct argp_state *state);
@@ -861,6 +859,12 @@ more_help (int key, const char *text, void *input)
col += len + 1;
}
+ fputs ("\n\n", fp);
+
+ fprintf (fp, gettext ("\
+For bug reporting instructions, please see:\n\
+%s.\n"), REPORT_BUGS_TO);
+
if (fclose (fp) == 0)
return doc;
}
diff --git a/libc/po/Makefile b/libc/po/Makefile
index 11f92adee..4ac253e3d 100644
--- a/libc/po/Makefile
+++ b/libc/po/Makefile
@@ -1,4 +1,4 @@
-# Copyright (C) 1996,1997,1998,1999,2001,2002,2006,2007
+# Copyright (C) 1996-1999,2001,2002,2006,2007,2009
# Free Software Foundation, Inc.
# This file is part of the GNU C Library.
@@ -64,6 +64,7 @@ libc.pot: header.pot libc.pot.files
$< > $@.new
cd ..; $(XGETTEXT) --keyword=_ --keyword=N_ \
--add-comments=TRANS --flag=error:3:c-format \
+ --flag=f_print:2:c-format \
--sort-by-file --omit-header -E -n -d - \
-f po/$(word 2,$^) >> po/$@.new
mv -f $@.new $@
diff --git a/libc/po/libc.pot b/libc/po/libc.pot
index a4ae24fd1..71d425fc5 100644
--- a/libc/po/libc.pot
+++ b/libc/po/libc.pot
@@ -5,8 +5,8 @@
#, fuzzy
msgid ""
msgstr ""
-"Project-Id-Version: libc 2.7.90\n"
-"POT-Creation-Date: 2008-04-09 08:07-0700\n"
+"Project-Id-Version: libc 2.9.90\n"
+"POT-Creation-Date: 2009-02-06 12:40-0800\n"
"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n"
"Last-Translator: FULL NAME <EMAIL@ADDRESS>\n"
"Language-Team: LANGUAGE <LL@li.org>\n"
@@ -100,7 +100,7 @@ msgstr ""
msgid "%s%s%s:%u: %s%sAssertion `%s' failed.\n"
msgstr ""
-#: catgets/gencat.c:110 catgets/gencat.c:114 nscd/nscd.c:97 nss/makedb.c:61
+#: catgets/gencat.c:110 catgets/gencat.c:114 nscd/nscd.c:100 nss/makedb.c:61
msgid "NAME"
msgstr ""
@@ -129,20 +129,27 @@ msgid ""
"[OUTPUT-FILE [INPUT-FILE]...]"
msgstr ""
-#: catgets/gencat.c:232 debug/pcprofiledump.c:204 iconv/iconv_prog.c:408
-#: iconv/iconvconfig.c:380 locale/programs/localedef.c:371
-#: login/programs/pt_chown.c:88 malloc/memusagestat.c:526 nss/makedb.c:231
+#: catgets/gencat.c:232 debug/pcprofiledump.c:208 debug/xtrace.sh:58
+#: elf/ldconfig.c:302 elf/ldd.bash.in:56 elf/sln.c:86 elf/sprof.c:360
+#: iconv/iconv_prog.c:408 iconv/iconvconfig.c:380 locale/programs/locale.c:278
+#: locale/programs/localedef.c:371 login/programs/pt_chown.c:88
+#: malloc/memusage.sh:65 malloc/memusagestat.c:533 nscd/nscd.c:415
+#: nss/getent.c:842 nss/makedb.c:231 posix/getconf.c:1030
+#: sunrpc/rpc_main.c:1494 sunrpc/rpcinfo.c:699
+#: sysdeps/unix/sysv/linux/lddlibc4.c:62
+#, c-format
msgid ""
"For bug reporting instructions, please see:\n"
"<http://www.gnu.org/software/libc/bugs.html>.\n"
msgstr ""
-#: catgets/gencat.c:246 debug/xtrace.sh:64 elf/ldconfig.c:296
-#: elf/ldd.bash.in:39 elf/sprof.c:355 iconv/iconv_prog.c:423
-#: iconv/iconvconfig.c:395 locale/programs/locale.c:275
+#: catgets/gencat.c:246 debug/pcprofiledump.c:222 debug/xtrace.sh:66
+#: elf/ldconfig.c:316 elf/ldd.bash.in:39 elf/sprof.c:375
+#: iconv/iconv_prog.c:423 iconv/iconvconfig.c:395 locale/programs/locale.c:293
#: locale/programs/localedef.c:387 login/programs/pt_chown.c:59
-#: malloc/memusage.sh:71 nscd/nscd.c:406 nss/getent.c:83 nss/makedb.c:245
-#: posix/getconf.c:1012
+#: malloc/memusage.sh:73 malloc/memusagestat.c:551 nscd/nscd.c:429
+#: nss/getent.c:81 nss/makedb.c:245 posix/getconf.c:1012
+#: sysdeps/unix/sysv/linux/lddlibc4.c:69
#, c-format
msgid ""
"Copyright (C) %s Free Software Foundation, Inc.\n"
@@ -150,10 +157,12 @@ msgid ""
"warranty; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.\n"
msgstr ""
-#: catgets/gencat.c:251 debug/xtrace.sh:68 elf/ldconfig.c:301 elf/sprof.c:361
-#: iconv/iconv_prog.c:428 iconv/iconvconfig.c:400 locale/programs/locale.c:280
-#: locale/programs/localedef.c:392 malloc/memusage.sh:75 nscd/nscd.c:411
-#: nss/getent.c:88 nss/makedb.c:250 posix/getconf.c:1017
+#: catgets/gencat.c:251 debug/pcprofiledump.c:227 debug/xtrace.sh:70
+#: elf/ldconfig.c:321 elf/sprof.c:381 iconv/iconv_prog.c:428
+#: iconv/iconvconfig.c:400 locale/programs/locale.c:298
+#: locale/programs/localedef.c:392 malloc/memusage.sh:77
+#: malloc/memusagestat.c:556 nscd/nscd.c:434 nss/getent.c:86 nss/makedb.c:250
+#: posix/getconf.c:1017
#, c-format
msgid "Written by %s.\n"
msgstr ""
@@ -254,17 +263,17 @@ msgstr ""
msgid "[FILE]"
msgstr ""
-#: debug/pcprofiledump.c:104
+#: debug/pcprofiledump.c:108
#, c-format
msgid "cannot open input file"
msgstr ""
-#: debug/pcprofiledump.c:111
+#: debug/pcprofiledump.c:115
#, c-format
msgid "cannot read header"
msgstr ""
-#: debug/pcprofiledump.c:175
+#: debug/pcprofiledump.c:179
#, c-format
msgid "invalid pointer size"
msgstr ""
@@ -296,24 +305,22 @@ msgid ""
"corresponding\n"
"short options.\n"
"\n"
-"For bug reporting instructions, please see:\n"
-"<http://www.gnu.org/software/libc/bugs.html>.\\n"
msgstr ""
-#: debug/xtrace.sh:125
+#: debug/xtrace.sh:127
msgid "xtrace: unrecognized option \\`$1'\\n"
msgstr ""
-#: debug/xtrace.sh:138
+#: debug/xtrace.sh:140
msgid "No program name given\\n"
msgstr ""
-#: debug/xtrace.sh:146
+#: debug/xtrace.sh:148
#, sh-format
msgid "executable \\`$program' not found\\n"
msgstr ""
-#: debug/xtrace.sh:150
+#: debug/xtrace.sh:152
#, sh-format
msgid "\\`$program' is no executable\\n"
msgstr ""
@@ -334,7 +341,7 @@ msgstr ""
msgid "invalid mode"
msgstr ""
-#: dlfcn/dlopen.c:64
+#: dlfcn/dlopen.c:65
msgid "invalid mode parameter"
msgstr ""
@@ -351,7 +358,7 @@ msgstr ""
msgid ", OS ABI: %s %d.%d.%d"
msgstr ""
-#: elf/cache.c:134 elf/ldconfig.c:1269
+#: elf/cache.c:134 elf/ldconfig.c:1289
#, c-format
msgid "Can't open cache file %s\n"
msgstr ""
@@ -470,11 +477,11 @@ msgstr ""
msgid "cannot open zero fill device"
msgstr ""
-#: elf/dl-load.c:979 elf/dl-load.c:2224
+#: elf/dl-load.c:979 elf/dl-load.c:2215
msgid "cannot create shared object descriptor"
msgstr ""
-#: elf/dl-load.c:998 elf/dl-load.c:1656 elf/dl-load.c:1748
+#: elf/dl-load.c:998 elf/dl-load.c:1647 elf/dl-load.c:1739
msgid "cannot read file data"
msgstr ""
@@ -538,63 +545,59 @@ msgstr ""
msgid "cannot close file descriptor"
msgstr ""
-#: elf/dl-load.c:1478
-msgid "cannot create searchlist"
-msgstr ""
-
-#: elf/dl-load.c:1656
+#: elf/dl-load.c:1647
msgid "file too short"
msgstr ""
-#: elf/dl-load.c:1685
+#: elf/dl-load.c:1676
msgid "invalid ELF header"
msgstr ""
-#: elf/dl-load.c:1697
+#: elf/dl-load.c:1688
msgid "ELF file data encoding not big-endian"
msgstr ""
-#: elf/dl-load.c:1699
+#: elf/dl-load.c:1690
msgid "ELF file data encoding not little-endian"
msgstr ""
-#: elf/dl-load.c:1703
+#: elf/dl-load.c:1694
msgid "ELF file version ident does not match current one"
msgstr ""
-#: elf/dl-load.c:1707
+#: elf/dl-load.c:1698
msgid "ELF file OS ABI invalid"
msgstr ""
-#: elf/dl-load.c:1709
+#: elf/dl-load.c:1700
msgid "ELF file ABI version invalid"
msgstr ""
-#: elf/dl-load.c:1712
+#: elf/dl-load.c:1703
msgid "internal error"
msgstr ""
-#: elf/dl-load.c:1719
+#: elf/dl-load.c:1710
msgid "ELF file version does not match current one"
msgstr ""
-#: elf/dl-load.c:1727
+#: elf/dl-load.c:1718
msgid "only ET_DYN and ET_EXEC can be loaded"
msgstr ""
-#: elf/dl-load.c:1733
+#: elf/dl-load.c:1724
msgid "ELF file's phentsize not the expected size"
msgstr ""
-#: elf/dl-load.c:2240
+#: elf/dl-load.c:2231
msgid "wrong ELF class: ELFCLASS64"
msgstr ""
-#: elf/dl-load.c:2241
+#: elf/dl-load.c:2232
msgid "wrong ELF class: ELFCLASS32"
msgstr ""
-#: elf/dl-load.c:2244
+#: elf/dl-load.c:2235
msgid "cannot open shared object file"
msgstr ""
@@ -626,29 +629,29 @@ msgstr ""
msgid "invalid target namespace in dlmopen()"
msgstr ""
-#: elf/dl-reloc.c:56
+#: elf/dl-reloc.c:121
msgid "cannot allocate memory in static TLS block"
msgstr ""
-#: elf/dl-reloc.c:198
+#: elf/dl-reloc.c:211
msgid "cannot make segment writable for relocation"
msgstr ""
-#: elf/dl-reloc.c:281
+#: elf/dl-reloc.c:277
#, c-format
msgid "%s: no PLTREL found in object %s\n"
msgstr ""
-#: elf/dl-reloc.c:292
+#: elf/dl-reloc.c:288
#, c-format
msgid "%s: out of memory to store relocation results for %s\n"
msgstr ""
-#: elf/dl-reloc.c:308
+#: elf/dl-reloc.c:304
msgid "cannot restore segment prot after reloc"
msgstr ""
-#: elf/dl-reloc.c:333
+#: elf/dl-reloc.c:329
msgid "cannot apply additional memory protection after relocation"
msgstr ""
@@ -656,11 +659,11 @@ msgstr ""
msgid "RTLD_NEXT used in code not dynamically loaded"
msgstr ""
-#: elf/dl-sysdep.c:475 elf/dl-sysdep.c:487
+#: elf/dl-sysdep.c:481 elf/dl-sysdep.c:493
msgid "cannot create capability list"
msgstr ""
-#: elf/dl-tls.c:848
+#: elf/dl-tls.c:864
msgid "cannot create TLS data structures"
msgstr ""
@@ -668,222 +671,222 @@ msgstr ""
msgid "cannot allocate version reference table"
msgstr ""
-#: elf/ldconfig.c:138
+#: elf/ldconfig.c:141
msgid "Print cache"
msgstr ""
-#: elf/ldconfig.c:139
+#: elf/ldconfig.c:142
msgid "Generate verbose messages"
msgstr ""
-#: elf/ldconfig.c:140
+#: elf/ldconfig.c:143
msgid "Don't build cache"
msgstr ""
-#: elf/ldconfig.c:141
+#: elf/ldconfig.c:144
msgid "Don't generate links"
msgstr ""
-#: elf/ldconfig.c:142
+#: elf/ldconfig.c:145
msgid "Change to and use ROOT as root directory"
msgstr ""
-#: elf/ldconfig.c:142
+#: elf/ldconfig.c:145
msgid "ROOT"
msgstr ""
-#: elf/ldconfig.c:143
+#: elf/ldconfig.c:146
msgid "CACHE"
msgstr ""
-#: elf/ldconfig.c:143
+#: elf/ldconfig.c:146
msgid "Use CACHE as cache file"
msgstr ""
-#: elf/ldconfig.c:144
+#: elf/ldconfig.c:147
msgid "CONF"
msgstr ""
-#: elf/ldconfig.c:144
+#: elf/ldconfig.c:147
msgid "Use CONF as configuration file"
msgstr ""
-#: elf/ldconfig.c:145
+#: elf/ldconfig.c:148
msgid ""
"Only process directories specified on the command line. Don't build cache."
msgstr ""
-#: elf/ldconfig.c:146
+#: elf/ldconfig.c:149
msgid "Manually link individual libraries."
msgstr ""
-#: elf/ldconfig.c:147
+#: elf/ldconfig.c:150
msgid "FORMAT"
msgstr ""
-#: elf/ldconfig.c:147
+#: elf/ldconfig.c:150
msgid "Format to use: new, old or compat (default)"
msgstr ""
-#: elf/ldconfig.c:148
+#: elf/ldconfig.c:151
msgid "Ignore auxiliary cache file"
msgstr ""
-#: elf/ldconfig.c:156
+#: elf/ldconfig.c:159
msgid "Configure Dynamic Linker Run Time Bindings."
msgstr ""
-#: elf/ldconfig.c:319
+#: elf/ldconfig.c:339
#, c-format
msgid "Path `%s' given more than once"
msgstr ""
-#: elf/ldconfig.c:359
+#: elf/ldconfig.c:379
#, c-format
msgid "%s is not a known library type"
msgstr ""
-#: elf/ldconfig.c:384
+#: elf/ldconfig.c:404
#, c-format
msgid "Can't stat %s"
msgstr ""
-#: elf/ldconfig.c:458
+#: elf/ldconfig.c:478
#, c-format
msgid "Can't stat %s\n"
msgstr ""
-#: elf/ldconfig.c:468
+#: elf/ldconfig.c:488
#, c-format
msgid "%s is not a symbolic link\n"
msgstr ""
-#: elf/ldconfig.c:487
+#: elf/ldconfig.c:507
#, c-format
msgid "Can't unlink %s"
msgstr ""
-#: elf/ldconfig.c:493
+#: elf/ldconfig.c:513
#, c-format
msgid "Can't link %s to %s"
msgstr ""
-#: elf/ldconfig.c:499
+#: elf/ldconfig.c:519
msgid " (changed)\n"
msgstr ""
-#: elf/ldconfig.c:501
+#: elf/ldconfig.c:521
msgid " (SKIPPED)\n"
msgstr ""
-#: elf/ldconfig.c:556
+#: elf/ldconfig.c:576
#, c-format
msgid "Can't find %s"
msgstr ""
-#: elf/ldconfig.c:572 elf/ldconfig.c:745 elf/ldconfig.c:793 elf/ldconfig.c:827
+#: elf/ldconfig.c:592 elf/ldconfig.c:765 elf/ldconfig.c:813 elf/ldconfig.c:847
#, c-format
msgid "Cannot lstat %s"
msgstr ""
-#: elf/ldconfig.c:579
+#: elf/ldconfig.c:599
#, c-format
msgid "Ignored file %s since it is not a regular file."
msgstr ""
-#: elf/ldconfig.c:588
+#: elf/ldconfig.c:608
#, c-format
msgid "No link created since soname could not be found for %s"
msgstr ""
-#: elf/ldconfig.c:671
+#: elf/ldconfig.c:691
#, c-format
msgid "Can't open directory %s"
msgstr ""
-#: elf/ldconfig.c:759
+#: elf/ldconfig.c:779
#, c-format
msgid "Cannot stat %s"
msgstr ""
-#: elf/ldconfig.c:814 elf/readlib.c:91
+#: elf/ldconfig.c:834 elf/readlib.c:91
#, c-format
msgid "Input file %s not found.\n"
msgstr ""
-#: elf/ldconfig.c:888
+#: elf/ldconfig.c:908
#, c-format
msgid "libc5 library %s in wrong directory"
msgstr ""
-#: elf/ldconfig.c:891
+#: elf/ldconfig.c:911
#, c-format
msgid "libc6 library %s in wrong directory"
msgstr ""
-#: elf/ldconfig.c:894
+#: elf/ldconfig.c:914
#, c-format
msgid "libc4 library %s in wrong directory"
msgstr ""
-#: elf/ldconfig.c:922
+#: elf/ldconfig.c:942
#, c-format
msgid ""
"libraries %s and %s in directory %s have same soname but different type."
msgstr ""
-#: elf/ldconfig.c:1031
+#: elf/ldconfig.c:1051
#, c-format
msgid "Can't open configuration file %s"
msgstr ""
-#: elf/ldconfig.c:1095
+#: elf/ldconfig.c:1115
#, c-format
msgid "%s:%u: bad syntax in hwcap line"
msgstr ""
-#: elf/ldconfig.c:1101
+#: elf/ldconfig.c:1121
#, c-format
msgid "%s:%u: hwcap index %lu above maximum %u"
msgstr ""
-#: elf/ldconfig.c:1108 elf/ldconfig.c:1116
+#: elf/ldconfig.c:1128 elf/ldconfig.c:1136
#, c-format
msgid "%s:%u: hwcap index %lu already defined as %s"
msgstr ""
-#: elf/ldconfig.c:1119
+#: elf/ldconfig.c:1139
#, c-format
msgid "%s:%u: duplicate hwcap %lu %s"
msgstr ""
-#: elf/ldconfig.c:1141
+#: elf/ldconfig.c:1161
#, c-format
msgid "need absolute file name for configuration file when using -r"
msgstr ""
-#: elf/ldconfig.c:1148 locale/programs/xmalloc.c:70 malloc/obstack.c:434
-#: malloc/obstack.c:436 posix/getconf.c:985 posix/getconf.c:1163
+#: elf/ldconfig.c:1168 locale/programs/xmalloc.c:70 malloc/obstack.c:434
+#: malloc/obstack.c:436 posix/getconf.c:985 posix/getconf.c:1177
#, c-format
msgid "memory exhausted"
msgstr ""
-#: elf/ldconfig.c:1178
+#: elf/ldconfig.c:1198
#, c-format
msgid "%s:%u: cannot read directory %s"
msgstr ""
-#: elf/ldconfig.c:1222
+#: elf/ldconfig.c:1242
#, c-format
msgid "relative path `%s' used to build cache"
msgstr ""
-#: elf/ldconfig.c:1248
+#: elf/ldconfig.c:1268
#, c-format
msgid "Can't chdir to /"
msgstr ""
-#: elf/ldconfig.c:1290
+#: elf/ldconfig.c:1310
#, c-format
msgid "Can't open cache file directory %s\n"
msgstr ""
@@ -901,50 +904,48 @@ msgid ""
" -r, --function-relocs process data and function relocations\n"
" -u, --unused print unused direct dependencies\n"
" -v, --verbose print all information\n"
-"For bug reporting instructions, please see:\n"
-"<http://www.gnu.org/software/libc/bugs.html>."
msgstr ""
-#: elf/ldd.bash.in:80
+#: elf/ldd.bash.in:82
msgid "ldd: option \\`$1' is ambiguous"
msgstr ""
-#: elf/ldd.bash.in:87
+#: elf/ldd.bash.in:89
msgid "unrecognized option"
msgstr ""
-#: elf/ldd.bash.in:88 elf/ldd.bash.in:126
+#: elf/ldd.bash.in:90 elf/ldd.bash.in:128
msgid "Try \\`ldd --help' for more information."
msgstr ""
-#: elf/ldd.bash.in:125
+#: elf/ldd.bash.in:127
msgid "missing file arguments"
msgstr ""
#. TRANS No such file or directory. This is a ``file doesn't exist'' error
#. TRANS for ordinary files that are referenced in contexts where they are
#. TRANS expected to already exist.
-#: elf/ldd.bash.in:148 sysdeps/gnu/errlist.c:36
+#: elf/ldd.bash.in:150 sysdeps/gnu/errlist.c:36
msgid "No such file or directory"
msgstr ""
-#: elf/ldd.bash.in:151 inet/rcmd.c:483
+#: elf/ldd.bash.in:153 inet/rcmd.c:483
msgid "not regular file"
msgstr ""
-#: elf/ldd.bash.in:154
+#: elf/ldd.bash.in:156
msgid "warning: you do not have execution permission for"
msgstr ""
-#: elf/ldd.bash.in:183
+#: elf/ldd.bash.in:185
msgid "\tnot a dynamic executable"
msgstr ""
-#: elf/ldd.bash.in:191
+#: elf/ldd.bash.in:193
msgid "exited with unknown exit code"
msgstr ""
-#: elf/ldd.bash.in:196
+#: elf/ldd.bash.in:198
msgid "error: you do not have read permission for"
msgstr ""
@@ -1003,6 +1004,43 @@ msgstr ""
msgid "%s is not an ELF file - it has the wrong magic bytes at the start.\n"
msgstr ""
+#: elf/sln.c:85
+#, c-format
+msgid ""
+"Usage: sln src dest|file\n"
+"\n"
+msgstr ""
+
+#: elf/sln.c:110
+#, c-format
+msgid "%s: file open error: %m\n"
+msgstr ""
+
+#: elf/sln.c:147
+#, c-format
+msgid "No target in line %d\n"
+msgstr ""
+
+#: elf/sln.c:179
+#, c-format
+msgid "%s: destination must not be a directory\n"
+msgstr ""
+
+#: elf/sln.c:185
+#, c-format
+msgid "%s: failed to remove the old destination\n"
+msgstr ""
+
+#: elf/sln.c:193
+#, c-format
+msgid "%s: invalid destination: %s\n"
+msgstr ""
+
+#: elf/sln.c:208 elf/sln.c:217
+#, c-format
+msgid "Invalid link from \"%s\" to \"%s\": %s\n"
+msgstr ""
+
#: elf/sprof.c:77
msgid "Output selection:"
msgstr ""
@@ -1020,102 +1058,99 @@ msgid "generate call graph"
msgstr ""
#: elf/sprof.c:89
-msgid ""
-"Read and display shared object profiling data.\vFor bug reporting "
-"instructions, please see:\n"
-"<http://www.gnu.org/software/libc/bugs.html>.\n"
+msgid "Read and display shared object profiling data."
msgstr ""
#: elf/sprof.c:94
msgid "SHOBJ [PROFDATA]"
msgstr ""
-#: elf/sprof.c:400
+#: elf/sprof.c:420
#, c-format
msgid "failed to load shared object `%s'"
msgstr ""
-#: elf/sprof.c:409
+#: elf/sprof.c:429
#, c-format
msgid "cannot create internal descriptors"
msgstr ""
-#: elf/sprof.c:528
+#: elf/sprof.c:548
#, c-format
msgid "Reopening shared object `%s' failed"
msgstr ""
-#: elf/sprof.c:535 elf/sprof.c:629
+#: elf/sprof.c:555 elf/sprof.c:649
#, c-format
msgid "reading of section headers failed"
msgstr ""
-#: elf/sprof.c:543 elf/sprof.c:637
+#: elf/sprof.c:563 elf/sprof.c:657
#, c-format
msgid "reading of section header string table failed"
msgstr ""
-#: elf/sprof.c:569
+#: elf/sprof.c:589
#, c-format
msgid "*** Cannot read debuginfo file name: %m\n"
msgstr ""
-#: elf/sprof.c:589
+#: elf/sprof.c:609
#, c-format
msgid "cannot determine file name"
msgstr ""
-#: elf/sprof.c:622
+#: elf/sprof.c:642
#, c-format
msgid "reading of ELF header failed"
msgstr ""
-#: elf/sprof.c:658
+#: elf/sprof.c:678
#, c-format
msgid "*** The file `%s' is stripped: no detailed analysis possible\n"
msgstr ""
-#: elf/sprof.c:688
+#: elf/sprof.c:708
#, c-format
msgid "failed to load symbol data"
msgstr ""
-#: elf/sprof.c:755
+#: elf/sprof.c:775
#, c-format
msgid "cannot load profiling data"
msgstr ""
-#: elf/sprof.c:764
+#: elf/sprof.c:784
#, c-format
msgid "while stat'ing profiling data file"
msgstr ""
-#: elf/sprof.c:772
+#: elf/sprof.c:792
#, c-format
msgid "profiling data file `%s' does not match shared object `%s'"
msgstr ""
-#: elf/sprof.c:783
+#: elf/sprof.c:803
#, c-format
msgid "failed to mmap the profiling data file"
msgstr ""
-#: elf/sprof.c:791
+#: elf/sprof.c:811
#, c-format
msgid "error while closing the profiling data file"
msgstr ""
-#: elf/sprof.c:800 elf/sprof.c:870
+#: elf/sprof.c:820 elf/sprof.c:890
#, c-format
msgid "cannot create internal descriptor"
msgstr ""
-#: elf/sprof.c:846
+#: elf/sprof.c:866
#, c-format
msgid "`%s' is no correct profile data file for `%s'"
msgstr ""
-#: elf/sprof.c:1027 elf/sprof.c:1085
+#: elf/sprof.c:1047 elf/sprof.c:1105
#, c-format
msgid "cannot allocate symbol data"
msgstr ""
@@ -1482,8 +1517,8 @@ msgstr ""
msgid "no symbolic name given for end of range"
msgstr ""
-#: locale/programs/charmap.c:610 locale/programs/ld-address.c:600
-#: locale/programs/ld-collate.c:2767 locale/programs/ld-collate.c:3928
+#: locale/programs/charmap.c:610 locale/programs/ld-address.c:602
+#: locale/programs/ld-collate.c:2767 locale/programs/ld-collate.c:3924
#: locale/programs/ld-ctype.c:2232 locale/programs/ld-ctype.c:2984
#: locale/programs/ld-identification.c:452
#: locale/programs/ld-measurement.c:238 locale/programs/ld-messages.c:332
@@ -1509,8 +1544,8 @@ msgstr ""
msgid "%s: error in state machine"
msgstr ""
-#: locale/programs/charmap.c:850 locale/programs/ld-address.c:616
-#: locale/programs/ld-collate.c:2764 locale/programs/ld-collate.c:4121
+#: locale/programs/charmap.c:850 locale/programs/ld-address.c:618
+#: locale/programs/ld-collate.c:2764 locale/programs/ld-collate.c:4117
#: locale/programs/ld-ctype.c:2229 locale/programs/ld-ctype.c:3001
#: locale/programs/ld-identification.c:468
#: locale/programs/ld-measurement.c:254 locale/programs/ld-messages.c:348
@@ -1534,7 +1569,7 @@ msgid ""
"same: %d vs %d"
msgstr ""
-#: locale/programs/charmap.c:993 locale/programs/ld-collate.c:3045
+#: locale/programs/charmap.c:993 locale/programs/ld-collate.c:3044
#: locale/programs/repertoire.c:419
msgid "invalid names for character range"
msgstr ""
@@ -1556,7 +1591,7 @@ msgstr ""
msgid "resulting bytes for range not representable."
msgstr ""
-#: locale/programs/ld-address.c:133 locale/programs/ld-collate.c:1556
+#: locale/programs/ld-address.c:135 locale/programs/ld-collate.c:1556
#: locale/programs/ld-ctype.c:420 locale/programs/ld-identification.c:133
#: locale/programs/ld-measurement.c:94 locale/programs/ld-messages.c:97
#: locale/programs/ld-monetary.c:194 locale/programs/ld-name.c:94
@@ -1566,10 +1601,10 @@ msgstr ""
msgid "No definition for %s category found"
msgstr ""
-#: locale/programs/ld-address.c:144 locale/programs/ld-address.c:182
-#: locale/programs/ld-address.c:200 locale/programs/ld-address.c:229
-#: locale/programs/ld-address.c:301 locale/programs/ld-address.c:320
-#: locale/programs/ld-address.c:333 locale/programs/ld-identification.c:146
+#: locale/programs/ld-address.c:146 locale/programs/ld-address.c:184
+#: locale/programs/ld-address.c:202 locale/programs/ld-address.c:231
+#: locale/programs/ld-address.c:303 locale/programs/ld-address.c:322
+#: locale/programs/ld-address.c:335 locale/programs/ld-identification.c:146
#: locale/programs/ld-measurement.c:105 locale/programs/ld-monetary.c:206
#: locale/programs/ld-monetary.c:250 locale/programs/ld-monetary.c:266
#: locale/programs/ld-monetary.c:278 locale/programs/ld-name.c:105
@@ -1582,46 +1617,46 @@ msgstr ""
msgid "%s: field `%s' not defined"
msgstr ""
-#: locale/programs/ld-address.c:156 locale/programs/ld-address.c:208
-#: locale/programs/ld-address.c:238 locale/programs/ld-address.c:276
+#: locale/programs/ld-address.c:158 locale/programs/ld-address.c:210
+#: locale/programs/ld-address.c:240 locale/programs/ld-address.c:278
#: locale/programs/ld-name.c:117 locale/programs/ld-telephone.c:117
#, c-format
msgid "%s: field `%s' must not be empty"
msgstr ""
-#: locale/programs/ld-address.c:168
+#: locale/programs/ld-address.c:170
#, c-format
msgid "%s: invalid escape `%%%c' sequence in field `%s'"
msgstr ""
-#: locale/programs/ld-address.c:219
+#: locale/programs/ld-address.c:221
#, c-format
msgid "%s: terminology language code `%s' not defined"
msgstr ""
-#: locale/programs/ld-address.c:244
+#: locale/programs/ld-address.c:246
#, c-format
msgid "%s: field `%s' must not be defined"
msgstr ""
-#: locale/programs/ld-address.c:258 locale/programs/ld-address.c:287
+#: locale/programs/ld-address.c:260 locale/programs/ld-address.c:289
#, c-format
msgid "%s: language abbreviation `%s' not defined"
msgstr ""
-#: locale/programs/ld-address.c:265 locale/programs/ld-address.c:293
-#: locale/programs/ld-address.c:327 locale/programs/ld-address.c:339
+#: locale/programs/ld-address.c:267 locale/programs/ld-address.c:295
+#: locale/programs/ld-address.c:329 locale/programs/ld-address.c:341
#, c-format
msgid "%s: `%s' value does not match `%s' value"
msgstr ""
-#: locale/programs/ld-address.c:312
+#: locale/programs/ld-address.c:314
#, c-format
msgid "%s: numeric country code `%d' not valid"
msgstr ""
-#: locale/programs/ld-address.c:508 locale/programs/ld-address.c:545
-#: locale/programs/ld-address.c:583 locale/programs/ld-ctype.c:2608
+#: locale/programs/ld-address.c:510 locale/programs/ld-address.c:547
+#: locale/programs/ld-address.c:585 locale/programs/ld-ctype.c:2608
#: locale/programs/ld-identification.c:364
#: locale/programs/ld-measurement.c:221 locale/programs/ld-messages.c:301
#: locale/programs/ld-monetary.c:701 locale/programs/ld-monetary.c:736
@@ -1633,7 +1668,7 @@ msgstr ""
msgid "%s: field `%s' declared more than once"
msgstr ""
-#: locale/programs/ld-address.c:512 locale/programs/ld-address.c:550
+#: locale/programs/ld-address.c:514 locale/programs/ld-address.c:552
#: locale/programs/ld-identification.c:368 locale/programs/ld-messages.c:311
#: locale/programs/ld-monetary.c:705 locale/programs/ld-monetary.c:740
#: locale/programs/ld-name.c:284 locale/programs/ld-numeric.c:267
@@ -1643,7 +1678,7 @@ msgstr ""
msgid "%s: unknown character in field `%s'"
msgstr ""
-#: locale/programs/ld-address.c:597 locale/programs/ld-collate.c:3926
+#: locale/programs/ld-address.c:599 locale/programs/ld-collate.c:3922
#: locale/programs/ld-ctype.c:2981 locale/programs/ld-identification.c:449
#: locale/programs/ld-measurement.c:235 locale/programs/ld-messages.c:330
#: locale/programs/ld-monetary.c:941 locale/programs/ld-name.c:305
@@ -1653,10 +1688,10 @@ msgstr ""
msgid "%s: incomplete `END' line"
msgstr ""
-#: locale/programs/ld-address.c:607 locale/programs/ld-collate.c:542
+#: locale/programs/ld-address.c:609 locale/programs/ld-collate.c:542
#: locale/programs/ld-collate.c:594 locale/programs/ld-collate.c:890
#: locale/programs/ld-collate.c:903 locale/programs/ld-collate.c:2733
-#: locale/programs/ld-collate.c:2754 locale/programs/ld-collate.c:4111
+#: locale/programs/ld-collate.c:2754 locale/programs/ld-collate.c:4107
#: locale/programs/ld-ctype.c:1960 locale/programs/ld-ctype.c:2219
#: locale/programs/ld-ctype.c:2806 locale/programs/ld-ctype.c:2992
#: locale/programs/ld-identification.c:459
@@ -1763,7 +1798,7 @@ msgstr ""
msgid "`%s' and `%.*s' are not valid names for symbolic range"
msgstr ""
-#: locale/programs/ld-collate.c:1369 locale/programs/ld-collate.c:3862
+#: locale/programs/ld-collate.c:1369 locale/programs/ld-collate.c:3858
#, c-format
msgid "%s: order for `%.*s' already defined at %s:%Zu"
msgstr ""
@@ -1804,7 +1839,7 @@ msgstr ""
msgid "too many errors; giving up"
msgstr ""
-#: locale/programs/ld-collate.c:2659 locale/programs/ld-collate.c:4050
+#: locale/programs/ld-collate.c:2659 locale/programs/ld-collate.c:4046
#, c-format
msgid "%s: nested conditionals not supported"
msgstr ""
@@ -1824,112 +1859,112 @@ msgstr ""
msgid "%s: duplicate declaration of section `%s'"
msgstr ""
-#: locale/programs/ld-collate.c:3025
+#: locale/programs/ld-collate.c:3024
#, c-format
msgid "%s: unknown character in collating symbol name"
msgstr ""
-#: locale/programs/ld-collate.c:3155
+#: locale/programs/ld-collate.c:3153
#, c-format
msgid "%s: unknown character in equivalent definition name"
msgstr ""
-#: locale/programs/ld-collate.c:3168
+#: locale/programs/ld-collate.c:3164
#, c-format
msgid "%s: unknown character in equivalent definition value"
msgstr ""
-#: locale/programs/ld-collate.c:3178
+#: locale/programs/ld-collate.c:3174
#, c-format
msgid "%s: unknown symbol `%s' in equivalent definition"
msgstr ""
-#: locale/programs/ld-collate.c:3187
+#: locale/programs/ld-collate.c:3183
msgid "error while adding equivalent collating symbol"
msgstr ""
-#: locale/programs/ld-collate.c:3225
+#: locale/programs/ld-collate.c:3221
#, c-format
msgid "duplicate definition of script `%s'"
msgstr ""
-#: locale/programs/ld-collate.c:3273
+#: locale/programs/ld-collate.c:3269
#, c-format
msgid "%s: unknown section name `%.*s'"
msgstr ""
-#: locale/programs/ld-collate.c:3302
+#: locale/programs/ld-collate.c:3298
#, c-format
msgid "%s: multiple order definitions for section `%s'"
msgstr ""
-#: locale/programs/ld-collate.c:3330
+#: locale/programs/ld-collate.c:3326
#, c-format
msgid "%s: invalid number of sorting rules"
msgstr ""
-#: locale/programs/ld-collate.c:3357
+#: locale/programs/ld-collate.c:3353
#, c-format
msgid "%s: multiple order definitions for unnamed section"
msgstr ""
-#: locale/programs/ld-collate.c:3411 locale/programs/ld-collate.c:3541
-#: locale/programs/ld-collate.c:3904
+#: locale/programs/ld-collate.c:3407 locale/programs/ld-collate.c:3537
+#: locale/programs/ld-collate.c:3900
#, c-format
msgid "%s: missing `order_end' keyword"
msgstr ""
-#: locale/programs/ld-collate.c:3474
+#: locale/programs/ld-collate.c:3470
#, c-format
msgid "%s: order for collating symbol %.*s not yet defined"
msgstr ""
-#: locale/programs/ld-collate.c:3492
+#: locale/programs/ld-collate.c:3488
#, c-format
msgid "%s: order for collating element %.*s not yet defined"
msgstr ""
-#: locale/programs/ld-collate.c:3503
+#: locale/programs/ld-collate.c:3499
#, c-format
msgid "%s: cannot reorder after %.*s: symbol not known"
msgstr ""
-#: locale/programs/ld-collate.c:3555 locale/programs/ld-collate.c:3916
+#: locale/programs/ld-collate.c:3551 locale/programs/ld-collate.c:3912
#, c-format
msgid "%s: missing `reorder-end' keyword"
msgstr ""
-#: locale/programs/ld-collate.c:3589 locale/programs/ld-collate.c:3787
+#: locale/programs/ld-collate.c:3585 locale/programs/ld-collate.c:3783
#, c-format
msgid "%s: section `%.*s' not known"
msgstr ""
-#: locale/programs/ld-collate.c:3654
+#: locale/programs/ld-collate.c:3650
#, c-format
msgid "%s: bad symbol <%.*s>"
msgstr ""
-#: locale/programs/ld-collate.c:3850
+#: locale/programs/ld-collate.c:3846
#, c-format
msgid "%s: cannot have `%s' as end of ellipsis range"
msgstr ""
-#: locale/programs/ld-collate.c:3900
+#: locale/programs/ld-collate.c:3896
#, c-format
msgid "%s: empty category description not allowed"
msgstr ""
-#: locale/programs/ld-collate.c:3919
+#: locale/programs/ld-collate.c:3915
#, c-format
msgid "%s: missing `reorder-sections-end' keyword"
msgstr ""
-#: locale/programs/ld-collate.c:4083
+#: locale/programs/ld-collate.c:4079
#, c-format
msgid "%s: '%s' without matching 'ifdef' or 'ifndef'"
msgstr ""
-#: locale/programs/ld-collate.c:4101
+#: locale/programs/ld-collate.c:4097
#, c-format
msgid "%s: 'endif' without matching 'ifdef' or 'ifndef'"
msgstr ""
@@ -2372,39 +2407,36 @@ msgid "Print more information"
msgstr ""
#: locale/programs/locale.c:87
-msgid ""
-"Get locale-specific information.\vFor bug reporting instructions, please "
-"see:\n"
-"<http://www.gnu.org/software/libc/bugs.html>.\n"
+msgid "Get locale-specific information."
msgstr ""
-#: locale/programs/locale.c:92
+#: locale/programs/locale.c:90
msgid ""
"NAME\n"
"[-a|-m]"
msgstr ""
-#: locale/programs/locale.c:193
+#: locale/programs/locale.c:194
#, c-format
msgid "Cannot set LC_CTYPE to default locale"
msgstr ""
-#: locale/programs/locale.c:195
+#: locale/programs/locale.c:196
#, c-format
msgid "Cannot set LC_MESSAGES to default locale"
msgstr ""
-#: locale/programs/locale.c:208
+#: locale/programs/locale.c:209
#, c-format
msgid "Cannot set LC_COLLATE to default locale"
msgstr ""
-#: locale/programs/locale.c:224
+#: locale/programs/locale.c:225
#, c-format
msgid "Cannot set LC_ALL to default locale"
msgstr ""
-#: locale/programs/locale.c:500
+#: locale/programs/locale.c:518
#, c-format
msgid "while preparing output"
msgstr ""
@@ -2802,11 +2834,9 @@ msgid ""
"corresponding\n"
"short options.\n"
"\n"
-"For bug reporting instructions, please see:\n"
-"<http://www.gnu.org/software/libc/bugs.html>."
msgstr ""
-#: malloc/memusage.sh:99
+#: malloc/memusage.sh:101
msgid ""
"Syntax: memusage [--data=FILE] [--progname=NAME] [--png=FILE] [--"
"unbuffered]\n"
@@ -2815,53 +2845,53 @@ msgid ""
" PROGRAM [PROGRAMOPTION]..."
msgstr ""
-#: malloc/memusage.sh:191
+#: malloc/memusage.sh:193
msgid "memusage: option \\`${1##*=}' is ambiguous"
msgstr ""
-#: malloc/memusage.sh:200
+#: malloc/memusage.sh:202
msgid "memusage: unrecognized option \\`$1'"
msgstr ""
-#: malloc/memusage.sh:213
+#: malloc/memusage.sh:215
msgid "No program name given"
msgstr ""
-#: malloc/memusagestat.c:54
+#: malloc/memusagestat.c:57
msgid "Name output file"
msgstr ""
-#: malloc/memusagestat.c:55
+#: malloc/memusagestat.c:58
msgid "Title string used in output graphic"
msgstr ""
-#: malloc/memusagestat.c:56
+#: malloc/memusagestat.c:59
msgid ""
"Generate output linear to time (default is linear to number of function "
"calls)"
msgstr ""
-#: malloc/memusagestat.c:58
+#: malloc/memusagestat.c:61
msgid "Also draw graph for total memory consumption"
msgstr ""
-#: malloc/memusagestat.c:59
+#: malloc/memusagestat.c:62
msgid "Make output graphic VALUE pixels wide"
msgstr ""
-#: malloc/memusagestat.c:60
+#: malloc/memusagestat.c:63
msgid "Make output graphic VALUE pixels high"
msgstr ""
-#: malloc/memusagestat.c:65
+#: malloc/memusagestat.c:68
msgid "Generate graphic from memory profiling data"
msgstr ""
-#: malloc/memusagestat.c:68
+#: malloc/memusagestat.c:71
msgid "DATAFILE [OUTFILE]"
msgstr ""
-#: misc/error.c:118 timezone/zic.c:417
+#: misc/error.c:118
msgid "Unknown system error"
msgstr ""
@@ -2869,7 +2899,7 @@ msgstr ""
msgid "unable to free arguments"
msgstr ""
-#: nis/nis_error.h:1 nis/ypclnt.c:822 nis/ypclnt.c:910 posix/regcomp.c:132
+#: nis/nis_error.h:1 nis/ypclnt.c:833 nis/ypclnt.c:921 posix/regcomp.c:133
#: sysdeps/gnu/errlist.c:20
msgid "Success"
msgstr ""
@@ -2911,7 +2941,7 @@ msgid "First/next chain broken"
msgstr ""
#. TRANS Permission denied; the file permissions do not allow the attempted operation.
-#: nis/nis_error.h:11 nis/ypclnt.c:867 sysdeps/gnu/errlist.c:157
+#: nis/nis_error.h:11 nis/ypclnt.c:878 sysdeps/gnu/errlist.c:157
msgid "Permission denied"
msgstr ""
@@ -3410,100 +3440,100 @@ msgstr ""
msgid "netname2user: should not have uid 0"
msgstr ""
-#: nis/ypclnt.c:825
+#: nis/ypclnt.c:836
msgid "Request arguments bad"
msgstr ""
-#: nis/ypclnt.c:828
+#: nis/ypclnt.c:839
msgid "RPC failure on NIS operation"
msgstr ""
-#: nis/ypclnt.c:831
+#: nis/ypclnt.c:842
msgid "Can't bind to server which serves this domain"
msgstr ""
-#: nis/ypclnt.c:834
+#: nis/ypclnt.c:845
msgid "No such map in server's domain"
msgstr ""
-#: nis/ypclnt.c:837
+#: nis/ypclnt.c:848
msgid "No such key in map"
msgstr ""
-#: nis/ypclnt.c:840
+#: nis/ypclnt.c:851
msgid "Internal NIS error"
msgstr ""
-#: nis/ypclnt.c:843
+#: nis/ypclnt.c:854
msgid "Local resource allocation failure"
msgstr ""
-#: nis/ypclnt.c:846
+#: nis/ypclnt.c:857
msgid "No more records in map database"
msgstr ""
-#: nis/ypclnt.c:849
+#: nis/ypclnt.c:860
msgid "Can't communicate with portmapper"
msgstr ""
-#: nis/ypclnt.c:852
+#: nis/ypclnt.c:863
msgid "Can't communicate with ypbind"
msgstr ""
-#: nis/ypclnt.c:855
+#: nis/ypclnt.c:866
msgid "Can't communicate with ypserv"
msgstr ""
-#: nis/ypclnt.c:858
+#: nis/ypclnt.c:869
msgid "Local domain name not set"
msgstr ""
-#: nis/ypclnt.c:861
+#: nis/ypclnt.c:872
msgid "NIS map database is bad"
msgstr ""
-#: nis/ypclnt.c:864
+#: nis/ypclnt.c:875
msgid "NIS client/server version mismatch - can't supply service"
msgstr ""
-#: nis/ypclnt.c:870
+#: nis/ypclnt.c:881
msgid "Database is busy"
msgstr ""
-#: nis/ypclnt.c:873
+#: nis/ypclnt.c:884
msgid "Unknown NIS error code"
msgstr ""
-#: nis/ypclnt.c:913
+#: nis/ypclnt.c:924
msgid "Internal ypbind error"
msgstr ""
-#: nis/ypclnt.c:916
+#: nis/ypclnt.c:927
msgid "Domain not bound"
msgstr ""
-#: nis/ypclnt.c:919
+#: nis/ypclnt.c:930
msgid "System resource allocation failure"
msgstr ""
-#: nis/ypclnt.c:922
+#: nis/ypclnt.c:933
msgid "Unknown ypbind error"
msgstr ""
-#: nis/ypclnt.c:963
+#: nis/ypclnt.c:974
msgid "yp_update: cannot convert host to netname\n"
msgstr ""
-#: nis/ypclnt.c:981
+#: nis/ypclnt.c:992
msgid "yp_update: cannot get server address\n"
msgstr ""
-#: nscd/aicache.c:77 nscd/hstcache.c:473
+#: nscd/aicache.c:82 nscd/hstcache.c:481
#, c-format
msgid "Haven't found \"%s\" in hosts cache!"
msgstr ""
-#: nscd/aicache.c:79 nscd/hstcache.c:475
+#: nscd/aicache.c:84 nscd/hstcache.c:483
#, c-format
msgid "Reloading \"%s\" in hosts cache!"
msgstr ""
@@ -3517,344 +3547,369 @@ msgstr ""
msgid " (first)"
msgstr ""
-#: nscd/cache.c:263 nscd/connections.c:811
+#: nscd/cache.c:286 nscd/connections.c:866
#, c-format
msgid "cannot stat() file `%s': %s"
msgstr ""
-#: nscd/cache.c:305
+#: nscd/cache.c:328
#, c-format
msgid "pruning %s cache; time %ld"
msgstr ""
-#: nscd/cache.c:334
+#: nscd/cache.c:357
#, c-format
msgid "considering %s entry \"%s\", timeout %<PRIu64>"
msgstr ""
-#: nscd/connections.c:527
+#: nscd/connections.c:570
#, c-format
msgid "invalid persistent database file \"%s\": %s"
msgstr ""
-#: nscd/connections.c:535
+#: nscd/connections.c:578
msgid "uninitialized header"
msgstr ""
-#: nscd/connections.c:540
+#: nscd/connections.c:583
msgid "header size does not match"
msgstr ""
-#: nscd/connections.c:550
+#: nscd/connections.c:593
msgid "file size does not match"
msgstr ""
-#: nscd/connections.c:567
+#: nscd/connections.c:610
msgid "verification failed"
msgstr ""
-#: nscd/connections.c:581
+#: nscd/connections.c:624
#, c-format
msgid ""
"suggested size of table for database %s larger than the persistent "
"database's table"
msgstr ""
-#: nscd/connections.c:592 nscd/connections.c:674
+#: nscd/connections.c:635 nscd/connections.c:720
#, c-format
msgid "cannot create read-only descriptor for \"%s\"; no mmap"
msgstr ""
-#: nscd/connections.c:653
+#: nscd/connections.c:651
+#, c-format
+msgid "cannot access '%s'"
+msgstr ""
+
+#: nscd/connections.c:699
#, c-format
msgid ""
"database for %s corrupted or simultaneously used; remove %s manually if "
"necessary and restart"
msgstr ""
-#: nscd/connections.c:660
+#: nscd/connections.c:706
#, c-format
msgid "cannot create %s; no persistent database used"
msgstr ""
-#: nscd/connections.c:663
+#: nscd/connections.c:709
#, c-format
msgid "cannot create %s; no sharing possible"
msgstr ""
-#: nscd/connections.c:734
+#: nscd/connections.c:780
#, c-format
msgid "cannot write to database file %s: %s"
msgstr ""
-#: nscd/connections.c:773
+#: nscd/connections.c:819
#, c-format
msgid "cannot set socket to close on exec: %s; disabling paranoia mode"
msgstr ""
-#: nscd/connections.c:824
+#: nscd/connections.c:902
#, c-format
msgid "cannot open socket: %s"
msgstr ""
-#: nscd/connections.c:841
+#: nscd/connections.c:922
#, c-format
msgid "cannot change socket to nonblocking mode: %s"
msgstr ""
-#: nscd/connections.c:849
+#: nscd/connections.c:930
#, c-format
msgid "cannot set socket to close on exec: %s"
msgstr ""
-#: nscd/connections.c:860
+#: nscd/connections.c:943
#, c-format
msgid "cannot enable socket to accept connections: %s"
msgstr ""
-#: nscd/connections.c:960
+#: nscd/connections.c:1043
#, c-format
msgid "provide access to FD %d, for %s"
msgstr ""
-#: nscd/connections.c:972
+#: nscd/connections.c:1055
#, c-format
msgid "cannot handle old request version %d; current version is %d"
msgstr ""
-#: nscd/connections.c:982
+#: nscd/connections.c:1077
+#, c-format
+msgid "request from %ld not handled due to missing permission"
+msgstr ""
+
+#: nscd/connections.c:1082
+#, c-format
+msgid "request from '%s' [%ld] not handled due to missing permission"
+msgstr ""
+
+#: nscd/connections.c:1087
msgid "request not handled due to missing permission"
msgstr ""
-#: nscd/connections.c:1018 nscd/connections.c:1071
+#: nscd/connections.c:1125 nscd/connections.c:1178
#, c-format
msgid "cannot write result: %s"
msgstr ""
-#: nscd/connections.c:1154
+#: nscd/connections.c:1261
#, c-format
msgid "error getting caller's id: %s"
msgstr ""
-#: nscd/connections.c:1213
+#: nscd/connections.c:1320
#, c-format
msgid "cannot open /proc/self/cmdline: %s; disabling paranoia mode"
msgstr ""
-#: nscd/connections.c:1227
+#: nscd/connections.c:1334
#, c-format
msgid "cannot read /proc/self/cmdline: %s; disabling paranoia mode"
msgstr ""
-#: nscd/connections.c:1267
+#: nscd/connections.c:1374
#, c-format
msgid "cannot change to old UID: %s; disabling paranoia mode"
msgstr ""
-#: nscd/connections.c:1277
+#: nscd/connections.c:1384
#, c-format
msgid "cannot change to old GID: %s; disabling paranoia mode"
msgstr ""
-#: nscd/connections.c:1290
+#: nscd/connections.c:1397
#, c-format
msgid "cannot change to old working directory: %s; disabling paranoia mode"
msgstr ""
-#: nscd/connections.c:1319
+#: nscd/connections.c:1429
#, c-format
msgid "re-exec failed: %s; disabling paranoia mode"
msgstr ""
-#: nscd/connections.c:1328
+#: nscd/connections.c:1438
#, c-format
msgid "cannot change current working directory to \"/\": %s"
msgstr ""
-#: nscd/connections.c:1471
+#: nscd/connections.c:1644
#, c-format
msgid "short read while reading request: %s"
msgstr ""
-#: nscd/connections.c:1502
+#: nscd/connections.c:1677
#, c-format
msgid "key length in request too long: %d"
msgstr ""
-#: nscd/connections.c:1515
+#: nscd/connections.c:1690
#, c-format
msgid "short read while reading request key: %s"
msgstr ""
-#: nscd/connections.c:1524
+#: nscd/connections.c:1699
#, c-format
msgid "handle_request: request received (Version = %d) from PID %ld"
msgstr ""
-#: nscd/connections.c:1529
+#: nscd/connections.c:1704
#, c-format
msgid "handle_request: request received (Version = %d)"
msgstr ""
-#: nscd/connections.c:1866
+#: nscd/connections.c:1903 nscd/connections.c:2101
+#, c-format
+msgid "disabled inotify after read error %d"
+msgstr ""
+
+#: nscd/connections.c:2230
msgid "could not initialize conditional variable"
msgstr ""
-#: nscd/connections.c:1874
+#: nscd/connections.c:2238
msgid "could not start clean-up thread; terminating"
msgstr ""
-#: nscd/connections.c:1888
+#: nscd/connections.c:2252
msgid "could not start any worker thread; terminating"
msgstr ""
-#: nscd/connections.c:1939 nscd/connections.c:1940 nscd/connections.c:1957
-#: nscd/connections.c:1966 nscd/connections.c:1984 nscd/connections.c:1995
-#: nscd/connections.c:2006
+#: nscd/connections.c:2303 nscd/connections.c:2304 nscd/connections.c:2321
+#: nscd/connections.c:2330 nscd/connections.c:2348 nscd/connections.c:2359
+#: nscd/connections.c:2370
#, c-format
msgid "Failed to run nscd as user '%s'"
msgstr ""
-#: nscd/connections.c:1958
+#: nscd/connections.c:2322
#, c-format
msgid "initial getgrouplist failed"
msgstr ""
-#: nscd/connections.c:1967
+#: nscd/connections.c:2331
#, c-format
msgid "getgrouplist failed"
msgstr ""
-#: nscd/connections.c:1985
+#: nscd/connections.c:2349
#, c-format
msgid "setgroups failed"
msgstr ""
-#: nscd/grpcache.c:404 nscd/hstcache.c:422 nscd/initgrcache.c:414
-#: nscd/pwdcache.c:399 nscd/servicescache.c:345
+#: nscd/grpcache.c:395 nscd/hstcache.c:430 nscd/initgrcache.c:416
+#: nscd/pwdcache.c:400 nscd/servicescache.c:343
#, c-format
msgid "short write in %s: %s"
msgstr ""
-#: nscd/grpcache.c:447 nscd/initgrcache.c:78
+#: nscd/grpcache.c:438 nscd/initgrcache.c:78
#, c-format
msgid "Haven't found \"%s\" in group cache!"
msgstr ""
-#: nscd/grpcache.c:449 nscd/initgrcache.c:80
+#: nscd/grpcache.c:440 nscd/initgrcache.c:80
#, c-format
msgid "Reloading \"%s\" in group cache!"
msgstr ""
-#: nscd/grpcache.c:526
+#: nscd/grpcache.c:517
#, c-format
msgid "Invalid numeric gid \"%s\"!"
msgstr ""
-#: nscd/mem.c:422
+#: nscd/mem.c:457
#, c-format
msgid "freed %zu bytes in %s cache"
msgstr ""
-#: nscd/mem.c:557
+#: nscd/mem.c:594
#, c-format
msgid "no more memory for database '%s'"
msgstr ""
-#: nscd/nscd.c:98
+#: nscd/nscd.c:101
msgid "Read configuration data from NAME"
msgstr ""
-#: nscd/nscd.c:100
+#: nscd/nscd.c:103
msgid "Do not fork and display messages on the current tty"
msgstr ""
-#: nscd/nscd.c:101
+#: nscd/nscd.c:104
msgid "NUMBER"
msgstr ""
-#: nscd/nscd.c:101
+#: nscd/nscd.c:104
msgid "Start NUMBER threads"
msgstr ""
-#: nscd/nscd.c:102
+#: nscd/nscd.c:105
msgid "Shut the server down"
msgstr ""
-#: nscd/nscd.c:103
+#: nscd/nscd.c:106
msgid "Print current configuration statistics"
msgstr ""
-#: nscd/nscd.c:104
+#: nscd/nscd.c:107
msgid "TABLE"
msgstr ""
-#: nscd/nscd.c:105
+#: nscd/nscd.c:108
msgid "Invalidate the specified cache"
msgstr ""
-#: nscd/nscd.c:106
+#: nscd/nscd.c:109
msgid "TABLE,yes"
msgstr ""
-#: nscd/nscd.c:107
+#: nscd/nscd.c:110
msgid "Use separate cache for each user"
msgstr ""
-#: nscd/nscd.c:112
+#: nscd/nscd.c:115
msgid "Name Service Cache Daemon."
msgstr ""
-#: nscd/nscd.c:144 nss/getent.c:858 nss/makedb.c:123
+#: nscd/nscd.c:147 nss/getent.c:876 nss/makedb.c:123
#, c-format
msgid "wrong number of arguments"
msgstr ""
-#: nscd/nscd.c:154
+#: nscd/nscd.c:157
#, c-format
msgid "failure while reading configuration file; this is fatal"
msgstr ""
-#: nscd/nscd.c:163
+#: nscd/nscd.c:166
#, c-format
msgid "already running"
msgstr ""
-#: nscd/nscd.c:178 nscd/nscd.c:233
+#: nscd/nscd.c:181 nscd/nscd.c:236
#, c-format
msgid "cannot fork"
msgstr ""
-#: nscd/nscd.c:241
+#: nscd/nscd.c:244
#, c-format
msgid "cannot change current working directory to \"/\""
msgstr ""
-#: nscd/nscd.c:249
+#: nscd/nscd.c:252
msgid "Could not create log file"
msgstr ""
-#: nscd/nscd.c:302 nscd/nscd.c:327 nscd/nscd_stat.c:172
+#: nscd/nscd.c:305 nscd/nscd.c:330 nscd/nscd_stat.c:172
#, c-format
msgid "Only root is allowed to use this option!"
msgstr ""
-#: nscd/nscd.c:364 nscd/nscd_stat.c:191
+#: nscd/nscd.c:345
+#, c-format
+msgid "'%s' is not a known database"
+msgstr ""
+
+#: nscd/nscd.c:370 nscd/nscd_stat.c:191
#, c-format
msgid "write incomplete"
msgstr ""
-#: nscd/nscd.c:375
+#: nscd/nscd.c:381
#, c-format
msgid "cannot read invalidate ACK"
msgstr ""
-#: nscd/nscd.c:381
+#: nscd/nscd.c:387
#, c-format
msgid "invalidation failed"
msgstr ""
-#: nscd/nscd.c:391
+#: nscd/nscd.c:397
#, c-format
msgid "secure services not implemented anymore"
msgstr ""
@@ -3998,17 +4053,17 @@ msgid ""
"%15s check /etc/%s for changes\n"
msgstr ""
-#: nscd/pwdcache.c:442
+#: nscd/pwdcache.c:443
#, c-format
msgid "Haven't found \"%s\" in password cache!"
msgstr ""
-#: nscd/pwdcache.c:444
+#: nscd/pwdcache.c:445
#, c-format
msgid "Reloading \"%s\" in password cache!"
msgstr ""
-#: nscd/pwdcache.c:522
+#: nscd/pwdcache.c:523
#, c-format
msgid "Invalid numeric uid \"%s\"!"
msgstr ""
@@ -4104,12 +4159,12 @@ msgid ""
"%15u CAV misses\n"
msgstr ""
-#: nscd/servicescache.c:392
+#: nscd/servicescache.c:390
#, c-format
msgid "Haven't found \"%s\" in services cache!"
msgstr ""
-#: nscd/servicescache.c:394
+#: nscd/servicescache.c:392
#, c-format
msgid "Reloading \"%s\" in services cache!"
msgstr ""
@@ -4123,27 +4178,24 @@ msgid "Service configuration to be used"
msgstr ""
#: nss/getent.c:62
-msgid ""
-"Get entries from administrative database.\vFor bug reporting instructions, "
-"please see:\n"
-"<http://www.gnu.org/software/libc/bugs.html>.\n"
+msgid "Get entries from administrative database."
msgstr ""
-#: nss/getent.c:145 nss/getent.c:394
+#: nss/getent.c:143 nss/getent.c:408
#, c-format
msgid "Enumeration not supported on %s\n"
msgstr ""
-#: nss/getent.c:782
+#: nss/getent.c:794
#, c-format
msgid "Unknown database name"
msgstr ""
-#: nss/getent.c:808
+#: nss/getent.c:820
msgid "Supported databases:\n"
msgstr ""
-#: nss/getent.c:868
+#: nss/getent.c:886
#, c-format
msgid "Unknown database: %s\n"
msgstr ""
@@ -4214,21 +4266,33 @@ msgstr ""
msgid " %s -a [pathname]\n"
msgstr ""
-#: posix/getconf.c:1067
+#: posix/getconf.c:1023
+#, c-format
+msgid ""
+"Usage: getconf [-v SPEC] VAR\n"
+" or: getconf [-v SPEC] PATH_VAR PATH\n"
+"\n"
+"Get the configuration value for variable VAR, or for variable PATH_VAR\n"
+"for path PATH. If SPEC is given, give values for compilation\n"
+"environment SPEC.\n"
+"\n"
+msgstr ""
+
+#: posix/getconf.c:1081
#, c-format
msgid "unknown specification \"%s\""
msgstr ""
-#: posix/getconf.c:1095
+#: posix/getconf.c:1109
#, c-format
msgid "Couldn't execute %s"
msgstr ""
-#: posix/getconf.c:1135 posix/getconf.c:1151
+#: posix/getconf.c:1149 posix/getconf.c:1165
msgid "undefined"
msgstr ""
-#: posix/getconf.c:1173
+#: posix/getconf.c:1187
#, c-format
msgid "Unrecognized variable `%s'"
msgstr ""
@@ -4285,75 +4349,75 @@ msgstr ""
msgid "%s: option '-W %s' doesn't allow an argument\n"
msgstr ""
-#: posix/regcomp.c:135
+#: posix/regcomp.c:136
msgid "No match"
msgstr ""
-#: posix/regcomp.c:138
+#: posix/regcomp.c:139
msgid "Invalid regular expression"
msgstr ""
-#: posix/regcomp.c:141
+#: posix/regcomp.c:142
msgid "Invalid collation character"
msgstr ""
-#: posix/regcomp.c:144
+#: posix/regcomp.c:145
msgid "Invalid character class name"
msgstr ""
-#: posix/regcomp.c:147
+#: posix/regcomp.c:148
msgid "Trailing backslash"
msgstr ""
-#: posix/regcomp.c:150
+#: posix/regcomp.c:151
msgid "Invalid back reference"
msgstr ""
-#: posix/regcomp.c:153
+#: posix/regcomp.c:154
msgid "Unmatched [ or [^"
msgstr ""
-#: posix/regcomp.c:156
+#: posix/regcomp.c:157
msgid "Unmatched ( or \\("
msgstr ""
-#: posix/regcomp.c:159
+#: posix/regcomp.c:160
msgid "Unmatched \\{"
msgstr ""
-#: posix/regcomp.c:162
+#: posix/regcomp.c:163
msgid "Invalid content of \\{\\}"
msgstr ""
-#: posix/regcomp.c:165
+#: posix/regcomp.c:166
msgid "Invalid range end"
msgstr ""
-#: posix/regcomp.c:168
+#: posix/regcomp.c:169
msgid "Memory exhausted"
msgstr ""
-#: posix/regcomp.c:171
+#: posix/regcomp.c:172
msgid "Invalid preceding regular expression"
msgstr ""
-#: posix/regcomp.c:174
+#: posix/regcomp.c:175
msgid "Premature end of regular expression"
msgstr ""
-#: posix/regcomp.c:177
+#: posix/regcomp.c:178
msgid "Regular expression too big"
msgstr ""
-#: posix/regcomp.c:180
+#: posix/regcomp.c:181
msgid "Unmatched ) or \\)"
msgstr ""
-#: posix/regcomp.c:660
+#: posix/regcomp.c:681
msgid "No previous regular expression"
msgstr ""
-#: posix/wordexp.c:1798
+#: posix/wordexp.c:1832
msgid "parameter null or not set"
msgstr ""
@@ -4437,7 +4501,7 @@ msgstr ""
msgid "Unknown signal %d"
msgstr ""
-#: sunrpc/auth_unix.c:114 sunrpc/clnt_tcp.c:131 sunrpc/clnt_udp.c:140
+#: sunrpc/auth_unix.c:114 sunrpc/clnt_tcp.c:131 sunrpc/clnt_udp.c:143
#: sunrpc/clnt_unix.c:128 sunrpc/svc_tcp.c:179 sunrpc/svc_tcp.c:218
#: sunrpc/svc_udp.c:153 sunrpc/svc_unix.c:176 sunrpc/svc_unix.c:215
#: sunrpc/xdr.c:566 sunrpc/xdr.c:718 sunrpc/xdr_array.c:106
@@ -4604,121 +4668,244 @@ msgstr ""
msgid "Cannot receive reply to broadcast"
msgstr ""
-#: sunrpc/rpc_main.c:286
+#: sunrpc/rpc_main.c:290
#, c-format
msgid "%s: output would overwrite %s\n"
msgstr ""
-#: sunrpc/rpc_main.c:293
+#: sunrpc/rpc_main.c:297
#, c-format
msgid "%s: unable to open %s: %m\n"
msgstr ""
-#: sunrpc/rpc_main.c:305
+#: sunrpc/rpc_main.c:309
#, c-format
msgid "%s: while writing output %s: %m"
msgstr ""
-#: sunrpc/rpc_main.c:340
+#: sunrpc/rpc_main.c:344
#, c-format
msgid "cannot find C preprocessor: %s \n"
msgstr ""
-#: sunrpc/rpc_main.c:348
+#: sunrpc/rpc_main.c:352
msgid "cannot find any C preprocessor (cpp)\n"
msgstr ""
-#: sunrpc/rpc_main.c:417
+#: sunrpc/rpc_main.c:421
#, c-format
msgid "%s: C preprocessor failed with signal %d\n"
msgstr ""
-#: sunrpc/rpc_main.c:420
+#: sunrpc/rpc_main.c:424
#, c-format
msgid "%s: C preprocessor failed with exit code %d\n"
msgstr ""
-#: sunrpc/rpc_main.c:460
+#: sunrpc/rpc_main.c:464
#, c-format
msgid "illegal nettype: `%s'\n"
msgstr ""
-#: sunrpc/rpc_main.c:1122
+#: sunrpc/rpc_main.c:1130
#, c-format
msgid "rpcgen: too many defines\n"
msgstr ""
-#: sunrpc/rpc_main.c:1134
+#: sunrpc/rpc_main.c:1142
#, c-format
msgid "rpcgen: arglist coding error\n"
msgstr ""
#. TRANS: the file will not be removed; this is an
#. TRANS: informative message.
-#: sunrpc/rpc_main.c:1167
+#: sunrpc/rpc_main.c:1175
#, c-format
msgid "file `%s' already exists and may be overwritten\n"
msgstr ""
-#: sunrpc/rpc_main.c:1212
+#: sunrpc/rpc_main.c:1220
#, c-format
msgid "Cannot specify more than one input file!\n"
msgstr ""
-#: sunrpc/rpc_main.c:1382
+#: sunrpc/rpc_main.c:1394
+#, c-format
msgid "This implementation doesn't support newstyle or MT-safe code!\n"
msgstr ""
-#: sunrpc/rpc_main.c:1391
+#: sunrpc/rpc_main.c:1403
#, c-format
msgid "Cannot use netid flag with inetd flag!\n"
msgstr ""
-#: sunrpc/rpc_main.c:1403
+#: sunrpc/rpc_main.c:1415
+#, c-format
msgid "Cannot use netid flag without TIRPC!\n"
msgstr ""
-#: sunrpc/rpc_main.c:1410
+#: sunrpc/rpc_main.c:1422
+#, c-format
msgid "Cannot use table flags with newstyle!\n"
msgstr ""
-#: sunrpc/rpc_main.c:1429
+#: sunrpc/rpc_main.c:1441
#, c-format
msgid "\"infile\" is required for template generation flags.\n"
msgstr ""
-#: sunrpc/rpc_main.c:1434
+#: sunrpc/rpc_main.c:1446
#, c-format
msgid "Cannot have more than one file generation flag!\n"
msgstr ""
-#: sunrpc/rpc_main.c:1443
+#: sunrpc/rpc_main.c:1455
#, c-format
msgid "usage: %s infile\n"
msgstr ""
-#: sunrpc/rpc_main.c:1444
+#: sunrpc/rpc_main.c:1456
#, c-format
msgid ""
"\t%s [-abkCLNTM][-Dname[=value]] [-i size] [-I [-K seconds]] [-Y path] "
"infile\n"
msgstr ""
-#: sunrpc/rpc_main.c:1446
+#: sunrpc/rpc_main.c:1458
#, c-format
msgid "\t%s [-c | -h | -l | -m | -t | -Sc | -Ss | -Sm] [-o outfile] [infile]\n"
msgstr ""
-#: sunrpc/rpc_main.c:1448
+#: sunrpc/rpc_main.c:1460
#, c-format
msgid "\t%s [-s nettype]* [-o outfile] [infile]\n"
msgstr ""
-#: sunrpc/rpc_main.c:1449
+#: sunrpc/rpc_main.c:1461
#, c-format
msgid "\t%s [-n netid]* [-o outfile] [infile]\n"
msgstr ""
+#: sunrpc/rpc_main.c:1469
+#, c-format
+msgid "options:\n"
+msgstr ""
+
+#: sunrpc/rpc_main.c:1470
+#, c-format
+msgid "-a\t\tgenerate all files, including samples\n"
+msgstr ""
+
+#: sunrpc/rpc_main.c:1471
+#, c-format
+msgid "-b\t\tbackward compatibility mode (generates code for SunOS 4.1)\n"
+msgstr ""
+
+#: sunrpc/rpc_main.c:1472
+#, c-format
+msgid "-c\t\tgenerate XDR routines\n"
+msgstr ""
+
+#: sunrpc/rpc_main.c:1473
+#, c-format
+msgid "-C\t\tANSI C mode\n"
+msgstr ""
+
+#: sunrpc/rpc_main.c:1474
+#, c-format
+msgid "-Dname[=value]\tdefine a symbol (same as #define)\n"
+msgstr ""
+
+#: sunrpc/rpc_main.c:1475
+#, c-format
+msgid "-h\t\tgenerate header file\n"
+msgstr ""
+
+#: sunrpc/rpc_main.c:1476
+#, c-format
+msgid "-i size\t\tsize at which to start generating inline code\n"
+msgstr ""
+
+#: sunrpc/rpc_main.c:1477
+#, c-format
+msgid "-I\t\tgenerate code for inetd support in server (for SunOS 4.1)\n"
+msgstr ""
+
+#: sunrpc/rpc_main.c:1478
+#, c-format
+msgid "-K seconds\tserver exits after K seconds of inactivity\n"
+msgstr ""
+
+#: sunrpc/rpc_main.c:1479
+#, c-format
+msgid "-l\t\tgenerate client side stubs\n"
+msgstr ""
+
+#: sunrpc/rpc_main.c:1480
+#, c-format
+msgid "-L\t\tserver errors will be printed to syslog\n"
+msgstr ""
+
+#: sunrpc/rpc_main.c:1481
+#, c-format
+msgid "-m\t\tgenerate server side stubs\n"
+msgstr ""
+
+#: sunrpc/rpc_main.c:1482
+#, c-format
+msgid "-M\t\tgenerate MT-safe code\n"
+msgstr ""
+
+#: sunrpc/rpc_main.c:1483
+#, c-format
+msgid "-n netid\tgenerate server code that supports named netid\n"
+msgstr ""
+
+#: sunrpc/rpc_main.c:1484
+#, c-format
+msgid "-N\t\tsupports multiple arguments and call-by-value\n"
+msgstr ""
+
+#: sunrpc/rpc_main.c:1485
+#, c-format
+msgid "-o outfile\tname of the output file\n"
+msgstr ""
+
+#: sunrpc/rpc_main.c:1486
+#, c-format
+msgid "-s nettype\tgenerate server code that supports named nettype\n"
+msgstr ""
+
+#: sunrpc/rpc_main.c:1487
+#, c-format
+msgid "-Sc\t\tgenerate sample client code that uses remote procedures\n"
+msgstr ""
+
+#: sunrpc/rpc_main.c:1488
+#, c-format
+msgid "-Ss\t\tgenerate sample server code that defines remote procedures\n"
+msgstr ""
+
+#: sunrpc/rpc_main.c:1489
+#, c-format
+msgid "-Sm \t\tgenerate makefile template \n"
+msgstr ""
+
+#: sunrpc/rpc_main.c:1490
+#, c-format
+msgid "-t\t\tgenerate RPC dispatch table\n"
+msgstr ""
+
+#: sunrpc/rpc_main.c:1491
+#, c-format
+msgid "-T\t\tgenerate code to support RPC dispatch tables\n"
+msgstr ""
+
+#: sunrpc/rpc_main.c:1492
+#, c-format
+msgid "-Y path\t\tdirectory name to find C preprocessor (cpp)\n"
+msgstr ""
+
#: sunrpc/rpc_scan.c:114
msgid "constant or identifier expected"
msgstr ""
@@ -4739,79 +4926,79 @@ msgstr ""
msgid "preprocessor error"
msgstr ""
-#: sunrpc/rpcinfo.c:237 sunrpc/rpcinfo.c:383
+#: sunrpc/rpcinfo.c:254 sunrpc/rpcinfo.c:400
#, c-format
msgid "program %lu is not available\n"
msgstr ""
-#: sunrpc/rpcinfo.c:264 sunrpc/rpcinfo.c:310 sunrpc/rpcinfo.c:333
-#: sunrpc/rpcinfo.c:407 sunrpc/rpcinfo.c:453 sunrpc/rpcinfo.c:476
-#: sunrpc/rpcinfo.c:510
+#: sunrpc/rpcinfo.c:281 sunrpc/rpcinfo.c:327 sunrpc/rpcinfo.c:350
+#: sunrpc/rpcinfo.c:424 sunrpc/rpcinfo.c:470 sunrpc/rpcinfo.c:493
+#: sunrpc/rpcinfo.c:527
#, c-format
msgid "program %lu version %lu is not available\n"
msgstr ""
-#: sunrpc/rpcinfo.c:515
+#: sunrpc/rpcinfo.c:532
#, c-format
msgid "program %lu version %lu ready and waiting\n"
msgstr ""
-#: sunrpc/rpcinfo.c:556 sunrpc/rpcinfo.c:563
+#: sunrpc/rpcinfo.c:573 sunrpc/rpcinfo.c:580
msgid "rpcinfo: can't contact portmapper"
msgstr ""
-#: sunrpc/rpcinfo.c:570
+#: sunrpc/rpcinfo.c:587
msgid "No remote programs registered.\n"
msgstr ""
-#: sunrpc/rpcinfo.c:574
+#: sunrpc/rpcinfo.c:591
msgid " program vers proto port\n"
msgstr ""
-#: sunrpc/rpcinfo.c:613
+#: sunrpc/rpcinfo.c:630
msgid "(unknown)"
msgstr ""
-#: sunrpc/rpcinfo.c:637
+#: sunrpc/rpcinfo.c:654
#, c-format
msgid "rpcinfo: broadcast failed: %s\n"
msgstr ""
-#: sunrpc/rpcinfo.c:658
+#: sunrpc/rpcinfo.c:675
msgid "Sorry. You are not root\n"
msgstr ""
-#: sunrpc/rpcinfo.c:665
+#: sunrpc/rpcinfo.c:682
#, c-format
msgid "rpcinfo: Could not delete registration for prog %s version %s\n"
msgstr ""
-#: sunrpc/rpcinfo.c:674
+#: sunrpc/rpcinfo.c:691
msgid "Usage: rpcinfo [ -n portnum ] -u host prognum [ versnum ]\n"
msgstr ""
-#: sunrpc/rpcinfo.c:676
+#: sunrpc/rpcinfo.c:693
msgid " rpcinfo [ -n portnum ] -t host prognum [ versnum ]\n"
msgstr ""
-#: sunrpc/rpcinfo.c:678
+#: sunrpc/rpcinfo.c:695
msgid " rpcinfo -p [ host ]\n"
msgstr ""
-#: sunrpc/rpcinfo.c:679
+#: sunrpc/rpcinfo.c:696
msgid " rpcinfo -b prognum versnum\n"
msgstr ""
-#: sunrpc/rpcinfo.c:680
+#: sunrpc/rpcinfo.c:697
msgid " rpcinfo -d prognum versnum\n"
msgstr ""
-#: sunrpc/rpcinfo.c:695
+#: sunrpc/rpcinfo.c:722
#, c-format
msgid "rpcinfo: %s is unknown service\n"
msgstr ""
-#: sunrpc/rpcinfo.c:732
+#: sunrpc/rpcinfo.c:759
#, c-format
msgid "rpcinfo: %s is unknown host\n"
msgstr ""
@@ -5969,415 +6156,422 @@ msgstr ""
msgid "makecontext: does not know how to handle more than 8 arguments\n"
msgstr ""
-#: sysdeps/unix/sysv/linux/lddlibc4.c:64
+#: sysdeps/unix/sysv/linux/lddlibc4.c:61
+#, c-format
+msgid ""
+"Usage: lddlibc4 FILE\n"
+"\n"
+msgstr ""
+
+#: sysdeps/unix/sysv/linux/lddlibc4.c:82
#, c-format
msgid "cannot open `%s'"
msgstr ""
-#: sysdeps/unix/sysv/linux/lddlibc4.c:68
+#: sysdeps/unix/sysv/linux/lddlibc4.c:86
#, c-format
msgid "cannot read header from `%s'"
msgstr ""
-#: timezone/zdump.c:211
+#: timezone/zdump.c:210
msgid "lacks alphabetic at start"
msgstr ""
-#: timezone/zdump.c:213
+#: timezone/zdump.c:212
msgid "has fewer than 3 alphabetics"
msgstr ""
-#: timezone/zdump.c:215
+#: timezone/zdump.c:214
msgid "has more than 6 alphabetics"
msgstr ""
-#: timezone/zdump.c:223
+#: timezone/zdump.c:222
msgid "differs from POSIX standard"
msgstr ""
-#: timezone/zdump.c:229
+#: timezone/zdump.c:228
#, c-format
msgid "%s: warning: zone \"%s\" abbreviation \"%s\" %s\n"
msgstr ""
-#: timezone/zdump.c:280
+#: timezone/zdump.c:279
#, c-format
msgid ""
"%s: usage is %s [ --version ] [ -v ] [ -c [loyear,]hiyear ] zonename ...\n"
msgstr ""
-#: timezone/zdump.c:297
+#: timezone/zdump.c:296
#, c-format
msgid "%s: wild -c argument %s\n"
msgstr ""
-#: timezone/zdump.c:388
+#: timezone/zdump.c:387
msgid "Error writing to standard output"
msgstr ""
-#: timezone/zdump.c:411
+#: timezone/zdump.c:410
#, c-format
msgid ""
"%s: use of -v on system with floating time_t other than float or double\n"
msgstr ""
-#: timezone/zic.c:392
+#: timezone/zic.c:388
#, c-format
msgid "%s: Memory exhausted: %s\n"
msgstr ""
-#: timezone/zic.c:451
+#: timezone/zic.c:434
#, c-format
msgid "\"%s\", line %d: %s"
msgstr ""
-#: timezone/zic.c:454
+#: timezone/zic.c:437
#, c-format
msgid " (rule from \"%s\", line %d)"
msgstr ""
-#: timezone/zic.c:466
+#: timezone/zic.c:449
msgid "warning: "
msgstr ""
-#: timezone/zic.c:476
+#: timezone/zic.c:459
#, c-format
msgid ""
"%s: usage is %s [ --version ] [ -v ] [ -l localtime ] [ -p posixrules ] \\\n"
"\t[ -d directory ] [ -L leapseconds ] [ -y yearistype ] [ filename ... ]\n"
msgstr ""
-#: timezone/zic.c:511
+#: timezone/zic.c:494
msgid "wild compilation-time specification of zic_t"
msgstr ""
-#: timezone/zic.c:528
+#: timezone/zic.c:511
#, c-format
msgid "%s: More than one -d option specified\n"
msgstr ""
-#: timezone/zic.c:538
+#: timezone/zic.c:521
#, c-format
msgid "%s: More than one -l option specified\n"
msgstr ""
-#: timezone/zic.c:548
+#: timezone/zic.c:531
#, c-format
msgid "%s: More than one -p option specified\n"
msgstr ""
-#: timezone/zic.c:558
+#: timezone/zic.c:541
#, c-format
msgid "%s: More than one -y option specified\n"
msgstr ""
-#: timezone/zic.c:568
+#: timezone/zic.c:551
#, c-format
msgid "%s: More than one -L option specified\n"
msgstr ""
-#: timezone/zic.c:617
+#: timezone/zic.c:600
msgid "link to link"
msgstr ""
-#: timezone/zic.c:682
+#: timezone/zic.c:665
msgid "hard link failed, symbolic link used"
msgstr ""
-#: timezone/zic.c:690
+#: timezone/zic.c:673
#, c-format
msgid "%s: Can't link from %s to %s: %s\n"
msgstr ""
-#: timezone/zic.c:762 timezone/zic.c:764
+#: timezone/zic.c:745 timezone/zic.c:747
msgid "same rule name in multiple files"
msgstr ""
-#: timezone/zic.c:805
+#: timezone/zic.c:788
msgid "unruly zone"
msgstr ""
-#: timezone/zic.c:812
+#: timezone/zic.c:795
#, c-format
msgid "%s in ruleless zone"
msgstr ""
-#: timezone/zic.c:833
+#: timezone/zic.c:816
msgid "standard input"
msgstr ""
-#: timezone/zic.c:838
+#: timezone/zic.c:821
#, c-format
msgid "%s: Can't open %s: %s\n"
msgstr ""
-#: timezone/zic.c:849
+#: timezone/zic.c:832
msgid "line too long"
msgstr ""
-#: timezone/zic.c:869
+#: timezone/zic.c:852
msgid "input line of unknown type"
msgstr ""
-#: timezone/zic.c:885
+#: timezone/zic.c:868
#, c-format
msgid "%s: Leap line in non leap seconds file %s\n"
msgstr ""
-#: timezone/zic.c:892 timezone/zic.c:1329 timezone/zic.c:1351
+#: timezone/zic.c:875 timezone/zic.c:1312 timezone/zic.c:1334
#, c-format
msgid "%s: panic: Invalid l_value %d\n"
msgstr ""
-#: timezone/zic.c:900
+#: timezone/zic.c:883
#, c-format
msgid "%s: Error reading %s\n"
msgstr ""
-#: timezone/zic.c:907
+#: timezone/zic.c:890
#, c-format
msgid "%s: Error closing %s: %s\n"
msgstr ""
-#: timezone/zic.c:912
+#: timezone/zic.c:895
msgid "expected continuation line not found"
msgstr ""
-#: timezone/zic.c:956 timezone/zic.c:2489 timezone/zic.c:2508
+#: timezone/zic.c:939 timezone/zic.c:2476 timezone/zic.c:2495
msgid "time overflow"
msgstr ""
-#: timezone/zic.c:960
+#: timezone/zic.c:943
msgid "24:00 not handled by pre-1998 versions of zic"
msgstr ""
-#: timezone/zic.c:963
+#: timezone/zic.c:946
msgid "values over 24 hours not handled by pre-2007 versions of zic"
msgstr ""
-#: timezone/zic.c:976
+#: timezone/zic.c:959
msgid "wrong number of fields on Rule line"
msgstr ""
-#: timezone/zic.c:980
+#: timezone/zic.c:963
msgid "nameless rule"
msgstr ""
-#: timezone/zic.c:985
+#: timezone/zic.c:968
msgid "invalid saved time"
msgstr ""
-#: timezone/zic.c:1006
+#: timezone/zic.c:989
msgid "wrong number of fields on Zone line"
msgstr ""
-#: timezone/zic.c:1012
+#: timezone/zic.c:995
#, c-format
msgid "\"Zone %s\" line and -l option are mutually exclusive"
msgstr ""
-#: timezone/zic.c:1020
+#: timezone/zic.c:1003
#, c-format
msgid "\"Zone %s\" line and -p option are mutually exclusive"
msgstr ""
-#: timezone/zic.c:1032
+#: timezone/zic.c:1015
#, c-format
msgid "duplicate zone name %s (file \"%s\", line %d)"
msgstr ""
-#: timezone/zic.c:1048
+#: timezone/zic.c:1031
msgid "wrong number of fields on Zone continuation line"
msgstr ""
-#: timezone/zic.c:1088
+#: timezone/zic.c:1071
msgid "invalid UTC offset"
msgstr ""
-#: timezone/zic.c:1091
+#: timezone/zic.c:1074
msgid "invalid abbreviation format"
msgstr ""
-#: timezone/zic.c:1120
+#: timezone/zic.c:1103
msgid "Zone continuation line end time is not after end time of previous line"
msgstr ""
-#: timezone/zic.c:1148
+#: timezone/zic.c:1131
msgid "wrong number of fields on Leap line"
msgstr ""
-#: timezone/zic.c:1157
+#: timezone/zic.c:1140
msgid "invalid leaping year"
msgstr ""
-#: timezone/zic.c:1177 timezone/zic.c:1283
+#: timezone/zic.c:1160 timezone/zic.c:1266
msgid "invalid month name"
msgstr ""
-#: timezone/zic.c:1190 timezone/zic.c:1396 timezone/zic.c:1410
+#: timezone/zic.c:1173 timezone/zic.c:1379 timezone/zic.c:1393
msgid "invalid day of month"
msgstr ""
-#: timezone/zic.c:1195
+#: timezone/zic.c:1178
msgid "time before zero"
msgstr ""
-#: timezone/zic.c:1199
+#: timezone/zic.c:1182
msgid "time too small"
msgstr ""
-#: timezone/zic.c:1203
+#: timezone/zic.c:1186
msgid "time too large"
msgstr ""
-#: timezone/zic.c:1207 timezone/zic.c:1312
+#: timezone/zic.c:1190 timezone/zic.c:1295
msgid "invalid time of day"
msgstr ""
-#: timezone/zic.c:1226
+#: timezone/zic.c:1209
msgid "illegal CORRECTION field on Leap line"
msgstr ""
-#: timezone/zic.c:1231
+#: timezone/zic.c:1214
msgid "illegal Rolling/Stationary field on Leap line"
msgstr ""
-#: timezone/zic.c:1247
+#: timezone/zic.c:1230
msgid "wrong number of fields on Link line"
msgstr ""
-#: timezone/zic.c:1251
+#: timezone/zic.c:1234
msgid "blank FROM field on Link line"
msgstr ""
-#: timezone/zic.c:1255
+#: timezone/zic.c:1238
msgid "blank TO field on Link line"
msgstr ""
-#: timezone/zic.c:1333
+#: timezone/zic.c:1316
msgid "invalid starting year"
msgstr ""
-#: timezone/zic.c:1355
+#: timezone/zic.c:1338
msgid "invalid ending year"
msgstr ""
-#: timezone/zic.c:1359
+#: timezone/zic.c:1342
msgid "starting year greater than ending year"
msgstr ""
-#: timezone/zic.c:1366
+#: timezone/zic.c:1349
msgid "typed single year"
msgstr ""
-#: timezone/zic.c:1401
+#: timezone/zic.c:1384
msgid "invalid weekday name"
msgstr ""
-#: timezone/zic.c:1579
+#: timezone/zic.c:1562
#, c-format
msgid "%s: Can't remove %s: %s\n"
msgstr ""
-#: timezone/zic.c:1589
+#: timezone/zic.c:1572
#, c-format
msgid "%s: Can't create %s: %s\n"
msgstr ""
-#: timezone/zic.c:1739
+#: timezone/zic.c:1722
#, c-format
msgid "%s: Error writing %s\n"
msgstr ""
-#: timezone/zic.c:2031
+#: timezone/zic.c:2015
msgid "no POSIX environment variable for zone"
msgstr ""
-#: timezone/zic.c:2185
+#: timezone/zic.c:2172
msgid "can't determine time zone abbreviation to use just after until time"
msgstr ""
-#: timezone/zic.c:2231
+#: timezone/zic.c:2218
msgid "too many transitions?!"
msgstr ""
-#: timezone/zic.c:2250
+#: timezone/zic.c:2237
msgid "internal error - addtype called with bad isdst"
msgstr ""
-#: timezone/zic.c:2254
+#: timezone/zic.c:2241
msgid "internal error - addtype called with bad ttisstd"
msgstr ""
-#: timezone/zic.c:2258
+#: timezone/zic.c:2245
msgid "internal error - addtype called with bad ttisgmt"
msgstr ""
-#: timezone/zic.c:2277
+#: timezone/zic.c:2264
msgid "too many local time types"
msgstr ""
-#: timezone/zic.c:2281
+#: timezone/zic.c:2268
msgid "UTC offset out of range"
msgstr ""
-#: timezone/zic.c:2309
+#: timezone/zic.c:2296
msgid "too many leap seconds"
msgstr ""
-#: timezone/zic.c:2315
+#: timezone/zic.c:2302
msgid "repeated leap second moment"
msgstr ""
-#: timezone/zic.c:2367
+#: timezone/zic.c:2354
msgid "Wild result from command execution"
msgstr ""
-#: timezone/zic.c:2368
+#: timezone/zic.c:2355
#, c-format
msgid "%s: command was '%s', result was %d\n"
msgstr ""
-#: timezone/zic.c:2466
+#: timezone/zic.c:2453
msgid "Odd number of quotation marks"
msgstr ""
-#: timezone/zic.c:2555
+#: timezone/zic.c:2542
msgid "use of 2/29 in non leap-year"
msgstr ""
-#: timezone/zic.c:2590
+#: timezone/zic.c:2577
msgid ""
"rule goes past start/end of month--will not work with pre-2004 versions of "
"zic"
msgstr ""
-#: timezone/zic.c:2622
+#: timezone/zic.c:2609
msgid "time zone abbreviation lacks alphabetic at start"
msgstr ""
-#: timezone/zic.c:2624
+#: timezone/zic.c:2611
msgid "time zone abbreviation has more than 3 alphabetics"
msgstr ""
-#: timezone/zic.c:2626
+#: timezone/zic.c:2613
msgid "time zone abbreviation has too many alphabetics"
msgstr ""
-#: timezone/zic.c:2636
+#: timezone/zic.c:2623
msgid "time zone abbreviation differs from POSIX standard"
msgstr ""
-#: timezone/zic.c:2648
+#: timezone/zic.c:2635
msgid "too many, or too long, time zone abbreviations"
msgstr ""
-#: timezone/zic.c:2689
+#: timezone/zic.c:2676
#, c-format
msgid "%s: Can't create directory %s: %s\n"
msgstr ""
-#: timezone/zic.c:2711
+#: timezone/zic.c:2698
#, c-format
msgid "%s: %d did not sign extend correctly\n"
msgstr ""
diff --git a/libc/po/lt.po b/libc/po/lt.po
index 516a93bd6..76b35b9d2 100644
--- a/libc/po/lt.po
+++ b/libc/po/lt.po
@@ -7,7 +7,7 @@ msgid ""
msgstr ""
"Project-Id-Version: libc-2.7\n"
"POT-Creation-Date: 2007-10-15 21:18-0700\n"
-"PO-Revision-Date: 2008-10-28 01:02+0200\n"
+"PO-Revision-Date: 2009-02-12 05:24+0200\n"
"Last-Translator: Gintautas Miliauskas <gintas@akl.lt>\n"
"Language-Team: Lithuanian <komp_lt@konferencijos.lt>\n"
"MIME-Version: 1.0\n"
@@ -19,7 +19,7 @@ msgstr ""
#: argp/argp-help.c:228
#, c-format
msgid "%.*s: ARGP_HELP_FMT parameter requires a value"
-msgstr "%.*s: ARGP_HELP_FMT parametrui rekia reikšmės"
+msgstr "%.*s: ARGP_HELP_FMT parametrui reikia reikšmės"
#: argp/argp-help.c:238
#, c-format
@@ -70,7 +70,6 @@ msgid "Set the program name"
msgstr "Nustatyti programos pavadinimą"
#: argp/argp-parse.c:106
-#, fuzzy
msgid "Hang for SECS seconds (default 3600)"
msgstr "Laukti SEK sekundžių (standartiškai 3600)"
@@ -80,7 +79,7 @@ msgstr "Išspausdinti programos versiją"
#: argp/argp-parse.c:183
msgid "(PROGRAM ERROR) No version known!?"
-msgstr "(PROGRAM ERROR) Nežinoma joka versija!?"
+msgstr "(PROGRAM ERROR) Nežinoma jokia versija!?"
#: argp/argp-parse.c:623
#, c-format
@@ -88,9 +87,8 @@ msgid "%s: Too many arguments\n"
msgstr "%s: Per daug argumentų\n"
#: argp/argp-parse.c:766
-#, fuzzy
msgid "(PROGRAM ERROR) Option should have been recognized!?"
-msgstr "(PROGRAM ERROR) Nežinoma joka versija!?"
+msgstr "(PROGRAM ERROR) Parametras turėjo būti atpažintas!?"
#: assert/assert-perr.c:57
#, c-format
@@ -190,7 +188,6 @@ msgid "unknown set `%s'"
msgstr "nežinomas rinkinys „%s“"
#: catgets/gencat.c:563
-#, fuzzy
msgid "invalid quote character"
msgstr "netaisyklingas kabučių simbolis"
@@ -208,12 +205,10 @@ msgid "duplicated message identifier"
msgstr "pakartotas pranešimo identifikatorius"
#: catgets/gencat.c:731
-#, fuzzy
msgid "invalid character: message ignored"
msgstr "netaisyklingas simbolis: pranešimas ignoruotas"
#: catgets/gencat.c:774
-#, fuzzy
msgid "invalid line"
msgstr "nekorektiška eilutė"
@@ -222,9 +217,9 @@ msgid "malformed line ignored"
msgstr "nekorektiška eilutė ignoruota"
#: catgets/gencat.c:992 catgets/gencat.c:1033 nss/makedb.c:183
-#, fuzzy, c-format
+#, c-format
msgid "cannot open output file `%s'"
-msgstr "%s: nepavyko atverti laikinojo failo: %s"
+msgstr "nepavyko atverti išvedimo failo: „%s“"
#: catgets/gencat.c:1195 locale/programs/linereader.c:560
#, fuzzy
@@ -263,9 +258,9 @@ msgid "[FILE]"
msgstr "[FAILAS]"
#: debug/pcprofiledump.c:104
-#, fuzzy, c-format
+#, c-format
msgid "cannot open input file"
-msgstr "%s: nepavyko atverti laikinojo failo: %s"
+msgstr "nepavyko atverti įvedimo failo"
#: debug/pcprofiledump.c:111
#, c-format
@@ -350,9 +345,8 @@ msgid "invalid mode parameter"
msgstr "netaisyklinga veiksena"
#: elf/cache.c:69
-#, fuzzy
msgid "unknown"
-msgstr "%s: adresas nežinomas"
+msgstr "nežinoma"
#: elf/cache.c:112
msgid "Unknown OS"
@@ -401,7 +395,7 @@ msgstr "%s pervardinimas į %s nesėkmingas"
#: elf/cache.c:440
#, c-format
msgid "Renaming of %s to %s failed"
-msgstr "%s pervardinimas į %s nesėkmingas"
+msgstr "%s pervadinimas į %s nesėkmingas"
#: elf/dl-close.c:378 elf/dl-open.c:460
#, fuzzy
@@ -573,14 +567,12 @@ msgid "invalid ELF header"
msgstr "netaisyklinga ELF antraštė"
#: elf/dl-load.c:1697
-#, fuzzy
msgid "ELF file data encoding not big-endian"
msgstr "ELF failo duomenų koduotė ne big-endian"
#: elf/dl-load.c:1699
-#, fuzzy
msgid "ELF file data encoding not little-endian"
-msgstr "ELF failo duomenų koduotė ne big-endian"
+msgstr "ELF failo duomenų koduotė ne little-endian"
#: elf/dl-load.c:1703
msgid "ELF file version ident does not match current one"
@@ -592,7 +584,7 @@ msgstr "ELF failo OS ABI netaisyklingas"
#: elf/dl-load.c:1709
msgid "ELF file ABI version invalid"
-msgstr "ELF failo ABI versioja netaisyklinga"
+msgstr "ELF failo ABI versija netaisyklinga"
#: elf/dl-load.c:1712
msgid "internal error"
@@ -619,7 +611,6 @@ msgid "wrong ELF class: ELFCLASS32"
msgstr "klaidinga ELF klasė: ELFCLASS32"
#: elf/dl-load.c:2244
-#, fuzzy
msgid "cannot open shared object file"
msgstr "nepavyko atverti bendrojo objekto failo"
@@ -640,7 +631,6 @@ msgid "TLS generation counter wrapped! Please report this."
msgstr "TLS kartų skaitiklis persivertė! Prašytume apie tai pranešti."
#: elf/dl-open.c:549
-#, fuzzy
msgid "invalid mode for dlopen()"
msgstr "netaisyklinga veiksena dlopen()"
@@ -764,9 +754,9 @@ msgid "Configure Dynamic Linker Run Time Bindings."
msgstr ""
#: elf/ldconfig.c:319
-#, fuzzy, c-format
+#, c-format
msgid "Path `%s' given more than once"
-msgstr "%s: laukas „%s“ apibrėžtas daugiau negu vieną kartą"
+msgstr "Kelias „%s“ nurodytas daugiau negu vieną kartą"
#: elf/ldconfig.c:359
#, c-format
@@ -784,9 +774,9 @@ msgid "Can't stat %s\n"
msgstr "Nepavyko susaistyti (link) %s su %s"
#: elf/ldconfig.c:468
-#, fuzzy, c-format
+#, c-format
msgid "%s is not a symbolic link\n"
-msgstr "simbolinė nuoroda"
+msgstr "%s nėra simbolinė nuoroda\n"
#: elf/ldconfig.c:487
#, fuzzy, c-format
@@ -817,9 +807,9 @@ msgid "Cannot lstat %s"
msgstr "%s: nepavyko perskaityti: %s"
#: elf/ldconfig.c:579
-#, fuzzy, c-format
+#, c-format
msgid "Ignored file %s since it is not a regular file."
-msgstr "ne paprastas failas"
+msgstr "Failas %s praleistas, nes tai nėra paprastas failas"
#: elf/ldconfig.c:588
#, c-format
@@ -837,9 +827,9 @@ msgid "Cannot stat %s"
msgstr "%s: nepavyko perskaityti: %s"
#: elf/ldconfig.c:814 elf/readlib.c:91
-#, fuzzy, c-format
+#, c-format
msgid "Input file %s not found.\n"
-msgstr "Duomenų failas %s nerastas.\n"
+msgstr "Įvedimo failas %s nerastas.\n"
#: elf/ldconfig.c:888
#, c-format
@@ -898,9 +888,9 @@ msgid "memory exhausted"
msgstr "baigėsi atmintis"
#: elf/ldconfig.c:1178
-#, fuzzy, c-format
+#, c-format
msgid "%s:%u: cannot read directory %s"
-msgstr "nepavyko atverti aplanko %s"
+msgstr "%s:%u: nepavyko atverti aplanko %s"
#: elf/ldconfig.c:1223
#, c-format
@@ -959,9 +949,8 @@ msgid "No such file or directory"
msgstr "Toks failas ar aplankas neegzistuoja"
#: elf/ldd.bash.in:151 inet/rcmd.c:483
-#, fuzzy
msgid "not regular file"
-msgstr "paprastas failas"
+msgstr "ne paprastas failas"
#: elf/ldd.bash.in:154
msgid "warning: you do not have execution permission for"
@@ -1558,9 +1547,9 @@ msgstr "%s: klaida būsenų automate"
#: locale/programs/ld-numeric.c:384 locale/programs/ld-paper.c:257
#: locale/programs/ld-telephone.c:329 locale/programs/ld-time.c:1237
#: locale/programs/locfile.c:826 locale/programs/repertoire.c:324
-#, fuzzy, c-format
+#, c-format
msgid "%s: premature end of file"
-msgstr "%s: failo pabaiga"
+msgstr "%s: ankstyva failo pabaiga"
#: locale/programs/charmap.c:869 locale/programs/charmap.c:880
#, c-format
@@ -5839,7 +5828,7 @@ msgstr "Kanalo numeris už ribų"
#: sysdeps/gnu/errlist.c:1117
msgid "Level 2 not synchronized"
-msgstr "2 lygmuo nesinchonizuotas"
+msgstr "2 lygmuo nesinchronizuotas"
#: sysdeps/gnu/errlist.c:1125
msgid "Level 3 halted"
diff --git a/libc/posix/Makefile b/libc/posix/Makefile
index 5bf02ff0d..40631c525 100644
--- a/libc/posix/Makefile
+++ b/libc/posix/Makefile
@@ -1,4 +1,4 @@
-# Copyright (C) 1991-1999, 2000-2006, 2007 Free Software Foundation, Inc.
+# Copyright (C) 1991-1999, 2000-2006, 2007, 2009 Free Software Foundation, Inc.
# This file is part of the GNU C Library.
# The GNU C Library is free software; you can redistribute it and/or
@@ -357,7 +357,7 @@ getconf-cmd = $(objpfx)cross-getconf
# Get configuration defines for cross-getconf by preprocessing confstr.c.
$(objpfx)cross-getconf.h: confstr.c
- $(compile.c) -E -dM -o - | grep "define _POSIX_V6_ILP32_OFF32\|define _POSIX_V6_ILP32_OFFBIG\|define _POSIX_V6_LP64_OFF64\|define _POSIX_V6_LPBIG_OFFBIG" > $(objpfx)cross-getconf.h
+ $(compile.c) -E -dM -o - | grep "define _POSIX_V7_ILP32_OFF32\|define _POSIX_V7_ILP32_OFFBIG\|define _POSIX_V7_LP64_OFF64\|define _POSIX_V7_LPBIG_OFFBIG|_POSIX_V6_ILP32_OFF32\|define _POSIX_V6_ILP32_OFFBIG\|define _POSIX_V6_LP64_OFF64\|define _POSIX_V6_LPBIG_OFFBIG|_XBS5_ILP32_OFF32\|define _XBS5_ILP32_OFFBIG\|define _XBS5_LP64_OFF64\|define _XBS5_LPBIG_OFFBIG" > $(objpfx)cross-getconf.h
cross-getconf-CFLAGS = -O -I$(objpfx)
@@ -367,6 +367,10 @@ endif
$(objpfx)getconf.speclist: $(getconf-dep)
LC_ALL=C GETCONF_DIR=/dev/null \
- $(getconf-cmd) _POSIX_V6_WIDTH_RESTRICTED_ENVS > $@.new
+ $(getconf-cmd) _POSIX_V7_WIDTH_RESTRICTED_ENVS > $@.new
+ LC_ALL=C GETCONF_DIR=/dev/null \
+ $(getconf-cmd) _POSIX_V6_WIDTH_RESTRICTED_ENVS >> $@.new
+ LC_ALL=C GETCONF_DIR=/dev/null \
+ $(getconf-cmd) _XBS5_WIDTH_RESTRICTED_ENVS >> $@.new
mv -f $@.new $@
# eglibc: end.
diff --git a/libc/posix/confstr.c b/libc/posix/confstr.c
index 78fb4e136..91cd144ed 100644
--- a/libc/posix/confstr.c
+++ b/libc/posix/confstr.c
@@ -1,5 +1,4 @@
-/* Copyright (C) 1991, 1996, 1997, 2000-2002, 2003, 2004
- Free Software Foundation, Inc.
+/* Copyright (C) 1991,1996,1997,2000-2004,2009 Free Software Foundation, Inc.
This file is part of the GNU C Library.
The GNU C Library is free software; you can redistribute it and/or
@@ -46,19 +45,18 @@ confstr (name, buf, len)
}
break;
- case _CS_V6_WIDTH_RESTRICTED_ENVS:
/* eglibc: We share code in confstr.inc with cross-getconf.c. */
#include "confstr.inc"
/* eglibc: end. */
- break;
case _CS_XBS5_ILP32_OFF32_CFLAGS:
case _CS_POSIX_V6_ILP32_OFF32_CFLAGS:
+ case _CS_POSIX_V7_ILP32_OFF32_CFLAGS:
#ifdef __ILP32_OFF32_CFLAGS
-# if _POSIX_V6_ILP32_OFF32 == -1
+# if _POSIX_V7_ILP32_OFF32 == -1
# error "__ILP32_OFF32_CFLAGS should not be defined"
-# elif !defined _POSIX_V6_ILP32_OFF32
- if (__sysconf (_SC_V6_ILP32_OFF32) < 0)
+# elif !defined _POSIX_V7_ILP32_OFF32
+ if (__sysconf (_SC_V7_ILP32_OFF32) < 0)
break;
# endif
string = __ILP32_OFF32_CFLAGS;
@@ -68,11 +66,12 @@ confstr (name, buf, len)
case _CS_XBS5_ILP32_OFFBIG_CFLAGS:
case _CS_POSIX_V6_ILP32_OFFBIG_CFLAGS:
+ case _CS_POSIX_V7_ILP32_OFFBIG_CFLAGS:
#ifdef __ILP32_OFFBIG_CFLAGS
-# if _POSIX_V6_ILP32_OFFBIG == -1
+# if _POSIX_V7_ILP32_OFFBIG == -1
# error "__ILP32_OFFBIG_CFLAGS should not be defined"
-# elif !defined _POSIX_V6_ILP32_OFFBIG
- if (__sysconf (_SC_V6_ILP32_OFFBIG) < 0)
+# elif !defined _POSIX_V7_ILP32_OFFBIG
+ if (__sysconf (_SC_V7_ILP32_OFFBIG) < 0)
break;
# endif
string = __ILP32_OFFBIG_CFLAGS;
@@ -82,11 +81,12 @@ confstr (name, buf, len)
case _CS_XBS5_LP64_OFF64_CFLAGS:
case _CS_POSIX_V6_LP64_OFF64_CFLAGS:
+ case _CS_POSIX_V7_LP64_OFF64_CFLAGS:
#ifdef __LP64_OFF64_CFLAGS
-# if _POSIX_V6_LP64_OFF64 == -1
+# if _POSIX_V7_LP64_OFF64 == -1
# error "__LP64_OFF64_CFLAGS should not be defined"
-# elif !defined _POSIX_V6_LP64_OFF64
- if (__sysconf (_SC_V6_LP64_OFF64) < 0)
+# elif !defined _POSIX_V7_LP64_OFF64
+ if (__sysconf (_SC_V7_LP64_OFF64) < 0)
break;
# endif
string = __LP64_OFF64_CFLAGS;
@@ -96,11 +96,12 @@ confstr (name, buf, len)
case _CS_XBS5_ILP32_OFF32_LDFLAGS:
case _CS_POSIX_V6_ILP32_OFF32_LDFLAGS:
+ case _CS_POSIX_V7_ILP32_OFF32_LDFLAGS:
#ifdef __ILP32_OFF32_LDFLAGS
-# if _POSIX_V6_ILP32_OFF32 == -1
+# if _POSIX_V7_ILP32_OFF32 == -1
# error "__ILP32_OFF32_LDFLAGS should not be defined"
-# elif !defined _POSIX_V6_ILP32_OFF32
- if (__sysconf (_SC_V6_ILP32_OFF32) < 0)
+# elif !defined _POSIX_V7_ILP32_OFF32
+ if (__sysconf (_SC_V7_ILP32_OFF32) < 0)
break;
# endif
string = __ILP32_OFF32_LDFLAGS;
@@ -110,11 +111,12 @@ confstr (name, buf, len)
case _CS_XBS5_ILP32_OFFBIG_LDFLAGS:
case _CS_POSIX_V6_ILP32_OFFBIG_LDFLAGS:
+ case _CS_POSIX_V7_ILP32_OFFBIG_LDFLAGS:
#ifdef __ILP32_OFFBIG_LDFLAGS
-# if _POSIX_V6_ILP32_OFFBIG == -1
+# if _POSIX_V7_ILP32_OFFBIG == -1
# error "__ILP32_OFFBIG_LDFLAGS should not be defined"
-# elif !defined _POSIX_V6_ILP32_OFFBIG
- if (__sysconf (_SC_V6_ILP32_OFFBIG) < 0)
+# elif !defined _POSIX_V7_ILP32_OFFBIG
+ if (__sysconf (_SC_V7_ILP32_OFFBIG) < 0)
break;
# endif
string = __ILP32_OFFBIG_LDFLAGS;
@@ -124,11 +126,12 @@ confstr (name, buf, len)
case _CS_XBS5_LP64_OFF64_LDFLAGS:
case _CS_POSIX_V6_LP64_OFF64_LDFLAGS:
+ case _CS_POSIX_V7_LP64_OFF64_LDFLAGS:
#ifdef __LP64_OFF64_LDFLAGS
-# if _POSIX_V6_LP64_OFF64 == -1
+# if _POSIX_V7_LP64_OFF64 == -1
# error "__LP64_OFF64_LDFLAGS should not be defined"
-# elif !defined _POSIX_V6_LP64_OFF64
- if (__sysconf (_SC_V6_LP64_OFF64) < 0)
+# elif !defined _POSIX_V7_LP64_OFF64
+ if (__sysconf (_SC_V7_LP64_OFF64) < 0)
break;
# endif
string = __LP64_OFF64_LDFLAGS;
@@ -184,6 +187,17 @@ confstr (name, buf, len)
case _CS_POSIX_V6_LPBIG_OFFBIG_LDFLAGS:
case _CS_POSIX_V6_LPBIG_OFFBIG_LIBS:
case _CS_POSIX_V6_LPBIG_OFFBIG_LINTFLAGS:
+
+ case _CS_POSIX_V7_ILP32_OFF32_LIBS:
+ case _CS_POSIX_V7_ILP32_OFF32_LINTFLAGS:
+ case _CS_POSIX_V7_ILP32_OFFBIG_LIBS:
+ case _CS_POSIX_V7_ILP32_OFFBIG_LINTFLAGS:
+ case _CS_POSIX_V7_LP64_OFF64_LIBS:
+ case _CS_POSIX_V7_LP64_OFF64_LINTFLAGS:
+ case _CS_POSIX_V7_LPBIG_OFFBIG_CFLAGS:
+ case _CS_POSIX_V7_LPBIG_OFFBIG_LDFLAGS:
+ case _CS_POSIX_V7_LPBIG_OFFBIG_LIBS:
+ case _CS_POSIX_V7_LPBIG_OFFBIG_LINTFLAGS:
/* GNU libc does not require special actions to use LFS functions. */
break;
diff --git a/libc/posix/confstr.inc b/libc/posix/confstr.inc
index 90fe4e3cd..d046edb1a 100644
--- a/libc/posix/confstr.inc
+++ b/libc/posix/confstr.inc
@@ -20,6 +20,70 @@
/* eglibc: The following piece of code was extracted from
confstr.c to share it with cross-getconf.c. */
+ case _CS_V7_WIDTH_RESTRICTED_ENVS:
+ /* We have to return a newline-separated list of named of
+ programming environements in which the widths of blksize_t,
+ cc_t, mode_t, nfds_t, pid_t, ptrdiff_t, size_t, speed_t,
+ ssize_t, suseconds_t, tcflag_t, useconds_t, wchar_t, and
+ wint_t types are no greater than the width of type long.
+
+ Currently this means all environment which the system allows. */
+ {
+ char restenvs[4 * sizeof "POSIX_V7_LPBIG_OFFBIG"];
+
+ string_len = 0;
+#ifndef _POSIX_V7_ILP32_OFF32
+ if (__sysconf (_SC_V7_ILP32_OFF32) > 0)
+#endif
+#if !defined _POSIX_V7_ILP32_OFF32 || _POSIX_V7_ILP32_OFF32 > 0
+ {
+ memcpy (restenvs + string_len, "POSIX_V7_ILP32_OFF32",
+ sizeof "POSIX_V7_ILP32_OFF32" - 1);
+ string_len += sizeof "POSIX_V7_ILP32_OFF32" - 1;
+ }
+#endif
+#ifndef _POSIX_V7_ILP32_OFFBIG
+ if (__sysconf (_SC_V7_ILP32_OFFBIG) > 0)
+#endif
+#if !defined _POSIX_V7_ILP32_OFFBIG || _POSIX_V7_ILP32_OFFBIG > 0
+ {
+ if (string_len)
+ restenvs[string_len++] = '\n';
+ memcpy (restenvs + string_len, "POSIX_V7_ILP32_OFFBIG",
+ sizeof "POSIX_V7_ILP32_OFFBIG" - 1);
+ string_len += sizeof "POSIX_V7_ILP32_OFFBIG" - 1;
+ }
+#endif
+#ifndef _POSIX_V7_LP64_OFF64
+ if (__sysconf (_SC_V7_LP64_OFF64) > 0)
+#endif
+#if !defined _POSIX_V7_LP64_OFF64 || _POSIX_V7_LP64_OFF64 > 0
+ {
+ if (string_len)
+ restenvs[string_len++] = '\n';
+ memcpy (restenvs + string_len, "POSIX_V7_LP64_OFF64",
+ sizeof "POSIX_V7_LP64_OFF64" - 1);
+ string_len += sizeof "POSIX_V7_LP64_OFF64" - 1;
+ }
+#endif
+#ifndef _POSIX_V7_LPBIG_OFFBIG
+ if (__sysconf (_SC_V7_LPBIG_OFFBIG) > 0)
+#endif
+#if !defined _POSIX_V7_LPBIG_OFFBIG || _POSIX_V7_LPBIG_OFFBIG > 0
+ {
+ if (string_len)
+ restenvs[string_len++] = '\n';
+ memcpy (restenvs + string_len, "POSIX_V7_LPBIG_OFFBIG",
+ sizeof "POSIX_V7_LPBIG_OFFBIG" - 1);
+ string_len += sizeof "POSIX_V7_LPBIG_OFFBIG" - 1;
+ }
+#endif
+ restenvs[string_len++] = '\0';
+ string = restenvs;
+ }
+ break;
+
+ case _CS_V6_WIDTH_RESTRICTED_ENVS:
/* We have to return a newline-separated list of named of
programming environements in which the widths of blksize_t,
cc_t, mode_t, nfds_t, pid_t, ptrdiff_t, size_t, speed_t,
@@ -80,3 +144,67 @@
restenvs[string_len++] = '\0';
string = restenvs;
}
+ break;
+
+ case _CS_V5_WIDTH_RESTRICTED_ENVS:
+ /* We have to return a newline-separated list of named of
+ programming environements in which the widths of blksize_t,
+ cc_t, mode_t, nfds_t, pid_t, ptrdiff_t, size_t, speed_t,
+ ssize_t, suseconds_t, tcflag_t, useconds_t, wchar_t, and
+ wint_t types are no greater than the width of type long.
+
+ Currently this means all environment which the system allows. */
+ {
+ char restenvs[4 * sizeof "XBS5_LPBIG_OFFBIG"];
+
+ string_len = 0;
+#ifndef _XBS5_ILP32_OFF32
+ if (__sysconf (_SC_XBS5_ILP32_OFF32) > 0)
+#endif
+#if !defined _XBS5_ILP32_OFF32 || _XBS5_ILP32_OFF32 > 0
+ {
+ memcpy (restenvs + string_len, "XBS5_ILP32_OFF32",
+ sizeof "XBS5_ILP32_OFF32" - 1);
+ string_len += sizeof "XBS5_ILP32_OFF32" - 1;
+ }
+#endif
+#ifndef _XBS5_ILP32_OFFBIG
+ if (__sysconf (_SC_XBS5_ILP32_OFFBIG) > 0)
+#endif
+#if !defined _XBS5_ILP32_OFFBIG || _XBS5_ILP32_OFFBIG > 0
+ {
+ if (string_len)
+ restenvs[string_len++] = '\n';
+ memcpy (restenvs + string_len, "XBS5_ILP32_OFFBIG",
+ sizeof "XBS5_ILP32_OFFBIG" - 1);
+ string_len += sizeof "XBS5_ILP32_OFFBIG" - 1;
+ }
+#endif
+#ifndef _XBS5_LP64_OFF64
+ if (__sysconf (_SC_XBS5_LP64_OFF64) > 0)
+#endif
+#if !defined _XBS5_LP64_OFF64 || _XBS5_LP64_OFF64 > 0
+ {
+ if (string_len)
+ restenvs[string_len++] = '\n';
+ memcpy (restenvs + string_len, "XBS5_LP64_OFF64",
+ sizeof "XBS5_LP64_OFF64" - 1);
+ string_len += sizeof "XBS5_LP64_OFF64" - 1;
+ }
+#endif
+#ifndef _XBS5_LPBIG_OFFBIG
+ if (__sysconf (_SC_XBS5_LPBIG_OFFBIG) > 0)
+#endif
+#if !defined _XBS5_LPBIG_OFFBIG || _XBS5_LPBIG_OFFBIG > 0
+ {
+ if (string_len)
+ restenvs[string_len++] = '\n';
+ memcpy (restenvs + string_len, "XBS5_LPBIG_OFFBIG",
+ sizeof "XBS5_LPBIG_OFFBIG" - 1);
+ string_len += sizeof "XBS5_LPBIG_OFFBIG" - 1;
+ }
+#endif
+ restenvs[string_len++] = '\0';
+ string = restenvs;
+ }
+ break;
diff --git a/libc/posix/cross-getconf.c b/libc/posix/cross-getconf.c
index 9b9f3c66e..dd7eb333e 100644
--- a/libc/posix/cross-getconf.c
+++ b/libc/posix/cross-getconf.c
@@ -20,15 +20,35 @@
#include <string.h>
/* Undefine macros that should be defined in cross-getconf.h. */
+#undef _POSIX_V7_ILP32_OFF32
+#undef _POSIX_V7_ILP32_OFFBIG
+#undef _POSIX_V7_LP64_OFF64
+#undef _POSIX_V7_LPBIG_OFFBIG
#undef _POSIX_V6_ILP32_OFF32
#undef _POSIX_V6_ILP32_OFFBIG
#undef _POSIX_V6_LP64_OFF64
#undef _POSIX_V6_LPBIG_OFFBIG
+#undef _XBS5_ILP32_OFF32
+#undef _XBS5_ILP32_OFFBIG
+#undef _XBS5_LP64_OFF64
+#undef _XBS5_LPBIG_OFFBIG
#include "cross-getconf.h"
/* Define macros cross-getconf.h doesn't define to (-1).
This will prevent using host's __sysconf in confstr.inc. */
+#ifndef _POSIX_V7_ILP32_OFF32
+# define _POSIX_V7_ILP32_OFF32 (-1)
+#endif
+#ifndef _POSIX_V7_ILP32_OFFBIG
+# define _POSIX_V7_ILP32_OFFBIG (-1)
+#endif
+#ifndef _POSIX_V7_LP64_OFF64
+# define _POSIX_V7_LP64_OFF64 (-1)
+#endif
+#ifndef _POSIX_V7_LPBIG_OFFBIG
+# define _POSIX_V7_LPBIG_OFFBIG (-1)
+#endif
#ifndef _POSIX_V6_ILP32_OFF32
# define _POSIX_V6_ILP32_OFF32 (-1)
#endif
@@ -41,18 +61,33 @@
#ifndef _POSIX_V6_LPBIG_OFFBIG
# define _POSIX_V6_LPBIG_OFFBIG (-1)
#endif
+#ifndef _XBS5_ILP32_OFF32
+# define _XBS5_ILP32_OFF32 (-1)
+#endif
+#ifndef _XBS5_ILP32_OFFBIG
+# define _XBS5_ILP32_OFFBIG (-1)
+#endif
+#ifndef _XBS5_LP64_OFF64
+# define _XBS5_LP64_OFF64 (-1)
+#endif
+#ifndef _XBS5_LPBIG_OFFBIG
+# define _XBS5_LPBIG_OFFBIG (-1)
+#endif
/* Cross-getconf is a very simple program that assumes fixed
input and produces fixed output. It handles only cases
that are necessary to cross-compile EGLIBC. */
void
-cross_getconf (void)
+cross_getconf (int name)
{
const char *string = "";
size_t string_len = 1;
+ switch (name)
+ {
#include "confstr.inc"
+ }
printf ("%.*s\n", (int) string_len, string);
}
@@ -62,11 +97,10 @@ main (int argc, char *argv[])
{
const char *getconf_dir;
- if (argc != 2 || strcmp (argv[1], "_POSIX_V6_WIDTH_RESTRICTED_ENVS") != 0)
+ if (argc != 2)
{
fprintf (stderr,
- "%s: the only supported argument value is "
- "_POSIX_V6_WIDTH_RESTRICTED_ENVS", argv[0]);
+ "%s: must be called with exactly one argument\n", argv[0]);
return 1;
}
@@ -78,6 +112,20 @@ main (int argc, char *argv[])
return 1;
}
- cross_getconf ();
+ if (strcmp (argv[1], "_POSIX_V7_WIDTH_RESTRICTED_ENVS") == 0)
+ cross_getconf (_CS_V7_WIDTH_RESTRICTED_ENVS);
+ else if (strcmp (argv[1], "_POSIX_V6_WIDTH_RESTRICTED_ENVS") == 0)
+ cross_getconf (_CS_V6_WIDTH_RESTRICTED_ENVS);
+ else if (strcmp (argv[1], "_XBS5_WIDTH_RESTRICTED_ENVS") == 0)
+ cross_getconf (_CS_V5_WIDTH_RESTRICTED_ENVS);
+ else
+ {
+ fprintf (stderr,
+ "%s: the only supported arguments value are "
+ "_POSIX_V7_WIDTH_RESTRICTED_ENVS, "
+ "_POSIX_V6_WIDTH_RESTRICTED_ENVS, and "
+ "_XBS5_WIDTH_RESTRICTED_ENVS\n", argv[0]);
+ return 1;
+ }
return 0;
}
diff --git a/libc/posix/getconf.c b/libc/posix/getconf.c
index 5e5ee1af5..623eed1a9 100644
--- a/libc/posix/getconf.c
+++ b/libc/posix/getconf.c
@@ -528,6 +528,11 @@ static const struct conf vars[] =
#endif
/* Programming environments. */
+#ifdef _CS_V5_WIDTH_RESTRICTED_ENVS
+ { "_XBS5_WIDTH_RESTRICTED_ENVS", _CS_V5_WIDTH_RESTRICTED_ENVS, CONFSTR },
+ { "XBS5_WIDTH_RESTRICTED_ENVS", _CS_V5_WIDTH_RESTRICTED_ENVS, CONFSTR },
+#endif
+
#ifdef _SC_XBS5_ILP32_OFF32
{ "_XBS5_ILP32_OFF32", _SC_XBS5_ILP32_OFF32, SYSCONF },
#endif
@@ -661,6 +666,75 @@ static const struct conf vars[] =
{ "POSIX_V6_LPBIG_OFFBIG_LINTFLAGS", _CS_POSIX_V6_LPBIG_OFFBIG_LINTFLAGS, CONFSTR },
#endif
+#ifdef _SC_V7_ILP32_OFF32
+ { "_POSIX_V7_ILP32_OFF32", _SC_V7_ILP32_OFF32, SYSCONF },
+#endif
+#ifdef _CS_POSIX_V7_ILP32_OFF32_CFLAGS
+ { "POSIX_V7_ILP32_OFF32_CFLAGS", _CS_POSIX_V7_ILP32_OFF32_CFLAGS, CONFSTR },
+#endif
+#ifdef _CS_POSIX_V7_ILP32_OFF32_LDFLAGS
+ { "POSIX_V7_ILP32_OFF32_LDFLAGS", _CS_POSIX_V7_ILP32_OFF32_LDFLAGS, CONFSTR },
+#endif
+#ifdef _CS_POSIX_V7_ILP32_OFF32_LIBS
+ { "POSIX_V7_ILP32_OFF32_LIBS", _CS_POSIX_V7_ILP32_OFF32_LIBS, CONFSTR },
+#endif
+#ifdef _CS_POSIX_V7_ILP32_OFF32_LINTFLAGS
+ { "POSIX_V7_ILP32_OFF32_LINTFLAGS", _CS_POSIX_V7_ILP32_OFF32_LINTFLAGS, CONFSTR },
+#endif
+
+#ifdef _CS_V7_WIDTH_RESTRICTED_ENVS
+ { "_POSIX_V7_WIDTH_RESTRICTED_ENVS", _CS_V7_WIDTH_RESTRICTED_ENVS, CONFSTR },
+ { "POSIX_V7_WIDTH_RESTRICTED_ENVS", _CS_V7_WIDTH_RESTRICTED_ENVS, CONFSTR },
+#endif
+
+#ifdef _SC_V7_ILP32_OFFBIG
+ { "_POSIX_V7_ILP32_OFFBIG", _SC_V7_ILP32_OFFBIG, SYSCONF },
+#endif
+#ifdef _CS_POSIX_V7_ILP32_OFFBIG_CFLAGS
+ { "POSIX_V7_ILP32_OFFBIG_CFLAGS", _CS_POSIX_V7_ILP32_OFFBIG_CFLAGS, CONFSTR },
+#endif
+#ifdef _CS_POSIX_V7_ILP32_OFFBIG_LDFLAGS
+ { "POSIX_V7_ILP32_OFFBIG_LDFLAGS", _CS_POSIX_V7_ILP32_OFFBIG_LDFLAGS, CONFSTR },
+#endif
+#ifdef _CS_POSIX_V7_ILP32_OFFBIG_LIBS
+ { "POSIX_V7_ILP32_OFFBIG_LIBS", _CS_POSIX_V7_ILP32_OFFBIG_LIBS, CONFSTR },
+#endif
+#ifdef _CS_POSIX_V7_ILP32_OFFBIG_LINTFLAGS
+ { "POSIX_V7_ILP32_OFFBIG_LINTFLAGS", _CS_POSIX_V7_ILP32_OFFBIG_LINTFLAGS, CONFSTR },
+#endif
+
+#ifdef _SC_V7_LP64_OFF64
+ { "_POSIX_V7_LP64_OFF64", _SC_V7_LP64_OFF64, SYSCONF },
+#endif
+#ifdef _CS_POSIX_V7_LP64_OFF64_CFLAGS
+ { "POSIX_V7_LP64_OFF64_CFLAGS", _CS_POSIX_V7_LP64_OFF64_CFLAGS, CONFSTR },
+#endif
+#ifdef _CS_POSIX_V7_LP64_OFF64_LDFLAGS
+ { "POSIX_V7_LP64_OFF64_LDFLAGS", _CS_POSIX_V7_LP64_OFF64_LDFLAGS, CONFSTR },
+#endif
+#ifdef _CS_POSIX_V7_LP64_OFF64_LIBS
+ { "POSIX_V7_LP64_OFF64_LIBS", _CS_POSIX_V7_LP64_OFF64_LIBS, CONFSTR },
+#endif
+#ifdef _CS_POSIX_V7_LP64_OFF64_LINTFLAGS
+ { "POSIX_V7_LP64_OFF64_LINTFLAGS", _CS_POSIX_V7_LP64_OFF64_LINTFLAGS, CONFSTR },
+#endif
+
+#ifdef _SC_V7_LPBIG_OFFBIG
+ { "_POSIX_V7_LPBIG_OFFBIG", _SC_V7_LPBIG_OFFBIG, SYSCONF },
+#endif
+#ifdef _CS_POSIX_V7_LPBIG_OFFBIG_CFLAGS
+ { "POSIX_V7_LPBIG_OFFBIG_CFLAGS", _CS_POSIX_V7_LPBIG_OFFBIG_CFLAGS, CONFSTR },
+#endif
+#ifdef _CS_POSIX_V7_LPBIG_OFFBIG_LDFLAGS
+ { "POSIX_V7_LPBIG_OFFBIG_LDFLAGS", _CS_POSIX_V7_LPBIG_OFFBIG_LDFLAGS, CONFSTR },
+#endif
+#ifdef _CS_POSIX_V7_LPBIG_OFFBIG_LIBS
+ { "POSIX_V7_LPBIG_OFFBIG_LIBS", _CS_POSIX_V7_LPBIG_OFFBIG_LIBS, CONFSTR },
+#endif
+#ifdef _CS_POSIX_V7_LPBIG_OFFBIG_LINTFLAGS
+ { "POSIX_V7_LPBIG_OFFBIG_LINTFLAGS", _CS_POSIX_V7_LPBIG_OFFBIG_LINTFLAGS, CONFSTR },
+#endif
+
#ifdef _SC_ADVISORY_INFO
{ "_POSIX_ADVISORY_INFO", _SC_ADVISORY_INFO, SYSCONF },
#endif
@@ -926,12 +1000,20 @@ static const struct conf vars[] =
};
-static struct { const char *name; int num; } specs[] =
+static const struct { const char *name; int num; } specs[] =
{
+ { "XBS5_ILP32_OFF32", _SC_XBS5_ILP32_OFF32 },
+ { "XBS5_ILP32_OFFBIG", _SC_XBS5_ILP32_OFFBIG },
+ { "XBS5_LP64_OFF64", _SC_XBS5_LP64_OFF64 },
+ { "XBS5_LPBIG_OFFBIG", _SC_XBS5_LPBIG_OFFBIG },
{ "POSIX_V6_ILP32_OFF32", _SC_V6_ILP32_OFF32 },
{ "POSIX_V6_ILP32_OFFBIG", _SC_V6_ILP32_OFFBIG },
{ "POSIX_V6_LP64_OFF64", _SC_V6_LP64_OFF64 },
- { "POSIX_V6_LPBIG_OFFBIG", _SC_V6_LPBIG_OFFBIG }
+ { "POSIX_V6_LPBIG_OFFBIG", _SC_V6_LPBIG_OFFBIG },
+ { "POSIX_V7_ILP32_OFF32", _SC_V7_ILP32_OFF32 },
+ { "POSIX_V7_ILP32_OFFBIG", _SC_V7_ILP32_OFFBIG },
+ { "POSIX_V7_LP64_OFF64", _SC_V7_LP64_OFF64 },
+ { "POSIX_V7_LPBIG_OFFBIG", _SC_V7_LPBIG_OFFBIG },
};
static const int nspecs = sizeof (specs) / sizeof (specs[0]);
@@ -949,6 +1031,7 @@ usage (void)
exit (2);
}
+
static void
print_all (const char *path)
{
@@ -1026,9 +1109,8 @@ Usage: getconf [-v SPEC] VAR\n\
\n\
Get the configuration value for variable VAR, or for variable PATH_VAR\n\
for path PATH. If SPEC is given, give values for compilation\n\
-environment SPEC.\n\
-\n\
-For bug reporting instructions, please see:\n\
+environment SPEC.\n\n"));
+ printf (gettext ("For bug reporting instructions, please see:\n\
%s.\n"), REPORT_BUGS_TO);
return 0;
}
@@ -1083,6 +1165,18 @@ For bug reporting instructions, please see:\n\
switch (specs[i].num)
{
+#ifndef _XBS5_ILP32_OFF32
+ case _SC_XBS5_ILP32_OFF32:
+#endif
+#ifndef _XBS5_ILP32_OFFBIG
+ case _SC_XBS5_ILP32_OFFBIG:
+#endif
+#ifndef _XBS5_LP64_OFF64
+ case _SC_XBS5_LP64_OFF64:
+#endif
+#ifndef _XBS5_LPBIG_OFFBIG
+ case _SC_XBS5_LPBIG_OFFBIG:
+#endif
#ifndef _POSIX_V6_ILP32_OFF32
case _SC_V6_ILP32_OFF32:
#endif
@@ -1095,6 +1189,18 @@ For bug reporting instructions, please see:\n\
#ifndef _POSIX_V6_LPBIG_OFFBIG
case _SC_V6_LPBIG_OFFBIG:
#endif
+#ifndef _POSIX_V7_ILP32_OFF32
+ case _SC_V7_ILP32_OFF32:
+#endif
+#ifndef _POSIX_V7_ILP32_OFFBIG
+ case _SC_V7_ILP32_OFFBIG:
+#endif
+#ifndef _POSIX_V7_LP64_OFF64
+ case _SC_V7_LP64_OFF64:
+#endif
+#ifndef _POSIX_V7_LPBIG_OFFBIG
+ case _SC_V7_LPBIG_OFFBIG:
+#endif
{
const char *args[argc + 3];
size_t spec_len = strlen (spec);
diff --git a/libc/posix/sysconf.c b/libc/posix/sysconf.c
index f22685cb2..971dd8bf7 100644
--- a/libc/posix/sysconf.c
+++ b/libc/posix/sysconf.c
@@ -1,4 +1,4 @@
-/* Copyright (C) 1991,1993,1995-1997,2001,2002,2003
+/* Copyright (C) 1991,1993,1995-1997,2001,2002,2003,2009
Free Software Foundation, Inc.
This file is part of the GNU C Library.
@@ -255,6 +255,16 @@ __sysconf (name)
case _SC_XBS5_LP64_OFF64:
case _SC_XBS5_LPBIG_OFFBIG:
+ case _SC_POSIX_V6_ILP32_OFF32:
+ case _SC_POSIX_V6_ILP32_OFFBIG:
+ case _SC_POSIX_V6_LP64_OFF64:
+ case _SC_POSIX_V6_LPBIG_OFFBIG:
+
+ case _SC_POSIX_V7_ILP32_OFF32:
+ case _SC_POSIX_V7_ILP32_OFFBIG:
+ case _SC_POSIX_V7_LP64_OFF64:
+ case _SC_POSIX_V7_LPBIG_OFFBIG:
+
case _SC_XOPEN_LEGACY:
case _SC_XOPEN_REALTIME:
case _SC_XOPEN_REALTIME_THREADS:
diff --git a/libc/resolv/res_libc.c b/libc/resolv/res_libc.c
index 8af57f7a4..810fbc804 100644
--- a/libc/resolv/res_libc.c
+++ b/libc/resolv/res_libc.c
@@ -96,10 +96,9 @@ __res_maybe_init (res_state resp, int preinit)
{
if (resp->options & RES_INIT) {
if (__res_initstamp != resp->_u._ext.initstamp) {
- if (resp->nscount > 0) {
+ if (resp->nscount > 0)
__res_iclose (resp, true);
- return __res_vinit (resp, 1);
- }
+ return __res_vinit (resp, 1);
}
return 0;
} else if (preinit) {
diff --git a/libc/stdio-common/psignal.c b/libc/stdio-common/psignal.c
index 98049a587..c8111051b 100644
--- a/libc/stdio-common/psignal.c
+++ b/libc/stdio-common/psignal.c
@@ -1,4 +1,4 @@
-/* Copyright (C) 1991, 1992, 1995, 1996, 1997, 2001, 2002, 2004, 2005
+/* Copyright (C) 1991, 1992, 1995, 1996, 1997, 2001, 2002, 2004, 2005, 2009
Free Software Foundation, Inc.
This file is part of the GNU C Library.
@@ -37,7 +37,7 @@ psignal (int sig, const char *s)
{
const char *colon, *desc;
- if (s == NULL || s == '\0')
+ if (s == NULL || *s == '\0')
s = colon = "";
else
colon = ": ";
diff --git a/libc/sunrpc/rpc_common.c b/libc/sunrpc/rpc_common.c
index 6b22b3f66..3fb0bda48 100644
--- a/libc/sunrpc/rpc_common.c
+++ b/libc/sunrpc/rpc_common.c
@@ -39,7 +39,11 @@
* This file should only contain common data (global data) that is exported
* by public interfaces
*/
-struct opaque_auth _null_auth;
+/* We are very tricky here. We want to have _null_auth in a read-only
+ section but we cannot add const to the type because this isn't how
+ the variable is declared. So we use the section attribute. */
+struct opaque_auth _null_auth __attribute__ ((nocommon));
+libc_hidden_def (_null_auth)
fd_set svc_fdset;
struct rpc_createerr rpc_createerr;
struct pollfd *svc_pollfd;
diff --git a/libc/sunrpc/rpc_main.c b/libc/sunrpc/rpc_main.c
index 639984393..08369bb58 100644
--- a/libc/sunrpc/rpc_main.c
+++ b/libc/sunrpc/rpc_main.c
@@ -53,6 +53,7 @@
#include "proto.h"
#include "../version.h"
+#define PACKAGE _libc_intl_domainname
#define EXTEND 1 /* alias for TRUE */
#define DONT_EXTEND 0 /* alias for FALSE */
@@ -1221,9 +1222,9 @@ parseargs (int argc, const char *argv[], struct commandline *cmd)
}
cmd->infile = argv[i];
}
- else if (!strcmp (argv[i], "--help"))
+ else if (strcmp (argv[i], "--help") == 0)
usage (stdout, 0);
- else if (!strcmp (argv[i], "--version"))
+ else if (strcmp (argv[i], "--version") == 0)
print_version ();
else
{
@@ -1465,30 +1466,30 @@ usage (FILE *stream, int status)
static void
options_usage (FILE *stream, int status)
{
- f_print (stream, "options:\n");
- f_print (stream, "-a\t\tgenerate all files, including samples\n");
- f_print (stream, "-b\t\tbackward compatibility mode (generates code for SunOS 4.1)\n");
- f_print (stream, "-c\t\tgenerate XDR routines\n");
- f_print (stream, "-C\t\tANSI C mode\n");
- f_print (stream, "-Dname[=value]\tdefine a symbol (same as #define)\n");
- f_print (stream, "-h\t\tgenerate header file\n");
- f_print (stream, "-i size\t\tsize at which to start generating inline code\n");
- f_print (stream, "-I\t\tgenerate code for inetd support in server (for SunOS 4.1)\n");
- f_print (stream, "-K seconds\tserver exits after K seconds of inactivity\n");
- f_print (stream, "-l\t\tgenerate client side stubs\n");
- f_print (stream, "-L\t\tserver errors will be printed to syslog\n");
- f_print (stream, "-m\t\tgenerate server side stubs\n");
- f_print (stream, "-M\t\tgenerate MT-safe code\n");
- f_print (stream, "-n netid\tgenerate server code that supports named netid\n");
- f_print (stream, "-N\t\tsupports multiple arguments and call-by-value\n");
- f_print (stream, "-o outfile\tname of the output file\n");
- f_print (stream, "-s nettype\tgenerate server code that supports named nettype\n");
- f_print (stream, "-Sc\t\tgenerate sample client code that uses remote procedures\n");
- f_print (stream, "-Ss\t\tgenerate sample server code that defines remote procedures\n");
- f_print (stream, "-Sm \t\tgenerate makefile template \n");
- f_print (stream, "-t\t\tgenerate RPC dispatch table\n");
- f_print (stream, "-T\t\tgenerate code to support RPC dispatch tables\n");
- f_print (stream, "-Y path\t\tdirectory name to find C preprocessor (cpp)\n");
+ f_print (stream, _("options:\n"));
+ f_print (stream, _("-a\t\tgenerate all files, including samples\n"));
+ f_print (stream, _("-b\t\tbackward compatibility mode (generates code for SunOS 4.1)\n"));
+ f_print (stream, _("-c\t\tgenerate XDR routines\n"));
+ f_print (stream, _("-C\t\tANSI C mode\n"));
+ f_print (stream, _("-Dname[=value]\tdefine a symbol (same as #define)\n"));
+ f_print (stream, _("-h\t\tgenerate header file\n"));
+ f_print (stream, _("-i size\t\tsize at which to start generating inline code\n"));
+ f_print (stream, _("-I\t\tgenerate code for inetd support in server (for SunOS 4.1)\n"));
+ f_print (stream, _("-K seconds\tserver exits after K seconds of inactivity\n"));
+ f_print (stream, _("-l\t\tgenerate client side stubs\n"));
+ f_print (stream, _("-L\t\tserver errors will be printed to syslog\n"));
+ f_print (stream, _("-m\t\tgenerate server side stubs\n"));
+ f_print (stream, _("-M\t\tgenerate MT-safe code\n"));
+ f_print (stream, _("-n netid\tgenerate server code that supports named netid\n"));
+ f_print (stream, _("-N\t\tsupports multiple arguments and call-by-value\n"));
+ f_print (stream, _("-o outfile\tname of the output file\n"));
+ f_print (stream, _("-s nettype\tgenerate server code that supports named nettype\n"));
+ f_print (stream, _("-Sc\t\tgenerate sample client code that uses remote procedures\n"));
+ f_print (stream, _("-Ss\t\tgenerate sample server code that defines remote procedures\n"));
+ f_print (stream, _("-Sm \t\tgenerate makefile template \n"));
+ f_print (stream, _("-t\t\tgenerate RPC dispatch table\n"));
+ f_print (stream, _("-T\t\tgenerate code to support RPC dispatch tables\n"));
+ f_print (stream, _("-Y path\t\tdirectory name to find C preprocessor (cpp)\n"));
f_print (stream, "\n\
For bug reporting instructions, please see:\n\
diff --git a/libc/sunrpc/rpcinfo.c b/libc/sunrpc/rpcinfo.c
index ec21033b4..ca91489f1 100644
--- a/libc/sunrpc/rpcinfo.c
+++ b/libc/sunrpc/rpcinfo.c
@@ -59,6 +59,7 @@ static char sccsid[] = "@(#)rpcinfo.c 1.22 87/08/12 SMI";
#include <libintl.h>
#include "../version.h"
+#define PACKAGE _libc_intl_domainname
#define MAXHOSTLEN 256
diff --git a/libc/sysdeps/i386/i486/bits/atomic.h b/libc/sysdeps/i386/i486/bits/atomic.h
index 21eea7112..4ee6fef69 100644
--- a/libc/sysdeps/i386/i486/bits/atomic.h
+++ b/libc/sysdeps/i386/i486/bits/atomic.h
@@ -1,4 +1,4 @@
-/* Copyright (C) 2002, 2003, 2004, 2006, 2007 Free Software Foundation, Inc.
+/* Copyright (C) 2002-2004, 2006, 2007, 2009 Free Software Foundation, Inc.
This file is part of the GNU C Library.
Contributed by Ulrich Drepper <drepper@redhat.com>, 2002.
@@ -500,24 +500,34 @@ typedef uintmax_t uatomic_max_t;
#define atomic_delay() asm ("rep; nop")
-#define atomic_and(mem, mask) \
+#define __arch_and_body(lock, mem, mask) \
do { \
if (sizeof (*mem) == 1) \
- __asm __volatile (LOCK_PREFIX "andb %b1, %0" \
+ __asm __volatile (lock "andb %b1, %0" \
: "=m" (*mem) \
- : "iq" (mask), "m" (*mem)); \
+ : "iq" (mask), "m" (*mem), \
+ "i" (offsetof (tcbhead_t, multiple_threads))); \
else if (sizeof (*mem) == 2) \
- __asm __volatile (LOCK_PREFIX "andw %w1, %0" \
+ __asm __volatile (lock "andw %w1, %0" \
: "=m" (*mem) \
- : "ir" (mask), "m" (*mem)); \
+ : "ir" (mask), "m" (*mem), \
+ "i" (offsetof (tcbhead_t, multiple_threads))); \
else if (sizeof (*mem) == 4) \
- __asm __volatile (LOCK_PREFIX "andl %1, %0" \
+ __asm __volatile (lock "andl %1, %0" \
: "=m" (*mem) \
- : "ir" (mask), "m" (*mem)); \
+ : "ir" (mask), "m" (*mem), \
+ "i" (offsetof (tcbhead_t, multiple_threads))); \
else \
abort (); \
} while (0)
+#define __arch_cprefix \
+ "cmpl $0, %%gs:%P3\n\tje 0f\n\tlock\n0:\t"
+
+#define atomic_and(mem, mask) __arch_and_body (LOCK_PREFIX, mem, mask)
+
+#define catomic_and(mem, mask) __arch_and_body (__arch_cprefix, mem, mask)
+
#define __arch_or_body(lock, mem, mask) \
do { \
@@ -542,7 +552,4 @@ typedef uintmax_t uatomic_max_t;
#define atomic_or(mem, mask) __arch_or_body (LOCK_PREFIX, mem, mask)
-#define __arch_or_cprefix \
- "cmpl $0, %%gs:%P3\n\tje 0f\n\tlock\n0:\t"
-
-#define catomic_or(mem, mask) __arch_or_body (__arch_or_cprefix, mem, mask)
+#define catomic_or(mem, mask) __arch_or_body (__arch_cprefix, mem, mask)
diff --git a/libc/sysdeps/posix/sysconf.c b/libc/sysdeps/posix/sysconf.c
index 0c0d7d141..f1d1ee441 100644
--- a/libc/sysdeps/posix/sysconf.c
+++ b/libc/sysdeps/posix/sysconf.c
@@ -1,4 +1,4 @@
-/* Copyright (C) 1991,1993,1995-1997,1999-2003,2004,2006
+/* Copyright (C) 1991,1993,1995-1997,1999-2003,2004,2006,2009
Free Software Foundation, Inc.
This file is part of the GNU C Library.
@@ -38,7 +38,9 @@
(!defined _XBS5_ILP32_OFF32 || !defined _XBS5_ILP32_OFFBIG \
|| !defined _XBS5_LP64_OFF64 || !defined _XBS5_LPBIG_OFFBIG \
|| !defined _POSIX_V6_ILP32_OFF32 || !defined _POSIX_V6_ILP32_OFFBIG \
- || !defined _POSIX_V6_LP64_OFF64 || !defined _POSIX_V6_LPBIG_OFFBIG)
+ || !defined _POSIX_V6_LP64_OFF64 || !defined _POSIX_V6_LPBIG_OFFBIG \
+ || !defined _POSIX_V7_ILP32_OFF32 || !defined _POSIX_V7_ILP32_OFFBIG \
+ || !defined _POSIX_V7_LP64_OFF64 || !defined _POSIX_V7_LPBIG_OFFBIG)
#if NEED_CHECK_SPEC
static long int __sysconf_check_spec (const char *spec);
#endif
@@ -840,6 +842,31 @@ __sysconf (name)
return __sysconf_check_spec ("LPBIG_OFFBIG");
#endif
+ case _SC_V7_ILP32_OFF32:
+#ifdef _POSIX_V7_ILP32_OFF32
+ return _POSIX_V7_ILP32_OFF32;
+#else
+ return __sysconf_check_spec ("ILP32_OFF32");
+#endif
+ case _SC_V7_ILP32_OFFBIG:
+#ifdef _POSIX_V7_ILP32_OFFBIG
+ return _POSIX_V7_ILP32_OFFBIG;
+#else
+ return __sysconf_check_spec ("ILP32_OFFBIG");
+#endif
+ case _SC_V7_LP64_OFF64:
+#ifdef _POSIX_V7_LP64_OFF64
+ return _POSIX_V7_LP64_OFF64;
+#else
+ return __sysconf_check_spec ("LP64_OFF64");
+#endif
+ case _SC_V7_LPBIG_OFFBIG:
+#ifdef _POSIX_V7_LPBIG_OFFBIG
+ return _POSIX_V7_LPBIG_OFFBIG;
+#else
+ return __sysconf_check_spec ("LPBIG_OFFBIG");
+#endif
+
case _SC_XOPEN_LEGACY:
return _XOPEN_LEGACY;
diff --git a/libc/sysdeps/unix/opendir.c b/libc/sysdeps/unix/opendir.c
index 92029c654..fbf14f5ee 100644
--- a/libc/sysdeps/unix/opendir.c
+++ b/libc/sysdeps/unix/opendir.c
@@ -1,4 +1,4 @@
-/* Copyright (C) 1991-1996,98,2000-2003,2005,2007
+/* Copyright (C) 1991-1996,98,2000-2003,2005,2007,2009
Free Software Foundation, Inc.
This file is part of the GNU C Library.
@@ -81,6 +81,7 @@ DIR *
__opendir (const char *name)
{
struct stat64 statbuf;
+ struct stat64 *statp = NULL;
if (__builtin_expect (name[0], '\1') == '\0')
{
@@ -119,16 +120,14 @@ __opendir (const char *name)
if (__builtin_expect (fd, 0) < 0)
return NULL;
- /* Now make sure this really is a directory and nothing changed since
- the `stat' call. We do not have to perform the test for the
- descriptor being associated with a directory if we know the
- O_DIRECTORY flag is honored by the kernel. */
- if (__builtin_expect (__fxstat64 (_STAT_VER, fd, &statbuf), 0) < 0)
- goto lose;
#ifdef O_DIRECTORY
if (o_directory_works <= 0)
#endif
{
+ /* Now make sure this really is a directory and nothing changed since
+ the `stat' call. */
+ if (__builtin_expect (__fxstat64 (_STAT_VER, fd, &statbuf), 0) < 0)
+ goto lose;
if (__builtin_expect (! S_ISDIR (statbuf.st_mode), 0))
{
__set_errno (ENOTDIR);
@@ -136,9 +135,10 @@ __opendir (const char *name)
close_not_cancel_no_status (fd);
return NULL;
}
+ statp = &statbuf;
}
- return __alloc_dir (fd, true, &statbuf);
+ return __alloc_dir (fd, true, statp);
}
weak_alias (__opendir, opendir)
@@ -171,29 +171,23 @@ __alloc_dir (int fd, bool close_fd, const struct stat64 *statp)
goto lose;
}
- const size_t default_allocation = (BUFSIZ < sizeof (struct dirent64)
- ? sizeof (struct dirent64) : BUFSIZ);
- size_t allocation;
+ const size_t default_allocation = (4 * BUFSIZ < sizeof (struct dirent64)
+ ? sizeof (struct dirent64) : 4 * BUFSIZ);
+ const size_t small_allocation = (BUFSIZ < sizeof (struct dirent64)
+ ? sizeof (struct dirent64) : BUFSIZ);
+ size_t allocation = default_allocation;
#ifdef _STATBUF_ST_BLKSIZE
- if (__builtin_expect ((size_t) statp->st_blksize >= sizeof (struct dirent64),
- 1))
+ if (statp != NULL && default_allocation < statp->st_blksize)
allocation = statp->st_blksize;
- else
#endif
- allocation = default_allocation;
DIR *dirp = (DIR *) malloc (sizeof (DIR) + allocation);
if (dirp == NULL)
{
-#ifdef _STATBUF_ST_BLKSIZE
- if (allocation == statp->st_blksize
- && allocation != default_allocation)
- {
- allocation = default_allocation;
- dirp = (DIR *) malloc (sizeof (DIR) + allocation);
- }
+ allocation = small_allocation;
+ dirp = (DIR *) malloc (sizeof (DIR) + allocation);
+
if (dirp == NULL)
-#endif
lose:
{
if (close_fd)
diff --git a/libc/sysdeps/unix/sysv/linux/i386/bits/environments.h b/libc/sysdeps/unix/sysv/linux/i386/bits/environments.h
index 16f7732aa..785dd7e8f 100644
--- a/libc/sysdeps/unix/sysv/linux/i386/bits/environments.h
+++ b/libc/sysdeps/unix/sysv/linux/i386/bits/environments.h
@@ -1,4 +1,4 @@
-/* Copyright (C) 1999, 2001, 2004 Free Software Foundation, Inc.
+/* Copyright (C) 1999, 2001, 2004, 2009 Free Software Foundation, Inc.
This file is part of the GNU C Library.
The GNU C Library is free software; you can redistribute it and/or
@@ -25,29 +25,35 @@
`-1' means it is never supported. Undefined means it cannot be
statically decided.
- _POSIX_V6_ILP32_OFF32 32bit int, long, pointers, and off_t type
- _POSIX_V6_ILP32_OFFBIG 32bit int, long, and pointers and larger off_t type
+ _POSIX_V7_ILP32_OFF32 32bit int, long, pointers, and off_t type
+ _POSIX_V7_ILP32_OFFBIG 32bit int, long, and pointers and larger off_t type
- _POSIX_V6_LP64_OFF32 64bit long and pointers and 32bit off_t type
- _POSIX_V6_LPBIG_OFFBIG 64bit long and pointers and large off_t type
+ _POSIX_V7_LP64_OFF32 64bit long and pointers and 32bit off_t type
+ _POSIX_V7_LPBIG_OFFBIG 64bit long and pointers and large off_t type
- The macros _XBS5_ILP32_OFF32, _XBS5_ILP32_OFFBIG, _XBS5_LP64_OFF32, and
- _XBS5_LPBIG_OFFBIG were used in previous versions of the Unix standard
- and are available only for compatibility.
+ The macros _POSIX_V6_ILP32_OFF32, _POSIX_V6_ILP32_OFFBIG,
+ _POSIX_V6_LP64_OFF32, _POSIX_V6_LPBIG_OFFBIG, _XBS5_ILP32_OFF32,
+ _XBS5_ILP32_OFFBIG, _XBS5_LP64_OFF32, and _XBS5_LPBIG_OFFBIG were
+ used in previous versions of the Unix standard and are available
+ only for compatibility.
*/
/* By default we have 32-bit wide `int', `long int', pointers and `off_t'
and all platforms support LFS. */
+#define _POSIX_V7_ILP32_OFF32 1
+#define _POSIX_V7_ILP32_OFFBIG 1
#define _POSIX_V6_ILP32_OFF32 1
#define _POSIX_V6_ILP32_OFFBIG 1
#define _XBS5_ILP32_OFF32 1
#define _XBS5_ILP32_OFFBIG 1
/* We optionally provide an environment with the above size but an 64-bit
- side `off_t'. Therefore we don't define _XBS5_ILP32_OFFBIG. */
+ side `off_t'. Therefore we don't define _POSIX_V7_ILP32_OFFBIG. */
/* Environments with 64-bit wide pointers can be provided,
so these macros aren't defined:
+ # undef _POSIX_V7_LP64_OFF64
+ # undef _POSIX_V7_LPBIG_OFFBIG
# undef _POSIX_V6_LP64_OFF64
# undef _POSIX_V6_LPBIG_OFFBIG
# undef _XBS5_LP64_OFF64
diff --git a/libc/sysdeps/unix/sysv/linux/lddlibc4.c b/libc/sysdeps/unix/sysv/linux/lddlibc4.c
index b7dd660f5..c4b9b44fa 100644
--- a/libc/sysdeps/unix/sysv/linux/lddlibc4.c
+++ b/libc/sysdeps/unix/sysv/linux/lddlibc4.c
@@ -1,5 +1,5 @@
/* Stub for ldd script to print Linux libc4 dependencies.
- Copyright (C) 1998, 2005 Free Software Foundation, Inc.
+ Copyright (C) 1998, 2005, 2009 Free Software Foundation, Inc.
This file is part of the GNU C Library.
Contributed by Ulrich Drepper <drepper@cygnus.com>, 1998.
@@ -56,22 +56,21 @@ main (int argc, char *argv[])
if (argc != 2)
return 1;
- if (!strcmp (argv[1], "--help"))
+ if (strcmp (argv[1], "--help") == 0)
{
- printf (gettext ("Usage: lddlibc4 FILE\n\
-\n\
-For bug reporting instructions, please see:\n\
+ printf (gettext ("Usage: lddlibc4 FILE\n\n"));
+ printf (gettext ("For bug reporting instructions, please see:\n\
%s.\n"), REPORT_BUGS_TO);
return 0;
}
- else if (!strcmp (argv[1], "--version"))
+ else if (strcmp (argv[1], "--version") == 0)
{
printf ("lddlibc4 %s%s\n", PKGVERSION, VERSION);
printf (gettext ("\
Copyright (C) %s Free Software Foundation, Inc.\n\
This is free software; see the source for copying conditions. There is NO\n\
warranty; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.\n\
-"), "2008");
+"), "2009");
return 0;
}
diff --git a/libc/sysdeps/unix/sysv/linux/ldsodefs.h b/libc/sysdeps/unix/sysv/linux/ldsodefs.h
index 0bdca3c3f..0965f1496 100644
--- a/libc/sysdeps/unix/sysv/linux/ldsodefs.h
+++ b/libc/sysdeps/unix/sysv/linux/ldsodefs.h
@@ -1,5 +1,5 @@
/* Run-time dynamic linker data structures for loaded ELF shared objects.
- Copyright (C) 2001, 2002, 2003, 2006 Free Software Foundation, Inc.
+ Copyright (C) 2001, 2002, 2003, 2006, 2009 Free Software Foundation, Inc.
This file is part of the GNU C Library.
The GNU C Library is free software; you can redistribute it and/or
@@ -53,4 +53,24 @@ extern void _dl_non_dynamic_init (void) internal_function;
# define HAVE_AUX_PAGESIZE
#endif
+/* Accept binaries which identify the binary as using Linux extensions. */
+#define VALID_ELF_HEADER(hdr,exp,size) (memcmp (hdr, exp, size) == 0 \
+ || memcmp (hdr, expected2, size) == 0)
+#define VALID_ELF_OSABI(osabi) (osabi == ELFOSABI_SYSV \
+ || osabi == ELFOSABI_LINUX)
+#define VALID_ELF_ABIVERSION(ver) (ver == 0)
+#define MORE_ELF_HEADER_DATA \
+ static const unsigned char expected2[EI_PAD] = \
+ { \
+ [EI_MAG0] = ELFMAG0, \
+ [EI_MAG1] = ELFMAG1, \
+ [EI_MAG2] = ELFMAG2, \
+ [EI_MAG3] = ELFMAG3, \
+ [EI_CLASS] = ELFW(CLASS), \
+ [EI_DATA] = byteorder, \
+ [EI_VERSION] = EV_CURRENT, \
+ [EI_OSABI] = ELFOSABI_LINUX, \
+ [EI_ABIVERSION] = 0 \
+ }
+
#endif /* ldsodefs.h */
diff --git a/libc/sysdeps/unix/sysv/linux/powerpc/bits/environments.h b/libc/sysdeps/unix/sysv/linux/powerpc/bits/environments.h
index a51a564cb..c675ecc62 100644
--- a/libc/sysdeps/unix/sysv/linux/powerpc/bits/environments.h
+++ b/libc/sysdeps/unix/sysv/linux/powerpc/bits/environments.h
@@ -1,4 +1,4 @@
-/* Copyright (C) 1999, 2001, 2004 Free Software Foundation, Inc.
+/* Copyright (C) 1999, 2001, 2004, 2009 Free Software Foundation, Inc.
This file is part of the GNU C Library.
The GNU C Library is free software; you can redistribute it and/or
@@ -27,21 +27,25 @@
`-1' means it is never supported. Undefined means it cannot be
statically decided.
- _POSIX_V6_ILP32_OFF32 32bit int, long, pointers, and off_t type
- _POSIX_V6_ILP32_OFFBIG 32bit int, long, and pointers and larger off_t type
+ _POSIX_V7_ILP32_OFF32 32bit int, long, pointers, and off_t type
+ _POSIX_V7_ILP32_OFFBIG 32bit int, long, and pointers and larger off_t type
- _POSIX_V6_LP64_OFF32 64bit long and pointers and 32bit off_t type
- _POSIX_V6_LPBIG_OFFBIG 64bit long and pointers and large off_t type
+ _POSIX_V7_LP64_OFF32 64bit long and pointers and 32bit off_t type
+ _POSIX_V7_LPBIG_OFFBIG 64bit long and pointers and large off_t type
- The macros _XBS5_ILP32_OFF32, _XBS5_ILP32_OFFBIG, _XBS5_LP64_OFF32, and
- _XBS5_LPBIG_OFFBIG were used in previous versions of the Unix standard
- and are available only for compatibility.
+ The macros _POSIX_V6_ILP32_OFF32, _POSIX_V6_ILP32_OFFBIG,
+ _POSIX_V6_LP64_OFF32, _POSIX_V6_LPBIG_OFFBIG, _XBS5_ILP32_OFF32,
+ _XBS5_ILP32_OFFBIG, _XBS5_LP64_OFF32, and _XBS5_LPBIG_OFFBIG were
+ used in previous versions of the Unix standard and are available
+ only for compatibility.
*/
#if __WORDSIZE == 64
/* Environments with 32-bit wide pointers are optionally provided.
Therefore following macros aren't defined:
+ # undef _POSIX_V7_ILP32_OFF32
+ # undef _POSIX_V7_ILP32_OFFBIG
# undef _POSIX_V6_ILP32_OFF32
# undef _POSIX_V6_ILP32_OFFBIG
# undef _XBS5_ILP32_OFF32
@@ -50,10 +54,12 @@
/* We also have no use (for now) for an environment with bigger pointers
and offsets. */
+# define _POSIX_V7_LPBIG_OFFBIG -1
# define _POSIX_V6_LPBIG_OFFBIG -1
# define _XBS5_LPBIG_OFFBIG -1
/* By default we have 64-bit wide `long int', pointers and `off_t'. */
+# define _POSIX_V7_LP64_OFF64 1
# define _POSIX_V6_LP64_OFF64 1
# define _XBS5_LP64_OFF64 1
@@ -61,16 +67,20 @@
/* By default we have 32-bit wide `int', `long int', pointers and `off_t'
and all platforms support LFS. */
+# define _POSIX_V7_ILP32_OFF32 1
+# define _POSIX_V7_ILP32_OFFBIG 1
# define _POSIX_V6_ILP32_OFF32 1
# define _POSIX_V6_ILP32_OFFBIG 1
# define _XBS5_ILP32_OFF32 1
# define _XBS5_ILP32_OFFBIG 1
/* We optionally provide an environment with the above size but an 64-bit
- side `off_t'. Therefore we don't define _XBS5_ILP32_OFFBIG. */
+ side `off_t'. Therefore we don't define _POSIX_V7_ILP32_OFFBIG. */
/* Environments with 64-bit wide pointers can be provided,
so these macros aren't defined:
+ # undef _POSIX_V7_LP64_OFF64
+ # undef _POSIX_V7_LPBIG_OFFBIG
# undef _POSIX_V6_LP64_OFF64
# undef _POSIX_V6_LPBIG_OFFBIG
# undef _XBS5_LP64_OFF64
diff --git a/libc/sysdeps/unix/sysv/linux/s390/bits/environments.h b/libc/sysdeps/unix/sysv/linux/s390/bits/environments.h
index 713d21c9a..29628b2ed 100644
--- a/libc/sysdeps/unix/sysv/linux/s390/bits/environments.h
+++ b/libc/sysdeps/unix/sysv/linux/s390/bits/environments.h
@@ -1,4 +1,4 @@
-/* Copyright (C) 1999, 2001, 2004 Free Software Foundation, Inc.
+/* Copyright (C) 1999, 2001, 2004, 2009 Free Software Foundation, Inc.
This file is part of the GNU C Library.
The GNU C Library is free software; you can redistribute it and/or
@@ -27,21 +27,25 @@
`-1' means it is never supported. Undefined means it cannot be
statically decided.
- _POSIX_V6_ILP32_OFF32 32bit int, long, pointers, and off_t type
- _POSIX_V6_ILP32_OFFBIG 32bit int, long, and pointers and larger off_t type
+ _POSIX_V7_ILP32_OFF32 32bit int, long, pointers, and off_t type
+ _POSIX_V7_ILP32_OFFBIG 32bit int, long, and pointers and larger off_t type
- _POSIX_V6_LP64_OFF32 64bit long and pointers and 32bit off_t type
- _POSIX_V6_LPBIG_OFFBIG 64bit long and pointers and large off_t type
+ _POSIX_V7_LP64_OFF32 64bit long and pointers and 32bit off_t type
+ _POSIX_V7_LPBIG_OFFBIG 64bit long and pointers and large off_t type
- The macros _XBS5_ILP32_OFF32, _XBS5_ILP32_OFFBIG, _XBS5_LP64_OFF32, and
- _XBS5_LPBIG_OFFBIG were used in previous versions of the Unix standard
- and are available only for compatibility.
+ The macros _POSIX_V6_ILP32_OFF32, _POSIX_V6_ILP32_OFFBIG,
+ _POSIX_V6_LP64_OFF32, _POSIX_V6_LPBIG_OFFBIG, _XBS5_ILP32_OFF32,
+ _XBS5_ILP32_OFFBIG, _XBS5_LP64_OFF32, and _XBS5_LPBIG_OFFBIG were
+ used in previous versions of the Unix standard and are available
+ only for compatibility.
*/
#if __WORDSIZE == 64
/* Environments with 32-bit wide pointers are optionally provided.
Therefore following macros aren't defined:
+ # undef _POSIX_V7_ILP32_OFF32
+ # undef _POSIX_V7_ILP32_OFFBIG
# undef _POSIX_V6_ILP32_OFF32
# undef _POSIX_V6_ILP32_OFFBIG
# undef _XBS5_ILP32_OFF32
@@ -50,10 +54,12 @@
/* We also have no use (for now) for an environment with bigger pointers
and offsets. */
+# define _POSIX_V7_LPBIG_OFFBIG -1
# define _POSIX_V6_LPBIG_OFFBIG -1
# define _XBS5_LPBIG_OFFBIG -1
/* By default we have 64-bit wide `long int', pointers and `off_t'. */
+# define _POSIX_V7_LP64_OFF64 1
# define _POSIX_V6_LP64_OFF64 1
# define _XBS5_LP64_OFF64 1
@@ -61,16 +67,20 @@
/* By default we have 32-bit wide `int', `long int', pointers and `off_t'
and all platforms support LFS. */
+# define _POSIX_V7_ILP32_OFF32 1
+# define _POSIX_V7_ILP32_OFFBIG 1
# define _POSIX_V6_ILP32_OFF32 1
# define _POSIX_V6_ILP32_OFFBIG 1
# define _XBS5_ILP32_OFF32 1
# define _XBS5_ILP32_OFFBIG 1
/* We optionally provide an environment with the above size but an 64-bit
- side `off_t'. Therefore we don't define _XBS5_ILP32_OFFBIG. */
+ side `off_t'. Therefore we don't define _POSIX_V7_ILP32_OFFBIG. */
/* Environments with 64-bit wide pointers can be provided,
so these macros aren't defined:
+ # undef _POSIX_V7_LP64_OFF64
+ # undef _POSIX_V7_LPBIG_OFFBIG
# undef _POSIX_V6_LP64_OFF64
# undef _POSIX_V6_LPBIG_OFFBIG
# undef _XBS5_LP64_OFF64
diff --git a/libc/sysdeps/unix/sysv/linux/sparc/bits/environments.h b/libc/sysdeps/unix/sysv/linux/sparc/bits/environments.h
index a51a564cb..c675ecc62 100644
--- a/libc/sysdeps/unix/sysv/linux/sparc/bits/environments.h
+++ b/libc/sysdeps/unix/sysv/linux/sparc/bits/environments.h
@@ -1,4 +1,4 @@
-/* Copyright (C) 1999, 2001, 2004 Free Software Foundation, Inc.
+/* Copyright (C) 1999, 2001, 2004, 2009 Free Software Foundation, Inc.
This file is part of the GNU C Library.
The GNU C Library is free software; you can redistribute it and/or
@@ -27,21 +27,25 @@
`-1' means it is never supported. Undefined means it cannot be
statically decided.
- _POSIX_V6_ILP32_OFF32 32bit int, long, pointers, and off_t type
- _POSIX_V6_ILP32_OFFBIG 32bit int, long, and pointers and larger off_t type
+ _POSIX_V7_ILP32_OFF32 32bit int, long, pointers, and off_t type
+ _POSIX_V7_ILP32_OFFBIG 32bit int, long, and pointers and larger off_t type
- _POSIX_V6_LP64_OFF32 64bit long and pointers and 32bit off_t type
- _POSIX_V6_LPBIG_OFFBIG 64bit long and pointers and large off_t type
+ _POSIX_V7_LP64_OFF32 64bit long and pointers and 32bit off_t type
+ _POSIX_V7_LPBIG_OFFBIG 64bit long and pointers and large off_t type
- The macros _XBS5_ILP32_OFF32, _XBS5_ILP32_OFFBIG, _XBS5_LP64_OFF32, and
- _XBS5_LPBIG_OFFBIG were used in previous versions of the Unix standard
- and are available only for compatibility.
+ The macros _POSIX_V6_ILP32_OFF32, _POSIX_V6_ILP32_OFFBIG,
+ _POSIX_V6_LP64_OFF32, _POSIX_V6_LPBIG_OFFBIG, _XBS5_ILP32_OFF32,
+ _XBS5_ILP32_OFFBIG, _XBS5_LP64_OFF32, and _XBS5_LPBIG_OFFBIG were
+ used in previous versions of the Unix standard and are available
+ only for compatibility.
*/
#if __WORDSIZE == 64
/* Environments with 32-bit wide pointers are optionally provided.
Therefore following macros aren't defined:
+ # undef _POSIX_V7_ILP32_OFF32
+ # undef _POSIX_V7_ILP32_OFFBIG
# undef _POSIX_V6_ILP32_OFF32
# undef _POSIX_V6_ILP32_OFFBIG
# undef _XBS5_ILP32_OFF32
@@ -50,10 +54,12 @@
/* We also have no use (for now) for an environment with bigger pointers
and offsets. */
+# define _POSIX_V7_LPBIG_OFFBIG -1
# define _POSIX_V6_LPBIG_OFFBIG -1
# define _XBS5_LPBIG_OFFBIG -1
/* By default we have 64-bit wide `long int', pointers and `off_t'. */
+# define _POSIX_V7_LP64_OFF64 1
# define _POSIX_V6_LP64_OFF64 1
# define _XBS5_LP64_OFF64 1
@@ -61,16 +67,20 @@
/* By default we have 32-bit wide `int', `long int', pointers and `off_t'
and all platforms support LFS. */
+# define _POSIX_V7_ILP32_OFF32 1
+# define _POSIX_V7_ILP32_OFFBIG 1
# define _POSIX_V6_ILP32_OFF32 1
# define _POSIX_V6_ILP32_OFFBIG 1
# define _XBS5_ILP32_OFF32 1
# define _XBS5_ILP32_OFFBIG 1
/* We optionally provide an environment with the above size but an 64-bit
- side `off_t'. Therefore we don't define _XBS5_ILP32_OFFBIG. */
+ side `off_t'. Therefore we don't define _POSIX_V7_ILP32_OFFBIG. */
/* Environments with 64-bit wide pointers can be provided,
so these macros aren't defined:
+ # undef _POSIX_V7_LP64_OFF64
+ # undef _POSIX_V7_LPBIG_OFFBIG
# undef _POSIX_V6_LP64_OFF64
# undef _POSIX_V6_LPBIG_OFFBIG
# undef _XBS5_LP64_OFF64
diff --git a/libc/sysdeps/unix/sysv/linux/x86_64/bits/environments.h b/libc/sysdeps/unix/sysv/linux/x86_64/bits/environments.h
index a51a564cb..c675ecc62 100644
--- a/libc/sysdeps/unix/sysv/linux/x86_64/bits/environments.h
+++ b/libc/sysdeps/unix/sysv/linux/x86_64/bits/environments.h
@@ -1,4 +1,4 @@
-/* Copyright (C) 1999, 2001, 2004 Free Software Foundation, Inc.
+/* Copyright (C) 1999, 2001, 2004, 2009 Free Software Foundation, Inc.
This file is part of the GNU C Library.
The GNU C Library is free software; you can redistribute it and/or
@@ -27,21 +27,25 @@
`-1' means it is never supported. Undefined means it cannot be
statically decided.
- _POSIX_V6_ILP32_OFF32 32bit int, long, pointers, and off_t type
- _POSIX_V6_ILP32_OFFBIG 32bit int, long, and pointers and larger off_t type
+ _POSIX_V7_ILP32_OFF32 32bit int, long, pointers, and off_t type
+ _POSIX_V7_ILP32_OFFBIG 32bit int, long, and pointers and larger off_t type
- _POSIX_V6_LP64_OFF32 64bit long and pointers and 32bit off_t type
- _POSIX_V6_LPBIG_OFFBIG 64bit long and pointers and large off_t type
+ _POSIX_V7_LP64_OFF32 64bit long and pointers and 32bit off_t type
+ _POSIX_V7_LPBIG_OFFBIG 64bit long and pointers and large off_t type
- The macros _XBS5_ILP32_OFF32, _XBS5_ILP32_OFFBIG, _XBS5_LP64_OFF32, and
- _XBS5_LPBIG_OFFBIG were used in previous versions of the Unix standard
- and are available only for compatibility.
+ The macros _POSIX_V6_ILP32_OFF32, _POSIX_V6_ILP32_OFFBIG,
+ _POSIX_V6_LP64_OFF32, _POSIX_V6_LPBIG_OFFBIG, _XBS5_ILP32_OFF32,
+ _XBS5_ILP32_OFFBIG, _XBS5_LP64_OFF32, and _XBS5_LPBIG_OFFBIG were
+ used in previous versions of the Unix standard and are available
+ only for compatibility.
*/
#if __WORDSIZE == 64
/* Environments with 32-bit wide pointers are optionally provided.
Therefore following macros aren't defined:
+ # undef _POSIX_V7_ILP32_OFF32
+ # undef _POSIX_V7_ILP32_OFFBIG
# undef _POSIX_V6_ILP32_OFF32
# undef _POSIX_V6_ILP32_OFFBIG
# undef _XBS5_ILP32_OFF32
@@ -50,10 +54,12 @@
/* We also have no use (for now) for an environment with bigger pointers
and offsets. */
+# define _POSIX_V7_LPBIG_OFFBIG -1
# define _POSIX_V6_LPBIG_OFFBIG -1
# define _XBS5_LPBIG_OFFBIG -1
/* By default we have 64-bit wide `long int', pointers and `off_t'. */
+# define _POSIX_V7_LP64_OFF64 1
# define _POSIX_V6_LP64_OFF64 1
# define _XBS5_LP64_OFF64 1
@@ -61,16 +67,20 @@
/* By default we have 32-bit wide `int', `long int', pointers and `off_t'
and all platforms support LFS. */
+# define _POSIX_V7_ILP32_OFF32 1
+# define _POSIX_V7_ILP32_OFFBIG 1
# define _POSIX_V6_ILP32_OFF32 1
# define _POSIX_V6_ILP32_OFFBIG 1
# define _XBS5_ILP32_OFF32 1
# define _XBS5_ILP32_OFFBIG 1
/* We optionally provide an environment with the above size but an 64-bit
- side `off_t'. Therefore we don't define _XBS5_ILP32_OFFBIG. */
+ side `off_t'. Therefore we don't define _POSIX_V7_ILP32_OFFBIG. */
/* Environments with 64-bit wide pointers can be provided,
so these macros aren't defined:
+ # undef _POSIX_V7_LP64_OFF64
+ # undef _POSIX_V7_LPBIG_OFFBIG
# undef _POSIX_V6_LP64_OFF64
# undef _POSIX_V6_LPBIG_OFFBIG
# undef _XBS5_LP64_OFF64
diff --git a/libc/sysdeps/x86_64/bits/atomic.h b/libc/sysdeps/x86_64/bits/atomic.h
index 39c6ecba8..7c138eb2f 100644
--- a/libc/sysdeps/x86_64/bits/atomic.h
+++ b/libc/sysdeps/x86_64/bits/atomic.h
@@ -1,4 +1,4 @@
-/* Copyright (C) 2002, 2003, 2004, 2006, 2007 Free Software Foundation, Inc.
+/* Copyright (C) 2002-2004, 2006, 2007, 2009 Free Software Foundation, Inc.
This file is part of the GNU C Library.
Contributed by Ulrich Drepper <drepper@redhat.com>, 2002.
@@ -437,26 +437,37 @@ typedef uintmax_t uatomic_max_t;
#define atomic_delay() asm ("rep; nop")
-#define atomic_and(mem, mask) \
+#define __arch_and_body(lock, mem, mask) \
do { \
if (sizeof (*mem) == 1) \
- __asm __volatile (LOCK_PREFIX "andb %b1, %0" \
+ __asm __volatile (lock "andb %b1, %0" \
: "=m" (*mem) \
- : "iq" (mask), "m" (*mem)); \
+ : "iq" (mask), "m" (*mem), \
+ "i" (offsetof (tcbhead_t, multiple_threads))); \
else if (sizeof (*mem) == 2) \
- __asm __volatile (LOCK_PREFIX "andw %w1, %0" \
+ __asm __volatile (lock "andw %w1, %0" \
: "=m" (*mem) \
- : "ir" (mask), "m" (*mem)); \
+ : "ir" (mask), "m" (*mem), \
+ "i" (offsetof (tcbhead_t, multiple_threads))); \
else if (sizeof (*mem) == 4) \
- __asm __volatile (LOCK_PREFIX "andl %1, %0" \
+ __asm __volatile (lock "andl %1, %0" \
: "=m" (*mem) \
- : "ir" (mask), "m" (*mem)); \
+ : "ir" (mask), "m" (*mem), \
+ "i" (offsetof (tcbhead_t, multiple_threads))); \
else \
- __asm __volatile (LOCK_PREFIX "andq %q1, %0" \
+ __asm __volatile (lock "andq %q1, %0" \
: "=m" (*mem) \
- : "ir" (mask), "m" (*mem)); \
+ : "ir" (mask), "m" (*mem), \
+ "i" (offsetof (tcbhead_t, multiple_threads))); \
} while (0)
+#define __arch_cprefix \
+ "cmpl $0, %%fs:%P3\n\tje 0f\n\tlock\n0:\t"
+
+#define atomic_and(mem, mask) __arch_and_body (LOCK_PREFIX, mem, mask)
+
+#define catomic_and(mem, mask) __arch_and_body (__arch_cprefix, mem, mask)
+
#define __arch_or_body(lock, mem, mask) \
do { \
@@ -484,7 +495,4 @@ typedef uintmax_t uatomic_max_t;
#define atomic_or(mem, mask) __arch_or_body (LOCK_PREFIX, mem, mask)
-#define __arch_or_cprefix \
- "cmpl $0, %%fs:%P3\n\tje 0f\n\tlock\n0:\t"
-
-#define catomic_or(mem, mask) __arch_or_body (__arch_or_cprefix, mem, mask)
+#define catomic_or(mem, mask) __arch_or_body (__arch_cprefix, mem, mask)
diff --git a/libc/time/tzset.c b/libc/time/tzset.c
index a6fed4abc..45d70518a 100644
--- a/libc/time/tzset.c
+++ b/libc/time/tzset.c
@@ -1,4 +1,4 @@
-/* Copyright (C) 1991-2002,2003,2004,2007 Free Software Foundation, Inc.
+/* Copyright (C) 1991-2002,2003,2004,2007,2009 Free Software Foundation, Inc.
This file is part of the GNU C Library.
The GNU C Library is free software; you can redistribute it and/or
@@ -244,7 +244,7 @@ __tzset_parse_tz (tz)
ss = 0;
case 3:
tz_rules[1].offset *= (min (ss, 59) + (min (mm, 59) * 60) +
- (min (hh, 23) * (60 * 60)));
+ (min (hh, 24) * (60 * 60)));
break;
}
for (l = 0; l < 3; ++l)
diff --git a/ports/ChangeLog.arm b/ports/ChangeLog.arm
index 52480aca4..864fd5711 100644
--- a/ports/ChangeLog.arm
+++ b/ports/ChangeLog.arm
@@ -1,3 +1,36 @@
+2009-02-13 Khem Raj <raj.khem@gmail.com>
+
+ * sysdeps/unix/sysv/linux/arm/nptl/unwind-forcedunwind.c
+ (libgcc_s_handle): New variable.
+ (pthread_cancel_init): Depend in libgcc_s_handle for decision to
+ load DSO. Assign last.
+ (__unwind_freeres): New function.
+
+ * sysdeps/unix/sysv/linux/arm/eabi/nptl/unwind-forcedunwind.c:
+ Likewise.
+
+2009-02-05 Paul Brook <paul@codesourcery.com>
+ Joseph Myers <joseph@codesourcery.com>
+
+ * sysdeps/arm/dl-machine.h (elf_machine_dynamic): Ditto.
+ (elf_machine_load_address): Clear T bit of PLT entry contents.
+ (RTLD_START): Mark function symbols as such. Tweak pc-relative
+ addressing to avoid depending on pc read pipeline offset.
+ * sysdeps/arm/machine-gmon.h (MCOUNT): Add Thumb-2 implementation.
+ * sysdeps/arm/tls-macros.h: Add alignment for Thumb-2.
+ (ARM_PC_OFFSET): Define.
+ (TLS_IE): Define differently for Thumb-2.
+ (TLS_LE, TLS_LD, TLS_GD): Use ARM_PC_OFFSET.
+ * sysdeps/arm/elf/start.S: Switch to thumb mode for Thumb-2.
+ * sysdeps/unix/sysv/linux/arm/eabi/sysdep.h (INTERNAL_SYSCALL_RAW):
+ Add Thumb implementation.
+ * sysdeps/unix/sysv/linux/arm/eabi/nptl/aio_misc.h: New.
+ * sysdeps/unix/sysv/linux/arm/eabi/nptl/unwind-resume.c: Enforce
+ alignment for Thumb-2. Adjust offset from PC for Thumb-2.
+ * sysdeps/unix/sysv/linux/arm/eabi/nptl/unwind-forcedunwind.c: Ditto.
+ * sysdeps/unix/sysv/linux/arm/nptl/bits/atomic.h (atomic_full_barrier,
+ __arch_compare_and_exchange_val_32_acq): Add Thumb-2 implementation.
+
2009-02-02 Joseph Myers <joseph@codesourcery.com>
* sysdeps/unix/sysv/linux/arm/bits/shm.h (SHM_EXEC): Define.
@@ -14,7 +47,7 @@
2009-01-27 Ryosei Takagi <ryosei@sm.sony.co.jp>
- * sysdeps/unix/sysv/linux/arm/nptl/lowlevellock.h
+ * sysdeps/unix/sysv/linux/arm/nptl/lowlevellock.h
(lll_futex_wake_unlock, lll_futex_requeue): Return zero if success.
2009-01-27 Daniel Jacobowitz <dan@codesourcery.com>
diff --git a/ports/ChangeLog.hppa b/ports/ChangeLog.hppa
index 3d570dba9..a817e5f02 100644
--- a/ports/ChangeLog.hppa
+++ b/ports/ChangeLog.hppa
@@ -1,3 +1,20 @@
+2009-02-13 Khem Raj <raj.khem@gmail.com>
+
+ * sysdeps/unix/sysv/linux/hppa/nptl/unwind-forcedunwind.c
+ (libgcc_s_handle): New variable.
+ (pthread_cancel_init): Depend in libgcc_s_handle for decision to
+ load DSO. Assign last.
+ (__unwind_freeres): New function.
+
+2009-02-09 Arthur Loiret <aloiret@debian.org>
+
+ [BZ #9717]
+
+ * sysdeps/unix/sysv/linux/hppa/linuxthreads/malloc-machine.h
+ (MALLOC): Adjust __libc_tsd_define arguments.
+ (tsd_setspecific, tsd_getspecific): Adjust __libc_tsd_{set,get}
+ arguments.
+
2008-08-07 Helge Deller <deller@gmx.de>
* sysdeps/unix/sysv/linux/hppa/ucontext_i.sym: New file.
diff --git a/ports/ChangeLog.mips b/ports/ChangeLog.mips
index bccb10d79..a52748add 100644
--- a/ports/ChangeLog.mips
+++ b/ports/ChangeLog.mips
@@ -1,3 +1,9 @@
+2009-02-13 Joseph Myers <joseph@codesourcery.com>
+
+ [BZ #7040]
+ * sysdeps/unix/sysv/linux/mips/sys/inotify.h: Second parameter of
+ inotify_rm_watch should have type int.
+
2009-02-02 Joseph Myers <joseph@codesourcery.com>
* sysdeps/unix/sysv/linux/mips/bits/shm.h (SHM_EXEC): Define.
diff --git a/ports/sysdeps/unix/sysv/linux/arm/eabi/nptl/unwind-forcedunwind.c b/ports/sysdeps/unix/sysv/linux/arm/eabi/nptl/unwind-forcedunwind.c
index 71ab77c6f..ed321a396 100644
--- a/ports/sysdeps/unix/sysv/linux/arm/eabi/nptl/unwind-forcedunwind.c
+++ b/ports/sysdeps/unix/sysv/linux/arm/eabi/nptl/unwind-forcedunwind.c
@@ -1,4 +1,4 @@
-/* Copyright (C) 2003, 2005, 2007 Free Software Foundation, Inc.
+/* Copyright (C) 2003, 2005, 2007, 2009 Free Software Foundation, Inc.
This file is part of the GNU C Library.
Contributed by Jakub Jelinek <jakub@redhat.com>.
@@ -22,6 +22,7 @@
#include <unwind.h>
#include <pthreadP.h>
+static void *libgcc_s_handle;
static void (*libgcc_s_resume) (struct _Unwind_Exception *exc);
static _Unwind_Reason_Code (*libgcc_s_personality)
(_Unwind_State, struct _Unwind_Exception *, struct _Unwind_Context *);
@@ -36,7 +37,7 @@ pthread_cancel_init (void)
void *resume, *personality, *forcedunwind, *getcfa;
void *handle;
- if (__builtin_expect (libgcc_s_getcfa != NULL, 1))
+ if (__builtin_expect (libgcc_s_handle != NULL, 1))
{
/* Force gcc to reload all values. */
asm volatile ("" ::: "memory");
@@ -60,11 +61,24 @@ pthread_cancel_init (void)
libgcc_s_resume = resume;
libgcc_s_personality = personality;
libgcc_s_forcedunwind = forcedunwind;
+ libgcc_s_getcfa = getcfa;
/* Make sure libgcc_s_getcfa is written last. Otherwise,
pthread_cancel_init might return early even when the pointer the
caller is interested in is not initialized yet. */
atomic_write_barrier ();
- libgcc_s_getcfa = getcfa;
+ libgcc_s_handle = handle;
+}
+
+void
+__libc_freeres_fn_section
+__unwind_freeres (void)
+{
+ void *handle = libgcc_s_handle;
+ if (handle != NULL)
+ {
+ libgcc_s_handle = NULL;
+ __libc_dlclose (handle);
+ }
}
/* It's vitally important that _Unwind_Resume not have a stack frame; the
diff --git a/ports/sysdeps/unix/sysv/linux/arm/nptl/unwind-forcedunwind.c b/ports/sysdeps/unix/sysv/linux/arm/nptl/unwind-forcedunwind.c
index b28196356..e19facfb8 100644
--- a/ports/sysdeps/unix/sysv/linux/arm/nptl/unwind-forcedunwind.c
+++ b/ports/sysdeps/unix/sysv/linux/arm/nptl/unwind-forcedunwind.c
@@ -1,4 +1,4 @@
-/* Copyright (C) 2003 Free Software Foundation, Inc.
+/* Copyright (C) 2003, 2009 Free Software Foundation, Inc.
This file is part of the GNU C Library.
Contributed by Jakub Jelinek <jakub@redhat.com>.
@@ -22,6 +22,7 @@
#include <unwind.h>
#include <pthreadP.h>
+static void *libgcc_s_handle;
static void (*libgcc_s_resume) (struct _Unwind_Exception *exc);
static _Unwind_Reason_Code (*libgcc_s_personality)
(int, _Unwind_Action, _Unwind_Exception_Class, struct _Unwind_Exception *,
@@ -40,7 +41,7 @@ pthread_cancel_init (void)
void *handle;
void *sjlj_register, *sjlj_unregister;
- if (__builtin_expect (libgcc_s_getcfa != NULL, 1))
+ if (__builtin_expect (libgcc_s_handle != NULL, 1))
{
/* Force gcc to reload all values. */
asm volatile ("" ::: "memory");
@@ -65,11 +66,24 @@ pthread_cancel_init (void)
libgcc_s_forcedunwind = forcedunwind;
libgcc_s_sjlj_register = sjlj_register;
libgcc_s_sjlj_unregister = sjlj_unregister;
+ libgcc_s_getcfa = getcfa;
/* Make sure libgcc_s_getcfa is written last. Otherwise,
pthread_cancel_init might return early even when the pointer the
caller is interested in is not initialized yet. */
atomic_write_barrier ();
- libgcc_s_getcfa = getcfa;
+ libgcc_s_handle = handle;
+}
+
+void
+__libc_freeres_fn_section
+__unwind_freeres (void)
+{
+ void *handle = libgcc_s_handle;
+ if (handle != NULL)
+ {
+ libgcc_s_handle = NULL;
+ __libc_dlclose (handle);
+ }
}
void
diff --git a/ports/sysdeps/unix/sysv/linux/hppa/linuxthreads/malloc-machine.h b/ports/sysdeps/unix/sysv/linux/hppa/linuxthreads/malloc-machine.h
index 817cf5922..5dc6e6fa7 100644
--- a/ports/sysdeps/unix/sysv/linux/hppa/linuxthreads/malloc-machine.h
+++ b/ports/sysdeps/unix/sysv/linux/hppa/linuxthreads/malloc-machine.h
@@ -63,10 +63,10 @@ extern void *__dso_handle __attribute__ ((__weak__));
#include <bits/libc-tsd.h>
typedef int tsd_key_t[1]; /* no key data structure, libc magic does it */
-__libc_tsd_define (static, MALLOC) /* declaration/common definition */
+__libc_tsd_define (static, void *, MALLOC) /* declaration/common definition */
#define tsd_key_create(key, destr) ((void) (key))
-#define tsd_setspecific(key, data) __libc_tsd_set (MALLOC, (data))
-#define tsd_getspecific(key, vptr) ((vptr) = __libc_tsd_get (MALLOC))
+#define tsd_setspecific(key, data) __libc_tsd_set (void *, MALLOC, (data))
+#define tsd_getspecific(key, vptr) ((vptr) = __libc_tsd_get (void *, MALLOC))
#include <sysdeps/generic/malloc-machine.h>
diff --git a/ports/sysdeps/unix/sysv/linux/hppa/nptl/unwind-forcedunwind.c b/ports/sysdeps/unix/sysv/linux/hppa/nptl/unwind-forcedunwind.c
index 8666bbb3c..cea5d3b39 100644
--- a/ports/sysdeps/unix/sysv/linux/hppa/nptl/unwind-forcedunwind.c
+++ b/ports/sysdeps/unix/sysv/linux/hppa/nptl/unwind-forcedunwind.c
@@ -1,4 +1,4 @@
-/* Copyright (C) 2005, 2006 Free Software Foundation, Inc.
+/* Copyright (C) 2005, 2006, 2009 Free Software Foundation, Inc.
This file is part of the GNU C Library.
The GNU C Library is free software; you can redistribute it and/or
@@ -23,6 +23,7 @@
#define LIBGCC_S_SO "libgcc_s.so.4"
+static void *libgcc_s_handle;
static void (*libgcc_s_resume) (struct _Unwind_Exception *exc);
static _Unwind_Reason_Code (*libgcc_s_personality)
(int, _Unwind_Action, _Unwind_Exception_Class, struct _Unwind_Exception *,
@@ -42,7 +43,7 @@ pthread_cancel_init (void)
void *resume, *personality, *forcedunwind, *getcfa;
void *handle;
- if (__builtin_expect (libgcc_s_getcfa != NULL, 1))
+ if (__builtin_expect (libgcc_s_handle != NULL, 1))
{
/* Force gcc to reload all values. */
asm volatile ("" ::: "memory");
@@ -66,11 +67,24 @@ pthread_cancel_init (void)
libgcc_s_resume = resume;
libgcc_s_personality = personality;
libgcc_s_forcedunwind = forcedunwind;
+ libgcc_s_getcfa = getcfa;
/* Make sure libgcc_s_getcfa is written last. Otherwise,
pthread_cancel_init might return early even when the pointer the
caller is interested in is not initialized yet. */
atomic_write_barrier ();
- libgcc_s_getcfa = getcfa;
+ libgcc_s_handle = handle;
+}
+
+void
+__libc_freeres_fn_section
+__unwind_freeres (void)
+{
+ void *handle = libgcc_s_handle;
+ if (handle != NULL)
+ {
+ libgcc_s_handle = NULL;
+ __libc_dlclose (handle);
+ }
}
void
diff --git a/ports/sysdeps/unix/sysv/linux/mips/sys/inotify.h b/ports/sysdeps/unix/sysv/linux/mips/sys/inotify.h
index a811c7fc3..49f39470e 100644
--- a/ports/sysdeps/unix/sysv/linux/mips/sys/inotify.h
+++ b/ports/sysdeps/unix/sysv/linux/mips/sys/inotify.h
@@ -1,4 +1,4 @@
-/* Copyright (C) 2005, 2006, 2008 Free Software Foundation, Inc.
+/* Copyright (C) 2005, 2006, 2008, 2009 Free Software Foundation, Inc.
This file is part of the GNU C Library.
The GNU C Library is free software; you can redistribute it and/or
@@ -98,7 +98,7 @@ extern int inotify_add_watch (int __fd, const char *__name, uint32_t __mask)
__THROW;
/* Remove the watch specified by WD from the inotify instance FD. */
-extern int inotify_rm_watch (int __fd, uint32_t __wd) __THROW;
+extern int inotify_rm_watch (int __fd, int __wd) __THROW;
__END_DECLS