[hurd,commited] htl: Enable more tests

Message ID 20200607132324.3261574-1-samuel.thibault@ens-lyon.org
State New
Headers show
Series
  • [hurd,commited] htl: Enable more tests
Related show

Commit Message

Samuel Thibault June 7, 2020, 1:23 p.m.
* htl/Makefile: Remove rules adding libpthread.so and libpthread.a to link
lines.
* nptl/Makefile: Move rules adding libpthread.so and libpthread.a to
link lines to...
* sysdeps/pthread/Makefile: ... here.

* nptl/eintr.c, tst-align.c tst-align3.c tst-atfork1.c tst-backtrace1.c
tst-bad-schedattr.c tst-cancel-self-canceltype.c tst-cancel-self-cleanup.c
tst-cancel-self-testcancel.c tst-cancel1.c tst-cancel10.c tst-cancel12.c
tst-cancel14.c tst-cancel15.c tst-cancel18.c tst-cancel19.c tst-cancel2.c
tst-cancel22.c tst-cancel23.c tst-cancel26.c tst-cancel27.c tst-cancel28.c
tst-cancel3.c tst-cancel8.c tst-cancelx1.c tst-cancelx10.c tst-cancelx12.c
tst-cancelx14.c tst-cancelx15.c tst-cancelx18.c tst-cancelx2.c tst-cancelx3.c
tst-cancelx8.c tst-cleanup0.c tst-cleanup0.expect tst-cleanup1.c tst-cleanup2.c
tst-cleanup3.c tst-cleanupx0.c tst-cleanupx0.expect tst-cleanupx1.c
tst-cleanupx2.c tst-cleanupx3.c tst-clock1.c tst-create-detached.c tst-detach1.c
tst-eintr2.c tst-eintr3.c tst-eintr4.c tst-eintr5.c tst-exec1.c tst-exec2.c
tst-exec3.c tst-exit1.c tst-exit2.c tst-exit3.c tst-flock1.c tst-fork1.c
tst-fork2.c tst-fork3.c tst-fork4.c tst-getpid3.c tst-kill1.c tst-kill2.c
tst-kill3.c tst-kill4.c tst-kill5.c tst-kill6.c tst-locale1.c tst-locale2.c
tst-memstream.c tst-popen1.c tst-raise1.c tst-sem5.c tst-setuid3.c tst-signal4.c
tst-signal5.c tst-signal6.c tst-signal8.c tst-stack1.c tst-stdio1.c tst-stdio2.c
tst-sysconf.c tst-tls1.c tst-tls2.c tst-tsd1.c tst-tsd2.c tst-tsd5.c tst-tsd6.c
tst-umask1.c tst-unload.c tst-unwind-thread.c tst-vfork1.c tst-vfork1x.c
tst-vfork2.c tst-vfork2x.c: Move tests to...
* sysdeps/pthread: ... here.
Rename
tst-popen1.c -> tst-pt-popen1.c
tst-align.c -> tst-pt-align.c
tst-align3.c -> tst-pt-align3.c
tst-sysconf.c -> tst-pt-sysconf.c
tst-tls1.c -> tst-pt-tls1.c
tst-tls2.c -> tst-pt-tls2.c
tst-vfork1.c -> tst-pt-vfork1.c
tst-vfork2.c -> tst-pt-vfork2.c
to avoid conflicting with libio/tst-popen1.c, elf/tst-align.c,
posix/tst-sysconf.c, elf/tst-tls1.c, elf/tst-tls2.c, posix/tst-vfork1.c,
posix/tst-vfork2.c.

* nptl/Makefile: Move corresponding tests references and special rules to...
* sysdeps/pthread/Makefile: ... here.

* sysdeps/pthread/tst-stack1.c (do_test): Do not clamp stack size to
PTHREAD_STACK_MIN if not defined.

