diff --git a/ChangeLog b/ChangeLog
index faee2f5..4a53317 100644
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,5 +1,67 @@
 2014-05-23  Richard Henderson  <rth@twiddle.net>
 
+	* sysdeps/unix/sysv/linux/alpha/nptl/Makefile: Merge into...
+	* sysdeps/unix/sysv/linux/alpha/Makefile: ... here.
+	* sysdeps/unix/sysv/linux/alpha/nptl/Versions: Merge into...
+	* sysdeps/unix/sysv/linux/alpha/Versions: ... here.
+
+	* sysdeps/unix/sysv/linux/alpha/nptl/aio_cancel.c: Moved ...
+	* sysdeps/unix/sysv/linux/alpha/aio_cancel.c: ... here.
+	* sysdeps/unix/sysv/linux/alpha/nptl/bits/local_lim.h: Moved ...
+	* sysdeps/unix/sysv/linux/alpha/bits/local_lim.h: ... here.
+	* sysdeps/unix/sysv/linux/alpha/nptl/bits/pthreadtypes.h: Moved ...
+	* sysdeps/unix/sysv/linux/alpha/bits/pthreadtypes.h: ... here.
+	* sysdeps/unix/sysv/linux/alpha/nptl/bits/semaphore.h: Moved ...
+	* sysdeps/unix/sysv/linux/alpha/bits/semaphore.h: ... here.
+	* sysdeps/unix/sysv/linux/alpha/nptl/c++-types.data: Moved ...
+	* sysdeps/unix/sysv/linux/alpha/c++-types.data: ... here.
+	* sysdeps/unix/sysv/linux/alpha/nptl/createthread.c: Moved ...
+	* sysdeps/unix/sysv/linux/alpha/createthread.c: ... here.
+	* sysdeps/unix/sysv/linux/alpha/nptl/ld.abilist: Moved ...
+	* sysdeps/unix/sysv/linux/alpha/ld.abilist: ... here.
+	* sysdeps/unix/sysv/linux/alpha/nptl/libBrokenLocale.abilist: Moved ...
+	* sysdeps/unix/sysv/linux/alpha/libBrokenLocale.abilist: ... here.
+	* sysdeps/unix/sysv/linux/alpha/nptl/libanl.abilist: Moved ...
+	* sysdeps/unix/sysv/linux/alpha/libanl.abilist: ... here.
+	* sysdeps/unix/sysv/linux/alpha/nptl/libc.abilist: Moved ...
+	* sysdeps/unix/sysv/linux/alpha/libc.abilist: ... here.
+	* sysdeps/unix/sysv/linux/alpha/nptl/libcrypt.abilist: Moved ...
+	* sysdeps/unix/sysv/linux/alpha/libcrypt.abilist: ... here.
+	* sysdeps/unix/sysv/linux/alpha/nptl/libdl.abilist: Moved ...
+	* sysdeps/unix/sysv/linux/alpha/libdl.abilist: ... here.
+	* sysdeps/unix/sysv/linux/alpha/nptl/libm.abilist: Moved ...
+	* sysdeps/unix/sysv/linux/alpha/libm.abilist: ... here.
+	* sysdeps/unix/sysv/linux/alpha/nptl/libnsl.abilist: Moved ...
+	* sysdeps/unix/sysv/linux/alpha/libnsl.abilist: ... here.
+	* sysdeps/unix/sysv/linux/alpha/nptl/libpthread.abilist: Moved ...
+	* sysdeps/unix/sysv/linux/alpha/libpthread.abilist: ... here.
+	* sysdeps/unix/sysv/linux/alpha/nptl/libresolv.abilist: Moved ...
+	* sysdeps/unix/sysv/linux/alpha/libresolv.abilist: ... here.
+	* sysdeps/unix/sysv/linux/alpha/nptl/librt.abilist: Moved ...
+	* sysdeps/unix/sysv/linux/alpha/librt.abilist: ... here.
+	* sysdeps/unix/sysv/linux/alpha/nptl/libthread_db.abilist: Moved ...
+	* sysdeps/unix/sysv/linux/alpha/libthread_db.abilist: ... here.
+	* sysdeps/unix/sysv/linux/alpha/nptl/libutil.abilist: Moved ...
+	* sysdeps/unix/sysv/linux/alpha/libutil.abilist: ... here.
+	* sysdeps/unix/sysv/linux/alpha/nptl/localplt.data: Moved ...
+	* sysdeps/unix/sysv/linux/alpha/localplt.data: ... here.
+	* sysdeps/unix/sysv/linux/alpha/nptl/lowlevellock.h: Moved ...
+	* sysdeps/unix/sysv/linux/alpha/lowlevellock.h: ... here.
+	* sysdeps/unix/sysv/linux/alpha/nptl/sem_post.c: Moved ...
+	* sysdeps/unix/sysv/linux/alpha/sem_post.c: ... here.
+	* sysdeps/unix/sysv/linux/alpha/nptl/sysdep-cancel.h: Moved ...
+	* sysdeps/unix/sysv/linux/alpha/sysdep-cancel.h: ... here.
+	* sysdeps/unix/sysv/linux/alpha/nptl/timer_create.c: Moved ...
+	* sysdeps/unix/sysv/linux/alpha/timer_create.c: ... here.
+	* sysdeps/unix/sysv/linux/alpha/nptl/timer_delete.c: Moved ...
+	* sysdeps/unix/sysv/linux/alpha/timer_delete.c: ... here.
+	* sysdeps/unix/sysv/linux/alpha/nptl/timer_getoverr.c: Moved ...
+	* sysdeps/unix/sysv/linux/alpha/timer_getoverr.c: ... here.
+	* sysdeps/unix/sysv/linux/alpha/nptl/timer_gettime.c: Moved ...
+	* sysdeps/unix/sysv/linux/alpha/timer_gettime.c: ... here.
+	* sysdeps/unix/sysv/linux/alpha/nptl/timer_settime.c: Moved ...
+	* sysdeps/unix/sysv/linux/alpha/timer_settime.c: ... here.
+
 	* sysdeps/unix/sysv/linux/alpha/syscalls.list: Remove vfork.
 	* sysdeps/unix/sysv/linux/alpha/nptl/vfork.S: Move file ...
 	* sysdeps/unix/sysv/linux/alpha/vfork.S: ... here.  Restore PID
