OSDN Git Service

* g++.old-deja/g++.pt/static11.C: Add xtensa-*-elf* to the
[pf3gnuchains/gcc-fork.git] / gcc / config.gcc
index 80aed45..24e0c9b 100644 (file)
@@ -207,6 +207,26 @@ gas="$gas_flag"
 gnu_ld="$gnu_ld_flag"
 enable_threads=$enable_threads_flag
 
+# Obsolete configurations.
+case $machine in
+   m88k-*-aout*     \
+ | m88k-*-openbsd*  \
+ | m88k-*-sysv4*    \
+ | mips-sni-sysv4   \
+ | mn10200-*-*      \
+ | ns32k-*-netbsd*  \
+ | ns32k-*-openbsd* \
+ | romp-*-openbsd*  \
+ )
+    if test "x$enable_obsolete" != xyes; then
+      echo "*** Configuration $machine is obsolete." >&2
+      echo "*** Specify --enable-obsolete to build it anyway." >&2
+      echo "*** Support will be REMOVED in the next major release of GCC," >&2
+      echo "*** unless a maintainer comes forward." >&2
+      exit 1
+    fi;;
+esac
+
 # Set default cpu_type, tm_file, tm_p_file and xm_file so it can be
 # updated in each machine entry.  Also set default extra_headers for some
 # machines.
@@ -225,10 +245,6 @@ arm*-*-*)
 xscale-*-*)
        cpu_type=arm
        ;;
-c*-convex-*)
-       cpu_type=convex
-       extra_headers=proto.h
-       ;;
 i[34567]86-*-*)
        cpu_type=i386
        extra_headers="mmintrin.h xmmintrin.h"
@@ -253,9 +269,6 @@ m68k-*-*)
 mips*-*-*)
        cpu_type=mips
        ;;
-pj*-*-*)
-       cpu_type=pj
-       ;;
 powerpc*-*-*)
        cpu_type=rs6000
        extra_headers="ppc-asm.h altivec.h"
@@ -263,7 +276,8 @@ powerpc*-*-*)
 sparc*-*-*)
        cpu_type=sparc
        ;;
-sh64-*-*)
+# Note the 'l'; we need to be able to match e.g. "shle" or "shl".
+sh[123456789l]*-*-*)
        cpu_type=sh
        ;;
 esac
@@ -308,8 +322,11 @@ case $machine in
        # But here we need a little extra magic.
        tmake_file="t-slibgcc-elf-ver t-linux t-gnu"
        case $machine in
+       alpha*)
+               tm_file="${cpu_type}/${cpu_type}.h alpha/elf.h alpha/linux.h alpha/linux-elf.h gnu.h ${tm_file}"
+               ;;
        i[34567]86-*-*)
-               tm_file="${cpu_type}/${cpu_type}.h i386/att.h dbxelf.h elfos.h svr4.h linux.h i386/linux.h gnu.h ${tm_file}"
+               tm_file="${cpu_type}/${cpu_type}.h i386/unix.h i386/att.h dbxelf.h elfos.h svr4.h linux.h i386/linux.h gnu.h ${tm_file}"
                ;;
        esac
        ;;
@@ -399,39 +416,6 @@ case $machine in
        then tmake_file=${cpu_type}/t-$rest
        fi
        ;;
-1750a-*-*)
-       # 1750a is only supported as a target.
-       case "$build,$host" in 1750a*,* | *,1750a* )
-               echo "*** $machine is only supported as a target" >&2
-               exit 1
-       esac
-       ;;
-a29k-*-bsd* | a29k-*-sym1*)
-       tm_file="${tm_file} a29k/unix.h"
-       xm_defines=POSIX
-       use_collect2=yes
-       ;;
-a29k-*-udi | a29k-*-coff)
-       tm_file="${tm_file} dbxcoff.h"
-       tmake_file=a29k/t-a29kbare
-       ;;
-a29k*-*-rtems*)
-       xm_defines=POSIX
-       tm_file="a29k/a29k.h a29k/rtems.h rtems.h"
-       tmake_file="a29k/t-a29kbare t-rtems"
-       if test x$enable_threads = xyes; then
-         thread_file='rtems'
-       fi
-       ;;
-a29k-wrs-vxworks*)
-       tm_file="${tm_file} dbxcoff.h a29k/vx29k.h"
-       tmake_file=a29k/t-vx29k
-       extra_parts="crtbegin.o crtend.o"
-       thread_file='vxworks'
-       ;;
-a29k-*-*)                      # Default a29k environment.
-       use_collect2=yes
-       ;;
 alpha*-*-unicosmk*)
        use_collect2=yes
        tm_file="${tm_file} alpha/unicosmk.h"
@@ -462,11 +446,8 @@ alpha-*-interix)
        #local_prefix='$$INTERIX_ROOT'/usr/contrib
        ;;
 alpha*-*-linux*ecoff*)
-       tm_file="${tm_file} alpha/linux-ecoff.h alpha/linux.h"
-       target_cpu_default="MASK_GAS"
-       tmake_file="alpha/t-alpha alpha/t-ieee"
-       gas=no
-       gas=yes gnu_ld=yes
+       echo "Configuration $machine no longer supported" 1>&2
+       exit 1
        ;;
 alpha*-*-linux*libc1*)
        tm_file="${tm_file} alpha/elf.h alpha/linux.h alpha/linux-elf.h"
@@ -488,6 +469,10 @@ alpha*-*-linux*)
                thread_file='posix'
        fi
        ;;
+alpha*-*-gnu*)
+       target_cpu_default="MASK_GAS"
+       tmake_file="${tmake_file} alpha/t-crtfm alpha/t-alpha alpha/t-ieee"
+       ;;
 alpha*-*-freebsd*)
        tm_file="${tm_file} ${fbsd_tm_file} alpha/elf.h alpha/freebsd.h"
        target_cpu_default="MASK_GAS"
@@ -498,16 +483,16 @@ alpha*-*-netbsd*)
        tm_file="${tm_file} netbsd.h alpha/elf.h netbsd-elf.h alpha/netbsd.h"
        target_cpu_default="MASK_GAS"
        tmake_file="${tmake_file} alpha/t-alpha alpha/t-ieee"
-       extra_parts="crtbegin.o crtend.o crtbeginS.o crtendS.o crtbeginT.o"
        ;;
 
 alpha*-*-openbsd*)
+       tm_file="${cpu_type}/${cpu_type}.h ${tm_file}"
        # default x-alpha is only appropriate for dec-osf.
        target_cpu_default="MASK_GAS"
        tmake_file="alpha/t-alpha alpha/t-ieee"
        ;;
 
-alpha*-dec-osf*)
+alpha*-dec-osf[45]*)
        xm_defines=POSIX
        if test x$stabs = xyes
        then
@@ -518,31 +503,24 @@ alpha*-dec-osf*)
                extra_passes="mips-tfile mips-tdump"
        fi
        use_collect2=yes
-       tmake_file="alpha/t-alpha alpha/t-ieee alpha/t-crtfm"
+       tmake_file="alpha/t-alpha alpha/t-ieee alpha/t-crtfm alpha/t-osf4"
+       tm_file="${tm_file} alpha/osf.h"
        extra_headers=va_list.h
        case $machine in
-         *-*-osf1*)
-           tm_file="${tm_file} alpha/osf.h alpha/osf12.h alpha/osf2or3.h"
-           ;;
-         *-*-osf[23]*)
-           tm_file="${tm_file} alpha/osf.h alpha/osf2or3.h"
-           ;;
          *-*-osf4*)
-           tm_file="${tm_file} alpha/osf.h"
-           tmake_file="$tmake_file alpha/t-osf4"
            # Some versions of OSF4 (specifically X4.0-9 296.7) have
            # a broken tar, so we use cpio instead.
            install_headers_dir=install-headers-cpio
+           # Set target_cpu_default except on 4.0a.
+           case $machine in
+               *-*-osf4.0a) ;;
+               *) target_cpu_default=MASK_SUPPORT_ARCH
+           esac
            ;;
          *-*-osf5*)
-           tm_file="${tm_file} alpha/osf.h alpha/osf5.h"
-           tmake_file="$tmake_file alpha/t-osf4"
-           float_format=i128
-           ;;
-       esac
-       case $machine in
-         *-*-osf4.0[b-z] | *-*-osf4.[1-9]* | *-*-osf5*)
+           tm_file="${tm_file} alpha/osf5.h"
            target_cpu_default=MASK_SUPPORT_ARCH
+           float_format=i128
            ;;
        esac
        ;;
@@ -559,7 +537,7 @@ alpha*-*-vxworks*)
        ;;
 alpha64-dec-*vms*)
        xm_defines=POSIX
-       tm_file="alpha/vms.h alpha/vms64.h"
+       tm_file="${tm_file} alpha/vms.h alpha/vms64.h"
        xm_file="alpha/xm-vms.h alpha/xm-vms64.h"
        tmake_file="alpha/t-alpha alpha/t-vms alpha/t-vms64 alpha/t-ieee"
        xmake_file=alpha/x-vms
@@ -577,7 +555,7 @@ alpha64-dec-*vms*)
        ;;
 alpha*-dec-*vms*)
        xm_defines=POSIX
-       tm_file=alpha/vms.h
+       tm_file="${tm_file} alpha/vms.h"
        xm_file=alpha/xm-vms.h
        tmake_file="alpha/t-alpha alpha/t-vms alpha/t-ieee"
        xmake_file=alpha/x-vms
@@ -606,20 +584,6 @@ arm-*-vxworks*)
        tmake_file=arm/t-arm-coff
        thread_file='vxworks'
        ;;
-arm-*-riscix1.[01]*)           # Acorn RISC machine (early versions)
-       tm_file="arm/riscix1-1.h arm/arm.h"
-       use_collect2=yes
-       ;;
-arm-*-riscix*)                 # Acorn RISC machine
-       if test x$gas = xyes
-       then
-           tm_file="arm/riscix.h arm/rix-gas.h arm/arm.h"
-       else
-           tm_file="arm/riscix.h arm/arm.h"
-       fi
-       tmake_file=arm/t-riscix
-       use_collect2=yes
-       ;;
 arm-semi-aout | armel-semi-aout)
        tm_file="arm/semi.h arm/aout.h arm/arm.h"
        tmake_file=arm/t-semi
@@ -690,26 +654,6 @@ arm-*-pe*)
        ;;
 avr-*-*)
        ;;
-c1-convex-*)                   # Convex C1
-       target_cpu_default=1
-       use_collect2=yes
-       ;;
-c2-convex-*)                   # Convex C2
-       target_cpu_default=2
-       use_collect2=yes
-       ;;
-c32-convex-*)
-       target_cpu_default=4
-       use_collect2=yes
-       ;;
-c34-convex-*)
-       target_cpu_default=8
-       use_collect2=yes
-       ;;
-c38-convex-*)
-       target_cpu_default=16
-       use_collect2=yes
-       ;;
 c4x-*-rtems*)
        xm_defines=POSIX
        tmake_file="c4x/t-c4x t-rtems"
