diff mbox

[SH,committed] Remove SH5 support in compiler

Message ID 1462008142.31604.59.camel@t-online.de
State New
Headers show

Commit Message

Oleg Endo April 30, 2016, 9:22 a.m. UTC
On Sat, 2016-04-30 at 14:44 +0900, Oleg Endo wrote:
> On Sat, 2016-04-30 at 10:58 +0900, Oleg Endo wrote:
> > On Fri, 2016-04-29 at 23:11 +0900, Oleg Endo wrote:
> > > On Fri, 2016-04-29 at 19:45 +0900, Oleg Endo wrote:
> > > > On Thu, 2016-04-28 at 10:27 +0900, Oleg Endo wrote:
> > > > 
> > > > > The removal of SH5 support from GCC has been announced here
> > > > > https://gcc.gnu.org/ml/gcc/2015-08/msg00101.html
> > > > > 
> > > > > The attached patch removes support for SH5 in the compiler
> > > > > back
> > > > > end. 
> > > > >  There are still some leftovers and new simplification
> > > > > opportunities.
> > > > >  These will be addressed in later follow up patches.
> > > > > 
> > > > > Tested on sh-elf with
> > > > > 
> > > > > make -k check RUNTESTFLAGS="--target_board=sh-sim\{-m2/-ml,
> > > > > -m2/
> > > > > -mb,
> > > > > -m2a/-mb,-m4/-ml,-m4/-mb,-m4a/-ml,-m4a/-mb}"
> > > > 
> > > > The attached patch removes some leftovers and reinstantes the
> > > > divsf3
> > > > expander pattern which got accidentally deleted by the previous
> > > > patch.
> > > 
> > > The attached patch removes SH5 support from libgcc.
> > > Tested as above.  Committed as r235640.
> > 
> > The attached patch removes SH5 checks in the testsuite.
> > Committed as r235673.
> 
> The attached patch removes some remaining superfluous TARGET_SH1
> checks.  Tested with

The attached patch finally removes SH5 support from the various
configure machineries.

Tested with
make -k check-gcc RUNTESTFLAGS="--target_board=sh-sim\{-m2/-ml,-m2/-mb,
-m2a/-mb,-m4/-ml,-m4/-mb,-m4a/-ml,-m4a/-mb}"

Committed as r235676.

Cheers,
Oleg

ChangeLog:

/
	* config.guess:  Remove SH5 support.
	* config.sub: Likewise.
	* configure: Likewise.
	* configure.ac: Likewise.

config/
	* picflag.m4:  Remove SH5 support.

gcc/
	* config/sh/t-sh: Remove SH5 support.
	* config.gcc: Likewise.
	* configure: Likewise.

contrib/
	* compare-all-tests: Remove SH5 support.
	* config-list.mk: Likewise.

libada/
	* configure: Remove SH5 support.

libgcc/
	* config.host: Remove SH5 support.
	* configure: Likewise.

libiberty/
	* configure: Remove SH5 support.

libjava/
	* classpath/config.guess: Remove SH5 support.
	* classpath/config.sub: Likewise.

Comments

Joseph Myers April 30, 2016, 9:39 a.m. UTC | #1
On Sat, 30 Apr 2016, Oleg Endo wrote:

> 	* config.guess:  Remove SH5 support.
> 	* config.sub: Likewise.

Please revert.  These files must come verbatim from config.git with no 
local changes.  If you persuade config-patches that SH5 support should be 
removed there then you can import new, unmodified upstream files.

> 	* configure: Likewise.

For all the configure scripts listed, regeneration rather than manual 
editing is appropriate.  Please make sure the changes you committed are 
identical to those from a proper regeneration with the right autoconf 
version.

> 	* classpath/config.guess: Remove SH5 support.
> 	* classpath/config.sub: Likewise.

Again, please revert and keep these files identical to upstream.
Oleg Endo April 30, 2016, 11:02 a.m. UTC | #2
Joseph,

Thanks for keeping an eye on that.

On Sat, 2016-04-30 at 09:39 +0000, Joseph Myers wrote:
> On Sat, 30 Apr 2016, Oleg Endo wrote:
> 
> > 	* config.guess:  Remove SH5 support.
> > 	* config.sub: Likewise.
> 
> Please revert.  These files must come verbatim from config.git with 
> no local changes.  If you persuade config-patches that SH5 support
> should be removed there then you can import new, unmodified upstream
> files.

Done (r235677).  I've sent the patch to config-patches.

