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

[commits] r7998 - in /fsf/trunk/libc: ./ ctype/ dirent/ include/ io/sys/ locale/ nptl/ nptl/sysdeps/pthread/ posix/ signal/ stdio-comm...



Author: eglibc
Date: Thu Feb 26 00:03:41 2009
New Revision: 7998

Log:
Import glibc-mainline for 2009-02-26

Added:
    fsf/trunk/libc/stdio-common/psiginfo-data.h
    fsf/trunk/libc/stdio-common/psiginfo-define.h
    fsf/trunk/libc/stdio-common/psiginfo.c
Modified:
    fsf/trunk/libc/ChangeLog
    fsf/trunk/libc/NEWS
    fsf/trunk/libc/ctype/ctype.h
    fsf/trunk/libc/dirent/dirent.h
    fsf/trunk/libc/include/features.h
    fsf/trunk/libc/io/sys/stat.h
    fsf/trunk/libc/locale/langinfo.h
    fsf/trunk/libc/locale/locale.h
    fsf/trunk/libc/locale/xlocale.h
    fsf/trunk/libc/nptl/ChangeLog
    fsf/trunk/libc/nptl/sysdeps/pthread/pthread.h
    fsf/trunk/libc/posix/Versions
    fsf/trunk/libc/posix/getopt.c
    fsf/trunk/libc/posix/getopt.h
    fsf/trunk/libc/posix/getopt1.c
    fsf/trunk/libc/posix/getopt_int.h
    fsf/trunk/libc/signal/signal.h
    fsf/trunk/libc/stdio-common/Makefile
    fsf/trunk/libc/stdio-common/Versions
    fsf/trunk/libc/stdlib/monetary.h
    fsf/trunk/libc/sysdeps/unix/sysv/linux/bits/stat.h
    fsf/trunk/libc/sysdeps/unix/sysv/linux/ia64/bits/stat.h
    fsf/trunk/libc/sysdeps/unix/sysv/linux/powerpc/bits/stat.h
    fsf/trunk/libc/sysdeps/unix/sysv/linux/s390/bits/stat.h
    fsf/trunk/libc/sysdeps/unix/sysv/linux/sparc/bits/stat.h
    fsf/trunk/libc/sysdeps/unix/sysv/linux/x86_64/bits/stat.h
    fsf/trunk/libc/time/sys/time.h

Modified: fsf/trunk/libc/ChangeLog
==============================================================================
--- fsf/trunk/libc/ChangeLog (original)
+++ fsf/trunk/libc/ChangeLog Thu Feb 26 00:03:41 2009
@@ -1,3 +1,52 @@
+2009-02-25  Ulrich Drepper  <drepper@xxxxxxxxxx>
+
+	* include/features.h: Define macros for XPG7/POSIX 2008.
+	* ctype/ctype.h: The *_l functions are in POSIX 2008.
+	* dirent/dirent.h: alphasort, dirfd, scandir, and fdopendir are in
+	POSIX 2008.
+	* locale/langinfo.h: nl_langinfo_l is in POSIX 2008.
+	* locale/xlocale.h: Define locale_t type.
+	* locale/locale.h: duplocale, freelocale, newlocale, uselocale are
+	in POSIX 2008.  Don't define locale_t here.
+	* stdlib/monetary.h: strfmon_l is in POSIX 2008.
+	* sysdeps/unix/sysv/linux/bits/stat.h: Protect UTIME_NOW and
+	UTIME_OMIT only with __USE_ATFILE.
+	* signal/signal.h: Declare psignal and psiginfo for POSIX 2008.
+	* stdio-common/psiginfo.c: New file.
+	* stdio-common/psiginfo-data.h: New file.
+	* stdio-common/psiginfo-define.h: New file.
+	* stdio-common/Makefile (routines): Add psiginfo.
+	* stdio-common/Versions: Export psiginfo for GLIBC_2.10.
+	* sysdeps/unix/sysv/linux/ia64/bits/stat.h: Likewise.
+	* sysdeps/unix/sysv/linux/powerpc/bits/stat.h: Likewise.
+	* sysdeps/unix/sysv/linux/s390/bits/stat.h: Likewise.
+	* sysdeps/unix/sysv/linux/sparc/bits/stat.h: Likewise.
+	* sysdeps/unix/sysv/linux/x86_64/bits/stat.h: Likewise.
+	* io/sys/stat.h: Move mknodat definition into same conditional as
+	mknod.
+	* time/sys/time.h: futimesat is not among the functions accepted
+	into the POSIX standard.
+
+	* include/features.h: If no feature selection given and we select
+	by default a POSIX mode, also define __USE_POSIX_IMPLICITLY.
+	* posix/Versions: Export __posix_getopt.
+	* posix/getopt.c (_getopt_initialize): Take additional parameter.
+	Use it to alternatively initialize __posixly_correct.
+	(_getopt_internal_r): Take addition parameter.  Pass on to
+	_getopt_initialize.
+	(_getopt_internal): Take addition parameter.  Pass on to
+	_getopt_internal_r.
+	(getopt): Pass additional zero to _getopt_internal.
+	(__posix_getopt): New function.
+	* posix/getopt.h: Add redirection for getopt.
+	* posix/getopt1.c (getopt_long): Pass additional zero to
+	_getopt_internal.
+	(getopt_long_only): Likewise.
+	(_getopt_long_r): Pass additional zero to _getopt_internal_r.
+	(_getopt_long_only_r): Likewise.
+	* posix/getopt_int.h: Adjust declarations of _getopt_internal and
+	_getopt_internal_r.
+
 2009-02-24  Ulrich Drepper  <drepper@xxxxxxxxxx>
 
 	* bits/confname.h: Define _SC_TRACE_EVENT_NAME_MAX, _SC_TRACE_NAME_MAX,
@@ -17,7 +66,7 @@
 2009-02-24  Ulrich Drepper  <drepper@xxxxxxxxxx>
 
 	* sysdeps/unix/sysv/linux/sysconf.c (__sysconf):
-	/proc/sys/kenrel/rtsig_max doesn't exist anymore, use getrlimit
+	/proc/sys/kernel/rtsig_max doesn't exist anymore, use getrlimit
 	instead.
 
 	* io/sys/stat.h: The lstat functions have been mandatory since 2001.

Modified: fsf/trunk/libc/NEWS
==============================================================================
--- fsf/trunk/libc/NEWS (original)
+++ fsf/trunk/libc/NEWS Thu Feb 26 00:03:41 2009
@@ -1,4 +1,4 @@
-GNU C Library NEWS -- history of user-visible changes.  2009-1-30
+GNU C Library NEWS -- history of user-visible changes.  2009-2-25
 Copyright (C) 1992-2008, 2009 Free Software Foundation, Inc.
 See the end for copying conditions.
 
@@ -11,6 +11,10 @@
 
 * Correct declarations of string function when used in C++ code.  This
   could lead to compile error for invalid C++ code.
