# libgcc host-specific configuration file.
# Copyright (C) 1997-2018 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
	;;
csky*-*-*)
	cpu_type=csky
	;;
fido-*-*)
	cpu_type=m68k
	;;
frv*)	cpu_type=frv
	;;
ft32*)	cpu_type=ft32
	;;
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-*-*)
	;;
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
	;;
or1k*-*-*)
	cpu_type=or1k
	;;
powerpc*-*-*)
	cpu_type=rs6000
	;;
rs6000*-*-*)
	;;
riscv*-*-*)
	cpu_type=riscv
	;;
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 d10-uwfef.o crttms.o crttme.o"
  ;;
*-*-dragonfly*)
  tmake_file="$tmake_file t-crtstuff-pic t-libgcc-pic t-eh-dw2-dip"
  tmake_file="$tmake_file t-slibgcc t-slibgcc-gld t-slibgcc-elf-ver"
  extra_parts="crtbegin.o crtend.o crtbeginS.o crtendS.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
  ;;
*-*-fuchsia*)
  tmake_file="$tmake_file t-crtstuff-pic t-libgcc-pic t-eh-dw2-dip t-slibgcc t-slibgcc-fuchsia"
  extra_parts="crtbegin.o crtend.o"
  ;;
*-*-linux* | frv-*-*linux* | *-*-kfreebsd*-gnu | *-*-gnu* | *-*-kopensolaris*-gnu)
  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-eh-dw2-dip"
  tmake_file="$tmake_file t-slibgcc t-slibgcc-gld t-slibgcc-elf-ver"
  tmake_file="$tmake_file t-slibgcc-libgcc"
  extra_parts="crtbegin.o crtend.o crtbeginS.o crtendS.o crtbeginT.o"
  ;;
*-*-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 sol2/t-sol2 t-eh-dw2-dip t-crtstuff-pic 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"
  if test "${libgcc_cv_solaris_crts}" = yes; then
    # Solaris 11.4 provides crt1.o, crti.o, and crtn.o as part of the
    # base system.  crtp.o and crtpg.o implement the compiler-dependent parts.
    extra_parts="$extra_parts crtp.o crtpg.o"
    # If the Solaris CRTs are present, both ld and gld will have PIE support.
    extra_parts="$extra_parts crtbeginS.o crtendS.o"
  else
    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"
        ;;
    esac
  fi
  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
  ;;
*-*-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"
  ;;
*-*-vxworks7*)
  tmake_file=t-vxworks7
  ;;
*-*-vxworks*)
  tmake_file=t-vxworks
  ;;
*-*-elf)
  extra_parts="crtbegin.o crtend.o"
  ;;
esac

case ${host} in
*-*-darwin* | *-*-dragonfly* | *-*-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
  ;;
i[34567]86-*-cygwin* | x86_64-*-cygwin*)
  enable_execute_stack=config/i386/enable-execute-stack-mingw32.c
  ;;
*)
  enable_execute_stack=enable-execute-stack-empty.c;
  ;;
esac

case ${host} in
aarch64*-*-elf | aarch64*-*-rtems*)
	extra_parts="$extra_parts crtbegin.o crtend.o crti.o crtn.o"
	extra_parts="$extra_parts crtfastmath.o"
	tmake_file="${tmake_file} ${cpu_type}/t-aarch64"
	tmake_file="${tmake_file} ${cpu_type}/t-softfp t-softfp t-crtfm"
	md_unwind_header=aarch64/aarch64-unwind.h
	;;
aarch64*-*-freebsd*)
	extra_parts="$extra_parts crtfastmath.o"
	tmake_file="${tmake_file} ${cpu_type}/t-aarch64"
	tmake_file="${tmake_file} ${cpu_type}/t-softfp t-softfp t-crtfm"
	md_unwind_header=aarch64/freebsd-unwind.h
	;;
aarch64*-*-fuchsia*)
	tmake_file="${tmake_file} ${cpu_type}/t-aarch64"
	tmake_file="${tmake_file} ${cpu_type}/t-softfp t-softfp"
	;;
