# libgcc host-specific configuration file.
# Copyright (C) 1997-2014 Free Software Foundation, Inc.

#This file is part of GCC.

#GCC is free software; you can redistribute it and/or modify it under
#the terms of the GNU General Public License as published by the Free
#Software Foundation; either version 3, or (at your option) any later
#version.

#GCC 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 General Public License
#for more details.

#You should have received a copy of the GNU General Public License
#along with GCC; see the file COPYING3.  If not see
#<http://www.gnu.org/licenses/>.

# This is the libgcc host-specific configuration file
# where a configuration type is mapped to different system-specific
# definitions and files.  This is invoked by the autoconf-generated
# configure script.  Putting it in a separate shell file lets us skip
# running autoconf when modifying host-specific information.

# This file bears an obvious resemblance to gcc/config.gcc.  The cases
# should be kept similar, to ease moving library-specific settings
# from config.gcc to this file.  That is also why tmake_file is
# left as tmake_file, rather than hmake_file, even though this library
# switches on ${host}.

# This file switches on the shell variable ${host}, and also uses the
# following shell variables:
#
#  with_*		Various variables as set by configure.

# This file sets the following shell variables for use by the
# autoconf-generated configure script:
#
#  asm_hidden_op	The assembler pseudo-op to use for hide
#			lists for object files implemented in
#			assembly (with -fvisibility=hidden for C).
#			The default is ".hidden".
#  cpu_type		The name of the cpu, if different from the first
#			chunk of the canonical host name.
#  enable_execute_stack The name of a source file implementing
#			__enable_execute_stack.
#  extra_parts		List of extra object files that should be compiled
#			for this target machine.  This may be overridden
#			by setting EXTRA_PARTS in a tmake_file fragment.
#			If either is set, EXTRA_PARTS and
#			EXTRA_MULTILIB_PARTS inherited from the GCC
#			subdirectory will be ignored.
#  md_unwind_header	The name of a header file defining
#			MD_FALLBACK_FRAME_STATE_FOR.
#  sfp_machine_header	The name of a sfp-machine.h header file for soft-fp.
#  			Defaults to "$cpu_type/sfp-machine.h" if it exists,
#			no-sfp-machine.h otherwise.
#  tmake_file		A list of machine-description-specific
#			makefile fragments.
#  tm_defines		List of target macros to define for all compilations.
#  tm_file		A list of target macro files used only for code
#			built for the target, not the host.  These files
#			are relative to $srcdir/config and must not have
#			the same names as files in $srcdir/../gcc/config.
#  unwind_header	The name of the header file declaring the unwind
#			runtime interface routines.

asm_hidden_op=.hidden
enable_execute_stack=
extra_parts=
tmake_file=
tm_file=
tm_define=
md_unwind_header=no-unwind.h
unwind_header=unwind-generic.h

# Set default cpu_type so it can be updated in each machine entry.
cpu_type=`echo ${host} | sed 's/-.*$//'`
case ${host} in
m32c*-*-*)
        cpu_type=m32c
	tmake_file=t-fdpbit
        ;;
aarch64*-*-*)
	cpu_type=aarch64
	;;
alpha*-*-*)
	cpu_type=alpha
	;;
am33_2.0-*-linux*)
	cpu_type=mn10300
	;;
arc*-*-*)
	cpu_type=arc
	;;
arm*-*-*)
	cpu_type=arm
	;;
avr-*-*)
	cpu_type=avr
	;;    
bfin*-*)
	cpu_type=bfin
	;;
cr16-*-*)
	;;
crisv32-*-*)
	cpu_type=cris
	;;
fido-*-*)
	cpu_type=m68k
	;;
frv*)	cpu_type=frv
	;;
moxie*)	cpu_type=moxie
	;;
i[34567]86-*-*)
	cpu_type=i386
	;;
x86_64-*-*)
	cpu_type=i386
	;;
ia64-*-*)
	;;
hppa*-*-*)
	cpu_type=pa
	;;
lm32*-*-*)
	cpu_type=lm32
	;;
m32r*-*-*)
        cpu_type=m32r
        ;;
m68k-*-*)
	;;
mep*-*-*)
	;;
microblaze*-*-*)
	cpu_type=microblaze
	;;
mips*-*-*)
	# All MIPS targets provide a full set of FP routines.
	cpu_type=mips
	tmake_file="mips/t-mips"
	if test "${libgcc_cv_mips_hard_float}" = yes; then
		tmake_file="${tmake_file} t-hardfp-sfdf t-hardfp"
	else
		tmake_file="${tmake_file} t-softfp-sfdf"
	fi
	if test "${ac_cv_sizeof_long_double}" = 16; then
		tmake_file="${tmake_file} mips/t-softfp-tf"
	fi
	if test "${host_address}" = 64; then
		tmake_file="${tmake_file} mips/t-mips64"
	fi
	tmake_file="${tmake_file} t-softfp"
	;;
nds32*-*)
	cpu_type=nds32
	;;
nios2*-*-*)
	cpu_type=nios2
	;;
powerpc*-*-*)
	cpu_type=rs6000
	;;
rs6000*-*-*)
	;;
score*-*-*)
	cpu_type=score
	;;
sparc64*-*-*)
	cpu_type=sparc
	;;
sparc*-*-*)
	cpu_type=sparc
	;;
spu*-*-*)
	cpu_type=spu
	;;
s390*-*-*)
	cpu_type=s390
	;;
# Note the 'l'; we need to be able to match e.g. "shle" or "shl".
sh[123456789lbe]*-*-*)
	cpu_type=sh
	;;
tilegx*-*-*)
	cpu_type=tilegx
	;;
tilepro*-*-*)
	cpu_type=tilepro
	;;
v850*-*-*)
	cpu_type=v850
	;;
tic6x-*-*)
	cpu_type=c6x
	;;
esac

# Common parts for widely ported systems.
case ${host} in
*-*-darwin*)
  asm_hidden_op=.private_extern
  tmake_file="$tmake_file t-darwin ${cpu_type}/t-darwin t-libgcc-pic t-slibgcc-darwin"
  extra_parts="crt3.o crttms.o crttme.o"
  ;;
*-*-freebsd*)
  # This is the generic ELF configuration of FreeBSD.  Later
  # machine-specific sections may refine and add to this
  # configuration.
  tmake_file="$tmake_file t-freebsd t-crtstuff-pic t-libgcc-pic t-eh-dw2-dip t-slibgcc t-slibgcc-gld t-slibgcc-elf-ver"
  extra_parts="crtbegin.o crtend.o crtbeginS.o crtendS.o"
  case ${target_thread_file} in
    posix)
      tmake_file="${tmake_file} t-freebsd-thread"
      # Before 5.0, FreeBSD can't bind shared libraries to -lc
      # when "optionally" threaded via weak pthread_* checks.
      case ${host} in
        *-*-freebsd[34] | *-*-freebsd[34].*)
          tmake_file="${tmake_file} t-slibgcc-nolc-override"
          ;;
      esac
      ;;
  esac
  ;;
*-*-linux* | frv-*-*linux* | *-*-kfreebsd*-gnu | *-*-knetbsd*-gnu | *-*-gnu* | *-*-kopensolaris*-gnu | *-*-akaros*)
  tmake_file="$tmake_file t-crtstuff-pic t-libgcc-pic t-eh-dw2-dip t-slibgcc t-slibgcc-gld t-slibgcc-elf-ver t-linux"
  extra_parts="crtbegin.o crtbeginS.o crtbeginT.o crtend.o crtendS.o"
  if test x$enable_vtable_verify = xyes; then
    extra_parts="$extra_parts vtv_start.o vtv_end.o vtv_start_preinit.o vtv_end_preinit.o"
  fi
  ;;