> 
> > 	* configure: Likewise.
> 
> For all the configure scripts listed, regeneration rather than manual
> editing is appropriate.  Please make sure the changes you committed 
> are identical to those from a proper regeneration with the right 
> autoconf version.

Did that.  Looks there are no changes after regeneration.

Cheers,
Oleg
Eric Botcazou May 3, 2016, 10:42 p.m. UTC | #3
> Did that.  Looks there are no changes after regeneration.

Not in the libada directory:

eric@polaris:~/svn/gcc/libada> svn info configure configure.ac
Path: configure
Name: configure
Working Copy Root Path: /home/eric/svn/gcc
URL: svn+ssh://gcc.gnu.org/svn/gcc/trunk/libada/configure
Relative URL: ^/trunk/libada/configure
Repository Root: svn+ssh://gcc.gnu.org/svn/gcc
Repository UUID: 138bc75d-0d04-0410-961f-82ee72b054a4
Revision: 235678
Node Kind: file
Schedule: normal
Last Changed Author: olegendo
Last Changed Rev: 235676
Last Changed Date: 2016-04-30 11:11:03 +0200 (Sat, 30 Apr 2016)
Text Last Updated: 2016-04-30 12:43:53 +0200 (Sat, 30 Apr 2016)
Checksum: 81a247fa3a0b075a9d5912fc76108ca80958bf4d

Path: configure.ac
Name: configure.ac
Working Copy Root Path: /home/eric/svn/gcc
URL: svn+ssh://gcc.gnu.org/svn/gcc/trunk/libada/configure.ac
Relative URL: ^/trunk/libada/configure.ac
Repository Root: svn+ssh://gcc.gnu.org/svn/gcc
Repository UUID: 138bc75d-0d04-0410-961f-82ee72b054a4
Revision: 235678
Node Kind: file
Schedule: normal
Last Changed Author: jakub
Last Changed Rev: 232055
Last Changed Date: 2016-01-04 15:30:50 +0100 (Mon, 04 Jan 2016)
Text Last Updated: 2016-01-06 08:00:38 +0100 (Wed, 06 Jan 2016)
Checksum: 33d89322bb3530f3c351968d9d127c6af002acf7

You cannot change any configure files without changing configure.ac.
Oleg Endo May 11, 2016, 12:37 p.m. UTC | #4
On Wed, 2016-05-04 at 00:42 +0200, Eric Botcazou wrote:
> > Did that.  Looks there are no changes after regeneration.
> 
> Not in the libada directory:
> 
> eric@polaris:~/svn/gcc/libada> svn info configure configure.ac
> Path: configure
> Name: configure
> Working Copy Root Path: /home/eric/svn/gcc
> URL: svn+ssh://gcc.gnu.org/svn/gcc/trunk/libada/configure
> Relative URL: ^/trunk/libada/configure
> Repository Root: svn+ssh://gcc.gnu.org/svn/gcc
> Repository UUID: 138bc75d-0d04-0410-961f-82ee72b054a4
> Revision: 235678
> Node Kind: file
> Schedule: normal
> Last Changed Author: olegendo
> Last Changed Rev: 235676
> Last Changed Date: 2016-04-30 11:11:03 +0200 (Sat, 30 Apr 2016)
> Text Last Updated: 2016-04-30 12:43:53 +0200 (Sat, 30 Apr 2016)
> Checksum: 81a247fa3a0b075a9d5912fc76108ca80958bf4d
> 
> Path: configure.ac
> Name: configure.ac
> Working Copy Root Path: /home/eric/svn/gcc
> URL: svn+ssh://gcc.gnu.org/svn/gcc/trunk/libada/configure.ac
> Relative URL: ^/trunk/libada/configure.ac
> Repository Root: svn+ssh://gcc.gnu.org/svn/gcc
> Repository UUID: 138bc75d-0d04-0410-961f-82ee72b054a4
> Revision: 235678
> Node Kind: file
> Schedule: normal
> Last Changed Author: jakub
> Last Changed Rev: 232055
> Last Changed Date: 2016-01-04 15:30:50 +0100 (Mon, 04 Jan 2016)
> Text Last Updated: 2016-01-06 08:00:38 +0100 (Wed, 06 Jan 2016)
> Checksum: 33d89322bb3530f3c351968d9d127c6af002acf7
> 
> You cannot change any configure files without changing configure.ac.

Ugh, sorry.  Those pieces that I've changed manually are pulled from
the GNU config repo.  At least that's what I understand.  My proposed
changes to remove SH5 support in GNU config were rejected.  I will
revert the corresponding changes in GCC.