@@ -726,12 +670,6 @@ c4x-*)
        c_target_objs="c4x-c.o"
        cxx_target_objs="c4x-c.o"
        ;;
-clipper-intergraph-clix*)
-       tm_file="${tm_file} svr3.h clipper/clix.h"
-       xm_defines=POSIX
-       extra_parts="crtbegin.o crtend.o"
-       install_headers_dir=install-headers-cpio
-       ;;
 cris-*-aout)
        tm_file="dbxelf.h ${tm_file} cris/aout.h"
        gas=yes
@@ -759,9 +697,6 @@ d30v-*)
        ;;
 dsp16xx-*)
        ;;
-elxsi-elxsi-*)
-       use_collect2=yes
-       ;;
 fr30-*-elf)
        tm_file="dbxelf.h elfos.h svr4.h ${tm_file}"
        tmake_file=fr30/t-fr30
@@ -810,11 +745,13 @@ hppa1.1-*-pro*)
        target_cpu_default="(MASK_JUMP_IN_DELAY | MASK_PORTABLE_RUNTIME | MASK_GAS | MASK_NO_SPACE_REGS | MASK_SOFT_FLOAT)"
        tm_file="${tm_file} pa/pa32-regs.h dbxelf.h elfos.h pa/elf.h pa/pa-pro-end.h libgloss.h"
        tmake_file="pa/t-bsd pa/t-pro"
+       xmake_file="pa/x-ada"
        ;;
 hppa1.1-*-osf*)
        target_cpu_default="MASK_PA_11"
        tm_file="${tm_file} pa/pa32-regs.h pa/som.h pa/pa-osf.h"
        tmake_file="pa/t-bsd pa/t-pa"
+       xmake_file="pa/x-ada"
        use_collect2=yes
        ;;
 hppa1.1-*-rtems*)
@@ -822,21 +759,25 @@ hppa1.1-*-rtems*)
        target_cpu_default="(MASK_JUMP_IN_DELAY | MASK_PORTABLE_RUNTIME | MASK_GAS | MASK_NO_SPACE_REGS | MASK_SOFT_FLOAT)"
        tm_file="${tm_file} pa/pa32-regs.h dbxelf.h elfos.h pa/elf.h pa/pa-pro-end.h libgloss.h pa/rtems.h rtems.h"
        tmake_file="pa/t-bsd pa/t-pro"
+       xmake_file="pa/x-ada"
        ;;
 hppa1.0-*-osf*)
        tm_file="${tm_file} pa/pa32-regs.h pa/som.h pa/pa-osf.h"
        tmake_file="pa/t-bsd pa/t-pa"
+       xmake_file="pa/x-ada"
        use_collect2=yes
        ;;
 hppa1.1-*-bsd*)
        tm_file="${tm_file} pa/pa32-regs.h pa/som.h"
        target_cpu_default="MASK_PA_11"
        tmake_file="pa/t-bsd pa/t-pa"
+       xmake_file="pa/x-ada"
        use_collect2=yes
        ;;
 hppa1.0-*-bsd*)
        tm_file="${tm_file} pa/pa32-regs.h pa/som.h"
        tmake_file="pa/t-bsd pa/t-pa"
+       xmake_file="pa/x-ada"
        use_collect2=yes
        ;;
 hppa1.0-*-hpux7*)
@@ -890,6 +831,7 @@ hppa1.1-*-hpux10* | hppa2*-*-hpux10*)
        float_format=i128
        xm_defines=POSIX
        tmake_file="pa/t-pa pa/t-pa-hpux pa/t-hpux-shlib"
+       xmake_file="pa/x-ada"
        if test x$enable_threads = x; then
            enable_threads=$have_pthread_h
        fi
@@ -906,6 +848,7 @@ hppa1.0-*-hpux10*)
        float_format=i128
        xm_defines=POSIX
        tmake_file="pa/t-pa pa/t-pa-hpux pa/t-hpux-shlib"
+       xmake_file="pa/x-ada"
        if test x$enable_threads = x; then
            enable_threads=$have_pthread_h
        fi
@@ -922,6 +865,7 @@ hppa*64*-*-hpux11*)
        tm_file="pa/pa64-start.h ${tm_file} pa/pa64-regs.h pa/long_double.h pa/elf.h pa/pa-hpux.h pa/pa-hpux11.h pa/pa-64.h pa/pa64-hpux.h"
        float_format=i128
        tmake_file="pa/t-pa64 pa/t-pa-hpux"
+       xmake_file="pa/x-ada"
        target_cpu_default="(MASK_PA_11|MASK_PA_20|MASK_GAS)"
 
 #      if [ x$enable_threads = x ]; then
@@ -940,6 +884,7 @@ hppa1.1-*-hpux11* | hppa2*-*-hpux11*)
        float_format=i128
        xm_defines=POSIX
        tmake_file="pa/t-pa pa/t-pa-hpux pa/t-hpux-shlib"
+       xmake_file="pa/x-ada"
 #      if test x$enable_threads = x; then
 #          enable_threads=$have_pthread_h
 #      fi
@@ -955,6 +900,7 @@ hppa1.0-*-hpux11*)
        float_format=i128
        xm_defines=POSIX
        tmake_file="pa/t-pa pa/t-pa-hpux pa/t-hpux-shlib"
+       xmake_file="pa/x-ada"
 #      if test x$enable_threads = x; then
 #          enable_threads=$have_pthread_h
 #      fi
@@ -999,6 +945,7 @@ hppa*-*-lites*)
        tm_file="${tm_file} pa/pa32-regs.h dbxelf.h elfos.h pa/elf.h"
        target_cpu_default="MASK_PA_11"
        tmake_file="pa/t-bsd pa/t-pa"
+       xmake_file="pa/x-ada"
        use_collect2=yes
        ;;
 hppa*-*-mpeix*)
@@ -1036,185 +983,102 @@ i370-*-linux*)
                thread_file='posix'
        fi
        ;;
-i[34567]86-*-chorusos*)
-       xm_defines=POSIX
-       tm_file="${tm_file} i386/att.h dbxelf.h elfos.h i386/i386elf.h chorus.h"
-       tmake_file="i386/t-i386elf t-svr4"
-       case x${enable_threads} in
-         xyes | xpthreads | xposix)
-               thread_file='posix'
-               ;;
-       esac
-       ;;
 i[34567]86-*-elf*)
        xm_defines=POSIX
-       tm_file="${tm_file} i386/att.h dbxelf.h elfos.h i386/i386elf.h"
+       tm_file="${tm_file} i386/unix.h i386/att.h dbxelf.h elfos.h i386/i386elf.h"
        tmake_file="i386/t-i386elf t-svr4"
        ;;
-i[34567]86-ibm-aix*)           # IBM PS/2 running AIX
-        if test x$gas = xyes
-       then
-               tm_file=i386/aix386.h
-               extra_parts="crtbegin.o crtend.o"
-               tmake_file=i386/t-crtstuff
-       else
-               tm_file=i386/aix386ng.h
-               use_collect2=yes
-       fi
-       xm_defines=POSIX
-       ;;
 i[34567]86-ncr-sysv4*)         # NCR 3000 - ix86 running system V.4
        xm_defines="POSIX SMALL_ARG_MAX"
        if test x$stabs = xyes -a x$gas = xyes
        then
                tm_file=i386/sysv4gdb.h
        else
-               tm_file="${tm_file} i386/att.h dbxelf.h elfos.h svr4.h i386/sysv4.h"
+               tm_file="${tm_file} i386/unix.h i386/att.h dbxelf.h elfos.h svr4.h i386/sysv4.h"
        fi
        extra_parts="crtbegin.o crtend.o"
        tmake_file=i386/t-crtpic
        ;;
-i[34567]86-next-*)
-       tm_p_file="${tm_p_file} nextstep-protos.h"
-       tm_file=i386/next.h
-       tmake_file=i386/t-next
-       extra_objs=nextstep.o
-       extra_parts="crtbegin.o crtend.o"
-       if test x$enable_threads = xyes; then
-               thread_file='mach'
-       fi
-       ;;
 i[34567]86-*-netware)          # Intel 80386's running netware
-       tm_file="${tm_file} i386/att.h dbxelf.h elfos.h svr4.h i386/sysv4.h netware.h i386/netware.h"
+       tm_file="${tm_file} i386/unix.h i386/att.h dbxelf.h elfos.h svr4.h i386/sysv4.h netware.h i386/netware.h"
        tmake_file=i386/t-netware
        ;;
-i[34567]86-sequent-bsd*)               # 80386 from Sequent
-       use_collect2=yes
-       if test x$gas = xyes
-       then
-               tm_file=i386/seq-gas.h
-       else
-               tm_file=i386/sequent.h
-       fi
-       ;;
-i[34567]86-sequent-ptx1*)
-       xm_defines=POSIX
-       tm_file=i386/seq-sysv3.h
-       tmake_file=i386/t-crtstuff
-       extra_parts="crtbegin.o crtend.o"
-       install_headers_dir=install-headers-cpio
-       ;;
-i[34567]86-sequent-ptx2* | i[34567]86-sequent-sysv3*)
-       xm_defines=POSIX
-       tm_file=i386/seq2-sysv3.h
-       tmake_file=i386/t-crtstuff
-       extra_parts="crtbegin.o crtend.o"
-       install_headers_dir=install-headers-cpio
-       ;;
 i[34567]86-sequent-ptx4* | i[34567]86-sequent-sysv4*)
        if test x$gas = xyes
        then
                tm_file="${tm_file} usegas.h"
        fi
        xm_defines="POSIX SMALL_ARG_MAX"
-       tm_file="${tm_file} i386/att.h dbxelf.h elfos.h ptx4.h i386/ptx4-i.h"
+       tm_file="${tm_file} i386/unix.h i386/att.h dbxelf.h elfos.h ptx4.h i386/ptx4-i.h"
        tmake_file=t-svr4
        extra_parts="crtbegin.o crtend.o"
        install_headers_dir=install-headers-cpio
        ;;
-i386-sun-sunos*)               # Sun i386 roadrunner
-       xm_defines=POSIX
-       tm_file=i386/sun.h
-       use_collect2=yes
+i[34567]86-sequent-sysv*)      # would otherwise be caught by i?86-*-sysv*
+       echo "*** Configuration $machine not supported" 1>&2
+       exit 1
        ;;
 i[34567]86-wrs-vxworks*)
-       tm_file=i386/vxi386.h
+       tm_file="${tm_file} i386/unix.h i386/bsd.h i386/gas.h i386/gstabs.h i386/i386-aout.h i386/vxi386.h"
        thread_file='vxworks'
        ;;
 i[34567]86-*-aout*)
