# libgcc host-specific configuration file.
# Copyright (C) 1997-2026 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_def_header The name of a header file defining architecture
#			-specific frame information types for unwinding.
#  md_unwind_header	The name of a header file defining architecture
#			-specific handlers used in the unwinder.
#  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_def_header=no-unwind.h
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
aarch64*-*-*)
	cpu_type=aarch64
	;;
alpha*-*-*)
	cpu_type=alpha
	;;
am33_2.0-*-linux*)
	cpu_type=mn10300
	;;
amdgcn*-*-*)
	cpu_type=gcn
	tmake_file="${tmake_file} t-softfp-sfdf t-softfp"
	;;
arc*-*-*)
	cpu_type=arc
	;;
arm*-*-*)
	cpu_type=arm
	;;
avr-*-*)
	cpu_type=avr
	;;    
bfin*-*)
	cpu_type=bfin
	;;
bpf-*-*)
        cpu_type=bpf
        ;;
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
	;;
loongarch*-*)
	cpu_type=loongarch
	;;
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
	;;
or1k*-*-*)
	cpu_type=or1k
	;;
powerpc*-*-*)
	cpu_type=rs6000
	;;
pru-*-*)
	cpu_type=pru
	;;
rs6000*-*-*)
	;;
riscv*-*-*)
	cpu_type=riscv
	;;
sparc64*-*-*)
	cpu_type=sparc
	tmake_file="${tmake_file} sparc/t-sparc"
	;;
sparc*-*-*)
	cpu_type=sparc
	tmake_file="${tmake_file} sparc/t-sparc"
	;;
s390*-*-*)
	cpu_type=s390
	;;
# Note the 'l'; we need to be able to match e.g. "shle" or "shl".
sh[123456789lbe]*-*-*)
	cpu_type=sh
	;;
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"
  # The unwinder is provided by the system shared libraries, do not add one
  # to the shared libgcc but, for older systems, we build a shared unwinder
  # separately so that we can construct a libgcc_s.1 to use for binaries
  # linked against the old libgcc_ext.10.x stubs.
  case ${host} in
    *-*-darwin[89]* | *-*-darwin10*)
      tmake_file="$tmake_file t-darwin-ehs ${cpu_type}/t-darwin-ehs"
      ;;
  esac
  tmake_file="$tmake_file t-slibgcc-darwin"
  case ${host} in
    x86_64-*-darwin2[0-2]*)
      tmake_file="t-darwin-min-11 t-darwin-libgccs1 $tmake_file"
      ;;
    *-*-darwin2*)
      tmake_file="t-darwin-min-11 $tmake_file"
      ;;
    *-*-darwin1[89]*)
      tmake_file="t-darwin-min-8 t-darwin-libgccs1 $tmake_file"
      ;;
    *-*-darwin9* | *-*-darwin1[0-7]*)
      tmake_file="t-darwin-min-5 t-darwin-libgccs1 $tmake_file"
      ;;
    *-*-darwin[4-8]*)
      tmake_file="t-darwin-min-1 t-darwin-libgccs1 $tmake_file"
      ;;
    *)
      # Fall back to configuring for the oldest system known to work with
      # all archs and the current sources.
      tmake_file="t-darwin-min-5 t-darwin-libgccs1 $tmake_file"
      echo "Warning: libgcc configured to support macOS 10.5" 1>&2
      ;;
  esac
  # We are not using libtool to build the libs here, so we need to replicate
  # a little of the logic around setting Darwin rpaths.  Setting an explicit
  # yes or no is honoured, otherwise we choose a suitable default.
  # Sadly, this has to be kept in line with the rules in libtool.m4.
  # This make fragment will override the setting in t-slibgcc-darwin so it
  # must appear after it.
  if test "x$enable_darwin_at_rpath" = "x"; then
    echo "enable_darwin_at_rpath is unset" 1>&2
    case ${host} in
      *-darwin[45678]*) ;;
      *-darwin9* | *-darwin1[01234]*) ;; # We might default these on later.
      *-darwin*)
        echo "but is needed after macOS 10.11 (setting it on)" 1>&2
        enable_darwin_at_rpath=yes
        ;;
    esac
  else
    echo "enable_darwin_at_rpath is '$enable_darwin_at_rpath'" 1>&2
  fi
  if test "x$enable_darwin_at_rpath" = "xyes"; then
    tmake_file="$tmake_file t-darwin-rpath "
  fi
  extra_parts="crt3.o libd10-uwfef.a crttms.o crttme.o libemutls_w.a"
  ;;
