* ctype/ctype.h: The *_l functions are in POSIX 2008.

* dirent/dirent.h: alphasort, dirfd, scandir, and fdopendir are in
	POSIX 2008.
	/proc/sys/kernel/rtsig_max doesn't exist anymore, use getrlimit
This commit is contained in:
Ulrich Drepper 2009-02-26 02:23:50 +00:00
parent 3e6b0a28eb
commit 77db439eaf
10 changed files with 88 additions and 57 deletions

View File

@ -1,6 +1,9 @@
2009-02-25 Ulrich Drepper <drepper@redhat.com> 2009-02-25 Ulrich Drepper <drepper@redhat.com>
* include/features.h: Define macros for XPG7/POSIX 2008. * 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.
* sysdeps/unix/sysv/linux/bits/stat.h: Protect UTIME_NOW and * sysdeps/unix/sysv/linux/bits/stat.h: Protect UTIME_NOW and
UTIME_OMIT only with __USE_ATFILE. UTIME_OMIT only with __USE_ATFILE.
* sysdeps/unix/sysv/linux/ia64/bits/stat.h: Likewise. * sysdeps/unix/sysv/linux/ia64/bits/stat.h: Likewise.
@ -52,7 +55,7 @@
2009-02-24 Ulrich Drepper <drepper@redhat.com> 2009-02-24 Ulrich Drepper <drepper@redhat.com>
* sysdeps/unix/sysv/linux/sysconf.c (__sysconf): * 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. instead.
* io/sys/stat.h: The lstat functions have been mandatory since 2001. * io/sys/stat.h: The lstat functions have been mandatory since 2001.

4
NEWS
View File

@ -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. Copyright (C) 1992-2008, 2009 Free Software Foundation, Inc.
See the end for copying conditions. See the end for copying conditions.
@ -12,6 +12,8 @@ Version 2.10
* Correct declarations of string function when used in C++ code. This * Correct declarations of string function when used in C++ code. This
could lead to compile error for invalid C++ code. could lead to compile error for invalid C++ code.
* XPG7/POSIX 2008 compilation environment.
Version 2.9 Version 2.9

View File

@ -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. Free Software Foundation, Inc.
This file is part of the GNU C Library. This file is part of the GNU C Library.
@ -216,7 +216,7 @@ __NTH (toupper (int __c))
#endif /* Not __NO_CTYPE. */ #endif /* Not __NO_CTYPE. */
#ifdef __USE_GNU #ifdef __USE_XOPEN2K8
/* The concept of one static locale per category is not very well /* The concept of one static locale per category is not very well
thought out. Many applications will need to process its data using thought out. Many applications will need to process its data using
information from several different locales. Another application is information from several different locales. Another application is
@ -292,7 +292,7 @@ extern int toupper_l (int __c, __locale_t __l) __THROW;
# define __isblank_l(c,l) __isctype_l((c), _ISblank, (l)) # 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 __isascii_l(c,l) ((l), __isascii (c))
# define __toascii_l(c,l) ((l), __toascii (c)) # define __toascii_l(c,l) ((l), __toascii (c))
# endif # endif
@ -311,14 +311,14 @@ extern int toupper_l (int __c, __locale_t __l) __THROW;
# define isblank_l(c,l) __isblank_l ((c), (l)) # 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 isascii_l(c,l) __isascii_l ((c), (l))
# define toascii_l(c,l) __toascii_l ((c), (l)) # define toascii_l(c,l) __toascii_l ((c), (l))
# endif # endif
# endif /* Not __NO_CTYPE. */ # endif /* Not __NO_CTYPE. */
#endif /* Use GNU. */ #endif /* Use POSIX 2008. */
__END_DECLS __END_DECLS

View File

