# configure.tgt
#
#   Copyright (C) 2013-2019 Free Software Foundation, Inc.
#
# This file 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 of the License, or
# (at your option) any later version.
#
# This program 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 this program; see the file COPYING3.  If not see
# <http://www.gnu.org/licenses/>.

# This is the linker target specific file.  This is invoked by the
# autoconf generated configure script.  Putting it in a separate shell
# file lets us skip running autoconf when modifying target specific
# information.

# This file switches on the shell variable ${targ}, and sets the
# following shell variables:
#  targ_emul		name of linker emulation to use
#  targ_extra_emuls	additional linker emulations to provide
#  targ_extra_libpath	additional linker emulations using LIB_PATH
#  targ_extra_ofiles	additional host-compiled objects needed by the emulation
#  targ64_extra_emuls	additional linker emulations to provide if
#			--enable-64-bit-bfd is given or if host is 64 bit.
#  targ64_extra_libpath	additional linker emulations using LIB_PATH if
#			--enable-64-bit-bfd is given or if host is 64 bit.
#  NATIVE_LIB_DIRS	library directories to search on this host
#			(if we are a native or sysrooted linker)

targ_extra_emuls=
targ_extra_libpath=
targ_extra_ofiles=
targ64_extra_emuls=
targ64_extra_libpath=

# Please try to keep this table in alphabetic order - it makes it
# much easier to lookup a specific archictecture.  Naturally any
# architecture variants should be kept together even if their names
# break the alpha sorting.
case "${targ}" in
aarch64_be-*-elf)	targ_emul=aarch64elfb
			targ_extra_emuls="aarch64elf aarch64elf32 aarch64elf32b armelfb armelf" ;;
aarch64-*-elf | aarch64-*-rtems*)
			targ_emul=aarch64elf
			targ_extra_emuls="aarch64elf32 aarch64elf32b aarch64elfb armelf armelfb" ;;
aarch64-*-cloudabi*)	targ_emul=aarch64cloudabi
			targ_extra_emuls=aarch64cloudabib ;;
aarch64-*-freebsd*)	targ_emul=aarch64fbsd
			targ_extra_emuls="aarch64fbsdb aarch64elf" ;;
aarch64-*-fuchsia*)	targ_emul=aarch64elf
			targ_extra_emuls="aarch64elfb armelf armelfb" ;;
aarch64_be-*-linux-gnu_ilp32)
			targ_emul=aarch64linux32b
			targ_extra_libpath="aarch64linuxb aarch64linux aarch64linux32 armelfb_linux_eabi armelf_linux_eabi"
			targ_extra_emuls="aarch64elfb aarch64elf aarch64elf32 aarch64elf32b armelfb armelf $targ_extra_libpath" ;;
aarch64-*-linux-gnu_ilp32)
			targ_emul=aarch64linux32
			targ_extra_libpath="aarch64linux aarch64linuxb aarch64linux32b armelfb_linux_eabi armelf_linux_eabi"
			targ_extra_emuls="aarch64elf aarch64elf32 aarch64elf32b aarch64elfb armelf armelfb $targ_extra_libpath" ;;
aarch64_be-*-linux*)	targ_emul=aarch64linuxb
			targ_extra_libpath="aarch64linux aarch64linux32 aarch64linux32b armelfb_linux_eabi armelf_linux_eabi"
			targ_extra_emuls="aarch64elfb aarch64elf aarch64elf32 aarch64elf32b armelfb armelf $targ_extra_libpath" ;;
aarch64-*-linux*)	targ_emul=aarch64linux
			targ_extra_libpath="aarch64linuxb aarch64linux32 aarch64linux32b armelfb_linux_eabi armelf_linux_eabi"
			targ_extra_emuls="aarch64elf aarch64elf32 aarch64elf32b aarch64elfb armelf armelfb $targ_extra_libpath" ;;
alpha*-*-freebsd* | alpha*-*-kfreebsd*-gnu)
			targ_emul=elf64alpha_fbsd
			targ_extra_emuls="elf64alpha alpha"
			tdir_alpha=`echo ${targ_alias} | sed -e 's/freebsd/freebsdecoff/'` ;;
alpha*-*-linux*ecoff*)	targ_emul=alpha targ_extra_emuls=elf64alpha
			tdir_elf64alpha=`echo ${targ_alias} | sed -e 's/ecoff//'` ;;
alpha*-*-linux-*)	targ_emul=elf64alpha targ_extra_emuls=alpha
			tdir_alpha=`echo ${targ_alias} | sed -e 's/linux\(-gnu\)*/linux\1ecoff/'` ;;
alpha*-*-osf*)		targ_emul=alpha ;;
alpha*-*-gnu*)		targ_emul=elf64alpha ;;
alpha*-*-netbsd*)	targ_emul=elf64alpha_nbsd ;;
alpha*-*-openbsd*)	targ_emul=elf64alpha ;;
alpha*-*-*vms*)		targ_emul=alphavms
			;;
arc*-*-elf*)		targ_emul=arcelf
			targ_extra_emuls="arcelf_prof arclinux arclinux_nps arclinux_prof arcv2elf arcv2elfx"
			;;
arc*-*-linux*)		case "${with_cpu}" in
			nps400)	targ_emul=arclinux_nps
				targ_extra_emuls=arclinux
				;;
			*)	targ_emul=arclinux
				targ_extra_emuls=arclinux_nps
				;;
			esac
			targ_extra_emuls="${targ_extra_emuls} arclinux_prof arcelf arcelf_prof arcv2elf arcv2elfx"
			;;
arm*-*-cegcc*)		targ_emul=arm_wince_pe ; targ_extra_ofiles="deffilep.o pe-dll.o"
			LIB_PATH='${tooldir}/lib/w32api' ;;
arm-wince-pe | arm-*-wince | arm*-*-mingw32ce*)
			targ_emul=arm_wince_pe ; targ_extra_ofiles="deffilep.o pe-dll.o" ;;
arm-*-pe)		targ_emul=armpe ; targ_extra_ofiles="deffilep.o pe-dll.o" ;;
arm*b-*-freebsd*)	targ_emul=armelfb_fbsd
			targ_extra_emuls="armelf_fbsd armelf" ;;
arm*-*-freebsd* | arm-*-kfreebsd*-gnu)
			targ_emul=armelf_fbsd
			targ_extra_emuls="armelfb_fbsd armelf" ;;
armeb-*-netbsdelf*)	targ_emul=armelfb_nbsd;
			targ_extra_emuls="armelf_nbsd armelf" ;;
