mirror of
https://sourceware.org/git/glibc.git
synced 2024-11-21 20:40:05 +00:00
NPTL is no longer an add-on!
This commit is contained in:
parent
08192659bb
commit
f083450f45
33
ChangeLog
33
ChangeLog
@ -1,5 +1,38 @@
|
|||||||
2014-07-07 Roland McGrath <roland@hack.frob.com>
|
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,
|
* nptl/Makefile (routines): Add libc_pthread_init,
|
||||||
libc_multiple_threads, register-atfork and unregister-atfork.
|
libc_multiple_threads, register-atfork and unregister-atfork.
|
||||||
(libpthread-routines): Add pthread_mutex_cond_lock and pt-fork here.
|
(libpthread-routines): Add pthread_mutex_cond_lock and pt-fork here.
|
||||||
|
5
NEWS
5
NEWS
@ -65,6 +65,11 @@ Version 2.20
|
|||||||
* All supported architectures now use the main glibc sysdeps directory
|
* All supported architectures now use the main glibc sysdeps directory
|
||||||
instead of some being in a separate "ports" directory (which was
|
instead of some being in a separate "ports" directory (which was
|
||||||
distributed separately before glibc 2.17).
|
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
|
Version 2.19
|
||||||
|
|
||||||
|
@ -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.
|
|
13
nptl/configure
vendored
13
nptl/configure
vendored
@ -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
|
|
@ -21,7 +21,7 @@
|
|||||||
correct aio_suspend and lio_listio implementations. */
|
correct aio_suspend and lio_listio implementations. */
|
||||||
|
|
||||||
#include <assert.h>
|
#include <assert.h>
|
||||||
#include <pthreadP.h>
|
#include <nptl/pthreadP.h>
|
||||||
#include <lowlevellock.h>
|
#include <lowlevellock.h>
|
||||||
|
|
||||||
#define DONT_NEED_AIO_MISC_COND 1
|
#define DONT_NEED_AIO_MISC_COND 1
|
||||||
|
@ -27,7 +27,7 @@
|
|||||||
#include <ldsodefs.h>
|
#include <ldsodefs.h>
|
||||||
#include <bits/stdio-lock.h>
|
#include <bits/stdio-lock.h>
|
||||||
#include <atomic.h>
|
#include <atomic.h>
|
||||||
#include <pthreadP.h>
|
#include <nptl/pthreadP.h>
|
||||||
#include <fork.h>
|
#include <fork.h>
|
||||||
#include <arch-fork.h>
|
#include <arch-fork.h>
|
||||||
|
|
||||||
|
@ -22,7 +22,7 @@
|
|||||||
|
|
||||||
#include <assert.h>
|
#include <assert.h>
|
||||||
#include <signal.h>
|
#include <signal.h>
|
||||||
#include <pthreadP.h>
|
#include <nptl/pthreadP.h>
|
||||||
#include <lowlevellock.h>
|
#include <lowlevellock.h>
|
||||||
|
|
||||||
#define DONT_NEED_GAI_MISC_COND 1
|
#define DONT_NEED_GAI_MISC_COND 1
|
||||||
|
@ -18,7 +18,7 @@
|
|||||||
|
|
||||||
#include <setjmp.h>
|
#include <setjmp.h>
|
||||||
#include <stddef.h>
|
#include <stddef.h>
|
||||||
#include <pthreadP.h>
|
#include <nptl/pthreadP.h>
|
||||||
|
|
||||||
extern void __pthread_cleanup_upto (__jmp_buf env, char *targetframe);
|
extern void __pthread_cleanup_upto (__jmp_buf env, char *targetframe);
|
||||||
#pragma weak __pthread_cleanup_upto
|
#pragma weak __pthread_cleanup_upto
|
||||||
|
@ -16,7 +16,7 @@
|
|||||||
License along with the GNU C Library; if not, see
|
License along with the GNU C Library; if not, see
|
||||||
<http://www.gnu.org/licenses/>. */
|
<http://www.gnu.org/licenses/>. */
|
||||||
|
|
||||||
#include "pthreadP.h"
|
#include <nptl/pthreadP.h>
|
||||||
|
|
||||||
|
|
||||||
#define __pthread_enable_asynccancel __librt_enable_asynccancel
|
#define __pthread_enable_asynccancel __librt_enable_asynccancel
|
||||||
|
@ -15,7 +15,7 @@
|
|||||||
License along with the GNU C Library; if not, see
|
License along with the GNU C Library; if not, see
|
||||||
<http://www.gnu.org/licenses/>. */
|
<http://www.gnu.org/licenses/>. */
|
||||||
|
|
||||||
#include <pthreadP.h>
|
#include <nptl/pthreadP.h>
|
||||||
#include <sysdep.h>
|
#include <sysdep.h>
|
||||||
|
|
||||||
#define __SETXID_1(cmd, arg1) \
|
#define __SETXID_1(cmd, arg1) \
|
||||||
|
@ -1,2 +1,3 @@
|
|||||||
|
aarch64/nptl
|
||||||
unix/sysv/linux/generic
|
unix/sysv/linux/generic
|
||||||
unix/sysv/linux/wordsize-64
|
unix/sysv/linux/wordsize-64
|
||||||
|
@ -1,3 +1,4 @@
|
|||||||
|
alpha/nptl
|
||||||
unix/sysv/linux/wordsize-64
|
unix/sysv/linux/wordsize-64
|
||||||
# These supply the ABI compatibility for when long double was double.
|
# These supply the ABI compatibility for when long double was double.
|
||||||
ieee754/ldbl-64-128
|
ieee754/ldbl-64-128
|
||||||
|
1
sysdeps/unix/sysv/linux/arm/Implies
Normal file
1
sysdeps/unix/sysv/linux/arm/Implies
Normal file
@ -0,0 +1 @@
|
|||||||
|
arm/nptl
|
27
sysdeps/unix/sysv/linux/configure
vendored
27
sysdeps/unix/sysv/linux/configure
vendored
@ -158,33 +158,6 @@ if test -n "$sysheaders"; then
|
|||||||
CPPFLAGS=$OLD_CPPFLAGS
|
CPPFLAGS=$OLD_CPPFLAGS
|
||||||
fi
|
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 "$prefix" = "/usr/local" -o "$prefix" = "/usr/local/" -o "$prefix" = "NONE"; then
|
||||||
if test $enable_sanity = yes; then
|
if test $enable_sanity = yes; then
|
||||||
echo "\
|
echo "\
|
||||||
|
@ -81,33 +81,6 @@ if test -n "$sysheaders"; then
|
|||||||
CPPFLAGS=$OLD_CPPFLAGS
|
CPPFLAGS=$OLD_CPPFLAGS
|
||||||
fi
|
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 "$prefix" = "/usr/local" -o "$prefix" = "/usr/local/" -o "$prefix" = "NONE"; then
|
||||||
if test $enable_sanity = yes; then
|
if test $enable_sanity = yes; then
|
||||||
echo "\
|
echo "\
|
||||||
|
1
sysdeps/unix/sysv/linux/hppa/Implies
Normal file
1
sysdeps/unix/sysv/linux/hppa/Implies
Normal file
@ -0,0 +1 @@
|
|||||||
|
hppa/nptl
|
@ -1 +1,2 @@
|
|||||||
unix/sysv/linux/x86
|
unix/sysv/linux/x86
|
||||||
|
i386/nptl
|
||||||
|
1
sysdeps/unix/sysv/linux/i386/i686/Implies
Normal file
1
sysdeps/unix/sysv/linux/i386/i686/Implies
Normal file
@ -0,0 +1 @@
|
|||||||
|
i386/i686/nptl
|
@ -1 +1,2 @@
|
|||||||
|
ia64/nptl
|
||||||
unix/sysv/linux/wordsize-64
|
unix/sysv/linux/wordsize-64
|
||||||
|
1
sysdeps/unix/sysv/linux/m68k/Implies
Normal file
1
sysdeps/unix/sysv/linux/m68k/Implies
Normal file
@ -0,0 +1 @@
|
|||||||
|
m68k/nptl
|
1
sysdeps/unix/sysv/linux/microblaze/Implies
Normal file
1
sysdeps/unix/sysv/linux/microblaze/Implies
Normal file
@ -0,0 +1 @@
|
|||||||
|
microblaze/nptl
|
1
sysdeps/unix/sysv/linux/mips/Implies
Normal file
1
sysdeps/unix/sysv/linux/mips/Implies
Normal file
@ -0,0 +1 @@
|
|||||||
|
mips/nptl
|
1
sysdeps/unix/sysv/linux/powerpc/Implies
Normal file
1
sysdeps/unix/sysv/linux/powerpc/Implies
Normal file
@ -0,0 +1 @@
|
|||||||
|
powerpc/nptl
|
@ -1,3 +1,5 @@
|
|||||||
|
s390/nptl
|
||||||
|
|
||||||
# These supply the ABI compatibility for when long double was double.
|
# These supply the ABI compatibility for when long double was double.
|
||||||
ieee754/ldbl-64-128
|
ieee754/ldbl-64-128
|
||||||
ieee754/ldbl-opt
|
ieee754/ldbl-opt
|
||||||
|
1
sysdeps/unix/sysv/linux/sh/Implies
Normal file
1
sysdeps/unix/sysv/linux/sh/Implies
Normal file
@ -0,0 +1 @@
|
|||||||
|
sh/nptl
|
1
sysdeps/unix/sysv/linux/sparc/Implies
Normal file
1
sysdeps/unix/sysv/linux/sparc/Implies
Normal file
@ -0,0 +1 @@
|
|||||||
|
sparc/nptl
|
1
sysdeps/unix/sysv/linux/tile/Implies
Normal file
1
sysdeps/unix/sysv/linux/tile/Implies
Normal file
@ -0,0 +1 @@
|
|||||||
|
tile/nptl
|
@ -1,2 +1,3 @@
|
|||||||
unix/sysv/linux/x86
|
unix/sysv/linux/x86
|
||||||
unix/sysv/linux/wordsize-64
|
unix/sysv/linux/wordsize-64
|
||||||
|
x86_64/nptl
|
||||||
|
1
sysdeps/unix/sysv/linux/x86_64/x32/Implies
Normal file
1
sysdeps/unix/sysv/linux/x86_64/x32/Implies
Normal file
@ -0,0 +1 @@
|
|||||||
|
x86_64/x32/nptl
|
Loading…
Reference in New Issue
Block a user