summary refs log tree commit diff
path: root/nptl
diff options
context:
space:
mode:
authorUlrich Drepper <drepper@redhat.com>2004-12-10 00:41:30 +0000
committerUlrich Drepper <drepper@redhat.com>2004-12-10 00:41:30 +0000
commitbf7c04cd5f4b3a7d3e3155b0035396e7f1037a13 (patch)
treefca029f46efa5faba09dbbb5035ba8efa53878f7 /nptl
parent708bfb9a90fca1ecf14668e7455d747d7e8b152c (diff)
downloadglibc-bf7c04cd5f4b3a7d3e3155b0035396e7f1037a13.tar.gz
glibc-bf7c04cd5f4b3a7d3e3155b0035396e7f1037a13.tar.xz
glibc-bf7c04cd5f4b3a7d3e3155b0035396e7f1037a13.zip
Update.
2004-12-01  Jakub Jelinek  <jakub@redhat.com>

	* posix/tst-regex.c: Use defined _POSIX_CPUTIME && _POSIX_CPUTIME >= 0
	conditionals instead of defined _POSIX_CPUTIME.
	(main): If _POSIX_CPUTIME == 0, call sysconf to see if CPUTIME
	option is available.
	* posix/tst-regex.c2: Use defined _POSIX_CPUTIME && _POSIX_CPUTIME >= 0
	conditionals instead of defined _POSIX_CPUTIME.
	(do_test): If _POSIX_CPUTIME == 0, call sysconf to see if CPUTIME
	option is available.
	* sysdeps/posix/sysconf.c (__sysconf): If _POSIX_CPUTIME resp.
	_POSIX_THREAD_CPUTIME is defined to 0, return -1 for the corresponding
	_SC_ argument.
Diffstat (limited to 'nptl')
-rw-r--r--nptl/ChangeLog21
-rw-r--r--nptl/sysdeps/pthread/posix-timer.h10
-rw-r--r--nptl/sysdeps/pthread/timer_create.c19
-rw-r--r--nptl/sysdeps/pthread/timer_routines.c18
-rw-r--r--nptl/sysdeps/unix/sysv/linux/bits/posix_opt.h6
-rw-r--r--nptl/sysdeps/unix/sysv/linux/i386/bits/posix_opt.h178
-rw-r--r--nptl/sysdeps/unix/sysv/linux/ia64/bits/posix_opt.h178
-rw-r--r--nptl/sysdeps/unix/sysv/linux/x86_64/bits/posix_opt.h178
8 files changed, 29 insertions, 579 deletions
diff --git a/nptl/ChangeLog b/nptl/ChangeLog
index 4cb92c9d78..f779bd4968 100644
--- a/nptl/ChangeLog
+++ b/nptl/ChangeLog
@@ -1,3 +1,24 @@
+2004-12-09  Ulrich Drepper  <drepper@redhat.com>
+
+	* init.c (__pthread_initialize_minimal_internal): Also unblock
+	SIGSETXID.
+
+2004-12-01  Jakub Jelinek  <jakub@redhat.com>
+
+	* sysdeps/unix/sysv/linux/bits/posix_opt.h (_POSIX_CPUTIME,
+	_POSIX_THREAD_CPUTIME): Define to 0.
+	* sysdeps/pthread/timer_create.c (timer_create): Remove unused code
+	handling CLOCK_PROCESS_CPUTIME_ID and CLOCK_THREAD_CPUTIME_ID.
+	* sysdeps/pthread/timer_routines.c (__timer_signal_thread_pclk,
+	__timer_signal_thread_tclk): Remove.
+	(init_module): Remove their initialization.
+	(thread_cleanup): Remove their cleanup assertions.
+	* sysdeps/pthread/posix-timer.h (__timer_signal_thread_pclk,
+	__timer_signal_thread_tclk): Remove.
+	* sysdeps/unix/sysv/linux/i386/bits/posix_opt.h: Removed.
+	* sysdeps/unix/sysv/linux/ia64/bits/posix_opt.h: Removed.
+	* sysdeps/unix/sysv/linux/x86_64/bits/posix_opt.h: Removed.
+
 2004-12-07  Jakub Jelinek  <jakub@redhat.com>
 
 	* sysdeps/ia64/tcb-offsets.sym (TID): Add.