arm-*-netbsdelf*)	targ_emul=armelf_nbsd;
			targ_extra_emuls="armelfb_nbsd armelf" ;;
arm-*-nto*)		targ_emul=armnto ;;
arm-*-phoenix*)		targ_emul=armelf ;;
armeb-*-elf | armeb-*-eabi*)
			targ_emul=armelfb ;;
arm-*-elf | arm*-*-eabi* | arm-*-rtems*)
			targ_emul=armelf ;;
arm*-*-symbianelf*)	targ_emul=armsymbian;;
arm-*-kaos*)		targ_emul=armelf ;;
arm9e-*-elf)		targ_emul=armelf ;;
arm*b-*-linux-*eabi*)	targ_emul=armelfb_linux_eabi
			targ_extra_emuls=armelf_linux_eabi
			targ_extra_libpath=$targ_extra_emuls
			;;
arm*b-*-linux-*)	targ_emul=armelfb_linux
			targ_extra_emuls="armelfb armelf armelf_linux"
			targ_extra_libpath="armelf_linux"
			;;
arm*-*-linux-*eabi*)	targ_emul=armelf_linux_eabi
			targ_extra_emuls="armelfb_linux_eabi"
			targ_extra_libpath=$targ_extra_emuls
			;;
arm*-*-uclinuxfdpiceabi)
			targ_emul=armelf_linux_eabi
			targ_extra_emuls="armelfb_linux_eabi armelf_linux_fdpiceabi armelfb_linux_fdpiceabi"
			targ_extra_libpath=$targ_extra_emuls
			;;
arm*-*-linux-*)		targ_emul=armelf_linux
			targ_extra_emuls="armelf armelfb armelfb_linux"
			targ_extra_libpath="armelfb_linux"
			;;
arm*b-*-nacl*)		targ_emul=armelfb_nacl
			targ_extra_emuls="armelf_nacl elf_i386_nacl"
			targ_extra_libpath=$targ_extra_emuls
			targ64_extra_emuls="elf32_x86_64_nacl elf_x86_64_nacl"
			targ64_extra_libpath=$targ64_extra_emuls
			;;
arm*-*-nacl*)		targ_emul=armelf_nacl
			targ_extra_emuls="armelfb_nacl elf_i386_nacl"
			targ_extra_libpath=$targ_extra_emuls
			targ64_extra_emuls="elf32_x86_64_nacl elf_x86_64_nacl"
			targ64_extra_libpath=$targ64_extra_emuls
			;;
arm*-*-uclinux*eabi*)	targ_emul=armelf_linux_eabi
			targ_extra_emuls=armelfb_linux_eabi
			targ_extra_libpath=$targ_extra_emuls
			;;
arm*-*-uclinux*)	targ_emul=armelf_linux
			targ_extra_emuls="armelf armelfb armelfb_linux"
			targ_extra_libpath="armelfb_linux"
			;;
arm-*-vxworks)		targ_emul=armelf_vxworks ;;
arm*-*-conix*)		targ_emul=armelf ;;
arm*-*-fuchsia*)	targ_emul=armelf_fuchsia
			targ_extra_emuls="armelfb_fuchsia armelf armelfb"
			;;
avr-*-*)		targ_emul=avr2
			targ_extra_emuls="avr1 avr25 avr3 avr31 avr35 avr4 avr5 avr51 avr6 avrxmega1 avrxmega2 avrxmega3 avrxmega4 avrxmega5 avrxmega6 avrxmega7 avrtiny"
			;;
bfin-*-elf | bfin-*-rtems*)
			targ_emul=elf32bfin
			targ_extra_emuls="elf32bfinfd"
			targ_extra_libpath=$targ_extra_emuls
			;;
bfin-*-uclinux*)	targ_emul=elf32bfin;
			targ_extra_emuls="elf32bfinfd"
			targ_extra_libpath=$targ_extra_emuls
			;;
bfin-*-linux-uclibc*)	targ_emul=elf32bfinfd;
			targ_extra_emuls="elf32bfin"
			targ_extra_libpath=$targ_extra_emuls
			;;
cr16-*-elf*)		targ_emul=elf32cr16 ;;
cr16c-*-elf*)		targ_emul=elf32cr16c
			;;
cris-*-*aout*)		targ_emul=crisaout
			targ_extra_emuls="criself crislinux"
			targ_extra_libpath=$targ_extra_emuls ;;
cris-*-linux-* | crisv32-*-linux-*)
			targ_emul=crislinux ;;
cris-*-* | crisv32-*-*)	targ_emul=criself
			targ_extra_emuls="crisaout crislinux"
			targ_extra_libpath=$targ_extra_emuls
			;;
crx-*-elf*)		targ_emul=elf32crx
			;;

csky-*-elf*)		targ_emul=cskyelf ;;
csky-*-linux*)		targ_emul=cskyelf_linux ;;

d10v-*-*)		targ_emul=d10velf ;;
d30v-*-*ext*)		targ_emul=d30v_e; targ_extra_emuls="d30velf d30v_o" ;;
d30v-*-*onchip*)	targ_emul=d30v_o; targ_extra_emuls="d30velf d30v_e" ;;
d30v-*-*)		targ_emul=d30velf; targ_extra_emuls="d30v_e d30v_o"
			;;
dlx-*-elf*)		targ_emul=elf32_dlx
			;;
epiphany-*-*)		targ_emul=elf32epiphany
			targ_extra_emuls="elf32epiphany_4x4"
			;;
fido*-*-elf*)		targ_emul=m68kelf ;;
fr30-*-*)		targ_emul=elf32fr30
			;;
frv-*-*linux*)		targ_emul=elf32frvfd ;;
frv-*-*)		targ_emul=elf32frv ; targ_extra_emuls="elf32frvfd"
			;;
moxie-*-moxiebox*)	targ_emul=moxiebox
			;;
moxie-*-*)		targ_emul=elf32moxie
			;;
h8300-*-elf* | h8300-*-rtems*)
			targ_emul=h8300elf;
			targ_extra_emuls="h8300helf h8300self h8300hnelf h8300snelf h8300sxelf h8300sxnelf" ;;
h8300-*-linux*)
			targ_emul=h8300elf_linux;
			targ_extra_emuls="h8300helf_linux h8300self_linux h8300sxelf_linux" ;;