*-*-lynxos*)
  tmake_file="$tmake_file t-lynx $cpu_type/t-crtstuff t-crtstuff-pic t-libgcc-pic"
  extra_parts="crtbegin.o crtbeginS.o crtend.o crtendS.o"
  ;;
*-*-netbsd*)
  tmake_file="$tmake_file t-crtstuff-pic t-libgcc-pic t-slibgcc t-slibgcc-gld t-slibgcc-elf-ver"
  # NetBSD 1.7 and later are set up to use GCC's crtstuff for
  # ELF configurations.  We will clear extra_parts in the
  # a.out configurations.
  case ${host} in
    *-*-netbsd*1.[7-9]* | *-*-netbsd[2-9]* | *-*-netbsdelf[2-9]*)
      extra_parts="crtbegin.o crtend.o crtbeginS.o crtendS.o crtbeginT.o"
      ;;
  esac
  ;;
*-*-openbsd*)
  tmake_file="$tmake_file t-crtstuff-pic t-libgcc-pic t-eh-dw2-dip"
  case ${target_thread_file} in
    posix)
      tmake_file="$tmake_file t-openbsd-thread"
      ;;
  esac
  ;;
*-*-rtems*)
  tmake_file="$tmake_file t-rtems"
  extra_parts="crtbegin.o crtend.o"
  ;;
*-*-solaris2*)
  # Unless linker support and dl_iterate_phdr are present,
  # unwind-dw2-fde-dip.c automatically falls back to unwind-dw2-fde.c.
  tmake_file="$tmake_file t-sol2 t-eh-dw2-dip t-libgcc-pic t-slibgcc t-slibgcc-elf-ver"
  if test $with_gnu_ld = yes; then
    tmake_file="$tmake_file t-slibgcc-gld"
  else
    tmake_file="$tmake_file t-slibgcc-sld"
  fi
  # Add cpu-specific t-sol2 after t-slibgcc-* so it can augment SHLIB_MAPFILES.
  tmake_file="$tmake_file $cpu_type/t-sol2"
  extra_parts="gmon.o crtbegin.o crtend.o"
  case ${host} in
    i?86-*-solaris2.1[0-9]* | x86_64-*-solaris2.1[0-9]*)
      # Solaris 10+/x86 provides crt1.o, crti.o, crtn.o, and gcrt1.o as
      # part of the base system.
      ;;
    sparc*-*-solaris2.1[0-9]*)
      # Solaris 10+/SPARC lacks crt1.o and gcrt1.o.
      extra_parts="$extra_parts crt1.o gcrt1.o"
      ;;
    *)
      extra_parts="$extra_parts crt1.o crti.o crtn.o gcrt1.o"
      ;;
  esac
  ;;
*-*-uclinux*)
  extra_parts="crtbegin.o crtend.o"
  ;;
*-*-*vms*)
  tmake_file="vms/t-vms"
  extra_parts="crt0.o crtbegin.o crtbeginS.o crtend.o crtendS.o"
  ;;
*-*-vxworks*)
  tmake_file=t-vxworks
  ;;
*-*-elf)
  extra_parts="crtbegin.o crtend.o"
  ;;
esac

case ${host} in
*-*-darwin* | *-*-freebsd* | *-*-netbsd* | *-*-openbsd* | *-*-solaris2*)
  enable_execute_stack=enable-execute-stack-mprotect.c
  ;;
i[34567]86-*-mingw* | x86_64-*-mingw*)
  enable_execute_stack=config/i386/enable-execute-stack-mingw32.c
  ;;
*)
  enable_execute_stack=enable-execute-stack-empty.c;
  ;;
esac

case ${host} in
aarch64*-*-elf)
	extra_parts="$extra_parts crtbegin.o crtend.o crti.o crtn.o"
	tmake_file="${tmake_file} ${cpu_type}/t-aarch64"
	tmake_file="${tmake_file} ${cpu_type}/t-softfp t-softfp"
	;;
aarch64*-*-linux*)
	md_unwind_header=aarch64/linux-unwind.h
	tmake_file="${tmake_file} ${cpu_type}/t-aarch64"
	tmake_file="${tmake_file} ${cpu_type}/t-softfp t-softfp"
	;;
alpha*-*-linux*)
	tmake_file="${tmake_file} alpha/t-alpha alpha/t-ieee t-crtfm alpha/t-linux"
	extra_parts="$extra_parts crtfastmath.o"
	md_unwind_header=alpha/linux-unwind.h
	;;
alpha*-*-freebsd*)
	tmake_file="${tmake_file} alpha/t-alpha alpha/t-ieee t-crtfm"
	extra_parts="$extra_parts crtbeginT.o crtfastmath.o"
	;;
alpha*-*-netbsd*)
	tmake_file="${tmake_file} alpha/t-alpha alpha/t-ieee"
	;;
alpha*-*-openbsd*)
	tmake_file="${tmake_file} alpha/t-alpha alpha/t-ieee"
	;;
alpha64-dec-*vms*)
	tmake_file="$tmake_file alpha/t-alpha alpha/t-ieee alpha/t-vms t-slibgcc-vms"
	extra_parts="$extra_parts vms-dwarf2.o vms-dwarf2eh.o"
	md_unwind_header=alpha/vms-unwind.h
	;;
alpha*-dec-*vms*)
	tmake_file="$tmake_file alpha/t-alpha alpha/t-ieee alpha/t-vms t-slibgcc-vms"
	extra_parts="$extra_parts vms-dwarf2.o vms-dwarf2eh.o"
	md_unwind_header=alpha/vms-unwind.h
	;;
arc*-*-elf*)
	tmake_file="arc/t-arc-newlib arc/t-arc"
	extra_parts="crti.o crtn.o crtend.o crtbegin.o crtendS.o crtbeginS.o libgmon.a crtg.o crtgend.o"
	;;
arc*-*-linux-uclibc*)
	tmake_file="${tmake_file} t-slibgcc-libgcc t-slibgcc-nolc-override arc/t-arc700-uClibc arc/t-arc"
	extra_parts="crti.o crtn.o crtend.o crtbegin.o crtendS.o crtbeginS.o libgmon.a crtg.o crtgend.o"
	;;
arm-wrs-vxworks)
	tmake_file="$tmake_file arm/t-arm arm/t-elf t-softfp-sfdf t-softfp-excl arm/t-softfp t-softfp"
	extra_parts="$extra_parts crti.o crtn.o"
	;;
arm*-*-netbsdelf*)
	tmake_file="$tmake_file arm/t-arm arm/t-netbsd t-slibgcc-gld-nover"
	;;
arm*-*-linux*)			# ARM GNU/Linux with ELF
	tmake_file="${tmake_file} arm/t-arm t-fixedpoint-gnu-prefix"
	tmake_file="${tmake_file} arm/t-elf arm/t-bpabi arm/t-linux-eabi t-slibgcc-libgcc"
	tm_file="$tm_file arm/bpabi-lib.h"
	unwind_header=config/arm/unwind-arm.h
	tmake_file="$tmake_file t-softfp-sfdf t-softfp-excl arm/t-softfp t-softfp"
	;;
arm*-*-uclinux*)		# ARM ucLinux
	tmake_file="${tmake_file} t-fixedpoint-gnu-prefix"
	tmake_file="$tmake_file arm/t-arm arm/t-elf t-softfp-sfdf t-softfp-excl arm/t-softfp t-softfp"
	tmake_file="${tmake_file} arm/t-bpabi"
	tm_file="$tm_file arm/bpabi-lib.h"
	unwind_header=config/arm/unwind-arm.h
	extra_parts="$extra_parts crti.o crtn.o"
	;;