*-*-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 crtbeginT.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 | *-*-uclinuxfdpiceabi)
  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"
  # 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"
  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"
  ;;
*-*-vxworksae*)
  tmake_file=t-vxworksae
  ;;
*-*-vxworks*)
  tmake_file=t-vxworks
  ;;
*-*-elf)
  extra_parts="crtbegin.o crtend.o"
  ;;
esac

# VxWorks ports rely on specially crafted crtstuff files
case ${host} in
*-*-vxworks*)
  tmake_file="${tmake_file} t-vxcrtstuff"
  ;;
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-lse t-slibgcc-libgcc"
	tmake_file="${tmake_file} ${cpu_type}/t-softfp t-softfp t-crtfm"
	tmake_file="${tmake_file} t-dfprules"
	md_unwind_def_header=aarch64/aarch64-unwind-def.h
	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-lse t-slibgcc-libgcc"
	tmake_file="${tmake_file} ${cpu_type}/t-softfp t-softfp t-crtfm"
	tmake_file="${tmake_file} t-dfprules"
	md_unwind_def_header=aarch64/aarch64-unwind-def.h
	md_unwind_header=aarch64/freebsd-unwind.h
	;;
aarch64*-*-netbsd*)
	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"
	tmake_file="${tmake_file} t-dfprules"
	md_unwind_def_header=aarch64/aarch64-unwind-def.h
	md_unwind_header=aarch64/aarch64-unwind.h
	;;
aarch64*-*-fuchsia*)
	tmake_file="${tmake_file} ${cpu_type}/t-aarch64"
	tmake_file="${tmake_file} ${cpu_type}/t-lse t-slibgcc-libgcc"
	tmake_file="${tmake_file} ${cpu_type}/t-softfp t-softfp"
	tmake_file="${tmake_file} t-dfprules"
	;;
aarch64*-*-linux*)
	extra_parts="$extra_parts crtfastmath.o"
	md_unwind_def_header=aarch64/aarch64-unwind-def.h
	md_unwind_header=aarch64/linux-unwind.h
	tmake_file="${tmake_file} ${cpu_type}/t-aarch64"
	tmake_file="${tmake_file} ${cpu_type}/t-lse t-slibgcc-libgcc"
	tmake_file="${tmake_file} ${cpu_type}/t-softfp t-softfp t-crtfm"
	tmake_file="${tmake_file} t-dfprules"
	tmake_file="${tmake_file} ${cpu_type}/t-heap-trampoline"
	;;
aarch64*-*-gnu*)
	extra_parts="$extra_parts crtfastmath.o"
	md_unwind_def_header=aarch64/aarch64-unwind-def.h
	md_unwind_header=aarch64/gnu-unwind.h
	tmake_file="${tmake_file} ${cpu_type}/t-aarch64"
	tmake_file="${tmake_file} ${cpu_type}/t-lse t-slibgcc-libgcc"
	tmake_file="${tmake_file} ${cpu_type}/t-softfp t-softfp t-crtfm"
	tmake_file="${tmake_file} t-dfprules"
	tmake_file="${tmake_file} ${cpu_type}/t-heap-trampoline"
	;;
aarch64*-*-vxworks7*)
	extra_parts="$extra_parts crtfastmath.o"
	md_unwind_def_header=aarch64/aarch64-unwind-def.h
	md_unwind_header=aarch64/aarch64-unwind.h
	tmake_file="${tmake_file} ${cpu_type}/t-aarch64"
	tmake_file="${tmake_file} ${cpu_type}/t-lse"
	tmake_file="${tmake_file} ${cpu_type}/t-softfp t-softfp t-crtfm"
	tmake_file="${tmake_file} t-dfprules"
	;;
