about summary refs log tree commit diff
path: root/sysdeps/sh
diff options
context:
space:
mode:
Diffstat (limited to 'sysdeps/sh')
-rw-r--r--sysdeps/sh/Implies4
-rw-r--r--sysdeps/sh/Makefile11
-rw-r--r--sysdeps/sh/____longjmp_chk.S78
-rw-r--r--sysdeps/sh/_mcount.S87
-rw-r--r--sysdeps/sh/abort-instr.h3
-rw-r--r--sysdeps/sh/backtrace.c1
-rw-r--r--sysdeps/sh/bits/endian.h13
-rw-r--r--sysdeps/sh/bits/fenv.h84
-rw-r--r--sysdeps/sh/bits/huge_val.h54
-rw-r--r--sysdeps/sh/bits/link.h69
-rw-r--r--sysdeps/sh/bits/setjmp.h46
-rw-r--r--sysdeps/sh/bsd-_setjmp.S51
-rw-r--r--sysdeps/sh/bsd-setjmp.S50
-rw-r--r--sysdeps/sh/configure5
-rw-r--r--sysdeps/sh/configure.ac6
-rw-r--r--sysdeps/sh/crti.S120
-rw-r--r--sysdeps/sh/crtn.S53
-rw-r--r--sysdeps/sh/dl-machine.h466
-rw-r--r--sysdeps/sh/dl-tls.h28
-rw-r--r--sysdeps/sh/dl-trampoline.S430
-rw-r--r--sysdeps/sh/fpu_control.h76
-rw-r--r--sysdeps/sh/gccframe.h21
-rw-r--r--sysdeps/sh/gmp-mparam.h29
-rw-r--r--sysdeps/sh/jmpbuf-offsets.h19
-rw-r--r--sysdeps/sh/jmpbuf-unwind.h46
-rw-r--r--sysdeps/sh/ldsodefs.h40
-rw-r--r--sysdeps/sh/libc-tls.c32
-rw-r--r--sysdeps/sh/libm-test-ulps417
-rw-r--r--sysdeps/sh/libm-test-ulps-name1
-rw-r--r--sysdeps/sh/linkmap.h5
-rw-r--r--sysdeps/sh/machine-gmon.h30
-rw-r--r--sysdeps/sh/math_private.h10
-rw-r--r--sysdeps/sh/memcpy.S198
-rw-r--r--sysdeps/sh/memset.S88
-rw-r--r--sysdeps/sh/memusage.h20
-rw-r--r--sysdeps/sh/nptl/bits/pthreadtypes-arch.h69
-rw-r--r--sysdeps/sh/nptl/bits/semaphore.h35
-rw-r--r--sysdeps/sh/nptl/pthread_spin_init.c19
-rw-r--r--sysdeps/sh/nptl/pthread_spin_lock.c33
-rw-r--r--sysdeps/sh/nptl/pthread_spin_trylock.S31
-rw-r--r--sysdeps/sh/nptl/pthread_spin_unlock.S29
-rw-r--r--sysdeps/sh/nptl/pthreaddef.h34
-rw-r--r--sysdeps/sh/nptl/tcb-offsets.sym15
-rw-r--r--sysdeps/sh/nptl/tls.h168
-rw-r--r--sysdeps/sh/preconfigure6
-rw-r--r--sysdeps/sh/s_fma.c5
-rw-r--r--sysdeps/sh/s_fmaf.c5
-rw-r--r--sysdeps/sh/sh3/__longjmp.S63
-rw-r--r--sysdeps/sh/sh3/setjmp.S81
-rw-r--r--sysdeps/sh/sh4/Makefile3
-rw-r--r--sysdeps/sh/sh4/Versions5
-rw-r--r--sysdeps/sh/sh4/__longjmp.S73
-rw-r--r--sysdeps/sh/sh4/dl-trampoline.S4
-rw-r--r--sysdeps/sh/sh4/fpu/fclrexcpt.c42
-rw-r--r--sysdeps/sh/sh4/fpu/fedisblxcpt.c39
-rw-r--r--sysdeps/sh/sh4/fpu/feenablxcpt.c38
-rw-r--r--sysdeps/sh/sh4/fpu/fegetenv.c34
-rw-r--r--sysdeps/sh/sh4/fpu/fegetexcept.c32
-rw-r--r--sysdeps/sh/sh4/fpu/fegetmode.c27
-rw-r--r--sysdeps/sh/sh4/fpu/fegetround.c35
-rw-r--r--sysdeps/sh/sh4/fpu/feholdexcpt.c44
-rw-r--r--sysdeps/sh/sh4/fpu/fesetenv.c36
-rw-r--r--sysdeps/sh/sh4/fpu/fesetexcept.c32
-rw-r--r--sysdeps/sh/sh4/fpu/fesetmode.c38
-rw-r--r--sysdeps/sh/sh4/fpu/fesetround.c45
-rw-r--r--sysdeps/sh/sh4/fpu/feupdateenv.c41
-rw-r--r--sysdeps/sh/sh4/fpu/fgetexcptflg.c38
-rw-r--r--sysdeps/sh/sh4/fpu/fraiseexcpt.c75
-rw-r--r--sysdeps/sh/sh4/fpu/fsetexcptflg.c39
-rw-r--r--sysdeps/sh/sh4/fpu/ftestexcept.c32
-rw-r--r--sysdeps/sh/sh4/setjmp.S90
-rw-r--r--sysdeps/sh/soft-fp/sfp-machine.h57
-rw-r--r--sysdeps/sh/sotruss-lib.c50
-rw-r--r--sysdeps/sh/stackguard-macros.h6
-rw-r--r--sysdeps/sh/stackinfo.h33
-rw-r--r--sysdeps/sh/start.S111
-rw-r--r--sysdeps/sh/strlen.S83
-rw-r--r--sysdeps/sh/sysdep.h75
-rw-r--r--sysdeps/sh/tininess.h1
-rw-r--r--sysdeps/sh/tls-macros.h143
-rw-r--r--sysdeps/sh/tst-audit.h25
81 files changed, 0 insertions, 4710 deletions
diff --git a/sysdeps/sh/Implies b/sysdeps/sh/Implies
deleted file mode 100644
index 1fdc53d034..0000000000
--- a/sysdeps/sh/Implies
+++ /dev/null
@@ -1,4 +0,0 @@
-sh/soft-fp
-wordsize-32
-ieee754/flt-32
-ieee754/dbl-64
diff --git a/sysdeps/sh/Makefile b/sysdeps/sh/Makefile
deleted file mode 100644
index 0c6db9a9d4..0000000000
--- a/sysdeps/sh/Makefile
+++ /dev/null
@@ -1,11 +0,0 @@
-ifeq ($(subdir),csu)
-gen-as-const-headers += tcb-offsets.sym
-endif
-
-ifeq ($(subdir),gmon)
-sysdep_routines += _mcount
-endif
-
-ifeq ($(subdir),debug)
-CFLAGS-backtrace.c += -funwind-tables
-endif
diff --git a/sysdeps/sh/____longjmp_chk.S b/sysdeps/sh/____longjmp_chk.S
deleted file mode 100644
index e49c08f027..0000000000
--- a/sysdeps/sh/____longjmp_chk.S
+++ /dev/null
@@ -1,78 +0,0 @@
-/* Copyright (C) 2009-2017 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/>.  */
-
-	.section .rodata.str1.1,"aMS",@progbits,1
-	.type	longjmp_msg,@object
-longjmp_msg:
-	.string "longjmp causes uninitialized stack frame"
-	.size	longjmp_msg, .-longjmp_msg
-	.text
-
-#define __longjmp ____longjmp_chk
-
-#ifdef PIC
-# define CALL_FAIL \
-	mov.l	.Lfail, r1;				\
-	mov.l	.Lstr, r4;				\
-	mov.l	r12, @-r15;				\
-	cfi_remember_state;				\
-	cfi_adjust_cfa_offset (4);			\
-	cfi_rel_offset (r12, 0);			\
-	mova	.Lgot, r0;				\
-	mov.l	.Lgot, r12;				\
-	add	r0, r12;				\
-	sts.l	pr, @-r15;				\
-	cfi_adjust_cfa_offset (4);			\
-	cfi_rel_offset (pr, 0);				\
-	bsrf	r1;					\
-	 add	r12, r4;				\
-	/* Unreachable.	 */				\
-.Lfail0:						\
-	.align	2;					\
-.Lgot:							\
-	.long	_GLOBAL_OFFSET_TABLE_;			\
-.Lstr:							\
-	.long	longjmp_msg@GOTOFF;			\
-.Lfail:							\
-	.long	__GI___fortify_fail@PLT-(.Lfail0-.);	\
-	cfi_restore_state;
-#else
-# define CALL_FAIL \
-	mov.l	.Lfail, r1;				\
-	mov.l	.Lstr, r4;				\
-	sts.l	pr, @-r15;				\
-	cfi_remember_state;				\
-	cfi_adjust_cfa_offset (4);			\
-	cfi_rel_offset (pr, 0);				\
-	jsr	@r1;					\
-	 nop;						\
-	/* Unreachable.	 */				\
-	.align	2;					\
-.Lstr:							\
-	.long	longjmp_msg;				\
-.Lfail:							\
-	.long	__fortify_fail;				\
-	cfi_restore_state;
-#endif
-
-#define CHECK_SP(reg) \
-	cmp/hs	r15, reg;				\
-	bt	.Lok;					\
-	CALL_FAIL					\
-.Lok:
-
-#include <__longjmp.S>
diff --git a/sysdeps/sh/_mcount.S b/sysdeps/sh/_mcount.S
deleted file mode 100644
index 1deee2ddad..0000000000
--- a/sysdeps/sh/_mcount.S
+++ /dev/null
@@ -1,87 +0,0 @@
-/* Machine-specific calling sequence for `mcount' profiling function.  SuperH
-   Copyright (C) 2001-2017 Free Software Foundation, Inc.
-   Contributed by NIIBE Yutaka <gniibe@m17n.org>
-   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>
-
-	.globl C_SYMBOL_NAME(_mcount)
-	.type C_SYMBOL_NAME(_mcount),@function
-	cfi_startproc
-	.align	5
-C_LABEL(_mcount)
-	/* Save registers.  */
-	mov.l	r4,@-r15
-	cfi_adjust_cfa_offset (4)
-	cfi_rel_offset (r4, 0)
-	mov.l	r5,@-r15
-	cfi_adjust_cfa_offset (4)
-	cfi_rel_offset (r5, 0)
-	mov.l	r6,@-r15
-	cfi_adjust_cfa_offset (4)
-	cfi_rel_offset (r6, 0)
-	mov.l	r7,@-r15
-	cfi_adjust_cfa_offset (4)
-	cfi_rel_offset (r7, 0)
-	sts.l	pr,@-r15
-	cfi_adjust_cfa_offset (4)
-	cfi_rel_offset (pr, 0)
-
-	mov.l	@(20,r15),r4
-	sts	pr,r5
-
-#ifdef SHARED
-	mov.l	0f,r1
-	mova	0f,r0
-	add	r1,r0
-	mov.l	1f,r1
-	mov.l	@(r0,r1),r1
-#else
-	mov.l	1f,r1
-#endif
-	jsr	@r1
-	 nop
-
-	/* Pop the saved registers.  */
-	lds.l	@r15+,pr
-	cfi_adjust_cfa_offset (-4)
-	cfi_restore (pr)
-	mov.l	@r15+,r7
-	cfi_adjust_cfa_offset (-4)
-	cfi_restore (r7)
-	mov.l	@r15+,r6
-	cfi_adjust_cfa_offset (-4)
-	cfi_restore (r6)
-	mov.l	@r15+,r5
-	cfi_adjust_cfa_offset (-4)
-	cfi_restore (r5)
-	rts
-	 mov.l	@r15+,r4
-	/* Omit CFI for restore in delay slot.  */
-
-	.align 2
-#ifdef SHARED
-0:	.long	_GLOBAL_OFFSET_TABLE_
-1:	.long	C_SYMBOL_NAME(__mcount_internal)@GOT
-#else
-1:	.long	C_SYMBOL_NAME(__mcount_internal)
-#endif
-	cfi_endproc
-ASM_SIZE_DIRECTIVE(C_SYMBOL_NAME(_mcount))
-
-#undef mcount
-weak_alias (_mcount, mcount)
diff --git a/sysdeps/sh/abort-instr.h b/sysdeps/sh/abort-instr.h
deleted file mode 100644
index 69381aec8e..0000000000
--- a/sysdeps/sh/abort-instr.h
+++ /dev/null
@@ -1,3 +0,0 @@
-/* An instruction which should crash any program is `sleep'.  */
-#define ABORT_INSTRUCTION_ASM sleep
-#define ABORT_INSTRUCTION asm ("sleep")
diff --git a/sysdeps/sh/backtrace.c b/sysdeps/sh/backtrace.c
deleted file mode 100644
index 4f3eafb09c..0000000000
--- a/sysdeps/sh/backtrace.c
+++ /dev/null
@@ -1 +0,0 @@
-#include "../x86_64/backtrace.c"
diff --git a/sysdeps/sh/bits/endian.h b/sysdeps/sh/bits/endian.h
deleted file mode 100644
index 1fef1ff938..0000000000
--- a/sysdeps/sh/bits/endian.h
+++ /dev/null
@@ -1,13 +0,0 @@
-/* SH is bi-endian but with a big-endian FPU.  */
-
-#ifndef _ENDIAN_H
-# error "Never use <bits/endian.h> directly; include <endian.h> instead."
-#endif
-
-#ifdef __LITTLE_ENDIAN__
-#define __BYTE_ORDER __LITTLE_ENDIAN
-#define __FLOAT_WORD_ORDER __LITTLE_ENDIAN
-#else
-#define __BYTE_ORDER __BIG_ENDIAN
-#define __FLOAT_WORD_ORDER __BIG_ENDIAN
-#endif
diff --git a/sysdeps/sh/bits/fenv.h b/sysdeps/sh/bits/fenv.h
deleted file mode 100644
index a121efb101..0000000000
--- a/sysdeps/sh/bits/fenv.h
+++ /dev/null
@@ -1,84 +0,0 @@
-/* Copyright (C) 1999-2017 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 _FENV_H
-# error "Never use <bits/fenv.h> directly; include <fenv.h> instead."
-#endif
-
-
-/* Define bits representing the exception.  We use the bit positions
-   of the appropriate bits in the FPU control word.  */
-enum
-  {
-    FE_INEXACT =
-#define FE_INEXACT	0x04
-      FE_INEXACT,
-    FE_UNDERFLOW =
-#define FE_UNDERFLOW	0x08
-      FE_UNDERFLOW,
-    FE_OVERFLOW =
-#define FE_OVERFLOW	0x10
-      FE_OVERFLOW,
-    FE_DIVBYZERO =
-#define FE_DIVBYZERO	0x20
-      FE_DIVBYZERO,
-    FE_INVALID =
-#define FE_INVALID	0x40
-      FE_INVALID,
-  };
-
-#define FE_ALL_EXCEPT \
-	(FE_INEXACT | FE_DIVBYZERO | FE_UNDERFLOW | FE_OVERFLOW | FE_INVALID)
-
-/* The SH FPU supports two of the four defined rounding modes: round to nearest
-   and round to zero.  We use again the bit positions in the FPU control word
-   as the values for the appropriate macros.  */
-enum
-  {
-    __FE_UNDEFINED = -1,
-
-    FE_TONEAREST =
-#define FE_TONEAREST	0x0
-      FE_TONEAREST,
-    FE_TOWARDZERO =
-#define FE_TOWARDZERO	0x1
-      FE_TOWARDZERO,
-  };
-
-
-/* Type representing exception flags.  */
-typedef unsigned short int fexcept_t;
-
-
-/* Type representing floating-point environment.  This function corresponds
-   to the layout of the block written by the `fstenv'.  */
-typedef struct
-  {
-    unsigned int __fpscr;
-  }
-fenv_t;
-
-/* If the default argument is used we use this value.  */
-#define FE_DFL_ENV	((const fenv_t *) -1)
-
-#if __GLIBC_USE (IEC_60559_BFP_EXT)
-/* Type representing floating-point control modes.  */
-typedef unsigned int femode_t;
-
-/* Default floating-point control modes.  */
-# define FE_DFL_MODE	((const femode_t *) -1L)
-#endif
diff --git a/sysdeps/sh/bits/huge_val.h b/sysdeps/sh/bits/huge_val.h
deleted file mode 100644
index aab7a23b17..0000000000
--- a/sysdeps/sh/bits/huge_val.h
+++ /dev/null
@@ -1,54 +0,0 @@
-/* `HUGE_VAL' constants for IEEE 754 machines (where it is infinity).
-   Used by <stdlib.h> and <math.h> functions for overflow.
-   SH version.
-   Copyright (C) 1992-2017 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 _MATH_H
-# error "Never use <bits/huge_val.h> directly; include <math.h> instead."
-#endif
-
-/* IEEE positive infinity (-HUGE_VAL is negative infinity).  */
-
-#if __GNUC_PREREQ(3,3)
-# define HUGE_VAL	(__builtin_huge_val())
-#elif __GNUC_PREREQ(2,96)
-# define HUGE_VAL	(__extension__ 0x1.0p2047)
-#elif defined __GNUC__
-
-#  define HUGE_VAL \
-  (__extension__							      \
-   ((union { unsigned __l __attribute__((__mode__(__DI__))); double __d; })   \
-    { __l: 0x000000007ff00000ULL }).__d)
-
-#else /* not GCC */
-
-# include <endian.h>
-
-typedef union { unsigned char __c[8]; double __d; } __huge_val_t;
-
-# if __BYTE_ORDER == __BIG_ENDIAN
-#  define __HUGE_VAL_bytes	{ 0, 0, 0, 0, 0x7f, 0xf0, 0, 0 }
-# endif
-# if __BYTE_ORDER == __LITTLE_ENDIAN
-#  define __HUGE_VAL_bytes	{ 0, 0, 0xf0, 0x7f, 0, 0, 0, 0 }
-# endif
-
-static __huge_val_t __huge_val = { __HUGE_VAL_bytes };
-# define HUGE_VAL	(__huge_val.__d)
-
-#endif	/* GCC.  */
diff --git a/sysdeps/sh/bits/link.h b/sysdeps/sh/bits/link.h
deleted file mode 100644
index 0427ebc961..0000000000
--- a/sysdeps/sh/bits/link.h
+++ /dev/null
@@ -1,69 +0,0 @@
-/* Copyright (C) 2005-2017 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	_LINK_H
-# error "Never include <bits/link.h> directly; use <link.h> instead."
-#endif
-
-
-/* Registers for entry into PLT on SH.  */
-typedef struct La_sh_regs
-{
-  uint32_t lr_r2;
-  uint32_t lr_r3;
-  uint32_t lr_r4;
-  uint32_t lr_r5;
-  uint32_t lr_r6;
-  uint32_t lr_r7;
-  uint32_t lr_fpscr;
-  float lr_fr4;
-  float lr_fr5;
-  float lr_fr6;
-  float lr_fr7;
-  float lr_fr8;
-  float lr_fr9;
-  float lr_fr10;
-  float lr_fr11;
-} La_sh_regs;
-
-/* Return values for calls from PLT on SH.  */
-typedef struct La_sh_retval
-{
-  uint32_t lrv_r0;
-  uint32_t lrv_r1;
-  float lrv_fr0;
-  float lrv_fr1;
-} La_sh_retval;
-
-
-__BEGIN_DECLS
-
-extern Elf32_Addr la_sh_gnu_pltenter (Elf32_Sym *__sym, unsigned int __ndx,
-				      uintptr_t *__refcook,
-				      uintptr_t *__defcook,
-				      La_sh_regs *__regs,
-				      unsigned int *__flags,
-				      const char *__symname,
-				      long int *__framesizep);
-extern unsigned int la_sh_gnu_pltexit (Elf32_Sym *__sym, unsigned int __ndx,
-				       uintptr_t *__refcook,
-				       uintptr_t *__defcook,
-				       const La_sh_regs *__inregs,
-				       La_sh_retval *__outregs,
-				       const char *__symname);
-
-__END_DECLS
diff --git a/sysdeps/sh/bits/setjmp.h b/sysdeps/sh/bits/setjmp.h
deleted file mode 100644
index 11617d7c8a..0000000000
--- a/sysdeps/sh/bits/setjmp.h
+++ /dev/null
@@ -1,46 +0,0 @@
-/* Copyright (C) 1999-2017 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/>.  */
-
-/* Define the machine-dependent type `jmp_buf'.  SH version. */
-#ifndef _BITS_SETJMP_H
-#define _BITS_SETJMP_H  1
-
-#if !defined _SETJMP_H && !defined _PTHREAD_H
-# error "Never include <bits/setjmp.h> directly; use <setjmp.h> instead."
-#endif
-
-#ifndef _ASM
-typedef struct __jmp_buf_internal_tag
-  {
-    /* Callee-saved registers r8 through r15.  */
-    int __regs[8];
-
-    /* Program counter.  */
-    void * __pc;
-
-    /* The global pointer.  */
-    void * __gbr;
-
-    /* Floating point status register.  */
-    int __fpscr;
-
-    /* Callee-saved floating point registers fr12 through fr15.  */
-    int __fpregs[4];
-  } __jmp_buf[1];
-#endif
-
-#endif  /* bits/setjmp.h */
diff --git a/sysdeps/sh/bsd-_setjmp.S b/sysdeps/sh/bsd-_setjmp.S
deleted file mode 100644
index d5d011ec6c..0000000000
--- a/sysdeps/sh/bsd-_setjmp.S
+++ /dev/null
@@ -1,51 +0,0 @@
-/* BSD `_setjmp' entry point to `sigsetjmp (..., 0)'.  SH version.
-   Copyright (C) 1999-2017 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/>.  */
-
-/* This just does a tail-call to `__sigsetjmp (ARG, 0)'.
-   We cannot do it in C because it must be a tail-call, so frame-unwinding
-   in setjmp doesn't clobber the state restored by longjmp.  */
-
-#include <sysdep.h>
-
-ENTRY (_setjmp)
-#ifdef SHARED
-	mova	1f, r0
-	mov.l	1f, r1
-	bra	2f
-	 add	r1, r0
-	.align	2
-1:
-	.long	_GLOBAL_OFFSET_TABLE_
-2:
-	mov.l	3f, r1
-	mov.l	@(r0,r1), r1
-	jmp	@r1
-	 mov	#0, r5
-	.align	2
-3:
-	.long	C_SYMBOL_NAME(__sigsetjmp@GOT)
-#else
-	mov.l	1f, r1
-	jmp	@r1
-	 mov	#0, r5
-	.align	2
-1:
-	.long	C_SYMBOL_NAME(__sigsetjmp)
-#endif
-END (_setjmp)
-libc_hidden_def (_setjmp)
diff --git a/sysdeps/sh/bsd-setjmp.S b/sysdeps/sh/bsd-setjmp.S
deleted file mode 100644
index 73e4209e73..0000000000
--- a/sysdeps/sh/bsd-setjmp.S
+++ /dev/null
@@ -1,50 +0,0 @@
-/* BSD `setjmp' entry point to `sigsetjmp (..., 1)'.  SH version.
-   Copyright (C) 1999-2017 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/>.  */
-
-/* This just does a tail-call to `__sigsetjmp (ARG, 1)'.
-   We cannot do it in C because it must be a tail-call, so frame-unwinding
-   in setjmp doesn't clobber the state restored by longjmp.  */
-
-#include <sysdep.h>
-
-ENTRY (setjmp)
-#ifdef SHARED
-	mova	1f, r0
-	mov.l	1f, r1
-	bra	2f
-	 add	r1, r0
-	.align	2
-1:
-	.long	_GLOBAL_OFFSET_TABLE_
-2:
-	mov.l	3f, r1
-	mov.l	@(r0,r1), r1
-	jmp	@r1
-	 mov	#1, r5
-	.align	2
-3:
-	.long	C_SYMBOL_NAME(__sigsetjmp@GOT)
-#else
-	mov.l	1f, r1
-	jmp	@r1
-	 mov	#1, r5
-	.align	2
-1:
-	.long	C_SYMBOL_NAME(__sigsetjmp)
-#endif
-END (setjmp)
diff --git a/sysdeps/sh/configure b/sysdeps/sh/configure
deleted file mode 100644
index 110eb65b06..0000000000
--- a/sysdeps/sh/configure
+++ /dev/null
@@ -1,5 +0,0 @@
-# This file is generated from configure.ac by Autoconf.  DO NOT EDIT!
- # Local configure fragment for sysdeps/sh.
-
-$as_echo "#define PI_STATIC_AND_HIDDEN 1" >>confdefs.h
-
diff --git a/sysdeps/sh/configure.ac b/sysdeps/sh/configure.ac
deleted file mode 100644
index 21400c447d..0000000000
--- a/sysdeps/sh/configure.ac
+++ /dev/null
@@ -1,6 +0,0 @@
-GLIBC_PROVIDES dnl See aclocal.m4 in the top level source directory.
-# Local configure fragment for sysdeps/sh.
-
-dnl It is always possible to access static and hidden symbols in an
-dnl position independent way.
-AC_DEFINE(PI_STATIC_AND_HIDDEN)
diff --git a/sysdeps/sh/crti.S b/sysdeps/sh/crti.S
deleted file mode 100644
index d19de956a6..0000000000
--- a/sysdeps/sh/crti.S
+++ /dev/null
@@ -1,120 +0,0 @@
-/* Special .init and .fini section support for SH.
-   Copyright (C) 2000-2017 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.
-
-   In addition to the permissions in the GNU Lesser General Public
-   License, the Free Software Foundation gives you unlimited
-   permission to link the compiled version of this file with other
-   programs, and to distribute those programs without any restriction
-   coming from the use of this file. (The GNU Lesser General Public
-   License restrictions do apply in other respects; for example, they
-   cover modification of the file, and distribution when not linked
-   into another program.)
-
-   Note that people who make modified versions of this file are not
-   obligated to grant this special exception for their modified
-   versions; it is their choice whether to do so. The GNU Lesser
-   General Public License gives permission to release a modified
-   version without this exception; this exception also makes it
-   possible to release a modified version which carries forward this
-   exception.
-
-   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/>.  */
-
-/* crti.S puts a function prologue at the beginning of the .init and
-   .fini sections and defines global symbols for those addresses, so
-   they can be called as functions.  The symbols _init and _fini are
-   magic and cause the linker to emit DT_INIT and DT_FINI.  */
-
-#include <libc-symbols.h>
-#include <sysdep.h>
-
-#ifndef PREINIT_FUNCTION
-# define PREINIT_FUNCTION __gmon_start__
-#endif
-
-#ifndef PREINIT_FUNCTION_WEAK
-# define PREINIT_FUNCTION_WEAK 1
-#endif
-
-#if PREINIT_FUNCTION_WEAK
-	weak_extern (PREINIT_FUNCTION)
-#else
-	.hidden PREINIT_FUNCTION
-#endif
-
-	.section	.init,"ax",@progbits
-	.align 5
-	.global	_init
-	.type	_init, @function
-_init:
-	mov.l	r12,@-r15
-	mova	.L12,r0
-	mov.l	.L12,r12
-	mov.l	r14,@-r15
-	add	r0,r12
-	sts.l	pr,@-r15
-#if PREINIT_FUNCTION_WEAK
-	mov.l	.L13,r0
-	mov.l	@(r0,r12),r1
-	tst	r1,r1
-	bt/s	.L8
-	mov	r15,r14
-	mov.l	.L14,r1
-	bsrf	r1
-.LPCS0:
-	nop
-.L8:
-#else
-	mova    .L13,r0
-	mov.l	.L13,r1
-	add	r0,r1
-	jsr	@r1
-	mov    r15,r14
-#endif
-	bra	1f
-	nop
-	.align 2
-.L12:
-	.long	_GLOBAL_OFFSET_TABLE_
-#if PREINIT_FUNCTION_WEAK
-.L13:
-	.long	PREINIT_FUNCTION@GOT
-.L14:
-	.long	PREINIT_FUNCTION@PLT-(.LPCS0+2-(.))
-#else
-.L13:
-	.long	PREINIT_FUNCTION@PLT
-#endif
-1:
-
-	.section	.fini,"ax",@progbits
-	.align 5
-	.global	_fini
-	.type	_fini, @function
-_fini:
-	mov.l	r12,@-r15
-	mova	.L19,r0
-	mov.l	r14,@-r15
-	sts.l	pr,@-r15
-	mov.l	.L19,r12
-	mov	r15,r14
-	add	r0,r12
-	bra	0f
-	nop
-	.align 2
-.L19:
-	.long	_GLOBAL_OFFSET_TABLE_
-0:
diff --git a/sysdeps/sh/crtn.S b/sysdeps/sh/crtn.S
deleted file mode 100644
index 128f951e90..0000000000
--- a/sysdeps/sh/crtn.S
+++ /dev/null
@@ -1,53 +0,0 @@
-/* Special .init and .fini section support for SH.
-   Copyright (C) 2000-2017 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.
-
-   In addition to the permissions in the GNU Lesser General Public
-   License, the Free Software Foundation gives you unlimited
-   permission to link the compiled version of this file with other
-   programs, and to distribute those programs without any restriction
-   coming from the use of this file. (The GNU Lesser General Public
-   License restrictions do apply in other respects; for example, they
-   cover modification of the file, and distribution when not linked
-   into another program.)
-
-   Note that people who make modified versions of this file are not
-   obligated to grant this special exception for their modified
-   versions; it is their choice whether to do so. The GNU Lesser
-   General Public License gives permission to release a modified
-   version without this exception; this exception also makes it
-   possible to release a modified version which carries forward this
-   exception.
-
-   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/>.  */
-
-/* crtn.S puts function epilogues in the .init and .fini sections
-   corresponding to the prologues in crti.S. */
-
-	.section .init,"ax",@progbits
-	mov	r14,r15
-	lds.l	@r15+,pr
-	mov.l	@r15+,r14
-	mov.l	@r15+,r12
-	rts
-	nop
-
-	.section .fini,"ax",@progbits
-	mov	r14,r15
-	lds.l	@r15+,pr
-	mov.l	@r15+,r14
-	mov.l	@r15+,r12
-	rts
-	nop
diff --git a/sysdeps/sh/dl-machine.h b/sysdeps/sh/dl-machine.h
deleted file mode 100644
index 2b468af6fa..0000000000
--- a/sysdeps/sh/dl-machine.h
+++ /dev/null
@@ -1,466 +0,0 @@
-/* Machine-dependent ELF dynamic relocation inline functions.  SH version.
-   Copyright (C) 1999-2017 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 dl_machine_h
-#define dl_machine_h
-
-#define ELF_MACHINE_NAME "SH"
-
-#include <sys/param.h>
-#include <sysdep.h>
-#include <assert.h>
-
-/* Return nonzero iff ELF header is compatible with the running host.  */
-static inline int __attribute__ ((unused))
-elf_machine_matches_host (const Elf32_Ehdr *ehdr)
-{
-  return ehdr->e_machine == EM_SH;
-}
-
-
-/* Return the link-time address of _DYNAMIC.  Conveniently, this is the
-   first element of the GOT.  This must be inlined in a function which
-   uses global data.  */
-static inline Elf32_Addr __attribute__ ((unused))
-elf_machine_dynamic (void)
-{
-  register Elf32_Addr *got;
-  asm ("mov r12,%0" :"=r" (got));
-  return *got;
-}
-
-
-/* Return the run-time load address of the shared object.  */
-static inline Elf32_Addr __attribute__ ((unused))
-elf_machine_load_address (void)
-{
-  Elf32_Addr addr;
-  asm ("mov.l 1f,r0\n\
-	mov.l 3f,r2\n\
-	add r12,r2\n\
-	mov.l @(r0,r12),r0\n\
-	bra 2f\n\
-	 sub r0,r2\n\
-	.align 2\n\
-	1: .long _dl_start@GOT\n\
-	3: .long _dl_start@GOTOFF\n\
-	2: mov r2,%0"
-       : "=r" (addr) : : "r0", "r1", "r2");
-  return addr;
-}
-
-
-/* Set up the loaded object described by L so its unrelocated PLT
-   entries will jump to the on-demand fixup code in dl-runtime.c.  */
-
-static inline int __attribute__ ((unused, always_inline))
-elf_machine_runtime_setup (struct link_map *l, int lazy, int profile)
-{
-  Elf32_Addr *got;
-  extern void _dl_runtime_resolve (Elf32_Word);
-  extern void _dl_runtime_profile (Elf32_Word);
-
-  if (l->l_info[DT_JMPREL] && lazy)
-    {
-      /* The GOT entries for functions in the PLT have not yet been filled
-	 in.  Their initial contents will arrange when called to load an
-	 offset into the .rela.plt section and _GLOBAL_OFFSET_TABLE_[1],
-	 and then jump to _GLOBAL_OFFSET_TABLE[2].  */
-      got = (Elf32_Addr *) D_PTR (l, l_info[DT_PLTGOT]);
-      /* If a library is prelinked but we have to relocate anyway,
-	 we have to be able to undo the prelinking of .got.plt.
-	 The prelinker saved us here address of .plt + 36.  */
-      if (got[1])
-	{
-	  l->l_mach.plt = got[1] + l->l_addr;
-	  l->l_mach.gotplt = (Elf32_Addr) &got[3];
-	}
-      got[1] = (Elf32_Addr) l;	/* Identify this shared object.	 */
-
-      /* The got[2] entry contains the address of a function which gets
-	 called to get the address of a so far unresolved function and
-	 jump to it.  The profiling extension of the dynamic linker allows
-	 to intercept the calls to collect information.	 In this case we
-	 don't store the address in the GOT so that all future calls also
-	 end in this function.	*/
-      if (profile)
-	{
-	  got[2] = (Elf32_Addr) &_dl_runtime_profile;
-	  /* Say that we really want profiling and the timers are started.  */
-	  if (GLRO(dl_profile) != NULL
-	      && _dl_name_match_p (GLRO(dl_profile), l))
-	    GL(dl_profile_map) = l;
-	}
-      else
-	/* This function will get called to fix up the GOT entry indicated by
-	   the offset on the stack, and then jump to the resolved address.  */
-	got[2] = (Elf32_Addr) &_dl_runtime_resolve;
-    }
-  return lazy;
-}
-
-#define ELF_MACHINE_RUNTIME_FIXUP_ARGS int plt_type
-#define ELF_MACHINE_RUNTIME_FIXUP_PARAMS plt_type
-
-/* Mask identifying addresses reserved for the user program,
-   where the dynamic linker should not map anything.  */
-#define ELF_MACHINE_USER_ADDRESS_MASK	0x80000000UL
-
-/* Initial entry point code for the dynamic linker.
-   The C function `_dl_start' is the real entry point;
-   its return value is the user program's entry point.	*/
-
-#define RTLD_START asm ("\
-.text\n\
-.globl _start\n\
-.globl _dl_start_user\n\
-_start:\n\
-	mov r15,r4\n\
-	mov.l .L_dl_start,r1\n\
-	mova .L_dl_start,r0\n\
-	add r1,r0\n\
-	jsr @r0\n\
-	 nop\n\
-_dl_start_user:\n\
-	! Save the user entry point address in r8.\n\
-	mov r0,r8\n\
-	! Point r12 at the GOT.\n\
-	mov.l 1f,r12\n\
-	mova 1f,r0\n\
-	bra 2f\n\
-	 add r0,r12\n\
-	.align 2\n\
-1:	.long _GLOBAL_OFFSET_TABLE_\n\
-2:	! See if we were run as a command with the executable file\n\
-	! name as an extra leading argument.\n\
-	mov.l .L_dl_skip_args,r0\n\
-	mov.l @(r0,r12),r0\n\
-	mov.l @r0,r0\n\
-	! Get the original argument count.\n\
-	mov.l @r15,r5\n\
-	! Subtract _dl_skip_args from it.\n\
-	sub r0,r5\n\
-	! Adjust the stack pointer to skip _dl_skip_args words.\n\
-	shll2 r0\n\
-	add r0,r15\n\
-	! Store back the modified argument count.\n\
-	mov.l r5,@r15\n\
-	! Compute argv address and envp.\n\
-	mov r15,r6\n\
-	add #4,r6\n\
-	mov r5,r7\n\
-	shll2 r7\n\
-	add r15,r7\n\
-	add #8,r7\n\
-	mov.l .L_dl_loaded,r0\n\
-	mov.l @(r0,r12),r0\n\
-	mov.l @r0,r4\n\
-	! Call _dl_init.\n\
-	mov.l .L_dl_init,r1\n\
-	mova .L_dl_init,r0\n\
-	add r1,r0\n\
-	jsr @r0\n\
-	 nop\n\
-1:	! Pass our finalizer function to the user in r4, as per ELF ABI.\n\
-	mov.l .L_dl_fini,r0\n\
-	mov.l @(r0,r12),r4\n\
-	! Jump to the user's entry point.\n\
-	jmp @r8\n\
-	 nop\n\
-	.align 2\n\
-.L_dl_start:\n\
-	.long _dl_start@PLT\n\
-.L_dl_skip_args:\n\
-	.long _dl_skip_args@GOT\n\
-.L_dl_init:\n\
-	.long _dl_init@PLT\n\
-.L_dl_loaded:\n\
-	.long _rtld_local@GOT\n\
-.L_dl_fini:\n\
-	.long _dl_fini@GOT\n\
-	.type __fpscr_values,@object\n\
-	.global __fpscr_values\n\
-__fpscr_values:\n\
-	.long   0\n\
-	.long   0x80000\n\
-	.weak __fpscr_values\n\
-.previous\n\
-");
-
-/* ELF_RTYPE_CLASS_PLT iff TYPE describes relocation of a PLT entry or
-   TLS variable, so undefined references should not be allowed to
-   define the value.
-   ELF_RTYPE_CLASS_COPY iff TYPE should not be allowed to resolve to one
-   of the main executable's symbols, as for a COPY reloc.  */
-#define elf_machine_type_class(type) \
-  ((((type) == R_SH_JMP_SLOT || (type) == R_SH_TLS_DTPMOD32		      \
-     || (type) == R_SH_TLS_DTPOFF32 || (type) == R_SH_TLS_TPOFF32)	      \
-    * ELF_RTYPE_CLASS_PLT)						      \
-   | (((type) == R_SH_COPY) * ELF_RTYPE_CLASS_COPY))
-
-/* A reloc type used for ld.so cmdline arg lookups to reject PLT entries.  */
-#define ELF_MACHINE_JMP_SLOT	R_SH_JMP_SLOT
-
-/* We define an initialization functions.  This is called very early in
-   _dl_sysdep_start.  */
-#define DL_PLATFORM_INIT dl_platform_init ()
-
-static inline void __attribute__ ((unused))
-dl_platform_init (void)
-{
-  if (GLRO(dl_platform) != NULL && *GLRO(dl_platform) == '\0')
-    /* Avoid an empty string which would disturb us.  */
-    GLRO(dl_platform) = NULL;
-}
-
-static inline Elf32_Addr
-elf_machine_fixup_plt (struct link_map *map, lookup_t t,
-		       const Elf32_Rela *reloc,
-		       Elf32_Addr *reloc_addr, Elf32_Addr value)
-{
-  return *reloc_addr = value;
-}
-
-/* Return the final value of a plt relocation.	*/
-static inline Elf32_Addr
-elf_machine_plt_value (struct link_map *map, const Elf32_Rela *reloc,
-		       Elf32_Addr value)
-{
-  return value + reloc->r_addend;
-}
-
-#define ARCH_LA_PLTENTER sh_gnu_pltenter
-#define ARCH_LA_PLTEXIT sh_gnu_pltexit
-
-#endif /* !dl_machine_h */
-
-/* SH never uses Elf32_Rel relocations.	 */
-#define ELF_MACHINE_NO_REL 1
-#define ELF_MACHINE_NO_RELA 0
-
-#ifdef RESOLVE_MAP
-
-/* Perform the relocation specified by RELOC and SYM (which is fully resolved).
-   MAP is the object containing the reloc.  */
-
-auto inline void
-__attribute ((always_inline))
-elf_machine_rela (struct link_map *map, const Elf32_Rela *reloc,
-		  const Elf32_Sym *sym, const struct r_found_version *version,
-		  void *const reloc_addr_arg, int skip_ifunc)
-{
-  Elf32_Addr *const reloc_addr = reloc_addr_arg;
-  const unsigned int r_type = ELF32_R_TYPE (reloc->r_info);
-  Elf32_Addr value;
-
-#define COPY_UNALIGNED_WORD(swp, twp, align) \
-  { \
-    void *__s = (swp), *__t = (twp); \
-    unsigned char *__s1 = __s, *__t1 = __t; \
-    unsigned short *__s2 = __s, *__t2 = __t; \
-    unsigned long *__s4 = __s, *__t4 = __t; \
-    switch ((align)) \
-    { \
-    case 0: \
-      *__t4 = *__s4; \
-      break; \
-    case 2: \
-      *__t2++ = *__s2++; \
-      *__t2 = *__s2; \
-      break; \
-    default: \
-      *__t1++ = *__s1++; \
-      *__t1++ = *__s1++; \
-      *__t1++ = *__s1++; \
-      *__t1 = *__s1; \
-      break; \
-    } \
-  }
-
-  if (__glibc_unlikely (r_type == R_SH_RELATIVE))
-    {
-#ifndef RTLD_BOOTSTRAP
-      if (map != &GL(dl_rtld_map)) /* Already done in rtld itself.	 */
-#endif
-	{
-	  if (reloc->r_addend)
-	    value = map->l_addr + reloc->r_addend;
-	  else
-	    {
-	      COPY_UNALIGNED_WORD (reloc_addr_arg, &value,
-				   (int) reloc_addr_arg & 3);
-	      value += map->l_addr;
-	    }
-	  COPY_UNALIGNED_WORD (&value, reloc_addr_arg,
-			       (int) reloc_addr_arg & 3);
-	}
-    }
-#ifndef RTLD_BOOTSTRAP
-  else if (__glibc_unlikely (r_type == R_SH_NONE))
-    return;
-#endif
-  else
-    {
-      const Elf32_Sym *const refsym = sym;
-      struct link_map *sym_map = RESOLVE_MAP (&sym, version, r_type);
-
-      value = sym_map == NULL ? 0 : sym_map->l_addr + sym->st_value;
-      value += reloc->r_addend;
-
-      switch (r_type)
-	{
-	case R_SH_COPY:
-	  if (sym == NULL)
-	    /* This can happen in trace mode if an object could not be
-	       found.  */
-	    break;
-	  if (sym->st_size > refsym->st_size
-	      || (sym->st_size < refsym->st_size && GLRO(dl_verbose)))
-	    {
-	      const char *strtab;
-
-	      strtab = (const char *) D_PTR (map, l_info[DT_STRTAB]);
-	      _dl_error_printf ("\
-%s: Symbol `%s' has different size in shared object, consider re-linking\n",
-				RTLD_PROGNAME, strtab + refsym->st_name);
-	    }
-	  memcpy (reloc_addr_arg, (void *) value,
-		  MIN (sym->st_size, refsym->st_size));
-	  break;
-	case R_SH_GLOB_DAT:
-	case R_SH_JMP_SLOT:
-	  /* These addresses are always aligned.  */
-	  *reloc_addr = value;
-	  break;
-	  /* XXX Remove TLS relocations which are not needed.  */
-	case R_SH_TLS_DTPMOD32:
-#ifdef RTLD_BOOTSTRAP
-	  /* During startup the dynamic linker is always the module
-	     with index 1.
-	     XXX If this relocation is necessary move before RESOLVE
-	     call.  */
-	  *reloc_addr = 1;
-#else
-	  /* Get the information from the link map returned by the
-	     resolv function.  */
-	  if (sym_map != NULL)
-	    *reloc_addr = sym_map->l_tls_modid;
-#endif
-	  break;
-	case R_SH_TLS_DTPOFF32:
-#ifndef RTLD_BOOTSTRAP
-	  /* During relocation all TLS symbols are defined and used.
-	     Therefore the offset is already correct.  */
-	  if (sym != NULL)
-	    *reloc_addr = sym->st_value;
-#endif
-	  break;
-	case R_SH_TLS_TPOFF32:
-	  /* The offset is positive, afterward from the thread pointer.  */
-#ifdef RTLD_BOOTSTRAP
-	  *reloc_addr = map->l_tls_offset + sym->st_value + reloc->r_addend;
-#else
-	  /* We know the offset of object the symbol is contained in.
-	     It is a positive value which will be added to the thread
-	     pointer.  To get the variable position in the TLS block
-	     we add the offset from that of the TLS block.  */
-	  if (sym != NULL)
-	    {
-	      CHECK_STATIC_TLS (map, sym_map);
-	      *reloc_addr = sym_map->l_tls_offset + sym->st_value
-			    + reloc->r_addend;
-	    }
-#endif
-	  break;
-	case R_SH_DIR32:
-	  {
-#if !defined RTLD_BOOTSTRAP && !defined RESOLVE_CONFLICT_FIND_MAP
-	   /* This is defined in rtld.c, but nowhere in the static
-	      libc.a; make the reference weak so static programs can
-	      still link.  This declaration cannot be done when
-	      compiling rtld.c (i.e. #ifdef RTLD_BOOTSTRAP) because
-	      rtld.c contains the common defn for _dl_rtld_map, which
-	      is incompatible with a weak decl in the same file.  */
-# ifndef SHARED
-	    weak_extern (_dl_rtld_map);
-# endif
-	    if (map == &GL(dl_rtld_map))
-	      /* Undo the relocation done here during bootstrapping.
-		 Now we will relocate it anew, possibly using a
-		 binding found in the user program or a loaded library
-		 rather than the dynamic linker's built-in definitions
-		 used while loading those libraries.  */
-	      value -= map->l_addr + refsym->st_value + reloc->r_addend;
-#endif
-	    COPY_UNALIGNED_WORD (&value, reloc_addr_arg,
-				 (int) reloc_addr_arg & 3);
-	    break;
-	  }
-	case R_SH_REL32:
-	  value = (value - (Elf32_Addr) reloc_addr);
-	  COPY_UNALIGNED_WORD (&value, reloc_addr_arg,
-			       (int) reloc_addr_arg & 3);
-	  break;
-	default:
-	  _dl_reloc_bad_type (map, r_type, 0);
-	  break;
-	}
-    }
-}
-
-auto inline void
-__attribute__ ((always_inline))
-elf_machine_rela_relative (Elf32_Addr l_addr, const Elf32_Rela *reloc,
-			   void *const reloc_addr_arg)
-{
-  Elf32_Addr value;
-
-  if (reloc->r_addend)
-    value = l_addr + reloc->r_addend;
-  else
-    {
-      COPY_UNALIGNED_WORD (reloc_addr_arg, &value, (int) reloc_addr_arg & 3);
-      value += l_addr;
-    }
-  COPY_UNALIGNED_WORD (&value, reloc_addr_arg, (int) reloc_addr_arg & 3);
-
-#undef COPY_UNALIGNED_WORD
-}
-
-auto inline void
-__attribute__ ((always_inline))
-elf_machine_lazy_rel (struct link_map *map,
-		      Elf32_Addr l_addr, const Elf32_Rela *reloc,
-		      int skip_ifunc)
-{
-  Elf32_Addr *const reloc_addr = (void *) (l_addr + reloc->r_offset);
-  /* Check for unexpected PLT reloc type.  */
-  if (ELF32_R_TYPE (reloc->r_info) == R_SH_JMP_SLOT)
-    {
-      if (__builtin_expect (map->l_mach.plt, 0) == 0)
-	*reloc_addr += l_addr;
-      else
-	*reloc_addr =
-	  map->l_mach.plt
-	  + (((Elf32_Addr) reloc_addr) - map->l_mach.gotplt) * 7;
-    }
-  else
-    _dl_reloc_bad_type (map, ELF32_R_TYPE (reloc->r_info), 1);
-}
-
-#endif /* RESOLVE_MAP */
diff --git a/sysdeps/sh/dl-tls.h b/sysdeps/sh/dl-tls.h
deleted file mode 100644
index 3f094a77a0..0000000000
--- a/sysdeps/sh/dl-tls.h
+++ /dev/null
@@ -1,28 +0,0 @@
-/* Thread-local storage handling in the ELF dynamic linker.  SH version.
-   Copyright (C) 2002-2017 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/>.  */
-
-
-/* Type used for the representation of TLS information in the GOT.  */
-typedef struct
-{
-  unsigned long int ti_module;
-  unsigned long int ti_offset;
-} tls_index;
-
-
-extern void *__tls_get_addr (tls_index *ti);
diff --git a/sysdeps/sh/dl-trampoline.S b/sysdeps/sh/dl-trampoline.S
deleted file mode 100644
index 3dfed100b2..0000000000
--- a/sysdeps/sh/dl-trampoline.S
+++ /dev/null
@@ -1,430 +0,0 @@
-/* PLT trampolines.  SH version.
-   Copyright (C) 2005-2017 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>
-
-	.text
-	.globl _dl_runtime_resolve
-	.type _dl_runtime_resolve, @function
-	cfi_startproc
-	.align 5
-_dl_runtime_resolve:
-	mov.l r2,@-r15
-	cfi_adjust_cfa_offset (4)
-	mov.l r3,@-r15
-	cfi_adjust_cfa_offset (4)
-	mov.l r4,@-r15
-	cfi_adjust_cfa_offset (4)
-	mov.l r5,@-r15
-	cfi_adjust_cfa_offset (4)
-	mov.l r6,@-r15
-	cfi_adjust_cfa_offset (4)
-	mov.l r7,@-r15
-	cfi_adjust_cfa_offset (4)
-	mov.l r12,@-r15
-	cfi_adjust_cfa_offset (4)
-	sts.l macl,@-r15
-	cfi_adjust_cfa_offset (4)
-	sts.l mach,@-r15
-	cfi_adjust_cfa_offset (4)
-	movt r3			! Save T flag.
-	mov.l r3,@-r15
-	cfi_adjust_cfa_offset (4)
-#ifdef HAVE_FPU
-	sts.l	fpscr,@-r15
-	cfi_adjust_cfa_offset (4)
-	mov	#8,r3
-	swap.w	r3,r3
-	lds	r3,fpscr
-	fmov.s	fr11,@-r15
-	cfi_adjust_cfa_offset (4)
-	fmov.s	fr10,@-r15
-	cfi_adjust_cfa_offset (4)
-	fmov.s	fr9,@-r15
-	cfi_adjust_cfa_offset (4)
-	fmov.s	fr8,@-r15
-	cfi_adjust_cfa_offset (4)
-	fmov.s	fr7,@-r15
-	cfi_adjust_cfa_offset (4)
-	fmov.s	fr6,@-r15
-	cfi_adjust_cfa_offset (4)
-	fmov.s	fr5,@-r15
-	cfi_adjust_cfa_offset (4)
-	fmov.s	fr4,@-r15
-	cfi_adjust_cfa_offset (4)
-#endif
-	sts.l pr,@-r15
-	cfi_adjust_cfa_offset (4)
-	tst r0,r0
-	bt 1f
-	mov r0,r2
-1:
-	mov r0,r4		! PLT type
-	mov r2,r5		! link map address
-#ifdef SHARED
-	mov.l 2f,r2
-	mova 2f,r0
-	add r0,r2		! Get GOT address in r2
-	mov.l 3f,r0
-	add r2,r0
-#else
-	mov.l 3f,r0
-#endif
-	jsr @r0			! Call resolver.
-	 mov r1,r6		! reloc offset
-	lds.l @r15+,pr		! Get register content back.
-	cfi_adjust_cfa_offset (-4)
-#ifdef HAVE_FPU
-	fmov.s	@r15+,fr4
-	cfi_adjust_cfa_offset (-4)
-	fmov.s	@r15+,fr5
-	cfi_adjust_cfa_offset (-4)
-	fmov.s	@r15+,fr6
-	cfi_adjust_cfa_offset (-4)
-	fmov.s	@r15+,fr7
-	cfi_adjust_cfa_offset (-4)
-	fmov.s	@r15+,fr8
-	cfi_adjust_cfa_offset (-4)
-	fmov.s	@r15+,fr9
-	cfi_adjust_cfa_offset (-4)
-	fmov.s	@r15+,fr10
-	cfi_adjust_cfa_offset (-4)
-	fmov.s	@r15+,fr11
-	cfi_adjust_cfa_offset (-4)
-	lds.l	@r15+,fpscr
-	cfi_adjust_cfa_offset (-4)
-#endif
-	mov.l @r15+,r3
-	cfi_adjust_cfa_offset (-4)
-	shal r3			! Lode T flag.
-	lds.l @r15+,mach
-	cfi_adjust_cfa_offset (-4)
-	lds.l @r15+,macl
-	cfi_adjust_cfa_offset (-4)
-	mov.l @r15+,r12
-	cfi_adjust_cfa_offset (-4)
-	mov.l @r15+,r7
-	cfi_adjust_cfa_offset (-4)
-	mov.l @r15+,r6
-	cfi_adjust_cfa_offset (-4)
-	mov.l @r15+,r5
-	cfi_adjust_cfa_offset (-4)
-	mov.l @r15+,r4
-	cfi_adjust_cfa_offset (-4)
-	mov.l @r15+,r3
-	cfi_adjust_cfa_offset (-4)
-	jmp @r0			! Jump to function address.
-	 mov.l @r15+,r2
-	cfi_adjust_cfa_offset (-4)
-	.align 2
-#ifdef SHARED
-2:	.long _GLOBAL_OFFSET_TABLE_
-3:	.long _dl_fixup@GOTOFF
-#else
-3:	.long _dl_fixup
-#endif
-	cfi_endproc
-	.size _dl_runtime_resolve, .-_dl_runtime_resolve
-
-
-	.globl _dl_runtime_profile
-	.type _dl_runtime_profile,@function
-	cfi_startproc
-	.align 5
-_dl_runtime_profile:
-	mov.l r12,@-r15
-	cfi_adjust_cfa_offset (4)
-#ifdef HAVE_FPU
-	sts.l	fpscr,@-r15
-	cfi_adjust_cfa_offset (4)
-	mov	#8,r12
-	swap.w	r12,r12
-	lds	r12,fpscr
-	fmov.s	fr11,@-r15
-	cfi_adjust_cfa_offset (4)
-	fmov.s	fr10,@-r15
-	cfi_adjust_cfa_offset (4)
-	fmov.s	fr9,@-r15
-	cfi_adjust_cfa_offset (4)
-	fmov.s	fr8,@-r15
-	cfi_adjust_cfa_offset (4)
-	fmov.s	fr7,@-r15
-	cfi_adjust_cfa_offset (4)
-	fmov.s	fr6,@-r15
-	cfi_adjust_cfa_offset (4)
-	fmov.s	fr5,@-r15
-	cfi_adjust_cfa_offset (4)
-	fmov.s	fr4,@-r15
-	cfi_adjust_cfa_offset (4)
-#else
-	add #-36,r15
-	cfi_adjust_cfa_offset (36)
-#endif
-	mov.l r7,@-r15
-	cfi_adjust_cfa_offset (4)
-	mov.l r6,@-r15
-	cfi_adjust_cfa_offset (4)
-	mov.l r5,@-r15
-	cfi_adjust_cfa_offset (4)
-	mov.l r4,@-r15
-	cfi_adjust_cfa_offset (4)
-	mov.l r3,@-r15
-	cfi_adjust_cfa_offset (4)
-	mov.l r2,@-r15
-	cfi_adjust_cfa_offset (4)
-	sts.l macl,@-r15
-	cfi_adjust_cfa_offset (4)
-	sts.l mach,@-r15
-	cfi_adjust_cfa_offset (4)
-	movt r3			! Save T flag.
-	mov.l r3,@-r15
-	cfi_adjust_cfa_offset (4)
-	sts.l pr,@-r15
-	cfi_adjust_cfa_offset (4)
-	tst r0,r0
-	bt 1f
-	mov r0,r2
-1:
-	mov r0,r4		! PLT type
-	mov r2,r5		! link map address
-	sts pr,r7		! return address
-	add #-24,r15
-	cfi_adjust_cfa_offset (24)
-	mov #40,r0
-	add r15,r0
-	mov.l r0,@r15		! Address of the register structure
-	mov #-1,r0
-	mov.l r0,@(8,r15)
-	mov #8,r0
-	add r15,r0
-	mov.l r0,@(4,r15)
-	mov.l r5,@(12,r15)
-	mov.l r1,@(16,r15)
-#ifdef SHARED
-	mov.l 2f,r12
-	mova 2f,r0
-	add r0,r12		! Get GOT address in r12
-	mov.l 3f,r0
-	add r12,r0
-#else
-	mov.l 3f,r0
-#endif
-	jsr @r0			! Call resolver.
-	 mov r1,r6		! reloc offset
-	mov.l @(8,r15),r1
-	cmp/pz r1
-	bt 4f
-	add #24,r15
-	cfi_adjust_cfa_offset (-24)
-	lds.l @r15+,pr		! Get register content back.
-	cfi_adjust_cfa_offset (-4)
-	mov.l @r15+,r3
-	cfi_adjust_cfa_offset (-4)
-	shal r3			! Lode T flag.
-	lds.l @r15+,mach
-	cfi_adjust_cfa_offset (-4)
-	lds.l @r15+,macl
-	cfi_adjust_cfa_offset (-4)
-	mov.l @r15+,r2
-	cfi_adjust_cfa_offset (-4)
-	mov.l @r15+,r3
-	cfi_adjust_cfa_offset (-4)
-	mov.l @r15+,r4
-	cfi_adjust_cfa_offset (-4)
-	mov.l @r15+,r5
-	cfi_adjust_cfa_offset (-4)
-	mov.l @r15+,r6
-	cfi_adjust_cfa_offset (-4)
-	mov.l @r15+,r7
-	cfi_adjust_cfa_offset (-4)
-#ifdef HAVE_FPU
-	fmov.s	@r15+,fr4
-	cfi_adjust_cfa_offset (-4)
-	fmov.s	@r15+,fr5
-	cfi_adjust_cfa_offset (-4)
-	fmov.s	@r15+,fr6
-	cfi_adjust_cfa_offset (-4)
-	fmov.s	@r15+,fr7
-	cfi_adjust_cfa_offset (-4)
-	fmov.s	@r15+,fr8
-	cfi_adjust_cfa_offset (-4)
-	fmov.s	@r15+,fr9
-	cfi_adjust_cfa_offset (-4)
-	fmov.s	@r15+,fr10
-	cfi_adjust_cfa_offset (-4)
-	fmov.s	@r15+,fr11
-	cfi_adjust_cfa_offset (-4)
-	lds.l	@r15+,fpscr
-	cfi_adjust_cfa_offset (-4)
-#else
-	add #36,r15
-	cfi_adjust_cfa_offset (-36)
-#endif
-	jmp @r0			! Jump to function address.
-	 mov.l @r15+,r12
-	cfi_adjust_cfa_offset (-4)
-	.align 2
-#ifdef SHARED
-2:	.long _GLOBAL_OFFSET_TABLE_
-3:	.long _dl_profile_fixup@GOTOFF
-#else
-3:	.long _dl_profile_fixup
-#endif
-
-	cfi_adjust_cfa_offset (104)
-4:
-	mov #104,r3
-	add r15,r3		! Original stack
-	mov.l r8,@(20,r15)
-	cfi_rel_offset (r8, 20)
-	mov r15,r8
-	sub r1,r15
-	shlr2 r15
-	shll2 r15
-	mov r15,r4
-	shlr2 r1
-	tst r1,r1
-5:
-	bt/s 6f
-	 dt r1
-	mov.l @r3+,r2
-	mov.l r2,@r4
-	bra 5b
-	 add #4,r4
-6:
-	mov.l @r8,r12
-	mov.l @r12+,r2
-	mov.l @r12+,r3
-	mov.l @r12+,r4
-	mov.l @r12+,r5
-	mov.l @r12+,r6
-	mov.l @r12+,r7
-#ifdef HAVE_FPU
-	fmov.s	@r12+,fr4
-	fmov.s	@r12+,fr5
-	fmov.s	@r12+,fr6
-	fmov.s	@r12+,fr7
-	fmov.s	@r12+,fr8
-	fmov.s	@r12+,fr9
-	fmov.s	@r12+,fr10
-	fmov.s	@r12+,fr11
-	lds.l	@r12+,fpscr
-#else
-	add #36,r2
-#endif
-	jsr @r0			! Call function.
-	 nop
-	mov r8,r15
-	mov.l @(12,r15),r4	! link map address
-	mov.l @(16,r15),r5	! reloc offset
-	mov.l @r15,r6		! input registers
-#ifdef HAVE_FPU
-	mov #16,r8
-	add r15,r8
-	fmov.s fr1,@-r8
-	fmov.s fr0,@-r8
-#else
-	mov #8,r8
-	add r15,r8
-#endif
-	mov.l r1,@-r8
-	mov.l r0,@-r8
-	mov.l @(20,r15),r8
-	cfi_restore (r8)
-#ifdef SHARED
-	mov.l 7f,r12
-	mova 7f,r0
-	add r0,r12		! Get GOT address in r12
-	mov.l 8f,r0
-	add r12,r0
-#else
-	mov.l 8f,r0
-#endif
-	jsr @r0
-	 mov r15,r7		! output registers
-	mov.l @r15+,r0
-	cfi_adjust_cfa_offset (-4)
-	mov.l @r15+,r1
-	cfi_adjust_cfa_offset (-4)
-#ifdef HAVE_FPU
-	fmov.s @r15+,fr0
-	cfi_adjust_cfa_offset (-4)
-	fmov.s @r15+,fr1
-	cfi_adjust_cfa_offset (-4)
-	add #8,r15
-	cfi_adjust_cfa_offset (-8)
-#else
-	add #16,r15
-	cfi_adjust_cfa_offset (-16)
-#endif
-	lds.l @r15+,pr		! Get register content back.
-	cfi_adjust_cfa_offset (-4)
-	mov.l @r15+,r3
-	cfi_adjust_cfa_offset (-4)
-	shal r3			! Lode T flag.
-	lds.l @r15+,mach
-	cfi_adjust_cfa_offset (-4)
-	lds.l @r15+,macl
-	cfi_adjust_cfa_offset (-4)
-	mov.l @r15+,r2
-	cfi_adjust_cfa_offset (-4)
-	mov.l @r15+,r3
-	cfi_adjust_cfa_offset (-4)
-	mov.l @r15+,r4
-	cfi_adjust_cfa_offset (-4)
-	mov.l @r15+,r5
-	cfi_adjust_cfa_offset (-4)
-	mov.l @r15+,r6
-	cfi_adjust_cfa_offset (-4)
-	mov.l @r15+,r7
-	cfi_adjust_cfa_offset (-4)
-#ifdef HAVE_FPU
-	fmov.s	@r15+,fr4
-	cfi_adjust_cfa_offset (-4)
-	fmov.s	@r15+,fr5
-	cfi_adjust_cfa_offset (-4)
-	fmov.s	@r15+,fr6
-	cfi_adjust_cfa_offset (-4)
-	fmov.s	@r15+,fr7
-	cfi_adjust_cfa_offset (-4)
-	fmov.s	@r15+,fr8
-	cfi_adjust_cfa_offset (-4)
-	fmov.s	@r15+,fr9
-	cfi_adjust_cfa_offset (-4)
-	fmov.s	@r15+,fr10
-	cfi_adjust_cfa_offset (-4)
-	fmov.s	@r15+,fr11
-	cfi_adjust_cfa_offset (-4)
-	lds.l	@r15+,fpscr
-	cfi_adjust_cfa_offset (-4)
-#else
-	add #36,r15
-	cfi_adjust_cfa_offset (-36)
-#endif
-	rts			! Jump to function address.
-	 mov.l @r15+,r12
-	cfi_adjust_cfa_offset (-4)
-	cfi_endproc
-	.align 2
-#ifdef SHARED
-7:	.long _GLOBAL_OFFSET_TABLE_
-8:	.long _dl_call_pltexit@GOTOFF
-#else
-8:	.long _dl_call_pltexit
-#endif
-	.size _dl_runtime_profile, .-_dl_runtime_profile
diff --git a/sysdeps/sh/fpu_control.h b/sysdeps/sh/fpu_control.h
deleted file mode 100644
index df2627ad1e..0000000000
--- a/sysdeps/sh/fpu_control.h
+++ /dev/null
@@ -1,76 +0,0 @@
-/* FPU control word definitions.  SH version.
-   Copyright (C) 1999-2017 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 _FPU_CONTROL_H
-#define _FPU_CONTROL_H
-
-#if !defined(__SH_FPU_ANY__)
-
-#define _FPU_RESERVED 0xffffffff
-#define _FPU_DEFAULT  0x00000000
-typedef unsigned int fpu_control_t;
-#define _FPU_GETCW(cw) (cw) = 0
-#define _FPU_SETCW(cw) (void) (cw)
-extern fpu_control_t __fpu_control;
-
-#else
-
-#include <features.h>
-
-/* masking of interrupts */
-#define _FPU_MASK_VM	0x0800	/* Invalid operation */
-#define _FPU_MASK_ZM	0x0400	/* Division by zero  */
-#define _FPU_MASK_OM	0x0200	/* Overflow	     */
-#define _FPU_MASK_UM	0x0100	/* Underflow	     */
-#define _FPU_MASK_IM	0x0080	/* Inexact operation */
-
-/* rounding control */
-#define _FPU_RC_NEAREST 0x0	/* RECOMMENDED */
-#define _FPU_RC_ZERO	0x1
-
-#define _FPU_RESERVED 0xffc00000  /* These bits are reserved.  */
-
-/* The fdlibm code requires strict IEEE double precision arithmetic,
-   and no interrupts for exceptions, rounding to nearest.  */
-#define _FPU_DEFAULT	0x00080000 /* Default value.  */
-#define _FPU_IEEE	0x00080f80 /* Default + exceptions enabled. */
-
-/* Type of the control word.  */
-typedef unsigned int fpu_control_t;
-
-/* Macros for accessing the hardware control word.  */
-#define _FPU_GETCW(cw) __asm__ ("sts fpscr,%0" : "=r" (cw))
-
-#if defined __GNUC__
-__BEGIN_DECLS
-
-/* GCC provides this function.  */
-extern void __set_fpscr (unsigned long);
-#define _FPU_SETCW(cw) __set_fpscr ((cw))
-#else
-#define _FPU_SETCW(cw) __asm__ ("lds %0,fpscr" : : "r" (cw))
-#endif
-
-/* Default control word set at startup.	 */
-extern fpu_control_t __fpu_control;
-
-__END_DECLS
-
-#endif /* __SH_FPU_ANY__ */
-
-#endif /* _FPU_CONTROL_H */
diff --git a/sysdeps/sh/gccframe.h b/sysdeps/sh/gccframe.h
deleted file mode 100644
index e12a845e22..0000000000
--- a/sysdeps/sh/gccframe.h
+++ /dev/null
@@ -1,21 +0,0 @@
-/* Definition of object in frame unwind info.  sh version.
-   Copyright (C) 2001-2017 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/>.  */
-
-#define DWARF_FRAME_REGISTERS 49
-
-#include <sysdeps/generic/gccframe.h>
diff --git a/sysdeps/sh/gmp-mparam.h b/sysdeps/sh/gmp-mparam.h
deleted file mode 100644
index a579b48787..0000000000
--- a/sysdeps/sh/gmp-mparam.h
+++ /dev/null
@@ -1,29 +0,0 @@
-/* gmp-mparam.h -- Compiler/machine parameter header file.
-
-Copyright (C) 1991-2017 Free Software Foundation, Inc.
-
-This file is part of the GNU MP Library.
-
-The GNU MP 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 MP 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 MP Library; see the file COPYING.LIB.  If not, see
-<http://www.gnu.org/licenses/>.  */
-
-#define BITS_PER_MP_LIMB 32
-#define BYTES_PER_MP_LIMB 4
-#define BITS_PER_LONGINT 32
-#define BITS_PER_INT 32
-#define BITS_PER_SHORTINT 16
-#define BITS_PER_CHAR 8
-
-#define IEEE_DOUBLE_BIG_ENDIAN 0
-#define IEEE_DOUBLE_MIXED_ENDIAN 1
diff --git a/sysdeps/sh/jmpbuf-offsets.h b/sysdeps/sh/jmpbuf-offsets.h
deleted file mode 100644
index fc5fae92c1..0000000000
--- a/sysdeps/sh/jmpbuf-offsets.h
+++ /dev/null
@@ -1,19 +0,0 @@
-/* Private macros for accessing __jmp_buf contents.  SH version.
-   Copyright (C) 2006-2017 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/>.  */
-
-#define JB_SIZE		(4 * 15)
diff --git a/sysdeps/sh/jmpbuf-unwind.h b/sysdeps/sh/jmpbuf-unwind.h
deleted file mode 100644
index 8af8d0d44f..0000000000
--- a/sysdeps/sh/jmpbuf-unwind.h
+++ /dev/null
@@ -1,46 +0,0 @@
-/* Copyright (C) 2003-2017 Free Software Foundation, Inc.
-   This file is part of the GNU C Library.
-   Contributed by Jakub Jelinek <jakub@redhat.com>, 2003.
-
-   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 <setjmp.h>
-#include <stdint.h>
-#include <unwind.h>
-#include <sysdep.h>
-
-/* Test if longjmp to JMPBUF would unwind the frame
-   containing a local variable at ADDRESS.  */
-#define _JMPBUF_UNWINDS(jmpbuf, address, demangle)		\
-  ((void *) (address) < (void *) demangle ((jmpbuf)[0].__regs[7]))
-
-#define _JMPBUF_CFA_UNWINDS_ADJ(_jmpbuf, _context, _adj) \
-  _JMPBUF_UNWINDS_ADJ (_jmpbuf, (void *) _Unwind_GetCFA (_context), _adj)
-
-static inline uintptr_t __attribute__ ((unused))
-_jmpbuf_sp (__jmp_buf regs)
-{
-  void *sp = (void *) regs[0].__regs[7];
-#ifdef PTR_DEMANGLE
-  PTR_DEMANGLE (sp);
-#endif
-  return (uintptr_t) sp;
-}
-
-#define _JMPBUF_UNWINDS_ADJ(_jmpbuf, _address, _adj) \
-  ((uintptr_t) (_address) - (_adj) < _jmpbuf_sp (_jmpbuf) - (_adj))
-
-/* We use the normal longjmp for unwinding.  */
-#define __libc_unwind_longjmp(buf, val) __libc_longjmp (buf, val)
diff --git a/sysdeps/sh/ldsodefs.h b/sysdeps/sh/ldsodefs.h
deleted file mode 100644
index 68fd828aed..0000000000
--- a/sysdeps/sh/ldsodefs.h
+++ /dev/null
@@ -1,40 +0,0 @@
-/* Run-time dynamic linker data structures for loaded ELF shared objects.
-   Copyright (C) 1995-2017 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	_SH_LDSODEFS_H
-#define	_SH_LDSODEFS_H	1
-
-#include <elf.h>
-
-struct La_sh_regs;
-struct La_sh_retval;
-
-#define ARCH_PLTENTER_MEMBERS						\
-    uintptr_t (*sh_gnu_pltenter) (Elf32_Sym *, unsigned int, uintptr_t *, \
-				  uintptr_t *, struct La_sh_regs *, \
-				  unsigned int *, const char *name,	\
-				  long int *framesizep)
-
-#define ARCH_PLTEXIT_MEMBERS						\
-    unsigned int (*sh_gnu_pltexit) (Elf32_Sym *, unsigned int, uintptr_t *, \
-				    uintptr_t *, const struct La_sh_regs *, \
-				    struct La_sh_retval *, const char *)
-
-#include_next <ldsodefs.h>
-
-#endif
diff --git a/sysdeps/sh/libc-tls.c b/sysdeps/sh/libc-tls.c
deleted file mode 100644
index 3fb6f057ee..0000000000
--- a/sysdeps/sh/libc-tls.c
+++ /dev/null
@@ -1,32 +0,0 @@
-/* Thread-local storage handling in the ELF dynamic linker.  SH version.
-   Copyright (C) 2009-2017 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 <csu/libc-tls.c>
-#include <dl-tls.h>
-
-/* On SH, linker optimizations are not required, so __tls_get_addr
-   can be called even in statically linked binaries.  In this case module
-   must be always 1 and PT_TLS segment exist in the binary, otherwise it
-   would not link.  */
-
-void *
-__tls_get_addr (tls_index *ti)
-{
-  dtv_t *dtv = THREAD_DTV ();
-  return (char *) dtv[1].pointer.val + ti->ti_offset;
-}
diff --git a/sysdeps/sh/libm-test-ulps b/sysdeps/sh/libm-test-ulps
deleted file mode 100644
index a00f04e2a3..0000000000
--- a/sysdeps/sh/libm-test-ulps
+++ /dev/null
@@ -1,417 +0,0 @@
-# Begin of automatic generation
-
-# Maximal error of functions:
-Function: "acos_towardzero":
-float: 1
-ifloat: 1
-
-Function: "acosh":
-double: 1
-idouble: 1
-
-Function: "asin_towardzero":
-double: 1
-float: 1
-idouble: 1
-ifloat: 1
-
-Function: "asinh":
-double: 1
-float: 1
-ifloat: 1
-
-Function: "atan2":
-float: 1
-ifloat: 1
-
-Function: "atanh":
-float: 1
-ifloat: 1
-
-Function: Real part of "cacos":
-double: 1
-float: 2
-idouble: 1
-ifloat: 2
-
-Function: Imaginary part of "cacos":
-double: 1
-float: 2
-idouble: 1
-ifloat: 2
-
-Function: Real part of "cacosh":
-double: 1
-float: 2
-idouble: 1
-ifloat: 2
-
-Function: Imaginary part of "cacosh":
-double: 1
-float: 2
-idouble: 1
-ifloat: 2
-
-Function: Real part of "casin":
-double: 1
-float: 1
-idouble: 1
-ifloat: 1
-
-Function: Imaginary part of "casin":
-double: 1
-float: 2
-idouble: 1
-ifloat: 2
-
-Function: Real part of "casinh":
-double: 1
-float: 2
-idouble: 1
-ifloat: 2
-
-Function: Imaginary part of "casinh":
-double: 1
-float: 1
-idouble: 1
-ifloat: 1
-
-Function: Real part of "catan":
-float: 1
-ifloat: 1
-
-Function: Imaginary part of "catan":
-double: 1
-float: 1
-idouble: 1
-ifloat: 1
-
-Function: Real part of "catanh":
-double: 1
-float: 1
-idouble: 1
-ifloat: 1
-
-Function: Imaginary part of "catanh":
-float: 1
-ifloat: 1
-
-Function: "cbrt":
-double: 1
-float: 1
-idouble: 1
-ifloat: 1
-
-Function: Real part of "ccos":
-double: 1
-float: 1
-idouble: 1
-ifloat: 1
-
-Function: Imaginary part of "ccos":
-double: 1
-float: 1
-idouble: 1
-ifloat: 1
-
-Function: Real part of "ccosh":
-double: 1
-float: 1
-idouble: 1
-ifloat: 1
-
-Function: Imaginary part of "ccosh":
-double: 1
-float: 1
-idouble: 1
-ifloat: 1
-
-Function: Real part of "cexp":
-double: 2
-float: 1
-idouble: 2
-ifloat: 1
-
-Function: Imaginary part of "cexp":
-double: 1
-float: 2
-idouble: 1
-ifloat: 2
-
-Function: Real part of "clog":
-double: 1
-float: 1
-idouble: 1
-ifloat: 1
-
-Function: Imaginary part of "clog":
-float: 1
-ifloat: 1
-
-Function: Real part of "clog10":
-double: 2
-float: 2
-idouble: 2
-ifloat: 2
-
-Function: Imaginary part of "clog10":
-double: 1
-float: 1
-idouble: 1
-ifloat: 1
-
-Function: "cos":
-float: 1
-ifloat: 1
-
-Function: "cos_towardzero":
-double: 1
-float: 1
-idouble: 1
-ifloat: 1
-
-Function: "cosh":
-double: 1
-float: 1
-idouble: 1
-ifloat: 1
-
-Function: "cosh_towardzero":
-double: 1
-float: 1
-idouble: 1
-ifloat: 1
-
-Function: Real part of "cpow":
-double: 2
-float: 4
-idouble: 2
-ifloat: 4
-
-Function: Imaginary part of "cpow":
-float: 2
-ifloat: 2
-
-Function: Real part of "csin":
-double: 1
-float: 1
-idouble: 1
-ifloat: 1
-
-Function: Real part of "csinh":
-float: 1
-ifloat: 1
-
-Function: Imaginary part of "csinh":
-double: 1
-float: 1
-idouble: 1
-ifloat: 1
-
-Function: Real part of "csqrt":
-double: 1
-float: 1
-idouble: 1
-ifloat: 1
-
-Function: Imaginary part of "csqrt":
-double: 1
-float: 1
-idouble: 1
-ifloat: 1
-
-Function: Real part of "ctan":
-double: 1
-float: 1
-idouble: 1
-ifloat: 1
-
-Function: Imaginary part of "ctan":
-double: 2
-float: 1
-idouble: 2
-ifloat: 1
-
-Function: Real part of "ctan_towardzero":
-double: 5
-float: 3
-idouble: 5
-ifloat: 3
-
-Function: Imaginary part of "ctan_towardzero":
-double: 2
-float: 3
-idouble: 2
-ifloat: 3
-
-Function: Real part of "ctanh":
-double: 2
-float: 1
-idouble: 2
-ifloat: 1
-
-Function: Imaginary part of "ctanh":
-double: 2
-float: 2
-idouble: 2
-ifloat: 2
-
-Function: Real part of "ctanh_towardzero":
-double: 2
-float: 3
-idouble: 2
-ifloat: 3
-
-Function: Imaginary part of "ctanh_towardzero":
-double: 5
-float: 3
-idouble: 5
-ifloat: 3
-
-Function: "erf":
-double: 1
-idouble: 1
-
-Function: "erfc":
-double: 1
-float: 1
-idouble: 1
-ifloat: 1
-
-Function: "exp10":
-double: 1
-idouble: 1
-
-Function: "exp10_towardzero":
-double: 1
-idouble: 1
-
-Function: "exp_towardzero":
-double: 1
-idouble: 1
-
-Function: "expm1":
-double: 1
-float: 1
-idouble: 1
-ifloat: 1
-
-Function: "expm1_towardzero":
-double: 1
-float: 1
-idouble: 1
-ifloat: 1
-
-Function: "fma_towardzero":
-double: 1
-idouble: 1
-
-Function: "gamma":
-double: 1
-float: 1
-idouble: 1
-ifloat: 1
-
-Function: "hypot":
-double: 1
-idouble: 1
-
-Function: "j0":
-double: 2
-float: 2
-idouble: 2
-ifloat: 2
-
-Function: "j1":
-double: 1
-float: 2
-idouble: 1
-ifloat: 2
-
-Function: "jn":
-double: 4
-float: 4
-idouble: 4
-ifloat: 4
-
-Function: "lgamma":
-double: 1
-float: 1
-idouble: 1
-ifloat: 1
-
-Function: "log":
-float: 1
-ifloat: 1
-
-Function: "log10":
-double: 1
-float: 2
-idouble: 1
-ifloat: 2
-
-Function: "log1p":
-float: 1
-ifloat: 1
-
-Function: "pow":
-float: 1
-ifloat: 1
-
-Function: "pow10":
-double: 1
-idouble: 1
-
-Function: "pow_towardzero":
-float: 1
-ifloat: 1
-
-Function: "sin":
-float: 1
-ifloat: 1
-
-Function: "sin_towardzero":
-double: 1
-float: 1
-idouble: 1
-ifloat: 1
-
-Function: "sincos":
-float: 1
-ifloat: 1
-
-Function: "sinh_towardzero":
-double: 1
-idouble: 1
-
-Function: "tan_towardzero":
-double: 1
-float: 1
-idouble: 1
-ifloat: 1
-
-Function: "tgamma":
-double: 4
-float: 3
-idouble: 4
-ifloat: 3
-
-Function: "y0":
-double: 2
-float: 1
-idouble: 2
-ifloat: 1
-
-Function: "y1":
-double: 3
-float: 2
-idouble: 3
-ifloat: 2
-
-Function: "yn":
-double: 3
-float: 2
-idouble: 3
-ifloat: 2
-
-# end of automatic generation
diff --git a/sysdeps/sh/libm-test-ulps-name b/sysdeps/sh/libm-test-ulps-name
deleted file mode 100644
index b6c67c9520..0000000000
--- a/sysdeps/sh/libm-test-ulps-name
+++ /dev/null
@@ -1 +0,0 @@
-SH
diff --git a/sysdeps/sh/linkmap.h b/sysdeps/sh/linkmap.h
deleted file mode 100644
index bb2fbb5f16..0000000000
--- a/sysdeps/sh/linkmap.h
+++ /dev/null
@@ -1,5 +0,0 @@
-struct link_map_machine
-  {
-    Elf32_Addr plt; /* Address of .plt + 36 */
-    Elf32_Addr gotplt; /* Address of .got + 0x0c */
-  };
diff --git a/sysdeps/sh/machine-gmon.h b/sysdeps/sh/machine-gmon.h
deleted file mode 100644
index 56e45bcdb4..0000000000
--- a/sysdeps/sh/machine-gmon.h
+++ /dev/null
@@ -1,30 +0,0 @@
-/* Machine-dependent definitions for profiling support.  SH version.
-   Copyright (C) 1996-2017 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/>.  */
-
-/* We must not pollute the global namespace.  */
-#define mcount_internal __mcount_internal
-
-void mcount_internal (u_long frompc, u_long selfpc);
-
-#define _MCOUNT_DECL(frompc, selfpc) \
-void mcount_internal (u_long frompc, u_long selfpc)
-
-
-/* Define MCOUNT as empty since we have the implementation in another
-   file.  */
-#define MCOUNT
diff --git a/sysdeps/sh/math_private.h b/sysdeps/sh/math_private.h
deleted file mode 100644
index d13f2d49d3..0000000000
--- a/sysdeps/sh/math_private.h
+++ /dev/null
@@ -1,10 +0,0 @@
-#ifndef SH_MATH_PRIVATE_H
-#define SH_MATH_PRIVATE_H 1
-
-/* Enable __finitel, __isinfl, and __isnanl for binary compatibility
-   when built without long double support. */
-#define LDBL_CLASSIFY_COMPAT 1
-
-#include_next <math_private.h>
-
-#endif
diff --git a/sysdeps/sh/memcpy.S b/sysdeps/sh/memcpy.S
deleted file mode 100644
index c13afeaf24..0000000000
--- a/sysdeps/sh/memcpy.S
+++ /dev/null
@@ -1,198 +0,0 @@
-/* Copyright (C) 1999-2017 Free Software Foundation, Inc.
-   This file is part of the GNU C Library.
-   Contributed by Kazumoto Kojima <kkojima@rr.iij4u.or.jp>
-   Optimized by Toshiyasu Morita <toshiyasu.morita@hsa.hitachi.com>
-
-   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>
-
-/* void *memcpy(void *dst, const void *src, size_t n);
-    No overlap between the memory of DST and of SRC are assumed.  */
-
-ENTRY(memcpy)
-	mov	r4,r3		/* Save destination.  */
-
-	/* If less than 11 bytes, just do a byte copy.  */
-	mov	#11,r0
-	cmp/gt	r6,r0
-	bt	L_byteloop_init
-
-	/* Check if we need to word-align source.  */
-	mov	r5,r0
-	tst	#1,r0
-	bt	L_wordalign
-
-	mov.b	@r0+,r1		/* Copy one byte.  */
-	add	#-1,r6
-	mov.b	r1,@r4
-	add	#1,r4
-
-	.balignw 4,0x0009
-L_wordalign:
-	/* Check if we need to longword-align source.  */
-	tst	#2,r0
-	bt	L_copy
-
-	mov.w	@r0+,r1		/* Copy one word.  */
-	add	#-2,r6
-#ifdef __BIG_ENDIAN__
-	add	#1,r4
-	mov.b	r1,@r4
-	shlr8	r1
-	mov.b	r1,@-r4
-	add	#2,r4
-#else
-	mov.b	r1,@r4
-	add	#1,r4
-	shlr8	r1
-	mov.b	r1,@r4
-	add	#1,r4
-#endif
-L_copy:
-	mov	r0,r5
-
-	/* Calculate the correct routine to handle the destination
-	   alignment and simultaneously calculate the loop counts for
-	   both the 2 word copy loop and byte copy loop.  */
-	mova	L_jumptable,r0
-	mov	r0,r1
-	mov	r4,r0
-	mov	r6,r7
-	and	#3,r0
-	shlr2	r7
-	shll	r0
-	shlr	r7
-	mov.w	@(r0,r1),r2
-	mov	#7,r0
-	braf	r2
-	and	r0,r6
-L_base:
-
-	.balign	4
-L_jumptable:
-	.word	L_copydest0 - L_base
-	.word	L_copydest1_or_3 - L_base
-	.word	L_copydest2 - L_base
-	.word	L_copydest1_or_3 - L_base
-
-	.balign	4
-	/* Copy routine for (dest mod 4) == 1 or == 3.  */
-L_copydest1_or_3:
-	add	#-1,r4
-	.balignw 4,0x0009
-L_copydest1_or_3_loop:
-	mov.l	@r5+,r0		/* Read first longword.  */
-	dt	r7
-	mov.l	@r5+,r1		/* Read second longword.  */
-#ifdef __BIG_ENDIAN__
-	/* Write first longword as byte, word, byte.  */
-	mov.b	r0,@(4,r4)
-	shlr8	r0
-	mov.w	r0,@(2,r4)
-	shlr16	r0
-	mov.b	r0,@(1,r4)
-	mov	r1,r0
-	/* Write second longword as byte, word, byte.  */
-	mov.b	r0,@(8,r4)
-	shlr8	r0
-	mov.w	r0,@(6,r4)
-	shlr16	r0
-	mov.b	r0,@(5,r4)
-#else
-	/* Write first longword as byte, word, byte.  */
-	mov.b	r0,@(1,r4)
-	shlr8	r0
-	mov.w	r0,@(2,r4)
-	shlr16	r0
-	mov.b	r0,@(4,r4)
-	mov	r1,r0
-	/* Write second longword as byte, word, byte.  */
-	mov.b	r0,@(5,r4)
-	shlr8	r0
-	mov.w	r0,@(6,r4)
-	shlr16	r0
-	mov.b	r0,@(8,r4)
-#endif
-	bf/s	L_copydest1_or_3_loop
-	add	#8,r4
-
-	bra	L_byteloop_init
-	add	#1,r4
-
-	.balign 4
-	/* Copy routine for (dest mod 4) == 2.  */
-L_copydest2:
-L_copydest2_loop:
-	mov.l	@r5+,r0
-	dt	r7
-	mov.l	@r5+,r1
-#ifdef __BIG_ENDIAN__
-	mov.w	r0,@(2,r4)
-	shlr16	r0
-	mov.w	r0,@r4
-	mov	r1,r0
-	mov.w	r0,@(6,r4)
-	shlr16	r0
-	mov.w	r0,@(4,r4)
-#else
-	mov.w	r0,@r4
-	shlr16	r0
-	mov.w	r0,@(2,r4)
-	mov	r1,r0
-	mov.w	r0,@(4,r4)
-	shlr16	r0
-	mov.w	r0,@(6,r4)
-#endif
-	bf/s	L_copydest2_loop
-	add	#8,r4
-
-	bra	L_byteloop_init
-	nop
-
-	.balign 4
-	/* Copy routine for (dest mod 4) == 0.  */
-L_copydest0:
-	add	#-8,r4
-	.balignw 4,0x0009
-L_copydest0_loop:
-	mov.l	@r5+,r0
-	dt	r7
-	mov.l	@r5+,r1
-	add	#8,r4
-	mov.l	r0,@r4
-	bf/s	L_copydest0_loop
-	mov.l	r1,@(4,r4)
-
-	add	#8,r4		/* Fall through.  */
-
-L_byteloop_init:
-	tst	r6,r6
-	bt	L_exit
-
-	.balignw 4,0x0009
-	/* Copy remaining bytes.  */
-L_byteloop:
-	mov.b	@r5+,r0
-	dt	r6
-	mov.b	r0,@r4
-	bf/s	L_byteloop
-	add	#1,r4
-
-L_exit:
-	rts
-	mov	r3,r0		/* Return destination.  */
-END(memcpy)
-libc_hidden_builtin_def (memcpy)
diff --git a/sysdeps/sh/memset.S b/sysdeps/sh/memset.S
deleted file mode 100644
index cb47e0c709..0000000000
--- a/sysdeps/sh/memset.S
+++ /dev/null
@@ -1,88 +0,0 @@
-/* Copyright (C) 1999-2017 Free Software Foundation, Inc.
-   This file is part of the GNU C Library.
-   Contributed by Kazumoto Kojima <kkojima@rr.iij4u.or.jp>
-   Optimized by Toshiyasu Morita <toshiyasu.morita@hsa.hitachi.com>
-
-   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>
-
-/* void *memset (t, c, len);  */
-
-ENTRY(memset)
-	mov	#12,r0
-	cmp/gt	r6,r0
-	bt.s	L_byte_loop_init
-	mov	r4,r7
-
-	extu.b	r5,r5
-	swap.b	r5,r1
-	or	r1,r5
-	swap.w	r5,r1
-	or	r1,r5
-
-	mov	r4,r0
-	tst	#1,r0
-	bt	L_wordalign
-
-	mov.b	r5,@r4
-	add	#-1,r6
-	add	#1,r4
-	mov	r4,r0
-
-	.balignw 4,0x0009
-L_wordalign:
-	tst	#2,r0
-	bt	L_word_loop_init
-
-	mov.w	r5,@r4
-	add	#-2,r6
-	add	#2,r4
-	mov	r4,r0
-
-	.balignw 4,0x0009
-L_word_loop_init:
-	mov	r6,r3
-	shlr2	r3
-	mov	#7,r0
-	shlr	r3
-	and	r0,r6
-
-	.balignw 4,0x0009
-L_2word_loop:
-	mov.l	r5,@r4
-	dt	r3
-	mov.l	r5,@(4,r4)
-	bf.s	L_2word_loop
-	add	#8,r4
-
-	.balignw 4,0x0009
-L_byte_loop_init:
-	tst	r6,r6
-	bt	L_byte_exit
-
-	.balignw 4,0x0009
-L_byte_loop:
-	mov.b	r5,@r4
-	dt	r6
-	bf.s	L_byte_loop
-	add	#1,r4
-
-	.balignw 4,0x0009
-L_byte_exit:
-	rts
-	mov	r7,r0
-END(memset)
-libc_hidden_builtin_def (memset)
diff --git a/sysdeps/sh/memusage.h b/sysdeps/sh/memusage.h
deleted file mode 100644
index 1821c69485..0000000000
--- a/sysdeps/sh/memusage.h
+++ /dev/null
@@ -1,20 +0,0 @@
-/* Copyright (C) 2000-2017 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/>.  */
-
-#define GETSP() ({ register uintptr_t stack_ptr asm ("r15"); stack_ptr; })
-
-#include <sysdeps/generic/memusage.h>
diff --git a/sysdeps/sh/nptl/bits/pthreadtypes-arch.h b/sysdeps/sh/nptl/bits/pthreadtypes-arch.h
deleted file mode 100644
index b2615fe314..0000000000
--- a/sysdeps/sh/nptl/bits/pthreadtypes-arch.h
+++ /dev/null
@@ -1,69 +0,0 @@
-/* Copyright (C) 2002-2017 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 _BITS_PTHREADTYPES_ARCH_H
-#define _BITS_PTHREADTYPES_ARCH_H	1
-
-#include <endian.h>
-
-#define __SIZEOF_PTHREAD_ATTR_T 36
-#define __SIZEOF_PTHREAD_MUTEX_T 24
-#define __SIZEOF_PTHREAD_MUTEXATTR_T 4
-#define __SIZEOF_PTHREAD_COND_T 48
-#define __SIZEOF_PTHREAD_CONDATTR_T 4
-#define __SIZEOF_PTHREAD_RWLOCK_T 32
-#define __SIZEOF_PTHREAD_RWLOCKATTR_T 8
-#define __SIZEOF_PTHREAD_BARRIER_T 20
-#define __SIZEOF_PTHREAD_BARRIERATTR_T 4
-
-/* Definitions for internal mutex struct.  */
-#define __PTHREAD_COMPAT_PADDING_MID
-#define __PTHREAD_COMPAT_PADDING_END
-#define __PTHREAD_MUTEX_LOCK_ELISION    0
-
-#define __LOCK_ALIGNMENT
-#define __ONCE_ALIGNMENT
-
-struct __pthread_rwlock_arch_t
-{
-  unsigned int __readers;
-  unsigned int __writers;
-  unsigned int __wrphase_futex;
-  unsigned int __writers_futex;
-  unsigned int __pad3;
-  unsigned int __pad4;
-#if __BYTE_ORDER == __BIG_ENDIAN
-  unsigned char __pad1;
-  unsigned char __pad2;
-  unsigned char __shared;
-  /* FLAGS must stay at this position in the structure to maintain
-     binary compatibility.  */
-  unsigned char __flags;
-#else
-  /* FLAGS must stay at this position in the structure to maintain
-     binary compatibility.  */
-  unsigned char __flags;
-  unsigned char __shared;
-  unsigned char __pad1;
-  unsigned char __pad2;
-#endif
-  unsigned long int __cur_writer;
-};
-
-#define __PTHREAD_RWLOCK_ELISION_EXTRA 0
-
-#endif	/* bits/pthreadtypes.h */
diff --git a/sysdeps/sh/nptl/bits/semaphore.h b/sysdeps/sh/nptl/bits/semaphore.h
deleted file mode 100644
index 42a0836285..0000000000
--- a/sysdeps/sh/nptl/bits/semaphore.h
+++ /dev/null
@@ -1,35 +0,0 @@
-/* Copyright (C) 2002-2017 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/>.  */
-
-#ifndef _SEMAPHORE_H
-# error "Never use <bits/semaphore.h> directly; include <semaphore.h> instead."
-#endif
-
-
-#define __SIZEOF_SEM_T	16
-
-
-/* Value returned if `sem_open' failed.  */
-#define SEM_FAILED      ((sem_t *) 0)
-
-
-typedef union
-{
-  char __size[__SIZEOF_SEM_T];
-  long int __align;
-} sem_t;
diff --git a/sysdeps/sh/nptl/pthread_spin_init.c b/sysdeps/sh/nptl/pthread_spin_init.c
deleted file mode 100644
index a1205b9698..0000000000
--- a/sysdeps/sh/nptl/pthread_spin_init.c
+++ /dev/null
@@ -1,19 +0,0 @@
-/* Copyright (C) 2002-2017 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/sysdeps/sh/nptl/pthread_spin_lock.c b/sysdeps/sh/nptl/pthread_spin_lock.c
deleted file mode 100644
index 3daa19d3f9..0000000000
--- a/sysdeps/sh/nptl/pthread_spin_lock.c
+++ /dev/null
@@ -1,33 +0,0 @@
-/* Copyright (C) 2003-2017 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 (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/sysdeps/sh/nptl/pthread_spin_trylock.S b/sysdeps/sh/nptl/pthread_spin_trylock.S
deleted file mode 100644
index 524dbf9533..0000000000
--- a/sysdeps/sh/nptl/pthread_spin_trylock.S
+++ /dev/null
@@ -1,31 +0,0 @@
-/* Copyright (C) 2003-2017 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/sysdeps/sh/nptl/pthread_spin_unlock.S b/sysdeps/sh/nptl/pthread_spin_unlock.S
deleted file mode 100644
index aabf1e463d..0000000000
--- a/sysdeps/sh/nptl/pthread_spin_unlock.S
+++ /dev/null
@@ -1,29 +0,0 @@
-/* Copyright (C) 2003-2017 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/sysdeps/sh/nptl/pthreaddef.h b/sysdeps/sh/nptl/pthreaddef.h
deleted file mode 100644
index 327f090788..0000000000
--- a/sysdeps/sh/nptl/pthreaddef.h
+++ /dev/null
@@ -1,34 +0,0 @@
-/* Copyright (C) 2003-2017 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/sysdeps/sh/nptl/tcb-offsets.sym b/sysdeps/sh/nptl/tcb-offsets.sym
deleted file mode 100644
index 4963e1506f..0000000000
--- a/sysdeps/sh/nptl/tcb-offsets.sym
+++ /dev/null
@@ -1,15 +0,0 @@
-#include <sysdep.h>
-#include <tls.h>
-#include <kernel-features.h>
-
-RESULT			offsetof (struct pthread, result)
-TID			offsetof (struct pthread, tid)
-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/sysdeps/sh/nptl/tls.h b/sysdeps/sh/nptl/tls.h
deleted file mode 100644
index 547cff179f..0000000000
--- a/sysdeps/sh/nptl/tls.h
+++ /dev/null
@@ -1,168 +0,0 @@
-/* Definition for thread-local data handling.  NPTL/SH version.
-   Copyright (C) 2003-2017 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 <dl-dtv.h>
-
-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)); NULL; })
-
-# 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/sysdeps/sh/preconfigure b/sysdeps/sh/preconfigure
deleted file mode 100644
index c1f6537797..0000000000
--- a/sysdeps/sh/preconfigure
+++ /dev/null
@@ -1,6 +0,0 @@
-# preconfigure fragment for sh.
-
-case "$machine" in
-sh3*)		base_machine=sh machine=sh/sh3 ;;
-sh4*)		base_machine=sh machine=sh/sh4 ;;
-esac
diff --git a/sysdeps/sh/s_fma.c b/sysdeps/sh/s_fma.c
deleted file mode 100644
index d92438d448..0000000000
--- a/sysdeps/sh/s_fma.c
+++ /dev/null
@@ -1,5 +0,0 @@
-#ifdef __SH_FPU_ANY__
-# include <sysdeps/ieee754/dbl-64/s_fma.c>
-#else
-# include <soft-fp/fmadf4.c>
-#endif
diff --git a/sysdeps/sh/s_fmaf.c b/sysdeps/sh/s_fmaf.c
deleted file mode 100644
index 3b811ae6da..0000000000
--- a/sysdeps/sh/s_fmaf.c
+++ /dev/null
@@ -1,5 +0,0 @@
-#ifdef __SH_FPU_ANY__
-# include <sysdeps/ieee754/dbl-64/s_fmaf.c>
-#else
-# include <soft-fp/fmasf4.c>
-#endif
diff --git a/sysdeps/sh/sh3/__longjmp.S b/sysdeps/sh/sh3/__longjmp.S
deleted file mode 100644
index 27d6141a98..0000000000
--- a/sysdeps/sh/sh3/__longjmp.S
+++ /dev/null
@@ -1,63 +0,0 @@
-/* longjmp for SH.
-   Copyright (C) 1999-2017 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>
-#define _SETJMP_H
-#define _ASM
-#include <bits/setjmp.h>
-
-/* __longjmp(jmpbuf, val) */
-
-ENTRY (__longjmp)
-	mov.l	@r4+, r8
-	mov.l	@r4+, r9
-	mov.l	@r4+, r10
-	mov.l	@r4+, r11
-	mov.l	@r4+, r12
-	mov	r5, r0		/* get the return value in place */
-	tst	r0, r0
-	bf.s	1f
-	 mov.l	@r4+, r13
-	mov	#1,r0		/* can't let setjmp() return zero! */
-1:
-#ifdef PTR_DEMANGLE
-	mov.l	@r4+, r2
-	PTR_DEMANGLE (r2, r1)
-	mov	r2, r14
-	mov.l	@r4+, r2
-	PTR_DEMANGLE2 (r2, r1)
-# ifdef CHECK_SP
-	CHECK_SP (r2)
-# endif
-	mov	r2, r15
-	mov.l	@r4+, r2
-	PTR_DEMANGLE2 (r2, r1)
-	lds	r2, pr
-	mov	#0, r1
-#else
-	mov.l	@r4+, r14
-# ifdef CHECK_SP
-	mov.l	@r4, r2
-	CHECK_SP (r2)
-# endif
-	mov.l	@r4+, r15
-	lds.l	@r4+, pr
-#endif
-	rts
-	 ldc.l	@r4+, gbr
-END (__longjmp)
diff --git a/sysdeps/sh/sh3/setjmp.S b/sysdeps/sh/sh3/setjmp.S
deleted file mode 100644
index ef039a2114..0000000000
--- a/sysdeps/sh/sh3/setjmp.S
+++ /dev/null
@@ -1,81 +0,0 @@
-/* setjmp for SH3.
-   Copyright (C) 1999-2017 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 <jmpbuf-offsets.h>
-
-ENTRY (__sigsetjmp)
-	/* Save registers */
-	add	#(JB_SIZE - 4 * 5), r4
-	stc.l	gbr, @-r4
-#ifdef PTR_MANGLE
-	sts	pr, r2
-	PTR_MANGLE (r2, r1)
-	mov.l	r2, @-r4
-	mov	r15, r2
-	PTR_MANGLE2 (r2, r1)
-	mov.l	r2, @-r4
-	mov	r14, r2
-	PTR_MANGLE2 (r2, r1)
-	mov.l	r2, @-r4
-	mov	#0, r1
-#else
-	sts.l	pr, @-r4
-	mov.l	r15, @-r4
-	mov.l	r14, @-r4
-#endif
-	mov.l	r13, @-r4
-	mov.l	r12, @-r4
-	mov.l	r11, @-r4
-	mov.l	r10, @-r4
-	mov.l	r9, @-r4
-	mov.l	r8, @-r4
-
-#if IS_IN (rtld)
-	/* In ld.so we never save the signal mask.  */
-	rts
-	 mov	#0, r0
-#else
-	/* Make a tail call to __sigjmp_save; it takes the same args.  */
-# ifdef SHARED
-	mov.l	1f, r1
-	mova	1f, r0
-	bra	2f
-	 add	r1, r0
-	.align	2
-1:
-	.long	_GLOBAL_OFFSET_TABLE_
-2:
-	mov.l	.L1, r1
-	mov.l	@(r0,r1), r1
-	jmp	@r1
-	 nop
-	.align	2
-.L1:
-	.long	C_SYMBOL_NAME(__sigjmp_save@GOT)
-# else
-	mov.l	.L1, r1
-	jmp	@r1
-	 nop
-	.align	2
-.L1:
-	.long	C_SYMBOL_NAME(__sigjmp_save)
-# endif
-#endif
-END (__sigsetjmp)
-hidden_def (__sigsetjmp)
diff --git a/sysdeps/sh/sh4/Makefile b/sysdeps/sh/sh4/Makefile
deleted file mode 100644
index ccac91432a..0000000000
--- a/sysdeps/sh/sh4/Makefile
+++ /dev/null
@@ -1,3 +0,0 @@
-# Build everything with full IEEE math support.  -mieee isn't
-# default for the older SH compilers.
-sysdep-CFLAGS += -mieee
diff --git a/sysdeps/sh/sh4/Versions b/sysdeps/sh/sh4/Versions
deleted file mode 100644
index 8cc1c7b7d4..0000000000
--- a/sysdeps/sh/sh4/Versions
+++ /dev/null
@@ -1,5 +0,0 @@
-ld {
-  GLIBC_PRIVATE {
-    __fpscr_values;
-  }
-}
diff --git a/sysdeps/sh/sh4/__longjmp.S b/sysdeps/sh/sh4/__longjmp.S
deleted file mode 100644
index 2a5c25da32..0000000000
--- a/sysdeps/sh/sh4/__longjmp.S
+++ /dev/null
@@ -1,73 +0,0 @@
-/* longjmp for SH.
-   Copyright (C) 1999-2017 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>
-#define _SETJMP_H
-#define _ASM
-#include <bits/setjmp.h>
-
-/* __longjmp(jmpbuf, val) */
-
-ENTRY (__longjmp)
-	mov.l	@r4+, r8
-	mov.l	@r4+, r9
-	mov.l	@r4+, r10
-	mov.l	@r4+, r11
-	mov.l	@r4+, r12
-	mov	r5, r0		/* get the return value in place */
-	tst	r0, r0
-	bf.s	1f
-	 mov.l	@r4+, r13
-	mov	#1,r0		/* can't let setjmp() return zero! */
-1:
-#ifdef PTR_DEMANGLE
-	mov.l	@r4+, r2
-	PTR_DEMANGLE (r2, r1)
-	mov	r2, r14
-	mov.l	@r4+, r2
-	PTR_DEMANGLE2 (r2, r1)
-# ifdef CHECK_SP
-	CHECK_SP (r2)
-# endif
-	mov	r2, r15
-	mov.l	@r4+, r2
-	PTR_DEMANGLE2 (r2, r1)
-	lds	r2, pr
-	mov	#0, r1
-#else
-	mov.l	@r4+, r14
-# ifdef CHECK_SP
-	mov.l	@r4, r2
-	CHECK_SP (r2)
-# endif
-	mov.l	@r4+, r15
-	lds.l	@r4+, pr
-#endif
-#ifdef __SH_FPU_ANY__
-	ldc.l	@r4+, gbr
-	lds.l	@r4+, fpscr
-	fmov.s	@r4+, fr12
-	fmov.s	@r4+, fr13
-	fmov.s	@r4+, fr14
-	rts
-	 fmov.s	@r4+, fr15
-#else
-	rts
-	 ldc.l	@r4+, gbr
-#endif  /* !__SH_FPU_ANY__ */
-END (__longjmp)
diff --git a/sysdeps/sh/sh4/dl-trampoline.S b/sysdeps/sh/sh4/dl-trampoline.S
deleted file mode 100644
index bd9bb7e5bd..0000000000
--- a/sysdeps/sh/sh4/dl-trampoline.S
+++ /dev/null
@@ -1,4 +0,0 @@
-#ifdef __SH_FPU_ANY__
-# define HAVE_FPU
-#endif
-#include <sysdeps/sh/dl-trampoline.S>
diff --git a/sysdeps/sh/sh4/fpu/fclrexcpt.c b/sysdeps/sh/sh4/fpu/fclrexcpt.c
deleted file mode 100644
index 5a430f6655..0000000000
--- a/sysdeps/sh/sh4/fpu/fclrexcpt.c
+++ /dev/null
@@ -1,42 +0,0 @@
-/* Clear given exceptions in current floating-point environment.
-   Copyright (C) 1998-2017 Free Software Foundation, Inc.
-   This file is part of the GNU C Library.
-   Contributed by Andreas Jaeger <aj@arthur.rhein-neckar.de>, 1998.
-
-   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 <fenv.h>
-#include <fpu_control.h>
-
-int
-feclearexcept (int excepts)
-{
-  fpu_control_t cw;
-
-  /* Mask out unsupported bits/exceptions.  */
-  excepts &= FE_ALL_EXCEPT;
-
-  /* Read the complete control word.  */
-  _FPU_GETCW (cw);
-
-  /* Clear exception bits.  */
-  cw &= ~excepts;
-
-  /* Put the new data in effect.  */
-  _FPU_SETCW (cw);
-
-  return 0;
-}
-libm_hidden_def (feclearexcept)
diff --git a/sysdeps/sh/sh4/fpu/fedisblxcpt.c b/sysdeps/sh/sh4/fpu/fedisblxcpt.c
deleted file mode 100644
index 718ae70899..0000000000
--- a/sysdeps/sh/sh4/fpu/fedisblxcpt.c
+++ /dev/null
@@ -1,39 +0,0 @@
-/* Disable floating-point exceptions.
-   Copyright (C) 2012-2017 Free Software Foundation, Inc.
-   This file is part of the GNU C Library.
-   Contributed by Nobuhiro Iwamatsu <iwamatsu@nigauri.org>, 2012.
-
-   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 <fenv.h>
-#include <fpu_control.h>
-
-int
-fedisableexcept (int excepts)
-{
-  fpu_control_t temp, old_exc;
-
-  /* Get the current control register contents.  */
-  _FPU_GETCW (temp);
-
-  old_exc = (temp >> 5) & FE_ALL_EXCEPT;
-
-  excepts &= FE_ALL_EXCEPT;
-
-  temp &= ~(excepts << 5);
-  _FPU_SETCW (temp);
-
-  return old_exc;
-}
diff --git a/sysdeps/sh/sh4/fpu/feenablxcpt.c b/sysdeps/sh/sh4/fpu/feenablxcpt.c
deleted file mode 100644
index d638714149..0000000000
--- a/sysdeps/sh/sh4/fpu/feenablxcpt.c
+++ /dev/null
@@ -1,38 +0,0 @@
-/* Enable floating-point exceptions.
-   Copyright (C) 2012-2017 Free Software Foundation, Inc.
-   This file is part of the GNU C Library.
-   Contributed by Nobuhiro Iwamatsu <iwamatsu@nigauri.org>, 2012.
-
-   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 <fenv.h>
-#include <fpu_control.h>
-
-int
-feenableexcept (int excepts)
-{
-  fpu_control_t temp, old_flag;
-
-  /* Get current exceptions.  */
-  _FPU_GETCW (temp);
-
-  old_flag = (temp >> 5) & FE_ALL_EXCEPT;
-  excepts &= FE_ALL_EXCEPT;
-
-  temp |= excepts << 5;
-  _FPU_SETCW (temp);
-
-  return old_flag;
-}
diff --git a/sysdeps/sh/sh4/fpu/fegetenv.c b/sysdeps/sh/sh4/fpu/fegetenv.c
deleted file mode 100644
index 00945f1072..0000000000
--- a/sysdeps/sh/sh4/fpu/fegetenv.c
+++ /dev/null
@@ -1,34 +0,0 @@
-/* Store current floating-point environment.
-   Copyright (C) 1997-2017 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 <fenv.h>
-#include <fpu_control.h>
-
-int
-__fegetenv (fenv_t *envp)
-{
-  fpu_control_t temp;
-  _FPU_GETCW (temp);
-
-  envp->__fpscr = temp;
-
-  return 0;
-}
-libm_hidden_def (__fegetenv)
-weak_alias (__fegetenv, fegetenv)
-libm_hidden_weak (fegetenv)
diff --git a/sysdeps/sh/sh4/fpu/fegetexcept.c b/sysdeps/sh/sh4/fpu/fegetexcept.c
deleted file mode 100644
index 4d1299e310..0000000000
--- a/sysdeps/sh/sh4/fpu/fegetexcept.c
+++ /dev/null
@@ -1,32 +0,0 @@
-/* Get enabled floating-point exceptions.
-   Copyright (C) 2012-2017 Free Software Foundation, Inc.
-   This file is part of the GNU C Library.
-   Contributed by Nobuhiro Iwamatsu <iwamatsu@nigauri.org>, 2012.
-
-   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 <fenv.h>
-#include <fpu_control.h>
-
-int
-fegetexcept (void)
-{
-  fpu_control_t temp;
-
-  /* Get current exceptions.  */
-  _FPU_GETCW (temp);
-
-  return (temp >> 5) & FE_ALL_EXCEPT;
-}
diff --git a/sysdeps/sh/sh4/fpu/fegetmode.c b/sysdeps/sh/sh4/fpu/fegetmode.c
deleted file mode 100644
index e839a9b25f..0000000000
--- a/sysdeps/sh/sh4/fpu/fegetmode.c
+++ /dev/null
@@ -1,27 +0,0 @@
-/* Store current floating-point control modes.  SH4 version.
-   Copyright (C) 2016-2017 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 <fenv.h>
-#include <fpu_control.h>
-
-int
-fegetmode (femode_t *modep)
-{
-  _FPU_GETCW (*modep);
-  return 0;
-}
diff --git a/sysdeps/sh/sh4/fpu/fegetround.c b/sysdeps/sh/sh4/fpu/fegetround.c
deleted file mode 100644
index 4c97d23e12..0000000000
--- a/sysdeps/sh/sh4/fpu/fegetround.c
+++ /dev/null
@@ -1,35 +0,0 @@
-/* Return current rounding direction.
-   Copyright (C) 1998-2017 Free Software Foundation, Inc.
-   This file is part of the GNU C Library.
-   Contributed by Andreas Jaeger <aj@arthur.rhein-neckar.de>, 1998.
-
-   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 <fenv.h>
-#include <fpu_control.h>
-
-int
-__fegetround (void)
-{
-  fpu_control_t cw;
-
-  /* Get control word.  */
-  _FPU_GETCW (cw);
-
-  return cw & 0x1;
-}
-libm_hidden_def (__fegetround)
-weak_alias (__fegetround, fegetround)
-libm_hidden_weak (fegetround)
diff --git a/sysdeps/sh/sh4/fpu/feholdexcpt.c b/sysdeps/sh/sh4/fpu/feholdexcpt.c
deleted file mode 100644
index b905e594cd..0000000000
--- a/sysdeps/sh/sh4/fpu/feholdexcpt.c
+++ /dev/null
@@ -1,44 +0,0 @@
-/* Store current floating-point environment and clear exceptions.
-   Copyright (C) 1997-2017 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 <fenv.h>
-#include <fpu_control.h>
-
-int
-__feholdexcept (fenv_t *envp)
-{
-  fpu_control_t temp;
-
-  /* Store the environment.  */
-  _FPU_GETCW (temp);
-  envp->__fpscr = temp;
-
-  /* Clear the status flags.  */
-  temp &= ~FE_ALL_EXCEPT;
-
-  /* Now set all exceptions to non-stop.  */
-  temp &= ~(FE_ALL_EXCEPT << 5);
-
-  _FPU_SETCW (temp);
-
-  /* Success.  */
-  return 0;
-}
-libm_hidden_def (__feholdexcept)
-weak_alias (__feholdexcept, feholdexcept)
-libm_hidden_weak (feholdexcept)
diff --git a/sysdeps/sh/sh4/fpu/fesetenv.c b/sysdeps/sh/sh4/fpu/fesetenv.c
deleted file mode 100644
index 8628c508e5..0000000000
--- a/sysdeps/sh/sh4/fpu/fesetenv.c
+++ /dev/null
@@ -1,36 +0,0 @@
-/* Install given floating-point environment.
-   Copyright (C) 1997-2017 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 <fenv.h>
-#include <fpu_control.h>
-
-int
-__fesetenv (const fenv_t *envp)
-{
-  if (envp == FE_DFL_ENV)
-      _FPU_SETCW (_FPU_DEFAULT);
-  else
-    {
-      fpu_control_t temp = envp->__fpscr;
-      _FPU_SETCW (temp);
-    }
-  return 0;
-}
-libm_hidden_def (__fesetenv)
-weak_alias (__fesetenv, fesetenv)
-libm_hidden_weak (fesetenv)
diff --git a/sysdeps/sh/sh4/fpu/fesetexcept.c b/sysdeps/sh/sh4/fpu/fesetexcept.c
deleted file mode 100644
index ecfad75fff..0000000000
--- a/sysdeps/sh/sh4/fpu/fesetexcept.c
+++ /dev/null
@@ -1,32 +0,0 @@
-/* Set given exception flags.  SH4 version.
-   Copyright (C) 2016-2017 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 <fenv.h>
-#include <fpu_control.h>
-
-int
-fesetexcept (int excepts)
-{
-  fpu_control_t temp;
-
-  _FPU_GETCW (temp);
-  temp |= (excepts & FE_ALL_EXCEPT);
-  _FPU_SETCW (temp);
-
-  return 0;
-}
diff --git a/sysdeps/sh/sh4/fpu/fesetmode.c b/sysdeps/sh/sh4/fpu/fesetmode.c
deleted file mode 100644
index d2b9e05128..0000000000
--- a/sysdeps/sh/sh4/fpu/fesetmode.c
+++ /dev/null
@@ -1,38 +0,0 @@
-/* Install given floating-point control modes.  SH4 version.
-   Copyright (C) 2016-2017 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 <fenv.h>
-#include <fpu_control.h>
-
-#define FPU_STATUS 0x3f07c
-
-int
-fesetmode (const femode_t *modep)
-{
-  fpu_control_t fpscr;
-
-  _FPU_GETCW (fpscr);
-  fpscr &= FPU_STATUS;
-  if (modep == FE_DFL_MODE)
-    fpscr |= _FPU_DEFAULT;
-  else
-    fpscr |= *modep & ~FPU_STATUS;
-  _FPU_SETCW (fpscr);
-
-  return 0;
-}
diff --git a/sysdeps/sh/sh4/fpu/fesetround.c b/sysdeps/sh/sh4/fpu/fesetround.c
deleted file mode 100644
index 20acb7c5e9..0000000000
--- a/sysdeps/sh/sh4/fpu/fesetround.c
+++ /dev/null
@@ -1,45 +0,0 @@
-/* Set current rounding direction.
-   Copyright (C) 1998-2017 Free Software Foundation, Inc.
-   This file is part of the GNU C Library.
-   Contributed by Andreas Jaeger <aj@arthur.rhein-neckar.de>, 1998.
-
-   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 <fenv.h>
-#include <fpu_control.h>
-
-int
-__fesetround (int round)
-{
-  fpu_control_t cw;
-
-  if ((round & ~0x1) != 0)
-    /* ROUND is no valid rounding mode.  */
-    return 1;
-
-  /* Get current state.  */
-  _FPU_GETCW (cw);
-
-  /* Set rounding bits.  */
-  cw &= ~0x1;
-  cw |= round;
-  /* Set new state.  */
-  _FPU_SETCW (cw);
-
-  return 0;
-}
-libm_hidden_def (__fesetround)
-weak_alias (__fesetround, fesetround)
-libm_hidden_weak (fesetround)
diff --git a/sysdeps/sh/sh4/fpu/feupdateenv.c b/sysdeps/sh/sh4/fpu/feupdateenv.c
deleted file mode 100644
index 3b886a2235..0000000000
--- a/sysdeps/sh/sh4/fpu/feupdateenv.c
+++ /dev/null
@@ -1,41 +0,0 @@
-/* Install given floating-point environment and raise exceptions.
-   Copyright (C) 2012-2017 Free Software Foundation, Inc.
-   This file is part of the GNU C Library.
-   Contributed by Nobuhiro Iwamatsu <iwamatsu@nigauri.org>, 2012.
-
-   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 <fenv.h>
-#include <fpu_control.h>
-
-int
-__feupdateenv (const fenv_t *envp)
-{
-  fpu_control_t temp;
-
-  _FPU_GETCW (temp);
-  temp = (temp & FE_ALL_EXCEPT);
-
-  /* Raise the saved exception. Incidently for us the implementation
-    defined format of the values in objects of type fexcept_t is the
-    same as the ones specified using the FE_* constants. */
-  __fesetenv (envp);
-  __feraiseexcept ((int) temp);
-
-  return 0;
-}
-libm_hidden_def (__feupdateenv)
-weak_alias (__feupdateenv, feupdateenv)
-libm_hidden_weak (feupdateenv)
diff --git a/sysdeps/sh/sh4/fpu/fgetexcptflg.c b/sysdeps/sh/sh4/fpu/fgetexcptflg.c
deleted file mode 100644
index 02fc3948bc..0000000000
--- a/sysdeps/sh/sh4/fpu/fgetexcptflg.c
+++ /dev/null
@@ -1,38 +0,0 @@
-/* Store current representation for exceptions.
-   Copyright (C) 2013-2017 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 <fenv.h>
-#include <fpu_control.h>
-
-int
-fegetexceptflag (fexcept_t *flagp, int excepts)
-{
-  fpu_control_t temp;
-
-  /* Get the current exceptions.  */
-  _FPU_GETCW (temp);
-
-  /* We only save the relevant bits here. In particular, care has to be
-     taken with the CAUSE bits, as an inadvertent restore later on could
-     generate unexpected exceptions.  */
-
-  *flagp = temp & excepts & FE_ALL_EXCEPT;
-
-  /* Success.  */
-  return 0;
-}
diff --git a/sysdeps/sh/sh4/fpu/fraiseexcpt.c b/sysdeps/sh/sh4/fpu/fraiseexcpt.c
deleted file mode 100644
index 4bd0eb9ef5..0000000000
--- a/sysdeps/sh/sh4/fpu/fraiseexcpt.c
+++ /dev/null
@@ -1,75 +0,0 @@
-/* Raise given exceptions.
-   Copyright (C) 1997-2017 Free Software Foundation, Inc.
-   This file is part of the GNU C Library.
-   Contributed by Nobuhiro Iwamatsu <iwamatsu@nigauri.org>, 2012.
-
-   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 <fenv.h>
-#include <float.h>
-#include <fpu_control.h>
-#include <math.h>
-
-int
-__feraiseexcept (int excepts)
-{
-  if (excepts == 0)
-    return 0;
-
-  /* Raise exceptions represented by EXPECTS.  */
-
-  if (excepts & FE_INEXACT)
-  {
-    double d = 1.0, x = 3.0;
-    __asm__ __volatile__ ("fdiv %1, %0" : "+d" (d) : "d" (x));
-  }
-
-  if (excepts & FE_UNDERFLOW)
-  {
-    long double d = LDBL_MIN, x = 10;
-    __asm__ __volatile__ ("fdiv %1, %0" : "+d" (d) : "d" (x));
-  }
-
-  if (excepts & FE_OVERFLOW)
-  {
-    long double d = LDBL_MAX;
-    __asm__ __volatile__ ("fmul %0, %0" : "+d" (d) : "d" (d));
-  }
-
-  if (excepts & FE_DIVBYZERO)
-  {
-    double d = 1.0, x = 0.0;
-    __asm__ __volatile__ ("fdiv %1, %0" : "+d" (d) : "d" (x));
-  }
-
-  if (excepts & FE_INVALID)
-  {
-    double d = HUGE_VAL, x = 0.0;
-    __asm__ __volatile__ ("fmul %1, %0" : "+d" (d) : "d" (x));
-  }
-
-  {
-    /* Restore flag fields.  */
-    fpu_control_t cw;
-    _FPU_GETCW (cw);
-    cw |= (excepts & FE_ALL_EXCEPT);
-    _FPU_SETCW (cw);
-  }
-
-  return 0;
-}
-libm_hidden_def (__feraiseexcept)
-weak_alias (__feraiseexcept, feraiseexcept)
-libm_hidden_weak (feraiseexcept)
diff --git a/sysdeps/sh/sh4/fpu/fsetexcptflg.c b/sysdeps/sh/sh4/fpu/fsetexcptflg.c
deleted file mode 100644
index 3a6ea33c26..0000000000
--- a/sysdeps/sh/sh4/fpu/fsetexcptflg.c
+++ /dev/null
@@ -1,39 +0,0 @@
-/* Set floating-point environment exception handling.
-   Copyright (C) 1997-2017 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 <fenv.h>
-#include <math.h>
-#include <fpu_control.h>
-
-int
-fesetexceptflag (const fexcept_t *flagp, int excepts)
-{
-  fpu_control_t temp;
-
-  /* Get the current environment.  */
-  _FPU_GETCW (temp);
-
-  /* Set the desired exception mask.  */
-  temp &= ~(excepts & FE_ALL_EXCEPT);
-  temp |= (*flagp & excepts & FE_ALL_EXCEPT);
-
-  /* Save state back to the FPU.  */
-  _FPU_SETCW (temp);
-
-  return 0;
-}
diff --git a/sysdeps/sh/sh4/fpu/ftestexcept.c b/sysdeps/sh/sh4/fpu/ftestexcept.c
deleted file mode 100644
index fa2c011825..0000000000
--- a/sysdeps/sh/sh4/fpu/ftestexcept.c
+++ /dev/null
@@ -1,32 +0,0 @@
-/* Test exception in current environment.
-   Copyright (C) 1997-2017 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 <fenv.h>
-#include <fpu_control.h>
-
-int
-fetestexcept (int excepts)
-{
-  fpu_control_t temp;
-
-  /* Get current exceptions.  */
-  _FPU_GETCW (temp);
-
-  return temp & excepts & FE_ALL_EXCEPT;
-}
-libm_hidden_def (fetestexcept)
diff --git a/sysdeps/sh/sh4/setjmp.S b/sysdeps/sh/sh4/setjmp.S
deleted file mode 100644
index a09ffab627..0000000000
--- a/sysdeps/sh/sh4/setjmp.S
+++ /dev/null
@@ -1,90 +0,0 @@
-/* setjmp for SH4.
-   Copyright (C) 1999-2017 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 <jmpbuf-offsets.h>
-
-ENTRY (__sigsetjmp)
-	/* Save registers */
-#ifdef __SH_FPU_ANY__
-	add	#JB_SIZE, r4
-	fmov.s	fr15, @-r4
-	fmov.s	fr14, @-r4
-	fmov.s	fr13, @-r4
-	fmov.s	fr12, @-r4
-	sts.l	fpscr, @-r4
-#else
-	add	#(JB_SIZE - 4 * 5), r4
-#endif /* __SH_FPU_ANY__ */
-	stc.l	gbr, @-r4
-#ifdef PTR_MANGLE
-	sts	pr, r2
-	PTR_MANGLE (r2, r1)
-	mov.l	r2, @-r4
-	mov	r15, r2
-	PTR_MANGLE2 (r2, r1)
-	mov.l	r2, @-r4
-	mov	r14, r2
-	PTR_MANGLE2 (r2, r1)
-	mov.l	r2, @-r4
-	mov	#0, r1
-#else
-	sts.l	pr, @-r4
-	mov.l	r15, @-r4
-	mov.l	r14, @-r4
-#endif
-	mov.l	r13, @-r4
-	mov.l	r12, @-r4
-	mov.l	r11, @-r4
-	mov.l	r10, @-r4
-	mov.l	r9, @-r4
-	mov.l	r8, @-r4
-
-#if IS_IN (rtld)
-	/* In ld.so we never save the signal mask.  */
-	rts
-	 mov	#0, r0
-#else
-	/* Make a tail call to __sigjmp_save; it takes the same args.  */
-# ifdef SHARED
-	mov.l	1f, r1
-	mova	1f, r0
-	bra	2f
-	 add	r1, r0
-	.align	2
-1:
-	.long	_GLOBAL_OFFSET_TABLE_
-2:
-	mov.l	.L1, r1
-	mov.l	@(r0,r1), r1
-	jmp	@r1
-	 nop
-	.align	2
-.L1:
-	.long	C_SYMBOL_NAME(__sigjmp_save@GOT)
-# else
-	mov.l	.L1, r1
-	jmp	@r1
-	 nop
-	.align	2
-.L1:
-	.long	C_SYMBOL_NAME(__sigjmp_save)
-# endif
-#endif
-END (__sigsetjmp)
-hidden_def (__sigsetjmp)
diff --git a/sysdeps/sh/soft-fp/sfp-machine.h b/sysdeps/sh/soft-fp/sfp-machine.h
deleted file mode 100644
index 81474e8a7c..0000000000
--- a/sysdeps/sh/soft-fp/sfp-machine.h
+++ /dev/null
@@ -1,57 +0,0 @@
-#define _FP_W_TYPE_SIZE		32
-#define _FP_W_TYPE		unsigned long
-#define _FP_WS_TYPE		signed long
-#define _FP_I_TYPE		long
-
-#define _FP_MUL_MEAT_S(R,X,Y)				\
-  _FP_MUL_MEAT_1_wide(_FP_WFRACBITS_S,R,X,Y,umul_ppmm)
-#define _FP_MUL_MEAT_D(R,X,Y)				\
-  _FP_MUL_MEAT_2_wide(_FP_WFRACBITS_D,R,X,Y,umul_ppmm)
-#define _FP_MUL_MEAT_Q(R,X,Y)				\
-  _FP_MUL_MEAT_4_wide(_FP_WFRACBITS_Q,R,X,Y,umul_ppmm)
-
-#define _FP_MUL_MEAT_DW_S(R,X,Y)				\
-  _FP_MUL_MEAT_DW_1_wide(_FP_WFRACBITS_S,R,X,Y,umul_ppmm)
-#define _FP_MUL_MEAT_DW_D(R,X,Y)				\
-  _FP_MUL_MEAT_DW_2_wide(_FP_WFRACBITS_D,R,X,Y,umul_ppmm)
-#define _FP_MUL_MEAT_DW_Q(R,X,Y)				\
-  _FP_MUL_MEAT_DW_4_wide(_FP_WFRACBITS_Q,R,X,Y,umul_ppmm)
-
-#define _FP_DIV_MEAT_S(R,X,Y)	_FP_DIV_MEAT_1_loop(S,R,X,Y)
-#define _FP_DIV_MEAT_D(R,X,Y)	_FP_DIV_MEAT_2_udiv(D,R,X,Y)
-#define _FP_DIV_MEAT_Q(R,X,Y)	_FP_DIV_MEAT_4_udiv(Q,R,X,Y)
-
-#define _FP_NANFRAC_S		((_FP_QNANBIT_S << 1) - 1)
-#define _FP_NANFRAC_D		((_FP_QNANBIT_D << 1) - 1), -1
-#define _FP_NANFRAC_Q		((_FP_QNANBIT_Q << 1) - 1), -1, -1, -1
-#define _FP_NANSIGN_S		0
-#define _FP_NANSIGN_D		0
-#define _FP_NANSIGN_Q		0
-
-#define _FP_KEEPNANFRACP 1
-#define _FP_QNANNEGATEDP 0
-
-/* Someone please check this.  */
-#define _FP_CHOOSENAN(fs, wc, R, X, Y, OP)			\
-  do {								\
-    if ((_FP_FRAC_HIGH_RAW_##fs(X) & _FP_QNANBIT_##fs)		\
-	&& !(_FP_FRAC_HIGH_RAW_##fs(Y) & _FP_QNANBIT_##fs))	\
-      {								\
-	R##_s = Y##_s;						\
-	_FP_FRAC_COPY_##wc(R,Y);				\
-      }								\
-    else							\
-      {								\
-	R##_s = X##_s;						\
-	_FP_FRAC_COPY_##wc(R,X);				\
-      }								\
-    R##_c = FP_CLS_NAN;						\
-  } while (0)
-
-#define FP_EX_INVALID           (1 << 6)
-#define FP_EX_DIVZERO           (1 << 5)
-#define FP_EX_OVERFLOW          (1 << 4)
-#define FP_EX_UNDERFLOW         (1 << 3)
-#define FP_EX_INEXACT           (1 << 2)
-
-#define _FP_TININESS_AFTER_ROUNDING 1
diff --git a/sysdeps/sh/sotruss-lib.c b/sysdeps/sh/sotruss-lib.c
deleted file mode 100644
index 152e502113..0000000000
--- a/sysdeps/sh/sotruss-lib.c
+++ /dev/null
@@ -1,50 +0,0 @@
-/* Override generic sotruss-lib.c to define actual functions for SH.
-   Copyright (C) 2013-2017 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/>.  */
-
-#define HAVE_ARCH_PLTENTER
-#define HAVE_ARCH_PLTEXIT
-
-#include <elf/sotruss-lib.c>
-
-ElfW(Addr)
-la_sh_gnu_pltenter (ElfW(Sym) *sym __attribute__ ((unused)),
-		    unsigned int ndx __attribute__ ((unused)),
-		    uintptr_t *refcook, uintptr_t *defcook,
-		    La_sh_regs *regs, unsigned int *flags,
-		    const char *symname, long int *framesizep)
-{
-  print_enter (refcook, defcook, symname,
-	       regs->lr_r4, regs->lr_r5, regs->lr_r6, *flags);
-
-  /* No need to copy anything, we will not need the parameters in any case.  */
-  *framesizep = 0;
-
-  return sym->st_value;
-}
-
-unsigned int
-la_sh_gnu_pltexit (ElfW(Sym) *sym, unsigned int ndx, uintptr_t *refcook,
-		   uintptr_t *defcook,
-		   const struct La_sh_regs *inregs,
-		   struct La_sh_retval *outregs, const char *symname)
-{
-  print_exit (refcook, defcook, symname, outregs->lrv_r0);
-
-  return 0;
-}
diff --git a/sysdeps/sh/stackguard-macros.h b/sysdeps/sh/stackguard-macros.h
deleted file mode 100644
index 55a5771b62..0000000000
--- a/sysdeps/sh/stackguard-macros.h
+++ /dev/null
@@ -1,6 +0,0 @@
-#include <stdint.h>
-
-extern uintptr_t __stack_chk_guard;
-#define STACK_CHK_GUARD __stack_chk_guard
-
-#define POINTER_CHK_GUARD THREAD_GET_POINTER_GUARD()
diff --git a/sysdeps/sh/stackinfo.h b/sysdeps/sh/stackinfo.h
deleted file mode 100644
index cdbb27113d..0000000000
--- a/sysdeps/sh/stackinfo.h
+++ /dev/null
@@ -1,33 +0,0 @@
-/* Copyright (C) 2001-2017 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/>.  */
-
-/* This file contains a bit of information about the stack allocation
-   of the processor.  */
-
-#ifndef _STACKINFO_H
-#define _STACKINFO_H	1
-
-#include <elf.h>
-
-/* On SH the stack grows down.  */
-#define _STACK_GROWS_DOWN	1
-
-/* Default to an executable stack.  PF_X can be overridden if PT_GNU_STACK is
- * present, but it is presumed absent.  */
-#define DEFAULT_STACK_PERMS (PF_R|PF_W|PF_X)
-
-#endif	/* stackinfo.h */
diff --git a/sysdeps/sh/start.S b/sysdeps/sh/start.S
deleted file mode 100644
index 0e6b90df9b..0000000000
--- a/sysdeps/sh/start.S
+++ /dev/null
@@ -1,111 +0,0 @@
-/* Startup code for SH & ELF.
-   Copyright (C) 1999-2017 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.
-
-   In addition to the permissions in the GNU Lesser General Public
-   License, the Free Software Foundation gives you unlimited
-   permission to link the compiled version of this file with other
-   programs, and to distribute those programs without any restriction
-   coming from the use of this file. (The GNU Lesser General Public
-   License restrictions do apply in other respects; for example, they
-   cover modification of the file, and distribution when not linked
-   into another program.)
-
-   Note that people who make modified versions of this file are not
-   obligated to grant this special exception for their modified
-   versions; it is their choice whether to do so. The GNU Lesser
-   General Public License gives permission to release a modified
-   version without this exception; this exception also makes it
-   possible to release a modified version which carries forward this
-   exception.
-
-   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/>.  */
-
-/* This is the canonical entry point, usually the first thing in the text
-   segment.
-
-	Note that the code in the .init section has already been run.
-	This includes _init and _libc_init
-
-
-	At this entry point, most registers' values are unspecified, except:
-
-   r4		Contains a function pointer to be registered with `atexit'.
-		This is how the dynamic linker arranges to have DT_FINI
-		functions called for shared libraries that have been loaded
-		before this code runs.
-
-   sp		The stack contains the arguments and environment:
-		0(sp)			argc
-		4(sp)			argv[0]
-		...
-		(4*argc)(sp)		NULL
-		(4*(argc+1))(sp)	envp[0]
-		...
-					NULL
-*/
-
-	.text
-	.globl _start
-	.type _start,@function
-_start:
-	/* Clear the frame pointer since this is the outermost frame.  */
-	mov #0, r14
-
-	/* Pop argc off the stack and save a pointer to argv */
-	mov.l @r15+,r5
-	mov r15, r6
-
-	/* Push the last arguments to main() onto the stack */
-	mov.l r4,@-r15
-	mov.l L_fini,r0
-	mov.l r0,@-r15
-
-	/* Set up the other arguments for main() that go in registers */
-	mov.l L_main,r4
-	mov.l L_init,r7
-
-	/* __libc_start_main (main, argc, argv, init, fini, rtld_fini) */
-
-	/* Let the libc call main and exit with its return code.  */
-	mov.l L_libc_start_main,r1
-	jsr @r1
-	nop
-	/* should never get here....*/
-	mov.l L_abort,r1
-	jsr @r1
-	nop
-	.align	2
-L_main:
-	.long	main
-L_init:
-	.long	__libc_csu_init
-L_fini:
-	.long	__libc_csu_fini
-L_libc_start_main:
-	.long	__libc_start_main
-L_abort:
-	.long	abort
-/* Define a symbol for the first piece of initialized data.  */
-	.data
-	.globl __data_start
-__data_start:
-	.long 0
-	.weak data_start
-	data_start = __data_start
-	.global __fpscr_values
-__fpscr_values:
-	.long   0
-	.long   0x80000
diff --git a/sysdeps/sh/strlen.S b/sysdeps/sh/strlen.S
deleted file mode 100644
index 8e0d53c471..0000000000
--- a/sysdeps/sh/strlen.S
+++ /dev/null
@@ -1,83 +0,0 @@
-/* Copyright (C) 1999-2017 Free Software Foundation, Inc.
-   This file is part of the GNU C Library.
-   Contributed by Kazumoto Kojima <kkojima@rr.iij4u.or.jp>
-
-   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>
-
-/* size_t strlen (const char *s)  */
-
-ENTRY(strlen)
-	mov	r4, r0
-	and	#3, r0
-	tst	r0, r0
-	bt/s	1f
-	mov	#0, r2
-
-	add	#-1, r0
-	shll2	r0
-	shll	r0
-	braf	r0
-	nop
-
-	mov.b	@r4+, r1
-	tst	r1, r1
-	bt	8f
-	add	#1, r2
-
-	mov.b	@r4+, r1
-	tst	r1, r1
-	bt	8f
-	add	#1, r2
-
-	mov.b	@r4+, r1
-	tst	r1, r1
-	bt	8f
-	add	#1, r2
-
-1:
-	mov	#0, r3
-2:
-	mov.l	@r4+, r1
-	cmp/str	r3, r1
-	bf/s	2b
-	add	#4, r2
-
-	add	#-4, r2
-#ifdef __BIG_ENDIAN__
-	swap.b	r1, r1
-	swap.w	r1, r1
-	swap.b	r1, r1
-#endif
-	extu.b	r1, r0
-	tst	r0, r0
-	bt/s	8f
-	shlr8	r1
-	add	#1, r2
-	extu.b	r1, r0
-	tst	r0, r0
-	bt/s	8f
-	shlr8	r1
-	add	#1, r2
-	extu.b	r1, r0
-	tst	r0, r0
-	bt	8f
-	add	#1, r2
-8:
-	rts
-	mov	r2, r0
-END(strlen)
-libc_hidden_builtin_def (strlen)
diff --git a/sysdeps/sh/sysdep.h b/sysdeps/sh/sysdep.h
deleted file mode 100644
index 939c93144e..0000000000
--- a/sysdeps/sh/sysdep.h
+++ /dev/null
@@ -1,75 +0,0 @@
-/* Assembler macros for SH.
-   Copyright (C) 1999-2017 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 <sysdeps/generic/sysdep.h>
-
-#ifdef	__ASSEMBLER__
-
-/* Syntactic details of assembler.  */
-
-#define ALIGNARG(log2) log2
-#define ASM_SIZE_DIRECTIVE(name) .size name,.-name
-
-#ifdef SHARED
-#define PLTJMP(_x)	_x##@PLT
-#else
-#define PLTJMP(_x)	_x
-#endif
-
-
-/* Define an entry point visible from C.  */
-#define	ENTRY(name)							      \
-  .globl C_SYMBOL_NAME(name);						      \
-  .type C_SYMBOL_NAME(name),@function;					      \
-  .align ALIGNARG(5);							      \
-  C_LABEL(name)								      \
-  cfi_startproc;							      \
-  CALL_MCOUNT
-
-#undef	END
-#define END(name)							      \
-  cfi_endproc;								      \
-  ASM_SIZE_DIRECTIVE(C_SYMBOL_NAME(name))
-
-/* If compiled for profiling, call `mcount' at the start of each function.  */
-#ifdef	PROF
-#define CALL_MCOUNT					\
-	mov.l	1f,r1;					\
-	sts.l	pr,@-r15;				\
-	cfi_adjust_cfa_offset (4);			\
-	cfi_rel_offset (pr, 0);				\
-	mova	2f,r0;					\
-	jmp	@r1;					\
-	 lds	r0,pr;					\
-	.align	2;					\
-1:	.long	mcount;					\
-2:	lds.l	@r15+,pr;				\
-	cfi_adjust_cfa_offset (-4);			\
-	cfi_restore (pr)
-
-#else
-#define CALL_MCOUNT		/* Do nothing.  */
-#endif
-
-/* Since C identifiers are not normally prefixed with an underscore
-   on this system, the asm identifier `syscall_error' intrudes on the
-   C name space.  Make sure we use an innocuous name.  */
-#define	syscall_error	__syscall_error
-#define mcount		_mcount
-
-#endif	/* __ASSEMBLER__ */
diff --git a/sysdeps/sh/tininess.h b/sysdeps/sh/tininess.h
deleted file mode 100644
index 1db37790f8..0000000000
--- a/sysdeps/sh/tininess.h
+++ /dev/null
@@ -1 +0,0 @@
-#define TININESS_AFTER_ROUNDING	1
diff --git a/sysdeps/sh/tls-macros.h b/sysdeps/sh/tls-macros.h
deleted file mode 100644
index aa56b0a01f..0000000000
--- a/sysdeps/sh/tls-macros.h
+++ /dev/null
@@ -1,143 +0,0 @@
-#define TLS_LE(x) \
-  ({ int *__l; void *__tp;						      \
-     asm ("stc gbr,%1\n\t"						      \
-	  "mov.l 1f,%0\n\t"						      \
-	  "bra 2f\n\t"							      \
-	  " add %1,%0\n\t"						      \
-	  ".align 2\n\t"						      \
-	  "1: .long " #x "@tpoff\n\t"					      \
-	  "2:"								      \
-	  : "=r" (__l), "=r" (__tp));					      \
-     __l; })
-
-#ifdef PIC
-# define TLS_IE(x) \
-  ({ int *__l; void *__tp;						      \
-     register void *__gp __asm__("r12");				      \
-     asm ("mov.l 1f,r0\n\t"						      \
-	  "stc gbr,%1\n\t"						      \
-	  "mov.l @(r0,r12),%0\n\t"					      \
-	  "bra 2f\n\t"							      \
-	  " add %1,%0\n\t"						      \
-	  ".align 2\n\t"						      \
-	  "1: .long " #x "@gottpoff\n\t"				      \
-	  "2:"								      \
-	  : "=r" (__l), "=r" (__tp) : "r" (__gp) : "r0");		      \
-     __l; })
-#else
-# define TLS_IE(x) \
-  ({ int *__l; void *__tp;						      \
-     asm ("mov.l r12,@-r15\n\t"						      \
-	  "mova 0f,r0\n\t"						      \
-	  "mov.l 0f,r12\n\t"						      \
-	  "add r0,r12\n\t"						      \
-	  "mov.l 1f,r0\n\t"						      \
-	  "stc gbr,%1\n\t"						      \
-	  "mov.l @(r0,r12),%0\n\t"					      \
-	  "bra 2f\n\t"							      \
-	  " add %1,%0\n\t"						      \
-	  ".align 2\n\t"						      \
-	  "1: .long " #x "@gottpoff\n\t"				      \
-	  "0: .long _GLOBAL_OFFSET_TABLE_\n\t"				      \
-	  "2: mov.l @r15+,r12"						      \
-	  : "=r" (__l), "=r" (__tp) : : "r0");				      \
-     __l; })
-#endif
-
-#ifdef PIC
-# define TLS_LD(x) \
-  ({ int *__l;								      \
-     register void *__gp __asm__("r12");				      \
-     asm ("mov.l 1f,r4\n\t"						      \
-	  "mova 2f,r0\n\t"						      \
-	  "mov.l 2f,r1\n\t"						      \
-	  "add r0,r1\n\t"						      \
-	  "jsr @r1\n\t"							      \
-	  " add r12,r4\n\t"						      \
-	  "bra 4f\n\t"							      \
-	  " nop\n\t"							      \
-	  ".align 2\n\t"						      \
-	  "1: .long " #x "@tlsldm\n\t"					      \
-	  "2: .long __tls_get_addr@plt\n\t"				      \
-	  "4: mov.l 3f,%0\n\t"						      \
-	  "bra 5f\n\t"							      \
-	  " add r0,%0\n\t"						      \
-	  ".align 2\n\t"						      \
-	  "3: .long " #x "@dtpoff\n\t"					      \
-	  "5:"								      \
-	  : "=r" (__l) : "r" (__gp) : "r0", "r1", "r2", "r3", "r4", "r5",     \
-				      "r6", "r7", "pr", "t");		      \
-     __l; })
-#else
-# define TLS_LD(x) \
-  ({ int *__l;								      \
-     asm ("mov.l r12,@-r15\n\t"						      \
-	  "mova 0f,r0\n\t"						      \
-	  "mov.l 0f,r12\n\t"						      \
-	  "add r0,r12\n\t"						      \
-	  "mov.l 1f,r4\n\t"						      \
-	  "mova 2f,r0\n\t"						      \
-	  "mov.l 2f,r1\n\t"						      \
-	  "add r0,r1\n\t"						      \
-	  "jsr @r1\n\t"							      \
-	  " add r12,r4\n\t"						      \
-	  "bra 4f\n\t"							      \
-	  " nop\n\t"							      \
-	  ".align 2\n\t"						      \
-	  "1: .long " #x "@tlsldm\n\t"					      \
-	  "2: .long __tls_get_addr@plt\n\t"				      \
-	  "0: .long _GLOBAL_OFFSET_TABLE_\n\t"				      \
-	  "4: mov.l 3f,%0\n\t"						      \
-	  "bra 5f\n\t"							      \
-	  " add r0,%0\n\t"						      \
-	  ".align 2\n\t"						      \
-	  "3: .long " #x "@dtpoff\n\t"					      \
-	  "5: mov.l @r15+,r12"						      \
-	  : "=r" (__l) : : "r0", "r1", "r2", "r3", "r4", "r5", "r6", "r7",    \
-			   "pr", "t");					      \
-     __l; })
-#endif
-
-#ifdef PIC
-# define TLS_GD(x) \
-  ({ int *__l;								      \
-     register void *__gp __asm__("r12");				      \
-     asm ("mov.l 1f,r4\n\t"						      \
-	  "mova 2f,r0\n\t"						      \
-	  "mov.l 2f,r1\n\t"						      \
-	  "add r0,r1\n\t"						      \
-	  "jsr @r1\n\t"							      \
-	  " add r12,r4\n\t"						      \
-	  "bra 3f\n\t"							      \
-	  " mov r0,%0\n\t"						      \
-	  ".align 2\n\t"						      \
-	  "1: .long " #x "@tlsgd\n\t"					      \
-	  "2: .long __tls_get_addr@plt\n\t"				      \
-	  "3:"								      \
-	  : "=r" (__l) : "r" (__gp) : "r0", "r1", "r2", "r3", "r4", "r5",     \
-				      "r6", "r7", "pr", "t");		      \
-     __l; })
-#else
-# define TLS_GD(x) \
-  ({ int *__l;								      \
-     asm ("mov.l r12,@-r15\n\t"						      \
-	  "mova 0f,r0\n\t"						      \
-	  "mov.l 0f,r12\n\t"						      \
-	  "add r0,r12\n\t"						      \
-	  "mov.l 1f,r4\n\t"						      \
-	  "mova 2f,r0\n\t"						      \
-	  "mov.l 2f,r1\n\t"						      \
-	  "add r0,r1\n\t"						      \
-	  "jsr @r1\n\t"							      \
-	  " add r12,r4\n\t"						      \
-	  "bra 3f\n\t"							      \
-	  " mov r0,%0\n\t"						      \
-	  ".align 2\n\t"						      \
-	  "1: .long " #x "@tlsgd\n\t"					      \
-	  "2: .long __tls_get_addr@plt\n\t"				      \
-	  "0: .long _GLOBAL_OFFSET_TABLE_\n\t"				      \
-	  "3: mov.l @r15+,r12"						      \
-	  : "=r" (__l) : : "r0", "r1", "r2", "r3", "r4", "r5", "r6", "r7",    \
-			   "pr", "t");					      \
-     __l; })
-#endif
diff --git a/sysdeps/sh/tst-audit.h b/sysdeps/sh/tst-audit.h
deleted file mode 100644
index a7250a9817..0000000000
--- a/sysdeps/sh/tst-audit.h
+++ /dev/null
@@ -1,25 +0,0 @@
-/* Definitions for testing PLT entry/exit auditing.  SH version.
-
-   Copyright (C) 2012-2017 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/>.  */
-
-#define pltenter la_sh_gnu_pltenter
-#define pltexit la_sh_gnu_pltexit
-#define La_regs La_sh_regs
-#define La_retval La_sh_retval
-#define int_retval lrv_r0