[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[commits] r8004 - in /fsf/trunk/libc: ./ bits/ io/sys/ libio/ nptl/ nptl/sysdeps/unix/sysv/linux/bits/ posix/ shadow/ signal/ stdio-co...
- To: commits@xxxxxxxxxx
- Subject: [commits] r8004 - in /fsf/trunk/libc: ./ bits/ io/sys/ libio/ nptl/ nptl/sysdeps/unix/sysv/linux/bits/ posix/ shadow/ signal/ stdio-co...
- From: eglibc@xxxxxxxxxx
- Date: Fri, 27 Feb 2009 08:06:16 -0000
Author: eglibc
Date: Fri Feb 27 00:06:15 2009
New Revision: 8004
Log:
Import glibc-mainline for 2009-02-27
Modified:
fsf/trunk/libc/ChangeLog
fsf/trunk/libc/NEWS
fsf/trunk/libc/bits/confname.h
fsf/trunk/libc/io/sys/stat.h
fsf/trunk/libc/libio/stdio.h
fsf/trunk/libc/nptl/ChangeLog
fsf/trunk/libc/nptl/sysdeps/unix/sysv/linux/bits/posix_opt.h
fsf/trunk/libc/posix/getconf.c
fsf/trunk/libc/posix/unistd.h
fsf/trunk/libc/shadow/lckpwdf.c
fsf/trunk/libc/signal/signal.h
fsf/trunk/libc/stdio-common/psiginfo.c
fsf/trunk/libc/stdlib/stdlib.h
fsf/trunk/libc/string/string.h
fsf/trunk/libc/string/strings.h
fsf/trunk/libc/sysdeps/mach/hurd/bits/posix_opt.h
fsf/trunk/libc/sysdeps/unix/sysv/linux/bits/posix_opt.h
fsf/trunk/libc/sysdeps/unix/sysv/linux/sh/sys/procfs.h
fsf/trunk/libc/sysdeps/unix/sysv/linux/sh/sys/user.h
fsf/trunk/libc/time/time.h
fsf/trunk/libc/wcsmbs/wchar.h
fsf/trunk/libc/wctype/wctype.h
Modified: fsf/trunk/libc/ChangeLog
==============================================================================
--- fsf/trunk/libc/ChangeLog (original)
+++ fsf/trunk/libc/ChangeLog Fri Feb 27 00:06:15 2009
@@ -1,3 +1,46 @@
+2009-02-26 Roland McGrath <roland@xxxxxxxxxx>
+
+ * shadow/lckpwdf.c (__lckpwdf): Move FLAGS inside block using it,
+ avoids unused warning.
+
+2009-02-26 Andrew Stubbs <ams@xxxxxxxxxxxxxxxx>
+ SUGIOKA Toshinobu <sugioka@xxxxxxxxxxxx>
+
+ * sysdeps/unix/sysv/linux/sh/sys/procfs.h: Don't include signal.h,
+ sys/ucontext.h and asm/elf.h. Include sys/user.h.
+ * sysdeps/unix/sysv/linux/sh/sys/user.h: Don't include features.h
+ and asm/user.h. Include asm/ptrace.h.
+ (PTRACE_GETREGS, PTRACE_SETREGS, PTRACE_GETFPREGS,
+ PTRACE_SETFPREGS, PTRACE_GETFDPIC, PTRACE_GETFDPIC_EXEC,
+ PTRACE_GETFDPIC_INTERP, PTRACE_GETDSPREGS, PTRACE_SETDSPREGS):
+ Undefine.
+ (start_thread): Don't undefine.
+ (elf_greg_t, ELF_NGREG, elf_fpregset_t, user_fpu_struct, user):
+ Define.
+
+2009-02-26 Ulrich Drepper <drepper@xxxxxxxxxx>
+
+ * wctype/wctype.h: The *_l functions are in POSIX 2008.
+ * wcsmbs/wchar.h: mbsnrtowcs, open_wmemstream, wcpcpy, wcpncpy,
+ wcscasecmp, wcsdup, wcsncasecmp, wcsnlen, wcsnrtombs,
+ wcscasecmp_l, wcsncasecmp_l, wcscoll_l, and wcsxfrm_l.
+ * sysdeps/mach/hurd/bits/posix_opt.h: Reset value of macros from
+ 200112L to 200809L.
+ * sysdeps/unix/sysv/linux/bits/posix_opt.h: Likewise.
+ * posix/getconf.c (vars): Add _SC_THREAD_ROBUST_PRIO_INHERIT and
+ _SC_THREAD_ROBUST_PRIO_PROTECT entries.
+ * bits/confname.h: Add _SC_THREAD_ROBUST_PRIO_INHERIT and
+ _SC_THREAD_ROBUST_PRIO_PROTECT.
+ * posix/unistd.h: fexecve is in POSIX 2008.
+ * time/time.h: strftime_l is in POSIX 2008.
+ * io/sys/stat.h: futimens is in POSIX 2008.
+ * string/strings.h: strcasecmp_l and strncasecmp_l are in POSIX 2008.
+ * string/string.h: stpcpy, stpncpy, strndup, strnlen, strsignal,
+ strcoll_l, strerror_l, and strxfrm_l are in POSIX 2008.
+ * stdlib/stdlib.h: mkdtemp is in POSIX 2008.
+ * libio/stdio.h: dprintf, fmemopen, getdelim, getline,
+ open_memstream, and vdprintf are in POSIX 2008.
+
2009-02-25 Ulrich Drepper <drepper@xxxxxxxxxx>
* include/features.h: Define macros for XPG7/POSIX 2008.
Modified: fsf/trunk/libc/NEWS
==============================================================================
--- fsf/trunk/libc/NEWS (original)
+++ fsf/trunk/libc/NEWS Fri Feb 27 00:06:15 2009
@@ -1,4 +1,4 @@
-GNU C Library NEWS -- history of user-visible changes. 2009-2-25
+GNU C Library NEWS -- history of user-visible changes. 2009-2-26
Copyright (C) 1992-2008, 2009 Free Software Foundation, Inc.
See the end for copying conditions.
@@ -12,9 +12,11 @@
* 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.
+* XPG7/POSIX 2008 compilation environment. Many GNU-specific functions are
+ now in POSIX.
* New POSIX 2008 interface: psiginfo
+ Implemented by Ulrich Drepper.
Version 2.9
Modified: fsf/trunk/libc/bits/confname.h
==============================================================================
--- fsf/trunk/libc/bits/confname.h (original)
+++ fsf/trunk/libc/bits/confname.h Fri Feb 27 00:06:15 2009
@@ -524,6 +524,11 @@
_SC_XOPEN_STREAMS,
#define _SC_XOPEN_STREAMS _SC_XOPEN_STREAMS
+
+ _SC_THREAD_ROBUST_PRIO_INHERIT,
+#define _SC_THREAD_ROBUST_PRIO_INHERIT _SC_THREAD_ROBUST_PRIO_INHERIT
+ _SC_THREAD_ROBUST_PRIO_PROTECT,
+#define _SC_THREAD_ROBUST_PRIO_PROTECT _SC_THREAD_ROBUST_PRIO_PROTECT
};
/* Values for the NAME argument to `confstr'. */
Modified: fsf/trunk/libc/io/sys/stat.h
==============================================================================
--- fsf/trunk/libc/io/sys/stat.h (original)
+++ fsf/trunk/libc/io/sys/stat.h Fri Feb 27 00:06:15 2009
@@ -365,8 +365,7 @@
__THROW __nonnull ((2));
#endif
-#ifdef __USE_GNU
-/* XXX This will change to the macro for the next 2008 POSIX revision. */
+#ifdef __USE_XOPEN2K8
/* Set file access and modification times of the file associated with FD. */
extern int futimens (int __fd, __const struct timespec __times[2]) __THROW;
#endif
Modified: fsf/trunk/libc/libio/stdio.h
==============================================================================
--- fsf/trunk/libc/libio/stdio.h (original)
+++ fsf/trunk/libc/libio/stdio.h Fri Feb 27 00:06:15 2009
@@ -1,5 +1,5 @@
/* Define ISO C stdio on top of C++ iostreams.
- Copyright (C) 1991, 1994-2007, 2008 Free Software Foundation, Inc.
+ Copyright (C) 1991, 1994-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
@@ -289,7 +289,9 @@
extern FILE *fopencookie (void *__restrict __magic_cookie,
__const char *__restrict __modes,
_IO_cookie_io_functions_t __io_funcs) __THROW __wur;
-
+#endif
+
+#ifdef __USE_XOPEN2K8
/* Create a new stream that refers to a memory buffer. */
extern FILE *fmemopen (void *__s, size_t __len, __const char *__modes)
__THROW __wur;
@@ -380,7 +382,9 @@
extern int asprintf (char **__restrict __ptr,
__const char *__restrict __fmt, ...)
__THROW __attribute__ ((__format__ (__printf__, 2, 3))) __wur;
-
+#endif
+
+#ifdef __USE_XOPEN2K8
/* Write formatted output to a file descriptor.
These functions are not part of POSIX and therefore no official
@@ -620,7 +624,7 @@
#endif
-#ifdef __USE_GNU
+#ifdef __USE_XOPEN2K8
/* Read up to (and including) a DELIMITER from STREAM into *LINEPTR
(and null-terminate it). *LINEPTR is a pointer returned from malloc (or
NULL), pointing to *N characters of space. It is realloc'd as
Modified: fsf/trunk/libc/nptl/ChangeLog
==============================================================================
--- fsf/trunk/libc/nptl/ChangeLog (original)
+++ fsf/trunk/libc/nptl/ChangeLog Fri Feb 27 00:06:15 2009
@@ -1,3 +1,10 @@
+2009-02-26 Ulrich Drepper <drepper@xxxxxxxxxx>
+
+ * sysdeps/unix/sysv/linux/bits/posix_opt.h: Define
+ _POSIX_THREAD_ROBUST_PRIO_INHERIT and
+ _POSIX_THREAD_ROBUST_PRIO_PROTECT. Reset value of macros from
+ 200112L to 200809L.
+
2009-02-25 Ulrich Drepper <drepper@xxxxxxxxxx>
* sysdeps/pthread/pthread.h: The robust mutex functions are in
Modified: fsf/trunk/libc/nptl/sysdeps/unix/sysv/linux/bits/posix_opt.h
==============================================================================
--- fsf/trunk/libc/nptl/sysdeps/unix/sysv/linux/bits/posix_opt.h (original)
+++ fsf/trunk/libc/nptl/sysdeps/unix/sysv/linux/bits/posix_opt.h Fri Feb 27 00:06:15 2009
@@ -27,25 +27,25 @@
#define _POSIX_SAVED_IDS 1
/* Priority scheduling is supported. */
-#define _POSIX_PRIORITY_SCHEDULING 200112L
+#define _POSIX_PRIORITY_SCHEDULING 200809L
/* Synchronizing file data is supported. */
-#define _POSIX_SYNCHRONIZED_IO 200112L
+#define _POSIX_SYNCHRONIZED_IO 200809L
/* The fsync function is present. */
-#define _POSIX_FSYNC 200112L
+#define _POSIX_FSYNC 200809L
/* Mapping of files to memory is supported. */
-#define _POSIX_MAPPED_FILES 200112L
+#define _POSIX_MAPPED_FILES 200809L
/* Locking of all memory is supported. */
-#define _POSIX_MEMLOCK 200112L
+#define _POSIX_MEMLOCK 200809L
/* Locking of ranges of memory is supported. */
-#define _POSIX_MEMLOCK_RANGE 200112L
+#define _POSIX_MEMLOCK_RANGE 200809L
/* Setting of memory protections is supported. */
-#define _POSIX_MEMORY_PROTECTION 200112L
+#define _POSIX_MEMORY_PROTECTION 200809L
/* Some filesystems allow all users to change file ownership. */
#define _POSIX_CHOWN_RESTRICTED 0
@@ -67,41 +67,47 @@
#define _XOPEN_SHM 1
/* Tell we have POSIX threads. */
-#define _POSIX_THREADS 200112L
+#define _POSIX_THREADS 200809L
/* We have the reentrant functions described in POSIX. */
#define _POSIX_REENTRANT_FUNCTIONS 1
-#define _POSIX_THREAD_SAFE_FUNCTIONS 200112L
+#define _POSIX_THREAD_SAFE_FUNCTIONS 200809L
/* We provide priority scheduling for threads. */
-#define _POSIX_THREAD_PRIORITY_SCHEDULING 200112L
+#define _POSIX_THREAD_PRIORITY_SCHEDULING 200809L
/* We support user-defined stack sizes. */
-#define _POSIX_THREAD_ATTR_STACKSIZE 200112L
+#define _POSIX_THREAD_ATTR_STACKSIZE 200809L
/* We support user-defined stacks. */
-#define _POSIX_THREAD_ATTR_STACKADDR 200112L
+#define _POSIX_THREAD_ATTR_STACKADDR 200809L
/* We support priority inheritence. */
-#define _POSIX_THREAD_PRIO_INHERIT 200112L
+#define _POSIX_THREAD_PRIO_INHERIT 200809L
+
+/* We support priority inheritence for robust mutexes. */
+#define _POSIX_THREAD_ROBUST_PRIO_INHERIT 200809L
/* We support priority protection, though only for non-robust
mutexes. */
-#define _POSIX_THREAD_PRIO_PROTECT 200112L
+#define _POSIX_THREAD_PRIO_PROTECT 200809L
+
+/* We do not support priority protection for robust mutexes. */
+#define _POSIX_THREAD_ROBUST_PRIO_PROTECT -1
/* We support POSIX.1b semaphores. */
-#define _POSIX_SEMAPHORES 200112L
+#define _POSIX_SEMAPHORES 200809L
/* Real-time signals are supported. */
-#define _POSIX_REALTIME_SIGNALS 200112L
+#define _POSIX_REALTIME_SIGNALS 200809L
/* We support asynchronous I/O. */
-#define _POSIX_ASYNCHRONOUS_IO 200112L
+#define _POSIX_ASYNCHRONOUS_IO 200809L
#define _POSIX_ASYNC_IO 1
/* Alternative name for Unix98. */
#define _LFS_ASYNCHRONOUS_IO 1
/* Support for prioritization is also available. */
-#define _POSIX_PRIORITIZED_IO 200112L
+#define _POSIX_PRIORITIZED_IO 200809L
/* The LFS support in asynchronous I/O is also available. */
#define _LFS64_ASYNCHRONOUS_IO 1
@@ -112,7 +118,7 @@
#define _LFS64_STDIO 1
/* POSIX shared memory objects are implemented. */
-#define _POSIX_SHARED_MEMORY_OBJECTS 200112L
+#define _POSIX_SHARED_MEMORY_OBJECTS 200809L
/* CPU-time clocks support needs to be checked at runtime. */
#define _POSIX_CPUTIME 0
@@ -124,49 +130,49 @@
#define _POSIX_REGEXP 1
/* Reader/Writer locks are available. */
-#define _POSIX_READER_WRITER_LOCKS 200112L
+#define _POSIX_READER_WRITER_LOCKS 200809L
/* We have a POSIX shell. */
#define _POSIX_SHELL 1
/* We support the Timeouts option. */
-#define _POSIX_TIMEOUTS 200112L
+#define _POSIX_TIMEOUTS 200809L
/* We support spinlocks. */
-#define _POSIX_SPIN_LOCKS 200112L
+#define _POSIX_SPIN_LOCKS 200809L
/* The `spawn' function family is supported. */
-#define _POSIX_SPAWN 200112L
+#define _POSIX_SPAWN 200809L
/* We have POSIX timers. */
-#define _POSIX_TIMERS 200112L
+#define _POSIX_TIMERS 200809L
/* The barrier functions are available. */
-#define _POSIX_BARRIERS 200112L
+#define _POSIX_BARRIERS 200809L
/* POSIX message queues are available. */
-#define _POSIX_MESSAGE_PASSING 200112L
+#define _POSIX_MESSAGE_PASSING 200809L
/* Thread process-shared synchronization is supported. */
-#define _POSIX_THREAD_PROCESS_SHARED 200112L
+#define _POSIX_THREAD_PROCESS_SHARED 200809L
/* The monotonic clock might be available. */
#define _POSIX_MONOTONIC_CLOCK 0
/* The clock selection interfaces are available. */
-#define _POSIX_CLOCK_SELECTION 200112L
+#define _POSIX_CLOCK_SELECTION 200809L
/* Advisory information interfaces are available. */
-#define _POSIX_ADVISORY_INFO 200112L
+#define _POSIX_ADVISORY_INFO 200809L
/* IPv6 support is available. */
-#define _POSIX_IPV6 200112L
+#define _POSIX_IPV6 200809L
/* Raw socket support is available. */
-#define _POSIX_RAW_SOCKETS 200112L
+#define _POSIX_RAW_SOCKETS 200809L
/* We have at least one terminal. */
-#define _POSIX2_CHAR_TERM 200112L
+#define _POSIX2_CHAR_TERM 200809L
/* Neither process nor thread sporadic server interfaces is available. */
#define _POSIX_SPORADIC_SERVER -1
Modified: fsf/trunk/libc/posix/getconf.c
==============================================================================
--- fsf/trunk/libc/posix/getconf.c (original)
+++ fsf/trunk/libc/posix/getconf.c Fri Feb 27 00:06:15 2009
@@ -354,6 +354,14 @@
#endif
#ifdef _SC_THREAD_PRIO_PROTECT
{ "_POSIX_THREAD_PRIO_PROTECT", _SC_THREAD_PRIO_PROTECT, SYSCONF },
+#endif
+#ifdef _SC_THREAD_ROBUST_PRIO_INHERIT
+ { "_POSIX_THREAD_ROBUST_PRIO_INHERIT", _SC_THREAD_ROBUST_PRIO_INHERIT,
+ SYSCONF },
+#endif
+#ifdef _SC_THREAD_ROBUST_PRIO_PROTECT
+ { "_POSIX_THREAD_ROBUST_PRIO_PROTECT", _SC_THREAD_ROBUST_PRIO_PROTECT,
+ SYSCONF },
#endif
#ifdef _SC_THREAD_PROCESS_SHARED
{ "_POSIX_THREAD_PROCESS_SHARED", _SC_THREAD_PROCESS_SHARED, SYSCONF },
Modified: fsf/trunk/libc/posix/unistd.h
==============================================================================
--- fsf/trunk/libc/posix/unistd.h (original)
+++ fsf/trunk/libc/posix/unistd.h Fri Feb 27 00:06:15 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
@@ -516,7 +516,7 @@
extern int execve (__const char *__path, char *__const __argv[],
char *__const __envp[]) __THROW __nonnull ((1));
-#ifdef __USE_GNU
+#ifdef __USE_XOPEN2K8
/* Execute the file FD refers to, overlaying the running program image.
ARGV and ENVP are passed to the new program, as for `execve'. */
extern int fexecve (int __fd, char *__const __argv[], char *__const __envp[])
Modified: fsf/trunk/libc/shadow/lckpwdf.c
==============================================================================
--- fsf/trunk/libc/shadow/lckpwdf.c (original)
+++ fsf/trunk/libc/shadow/lckpwdf.c Fri Feb 27 00:06:15 2009
@@ -1,5 +1,5 @@
/* Handle locking of password file.
- Copyright (C) 1996, 1998, 2000, 2002, 2007 Free Software Foundation, Inc.
+ Copyright (C) 1996,1998,2000,2002,2007,2009 Free Software Foundation, Inc.
This file is part of the GNU C Library.
Contributed by Ulrich Drepper <drepper@xxxxxxxxxx>, 1996.
@@ -83,7 +83,6 @@
int
__lckpwdf (void)
{
- int flags;
sigset_t saved_set; /* Saved set of caught signals. */
struct sigaction saved_act; /* Saved signal action. */
sigset_t new_set; /* New set of caught signals. */
@@ -113,7 +112,7 @@
# endif
{
/* Make sure file gets correctly closed when process finished. */
- flags = __fcntl (lock_fd, F_GETFD, 0);
+ int flags = __fcntl (lock_fd, F_GETFD, 0);
if (flags == -1)
/* Cannot get file flags. */
RETURN_CLOSE_FD (-1);
Modified: fsf/trunk/libc/signal/signal.h
==============================================================================
--- fsf/trunk/libc/signal/signal.h (original)
+++ fsf/trunk/libc/signal/signal.h Fri Feb 27 00:06:15 2009
@@ -69,6 +69,15 @@
# define __uid_t_defined
# endif
#endif /* Unix98 */
+
+#ifdef __USE_POSIX199309
+/* We need `struct timespec' later on. */
+# define __need_timespec
+# include <time.h>
+
+/* Get the `siginfo_t' type plus the needed symbols. */
+# include <bits/siginfo.h>
+#endif
/* Type of a signal handler. */
@@ -209,15 +218,6 @@
#ifdef __USE_POSIX
-# ifdef __USE_POSIX199309
-/* We need `struct timespec' later on. */
-# define __need_timespec
-# include <time.h>
-
-/* Get the `siginfo_t' type plus the needed symbols. */
-# include <bits/siginfo.h>
-# endif
-
/* Clear all signals from SET. */
extern int sigemptyset (sigset_t *__set) __THROW __nonnull ((1));
Modified: fsf/trunk/libc/stdio-common/psiginfo.c
==============================================================================
--- fsf/trunk/libc/stdio-common/psiginfo.c (original)
+++ fsf/trunk/libc/stdio-common/psiginfo.c Fri Feb 27 00:06:15 2009
@@ -24,6 +24,11 @@
#include <string.h>
#include <unistd.h>
#include <not-cancel.h>
+
+
+/* Defined in sys_siglist.c. */
+extern const char *const _sys_siglist[];
+extern const char *const _sys_siglist_internal[] attribute_hidden;
#define MF(l) MF1 (l)
Modified: fsf/trunk/libc/stdlib/stdlib.h
==============================================================================
--- fsf/trunk/libc/stdlib/stdlib.h (original)
+++ fsf/trunk/libc/stdlib/stdlib.h Fri Feb 27 00:06:15 2009
@@ -1,4 +1,4 @@
-/* Copyright (C) 1991-2003,2004,2005,2006,2007 Free Software Foundation, Inc.
+/* Copyright (C) 1991-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
@@ -605,7 +605,7 @@
# endif
#endif
-#ifdef __USE_BSD
+#if defined __USE_BSD || defined __USE_XOPEN2K8
/* Create a unique temporary directory from TEMPLATE.
The last six characters of TEMPLATE must be "XXXXXX";
they are replaced with a string that makes the directory name unique.
Modified: fsf/trunk/libc/string/string.h
==============================================================================
--- fsf/trunk/libc/string/string.h (original)
+++ fsf/trunk/libc/string/string.h Fri Feb 27 00:06:15 2009
@@ -154,7 +154,7 @@
__THROW __nonnull ((2));
__END_NAMESPACE_STD
-#ifdef __USE_GNU
+#ifdef __USE_XOPEN2K8
/* The following functions are equivalent to the both above but they
take the locale they use for the collation as an extra argument.
This is not standardsized but something like will come. */
@@ -177,7 +177,7 @@
/* Return a malloc'd copy of at most N bytes of STRING. The
resultant string is terminated even if no null terminator
appears before STRING[N]. */
-#if defined __USE_GNU
+#if defined __USE_XOPEN2K8
extern char *strndup (__const char *__string, size_t __n)
__THROW __attribute_malloc__ __nonnull ((1));
#endif
@@ -398,7 +398,7 @@
__THROW __attribute_pure__ __nonnull ((1));
__END_NAMESPACE_STD
-#ifdef __USE_GNU
+#ifdef __USE_XOPEN2K8
/* Find the length of STRING, but scan at most MAXLEN characters.
If no '\0' terminator is found in that many characters, return MAXLEN. */
extern size_t strnlen (__const char *__string, size_t __maxlen)
@@ -438,7 +438,7 @@
# endif
#endif
-#ifdef __USE_GNU
+#ifdef __USE_XOPEN2K8
/* Translate error number to string according to the locale L. */
extern char *strerror_l (int __errnum, __locale_t __l) __THROW;
#endif
@@ -559,11 +559,7 @@
__THROW __nonnull ((1, 2));
#endif
-#ifdef __USE_GNU
-/* Compare S1 and S2 as strings holding name & indices/version numbers. */
-extern int strverscmp (__const char *__s1, __const char *__s2)
- __THROW __attribute_pure__ __nonnull ((1, 2));
-
+#ifdef __USE_XOPEN2K8
/* Return a string describing the meaning of the signal number in SIG. */
extern char *strsignal (int __sig) __THROW;
@@ -581,6 +577,12 @@
extern char *stpncpy (char *__restrict __dest,
__const char *__restrict __src, size_t __n)
__THROW __nonnull ((1, 2));
+#endif
+
+#ifdef __USE_GNU
+/* Compare S1 and S2 as strings holding name & indices/version numbers. */
+extern int strverscmp (__const char *__s1, __const char *__s2)
+ __THROW __attribute_pure__ __nonnull ((1, 2));
/* Sautee STRING briskly. */
extern char *strfry (char *__string) __THROW __nonnull ((1));
Modified: fsf/trunk/libc/string/strings.h
==============================================================================
--- fsf/trunk/libc/string/strings.h (original)
+++ fsf/trunk/libc/string/strings.h Fri Feb 27 00:06:15 2009
@@ -113,6 +113,23 @@
extern int strncasecmp (__const char *__s1, __const char *__s2, size_t __n)
__THROW __attribute_pure__;
+#ifdef __USE_XOPEN2K8
+/* The following functions are equivalent to the both above but they
+ take the locale they use for the collation as an extra argument.
+ This is not standardsized but something like will come. */
+# include <xlocale.h>
+
+/* Again versions of a few functions which use the given locale instead
+ of the global one. */
+extern int strcasecmp_l (__const char *__s1, __const char *__s2,
+ __locale_t __loc)
+ __THROW __attribute_pure__ __nonnull ((1, 2, 3));
+
+extern int strncasecmp_l (__const char *__s1, __const char *__s2,
+ size_t __n, __locale_t __loc)
+ __THROW __attribute_pure__ __nonnull ((1, 2, 4));
+#endif
+
__END_DECLS
#endif /* string.h */
Modified: fsf/trunk/libc/sysdeps/mach/hurd/bits/posix_opt.h
==============================================================================
--- fsf/trunk/libc/sysdeps/mach/hurd/bits/posix_opt.h (original)
+++ fsf/trunk/libc/sysdeps/mach/hurd/bits/posix_opt.h Fri Feb 27 00:06:15 2009
@@ -1,5 +1,5 @@
/* Define POSIX options for GNU/Hurd.
- Copyright (C) 1998,2000,2001,2002,2006 Free Software Foundation, Inc.
+ Copyright (C) 1998,2000,2001,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
@@ -35,19 +35,19 @@
#undef _POSIX_SYNCHRONIZED_IO
/* The fsync function is present. */
-#define _POSIX_FSYNC 200112L
+#define _POSIX_FSYNC 200809L
/* Mapping of files to memory is supported. */
-#define _POSIX_MAPPED_FILES 200112L
+#define _POSIX_MAPPED_FILES 200809L
/* Locking of all memory could be supported in future. */
#define _POSIX_MEMLOCK 0
/* Locking of ranges of memory is supported. */
-#define _POSIX_MEMLOCK_RANGE 200112L
+#define _POSIX_MEMLOCK_RANGE 200809L
/* Setting of memory protections is supported. */
-#define _POSIX_MEMORY_PROTECTION 200112L
+#define _POSIX_MEMORY_PROTECTION 200809L
/* Elements of the `c_cc' member of `struct termios' structure
can be disabled by using the value _POSIX_VDISABLE. */
@@ -66,7 +66,7 @@
/* We have the reentrant functions described in POSIX. */
#define _POSIX_REENTRANT_FUNCTIONS 1
-#define _POSIX_THREAD_SAFE_FUNCTIONS 200112L
+#define _POSIX_THREAD_SAFE_FUNCTIONS 200809L
/* These are all things that won't be supported when _POSIX_THREADS is not. */
#define _POSIX_THREAD_PRIORITY_SCHEDULING -1
@@ -112,7 +112,7 @@
#define _POSIX_TIMEOUTS -1
/* The `spawn' function family is supported. */
-#define _POSIX_SPAWN 200112L
+#define _POSIX_SPAWN 200809L
/* We do not have POSIX timers, but could in future without ABI change. */
#define _POSIX_TIMERS 0
@@ -130,19 +130,19 @@
#define _POSIX_MONOTONIC_CLOCK 0
/* The clock selection interfaces are available. */
-#define _POSIX_CLOCK_SELECTION 200112L
+#define _POSIX_CLOCK_SELECTION 200809L
/* Advisory information interfaces could be available in future. */
#define _POSIX_ADVISORY_INFO 0
/* IPv6 support is available. */
-#define _POSIX_IPV6 200112L
+#define _POSIX_IPV6 200809L
/* Raw socket support is available. */
-#define _POSIX_RAW_SOCKETS 200112L
+#define _POSIX_RAW_SOCKETS 200809L
/* We have at least one terminal. */
-#define _POSIX2_CHAR_TERM 200112L
+#define _POSIX2_CHAR_TERM 200809L
/* Neither process nor thread sporadic server interfaces is available. */
#define _POSIX_SPORADIC_SERVER -1
Modified: fsf/trunk/libc/sysdeps/unix/sysv/linux/bits/posix_opt.h
==============================================================================
--- fsf/trunk/libc/sysdeps/unix/sysv/linux/bits/posix_opt.h (original)
+++ fsf/trunk/libc/sysdeps/unix/sysv/linux/bits/posix_opt.h Fri Feb 27 00:06:15 2009
@@ -1,5 +1,5 @@
/* Define POSIX options for Linux.
- Copyright (C) 1996,1997,1999,2000,2002,2003,2008
+ Copyright (C) 1996,1997,1999,2000,2002,2003,2008,2009
Free Software Foundation, Inc.
This file is part of the GNU C Library.
@@ -32,25 +32,25 @@
#define _POSIX_SAVED_IDS 1
/* Priority scheduling is supported. */
-#define _POSIX_PRIORITY_SCHEDULING 200112L
+#define _POSIX_PRIORITY_SCHEDULING 200809L
/* Synchronizing file data is supported. */
-#define _POSIX_SYNCHRONIZED_IO 200112L
+#define _POSIX_SYNCHRONIZED_IO 200809L
/* The fsync function is present. */
-#define _POSIX_FSYNC 200112L
+#define _POSIX_FSYNC 200809L
/* Mapping of files to memory is supported. */
-#define _POSIX_MAPPED_FILES 200112L
+#define _POSIX_MAPPED_FILES 200809L
/* Locking of all memory is supported. */
-#define _POSIX_MEMLOCK 200112L
+#define _POSIX_MEMLOCK 200809L
/* Locking of ranges of memory is supported. */
-#define _POSIX_MEMLOCK_RANGE 200112L
+#define _POSIX_MEMLOCK_RANGE 200809L
/* Setting of memory protections is supported. */
-#define _POSIX_MEMORY_PROTECTION 200112L
+#define _POSIX_MEMORY_PROTECTION 200809L
/* Some filesystems allow all users to change file ownership. */
#define _POSIX_CHOWN_RESTRICTED 0
@@ -69,7 +69,7 @@
#define _XOPEN_SHM 1
/* Real-time signals are supported. */
-#define _POSIX_REALTIME_SIGNALS 200112L
+#define _POSIX_REALTIME_SIGNALS 200809L
/* The LFS interface is available, except for the asynchronous I/O. */
#define _LFS_LARGEFILE 1
@@ -77,10 +77,10 @@
#define _LFS64_STDIO 1
/* POSIX timers are available. */
-#define _POSIX_TIMERS 200112L
+#define _POSIX_TIMERS 200809L
/* POSIX shared memory objects are implemented. */
-#define _POSIX_SHARED_MEMORY_OBJECTS 200112L
+#define _POSIX_SHARED_MEMORY_OBJECTS 200809L
/* GNU libc provides regular expression handling. */
#define _POSIX_REGEXP 1
@@ -89,7 +89,7 @@
#define _POSIX_SHELL 1
/* The `spawn' function family is supported. */
-#define _POSIX_SPAWN 200112L
+#define _POSIX_SPAWN 200809L
/* The monotonic clock might be available. */
#define _POSIX_MONOTONIC_CLOCK 0
Modified: fsf/trunk/libc/sysdeps/unix/sysv/linux/sh/sys/procfs.h
==============================================================================
--- fsf/trunk/libc/sysdeps/unix/sysv/linux/sh/sys/procfs.h (original)
+++ fsf/trunk/libc/sysdeps/unix/sysv/linux/sh/sys/procfs.h Fri Feb 27 00:06:15 2009
@@ -1,4 +1,5 @@
-/* Copyright (C) 1996, 1997, 1999, 2004 Free Software Foundation, Inc.
+/* Copyright (C) 1996, 1997, 1999, 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
@@ -24,12 +25,9 @@
used on Linux. */
#include <features.h>
-#include <signal.h>
#include <sys/time.h>
#include <sys/types.h>
-#include <sys/ucontext.h>
#include <sys/user.h>
-#include <asm/elf.h>
__BEGIN_DECLS
Modified: fsf/trunk/libc/sysdeps/unix/sysv/linux/sh/sys/user.h
==============================================================================
--- fsf/trunk/libc/sysdeps/unix/sysv/linux/sh/sys/user.h (original)
+++ fsf/trunk/libc/sysdeps/unix/sysv/linux/sh/sys/user.h Fri Feb 27 00:06:15 2009
@@ -1,4 +1,5 @@
-/* Copyright (C) 1998, 1999, 2000, 2003 Free Software Foundation, Inc.
+/* Copyright (C) 1998, 1999, 2000, 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
@@ -19,10 +20,49 @@
#ifndef _SYS_USER_H
#define _SYS_USER_H 1
-#include <features.h>
+#include <asm/ptrace.h>
-#include <asm/user.h>
+/* asm/ptrace.h polutes the namespace. */
+#undef PTRACE_GETREGS
+#undef PTRACE_SETREGS
+#undef PTRACE_GETFPREGS
+#undef PTRACE_SETFPREGS
+#undef PTRACE_GETFDPIC
+#undef PTRACE_GETFDPIC_EXEC
+#undef PTRACE_GETFDPIC_INTERP
+#undef PTRACE_GETDSPREGS
+#undef PTRACE_SETDSPREGS
-#undef start_thread
+typedef unsigned long elf_greg_t;
+
+#define ELF_NGREG (sizeof (struct pt_regs) / sizeof (elf_greg_t))
+typedef elf_greg_t elf_gregset_t[ELF_NGREG];
+
+struct user_fpu_struct
+ {
+ unsigned long fp_regs[16];
+ unsigned long xfp_regs[16];
+ unsigned long fpscr;
+ unsigned long fpul;
+ };
+typedef struct user_fpu_struct elf_fpregset_t;
+
+struct user
+ {
+ struct pt_regs regs;
+ struct user_fpu_struct fpu;
+ int u_fpvalid;
+ size_t u_tsize;
+ size_t u_dsize;
+ size_t u_ssize;
+ unsigned long start_code;
+ unsigned long start_data;
+ unsigned long start_stack;
+ long int signal;
+ unsigned long u_ar0;
+ struct user_fpu_struct *u_fpstate;
+ unsigned long magic;
+ char u_comm[32];
+ };
#endif /* sys/user.h */
Modified: fsf/trunk/libc/time/time.h
==============================================================================
--- fsf/trunk/libc/time/time.h (original)
+++ fsf/trunk/libc/time/time.h Fri Feb 27 00:06:15 2009
@@ -1,5 +1,4 @@
-/* Copyright (C) 1991-1999,2000,2001,2002,2003,2006
- Free Software Foundation, Inc.
+/* Copyright (C) 1991-2003,2006,2009 Free Software Foundation, Inc.
This file is part of the GNU C Library.
The GNU C Library is free software; you can redistribute it and/or
@@ -210,7 +209,7 @@
__THROW;
# endif
-# ifdef __USE_GNU
+# ifdef __USE_XOPEN2K8
/* Similar to the two functions above but take the information from
the provided locale and not the global locale. */
# include <xlocale.h>
@@ -219,7 +218,9 @@
__const char *__restrict __format,
__const struct tm *__restrict __tp,
__locale_t __loc) __THROW;
-
+# endif
+
+# ifdef __USE_GNU
extern char *strptime_l (__const char *__restrict __s,
__const char *__restrict __fmt, struct tm *__tp,
__locale_t __loc) __THROW;
Modified: fsf/trunk/libc/wcsmbs/wchar.h
==============================================================================
--- fsf/trunk/libc/wcsmbs/wchar.h (original)
+++ fsf/trunk/libc/wcsmbs/wchar.h Fri Feb 27 00:06:15 2009
@@ -1,4 +1,4 @@
-/* Copyright (C) 1995-2004,2005,2006,2007, 2008 Free Software Foundation, Inc.
+/* Copyright (C) 1995-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
@@ -164,7 +164,7 @@
__THROW __attribute_pure__;
__END_NAMESPACE_STD
-#ifdef __USE_GNU
+#ifdef __USE_XOPEN2K8
/* Compare S1 and S2, ignoring case. */
extern int wcscasecmp (__const wchar_t *__s1, __const wchar_t *__s2) __THROW;
@@ -194,7 +194,7 @@
__const wchar_t *__restrict __s2, size_t __n) __THROW;
__END_NAMESPACE_STD
-#ifdef __USE_GNU
+#ifdef __USE_XOPEN2K8
/* Similar to the two functions above but take the information from
the provided locale and not the global locale. */
@@ -298,7 +298,7 @@
# endif
#endif
-#ifdef __USE_GNU
+#ifdef __USE_XOPEN2K8
/* Return the number of wide characters in S, but at most MAXLEN. */
extern size_t wcsnlen (__const wchar_t *__s, size_t __maxlen)
__THROW __attribute_pure__;
@@ -415,7 +415,7 @@
__END_NAMESPACE_STD
-#ifdef __USE_GNU
+#ifdef __USE_XOPEN2K8
/* Write wide character representation of at most NMC bytes of the
multibyte character string SRC to DST. */
extern size_t mbsnrtowcs (wchar_t *__restrict __dst,
@@ -428,7 +428,7 @@
__const wchar_t **__restrict __src,
size_t __nwc, size_t __len,
mbstate_t *__restrict __ps) __THROW;
-#endif /* use GNU */
+#endif /* use POSIX 2008 */
/* The following functions are extensions found in X/Open CAE. */
@@ -558,7 +558,7 @@
#endif /* GNU */
-#ifdef __USE_GNU
+#ifdef __USE_XOPEN2K8
/* Copy SRC to DEST, returning the address of the terminating L'\0' in
DEST. */
extern wchar_t *wcpcpy (wchar_t *__dest, __const wchar_t *__src) __THROW;
@@ -572,7 +572,7 @@
/* Wide character I/O functions. */
-#ifdef __USE_GNU
+#ifdef __USE_XOPEN2K8
/* Like OPEN_MEMSTREAM, but the stream is wide oriented and produces
a wide character string. */
extern __FILE *open_wmemstream (wchar_t **__bufloc, size_t *__sizeloc) __THROW;
Modified: fsf/trunk/libc/wctype/wctype.h
==============================================================================
--- fsf/trunk/libc/wctype/wctype.h (original)
+++ fsf/trunk/libc/wctype/wctype.h Fri Feb 27 00:06:15 2009
@@ -1,4 +1,4 @@
-/* Copyright (C) 1996-2002, 2005, 2007, 2008 Free Software Foundation, Inc.
+/* Copyright (C) 1996-2002,2005,2007,2008,2009 Free Software Foundation, Inc.
This file is part of the GNU C Library.
The GNU C Library is free software; you can redistribute it and/or
@@ -222,7 +222,7 @@
extern wint_t towctrans (wint_t __wc, wctrans_t __desc) __THROW;
__END_NAMESPACE_C99
-# ifdef __USE_GNU
+# ifdef __USE_XOPEN2K8
/* Declare the interface to extended locale model. */
# include <xlocale.h>
@@ -310,7 +310,7 @@
extern wint_t towctrans_l (wint_t __wc, wctrans_t __desc,
__locale_t __locale) __THROW;
-# endif /* Use GNU. */
+# endif /* Use POSIX 2008. */
__END_DECLS