-       tm_file=i386/i386-aout.h
+       tm_file="${tm_file} i386/unix.h i386/bsd.h i386/gas.h i386/gstabs.h i386/i386-aout.h"
        ;;
 i[34567]86-*-beoself* | i[34567]86-*-beos*)
        xm_defines=POSIX
        tmake_file='i386/t-beos i386/t-crtpic'
-       tm_file="${tm_file} i386/att.h dbxelf.h elfos.h svr4.h i386/beos-elf.h"
+       tm_file="${tm_file} i386/unix.h i386/att.h dbxelf.h elfos.h svr4.h i386/beos-elf.h"
        extra_parts='crtbegin.o crtend.o'
        ;;
-i[34567]86-*-bsdi* | i[34567]86-*-bsd386*)
-       tm_file="i386/386bsd.h i386/bsd386.h"
-#      tmake_file=t-libc-ok
-       ;;
-i[34567]86-*-bsd*)
-       tm_file=i386/386bsd.h
-#      tmake_file=t-libc-ok
-# Next line turned off because both 386BSD and BSD/386 use GNU ld.
-#      use_collect2=yes
-       ;;
-i[34567]86-*-freebsd[12] | i[34567]86-*-freebsd[12].* | i[34567]86-*-freebsd*aout*)
-       tm_file=i386/freebsd-aout.h
+i[34567]86-*-freebsd2 | i[34567]86-*-freebsd2.* | i[34567]86-*-freebsd*aout*)
+       tm_file="${tm_file} i386/unix.h i386/bsd.h i386/gas.h i386/gstabs.h i386/freebsd-aout.h"
        tmake_file=t-freebsd
        ;;
 i[34567]86-*-freebsd*)
-       tm_file="${tm_file} i386/att.h dbxelf.h elfos.h ${fbsd_tm_file} i386/freebsd.h"
+       tm_file="${tm_file} i386/unix.h i386/att.h dbxelf.h elfos.h ${fbsd_tm_file} i386/freebsd.h"
        ;;
 x86_64-*-freebsd*)
-       tm_file="${tm_file} i386/att.h dbxelf.h elfos.h ${fbsd_tm_file} i386/x86-64.h i386/freebsd.h i386/freebsd64.h"
+       tm_file="${tm_file} i386/unix.h i386/att.h dbxelf.h elfos.h ${fbsd_tm_file} i386/x86-64.h i386/freebsd.h i386/freebsd64.h"
        ;;
 i[34567]86-*-netbsdelf*)
-       tm_file="${tm_file} i386/att.h dbxelf.h elfos.h netbsd.h netbsd-elf.h i386/netbsd-elf.h"
+       tm_file="${tm_file} i386/unix.h i386/att.h dbxelf.h elfos.h netbsd.h netbsd-elf.h i386/netbsd-elf.h"
        float_format=i386
        ;;
 i[34567]86-*-netbsd*)
-       tm_file=i386/netbsd.h
+       tm_file="${tm_file} i386/unix.h i386/bsd.h i386/gas.h i386/gstabs.h netbsd.h netbsd-aout.h i386/netbsd.h"
        tmake_file=t-netbsd
        use_collect2=yes
        ;;
 x86_64-*-netbsd*)
-       tm_file="${tm_file} i386/att.h dbxelf.h elfos.h netbsd.h netbsd-elf.h i386/x86-64.h i386/netbsd64.h"
+       tm_file="${tm_file} i386/unix.h i386/att.h dbxelf.h elfos.h netbsd.h netbsd-elf.h i386/x86-64.h i386/netbsd64.h"
        float_format=i386
        ;;
 i[34567]86-*-openbsd*)
+       tm_file="${cpu_type}/${cpu_type}.h i386/unix.h i386/bsd.h i386/gas.h i386/gstabs.h openbsd-oldgas.h openbsd.h ${tm_file}"
        # needed to unconfuse gdb
        tmake_file="t-libc-ok t-openbsd i386/t-openbsd"
        # we need collect2 until our bug is fixed...
        use_collect2=yes
        ;;
 i[34567]86-*-coff*)
-       tm_file=i386/i386-coff.h
-       ;;
-i[34567]86-*-isc*)             # 80386 running ISC system
-       xm_defines=POSIX
-        if test x$gas = xyes -a x$stabs = xyes
-       then
-               tm_file=i386/iscdbx.h
-               tmake_file=i386/t-svr3dbx
-               extra_parts="svr3.ifile svr3z.ifile"
-       else
-               tm_file=i386/isccoff.h
-               tmake_file=i386/t-crtstuff
-               extra_parts="crtbegin.o crtend.o"
-       fi
-       install_headers_dir=install-headers-cpio
+       tm_file="${tm_file} i386/unix.h i386/bsd.h i386/gas.h dbxcoff.h i386/i386-coff.h"
        ;;
-i[34567]86-*-linux*oldld*)     # Intel 80386's running GNU/Linux
-                               # with a.out format using
-                               # pre BFD linkers
-       tmake_file="t-linux-aout i386/t-crtstuff"
-       tm_file=i386/linux-oldld.h
-       gnu_ld=yes
-       float_format=i386
+i[34567]86-*-linux*oldld*)     # would otherwise be caught by i?86-*-linux*
+       echo "*** Configuration $machine not supported" 1>&2
+       exit 1
        ;;
 i[34567]86-*-linux*aout*)      # Intel 80386's running GNU/Linux
                                # with a.out format
        tmake_file="t-linux-aout i386/t-crtstuff"
-       tm_file=i386/linux-aout.h
+       tm_file="${tm_file} i386/unix.h i386/bsd.h i386/gas.h i386/gstabs.h linux-aout.h i386/linux-aout.h"
        gnu_ld=yes
        float_format=i386
        ;;
 i[34567]86-*-linux*libc1)      # Intel 80386's running GNU/Linux
                                # with ELF format using the
                                # GNU/Linux C library 5
-       tm_file="${tm_file} i386/att.h dbxelf.h elfos.h svr4.h linux.h i386/linux.h"
+       tm_file="${tm_file} i386/unix.h i386/att.h dbxelf.h elfos.h svr4.h linux.h i386/linux.h"
        tmake_file="t-slibgcc-elf-ver t-linux t-linux-gnulibc1 i386/t-crtstuff"
        extra_parts="crtbegin.o crtbeginS.o crtend.o crtendS.o"
        gnu_ld=yes
@@ -1226,7 +1090,7 @@ i[34567]86-*-linux*libc1) # Intel 80386's running GNU/Linux
 i[34567]86-*-linux*)   # Intel 80386's running GNU/Linux
                        # with ELF format using glibc 2
                        # aka GNU/Linux C library 6
-       tm_file="${tm_file} i386/att.h dbxelf.h elfos.h svr4.h linux.h i386/linux.h"
+       tm_file="${tm_file} i386/unix.h i386/att.h dbxelf.h elfos.h svr4.h linux.h i386/linux.h"
        tmake_file="t-slibgcc-elf-ver t-linux i386/t-crtstuff"
        extra_parts="crtbegin.o crtbeginS.o crtbeginT.o crtend.o crtendS.o"
        gnu_ld=yes
@@ -1236,7 +1100,7 @@ i[34567]86-*-linux*)      # Intel 80386's running GNU/Linux
        fi
        ;;
 x86_64-*-linux*)
-       tm_file="${tm_file} i386/att.h dbxelf.h elfos.h svr4.h linux.h \
+       tm_file="${tm_file} i386/unix.h i386/att.h dbxelf.h elfos.h svr4.h linux.h \
                 i386/x86-64.h i386/linux64.h"
        tmake_file="t-slibgcc-elf-ver t-linux i386/t-crtstuff i386/t-linux64"
        extra_parts="crtbegin.o crtbeginS.o crtbeginT.o crtend.o crtendS.o"
@@ -1255,7 +1119,7 @@ i[34567]86-go32-msdos | i[34567]86-*-go32*)
        ;;
 i[34567]86-pc-msdosdjgpp*)
        xm_file=i386/xm-djgpp.h
-       tm_file=i386/djgpp.h
+       tm_file="dbxcoff.h ${tm_file} i386/djgpp.h"
        tmake_file=i386/t-djgpp
        gnu_ld=yes
        gas=yes
@@ -1267,7 +1131,7 @@ i[34567]86-pc-msdosdjgpp*)
        esac
        ;;
 i[34567]86-moss-msdos* | i[34567]86-*-moss*)
-       tm_file="${tm_file} i386/att.h dbxelf.h elfos.h svr4.h linux.h i386/linux.h i386/moss.h"
+       tm_file="${tm_file} i386/unix.h i386/att.h dbxelf.h elfos.h svr4.h linux.h i386/linux.h i386/moss.h"
        tmake_file=t-libc-ok
        gnu_ld=yes
        gas=yes
@@ -1275,47 +1139,24 @@ i[34567]86-moss-msdos* | i[34567]86-*-moss*)
 i[34567]86-*-lynxos*)
        if test x$gas = xyes
        then
-               tm_file=i386/lynx.h
+               tm_file="${tm_file} i386/unix.h i386/bsd.h i386/gas.h i386/gstabs.h lynx.h i386/lynx.h"
        else
-               tm_file=i386/lynx-ng.h
+               tm_file="${tm_file} i386/unix.h i386/bsd.h i386/gas.h i386/gstabs.h lynx-ng.h i386/lynx-ng.h"
        fi
        ;;
 i[34567]86-*-mach*)
-       tm_file=i386/mach.h
+       tm_file="${tm_file} i386/unix.h i386/bsd.h i386/gas.h i386/gstabs.h i386/mach.h"
 #      tmake_file=t-libc-ok
        use_collect2=yes
        ;;
-i[34567]86-*-osfrose*)         # 386 using OSF/rose
-        if test x$elf = xyes
-       then
-               tm_file=i386/osfelf.h
-               use_collect2=
-       else
-               tm_file=i386/osfrose.h
-               use_collect2=yes
-       fi
-       tmake_file=i386/t-osf
-       extra_objs=halfpic.o
-       ;;
-i[34567]86-go32-rtems*)
-       xm_defines=POSIX
-       tm_file="i386/djgpp.h i386/djgpp-rtems.h rtems.h"
-       tmake_file=t-rtems
-       if test x$enable_threads = xyes; then
-         thread_file='rtems'
-       fi
-       ;;
-i[34567]86-*-rtemscoff*)
-       xm_defines=POSIX
-       tm_file="i386/i386-coff.h i386/rtems.h rtems.h"
-       tmake_file=t-rtems
-       if test x$enable_threads = xyes; then
-         thread_file='rtems'
-       fi
+i[34567]86-go32-rtems* | i[34567]86-*-rtemscoff*)
+       # would otherwise be caught by i?86-*-rtems*
+       echo "*** Configuration $machine not supported" 1>&2
+       exit 1
        ;;
-i[34567]86-*-rtems*|i[34567]86-*-rtemself*)
+i[34567]86-*-rtems*)
        xm_defines=POSIX