hppa*64*-*-linux-*)	targ_emul=hppa64linux ;;
hppa*64*-hpux*)		targ_emul=elf64hppa ;;
hppa*-*-linux-*)	targ_emul=hppalinux ;;
hppa*-*-*elf*)		targ_emul=hppaelf ;;
hppa*-*-lites*)		targ_emul=hppaelf ;;
hppa*-*-netbsd*)	targ_emul=hppanbsd ;;
hppa*-*-openbsd*)	targ_emul=hppaobsd
			;;
i[3-7]86-*-nto-qnx*)	targ_emul=i386nto ;;
i[3-7]86-*-go32)	targ_emul=i386go32 ;;
i[3-7]86-*-msdosdjgpp*) targ_emul=i386go32 ;;
i[3-7]86-*-lynxos*)	targ_emul=i386lynx ;;
i[3-7]86-*-aros*)	targ_emul=elf_i386
			targ_extra_emuls=elf_iamcu ;;
i[3-7]86-*-rdos*)	targ_emul=elf_i386
			targ_extra_emuls=elf_iamcu ;;
x86_64-*-rdos*)		targ_emul=elf64rdos ;;
x86_64-*-cloudabi*)	targ_emul=elf_x86_64_cloudabi ;;
i[3-7]86-*-bsd)		targ_emul=i386bsd ;;
i[3-7]86-*-bsd386)	targ_emul=i386bsd ;;
i[3-7]86-*-bsdi*)	targ_emul=i386bsd ;;
i[3-7]86-*-linux-*)	targ_emul=elf_i386
			targ_extra_emuls="elf_iamcu"
			targ64_extra_emuls="elf_x86_64 elf32_x86_64 elf_l1om elf_k1om"
			targ64_extra_libpath="elf_x86_64 elf32_x86_64" ;;
x86_64-*-linux-gnux32)	targ_emul=elf32_x86_64
			targ_extra_emuls="elf_x86_64 elf_i386 elf_iamcu elf_l1om elf_k1om"
			targ_extra_libpath="elf_i386 elf_iamcu elf_x86_64 elf_l1om elf_k1om"
			tdir_elf_iamcu=`echo ${targ_alias} | sed -e 's/x86_64/i386/' -e 's/-linux-gnux32/-linux-gnu/'`
			tdir_elf_i386=`echo ${targ_alias} | sed -e 's/x86_64/i386/' -e 's/-linux-gnux32/-linux-gnu/'` ;;
x86_64-*-linux-*)	targ_emul=elf_x86_64
			targ_extra_emuls="elf32_x86_64 elf_i386 elf_iamcu elf_l1om elf_k1om"
			targ_extra_libpath="elf_i386 elf32_x86_64 elf_l1om elf_k1om"
			tdir_elf_i386=`echo ${targ_alias} | sed -e 's/x86_64/i386/'` ;;
i[3-7]86-*-redox*)	targ_emul=elf_i386
			targ_extra_emuls=elf_x86_64 ;;
x86_64-*-redox*)	targ_emul=elf_x86_64
			targ_extra_emuls=elf_i386 ;;
i[3-7]86-*-sysv[45]*)	targ_emul=elf_i386
			targ_extra_emuls=elf_iamcu ;;
i[3-7]86-*-solaris2*)	targ_emul=elf_i386_sol2
			targ_extra_emuls="elf_i386_ldso elf_i386 elf_iamcu elf_x86_64_sol2 elf_x86_64 elf_l1om elf_k1om"
			targ_extra_libpath=$targ_extra_emuls
			;;
x86_64-*-solaris2*)
			targ_emul=elf_x86_64_sol2
			targ_extra_emuls="elf_x86_64 elf_i386_sol2 elf_i386_ldso elf_i386 elf_iamcu elf_l1om elf_k1om"
			targ_extra_libpath=$targ_extra_emuls
			tdir_elf_i386=`echo ${targ_alias} | sed -e 's/x86_64/i386/'` ;;
i[3-7]86-*-unixware)	targ_emul=elf_i386
			targ_extra_emuls=elf_iamcu ;;
i[3-7]86-*-solaris*)	targ_emul=elf_i386_ldso
			targ_extra_emuls="elf_i386"
			targ_extra_libpath=$targ_extra_emuls
			;;
i[3-7]86-*-netbsdelf* | \
i[3-7]86-*-netbsd*-gnu* | \
i[3-7]86-*-knetbsd*-gnu)
			targ_emul=elf_i386
			targ_extra_emuls="elf_iamcu" ;;
i[3-7]86-*-netbsdpe*)	targ_emul=i386pe
			targ_extra_ofiles="deffilep.o pe-dll.o" ;;
x86_64-*-netbsd*)	targ_emul=elf_x86_64
			targ_extra_emuls="elf_i386 elf_iamcu elf_l1om elf_k1om"
			tdir_elf_iamcu=`echo ${targ_alias} | \
			    sed -e 's/x86_64/i386/'`
			case "${tdir_elf_iamcu}" in
			*-netbsdelf*)   ;;
			*)		tdir_elf_iamcu=`echo ${tdir_elf_iamcu} | \
					sed -e 's/netbsd/netbsdelf/'`;;
			esac
			tdir_elf_i386=`echo ${targ_alias} | \
			    sed -e 's/x86_64/i386/'`
			case "${tdir_elf_i386}" in
			*-netbsdelf*)   ;;
			*)		tdir_elf_i386=`echo ${tdir_elf_i386} | \
					sed -e 's/netbsd/netbsdelf/'`;;
			esac ;;
i[3-7]86-*-elfiamcu)	targ_emul=elf_iamcu
			targ_extra_emuls=elf_i386 ;;
i[3-7]86-*-elf* | i[3-7]86-*-rtems*)
			targ_emul=elf_i386
			targ_extra_emuls=elf_iamcu ;;
x86_64-*-elf* | x86_64-*-rtems* | x86_64-*-fuchsia*)
			targ_emul=elf_x86_64
			targ_extra_emuls="elf_i386 elf_iamcu elf32_x86_64 elf_l1om elf_k1om"
			targ_extra_libpath="elf_i386 elf_iamcu elf32_x86_64 elf_l1om elf_k1om"
			tdir_elf_i386=`echo ${targ_alias} | sed -e 's/x86_64/i386/'`
			;;
i[3-7]86-*-dragonfly*)	targ_emul=elf_i386
			targ_extra_emuls="elf_iamcu i386bsd" ;;
x86_64-*-dragonfly*)	targ_emul=elf_x86_64
			targ_extra_emuls="elf_i386 elf_iamcu elf_l1om elf_k1om" ;;