+
+* XPG7/POSIX 2008 compilation environment.
+
+* New POSIX 2008 interface: psiginfo
 
 
 Version 2.9

Modified: fsf/trunk/libc/ctype/ctype.h
==============================================================================
--- fsf/trunk/libc/ctype/ctype.h (original)
+++ fsf/trunk/libc/ctype/ctype.h Thu Feb 26 00:03:41 2009
@@ -1,4 +1,4 @@
-/* Copyright (C) 1991,92,93,95,96,97,98,99,2001,2002,2004,2007,2008
+/* Copyright (C) 1991,92,93,95,96,97,98,99,2001,2002,2004,2007,2008,2009
    	Free Software Foundation, Inc.
    This file is part of the GNU C Library.
 
@@ -216,7 +216,7 @@
 #endif /* Not __NO_CTYPE.  */
 
 
-#ifdef __USE_GNU
+#ifdef __USE_XOPEN2K8
 /* The concept of one static locale per category is not very well
    thought out.  Many applications will need to process its data using
    information from several different locales.  Another application is
@@ -292,7 +292,7 @@
 
 #  define __isblank_l(c,l)	__isctype_l((c), _ISblank, (l))
 
-#  if defined __USE_SVID || defined __USE_MISC || defined __USE_XOPEN
+#  if defined __USE_SVID || defined __USE_MISC
 #   define __isascii_l(c,l)	((l), __isascii (c))
 #   define __toascii_l(c,l)	((l), __toascii (c))
 #  endif
@@ -311,14 +311,14 @@
 
 #  define isblank_l(c,l)	__isblank_l ((c), (l))
 
-#  if defined __USE_SVID || defined __USE_MISC || defined __USE_XOPEN
+#  if defined __USE_SVID || defined __USE_MISC
 #   define isascii_l(c,l)	__isascii_l ((c), (l))
 #   define toascii_l(c,l)	__toascii_l ((c), (l))
 #  endif
 
 # endif /* Not __NO_CTYPE.  */
 
-#endif /* Use GNU.  */
+#endif /* Use POSIX 2008.  */
 
 __END_DECLS
 

Modified: fsf/trunk/libc/dirent/dirent.h
==============================================================================
--- fsf/trunk/libc/dirent/dirent.h (original)
+++ fsf/trunk/libc/dirent/dirent.h Thu Feb 26 00:03:41 2009
@@ -1,4 +1,4 @@
-/* Copyright (C) 1991-2000, 2003, 2004, 2005 Free Software Foundation, Inc.
+/* Copyright (C) 1991-2000, 2003-2005, 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
@@ -134,7 +134,7 @@
    marked with __THROW.  */
 extern DIR *opendir (__const char *__name) __nonnull ((1));
 
-#ifdef __USE_GNU
+#ifdef __USE_XOPEN2K8
 /* Same as opendir, but open the stream on the file descriptor FD.
 
    This function is a possible cancellation point and therefore not
@@ -218,7 +218,7 @@
 extern long int telldir (DIR *__dirp) __THROW __nonnull ((1));
 #endif
 
-#if defined __USE_BSD || defined __USE_MISC
+#if defined __USE_BSD || defined __USE_MISC || defined __XOPEN_2K8
 
 /* Return the file descriptor used by DIRP.  */
 extern int dirfd (DIR *__dirp) __THROW __nonnull ((1));
@@ -227,15 +227,17 @@
 #  define dirfd(dirp)	_DIR_dirfd (dirp)
 # endif
 
-# ifndef MAXNAMLEN
+# if defined __USE_BSD || defined __USE_MISC
+#  ifndef MAXNAMLEN
 /* Get the definitions of the POSIX.1 limits.  */
 #  include <bits/posix1_lim.h>
 
 /* `MAXNAMLEN' is the BSD name for what POSIX calls `NAME_MAX'.  */
-#  ifdef NAME_MAX
-#   define MAXNAMLEN	NAME_MAX
-#  else
-#   define MAXNAMLEN	255
+#   ifdef NAME_MAX
+#    define MAXNAMLEN	NAME_MAX
+#   else
+#    define MAXNAMLEN	255
+#   endif
 #  endif
 # endif
 
@@ -294,57 +296,59 @@
      __THROW __attribute_pure__ __nonnull ((1, 2));
 # endif
 
-# ifdef __USE_GNU
-/* Function to compare two `struct dirent's by name & version.  */
-#  ifndef __USE_FILE_OFFSET64
-extern int versionsort (__const void *__e1, __const void *__e2)
-     __THROW __attribute_pure__ __nonnull ((1, 2));
-#  else
-#   ifdef __REDIRECT
-extern int __REDIRECT_NTH (versionsort,
-			   (__const void *__e1, __const void *__e2),
-			   versionsort64)
-     __attribute_pure__ __nonnull ((1, 2));
-#   else
-#    define versionsort versionsort64
-#   endif
-#  endif
-
-#  ifdef __USE_LARGEFILE64
-extern int versionsort64 (__const void *__e1, __const void *__e2)
-     __THROW __attribute_pure__ __nonnull ((1, 2));
-#  endif
-# endif
-
+
+# if defined __USE_BSD || defined __USE_MISC
 /* Read directory entries from FD into BUF, reading at most NBYTES.
    Reading starts at offset *BASEP, and *BASEP is updated with the new
    position after reading.  Returns the number of bytes read; zero when at
    end of directory; or -1 for errors.  */
-# ifndef __USE_FILE_OFFSET64
+#  ifndef __USE_FILE_OFFSET64
 extern __ssize_t getdirentries (int __fd, char *__restrict __buf,
 				size_t __nbytes,
 				__off_t *__restrict __basep)
      __THROW __nonnull ((2, 4));
-# else
-#  ifdef __REDIRECT
+#  else
+#   ifdef __REDIRECT
 extern __ssize_t __REDIRECT_NTH (getdirentries,
 				 (int __fd, char *__restrict __buf,
 				  size_t __nbytes,
 				  __off64_t *__restrict __basep),
 				 getdirentries64) __nonnull ((2, 4));
-#  else
-#   define getdirentries getdirentries64
-#  endif
-# endif
-
-# ifdef __USE_LARGEFILE64
+#   else
+#    define getdirentries getdirentries64
+#   endif
+#  endif
+
+#  ifdef __USE_LARGEFILE64
 extern __ssize_t getdirentries64 (int __fd, char *__restrict __buf,
 				  size_t __nbytes,
 				  __off64_t *__restrict __basep)
      __THROW __nonnull ((2, 4));
-# endif
-
-#endif /* Use BSD or misc.  */
+#  endif
+# endif /* Use BSD or misc.  */
+#endif /* Use BSD or misc or XPG7.  */
+
+#ifdef __USE_GNU
+/* Function to compare two `struct dirent's by name & version.  */
+# ifndef __USE_FILE_OFFSET64
+extern int versionsort (__const void *__e1, __const void *__e2)
+     __THROW __attribute_pure__ __nonnull ((1, 2));
+# else
+#  ifdef __REDIRECT
+extern int __REDIRECT_NTH (versionsort,
+			   (__const void *__e1, __const void *__e2),
+			   versionsort64)
+     __attribute_pure__ __nonnull ((1, 2));
+#  else
+#   define versionsort versionsort64
+#  endif
+# endif
+
+# ifdef __USE_LARGEFILE64
+extern int versionsort64 (__const void *__e1, __const void *__e2)
+     __THROW __attribute_pure__ __nonnull ((1, 2));
+# endif
+#endif /* Use GNU.  */
 
 __END_DECLS
 