diff --git a/sysdeps/unix/sysv/linux/alpha/Makefile b/sysdeps/unix/sysv/linux/alpha/Makefile
index 9676fee..3769bef 100644
--- a/sysdeps/unix/sysv/linux/alpha/Makefile
+++ b/sysdeps/unix/sysv/linux/alpha/Makefile
@@ -37,3 +37,8 @@ ifeq ($(subdir),math)
 # Provide these routines here as well.
 libm-routines += multc3 divtc3
 endif   # math
+
+ifeq ($(subdir),nptl)
+# pull in __syscall_error routine, __sigprocmask, __syscall_rt_sigaction
+libpthread-routines += ptw-sysdep ptw-sigprocmask ptw-rt_sigaction
+endif
diff --git a/sysdeps/unix/sysv/linux/alpha/Versions b/sysdeps/unix/sysv/linux/alpha/Versions
index b3cec3a..29b82f9 100644
--- a/sysdeps/unix/sysv/linux/alpha/Versions
+++ b/sysdeps/unix/sysv/linux/alpha/Versions
@@ -94,9 +94,20 @@ ld {
     __libc_alpha_cache_shape;
   }
 }
+libpthread {
+  GLIBC_2.3.3 {
+    # Changed PTHREAD_STACK_MIN.
+    pthread_attr_setstack; pthread_attr_setstacksize;
+  }
+}
 librt {
   GLIBC_2.3 {
     # AIO functions.
     aio_cancel; aio_cancel64;
   }
+  GLIBC_2.3.3 {
+    # Changed timer_t.
+    timer_create; timer_delete; timer_getoverrun; timer_gettime;
+    timer_settime;
+  }
 }