diff --git a/nptl/sysdeps/pthread/posix-timer.h b/nptl/sysdeps/pthread/posix-timer.h
index 843e44711a..8b4cbc8cdf 100644
--- a/nptl/sysdeps/pthread/posix-timer.h
+++ b/nptl/sysdeps/pthread/posix-timer.h
@@ -88,16 +88,8 @@ extern pthread_once_t __timer_init_once_control;
 /* Nonzero if initialization of timer implementation failed.  */
 extern int __timer_init_failed;
 
-/* Nodes for the threads used to deliver signals.  */
-/* A distinct thread is used for each clock type.  */
-
+/* Node for the thread used to deliver signals.  */
 extern struct thread_node __timer_signal_thread_rclk;
-#if defined _POSIX_CPUTIME && _POSIX_CPUTIME >= 0
-extern struct thread_node __timer_signal_thread_pclk;
-#endif
-#if defined _POSIX_THREAD_CPUTIME && _POSIX_THREAD_CPUTIME >= 0
-extern struct thread_node __timer_signal_thread_tclk;
-#endif
 
 
 /* Return pointer to timer structure corresponding to ID.  */
diff --git a/nptl/sysdeps/pthread/timer_create.c b/nptl/sysdeps/pthread/timer_create.c
index 2f5a587e8d..2809ac7443 100644
--- a/nptl/sysdeps/pthread/timer_create.c
+++ b/nptl/sysdeps/pthread/timer_create.c
@@ -94,24 +94,7 @@ timer_create (clock_id, evp, timerid)
     case SIGEV_SIGNAL:
       /* We have a global thread for delivering timed signals.
 	 If it is not running, try to start it up.  */