Tested on linux-x86_64 and hurd-i386
---
 htl/Makefile                                  |   9 --
 nptl/Makefile                                 | 118 +++--------------
 {sysdeps/pthread => nptl}/tst-cond22.c        |   0
 {sysdeps/pthread => nptl}/tst-cond26.c        |   0
 sysdeps/pthread/Makefile                      | 120 +++++++++++++++++-
 {nptl => sysdeps/pthread}/eintr.c             |   0
 {nptl => sysdeps/pthread}/tst-atfork1.c       |   0
 {nptl => sysdeps/pthread}/tst-backtrace1.c    |   0
 {nptl => sysdeps/pthread}/tst-bad-schedattr.c |   0
 .../pthread}/tst-cancel-self-canceltype.c     |   0
 .../pthread}/tst-cancel-self-cleanup.c        |   0
 .../pthread}/tst-cancel-self-testcancel.c     |   0
 {nptl => sysdeps/pthread}/tst-cancel1.c       |   0
 {nptl => sysdeps/pthread}/tst-cancel10.c      |   0
 {nptl => sysdeps/pthread}/tst-cancel12.c      |   0
 {nptl => sysdeps/pthread}/tst-cancel14.c      |   0
 {nptl => sysdeps/pthread}/tst-cancel15.c      |   0
 {nptl => sysdeps/pthread}/tst-cancel18.c      |   0
 {nptl => sysdeps/pthread}/tst-cancel19.c      |   0
 {nptl => sysdeps/pthread}/tst-cancel2.c       |   0
 {nptl => sysdeps/pthread}/tst-cancel22.c      |   0
 {nptl => sysdeps/pthread}/tst-cancel23.c      |   0
 {nptl => sysdeps/pthread}/tst-cancel26.c      |   0
 {nptl => sysdeps/pthread}/tst-cancel27.c      |   0
 {nptl => sysdeps/pthread}/tst-cancel28.c      |   0
 {nptl => sysdeps/pthread}/tst-cancel3.c       |   0
 {nptl => sysdeps/pthread}/tst-cancel8.c       |   0
 {nptl => sysdeps/pthread}/tst-cancelx1.c      |   0
 {nptl => sysdeps/pthread}/tst-cancelx10.c     |   0
 {nptl => sysdeps/pthread}/tst-cancelx12.c     |   0
 {nptl => sysdeps/pthread}/tst-cancelx14.c     |   0
 {nptl => sysdeps/pthread}/tst-cancelx15.c     |   0
 {nptl => sysdeps/pthread}/tst-cancelx18.c     |   0
 {nptl => sysdeps/pthread}/tst-cancelx2.c      |   0
 {nptl => sysdeps/pthread}/tst-cancelx3.c      |   0
 {nptl => sysdeps/pthread}/tst-cancelx8.c      |   0
 {nptl => sysdeps/pthread}/tst-cleanup0.c      |   0
 {nptl => sysdeps/pthread}/tst-cleanup0.expect |   0
 {nptl => sysdeps/pthread}/tst-cleanup1.c      |   0
 {nptl => sysdeps/pthread}/tst-cleanup2.c      |   0
 {nptl => sysdeps/pthread}/tst-cleanup3.c      |   0
 {nptl => sysdeps/pthread}/tst-cleanupx0.c     |   0
 .../pthread}/tst-cleanupx0.expect             |   0
 {nptl => sysdeps/pthread}/tst-cleanupx1.c     |   0
 {nptl => sysdeps/pthread}/tst-cleanupx2.c     |   0
 {nptl => sysdeps/pthread}/tst-cleanupx3.c     |   0
 {nptl => sysdeps/pthread}/tst-clock1.c        |   0
 .../pthread}/tst-create-detached.c            |   0
 {nptl => sysdeps/pthread}/tst-detach1.c       |   0
 {nptl => sysdeps/pthread}/tst-eintr2.c        |   0
 {nptl => sysdeps/pthread}/tst-eintr3.c        |   0
 {nptl => sysdeps/pthread}/tst-eintr4.c        |   0
 {nptl => sysdeps/pthread}/tst-eintr5.c        |   0
 {nptl => sysdeps/pthread}/tst-exec1.c         |   0
 {nptl => sysdeps/pthread}/tst-exec2.c         |   0
 {nptl => sysdeps/pthread}/tst-exec3.c         |   0
 {nptl => sysdeps/pthread}/tst-exit1.c         |   0
 {nptl => sysdeps/pthread}/tst-exit2.c         |   0
 {nptl => sysdeps/pthread}/tst-exit3.c         |   0
 {nptl => sysdeps/pthread}/tst-flock1.c        |   0
 {nptl => sysdeps/pthread}/tst-fork1.c         |   0
 {nptl => sysdeps/pthread}/tst-fork2.c         |   0
 {nptl => sysdeps/pthread}/tst-fork3.c         |   0
 {nptl => sysdeps/pthread}/tst-fork4.c         |   0
 {nptl => sysdeps/pthread}/tst-getpid3.c       |   0
 {nptl => sysdeps/pthread}/tst-kill1.c         |   0
 {nptl => sysdeps/pthread}/tst-kill2.c         |   0
 {nptl => sysdeps/pthread}/tst-kill3.c         |   0
 {nptl => sysdeps/pthread}/tst-kill4.c         |   0
 {nptl => sysdeps/pthread}/tst-kill5.c         |   0
 {nptl => sysdeps/pthread}/tst-kill6.c         |   0
 {nptl => sysdeps/pthread}/tst-locale1.c       |   0
 {nptl => sysdeps/pthread}/tst-locale2.c       |   0
 {nptl => sysdeps/pthread}/tst-memstream.c     |   0
 .../pthread/tst-pt-align.c                    |   0
 .../pthread/tst-pt-align3.c                   |   0
 .../pthread/tst-pt-popen1.c                   |   0
 .../pthread/tst-pt-sysconf.c                  |   0
 .../pthread/tst-pt-tls1.c                     |   0
 .../pthread/tst-pt-tls2.c                     |   0
 .../pthread/tst-pt-vfork1.c                   |   0
 .../pthread/tst-pt-vfork2.c                   |   0
 {nptl => sysdeps/pthread}/tst-raise1.c        |   0
 {nptl => sysdeps/pthread}/tst-setuid3.c       |   0
 {nptl => sysdeps/pthread}/tst-signal4.c       |   0
 {nptl => sysdeps/pthread}/tst-signal5.c       |   0
 {nptl => sysdeps/pthread}/tst-signal6.c       |   0
 {nptl => sysdeps/pthread}/tst-signal8.c       |   0
 {nptl => sysdeps/pthread}/tst-stack1.c        |   5 +-
 {nptl => sysdeps/pthread}/tst-stdio1.c        |   0
 {nptl => sysdeps/pthread}/tst-stdio2.c        |   0
 {nptl => sysdeps/pthread}/tst-tsd1.c          |   0
 {nptl => sysdeps/pthread}/tst-tsd2.c          |   0
 {nptl => sysdeps/pthread}/tst-tsd5.c          |   0
 {nptl => sysdeps/pthread}/tst-tsd6.c          |   0
 {nptl => sysdeps/pthread}/tst-umask1.c        |   0
 {nptl => sysdeps/pthread}/tst-unload.c        |   0
 {nptl => sysdeps/pthread}/tst-unwind-thread.c |   0
 {nptl => sysdeps/pthread}/tst-vfork1x.c       |   0
 {nptl => sysdeps/pthread}/tst-vfork2x.c       |   0
 100 files changed, 141 insertions(+), 111 deletions(-)
 rename {sysdeps/pthread => nptl}/tst-cond22.c (100%)
 rename {sysdeps/pthread => nptl}/tst-cond26.c (100%)
 rename {nptl => sysdeps/pthread}/eintr.c (100%)
 rename {nptl => sysdeps/pthread}/tst-atfork1.c (100%)
 rename {nptl => sysdeps/pthread}/tst-backtrace1.c (100%)
 rename {nptl => sysdeps/pthread}/tst-bad-schedattr.c (100%)
 rename {nptl => sysdeps/pthread}/tst-cancel-self-canceltype.c (100%)
 rename {nptl => sysdeps/pthread}/tst-cancel-self-cleanup.c (100%)
 rename {nptl => sysdeps/pthread}/tst-cancel-self-testcancel.c (100%)
 rename {nptl => sysdeps/pthread}/tst-cancel1.c (100%)
 rename {nptl => sysdeps/pthread}/tst-cancel10.c (100%)
 rename {nptl => sysdeps/pthread}/tst-cancel12.c (100%)
 rename {nptl => sysdeps/pthread}/tst-cancel14.c (100%)
 rename {nptl => sysdeps/pthread}/tst-cancel15.c (100%)
 rename {nptl => sysdeps/pthread}/tst-cancel18.c (100%)
 rename {nptl => sysdeps/pthread}/tst-cancel19.c (100%)
 rename {nptl => sysdeps/pthread}/tst-cancel2.c (100%)
 rename {nptl => sysdeps/pthread}/tst-cancel22.c (100%)
 rename {nptl => sysdeps/pthread}/tst-cancel23.c (100%)
 rename {nptl => sysdeps/pthread}/tst-cancel26.c (100%)
 rename {nptl => sysdeps/pthread}/tst-cancel27.c (100%)
 rename {nptl => sysdeps/pthread}/tst-cancel28.c (100%)
 rename {nptl => sysdeps/pthread}/tst-cancel3.c (100%)
 rename {nptl => sysdeps/pthread}/tst-cancel8.c (100%)
 rename {nptl => sysdeps/pthread}/tst-cancelx1.c (100%)
 rename {nptl => sysdeps/pthread}/tst-cancelx10.c (100%)
 rename {nptl => sysdeps/pthread}/tst-cancelx12.c (100%)
 rename {nptl => sysdeps/pthread}/tst-cancelx14.c (100%)
 rename {nptl => sysdeps/pthread}/tst-cancelx15.c (100%)
 rename {nptl => sysdeps/pthread}/tst-cancelx18.c (100%)
 rename {nptl => sysdeps/pthread}/tst-cancelx2.c (100%)
 rename {nptl => sysdeps/pthread}/tst-cancelx3.c (100%)
 rename {nptl => sysdeps/pthread}/tst-cancelx8.c (100%)
 rename {nptl => sysdeps/pthread}/tst-cleanup0.c (100%)
 rename {nptl => sysdeps/pthread}/tst-cleanup0.expect (100%)
 rename {nptl => sysdeps/pthread}/tst-cleanup1.c (100%)
 rename {nptl => sysdeps/pthread}/tst-cleanup2.c (100%)
 rename {nptl => sysdeps/pthread}/tst-cleanup3.c (100%)
 rename {nptl => sysdeps/pthread}/tst-cleanupx0.c (100%)
 rename {nptl => sysdeps/pthread}/tst-cleanupx0.expect (100%)
 rename {nptl => sysdeps/pthread}/tst-cleanupx1.c (100%)
 rename {nptl => sysdeps/pthread}/tst-cleanupx2.c (100%)
 rename {nptl => sysdeps/pthread}/tst-cleanupx3.c (100%)
 rename {nptl => sysdeps/pthread}/tst-clock1.c (100%)
 rename {nptl => sysdeps/pthread}/tst-create-detached.c (100%)
 rename {nptl => sysdeps/pthread}/tst-detach1.c (100%)
 rename {nptl => sysdeps/pthread}/tst-eintr2.c (100%)
 rename {nptl => sysdeps/pthread}/tst-eintr3.c (100%)
 rename {nptl => sysdeps/pthread}/tst-eintr4.c (100%)
 rename {nptl => sysdeps/pthread}/tst-eintr5.c (100%)
 rename {nptl => sysdeps/pthread}/tst-exec1.c (100%)
 rename {nptl => sysdeps/pthread}/tst-exec2.c (100%)
 rename {nptl => sysdeps/pthread}/tst-exec3.c (100%)
 rename {nptl => sysdeps/pthread}/tst-exit1.c (100%)
 rename {nptl => sysdeps/pthread}/tst-exit2.c (100%)
 rename {nptl => sysdeps/pthread}/tst-exit3.c (100%)
 rename {nptl => sysdeps/pthread}/tst-flock1.c (100%)
 rename {nptl => sysdeps/pthread}/tst-fork1.c (100%)
 rename {nptl => sysdeps/pthread}/tst-fork2.c (100%)
 rename {nptl => sysdeps/pthread}/tst-fork3.c (100%)
 rename {nptl => sysdeps/pthread}/tst-fork4.c (100%)
 rename {nptl => sysdeps/pthread}/tst-getpid3.c (100%)
 rename {nptl => sysdeps/pthread}/tst-kill1.c (100%)
 rename {nptl => sysdeps/pthread}/tst-kill2.c (100%)
 rename {nptl => sysdeps/pthread}/tst-kill3.c (100%)
 rename {nptl => sysdeps/pthread}/tst-kill4.c (100%)
 rename {nptl => sysdeps/pthread}/tst-kill5.c (100%)
 rename {nptl => sysdeps/pthread}/tst-kill6.c (100%)
 rename {nptl => sysdeps/pthread}/tst-locale1.c (100%)
 rename {nptl => sysdeps/pthread}/tst-locale2.c (100%)
 rename {nptl => sysdeps/pthread}/tst-memstream.c (100%)
 rename nptl/tst-align.c => sysdeps/pthread/tst-pt-align.c (100%)
 rename nptl/tst-align3.c => sysdeps/pthread/tst-pt-align3.c (100%)
 rename nptl/tst-popen1.c => sysdeps/pthread/tst-pt-popen1.c (100%)
 rename nptl/tst-sysconf.c => sysdeps/pthread/tst-pt-sysconf.c (100%)
 rename nptl/tst-tls1.c => sysdeps/pthread/tst-pt-tls1.c (100%)
 rename nptl/tst-tls2.c => sysdeps/pthread/tst-pt-tls2.c (100%)
 rename nptl/tst-vfork1.c => sysdeps/pthread/tst-pt-vfork1.c (100%)
 rename nptl/tst-vfork2.c => sysdeps/pthread/tst-pt-vfork2.c (100%)
 rename {nptl => sysdeps/pthread}/tst-raise1.c (100%)
 rename {nptl => sysdeps/pthread}/tst-setuid3.c (100%)
 rename {nptl => sysdeps/pthread}/tst-signal4.c (100%)
 rename {nptl => sysdeps/pthread}/tst-signal5.c (100%)
 rename {nptl => sysdeps/pthread}/tst-signal6.c (100%)
 rename {nptl => sysdeps/pthread}/tst-signal8.c (100%)
 rename {nptl => sysdeps/pthread}/tst-stack1.c (96%)
 rename {nptl => sysdeps/pthread}/tst-stdio1.c (100%)
 rename {nptl => sysdeps/pthread}/tst-stdio2.c (100%)
 rename {nptl => sysdeps/pthread}/tst-tsd1.c (100%)
 rename {nptl => sysdeps/pthread}/tst-tsd2.c (100%)
 rename {nptl => sysdeps/pthread}/tst-tsd5.c (100%)
 rename {nptl => sysdeps/pthread}/tst-tsd6.c (100%)
 rename {nptl => sysdeps/pthread}/tst-umask1.c (100%)
 rename {nptl => sysdeps/pthread}/tst-unload.c (100%)
 rename {nptl => sysdeps/pthread}/tst-unwind-thread.c (100%)
 rename {nptl => sysdeps/pthread}/tst-vfork1x.c (100%)
 rename {nptl => sysdeps/pthread}/tst-vfork2x.c (100%)