Modified: fsf/trunk/libc/include/features.h
==============================================================================
--- fsf/trunk/libc/include/features.h (original)
+++ fsf/trunk/libc/include/features.h Thu Feb 26 00:03:41 2009
@@ -1,4 +1,4 @@
-/* Copyright (C) 1991,1992,1993,1995-2006,2007 Free Software Foundation, Inc.
+/* Copyright (C) 1991-1993,1995-2006,2007,2009 Free Software Foundation, Inc.
    This file is part of the GNU C Library.
 
    The GNU C Library is free software; you can redistribute it and/or
@@ -29,9 +29,10 @@
 			if >=199309L, add IEEE Std 1003.1b-1993;
 			if >=199506L, add IEEE Std 1003.1c-1995;
 			if >=200112L, all of IEEE 1003.1-2004
+			if >=200809L, all of IEEE 1003.1-2008
    _XOPEN_SOURCE	Includes POSIX and XPG things.  Set to 500 if
 			Single Unix conformance is wanted, to 600 for the
-			upcoming sixth revision.
+			sixth revision, to 700 for the seventh revision.
    _XOPEN_SOURCE_EXTENDED XPG things and X/Open Unix extensions.
    _LARGEFILE_SOURCE	Some more functions for correct standard I/O.
    _LARGEFILE64_SOURCE	Additional functionality from LFS for large files.
@@ -65,6 +66,7 @@
    __USE_XOPEN_EXTENDED	Define X/Open Unix things.
    __USE_UNIX98		Define Single Unix V2 things.
    __USE_XOPEN2K        Define XPG6 things.
+   __USE_XOPEN2K8       Define XPG7 things.
    __USE_LARGEFILE	Define correct standard I/O things.
    __USE_LARGEFILE64	Define LFS things with separate names.
    __USE_FILE_OFFSET64	Define 64bit interface as default.
@@ -100,6 +102,7 @@
 #undef	__USE_XOPEN_EXTENDED
 #undef	__USE_UNIX98
 #undef	__USE_XOPEN2K
+#undef	__USE_XOPEN2K8
 #undef	__USE_LARGEFILE
 #undef	__USE_LARGEFILE64
 #undef	__USE_FILE_OFFSET64
@@ -152,9 +155,9 @@
 # undef  _POSIX_SOURCE
 # define _POSIX_SOURCE	1
 # undef  _POSIX_C_SOURCE
-# define _POSIX_C_SOURCE	200112L
+# define _POSIX_C_SOURCE	200809L
 # undef  _XOPEN_SOURCE
-# define _XOPEN_SOURCE	600
+# define _XOPEN_SOURCE	700
 # undef  _XOPEN_SOURCE_EXTENDED
 # define _XOPEN_SOURCE_EXTENDED	1
 # undef	 _LARGEFILE64_SOURCE
@@ -201,9 +204,12 @@
 #  define _POSIX_C_SOURCE	2
 # elif defined _XOPEN_SOURCE && (_XOPEN_SOURCE - 0) < 600
 #  define _POSIX_C_SOURCE	199506L
+# elif defined _XOPEN_SOURCE && (_XOPEN_SOURCE - 0) < 700
+#  define _POSIX_C_SOURCE	200112L
 # else
-#  define _POSIX_C_SOURCE	200112L
-# endif
+#  define _POSIX_C_SOURCE	200809L
+# endif
+# define __USE_POSIX_IMPLICITLY	1
 #endif
 
 #if defined _POSIX_SOURCE || _POSIX_C_SOURCE >= 1 || defined _XOPEN_SOURCE
@@ -224,6 +230,12 @@
 
 #if (_POSIX_C_SOURCE - 0) >= 200112L
 # define __USE_XOPEN2K		1
+#endif
+
+#if (_POSIX_C_SOURCE - 0) >= 200809L
+# define __USE_XOPEN2K8		1
+# undef  _ATFILE_SOURCE
+# define _ATFILE_SOURCE	1
 #endif
 
 #ifdef	_XOPEN_SOURCE
@@ -234,6 +246,9 @@
 #  undef _LARGEFILE_SOURCE
 #  define _LARGEFILE_SOURCE	1
 #  if (_XOPEN_SOURCE - 0) >= 600
+#   if (_XOPEN_SOURCE - 0) >= 700
+#    define __USE_XOPEN2K8	1
+#   endif
 #   define __USE_XOPEN2K	1
 #   undef __USE_ISOC99
 #   define __USE_ISOC99		1

Modified: fsf/trunk/libc/io/sys/stat.h
==============================================================================
--- fsf/trunk/libc/io/sys/stat.h (original)
+++ fsf/trunk/libc/io/sys/stat.h Thu Feb 26 00:03:41 2009
@@ -333,14 +333,14 @@
 #if defined __USE_MISC || defined __USE_BSD || defined __USE_XOPEN_EXTENDED
 extern int mknod (__const char *__path, __mode_t __mode, __dev_t __dev)
      __THROW __nonnull ((1));
-#endif
-
-#ifdef __USE_ATFILE
+
+# ifdef __USE_ATFILE
 /* Like mknod, create a new device file with permission bits MODE and
    device number DEV.  But interpret relative PATH names relative to
    the directory associated with FD.  */
 extern int mknodat (int __fd, __const char *__path, __mode_t __mode,
 		    __dev_t __dev) __THROW __nonnull ((2));
+# endif
 #endif
 
 

Modified: fsf/trunk/libc/locale/langinfo.h
==============================================================================
--- fsf/trunk/libc/locale/langinfo.h (original)
+++ fsf/trunk/libc/locale/langinfo.h Thu Feb 26 00:03:41 2009
@@ -582,7 +582,7 @@
 extern char *nl_langinfo (nl_item __item) __THROW;
 
 
-#ifdef	__USE_GNU
+#ifdef	__USE_XOPEN2K
 /* This interface is for the extended locale model.  See <locale.h> for
    more information.  */
 

Modified: fsf/trunk/libc/locale/locale.h
==============================================================================
--- fsf/trunk/libc/locale/locale.h (original)
+++ fsf/trunk/libc/locale/locale.h Thu Feb 26 00:03:41 2009
@@ -1,4 +1,4 @@
-/* Copyright (C) 1991,1992,1995-2002,2007 Free Software Foundation, Inc.
+/* Copyright (C) 1991,1992,1995-2002,2007,2009 Free Software Foundation, Inc.
    This file is part of the GNU C Library.
 
    The GNU C Library is free software; you can redistribute it and/or
@@ -130,7 +130,7 @@
 __END_NAMESPACE_STD
 
 
-#ifdef	__USE_GNU
+#ifdef	__USE_XOPEN2K
 /* The concept of one static locale per category is not very well
    thought out.  Many applications will need to process its data using
    information from several different locales.  Another application is
@@ -144,8 +144,6 @@
 
 /* Get locale datatype definition.  */
 # include <xlocale.h>