arm*-*-eabi* | arm*-*-symbianelf* | arm*-*-rtems*)
	tmake_file="${tmake_file} arm/t-arm arm/t-elf t-fixedpoint-gnu-prefix"
	tm_file="$tm_file arm/bpabi-lib.h"
	case ${host} in
	arm*-*-eabi* | arm*-*-rtems*)
	  tmake_file="${tmake_file} arm/t-bpabi"
	  extra_parts="crtbegin.o crtend.o crti.o crtn.o"
	  ;;
	arm*-*-symbianelf*)
	  tmake_file="${tmake_file} arm/t-symbian t-slibgcc-nolc-override"
	  tm_file="$tm_file arm/symbian-lib.h"
	  # Symbian OS provides its own startup code.
	  ;;
	esac
	tmake_file="$tmake_file t-softfp-sfdf t-softfp-excl arm/t-softfp t-softfp"
	unwind_header=config/arm/unwind-arm.h
	;;
avr-*-rtems*)
	tmake_file="$tmake_file avr/t-avr avr/t-rtems t-fpbit"
	tm_file="$tm_file avr/avr-lib.h"
	# Don't use default.
	extra_parts=
	;;
avr-*-*)
	# Make HImode functions for AVR
	tmake_file="${cpu_type}/t-avr t-fpbit"
	if test x${with_avrlibc} != xno; then
	    tmake_file="$tmake_file ${cpu_type}/t-avrlibc"
	fi
	tm_file="$tm_file avr/avr-lib.h"
	;;
bfin*-elf*)
	tmake_file="bfin/t-bfin bfin/t-crtlibid bfin/t-crtstuff t-libgcc-pic t-fdpbit"
	extra_parts="$extra_parts crtbeginS.o crtendS.o crti.o crtn.o crtlibid.o"
        ;;
bfin*-uclinux*)
	tmake_file="bfin/t-bfin bfin/t-crtlibid bfin/t-crtstuff t-libgcc-pic t-fdpbit"
	extra_parts="$extra_parts crtbeginS.o crtendS.o crtlibid.o"
	md_unwind_header=bfin/linux-unwind.h
        ;;
bfin*-linux-uclibc*)
	tmake_file="$tmake_file bfin/t-bfin bfin/t-crtstuff t-libgcc-pic t-fdpbit bfin/t-linux"
	# No need to build crtbeginT.o on uClibc systems.  Should probably
	# be moved to the OS specific section above.
	extra_parts="crtbegin.o crtbeginS.o crtend.o crtendS.o"
	md_unwind_header=bfin/linux-unwind.h
	;;
bfin*-rtems*)
	tmake_file="$tmake_file bfin/t-bfin t-fdpbit"
	extra_parts="$extra_parts crti.o crtn.o"
	;;
bfin*-*)
	tmake_file="$tmake_file bfin/t-bfin t-fdpbit"
	extra_parts="crtbegin.o crtend.o crti.o crtn.o"
        ;;
cr16-*-elf)
	tmake_file="${tmake_file} cr16/t-cr16 cr16/t-crtlibid t-fdpbit"
	extra_parts="$extra_parts crti.o crtn.o crtlibid.o"
        ;;
crisv32-*-elf)
	tmake_file="$tmake_file cris/t-cris t-softfp-sfdf t-softfp"
 	;;
cris-*-elf)
	tmake_file="$tmake_file cris/t-cris t-softfp-sfdf t-softfp cris/t-elfmulti"
	;;
cris-*-linux* | crisv32-*-linux*)
	tmake_file="$tmake_file cris/t-cris t-softfp-sfdf t-softfp cris/t-linux"
	;;
epiphany-*-elf*)
	tmake_file="epiphany/t-epiphany t-fdpbit epiphany/t-custom-eqsf"
	extra_parts="$extra_parts crti.o crtint.o crtrunc.o crtm1reg-r43.o crtm1reg-r63.o crtn.o"
	;;
fr30-*-elf)
	tmake_file="$tmake_file fr30/t-fr30 t-fdpbit"
	extra_parts="$extra_parts crti.o crtn.o"
	;;
frv-*-elf)
	tmake_file="$tmake_file frv/t-frv t-fdpbit"
	tm_file="$tm_file frv/frv-abi.h"
	# Don't use crtbegin.o, crtend.o.
	extra_parts="frvbegin.o frvend.o"
	;;
frv-*-*linux*)
	tmake_file="$tmake_file frv/t-frv frv/t-linux t-fdpbit"
	tm_file="$tm_file frv/frv-abi.h"
	;;
h8300-*-rtems*)
	tmake_file="$tmake_file h8300/t-h8300 t-fpbit"
	tm_file="$tm_file h8300/h8300-lib.h"
	extra_parts="$extra_parts crti.o crtn.o"
	;;
h8300-*-elf*)
	tmake_file="$tmake_file h8300/t-h8300 t-fpbit"
	tm_file="$tm_file h8300/h8300-lib.h"
	extra_parts="$extra_parts crti.o crtn.o"
	;;
hppa*64*-*-linux*)
	tmake_file="$tmake_file pa/t-linux pa/t-linux64"
	extra_parts="crtbegin.o crtbeginS.o crtbeginT.o crtend.o crtendS.o"
	;;
hppa*-*-linux*)
	tmake_file="$tmake_file pa/t-linux t-slibgcc-libgcc"
	# Set the libgcc version number
	if test x$enable_sjlj_exceptions = xyes; then
	    tmake_file="$tmake_file pa/t-slibgcc-sjlj-ver"
	else
	    tmake_file="$tmake_file pa/t-slibgcc-dwarf-ver"
	fi
	extra_parts="crtbegin.o crtbeginS.o crtbeginT.o crtend.o crtendS.o"
	md_unwind_header=pa/linux-unwind.h
	;;
hppa[12]*-*-hpux10*)
	tmake_file="$tmake_file pa/t-hpux pa/t-hpux10 t-libgcc-pic t-slibgcc"
	# Set the libgcc version number
	if test x$enable_sjlj_exceptions = xyes; then
	    tmake_file="$tmake_file pa/t-slibgcc-sjlj-ver"
	else
	    tmake_file="$tmake_file pa/t-slibgcc-dwarf-ver"
	fi
	tmake_file="$tmake_file pa/t-slibgcc-hpux t-slibgcc-hpux"
	md_unwind_header=pa/hpux-unwind.h
	;;
hppa*64*-*-hpux11*)
	tmake_file="$tmake_file pa/t-hpux pa/t-pa64 pa/t-stublib t-libgcc-pic t-slibgcc"
	# Set the libgcc version number
	if test x$enable_sjlj_exceptions = xyes; then
	    tmake_file="$tmake_file pa/t-slibgcc-sjlj-ver"
	else
	    tmake_file="$tmake_file pa/t-slibgcc-dwarf-ver"
	fi
	tmake_file="$tmake_file pa/t-slibgcc-hpux t-slibgcc-hpux"
	extra_parts="crtbegin.o crtend.o crtbeginS.o crtendS.o crtbeginT.o \
		     libgcc_stub.a"
	md_unwind_header=pa/hpux-unwind.h
	;;