Cheers,
Oleg
diff mbox

Patch

diff --git a/config.guess b/config.guess
index dcd5149..6396977 100755
--- a/config.guess
+++ b/config.guess
@@ -177,7 +177,6 @@  case "${UNAME_MACHINE}:${UNAME_SYSTEM}:${UNAME_RELEASE}:${UNAME_VERSION}" in
 	    arm*) machine=arm-unknown ;;
 	    sh3el) machine=shl-unknown ;;
 	    sh3eb) machine=sh-unknown ;;
-	    sh5el) machine=sh5le-unknown ;;
 	    earmv*)
 		arch=`echo ${UNAME_MACHINE_ARCH} | sed -e 's,^e\(armv[0-9]\).*$,\1,'`
 		endian=`echo ${UNAME_MACHINE_ARCH} | sed -ne 's,^.*\(eb\)$,\1,p'`
@@ -1028,9 +1027,6 @@  EOF
     s390:Linux:*:* | s390x:Linux:*:*)
 	echo ${UNAME_MACHINE}-ibm-linux-${LIBC}
 	exit ;;
-    sh64*:Linux:*:*)
-	echo ${UNAME_MACHINE}-unknown-linux-${LIBC}
-	exit ;;
     sh*:Linux:*:*)
 	echo ${UNAME_MACHINE}-unknown-linux-${LIBC}
 	exit ;;
diff --git a/config.sub b/config.sub
index da6d1b6..1b4b975 100755
--- a/config.sub
+++ b/config.sub
@@ -306,7 +306,6 @@  case $basic_machine in
 	| rl78 | rx \
 	| score \
 	| sh | sh[1234] | sh[24]a | sh[24]aeb | sh[23]e | sh[234]eb | sheb | shbe | shle | sh[1234]le | sh3ele \
-	| sh64 | sh64le \
 	| sparc | sparc64 | sparc64b | sparc64v | sparc86x | sparclet | sparclite \
 	| sparcv8 | sparcv9 | sparcv9b | sparcv9v \
 	| spu \
@@ -432,7 +431,7 @@  case $basic_machine in
 	| riscv32-* | riscv64-* \
 	| rl78-* | romp-* | rs6000-* | rx-* \
 	| sh-* | sh[1234]-* | sh[24]a-* | sh[24]aeb-* | sh[23]e-* | sh[34]eb-* | sheb-* | shbe-* \
-	| shle-* | sh[1234]le-* | sh3ele-* | sh64-* | sh64le-* \
+	| shle-* | sh[1234]le-* | sh3ele-* \
 	| sparc-* | sparc64-* | sparc64b-* | sparc64v-* | sparc86x-* | sparclet-* \
 	| sparclite-* \
 	| sparcv8-* | sparcv9-* | sparcv9b-* | sparcv9v-* | sv1-* | sx*-* \
@@ -1094,12 +1093,6 @@  case $basic_machine in
 		basic_machine=sh-hitachi
 		os=-hms
 		;;
-	sh5el)
-		basic_machine=sh5le-unknown
-		;;
-	sh64)
-		basic_machine=sh64-unknown
-		;;
 	sparclite-wrs | simso-wrs)
 		basic_machine=sparclite-wrs
 		os=-vxworks
diff --git a/config/picflag.m4 b/config/picflag.m4
index 2f5b972..e0fa343 100644
--- a/config/picflag.m4
+++ b/config/picflag.m4
@@ -61,8 +61,7 @@  case "${$2}" in
 	$1=-fpic
 	;;
     # FIXME: Simplify to sh*-*-netbsd*?
-    sh-*-netbsdelf* | shl*-*-netbsdelf* | sh5-*-netbsd* | sh5l*-*-netbsd* | \
-      sh64-*-netbsd* | sh64l*-*-netbsd*)
+    sh-*-netbsdelf* | shl*-*-netbsdelf*)
 	$1=-fpic
 	;;
     # Default to -fPIC unless specified otherwise.
diff --git a/configure b/configure
index 35f231e..31f1dd6 100755
--- a/configure
+++ b/configure
@@ -3446,8 +3446,6 @@  case "${target}" in
     ;;
   sh-*-* | sh[34]*-*-*)
     ;;
-  sh64-*-* | sh5*-*-*)
-    ;;
   sparc*-*-*)
     ;;
   x86_64-*-*)