i[3-7]86-*-freebsd* | i[3-7]86-*-kfreebsd*-gnu)
			targ_emul=elf_i386_fbsd
			targ_extra_emuls="elf_i386 elf_iamcu i386bsd" ;;
x86_64-*-freebsd* | x86_64-*-kfreebsd*-gnu)
			targ_emul=elf_x86_64_fbsd
			targ_extra_emuls="elf_i386_fbsd elf_x86_64 elf_i386 elf_iamcu elf_l1om elf_l1om_fbsd elf_k1om elf_k1om_fbsd"
			targ_extra_libpath="elf_i386_fbsd"
			tdir_elf_i386_fbsd=`echo ${targ_alias} \
			    | sed -e 's/x86_64/i386/'`
			tdir_elf_iamcu=`echo ${targ_alias} \
			    | sed -e 's/x86_64/i386/'`
			tdir_elf_i386=`echo ${targ_alias} \
			    | sed -e 's/x86_64/i386/'` ;;
i[3-7]86-*-gnu*)	targ_emul=elf_i386
			targ_extra_emuls=elf_iamcu ;;
i[3-7]86-*-msdos*)	targ_emul=i386msdos; targ_extra_emuls=i386aout ;;
i[3-7]86-*-moss*)	targ_emul=i386moss; targ_extra_emuls=i386msdos ;;
i[3-7]86-*-winnt*)	targ_emul=i386pe ;
			targ_extra_ofiles="deffilep.o pe-dll.o" ;;
i[3-7]86-*-pe)		targ_emul=i386pe ;
			targ_extra_ofiles="deffilep.o pe-dll.o" ;;
i[3-7]86-*-cygwin*)	targ_emul=i386pe ;
			targ_extra_ofiles="deffilep.o pe-dll.o" ;
			test "$targ" != "$host" && LIB_PATH='${tooldir}/lib/w32api' ;;
i[3-7]86-*-mingw32*)	targ_emul=i386pe ;
			targ_extra_ofiles="deffilep.o pe-dll.o" ;;
x86_64-*-pe | x86_64-*-pep) targ_emul=i386pep ;
			targ_extra_emuls=i386pe ;
			targ_extra_ofiles="deffilep.o pep-dll.o pe-dll.o" ;;
x86_64-*-cygwin)	targ_emul=i386pep ;
			targ_extra_emuls=i386pe
			targ_extra_ofiles="deffilep.o pep-dll.o pe-dll.o"
			test "$targ" != "$host" && LIB_PATH='${tooldir}/lib/w32api' ;;
x86_64-*-mingw*)	targ_emul=i386pep ;
			targ_extra_emuls=i386pe
			targ_extra_ofiles="deffilep.o pep-dll.o pe-dll.o" ;;
i[3-7]86-*-interix*)	targ_emul=i386pe_posix;
			targ_extra_ofiles="deffilep.o pe-dll.o" ;;
i[3-7]86-*-beospe*)	targ_emul=i386beos ;;
i[3-7]86-*-beos*)	targ_emul=elf_i386_be ;;
i[3-7]86-*-vxworks*)	targ_emul=elf_i386_vxworks ;;
i[3-7]86-*-chaos)	targ_emul=elf_i386_chaos
			;;
i[3-7]86-*-nacl*)	targ_emul=elf_i386_nacl
			targ_extra_emuls="armelf_nacl armelfb_nacl"
			targ_extra_libpath=$targ_extra_emuls
			targ64_extra_emuls="elf32_x86_64_nacl elf_x86_64_nacl"
			targ64_extra_libpath=$targ64_extra_emuls
			;;
x86_64-*-nacl*)		targ_emul=elf32_x86_64_nacl
			targ_extra_emuls="elf_i386_nacl elf_x86_64_nacl armelf_nacl armelfb_nacl"
			targ_extra_libpath=$targ_extra_emuls
			tdir_elf_i386_nacl=`echo ${targ_alias} | sed -e 's/x86_64/i386/'`
			;;
ia16-*-elf*)		targ_emul=elf_i386 targ_extra_emuls=i386msdos ;;
ia64-*-elf*)		targ_emul=elf64_ia64 ;;
ia64-*-freebsd* | ia64-*-kfreebsd*-gnu)
			targ_emul=elf64_ia64_fbsd
			targ_extra_emuls="elf64_ia64" ;;
ia64-*-netbsd*)		targ_emul=elf64_ia64 ;;
ia64-*-linux*)		targ_emul=elf64_ia64 ;;
ia64-*-*vms*)		targ_emul=elf64_ia64_vms ;;
ia64-*-aix*)		targ_emul=elf64_aix
			;;
ip2k-*-elf)		targ_emul=elf32ip2k
			;;
iq2000-*-elf)		targ_emul=elf32iq2000 ; targ_extra_emuls="elf32iq10"
			;;
lm32-*-*linux*)		targ_emul=elf32lm32fd ;;
lm32-*-*)		targ_emul=elf32lm32 ; targ_extra_emuls="elf32lm32fd"
			;;
m32c-*-elf | m32c-*-rtems*)
			targ_emul=elf32m32c
			;;
m32r*le-*-elf*)		targ_emul=m32rlelf ;;
m32r*-*-elf* | m32r*-*-rtems*)
			targ_emul=m32relf ;;
m32r*le-*-linux-*)	targ_emul=m32rlelf_linux ;;
m32r*-*-linux-*)	targ_emul=m32relf_linux
			;;
m68hc11-*-*|m6811-*-*)	targ_emul=m68hc11elf
			targ_extra_emuls="m68hc11elfb m68hc12elf m68hc12elfb" ;;
m68hc12-*-*|m6812-*-*)	targ_emul=m68hc12elf
			targ_extra_emuls="m68hc12elfb m68hc11elf m68hc11elfb" ;;
m68*-*-netbsdelf*)	targ_emul=m68kelfnbsd ;;
m68*-*-*)		targ_emul=m68kelf ;;
s12z-*-*)		targ_emul=m9s12zelf
			;;
mcore-*-pe)		targ_emul=mcorepe ;
			targ_extra_ofiles="deffilep.o pe-dll.o" ;;
mcore-*-elf)		targ_emul=elf32mcore
			;;
mep-*-elf)		targ_emul=elf32mep ;;
metag-*-*)		targ_emul=elf32metag ;;
microblazeel*-linux*)	targ_emul="elf32mbel_linux"
			targ_extra_emuls="elf32mb_linux"
			;;
microblaze*-linux*)	targ_emul="elf32mb_linux"
			targ_extra_emuls="elf32mbel_linux"
			;;
