NPTL is no longer an add-on!
authorRoland McGrath <roland@hack.frob.com>
Mon, 7 Jul 2014 16:29:06 +0000 (09:29 -0700)
committerRoland McGrath <roland@hack.frob.com>
Mon, 7 Jul 2014 16:29:06 +0000 (09:29 -0700)
33 files changed:
ChangeLog
NEWS
nptl/ANNOUNCE [deleted file]
nptl/Makeconfig [deleted file]
nptl/configure [deleted file]
nptl/internaltypes.h [deleted file]
sysdeps/nptl/Makeconfig [new file with mode: 0644]
sysdeps/nptl/aio_misc.h
sysdeps/nptl/fork.c
sysdeps/nptl/gai_misc.h
sysdeps/nptl/internaltypes.h [new file with mode: 0644]
sysdeps/nptl/jmp-unwind.c
sysdeps/nptl/librt-cancellation.c
sysdeps/nptl/setxid.h
sysdeps/unix/sysv/linux/aarch64/Implies
sysdeps/unix/sysv/linux/alpha/Implies
sysdeps/unix/sysv/linux/arm/Implies [new file with mode: 0644]
sysdeps/unix/sysv/linux/configure
sysdeps/unix/sysv/linux/configure.ac
sysdeps/unix/sysv/linux/hppa/Implies [new file with mode: 0644]
sysdeps/unix/sysv/linux/i386/Implies
sysdeps/unix/sysv/linux/i386/i686/Implies [new file with mode: 0644]
sysdeps/unix/sysv/linux/ia64/Implies
sysdeps/unix/sysv/linux/m68k/Implies [new file with mode: 0644]
sysdeps/unix/sysv/linux/microblaze/Implies [new file with mode: 0644]
sysdeps/unix/sysv/linux/mips/Implies [new file with mode: 0644]
sysdeps/unix/sysv/linux/powerpc/Implies [new file with mode: 0644]
sysdeps/unix/sysv/linux/s390/Implies
sysdeps/unix/sysv/linux/sh/Implies [new file with mode: 0644]
sysdeps/unix/sysv/linux/sparc/Implies [new file with mode: 0644]
sysdeps/unix/sysv/linux/tile/Implies [new file with mode: 0644]
sysdeps/unix/sysv/linux/x86_64/Implies
sysdeps/unix/sysv/linux/x86_64/x32/Implies [new file with mode: 0644]

index 39f0e788376c4f00b40e95f5d2ba10e351e52509..ac354372750f4afba69facf9eea569447c605175 100644 (file)
--- 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 a07ea6615c34b6358ee70c24aa2d2bb32cf09f16..f4c501ca568276782082d99240d371b793955ade 100644 (file)
--- 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.
 \f
 Version 2.19
 
diff --git a/nptl/ANNOUNCE b/nptl/ANNOUNCE
deleted file mode 100644 (file)
index b63c657..0000000
+++ /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 (file)
index bfd1db0..0000000
+++ /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 (file)
index dd246c7..0000000
+++ /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 (file)
index d127f68..0000000
+++ /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 */
diff --git a/sysdeps/nptl/Makeconfig b/sysdeps/nptl/Makeconfig
new file mode 100644 (file)
index 0000000..bfd1db0
--- /dev/null
@@ -0,0 +1,32 @@
+# 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-%:%
index ac3488c57e8a5d784e235a536b4a0049de650fce..c3de84b1ace0d45e553eab7c8b60f9351364893c 100644 (file)
@@ -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
index 70201a294c3ea9440f295486dd51acd875505bcb..511533aa6018cfc4e3513a6ccb6c147a713ea299 100644 (file)
@@ -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>
 
index 946275ed752d66dc5e73b6980cb0351bf8af9257..942f2b1b7e9f5824ce0cd2edf9a7235137bb4eba 100644 (file)
@@ -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/sysdeps/nptl/internaltypes.h b/sysdeps/nptl/internaltypes.h
new file mode 100644 (file)
index 0000000..d127f68
--- /dev/null
@@ -0,0 +1,161 @@
+/* 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 */
index b3a960c9803d13c89db5c4cc9ab684576a3755e9..0ac6b275226ef96cdfc5081c74249da055310d2b 100644 (file)
@@ -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
index e512929fbe44fc91bfe8b9e321d55498c015e70e..c0258baa9994faf7a717ee68c90d74bf9ed746bd 100644 (file)
@@ -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
index 76c88e0feb49b43476280756225ce1d07a81fa90..c02e92d1546dcf789d46dd4398dada03d4c7697f 100644 (file)
@@ -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) \
index 37b6bda7f9d96c56cccbc05cc3db33bd5ea9eca7..4409e19b929d0e6e9e42b43f581aeda4691eba99 100644 (file)
@@ -1,2 +1,3 @@
+aarch64/nptl
 unix/sysv/linux/generic
 unix/sysv/linux/wordsize-64
index 1616efecbed0b143441a94fdfc2bdcdd648944d2..fddb49e2c2605ea3c267756c8e6066790d4c0e90 100644 (file)
@@ -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 (file)
index 0000000..e609c13
--- /dev/null
@@ -0,0 +1 @@
+arm/nptl
index e8f83fbd126b8a54e5549988e001c99ba08d7923..7825ff66ca59d3a14183e6d2ee7b541179953cff 100644 (file)
@@ -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 "\
index 9b09b3fdd3168929bc43c9039c2b9d30608ff0e7..f207c26c77a780e3917a61489c70624a52512f5d 100644 (file)
@@ -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 (file)
index 0000000..c3d145c
--- /dev/null
@@ -0,0 +1 @@
+hppa/nptl
index ccc7eaa8a4651a4e4d18be721985c936a6dcb825..4bf5f8b520b688a8c97444e88b09b60f1d936df1 100644 (file)
@@ -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 (file)
index 0000000..8948a80
--- /dev/null
@@ -0,0 +1 @@
+i386/i686/nptl
index 8d91c80097a21ecf0c260b5cf069c1bddd422b5d..9762539f9c6fe5e20a39dfec49043a9003d49637 100644 (file)
@@ -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 (file)
index 0000000..77f1f7d
--- /dev/null
@@ -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 (file)
index 0000000..469a141
--- /dev/null
@@ -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 (file)
index 0000000..656fa77
--- /dev/null
@@ -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 (file)
index 0000000..466b7f4
--- /dev/null
@@ -0,0 +1 @@
+powerpc/nptl
index efda9d27c0a4798a1c8e357df1bb488c965ab79f..e6e51fa5a788c122f200de396b12b1dc28ea9896 100644 (file)
@@ -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 (file)
index 0000000..c15a97e
--- /dev/null
@@ -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 (file)
index 0000000..a8cc375
--- /dev/null
@@ -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 (file)
index 0000000..e050152
--- /dev/null
@@ -0,0 +1 @@
+tile/nptl
index c7a65c9386f85b2d175a24e95f622a5210ca70fb..c9be3c4711b45a1bfb17034547cebc7bdd0843e2 100644 (file)
@@ -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 (file)
index 0000000..b287872
--- /dev/null
@@ -0,0 +1 @@
+x86_64/x32/nptl