-
-typedef __locale_t locale_t;
 
 /* Return a reference to a data structure representing a set of locale
    datasets.  Unlike for the CATEGORY parameter for `setlocale' the

Modified: fsf/trunk/libc/locale/xlocale.h
==============================================================================
--- fsf/trunk/libc/locale/xlocale.h (original)
+++ fsf/trunk/libc/locale/xlocale.h Thu Feb 26 00:03:41 2009
@@ -1,5 +1,5 @@
 /* Definition of locale datatype.
-   Copyright (C) 1997,2000,02 Free Software Foundation, Inc.
+   Copyright (C) 1997,2000,2002,2009 Free Software Foundation, Inc.
    This file is part of the GNU C Library.
    Contributed by Ulrich Drepper <drepper@xxxxxxxxxx>, 1997.
 
@@ -39,4 +39,7 @@
   const char *__names[13];
 } *__locale_t;
 
+/* POSIX 2008 makes locale_t official.  */
+typedef __locale_t locale_t;
+
 #endif /* xlocale.h */

Modified: fsf/trunk/libc/nptl/ChangeLog
==============================================================================
--- fsf/trunk/libc/nptl/ChangeLog (original)
+++ fsf/trunk/libc/nptl/ChangeLog Thu Feb 26 00:03:41 2009
@@ -1,3 +1,8 @@
+2009-02-25  Ulrich Drepper  <drepper@xxxxxxxxxx>
+
+	* sysdeps/pthread/pthread.h: The robust mutex functions are in
+	POSIX 2008.
+
 2009-02-24  Ulrich Drepper  <drepper@xxxxxxxxxx>
 
 	* sysdeps/unix/sysv/linux/bits/posix_opt.h (_BITS_POSIX_OPT_H):

Modified: fsf/trunk/libc/nptl/sysdeps/pthread/pthread.h
==============================================================================
--- fsf/trunk/libc/nptl/sysdeps/pthread/pthread.h (original)
+++ fsf/trunk/libc/nptl/sysdeps/pthread/pthread.h Thu Feb 26 00:03:41 2009
@@ -1,4 +1,4 @@
-/* Copyright (C) 2002, 2003, 2004, 2005, 2006, 2007, 2008
+/* Copyright (C) 2002, 2003, 2004, 2005, 2006, 2007, 2008, 2009
    Free Software Foundation, Inc.
    This file is part of the GNU C Library.
 
@@ -63,12 +63,14 @@
 };
 
 
-#ifdef __USE_GNU
+#ifdef __USE_XOPEN2K
 /* Robust mutex or not flags.  */
 enum
 {
-  PTHREAD_MUTEX_STALLED_NP,
-  PTHREAD_MUTEX_ROBUST_NP
+  PTHREAD_MUTEX_STALLED,
+  PTHREAD_MUTEX_STALLED_NP = PTHREAD_MUTEX_STALLED,
+  PTHREAD_MUTEX_ROBUST,
+  PTHREAD_MUTEX_ROBUST_NP = PTHREAD_MUTEX_ROBUST
 };
 #endif
 
@@ -762,10 +764,14 @@
 #endif
 
 
-#ifdef __USE_GNU
+#ifdef __USE_XOPEN2K8
 /* Declare the state protected by MUTEX as consistent.  */
 extern int pthread_mutex_consistent_np (pthread_mutex_t *__mutex)
      __THROW __nonnull ((1));
+# ifdef __USE_GNU
+extern int pthread_mutex_consistent_np (pthread_mutex_t *__mutex)
+     __THROW __nonnull ((1));
+# endif
 #endif
 
 
@@ -827,16 +833,26 @@
      __THROW __nonnull ((1));
 #endif
 
-#ifdef __USE_GNU
+#ifdef __USE_XOPEN2K
 /* Get the robustness flag of the mutex attribute ATTR.  */
+extern int pthread_mutexattr_getrobust (__const pthread_mutexattr_t *__attr,
+					int *__robustness)
+     __THROW __nonnull ((1, 2));
+# ifdef __USE_GNU
 extern int pthread_mutexattr_getrobust_np (__const pthread_mutexattr_t *__attr,
 					   int *__robustness)
      __THROW __nonnull ((1, 2));
+# endif
 
 /* Set the robustness flag of the mutex attribute ATTR.  */
+extern int pthread_mutexattr_setrobust (pthread_mutexattr_t *__attr,
+					int __robustness)
+     __THROW __nonnull ((1));
+# ifdef __USE_GNU
 extern int pthread_mutexattr_setrobust_np (pthread_mutexattr_t *__attr,
 					   int __robustness)
      __THROW __nonnull ((1));
+# endif
 #endif
 
 

Modified: fsf/trunk/libc/posix/Versions
==============================================================================
--- fsf/trunk/libc/posix/Versions (original)
+++ fsf/trunk/libc/posix/Versions Thu Feb 26 00:03:41 2009
@@ -128,6 +128,9 @@
   GLIBC_2.7 {
     __sched_cpualloc; __sched_cpufree;
   }
+  GLIBC_2.10 {
+    __posix_getopt;
+  }
   GLIBC_PRIVATE {
     __libc_fork; __libc_pwrite;
   }

Modified: fsf/trunk/libc/posix/getopt.c
==============================================================================
--- fsf/trunk/libc/posix/getopt.c (original)
+++ fsf/trunk/libc/posix/getopt.c Thu Feb 26 00:03:41 2009
@@ -2,7 +2,7 @@
    NOTE: getopt is part of the C library, so if you don't know what
    "Keep this file name-space clean" means, talk to drepper@xxxxxxx
    before changing it!
