about summary refs log tree commit diff
diff options
context:
space:
mode:
authorSamuel Thibault <samuel.thibault@ens-lyon.org>2012-05-10 15:28:33 -0700
committerRoland McGrath <roland@hack.frob.com>2012-05-10 15:57:27 -0700
commitdb65366043bd85adbf7b0a73f406f5dadbf5ceb3 (patch)
tree4c1335545ee1e64247dfa1d82c8a950dd544c927
parentee16e894aaf51674058224fe0ece852bd0b3632d (diff)
downloadglibc-db65366043bd85adbf7b0a73f406f5dadbf5ceb3.tar.gz
glibc-db65366043bd85adbf7b0a73f406f5dadbf5ceb3.tar.xz
glibc-db65366043bd85adbf7b0a73f406f5dadbf5ceb3.zip
Hurd: Update posix_opt.h
-rw-r--r--ChangeLog18
-rw-r--r--posix/tst-sysconf.c6
-rw-r--r--sysdeps/mach/hurd/bits/posix_opt.h30
3 files changed, 48 insertions, 6 deletions
diff --git a/ChangeLog b/ChangeLog
index 2dcbfd5a8e..aee2aa5327 100644
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,5 +1,23 @@
 2012-05-10  Samuel Thibault  <samuel.thibault@ens-lyon.org>
 
+	* posix/tst-sysconf.c (posix_options): Only use
+	_POSIX_PRIORITIZED_IO, _POSIX_PRIORITY_SCHEDULING, and
+	_POSIX_SYNCHRONIZED_IO when they are defined
+	* sysdeps/mach/hurd/bits/posix_opt.h:
+	(_POSIX_PRIORITY_SCHEDULING): Undefine macro.
+	(_XOPEN_REALTIME): Undefine macro.
+	(_XOPEN_REALTIME_THREADS): Undefine macro.
+	(_XOPEN_SHM): Undefine macro.
+	[__USE_XOPEN2K8] (_POSIX_THREAD_ROBUST_PRIO_INHERIT): Define
+	macro to -1.
+	[__USE_XOPEN2K8] (_POSIX_THREAD_ROBUST_PRIO_PROTECT): Define
+	macro to -1.
+	(_POSIX_ASYNC_IO): Undefine macro.
+	(_POSIX_PRIORITIZED_IO): Undefine macro.
+	(_POSIX_SPIN_LOCKS): Define macro to -1.
+
+2012-05-10  Samuel Thibault  <samuel.thibault@ens-lyon.org>
+
 	* bits/sigaction.h [__USE_XOPEN2K8]: Define SA_RESTART,
 	SA_NODEFER, SA_RESETHAND.
 	* sysdeps/mach/hurd/bits/fcntl.h [__USE_XOPEN2K8]: Define
diff --git a/posix/tst-sysconf.c b/posix/tst-sysconf.c
index e2972291ae..105c7c2625 100644
--- a/posix/tst-sysconf.c
+++ b/posix/tst-sysconf.c
@@ -29,8 +29,12 @@ static struct
     N (MEMORY_PROTECTION),
     N (MESSAGE_PASSING),
     N (MONOTONIC_CLOCK),
+#ifdef _POSIX_PRIORITIZED_IO
     N (PRIORITIZED_IO),
+#endif
+#ifdef _POSIX_PRIORITY_SCHEDULING
     N (PRIORITY_SCHEDULING),
+#endif
     N (RAW_SOCKETS),
     N (READER_WRITER_LOCKS),
     N (REALTIME_SIGNALS),
@@ -42,7 +46,9 @@ static struct
     N (SPAWN),
     N (SPIN_LOCKS),
     N (SPORADIC_SERVER),
+#ifdef _POSIX_SYNCHRONIZED_IO
     N (SYNCHRONIZED_IO),
+#endif
     N (THREAD_ATTR_STACKADDR),
     N (THREAD_ATTR_STACKSIZE),
     N (THREAD_CPUTIME),
