Message ID | lp3tte$7qf$1@ger.gmane.org |
---|---|
State | Committed |
Headers |
Received: (qmail 9705 invoked by alias); 3 Jul 2014 15:47:20 -0000 Mailing-List: contact libc-alpha-help@sourceware.org; run by ezmlm Precedence: bulk List-Id: <libc-alpha.sourceware.org> List-Unsubscribe: <mailto:libc-alpha-unsubscribe-##L=##H@sourceware.org> List-Subscribe: <mailto:libc-alpha-subscribe@sourceware.org> List-Archive: <http://sourceware.org/ml/libc-alpha/> List-Post: <mailto:libc-alpha@sourceware.org> List-Help: <mailto:libc-alpha-help@sourceware.org>, <http://sourceware.org/ml/#faqs> Sender: libc-alpha-owner@sourceware.org Delivered-To: mailing list libc-alpha@sourceware.org Received: (qmail 9667 invoked by uid 89); 3 Jul 2014 15:47:16 -0000 Authentication-Results: sourceware.org; auth=none X-Virus-Found: No X-Spam-SWARE-Status: No, score=-2.1 required=5.0 tests=AWL, BAYES_00, RCVD_IN_DNSWL_NONE, SPF_HELO_PASS, SPF_PASS, T_RP_MATCHES_RCVD autolearn=ham version=3.3.2 X-HELO: plane.gmane.org To: libc-alpha@sourceware.org From: Stefan Liebler <stli@linux.vnet.ibm.com> Subject: Re: [PATCH roland/nptl] NPTL is no longer an add-on! Date: Thu, 03 Jul 2014 17:46:54 +0200 Lines: 557 Message-ID: <lp3tte$7qf$1@ger.gmane.org> References: <20140625234741.E25102C39C7@topped-with-meat.com> Mime-Version: 1.0 Content-Type: multipart/mixed; boundary="------------070705090904010101010008" User-Agent: Mozilla/5.0 (X11; Linux x86_64; rv:24.0) Gecko/20100101 Thunderbird/24.6.0 In-Reply-To: <20140625234741.E25102C39C7@topped-with-meat.com> |
Commit Message
Stefan Liebler
July 3, 2014, 3:46 p.m. UTC
Hi Roland, i´ve checked out roland/nptl and build fails on s390 without appended patch, because files are not found. So please add it to your branch. make test|xtest runs without failures. I´ve compared *.o files bytewise in build-directory before/after branch, but i couldn´t look at all differences yet. Thus here is the list with differences: -nptl/stamp.o: different ordering of object files before: ... nptl/register-atfork.o nptl/unregister-atfork.o nptl/libc_pthread_init.o nptl/libc_multiple_threads.o after: ... nptl/libc_pthread_init.o nptl/libc_multiple_threads.o nptl/register-atfork.o nptl/unregister-atfork.o -nptl/pthread_create.o: objdump -s -j .rodata.str1.2 nptl/pthread_create.o -after branch: ... 00e0 2d3e6865 61646572 2e746362 20213d20 ->header.tcb != 00f0 2828766f 6964202a 29302900 2e2f6372 ((void *)0)../cr 0100 65617465 74687265 61642e63 00005f5f eatethread.c..__ 0110 7265636c 61696d5f 73746163 6b730000 reclaim_stacks.. 0120 616c6c6f 63617465 5f737461 636b0000 allocate_stack.. 0130 63726561 74655f74 68726561 64007374 create_thread.st 0140 6172745f 74687265 61640000 art_thread.. -before branch: ... 00e0 2d3e6865 61646572 2e746362 20213d20 ->header.tcb != 00f0 2828766f 6964202a 29302900 2e2e2f6e ((void *)0).../n 0100 70746c2f 63726561 74657468 72656164 ptl/createthread 0110 2e630000 5f5f7265 636c6169 6d5f7374 .c..__reclaim_st 0120 61636b73 0000616c 6c6f6361 74655f73 acks..allocate_s 0130 7461636b 00006372 65617465 5f746872 tack..create_thr 0140 65616400 73746172 745f7468 72656164 ead.start_thread 0150 0000 .. -libio/tst_putwc.o -intl/tst-gettext3.o -intl/tst-gettext2.o -intl/tst-gettext6.o -intl/tst-codeset.o -intl/tst-translit.o -intl/tst-gettext4.o -intl/tst-gettext5.o -posix/fork.o -elf/tst-dlopenrpath.o -elf/multiload.o -nscd/nscd_stat.o Bye On 06/26/2014 01:47 AM, Roland McGrath wrote: > 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 <nptl/pthreadP.h> 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 <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 70201a2..511533a 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 946275e..942f2b1 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 > 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 <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/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 > <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 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 >
Comments
Hi, now the roland/nptl branch builds on s390. Thanks. the diffs of the remaining files show the same different paths or the build date. Tested for s390/s390x with/without lock-elision. The testsuite also passes for these. Bye On 07/03/2014 05:46 PM, Stefan Liebler wrote: > Hi Roland, > > i´ve checked out roland/nptl and build fails on s390 without appended > patch, because files are not found. So please add it to your branch. > > make test|xtest runs without failures. > > I´ve compared *.o files bytewise in build-directory before/after branch, > but i couldn´t look at all differences yet. Thus here is the list with > differences: > -nptl/stamp.o: different ordering of object files > before: > ... > nptl/register-atfork.o > nptl/unregister-atfork.o > nptl/libc_pthread_init.o > nptl/libc_multiple_threads.o > after: > ... > nptl/libc_pthread_init.o > nptl/libc_multiple_threads.o > nptl/register-atfork.o > nptl/unregister-atfork.o > > -nptl/pthread_create.o: > objdump -s -j .rodata.str1.2 nptl/pthread_create.o > -after branch: > ... > 00e0 2d3e6865 61646572 2e746362 20213d20 ->header.tcb != > 00f0 2828766f 6964202a 29302900 2e2f6372 ((void *)0)../cr > 0100 65617465 74687265 61642e63 00005f5f eatethread.c..__ > 0110 7265636c 61696d5f 73746163 6b730000 reclaim_stacks.. > 0120 616c6c6f 63617465 5f737461 636b0000 allocate_stack.. > 0130 63726561 74655f74 68726561 64007374 create_thread.st > 0140 6172745f 74687265 61640000 art_thread.. > > -before branch: > ... > 00e0 2d3e6865 61646572 2e746362 20213d20 ->header.tcb != > 00f0 2828766f 6964202a 29302900 2e2e2f6e ((void *)0).../n > 0100 70746c2f 63726561 74657468 72656164 ptl/createthread > 0110 2e630000 5f5f7265 636c6169 6d5f7374 .c..__reclaim_st > 0120 61636b73 0000616c 6c6f6361 74655f73 acks..allocate_s > 0130 7461636b 00006372 65617465 5f746872 tack..create_thr > 0140 65616400 73746172 745f7468 72656164 ead.start_thread > 0150 0000 .. > > -libio/tst_putwc.o static const char outname[] = OBJPFX "tst_putwc.temp"; => different paths > -intl/tst-gettext3.o bindtextdomain ("codeset", OBJPFX "domaindir"); => different paths > -intl/tst-gettext2.o bindtextdomain ("tstlang", OBJPFX "domaindir"); => different paths > -intl/tst-gettext6.o bindtextdomain ("tstgettext6", OBJPFX "domaindir"); => different paths > -intl/tst-codeset.o bindtextdomain ("codeset", OBJPFX "domaindir"); => different paths > -intl/tst-translit.o bindtextdomain ("translit", OBJPFX "domaindir"); => different paths > -intl/tst-gettext4.o bindtextdomain ("multithread", OBJPFX "domaindir"); => different paths > -intl/tst-gettext5.o bindtextdomain ("codeset", OBJPFX "domaindir"); => different paths > -posix/fork.o -Contents of section .rodata.str1.2: -before: 0000 73656c66 2d3e7469 6420213d 20707069 self->tid != ppi 0010 64002e2e 2f6e7074 6c2f7379 73646570 d.../nptl/sysdep 0020 732f756e 69782f73 7973762f 6c696e75 s/unix/sysv/linu 0030 782f666f 726b2e63 00002828 73747275 x/fork.c..((stru -after: 0000 73656c66 2d3e7469 6420213d 20707069 self->tid != ppi 0010 64002e2e 2f737973 64657073 2f6e7074 d.../sysdeps/npt 0020 6c2f666f 726b2e63 00002828 73747275 l/fork.c..((stru => reflects file move > -elf/tst-dlopenrpath.o static const char testsubdir[] = PFX "test-subdir"; if (system ("cp " PFX "firstobj.so " PFX "test-subdir/in-subdir.so") unlink (PFX "test-subdir/in-subdir.so"); => different paths > -elf/multiload.o if (chdir (OBJDIR) != 0) => different paths > -nscd/nscd_stat.o static const char compilation[21] = __DATE__ " " __TIME__; > > Bye > > On 06/26/2014 01:47 AM, Roland McGrath wrote: >> 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 <nptl/pthreadP.h> 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 <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 70201a2..511533a 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 946275e..942f2b1 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 >> 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 <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/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 >> <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 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 >>
diff --git a/sysdeps/unix/sysv/linux/s390/jmp-unwind.c b/sysdeps/unix/sysv/linux/s390/jmp-unwind.c index f35eab5..32226bc 100644 --- a/sysdeps/unix/sysv/linux/s390/jmp-unwind.c +++ b/sysdeps/unix/sysv/linux/s390/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/unix/sysv/linux/s390/pthread_mutex_cond_lock.c b/sysdeps/unix/sysv/linux/s390/pthread_mutex_cond_lock.c index 6fc0f96..aa6cf9a 100644 --- a/sysdeps/unix/sysv/linux/s390/pthread_mutex_cond_lock.c +++ b/sysdeps/unix/sysv/linux/s390/pthread_mutex_cond_lock.c @@ -19,4 +19,4 @@ already elided locks. */ #include <elision-conf.h> -#include <nptl/sysdeps/unix/sysv/linux/pthread_mutex_cond_lock.c> +#include <nptl/pthread_mutex_cond_lock.c>