-   Copyright (C) 1987-1996,1998-2004,2008 Free Software Foundation, Inc.
+   Copyright (C) 1987-1996,1998-2004,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
@@ -270,7 +270,7 @@
 
 static const char *
 _getopt_initialize (int argc, char *const *argv, const char *optstring,
-		    struct _getopt_data *d)
+		    struct _getopt_data *d, int posixly_correct)
 {
   /* Start processing options with ARGV-element 1 (since ARGV-element 0
      is the program name); the sequence of previously skipped
@@ -280,7 +280,7 @@
 
   d->__nextchar = NULL;
 
-  d->__posixly_correct = !!getenv ("POSIXLY_CORRECT");
+  d->__posixly_correct = posixly_correct | !!getenv ("POSIXLY_CORRECT");
 
   /* Determine how to handle the ordering of options and nonoptions.  */
 
@@ -391,7 +391,7 @@
 int
 _getopt_internal_r (int argc, char *const *argv, const char *optstring,
 		    const struct option *longopts, int *longind,
-		    int long_only, struct _getopt_data *d)
+		    int long_only, struct _getopt_data *d, int posixly_correct)
 {
   int print_errors = d->opterr;
   if (optstring[0] == ':')
@@ -406,7 +406,8 @@
     {
       if (d->optind == 0)
 	d->optind = 1;	/* Don't scan ARGV[0], the program name.  */
-      optstring = _getopt_initialize (argc, argv, optstring, d);
+      optstring = _getopt_initialize (argc, argv, optstring, d,
+				      posixly_correct);
       d->__initialized = 1;
     }
 
@@ -1111,7 +1112,8 @@
 
 int
 _getopt_internal (int argc, char *const *argv, const char *optstring,
-		  const struct option *longopts, int *longind, int long_only)
+		  const struct option *longopts, int *longind, int long_only,
+		  int posixly_correct)
 {
   int result;
 
@@ -1119,7 +1121,8 @@
   getopt_data.opterr = opterr;
 
   result = _getopt_internal_r (argc, argv, optstring, longopts,
-			       longind, long_only, &getopt_data);
+			       longind, long_only, &getopt_data,
+			       posixly_correct);
 
   optind = getopt_data.optind;
   optarg = getopt_data.optarg;
@@ -1134,8 +1137,19 @@
   return _getopt_internal (argc, argv, optstring,
 			   (const struct option *) 0,
 			   (int *) 0,
-			   0);
+			   0, 0);
 }
+
+#ifdef _LIBC
+int
+__posix_getopt (int argc, char *const *argv, const char *optstring)
+{
+  return _getopt_internal (argc, argv, optstring,
+			   (const struct option *) 0,
+			   (int *) 0,
+			   0, 1);
+}
+#endif
 
 #endif	/* Not ELIDE_CODE.  */
 

Modified: fsf/trunk/libc/posix/getopt.h
==============================================================================
--- fsf/trunk/libc/posix/getopt.h (original)
+++ fsf/trunk/libc/posix/getopt.h Thu Feb 26 00:03:41 2009
@@ -1,5 +1,5 @@
 /* Declarations for getopt.
-   Copyright (C) 1989-1994,1996-1999,2001,2003,2004
+   Copyright (C) 1989-1994,1996-1999,2001,2003,2004,2009
    Free Software Foundation, Inc.
    This file is part of the GNU C Library.
 
@@ -151,6 +151,22 @@
    errors, only prototype getopt for the GNU C library.  */
 extern int getopt (int ___argc, char *const *___argv, const char *__shortopts)
        __THROW;
+
+# if defined __need_getopt && defined __USE_POSIX2 \
+  && !defined __USE_POSIX_IMPLICITLY && !defined __USE_GNU
+/* The GNU getopt has more functionality than the standard version.  The
+   additional functionality can be disable at runtime.  This redirection
+   helps to also do this at runtime.  */
+#  ifdef __REDIRECT
+  extern int __REDIRECT (getopt, (int ___argc, char *const *___argv,
+				  const char *__shortopts),
+			 __posix_getopt) __THROW;
+#  else
+extern int __posix_getopt (int ___argc, char *const *___argv,
+			   const char *__shortopts) __THROW;
+#   define getopt __posix_getopt
+#  endif
+# endif
 #else /* not __GNU_LIBRARY__ */
 extern int getopt ();
 #endif /* __GNU_LIBRARY__ */

Modified: fsf/trunk/libc/posix/getopt1.c
==============================================================================
--- fsf/trunk/libc/posix/getopt1.c (original)
+++ fsf/trunk/libc/posix/getopt1.c Thu Feb 26 00:03:41 2009
@@ -1,6 +1,5 @@
 /* getopt_long and getopt_long_only entry points for GNU getopt.
-   Copyright (C) 1987,88,89,90,91,92,93,94,96,97,98,2004
-     Free Software Foundation, Inc.
+   Copyright (C) 1987-1994,1996-1998,2004,2009 Free Software Foundation, Inc.
    This file is part of the GNU C Library.
 
    The GNU C Library is free software; you can redistribute it and/or
@@ -64,7 +63,7 @@
 getopt_long (int argc, char *const *argv, const char *options,
 	     const struct option *long_options, int *opt_index)
 {
-  return _getopt_internal (argc, argv, options, long_options, opt_index, 0);
+  return _getopt_internal (argc, argv, options, long_options, opt_index, 0, 0);
 }
 
 int
@@ -73,7 +72,7 @@
 		struct _getopt_data *d)
 {
   return _getopt_internal_r (argc, argv, options, long_options, opt_index,
-			     0, d);
+			     0, d, 0);
 }
 
 /* Like getopt_long, but '-' as well as '--' can indicate a long option.
@@ -85,7 +84,7 @@
 getopt_long_only (int argc, char *const *argv, const char *options,
 		  const struct option *long_options, int *opt_index)
 {
-  return _getopt_internal (argc, argv, options, long_options, opt_index, 1);
+  return _getopt_internal (argc, argv, options, long_options, opt_index, 1, 0);
 }
 
 int
@@ -94,7 +93,7 @@
 		     struct _getopt_data *d)
 {
   return _getopt_internal_r (argc, argv, options, long_options, opt_index,
-			     1, d);
+			     1, d, 0);
 }
 
 #endif	/* Not ELIDE_CODE.  */

Modified: fsf/trunk/libc/posix/getopt_int.h
==============================================================================
--- fsf/trunk/libc/posix/getopt_int.h (original)
+++ fsf/trunk/libc/posix/getopt_int.h Thu Feb 26 00:03:41 2009
@@ -1,5 +1,5 @@
 /* Internal declarations for getopt.
-   Copyright (C) 1989-1994,1996-1999,2001,2003,2004
+   Copyright (C) 1989-1994,1996-1999,2001,2003,2004,2009
    Free Software Foundation, Inc.
    This file is part of the GNU C Library.
 
@@ -24,7 +24,7 @@
 extern int _getopt_internal (int ___argc, char *const *___argv,
 			     const char *__shortopts,
 		             const struct option *__longopts, int *__longind,
-			     int __long_only);
+			     int __long_only, int posixly_correct);
 
 
 /* Reentrant versions which can handle parsing multiple argument
@@ -114,7 +114,8 @@
 extern int _getopt_internal_r (int ___argc, char *const *___argv,
 			       const char *__shortopts,
 			       const struct option *__longopts, int *__longind,
-			       int __long_only, struct _getopt_data *__data);
+			       int __long_only, struct _getopt_data *__data,
+			       int posixly_correct);
 
 extern int _getopt_long_r (int ___argc, char *const *___argv,
 			   const char *__shortopts,

Modified: fsf/trunk/libc/signal/signal.h
==============================================================================
--- fsf/trunk/libc/signal/signal.h (original)
+++ fsf/trunk/libc/signal/signal.h Thu Feb 26 00:03:41 2009
@@ -1,4 +1,4 @@
-/* Copyright (C) 1991-2003, 2004, 2007 Free Software Foundation, Inc.
+/* Copyright (C) 1991-2003, 2004, 2007, 2009 Free Software Foundation, Inc.
    This file is part of the GNU C Library.
 
    The GNU C Library is free software; you can redistribute it and/or
@@ -136,10 +136,16 @@
 extern int gsignal (int __sig) __THROW;
 #endif /* Use SVID.  */
 