hppa[12]*-*-hpux11*)
	tmake_file="$tmake_file pa/t-hpux pa/t-stublib t-libgcc-pic t-slibgcc"
	# Set the libgcc version number
	if test x$enable_sjlj_exceptions = xyes; then
	    tmake_file="$tmake_file pa/t-slibgcc-sjlj-ver"
	else
	    tmake_file="$tmake_file pa/t-slibgcc-dwarf-ver"
	fi
	tmake_file="$tmake_file pa/t-slibgcc-hpux t-slibgcc-hpux"
	extra_parts="libgcc_stub.a"
	md_unwind_header=pa/hpux-unwind.h
	;;
hppa*-*-openbsd*)
	tmake_file="$tmake_file pa/t-openbsd"
	;;
i[34567]86-*-darwin*)
	tmake_file="$tmake_file i386/t-crtpc i386/t-crtfm"
	tm_file="$tm_file i386/darwin-lib.h"
	extra_parts="$extra_parts crtprec32.o crtprec64.o crtprec80.o crtfastmath.o"
	;;
x86_64-*-darwin*)
	tmake_file="$tmake_file i386/t-crtpc i386/t-crtfm"
	tm_file="$tm_file i386/darwin-lib.h"
	extra_parts="$extra_parts crtprec32.o crtprec64.o crtprec80.o crtfastmath.o"
	;;
i[34567]86-*-elf*)
	tmake_file="$tmake_file i386/t-crtstuff t-crtstuff-pic t-libgcc-pic"
	;;
x86_64-*-elf*)
	tmake_file="$tmake_file i386/t-crtstuff t-crtstuff-pic t-libgcc-pic"
	;;
i[34567]86-*-freebsd*)
	tmake_file="${tmake_file} i386/t-freebsd i386/t-crtstuff"
	;;
x86_64-*-freebsd*)
	tmake_file="${tmake_file} i386/t-freebsd i386/t-crtstuff"
	;;
i[34567]86-*-netbsdelf*)
	;;
x86_64-*-netbsd*)
	tmake_file="${tmake_file} i386/t-crtstuff"
	;;
i[34567]86-*-openbsd2.*|i[34567]86-*openbsd3.[0123])
	;;
i[34567]86-*-openbsd*)
	;;
x86_64-*-openbsd*)
	;;
riscv*-*-akaros*)
	;;
i[34567]86-*-linux*)
	extra_parts="$extra_parts crtprec32.o crtprec64.o crtprec80.o crtfastmath.o"
	tmake_file="${tmake_file} i386/t-crtpc i386/t-crtfm i386/t-crtstuff t-dfprules"
	md_unwind_header=i386/linux-unwind.h
	;;
i[34567]86-*-akaros* | i[34567]86-*-kfreebsd*-gnu | i[34567]86-*-knetbsd*-gnu | i[34567]86-*-gnu* | i[34567]86-*-kopensolaris*-gnu)
	extra_parts="$extra_parts crtprec32.o crtprec64.o crtprec80.o crtfastmath.o"
	tmake_file="${tmake_file} i386/t-crtpc i386/t-crtfm i386/t-crtstuff t-dfprules"
	;;
x86_64-*-linux*)
	extra_parts="$extra_parts crtprec32.o crtprec64.o crtprec80.o crtfastmath.o"
	tmake_file="${tmake_file} i386/t-crtpc i386/t-crtfm i386/t-crtstuff t-dfprules"
	md_unwind_header=i386/linux-unwind.h
	;;
x86_64-*-akaros* | x86_64-*-kfreebsd*-gnu | x86_64-*-knetbsd*-gnu)
	extra_parts="$extra_parts crtprec32.o crtprec64.o crtprec80.o crtfastmath.o"
	tmake_file="${tmake_file} i386/t-crtpc i386/t-crtfm i386/t-crtstuff t-dfprules"
	;;
i[34567]86-pc-msdosdjgpp*)
	;;
i[34567]86-*-lynxos*)
	;;
i[34567]86-*-nto-qnx*)
	tmake_file="$tmake_file i386/t-nto t-libgcc-pic"
	extra_parts=crtbegin.o
	;;
i[34567]86-*-rtems*)
	tmake_file="$tmake_file i386/t-crtstuff t-softfp-sfdf t-softfp"
	extra_parts="$extra_parts crti.o crtn.o"
	;;
i[34567]86-*-solaris2* | x86_64-*-solaris2.1[0-9]*)
	tmake_file="$tmake_file i386/t-crtpc i386/t-crtfm"
	extra_parts="$extra_parts crtprec32.o crtprec64.o crtprec80.o crtfastmath.o"
	md_unwind_header=i386/sol2-unwind.h
	;;
i[4567]86-wrs-vxworks|i[4567]86-wrs-vxworksae)
	;;
i[34567]86-*-cygwin*)
	extra_parts="crtbegin.o crtend.o crtfastmath.o"
	# This has to match the logic for DWARF2_UNWIND_INFO in gcc/config/i386/cygming.h
	if test x$enable_sjlj_exceptions = xyes; then
		tmake_eh_file="i386/t-sjlj-eh"
	else
		tmake_eh_file="i386/t-dw2-eh"
	fi
	# Shared libgcc DLL install dir depends on cross/native build.
	if test x${build} = x${host} ; then
		tmake_dlldir_file="i386/t-dlldir"
	else
		tmake_dlldir_file="i386/t-dlldir-x"
	fi
	tmake_file="${tmake_file} ${tmake_eh_file} ${tmake_dlldir_file} i386/t-slibgcc-cygming i386/t-cygming i386/t-cygwin i386/t-crtfm i386/t-chkstk t-dfprules"
	;;
x86_64-*-cygwin*)
	extra_parts="crtbegin.o crtend.o crtfastmath.o"
	# This has to match the logic for DWARF2_UNWIND_INFO in gcc/config/i386/cygming.h
	if test x$enable_sjlj_exceptions = xyes; then
		tmake_eh_file="i386/t-sjlj-eh"
	else
		tmake_eh_file="i386/t-seh-eh"
	fi
	# Shared libgcc DLL install dir depends on cross/native build.
	if test x${build} = x${host} ; then
		tmake_dlldir_file="i386/t-dlldir"
	else
		tmake_dlldir_file="i386/t-dlldir-x"
	fi
	# FIXME - dj - t-chkstk used to be in here, need a 64-bit version of that
	tmake_file="${tmake_file} ${tmake_eh_file} ${tmake_dlldir_file} i386/t-slibgcc-cygming i386/t-cygming i386/t-cygwin i386/t-crtfm t-dfprules i386/t-chkstk"
	;;
i[34567]86-*-mingw*)
	extra_parts="crtbegin.o crtend.o crtfastmath.o"
	case ${target_thread_file} in
	  win32)
	    tmake_file="$tmake_file i386/t-gthr-win32"
	    ;;
	  posix)
	    tmake_file="i386/t-mingw-pthread $tmake_file"
	    ;;
	esac
	# This has to match the logic for DWARF2_UNWIND_INFO in gcc/config/i386/cygming.h
	if test x$enable_sjlj_exceptions = xyes; then
		tmake_eh_file="i386/t-sjlj-eh"
	else
		tmake_eh_file="i386/t-dw2-eh"
		md_unwind_header=i386/w32-unwind.h
	fi
	# Shared libgcc DLL install dir depends on cross/native build.
	if test x${build} = x${host} ; then
		tmake_dlldir_file="i386/t-dlldir"
	else
		tmake_dlldir_file="i386/t-dlldir-x"
	fi
	tmake_file="${tmake_file} ${tmake_eh_file} ${tmake_dlldir_file} i386/t-slibgcc-cygming i386/t-cygming i386/t-mingw32 i386/t-crtfm i386/t-chkstk t-dfprules"
	;;
