From cef5647a1542ac8520df07f15216a35ee35881ac Mon Sep 17 00:00:00 2001 From: Clyne Sullivan Date: Thu, 29 Nov 2018 22:19:40 -0500 Subject: base cross compiler files --- arm-stmos/binutils-files/bfd/config.bfd | 1477 +++++++++++++++ arm-stmos/binutils-files/config.sub | 1811 ++++++++++++++++++ arm-stmos/binutils-files/gas/configure.tgt | 457 +++++ arm-stmos/binutils-files/ld/Makefile.am | 2001 ++++++++++++++++++++ arm-stmos/binutils-files/ld/configure.tgt | 868 +++++++++ .../binutils-files/ld/emulparams/armelf_stmos.sh | 37 + 6 files changed, 6651 insertions(+) create mode 100644 arm-stmos/binutils-files/bfd/config.bfd create mode 100755 arm-stmos/binutils-files/config.sub create mode 100644 arm-stmos/binutils-files/gas/configure.tgt create mode 100644 arm-stmos/binutils-files/ld/Makefile.am create mode 100644 arm-stmos/binutils-files/ld/configure.tgt create mode 100644 arm-stmos/binutils-files/ld/emulparams/armelf_stmos.sh (limited to 'arm-stmos/binutils-files') 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 +# . +# +# 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 . +# +# 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 . +# +# 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 ." + +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 <&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 +# . +# + +# 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 +# . +# + +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 $@; \ + 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 $@; \ + 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 +# . + +# 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 -- cgit v1.2.3