-#ifdef __USE_MISC
+#if defined __USE_MISC || defined __USE_XOPEN2K
 /* Print a message describing the meaning of the given signal number.  */
 extern void psignal (int __sig, __const char *__s);
-#endif /* Use misc.  */
+#endif /* Use misc or POSIX 2008.  */
+
+#ifdef __USE_XOPEN2K
+/* Print a message describing the meaning of the given signal information.  */
+extern void psiginfo (__const siginfo_t *__pinfo, __const char *__s);
+#endif /* POSIX 2008.  */
+
 
 
 /* The `sigpause' function has two different interfaces.  The original

Modified: fsf/trunk/libc/stdio-common/Makefile
==============================================================================
--- fsf/trunk/libc/stdio-common/Makefile (original)
+++ fsf/trunk/libc/stdio-common/Makefile Thu Feb 26 00:03:41 2009
@@ -1,4 +1,4 @@
-# Copyright (C) 1991-2006, 2007, 2008 Free Software Foundation, Inc.
+# Copyright (C) 1991-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
@@ -36,7 +36,8 @@
 	remove rename renameat						      \
 	flockfile ftrylockfile funlockfile				      \
 	isoc99_scanf isoc99_vscanf isoc99_fscanf isoc99_vfscanf isoc99_sscanf \
-	isoc99_vsscanf
+	isoc99_vsscanf							      \
+	psiginfo
 
 install-others = $(inst_includedir)/bits/stdio_lim.h
 

Modified: fsf/trunk/libc/stdio-common/Versions
==============================================================================
--- fsf/trunk/libc/stdio-common/Versions (original)
+++ fsf/trunk/libc/stdio-common/Versions Thu Feb 26 00:03:41 2009
@@ -53,6 +53,9 @@
     __isoc99_scanf; __isoc99_vscanf; __isoc99_fscanf; __isoc99_vfscanf;
     __isoc99_sscanf; __isoc99_vsscanf;
   }
+  GLIBC_2.10 {
+    psiginfo;
+  }
   GLIBC_PRIVATE {
     # global variables
     _itoa_lower_digits;

Added: fsf/trunk/libc/stdio-common/psiginfo-data.h
==============================================================================
--- fsf/trunk/libc/stdio-common/psiginfo-data.h (added)
+++ fsf/trunk/libc/stdio-common/psiginfo-data.h Thu Feb 26 00:03:41 2009
@@ -1,0 +1,50 @@
+#if NOW == SIGILL
+P (ILL_ILLOPC, N_("Illegal opcode"))
+P (ILL_ILLOPN, N_("Illegal operand"))
+P (ILL_ILLADR, N_("Illegal addressing mode"))
+P (ILL_ILLTRP, N_("Illegal trap"))
+P (ILL_PRVOPC, N_("Privileged opcode"))
+P (ILL_PRVREG, N_("Privileged register"))
+P (ILL_COPROC, N_("Coprocessor error"))
+P (ILL_BADSTK, N_("Internal stack error"))
+#endif
+#if NOW == SIGFPE
+P (FPE_INTDIV, N_("Integer divide by zero"))
+P (FPE_INTOVF, N_("Integer overflow"))
+P (FPE_FLTDIV, N_("Floating-point divide by zero"))
+P (FPE_FLTOVF, N_("Floating-point overflow"))
+P (FPE_FLTUND, N_("Floating-point underflow"))
+P (FPE_FLTRES, N_("Floating-poing inexact result"))
+P (FPE_FLTINV, N_("Invalid floating-point operation"))
+P (FPE_FLTSUB, N_("Subscript out of range"))
+#endif
+#if NOW == SIGSEGV
+P (SEGV_MAPERR, N_("Address not mapped to object"))
+P (SEGV_ACCERR, N_("Invalid permissions for mapped object"))
+#endif
+#if NOW == SIGBUS
+P (BUS_ADRALN, N_("Invalid address alignment"))
+P (BUS_ADRERR, N_("Nonexisting physical address"))
+P (BUS_OBJERR, N_("Object-specific hardware error"))
+#endif
+#if NOW == SIGTRAP
+P (TRAP_BRKPT, N_("Process breakpoint"))
+P (TRAP_TRACE, N_("Process trace trap"))
+#endif
+#if NOW == SIGCLD
+P (CLD_EXITED, N_("Child has exited"))
+P (CLD_KILLED, N_("Child has terminated abnormally and did not create a core file"))
+P (CLD_DUMPED, N_("Child hat terminated abnormally and created a core file"))
+P (CLD_TRAPPED, N_("Traced child has trapped"))
+P (CLD_STOPPED, N_("Child has stopped"))
+P (CLD_CONTINUED, N_("Stopped child has continued"))
+#endif
+#if NOW == SIGPOLL
+P (POLL_IN, N_("Data input available"))
+P (POLL_OUT, N_("Output buffers available"))
+P (POLL_MSG, N_("Input message available"))
+P (POLL_ERR, N_("I/O error"))
+P (POLL_PRI, N_("High priority input available"))
+P (POLL_HUP, N_("Device disconnected"))
+#endif
+#undef P

Added: fsf/trunk/libc/stdio-common/psiginfo-define.h
==============================================================================
--- fsf/trunk/libc/stdio-common/psiginfo-define.h (added)
+++ fsf/trunk/libc/stdio-common/psiginfo-define.h Thu Feb 26 00:03:41 2009
@@ -1,0 +1,15 @@
+static const union C(codestrs_t_, NOW) {
+  struct {
+#define P(n, s) char MF(__LINE__)[sizeof (s)];
+#include "psiginfo-data.h"
+  };
+  char str[0];
+} C(codestrs_, NOW) = { {
+#define P(n, s) s,
+#include "psiginfo-data.h"
+  } };
+static const uint8_t C(codes_, NOW)[] = {
+#define P(n, s) [(n) - 1] = offsetof (union C(codestrs_t_, NOW), MF(__LINE__)),
+#include "psiginfo-data.h"
+};
+#undef NOW

Added: fsf/trunk/libc/stdio-common/psiginfo.c
==============================================================================
--- fsf/trunk/libc/stdio-common/psiginfo.c (added)
+++ fsf/trunk/libc/stdio-common/psiginfo.c Thu Feb 26 00:03:41 2009
@@ -1,0 +1,178 @@
+/* Copyright (C) 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
+   modify it under the terms of the GNU Lesser General Public
+   License as published by the Free Software Foundation; either
+   version 2.1 of the License, or (at your option) any later version.
+
+   The GNU C Library is distributed in the hope that it will be useful,
+   but WITHOUT ANY WARRANTY; without even the implied warranty of
+   MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
+   Lesser General Public License for more details.
+
+   You should have received a copy of the GNU Lesser General Public
+   License along with the GNU C Library; if not, write to the Free
+   Software Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA
+   02111-1307 USA.  */
+
+#include <libintl.h>
+#include <signal.h>
+#include <stdint.h>
+#include <stdio.h>
+#include <stdlib.h>
+#include <string.h>
+#include <unistd.h>
+#include <not-cancel.h>
+
+
+#define MF(l) MF1 (l)
+#define MF1(l) str_##l
+#define C(s1, s2) C1 (s1, s2)
+#define C1(s1, s2) s1##s2
+
+#define NOW SIGILL
+#include "psiginfo-define.h"
+
+#define NOW SIGFPE
+#include "psiginfo-define.h"
+
+#define NOW SIGSEGV
+#include "psiginfo-define.h"
+
+#define NOW SIGBUS
+#include "psiginfo-define.h"
+
+#define NOW SIGTRAP
+#include "psiginfo-define.h"
+
+#define NOW SIGCLD
+#include "psiginfo-define.h"
+
+#define NOW SIGPOLL
+#include "psiginfo-define.h"
+
+
+/* Print out on stderr a line consisting of the test in S, a colon, a space,
+   a message describing the meaning of the signal number PINFO and a newline.
+   If S is NULL or "", the colon and space are omitted.  */
+void
+psiginfo (const siginfo_t *pinfo, const char *s)
+{
+  char buf[512];
+  FILE *fp = fmemopen (buf, sizeof (buf), "w");
+  if (fp == NULL)
+    {
+      const char *colon;
+
+      if (s == NULL || *s == '\0')
+	s = colon = "";
+      else
+	colon = ": ";
+
+      __fxprintf (NULL, "%s%ssignal %d\n", s, colon, pinfo->si_signo);
+      return;
+    }
+
+  if (s != NULL && *s != '\0')
+    fprintf (fp, "%s: ", s);
+
+  const char *desc;
+  if (pinfo->si_signo >= 0 && pinfo->si_signo < NSIG
+      && (desc = INTUSE(_sys_siglist)[pinfo->si_signo]) != NULL)
+    {
+      fprintf (fp, "%s (", _(desc));
+
+      const char *base = NULL;
+      const uint8_t *offarr = NULL;
+      size_t offarr_len = 0;
+      switch (pinfo->si_signo)
+	{
+#define H(sig) \
+	case sig:							      \
+	  base = C(codestrs_, sig).str;					      \
+	  offarr = C (codes_, sig);					      \
+	  offarr_len = sizeof (C (codes_, sig)) / sizeof (C (codes_, sig)[0]);\
+	  break
+
+	  H (SIGILL);
+	  H (SIGFPE);
+	  H (SIGSEGV);
+	  H (SIGBUS);
+	  H (SIGTRAP);
+	  H (SIGCHLD);
+	  H (SIGPOLL);
+	}
+
+      const char *str = NULL;
+      if (offarr != NULL
+	  && pinfo->si_code >= 1 && pinfo->si_code <= offarr_len)
+	str = base + offarr[pinfo->si_code - 1];
+      else
+	switch (pinfo->si_code)
+	  {
+	  case SI_USER:
+	    str = N_("Signal sent by kill()");
+	    break;
+	  case SI_QUEUE:
+	    str = N_("Signal sent by sigqueue()");
+	    break;
+	  case SI_TIMER:
+	    str = N_("Signal generated by the expiration of a timer");
+	    break;
+	  case SI_ASYNCIO:
+	    str = N_("\
+Signal generated by the completion of an asynchronous I/O request");
+	    break;
+	  case SI_MESGQ:
+	    str = N_("\
+Signal generated by the arrival of a message on an empty message queue");
+	    break;
+#ifdef SI_TKILL
+	  case SI_TKILL:
+	    str = N_("Signal sent by tkill()");
+	    break;
+#endif
+#ifdef SI_ASYNCNL
+	  case SI_ASYNCNL:
+	    str = N_("\
+Signal generated by the completion of an asynchronous name lookup request");
+	    break;
+#endif
+#ifdef SI_SIGIO
+	  case SI_SIGIO:
+	    str = N_("\
+Signal generated by the completion of an I/O request");
+	    break;
+#endif
+#ifdef SI_KERNEL
+	  case SI_KERNEL:
+	    str = N_("Signal sent by the kernel");
+	    break;
+#endif
+	  }
+
+      if (str != NULL)
+	fprintf (fp, "%s ", _(str));
+      else
+	fprintf (fp, "%d ", pinfo->si_code);
+
+      if (pinfo->si_signo == SIGILL || pinfo->si_signo == SIGFPE
+	  || pinfo->si_signo == SIGSEGV || pinfo->si_signo == SIGBUS)
+	fprintf (fp, "[%p])", pinfo->si_addr);
+      else if (pinfo->si_signo == SIGCHLD)
+	fprintf (fp, "%ld %d %ld)", (long int) pinfo->si_pid, pinfo->si_status,
+		 (long int) pinfo->si_uid);
+      else if (pinfo->si_signo == SIGPOLL)
+	fprintf (fp, "%ld)", pinfo->si_band);
+      else
+	fprintf (fp, "%ld %ld)",
+		 (long int) pinfo->si_pid, (long int) pinfo->si_uid);
+    }
+  else
+    fprintf (fp, _("Unknown signal %d\n"),  pinfo->si_signo);
+
+  fclose (fp);
+
+  write_not_cancel (STDERR_FILENO, buf, strlen (buf));
+}