microblazeel*)		targ_emul=elf32microblazeel
			targ_extra_emuls=elf32microblaze
			;;
microblaze*)		targ_emul=elf32microblaze
			targ_extra_emuls=elf32microblazeel
			;;
mips*-sgi-irix5*)	targ_emul=elf32bsmip ;;
mips*-sgi-irix6*)	targ_emul=elf32bmipn32
			targ_extra_emuls="elf32bsmip elf64bmip"
			targ_extra_libpath=$targ_extra_emuls ;;
mips*el-*-netbsd*)	targ_emul=elf32ltsmip
			targ_extra_emuls="elf32btsmip elf64ltsmip elf64btsmip"
			;;
mips*-*-netbsd*)	targ_emul=elf32btsmip
			targ_extra_emuls="elf32ltsmip elf64btsmip elf64ltsmip"
			;;
mips64el-*-openbsd*)	targ_emul=elf64ltsmip
			targ_extra_emuls=elf64btsmip
			;;
mips64-*-openbsd*)	targ_emul=elf64btsmip
			targ_extra_emuls=elf64ltsmip
			;;
mips*vr4300el-*-elf*)	targ_emul=elf32l4300 ;;
mips*vr4300-*-elf*)	targ_emul=elf32b4300 ;;
mips*vr4100el-*-elf*)	targ_emul=elf32l4300 ;;
mips*vr4100-*-elf*)	targ_emul=elf32b4300 ;;
mips*vr5000el-*-elf*)	targ_emul=elf32l4300 ;;
mips*vr5000-*-elf*)	targ_emul=elf32b4300 ;;
mips*el-sde-elf* | mips*el-mti-elf* | mips*el-img-elf*)
			targ_emul=elf32ltsmip
			targ_extra_emuls="elf32btsmip elf32ltsmipn32 elf64ltsmip elf32btsmipn32 elf64btsmip" ;;
mips*-sde-elf* | mips*-mti-elf* | mips*-img-elf*)
			targ_emul=elf32btsmip
			targ_extra_emuls="elf32ltsmip elf32btsmipn32 elf64btsmip elf32ltsmipn32 elf64ltsmip" ;;
mips64*el-ps2-elf*)	targ_emul=elf32lr5900n32
			targ_extra_emuls="elf32lr5900"
			targ_extra_libpath=$targ_extra_emuls ;;
mips*el-ps2-elf*)	targ_emul=elf32lr5900
			targ_extra_emuls="elf32lr5900n32"
			targ_extra_libpath=$targ_extra_emuls ;;
mips*el-*-elf*)		targ_emul=elf32elmip ;;
mips*-*-elf* | mips*-*-rtems*)
			targ_emul=elf32ebmip ;;
mips*el-*-vxworks*)	targ_emul=elf32elmipvxworks
			targ_extra_emuls="elf32ebmipvxworks" ;;
mips*-*-vxworks*)	targ_emul=elf32ebmipvxworks
			targ_extra_emuls="elf32elmipvxworks" ;;
mips*-*-windiss)	targ_emul=elf32mipswindiss ;;
mips64*el-*-linux-*)	targ_emul=elf32ltsmipn32
			targ_extra_emuls="elf32btsmipn32 elf32ltsmip elf32btsmip elf64ltsmip elf64btsmip"
			targ_extra_libpath=$targ_extra_emuls ;;
mips64*-*-linux-*)	targ_emul=elf32btsmipn32
			targ_extra_emuls="elf32ltsmipn32 elf32btsmip elf32ltsmip elf64btsmip elf64ltsmip"
			targ_extra_libpath=$targ_extra_emuls ;;
mips*el-*-linux-*)	targ_emul=elf32ltsmip
			targ_extra_emuls="elf32btsmip elf32ltsmipn32 elf64ltsmip elf32btsmipn32 elf64btsmip"
			targ_extra_libpath=$targ_extra_emuls ;;
mips*-*-linux-*)	targ_emul=elf32btsmip
			targ_extra_emuls="elf32ltsmip elf32btsmipn32 elf64btsmip elf32ltsmipn32 elf64ltsmip"
			targ_extra_libpath=$targ_extra_emuls ;;
mips64*el-*-freebsd* | mips64*el-*-kfreebsd*-gnu)
			targ_emul=elf32ltsmipn32_fbsd
			targ_extra_emuls="elf32ltsmip elf32btsmip elf32ltsmipn32 elf32btsmipn32 elf64ltsmip elf64btsmip elf32ltsmip_fbsd elf32btsmip_fbsd elf32btsmipn32_fbsd elf64ltsmip_fbsd elf64btsmip_fbsd"
			targ_extra_libpath=$targ_extra_emuls ;;
mips64*-*-freebsd* | mips64*-*-kfreebsd*-gnu)
			targ_emul=elf32btsmipn32_fbsd
			targ_extra_emuls="elf32ltsmip elf32btsmip elf32ltsmipn32 elf32btsmipn32 elf64ltsmip elf64btsmip elf32ltsmip_fbsd elf32btsmip_fbsd elf32ltsmipn32_fbsd elf64ltsmip_fbsd elf64btsmip_fbsd"
			targ_extra_libpath=$targ_extra_emuls ;;
mips*el-*-freebsd* | mips*el-*-kfreebsd*-gnu)
			targ_emul=elf32ltsmip_fbsd
			targ_extra_emuls="elf32ltsmip elf32btsmip elf32ltsmipn32 elf32btsmipn32 elf64ltsmip elf64btsmip elf32ltsmipn32_fbsd elf32btsmip_fbsd elf32btsmipn32_fbsd elf64ltsmip_fbsd elf64btsmip_fbsd"
			targ_extra_libpath=$targ_extra_emuls ;;
mips*-*-freebsd* | mips*-*-kfreebsd*-gnu)
			targ_emul=elf32btsmip_fbsd
			targ_extra_emuls="elf32ltsmip elf32btsmip elf32ltsmipn32 elf32btsmipn32 elf64ltsmip elf64btsmip elf32ltsmip_fbsd elf32btsmipn32_fbsd elf32ltsmipn32_fbsd elf64ltsmip_fbsd elf64btsmip_fbsd"
			targ_extra_libpath=$targ_extra_emuls ;;
mips*-*-sysv4*)		targ_emul=elf32btsmip
			;;
mmix-*-*)		targ_emul=mmo
			targ_extra_emuls=elf64mmix
			;;
