b8891f8d62
This patch series is a new binutils port for C-SKY processors, including support for both the V1 and V2 processor variants. V1 is derived from the MCore architecture while V2 is substantially different, with mixed 16- and 32-bit instructions, a larger register set, a different (but overlapping) ABI, etc. There is support for bare-metal ELF targets and Linux with both glibc and uClibc. This code is being contributed jointly by C-SKY Microsystems and Mentor Graphics. C-SKY is responsible for the technical content and has proposed Lifang Xia and Yunhai Shang as port maintainers. (Note that C-SKY does have a corporate copyright assignment on file with the FSF.) Mentor Graphics' role has been cleaning up the code, adding documentation and additional test cases, etc, to address issues we anticipated reviewers would complain about. bfd * Makefile.am (ALL_MACHINES, ALL_MACHINES_CFILES): Add C-SKY. (BFD32_BACKENDS, BFD_BACKENDS_CFILES): Likewise. * Makefile.in: Regenerated. * archures.c (enum bfd_architecture): Add bfd_arch_csky and related bfd_mach defines. (bfd_csky_arch): Declare. (bfd_archures_list): Add C-SKY. * bfd-in.h (elf32_csky_build_stubs): Declare. (elf32_csky_size_stubs): Declare. (elf32_csky_next_input_section: Declare. (elf32_csky_setup_section_lists): Declare. * bfd-in2.h: Regenerated. * config.bfd: Add C-SKY. * configure.ac: Likewise. * configure: Regenerated. * cpu-csky.c: New file. * elf-bfd.h (enum elf_target_id): Add C-SKY. * elf32-csky.c: New file. * libbfd.h: Regenerated. * reloc.c: Add C-SKY relocations. * targets.c (csky_elf32_be_vec, csky_elf32_le_vec): Declare. (_bfd_target_vector): Add C-SKY target vector entries. binutils* readelf.c: Include elf/csky.h. (guess_is_rela): Handle EM_CSKY. (dump_relocations): Likewise. (get_machine_name): Likewise. (is_32bit_abs_reloc): Likewise. include * dis-asm.h (csky_symbol_is_valid): Declare. * opcode/csky.h: New file. opcodes * Makefile.am (TARGET_LIBOPCODES_CFILES): Add csky-dis.c. * Makefile.in: Regenerated. * configure.ac: Add C-SKY. * configure: Regenerated. * csky-dis.c: New file. * csky-opc.h: New file. * disassemble.c (ARCH_csky): Define. (disassembler, disassemble_init_for_target): Add case for ARCH_csky. * disassemble.h (print_insn_csky, csky_get_disassembler): Declare. gas * Makefile.am (TARGET_CPU_CFILES): Add entry for C-SKY. (TARGET_CPU_HFILES, TARGET_ENV_HFILES): Likewise. * Makefile.in: Regenerated. * config/tc-csky.c: New file. * config/tc-csky.h: New file. * config/te-csky_abiv1.h: New file. * config/te-csky_abiv1_linux.h: New file. * config/te-csky_abiv2.h: New file. * config/te-csky_abiv2_linux.h: New file. * configure.tgt: Add C-SKY. * doc/Makefile.am (CPU_DOCS): Add entry for C-SKY. * doc/Makefile.in: Regenerated. * doc/all.texi: Set CSKY feature. * doc/as.texi (Overview): Add C-SKY options. (Machine Dependencies): Likewise. * doc/c-csky.texi: New file. * testsuite/gas/csky/*: New test cases. ld * Makefile.am (ALL_EMULATION_SOURCES): Add C-SKY emulations. (ecskyelf.c, ecskyelf_linux.c): New rules. * Makefile.in: Regenerated. * configure.tgt: Add C-SKY. * emulparams/cskyelf.sh: New file. * emulparams/cskyelf_linux.sh: New file. * emultempl/cskyelf.em: New file. * gen-doc.texi: Add C-SKY. * ld.texi: Likewise. (Options specific to C-SKY targets): New section. * testsuite/ld-csky/*: New tests.
1480 lines
43 KiB
Plaintext
1480 lines
43 KiB
Plaintext
# config.bfd
|
|
#
|
|
# Copyright (C) 2012-2018 Free Software Foundation, Inc.
|
|
#
|
|
# This file is free software; you can redistribute it and/or modify
|
|
# it under the terms of the GNU General Public License as published by
|
|
# the Free Software Foundation; either version 3 of the License, or
|
|
# (at your option) any later version.
|
|
#
|
|
# This program is distributed in the hope that it will be useful,
|
|
# but WITHOUT ANY WARRANTY; without even the implied warranty of
|
|
# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
|
# GNU General Public License for more details.
|
|
#
|
|
# You should have received a copy of the GNU General Public License
|
|
# along with this program; see the file COPYING3. If not see
|
|
# <http://www.gnu.org/licenses/>.
|
|
#
|
|
# Convert a canonical host type into a BFD host type.
|
|
# Set shell variable targ to canonical target name, and run
|
|
# using ``. config.bfd''.
|
|
# Sets the following shell variables:
|
|
# targ_defvec Default vector for this target
|
|
# targ_selvecs Vectors to build for this target
|
|
# targ64_selvecs Vectors to build if --enable-64-bit-bfd is given
|
|
# or if host is 64 bit.
|
|
# targ_archs Architectures for this target
|
|
# targ_cflags $(CFLAGS) for this target (FIXME: pretty bogus)
|
|
# targ_underscore Whether underscores are used: yes or no
|
|
|
|
# Part of this file is processed by targmatch.sed to generate the
|
|
# targmatch.h file. The #ifdef and #endif lines that appear below are
|
|
# copied directly into targmatch.h.
|
|
|
|
# The binutils c++filt program wants to know whether underscores are
|
|
# stripped or not. That is why we set targ_underscore. c++filt uses
|
|
# this information to choose a default. This information is
|
|
# duplicated in the symbol_leading_char field of the BFD target
|
|
# vector, but c++filt does not deal with object files and is not
|
|
# linked against libbfd.a. It is not terribly important that c++filt
|
|
# get this right; it is just convenient.
|
|
|
|
targ_defvec=
|
|
targ_selvecs=
|
|
targ64_selvecs=
|
|
targ_cflags=
|
|
targ_underscore=no
|
|
|
|
# Catch obsolete configurations.
|
|
case $targ in
|
|
openrisc-*-* | or32-*-*)
|
|
echo "*** Configuration $targ is obsolete." >&2
|
|
echo "*** Use or1k-*-elf or or1k-*-linux as the target instead" >&2
|
|
exit 1
|
|
;;
|
|
powerpc-*-lynxos* | powerpc-*-windiss* | \
|
|
null)
|
|
if test "x$enable_obsolete" != xyes; then
|
|
echo "*** Configuration $targ is obsolete." >&2
|
|
echo "*** Specify --enable-obsolete to build it anyway." >&2
|
|
echo "*** Support will be REMOVED in the next major release of BINUTILS," >&2
|
|
echo "*** unless a maintainer comes forward." >&2
|
|
exit 1
|
|
fi;;
|
|
esac
|
|
|
|
case $targ in
|
|
*-*-netbsdelf* | i[3-7]86-*-netbsd*-gnu* | i[3-7]86-*-knetbsd*-gnu | \
|
|
mips*-*-irix5* | mips*-*-irix6*)
|
|
# Not obsolete
|
|
;;
|
|
*-adobe-* | \
|
|
*-go32-rtems* | \
|
|
*-sony-* | \
|
|
*-tandem-* | \
|
|
*-*-ieee* | \
|
|
*-*-netware* | \
|
|
*-*-rtemsaout* | \
|
|
*-*-rtemscoff* | \
|
|
a29k-* | \
|
|
arm*-*-aout | \
|
|
arm-*-coff | \
|
|
arm-*-netbsd* | \
|
|
arm-*-openbsd* | \
|
|
arm-*-oabi | \
|
|
arm-*-riscix* | \
|
|
arm-epoc-pe* | \
|
|
h8300*-*-coff | \
|
|
h8500*-*-coff | \
|
|
hppa*-*-rtems* | \
|
|
i[3-7]86-*-unixware* | \
|
|
i[3-7]86-*-dgux* | \
|
|
i[3-7]86-*-chorus* | \
|
|
i[3-7]86-*-sysv* | \
|
|
i[3-7]86-*-isc* | \
|
|
i[3-7]86-*-sco* | \
|
|
i[3-7]86-*-coff | \
|
|
i[3-7]86-*-aix* | \
|
|
i[3-7]86-sequent-bsd* | \
|
|
i[3-7]86-*-freebsdaout* | i[3-7]86-*-freebsd[12].* | i[3-7]86-*-freebsd[12] | \
|
|
i[3-7]86-*-netbsdaout* | i[3-7]86-*-netbsd* | \
|
|
i[3-7]86-*-openbsd[0-2].* | i[3-7]86-*-openbsd3.[0-3] | \
|
|
i[3-7]86-*-linux*aout* | \
|
|
i[3-7]86-*-mach* | i[3-7]86-*-osf1mk* | \
|
|
i[3-7]86-*-os9k | \
|
|
i[3-7]86-none-* | \
|
|
i[3-7]86-*-aout* | i[3-7]86*-*-vsta* | \
|
|
i370-* | \
|
|
i860-*-* | \
|
|
i960-*-* | \
|
|
m68*-*-*bsd* | \
|
|
m68*-*-aout* | \
|
|
m68*-*-coff* | \
|
|
m68*-*-hpux* | \
|
|
m68*-*-linux*aout* | \
|
|
m68*-*-lynxos* | \
|
|
m68*-*-os68k* | \
|
|
m68*-*-psos* | \
|
|
m68*-*-sunos* | \
|
|
m68*-*-sysv* | \
|
|
m68*-*-vsta* | \
|
|
m68*-*-vxworks* | \
|
|
m68*-apollo-* | \
|
|
m68*-apple-aux* | \
|
|
m68*-bull-sysv* | \
|
|
m68*-ericsson-* | \
|
|
m68*-motorola-sysv* | \
|
|
m68*-netx-* | \
|
|
m88*-*-* | \
|
|
maxq-*-coff | \
|
|
mips*-*-bsd* | \
|
|
mips*-*-ecoff* | \
|
|
mips*-*-lnews* | \
|
|
mips*-*-mach3* | \
|
|
mips*-*-pe* | \
|
|
mips*-*-riscos* | \
|
|
mips*-*-sysv* | \
|
|
mips*-big-* | \
|
|
mips*-dec-* | \
|
|
mips*-sgi-* | \
|
|
mips*el-*-rtems* | \
|
|
sh*-*-symbianelf* | sh5*-*-* | sh64*-*-* | \
|
|
sparc*-*-*aout* | \
|
|
sparc*-*-chorus* | \
|
|
sparc*-*-coff* | \
|
|
sparc-*-lynxos* | \
|
|
sparc-*-openbsd[0-2].* | sparc-*-openbsd3.[0-1] | \
|
|
tahoe-*-* | \
|
|
vax-*-bsd* | vax-*-ultrix* | vax-*-vms* | \
|
|
w65-*-* | \
|
|
we32k-*-* | \
|
|
null)
|
|
echo "*** Configuration $targ is obsolete." >&2
|
|
echo "*** Support has been REMOVED." >&2
|
|
exit 1
|
|
;;
|
|
esac
|
|
|
|
targ_cpu=`echo $targ | sed 's/^\([^-]*\)-\([^-]*\)-\(.*\)$/\1/'`
|
|
case "${targ_cpu}" in
|
|
aarch64*) targ_archs="bfd_aarch64_arch bfd_arm_arch";;
|
|
alpha*) targ_archs=bfd_alpha_arch ;;
|
|
am33_2.0*) targ_archs=bfd_mn10300_arch ;;
|
|
arc*) targ_archs=bfd_arc_arch ;;
|
|
arm*) targ_archs=bfd_arm_arch ;;
|
|
bfin*) targ_archs=bfd_bfin_arch ;;
|
|
c30*) targ_archs=bfd_tic30_arch ;;
|
|
c4x*) targ_archs=bfd_tic4x_arch ;;
|
|
c54x*) targ_archs=bfd_tic54x_arch ;;
|
|
cr16*) targ_archs=bfd_cr16_arch ;;
|
|
crisv32) targ_archs=bfd_cris_arch ;;
|
|
crx*) targ_archs=bfd_crx_arch ;;
|
|
csky*) targ_archs=bfd_csky_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*-*-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
|
|
;;
|
|
|
|
csky-*-elf* | csky-*-linux* )
|
|
targ_defvec=csky_elf32_be_vec
|
|
targ_selvecs="csky_elf32_be_vec csky_elf32_le_vec"
|
|
;;
|
|
|
|
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
|