diff options
author | Roland McGrath <roland@hack.frob.com> | 2014-07-07 09:29:06 -0700 |
---|---|---|
committer | Roland McGrath <roland@hack.frob.com> | 2014-07-07 09:29:06 -0700 |
commit | f083450f45f580bf33fa345ddadb897dc85d78e8 (patch) | |
tree | 097dde3e3e42b0921bf778be8b1f52d2376756ef /nptl | |
parent | 08192659bbeae149e7cb1f4c43547257f7099bb0 (diff) | |
download | glibc-f083450f45f580bf33fa345ddadb897dc85d78e8.zip glibc-f083450f45f580bf33fa345ddadb897dc85d78e8.tar.gz glibc-f083450f45f580bf33fa345ddadb897dc85d78e8.tar.bz2 |
NPTL is no longer an add-on!
Diffstat (limited to 'nptl')
-rw-r--r-- | nptl/ANNOUNCE | 92 | ||||
-rw-r--r-- | nptl/Makeconfig | 32 | ||||
-rw-r--r-- | nptl/configure | 13 | ||||
-rw-r--r-- | nptl/internaltypes.h | 161 |
4 files changed, 0 insertions, 298 deletions
diff --git a/nptl/ANNOUNCE b/nptl/ANNOUNCE deleted file mode 100644 index b63c657..0000000 --- a/nptl/ANNOUNCE +++ /dev/null @@ -1,92 +0,0 @@ -Now that the Linux kernel is once again able to run all the tests we -have and since glibc 2.3 was released it was time for a new code drop. -I've uploaded the second code drop for the Native POSIX Thread -Library: - - ftp://people.redhat.com/drepper/nptl/nptl-0.2.tar.bz2 - -You need - -- the latest of Linus' kernel from BitKeeper (or 2.5.41 when it - is released); - -- glibc 2.3 - -- the very latest in tools such as - - + gcc either from the current development branch or the gcc 3.2 - from Red Hat Linux 8; - - + binutils preferrably from CVS, from H.J. Lu's latest release for - Linux, or from RHL 8. - - -Compiling glibc should proceed smoothly. But there are a number of -tests which fail, mostly because some functionality is missing in -glibc. Ignore those errors. It is only important that all tests in -nptl/ are passing. Run - - make subdirs=nptl check - -to run all thread tests. - - -This version features several improvements: - -- all APIs are now implemented; - -- fork handling has been improved; stacks in the child are freed; - atfork handlers are removed if they were registered from a module - which gets unloaded. - -- pthread_tryjoin_np and pthread_timedjoin_np are implemented - -- TSD handling corrected and optimized. - -- many more tests which also test the underlying kernel implementation. - -- the build infrastructure has been implemented so that the DSO and - archives are built in usable form and with correct named. - -- libthread_db has been implemented. This is the library which is - needed by all program which need to get access to internals of - libpthread (mainly debuggers). - -- the CPU clock functions are implemented - - - -The white paper hasn't yet been updated. It's still available at - - http://people.redhat.com/drepper/nptl-design.pdf - - -This release should be ready for some serious testing. I know it is -hard to compile which I why I'm looking into providing binary RPMs. -They can be used on non-critical systems. I'll only be able to -provide binaries for RHL8 based systems, though, and the kernel still -must be installed separately. - - -The next steps will include: - -- write more tests and fix the bugs which are discovered this way - -- update the white paper - -- write and run more performance tests - -- port to IA-64 - - -Interested parties are once again invited to join the mailing we -created: - - - phil-list@redhat.com - -Go to - - https://listman.redhat.com/mailman/listinfo/phil-list - -to subscribe, unsubscribe, or review the archive. diff --git a/nptl/Makeconfig b/nptl/Makeconfig deleted file mode 100644 index bfd1db0..0000000 --- a/nptl/Makeconfig +++ /dev/null @@ -1,32 +0,0 @@ -# Copyright (C) 2002-2014 Free Software Foundation, Inc. -# This file is part of the GNU C Library. -# Contributed by Ulrich Drepper <drepper@redhat.com>, 2002. - -# The GNU C Library is free software; you can redistribute it and/or -# modify it under the terms of the GNU Lesser General Public -# License as published by the Free Software Foundation; either -# version 2.1 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 -# Lesser General Public License for more details. - -# You should have received a copy of the GNU Lesser General Public -# License along with the GNU C Library; if not, see -# <http://www.gnu.org/licenses/>. - -# Makeconfig fragment for NPTL add-on. -# This gets included at the end of the main glibc Makeconfig. - -have-thread-library = yes - -shared-thread-library = $(common-objpfx)nptl/libpthread_nonshared.a \ - $(common-objpfx)nptl/libpthread.so -static-thread-library = $(common-objpfx)nptl/libpthread.a - -rpath-dirs += nptl - -# This makes for ptw-*.? object rules in sysd-rules. -ptw-CPPFLAGS := -DPTW -sysd-rules-patterns += ptw-%:% diff --git a/nptl/configure b/nptl/configure deleted file mode 100644 index dd246c7..0000000 --- a/nptl/configure +++ /dev/null @@ -1,13 +0,0 @@ -# This is a shell script fragment sourced by the main configure script. -# We're obliged to give here the canonical name that will be used to -# as a subdirectory to search for in other add-ons' sysdeps trees. - -libc_add_on_canonical=nptl - -# Only linux configurations support NPTL. -if test $add_ons_automatic = yes; then - case "$config_os" in - *linux*) ;; - *) libc_add_on= ;; - esac -fi diff --git a/nptl/internaltypes.h b/nptl/internaltypes.h deleted file mode 100644 index d127f68..0000000 --- a/nptl/internaltypes.h +++ /dev/null @@ -1,161 +0,0 @@ -/* Copyright (C) 2002-2014 Free Software Foundation, Inc. - This file is part of the GNU C Library. - Contributed by Ulrich Drepper <drepper@redhat.com>, 2002. - - The GNU C Library is free software; you can redistribute it and/or - modify it under the terms of the GNU Lesser General Public - License as published by the Free Software Foundation; either - version 2.1 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 - Lesser General Public License for more details. - - You should have received a copy of the GNU Lesser General Public - License along with the GNU C Library; if not, see - <http://www.gnu.org/licenses/>. */ - -#ifndef _INTERNALTYPES_H -#define _INTERNALTYPES_H 1 - -#include <stdint.h> - - -struct pthread_attr -{ - /* Scheduler parameters and priority. */ - struct sched_param schedparam; - int schedpolicy; - /* Various flags like detachstate, scope, etc. */ - int flags; - /* Size of guard area. */ - size_t guardsize; - /* Stack handling. */ - void *stackaddr; - size_t stacksize; - /* Affinity map. */ - cpu_set_t *cpuset; - size_t cpusetsize; -}; - -#define ATTR_FLAG_DETACHSTATE 0x0001 -#define ATTR_FLAG_NOTINHERITSCHED 0x0002 -#define ATTR_FLAG_SCOPEPROCESS 0x0004 -#define ATTR_FLAG_STACKADDR 0x0008 -#define ATTR_FLAG_OLDATTR 0x0010 -#define ATTR_FLAG_SCHED_SET 0x0020 -#define ATTR_FLAG_POLICY_SET 0x0040 - - -/* Mutex attribute data structure. */ -struct pthread_mutexattr -{ - /* Identifier for the kind of mutex. - - Bit 31 is set if the mutex is to be shared between processes. - - Bit 0 to 30 contain one of the PTHREAD_MUTEX_ values to identify - the type of the mutex. */ - int mutexkind; -}; - - -/* Conditional variable attribute data structure. */ -struct pthread_condattr -{ - /* Combination of values: - - Bit 0 : flag whether conditional variable will be sharable between - processes. - - Bit 1-7: clock ID. */ - int value; -}; - - -/* The __NWAITERS field is used as a counter and to house the number - of bits for other purposes. COND_CLOCK_BITS is the number - of bits needed to represent the ID of the clock. COND_NWAITERS_SHIFT - is the number of bits reserved for other purposes like the clock. */ -#define COND_CLOCK_BITS 1 -#define COND_NWAITERS_SHIFT 1 - - -/* Read-write lock variable attribute data structure. */ -struct pthread_rwlockattr -{ - int lockkind; - int pshared; -}; - - -/* Barrier data structure. */ -struct pthread_barrier -{ - unsigned int curr_event; - int lock; - unsigned int left; - unsigned int init_count; - int private; -}; - - -/* Barrier variable attribute data structure. */ -struct pthread_barrierattr -{ - int pshared; -}; - - -/* Thread-local data handling. */ -struct pthread_key_struct -{ - /* Sequence numbers. Even numbers indicated vacant entries. Note - that zero is even. We use uintptr_t to not require padding on - 32- and 64-bit machines. On 64-bit machines it helps to avoid - wrapping, too. */ - uintptr_t seq; - - /* Destructor for the data. */ - void (*destr) (void *); -}; - -/* Check whether an entry is unused. */ -#define KEY_UNUSED(p) (((p) & 1) == 0) -/* Check whether a key is usable. We cannot reuse an allocated key if - the sequence counter would overflow after the next destroy call. - This would mean that we potentially free memory for a key with the - same sequence. This is *very* unlikely to happen, A program would - have to create and destroy a key 2^31 times (on 32-bit platforms, - on 64-bit platforms that would be 2^63). If it should happen we - simply don't use this specific key anymore. */ -#define KEY_USABLE(p) (((uintptr_t) (p)) < ((uintptr_t) ((p) + 2))) - - -/* Handling of read-write lock data. */ -// XXX For now there is only one flag. Maybe more in future. -#define RWLOCK_RECURSIVE(rwlock) ((rwlock)->__data.__flags != 0) - - -/* Semaphore variable structure. */ -struct new_sem -{ - unsigned int value; - int private; - unsigned long int nwaiters; -}; - -struct old_sem -{ - unsigned int value; -}; - - -/* Compatibility type for old conditional variable interfaces. */ -typedef struct -{ - pthread_cond_t *cond; -} pthread_cond_2_0_t; - -#endif /* internaltypes.h */ |