about summary refs log tree commit diff
path: root/nptl
diff options
context:
space:
mode:
authorRoland McGrath <roland@hack.frob.com>2014-06-12 09:05:54 -0700
committerRoland McGrath <roland@hack.frob.com>2014-06-12 09:05:54 -0700
commit45262aeedf2f56dcd3b30e37630ea85bb4f55603 (patch)
tree726ce7b82a5d652713e514fa2811244fe647e5a7 /nptl
parent35a5e3e338ae17f3d42c60a708763c5d498fb840 (diff)
downloadglibc-45262aeedf2f56dcd3b30e37630ea85bb4f55603.tar.gz
glibc-45262aeedf2f56dcd3b30e37630ea85bb4f55603.tar.xz
glibc-45262aeedf2f56dcd3b30e37630ea85bb4f55603.zip
Move SH code out of nptl/ subdirectory.
Diffstat (limited to 'nptl')
-rw-r--r--nptl/sysdeps/sh/Makefile3
-rw-r--r--nptl/sysdeps/sh/pthread_spin_init.c19
-rw-r--r--nptl/sysdeps/sh/pthread_spin_lock.c34
-rw-r--r--nptl/sysdeps/sh/pthread_spin_trylock.S31
-rw-r--r--nptl/sysdeps/sh/pthread_spin_unlock.S29
-rw-r--r--nptl/sysdeps/sh/pthreaddef.h34
-rw-r--r--nptl/sysdeps/sh/tcb-offsets.sym15
-rw-r--r--nptl/sysdeps/sh/tls.h179
-rw-r--r--nptl/sysdeps/unix/sysv/linux/sh/libc-lowlevellock.S18
-rw-r--r--nptl/sysdeps/unix/sysv/linux/sh/lowlevel-atomic.h80
-rw-r--r--nptl/sysdeps/unix/sysv/linux/sh/lowlevellock.S574
-rw-r--r--nptl/sysdeps/unix/sysv/linux/sh/lowlevellock.h419
-rw-r--r--nptl/sysdeps/unix/sysv/linux/sh/lowlevelrobustlock.S278
-rw-r--r--nptl/sysdeps/unix/sysv/linux/sh/pthread_barrier_wait.S239
-rw-r--r--nptl/sysdeps/unix/sysv/linux/sh/pthread_cond_broadcast.S292
-rw-r--r--nptl/sysdeps/unix/sysv/linux/sh/pthread_cond_signal.S202
-rw-r--r--nptl/sysdeps/unix/sysv/linux/sh/pthread_cond_timedwait.S769
-rw-r--r--nptl/sysdeps/unix/sysv/linux/sh/pthread_cond_wait.S687
-rw-r--r--nptl/sysdeps/unix/sysv/linux/sh/pthread_once.S257
-rw-r--r--nptl/sysdeps/unix/sysv/linux/sh/pthread_rwlock_rdlock.S270
-rw-r--r--nptl/sysdeps/unix/sysv/linux/sh/pthread_rwlock_timedrdlock.S339
-rw-r--r--nptl/sysdeps/unix/sysv/linux/sh/pthread_rwlock_timedwrlock.S323
-rw-r--r--nptl/sysdeps/unix/sysv/linux/sh/pthread_rwlock_unlock.S221
-rw-r--r--nptl/sysdeps/unix/sysv/linux/sh/pthread_rwlock_wrlock.S252
-rw-r--r--nptl/sysdeps/unix/sysv/linux/sh/sem_post.S111
-rw-r--r--nptl/sysdeps/unix/sysv/linux/sh/sem_timedwait.S281
-rw-r--r--nptl/sysdeps/unix/sysv/linux/sh/sem_trywait.S102
-rw-r--r--nptl/sysdeps/unix/sysv/linux/sh/sem_wait.S229
-rw-r--r--nptl/sysdeps/unix/sysv/linux/sh/sh4/lowlevellock.h4
-rw-r--r--nptl/sysdeps/unix/sysv/linux/sh/smp.h23
-rw-r--r--nptl/sysdeps/unix/sysv/linux/sh/sysdep-cancel.h169
31 files changed, 0 insertions, 6483 deletions
diff --git a/nptl/sysdeps/sh/Makefile b/nptl/sysdeps/sh/Makefile
deleted file mode 100644
index 81bddf688c..0000000000
--- a/nptl/sysdeps/sh/Makefile
+++ /dev/null
@@ -1,3 +0,0 @@
-ifeq ($(subdir),csu)
-gen-as-const-headers += tcb-offsets.sym
-endif
diff --git a/nptl/sysdeps/sh/pthread_spin_init.c b/nptl/sysdeps/sh/pthread_spin_init.c
deleted file mode 100644
index 279fc9a5a6..0000000000
--- a/nptl/sysdeps/sh/pthread_spin_init.c
+++ /dev/null
@@ -1,19 +0,0 @@
-/* Copyright (C) 2002-2014 Free Software Foundation, Inc.
-   This file is part of the GNU C Library.
-   Contributed by Ulrich Drepper <drepper@redhat.com>, 2002.
-
-   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/>.  */
-
-/* Not needed.  pthread_spin_init is an alias for pthread_spin_unlock.  */
diff --git a/nptl/sysdeps/sh/pthread_spin_lock.c b/nptl/sysdeps/sh/pthread_spin_lock.c
deleted file mode 100644
index e4bf190075..0000000000
--- a/nptl/sysdeps/sh/pthread_spin_lock.c
+++ /dev/null
@@ -1,34 +0,0 @@
-/* Copyright (C) 2003-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/>.  */
-
-#include "pthreadP.h"
-
-int
-pthread_spin_lock (lock)
-     pthread_spinlock_t *lock;
-{
-  unsigned int val;
-
-  do
-    asm volatile ("tas.b @%1; movt %0"
-		  : "=&r" (val)
-		  : "r" (lock)
-		  : "memory");
-  while (val == 0);
-
-  return 0;
-}
diff --git a/nptl/sysdeps/sh/pthread_spin_trylock.S b/nptl/sysdeps/sh/pthread_spin_trylock.S
deleted file mode 100644
index 76ec533fa8..0000000000
--- a/nptl/sysdeps/sh/pthread_spin_trylock.S
+++ /dev/null
@@ -1,31 +0,0 @@
-/* Copyright (C) 2003-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/>.  */
-
-#include <pthread-errnos.h>
-
-	.globl	pthread_spin_trylock
-	.type	pthread_spin_trylock,@function
-	.align	5
-pthread_spin_trylock:
-	tas.b	@r4
-	bf/s	1f
-	mov	#EBUSY, r0
-	mov	#0, r0
-1:
-	rts
-	 nop
-	.size	pthread_spin_trylock,.-pthread_spin_trylock
diff --git a/nptl/sysdeps/sh/pthread_spin_unlock.S b/nptl/sysdeps/sh/pthread_spin_unlock.S
deleted file mode 100644
index 34d7c9f1dc..0000000000
--- a/nptl/sysdeps/sh/pthread_spin_unlock.S
+++ /dev/null
@@ -1,29 +0,0 @@
-/* Copyright (C) 2003-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/>.  */
-
-	.globl	pthread_spin_unlock
-	.type	pthread_spin_unlock,@function
-	.align	5
-pthread_spin_unlock:
-	mov	#0,r0
-	rts
-	 mov.l	r0,@r4
-	.size	pthread_spin_unlock,.-pthread_spin_unlock
-
-	/* The implementation of pthread_spin_init is identical.  */
-	.globl	pthread_spin_init
-pthread_spin_init = pthread_spin_unlock
diff --git a/nptl/sysdeps/sh/pthreaddef.h b/nptl/sysdeps/sh/pthreaddef.h
deleted file mode 100644
index 7ea338e4d7..0000000000
--- a/nptl/sysdeps/sh/pthreaddef.h
+++ /dev/null
@@ -1,34 +0,0 @@
-/* Copyright (C) 2003-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/>.  */
-
-#include <sysdep.h>
-
-/* Default stack size.  */
-#define ARCH_STACK_DEFAULT_SIZE	(2 * 1024 * 1024)
-
-/* Required stack pointer alignment at beginning.  */
-#define STACK_ALIGN		8
-
-/* Minimal stack size after allocating thread descriptor and guard size.  */
-#define MINIMAL_REST_STACK	2048
-
-/* Alignment requirement for TCB.  */
-#define TCB_ALIGNMENT		8
-
-
-/* Location of current stack frame.  */
-#define CURRENT_STACK_FRAME	__builtin_frame_address (0)
diff --git a/nptl/sysdeps/sh/tcb-offsets.sym b/nptl/sysdeps/sh/tcb-offsets.sym
deleted file mode 100644
index 753b72b2dd..0000000000
--- a/nptl/sysdeps/sh/tcb-offsets.sym
+++ /dev/null
@@ -1,15 +0,0 @@
-#include <sysdep.h>
-#include <tls.h>
-
-RESULT			offsetof (struct pthread, result)
-TID			offsetof (struct pthread, tid)
-PID			offsetof (struct pthread, pid)
-CANCELHANDLING		offsetof (struct pthread, cancelhandling)
-CLEANUP_JMP_BUF		offsetof (struct pthread, cleanup_jmp_buf)
-MULTIPLE_THREADS_OFFSET	offsetof (struct pthread, header.multiple_threads)
-TLS_PRE_TCB_SIZE	sizeof (struct pthread)
-MUTEX_FUTEX		offsetof (pthread_mutex_t, __data.__lock)
-POINTER_GUARD		offsetof (tcbhead_t, pointer_guard)
-#ifndef __ASSUME_PRIVATE_FUTEX
-PRIVATE_FUTEX		offsetof (struct pthread, header.private_futex)
-#endif
diff --git a/nptl/sysdeps/sh/tls.h b/nptl/sysdeps/sh/tls.h
deleted file mode 100644
index d4d3e93d64..0000000000
--- a/nptl/sysdeps/sh/tls.h
+++ /dev/null
@@ -1,179 +0,0 @@
-/* Definition for thread-local data handling.  NPTL/SH version.
-   Copyright (C) 2003-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/>.  */
-
-#ifndef _TLS_H
-#define _TLS_H
-
-# include <dl-sysdep.h>
-
-#ifndef __ASSEMBLER__
-# include <stdbool.h>
-# include <stddef.h>
-# include <stdint.h>
-# include <stdlib.h>
-# include <list.h>
-# include <sysdep.h>
-# include <kernel-features.h>
-
-/* Type for the dtv.  */
-typedef union dtv
-{
-  size_t counter;
-  struct
-  {
-    void *val;
-    bool is_static;
-  } pointer;
-} dtv_t;
-
-typedef struct
-{
-  dtv_t *dtv;
-  uintptr_t pointer_guard;
-} tcbhead_t;
-
-# define TLS_MULTIPLE_THREADS_IN_TCB 1
-
-#else /* __ASSEMBLER__ */
-# include <tcb-offsets.h>
-#endif /* __ASSEMBLER__ */
-
-
-#ifndef __ASSEMBLER__
-
-/* Get system call information.  */
-# include <sysdep.h>
-
-/* This is the size of the initial TCB.  */
-# define TLS_INIT_TCB_SIZE sizeof (tcbhead_t)
-
-/* Alignment requirements for the initial TCB.  */
-# define TLS_INIT_TCB_ALIGN __alignof__ (tcbhead_t)
-
-/* This is the size of the TCB.  */
-# define TLS_TCB_SIZE sizeof (tcbhead_t)
-
-/* This is the size we need before TCB.  */
-# define TLS_PRE_TCB_SIZE sizeof (struct pthread)
-
-/* Alignment requirements for the TCB.  */
-# define TLS_TCB_ALIGN __alignof__ (struct pthread)
-
-/* The TLS blocks start right after the TCB.  */
-# define TLS_DTV_AT_TP	1
-# define TLS_TCB_AT_TP	0
-
-/* Get the thread descriptor definition.  */
-# include <nptl/descr.h>
-
-/* Install the dtv pointer.  The pointer passed is to the element with
-   index -1 which contain the length.  */
-# define INSTALL_DTV(tcbp, dtvp) \
-  ((tcbhead_t *) (tcbp))->dtv = (dtvp) + 1
-
-/* Install new dtv for current thread.  */
-# define INSTALL_NEW_DTV(dtv) \
-  ({ tcbhead_t *__tcbp;							      \
-     __asm __volatile ("stc gbr,%0" : "=r" (__tcbp));			      \
-     __tcbp->dtv = (dtv);})
-
-/* Return dtv of given thread descriptor.  */
-# define GET_DTV(tcbp) \
-  (((tcbhead_t *) (tcbp))->dtv)
-
-/* Code to initially initialize the thread pointer.  This might need
-   special attention since 'errno' is not yet available and if the
-   operation can cause a failure 'errno' must not be touched.  */
-# define TLS_INIT_TP(tcbp) \
-  ({ __asm __volatile ("ldc %0,gbr" : : "r" (tcbp)); 0; })
-
-# define TLS_DEFINE_INIT_TP(tp, pd) void *tp = (pd) + 1
-
-/* Return the address of the dtv for the current thread.  */
-# define THREAD_DTV() \
-  ({ tcbhead_t *__tcbp;							      \
-     __asm __volatile ("stc gbr,%0" : "=r" (__tcbp));			      \
-     __tcbp->dtv;})
-
-/* Return the thread descriptor for the current thread.
-   The contained asm must *not* be marked volatile since otherwise
-   assignments like
-	struct pthread *self = thread_self();
-   do not get optimized away.  */
-# define THREAD_SELF \
-  ({ struct pthread *__self;						      \
-     __asm ("stc gbr,%0" : "=r" (__self));				      \
-     __self - 1;})
-
-/* Magic for libthread_db to know how to do THREAD_SELF.  */
-# define DB_THREAD_SELF \
-  REGISTER (32, 32, REG_GBR * 4, -sizeof (struct pthread))
-
-/* Read member of the thread descriptor directly.  */
-# define THREAD_GETMEM(descr, member) (descr->member)
-
-/* Same as THREAD_GETMEM, but the member offset can be non-constant.  */
-# define THREAD_GETMEM_NC(descr, member, idx) (descr->member[idx])
-
-/* Set member of the thread descriptor directly.  */
-# define THREAD_SETMEM(descr, member, value) \
-    descr->member = (value)
-
-/* Same as THREAD_SETMEM, but the member offset can be non-constant.  */
-# define THREAD_SETMEM_NC(descr, member, idx, value) \
-    descr->member[idx] = (value)
-
-#define THREAD_GET_POINTER_GUARD() \
-  ({ tcbhead_t *__tcbp;							      \
-     __asm __volatile ("stc gbr,%0" : "=r" (__tcbp));			      \
-     __tcbp->pointer_guard;})
- #define THREAD_SET_POINTER_GUARD(value) \
-  ({ tcbhead_t *__tcbp;							      \
-     __asm __volatile ("stc gbr,%0" : "=r" (__tcbp));			      \
-     __tcbp->pointer_guard = (value);})
-#define THREAD_COPY_POINTER_GUARD(descr) \
-  ({ tcbhead_t *__tcbp;							      \
-     __asm __volatile ("stc gbr,%0" : "=r" (__tcbp));			      \
-     ((tcbhead_t *) (descr + 1))->pointer_guard	= __tcbp->pointer_guard;})
-
-/* Get and set the global scope generation counter in struct pthread.  */
-#define THREAD_GSCOPE_FLAG_UNUSED 0
-#define THREAD_GSCOPE_FLAG_USED   1
-#define THREAD_GSCOPE_FLAG_WAIT   2
-#define THREAD_GSCOPE_RESET_FLAG() \
-  do									     \
-    { int __res								     \
-	= atomic_exchange_rel (&THREAD_SELF->header.gscope_flag,	     \
-			       THREAD_GSCOPE_FLAG_UNUSED);		     \
-      if (__res == THREAD_GSCOPE_FLAG_WAIT)				     \
-	lll_futex_wake (&THREAD_SELF->header.gscope_flag, 1, LLL_PRIVATE);   \
-    }									     \
-  while (0)
-#define THREAD_GSCOPE_SET_FLAG() \
-  do									     \
-    {									     \
-      THREAD_SELF->header.gscope_flag = THREAD_GSCOPE_FLAG_USED;	     \
-      atomic_write_barrier ();						     \
-    }									     \
-  while (0)
-#define THREAD_GSCOPE_WAIT() \
-  GL(dl_wait_lookup_done) ()
-
-#endif /* __ASSEMBLER__ */
-
-#endif	/* tls.h */
diff --git a/nptl/sysdeps/unix/sysv/linux/sh/libc-lowlevellock.S b/nptl/sysdeps/unix/sysv/linux/sh/libc-lowlevellock.S
deleted file mode 100644
index ad6188d096..0000000000
--- a/nptl/sysdeps/unix/sysv/linux/sh/libc-lowlevellock.S
+++ /dev/null
@@ -1,18 +0,0 @@
-/* Copyright (C) 2003-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/>.  */
-
-#include "lowlevellock.S"
diff --git a/nptl/sysdeps/unix/sysv/linux/sh/lowlevel-atomic.h b/nptl/sysdeps/unix/sysv/linux/sh/lowlevel-atomic.h
deleted file mode 100644
index d580ca3ce5..0000000000
--- a/nptl/sysdeps/unix/sysv/linux/sh/lowlevel-atomic.h
+++ /dev/null
@@ -1,80 +0,0 @@
-/* Copyright (C) 2003-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/>.  */
-
-#ifdef __ASSEMBLER__
-
-#define _IMP1 #1
-#define _IMM1 #-1
-#define _IMM4 #-4
-#define _IMM6 #-6
-#define _IMM8 #-8
-
-#define	INC(mem, reg) \
-	.align	2; \
-	mova	99f, r0; \
-	mov	r15, r1; \
-	mov	_IMM6, r15; \
-98:	mov.l	mem, reg; \
-	add	_IMP1, reg; \
-	mov.l	reg, mem; \
-99:	mov	r1, r15
-
-#define	DEC(mem, reg) \
-	.align	2; \
-	mova	99f, r0; \
-	mov	r15, r1; \
-	mov	_IMM6, r15; \
-98:	mov.l	mem, reg; \
-	add	_IMM1, reg; \
-	mov.l	reg, mem; \
-99:	mov	r1, r15
-
-#define	XADD(reg, mem, old, tmp) \
-	.align	2; \
-	mova	99f, r0; \
-	nop; \
-	mov	r15, r1; \
-	mov	_IMM8, r15; \
-98:	mov.l	mem, old; \
-	mov	reg, tmp; \
-	add	old, tmp; \
-	mov.l	tmp, mem; \
-99:	mov	r1, r15
-
-#define	XCHG(reg, mem, old) \
-	.align	2; \
-	mova	99f, r0; \
-	nop; \
-	mov	r15, r1; \
-	mov	_IMM4, r15; \
-98:	mov.l	mem, old; \
-	mov.l	reg, mem; \
-99:	mov	r1, r15
-
-#define	CMPXCHG(reg, mem, new, old) \
-	.align	2; \
-	mova	99f, r0; \
-	nop; \
-	mov	r15, r1; \
-	mov	_IMM8, r15; \
-98:	mov.l	mem, old; \
-	cmp/eq	old, reg; \
-	bf	99f; \
-	mov.l	new, mem; \
-99:	mov	r1, r15
-
-#endif  /* __ASSEMBLER__ */
diff --git a/nptl/sysdeps/unix/sysv/linux/sh/lowlevellock.S b/nptl/sysdeps/unix/sysv/linux/sh/lowlevellock.S
deleted file mode 100644
index 84b8edb86c..0000000000
--- a/nptl/sysdeps/unix/sysv/linux/sh/lowlevellock.S
+++ /dev/null
@@ -1,574 +0,0 @@
-/* Copyright (C) 2003-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/>.  */
-
-#include <sysdep.h>
-#include <pthread-errnos.h>
-#include <kernel-features.h>
-#include <lowlevellock.h>
-#include "lowlevel-atomic.h"
-
-	.text
-
-#ifdef __ASSUME_PRIVATE_FUTEX
-# define LOAD_PRIVATE_FUTEX_WAIT(reg,tmp,tmp2) \
-	mov	#(FUTEX_WAIT | FUTEX_PRIVATE_FLAG), reg; \
-	extu.b	reg, reg
-# define LOAD_PRIVATE_FUTEX_WAKE(reg,tmp,tmp2) \
-	mov	#(FUTEX_WAKE | FUTEX_PRIVATE_FLAG), reg; \
-	extu.b	reg, reg
-# define LOAD_FUTEX_WAIT(reg,tmp,tmp2) \
-	mov	#(FUTEX_WAIT | FUTEX_PRIVATE_FLAG), tmp; \
-	extu.b	tmp, tmp; \
-	xor	tmp, reg
-# define LOAD_FUTEX_WAIT_ABS(reg,tmp,tmp2) \
-	mov	#(FUTEX_WAIT_BITSET | FUTEX_PRIVATE_FLAG), tmp; \
-	extu.b	tmp, tmp; \
-	mov	#(FUTEX_CLOCK_REALTIME >> 8), tmp2; \
-	swap.b	tmp2, tmp2; \
-	or	tmp2, tmp; \
-	xor	tmp, reg
-# define LOAD_FUTEX_WAKE(reg,tmp,tmp2) \
-	mov	#(FUTEX_WAKE | FUTEX_PRIVATE_FLAG), tmp; \
-	extu.b	tmp, tmp; \
-	xor	tmp, reg
-#else
-# if FUTEX_WAIT == 0
-#  define LOAD_PRIVATE_FUTEX_WAIT(reg,tmp,tmp2) \
-	stc	gbr, tmp	; \
-	mov.w	99f, reg	; \
-	add	reg, tmp	; \
-	bra	98f		; \
-	 mov.l	@tmp, reg	; \
-99:	.word	PRIVATE_FUTEX - TLS_PRE_TCB_SIZE ; \
-98:
-# else
-#  define LOAD_PRIVATE_FUTEX_WAIT(reg,tmp,tmp2) \
-	stc	gbr, tmp	; \
-	mov.w	99f, reg	; \
-	add	reg, tmp	; \
-	mov.l	@tmp, reg	; \
-	bra	98f		; \
-	 mov	#FUTEX_WAIT, tmp ; \
-99:	.word	PRIVATE_FUTEX - TLS_PRE_TCB_SIZE ; \
-98:	or	tmp, reg
-# endif
-# define LOAD_PRIVATE_FUTEX_WAKE(reg,tmp,tmp2) \
-	stc	gbr, tmp	; \
-	mov.w	99f, reg	; \
-	add	reg, tmp	; \
-	mov.l	@tmp, reg	; \
-	bra	98f		; \
-	 mov	#FUTEX_WAKE, tmp ; \
-99:	.word	PRIVATE_FUTEX - TLS_PRE_TCB_SIZE ; \
-98:	or	tmp, reg
-# if FUTEX_WAIT == 0
-#  define LOAD_FUTEX_WAIT(reg,tmp,tmp2) \
-	stc	gbr, tmp	; \
-	mov.w	99f, tmp2	; \
-	add	tmp2, tmp	; \
-	mov.l	@tmp, tmp2	; \
-	bra	98f		; \
-	 mov	#FUTEX_PRIVATE_FLAG, tmp ; \
-99:	.word	PRIVATE_FUTEX - TLS_PRE_TCB_SIZE ; \
-98:	extu.b	tmp, tmp	; \
-	xor	tmp, reg	; \
-	and	tmp2, reg
-# else
-#  define LOAD_FUTEX_WAIT(reg,tmp,tmp2) \
-	stc	gbr, tmp	; \
-	mov.w	99f, tmp2	; \
-	add	tmp2, tmp	; \
-	mov.l	@tmp, tmp2	; \
-	bra	98f		; \
-	 mov	#FUTEX_PRIVATE_FLAG, tmp ; \
-99:	.word	PRIVATE_FUTEX - TLS_PRE_TCB_SIZE ; \
-98:	extu.b	tmp, tmp	; \
-	xor	tmp, reg	; \
-	and	tmp2, reg	; \
-	mov	#FUTEX_WAIT, tmp ; \
-	or	tmp, reg
-# endif
-# define LOAD_FUTEX_WAIT_ABS(reg,tmp,tmp2) \
-	stc	gbr, tmp	; \
-	mov.w	99f, tmp2	; \
-	add	tmp2, tmp	; \
-	mov.l	@tmp, tmp2	; \
-	bra	98f		; \
-	 mov	#FUTEX_PRIVATE_FLAG, tmp ; \
-99:	.word	PRIVATE_FUTEX - TLS_PRE_TCB_SIZE ; \
-98:	extu.b	tmp, tmp	; \
-	xor	tmp, reg	; \
-	and	tmp2, reg	; \
-	mov	#FUTEX_WAIT_BITSET, tmp ; \
-	mov	#(FUTEX_CLOCK_REALTIME >> 8), tmp2; \
-	swap.b	tmp2, tmp2; \
-	or	tmp2, tmp; \
-	or	tmp, reg
-# define LOAD_FUTEX_WAKE(reg,tmp,tmp2) \
-	stc	gbr, tmp	; \
-	mov.w	99f, tmp2	; \
-	add	tmp2, tmp	; \
-	mov.l	@tmp, tmp2	; \
-	bra	98f		; \
-	 mov	#FUTEX_PRIVATE_FLAG, tmp ; \
-99:	.word	PRIVATE_FUTEX - TLS_PRE_TCB_SIZE ; \
-98:	extu.b	tmp, tmp	; \
-	xor	tmp, reg	; \
-	and	tmp2, reg	; \
-	mov	#FUTEX_WAKE, tmp ; \
-	or	tmp, reg
-#endif
-
-	.globl	__lll_lock_wait_private
-	.type	__lll_lock_wait_private,@function
-	.hidden	__lll_lock_wait_private
-	.align	5
-	cfi_startproc
-__lll_lock_wait_private:
-	mov.l	r8, @-r15
-	cfi_adjust_cfa_offset(4)
-	cfi_rel_offset (r8, 0)
-	mov	r4, r6
-	mov	r5, r8
-	mov	#0, r7		/* No timeout.  */
-	LOAD_PRIVATE_FUTEX_WAIT (r5, r0, r1)
-
-	mov	#2, r4
-	cmp/eq	r4, r6
-	bf	2f
-
-1:
-	mov	r8, r4
-	mov	#SYS_futex, r3
-	extu.b	r3, r3
-	trapa	#0x14
-	SYSCALL_INST_PAD
-
-2:
-	mov	#2, r6
-	XCHG (r6, @r8, r2)
-	tst	r2, r2
-	bf	1b
-
-	mov.l	@r15+, r8
-	cfi_adjust_cfa_offset (-4)
-	cfi_restore (r8)
-	rts
-	 mov	r2, r0
-	cfi_endproc
-	.size	__lll_lock_wait_private,.-__lll_lock_wait_private
-
-#ifdef NOT_IN_libc
-	.globl	__lll_lock_wait
-	.type	__lll_lock_wait,@function
-	.hidden	__lll_lock_wait
-	.align	5
-	cfi_startproc
-__lll_lock_wait:
-	mov.l	r9, @-r15
-	cfi_adjust_cfa_offset(4)
-	cfi_rel_offset (r9, 0)
-	mov.l	r8, @-r15
-	cfi_adjust_cfa_offset(4)
-	cfi_rel_offset (r8, 0)
-	mov	r6, r9
-	mov	r4, r6
-	mov	r5, r8
-	mov	#0, r7		/* No timeout.  */
-	mov	r9, r5
-	LOAD_FUTEX_WAIT (r5, r0, r1)
-
-	mov	#2, r4
-	cmp/eq	r4, r6
-	bf	2f
-
-1:
-	mov	r8, r4
-	mov	#SYS_futex, r3
-	extu.b	r3, r3
-	trapa	#0x14
-	SYSCALL_INST_PAD
-
-2:
-	mov	#2, r6
-	XCHG (r6, @r8, r2)
-	tst	r2, r2
-	bf	1b
-
-	mov.l	@r15+, r8
-	cfi_adjust_cfa_offset (-4)
-	cfi_restore (r8)
-	mov.l	@r15+, r9
-	cfi_adjust_cfa_offset (-4)
-	cfi_restore (r9)
-	ret
-	 mov	r2, r0
-	cfi_endproc
-	.size	__lll_lock_wait,.-__lll_lock_wait
-
-	/*      r5  (r8): futex
-		r7 (r11): flags
-		r6  (r9): timeout
-		r4 (r10): futex value
-	*/
-	.globl	__lll_timedlock_wait
-	.type	__lll_timedlock_wait,@function
-	.hidden	__lll_timedlock_wait
-	.align	5
-	cfi_startproc
-__lll_timedlock_wait:
-	mov.l	r12, @-r15
-	cfi_adjust_cfa_offset(4)
-	cfi_rel_offset (r12, 0)
-
-# ifndef __ASSUME_FUTEX_CLOCK_REALTIME
-	mov.l	.Lhave, r1
-#  ifdef PIC
-	mova	.Lgot, r0
-	mov.l	.Lgot, r12
-	add	r0, r12
-	add	r12, r1
-#  endif
-	mov.l	@r1, r0
-	tst	r0, r0
-	bt	.Lreltmo
-# endif
-
-	/* if (timeout->tv_sec < 0) return ETIMEDOUT; */
-	mov.l	@r6, r1
-	cmp/pz	r1
-	bf/s	5f
-	 mov	#ETIMEDOUT, r0
-
-	mov	r4, r2
-	mov	r5, r4
-	mov	r7, r5
-	mov	r6, r7
-	LOAD_FUTEX_WAIT_ABS (r5, r0, r1)
-
-	mov	#2, r6
-	cmp/eq	r6, r2
-	bf/s	2f
-	 mov	r6, r2
-
-1:
-	mov	#2, r6
-	mov	#-1, r1
-	mov	#SYS_futex, r3
-	extu.b	r3, r3
-	trapa	#0x16
-	SYSCALL_INST_PAD
-	mov	r0, r6
-
-2:
-	XCHG	(r2, @r4, r3)	/* NB:   lock is implied */
-
-	tst	r3, r3
-	bt/s	3f
-	 mov	r6, r0
-
-	cmp/eq	#-ETIMEDOUT, r0
-	bt	4f
-	cmp/eq	#-EINVAL, r0
-	bf	1b
-4:
-	neg	r0, r3
-3:
-	mov	r3, r0
-5:
-	rts
-	 mov.l	@r15+, r12
-	/* Omit CFI for restore in delay slot.  */
-
-# ifndef __ASSUME_FUTEX_CLOCK_REALTIME
-	.align	2
-# ifdef PIC
-.Lgot:
-	.long	_GLOBAL_OFFSET_TABLE_
-.Lhave:
-	.long	__have_futex_clock_realtime@GOTOFF
-# else
-.Lhave:
-	.long	__have_futex_clock_realtime
-# endif
-
-.Lreltmo:
-	/* Check for a valid timeout value.  */
-	mov.l	@(4,r6), r1
-	mov.l	.L1g, r0
-	cmp/hs	r0, r1
-	bt	3f
-
-	cfi_remember_state
-
-	mov.l	r11, @-r15
-	cfi_adjust_cfa_offset(4)
-	cfi_rel_offset (r11, 0)
-	mov.l	r10, @-r15
-	cfi_adjust_cfa_offset(4)
-	cfi_rel_offset (r10, 0)
-	mov.l	r9, @-r15
-	cfi_adjust_cfa_offset(4)
-	cfi_rel_offset (r9, 0)
-	mov.l	r8, @-r15
-	cfi_adjust_cfa_offset(4)
-	cfi_rel_offset (r8, 0)
-	mov	r7, r11
-	mov	r4, r10
-	mov	r6, r9
-	mov	r5, r8
-
-	/* Stack frame for the timespec and timeval structs.  */
-	add	#-8, r15
-	cfi_adjust_cfa_offset(8)
-
-	mov	#2, r2
-	XCHG (r2, @r8, r3)
-
-	tst	r3, r3
-	bt	6f
-
-1:
-	/* Get current time.  */
-	mov	r15, r4
-	mov	#0, r5
-	mov	#__NR_gettimeofday, r3
-	trapa	#0x12
-	SYSCALL_INST_PAD
-
-	/* Compute relative timeout.  */
-	mov.l	@(4,r15), r0
-	mov.w	.L1k, r1
-	dmulu.l	r0, r1		/* Micro seconds to nano seconds.  */
-	mov.l	@r9, r2
-	mov.l	@(4,r9), r3
-	mov.l	@r15, r0
-	sts	macl, r1
-	sub	r0, r2
-	clrt
-	subc	r1, r3
-	bf	4f
-	mov.l	.L1g, r1
-	add	r1, r3
-	add	#-1, r2
-4:
-	cmp/pz	r2
-	bf	2f		/* Time is already up.  */
-
-	mov.l	r2, @r15	/* Store relative timeout.  */
-	mov.l	r3, @(4,r15)
-
-	mov	r8, r4
-	mov	r11, r5
-	LOAD_FUTEX_WAIT (r5, r0, r1)
-	mov	r10, r6
-	mov	r15, r7
-	mov	#SYS_futex, r3
-	extu.b	r3, r3
-	trapa	#0x14
-	SYSCALL_INST_PAD
-	mov	r0, r5
-
-	mov	#2, r2
-	XCHG (r2, @r8, r3)
-
-	tst	r3, r3
-	bt/s	6f
-	 mov	#-ETIMEDOUT, r1
-	cmp/eq	r5, r1
-	bf	1b
-
-2:	mov	#ETIMEDOUT, r3
-
-6:
-	add	#8, r15
-	cfi_adjust_cfa_offset (-8)
-	mov.l	@r15+, r8
-	cfi_adjust_cfa_offset (-4)
-	cfi_restore (r8)
-	mov.l	@r15+, r9
-	cfi_adjust_cfa_offset (-4)
-	cfi_restore (r9)
-	mov.l	@r15+, r10
-	cfi_adjust_cfa_offset (-4)
-	cfi_restore (r10)
-	mov.l	@r15+, r11
-	cfi_adjust_cfa_offset (-4)
-	cfi_restore (r11)
-	mov.l	@r15+, r12
-	cfi_adjust_cfa_offset (-4)
-	cfi_restore (r12)
-	rts
-	 mov	r3, r0
-
-	cfi_restore_state
-
-3:
-	mov.l	@r15+, r12
-	cfi_adjust_cfa_offset (-4)
-	cfi_restore (r12)
-	rts
-	 mov	#EINVAL, r0
-# endif
-	cfi_endproc
-
-.L1k:
-	.word	1000
-	.align	2
-.L1g:
-	.long	1000000000
-
-	.size	__lll_timedlock_wait,.-__lll_timedlock_wait
-#endif
-
-	.globl	__lll_unlock_wake_private
-	.type	__lll_unlock_wake_private,@function
-	.hidden	__lll_unlock_wake_private
-	.align	5
-	cfi_startproc
-__lll_unlock_wake_private:
-	LOAD_PRIVATE_FUTEX_WAKE (r5, r0, r1)
-	mov	#1, r6		/* Wake one thread.  */
-	mov	#0, r7
-	mov.l	r7, @r4		/* Stores 0.  */
-	mov	#SYS_futex, r3
-	extu.b	r3, r3
-	trapa	#0x14
-	SYSCALL_INST_PAD
-	rts
-	 nop
-	cfi_endproc
-	.size	__lll_unlock_wake_private,.-__lll_unlock_wake_private
-
-#ifdef NOT_IN_libc
-	.globl	__lll_unlock_wake
-	.type	__lll_unlock_wake,@function
-	.hidden	__lll_unlock_wake
-	.align	5
-	cfi_startproc
-__lll_unlock_wake:
-	LOAD_FUTEX_WAKE (r5, r0, r1)
-	mov	#1, r6		/* Wake one thread.  */
-	mov	#0, r7
-	mov.l	r7, @r4		/* Stores 0.  */
-	mov	#SYS_futex, r3
-	extu.b	r3, r3
-	trapa	#0x14
-	SYSCALL_INST_PAD
-	rts
-	 nop
-	cfi_endproc
-	.size	__lll_unlock_wake,.-__lll_unlock_wake
-
-	.globl	__lll_timedwait_tid
-	.type	__lll_timedwait_tid,@function
-	.hidden	__lll_timedwait_tid
-	.align	5
-	cfi_startproc
-__lll_timedwait_tid:
-	mov.l	r9, @-r15
-	cfi_adjust_cfa_offset(4)
-	cfi_rel_offset (r9, 0)
-	mov.l	r8, @-r15
-	cfi_adjust_cfa_offset(4)
-	cfi_rel_offset (r8, 0)
-	mov	r4, r8
-	mov	r5, r9
-
-	/* Stack frame for the timespec and timeval structs.  */
-	add	#-8, r15
-	cfi_adjust_cfa_offset(8)
-
-2:
-	/* Get current time.  */
-	mov	r15, r4
-	mov	#0, r5
-	mov	#__NR_gettimeofday, r3
-	trapa	#0x12
-	SYSCALL_INST_PAD
-
-	/* Compute relative timeout.  */
-	mov.l	@(4,r15), r0
-	mov.w	.L1k2, r1
-	dmulu.l	r0, r1		/* Micro seconds to nano seconds.  */
-	mov.l	@r9, r2
-	mov.l	@(4,r9), r3
-	mov.l	@r15, r0
-	sts	macl, r1
-	sub	r0, r2
-	clrt
-	subc	r1, r3
-	bf	5f
-	mov.l	.L1g2, r1
-	add	r1, r3
-	add	#-1, r2
-5:
-	cmp/pz	r2
-	bf	6f		/* Time is already up.  */
-
-	mov.l	r2, @r15	/* Store relative timeout.  */
-	mov.l	r3, @(4,r15)
-
-	mov.l	@r8, r2
-	tst	r2, r2
-	bt	4f
-
-	mov	r8, r4
-	/* XXX The kernel so far uses global futex for the wakeup at
-	   all times.  */
-	mov	#0, r5
-	extu.b	r5, r5
-	mov	r2, r6
-	mov	r15, r7
-	mov	#SYS_futex, r3
-	extu.b	r3, r3
-	trapa	#0x14
-	SYSCALL_INST_PAD
-
-	mov.l	@r8, r2
-	tst	r2, r2
-	bf	1f
-4:
-	mov	#0, r0
-3:
-	cfi_remember_state
-	add	#8, r15
-	cfi_adjust_cfa_offset (-8)
-	mov.l	@r15+, r8
-	cfi_adjust_cfa_offset (-4)
-	cfi_restore (r8)
-	rts
-	 mov.l	@r15+, r9
-	/* Omit CFI for restore in delay slot.  */
-	cfi_restore_state
-1:
-	/* Check whether the time expired.  */
-	mov	#-ETIMEDOUT, r1
-	cmp/eq	r0, r1
-	bf	2b
-6:
-	bra	3b
-	 mov	#ETIMEDOUT, r0
-	cfi_endproc
-
-.L1k2:
-	.word	1000
-	.align	2
-.L1g2:
-	.long	1000000000
-	.size	__lll_timedwait_tid,.-__lll_timedwait_tid
-#endif
diff --git a/nptl/sysdeps/unix/sysv/linux/sh/lowlevellock.h b/nptl/sysdeps/unix/sysv/linux/sh/lowlevellock.h
deleted file mode 100644
index 438632d962..0000000000
--- a/nptl/sysdeps/unix/sysv/linux/sh/lowlevellock.h
+++ /dev/null
@@ -1,419 +0,0 @@
-/* Copyright (C) 2003-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/>.  */
-
-#ifndef _LOWLEVELLOCK_H
-#define _LOWLEVELLOCK_H	1
-
-#ifndef __ASSEMBLER__
-#include <time.h>
-#include <sys/param.h>
-#include <bits/pthreadtypes.h>
-#include <kernel-features.h>
-#endif
-
-#define SYS_futex		240
-#define FUTEX_WAIT		0
-#define FUTEX_WAKE		1
-#define FUTEX_CMP_REQUEUE	4
-#define FUTEX_WAKE_OP		5
-#define FUTEX_LOCK_PI		6
-#define FUTEX_UNLOCK_PI		7
-#define FUTEX_TRYLOCK_PI	8
-#define FUTEX_WAIT_BITSET	9
-#define FUTEX_WAKE_BITSET	10
-#define FUTEX_PRIVATE_FLAG	128
-#define FUTEX_CLOCK_REALTIME	256
-
-#define FUTEX_BITSET_MATCH_ANY	0xffffffff
-
-#define FUTEX_OP_CLEAR_WAKE_IF_GT_ONE	((4 << 24) | 1)
-
-/* Values for 'private' parameter of locking macros.  Yes, the
-   definition seems to be backwards.  But it is not.  The bit will be
-   reversed before passing to the system call.  */
-#define LLL_PRIVATE    0
-#define LLL_SHARED     FUTEX_PRIVATE_FLAG
-
-
-#if !defined NOT_IN_libc || defined IS_IN_rtld
-/* In libc.so or ld.so all futexes are private.  */
-# ifdef __ASSUME_PRIVATE_FUTEX
-#  define __lll_private_flag(fl, private) \
-  ((fl) | FUTEX_PRIVATE_FLAG)
-# else
-#  define __lll_private_flag(fl, private) \
-  ((fl) | THREAD_GETMEM (THREAD_SELF, header.private_futex))
-# endif
-#else
-# ifdef __ASSUME_PRIVATE_FUTEX
-#  define __lll_private_flag(fl, private) \
-  (((fl) | FUTEX_PRIVATE_FLAG) ^ (private))
-# else
-#  define __lll_private_flag(fl, private) \
-  (__builtin_constant_p (private)					      \
-   ? ((private) == 0							      \
-      ? ((fl) | THREAD_GETMEM (THREAD_SELF, header.private_futex))	      \
-      : (fl))								      \
-   : ((fl) | (((private) ^ FUTEX_PRIVATE_FLAG)				      \
-	      & THREAD_GETMEM (THREAD_SELF, header.private_futex))))
-# endif
-#endif
-
-#ifndef __ASSEMBLER__
-
-/* Initializer for compatibility lock.  */
-#define LLL_LOCK_INITIALIZER		(0)
-#define LLL_LOCK_INITIALIZER_LOCKED	(1)
-#define LLL_LOCK_INITIALIZER_WAITERS	(2)
-
-extern int __lll_lock_wait_private (int val, int *__futex)
-  attribute_hidden;
-extern int __lll_lock_wait (int val, int *__futex, int private)
-  attribute_hidden;
-extern int __lll_timedlock_wait (int val, int *__futex,
-				 const struct timespec *abstime, int private)
-  attribute_hidden;
-extern int __lll_robust_lock_wait (int val, int *__futex, int private)
-  attribute_hidden;
-extern int __lll_robust_timedlock_wait (int val, int *__futex,
-					const struct timespec *abstime,
-					int private)
-  attribute_hidden;
-extern int __lll_unlock_wake_private (int *__futex) attribute_hidden;
-extern int __lll_unlock_wake (int *__futex, int private) attribute_hidden;
-
-#define lll_trylock(futex) \
-  ({ unsigned char __result; \
-     __asm __volatile ("\
-	.align 2\n\
-	mova 1f,r0\n\
-	nop\n\
-	mov r15,r1\n\
-	mov #-8,r15\n\
-     0: mov.l @%1,r2\n\
-	cmp/eq r2,%3\n\
-	bf 1f\n\
-	mov.l %2,@%1\n\
-     1: mov r1,r15\n\
-	mov #-1,%0\n\
-	negc %0,%0"\
-	: "=r" (__result) \
-	: "r" (&(futex)), \
-	  "r" (LLL_LOCK_INITIALIZER_LOCKED), \
-	  "r" (LLL_LOCK_INITIALIZER) \
-	: "r0", "r1", "r2", "t", "memory"); \
-     __result; })
-
-#define lll_robust_trylock(futex, id)	\
-  ({ unsigned char __result; \
-     __asm __volatile ("\
-	.align 2\n\
-	mova 1f,r0\n\
-	nop\n\
-	mov r15,r1\n\
-	mov #-8,r15\n\
-     0: mov.l @%1,r2\n\
-	cmp/eq r2,%3\n\
-	bf 1f\n\
-	mov.l %2,@%1\n\
-     1: mov r1,r15\n\
-	mov #-1,%0\n\
-	negc %0,%0"\
-	: "=r" (__result) \
-	: "r" (&(futex)), \
-	  "r" (id), \
-	  "r" (LLL_LOCK_INITIALIZER) \
-	: "r0", "r1", "r2", "t", "memory"); \
-     __result; })
-
-#define lll_cond_trylock(futex) \
-  ({ unsigned char __result; \
-     __asm __volatile ("\
-	.align 2\n\
-	mova 1f,r0\n\
-	nop\n\
-	mov r15,r1\n\
-	mov #-8,r15\n\
-     0: mov.l @%1,r2\n\
-	cmp/eq r2,%3\n\
-	bf 1f\n\
-	mov.l %2,@%1\n\
-     1: mov r1,r15\n\
-	mov #-1,%0\n\
-	negc %0,%0"\
-	: "=r" (__result) \
-	: "r" (&(futex)), \
-	  "r" (LLL_LOCK_INITIALIZER_WAITERS), \
-	  "r" (LLL_LOCK_INITIALIZER) \
-	: "r0", "r1", "r2", "t", "memory"); \
-     __result; })
-
-#define lll_lock(futex, private) \
-  (void) ({ int __result, *__futex = &(futex); \
-	    __asm __volatile ("\
-		.align 2\n\
-		mova 1f,r0\n\
-		nop\n\
-		mov r15,r1\n\
-		mov #-8,r15\n\
-	     0: mov.l @%2,%0\n\
-		tst %0,%0\n\
-		bf 1f\n\
-		mov.l %1,@%2\n\
-	     1: mov r1,r15"\
-		: "=&r" (__result) : "r" (1), "r" (__futex) \
-		: "r0", "r1", "t", "memory"); \
-	    if (__result) \
-	      { \
-		if (__builtin_constant_p (private) \
-		    && (private) == LLL_PRIVATE) \
-		  __lll_lock_wait_private (__result, __futex); \
-	        else \
-		  __lll_lock_wait (__result, __futex, (private));	\
-	      } \
-    })
-
-#define lll_robust_lock(futex, id, private) \
-  ({ int __result, *__futex = &(futex); \
-     __asm __volatile ("\
-	.align 2\n\
-	mova 1f,r0\n\
-	nop\n\
-	mov r15,r1\n\
-	mov #-8,r15\n\
-      0: mov.l @%2,%0\n\
-	tst %0,%0\n\
-	bf 1f\n\
-	mov.l %1,@%2\n\
-      1: mov r1,r15"\
-	: "=&r" (__result) : "r" (id), "r" (__futex) \
-	: "r0", "r1", "t", "memory"); \
-     if (__result) \
-       __result = __lll_robust_lock_wait (__result, __futex, private); \
-     __result; })
-
-/* Special version of lll_mutex_lock which causes the unlock function to
-   always wakeup waiters.  */
-#define lll_cond_lock(futex, private) \
-  (void) ({ int __result, *__futex = &(futex); \
-	    __asm __volatile ("\
-		.align 2\n\
-		mova 1f,r0\n\
-		nop\n\
-		mov r15,r1\n\
-		mov #-8,r15\n\
-	     0: mov.l @%2,%0\n\
-		tst %0,%0\n\
-		bf 1f\n\
-		mov.l %1,@%2\n\
-	     1: mov r1,r15"\
-		: "=&r" (__result) : "r" (2), "r" (__futex) \
-		: "r0", "r1", "t", "memory"); \
-	    if (__result) \
-	      __lll_lock_wait (__result, __futex, private); })
-
-#define lll_robust_cond_lock(futex, id, private) \
-  ({ int __result, *__futex = &(futex); \
-     __asm __volatile ("\
-	.align 2\n\
-	mova 1f,r0\n\
-	nop\n\
-	mov r15,r1\n\
-	mov #-8,r15\n\
-     0: mov.l @%2,%0\n\
-	tst %0,%0\n\
-	bf 1f\n\
-	mov.l %1,@%2\n\
-     1: mov r1,r15"\
-	: "=&r" (__result) : "r" (id | FUTEX_WAITERS), "r" (__futex) \
-	: "r0", "r1", "t", "memory"); \
-      if (__result) \
-	__result = __lll_robust_lock_wait (__result, __futex, private); \
-      __result; })
-
-#define lll_timedlock(futex, timeout, private) \
-  ({ int __result, *__futex = &(futex); \
-     __asm __volatile ("\
-	.align 2\n\
-	mova 1f,r0\n\
-	nop\n\
-	mov r15,r1\n\
-	mov #-8,r15\n\
-     0: mov.l @%2,%0\n\
-	tst %0,%0\n\
-	bf 1f\n\
-	mov.l %1,@%2\n\
-     1: mov r1,r15"\
-	: "=&r" (__result) : "r" (1), "r" (__futex) \
-	: "r0", "r1", "t", "memory"); \
-    if (__result) \
-      __result = __lll_timedlock_wait (__result, __futex, timeout, private); \
-    __result; })
-
-#define lll_robust_timedlock(futex, timeout, id, private) \
-  ({ int __result, *__futex = &(futex); \
-     __asm __volatile ("\
-	.align 2\n\
-	mova 1f,r0\n\
-	nop\n\
-	mov r15,r1\n\
-	mov #-8,r15\n\
-     0: mov.l @%2,%0\n\
-	tst %0,%0\n\
-	bf 1f\n\
-	mov.l %1,@%2\n\
-     1: mov r1,r15"\
-	: "=&r" (__result) : "r" (id), "r" (__futex) \
-	: "r0", "r1", "t", "memory"); \
-    if (__result) \
-      __result = __lll_robust_timedlock_wait (__result, __futex, \
-					      timeout, private); \
-    __result; })
-
-#define lll_unlock(futex, private) \
-  (void) ({ int __result, *__futex = &(futex); \
-	    __asm __volatile ("\
-		.align 2\n\
-		mova 1f,r0\n\
-		mov r15,r1\n\
-		mov #-6,r15\n\
-	     0: mov.l @%1,%0\n\
-		add #-1,%0\n\
-		mov.l %0,@%1\n\
-	     1: mov r1,r15"\
-		: "=&r" (__result) : "r" (__futex) \
-		: "r0", "r1", "memory"); \
-	    if (__result) \
-	      { \
-		if (__builtin_constant_p (private) \
-		    && (private) == LLL_PRIVATE) \
-		  __lll_unlock_wake_private (__futex); \
-	        else \
-		  __lll_unlock_wake (__futex, (private)); \
-	      } \
-    })
-
-#define lll_robust_unlock(futex, private) \
-  (void) ({ int __result, *__futex = &(futex); \
-	    __asm __volatile ("\
-		.align 2\n\
-		mova 1f,r0\n\
-		mov r15,r1\n\
-		mov #-6,r15\n\
-	     0: mov.l @%1,%0\n\
-		and %2,%0\n\
-		mov.l %0,@%1\n\
-	     1: mov r1,r15"\
-		: "=&r" (__result) : "r" (__futex), "r" (FUTEX_WAITERS) \
-		: "r0", "r1", "memory");	\
-	    if (__result) \
-	      __lll_unlock_wake (__futex, private); })
-
-#define lll_robust_dead(futex, private)		       \
-  (void) ({ int __ignore, *__futex = &(futex); \
-	    __asm __volatile ("\
-		.align 2\n\
-		mova 1f,r0\n\
-		mov r15,r1\n\
-		mov #-6,r15\n\
-	     0: mov.l @%1,%0\n\
-		or %2,%0\n\
-		mov.l %0,@%1\n\
-	     1: mov r1,r15"\
-		: "=&r" (__ignore) : "r" (__futex), "r" (FUTEX_OWNER_DIED) \
-		: "r0", "r1", "memory");	\
-	    lll_futex_wake (__futex, 1, private); })
-
-# ifdef NEED_SYSCALL_INST_PAD
-#  define SYSCALL_WITH_INST_PAD "\
-	trapa #0x14; or r0,r0; or r0,r0; or r0,r0; or r0,r0; or r0,r0"
-# else
-#  define SYSCALL_WITH_INST_PAD "\
-	trapa #0x14"
-# endif
-
-#define lll_futex_wait(futex, val, private) \
-  lll_futex_timed_wait (futex, val, NULL, private)
-
-
-#define lll_futex_timed_wait(futex, val, timeout, private) \
-  ({									      \
-    int __status;							      \
-    register unsigned long __r3 asm ("r3") = SYS_futex;			      \
-    register unsigned long __r4 asm ("r4") = (unsigned long) (futex);	      \
-    register unsigned long __r5 asm ("r5")				      \
-      = __lll_private_flag (FUTEX_WAIT, private);			      \
-    register unsigned long __r6 asm ("r6") = (unsigned long) (val);	      \
-    register unsigned long __r7 asm ("r7") = (timeout);			      \
-    __asm __volatile (SYSCALL_WITH_INST_PAD				      \
-		      : "=z" (__status)					      \
-		      : "r" (__r3), "r" (__r4), "r" (__r5),		      \
-			"r" (__r6), "r" (__r7)				      \
-		      : "memory", "t");					      \
-    __status;								      \
-  })
-
-
-#define lll_futex_wake(futex, nr, private) \
-  do {									      \
-    int __ignore;							      \
-    register unsigned long __r3 asm ("r3") = SYS_futex;			      \
-    register unsigned long __r4 asm ("r4") = (unsigned long) (futex);	      \
-    register unsigned long __r5 asm ("r5")				      \
-      = __lll_private_flag (FUTEX_WAKE, private);			      \
-    register unsigned long __r6 asm ("r6") = (unsigned long) (nr);	      \
-    register unsigned long __r7 asm ("r7") = 0;				      \
-    __asm __volatile (SYSCALL_WITH_INST_PAD				      \
-		      : "=z" (__ignore)					      \
-		      : "r" (__r3), "r" (__r4), "r" (__r5),		      \
-			"r" (__r6), "r" (__r7)				      \
-		      : "memory", "t");					      \
-  } while (0)
-
-
-#define lll_islocked(futex) \
-  (futex != LLL_LOCK_INITIALIZER)
-
-/* The kernel notifies a process which uses CLONE_CHILD_CLEARTID via futex
-   wakeup when the clone terminates.  The memory location contains the
-   thread ID while the clone is running and is reset to zero
-   afterwards.  */
-
-#define lll_wait_tid(tid) \
-  do {									      \
-    __typeof (tid) *__tid = &(tid);					      \
-    while (*__tid != 0)							      \
-      lll_futex_wait (__tid, *__tid, LLL_SHARED);			      \
-  } while (0)
-
-extern int __lll_timedwait_tid (int *tid, const struct timespec *abstime)
-     attribute_hidden;
-#define lll_timedwait_tid(tid, abstime) \
-  ({									      \
-    int __result = 0;							      \
-    if (tid != 0)							      \
-      {									      \
-	if (abstime->tv_nsec < 0 || abstime->tv_nsec >= 1000000000)	      \
-	  __result = EINVAL;						      \
-	else								      \
-	  __result = __lll_timedwait_tid (&tid, abstime);		      \
-      }									      \
-    __result; })
-
-#endif  /* !__ASSEMBLER__ */
-
-#endif  /* lowlevellock.h */
diff --git a/nptl/sysdeps/unix/sysv/linux/sh/lowlevelrobustlock.S b/nptl/sysdeps/unix/sysv/linux/sh/lowlevelrobustlock.S
deleted file mode 100644
index 65b8d0cdcd..0000000000
--- a/nptl/sysdeps/unix/sysv/linux/sh/lowlevelrobustlock.S
+++ /dev/null
@@ -1,278 +0,0 @@
-/* Copyright (C) 2003-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/>.  */
-
-#include <sysdep.h>
-#include <pthread-errnos.h>
-#include <lowlevellock.h>
-#include <lowlevelrobustlock.h>
-#include <kernel-features.h>
-#include "lowlevel-atomic.h"
-
-	.text
-
-#define FUTEX_WAITERS		0x80000000
-#define FUTEX_OWNER_DIED	0x40000000
-
-#ifdef __ASSUME_PRIVATE_FUTEX
-# define LOAD_FUTEX_WAIT(reg,tmp,tmp2) \
-	mov	#(FUTEX_WAIT | FUTEX_PRIVATE_FLAG), tmp; \
-	extu.b	tmp, tmp; \
-	xor	tmp, reg
-#else
-# if FUTEX_WAIT == 0
-#  define LOAD_FUTEX_WAIT(reg,tmp,tmp2) \
-	stc	gbr, tmp	; \
-	mov.w	99f, tmp2	; \
-	add	tmp2, tmp 	; \
-	mov.l	@tmp, tmp2	; \
-	bra	98f		; \
-	 mov	#FUTEX_PRIVATE_FLAG, tmp ; \
-99:	.word	PRIVATE_FUTEX - TLS_PRE_TCB_SIZE ; \
-98:	extu.b	tmp, tmp	; \
-	xor	tmp, reg	; \
-	and	tmp2, reg
-# else
-#  define LOAD_FUTEX_WAIT(reg,tmp,tmp2) \
-	stc	gbr, tmp	; \
-	mov.w	99f, tmp2	; \
-	add	tmp2, tmp 	; \
-	mov.l	@tmp, tmp2	; \
-	bra	98f		; \
-	 mov	#FUTEX_PRIVATE_FLAG, tmp ; \
-99:	.word	PRIVATE_FUTEX - TLS_PRE_TCB_SIZE ; \
-98:	extu.b	tmp, tmp	; \
-	xor	tmp, reg	; \
-	and	tmp2, reg	; \
-	mov	#FUTEX_WAIT, tmp ; \
-	or	tmp, reg
-# endif
-#endif
-
-	.globl	__lll_robust_lock_wait
-	.type	__lll_robust_lock_wait,@function
-	.hidden	__lll_robust_lock_wait
-	.align	5
-	cfi_startproc
-__lll_robust_lock_wait:
-	mov.l	r8, @-r15
-	cfi_adjust_cfa_offset(4)
-	cfi_rel_offset (r8, 0)
-	mov	r5, r8
-	mov	#0, r7		/* No timeout.  */
-	mov	r6, r5
-	LOAD_FUTEX_WAIT (r5, r0, r1)
-
-4:
-	mov	r4, r6
-	mov.l	.L_FUTEX_WAITERS, r0
-	or	r0, r6
-	shlr	r0		/* r0 = FUTEX_OWNER_DIED */
-	tst	r0, r4
-	bf/s	3f
-	 cmp/eq	r4, r6
-	bt	1f
-
-	CMPXCHG (r4, @r8, r6, r2)
-	bf	2f
-
-1:
-	mov	r8, r4
-	mov	#SYS_futex, r3
-	extu.b	r3, r3
-	trapa	#0x14
-	SYSCALL_INST_PAD
-
-	mov.l	@r8, r2
-
-2:
-	tst	r2, r2
-	bf/s	4b
-	 mov	r2, r4
-
-	stc	gbr, r1
-	mov.w	.Ltidoff, r2
-	add	r2, r1
-	mov.l	@r1, r6
-	mov	#0, r3
-	CMPXCHG (r3, @r8, r6, r4)
-	bf	4b
-	mov	#0, r4
-
-3:
-	mov.l	@r15+, r8
-	cfi_adjust_cfa_offset (-4)
-	cfi_restore (r8)
-	ret
-	 mov	r4, r0
-	cfi_endproc
-	.align	2
-.L_FUTEX_WAITERS:
-	.long	FUTEX_WAITERS
-.Ltidoff:
-	.word	TID - TLS_PRE_TCB_SIZE
-	.size	__lll_robust_lock_wait,.-__lll_robust_lock_wait
-
-
-	.globl	__lll_robust_timedlock_wait
-	.type	__lll_robust_timedlock_wait,@function
-	.hidden	__lll_robust_timedlock_wait
-	.align	5
-	cfi_startproc
-__lll_robust_timedlock_wait:
-	/* Check for a valid timeout value.  */
-	mov.l	@(4,r6), r1
-	mov.l	.L1g, r0
-	cmp/hs	r0, r1
-	bt	3f
-
-	cfi_remember_state
-
-	mov.l	r11, @-r15
-	cfi_adjust_cfa_offset(4)
-	cfi_rel_offset (r11, 0)
-	mov.l	r10, @-r15
-	cfi_adjust_cfa_offset(4)
-	cfi_rel_offset (r10, 0)
-	mov.l	r9, @-r15
-	cfi_adjust_cfa_offset(4)
-	cfi_rel_offset (r9, 0)
-	mov.l	r8, @-r15
-	cfi_adjust_cfa_offset(4)
-	cfi_rel_offset (r8, 0)
-	mov	r7, r11
-	mov	r4, r10
-	mov	r6, r9
-	mov	r5, r8
-
-	/* Stack frame for the timespec and timeval structs.  */
-	add	#-8, r15
-	cfi_adjust_cfa_offset(8)
-
-1:
-	/* Get current time.  */
-	mov	r15, r4
-	mov	#0, r5
-	mov	#__NR_gettimeofday, r3
-	trapa	#0x12
-	SYSCALL_INST_PAD
-
-	/* Compute relative timeout.  */
-	mov.l	@(4,r15), r0
-	mov.w	.L1k, r1
-	dmulu.l	r0, r1		/* Micro seconds to nano seconds.  */
-	mov.l	@r9, r2
-	mov.l	@(4,r9), r3
-	mov.l	@r15, r0
-	sts	macl, r1
-	sub	r0, r2
-	clrt
-	subc	r1, r3
-	bf	4f
-	mov.l	.L1g, r1
-	add	r1, r3
-	add	#-1, r2
-4:
-	cmp/pz	r2
-	bf	8f		/* Time is already up.  */
-
-	mov.l	r2, @r15	/* Store relative timeout.  */
-	mov.l	r3, @(4,r15)
-
-	mov	r10, r6
-	mov.l	.L_FUTEX_WAITERS2, r0
-	or	r0, r6
-	shlr	r0		/* r0 = FUTEX_OWNER_DIED */
-	tst	r0, r4
-	bf/s	6f
-	 cmp/eq	r4, r6
-	bt	2f
-
-	CMPXCHG (r4, @r8, r6, r2)
-	bf/s	5f
-	 mov	#0, r5
-
-2:
-	mov	r8, r4
-	mov	r11, r5
-	LOAD_FUTEX_WAIT (r5, r0, r1)
-	mov	r10, r6
-	mov	r15, r7
-	mov	#SYS_futex, r3
-	extu.b	r3, r3
-	trapa	#0x14
-	SYSCALL_INST_PAD
-	mov	r0, r5
-
-	mov.l	@r8, r2
-
-5:
-	tst	r2, r2
-	bf/s	7f
-	 mov	r2, r10
-
-	stc	gbr, r1
-	mov.w	.Ltidoff2, r2
-	add	r2, r1
-	mov.l	@r1, r4
-	mov	#0, r3
-	CMPXCHG (r3, @r8, r4, r10)
-	bf	7f
-	mov	#0, r0
-
-6:
-	cfi_remember_state
-	add	#8, r15
-	cfi_adjust_cfa_offset (-8)
-	mov.l	@r15+, r8
-	cfi_adjust_cfa_offset (-4)
-	cfi_restore (r8)
-	mov.l	@r15+, r9
-	cfi_adjust_cfa_offset (-4)
-	cfi_restore (r9)
-	mov.l	@r15+, r10
-	cfi_adjust_cfa_offset (-4)
-	cfi_restore (r10)
-	rts
-	 mov.l	@r15+, r11
-	/* Omit CFI for restore in delay slot.  */
-	cfi_restore_state
-
-7:
-	/* Check whether the time expired.  */
-	mov	#-ETIMEDOUT, r1
-	cmp/eq	r5, r1
-	bf	1b
-
-8:
-	bra	6b
-	 mov	#ETIMEDOUT, r0
-
-	cfi_restore_state
-3:
-	rts
-	 mov	#EINVAL, r0
-	cfi_endproc
-	.align	2
-.L_FUTEX_WAITERS2:
-	.long	FUTEX_WAITERS
-.L1g:
-	.long	1000000000
-.Ltidoff2:
-	.word	TID - TLS_PRE_TCB_SIZE
-.L1k:
-	.word	1000
-	.size	__lll_robust_timedlock_wait,.-__lll_robust_timedlock_wait
diff --git a/nptl/sysdeps/unix/sysv/linux/sh/pthread_barrier_wait.S b/nptl/sysdeps/unix/sysv/linux/sh/pthread_barrier_wait.S
deleted file mode 100644
index 946b1d746f..0000000000
--- a/nptl/sysdeps/unix/sysv/linux/sh/pthread_barrier_wait.S
+++ /dev/null
@@ -1,239 +0,0 @@
-/* Copyright (C) 2003-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/>.  */
-
-#include <sysdep.h>
-#include <lowlevellock.h>
-#include <lowlevelbarrier.h>
-#include "lowlevel-atomic.h"
-
-	.text
-
-	.globl	pthread_barrier_wait
-	.type	pthread_barrier_wait,@function
-	.align	5
-	cfi_startproc
-pthread_barrier_wait:
-	mov.l	r9, @-r15
-	cfi_adjust_cfa_offset (4)
-	cfi_rel_offset (r9, 0)
-	mov.l	r8, @-r15
-	cfi_adjust_cfa_offset (4)
-	cfi_rel_offset (r8, 0)
-	sts.l	pr, @-r15
-	cfi_adjust_cfa_offset (4)
-	cfi_rel_offset (pr, 0)
-	mov	r4, r8
-
-	/* Get the mutex.  */
-	mov	#0, r3
-	mov	#1, r4
-	CMPXCHG (r3, @(MUTEX,r8), r4, r2)
-	bf	1f
-
-	/* One less waiter.  If this was the last one needed wake
-	   everybody.  */
-2:
-	mov.l	@(LEFT,r8), r0
-	add	#-1, r0
-	mov.l	r0, @(LEFT,r8)
-	tst	r0, r0
-	bt	3f
-
-	/* There are more threads to come.  */
-	mov.l	@(CURR_EVENT,r8), r6
-
-	/* Release the mutex.  */
-	DEC (@(MUTEX,r8), r2)
-	tst	r2, r2
-	bf	6f
-7:
-	/* Wait for the remaining threads.  The call will return immediately
-	   if the CURR_EVENT memory has meanwhile been changed.  */
-	mov	r8, r4
-#if CURR_EVENT != 0
-	add	#CURR_EVENT, r4
-#endif
-#if FUTEX_WAIT == 0
-	mov.l	@(PRIVATE,r8), r5
-#else
-	mov	#FUTEX_WAIT, r5
-	mov.l	@(PRIVATE,r8), r0
-	or	r0, r5
-#endif
-	mov	#0, r7
-8:
-	mov	#SYS_futex, r3
-	extu.b	r3, r3
-	trapa	#0x14
-	SYSCALL_INST_PAD
-
-	/* Don't return on spurious wakeups.  The syscall does not change
-	   any register except r0 so there is no need to reload any of
-	   them.  */
-	mov.l	@(CURR_EVENT,r8), r0
-	cmp/eq	r0, r6
-	bt	8b
-
-	/* Increment LEFT.  If this brings the count back to the
-	   initial count unlock the object.  */
-	mov	#1, r3
-	mov.l	@(INIT_COUNT,r8), r4
-	XADD	(r3, @(LEFT,r8), r2, r5)
-	add	#-1, r4
-	cmp/eq	r2, r4
-	bf	10f
-
-	/* Release the mutex.  We cannot release the lock before
-	   waking the waiting threads since otherwise a new thread might
-	   arrive and gets waken up, too.  */
-	DEC (@(MUTEX,r8), r2)
-	tst	r2, r2
-	bf	9f
-
-10:
-	cfi_remember_state
-	lds.l	@r15+, pr
-	cfi_adjust_cfa_offset (-4)
-	cfi_restore (pr)
-	mov.l	@r15+, r8
-	cfi_adjust_cfa_offset (-4)
-	cfi_restore (r8)
-	mov.l	@r15+, r9
-	cfi_adjust_cfa_offset (-4)
-	cfi_restore (r9)
-	rts
-	 mov	#0, r0		/* != PTHREAD_BARRIER_SERIAL_THREAD */
-	cfi_restore_state
-
-3:
-	/* The necessary number of threads arrived.  */
-	mov.l	@(CURR_EVENT,r8), r1
-	add	#1, r1
-	mov.l	r1, @(CURR_EVENT,r8)
-
-	/* Wake up all waiters.  The count is a signed number in the kernel
-	   so 0x7fffffff is the highest value.  */
-	mov.l	.Lall, r6
-	mov	r8, r4
-#if CURR_EVENT != 0
-	add	#CURR_EVENT, r4
-#endif
-	mov	#0, r7
-	mov	#FUTEX_WAKE, r5
-	mov.l	@(PRIVATE,r8), r0
-	or	r0, r5
-	mov	#SYS_futex, r3
-	extu.b	r3, r3
-	trapa	#0x14
-	SYSCALL_INST_PAD
-
-	/* Increment LEFT.  If this brings the count back to the
-	   initial count unlock the object.  */
-	mov	#1, r3
-	mov.l	@(INIT_COUNT,r8), r4
-	XADD	(r3, @(LEFT,r8), r2, r5)
-	add	#-1, r4
-	cmp/eq	r2, r4
-	bf	5f
-
-	/* Release the mutex.  */
-	DEC (@(MUTEX,r8), r2)
-	tst	r2, r2
-	bf	4f
-5:
-	cfi_remember_state
-	lds.l	@r15+, pr
-	cfi_adjust_cfa_offset (-4)
-	cfi_restore (pr)
-	mov.l	@r15+, r8
-	cfi_adjust_cfa_offset (-4)
-	cfi_restore (r8)
-	mov.l	@r15+, r9
-	cfi_adjust_cfa_offset (-4)
-	cfi_restore (r9)
-	rts
-	 mov	#-1, r0		/* == PTHREAD_BARRIER_SERIAL_THREAD */
-	cfi_restore_state
-
-1:
-	mov.l	@(PRIVATE,r8), r6
-	mov	#LLL_SHARED, r0
-	extu.b	r0, r0
-	xor	r0, r6
-	mov	r2, r4
-	mov	r8, r5
-	mov.l	.Lwait0, r1
-	bsrf	r1
-	 add	#MUTEX, r5
-.Lwait0b:
-	bra	2b
-	 nop
-
-4:
-	mov.l	@(PRIVATE,r8), r5
-	mov	#LLL_SHARED, r0
-	extu.b	r0, r0
-	xor	r0, r5
-	mov	r8, r4
-	mov.l	.Lwake0, r1
-	bsrf	r1
-	 add	#MUTEX, r4
-.Lwake0b:
-	bra	5b
-	 nop
-
-6:
-	mov	r6, r9
-	mov.l	@(PRIVATE,r8), r5
-	mov	#LLL_SHARED, r0
-	extu.b	r0, r0
-	xor	r0, r5
-	mov	r8, r4
-	mov.l	.Lwake1, r1
-	bsrf	r1
-	 add	#MUTEX, r4
-.Lwake1b:
-	bra	7b
-	 mov	r9, r6
-
-9:
-	mov	r6, r9
-	mov.l	@(PRIVATE,r8), r5
-	mov	#LLL_SHARED, r0
-	extu.b	r0, r0
-	xor	r0, r5
-	mov	r8, r4
-	mov.l	.Lwake2, r1
-	bsrf	r1
-	 add	#MUTEX, r4
-.Lwake2b:
-	bra	10b
-	 mov	r9, r6
-	cfi_endproc
-
-	.align	2
-.Lall:
-	.long	0x7fffffff
-.Lwait0:
-	.long	__lll_lock_wait-.Lwait0b
-.Lwake0:
-	.long	__lll_unlock_wake-.Lwake0b
-.Lwake1:
-	.long	__lll_unlock_wake-.Lwake1b
-.Lwake2:
-	.long	__lll_unlock_wake-.Lwake2b
-	.size	pthread_barrier_wait,.-pthread_barrier_wait
diff --git a/nptl/sysdeps/unix/sysv/linux/sh/pthread_cond_broadcast.S b/nptl/sysdeps/unix/sysv/linux/sh/pthread_cond_broadcast.S
deleted file mode 100644
index 89b32ccf0e..0000000000
--- a/nptl/sysdeps/unix/sysv/linux/sh/pthread_cond_broadcast.S
+++ /dev/null
@@ -1,292 +0,0 @@
-/* Copyright (C) 2003-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/>.  */
-
-#include <sysdep.h>
-#include <shlib-compat.h>
-#include <lowlevellock.h>
-#include <lowlevelcond.h>
-#include <kernel-features.h>
-#include <pthread-pi-defines.h>
-#include <pthread-errnos.h>
-#include "lowlevel-atomic.h"
-
-	.text
-
-	/* int pthread_cond_broadcast (pthread_cond_t *cond) */
-	.globl	__pthread_cond_broadcast
-	.type	__pthread_cond_broadcast, @function
-	.align	5
-	cfi_startproc
-__pthread_cond_broadcast:
-	mov.l   r10, @-r15
-	cfi_adjust_cfa_offset (4)
-	cfi_rel_offset (r10, 0)
-	mov.l   r9, @-r15
-	cfi_adjust_cfa_offset (4)
-	cfi_rel_offset (r9, 0)
-	mov.l	r8, @-r15
-	cfi_adjust_cfa_offset (4)
-	cfi_rel_offset (r8, 0)
-	sts.l	pr, @-r15
-	cfi_adjust_cfa_offset (4)
-	cfi_rel_offset (pr, 0)
-	mov	r4, r8
-
-	/* Get internal lock.  */
-	mov	#0, r3
-	mov	#1, r4
-#if cond_lock != 0
-	CMPXCHG (r3, @(cond_lock,r8), r4, r2)
-#else
-	CMPXCHG (r3, @r8, r4, r2)
-#endif
-	bf	1f
-2:
-	mov.l	@(total_seq+4,r8),r0
-	mov.l	@(total_seq,r8),r1
-	mov.l	@(wakeup_seq+4,r8), r2
-	cmp/hi	r2, r0
-	bt	3f
-	cmp/hi	r0, r2
-	bt	4f
-	mov.l	@(wakeup_seq,r8), r2
-	cmp/hi	r2, r1
-	bf	4f
-
-3:
-	/* Cause all currently waiting threads to recognize they are
-	   woken up.  */
-	mov.l	r1, @(wakeup_seq,r8)
-	mov.l	r0, @(wakeup_seq+4,r8)
-	mov.l	r1, @(woken_seq,r8)
-	mov.l	r0, @(woken_seq+4,r8)
-	mov.l	@(broadcast_seq,r8), r2
-	add	#1, r2
-	mov.l	r2, @(broadcast_seq,r8)
-	add	r1, r1
-	mov	r1, r10
-	mov.l	r10, @(cond_futex,r8)
-
-	/* Get the address of the mutex used.  */
-	mov.l	@(dep_mutex,r8), r9
-
-	/* Unlock.  */
-#if cond_lock != 0
-	DEC (@(cond_lock,r8), r2)
-#else
-	DEC (@r8, r2)
-#endif
-	tst	r2, r2
-	bf	7f
-
-8:
-	/* Don't use requeue for pshared condvars.  */
-	mov	#-1, r0
-	cmp/eq	r0, r9
-	mov	r8, r4
-	bt/s	9f
-	 add	#cond_futex, r4
-
-	/* XXX: The kernel only supports FUTEX_CMP_REQUEUE to the same
-	   type of futex (private resp. shared).  */
-	mov.l	@(MUTEX_KIND,r9), r0
-	tst	#(PI_BIT|PS_BIT), r0
-	bf	9f
-
-	/* Wake up all threads.  */
-#ifdef __ASSUME_PRIVATE_FUTEX
-	mov	#(FUTEX_CMP_REQUEUE|FUTEX_PRIVATE_FLAG), r5
-	extu.b	r5, r5
-#else
-	stc	gbr, r1
-	mov.w	.Lpfoff, r2
-	add	r2, r1
-	mov.l	@r1, r5
-	mov	#FUTEX_CMP_REQUEUE, r0
-	or	r0, r5
-#endif
-	mov	#1, r6
-	mov	#-1, r7
-	shlr	r7		/* r7 = 0x7fffffff */
-	mov	r9, r0
-# if MUTEX_FUTEX != 0
-	add	#MUTEX_FUTEX, r0
-# endif
-	mov	r10, r1
-	mov	#SYS_futex, r3
-	extu.b	r3, r3
-	trapa	#0x16
-	SYSCALL_INST_PAD
-
-	/* For any kind of error, which mainly is EAGAIN, we try again
-	   with WAKE.  The general test also covers running on old
-	   kernels.  */
-	mov	r0, r1
-	mov	#-12, r2
-	shad	r2, r1
-	not	r1, r1
-	tst	r1, r1
-	mov	r8, r4
-	bt/s	9f
-	 add	#cond_futex, r4
-
-10:
-	cfi_remember_state
-	lds.l	@r15+, pr
-	cfi_adjust_cfa_offset (-4)
-	cfi_restore (pr)
-	mov.l	@r15+, r8
-	cfi_adjust_cfa_offset (-4)
-	cfi_restore (r8)
-	mov.l	@r15+, r9
-	cfi_adjust_cfa_offset (-4)
-	cfi_restore (r9)
-	mov.l	@r15+, r10
-	cfi_adjust_cfa_offset (-4)
-	cfi_restore (r10)
-	rts
-	 mov	#0, r0
-	cfi_restore_state
-
-4:
-	/* Unlock.  */
-#if cond_lock != 0
-	DEC (@(cond_lock,r8), r2)
-#else
-	DEC (@r8, r2)
-#endif
-	tst	r2, r2
-	bf	5f
-6:
-	cfi_remember_state
-	lds.l	@r15+, pr
-	cfi_adjust_cfa_offset (-4)
-	cfi_restore (pr)
-	mov.l	@r15+, r8
-	cfi_adjust_cfa_offset (-4)
-	cfi_restore (r8)
-	mov.l	@r15+, r9
-	cfi_adjust_cfa_offset (-4)
-	cfi_restore (r9)
-	mov.l	@r15+, r10
-	cfi_adjust_cfa_offset (-4)
-	cfi_restore (r10)
-	rts
-	 mov	#0, r0
-	cfi_restore_state
-
-1:
-	/* Initial locking failed.  */
-	mov	r8, r5
-#if cond_lock != 0
-	add	#cond_lock, r5
-#endif
-	mov.l	@(dep_mutex,r8), r0
-	cmp/eq	#-1, r0
-	bf/s	99f
-	 mov	#LLL_PRIVATE, r6
-	mov	#LLL_SHARED, r6
-99:
-	extu.b	r6, r6
-	mov.l	.Lwait5, r1
-	bsrf	r1
-	 mov	r2, r4
-.Lwait5b:
-	bra	2b
-	 nop
-
-5:
-	/* Unlock in loop requires wakeup.  */
-	mov	r8, r4
-#if cond_lock != 0
-	add	#cond_lock, r4
-#endif
-	mov.l	@(dep_mutex,r8), r0
-	cmp/eq	#-1, r0
-	bf/s	99f
-	 mov	#LLL_PRIVATE, r5
-	mov	#LLL_SHARED, r5
-99:
-	mov.l	.Lwake5, r1
-	bsrf	r1
-	 extu.b	r5, r5
-.Lwake5b:
-	bra	6b
-	 nop
-
-7:
-	/* Unlock in loop requires wakeup.  */
-	mov	r8, r4
-#if cond_lock != 0
-	add	#cond_lock, r4
-#endif
-	mov	#-1, r0
-	cmp/eq	r0, r9
-	bf/s	99f
-	 mov	#LLL_PRIVATE, r5
-	mov	#LLL_SHARED, r5
-99:
-	mov.l	.Lwake6, r1
-	bsrf	r1
-	 extu.b	r5, r5
-.Lwake6b:
-	bra	8b
-	 nop
-
-9:
-	mov	#-1, r0
-	cmp/eq	r0, r9
-	bt/s	99f
-	 mov	#FUTEX_WAKE, r5
-#ifdef __ASSUME_PRIVATE_FUTEX
-	mov	#(FUTEX_WAKE|FUTEX_PRIVATE_FLAG), r5
-	extu.b	r5, r5
-#else
-	stc	gbr, r1
-	mov.w	.Lpfoff, r2
-	add	r2, r1
-	mov.l	@r1, r5
-	mov	#FUTEX_WAKE, r0
-	or	r0, r5
-#endif
-99:
-	mov	#-1, r6
-	shlr	r6		/* r6 = 0x7fffffff */
-	mov	#0, r7
-	mov	#SYS_futex, r3
-	extu.b	r3, r3
-	trapa	#0x14
-	SYSCALL_INST_PAD
-	bra	10b
-	 nop
-	cfi_endproc
-
-#ifndef __ASSUME_PRIVATE_FUTEX
-.Lpfoff:
-	.word	PRIVATE_FUTEX - TLS_PRE_TCB_SIZE
-#endif
-
-	.align	2
-.Lwait5:
-	.long	__lll_lock_wait-.Lwait5b
-.Lwake5:
-	.long	__lll_unlock_wake-.Lwake5b
-.Lwake6:
-	.long	__lll_unlock_wake-.Lwake6b
-	.size	__pthread_cond_broadcast, .-__pthread_cond_broadcast
-versioned_symbol (libpthread, __pthread_cond_broadcast, pthread_cond_broadcast,
-		  GLIBC_2_3_2)
diff --git a/nptl/sysdeps/unix/sysv/linux/sh/pthread_cond_signal.S b/nptl/sysdeps/unix/sysv/linux/sh/pthread_cond_signal.S
deleted file mode 100644
index b2ca812dfe..0000000000
--- a/nptl/sysdeps/unix/sysv/linux/sh/pthread_cond_signal.S
+++ /dev/null
@@ -1,202 +0,0 @@
-/* Copyright (C) 2003-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/>.  */
-
-#include <sysdep.h>
-#include <shlib-compat.h>
-#include <lowlevellock.h>
-#include <lowlevelcond.h>
-#include <kernel-features.h>
-#include <pthread-errnos.h>
-#include "lowlevel-atomic.h"
-
-	.text
-
-	/* int pthread_cond_signal (pthread_cond_t *cond) */
-	.globl	__pthread_cond_signal
-	.type	__pthread_cond_signal, @function
-	.align	5
-	cfi_startproc
-__pthread_cond_signal:
-	mov.l	r8, @-r15
-	cfi_adjust_cfa_offset (4)
-	cfi_rel_offset (r8, 0)
-	sts.l	pr, @-r15
-	cfi_adjust_cfa_offset (4)
-	cfi_rel_offset (pr, 0)
-	mov	r4, r8
-
-	/* Get internal lock.  */
-	mov	#0, r3
-	mov	#1, r4
-#if cond_lock != 0
-	CMPXCHG (r3, @(cond_lock,r8), r4, r2)
-#else
-	CMPXCHG (r3, @r8, r4, r2)
-#endif
-	bf	1f
-2:
-	mov.l	@(total_seq+4,r8),r0
-	mov.l	@(total_seq,r8),r1
-	mov.l	@(wakeup_seq+4,r8), r2
-	cmp/hi	r2, r0
-	bt	3f
-	cmp/hi	r0, r2
-	bt	4f
-	mov.l	@(wakeup_seq,r8), r2
-	cmp/hi	r2, r1
-	bf	4f
-
-3:
-	/* Bump the wakeup number.  */
-	mov	#1, r2
-	mov	#0, r3
-	clrt
-	mov.l	@(wakeup_seq,r8),r0
-	mov.l	@(wakeup_seq+4,r8),r1
-	addc	r2, r0
-	addc	r3, r1
-	mov.l	r0,@(wakeup_seq,r8)
-	mov.l	r1,@(wakeup_seq+4,r8)
-	mov.l	@(cond_futex,r8),r0
-	add	r2, r0
-	mov.l	r0,@(cond_futex,r8)
-
-	/* Wake up one thread.  */
-	mov	r8, r4
-	add	#cond_futex, r4
-	mov.l	@(dep_mutex,r8), r0
-	cmp/eq	#-1, r0
-	bt/s	99f
-	 mov	#FUTEX_WAKE_OP, r5
-#ifdef __ASSUME_PRIVATE_FUTEX
-	mov	#(FUTEX_WAKE_OP|FUTEX_PRIVATE_FLAG), r5
-	extu.b	r5, r5
-#else
-	stc	gbr, r1
-	mov.w	.Lpfoff, r2
-	add	r2, r1
-	mov.l	@r1, r5
-	mov	#FUTEX_WAKE_OP, r0
-	or	r0, r5
-#endif
-99:
-	mov	#1, r6
-	mov	#0, r7
-	mov	r8, r0
-	add	#cond_lock, r0
-	mov.l	.Lfutexop, r1
-	mov	#SYS_futex, r3
-	extu.b	r3, r3
-	trapa	#0x14
-	SYSCALL_INST_PAD
-
-	/* For any kind of error, we try again with WAKE.
-	   The general test also covers running on old kernels.  */
-	mov	r0, r1
-	mov	#-12, r2
-	shad	r2, r1
-	not	r1, r1
-	tst	r1, r1
-	bt	7f
-
-6:
-	cfi_remember_state
-	lds.l	@r15+, pr
-	cfi_adjust_cfa_offset (-4)
-	cfi_restore (pr)
-	mov.l	@r15+, r8
-	cfi_adjust_cfa_offset (-4)
-	cfi_restore (r8)
-	rts
-	 mov	#0, r0
-	cfi_restore_state
-
-#ifndef __ASSUME_PRIVATE_FUTEX
-.Lpfoff:
-	.word	PRIVATE_FUTEX - TLS_PRE_TCB_SIZE
-#endif
-	.align	2
-.Lfutexop:
-	.long	FUTEX_OP_CLEAR_WAKE_IF_GT_ONE
-
-7:
-	/* r5 should be either FUTEX_WAKE_OP or
-	   FUTEX_WAKE_OP|FUTEX_PRIVATE_FLAG from the previous syscall.  */
-	mov	#(FUTEX_WAKE ^ FUTEX_WAKE_OP), r0
-	xor	r0, r5
-	trapa	#0x14
-	SYSCALL_INST_PAD
-
-4:
-	/* Unlock.  */
-#if cond_lock != 0
-	DEC (@(cond_lock,r8), r2)
-#else
-	DEC (@r8, r2)
-#endif
-	tst	r2, r2
-	bt	6b
-
-5:
-	/* Unlock in loop requires wakeup.  */
-	mov	r8, r4
-#if cond_lock != 0
-	add	#cond_lock, r4
-#endif
-	mov.l	@(dep_mutex,r8), r0
-	cmp/eq	#-1, r0
-	bf/s	99f
-	 mov	#LLL_PRIVATE, r5
-	mov	#LLL_SHARED, r5
-99:
-	mov.l	.Lwake4, r1
-	bsrf	r1
-	 extu.b	r5, r5
-.Lwake4b:
-	bra	6b
-	 nop
-
-1:
-	/* Initial locking failed.  */
-	mov	r8, r5
-#if cond_lock != 0
-	add	#cond_lock, r5
-#endif
-	mov.l	@(dep_mutex,r8), r0
-	cmp/eq	#-1, r0
-	bf/s	99f
-	 mov	#LLL_PRIVATE, r6
-	mov	#LLL_SHARED, r6
-99:
-	extu.b	r6, r6
-	mov.l	.Lwait4, r1
-	bsrf	r1
-	 mov	r2, r4
-.Lwait4b:
-	bra	2b
-	 nop
-	cfi_endproc
-
-	.align	2
-.Lwait4:
-	.long	__lll_lock_wait-.Lwait4b
-.Lwake4:
-	.long	__lll_unlock_wake-.Lwake4b
-	.size	__pthread_cond_signal, .-__pthread_cond_signal
-versioned_symbol (libpthread, __pthread_cond_signal, pthread_cond_signal,
-		  GLIBC_2_3_2)
-
diff --git a/nptl/sysdeps/unix/sysv/linux/sh/pthread_cond_timedwait.S b/nptl/sysdeps/unix/sysv/linux/sh/pthread_cond_timedwait.S
deleted file mode 100644
index 94b99e724b..0000000000
--- a/nptl/sysdeps/unix/sysv/linux/sh/pthread_cond_timedwait.S
+++ /dev/null
@@ -1,769 +0,0 @@
-/* Copyright (C) 2003-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/>.  */
-
-#include <sysdep.h>
-#include <shlib-compat.h>
-#include <lowlevellock.h>
-#include <lowlevelcond.h>
-#include <pthread-errnos.h>
-#include <kernel-features.h>
-#include <tcb-offsets.h>
-#include "lowlevel-atomic.h"
-
-	.text
-
-/* int pthread_cond_timedwait (pthread_cond_t *cond, pthread_mutex_t *mutex,
-			       const struct timespec *abstime)  */
-	.globl	__pthread_cond_timedwait
-	.type	__pthread_cond_timedwait, @function
-	.align	5
-	cfi_startproc
-__pthread_cond_timedwait:
-.LSTARTCODE:
-#ifdef SHARED
-	cfi_personality(DW_EH_PE_pcrel | DW_EH_PE_sdata4 | DW_EH_PE_indirect,
-			DW.ref.__gcc_personality_v0)
-	cfi_lsda(DW_EH_PE_pcrel | DW_EH_PE_sdata4, .LexceptSTART)
-#else
-	cfi_personality(DW_EH_PE_absptr, __gcc_personality_v0)
-	cfi_lsda(DW_EH_PE_absptr, .LexceptSTART)
-#endif
-	mov.l	r8, @-r15
-	cfi_adjust_cfa_offset (4)
-	cfi_rel_offset (r8, 0)
-	mov.l	r9, @-r15
-	cfi_adjust_cfa_offset (4)
-	cfi_rel_offset (r9, 0)
-	mov.l	r10, @-r15
-	cfi_adjust_cfa_offset (4)
-	cfi_rel_offset (r10, 0)
-	mov.l	r11, @-r15
-	cfi_adjust_cfa_offset (4)
-	cfi_rel_offset (r11, 0)
-	mov.l	r12, @-r15
-	cfi_adjust_cfa_offset (4)
-	cfi_rel_offset (r12, 0)
-	mov.l	r13, @-r15
-	cfi_adjust_cfa_offset (4)
-	cfi_rel_offset (r13, 0)
-	sts.l	pr, @-r15
-	cfi_adjust_cfa_offset (4)
-	cfi_rel_offset (pr, 0)
-	add	#-64, r15
-	cfi_adjust_cfa_offset (64)
-
-	mov	r4, r8
-	mov	r5, r9
-	mov	r6, r13
-#ifdef PIC
-	mova	.Lgot0, r0
-	mov.l	.Lgot0, r12
-	add	r0, r12
-#endif
-
-	mov.l	@(4,r13), r0
-	mov.l	.L1g, r1
-	cmp/hs	r1, r0
-	bf	0f
-	bra	18f
-	 mov	#EINVAL, r0
-0:
-	/* Get internal lock.  */
-	mov	#0, r3
-	mov	#1, r4
-#if cond_lock != 0
-	CMPXCHG (r3, @(cond_lock,r8), r4, r2)
-#else
-	CMPXCHG (r3, @r8, r4, r2)
-#endif
-	bt	2f
-	bra	1f
-	 nop
-#ifdef PIC
-	.align	2
-.Lgot0:
-	.long	_GLOBAL_OFFSET_TABLE_
-#endif
-
-2:
-	/* Store the reference to the mutex.  If there is already a
-	   different value in there this is a bad user bug.  */
-	mov.l	@(dep_mutex,r8),r0
-	cmp/eq	#-1, r0
-	bt	17f
-	mov.l	r9, @(dep_mutex,r8)
-
-17:
-	/* Unlock the mutex.  */
-	mov.l	.Lmunlock1, r1
-	mov	#0, r5
-	bsrf	r1
-	 mov	r9, r4
-.Lmunlock1b:
-
-	tst	r0, r0
-	bt	0f
-	bra	16f
-	 nop
-0:
-	mov	#1, r2
-	mov	#0, r3
-
-	clrt
-	mov.l	@(total_seq,r8),r0
-	mov.l	@(total_seq+4,r8),r1
-	addc	r2, r0
-	addc	r3, r1
-	mov.l	r0,@(total_seq,r8)
-	mov.l	r1,@(total_seq+4,r8)
-	mov.l	@(cond_futex,r8), r0
-	add	r2, r0
-	mov.l	r0, @(cond_futex,r8)
-	mov	#(1 << nwaiters_shift), r2
-	mov.l	@(cond_nwaiters,r8), r0
-	add	r2, r0
-	mov.l	r0, @(cond_nwaiters,r8)
-
-	/* Get and store current wakeup_seq value.  */
-	mov.l	@(wakeup_seq,r8), r10
-	mov.l	@(wakeup_seq+4,r8), r11
-	mov.l	@(broadcast_seq,r8), r0
-	mov.l	r0, @(4,r15)
-
-8:
-	/* Get current time.  */
-#ifdef __NR_clock_gettime
-	/* Get the clock number.	 */
-	mov.l	@(cond_nwaiters,r8), r4
-	mov	#((1 << nwaiters_shift) - 1), r0
-	and	r0, r4
-	/* Only clocks 0 and 1 are allowed.  Both are handled in the
-	   kernel.  */
-	mov	r15, r5
-	add	#16, r5
-	mov.w	.L__NR_clock_gettime, r3
-	trapa	#0x12
-	SYSCALL_INST_PAD
-
-	/* Compute relative timeout.  */
-	mov.l	@r13, r2
-	mov.l	@(4,r13), r3
-	mov.l	@(16,r15), r0
-	bra	0f
-	 mov.l	@(20,r15), r1
-.L__NR_clock_gettime:
-	.word	__NR_clock_gettime
-
-0:
-#else
-	mov	r15, r4
-	add	#16, r4
-	mov	#0, r5
-	mov	#__NR_gettimeofday, r3
-	trapa	#0x12
-	SYSCALL_INST_PAD
-
-	/* Compute relative timeout.  */
-	mov.l	@(20,r15), r0
-	mov.w	.L1k, r1
-	dmulu.l	r0, r1		/* Micro seconds to nano seconds.  */
-	mov.l	@r13, r2
-	mov.l	@(4,r13), r3
-	mov.l	@(16,r15), r0
-	sts	macl, r1
-#endif
-	sub	r0, r2
-	clrt
-	subc	r1, r3
-	bf	12f
-	mov.l	.L1g, r1
-	add	r1, r3
-	add	#-1, r2
-12:
-	mov	#-ETIMEDOUT, r1
-	mov.l	r1, @(12,r15)
-	cmp/pz	r2
-	bf	6f		/* Time is already up.  */
-
-	/* Store relative timeout.  */
-	mov.l	r2, @(16,r15)
-	mov.l	r3, @(20,r15)
-	mov.l	@(cond_futex,r8), r1
-	mov.l	r1, @(8,r15)
-
-	/* Unlock.  */
-#if cond_lock != 0
-	DEC (@(cond_lock,r8), r2)
-#else
-	DEC (@r8, r2)
-#endif
-	tst	r2, r2
-	bt	4f
-	bra	3f
-	 nop
-4:
-.LcleanupSTART:
-	mov.l	.Lenable1, r1
-	bsrf	r1
-	 nop
-.Lenable1b:
-	mov.l	r0, @r15
-
-	mov	r15, r7
-	add	#16, r7
-	mov.l	@(dep_mutex,r8), r0
-	cmp/eq	#-1, r0
-	bt/s	99f
-	 mov	#FUTEX_WAIT, r5
-#ifdef __ASSUME_PRIVATE_FUTEX
-	mov	#(FUTEX_WAIT|FUTEX_PRIVATE_FLAG), r5
-	extu.b	r5, r5
-#else
-	stc	gbr, r1
-	mov.w	.Lpfoff, r2
-	add	r2, r1
-	mov.l	@r1, r5
-	mov	#FUTEX_WAIT, r0
-	or	r0, r5
-#endif
-99:
-	mov.l	@(8,r15), r6
-	mov	r8, r4
-	add	#cond_futex, r4
-	mov	#SYS_futex, r3
-	extu.b	r3, r3
-	trapa	#0x14
-	SYSCALL_INST_PAD
-	mov.l	r0, @(12,r15)
-
-	mov.l	.Ldisable1, r1
-	bsrf	r1
-	 mov.l	@r15, r4
-.Ldisable1b:
-.LcleanupEND:
-
-	/* Lock.  */
-	mov	#0, r3
-	mov	#1, r4
-#if cond_lock != 0
-	CMPXCHG (r3, @(cond_lock,r8), r4, r2)
-#else
-	CMPXCHG (r3, @r8, r4, r2)
-#endif
-	bf	5f
-6:
-	mov.l	@(broadcast_seq,r8), r0
-	mov.l	@(4,r15), r1
-	cmp/eq	r0, r1
-	bf	23f
-
-	mov.l	@(woken_seq,r8), r0
-	mov.l	@(woken_seq+4,r8), r1
-
-	mov.l	@(wakeup_seq,r8), r2
-	mov.l	@(wakeup_seq+4,r8), r3
-
-	cmp/eq	r3, r11
-	bf	7f
-	cmp/eq	r2, r10
-	bt	15f
-7:
-	cmp/eq	r1, r3
-	bf	9f
-	cmp/eq	r0, r2
-	bf	9f
-15:
-	mov.l	@(12,r15),r0
-	cmp/eq	#-ETIMEDOUT, r0
-	bf	8b
-
-	mov	#1, r2
-	mov	#0, r3
-
-	clrt
-	mov.l	@(wakeup_seq,r8),r0
-	mov.l	@(wakeup_seq+4,r8),r1
-	addc	r2, r0
-	addc	r3, r1
-	mov.l	r0,@(wakeup_seq,r8)
-	mov.l	r1,@(wakeup_seq+4,r8)
-	mov.l	@(cond_futex,r8),r0
-	add	r2, r0
-	mov.l	r0,@(cond_futex,r8)
-	mov	#ETIMEDOUT, r0
-	bra	14f
-	 mov.l	r0, @(24,r15)
-
-23:
-	mov	#0, r0
-	bra	24f
-	 mov.l	r0, @(24,r15)
-
-9:
-	mov	#0, r0
-	mov.l	r0, @(24,r15)
-14:
-	mov	#1, r2
-	mov	#0, r3
-
-	clrt
-	mov.l	@(woken_seq,r8),r0
-	mov.l	@(woken_seq+4,r8),r1
-	addc	r2, r0
-	addc	r3, r1
-	mov.l	r0,@(woken_seq,r8)
-	mov.l	r1,@(woken_seq+4,r8)
-
-24:
-	mov	#(1 << nwaiters_shift), r2
-	mov.l	@(cond_nwaiters,r8),r0
-	sub	r2, r0
-	mov.l	r0,@(cond_nwaiters,r8)
-
-	/* Wake up a thread which wants to destroy the condvar object.  */
-	mov.l	@(total_seq,r8),r0
-	mov.l	@(total_seq+4,r8),r1
-	and	r1, r0
-	not	r0, r0
-	cmp/eq	#0, r0
-	bf/s	25f
-	 mov	#((1 << nwaiters_shift) - 1), r1
-	not	r1, r1
-	mov.l	@(cond_nwaiters,r8),r0
-	tst	r1, r0
-	bf	25f
-
-	mov	r8, r4
-	add	#cond_nwaiters, r4
-	mov.l	@(dep_mutex,r8), r0
-	cmp/eq	#-1, r0
-	bt/s	99f
-	 mov	#FUTEX_WAKE, r5
-#ifdef __ASSUME_PRIVATE_FUTEX
-	mov	#(FUTEX_WAKE|FUTEX_PRIVATE_FLAG), r5
-	extu.b	r5, r5
-#else
-	stc	gbr, r1
-	mov.w	.Lpfoff, r2
-	add	r2, r1
-	mov.l	@r1, r5
-	mov	#FUTEX_WAKE, r0
-	or	r0, r5
-#endif
-99:
-	mov	#1, r6
-	mov	#0, r7
-	mov	#SYS_futex, r3
-	extu.b	r3, r3
-	trapa	#0x14
-	SYSCALL_INST_PAD
-
-25:
-#if cond_lock != 0
-	DEC (@(cond_lock,r8), r2)
-#else
-	DEC (@r8, r2)
-#endif
-	tst	r2, r2
-	bf	10f
-
-11:
-	mov	r9, r4
-	mov.l	.Lmlocki1, r1
-	bsrf	r1
-	 nop
-.Lmlocki1b:
-
-	/* We return the result of the mutex_lock operation if it failed.  */
-	tst	r0, r0
-	bf	18f
-	mov.l	@(24,r15), r0
-
-18:
-	cfi_remember_state
-	add	#64, r15
-	cfi_adjust_cfa_offset (-64)
-	lds.l	@r15+, pr
-	cfi_adjust_cfa_offset (-4)
-	cfi_restore (pr)
-	mov.l	@r15+, r13
-	cfi_adjust_cfa_offset (-4)
-	cfi_restore (r13)
-	mov.l	@r15+, r12
-	cfi_adjust_cfa_offset (-4)
-	cfi_restore (r12)
-	mov.l	@r15+, r11
-	cfi_adjust_cfa_offset (-4)
-	cfi_restore (r11)
-	mov.l	@r15+, r10
-	cfi_adjust_cfa_offset (-4)
-	cfi_restore (r10)
-	mov.l	@r15+, r9
-	cfi_adjust_cfa_offset (-4)
-	cfi_restore (r9)
-	rts
-	 mov.l	@r15+, r8
-	/* Omit CFI for restore in delay slot.  */
-	cfi_restore_state
-
-#ifndef __ASSUME_PRIVATE_FUTEX
-.Lpfoff:
-	.word	PRIVATE_FUTEX - TLS_PRE_TCB_SIZE
-#endif
-.L1k:
-	.word	1000
-	.align	2
-.Lmunlock1:
-	.long	__pthread_mutex_unlock_usercnt-.Lmunlock1b
-.Lenable1:
-	.long	__pthread_enable_asynccancel-.Lenable1b
-.Ldisable1:
-	.long	__pthread_disable_asynccancel-.Ldisable1b
-.Lmlocki1:
-	.long	__pthread_mutex_cond_lock-.Lmlocki1b
-.L1g:
-	.long	1000000000
-
-1:
-	/* Initial locking failed.  */
-	mov	r8, r5
-#if cond_lock != 0
-	add	#cond_lock, r5
-#endif
-	mov.l	@(dep_mutex,r8), r0
-	cmp/eq	#-1, r0
-	bf/s	99f
-	 mov	#LLL_PRIVATE, r6
-	mov	#LLL_SHARED, r6
-99:
-	extu.b	r6, r6
-	mov.l	.Lwait2, r1
-	bsrf	r1
-	 mov	r2, r4
-.Lwait2b:
-	bra	2b
-	 nop
-
-3:
-	/* Unlock in loop requires wakeup.  */
-	mov	r8, r4
-#if cond_lock != 0
-	add	#cond_lock, r4
-#endif
-	mov.l	@(dep_mutex,r8), r0
-	cmp/eq	#-1, r0
-	bf/s	99f
-	 mov	#LLL_PRIVATE, r5
-	mov	#LLL_SHARED, r5
-99:
-	mov.l	.Lmwait2, r1
-	bsrf	r1
-	 extu.b	r5, r5
-.Lmwait2b:
-	bra	4b
-	 nop
-
-5:
-	/* Locking in loop failed.  */
-	mov	r8, r5
-#if cond_lock != 0
-	add	#cond_lock, r5
-#endif
-	mov.l	@(dep_mutex,r8), r0
-	cmp/eq	#-1, r0
-	bf/s	99f
-	 mov	#LLL_PRIVATE, r6
-	mov	#LLL_SHARED, r6
-99:
-	extu.b	r6, r6
-	mov.l	.Lwait3, r1
-	bsrf	r1
-	 mov	r2, r4
-.Lwait3b:
-	bra	6b
-	 nop
-
-10:
-	/* Unlock after loop requires wakeup.  */
-	mov	r8, r4
-#if cond_lock != 0
-	add	#cond_lock, r4
-#endif
-	mov.l	@(dep_mutex,r8), r0
-	cmp/eq	#-1, r0
-	bf/s	99f
-	 mov	#LLL_PRIVATE, r5
-	mov	#LLL_SHARED, r5
-99:
-	mov.l	.Lmwait3, r1
-	bsrf	r1
-	 extu.b	r5, r5
-.Lmwait3b:
-	bra	11b
-	 nop
-
-16:
-	/* The initial unlocking of the mutex failed.  */
-	mov.l	r0, @(24,r15)
-#if cond_lock != 0
-	DEC (@(cond_lock,r8), r2)
-#else
-	DEC (@r8, r2)
-#endif
-	tst	r2, r2
-	bf	17f
-
-	mov	r8, r4
-#if cond_lock != 0
-	add	#cond_lock, r4
-#endif
-	mov.l	@(dep_mutex,r8), r0
-	cmp/eq	#-1, r0
-	bf/s	99f
-	 mov	#LLL_PRIVATE, r5
-	mov	#LLL_SHARED, r5
-99:
-	mov.l	.Lmwait4, r1
-	bsrf	r1
-	 extu.b	r5, r5
-.Lmwait4b:
-17:
-	bra	18b
-	 mov.l	@(24,r15), r0
-
-	.align	2
-.Lwait2:
-	.long	__lll_lock_wait-.Lwait2b
-.Lmwait2:
-	.long	__lll_unlock_wake-.Lmwait2b
-.Lwait3:
-	.long	__lll_lock_wait-.Lwait3b
-.Lmwait3:
-	.long	__lll_unlock_wake-.Lmwait3b
-.Lmwait4:
-	.long	__lll_unlock_wake-.Lmwait4b
-	.size	__pthread_cond_timedwait, .-__pthread_cond_timedwait
-versioned_symbol (libpthread, __pthread_cond_timedwait, pthread_cond_timedwait,
-		  GLIBC_2_3_2)
-
-
-	.type	__condvar_tw_cleanup, @function
-__condvar_tw_cleanup:
-	mov	r4, r11
-
-	/* Get internal lock.  */
-	mov	#0, r3
-	mov	#1, r4
-#if cond_lock != 0
-	CMPXCHG (r3, @(cond_lock,r8), r4, r2)
-#else
-	CMPXCHG (r3, @r8, r4, r2)
-#endif
-	bt	1f
-	 nop
-
-	mov	r8, r5
-#if cond_lock != 0
-	add	#cond_lock, r5
-#endif
-	mov.l	@(dep_mutex,r8), r0
-	cmp/eq	#-1, r0
-	bf/s	99f
-	 mov	#LLL_PRIVATE, r6
-	mov	#LLL_SHARED, r6
-99:
-	extu.b	r6, r6
-	mov.l	.Lwait5, r1
-	bsrf	r1
-	 mov	r2, r4
-.Lwait5b:
-
-1:
-	mov.l	@(broadcast_seq,r8), r0
-	mov.l	@(4,r15), r1
-	cmp/eq	r0, r1
-	bf	3f
-
-	mov	#1, r2
-	mov	#0, r3
-
-	/* We increment the wakeup_seq counter only if it is lower than
-	   total_seq.  If this is not the case the thread was woken and
-	   then canceled.  In this case we ignore the signal.  */
-	mov.l	@(total_seq+4,r8), r0
-	mov.l	@(wakeup_seq+4,r8), r1
-	cmp/hi	r1, r0
-	bt/s	6f
-	 cmp/hi	r0, r1
-	bt	7f
-	mov.l	@(total_seq,r8), r0
-	mov.l	@(wakeup_seq,r8), r1
-	cmp/hs	r0, r1
-	bt	7f
-
-6:
-	clrt
-	mov.l	@(wakeup_seq,r8),r0
-	mov.l	@(wakeup_seq+4,r8),r1
-	addc	r2, r0
-	addc	r3, r1
-	mov.l	r0,@(wakeup_seq,r8)
-	mov.l	r1,@(wakeup_seq+4,r8)
-	mov.l	@(cond_futex,r8),r0
-	add	r2, r0
-	mov.l	r0,@(cond_futex,r8)
-
-7:
-	clrt
-	mov.l	@(woken_seq,r8),r0
-	mov.l	@(woken_seq+4,r8),r1
-	addc	r2, r0
-	addc	r3, r1
-	mov.l	r0,@(woken_seq,r8)
-	mov.l	r1,@(woken_seq+4,r8)
-
-3:
-	mov	#(1 << nwaiters_shift), r2
-	mov.l	@(cond_nwaiters,r8),r0
-	sub	r2, r0
-	mov.l	r0,@(cond_nwaiters,r8)
-
-	/* Wake up a thread which wants to destroy the condvar object.  */
-	mov	#0, r10
-	mov.l	@(total_seq,r8),r0
-	mov.l	@(total_seq+4,r8),r1
-	and	r1, r0
-	not	r0, r0
-	cmp/eq	#0, r0
-	bf/s	4f
-	 mov	#((1 << nwaiters_shift) - 1), r1
-	not	r1, r1
-	mov.l	@(cond_nwaiters,r8),r0
-	tst	r1, r0
-	bf	4f
-
-	mov	r8, r4
-	add	#cond_nwaiters, r4
-	mov	#FUTEX_WAKE, r5
-	mov	#1, r6
-	mov	#0, r7
-	mov	#SYS_futex, r3
-	extu.b	r3, r3
-	trapa	#0x14
-	SYSCALL_INST_PAD
-	mov	#1, r10
-
-4:
-#if cond_lock != 0
-	DEC (@(cond_lock,r8), r2)
-#else
-	DEC (@r8, r2)
-#endif
-	tst	r2, r2
-	bt	2f
-
-	mov	r8, r4
-#if cond_lock != 0
-	add	#cond_lock, r4
-#endif
-	mov.l	@(dep_mutex,r8), r0
-	cmp/eq	#-1, r0
-	bf/s	99f
-	 mov	#LLL_PRIVATE, r5
-	mov	#LLL_SHARED, r5
-99:
-	mov.l	.Lmwait5, r1
-	bsrf	r1
-	 extu.b	r5, r5
-.Lmwait5b:
-
-2:
-	/* Wake up all waiters to make sure no signal gets lost.  */
-	tst	r10, r10
-	bf/s	5f
-	 mov	r8, r4
-	add	#cond_futex, r4
-	mov	#FUTEX_WAKE, r5
-	mov	#-1, r6
-	shlr	r6		/* r6 = 0x7fffffff */
-	mov	#0, r7
-	mov	#SYS_futex, r3
-	extu.b	r3, r3
-	trapa	#0x14
-	SYSCALL_INST_PAD
-
-5:
-        mov.l   .Lmlocki5, r1
-        bsrf    r1
-         mov     r9, r4
-.Lmlocki5b:
-
-.LcallUR:
-	mov.l	.Lresume, r1
-#ifdef PIC
-	add	r12, r1
-#endif
-	jsr	@r1
-	 mov	r11, r4
-	sleep
-
-	.align	2
-.Lwait5:
-	.long   __lll_lock_wait-.Lwait5b
-.Lmwait5:
-        .long   __lll_unlock_wake-.Lmwait5b
-.Lmlocki5:
-	.long   __pthread_mutex_cond_lock-.Lmlocki5b
-.Lresume:
-#ifdef PIC
-	.long	_Unwind_Resume@GOTOFF
-#else
-	.long	_Unwind_Resume
-#endif
-.LENDCODE:
-	cfi_endproc
-	.size	__condvar_tw_cleanup, .-__condvar_tw_cleanup
-
-
-	.section .gcc_except_table,"a",@progbits
-.LexceptSTART:
-	.byte	DW_EH_PE_omit			! @LPStart format (omit)
-	.byte	DW_EH_PE_omit			! @TType format (omit)
-	.byte	DW_EH_PE_sdata4			! call-site format
-	.uleb128 .Lcstend-.Lcstbegin
-.Lcstbegin:
-	.ualong	.LcleanupSTART-.LSTARTCODE
-	.ualong	.LcleanupEND-.LcleanupSTART
-	.ualong	__condvar_tw_cleanup-.LSTARTCODE
-	.uleb128  0
-	.ualong	.LcallUR-.LSTARTCODE
-	.ualong	.LENDCODE-.LcallUR
-	.ualong	0
-	.uleb128  0
-.Lcstend:
-
-
-#ifdef SHARED
-	.hidden DW.ref.__gcc_personality_v0
-	.weak   DW.ref.__gcc_personality_v0
-	.section .gnu.linkonce.d.DW.ref.__gcc_personality_v0,"aw",@progbits
-	.align 4
-	.type   DW.ref.__gcc_personality_v0, @object
-	.size   DW.ref.__gcc_personality_v0, 4
-DW.ref.__gcc_personality_v0:
-	.long   __gcc_personality_v0
-#endif
diff --git a/nptl/sysdeps/unix/sysv/linux/sh/pthread_cond_wait.S b/nptl/sysdeps/unix/sysv/linux/sh/pthread_cond_wait.S
deleted file mode 100644
index ad01966fc6..0000000000
--- a/nptl/sysdeps/unix/sysv/linux/sh/pthread_cond_wait.S
+++ /dev/null
@@ -1,687 +0,0 @@
-/* Copyright (C) 2003-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/>.  */
-
-#include <sysdep.h>
-#include <shlib-compat.h>
-#include <lowlevellock.h>
-#include <lowlevelcond.h>
-#include <tcb-offsets.h>
-#include <kernel-features.h>
-#include "lowlevel-atomic.h"
-
-	.text
-
-/* int pthread_cond_wait (pthread_cond_t *cond, pthread_mutex_t *mutex)  */
-	.globl	__pthread_cond_wait
-	.type	__pthread_cond_wait, @function
-	.align	5
-	cfi_startproc
-__pthread_cond_wait:
-.LSTARTCODE:
-#ifdef SHARED
-	cfi_personality(DW_EH_PE_pcrel | DW_EH_PE_sdata4 | DW_EH_PE_indirect,
-			DW.ref.__gcc_personality_v0)
-	cfi_lsda(DW_EH_PE_pcrel | DW_EH_PE_sdata4, .LexceptSTART)
-#else
-	cfi_personality(DW_EH_PE_absptr, __gcc_personality_v0)
-	cfi_lsda(DW_EH_PE_absptr, .LexceptSTART)
-#endif
-	mov.l	r8, @-r15
-	cfi_adjust_cfa_offset (4)
-	cfi_rel_offset (r8, 0)
-	mov.l	r9, @-r15
-	cfi_adjust_cfa_offset (4)
-	cfi_rel_offset (r9, 0)
-	mov.l	r10, @-r15
-	cfi_adjust_cfa_offset (4)
-	cfi_rel_offset (r10, 0)
-	mov.l	r11, @-r15
-	cfi_adjust_cfa_offset (4)
-	cfi_rel_offset (r11, 0)
-	mov.l	r12, @-r15
-	cfi_adjust_cfa_offset (4)
-	cfi_rel_offset (r12, 0)
-	sts.l	pr, @-r15
-	cfi_adjust_cfa_offset (4)
-	cfi_rel_offset (pr, 0)
-	add	#-48, r15
-	cfi_adjust_cfa_offset (48)
-
-	mov	r4, r8
-	mov	r5, r9
-#ifdef PIC
-	mova	.Lgot0, r0
-	mov.l	.Lgot0, r12
-	add	r0, r12
-#endif
-
-	/* Get internal lock.  */
-	mov	#0, r3
-	mov	#1, r4
-#if cond_lock != 0
-	CMPXCHG (r3, @(cond_lock,r8), r4, r2)
-#else
-	CMPXCHG (r3, @r8, r4, r2)
-#endif
-	bt	2f
-	bra	1f
-	 nop
-#ifdef PIC
-	.align	2
-.Lgot0:
-	.long	_GLOBAL_OFFSET_TABLE_
-#endif
-
-2:
-	/* Store the reference to the mutex.  If there is already a
-	   different value in there this is a bad user bug.  */
-	mov.l	@(dep_mutex,r8),r0
-	cmp/eq	#-1, r0
-	bt	15f
-	mov.l	r9, @(dep_mutex,r8)
-
-15:
-	/* Unlock the mutex.  */
-	mov.l	.Lmunlock0, r1
-	mov	#0, r5
-	bsrf	r1
-	 mov	r9, r4
-.Lmunlock0b:
-
-	tst	r0, r0
-	bt	0f
-	bra	12f
-	 nop
-0:
-	mov	#1, r2
-	mov	#0, r3
-
-	clrt
-	mov.l	@(total_seq,r8),r0
-	mov.l	@(total_seq+4,r8),r1
-	addc	r2, r0
-	addc	r3, r1
-	mov.l	r0,@(total_seq,r8)
-	mov.l	r1,@(total_seq+4,r8)
-	mov.l	@(cond_futex,r8),r0
-	add	r2, r0
-	mov.l	r0,@(cond_futex,r8)
-	mov	#(1 << nwaiters_shift), r2
-	mov.l	@(cond_nwaiters,r8), r0
-	add	r2, r0
-	mov.l	r0, @(cond_nwaiters,r8)
-
-	/* Get and store current wakeup_seq value.  */
-	mov.l	@(wakeup_seq,r8), r10
-	mov.l	@(wakeup_seq+4,r8), r11
-	mov.l	@(broadcast_seq,r8), r0
-	mov.l	r0, @(4,r15)
-
-8:
-	mov.l	@(cond_futex,r8),r0
-	mov.l	r0, @(8,r15)
-
-	/* Unlock.  */
-#if cond_lock != 0
-	DEC (@(cond_lock,r8), r2)
-#else
-	DEC (@r8, r2)
-#endif
-	tst	r2, r2
-	bf	3f
-4:
-.LcleanupSTART:
-	mov.l	.Lenable0, r1
-	bsrf	r1
-	 nop
-.Lenable0b:
-	mov.l	r0, @r15
-
-	mov	#0, r7
-	mov.l	@(dep_mutex,r8), r0
-	cmp/eq	#-1, r0
-	bt/s	99f
-	 mov	#FUTEX_WAIT, r5
-#ifdef __ASSUME_PRIVATE_FUTEX
-	mov	#(FUTEX_WAIT|FUTEX_PRIVATE_FLAG), r5
-	extu.b	r5, r5
-#else
-	stc	gbr, r1
-	mov.w	.Lpfoff0, r2
-	add	r2, r1
-	mov.l	@r1, r5
-	mov	#FUTEX_WAIT, r0
-	or	r0, r5
-#endif
-99:
-	mov.l	@(8,r15), r6
-	mov	r8, r4
-	add	#cond_futex, r4
-	mov	#SYS_futex, r3
-	extu.b	r3, r3
-	trapa	#0x14
-	SYSCALL_INST_PAD
-
-	mov.l	.Ldisable0, r1
-	bsrf	r1
-	 mov.l	@r15, r4
-.Ldisable0b:
-.LcleanupEND:
-
-	/* Lock.  */
-	mov	#0, r3
-	mov	#1, r4
-#if cond_lock != 0
-	CMPXCHG (r3, @(cond_lock,r8), r4, r2)
-#else
-	CMPXCHG (r3, @r8, r4, r2)
-#endif
-	bf	5f
-6:
-	mov.l	@(broadcast_seq,r8), r0
-	mov.l	@(4,r15), r1
-	cmp/eq	r0, r1
-	bf	16f
-
-	mov.l	@(woken_seq,r8), r0
-	mov.l	@(woken_seq+4,r8), r1
-
-	mov.l	@(wakeup_seq,r8), r2
-	mov.l	@(wakeup_seq+4,r8), r3
-
-	cmp/eq	r3, r11
-	bf	7f
-	cmp/eq	r2, r10
-	bt	8b
-7:
-	cmp/eq	r1, r3
-	bf	9f
-	cmp/eq	r0, r2
-	bt	8b
-9:
-	mov	#1, r2
-	mov	#0, r3
-
-	clrt
-	mov.l	@(woken_seq,r8),r0
-	mov.l	@(woken_seq+4,r8),r1
-	addc	r2, r0
-	addc	r3, r1
-	mov.l	r0,@(woken_seq,r8)
-	mov.l	r1,@(woken_seq+4,r8)
-
-16:
-	mov	#(1 << nwaiters_shift), r2
-	mov.l	@(cond_nwaiters,r8),r0
-	sub	r2, r0
-	mov.l	r0,@(cond_nwaiters,r8)
-
-	/* Wake up a thread which wants to destroy the condvar object.  */
-	mov.l	@(total_seq,r8),r0
-	mov.l	@(total_seq+4,r8),r1
-	and	r1, r0
-	not	r0, r0
-	cmp/eq	#0, r0
-	bf/s	17f
-	 mov	#((1 << nwaiters_shift) - 1), r1
-	not	r1, r1
-	mov.l	@(cond_nwaiters,r8),r0
-	tst	r1, r0
-	bf	17f
-
-	mov	r8, r4
-	add	#cond_nwaiters, r4
-	mov.l	@(dep_mutex,r8), r0
-	cmp/eq	#-1, r0
-	bt/s	99f
-	 mov	#FUTEX_WAKE, r5
-#ifdef __ASSUME_PRIVATE_FUTEX
-	mov	#(FUTEX_WAKE|FUTEX_PRIVATE_FLAG), r5
-	extu.b	r5, r5
-#else
-	stc	gbr, r1
-	mov.w	.Lpfoff0, r2
-	add	r2, r1
-	mov.l	@r1, r5
-	mov	#FUTEX_WAKE, r0
-	or	r0, r5
-#endif
-99:
-	mov	#1, r6
-	mov	#0, r7
-	mov	#SYS_futex, r3
-	extu.b	r3, r3
-	trapa	#0x14
-	SYSCALL_INST_PAD
-
-17:
-#if cond_lock != 0
-	DEC (@(cond_lock,r8), r2)
-#else
-	DEC (@r8, r2)
-#endif
-	tst	r2, r2
-	bf	10f
-
-11:
-	mov.l	.Lmlocki0, r1
-	bsrf	r1
-	 mov	r9, r4
-.Lmlocki0b:
-	/* We return the result of the mutex_lock operation.  */
-
-14:
-	cfi_remember_state
-	add	#48, r15
-	cfi_adjust_cfa_offset (-48)
-	lds.l	@r15+, pr
-	cfi_adjust_cfa_offset (-4)
-	cfi_restore (pr)
-	mov.l	@r15+, r12
-	cfi_adjust_cfa_offset (-4)
-	cfi_restore (r12)
-	mov.l	@r15+, r11
-	cfi_adjust_cfa_offset (-4)
-	cfi_restore (r11)
-	mov.l	@r15+, r10
-	cfi_adjust_cfa_offset (-4)
-	cfi_restore (r10)
-	mov.l	@r15+, r9
-	cfi_adjust_cfa_offset (-4)
-	cfi_restore (r9)
-	rts
-	 mov.l	@r15+, r8
-	/* Omit CFI for restore in delay slot.  */
-	cfi_restore_state
-
-#ifndef __ASSUME_PRIVATE_FUTEX
-.Lpfoff0:
-	.word	PRIVATE_FUTEX - TLS_PRE_TCB_SIZE
-#endif
-	.align	2
-.Lmunlock0:
-	.long	__pthread_mutex_unlock_usercnt-.Lmunlock0b
-.Lenable0:
-	.long	__pthread_enable_asynccancel-.Lenable0b
-.Ldisable0:
-	.long	__pthread_disable_asynccancel-.Ldisable0b
-.Lmlocki0:
-	.long	__pthread_mutex_cond_lock-.Lmlocki0b
-
-1:
-	/* Initial locking failed.  */
-	mov	r8, r5
-#if cond_lock != 0
-	add	#cond_lock, r5
-#endif
-	mov.l	@(dep_mutex,r8), r0
-	cmp/eq	#-1, r0
-	bf/s	99f
-	 mov	#LLL_PRIVATE, r6
-	mov	#LLL_SHARED, r6
-99:
-	extu.b	r6, r6
-	mov.l	.Lwait0, r1
-	bsrf	r1
-	 mov	r2, r4
-.Lwait0b:
-	bra	2b
-	 nop
-3:
-	/* Unlock in loop requires waekup.  */
-	mov	r8, r4
-#if cond_lock != 0
-	add	#cond_lock, r4
-#endif
-	mov.l	@(dep_mutex,r8), r0
-	cmp/eq	#-1, r0
-	bf/s	99f
-	 mov	#LLL_PRIVATE, r5
-	mov	#LLL_SHARED, r5
-99:
-	mov.l	.Lwake0, r1
-	bsrf	r1
-	 extu.b	r5, r5
-.Lwake0b:
-	bra	4b
-	 nop
-
-5:
-	/* Locking in loop failed.  */
-	mov	r8, r5
-#if cond_lock != 0
-	add	#cond_lock, r5
-#endif
-	mov.l	@(dep_mutex,r8), r0
-	cmp/eq	#-1, r0
-	bf/s	99f
-	 mov	#LLL_PRIVATE, r6
-	mov	#LLL_SHARED, r6
-99:
-	extu.b	r6, r6
-	mov.l	.Lwait1, r1
-	bsrf	r1
-	 mov	r2, r4
-.Lwait1b:
-	bra	6b
-	 nop
-
-10:
-	/* Unlock after loop requires wakeup.  */
-	mov	r8, r4
-#if cond_lock != 0
-	add	#cond_lock, r4
-#endif
-	mov.l	@(dep_mutex,r8), r0
-	cmp/eq	#-1, r0
-	bf/s	99f
-	 mov	#LLL_PRIVATE, r5
-	mov	#LLL_SHARED, r5
-99:
-	mov.l	.Lwake1, r1
-	bsrf	r1
-	 extu.b	r5, r5
-.Lwake1b:
-	bra	11b
-	 nop
-
-12:
-	/* The initial unlocking of the mutex failed.  */
-	mov.l	r0, @(12,r15)
-#if cond_lock != 0
-	DEC (@(cond_lock,r8), r2)
-#else
-	DEC (@r8, r2)
-#endif
-	tst	r2, r2
-	bf	13f
-
-	mov	r8, r4
-#if cond_lock != 0
-	add	#cond_lock, r4
-#endif
-	mov.l	@(dep_mutex,r8), r0
-	cmp/eq	#-1, r0
-	bf/s	99f
-	 mov	#LLL_PRIVATE, r5
-	mov	#LLL_SHARED, r5
-99:
-	mov.l	.Lwake2, r1
-	bsrf	r1
-	 extu.b	r5, r5
-.Lwake2b:
-
-13:
-	bra	14b
-	 mov.l	@(12,r15), r0
-
-	.align	2
-.Lwait0:
-	.long	__lll_lock_wait-.Lwait0b
-.Lwake0:
-	.long	__lll_unlock_wake-.Lwake0b
-.Lwait1:
-	.long	__lll_lock_wait-.Lwait1b
-.Lwake1:
-	.long	__lll_unlock_wake-.Lwake1b
-.Lwake2:
-	.long	__lll_unlock_wake-.Lwake2b
-	.size	__pthread_cond_wait, .-__pthread_cond_wait
-versioned_symbol (libpthread, __pthread_cond_wait, pthread_cond_wait,
-		  GLIBC_2_3_2)
-
-
-	.type	__condvar_w_cleanup, @function
-__condvar_w_cleanup:
-	mov	r4, r11
-
-	/* Get internal lock.  */
-	mov	#0, r3
-	mov	#1, r4
-#if cond_lock != 0
-	CMPXCHG (r3, @(cond_lock,r8), r4, r2)
-#else
-	CMPXCHG (r3, @r8, r4, r2)
-#endif
-	bt	1f
-	 nop
-
-	mov	r8, r5
-#if cond_lock != 0
-	add	#cond_lock, r5
-#endif
-	mov.l	@(dep_mutex,r8), r0
-	cmp/eq	#-1, r0
-	bf/s	99f
-	 mov	#LLL_PRIVATE, r6
-	mov	#LLL_SHARED, r6
-99:
-	extu.b	r6, r6
-	mov.l	.Lwait3, r1
-	bsrf	r1
-	 mov	r2, r4
-.Lwait3b:
-
-1:
-	mov.l	@(broadcast_seq,r8), r0
-	mov.l	@(4,r15), r1
-	cmp/eq	r0, r1
-	bf	3f
-
-	mov	#1, r2
-	mov	#0, r3
-
-	/* We increment the wakeup_seq counter only if it is lower than
-	   total_seq.  If this is not the case the thread was woken and
-	   then canceled.  In this case we ignore the signal.  */
-	mov.l	@(total_seq+4,r8), r0
-	mov.l	@(wakeup_seq+4,r8), r1
-	cmp/hi	r1, r0
-	bt/s	6f
-	 cmp/hi	r0, r1
-	bt	7f
-	mov.l	@(total_seq,r8), r0
-	mov.l	@(wakeup_seq,r8), r1
-	cmp/hs	r0, r1
-	bt	7f
-
-6:
-	clrt
-	mov.l	@(wakeup_seq,r8),r0
-	mov.l	@(wakeup_seq+4,r8),r1
-	addc	r2, r0
-	addc	r3, r1
-	mov.l	r0,@(wakeup_seq,r8)
-	mov.l	r1,@(wakeup_seq+4,r8)
-	mov.l	@(cond_futex,r8),r0
-	add	r2, r0
-	mov.l	r0,@(cond_futex,r8)
-
-7:
-	clrt
-	mov.l	@(woken_seq,r8),r0
-	mov.l	@(woken_seq+4,r8),r1
-	addc	r2, r0
-	addc	r3, r1
-	mov.l	r0,@(woken_seq,r8)
-	mov.l	r1,@(woken_seq+4,r8)
-
-3:
-	mov	#(1 << nwaiters_shift), r2
-	mov.l	@(cond_nwaiters,r8),r0
-	sub	r2, r0
-	mov.l	r0,@(cond_nwaiters,r8)
-
-	/* Wake up a thread which wants to destroy the condvar object.  */
-	mov	#0, r10
-	mov.l	@(total_seq,r8),r0
-	mov.l	@(total_seq+4,r8),r1
-	and	r1, r0
-	not	r0, r0
-	cmp/eq	#0, r0
-	bf/s	4f
-	 mov	#((1 << nwaiters_shift) - 1), r1
-	not	r1, r1
-	mov.l	@(cond_nwaiters,r8),r0
-	tst	r1, r0
-	bf	4f
-
-	mov	r8, r4
-	add	#cond_nwaiters, r4
-	mov.l	@(dep_mutex,r8), r0
-	cmp/eq	#-1, r0
-	bt/s	99f
-	 mov	#FUTEX_WAKE, r5
-#ifdef __ASSUME_PRIVATE_FUTEX
-	mov	#(FUTEX_WAKE|FUTEX_PRIVATE_FLAG), r5
-	extu.b	r5, r5
-#else
-	stc	gbr, r1
-	mov.w	.Lpfoff1, r2
-	add	r2, r1
-	mov.l	@r1, r5
-	mov	#FUTEX_WAKE, r0
-	or	r0, r5
-#endif
-99:
-	mov	#1, r6
-	mov	#0, r7
-	mov	#SYS_futex, r3
-	extu.b	r3, r3
-	trapa	#0x14
-	SYSCALL_INST_PAD
-	mov	#1, r10
-
-4:
-#if cond_lock != 0
-	DEC (@(cond_lock,r8), r2)
-#else
-	DEC (@r8, r2)
-#endif
-	tst	r2, r2
-	bt	2f
-
-	mov	r8, r4
-#if cond_lock != 0
-	add	#cond_lock, r4
-#endif
-	mov.l	@(dep_mutex,r8), r0
-	cmp/eq	#-1, r0
-	bf/s	99f
-	 mov	#LLL_PRIVATE, r5
-	mov	#LLL_SHARED, r5
-99:
-	mov.l	.Lwake3, r1
-	bsrf	r1
-	 extu.b	r5, r5
-.Lwake3b:
-
-2:
-	/* Wake up all waiters to make sure no signal gets lost.  */
-	tst	r10, r10
-	bf/s	5f
-	 mov	r8, r4
-	add	#cond_futex, r4
-	mov.l	@(dep_mutex,r8), r0
-	cmp/eq	#-1, r0
-	bt/s	99f
-	 mov	#FUTEX_WAKE, r5
-#ifdef __ASSUME_PRIVATE_FUTEX
-	mov	#(FUTEX_WAKE|FUTEX_PRIVATE_FLAG), r5
-	extu.b	r5, r5
-#else
-	stc	gbr, r1
-	mov.w	.Lpfoff1, r2
-	add	r2, r1
-	mov.l	@r1, r5
-	mov	#FUTEX_WAKE, r0
-	or	r0, r5
-#endif
-99:
-	mov	#-1, r6
-	shlr	r6		/* r6 = 0x7fffffff */
-	mov	#0, r7
-	mov	#SYS_futex, r3
-	extu.b	r3, r3
-	trapa	#0x14
-	SYSCALL_INST_PAD
-
-5:
-        mov.l   .Lmlocki3, r1
-        bsrf    r1
-         mov     r9, r4
-.Lmlocki3b:
-
-.LcallUR:
-	mov.l	.Lresume, r1
-#ifdef PIC
-	add	r12, r1
-#endif
-	jsr	@r1
-	 mov	r11, r4
-	sleep
-
-#ifndef __ASSUME_PRIVATE_FUTEX
-.Lpfoff1:
-	.word	PRIVATE_FUTEX - TLS_PRE_TCB_SIZE
-#endif
-	.align	2
-.Lwait3:
-	.long   __lll_lock_wait-.Lwait3b
-.Lwake3:
-        .long   __lll_unlock_wake-.Lwake3b
-.Lmlocki3:
-	.long   __pthread_mutex_cond_lock-.Lmlocki3b
-.Lresume:
-#ifdef PIC
-	.long	_Unwind_Resume@GOTOFF
-#else
-	.long	_Unwind_Resume
-#endif
-.LENDCODE:
-	cfi_endproc
-	.size	__condvar_w_cleanup, .-__condvar_w_cleanup
-
-
-	.section .gcc_except_table,"a",@progbits
-.LexceptSTART:
-	.byte	DW_EH_PE_omit			! @LPStart format (omit)
-	.byte	DW_EH_PE_omit			! @TType format (omit)
-	.byte	DW_EH_PE_sdata4			! call-site format
-	.uleb128 .Lcstend-.Lcstbegin
-.Lcstbegin:
-	.ualong	.LcleanupSTART-.LSTARTCODE
-	.ualong	.LcleanupEND-.LcleanupSTART
-	.ualong	__condvar_w_cleanup-.LSTARTCODE
-	.uleb128  0
-	.ualong	.LcallUR-.LSTARTCODE
-	.ualong	.LENDCODE-.LcallUR
-	.ualong	0
-	.uleb128  0
-.Lcstend:
-
-
-#ifdef SHARED
-	.hidden DW.ref.__gcc_personality_v0
-	.weak   DW.ref.__gcc_personality_v0
-	.section .gnu.linkonce.d.DW.ref.__gcc_personality_v0,"aw",@progbits
-	.align 4
-	.type   DW.ref.__gcc_personality_v0, @object
-	.size   DW.ref.__gcc_personality_v0, 4
-DW.ref.__gcc_personality_v0:
-	.long   __gcc_personality_v0
-#endif
diff --git a/nptl/sysdeps/unix/sysv/linux/sh/pthread_once.S b/nptl/sysdeps/unix/sysv/linux/sh/pthread_once.S
deleted file mode 100644
index b22cf4491e..0000000000
--- a/nptl/sysdeps/unix/sysv/linux/sh/pthread_once.S
+++ /dev/null
@@ -1,257 +0,0 @@
-/* Copyright (C) 2003-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/>.  */
-
-#include <unwindbuf.h>
-#include <sysdep.h>
-#include <kernel-features.h>
-#include <lowlevellock.h>
-#include "lowlevel-atomic.h"
-
-
-	.comm	__fork_generation, 4, 4
-
-	.text
-	.globl	__pthread_once
-	.type	__pthread_once,@function
-	.align	5
-	cfi_startproc
-__pthread_once:
-	mov.l	@r4, r0
-	tst	#2, r0
-	bt	1f
-	rts
-	 mov	#0, r0
-
-1:
-	mov.l	r12, @-r15
-	cfi_adjust_cfa_offset (4)
-	cfi_rel_offset (r12, 0)
-	mov.l	r9, @-r15
-	cfi_adjust_cfa_offset (4)
-	cfi_rel_offset (r9, 0)
-	mov.l	r8, @-r15
-	cfi_adjust_cfa_offset (4)
-	cfi_rel_offset (r8, 0)
-	sts.l	pr, @-r15
-	cfi_adjust_cfa_offset (4)
-	cfi_rel_offset (pr, 0)
-	mov	r5, r8
-	mov	r4, r9
-
-	/* Not yet initialized or initialization in progress.
-	   Get the fork generation counter now.  */
-6:
-	mov.l	@r4, r1
-	mova	.Lgot, r0
-	mov.l	.Lgot, r12
-	add	r0, r12
-
-5:
-	mov	r1, r0
-
-	tst	#2, r0
-	bf	4f
-
-	and	#3, r0
-	mov.l	.Lfgen, r2
-#ifdef PIC
-	add	r12, r2
-#endif
-	mov.l	@r2, r3
-	or	r3, r0
-	or	#1, r0
-	mov	r0, r3
-	mov	r1, r5
-
-	CMPXCHG (r5, @r4, r3, r2)
-	bf	5b
-
-	/* Check whether another thread already runs the initializer.  */
-	mov	r2, r0
-	tst	#1, r0
-	bt	3f	/* No -> do it.  */
-
-	/* Check whether the initializer execution was interrupted
-	   by a fork.  */
-	xor	r3, r0
-	mov	#-4, r1	/* -4 = 0xfffffffc */
-	tst	r1, r0
-	bf	3f	/* Different for generation -> run initializer.  */
-
-	/* Somebody else got here first.  Wait.  */
-#ifdef __ASSUME_PRIVATE_FUTEX
-	mov	#(FUTEX_PRIVATE_FLAG|FUTEX_WAIT), r5
-	extu.b	r5, r5
-#else
-	stc	gbr, r1
-	mov.w	.Lpfoff, r2
-	add	r2, r1
-	mov.l	@r1, r5
-# if FUTEX_WAIT != 0
-	mov	#FUTEX_WAIT, r0
-	or	r0, r5
-# endif
-#endif
-	mov	r3, r6
-	mov	#0, r7
-	mov	#SYS_futex, r3
-	extu.b	r3, r3
-	trapa	#0x14
-	SYSCALL_INST_PAD
-	bra	6b
-	 nop
-
-	.align	2
-.Lgot:
-	.long	_GLOBAL_OFFSET_TABLE_
-#ifdef PIC
-.Lfgen:
-	.long	__fork_generation@GOTOFF
-#else
-.Lfgen:
-	.long	__fork_generation
-#endif
-
-3:
-	/* Call the initializer function after setting up the
-	   cancellation handler.  Note that it is not possible here
-	   to use the unwind-based cleanup handling.  This would require
-	   that the user-provided function and all the code it calls
-	   is compiled with exceptions.  Unfortunately this cannot be
-	   guaranteed.  */
-	add	#-UNWINDBUFSIZE, r15
-	cfi_adjust_cfa_offset (UNWINDBUFSIZE)
-
-	mov.l	.Lsigsetjmp, r1
-	mov	#UWJMPBUF, r4
-	add	r15, r4
-	bsrf	r1
-	 mov	#0, r5
-.Lsigsetjmp0:
-	tst	r0, r0
-	bf	7f
-
-	mov.l	.Lcpush, r1
-	bsrf	r1
-	 mov	r15, r4
-.Lcpush0:
-
-	/* Call the user-provided initialization function.  */
-	jsr	@r8
-	 nop
-
-	/* Pop the cleanup handler.  */
-	mov.l	.Lcpop, r1
-	bsrf	r1
-	 mov	r15, r4
-.Lcpop0:
-
-	add	#UNWINDBUFSIZE, r15
-	cfi_adjust_cfa_offset (-UNWINDBUFSIZE)
-
-	/* Sucessful run of the initializer.  Signal that we are done.  */
-	INC (@r9, r2)
-	/* Wake up all other threads.  */
-	mov	r9, r4
-#ifdef __ASSUME_PRIVATE_FUTEX
-	mov	#(FUTEX_PRIVATE_FLAG|FUTEX_WAKE), r5
-	extu.b	r5, r5
-#else
-	stc	gbr, r1
-	mov.w	.Lpfoff, r2
-	add	r2, r1
-	mov.l	@r1, r5
-	mov	#FUTEX_WAKE, r0
-	or	r0, r5
-#endif
-	mov	#-1, r6
-	shlr	r6		/* r6 = 0x7fffffff */
-	mov	#0, r7
-	mov	#SYS_futex, r3
-	extu.b	r3, r3
-	trapa	#0x14
-	SYSCALL_INST_PAD
-
-4:
-	lds.l	@r15+, pr
-	cfi_adjust_cfa_offset (-4)
-	cfi_restore (pr)
-	mov.l	@r15+, r8
-	cfi_adjust_cfa_offset (-4)
-	cfi_restore (r8)
-	mov.l	@r15+, r9
-	cfi_adjust_cfa_offset (-4)
-	cfi_restore (r9)
-	mov.l	@r15+, r12
-	cfi_adjust_cfa_offset (-4)
-	cfi_restore (r12)
-	rts
-	 mov	#0, r0
-
-7:
-	/* __sigsetjmp returned for the second time.  */
-	cfi_adjust_cfa_offset (UNWINDBUFSIZE+16)
-	cfi_offset (r12, -4)
-	cfi_offset (r9, -8)
-	cfi_offset (r8, -12)
-	cfi_offset (pr, -16)
-	mov	#0, r7
-	mov.l	r7, @r9
-	mov	r9, r4
-#ifdef __ASSUME_PRIVATE_FUTEX
-	mov	#(FUTEX_PRIVATE_FLAG|FUTEX_WAKE), r5
-#else
-	stc	gbr, r1
-	mov.w	.Lpfoff, r2
-	add	r2, r1
-	mov.l	@r1, r5
-	mov	#FUTEX_WAKE, r0
-	or	r0, r5
-#endif
-	extu.b	r5, r5
-	mov	#-1, r6
-	shlr	r6		/* r6 = 0x7fffffff */
-	mov	#SYS_futex, r3
-	extu.b	r3, r3
-	trapa	#0x14
-	SYSCALL_INST_PAD
-
-	mov.l	.Lunext, r1
-	bsrf	r1
-	 mov	r15, r4
-.Lunext0:
-	/* NOTREACHED */
-	sleep
-	cfi_endproc
-
-#ifndef __ASSUME_PRIVATE_FUTEX
-.Lpfoff:
-	.word	PRIVATE_FUTEX - TLS_PRE_TCB_SIZE
-#endif
-	.align	2
-.Lsigsetjmp:
-	.long	__sigsetjmp@PLT-(.Lsigsetjmp0-.)
-.Lcpush:
-	.long	HIDDEN_JUMPTARGET(__pthread_register_cancel)-.Lcpush0
-.Lcpop:
-	.long	HIDDEN_JUMPTARGET(__pthread_unregister_cancel)-.Lcpop0
-.Lunext:
-	.long	HIDDEN_JUMPTARGET(__pthread_unwind_next)-.Lunext0
-	.size	__pthread_once,.-__pthread_once
-
-hidden_def (__pthread_once)
-strong_alias (__pthread_once, pthread_once)
diff --git a/nptl/sysdeps/unix/sysv/linux/sh/pthread_rwlock_rdlock.S b/nptl/sysdeps/unix/sysv/linux/sh/pthread_rwlock_rdlock.S
deleted file mode 100644
index 34790fd3b8..0000000000
--- a/nptl/sysdeps/unix/sysv/linux/sh/pthread_rwlock_rdlock.S
+++ /dev/null
@@ -1,270 +0,0 @@
-/* Copyright (C) 2003-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/>.  */
-
-#include <sysdep.h>
-#include <lowlevellock.h>
-#include <lowlevelrwlock.h>
-#include <pthread-errnos.h>
-#include <tcb-offsets.h>
-#include <kernel-features.h>
-#include "lowlevel-atomic.h"
-
-
-	.text
-
-	.globl	__pthread_rwlock_rdlock
-	.type	__pthread_rwlock_rdlock,@function
-	.align	5
-	cfi_startproc
-__pthread_rwlock_rdlock:
-	mov.l	r12, @-r15
-	cfi_adjust_cfa_offset (4)
-	cfi_rel_offset (r12, 0)
-	mov.l	r9, @-r15
-	cfi_adjust_cfa_offset (4)
-	cfi_rel_offset (r9, 0)
-	mov.l	r8, @-r15
-	cfi_adjust_cfa_offset (4)
-	cfi_rel_offset (r8, 0)
-	sts.l	pr, @-r15
-	cfi_adjust_cfa_offset (4)
-	cfi_rel_offset (pr, 0)
-	mov	r4, r8
-
-	/* Get the lock.  */
-	mov	#0, r3
-	mov	#1, r4
-#if MUTEX == 0
-	CMPXCHG (r3, @r8, r4, r2)
-#else
-	CMPXCHG (r3, @(MUTEX,r8), r4, r2)
-#endif
-	bf	1f
-2:
-	mov.l	@(WRITER,r8), r0
-	tst	r0, r0
-	bf	14f
-	mov.l	@(WRITERS_QUEUED,r8), r0
-	tst	r0, r0
-	bt	5f
-	mov	#FLAGS, r0
-	mov.b	@(r0,r8), r0
-	tst	r0, r0
-	bt	5f
-3:
-	mov.l	@(READERS_QUEUED,r8), r0
-	add	#1, r0
-	mov.l	r0, @(READERS_QUEUED,r8)
-	tst	r0, r0
-	bt	4f
-
-	mov.l	@(READERS_WAKEUP,r8), r9
-
-#if MUTEX == 0
-	DEC (@r8, r2)
-#else
-	DEC (@(MUTEX,r8), r2)
-#endif
-	tst	r2, r2
-	bf	10f
-11:
-#ifdef __ASSUME_PRIVATE_FUTEX
-	mov	#PSHARED, r0
-	mov.b	@(r0,r8), r5
-	mov	#(FUTEX_PRIVATE_FLAG|FUTEX_WAIT), r0
-	xor	r0, r5
-	extu.b	r5, r5
-#else
-	mov	#PSHARED, r0
-	mov.b	@(r0,r8), r5
-	extu.b	r5, r5
-# if FUTEX_WAIT != 0
-	mov	#FUTEX_WAIT, r0
-	or	r0, r5
-# endif
-	stc	gbr, r1
-	mov.w	.Lpfoff, r2
-	add	r2, r1
-	mov.l	@r1, r0
-	xor	r0, r5
-#endif
-	mov	r8, r4
-	add	#READERS_WAKEUP, r4
-	mov	r9, r6
-	mov	#0, r7
-	mov	#SYS_futex, r3
-	extu.b	r3, r3
-	trapa	#0x14
-	SYSCALL_INST_PAD
-
-	/* Reget the lock.  */
-	mov	#0, r3
-	mov	#1, r4
-#if MUTEX == 0
-	CMPXCHG (r3, @r8, r4, r2)
-#else
-	CMPXCHG (r3, @(MUTEX,r8), r4, r2)
-#endif
-	bf	12f
-13:
-	mov.l	@(READERS_QUEUED,r8), r0
-	add	#-1, r0
-	bra	2b
-	 mov.l	r0, @(READERS_QUEUED,r8)
-
-5:
-	mov	#0, r3
-	mov.l	@(NR_READERS,r8), r0
-	add	#1, r0
-	mov.l	r0, @(NR_READERS,r8)
-	tst	r0, r0
-	bt	8f
-
-9:
-#if MUTEX == 0
-	DEC (@r8, r2)
-#else
-	DEC (@(MUTEX,r8), r2)
-#endif
-	tst	r2, r2
-	bf	6f
-7:
-	cfi_remember_state
-	lds.l	@r15+, pr
-	cfi_adjust_cfa_offset (-4)
-	cfi_restore (pr)
-	mov.l	@r15+, r8
-	cfi_adjust_cfa_offset (-4)
-	cfi_restore (r8)
-	mov.l	@r15+, r9
-	cfi_adjust_cfa_offset (-4)
-	cfi_restore (r9)
-	mov.l	@r15+, r12
-	cfi_adjust_cfa_offset (-4)
-	cfi_restore (r12)
-	rts
-	 mov	r3, r0
-	cfi_restore_state
-
-#ifndef __ASSUME_PRIVATE_FUTEX
-.Lpfoff:
-	.word	PRIVATE_FUTEX - TLS_PRE_TCB_SIZE
-#endif
-
-1:
-	mov	r8, r5
-#if MUTEX != 0
-	add	#MUTEX, r5
-#endif
-	mov	#PSHARED, r0
-	mov.b	@(r0,r8), r6
-	extu.b	r6, r6
-	mov.l	.Lwait0, r1
-	bsrf	r1
-	 mov	r2, r4
-.Lwait0b:
-	bra	2b
-	 nop
-14:
-	stc	gbr, r1
-	mov.w	.Ltidoff, r2
-	add	r2, r1
-	mov.l	@r1, r1
-	cmp/eq	r1, r0
-	bf	3b
-	/* Deadlock detected.  */
-	bra	9b
-	 mov	#EDEADLK, r3
-
-.Ltidoff:
-	.word	TID - TLS_PRE_TCB_SIZE
-
-6:
-	mov	r8, r4
-#if MUTEX != 0
-	add	#MUTEX, r4
-#endif
-	mov	#PSHARED, r0
-	mov.b	@(r0,r8), r5
-	extu.b	r5, r5
-	mov.l	.Lwake0, r1
-	bsrf	r1
-	 nop
-.Lwake0b:
-	bra	7b
-	 mov	#0, r3
-
-8:
-	/* Overflow.  */
-	mov.l	@(NR_READERS,r8), r1
-	add	#-1, r1
-	mov.l	r1, @(NR_READERS,r8)
-	bra	9b
-	 mov	#EAGAIN, r3
-
-4:
-	/* Overflow.  */
-	mov.l	@(READERS_QUEUED,r8), r1
-	add	#-1, r1
-	mov.l	r1, @(READERS_QUEUED,r8)
-	bra	9b
-	 mov	#EAGAIN, r3
-
-10:
-	mov	r8, r4
-#if MUTEX != 0
-	add	#MUTEX, r4
-#endif
-	mov	#PSHARED, r0
-	mov.b	@(r0,r8), r5
-	extu.b	r5, r5
-	mov.l	.Lwake1, r1
-	bsrf	r1
-	 nop
-.Lwake1b:
-	bra	11b
-	 nop
-
-12:
-	mov	r8, r5
-#if MUTEX != 0
-	add	#MUTEX, r5
-#endif
-	mov	#PSHARED, r0
-	mov.b	@(r0,r8), r6
-	extu.b	r6, r6
-	mov.l	.Lwait1, r1
-	bsrf	r1
-	 mov	r2, r4
-.Lwait1b:
-	bra	13b
-	 nop
-	cfi_endproc
-
-	.align	2
-.Lwait0:
-	.long	__lll_lock_wait-.Lwait0b
-.Lwake0:
-	.long	__lll_unlock_wake-.Lwake0b
-.Lwait1:
-	.long	__lll_lock_wait-.Lwait1b
-.Lwake1:
-	.long	__lll_unlock_wake-.Lwake1b
-	.size	__pthread_rwlock_rdlock,.-__pthread_rwlock_rdlock
-
-strong_alias (__pthread_rwlock_rdlock, pthread_rwlock_rdlock)
-hidden_def (__pthread_rwlock_rdlock)
diff --git a/nptl/sysdeps/unix/sysv/linux/sh/pthread_rwlock_timedrdlock.S b/nptl/sysdeps/unix/sysv/linux/sh/pthread_rwlock_timedrdlock.S
deleted file mode 100644
index 07f7b21198..0000000000
--- a/nptl/sysdeps/unix/sysv/linux/sh/pthread_rwlock_timedrdlock.S
+++ /dev/null
@@ -1,339 +0,0 @@
-/* Copyright (C) 2003-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/>.  */
-
-#include <sysdep.h>
-#include <lowlevellock.h>
-#include <lowlevelrwlock.h>
-#include <pthread-errnos.h>
-#include <tcb-offsets.h>
-#include <kernel-features.h>
-#include "lowlevel-atomic.h"
-
-
-	.text
-
-	.globl	pthread_rwlock_timedrdlock
-	.type	pthread_rwlock_timedrdlock,@function
-	.align	5
-	cfi_startproc
-pthread_rwlock_timedrdlock:
-	mov.l	r12, @-r15
-	cfi_adjust_cfa_offset (4)
-	cfi_rel_offset (r12, 0)
-	mov.l	r10, @-r15
-	cfi_adjust_cfa_offset (4)
-	cfi_rel_offset (r10, 0)
-	mov.l	r9, @-r15
-	cfi_adjust_cfa_offset (4)
-	cfi_rel_offset (r9, 0)
-	mov.l	r8, @-r15
-	cfi_adjust_cfa_offset (4)
-	cfi_rel_offset (r8, 0)
-	sts.l	pr, @-r15
-	cfi_adjust_cfa_offset (4)
-	cfi_rel_offset (pr, 0)
-	add	#-8, r15
-	cfi_adjust_cfa_offset (8)
-	mov	r4, r8
-	mov	r5, r9
-
-	/* Get the lock.  */
-	mov	#0, r3
-	mov	#1, r4
-#if MUTEX == 0
-	CMPXCHG (r3, @r8, r4, r2)
-#else
-	CMPXCHG (r3, @(MUTEX,r8), r4, r2)
-#endif
-	bf	1f
-2:
-	mov.l	@(WRITER,r8), r0
-	tst	r0, r0
-	bf	14f
-	mov.l	@(WRITERS_QUEUED,r8), r0
-	tst	r0, r0
-	bt	5f
-	mov	#FLAGS, r0
-	mov.b	@(r0,r8), r0
-	tst	r0, r0
-	bt	5f
-3:
-	/* Check the value of the timeout parameter.  */
-	mov.l	.L1g0, r1
-	mov.l	@(4,r9), r0
-	cmp/hs	r1, r0
-	bt	19f
-
-	mov.l	@(READERS_QUEUED,r8), r0
-	add	#1, r0
-	mov.l	r0, @(READERS_QUEUED,r8)
-	tst	r0, r0
-	bt	4f
-
-	mov.l	@(READERS_WAKEUP,r8), r10
-
-#if MUTEX == 0
-	DEC (@r8, r2)
-#else
-	DEC (@(MUTEX,r8), r2)
-#endif
-	tst	r2, r2
-	bf	10f
-
-11:
-	/* Get current time.  */
-	mov	r15, r4
-	mov	#0, r5
-	mov	#__NR_gettimeofday, r3
-	trapa	#0x12
-	SYSCALL_INST_PAD
-
-	mov.l	@(4,r15), r0
-	mov.w	.L1k0, r1
-	dmulu.l	r0, r1		/* Milli seconds to nano seconds.  */
-	mov.l	@r9, r2
-	mov.l	@(4,r9), r3
-	mov.l	@r15, r0
-	sts	macl, r1
-	sub	r0, r2
-	clrt
-	subc	r1, r3
-	bf	15f
-	mov.l	.L1g0, r1
-	add	r1, r3
-	add	#-1, r2
-15:
-	cmp/pz	r2
-	bf	16f		/* Time is already up.  */
-
-	/* Store relative timeout.  */
-	mov.l	r2, @r15
-	mov.l	r3, @(4,r15)
-
-	/* Futex call.  */
-	mov	r15, r7
-#ifdef __ASSUME_PRIVATE_FUTEX
-	mov	#PSHARED, r0
-	mov.b	@(r0,r8), r5
-	mov	#(FUTEX_PRIVATE_FLAG|FUTEX_WAIT), r0
-	xor	r0, r5
-	extu.b	r5, r5
-#else
-	mov	#PSHARED, r0
-	mov.b	@(r0,r8), r5
-	extu.b	r5, r5
-# if FUTEX_WAIT != 0
-	mov	#FUTEX_WAIT, r0
-	or	r0, r5
-# endif
-	stc	gbr, r1
-	mov.w	.Lpfoff, r2
-	add	r2, r1
-	mov.l	@r1, r0
-	xor	r0, r5
-#endif
-	mov	r10, r6
-	mov	r8, r4
-	add	#READERS_WAKEUP, r4
-	mov	#SYS_futex, r3
-	extu.b	r3, r3
-	trapa	#0x14
-	SYSCALL_INST_PAD
-	mov	r0, r3
-
-17:
-	/* Reget the lock.  */
-	mov	#0, r5
-	mov	#1, r4
-#if MUTEX == 0
-	CMPXCHG (r5, @r8, r4, r2)
-#else
-	CMPXCHG (r5, @(MUTEX,r8), r4, r2)
-#endif
-	bf	12f
-
-13:
-	mov.l	@(READERS_QUEUED,r8), r0
-	add	#-1, r0
-	mov.l	r0, @(READERS_QUEUED,r8)
-	mov	#-ETIMEDOUT, r0
-	cmp/eq	r0, r3
-	bf	2b
-
-18:
-	bra	9f
-	 mov	#ETIMEDOUT, r3
-
-5:
-	mov	#0, r3
-	mov.l	@(NR_READERS,r8), r0
-	add	#1, r0
-	mov.l	r0, @(NR_READERS,r8)
-	tst	r0, r0
-	bt	8f
-
-9:
-#if MUTEX == 0
-	DEC (@r8, r2)
-#else
-	DEC (@(MUTEX,r8), r2)
-#endif
-	tst	r2, r2
-	bf	6f
-7:
-	cfi_remember_state
-	add	#8,r15
-	cfi_adjust_cfa_offset (-8)
-	lds.l	@r15+, pr
-	cfi_adjust_cfa_offset (-4)
-	cfi_restore (pr)
-	mov.l	@r15+, r8
-	cfi_adjust_cfa_offset (-4)
-	cfi_restore (r8)
-	mov.l	@r15+, r9
-	cfi_adjust_cfa_offset (-4)
-	cfi_restore (r9)
-	mov.l	@r15+, r10
-	cfi_adjust_cfa_offset (-4)
-	cfi_restore (r10)
-	mov.l	@r15+, r12
-	cfi_adjust_cfa_offset (-4)
-	cfi_restore (r12)
-	rts
-	 mov	r3, r0
-	cfi_restore_state
-
-#ifndef __ASSUME_PRIVATE_FUTEX
-.Lpfoff:
-	.word	PRIVATE_FUTEX - TLS_PRE_TCB_SIZE
-#endif
-	.align	2
-.L1k0:
-	.long	1000
-.L1g0:
-	.long	1000000000
-
-1:
-	mov	r8, r5
-#if MUTEX != 0
-	add	#MUTEX, r5
-#endif
-	mov	#PSHARED, r0
-	mov.b	@(r0,r8), r6
-	extu.b	r6, r6
-	mov.l	.Lwait2, r1
-	bsrf	r1
-	 mov	r2, r4
-.Lwait2b:
-	bra	2b
-	 nop
-14:
-	stc	gbr, r1
-	mov.w	.Ltidoff, r2
-	add	r2, r1
-	mov.l	@r1, r1
-	cmp/eq	r1, r0
-	bf	3b
-	/* Deadlock detected.  */
-	bra	9b
-	 mov	#EDEADLK, r3
-
-.Ltidoff:
-	.word	TID - TLS_PRE_TCB_SIZE
-
-6:
-	mov	r3, r10
-	mov	r8, r4
-#if MUTEX != 0
-	add	#MUTEX, r4
-#endif
-	mov	#PSHARED, r0
-	mov.b	@(r0,r8), r5
-	extu.b	r5, r5
-	mov.l	.Lwake2, r1
-	bsrf	r1
-	 nop
-.Lwake2b:
-	bra	7b
-	 mov	r10, r3
-
-8:
-	/* Overflow.  */
-	mov.l	@(NR_READERS,r8), r1
-	add	#-1, r1
-	mov.l	r1, @(NR_READERS,r8)
-	bra	9b
-	 mov	#EAGAIN, r3
-
-4:
-	/* Overflow.  */
-	mov.l	@(READERS_QUEUED,r8), r1
-	add	#-1, r1
-	mov.l	r1, @(READERS_QUEUED,r8)
-	bra	9b
-	 mov	#EAGAIN, r3
-
-10:
-	mov	r8, r4
-#if MUTEX != 0
-	add	#MUTEX, r4
-#endif
-	mov	#PSHARED, r0
-	mov.b	@(r0,r8), r5
-	extu.b	r5, r5
-	mov.l	.Lwake3, r1
-	bsrf	r1
-	 nop
-.Lwake3b:
-	bra	11b
-	 nop
-
-12:
-	mov	r3, r10
-	mov	r8, r5
-#if MUTEX != 0
-	add	#MUTEX, r5
-#endif
-	mov	#PSHARED, r0
-	mov.b	@(r0,r8), r6
-	extu.b	r6, r6
-	mov.l	.Lwait3, r1
-	bsrf	r1
-	 mov	r2, r4
-.Lwait3b:
-	bra	13b
-	 mov	r10, r3
-
-16:
-	bra	17b
-	 mov	#-ETIMEDOUT, r3
-
-19:
-	bra	9b
-	 mov	#EINVAL, r3
-	cfi_endproc
-
-	.align	2
-.Lwait2:
-	.long	__lll_lock_wait-.Lwait2b
-.Lwake2:
-	.long	__lll_unlock_wake-.Lwake2b
-.Lwait3:
-	.long	__lll_lock_wait-.Lwait3b
-.Lwake3:
-	.long	__lll_unlock_wake-.Lwake3b
-	.size	pthread_rwlock_timedrdlock,.-pthread_rwlock_timedrdlock
diff --git a/nptl/sysdeps/unix/sysv/linux/sh/pthread_rwlock_timedwrlock.S b/nptl/sysdeps/unix/sysv/linux/sh/pthread_rwlock_timedwrlock.S
deleted file mode 100644
index dd25e95b96..0000000000
--- a/nptl/sysdeps/unix/sysv/linux/sh/pthread_rwlock_timedwrlock.S
+++ /dev/null
@@ -1,323 +0,0 @@
-/* Copyright (C) 2003-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/>.  */
-
-#include <sysdep.h>
-#include <lowlevellock.h>
-#include <lowlevelrwlock.h>
-#include <pthread-errnos.h>
-#include <tcb-offsets.h>
-#include <kernel-features.h>
-#include "lowlevel-atomic.h"
-
-
-	.text
-
-	.globl	pthread_rwlock_timedwrlock
-	.type	pthread_rwlock_timedwrlock,@function
-	.align	5
-	cfi_startproc
-pthread_rwlock_timedwrlock:
-	mov.l	r12, @-r15
-	cfi_adjust_cfa_offset (4)
-	cfi_rel_offset (r12, 0)
-	mov.l	r10, @-r15
-	cfi_adjust_cfa_offset (4)
-	cfi_rel_offset (r10, 0)
-	mov.l	r9, @-r15
-	cfi_adjust_cfa_offset (4)
-	cfi_rel_offset (r9, 0)
-	mov.l	r8, @-r15
-	cfi_adjust_cfa_offset (4)
-	cfi_rel_offset (r8, 0)
-	sts.l	pr, @-r15
-	cfi_adjust_cfa_offset (4)
-	cfi_rel_offset (pr, 0)
-	add	#-8, r15
-	cfi_adjust_cfa_offset (8)
-	mov	r4, r8
-	mov	r5, r9
-
-	/* Get the lock.  */
-	mov	#0, r3
-	mov	#1, r4
-#if MUTEX == 0
-	CMPXCHG (r3, @r8, r4, r2)
-#else
-	CMPXCHG (r3, @(MUTEX,r8), r4, r2)
-#endif
-	bf	1f
-2:
-	mov.l	@(WRITER,r8), r0
-	tst	r0, r0
-	bf	14f
-	mov.l	@(NR_READERS,r8), r0
-	tst	r0, r0
-	bt	5f
-3:
-	/* Check the value of the timeout parameter.  */
-	mov.l	.L1g1, r1
-	mov.l	@(4,r9), r0
-	cmp/hs	r1, r0
-	bt	19f
-
-	mov.l	@(WRITERS_QUEUED,r8), r0
-	add	#1, r0
-	mov.l	r0, @(WRITERS_QUEUED,r8)
-	tst	r0, r0
-	bt	4f
-
-	mov.l	@(WRITERS_WAKEUP,r8), r10
-
-#if MUTEX == 0
-	DEC (@r8, r2)
-#else
-	DEC (@(MUTEX,r8), r2)
-#endif
-	tst	r2, r2
-	bf	10f
-
-11:
-	/* Get current time.  */
-	mov	r15, r4
-	mov	#0, r5
-	mov	#__NR_gettimeofday, r3
-	trapa	#0x12
-	SYSCALL_INST_PAD
-
-	mov.l	@(4,r15), r0
-	mov.w	.L1k1, r1
-	dmulu.l	r0, r1		/* Milli seconds to nano seconds.  */
-	mov.l	@r9, r2
-	mov.l	@(4,r9), r3
-	mov.l	@r15, r0
-	sts	macl, r1
-	sub	r0, r2
-	clrt
-	subc	r1, r3
-	bf	15f
-	mov.l	.L1g1, r1
-	add	r1, r3
-	add	#-1, r2
-15:
-	cmp/pz	r2
-	bf	16f		/* Time is already up.  */
-
-	/* Store relative timeout.  */
-	mov.l	r2, @r15
-	mov.l	r3, @(4,r15)
-
-	/* Futex call.  */
-	mov	r15, r7
-#ifdef __ASSUME_PRIVATE_FUTEX
-	mov	#PSHARED, r0
-	mov.b	@(r0,r8), r5
-	mov	#(FUTEX_PRIVATE_FLAG|FUTEX_WAIT), r0
-	xor	r0, r5
-	extu.b	r5, r5
-#else
-	mov	#PSHARED, r0
-	mov.b	@(r0,r8), r5
-	extu.b	r5, r5
-# if FUTEX_WAIT != 0
-	mov	#FUTEX_WAIT, r0
-	or	r0, r5
-# endif
-	stc	gbr, r1
-	mov.w	.Lpfoff, r2
-	add	r2, r1
-	mov.l	@r1, r0
-	xor	r0, r5
-#endif
-	mov	r10, r6
-	mov	r8, r4
-	add	#WRITERS_WAKEUP, r4
-	mov	#SYS_futex, r3
-	extu.b	r3, r3
-	trapa	#0x14
-	SYSCALL_INST_PAD
-	mov	r0, r3
-
-17:
-	/* Reget the lock.  */
-	mov	#0, r5
-	mov	#1, r4
-#if MUTEX == 0
-	CMPXCHG (r5, @r8, r4, r2)
-#else
-	CMPXCHG (r5, @(MUTEX,r8), r4, r2)
-#endif
-	bf	12f
-
-13:
-	mov.l	@(WRITERS_QUEUED,r8), r0
-	add	#-1, r0
-	mov.l	r0, @(WRITERS_QUEUED,r8)
-	mov	#-ETIMEDOUT, r0
-	cmp/eq	r0, r3
-	bf	2b
-
-18:
-	bra	9f
-	 mov	#ETIMEDOUT, r3
-
-19:
-	bra	9f
-	 mov	#EINVAL, r3
-
-5:
-	mov	#0, r3
-	stc	gbr, r0
-	mov.w	.Ltidoff, r1
-	mov.l	@(r0,r1), r0
-	mov.l	r0, @(WRITER,r8)
-9:
-#if MUTEX == 0
-	DEC (@r8, r2)
-#else
-	DEC (@(MUTEX,r8), r2)
-#endif
-	tst	r2, r2
-	bf	6f
-7:
-	cfi_remember_state
-	add	#8,r15
-	cfi_adjust_cfa_offset (-8)
-	lds.l	@r15+, pr
-	cfi_adjust_cfa_offset (-4)
-	cfi_restore (pr)
-	mov.l	@r15+, r8
-	cfi_adjust_cfa_offset (-4)
-	cfi_restore (r8)
-	mov.l	@r15+, r9
-	cfi_adjust_cfa_offset (-4)
-	cfi_restore (r9)
-	mov.l	@r15+, r10
-	cfi_adjust_cfa_offset (-4)
-	cfi_restore (r10)
-	mov.l	@r15+, r12
-	cfi_adjust_cfa_offset (-4)
-	cfi_restore (r12)
-	rts
-	 mov	r3, r0
-	cfi_restore_state
-
-#ifndef __ASSUME_PRIVATE_FUTEX
-.Lpfoff:
-	.word	PRIVATE_FUTEX - TLS_PRE_TCB_SIZE
-#endif
-.L1k1:
-	.word	1000
-	.align	2
-.L1g1:
-	.long	1000000000
-
-1:
-	mov	r8, r5
-#if MUTEX != 0
-	add	#MUTEX, r5
-#endif
-	mov	#PSHARED, r0
-	mov.b	@(r0,r8), r6
-	extu.b	r6, r6
-	mov.l	.Lwait6, r1
-	bsrf	r1
-	 mov	r2, r4
-.Lwait6b:
-	bra	2b
-	 nop
-14:
-	stc	gbr, r1
-	mov.w	.Ltidoff, r2
-	add	r2, r1
-	mov.l	@r1, r1
-	cmp/eq	r1, r0
-	bf	3b
-	bra	9b
-	 mov	#EDEADLK, r3
-6:
-	mov	r3, r10
-	mov	r8, r4
-#if MUTEX != 0
-	add	#MUTEX, r4
-#endif
-	mov	#PSHARED, r0
-	mov.b	@(r0,r8), r5
-	extu.b	r5, r5
-	mov.l	.Lwake6, r1
-	bsrf	r1
-	 nop
-.Lwake6b:
-	bra	7b
-	 mov	r10, r3
-
-.Ltidoff:
-	.word	TID - TLS_PRE_TCB_SIZE
-
-4:
-	/* Overflow.  */
-	mov.l	@(WRITERS_QUEUED,r8), r1
-	add	#-1, r1
-	mov.l	r1, @(WRITERS_QUEUED,r8)
-	bra	9b
-	 mov	#EAGAIN, r3
-
-10:
-	mov	r8, r4
-#if MUTEX != 0
-	add	#MUTEX, r4
-#endif
-	mov	#PSHARED, r0
-	mov.b	@(r0,r8), r5
-	extu.b	r5, r5
-	mov.l	.Lwake7, r1
-	bsrf	r1
-	 nop
-.Lwake7b:
-	bra	11b
-	 nop
-
-12:
-	mov	r3, r10
-	mov	r8, r5
-#if MUTEX != 0
-	add	#MUTEX, r5
-#endif
-	mov	#PSHARED, r0
-	mov.b	@(r0,r8), r6
-	extu.b	r6, r6
-	mov.l	.Lwait7, r1
-	bsrf	r1
-	 mov	r2, r4
-.Lwait7b:
-	bra	13b
-	 mov	r10, r3
-
-16:
-	bra	17b
-	 mov	#-ETIMEDOUT, r3
-	cfi_endproc
-
-	.align	2
-.Lwait6:
-	.long	__lll_lock_wait-.Lwait6b
-.Lwake6:
-	.long	__lll_unlock_wake-.Lwake6b
-.Lwait7:
-	.long	__lll_lock_wait-.Lwait7b
-.Lwake7:
-	.long	__lll_unlock_wake-.Lwake7b
-	.size	pthread_rwlock_timedwrlock,.-pthread_rwlock_timedwrlock
diff --git a/nptl/sysdeps/unix/sysv/linux/sh/pthread_rwlock_unlock.S b/nptl/sysdeps/unix/sysv/linux/sh/pthread_rwlock_unlock.S
deleted file mode 100644
index db99ee4696..0000000000
--- a/nptl/sysdeps/unix/sysv/linux/sh/pthread_rwlock_unlock.S
+++ /dev/null
@@ -1,221 +0,0 @@
-/* Copyright (C) 2003-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/>.  */
-
-#include <sysdep.h>
-#include <lowlevellock.h>
-#include <lowlevelrwlock.h>
-#include <kernel-features.h>
-#include "lowlevel-atomic.h"
-
-
-	.text
-
-	.globl	__pthread_rwlock_unlock
-	.type	__pthread_rwlock_unlock,@function
-	.align	5
-	cfi_startproc
-__pthread_rwlock_unlock:
-	mov.l	r12, @-r15
-	cfi_adjust_cfa_offset (4)
-	cfi_rel_offset (r12, 0)
-	mov.l	r8, @-r15
-	cfi_adjust_cfa_offset (4)
-	cfi_rel_offset (r8, 0)
-	sts.l	pr, @-r15
-	cfi_adjust_cfa_offset (4)
-	cfi_rel_offset (pr, 0)
-	mov	r4, r8
-
-	/* Get the lock.  */
-	mov	#0, r3
-	mov	#1, r4
-#if MUTEX == 0
-	CMPXCHG (r3, @r8, r4, r2)
-#else
-	CMPXCHG (r3, @(MUTEX,r8), r4, r2)
-#endif
-	bf	1f
-2:
-	mov.l	@(WRITER,r8), r0
-	tst	r0, r0
-	bf	5f
-	mov.l	@(NR_READERS,r8), r0
-	add	#-1, r0
-	mov.l	r0, @(NR_READERS,r8)
-	tst	r0, r0
-	bf	6f
-5:
-	mov	#0, r0
-	mov.l	r0, @(WRITER,r8)
-	mov	#1, r6
-	mov	r8, r4
-	add	#WRITERS_WAKEUP, r4
-	mov.l	@(WRITERS_QUEUED,r8), r0
-	tst	r0, r0
-	bf	0f
-
-	/* If also no readers waiting nothing to do.  */
-	mov.l	@(READERS_QUEUED,r8), r0
-	tst	r0, r0
-	bt	6f
-
-	mov	#-1, r6
-	shlr	r6		/* r6 = 0x7fffffff */
-	mov	r8, r4
-	add	#READERS_WAKEUP, r4
-
-0:
-	mov.l	@r4, r0
-	add	#1, r0
-	mov.l	r0, @r4
-#if MUTEX == 0
-	DEC (@r8, r2)
-#else
-	DEC (@(MUTEX,r8), r2)
-#endif
-	tst	r2, r2
-	bf	7f
-
-8:
-#ifdef __ASSUME_PRIVATE_FUTEX
-	mov	#PSHARED, r0
-	mov.b	@(r0,r8), r5
-	mov	#(FUTEX_PRIVATE_FLAG|FUTEX_WAKE), r0
-	xor	r0, r5
-	extu.b	r5, r5
-#else
-	mov	#PSHARED, r0
-	mov.b	@(r0,r8), r5
-	extu.b	r5, r5
-	mov	#FUTEX_WAKE, r0
-	or	r0, r5
-	stc	gbr, r1
-	mov.w	.Lpfoff, r2
-	add	r2, r1
-	mov.l	@r1, r0
-	xor	r0, r5
-#endif
-	mov	#SYS_futex, r3
-	mov	#0, r7
-	extu.b	r3, r3
-	trapa	#0x14
-	SYSCALL_INST_PAD
-
-	cfi_remember_state
-	lds.l	@r15+, pr
-	cfi_adjust_cfa_offset (-4)
-	cfi_restore (pr)
-	mov.l	@r15+, r8
-	cfi_adjust_cfa_offset (-4)
-	cfi_restore (r8)
-	mov.l	@r15+, r12
-	cfi_adjust_cfa_offset (-4)
-	cfi_restore (r12)
-	rts
-	 mov	#0, r0
-	cfi_restore_state
-6:
-#if MUTEX == 0
-	DEC (@r8, r2)
-#else
-	DEC (@(MUTEX,r8), r2)
-#endif
-	tst	r2, r2
-	bf	3f
-4:
-	cfi_remember_state
-	lds.l	@r15+, pr
-	cfi_adjust_cfa_offset (-4)
-	cfi_restore (pr)
-	mov.l	@r15+, r8
-	cfi_adjust_cfa_offset (-4)
-	cfi_restore (r8)
-	mov.l	@r15+, r12
-	cfi_adjust_cfa_offset (-4)
-	cfi_restore (r12)
-	rts
-	 mov	#0, r0
-	cfi_restore_state
-
-1:
-	mov	r8, r5
-#if MUTEX != 0
-	add	#MUTEX, r5
-#endif
-	mov	#PSHARED, r0
-	mov.b	@(r0,r8), r6
-	extu.b	r6, r6
-	mov.l	.Lwait8, r1
-	bsrf	r1
-	 mov	r2, r4
-.Lwait8b:
-	bra	2b
-	 nop
-3:
-	mov	r8, r4
-#if MUTEX != 0
-	add	#MUTEX, r4
-#endif
-	mov	#PSHARED, r0
-	mov.b	@(r0,r8), r5
-	extu.b	r5, r5
-	mov.l	.Lwake8, r1
-	bsrf	r1
-	 nop
-.Lwake8b:
-	bra	4b
-	 nop
-
-7:
-	mov.l	r4, @-r15
-	cfi_adjust_cfa_offset (4)
-	mov.l	r6, @-r15
-	cfi_adjust_cfa_offset (4)
-	mov	r8, r4
-#if MUTEX != 0
-	add	#MUTEX, r4
-#endif
-	mov	#PSHARED, r0
-	mov.b	@(r0,r8), r5
-	extu.b	r5, r5
-	mov.l	.Lwake9, r1
-	bsrf	r1
-	 nop
-.Lwake9b:
-
-	mov.l	@r15+, r6
-	cfi_adjust_cfa_offset (-4)
-	bra	8b
-	 mov.l	@r15+, r4
-
-	cfi_endproc
-
-#ifndef __ASSUME_PRIVATE_FUTEX
-.Lpfoff:
-	.word	PRIVATE_FUTEX - TLS_PRE_TCB_SIZE
-#endif
-	.align	2
-.Lwait8:
-	.long	__lll_lock_wait-.Lwait8b
-.Lwake8:
-	.long	__lll_unlock_wake-.Lwake8b
-.Lwake9:
-	.long	__lll_unlock_wake-.Lwake9b
-	.size	__pthread_rwlock_unlock,.-__pthread_rwlock_unlock
-
-strong_alias (__pthread_rwlock_unlock, pthread_rwlock_unlock)
-hidden_def (__pthread_rwlock_unlock)
diff --git a/nptl/sysdeps/unix/sysv/linux/sh/pthread_rwlock_wrlock.S b/nptl/sysdeps/unix/sysv/linux/sh/pthread_rwlock_wrlock.S
deleted file mode 100644
index 8802fa9383..0000000000
--- a/nptl/sysdeps/unix/sysv/linux/sh/pthread_rwlock_wrlock.S
+++ /dev/null
@@ -1,252 +0,0 @@
-/* Copyright (C) 2003-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/>.  */
-
-#include <sysdep.h>
-#include <lowlevellock.h>
-#include <lowlevelrwlock.h>
-#include <pthread-errnos.h>
-#include <tcb-offsets.h>
-#include <kernel-features.h>
-#include "lowlevel-atomic.h"
-
-
-	.text
-
-	.globl	__pthread_rwlock_wrlock
-	.type	__pthread_rwlock_wrlock,@function
-	.align	5
-	cfi_startproc
-__pthread_rwlock_wrlock:
-	mov.l	r12, @-r15
-	cfi_adjust_cfa_offset (4)
-	cfi_rel_offset (r12, 0)
-	mov.l	r9, @-r15
-	cfi_adjust_cfa_offset (4)
-	cfi_rel_offset (r9, 0)
-	mov.l	r8, @-r15
-	cfi_adjust_cfa_offset (4)
-	cfi_rel_offset (r8, 0)
-	sts.l	pr, @-r15
-	cfi_adjust_cfa_offset (4)
-	cfi_rel_offset (pr, 0)
-	mov	r4, r8
-
-	/* Get the lock.  */
-	mov	#0, r3
-	mov	#1, r4
-#if MUTEX == 0
-	CMPXCHG (r3, @r8, r4, r2)
-#else
-	CMPXCHG (r3, @(MUTEX,r8), r4, r2)
-#endif
-	bf	1f
-2:
-	mov.l	@(WRITER,r8), r0
-	tst	r0, r0
-	bf	14f
-	mov.l	@(NR_READERS,r8), r0
-	tst	r0, r0
-	bt	5f
-3:
-	mov.l	@(WRITERS_QUEUED,r8), r0
-	add	#1, r0
-	mov.l	r0, @(WRITERS_QUEUED,r8)
-	tst	r0, r0
-	bt	4f
-
-	mov.l	@(WRITERS_WAKEUP,r8), r9
-
-#if MUTEX == 0
-	DEC (@r8, r2)
-#else
-	DEC (@(MUTEX,r8), r2)
-#endif
-	tst	r2, r2
-	bf	10f
-11:
-	mov	r8, r4
-	add	#WRITERS_WAKEUP, r4
-#ifdef __ASSUME_PRIVATE_FUTEX
-	mov	#PSHARED, r0
-	mov.b	@(r0,r8), r5
-	mov	#(FUTEX_PRIVATE_FLAG|FUTEX_WAIT), r0
-	xor	r0, r5
-	extu.b	r5, r5
-#else
-	mov	#PSHARED, r0
-	mov.b	@(r0,r8), r5
-	extu.b	r5, r5
-# if FUTEX_WAIT != 0
-	mov	#FUTEX_WAIT, r0
-	or	r0, r5
-# endif
-	stc	gbr, r1
-	mov.w	.Lpfoff, r2
-	add	r2, r1
-	mov.l	@r1, r0
-	xor	r0, r5
-#endif
-	mov	r9, r6
-	mov	#0, r7
-	mov	#SYS_futex, r3
-	extu.b	r3, r3
-	trapa	#0x14
-	SYSCALL_INST_PAD
-
-	/* Reget the lock.  */
-	mov	#0, r3
-	mov	#1, r4
-#if MUTEX == 0
-	CMPXCHG (r3, @r8, r4, r2)
-#else
-	CMPXCHG (r3, @(MUTEX,r8), r4, r2)
-#endif
-	bf	12f
-13:
-	mov.l	@(WRITERS_QUEUED,r8), r0
-	add	#-1, r0
-	bra	2b
-	 mov.l	r0, @(WRITERS_QUEUED,r8)
-
-5:
-	mov	#0, r3
-	stc	gbr, r0
-	mov.w	.Ltidoff, r1
-	mov.l	@(r0,r1), r0
-	mov.l	r0, @(WRITER,r8)
-9:
-#if MUTEX == 0
-	DEC (@r8, r2)
-#else
-	DEC (@(MUTEX,r8), r2)
-#endif
-	tst	r2, r2
-	bf	6f
-7:
-	cfi_remember_state
-	lds.l	@r15+, pr
-	cfi_adjust_cfa_offset (-4)
-	cfi_restore (pr)
-	mov.l	@r15+, r8
-	cfi_adjust_cfa_offset (-4)
-	cfi_restore (r8)
-	mov.l	@r15+, r9
-	cfi_adjust_cfa_offset (-4)
-	cfi_restore (r9)
-	mov.l	@r15+, r12
-	cfi_adjust_cfa_offset (-4)
-	cfi_restore (r12)
-	rts
-	 mov	r3, r0
-	cfi_restore_state
-
-1:
-	mov	r8, r5
-#if MUTEX != 0
-	add	#MUTEX, r5
-#endif
-	mov	#PSHARED, r0
-	mov.b	@(r0,r8), r6
-	extu.b	r6, r6
-	mov.l	.Lwait4, r1
-	bsrf	r1
-	 mov	r2, r4
-.Lwait4b:
-	bra	2b
-	 nop
-14:
-	stc	gbr, r1
-	mov.w	.Ltidoff, r2
-	add	r2, r1
-	mov.l	@r1, r1
-	cmp/eq	r1, r0
-	bf	3b
-	bra	9b
-	 mov	#EDEADLK, r3
-6:
-	mov	r8, r4
-#if MUTEX != 0
-	add	#MUTEX, r4
-#endif
-	mov	#PSHARED, r0
-	mov.b	@(r0,r8), r5
-	extu.b	r5, r5
-	mov.l	.Lwake4, r1
-	bsrf	r1
-	 nop
-.Lwake4b:
-	bra	7b
-	 mov	#0, r3
-
-#ifndef __ASSUME_PRIVATE_FUTEX
-.Lpfoff:
-	.word	PRIVATE_FUTEX - TLS_PRE_TCB_SIZE
-#endif
-.Ltidoff:
-	.word	TID - TLS_PRE_TCB_SIZE
-
-4:
-	mov.l	@(WRITERS_QUEUED,r8), r1
-	add	#-1, r1
-	mov.l	r1, @(WRITERS_QUEUED,r8)
-	bra	9b
-	 mov	#EAGAIN, r3
-
-10:
-	mov	r8, r4
-#if MUTEX != 0
-	add	#MUTEX, r4
-#endif
-	mov	#PSHARED, r0
-	mov.b	@(r0,r8), r5
-	extu.b	r5, r5
-	mov.l	.Lwake5, r1
-	bsrf	r1
-	 nop
-.Lwake5b:
-	bra	11b
-	 nop
-
-12:
-	mov	r8, r5
-#if MUTEX != 0
-	add	#MUTEX, r5
-#endif
-	mov	#PSHARED, r0
-	mov.b	@(r0,r8), r6
-	extu.b	r6, r6
-	mov.l	.Lwait5, r1
-	bsrf	r1
-	 mov	r2, r4
-.Lwait5b:
-	bra	13b
-	 nop
-
-	cfi_endproc
-
-	.align	2
-.Lwait4:
-	.long	__lll_lock_wait-.Lwait4b
-.Lwake4:
-	.long	__lll_unlock_wake-.Lwake4b
-.Lwait5:
-	.long	__lll_lock_wait-.Lwait5b
-.Lwake5:
-	.long	__lll_unlock_wake-.Lwake5b
-
-strong_alias (__pthread_rwlock_wrlock, pthread_rwlock_wrlock)
-hidden_def (__pthread_rwlock_wrlock)
diff --git a/nptl/sysdeps/unix/sysv/linux/sh/sem_post.S b/nptl/sysdeps/unix/sysv/linux/sh/sem_post.S
deleted file mode 100644
index ccc62550af..0000000000
--- a/nptl/sysdeps/unix/sysv/linux/sh/sem_post.S
+++ /dev/null
@@ -1,111 +0,0 @@
-/* Copyright (C) 2003-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/>.  */
-
-#include <sysdep.h>
-#include <shlib-compat.h>
-#include <pthread-errnos.h>
-#include <structsem.h>
-#include <lowlevellock.h>
-#include "lowlevel-atomic.h"
-
-
-	.text
-
-	.globl	__new_sem_post
-	.type	__new_sem_post,@function
-	.align	5
-	cfi_startproc
-__new_sem_post:
-	mov.l	@(VALUE,r4), r2
-0:
-	mov.l	.Lmax, r1
-	cmp/eq	r1, r2
-	bt/s	3f
-	 mov	r2, r3
-	mov	r3, r5
-	add	#1, r5
-	CMPXCHG (r3, @(VALUE,r4), r5, r2)
-	bf	0b
-	mov.l	@(NWAITERS,r4), r2
-	tst	r2, r2
-	bt	2f
-	mov	#FUTEX_WAKE, r5
-	mov.l	@(PRIVATE,r4), r1
-	or	r1, r5
-	mov	#1, r6
-	mov	#0, r7
-	mov	#SYS_futex, r3
-	extu.b	r3, r3
-	trapa	#0x14
-	SYSCALL_INST_PAD
-
-	cmp/pz	r0
-	bf	1f
-2:
-	rts
-	 mov	#0, r0
-
-1:
-	bra	4f
-	 mov	#EINVAL, r2
-
-3:
-	mov	#EOVERFLOW, r2
-4:
-	mov.l	r12, @-r15
-	cfi_adjust_cfa_offset (4)
-	cfi_rel_offset (r12, 0)
-	mov.l	r8, @-r15
-	cfi_adjust_cfa_offset (4)
-	cfi_rel_offset (r8, 0)
-	sts.l	pr, @-r15
-	cfi_adjust_cfa_offset (4)
-	cfi_rel_offset (pr, 0)
-	mova	.Lgot3, r0
-	mov.l	.Lgot3, r12
-	add	r0, r12
-
-	mov.l	.Lerrno3, r0
-	stc	gbr, r1
-	mov.l	@(r0, r12), r0
-	bra	.Lexit
-	 add	r1, r0
-	.align	2
-.Lerrno3:
-	.long	errno@GOTTPOFF
-.Lexit:
-	mov.l	r2, @r0
-	lds.l	@r15+, pr
-	cfi_adjust_cfa_offset (-4)
-	cfi_restore (pr)
-	mov.l	@r15+, r8
-	cfi_adjust_cfa_offset (-4)
-	cfi_restore (r8)
-	mov.l	@r15+, r12
-	cfi_adjust_cfa_offset (-4)
-	cfi_restore (r12)
-	rts
-	 mov	#-1, r0
-	cfi_endproc
-
-	.align	2
-.Lmax:
-	.long	SEM_VALUE_MAX
-.Lgot3:
-	.long	_GLOBAL_OFFSET_TABLE_
-	.size	__new_sem_post,.-__new_sem_post
-	versioned_symbol(libpthread, __new_sem_post, sem_post, GLIBC_2_1)
diff --git a/nptl/sysdeps/unix/sysv/linux/sh/sem_timedwait.S b/nptl/sysdeps/unix/sysv/linux/sh/sem_timedwait.S
deleted file mode 100644
index 4803d033d6..0000000000
--- a/nptl/sysdeps/unix/sysv/linux/sh/sem_timedwait.S
+++ /dev/null
@@ -1,281 +0,0 @@
-/* Copyright (C) 2003-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/>.  */
-
-#include <sysdep.h>
-#include <shlib-compat.h>
-#include <pthread-errnos.h>
-#include <tcb-offsets.h>
-#include <structsem.h>
-#include <lowlevellock.h>
-#include "lowlevel-atomic.h"
-
-
-#if VALUE != 0
-# error "code needs to be rewritten for VALUE != 0"
-#endif
-
-	.text
-
-	.globl	sem_timedwait
-	.type	sem_timedwait,@function
-	.align	5
-	cfi_startproc
-sem_timedwait:
-.LSTARTCODE:
-#ifdef SHARED
-	cfi_personality(DW_EH_PE_pcrel | DW_EH_PE_sdata4 | DW_EH_PE_indirect,
-			DW.ref.__gcc_personality_v0)
-	cfi_lsda(DW_EH_PE_pcrel | DW_EH_PE_sdata4, .LexceptSTART)
-#else
-	cfi_personality(DW_EH_PE_absptr, __gcc_personality_v0)
-	cfi_lsda(DW_EH_PE_absptr, .LexceptSTART)
-#endif
-	mov.l	@r4, r0
-2:
-	tst	r0, r0
-	bt	1f
-	mov	r0, r3
-	mov	r0, r6
-	add	#-1, r3
-	CMPXCHG (r6, @r4, r3, r2)
-	bf/s	2b
-	 mov	r2, r0
-	rts
-	 mov	#0, r0
-
-1:
-	/* Check whether the timeout value is valid.  */
-	mov.l	r8, @-r15
-	cfi_adjust_cfa_offset (4)
-	cfi_rel_offset (r8, 0)
-	mov.l	r9, @-r15
-	cfi_adjust_cfa_offset (4)
-	cfi_rel_offset (r9, 0)
-	mov.l	r10, @-r15
-	cfi_adjust_cfa_offset (4)
-	cfi_rel_offset (r10, 0)
-	mov.l	r12, @-r15
-	cfi_adjust_cfa_offset (4)
-	cfi_rel_offset (r12, 0)
-	sts.l	pr, @-r15
-	cfi_adjust_cfa_offset (4)
-	cfi_rel_offset (pr, 0)
-	add	#-8, r15
-	cfi_adjust_cfa_offset (8)
-
-	mov	r4, r8
-	mov	r5, r9
-
-	/* Check for invalid nanosecond field.  */
-	mov.l	@(4,r9), r0
-	mov.l	.L1g, r1
-	cmp/hs	r1, r0
-	bt/s	.Lerrno_exit
-	 mov	#EINVAL, r10
-	INC (@(NWAITERS,r8),r2)
-
-7:
-	/* Compute relative timeout.  */
-	mov	r15, r4
-	mov	#0, r5
-	mov	#__NR_gettimeofday, r3
-	trapa	#0x12
-	SYSCALL_INST_PAD
-
-	mov.l	@(4,r15), r0
-	mov.w	.L1k, r1
-	dmulu.l	r0, r1		/* Milli seconds to nano seconds.  */
-	mov.l	@r9, r2
-	mov.l	@(4,r9), r3
-	mov.l	@r15, r0
-	sts	macl, r1
-	sub	r0, r2
-	clrt
-	subc	r1, r3
-	bf	5f
-	mov.l	.L1g, r1
-	add	r1, r3
-	add	#-1, r2
-5:
-	cmp/pz	r2
-	bf/s	6f		/* Time is already up.  */
-	 mov	#ETIMEDOUT, r0
-
-	/* Store relative timeout.  */
-	mov.l	r2, @r15
-	mov.l	r3, @(4,r15)
-
-.LcleanupSTART:
-	mov.l	.Lenable0, r1
-	bsrf	r1
-	 nop
-.Lenable0b:
-	mov	r0, r10
-
-	mov	r8, r4
-#if FUTEX_WAIT == 0
-	mov.l	@(PRIVATE,r8), r5
-#else
-	mov.l	@(PRIVATE,r8), r5
-	mov	#FUTEX_WAIT, r0
-	or	r0, r5
-#endif
-	mov	#0, r6
-	mov	r15, r7
-	mov	#SYS_futex, r3
-	extu.b	r3, r3
-	trapa	#0x14
-	SYSCALL_INST_PAD
-
-	mov.l	.Ldisable0, r1
-	mov	r10, r4
-	bsrf	r1
-	 mov	r0, r10
-.Ldisable0b:
-	mov	r10, r0
-.LcleanupEND:
-
-	tst	r0, r0
-	bt	9f
-	cmp/eq	#-EWOULDBLOCK, r0
-	bf	3f
-9:
-	mov.l	@r8, r0
-8:
-	tst	r0, r0
-	bt	7b
-
-	mov	r0, r3
-	mov	r0, r4
-	add	#-1, r3
-	CMPXCHG (r4, @r8, r3, r2)
-	bf/s	8b
-	 mov	r2, r0
-
-	DEC (@(NWAITERS,r8), r2)
-	mov	#0, r0
-
-10:
-	cfi_remember_state
-	add	#8, r15
-	cfi_adjust_cfa_offset (-8)
-	lds.l	@r15+, pr
-	cfi_adjust_cfa_offset (-4)
-	cfi_restore (pr)
-	mov.l	@r15+, r12
-	cfi_adjust_cfa_offset (-4)
-	cfi_restore (r12)
-	mov.l	@r15+, r10
-	cfi_adjust_cfa_offset (-4)
-	cfi_restore (r10)
-	mov.l	@r15+, r9
-	cfi_adjust_cfa_offset (-4)
-	cfi_restore (r9)
-	mov.l	@r15+, r8
-	cfi_adjust_cfa_offset (-4)
-	cfi_restore (r8)
-	rts
-	 nop
-	cfi_restore_state
-
-3:
-	neg	r0, r0
-6:
-	mov	r0, r10
-	DEC (@(NWAITERS,r8), r2)
-.Lerrno_exit:
-	mova	.Lgot2, r0
-	mov.l	.Lgot2, r12
-	add	r0, r12
-
-	mov.l	.Lerrno2, r0
-	stc	gbr, r1
-	mov.l	@(r0, r12), r0
-	bra	.Lexit
-	 add	r1, r0
-	.align	2
-.Lerrno2:
-	.long	errno@GOTTPOFF
-.Lexit:
-	mov.l	r10, @r0
-	bra	10b
-	 mov	#-1, r0
-
-.L1k:
-	.word	1000
-	.align	2
-.L1g:
-	.long	1000000000
-.Lgot2:
-	.long	_GLOBAL_OFFSET_TABLE_
-.Lenable0:
-	.long	__pthread_enable_asynccancel-.Lenable0b
-.Ldisable0:
-	.long	__pthread_disable_asynccancel-.Ldisable0b
-	.size	sem_timedwait,.-sem_timedwait
-
-	.type	sem_wait_cleanup,@function
-sem_wait_cleanup:
-	DEC (@(NWAITERS,r8), r2)
-.LcallUR:
-	mov.l	.Lresume, r1
-#ifdef PIC
-	add	r12, r1
-#endif
-	jsr	@r1
-	 nop
-	sleep
-
-	.align	2
-.Lresume:
-#ifdef PIC
-	.long	_Unwind_Resume@GOTOFF
-#else
-	.long	_Unwind_Resume
-#endif
-.LENDCODE:
-	cfi_endproc
-	.size	sem_wait_cleanup,.-sem_wait_cleanup
-
-
-	.section .gcc_except_table,"a",@progbits
-.LexceptSTART:
-	.byte	DW_EH_PE_omit			! @LPStart format (omit)
-	.byte	DW_EH_PE_omit			! @TType format (omit)
-	.byte	DW_EH_PE_uleb128		! call-site format
-	.uleb128 .Lcstend-.Lcstbegin
-.Lcstbegin:
-	.uleb128 .LcleanupSTART-.LSTARTCODE
-	.uleb128 .LcleanupEND-.LcleanupSTART
-	.uleb128 sem_wait_cleanup-.LSTARTCODE
-	.uleb128  0
-	.uleb128 .LcallUR-.LSTARTCODE
-	.uleb128 .LENDCODE-.LcallUR
-	.uleb128 0
-	.uleb128  0
-.Lcstend:
-
-#ifdef SHARED
-	.hidden	DW.ref.__gcc_personality_v0
-	.weak	DW.ref.__gcc_personality_v0
-	.section .gnu.linkonce.d.DW.ref.__gcc_personality_v0,"aw",@progbits
-	.align	4
-	.type	DW.ref.__gcc_personality_v0, @object
-	.size	DW.ref.__gcc_personality_v0, 4
-DW.ref.__gcc_personality_v0:
-	.long	__gcc_personality_v0
-#endif
diff --git a/nptl/sysdeps/unix/sysv/linux/sh/sem_trywait.S b/nptl/sysdeps/unix/sysv/linux/sh/sem_trywait.S
deleted file mode 100644
index 8ff8792ff4..0000000000
--- a/nptl/sysdeps/unix/sysv/linux/sh/sem_trywait.S
+++ /dev/null
@@ -1,102 +0,0 @@
-/* Copyright (C) 2003-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/>.  */
-
-#include <sysdep.h>
-#include <shlib-compat.h>
-#include <pthread-errnos.h>
-#include <lowlevellock.h>
-#include "lowlevel-atomic.h"
-
-
-	.text
-
-	.globl	__new_sem_trywait
-	.type	__new_sem_trywait,@function
-	.align	5
-	cfi_startproc
-__new_sem_trywait:
-	mov.l	r12, @-r15
-	cfi_adjust_cfa_offset (4)
-	cfi_rel_offset (r12, 0)
-	mov.l	r8, @-r15
-	cfi_adjust_cfa_offset (4)
-	cfi_rel_offset (r8, 0)
-	sts.l	pr, @-r15
-	cfi_adjust_cfa_offset (4)
-	cfi_rel_offset (pr, 0)
-	mov	r4, r8
-	mov.l	@r8, r0
-2:
-	tst	r0, r0
-	bt	1f
-
-	mov	r0, r3
-	mov	r0, r4
-	add	#-1, r3
-	CMPXCHG (r4, @r8, r3, r2)
-	bf/s	2b
-	 mov	r2, r0
-
-	cfi_remember_state
-	lds.l	@r15+, pr
-	cfi_adjust_cfa_offset (-4)
-	cfi_restore (pr)
-	mov.l	@r15+, r8
-	cfi_adjust_cfa_offset (-4)
-	cfi_restore (r8)
-	mov.l	@r15+, r12
-	cfi_adjust_cfa_offset (-4)
-	cfi_restore (r12)
-	rts
-	 mov	#0, r0
-	cfi_restore_state
-
-1:
-	mov	#EAGAIN, r8
-	mova	.Lgot1, r0
-	mov.l	.Lgot1, r12
-	add	r0, r12
-
-	mov.l	.Lerrno1, r0
-	stc	gbr, r1
-	mov.l	@(r0, r12), r0
-	bra	.Lexit
-	 add	r1, r0
-	.align	2
-.Lerrno1:
-	.long	errno@GOTTPOFF
-.Lexit:
-	mov.l	r8, @r0
-	lds.l	@r15+, pr
-	cfi_adjust_cfa_offset (-4)
-	cfi_restore (pr)
-	mov.l	@r15+, r8
-	cfi_adjust_cfa_offset (-4)
-	cfi_restore (r8)
-	mov.l	@r15+, r12
-	cfi_adjust_cfa_offset (-4)
-	cfi_restore (r12)
-	rts
-	 mov	#-1, r0
-
-	cfi_endproc
-
-	.align	2
-.Lgot1:
-	.long	_GLOBAL_OFFSET_TABLE_
-	.size	__new_sem_trywait,.-__new_sem_trywait
-	versioned_symbol(libpthread, __new_sem_trywait, sem_trywait, GLIBC_2_1)
diff --git a/nptl/sysdeps/unix/sysv/linux/sh/sem_wait.S b/nptl/sysdeps/unix/sysv/linux/sh/sem_wait.S
deleted file mode 100644
index 04a6a405d4..0000000000
--- a/nptl/sysdeps/unix/sysv/linux/sh/sem_wait.S
+++ /dev/null
@@ -1,229 +0,0 @@
-/* Copyright (C) 2003-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/>.  */
-
-#include <sysdep.h>
-#include <shlib-compat.h>
-#include <pthread-errnos.h>
-#include <tcb-offsets.h>
-#include <structsem.h>
-#include <lowlevellock.h>
-#include "lowlevel-atomic.h"
-
-
-#if VALUE != 0
-# error "code needs to be rewritten for VALUE != 0"
-#endif
-
-	.text
-
-	.globl	__new_sem_wait
-	.type	__new_sem_wait,@function
-	.align	5
-	cfi_startproc
-__new_sem_wait:
-.LSTARTCODE:
-#ifdef SHARED
-	cfi_personality(DW_EH_PE_pcrel | DW_EH_PE_sdata4 | DW_EH_PE_indirect,
-			DW.ref.__gcc_personality_v0)
-	cfi_lsda(DW_EH_PE_pcrel | DW_EH_PE_sdata4, .LexceptSTART)
-#else
-	cfi_personality(DW_EH_PE_absptr, __gcc_personality_v0)
-	cfi_lsda(DW_EH_PE_absptr, .LexceptSTART)
-#endif
-	mov.l	r8, @-r15
-	cfi_adjust_cfa_offset (4)
-	cfi_rel_offset (r8, 0)
-	mov.l	r10, @-r15
-	cfi_adjust_cfa_offset (4)
-	cfi_rel_offset (r10, 0)
-	mov.l	r12, @-r15
-	cfi_adjust_cfa_offset (4)
-	cfi_rel_offset (r12, 0)
-	sts.l	pr, @-r15
-	cfi_adjust_cfa_offset (4)
-	cfi_rel_offset (pr, 0)
-
-	mov	r4, r8
-	mov.l	@r8, r0
-2:
-	tst	r0, r0
-	bt	1f
-	mov	r0, r3
-	mov	r0, r4
-	add	#-1, r3
-	CMPXCHG (r4, @r8, r3, r2)
-	bf/s	2b
-	 mov	r2, r0
-7:
-	mov	#0, r0
-9:
-	cfi_remember_state
-	lds.l	@r15+, pr
-	cfi_adjust_cfa_offset (-4)
-	cfi_restore (pr)
-	mov.l	@r15+, r12
-	cfi_adjust_cfa_offset (-4)
-	cfi_restore (r12)
-	mov.l	@r15+, r10
-	cfi_adjust_cfa_offset (-4)
-	cfi_restore (r10)
-	rts
-	 mov.l	@r15+, r8
-	/* Omit CFI for restore in delay slot.  */
-	cfi_restore_state
-
-.Lafter_ret:
-1:
-	INC (@(NWAITERS,r8),r2)
-
-.LcleanupSTART:
-6:
-	mov.l	.Lenable0, r1
-	bsrf	r1
-	 nop
-.Lenable0b:
-	mov	r0, r10
-
-	mov	r8, r4
-#if FUTEX_WAIT == 0
-	mov.l	@(PRIVATE,r8), r5
-#else
-	mov.l	@(PRIVATE,r8), r5
-	mov	#FUTEX_WAIT, r0
-	or	r0, r5
-#endif
-	mov	#0, r6
-	mov	#0, r7
-	mov	#SYS_futex, r3
-	extu.b	r3, r3
-	trapa	#0x14
-	SYSCALL_INST_PAD
-
-	mov.l	.Ldisable0, r1
-	mov	r10, r4
-	bsrf	r1
-	 mov	r0, r10
-.Ldisable0b:
-	mov	r10, r0
-.LcleanupEND:
-
-	tst	r0, r0
-	bt	3f
-	cmp/eq	#-EWOULDBLOCK, r0
-	bf	4f
-
-3:
-	mov.l	@r8, r0
-5:
-	tst	r0, r0
-	bt	6b
-
-	mov	r0, r3
-	mov	r0, r4
-	add	#-1, r3
-	CMPXCHG (r4, @r8, r3, r2)
-	bf/s	5b
-	 mov	r2, r0
-
-	DEC (@(NWAITERS,r8), r2)
-	bra	7b
-	 nop
-
-4:
-	neg	r0, r0
-	mov	r0, r4
-	DEC (@(NWAITERS,r8), r2)
-	mov	r4, r8
-	mova	.Lgot0, r0
-	mov.l	.Lgot0, r12
-	add	r0, r12
-
-	mov.l	.Lerrno0, r0
-	stc	gbr, r1
-	mov.l	@(r0, r12), r0
-	bra	.Lexit
-	 add	r1, r0
-	.align	2
-.Lerrno0:
-	.long	errno@GOTTPOFF
-.Lexit:
-	mov.l	r8, @r0
-	bra	9b
-	 mov	#-1, r0
-
-	.align	2
-.Lgot0:
-	.long	_GLOBAL_OFFSET_TABLE_
-.Lenable0:
-	.long	__pthread_enable_asynccancel-.Lenable0b
-.Ldisable0:
-	.long	__pthread_disable_asynccancel-.Ldisable0b
-	.size	__new_sem_wait,.-__new_sem_wait
-	versioned_symbol(libpthread, __new_sem_wait, sem_wait, GLIBC_2_1)
-
-
-	.type	sem_wait_cleanup,@function
-sem_wait_cleanup:
-	DEC (@(NWAITERS,r8), r2)
-.LcallUR:
-	mov.l	.Lresume, r1
-#ifdef PIC
-	add	r12, r1
-#endif
-	jsr	@r1
-	 nop
-	sleep
-
-	.align	2
-.Lresume:
-#ifdef PIC
-	.long	_Unwind_Resume@GOTOFF
-#else
-	.long	_Unwind_Resume
-#endif
-.LENDCODE:
-	cfi_endproc
-	.size	sem_wait_cleanup,.-sem_wait_cleanup
-
-
-	.section .gcc_except_table,"a",@progbits
-.LexceptSTART:
-	.byte	DW_EH_PE_omit			! @LPStart format (omit)
-	.byte	DW_EH_PE_omit			! @TType format (omit)
-	.byte	DW_EH_PE_uleb128		! call-site format
-	.uleb128 .Lcstend-.Lcstbegin
-.Lcstbegin:
-	.uleb128 .LcleanupSTART-.LSTARTCODE
-	.uleb128 .LcleanupEND-.LcleanupSTART
-	.uleb128 sem_wait_cleanup-.LSTARTCODE
-	.uleb128  0
-	.uleb128 .LcallUR-.LSTARTCODE
-	.uleb128 .LENDCODE-.LcallUR
-	.uleb128 0
-	.uleb128  0
-.Lcstend:
-
-#ifdef SHARED
-	.hidden	DW.ref.__gcc_personality_v0
-	.weak	DW.ref.__gcc_personality_v0
-	.section .gnu.linkonce.d.DW.ref.__gcc_personality_v0,"aw",@progbits
-	.align	4
-	.type	DW.ref.__gcc_personality_v0, @object
-	.size	DW.ref.__gcc_personality_v0, 4
-DW.ref.__gcc_personality_v0:
-	.long	__gcc_personality_v0
-#endif
diff --git a/nptl/sysdeps/unix/sysv/linux/sh/sh4/lowlevellock.h b/nptl/sysdeps/unix/sysv/linux/sh/sh4/lowlevellock.h
deleted file mode 100644
index 90be7bd8d0..0000000000
--- a/nptl/sysdeps/unix/sysv/linux/sh/sh4/lowlevellock.h
+++ /dev/null
@@ -1,4 +0,0 @@
-/*  4 instruction cycles not accessing cache and TLB are needed after
-    trapa instruction to avoid an SH-4 silicon bug.  */
-#define NEED_SYSCALL_INST_PAD
-#include_next <lowlevellock.h>
diff --git a/nptl/sysdeps/unix/sysv/linux/sh/smp.h b/nptl/sysdeps/unix/sysv/linux/sh/smp.h
deleted file mode 100644
index c4c0a75105..0000000000
--- a/nptl/sysdeps/unix/sysv/linux/sh/smp.h
+++ /dev/null
@@ -1,23 +0,0 @@
-/* Determine whether the host has multiple processors.  SH version.
-   Copyright (C) 2002-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 Library General Public License as
-   published by the Free Software Foundation; either version 2 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
-   Library General Public License for more details.
-
-   You should have received a copy of the GNU Library General Public
-   License along with the GNU C Library; see the file COPYING.LIB.  If
-   not, see <http://www.gnu.org/licenses/>.  */
-
-static inline int
-is_smp_system (void)
-{
-  return 0;
-}
diff --git a/nptl/sysdeps/unix/sysv/linux/sh/sysdep-cancel.h b/nptl/sysdeps/unix/sysv/linux/sh/sysdep-cancel.h
deleted file mode 100644
index 4278f25d7b..0000000000
--- a/nptl/sysdeps/unix/sysv/linux/sh/sysdep-cancel.h
+++ /dev/null
@@ -1,169 +0,0 @@
-/* Copyright (C) 2003-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/>.  */
-
-#include <sysdep.h>
-#include <tls.h>
-#ifndef __ASSEMBLER__
-# include <nptl/pthreadP.h>
-#endif
-
-#if !defined NOT_IN_libc || defined IS_IN_libpthread || defined IS_IN_librt
-
-# define _IMM12 #-12
-# define _IMM16 #-16
-# define _IMP16 #16
-# undef PSEUDO
-# define PSEUDO(name, syscall_name, args) \
-  .text; \
-  ENTRY (name); \
-  .Lpseudo_start: \
-    SINGLE_THREAD_P; \
-    bf .Lpseudo_cancel; \
-    .type __##syscall_name##_nocancel,@function; \
-    .globl __##syscall_name##_nocancel; \
-    __##syscall_name##_nocancel: \
-    DO_CALL (syscall_name, args); \
-    mov r0,r1; \
-    mov _IMM12,r2; \
-    shad r2,r1; \
-    not r1,r1; \
-    tst r1,r1; \
-    bt .Lsyscall_error; \
-    bra .Lpseudo_end; \
-     nop; \
-    .size __##syscall_name##_nocancel,.-__##syscall_name##_nocancel; \
- .Lpseudo_cancel: \
-    sts.l pr,@-r15; \
-    cfi_adjust_cfa_offset (4); \
-    cfi_rel_offset (pr, 0); \
-    add _IMM16,r15; \
-    cfi_adjust_cfa_offset (16); \
-    SAVE_ARGS_##args; \
-    CENABLE; \
-    LOAD_ARGS_##args; \
-    add _IMP16,r15; \
-    cfi_adjust_cfa_offset (-16); \
-    lds.l @r15+,pr; \
-    cfi_adjust_cfa_offset (-4); \
-    cfi_restore (pr); \
-    DO_CALL(syscall_name, args); \
-    SYSCALL_INST_PAD; \
-    sts.l pr,@-r15; \
-    cfi_adjust_cfa_offset (4); \
-    cfi_rel_offset (pr, 0); \
-    mov.l r0,@-r15; \
-    cfi_adjust_cfa_offset (4); \
-    cfi_rel_offset (r0, 0); \
-    CDISABLE; \
-    mov.l @r15+,r0; \
-    cfi_adjust_cfa_offset (-4); \
-    cfi_restore (r0); \
-    lds.l @r15+,pr; \
-    cfi_adjust_cfa_offset (-4); \
-    cfi_restore (pr); \
-    mov r0,r1; \
-    mov _IMM12,r2; \
-    shad r2,r1; \
-    not r1,r1; \
-    tst r1,r1; \
-    bf .Lpseudo_end; \
- .Lsyscall_error: \
-    SYSCALL_ERROR_HANDLER; \
- .Lpseudo_end:
-
-# undef PSEUDO_END
-# define PSEUDO_END(sym) \
-  END (sym)
-
-# define SAVE_ARGS_0	/* Nothing.  */
-# define SAVE_ARGS_1	SAVE_ARGS_0; mov.l r4,@(0,r15); cfi_offset (r4,-4)
-# define SAVE_ARGS_2	SAVE_ARGS_1; mov.l r5,@(4,r15); cfi_offset (r5,-8)
-# define SAVE_ARGS_3	SAVE_ARGS_2; mov.l r6,@(8,r15); cfi_offset (r6,-12)
-# define SAVE_ARGS_4	SAVE_ARGS_3; mov.l r7,@(12,r15); cfi_offset (r7,-16)
-# define SAVE_ARGS_5	SAVE_ARGS_4
-# define SAVE_ARGS_6	SAVE_ARGS_5
-
-# define LOAD_ARGS_0	/* Nothing.  */
-# define LOAD_ARGS_1	LOAD_ARGS_0; mov.l @(0,r15),r4; cfi_restore (r4)
-# define LOAD_ARGS_2	LOAD_ARGS_1; mov.l @(4,r15),r5; cfi_restore (r5)
-# define LOAD_ARGS_3	LOAD_ARGS_2; mov.l @(8,r15),r6; cfi_restore (r6)
-# define LOAD_ARGS_4	LOAD_ARGS_3; mov.l @(12,r15),r7; cfi_restore (r7)
-# define LOAD_ARGS_5	LOAD_ARGS_4
-# define LOAD_ARGS_6	LOAD_ARGS_5
-
-# ifdef IS_IN_libpthread
-#  define __local_enable_asynccancel	__pthread_enable_asynccancel
-#  define __local_disable_asynccancel	__pthread_disable_asynccancel
-# elif !defined NOT_IN_libc
-#  define __local_enable_asynccancel	__libc_enable_asynccancel
-#  define __local_disable_asynccancel	__libc_disable_asynccancel
-# elif defined IS_IN_librt
-#  define __local_enable_asynccancel	__librt_enable_asynccancel
-#  define __local_disable_asynccancel	__librt_disable_asynccancel
-# else
-#  error Unsupported library
-# endif
-
-# define CENABLE \
-	mov.l 1f,r0; \
-	bsrf r0; \
-	 nop; \
-     0: bra 2f; \
-	 mov r0,r2; \
-	.align 2; \
-     1: .long __local_enable_asynccancel - 0b; \
-     2:
-
-# define CDISABLE \
-	mov.l 1f,r0; \
-	bsrf r0; \
-	 mov r2,r4; \
-     0: bra 2f; \
-	 nop; \
-	.align 2; \
-     1: .long __local_disable_asynccancel - 0b; \
-     2:
-
-# ifndef __ASSEMBLER__
-#  define SINGLE_THREAD_P \
-  __builtin_expect (THREAD_GETMEM (THREAD_SELF, \
-				   header.multiple_threads) == 0, 1)
-# else
-#  define SINGLE_THREAD_P \
-	stc gbr,r0; \
-	mov.w 0f,r1; \
-	sub r1,r0; \
-	mov.l @(MULTIPLE_THREADS_OFFSET,r0),r0; \
-	bra 1f; \
-	 tst r0,r0; \
-     0: .word TLS_PRE_TCB_SIZE; \
-     1:
-
-# endif
-
-#elif !defined __ASSEMBLER__
-
-# define SINGLE_THREAD_P (1)
-# define NO_CANCELLATION 1
-
-#endif
-
-#ifndef __ASSEMBLER__
-# define RTLD_SINGLE_THREAD_P \
-  __builtin_expect (THREAD_GETMEM (THREAD_SELF, \
-				   header.multiple_threads) == 0, 1)
-#endif