diff --git a/sysdeps/mach/hurd/bits/posix_opt.h b/sysdeps/mach/hurd/bits/posix_opt.h
index 23d32ce761..3c0830710a 100644
--- a/sysdeps/mach/hurd/bits/posix_opt.h
+++ b/sysdeps/mach/hurd/bits/posix_opt.h
@@ -1,5 +1,5 @@
 /* Define POSIX options for GNU/Hurd.
-   Copyright (C) 1998,2000,2001,2002,2006,2009 Free Software Foundation, Inc.
+   Copyright (C) 1998-2012 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
@@ -30,6 +30,9 @@
 /* Processes have a saved set-user-ID and a saved set-group-ID.  */
 #define	_POSIX_SAVED_IDS	1
 
+/* Priority scheduling is not supported.  */
+#undef	_POSIX_PRIORITY_SCHEDULING
+
 /* Synchronizing file data is supported, but msync is missing.  */
 #undef _POSIX_SYNCHRONIZED_IO
 
@@ -59,6 +62,14 @@
 #undef _POSIX_NO_TRUNC		/* Overlong file names get error?  */
 #undef _POSIX_SYNC_IO		/* File supports O_SYNC et al?  */
 
+/* X/Open realtime support is not supported.  */
+#undef _XOPEN_REALTIME
+
+/* X/Open thread realtime support is not supported.  */
+#undef _XOPEN_REALTIME_THREADS
+
+/* XPG4.2 shared memory is not supported.  */
+#undef	_XOPEN_SHM
 
 /* We do not have the POSIX threads interface.  */
 #define _POSIX_THREADS	-1
@@ -71,6 +82,12 @@
 #define _POSIX_THREAD_PRIORITY_SCHEDULING	-1
 #define _POSIX_THREAD_ATTR_STACKSIZE		-1
 #define _POSIX_THREAD_ATTR_STACKADDR		-1
+#define _POSIX_THREAD_PRIO_INHERIT		-1
+#define _POSIX_THREAD_PRIO_PROTECT		-1
+#ifdef __USE_XOPEN2K8
+# define _POSIX_THREAD_ROBUST_PRIO_INHERIT	-1
+# define _POSIX_THREAD_ROBUST_PRIO_PROTECT	-1
+#endif
 #define _POSIX_SEMAPHORES			-1
 
 /* Real-time signals are not yet supported.  */
@@ -78,8 +95,11 @@
 
 /* Asynchronous I/O might supported with the existing ABI.  */
 #define _POSIX_ASYNCHRONOUS_IO	0
+#undef _POSIX_ASYNC_IO
 /* Alternative name for Unix98.  */
 #define _LFS_ASYNCHRONOUS_IO	_POSIX_ASYNCHRONOUS_IO
+/* Support for prioritization is not available.  */
+#undef _POSIX_PRIORITIZED_IO
 
 /* The LFS support in asynchronous I/O is also available.  */
 #define _LFS64_ASYNCHRONOUS_IO	_POSIX_ASYNCHRONOUS_IO
@@ -110,6 +130,9 @@
 /* We cannot support the Timeouts option without _POSIX_THREADS.  */
 #define _POSIX_TIMEOUTS	-1
 
+/* We do not support spinlocks.  */
+#define _POSIX_SPIN_LOCKS	-1
+
 /* The `spawn' function family is supported.  */
 #define _POSIX_SPAWN	200809L
 
@@ -156,9 +179,4 @@
 /* Typed memory objects are not available.  */
 #define _POSIX_TYPED_MEMORY_OBJECTS	-1
 
-/* No support for priority inheritance or protection so far.  */
-#define _POSIX_THREAD_PRIO_INHERIT	-1
-#define _POSIX_THREAD_PRIO_PROTECT	-1
-
-
 #endif /* bits/posix_opt.h */