aarch64*-*-linux*)
	extra_parts="$extra_parts crtfastmath.o"
	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 t-crtfm"
	;;
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"
	extra_parts="crti.o crtn.o crtend.o crtbegin.o crtendS.o crtbeginS.o"
	extra_parts="$extra_parts crttls.o"
	;;
arc*-*-linux*)
	tmake_file="${tmake_file} t-slibgcc-libgcc t-slibgcc-nolc-override arc/t-arc-uClibc arc/t-arc"
	extra_parts="$extra_parts crti.o crtn.o"
	extra_parts="$extra_parts crttls.o"
	md_unwind_header=arc/linux-unwind.h
	;;
arm-wrs-vxworks|arm-wrs-vxworks7)
	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"
	case ${host} in
	*-*-vxworks7)
	  # Note that arm/t-bpabi will reset the LIB2ADDEH macro.
	  # This is intentional.
	  tmake_file="$tmake_file arm/t-bpabi arm/t-vxworks7"
	  tm_file="$tm_file arm/bpabi-lib.h"
	  unwind_header=config/arm/unwind-arm.h
	  ;;
	esac
	;;
arm*-*-freebsd*)                # ARM FreeBSD EABI
	tmake_file="${tmake_file} arm/t-arm t-fixedpoint-gnu-prefix arm/t-elf"
	tmake_file="${tmake_file} arm/t-bpabi arm/t-freebsd"
	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*-*-fuchsia*)
	tmake_file="${tmake_file} arm/t-arm arm/t-elf arm/t-bpabi"
	tmake_file="${tmake_file} arm/tsoftfp t-softfp"
	tm_file="${tm_file} arm/bpabi-lib.h"
	unwind_header=config/arm/unwind-arm.h
	;;
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 t-crtfm"
	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"
	extra_parts="$extra_parts crtfastmath.o"
	;;
arm*-*-uclinux*)		# ARM ucLinux
	tmake_file="${tmake_file} t-fixedpoint-gnu-prefix t-crtfm"
	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*-*-phoenix*)
	tmake_file="t-hardfp t-softfp arm/t-arm arm/t-elf arm/t-softfp arm/t-phoenix"
	tmake_file="${tmake_file} arm/t-bpabi"
	tm_file="$tm_file arm/bpabi-lib.h"
	extra_parts="crtbegin.o crtend.o crti.o crtn.o"
	unwind_header=config/arm/unwind-arm.h
	;;
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 t-crtfm"
	  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"
	extra_parts="$extra_parts crtfastmath.o"
	unwind_header=config/arm/unwind-arm.h
	;;
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"
	;;
csky-*-elf*)
	tmake_file="csky/t-csky t-fdpbit"
	extra_parts="$extra_parts crti.o crtn.o"
	;;
csky-*-linux*)
	tmake_file="$tmake_file csky/t-csky t-slibgcc-libgcc t-fdpbit csky/t-linux-csky"
	extra_parts="$extra_parts crti.o crtn.o"
	md_unwind_header=csky/linux-unwind.h
	;;
epiphany-*-elf* | epiphany-*-rtems*)
	tmake_file="$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/elf-lib.h 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/elf-lib.h frv/frv-abi.h"
	;;
ft32-*-elf)
	tmake_file="ft32/t-ft32 t-softfp-sfdf t-softfp-excl t-softfp"
	extra_parts="$extra_parts crti.o crti-hw.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"
	;;
h8300-*-linux*)
	tmake_file="t-linux h8300/t-linux t-softfp-sfdf t-softfp"
	tm_file="$tm_file h8300/h8300-lib.h"
	;;
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$ac_cv_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$ac_cv_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$ac_cv_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"
	tm_file="$tm_file pa/pa64-hpux-lib.h"
	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$ac_cv_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 t-crtfm i386/t-msabi"
	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 t-crtfm i386/t-msabi"
	tm_file="$tm_file i386/darwin-lib.h"
	extra_parts="$extra_parts crtprec32.o crtprec64.o crtprec80.o crtfastmath.o"
	;;
i[34567]86-*-elfiamcu)
	tmake_file="$tmake_file i386/t-crtstuff t-softfp-sfdftf i386/32/t-softfp i386/32/t-iamcu i386/t-softfp t-softfp t-dfprules"
	;;