-       tm_file="${tm_file} i386/att.h dbxelf.h elfos.h i386/i386elf.h i386/rtemself.h rtems.h"
+       tm_file="${tm_file} i386/unix.h i386/att.h dbxelf.h elfos.h i386/i386elf.h i386/rtemself.h rtems.h"
        extra_parts="crtbegin.o crtend.o crti.o crtn.o"
        tmake_file="i386/t-rtems-i386 i386/t-crtstuff t-rtems"
        if test x$enable_threads = xyes; then
@@ -1325,7 +1166,7 @@ i[34567]86-*-rtems*|i[34567]86-*-rtemself*)
 i[34567]86-*-sco3.2v5*)        # 80386 running SCO Open Server 5
        xm_defines=POSIX
        install_headers_dir=install-headers-cpio
-       tm_file=i386/sco5.h
+       tm_file="${tm_file} i386/unix.h i386/att.h i386/sco5.h"
        if test x$gas = xyes
        then
                tm_file="usegas.h ${tm_file}"
@@ -1337,7 +1178,7 @@ i[34567]86-*-sco3.2v5*)   # 80386 running SCO Open Server 5
        ;;
 i[34567]86-*-solaris2*)
        xm_defines="POSIX SMALL_ARG_MAX"
-       tm_file="${tm_file} i386/att.h dbxelf.h elfos.h svr4.h i386/sysv4.h i386/sol2.h"
+       tm_file="${tm_file} i386/unix.h i386/att.h dbxelf.h elfos.h svr4.h i386/sysv4.h i386/sol2.h"
        if test x$gas = xyes; then
                tm_file="i386/sol2gas.h ${tm_file}"
        fi
@@ -1364,7 +1205,7 @@ i[34567]86-*-solaris2*)
        ;;
 i[34567]86-*-sysv5*)           # Intel x86 on System V Release 5
        xm_defines=POSIX
-       tm_file="${tm_file} i386/att.h dbxelf.h elfos.h svr4.h i386/sysv4.h i386/sysv5.h"
+       tm_file="${tm_file} i386/unix.h i386/att.h dbxelf.h elfos.h svr4.h i386/sysv4.h i386/sysv5.h"
        if test x$stabs = xyes
        then
                tm_file="${tm_file} dbx.h"
@@ -1377,7 +1218,7 @@ i[34567]86-*-sysv5*)           # Intel x86 on System V Release 5
        ;;
 i[34567]86-*-sysv4*)           # Intel 80386's running system V.4
        xm_defines="POSIX SMALL_ARG_MAX"
-       tm_file="${tm_file} i386/att.h dbxelf.h elfos.h svr4.h i386/sysv4.h"
+       tm_file="${tm_file} i386/unix.h i386/att.h dbxelf.h elfos.h svr4.h i386/sysv4.h"
        if test x$stabs = xyes
        then
                tm_file="${tm_file} dbx.h"
@@ -1387,53 +1228,42 @@ i[34567]86-*-sysv4*)            # Intel 80386's running system V.4
        ;;
 i[34567]86-*-udk*)      # Intel x86 on SCO UW/OSR5 Dev Kit
        xm_defines=POSIX
-       tm_file="${tm_file} i386/att.h dbxelf.h elfos.h svr4.h i386/sysv4.h i386/sysv5.h i386/udk.h"
+       tm_file="${tm_file} i386/unix.h i386/att.h dbxelf.h elfos.h svr4.h i386/sysv4.h i386/sysv5.h i386/udk.h"
        tmake_file="i386/t-crtpic i386/t-udk t-svr4"
        extra_parts="crtbegin.o crtend.o"
        install_headers_dir=install-headers-cpio
        ;;
-i[34567]86-*-osf1*)            # Intel 80386's running OSF/1 1.3+
-       xm_defines='POSIX USE_C_ALLOCA SMALL_ARG_MAX'
-       if test x$stabs = xyes
-       then
-               tm_file="${tm_file} i386/att.h dbxelf.h elfos.h svr4.h i386/sysv4.h i386/osf1elf.h i386/osf1elfgdb.h"
-       else
-               tm_file="${tm_file} i386/att.h dbxelf.h elfos.h svr4.h i386/sysv4.h i386/osf1elf.h"
-       fi
-       tmake_file=i386/t-osf1elf
-       extra_parts="crti.o crtn.o crtbegin.o crtend.o"
-       ;;
 i[34567]86-*-sysv*)            # Intel 80386's running system V
        xm_defines=POSIX
        if test x$gas = xyes
        then
                if test x$stabs = xyes
                then
-                       tm_file=i386/svr3dbx.h
+                       tm_file="${tm_file} i386/unix.h i386/bsd.h i386/gas.h i386/svr3gas.h i386/svr3dbx.h"
                        tmake_file=i386/t-svr3dbx
-                       extra_parts="svr3.ifile svr3z.rfile"
+                       extra_parts="svr3.ifile svr3z.ifile"
                else
-                       tm_file=i386/svr3gas.h
+                       tm_file="${tm_file} i386/unix.h i386/bsd.h i386/gas.h i386/svr3gas.h"
                        extra_parts="crtbegin.o crtend.o"
                        tmake_file=i386/t-crtstuff
                fi
        else
-               tm_file=i386/sysv3.h
+               tm_file="${tm_file} svr3.h i386/unix.h i386/att.h i386/sysv3.h"
                extra_parts="crtbegin.o crtend.o"
                tmake_file=i386/t-crtstuff
        fi
        tmake_file="$tmake_file i386/t-crtpic"
        ;;
 i386-*-vsta)                   # Intel 80386's running VSTa kernel
-       xm_file=i386/xm-vsta.h
-       tm_file=i386/vsta.h
+       xm_file="${tm_file} i386/unix.h i386/bsd.h i386/gas.h i386/xm-vsta.h"
+       tm_file="${tm_file} i386/vsta.h"
        ;;
 i[34567]86-*-win32)
        xm_defines=POSIX
        xm_file=i386/xm-cygwin.h
        float_format=i386
        tmake_file=i386/t-cygwin
-       tm_file=i386/win32.h
+       tm_file="${tm_file} i386/win32.h"
        extra_objs=winnt.o
        if test x$enable_threads = xyes; then
                thread_file='win32'
@@ -1472,7 +1302,7 @@ i[34567]86-*-mingw32*)
        esac
        ;;
 i[34567]86-*-uwin*)
-       tm_file=i386/uwin.h
+       tm_file="i386/cygwin.h i386/uwin.h"
        tmake_file="i386/t-cygwin i386/t-uwin"
        extra_objs=winnt.o
        if test x$enable_threads = xyes; then
@@ -1481,7 +1311,7 @@ i[34567]86-*-uwin*)
        exeext=.exe
        ;;
 i[34567]86-*-interix3*)
-       tm_file="i386/i386-interix.h i386/i386-interix3.h interix.h interix3.h"
+       tm_file="${tm_file} i386/unix.h i386/bsd.h i386/gas.h i386/i386-interix.h i386/i386-interix3.h interix.h interix3.h"
        xm_file="i386/xm-i386-interix.h"
        xm_defines=POSIX
        tmake_file="t-interix i386/t-interix"
@@ -1495,7 +1325,7 @@ i[34567]86-*-interix3*)
        fi
        ;;
 i[34567]86-*-interix*)
-       tm_file="i386/i386-interix.h interix.h"
+       tm_file="${tm_file} i386/unix.h i386/bsd.h i386/gas.h i386/i386-interix.h interix.h"
        xm_file="i386/xm-i386-interix.h"
        xm_defines=POSIX
        tmake_file="t-interix i386/t-interix"
@@ -1507,44 +1337,6 @@ i[34567]86-*-interix*)
                tm_file="${tm_file} dbxcoff.h"
        fi
        ;;
-i[34567]86-dg-dgux*)
-       xm_defines=POSIX
-       tm_file="${tm_file} i386/att.h dbxelf.h elfos.h svr4.h i386/sysv4.h i386/dgux.h"
-       tmake_file=i386/t-dgux
-       install_headers_dir=install-headers-cpio
-      ;;
-i860-alliant-*)                # Alliant FX/2800
-       tm_file="${tm_file} dbxelf.h elfos.h svr4.h i860/sysv4.h i860/fx2800.h"
-       tmake_file=i860/t-fx2800
-       extra_parts="crtbegin.o crtend.o"
-       ;;
-i860-*-bsd*)
-       tm_file="${tm_file} i860/bsd.h"
-       if test x$gas = xyes
-       then
-               tm_file="${tm_file} i860/bsd-gas.h"
-       fi
-       use_collect2=yes
-       ;;
-i860-*-mach*)
-       tm_file="${tm_file} i860/mach.h"
-       tmake_file=t-libc-ok
-       ;;
-i860-*-osf*)                   # Intel Paragon XP/S, OSF/1AD
-       tm_file="${tm_file} svr3.h i860/paragon.h"
-       xm_defines=POSIX
-       ;;
-i860-*-sysv3*)
-       tm_file="${tm_file} svr3.h i860/sysv3.h"
-       xm_defines=POSIX
-       extra_parts="crtbegin.o crtend.o"
-       ;;
-i860-*-sysv4*)
-       tm_file="${tm_file} dbxelf.h elfos.h svr4.h i860/sysv4.h"
-       xm_defines=POSIX
-       tmake_file=t-svr4
-       extra_parts="crtbegin.o crtend.o"
-       ;;
 i960-wrs-vxworks5 | i960-wrs-vxworks5.0*)
        tm_file="${tm_file} i960/vx960.h"
        tmake_file=i960/t-vxworks960
@@ -1611,7 +1403,7 @@ ia64*-*-elf*)
        float_format=i386
        ;;
 ia64*-*-freebsd*)
-       tm_file="${tm_file} ${fbsd_tm_file} dbxelf.h elfos.h ia64/sysv4.h ia64/freebsd.h"
+       tm_file="${tm_file} dbxelf.h elfos.h ${fbsd_tm_file} ia64/sysv4.h ia64/freebsd.h"
        target_cpu_default="MASK_GNU_AS|MASK_GNU_LD"
        tmake_file="${tmake_file} ia64/t-ia64"
        float_format=i386
@@ -1653,11 +1445,6 @@ m68hc12-*-*|m6812-*-*)
        out_file="m68hc11/m68hc11.c"
        tmake_file="m68hc11/t-m68hc11-gas"
         ;;
-m68000-convergent-sysv*)
-       tm_file=m68k/ctix.h
-       xm_defines=POSIX
-       use_collect2=yes
-       ;;
 m68000-hp-bsd*)                        # HP 9000/200 running BSD
        tm_file=m68k/hp2bsd.h
        use_collect2=yes
@@ -1692,57 +1479,6 @@ m68000-att-sysv*)
        fi
        use_collect2=yes
        ;;