@@ -3946,7 +3944,7 @@  case "${target}" in
   or1k*-*-*)
     noconfigdirs="$noconfigdirs gdb"
     ;;
-  sh-*-* | sh64-*-*)
+  sh-*-*)
     case "${target}" in
       sh*-*-elf)
          ;;
diff --git a/configure.ac b/configure.ac
index 74bf58a..017b5a0 100644
--- a/configure.ac
+++ b/configure.ac
@@ -782,8 +782,6 @@  case "${target}" in
     ;;
   sh-*-* | sh[[34]]*-*-*)
     ;;
-  sh64-*-* | sh5*-*-*)
-    ;;
   sparc*-*-*)
     ;;
   x86_64-*-*)
@@ -1282,7 +1280,7 @@  case "${target}" in
   or1k*-*-*)
     noconfigdirs="$noconfigdirs gdb"
     ;;
-  sh-*-* | sh64-*-*)
+  sh-*-*)
     case "${target}" in
       sh*-*-elf)
          ;;
diff --git a/contrib/compare-all-tests b/contrib/compare-all-tests
index 444e3b5..7851a1b 100644
--- a/contrib/compare-all-tests
+++ b/contrib/compare-all-tests
@@ -31,11 +31,10 @@  mn10300_opts='-mam33 -mam33-2'
 pa_opts='-march=2.0 -march=1.0 -march=1.1'
 ppc_opts='-m32 -m64'
 s390_opts='-m31 -m31/-mzarch -m64'
-sh64_opts='-m5-32media -m5-32media-nofpu -m5-64media -m5-64media-nofpu -m5-compact -m5-compact-nofpu'
 sh_opts='-m3 -m3e -m4 -m4a -m4al -m4/-mieee -m1 -m1/-mno-cbranchdi -m2a -m2a/-mieee -m2e -m2e/-mieee'
 sparc_opts='-mcpu=v8/-m32 -mcpu=v9/-m32 -m64'
 
-all_targets='alpha arm avr bfin cris fr30 frv h8300 ia64 iq2000 m32c m32r m68k mcore mips mmix mn10300 pa pdp11 ppc sh sh64 sparc spu v850 vax xstormy16 xtensa' # e500 
+all_targets='alpha arm avr bfin cris fr30 frv h8300 ia64 iq2000 m32c m32r m68k mcore mips mmix mn10300 pa pdp11 ppc sh sparc spu v850 vax xstormy16 xtensa' # e500 
 
 test_one_file ()
 {
diff --git a/contrib/config-list.mk b/contrib/config-list.mk
index 6a83a84..8210352 100644
--- a/contrib/config-list.mk
+++ b/contrib/config-list.mk
@@ -63,8 +63,8 @@  LIST = aarch64-elf aarch64-linux-gnu aarch64-rtems \
   powerpcle-eabisim powerpcle-eabi rs6000-ibm-aix4.3 rs6000-ibm-aix5.1.0 \
   rs6000-ibm-aix5.2.0 rs6000-ibm-aix5.3.0 rs6000-ibm-aix6.0 \
   rl78-elf rx-elf s390-linux-gnu s390x-linux-gnu s390x-ibm-tpf sh-elf \
-  shle-linux sh-netbsdelf sh-superh-elf sh5el-netbsd sh64-netbsd sh64-linux \
-  sh64-elfOPT-with-newlib sh-rtems sh-wrs-vxworks sparc-elf \
+  shle-linux sh-netbsdelf sh-superh-elf \
+  sh-rtems sh-wrs-vxworks sparc-elf \
   sparc-leon-elf sparc-rtems sparc-linux-gnu \
   sparc-leon3-linux-gnuOPT-enable-target=all sparc-netbsdelf \
   sparc64-sun-solaris2.10OPT-with-gnu-ldOPT-with-gnu-asOPT-enable-threads=posix \
diff --git a/gcc/config.gcc b/gcc/config.gcc
index f66e48c..4e98df7 100644
--- a/gcc/config.gcc
+++ b/gcc/config.gcc
@@ -2617,16 +2617,15 @@  s390x-ibm-tpf*)
 	;;
 sh-*-elf* | sh[12346l]*-*-elf* | \
   sh-*-linux* | sh[2346lbe]*-*-linux* | \
