From patchwork Wed Jun 25 23:47:41 2014 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Roland McGrath X-Patchwork-Id: 1754 Received: (qmail 25040 invoked by alias); 25 Jun 2014 23:47:46 -0000 Mailing-List: contact libc-alpha-help@sourceware.org; run by ezmlm Precedence: bulk List-Id: List-Unsubscribe: List-Subscribe: List-Archive: List-Post: List-Help: , Sender: libc-alpha-owner@sourceware.org Delivered-To: mailing list libc-alpha@sourceware.org Received: (qmail 25030 invoked by uid 89); 25 Jun 2014 23:47:45 -0000 Authentication-Results: sourceware.org; auth=none X-Virus-Found: No X-Spam-SWARE-Status: No, score=-2.2 required=5.0 tests=AWL, BAYES_00 autolearn=ham version=3.3.2 X-HELO: topped-with-meat.com MIME-Version: 1.0 From: Roland McGrath To: "GNU C. Library" Subject: [PATCH roland/nptl] NPTL is no longer an add-on! Message-Id: <20140625234741.E25102C39C7@topped-with-meat.com> Date: Wed, 25 Jun 2014 16:47:41 -0700 (PDT) X-CMAE-Score: 0 X-CMAE-Analysis: v=2.1 cv=SvUDtp+0 c=1 sm=1 tr=0 a=WkljmVdYkabdwxfqvArNOQ==:117 a=14OXPxybAAAA:8 a=alCQHkgmpJkA:10 a=Z6MIti7PxpgA:10 a=kj9zAlcOel0A:10 a=hOe2yjtxAAAA:8 a=20KFwNOVAAAA:8 a=mDV3o1hIAAAA:8 a=rxyVoCyaLnyGkeVKSQ4A:9 a=CjuIK1q_8ugA:10 a=jEp0ucaQiEUA:10 I think this completes the de-add-on-ification of NPTL. I've tested on x86_64-linux-gnu, i686-linux-gnu, and arm-linux-gnueabihf that there are no code changes from this. I think I added all the Implies files necessary for other machines to notice no changes, but I haven't tested those builds. But note that what I actually tested is a tree where the nptl/sysdeps directory is gone, and its presence probably louses things up. To achieve that state on the trunk requires merging in the roland/nptl-s390 branch. Each machine with an outstanding per-machine branch needs that branch merged (and verified, and fixed as necessary) before this. Those are: roland/nptl-aarch64 roland/nptl-hppa roland/nptl-ia64 roland/nptl-microblaze roland/nptl-mips roland/nptl-s390 I reiterate my request for each of those machines' maintainers to get on with the review and testing forthwith! Tomorrow I will start the harangues in earnest, and start discussing how we should proceed for the lagging maintainers. I would really like to get this all resolved and in within the next week or so. Thanks, Roland NPTL is no longer an add-on! * nptl/internaltypes.h: Moved ... * sysdeps/nptl/internaltypes.h: ... here. * sysdeps/nptl/aio_misc.h: Use in #include. * sysdeps/nptl/fork.c: Likewise. * sysdeps/nptl/gai_misc.h: 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. 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/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/Makeconfig b/sysdeps/nptl/Makeconfig similarity index 100% rename from nptl/Makeconfig rename to sysdeps/nptl/Makeconfig diff --git a/sysdeps/nptl/aio_misc.h b/sysdeps/nptl/aio_misc.h index ac3488c..c3de84b 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 -#include +#include #include #define DONT_NEED_AIO_MISC_COND 1 diff --git a/sysdeps/nptl/fork.c b/sysdeps/nptl/fork.c index 70201a2..511533a 100644 --- a/sysdeps/nptl/fork.c +++ b/sysdeps/nptl/fork.c @@ -27,7 +27,7 @@ #include #include #include -#include +#include #include #include diff --git a/sysdeps/nptl/gai_misc.h b/sysdeps/nptl/gai_misc.h index 946275e..942f2b1 100644 --- a/sysdeps/nptl/gai_misc.h +++ b/sysdeps/nptl/gai_misc.h @@ -22,7 +22,7 @@ #include #include -#include +#include #include #define DONT_NEED_GAI_MISC_COND 1 diff --git a/nptl/internaltypes.h b/sysdeps/nptl/internaltypes.h similarity index 100% rename from nptl/internaltypes.h rename to sysdeps/nptl/internaltypes.h diff --git a/sysdeps/nptl/jmp-unwind.c b/sysdeps/nptl/jmp-unwind.c index b3a960c..0ac6b27 100644 --- a/sysdeps/nptl/jmp-unwind.c +++ b/sysdeps/nptl/jmp-unwind.c @@ -18,7 +18,7 @@ #include #include -#include +#include extern void __pthread_cleanup_upto (__jmp_buf env, char *targetframe); #pragma weak __pthread_cleanup_upto diff --git a/sysdeps/nptl/setxid.h b/sysdeps/nptl/setxid.h index 76c88e0..c02e92d 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 . */ -#include +#include #include #define __SETXID_1(cmd, arg1) \ diff --git a/sysdeps/unix/sysv/linux/aarch64/Implies b/sysdeps/unix/sysv/linux/aarch64/Implies index 37b6bda..4409e19 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 1616efe..fddb49e 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 0000000..e609c13 --- /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 57fda6c..91ec602 100644 --- a/sysdeps/unix/sysv/linux/configure +++ b/sysdeps/unix/sysv/linux/configure @@ -279,33 +279,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 e172ffe..8127670 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 0000000..c3d145c --- /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 ccc7eaa..4bf5f8b 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 0000000..8948a80 --- /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 8d91c80..9762539 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 0000000..77f1f7d --- /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 0000000..469a141 --- /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 0000000..656fa77 --- /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 0000000..466b7f4 --- /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 efda9d2..e6e51fa 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 0000000..c15a97e --- /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 0000000..a8cc375 --- /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 0000000..e050152 --- /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 c7a65c9..c9be3c4 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 0000000..b287872 --- /dev/null +++ b/sysdeps/unix/sysv/linux/x86_64/x32/Implies @@ -0,0 +1 @@ +x86_64/x32/nptl