[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

[commits] r7655 - in /fsf/trunk/libc: ./ catgets/ csu/ debug/ elf/ iconv/ locale/programs/ localedata/locales/ malloc/ nptl/ nptl/sysd...



Author: eglibc
Date: Sat Jan  3 00:02:47 2009
New Revision: 7655

Log:
Import glibc-mainline for 2009-01-03

Modified:
    fsf/trunk/libc/ChangeLog
    fsf/trunk/libc/catgets/gencat.c
    fsf/trunk/libc/csu/version.c
    fsf/trunk/libc/debug/catchsegv.sh
    fsf/trunk/libc/debug/xtrace.sh
    fsf/trunk/libc/elf/ldconfig.c
    fsf/trunk/libc/elf/ldd.bash.in
    fsf/trunk/libc/elf/sprof.c
    fsf/trunk/libc/iconv/iconv_prog.c
    fsf/trunk/libc/iconv/iconvconfig.c
    fsf/trunk/libc/locale/programs/locale.c
    fsf/trunk/libc/locale/programs/localedef.c
    fsf/trunk/libc/localedata/locales/bn_BD
    fsf/trunk/libc/malloc/memusage.sh
    fsf/trunk/libc/malloc/mtrace.pl
    fsf/trunk/libc/nptl/ChangeLog
    fsf/trunk/libc/nptl/init.c
    fsf/trunk/libc/nptl/sysdeps/unix/sysv/linux/i386/lowlevellock.h
    fsf/trunk/libc/nptl/sysdeps/unix/sysv/linux/ia64/lowlevellock.h
    fsf/trunk/libc/nptl/sysdeps/unix/sysv/linux/powerpc/lowlevellock.h
    fsf/trunk/libc/nptl/sysdeps/unix/sysv/linux/s390/lowlevellock.h
    fsf/trunk/libc/nptl/sysdeps/unix/sysv/linux/x86_64/lowlevellock.S
    fsf/trunk/libc/nptl/sysdeps/unix/sysv/linux/x86_64/lowlevellock.h
    fsf/trunk/libc/nscd/nscd.c
    fsf/trunk/libc/nss/getent.c
    fsf/trunk/libc/posix/getconf.c
    fsf/trunk/libc/sysdeps/unix/sysv/linux/kernel-features.h
    fsf/trunk/libc/version.h
    fsf/trunk/libc/wcsmbs/wcsnrtombs.c

Modified: fsf/trunk/libc/ChangeLog
==============================================================================
--- fsf/trunk/libc/ChangeLog (original)
+++ fsf/trunk/libc/ChangeLog Sat Jan  3 00:02:47 2009
@@ -1,3 +1,30 @@
+2009-01-02  Ulrich Drepper  <drepper@xxxxxxxxxx>
+
+	* sysdeps/unix/sysv/linux/kernel-features.h
+	(__ASSUME_FUTEX_CLOCK_REALTIME): Define.
+
+	* wcsmbs/wcsnrtombs.c (__wcsnrtombs): Create temporary state object
+	if no output is written.
+
+	* version.h: Bump to 2.10 development.
+
+	* posix/getconf.c: Update copyright year.
+	* nss/getent.c: Likewise.
+	* iconv/iconvconfig.c: Likewise.
+	* iconv/iconv_prog.c: Likewise.
+	* elf/ldconfig.c: Likewise.
+	* catgets/gencat.c: Likewise.
+	* csu/version.c: Likewise.
+	* elf/ldd.bash.in: Likewise.
+	* elf/sprof.c (print_version): Likewise.
+	* locale/programs/locale.c: Likewise.
+	* locale/programs/localedef.c: Likewise.
+	* nscd/nscd.c (print_version): Likewise.
+	* debug/xtrace.sh: Likewise.
+	* malloc/memusage.sh: Likewise.
+	* malloc/mtrace.pl: Likewise.
+	* debug/catchsegv.sh: Likewise.
+
 2008-12-29  Mike Frysinger  <vapier@xxxxxxxxxx>
 
 	* iconvdata/Makefile (iconv-rules): Use LC_ALL=C when running awk

Modified: fsf/trunk/libc/catgets/gencat.c
==============================================================================
--- fsf/trunk/libc/catgets/gencat.c (original)
+++ fsf/trunk/libc/catgets/gencat.c Sat Jan  3 00:02:47 2009
@@ -1,4 +1,4 @@
-/* Copyright (C) 1996-2005, 2006, 2007, 2008 Free Software Foundation, Inc.
+/* Copyright (C) 1996-2008, 2009 Free Software Foundation, Inc.
    This file is part of the GNU C Library.
    Contributed by Ulrich Drepper <drepper@xxxxxxxxxx>, 1996.
 
@@ -247,7 +247,7 @@
 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");
 }
 

Modified: fsf/trunk/libc/csu/version.c
==============================================================================
--- fsf/trunk/libc/csu/version.c (original)
+++ fsf/trunk/libc/csu/version.c Sat Jan  3 00:02:47 2009
@@ -1,4 +1,4 @@
-/* Copyright (C) 1992-2006, 2007, 2008 Free Software Foundation, Inc.
+/* Copyright (C) 1992-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
@@ -25,7 +25,7 @@
 
 static const char banner[] =
 "GNU C Library "RELEASE" release version "VERSION", by Roland McGrath et al.\n\
-Copyright (C) 2008 Free Software Foundation, Inc.\n\
+Copyright (C) 2009 Free Software Foundation, Inc.\n\
 This is free software; see the source for copying conditions.\n\
 There is NO warranty; not even for MERCHANTABILITY or FITNESS FOR A\n\
 PARTICULAR PURPOSE.\n\

Modified: fsf/trunk/libc/debug/catchsegv.sh
==============================================================================
--- fsf/trunk/libc/debug/catchsegv.sh (original)
+++ fsf/trunk/libc/debug/catchsegv.sh Sat Jan  3 00:02:47 2009
@@ -1,5 +1,5 @@
 #! /bin/sh
-# Copyright (C) 1998,1999,2001,2003,2004,2006,2007,2008
+# Copyright (C) 1998,1999,2001,2003,2004,2006,2007,2008,2009
 # Free Software Foundation, Inc.
 # This file is part of the GNU C Library.
 # Contributed by Ulrich Drepper <drepper@xxxxxxxxxx>, 1998.
@@ -40,7 +40,7 @@
       ;;
     --v | --ve | --ver | --vers | --versi | --versio | --version)
       echo 'catchsegv (GNU libc) @VERSION@'
-      echo 'Copyright (C) 2008 Free Software Foundation, Inc.
+      echo 'Copyright (C) 2009 Free Software Foundation, Inc.
 This is free software; see the source for copying conditions.  There is NO
 warranty; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
 Written by Ulrich Drepper.'

Modified: fsf/trunk/libc/debug/xtrace.sh
==============================================================================
--- fsf/trunk/libc/debug/xtrace.sh (original)
+++ fsf/trunk/libc/debug/xtrace.sh Sat Jan  3 00:02:47 2009
@@ -1,5 +1,5 @@
 #! @BASH@
-# Copyright (C) 1999, 2001-2006, 2007, 2008 Free Software Foundation, Inc.
+# Copyright (C) 1999, 2001-2008, 2009 Free Software Foundation, Inc.
 # This file is part of the GNU C Library.
 # Contributed by Ulrich Drepper <drepper@xxxxxxx>, 1999.
 
@@ -64,7 +64,7 @@
   printf $"Copyright (C) %s Free Software Foundation, Inc.
 This is free software; see the source for copying conditions.  There is NO
 warranty; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
-" "2008"
+" "2009"
   printf $"Written by %s.
 " "Ulrich Drepper"
   exit 0

Modified: fsf/trunk/libc/elf/ldconfig.c
==============================================================================
--- fsf/trunk/libc/elf/ldconfig.c (original)
+++ fsf/trunk/libc/elf/ldconfig.c Sat Jan  3 00:02:47 2009
@@ -1,4 +1,4 @@
-/* Copyright (C) 1999-2007, 2008 Free Software Foundation, Inc.
+/* Copyright (C) 1999-2008, 2009 Free Software Foundation, Inc.
    This file is part of the GNU C Library.
    Contributed by Andreas Jaeger <aj@xxxxxxx>, 1999.
 
@@ -297,7 +297,7 @@
 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"),
 	   "Andreas Jaeger");
 }

Modified: fsf/trunk/libc/elf/ldd.bash.in
==============================================================================
--- fsf/trunk/libc/elf/ldd.bash.in (original)
+++ fsf/trunk/libc/elf/ldd.bash.in Sat Jan  3 00:02:47 2009
@@ -1,5 +1,5 @@
 #! @BASH@
-# Copyright (C) 1996-2007, 2008 Free Software Foundation, Inc.
+# Copyright (C) 1996-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
@@ -39,7 +39,7 @@
     printf $"Copyright (C) %s Free Software Foundation, Inc.
 This is free software; see the source for copying conditions.  There is NO
 warranty; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
-" "2008"
+" "2009"
     printf $"Written by %s and %s.
 " "Roland McGrath" "Ulrich Drepper"
     exit 0

Modified: fsf/trunk/libc/elf/sprof.c
==============================================================================
--- fsf/trunk/libc/elf/sprof.c (original)
+++ fsf/trunk/libc/elf/sprof.c Sat Jan  3 00:02:47 2009
@@ -1,5 +1,5 @@
 /* Read and display shared object profiling data.
-   Copyright (C) 1997-2007, 2008 Free Software Foundation, Inc.
+   Copyright (C) 1997-2008, 2009 Free Software Foundation, Inc.
    This file is part of the GNU C Library.
    Contributed by Ulrich Drepper <drepper@xxxxxxxxxx>, 1997.
 
@@ -357,7 +357,7 @@
 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");
 }
 

Modified: fsf/trunk/libc/iconv/iconv_prog.c
==============================================================================
--- fsf/trunk/libc/iconv/iconv_prog.c (original)
+++ fsf/trunk/libc/iconv/iconv_prog.c Sat Jan  3 00:02:47 2009
@@ -1,5 +1,5 @@
 /* Convert text in given files from the specified from-set to the to-set.
-   Copyright (C) 1998-2007, 2008 Free Software Foundation, Inc.
+   Copyright (C) 1998-2008, 2009 Free Software Foundation, Inc.
    This file is part of the GNU C Library.
    Contributed by Ulrich Drepper <drepper@xxxxxxxxxx>, 1998.
 
@@ -424,7 +424,7 @@
 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");
 }
 

Modified: fsf/trunk/libc/iconv/iconvconfig.c
==============================================================================
--- fsf/trunk/libc/iconv/iconvconfig.c (original)
+++ fsf/trunk/libc/iconv/iconvconfig.c Sat Jan  3 00:02:47 2009
@@ -1,5 +1,5 @@
 /* Generate fastloading iconv module configuration files.
-   Copyright (C) 2000-2007, 2008 Free Software Foundation, Inc.
+   Copyright (C) 2000-2008, 2009 Free Software Foundation, Inc.
    This file is part of the GNU C Library.
    Contributed by Ulrich Drepper <drepper@xxxxxxxxxx>, 2000.
 
@@ -396,7 +396,7 @@
 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");
 }
 

Modified: fsf/trunk/libc/locale/programs/locale.c
==============================================================================
--- fsf/trunk/libc/locale/programs/locale.c (original)
+++ fsf/trunk/libc/locale/programs/locale.c Sat Jan  3 00:02:47 2009
@@ -1,5 +1,5 @@
 /* Implementation of the locale program according to POSIX 9945-2.
-   Copyright (C) 1995-1997, 1999-2007, 2008 Free Software Foundation, Inc.
+   Copyright (C) 1995-1997, 1999-2008, 2009 Free Software Foundation, Inc.
    This file is part of the GNU C Library.
    Contributed by Ulrich Drepper <drepper@xxxxxxxxxx>, 1995.
 
@@ -276,7 +276,7 @@
 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");
 }
 

Modified: fsf/trunk/libc/locale/programs/localedef.c
==============================================================================
--- fsf/trunk/libc/locale/programs/localedef.c (original)
+++ fsf/trunk/libc/locale/programs/localedef.c Sat Jan  3 00:02:47 2009
@@ -1,4 +1,4 @@
-/* Copyright (C) 1995-2007, 2008 Free Software Foundation, Inc.
+/* Copyright (C) 1995-2008, 2009 Free Software Foundation, Inc.
    This file is part of the GNU C Library.
    Contributed by Ulrich Drepper <drepper@xxxxxxxxxx>, 1995.
 
@@ -388,7 +388,7 @@
 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");
 }
 

Modified: fsf/trunk/libc/localedata/locales/bn_BD
==============================================================================
--- fsf/trunk/libc/localedata/locales/bn_BD (original)
+++ fsf/trunk/libc/localedata/locales/bn_BD Sat Jan  3 00:02:47 2009
@@ -37,7 +37,7 @@
 END LC_COLLATE
 
 LC_CTYPE
-copy "i18n"
+copy "bn_IN"
 
 translit_start
 include "translit_combining";""

Modified: fsf/trunk/libc/malloc/memusage.sh
==============================================================================
--- fsf/trunk/libc/malloc/memusage.sh (original)
+++ fsf/trunk/libc/malloc/memusage.sh Sat Jan  3 00:02:47 2009
@@ -1,5 +1,5 @@
 #! @BASH@
-# Copyright (C) 1999-2007, 2008 Free Software Foundation, Inc.
+# Copyright (C) 1999-2008, 2009 Free Software Foundation, Inc.
 # This file is part of the GNU C Library.
 # Contributed by Ulrich Drepper <drepper@xxxxxxx>, 1999.
 
@@ -71,7 +71,7 @@
   printf $"Copyright (C) %s Free Software Foundation, Inc.
 This is free software; see the source for copying conditions.  There is NO
 warranty; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
-" "2008"
+" "2009"
   printf $"Written by %s.
 " "Ulrich Drepper"
   exit 0

Modified: fsf/trunk/libc/malloc/mtrace.pl
==============================================================================
--- fsf/trunk/libc/malloc/mtrace.pl (original)
+++ fsf/trunk/libc/malloc/mtrace.pl Sat Jan  3 00:02:47 2009
@@ -1,7 +1,7 @@
 #! @PERL@
 eval "exec @PERL@ -S $0 $@"
     if 0;
-# Copyright (C) 1997-2004, 2005, 2006, 2007, 2008 Free Software Foundation, Inc.
+# Copyright (C) 1997-2008, 2009 Free Software Foundation, Inc.
 # This file is part of the GNU C Library.
 # Contributed by Ulrich Drepper <drepper@xxxxxxx>, 1997.
 # Based on the mtrace.awk script.
@@ -45,7 +45,7 @@
 	$ARGV[0] eq "--vers" || $ARGV[0] eq "--versi" ||
 	$ARGV[0] eq "--versio" || $ARGV[0] eq "--version") {
 	print "mtrace (GNU $PACKAGE) $VERSION\n";
-	print "Copyright (C) 2008 Free Software Foundation, Inc.\n";
+	print "Copyright (C) 2009 Free Software Foundation, Inc.\n";
 	print "This is free software; see the source for copying conditions.  There is NO\n";
 	print "warranty; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.\n";
 	print "Written by Ulrich Drepper <drepper\@gnu.org>\n";

Modified: fsf/trunk/libc/nptl/ChangeLog
==============================================================================
--- fsf/trunk/libc/nptl/ChangeLog (original)
+++ fsf/trunk/libc/nptl/ChangeLog Sat Jan  3 00:02:47 2009
@@ -1,3 +1,18 @@
+2009-01-02  Ulrich Drepper  <drepper@xxxxxxxxxx>
+
+	* init.c (__pthread_initialize_minimal_internal): Check for
+	FUTEX_CLOCK_REALTIME flag.
+	* sysdeps/unix/sysv/linux/x86_64/lowlevellock.S (__lll_timedlock_wait):
+	Use FUTEX_WAIT_BITSET|FUTEX_CLOCK_READTIME instead of computing
+	relative timeout.
+
+	* sysdeps/unix/sysv/linux/x86_64/lowlevellock.h: Define
+	FUTEX_CLOCK_REALTIME and FUTEX_BITSET_MATCH_ANY.
+	* sysdeps/unix/sysv/linux/i386/lowlevellock.h: Likewise.
+	* sysdeps/unix/sysv/linux/ia64/lowlevellock.h: Likewise.
+	* sysdeps/unix/sysv/linux/powerpc/lowlevellock.h: Likewise.
+	* sysdeps/unix/sysv/linux/s390/lowlevellock.h: Likewise.
+
 2008-12-09  Ulrich Drepper  <drepper@xxxxxxxxxx>
 
 	* sysdeps/pthread/pthread.h (pthread_cleanup_pop): Use { } as empty

Modified: fsf/trunk/libc/nptl/init.c
==============================================================================
--- fsf/trunk/libc/nptl/init.c (original)
+++ fsf/trunk/libc/nptl/init.c Sat Jan  3 00:02:47 2009
@@ -1,4 +1,4 @@
-/* Copyright (C) 2002,2003,2004,2005,2006,2007 Free Software Foundation, Inc.
+/* Copyright (C) 2002-2007, 2008, 2009 Free Software Foundation, Inc.
    This file is part of the GNU C Library.
    Contributed by Ulrich Drepper <drepper@xxxxxxxxxx>, 2002.
 
@@ -18,6 +18,7 @@
    02111-1307 USA.  */
 
 #include <assert.h>
+#include <errno.h>
 #include <limits.h>
 #include <signal.h>
 #include <stdlib.h>
@@ -47,6 +48,15 @@
   __set_robust_list_avail = -1
 #else
 # define set_robust_list_not_avail() do { } while (0)
+#endif
+
+#ifndef __ASSUME_FUTEX_CLOCK_REALTIME
+/* Nonzero if we do not have FUTEX_CLOCK_REALTIME.  */
+int __have_futex_clock_realtime;
+# define __set_futex_clock_realtime() \
+  __have_futex_clock_realtime = 1
+#else
+#define __set_futex_clock_realtime() do { } while (0)
 #endif
 
 /* Version of the library, used in libthread_db to detect mismatches.  */
@@ -292,6 +302,20 @@
   }
 #endif
 