Modified: fsf/trunk/libc/stdlib/monetary.h
==============================================================================
--- fsf/trunk/libc/stdlib/monetary.h (original)
+++ fsf/trunk/libc/stdlib/monetary.h Thu Feb 26 00:03:41 2009
@@ -41,7 +41,7 @@
 			__const char *__restrict __format, ...)
      __THROW __attribute_format_strfmon__ (3, 4);
 
-#ifdef __USE_GNU
+#ifdef __USE_XOPEN2K8
 # include <xlocale.h>
 
 /* Formatting a monetary value according to the current locale.  */

Modified: fsf/trunk/libc/sysdeps/unix/sysv/linux/bits/stat.h
==============================================================================
--- fsf/trunk/libc/sysdeps/unix/sysv/linux/bits/stat.h (original)
+++ fsf/trunk/libc/sysdeps/unix/sysv/linux/bits/stat.h Thu Feb 26 00:03:41 2009
@@ -1,4 +1,4 @@
-/* Copyright (C) 1992, 1995-2001, 2002 Free Software Foundation, Inc.
+/* Copyright (C) 1992, 1995-2001, 2002, 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
@@ -162,8 +162,7 @@
 #define	__S_IWRITE	0200	/* Write by owner.  */
 #define	__S_IEXEC	0100	/* Execute by owner.  */
 