-  sh-*-netbsdelf* | shl*-*-netbsdelf* | sh5-*-netbsd* | sh5l*-*-netbsd* | \
-  sh64-*-netbsd* | sh64l*-*-netbsd*)
+  sh-*-netbsdelf* | shl*-*-netbsdelf*)
 	tmake_file="${tmake_file} sh/t-sh sh/t-elf"
 	if test x${with_endian} = x; then
 		case ${target} in
 		sh[1234]*be-*-* | sh[1234]*eb-*-*) with_endian=big ;;
 		shbe-*-* | sheb-*-*)		   with_endian=big,little ;;
 		sh[1234]l* | sh[34]*-*-linux*)	   with_endian=little ;;
-		shl* | sh64l* | sh*-*-linux* | \
-		  sh5l* | sh-superh-elf)	   with_endian=little,big ;;
+		shl* | sh*-*-linux* | \
+		  sh-superh-elf)		   with_endian=little,big ;;
 		sh[1234]*-*-*)			   with_endian=big ;;
 		*)				   with_endian=big,little ;;
 		esac
@@ -2670,37 +2669,14 @@  sh-*-elf* | sh[12346l]*-*-elf* | \
 			tm_file="${tm_file} sh/embed-elf.h" ;;
 	esac
 	case ${target} in
-	sh5*-*-netbsd*)
-		# SHmedia, 32-bit ABI
-		tmake_file="${tmake_file} sh/t-sh64"
-		;;
-	sh64*-netbsd*)
-		# SHmedia, 64-bit ABI
-		tmake_file="${tmake_file} sh/t-sh64 sh/t-netbsd-sh5-64"
-		;;
 	*-*-netbsd)
 		;;
-	sh64*-*-linux*)
-		tmake_file="${tmake_file} sh/t-sh64"
-		tm_file="${tm_file} sh/sh64.h"
-		extra_headers="shmedia.h ushmedia.h sshmedia.h"
-		;;
-	sh64*)
-		tmake_file="${tmake_file} sh/t-sh64"
-		tm_file="${tm_file} sh/sh64.h"
-		if test x$with_newlib = xyes; then
-			tm_file="${tm_file} newlib-stdint.h"
-		fi
-		extra_headers="shmedia.h ushmedia.h sshmedia.h"
-		;;
 	*-*-elf*)
 		tm_file="${tm_file} newlib-stdint.h"
 		;;
 	esac
 	# sed el/eb endian suffixes away to avoid confusion with sh[23]e
 	case `echo ${target} | sed 's/e[lb]-/-/'` in
-	sh64*-*-netbsd*)	sh_cpu_target=sh5-64media ;;
-	sh64* | sh5*-*-netbsd*)	sh_cpu_target=sh5-32media ;;
 	sh4a_single_only*)	sh_cpu_target=sh4a-single-only ;;
 	sh4a_single*)		sh_cpu_target=sh4a-single ;;
 	sh4a_nofpu*)		sh_cpu_target=sh4a-nofpu ;;
@@ -2723,7 +2699,6 @@  sh-*-elf* | sh[12346l]*-*-elf* | \
 	# did the user say --without-fp ?
 	if test x$with_fp = xno; then
 		case ${sh_cpu_target} in
-		sh5-*media)	sh_cpu_target=${sh_cpu_target}-nofpu ;;
 		sh4al | sh1)	;;
 		sh4a* )		sh_cpu_target=sh4a-nofpu ;;
 		sh4*)		sh_cpu_target=sh4-nofpu ;;
@@ -2736,8 +2711,6 @@  sh-*-elf* | sh[12346l]*-*-elf* | \
 	fi
 	sh_cpu_default="`echo $with_cpu|sed s/^m/sh/|tr A-Z_ a-z-`"
 	case $sh_cpu_default in
-	sh5-64media-nofpu | sh5-64media | \
-	  sh5-32media-nofpu | sh5-32media | sh5-compact-nofpu | sh5-compact | \
 	  sh2a-single-only | sh2a-single | sh2a-nofpu | sh2a | \
 	  sh4a-single-only | sh4a-single | sh4a-nofpu | sh4a | sh4al | \
 	  sh4-single-only | sh4-single | sh4-nofpu | sh4 | sh4-300 | \
@@ -2748,9 +2721,7 @@  sh-*-elf* | sh[12346l]*-*-elf* | \
 	sh_multilibs=${with_multilib_list}
 	if test "$sh_multilibs" = "default" ; then
 		case ${target} in
-		sh64-superh-linux* | \
 		sh[1234]*)	sh_multilibs=${sh_cpu_target} ;;
