aboutsummaryrefslogtreecommitdiffstats
path: root/arm-stmos/binutils-files
diff options
context:
space:
mode:
Diffstat (limited to 'arm-stmos/binutils-files')
-rw-r--r--arm-stmos/binutils-files/bfd/config.bfd1477
-rwxr-xr-xarm-stmos/binutils-files/config.sub1811
-rw-r--r--arm-stmos/binutils-files/gas/configure.tgt457
-rw-r--r--arm-stmos/binutils-files/ld/Makefile.am2001
-rw-r--r--arm-stmos/binutils-files/ld/configure.tgt868
-rw-r--r--arm-stmos/binutils-files/ld/emulparams/armelf_stmos.sh37
6 files changed, 6651 insertions, 0 deletions
diff --git a/arm-stmos/binutils-files/bfd/config.bfd b/arm-stmos/binutils-files/bfd/config.bfd
new file mode 100644
index 0000000..fe37250
--- /dev/null
+++ b/arm-stmos/binutils-files/bfd/config.bfd
@@ -0,0 +1,1477 @@
+# config.bfd
+#
+# Copyright (C) 2012-2018 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/>.
+#
+# Convert a canonical host type into a BFD host type.
+# Set shell variable targ to canonical target name, and run
+# using ``. config.bfd''.
+# Sets the following shell variables:
+# targ_defvec Default vector for this target
+# targ_selvecs Vectors to build for this target
+# targ64_selvecs Vectors to build if --enable-64-bit-bfd is given
+# or if host is 64 bit.
+# targ_archs Architectures for this target
+# targ_cflags $(CFLAGS) for this target (FIXME: pretty bogus)
+# targ_underscore Whether underscores are used: yes or no
+
+# Part of this file is processed by targmatch.sed to generate the
+# targmatch.h file. The #ifdef and #endif lines that appear below are
+# copied directly into targmatch.h.
+
+# The binutils c++filt program wants to know whether underscores are
+# stripped or not. That is why we set targ_underscore. c++filt uses
+# this information to choose a default. This information is
+# duplicated in the symbol_leading_char field of the BFD target
+# vector, but c++filt does not deal with object files and is not
+# linked against libbfd.a. It is not terribly important that c++filt
+# get this right; it is just convenient.
+
+targ_defvec=
+targ_selvecs=
+targ64_selvecs=
+targ_cflags=
+targ_underscore=no
+
+# Catch obsolete configurations.
+case $targ in
+ openrisc-*-* | or32-*-*)
+ echo "*** Configuration $targ is obsolete." >&2
+ echo "*** Use or1k-*-elf or or1k-*-linux as the target instead" >&2
+ exit 1
+ ;;
+ powerpc-*-lynxos* | powerpc-*-windiss* | \
+ null)
+ if test "x$enable_obsolete" != xyes; then
+ echo "*** Configuration $targ is obsolete." >&2
+ echo "*** Specify --enable-obsolete to build it anyway." >&2
+ echo "*** Support will be REMOVED in the next major release of BINUTILS," >&2
+ echo "*** unless a maintainer comes forward." >&2
+ exit 1
+ fi;;
+esac
+
+case $targ in
+ *-*-netbsdelf* | i[3-7]86-*-netbsd*-gnu* | i[3-7]86-*-knetbsd*-gnu | \
+ mips*-*-irix5* | mips*-*-irix6*)
+ # Not obsolete
+ ;;
+ *-adobe-* | \
+ *-go32-rtems* | \
+ *-sony-* | \
+ *-tandem-* | \
+ *-*-ieee* | \
+ *-*-netware* | \
+ *-*-rtemsaout* | \
+ *-*-rtemscoff* | \
+ a29k-* | \
+ arm*-*-aout | \
+ arm-*-coff | \
+ arm-*-netbsd* | \
+ arm-*-openbsd* | \
+ arm-*-oabi | \
+ arm-*-riscix* | \
+ arm-epoc-pe* | \
+ h8300*-*-coff | \
+ h8500*-*-coff | \
+ hppa*-*-rtems* | \
+ i[3-7]86-*-unixware* | \
+ i[3-7]86-*-dgux* | \
+ i[3-7]86-*-chorus* | \
+ i[3-7]86-*-sysv* | \
+ i[3-7]86-*-isc* | \
+ i[3-7]86-*-sco* | \
+ i[3-7]86-*-coff | \
+ i[3-7]86-*-aix* | \
+ i[3-7]86-sequent-bsd* | \
+ i[3-7]86-*-freebsdaout* | i[3-7]86-*-freebsd[12].* | i[3-7]86-*-freebsd[12] | \
+ i[3-7]86-*-netbsdaout* | i[3-7]86-*-netbsd* | \
+ i[3-7]86-*-openbsd[0-2].* | i[3-7]86-*-openbsd3.[0-3] | \
+ i[3-7]86-*-linux*aout* | \
+ i[3-7]86-*-mach* | i[3-7]86-*-osf1mk* | \
+ i[3-7]86-*-os9k | \
+ i[3-7]86-none-* | \
+ i[3-7]86-*-aout* | i[3-7]86*-*-vsta* | \
+ i370-* | \
+ i860-*-* | \
+ i960-*-* | \
+ m68*-*-*bsd* | \
+ m68*-*-aout* | \
+ m68*-*-coff* | \
+ m68*-*-hpux* | \
+ m68*-*-linux*aout* | \
+ m68*-*-lynxos* | \
+ m68*-*-os68k* | \
+ m68*-*-psos* | \
+ m68*-*-sunos* | \
+ m68*-*-sysv* | \
+ m68*-*-vsta* | \
+ m68*-*-vxworks* | \
+ m68*-apollo-* | \
+ m68*-apple-aux* | \
+ m68*-bull-sysv* | \
+ m68*-ericsson-* | \
+ m68*-motorola-sysv* | \
+ m68*-netx-* | \
+ m88*-*-* | \
+ maxq-*-coff | \
+ mips*-*-bsd* | \
+ mips*-*-ecoff* | \
+ mips*-*-lnews* | \
+ mips*-*-mach3* | \
+ mips*-*-pe* | \
+ mips*-*-riscos* | \
+ mips*-*-sysv* | \
+ mips*-big-* | \
+ mips*-dec-* | \
+ mips*-sgi-* | \
+ mips*el-*-rtems* | \
+ sh*-*-symbianelf* | sh5*-*-* | sh64*-*-* | \
+ sparc*-*-*aout* | \
+ sparc*-*-chorus* | \
+ sparc*-*-coff* | \
+ sparc-*-lynxos* | \
+ sparc-*-openbsd[0-2].* | sparc-*-openbsd3.[0-1] | \
+ tahoe-*-* | \
+ vax-*-bsd* | vax-*-ultrix* | vax-*-vms* | \
+ w65-*-* | \
+ we32k-*-* | \
+ null)
+ echo "*** Configuration $targ is obsolete." >&2
+ echo "*** Support has been REMOVED." >&2
+ exit 1
+ ;;
+esac
+
+targ_cpu=`echo $targ | sed 's/^\([^-]*\)-\([^-]*\)-\(.*\)$/\1/'`
+case "${targ_cpu}" in
+aarch64*) targ_archs="bfd_aarch64_arch bfd_arm_arch";;
+alpha*) targ_archs=bfd_alpha_arch ;;
+am33_2.0*) targ_archs=bfd_mn10300_arch ;;
+arc*) targ_archs=bfd_arc_arch ;;
+arm*) targ_archs=bfd_arm_arch ;;
+bfin*) targ_archs=bfd_bfin_arch ;;
+c30*) targ_archs=bfd_tic30_arch ;;
+c4x*) targ_archs=bfd_tic4x_arch ;;
+c54x*) targ_archs=bfd_tic54x_arch ;;
+cr16*) targ_archs=bfd_cr16_arch ;;
+crisv32) targ_archs=bfd_cris_arch ;;
+crx*) targ_archs=bfd_crx_arch ;;
+dlx*) targ_archs=bfd_dlx_arch ;;
+fido*) targ_archs=bfd_m68k_arch ;;
+hppa*) targ_archs=bfd_hppa_arch ;;
+i[3-7]86) targ_archs=bfd_i386_arch ;;
+ia16) targ_archs=bfd_i386_arch ;;
+lm32) targ_archs=bfd_lm32_arch ;;
+m6811*|m68hc11*) targ_archs="bfd_m68hc11_arch bfd_m68hc12_arch bfd_m9s12x_arch bfd_m9s12xg_arch" ;;
+m6812*|m68hc12*) targ_archs="bfd_m68hc12_arch bfd_m68hc11_arch bfd_m9s12x_arch bfd_m9s12xg_arch" ;;
+m68*) targ_archs=bfd_m68k_arch ;;
+s12z*) targ_archs=bfd_s12z_arch ;;
+microblaze*) targ_archs=bfd_microblaze_arch ;;
+mips*) targ_archs=bfd_mips_arch ;;
+nds32*) targ_archs=bfd_nds32_arch ;;
+nfp) targ_archs=bfd_nfp_arch ;;
+nios2*) targ_archs=bfd_nios2_arch ;;
+or1k*|or1knd*) targ_archs=bfd_or1k_arch ;;
+pdp11*) targ_archs=bfd_pdp11_arch ;;
+pj*) targ_archs="bfd_pj_arch bfd_i386_arch";;
+powerpc*) targ_archs="bfd_rs6000_arch bfd_powerpc_arch" ;;
+pru*) targ_archs=bfd_pru_arch ;;
+riscv*) targ_archs=bfd_riscv_arch ;;
+rs6000) targ_archs="bfd_rs6000_arch bfd_powerpc_arch" ;;
+s390*) targ_archs=bfd_s390_arch ;;
+sh*) targ_archs=bfd_sh_arch ;;
+sparc*) targ_archs=bfd_sparc_arch ;;
+spu*) targ_archs=bfd_spu_arch ;;
+tilegx*) targ_archs=bfd_tilegx_arch ;;
+tilepro*) targ_archs=bfd_tilepro_arch ;;
+v850*) targ_archs="bfd_v850_arch bfd_v850_rh850_arch" ;;
+visium*) targ_archs=bfd_visium_arch ;;
+wasm32) targ_archs=bfd_wasm32_arch ;;
+x86_64*) targ_archs=bfd_i386_arch ;;
+xtensa*) targ_archs=bfd_xtensa_arch ;;
+xgate) targ_archs=bfd_xgate_arch ;;
+z80|r800) targ_archs=bfd_z80_arch ;;
+z8k*) targ_archs=bfd_z8k_arch ;;
+*) targ_archs=bfd_${targ_cpu}_arch ;;
+esac
+
+
+# WHEN ADDING ENTRIES TO THIS MATRIX:
+# Make sure that the left side always has two dashes. Otherwise you
+# can get spurious matches. Even for unambiguous cases, do this as a
+# convention, else the table becomes a real mess to understand and maintain.
+
+case "${targ}" in
+ plugin)
+ targ_defvec=plugin_vec
+ targ_selvecs="plugin_vec"
+ ;;
+
+# START OF targmatch.h
+#ifdef BFD64
+ aarch64-*-darwin*)
+ targ_defvec=aarch64_mach_o_vec
+ targ_selvecs="arm_mach_o_vec mach_o_le_vec mach_o_be_vec mach_o_fat_vec"
+ targ_archs="$targ_archs bfd_i386_arch bfd_powerpc_arch bfd_rs6000_arch"
+ want64=true
+ ;;
+ aarch64-*-elf | aarch64-*-rtems*)
+ targ_defvec=aarch64_elf64_le_vec
+ targ_selvecs="aarch64_elf64_be_vec aarch64_elf32_le_vec aarch64_elf32_be_vec arm_elf32_le_vec arm_elf32_be_vec"
+ want64=true
+ ;;
+ aarch64_be-*-elf)
+ targ_defvec=aarch64_elf64_be_vec
+ targ_selvecs="aarch64_elf64_le_vec aarch64_elf32_le_vec aarch64_elf32_be_vec arm_elf32_be_vec arm_elf32_le_vec"
+ want64=true
+ ;;
+ aarch64-*-freebsd*)
+ targ_defvec=aarch64_elf64_le_vec
+ targ_selvecs="aarch64_elf64_be_vec arm_elf32_le_vec arm_elf32_be_vec"
+ want64=true
+ ;;
+ aarch64-*-fuchsia*)
+ targ_defvec=aarch64_elf64_le_vec
+ targ_selvecs="aarch64_elf64_be_vec arm_elf32_le_vec arm_elf32_be_vec"
+ want64=true
+ ;;
+ aarch64-*-cloudabi*)
+ targ_defvec=aarch64_elf64_le_cloudabi_vec
+ targ_selvecs=aarch64_elf64_be_cloudabi_vec
+ want64=true
+ ;;
+ aarch64-*-linux*)
+ targ_defvec=aarch64_elf64_le_vec
+ targ_selvecs="aarch64_elf64_be_vec aarch64_elf32_le_vec aarch64_elf32_be_vec arm_elf32_le_vec arm_elf32_be_vec"
+ want64=true
+ ;;
+ aarch64_be-*-linux*)
+ targ_defvec=aarch64_elf64_be_vec
+ targ_selvecs="aarch64_elf64_le_vec aarch64_elf32_le_vec aarch64_elf32_be_vec arm_elf32_be_vec arm_elf32_le_vec"
+ want64=true
+ ;;
+ alpha*-*-freebsd* | alpha*-*-kfreebsd*-gnu)
+ targ_defvec=alpha_elf64_fbsd_vec
+ targ_selvecs="alpha_elf64_vec alpha_ecoff_le_vec"
+ want64=true
+ # FreeBSD <= 4.0 supports only the old nonstandard way of ABI labelling.
+ case "${targ}" in
+ alpha*-*-freebsd3* | alpha*-*-freebsd4 | alpha*-*-freebsd4.0*)
+ targ_cflags=-DOLD_FREEBSD_ABI_LABEL ;;
+ esac
+ ;;
+ alpha*-*-netbsd* | alpha*-*-openbsd*)
+ targ_defvec=alpha_elf64_vec
+ targ_selvecs=alpha_ecoff_le_vec
+ want64=true
+ ;;
+ alpha*-*-linux*ecoff*)
+ targ_defvec=alpha_ecoff_le_vec
+ targ_selvecs=alpha_elf64_vec
+ want64=true
+ ;;
+ alpha*-*-linux-* | alpha*-*-elf*)
+ targ_defvec=alpha_elf64_vec
+ targ_selvecs=alpha_ecoff_le_vec
+ want64=true
+ ;;
+ alpha*-*-*vms*)
+ targ_defvec=alpha_vms_vec
+ targ_selvecs=alpha_vms_lib_txt_vec
+ want64=true
+ ;;
+ alpha*-*-*)
+ targ_defvec=alpha_ecoff_le_vec
+ want64=true
+ ;;
+ ia64*-*-freebsd* | ia64*-*-netbsd* | ia64*-*-linux-* | ia64*-*-elf* | ia64*-*-kfreebsd*-gnu)
+ targ_defvec=ia64_elf64_le_vec
+ targ_selvecs="ia64_elf64_be_vec ia64_pei_vec"
+ want64=true
+ ;;
+ ia64*-*-hpux*)
+ targ_defvec=ia64_elf32_hpux_be_vec
+ targ_selvecs="ia64_elf64_hpux_be_vec"
+ want64=true
+ ;;
+ ia64*-*-*vms*)
+ targ_defvec=ia64_elf64_vms_vec
+ targ_selvecs=alpha_vms_lib_txt_vec
+ want64=true
+ ;;
+#endif /* BFD64 */
+
+ am33_2.0-*-linux*)
+ targ_defvec=am33_elf32_linux_vec
+ ;;
+
+ arc*eb-*-elf* | arc*eb-*-linux*)
+ targ_defvec=arc_elf32_be_vec
+ targ_selvecs=arc_elf32_le_vec
+ ;;
+
+ arc*-*-elf* | arc*-*-linux*)
+ targ_defvec=arc_elf32_le_vec
+ targ_selvecs=arc_elf32_be_vec
+ ;;
+
+ arm-*-darwin*)
+ targ_defvec=arm_mach_o_vec
+ targ_selvecs="mach_o_le_vec mach_o_be_vec mach_o_fat_vec"
+ targ_archs="$targ_archs bfd_i386_arch bfd_powerpc_arch bfd_rs6000_arch"
+ ;;
+ arm-*-fuchsia*)
+ targ_defvec=arm_elf32_le_vec
+ targ_selvecs="arm_elf32_be_vec"
+ ;;
+ arm-*-nacl*)
+ targ_defvec=arm_elf32_nacl_le_vec
+ targ_selvecs="arm_elf32_nacl_be_vec i386_elf32_nacl_vec"
+ targ64_selvecs="x86_64_elf32_nacl_vec x86_64_elf64_nacl_vec"
+ targ_archs="$targ_archs bfd_i386_arch"
+ ;;
+ armeb-*-nacl*)
+ targ_defvec=arm_elf32_nacl_be_vec
+ targ_selvecs="arm_elf32_nacl_le_vec i386_elf32_nacl_vec"
+ targ64_selvecs="x86_64_elf32_nacl_vec x86_64_elf64_nacl_vec"
+ targ_archs="$targ_archs bfd_i386_arch"
+ ;;
+ armeb-*-netbsdelf*)
+ targ_defvec=arm_elf32_be_vec
+ targ_selvecs="arm_elf32_le_vec"
+ ;;
+ arm-*-netbsdelf*)
+ targ_defvec=arm_elf32_le_vec
+ targ_selvecs="arm_elf32_be_vec"
+ ;;
+ arm-*-nto* | nto*arm*)
+ targ_defvec=arm_elf32_le_vec
+ targ_selvecs=arm_elf32_be_vec
+ targ_cflags=-D__QNXTARGET__
+ ;;
+ arm-wince-pe | arm-*-wince | arm*-*-mingw32ce* | arm*-*-cegcc*)
+ targ_defvec=arm_pe_wince_le_vec
+ targ_selvecs="arm_pe_wince_le_vec arm_pe_wince_be_vec arm_pei_wince_le_vec arm_pei_wince_be_vec"
+ targ_underscore=no
+ targ_cflags="-DARM_WINCE -DARM_COFF_BUGFIX"
+ ;;
+ arm-*-pe*)
+ targ_defvec=arm_pe_le_vec
+ targ_selvecs="arm_pe_le_vec arm_pe_be_vec arm_pei_le_vec arm_pei_be_vec"
+ targ_underscore=yes
+ ;;
+ arm-*-phoenix*)
+ targ_defvec=arm_elf32_le_vec
+ targ_selvecs=arm_elf32_be_vec
+ ;;
+ armeb-*-elf | arm*b-*-freebsd* | arm*b-*-linux-* | armeb-*-eabi*)
+ targ_defvec=arm_elf32_be_vec
+ targ_selvecs=arm_elf32_le_vec
+ ;;
+ arm-*-kaos*)
+ targ_defvec=arm_elf32_le_vec
+ targ_selvecs=arm_elf32_be_vec
+ ;;
+ arm-*-elf | arm*-*-freebsd* | arm*-*-linux-* | arm*-*-conix* | \
+ arm*-*-uclinux* | arm-*-kfreebsd*-gnu | \
+ arm*-*-eabi* | arm-*-rtems* | arm*-*-uclinuxfdpiceabi)
+ targ_defvec=arm_elf32_le_vec
+ targ_selvecs="arm_elf32_fdpic_le_vec arm_elf32_be_vec arm_elf32_fdpic_be_vec"
+ ;;
+ arm-*-stmos*)
+ targ_defvec=arm_elf32_le_vec
+ targ_selvecs="arm_elf32_fdpic_le_vec arm_elf32_be_vec arm_elf32_fdpic_be_vec"
+ ;;
+ arm*-*-vxworks | arm*-*-windiss)
+ targ_defvec=arm_elf32_vxworks_le_vec
+ targ_selvecs=arm_elf32_vxworks_be_vec
+ ;;
+ arm*-*-symbianelf*)
+ targ_defvec=arm_elf32_symbian_le_vec
+ targ_selvecs=arm_elf32_symbian_be_vec
+ ;;
+ arm9e-*-elf)
+ targ_defvec=arm_elf32_le_vec
+ targ_selvecs=arm_elf32_be_vec
+ ;;
+
+ avr-*-*)
+ targ_defvec=avr_elf32_vec
+ ;;
+
+ bfin-*-*)
+ targ_defvec=bfin_elf32_vec
+ targ_selvecs=bfin_elf32_fdpic_vec
+ targ_underscore=yes
+ ;;
+
+ c30-*-*aout* | tic30-*-*aout*)
+ targ_defvec=tic30_aout_vec
+ ;;
+ c30-*-*coff* | tic30-*-*coff*)
+ targ_defvec=tic30_coff_vec
+ ;;
+
+ c4x-*-*coff* | tic4x-*-*coff*)
+ targ_defvec=tic4x_coff1_vec
+ targ_selvecs="tic4x_coff1_beh_vec tic4x_coff2_vec tic4x_coff2_beh_vec tic4x_coff0_vec tic4x_coff0_beh_vec"
+ targ_underscore=yes
+ ;;
+
+ c54x*-*-*coff* | tic54x-*-*coff*)
+ targ_defvec=tic54x_coff1_vec
+ targ_selvecs="tic54x_coff1_beh_vec tic54x_coff2_vec tic54x_coff2_beh_vec tic54x_coff0_vec tic54x_coff0_beh_vec"
+ targ_underscore=yes
+ ;;
+
+ cr16-*-elf* | cr16*-*-uclinux*)
+ targ_defvec=cr16_elf32_vec
+ targ_underscore=yes
+ ;;
+
+ cr16c-*-elf*)
+ targ_defvec=cr16c_elf32_vec
+ targ_underscore=yes
+ ;;
+
+#ifdef BFD64
+ cris-*-* | crisv32-*-*)
+ targ_defvec=cris_aout_vec
+ targ_selvecs="cris_elf32_us_vec cris_elf32_vec"
+ case "${targ}" in
+ *-*-linux*) ;;
+ *) targ_underscore=yes ;;
+ esac
+ want64=true
+ ;;
+#endif
+
+ crx-*-elf*)
+ targ_defvec=crx_elf32_vec
+ targ_underscore=yes
+ ;;
+
+ d10v-*-*)
+ targ_defvec=d10v_elf32_vec
+ ;;
+
+ dlx-*-elf*)
+ targ_defvec=dlx_elf32_be_vec
+ targ_selvecs="dlx_elf32_be_vec"
+ ;;
+
+ d30v-*-*)
+ targ_defvec=d30v_elf32_vec
+ ;;
+
+ epiphany-*-*)
+ targ_defvec=epiphany_elf32_vec
+ targ_underscore=yes
+ ;;
+
+ fido-*-elf* )
+ targ_defvec=m68k_elf32_vec
+ ;;
+
+ fr30-*-elf)
+ targ_defvec=fr30_elf32_vec
+ ;;
+
+ frv-*-elf)
+ targ_defvec=frv_elf32_vec
+ targ_selvecs=frv_elf32_fdpic_vec
+ ;;
+
+ frv-*-*linux*)
+ targ_defvec=frv_elf32_fdpic_vec
+ targ_selvecs=frv_elf32_vec
+ ;;
+
+ moxie-*-elf | moxie-*-rtems* | moxie-*-uclinux)
+ targ_defvec=moxie_elf32_be_vec
+ targ_selvecs=moxie_elf32_le_vec
+ ;;
+
+ moxie-*-moxiebox*)
+ targ_defvec=moxie_elf32_le_vec
+ ;;
+
+ h8300*-*-elf | h8300*-*-rtems*)
+ targ_defvec=h8300_elf32_vec
+ targ_underscore=yes
+ ;;
+
+ h8300*-*-linux*)
+ targ_defvec=h8300_elf32_linux_vec
+ ;;
+
+#ifdef BFD64
+ hppa*64*-*-linux-*)
+ targ_defvec=hppa_elf64_linux_vec
+ targ_selvecs=hppa_elf64_vec
+ want64=true
+ ;;
+ hppa*64*-*-hpux11*)
+ targ_defvec=hppa_elf64_vec
+ targ_selvecs=hppa_elf64_linux_vec
+ targ_cflags=-DHPUX_LARGE_AR_IDS
+ want64=true
+ ;;
+#endif
+
+ hppa*-*-linux-*)
+ targ_defvec=hppa_elf32_linux_vec
+ targ_selvecs=hppa_elf32_vec
+ ;;
+ hppa*-*-netbsd*)
+ targ_defvec=hppa_elf32_nbsd_vec
+ targ_selvecs="hppa_elf32_vec hppa_elf32_linux_vec"
+ ;;
+ hppa*-*-*elf* | hppa*-*-lites* | hppa*-*-sysv4* | hppa*-*-openbsd*)
+ targ_defvec=hppa_elf32_vec
+ targ_selvecs=hppa_elf32_linux_vec
+ ;;
+
+ hppa*-*-bsd*)
+ targ_defvec=hppa_som_vec
+ targ_selvecs=hppa_elf32_vec
+ ;;
+ hppa*-*-hpux* | hppa*-*-hiux* | hppa*-*-mpeix*)
+ targ_defvec=hppa_som_vec
+ ;;
+ hppa*-*-osf*)
+ targ_defvec=hppa_som_vec
+ targ_selvecs=hppa_elf32_vec
+ ;;
+
+ i[3-7]86-*-elf* | i[3-7]86-*-rtems*)
+ targ_defvec=i386_elf32_vec
+ targ_selvecs="iamcu_elf32_vec i386_coff_vec"
+ ;;
+ i[3-7]86-*-solaris2*)
+ targ_defvec=i386_elf32_sol2_vec
+ targ_selvecs="iamcu_elf32_vec i386_coff_vec i386_pei_vec"
+ targ64_selvecs="x86_64_elf64_sol2_vec l1om_elf64_vec k1om_elf64_vec x86_64_pei_vec"
+ want64=true
+ ;;
+#ifdef BFD64
+ x86_64-*-solaris2*)
+ targ_defvec=i386_elf32_sol2_vec
+ targ_selvecs="x86_64_elf64_sol2_vec l1om_elf64_vec k1om_elf64_vec iamcu_elf32_vec i386_coff_vec i386_pei_vec x86_64_pei_vec"
+ want64=true
+ ;;
+#endif
+ i[3-7]86-*-kaos*)
+ targ_defvec=i386_elf32_vec
+ targ_selvecs=i386_elf32_vec
+ ;;
+ i[3-7]86-*-nto*)
+ targ_defvec=i386_elf32_vec
+ targ_selvecs="iamcu_elf32_vec i386_coff_vec"
+ ;;
+ i[3-7]86-*-aros*)
+ targ_defvec=i386_elf32_vec
+ targ_selvecs=iamcu_elf32_vec
+ ;;
+ i[3-7]86-*-dicos*)
+ targ_defvec=i386_elf32_vec
+ targ_selvecs=iamcu_elf32_vec
+ targ64_selvecs="x86_64_elf64_vec l1om_elf64_vec k1om_elf64_vec"
+ ;;
+ *-*-msdosdjgpp* | *-*-go32* )
+ targ_defvec=i386_coff_go32_vec
+ targ_selvecs="i386_coff_go32stubbed_vec i386_aout_vec"
+ ;;
+ i[3-7]86-*-darwin* | i[3-7]86-*-macos10* | i[3-7]86-*-rhapsody*)
+ targ_defvec=i386_mach_o_vec
+ targ_selvecs="mach_o_le_vec mach_o_be_vec mach_o_fat_vec pef_vec pef_xlib_vec sym_vec"
+ targ64_selvecs=x86_64_mach_o_vec
+ targ_archs="$targ_archs bfd_powerpc_arch bfd_rs6000_arch"
+ ;;
+ i[3-7]86-*-bsd*)
+ targ_defvec=i386_aout_bsd_vec
+ targ_underscore=yes
+ ;;
+ i[3-7]86-*-dragonfly*)
+ targ_defvec=i386_elf32_vec
+ targ_selvecs=iamcu_elf32_vec
+ targ64_selvecs="x86_64_elf64_vec l1om_elf64_vec k1om_elf64_vec"
+ ;;
+ i[3-7]86-*-freebsd* | i[3-7]86-*-kfreebsd*-gnu)
+ targ_defvec=i386_elf32_fbsd_vec
+ targ_selvecs="i386_elf32_vec iamcu_elf32_vec i386_pei_vec i386_coff_vec"
+ targ64_selvecs="x86_64_elf64_fbsd_vec x86_64_elf64_vec x86_64_pei_vec l1om_elf64_vec l1om_elf64_fbsd_vec k1om_elf64_vec k1om_elf64_fbsd_vec"
+ # FreeBSD <= 4.0 supports only the old nonstandard way of ABI labelling.
+ case "${targ}" in
+ i[3-7]86-*-freebsd3* | i[3-7]86-*-freebsd4 | i[3-7]86-*-freebsd4.0*)
+ targ_cflags=-DOLD_FREEBSD_ABI_LABEL ;;
+ esac
+ ;;
+ i[3-7]86-*-netbsdelf* | i[3-7]86-*-netbsd*-gnu* | i[3-7]86-*-knetbsd*-gnu)
+ targ_defvec=i386_elf32_vec
+ targ_selvecs="iamcu_elf32_vec"
+ targ64_selvecs="x86_64_elf64_vec l1om_elf64_vec k1om_elf64_vec"
+ ;;
+ i[3-7]86-*-netbsdpe*)
+ targ_defvec=i386_pe_vec
+ targ_selvecs="i386_pe_vec i386_pei_vec i386_elf32_vec iamcu_elf32_vec"
+ ;;
+ i[3-7]86-*-openbsd*)
+ targ_defvec=i386_elf32_vec
+ targ_selvecs="iamcu_elf32_vec"
+ ;;
+ i[3-7]86-*-linux-*)
+ targ_defvec=i386_elf32_vec
+ targ_selvecs="iamcu_elf32_vec i386_pei_vec"
+ targ64_selvecs="x86_64_elf64_vec x86_64_elf32_vec x86_64_pei_vec l1om_elf64_vec k1om_elf64_vec"
+ ;;
+ i[3-7]86-*-nacl*)
+ targ_defvec=i386_elf32_nacl_vec
+ targ_selvecs="arm_elf32_nacl_be_vec arm_elf32_nacl_le_vec"
+ targ64_selvecs="x86_64_elf64_nacl_vec x86_64_elf32_nacl_vec"
+ targ_archs="$targ_archs bfd_arm_arch"
+ ;;
+ i[3-7]86-*-redox*)
+ targ_defvec=i386_elf32_vec
+ targ_selvecs=
+ targ64_selvecs=x86_64_elf64_vec
+ ;;
+#ifdef BFD64
+ x86_64-*-cloudabi*)
+ targ_defvec=x86_64_elf64_cloudabi_vec
+ want64=true
+ ;;
+ x86_64-*-darwin*)
+ targ_defvec=x86_64_mach_o_vec
+ targ_selvecs="i386_mach_o_vec mach_o_le_vec mach_o_be_vec mach_o_fat_vec pef_vec pef_xlib_vec sym_vec"
+ targ_archs="$targ_archs bfd_powerpc_arch bfd_rs6000_arch"
+ want64=true
+ ;;
+ x86_64-*-dicos*)
+ targ_defvec=x86_64_elf64_vec
+ targ_selvecs="i386_elf32_vec iamcu_elf32_vec l1om_elf64_vec k1om_elf64_vec"
+ want64=true
+ ;;
+ x86_64-*-elf* | x86_64-*-rtems* | x86_64-*-fuchsia)
+ targ_defvec=x86_64_elf64_vec
+ targ_selvecs="i386_elf32_vec iamcu_elf32_vec x86_64_elf32_vec l1om_elf64_vec k1om_elf64_vec"
+ case "${targ}" in
+ x86_64-*-rtems*)
+ targ_selvecs="${targ_selvecs} x86_64_pei_vec"
+ esac
+ want64=true
+ ;;
+ x86_64-*-dragonfly*)
+ targ_defvec=x86_64_elf64_vec
+ targ_selvecs="i386_elf32_vec iamcu_elf32_vec l1om_elf64_vec k1om_elf64_vec"
+ want64=true
+ ;;
+ x86_64-*-freebsd* | x86_64-*-kfreebsd*-gnu)
+ targ_defvec=x86_64_elf64_fbsd_vec
+ targ_selvecs="i386_elf32_fbsd_vec iamcu_elf32_vec i386_coff_vec i386_pei_vec x86_64_pei_vec i386_elf32_vec x86_64_elf64_vec l1om_elf64_vec l1om_elf64_fbsd_vec k1om_elf64_vec k1om_elf64_fbsd_vec"
+ want64=true
+ ;;
+ x86_64-*-netbsd* | x86_64-*-openbsd*)
+ targ_defvec=x86_64_elf64_vec
+ targ_selvecs="i386_elf32_vec iamcu_elf32_vec i386_coff_vec i386_pei_vec x86_64_pei_vec l1om_elf64_vec k1om_elf64_vec"
+ want64=true
+ ;;
+ x86_64-*-linux-*)
+ targ_defvec=x86_64_elf64_vec
+ targ_selvecs="i386_elf32_vec iamcu_elf32_vec x86_64_elf32_vec i386_pei_vec x86_64_pei_vec l1om_elf64_vec k1om_elf64_vec"
+ want64=true
+ ;;
+ x86_64-*-nacl*)
+ targ_defvec=x86_64_elf32_nacl_vec
+ targ_selvecs="i386_elf32_nacl_vec x86_64_elf64_nacl_vec arm_elf32_nacl_be_vec arm_elf32_nacl_le_vec"
+ targ_archs="$targ_archs bfd_arm_arch"
+ want64=true
+ ;;
+ x86_64-*-mingw* | x86_64-*-pe | x86_64-*-pep | x86_64-*-cygwin)
+ targ_defvec=x86_64_pe_vec
+ targ_selvecs="x86_64_pe_vec x86_64_pei_vec x86_64_pe_be_vec x86_64_elf64_vec l1om_elf64_vec k1om_elf64_vec i386_pe_vec i386_pei_vec i386_elf32_vec iamcu_elf32_vec"
+ want64=true
+ targ_underscore=no
+ ;;
+ x86_64-*-rdos*)
+ targ_defvec=x86_64_elf64_vec
+ want64=true
+ ;;
+ x86_64-*-redox*)
+ targ_defvec=x86_64_elf64_vec
+ targ_selvecs=i386_elf32_vec
+ want64=true
+ ;;
+#endif
+ i[3-7]86-*-lynxos*)
+ targ_defvec=i386_elf32_vec
+ targ_selvecs="iamcu_elf32_vec i386_coff_lynx_vec i386_aout_lynx_vec"
+ ;;
+ i[3-7]86-*-gnu*)
+ targ_defvec=i386_elf32_vec
+ targ_selvecs=iamcu_elf32_vec
+ ;;
+ i[3-7]86-*-msdos*)
+ targ_defvec=i386_aout_vec
+ targ_selvecs=i386_msdos_vec
+ ;;
+ i[3-7]86-*-moss*)
+ targ_defvec=i386_elf32_vec
+ targ_selvecs="iamcu_elf32_vec i386_msdos_vec i386_aout_vec"
+ ;;
+ i[3-7]86-*-beospe*)
+ targ_defvec=i386_pe_vec
+ targ_selvecs="i386_pe_vec i386_pei_vec"
+ ;;
+ i[3-7]86-*-beoself* | i[3-7]86-*-beos*)
+ targ_defvec=i386_elf32_vec
+ targ_selvecs="iamcu_elf32_vec i386_pe_vec i386_pei_vec"
+ ;;
+ i[3-7]86-*-interix*)
+ targ_defvec=i386_pei_vec
+ targ_selvecs="i386_pe_vec"
+ # FIXME: This should eventually be checked at runtime.
+ targ_cflags=-DSTRICT_PE_FORMAT
+ ;;
+ i[3-7]86-*-rdos*)
+ targ_defvec=i386_elf32_vec
+ targ_selvecs="iamcu_elf32_vec i386_coff_vec"
+ ;;
+ i[3-7]86-*-mingw32* | i[3-7]86-*-cygwin* | i[3-7]86-*-winnt | i[3-7]86-*-pe)
+ targ_defvec=i386_pe_vec
+ targ_selvecs="i386_pe_vec i386_pei_vec i386_elf32_vec iamcu_elf32_vec"
+ targ_underscore=yes
+ ;;
+ i[3-7]86-*-vxworks*)
+ targ_defvec=i386_elf32_vxworks_vec
+ targ_underscore=yes
+ ;;
+ i[3-7]86-*-chaos)
+ targ_defvec=i386_elf32_vec
+ targ_selfvecs="iamcu_elf32_vec i386chaos_vec"
+ ;;
+
+ ia16-*-elf)
+ targ_defvec=i386_elf32_vec
+ targ_selvecs="i386_msdos_vec i386_aout_vec"
+ ;;
+
+ ip2k-*-elf)
+ targ_defvec=ip2k_elf32_vec
+ targ_underscore=yes
+ ;;
+
+ iq2000-*-elf)
+ targ_defvec=iq2000_elf32_vec
+ ;;
+
+ lm32-*-elf | lm32-*-rtems*)
+ targ_defvec=lm32_elf32_vec
+ targ_selvecs=lm32_elf32_fdpic_vec
+ ;;
+
+ lm32-*-*linux*)
+ targ_defvec=lm32_elf32_fdpic_vec
+ targ_selvecs=lm32_elf32_vec
+ ;;
+
+ m32c-*-elf | m32c-*-rtems*)
+ targ_defvec=m32c_elf32_vec
+ targ_underscore=yes
+ ;;
+
+ m32r*le-*-linux*)
+ targ_defvec=m32r_elf32_linux_le_vec
+ targ_selvecs="m32r_elf32_linux_vec m32r_elf32_linux_le_vec"
+ ;;
+ m32r*-*-linux*)
+ targ_defvec=m32r_elf32_linux_vec
+ targ_selvecs="m32r_elf32_linux_vec m32r_elf32_linux_le_vec"
+ ;;
+ m32r*le-*-*)
+ targ_defvec=m32r_elf32_le_vec
+ targ_selvecs="m32r_elf32_vec m32r_elf32_le_vec"
+ ;;
+ m32r-*-*)
+ targ_defvec=m32r_elf32_vec
+ ;;
+
+ m68hc11-*-* | m6811-*-*)
+ targ_defvec=m68hc11_elf32_vec
+ targ_selvecs="m68hc11_elf32_vec m68hc12_elf32_vec"
+ ;;
+ m68hc12-*-* | m6812-*-*)
+ targ_defvec=m68hc12_elf32_vec
+ targ_selvecs="m68hc11_elf32_vec m68hc12_elf32_vec"
+ ;;
+
+ m68*-*-*)
+ targ_defvec=m68k_elf32_vec
+ ;;
+
+ s12z-*-*)
+ targ_defvec=s12z_elf32_vec
+ ;;
+ mcore-*-elf)
+ targ_defvec=mcore_elf32_be_vec
+ targ_selvecs="mcore_elf32_be_vec mcore_elf32_le_vec"
+ ;;
+ mcore-*-pe)
+ targ_defvec=mcore_pe_be_vec
+ targ_selvecs="mcore_pe_be_vec mcore_pe_le_vec mcore_pei_be_vec mcore_pei_le_vec"
+ ;;
+
+ mep-*-elf)
+ targ_defvec=mep_elf32_vec
+ targ_selvecs=mep_elf32_le_vec
+ ;;
+
+ metag-*-*)
+ targ_defvec=metag_elf32_vec
+ targ_underscore=yes
+ ;;
+
+ microblazeel*-*)
+ targ_defvec=microblaze_elf32_le_vec
+ targ_selvecs=microblaze_elf32_vec
+ ;;
+
+ microblaze*-*)
+ targ_defvec=microblaze_elf32_vec
+ targ_selvecs=microblaze_elf32_le_vec
+ ;;
+
+#ifdef BFD64
+ mips*el-*-netbsd*)
+ targ_defvec=mips_elf32_trad_le_vec
+ targ_selvecs="mips_elf32_trad_be_vec mips_elf64_trad_be_vec mips_elf64_trad_le_vec mips_ecoff_le_vec mips_ecoff_be_vec"
+ ;;
+ mips*-*-netbsd*)
+ targ_defvec=mips_elf32_trad_be_vec
+ targ_selvecs="mips_elf32_trad_le_vec mips_elf64_trad_be_vec mips_elf64_trad_le_vec mips_ecoff_be_vec mips_ecoff_le_vec"
+ ;;
+ mips*-*-irix6*)
+ targ_defvec=mips_elf32_n_be_vec
+ targ_selvecs="mips_elf32_n_le_vec mips_elf32_be_vec mips_elf32_le_vec mips_elf64_be_vec mips_elf64_le_vec"
+ ;;
+ mips64*-ps2-elf*)
+ targ_defvec=mips_elf32_n_le_vec
+ targ_selvecs="mips_elf32_n_le_vec mips_elf32_n_be_vec mips_elf32_be_vec mips_elf32_le_vec mips_elf64_be_vec mips_elf64_le_vec"
+ ;;
+ mips*-ps2-elf*)
+ targ_defvec=mips_elf32_le_vec
+ targ_selvecs="mips_elf32_be_vec mips_elf32_le_vec mips_elf64_be_vec mips_elf64_le_vec"
+ ;;
+ mips*-*-irix5*)
+ targ_defvec=mips_elf32_be_vec
+ targ_selvecs="mips_elf32_le_vec mips_ecoff_be_vec mips_ecoff_le_vec"
+ ;;
+ mips*el-*-vxworks*)
+ targ_defvec=mips_elf32_vxworks_le_vec
+ targ_selvecs="mips_elf32_le_vec mips_elf32_vxworks_be_vec mips_elf32_be_vec mips_elf64_be_vec mips_elf64_le_vec"
+ ;;
+ mips*-*-vxworks*)
+ targ_defvec=mips_elf32_vxworks_be_vec
+ targ_selvecs="mips_elf32_be_vec mips_elf32_vxworks_le_vec mips_elf32_be_vec mips_elf64_be_vec mips_elf64_le_vec"
+ ;;
+ mips*el-sde-elf*)
+ targ_defvec=mips_elf32_trad_le_vec
+ targ_selvecs="mips_elf32_trad_be_vec mips_elf32_ntrad_be_vec mips_elf32_ntrad_le_vec mips_elf64_trad_be_vec mips_elf64_trad_le_vec"
+ ;;
+ mips*-sde-elf* | mips*-mti-elf* | mips*-img-elf*)
+ targ_defvec=mips_elf32_trad_be_vec
+ targ_selvecs="mips_elf32_trad_le_vec mips_elf32_ntrad_be_vec mips_elf32_ntrad_le_vec mips_elf64_trad_be_vec mips_elf64_trad_le_vec"
+ ;;
+ mips*el-*-elf* | mips*-*-chorus*)
+ targ_defvec=mips_elf32_le_vec
+ targ_selvecs="mips_elf32_be_vec mips_elf64_be_vec mips_elf64_le_vec"
+ ;;
+ mips*-*-elf* | mips*-*-rtems* | mips*-*-windiss | mips*-*-none)
+ targ_defvec=mips_elf32_be_vec
+ targ_selvecs="mips_elf32_le_vec mips_elf64_be_vec mips_elf64_le_vec"
+ ;;
+ mips64*-*-openbsd*)
+ targ_defvec=mips_elf64_trad_be_vec
+ targ_selvecs="mips_elf32_ntrad_le_vec mips_elf32_ntrad_be_vec mips_elf32_trad_le_vec mips_elf32_trad_be_vec mips_elf64_trad_le_vec"
+ ;;
+ mips*el-*-openbsd*)
+ targ_defvec=mips_elf32_le_vec
+ targ_selvecs="mips_elf32_be_vec mips_elf64_be_vec mips_elf64_le_vec mips_ecoff_le_vec mips_ecoff_be_vec"
+ ;;
+ mips*-*-openbsd*)
+ targ_defvec=mips_elf32_be_vec
+ targ_selvecs="mips_elf32_le_vec mips_elf64_be_vec mips_elf64_le_vec mips_ecoff_be_vec mips_ecoff_le_vec"
+ ;;
+ mips64*el-*-linux*)
+ targ_defvec=mips_elf32_ntrad_le_vec
+ targ_selvecs="mips_elf32_ntrad_be_vec mips_elf32_trad_le_vec mips_elf32_trad_be_vec mips_elf64_trad_le_vec mips_elf64_trad_be_vec"
+ ;;
+ mips64*-*-linux*)
+ targ_defvec=mips_elf32_ntrad_be_vec
+ targ_selvecs="mips_elf32_ntrad_le_vec mips_elf32_trad_be_vec mips_elf32_trad_le_vec mips_elf64_trad_be_vec mips_elf64_trad_le_vec"
+ ;;
+ mips*el-*-linux*)
+ targ_defvec=mips_elf32_trad_le_vec
+ targ_selvecs="mips_elf32_trad_be_vec mips_ecoff_le_vec mips_ecoff_be_vec mips_elf32_ntrad_le_vec mips_elf64_trad_le_vec mips_elf32_ntrad_be_vec mips_elf64_trad_be_vec"
+ ;;
+ mips*-*-linux*)
+ targ_defvec=mips_elf32_trad_be_vec
+ targ_selvecs="mips_elf32_trad_le_vec mips_ecoff_be_vec mips_ecoff_le_vec mips_elf32_ntrad_be_vec mips_elf64_trad_be_vec mips_elf32_ntrad_le_vec mips_elf64_trad_le_vec"
+ ;;
+ mips64*el-*-freebsd* | mips64*el-*-kfreebsd*-gnu)
+ # FreeBSD vectors
+ targ_defvec=mips_elf32_ntradfbsd_le_vec
+ targ_selvecs="mips_elf32_ntradfbsd_be_vec mips_elf32_tradfbsd_le_vec mips_elf32_tradfbsd_be_vec mips_elf64_tradfbsd_le_vec mips_elf64_tradfbsd_be_vec"
+ # Generic vectors
+ targ_selvecs="${targ_selvecs} mips_elf32_ntrad_le_vec mips_elf32_ntrad_be_vec mips_elf32_trad_le_vec mips_elf32_trad_be_vec mips_elf64_trad_le_vec mips_elf64_trad_be_vec"
+ ;;
+ mips64*-*-freebsd* | mips64*-*-kfreebsd*-gnu)
+ # FreeBSD vectors
+ targ_defvec=mips_elf32_ntradfbsd_be_vec
+ targ_selvecs="mips_elf32_ntradfbsd_le_vec mips_elf32_tradfbsd_be_vec mips_elf32_tradfbsd_le_vec mips_elf64_tradfbsd_be_vec mips_elf64_tradfbsd_le_vec"
+ # Generic vectors
+ targ_selvecs="${targ_selvecs} mips_elf32_ntrad_be_vec mips_elf32_ntrad_le_vec mips_elf32_trad_be_vec mips_elf32_trad_le_vec mips_elf64_trad_be_vec mips_elf64_trad_le_vec"
+ ;;
+ mips*el-*-freebsd* | mips*el-*-kfreebsd*-gnu)
+ # FreeBSD vectors
+ targ_defvec=mips_elf32_tradfbsd_le_vec
+ targ_selvecs="mips_elf32_tradfbsd_be_vec mips_elf32_ntradfbsd_le_vec mips_elf64_tradfbsd_le_vec mips_elf32_ntradfbsd_be_vec mips_elf64_tradfbsd_be_vec"
+ # Generic vectors
+ targ_selvecs="${targ_selvecs} mips_elf32_trad_le_vec mips_elf32_trad_be_vec mips_elf32_ntrad_le_vec mips_elf64_trad_le_vec mips_elf32_ntrad_be_vec mips_elf64_trad_be_vec"
+ ;;
+ mips*-*-freebsd* | mips*-*-kfreebsd*-gnu)
+ # FreeBSD vectors
+ targ_defvec=mips_elf32_tradfbsd_be_vec
+ targ_selvecs="mips_elf32_tradfbsd_le_vec mips_elf32_ntradfbsd_be_vec mips_elf64_tradfbsd_be_vec mips_elf32_ntradfbsd_le_vec mips_elf64_tradfbsd_le_vec"
+ # Generic vectors
+ targ_selvecs="${targ_selvecs} mips_elf32_trad_be_vec mips_elf32_trad_le_vec mips_elf32_ntrad_be_vec mips_elf64_trad_be_vec mips_elf32_ntrad_le_vec mips_elf64_trad_le_vec"
+ ;;
+ mmix-*-*)
+ targ_defvec=mmix_elf64_vec
+ targ_selvecs=mmix_mmo_vec
+ want64=true
+ ;;
+#endif
+ mn10200-*-*)
+ targ_defvec=mn10200_elf32_vec
+ targ_underscore=yes
+ ;;
+
+ mn10300-*-*)
+ targ_defvec=mn10300_elf32_vec
+ targ_underscore=yes
+ ;;
+
+ mt-*-elf)
+ targ_defvec=mt_elf32_vec
+ ;;
+
+ msp430-*-*)
+ targ_defvec=msp430_elf32_vec
+ targ_selvecs=msp430_elf32_ti_vec
+ ;;
+
+ nds32*le-*-linux*)
+ targ_defvec=nds32_elf32_linux_le_vec
+ targ_selvecs=nds32_elf32_linux_be_vec
+ ;;
+
+ nds32*be-*-linux*)
+ targ_defvec=nds32_elf32_linux_be_vec
+ targ_selvecs=nds32_elf32_linux_le_vec
+ ;;
+
+ nds32*le-*-*)
+ targ_defvec=nds32_elf32_le_vec
+ targ_selvecs=nds32_elf32_be_vec
+ ;;
+
+ nds32*be-*-*)
+ targ_defvec=nds32_elf32_be_vec
+ targ_selvecs=nds32_elf32_le_vec
+ ;;
+
+#ifdef BFD64
+ nfp-*-*)
+ targ_defvec=nfp_elf64_vec
+ ;;
+#endif
+
+ ns32k-pc532-mach* | ns32k-pc532-ux*)
+ targ_defvec=ns32k_aout_pc532mach_vec
+ targ_underscore=yes
+ ;;
+ ns32k-*-netbsd* | ns32k-*-lites* | ns32k-*-openbsd*)
+ targ_defvec=ns32k_aout_pc532nbsd_vec
+ targ_underscore=yes
+ ;;
+
+ nios2eb-*-*)
+ targ_defvec=nios2_elf32_be_vec
+ targ_selvecs=nios2_elf32_le_vec
+ ;;
+
+ nios2el-*-*)
+ targ_defvec=nios2_elf32_le_vec
+ targ_selvecs=nios2_elf32_be_vec
+ ;;
+
+ nios2-*-*)
+ targ_defvec=nios2_elf32_le_vec
+ targ_selvecs=nios2_elf32_be_vec
+ ;;
+
+ or1k-*-elf | or1k-*-linux* | or1k-*-rtems*)
+ targ_defvec=or1k_elf32_vec
+ ;;
+
+ or1knd-*-elf | or1knd-*-linux* | or1knd-*-rtems*)
+ targ_defvec=or1k_elf32_vec
+ ;;
+
+ pdp11-*-*)
+ targ_defvec=pdp11_aout_vec
+ targ_underscore=yes
+ ;;
+
+ pj-*-*)
+ targ_defvec=pj_elf32_vec
+ targ_selvecs="pj_elf32_vec pj_elf32_le_vec"
+ ;;
+
+ pjl-*-*)
+ targ_defvec=pj_elf32_le_vec
+ targ_selvecs="pj_elf32_le_vec pj_elf32_vec i386_elf32_vec iamcu_elf32_vec"
+ ;;
+
+ powerpc-*-aix5.[01] | rs6000-*-aix5.[01])
+ targ_defvec=rs6000_xcoff_vec
+ targ_selvecs="rs6000_xcoff64_aix_vec"
+ want64=true
+ ;;
+#ifdef BFD64
+ powerpc64-*-aix5.[01] | rs6000-*-aix5.[01])
+ targ_defvec=rs6000_xcoff64_aix_vec
+ targ_selvecs="rs6000_xcoff_vec"
+ want64=true
+ ;;
+#endif
+ powerpc-*-aix[5-9]* | rs6000-*-aix[5-9]*)
+ targ_cflags=-DAIX_WEAK_SUPPORT
+ targ_defvec=rs6000_xcoff_vec
+ targ_selvecs="rs6000_xcoff64_aix_vec"
+ want64=true
+ ;;
+#ifdef BFD64
+ powerpc64-*-aix[5-9]* | rs6000-*-aix[5-9]*)
+ targ_cflags=-DAIX_WEAK_SUPPORT
+ targ_defvec=rs6000_xcoff64_aix_vec
+ targ_selvecs="rs6000_xcoff_vec"
+ want64=true
+ ;;
+#endif
+
+ powerpc-*-aix* | powerpc-*-beos* | rs6000-*-*)
+ targ_defvec=rs6000_xcoff_vec
+ targ64_selvecs=rs6000_xcoff64_vec
+ case "${targ}" in
+ *-*-aix4.[3456789]* | *-*-aix[56789]*)
+ want64=true;;
+ *)
+ targ_cflags=-DSMALL_ARCHIVE;;
+ esac
+ ;;
+#ifdef BFD64
+ powerpc64-*-aix*)
+ targ_defvec=rs6000_xcoff64_vec
+ targ_selvecs=rs6000_xcoff_vec
+ want64=true
+ ;;
+ powerpc64-*-freebsd*)
+ targ_defvec=powerpc_elf64_fbsd_vec
+ targ_selvecs="powerpc_elf64_vec powerpc_elf32_vec powerpc_elf32_fbsd_vec powerpc_elf32_le_vec rs6000_xcoff_vec rs6000_xcoff64_vec rs6000_xcoff64_aix_vec"
+ want64=true
+ ;;
+ powerpc64-*-elf* | powerpc-*-elf64* | powerpc64-*-linux* | \
+ powerpc64-*-*bsd*)
+ targ_defvec=powerpc_elf64_vec
+ targ_selvecs="powerpc_elf64_le_vec powerpc_elf32_vec powerpc_elf32_le_vec rs6000_xcoff_vec rs6000_xcoff64_vec rs6000_xcoff64_aix_vec"
+ want64=true
+ ;;
+ powerpc64le-*-elf* | powerpcle-*-elf64* | powerpc64le-*-linux* | \
+ powerpc64le-*-*bsd*)
+ targ_defvec=powerpc_elf64_le_vec
+ targ_selvecs="powerpc_elf64_vec powerpc_elf32_le_vec powerpc_elf32_vec rs6000_xcoff_vec rs6000_xcoff64_vec rs6000_xcoff64_aix_vec"
+ want64=true
+ ;;
+#endif
+ powerpc-*-*freebsd*)
+ targ_defvec=powerpc_elf32_fbsd_vec
+ targ_selvecs="rs6000_xcoff_vec powerpc_elf32_vec powerpc_elf32_le_vec powerpc_boot_vec"
+ targ64_selvecs="powerpc_elf64_vec powerpc_elf64_le_vec powerpc_elf64_fbsd_vec"
+ ;;
+ powerpc-*-*bsd* | powerpc-*-elf* | powerpc-*-sysv4* | powerpc-*-eabi* | \
+ powerpc-*-solaris2* | powerpc-*-linux-* | powerpc-*-rtems* | \
+ powerpc-*-chorus*)
+ targ_defvec=powerpc_elf32_vec
+ targ_selvecs="rs6000_xcoff_vec powerpc_elf32_le_vec powerpc_boot_vec"
+ targ64_selvecs="powerpc_elf64_vec powerpc_elf64_le_vec"
+ ;;
+ powerpc-*-kaos*)
+ targ_defvec=powerpc_elf32_vec
+ targ_selvecs="powerpc_elf32_le_vec powerpc_boot_vec"
+ targ64_selvecs="powerpc_elf64_vec powerpc_elf64_le_vec"
+ ;;
+ powerpc-*-darwin* | powerpc-*-macos10* | powerpc-*-rhapsody*)
+ targ_defvec=mach_o_be_vec
+ targ_selvecs="mach_o_be_vec mach_o_le_vec mach_o_fat_vec pef_vec pef_xlib_vec sym_vec"
+ targ_archs="$targ_archs bfd_i386_arch"
+ ;;
+ powerpc-*-macos*)
+ targ_defvec=powerpc_xcoff_vec
+ ;;
+ powerpc-*-lynxos*)
+ targ_defvec=powerpc_elf32_vec
+ targ_selvecs="rs6000_xcoff_vec"
+ targ_cflags=-DSMALL_ARCHIVE
+ ;;
+ powerpc-*-nto*)
+ targ_defvec=powerpc_elf32_vec
+ targ_selvecs="rs6000_xcoff_vec powerpc_elf32_le_vec powerpc_boot_vec"
+ ;;
+ powerpc-*-vxworks* | powerpc-*-windiss*)
+ targ_defvec=powerpc_elf32_vxworks_vec
+ targ_selvecs="rs6000_xcoff_vec powerpc_elf32_vec powerpc_elf32_le_vec powerpc_boot_vec"
+ targ64_selvecs="powerpc_elf64_vec powerpc_elf64_le_vec"
+ ;;
+ powerpcle-*-nto*)
+ targ_defvec=powerpc_elf32_le_vec
+ targ_selvecs="rs6000_xcoff_vec powerpc_elf32_vec powerpc_boot_vec"
+ ;;
+ powerpcle-*-elf* | powerpcle-*-sysv4* | powerpcle-*-eabi* | \
+ powerpcle-*-solaris2* | powerpcle-*-linux-* | powerpcle-*-vxworks*)
+ targ_defvec=powerpc_elf32_le_vec
+ targ_selvecs="rs6000_xcoff_vec powerpc_elf32_vec powerpc_boot_vec"
+ targ64_selvecs="powerpc_elf64_vec powerpc_elf64_le_vec"
+ ;;
+ powerpcle-*-pe | powerpcle-*-winnt* | powerpcle-*-cygwin*)
+ targ_defvec=powerpc_pe_le_vec
+ targ_selvecs="powerpc_pei_le_vec powerpc_pei_vec powerpc_pe_le_vec powerpc_pe_vec"
+ ;;
+
+ pru-*-*)
+ targ_defvec=pru_elf32_vec
+ ;;
+
+#ifdef BFD64
+ riscv-*-* | riscv32*-*-*)
+ targ_defvec=riscv_elf32_vec
+ targ_selvecs="riscv_elf32_vec riscv_elf64_vec"
+ want64=true
+ ;;
+ riscv64*-*-*)
+ targ_defvec=riscv_elf64_vec
+ targ_selvecs="riscv_elf32_vec riscv_elf64_vec"
+ want64=true
+ ;;
+#endif
+
+ rl78-*-elf)
+ targ_defvec=rl78_elf32_vec
+ targ_underscore=yes
+ ;;
+
+ rx-*-elf)
+ targ_defvec=rx_elf32_le_vec
+ targ_selvecs="rx_elf32_be_vec rx_elf32_le_vec rx_elf32_be_ns_vec"
+ targ_underscore=yes
+ ;;
+
+ s390-*-linux*)
+ targ_defvec=s390_elf32_vec
+ targ64_selvecs=s390_elf64_vec
+ want64=true
+ ;;
+#ifdef BFD64
+ s390x-*-linux*)
+ targ_defvec=s390_elf64_vec
+ targ_selvecs=s390_elf32_vec
+ want64=true
+ ;;
+ s390x-*-tpf*)
+ targ_defvec=s390_elf64_vec
+ want64=true
+ ;;
+
+ score*-*-elf*)
+ targ_defvec=score_elf32_be_vec
+ targ_selvecs=score_elf32_le_vec
+ ;;
+#endif /* BFD64 */
+
+ sh*eb-*-linux*)
+ targ_defvec=sh_elf32_linux_be_vec
+ targ_selvecs=sh_elf32_linux_vec
+ targ_selvecs="${targ_selvecs} sh_elf32_fdpic_le_vec sh_elf32_fdpic_be_vec"
+ ;;
+ sh*-*-linux*)
+ targ_defvec=sh_elf32_linux_vec
+ targ_selvecs=sh_elf32_linux_be_vec
+ targ_selvecs="${targ_selvecs} sh_elf32_fdpic_le_vec sh_elf32_fdpic_be_vec"
+ ;;
+
+ sh-*-uclinux* | sh[12]-*-uclinux*)
+ targ_defvec=sh_elf32_vec
+ targ_selvecs="sh_elf32_le_vec sh_elf32_linux_be_vec sh_elf32_linux_vec sh_elf32_fdpic_le_vec sh_elf32_fdpic_be_vec"
+ ;;
+
+ sh*l*-*-netbsdelf*)
+ targ_defvec=sh_elf32_nbsd_le_vec
+ targ_selvecs="sh_elf32_nbsd_vec sh_coff_vec sh_coff_le_vec"
+ ;;
+ sh*-*-netbsdelf*)
+ targ_defvec=sh_elf32_nbsd_vec
+ targ_selvecs="sh_elf32_nbsd_le_vec sh_coff_vec sh_coff_le_vec"
+ ;;
+
+ shl*-*-elf* | sh[1234]l*-*-elf* | sh3el*-*-elf* | shl*-*-kaos*)
+ targ_defvec=sh_elf32_le_vec
+ targ_selvecs="sh_elf32_vec sh_coff_le_vec sh_coff_vec sh_coff_small_le_vec sh_coff_small_vec"
+ targ_underscore=yes
+ ;;
+
+ sh-*-elf* | sh[1234]*-elf* | sh-*-rtems* | sh-*-kaos*)
+ targ_defvec=sh_elf32_vec
+ targ_selvecs="sh_elf32_le_vec sh_coff_vec sh_coff_le_vec sh_coff_small_vec sh_coff_small_le_vec"
+ targ_underscore=yes
+ ;;
+
+ sh-*-nto*)
+ targ_defvec=sh_elf32_vec
+ targ_selvecs="sh_elf32_le_vec sh_coff_vec sh_coff_le_vec sh_coff_small_vec sh_coff_small_le_vec"
+ targ_underscore=yes
+ ;;
+ sh*-*-openbsd*)
+ targ_defvec=sh_elf32_nbsd_le_vec
+ targ_selvecs="sh_elf32_nbsd_vec sh_coff_vec sh_coff_le_vec"
+ ;;
+ sh-*-pe)
+ targ_defvec=sh_pe_le_vec
+ targ_selvecs="sh_pe_le_vec sh_pei_le_vec"
+ targ_underscore=yes
+ ;;
+ sh-*-vxworks)
+ targ_defvec=sh_elf32_vxworks_vec
+ targ_selvecs="sh_elf32_vxworks_le_vec"
+ # FIXME None of the following are actually used on this target, but
+ # they're necessary for coff-sh.c (which is unconditionally used) to be
+ # compiled correctly.
+ targ_selvecs="$targ_selvecs sh_coff_vec sh_coff_le_vec sh_coff_small_vec sh_coff_small_le_vec"
+ targ_underscore=yes
+ ;;
+ sh-*-*)
+ targ_defvec=sh_coff_vec
+ targ_selvecs="sh_coff_vec sh_coff_le_vec sh_coff_small_vec sh_coff_small_le_vec"
+ targ_underscore=yes
+ ;;
+
+ sparc-*-solaris2.[0-6] | sparc-*-solaris2.[0-6].*)
+ targ_defvec=sparc_elf32_sol2_vec
+ ;;
+#ifdef BFD64
+ sparc-*-solaris2* | sparcv9-*-solaris2* | sparc64-*-solaris2*)
+ targ_defvec=sparc_elf32_sol2_vec
+ targ_selvecs="sparc_elf64_sol2_vec"
+ want64=true
+ ;;
+ sparc64-*-freebsd* | sparc64-*-kfreebsd*-gnu)
+ targ_defvec=sparc_elf64_fbsd_vec
+ targ_selvecs="sparc_elf64_vec sparc_elf32_vec"
+ ;;
+ sparc64*-*-*)
+ targ_defvec=sparc_elf64_vec
+ targ_selvecs="sparc_elf32_vec"
+ want64=true
+ ;;
+#endif
+ sparc-*-linux-* | sparcv*-*-linux-*)
+ targ_defvec=sparc_elf32_vec
+ targ_selvecs="sparc_elf64_vec"
+ ;;
+ sparc-*-vxworks*)
+ targ_defvec=sparc_elf32_vxworks_vec
+ targ_selvecs="sparc_elf32_vec"
+ ;;
+ sparc*-*-*)
+ targ_defvec=sparc_elf32_vec
+ ;;
+
+ spu-*-elf)
+ targ_defvec=spu_elf32_vec
+ want64=true
+ ;;
+
+ tic6x-*-elf)
+ targ_defvec=tic6x_elf32_c6000_le_vec
+ targ_selvecs="tic6x_elf32_c6000_be_vec tic6x_elf32_le_vec tic6x_elf32_be_vec"
+ ;;
+
+ tic6x-*-uclinux)
+ targ_defvec=tic6x_elf32_linux_le_vec
+ targ_selvecs="tic6x_elf32_linux_be_vec tic6x_elf32_le_vec tic6x_elf32_be_vec"
+ ;;
+
+ tic80*-*-*)
+ targ_defvec=tic80_coff_vec
+ targ_underscore=yes
+ ;;
+
+#ifdef BFD64
+ tilegx-*-*)
+ targ_defvec=tilegx_elf64_le_vec
+ targ_selvecs="tilegx_elf64_be_vec tilegx_elf32_be_vec tilegx_elf32_le_vec"
+ ;;
+ tilegxbe-*-*)
+ targ_defvec=tilegx_elf64_be_vec
+ targ_selvecs="tilegx_elf64_le_vec tilegx_elf32_be_vec tilegx_elf32_le_vec"
+ ;;
+#endif
+
+ tilepro-*-*)
+ targ_defvec=tilepro_elf32_vec
+ ;;
+
+ ft32*-*-*)
+ targ_defvec=ft32_elf32_vec
+ ;;
+
+ v850*-*-*)
+ targ_defvec=v850_elf32_vec
+ targ_selvecs="v800_elf32_vec"
+ targ_underscore=yes
+ ;;
+
+ vax-*-netbsdelf*)
+ targ_defvec=vax_elf32_vec
+ targ_selvecs="vax_aout_nbsd_vec vax_aout_1knbsd_vec"
+ ;;
+
+ vax-*-netbsdaout* | vax-*-netbsd*)
+ targ_defvec=vax_aout_nbsd_vec
+ targ_selvecs="vax_elf32_vec vax_aout_1knbsd_vec"
+ targ_underscore=yes
+ ;;
+
+ vax-*-openbsd*)
+ targ_defvec=vax_aout_nbsd_vec
+ targ_underscore=yes
+ ;;
+
+ vax-*-linux-*)
+ targ_defvec=vax_elf32_vec
+ ;;
+
+ visium-*-elf)
+ targ_defvec=visium_elf32_vec
+ ;;
+
+ wasm32-*-*)
+ targ_defvec=wasm32_elf32_vec
+ targ_selvecs="wasm_vec"
+ ;;
+
+ xgate-*-*)
+ targ_defvec=xgate_elf32_vec
+ targ_selvecs="xgate_elf32_vec"
+ ;;
+
+ xstormy16-*-elf)
+ targ_defvec=xstormy16_elf32_vec
+ ;;
+
+ xtensa*-*-*)
+ targ_defvec=xtensa_elf32_le_vec
+ targ_selvecs=xtensa_elf32_be_vec
+ ;;
+ xc16x-*-elf)
+ targ_defvec=xc16x_elf32_vec
+ ;;
+
+ z80-*-*)
+ targ_defvec=z80_coff_vec
+ targ_underscore=no
+ ;;
+
+ z8k*-*-*)
+ targ_defvec=z8k_coff_vec
+ targ_underscore=yes
+ ;;
+
+# END OF targmatch.h
+ *)
+ echo 1>&2 "*** BFD does not support target ${targ}."
+ echo 1>&2 "*** Look in bfd/config.bfd for supported targets."
+ exit 1
+ ;;
+esac
+
+# All MIPS ELF targets need a 64-bit bfd_vma.
+case "${targ_defvec} ${targ_selvecs}" in
+ *mips_elf*)
+ want64=true
+ ;;
+esac
+
+case "${host64}${want64}" in
+ *true*)
+ targ_selvecs="${targ_selvecs} ${targ64_selvecs}"
+ ;;
+esac
+
+# If we support any ELF target, then automatically add support for the
+# generic ELF targets. This permits an objdump with some ELF support
+# to be used on an arbitrary ELF file for anything other than
+# relocation information.
+case "${targ_defvec} ${targ_selvecs}" in
+ *elf64* | *mips_elf32_n*)
+ targ_selvecs="${targ_selvecs} elf64_le_vec elf64_be_vec elf32_le_vec elf32_be_vec"
+ ;;
+ *elf32*)
+ targ_selvecs="${targ_selvecs} elf32_le_vec elf32_be_vec"
+ ;;
+esac
+
+# If we support Intel MCU target, then add support for bfd_iamcu_arch.
+case "${targ_defvec} ${targ_selvecs}" in
+ *iamcu_elf32*)
+ targ_archs="$targ_archs bfd_iamcu_arch"
+ ;;
+esac
+
+# If we support Intel L1OM target, then add support for bfd_l1om_arch.
+case "${targ_defvec} ${targ_selvecs}" in
+ *l1om_elf64*)
+ targ_archs="$targ_archs bfd_l1om_arch"
+ ;;
+esac
+
+# If we support Intel K1OM target, then add support for bfd_k1om_arch.
+case "${targ_defvec} ${targ_selvecs}" in
+ *k1om_elf64*)
+ targ_archs="$targ_archs bfd_k1om_arch"
+ ;;
+esac
diff --git a/arm-stmos/binutils-files/config.sub b/arm-stmos/binutils-files/config.sub
new file mode 100755
index 0000000..20707f7
--- /dev/null
+++ b/arm-stmos/binutils-files/config.sub
@@ -0,0 +1,1811 @@
+#! /bin/sh
+# Configuration validation subroutine script.
+# Copyright 1992-2018 Free Software Foundation, Inc.
+
+timestamp='2018-07-03'
+
+# 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; if not, see <https://www.gnu.org/licenses/>.
+#
+# As a special exception to the GNU General Public License, if you
+# distribute this file as part of a program that contains a
+# configuration script generated by Autoconf, you may include it under
+# the same distribution terms that you use for the rest of that
+# program. This Exception is an additional permission under section 7
+# of the GNU General Public License, version 3 ("GPLv3").
+
+
+# Please send patches to <config-patches@gnu.org>.
+#
+# Configuration subroutine to validate and canonicalize a configuration type.
+# Supply the specified configuration type as an argument.
+# If it is invalid, we print an error message on stderr and exit with code 1.
+# Otherwise, we print the canonical config type on stdout and succeed.
+
+# You can get the latest version of this script from:
+# https://git.savannah.gnu.org/gitweb/?p=config.git;a=blob_plain;f=config.sub
+
+# This file is supposed to be the same for all GNU packages
+# and recognize all the CPU types, system types and aliases
+# that are meaningful with *any* GNU software.
+# Each package is responsible for reporting which valid configurations
+# it does not support. The user should be able to distinguish
+# a failure to support a valid configuration from a meaningless
+# configuration.
+
+# The goal of this file is to map all the various variations of a given
+# machine specification into a single specification in the form:
+# CPU_TYPE-MANUFACTURER-OPERATING_SYSTEM
+# or in some cases, the newer four-part form:
+# CPU_TYPE-MANUFACTURER-KERNEL-OPERATING_SYSTEM
+# It is wrong to echo any other type of specification.
+
+me=`echo "$0" | sed -e 's,.*/,,'`
+
+usage="\
+Usage: $0 [OPTION] CPU-MFR-OPSYS or ALIAS
+
+Canonicalize a configuration name.
+
+Options:
+ -h, --help print this help, then exit
+ -t, --time-stamp print date of last modification, then exit
+ -v, --version print version number, then exit
+
+Report bugs and patches to <config-patches@gnu.org>."
+
+version="\
+GNU config.sub ($timestamp)
+
+Copyright 1992-2018 Free Software Foundation, Inc.
+
+This is free software; see the source for copying conditions. There is NO
+warranty; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE."
+
+help="
+Try \`$me --help' for more information."
+
+# Parse command line
+while test $# -gt 0 ; do
+ case $1 in
+ --time-stamp | --time* | -t )
+ echo "$timestamp" ; exit ;;
+ --version | -v )
+ echo "$version" ; exit ;;
+ --help | --h* | -h )
+ echo "$usage"; exit ;;
+ -- ) # Stop option processing
+ shift; break ;;
+ - ) # Use stdin as input.
+ break ;;
+ -* )
+ echo "$me: invalid option $1$help"
+ exit 1 ;;
+
+ *local*)
+ # First pass through any local machine types.
+ echo "$1"
+ exit ;;
+
+ * )
+ break ;;
+ esac
+done
+
+case $# in
+ 0) echo "$me: missing argument$help" >&2
+ exit 1;;
+ 1) ;;
+ *) echo "$me: too many arguments$help" >&2
+ exit 1;;
+esac
+
+# Split fields of configuration type
+IFS="-" read -r field1 field2 field3 field4 <<EOF
+$1
+EOF
+
+# Separate into logical components for further validation
+case $1 in
+ *-*-*-*-*)
+ echo Invalid configuration \`"$1"\': more than four components >&2
+ exit 1
+ ;;
+ *-*-*-*)
+ basic_machine=$field1-$field2
+ os=$field3-$field4
+ ;;
+ *-*-*)
+ # Ambiguous whether COMPANY is present, or skipped and KERNEL-OS is two
+ # parts
+ maybe_os=$field2-$field3
+ case $maybe_os in
+ nto-qnx* | linux-gnu* | linux-android* | linux-dietlibc \
+ | linux-newlib* | linux-musl* | linux-uclibc* | uclinux-uclibc* \
+ | uclinux-gnu* | kfreebsd*-gnu* | knetbsd*-gnu* | netbsd*-gnu* \
+ | netbsd*-eabi* | kopensolaris*-gnu* | cloudabi*-eabi* \
+ | storm-chaos* | os2-emx* | rtmk-nova*)
+ basic_machine=$field1
+ os=$maybe_os
+ ;;
+ android-linux)
+ basic_machine=$field1-unknown
+ os=linux-android
+ ;;
+ *)
+ basic_machine=$field1-$field2
+ os=$field3
+ ;;
+ esac
+ ;;
+ *-*)
+ # Second component is usually, but not always the OS
+ case $field2 in
+ # Prevent following clause from handling this valid os
+ sun*os*)
+ basic_machine=$field1
+ os=$field2
+ ;;
+ # Manufacturers
+ dec* | mips* | sequent* | encore* | pc532* | sgi* | sony* \
+ | att* | 7300* | 3300* | delta* | motorola* | sun[234]* \
+ | unicom* | ibm* | next | hp | isi* | apollo | altos* \
+ | convergent* | ncr* | news | 32* | 3600* | 3100* | hitachi* \
+ | c[123]* | convex* | sun | crds | omron* | dg | ultra | tti* \
+ | harris | dolphin | highlevel | gould | cbm | ns | masscomp \
+ | apple | axis | knuth | cray | microblaze* \
+ | sim | cisco | oki | wec | wrs | winbond)
+ basic_machine=$field1-$field2
+ os=
+ ;;
+ *)
+ basic_machine=$field1
+ os=$field2
+ ;;
+ esac
+ ;;
+ *)
+ # Convert single-component short-hands not valid as part of
+ # multi-component configurations.
+ case $field1 in
+ 386bsd)
+ basic_machine=i386-pc
+ os=bsd
+ ;;
+ a29khif)
+ basic_machine=a29k-amd
+ os=udi
+ ;;
+ adobe68k)
+ basic_machine=m68010-adobe
+ os=scout
+ ;;
+ am29k)
+ basic_machine=a29k-none
+ os=bsd
+ ;;
+ amdahl)
+ basic_machine=580-amdahl
+ os=sysv
+ ;;
+ amigaos | amigados)
+ basic_machine=m68k-unknown
+ os=amigaos
+ ;;
+ amigaunix | amix)
+ basic_machine=m68k-unknown
+ os=sysv4
+ ;;
+ apollo68)
+ basic_machine=m68k-apollo
+ os=sysv
+ ;;
+ apollo68bsd)
+ basic_machine=m68k-apollo
+ os=bsd
+ ;;
+ aros)
+ basic_machine=i386-pc
+ os=aros
+ ;;
+ aux)
+ basic_machine=m68k-apple
+ os=aux
+ ;;
+ balance)
+ basic_machine=ns32k-sequent
+ os=dynix
+ ;;
+ blackfin)
+ basic_machine=bfin-unknown
+ os=linux
+ ;;
+ cegcc)
+ basic_machine=arm-unknown
+ os=cegcc
+ ;;
+ cray)
+ basic_machine=j90-cray
+ os=unicos
+ ;;
+ craynv)
+ basic_machine=craynv-cray
+ os=unicosmp
+ ;;
+ delta88)
+ basic_machine=m88k-motorola
+ os=sysv3
+ ;;
+ dicos)
+ basic_machine=i686-pc
+ os=dicos
+ ;;
+ djgpp)
+ basic_machine=i586-pc
+ os=msdosdjgpp
+ ;;
+ ebmon29k)
+ basic_machine=a29k-amd
+ os=ebmon
+ ;;
+ es1800 | OSE68k | ose68k | ose | OSE)
+ basic_machine=m68k-ericsson
+ os=ose
+ ;;
+ gmicro)
+ basic_machine=tron-gmicro
+ os=sysv
+ ;;
+ go32)
+ basic_machine=i386-pc
+ os=go32
+ ;;
+ h8300hms)
+ basic_machine=h8300-hitachi
+ os=hms
+ ;;
+ h8300xray)
+ basic_machine=h8300-hitachi
+ os=xray
+ ;;
+ h8500hms)
+ basic_machine=h8500-hitachi
+ os=hms
+ ;;
+ harris)
+ basic_machine=m88k-harris
+ os=sysv3
+ ;;
+ hp300bsd)
+ basic_machine=m68k-hp
+ os=bsd
+ ;;
+ hp300hpux)
+ basic_machine=m68k-hp
+ os=hpux
+ ;;
+ hppaosf)
+ basic_machine=hppa1.1-hp
+ os=osf
+ ;;
+ hppro)
+ basic_machine=hppa1.1-hp
+ os=proelf
+ ;;
+ i386mach)
+ basic_machine=i386-mach
+ os=mach
+ ;;
+ vsta)
+ basic_machine=i386-unknown
+ os=vsta
+ ;;
+ isi68 | isi)
+ basic_machine=m68k-isi
+ os=sysv
+ ;;
+ m68knommu)
+ basic_machine=m68k-unknown
+ os=linux
+ ;;
+ magnum | m3230)
+ basic_machine=mips-mips
+ os=sysv
+ ;;
+ merlin)
+ basic_machine=ns32k-utek
+ os=sysv
+ ;;
+ mingw64)
+ basic_machine=x86_64-pc
+ os=mingw64
+ ;;
+ mingw32)
+ basic_machine=i686-pc
+ os=mingw32
+ ;;
+ mingw32ce)
+ basic_machine=arm-unknown
+ os=mingw32ce
+ ;;
+ monitor)
+ basic_machine=m68k-rom68k
+ os=coff
+ ;;
+ morphos)
+ basic_machine=powerpc-unknown
+ os=morphos
+ ;;
+ moxiebox)
+ basic_machine=moxie-unknown
+ os=moxiebox
+ ;;
+ msdos)
+ basic_machine=i386-pc
+ os=msdos
+ ;;
+ msys)
+ basic_machine=i686-pc
+ os=msys
+ ;;
+ mvs)
+ basic_machine=i370-ibm
+ os=mvs
+ ;;
+ nacl)
+ basic_machine=le32-unknown
+ os=nacl
+ ;;
+ ncr3000)
+ basic_machine=i486-ncr
+ os=sysv4
+ ;;
+ netbsd386)
+ basic_machine=i386-unknown
+ os=netbsd
+ ;;
+ netwinder)
+ basic_machine=armv4l-rebel
+ os=linux
+ ;;
+ news | news700 | news800 | news900)
+ basic_machine=m68k-sony
+ os=newsos
+ ;;
+ news1000)
+ basic_machine=m68030-sony
+ os=newsos
+ ;;
+ necv70)
+ basic_machine=v70-nec
+ os=sysv
+ ;;
+ nh3000)
+ basic_machine=m68k-harris
+ os=cxux
+ ;;
+ nh[45]000)
+ basic_machine=m88k-harris
+ os=cxux
+ ;;
+ nindy960)
+ basic_machine=i960-intel
+ os=nindy
+ ;;
+ mon960)
+ basic_machine=i960-intel
+ os=mon960
+ ;;
+ nonstopux)
+ basic_machine=mips-compaq
+ os=nonstopux
+ ;;
+ os400)
+ basic_machine=powerpc-ibm
+ os=os400
+ ;;
+ OSE68000 | ose68000)
+ basic_machine=m68000-ericsson
+ os=ose
+ ;;
+ os68k)
+ basic_machine=m68k-none
+ os=os68k
+ ;;
+ paragon)
+ basic_machine=i860-intel
+ os=osf
+ ;;
+ parisc)
+ basic_machine=hppa-unknown
+ os=linux
+ ;;
+ pw32)
+ basic_machine=i586-unknown
+ os=pw32
+ ;;
+ rdos | rdos64)
+ basic_machine=x86_64-pc
+ os=rdos
+ ;;
+ rdos32)
+ basic_machine=i386-pc
+ os=rdos
+ ;;
+ rom68k)
+ basic_machine=m68k-rom68k
+ os=coff
+ ;;
+ sa29200)
+ basic_machine=a29k-amd
+ os=udi
+ ;;
+ sei)
+ basic_machine=mips-sei
+ os=seiux
+ ;;
+ sps7)
+ basic_machine=m68k-bull
+ os=sysv2
+ ;;
+ stratus)
+ basic_machine=i860-stratus
+ os=sysv4
+ ;;
+ sun2os3)
+ basic_machine=m68000-sun
+ os=sunos3
+ ;;
+ sun2os4)
+ basic_machine=m68000-sun
+ os=sunos4
+ ;;
+ sun3os3)
+ basic_machine=m68k-sun
+ os=sunos3
+ ;;
+ sun3os4)
+ basic_machine=m68k-sun
+ os=sunos4
+ ;;
+ sun4os3)
+ basic_machine=sparc-sun
+ os=sunos3
+ ;;
+ sun4os4)
+ basic_machine=sparc-sun
+ os=sunos4
+ ;;
+ sun4sol2)
+ basic_machine=sparc-sun
+ os=solaris2
+ ;;
+ sv1)
+ basic_machine=sv1-cray
+ os=unicos
+ ;;
+ symmetry)
+ basic_machine=i386-sequent
+ os=dynix
+ ;;
+ t3e)
+ basic_machine=alphaev5-cray
+ os=unicos
+ ;;
+ t90)
+ basic_machine=t90-cray
+ os=unicos
+ ;;
+ toad1)
+ basic_machine=pdp10-xkl
+ os=tops20
+ ;;
+ tpf)
+ basic_machine=s390x-ibm
+ os=tpf
+ ;;
+ udi29k)
+ basic_machine=a29k-amd
+ os=udi
+ ;;
+ ultra3)
+ basic_machine=a29k-nyu
+ os=sym1
+ ;;
+ v810 | necv810)
+ basic_machine=v810-nec
+ os=none
+ ;;
+ vaxv)
+ basic_machine=vax-dec
+ os=sysv
+ ;;
+ vms)
+ basic_machine=vax-dec
+ os=vms
+ ;;
+ vxworks960)
+ basic_machine=i960-wrs
+ os=vxworks
+ ;;
+ vxworks68)
+ basic_machine=m68k-wrs
+ os=vxworks
+ ;;
+ vxworks29k)
+ basic_machine=a29k-wrs
+ os=vxworks
+ ;;
+ xbox)
+ basic_machine=i686-pc
+ os=mingw32
+ ;;
+ ymp)
+ basic_machine=ymp-cray
+ os=unicos
+ ;;
+ *)
+ basic_machine=$1
+ os=
+ ;;
+ esac
+ ;;
+esac
+
+# Decode aliases for certain CPU-COMPANY combinations.
+case $basic_machine in
+ # Recognize the basic CPU types without company name.
+ # Some are omitted here because they have special meanings below.
+ 1750a | 580 \
+ | a29k \
+ | aarch64 | aarch64_be \
+ | alpha | alphaev[4-8] | alphaev56 | alphaev6[78] | alphapca5[67] \
+ | alpha64 | alpha64ev[4-8] | alpha64ev56 | alpha64ev6[78] | alpha64pca5[67] \
+ | am33_2.0 \
+ | arc | arceb \
+ | arm | arm[bl]e | arme[lb] | armv[2-8] | armv[3-8][lb] | armv6m | armv[78][arm] \
+ | avr | avr32 \
+ | ba \
+ | be32 | be64 \
+ | bfin \
+ | c4x | c8051 | clipper | csky \
+ | d10v | d30v | dlx | dsp16xx \
+ | e2k | epiphany \
+ | fido | fr30 | frv | ft32 \
+ | h8300 | h8500 | hppa | hppa1.[01] | hppa2.0 | hppa2.0[nw] | hppa64 \
+ | hexagon \
+ | i370 | i860 | i960 | ia16 | ia64 \
+ | ip2k | iq2000 \
+ | k1om \
+ | le32 | le64 \
+ | lm32 \
+ | m32c | m32r | m32rle | m68000 | m68k | m88k \
+ | maxq | mb | microblaze | microblazeel | mcore | mep | metag \
+ | mips | mipsbe | mipseb | mipsel | mipsle \
+ | mips16 \
+ | mips64 | mips64el \
+ | mips64octeon | mips64octeonel \
+ | mips64orion | mips64orionel \
+ | mips64r5900 | mips64r5900el \
+ | mips64vr | mips64vrel \
+ | mips64vr4100 | mips64vr4100el \
+ | mips64vr4300 | mips64vr4300el \
+ | mips64vr5000 | mips64vr5000el \
+ | mips64vr5900 | mips64vr5900el \
+ | mipsisa32 | mipsisa32el \
+ | mipsisa32r2 | mipsisa32r2el \
+ | mipsisa32r6 | mipsisa32r6el \
+ | mipsisa64 | mipsisa64el \
+ | mipsisa64r2 | mipsisa64r2el \
+ | mipsisa64r6 | mipsisa64r6el \
+ | mipsisa64sb1 | mipsisa64sb1el \
+ | mipsisa64sr71k | mipsisa64sr71kel \
+ | mipsr5900 | mipsr5900el \
+ | mipstx39 | mipstx39el \
+ | mn10200 | mn10300 \
+ | moxie \
+ | mt \
+ | msp430 \
+ | nds32 | nds32le | nds32be \
+ | nfp \
+ | nios | nios2 | nios2eb | nios2el \
+ | ns16k | ns32k \
+ | open8 | or1k | or1knd | or32 \
+ | pdp10 | pj | pjl \
+ | powerpc | powerpc64 | powerpc64le | powerpcle \
+ | pru \
+ | pyramid \
+ | riscv | riscv32 | riscv64 \
+ | rl78 | rx \
+ | score \
+ | sh | sh[1234] | sh[24]a | sh[24]aeb | sh[23]e | sh[234]eb | sheb | shbe | shle | sh[1234]le | sh3ele \
+ | sh64 | sh64le \
+ | sparc | sparc64 | sparc64b | sparc64v | sparc86x | sparclet | sparclite \
+ | sparcv8 | sparcv9 | sparcv9b | sparcv9v \
+ | spu \
+ | tahoe | tic4x | tic54x | tic55x | tic6x | tic80 | tron \
+ | ubicom32 \
+ | v850 | v850e | v850e1 | v850e2 | v850es | v850e2v3 \
+ | visium \
+ | wasm32 \
+ | x86 | xc16x | xstormy16 | xtensa \
+ | z8k | z80)
+ basic_machine=$basic_machine-unknown
+ ;;
+ c54x)
+ basic_machine=tic54x-unknown
+ ;;
+ c55x)
+ basic_machine=tic55x-unknown
+ ;;
+ c6x)
+ basic_machine=tic6x-unknown
+ ;;
+ leon|leon[3-9])
+ basic_machine=sparc-$basic_machine
+ ;;
+ m6811 | m68hc11 | m6812 | m68hc12 | m68hcs12x | nvptx | picochip)
+ basic_machine=$basic_machine-unknown
+ os=${os:-none}
+ ;;
+ m88110 | m680[12346]0 | m683?2 | m68360 | m5200 | v70 | w65)
+ ;;
+ m9s12z | m68hcs12z | hcs12z | s12z)
+ basic_machine=s12z-unknown
+ os=${os:-none}
+ ;;
+ ms1)
+ basic_machine=mt-unknown
+ ;;
+ strongarm | thumb | xscale)
+ basic_machine=arm-unknown
+ ;;
+ xgate)
+ basic_machine=$basic_machine-unknown
+ os=${os:-none}
+ ;;
+ xscaleeb)
+ basic_machine=armeb-unknown
+ ;;
+
+ xscaleel)
+ basic_machine=armel-unknown
+ ;;
+
+ # We use `pc' rather than `unknown'
+ # because (1) that's what they normally are, and
+ # (2) the word "unknown" tends to confuse beginning users.
+ i*86 | x86_64)
+ basic_machine=$basic_machine-pc
+ ;;
+ # Recognize the basic CPU types with company name.
+ 580-* \
+ | a29k-* \
+ | aarch64-* | aarch64_be-* \
+ | alpha-* | alphaev[4-8]-* | alphaev56-* | alphaev6[78]-* \
+ | alpha64-* | alpha64ev[4-8]-* | alpha64ev56-* | alpha64ev6[78]-* \
+ | alphapca5[67]-* | alpha64pca5[67]-* | arc-* | arceb-* \
+ | arm-* | armbe-* | armle-* | armeb-* | armv*-* \
+ | avr-* | avr32-* \
+ | ba-* \
+ | be32-* | be64-* \
+ | bfin-* | bs2000-* \
+ | c[123]* | c30-* | [cjt]90-* | c4x-* \
+ | c8051-* | clipper-* | craynv-* | csky-* | cydra-* \
+ | d10v-* | d30v-* | dlx-* \
+ | e2k-* | elxsi-* \
+ | f30[01]-* | f700-* | fido-* | fr30-* | frv-* | fx80-* \
+ | h8300-* | h8500-* \
+ | hppa-* | hppa1.[01]-* | hppa2.0-* | hppa2.0[nw]-* | hppa64-* \
+ | hexagon-* \
+ | i*86-* | i860-* | i960-* | ia16-* | ia64-* \
+ | ip2k-* | iq2000-* \
+ | k1om-* \
+ | le32-* | le64-* \
+ | lm32-* \
+ | m32c-* | m32r-* | m32rle-* \
+ | m68000-* | m680[012346]0-* | m68360-* | m683?2-* | m68k-* \
+ | m88110-* | m88k-* | maxq-* | mcore-* | metag-* \
+ | microblaze-* | microblazeel-* \
+ | mips-* | mipsbe-* | mipseb-* | mipsel-* | mipsle-* \
+ | mips16-* \
+ | mips64-* | mips64el-* \
+ | mips64octeon-* | mips64octeonel-* \
+ | mips64orion-* | mips64orionel-* \
+ | mips64r5900-* | mips64r5900el-* \
+ | mips64vr-* | mips64vrel-* \
+ | mips64vr4100-* | mips64vr4100el-* \
+ | mips64vr4300-* | mips64vr4300el-* \
+ | mips64vr5000-* | mips64vr5000el-* \
+ | mips64vr5900-* | mips64vr5900el-* \
+ | mipsisa32-* | mipsisa32el-* \
+ | mipsisa32r2-* | mipsisa32r2el-* \
+ | mipsisa32r6-* | mipsisa32r6el-* \
+ | mipsisa64-* | mipsisa64el-* \
+ | mipsisa64r2-* | mipsisa64r2el-* \
+ | mipsisa64r6-* | mipsisa64r6el-* \
+ | mipsisa64sb1-* | mipsisa64sb1el-* \
+ | mipsisa64sr71k-* | mipsisa64sr71kel-* \
+ | mipsr5900-* | mipsr5900el-* \
+ | mipstx39-* | mipstx39el-* \
+ | mmix-* \
+ | mt-* \
+ | msp430-* \
+ | nds32-* | nds32le-* | nds32be-* \
+ | nfp-* \
+ | nios-* | nios2-* | nios2eb-* | nios2el-* \
+ | none-* | np1-* | ns16k-* | ns32k-* \
+ | open8-* \
+ | or1k*-* \
+ | orion-* \
+ | pdp10-* | pdp11-* | pj-* | pjl-* | pn-* | power-* \
+ | powerpc-* | powerpc64-* | powerpc64le-* | powerpcle-* \
+ | pru-* \
+ | pyramid-* \
+ | riscv-* | riscv32-* | riscv64-* \
+ | rl78-* | romp-* | rs6000-* | rx-* \
+ | sh-* | sh[1234]-* | sh[24]a-* | sh[24]aeb-* | sh[23]e-* | sh[34]eb-* | sheb-* | shbe-* \
+ | shle-* | sh[1234]le-* | sh3ele-* | sh64-* | sh64le-* \
+ | sparc-* | sparc64-* | sparc64b-* | sparc64v-* | sparc86x-* | sparclet-* \
+ | sparclite-* \
+ | sparcv8-* | sparcv9-* | sparcv9b-* | sparcv9v-* | sv1-* | sx*-* \
+ | tahoe-* \
+ | tic30-* | tic4x-* | tic54x-* | tic55x-* | tic6x-* | tic80-* \
+ | tile*-* \
+ | tron-* \
+ | ubicom32-* \
+ | v850-* | v850e-* | v850e1-* | v850es-* | v850e2-* | v850e2v3-* \
+ | vax-* \
+ | visium-* \
+ | wasm32-* \
+ | we32k-* \
+ | x86-* | x86_64-* | xc16x-* | xps100-* \
+ | xstormy16-* | xtensa*-* \
+ | ymp-* \
+ | z8k-* | z80-*)
+ ;;
+ # Recognize the basic CPU types without company name, with glob match.
+ xtensa*)
+ basic_machine=$basic_machine-unknown
+ ;;
+ # Recognize the various machine names and aliases which stand
+ # for a CPU type and a company and sometimes even an OS.
+ 3b1 | 7300 | 7300-att | att-7300 | pc7300 | safari | unixpc)
+ basic_machine=m68000-att
+ ;;
+ 3b*)
+ basic_machine=we32k-att
+ ;;
+ abacus)
+ basic_machine=abacus-unknown
+ ;;
+ alliant | fx80)
+ basic_machine=fx80-alliant
+ ;;
+ altos | altos3068)
+ basic_machine=m68k-altos
+ ;;
+ amd64)
+ basic_machine=x86_64-pc
+ ;;
+ amd64-*)
+ basic_machine=x86_64-`echo "$basic_machine" | sed 's/^[^-]*-//'`
+ ;;
+ amiga | amiga-*)
+ basic_machine=m68k-unknown
+ ;;
+ asmjs)
+ basic_machine=asmjs-unknown
+ ;;
+ blackfin-*)
+ basic_machine=bfin-`echo "$basic_machine" | sed 's/^[^-]*-//'`
+ os=linux
+ ;;
+ bluegene*)
+ basic_machine=powerpc-ibm
+ os=cnk
+ ;;
+ c54x-*)
+ basic_machine=tic54x-`echo "$basic_machine" | sed 's/^[^-]*-//'`
+ ;;
+ c55x-*)
+ basic_machine=tic55x-`echo "$basic_machine" | sed 's/^[^-]*-//'`
+ ;;
+ c6x-*)
+ basic_machine=tic6x-`echo "$basic_machine" | sed 's/^[^-]*-//'`
+ ;;
+ c90)
+ basic_machine=c90-cray
+ os=${os:-unicos}
+ ;;
+ convex-c1)
+ basic_machine=c1-convex
+ os=bsd
+ ;;
+ convex-c2)
+ basic_machine=c2-convex
+ os=bsd
+ ;;
+ convex-c32)
+ basic_machine=c32-convex
+ os=bsd
+ ;;
+ convex-c34)
+ basic_machine=c34-convex
+ os=bsd
+ ;;
+ convex-c38)
+ basic_machine=c38-convex
+ os=bsd
+ ;;
+ cr16 | cr16-*)
+ basic_machine=cr16-unknown
+ os=${os:-elf}
+ ;;
+ crds | unos)
+ basic_machine=m68k-crds
+ ;;
+ crisv32 | crisv32-* | etraxfs*)
+ basic_machine=crisv32-axis
+ ;;
+ cris | cris-* | etrax*)
+ basic_machine=cris-axis
+ ;;
+ crx)
+ basic_machine=crx-unknown
+ os=${os:-elf}
+ ;;
+ da30 | da30-*)
+ basic_machine=m68k-da30
+ ;;
+ decstation | decstation-3100 | pmax | pmax-* | pmin | dec3100 | decstatn)
+ basic_machine=mips-dec
+ ;;
+ decsystem10* | dec10*)
+ basic_machine=pdp10-dec
+ os=tops10
+ ;;
+ decsystem20* | dec20*)
+ basic_machine=pdp10-dec
+ os=tops20
+ ;;
+ delta | 3300 | motorola-3300 | motorola-delta \
+ | 3300-motorola | delta-motorola)
+ basic_machine=m68k-motorola
+ ;;
+ dpx20 | dpx20-*)
+ basic_machine=rs6000-bull
+ os=${os:-bosx}
+ ;;
+ dpx2*)
+ basic_machine=m68k-bull
+ os=sysv3
+ ;;
+ e500v[12])
+ basic_machine=powerpc-unknown
+ os=$os"spe"
+ ;;
+ e500v[12]-*)
+ basic_machine=powerpc-`echo "$basic_machine" | sed 's/^[^-]*-//'`
+ os=$os"spe"
+ ;;
+ encore | umax | mmax)
+ basic_machine=ns32k-encore
+ ;;
+ elxsi)
+ basic_machine=elxsi-elxsi
+ os=${os:-bsd}
+ ;;
+ fx2800)
+ basic_machine=i860-alliant
+ ;;
+ genix)
+ basic_machine=ns32k-ns
+ ;;
+ h3050r* | hiux*)
+ basic_machine=hppa1.1-hitachi
+ os=hiuxwe2
+ ;;
+ hp300-*)
+ basic_machine=m68k-hp
+ ;;
+ hp3k9[0-9][0-9] | hp9[0-9][0-9])
+ basic_machine=hppa1.0-hp
+ ;;
+ hp9k2[0-9][0-9] | hp9k31[0-9])
+ basic_machine=m68000-hp
+ ;;
+ hp9k3[2-9][0-9])
+ basic_machine=m68k-hp
+ ;;
+ hp9k6[0-9][0-9] | hp6[0-9][0-9])
+ basic_machine=hppa1.0-hp
+ ;;
+ hp9k7[0-79][0-9] | hp7[0-79][0-9])
+ basic_machine=hppa1.1-hp
+ ;;
+ hp9k78[0-9] | hp78[0-9])
+ # FIXME: really hppa2.0-hp
+ basic_machine=hppa1.1-hp
+ ;;
+ hp9k8[67]1 | hp8[67]1 | hp9k80[24] | hp80[24] | hp9k8[78]9 | hp8[78]9 | hp9k893 | hp893)
+ # FIXME: really hppa2.0-hp
+ basic_machine=hppa1.1-hp
+ ;;
+ hp9k8[0-9][13679] | hp8[0-9][13679])
+ basic_machine=hppa1.1-hp
+ ;;
+ hp9k8[0-9][0-9] | hp8[0-9][0-9])
+ basic_machine=hppa1.0-hp
+ ;;
+ i370-ibm* | ibm*)
+ basic_machine=i370-ibm
+ ;;
+ i*86v32)
+ basic_machine=`echo "$1" | sed -e 's/86.*/86-pc/'`
+ os=sysv32
+ ;;
+ i*86v4*)
+ basic_machine=`echo "$1" | sed -e 's/86.*/86-pc/'`
+ os=sysv4
+ ;;
+ i*86v)
+ basic_machine=`echo "$1" | sed -e 's/86.*/86-pc/'`
+ os=sysv
+ ;;
+ i*86sol2)
+ basic_machine=`echo "$1" | sed -e 's/86.*/86-pc/'`
+ os=solaris2
+ ;;
+ j90 | j90-cray)
+ basic_machine=j90-cray
+ os=${os:-unicos}
+ ;;
+ iris | iris4d)
+ basic_machine=mips-sgi
+ case $os in
+ irix*)
+ ;;
+ *)
+ os=irix4
+ ;;
+ esac
+ ;;
+ leon-*|leon[3-9]-*)
+ basic_machine=sparc-`echo "$basic_machine" | sed 's/-.*//'`
+ ;;
+ m68knommu-*)
+ basic_machine=m68k-`echo "$basic_machine" | sed 's/^[^-]*-//'`
+ os=linux
+ ;;
+ microblaze*)
+ basic_machine=microblaze-xilinx
+ ;;
+ miniframe)
+ basic_machine=m68000-convergent
+ ;;
+ *mint | mint[0-9]* | *MiNT | *MiNT[0-9]*)
+ basic_machine=m68k-atari
+ os=mint
+ ;;
+ mips3*-*)
+ basic_machine=`echo "$basic_machine" | sed -e 's/mips3/mips64/'`
+ ;;
+ mips3*)
+ basic_machine=`echo "$basic_machine" | sed -e 's/mips3/mips64/'`-unknown
+ ;;
+ ms1-*)
+ basic_machine=`echo "$basic_machine" | sed -e 's/ms1-/mt-/'`
+ ;;
+ news-3600 | risc-news)
+ basic_machine=mips-sony
+ os=newsos
+ ;;
+ next | m*-next)
+ basic_machine=m68k-next
+ case $os in
+ nextstep* )
+ ;;
+ ns2*)
+ os=nextstep2
+ ;;
+ *)
+ os=nextstep3
+ ;;
+ esac
+ ;;
+ np1)
+ basic_machine=np1-gould
+ ;;
+ neo-tandem)
+ basic_machine=neo-tandem
+ ;;
+ nse-tandem)
+ basic_machine=nse-tandem
+ ;;
+ nsr-tandem)
+ basic_machine=nsr-tandem
+ ;;
+ nsv-tandem)
+ basic_machine=nsv-tandem
+ ;;
+ nsx-tandem)
+ basic_machine=nsx-tandem
+ ;;
+ op50n-* | op60c-*)
+ basic_machine=hppa1.1-oki
+ os=proelf
+ ;;
+ openrisc | openrisc-*)
+ basic_machine=or32-unknown
+ ;;
+ pa-hitachi)
+ basic_machine=hppa1.1-hitachi
+ os=hiuxwe2
+ ;;
+ parisc-*)
+ basic_machine=hppa-`echo "$basic_machine" | sed 's/^[^-]*-//'`
+ os=linux
+ ;;
+ pbd)
+ basic_machine=sparc-tti
+ ;;
+ pbb)
+ basic_machine=m68k-tti
+ ;;
+ pc532 | pc532-*)
+ basic_machine=ns32k-pc532
+ ;;
+ pc98)
+ basic_machine=i386-pc
+ ;;
+ pc98-*)
+ basic_machine=i386-`echo "$basic_machine" | sed 's/^[^-]*-//'`
+ ;;
+ pentium | p5 | k5 | k6 | nexgen | viac3)
+ basic_machine=i586-pc
+ ;;
+ pentiumpro | p6 | 6x86 | athlon | athlon_*)
+ basic_machine=i686-pc
+ ;;
+ pentiumii | pentium2 | pentiumiii | pentium3)
+ basic_machine=i686-pc
+ ;;
+ pentium4)
+ basic_machine=i786-pc
+ ;;
+ pentium-* | p5-* | k5-* | k6-* | nexgen-* | viac3-*)
+ basic_machine=i586-`echo "$basic_machine" | sed 's/^[^-]*-//'`
+ ;;
+ pentiumpro-* | p6-* | 6x86-* | athlon-*)
+ basic_machine=i686-`echo "$basic_machine" | sed 's/^[^-]*-//'`
+ ;;
+ pentiumii-* | pentium2-* | pentiumiii-* | pentium3-*)
+ basic_machine=i686-`echo "$basic_machine" | sed 's/^[^-]*-//'`
+ ;;
+ pentium4-*)
+ basic_machine=i786-`echo "$basic_machine" | sed 's/^[^-]*-//'`
+ ;;
+ pn)
+ basic_machine=pn-gould
+ ;;
+ power) basic_machine=power-ibm
+ ;;
+ ppc | ppcbe) basic_machine=powerpc-unknown
+ ;;
+ ppc-* | ppcbe-*)
+ basic_machine=powerpc-`echo "$basic_machine" | sed 's/^[^-]*-//'`
+ ;;
+ ppcle | powerpclittle)
+ basic_machine=powerpcle-unknown
+ ;;
+ ppcle-* | powerpclittle-*)
+ basic_machine=powerpcle-`echo "$basic_machine" | sed 's/^[^-]*-//'`
+ ;;
+ ppc64) basic_machine=powerpc64-unknown
+ ;;
+ ppc64-*) basic_machine=powerpc64-`echo "$basic_machine" | sed 's/^[^-]*-//'`
+ ;;
+ ppc64le | powerpc64little)
+ basic_machine=powerpc64le-unknown
+ ;;
+ ppc64le-* | powerpc64little-*)
+ basic_machine=powerpc64le-`echo "$basic_machine" | sed 's/^[^-]*-//'`
+ ;;
+ ps2)
+ basic_machine=i386-ibm
+ ;;
+ rm[46]00)
+ basic_machine=mips-siemens
+ ;;
+ rtpc | rtpc-*)
+ basic_machine=romp-ibm
+ ;;
+ s390 | s390-*)
+ basic_machine=s390-ibm
+ ;;
+ s390x | s390x-*)
+ basic_machine=s390x-ibm
+ ;;
+ sb1)
+ basic_machine=mipsisa64sb1-unknown
+ ;;
+ sb1el)
+ basic_machine=mipsisa64sb1el-unknown
+ ;;
+ sde)
+ basic_machine=mipsisa32-sde
+ os=${os:-elf}
+ ;;
+ sequent)
+ basic_machine=i386-sequent
+ ;;
+ sh5el)
+ basic_machine=sh5le-unknown
+ ;;
+ simso-wrs)
+ basic_machine=sparclite-wrs
+ os=vxworks
+ ;;
+ spur)
+ basic_machine=spur-unknown
+ ;;
+ st2000)
+ basic_machine=m68k-tandem
+ ;;
+ strongarm-* | thumb-*)
+ basic_machine=arm-`echo "$basic_machine" | sed 's/^[^-]*-//'`
+ ;;
+ sun2)
+ basic_machine=m68000-sun
+ ;;
+ sun3 | sun3-*)
+ basic_machine=m68k-sun
+ ;;
+ sun4)
+ basic_machine=sparc-sun
+ ;;
+ sun386 | sun386i | roadrunner)
+ basic_machine=i386-sun
+ ;;
+ tile*)
+ basic_machine=$basic_machine-unknown
+ os=linux-gnu
+ ;;
+ tx39)
+ basic_machine=mipstx39-unknown
+ ;;
+ tx39el)
+ basic_machine=mipstx39el-unknown
+ ;;
+ tower | tower-32)
+ basic_machine=m68k-ncr
+ ;;
+ vpp*|vx|vx-*)
+ basic_machine=f301-fujitsu
+ ;;
+ w65*)
+ basic_machine=w65-wdc
+ os=none
+ ;;
+ w89k-*)
+ basic_machine=hppa1.1-winbond
+ os=proelf
+ ;;
+ x64)
+ basic_machine=x86_64-pc
+ ;;
+ xps | xps100)
+ basic_machine=xps100-honeywell
+ ;;
+ xscale-* | xscalee[bl]-*)
+ basic_machine=`echo "$basic_machine" | sed 's/^xscale/arm/'`
+ ;;
+ none)
+ basic_machine=none-none
+ os=${os:-none}
+ ;;
+
+# Here we handle the default manufacturer of certain CPU types. It is in
+# some cases the only manufacturer, in others, it is the most popular.
+ w89k)
+ basic_machine=hppa1.1-winbond
+ ;;
+ op50n)
+ basic_machine=hppa1.1-oki
+ ;;
+ op60c)
+ basic_machine=hppa1.1-oki
+ ;;
+ romp)
+ basic_machine=romp-ibm
+ ;;
+ mmix)
+ basic_machine=mmix-knuth
+ ;;
+ rs6000)
+ basic_machine=rs6000-ibm
+ ;;
+ vax)
+ basic_machine=vax-dec
+ ;;
+ pdp11)
+ basic_machine=pdp11-dec
+ ;;
+ we32k)
+ basic_machine=we32k-att
+ ;;
+ sh[1234] | sh[24]a | sh[24]aeb | sh[34]eb | sh[1234]le | sh[23]ele)
+ basic_machine=sh-unknown
+ ;;
+ cydra)
+ basic_machine=cydra-cydrome
+ ;;
+ orion)
+ basic_machine=orion-highlevel
+ ;;
+ orion105)
+ basic_machine=clipper-highlevel
+ ;;
+ mac | mpw | mac-mpw)
+ basic_machine=m68k-apple
+ ;;
+ pmac | pmac-mpw)
+ basic_machine=powerpc-apple
+ ;;
+ *-unknown)
+ # Make sure to match an already-canonicalized machine name.
+ ;;
+ *)
+ echo Invalid configuration \`"$1"\': machine \`"$basic_machine"\' not recognized 1>&2
+ exit 1
+ ;;
+esac
+
+# Here we canonicalize certain aliases for manufacturers.
+case $basic_machine in
+ *-digital*)
+ basic_machine=`echo "$basic_machine" | sed 's/digital.*/dec/'`
+ ;;
+ *-commodore*)
+ basic_machine=`echo "$basic_machine" | sed 's/commodore.*/cbm/'`
+ ;;
+ *)
+ ;;
+esac
+
+# Decode manufacturer-specific aliases for certain operating systems.
+
+if [ x$os != x ]
+then
+case $os in
+ # First match some system type aliases that might get confused
+ # with valid system types.
+ # solaris* is a basic system type, with this one exception.
+ auroraux)
+ os=auroraux
+ ;;
+ bluegene*)
+ os=cnk
+ ;;
+ solaris1 | solaris1.*)
+ os=`echo $os | sed -e 's|solaris1|sunos4|'`
+ ;;
+ solaris)
+ os=solaris2
+ ;;
+ unixware*)
+ os=sysv4.2uw
+ ;;
+ gnu/linux*)
+ os=`echo $os | sed -e 's|gnu/linux|linux-gnu|'`
+ ;;
+ # es1800 is here to avoid being matched by es* (a different OS)
+ es1800*)
+ os=ose
+ ;;
+ # Some version numbers need modification
+ chorusos*)
+ os=chorusos
+ ;;
+ isc)
+ os=isc2.2
+ ;;
+ sco6)
+ os=sco5v6
+ ;;
+ sco5)
+ os=sco3.2v5
+ ;;
+ sco4)
+ os=sco3.2v4
+ ;;
+ sco3.2.[4-9]*)
+ os=`echo $os | sed -e 's/sco3.2./sco3.2v/'`
+ ;;
+ sco3.2v[4-9]* | sco5v6*)
+ # Don't forget version if it is 3.2v4 or newer.
+ ;;
+ scout)
+ # Don't match below
+ ;;
+ sco*)
+ os=sco3.2v2
+ ;;
+ psos*)
+ os=psos
+ ;;
+ # Now accept the basic system types.
+ # The portable systems comes first.
+ # Each alternative MUST end in a * to match a version number.
+ # sysv* is not here because it comes later, after sysvr4.
+ gnu* | bsd* | mach* | minix* | genix* | ultrix* | irix* \
+ | *vms* | esix* | aix* | cnk* | sunos | sunos[34]*\
+ | hpux* | unos* | osf* | luna* | dgux* | auroraux* | solaris* \
+ | sym* | kopensolaris* | plan9* \
+ | amigaos* | amigados* | msdos* | newsos* | unicos* | aof* \
+ | aos* | aros* | cloudabi* | sortix* \
+ | nindy* | vxsim* | vxworks* | ebmon* | hms* | mvs* \
+ | clix* | riscos* | uniplus* | iris* | rtu* | xenix* \
+ | knetbsd* | mirbsd* | netbsd* \
+ | bitrig* | openbsd* | solidbsd* | libertybsd* \
+ | ekkobsd* | kfreebsd* | freebsd* | riscix* | lynxos* \
+ | bosx* | nextstep* | cxux* | aout* | elf* | oabi* \
+ | ptx* | coff* | ecoff* | winnt* | domain* | vsta* \
+ | udi* | eabi* | lites* | ieee* | go32* | aux* | hcos* \
+ | chorusrdb* | cegcc* | glidix* \
+ | cygwin* | msys* | pe* | moss* | proelf* | rtems* \
+ | midipix* | mingw32* | mingw64* | linux-gnu* | linux-android* \
+ | linux-newlib* | linux-musl* | linux-uclibc* \
+ | uxpv* | beos* | mpeix* | udk* | moxiebox* \
+ | interix* | uwin* | mks* | rhapsody* | darwin* \
+ | openstep* | oskit* | conix* | pw32* | nonstopux* \
+ | storm-chaos* | tops10* | tenex* | tops20* | its* \
+ | os2* | vos* | palmos* | uclinux* | nucleus* \
+ | morphos* | superux* | rtmk* | windiss* \
+ | powermax* | dnix* | nx6 | nx7 | sei* | dragonfly* \
+ | skyos* | haiku* | rdos* | toppers* | drops* | es* \
+ | onefs* | tirtos* | phoenix* | fuchsia* | redox* | bme* \
+ | midnightbsd*)
+ # Remember, each alternative MUST END IN *, to match a version number.
+ ;;
+ qnx*)
+ case $basic_machine in
+ x86-* | i*86-*)
+ ;;
+ *)
+ os=nto-$os
+ ;;
+ esac
+ ;;
+ hiux*)
+ os=hiuxwe2
+ ;;
+ nto-qnx*)
+ ;;
+ nto*)
+ os=`echo $os | sed -e 's|nto|nto-qnx|'`
+ ;;
+ sim | xray | os68k* | v88r* \
+ | windows* | osx | abug | netware* | os9* \
+ | macos* | mpw* | magic* | mmixware* | mon960* | lnews*)
+ ;;
+ linux-dietlibc)
+ os=linux-dietlibc
+ ;;
+ linux*)
+ os=`echo $os | sed -e 's|linux|linux-gnu|'`
+ ;;
+ lynx*178)
+ os=lynxos178
+ ;;
+ lynx*5)
+ os=lynxos5
+ ;;
+ lynx*)
+ os=lynxos
+ ;;
+ mac*)
+ os=`echo "$os" | sed -e 's|mac|macos|'`
+ ;;
+ opened*)
+ os=openedition
+ ;;
+ os400*)
+ os=os400
+ ;;
+ sunos5*)
+ os=`echo "$os" | sed -e 's|sunos5|solaris2|'`
+ ;;
+ sunos6*)
+ os=`echo "$os" | sed -e 's|sunos6|solaris3|'`
+ ;;
+ wince*)
+ os=wince
+ ;;
+ utek*)
+ os=bsd
+ ;;
+ dynix*)
+ os=bsd
+ ;;
+ acis*)
+ os=aos
+ ;;
+ atheos*)
+ os=atheos
+ ;;
+ syllable*)
+ os=syllable
+ ;;
+ 386bsd)
+ os=bsd
+ ;;
+ ctix* | uts*)
+ os=sysv
+ ;;
+ nova*)
+ os=rtmk-nova
+ ;;
+ ns2)
+ os=nextstep2
+ ;;
+ nsk*)
+ os=nsk
+ ;;
+ # Preserve the version number of sinix5.
+ sinix5.*)
+ os=`echo $os | sed -e 's|sinix|sysv|'`
+ ;;
+ sinix*)
+ os=sysv4
+ ;;
+ tpf*)
+ os=tpf
+ ;;
+ triton*)
+ os=sysv3
+ ;;
+ oss*)
+ os=sysv3
+ ;;
+ svr4*)
+ os=sysv4
+ ;;
+ svr3)
+ os=sysv3
+ ;;
+ sysvr4)
+ os=sysv4
+ ;;
+ # This must come after sysvr4.
+ sysv*)
+ ;;
+ ose*)
+ os=ose
+ ;;
+ *mint | mint[0-9]* | *MiNT | MiNT[0-9]*)
+ os=mint
+ ;;
+ zvmoe)
+ os=zvmoe
+ ;;
+ dicos*)
+ os=dicos
+ ;;
+ pikeos*)
+ # Until real need of OS specific support for
+ # particular features comes up, bare metal
+ # configurations are quite functional.
+ case $basic_machine in
+ arm*)
+ os=eabi
+ ;;
+ *)
+ os=elf
+ ;;
+ esac
+ ;;
+ nacl*)
+ ;;
+ ios)
+ ;;
+ none)
+ ;;
+ stmos)
+ os=stmos
+ ;;
+ *-eabi)
+ ;;
+ *)
+ echo Invalid configuration \`"$1"\': system \`"$os"\' not recognized 1>&2
+ exit 1
+ ;;
+esac
+else
+
+# Here we handle the default operating systems that come with various machines.
+# The value should be what the vendor currently ships out the door with their
+# machine or put another way, the most popular os provided with the machine.
+
+# Note that if you're going to try to match "-MANUFACTURER" here (say,
+# "-sun"), then you have to tell the case statement up towards the top
+# that MANUFACTURER isn't an operating system. Otherwise, code above
+# will signal an error saying that MANUFACTURER isn't an operating
+# system, and we'll never get to this point.
+
+case $basic_machine in
+ score-*)
+ os=elf
+ ;;
+ spu-*)
+ os=elf
+ ;;
+ *-acorn)
+ os=riscix1.2
+ ;;
+ arm*-rebel)
+ os=linux
+ ;;
+ arm*-semi)
+ os=aout
+ ;;
+ c4x-* | tic4x-*)
+ os=coff
+ ;;
+ c8051-*)
+ os=elf
+ ;;
+ clipper-intergraph)
+ os=clix
+ ;;
+ hexagon-*)
+ os=elf
+ ;;
+ tic54x-*)
+ os=coff
+ ;;
+ tic55x-*)
+ os=coff
+ ;;
+ tic6x-*)
+ os=coff
+ ;;
+ # This must come before the *-dec entry.
+ pdp10-*)
+ os=tops20
+ ;;
+ pdp11-*)
+ os=none
+ ;;
+ *-dec | vax-*)
+ os=ultrix4.2
+ ;;
+ m68*-apollo)
+ os=domain
+ ;;
+ i386-sun)
+ os=sunos4.0.2
+ ;;
+ m68000-sun)
+ os=sunos3
+ ;;
+ m68*-cisco)
+ os=aout
+ ;;
+ mep-*)
+ os=elf
+ ;;
+ mips*-cisco)
+ os=elf
+ ;;
+ mips*-*)
+ os=elf
+ ;;
+ or32-*)
+ os=coff
+ ;;
+ *-tti) # must be before sparc entry or we get the wrong os.
+ os=sysv3
+ ;;
+ sparc-* | *-sun)
+ os=sunos4.1.1
+ ;;
+ pru-*)
+ os=elf
+ ;;
+ *-be)
+ os=beos
+ ;;
+ *-ibm)
+ os=aix
+ ;;
+ *-knuth)
+ os=mmixware
+ ;;
+ *-wec)
+ os=proelf
+ ;;
+ *-winbond)
+ os=proelf
+ ;;
+ *-oki)
+ os=proelf
+ ;;
+ *-hp)
+ os=hpux
+ ;;
+ *-hitachi)
+ os=hiux
+ ;;
+ i860-* | *-att | *-ncr | *-altos | *-motorola | *-convergent)
+ os=sysv
+ ;;
+ *-cbm)
+ os=amigaos
+ ;;
+ *-dg)
+ os=dgux
+ ;;
+ *-dolphin)
+ os=sysv3
+ ;;
+ m68k-ccur)
+ os=rtu
+ ;;
+ m88k-omron*)
+ os=luna
+ ;;
+ *-next)
+ os=nextstep
+ ;;
+ *-sequent)
+ os=ptx
+ ;;
+ *-crds)
+ os=unos
+ ;;
+ *-ns)
+ os=genix
+ ;;
+ i370-*)
+ os=mvs
+ ;;
+ *-gould)
+ os=sysv
+ ;;
+ *-highlevel)
+ os=bsd
+ ;;
+ *-encore)
+ os=bsd
+ ;;
+ *-sgi)
+ os=irix
+ ;;
+ *-siemens)
+ os=sysv4
+ ;;
+ *-masscomp)
+ os=rtu
+ ;;
+ f30[01]-fujitsu | f700-fujitsu)
+ os=uxpv
+ ;;
+ *-rom68k)
+ os=coff
+ ;;
+ *-*bug)
+ os=coff
+ ;;
+ *-apple)
+ os=macos
+ ;;
+ *-atari*)
+ os=mint
+ ;;
+ *-wrs)
+ os=vxworks
+ ;;
+ *)
+ os=none
+ ;;
+esac
+fi
+
+# Here we handle the case where we know the os, and the CPU type, but not the
+# manufacturer. We pick the logical manufacturer.
+vendor=unknown
+case $basic_machine in
+ *-unknown)
+ case $os in
+ riscix*)
+ vendor=acorn
+ ;;
+ sunos*)
+ vendor=sun
+ ;;
+ cnk*|-aix*)
+ vendor=ibm
+ ;;
+ beos*)
+ vendor=be
+ ;;
+ hpux*)
+ vendor=hp
+ ;;
+ mpeix*)
+ vendor=hp
+ ;;
+ hiux*)
+ vendor=hitachi
+ ;;
+ unos*)
+ vendor=crds
+ ;;
+ dgux*)
+ vendor=dg
+ ;;
+ luna*)
+ vendor=omron
+ ;;
+ genix*)
+ vendor=ns
+ ;;
+ clix*)
+ vendor=intergraph
+ ;;
+ mvs* | opened*)
+ vendor=ibm
+ ;;
+ os400*)
+ vendor=ibm
+ ;;
+ ptx*)
+ vendor=sequent
+ ;;
+ tpf*)
+ vendor=ibm
+ ;;
+ vxsim* | vxworks* | windiss*)
+ vendor=wrs
+ ;;
+ aux*)
+ vendor=apple
+ ;;
+ hms*)
+ vendor=hitachi
+ ;;
+ mpw* | macos*)
+ vendor=apple
+ ;;
+ *mint | mint[0-9]* | *MiNT | MiNT[0-9]*)
+ vendor=atari
+ ;;
+ vos*)
+ vendor=stratus
+ ;;
+ esac
+ basic_machine=`echo "$basic_machine" | sed "s/unknown/$vendor/"`
+ ;;
+esac
+
+echo "$basic_machine-$os"
+exit
+
+# Local variables:
+# eval: (add-hook 'before-save-hook 'time-stamp)
+# time-stamp-start: "timestamp='"
+# time-stamp-format: "%:y-%02m-%02d"
+# time-stamp-end: "'"
+# End:
diff --git a/arm-stmos/binutils-files/gas/configure.tgt b/arm-stmos/binutils-files/gas/configure.tgt
new file mode 100644
index 0000000..9907129
--- /dev/null
+++ b/arm-stmos/binutils-files/gas/configure.tgt
@@ -0,0 +1,457 @@
+# gas target specific configuration file. This is a -*- sh -*- file.
+#
+# Copyright (C) 2012-2018 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 invoked by configure. Putting it in a separate shell file
+# lets us skip running autoconf when modifying target specific
+# information.
+
+# Input shell variables:
+# targ a configuration target name, such as i686-pc-linux-gnu.
+
+# Output shell variables:
+# cpu_type canonical gas cpu type; identifies the config/tc-* files
+# fmt output format; identifies the config/obj-* files
+# em emulation; identifies the config/te-* files
+
+# Optional output shell variables; these are not always set:
+# arch the default architecture; sets DEFAULT_ARCH on some systems
+# endian "big" or "little"; used on bi-endian systems
+
+cpu_type=
+fmt=
+em=generic
+bfd_gas=no
+arch=
+endian=
+
+eval `echo $targ | sed 's/^\([^-]*\)-\([^-]*\)-\(.*\)$/cpu=\1 vendor=\2 os=\3/'`
+
+# Check for architecture variants. Set cpu_type and, optionally,
+# endian and arch.
+# Note: This table is alpha-sorted, please try to keep it that way.
+case ${cpu} in
+ aarch64) cpu_type=aarch64 endian=little arch=aarch64;;
+ aarch64_be) cpu_type=aarch64 endian=big arch=aarch64;;
+ alpha*) cpu_type=alpha ;;
+ am33_2.0) cpu_type=mn10300 endian=little ;;
+ arc*eb) cpu_type=arc endian=big ;;
+ arm*be|arm*b) cpu_type=arm endian=big ;;
+ arm*) cpu_type=arm endian=little ;;
+ bfin*) cpu_type=bfin endian=little ;;
+ c4x*) cpu_type=tic4x ;;
+ cr16*) cpu_type=cr16 endian=little ;;
+ crisv32) cpu_type=cris arch=crisv32 ;;
+ crx*) cpu_type=crx endian=little ;;
+ epiphany*) cpu_type=epiphany endian=little ;;
+ fido) cpu_type=m68k ;;
+ hppa*) cpu_type=hppa ;;
+ i[3-7]86) cpu_type=i386 arch=i386;;
+ ia16) cpu_type=i386 arch=i386;;
+ ia64) cpu_type=ia64 ;;
+ ip2k) cpu_type=ip2k endian=big ;;
+ iq2000) cpu_type=iq2000 endian=big ;;
+ lm32) cpu_type=lm32 ;;
+ m32c) cpu_type=m32c endian=little ;;
+ m32r) cpu_type=m32r endian=big ;;
+ m32rle) cpu_type=m32r endian=little ;;
+ m5200) cpu_type=m68k ;;
+ m68008) cpu_type=m68k ;;
+ m680[012346]0) cpu_type=m68k ;;
+ m6811|m6812|m68hc12) cpu_type=m68hc11 ;;
+ m683??) cpu_type=m68k ;;
+ s12z) cpu_type=s12z ;;
+ mep) cpu_type=mep endian=little ;;
+ microblazeel*) cpu_type=microblaze endian=little;;
+ microblaze*) cpu_type=microblaze endian=big;;
+ mips*el) cpu_type=mips endian=little ;;
+ mips*) cpu_type=mips endian=big ;;
+ mt) cpu_type=mt endian=big ;;
+ nds32be) cpu_type=nds32 endian=big ;;
+ nds32le) cpu_type=nds32 endian=little ;;
+ or1k* | or1knd*) cpu_type=or1k endian=big ;;
+ pjl*) cpu_type=pj endian=little ;;
+ pj*) cpu_type=pj endian=big ;;
+ powerpc*le*) cpu_type=ppc endian=little ;;
+ powerpc*) cpu_type=ppc endian=big ;;
+ riscv32*) cpu_type=riscv endian=little arch=riscv32 ;;
+ riscv64*) cpu_type=riscv endian=little arch=riscv64 ;;
+ rs6000*) cpu_type=ppc ;;
+ rl78*) cpu_type=rl78 ;;
+ rx) cpu_type=rx ;;
+ s390x*) cpu_type=s390 arch=s390x ;;
+ s390*) cpu_type=s390 arch=s390 ;;
+ score*l) cpu_type=score endian=little ;;
+ score*) cpu_type=score endian=big ;;
+ sh*le) cpu_type=sh endian=little ;;
+ sh*) cpu_type=sh endian=big ;;
+ sparc64* | sparcv9*) cpu_type=sparc arch=v9-64 ;;
+ sparc86x*) cpu_type=sparc arch=sparc86x ;;
+ sparclet*) cpu_type=sparc arch=sparclet ;;
+ sparclite*) cpu_type=sparc arch=sparclite ;;
+ sparc*) cpu_type=sparc arch=sparclite ;; # ??? See tc-sparc.c.
+ tilegx*be) cpu_type=tilegx endian=big ;;
+ tilegx*) cpu_type=tilegx endian=little ;;
+ v850*) cpu_type=v850 ;;
+ visium) cpu_type=visium endian=big ;;
+ wasm32) cpu_type=wasm32 endian=little ;;
+ x86_64*) cpu_type=i386 arch=x86_64;;
+ xgate) cpu_type=xgate ;;
+ xtensa*) cpu_type=xtensa arch=xtensa ;;
+ *) cpu_type=${cpu} ;;
+esac
+
+
+# Assign object format. Set fmt, em, and bfd_gas.
+generic_target=${cpu_type}-$vendor-$os
+# Note: This table is alpha-sorted, please try to keep it that way.
+case ${generic_target} in
+ aarch64*-*-elf*) fmt=elf;;
+ aarch64*-*-fuchsia*) fmt=elf;;
+ aarch64*-*-linux*) fmt=elf em=linux
+ case ${cpu}-${os} in
+ aarch64*-linux-gnu_ilp32) arch=aarch64:32 ;;
+ esac ;;
+
+ alpha-*-*vms*) fmt=evax ;;
+ alpha-*-osf*) fmt=ecoff ;;
+ alpha-*-linux*ecoff*) fmt=ecoff ;;
+ alpha-*-linux-*) fmt=elf em=linux ;;
+ alpha-*-netbsd* | alpha-*-openbsd*) fmt=elf em=nbsd ;;
+
+ arc-*-elf*) fmt=elf ;;
+ arc*-*-linux*) fmt=elf bfd_gas=yes ;;
+
+ arm-*-phoenix*) fmt=elf ;;
+ arm-*-elf) fmt=elf ;;
+ arm-*-eabi* | arm-*-rtems*) fmt=elf em=armeabi ;;
+ arm-*-symbianelf*) fmt=elf em=symbian ;;
+ arm-*-kaos*) fmt=elf ;;
+ arm-*-conix*) fmt=elf ;;
+ arm-*-stmos*) fmt=elf ;;
+ arm-*-freebsd[89].* | armeb-*-freebsd[89].*)
+ fmt=elf em=freebsd ;;
+ arm-*-freebsd* | armeb-*-freebsd*) fmt=elf em=armfbsdeabi ;;
+ arm*-*-freebsd*) fmt=elf em=armfbsdvfp ;;
+ arm-*-linux-*eabi*) fmt=elf em=armlinuxeabi ;;
+ arm-*-linux-*) fmt=elf em=linux ;;
+ arm-*-uclinux*eabi*) fmt=elf em=armlinuxeabi ;;
+ arm-*-uclinux*) fmt=elf em=linux ;;
+ arm-*-nacl*) fmt=elf em=nacl ;;
+ arm-*-netbsdelf*) fmt=elf em=nbsd ;;
+ arm-*-nto*) fmt=elf ;;
+ arm-wince-pe | arm-*-wince | arm*-*-mingw32ce* | arm*-*-cegcc*)
+ fmt=coff em=wince-pe ;;
+ arm-*-pe) fmt=coff em=pe ;;
+ arm-*-fuchsia*) fmt=elf ;;
+
+ avr-*-*) fmt=elf bfd_gas=yes ;;
+
+ bfin-*-linux-uclibc) fmt=fdpicelf em=linux ;;
+ bfin-*-uclinux*) fmt=elf em=linux ;;
+ bfin-*elf) fmt=elf ;;
+
+ cr16-*-elf*) fmt=elf ;;
+
+ cris-*-linux-* | crisv32-*-linux-*)
+ fmt=multi em=linux ;;
+ cris-*-* | crisv32-*-*) fmt=multi ;;
+
+ crx-*-elf*) fmt=elf ;;
+
+ d10v-*-*) fmt=elf ;;
+ d30v-*-*) fmt=elf ;;
+ dlx-*-*) fmt=elf ;;
+
+ epiphany-*-*) fmt=elf ;;
+
+ fr30-*-*) fmt=elf ;;
+ frv-*-*linux*) fmt=elf em=linux;;
+ frv-*-*) fmt=elf ;;
+
+ ft32-*-*) fmt=elf ;;
+
+ hppa-*-linux*)
+ case ${cpu} in
+ hppa*64*) fmt=elf em=hppalinux64 ;;
+ hppa*) fmt=elf em=linux ;;
+ esac ;;
+ hppa-*-*elf*) fmt=elf em=hppa ;;
+ hppa-*-lites*) fmt=elf em=hppa ;;
+ hppa-*-netbsd*) fmt=elf em=nbsd ;;
+ hppa-*-openbsd*) fmt=elf em=hppa ;;
+ hppa-*-osf*) fmt=som em=hppa ;;
+ hppa-*-hpux11*)
+ case ${cpu} in
+ hppa*64*) fmt=elf em=hppa64 ;;
+ hppa*) fmt=som em=hppa ;;
+ esac ;;
+ hppa-*-hpux*) fmt=som em=hppa ;;
+ hppa-*-mpeix*) fmt=som em=hppa ;;
+ hppa-*-bsd*) fmt=som em=hppa ;;
+ hppa-*-hiux*) fmt=som em=hppa ;;
+
+ h8300-*-elf) fmt=elf ;;
+ h8300-*-linux*) fmt=elf em=linux ;;
+
+ i386-*-beospe*) fmt=coff em=pe ;;
+ i386-*-beos*) fmt=elf ;;
+ i386-*-elfiamcu) fmt=elf arch=iamcu ;;
+ i386-*-elf*) fmt=elf ;;
+ i386-*-fuchsia*) fmt=elf ;;
+ i386-*-kaos*) fmt=elf ;;
+ i386-*-bsd*) fmt=aout em=386bsd ;;
+ i386-*-nacl*) fmt=elf em=nacl
+ case ${cpu} in
+ x86_64*) arch=x86_64:32 ;;
+ esac ;;
+ i386-*-netbsdpe*) fmt=coff em=pe ;;
+ i386-*-netbsd*-gnu* | \
+ i386-*-knetbsd*-gnu | \
+ i386-*-netbsd* | \
+ i386-*-openbsd*) fmt=elf em=nbsd ;;
+ i386-*-linux-*) fmt=elf em=linux
+ case ${cpu}-${os} in
+ x86_64*-linux-gnux32) arch=x86_64:32 ;;
+ esac ;;
+ i386-*-lynxos*) fmt=elf em=lynx ;;
+ i386-*-redox*) fmt=elf ;;
+ i386-*-solaris*) fmt=elf em=solaris ;;
+ i386-*-freebsd* \
+ | i386-*-kfreebsd*-gnu) fmt=elf em=freebsd ;;
+ i386-*-msdosdjgpp* \
+ | i386-*-go32*) fmt=coff em=go32 ;;
+ i386-*-gnu*) fmt=elf em=gnu ;;
+ i386-*-msdos*) fmt=aout ;;
+ i386-*-moss*) fmt=elf ;;
+ i386-*-pe) fmt=coff em=pe ;;
+ i386-*-cygwin*)
+ case ${cpu} in
+ x86_64*) fmt=coff em=pep ;;
+ i*) fmt=coff em=pe ;;
+ esac ;;
+ i386-*-interix*) fmt=coff em=interix ;;
+ i386-*-mingw*)
+ case ${cpu} in
+ x86_64*) fmt=coff em=pep ;;
+ i*) fmt=coff em=pe ;;
+ esac ;;
+ i386-*-nto-qnx*) fmt=elf ;;
+ i386-*-*nt*) fmt=coff em=pe ;;
+ i386-*-chaos) fmt=elf ;;
+ i386-*-rdos*) fmt=elf ;;
+ i386-*-darwin*) fmt=macho ;;
+
+ ia16-*-elf*) fmt=elf ;;
+
+ ia64-*-elf*) fmt=elf ;;
+ ia64-*-*vms*) fmt=elf em=vms ;;
+ ia64-*-aix*) fmt=elf em=ia64aix ;;
+ ia64-*-linux-*) fmt=elf em=linux ;;
+ ia64-*-hpux*) fmt=elf em=hpux ;;
+ ia64-*-netbsd*) fmt=elf em=nbsd ;;
+
+ ip2k-*-*) fmt=elf ;;
+
+ iq2000-*-elf) fmt=elf ;;
+
+ lm32-*-*) fmt=elf ;;
+
+ m32c-*-elf) fmt=elf ;;
+
+ m32r-*-elf*) fmt=elf ;;
+ m32r-*-linux*) fmt=elf em=linux;;
+
+ m68hc11-*-* | m6811-*-*) fmt=elf ;;
+ m68hc12-*-* | m6812-*-*) fmt=elf ;;
+
+ m68k-*-elf*) fmt=elf ;;
+ m68k-*-sysv4*) fmt=elf em=svr4 ;;
+ m68k-*-linux-*) fmt=elf em=linux ;;
+ m68k-*-uclinux*) fmt=elf em=uclinux ;;
+ m68k-*-gnu*) fmt=elf ;;
+ m68k-*-netbsdelf*) fmt=elf em=nbsd ;;
+
+ s12z-*-*) fmt=elf ;;
+
+ mep-*-elf) fmt=elf ;;
+
+ metag-*-elf) fmt=elf ;;
+ metag-*-linux*) fmt=elf em=linux ;;
+
+ mcore-*-elf) fmt=elf ;;
+ mcore-*-pe) fmt=coff em=pe bfd_gas=yes ;;
+
+ microblaze-*-*) fmt=elf ;;
+
+ mips-*-irix6*) fmt=elf em=irix ;;
+ mips-*-irix5*) fmt=elf em=irix ;;
+ mips*-*-linux*) fmt=elf em=tmips ;;
+ mips*-*-freebsd* | mips*-*-kfreebsd*-gnu)
+ fmt=elf em=freebsd ;;
+ mips-*-sysv4* | mips-*-gnu*) fmt=elf em=tmips ;;
+ mips*-sde-elf* | mips*-mti-elf* | mips*-img-elf*)
+ fmt=elf em=tmips ;;
+ mips-*-elf*) fmt=elf ;;
+ mips-*-netbsd*) fmt=elf em=tmips ;;
+ mips-*-openbsd*) fmt=elf em=tmips ;;
+ mips-*-windiss) fmt=elf ;;
+
+ mmix-*-*) fmt=elf ;;
+
+ mn10200-*-*) fmt=elf ;;
+
+ # cpu_type for am33_2.0 is set to mn10300
+ mn10300-*-linux*) fmt=elf em=linux ;;
+ mn10300-*-*) fmt=elf ;;
+
+ moxie-*-uclinux) fmt=elf em=linux ;;
+ moxie-*-moxiebox*) fmt=elf endian=little ;;
+ moxie-*-*) fmt=elf ;;
+
+ mt-*-elf) fmt=elf bfd_gas=yes ;;
+
+ msp430-*-*) fmt=elf ;;
+
+ nds32-*-elf*) fmt=elf ;;
+ nds32-*-linux*) fmt=elf em=linux ;;
+
+ nios2*-linux*) fmt=elf em=linux ;;
+
+ ns32k-pc532-mach*) fmt=aout em=pc532mach ;;
+ ns32k-pc532-ux*) fmt=aout em=pc532mach ;;
+ ns32k-pc532-lites*) fmt=aout em=nbsd532 ;;
+ ns32k-*-*n*bsd*) fmt=aout em=nbsd532 ;;
+
+ or1k*-*-elf | or1k*-*-rtems*) fmt=elf endian=big ;;
+ or1k*-*-linux*) fmt=elf em=linux endian=big ;;
+
+ pj*) fmt=elf ;;
+
+ ppc-*-pe | ppc-*-cygwin*) fmt=coff em=pe ;;
+ ppc-*-winnt*) fmt=coff em=pe ;;
+ ppc-*-aix5.[01]) fmt=coff em=aix5 ;;
+ ppc-*-aix[5-9].*) fmt=coff em=aix5 ;;
+ ppc-*-aix*) fmt=coff em=aix ;;
+ ppc-*-beos*) fmt=coff ;;
+ ppc-*-*n*bsd* | ppc-*-elf*) fmt=elf ;;
+ ppc-*-eabi* | ppc-*-sysv4*) fmt=elf ;;
+ ppc-*-linux-*) fmt=elf em=linux ;;
+ ppc-*-solaris*) fmt=elf em=solaris ;;
+ ppc-*-macos*) fmt=coff em=macos ;;
+ ppc-*-nto*) fmt=elf ;;
+ ppc-*-kaos*) fmt=elf ;;
+ ppc-*-lynxos*) fmt=elf em=lynx ;;
+
+ pru-*-*) fmt=elf ;;
+
+ riscv*-*-*) fmt=elf endian=little ;;
+
+ s390-*-linux-*) fmt=elf em=linux ;;
+ s390-*-tpf*) fmt=elf ;;
+
+ score-*-elf) fmt=elf ;;
+
+ sh*-*-linux*) fmt=elf em=linux
+ case ${cpu} in
+ sh*eb) endian=big ;;
+ *) endian=little ;;
+ esac ;;
+ sh*-*-netbsdelf*) fmt=elf em=nbsd
+ case ${cpu} in
+ sh*l*) endian=little ;;
+ *) endian=big ;;
+ esac ;;
+ sh-*-elf*) fmt=elf ;;
+ sh-*-uclinux* | sh[12]-*-uclinux*) fmt=elf em=uclinux ;;
+ sh-*-coff*) fmt=coff ;;
+ sh-*-nto*) fmt=elf ;;
+ sh-*-pe*) fmt=coff em=pe bfd_gas=yes endian=little ;;
+ sh-*-kaos*) fmt=elf ;;
+ shle*-*-kaos*) fmt=elf ;;
+
+ sparc-*-linux-*) fmt=elf em=linux ;;
+ sparc-*-solaris*) fmt=elf em=solaris ;;
+ sparc-*-*bsd*) fmt=elf em=nbsd ;;
+
+ spu-*-elf) fmt=elf ;;
+
+ tic30-*-*aout*) fmt=aout bfd_gas=yes ;;
+ tic30-*-*coff*) fmt=coff bfd_gas=yes ;;
+ tic4x-*-* | c4x-*-*) fmt=coff bfd_gas=yes ;;
+ tic54x-*-* | c54x*-*-*) fmt=coff bfd_gas=yes need_libm=yes;;
+ tic6x-*-*) fmt=elf ;;
+
+ tilepro-*-* | tilegx*-*-*) fmt=elf ;;
+
+ v850*-*-*) fmt=elf ;;
+
+ vax-*-netbsdelf*) fmt=elf em=nbsd ;;
+ vax-*-linux-*) fmt=elf em=linux ;;
+
+ visium-*-elf) fmt=elf ;;
+
+ wasm32-*-*) fmt=elf ;;
+
+ xstormy16-*-*) fmt=elf ;;
+
+ xgate-*-*) fmt=elf ;;
+
+ xtensa*-*-*) fmt=elf ;;
+
+ z80-*-coff) fmt=coff ;;
+
+ z8k-*-coff | z8k-*-sim) fmt=coff ;;
+
+ *-*-aout | *-*-scout) fmt=aout ;;
+ *-*-cloudabi*) fmt=elf ;;
+ *-*-dragonfly*) fmt=elf em=dragonfly ;;
+ *-*-freebsd* | *-*-kfreebsd*-gnu) fmt=elf em=freebsd ;;
+ *-*-generic) fmt=generic ;;
+ *-*-xray | *-*-hms) fmt=coff ;;
+ *-*-sim) fmt=coff ;;
+ *-*-elf | *-*-rtems* | *-*-sysv4*) fmt=elf ;;
+ *-*-solaris*) fmt=elf em=solaris ;;
+ *-*-aros*) fmt=elf em=linux ;;
+ *-*-vxworks* | *-*-windiss) fmt=elf em=vxworks ;;
+esac
+
+case ${cpu_type} in
+ aarch64 | alpha | arm | i386 | ia64 | microblaze | mips | ns32k | or1k | or1knd | pdp11 | ppc | riscv | sparc | z80 | z8k)
+ bfd_gas=yes
+ ;;
+esac
+case ${fmt} in
+ elf | ecoff | fdpicelf | multi | som)
+ bfd_gas=yes
+ ;;
+esac
+
+if test $bfd_gas != yes; then
+ echo This target is no longer supported in gas
+ exit 1
+fi
+
+case ${cpu_type}-${fmt}-${os} in
+i386-elf-linux*)
+ # Default to compress DWARF debug sections for Linux/x86.
+ if test ${ac_default_compressed_debug_sections} = unset; then
+ ac_default_compressed_debug_sections=yes
+ fi
+ ;;
+esac
diff --git a/arm-stmos/binutils-files/ld/Makefile.am b/arm-stmos/binutils-files/ld/Makefile.am
new file mode 100644
index 0000000..414f948
--- /dev/null
+++ b/arm-stmos/binutils-files/ld/Makefile.am
@@ -0,0 +1,2001 @@
+## Process this file with automake to generate Makefile.in
+#
+# Copyright (C) 2012-2018 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/>.
+#
+
+AUTOMAKE_OPTIONS = dejagnu no-texinfo.tex no-dist foreign info-in-builddir
+ACLOCAL_AMFLAGS = -I .. -I ../config -I ../bfd
+TEXINFO_TEX = ../texinfo/texinfo.tex
+
+SUBDIRS = po
+
+tooldir = $(exec_prefix)/$(target_alias)
+
+YACC = `if [ -f ../bison/bison ]; then echo ../bison/bison -y -L$(srcdir)/../bison/; else echo @YACC@; fi`
+YFLAGS = -d
+LEX = `if [ -f ../flex/flex ]; then echo ../flex/flex; else echo @LEX@; fi`
+
+# Automake 1.10+ disables lex and yacc output file regeneration if
+# maintainer mode is disabled. Avoid this.
+am__skiplex =
+am__skipyacc =
+
+ELF_CLFAGS=-DELF_LIST_OPTIONS=@elf_list_options@ \
+ -DELF_SHLIB_LIST_OPTIONS=@elf_shlib_list_options@ \
+ -DELF_PLT_UNWIND_LIST_OPTIONS=@elf_plt_unwind_list_options@
+WARN_CFLAGS = @WARN_CFLAGS@
+NO_WERROR = @NO_WERROR@
+AM_CFLAGS = $(WARN_CFLAGS) $(ELF_CLFAGS)
+
+# Conditionally enable the plugin interface.
+if ENABLE_PLUGINS
+PLUGIN_C = plugin.c
+PLUGIN_H = plugin.h
+PLUGIN_OBJECT = plugin.@OBJEXT@
+PLUGIN_CFLAGS = -DENABLE_PLUGINS
+else
+PLUGIN_C =
+PLUGIN_H =
+PLUGIN_OBJECT =
+PLUGIN_CFLAGS =
+endif
+
+# We put the scripts in the directory $(scriptdir)/ldscripts.
+# We can't put the scripts in $(datadir) because the SEARCH_DIR
+# directives need to be different for native and cross linkers.
+scriptdir = $(tooldir)/lib
+
+EMUL = @EMUL@
+EMULATION_OFILES = @EMULATION_OFILES@
+EMUL_EXTRA_OFILES = @EMUL_EXTRA_OFILES@
+
+
+# Search path to override the default search path for -lfoo libraries.
+# If LIB_PATH is empty, the ones in the script (if any) are left alone.
+# (The default is usually /lib:/usr/lib:/usr/local/lib, unless building
+# a cross-linker, in which case the default is empty. See genscripts.sh.)
+# Otherwise, they are replaced with the ones given in LIB_PATH,
+# which may have the form: LIB_PATH=/lib:/usr/local/lib. This can be set
+# when the linker is configured via the --with-lib-path configure switch.
+LIB_PATH = @LIB_PATH@
+
+BASEDIR = $(srcdir)/..
+BFDDIR = $(BASEDIR)/bfd
+INCDIR = $(BASEDIR)/include
+
+# What version of the manual to build
+DOCVER = gen
+
+# Options to extract the man page from ld.texi
+MANCONF = -Dman
+
+TEXI2POD = perl $(BASEDIR)/etc/texi2pod.pl $(AM_MAKEINFOFLAGS)
+
+POD2MAN = pod2man --center="GNU Development Tools" \
+ --release="binutils-$(VERSION)" --section=1
+
+# Setup the testing framework, if you have one
+EXPECT = expect
+RUNTEST = runtest
+RUNTESTFLAGS =
+
+CC_FOR_TARGET = ` \
+ if [ -f $$r/../gcc/xgcc ] ; then \
+ if [ -f $$r/../newlib/Makefile ] ; then \
+ echo $$r/../gcc/xgcc -B$$r/../gcc/ -idirafter $$r/../newlib/targ-include -idirafter $${srcroot}/../newlib/libc/include -nostdinc; \
+ else \
+ echo $$r/../gcc/xgcc -B$$r/../gcc/; \
+ fi; \
+ else \
+ if [ "@host@" = "@target@" ] ; then \
+ echo $(CC); \
+ else \
+ echo gcc | sed '$(transform)'; \
+ fi; \
+ fi`
+
+CXX_FOR_TARGET = ` \
+ if [ -f $$r/../gcc/g++ ] ; then \
+ if [ -f $$r/../newlib/Makefile ] ; then \
+ echo $$r/../gcc/g++ -B$$r/../gcc/ -idirafter $$r/../newlib/targ-include -idirafter $${srcroot}/../newlib/libc/include -nostdinc; \
+ else \
+ echo $$r/../gcc/g++ -B$$r/../gcc/; \
+ fi; \
+ elif [ -f $$r/../gcc/xg++ ] ; then \
+ if [ -f $$r/../newlib/Makefile ] ; then \
+ echo $$r/../gcc/xg++ -B$$r/../gcc/ -idirafter $$r/../newlib/targ-include -idirafter $${srcroot}/../newlib/libc/include -nostdinc; \
+ else \
+ echo $$r/../gcc/xg++ -B$$r/../gcc/; \
+ fi; \
+ else \
+ if [ "@host@" = "@target@" ] ; then \
+ echo $(CXX); \
+ else \
+ echo g++ | sed '$(transform)'; \
+ fi; \
+ fi`
+
+# Strip out sanitization options as we want to test building binaries without any extra paraphernalia
+CFLAGS_FOR_TARGET = `echo $(CFLAGS) | sed -e 's/-fsanitize=address//g' -e 's/-fsanitize=undefined//g'`
+CXXFLAGS_FOR_TARGET = `echo $(CXXFLAGS) | sed -e 's/-fsanitize=address//g' -e 's/-fsanitize=undefined//g'`
+
+transform = s/^ld-new$$/$(installed_linker)/;@program_transform_name@
+bin_PROGRAMS = ld-new
+info_TEXINFOS = ld.texi
+ld_TEXINFOS = configdoc.texi
+noinst_TEXINFOS = ldint.texi
+man_MANS = ld.1
+
+AM_MAKEINFOFLAGS = -I $(srcdir) -I $(BFDDIR)/doc -I ../bfd/doc \
+ -I $(top_srcdir)/../libiberty
+TEXI2DVI = texi2dvi -I $(srcdir) -I $(BFDDIR)/doc -I ../bfd/doc \
+ -I $(top_srcdir)/../libiberty
+
+AM_CPPFLAGS = -I. -I$(srcdir) -I../bfd -I$(BFDDIR) -I$(INCDIR) \
+ @INCINTL@ $(HDEFINES) $(CFLAGS) $(PLUGIN_CFLAGS) \
+ -DLOCALEDIR="\"$(datadir)/locale\""
+
+BFDLIB = ../bfd/libbfd.la
+LIBIBERTY = ../libiberty/libiberty.a
+
+ALL_EMULATION_SOURCES = \
+ eaix5ppc.c \
+ eaix5rs6.c \
+ eaixppc.c \
+ eaixrs6.c \
+ ealpha.c \
+ ealphavms.c \
+ earcv2elf.c \
+ earcv2elfx.c \
+ earcelf.c \
+ earcelf_prof.c \
+ earclinux.c \
+ earclinux_nps.c \
+ earclinux_prof.c \
+ earm_wince_pe.c \
+ earmelf.c \
+ earmelf_stmos.c \
+ earmelf_fbsd.c \
+ earmelf_fuchsia.c \
+ earmelf_linux.c \
+ earmelf_linux_eabi.c \
+ earmelf_linux_fdpiceabi.c \
+ earmelf_nacl.c \
+ earmelf_nbsd.c \
+ earmelf_phoenix.c \
+ earmelf_vxworks.c \
+ earmelfb.c \
+ earmelfb_fbsd.c \
+ earmelfb_fuchsia.c \
+ earmelfb_linux.c \
+ earmelfb_linux_eabi.c \
+ earmelfb_linux_fdpiceabi.c \
+ earmelfb_nacl.c \
+ earmelfb_nbsd.c \
+ earmnto.c \
+ earmpe.c \
+ earmsymbian.c \
+ eavr1.c \
+ eavr2.c \
+ eavr25.c \
+ eavr3.c \
+ eavr31.c \
+ eavr35.c \
+ eavr4.c \
+ eavr5.c \
+ eavr51.c \
+ eavr6.c \
+ eavrxmega1.c \
+ eavrxmega2.c \
+ eavrxmega3.c \
+ eavrxmega4.c \
+ eavrxmega5.c \
+ eavrxmega6.c \
+ eavrxmega7.c \
+ eavrtiny.c \
+ ecrisaout.c \
+ ecriself.c \
+ ecrislinux.c \
+ ed10velf.c \
+ ed30v_e.c \
+ ed30v_o.c \
+ ed30velf.c \
+ eelf32_dlx.c \
+ eelf32_sparc.c \
+ eelf32_sparc_sol2.c \
+ eelf32_sparc_vxworks.c \
+ eelf32_spu.c \
+ eelf32_tic6x_be.c \
+ eelf32_tic6x_le.c \
+ eelf32_tic6x_linux_be.c \
+ eelf32_tic6x_linux_le.c \
+ eelf32_tic6x_elf_be.c \
+ eelf32_tic6x_elf_le.c \
+ eelf32am33lin.c \
+ eelf32bfin.c \
+ eelf32bfinfd.c \
+ eelf32cr16.c \
+ eelf32cr16c.c \
+ eelf32crx.c \
+ eelf32epiphany.c \
+ eelf32epiphany_4x4.c \
+ eelf32fr30.c \
+ eelf32frv.c \
+ eelf32frvfd.c \
+ eelf32ft32.c \
+ eelf32ip2k.c \
+ eelf32iq10.c \
+ eelf32iq2000.c \
+ eelf32lm32.c \
+ eelf32lm32fd.c \
+ eelf32lppc.c \
+ eelf32lppclinux.c \
+ eelf32lppcnto.c \
+ eelf32lppcsim.c \
+ eelf32m32c.c \
+ eelf32mb_linux.c \
+ eelf32mbel_linux.c \
+ eelf32mcore.c \
+ eelf32mep.c \
+ eelf32metag.c \
+ eelf32microblazeel.c \
+ eelf32microblaze.c \
+ eelf32moxie.c \
+ emoxiebox.c \
+ eelf32mt.c \
+ eelf32or1k.c \
+ eelf32or1k_linux.c \
+ eelf32ppc.c \
+ eelf32ppc_fbsd.c \
+ eelf32ppclinux.c \
+ eelf32ppcnto.c \
+ eelf32ppcsim.c \
+ eelf32ppcvxworks.c \
+ eelf32ppcwindiss.c \
+ eelf32lriscv.c \
+ eelf32lriscv_ilp32f.c \
+ eelf32lriscv_ilp32.c \
+ eelf32rl78.c \
+ eelf32rx.c \
+ eelf32tilegx.c \
+ eelf32tilegx_be.c \
+ eelf32tilepro.c \
+ eelf32vax.c \
+ eelf32visium.c \
+ eelf32xc16x.c \
+ eelf32xc16xl.c \
+ eelf32xc16xs.c \
+ eelf32xstormy16.c \
+ eelf32xtensa.c \
+ eelf_i386.c \
+ eelf_i386_be.c \
+ eelf_i386_chaos.c \
+ eelf_i386_fbsd.c \
+ eelf_i386_ldso.c \
+ eelf_i386_nacl.c \
+ eelf_i386_sol2.c \
+ eelf_i386_vxworks.c \
+ eelf_iamcu.c \
+ eelf_s390.c \
+ eh8300elf.c \
+ eh8300elf_linux.c \
+ eh8300helf.c \
+ eh8300helf_linux.c \
+ eh8300hnelf.c \
+ eh8300self.c \
+ eh8300self_linux.c \
+ eh8300snelf.c \
+ eh8300sxelf.c \
+ eh8300sxelf_linux.c \
+ eh8300sxnelf.c \
+ ehppaelf.c \
+ ehppalinux.c \
+ ehppanbsd.c \
+ ehppaobsd.c \
+ ei386beos.c \
+ ei386bsd.c \
+ ei386go32.c \
+ ei386lynx.c \
+ ei386moss.c \
+ ei386msdos.c \
+ ei386nto.c \
+ ei386pe.c \
+ ei386pe_posix.c \
+ em32relf.c \
+ em32relf_linux.c \
+ em32rlelf.c \
+ em32rlelf_linux.c \
+ em68hc11elf.c \
+ em68hc11elfb.c \
+ em68hc12elf.c \
+ em68hc12elfb.c \
+ em68kelf.c \
+ em68kelfnbsd.c \
+ em9s12zelf.c \
+ emcorepe.c \
+ emn10200.c \
+ emn10300.c \
+ emsp430elf.c \
+ emsp430X.c \
+ ends32elf.c \
+ ends32elf16m.c \
+ ends32elf_linux.c \
+ ends32belf.c \
+ ends32belf16m.c \
+ ends32belf_linux.c \
+ ens32knbsd.c \
+ enios2elf.c \
+ enios2linux.c \
+ epc532macha.c \
+ epdp11.c \
+ epjelf.c \
+ epjlelf.c \
+ eppclynx.c \
+ eppcmacos.c \
+ eppcpe.c \
+ epruelf.c \
+ escore3_elf.c \
+ escore7_elf.c \
+ esh.c \
+ eshelf.c \
+ eshelf_fd.c \
+ eshelf_linux.c \
+ eshelf_nbsd.c \
+ eshelf_nto.c \
+ eshelf_uclinux.c \
+ eshelf_vxworks.c \
+ eshl.c \
+ eshlelf.c \
+ eshlelf_fd.c \
+ eshlelf_linux.c \
+ eshlelf_nbsd.c \
+ eshlelf_nto.c \
+ eshlelf_vxworks.c \
+ eshpe.c \
+ etic30aout.c \
+ etic30coff.c \
+ etic3xcoff.c \
+ etic3xcoff_onchip.c \
+ etic4xcoff.c \
+ etic54xcoff.c \
+ etic80coff.c \
+ ev850.c \
+ ev850_rh850.c \
+ evanilla.c \
+ evaxnbsd.c \
+ exgateelf.c \
+ ez80.c \
+ ez8001.c \
+ ez8002.c
+
+ALL_EMULATIONS = $(ALL_EMULATION_SOURCES:.c=.@OBJEXT@)
+
+ALL_64_EMULATION_SOURCES = \
+ eaarch64elf.c \
+ eaarch64elf32.c \
+ eaarch64elfb.c \
+ eaarch64elf32b.c \
+ eaarch64cloudabi.c \
+ eaarch64cloudabib.c \
+ eaarch64fbsd.c \
+ eaarch64fbsdb.c \
+ eaarch64linux.c \
+ eaarch64linuxb.c \
+ eaarch64linux32.c \
+ eaarch64linux32b.c \
+ eelf32_x86_64.c \
+ eelf32_x86_64_nacl.c \
+ eelf32b4300.c \
+ eelf32bmip.c \
+ eelf32bmipn32.c \
+ eelf32bsmip.c \
+ eelf32btsmip.c \
+ eelf32btsmip_fbsd.c \
+ eelf32btsmipn32.c \
+ eelf32btsmipn32_fbsd.c \
+ eelf32ebmip.c \
+ eelf32ebmipvxworks.c \
+ eelf32elmip.c \
+ eelf32elmipvxworks.c \
+ eelf32l4300.c \
+ eelf32lmip.c \
+ eelf32lr5900.c \
+ eelf32lr5900n32.c \
+ eelf32lsmip.c \
+ eelf32ltsmip.c \
+ eelf32ltsmip_fbsd.c \
+ eelf32ltsmipn32.c \
+ eelf32ltsmipn32_fbsd.c \
+ eelf32mipswindiss.c \
+ eelf64_aix.c \
+ eelf64_ia64.c \
+ eelf64_ia64_fbsd.c \
+ eelf64_ia64_vms.c \
+ eelf64_s390.c \
+ eelf64_sparc.c \
+ eelf64_sparc_fbsd.c \
+ eelf64_sparc_sol2.c \
+ eelf64alpha.c \
+ eelf64alpha_fbsd.c \
+ eelf64alpha_nbsd.c \
+ eelf64bmip.c \
+ eelf64btsmip.c \
+ eelf64btsmip_fbsd.c \
+ eelf64hppa.c \
+ eelf64lppc.c \
+ eelf64lriscv.c \
+ eelf64lriscv_lp64f.c \
+ eelf64lriscv_lp64.c \
+ eelf64ltsmip.c \
+ eelf64ltsmip_fbsd.c \
+ eelf64mmix.c \
+ eelf64ppc.c \
+ eelf64ppc_fbsd.c \
+ eelf64rdos.c \
+ eelf64tilegx.c \
+ eelf64tilegx_be.c \
+ eelf_l1om.c \
+ eelf_l1om_fbsd.c \
+ eelf_k1om.c \
+ eelf_k1om_fbsd.c \
+ eelf_x86_64.c \
+ eelf_x86_64_cloudabi.c \
+ eelf_x86_64_fbsd.c \
+ eelf_x86_64_nacl.c \
+ eelf_x86_64_sol2.c \
+ ehppa64linux.c \
+ ei386pep.c \
+ emmo.c
+
+ALL_64_EMULATIONS = $(ALL_64_EMULATION_SOURCES:.c=.@OBJEXT@)
+
+ALL_EMUL_EXTRA_OFILES = \
+ deffilep.@OBJEXT@ \
+ pe-dll.@OBJEXT@
+
+ALL_64_EMUL_EXTRA_OFILES = \
+ pep-dll.@OBJEXT@
+
+CFILES = ldctor.c ldemul.c ldexp.c ldfile.c ldlang.c \
+ ldmain.c ldmisc.c ldver.c ldwrite.c lexsup.c \
+ mri.c ldcref.c pe-dll.c pep-dll.c ldlex-wrapper.c \
+ $(PLUGIN_C) ldbuildid.c
+
+HFILES = ld.h ldctor.h ldemul.h ldexp.h ldfile.h \
+ ldlang.h ldlex.h ldmain.h ldmisc.h ldver.h \
+ ldwrite.h mri.h deffile.h pe-dll.h pep-dll.h \
+ elf-hints-local.h $(PLUGIN_H) ldbuildid.h
+
+GENERATED_CFILES = ldgram.c ldlex.c deffilep.c
+GENERATED_HFILES = ldgram.h ldemul-list.h deffilep.h
+
+# Require an early dependency on the generated headers, as the dependency
+# tracking will not cause them to be built beforehand.
+BUILT_SOURCES = $(GENERATED_HFILES)
+
+OFILES = ldgram.@OBJEXT@ ldlex-wrapper.@OBJEXT@ lexsup.@OBJEXT@ ldlang.@OBJEXT@ \
+ mri.@OBJEXT@ ldctor.@OBJEXT@ ldmain.@OBJEXT@ $(PLUGIN_OBJECT) \
+ ldwrite.@OBJEXT@ ldexp.@OBJEXT@ ldemul.@OBJEXT@ ldver.@OBJEXT@ ldmisc.@OBJEXT@ \
+ ldfile.@OBJEXT@ ldcref.@OBJEXT@ ${EMULATION_OFILES} ${EMUL_EXTRA_OFILES} \
+ ldbuildid.@OBJEXT@
+
+STAGESTUFF = *.@OBJEXT@ ldscripts/* e*.c
+
+# Disable -Werror, if it has been enabled, since old versions of bison/
+# yacc will produce working code which contain compile time warnings.
+ldgram.@OBJEXT@: ldgram.c
+if am__fastdepCC
+ $(COMPILE) -MT $@ -MD -MP -MF $(DEPDIR)/$*.Tpo -c -o $@ `test -f ldgram.c || echo $(srcdir)/`ldgram.c $(NO_WERROR)
+ mv -f $(DEPDIR)/$*.Tpo $(DEPDIR)/$*.Po
+else
+if AMDEP
+ source='ldgram.c' object='$@' libtool=no @AMDEPBACKSLASH@
+ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
+endif
+ $(COMPILE) -c `test -f ldgram.c || echo $(srcdir)/`ldgram.c $(NO_WERROR)
+endif
+
+ldlex-wrapper.@OBJEXT@: ldlex-wrapper.c ldlex.c
+if am__fastdepCC
+ $(COMPILE) -MT $@ -MD -MP -MF $(DEPDIR)/$*.Tpo -c -o $@ $(srcdir)/ldlex-wrapper.c $(NO_WERROR)
+ mv -f $(DEPDIR)/$*.Tpo $(DEPDIR)/$*.Po
+else
+if AMDEP
+ source='ldlex-wrapper.c' object='$@' libtool=no @AMDEPBACKSLASH@
+ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
+endif
+ $(COMPILE) -c $(srcdir)/ldlex-wrapper.c $(NO_WERROR)
+endif
+
+deffilep.@OBJEXT@: deffilep.c
+if am__fastdepCC
+ $(COMPILE) -MT $@ -MD -MP -MF $(DEPDIR)/$*.Tpo -c -o $@ `test -f deffilep.c || echo $(srcdir)/`deffilep.c $(NO_WERROR)
+ mv -f $(DEPDIR)/$*.Tpo $(DEPDIR)/$*.Po
+else
+if AMDEP
+ source='deffilep.c' object='$@' libtool=no @AMDEPBACKSLASH@
+ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
+endif
+ $(COMPILE) -c `test -f deffilep.c || echo $(srcdir)/`deffilep.c $(NO_WERROR)
+endif
+
+SRC_POTFILES = $(CFILES) $(HFILES)
+BLD_POTFILES = $(ALL_EMULATION_SOURCES) $(ALL_64_EMULATION_SOURCES)
+
+po/SRC-POTFILES.in: @MAINT@ Makefile
+ for f in $(SRC_POTFILES); do echo $$f; done | LC_ALL=C sort > $@-tmp \
+ && mv $@-tmp $(srcdir)/po/SRC-POTFILES.in
+
+po/BLD-POTFILES.in: @MAINT@ Makefile $(BLD_POTFILES)
+ for f in $(BLD_POTFILES); do echo $$f; done | LC_ALL=C sort > $@-tmp \
+ && mv $@-tmp $(srcdir)/po/BLD-POTFILES.in
+
+ldmain.@OBJEXT@: ldmain.c config.status
+if am__fastdepCC
+ $(COMPILE) -MT $@ -MD -MP -MF $(DEPDIR)/$*.Tpo -c -o $@ \
+ -DDEFAULT_EMULATION='"$(EMUL)"' \
+ -DBINDIR='"$(bindir)"' -DTOOLBINDIR='"$(tooldir)/bin"' \
+ -DTARGET='"@target@"' @TARGET_SYSTEM_ROOT_DEFINE@ \
+ $(srcdir)/ldmain.c
+ mv -f $(DEPDIR)/$*.Tpo $(DEPDIR)/$*.Po
+else
+if AMDEP
+ source='ldmain.c' object='$@' libtool=no @AMDEPBACKSLASH@
+ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
+endif
+ $(COMPILE) -c -DDEFAULT_EMULATION='"$(EMUL)"' \
+ -DBINDIR='"$(bindir)"' -DTOOLBINDIR='"$(tooldir)/bin"' \
+ -DTARGET='"@target@"' @TARGET_SYSTEM_ROOT_DEFINE@ \
+ $(srcdir)/ldmain.c
+endif
+
+ldfile.@OBJEXT@: ldfile.c config.status
+if am__fastdepCC
+ $(COMPILE) -MT $@ -MD -MP -MF $(DEPDIR)/$*.Tpo -c -o $@ \
+ -DSCRIPTDIR='"$(scriptdir)"' -DBINDIR='"$(bindir)"' -DTOOLBINDIR='"$(tooldir)/bin"' \
+ $(srcdir)/ldfile.c
+ mv -f $(DEPDIR)/$*.Tpo $(DEPDIR)/$*.Po
+else
+if AMDEP
+ source='ldfile.c' object='$@' libtool=no @AMDEPBACKSLASH@
+ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
+endif
+ $(COMPILE) -c -DSCRIPTDIR='"$(scriptdir)"' -DBINDIR='"$(bindir)"' \
+ -DTOOLBINDIR='"$(tooldir)/bin"' \
+ $(srcdir)/ldfile.c
+endif
+
+eelf32_spu.@OBJEXT@: eelf32_spu.c
+if am__fastdepCC
+ $(COMPILE) -MT $@ -MD -MP -MF $(DEPDIR)/$*.Tpo -c -o $@ \
+ -DEMBEDSPU="\"`echo embedspu | sed '$(transform)'`\"" eelf32_spu.c
+ mv -f $(DEPDIR)/$*.Tpo $(DEPDIR)/$*.Po
+else
+if AMDEP
+ source='eelf32_spu.c' object='$@' libtool=no @AMDEPBACKSLASH@
+ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
+endif
+ $(COMPILE) -c -DEMBEDSPU="\"`echo embedspu | sed '$(transform)'`\"" \
+ eelf32_spu.c
+endif
+
+ldemul-list.h: Makefile
+ (echo "/* This file is automatically generated. DO NOT EDIT! */";\
+ for f in `echo " " ${EMULATION_OFILES} "" \
+ | sed -e 's/ e/ ld/g' -e 's/ ld/ /g' -e 's/[.]o//g'`; do \
+ echo "extern ld_emulation_xfer_type ld_$${f}_emulation;"; \
+ done;\
+ echo "";\
+ echo "#define EMULATION_LIST \\";\
+ for f in `echo " " ${EMULATION_OFILES} "" \
+ | sed -e 's/ e/ ld/g' -e 's/ ld/ /g' -e 's/[.]o//g'`; do \
+ echo " &ld_$${f}_emulation, \\"; \
+ done;\
+ echo " 0") >ldemul-tmp.h
+ mv ldemul-tmp.h ldemul-list.h
+
+stringify.sed: ${srcdir}/emultempl/$(STRINGIFY)
+ cp ${srcdir}/emultempl/$(STRINGIFY) stringify.sed
+
+# These all start with e so 'make clean' can find them.
+
+GENSCRIPTS = LIB_PATH='${LIB_PATH}' $(SHELL) $(srcdir)/genscripts.sh "${srcdir}" "${libdir}" "${prefix}" "${exec_prefix}" @host@ @target@ @target_alias@ "@EMULATION_LIBPATH@" "@NATIVE_LIB_DIRS@" @use_sysroot@ @enable_initfini_array@
+GEN_DEPENDS = $(srcdir)/genscripts.sh stringify.sed
+ELF_DEPS = $(srcdir)/emultempl/elf32.em $(srcdir)/emultempl/elf-generic.em $(srcdir)/scripttempl/DWARF.sc
+ELF_GEN_DEPS = $(srcdir)/emultempl/generic.em $(srcdir)/emultempl/elf-generic.em $(srcdir)/emultempl/genelf.em $(srcdir)/scripttempl/DWARF.sc
+ELF_X86_DEPS = $(ELF_DEPS) $(srcdir)/emulparams/plt_unwind.sh \
+ $(srcdir)/emulparams/extern_protected_data.sh \
+ $(srcdir)/emulparams/dynamic_undefined_weak.sh \
+ $(srcdir)/emulparams/reloc_overflow.sh \
+ $(srcdir)/emulparams/call_nop.sh \
+ $(srcdir)/emulparams/cet.sh
+
+@TDIRS@
+
+# We can't use pattern rules as we don't want to depend on GNU
+# make, or else these rules could have been expressed in one
+# two-liner: 'e%.c:' and ' ${GENSCRIPTS} $* "$(tdir_$*)"'.
+# (The recursive variable expansion is portable.)
+
+run-genscripts:
+ ${GENSCRIPTS} $(script_target) "$($(script_tdirname))"
+
+.PHONY: run-genscripts
+
+$(ALL_EMULATION_SOURCES) $(ALL_64_EMULATION_SOURCES):
+ base=`echo $@ | sed -e 's,e\(.*\).c,\1,'`; \
+ $(MAKE) run-genscripts "script_target=$$base" "script_tdirname=tdir_$$base"
+
+eaix5ppc.c: $(srcdir)/emulparams/aix5ppc.sh \
+ $(srcdir)/emultempl/aix.em $(srcdir)/scripttempl/aix.sc ${GEN_DEPENDS}
+
+eaix5rs6.c: $(srcdir)/emulparams/aix5rs6.sh \
+ $(srcdir)/emultempl/aix.em $(srcdir)/scripttempl/aix.sc ${GEN_DEPENDS}
+
+eaixppc.c: $(srcdir)/emulparams/aixppc.sh \
+ $(srcdir)/emultempl/aix.em $(srcdir)/scripttempl/aix.sc ${GEN_DEPENDS}
+
+eaixrs6.c: $(srcdir)/emulparams/aixrs6.sh \
+ $(srcdir)/emultempl/aix.em $(srcdir)/scripttempl/aix.sc ${GEN_DEPENDS}
+
+ealpha.c: $(srcdir)/emulparams/alpha.sh \
+ $(srcdir)/emultempl/generic.em $(srcdir)/scripttempl/alpha.sc ${GEN_DEPENDS}
+
+ealphavms.c: $(srcdir)/emulparams/alphavms.sh \
+ $(srcdir)/emultempl/generic.em $(srcdir)/emultempl/vms.em \
+ $(srcdir)/emultempl/needrelax.em \
+ $(srcdir)/scripttempl/alphavms.sc ${GEN_DEPENDS}
+
+earcv2elf.c: $(srcdir)/emulparams/arcv2elf.sh \
+ $(ELF_DEPS) $(srcdir)/scripttempl/elfarcv2.sc ${GEN_DEPENDS}
+
+earcv2elfx.c: $(srcdir)/emulparams/arcv2elfx.sh \
+ $(ELF_DEPS) $(srcdir)/scripttempl/elfarcv2.sc ${GEN_DEPENDS}
+
+earcelf.c: $(srcdir)/emulparams/arcelf.sh \
+ $(ELF_DEPS) $(srcdir)/scripttempl/elfarc.sc ${GEN_DEPENDS}
+
+earcelf_prof.c: $(srcdir)/emulparams/arcelf_prof.sh \
+ $(ELF_DEPS) $(srcdir)/scripttempl/elfarc.sc ${GEN_DEPENDS}
+
+#for linux on arc
+earclinux.c: $(srcdir)/emulparams/arclinux.sh \
+ $(ELF_DEPS) $(srcdir)/emultempl/arclinux.em \
+ $(srcdir)/scripttempl/arclinux.sc ${GEN_DEPENDS}
+
+earclinux_nps.c: $(srcdir)/emulparams/arclinux_nps.sh \
+ $(srcdir)/emulparams/arc-nps.sh \
+ $(ELF_DEPS) $(srcdir)/emultempl/arclinux.em \
+ $(srcdir)/scripttempl/arclinux.sc ${GEN_DEPENDS}
+
+earclinux_prof.c: $(srcdir)/emulparams/arclinux_prof.sh \
+ $(ELF_DEPS) $(srcdir)/emultempl/arclinux.em \
+ $(srcdir)/scripttempl/arclinux.sc ${GEN_DEPENDS}
+
+earm_wince_pe.c: $(srcdir)/emulparams/arm_wince_pe.sh \
+ $(srcdir)/emultempl/pe.em $(srcdir)/scripttempl/pe.sc ${GEN_DEPENDS}
+
+earmelf.c: $(srcdir)/emulparams/armelf.sh \
+ $(ELF_DEPS) $(srcdir)/emultempl/armelf.em \
+ $(srcdir)/scripttempl/elf.sc ${GEN_DEPENDS}
+
+earmelf_stmos.c: $(srcdir)/emulparams/armelf_stmos.sh \
+ $(ELF_DEPS) $(srcdir)/emultempl/armelf.em \
+ $(srcdir)/scripttempl/elf.sc ${GEN_DEPENDS}
+
+earmelf_fbsd.c: $(srcdir)/emulparams/armelf_fbsd.sh \
+ $(srcdir)/emulparams/armelf.sh $(srcdir)/emulparams/elf_fbsd.sh \
+ $(ELF_DEPS) $(srcdir)/emultempl/armelf.em \
+ $(srcdir)/scripttempl/elf.sc ${GEN_DEPENDS}
+
+earmelf_fuchsia.c: $(srcdir)/emulparams/armelf_fuchsia.sh \
+ $(ELF_DEPS) $(srcdir)/emultempl/armelf.em \
+ $(srcdir)/scripttempl/elf.sc ${GEN_DEPENDS}
+
+earmelf_linux.c: $(srcdir)/emulparams/armelf_linux.sh \
+ $(ELF_DEPS) $(srcdir)/emultempl/armelf.em \
+ $(srcdir)/scripttempl/elf.sc ${GEN_DEPENDS}
+
+earmelf_linux_eabi.c: $(srcdir)/emulparams/armelf_linux_eabi.sh \
+ $(srcdir)/emulparams/armelf_linux.sh \
+ $(ELF_DEPS) $(srcdir)/emultempl/armelf.em \
+ $(srcdir)/scripttempl/elf.sc ${GEN_DEPENDS}
+
+earmelf_linux_fdpiceabi.c: $(srcdir)/emulparams/armelf_linux_fdpiceabi.sh \
+ $(srcdir)/emulparams/armelf_linux.sh \
+ $(ELF_DEPS) $(srcdir)/emultempl/armelf.em \
+ $(srcdir)/scripttempl/elf.sc ${GEN_DEPENDS}
+
+earmelf_nacl.c: $(srcdir)/emulparams/armelf_nacl.sh \
+ $(srcdir)/emulparams/armelf_linux_eabi.sh \
+ $(srcdir)/emulparams/armelf_linux.sh \
+ $(srcdir)/emulparams/elf_nacl.sh \
+ $(ELF_DEPS) $(srcdir)/emultempl/armelf.em \
+ $(srcdir)/scripttempl/elf.sc ${GEN_DEPENDS}
+
+earmelf_nbsd.c: $(srcdir)/emulparams/armelf_nbsd.sh \
+ $(srcdir)/emulparams/armelf.sh \
+ $(ELF_DEPS) $(srcdir)/emultempl/armelf.em \
+ $(srcdir)/scripttempl/elf.sc ${GEN_DEPENDS}
+
+earmelf_phoenix.c: $(srcdir)/emulparams/armelf_phoenix.sh \
+ $(ELF_DEPS) $(srcdir)/emultempl/armelf.em \
+ $(srcdir)/scripttempl/elf.sc ${GEN_DEPENDS}
+
+earmelf_vxworks.c: $(srcdir)/emulparams/armelf_vxworks.sh \
+ $(srcdir)/emulparams/vxworks.sh $(srcdir)/emulparams/armelf.sh \
+ $(ELF_DEPS) $(srcdir)/emultempl/vxworks.em \
+ $(srcdir)/emultempl/armelf.em $(srcdir)/scripttempl/elf.sc \
+ ${GEN_DEPENDS}
+
+earmelfb.c: $(srcdir)/emulparams/armelfb.sh $(srcdir)/emulparams/armelf.sh \
+ $(ELF_DEPS) $(srcdir)/emultempl/armelf.em \
+ $(srcdir)/scripttempl/elf.sc ${GEN_DEPENDS}
+
+earmelfb_fbsd.c: $(srcdir)/emulparams/armelfb_fbsd.sh \
+ $(srcdir)/emulparams/armelf_fbsd.sh \
+ $(srcdir)/emulparams/armelf.sh $(srcdir)/emulparams/elf_fbsd.sh \
+ $(ELF_DEPS) $(srcdir)/emultempl/armelf.em \
+ $(srcdir)/scripttempl/elf.sc ${GEN_DEPENDS}
+
+earmelfb_fuchsia.c: $(srcdir)/emulparams/armelfb_fuchsia.sh \
+ $(srcdir)/emulparams/armelf_fuchsia.sh \
+ $(ELF_DEPS) $(srcdir)/emultempl/armelf.em \
+ $(srcdir)/scripttempl/elf.sc ${GEN_DEPENDS}
+
+earmelfb_linux.c: $(srcdir)/emulparams/armelfb_linux.sh \
+ $(srcdir)/emulparams/armelf_linux.sh \
+ $(ELF_DEPS) $(srcdir)/emultempl/armelf.em \
+ $(srcdir)/scripttempl/elf.sc ${GEN_DEPENDS}
+
+earmelfb_linux_eabi.c: $(srcdir)/emulparams/armelfb_linux_eabi.sh \
+ $(srcdir)/emulparams/armelf_linux_eabi.sh \
+ $(srcdir)/emulparams/armelf_linux.sh \
+ $(ELF_DEPS) $(srcdir)/emultempl/armelf.em \
+ $(srcdir)/scripttempl/elf.sc ${GEN_DEPENDS}
+
+earmelfb_linux_fdpiceabi.c: $(srcdir)/emulparams/armelfb_linux_fdpiceabi.sh \
+ $(srcdir)/emulparams/armelf_linux_fdpiceabi.sh \
+ $(srcdir)/emulparams/armelf_linux.sh \
+ $(ELF_DEPS) $(srcdir)/emultempl/armelf.em \
+ $(srcdir)/scripttempl/elf.sc ${GEN_DEPENDS}
+
+earmelfb_nacl.c: $(srcdir)/emulparams/armelfb_nacl.sh \
+ $(srcdir)/emulparams/armelf_nacl.sh \
+ $(srcdir)/emulparams/armelf_linux_eabi.sh \
+ $(srcdir)/emulparams/armelf_linux.sh \
+ $(srcdir)/emulparams/elf_nacl.sh \
+ $(ELF_DEPS) $(srcdir)/emultempl/armelf.em \
+ $(srcdir)/scripttempl/elf.sc ${GEN_DEPENDS}
+
+earmelfb_nbsd.c: $(srcdir)/emulparams/armelfb_nbsd.sh \
+ $(srcdir)/emulparams/armelf_nbsd.sh \
+ $(srcdir)/emulparams/armelf.sh \
+ $(ELF_DEPS) $(srcdir)/emultempl/armelf.em \
+ $(srcdir)/scripttempl/elf.sc ${GEN_DEPENDS}
+
+earmnto.c: $(srcdir)/emulparams/armnto.sh \
+ $(ELF_DEPS) $(srcdir)/emultempl/armelf.em \
+ $(srcdir)/scripttempl/elf.sc ${GEN_DEPENDS}
+
+earmpe.c: $(srcdir)/emulparams/armpe.sh \
+ $(srcdir)/emultempl/pe.em $(srcdir)/scripttempl/pe.sc ${GEN_DEPENDS}
+
+earmsymbian.c: $(srcdir)/emulparams/armsymbian.sh \
+ $(srcdir)/emulparams/armelf.sh $(ELF_DEPS) \
+ $(srcdir)/emultempl/armelf.em $(srcdir)/scripttempl/armbpabi.sc \
+ ${GEN_DEPENDS}
+
+eavr1.c: $(srcdir)/emulparams/avr1.sh $(srcdir)/emultempl/avrelf.em \
+ $(ELF_DEPS) $(srcdir)/scripttempl/avr.sc \
+ ${GEN_DEPENDS}
+
+eavr2.c: $(srcdir)/emulparams/avr2.sh $(srcdir)/emultempl/avrelf.em \
+ $(ELF_DEPS) $(srcdir)/scripttempl/avr.sc \
+ ${GEN_DEPENDS}
+
+eavr25.c: $(srcdir)/emulparams/avr25.sh $(srcdir)/emultempl/avrelf.em \
+ $(ELF_DEPS) $(srcdir)/scripttempl/avr.sc \
+ ${GEN_DEPENDS}
+
+eavr3.c: $(srcdir)/emulparams/avr3.sh $(srcdir)/emultempl/avrelf.em \
+ $(ELF_DEPS) $(srcdir)/scripttempl/avr.sc \
+ ${GEN_DEPENDS}
+
+eavr31.c: $(srcdir)/emulparams/avr31.sh $(srcdir)/emultempl/avrelf.em \
+ $(ELF_DEPS) $(srcdir)/scripttempl/avr.sc \
+ ${GEN_DEPENDS}
+
+eavr35.c: $(srcdir)/emulparams/avr35.sh $(srcdir)/emultempl/avrelf.em \
+ $(ELF_DEPS) $(srcdir)/scripttempl/avr.sc \
+ ${GEN_DEPENDS}
+
+eavr4.c: $(srcdir)/emulparams/avr4.sh $(srcdir)/emultempl/avrelf.em \
+ $(ELF_DEPS) $(srcdir)/scripttempl/avr.sc \
+ ${GEN_DEPENDS}
+
+eavr5.c: $(srcdir)/emulparams/avr5.sh $(srcdir)/emultempl/avrelf.em \
+ $(ELF_DEPS) $(srcdir)/scripttempl/avr.sc \
+ ${GEN_DEPENDS}
+
+eavr51.c: $(srcdir)/emulparams/avr51.sh $(srcdir)/emultempl/avrelf.em \
+ $(ELF_DEPS) $(srcdir)/scripttempl/avr.sc \
+ ${GEN_DEPENDS}
+
+eavr6.c: $(srcdir)/emulparams/avr6.sh $(srcdir)/emultempl/avrelf.em \
+ $(ELF_DEPS) $(srcdir)/scripttempl/avr.sc \
+ ${GEN_DEPENDS}
+
+eavrxmega1.c: $(srcdir)/emulparams/avrxmega1.sh \
+ $(srcdir)/emultempl/avrelf.em $(ELF_DEPS) $(srcdir)/scripttempl/avr.sc \
+ ${GEN_DEPENDS}
+
+eavrxmega2.c: $(srcdir)/emulparams/avrxmega2.sh \
+ $(srcdir)/emultempl/avrelf.em $(ELF_DEPS) $(srcdir)/scripttempl/avr.sc \
+ ${GEN_DEPENDS}
+
+eavrxmega3.c: $(srcdir)/emulparams/avrxmega3.sh \
+ $(srcdir)/emultempl/avrelf.em $(ELF_DEPS) $(srcdir)/scripttempl/avr.sc \
+ ${GEN_DEPENDS}
+
+eavrxmega4.c: $(srcdir)/emulparams/avrxmega4.sh \
+ $(srcdir)/emultempl/avrelf.em $(ELF_DEPS) $(srcdir)/scripttempl/avr.sc \
+ ${GEN_DEPENDS}
+
+eavrxmega5.c: $(srcdir)/emulparams/avrxmega5.sh \
+ $(srcdir)/emultempl/avrelf.em $(ELF_DEPS) $(srcdir)/scripttempl/avr.sc \
+ ${GEN_DEPENDS}
+
+eavrxmega6.c: $(srcdir)/emulparams/avrxmega6.sh \
+ $(srcdir)/emultempl/avrelf.em $(ELF_DEPS) $(srcdir)/scripttempl/avr.sc \
+ ${GEN_DEPENDS}
+
+eavrxmega7.c: $(srcdir)/emulparams/avrxmega7.sh \
+ $(srcdir)/emultempl/avrelf.em $(ELF_DEPS) $(srcdir)/scripttempl/avr.sc \
+ ${GEN_DEPENDS}
+
+eavrtiny.c: $(srcdir)/emulparams/avrtiny.sh \
+ $(srcdir)/emultempl/avrelf.em $(ELF_DEPS) $(srcdir)/scripttempl/avr.sc \
+ ${GEN_DEPENDS}
+
+ecrisaout.c: $(srcdir)/emulparams/crisaout.sh \
+ $(srcdir)/emultempl/generic.em $(srcdir)/scripttempl/crisaout.sc ${GEN_DEPENDS}
+
+ecriself.c: $(srcdir)/emulparams/criself.sh \
+ $(ELF_DEPS) $(srcdir)/scripttempl/elf.sc ${GEN_DEPENDS}
+
+ecrislinux.c: $(srcdir)/emulparams/crislinux.sh \
+ $(ELF_DEPS) $(srcdir)/scripttempl/elf.sc ${GEN_DEPENDS}
+
+ed10velf.c: $(srcdir)/emulparams/d10velf.sh \
+ $(ELF_DEPS) $(srcdir)/scripttempl/elfd10v.sc ${GEN_DEPENDS}
+
+ed30v_e.c: $(srcdir)/emulparams/d30v_e.sh \
+ $(ELF_GEN_DEPS) $(srcdir)/scripttempl/elfd30v.sc ${GEN_DEPENDS}
+
+ed30v_o.c: $(srcdir)/emulparams/d30v_o.sh \
+ $(ELF_GEN_DEPS) $(srcdir)/scripttempl/elfd30v.sc ${GEN_DEPENDS}
+
+ed30velf.c: $(srcdir)/emulparams/d30velf.sh \
+ $(ELF_GEN_DEPS) $(srcdir)/scripttempl/elfd30v.sc ${GEN_DEPENDS}
+
+eelf32_dlx.c: $(srcdir)/emulparams/elf32_dlx.sh \
+ $(ELF_GEN_DEPS) $(srcdir)/scripttempl/dlx.sc ${GEN_DEPENDS}
+
+eelf32_sparc.c: $(srcdir)/emulparams/elf32_sparc.sh \
+ $(ELF_DEPS) $(srcdir)/scripttempl/elf.sc ${GEN_DEPENDS}
+
+eelf32_sparc_sol2.c: $(srcdir)/emulparams/elf32_sparc_sol2.sh \
+ $(srcdir)/emulparams/elf32_sparc.sh \
+ $(srcdir)/emulparams/solaris2.sh \
+ $(srcdir)/emultempl/solaris2.em $(ELF_DEPS) \
+ $(srcdir)/scripttempl/elf.sc ${GEN_DEPENDS}
+
+eelf32_sparc_vxworks.c: $(srcdir)/emulparams/elf32_sparc_vxworks.sh \
+ $(srcdir)/emulparams/vxworks.sh $(srcdir)/emulparams/elf32_sparc.sh \
+ $(srcdir)/emultempl/vxworks.em $(ELF_DEPS) \
+ $(srcdir)/scripttempl/elf.sc ${GEN_DEPENDS}
+
+eelf32_spu.c: $(srcdir)/emulparams/elf32_spu.sh $(srcdir)/emultempl/spuelf.em \
+ $(srcdir)/emultempl/spu_ovl.@OBJEXT@_c $(srcdir)/emultempl/spu_icache.@OBJEXT@_c \
+ ldemul-list.h \
+ $(ELF_DEPS) $(srcdir)/scripttempl/elf.sc ${GEN_DEPENDS}
+
+$(srcdir)/emultempl/spu_ovl.@OBJEXT@_c: @MAINT@ $(srcdir)/emultempl/spu_ovl.S
+ if ../gas/as-new --version \
+ | grep 'target.*spu' >/dev/null 2>/dev/null; then \
+ cpp -DOVLY_IRQ_SAVE $(srcdir)/emultempl/spu_ovl.S spu_ovl.s; \
+ ../gas/as-new -o spu_ovl.@OBJEXT@ spu_ovl.s; \
+ ../binutils/bin2c <spu_ovl.@OBJEXT@ >$@; \
+ fi
+$(srcdir)/emultempl/spu_icache.@OBJEXT@_c: @MAINT@ $(srcdir)/emultempl/spu_icache.S
+ if ../gas/as-new --version \
+ | grep 'target.*spu' >/dev/null 2>/dev/null; then \
+ cpp -DOVLY_IRQ_SAVE $(srcdir)/emultempl/spu_icache.S spu_icache.s; \
+ ../gas/as-new -o spu_icache.@OBJEXT@ spu_icache.s; \
+ ../binutils/bin2c <spu_icache.@OBJEXT@ >$@; \
+ fi
+eelf32_tic6x_be.c: $(srcdir)/emulparams/elf32_tic6x_be.sh \
+ $(ELF_DEPS) $(srcdir)/scripttempl/elf.sc $(srcdir)/emultempl/tic6xdsbt.em \
+ ${GEN_DEPENDS}
+
+eelf32_tic6x_elf_be.c: $(srcdir)/emulparams/elf32_tic6x_elf_be.sh \
+ $(ELF_DEPS) $(srcdir)/scripttempl/elf.sc $(srcdir)/emultempl/tic6xdsbt.em \
+ ${GEN_DEPENDS}
+
+eelf32_tic6x_elf_le.c: $(srcdir)/emulparams/elf32_tic6x_elf_le.sh \
+ $(ELF_DEPS) $(srcdir)/scripttempl/elf.sc $(srcdir)/emultempl/tic6xdsbt.em \
+ ${GEN_DEPENDS}
+
+eelf32_tic6x_le.c: $(srcdir)/emulparams/elf32_tic6x_le.sh \
+ $(ELF_DEPS) $(srcdir)/scripttempl/elf.sc $(srcdir)/emultempl/tic6xdsbt.em \
+ ${GEN_DEPENDS}
+
+eelf32_tic6x_linux_be.c: $(srcdir)/emulparams/elf32_tic6x_linux_be.sh \
+ $(ELF_DEPS) $(srcdir)/scripttempl/elf.sc $(srcdir)/emultempl/tic6xdsbt.em \
+ ${GEN_DEPENDS}
+
+eelf32_tic6x_linux_le.c: $(srcdir)/emulparams/elf32_tic6x_linux_le.sh \
+ $(ELF_DEPS) $(srcdir)/scripttempl/elf.sc $(srcdir)/emultempl/tic6xdsbt.em \
+ ${GEN_DEPENDS}
+
+eelf32am33lin.c: $(srcdir)/emulparams/elf32am33lin.sh \
+ $(srcdir)/emulparams/elf32am33lin.sh \
+ $(ELF_DEPS) $(srcdir)/scripttempl/elf.sc ${GEN_DEPENDS}
+
+eelf32b4300.c: $(srcdir)/emulparams/elf32b4300.sh \
+ $(srcdir)/emulparams/elf32bmip.sh $(ELF_DEPS) \
+ $(srcdir)/emultempl/mipself.em $(srcdir)/scripttempl/elf.sc ${GEN_DEPENDS}
+
+eelf32bfin.c: $(srcdir)/emulparams/elf32bfin.sh \
+ $(ELF_DEPS) $(srcdir)/emultempl/bfin.em \
+ $(srcdir)/scripttempl/elf.sc ${GEN_DEPENDS}
+
+eelf32bfinfd.c: $(srcdir)/emulparams/elf32bfinfd.sh \
+ $(srcdir)/emulparams/elf32bfin.sh \
+ $(ELF_DEPS) $(srcdir)/emultempl/bfin.em \
+ $(srcdir)/scripttempl/elf.sc ${GEN_DEPENDS}
+
+eelf32bmip.c: $(srcdir)/emulparams/elf32bmip.sh $(ELF_DEPS) \
+ $(srcdir)/emultempl/mipself.em $(srcdir)/scripttempl/elf.sc ${GEN_DEPENDS}
+
+eelf32bmipn32.c: $(srcdir)/emulparams/elf32bmipn32.sh \
+ $(srcdir)/emulparams/elf32bmipn32-defs.sh $(ELF_DEPS) \
+ $(srcdir)/emultempl/irix.em $(srcdir)/emultempl/mipself.em \
+ $(srcdir)/scripttempl/elf.sc ${GEN_DEPENDS}
+
+eelf32bsmip.c: $(srcdir)/emulparams/elf32bsmip.sh \
+ $(srcdir)/emulparams/elf32bmip.sh $(ELF_DEPS) $(srcdir)/emultempl/irix.em \
+ $(srcdir)/emultempl/mipself.em $(srcdir)/scripttempl/elf.sc ${GEN_DEPENDS}
+
+eelf32btsmip.c: $(srcdir)/emulparams/elf32btsmip.sh \
+ $(srcdir)/emulparams/elf32bmip.sh $(ELF_DEPS) \
+ $(srcdir)/emultempl/mipself.em $(srcdir)/scripttempl/elf.sc ${GEN_DEPENDS}
+
+eelf32btsmip_fbsd.c: $(srcdir)/emulparams/elf32btsmip_fbsd.sh \
+ $(srcdir)/emulparams/elf32bmip.sh $(ELF_DEPS) \
+ $(srcdir)/emultempl/mipself.em $(srcdir)/scripttempl/elf.sc ${GEN_DEPENDS}
+
+eelf32btsmipn32.c: $(srcdir)/emulparams/elf32btsmipn32.sh \
+ $(srcdir)/emulparams/elf32bmipn32-defs.sh $(ELF_DEPS) \
+ $(srcdir)/emultempl/mipself.em $(srcdir)/scripttempl/elf.sc ${GEN_DEPENDS}
+
+eelf32btsmipn32_fbsd.c: $(srcdir)/emulparams/elf32btsmipn32_fbsd.sh \
+ $(srcdir)/emulparams/elf32bmipn32-defs.sh $(ELF_DEPS) \
+ $(srcdir)/emultempl/mipself.em $(srcdir)/scripttempl/elf.sc ${GEN_DEPENDS}
+
+eelf32cr16.c: $(srcdir)/emulparams/elf32cr16.sh \
+ $(ELF_DEPS) $(srcdir)/emultempl/cr16elf.em \
+ $(srcdir)/scripttempl/elf32cr16.sc ${GEN_DEPENDS}
+
+eelf32cr16c.c: $(srcdir)/emulparams/elf32cr16c.sh \
+ $(ELF_DEPS) $(srcdir)/scripttempl/elf32cr16c.sc ${GEN_DEPENDS}
+
+eelf32crx.c: $(srcdir)/emulparams/elf32crx.sh \
+ $(ELF_DEPS) $(srcdir)/emultempl/crxelf.em \
+ $(srcdir)/scripttempl/elf32crx.sc ${GEN_DEPENDS}
+
+eelf32ebmip.c: $(srcdir)/emulparams/elf32ebmip.sh \
+ $(srcdir)/emulparams/elf32bmip.sh $(ELF_DEPS) \
+ $(srcdir)/emultempl/mipself.em $(srcdir)/scripttempl/elf.sc ${GEN_DEPENDS}
+
+eelf32ebmipvxworks.c: $(srcdir)/emulparams/elf32ebmipvxworks.sh \
+ $(srcdir)/emulparams/elf32bmip.sh $(srcdir)/emulparams/vxworks.sh \
+ $(ELF_DEPS) $(srcdir)/emultempl/generic.em $(srcdir)/emultempl/mipself.em \
+ $(srcdir)/emultempl/vxworks.em $(srcdir)/scripttempl/elf.sc ${GEN_DEPENDS}
+
+eelf32elmip.c: $(srcdir)/emulparams/elf32elmip.sh \
+ $(srcdir)/emulparams/elf32lmip.sh $(srcdir)/emulparams/elf32bmip.sh \
+ $(ELF_DEPS) $(srcdir)/emultempl/mipself.em $(srcdir)/scripttempl/elf.sc \
+ ${GEN_DEPENDS}
+
+eelf32elmipvxworks.c: $(srcdir)/emulparams/elf32elmipvxworks.sh \
+ $(srcdir)/emulparams/elf32bmip.sh $(srcdir)/emulparams/vxworks.sh \
+ $(ELF_DEPS) $(srcdir)/emultempl/generic.em $(srcdir)/emultempl/mipself.em \
+ $(srcdir)/emultempl/vxworks.em $(srcdir)/scripttempl/elf.sc ${GEN_DEPENDS}
+
+eelf32lr5900.c: $(srcdir)/emulparams/elf32lr5900.sh \
+ $(srcdir)/emulparams/elf32bmip.sh \
+ $(ELF_DEPS) $(srcdir)/emultempl/mipself.em $(srcdir)/scripttempl/elf.sc \
+ ${GEN_DEPENDS}
+
+eelf32lr5900n32.c: $(srcdir)/emulparams/elf32lr5900n32.sh \
+ $(srcdir)/emulparams/elf32bmipn32-defs.sh \
+ $(ELF_DEPS) $(srcdir)/emultempl/mipself.em $(srcdir)/scripttempl/elf.sc \
+ ${GEN_DEPENDS}
+
+eelf32epiphany.c: $(srcdir)/emulparams/elf32epiphany.sh \
+ $(ELF_DEPS) ${GEN_DEPENDS}
+
+eelf32epiphany_4x4.c: $(srcdir)/emulparams/elf32epiphany_4x4.sh \
+ $(srcdir)/emultempl/elf32.em \
+ $(ELF_DEPS) $(srcdir)/scripttempl/epiphany_4x4.sc ${GEN_DEPENDS}
+
+eelf32fr30.c: $(srcdir)/emulparams/elf32fr30.sh \
+ $(ELF_GEN_DEPS) $(srcdir)/scripttempl/elf.sc ${GEN_DEPENDS}
+
+eelf32frv.c: $(srcdir)/emulparams/elf32frv.sh \
+ $(ELF_GEN_DEPS) $(srcdir)/scripttempl/elf.sc ${GEN_DEPENDS}
+
+eelf32frvfd.c: $(srcdir)/emulparams/elf32frvfd.sh \
+ $(srcdir)/emulparams/elf32frv.sh \
+ $(ELF_DEPS) $(srcdir)/scripttempl/elf.sc ${GEN_DEPENDS}
+
+eelf32ft32.c: $(srcdir)/emulparams/elf32ft32.sh \
+ $(ELF_GEN_DEPS) $(srcdir)/scripttempl/elf.sc ${GEN_DEPENDS}
+
+eelf32ip2k.c: $(srcdir)/emulparams/elf32ip2k.sh \
+ $(ELF_DEPS) $(srcdir)/scripttempl/elf.sc ${GEN_DEPENDS}
+
+eelf32iq10.c: $(srcdir)/emulparams/elf32iq10.sh \
+ $(ELF_GEN_DEPS) $(srcdir)/scripttempl/iq2000.sc ${GEN_DEPENDS}
+
+eelf32iq2000.c: $(srcdir)/emulparams/elf32iq2000.sh \
+ $(ELF_GEN_DEPS) $(srcdir)/scripttempl/iq2000.sc ${GEN_DEPENDS}
+
+eelf32l4300.c: $(srcdir)/emulparams/elf32l4300.sh \
+ $(srcdir)/emulparams/elf32b4300.sh $(srcdir)/emulparams/elf32bmip.sh \
+ $(ELF_DEPS) $(srcdir)/emultempl/mipself.em $(srcdir)/scripttempl/elf.sc \
+ ${GEN_DEPENDS}
+
+eelf32lm32.c: $(srcdir)/emulparams/elf32lm32.sh \
+ $(ELF_DEPS) $(srcdir)/scripttempl/elf.sc ${GEN_DEPENDS}
+
+eelf32lm32fd.c: $(srcdir)/emulparams/elf32lm32fd.sh \
+ $(srcdir)/emulparams/elf32lm32.sh $(ELF_DEPS) \
+ $(srcdir)/scripttempl/elf.sc ${GEN_DEPENDS}
+
+eelf32lmip.c: $(srcdir)/emulparams/elf32lmip.sh \
+ $(srcdir)/emulparams/elf32bmip.sh $(ELF_DEPS) \
+ $(srcdir)/emultempl/mipself.em $(srcdir)/scripttempl/elf.sc ${GEN_DEPENDS}
+
+eelf32lppc.c: $(srcdir)/emulparams/elf32lppc.sh \
+ $(srcdir)/emulparams/elf32ppccommon.sh \
+ $(srcdir)/emulparams/elf32ppc.sh \
+ $(srcdir)/emulparams/dynamic_undefined_weak.sh \
+ $(srcdir)/emultempl/ppc32elf.em ldemul-list.h \
+ $(ELF_DEPS) $(srcdir)/scripttempl/elf.sc ${GEN_DEPENDS}
+
+eelf32lppclinux.c: $(srcdir)/emulparams/elf32lppclinux.sh \
+ $(srcdir)/emulparams/elf32lppc.sh $(srcdir)/emulparams/elf32ppc.sh \
+ $(srcdir)/emulparams/elf32ppccommon.sh \
+ $(srcdir)/emulparams/dynamic_undefined_weak.sh \
+ $(srcdir)/emultempl/ppc32elf.em ldemul-list.h \
+ $(ELF_DEPS) $(srcdir)/scripttempl/elf.sc ${GEN_DEPENDS}
+
+eelf32lppcnto.c: $(srcdir)/emulparams/elf32lppcnto.sh \
+ $(srcdir)/emulparams/elf32ppc.sh $(srcdir)/emulparams/elf32ppccommon.sh \
+ $(srcdir)/emulparams/dynamic_undefined_weak.sh \
+ $(srcdir)/emultempl/ppc32elf.em ldemul-list.h \
+ $(ELF_DEPS) $(srcdir)/scripttempl/elf.sc ${GEN_DEPENDS}
+
+eelf32lppcsim.c: $(srcdir)/emulparams/elf32lppcsim.sh \
+ $(srcdir)/emulparams/elf32lppc.sh $(srcdir)/emulparams/elf32ppc.sh \
+ $(srcdir)/emulparams/elf32ppccommon.sh \
+ $(srcdir)/emulparams/dynamic_undefined_weak.sh \
+ $(srcdir)/emultempl/ppc32elf.em ldemul-list.h \
+ $(ELF_DEPS) $(srcdir)/scripttempl/elf.sc ${GEN_DEPENDS}
+
+eelf32lriscv.c: $(srcdir)/emulparams/elf32lriscv.sh \
+ $(srcdir)/emulparams/elf32lriscv-defs.sh $(ELF_DEPS) \
+ $(srcdir)/emultempl/riscvelf.em $(srcdir)/scripttempl/elf.sc \
+ ${GEN_DEPENDS}
+
+eelf32lriscv_ilp32f.c: $(srcdir)/emulparams/elf32lriscv_ilp32f.sh \
+ $(srcdir)/emulparams/elf32lriscv-defs.sh $(ELF_DEPS) \
+ $(srcdir)/emultempl/riscvelf.em $(srcdir)/scripttempl/elf.sc \
+ ${GEN_DEPENDS}
+
+eelf32lriscv_ilp32.c: $(srcdir)/emulparams/elf32lriscv_ilp32.sh \
+ $(srcdir)/emulparams/elf32lriscv-defs.sh $(ELF_DEPS) \
+ $(srcdir)/emultempl/riscvelf.em $(srcdir)/scripttempl/elf.sc \
+ ${GEN_DEPENDS}
+
+eelf32lsmip.c: $(srcdir)/emulparams/elf32lsmip.sh \
+ $(srcdir)/emulparams/elf32lmip.sh $(srcdir)/emulparams/elf32bmip.sh \
+ $(ELF_DEPS) $(srcdir)/emultempl/mipself.em $(srcdir)/scripttempl/elf.sc \
+ ${GEN_DEPENDS}
+
+eelf32ltsmip.c: $(srcdir)/emulparams/elf32ltsmip.sh \
+ $(srcdir)/emulparams/elf32btsmip.sh $(srcdir)/emulparams/elf32bmip.sh \
+ $(ELF_DEPS) $(srcdir)/emultempl/mipself.em $(srcdir)/scripttempl/elf.sc \
+ ${GEN_DEPENDS}
+
+eelf32ltsmip_fbsd.c: $(srcdir)/emulparams/elf32ltsmip_fbsd.sh \
+ $(srcdir)/emulparams/elf32btsmip.sh $(srcdir)/emulparams/elf32bmip.sh \
+ $(ELF_DEPS) $(srcdir)/emultempl/mipself.em $(srcdir)/scripttempl/elf.sc \
+ ${GEN_DEPENDS}
+
+eelf32ltsmipn32.c: $(srcdir)/emulparams/elf32ltsmipn32.sh \
+ $(srcdir)/emulparams/elf32btsmipn32.sh \
+ $(srcdir)/emulparams/elf32bmipn32-defs.sh $(ELF_DEPS) \
+ $(srcdir)/emultempl/mipself.em $(srcdir)/scripttempl/elf.sc ${GEN_DEPENDS}
+
+eelf32ltsmipn32_fbsd.c: $(srcdir)/emulparams/elf32ltsmipn32_fbsd.sh \
+ $(srcdir)/emulparams/elf32btsmipn32.sh \
+ $(srcdir)/emulparams/elf32bmipn32-defs.sh $(ELF_DEPS) \
+ $(srcdir)/emultempl/mipself.em $(srcdir)/scripttempl/elf.sc ${GEN_DEPENDS}
+
+eelf32m32c.c: $(srcdir)/emulparams/elf32m32c.sh \
+ $(ELF_DEPS) $(srcdir)/emultempl/needrelax.em \
+ $(srcdir)/scripttempl/elf.sc ${GEN_DEPENDS}
+
+eelf32mbel_linux.c: $(srcdir)/emulparams/elf32mbel_linux.sh \
+ $(ELF_DEPS) $(srcdir)/scripttempl/elf.sc ${GEN_DEPENDS}
+
+eelf32mb_linux.c: $(srcdir)/emulparams/elf32mb_linux.sh \
+ $(ELF_DEPS) $(srcdir)/scripttempl/elf.sc ${GEN_DEPENDS}
+
+eelf32mcore.c: $(srcdir)/emulparams/elf32mcore.sh \
+ $(ELF_DEPS) $(srcdir)/scripttempl/elf.sc ${GEN_DEPENDS}
+
+eelf32mep.c: $(srcdir)/emulparams/elf32mep.sh \
+ $(ELF_DEPS) $(srcdir)/scripttempl/mep.sc ${GEN_DEPENDS}
+
+eelf32metag.c: $(srcdir)/emulparams/elf32metag.sh \
+ $(ELF_DEPS) $(srcdir)/emultempl/metagelf.em \
+ $(srcdir)/scripttempl/elf.sc ${GEN_DEPENDS}
+
+eelf32microblazeel.c: $(srcdir)/emulparams/elf32microblazeel.sh \
+ $(ELF_DEPS) $(srcdir)/scripttempl/elfmicroblaze.sc ${GEN_DEPENDS}
+
+eelf32microblaze.c: $(srcdir)/emulparams/elf32microblaze.sh \
+ $(ELF_DEPS) $(srcdir)/scripttempl/elfmicroblaze.sc ${GEN_DEPENDS}
+
+eelf32mipswindiss.c: $(srcdir)/emulparams/elf32mipswindiss.sh $(ELF_DEPS) \
+ $(srcdir)/emultempl/mipself.em $(srcdir)/scripttempl/elf.sc ${GEN_DEPENDS}
+
+eelf32moxie.c: $(srcdir)/emulparams/elf32moxie.sh \
+ $(ELF_GEN_DEPS) $(srcdir)/scripttempl/elf.sc ${GEN_DEPENDS}
+
+emoxiebox.c: $(srcdir)/emulparams/moxiebox.sh \
+ $(ELF_GEN_DEPS) $(srcdir)/scripttempl/elf.sc ${GEN_DEPENDS}
+
+eelf32mt.c: $(srcdir)/emulparams/elf32mt.sh \
+ $(ELF_GEN_DEPS) $(srcdir)/scripttempl/elf.sc ${GEN_DEPENDS}
+
+eelf32or1k.c: $(srcdir)/emulparams/elf32or1k.sh \
+ $(ELF_DEPS) $(srcdir)/scripttempl/elf.sc ${GEN_DEPENDS}
+
+eelf32or1k_linux.c: $(srcdir)/emulparams/elf32or1k_linux.sh \
+ $(ELF_DEPS) $(srcdir)/scripttempl/elf.sc ${GEN_DEPENDS}
+
+eelf32ppc.c: $(srcdir)/emulparams/elf32ppc.sh \
+ $(srcdir)/emulparams/elf32ppccommon.sh \
+ $(srcdir)/emulparams/dynamic_undefined_weak.sh \
+ $(srcdir)/emultempl/ppc32elf.em ldemul-list.h \
+ $(ELF_DEPS) $(srcdir)/scripttempl/elf.sc ${GEN_DEPENDS}
+
+eelf32ppc_fbsd.c: $(srcdir)/emulparams/elf32ppc_fbsd.sh \
+ $(srcdir)/emulparams/elf32ppc.sh $(srcdir)/emulparams/elf32ppccommon.sh \
+ $(srcdir)/emulparams/dynamic_undefined_weak.sh \
+ $(srcdir)/emultempl/ppc32elf.em ldemul-list.h \
+ $(ELF_DEPS) $(srcdir)/scripttempl/elf.sc ${GEN_DEPENDS}
+
+eelf32ppclinux.c: $(srcdir)/emulparams/elf32ppclinux.sh \
+ $(srcdir)/emulparams/elf32ppc.sh $(srcdir)/emulparams/elf32ppccommon.sh \
+ $(srcdir)/emulparams/dynamic_undefined_weak.sh \
+ $(srcdir)/emultempl/ppc32elf.em ldemul-list.h \
+ $(ELF_DEPS) $(srcdir)/scripttempl/elf.sc ${GEN_DEPENDS}
+
+eelf32ppcnto.c: $(srcdir)/emulparams/elf32ppcnto.sh \
+ $(srcdir)/emulparams/elf32ppc.sh $(srcdir)/emulparams/elf32ppccommon.sh \
+ $(srcdir)/emulparams/dynamic_undefined_weak.sh \
+ $(srcdir)/emultempl/ppc32elf.em ldemul-list.h \
+ $(ELF_DEPS) $(srcdir)/scripttempl/elf.sc ${GEN_DEPENDS}
+
+eelf32ppcsim.c: $(srcdir)/emulparams/elf32ppcsim.sh \
+ $(srcdir)/emulparams/elf32ppc.sh $(srcdir)/emulparams/elf32ppccommon.sh \
+ $(srcdir)/emulparams/dynamic_undefined_weak.sh \
+ $(srcdir)/emultempl/ppc32elf.em ldemul-list.h \
+ $(ELF_DEPS) $(srcdir)/scripttempl/elf.sc ${GEN_DEPENDS}
+
+eelf32ppcvxworks.c: $(srcdir)/emulparams/elf32ppcvxworks.sh \
+ $(srcdir)/emulparams/elf32ppccommon.sh $(srcdir)/emulparams/vxworks.sh \
+ $(srcdir)/emulparams/dynamic_undefined_weak.sh \
+ $(srcdir)/emultempl/ppc32elf.em ldemul-list.h \
+ $(srcdir)/emultempl/vxworks.em \
+ $(ELF_DEPS) $(srcdir)/scripttempl/elf.sc ${GEN_DEPENDS}
+
+eelf32ppcwindiss.c: $(srcdir)/emulparams/elf32ppcwindiss.sh \
+ $(ELF_DEPS) $(srcdir)/scripttempl/elf.sc ${GEN_DEPENDS}
+
+eelf32rl78.c: $(srcdir)/emulparams/elf32rl78.sh \
+ $(ELF_DEPS) $(srcdir)/scripttempl/elf.sc ${GEN_DEPENDS}
+
+eelf32rx.c: $(srcdir)/emulparams/elf32rx.sh \
+ $(ELF_DEPS) $(srcdir)/scripttempl/elf.sc ${GEN_DEPENDS}
+
+eelf32tilegx.c: $(srcdir)/emulparams/elf32tilegx.sh \
+ $(ELF_DEPS) $(srcdir)/emultempl/needrelax.em \
+ $(srcdir)/scripttempl/elf.sc ${GEN_DEPENDS}
+
+eelf32tilegx_be.c: $(srcdir)/emulparams/elf32tilegx_be.sh \
+ $(ELF_DEPS) $(srcdir)/emultempl/needrelax.em \
+ $(srcdir)/scripttempl/elf.sc ${GEN_DEPENDS}
+
+eelf32tilepro.c: $(srcdir)/emulparams/elf32tilepro.sh \
+ $(ELF_DEPS) $(srcdir)/emultempl/needrelax.em \
+ $(srcdir)/scripttempl/elf.sc ${GEN_DEPENDS}
+
+eelf32vax.c: $(srcdir)/emulparams/elf32vax.sh \
+ $(ELF_DEPS) $(srcdir)/scripttempl/elf.sc ${GEN_DEPENDS}
+
+eelf32visium.c: $(srcdir)/emulparams/elf32visium.sh \
+ $(ELF_DEPS) $(srcdir)/scripttempl/visium.sc ${GEN_DEPENDS}
+
+eelf32xc16x.c: $(srcdir)/emulparams/elf32xc16x.sh \
+ $(ELF_DEPS) $(srcdir)/emultempl/needrelax.em \
+ $(srcdir)/scripttempl/elf.sc ${GEN_DEPENDS}
+
+eelf32xc16xl.c: $(srcdir)/emulparams/elf32xc16xl.sh \
+ $(ELF_DEPS) $(srcdir)/emultempl/needrelax.em \
+ $(srcdir)/scripttempl/elf.sc ${GEN_DEPENDS}
+
+eelf32xc16xs.c: $(srcdir)/emulparams/elf32xc16xs.sh \
+ $(ELF_DEPS) $(srcdir)/emultempl/needrelax.em \
+ $(srcdir)/scripttempl/elf.sc ${GEN_DEPENDS}
+
+eelf32xstormy16.c: $(srcdir)/emulparams/elf32xstormy16.sh \
+ $(ELF_DEPS) $(srcdir)/emultempl/needrelax.em \
+ $(srcdir)/scripttempl/xstormy16.sc ${GEN_DEPENDS}
+
+eelf32xtensa.c: $(srcdir)/emulparams/elf32xtensa.sh $(ELF_DEPS) \
+ $(srcdir)/emultempl/xtensaelf.em $(INCDIR)/xtensa-config.h \
+ $(BFDDIR)/elf-bfd.h $(INCDIR)/elf/xtensa.h \
+ $(srcdir)/scripttempl/elfxtensa.sc ${GEN_DEPENDS}
+
+eelf_i386.c: $(srcdir)/emulparams/elf_i386.sh \
+ $(ELF_X86_DEPS) $(srcdir)/scripttempl/elf.sc ${GEN_DEPENDS}
+
+eelf_i386_be.c: $(srcdir)/emulparams/elf_i386_be.sh \
+ $(ELF_DEPS) $(srcdir)/scripttempl/elf.sc ${GEN_DEPENDS}
+
+eelf_i386_chaos.c: $(srcdir)/emulparams/elf_i386_chaos.sh \
+ $(ELF_X86_DEPS) $(srcdir)/scripttempl/elf_chaos.sc ${GEN_DEPENDS}
+
+eelf_i386_fbsd.c: $(srcdir)/emulparams/elf_i386_fbsd.sh \
+ $(srcdir)/emulparams/elf_i386.sh \
+ $(ELF_X86_DEPS) $(srcdir)/scripttempl/elf.sc ${GEN_DEPENDS}
+
+eelf_i386_ldso.c: $(srcdir)/emulparams/elf_i386_ldso.sh \
+ $(ELF_X86_DEPS) $(srcdir)/scripttempl/elf.sc ${GEN_DEPENDS}
+
+eelf_i386_nacl.c: $(srcdir)/emulparams/elf_i386_nacl.sh \
+ $(srcdir)/emulparams/elf_i386.sh \
+ $(srcdir)/emulparams/elf_nacl.sh \
+ $(ELF_X86_DEPS) $(srcdir)/scripttempl/elf.sc ${GEN_DEPENDS}
+
+eelf_i386_sol2.c: $(srcdir)/emulparams/elf_i386_sol2.sh \
+ $(srcdir)/emulparams/solaris2.sh \
+ $(srcdir)/emultempl/solaris2.em \
+ $(ELF_X86_DEPS) $(srcdir)/scripttempl/elf.sc ${GEN_DEPENDS}
+
+eelf_i386_vxworks.c: $(srcdir)/emulparams/elf_i386_vxworks.sh \
+ $(srcdir)/emulparams/vxworks.sh $(srcdir)/emultempl/vxworks.em \
+ $(ELF_DEPS) $(srcdir)/scripttempl/elf.sc ${GEN_DEPENDS}
+
+eelf_iamcu.c: $(srcdir)/emulparams/elf_iamcu.sh \
+ $(ELF_X86_DEPS) $(srcdir)/scripttempl/elf.sc ${GEN_DEPENDS}
+
+eelf_s390.c: $(srcdir)/emulparams/elf_s390.sh \
+ $(ELF_DEPS) $(srcdir)/scripttempl/elf.sc ${GEN_DEPENDS}
+
+eh8300elf.c: $(srcdir)/emulparams/h8300elf.sh \
+ $(ELF_DEPS) $(srcdir)/scripttempl/elf.sc ${GEN_DEPENDS}
+
+eh8300elf_linux.c: $(srcdir)/emulparams/h8300elf_linux.sh \
+ $(ELF_DEPS) $(srcdir)/scripttempl/elf.sc ${GEN_DEPENDS}
+
+eh8300helf.c: $(srcdir)/emulparams/h8300helf.sh \
+ $(srcdir)/emulparams/h8300elf.sh \
+ $(ELF_DEPS) $(srcdir)/scripttempl/elf.sc ${GEN_DEPENDS}
+
+eh8300helf_linux.c: $(srcdir)/emulparams/h8300helf_linux.sh \
+ $(srcdir)/emulparams/h8300elf_linux.sh \
+ $(ELF_DEPS) $(srcdir)/scripttempl/elf.sc ${GEN_DEPENDS}
+
+eh8300hnelf.c: $(srcdir)/emulparams/h8300hnelf.sh \
+ $(srcdir)/emulparams/h8300elf.sh \
+ $(ELF_DEPS) $(srcdir)/scripttempl/elf.sc ${GEN_DEPENDS}
+
+eh8300self.c: $(srcdir)/emulparams/h8300self.sh \
+ $(srcdir)/emulparams/h8300elf.sh \
+ $(ELF_DEPS) $(srcdir)/scripttempl/elf.sc ${GEN_DEPENDS}
+
+eh8300self_linux.c: $(srcdir)/emulparams/h8300self_linux.sh \
+ $(srcdir)/emulparams/h8300elf.sh \
+ $(ELF_DEPS) $(srcdir)/scripttempl/elf.sc ${GEN_DEPENDS}
+
+eh8300snelf.c: $(srcdir)/emulparams/h8300snelf.sh \
+ $(srcdir)/emulparams/h8300elf.sh \
+ $(ELF_DEPS) $(srcdir)/scripttempl/elf.sc ${GEN_DEPENDS}
+
+eh8300sxelf.c: $(srcdir)/emulparams/h8300sxelf.sh \
+ $(srcdir)/emulparams/h8300elf.sh \
+ $(ELF_DEPS) $(srcdir)/scripttempl/elf.sc ${GEN_DEPENDS}
+
+eh8300sxelf_linux.c: $(srcdir)/emulparams/h8300sxelf_linux.sh \
+ $(srcdir)/emulparams/h8300elf.sh \
+ $(ELF_DEPS) $(srcdir)/scripttempl/elf.sc ${GEN_DEPENDS}
+
+eh8300sxnelf.c: $(srcdir)/emulparams/h8300sxnelf.sh \
+ $(srcdir)/emulparams/h8300elf.sh \
+ $(ELF_DEPS) $(srcdir)/scripttempl/elf.sc ${GEN_DEPENDS}
+
+ehppaelf.c: $(srcdir)/emulparams/hppaelf.sh \
+ $(ELF_DEPS) $(srcdir)/emultempl/hppaelf.em \
+ $(srcdir)/scripttempl/hppaelf.sc ${GEN_DEPENDS}
+
+ehppalinux.c: $(srcdir)/emulparams/hppalinux.sh \
+ $(ELF_DEPS) $(srcdir)/emultempl/hppaelf.em \
+ $(srcdir)/scripttempl/elf.sc ${GEN_DEPENDS}
+
+ehppanbsd.c: $(srcdir)/emulparams/hppanbsd.sh \
+ $(srcdir)/emulparams/hppaelf.sh \
+ $(ELF_DEPS) $(srcdir)/emultempl/hppaelf.em \
+ $(srcdir)/scripttempl/elf.sc ${GEN_DEPENDS}
+
+ehppaobsd.c: $(srcdir)/emulparams/hppaobsd.sh \
+ $(ELF_DEPS) $(srcdir)/emultempl/hppaelf.em \
+ $(srcdir)/scripttempl/elf.sc ${GEN_DEPENDS}
+
+ei386beos.c: $(srcdir)/emulparams/i386beos.sh \
+ $(srcdir)/emultempl/beos.em $(srcdir)/scripttempl/i386beos.sc ${GEN_DEPENDS}
+
+ei386bsd.c: $(srcdir)/emulparams/i386bsd.sh \
+ $(srcdir)/emultempl/generic.em $(srcdir)/scripttempl/aout.sc ${GEN_DEPENDS}
+
+ei386go32.c: $(srcdir)/emulparams/i386go32.sh \
+ $(srcdir)/emultempl/generic.em $(srcdir)/scripttempl/i386go32.sc ${GEN_DEPENDS}
+
+ei386lynx.c: $(srcdir)/emulparams/i386lynx.sh \
+ $(ELF_DEPS) $(srcdir)/scripttempl/elf.sc ${GEN_DEPENDS}
+
+ei386moss.c: $(srcdir)/emulparams/i386moss.sh \
+ $(ELF_DEPS) $(srcdir)/scripttempl/elf.sc ${GEN_DEPENDS}
+
+ei386msdos.c: $(srcdir)/emulparams/i386msdos.sh \
+ $(srcdir)/emultempl/generic.em $(srcdir)/scripttempl/i386msdos.sc ${GEN_DEPENDS}
+
+ei386nto.c: $(srcdir)/emulparams/i386nto.sh \
+ $(ELF_DEPS) $(srcdir)/scripttempl/elf.sc ${GEN_DEPENDS}
+
+ei386pe.c: $(srcdir)/emulparams/i386pe.sh \
+ $(srcdir)/emultempl/pe.em $(srcdir)/scripttempl/pe.sc ${GEN_DEPENDS}
+
+ei386pe_posix.c: $(srcdir)/emulparams/i386pe_posix.sh \
+ $(srcdir)/emultempl/pe.em $(srcdir)/scripttempl/pe.sc ${GEN_DEPENDS}
+
+ei386pep.c: $(srcdir)/emulparams/i386pep.sh \
+ $(srcdir)/emultempl/pep.em $(srcdir)/scripttempl/pep.sc ${GEN_DEPENDS}
+
+em32relf.c: $(srcdir)/emulparams/m32relf.sh \
+ $(ELF_DEPS) $(srcdir)/scripttempl/elf.sc ${GEN_DEPENDS}
+
+em32relf_linux.c: $(srcdir)/emulparams/m32relf_linux.sh \
+ $(ELF_DEPS) $(srcdir)/scripttempl/elf.sc ${GEN_DEPENDS}
+
+em32rlelf.c: $(srcdir)/emulparams/m32rlelf.sh \
+ $(ELF_DEPS) $(srcdir)/scripttempl/elf.sc ${GEN_DEPENDS}
+
+em32rlelf_linux.c: $(srcdir)/emulparams/m32rlelf_linux.sh \
+ $(ELF_DEPS) $(srcdir)/scripttempl/elf.sc ${GEN_DEPENDS}
+
+em68hc11elf.c: $(srcdir)/emulparams/m68hc11elf.sh \
+ $(srcdir)/emultempl/m68hc1xelf.em $(ELF_DEPS) \
+ $(srcdir)/scripttempl/elfm68hc11.sc ${GEN_DEPENDS}
+
+em68hc11elfb.c: $(srcdir)/emulparams/m68hc11elfb.sh \
+ $(srcdir)/emultempl/m68hc1xelf.em $(ELF_DEPS) \
+ $(srcdir)/scripttempl/elfm68hc11.sc ${GEN_DEPENDS}
+
+em68hc12elf.c: $(srcdir)/emulparams/m68hc12elf.sh \
+ $(srcdir)/emultempl/m68hc1xelf.em $(ELF_DEPS) \
+ $(srcdir)/scripttempl/elfm68hc12.sc ${GEN_DEPENDS}
+
+em68hc12elfb.c: $(srcdir)/emulparams/m68hc12elfb.sh \
+ $(srcdir)/emultempl/m68hc1xelf.em $(ELF_DEPS) \
+ $(srcdir)/scripttempl/elfm68hc12.sc ${GEN_DEPENDS}
+
+em68kelf.c: $(srcdir)/emulparams/m68kelf.sh \
+ $(ELF_DEPS) $(srcdir)/emultempl/m68kelf.em \
+ $(srcdir)/scripttempl/elf.sc ${GEN_DEPENDS}
+
+em68kelfnbsd.c: $(srcdir)/emulparams/m68kelfnbsd.sh \
+ $(srcdir)/emulparams/m68kelf.sh \
+ $(ELF_DEPS) $(srcdir)/emultempl/m68kelf.em \
+ $(srcdir)/scripttempl/elf.sc ${GEN_DEPENDS}
+
+em9s12zelf.c: $(srcdir)/emulparams/m9s12zelf.sh \
+ $(ELF_DEPS) $(srcdir)/emultempl/generic.em \
+ $(srcdir)/scripttempl/elfm9s12z.sc ${GEN_DEPENDS}
+
+emcorepe.c: $(srcdir)/emulparams/mcorepe.sh \
+ $(srcdir)/emultempl/pe.em $(srcdir)/scripttempl/pe.sc ${GEN_DEPENDS}
+
+emn10200.c: $(srcdir)/emulparams/mn10200.sh \
+ $(ELF_GEN_DEPS) $(srcdir)/scripttempl/elf.sc ${GEN_DEPENDS}
+
+emn10300.c: $(srcdir)/emulparams/mn10300.sh \
+ $(srcdir)/emulparams/mn10200.sh \
+ $(ELF_DEPS) $(srcdir)/scripttempl/elf.sc ${GEN_DEPENDS}
+
+emsp430elf.c: $(srcdir)/emulparams/msp430elf.sh \
+ $(ELF_DEPS) $(srcdir)/emultempl/msp430.em \
+ $(ELF_GEN_DEPS) $(srcdir)/scripttempl/elf32msp430.sc ${GEN_DEPENDS}
+
+emsp430X.c: $(srcdir)/emulparams/msp430elf.sh $(srcdir)/emulparams/msp430X.sh \
+ $(ELF_DEPS) $(srcdir)/emultempl/msp430.em \
+ $(ELF_GEN_DEPS) $(srcdir)/scripttempl/elf32msp430.sc ${GEN_DEPENDS}
+
+ends32elf.c: $(srcdir)/emulparams/nds32elf.sh \
+ $(ELF_DEPS) $(srcdir)/emultempl/nds32elf.em \
+ $(srcdir)/scripttempl/nds32elf.sc ${GEN_DEPENDS}
+
+ends32elf16m.c: $(srcdir)/emulparams/nds32elf16m.sh \
+ $(ELF_DEPS) $(srcdir)/emultempl/nds32elf.em \
+ $(srcdir)/scripttempl/nds32elf.sc ${GEN_DEPENDS}
+
+ends32belf.c: $(srcdir)/emulparams/nds32belf.sh \
+ $(ELF_DEPS) $(srcdir)/emultempl/nds32elf.em \
+ $(srcdir)/scripttempl/nds32elf.sc ${GEN_DEPENDS}
+
+ends32belf16m.c: $(srcdir)/emulparams/nds32belf16m.sh \
+ $(ELF_DEPS) $(srcdir)/emultempl/nds32elf.em \
+ $(srcdir)/scripttempl/nds32elf.sc ${GEN_DEPENDS}
+
+ends32elf_linux.c: $(srcdir)/emulparams/nds32elf_linux.sh \
+ $(ELF_DEPS) $(srcdir)/emultempl/nds32elf.em \
+ $(srcdir)/scripttempl/nds32elf.sc ${GEN_DEPENDS}
+
+ends32belf_linux.c: $(srcdir)/emulparams/nds32belf_linux.sh \
+ $(ELF_DEPS) $(srcdir)/emultempl/nds32elf.em \
+ $(srcdir)/scripttempl/nds32elf.sc ${GEN_DEPENDS}
+
+enios2elf.c: $(srcdir)/emulparams/nios2elf.sh \
+ $(srcdir)/emultempl/elf32.em $(srcdir)/emultempl/nios2elf.em \
+ $(srcdir)/scripttempl/elf.sc ${GEN_DEPENDS}
+
+enios2linux.c: $(srcdir)/emulparams/nios2linux.sh \
+ $(srcdir)/emultempl/elf32.em $(srcdir)/emultempl/nios2elf.em \
+ $(srcdir)/scripttempl/elf.sc ${GEN_DEPENDS}
+
+ens32knbsd.c: $(srcdir)/emulparams/ns32knbsd.sh \
+ $(srcdir)/emultempl/generic.em $(srcdir)/emultempl/netbsd.em \
+ $(srcdir)/scripttempl/aout.sc ${GEN_DEPENDS}
+
+eaarch64elf.c: $(srcdir)/emulparams/aarch64elf.sh \
+ $(ELF_DEPS) $(srcdir)/emultempl/aarch64elf.em \
+ $(srcdir)/scripttempl/elf.sc ${GEN_DEPENDS}
+
+eaarch64elf32.c: $(srcdir)/emulparams/aarch64elf32.sh \
+ $(ELF_DEPS) $(srcdir)/emultempl/aarch64elf.em \
+ $(srcdir)/scripttempl/elf.sc ${GEN_DEPENDS}
+
+eaarch64elfb.c: $(srcdir)/emulparams/aarch64elfb.sh $(srcdir)/emulparams/aarch64elf.sh \
+ $(ELF_DEPS) $(srcdir)/emultempl/aarch64elf.em \
+ $(srcdir)/scripttempl/elf.sc ${GEN_DEPENDS}
+
+eaarch64elf32b.c: $(srcdir)/emulparams/aarch64elf32b.sh $(srcdir)/emulparams/aarch64elf32.sh \
+ $(ELF_DEPS) $(srcdir)/emultempl/aarch64elf.em \
+ $(srcdir)/scripttempl/elf.sc ${GEN_DEPENDS}
+
+eaarch64cloudabi.c: $(srcdir)/emulparams/aarch64cloudabi.sh \
+ $(ELF_DEPS) $(srcdir)/emultempl/aarch64elf.em \
+ $(srcdir)/scripttempl/elf.sc ${GEN_DEPENDS}
+
+eaarch64cloudabib.c: $(srcdir)/emulparams/aarch64cloudabib.sh $(srcdir)/emulparams/aarch64cloudabi.sh \
+ $(ELF_DEPS) $(srcdir)/emultempl/aarch64elf.em \
+ $(srcdir)/scripttempl/elf.sc ${GEN_DEPENDS}
+
+eaarch64fbsd.c: $(srcdir)/emulparams/aarch64fbsd.sh \
+ $(ELF_DEPS) $(srcdir)/emultempl/aarch64elf.em \
+ $(srcdir)/scripttempl/elf.sc ${GEN_DEPENDS}
+
+eaarch64fbsdb.c: $(srcdir)/emulparams/aarch64fbsdb.sh $(srcdir)/emulparams/aarch64fbsd.sh \
+ $(ELF_DEPS) $(srcdir)/emultempl/aarch64elf.em \
+ $(srcdir)/scripttempl/elf.sc ${GEN_DEPENDS}
+
+eaarch64linux.c: $(srcdir)/emulparams/aarch64linux.sh \
+ $(ELF_DEPS) $(srcdir)/emultempl/aarch64elf.em \
+ $(srcdir)/scripttempl/elf.sc ${GEN_DEPENDS}
+
+eaarch64linuxb.c: $(srcdir)/emulparams/aarch64linuxb.sh $(srcdir)/emulparams/aarch64linux.sh \
+ $(ELF_DEPS) $(srcdir)/emultempl/aarch64elf.em \
+ $(srcdir)/scripttempl/elf.sc ${GEN_DEPENDS}
+
+eaarch64linux32.c: $(srcdir)/emulparams/aarch64linux32.sh \
+ $(ELF_DEPS) $(srcdir)/emultempl/aarch64elf.em \
+ $(srcdir)/scripttempl/elf.sc ${GEN_DEPENDS}
+
+eaarch64linux32b.c: $(srcdir)/emulparams/aarch64linux32b.sh $(srcdir)/emulparams/aarch64linux32.sh \
+ $(ELF_DEPS) $(srcdir)/emultempl/aarch64elf.em \
+ $(srcdir)/scripttempl/elf.sc ${GEN_DEPENDS}
+
+epc532macha.c: $(srcdir)/emulparams/pc532macha.sh \
+ $(srcdir)/emultempl/generic.em $(srcdir)/scripttempl/aout.sc ${GEN_DEPENDS}
+
+epdp11.c: $(srcdir)/emulparams/pdp11.sh \
+ $(srcdir)/emultempl/generic.em $(srcdir)/scripttempl/aout.sc ${GEN_DEPENDS}
+
+epjelf.c: $(srcdir)/emulparams/pjelf.sh \
+ $(ELF_GEN_DEPS) $(srcdir)/scripttempl/elf.sc ${GEN_DEPENDS}
+
+epjlelf.c: $(srcdir)/emulparams/pjlelf.sh $(srcdir)/emulparams/pjelf.sh \
+ $(ELF_GEN_DEPS) $(srcdir)/scripttempl/elf.sc ${GEN_DEPENDS}
+
+eppclynx.c: $(srcdir)/emulparams/ppclynx.sh \
+ $(ELF_DEPS) $(srcdir)/scripttempl/elf.sc ${GEN_DEPENDS}
+
+eppcmacos.c: $(srcdir)/emulparams/ppcmacos.sh \
+ $(srcdir)/emultempl/aix.em $(srcdir)/scripttempl/aix.sc ${GEN_DEPENDS}
+
+eppcpe.c: $(srcdir)/emulparams/ppcpe.sh \
+ $(srcdir)/emultempl/pe.em $(srcdir)/scripttempl/ppcpe.sc ${GEN_DEPENDS}
+
+epruelf.c: $(srcdir)/emulparams/pruelf.sh \
+ $(ELF_DEPS) $(srcdir)/scripttempl/pru.sc \
+ $(srcdir)/emultempl/pruelf.em ${GEN_DEPENDS}
+
+escore3_elf.c: $(srcdir)/emulparams/score3_elf.sh \
+ $(ELF_DEPS) $(srcdir)/emultempl/scoreelf.em \
+ $(srcdir)/scripttempl/elf.sc ${GEN_DEPENDS}
+
+escore7_elf.c: $(srcdir)/emulparams/score3_elf.sh \
+ $(srcdir)/emulparams/score7_elf.sh \
+ $(ELF_DEPS) $(srcdir)/emultempl/scoreelf.em \
+ $(srcdir)/scripttempl/elf.sc ${GEN_DEPENDS}
+
+esh.c: $(srcdir)/emulparams/sh.sh \
+ $(srcdir)/emultempl/generic.em $(srcdir)/scripttempl/sh.sc ${GEN_DEPENDS}
+
+eshelf.c: $(srcdir)/emulparams/shelf.sh \
+ $(ELF_DEPS) $(srcdir)/scripttempl/elf.sc ${GEN_DEPENDS}
+
+eshelf_fd.c: $(srcdir)/emulparams/shelf_fd.sh \
+ $(ELF_DEPS) $(srcdir)/scripttempl/elf.sc ${GEN_DEPENDS}
+
+eshelf_linux.c: $(srcdir)/emulparams/shelf_linux.sh \
+ $(srcdir)/emulparams/shlelf_linux.sh \
+ $(ELF_DEPS) $(srcdir)/scripttempl/elf.sc ${GEN_DEPENDS}
+
+eshelf_nbsd.c: $(srcdir)/emulparams/shelf_nbsd.sh \
+ $(srcdir)/emulparams/shelf.sh \
+ $(ELF_DEPS) $(srcdir)/scripttempl/elf.sc ${GEN_DEPENDS}
+
+eshelf_nto.c: $(srcdir)/emulparams/shelf_nto.sh \
+ $(ELF_DEPS) $(srcdir)/scripttempl/elf.sc ${GEN_DEPENDS}
+
+eshelf_uclinux.c: $(srcdir)/emulparams/shelf_uclinux.sh \
+ $(ELF_DEPS) $(srcdir)/scripttempl/elf.sc ${GEN_DEPENDS}
+
+eshelf_vxworks.c: $(srcdir)/emulparams/shelf_vxworks.sh \
+ $(srcdir)/emulparams/vxworks.sh $(ELF_DEPS) $(srcdir)/scripttempl/elf.sc \
+ $(srcdir)/emultempl/vxworks.em ${GEN_DEPENDS}
+
+eshl.c: $(srcdir)/emulparams/shl.sh \
+ $(srcdir)/emulparams/sh.sh \
+ $(srcdir)/emultempl/generic.em $(srcdir)/scripttempl/sh.sc ${GEN_DEPENDS}
+
+eshlelf.c: $(srcdir)/emulparams/shlelf.sh \
+ $(srcdir)/emulparams/shelf.sh \
+ $(ELF_DEPS) $(srcdir)/scripttempl/elf.sc ${GEN_DEPENDS}
+
+eshlelf_fd.c: $(srcdir)/emulparams/shlelf_fd.sh \
+ $(ELF_DEPS) $(srcdir)/scripttempl/elf.sc ${GEN_DEPENDS}
+
+eshlelf_linux.c: $(srcdir)/emulparams/shlelf_linux.sh \
+ $(ELF_DEPS) $(srcdir)/scripttempl/elf.sc ${GEN_DEPENDS}
+
+eshlelf_nbsd.c: $(srcdir)/emulparams/shlelf_nbsd.sh \
+ $(srcdir)/emulparams/shelf_nbsd.sh \
+ $(srcdir)/emulparams/shelf.sh \
+ $(ELF_DEPS) $(srcdir)/scripttempl/elf.sc ${GEN_DEPENDS}
+
+eshlelf_nto.c: $(srcdir)/emulparams/shlelf_nto.sh \
+ $(ELF_DEPS) $(srcdir)/scripttempl/elf.sc ${GEN_DEPENDS}
+
+eshlelf_vxworks.c: $(srcdir)/emulparams/shlelf_vxworks.sh \
+ $(srcdir)/emulparams/shelf_vxworks.sh $(srcdir)/emulparams/vxworks.sh \
+ $(ELF_DEPS) $(srcdir)/scripttempl/elf.sc $(srcdir)/emultempl/vxworks.em \
+ ${GEN_DEPENDS}
+
+eshpe.c: $(srcdir)/emulparams/shpe.sh \
+ $(srcdir)/emultempl/pe.em $(srcdir)/scripttempl/pe.sc ${GEN_DEPENDS}
+
+etic30aout.c: $(srcdir)/emulparams/tic30aout.sh \
+ $(srcdir)/emultempl/generic.em $(srcdir)/scripttempl/tic30aout.sc ${GEN_DEPENDS}
+
+etic30coff.c: $(srcdir)/emulparams/tic30coff.sh \
+ $(srcdir)/emultempl/generic.em $(srcdir)/scripttempl/tic30coff.sc ${GEN_DEPENDS}
+
+etic3xcoff.c: $(srcdir)/emulparams/tic3xcoff.sh \
+ $(srcdir)/emultempl/ticoff.em $(srcdir)/scripttempl/tic4xcoff.sc ${GEN_DEPENDS}
+
+etic3xcoff_onchip.c: $(srcdir)/emulparams/tic3xcoff_onchip.sh \
+ $(srcdir)/emultempl/ticoff.em $(srcdir)/scripttempl/tic4xcoff.sc ${GEN_DEPENDS}
+
+etic4xcoff.c: $(srcdir)/emulparams/tic4xcoff.sh \
+ $(srcdir)/emultempl/ticoff.em $(srcdir)/scripttempl/tic4xcoff.sc ${GEN_DEPENDS}
+
+etic54xcoff.c: $(srcdir)/emulparams/tic54xcoff.sh \
+ $(srcdir)/emultempl/ticoff.em $(srcdir)/scripttempl/tic54xcoff.sc ${GEN_DEPENDS}
+
+etic80coff.c: $(srcdir)/emulparams/tic80coff.sh \
+ $(srcdir)/emultempl/generic.em $(srcdir)/scripttempl/tic80coff.sc ${GEN_DEPENDS}
+
+ev850.c: $(srcdir)/emulparams/v850.sh $(srcdir)/emultempl/v850elf.em \
+ $(ELF_DEPS) $(srcdir)/scripttempl/v850.sc ${GEN_DEPENDS}
+
+ev850_rh850.c: $(srcdir)/emulparams/v850_rh850.sh $(srcdir)/emultempl/v850elf.em \
+ $(ELF_DEPS) $(srcdir)/scripttempl/v850_rh850.sc ${GEN_DEPENDS}
+
+evanilla.c: $(srcdir)/emulparams/vanilla.sh \
+ $(srcdir)/emultempl/vanilla.em $(srcdir)/scripttempl/vanilla.sc ${GEN_DEPENDS}
+
+evaxnbsd.c: $(srcdir)/emulparams/vaxnbsd.sh \
+ $(srcdir)/emultempl/generic.em $(srcdir)/scripttempl/aout.sc ${GEN_DEPENDS}
+
+exgateelf.c: $(srcdir)/emulparams/xgateelf.sh \
+ $(srcdir)/emultempl/generic.em $(ELF_DEPS) \
+ $(srcdir)/scripttempl/elfxgate.sc ${GEN_DEPENDS}
+
+ez80.c: $(srcdir)/emulparams/z80.sh \
+ $(srcdir)/emultempl/generic.em $(srcdir)/emultempl/z80.em \
+ $(srcdir)/scripttempl/z80.sc ${GEN_DEPENDS}
+
+ez8001.c: $(srcdir)/emulparams/z8001.sh \
+ $(srcdir)/emultempl/generic.em $(srcdir)/scripttempl/z8000.sc ${GEN_DEPENDS}
+
+ez8002.c: $(srcdir)/emulparams/z8002.sh \
+ $(srcdir)/emultempl/generic.em $(srcdir)/scripttempl/z8000.sc ${GEN_DEPENDS}
+
+eelf32_x86_64.c: $(srcdir)/emulparams/elf32_x86_64.sh \
+ $(ELF_X86_DEPS) $(srcdir)/scripttempl/elf.sc ${GEN_DEPENDS}
+
+eelf32_x86_64_nacl.c: $(srcdir)/emulparams/elf32_x86_64_nacl.sh \
+ $(srcdir)/emulparams/elf32_x86_64.sh \
+ $(srcdir)/emulparams/elf_nacl.sh \
+ $(ELF_X86_DEPS) $(srcdir)/scripttempl/elf.sc ${GEN_DEPENDS}
+
+eelf64_aix.c: $(srcdir)/emulparams/elf64_aix.sh \
+ $(ELF_DEPS) $(srcdir)/scripttempl/elf.sc ${GEN_DEPENDS}
+
+eelf64_ia64.c: $(srcdir)/emulparams/elf64_ia64.sh \
+ $(ELF_DEPS) $(srcdir)/emultempl/ia64elf.em \
+ $(srcdir)/emultempl/needrelax.em \
+ $(srcdir)/scripttempl/elf.sc ${GEN_DEPENDS}
+
+eelf64_ia64_fbsd.c: $(srcdir)/emulparams/elf64_ia64_fbsd.sh \
+ $(srcdir)/emulparams/elf64_ia64.sh \
+ $(ELF_DEPS) $(srcdir)/emultempl/ia64elf.em \
+ $(srcdir)/emultempl/needrelax.em \
+ $(srcdir)/scripttempl/elf.sc ${GEN_DEPENDS}
+
+eelf64_ia64_vms.c: $(srcdir)/emulparams/elf64_ia64_vms.sh \
+ $(srcdir)/emultempl/generic.em $(srcdir)/emultempl/vms.em \
+ $(srcdir)/emultempl/needrelax.em \
+ $(srcdir)/scripttempl/ia64vms.sc ${GEN_DEPENDS}
+
+eelf64_s390.c: $(srcdir)/emulparams/elf64_s390.sh \
+ $(srcdir)/emultempl/s390.em \
+ $(ELF_DEPS) $(srcdir)/scripttempl/elf.sc ${GEN_DEPENDS}
+
+eelf64_sparc.c: $(srcdir)/emulparams/elf64_sparc.sh \
+ $(ELF_DEPS) $(srcdir)/scripttempl/elf.sc ${GEN_DEPENDS}
+
+eelf64_sparc_fbsd.c: $(srcdir)/emulparams/elf64_sparc_fbsd.sh \
+ $(srcdir)/emulparams/elf64_sparc.sh \
+ $(ELF_DEPS) $(srcdir)/scripttempl/elf.sc ${GEN_DEPENDS}
+
+eelf64_sparc_sol2.c: $(srcdir)/emulparams/elf64_sparc_sol2.sh \
+ $(srcdir)/emulparams/elf64_sparc.sh \
+ $(srcdir)/emulparams/solaris2.sh \
+ $(srcdir)/emultempl/solaris2.em \
+ $(ELF_DEPS) $(srcdir)/scripttempl/elf.sc ${GEN_DEPENDS}
+
+eelf64alpha.c: $(srcdir)/emulparams/elf64alpha.sh \
+ $(ELF_DEPS) $(srcdir)/emultempl/alphaelf.em \
+ $(srcdir)/scripttempl/elf.sc ${GEN_DEPENDS}
+
+eelf64alpha_fbsd.c: $(srcdir)/emulparams/elf64alpha_fbsd.sh \
+ $(srcdir)/emulparams/elf64alpha.sh \
+ $(ELF_DEPS) $(srcdir)/emultempl/alphaelf.em \
+ $(srcdir)/scripttempl/elf.sc ${GEN_DEPENDS}
+
+eelf64alpha_nbsd.c: $(srcdir)/emulparams/elf64alpha_nbsd.sh \
+ $(srcdir)/emulparams/elf64alpha.sh \
+ $(ELF_DEPS) $(srcdir)/emultempl/alphaelf.em \
+ $(srcdir)/scripttempl/elf.sc ${GEN_DEPENDS}
+
+eelf64bmip.c: $(srcdir)/emulparams/elf64bmip.sh \
+ $(srcdir)/emulparams/elf64bmip-defs.sh \
+ $(srcdir)/emulparams/elf32bmipn32-defs.sh $(ELF_DEPS) \
+ $(srcdir)/emultempl/irix.em $(srcdir)/emultempl/mipself.em \
+ $(srcdir)/scripttempl/elf.sc ${GEN_DEPENDS}
+
+eelf64btsmip.c: $(srcdir)/emulparams/elf64btsmip.sh \
+ $(srcdir)/emulparams/elf64bmip-defs.sh \
+ $(srcdir)/emulparams/elf32bmipn32-defs.sh $(ELF_DEPS) \
+ $(srcdir)/emultempl/mipself.em $(srcdir)/scripttempl/elf.sc ${GEN_DEPENDS}
+
+eelf64btsmip_fbsd.c: $(srcdir)/emulparams/elf64btsmip_fbsd.sh \
+ $(srcdir)/emulparams/elf64bmip-defs.sh \
+ $(srcdir)/emulparams/elf32bmipn32-defs.sh $(ELF_DEPS) \
+ $(srcdir)/emultempl/mipself.em $(srcdir)/scripttempl/elf.sc ${GEN_DEPENDS}
+
+eelf64hppa.c: $(srcdir)/emulparams/elf64hppa.sh \
+ $(ELF_DEPS) $(srcdir)/scripttempl/elf64hppa.sc ${GEN_DEPENDS}
+
+eelf64lppc.c: $(srcdir)/emulparams/elf64lppc.sh \
+ $(srcdir)/emulparams/elf64ppc.sh \
+ $(srcdir)/emulparams/dynamic_undefined_weak.sh \
+ $(srcdir)/emultempl/ppc64elf.em ldemul-list.h \
+ $(ELF_DEPS) $(srcdir)/scripttempl/elf.sc ${GEN_DEPENDS}
+
+eelf64lriscv.c: $(srcdir)/emulparams/elf64lriscv.sh \
+ $(srcdir)/emulparams/elf64lriscv-defs.sh \
+ $(srcdir)/emulparams/elf32lriscv-defs.sh $(ELF_DEPS) \
+ $(srcdir)/emultempl/riscvelf.em $(srcdir)/scripttempl/elf.sc \
+ ${GEN_DEPENDS}
+
+eelf64lriscv_lp64f.c: $(srcdir)/emulparams/elf64lriscv_lp64f.sh \
+ $(srcdir)/emulparams/elf64lriscv-defs.sh \
+ $(srcdir)/emulparams/elf32lriscv-defs.sh $(ELF_DEPS) \
+ $(srcdir)/emultempl/riscvelf.em $(srcdir)/scripttempl/elf.sc \
+ ${GEN_DEPENDS}
+
+eelf64lriscv_lp64.c: $(srcdir)/emulparams/elf64lriscv_lp64.sh \
+ $(srcdir)/emulparams/elf64lriscv-defs.sh \
+ $(srcdir)/emulparams/elf32lriscv-defs.sh $(ELF_DEPS) \
+ $(srcdir)/emultempl/riscvelf.em $(srcdir)/scripttempl/elf.sc \
+ ${GEN_DEPENDS}
+
+eelf64ltsmip.c: $(srcdir)/emulparams/elf64ltsmip.sh \
+ $(srcdir)/emulparams/elf64btsmip.sh $(srcdir)/emulparams/elf64bmip-defs.sh \
+ $(srcdir)/emulparams/elf32bmipn32-defs.sh $(ELF_DEPS) \
+ $(srcdir)/emultempl/mipself.em $(srcdir)/scripttempl/elf.sc ${GEN_DEPENDS}
+
+eelf64ltsmip_fbsd.c: $(srcdir)/emulparams/elf64ltsmip_fbsd.sh \
+ $(srcdir)/emulparams/elf64btsmip_fbsd.sh $(srcdir)/emulparams/elf64bmip-defs.sh \
+ $(srcdir)/emulparams/elf32bmipn32-defs.sh $(ELF_DEPS) \
+ $(srcdir)/emultempl/mipself.em $(srcdir)/scripttempl/elf.sc ${GEN_DEPENDS}
+
+eelf64mmix.c: $(srcdir)/emulparams/elf64mmix.sh \
+ $(ELF_DEPS) $(srcdir)/emultempl/mmix-elfnmmo.em \
+ $(srcdir)/emultempl/mmixelf.em $(srcdir)/scripttempl/elf.sc ${GEN_DEPENDS}
+
+eelf64ppc.c: $(srcdir)/emulparams/elf64ppc.sh \
+ $(srcdir)/emulparams/dynamic_undefined_weak.sh \
+ $(srcdir)/emultempl/ppc64elf.em ldemul-list.h \
+ $(ELF_DEPS) $(srcdir)/scripttempl/elf.sc ${GEN_DEPENDS}
+
+eelf64ppc_fbsd.c: $(srcdir)/emulparams/elf64ppc_fbsd.sh \
+ $(srcdir)/emulparams/dynamic_undefined_weak.sh \
+ $(srcdir)/emultempl/ppc64elf.em ldemul-list.h \
+ $(ELF_DEPS) $(srcdir)/scripttempl/elf.sc ${GEN_DEPENDS}
+
+eelf64rdos.c: $(srcdir)/emulparams/elf64rdos.sh \
+ $(ELF_DEPS) $(srcdir)/scripttempl/elf.sc ${GEN_DEPENDS}
+
+eelf64tilegx.c: $(srcdir)/emulparams/elf64tilegx.sh \
+ $(ELF_DEPS) $(srcdir)/emultempl/needrelax.em \
+ $(srcdir)/scripttempl/elf.sc ${GEN_DEPENDS}
+
+eelf64tilegx_be.c: $(srcdir)/emulparams/elf64tilegx_be.sh \
+ $(ELF_DEPS) $(srcdir)/emultempl/needrelax.em \
+ $(srcdir)/scripttempl/elf.sc ${GEN_DEPENDS}
+
+eelf_l1om.c: $(srcdir)/emulparams/elf_l1om.sh \
+ $(ELF_X86_DEPS) $(srcdir)/scripttempl/elf.sc ${GEN_DEPENDS}
+
+eelf_l1om_fbsd.c: $(srcdir)/emulparams/elf_l1om_fbsd.sh \
+ $(srcdir)/emulparams/elf_l1om.sh \
+ $(ELF_X86_DEPS) $(srcdir)/scripttempl/elf.sc ${GEN_DEPENDS}
+
+eelf_k1om.c: $(srcdir)/emulparams/elf_k1om.sh \
+ $(ELF_X86_DEPS) $(srcdir)/scripttempl/elf.sc ${GEN_DEPENDS}
+
+eelf_k1om_fbsd.c: $(srcdir)/emulparams/elf_k1om_fbsd.sh \
+ $(srcdir)/emulparams/elf_k1om.sh \
+ $(ELF_X86_DEPS) $(srcdir)/scripttempl/elf.sc ${GEN_DEPENDS}
+
+eelf_x86_64.c: $(srcdir)/emulparams/elf_x86_64.sh \
+ $(ELF_X86_DEPS) $(srcdir)/scripttempl/elf.sc ${GEN_DEPENDS}
+
+eelf_x86_64_cloudabi.c: $(srcdir)/emulparams/elf_x86_64_cloudabi.sh \
+ $(srcdir)/emulparams/elf_x86_64.sh \
+ $(ELF_X86_DEPS) $(srcdir)/scripttempl/elf.sc ${GEN_DEPENDS}
+
+eelf_x86_64_fbsd.c: $(srcdir)/emulparams/elf_x86_64_fbsd.sh \
+ $(srcdir)/emulparams/elf_x86_64.sh \
+ $(ELF_X86_DEPS) $(srcdir)/scripttempl/elf.sc ${GEN_DEPENDS}
+
+eelf_x86_64_nacl.c: $(srcdir)/emulparams/elf_x86_64_nacl.sh \
+ $(srcdir)/emulparams/elf_x86_64.sh \
+ $(srcdir)/emulparams/elf_nacl.sh \
+ $(ELF_X86_DEPS) $(srcdir)/scripttempl/elf.sc ${GEN_DEPENDS}
+
+eelf_x86_64_sol2.c: $(srcdir)/emulparams/elf_x86_64_sol2.sh \
+ $(srcdir)/emulparams/elf_x86_64.sh \
+ $(srcdir)/emulparams/solaris2.sh \
+ $(srcdir)/emultempl/solaris2.em \
+ $(ELF_X86_DEPS) $(srcdir)/scripttempl/elf.sc ${GEN_DEPENDS}
+
+ehppa64linux.c: $(srcdir)/emulparams/hppa64linux.sh \
+ $(ELF_DEPS) $(srcdir)/scripttempl/elf.sc ${GEN_DEPENDS}
+
+emmo.c: $(srcdir)/emulparams/mmo.sh $(srcdir)/emultempl/mmix-elfnmmo.em \
+ $(srcdir)/emultempl/generic.em $(srcdir)/emultempl/elf-generic.em \
+ $(srcdir)/emultempl/mmo.em $(srcdir)/scripttempl/DWARF.sc \
+ $(srcdir)/scripttempl/mmo.sc ${GEN_DEPENDS}
+
+
+# We need this for automake to use YLWRAP.
+EXTRA_ld_new_SOURCES = deffilep.y ldlex.l
+# Allow dependency tracking to work for these files, too.
+EXTRA_ld_new_SOURCES += pep-dll.c pe-dll.c
+
+ld_new_SOURCES = ldgram.y ldlex-wrapper.c lexsup.c ldlang.c mri.c ldctor.c ldmain.c \
+ ldwrite.c ldexp.c ldemul.c ldver.c ldmisc.c ldfile.c ldcref.c $(PLUGIN_C) \
+ ldbuildid.c
+ld_new_DEPENDENCIES = $(EMULATION_OFILES) $(EMUL_EXTRA_OFILES) \
+ $(BFDLIB) $(LIBIBERTY) $(LIBINTL_DEP)
+ld_new_LDADD = $(EMULATION_OFILES) $(EMUL_EXTRA_OFILES) $(BFDLIB) $(LIBIBERTY) $(LIBINTL)
+
+# Dependency tracking for the generated emulation files.
+EXTRA_ld_new_SOURCES += $(ALL_EMULATION_SOURCES) $(ALL_64_EMULATION_SOURCES)
+
+# This is the real libbfd.a created by libtool.
+TESTBFDLIB = @TESTBFDLIB@
+
+check-DEJAGNU: site.exp
+ srcroot=`cd $(srcdir) && pwd`; export srcroot; \
+ r=`pwd`; export r; \
+ LC_ALL=C; export LC_ALL; \
+ EXPECT=$(EXPECT); export EXPECT; \
+ runtest=$(RUNTEST); \
+ if $(SHELL) -c "$$runtest --version" > /dev/null 2>&1; then \
+ $$runtest --tool $(DEJATOOL) --srcdir $${srcroot}/testsuite \
+ CC="$(CC_FOR_TARGET)" CFLAGS="$(CFLAGS_FOR_TARGET)" \
+ CXX="$(CXX_FOR_TARGET)" CXXFLAGS="$(CXXFLAGS_FOR_TARGET)" \
+ CC_FOR_HOST="$(CC)" CFLAGS_FOR_HOST="$(CFLAGS)" \
+ OFILES="$(OFILES)" BFDLIB="$(TESTBFDLIB)" \
+ LIBIBERTY="$(LIBIBERTY) $(LIBINTL)" LIBS="$(LIBS)" \
+ DO_COMPARE="`echo '$(do_compare)' | sed -e 's,\\$$,,g'`" \
+ $(RUNTESTFLAGS); \
+ else echo "WARNING: could not find \`runtest'" 1>&2; :;\
+ fi
+
+#
+# Build a dummy plugin using libtool.
+#
+if ENABLE_PLUGINS
+noinst_LTLIBRARIES = libldtestplug.la libldtestplug2.la \
+ libldtestplug3.la libldtestplug4.la
+libldtestplug_la_SOURCES = testplug.c
+libldtestplug_la_CFLAGS= -g -O2
+libldtestplug_la_LDFLAGS = -no-undefined -rpath /nowhere
+libldtestplug2_la_SOURCES = testplug2.c
+libldtestplug2_la_CFLAGS= -g -O2
+libldtestplug2_la_LDFLAGS = -no-undefined -rpath /nowhere
+libldtestplug3_la_SOURCES = testplug3.c
+libldtestplug3_la_CFLAGS= -g -O2
+libldtestplug3_la_LDFLAGS = -no-undefined -rpath /nowhere
+libldtestplug4_la_SOURCES = testplug4.c
+libldtestplug4_la_CFLAGS= -g -O2
+libldtestplug4_la_LDFLAGS = -no-undefined -rpath /nowhere
+endif
+
+# DOCUMENTATION TARGETS
+# Manual configuration file; not usually attached to normal configuration,
+# because almost all configs use "gen" version of manual.
+# Set DOCVER above to change.
+configdoc.texi: ${DOCVER}-doc.texi
+ cp ${srcdir}/${DOCVER}-doc.texi ./configdoc.texi
+ chmod u+w ./configdoc.texi
+
+# Build the man page from the texinfo file
+# The sed command removes the no-adjust Nroff command so that
+# the man output looks standard.
+ld.1: $(srcdir)/ld.texi configdoc.texi
+ touch $@
+ -$(TEXI2POD) $(MANCONF) < $(srcdir)/ld.texi > ld.pod
+ -($(POD2MAN) ld.pod | \
+ sed -e '/^.if n .na/d' > $@.T$$$$ && \
+ mv -f $@.T$$$$ $@) || \
+ (rm -f $@.T$$$$ && exit 1)
+ rm -f ld.pod
+
+MAINTAINERCLEANFILES = configdoc.texi ld.1
+
+# We want to reconfigure if configure.host or configure.tgt changes.
+# development.sh is used to determine -Werror default.
+CONFIG_STATUS_DEPENDENCIES = $(srcdir)/configure.host $(srcdir)/configure.tgt \
+ $(BFDDIR)/development.sh
+
+MOSTLYCLEANFILES = $(STAGESTUFF) ld1$(EXEEXT) ld2$(EXEEXT) ld3$(EXEEXT) \
+ ldemul-list.h crtbegin.@OBJEXT@ crtend.@OBJEXT@ ld.log ld.sum
+mostlyclean-local:
+ -rm -rf tmpdir
+CLEANFILES = dep.sed DEP DEPA DEP1 DEP2 spu_ovl.s spu_ovl.@OBJEXT@ spu_icache.s spu_icache.@OBJEXT@
+
+.PHONY: install-exec-local install-data-local
+
+install-exec-local: ld-new$(EXEEXT) install-binPROGRAMS
+ $(mkinstalldirs) $(DESTDIR)$(tooldir)/bin
+ n=`echo $(installed_linker) | sed '$(transform)'`; \
+ if test "$(bindir)" != "$(tooldir)/bin"; then \
+ rm -f $(DESTDIR)$(tooldir)/bin/$(installed_linker)$(EXEEXT); \
+ ln $(DESTDIR)$(bindir)/$$n$(EXEEXT) $(DESTDIR)$(tooldir)/bin/$(installed_linker)$(EXEEXT) >/dev/null 2>/dev/null \
+ || $(INSTALL_PROGRAM_ENV) $(LIBTOOL) --mode=install $(INSTALL_PROGRAM) ld-new$(EXEEXT) $(DESTDIR)$(tooldir)/bin/$(installed_linker)$(EXEEXT); \
+ fi; \
+ if test "x$(install_as_default)" = "xyes"; then \
+ ld=`echo ld | sed '$(transform)'`; \
+ rm -f $(DESTDIR)$(bindir)/$$ld$(EXEEXT); \
+ ln $(DESTDIR)$(bindir)/$$n$(EXEEXT) $(DESTDIR)$(bindir)/$$ld$(EXEEXT) >/dev/null 2>/dev/null \
+ || $(INSTALL_PROGRAM_ENV) $(LIBTOOL) --mode=install $(INSTALL_PROGRAM) ld-new$(EXEEXT) $(DESTDIR)$(bindir)/$$ld$(EXEEXT); \
+ if test "$(bindir)" != "$(tooldir)/bin"; then \
+ rm -f $(DESTDIR)$(tooldir)/bin/ld$(EXEEXT); \
+ ln $(DESTDIR)$(bindir)/$$n$(EXEEXT) $(DESTDIR)$(tooldir)/bin/ld$(EXEEXT) >/dev/null 2>/dev/null \
+ || $(INSTALL_PROGRAM_ENV) $(LIBTOOL) --mode=install $(INSTALL_PROGRAM) ld-new$(EXEEXT) $(DESTDIR)$(tooldir)/bin/ld$(EXEEXT); \
+ fi; \
+ fi
+
+install-data-local:
+ $(mkinstalldirs) $(DESTDIR)$(scriptdir)/ldscripts
+ for f in ldscripts/* ; do \
+ $(INSTALL_DATA) $$f $(DESTDIR)$(scriptdir)/$$f ; \
+ done
+
+# Stuff that should be included in a distribution. The diststuff
+# target is run by the taz target in ../Makefile.in.
+EXTRA_DIST = ldgram.c ldgram.h ldlex.c emultempl/spu_ovl.@OBJEXT@_c \
+ emultempl/spu_icache.@OBJEXT@_c deffilep.c deffilep.h $(man_MANS)
+diststuff: info $(EXTRA_DIST)
+
+# Both info (ld.info) and ld.1 depend on configdoc.texi.
+# But info isn't a direct target. Make info-recursive to depend on
+# ld.1 to support parallel build.
+info-recursive: ld.1
+
+DISTCLEANFILES = tdirs site.exp site.bak stringify.sed
+distclean-local:
+ rm -rf ldscripts
+
+MAINTAINERCLEANFILES += ld.info
diff --git a/arm-stmos/binutils-files/ld/configure.tgt b/arm-stmos/binutils-files/ld/configure.tgt
new file mode 100644
index 0000000..2ae4904
--- /dev/null
+++ b/arm-stmos/binutils-files/ld/configure.tgt
@@ -0,0 +1,868 @@
+# configure.tgt
+#
+# Copyright (C) 2013-2018 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-*-stmos*) targ_emul=armelf_stmos;
+ targ_extra_emuls=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
+ ;;
+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-*-kaos*) targ_emul=elf_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
diff --git a/arm-stmos/binutils-files/ld/emulparams/armelf_stmos.sh b/arm-stmos/binutils-files/ld/emulparams/armelf_stmos.sh
new file mode 100644
index 0000000..8e7c863
--- /dev/null
+++ b/arm-stmos/binutils-files/ld/emulparams/armelf_stmos.sh
@@ -0,0 +1,37 @@
+GENERATE_SHLIB_SCRIPT=yes
+GENERATE_PIE_SCRIPT=yes
+
+MACHINE=
+SCRIPT_NAME=elf
+OUTPUT_FORMAT="elf32-littlearm"
+BIG_OUTPUT_FORMAT="elf32-bigarm"
+LITTLE_OUTPUT_FORMAT="elf32-littlearm"
+TEXT_START_ADDR=0x1000
+TEMPLATE_NAME=elf32
+EXTRA_EM_FILE=armelf
+OTHER_TEXT_SECTIONS='*(.glue_7t) *(.glue_7) *(.vfp11_veneer) *(.v4_bx)'
+OTHER_BSS_SYMBOLS="${CREATE_SHLIB+PROVIDE (}__bss_start__ = .${CREATE_SHLIB+)};"
+OTHER_BSS_END_SYMBOLS="${CREATE_SHLIB+PROVIDE (}_bss_end__ = .${CREATE_SHLIB+)}; ${CREATE_SHLIB+PROVIDE (}__bss_end__ = .${CREATE_SHLIB+)};"
+OTHER_END_SYMBOLS="${CREATE_SHLIB+PROVIDE (}__end__ = .${CREATE_SHLIB+)};"
+OTHER_SECTIONS='.note.gnu.arm.ident 0 : { KEEP (*(.note.gnu.arm.ident)) }'
+ATTRS_SECTIONS='.ARM.attributes 0 : { KEEP (*(.ARM.attributes)) KEEP (*(.gnu.attributes)) }'
+OTHER_READONLY_SECTIONS="
+ .ARM.extab ${RELOCATING-0} : { *(.ARM.extab${RELOCATING+* .gnu.linkonce.armextab.*}) }
+ ${RELOCATING+ PROVIDE_HIDDEN (__exidx_start = .); }
+ .ARM.exidx ${RELOCATING-0} : { *(.ARM.exidx${RELOCATING+* .gnu.linkonce.armexidx.*}) }
+ ${RELOCATING+ PROVIDE_HIDDEN (__exidx_end = .); }"
+
+DATA_START_SYMBOLS="${CREATE_SHLIB+PROVIDE (}__data_start = .${CREATE_SHLIB+)};"
+
+ARCH=arm
+MACHINE=
+MAXPAGESIZE=0x1000
+#MAXPAGESIZE="CONSTANT (MAXPAGESIZE)"
+ENTRY=_start
+EMBEDDED=yes
+
+# This sets the stack to the top of the simulator memory (2^19 bytes).
+STACK_ADDR=0x10000
+
+# ARM does not support .s* sections.
+NO_SMALL_DATA=yes