[git commit] posix_opt.h: update to POSIX 2008

Bernhard Reutner-Fischer rep.dot.nop at gmail.com
Fri Jun 15 12:00:24 UTC 2012


commit: http://git.uclibc.org/uClibc/commit/?id=fe042eb8dfaa6851a969683ae235c27a12c95ed0
branch: http://git.uclibc.org/uClibc/commit/?id=refs/heads/master

uClibc_posix_opt.h: adapt accordingly

Signed-off-by: Peter S. Mazinger <ps.m at gmx.net>
Signed-off-by: Bernhard Reutner-Fischer <rep.dot.nop at gmail.com>
---
 libc/sysdeps/linux/common/bits/posix_opt.h        |   82 +++++++++++----------
 libc/sysdeps/linux/common/bits/uClibc_posix_opt.h |    3 +
 2 files changed, 47 insertions(+), 38 deletions(-)

diff --git a/libc/sysdeps/linux/common/bits/posix_opt.h b/libc/sysdeps/linux/common/bits/posix_opt.h
index 2b37049..2550355 100644
--- a/libc/sysdeps/linux/common/bits/posix_opt.h
+++ b/libc/sysdeps/linux/common/bits/posix_opt.h
@@ -1,5 +1,5 @@
 /* Define POSIX options for Linux.
-   Copyright (C) 1996-2004, 2006 Free Software Foundation, Inc.
+   Copyright (C) 1996-2004, 2006, 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
@@ -27,28 +27,28 @@
 #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
 
-/* Only root can change owner of file.  */
-#define	_POSIX_CHOWN_RESTRICTED	1
+/* Some filesystems allow all users to change file ownership.  */
+#define	_POSIX_CHOWN_RESTRICTED	0
 
 /* `c_cc' member of 'struct termios' structure can be disabled by
    using the value _POSIX_VDISABLE.  */
@@ -67,41 +67,49 @@
 #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 protection, though only for non-robust
    mutexes.  */
-#define _POSIX_THREAD_PRIO_PROTECT	200112L
+#define _POSIX_THREAD_PRIO_PROTECT	200809L
+
+#ifdef __USE_XOPEN2K8
+/* We support priority inheritence for robust mutexes.  */
+# define _POSIX_THREAD_ROBUST_PRIO_INHERIT	200809L
+
+/* We do not support priority protection for robust mutexes.  */
+# define _POSIX_THREAD_ROBUST_PRIO_PROTECT	-1
+#endif
 
 /* 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 +120,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,51 +132,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.  */
-#if 0 /* no support in uClibc (yet) */
-#define _POSIX_SPAWN	200112L
-#endif
+#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
@@ -183,4 +189,4 @@
 /* Typed memory objects are not available.  */
 #define _POSIX_TYPED_MEMORY_OBJECTS	-1
 
-#endif /* posix_opt.h */
+#endif /* bits/posix_opt.h */
diff --git a/libc/sysdeps/linux/common/bits/uClibc_posix_opt.h b/libc/sysdeps/linux/common/bits/uClibc_posix_opt.h
index 1ac4521..0ae0da1 100644
--- a/libc/sysdeps/linux/common/bits/uClibc_posix_opt.h
+++ b/libc/sysdeps/linux/common/bits/uClibc_posix_opt.h
@@ -26,6 +26,8 @@
 # define _POSIX_THREAD_PRIO_INHERIT	-1
 # undef _POSIX_THREAD_PRIO_PROTECT
 # define _POSIX_THREAD_PRIO_PROTECT	-1
+# undef _POSIX_THREAD_ROBUST_PRIO_INHERIT
+# undef _POSIX_THREAD_ROBUST_PRIO_PROTECT
 #endif
 
 /* this has to be adapted to uClibc, not all are thread related */
@@ -76,6 +78,7 @@
 #undef _POSIX_TRACE_INHERIT
 #undef _POSIX_TRACE_LOG
 #undef _POSIX_TYPED_MEMORY_OBJECTS
+#undef _POSIX_SPAWN
 
 #if 0 /* does uClibc support these? */
 # undef _POSIX_ASYNCHRONOUS_IO


More information about the uClibc-cvs mailing list