-		sh64* | sh5*)	sh_multilibs=m5-32media,m5-32media-nofpu,m5-compact,m5-compact-nofpu,m5-64media,m5-64media-nofpu ;;
 		sh-superh-*)	sh_multilibs=m4,m4-single,m4-single-only,m4-nofpu ;;
 		sh*-*-linux*)	sh_multilibs=m1,m2,m2a,m3e,m4 ;;
 		sh*-*-netbsd*)	sh_multilibs=m3,m3e,m4 ;;
@@ -2769,10 +2740,7 @@  sh-*-elf* | sh[12346l]*-*-elf* | \
 		m1 | m2 | m2e | m3 | m3e | \
 		m4 | m4-single | m4-single-only | m4-nofpu | m4-300 |\
 		m4a | m4a-single | m4a-single-only | m4a-nofpu | m4al | \
-		m2a | m2a-single | m2a-single-only | m2a-nofpu | \
-		m5-64media | m5-64media-nofpu | \
-		m5-32media | m5-32media-nofpu | \
-		m5-compact | m5-compact-nofpu)
+		m2a | m2a-single | m2a-single-only | m2a-nofpu)
 			# TM_MULTILIB_CONFIG is used by t-sh for the non-endian multilib definition
 			# It is passed to MULTIILIB_OPTIONS verbatim.
 			TM_MULTILIB_CONFIG="${TM_MULTILIB_CONFIG}/${sh_multilib}"
@@ -2789,7 +2757,7 @@  sh-*-elf* | sh[12346l]*-*-elf* | \
 	done
 	TM_MULTILIB_CONFIG=`echo $TM_MULTILIB_CONFIG | sed 's:^/::'`
 	if test x${enable_incomplete_targets} = xyes ; then
-		tm_defines="$tm_defines SUPPORT_SH1=1 SUPPORT_SH2E=1 SUPPORT_SH4=1 SUPPORT_SH4_SINGLE=1 SUPPORT_SH2A=1 SUPPORT_SH2A_SINGLE=1 SUPPORT_SH5_32MEDIA=1 SUPPORT_SH5_32MEDIA_NOFPU=1 SUPPORT_SH5_64MEDIA=1 SUPPORT_SH5_64MEDIA_NOFPU=1"
+		tm_defines="$tm_defines SUPPORT_SH1=1 SUPPORT_SH2E=1 SUPPORT_SH4=1 SUPPORT_SH4_SINGLE=1 SUPPORT_SH2A=1 SUPPORT_SH2A_SINGLE=1"
 	fi
 	tm_file="$tm_file ./sysroot-suffix.h"
 	tmake_file="$tmake_file t-sysroot-suffix"
diff --git a/gcc/config/sh/t-sh b/gcc/config/sh/t-sh
index 348cc0b..7446c8e 100644
--- a/gcc/config/sh/t-sh
+++ b/gcc/config/sh/t-sh
@@ -50,9 +50,7 @@  MULTILIB_MATCHES = $(shell \
              m2e,m3e,m4-single-only,m4-100-single-only,m4-200-single-only,m4-300-single-only,m4a-single-only \
              m2a-single,m2a-single-only \
              m4-single,m4-100-single,m4-200-single,m4-300-single,m4a-single \
-             m4,m4-100,m4-200,m4-300,m4a \
-             m5-32media,m5-compact,m5-32media \
-             m5-32media-nofpu,m5-compact-nofpu,m5-32media-nofpu; do \
+             m4,m4-100,m4-200,m4-300,m4a; do \
     subst= ; \
     for lib in `echo $$abi|tr , ' '` ; do \
       if test "`echo $$multilibs|sed s/$$lib//`" != "$$multilibs"; then \
@@ -89,13 +87,7 @@  MULTILIB_OSDIRNAMES = \
 	m4a-single-only=!m4a-single-only $(OTHER_ENDIAN)/m4a-single-only=!$(OTHER_ENDIAN)/m4a-single-only \
 	m4a-single=!m4a-single $(OTHER_ENDIAN)/m4a-single=!$(OTHER_ENDIAN)/m4a-single \
 	m4a=!m4a $(OTHER_ENDIAN)/m4a=!$(OTHER_ENDIAN)/m4a \
-	m4al=!m4al $(OTHER_ENDIAN)/m4al=!$(OTHER_ENDIAN)/m4al \
-	m5-32media=!m5-32media $(OTHER_ENDIAN)/m5-32media=!$(OTHER_ENDIAN)/m5-32media \
-	m5-32media-nofpu=!m5-32media-nofpu $(OTHER_ENDIAN)/m5-32media-nofpu=!$(OTHER_ENDIAN)/m5-32media-nofpu \
-	m5-compact=!m5-compact $(OTHER_ENDIAN)/m5-compact=!$(OTHER_ENDIAN)/m5-compact \
-	m5-compact-nofpu=!m5-compact-nofpu $(OTHER_ENDIAN)/m5-compact-nofpu=!$(OTHER_ENDIAN)/m5-compact-nofpu \
-	m5-64media=!m5-64media $(OTHER_ENDIAN)/m5-64media=!$(OTHER_ENDIAN)/m5-64media \
-	m5-64media-nofpu=!m5-64media-nofpu $(OTHER_ENDIAN)/m5-64media-nofpu=!$(OTHER_ENDIAN)/m5-64media-nofpu
+	m4al=!m4al $(OTHER_ENDIAN)/m4al=!$(OTHER_ENDIAN)/m4al
 
 $(out_object_file): gt-sh.h
 gt-sh.h : s-gtype ; @true
diff --git a/gcc/configure b/gcc/configure
index 1c6e340..2e426ac 100755
--- a/gcc/configure
+++ b/gcc/configure
@@ -5060,8 +5060,7 @@  case "${target}" in
 	PICFLAG_FOR_TARGET=-fpic
 	;;
     # FIXME: Simplify to sh*-*-netbsd*?
-    sh-*-netbsdelf* | shl*-*-netbsdelf* | sh5-*-netbsd* | sh5l*-*-netbsd* | \
-      sh64-*-netbsd* | sh64l*-*-netbsd*)
+    sh-*-netbsdelf* | shl*-*-netbsdelf*)
 	PICFLAG_FOR_TARGET=-fpic
 	;;
     # Default to -fPIC unless specified otherwise.