@ -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. This file is part of the GNU C Library.
The GNU C Library is free software; you can redistribute it and/or The GNU C Library is free software; you can redistribute it and/or
@ -134,7 +134,7 @@ typedef struct __dirstream DIR;
marked with __THROW. */ marked with __THROW. */
extern DIR *opendir (__const char *__name) __nonnull ((1)); 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. /* Same as opendir, but open the stream on the file descriptor FD.
This function is a possible cancellation point and therefore not This function is a possible cancellation point and therefore not
@ -218,7 +218,7 @@ extern void seekdir (DIR *__dirp, long int __pos) __THROW __nonnull ((1));
extern long int telldir (DIR *__dirp) __THROW __nonnull ((1)); extern long int telldir (DIR *__dirp) __THROW __nonnull ((1));
#endif #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. */ /* Return the file descriptor used by DIRP. */
extern int dirfd (DIR *__dirp) __THROW __nonnull ((1)); extern int dirfd (DIR *__dirp) __THROW __nonnull ((1));
@ -227,15 +227,17 @@ extern int dirfd (DIR *__dirp) __THROW __nonnull ((1));
# define dirfd(dirp) _DIR_dirfd (dirp) # define dirfd(dirp) _DIR_dirfd (dirp)
# endif # endif
# ifndef MAXNAMLEN # if defined __USE_BSD || defined __USE_MISC
# ifndef MAXNAMLEN
/* Get the definitions of the POSIX.1 limits. */ /* Get the definitions of the POSIX.1 limits. */
# include <bits/posix1_lim.h> # include <bits/posix1_lim.h>
/* `MAXNAMLEN' is the BSD name for what POSIX calls `NAME_MAX'. */ /* `MAXNAMLEN' is the BSD name for what POSIX calls `NAME_MAX'. */
# ifdef NAME_MAX # ifdef NAME_MAX
# define MAXNAMLEN NAME_MAX # define MAXNAMLEN NAME_MAX
# else # else
# define MAXNAMLEN 255 # define MAXNAMLEN 255
# endif
# endif # endif
# endif # endif
@ -294,57 +296,59 @@ extern int alphasort64 (__const void *__e1, __const void *__e2)
__THROW __attribute_pure__ __nonnull ((1, 2)); __THROW __attribute_pure__ __nonnull ((1, 2));
# endif # 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. /* Read directory entries from FD into BUF, reading at most NBYTES.
Reading starts at offset *BASEP, and *BASEP is updated with the new Reading starts at offset *BASEP, and *BASEP is updated with the new
position after reading. Returns the number of bytes read; zero when at position after reading. Returns the number of bytes read; zero when at
end of directory; or -1 for errors. */ end of directory; or -1 for errors. */
# ifndef __USE_FILE_OFFSET64 # ifndef __USE_FILE_OFFSET64
extern __ssize_t getdirentries (int __fd, char *__restrict __buf, extern __ssize_t getdirentries (int __fd, char *__restrict __buf,
size_t __nbytes, size_t __nbytes,
__off_t *__restrict __basep) __off_t *__restrict __basep)
__THROW __nonnull ((2, 4)); __THROW __nonnull ((2, 4));
# else # else
# ifdef __REDIRECT # ifdef __REDIRECT
extern __ssize_t __REDIRECT_NTH (getdirentries, extern __ssize_t __REDIRECT_NTH (getdirentries,
(int __fd, char *__restrict __buf, (int __fd, char *__restrict __buf,
size_t __nbytes, size_t __nbytes,
__off64_t *__restrict __basep), __off64_t *__restrict __basep),
getdirentries64) __nonnull ((2, 4)); getdirentries64) __nonnull ((2, 4));
# else # else
# define getdirentries getdirentries64 # define getdirentries getdirentries64
# endif
# endif # endif
# endif
# ifdef __USE_LARGEFILE64 # ifdef __USE_LARGEFILE64
extern __ssize_t getdirentries64 (int __fd, char *__restrict __buf, extern __ssize_t getdirentries64 (int __fd, char *__restrict __buf,
size_t __nbytes, size_t __nbytes,
__off64_t *__restrict __basep) __off64_t *__restrict __basep)
__THROW __nonnull ((2, 4)); __THROW __nonnull ((2, 4));
# 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 # endif
#endif /* Use BSD or misc. */ # ifdef __USE_LARGEFILE64
extern int versionsort64 (__const void *__e1, __const void *__e2)
__THROW __attribute_pure__ __nonnull ((1, 2));
# endif
#endif /* Use GNU. */
__END_DECLS __END_DECLS

View File

@ -582,7 +582,7 @@ enum
extern char *nl_langinfo (nl_item __item) __THROW; 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 /* This interface is for the extended locale model. See <locale.h> for
more information. */ more information. */

View File