-m68k-apple-aux*)               # Apple Macintosh running A/UX
-       xm_defines=POSIX
-       tmake_file=m68k/t-aux
-       install_headers_dir=install-headers-cpio
-       extra_parts="crt1.o mcrt1.o maccrt1.o crt2.o crtn.o"
-       tm_file=
-       if test "$gnu_ld" = yes
-       then
-               tm_file="${tm_file} m68k/auxgld.h"
-       else
-               tm_file="${tm_file} m68k/auxld.h"
-       fi
-       if test "$gas" = yes
-       then
-               tm_file="${tm_file} m68k/auxgas.h"
-       else
-               tm_file="${tm_file} m68k/auxas.h"
-       fi
-       tm_file="${tm_file} m68k/a-ux.h"
-       float_format=m68k
-       ;;
-m68k-apollo-*)
-       tm_file=m68k/apollo68.h
-       use_collect2=yes
-       float_format=m68k
-       ;;
-m68k-altos-sysv*)                 # Altos 3068
-       if test x$gas = xyes
-       then
-               tm_file=m68k/altos3068.h
-               xm_defines=POSIX
-       else
-               echo "The Altos is supported only with the GNU assembler" 1>&2
-               exit 1
-       fi
-        ;;
-m68k-bull-sysv*)               # Bull DPX/2
-       if test x$gas = xyes
-       then
-               if test x$stabs = xyes
-               then
-                       tm_file=m68k/dpx2cdbx.h
-               else
-                       tm_file=m68k/dpx2g.h
-               fi
-       else
-               tm_file=m68k/dpx2.h
-       fi
-       xm_defines=POSIX
-       use_collect2=yes
-       ;;
 m68k-atari-sysv4*)              # Atari variant of V.4.
        tm_file=m68k/atari.h
        xm_defines=POSIX
@@ -1750,6 +1486,11 @@ m68k-atari-sysv4*)              # Atari variant of V.4.
        extra_parts="crtbegin.o crtend.o"
        float_format=m68k
        ;;
+m68k-apollo-sysv* | m68k-bull-sysv*)
+       # can otherwise be caught by m68k-*-sysv4*
+       echo "*** Configuration $machine not supported" 1>&2
+       exit 1
+       ;;
 m68k-motorola-sysv*)
        tm_file=m68k/mot3300.h
        xm_defines=POSIX
@@ -1816,16 +1557,6 @@ m68k-hp-bsd*)                    # HP 9000/3xx running Berkeley Unix
        use_collect2=yes
        float_format=m68k
        ;;
-m68k-isi-bsd*)
-       if test x$with_fp = xno
-       then
-               tm_file=m68k/isi-nfp.h
-       else
-               tm_file=m68k/isi.h
-               float_format=m68k
-       fi
-       use_collect2=yes
-       ;;
 m68k-hp-hpux7*)        # HP 9000 series 300 running HPUX version 7.
        xm_defines=POSIX
        if test x$gas = xyes
@@ -1859,47 +1590,6 @@ m68k-sun-mach*)
        use_collect2=yes
        float_format=m68k
        ;;
-m68k-sony-newsos3*)
-       if test x$gas = xyes
-       then
-               tm_file=m68k/news3gas.h
-       else
-               tm_file=m68k/news3.h
-       fi
-       use_collect2=yes
-       float_format=m68k
-       ;;
-m68k-sony-bsd* | m68k-sony-newsos*)
-       if test x$gas = xyes
-       then
-               tm_file=m68k/newsgas.h
-       else
-               tm_file=m68k/news.h
-       fi
-       use_collect2=yes
-       float_format=m68k
-       ;;
-m68k-next-nextstep2*)
-       tm_p_file="${tm_p_file} nextstep-protos.h"
-       tm_file=m68k/next21.h
-       tmake_file=m68k/t-next
-       xmake_file=m68k/x-next
-       extra_objs=nextstep.o
-       use_collect2=yes
-       float_format=m68k
-        ;;
-m68k-next-nextstep[34]*)
-       tm_p_file="${tm_p_file} nextstep-protos.h"
-       tm_file=m68k/next.h
-       tmake_file=m68k/t-next
-       xmake_file=m68k/x-next
-       extra_objs=nextstep.o
-       extra_parts="crtbegin.o crtend.o"
-       float_format=m68k
-       if test x$enable_threads = xyes; then
-               thread_file='mach'
-       fi
-       ;;
 m68k-sun-sunos3*)
        if test x$with_fp = xno
        then
@@ -1942,16 +1632,6 @@ m68020-*-elf* | m68k-*-elf*)
        tmake_file=m68k/t-m68kelf
        extra_parts="crtbegin.o crtend.o"
        ;;
-m68k-*-lynxos*)
-       if test x$gas = xyes
-       then
-               tm_file=m68k/lynx.h
-       else
-               tm_file=m68k/lynx-ng.h
-       fi
-       tmake_file=m68k/t-lynx
-       float_format=m68k
-       ;;
 m68010-*-netbsdelf* | m68k*-*-netbsdelf*)
        tm_file="${tm_file} dbxelf.h elfos.h netbsd.h netbsd-elf.h m68k/netbsd-elf.h"
        case $machine in
@@ -1977,11 +1657,6 @@ m68k*-*-openbsd*)
        # we need collect2 until our bug is fixed...
        use_collect2=yes
        ;;
-m68k-*-sysv3*)                 # Motorola m68k's running system V.3
-       xm_defines=POSIX
-       extra_parts="crtbegin.o crtend.o"
-       float_format=m68k
-       ;;
 m68k-*-sysv4*)                 # Motorola m68k's running system V.4
        tm_file=m68k/m68kv4.h
        xm_defines=POSIX
@@ -2022,16 +1697,11 @@ m68k-*-psos*)
        tm_file=m68k/m68k-psos.h
        float_format=m68k
        ;;
-m68k-*-rtemscoff*)
-       xm_defines=POSIX
-       tmake_file="m68k/t-m68kbare t-rtems"
-       tm_file="m68k/m68k-coff.h m68k/rtems.h rtems.h"
-       float_format=m68k
-       if test x$enable_threads = xyes; then
-         thread_file='rtems'
-       fi
+m68k-*-rtemscoff*)     # would otherwise be caught by m68k-*-rtems*
+       echo "*** Configuration $machine not supported" 1>&2
+       exit 1
        ;;
-m68k-*-rtemself*|m68k-*-rtems*)
+m68k-*-rtems*)
        xm_defines=POSIX
        tmake_file="m68k/t-m68kbare t-rtems m68k/t-crtstuff"
        tm_file="m68k/m68k-none.h m68k/m68kelf.h dbxelf.h elfos.h m68k/m68kemb.h m68k/m68020-elf.h m68k/rtemself.h rtems.h"
@@ -2041,81 +1711,19 @@ m68k-*-rtemself*|m68k-*-rtems*)
          thread_file='rtems'
        fi
        ;;
-m88k-dg-dgux*)
+m88k-*-aout*)
        xm_defines=POSIX
-       case $machine in
-         m88k-dg-dguxbcs*)
-           tm_file="dbxelf.h elfos.h svr4.h m88k/dgux.h m88k/dguxbcs.h"
-           tmake_file="m88k/t-dgux m88k/t-dguxbcs"
-           ;;
-         *)
-           tm_file="dbxelf.h elfos.h svr4.h m88k/dgux.h"
-           tmake_file=m88k/t-dgux
-           ;;
-       esac
-       extra_parts="crtbegin.o bcscrtbegin.o crtend.o m88kdgux.ld"
-       if test x$gas = xyes
-       then
-               tmake_file=m88k/t-dgux-gas
-       fi
+       tm_file=m88k/m88k-aout.h
        ;;
-m88k-dolphin-sysv3*)
-       xm_defines=POSIX
-       tm_file=m88k/dolph.h
-       extra_parts="crtbegin.o crtend.o"
-       tmake_file=m88k/t-dolph
-       if test x$gas = xyes
-       then
-               tmake_file=m88k/t-m88k-gas
-       fi
+m88k-*-openbsd*)
+       tmake_file="${tmake_file} m88k/t-luna-gas"
+       tm_file="m88k/aout-dbx.h aoutos.h m88k/m88k.h openbsd.h ${tm_file}"
        ;;
-m88k-tektronix-sysv3)
+m88k-*-sysv4*)
        xm_defines=POSIX
-       tm_file=m88k/tekXD88.h
+       tm_file="dbxelf.h elfos.h svr4.h m88k/sysv4.h"
        extra_parts="crtbegin.o crtend.o"
-       tmake_file=m88k/t-tekXD88
-       if test x$gas = xyes
-       then
-               tmake_file=m88k/t-m88k-gas
-       fi
-       ;;
-m88k-*-aout*)
-       xm_defines=POSIX
-       tm_file=m88k/m88k-aout.h
-       ;;
-m88k-*-coff*)
-       xm_defines=POSIX
-       tm_file=m88k/m88k-coff.h
-       tmake_file=m88k/t-bug
-       ;;
-m88k-*-luna*)
-       tm_file=m88k/luna.h
-       extra_parts="crtbegin.o crtend.o"
-       if test x$gas = xyes
-       then
-               tmake_file=m88k/t-luna-gas
-       else
-               tmake_file=m88k/t-luna
-       fi
-       ;;
-m88k-*-openbsd*)
-       tmake_file="${tmake_file} m88k/t-luna-gas"
-       tm_file="m88k/aout-dbx.h aoutos.h m88k/m88k.h openbsd.h ${tm_file}"
-       ;;
-m88k-*-sysv3*)
-       xm_defines=POSIX
-       tm_file=m88k/sysv3.h
-       extra_parts="crtbegin.o crtend.o"
-       if test x$gas = xyes
-       then
-               tmake_file=m88k/t-m88k-gas
-       fi
-       ;;
-m88k-*-sysv4*)
-       xm_defines=POSIX
-       tm_file="dbxelf.h elfos.h svr4.h m88k/sysv4.h"
-       extra_parts="crtbegin.o crtend.o"
-       tmake_file=m88k/t-sysv4
+       tmake_file=m88k/t-sysv4
        ;;
 mcore-*-elf)
        tm_file="dbxelf.h elfos.h svr4.h ${tm_file} mcore/mcore-elf.h"
@@ -2196,96 +1804,10 @@ mips-sgi-irix5*)                # SGI System V.4., IRIX 5
 #              thread_file='irix'
 #      fi
        ;;