+#ifndef __ASSUME_FUTEX_CLOCK_REALTIME
+  {
+    int word = 0;
+    word = INTERNAL_SYSCALL (futex, err, 6, &word,
+			     FUTEX_WAIT_BITSET | FUTEX_CLOCK_REALTIME
+			     | FUTEX_PRIVATE_FLAG, 1, NULL, 0,
+			     FUTEX_BITSET_MATCH_ANY);
+    if (!INTERNAL_SYSCALL_ERROR_P (word, err)
+	|| (INTERNAL_SYSCALL_ERRNO (word, err) != ENOSYS
+	    && INTERNAL_SYSCALL_ERRNO (word, err) != EINVAL))
+      __set_futex_clock_realtime ();
+  }
+#endif
+
   /* Set initial thread's stack block from 0 up to __libc_stack_end.
      It will be bigger than it actually is, but for unwind.c/pt-longjmp.c
      purposes this is good enough.  */

Modified: fsf/trunk/libc/nptl/sysdeps/unix/sysv/linux/i386/lowlevellock.h
==============================================================================
--- fsf/trunk/libc/nptl/sysdeps/unix/sysv/linux/i386/lowlevellock.h (original)
+++ fsf/trunk/libc/nptl/sysdeps/unix/sysv/linux/i386/lowlevellock.h Sat Jan  3 00:02:47 2009
@@ -1,4 +1,4 @@
-/* Copyright (C) 2002-2004, 2006, 2007, 2008 Free Software Foundation, Inc.
+/* Copyright (C) 2002-2004, 2006-2008, 2009 Free Software Foundation, Inc.
    This file is part of the GNU C Library.
    Contributed by Ulrich Drepper <drepper@xxxxxxxxxx>, 2002.
 
@@ -55,6 +55,9 @@
 #define FUTEX_WAIT_BITSET	9
 #define FUTEX_WAKE_BITSET	10
 #define FUTEX_PRIVATE_FLAG	128
+#define FUTEX_CLOCK_REALTIME	256
+
+#define FUTEX_BITSET_MATCH_ANY	0xffffffff
 
 #define FUTEX_OP_CLEAR_WAKE_IF_GT_ONE	((4 << 24) | 1)
 

Modified: fsf/trunk/libc/nptl/sysdeps/unix/sysv/linux/ia64/lowlevellock.h
==============================================================================
--- fsf/trunk/libc/nptl/sysdeps/unix/sysv/linux/ia64/lowlevellock.h (original)
+++ fsf/trunk/libc/nptl/sysdeps/unix/sysv/linux/ia64/lowlevellock.h Sat Jan  3 00:02:47 2009
@@ -1,4 +1,4 @@
-/* Copyright (C) 2003, 2004, 2006, 2007, 2008 Free Software Foundation, Inc.
+/* Copyright (C) 2003, 2004, 2006-2008, 2009 Free Software Foundation, Inc.
    This file is part of the GNU C Library.
    Contributed by Jakub Jelinek <jakub@xxxxxxxxxx>, 2003.
 
@@ -40,6 +40,9 @@
 #define FUTEX_WAIT_BITSET	9
 #define FUTEX_WAKE_BITSET	10
 #define FUTEX_PRIVATE_FLAG	128
+#define FUTEX_CLOCK_REALTIME	256
+
+#define FUTEX_BITSET_MATCH_ANY	0xffffffff
 
 /* Values for 'private' parameter of locking macros.  Yes, the
    definition seems to be backwards.  But it is not.  The bit will be

Modified: fsf/trunk/libc/nptl/sysdeps/unix/sysv/linux/powerpc/lowlevellock.h
==============================================================================
--- fsf/trunk/libc/nptl/sysdeps/unix/sysv/linux/powerpc/lowlevellock.h (original)
+++ fsf/trunk/libc/nptl/sysdeps/unix/sysv/linux/powerpc/lowlevellock.h Sat Jan  3 00:02:47 2009
@@ -1,4 +1,4 @@
-/* Copyright (C) 2003, 2004, 2006, 2007, 2008 Free Software Foundation, Inc.
+/* Copyright (C) 2003, 2004, 2006-2008, 2009 Free Software Foundation, Inc.
    This file is part of the GNU C Library.
    Contributed by Paul Mackerras <paulus@xxxxxxxxxx>, 2003.
 
@@ -41,6 +41,9 @@
 #define FUTEX_WAIT_BITSET	9
 #define FUTEX_WAKE_BITSET	10
 #define FUTEX_PRIVATE_FLAG	128
+#define FUTEX_CLOCK_REALTIME	256
+
+#define FUTEX_BITSET_MATCH_ANY	0xffffffff
 
 /* Values for 'private' parameter of locking macros.  Yes, the
    definition seems to be backwards.  But it is not.  The bit will be

Modified: fsf/trunk/libc/nptl/sysdeps/unix/sysv/linux/s390/lowlevellock.h
==============================================================================
--- fsf/trunk/libc/nptl/sysdeps/unix/sysv/linux/s390/lowlevellock.h (original)
+++ fsf/trunk/libc/nptl/sysdeps/unix/sysv/linux/s390/lowlevellock.h Sat Jan  3 00:02:47 2009
@@ -1,4 +1,4 @@
-/* Copyright (C) 2003, 2004, 2006, 2007, 2008 Free Software Foundation, Inc.
+/* Copyright (C) 2003, 2004, 2006-2008, 2009 Free Software Foundation, Inc.
    This file is part of the GNU C Library.
    Contributed by Martin Schwidefsky <schwidefsky@xxxxxxxxxx>, 2003.
 
@@ -39,6 +39,9 @@
 #define FUTEX_WAIT_BITSET	9
 #define FUTEX_WAKE_BITSET	10
 #define FUTEX_PRIVATE_FLAG	128
+#define FUTEX_CLOCK_REALTIME	256
+
+#define FUTEX_BITSET_MATCH_ANY	0xffffffff
 
 /* Values for 'private' parameter of locking macros.  Yes, the
    definition seems to be backwards.  But it is not.  The bit will be

Modified: fsf/trunk/libc/nptl/sysdeps/unix/sysv/linux/x86_64/lowlevellock.S
==============================================================================
--- fsf/trunk/libc/nptl/sysdeps/unix/sysv/linux/x86_64/lowlevellock.S (original)
+++ fsf/trunk/libc/nptl/sysdeps/unix/sysv/linux/x86_64/lowlevellock.S Sat Jan  3 00:02:47 2009
@@ -1,4 +1,4 @@
-/* Copyright (C) 2002-2006, 2007 Free Software Foundation, Inc.
+/* Copyright (C) 2002-2006, 2007, 2009 Free Software Foundation, Inc.
    This file is part of the GNU C Library.
    Contributed by Ulrich Drepper <drepper@xxxxxxxxxx>, 2002.
 
@@ -31,6 +31,8 @@
 	movl	$(FUTEX_WAKE | FUTEX_PRIVATE_FLAG), reg
 # define LOAD_FUTEX_WAIT(reg) \
 	xorl	$(FUTEX_WAIT | FUTEX_PRIVATE_FLAG), reg
+# define LOAD_FUTEX_WAIT_ABS(reg) \
+	xorl	$(FUTEX_WAIT_BITSET | FUTEX_PRIVATE_FLAG | FUTEX_CLOCK_REALTIME), reg
 # define LOAD_FUTEX_WAKE(reg) \
 	xorl	$(FUTEX_WAKE | FUTEX_PRIVATE_FLAG), reg
 #else
@@ -55,6 +57,10 @@
 	andl	%fs:PRIVATE_FUTEX, reg ; \
 	orl	$FUTEX_WAIT, reg
 # endif
+# define LOAD_FUTEX_WAIT_ABS(reg) \
+	xorl	$FUTEX_PRIVATE_FLAG, reg ; \
+	andl	%fs:PRIVATE_FUTEX, reg ; \
+	orl	$FUTEX_WAIT_BITSET | FUTEX_CLOCK_REALTIME, reg
 # define LOAD_FUTEX_WAKE(reg) \
 	xorl	$FUTEX_PRIVATE_FLAG, reg ; \
 	andl	%fs:PRIVATE_FUTEX, reg ; \
@@ -143,12 +149,61 @@
 	cfi_endproc
 	.size	__lll_lock_wait,.-__lll_lock_wait
 
+	/*      %rdi: futex
+		%rsi: flags
+		%rdx: timeout
+		%eax: futex value
+	*/
 	.globl	__lll_timedlock_wait
 	.type	__lll_timedlock_wait,@function
 	.hidden	__lll_timedlock_wait
 	.align	16
 __lll_timedlock_wait:
 	cfi_startproc