i[34567]86-*-elf*)
	tmake_file="$tmake_file i386/t-crtstuff t-crtstuff-pic t-libgcc-pic"
	;;
x86_64-*-elf* | x86_64-*-rtems*)
	tmake_file="$tmake_file i386/t-crtstuff t-crtstuff-pic t-libgcc-pic"
	case ${host} in
	  x86_64-*-rtems*)
	    extra_parts="$extra_parts crti.o crtn.o"
	    ;;
	esac
	;;
x86_64-*-fuchsia*)
	tmake_file="$tmake_file t-libgcc-pic"
	;;
i[34567]86-*-dragonfly*)
	tmake_file="${tmake_file} i386/t-dragonfly i386/t-crtstuff"
	md_unwind_header=i386/dragonfly-unwind.h
	;;
x86_64-*-dragonfly*)
	tmake_file="${tmake_file} i386/t-dragonfly i386/t-crtstuff"
	md_unwind_header=i386/dragonfly-unwind.h
	;;
i[34567]86-*-freebsd*)
	tmake_file="${tmake_file} i386/t-freebsd i386/t-crtstuff"
	md_unwind_header=i386/freebsd-unwind.h
	;;
x86_64-*-freebsd*)
	tmake_file="${tmake_file} i386/t-freebsd i386/t-crtstuff"
	md_unwind_header=i386/freebsd-unwind.h
	;;
i[34567]86-*-netbsdelf*)
	tmake_file="${tmake_file} i386/t-crtstuff"
	;;
x86_64-*-netbsd*)
	tmake_file="${tmake_file} i386/t-crtstuff"
	;;
i[34567]86-*-openbsd*)
	;;
x86_64-*-openbsd*)
	;;
i[34567]86-*-linux*)
	extra_parts="$extra_parts crtprec32.o crtprec64.o crtprec80.o crtfastmath.o"
	tmake_file="${tmake_file} i386/t-crtpc t-crtfm i386/t-crtstuff t-dfprules"
	tm_file="${tm_file} i386/elf-lib.h"
	md_unwind_header=i386/linux-unwind.h
	;;
i[34567]86-*-kfreebsd*-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 t-crtfm i386/t-crtstuff t-dfprules"
	tm_file="${tm_file} i386/elf-lib.h"
	;;
x86_64-*-linux*)
	extra_parts="$extra_parts crtprec32.o crtprec64.o crtprec80.o crtfastmath.o"
	tmake_file="${tmake_file} i386/t-crtpc t-crtfm i386/t-crtstuff t-dfprules"
	tm_file="${tm_file} i386/elf-lib.h"
	md_unwind_header=i386/linux-unwind.h
	;;
x86_64-*-kfreebsd*-gnu)
	extra_parts="$extra_parts crtprec32.o crtprec64.o crtprec80.o crtfastmath.o"
	tmake_file="${tmake_file} i386/t-crtpc t-crtfm i386/t-crtstuff t-dfprules"
	tm_file="${tm_file} i386/elf-lib.h"
	;;
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-sfdftf i386/32/t-softfp i386/t-softfp 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 t-crtfm i386/t-msabi"
	extra_parts="$extra_parts crtprec32.o crtprec64.o crtprec80.o crtfastmath.o"
	tm_file="${tm_file} i386/elf-lib.h"
	md_unwind_header=i386/sol2-unwind.h
	;;
i[4567]86-wrs-vxworks|i[4567]86-wrs-vxworksae|i[4567]86-wrs-vxworks7|x86_64-wrs-vxworks7)
	;;
i[34567]86-*-cygwin*)
	extra_parts="crtbegin.o crtbeginS.o crtend.o crtfastmath.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
	# This has to match the logic for DWARF2_UNWIND_INFO in gcc/config/i386/cygming.h
	if test x$ac_cv_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 t-crtfm i386/t-chkstk t-dfprules"
	;;
x86_64-*-cygwin*)
	extra_parts="crtbegin.o crtbeginS.o crtend.o crtfastmath.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
	# This has to match the logic for DWARF2_UNWIND_INFO in gcc/config/i386/cygming.h
	if test x$ac_cv_sjlj_exceptions = xyes; then
		tmake_eh_file="i386/t-sjlj-eh"
	elif test "${host_address}" = 32; then
	        # biarch -m32 with --disable-sjlj-exceptions
	     	tmake_eh_file="i386/t-dw2-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 t-crtfm t-dfprules i386/t-chkstk"
	;;