-mips-sgi-irix4loser*)          # Mostly like a MIPS.
-       tm_file="mips/iris4loser.h mips/iris3.h ${tm_file} mips/iris4.h"
-       if test x$stabs = xyes; then
-               tm_file="${tm_file} dbx.h"
-       fi
-       tmake_file=mips/t-iris
-       xm_defines=POSIX
-       if test x$gas = xyes
-       then    :
-       else
-               extra_passes="mips-tfile mips-tdump"
-       fi
-       if test x$gnu_ld != xyes
-       then
-               use_collect2=yes
-       fi
-#      if test x$enable_threads = xyes; then
-#              thread_file='irix'
-#      fi
-       ;;
-mips-sgi-irix4*)               # Mostly like a MIPS.
-       tm_file="mips/iris3.h ${tm_file} mips/iris4.h"
-       if test x$stabs = xyes; then
-               tm_file="${tm_file} dbx.h"
-       fi
-       tmake_file=mips/t-iris
-       xm_defines=POSIX
-       if test x$gas = xyes
-       then    :
-       else
-               extra_passes="mips-tfile mips-tdump"
-       fi
-       if test x$gnu_ld != xyes
-       then
-               use_collect2=yes
-       fi
-#      if test x$enable_threads = xyes; then
-#              thread_file='irix'
-#      fi
-       ;;
-mips-sgi-*)                    # Mostly like a MIPS.
-       tm_file="mips/iris3.h ${tm_file}"
-       if test x$stabs = xyes; then
-               tm_file="${tm_file} dbx.h"
-       fi
-       xm_defines=POSIX
-       if test x$gas = xyes
-       then    :
-       else
-               extra_passes="mips-tfile mips-tdump"
-       fi
-       if test x$gnu_ld != xyes
-       then
-               use_collect2=yes
-       fi
-       ;;
-mips-dec-osfrose*)             # Decstation running OSF/1 reference port with OSF/rose.
-       tm_file="mips/osfrose.h ${tm_file}"
-       extra_objs=halfpic.o
-       use_collect2=yes
-       ;;
-mips-dec-osf*)                 # Decstation running OSF/1 as shipped by DIGITAL
-       tm_file=mips/dec-osf1.h
-       if test x$stabs = xyes; then
-               tm_file="${tm_file} dbx.h"
-       fi
-       if test x$gas = xyes
-       then    :
-       else
-               tmake_file=mips/t-ultrix
-               extra_passes="mips-tfile mips-tdump"
-       fi
-       if test x$gnu_ld != xyes
-       then
-               use_collect2=yes
-       fi
+mips-sgi-*)    # would otherwise be caught by mips-*-elf*
+       echo "*** Configuration $machine not supported" 1>&2
+       exit 1
        ;;
-mips-dec-bsd*)                  # Decstation running 4.4 BSD
-      tm_file=mips/dec-bsd.h
-      if test x$gas = xyes
-      then     :
-      else
-               tmake_file=mips/t-ultrix
-               extra_passes="mips-tfile mips-tdump"
-      fi
-      if test x$gnu_ld != xyes
-      then
-               use_collect2=yes
-      fi
-      ;;
 mips*-*-netbsd*)                       # NetBSD/mips, either endian.
        tm_file="elfos.h mips/netbsd.h"
        case $machine in
@@ -2293,6 +1815,7 @@ mips*-*-netbsd*)                  # NetBSD/mips, either endian.
                tm_file="mips/little.h $tm_file" 
                ;;
        esac
+       tmake_file="${tmake_file} mips/t-netbsd"
        ;;
 mips*-*-linux*)                                # Linux MIPS, either endian.
         tm_file="dbxelf.h elfos.h svr4.h linux.h mips/linux.h"
@@ -2322,192 +1845,6 @@ mips*-*-openbsd*)               # mips big endian
        target_cpu_default="MASK_GAS|MASK_ABICALLS"
        tm_file="mips/openbsd-be.h ${tm_file}"
        ;;
-mips-sony-bsd* | mips-sony-newsos*)    # Sony NEWS 3600 or risc/news.
-       tm_file="mips/news4.h ${tm_file}"
-       if test x$stabs = xyes; then
-               tm_file="${tm_file} dbx.h"
-       fi
-       if test x$gas = xyes
-       then    :
-       else
-               extra_passes="mips-tfile mips-tdump"
-       fi
-       if test x$gnu_ld != xyes
-       then
-               use_collect2=yes
-       fi
-       ;;
-mips-sony-sysv*)               # Sony NEWS 3800 with NEWSOS5.0.
-                               # That is based on svr4.
-       # t-svr4 is not right because this system doesn't use ELF.
-       tm_file="mips/news5.h ${tm_file}"
-       if test x$stabs = xyes; then
-               tm_file="${tm_file} dbx.h"
-       fi
-       xm_defines=POSIX
-       if test x$gas = xyes
-       then    :
-       else
-               extra_passes="mips-tfile mips-tdump"
-       fi
-       if test x$gnu_ld != xyes
-       then
-               use_collect2=yes
-       fi
-       ;;
-mips-tandem-sysv4*)            # Tandem S2 running NonStop UX
-       tm_file="mips/svr4-5.h mips/svr4-t.h"
-       if test x$stabs = xyes; then
-               tm_file="${tm_file} dbx.h"
-       fi
-       xm_defines=POSIX
-       if test x$gas = xyes
-       then
-               extra_parts="crtbegin.o crtend.o"
-       else
-               extra_passes="mips-tfile mips-tdump"
-       fi
-       if test x$gnu_ld != xyes
-       then
-               use_collect2=yes
-       fi
-       ;;
-mips-*-ultrix* | mips-dec-mach3)       # Decstation.
-       tm_file="mips/ultrix.h ${tm_file}"
-       if test x$stabs = xyes; then
-               tm_file="${tm_file} dbx.h"
-       fi
-       if test x$gas = xyes
-       then    :
-       else
-               tmake_file=mips/t-ultrix
-               extra_passes="mips-tfile mips-tdump"
-       fi
-       if test x$gnu_ld != xyes
-       then
-               use_collect2=yes
-       fi
-        ;;
-mips-*-riscos[56789]bsd*)
-       tm_file=mips/bsd-5.h    # MIPS BSD 4.3, RISC-OS 5.0
-       if test x$stabs = xyes; then
-               tm_file="${tm_file} dbx.h"
-       fi
-       if test x$gas = xyes
-       then
-               tmake_file=mips/t-bsd-gas
-       else
-               tmake_file=mips/t-bsd
-               extra_passes="mips-tfile mips-tdump"
-       fi
-       if test x$gnu_ld != xyes
-       then
-               use_collect2=yes
-       fi
-        ;;
-mips-*-bsd* | mips-*-riscosbsd* | mips-*-riscos[1234]bsd*)
-       tm_file="mips/bsd-4.h ${tm_file}" # MIPS BSD 4.3, RISC-OS 4.0
-       if test x$stabs = xyes; then
-               tm_file="${tm_file} dbx.h"
-       fi
-       if test x$gas = xyes
-       then
-               tmake_file=mips/t-bsd-gas
-       else
-               tmake_file=mips/t-bsd
-               extra_passes="mips-tfile mips-tdump"
-       fi
-       if test x$gnu_ld != xyes
-       then
-               use_collect2=yes
-       fi
-        ;;
-mips-*-riscos[56789]sysv4*)
-       tm_file=mips/svr4-5.h   # MIPS System V.4., RISC-OS 5.0
-       if test x$stabs = xyes; then
-               tm_file="${tm_file} dbx.h"
-       fi
-       if test x$gas = xyes
-       then
-               tmake_file=mips/t-svr4-gas
-       else
-               tmake_file=mips/t-svr4
-               extra_passes="mips-tfile mips-tdump"
-       fi
-       if test x$gnu_ld != xyes
-       then
-               use_collect2=yes
-       fi
-       ;;
-mips-*-sysv4* | mips-*-riscos[1234]sysv4* | mips-*-riscossysv4*)
-       tm_file="mips/svr4-4.h ${tm_file}"
-       if test x$stabs = xyes; then
-               tm_file="${tm_file} dbx.h"
-       fi
-       xm_defines=POSIX
-       if test x$gas = xyes
-       then
-               tmake_file=mips/t-svr4-gas
-       else
-               tmake_file=mips/t-svr4
-               extra_passes="mips-tfile mips-tdump"
-       fi
-       if test x$gnu_ld != xyes
-       then
-               use_collect2=yes
-       fi
-       ;;
-mips-*-riscos[56789]sysv*)
-       tm_file=mips/svr3-5.h   # MIPS System V.3, RISC-OS 5.0
-       if test x$stabs = xyes; then
-               tm_file="${tm_file} dbx.h"
-       fi
-       xm_defines=POSIX
-       if test x$gas = xyes
-       then
-               tmake_file=mips/t-svr3-gas
-       else
-               tmake_file=mips/t-svr3
-               extra_passes="mips-tfile mips-tdump"
-       fi
-       if test x$gnu_ld != xyes
-       then
-               use_collect2=yes
-       fi
-       ;;
-mips-*-sysv* | mips-*-riscos*sysv*)
-       tm_file="mips/svr3-4.h ${tm_file}"
-       if test x$stabs = xyes; then
-               tm_file="${tm_file} dbx.h"
-       fi
-       xm_defines=POSIX
-       if test x$gas = xyes
-       then
-               tmake_file=mips/t-svr3-gas
-       else
-               tmake_file=mips/t-svr3
-               extra_passes="mips-tfile mips-tdump"
-       fi
-       if test x$gnu_ld != xyes
-       then
-               use_collect2=yes
-       fi
-       ;;
-mips-*-riscos[56789]*)         # Default MIPS RISC-OS 5.0.
-       tm_file=mips/mips-5.h
-       if test x$stabs = xyes; then
-               tm_file="${tm_file} dbx.h"
-       fi
-       if test x$gas = xyes
-       then    :
-       else
-               extra_passes="mips-tfile mips-tdump"
-       fi
-       if test x$gnu_ld != xyes
-       then
-               use_collect2=yes
-       fi
-       ;;
 mipsel-*-ecoff*)
        tm_file=mips/ecoffl.h
        if test x$stabs = xyes; then
@@ -2576,20 +1913,6 @@ mipstx39-*-elf*)
        tm_file="mips/r3900.h mips/elf.h mips/abi64.h"
        tmake_file=mips/t-r3900
        ;;
-mips-*-*)                              # Default MIPS RISC-OS 4.0.
-       if test x$stabs = xyes; then
-               tm_file="${tm_file} dbx.h"
-       fi
-       if test x$gas = xyes
-       then    :
-       else
-               extra_passes="mips-tfile mips-tdump"
-       fi
-       if test x$gnu_ld != xyes
-       then
-               use_collect2=yes
-       fi
-       ;;
 mmix-knuth-mmixware)
        ;;
 mn10200-*-*)
@@ -2609,40 +1932,11 @@ mn10300-*-*)
        fi
        use_collect2=no
        ;;