+# ifndef __ASSUME_FUTEX_CLOCK_REALTIME
+#  ifdef PIC
+	cmpl	$0, __have_futex_clock_realtime(%rip)
+#  else
+	cmpl	$0, __have_futex_clock_realtime
+#  endif
+	je	.Lreltmo
+# endif
+
+	pushq	%r9
+	cfi_adjust_cfa_offset(8)
+	cfi_rel_offset(%r9, 0)
+	movq	%rdx, %r10
+	movl	$0xffffffff, %r9d
+	LOAD_FUTEX_WAIT_ABS (%esi)
+
+	movl	$2, %edx
+	cmpl	%edx, %eax
+	jne	2f
+
+1:	movl	$SYS_futex, %eax
+	movl	$2, %edx
+	syscall
+
+2:	xchgl	%edx, (%rdi)	/* NB:   lock is implied */
+
+	testl	%edx, %edx
+	jz	3f
+
+	cmpl	$-ETIMEDOUT, %eax
+	je	4f
+	cmpl	$-EINVAL, %eax
+	jne	1b
+4:	movl	%eax, %edx
+	negl	%edx
+
+3:	movl	%edx, %eax
+	popq	%r9
+	cfi_adjust_cfa_offset(-8)
+	cfi_restore(%r9)
+	retq
+
+# ifndef __ASSUME_FUTEX_CLOCK_REALTIME
+.Lreltmo:
 	/* Check for a valid timeout value.  */
 	cmpq	$1000000000, 8(%rdx)
 	jae	3f
