[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[commits] r5760 - in /trunk: libc/ libc/intl/ libc/locale/ libc/locale/programs/ libc/localedata/ libc/localedata/locales/ libc/nptl/ ...
- To: commits@xxxxxxxxxx
- Subject: [commits] r5760 - in /trunk: libc/ libc/intl/ libc/locale/ libc/locale/programs/ libc/localedata/ libc/localedata/locales/ libc/nptl/ ...
- From: joseph@xxxxxxxxxx
- Date: Wed, 02 Apr 2008 11:55:21 -0000
Author: joseph
Date: Wed Apr 2 04:55:20 2008
New Revision: 5760
Log:
Merge changes between r5678 and r5759 from /fsf/trunk.
Added:
trunk/libc/intl/tst-gettext6.c
- copied unchanged from r5759, fsf/trunk/libc/intl/tst-gettext6.c
trunk/libc/intl/tst-gettext6.sh
- copied unchanged from r5759, fsf/trunk/libc/intl/tst-gettext6.sh
Modified:
trunk/libc/ChangeLog
trunk/libc/intl/Makefile
trunk/libc/intl/dcigettext.c
trunk/libc/locale/duplocale.c
trunk/libc/locale/freelocale.c
trunk/libc/locale/newlocale.c
trunk/libc/locale/programs/ld-time.c
trunk/libc/locale/programs/locfile.c
trunk/libc/locale/setlocale.c
trunk/libc/localedata/ChangeLog
trunk/libc/localedata/Makefile
trunk/libc/localedata/locales/iso14651_t1_common
trunk/libc/nptl/ChangeLog
trunk/libc/nptl/sysdeps/unix/sysv/linux/alpha/bits/local_lim.h
trunk/libc/nptl/sysdeps/unix/sysv/linux/bits/local_lim.h
trunk/libc/nptl/sysdeps/unix/sysv/linux/ia64/bits/local_lim.h
trunk/libc/nptl/sysdeps/unix/sysv/linux/powerpc/bits/local_lim.h
trunk/libc/nptl/sysdeps/unix/sysv/linux/sparc/bits/local_lim.h
trunk/libc/nscd/nscd.c
trunk/libc/po/nl.po
trunk/libc/posix/getopt.c
trunk/libc/stdio-common/vfprintf.c
trunk/libc/stdlib/strtod_l.c
trunk/libc/string/strfry.c
trunk/libc/sunrpc/auth_unix.c
trunk/libc/sunrpc/clnt_tcp.c
trunk/libc/sunrpc/clnt_udp.c
trunk/libc/sunrpc/clnt_unix.c
trunk/libc/sunrpc/svc_tcp.c
trunk/libc/sunrpc/svc_udp.c
trunk/libc/sunrpc/svc_unix.c
trunk/libc/sunrpc/xdr.c
trunk/libc/sunrpc/xdr_array.c
trunk/libc/sunrpc/xdr_rec.c
trunk/libc/sunrpc/xdr_ref.c
trunk/libc/sysdeps/posix/tempname.c
trunk/libc/sysdeps/unix/opendir.c
trunk/libc/sysdeps/unix/sysv/linux/alpha/syscalls.list
trunk/libc/sysdeps/unix/sysv/linux/bits/local_lim.h
trunk/libc/sysdeps/unix/sysv/linux/ia64/syscalls.list
trunk/libc/sysdeps/unix/sysv/linux/powerpc/powerpc64/syscalls.list
trunk/libc/sysdeps/unix/sysv/linux/s390/s390-64/syscalls.list
trunk/libc/sysdeps/unix/sysv/linux/sys/param.h
trunk/libc/sysdeps/unix/sysv/linux/sysconf.c
trunk/libc/sysdeps/unix/sysv/linux/wordsize-64/syscalls.list
trunk/libc/sysdeps/unix/sysv/linux/x86_64/syscalls.list
trunk/ports/ChangeLog.m68k
trunk/ports/ChangeLog.mips
trunk/ports/sysdeps/m68k/dl-machine.h
trunk/ports/sysdeps/unix/sysv/linux/mips/nptl/bits/local_lim.h
trunk/ports/sysdeps/unix/sysv/linux/mips/sys/tas.h
Modified: trunk/libc/ChangeLog
==============================================================================
--- trunk/libc/ChangeLog (original)
+++ trunk/libc/ChangeLog Wed Apr 2 04:55:20 2008
@@ -1,3 +1,88 @@
+2008-03-31 Ulrich Drepper <drepper@xxxxxxxxxx>
+
+ [BZ #6007]
+ * string/strfry.c: Handle empty strings again.
+
+2008-03-30 Ulrich Drepper <drepper@xxxxxxxxxx>
+
+ [BZ #5443]
+ * intl/dcigettext.c (__dcigettext): Get reader lock for locale data
+ before looking for translation.
+ * locale/duplocale.c: Transform __libc_setlocale_lock into rwlock.
+ * locale/freelocale.c: Likewise.
+ * locale/newlocale.c: Likewise.
+ * locale/setlocale.c: Likewise.
+ Based partially on a patch by ryo@xxxxxxxxxxxxxxxxxxx
+
+2008-03-30 Jakub Jelinek <jakub@xxxxxxxxxx>
+
+ * intl/dcigettext.c (_nl_find_msg): Reread nconversions after
+ acquiring wrlock. Do conv_tab allocation while holding lock.
+ * intl/Makefile: Add rules to build and run tst-gettext6.
+ * intl/tst-gettext6.c: New test.
+ * intl/tst-gettext6.sh: New file.
+
+2008-03-30 Ulrich Drepper <drepper@xxxxxxxxxx>
+
+ * po/nl.po: Update from translation team.
+
+ * sysdeps/unix/opendir.c (__alloc_dir): If allocation fails for size
+ provided through st_blksize, try the default size before giving up.
+
+2008-03-29 Ulrich Drepper <drepper@xxxxxxxxxx>
+
+ * stdio-common/vfprintf.c (vfprintf): Correct overflow test.
+
+ [BZ #5939]
+ * sysdeps/posix/tempname.c (__gen_tempname): Correct flag selection.
+
+ * posix/getopt.c (_getopt_internal_r): Remove old POSIX-demanded
+ error message. POSIX today does not require the messages to be in
+ a specific form. Suggested by Jim Meyering <jim@xxxxxxxxxxxx>.
+
+ [BZ #5979]
+ * sunrpc/auth_unix.c: Unify printed strings.
+ * sunrpc/clnt_tcp.c: Likewise.
+ * sunrpc/clnt_udp.c: Likewise.
+ * sunrpc/clnt_unix.c: Likewise.
+ * sunrpc/svc_tcp.c: Likewise.
+ * sunrpc/svc_udp.c: Likewise.
+ * sunrpc/svc_unix.c: Likewise.
+ * sunrpc/xdr.c: Likewise.
+ * sunrpc/xdr_array.c: Likewise.
+ * sunrpc/xdr_rec.c: Likewise.
+ * sunrpc/xdr_ref.c: Likewise.
+ * locale/programs/ld-time.c (time_finish): Unify messages.
+ * locale/programs/locfile.c (handle_copy): Fix typo.
+ * nscd/nscd.c (options): Fix typo.
+
+ [BZ #5995]
+ * stdlib/strtod_l.c: Use correct sign for result in one more
+ underflow case.
+ Patch by Eric Blake <ebb9@xxxxxxx>.
+
+2008-03-27 Jakub Jelinek <jakub@xxxxxxxxxx>
+
+ * sysdeps/unix/sysv/linux/wordsize-64/syscalls.list: Add open
+ and creat system calls.
+ * sysdeps/unix/sysv/linux/alpha/syscalls.list: Remove open system
+ call.
+ * sysdeps/unix/sysv/linux/ia64/syscalls.list: Remove open and creat
+ system calls.
+ * sysdeps/unix/sysv/linux/powerpc/powerpc64/syscalls.list: Likewise.
+ * sysdeps/unix/sysv/linux/s390/s390-64/syscalls.list: Likewise.
+ * sysdeps/unix/sysv/linux/x86_64/syscalls.list: Likewise.
+
+2008-03-27 Ulrich Drepper <drepper@xxxxxxxxxx>
+
+ * sysdeps/unix/sysv/linux/bits/local_lim.h: Undefined ARG_MAX if
+ <linux/limits.h> has defined it.
+ * sysdeps/unix/sysv/linux/sys/param.h: Define NCARGS to the legacy
+ ARG_MAX value and prevent ARG_MAX from being defined by the kernel
+ headers.
+ * sysdeps/unix/sysv/linux/sysconf.c: Define legacy_ARG_MAX and use
+ it instead of ARG_MAX.
+
2008-03-25 Jakub Jelinek <jakub@xxxxxxxxxx>
* posix/gai.conf: Fix comment for scope nullbits.
Modified: trunk/libc/intl/Makefile
==============================================================================
--- trunk/libc/intl/Makefile (original)
+++ trunk/libc/intl/Makefile Wed Apr 2 04:55:20 2008
@@ -1,4 +1,4 @@
-# Copyright (C) 1995-2003, 2005 Free Software Foundation, Inc.
+# Copyright (C) 1995-2003, 2005, 2008 Free Software Foundation, Inc.
# This file is part of the GNU C Library.
# The GNU C Library is free software; you can redistribute it and/or
@@ -33,11 +33,11 @@
tst-codeset.sh tstcodeset.po \
tst-gettext3.sh \
tst-gettext4.sh tst-gettext4-de.po tst-gettext4-fr.po \
- tst-gettext5.sh
+ tst-gettext5.sh tst-gettext6.sh
include ../Makeconfig
-multithread-test-srcs := tst-gettext4 tst-gettext5
+multithread-test-srcs := tst-gettext4 tst-gettext5 tst-gettext6
test-srcs := tst-gettext tst-translit tst-gettext2 tst-codeset tst-gettext3
ifeq ($(have-thread-library),yes)
test-srcs += $(multithread-test-srcs)
@@ -68,7 +68,8 @@
tests: $(objpfx)tst-translit.out $(objpfx)tst-gettext2.out \
$(objpfx)tst-codeset.out $(objpfx)tst-gettext3.out
ifeq ($(have-thread-library),yes)
-tests: $(objpfx)tst-gettext4.out $(objpfx)tst-gettext5.out
+tests: $(objpfx)tst-gettext4.out $(objpfx)tst-gettext5.out \
+ $(objpfx)tst-gettext6.out
endif
ifneq (no,$(PERL))
tests: $(objpfx)mtrace-tst-gettext
@@ -95,6 +96,8 @@
$(SHELL) -e $< $(common-objpfx) '$(run-program-prefix)' $(common-objpfx)intl/
$(objpfx)tst-gettext5.out: tst-gettext5.sh $(objpfx)tst-gettext5
$(SHELL) -e $< $(common-objpfx) '$(run-program-prefix)' $(common-objpfx)intl/
+$(objpfx)tst-gettext6.out: tst-gettext6.sh $(objpfx)tst-gettext6
+ $(SHELL) -e $< $(common-objpfx) '$(run-program-prefix)' $(common-objpfx)intl/
endif
# eglibc: endif
@@ -109,6 +112,7 @@
CFLAGS-tst-gettext3.c = -DOBJPFX=\"$(objpfx)\"
CFLAGS-tst-gettext4.c = -DOBJPFX=\"$(objpfx)\"
CFLAGS-tst-gettext5.c = -DOBJPFX=\"$(objpfx)\"
+CFLAGS-tst-gettext6.c = -DOBJPFX=\"$(objpfx)\"
ifeq ($(have-thread-library),yes)
ifeq (yes,$(build-shared))
@@ -127,6 +131,7 @@
$(objpfx)tst-gettext3.out: $(objpfx)tst-gettext.out
$(objpfx)tst-gettext4.out: $(objpfx)tst-gettext.out
$(objpfx)tst-gettext5.out: $(objpfx)tst-gettext.out
+$(objpfx)tst-gettext6.out: $(objpfx)tst-gettext.out
CPPFLAGS += -D'LOCALEDIR="$(msgcatdir)"' \
-D'LOCALE_ALIAS_PATH="$(msgcatdir)"'
Modified: trunk/libc/intl/dcigettext.c
==============================================================================
--- trunk/libc/intl/dcigettext.c (original)
+++ trunk/libc/intl/dcigettext.c Wed Apr 2 04:55:20 2008
@@ -1,5 +1,6 @@
/* Implementation of the internal dcigettext function.
- Copyright (C) 1995-2005, 2006, 2007 Free Software Foundation, Inc.
+ Copyright (C) 1995-2005, 2006, 2007, 2008
+ 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
@@ -453,6 +454,11 @@
: n == 1 ? (char *) msgid1 : (char *) msgid2);
#endif
+#ifdef _LIBC
+ __libc_rwlock_define (extern, __libc_setlocale_lock attribute_hidden)
+ __libc_rwlock_rdlock (__libc_setlocale_lock);
+#endif
+
__libc_rwlock_rdlock (_nl_state_lock);
/* If DOMAINNAME is NULL, we are interested in the default domain. If
@@ -471,7 +477,7 @@
# ifdef HAVE_PER_THREAD_LOCALE
# ifdef _LIBC
# if __OPTION_EGLIBC_LOCALE_CODE
- localename = __current_locale_name (category);
+ localename = strdupa (__current_locale_name (category));
# else
localename = "C";
# endif
@@ -497,6 +503,9 @@
else
retval = (char *) (*foundp)->translation;
+# ifdef _LIBC
+ __libc_rwlock_unlock (__libc_setlocale_lock);
+# endif
__libc_rwlock_unlock (_nl_state_lock);
return retval;
}
@@ -556,6 +565,7 @@
/* We cannot get the current working directory. Don't signal an
error but simply return the default string. */
FREE_BLOCKS (block_list);
+ __libc_rwlock_unlock (__libc_setlocale_lock);
__libc_rwlock_unlock (_nl_state_lock);
__set_errno (saved_errno);
return (plural == 0
@@ -622,6 +632,7 @@
{
no_translation:
FREE_BLOCKS (block_list);
+ __libc_rwlock_unlock (__libc_setlocale_lock);
__libc_rwlock_unlock (_nl_state_lock);
__set_errno (saved_errno);
return (plural == 0
@@ -735,6 +746,7 @@
if (plural)
retval = plural_lookup (domain, n, retval, retlen);
+ __libc_rwlock_unlock (__libc_setlocale_lock);
__libc_rwlock_unlock (_nl_state_lock);
return retval;
}
@@ -887,6 +899,7 @@
{
/* We have to allocate a new conversions table. */
__libc_rwlock_wrlock (domain->conversions_lock);
+ nconversions = domain->nconversions;
/* Maybe in the meantime somebody added the translation.
Recheck. */
@@ -1041,6 +1054,7 @@
# endif
)
{
+ __libc_lock_define_initialized (static, lock)
/* We are supposed to do a conversion. First allocate an
appropriate table with the same structure as the table
of translations in the file, where we can put the pointers
@@ -1050,13 +1064,21 @@
handle this case by converting RESULTLEN bytes, including
NULs. */
- if (convd->conv_tab == NULL
- && ((convd->conv_tab =
- (char **) calloc (nstrings + domain->n_sysdep_strings,
- sizeof (char *)))
- == NULL))
- /* Mark that we didn't succeed allocating a table. */
- convd->conv_tab = (char **) -1;
+ if (__builtin_expect (convd->conv_tab == NULL, 0))
+ {
+ __libc_lock_lock (lock);
+ if (convd->conv_tab == NULL)
+ {
+ convd->conv_tab
+ = calloc (nstrings + domain->n_sysdep_strings,
+ sizeof (char *));
+ if (convd->conv_tab != NULL)
+ goto not_translated_yet;
+ /* Mark that we didn't succeed allocating a table. */
+ convd->conv_tab = (char **) -1;
+ }
+ __libc_lock_unlock (lock);
+ }
if (__builtin_expect (convd->conv_tab == (char **) -1, 0))
/* Nothing we can do, no more memory. We cannot use the
@@ -1065,12 +1087,14 @@
if (convd->conv_tab[act] == NULL)
{
+ __libc_lock_lock (lock);
+ not_translated_yet:;
+
/* We haven't used this string so far, so it is not
translated yet. Do this now. */
/* We use a bit more efficient memory handling.
We allocate always larger blocks which get used over
time. This is faster than many small allocations. */
- __libc_lock_define_initialized (static, lock)
# define INITIAL_BLOCK_SIZE 4080
static unsigned char *freemem;
static size_t freemem_size;
@@ -1081,8 +1105,6 @@
# ifndef _LIBC
transmem_block_t *transmem_list = NULL;
# endif
-
- __libc_lock_lock (lock);
inbuf = (const unsigned char *) result;
outbuf = freemem + sizeof (size_t);
Modified: trunk/libc/locale/duplocale.c
==============================================================================
--- trunk/libc/locale/duplocale.c (original)
+++ trunk/libc/locale/duplocale.c Wed Apr 2 04:55:20 2008
@@ -1,5 +1,5 @@
/* Duplicate handle for selection of locales.
- Copyright (C) 1997, 2000, 2001, 2002, 2005 Free Software Foundation, Inc.
+ Copyright (C) 1997,2000,2001,2002,2005,2008 Free Software Foundation, Inc.
This file is part of the GNU C Library.
Contributed by Ulrich Drepper <drepper@xxxxxxxxxx>, 1997.
@@ -27,7 +27,7 @@
/* Lock for protecting global data. */
-__libc_lock_define (extern , __libc_setlocale_lock attribute_hidden)
+__libc_rwlock_define (extern , __libc_setlocale_lock attribute_hidden)
__locale_t
@@ -54,7 +54,7 @@
char *namep = (char *) (result + 1);
/* We modify global data (the usage counts). */
- __libc_lock_lock (__libc_setlocale_lock);
+ __libc_rwlock_wrlock (__libc_setlocale_lock);
for (cnt = 0; cnt < __LC_LAST; ++cnt)
if (cnt != LC_ALL)
@@ -78,7 +78,7 @@
result->__ctype_toupper = dataset->__ctype_toupper;
/* It's done. */
- __libc_lock_unlock (__libc_setlocale_lock);
+ __libc_rwlock_unlock (__libc_setlocale_lock);
}
return result;
Modified: trunk/libc/locale/freelocale.c
==============================================================================
--- trunk/libc/locale/freelocale.c (original)
+++ trunk/libc/locale/freelocale.c Wed Apr 2 04:55:20 2008
@@ -1,5 +1,5 @@
/* Free data allocated by a call to setlocale_r
- Copyright (C) 1996, 1997, 2000, 2002, 2005 Free Software Foundation, Inc.
+ Copyright (C) 1996,1997,2000,2002,2005,2008 Free Software Foundation, Inc.
This file is part of the GNU C Library.
Contributed by Ulrich Drepper <drepper@xxxxxxxxxx>, 1996.
@@ -26,7 +26,7 @@
/* Lock for protecting global data. */
-__libc_lock_define (extern , __libc_setlocale_lock attribute_hidden)
+__libc_rwlock_define (extern , __libc_setlocale_lock attribute_hidden)
void
@@ -39,7 +39,7 @@
return;
/* We modify global data (the usage counts). */
- __libc_lock_lock (__libc_setlocale_lock);
+ __libc_rwlock_wrlock (__libc_setlocale_lock);
for (cnt = 0; cnt < __LC_LAST; ++cnt)
if (cnt != LC_ALL && dataset->__locales[cnt]->usage_count != UNDELETABLE)
@@ -47,7 +47,7 @@
_nl_remove_locale (cnt, dataset->__locales[cnt]);
/* It's done. */
- __libc_lock_unlock (__libc_setlocale_lock);
+ __libc_rwlock_unlock (__libc_setlocale_lock);
/* Free the locale_t handle itself. */
free (dataset);
Modified: trunk/libc/locale/newlocale.c
==============================================================================
--- trunk/libc/locale/newlocale.c (original)
+++ trunk/libc/locale/newlocale.c Wed Apr 2 04:55:20 2008
@@ -1,5 +1,5 @@
/* Return a reference to locale information record.
- Copyright (C) 1996, 1997, 1999, 2000-2002, 2004, 2005, 2006
+ Copyright (C) 1996, 1997, 1999, 2000-2002, 2004, 2005, 2006, 2008
Free Software Foundation, Inc.
This file is part of the GNU C Library.
Contributed by Ulrich Drepper <drepper@xxxxxxxxxx>, 1996.
@@ -30,7 +30,7 @@
/* Lock for protecting global data. */
-__libc_lock_define (extern , __libc_setlocale_lock attribute_hidden)
+__libc_rwlock_define (extern , __libc_setlocale_lock attribute_hidden)
/* Use this when we come along an error. */
@@ -162,7 +162,7 @@
}
/* Protect global data. */
- __libc_lock_lock (__libc_setlocale_lock);
+ __libc_rwlock_wrlock (__libc_setlocale_lock);
/* Now process all categories we are interested in. */
names_len = 0;
@@ -183,7 +183,7 @@
_nl_remove_locale (cnt, result.__locales[cnt]);
/* Critical section left. */
- __libc_lock_unlock (__libc_setlocale_lock);
+ __libc_rwlock_unlock (__libc_setlocale_lock);
return NULL;
}
@@ -263,7 +263,7 @@
}
/* Critical section left. */
- __libc_lock_unlock (__libc_setlocale_lock);
+ __libc_rwlock_unlock (__libc_setlocale_lock);
/* Update the special members. */
update:
Modified: trunk/libc/locale/programs/ld-time.c
==============================================================================
--- trunk/libc/locale/programs/ld-time.c (original)
+++ trunk/libc/locale/programs/ld-time.c Wed Apr 2 04:55:20 2008
@@ -1,4 +1,4 @@
-/* Copyright (C) 1995-2005, 2006, 2007 Free Software Foundation, Inc.
+/* Copyright (C) 1995-2005, 2006, 2007, 2008 Free Software Foundation, Inc.
This file is part of the GNU C Library.
Contributed by Ulrich Drepper <drepper@xxxxxxx>, 1995.
@@ -435,7 +435,7 @@
&& !__isleap (time->era_entries[idx].stop_date[0])))
&& !be_quiet)
WITH_CUR_LOCALE (error (0, 0, _("\
-%s: stopping date is invalid in string %Zd in `era' field"),
+%s: invalid stopping date in string %Zd in `era' field"),
"LC_TIME", idx + 1));
}
}
Modified: trunk/libc/locale/programs/locfile.c
==============================================================================
--- trunk/libc/locale/programs/locfile.c (original)
+++ trunk/libc/locale/programs/locfile.c Wed Apr 2 04:55:20 2008
@@ -1,4 +1,4 @@
-/* Copyright (C) 1996-2004, 2005, 2006 Free Software Foundation, Inc.
+/* Copyright (C) 1996-2004, 2005, 2006, 2008 Free Software Foundation, Inc.
This file is part of the GNU C Library.
Contributed by Ulrich Drepper <drepper@xxxxxxx>, 1996.
@@ -955,7 +955,7 @@
now = lr_token (ldfile, charmap, result, NULL, verbose);
if (now->tok != tok_string)
- lr_error (ldfile, _("expect string argument for `copy'"));
+ lr_error (ldfile, _("expecting string argument for `copy'"));
else if (!ignore_content)
{
if (now->val.str.startmb == NULL)
Modified: trunk/libc/locale/setlocale.c
==============================================================================
--- trunk/libc/locale/setlocale.c (original)
+++ trunk/libc/locale/setlocale.c Wed Apr 2 04:55:20 2008
@@ -1,4 +1,4 @@
-/* Copyright (C) 1991, 1992, 1995-2000, 2002, 2003, 2004, 2006
+/* Copyright (C) 1991, 1992, 1995-2000, 2002, 2003, 2004, 2006, 2008
Free Software Foundation, Inc.
This file is part of the GNU C Library.
@@ -93,7 +93,7 @@
/* Lock for protecting global data. */
-__libc_lock_define_initialized (, __libc_setlocale_lock attribute_hidden)
+__libc_rwlock_define_initialized (, __libc_setlocale_lock attribute_hidden)
/* Defined in loadmsgcat.c. */
extern int _nl_msg_cat_cntr;
@@ -284,7 +284,7 @@
}
/* Protect global data. */
- __libc_lock_lock (__libc_setlocale_lock);
+ __libc_rwlock_wrlock (__libc_setlocale_lock);
/* Load the new data for each category. */
while (category-- > 0)
@@ -351,7 +351,7 @@
free ((char *) newnames[category]);
/* Critical section left. */
- __libc_lock_unlock (__libc_setlocale_lock);
+ __libc_rwlock_unlock (__libc_setlocale_lock);
/* Free the resources (the locale path variable). */
free (locale_path);
@@ -364,7 +364,7 @@
const char *newname[1] = { locale };
/* Protect global data. */
- __libc_lock_lock (__libc_setlocale_lock);
+ __libc_rwlock_wrlock (__libc_setlocale_lock);
if (CATEGORY_USED (category))
{
@@ -416,7 +416,7 @@
}
/* Critical section left. */
- __libc_lock_unlock (__libc_setlocale_lock);
+ __libc_rwlock_unlock (__libc_setlocale_lock);
/* Free the resources (the locale path variable. */
free (locale_path);
Modified: trunk/libc/localedata/ChangeLog
==============================================================================
--- trunk/libc/localedata/ChangeLog (original)
+++ trunk/libc/localedata/ChangeLog Wed Apr 2 04:55:20 2008
@@ -1,3 +1,12 @@
+2008-03-31 Ulrich Drepper <drepper@xxxxxxxxxx>
+
+ * locales/iso14651_t1_common: Add support for Gujarati script.
+ Patch by Pravin Satpute <psatpute@xxxxxxxxxx>.
+
+2008-03-30 Jakub Jelinek <jakub@xxxxxxxxxx>
+
+ * Makefile (LOCALES): Add ja_JP.UTF-8.
+
2008-03-23 Ulrich Drepper <drepper@xxxxxxxxxx>
* locales/iso14651_t1_common: Add support for Devanagari script.
Modified: trunk/libc/localedata/Makefile
==============================================================================
--- trunk/libc/localedata/Makefile (original)
+++ trunk/libc/localedata/Makefile Wed Apr 2 04:55:20 2008
@@ -148,7 +148,8 @@
en_US.ISO-8859-1 ja_JP.EUC-JP da_DK.ISO-8859-1 \
hr_HR.ISO-8859-2 sv_SE.ISO-8859-1 ja_JP.SJIS fr_FR.ISO-8859-1 \
vi_VN.TCVN5712-1 nb_NO.ISO-8859-1 nn_NO.ISO-8859-1 \
- tr_TR.UTF-8 cs_CZ.UTF-8 zh_TW.EUC-TW fa_IR.UTF-8 fr_FR.UTF-8
+ tr_TR.UTF-8 cs_CZ.UTF-8 zh_TW.EUC-TW fa_IR.UTF-8 fr_FR.UTF-8 \
+ ja_JP.UTF-8
LOCALE_SRCS := $(shell echo "$(LOCALES)"|sed 's/\([^ .]*\)[^ ]*/\1/g')
CHARMAPS := $(shell echo "$(LOCALES)" | \
sed -e 's/[^ .]*[.]\([^ ]*\)/\1/g' -e s/SJIS/SHIFT_JIS/g)
Modified: trunk/libc/localedata/locales/iso14651_t1_common
==============================================================================
--- trunk/libc/localedata/locales/iso14651_t1_common (original)
+++ trunk/libc/localedata/locales/iso14651_t1_common Wed Apr 2 04:55:20 2008
@@ -61,6 +61,7 @@
script <ARMENIAN>
script <GEORGIAN>
script <DEVANAGARI>
+script <GUJARATI>
# Déclaration des symboles internes / Declaration of internal symbols
#
@@ -560,6 +561,96 @@
collating-symbol <dv-grave>
collating-symbol <dv-acute>
+#<GUJARATI>
+#
+# Added Akhand Characters in sorting as per requirement of mr_IN
+# gvd- denotes vowel modifier
+# gm- denotes matras
+# gvw- denotes vowels
+# <GNKT> denotes Nukta characters
+
+collating-element <gu-ksha> from "<U0A95><U0ACD><U0AB7>"
+collating-element <gu-dnya> from "<U0A9C><U0ACD><U0A9E>"
+collating-element <gu-shra> from "<U0AB6><U0ACD><U0AB0>"
+collating-element <gu-tra> from "<U0AA4><U0ACD><U0AB0>"
+
+# defning symbols
+collating-symbol <GNKT>
+collating-symbol <gom>
+collating-symbol <gvw-a>
+collating-symbol <gvw-aa>
+collating-symbol <gvw-i>
+collating-symbol <gvw-ii>
+collating-symbol <gvw-u>
+collating-symbol <gvw-uu>
+collating-symbol <gvw-vocalicr>
+collating-symbol <gvw-vocalicrr>
+collating-symbol <gvw-vocalicl>
+collating-symbol <gvw-vocalicll>
+collating-symbol <gvw-candrae>
+collating-symbol <gvw-e>
+collating-symbol <gvw-ai>
+collating-symbol <gvw-candrao>
+collating-symbol <gvw-o>
+collating-symbol <gvw-au>
+collating-symbol <g-ka>
+collating-symbol <g-kha>
+collating-symbol <g-ga>
+collating-symbol <g-gha>
+collating-symbol <g-nga>
+collating-symbol <g-ca>
+collating-symbol <g-cha>
+collating-symbol <g-ja>
+collating-symbol <g-jha>
+collating-symbol <g-nya>
+collating-symbol <g-tta>
+collating-symbol <g-ttha>
+collating-symbol <g-dda>
+collating-symbol <g-ddha>
+collating-symbol <g-nna>
+collating-symbol <g-ta>
+collating-symbol <g-tha>
+collating-symbol <g-da>
+collating-symbol <g-dha>
+collating-symbol <g-na>
+collating-symbol <g-pa>
+collating-symbol <g-pha>
+collating-symbol <g-ba>
+collating-symbol <g-bha>
+collating-symbol <g-ma>
+collating-symbol <g-ya>
+collating-symbol <g-ra>
+collating-symbol <g-la>
+collating-symbol <g-lla>
+collating-symbol <g-va>
+collating-symbol <g-sha>
+collating-symbol <g-ssa>
+collating-symbol <g-sa>
+collating-symbol <g-ha>
+collating-symbol <g-ksha>
+collating-symbol <g-dnya>
+collating-symbol <g-shra>
+collating-symbol <g-tra>
+collating-symbol <g-avagrah>
+collating-symbol <gm-aa>
+collating-symbol <gm-i>
+collating-symbol <gm-ii>
+collating-symbol <gm-u>
+collating-symbol <gm-uu>
+collating-symbol <gm-vocalicr>
+collating-symbol <gm-vocalicrr>
+collating-symbol <gm-vocalicl>
+collating-symbol <gm-vocalicll>
+collating-symbol <gm-candrae>
+collating-symbol <gm-e>
+collating-symbol <gm-ai>
+collating-symbol <gm-candrao>
+collating-symbol <gm-o>
+collating-symbol <gm-au>
+collating-symbol <gvd-anuswara>
+collating-symbol <gvd-chandrabindu>
+collating-symbol <gvd-visarg>
+collating-symbol <g-halant>
# Ordre des symboles internes / Order of internal symbols
#
@@ -1064,6 +1155,87 @@
<dvd-chandrabindu>
<dvd-visarg>
<d_halant>
+#
+# <GUJARATI>
+#
+# collation weights in order
+
+<GNKT>
+<gom>
+<gvw-a>
+<gvw-aa>
+<gvw-i>
+<gvw-ii>
+<gvw-u>
+<gvw-uu>
+<gvw-vocalicr>
+<gvw-vocalicrr>
+<gvw-vocalicl>
+<gvw-vocalicll>
+<gvw-candrae>
+<gvw-e>
+<gvw-ai>
+<gvw-candrao>
+<gvw-o>
+<gvw-au>
+<g-ka>
+<g-kha>
+<g-ga>
+<g-gha>
+<g-nga>
+<g-ca>
+<g-cha>
+<g-ja>
+<g-jha>
+<g-nya>
+<g-tta>
+<g-ttha>
+<g-dda>
+<g-ddha>
+<g-nna>
+<g-ta>
+<g-tha>
+<g-da>
+<g-dha>
+<g-na>
+<g-pa>
+<g-pha>
+<g-ba>
+<g-bha>
+<g-ma>
+<g-ya>
+<g-ra>
+<g-la>
+<g-lla>
+<g-va>
+<g-sha>
+<g-ssa>
+<g-sa>
+<g-ha>
+<g-ksha>
+<g-dnya>
+<g-shra>
+<g-tra>
+<g-avagrah>
+<gm-aa>
+<gm-i>
+<gm-ii>
+<gm-u>
+<gm-uu>
+<gm-vocalicr>
+<gm-vocalicrr>
+<gm-vocalicl>
+<gm-vocalicll>
+<gm-candrae>
+<gm-e>
+<gm-ai>
+<gm-candrao>
+<gm-o>
+<gm-au>
+<gvd-anuswara>
+<gvd-chandrabindu>
+<gvd-visarg>
+<g-halant>
order_start <SPECIAL>;forward;backward;forward;forward,position
#
@@ -2941,6 +3113,94 @@
<U0953> IGNORE;<dv-grave>;<MIN>;IGNORE
<U0954> IGNORE;<dv-acute>;<MIN>;IGNORE
+order_start <GUJARATI>;forward;forward;forward;forward,position
+<U0AE6> <0>;"<BAS><NUM>";"<MIN><MIN>";IGNORE
+<U0AE7> <1>;"<BAS><NUM>";"<MIN><MIN>";IGNORE
+<U0AE8> <2>;"<BAS><NUM>";"<MIN><MIN>";IGNORE
+<U0AE9> <3>;"<BAS><NUM>";"<MIN><MIN>";IGNORE
+<U0AEA> <4>;"<BAS><NUM>";"<MIN><MIN>";IGNORE
+<U0AEB> <5>;"<BAS><NUM>";"<MIN><MIN>";IGNORE
+<U0AEC> <6>;"<BAS><NUM>";"<MIN><MIN>";IGNORE
+<U0AED> <7>;"<BAS><NUM>";"<MIN><MIN>";IGNORE
+<U0AEE> <8>;"<BAS><NUM>";"<MIN><MIN>";IGNORE
+<U0AEF> <9>;"<BAS><NUM>";"<MIN><MIN>";IGNORE
+<U0AD0> <gom> ;<BAS>;<MIN>;IGNORE
+<U0A85> <gvw-a> ;<BAS>;<MIN>;IGNORE
+<U0A86> <gvw-aa> ;<BAS>;<MIN>;IGNORE
+<U0A87> <gvw-i> ;<BAS>;<MIN>;IGNORE
+<U0A88> <gvw-ii> ;<BAS>;<MIN>;IGNORE
+<U0A89> <gvw-u> ;<BAS>;<MIN>;IGNORE
+<U0A8A> <gvw-uu>;<BAS>;<MIN>;IGNORE
+<U0A8B> <gvw-vocalicr>;<BAS>;<MIN>;IGNORE
+<U0AE0> <gvw-vocalicrr>;<BAS>;<MIN>;IGNORE
+<U0A8C> <gvw-vocalicl>;<BAS>;<MIN>;IGNORE
+<U0AE1> <gvw-vocalicll>;<BAS>;<MIN>;IGNORE
+<U0A8D> <gvw-candrae>;<BAS>;<MIN>;IGNORE
+<U0A8F> <gvw-e>;<BAS>;<MIN>;IGNORE
+<U0A90> <gvw-ai>;<BAS>;<MIN>;IGNORE
+<U0A91> <gvw-candrao>;<BAS>;<MIN>;IGNORE
+<U0A93> <gvw-o>;<BAS>;<MIN>;IGNORE
+<U0A94> <gvw-au>;<BAS>;<MIN>;IGNORE
+<U0A95> <g-ka>;<BAS>;<MIN>;IGNORE
+<U0A96> <g-kha>;<BAS>;<MIN>;IGNORE
+<U0A97> <g-ga>;<BAS>;<MIN>;IGNORE
+<U0A98> <g-gha>;<BAS>;<MIN>;IGNORE
+<U0A99> <g-nga>;<BAS>;<MIN>;IGNORE
+<U0A9A> <g-ca>;<BAS>;<MIN>;IGNORE
+<U0A9B> <g-cha>;<BAS>;<MIN>;IGNORE
+<U0A9C> <g-ja>;<BAS>;<MIN>;IGNORE
+<U0A9D> <g-jha>;<BAS>;<MIN>;IGNORE
+<U0A9E> <g-nya>;<BAS>;<MIN>;IGNORE
+<U0A9F> <g-tta>;<BAS>;<MIN>;IGNORE
+<U0AA0> <g-ttha>;<BAS>;<MIN>;IGNORE
+<U0AA1> <g-dda>;<BAS>;<MIN>;IGNORE
+<U0AA2> <g-ddha>;<BAS>;<MIN>;IGNORE
+<U0AA3> <g-nna>;<BAS>;<MIN>;IGNORE
+<U0AA4> <g-ta>;<BAS>;<MIN>;IGNORE
+<U0AA5> <g-tha>;<BAS>;<MIN>;IGNORE
+<U0AA6> <g-da>;<BAS>;<MIN>;IGNORE
+<U0AA7> <g-dha>;<BAS>;<MIN>;IGNORE
+<U0AA8> <g-na>;<BAS>;<MIN>;IGNORE
+<U0AAA> <g-pa>;<BAS>;<MIN>;IGNORE
+<U0AAB> <g-pha>;<BAS>;<MIN>;IGNORE
+<U0AAC> <g-ba>;<BAS>;<MIN>;IGNORE
+<U0AAD> <g-bha>;<BAS>;<MIN>;IGNORE
+<U0AAE> <g-ma>;<BAS>;<MIN>;IGNORE
+<U0AAF> <g-ya>;<BAS>;<MIN>;IGNORE
+<U0AB0> <g-ra>;<BAS>;<MIN>;IGNORE
+<U0AB2> <g-la>;<BAS>;<MIN>;IGNORE
+<U0AB3> <g-lla>;<BAS>;<MIN>;IGNORE
+<U0AB5> <g-va>;<BAS>;<MIN>;IGNORE
+<U0AB6> <g-sha>;<BAS>;<MIN>;IGNORE
+<U0AB7> <g-ssa>;<BAS>;<MIN>;IGNORE
+<U0AB8> <g-sa>;<BAS>;<MIN>;IGNORE
+<U0AB9> <g-ha>;<BAS>;<MIN>;IGNORE
+<gu-ksha> <g-ksha>;<BAS>;<MIN>;IGNORE
+<gu-dnya> <g-dnya>;<BAS>;<MIN>;IGNORE
+<gu-shra> <g-shra>;<BAS>;<MIN>;IGNORE
+<gu-tra> <g-tra>;<BAS>;<MIN>;IGNORE
+<U0ABD> <g-avagrah>;<BAS>;<MIN>;IGNORE
+<U0ABE> <gm-aa>;<BAS>;<MIN>;IGNORE
+<U0ABF> <gm-i>;<BAS>;<MIN>;IGNORE
+<U0AC0> <gm-ii>;<BAS>;<MIN>;IGNORE
+<U0AC1> <gm-u>;<BAS>;<MIN>;IGNORE
+<U0AC2> <gm-uu>;<BAS>;<MIN>;IGNORE
+<U0AC3> <gm-vocalicr>;<BAS>;<MIN>;IGNORE
+<U0AC4> <gm-vocalicrr>;<BAS>;<MIN>;IGNORE
+<U0AE2> <gm-vocalicl>;<BAS>;<MIN>;IGNORE
+<U0AE3> <gm-vocalicll>;<BAS>;<MIN>;IGNORE
+<U0AC5> <gm-candrae>;<BAS>;<MIN>;IGNORE
+<U0AC7> <gm-e>;<BAS>;<MIN>;IGNORE
+<U0AC8> <gm-ai>;<BAS>;<MIN>;IGNORE
+<U0AC9> <gm-candrao>;<BAS>;<MIN>;IGNORE
+<U0ACB> <gm-o>;<BAS>;<MIN>;IGNORE
+<U0ACC> <gm-au>;<BAS>;<MIN>;IGNORE
+<U0A82> <gvd-anuswara>;<BAS>;<MIN>;IGNORE
+<U0A81> <gvd-chandrabindu>;<BAS>;<MIN>;IGNORE
+<U0A83> <gvd-visarg>;<BAS>;<MIN>;IGNORE
+<U0ACD> <g-halant>;<BAS>;<MIN>;IGNORE
+<U0ABC> IGNORE;<GNKT>;<MIN>;IGNORE
+
order_end
END LC_COLLATE
Modified: trunk/libc/nptl/ChangeLog
==============================================================================
--- trunk/libc/nptl/ChangeLog (original)
+++ trunk/libc/nptl/ChangeLog Wed Apr 2 04:55:20 2008
@@ -1,3 +1,12 @@
+2008-03-27 Ulrich Drepper <drepper@xxxxxxxxxx>
+
+ * sysdeps/unix/sysv/linux/bits/local_lim.h: Undefined ARG_MAX if
+ <linux/limits.h> has defined it.
+ * sysdeps/unix/sysv/linux/alpha/bits/local_lim.h: Likewise.
+ * sysdeps/unix/sysv/linux/ia64/bits/local_lim.h: Likewise.
+ * sysdeps/unix/sysv/linux/powerpc/bits/local_lim.h: Likewise.
+ * sysdeps/unix/sysv/linux/sparc/bits/local_lim.h: Likewise.
+
2008-03-18 Jakub Jelinek <jakub@xxxxxxxxxx>
* sysdeps/unix/sysv/linux/ia64/dl-sysdep.h: Use __ASSEMBLER__ instead
Modified: trunk/libc/nptl/sysdeps/unix/sysv/linux/alpha/bits/local_lim.h
==============================================================================
--- trunk/libc/nptl/sysdeps/unix/sysv/linux/alpha/bits/local_lim.h (original)
+++ trunk/libc/nptl/sysdeps/unix/sysv/linux/alpha/bits/local_lim.h Wed Apr 2 04:55:20 2008
@@ -1,5 +1,5 @@
/* Minimum guaranteed maximum values for system limits. Linux/Alpha version.
- Copyright (C) 1993-1998,2000,2002,2003,2004 Free Software Foundation, Inc.
+ Copyright (C) 1993-1998,2000,2002-2004,2008 Free Software Foundation, Inc.
This file is part of the GNU C Library.
The GNU C Library is free software; you can redistribute it and/or
@@ -31,6 +31,9 @@
#ifndef OPEN_MAX
# define __undef_OPEN_MAX
#endif
+#ifndef ARG_MAX
+# define __undef_ARG_MAX
+#endif
/* The kernel sources contain a file with all the needed information. */
#include <linux/limits.h>
@@ -49,6 +52,11 @@
#ifdef __undef_OPEN_MAX
# undef OPEN_MAX
# undef __undef_OPEN_MAX
+#endif
+/* Have to remove ARG_MAX? */
+#ifdef __undef_ARG_MAX
+# undef ARG_MAX
+# undef __undef_ARG_MAX
#endif
/* The number of data keys per process. */
Modified: trunk/libc/nptl/sysdeps/unix/sysv/linux/bits/local_lim.h
==============================================================================
--- trunk/libc/nptl/sysdeps/unix/sysv/linux/bits/local_lim.h (original)
+++ trunk/libc/nptl/sysdeps/unix/sysv/linux/bits/local_lim.h Wed Apr 2 04:55:20 2008
@@ -1,5 +1,5 @@
/* Minimum guaranteed maximum values for system limits. Linux version.
- Copyright (C) 1993-1998,2000,2002,2003,2004 Free Software Foundation, Inc.
+ Copyright (C) 1993-1998,2000,2002-2004,2008 Free Software Foundation, Inc.
This file is part of the GNU C Library.
The GNU C Library is free software; you can redistribute it and/or
@@ -31,6 +31,9 @@
#ifndef OPEN_MAX
# define __undef_OPEN_MAX
#endif
+#ifndef ARG_MAX
+# define __undef_ARG_MAX
+#endif
/* The kernel sources contain a file with all the needed information. */
#include <linux/limits.h>
@@ -49,6 +52,11 @@
#ifdef __undef_OPEN_MAX
# undef OPEN_MAX
# undef __undef_OPEN_MAX
+#endif
+/* Have to remove ARG_MAX? */
+#ifdef __undef_ARG_MAX
+# undef ARG_MAX
+# undef __undef_ARG_MAX
#endif
/* The number of data keys per process. */
Modified: trunk/libc/nptl/sysdeps/unix/sysv/linux/ia64/bits/local_lim.h
==============================================================================
--- trunk/libc/nptl/sysdeps/unix/sysv/linux/ia64/bits/local_lim.h (original)
+++ trunk/libc/nptl/sysdeps/unix/sysv/linux/ia64/bits/local_lim.h Wed Apr 2 04:55:20 2008
@@ -1,5 +1,5 @@
/* Minimum guaranteed maximum values for system limits. Linux/IA-64 version.
- Copyright (C) 1993-1998,2000,2002,2003,2004 Free Software Foundation, Inc.
+ Copyright (C) 1993-1998,2000,2002-2004,2008 Free Software Foundation, Inc.
This file is part of the GNU C Library.
The GNU C Library is free software; you can redistribute it and/or
@@ -31,6 +31,9 @@
#ifndef OPEN_MAX
# define __undef_OPEN_MAX
#endif
+#ifndef ARG_MAX
+# define __undef_ARG_MAX
+#endif
/* The kernel sources contain a file with all the needed information. */
#include <linux/limits.h>
@@ -49,6 +52,11 @@
#ifdef __undef_OPEN_MAX
# undef OPEN_MAX
# undef __undef_OPEN_MAX
+#endif
+/* Have to remove ARG_MAX? */
+#ifdef __undef_ARG_MAX
+# undef ARG_MAX
+# undef __undef_ARG_MAX
#endif
/* The number of data keys per process. */
Modified: trunk/libc/nptl/sysdeps/unix/sysv/linux/powerpc/bits/local_lim.h
==============================================================================
--- trunk/libc/nptl/sysdeps/unix/sysv/linux/powerpc/bits/local_lim.h (original)
+++ trunk/libc/nptl/sysdeps/unix/sysv/linux/powerpc/bits/local_lim.h Wed Apr 2 04:55:20 2008
@@ -1,5 +1,6 @@
/* Minimum guaranteed maximum values for system limits. Linux/PPC version.
- Copyright (C) 1993-1998,2000,2002-2004,2006 Free Software Foundation, Inc.
+ Copyright (C) 1993-1998,2000,2002-2004,2006,2008
+ Free Software Foundation, Inc.
This file is part of the GNU C Library.
The GNU C Library is free software; you can redistribute it and/or
@@ -31,6 +32,9 @@
#ifndef OPEN_MAX
# define __undef_OPEN_MAX
#endif
+#ifndef ARG_MAX
+# define __undef_ARG_MAX
+#endif
/* The kernel sources contain a file with all the needed information. */
#include <linux/limits.h>
@@ -49,6 +53,11 @@
#ifdef __undef_OPEN_MAX
# undef OPEN_MAX
# undef __undef_OPEN_MAX
+#endif
+/* Have to remove ARG_MAX? */
+#ifdef __undef_ARG_MAX
+# undef ARG_MAX
+# undef __undef_ARG_MAX
#endif
/* The number of data keys per process. */
Modified: trunk/libc/nptl/sysdeps/unix/sysv/linux/sparc/bits/local_lim.h
==============================================================================
--- trunk/libc/nptl/sysdeps/unix/sysv/linux/sparc/bits/local_lim.h (original)
+++ trunk/libc/nptl/sysdeps/unix/sysv/linux/sparc/bits/local_lim.h Wed Apr 2 04:55:20 2008
@@ -1,5 +1,5 @@
/* Minimum guaranteed maximum values for system limits. Linux/SPARC version.
- Copyright (C) 1993-1998,2000,2002,2003,2004 Free Software Foundation, Inc.
+ Copyright (C) 1993-1998,2000,2002-2004,2008 Free Software Foundation, Inc.
This file is part of the GNU C Library.
The GNU C Library is free software; you can redistribute it and/or
@@ -31,6 +31,9 @@
#ifndef OPEN_MAX
# define __undef_OPEN_MAX
#endif
+#ifndef ARG_MAX
+# define __undef_ARG_MAX
+#endif
/* The kernel sources contain a file with all the needed information. */
#include <linux/limits.h>
@@ -49,6 +52,11 @@
#ifdef __undef_OPEN_MAX
# undef OPEN_MAX
# undef __undef_OPEN_MAX
+#endif
+/* Have to remove ARG_MAX? */
+#ifdef __undef_ARG_MAX
+# undef ARG_MAX
+# undef __undef_ARG_MAX
#endif
/* The number of data keys per process. */
Modified: trunk/libc/nscd/nscd.c
==============================================================================
--- trunk/libc/nscd/nscd.c (original)
+++ trunk/libc/nscd/nscd.c Wed Apr 2 04:55:20 2008
@@ -100,7 +100,7 @@
N_("Do not fork and display messages on the current tty") },
{ "nthreads", 't', N_("NUMBER"), 0, N_("Start NUMBER threads") },
{ "shutdown", 'K', NULL, 0, N_("Shut the server down") },
- { "statistic", 'g', NULL, 0, N_("Print current configuration statistic") },
+ { "statistics", 'g', NULL, 0, N_("Print current configuration statistics") },
{ "invalidate", 'i', N_("TABLE"), 0,
N_("Invalidate the specified cache") },
{ "secure", 'S', N_("TABLE,yes"), OPTION_HIDDEN,
Modified: trunk/libc/po/nl.po
==============================================================================
--- trunk/libc/po/nl.po (original)
+++ trunk/libc/po/nl.po Wed Apr 2 04:55:20 2008
@@ -8,7 +8,7 @@
"Project-Id-Version: libc-2.7\n"
"Report-Msgid-Bugs-To: \n"
"POT-Creation-Date: 2007-10-15 21:18-0700\n"
-"PO-Revision-Date: 2007-11-14 21:31+0100\n"
+"PO-Revision-Date: 2008-03-30 20:00+0200\n"
"Last-Translator: Benno Schulenberg <benno@xxxxxxxxxxx>\n"
"Language-Team: Dutch <vertaling@xxxxxxxxxxxxxxx>\n"
"MIME-Version: 1.0\n"
@@ -1459,7 +1459,7 @@
msgid "character map `%s' is not ASCII compatible, locale not ISO C compliant\n"
msgstr ""
"tekenskaart '%s' is niet ASCII-compatibel;\n"
-"de locale voldoet niet aan ISO C\n"
+"de taalregio voldoet niet aan ISO C\n"
#: locale/programs/charmap.c:337
#, c-format
@@ -2176,7 +2176,7 @@
#: locale/programs/ld-ctype.c:3780
#, c-format
msgid "%s: transliteration data from locale `%s' not available"
-msgstr "%s: transliteratiegegevens van locale '%s' zijn niet beschikbaar"
+msgstr "%s: transliteratiegegevens van taalregio '%s' zijn niet beschikbaar"
#: locale/programs/ld-ctype.c:3881
#, c-format
@@ -2393,11 +2393,11 @@
#: locale/programs/locale.c:76
msgid "Write names of available locales"
-msgstr "namen van beschikbare locales tonen"
+msgstr "namen van de beschikbare taalregio's tonen"
#: locale/programs/locale.c:78
msgid "Write names of available charmaps"
-msgstr "namen van beschikbare tekenskaarten tonen"
+msgstr "namen van de beschikbare tekenskaarten tonen"
#: locale/programs/locale.c:79
msgid "Modify output format:"
@@ -2405,15 +2405,15 @@
#: locale/programs/locale.c:80
msgid "Write names of selected categories"
-msgstr "namen van geselecteerde categorieën tonen"
+msgstr "namen van de geselecteerde categorieën tonen"
#: locale/programs/locale.c:81
msgid "Write names of selected keywords"
-msgstr "namen van geselecteerde sleutelwoorden tonen"
+msgstr "namen van de geselecteerde sleutelwoorden tonen"
#: locale/programs/locale.c:82
msgid "Print more information"
-msgstr "breedsprakige uitvoer"
+msgstr "uitgebreide uitvoer produceren"
#: locale/programs/locale.c:87
msgid ""
@@ -2421,7 +2421,7 @@
"<http://www.gnu.org/software/libc/bugs.html>.\n"
msgstr ""
" \n"
-"Informatie over locales weergeven.\vVoor het rapporteren van fouten, zie:\n"
+"Informatie over taalregio-instellingen weergeven.\vVoor het rapporteren van fouten, zie:\n"
" <http://www.gnu.org/software/libc/bugs.html>.\n"
#: locale/programs/locale.c:92
@@ -2435,22 +2435,22 @@
#: locale/programs/locale.c:193
#, c-format
msgid "Cannot set LC_CTYPE to default locale"
-msgstr "Kan LC_TYPE niet op de standaard-locale instellen"
+msgstr "Kan LC_TYPE niet op de standaard-taalregio instellen"
#: locale/programs/locale.c:195
#, c-format
msgid "Cannot set LC_MESSAGES to default locale"
-msgstr "Kan LC_MESSAGES niet op de standaard-locale instellen"
+msgstr "Kan LC_MESSAGES niet op de standaard-taalregio instellen"
#: locale/programs/locale.c:208
#, c-format
msgid "Cannot set LC_COLLATE to default locale"
-msgstr "Kan LC_COLLATE niet op de standaard-locale instellen"
+msgstr "Kan LC_COLLATE niet op de standaard-taalregio instellen"
#: locale/programs/locale.c:224
#, c-format
msgid "Cannot set LC_ALL to default locale"
-msgstr "Kan LC_ALL niet op de standaard-locale instellen"
+msgstr "Kan LC_ALL niet op de standaard-taalregio instellen"
#: locale/programs/locale.c:500
#, c-format
@@ -2507,7 +2507,7 @@
#: locale/programs/localedef.c:140
msgid "Add locales named by parameters to archive"
-msgstr "genoemde locales aan archief toevoegen"
+msgstr "genoemde taalregio's aan archief toevoegen"
#: locale/programs/localedef.c:141
msgid "Replace existing archive content"
@@ -2515,7 +2515,7 @@
#: locale/programs/localedef.c:143
msgid "Remove locales named by parameters from archive"
-msgstr "genoemde locales uit archief verwijderen"
+msgstr "genoemde taalregio's uit archief verwijderen"
#: locale/programs/localedef.c:144
msgid "List content of archive"
@@ -2523,13 +2523,13 @@
#: locale/programs/localedef.c:146
msgid "locale.alias file to consult when making archive"
-msgstr "te raadplegen aliassenbestand"
+msgstr "te raadplegen aliassenbestand tijdens archivering"
#: locale/programs/localedef.c:151
msgid "Compile locale specification"
msgstr ""
" \n"
-"Een locale-specificatie compileren."
+"De definitie van een taalregio compileren."
#: locale/programs/localedef.c:154
msgid ""
@@ -2555,7 +2555,7 @@
#: locale/programs/localedef.c:599 locale/programs/localedef.c:619
#, c-format
msgid "cannot open locale definition file `%s'"
-msgstr "kan locale-definitiebestand '%s' niet openen"
+msgstr "kan taalregiodefinitiebestand '%s' niet openen"
#: locale/programs/localedef.c:285
#, c-format
@@ -2570,21 +2570,21 @@
" locale path : %s\n"
"%s"
msgstr ""
-"Systeemmap voor tekenskaarten : %s\n"
-" repertoire-kaarten : %s\n"
-" locale-pad : %s\n"
+"Systeemmap voor tekenskaarten: %s\n"
+" voor repertoirekaarten: %s\n"
+" en het taalregiopad is: %s\n"
"\n"
"%s"
#: locale/programs/localedef.c:567
#, c-format
msgid "circular dependencies between locale definitions"
-msgstr "circulaire afhankelijkheid tussen locale-definities"
+msgstr "circulaire afhankelijkheid tussen taalregiodefinities"
#: locale/programs/localedef.c:573
#, c-format
msgid "cannot add already read locale `%s' a second time"
-msgstr "kan de reeds gelezen locale '%s' niet nogmaals toevoegen"
+msgstr "kan de reeds gelezen taalregio '%s' niet nogmaals toevoegen"
#: locale/programs/locarchive.c:88 locale/programs/locarchive.c:261
#, c-format
@@ -2610,17 +2610,17 @@
#: locale/programs/locarchive.c:156
#, c-format
msgid "failed to create new locale archive"
-msgstr "aanmaken van een nieuw locale-archief is mislukt"
+msgstr "aanmaken van een nieuw taalregio-archief is mislukt"
#: locale/programs/locarchive.c:168
#, c-format
msgid "cannot change mode of new locale archive"
-msgstr "kan modus van het nieuwe locale-archief niet wijzigen"
+msgstr "kan modus van het nieuwe taalregio-archief niet wijzigen"
#: locale/programs/locarchive.c:255
#, c-format
msgid "cannot map locale archive file"
-msgstr "kan locale-archief niet in het geheugen plaatsen"
+msgstr "kan taalregio-archief niet in het geheugen plaatsen"
#: locale/programs/locarchive.c:331
#, c-format
@@ -2630,12 +2630,12 @@
#: locale/programs/locarchive.c:396
#, c-format
msgid "cannot extend locale archive file"
-msgstr "kan locale-archiefbestand niet uitbreiden"
+msgstr "kan taalregio-archiefbestand niet uitbreiden"
#: locale/programs/locarchive.c:405
#, c-format
msgid "cannot change mode of resized locale archive"
-msgstr "kan modus van aangepast locale-archief niet wijzigen"
+msgstr "kan modus van aangepast taalregio-archief niet wijzigen"
#: locale/programs/locarchive.c:413
#, c-format
@@ -2645,17 +2645,17 @@
#: locale/programs/locarchive.c:466
#, c-format
msgid "cannot open locale archive \"%s\""
-msgstr "kan locale-archief '%s' niet openen"
+msgstr "kan taalregio-archief '%s' niet openen"
#: locale/programs/locarchive.c:471
#, c-format
msgid "cannot stat locale archive \"%s\""
-msgstr "kan status van locale-archief '%s' niet opvragen"
+msgstr "kan status van taalregio-archief '%s' niet opvragen"
#: locale/programs/locarchive.c:490
#, c-format
msgid "cannot lock locale archive \"%s\""
-msgstr "kan locale-archief '%s' niet vergrendelen"
+msgstr "kan taalregio-archief '%s' niet vergrendelen"
#: locale/programs/locarchive.c:513
#, c-format
@@ -2665,19 +2665,19 @@
#: locale/programs/locarchive.c:573
#, c-format
msgid "locale '%s' already exists"
-msgstr "locale '%s' bestaat al"
+msgstr "taalregio '%s' bestaat al"
#: locale/programs/locarchive.c:804 locale/programs/locarchive.c:819
#: locale/programs/locarchive.c:831 locale/programs/locarchive.c:843
#: locale/programs/locfile.c:344
#, c-format
msgid "cannot add to locale archive"
-msgstr "kan niet aan locale-archief toevoegen"
+msgstr "kan niet aan taalregio-archief toevoegen"
#: locale/programs/locarchive.c:998
#, c-format
msgid "locale alias file `%s' not found"
-msgstr "kan locale-aliassenbestand '%s' niet vinden"
+msgstr "kan taalregio-aliassenbestand '%s' niet vinden"
#: locale/programs/locarchive.c:1142
#, c-format
@@ -2702,7 +2702,7 @@
#: locale/programs/locarchive.c:1233
#, c-format
msgid "incomplete set of locale files in \"%s\""
-msgstr "onvolledige verzameling van locale-bestanden in '%s'"
+msgstr "onvolledige verzameling van taalregiobestanden in '%s'"
#: locale/programs/locarchive.c:1297
#, c-format
@@ -2712,7 +2712,7 @@
#: locale/programs/locarchive.c:1367
#, c-format
msgid "locale \"%s\" not in archive"
-msgstr "locale '%s' zit niet in archief"
+msgstr "taalregio '%s' zit niet in het archief"
#: locale/programs/locfile.c:132
#, c-format
@@ -2721,7 +2721,7 @@
#: locale/programs/locfile.c:252
msgid "syntax error: not inside a locale definition section"
-msgstr "syntaxfout: niet binnen een locale-definitie-sectie"
+msgstr "syntaxfout: niet binnen een taalregiodefinitie-sectie"
#: locale/programs/locfile.c:626
#, c-format
@@ -2744,7 +2744,7 @@
#: locale/programs/locfile.c:786
msgid "locale name should consist only of portable characters"
-msgstr "een locale-naam mag alleen uit overdraagbare tekens bestaan"
+msgstr "een taalregionaam mag alleen uit overdraagbare tekens bestaan"
#: locale/programs/locfile.c:805
msgid "no other keyword shall be specified when `copy' is used"
@@ -4356,59 +4356,59 @@
#: posix/getopt.c:571 posix/getopt.c:587
#, c-format
-msgid "%s: option '%s' is ambiguous\n"
+msgid "%s: option `%s' is ambiguous\n"
msgstr "%s: optie '%s' is niet eenduidig\n"
#: posix/getopt.c:620 posix/getopt.c:624
#, c-format
-msgid "%s: option '--%s' doesn't allow an argument\n"
+msgid "%s: option `--%s' doesn't allow an argument\n"
msgstr "%s: optie '--%s' staat geen argument toe\n"
#: posix/getopt.c:633 posix/getopt.c:638
#, c-format
-msgid "%s: option '%c%s' doesn't allow an argument\n"
+msgid "%s: option `%c%s' doesn't allow an argument\n"
msgstr "%s: optie '%c%s' staat geen argument toe\n"
#: posix/getopt.c:681 posix/getopt.c:700 posix/getopt.c:1016
#: posix/getopt.c:1035
#, c-format
-msgid "%s: option '%s' requires an argument\n"
+msgid "%s: option `%s' requires an argument\n"
msgstr "%s: optie '%s' vereist een argument\n"
#: posix/getopt.c:738 posix/getopt.c:741
#, c-format
-msgid "%s: unrecognized option '--%s'\n"
+msgid "%s: unrecognized option `--%s'\n"
msgstr "%s: onbekende optie '--%s'\n"
#: posix/getopt.c:749 posix/getopt.c:752
#, c-format
-msgid "%s: unrecognized option '%c%s'\n"
+msgid "%s: unrecognized option `%c%s'\n"
msgstr "%s: onbekende optie '%c%s'\n"
#: posix/getopt.c:804 posix/getopt.c:807
#, c-format
-msgid "%s: illegal option -- '%c'\n"
+msgid "%s: illegal option -- %c\n"
msgstr "%s: ongeldige optie -- %c\n"
#: posix/getopt.c:813 posix/getopt.c:816
#, c-format
-msgid "%s: invalid option -- '%c'\n"
+msgid "%s: invalid option -- %c\n"
msgstr "%s: ongeldige optie -- %c\n"
#: posix/getopt.c:868 posix/getopt.c:884 posix/getopt.c:1088
#: posix/getopt.c:1106
#, c-format
-msgid "%s: option requires an argument -- '%c'\n"
+msgid "%s: option requires an argument -- %c\n"
msgstr "%s: optie vereist een argument -- %c\n"
#: posix/getopt.c:937 posix/getopt.c:953
#, c-format
-msgid "%s: option '-W %s' is ambiguous\n"
+msgid "%s: option `-W %s' is ambiguous\n"
msgstr "%s: optie '-W %s' is niet eenduidig\n"
#: posix/getopt.c:977 posix/getopt.c:995
#, c-format
-msgid "%s: option '-W %s' doesn't allow an argument\n"
+msgid "%s: option `-W %s' doesn't allow an argument\n"
msgstr "%s: optie '-W %s' staat geen argument toe\n"
#: posix/regcomp.c:135
@@ -5345,7 +5345,7 @@
#. TRANS A file that isn't a directory was specified when a directory is required.
#: sysdeps/gnu/errlist.c:229
msgid "Not a directory"
-msgstr "Niet een map"
+msgstr "Is geen map"
#. TRANS File is a directory; you cannot open a directory for writing,
#. TRANS or create or remove hard links to it.
Modified: trunk/libc/posix/getopt.c
==============================================================================
--- trunk/libc/posix/getopt.c (original)
+++ trunk/libc/posix/getopt.c Wed Apr 2 04:55:20 2008
@@ -792,30 +792,16 @@
if (print_errors)
{
#if defined _LIBC && defined USE_IN_LIBIO
- char *buf;
- int n;
-#endif
-
- if (d->__posixly_correct)
- {
-#if defined _LIBC && defined USE_IN_LIBIO
- n = __asprintf (&buf, _("%s: illegal option -- '%c'\n"),
- argv[0], c);
-#else
- fprintf (stderr, _("%s: illegal option -- '%c'\n"), argv[0],
- c);
-#endif
- }
- else
- {
-#if defined _LIBC && defined USE_IN_LIBIO
- n = __asprintf (&buf, _("%s: invalid option -- '%c'\n"),
- argv[0], c);
-#else
- fprintf (stderr, _("%s: invalid option -- '%c'\n"), argv[0],
- c);
-#endif
- }
+ char *buf;
+ int n;
+#endif
+
+#if defined _LIBC && defined USE_IN_LIBIO
+ n = __asprintf (&buf, _("%s: invalid option -- '%c'\n"),
+ argv[0], c);
+#else
+ fprintf (stderr, _("%s: invalid option -- '%c'\n"), argv[0], c);
+#endif
#if defined _LIBC && defined USE_IN_LIBIO
if (n >= 0)
Modified: trunk/libc/stdio-common/vfprintf.c
==============================================================================
--- trunk/libc/stdio-common/vfprintf.c (original)
+++ trunk/libc/stdio-common/vfprintf.c Wed Apr 2 04:55:20 2008
@@ -1534,7 +1534,8 @@
if (prec > width
&& prec + 32 > (int)(sizeof (work_buffer) / sizeof (work_buffer[0])))
{
- if (__builtin_expect (prec > ~((size_t) 0) - 31, 0))
+ if (__builtin_expect (prec > ~((size_t) 0) / sizeof (CHAR_T) - 31,
+ 0))
{
done = -1;
goto all_done;
Modified: trunk/libc/stdlib/strtod_l.c
==============================================================================
--- trunk/libc/stdlib/strtod_l.c (original)
+++ trunk/libc/stdlib/strtod_l.c Wed Apr 2 04:55:20 2008
@@ -1041,7 +1041,7 @@
if (__builtin_expect (exponent < MIN_10_EXP - (DIG + 1), 0))
{
__set_errno (ERANGE);
- return 0.0;
+ return negative ? -0.0 : 0.0;
}
if (int_no > 0)
Modified: trunk/libc/string/strfry.c
==============================================================================
--- trunk/libc/string/strfry.c (original)
+++ trunk/libc/string/strfry.c Wed Apr 2 04:55:20 2008
@@ -26,7 +26,6 @@
{
static int init;
static struct random_data rdata;
- size_t len, i;
if (!init)
{
@@ -37,17 +36,18 @@
init = 1;
}
- len = strlen (string) - 1;
- for (i = 0; i < len; ++i)
- {
- int32_t j;
- __random_r (&rdata, &j);
- j = j % (len - i) + i;
+ size_t len = strlen (string);
+ if (len > 0)
+ for (size_t i = 0; i < len - 1; ++i)
+ {
+ int32_t j;
+ __random_r (&rdata, &j);
+ j = j % (len - i) + i;
- char c = string[i];
- string[i] = string[j];
- string[j] = c;
- }
+ char c = string[i];
+ string[i] = string[j];
+ string[j] = c;
+ }
return string;
}
Modified: trunk/libc/sunrpc/auth_unix.c
==============================================================================
--- trunk/libc/sunrpc/auth_unix.c (original)
+++ trunk/libc/sunrpc/auth_unix.c Wed Apr 2 04:55:20 2008
@@ -111,7 +111,7 @@
if (auth == NULL || au == NULL)
{
no_memory:
- (void) __fxprintf (NULL, "%s", _("authunix_create: out of memory\n"));
+ (void) __fxprintf (NULL, "%s: %s", __func__, _("out of memory\n"));
mem_free (auth, sizeof (*auth));
mem_free (au, sizeof (*au));
return NULL;
Modified: trunk/libc/sunrpc/clnt_tcp.c
==============================================================================
--- trunk/libc/sunrpc/clnt_tcp.c (original)
+++ trunk/libc/sunrpc/clnt_tcp.c Wed Apr 2 04:55:20 2008
@@ -128,7 +128,7 @@
if (h == NULL || ct == NULL)
{
struct rpc_createerr *ce = &get_rpc_createerr ();
- (void) __fxprintf (NULL, "%s", _("clnttcp_create: out of memory\n"));
+ (void) __fxprintf (NULL, "%s: %s", __func__, _("out of memory\n"));
ce->cf_stat = RPC_SYSTEMERROR;
ce->cf_error.re_errno = ENOMEM;
goto fooy;
Modified: trunk/libc/sunrpc/clnt_udp.c
==============================================================================
--- trunk/libc/sunrpc/clnt_udp.c (original)
+++ trunk/libc/sunrpc/clnt_udp.c Wed Apr 2 04:55:20 2008
@@ -136,7 +136,8 @@
if (cl == NULL || cu == NULL)
{
struct rpc_createerr *ce = &get_rpc_createerr ();
- (void) __fxprintf (NULL, "%s", _("clntudp_create: out of memory\n"));
+ (void) __fxprintf (NULL, "%s: %s",
+ "clntudp_create", _("out of memory\n"));
ce->cf_stat = RPC_SYSTEMERROR;
ce->cf_error.re_errno = ENOMEM;
goto fooy;
Modified: trunk/libc/sunrpc/clnt_unix.c
==============================================================================
--- trunk/libc/sunrpc/clnt_unix.c (original)
+++ trunk/libc/sunrpc/clnt_unix.c Wed Apr 2 04:55:20 2008
@@ -125,7 +125,7 @@
if (h == NULL || ct == NULL)
{
struct rpc_createerr *ce = &get_rpc_createerr ();
- (void) __fxprintf (NULL, "%s", _("clntunix_create: out of memory\n"));
+ (void) __fxprintf (NULL, "%s: %s", __func__, _("out of memory\n"));
ce->cf_stat = RPC_SYSTEMERROR;
ce->cf_error.re_errno = ENOMEM;
goto fooy;
Modified: trunk/libc/sunrpc/svc_tcp.c
==============================================================================
--- trunk/libc/sunrpc/svc_tcp.c (original)
+++ trunk/libc/sunrpc/svc_tcp.c Wed Apr 2 04:55:20 2008
@@ -176,7 +176,7 @@
xprt = (SVCXPRT *) mem_alloc (sizeof (SVCXPRT));
if (r == NULL || xprt == NULL)
{
- (void) __fxprintf (NULL, "%s", _("svctcp_create: out of memory\n"));
+ (void) __fxprintf (NULL, "%s: %s", __func__, _("out of memory\n"));
mem_free (r, sizeof (*r));
mem_free (xprt, sizeof (SVCXPRT));
return NULL;
@@ -214,8 +214,8 @@
cd = (struct tcp_conn *) mem_alloc (sizeof (struct tcp_conn));
if (xprt == (SVCXPRT *) NULL || cd == NULL)
{
- (void) __fxprintf (NULL, "%s",
- _("svc_tcp: makefd_xprt: out of memory\n"));
+ (void) __fxprintf (NULL, "%s: %s", "svc_tcp: makefd_xprt",
+ _("out of memory\n"));
mem_free (xprt, sizeof (SVCXPRT));
mem_free (cd, sizeof (struct tcp_conn));
return NULL;
Modified: trunk/libc/sunrpc/svc_udp.c
==============================================================================
--- trunk/libc/sunrpc/svc_udp.c (original)
+++ trunk/libc/sunrpc/svc_udp.c Wed Apr 2 04:55:20 2008
@@ -149,7 +149,8 @@
buf = mem_alloc (((MAX (sendsz, recvsz) + 3) / 4) * 4);
if (xprt == NULL || su == NULL || buf == NULL)
{
- (void) __fxprintf (NULL, "%s", _("svcudp_create: out of memory\n"));
+ (void) __fxprintf (NULL, "%s: %s",
+ "svcudp_create", _("out of memory\n"));
mem_free (xprt, sizeof (SVCXPRT));
mem_free (su, sizeof (*su));
mem_free (buf, ((MAX (sendsz, recvsz) + 3) / 4) * 4);
Modified: trunk/libc/sunrpc/svc_unix.c
==============================================================================
--- trunk/libc/sunrpc/svc_unix.c (original)
+++ trunk/libc/sunrpc/svc_unix.c Wed Apr 2 04:55:20 2008
@@ -173,7 +173,7 @@
xprt = (SVCXPRT *) mem_alloc (sizeof (SVCXPRT));
if (r == NULL || xprt == NULL)
{
- __fxprintf (NULL, "%s", _("svcunix_create: out of memory\n"));
+ __fxprintf (NULL, "%s: %s", __func__, _("out of memory\n"));
mem_free (r, sizeof (*r));
mem_free (xprt, sizeof (SVCXPRT));
return NULL;
@@ -211,8 +211,8 @@
cd = (struct unix_conn *) mem_alloc (sizeof (struct unix_conn));
if (xprt == (SVCXPRT *) NULL || cd == (struct unix_conn *) NULL)
{
- (void) __fxprintf (NULL, "%s",
- _("svc_unix: makefd_xprt: out of memory\n"));
+ (void) __fxprintf (NULL, "%s: %s", "svc_unix: makefd_xprt",
+ _("out of memory\n"));
mem_free (xprt, sizeof (SVCXPRT));
mem_free (cd, sizeof (struct unix_conn));
return NULL;
Modified: trunk/libc/sunrpc/xdr.c
==============================================================================
--- trunk/libc/sunrpc/xdr.c (original)
+++ trunk/libc/sunrpc/xdr.c Wed Apr 2 04:55:20 2008
@@ -563,7 +563,7 @@
}
if (sp == NULL)
{
- (void) __fxprintf (NULL, "%s", _("xdr_bytes: out of memory\n"));
+ (void) __fxprintf (NULL, "%s: %s", __func__, _("out of memory\n"));
return FALSE;
}
/* fall into ... */
@@ -715,7 +715,7 @@
*cpp = sp = (char *) mem_alloc (nodesize);
if (sp == NULL)
{
- (void) __fxprintf (NULL, "%s", _("xdr_string: out of memory\n"));
+ (void) __fxprintf (NULL, "%s: %s", __func__, _("out of memory\n"));
return FALSE;
}
sp[size] = 0;
Modified: trunk/libc/sunrpc/xdr_array.c
==============================================================================
--- trunk/libc/sunrpc/xdr_array.c (original)
+++ trunk/libc/sunrpc/xdr_array.c Wed Apr 2 04:55:20 2008
@@ -103,7 +103,7 @@
*addrp = target = calloc (c, elsize);
if (target == NULL)
{
- (void) __fxprintf (NULL, "%s", _("xdr_array: out of memory\n"));
+ (void) __fxprintf (NULL, "%s: %s", __func__, _("out of memory\n"));
return FALSE;
}
break;
Modified: trunk/libc/sunrpc/xdr_rec.c
==============================================================================
--- trunk/libc/sunrpc/xdr_rec.c (original)
+++ trunk/libc/sunrpc/xdr_rec.c Wed Apr 2 04:55:20 2008
@@ -153,7 +153,7 @@
if (rstrm == NULL || buf == NULL)
{
- (void) __fxprintf (NULL, "%s", _("xdrrec_create: out of memory\n"));
+ (void) __fxprintf (NULL, "%s: %s", __func__, _("out of memory\n"));
mem_free (rstrm, sizeof (RECSTREAM));
mem_free (buf, sendsize + recvsize + BYTES_PER_XDR_UNIT);
/*
Modified: trunk/libc/sunrpc/xdr_ref.c
==============================================================================
--- trunk/libc/sunrpc/xdr_ref.c (original)
+++ trunk/libc/sunrpc/xdr_ref.c Wed Apr 2 04:55:20 2008
@@ -82,8 +82,7 @@
*pp = loc = (caddr_t) calloc (1, size);
if (loc == NULL)
{
- (void) __fxprintf (NULL, "%s",
- _("xdr_reference: out of memory\n"));
+ (void) __fxprintf (NULL, "%s: %s", __func__, _("out of memory\n"));
return FALSE;
}
break;
Modified: trunk/libc/sysdeps/posix/tempname.c
==============================================================================
--- trunk/libc/sysdeps/posix/tempname.c (original)
+++ trunk/libc/sysdeps/posix/tempname.c Wed Apr 2 04:55:20 2008
@@ -297,7 +297,7 @@
{
case __GT_FILE:
fd = __open (tmpl,
- (flags & ~ACCESSPERMS)
+ (flags & ~O_ACCMODE)
| O_RDWR | O_CREAT | O_EXCL, S_IRUSR | S_IWUSR);
break;
Modified: trunk/libc/sysdeps/unix/opendir.c
==============================================================================
--- trunk/libc/sysdeps/unix/opendir.c (original)
+++ trunk/libc/sysdeps/unix/opendir.c Wed Apr 2 04:55:20 2008
@@ -171,6 +171,8 @@
goto lose;
}
+ const size_t default_allocation = (BUFSIZ < sizeof (struct dirent64)
+ ? sizeof (struct dirent64) : BUFSIZ);
size_t allocation;
#ifdef _STATBUF_ST_BLKSIZE
if (__builtin_expect ((size_t) statp->st_blksize >= sizeof (struct dirent64),
@@ -178,20 +180,30 @@
allocation = statp->st_blksize;
else
#endif
- allocation = (BUFSIZ < sizeof (struct dirent64)
- ? sizeof (struct dirent64) : BUFSIZ);
+ allocation = default_allocation;
DIR *dirp = (DIR *) malloc (sizeof (DIR) + allocation);
if (dirp == NULL)
- lose:
- {
- if (close_fd)
- {
- int save_errno = errno;
- close_not_cancel_no_status (fd);
- __set_errno (save_errno);
+ {
+#ifdef _STATBUF_ST_BLKSIZE
+ if (allocation == statp->st_blksize
+ && allocation != default_allocation)
+ {
+ allocation = default_allocation;
+ dirp = (DIR *) malloc (sizeof (DIR) + allocation);
}
- return NULL;
+ if (dirp == NULL)
+#endif
+ lose:
+ {
+ if (close_fd)
+ {
+ int save_errno = errno;
+ close_not_cancel_no_status (fd);
+ __set_errno (save_errno);
+ }
+ return NULL;
+ }
}
dirp->fd = fd;
Modified: trunk/libc/sysdeps/unix/sysv/linux/alpha/syscalls.list
==============================================================================
--- trunk/libc/sysdeps/unix/sysv/linux/alpha/syscalls.list (original)
+++ trunk/libc/sysdeps/unix/sysv/linux/alpha/syscalls.list Wed Apr 2 04:55:20 2008
@@ -17,8 +17,6 @@
vfork - vfork 0 __vfork vfork
getpriority - getpriority i:ii __getpriority getpriority
-open - open Ci:siv __libc_open __open open !__libc_open64 __open64 open64
-open64 open -
# proper socket implementations:
accept - accept Ci:iBN __libc_accept __accept accept
Modified: trunk/libc/sysdeps/unix/sysv/linux/bits/local_lim.h
==============================================================================
--- trunk/libc/sysdeps/unix/sysv/linux/bits/local_lim.h (original)
+++ trunk/libc/sysdeps/unix/sysv/linux/bits/local_lim.h Wed Apr 2 04:55:20 2008
@@ -1,5 +1,5 @@
/* Minimum guaranteed maximum values for system limits. Linux version.
- Copyright (C) 1993-1998, 2000, 2003, 2004 Free Software Foundation, Inc.
+ Copyright (C) 1993-1998,2000,2003,2004,2008 Free Software Foundation, Inc.
This file is part of the GNU C Library.
The GNU C Library is free software; you can redistribute it and/or
@@ -31,6 +31,9 @@
#ifndef OPEN_MAX
# define __undef_OPEN_MAX
#endif
+#ifndef ARG_MAX
+# define __undef_ARG_MAX
+#endif
/* The kernel sources contain a file with all the needed information. */
#include <linux/limits.h>
@@ -50,6 +53,11 @@
# undef OPEN_MAX
# undef __undef_OPEN_MAX
#endif
+/* Have to remove ARG_MAX? */
+#ifdef __undef_ARG_MAX
+# undef ARG_MAX
+# undef __undef_ARG_MAX
+#endif
/* Maximum amount by which a process can descrease its asynchronous I/O
priority level. */
Modified: trunk/libc/sysdeps/unix/sysv/linux/ia64/syscalls.list
==============================================================================
--- trunk/libc/sysdeps/unix/sysv/linux/ia64/syscalls.list (original)
+++ trunk/libc/sysdeps/unix/sysv/linux/ia64/syscalls.list Wed Apr 2 04:55:20 2008
@@ -3,9 +3,6 @@
umount2 - umount 2 __umount2 umount2
getpriority - getpriority i:ii __getpriority getpriority
-
-creat - creat Ci:si __libc_creat creat creat64
-open - open Ci:siv __libc_open __open open __open64 open64
# semaphore and shm system calls
msgctl - msgctl i:iip __msgctl msgctl
Modified: trunk/libc/sysdeps/unix/sysv/linux/powerpc/powerpc64/syscalls.list
==============================================================================
--- trunk/libc/sysdeps/unix/sysv/linux/powerpc/powerpc64/syscalls.list (original)
+++ trunk/libc/sysdeps/unix/sysv/linux/powerpc/powerpc64/syscalls.list Wed Apr 2 04:55:20 2008
@@ -1,5 +1,3 @@
# File name Caller Syscall name # args Strong name Weak names
-creat - creat Ci:si __libc_creat creat creat64
getrlimit - ugetrlimit i:ip __getrlimit getrlimit getrlimit64
-open - open Ci:siv __libc_open __open open __open64 open64
Modified: trunk/libc/sysdeps/unix/sysv/linux/s390/s390-64/syscalls.list
==============================================================================
--- trunk/libc/sysdeps/unix/sysv/linux/s390/s390-64/syscalls.list (original)
+++ trunk/libc/sysdeps/unix/sysv/linux/s390/s390-64/syscalls.list Wed Apr 2 04:55:20 2008
@@ -1,9 +1,6 @@
# File name Caller Syscall name # args Strong name Weak names
vfork - vfork 0 __vfork vfork
-
-creat - creat Ci:si __libc_creat creat creat64
-open - open Ci:siv __libc_open __open open __open64 open64
# semaphore and shm system calls
msgctl - msgctl i:iip __msgctl msgctl
Modified: trunk/libc/sysdeps/unix/sysv/linux/sys/param.h
==============================================================================
--- trunk/libc/sysdeps/unix/sysv/linux/sys/param.h (original)
+++ trunk/libc/sysdeps/unix/sysv/linux/sys/param.h Wed Apr 2 04:55:20 2008
@@ -1,4 +1,4 @@
-/* Copyright (C) 1995,1996,1997,2000,2001,2003 Free Software Foundation, Inc.
+/* Copyright (C) 1995-1997,2000,2001,2003,2008 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
@@ -19,9 +19,19 @@
#ifndef _SYS_PARAM_H
#define _SYS_PARAM_H 1
+#ifndef ARG_MAX
+# define __undef_ARG_MAX
+#endif
+
#include <limits.h>
#include <linux/limits.h>
#include <linux/param.h>
+
+/* The kernel headers defines ARG_MAX. The value is wrong, though. */
+#ifndef __undef_ARG_MAX
+# undef ARG_MAX
+# undef __undef_ARG_MAX
+#endif
/* BSD names for some <limits.h> values. */
@@ -31,12 +41,12 @@
#endif
#define MAXSYMLINKS 20
#define CANBSIZ MAX_CANON
-#define NCARGS ARG_MAX
#define MAXPATHLEN PATH_MAX
-/* The following is not really correct but it is a value we used for a
+/* The following are not really correct but it is a value we used for a
long time and which seems to be usable. People should not use NOFILE
- anyway. */
+ and NCARGS anyway. */
#define NOFILE 256
+#define NCARGS 131072
#include <sys/types.h>
Modified: trunk/libc/sysdeps/unix/sysv/linux/sysconf.c
==============================================================================
--- trunk/libc/sysdeps/unix/sysv/linux/sysconf.c (original)
+++ trunk/libc/sysdeps/unix/sysv/linux/sysconf.c Wed Apr 2 04:55:20 2008
@@ -26,6 +26,11 @@
#include <sys/resource.h>
#include <not-cancel.h>
#include <ldsodefs.h>
+
+/* Legacy value of ARG_MAX. The macro is now not defined since the
+ actual value varies based on the stack size. */
+#define legacy_ARG_MAX 131072
+
static long int posix_sysconf (int name);
@@ -83,10 +88,10 @@
/* Use getrlimit to get the stack limit. */
struct rlimit rlimit;
if (__getrlimit (RLIMIT_STACK, &rlimit) == 0)
- return MAX (ARG_MAX, rlimit.rlim_cur / 4);
+ return MAX (legacy_ARG_MAX, rlimit.rlim_cur / 4);
}
- return ARG_MAX;
+ return legacy_ARG_MAX;
case _SC_NGROUPS_MAX:
/* Try to read the information from the /proc/sys/kernel/ngroups_max
Modified: trunk/libc/sysdeps/unix/sysv/linux/wordsize-64/syscalls.list
==============================================================================
--- trunk/libc/sysdeps/unix/sysv/linux/wordsize-64/syscalls.list (original)
+++ trunk/libc/sysdeps/unix/sysv/linux/wordsize-64/syscalls.list Wed Apr 2 04:55:20 2008
@@ -15,3 +15,5 @@
readahead - readahead i:iii __readahead readahead
sendfile - sendfile i:iipi sendfile sendfile64
sync_file_range - sync_file_range i:iiii sync_file_range
+creat - creat Ci:si __libc_creat creat creat64
+open - open Ci:siv __libc_open __open open __open64 open64
Modified: trunk/libc/sysdeps/unix/sysv/linux/x86_64/syscalls.list
==============================================================================
--- trunk/libc/sysdeps/unix/sysv/linux/x86_64/syscalls.list (original)
+++ trunk/libc/sysdeps/unix/sysv/linux/x86_64/syscalls.list Wed Apr 2 04:55:20 2008
@@ -1,13 +1,11 @@
# File name Caller Syscall name # args Strong name Weak names
arch_prctl EXTRA arch_prctl i:ii __arch_prctl arch_prctl
-creat - creat Ci:si __libc_creat creat creat64
modify_ldt EXTRA modify_ldt i:ipi __modify_ldt modify_ldt
msgctl - msgctl i:iip __msgctl msgctl
msgget - msgget i:ii __msgget msgget
msgrcv - msgrcv Ci:ibnii __msgrcv msgrcv
msgsnd - msgsnd Ci:ibni __msgsnd msgsnd
-open - open Ci:siv __libc_open __open open __open64 open64
shmat - shmat i:ipi __shmat shmat
shmctl - shmctl i:iip __shmctl shmctl
shmdt - shmdt i:s __shmdt shmdt
Modified: trunk/ports/ChangeLog.m68k
==============================================================================
--- trunk/ports/ChangeLog.m68k (original)
+++ trunk/ports/ChangeLog.m68k Wed Apr 2 04:55:20 2008
@@ -1,3 +1,9 @@
+2008-03-28 Maxim Kuvyrkov <maxim@xxxxxxxxxxxxxxxx>
+
+ Explicitly get address of _DYNAMIC.
+ * sysdeps/m68k/dl-machine.h (elf_machine_dynamic): Retrieve _DYNAMIC
+ from GOT instead of assuming value at GOT pointer.
+
2007-10-22 Daniel Jacobowitz <dan@xxxxxxxxxxxxxxxx>
* sysdeps/unix/sysv/linux/m68k/bits/fcntl.h (F_DUPFD_CLOEXEC): Define.
Modified: trunk/ports/ChangeLog.mips
==============================================================================
--- trunk/ports/ChangeLog.mips (original)
+++ trunk/ports/ChangeLog.mips Wed Apr 2 04:55:20 2008
@@ -1,3 +1,13 @@
+2008-03-28 Joseph Myers <joseph@xxxxxxxxxxxxxxxx>
+
+ * sysdeps/unix/sysv/linux/mips/nptl/bits/local_lim.h: Undefine
+ ARG_MAX if <linux/limits.h> has defined it.
+
+2008-03-28 Robin Randhawa <robin@xxxxxxxx>
+
+ * sysdeps/unix/sysv/linux/mips/sys/tas.h (_test_and_set): Added memory
+ barriers to enforce strict ordering on weakly ordered systems.
+
2008-03-26 David Stephenson <david.stephenson@xxxxxxxxxxxx>
Daniel Jacobowitz <dan@xxxxxxxxxxxxxxxx>
Modified: trunk/ports/sysdeps/m68k/dl-machine.h
==============================================================================
--- trunk/ports/sysdeps/m68k/dl-machine.h (original)
+++ trunk/ports/sysdeps/m68k/dl-machine.h Wed Apr 2 04:55:20 2008
@@ -33,14 +33,16 @@
}
-/* Return the link-time address of _DYNAMIC. Conveniently, this is the
- first element of the GOT. This must be inlined in a function which
- uses global data. */
+/* Return the link-time address of _DYNAMIC.
+ This must be inlined in a function which uses global data. */
static inline Elf32_Addr
elf_machine_dynamic (void)
{
- register Elf32_Addr *got asm ("%a5");
- return *got;
+ Elf32_Addr addr;
+
+ asm ("move.l _DYNAMIC@xxxxx(%%a5), %0"
+ : "=a" (addr));
+ return addr;
}
Modified: trunk/ports/sysdeps/unix/sysv/linux/mips/nptl/bits/local_lim.h
==============================================================================
--- trunk/ports/sysdeps/unix/sysv/linux/mips/nptl/bits/local_lim.h (original)
+++ trunk/ports/sysdeps/unix/sysv/linux/mips/nptl/bits/local_lim.h Wed Apr 2 04:55:20 2008
@@ -1,5 +1,5 @@
/* Minimum guaranteed maximum values for system limits. MIPS Linux version.
- Copyright (C) 1993-1998,2000,2002,2003,2004,2007
+ Copyright (C) 1993-1998,2000,2002,2003,2004,2007,2008
Free Software Foundation, Inc.
This file is part of the GNU C Library.
@@ -32,6 +32,9 @@
#ifndef OPEN_MAX
# define __undef_OPEN_MAX
#endif
+#ifndef ARG_MAX
+# define __undef_ARG_MAX
+#endif
/* The kernel sources contain a file with all the needed information. */
#include <linux/limits.h>
@@ -50,6 +53,11 @@
#ifdef __undef_OPEN_MAX
# undef OPEN_MAX
# undef __undef_OPEN_MAX
+#endif
+/* Have to remove ARG_MAX? */
+#ifdef __undef_ARG_MAX
+# undef ARG_MAX
+# undef __undef_ARG_MAX
#endif
/* The number of data keys per process. */
Modified: trunk/ports/sysdeps/unix/sysv/linux/mips/sys/tas.h
==============================================================================
--- trunk/ports/sysdeps/unix/sysv/linux/mips/sys/tas.h (original)
+++ trunk/ports/sysdeps/unix/sysv/linux/mips/sys/tas.h Wed Apr 2 04:55:20 2008
@@ -40,17 +40,19 @@
__asm__ __volatile__
("/* Inline test and set */\n"
- "1:\n\t"
".set push\n\t"
#if _MIPS_SIM == _ABIO32
".set mips2\n\t"
#endif
+ "sync\n\t"
+ "1:\n\t"
"ll %0,%3\n\t"
"move %1,%4\n\t"
"beq %0,%4,2f\n\t"
"sc %1,%2\n\t"
+ "beqz %1,1b\n"
+ "sync\n\t"
".set pop\n\t"
- "beqz %1,1b\n"
"2:\n\t"
"/* End test and set */"
: "=&r" (r), "=&r" (t), "=m" (*p)