-ns32k-encore-bsd*)
-       tm_file=ns32k/encore.h
-       use_collect2=yes
-       ;;
-ns32k-sequent-bsd*)
-       tm_file=ns32k/sequent.h
-       use_collect2=yes
-       ;;
-ns32k-tek6100-bsd*)
-       tm_file=ns32k/tek6100.h
-       use_collect2=yes
-       ;;
-ns32k-tek6200-bsd*)
-       tm_file=ns32k/tek6200.h
-       use_collect2=yes
-       ;;
-ns32k-merlin-*)
-       tm_file=ns32k/merlin.h
-       use_collect2=yes
-       ;;
-ns32k-pc532-mach*)
-       tm_file=ns32k/pc532-mach.h
-       use_collect2=yes
-       ;;
-ns32k-pc532-minix*)
-       tm_file=ns32k/pc532-min.h
-       xm_defines='POSIX HZ=60'
-       use_collect2=yes
-       ;;
 ns32k-*-netbsdelf*)
        echo "GCC does not yet support the ${machine} target"; exit 1
        ;;
 ns32k-*-netbsd*)
-       tm_file=ns32k/netbsd.h
+       tm_file="${tm_file} netbsd.h netbsd-aout.h ns32k/netbsd.h"
        # On NetBSD, the headers are already okay, except for math.h.
        tmake_file=t-netbsd
        use_collect2=yes
@@ -2657,21 +1951,6 @@ avr-*-*)
 ns32k-*-openbsd*)
        # Nothing special
        ;;
-pj*-linux*)
-       tm_file="dbxelf.h elfos.h svr4.h pj/linux.h ${tm_file}"
-       ;;
-pj-*)
-       ;;
-pjl-*)
-       tm_file="dbxelf.h elfos.h svr4.h pj/pjl.h ${tm_file}"
-       ;;
-
-romp-*-aos*)
-       use_collect2=yes
-       ;;
-romp-*-mach*)
-       use_collect2=yes
-       ;;
 romp-*-openbsd*)
        # Nothing special
        ;;
@@ -2700,6 +1979,7 @@ powerpc-*-darwin*)
        tm_p_file="${tm_p_file} darwin-protos.h"
        tmake_file=rs6000/t-darwin
        extra_objs="darwin.o"
+       config_gtfiles="${config_gtfiles} \$(srcdir)/config/darwin.c"
        c_target_objs="darwin-c.o"
        cxx_target_objs="darwin-c.o"
        # Darwin linker does collect2 functionality
@@ -2815,6 +2095,12 @@ powerpc-wrs-vxworks*)
         tmake_file="rs6000/t-ppcgas rs6000/t-ppccomm"
        thread_file='vxworks'
         ;;
+powerpc-wrs-windiss*)
+        xm_defines=POSIX
+       tm_file="${tm_file} elfos.h svr4.h freebsd-spec.h rs6000/sysv4.h rs6000/windiss.h"
+        tmake_file="rs6000/t-ppcgas rs6000/t-ppccomm"
+        thread_file=""
+        ;;
 powerpcle-wrs-vxworks*)
        xm_defines=POSIX
         tm_file="${tm_file} dbxelf.h elfos.h svr4.h freebsd-spec.h rs6000/sysv4.h rs6000/sysv4le.h rs6000/vxppc.h"
@@ -2922,25 +2208,32 @@ s390x-*-linux*)
                thread_file='posix'
        fi
        ;;
-sh-*-elf*)
+sh-*-elf* | shl*-*-elf* | sh64*-*-elf*)
        tmake_file="sh/t-sh sh/t-elf"
-       tm_file="${tm_file} sh/elf.h"
-       float_format=sh
-       ;;
-sh64-*-elf*)
-       tmake_file="sh/t-sh sh/t-elf sh/t-sh64"
-       tm_file="${tm_file} sh/sh.h sh/elf.h sh/sh64.h"
+       case $machine in
+       shl* | sh64l*)
+               tm_file="sh/little.h ${tm_file}"
+               tmake_file="${tmake_file} sh/t-le"
+               ;;
+       esac
+       tm_file="${tm_file} dbxelf.h elfos.h svr4.h sh/embed-elf.h"
        float_format=sh
-       extra_headers="../../config/sh/shmedia.h ../../config/sh/ushmedia.h ../../config/sh/sshmedia.h"
-       # Not strictly necessary to check this, but a good idea anyway.
-       if test $machine = $target; then
-               target_requires_64bit_host_wide_int=yes
-       fi
+       case $machine in
+       sh64*)
+               tmake_file="${tmake_file} sh/t-sh64"
+               tm_file="${tm_file} sh/sh64.h"
+               extra_headers="shmedia.h ushmedia.h sshmedia.h"
+               # Not strictly necessary to check this, but a good idea anyway.
+               if test $machine = $target; then
+                       target_requires_64bit_host_wide_int=yes
+               fi
+               ;;
+       esac
        ;;
 sh-*-rtemself*)
        xm_defines=POSIX
        tmake_file="sh/t-sh sh/t-elf t-rtems"
-       tm_file="${tm_file} sh/elf.h sh/rtemself.h rtems.h"
+       tm_file="${tm_file} dbxelf.h elfos.h svr4.h sh/embed-elf.h sh/rtemself.h rtems.h"
        float_format=sh
        if test x$enable_threads = xyes; then
          thread_file='rtems'
@@ -2949,22 +2242,55 @@ sh-*-rtemself*)
 sh-*-rtems*)
        xm_defines=POSIX
        tmake_file="sh/t-sh t-rtems"
-       tm_file="${tm_file} sh/rtems.h rtems.h"
+       tm_file="${tm_file} sh/coff.h sh/rtems.h rtems.h"
        float_format=sh
        if test x$enable_threads = xyes; then
          thread_file='rtems'
        fi
        ;;
 sh-*-linux*)
-       tm_file="${tm_file} sh/elf.h sh/linux.h"
-       tmake_file="sh/t-sh sh/t-elf sh/t-linux"
+       tm_file="sh/little.h ${tm_file} dbxelf.h elfos.h svr4.h sh/elf.h sh/linux.h"
+       tmake_file="sh/t-sh sh/t-elf sh/t-le sh/t-linux"
        gas=yes gnu_ld=yes
        if test x$enable_threads = xyes; then
                thread_file='posix'
        fi
        float_format=sh
        ;;
+sh-*-netbsdelf* | shl*-*-netbsdelf* | sh5-*-netbsd* | sh5l*-*-netbsd* | \
+  sh64-*-netbsd* | sh64l*-*-netbsd*)
+       tm_file="${tm_file} dbxelf.h elfos.h sh/elf.h netbsd.h netbsd-elf.h sh/netbsd-elf.h"
+       tmake_file="${tmake_file} sh/t-sh sh/t-elf"
+       case $machine in
+       sh*l*-*)
+               tm_file="sh/little.h ${tm_file}"
+               tmake_file="${tmake_file} sh/t-le"
+               ;;
+       *)
+               tmake_file="${tmake_file} sh/t-be"
+               ;;
+       esac
+       case $machine in
+       sh5*-*)
+               # SHmedia, 32-bit ABI
+               target_cpu_default="SH5_BIT|SH4_BIT|SH3E_BIT"
+               tmake_file="${tmake_file} sh/t-sh64 sh/t-netbsd-sh5"
+               ;;
+       sh64*-*)
+               # SHmedia, 64-bit ABI
+               target_cpu_default="SH5_BIT|SH4_BIT"
+               tmake_file="${tmake_file} sh/t-sh64 sh/t-netbsd-sh5 sh/t-netbsd-sh5-64"
+               ;;
+       *)
+               # SH3, software floating point
+               target_cpu_default="SH1_BIT|SH2_BIT|SH3_BIT"
+               tmake_file="${tmake_file} sh/t-netbsd"
+               ;;
+       esac
+       float_format=sh
+       ;;
 sh-*-*)
+       tm_file="${tm_file} sh/coff.h"
        float_format=sh
        ;;
 sparc-tti-*)
@@ -2973,7 +2299,7 @@ sparc-tti-*)
        ;;
 sparc64-wrs-vxworks*)
         tm_file="${tm_file} dbxelf.h elfos.h svr4.h sparc/sysv4.h sparc/sol2.h sparc/elf.h sparc/biarch64.h gofast.h sparc/vxsparc64.h"
-        tmake_file=sparc/t-vxsparc64
+        tmake_file="sparc/t-vxsparc64 sparc/t-crtfm"
         use_collect2=yes
         ;;
 sparc-wrs-vxworks* | sparclite-wrs-vxworks*)
@@ -3001,12 +2327,19 @@ sparc-*-openbsd*)
        # we need collect2 until our bug is fixed...
        use_collect2=yes
        ;;
+sparc64-*-openbsd*)
+       tm_file="sparc/openbsd1-64.h sparc/sparc.h elfos.h svr4.h sparc/sysv4.h sparc/sol2.h sparc/sp64-elf.h openbsd.h sparc/openbsd64.h"
+       xm_file=sparc/xm-sp64.h
+       gas=yes gnu_ld=yes
+       with_cpu=ultrasparc
+       float_format=i128
+       ;;
 sparc-*-bsd*)
        tm_file="${tm_file} sparc/bsd.h"
        ;;
 sparc-*-chorusos*)
        tm_file="${tm_file} dbxelf.h elfos.h svr4.h sparc/sysv4.h sparc/sol2.h sparc/elf.h chorus.h"
-       tmake_file=sparc/t-chorus-elf
+       tmake_file="sparc/t-chorus-elf sparc/t-crtfm"
        extra_parts="crti.o crtn.o crtbegin.o crtend.o"
        float_format=i64
        case x${enable_threads} in
@@ -3017,7 +2350,7 @@ sparc-*-chorusos*)
        ;;
 sparc-*-elf*)
        tm_file="${tm_file} dbxelf.h elfos.h svr4.h sparc/sysv4.h sparc/sol2.h sparc/elf.h"
-       tmake_file=sparc/t-elf
+       tmake_file="sparc/t-elf sparc/t-crtfm"
        extra_parts="crti.o crtn.o crtbegin.o crtend.o"
        #float_format=i128
        float_format=i64
@@ -3028,14 +2361,14 @@ sparc-*-linux*aout*)            # Sparc's running GNU/Linux, a.out
        ;;
 sparc-*-linux*libc1*)  # Sparc's running GNU/Linux, libc5
        tm_file="${tm_file} dbxelf.h elfos.h svr4.h sparc/sysv4.h sparc/linux.h"
-       tmake_file="t-slibgcc-elf-ver t-linux t-linux-gnulibc1"
+       tmake_file="t-slibgcc-elf-ver t-linux t-linux-gnulibc1 sparc/t-crtfm"
        extra_parts="crtbegin.o crtbeginS.o crtend.o crtendS.o"
        gnu_ld=yes
        float_format=sparc
        ;;
 sparc-*-linux*)                # Sparc's running GNU/Linux, libc6
        tm_file="${tm_file} dbxelf.h elfos.h svr4.h sparc/sysv4.h sparc/linux.h"
-       tmake_file="t-slibgcc-elf-ver t-linux"
+       tmake_file="t-slibgcc-elf-ver t-linux sparc/t-crtfm"
        extra_parts="crtbegin.o crtbeginS.o crtbeginT.o crtend.o crtendS.o"
        gnu_ld=yes
        if test x$enable_threads = xyes; then