-- 
2.26.2

Comments

Andreas Schwab June 8, 2020, 10:43 a.m. | #1
On Jun 07 2020, Samuel Thibault wrote:

> * htl/Makefile: Remove rules adding libpthread.so and libpthread.a to link

> lines.

> * nptl/Makefile: Move rules adding libpthread.so and libpthread.a to

> link lines to...

> * sysdeps/pthread/Makefile: ... here.


That breaks powerpc:

/usr/lib64/gcc/powerpc64-suse-linux/10/../../../../powerpc64-suse-linux/bin/ld: /home/abuild/rpmbuild/BUILD/glibc-2.31.9000.532.g314a431d37/cc-base/support/libsupport_nonshared.a(xpthread_create.oS): in function `xpthread_create':
/home/abuild/rpmbuild/BUILD/glibc-2.31.9000.532.g314a431d37/support/xpthread_create.c:26: undefined reference to `pthread_create'
/usr/lib64/gcc/powerpc64-suse-linux/10/../../../../powerpc64-suse-linux/bin/ld: /home/abuild/rpmbuild/BUILD/glibc-2.31.9000.532.g314a431d37/cc-base/support/libsupport_nonshared.a(xpthread_join.oS): in function `xpthread_join':
/home/abuild/rpmbuild/BUILD/glibc-2.31.9000.532.g314a431d37/support/xpthread_join.c:25: undefined reference to `pthread_join'
collect2: error: ld returned 1 exit status
make[2]: *** [../Rules:223: /home/abuild/rpmbuild/BUILD/glibc-2.31.9000.532.g314a431d37/cc-base/nptl/test-get_hwcap] Error 1

Andreas.

-- 
Andreas Schwab, schwab@linux-m68k.org
GPG Key fingerprint = 7578 EB47 D4E5 4D69 2510  2552 DF73 E780 A9DA AEC1
"And now for something completely different."
Samuel Thibault June 8, 2020, 11:34 a.m. | #2
Andreas Schwab, le lun. 08 juin 2020 12:43:16 +0200, a ecrit:
> On Jun 07 2020, Samuel Thibault wrote:

> 

> > * htl/Makefile: Remove rules adding libpthread.so and libpthread.a to link

> > lines.

> > * nptl/Makefile: Move rules adding libpthread.so and libpthread.a to

> > link lines to...

> > * sysdeps/pthread/Makefile: ... here.

> 

> That breaks powerpc:

[...]
> make[2]: *** [../Rules:223: /home/abuild/rpmbuild/BUILD/glibc-2.31.9000.532.g314a431d37/cc-base/nptl/test-get_hwcap] Error 1


Oh...
So it's a test added by sysdeps/powerpc/Makefile, and it seems
sysdeps/powerpc gets included *after* sysdeps/pthread, thus the missing
rules for this test. I'll copy back the rules to htl/ and nptl/ for now.

Samuel
Samuel Thibault June 8, 2020, 12:44 p.m. | #3
Samuel Thibault, le lun. 08 juin 2020 13:34:42 +0200, a ecrit:
> Andreas Schwab, le lun. 08 juin 2020 12:43:16 +0200, a ecrit:

> > On Jun 07 2020, Samuel Thibault wrote:

> > 

> > > * htl/Makefile: Remove rules adding libpthread.so and libpthread.a to link

> > > lines.

> > > * nptl/Makefile: Move rules adding libpthread.so and libpthread.a to

> > > link lines to...

> > > * sysdeps/pthread/Makefile: ... here.

> > 

> > That breaks powerpc:

> [...]

> > make[2]: *** [../Rules:223: /home/abuild/rpmbuild/BUILD/glibc-2.31.9000.532.g314a431d37/cc-base/nptl/test-get_hwcap] Error 1

> 

> Oh...

> So it's a test added by sysdeps/powerpc/Makefile, and it seems

> sysdeps/powerpc gets included *after* sysdeps/pthread, thus the missing

> rules for this test. I'll copy back the rules to htl/ and nptl/ for now.


Done so.

Samuel

Patch

diff --git a/htl/Makefile b/htl/Makefile
index 11cf87adc0..f647e4a0ca 100644
--- a/htl/Makefile
+++ b/htl/Makefile
@@ -203,12 +203,3 @@  libc-link.so = $(common-objpfx)libc.so
 extra-B-pthread.so = -B$(common-objpfx)htl/
 
 include ../Rules
-
-ifeq (yes,$(build-shared))
-$(addprefix $(objpfx), \
-  $(filter-out $(tests-static) $(xtests-static) $(tests-reverse) \
-    $(tests-nolibpthread), \
-    $(tests) $(tests-internal) $(xtests) $(test-srcs))): $(objpfx)libpthread.so
-endif
-
-$(addprefix $(objpfx),$(tests-static) $(xtests-static)): $(objpfx)libpthread.a
diff --git a/nptl/Makefile b/nptl/Makefile
index 0e835ae83f..b1e60d303f 100644
--- a/nptl/Makefile
+++ b/nptl/Makefile
@@ -276,55 +276,27 @@  tests = tst-attr2 tst-attr3 tst-default-attr \
 	tst-rwlock15 tst-rwlock17 tst-rwlock18 \
 	tst-once5 \
 	tst-sem17 \
-	tst-align tst-align3 \
-	tst-kill1 tst-kill2 tst-kill3 tst-kill4 tst-kill5 tst-kill6 \
-	tst-raise1 \
-	tst-detach1 \
-	tst-eintr2 tst-eintr3 tst-eintr4 tst-eintr5 \
-	tst-tsd1 tst-tsd2 tst-tsd3 tst-tsd4 tst-tsd5 tst-tsd6 \
-	tst-tls1 tst-tls2 \
-	tst-fork1 tst-fork2 tst-fork3 tst-fork4 \
-	tst-atfork1 \
-	tst-cancel1 tst-cancel2 tst-cancel3 tst-cancel4 tst-cancel4_1 \
-	tst-cancel4_2 tst-cancel5 \
-	tst-cancel6 tst-cancel7 tst-cancel8 tst-cancel9 tst-cancel10 \
-	tst-cancel11 tst-cancel12 tst-cancel13 tst-cancel14 tst-cancel15 \
-	tst-cancel16 tst-cancel17 tst-cancel18 tst-cancel19 tst-cancel20 \
-	tst-cancel21 tst-cancel22 tst-cancel23 tst-cancel24 \
-	tst-cancel26 tst-cancel27 tst-cancel28 \
+	tst-tsd3 tst-tsd4 \
+	tst-cancel4 tst-cancel4_1 tst-cancel4_2 tst-cancel5 \
+	tst-cancel6 tst-cancel7 tst-cancel9 tst-cancel11 tst-cancel13 \
+	tst-cancel16 tst-cancel17 tst-cancel20 tst-cancel21 tst-cancel24 \
 	tst-cancel-self tst-cancel-self-cancelstate \