@@ -253,6 +308,7 @@
 
 3:	movl	$EINVAL, %eax
 	retq
+# endif
 	cfi_endproc
 	.size	__lll_timedlock_wait,.-__lll_timedlock_wait
 #endif

Modified: fsf/trunk/libc/nptl/sysdeps/unix/sysv/linux/x86_64/lowlevellock.h
==============================================================================
--- fsf/trunk/libc/nptl/sysdeps/unix/sysv/linux/x86_64/lowlevellock.h (original)
+++ fsf/trunk/libc/nptl/sysdeps/unix/sysv/linux/x86_64/lowlevellock.h Sat Jan  3 00:02:47 2009
@@ -1,4 +1,4 @@
-/* Copyright (C) 2002-2004, 2006, 2007, 2008 Free Software Foundation, Inc.
+/* Copyright (C) 2002-2004, 2006-2008, 2009 Free Software Foundation, Inc.
    This file is part of the GNU C Library.
    Contributed by Ulrich Drepper <drepper@xxxxxxxxxx>, 2002.
 
@@ -48,13 +48,16 @@
 #define FUTEX_WAIT		0
 #define FUTEX_WAKE		1
 #define FUTEX_CMP_REQUEUE	4
-#define FUTEX_WAKE_OP	   5
+#define FUTEX_WAKE_OP		5
 #define FUTEX_LOCK_PI		6
 #define FUTEX_UNLOCK_PI		7
 #define FUTEX_TRYLOCK_PI	8
 #define FUTEX_WAIT_BITSET	9
 #define FUTEX_WAKE_BITSET	10
 #define FUTEX_PRIVATE_FLAG	128
+#define FUTEX_CLOCK_REALTIME	256
+
+#define FUTEX_BITSET_MATCH_ANY	0xffffffff
 
 #define FUTEX_OP_CLEAR_WAKE_IF_GT_ONE	((4 << 24) | 1)
 

Modified: fsf/trunk/libc/nscd/nscd.c
==============================================================================
--- fsf/trunk/libc/nscd/nscd.c (original)
+++ fsf/trunk/libc/nscd/nscd.c Sat Jan  3 00:02:47 2009
@@ -1,4 +1,4 @@
-/* Copyright (c) 1998-2006, 2007, 2008 Free Software Foundation, Inc.
+/* Copyright (c) 1998-2008, 2009 Free Software Foundation, Inc.
    This file is part of the GNU C Library.
    Contributed by Thorsten Kukuk <kukuk@xxxxxxx>, 1998.
 
@@ -407,7 +407,7 @@
 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"),
 	   "Thorsten Kukuk and Ulrich Drepper");
 }

Modified: fsf/trunk/libc/nss/getent.c
==============================================================================
--- fsf/trunk/libc/nss/getent.c (original)
+++ fsf/trunk/libc/nss/getent.c Sat Jan  3 00:02:47 2009
@@ -1,4 +1,4 @@
-/* Copyright (c) 1998-2007, 2008 Free Software Foundation, Inc.
+/* Copyright (c) 1998-2008, 2009 Free Software Foundation, Inc.
    This file is part of the GNU C Library.
    Contributed by Thorsten Kukuk <kukuk@xxxxxxx>, 1998.
 
@@ -84,7 +84,7 @@
 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"), "Thorsten Kukuk");
 }
 

Modified: fsf/trunk/libc/posix/getconf.c
==============================================================================
--- fsf/trunk/libc/posix/getconf.c (original)
+++ fsf/trunk/libc/posix/getconf.c Sat Jan  3 00:02:47 2009
@@ -1,4 +1,4 @@
-/* Copyright (C) 1991, 92, 1995-2007, 2008 Free Software Foundation, Inc.
+/* Copyright (C) 1991, 92, 1995-2008, 2009 Free Software Foundation, Inc.
    This file is part of the GNU C Library.
 
    This program is free software; you can redistribute it and/or modify
@@ -1013,7 +1013,7 @@
 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 (stderr, gettext ("Written by %s.\n"), "Roland McGrath");
       return 0;
     }

Modified: fsf/trunk/libc/sysdeps/unix/sysv/linux/kernel-features.h
==============================================================================
--- fsf/trunk/libc/sysdeps/unix/sysv/linux/kernel-features.h (original)
+++ fsf/trunk/libc/sysdeps/unix/sysv/linux/kernel-features.h Sat Jan  3 00:02:47 2009
@@ -1,6 +1,6 @@
 /* Set flags signalling availability of kernel features based on given
    kernel version number.
-   Copyright (C) 1999-2006, 2007, 2008 Free Software Foundation, Inc.
+   Copyright (C) 1999-2006, 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
@@ -505,7 +505,7 @@
    x86-64, PPC, IA-64, and SPARC in 2.6.27.  */
 #if __LINUX_KERNEL_VERSION >= 0x02061b \
     && (defined __i386__ || defined __x86_64__ || defined __powerpc__ \
-	|| defined __ia64__ || defined __sparc__ || __s390__)
+	|| defined __ia64__ || defined __sparc__ || defined __s390__)
 # define __ASSUME_SOCK_CLOEXEC	1
 # define __ASSUME_IN_NONBLOCK	1
 # define __ASSUME_PIPE2		1