x86_64-*-mingw*)
	case ${target_thread_file} in
	  win32)
	    tmake_file="$tmake_file i386/t-gthr-win32"
	    ;;
	  posix)
	    tmake_file="i386/t-mingw-pthread $tmake_file"
	    ;;
	esac
	# This has to match the logic for DWARF2_UNWIND_INFO in gcc/config/i386/cygming.h
	if test x$enable_sjlj_exceptions = xyes; then
		tmake_eh_file="i386/t-sjlj-eh"
	else
		tmake_eh_file="i386/t-seh-eh"
	fi
	# Shared libgcc DLL install dir depends on cross/native build.
	if test x${build} = x${host} ; then
		tmake_dlldir_file="i386/t-dlldir"
	else
		tmake_dlldir_file="i386/t-dlldir-x"
	fi
	tmake_file="${tmake_file} ${tmake_eh_file} ${tmake_dlldir_file} i386/t-slibgcc-cygming i386/t-mingw32 t-dfprules i386/t-crtfm i386/t-chkstk"
	extra_parts="$extra_parts crtfastmath.o"
	;;
i[34567]86-*-interix[3-9]*)
	tmake_file="$tmake_file i386/t-interix i386/t-chkstk"
	;;
ia64*-*-elf*)
	extra_parts="$extra_parts crtbeginS.o crtendS.o crtfastmath.o"
	tmake_file="ia64/t-ia64 ia64/t-ia64-elf ia64/t-eh-ia64 t-crtfm"
	;;
ia64*-*-freebsd*)
	extra_parts="$extra_parts crtfastmath.o"
	tmake_file="$tmake_file ia64/t-ia64 ia64/t-ia64-elf ia64/t-eh-ia64 t-crtfm"
	;;
ia64*-*-linux*)
	# Don't use crtbeginT.o from *-*-linux* default.
	extra_parts="crtbegin.o crtend.o crtbeginS.o crtendS.o crtfastmath.o"
	tmake_file="$tmake_file ia64/t-ia64 ia64/t-ia64-elf t-crtfm t-softfp-tf ia64/t-softfp t-softfp ia64/t-softfp-compat ia64/t-eh-ia64 t-libunwind ia64/t-linux"
	if test x$with_system_libunwind != xyes ; then
		tmake_file="${tmake_file} t-libunwind-elf ia64/t-linux-libunwind"
	fi
	md_unwind_header=ia64/linux-unwind.h
	;;
ia64*-*-hpux*)
	tmake_file="ia64/t-ia64 ia64/t-ia64-elf ia64/t-hpux t-slibgcc ia64/t-slibgcc-hpux t-slibgcc-hpux"
	;;
ia64-hp-*vms*)
	tmake_file="$tmake_file ia64/t-ia64 ia64/t-eh-ia64 ia64/t-vms t-slibgcc-vms"
	extra_parts="$extra_parts crtinitS.o"
	md_unwind_header=ia64/vms-unwind.h
	;;
iq2000*-*-elf*)
	tmake_file="iq2000/t-iq2000 t-fdpbit"
	# Don't use default.
	extra_parts=
        ;;
lm32-*-elf*)
        extra_parts="$extra_parts crti.o crtn.o"
        tmake_file="lm32/t-lm32 lm32/t-elf t-softfp-sfdf t-softfp"
	;;
lm32-*-rtems*)
        tmake_file="$tmake_file lm32/t-lm32 lm32/t-elf t-softfp-sfdf t-softfp"
        extra_parts="$extra_parts crti.o crtn.o"
	;;
lm32-*-uclinux*)
        extra_parts="$extra_parts crtbegin.o crtendS.o crtbeginT.o"
        tmake_file="lm32/t-lm32 lm32/t-uclinux t-libgcc-pic t-softfp-sfdf t-softfp"
	;;	
m32r-*-elf*)
	tmake_file=t-fdpbit
 	;;
m32r-*-rtems*)
	tmake_file="$tmake_file m32r/t-m32r t-fdpbit"
	extra_parts="$extra_parts crtinit.o crtfini.o"
	;;
m32rle-*-elf*)
	tmake_file=t-fdpbit
	;;
m32r-*-linux*)
	tmake_file="$tmake_file m32r/t-linux t-fdpbit"
 	;;
m32rle-*-linux*)
	tmake_file="$tmake_file m32r/t-linux t-fdpbit"
	;;
m68k-*-elf* | fido-*-elf)
	tmake_file="$tmake_file m68k/t-floatlib"
	;;
m68k*-*-netbsdelf*)
	;;
m68k*-*-openbsd*)
	;;
m68k-*-uclinux*)	# Motorola m68k/ColdFire running uClinux with uClibc
	tmake_file="$tmake_file m68k/t-floatlib m68k/t-linux"
	md_unwind_header=m68k/linux-unwind.h
	;;
m68k-*-linux*)			# Motorola m68k's running GNU/Linux
				# with ELF format using glibc 2
				# aka the GNU/Linux C library 6.
	tmake_file="$tmake_file m68k/t-floatlib m68k/t-linux"
	# If not configured with --enable-sjlj-exceptions, bump the
	# libgcc version number.
	if test x$enable_sjlj_exceptions != xyes; then
	    tmake_file="$tmake_file m68k/t-slibgcc-elf-ver"
	fi
	md_unwind_header=m68k/linux-unwind.h
	;;
m68k-*-rtems*)
	tmake_file="$tmake_file m68k/t-floatlib"
	extra_parts="$extra_parts crti.o crtn.o"
	;;
mcore-*-elf)
	tmake_file="mcore/t-mcore t-fdpbit"
	extra_parts="$extra_parts crti.o crtn.o"
	;;
microblaze*-linux*)
	tmake_file="${tmake_file} microblaze/t-microblaze t-fdpbit t-slibgcc-libgcc"
	;;
microblaze*-*-elf)
	tmake_file="${tmake_file} microblaze/t-microblaze t-fdpbit"
	extra_parts="$extra_parts crtbeginS.o crtendS.o crtbeginT.o crti.o crtn.o"
	;;
microblaze*-*-rtems*)
	tmake_file="${tmake_file} microblaze/t-microblaze t-fdpbit"
	extra_parts="$extra_parts crtbeginS.o crtendS.o crtbeginT.o crti.o crtn.o"
	;;
mips*-*-netbsd*)			# NetBSD/mips, either endian.
	;;
mips*-*-linux*)				# Linux MIPS, either endian.
	extra_parts="$extra_parts crtfastmath.o"
	tmake_file="${tmake_file} t-crtfm"
	case ${host} in
	  mips64r5900* | mipsr5900*)
	    # The MIPS16 support code uses floating point
	    # instructions that are not supported on r5900.
	    ;;
	  *)
	    tmake_file="${tmake_file} mips/t-mips16 t-slibgcc-libgcc"
	    ;;
	esac
	md_unwind_header=mips/linux-unwind.h
	;;
mips*-sde-elf*)
	tmake_file="$tmake_file mips/t-crtstuff mips/t-mips16"
	case "${with_newlib}" in
	  yes)
	    # newlib / libgloss.
	    ;;
	  *)
	    # MIPS toolkit libraries.
	    tmake_file="$tmake_file mips/t-sdemtk"
	    ;;
	esac
	extra_parts="$extra_parts crti.o crtn.o"
	;;
mipsisa32-*-elf* | mipsisa32el-*-elf* | \
mipsisa32r2-*-elf* | mipsisa32r2el-*-elf* | \
mipsisa64-*-elf* | mipsisa64el-*-elf* | \
mipsisa64r2-*-elf* | mipsisa64r2el-*-elf*)
	tmake_file="$tmake_file mips/t-elf mips/t-crtstuff mips/t-mips16"
	extra_parts="$extra_parts crti.o crtn.o"
	;;