i[34567]86-*-mingw*)
	extra_parts="crtbegin.o crtend.o crtfastmath.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
	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$ac_cv_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 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$ac_cv_sjlj_exceptions = xyes; then
		tmake_eh_file="i386/t-sjlj-eh"
	elif test "${host_address}" = 32; then
	        # biarch -m32 with --disable-sjlj-exceptions
	     	tmake_eh_file="i386/t-dw2-eh"
		md_unwind_header=i386/w32-unwind.h
	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-cygming i386/t-mingw32 t-dfprules t-crtfm i386/t-chkstk"
	extra_parts="$extra_parts crtbegin.o crtend.o crtfastmath.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
	;;
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 t-softfp-tf ia64/t-softfp t-softfp ia64/t-softfp-compat"
	;;
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 t-softfp-tf ia64/t-softfp t-softfp ia64/t-softfp-compat"
	;;
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 t-softfp-tf ia64/t-softfp t-softfp"
	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="$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 setjmp/longjmp exceptions, bump the
	# libgcc version number.
	if test x$ac_cv_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* | \
mipsisa32r6-*-elf* | mipsisa32r6el-*-elf* | \
mipsisa64-*-elf* | mipsisa64el-*-elf* | \
mipsisa64r2-*-elf* | mipsisa64r2el-*-elf* | \
mipsisa64r6-*-elf* | mipsisa64r6el-*-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-*-moxiebox* | moxie-*-uclinux* | moxie-*-rtems*)
	tmake_file="$tmake_file moxie/t-moxie t-softfp-sfdf t-softfp-excl t-softfp"
	extra_parts="$extra_parts crti.o crtn.o crtbegin.o crtend.o"
	;;
msp430*-*-elf)
	tmake_file="$tm_file t-crtstuff t-fdpbit msp430/t-msp430"
        extra_parts="$extra_parts libmul_none.a libmul_16.a libmul_32.a libmul_f5.a"
	;;
nds32*-linux*)
	# Basic makefile fragment and extra_parts for crt stuff.
	# We also append c-isr library implementation.
	tmake_file="${tmake_file} t-slibgcc-libgcc"
	tmake_file="${tmake_file} nds32/t-nds32-glibc nds32/t-crtstuff t-softfp-sfdf t-softfp"
	# The header file of defining MD_FALLBACK_FRAME_STATE_FOR.
	md_unwind_header=nds32/linux-unwind.h
	# Append library definition makefile fragment according to --with-nds32-lib=X setting.
	case "${with_nds32_lib}" in
	"" | glibc | uclibc )
		;;
	*)
		echo "Cannot accept --with-nds32-lib=$with_nds32_lib, available values are: glibc uclibc" 1>&2
		exit 1
		;;
	esac
	;;
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"
	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"
	;;
or1k-*-linux*)
	tmake_file="$tmake_file or1k/t-or1k"
	tmake_file="$tmake_file t-softfp-sfdf t-softfp"
	md_unwind_header=or1k/linux-unwind.h
	;;
or1k-*-*)
	tmake_file="$tmake_file or1k/t-or1k"
	tmake_file="$tmake_file t-softfp-sfdf t-softfp"
	;;
pdp11-*-*)
	tmake_file="pdp11/t-pdp11 t-fdpbit"
	;;
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-dfprules rs6000/t-ppc64-fp t-slibgcc-libgcc"
	tmake_file="${tmake_file} t-stack rs6000/t-stack-rs6000"
	case $ppc_fp_type in
	64)
		;;
	hard)
		tmake_file="${tmake_file} t-hardfp-sfdf t-hardfp"
		;;
	soft)
		tmake_file="${tmake_file} t-softfp-sfdf ${ppc_fp_compat} t-softfp"
		;;
	e500v1)
		tmake_file="${tmake_file} rs6000/t-e500v1-fp ${ppc_fp_compat} t-softfp t-hardfp"
		;;
	e500v2)
		tmake_file="${tmake_file} t-hardfp-sfdf rs6000/t-e500v2-fp ${ppc_fp_compat} t-softfp t-hardfp"
		;;
	*)
		echo "Unknown ppc_fp_type $ppc_fp_type" 1>&2
		exit 1
		;;
	esac

	if test $libgcc_cv_powerpc_float128 = yes; then
		tmake_file="${tmake_file} rs6000/t-float128"
	fi

	if test $libgcc_cv_powerpc_float128_hw = yes; then
		tmake_file="${tmake_file} rs6000/t-float128-hw"
	fi

	extra_parts="$extra_parts ecrti.o ecrtn.o ncrti.o ncrtn.o"
	md_unwind_header=rs6000/linux-unwind.h
	;;