am33_2.0-*-linux*)	targ_emul=elf32am33lin ;;
mn10200-*-*)		targ_emul=mn10200 ;;
mn10300-*-*)		targ_emul=mn10300
			;;
mt-*elf)		targ_emul=elf32mt
			;;
msp430-*-*)		targ_emul=msp430elf
			targ_extra_emuls="msp430X"
			;;
nds32*le-*-elf*)	targ_emul=nds32elf
			targ_extra_emuls="nds32elf16m nds32belf nds32belf16m"
			;;
nds32*be-*-elf*)	targ_emul=nds32belf
			targ_extra_emuls="nds32elf nds32elf16m nds32belf16m"
			;;
nds32*le-*-linux-gnu*)	targ_emul=nds32elf_linux ;;
nds32*be-*-linux-gnu*)	targ_emul=nds32belf_linux ;;
nios2*-*-linux*)	targ_emul=nios2linux ;;
nios2*-*-*)		targ_emul=nios2elf ;;
ns32k-pc532-mach* | ns32k-pc532-ux*)  targ_emul=pc532macha ;;
ns32k-*-netbsd* | ns32k-pc532-lites*) targ_emul=ns32knbsd
			;;
or1k-*-elf | or1knd-*-elf | or1k-*-rtems* | or1knd-*-rtems*)
			targ_emul=elf32or1k ;;
or1k-*-linux* | or1knd-*-linux*)	targ_emul=elf32or1k_linux ;;
pdp11-*-*)		targ_emul=pdp11
			;;
pjl*-*-*)		targ_emul=pjlelf
			targ_extra_emuls="elf_i386 elf_iamcu" ;;
pj*-*-*)		targ_emul=pjelf
			;;
powerpc-*-freebsd* | powerpc-*-kfreebsd*-gnu)
			targ_emul=elf32ppc_fbsd
			targ_extra_emuls="elf32ppc elf32ppcsim"
			targ_extra_libpath=elf32ppc;
			tdir_elf32ppcsim=`echo ${targ_alias} | sed -e 's/ppc/ppcsim/'` ;;
powerpc64-*-freebsd*)
			targ_emul=elf64ppc_fbsd
			targ_extra_emuls="elf64ppc elf32ppc_fbsd elf32ppc"
			targ_extra_libpath="elf32ppc_fbsd elf32ppc"
			tdir_elf32ppc=`echo "${targ_alias}" | sed -e 's/64//'`
			tdir_elf32ppc_fbsd=$tdir_elf32ppc
			;;
powerpc-*-vxworks*)
			targ_emul=elf32ppcvxworks
			targ_extra_emuls="elf32ppc elf32ppclinux elf32ppcsim" ;;
powerpc*-*-elf* | powerpc*-*-eabi* | powerpc*-*-sysv* \
  | powerpc*-*-linux* | powerpc*-*-netbsd* | powerpc*-*-openbsd* \
  | powerpc*-*-rtems* \
  | powerpc*-*-solaris* | powerpc*-*-kaos* | powerpc*-*-vxworks*)
			case "${targ}" in
			powerpc64*)
			    targ_emul=elf64ppc
			    targ_extra_emuls="elf32ppc elf32ppclinux elf32ppcsim"
			    targ_extra_libpath="elf32ppc elf32ppclinux" ;;
			*linux*)
			    targ_emul=elf32ppclinux
			    targ_extra_emuls="elf32ppc elf32ppcsim"
			    targ_extra_libpath=elf32ppc
			    targ64_extra_emuls=elf64ppc
			    targ64_extra_libpath=elf64ppc ;;
			*)
			    targ_emul=elf32ppc
			    targ_extra_emuls="elf32ppclinux elf32ppcsim"
			    targ_extra_libpath=elf32ppclinux
			    targ64_extra_emuls=elf64ppc
			    targ64_extra_libpath=elf64ppc ;;
			esac
			td=tdir_elf32ppc
			td64=tdir_elf64ppc
			s=s/ppc/lppc/g
			case "${targ}" in
			powerpcle-* | powerpc64le-*)
			    for z in td td64 targ_emul targ_extra_emuls \
					 targ_extra_libpath targ64_extra_emuls \
					 targ64_extra_libpath
			    do
				eval ${z}=\"\`echo \$${z} \| sed -e $s\`\"
			    done
			    s=s/lppc/ppc/g ;;
			esac
			# Why oh why did we set tooldir based on target_alias
			# rather than on target?
			eval tdir_${targ_emul}="${targ_alias}"
			cpu=`echo "${targ_alias}" | sed -e 's/-.*//'`
			rest=`echo "${targ_alias}" | sed -e 's/^[^-]*//'`
			le=le
			case "${cpu}" in
			*little) le=little
			esac
			ta32=`echo "${cpu}" | sed -e s/64//`"${rest}"
			ta64=`echo "${cpu}" | sed -e 's/64//;s/$/64/;s/'${le}'64$/64'${le}'/;s/be64$/64be/'`"${rest}"
			eval test -n \"\$${td}\" || eval ${td}="${ta32}"
			eval test -n \"\$${td}linux\" || eval ${td}linux="${ta32}"
			eval test -n \"\$${td}sim\" || eval ${td}sim="${ta32}"
			eval test -n \"\$${td64}\" || eval ${td64}="${ta64}"
			# Now provide the other endian
			for z in targ_extra_emuls targ_extra_libpath
			do
			    eval ${z}=\"\$${z} \`echo ${targ_emul} \$${z} \| sed -e $s\`\"
			done
			for z in targ64_extra_emuls targ64_extra_libpath
			do
			    eval ${z}=\"\$${z} \`echo \$${z} \| sed -e $s\`\"
			done
			td=`echo "${td}" | sed -e $s`
			td64=`echo "${td64}" | sed -e $s`
			case "${targ}" in
			powerpcle-* | powerpc64le-*)
			    cpu=`echo "${cpu}" | sed -e s/${le}\$//` ;;
			*)
			    cpu=`echo "${cpu}" | sed -e s/be\$//`${le} ;;
			esac
			ta32=`echo "${cpu}" | sed -e s/64//`"${rest}"
			ta64=`echo "${cpu}" | sed -e 's/64//;s/$/64/;s/'${le}'64$/64'${le}/`"${rest}"
			eval test -n \"\$${td}\" || eval ${td}="${ta32}"
			eval test -n \"\$${td}linux\" || eval ${td}linux="${ta32}"
			eval test -n \"\$${td}sim\" || eval ${td}sim="${ta32}"
			eval test -n \"\$${td64}\" || eval ${td64}="${ta64}"
			;;