mipsisa64sr71k-*-elf*)
	tmake_file="$tmake_file mips/t-elf mips/t-crtstuff t-fdpbit"
	extra_parts="$extra_parts crti.o crtn.o"
        ;;
mipsisa64sb1-*-elf* | mipsisa64sb1el-*-elf*)
	tmake_file="$tmake_file mips/t-elf mips/t-crtstuff mips/t-mips16"
	extra_parts="$extra_parts crti.o crtn.o"
	;;
mips-*-elf* | mipsel-*-elf*)
	tmake_file="$tmake_file mips/t-elf mips/t-crtstuff mips/t-mips16"
	extra_parts="$extra_parts crti.o crtn.o"
	;;
mipsr5900-*-elf* | mipsr5900el-*-elf*)
	tmake_file="$tmake_file mips/t-elf mips/t-crtstuff"
	extra_parts="$extra_parts crti.o crtn.o"
	;;
mips64-*-elf* | mips64el-*-elf*)
	tmake_file="$tmake_file mips/t-elf mips/t-crtstuff mips/t-mips16"
	extra_parts="$extra_parts crti.o crtn.o"
	;;
mips64r5900-*-elf* | mips64r5900el-*-elf*)
	tmake_file="$tmake_file mips/t-elf mips/t-crtstuff"
	extra_parts="$extra_parts crti.o crtn.o"
	;;
mips64vr-*-elf* | mips64vrel-*-elf*)
	tmake_file="$tmake_file mips/t-elf mips/t-vr mips/t-crtstuff"
	extra_parts="$extra_parts crti.o crtn.o"
        ;;
mips64orion-*-elf* | mips64orionel-*-elf*)
	tmake_file="$tmake_file mips/t-elf mips/t-crtstuff mips/t-mips16"
	extra_parts="$extra_parts crti.o crtn.o"
	;;
mips*-*-rtems*)
	tmake_file="$tmake_file mips/t-elf mips/t-crtstuff mips/t-mips16"
	extra_parts="$extra_parts crti.o crtn.o"
	;;
mips-wrs-vxworks)
	;;
mipstx39-*-elf* | mipstx39el-*-elf*)
	tmake_file="$tmake_file mips/t-crtstuff mips/t-mips16"
	;;
mmix-knuth-mmixware)
	extra_parts="crti.o crtn.o crtbegin.o crtend.o"
	tmake_file="${tmake_file} ${cpu_type}/t-${cpu_type}"
	;;
mn10300-*-*)
	tmake_file=t-fdpbit
	;;
moxie-*-elf | moxie-*-uclinux*)
	tmake_file="moxie/t-moxie t-softfp-sfdf t-softfp-excl t-softfp"
	extra_parts="$extra_parts crti.o crtn.o"
	;;
moxie-*-rtems*)
	tmake_file="$tmake_file moxie/t-moxie t-softfp-sfdf t-softfp-excl t-softfp"
	# Don't use default.
	extra_parts=
	;;
msp430*-*-elf)
	tmake_file="$tm_file t-crtstuff t-fdpbit msp430/t-msp430"
	;;
nds32*-elf*)
	# Basic makefile fragment and extra_parts for crt stuff.
	# We also append c-isr library implementation.
	tmake_file="${tmake_file} nds32/t-nds32 nds32/t-nds32-isr"
	extra_parts="crtbegin1.o crtend1.o libnds32_isr.a"
	# Append library definition makefile fragment according to --with-nds32-lib=X setting.
	case "${with_nds32_lib}" in
	"" | newlib)
		# Append library definition makefile fragment t-nds32-newlib.
		# Append 'soft-fp' software floating point make rule fragment provided by gcc.
		tmake_file="${tmake_file} nds32/t-nds32-newlib t-softfp-sfdf t-softfp"
		;;
	mculib)
		# Append library definition makefile fragment t-nds32-mculib.
		# The software floating point library is included in mculib.
		tmake_file="${tmake_file} nds32/t-nds32-mculib"
		;;
	*)
		echo "Cannot accept --with-nds32-lib=$with_nds32_lib, available values are: newlib mculib" 1>&2
		exit 1
		;;
	esac
	;;
nios2-*-linux*)
	tmake_file="$tmake_file nios2/t-nios2 nios2/t-linux t-libgcc-pic t-slibgcc-libgcc"
	extra_parts="$extra_parts crti.o crtn.o"
	md_unwind_header=nios2/linux-unwind.h
	;;
nios2-*-*)
	tmake_file="$tmake_file nios2/t-nios2 t-softfp-sfdf t-softfp-excl t-softfp"
	extra_parts="$extra_parts crti.o crtn.o"
	;;
pdp11-*-*)
	tmake_file="pdp11/t-pdp11 t-fdpbit"
	;;
picochip-*-*)
	tmake_file="picochip/t-picochip t-fpbit"
        ;;
powerpc-*-darwin*)
	case ${host} in
	*-*-darwin9* | *-*-darwin[12][0-9]*)
	  # libSystem contains unwind information for signal frames since
	  # Darwin 9.
	  ;;
	*)
	  md_unwind_header=rs6000/darwin-unwind.h
	  ;;
	esac
	tmake_file="$tmake_file rs6000/t-ibm-ldouble"
	extra_parts="$extra_parts crt2.o"
	;;
powerpc64-*-darwin*)
	tmake_file="$tmake_file rs6000/t-darwin64 rs6000/t-ibm-ldouble"
	extra_parts="$extra_parts crt2.o"
	;;
powerpc*-*-freebsd*)
	tmake_file="${tmake_file} rs6000/t-ppccomm rs6000/t-savresfgpr rs6000/t-crtstuff rs6000/t-freebsd t-softfp-sfdf t-softfp-excl t-softfp"
	extra_parts="$extra_parts crtbeginT.o ecrti.o ecrtn.o ncrti.o ncrtn.o"
	case ${host} in
	powerpc64*)
	  tmake_file="${tmake_file} rs6000/t-freebsd64"
	  md_unwind_header=rs6000/freebsd-unwind.h
	  ;;
	esac
	;;
powerpc-*-netbsd*)
	tmake_file="$tmake_file rs6000/t-netbsd rs6000/t-crtstuff"
	;;
powerpc-*-eabispe*)
	tmake_file="${tmake_file} rs6000/t-ppccomm rs6000/t-savresfgpr rs6000/t-crtstuff t-crtstuff-pic t-fdpbit"
	extra_parts="$extra_parts crtbegin.o crtend.o crtbeginS.o crtendS.o crtbeginT.o ecrti.o ecrtn.o ncrti.o ncrtn.o"
	;;
powerpc-*-eabisimaltivec*)
	tmake_file="${tmake_file} rs6000/t-ppccomm rs6000/t-crtstuff t-crtstuff-pic t-fdpbit"
	extra_parts="$extra_parts crtbegin.o crtend.o crtbeginS.o crtendS.o crtbeginT.o ecrti.o ecrtn.o ncrti.o ncrtn.o"
	;;
powerpc-*-eabisim*)
	tmake_file="${tmake_file} rs6000/t-ppccomm rs6000/t-crtstuff t-crtstuff-pic t-fdpbit"
	extra_parts="$extra_parts crtbegin.o crtend.o crtbeginS.o crtendS.o crtbeginT.o ecrti.o ecrtn.o ncrti.o ncrtn.o"
	;;