powerpc-wrs-vxworks*)
	tmake_file="$tmake_file rs6000/t-ppccomm rs6000/t-savresfgpr t-fdpbit"
	extra_parts="$extra_parts crtbegin.o crtend.o"
	;;
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"
	;;
riscv*-*-linux*)
	tmake_file="${tmake_file} riscv/t-softfp${host_address} t-softfp riscv/t-elf riscv/t-elf${host_address}"
	extra_parts="$extra_parts crtbegin.o crtend.o crti.o crtn.o crtendS.o crtbeginT.o"
	md_unwind_header=riscv/linux-unwind.h
	;;
riscv*-*-freebsd*)
	tmake_file="${tmake_file} riscv/t-softfp${host_address} t-softfp riscv/t-elf riscv/t-elf${host_address}"
	extra_parts="$extra_parts crtbegin.o crtend.o crti.o crtn.o crtendS.o crtbeginT.o"
	;;
riscv*-*-*)
	tmake_file="${tmake_file} riscv/t-softfp${host_address} t-softfp riscv/t-elf riscv/t-elf${host_address}"
	extra_parts="$extra_parts crtbegin.o crtend.o crti.o crtn.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 crtdbase.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 t-stack s390/t-stack-s390"
	md_unwind_header=s390/linux-unwind.h
	;;
s390x-*-linux*)
	tmake_file="${tmake_file} s390/t-crtstuff s390/t-linux t-stack s390/t-stack-s390"
	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
	;;
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
	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"
	md_unwind_header=sh/linux-unwind.h
	;;
sh-*-netbsdelf* | shl*-*-netbsdelf*)
	tmake_file="$tmake_file sh/t-sh sh/t-netbsd"

	# 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*)
	if test "${host_address}" = 64; then
		tmake_file="${tmake_file} tilegx/t-softfp"
	fi
	tmake_file="${tmake_file} tilegx/t-crtstuff t-softfp-sfdf 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 t-slibgcc-libgcc"
	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*)
	;;
visium-*-elf*)
        extra_parts="$extra_parts crtbegin.o crtend.o crti.o crtn.o"
        tmake_file="visium/t-visium t-fdpbit"
        ;;
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
	;;
xtensa*-*-uclinux*)
	tmake_file="$tmake_file xtensa/t-xtensa xtensa/t-linux t-slibgcc-libgcc"
	md_unwind_header=xtensa/linux-unwind.h
	extra_parts="$extra_parts crtbeginS.o crtbeginT.o crtendS.o"
	;;
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"
 	;;
nvptx-*)
	tmake_file="$tmake_file nvptx/t-nvptx"
	extra_parts="crt0.o"
	;;
*)
	echo "*** Configuration ${host} not supported" 1>&2
	exit 1
	;;
esac

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

case ${host} in
i[34567]86-*-linux* | x86_64-*-linux* | \
  i[34567]86-*-kfreebsd*-gnu | x86_64-*-kfreebsd*-gnu | \
  i[34567]86-*-gnu*)
	tmake_file="${tmake_file} t-tls i386/t-linux i386/t-msabi t-slibgcc-libgcc"
	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-*-elfiamcu | i[34567]86-*-rtems*)
	# These use soft-fp for SFmode and DFmode, not just TFmode.
	;;
i[34567]86-*-* | x86_64-*-*)
  	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"
	;;
aarch64*-*-*)
	# ILP32 needs an extra header for unwinding
	tm_file="${tm_file} aarch64/value-unwind.h"
	;;
esac