aarch64-*-mingw*)
	case ${target_thread_file} in
	  win32)
	    tmake_thr_file="mingw/t-gthr-win32"
	    ;;
	  posix)
	    tmake_thr_file="mingw/t-mingw-pthread"
	    ;;
	  mcf)
	    tmake_thr_file="mingw/t-mingw-mcfgthread"
	    ;;
	esac
	tmake_file="${tmake_file} mingw/t-seh-eh ${tmake_thr_file}"
	tmake_file="${tmake_file} t-dfprules"
	tmake_file="${tmake_file} ${cpu_type}/t-aarch64"
	tmake_file="${tmake_file} ${cpu_type}/t-mingw"
	tmake_file="${tmake_file} ${cpu_type}/t-lse"
	tmake_file="${tmake_file} 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
	;;
amdgcn*-*-amdhsa)
	tmake_file="$tmake_file gcn/t-amdgcn"
	extra_parts="crt0.o"
	;;
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-vxworks7*)
	tmake_file="$tmake_file arm/t-arm arm/t-elf arm/t-bpabi arm/t-vxworks7"
        tmake_file="$tmake_file t-softfp-sfdf t-softfp-excl arm/t-softfp t-softfp"
	tm_file="$tm_file arm/bpabi-lib.h"
	unwind_header=config/arm/unwind-arm.h
	extra_parts="$extra_parts crti.o crtn.o"
	;;
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"
	case ${host} in
	  arm*-*-netbsdelf-*eabi*)
	    tmake_file="${tmake_file} arm/t-netbsd-eabi"
	    unwind_header=config/arm/unwind-arm.h
	    ;;
	  *)
	    tmake_file="${tmake_file} arm/t-netbsd t-slibgcc-gld-nover"
	    ;;
	esac
	;;
arm*-*-linux* | arm*-*-uclinuxfdpiceabi)
	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 arm/t-sync 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"
	# Make some DFmode functions from libf7, part of avr-libgcc.
	# This must be prior to adding t-avrlibc.
	case "y${with_libf7}" in
	    yno)
	        # No libf7 support.
	        ;;
	    ylibgcc)
		tmake_file="$tmake_file ${cpu_type}/libf7/t-libf7"
		;;
	    ymath)
		tmake_file="$tmake_file ${cpu_type}/libf7/t-libf7-math"
		tmake_file="$tmake_file ${cpu_type}/libf7/t-libf7"
		;;
	    ymath-symbols | yyes | y)
		tmake_file="$tmake_file ${cpu_type}/libf7/t-libf7-math-symbols"
		tmake_file="$tmake_file ${cpu_type}/libf7/t-libf7-math"
		tmake_file="$tmake_file ${cpu_type}/libf7/t-libf7"
		;;
	    *)
		echo "Error: --with-libf7=${with_libf7} but can only be used with: 'libgcc', 'math', 'math-symbols', 'yes', 'no'" 1>&2
		exit 1
		;;
	esac
	if test x${with_avrlibc} != xno; then
	    tmake_file="$tmake_file ${cpu_type}/t-avrlibc"
	fi
	tm_file="$tm_file avr/avr-lib.h"
	if test x${with_fixed_point} = xno; then
	    fixed_point=no
	fi
	;;
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"
        ;;
bpf-*-*)
        tmake_file="$tmake_file ${cpu_type}/t-${cpu_type}"
        extra_parts="crti.o crtn.o"
	;;
cris-*-elf)
	tmake_file="$tmake_file cris/t-cris t-softfp-sfdf t-softfp cris/t-elfmulti"
	;;
csky-*-elf*)
	tmake_file="csky/t-csky t-fdpbit"
	extra_parts="crtbegin.o crtend.o 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-pa64-linux pa/t-dimode"
	tmake_file="$tmake_file pa/t-softfp-sfdftf t-softfp"
	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*64*-*-hpux11*)
	tmake_file="$tmake_file pa/t-pa64-hpux pa/t-dimode"
	tmake_file="$tmake_file 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
	if test $with_gnu_ld = yes; then
	    tmake_file="$tmake_file t-slibgcc-libgcc pa/t-slibgcc-gld"
	else
	    tmake_file="$tmake_file pa/t-slibgcc-hpux"
	fi
	tmake_file="$tmake_file pa/t-softfp-sfdftf t-softfp"
	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*-*-openbsd*)
	tmake_file="$tmake_file pa/t-openbsd"
	;;