-	tst-cancel-self-canceltype tst-cancel-self-testcancel \
-	tst-cleanup0 tst-cleanup1 tst-cleanup2 tst-cleanup3 tst-cleanup4 \
-	tst-flock1 tst-flock2 \
-	tst-signal1 tst-signal2 tst-signal3 tst-signal4 tst-signal5 \
-	tst-signal6 tst-signal8 \
-	tst-exec1 tst-exec2 tst-exec3 tst-exec4 tst-exec5 \
-	tst-exit1 tst-exit2 tst-exit3 \
-	tst-stdio1 tst-stdio2 \
-	tst-stack1 tst-stack2 tst-stack3 tst-stack4 \
+	tst-cleanup4 \
+	tst-flock2 \
+	tst-signal1 tst-signal2 tst-signal3 \
+	tst-exec4 tst-exec5 \
+	tst-stack2 tst-stack3 tst-stack4 \
 	tst-pthread-attr-affinity \
-	tst-unload \
 	tst-dlsym1 \
-	tst-sysconf \
-	tst-locale1 tst-locale2 \
-	tst-umask1 \
-	tst-popen1 \
-	tst-clock1 \
 	tst-context1 \
 	tst-sched1 \
-	tst-backtrace1 \
-	tst-vfork1 tst-vfork2 tst-vfork1x tst-vfork2x \
-	tst-getpid3 \
-	tst-setuid3 \
 	tst-initializers1 $(addprefix tst-initializers1-,\
 			    c89 gnu89 c99 gnu99 c11 gnu11) \
-	tst-bad-schedattr \
 	tst-thread_local1 \
-	tst-robust-fork tst-create-detached tst-memstream \
+	tst-robust-fork \
 	tst-thread-exit-clobber tst-minstack-cancel tst-minstack-exit \
 	tst-minstack-throw \
 	tst-rwlock-pwn \
-	tst-unwind-thread \
 	tst-thread-affinity-pthread \
 	tst-thread-affinity-pthread2 \
 	tst-thread-affinity-sched \
@@ -353,9 +325,6 @@  test-srcs = tst-oddstacklimit
 # 18435 - pthread_once hangs when init routine throws an exception.
 test-xfail-tst-once5 = yes
 
-# Files which must not be linked with libpthread.
-tests-nolibpthread = tst-unload
-
 gen-as-const-headers = unwindbuf.sym \
 		       pthread-pi-defines.sym
 
@@ -390,15 +359,11 @@  endif
 
 LDFLAGS-pthread.so = -Wl,--enable-new-dtags,-z,nodelete,-z,initfirst
 
-# GCC-4.9 compiles 'sprintf(NULL, ...)' into UD2 on x86_64 without -fno-builtin
-CFLAGS-tst-cleanup2.c += -fno-builtin
-CFLAGS-tst-cleanupx2.c += -fno-builtin
+tests += tst-cancelx4 tst-cancelx5 tst-cancelx6 tst-cancelx7 tst-cancelx9 \
+	 tst-cancelx11 tst-cancelx13 \
+	 tst-cancelx16 tst-cancelx17 tst-cancelx20 tst-cancelx21 \
+	 tst-cleanupx4
 
-tests += tst-cancelx2 tst-cancelx3 tst-cancelx4 tst-cancelx5 \
-	 tst-cancelx6 tst-cancelx7 tst-cancelx8 tst-cancelx9 tst-cancelx10 \
-	 tst-cancelx11 tst-cancelx12 tst-cancelx13 tst-cancelx14 tst-cancelx15 \
-	 tst-cancelx16 tst-cancelx17 tst-cancelx18 tst-cancelx20 tst-cancelx21 \
-	 tst-cleanupx0 tst-cleanupx1 tst-cleanupx2 tst-cleanupx3 tst-cleanupx4
 ifeq ($(build-shared),yes)
 tests += tst-atfork2 tst-tls4 tst-_res1 tst-fini1 tst-compat-forwarder \
 	 tst-audit-threads
@@ -466,23 +431,23 @@  CFLAGS-funlockfile.c += $(libio-mtsafe)
 link-libc-static := $(common-objpfx)libc.a $(static-gnulib) \
 		    $(common-objpfx)libc.a
 
-tests-static += tst-locale1 tst-locale2 tst-stackguard1-static \
+tests-static += tst-stackguard1-static \
 		tst-cancel21-static tst-cancel24-static \
 		tst-mutex8-static tst-mutexpi8-static tst-sem11-static \
 		tst-sem12-static tst-cond11-static
 
-tests += tst-cancel21-static tst-cancel24-static \
-	 tst-cond11-static
+tests += tst-cancel21-static tst-cancel24-static
+
 tests-internal += tst-sem11-static tst-sem12-static tst-stackguard1-static
 xtests-static += tst-setuid1-static
 
 # These tests are linked with libc before libpthread
-tests-reverse += tst-cancel5 tst-cancel23 tst-vfork1x tst-vfork2x
+tests-reverse += tst-cancel5
 
 ifeq ($(run-built-tests),yes)
 tests-special += $(objpfx)tst-stack3-mem.out $(objpfx)tst-oddstacklimit.out
 ifeq ($(build-shared),yes)
-tests-special += $(objpfx)tst-tls6.out $(objpfx)tst-cleanup0-cmp.out
+tests-special += $(objpfx)tst-tls6.out
 endif
 endif
 
@@ -520,33 +485,19 @@  CFLAGS-tst-cancelx5.c += -Wno-error
 
 # Run the cancellation and cleanup tests also for the modern, exception-based
 # implementation.  For this we have to pass the -fexceptions parameter.
-CFLAGS-tst-cancelx2.c += -fexceptions
-CFLAGS-tst-cancelx3.c += -fexceptions
 CFLAGS-tst-cancelx4.c += -fexceptions
 CFLAGS-tst-cancelx5.c += -fexceptions
 CFLAGS-tst-cancelx6.c += -fexceptions
 CFLAGS-tst-cancelx7.c += -fexceptions
-CFLAGS-tst-cancelx8.c += -fexceptions
 CFLAGS-tst-cancelx9.c += -fexceptions
-CFLAGS-tst-cancelx10.c += -fexceptions
 CFLAGS-tst-cancelx11.c += -fexceptions
-CFLAGS-tst-cancelx12.c += -fexceptions
 CFLAGS-tst-cancelx13.c += -fexceptions
-CFLAGS-tst-cancelx14.c += -fexceptions
-CFLAGS-tst-cancelx15.c += -fexceptions
 CFLAGS-tst-cancelx16.c += -fexceptions
 CFLAGS-tst-cancelx17.c += -fexceptions
-CFLAGS-tst-cancelx18.c += -fexceptions
 CFLAGS-tst-cancelx20.c += -fexceptions -fasynchronous-unwind-tables
 CFLAGS-tst-cancelx21.c += -fexceptions -fasynchronous-unwind-tables
-CFLAGS-tst-cleanupx0.c += -fexceptions -fasynchronous-unwind-tables
-CFLAGS-tst-cleanupx1.c += -fexceptions -fasynchronous-unwind-tables
-CFLAGS-tst-cleanupx2.c += -fexceptions
-CFLAGS-tst-cleanupx3.c += -fexceptions
 CFLAGS-tst-cleanupx4.c += -fexceptions
 CFLAGS-tst-cleanupx4aux.c += -fexceptions
-CFLAGS-tst-align.c += $(stack-align-test-flags)
-CFLAGS-tst-align3.c += $(stack-align-test-flags)
 CFLAGS-tst-initializers1.c += -W -Wall -Werror
 CFLAGS-tst-initializers1-< = $(CFLAGS-tst-initializers1.c) \
 			     $(patsubst tst-initializers1-%.c,-std=%,$<)
@@ -559,7 +510,6 @@  CFLAGS-tst-initializers1-gnu11.c += $(CFLAGS-tst-initializers1-<)
 
 tst-cancel7-ARGS = --command "exec $(host-test-program-cmd)"
 tst-cancelx7-ARGS = $(tst-cancel7-ARGS)
-tst-umask1-ARGS = $(objpfx)tst-umask1.temp
 
 $(objpfx)tst-atfork2: $(libdl) $(shared-thread-library)
 LDFLAGS-tst-atfork2 = -rdynamic