@@ -3052,18 +2385,14 @@ sparc-*-lynxos*)
        fi
        tmake_file=sparc/t-sunos41
        ;;
-sparc-*-rtemsaout*)
-       xm_defines=POSIX
-       tmake_file="sparc/t-sparcbare t-rtems"
-       tm_file="${tm_file} aoutos.h sparc/aout.h sparc/rtems.h rtems.h"
-       if test x$enable_threads = xyes; then
-         thread_file='rtems'
-       fi
+sparc-*-rtemsaout*)    # would otherwise be caught by sparc-*-rtems*
+       echo "*** Configuration $machine not supported" 1>&2
+       exit 1
        ;;
-sparc-*-rtems*|sparc-*-rtemself*)
+sparc-*-rtems*)
        xm_defines=POSIX
        tm_file="${tm_file} dbxelf.h elfos.h svr4.h sparc/sysv4.h sparc/sol2.h sparc/elf.h sparc/rtemself.h rtems.h"
-       tmake_file="sparc/t-elf t-rtems"
+       tmake_file="sparc/t-elf sparc/t-crtfm t-rtems"
        extra_parts="crti.o crtn.o crtbegin.o crtend.o"
        #float_format=i128
        float_format=i64
@@ -3071,22 +2400,23 @@ sparc-*-rtems*|sparc-*-rtemself*)
          thread_file='rtems'
        fi
        ;;
-sparcv9-*-solaris2* | sparc64-*-solaris2*)
-       if test x$gnu_ld = xyes
-       then
-               tm_file="sparc/sol2-sld-64.h sparc/sol2-64.h"
-       else
-               tm_file=sparc/sol2-sld-64.h
+sparc64-*-solaris2* | sparcv9-*-solaris2*)
+       tm_file="sparc/biarch64.h ${tm_file} dbxelf.h elfos.h svr4.h sparc/sysv4.h sparc/sol2.h sparc/sol2-64.h sparc/sol2-bi.h"
+       if test x$gnu_ld = xyes; then
+               tm_file="${tm_file} sparc/sol2-gld.h sparc/sol2-gld-bi.h"
+       fi
+       if test x$gas = xyes; then
+               tm_file="${tm_file} sparc/sol2-gas-bi.h"
        fi
        xm_defines=POSIX
-       tmake_file="sparc/t-sol2 sparc/t-sol2-64"
+       tmake_file="sparc/t-sol2 sparc/t-sol2-64 sparc/t-crtfm"
        if test x$gnu_ld = xyes; then
                tmake_file="$tmake_file t-slibgcc-elf-ver"
        else
                tmake_file="$tmake_file t-slibgcc-sld"
        fi
        extra_parts="crt1.o crti.o crtn.o gcrt1.o crtbegin.o crtend.o"
-       float_format=sparc
+       float_format=i128
        if test x${enable_threads} = x ; then
            enable_threads=$have_pthread_h
            if test x${enable_threads} = x ; then
@@ -3104,58 +2434,48 @@ sparcv9-*-solaris2* | sparc64-*-solaris2*)
 sparc-hal-solaris2*)
         xm_defines=POSIX
         tm_file="${tm_file} dbxelf.h elfos.h svr4.h sparc/sysv4.h sparc/sol2.h sparc/hal.h"
-        tmake_file="sparc/t-halos sparc/t-sol2"
+        tmake_file="sparc/t-halos sparc/t-sol2 sparc/t-crtfm"
        if test x$gnu_ld = xyes; then
+               tm_file="${tm_file} sparc/sol2-gld.h"
                tmake_file="$tmake_file t-slibgcc-elf-ver"
        else
                tmake_file="$tmake_file t-slibgcc-sld"
        fi
         extra_parts="crt1.o crti.o crtn.o gmon.o crtbegin.o crtend.o"
-        case $machine in
-        *-*-solaris2.[0-4])
-                float_format=i128
-        ;;
-        *)
-                float_format=sparc
-                ;;
-        esac
+       float_format=i128
        thread_file='solaris'
         ;;
 sparc-*-solaris2*)
-       if test x$gnu_ld = xyes
-       then
-               tm_file="${tm_file} dbxelf.h elfos.h svr4.h sparc/sysv4.h sparc/sol2.h"
-       else
-               tm_file="${tm_file} dbxelf.h elfos.h svr4.h sparc/sysv4.h sparc/sol2.h sparc/sol2-sld.h"
+       tm_file="${tm_file} dbxelf.h elfos.h svr4.h sparc/sysv4.h sparc/sol2.h"
+       if test x$gnu_ld = xyes; then
+               tm_file="${tm_file} sparc/sol2-gld.h"
        fi
-       xm_defines=POSIX
-       tmake_file=sparc/t-sol2
+       tmake_file="sparc/t-sol2 sparc/t-crtfm"
        if test x$gnu_ld = xyes; then
                tmake_file="$tmake_file t-slibgcc-elf-ver"
        else
                tmake_file="$tmake_file t-slibgcc-sld"
        fi
-       extra_parts="crt1.o crti.o crtn.o gcrt1.o gmon.o crtbegin.o crtend.o"
        case $machine in
-       *-*-solaris2.[0-6] | *-*-solaris2.[0-6].*) ;;
-       *-*-solaris2*)
-               if test x$gnu_ld = xyes
-               then
-                       tm_file="sparc/sol2-sld-64.h sparc/sol2-64.h"
-               else
-                       tm_file="sparc/sol2-sld-64.h"
+       *-*-solaris2.[0-6] | *-*-solaris2.[0-6].*)
+               if test x$gnu_ld = xno; then
+                       tm_file="${tm_file} sparc/sol26-sld.h"
                fi
-               tmake_file="$tmake_file sparc/t-sol2-64"
                ;;
-       esac
-       case $machine in
-       *-*-solaris2.[0-4])
-               float_format=i128
-               ;;
-       *)
-               float_format=sparc
+       *-*-solaris2.[789])
+               tm_file="sparc/biarch64.h ${tm_file} sparc/sol2-bi.h"
+               if test x$gnu_ld = xyes; then
+                       tm_file="${tm_file} sparc/sol2-gld-bi.h"
+               fi
+               if test x$gas = xyes; then
+                       tm_file="${tm_file} sparc/sol2-gas-bi.h"
+               fi
+               tmake_file="$tmake_file sparc/t-sol2-64"
                ;;
        esac
+       xm_defines=POSIX
+       extra_parts="crt1.o crti.o crtn.o gcrt1.o gmon.o crtbegin.o crtend.o"
+       float_format=i128
        if test x${enable_threads} = x; then
            enable_threads=$have_pthread_h
            if test x${enable_threads} = x; then
@@ -3211,7 +2531,7 @@ sparclite-*-aout*)
        ;;
 sparclite-*-elf*)
        tm_file="${tm_file} dbxelf.h elfos.h svr4.h sparc/sysv4.h sparc/sol2.h sparc/elf.h gofast.h sparc/liteelf.h"
-       tmake_file=sparc/t-sparclite
+       tmake_file="sparc/t-sparclite sparc/t-crtfm"
         extra_parts="crtbegin.o crtend.o"
        ;;
 sparc86x-*-aout*)
@@ -3220,7 +2540,7 @@ sparc86x-*-aout*)
        ;;
 sparc86x-*-elf*)
        tm_file="${tm_file} dbxelf.h elfos.h svr4.h sparc/sysv4.h sparc/sol2.h sparc/elf.h gofast.h sparc/sp86x-elf.h"
-       tmake_file=sparc/t-sp86x
+       tmake_file="sparc/t-sp86x sparc/t-crtfm"
         extra_parts="crtbegin.o crtend.o"
        ;;
 sparc64-*-aout*)
@@ -3228,10 +2548,12 @@ sparc64-*-aout*)
        ;;
 sparc64-*-elf*)
        tm_file="${tm_file} dbxelf.h elfos.h svr4.h sparc/sysv4.h sparc/sol2.h sparc/sp64-elf.h"
+       tmake_file="${tmake_file} sparc/t-crtfm"
        extra_parts="crtbegin.o crtend.o"
        ;;
 sparc64-*-freebsd*|ultrasparc-*-freebsd*)
        tm_file="${tm_file} ${fbsd_tm_file} dbxelf.h elfos.h sparc/sysv4.h sparc/freebsd.h"
+       tmake_file="${tmake_file} sparc/t-crtfm"
        xmake_file=none
        case "x$with_cpu" in
                xultrasparc) ;;
@@ -3240,7 +2562,7 @@ sparc64-*-freebsd*|ultrasparc-*-freebsd*)
        esac
        ;;
 sparc64-*-linux*)              # 64-bit Sparc's running GNU/Linux
-       tmake_file="t-slibgcc-elf-ver t-linux sparc/t-linux64"
+       tmake_file="t-slibgcc-elf-ver t-linux sparc/t-linux64 sparc/t-crtfm"
        tm_file="sparc/biarch64.h ${tm_file} dbxelf.h elfos.h svr4.h sparc/sysv4.h sparc/linux64.h"
        extra_parts="crtbegin.o crtbeginS.o crtbeginT.o crtend.o crtendS.o"
        gnu_ld=yes
@@ -3339,10 +2661,6 @@ vax-*-vms*)                      # VAXen running VMS
 vax-*-*)                       # VAX default entry
        float_format=vax
        ;;
-we32k-att-sysv*)
-       xm_defines=POSIX
-       use_collect2=yes
-       ;;
 xscale-*-elf)
        tm_file="arm/xscale-elf.h dbxelf.h elfos.h arm/unknown-elf.h arm/elf.h arm/aout.h arm/arm.h"
        tmake_file=arm/t-xscale-elf
@@ -3381,7 +2699,7 @@ xtensa-*-linux*)
        fi
        ;;
 *)
-       echo "Configuration $machine not supported" 1>&2
+       echo "*** Configuration $machine not supported" 1>&2
        exit 1
        ;;
 esac
@@ -3513,6 +2831,14 @@ hppa*-*-* | parisc*-*-*)
        then
                target_cpu_default2="MASK_GAS|MASK_JUMP_IN_DELAY"
        fi
+       case $machine in
+               hppa1.0* | parisc1.0*)
+                       tm_file="pa/pa-700.h ${tm_file}"
+                       ;;
+               hppa1.1* | parisc1.1*)
+                       tm_file="pa/pa-7100.h ${tm_file}"
+                       ;;
+       esac
        ;;
 
 mips*-*-ecoff* | mips*-*-elf*)
@@ -3566,6 +2892,15 @@ powerpc*-*-* | rs6000-*-*)
                        fi
                        ;;
        esac
+       case $machine in
+         *-*-darwin*)
+           ;;
+         *)
+           c_target_objs="rs6000-c.o"
+           cxx_target_objs="rs6000-c.o"
+           tmake_file="${tmake_file} rs6000/t-rs6000-c-rule"
+           ;;
+       esac
        ;;
 sparc*-*-*)
        case ".$with_cpu" in