summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--ChangeLog33
-rw-r--r--NEWS5
-rw-r--r--nptl/ANNOUNCE92
-rw-r--r--nptl/configure13
-rw-r--r--sysdeps/nptl/Makeconfig (renamed from nptl/Makeconfig)0
-rw-r--r--sysdeps/nptl/aio_misc.h2
-rw-r--r--sysdeps/nptl/fork.c2
-rw-r--r--sysdeps/nptl/gai_misc.h2
-rw-r--r--sysdeps/nptl/internaltypes.h (renamed from nptl/internaltypes.h)0
-rw-r--r--sysdeps/nptl/jmp-unwind.c2
-rw-r--r--sysdeps/nptl/librt-cancellation.c2
-rw-r--r--sysdeps/nptl/setxid.h2
-rw-r--r--sysdeps/unix/sysv/linux/aarch64/Implies1
-rw-r--r--sysdeps/unix/sysv/linux/alpha/Implies1
-rw-r--r--sysdeps/unix/sysv/linux/arm/Implies1
-rw-r--r--sysdeps/unix/sysv/linux/configure27
-rw-r--r--sysdeps/unix/sysv/linux/configure.ac27
-rw-r--r--sysdeps/unix/sysv/linux/hppa/Implies1
-rw-r--r--sysdeps/unix/sysv/linux/i386/Implies1
-rw-r--r--sysdeps/unix/sysv/linux/i386/i686/Implies1
-rw-r--r--sysdeps/unix/sysv/linux/ia64/Implies1
-rw-r--r--sysdeps/unix/sysv/linux/m68k/Implies1
-rw-r--r--sysdeps/unix/sysv/linux/microblaze/Implies1
-rw-r--r--sysdeps/unix/sysv/linux/mips/Implies1
-rw-r--r--sysdeps/unix/sysv/linux/powerpc/Implies1
-rw-r--r--sysdeps/unix/sysv/linux/s390/Implies2
-rw-r--r--sysdeps/unix/sysv/linux/sh/Implies1
-rw-r--r--sysdeps/unix/sysv/linux/sparc/Implies1
-rw-r--r--sysdeps/unix/sysv/linux/tile/Implies1
-rw-r--r--sysdeps/unix/sysv/linux/x86_64/Implies1
-rw-r--r--sysdeps/unix/sysv/linux/x86_64/x32/Implies1
31 files changed, 62 insertions, 165 deletions
diff --git a/ChangeLog b/ChangeLog
index 39f0e78837..ac35437275 100644
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,5 +1,38 @@
2014-07-07 Roland McGrath <roland@hack.frob.com>
+ * NEWS: NPTL is no longer an add-on!
+ * nptl/internaltypes.h: Moved ...
+ * sysdeps/nptl/internaltypes.h: ... here.
+ * sysdeps/nptl/aio_misc.h: Use <nptl/pthreadP.h> in #include.
+ * sysdeps/nptl/fork.c: Likewise.
+ * sysdeps/nptl/gai_misc.h: Likewise.
+ * sysdeps/nptl/librt-cancellation.c: Likewise.
+ * sysdeps/nptl/jmp-unwind.c: Likewise.
+ * sysdeps/nptl/setxid.h: Likewise.
+ * sysdeps/unix/sysv/linux/aarch64/Implies: New file.
+ * sysdeps/unix/sysv/linux/alpha/Implies: Add alpha/nptl.
+ * sysdeps/unix/sysv/linux/arm/Implies: New file.
+ * sysdeps/unix/sysv/linux/hppa/Implies: New file.
+ * sysdeps/unix/sysv/linux/i386/Implies: Add i386/nptl.
+ * sysdeps/unix/sysv/linux/i386/i686/Implies: New file.
+ * sysdeps/unix/sysv/linux/ia64/Implies: Add ia64/nptl.
+ * sysdeps/unix/sysv/linux/m68k/Implies: New file.
+ * sysdeps/unix/sysv/linux/microblaze/Implies: New file.
+ * sysdeps/unix/sysv/linux/mips/Implies: New file.
+ * sysdeps/unix/sysv/linux/powerpc/Implies: New file.
+ * sysdeps/unix/sysv/linux/s390/Implies: Add s390/nptl.
+ * sysdeps/unix/sysv/linux/sh/Implies: New file.
+ * sysdeps/unix/sysv/linux/sparc/Implies: New file.
+ * sysdeps/unix/sysv/linux/tile/Implies: New file.
+ * sysdeps/unix/sysv/linux/x86_64/Implies: Add x86_64/nptl.
+ * sysdeps/unix/sysv/linux/x86_64/x32/Implies: New file.
+ * nptl/Makeconfig: Moved ...
+ * sysdeps/nptl/Makeconfig: ... here.
+ * nptl/configure: File removed.
+ * nptl/ANNOUNCE: File removed.
+ * sysdeps/unix/sysv/linux/configure.ac: Remove nptl sanity check.
+ * sysdeps/unix/sysv/linux/configure: Regenerated.
+
* nptl/Makefile (routines): Add libc_pthread_init,
libc_multiple_threads, register-atfork and unregister-atfork.
(libpthread-routines): Add pthread_mutex_cond_lock and pt-fork here.
diff --git a/NEWS b/NEWS
index a07ea6615c..f4c501ca56 100644
--- a/NEWS
+++ b/NEWS
@@ -65,6 +65,11 @@ Version 2.20
* All supported architectures now use the main glibc sysdeps directory
instead of some being in a separate "ports" directory (which was
distributed separately before glibc 2.17).
+
+* The NPTL implementation of POSIX pthreads is no longer an "add-on".
+ On configurations that support it (all Linux configurations), it's now
+ used regardless of the --enable-add-ons switch to configure. It is no
+ longer possible to build such configurations without pthreads support.
Version 2.19
diff --git a/nptl/ANNOUNCE b/nptl/ANNOUNCE
deleted file mode 100644
index b63c657b85..0000000000
--- 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/configure b/nptl/configure
deleted file mode 100644
index dd246c755a..0000000000
--- 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/Makeconfig b/sysdeps/nptl/Makeconfig
index bfd1db0b31..bfd1db0b31 100644
--- a/nptl/Makeconfig
+++ b/sysdeps/nptl/Makeconfig
diff --git a/sysdeps/nptl/aio_misc.h b/sysdeps/nptl/aio_misc.h
index ac3488c57e..c3de84b1ac 100644
--- a/sysdeps/nptl/aio_misc.h
+++ b/sysdeps/nptl/aio_misc.h
@@ -21,7 +21,7 @@
correct aio_suspend and lio_listio implementations. */
#include <assert.h>
-#include <pthreadP.h>
+#include <nptl/pthreadP.h>
#include <lowlevellock.h>
#define DONT_NEED_AIO_MISC_COND 1
diff --git a/sysdeps/nptl/fork.c b/sysdeps/nptl/fork.c
index 70201a294c..511533aa60 100644
--- a/sysdeps/nptl/fork.c
+++ b/sysdeps/nptl/fork.c
@@ -27,7 +27,7 @@
#include <ldsodefs.h>
#include <bits/stdio-lock.h>
#include <atomic.h>
-#include <pthreadP.h>
+#include <nptl/pthreadP.h>
#include <fork.h>
#include <arch-fork.h>
diff --git a/sysdeps/nptl/gai_misc.h b/sysdeps/nptl/gai_misc.h
index 946275ed75..942f2b1b7e 100644
--- a/sysdeps/nptl/gai_misc.h
+++ b/sysdeps/nptl/gai_misc.h
@@ -22,7 +22,7 @@
#include <assert.h>
#include <signal.h>
-#include <pthreadP.h>
+#include <nptl/pthreadP.h>
#include <lowlevellock.h>
#define DONT_NEED_GAI_MISC_COND 1
diff --git a/nptl/internaltypes.h b/sysdeps/nptl/internaltypes.h
index d127f688cf..d127f688cf 100644
--- a/nptl/internaltypes.h
+++ b/sysdeps/nptl/internaltypes.h
diff --git a/sysdeps/nptl/jmp-unwind.c b/sysdeps/nptl/jmp-unwind.c
index b3a960c980..0ac6b27522 100644
--- a/sysdeps/nptl/jmp-unwind.c
+++ b/sysdeps/nptl/jmp-unwind.c
@@ -18,7 +18,7 @@
#include <setjmp.h>
#include <stddef.h>
-#include <pthreadP.h>
+#include <nptl/pthreadP.h>
extern void __pthread_cleanup_upto (__jmp_buf env, char *targetframe);
#pragma weak __pthread_cleanup_upto
diff --git a/sysdeps/nptl/librt-cancellation.c b/sysdeps/nptl/librt-cancellation.c
index e512929fbe..c0258baa99 100644
--- a/sysdeps/nptl/librt-cancellation.c
+++ b/sysdeps/nptl/librt-cancellation.c
@@ -16,7 +16,7 @@
License along with the GNU C Library; if not, see
<http://www.gnu.org/licenses/>. */
-#include "pthreadP.h"
+#include <nptl/pthreadP.h>
#define __pthread_enable_asynccancel __librt_enable_asynccancel
diff --git a/sysdeps/nptl/setxid.h b/sysdeps/nptl/setxid.h
index 76c88e0feb..c02e92d154 100644
--- a/sysdeps/nptl/setxid.h
+++ b/sysdeps/nptl/setxid.h
@@ -15,7 +15,7 @@
License along with the GNU C Library; if not, see
<http://www.gnu.org/licenses/>. */
-#include <pthreadP.h>
+#include <nptl/pthreadP.h>
#include <sysdep.h>
#define __SETXID_1(cmd, arg1) \
diff --git a/sysdeps/unix/sysv/linux/aarch64/Implies b/sysdeps/unix/sysv/linux/aarch64/Implies
index 37b6bda7f9..4409e19b92 100644
--- a/sysdeps/unix/sysv/linux/aarch64/Implies
+++ b/sysdeps/unix/sysv/linux/aarch64/Implies
@@ -1,2 +1,3 @@
+aarch64/nptl
unix/sysv/linux/generic
unix/sysv/linux/wordsize-64
diff --git a/sysdeps/unix/sysv/linux/alpha/Implies b/sysdeps/unix/sysv/linux/alpha/Implies
index 1616efecbe..fddb49e2c2 100644
--- a/sysdeps/unix/sysv/linux/alpha/Implies
+++ b/sysdeps/unix/sysv/linux/alpha/Implies
@@ -1,3 +1,4 @@
+alpha/nptl
unix/sysv/linux/wordsize-64
# These supply the ABI compatibility for when long double was double.
ieee754/ldbl-64-128
diff --git a/sysdeps/unix/sysv/linux/arm/Implies b/sysdeps/unix/sysv/linux/arm/Implies
new file mode 100644
index 0000000000..e609c137d0
--- /dev/null
+++ b/sysdeps/unix/sysv/linux/arm/Implies
@@ -0,0 +1 @@
+arm/nptl
diff --git a/sysdeps/unix/sysv/linux/configure b/sysdeps/unix/sysv/linux/configure
index e8f83fbd12..7825ff66ca 100644
--- a/sysdeps/unix/sysv/linux/configure
+++ b/sysdeps/unix/sysv/linux/configure
@@ -158,33 +158,6 @@ if test -n "$sysheaders"; then
CPPFLAGS=$OLD_CPPFLAGS
fi
-# Under Linux the NPTL add-on should be available.
-case $add_ons in
- # It is available. Good.
- *nptl*)
- nptl_missing=
- ;;
- *)
- nptl_missing=yes
- ;;
-esac
-
-if test "$nptl_missing"; then
- if test $enable_sanity = yes; then
- echo "\
-*** On GNU/Linux systems it is normal to compile GNU libc with the
-*** \`nptl' add-on. Without that, the library will be
-*** incompatible with normal GNU/Linux systems.
-*** If you really mean to not use this add-on, run configure again
-*** using the extra parameter \`--disable-sanity-checks'."
- exit 1
- else
- echo "\
-*** WARNING: Are you sure you do not want to use the \`nptl'
-*** add-on?"
- fi
-fi
-
if test "$prefix" = "/usr/local" -o "$prefix" = "/usr/local/" -o "$prefix" = "NONE"; then
if test $enable_sanity = yes; then
echo "\
diff --git a/sysdeps/unix/sysv/linux/configure.ac b/sysdeps/unix/sysv/linux/configure.ac
index 9b09b3fdd3..f207c26c77 100644
--- a/sysdeps/unix/sysv/linux/configure.ac
+++ b/sysdeps/unix/sysv/linux/configure.ac
@@ -81,33 +81,6 @@ if test -n "$sysheaders"; then
CPPFLAGS=$OLD_CPPFLAGS
fi
-# Under Linux the NPTL add-on should be available.
-case $add_ons in
- # It is available. Good.
- *nptl*)
- nptl_missing=
- ;;
- *)
- nptl_missing=yes
- ;;
-esac
-
-if test "$nptl_missing"; then
- if test $enable_sanity = yes; then
- echo "\
-*** On GNU/Linux systems it is normal to compile GNU libc with the
-*** \`nptl' add-on. Without that, the library will be
-*** incompatible with normal GNU/Linux systems.
-*** If you really mean to not use this add-on, run configure again
-*** using the extra parameter \`--disable-sanity-checks'."
- exit 1
- else
- echo "\
-*** WARNING: Are you sure you do not want to use the \`nptl'
-*** add-on?"
- fi
-fi
-
if test "$prefix" = "/usr/local" -o "$prefix" = "/usr/local/" -o "$prefix" = "NONE"; then
if test $enable_sanity = yes; then
echo "\
diff --git a/sysdeps/unix/sysv/linux/hppa/Implies b/sysdeps/unix/sysv/linux/hppa/Implies
new file mode 100644
index 0000000000..c3d145cb44
--- /dev/null
+++ b/sysdeps/unix/sysv/linux/hppa/Implies
@@ -0,0 +1 @@
+hppa/nptl
diff --git a/sysdeps/unix/sysv/linux/i386/Implies b/sysdeps/unix/sysv/linux/i386/Implies
index ccc7eaa8a4..4bf5f8b520 100644
--- a/sysdeps/unix/sysv/linux/i386/Implies
+++ b/sysdeps/unix/sysv/linux/i386/Implies
@@ -1 +1,2 @@
unix/sysv/linux/x86
+i386/nptl
diff --git a/sysdeps/unix/sysv/linux/i386/i686/Implies b/sysdeps/unix/sysv/linux/i386/i686/Implies
new file mode 100644
index 0000000000..8948a800bb
--- /dev/null
+++ b/sysdeps/unix/sysv/linux/i386/i686/Implies
@@ -0,0 +1 @@
+i386/i686/nptl
diff --git a/sysdeps/unix/sysv/linux/ia64/Implies b/sysdeps/unix/sysv/linux/ia64/Implies
index 8d91c80097..9762539f9c 100644
--- a/sysdeps/unix/sysv/linux/ia64/Implies
+++ b/sysdeps/unix/sysv/linux/ia64/Implies
@@ -1 +1,2 @@
+ia64/nptl
unix/sysv/linux/wordsize-64
diff --git a/sysdeps/unix/sysv/linux/m68k/Implies b/sysdeps/unix/sysv/linux/m68k/Implies
new file mode 100644
index 0000000000..77f1f7dd2b
--- /dev/null
+++ b/sysdeps/unix/sysv/linux/m68k/Implies
@@ -0,0 +1 @@
+m68k/nptl
diff --git a/sysdeps/unix/sysv/linux/microblaze/Implies b/sysdeps/unix/sysv/linux/microblaze/Implies
new file mode 100644
index 0000000000..469a141418
--- /dev/null
+++ b/sysdeps/unix/sysv/linux/microblaze/Implies
@@ -0,0 +1 @@
+microblaze/nptl
diff --git a/sysdeps/unix/sysv/linux/mips/Implies b/sysdeps/unix/sysv/linux/mips/Implies
new file mode 100644
index 0000000000..656fa77b63
--- /dev/null
+++ b/sysdeps/unix/sysv/linux/mips/Implies
@@ -0,0 +1 @@
+mips/nptl
diff --git a/sysdeps/unix/sysv/linux/powerpc/Implies b/sysdeps/unix/sysv/linux/powerpc/Implies
new file mode 100644
index 0000000000..466b7f4b4a
--- /dev/null
+++ b/sysdeps/unix/sysv/linux/powerpc/Implies
@@ -0,0 +1 @@
+powerpc/nptl
diff --git a/sysdeps/unix/sysv/linux/s390/Implies b/sysdeps/unix/sysv/linux/s390/Implies
index efda9d27c0..e6e51fa5a7 100644
--- a/sysdeps/unix/sysv/linux/s390/Implies
+++ b/sysdeps/unix/sysv/linux/s390/Implies
@@ -1,3 +1,5 @@
+s390/nptl
+
# These supply the ABI compatibility for when long double was double.
ieee754/ldbl-64-128
ieee754/ldbl-opt
diff --git a/sysdeps/unix/sysv/linux/sh/Implies b/sysdeps/unix/sysv/linux/sh/Implies
new file mode 100644
index 0000000000..c15a97e222
--- /dev/null
+++ b/sysdeps/unix/sysv/linux/sh/Implies
@@ -0,0 +1 @@
+sh/nptl
diff --git a/sysdeps/unix/sysv/linux/sparc/Implies b/sysdeps/unix/sysv/linux/sparc/Implies
new file mode 100644
index 0000000000..a8cc375171
--- /dev/null
+++ b/sysdeps/unix/sysv/linux/sparc/Implies
@@ -0,0 +1 @@
+sparc/nptl
diff --git a/sysdeps/unix/sysv/linux/tile/Implies b/sysdeps/unix/sysv/linux/tile/Implies
new file mode 100644
index 0000000000..e050152859
--- /dev/null
+++ b/sysdeps/unix/sysv/linux/tile/Implies
@@ -0,0 +1 @@
+tile/nptl
diff --git a/sysdeps/unix/sysv/linux/x86_64/Implies b/sysdeps/unix/sysv/linux/x86_64/Implies
index c7a65c9386..c9be3c4711 100644
--- a/sysdeps/unix/sysv/linux/x86_64/Implies
+++ b/sysdeps/unix/sysv/linux/x86_64/Implies
@@ -1,2 +1,3 @@
unix/sysv/linux/x86
unix/sysv/linux/wordsize-64
+x86_64/nptl
diff --git a/sysdeps/unix/sysv/linux/x86_64/x32/Implies b/sysdeps/unix/sysv/linux/x86_64/x32/Implies
new file mode 100644
index 0000000000..b287872e93
--- /dev/null
+++ b/sysdeps/unix/sysv/linux/x86_64/x32/Implies
@@ -0,0 +1 @@
+x86_64/x32/nptl