@@ -612,9 +562,6 @@  $(objpfx)tst-tls6.out: tst-tls6.sh $(objpfx)tst-tls5 \
 	$(BASH) $< $(common-objpfx) '$(test-via-rtld-prefix)' \
 	  '$(test-wrapper-env)' '$(run-program-env)' > $@; \
 	$(evaluate-test)
-$(objpfx)tst-cancel28: $(common-objpfx)rt/librt.so
-else
-$(objpfx)tst-cancel28: $(common-objpfx)rt/librt.a
 endif
 
 $(objpfx)tst-dlsym1: $(libdl) $(shared-thread-library)
@@ -647,36 +594,11 @@  $(objpfx)libpthread.so: $(addprefix $(objpfx),$(crti-objs) $(crtn-objs))
 $(objpfx)libpthread.so: +preinit += $(addprefix $(objpfx),$(crti-objs))
 $(objpfx)libpthread.so: +postinit += $(addprefix $(objpfx),$(crtn-objs))
 
-# Make sure we link with the thread library.
 ifeq ($(build-shared),yes)
-$(addprefix $(objpfx), \
-  $(filter-out $(tests-static) $(xtests-static) $(tests-reverse) \
-    $(tests-nolibpthread), \
-    $(tests) $(tests-internal) $(xtests) $(test-srcs) $(tests-container))): \
-	$(objpfx)libpthread.so
-$(objpfx)tst-unload: $(libdl)
-# $(objpfx)../libc.so is used instead of $(common-objpfx)libc.so,
-# since otherwise libpthread.so comes before libc.so when linking.
-$(addprefix $(objpfx), $(tests-reverse)): \
-  $(objpfx)../libc.so $(objpfx)libpthread.so
-$(objpfx)../libc.so: $(common-objpfx)libc.so ;
-$(addprefix $(objpfx),$(tests-static) $(xtests-static)): $(objpfx)libpthread.a
-
 $(objpfx)tst-atfork2.out: $(objpfx)tst-atfork2mod.so
-else
-$(addprefix $(objpfx),$(tests) $(test-srcs)): $(objpfx)libpthread.a
 endif
 
 ifeq ($(build-shared),yes)
-
-$(objpfx)tst-cleanup0.out: /dev/null $(objpfx)tst-cleanup0
-	$(make-test-out) > $@ 2>&1; \
-	$(evaluate-test)
-
-$(objpfx)tst-cleanup0-cmp.out: tst-cleanup0.expect $(objpfx)tst-cleanup0.out
-	cmp $^ > $@; \
-	$(evaluate-test)
-
 $(objpfx)crti.o: $(objpfx)pt-crti.o
 	ln -f $< $@
 
@@ -729,8 +651,6 @@  $(objpfx)tst-audit-threads: $(objpfx)tst-audit-threads-mod2.so
 $(objpfx)tst-audit-threads.out: $(objpfx)tst-audit-threads-mod1.so
 tst-audit-threads-ENV = LD_AUDIT=$(objpfx)tst-audit-threads-mod1.so
 
-CFLAGS-tst-unwind-thread.c += -funwind-tables
-
 # The test uses dlopen indirectly and would otherwise load system
 # objects.
 tst-setuid1-static-ENV = \
diff --git a/sysdeps/pthread/tst-cond22.c b/nptl/tst-cond22.c
similarity index 100%
rename from sysdeps/pthread/tst-cond22.c
rename to nptl/tst-cond22.c
diff --git a/sysdeps/pthread/tst-cond26.c b/nptl/tst-cond26.c
similarity index 100%
rename from sysdeps/pthread/tst-cond26.c
rename to nptl/tst-cond26.c
diff --git a/sysdeps/pthread/Makefile b/sysdeps/pthread/Makefile
index 1d1ddeb099..fb78e55e27 100644
--- a/sysdeps/pthread/Makefile
+++ b/sysdeps/pthread/Makefile
@@ -42,23 +42,48 @@  libpthread-routines += thrd_create thrd_detach thrd_exit thrd_join \
 tests += tst-cnd-basic tst-mtx-trylock tst-cnd-broadcast \
 	 tst-cnd-timedwait tst-thrd-detach tst-mtx-basic tst-thrd-sleep \
 	 tst-mtx-recursive tst-tss-basic tst-call-once tst-mtx-timedlock \
+	 \
+	 tst-abstime \
+	 tst-pt-align tst-pt-align3 \
 	 tst-attr1 \
+	 tst-backtrace1 \
+	 tst-bad-schedattr \
 	 tst-barrier1 tst-barrier2 tst-barrier3 tst-barrier4 \
 	 tst-basic1 tst-basic2 tst-basic3 tst-basic4 tst-basic5 tst-basic6 \
 	 tst-basic7 \
+	 tst-cancel-self-canceltype tst-cancel-self-testcancel \
+	 tst-cancel1 tst-cancel2 tst-cancel3 tst-cancel8 tst-cancel10 \
+	 tst-cancel12 tst-cancel14 tst-cancel15 tst-cancel18 tst-cancel19 \
+	 tst-cancel22 tst-cancel23 tst-cancel26 tst-cancel27 tst-cancel28 \
+	 tst-cleanup0 tst-cleanup1 tst-cleanup2 tst-cleanup3 \
+	 tst-clock1 \
+	 tst-cond-except \
 	 tst-cond1 tst-cond2 tst-cond3 tst-cond4 tst-cond5 tst-cond6 tst-cond7 \
 	 tst-cond8 tst-cond9 tst-cond10 tst-cond11 tst-cond12 tst-cond13 \
 	 tst-cond14 tst-cond15 tst-cond16 tst-cond17 tst-cond18 tst-cond19 \
 	 tst-cond20 tst-cond21 tst-cond23 tst-cond24 tst-cond25 tst-cond27 \
-	 tst-cond-except \
+	 tst-create-detached \
+	 tst-detach1 \
+	 tst-eintr2 tst-eintr3 tst-eintr4 tst-eintr5 \
+	 tst-exec1 tst-exec2 tst-exec3 \
+	 tst-exit1 tst-exit2 tst-exit3 \
+	 tst-flock1 \
+	 tst-fork1 tst-fork2 tst-fork3 tst-fork4 \
+	 tst-atfork1 \
+	 tst-getpid3 \
 	 tst-join1 tst-join2 tst-join3 tst-join4 tst-join5 tst-join6 tst-join7 \
 	 tst-join8 tst-join9 tst-join10 tst-join11 tst-join12 tst-join13 \
 	 tst-join14 \
 	 tst-key1 tst-key2 tst-key3 tst-key4 \
+	 tst-kill1 tst-kill2 tst-kill3 tst-kill4 tst-kill5 tst-kill6 \
+	 tst-locale1 tst-locale2 \
+	 tst-memstream \
 	 tst-mutex-errorcheck tst-mutex1 tst-mutex2 tst-mutex3 tst-mutex4 \
 	 tst-mutex5 tst-mutex6 tst-mutex7 tst-mutex7robust tst-mutex9 \
 	 tst-mutex10 tst-mutex11 tst-pthread-mutexattr \
 	 tst-once1 tst-once2 tst-once3 tst-once4 \
+	 tst-pt-popen1 \
+	 tst-raise1 \
 	 tst-robust1 tst-robust2 tst-robust3 tst-robust4 tst-robust5 \
 	 tst-robust6 tst-robust7 tst-robust9 tst-robust10 \
 	 tst-rwlock1 tst-rwlock4 tst-rwlock5 tst-rwlock12 \
@@ -66,8 +91,79 @@  tests += tst-cnd-basic tst-mtx-trylock tst-cnd-broadcast \
 	 tst-rwlock-tryrdlock-stall tst-rwlock-trywrlock-stall \
 	 tst-sem1 tst-sem2 tst-sem3 tst-sem4 tst-sem5 tst-sem6 tst-sem7 \
 	 tst-sem8 tst-sem9 tst-sem10 tst-sem14 tst-sem15 tst-sem16 \
+	 tst-setuid3 \
+	 tst-signal4 tst-signal5 tst-signal6 tst-signal8 \
 	 tst-spin1 tst-spin2 tst-spin3 tst-spin4 \