powerpc-*-elf*)
	tmake_file="${tmake_file} rs6000/t-ppccomm rs6000/t-savresfgpr rs6000/t-crtstuff t-crtstuff-pic t-fdpbit"
	extra_parts="$extra_parts crtbeginS.o crtendS.o crtbeginT.o ecrti.o ecrtn.o ncrti.o ncrtn.o"
	;;
powerpc-*-eabialtivec*)
	tmake_file="${tmake_file} rs6000/t-ppccomm rs6000/t-crtstuff t-crtstuff-pic t-fdpbit"
	extra_parts="$extra_parts crtbegin.o crtend.o crtbeginS.o crtendS.o crtbeginT.o ecrti.o ecrtn.o ncrti.o ncrtn.o"
	;;
powerpc-xilinx-eabi*)
	tmake_file="${tmake_file} rs6000/t-ppccomm rs6000/t-crtstuff t-crtstuff-pic t-fdpbit"
	extra_parts="$extra_parts crtbegin.o crtend.o crtbeginS.o crtendS.o crtbeginT.o ecrti.o ecrtn.o ncrti.o ncrtn.o"
	;;
powerpc-*-eabi*)
	tmake_file="${tmake_file} rs6000/t-ppccomm rs6000/t-savresfgpr rs6000/t-crtstuff t-crtstuff-pic t-fdpbit"
	extra_parts="$extra_parts crtbegin.o crtend.o crtbeginS.o crtendS.o crtbeginT.o ecrti.o ecrtn.o ncrti.o ncrtn.o"
	;;
powerpc-*-rtems*)
	tmake_file="${tmake_file} rs6000/t-ppccomm rs6000/t-savresfgpr rs6000/t-crtstuff t-crtstuff-pic t-fdpbit"
	extra_parts="$extra_parts crtbeginS.o crtendS.o crtbeginT.o ecrti.o ecrtn.o ncrti.o ncrtn.o"
	;;
powerpc*-*-linux*)
	tmake_file="${tmake_file} rs6000/t-ppccomm rs6000/t-savresfgpr rs6000/t-crtstuff rs6000/t-linux t-softfp-sfdf t-softfp-excl t-dfprules rs6000/t-ppc64-fp t-softfp t-slibgcc-libgcc"
	extra_parts="$extra_parts ecrti.o ecrtn.o ncrti.o ncrtn.o"
	md_unwind_header=rs6000/linux-unwind.h
	;;
powerpc-wrs-vxworks|powerpc-wrs-vxworksae)
	tmake_file="$tmake_file rs6000/t-ppccomm rs6000/t-savresfgpr t-fdpbit"
	;;
powerpc-*-lynxos*)
	tmake_file="$tmake_file rs6000/t-lynx t-fdpbit"
	;;
powerpcle-*-elf*)
	tmake_file="${tmake_file} rs6000/t-ppccomm rs6000/t-crtstuff t-crtstuff-pic t-fdpbit"
	extra_parts="$extra_parts crtbeginS.o crtendS.o crtbeginT.o ecrti.o ecrtn.o ncrti.o ncrtn.o"
	;;
powerpcle-*-eabisim*)
	tmake_file="${tmake_file} rs6000/t-ppccomm rs6000/t-crtstuff t-crtstuff-pic t-fdpbit"
	extra_parts="$extra_parts crtbegin.o crtend.o crtbeginS.o crtendS.o crtbeginT.o ecrti.o ecrtn.o ncrti.o ncrtn.o"
	;;
powerpcle-*-eabi*)
	tmake_file="${tmake_file} rs6000/t-ppccomm rs6000/t-crtstuff t-crtstuff-pic t-fdpbit"
	extra_parts="$extra_parts crtbegin.o crtend.o crtbeginS.o crtendS.o crtbeginT.o ecrti.o ecrtn.o ncrti.o ncrtn.o"
	;;
rs6000-ibm-aix4.[3456789]* | powerpc-ibm-aix4.[3456789]*)
	md_unwind_header=rs6000/aix-unwind.h
	tmake_file="t-fdpbit rs6000/t-ppc64-fp rs6000/t-slibgcc-aix rs6000/t-ibm-ldouble"
	;;
rs6000-ibm-aix5.1.* | powerpc-ibm-aix5.1.*)
	md_unwind_header=rs6000/aix-unwind.h
	tmake_file="t-fdpbit rs6000/t-ppc64-fp rs6000/t-slibgcc-aix rs6000/t-ibm-ldouble"
	;;
rs6000-ibm-aix[56789].* | powerpc-ibm-aix[56789].*)
	md_unwind_header=rs6000/aix-unwind.h
	tmake_file="t-fdpbit rs6000/t-ppc64-fp rs6000/t-slibgcc-aix rs6000/t-ibm-ldouble rs6000/t-aix-cxa"
	extra_parts="crtcxa.o crtcxa_s.o"
	;;
rl78-*-elf)
	tmake_file="$tm_file t-fdpbit rl78/t-rl78"
	;;
rx-*-elf)
	tmake_file="rx/t-rx t-fdpbit"
	tm_file="$tm_file rx/rx-abi.h rx/rx-lib.h"
	;;
s390-*-linux*)
	tmake_file="${tmake_file} s390/t-crtstuff s390/t-linux s390/32/t-floattodi"
	md_unwind_header=s390/linux-unwind.h
	;;
s390x-*-linux*)
	tmake_file="${tmake_file} s390/t-crtstuff s390/t-linux"
	if test "${host_address}" = 32; then
	   tmake_file="${tmake_file} s390/32/t-floattodi"
	fi
	md_unwind_header=s390/linux-unwind.h
	;;
s390x-ibm-tpf*)
	tmake_file="${tmake_file} s390/t-crtstuff t-libgcc-pic t-eh-dw2-dip"
	extra_parts="crtbeginS.o crtendS.o"
	md_unwind_header=s390/tpf-unwind.h
	;;
score-*-elf)
	tmake_file="${tmake_file} t-softfp-sfdf t-softfp-excl t-softfp"
	extra_parts="$extra_parts crti.o crtn.o"
        ;;
sh-*-elf* | sh[12346l]*-*-elf*)
	tmake_file="$tmake_file sh/t-sh t-crtstuff-pic t-fdpbit"
	extra_parts="$extra_parts crt1.o crti.o crtn.o crtbeginS.o crtendS.o \
		libic_invalidate_array_4-100.a \
		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"
		extra_parts="$extra_parts crt1-mmu.o gcrt1-mmu.o gcrt1.o"
 		;;
 	esac
	;;
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*)
	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
	# in libgcc.
	;;
sh-*-rtems*)
	tmake_file="$tmake_file sh/t-sh t-crtstuff-pic t-fdpbit"
	extra_parts="$extra_parts crt1.o crti.o crtn.o crtbeginS.o crtendS.o \
		libic_invalidate_array_4-100.a \
		libic_invalidate_array_4-200.a \
		libic_invalidate_array_4a.a \
		libgcc-Os-4-200.a libgcc-4-300.a"
	;;
sh-wrs-vxworks)
	tmake_file="$tmake_file sh/t-sh t-crtstuff-pic t-fdpbit"
	;;
sparc-*-netbsdelf*)
	;;
sparc64-*-openbsd*)
	;;
sparc-*-elf*)
	case ${host} in
	*-leon[3-9]*)
		;;
	*)
	  	tmake_file="sparc/t-softmul"
	  	;;
	esac
	tmake_file="${tmake_file} t-fdpbit t-crtfm"
	extra_parts="$extra_parts crti.o crtn.o crtfastmath.o"
	;;
