diff --git a/nptl/sysdeps/pthread/list.h b/include/list.h
similarity index 100%
rename from nptl/sysdeps/pthread/list.h
rename to include/list.h
diff --git a/nptl/sysdeps/pthread/createthread.c b/nptl/createthread.c
similarity index 100%
rename from nptl/sysdeps/pthread/createthread.c
rename to nptl/createthread.c
diff --git a/nptl/sysdeps/pthread/pt-longjmp.c b/nptl/pt-longjmp.c
similarity index 100%
rename from nptl/sysdeps/pthread/pt-longjmp.c
rename to nptl/pt-longjmp.c
diff --git a/nptl/sysdeps/unix/sysv/linux/createthread.c b/nptl/sysdeps/unix/sysv/linux/createthread.c
index c2f0902..9a21f39 100644
--- a/nptl/sysdeps/unix/sysv/linux/createthread.c
+++ b/nptl/sysdeps/unix/sysv/linux/createthread.c
@@ -20,4 +20,4 @@
 #define TLS_VALUE pd
 
 /* Get the real implementation.	 */
-#include <nptl/sysdeps/pthread/createthread.c>
+#include <nptl/createthread.c>
diff --git a/nptl/sysdeps/unix/sysv/linux/Implies b/sysdeps/nptl/Implies
similarity index 100%
rename from nptl/sysdeps/unix/sysv/linux/Implies
rename to sysdeps/nptl/Implies
diff --git a/nptl/sysdeps/pthread/Makefile b/sysdeps/nptl/Makefile
similarity index 88%
rename from nptl/sysdeps/pthread/Makefile
rename to sysdeps/nptl/Makefile
index 60d525e..bedf39b 100644
--- a/nptl/sysdeps/pthread/Makefile
+++ b/sysdeps/nptl/Makefile
@@ -24,12 +24,6 @@ ifeq ($(subdir),rt)
 librt-sysdep_routines += timer_routines librt-cancellation
 CFLAGS-librt-cancellation.c += -fexceptions -fasynchronous-unwind-tables
 
-ifeq (yes,$(build-shared))
-$(objpfx)tst-timer: $(objpfx)librt.so $(shared-thread-library)
-else
-$(objpfx)tst-timer: $(objpfx)librt.a $(static-thread-library)
-endif
-
 ifeq ($(have-forced-unwind),yes)
 tests += tst-mqueue8x
 CFLAGS-tst-mqueue8x.c += -fexceptions