-      switch (clock_id)
-	{
-	case CLOCK_REALTIME:
-	default:
-	  thread = &__timer_signal_thread_rclk;
-	  break;
-#if defined _POSIX_CPUTIME && _POSIX_CPUTIME >= 0
-	case CLOCK_PROCESS_CPUTIME_ID:
-	  thread = &__timer_signal_thread_pclk;
-	  break;
-#endif
-#if defined _POSIX_THREAD_CPUTIME && _POSIX_THREAD_CPUTIME >= 0
-	case CLOCK_THREAD_CPUTIME_ID:
-	  thread = &__timer_signal_thread_tclk;
-	  break;
-#endif
-	}
-
+      thread = &__timer_signal_thread_rclk;
       if (! thread->exists)
 	{
 	  if (__builtin_expect (__timer_thread_start (thread),
diff --git a/nptl/sysdeps/pthread/timer_routines.c b/nptl/sysdeps/pthread/timer_routines.c
index caa93433e3..8d5b1d13a5 100644
--- a/nptl/sysdeps/pthread/timer_routines.c
+++ b/nptl/sysdeps/pthread/timer_routines.c
@@ -53,12 +53,6 @@ int __timer_init_failed;
 
 /* Node for the thread used to deliver signals.  */
 struct thread_node __timer_signal_thread_rclk;
-#if defined _POSIX_CPUTIME && _POSIX_CPUTIME >= 0
-struct thread_node __timer_signal_thread_pclk;
-#endif
-#if defined _POSIX_THREAD_CPUTIME && _POSIX_THREAD_CPUTIME >= 0
-struct thread_node __timer_signal_thread_tclk;
-#endif
 
 /* Lists to keep free and used timers and threads.  */
 struct list_links timer_free_list;
@@ -191,12 +185,6 @@ init_module (void)
     list_append (&thread_free_list, &thread_array[i].links);
 
   thread_init (&__timer_signal_thread_rclk, 0, CLOCK_REALTIME);
-#if defined _POSIX_CPUTIME && _POSIX_CPUTIME >= 0
-  thread_init (&__timer_signal_thread_pclk, 0, CLOCK_PROCESS_CPUTIME_ID);
-#endif
-#if defined _POSIX_THREAD_CPUTIME && _POSIX_THREAD_CPUTIME >= 0
-  thread_init (&__timer_signal_thread_tclk, 0, CLOCK_THREAD_CPUTIME_ID);
-#endif
 }
 
 
@@ -281,12 +269,6 @@ thread_cleanup (void *val)
 
       /* How did the signal thread get killed?  */
       assert (thread != &__timer_signal_thread_rclk);
-#if defined _POSIX_CPUTIME && _POSIX_CPUTIME >= 0
-      assert (thread != &__timer_signal_thread_pclk);
-#endif
-#if defined _POSIX_THREAD_CPUTIME && _POSIX_THREAD_CPUTIME >= 0
-      assert (thread != &__timer_signal_thread_tclk);
-#endif
 
       pthread_mutex_lock (&__timer_mutex);
 
diff --git a/nptl/sysdeps/unix/sysv/linux/bits/posix_opt.h b/nptl/sysdeps/unix/sysv/linux/bits/posix_opt.h
index a32197ee16..09f3df11cb 100644
--- a/nptl/sysdeps/unix/sysv/linux/bits/posix_opt.h
+++ b/nptl/sysdeps/unix/sysv/linux/bits/posix_opt.h
@@ -104,6 +104,12 @@
 /* POSIX shared memory objects are implemented.  */
 #define _POSIX_SHARED_MEMORY_OBJECTS	200112L
 
+/* CPU-time clocks support needs to be checked at runtime.  */
+#define _POSIX_CPUTIME	0
+
+/* Clock support in threads must be also checked at runtime.  */
+#define _POSIX_THREAD_CPUTIME	0
+
 /* GNU libc provides regular expression handling.  */
 #define _POSIX_REGEXP	1
 
diff --git a/nptl/sysdeps/unix/sysv/linux/i386/bits/posix_opt.h b/nptl/sysdeps/unix/sysv/linux/i386/bits/posix_opt.h
deleted file mode 100644
index f46b381406..0000000000
--- a/nptl/sysdeps/unix/sysv/linux/i386/bits/posix_opt.h
+++ /dev/null
@@ -1,178 +0,0 @@
-/* Define POSIX options for Linux.
-   Copyright (C) 1996-2001, 2002, 2003, 2004 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 Library General Public License as
-   published by the Free Software Foundation; either version 2 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
-   Library General Public License for more details.
-
-   You should have received a copy of the GNU Library General Public
-   License along with the GNU C Library; see the file COPYING.LIB.  If not,
-   write to the Free Software Foundation, Inc., 59 Temple Place - Suite 330,
-   Boston, MA 02111-1307, USA.  */
-
-#ifndef	_POSIX_OPT_H
-#define	_POSIX_OPT_H	1
-
-/* Job control is supported.  */
-#define	_POSIX_JOB_CONTROL	1
-
-/* Processes have a saved set-user-ID and a saved set-group-ID.  */
-#define	_POSIX_SAVED_IDS	1
-
-/* Priority scheduling is supported.  */
-#define	_POSIX_PRIORITY_SCHEDULING	200112L
-
-/* Synchronizing file data is supported.  */
-#define	_POSIX_SYNCHRONIZED_IO	200112L
-
-/* The fsync function is present.  */
-#define	_POSIX_FSYNC	200112L
-
-/* Mapping of files to memory is supported.  */
-#define	_POSIX_MAPPED_FILES	200112L
-
-/* Locking of all memory is supported.  */
-#define	_POSIX_MEMLOCK	200112L
-
-/* Locking of ranges of memory is supported.  */
-#define	_POSIX_MEMLOCK_RANGE	200112L
-
-/* Setting of memory protections is supported.  */
-#define	_POSIX_MEMORY_PROTECTION	200112L
-
-/* Only root can change owner of file.  */
-#define	_POSIX_CHOWN_RESTRICTED	1
-
-/* `c_cc' member of 'struct termios' structure can be disabled by
-   using the value _POSIX_VDISABLE.  */
-#define	_POSIX_VDISABLE	'\0'
-
-/* Filenames are not silently truncated.  */
-#define	_POSIX_NO_TRUNC	1
-
-/* X/Open realtime support is available.  */
-#define _XOPEN_REALTIME	1
-
-/* XPG4.2 shared memory is supported.  */
-#define	_XOPEN_SHM	1
-
-/* Tell we have POSIX threads.  */
-#define _POSIX_THREADS	200112L
-
-/* We have the reentrant functions described in POSIX.  */
-#define _POSIX_REENTRANT_FUNCTIONS      1
-#define _POSIX_THREAD_SAFE_FUNCTIONS	200112L
-
-/* We provide priority scheduling for threads.  */
-#define _POSIX_THREAD_PRIORITY_SCHEDULING	200112L
-
-/* We support user-defined stack sizes.  */
-#define _POSIX_THREAD_ATTR_STACKSIZE	200112L
-
-/* We support user-defined stacks.  */
-#define _POSIX_THREAD_ATTR_STACKADDR	200112L
-
-/* We support POSIX.1b semaphores.  */
-#define _POSIX_SEMAPHORES	200112L
-
-/* Real-time signals are supported.  */
-#define _POSIX_REALTIME_SIGNALS	200112L
-
-/* We support asynchronous I/O.  */
-#define _POSIX_ASYNCHRONOUS_IO	200112L
-#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
-
-/* The LFS support in asynchronous I/O is also available.  */
-#define _LFS64_ASYNCHRONOUS_IO	1
-
-/* The rest of the LFS is also available.  */
-#define _LFS_LARGEFILE		1
-#define _LFS64_LARGEFILE	1
-#define _LFS64_STDIO		1
-
-/* POSIX shared memory objects are implemented.  */
-#define _POSIX_SHARED_MEMORY_OBJECTS	200112L
-
-/* CPU-time clocks supported.  */
-#define _POSIX_CPUTIME 0
-
-/* We support the clock also in threads.  */
-#define _POSIX_THREAD_CPUTIME  0
-
-/* GNU libc provides regular expression handling.  */
-#define _POSIX_REGEXP	1
-
-/* Reader/Writer locks are available.  */
-#define _POSIX_READER_WRITER_LOCKS	200112L
-
-/* We have a POSIX shell.  */
-#define _POSIX_SHELL	1
-
-/* We support the Timeouts option.  */
-#define _POSIX_TIMEOUTS	200112L
-
-/* We support spinlocks.  */
-#define _POSIX_SPIN_LOCKS	200112L
-
-/* The `spawn' function family is supported.  */
-#define _POSIX_SPAWN	200112L
-
-/* We have POSIX timers.  */
-#define _POSIX_TIMERS	200112L
-
-/* The barrier functions are available.  */
-#define _POSIX_BARRIERS	200112L
-
-/* POSIX message queues are available.  */
-#define	_POSIX_MESSAGE_PASSING	200112L
-
-/* Thread process-shared synchronization is supported.  */
-#define _POSIX_THREAD_PROCESS_SHARED	200112L
-
-/* The monotonic clock might be available.  */
-#define _POSIX_MONOTONIC_CLOCK	0
-
-/* The clock selection interfaces are available.  */
-#define _POSIX_CLOCK_SELECTION	200112L
-
-/* Advisory information interfaces are available.  */
-#define _POSIX_ADVISORY_INFO	200112L
-
-/* IPv6 support is available.  */
-#define _POSIX_IPV6	200112L
-
-/* Raw socket support is available.  */
-#define _POSIX_RAW_SOCKETS	200112L
-
-/* We have at least one terminal.  */
-#define _POSIX2_CHAR_TERM	200112L
-
-/* Neither process nor thread sporadic server interfaces is available.  */
-#define _POSIX_SPORADIC_SERVER	-1
-#define _POSIX_THREAD_SPORADIC_SERVER	-1
-
-/* trace.h is not available.  */
-#define _POSIX_TRACE	-1
-#define _POSIX_TRACE_EVENT_FILTER	-1
-#define _POSIX_TRACE_INHERIT	-1
-#define _POSIX_TRACE_LOG	-1
-
-/* 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 /* posix_opt.h */
diff --git a/nptl/sysdeps/unix/sysv/linux/ia64/bits/posix_opt.h b/nptl/sysdeps/unix/sysv/linux/ia64/bits/posix_opt.h
deleted file mode 100644
index f46b381406..0000000000
--- a/nptl/sysdeps/unix/sysv/linux/ia64/bits/posix_opt.h
+++ /dev/null
@@ -1,178 +0,0 @@
-/* Define POSIX options for Linux.
-   Copyright (C) 1996-2001, 2002, 2003, 2004 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 Library General Public License as
-   published by the Free Software Foundation; either version 2 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
-   Library General Public License for more details.
-
-   You should have received a copy of the GNU Library General Public
-   License along with the GNU C Library; see the file COPYING.LIB.  If not,
-   write to the Free Software Foundation, Inc., 59 Temple Place - Suite 330,
-   Boston, MA 02111-1307, USA.  */
-
-#ifndef	_POSIX_OPT_H
-#define	_POSIX_OPT_H	1
-
-/* Job control is supported.  */
-#define	_POSIX_JOB_CONTROL	1
-
-/* Processes have a saved set-user-ID and a saved set-group-ID.  */
-#define	_POSIX_SAVED_IDS	1
-
-/* Priority scheduling is supported.  */
-#define	_POSIX_PRIORITY_SCHEDULING	200112L
-
-/* Synchronizing file data is supported.  */
-#define	_POSIX_SYNCHRONIZED_IO	200112L
-
-/* The fsync function is present.  */
-#define	_POSIX_FSYNC	200112L
-
-/* Mapping of files to memory is supported.  */
-#define	_POSIX_MAPPED_FILES	200112L
-
-/* Locking of all memory is supported.  */
-#define	_POSIX_MEMLOCK	200112L
-
-/* Locking of ranges of memory is supported.  */
-#define	_POSIX_MEMLOCK_RANGE	200112L
-
-/* Setting of memory protections is supported.  */
-#define	_POSIX_MEMORY_PROTECTION	200112L
-
-/* Only root can change owner of file.  */
-#define	_POSIX_CHOWN_RESTRICTED	1
-
-/* `c_cc' member of 'struct termios' structure can be disabled by
-   using the value _POSIX_VDISABLE.  */
-#define	_POSIX_VDISABLE	'\0'
-
-/* Filenames are not silently truncated.  */
-#define	_POSIX_NO_TRUNC	1
-
-/* X/Open realtime support is available.  */
-#define _XOPEN_REALTIME	1
-
-/* XPG4.2 shared memory is supported.  */
-#define	_XOPEN_SHM	1
-
-/* Tell we have POSIX threads.  */
-#define _POSIX_THREADS	200112L
-
-/* We have the reentrant functions described in POSIX.  */
-#define _POSIX_REENTRANT_FUNCTIONS      1
-#define _POSIX_THREAD_SAFE_FUNCTIONS	200112L
-
-/* We provide priority scheduling for threads.  */
-#define _POSIX_THREAD_PRIORITY_SCHEDULING	200112L
-
-/* We support user-defined stack sizes.  */
-#define _POSIX_THREAD_ATTR_STACKSIZE	200112L
-
-/* We support user-defined stacks.  */
-#define _POSIX_THREAD_ATTR_STACKADDR	200112L
-
-/* We support POSIX.1b semaphores.  */
-#define _POSIX_SEMAPHORES	200112L
-
-/* Real-time signals are supported.  */
-#define _POSIX_REALTIME_SIGNALS	200112L
-
-/* We support asynchronous I/O.  */
-#define _POSIX_ASYNCHRONOUS_IO	200112L
-#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
-
-/* The LFS support in asynchronous I/O is also available.  */
-#define _LFS64_ASYNCHRONOUS_IO	1
-
-/* The rest of the LFS is also available.  */
-#define _LFS_LARGEFILE		1
-#define _LFS64_LARGEFILE	1
-#define _LFS64_STDIO		1
-
-/* POSIX shared memory objects are implemented.  */
-#define _POSIX_SHARED_MEMORY_OBJECTS	200112L
-
-/* CPU-time clocks supported.  */
-#define _POSIX_CPUTIME 0
-
-/* We support the clock also in threads.  */
-#define _POSIX_THREAD_CPUTIME  0
-
-/* GNU libc provides regular expression handling.  */
-#define _POSIX_REGEXP	1
-
-/* Reader/Writer locks are available.  */
-#define _POSIX_READER_WRITER_LOCKS	200112L
-
-/* We have a POSIX shell.  */
-#define _POSIX_SHELL	1
-
-/* We support the Timeouts option.  */
-#define _POSIX_TIMEOUTS	200112L
-
-/* We support spinlocks.  */
-#define _POSIX_SPIN_LOCKS	200112L
-
-/* The `spawn' function family is supported.  */
-#define _POSIX_SPAWN	200112L
-
-/* We have POSIX timers.  */
-#define _POSIX_TIMERS	200112L
-
-/* The barrier functions are available.  */
-#define _POSIX_BARRIERS	200112L
-
-/* POSIX message queues are available.  */
-#define	_POSIX_MESSAGE_PASSING	200112L
-
-/* Thread process-shared synchronization is supported.  */
-#define _POSIX_THREAD_PROCESS_SHARED	200112L
-
-/* The monotonic clock might be available.  */
-#define _POSIX_MONOTONIC_CLOCK	0
-
-/* The clock selection interfaces are available.  */
-#define _POSIX_CLOCK_SELECTION	200112L
-
-/* Advisory information interfaces are available.  */
-#define _POSIX_ADVISORY_INFO	200112L
-
-/* IPv6 support is available.  */
-#define _POSIX_IPV6	200112L
-
-/* Raw socket support is available.  */
-#define _POSIX_RAW_SOCKETS	200112L
-
-/* We have at least one terminal.  */
-#define _POSIX2_CHAR_TERM	200112L
-
-/* Neither process nor thread sporadic server interfaces is available.  */
-#define _POSIX_SPORADIC_SERVER	-1
-#define _POSIX_THREAD_SPORADIC_SERVER	-1
-
-/* trace.h is not available.  */
-#define _POSIX_TRACE	-1
-#define _POSIX_TRACE_EVENT_FILTER	-1
-#define _POSIX_TRACE_INHERIT	-1
-#define _POSIX_TRACE_LOG	-1
-
-/* 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 /* posix_opt.h */
diff --git a/nptl/sysdeps/unix/sysv/linux/x86_64/bits/posix_opt.h b/nptl/sysdeps/unix/sysv/linux/x86_64/bits/posix_opt.h
deleted file mode 100644
index f46b381406..0000000000
--- a/nptl/sysdeps/unix/sysv/linux/x86_64/bits/posix_opt.h
+++ /dev/null
@@ -1,178 +0,0 @@
-/* Define POSIX options for Linux.
-   Copyright (C) 1996-2001, 2002, 2003, 2004 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 Library General Public License as
-   published by the Free Software Foundation; either version 2 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
-   Library General Public License for more details.
-
-   You should have received a copy of the GNU Library General Public
-   License along with the GNU C Library; see the file COPYING.LIB.  If not,
-   write to the Free Software Foundation, Inc., 59 Temple Place - Suite 330,
-   Boston, MA 02111-1307, USA.  */
-
-#ifndef	_POSIX_OPT_H
-#define	_POSIX_OPT_H	1
-
-/* Job control is supported.  */
-#define	_POSIX_JOB_CONTROL	1
-
-/* Processes have a saved set-user-ID and a saved set-group-ID.  */
-#define	_POSIX_SAVED_IDS	1
-
-/* Priority scheduling is supported.  */
-#define	_POSIX_PRIORITY_SCHEDULING	200112L
-
-/* Synchronizing file data is supported.  */
-#define	_POSIX_SYNCHRONIZED_IO	200112L
-
-/* The fsync function is present.  */
-#define	_POSIX_FSYNC	200112L
-
-/* Mapping of files to memory is supported.  */
-#define	_POSIX_MAPPED_FILES	200112L
-
-/* Locking of all memory is supported.  */
-#define	_POSIX_MEMLOCK	200112L
-
-/* Locking of ranges of memory is supported.  */
-#define	_POSIX_MEMLOCK_RANGE	200112L
-
-/* Setting of memory protections is supported.  */
-#define	_POSIX_MEMORY_PROTECTION	200112L
-
-/* Only root can change owner of file.  */
-#define	_POSIX_CHOWN_RESTRICTED	1
-
-/* `c_cc' member of 'struct termios' structure can be disabled by
-   using the value _POSIX_VDISABLE.  */
-#define	_POSIX_VDISABLE	'\0'
-
-/* Filenames are not silently truncated.  */
-#define	_POSIX_NO_TRUNC	1
-
-/* X/Open realtime support is available.  */
-#define _XOPEN_REALTIME	1
-
-/* XPG4.2 shared memory is supported.  */
-#define	_XOPEN_SHM	1
-
-/* Tell we have POSIX threads.  */
-#define _POSIX_THREADS	200112L
-
-/* We have the reentrant functions described in POSIX.  */
-#define _POSIX_REENTRANT_FUNCTIONS      1
-#define _POSIX_THREAD_SAFE_FUNCTIONS	200112L
-
-/* We provide priority scheduling for threads.  */
-#define _POSIX_THREAD_PRIORITY_SCHEDULING	200112L
-
-/* We support user-defined stack sizes.  */
-#define _POSIX_THREAD_ATTR_STACKSIZE	200112L
-
-/* We support user-defined stacks.  */
-#define _POSIX_THREAD_ATTR_STACKADDR	200112L
-
-/* We support POSIX.1b semaphores.  */
-#define _POSIX_SEMAPHORES	200112L
-
-/* Real-time signals are supported.  */
-#define _POSIX_REALTIME_SIGNALS	200112L
-
-/* We support asynchronous I/O.  */
-#define _POSIX_ASYNCHRONOUS_IO	200112L
-#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
-
-/* The LFS support in asynchronous I/O is also available.  */
-#define _LFS64_ASYNCHRONOUS_IO	1
-
-/* The rest of the LFS is also available.  */
-#define _LFS_LARGEFILE		1
-#define _LFS64_LARGEFILE	1
-#define _LFS64_STDIO		1
-
-/* POSIX shared memory objects are implemented.  */
-#define _POSIX_SHARED_MEMORY_OBJECTS	200112L
-
-/* CPU-time clocks supported.  */
-#define _POSIX_CPUTIME 0
-
-/* We support the clock also in threads.  */
-#define _POSIX_THREAD_CPUTIME  0
-
-/* GNU libc provides regular expression handling.  */
-#define _POSIX_REGEXP	1
-
-/* Reader/Writer locks are available.  */
-#define _POSIX_READER_WRITER_LOCKS	200112L
-
-/* We have a POSIX shell.  */
-#define _POSIX_SHELL	1
-
-/* We support the Timeouts option.  */
-#define _POSIX_TIMEOUTS	200112L
-
-/* We support spinlocks.  */
-#define _POSIX_SPIN_LOCKS	200112L
-
-/* The `spawn' function family is supported.  */
-#define _POSIX_SPAWN	200112L
-
-/* We have POSIX timers.  */
-#define _POSIX_TIMERS	200112L
-
-/* The barrier functions are available.  */
-#define _POSIX_BARRIERS	200112L
-
-/* POSIX message queues are available.  */
-#define	_POSIX_MESSAGE_PASSING	200112L
-
-/* Thread process-shared synchronization is supported.  */
-#define _POSIX_THREAD_PROCESS_SHARED	200112L
-
-/* The monotonic clock might be available.  */
-#define _POSIX_MONOTONIC_CLOCK	0
-
-/* The clock selection interfaces are available.  */
-#define _POSIX_CLOCK_SELECTION	200112L
-
-/* Advisory information interfaces are available.  */
-#define _POSIX_ADVISORY_INFO	200112L
-
-/* IPv6 support is available.  */
-#define _POSIX_IPV6	200112L
-
-/* Raw socket support is available.  */
-#define _POSIX_RAW_SOCKETS	200112L
-
-/* We have at least one terminal.  */
-#define _POSIX2_CHAR_TERM	200112L
-
-/* Neither process nor thread sporadic server interfaces is available.  */
-#define _POSIX_SPORADIC_SERVER	-1
-#define _POSIX_THREAD_SPORADIC_SERVER	-1
-
-/* trace.h is not available.  */
-#define _POSIX_TRACE	-1
-#define _POSIX_TRACE_EVENT_FILTER	-1
-#define _POSIX_TRACE_INHERIT	-1
-#define _POSIX_TRACE_LOG	-1
-
-/* 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 /* posix_opt.h */