@ -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. This file is part of the GNU C Library.
The GNU C Library is free software; you can redistribute it and/or The GNU C Library is free software; you can redistribute it and/or
@ -130,7 +130,7 @@ extern struct lconv *localeconv (void) __THROW;
__END_NAMESPACE_STD __END_NAMESPACE_STD
#ifdef __USE_GNU #ifdef __USE_XOPEN2K
/* The concept of one static locale per category is not very well /* The concept of one static locale per category is not very well
thought out. Many applications will need to process its data using thought out. Many applications will need to process its data using
information from several different locales. Another application is information from several different locales. Another application is
@ -145,8 +145,6 @@ __END_NAMESPACE_STD
/* Get locale datatype definition. */ /* Get locale datatype definition. */
# include <xlocale.h> # include <xlocale.h>
typedef __locale_t locale_t;
/* Return a reference to a data structure representing a set of locale /* Return a reference to a data structure representing a set of locale
datasets. Unlike for the CATEGORY parameter for `setlocale' the datasets. Unlike for the CATEGORY parameter for `setlocale' the
CATEGORY_MASK parameter here uses a single bit for each category, CATEGORY_MASK parameter here uses a single bit for each category,

View File

@ -1,5 +1,5 @@
/* Definition of locale datatype. /* 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. This file is part of the GNU C Library.
Contributed by Ulrich Drepper <drepper@cygnus.com>, 1997. Contributed by Ulrich Drepper <drepper@cygnus.com>, 1997.
@ -39,4 +39,7 @@ typedef struct __locale_struct
const char *__names[13]; const char *__names[13];
} *__locale_t; } *__locale_t;
/* POSIX 2008 makes locale_t official. */
typedef __locale_t locale_t;
#endif /* xlocale.h */ #endif /* xlocale.h */

View File

@ -1,3 +1,8 @@
2009-02-25 Ulrich Drepper <drepper@redhat.com>
* sysdeps/pthread/pthread.h: The robust mutex functions are in
POSIX 2008.
2009-02-24 Ulrich Drepper <drepper@redhat.com> 2009-02-24 Ulrich Drepper <drepper@redhat.com>
* sysdeps/unix/sysv/linux/bits/posix_opt.h (_BITS_POSIX_OPT_H): * sysdeps/unix/sysv/linux/bits/posix_opt.h (_BITS_POSIX_OPT_H):

View File

@ -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. Free Software Foundation, Inc.
This file is part of the GNU C Library. This file is part of the GNU C Library.
@ -63,12 +63,14 @@ enum
}; };
#ifdef __USE_GNU #ifdef __USE_XOPEN2K
/* Robust mutex or not flags. */ /* Robust mutex or not flags. */
enum enum
{ {
PTHREAD_MUTEX_STALLED_NP, PTHREAD_MUTEX_STALLED,
PTHREAD_MUTEX_ROBUST_NP PTHREAD_MUTEX_STALLED_NP = PTHREAD_MUTEX_STALLED,
PTHREAD_MUTEX_ROBUST_NP,
PTHREAD_MUTEX_ROBUST_NP = PTHREAD_MUTEX_ROBUST
}; };
#endif #endif
@ -762,10 +764,14 @@ extern int pthread_mutex_setprioceiling (pthread_mutex_t *__restrict __mutex,
#endif #endif
#ifdef __USE_GNU #ifdef __USE_XOPEN2K8
/* Declare the state protected by MUTEX as consistent. */ /* Declare the state protected by MUTEX as consistent. */
extern int pthread_mutex_consistent_np (pthread_mutex_t *__mutex) extern int pthread_mutex_consistent_np (pthread_mutex_t *__mutex)
__THROW __nonnull ((1)); __THROW __nonnull ((1));
# ifdef __USE_GNU
extern int pthread_mutex_consistent_np (pthread_mutex_t *__mutex)
__THROW __nonnull ((1));
# endif
#endif #endif
@ -827,16 +833,26 @@ extern int pthread_mutexattr_setprioceiling (pthread_mutexattr_t *__attr,
__THROW __nonnull ((1)); __THROW __nonnull ((1));
#endif #endif
#ifdef __USE_GNU #ifdef __USE_XOPEN2K
/* Get the robustness flag of the mutex attribute ATTR. */ /* 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, extern int pthread_mutexattr_getrobust_np (__const pthread_mutexattr_t *__attr,
int *__robustness) int *__robustness)
__THROW __nonnull ((1, 2)); __THROW __nonnull ((1, 2));
# endif
/* Set the robustness flag of the mutex attribute ATTR. */ /* 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, extern int pthread_mutexattr_setrobust_np (pthread_mutexattr_t *__attr,
int __robustness) int __robustness)
__THROW __nonnull ((1)); __THROW __nonnull ((1));
# endif
#endif #endif

View File

@ -41,7 +41,7 @@ extern ssize_t strfmon (char *__restrict __s, size_t __maxsize,
__const char *__restrict __format, ...) __const char *__restrict __format, ...)
__THROW __attribute_format_strfmon__ (3, 4); __THROW __attribute_format_strfmon__ (3, 4);
#ifdef __USE_GNU #ifdef __USE_XOPEN2K8
# include <xlocale.h> # include <xlocale.h>
/* Formatting a monetary value according to the current locale. */ /* Formatting a monetary value according to the current locale. */