diff --git a/libada/configure b/libada/configure
index 2296096..981bcdb 100755
--- a/libada/configure
+++ b/libada/configure
@@ -2878,8 +2878,7 @@  case "${host}" in
 	PICFLAG=-fpic
 	;;
     # FIXME: Simplify to sh*-*-netbsd*?
-    sh-*-netbsdelf* | shl*-*-netbsdelf* | sh5-*-netbsd* | sh5l*-*-netbsd* | \
-      sh64-*-netbsd* | sh64l*-*-netbsd*)
+    sh-*-netbsdelf* | shl*-*-netbsdelf*)
 	PICFLAG=-fpic
 	;;
     # Default to -fPIC unless specified otherwise.
diff --git a/libgcc/config.host b/libgcc/config.host
index b61a579..41a1897 100644
--- a/libgcc/config.host
+++ b/libgcc/config.host
@@ -1136,10 +1136,6 @@  sh-*-elf* | sh[12346l]*-*-elf*)
 		libic_invalidate_array_4-200.a \
 		libic_invalidate_array_4a.a \
 		libgcc-Os-4-200.a libgcc-4-300.a"
-	case ${host} in sh64*-*-*)
-		tmake_file="$tmake_file sh/t-sh64"
-		;;
-	esac
 	case ${host} in
 	sh*-superh-elf)
 		tmake_file="$tmake_file sh/t-superh"
@@ -1149,20 +1145,11 @@  sh-*-elf* | sh[12346l]*-*-elf*)
 	;;
 sh-*-linux* | sh[2346lbe]*-*-linux*)
 	tmake_file="${tmake_file} sh/t-sh t-slibgcc-libgcc sh/t-linux t-fdpbit"
-	case ${host} in sh64*-*-linux*)
-		tmake_file="$tmake_file sh/t-sh64"
-		;;
-	esac
 	md_unwind_header=sh/linux-unwind.h
 	;;
-sh-*-netbsdelf* | shl*-*-netbsdelf* | sh5-*-netbsd* | sh5l*-*-netbsd* | \
-  sh64-*-netbsd* | sh64l*-*-netbsd*)
+sh-*-netbsdelf* | shl*-*-netbsdelf*)
 	tmake_file="$tmake_file sh/t-sh sh/t-netbsd"
-	case ${host} in
-	sh5*-*-netbsd* | sh64*-netbsd*)
-		tmake_file="$tmake_file sh/t-sh64"
-		;;
-	esac
+
 	# NetBSD's C library includes a fast software FP library that
 	# has support for setting/setting the rounding mode, exception
 	# mask, etc.  Therefore, we don't want to include software FP