@@ -514,6 +514,11 @@
 /* Support for the accept4 syscall was added in 2.6.28.  */
 #if __LINUX_KERNEL_VERSION >= 0x02061c \
     && (defined __i386__ || defined __x86_64__ || defined __powerpc__ \
-	|| defined __ia64__ || defined __sparc__ || __s390__)
+	|| defined __ia64__ || defined __sparc__ || defined __s390__)
 # define __ASSUME_ACCEPT4	1
 #endif
+
+/* Support for the FUTEX_CLOCK_REALTIME flag was added in 2.6.29.  */
+#if __LINUX_KERNEL_VERSION >= 0x02061d
+# define __ASSUME_FUTEX_CLOCK_REALTIME	1
+#endif

Modified: fsf/trunk/libc/version.h
==============================================================================
--- fsf/trunk/libc/version.h (original)
+++ fsf/trunk/libc/version.h Sat Jan  3 00:02:47 2009
@@ -1,4 +1,4 @@
 /* This file just defines the current version number of libc.  */
 
-#define RELEASE "stable"
-#define VERSION "2.9"
+#define RELEASE "development"
+#define VERSION "2.9.90"

Modified: fsf/trunk/libc/wcsmbs/wcsnrtombs.c
==============================================================================
--- fsf/trunk/libc/wcsmbs/wcsnrtombs.c (original)
+++ fsf/trunk/libc/wcsmbs/wcsnrtombs.c Sat Jan  3 00:02:47 2009
@@ -77,9 +77,13 @@
   /* We have to handle DST == NULL special.  */
   if (dst == NULL)
     {
+      mbstate_t temp_state;
       unsigned char buf[256];		/* Just an arbitrary value.  */
       const unsigned char *inbuf = (const unsigned char *) *src;
       size_t dummy;
+
+      temp_state = *data.__statep;
+      data.__statep = &temp_state;
 
       result = 0;
       data.__outbufend = buf + sizeof (buf);