-	 tst-abstime
+	 tst-stack1 \
+	 tst-stdio1 tst-stdio2 \
+	 tst-pt-sysconf \
+	 tst-pt-tls1 tst-pt-tls2 \
+	 tst-tsd1 tst-tsd2 tst-tsd5 tst-tsd6 \
+	 tst-umask1 \
+	 tst-unload \
+	 tst-unwind-thread \
+	 tst-pt-vfork1 tst-pt-vfork2 tst-vfork1x tst-vfork2x \
+
+
+# Files which must not be linked with libpthread.
+tests-nolibpthread = tst-unload
+
+# GCC-4.9 compiles 'sprintf(NULL, ...)' into UD2 on x86_64 without -fno-builtin
+CFLAGS-tst-cleanup2.c += -fno-builtin
+CFLAGS-tst-cleanupx2.c += -fno-builtin
+
+tests += tst-cancelx2 tst-cancelx3 tst-cancelx8 tst-cancelx10 \
+	 tst-cancelx12 tst-cancelx14 tst-cancelx15 tst-cancelx18 \
+	 tst-cleanupx0 tst-cleanupx1 tst-cleanupx2 tst-cleanupx3
+
+tests-static += tst-locale1 tst-locale2
+
+tests += tst-cond11-static
+
+
+# These tests are linked with libc before libpthread
+tests-reverse += tst-cancel23 tst-vfork1x tst-vfork2x
+
+ifeq ($(run-built-tests),yes)
+ifeq ($(build-shared),yes)
+tests-special += $(objpfx)tst-cleanup0-cmp.out
+endif
+endif
+
+# Run the cancellation and cleanup tests also for the modern, exception-based
+# implementation.  For this we have to pass the -fexceptions parameter.
+CFLAGS-tst-cancelx2.c += -fexceptions
+CFLAGS-tst-cancelx3.c += -fexceptions
+CFLAGS-tst-cancelx8.c += -fexceptions
+CFLAGS-tst-cancelx10.c += -fexceptions
+CFLAGS-tst-cancelx12.c += -fexceptions
+CFLAGS-tst-cancelx14.c += -fexceptions
+CFLAGS-tst-cancelx15.c += -fexceptions
+CFLAGS-tst-cancelx18.c += -fexceptions
+CFLAGS-tst-cleanupx0.c += -fexceptions -fasynchronous-unwind-tables
+CFLAGS-tst-cleanupx1.c += -fexceptions -fasynchronous-unwind-tables
+CFLAGS-tst-cleanupx2.c += -fexceptions
+CFLAGS-tst-cleanupx3.c += -fexceptions
+CFLAGS-tst-pt-align.c += $(stack-align-test-flags)
+CFLAGS-tst-pt-align3.c += $(stack-align-test-flags)
+
+tst-umask1-ARGS = $(objpfx)tst-umask1.temp
+
+ifeq ($(build-shared),yes)
+$(objpfx)tst-cleanup0.out: /dev/null $(objpfx)tst-cleanup0
+	$(make-test-out) > $@ 2>&1; \
+	$(evaluate-test)
+
+$(objpfx)tst-cleanup0-cmp.out: $(..)sysdeps/pthread/tst-cleanup0.expect $(objpfx)tst-cleanup0.out
+	cmp $^ > $@; \
+	$(evaluate-test)
+
+$(objpfx)tst-cancel28: $(common-objpfx)rt/librt.so
+else
+$(objpfx)tst-cancel28: $(common-objpfx)rt/librt.a
+endif
+
+
 
 tests-internal += tst-robust8
 
@@ -88,4 +184,24 @@  $(objpfx)tst-join7.out: $(objpfx)tst-join7mod.so
 $(objpfx)tst-join7mod.so: $(shared-thread-library)
 LDFLAGS-tst-join7mod.so = -Wl,-soname,tst-join7mod.so
 
+CFLAGS-tst-unwind-thread.c += -funwind-tables
+
+# Make sure we link with the thread library.
+ifeq ($(build-shared),yes)
+$(addprefix $(objpfx), \
+  $(filter-out $(tests-static) $(xtests-static) $(tests-reverse) \
+    $(tests-nolibpthread), \
+    $(tests) $(tests-internal) $(xtests) $(test-srcs) $(tests-container))): \
+	$(objpfx)libpthread.so
+$(objpfx)tst-unload: $(libdl)
+# $(objpfx)../libc.so is used instead of $(common-objpfx)libc.so,
+# since otherwise libpthread.so comes before libc.so when linking.
+$(addprefix $(objpfx), $(tests-reverse)): \
+  $(objpfx)../libc.so $(objpfx)libpthread.so
+$(objpfx)../libc.so: $(common-objpfx)libc.so ;
+$(addprefix $(objpfx),$(tests-static) $(xtests-static)): $(objpfx)libpthread.a
+else
+$(addprefix $(objpfx),$(tests) $(test-srcs)): $(objpfx)libpthread.a
+endif
+
 endif