powerpc-*-nto*)		targ_emul=elf32ppcnto ;;
powerpcle-*-nto*)	targ_emul=elf32lppcnto ;;
powerpc-*-macos*)	targ_emul=ppcmacos ;;
powerpcle-*-pe | powerpcle-*-winnt* | powerpcle-*-cygwin*)
			targ_emul=ppcpe
			targ_extra_ofiles="deffilep.o pe-dll.o" ;;
powerpc-*-aix[5-9]*)	targ_emul=aix5ppc ;;
powerpc-*-aix*)		targ_emul=aixppc ;;
powerpc-*-beos*)	targ_emul=aixppc ;;
powerpc-*-windiss*)	targ_emul=elf32ppcwindiss ;;
powerpc-*-lynxos*)	targ_emul=ppclynx ;;
pru*-*-*)		targ_emul=pruelf ;;
riscv32*-*-linux*)	targ_emul=elf32lriscv
			targ_extra_emuls="elf32lriscv_ilp32f elf32lriscv_ilp32 elf64lriscv elf64lriscv_lp64f elf64lriscv_lp64"
			targ_extra_libpath=$targ_extra_emuls ;;
riscv-*-* | riscv32*-*-*)
			targ_emul=elf32lriscv
			targ_extra_emuls="elf64lriscv"
			targ_extra_libpath=$targ_extra_emuls ;;
riscv64*-*-linux*)	targ_emul=elf64lriscv
			targ_extra_emuls="elf64lriscv_lp64f elf64lriscv_lp64 elf32lriscv elf32lriscv_ilp32f elf32lriscv_ilp32"
			targ_extra_libpath=$targ_extra_emuls ;;
riscv64*-*-*)		targ_emul=elf64lriscv
			targ_extra_emuls="elf32lriscv"
			targ_extra_libpath=$targ_extra_emuls ;;
rs6000-*-aix[5-9]*)	targ_emul=aix5rs6 ;;
rs6000-*-aix*)		targ_emul=aixrs6
			;;
rl78-*-*)		targ_emul=elf32rl78 ;;
rx-*-*)			targ_emul=elf32rx ;;
s390x-*-linux*)		targ_emul=elf64_s390
			targ_extra_emuls=elf_s390
			targ_extra_libpath=$targ_extra_emuls
			tdir_elf_s390=`echo ${targ_alias} | sed -e 's/s390x/s390/'` ;;
s390x-*-tpf*)		targ_emul=elf64_s390
			tdir_elf_s390=`echo ${targ_alias} | sed -e 's/s390x/s390/'` ;;
s390-*-linux*)		targ_emul=elf_s390
			targ64_extra_emuls=elf64_s390
			targ64_extra_libpath=elf64_s390
			tdir_elf64_s390=`echo ${targ_alias} | sed -e 's/s390/s390x/'`
			;;
score-*-elf)		targ_emul=score7_elf
			targ_extra_emuls=score3_elf ;;
sh-*-linux*)		targ_emul=shlelf_linux
			targ_extra_emuls="shelf_linux shlelf_fd shelf_fd"
			targ_extra_libpath=shelf_linux ;;
sh*eb-*-linux*)		targ_emul=shelf_linux
			targ_extra_emuls="shelf_fd" ;;
sh*-*-linux*)		targ_emul=shlelf_linux
			targ_extra_emuls="shlelf_fd" ;;
sh*l*-*-netbsdelf*)	targ_emul=shlelf_nbsd
			targ_extra_emuls=shelf_nbsd ;;
sh*-*-netbsdelf*)	targ_emul=shelf_nbsd
			targ_extra_emuls=shlelf_nbsd ;;
shle*-*-elf* | sh[1234]*le*-*-elf | shle*-*-kaos*)
			targ_emul=shlelf
			targ_extra_emuls="shelf shl sh"	;;
sh-*-elf* | sh[1234]*-*-elf | sh-*-rtems* | sh-*-kaos*)
			targ_emul=shelf
			targ_extra_emuls="shlelf sh shl" ;;
sh-*-uclinux* | sh[12]-*-uclinux*)
			targ_emul=shelf_uclinux
			targ_extra_emuls="shelf shlelf sh shl shelf_fd shlelf_fd" ;;
sh-*-vxworks)		targ_emul=shelf_vxworks
			targ_extra_emuls=shlelf_vxworks ;;
sh-*-nto*)		targ_emul=shelf_nto
			targ_extra_emuls=shlelf_nto ;;
sh-*-pe)		targ_emul=shpe ;
			targ_extra_ofiles="deffilep.o pe-dll.o" ;;
sh-*-*)			targ_emul=sh; targ_extra_emuls=shl ;;
sparc64-*-freebsd* | sparcv9-*-freebsd* | sparc64-*-kfreebsd*-gnu | sparcv9-*-kfreebsd*-gnu)
			targ_emul=elf64_sparc_fbsd
			targ_extra_emuls="elf64_sparc elf32_sparc"
			targ_extra_libpath=$targ_extra_emuls
			tdir_elf32_sparc=`echo ${targ_alias} | sed -e 's/64//'`	;;
sparc64-*-linux-*)	targ_emul=elf64_sparc
			targ_extra_emuls="elf32_sparc"
			targ_extra_libpath=elf32_sparc
			tdir_elf32_sparc=`echo ${targ_alias} | sed -e 's/64//'` ;;
sparc64-*-*bsd*)	targ_emul=elf64_sparc
			targ_extra_emuls="elf32_sparc" ;;
sparc64-*-solaris2* | sparcv9-*-solaris2*)
			targ_emul=elf64_sparc_sol2
			targ_extra_emuls="elf64_sparc elf32_sparc_sol2 elf32_sparc"
			targ_extra_libpath=$targ_extra_emuls
			tdir_elf32_sparc=`echo ${targ_alias} | sed -e 's/64//'` ;;
sparc64-*-*)		targ_emul=elf64_sparc ;;
sparc*-*-linux-*)	targ_emul=elf32_sparc
			targ_extra_emuls="elf64_sparc"
			targ_extra_libpath=elf64_sparc
			tdir_elf64_sparc=`echo ${targ_alias} | sed -e 's/32//'` ;;
sparc-*-solaris2.[0-6] | sparc-*-solaris2.[0-6].*)
			targ_emul=elf32_sparc_sol2
			targ_extra_emuls=elf32_sparc ;;