-#if defined __USE_ATFILE || defined __USE_GNU
-/* XXX This will change to the macro for the next 2008 POSIX revision.  */
+#ifdef __USE_ATFILE
 # define UTIME_NOW	((1l << 30) - 1l)
 # define UTIME_OMIT	((1l << 30) - 2l)
 #endif

Modified: fsf/trunk/libc/sysdeps/unix/sysv/linux/ia64/bits/stat.h
==============================================================================
--- fsf/trunk/libc/sysdeps/unix/sysv/linux/ia64/bits/stat.h (original)
+++ fsf/trunk/libc/sysdeps/unix/sysv/linux/ia64/bits/stat.h Thu Feb 26 00:03:41 2009
@@ -1,4 +1,4 @@
-/* Copyright (C) 1999, 2000, 2001, 2002 Free Software Foundation, Inc.
+/* Copyright (C) 1999, 2000, 2001, 2002, 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
@@ -139,8 +139,7 @@
 #define	__S_IWRITE	0200	/* Write by owner.  */
 #define	__S_IEXEC	0100	/* Execute by owner.  */
 
-#if defined __USE_ATFILE || defined __USE_GNU
-/* XXX This will change to the macro for the next 2008 POSIX revision.  */
+#ifdef __USE_ATFILE
 # define UTIME_NOW	((1l << 30) - 1l)
 # define UTIME_OMIT	((1l << 30) - 2l)
 #endif

Modified: fsf/trunk/libc/sysdeps/unix/sysv/linux/powerpc/bits/stat.h
==============================================================================
--- fsf/trunk/libc/sysdeps/unix/sysv/linux/powerpc/bits/stat.h (original)
+++ fsf/trunk/libc/sysdeps/unix/sysv/linux/powerpc/bits/stat.h Thu Feb 26 00:03:41 2009
@@ -1,4 +1,4 @@
-/* Copyright (C) 1992, 1995, 1996, 1997, 1998, 1999, 2000, 2001, 2002
+/* Copyright (C) 1992, 1995, 1996, 1997, 1998, 1999, 2000, 2001, 2002, 2009
    Free Software Foundation, Inc.
    This file is part of the GNU C Library.
 
@@ -266,8 +266,7 @@
 #define	__S_IWRITE	0200	/* Write by owner.  */
 #define	__S_IEXEC	0100	/* Execute by owner.  */
 
-#if defined __USE_ATFILE || defined __USE_GNU
-/* XXX This will change to the macro for the next 2008 POSIX revision.  */
+#ifdef __USE_ATFILE
 # define UTIME_NOW	((1l << 30) - 1l)
 # define UTIME_OMIT	((1l << 30) - 2l)
 #endif

Modified: fsf/trunk/libc/sysdeps/unix/sysv/linux/s390/bits/stat.h
==============================================================================
--- fsf/trunk/libc/sysdeps/unix/sysv/linux/s390/bits/stat.h (original)
+++ fsf/trunk/libc/sysdeps/unix/sysv/linux/s390/bits/stat.h Thu Feb 26 00:03:41 2009
@@ -1,4 +1,4 @@
-/* Copyright (C) 2000, 2001, 2002 Free Software Foundation, Inc.
+/* Copyright (C) 2000, 2001, 2002, 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
@@ -255,8 +255,7 @@
 #define	__S_IWRITE	0200	/* Write by owner.  */
 #define	__S_IEXEC	0100	/* Execute by owner.  */
 
-#if defined __USE_ATFILE || defined __USE_GNU
-/* XXX This will change to the macro for the next 2008 POSIX revision.  */
+#ifdef __USE_ATFILE
 # define UTIME_NOW	((1l << 30) - 1l)
 # define UTIME_OMIT	((1l << 30) - 2l)
 #endif

Modified: fsf/trunk/libc/sysdeps/unix/sysv/linux/sparc/bits/stat.h
==============================================================================
--- fsf/trunk/libc/sysdeps/unix/sysv/linux/sparc/bits/stat.h (original)
+++ fsf/trunk/libc/sysdeps/unix/sysv/linux/sparc/bits/stat.h Thu Feb 26 00:03:41 2009
@@ -1,5 +1,4 @@
-/* Copyright (C) 1992, 1995, 1996, 1997, 1998, 1999, 2000, 2001, 2002, 2006
-   Free Software Foundation, Inc.
+/* Copyright (C) 1992, 1995-2002, 2006, 2009 Free Software Foundation, Inc.
    This file is part of the GNU C Library.
 
    The GNU C Library is free software; you can redistribute it and/or
@@ -164,8 +163,7 @@
 #define	__S_IWRITE	0200	/* Write by owner.  */
 #define	__S_IEXEC	0100	/* Execute by owner.  */
 
-#if defined __USE_ATFILE || defined __USE_GNU
-/* XXX This will change to the macro for the next 2008 POSIX revision.  */
+#ifdef __USE_ATFILE
 # define UTIME_NOW	((1l << 30) - 1l)
 # define UTIME_OMIT	((1l << 30) - 2l)
 #endif

Modified: fsf/trunk/libc/sysdeps/unix/sysv/linux/x86_64/bits/stat.h
==============================================================================
--- fsf/trunk/libc/sysdeps/unix/sysv/linux/x86_64/bits/stat.h (original)
+++ fsf/trunk/libc/sysdeps/unix/sysv/linux/x86_64/bits/stat.h Thu Feb 26 00:03:41 2009
@@ -1,4 +1,4 @@
-/* Copyright (C) 1999,2000,2001,2002,2003 Free Software Foundation, Inc.
+/* Copyright (C) 1999,2000,2001,2002,2003,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
@@ -202,8 +202,7 @@
 #define	__S_IWRITE	0200	/* Write by owner.  */
 #define	__S_IEXEC	0100	/* Execute by owner.  */
 
-#if defined __USE_ATFILE || defined __USE_GNU
-/* XXX This will change to the macro for the next 2008 POSIX revision.  */
+#ifdef __USE_ATFILE
 # define UTIME_NOW	((1l << 30) - 1l)
 # define UTIME_OMIT	((1l << 30) - 2l)
 #endif

Modified: fsf/trunk/libc/time/sys/time.h
==============================================================================
--- fsf/trunk/libc/time/sys/time.h (original)
+++ fsf/trunk/libc/time/sys/time.h Thu Feb 26 00:03:41 2009
@@ -1,4 +1,4 @@
-/* Copyright (C) 1991-1994,1996-2002,2003,2005,2006
+/* Copyright (C) 1991-1994,1996-2003,2005,2006,2009
 	Free Software Foundation, Inc.
    This file is part of the GNU C Library.
 
@@ -149,7 +149,7 @@
 extern int futimes (int __fd, __const struct timeval __tvp[2]) __THROW;
 #endif
 
-#ifdef __USE_ATFILE
+#ifdef __USE_GNU
 /* Change the access time of FILE relative to FD to TVP[0] and the
    modification time of FILE to TVP[1].  If TVP is a null pointer, use
    the current time instead.  Returns 0 on success, -1 on errors.  */