hppa*-*-netbsd*)
	tmake_file="$tmake_file pa/t-netbsd"
	;;
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"
	extra_parts="$extra_parts crtfastmath.o libheapt_w.a"
	tmake_file="${tmake_file} i386/t-heap-trampoline"
	;;
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"
	extra_parts="$extra_parts crtfastmath.o libheapt_w.a"
	tmake_file="${tmake_file} i386/t-heap-trampoline"
	;;
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 i386/t-msabi"
	md_unwind_header=i386/freebsd-unwind.h
	;;
x86_64-*-freebsd*)
	tmake_file="${tmake_file} i386/t-freebsd i386/t-crtstuff i386/t-msabi"
	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
	tmake_file="${tmake_file} i386/t-heap-trampoline"
	;;
i[34567]86-*-kfreebsd*-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"
	;;
i[34567]86-*-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"
	md_unwind_header=i386/gnu-unwind.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
	tmake_file="${tmake_file} i386/t-heap-trampoline"
	;;
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"
	;;
x86_64-*-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"
	md_unwind_header=i386/gnu-unwind.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*)
	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*|x86_64-wrs-vxworks*)
	;;
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="mingw/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_thr_file="mingw/t-gthr-win32"
	    ;;
	  posix)
	    tmake_thr_file="mingw/t-mingw-pthread"
	    ;;
	  mcf)
	    tmake_thr_file="mingw/t-mingw-mcfgthread"
	    ;;
	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_thr_file} ${tmake_dlldir_file} i386/t-slibgcc-cygming i386/t-slibgcc-mingw i386/t-cygming i386/t-mingw32 t-crtfm i386/t-chkstk t-dfprules"
	;;
x86_64-*-mingw*)
	case ${target_thread_file} in
	  win32)
	    tmake_thr_file="mingw/t-gthr-win32"
	    ;;
	  posix)
	    tmake_thr_file="mingw/t-mingw-pthread"
	    ;;
	  mcf)
	    tmake_thr_file="mingw/t-mingw-mcfgthread"
	    ;;
	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="mingw/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_thr_file} ${tmake_dlldir_file} i386/t-slibgcc-cygming i386/t-slibgcc-mingw 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"
	if test x$with_system_libunwind != xyes ; then
		tmake_file="${tmake_file} t-libunwind-elf ia64/t-linux-libunwind"
	else
		tmake_file="${tmake_file} ia64/t-linux t-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"
	;;
loongarch*-linux*)
	extra_parts="$extra_parts crtfastmath.o"
	md_unwind_header=loongarch/linux-unwind.h
	tmake_file="${tmake_file} loongarch/t-loongarch t-softfp-sfdf loongarch/t-softfp-tf"
	if test "${host_address}" = 64; then
		tmake_file="${tmake_file} loongarch/t-loongarch64"
	fi
	tmake_file="${tmake_file} t-softfp"
	tmake_file="${tmake_file} t-crtfm loongarch/t-crtstuff"
	tmake_file="${tmake_file} t-slibgcc-libgcc"
	;;
loongarch*-elf*)
	extra_parts="$extra_parts crtfastmath.o"
	tmake_file="${tmake_file} loongarch/t-loongarch t-softfp-sfdf loongarch/t-softfp-tf"
	if test "${host_address}" = 64; then
		tmake_file="${tmake_file} loongarch/t-loongarch64"
	fi
	tmake_file="${tmake_file} t-softfp"
	tmake_file="${tmake_file} t-crtfm loongarch/t-crtstuff"
	tmake_file="${tmake_file} t-slibgcc-libgcc"
	;;
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
	;;
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"
	md_unwind_header=microblaze/linux-unwind.h
	;;
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="crtbegin.o crtend.o crtbegin_no_eh.o crtend_no_eh.o"
	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
	;;
or1k-*-linux*)
	tmake_file="$tmake_file or1k/t-or1k or1k/t-crtstuff"
	tmake_file="$tmake_file t-softfp-sfdf t-softfp"
	md_unwind_header=or1k/linux-unwind.h
	;;
or1k-*-*)
	tmake_file="$tmake_file or1k/t-or1k or1k/t-crtstuff"
	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
	# We build the darwin10 EH shim for Rosetta (running on x86 machines).
	tm_file="$tm_file i386/darwin-lib.h"
	tmake_file="$tmake_file rs6000/t-ppc64-fp rs6000/t-ibm-ldouble"
	extra_parts="$extra_parts crt2.o crt3_2.o libef_ppc.a dw_ppc.o"
	;;