diff --git a/sysdeps/unix/sysv/linux/alpha/nptl/aio_cancel.c b/sysdeps/unix/sysv/linux/alpha/aio_cancel.c
similarity index 100%
rename from sysdeps/unix/sysv/linux/alpha/nptl/aio_cancel.c
rename to sysdeps/unix/sysv/linux/alpha/aio_cancel.c
diff --git a/sysdeps/unix/sysv/linux/alpha/nptl/bits/local_lim.h b/sysdeps/unix/sysv/linux/alpha/bits/local_lim.h
similarity index 100%
rename from sysdeps/unix/sysv/linux/alpha/nptl/bits/local_lim.h
rename to sysdeps/unix/sysv/linux/alpha/bits/local_lim.h
diff --git a/sysdeps/unix/sysv/linux/alpha/nptl/bits/pthreadtypes.h b/sysdeps/unix/sysv/linux/alpha/bits/pthreadtypes.h
similarity index 100%
rename from sysdeps/unix/sysv/linux/alpha/nptl/bits/pthreadtypes.h
rename to sysdeps/unix/sysv/linux/alpha/bits/pthreadtypes.h
diff --git a/sysdeps/unix/sysv/linux/alpha/nptl/bits/semaphore.h b/sysdeps/unix/sysv/linux/alpha/bits/semaphore.h
similarity index 100%
rename from sysdeps/unix/sysv/linux/alpha/nptl/bits/semaphore.h
rename to sysdeps/unix/sysv/linux/alpha/bits/semaphore.h
diff --git a/sysdeps/unix/sysv/linux/alpha/nptl/c++-types.data b/sysdeps/unix/sysv/linux/alpha/c++-types.data
similarity index 100%
rename from sysdeps/unix/sysv/linux/alpha/nptl/c++-types.data
rename to sysdeps/unix/sysv/linux/alpha/c++-types.data
diff --git a/sysdeps/unix/sysv/linux/alpha/nptl/createthread.c b/sysdeps/unix/sysv/linux/alpha/createthread.c
similarity index 100%
rename from sysdeps/unix/sysv/linux/alpha/nptl/createthread.c
rename to sysdeps/unix/sysv/linux/alpha/createthread.c
diff --git a/sysdeps/unix/sysv/linux/alpha/nptl/ld.abilist b/sysdeps/unix/sysv/linux/alpha/ld.abilist
similarity index 100%
rename from sysdeps/unix/sysv/linux/alpha/nptl/ld.abilist
rename to sysdeps/unix/sysv/linux/alpha/ld.abilist
diff --git a/sysdeps/unix/sysv/linux/alpha/nptl/libBrokenLocale.abilist b/sysdeps/unix/sysv/linux/alpha/libBrokenLocale.abilist
similarity index 100%
rename from sysdeps/unix/sysv/linux/alpha/nptl/libBrokenLocale.abilist
rename to sysdeps/unix/sysv/linux/alpha/libBrokenLocale.abilist
diff --git a/sysdeps/unix/sysv/linux/alpha/nptl/libanl.abilist b/sysdeps/unix/sysv/linux/alpha/libanl.abilist
similarity index 100%
rename from sysdeps/unix/sysv/linux/alpha/nptl/libanl.abilist
rename to sysdeps/unix/sysv/linux/alpha/libanl.abilist
diff --git a/sysdeps/unix/sysv/linux/alpha/nptl/libc.abilist b/sysdeps/unix/sysv/linux/alpha/libc.abilist
similarity index 100%
rename from sysdeps/unix/sysv/linux/alpha/nptl/libc.abilist
rename to sysdeps/unix/sysv/linux/alpha/libc.abilist
diff --git a/sysdeps/unix/sysv/linux/alpha/nptl/libcrypt.abilist b/sysdeps/unix/sysv/linux/alpha/libcrypt.abilist
similarity index 100%
rename from sysdeps/unix/sysv/linux/alpha/nptl/libcrypt.abilist
rename to sysdeps/unix/sysv/linux/alpha/libcrypt.abilist
diff --git a/sysdeps/unix/sysv/linux/alpha/nptl/libdl.abilist b/sysdeps/unix/sysv/linux/alpha/libdl.abilist
similarity index 100%
rename from sysdeps/unix/sysv/linux/alpha/nptl/libdl.abilist
rename to sysdeps/unix/sysv/linux/alpha/libdl.abilist
diff --git a/sysdeps/unix/sysv/linux/alpha/nptl/libm.abilist b/sysdeps/unix/sysv/linux/alpha/libm.abilist
similarity index 100%
rename from sysdeps/unix/sysv/linux/alpha/nptl/libm.abilist
rename to sysdeps/unix/sysv/linux/alpha/libm.abilist
diff --git a/sysdeps/unix/sysv/linux/alpha/nptl/libnsl.abilist b/sysdeps/unix/sysv/linux/alpha/libnsl.abilist
similarity index 100%
rename from sysdeps/unix/sysv/linux/alpha/nptl/libnsl.abilist
rename to sysdeps/unix/sysv/linux/alpha/libnsl.abilist
diff --git a/sysdeps/unix/sysv/linux/alpha/nptl/libpthread.abilist b/sysdeps/unix/sysv/linux/alpha/libpthread.abilist
similarity index 100%
rename from sysdeps/unix/sysv/linux/alpha/nptl/libpthread.abilist
rename to sysdeps/unix/sysv/linux/alpha/libpthread.abilist
diff --git a/sysdeps/unix/sysv/linux/alpha/nptl/libresolv.abilist b/sysdeps/unix/sysv/linux/alpha/libresolv.abilist
similarity index 100%
rename from sysdeps/unix/sysv/linux/alpha/nptl/libresolv.abilist
rename to sysdeps/unix/sysv/linux/alpha/libresolv.abilist
diff --git a/sysdeps/unix/sysv/linux/alpha/nptl/librt.abilist b/sysdeps/unix/sysv/linux/alpha/librt.abilist
similarity index 100%
rename from sysdeps/unix/sysv/linux/alpha/nptl/librt.abilist
rename to sysdeps/unix/sysv/linux/alpha/librt.abilist
diff --git a/sysdeps/unix/sysv/linux/alpha/nptl/libthread_db.abilist b/sysdeps/unix/sysv/linux/alpha/libthread_db.abilist
similarity index 100%
rename from sysdeps/unix/sysv/linux/alpha/nptl/libthread_db.abilist
rename to sysdeps/unix/sysv/linux/alpha/libthread_db.abilist
diff --git a/sysdeps/unix/sysv/linux/alpha/nptl/libutil.abilist b/sysdeps/unix/sysv/linux/alpha/libutil.abilist
similarity index 100%
rename from sysdeps/unix/sysv/linux/alpha/nptl/libutil.abilist
rename to sysdeps/unix/sysv/linux/alpha/libutil.abilist
diff --git a/sysdeps/unix/sysv/linux/alpha/nptl/localplt.data b/sysdeps/unix/sysv/linux/alpha/localplt.data
similarity index 100%
rename from sysdeps/unix/sysv/linux/alpha/nptl/localplt.data
rename to sysdeps/unix/sysv/linux/alpha/localplt.data
diff --git a/sysdeps/unix/sysv/linux/alpha/nptl/lowlevellock.h b/sysdeps/unix/sysv/linux/alpha/lowlevellock.h
similarity index 100%
rename from sysdeps/unix/sysv/linux/alpha/nptl/lowlevellock.h
rename to sysdeps/unix/sysv/linux/alpha/lowlevellock.h
diff --git a/sysdeps/unix/sysv/linux/alpha/nptl/Makefile b/sysdeps/unix/sysv/linux/alpha/nptl/Makefile
deleted file mode 100644
index 8c80840..0000000
--- a/sysdeps/unix/sysv/linux/alpha/nptl/Makefile
+++ /dev/null
@@ -1,2 +0,0 @@
-# pull in __syscall_error routine, __sigprocmask, __syscall_rt_sigaction
-libpthread-routines += ptw-sysdep ptw-sigprocmask ptw-rt_sigaction
diff --git a/sysdeps/unix/sysv/linux/alpha/nptl/Versions b/sysdeps/unix/sysv/linux/alpha/nptl/Versions
deleted file mode 100644
index 437c4da..0000000
--- a/sysdeps/unix/sysv/linux/alpha/nptl/Versions
+++ /dev/null
@@ -1,13 +0,0 @@
-libpthread {
-  GLIBC_2.3.3 {
-    # Changed PTHREAD_STACK_MIN.
-    pthread_attr_setstack; pthread_attr_setstacksize;
-  }
-}
-librt {
-  GLIBC_2.3.3 {
-    # Changed timer_t.
-    timer_create; timer_delete; timer_getoverrun; timer_gettime;
-    timer_settime;
-  }
-}
diff --git a/sysdeps/unix/sysv/linux/alpha/nptl/sem_post.c b/sysdeps/unix/sysv/linux/alpha/sem_post.c
similarity index 100%
rename from sysdeps/unix/sysv/linux/alpha/nptl/sem_post.c
rename to sysdeps/unix/sysv/linux/alpha/sem_post.c
diff --git a/sysdeps/unix/sysv/linux/alpha/nptl/sysdep-cancel.h b/sysdeps/unix/sysv/linux/alpha/sysdep-cancel.h
similarity index 100%
rename from sysdeps/unix/sysv/linux/alpha/nptl/sysdep-cancel.h
rename to sysdeps/unix/sysv/linux/alpha/sysdep-cancel.h
diff --git a/sysdeps/unix/sysv/linux/alpha/nptl/timer_create.c b/sysdeps/unix/sysv/linux/alpha/timer_create.c
similarity index 100%
rename from sysdeps/unix/sysv/linux/alpha/nptl/timer_create.c
rename to sysdeps/unix/sysv/linux/alpha/timer_create.c
diff --git a/sysdeps/unix/sysv/linux/alpha/nptl/timer_delete.c b/sysdeps/unix/sysv/linux/alpha/timer_delete.c
similarity index 100%
rename from sysdeps/unix/sysv/linux/alpha/nptl/timer_delete.c
rename to sysdeps/unix/sysv/linux/alpha/timer_delete.c
diff --git a/sysdeps/unix/sysv/linux/alpha/nptl/timer_getoverr.c b/sysdeps/unix/sysv/linux/alpha/timer_getoverr.c
similarity index 100%
rename from sysdeps/unix/sysv/linux/alpha/nptl/timer_getoverr.c
rename to sysdeps/unix/sysv/linux/alpha/timer_getoverr.c
diff --git a/sysdeps/unix/sysv/linux/alpha/nptl/timer_gettime.c b/sysdeps/unix/sysv/linux/alpha/timer_gettime.c
similarity index 100%
rename from sysdeps/unix/sysv/linux/alpha/nptl/timer_gettime.c
rename to sysdeps/unix/sysv/linux/alpha/timer_gettime.c
diff --git a/sysdeps/unix/sysv/linux/alpha/nptl/timer_settime.c b/sysdeps/unix/sysv/linux/alpha/timer_settime.c
similarity index 100%
rename from sysdeps/unix/sysv/linux/alpha/nptl/timer_settime.c
rename to sysdeps/unix/sysv/linux/alpha/timer_settime.c