sparc-*-solaris2*)	targ_emul=elf32_sparc_sol2
			targ_extra_emuls="elf32_sparc elf64_sparc_sol2 elf64_sparc"
			targ_extra_libpath=$targ_extra_emuls
			tdir_elf64_sparc=`echo ${targ_alias} | sed -e 's/32//'`	;;
sparc*-*-vxworks*)	targ_emul=elf32_sparc_vxworks ;;
sparc*-*-*)		targ_emul=elf32_sparc ;;
spu-*-elf*)		targ_emul=elf32_spu ;;
tic30-*-*aout*)		targ_emul=tic30aout ;;
tic30-*-*coff*)		targ_emul=tic30coff ;;
tic4x-*-* | c4x-*-*)	targ_emul=tic4xcoff ; targ_extra_emuls="tic3xcoff tic3xcoff_onchip" ;;
tic54x-*-* | c54x*-*-*)	targ_emul=tic54xcoff ;;
tic6x-*-elf)		targ_emul=elf32_tic6x_elf_le
			targ_extra_emuls="elf32_tic6x_elf_be elf32_tic6x_le elf32_tic6x_be"
			targ_extra_libpath=$targ_extra_emuls
			;;
tic6x-*-uclinux)	targ_emul=elf32_tic6x_linux_le
			targ_extra_emuls="elf32_tic6x_linux_be elf32_tic6x_le elf32_tic6x_be"
			targ_extra_libpath=$targ_extra_emuls
			;;
tic80-*-*)		targ_emul=tic80coff
			;;
tilegx-*-*)		targ_emul=elf64tilegx
			targ_extra_emuls="elf64tilegx_be elf32tilegx elf32tilegx_be"
			targ_extra_libpath=$targ_extra_emuls ;;
tilegxbe-*-*)		targ_emul=elf64tilegx_be
			targ_extra_emuls="elf64tilegx elf32tilegx elf32tilegx_be"
			targ_extra_libpath=$targ_extra_emuls ;;
tilepro-*-*)		targ_emul=elf32tilepro ;;
ft32-*-*)		targ_emul=elf32ft32
			;;
v850*-*-*)		targ_emul=v850_rh850
			targ_extra_emuls=v850
			;;
vax-*-netbsdelf*)	targ_emul=elf32vax
			targ_extra_emuls=vaxnbsd ;;
vax-*-netbsdaout* | vax-*-netbsd*)
			targ_emul=vaxnbsd
			targ_extra_emuls=elf32vax ;;
vax-*-linux-*)		targ_emul=elf32vax
			;;
visium-*-elf)		targ_emul=elf32visium
			;;
xc16x-*-elf)		targ_emul=elf32xc16x
			targ_extra_emuls="elf32xc16xl elf32xc16xs"
			;;
xstormy16-*-*)		targ_emul=elf32xstormy16
			;;
xtensa*-*-*)		targ_emul=elf32xtensa
			;;
xgate-*-*)		targ_emul=xgateelf
			;;
z80-*-coff)		targ_emul=z80
			;;
z8k-*-coff)		targ_emul=z8002; targ_extra_emuls=z8001
			;;
*-*-ieee*)		targ_emul=vanilla
			;;
*)
  echo 2>&1 "*** ld does not support target ${targ}"
  echo 2>&1 "*** see ld/configure.tgt for supported targets"
  exit 1

esac

NATIVE_LIB_DIRS='/usr/local/lib /lib /usr/lib'
case "${target}" in

*-*-dragonfly*)
  NATIVE_LIB_DIRS='/lib /usr/lib /usr/pkg/lib /usr/local/lib'
  ;;

*-*-freebsd*)
  NATIVE_LIB_DIRS='/lib /usr/lib /usr/local/lib'
  ;;

hppa*64*-*-hpux11*)
  NATIVE_LIB_DIRS=/usr/lib/pa20_64
  ;;

i[3-7]86-*-sysv4*)
  NATIVE_LIB_DIRS='/usr/local/lib /usr/ccs/lib /lib /usr/lib'
  ;;

i[3-7]86-*-solaris*)
  NATIVE_LIB_DIRS='/usr/local/lib /usr/ccs/lib /lib /usr/lib'
  ;;

i[3-7]86-pc-interix*)
  NATIVE_LIB_DIRS='/usr/local/lib $$INTERIX_ROOT/usr/lib /lib /usr/lib'
  ;;

ia64-*-aix*)
  NATIVE_LIB_DIRS='/usr/local/lib /usr/lib/ia64l64 /lib /usr/lib'
  ;;

sparc*-*-solaris2*)
  NATIVE_LIB_DIRS='/usr/local/lib /usr/ccs/lib /lib /usr/lib'
  ;;

spu-*-elf*)
  # This allows to build a pair of PPU/SPU toolchains with common sysroot.
  NATIVE_LIB_DIRS='/lib'
  ;;

i[03-9x]86-*-cygwin* | x86_64-*-cygwin*)
  NATIVE_LIB_DIRS='/usr/lib /usr/lib/w32api'
  ;;

*-*-linux*)
  ;;

*-*-netbsd*)
  ;;

alpha*-*-*)
  NATIVE_LIB_DIRS='/usr/local/lib /usr/ccs/lib /lib /usr/lib'
  ;;

esac

case "${target}" in
frv-*-* | hppa*-*-* | ia64-*-* | mips*-*-*)
  # Don't enable -z relro by default since many relro tests fail on these
  # targets:
  # FAIL: strip -z relro (relro1)
  # FAIL: strip -z relro -shared (relro1)
  # FAIL: objcopy -z relro (relro1)
  # FAIL: objcopy -z relro -shared (relro1)
  # FAIL: objcopy -z relro (tdata1)
  # FAIL: objcopy -shared -z relro (tdata1)
  # FAIL: objcopy -z relro (tdata2)
  # FAIL: objcopy -shared -z relro (tdata2)
  # FAIL: objcopy -z relro (tdata3)
  # FAIL: objcopy -shared -z relro (tdata3)
  # FAIL: objcopy -shared -z relro (tbss1)
  # FAIL: objcopy -shared -z relro (tbss2)
  # FAIL: objcopy -shared -z relro (tbss3)
  ;;
*-*-linux*)
  if test ${ac_default_ld_z_relro} = unset; then
    ac_default_ld_z_relro=1
  fi
  ;;
esac

# Enable -z separate-code by default for Linux/x86.
case "${target}" in
i[3-7]86-*-linux-* | x86_64-*-linux-*)
  if test ${ac_default_ld_z_separate_code} = unset; then
    ac_default_ld_z_separate_code=1
  fi
  ;;
esac