diff --git a/nptl/sysdeps/pthread/Subdirs b/sysdeps/nptl/Subdirs
similarity index 100%
rename from nptl/sysdeps/pthread/Subdirs
rename to sysdeps/nptl/Subdirs
diff --git a/nptl/sysdeps/pthread/aio_misc.h b/sysdeps/nptl/aio_misc.h
similarity index 100%
rename from nptl/sysdeps/pthread/aio_misc.h
rename to sysdeps/nptl/aio_misc.h
diff --git a/nptl/sysdeps/pthread/bits/libc-lock.h b/sysdeps/nptl/bits/libc-lock.h
similarity index 100%
rename from nptl/sysdeps/pthread/bits/libc-lock.h
rename to sysdeps/nptl/bits/libc-lock.h
diff --git a/nptl/sysdeps/pthread/bits/libc-lockP.h b/sysdeps/nptl/bits/libc-lockP.h
similarity index 100%
rename from nptl/sysdeps/pthread/bits/libc-lockP.h
rename to sysdeps/nptl/bits/libc-lockP.h
diff --git a/nptl/sysdeps/pthread/bits/stdio-lock.h b/sysdeps/nptl/bits/stdio-lock.h
similarity index 100%
rename from nptl/sysdeps/pthread/bits/stdio-lock.h
rename to sysdeps/nptl/bits/stdio-lock.h
diff --git a/nptl/sysdeps/pthread/configure b/sysdeps/nptl/configure
similarity index 100%
rename from nptl/sysdeps/pthread/configure
rename to sysdeps/nptl/configure
diff --git a/nptl/sysdeps/pthread/configure.ac b/sysdeps/nptl/configure.ac
similarity index 100%
rename from nptl/sysdeps/pthread/configure.ac
rename to sysdeps/nptl/configure.ac
diff --git a/nptl/sysdeps/pthread/gai_misc.h b/sysdeps/nptl/gai_misc.h
similarity index 100%
rename from nptl/sysdeps/pthread/gai_misc.h
rename to sysdeps/nptl/gai_misc.h
diff --git a/nptl/sysdeps/pthread/librt-cancellation.c b/sysdeps/nptl/librt-cancellation.c
similarity index 100%
rename from nptl/sysdeps/pthread/librt-cancellation.c
rename to sysdeps/nptl/librt-cancellation.c
diff --git a/nptl/sysdeps/pthread/malloc-machine.h b/sysdeps/nptl/malloc-machine.h
similarity index 100%
rename from nptl/sysdeps/pthread/malloc-machine.h
rename to sysdeps/nptl/malloc-machine.h
diff --git a/nptl/sysdeps/pthread/pthread-functions.h b/sysdeps/nptl/pthread-functions.h
similarity index 100%
rename from nptl/sysdeps/pthread/pthread-functions.h
rename to sysdeps/nptl/pthread-functions.h
diff --git a/nptl/sysdeps/pthread/pthread.h b/sysdeps/nptl/pthread.h
similarity index 100%
rename from nptl/sysdeps/pthread/pthread.h
rename to sysdeps/nptl/pthread.h
diff --git a/nptl/sysdeps/pthread/setxid.h b/sysdeps/nptl/setxid.h
similarity index 100%
rename from nptl/sysdeps/pthread/setxid.h
rename to sysdeps/nptl/setxid.h
diff --git a/nptl/sysdeps/pthread/sigfillset.c b/sysdeps/nptl/sigfillset.c
similarity index 100%
rename from nptl/sysdeps/pthread/sigfillset.c
rename to sysdeps/nptl/sigfillset.c
diff --git a/nptl/sysdeps/pthread/tcb-offsets.h b/sysdeps/nptl/tcb-offsets.h
similarity index 100%
rename from nptl/sysdeps/pthread/tcb-offsets.h
rename to sysdeps/nptl/tcb-offsets.h
diff --git a/nptl/sysdeps/pthread/tst-mqueue8x.c b/sysdeps/nptl/tst-mqueue8x.c
similarity index 100%
rename from nptl/sysdeps/pthread/tst-mqueue8x.c
rename to sysdeps/nptl/tst-mqueue8x.c
diff --git a/nptl/sysdeps/pthread/unwind-forcedunwind.c b/sysdeps/nptl/unwind-forcedunwind.c
similarity index 100%
rename from nptl/sysdeps/pthread/unwind-forcedunwind.c
rename to sysdeps/nptl/unwind-forcedunwind.c
diff --git a/sysdeps/pthread/Makefile b/sysdeps/pthread/Makefile
new file mode 100644
index 0000000..1080dc9
--- /dev/null
+++ b/sysdeps/pthread/Makefile
@@ -0,0 +1,23 @@
+# sysdeps makefile fragment for all pthread-supporting configurations.
+# Copyright (C) 2014 Free Software Foundation, Inc.
+# This file is part of the GNU C Library.
+
+# The GNU C Library is free software; you can redistribute it and/or
+# modify it under the terms of the GNU Lesser General Public
+# License as published by the Free Software Foundation; either
+# version 2.1 of the License, or (at your option) any later version.
+
+# The GNU C Library is distributed in the hope that it will be useful,
+# but WITHOUT ANY WARRANTY; without even the implied warranty of
+# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
+# Lesser General Public License for more details.
+
+# You should have received a copy of the GNU Lesser General Public
+# License along with the GNU C Library; if not, see
+# <http://www.gnu.org/licenses/>.
+
+ifeq (yes,$(build-shared))
+$(objpfx)tst-timer: $(objpfx)librt.so $(shared-thread-library)
+else
+$(objpfx)tst-timer: $(objpfx)librt.a $(static-thread-library)
+endif
diff --git a/nptl/sysdeps/pthread/allocalim.h b/sysdeps/pthread/allocalim.h
similarity index 100%
rename from nptl/sysdeps/pthread/allocalim.h
rename to sysdeps/pthread/allocalim.h
diff --git a/nptl/sysdeps/pthread/bits/sigthread.h b/sysdeps/pthread/bits/sigthread.h
similarity index 100%
rename from nptl/sysdeps/pthread/bits/sigthread.h
rename to sysdeps/pthread/bits/sigthread.h
diff --git a/nptl/sysdeps/pthread/flockfile.c b/sysdeps/pthread/flockfile.c
similarity index 100%
rename from nptl/sysdeps/pthread/flockfile.c
rename to sysdeps/pthread/flockfile.c
diff --git a/nptl/sysdeps/pthread/ftrylockfile.c b/sysdeps/pthread/ftrylockfile.c
similarity index 100%
rename from nptl/sysdeps/pthread/ftrylockfile.c
rename to sysdeps/pthread/ftrylockfile.c
diff --git a/nptl/sysdeps/pthread/funlockfile.c b/sysdeps/pthread/funlockfile.c
similarity index 100%
rename from nptl/sysdeps/pthread/funlockfile.c
rename to sysdeps/pthread/funlockfile.c
diff --git a/nptl/sysdeps/pthread/posix-timer.h b/sysdeps/pthread/posix-timer.h
similarity index 100%
rename from nptl/sysdeps/pthread/posix-timer.h
rename to sysdeps/pthread/posix-timer.h
diff --git a/nptl/sysdeps/pthread/timer_create.c b/sysdeps/pthread/timer_create.c
similarity index 100%
rename from nptl/sysdeps/pthread/timer_create.c
rename to sysdeps/pthread/timer_create.c
diff --git a/nptl/sysdeps/pthread/timer_delete.c b/sysdeps/pthread/timer_delete.c
similarity index 100%
rename from nptl/sysdeps/pthread/timer_delete.c
rename to sysdeps/pthread/timer_delete.c
diff --git a/nptl/sysdeps/pthread/timer_getoverr.c b/sysdeps/pthread/timer_getoverr.c
similarity index 100%
rename from nptl/sysdeps/pthread/timer_getoverr.c
rename to sysdeps/pthread/timer_getoverr.c
diff --git a/nptl/sysdeps/pthread/timer_gettime.c b/sysdeps/pthread/timer_gettime.c
similarity index 100%
rename from nptl/sysdeps/pthread/timer_gettime.c
rename to sysdeps/pthread/timer_gettime.c
diff --git a/nptl/sysdeps/pthread/timer_routines.c b/sysdeps/pthread/timer_routines.c
similarity index 100%
rename from nptl/sysdeps/pthread/timer_routines.c
rename to sysdeps/pthread/timer_routines.c
diff --git a/nptl/sysdeps/pthread/timer_settime.c b/sysdeps/pthread/timer_settime.c
similarity index 100%
rename from nptl/sysdeps/pthread/timer_settime.c
rename to sysdeps/pthread/timer_settime.c
diff --git a/nptl/sysdeps/pthread/tst-timer.c b/sysdeps/pthread/tst-timer.c
similarity index 100%
rename from nptl/sysdeps/pthread/tst-timer.c
rename to sysdeps/pthread/tst-timer.c
diff --git a/sysdeps/unix/sysv/linux/Implies b/sysdeps/unix/sysv/linux/Implies
index b04bb6b..a579e63 100644
--- a/sysdeps/unix/sysv/linux/Implies
+++ b/sysdeps/unix/sysv/linux/Implies
@@ -1,3 +1,6 @@
+# All Linux builds use NPTL.
+nptl
+
 # The gnu subdirectory exists for things common to both Linux-based and
 # Hurd-based GNU systems.
 gnu
diff --git a/nptl/sysdeps/pthread/pthread_sigmask.c b/sysdeps/unix/sysv/linux/pthread_sigmask.c
similarity index 100%
rename from nptl/sysdeps/pthread/pthread_sigmask.c
rename to sysdeps/unix/sysv/linux/pthread_sigmask.c