sparc-*-linux*)		# SPARC's running GNU/Linux, libc6
	tmake_file="${tmake_file} t-crtfm"
	if test "${host_address}" = 64; then
		tmake_file="$tmake_file sparc/t-linux64"
	fi
	case ${host} in
	*-leon*)
		tmake_file="${tmake_file} t-fdpbit"
		;;
	*)
		tmake_file="${tmake_file} sparc/t-linux"
		;;
	esac
	case ${host} in
	*-leon[3-9]*)
		;;
	*)
		if test "${host_address}" = 32; then
			tmake_file="$tmake_file sparc/t-softmul"
		fi
	  	;;
	esac
	extra_parts="$extra_parts crtfastmath.o"
	md_unwind_header=sparc/linux-unwind.h
	;;
sparc-*-rtems*)
	tmake_file="$tmake_file sparc/t-elf sparc/t-softmul t-crtfm t-fdpbit"
	extra_parts="$extra_parts crti.o crtn.o crtfastmath.o"
	;;
sparc*-*-solaris2*)
	tmake_file="$tmake_file t-crtfm"
	extra_parts="$extra_parts crtfastmath.o"
	md_unwind_header=sparc/sol2-unwind.h
	;;
sparc64-*-elf*)
	tmake_file="${tmake_file} t-crtfm"
	extra_parts="$extra_parts crti.o crtn.o crtfastmath.o"
	;;
sparc64-*-rtems*)
	tmake_file="$tmake_file t-crtfm"
	extra_parts="$extra_parts crti.o crtn.o crtfastmath.o"
	;;
sparc-wrs-vxworks)
	;;
sparc64-*-freebsd*|ultrasparc-*-freebsd*)
	tmake_file="$tmake_file t-crtfm"
	extra_parts="$extra_parts crtfastmath.o"
	;;
sparc64-*-linux*)		# 64-bit SPARC's running GNU/Linux
	extra_parts="$extra_parts crtfastmath.o"
	tmake_file="${tmake_file} t-crtfm sparc/t-linux"
	if test "${host_address}" = 64; then
		tmake_file="${tmake_file} sparc/t-linux64"
	fi
	if test "${host_address}" = 32; then
		tmake_file="${tmake_file} sparc/t-softmul"
	fi
	md_unwind_header=sparc/linux-unwind.h
	;;
sparc64-*-netbsd*)
	;;
spu-*-elf*)
	tmake_file="$tmake_file spu/t-elf t-libgcc-pic t-fdpbit"
	extra_parts="$extra_parts \
		libgcc_cachemgr.a libgcc_cachemgr_nonatomic.a \
		libgcc_cache8k.a libgcc_cache16k.a libgcc_cache32k.a \
		libgcc_cache64k.a libgcc_cache128k.a"
	;;
tic6x-*-uclinux)
	tmake_file="${tmake_file} t-softfp-sfdf t-softfp-excl t-softfp \
		c6x/t-elf  c6x/t-uclinux t-crtstuff-pic t-libgcc-pic \
		t-slibgcc t-slibgcc-gld t-slibgcc-elf-ver t-gnu-prefix"
	tm_file="$tm_file c6x/c6x-abi.h"
	extra_parts="$extra_parts crtbeginS.o crtendS.o crti.o crtn.o"
	unwind_header=config/c6x/unwind-c6x.h
	;;
tic6x-*-elf)
	tmake_file="${tmake_file} t-softfp-sfdf t-softfp-excl t-softfp t-gnu-prefix c6x/t-elf"
	tm_file="$tm_file c6x/c6x-abi.h"
	extra_parts="$extra_parts crtbeginS.o crtendS.o crti.o crtn.o"
	unwind_header=config/c6x/unwind-c6x.h
	;;
tilegx*-*-linux*)
	tmake_file="${tmake_file} tilegx/t-crtstuff t-softfp-sfdf tilegx/t-softfp t-softfp tilegx/t-tilegx"
	md_unwind_header=tilepro/linux-unwind.h
        ;;
tilepro*-*-linux*)
	tmake_file="${tmake_file} tilepro/t-crtstuff t-softfp-sfdf t-softfp tilepro/t-tilepro"
	md_unwind_header=tilepro/linux-unwind.h
        ;;
v850*-*-*)
	tmake_file="${tmake_file} v850/t-v850 t-fdpbit"
	;;
vax-*-linux*)
	tmake_file="$tmake_file vax/t-linux"
	;;
vax-*-netbsdelf*)
	;;
vax-*-openbsd*)
	;;
xstormy16-*-elf)
	tmake_file="stormy16/t-stormy16 t-fdpbit"
	;;
xtensa*-*-elf*)
	tmake_file="$tmake_file xtensa/t-xtensa xtensa/t-elf"
	extra_parts="$extra_parts crti.o crtn.o"
	;;
xtensa*-*-linux*)
	tmake_file="$tmake_file xtensa/t-xtensa xtensa/t-linux t-slibgcc-libgcc"
	md_unwind_header=xtensa/linux-unwind.h
	;;
am33_2.0-*-linux*)
	# Don't need crtbeginT.o from *-*-linux* default.
	extra_parts="crtbegin.o crtend.o crtbeginS.o crtendS.o"
	tmake_file="$tmake_file t-fdpbit"
	;;
m32c-*-elf*|m32c-*-rtems*)
	tmake_file="$tmake_file m32c/t-m32c"
 	;;
mep*-*-*)
	tmake_file="mep/t-mep t-fdpbit"
	extra_parts="crtbegin.o crtend.o"
	;;
*)
	echo "*** Configuration ${host} not supported" 1>&2
	exit 1
	;;
esac

case ${host} in
i[34567]86-*-* | x86_64-*-*)
	tmake_file="${tmake_file} i386/t-cpuinfo"
	;;
esac

case ${host} in
i[34567]86-*-linux* | x86_64-*-linux* | \
  i[34567]86-*-kfreebsd*-gnu | x86_64-*-kfreebsd*-gnu | \
  i[34567]86-*-knetbsd*-gnu | \
  i[34567]86-*-gnu*)
	tmake_file="${tmake_file} t-tls i386/t-linux"
	if test "$libgcc_cv_cfi" = "yes"; then
		tmake_file="${tmake_file} t-stack i386/t-stack-i386"
	fi
	;;
esac

case ${host} in
i[34567]86-*-darwin* | x86_64-*-darwin* | \
  i[34567]86-*-kfreebsd*-gnu | x86_64-*-kfreebsd*-gnu | \
  i[34567]86-*-linux* | x86_64-*-linux* | \
  i[34567]86-*-gnu* | \
  i[34567]86-*-akaros* | x86_64-*-akaros* | \
  i[34567]86-*-solaris2* | x86_64-*-solaris2.1[0-9]* | \
  i[34567]86-*-cygwin* | x86_64-*-cygwin* | \
  i[34567]86-*-mingw* | x86_64-*-mingw* | \
  i[34567]86-*-freebsd* | x86_64-*-freebsd* | \
  i[34567]86-*-openbsd* | x86_64-*-openbsd*)
  	tmake_file="${tmake_file} t-softfp-tf"
	if test "${host_address}" = 32; then
		tmake_file="${tmake_file} i386/${host_address}/t-softfp"
	fi
	tmake_file="${tmake_file} i386/t-softfp t-softfp"
	;;
esac

case ${host} in
i[34567]86-*-linux* | x86_64-*-linux*)
	# Provide backward binary compatibility for 64bit Linux/x86.
	if test "${host_address}" = 64; then
		tmake_file="${tmake_file} i386/${host_address}/t-softfp-compat"
	fi
	tm_file="${tm_file} i386/value-unwind.h"
	;;
esac