diff --git a/libgcc/configure b/libgcc/configure
index e7d6c75..bf96aec 100644
--- a/libgcc/configure
+++ b/libgcc/configure
@@ -2355,8 +2355,7 @@  case "${host}" in
 	PICFLAG=-fpic
 	;;
     # FIXME: Simplify to sh*-*-netbsd*?
-    sh-*-netbsdelf* | shl*-*-netbsdelf* | sh5-*-netbsd* | sh5l*-*-netbsd* | \
-      sh64-*-netbsd* | sh64l*-*-netbsd*)
+    sh-*-netbsdelf* | shl*-*-netbsdelf*)
 	PICFLAG=-fpic
 	;;
     # Default to -fPIC unless specified otherwise.
diff --git a/libiberty/configure b/libiberty/configure
index bde78ff..0f8e9b9 100755
--- a/libiberty/configure
+++ b/libiberty/configure
@@ -5145,8 +5145,7 @@  case "${host}" in
 	PICFLAG=-fpic
 	;;
     # FIXME: Simplify to sh*-*-netbsd*?
-    sh-*-netbsdelf* | shl*-*-netbsdelf* | sh5-*-netbsd* | sh5l*-*-netbsd* | \
-      sh64-*-netbsd* | sh64l*-*-netbsd*)
+    sh-*-netbsdelf* | shl*-*-netbsdelf*)
 	PICFLAG=-fpic
 	;;
     # Default to -fPIC unless specified otherwise.
diff --git a/libjava/classpath/config.guess b/libjava/classpath/config.guess
index b02565c..f70fd60 100755
--- a/libjava/classpath/config.guess
+++ b/libjava/classpath/config.guess
@@ -162,7 +162,6 @@  case "${UNAME_MACHINE}:${UNAME_SYSTEM}:${UNAME_RELEASE}:${UNAME_VERSION}" in
 	    arm*) machine=arm-unknown ;;
 	    sh3el) machine=shl-unknown ;;
 	    sh3eb) machine=sh-unknown ;;
-	    sh5el) machine=sh5le-unknown ;;
 	    *) machine=${UNAME_MACHINE_ARCH}-unknown ;;
 	esac
 	# The Operating System including object format, if it has switched
@@ -968,9 +967,6 @@  EOF
     s390:Linux:*:* | s390x:Linux:*:*)
 	echo ${UNAME_MACHINE}-ibm-linux
 	exit ;;
-    sh64*:Linux:*:*)
-	echo ${UNAME_MACHINE}-unknown-linux-gnu
-	exit ;;
     sh*:Linux:*:*)
 	echo ${UNAME_MACHINE}-unknown-linux-gnu
 	exit ;;
diff --git a/libjava/classpath/config.sub b/libjava/classpath/config.sub
index 59bb593..d728224 100755
--- a/libjava/classpath/config.sub
+++ b/libjava/classpath/config.sub
@@ -307,7 +307,6 @@  case $basic_machine in
 	| rl78 | rx \
 	| score \
 	| sh | sh[1234] | sh[24]a | sh[24]aeb | sh[23]e | sh[34]eb | sheb | shbe | shle | sh[1234]le | sh3ele \
-	| sh64 | sh64le \
 	| sparc | sparc64 | sparc64b | sparc64v | sparc86x | sparclet | sparclite \
 	| sparcv8 | sparcv9 | sparcv9b | sparcv9v \
 	| spu \
@@ -421,7 +420,7 @@  case $basic_machine in
 	| pyramid-* \
 	| rl78-* | romp-* | rs6000-* | rx-* \
 	| sh-* | sh[1234]-* | sh[24]a-* | sh[24]aeb-* | sh[23]e-* | sh[34]eb-* | sheb-* | shbe-* \
-	| shle-* | sh[1234]le-* | sh3ele-* | sh64-* | sh64le-* \
+	| shle-* | sh[1234]le-* | sh3ele-* \
 	| sparc-* | sparc64-* | sparc64b-* | sparc64v-* | sparc86x-* | sparclet-* \
 	| sparclite-* \
 	| sparcv8-* | sparcv9-* | sparcv9b-* | sparcv9v-* | sv1-* | sx?-* \
@@ -1064,12 +1063,6 @@  case $basic_machine in
 		basic_machine=sh-hitachi
 		os=-hms
 		;;
-	sh5el)
-		basic_machine=sh5le-unknown
-		;;
-	sh64)
-		basic_machine=sh64-unknown
-		;;
 	sparclite-wrs | simso-wrs)
 		basic_machine=sparclite-wrs
 		os=-vxworks