powerpc64-*-darwin*)
	# We build the darwin10 EH shim for Rosetta (running on x86 machines).
	tm_file="$tm_file i386/darwin-lib.h"
	tmake_file="$tmake_file rs6000/t-darwin64 rs6000/t-ibm-ldouble"
	extra_parts="$extra_parts crt2.o crt3_2.o libef_ppc.a dw_ppc.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-*-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

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

	extra_parts="$extra_parts ecrti.o ecrtn.o ncrti.o ncrtn.o"
	md_unwind_header=rs6000/linux-unwind.h
	;;
powerpc*-wrs-vxworks7*)
        tmake_file="$tmake_file rs6000/t-vxworks rs6000/t-savresfgpr t-dfprules rs6000/t-ppc64-fp"
        tmake_file="rs6000/t-crtstuff ${tmake_file}"
        case $ppc_fp_type in
        64)
                ;;
        hard)
                tmake_file="${tmake_file} t-hardfp-sfdf"
                ;;
        soft)
                tmake_file="${tmake_file} t-softfp-sfdf t-softfp"
                ;;
        *)
                echo "Unknown ppc_fp_type $ppc_fp_type" 1>&2
                exit 1
                ;;
        esac
        ;;
powerpc-wrs-vxworks*)
	tmake_file="$tmake_file rs6000/t-vxworks 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"
	;;
pru-*-*)
	tmake_file="${tmake_file} t-softfp-sfdf t-softfp-excl t-softfp t-gnu-prefix pru/t-pru"
	tm_file="$tm_file pru/pru-abi.h"
	;;
riscv*-*-linux*)
	tmake_file="${tmake_file} riscv/t-crtstuff riscv/t-softfp${host_address} t-softfp riscv/t-elf riscv/t-elf${host_address} t-slibgcc-libgcc"
	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-crtstuff riscv/t-softfp${host_address} t-softfp riscv/t-elf riscv/t-elf${host_address} t-slibgcc-libgcc"
	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 crtcxa_64.o crtcxa_64_s.o crtdbase_64.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"
	;;
rx-*-linux*)
	tmake_file="rx/t-rx t-fdpbit"
	tm_file="$tm_file 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"
	else
	   if test "$libgcc_cv_s390_float16" = "yes"; then
		tmake_file="${tmake_file} s390/t-float16"
	   fi
	   tmake_file="${tmake_file} s390/t-softfp t-softfp"
	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 s390/t-tpf"
	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-softfp-sfdf t-softfp"
	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*)
	;;
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
	;;
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"
	;;
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* | x86_64-*-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"
	tmake_file="${tmake_file} i386/${host_address}/t-softfp 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"
	;;
riscv*-*-*)
	tm_file="${tm_file} riscv/value-unwind.h"
	;;
esac

# Setup to build a shared libgcc for VxWorks when that was requested,
# for library variants that support it (rtp only, code model not large).
#

case ${host} in
*vxworks*)
	case ${with_multisubdir}-${enable_shared} in
	*large*)
		;;
	*mrtp*-yes)
		tmake_file="${tmake_file} t-libgcc-pic"

		# Arrange to set a soname on libgcc_s so DT_NEEDED entries
		# for it refer to that alone. This ensures absence of path
		# components which would be incorrect as the runtime loader
		# on target has no visibility over the host filesystem.
		tmake_file="${tmake_file} t-slibgcc-gld-nover"
		tmake_file="${tmake_file} t-slibgcc"

		# t-slibgcc-libgcc is needed on at least aarch64 (for
		# lse) and at most harmless on other targets.
		tmake_file="${tmake_file} t-slibgcc-libgcc"

		tmake_file="${tmake_file} t-crtstuff-pic t-vxcrtstuffS"
		;;
	esac
	;;
esac

# The vxworks threads implementation relies on a few extra sources,
# which we arrange to add after everything else:

case ${target_thread_file} in
vxworks)
	case ${host} in
	*-*-vxworksae)
		tmake_file="${tmake_file} t-gthr-vxworksae"
		;;
	*-*-vxworks*)
		tmake_file="${tmake_file} t-gthr-vxworks"
		;;
	esac
esac

case ${host} in
*-*-musl*)
  # The gthr weak references are unsafe with static linking
  tmake_file="$tmake_file t-gthr-noweak"
  ;;
esac