diff --git a/nptl/eintr.c b/sysdeps/pthread/eintr.c
similarity index 100%
rename from nptl/eintr.c
rename to sysdeps/pthread/eintr.c
diff --git a/nptl/tst-atfork1.c b/sysdeps/pthread/tst-atfork1.c
similarity index 100%
rename from nptl/tst-atfork1.c
rename to sysdeps/pthread/tst-atfork1.c
diff --git a/nptl/tst-backtrace1.c b/sysdeps/pthread/tst-backtrace1.c
similarity index 100%
rename from nptl/tst-backtrace1.c
rename to sysdeps/pthread/tst-backtrace1.c
diff --git a/nptl/tst-bad-schedattr.c b/sysdeps/pthread/tst-bad-schedattr.c
similarity index 100%
rename from nptl/tst-bad-schedattr.c
rename to sysdeps/pthread/tst-bad-schedattr.c
diff --git a/nptl/tst-cancel-self-canceltype.c b/sysdeps/pthread/tst-cancel-self-canceltype.c
similarity index 100%
rename from nptl/tst-cancel-self-canceltype.c
rename to sysdeps/pthread/tst-cancel-self-canceltype.c
diff --git a/nptl/tst-cancel-self-cleanup.c b/sysdeps/pthread/tst-cancel-self-cleanup.c
similarity index 100%
rename from nptl/tst-cancel-self-cleanup.c
rename to sysdeps/pthread/tst-cancel-self-cleanup.c
diff --git a/nptl/tst-cancel-self-testcancel.c b/sysdeps/pthread/tst-cancel-self-testcancel.c
similarity index 100%
rename from nptl/tst-cancel-self-testcancel.c
rename to sysdeps/pthread/tst-cancel-self-testcancel.c
diff --git a/nptl/tst-cancel1.c b/sysdeps/pthread/tst-cancel1.c
similarity index 100%
rename from nptl/tst-cancel1.c
rename to sysdeps/pthread/tst-cancel1.c
diff --git a/nptl/tst-cancel10.c b/sysdeps/pthread/tst-cancel10.c
similarity index 100%
rename from nptl/tst-cancel10.c
rename to sysdeps/pthread/tst-cancel10.c
diff --git a/nptl/tst-cancel12.c b/sysdeps/pthread/tst-cancel12.c
similarity index 100%
rename from nptl/tst-cancel12.c
rename to sysdeps/pthread/tst-cancel12.c
diff --git a/nptl/tst-cancel14.c b/sysdeps/pthread/tst-cancel14.c
similarity index 100%
rename from nptl/tst-cancel14.c
rename to sysdeps/pthread/tst-cancel14.c
diff --git a/nptl/tst-cancel15.c b/sysdeps/pthread/tst-cancel15.c
similarity index 100%
rename from nptl/tst-cancel15.c
rename to sysdeps/pthread/tst-cancel15.c
diff --git a/nptl/tst-cancel18.c b/sysdeps/pthread/tst-cancel18.c
similarity index 100%
rename from nptl/tst-cancel18.c
rename to sysdeps/pthread/tst-cancel18.c
diff --git a/nptl/tst-cancel19.c b/sysdeps/pthread/tst-cancel19.c
similarity index 100%
rename from nptl/tst-cancel19.c
rename to sysdeps/pthread/tst-cancel19.c
diff --git a/nptl/tst-cancel2.c b/sysdeps/pthread/tst-cancel2.c
similarity index 100%
rename from nptl/tst-cancel2.c
rename to sysdeps/pthread/tst-cancel2.c
diff --git a/nptl/tst-cancel22.c b/sysdeps/pthread/tst-cancel22.c
similarity index 100%
rename from nptl/tst-cancel22.c
rename to sysdeps/pthread/tst-cancel22.c
diff --git a/nptl/tst-cancel23.c b/sysdeps/pthread/tst-cancel23.c
similarity index 100%
rename from nptl/tst-cancel23.c
rename to sysdeps/pthread/tst-cancel23.c
diff --git a/nptl/tst-cancel26.c b/sysdeps/pthread/tst-cancel26.c
similarity index 100%
rename from nptl/tst-cancel26.c
rename to sysdeps/pthread/tst-cancel26.c
diff --git a/nptl/tst-cancel27.c b/sysdeps/pthread/tst-cancel27.c
similarity index 100%
rename from nptl/tst-cancel27.c
rename to sysdeps/pthread/tst-cancel27.c
diff --git a/nptl/tst-cancel28.c b/sysdeps/pthread/tst-cancel28.c
similarity index 100%
rename from nptl/tst-cancel28.c
rename to sysdeps/pthread/tst-cancel28.c
diff --git a/nptl/tst-cancel3.c b/sysdeps/pthread/tst-cancel3.c
similarity index 100%
rename from nptl/tst-cancel3.c
rename to sysdeps/pthread/tst-cancel3.c
diff --git a/nptl/tst-cancel8.c b/sysdeps/pthread/tst-cancel8.c
similarity index 100%
rename from nptl/tst-cancel8.c
rename to sysdeps/pthread/tst-cancel8.c
diff --git a/nptl/tst-cancelx1.c b/sysdeps/pthread/tst-cancelx1.c
similarity index 100%
rename from nptl/tst-cancelx1.c
rename to sysdeps/pthread/tst-cancelx1.c
diff --git a/nptl/tst-cancelx10.c b/sysdeps/pthread/tst-cancelx10.c
similarity index 100%
rename from nptl/tst-cancelx10.c
rename to sysdeps/pthread/tst-cancelx10.c
diff --git a/nptl/tst-cancelx12.c b/sysdeps/pthread/tst-cancelx12.c
similarity index 100%
rename from nptl/tst-cancelx12.c
rename to sysdeps/pthread/tst-cancelx12.c
diff --git a/nptl/tst-cancelx14.c b/sysdeps/pthread/tst-cancelx14.c
similarity index 100%
rename from nptl/tst-cancelx14.c
rename to sysdeps/pthread/tst-cancelx14.c
diff --git a/nptl/tst-cancelx15.c b/sysdeps/pthread/tst-cancelx15.c
similarity index 100%
rename from nptl/tst-cancelx15.c
rename to sysdeps/pthread/tst-cancelx15.c
diff --git a/nptl/tst-cancelx18.c b/sysdeps/pthread/tst-cancelx18.c
similarity index 100%
rename from nptl/tst-cancelx18.c
rename to sysdeps/pthread/tst-cancelx18.c
diff --git a/nptl/tst-cancelx2.c b/sysdeps/pthread/tst-cancelx2.c
similarity index 100%
rename from nptl/tst-cancelx2.c
rename to sysdeps/pthread/tst-cancelx2.c
diff --git a/nptl/tst-cancelx3.c b/sysdeps/pthread/tst-cancelx3.c
similarity index 100%
rename from nptl/tst-cancelx3.c
rename to sysdeps/pthread/tst-cancelx3.c
diff --git a/nptl/tst-cancelx8.c b/sysdeps/pthread/tst-cancelx8.c
similarity index 100%
rename from nptl/tst-cancelx8.c
rename to sysdeps/pthread/tst-cancelx8.c
diff --git a/nptl/tst-cleanup0.c b/sysdeps/pthread/tst-cleanup0.c
similarity index 100%
rename from nptl/tst-cleanup0.c
rename to sysdeps/pthread/tst-cleanup0.c
diff --git a/nptl/tst-cleanup0.expect b/sysdeps/pthread/tst-cleanup0.expect
similarity index 100%
rename from nptl/tst-cleanup0.expect
rename to sysdeps/pthread/tst-cleanup0.expect
diff --git a/nptl/tst-cleanup1.c b/sysdeps/pthread/tst-cleanup1.c
similarity index 100%
rename from nptl/tst-cleanup1.c
rename to sysdeps/pthread/tst-cleanup1.c
diff --git a/nptl/tst-cleanup2.c b/sysdeps/pthread/tst-cleanup2.c
similarity index 100%
rename from nptl/tst-cleanup2.c
rename to sysdeps/pthread/tst-cleanup2.c
diff --git a/nptl/tst-cleanup3.c b/sysdeps/pthread/tst-cleanup3.c
similarity index 100%
rename from nptl/tst-cleanup3.c
rename to sysdeps/pthread/tst-cleanup3.c
diff --git a/nptl/tst-cleanupx0.c b/sysdeps/pthread/tst-cleanupx0.c
similarity index 100%
rename from nptl/tst-cleanupx0.c
rename to sysdeps/pthread/tst-cleanupx0.c
diff --git a/nptl/tst-cleanupx0.expect b/sysdeps/pthread/tst-cleanupx0.expect
similarity index 100%
rename from nptl/tst-cleanupx0.expect
rename to sysdeps/pthread/tst-cleanupx0.expect
diff --git a/nptl/tst-cleanupx1.c b/sysdeps/pthread/tst-cleanupx1.c
similarity index 100%
rename from nptl/tst-cleanupx1.c
rename to sysdeps/pthread/tst-cleanupx1.c
diff --git a/nptl/tst-cleanupx2.c b/sysdeps/pthread/tst-cleanupx2.c
similarity index 100%
rename from nptl/tst-cleanupx2.c
rename to sysdeps/pthread/tst-cleanupx2.c
diff --git a/nptl/tst-cleanupx3.c b/sysdeps/pthread/tst-cleanupx3.c
similarity index 100%
rename from nptl/tst-cleanupx3.c
rename to sysdeps/pthread/tst-cleanupx3.c
diff --git a/nptl/tst-clock1.c b/sysdeps/pthread/tst-clock1.c
similarity index 100%
rename from nptl/tst-clock1.c
rename to sysdeps/pthread/tst-clock1.c
diff --git a/nptl/tst-create-detached.c b/sysdeps/pthread/tst-create-detached.c
similarity index 100%
rename from nptl/tst-create-detached.c
rename to sysdeps/pthread/tst-create-detached.c
diff --git a/nptl/tst-detach1.c b/sysdeps/pthread/tst-detach1.c
similarity index 100%
rename from nptl/tst-detach1.c
rename to sysdeps/pthread/tst-detach1.c
diff --git a/nptl/tst-eintr2.c b/sysdeps/pthread/tst-eintr2.c
similarity index 100%
rename from nptl/tst-eintr2.c
rename to sysdeps/pthread/tst-eintr2.c
diff --git a/nptl/tst-eintr3.c b/sysdeps/pthread/tst-eintr3.c
similarity index 100%
rename from nptl/tst-eintr3.c
rename to sysdeps/pthread/tst-eintr3.c
diff --git a/nptl/tst-eintr4.c b/sysdeps/pthread/tst-eintr4.c
similarity index 100%
rename from nptl/tst-eintr4.c
rename to sysdeps/pthread/tst-eintr4.c
diff --git a/nptl/tst-eintr5.c b/sysdeps/pthread/tst-eintr5.c
similarity index 100%
rename from nptl/tst-eintr5.c
rename to sysdeps/pthread/tst-eintr5.c
diff --git a/nptl/tst-exec1.c b/sysdeps/pthread/tst-exec1.c
similarity index 100%
rename from nptl/tst-exec1.c
rename to sysdeps/pthread/tst-exec1.c
diff --git a/nptl/tst-exec2.c b/sysdeps/pthread/tst-exec2.c
similarity index 100%
rename from nptl/tst-exec2.c
rename to sysdeps/pthread/tst-exec2.c
diff --git a/nptl/tst-exec3.c b/sysdeps/pthread/tst-exec3.c
similarity index 100%
rename from nptl/tst-exec3.c
rename to sysdeps/pthread/tst-exec3.c
diff --git a/nptl/tst-exit1.c b/sysdeps/pthread/tst-exit1.c
similarity index 100%
rename from nptl/tst-exit1.c
rename to sysdeps/pthread/tst-exit1.c
diff --git a/nptl/tst-exit2.c b/sysdeps/pthread/tst-exit2.c
similarity index 100%
rename from nptl/tst-exit2.c
rename to sysdeps/pthread/tst-exit2.c
diff --git a/nptl/tst-exit3.c b/sysdeps/pthread/tst-exit3.c
similarity index 100%
rename from nptl/tst-exit3.c
rename to sysdeps/pthread/tst-exit3.c
diff --git a/nptl/tst-flock1.c b/sysdeps/pthread/tst-flock1.c
similarity index 100%
rename from nptl/tst-flock1.c
rename to sysdeps/pthread/tst-flock1.c
diff --git a/nptl/tst-fork1.c b/sysdeps/pthread/tst-fork1.c
similarity index 100%
rename from nptl/tst-fork1.c
rename to sysdeps/pthread/tst-fork1.c
diff --git a/nptl/tst-fork2.c b/sysdeps/pthread/tst-fork2.c
similarity index 100%
rename from nptl/tst-fork2.c
rename to sysdeps/pthread/tst-fork2.c
diff --git a/nptl/tst-fork3.c b/sysdeps/pthread/tst-fork3.c
similarity index 100%
rename from nptl/tst-fork3.c
rename to sysdeps/pthread/tst-fork3.c
diff --git a/nptl/tst-fork4.c b/sysdeps/pthread/tst-fork4.c
similarity index 100%
rename from nptl/tst-fork4.c
rename to sysdeps/pthread/tst-fork4.c
diff --git a/nptl/tst-getpid3.c b/sysdeps/pthread/tst-getpid3.c
similarity index 100%
rename from nptl/tst-getpid3.c
rename to sysdeps/pthread/tst-getpid3.c
diff --git a/nptl/tst-kill1.c b/sysdeps/pthread/tst-kill1.c
similarity index 100%
rename from nptl/tst-kill1.c
rename to sysdeps/pthread/tst-kill1.c
diff --git a/nptl/tst-kill2.c b/sysdeps/pthread/tst-kill2.c
similarity index 100%
rename from nptl/tst-kill2.c
rename to sysdeps/pthread/tst-kill2.c
diff --git a/nptl/tst-kill3.c b/sysdeps/pthread/tst-kill3.c
similarity index 100%
rename from nptl/tst-kill3.c
rename to sysdeps/pthread/tst-kill3.c
diff --git a/nptl/tst-kill4.c b/sysdeps/pthread/tst-kill4.c
similarity index 100%
rename from nptl/tst-kill4.c
rename to sysdeps/pthread/tst-kill4.c
diff --git a/nptl/tst-kill5.c b/sysdeps/pthread/tst-kill5.c
similarity index 100%
rename from nptl/tst-kill5.c
rename to sysdeps/pthread/tst-kill5.c
diff --git a/nptl/tst-kill6.c b/sysdeps/pthread/tst-kill6.c
similarity index 100%
rename from nptl/tst-kill6.c
rename to sysdeps/pthread/tst-kill6.c
diff --git a/nptl/tst-locale1.c b/sysdeps/pthread/tst-locale1.c
similarity index 100%
rename from nptl/tst-locale1.c
rename to sysdeps/pthread/tst-locale1.c
diff --git a/nptl/tst-locale2.c b/sysdeps/pthread/tst-locale2.c
similarity index 100%
rename from nptl/tst-locale2.c
rename to sysdeps/pthread/tst-locale2.c
diff --git a/nptl/tst-memstream.c b/sysdeps/pthread/tst-memstream.c
similarity index 100%
rename from nptl/tst-memstream.c
rename to sysdeps/pthread/tst-memstream.c
diff --git a/nptl/tst-align.c b/sysdeps/pthread/tst-pt-align.c
similarity index 100%
rename from nptl/tst-align.c
rename to sysdeps/pthread/tst-pt-align.c
diff --git a/nptl/tst-align3.c b/sysdeps/pthread/tst-pt-align3.c
similarity index 100%
rename from nptl/tst-align3.c
rename to sysdeps/pthread/tst-pt-align3.c
diff --git a/nptl/tst-popen1.c b/sysdeps/pthread/tst-pt-popen1.c
similarity index 100%
rename from nptl/tst-popen1.c
rename to sysdeps/pthread/tst-pt-popen1.c
diff --git a/nptl/tst-sysconf.c b/sysdeps/pthread/tst-pt-sysconf.c
similarity index 100%
rename from nptl/tst-sysconf.c
rename to sysdeps/pthread/tst-pt-sysconf.c
diff --git a/nptl/tst-tls1.c b/sysdeps/pthread/tst-pt-tls1.c
similarity index 100%
rename from nptl/tst-tls1.c
rename to sysdeps/pthread/tst-pt-tls1.c
diff --git a/nptl/tst-tls2.c b/sysdeps/pthread/tst-pt-tls2.c
similarity index 100%
rename from nptl/tst-tls2.c
rename to sysdeps/pthread/tst-pt-tls2.c
diff --git a/nptl/tst-vfork1.c b/sysdeps/pthread/tst-pt-vfork1.c
similarity index 100%
rename from nptl/tst-vfork1.c
rename to sysdeps/pthread/tst-pt-vfork1.c
diff --git a/nptl/tst-vfork2.c b/sysdeps/pthread/tst-pt-vfork2.c
similarity index 100%
rename from nptl/tst-vfork2.c
rename to sysdeps/pthread/tst-pt-vfork2.c
diff --git a/nptl/tst-raise1.c b/sysdeps/pthread/tst-raise1.c
similarity index 100%
rename from nptl/tst-raise1.c
rename to sysdeps/pthread/tst-raise1.c
diff --git a/nptl/tst-setuid3.c b/sysdeps/pthread/tst-setuid3.c
similarity index 100%
rename from nptl/tst-setuid3.c
rename to sysdeps/pthread/tst-setuid3.c
diff --git a/nptl/tst-signal4.c b/sysdeps/pthread/tst-signal4.c
similarity index 100%
rename from nptl/tst-signal4.c
rename to sysdeps/pthread/tst-signal4.c
diff --git a/nptl/tst-signal5.c b/sysdeps/pthread/tst-signal5.c
similarity index 100%
rename from nptl/tst-signal5.c
rename to sysdeps/pthread/tst-signal5.c
diff --git a/nptl/tst-signal6.c b/sysdeps/pthread/tst-signal6.c
similarity index 100%
rename from nptl/tst-signal6.c
rename to sysdeps/pthread/tst-signal6.c
diff --git a/nptl/tst-signal8.c b/sysdeps/pthread/tst-signal8.c
similarity index 100%
rename from nptl/tst-signal8.c
rename to sysdeps/pthread/tst-signal8.c
diff --git a/nptl/tst-stack1.c b/sysdeps/pthread/tst-stack1.c
similarity index 96%
rename from nptl/tst-stack1.c
rename to sysdeps/pthread/tst-stack1.c
index e9d795c71f..7285a9cbc9 100644
--- a/nptl/tst-stack1.c
+++ b/sysdeps/pthread/tst-stack1.c
@@ -75,7 +75,10 @@  do_test (void)
 {
   int result = 0;
 
-  size = MAX (4 * getpagesize (), PTHREAD_STACK_MIN);
+  size = 4 * getpagesize ();
+#ifdef PTHREAD_STACK_MIN
+  size = MAX (size, PTHREAD_STACK_MIN);
+#endif
   if (posix_memalign (&stack, getpagesize (), size) != 0)
     {
       puts ("out of memory while allocating the stack memory");
diff --git a/nptl/tst-stdio1.c b/sysdeps/pthread/tst-stdio1.c
similarity index 100%
rename from nptl/tst-stdio1.c
rename to sysdeps/pthread/tst-stdio1.c
diff --git a/nptl/tst-stdio2.c b/sysdeps/pthread/tst-stdio2.c
similarity index 100%
rename from nptl/tst-stdio2.c
rename to sysdeps/pthread/tst-stdio2.c
diff --git a/nptl/tst-tsd1.c b/sysdeps/pthread/tst-tsd1.c
similarity index 100%
rename from nptl/tst-tsd1.c
rename to sysdeps/pthread/tst-tsd1.c
diff --git a/nptl/tst-tsd2.c b/sysdeps/pthread/tst-tsd2.c
similarity index 100%
rename from nptl/tst-tsd2.c
rename to sysdeps/pthread/tst-tsd2.c
diff --git a/nptl/tst-tsd5.c b/sysdeps/pthread/tst-tsd5.c
similarity index 100%
rename from nptl/tst-tsd5.c
rename to sysdeps/pthread/tst-tsd5.c
diff --git a/nptl/tst-tsd6.c b/sysdeps/pthread/tst-tsd6.c
similarity index 100%
rename from nptl/tst-tsd6.c
rename to sysdeps/pthread/tst-tsd6.c
diff --git a/nptl/tst-umask1.c b/sysdeps/pthread/tst-umask1.c
similarity index 100%
rename from nptl/tst-umask1.c
rename to sysdeps/pthread/tst-umask1.c
diff --git a/nptl/tst-unload.c b/sysdeps/pthread/tst-unload.c
similarity index 100%
rename from nptl/tst-unload.c
rename to sysdeps/pthread/tst-unload.c
diff --git a/nptl/tst-unwind-thread.c b/sysdeps/pthread/tst-unwind-thread.c
similarity index 100%
rename from nptl/tst-unwind-thread.c
rename to sysdeps/pthread/tst-unwind-thread.c
diff --git a/nptl/tst-vfork1x.c b/sysdeps/pthread/tst-vfork1x.c
similarity index 100%
rename from nptl/tst-vfork1x.c
rename to sysdeps/pthread/tst-vfork1x.c
diff --git a/nptl/tst-vfork2x.c b/sysdeps/pthread/tst-vfork2x.c
similarity index 100%
rename from nptl/tst-vfork2x.c
rename to sysdeps/pthread/tst-vfork2x.c