e407c74b5b
* bfd-in2.h: Add support for MIPS r5900 * config.bfd: Add support for Sony Playstation 2 * cpu-mips.c: Add support for MIPS r5900 * elfxx-mips.c: Add support for MIPS r5900 (extension of r4000) * config/tc-mips.c: Add support for MIPS r5900 Add M_LQ_AB and M_SQ_AB to support large values for instructions lq and sq. * config/tc-mips.c (can_swap_branch_p, get_append_method): Detect some conditional short loops to fix a bug on the r5900 by NOP in the branch delay slot. * config/tc-mips.c (M_MUL): Support 3 operands in multu on r5900. * config/tc-mips.c (M_TRUNCWS): Support trunc.w.s on r5900 in MIPS ISA I. * config/tc-mips.c (s_mipsset): Force 32 bit floating point on r5900. * configure.in: Detect CPU type when target string contains r5900 (e.g. mips64r5900el-linux-gnu). * config/tc-mips.c (mips_ip): Check parameter range of instructions mfps and mtps on r5900. * elf/mips.h: Add MIPS machine variant number for r5900 which is compatible with old Playstation 2 software. * opcode/mips.h: Add support for r5900 instructions including lq and sq. * configure.tgt: Support ELF files for Sony Playstation 2 (for ps2dev and ps2sdk). * emulparams/elf32lr5900n32.sh: Create linker script for Sony Playstation 2 ELF files using MIPS ABI n32. * emulparams/elf32lr5900.sh: Create linker script for Sony Playstation 2 ELF files using MIPS ABI o32. * Makefile.am: Add linker scripts for Sony Playstation 2 ELF files. * opcodes/mips-dis.c: Add names for CP0 registers of r5900. * opcodes/mips-opc.c: Add M_SQ_AB and M_LQ_AB to support larger range for instructions sq and lq. * opcodes/mips-opc.c: Add support for MIPS r5900 CPU. Add support for 128 bit MMI (Multimedia Instructions). Add support for EE instructions (Emotion Engine). Disable unsupported floating point instructions (64 bit and undefined compare operations). Enable instructions of MIPS ISA IV which are supported by r5900. Disable 64 bit co processor instructions. Disable 64 bit multiplication and division instructions. Disable instructions for co-processor 2 and 3, because these are not supported (preparation for later VU0 support (Vector Unit)). Disable cvt.w.s because this behaves like trunc.w.s and the correct execution can't be ensured on r5900. Add trunc.w.s using the opcode encoding of cvt.w.s on r5900. This will confuse less developers and compilers.
1724 lines
51 KiB
Plaintext
1724 lines
51 KiB
Plaintext
# config.bfd
|
|
#
|
|
# Copyright 2012, 2013 Free Software Foundation
|
|
#
|
|
# 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
|
|
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
|
|
m68*-apple-aux* | \
|
|
m68*-apollo-* | \
|
|
m68*-bull-sysv* | \
|
|
m68*-*-rtemscoff* | \
|
|
maxq-*-coff | \
|
|
i960-*-rtems* | \
|
|
or32-*-rtems* | \
|
|
m68*-*-lynxos* | \
|
|
sparc-*-lynxos* | \
|
|
vax-*-vms* | \
|
|
arm-*-oabi | \
|
|
a29k-* | \
|
|
hppa*-*-rtems* | \
|
|
*-go32-rtems* | \
|
|
i[3-7]86*-*-rtemscoff* | \
|
|
mips*el-*-rtems* | \
|
|
powerpcle-*-rtems* | \
|
|
sparc*-*-rtemsaout* | \
|
|
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 ;;
|
|
am34*|am33_2.0*) targ_archs=bfd_mn10300_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 ;;
|
|
i370) targ_archs=bfd_i370_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 ;;
|
|
m88*) targ_archs=bfd_m88k_arch ;;
|
|
microblaze*) targ_archs=bfd_microblaze_arch ;;
|
|
mips*) targ_archs=bfd_mips_arch ;;
|
|
or32*) targ_archs=bfd_or32_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" ;;
|
|
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" ;;
|
|
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.
|
|
#
|
|
# Keep obsolete entries above the START comment, to keep them out of
|
|
# targmatch.h.
|
|
|
|
case "${targ}" in
|
|
mips*-dec-bsd*)
|
|
echo "This target is obsolete and has been removed."
|
|
exit 1
|
|
;;
|
|
|
|
mips*-*-mach3*)
|
|
echo "This target is obsolete and has been removed."
|
|
exit 1
|
|
;;
|
|
|
|
mips*-*-pe*)
|
|
echo "This target is obsolete and has been removed."
|
|
exit 1
|
|
;;
|
|
|
|
plugin)
|
|
targ_defvec=plugin_vec
|
|
targ_selvecs="plugin_vec"
|
|
;;
|
|
|
|
# START OF targmatch.h
|
|
#ifdef BFD64
|
|
aarch64-*-elf)
|
|
targ_defvec=bfd_elf64_littleaarch64_vec
|
|
targ_selvecs="bfd_elf64_bigaarch64_vec bfd_elf32_littlearm_vec bfd_elf32_bigarm_vec"
|
|
want64=true
|
|
;;
|
|
aarch64_be-*-elf)
|
|
targ_defvec=bfd_elf64_bigaarch64_vec
|
|
targ_selvecs="bfd_elf64_littleaarch64_vec bfd_elf32_bigarm_vec bfd_elf32_littlearm_vec"
|
|
want64=true
|
|
;;
|
|
aarch64-*-linux*)
|
|
targ_defvec=bfd_elf64_littleaarch64_vec
|
|
targ_selvecs="bfd_elf64_bigaarch64_vec bfd_elf32_littlearm_vec bfd_elf32_bigarm_vec"
|
|
want64=true
|
|
;;
|
|
aarch64_be-*-linux*)
|
|
targ_defvec=bfd_elf64_bigaarch64_vec
|
|
targ_selvecs="bfd_elf64_littleaarch64_vec bfd_elf32_bigarm_vec bfd_elf32_littlearm_vec"
|
|
want64=true
|
|
;;
|
|
alpha*-*-freebsd* | alpha*-*-kfreebsd*-gnu)
|
|
targ_defvec=bfd_elf64_alpha_freebsd_vec
|
|
targ_selvecs="bfd_elf64_alpha_vec ecoffalpha_little_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=bfd_elf64_alpha_vec
|
|
targ_selvecs=ecoffalpha_little_vec
|
|
want64=true
|
|
;;
|
|
alpha*-*-netware*)
|
|
targ_defvec=ecoffalpha_little_vec
|
|
targ_selvecs=nlm32_alpha_vec
|
|
want64=true
|
|
;;
|
|
alpha*-*-linuxecoff*)
|
|
targ_defvec=ecoffalpha_little_vec
|
|
targ_selvecs=bfd_elf64_alpha_vec
|
|
want64=true
|
|
;;
|
|
alpha*-*-linux-* | alpha*-*-elf*)
|
|
targ_defvec=bfd_elf64_alpha_vec
|
|
targ_selvecs=ecoffalpha_little_vec
|
|
want64=true
|
|
;;
|
|
alpha*-*-*vms*)
|
|
targ_defvec=vms_alpha_vec
|
|
targ_selvecs=vms_lib_txt_vec
|
|
want64=true
|
|
;;
|
|
alpha*-*-*)
|
|
targ_defvec=ecoffalpha_little_vec
|
|
want64=true
|
|
;;
|
|
ia64*-*-freebsd* | ia64*-*-netbsd* | ia64*-*-linux-* | ia64*-*-elf* | ia64*-*-kfreebsd*-gnu)
|
|
targ_defvec=bfd_elf64_ia64_little_vec
|
|
targ_selvecs="bfd_elf64_ia64_big_vec bfd_pei_ia64_vec"
|
|
want64=true
|
|
;;
|
|
ia64*-*-hpux*)
|
|
targ_defvec=bfd_elf32_ia64_hpux_big_vec
|
|
targ_selvecs="bfd_elf64_ia64_hpux_big_vec"
|
|
want64=true
|
|
;;
|
|
ia64*-*-*vms*)
|
|
targ_defvec=bfd_elf64_ia64_vms_vec
|
|
targ_selvecs=vms_lib_txt_vec
|
|
want64=true
|
|
;;
|
|
sparc64-*-freebsd* | sparc64-*-kfreebsd*-gnu)
|
|
targ_defvec=bfd_elf64_sparc_freebsd_vec
|
|
targ_selvecs="bfd_elf64_sparc_vec bfd_elf32_sparc_vec sunos_big_vec"
|
|
;;
|
|
sparc64-*-netbsd* | sparc64-*-openbsd*)
|
|
targ_defvec=bfd_elf64_sparc_vec
|
|
targ_selvecs="bfd_elf32_sparc_vec sunos_big_vec"
|
|
want64=true
|
|
;;
|
|
#endif /* BFD64 */
|
|
|
|
am34-*-linux* | am33_2.0-*-linux*)
|
|
targ_defvec=bfd_elf32_am33lin_vec
|
|
;;
|
|
|
|
arc-*-elf*)
|
|
targ_defvec=bfd_elf32_littlearc_vec
|
|
targ_selvecs=bfd_elf32_bigarc_vec
|
|
;;
|
|
|
|
arm-*-nacl*)
|
|
targ_defvec=bfd_elf32_littlearm_nacl_vec
|
|
targ_selvecs="bfd_elf32_bigarm_nacl_vec bfd_elf32_i386_nacl_vec"
|
|
targ64_selvecs="bfd_elf32_x86_64_nacl_vec bfd_elf64_x86_64_nacl_vec"
|
|
targ_archs="$targ_archs bfd_i386_arch"
|
|
;;
|
|
armeb-*-nacl*)
|
|
targ_defvec=bfd_elf32_bigarm_nacl_vec
|
|
targ_selvecs="bfd_elf32_littlearm_nacl_vec bfd_elf32_i386_nacl_vec"
|
|
targ64_selvecs="bfd_elf32_x86_64_nacl_vec bfd_elf64_x86_64_nacl_vec"
|
|
targ_archs="$targ_archs bfd_i386_arch"
|
|
;;
|
|
armeb-*-netbsdelf*)
|
|
targ_defvec=bfd_elf32_bigarm_vec
|
|
targ_selvecs="bfd_elf32_littlearm_vec armnetbsd_vec"
|
|
;;
|
|
arm-*-netbsdelf*)
|
|
targ_defvec=bfd_elf32_littlearm_vec
|
|
targ_selvecs="bfd_elf32_bigarm_vec armnetbsd_vec"
|
|
;;
|
|
arm-*-netbsd* | arm-*-openbsd*)
|
|
targ_defvec=armnetbsd_vec
|
|
targ_selvecs="bfd_elf32_littlearm_vec bfd_elf32_bigarm_vec"
|
|
targ_underscore=yes
|
|
targ_cflags=-D__QNXTARGET__
|
|
;;
|
|
arm-*-nto* | nto*arm*)
|
|
targ_defvec=bfd_elf32_littlearm_vec
|
|
targ_selvecs=bfd_elf32_bigarm_vec
|
|
;;
|
|
arm-*-riscix*)
|
|
targ_defvec=riscix_vec
|
|
;;
|
|
arm-epoc-pe*)
|
|
targ_defvec=arm_epoc_pe_little_vec
|
|
targ_selvecs="arm_epoc_pe_little_vec arm_epoc_pe_big_vec arm_epoc_pei_little_vec arm_epoc_pei_big_vec"
|
|
targ_underscore=no
|
|
targ_cflags=-DARM_COFF_BUGFIX
|
|
;;
|
|
arm-wince-pe | arm-*-wince | arm*-*-mingw32ce* | arm*-*-cegcc*)
|
|
targ_defvec=arm_wince_pe_little_vec
|
|
targ_selvecs="arm_wince_pe_little_vec arm_wince_pe_big_vec arm_wince_pei_little_vec arm_wince_pei_big_vec"
|
|
targ_underscore=no
|
|
targ_cflags="-DARM_WINCE -DARM_COFF_BUGFIX"
|
|
;;
|
|
arm-*-pe*)
|
|
targ_defvec=armpe_little_vec
|
|
targ_selvecs="armpe_little_vec armpe_big_vec armpei_little_vec armpei_big_vec"
|
|
targ_underscore=yes
|
|
;;
|
|
arm-*-aout | armel-*-aout)
|
|
targ_defvec=aout_arm_little_vec
|
|
targ_selvecs=aout_arm_big_vec
|
|
;;
|
|
armeb-*-aout)
|
|
targ_defvec=aout_arm_big_vec
|
|
targ_selvecs=aout_arm_little_vec
|
|
;;
|
|
arm-*-coff)
|
|
targ_defvec=armcoff_little_vec
|
|
targ_selvecs=armcoff_big_vec
|
|
targ_underscore=yes
|
|
;;
|
|
arm-*-rtems*)
|
|
targ_defvec=bfd_elf32_littlearm_vec
|
|
targ_selvecs=bfd_elf32_bigarm_vec
|
|
;;
|
|
armeb-*-elf | arm*b-*-linux-*)
|
|
targ_defvec=bfd_elf32_bigarm_vec
|
|
targ_selvecs=bfd_elf32_littlearm_vec
|
|
;;
|
|
arm-*-kaos*)
|
|
targ_defvec=bfd_elf32_littlearm_vec
|
|
targ_selvecs=bfd_elf32_bigarm_vec
|
|
;;
|
|
arm-*-elf | arm-*-freebsd* | arm*-*-linux-* | arm*-*-conix* | \
|
|
arm*-*-uclinux* | arm-*-kfreebsd*-gnu | \
|
|
arm*-*-eabi* )
|
|
targ_defvec=bfd_elf32_littlearm_vec
|
|
targ_selvecs=bfd_elf32_bigarm_vec
|
|
;;
|
|
arm*-*-vxworks | arm*-*-windiss)
|
|
targ_defvec=bfd_elf32_littlearm_vxworks_vec
|
|
targ_selvecs=bfd_elf32_bigarm_vxworks_vec
|
|
;;
|
|
arm*-*-symbianelf*)
|
|
targ_defvec=bfd_elf32_littlearm_symbian_vec
|
|
targ_selvecs=bfd_elf32_bigarm_symbian_vec
|
|
;;
|
|
arm9e-*-elf)
|
|
targ_defvec=bfd_elf32_littlearm_vec
|
|
targ_selvecs=bfd_elf32_bigarm_vec
|
|
;;
|
|
|
|
avr-*-*)
|
|
targ_defvec=bfd_elf32_avr_vec
|
|
;;
|
|
|
|
bfin-*-*)
|
|
targ_defvec=bfd_elf32_bfin_vec
|
|
targ_selvecs=bfd_elf32_bfinfdpic_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* | tic4x-*-rtems*)
|
|
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=bfd_elf32_cr16_vec
|
|
targ_underscore=yes
|
|
;;
|
|
|
|
cr16c-*-elf*)
|
|
targ_defvec=bfd_elf32_cr16c_vec
|
|
targ_underscore=yes
|
|
;;
|
|
|
|
cris-*-* | crisv32-*-*)
|
|
targ_defvec=cris_aout_vec
|
|
targ_selvecs="bfd_elf32_us_cris_vec bfd_elf32_cris_vec ieee_vec"
|
|
targ_underscore=yes # Note: not true for bfd_elf32_cris_vec.
|
|
;;
|
|
|
|
crx-*-elf*)
|
|
targ_defvec=bfd_elf32_crx_vec
|
|
targ_underscore=yes
|
|
;;
|
|
|
|
d10v-*-*)
|
|
targ_defvec=bfd_elf32_d10v_vec
|
|
;;
|
|
|
|
dlx-*-elf*)
|
|
targ_defvec=bfd_elf32_dlx_big_vec
|
|
targ_selvecs="bfd_elf32_dlx_big_vec"
|
|
;;
|
|
|
|
d30v-*-*)
|
|
targ_defvec=bfd_elf32_d30v_vec
|
|
;;
|
|
|
|
epiphany-*-elf)
|
|
targ_defvec=bfd_elf32_epiphany_vec
|
|
;;
|
|
|
|
fido-*-elf* )
|
|
targ_defvec=bfd_elf32_m68k_vec
|
|
targ_selvecs="m68kcoff_vec ieee_vec"
|
|
;;
|
|
|
|
fr30-*-elf)
|
|
targ_defvec=bfd_elf32_fr30_vec
|
|
;;
|
|
|
|
frv-*-elf)
|
|
targ_defvec=bfd_elf32_frv_vec
|
|
targ_selvecs=bfd_elf32_frvfdpic_vec
|
|
;;
|
|
|
|
frv-*-*linux*)
|
|
targ_defvec=bfd_elf32_frvfdpic_vec
|
|
targ_selvecs=bfd_elf32_frv_vec
|
|
;;
|
|
|
|
moxie-*-elf | moxie-*-rtems | moxie-*-uclinux)
|
|
targ_defvec=bfd_elf32_bigmoxie_vec
|
|
targ_selvecs=bfd_elf32_littlemoxie_vec
|
|
;;
|
|
|
|
h8300*-*-rtemscoff*)
|
|
targ_defvec=h8300coff_vec
|
|
targ_underscore=yes
|
|
;;
|
|
|
|
h8300*-*-elf | h8300*-*-rtems*)
|
|
targ_defvec=bfd_elf32_h8300_vec
|
|
targ_underscore=yes
|
|
;;
|
|
|
|
h8300*-*-*)
|
|
targ_defvec=h8300coff_vec
|
|
targ_underscore=yes
|
|
;;
|
|
|
|
h8500-*-*)
|
|
targ_defvec=h8500coff_vec
|
|
targ_underscore=yes
|
|
;;
|
|
|
|
#ifdef BFD64
|
|
hppa*64*-*-linux-*)
|
|
targ_defvec=bfd_elf64_hppa_linux_vec
|
|
targ_selvecs=bfd_elf64_hppa_vec
|
|
want64=true
|
|
;;
|
|
hppa*64*-*-hpux11*)
|
|
targ_defvec=bfd_elf64_hppa_vec
|
|
targ_selvecs=bfd_elf64_hppa_linux_vec
|
|
targ_cflags=-DHPUX_LARGE_AR_IDS
|
|
want64=true
|
|
;;
|
|
#endif
|
|
|
|
hppa*-*-linux-*)
|
|
targ_defvec=bfd_elf32_hppa_linux_vec
|
|
targ_selvecs=bfd_elf32_hppa_vec
|
|
;;
|
|
hppa*-*-netbsd*)
|
|
targ_defvec=bfd_elf32_hppa_nbsd_vec
|
|
targ_selvecs="bfd_elf32_hppa_vec bfd_elf32_hppa_linux_vec"
|
|
;;
|
|
hppa*-*-*elf* | hppa*-*-lites* | hppa*-*-sysv4* | hppa*-*-openbsd*)
|
|
targ_defvec=bfd_elf32_hppa_vec
|
|
targ_selvecs=bfd_elf32_hppa_linux_vec
|
|
;;
|
|
|
|
hppa*-*-bsd*)
|
|
targ_defvec=som_vec
|
|
targ_selvecs=bfd_elf32_hppa_vec
|
|
;;
|
|
hppa*-*-hpux* | hppa*-*-hiux* | hppa*-*-mpeix*)
|
|
targ_defvec=som_vec
|
|
;;
|
|
hppa*-*-osf*)
|
|
targ_defvec=som_vec
|
|
targ_selvecs=bfd_elf32_hppa_vec
|
|
;;
|
|
|
|
i370-*-*)
|
|
targ_defvec=bfd_elf32_i370_vec
|
|
targ_selvecs="bfd_elf32_i370_vec"
|
|
;;
|
|
i[3-7]86-*-sco3.2v5*coff)
|
|
targ_defvec=i386coff_vec
|
|
targ_selvecs=bfd_elf32_i386_vec
|
|
;;
|
|
i[3-7]86-*-sysv4* | i[3-7]86-*-unixware* | \
|
|
i[3-7]86-*-elf | i[3-7]86-*-sco3.2v5* | \
|
|
i[3-7]86-*-dgux* | i[3-7]86-*-sysv5*)
|
|
targ_defvec=bfd_elf32_i386_vec
|
|
targ_selvecs=i386coff_vec
|
|
;;
|
|
i[3-7]86-*-solaris2*)
|
|
targ_defvec=bfd_elf32_i386_sol2_vec
|
|
targ_selvecs="i386coff_vec"
|
|
targ64_selvecs="bfd_elf64_x86_64_sol2_vec bfd_elf64_l1om_vec bfd_elf64_k1om_vec"
|
|
want64=true
|
|
;;
|
|
#ifdef BFD64
|
|
x86_64-*-solaris2*)
|
|
targ_defvec=bfd_elf32_i386_sol2_vec
|
|
targ_selvecs="bfd_elf64_x86_64_sol2_vec bfd_elf64_l1om_vec bfd_elf64_k1om_vec i386coff_vec"
|
|
want64=true
|
|
;;
|
|
#endif
|
|
i[3-7]86-*-kaos*)
|
|
targ_defvec=bfd_elf32_i386_vec
|
|
targ_selvecs=bfd_elf32_i386_vec
|
|
;;
|
|
i[3-7]86-*-nto*)
|
|
targ_defvec=bfd_elf32_i386_vec
|
|
targ_selvecs=i386coff_vec
|
|
;;
|
|
i[3-7]86-*-aros*)
|
|
targ_defvec=bfd_elf32_i386_vec
|
|
;;
|
|
i[3-7]86-*-chorus*)
|
|
targ_defvec=bfd_elf32_i386_vec
|
|
;;
|
|
i[3-7]86-*-dicos*)
|
|
targ_defvec=bfd_elf32_i386_vec
|
|
targ64_selvecs="bfd_elf64_x86_64_vec bfd_elf64_l1om_vec bfd_elf64_k1om_vec"
|
|
;;
|
|
*-*-msdosdjgpp* | *-*-go32* )
|
|
targ_defvec=go32coff_vec
|
|
targ_selvecs="go32stubbedcoff_vec i386aout_vec"
|
|
;;
|
|
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*)
|
|
targ_defvec=i386coff_vec
|
|
;;
|
|
i[3-7]86-*-rtems*)
|
|
targ_defvec=bfd_elf32_i386_vec
|
|
targ_selvecs="i386coff_vec i386aout_vec"
|
|
;;
|
|
i[3-7]86-*-darwin* | i[3-7]86-*-macos10* | i[3-7]86-*-rhapsody*)
|
|
targ_defvec=mach_o_i386_vec
|
|
targ_selvecs="mach_o_le_vec mach_o_be_vec mach_o_fat_vec pef_vec pef_xlib_vec sym_vec"
|
|
targ64_selvecs=mach_o_x86_64_vec
|
|
targ_archs="$targ_archs bfd_powerpc_arch bfd_rs6000_arch"
|
|
;;
|
|
i[3-7]86-sequent-bsd*)
|
|
targ_defvec=i386dynix_vec
|
|
targ_underscore=yes
|
|
;;
|
|
i[3-7]86-*-bsd*)
|
|
targ_defvec=i386bsd_vec
|
|
targ_underscore=yes
|
|
;;
|
|
i[3-7]86-*-dragonfly*)
|
|
targ_defvec=bfd_elf32_i386_vec
|
|
targ64_selvecs="bfd_elf64_x86_64_vec bfd_elf64_l1om_vec bfd_elf64_k1om_vec"
|
|
;;
|
|
i[3-7]86-*-freebsdaout* | i[3-7]86-*-freebsd[12].* | \
|
|
i[3-7]86-*-freebsd[12])
|
|
targ_defvec=i386freebsd_vec
|
|
targ_selvecs=i386bsd_vec
|
|
targ_underscore=yes
|
|
;;
|
|
i[3-7]86-*-freebsd* | i[3-7]86-*-kfreebsd*-gnu)
|
|
targ_defvec=bfd_elf32_i386_freebsd_vec
|
|
targ_selvecs="bfd_elf32_i386_vec i386pei_vec i386coff_vec"
|
|
targ64_selvecs="bfd_elf64_x86_64_freebsd_vec bfd_elf64_x86_64_vec x86_64pei_vec bfd_elf64_l1om_vec bfd_elf64_l1om_freebsd_vec bfd_elf64_k1om_vec bfd_elf64_k1om_freebsd_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=bfd_elf32_i386_vec
|
|
targ_selvecs=i386netbsd_vec
|
|
targ64_selvecs="bfd_elf64_x86_64_vec bfd_elf64_l1om_vec bfd_elf64_k1om_vec"
|
|
;;
|
|
i[3-7]86-*-netbsdpe*)
|
|
targ_defvec=i386pe_vec
|
|
targ_selvecs="i386pe_vec i386pei_vec bfd_elf32_i386_vec"
|
|
;;
|
|
i[3-7]86-*-netbsdaout* | i[3-7]86-*-netbsd* | \
|
|
i[3-7]86-*-openbsd[0-2].* | i[3-7]86-*-openbsd3.[0-3])
|
|
targ_defvec=i386netbsd_vec
|
|
targ_selvecs="bfd_elf32_i386_vec i386bsd_vec"
|
|
targ_underscore=yes
|
|
;;
|
|
i[3-7]86-*-openbsd*)
|
|
targ_defvec=bfd_elf32_i386_vec
|
|
targ_selvecs=i386netbsd_vec
|
|
;;
|
|
i[3-7]86-*-netware*)
|
|
targ_defvec=bfd_elf32_i386_vec
|
|
targ_selvecs="nlm32_i386_vec i386coff_vec i386aout_vec"
|
|
;;
|
|
i[3-7]86-*-linux*aout*)
|
|
targ_defvec=i386linux_vec
|
|
targ_selvecs=bfd_elf32_i386_vec
|
|
targ_underscore=yes
|
|
;;
|
|
i[3-7]86-*-linux-*)
|
|
targ_defvec=bfd_elf32_i386_vec
|
|
targ_selvecs="i386linux_vec i386pei_vec"
|
|
targ64_selvecs="bfd_elf64_x86_64_vec bfd_elf32_x86_64_vec x86_64pei_vec bfd_elf64_l1om_vec bfd_elf64_k1om_vec"
|
|
;;
|
|
i[3-7]86-*-nacl*)
|
|
targ_defvec=bfd_elf32_i386_nacl_vec
|
|
targ_selvecs="bfd_elf32_bigarm_nacl_vec bfd_elf32_littlearm_nacl_vec"
|
|
targ64_selvecs="bfd_elf64_x86_64_nacl_vec bfd_elf32_x86_64_nacl_vec"
|
|
targ_archs="$targ_archs bfd_arm_arch"
|
|
;;
|
|
#ifdef BFD64
|
|
x86_64-*-darwin*)
|
|
targ_defvec=mach_o_x86_64_vec
|
|
targ_selvecs="mach_o_i386_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=bfd_elf64_x86_64_vec
|
|
targ_selvecs="bfd_elf32_i386_vec bfd_elf64_l1om_vec bfd_elf64_k1om_vec"
|
|
want64=true
|
|
;;
|
|
x86_64-*-elf*)
|
|
targ_defvec=bfd_elf64_x86_64_vec
|
|
targ_selvecs="bfd_elf32_i386_vec bfd_elf64_l1om_vec bfd_elf64_k1om_vec i386coff_vec"
|
|
want64=true
|
|
;;
|
|
x86_64-*-dragonfly*)
|
|
targ_defvec=bfd_elf64_x86_64_vec
|
|
targ_selvecs="bfd_elf32_i386_vec bfd_elf64_l1om_vec bfd_elf64_k1om_vec"
|
|
want64=true
|
|
;;
|
|
x86_64-*-freebsd* | x86_64-*-kfreebsd*-gnu)
|
|
targ_defvec=bfd_elf64_x86_64_freebsd_vec
|
|
targ_selvecs="bfd_elf32_i386_freebsd_vec i386coff_vec i386pei_vec x86_64pei_vec bfd_elf32_i386_vec bfd_elf64_x86_64_vec bfd_elf64_l1om_vec bfd_elf64_l1om_freebsd_vec bfd_elf64_k1om_vec bfd_elf64_k1om_freebsd_vec"
|
|
want64=true
|
|
;;
|
|
x86_64-*-netbsd* | x86_64-*-openbsd*)
|
|
targ_defvec=bfd_elf64_x86_64_vec
|
|
targ_selvecs="bfd_elf32_i386_vec i386netbsd_vec i386coff_vec i386pei_vec x86_64pei_vec bfd_elf64_l1om_vec bfd_elf64_k1om_vec"
|
|
want64=true
|
|
;;
|
|
x86_64-*-linux-*)
|
|
targ_defvec=bfd_elf64_x86_64_vec
|
|
targ_selvecs="bfd_elf32_i386_vec bfd_elf32_x86_64_vec i386linux_vec i386pei_vec x86_64pei_vec bfd_elf64_l1om_vec bfd_elf64_k1om_vec"
|
|
want64=true
|
|
;;
|
|
x86_64-*-nacl*)
|
|
targ_defvec=bfd_elf32_x86_64_nacl_vec
|
|
targ_selvecs="bfd_elf32_i386_nacl_vec bfd_elf64_x86_64_nacl_vec bfd_elf32_bigarm_nacl_vec bfd_elf32_littlearm_nacl_vec"
|
|
targ_archs="$targ_archs bfd_arm_arch"
|
|
want64=true
|
|
;;
|
|
x86_64-*-mingw* | x86_64-*-pe | x86_64-*-pep)
|
|
targ_defvec=x86_64pe_vec
|
|
targ_selvecs="x86_64pe_vec x86_64pei_vec bfd_elf64_x86_64_vec bfd_elf64_l1om_vec bfd_elf64_k1om_vec i386pe_vec i386pei_vec bfd_elf32_i386_vec"
|
|
want64=true
|
|
targ_underscore=no
|
|
;;
|
|
x86_64-*-rdos*)
|
|
targ_defvec=bfd_elf64_x86_64_vec
|
|
targ_selvecs="bfd_elf32_i386_vec bfd_elf64_l1om_vec bfd_elf64_k1om_vec"
|
|
want64=true
|
|
;;
|
|
#endif
|
|
i[3-7]86-*-lynxos*)
|
|
targ_defvec=bfd_elf32_i386_vec
|
|
targ_selvecs="i386lynx_coff_vec i386lynx_aout_vec"
|
|
;;
|
|
i[3-7]86-*-gnu*)
|
|
targ_defvec=bfd_elf32_i386_vec
|
|
;;
|
|
i[3-7]86-*-mach* | i[3-7]86-*-osf1mk*)
|
|
targ_defvec=i386mach3_vec
|
|
targ_cflags=-DSTAT_FOR_EXEC
|
|
targ_underscore=yes
|
|
;;
|
|
i[3-7]86-*-os9k)
|
|
targ_defvec=i386os9k_vec
|
|
;;
|
|
i[3-7]86-*-msdos*)
|
|
targ_defvec=i386aout_vec
|
|
targ_selvecs=i386msdos_vec
|
|
;;
|
|
i[3-7]86-*-moss*)
|
|
targ_defvec=bfd_elf32_i386_vec
|
|
targ_selvecs="i386msdos_vec i386aout_vec"
|
|
;;
|
|
i[3-7]86-*-beospe*)
|
|
targ_defvec=i386pe_vec
|
|
targ_selvecs="i386pe_vec i386pei_vec"
|
|
;;
|
|
i[3-7]86-*-beoself* | i[3-7]86-*-beos*)
|
|
targ_defvec=bfd_elf32_i386_vec
|
|
targ_selvecs="i386pe_vec i386pei_vec"
|
|
;;
|
|
i[3-7]86-*-interix*)
|
|
targ_defvec=i386pei_vec
|
|
targ_selvecs="i386pe_vec"
|
|
# FIXME: This should eventually be checked at runtime.
|
|
targ_cflags=-DSTRICT_PE_FORMAT
|
|
;;
|
|
i[3-7]86-*-rdos*)
|
|
targ_defvec=bfd_elf32_i386_vec
|
|
targ_selvecs=i386coff_vec
|
|
;;
|
|
i[3-7]86-*-mingw32* | i[3-7]86-*-cygwin* | i[3-7]86-*-winnt | i[3-7]86-*-pe)
|
|
targ_defvec=i386pe_vec
|
|
targ_selvecs="i386pe_vec i386pei_vec bfd_elf32_i386_vec"
|
|
targ_underscore=yes
|
|
;;
|
|
i[3-7]86-none-*)
|
|
targ_defvec=i386coff_vec
|
|
;;
|
|
i[3-7]86-*-aout* | i[3-7]86*-*-vsta*)
|
|
targ_defvec=i386aout_vec
|
|
;;
|
|
i[3-7]86-*-vxworks*)
|
|
targ_defvec=bfd_elf32_i386_vxworks_vec
|
|
targ_underscore=yes
|
|
;;
|
|
i[3-7]86-*-chaos)
|
|
targ_defvec=bfd_elf32_i386_vec
|
|
targ_selfvecs=i386chaos_vec
|
|
;;
|
|
|
|
i860-*-mach3* | i860-*-osf1* | i860-*-coff*)
|
|
targ_defvec=i860coff_vec
|
|
;;
|
|
i860-stardent-sysv4* | i860-stardent-elf*)
|
|
targ_defvec=bfd_elf32_i860_little_vec
|
|
targ_selvecs="bfd_elf32_i860_vec bfd_elf32_i860_little_vec"
|
|
;;
|
|
i860-*-sysv4* | i860-*-elf*)
|
|
targ_defvec=bfd_elf32_i860_vec
|
|
;;
|
|
|
|
i960-*-vxworks4* | i960-*-vxworks5.0)
|
|
targ_defvec=b_out_vec_little_host
|
|
targ_selvecs="b_out_vec_big_host icoff_little_vec icoff_big_vec ieee_vec"
|
|
targ_underscore=yes
|
|
;;
|
|
i960-*-vxworks5.* | i960-*-coff* | i960-*-sysv*)
|
|
targ_defvec=icoff_little_vec
|
|
targ_selvecs="icoff_big_vec b_out_vec_little_host b_out_vec_big_host ieee_vec"
|
|
targ_underscore=yes
|
|
;;
|
|
i960-*-vxworks* | i960-*-aout* | i960-*-bout* | i960-*-nindy*)
|
|
targ_defvec=b_out_vec_little_host
|
|
targ_selvecs="b_out_vec_big_host icoff_little_vec icoff_big_vec ieee_vec"
|
|
targ_underscore=yes
|
|
;;
|
|
i960-*-elf*)
|
|
targ_defvec=bfd_elf32_i960_vec
|
|
targ_selvecs="icoff_little_vec icoff_big_vec"
|
|
;;
|
|
|
|
ip2k-*-elf)
|
|
targ_defvec=bfd_elf32_ip2k_vec
|
|
;;
|
|
|
|
iq2000-*-elf)
|
|
targ_defvec=bfd_elf32_iq2000_vec
|
|
;;
|
|
|
|
lm32-*-elf | lm32-*-rtems*)
|
|
targ_defvec=bfd_elf32_lm32_vec
|
|
targ_selvecs=bfd_elf32_lm32fdpic_vec
|
|
;;
|
|
|
|
lm32-*-*linux*)
|
|
targ_defvec=bfd_elf32_lm32fdpic_vec
|
|
targ_selvecs=bfd_elf32_lm32_vec
|
|
;;
|
|
|
|
m32c-*-elf | m32c-*-rtems*)
|
|
targ_defvec=bfd_elf32_m32c_vec
|
|
;;
|
|
|
|
m32r*le-*-linux*)
|
|
targ_defvec=bfd_elf32_m32rlelin_vec
|
|
targ_selvecs="bfd_elf32_m32rlin_vec bfd_elf32_m32rlelin_vec"
|
|
;;
|
|
m32r*-*-linux*)
|
|
targ_defvec=bfd_elf32_m32rlin_vec
|
|
targ_selvecs="bfd_elf32_m32rlin_vec bfd_elf32_m32rlelin_vec"
|
|
;;
|
|
m32r*le-*-*)
|
|
targ_defvec=bfd_elf32_m32rle_vec
|
|
targ_selvecs="bfd_elf32_m32r_vec bfd_elf32_m32rle_vec"
|
|
;;
|
|
m32r-*-*)
|
|
targ_defvec=bfd_elf32_m32r_vec
|
|
;;
|
|
|
|
m68hc11-*-* | m6811-*-*)
|
|
targ_defvec=bfd_elf32_m68hc11_vec
|
|
targ_selvecs="bfd_elf32_m68hc11_vec bfd_elf32_m68hc12_vec"
|
|
;;
|
|
m68hc12-*-* | m6812-*-*)
|
|
targ_defvec=bfd_elf32_m68hc12_vec
|
|
targ_selvecs="bfd_elf32_m68hc11_vec bfd_elf32_m68hc12_vec"
|
|
;;
|
|
|
|
m68*-motorola-sysv*)
|
|
targ_defvec=m68ksysvcoff_vec
|
|
;;
|
|
m68*-hp-bsd*)
|
|
targ_defvec=hp300bsd_vec
|
|
targ_underscore=yes
|
|
;;
|
|
m68*-*-aout*)
|
|
targ_defvec=aout0_big_vec
|
|
# We include cisco_core_big_vec here, rather than making a separate cisco
|
|
# configuration, so that cisco-core.c gets routinely tested at
|
|
# least for compilation.
|
|
targ_selvecs="cisco_core_big_vec ieee_vec"
|
|
targ_underscore=yes
|
|
;;
|
|
m68*-*-elf* | m68*-*-sysv4* | m68*-*-uclinux*)
|
|
targ_defvec=bfd_elf32_m68k_vec
|
|
targ_selvecs="m68kcoff_vec ieee_vec"
|
|
;;
|
|
m68*-*-rtems*)
|
|
targ_defvec=bfd_elf32_m68k_vec
|
|
targ_selvecs="m68kcoff_vec versados_vec ieee_vec aout0_big_vec"
|
|
;;
|
|
m68*-*-coff* | m68*-*-sysv*)
|
|
targ_defvec=m68kcoff_vec
|
|
targ_selvecs="m68kcoff_vec versados_vec ieee_vec"
|
|
;;
|
|
m68*-*-hpux*)
|
|
targ_defvec=hp300hpux_vec
|
|
targ_underscore=yes
|
|
;;
|
|
m68*-*-linux*aout*)
|
|
targ_defvec=m68klinux_vec
|
|
targ_selvecs=bfd_elf32_m68k_vec
|
|
targ_underscore=yes
|
|
;;
|
|
m68*-*-linux-*)
|
|
targ_defvec=bfd_elf32_m68k_vec
|
|
targ_selvecs=m68klinux_vec
|
|
;;
|
|
m68*-*-gnu*)
|
|
targ_defvec=bfd_elf32_m68k_vec
|
|
# targ_selvecs=m68kmach3_vec
|
|
# targ_cflags=-DSTAT_FOR_EXEC
|
|
;;
|
|
m68*-hp*-netbsd*)
|
|
targ_defvec=m68k4knetbsd_vec
|
|
targ_selvecs="m68knetbsd_vec hp300bsd_vec sunos_big_vec"
|
|
targ_underscore=yes
|
|
;;
|
|
m68*-*-netbsdelf*)
|
|
targ_defvec=bfd_elf32_m68k_vec
|
|
targ_selvecs="m68knetbsd_vec m68k4knetbsd_vec hp300bsd_vec sunos_big_vec"
|
|
;;
|
|
m68*-*-netbsdaout* | m68*-*-netbsd*)
|
|
targ_defvec=m68knetbsd_vec
|
|
targ_selvecs="m68k4knetbsd_vec bfd_elf32_m68k_vec hp300bsd_vec sunos_big_vec"
|
|
targ_underscore=yes
|
|
;;
|
|
m68*-*-openbsd*)
|
|
targ_defvec=m68knetbsd_vec
|
|
targ_selvecs="m68k4knetbsd_vec hp300bsd_vec sunos_big_vec"
|
|
targ_underscore=yes
|
|
;;
|
|
m68*-*-sunos* | m68*-*-os68k* | m68*-*-vxworks* | m68*-netx-* | \
|
|
m68*-*-bsd* | m68*-*-vsta*)
|
|
targ_defvec=sunos_big_vec
|
|
targ_underscore=yes
|
|
;;
|
|
m68*-ericsson-*)
|
|
targ_defvec=sunos_big_vec
|
|
targ_selvecs="m68kcoff_vec versados_vec tekhex_vec"
|
|
targ_underscore=yes
|
|
;;
|
|
m68*-cbm-*)
|
|
targ_defvec=bfd_elf32_m68k_vec
|
|
targ_selvecs=m68kcoff_vec
|
|
;;
|
|
m68*-*-psos*)
|
|
targ_defvec=bfd_elf32_m68k_vec
|
|
targ_selvecs=ieee_vec
|
|
targ_underscore=yes
|
|
;;
|
|
|
|
m88*-harris-cxux* | m88*-*-dgux* | m88*-*-sysv4*)
|
|
targ_defvec=bfd_elf32_m88k_vec
|
|
targ_selvecs=m88kbcs_vec
|
|
;;
|
|
m88*-*-mach3*)
|
|
targ_defvec=m88kmach3_vec
|
|
targ_cflags=-DSTAT_FOR_EXEC
|
|
;;
|
|
m88*-*-openbsd*)
|
|
targ_defvec=m88kopenbsd_vec
|
|
targ_underscore=yes
|
|
;;
|
|
m88*-*-*)
|
|
targ_defvec=m88kbcs_vec
|
|
targ_underscore=yes
|
|
;;
|
|
|
|
mcore-*-elf)
|
|
targ_defvec=bfd_elf32_mcore_big_vec
|
|
targ_selvecs="bfd_elf32_mcore_big_vec bfd_elf32_mcore_little_vec"
|
|
;;
|
|
mcore-*-pe)
|
|
targ_defvec=mcore_pe_big_vec
|
|
targ_selvecs="mcore_pe_big_vec mcore_pe_little_vec mcore_pei_big_vec mcore_pei_little_vec"
|
|
;;
|
|
|
|
mep-*-elf)
|
|
targ_defvec=bfd_elf32_mep_vec
|
|
targ_selvecs=bfd_elf32_mep_little_vec
|
|
;;
|
|
|
|
microblazeel*-*)
|
|
targ_defvec=bfd_elf32_microblazeel_vec
|
|
targ_selvecs=bfd_elf32_microblaze_vec
|
|
;;
|
|
|
|
microblaze*-*)
|
|
targ_defvec=bfd_elf32_microblaze_vec
|
|
targ_selvecs=bfd_elf32_microblazeel_vec
|
|
;;
|
|
|
|
mips*-big-*)
|
|
targ_defvec=ecoff_big_vec
|
|
targ_selvecs=ecoff_little_vec
|
|
;;
|
|
mips*el-*-netbsd*)
|
|
targ_defvec=bfd_elf32_tradlittlemips_vec
|
|
targ_selvecs="bfd_elf32_tradbigmips_vec bfd_elf64_tradbigmips_vec bfd_elf64_tradlittlemips_vec ecoff_little_vec ecoff_big_vec"
|
|
;;
|
|
mips*-*-netbsd*)
|
|
targ_defvec=bfd_elf32_tradbigmips_vec
|
|
targ_selvecs="bfd_elf32_tradlittlemips_vec bfd_elf64_tradbigmips_vec bfd_elf64_tradlittlemips_vec ecoff_big_vec ecoff_little_vec"
|
|
;;
|
|
mips*-dec-* | mips*el-*-ecoff*)
|
|
targ_defvec=ecoff_little_vec
|
|
targ_selvecs=ecoff_big_vec
|
|
;;
|
|
mips*-*-ecoff*)
|
|
targ_defvec=ecoff_big_vec
|
|
targ_selvecs=ecoff_little_vec
|
|
;;
|
|
#ifdef BFD64
|
|
mips*-*-irix6*)
|
|
targ_defvec=bfd_elf32_nbigmips_vec
|
|
targ_selvecs="bfd_elf32_nlittlemips_vec bfd_elf32_bigmips_vec bfd_elf32_littlemips_vec bfd_elf64_bigmips_vec bfd_elf64_littlemips_vec"
|
|
want64=true
|
|
;;
|
|
mips64*-ps2-elf*)
|
|
targ_defvec=bfd_elf32_nlittlemips_vec
|
|
targ_selvecs="bfd_elf32_nlittlemips_vec bfd_elf32_nbigmips_vec bfd_elf32_bigmips_vec bfd_elf32_littlemips_vec bfd_elf64_bigmips_vec bfd_elf64_littlemips_vec"
|
|
want64=true
|
|
;;
|
|
#endif
|
|
mips*-ps2-elf*)
|
|
targ_defvec=bfd_elf32_littlemips_vec
|
|
targ_selvecs="bfd_elf32_bigmips_vec bfd_elf32_littlemips_vec bfd_elf64_bigmips_vec bfd_elf64_littlemips_vec"
|
|
;;
|
|
mips*-*-irix5*)
|
|
targ_defvec=bfd_elf32_bigmips_vec
|
|
targ_selvecs="bfd_elf32_littlemips_vec ecoff_big_vec ecoff_little_vec"
|
|
;;
|
|
mips*-sgi-* | mips*-*-bsd*)
|
|
targ_defvec=ecoff_big_vec
|
|
targ_selvecs=ecoff_little_vec
|
|
;;
|
|
mips*-*-lnews*)
|
|
targ_defvec=ecoff_biglittle_vec
|
|
targ_selvecs="ecoff_little_vec ecoff_big_vec"
|
|
;;
|
|
mips*-*-sysv4*)
|
|
targ_defvec=bfd_elf32_tradbigmips_vec
|
|
targ_selvecs="bfd_elf32_tradlittlemips_vec ecoff_big_vec ecoff_little_vec"
|
|
;;
|
|
mips*-*-sysv* | mips*-*-riscos*)
|
|
targ_defvec=ecoff_big_vec
|
|
targ_selvecs=ecoff_little_vec
|
|
;;
|
|
#ifdef BFD64
|
|
mips*el-*-vxworks*)
|
|
targ_defvec=bfd_elf32_littlemips_vxworks_vec
|
|
targ_selvecs="bfd_elf32_littlemips_vec bfd_elf32_bigmips_vxworks_vec bfd_elf32_bigmips_vec bfd_elf64_bigmips_vec bfd_elf64_littlemips_vec"
|
|
want64=true
|
|
;;
|
|
mips*-*-vxworks*)
|
|
targ_defvec=bfd_elf32_bigmips_vxworks_vec
|
|
targ_selvecs="bfd_elf32_bigmips_vec bfd_elf32_littlemips_vxworks_vec bfd_elf32_bigmips_vec bfd_elf64_bigmips_vec bfd_elf64_littlemips_vec"
|
|
want64=true
|
|
;;
|
|
#endif
|
|
mips*el-sde-elf*)
|
|
targ_defvec=bfd_elf32_tradlittlemips_vec
|
|
targ_selvecs="bfd_elf32_tradbigmips_vec bfd_elf32_ntradbigmips_vec bfd_elf32_ntradlittlemips_vec bfd_elf64_tradbigmips_vec bfd_elf64_tradlittlemips_vec"
|
|
want64=true
|
|
;;
|
|
mips*-sde-elf* | mips*-mti-elf*)
|
|
targ_defvec=bfd_elf32_tradbigmips_vec
|
|
targ_selvecs="bfd_elf32_tradlittlemips_vec bfd_elf32_ntradbigmips_vec bfd_elf32_ntradlittlemips_vec bfd_elf64_tradbigmips_vec bfd_elf64_tradlittlemips_vec"
|
|
want64=true
|
|
;;
|
|
mips*el-*-elf* | mips*el-*-vxworks* | mips*-*-chorus*)
|
|
targ_defvec=bfd_elf32_littlemips_vec
|
|
targ_selvecs="bfd_elf32_bigmips_vec bfd_elf64_bigmips_vec bfd_elf64_littlemips_vec"
|
|
;;
|
|
mips*-*-elf* | mips*-*-rtems* | mips*-*-vxworks | mips*-*-windiss)
|
|
targ_defvec=bfd_elf32_bigmips_vec
|
|
targ_selvecs="bfd_elf32_littlemips_vec bfd_elf64_bigmips_vec bfd_elf64_littlemips_vec"
|
|
;;
|
|
mips*-*-none)
|
|
targ_defvec=bfd_elf32_bigmips_vec
|
|
targ_selvecs="bfd_elf32_littlemips_vec bfd_elf64_bigmips_vec bfd_elf64_littlemips_vec"
|
|
;;
|
|
#ifdef BFD64
|
|
mips64*-*-openbsd*)
|
|
targ_defvec=bfd_elf64_tradbigmips_vec
|
|
targ_selvecs="bfd_elf32_ntradlittlemips_vec bfd_elf32_ntradbigmips_vec bfd_elf32_tradlittlemips_vec bfd_elf32_tradbigmips_vec bfd_elf64_tradlittlemips_vec"
|
|
want64=true
|
|
;;
|
|
#endif
|
|
mips*el-*-openbsd*)
|
|
targ_defvec=bfd_elf32_littlemips_vec
|
|
targ_selvecs="bfd_elf32_bigmips_vec bfd_elf64_bigmips_vec bfd_elf64_littlemips_vec ecoff_little_vec ecoff_big_vec"
|
|
;;
|
|
mips*-*-openbsd*)
|
|
targ_defvec=bfd_elf32_bigmips_vec
|
|
targ_selvecs="bfd_elf32_littlemips_vec bfd_elf64_bigmips_vec bfd_elf64_littlemips_vec ecoff_big_vec ecoff_little_vec"
|
|
;;
|
|
#ifdef BFD64
|
|
mips64*el-*-linux*)
|
|
targ_defvec=bfd_elf32_ntradlittlemips_vec
|
|
targ_selvecs="bfd_elf32_ntradbigmips_vec bfd_elf32_tradlittlemips_vec bfd_elf32_tradbigmips_vec bfd_elf64_tradlittlemips_vec bfd_elf64_tradbigmips_vec"
|
|
want64=true
|
|
;;
|
|
mips64*-*-linux*)
|
|
targ_defvec=bfd_elf32_ntradbigmips_vec
|
|
targ_selvecs="bfd_elf32_ntradlittlemips_vec bfd_elf32_tradbigmips_vec bfd_elf32_tradlittlemips_vec bfd_elf64_tradbigmips_vec bfd_elf64_tradlittlemips_vec"
|
|
want64=true
|
|
;;
|
|
mips*el-*-linux*)
|
|
targ_defvec=bfd_elf32_tradlittlemips_vec
|
|
targ_selvecs="bfd_elf32_tradbigmips_vec ecoff_little_vec ecoff_big_vec bfd_elf32_ntradlittlemips_vec bfd_elf64_tradlittlemips_vec bfd_elf32_ntradbigmips_vec bfd_elf64_tradbigmips_vec"
|
|
want64=true
|
|
;;
|
|
mips*-*-linux*)
|
|
targ_defvec=bfd_elf32_tradbigmips_vec
|
|
targ_selvecs="bfd_elf32_tradlittlemips_vec ecoff_big_vec ecoff_little_vec bfd_elf32_ntradbigmips_vec bfd_elf64_tradbigmips_vec bfd_elf32_ntradlittlemips_vec bfd_elf64_tradlittlemips_vec"
|
|
want64=true
|
|
;;
|
|
mips64*el-*-freebsd* | mips64*el-*-kfreebsd*-gnu)
|
|
# FreeBSD vectors
|
|
targ_defvec=bfd_elf32_ntradlittlemips_freebsd_vec
|
|
targ_selvecs="bfd_elf32_ntradbigmips_freebsd_vec bfd_elf32_tradlittlemips_freebsd_vec bfd_elf32_tradbigmips_freebsd_vec bfd_elf64_tradlittlemips_freebsd_vec bfd_elf64_tradbigmips_freebsd_vec"
|
|
# Generic vectors
|
|
targ_selvecs="${targ_selvecs} bfd_elf32_ntradlittlemips_vec bfd_elf32_ntradbigmips_vec bfd_elf32_tradlittlemips_vec bfd_elf32_tradbigmips_vec bfd_elf64_tradlittlemips_vec bfd_elf64_tradbigmips_vec"
|
|
want64=true
|
|
;;
|
|
mips64*-*-freebsd* | mips64*-*-kfreebsd*-gnu)
|
|
# FreeBSD vectors
|
|
targ_defvec=bfd_elf32_ntradbigmips_freebsd_vec
|
|
targ_selvecs="bfd_elf32_ntradlittlemips_freebsd_vec bfd_elf32_tradbigmips_freebsd_vec bfd_elf32_tradlittlemips_freebsd_vec bfd_elf64_tradbigmips_freebsd_vec bfd_elf64_tradlittlemips_freebsd_vec"
|
|
# Generic vectors
|
|
targ_selvecs="${targ_selvecs} bfd_elf32_ntradbigmips_vec bfd_elf32_ntradlittlemips_vec bfd_elf32_tradbigmips_vec bfd_elf32_tradlittlemips_vec bfd_elf64_tradbigmips_vec bfd_elf64_tradlittlemips_vec"
|
|
want64=true
|
|
;;
|
|
#endif
|
|
mips*el-*-freebsd* | mips*el-*-kfreebsd*-gnu)
|
|
# FreeBSD vectors
|
|
targ_defvec=bfd_elf32_tradlittlemips_freebsd_vec
|
|
targ_selvecs="bfd_elf32_tradbigmips_freebsd_vec bfd_elf32_ntradlittlemips_freebsd_vec bfd_elf64_tradlittlemips_freebsd_vec bfd_elf32_ntradbigmips_freebsd_vec bfd_elf64_tradbigmips_freebsd_vec"
|
|
# Generic vectors
|
|
targ_selvecs="${targ_selvecs} bfd_elf32_tradlittlemips_vec bfd_elf32_tradbigmips_vec bfd_elf32_ntradlittlemips_vec bfd_elf64_tradlittlemips_vec bfd_elf32_ntradbigmips_vec bfd_elf64_tradbigmips_vec"
|
|
want64=true
|
|
;;
|
|
mips*-*-freebsd* | mips*-*-kfreebsd*-gnu)
|
|
# FreeBSD vectors
|
|
targ_defvec=bfd_elf32_tradbigmips_freebsd_vec
|
|
targ_selvecs="bfd_elf32_tradlittlemips_freebsd_vec bfd_elf32_ntradbigmips_freebsd_vec bfd_elf64_tradbigmips_freebsd_vec bfd_elf32_ntradlittlemips_freebsd_vec bfd_elf64_tradlittlemips_freebsd_vec"
|
|
# Generic vectors
|
|
targ_selvecs="${targ_selvecs} bfd_elf32_tradbigmips_vec bfd_elf32_tradlittlemips_vec bfd_elf32_ntradbigmips_vec bfd_elf64_tradbigmips_vec bfd_elf32_ntradlittlemips_vec bfd_elf64_tradlittlemips_vec"
|
|
want64=true
|
|
;;
|
|
#ifdef BFD64
|
|
mmix-*-*)
|
|
targ_defvec=bfd_elf64_mmix_vec
|
|
targ_selvecs=bfd_mmo_vec
|
|
want64=true
|
|
;;
|
|
#endif
|
|
mn10200-*-*)
|
|
targ_defvec=bfd_elf32_mn10200_vec
|
|
;;
|
|
|
|
mn10300-*-*)
|
|
targ_defvec=bfd_elf32_mn10300_vec
|
|
targ_underscore=yes
|
|
;;
|
|
|
|
mt-*-elf)
|
|
targ_defvec=bfd_elf32_mt_vec
|
|
;;
|
|
|
|
msp430-*-*)
|
|
targ_defvec=bfd_elf32_msp430_vec
|
|
;;
|
|
|
|
ns32k-pc532-mach* | ns32k-pc532-ux*)
|
|
targ_defvec=pc532machaout_vec
|
|
targ_underscore=yes
|
|
;;
|
|
ns32k-*-netbsd* | ns32k-*-lites* | ns32k-*-openbsd*)
|
|
targ_defvec=pc532netbsd_vec
|
|
targ_underscore=yes
|
|
;;
|
|
|
|
openrisc-*-elf)
|
|
targ_defvec=bfd_elf32_openrisc_vec
|
|
;;
|
|
|
|
or32-*-coff)
|
|
targ_defvec=or32coff_big_vec
|
|
targ_underscore=yes
|
|
;;
|
|
|
|
or32-*-elf)
|
|
targ_defvec=bfd_elf32_or32_big_vec
|
|
;;
|
|
|
|
pdp11-*-*)
|
|
targ_defvec=pdp11_aout_vec
|
|
targ_underscore=yes
|
|
;;
|
|
|
|
pj-*-*)
|
|
targ_defvec=bfd_elf32_pj_vec
|
|
targ_selvecs="bfd_elf32_pj_vec bfd_elf32_pjl_vec"
|
|
;;
|
|
|
|
pjl-*-*)
|
|
targ_defvec=bfd_elf32_pjl_vec
|
|
targ_selvecs="bfd_elf32_pjl_vec bfd_elf32_pj_vec bfd_elf32_i386_vec"
|
|
;;
|
|
|
|
powerpc-*-aix5.[01] | rs6000-*-aix5.[01])
|
|
targ_defvec=rs6000coff_vec
|
|
targ_selvecs="aix5coff64_vec"
|
|
want64=true
|
|
;;
|
|
#ifdef BFD64
|
|
powerpc64-*-aix5.[01] | rs6000-*-aix5.[01])
|
|
targ_defvec=aix5coff64_vec
|
|
targ_selvecs="rs6000coff_vec"
|
|
want64=true
|
|
;;
|
|
#endif
|
|
powerpc-*-aix[5-9]* | rs6000-*-aix[5-9]*)
|
|
targ_cflags=-DAIX_WEAK_SUPPORT
|
|
targ_defvec=rs6000coff_vec
|
|
targ_selvecs="aix5coff64_vec"
|
|
want64=true
|
|
;;
|
|
#ifdef BFD64
|
|
powerpc64-*-aix[5-9]* | rs6000-*-aix[5-9]*)
|
|
targ_cflags=-DAIX_WEAK_SUPPORT
|
|
targ_defvec=aix5coff64_vec
|
|
targ_selvecs="rs6000coff_vec"
|
|
want64=true
|
|
;;
|
|
#endif
|
|
|
|
powerpc-*-aix* | powerpc-*-beos* | rs6000-*-*)
|
|
targ_defvec=rs6000coff_vec
|
|
targ64_selvecs=rs6000coff64_vec
|
|
case "${targ}" in
|
|
*-*-aix4.[3456789]* | *-*-aix[56789]*)
|
|
want64=true;;
|
|
*)
|
|
targ_cflags=-DSMALL_ARCHIVE;;
|
|
esac
|
|
;;
|
|
#ifdef BFD64
|
|
powerpc64-*-aix*)
|
|
targ_defvec=rs6000coff64_vec
|
|
targ_selvecs=rs6000coff_vec
|
|
want64=true
|
|
;;
|
|
powerpc64-*-freebsd*)
|
|
targ_defvec=bfd_elf64_powerpc_freebsd_vec
|
|
targ_selvecs="bfd_elf64_powerpc_vec bfd_elf32_powerpc_vec bfd_elf32_powerpc_freebsd_vec bfd_elf32_powerpcle_vec rs6000coff_vec rs6000coff64_vec aix5coff64_vec"
|
|
want64=true
|
|
;;
|
|
powerpc64-*-elf* | powerpc-*-elf64* | powerpc64-*-linux* | \
|
|
powerpc64-*-*bsd*)
|
|
targ_defvec=bfd_elf64_powerpc_vec
|
|
targ_selvecs="bfd_elf64_powerpcle_vec bfd_elf32_powerpc_vec bfd_elf32_powerpcle_vec rs6000coff_vec rs6000coff64_vec aix5coff64_vec"
|
|
want64=true
|
|
;;
|
|
powerpc64le-*-elf* | powerpcle-*-elf64*)
|
|
targ_defvec=bfd_elf64_powerpcle_vec
|
|
targ_selvecs="bfd_elf64_powerpc_vec bfd_elf32_powerpcle_vec bfd_elf32_powerpc_vec rs6000coff_vec rs6000coff64_vec aix5coff64_vec"
|
|
want64=true
|
|
;;
|
|
#endif
|
|
powerpc-*-*freebsd*)
|
|
targ_defvec=bfd_elf32_powerpc_freebsd_vec
|
|
targ_selvecs="rs6000coff_vec bfd_elf32_powerpc_vec bfd_elf32_powerpcle_vec ppcboot_vec"
|
|
targ64_selvecs="bfd_elf64_powerpc_vec bfd_elf64_powerpcle_vec bfd_elf64_powerpc_freebsd_vec"
|
|
;;
|
|
powerpc-*-*bsd* | powerpc-*-elf* | powerpc-*-sysv4* | powerpc-*-eabi* | \
|
|
powerpc-*-solaris2* | powerpc-*-linux-* | powerpc-*-rtems* | \
|
|
powerpc-*-chorus*)
|
|
targ_defvec=bfd_elf32_powerpc_vec
|
|
targ_selvecs="rs6000coff_vec bfd_elf32_powerpcle_vec ppcboot_vec"
|
|
targ64_selvecs="bfd_elf64_powerpc_vec bfd_elf64_powerpcle_vec"
|
|
;;
|
|
powerpc-*-kaos*)
|
|
targ_defvec=bfd_elf32_powerpc_vec
|
|
targ_selvecs="bfd_elf32_powerpcle_vec ppcboot_vec"
|
|
targ64_selvecs="bfd_elf64_powerpc_vec bfd_elf64_powerpcle_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=pmac_xcoff_vec
|
|
;;
|
|
powerpc-*-lynxos*)
|
|
targ_defvec=bfd_elf32_powerpc_vec
|
|
targ_selvecs="rs6000coff_vec"
|
|
targ_cflags=-DSMALL_ARCHIVE
|
|
;;
|
|
powerpc-*-netware*)
|
|
targ_defvec=bfd_elf32_powerpc_vec
|
|
targ_selvecs="nlm32_powerpc_vec rs6000coff_vec"
|
|
;;
|
|
powerpc-*-nto*)
|
|
targ_defvec=bfd_elf32_powerpc_vec
|
|
targ_selvecs="rs6000coff_vec bfd_elf32_powerpcle_vec ppcboot_vec"
|
|
;;
|
|
powerpc-*-vxworks* | powerpc-*-windiss*)
|
|
targ_defvec=bfd_elf32_powerpc_vxworks_vec
|
|
targ_selvecs="rs6000coff_vec bfd_elf32_powerpc_vec bfd_elf32_powerpcle_vec ppcboot_vec"
|
|
targ64_selvecs="bfd_elf64_powerpc_vec bfd_elf64_powerpcle_vec"
|
|
;;
|
|
powerpcle-*-nto*)
|
|
targ_defvec=bfd_elf32_powerpcle_vec
|
|
targ_selvecs="rs6000coff_vec bfd_elf32_powerpc_vec ppcboot_vec"
|
|
;;
|
|
powerpcle-*-elf* | powerpcle-*-sysv4* | powerpcle-*-eabi* | \
|
|
powerpcle-*-solaris2* | powerpcle-*-linux-* | powerpcle-*-vxworks*)
|
|
targ_defvec=bfd_elf32_powerpcle_vec
|
|
targ_selvecs="rs6000coff_vec bfd_elf32_powerpc_vec ppcboot_vec"
|
|
targ64_selvecs="bfd_elf64_powerpc_vec bfd_elf64_powerpcle_vec"
|
|
;;
|
|
powerpcle-*-pe | powerpcle-*-winnt* | powerpcle-*-cygwin*)
|
|
targ_defvec=bfd_powerpcle_pe_vec
|
|
targ_selvecs="bfd_powerpcle_pei_vec bfd_powerpc_pei_vec bfd_powerpcle_pe_vec bfd_powerpc_pe_vec"
|
|
;;
|
|
|
|
rl78-*-elf)
|
|
targ_defvec=bfd_elf32_rl78_vec
|
|
;;
|
|
|
|
rx-*-elf)
|
|
targ_defvec=bfd_elf32_rx_le_vec
|
|
targ_selvecs="bfd_elf32_rx_be_vec bfd_elf32_rx_le_vec bfd_elf32_rx_be_ns_vec"
|
|
;;
|
|
|
|
s390-*-linux*)
|
|
targ_defvec=bfd_elf32_s390_vec
|
|
targ64_selvecs=bfd_elf64_s390_vec
|
|
want64=true
|
|
;;
|
|
#ifdef BFD64
|
|
s390x-*-linux*)
|
|
targ_defvec=bfd_elf64_s390_vec
|
|
targ_selvecs=bfd_elf32_s390_vec
|
|
want64=true
|
|
;;
|
|
s390x-*-tpf*)
|
|
targ_defvec=bfd_elf64_s390_vec
|
|
want64=true
|
|
;;
|
|
|
|
score*-*-elf*)
|
|
targ_defvec=bfd_elf32_bigscore_vec
|
|
targ_selvecs=bfd_elf32_littlescore_vec
|
|
;;
|
|
|
|
sh64l*-*-elf*)
|
|
targ_defvec=bfd_elf32_sh64l_vec
|
|
targ_selvecs="bfd_elf32_sh64_vec bfd_elf64_sh64l_vec bfd_elf64_sh64_vec bfd_elf32_shl_vec bfd_elf32_sh_vec"
|
|
targ_underscore=yes
|
|
want64=true
|
|
;;
|
|
sh64-*-elf*)
|
|
targ_defvec=bfd_elf32_sh64_vec
|
|
targ_selvecs="bfd_elf32_sh64l_vec bfd_elf64_sh64_vec bfd_elf64_sh64l_vec bfd_elf32_sh_vec bfd_elf32_shl_vec"
|
|
targ_underscore=yes
|
|
want64=true
|
|
;;
|
|
sh64eb-*-linux*)
|
|
targ_defvec=bfd_elf32_sh64blin_vec
|
|
targ_selvecs="bfd_elf32_sh64lin_vec bfd_elf64_sh64blin_vec bfd_elf64_sh64lin_vec bfd_elf32_shblin_vec bfd_elf32_shlin_vec"
|
|
want64=true
|
|
;;
|
|
sh64-*-linux*)
|
|
targ_defvec=bfd_elf32_sh64lin_vec
|
|
targ_selvecs="bfd_elf32_sh64blin_vec bfd_elf64_sh64lin_vec bfd_elf64_sh64blin_vec bfd_elf32_shlin_vec bfd_elf32_shblin_vec"
|
|
want64=true
|
|
;;
|
|
sh-*-linux*)
|
|
targ_defvec=bfd_elf32_shblin_vec
|
|
targ_selvecs="bfd_elf32_shlin_vec bfd_elf32_sh64lin_vec bfd_elf32_sh64blin_vec bfd_elf64_sh64lin_vec bfd_elf64_sh64blin_vec"
|
|
want64=true
|
|
;;
|
|
#endif /* BFD64 */
|
|
|
|
sh*eb-*-linux*)
|
|
targ_defvec=bfd_elf32_shblin_vec
|
|
targ_selvecs=bfd_elf32_shlin_vec
|
|
;;
|
|
sh*-*-linux*)
|
|
targ_defvec=bfd_elf32_shlin_vec
|
|
targ_selvecs=bfd_elf32_shblin_vec
|
|
;;
|
|
|
|
sh-*-uclinux* | sh[12]-*-uclinux*)
|
|
targ_defvec=bfd_elf32_sh_vec
|
|
targ_selvecs="bfd_elf32_shl_vec bfd_elf32_shblin_vec bfd_elf32_shlin_vec bfd_elf32_shfd_vec bfd_elf32_shbfd_vec"
|
|
#ifdef BFD64
|
|
targ_selvecs="${targ_selvecs} bfd_elf32_sh64lin_vec bfd_elf32_sh64blin_vec bfd_elf64_sh64lin_vec bfd_elf64_sh64blin_vec"
|
|
#endif
|
|
;;
|
|
|
|
#ifdef BFD64
|
|
sh5le-*-netbsd*)
|
|
targ_defvec=bfd_elf32_sh64lnbsd_vec
|
|
targ_selvecs="bfd_elf32_sh64nbsd_vec bfd_elf64_sh64lnbsd_vec bfd_elf64_sh64nbsd_vec bfd_elf32_shnbsd_vec bfd_elf32_shlnbsd_vec"
|
|
want64=true
|
|
;;
|
|
sh5-*-netbsd*)
|
|
targ_defvec=bfd_elf32_sh64nbsd_vec
|
|
targ_selvecs="bfd_elf32_sh64lnbsd_vec bfd_elf64_sh64lnbsd_vec bfd_elf64_sh64nbsd_vec bfd_elf32_shnbsd_vec bfd_elf32_shlnbsd_vec"
|
|
want64=true
|
|
;;
|
|
|
|
sh64le-*-netbsd*)
|
|
targ_defvec=bfd_elf64_sh64lnbsd_vec
|
|
targ_selvecs="bfd_elf64_sh64nbsd_vec bfd_elf32_sh64lnbsd_vec bfd_elf32_sh64nbsd_vec bfd_elf32_shnbsd_vec bfd_elf32_shlnbsd_vec"
|
|
want64=true
|
|
;;
|
|
sh64-*-netbsd*)
|
|
targ_defvec=bfd_elf64_sh64nbsd_vec
|
|
targ_selvecs="bfd_elf64_sh64lnbsd_vec bfd_elf32_sh64lnbsd_vec bfd_elf32_sh64nbsd_vec bfd_elf32_shnbsd_vec bfd_elf32_shlnbsd_vec"
|
|
want64=true
|
|
;;
|
|
|
|
sh*l*-*-netbsdelf*)
|
|
targ_defvec=bfd_elf32_shlnbsd_vec
|
|
targ_selvecs="bfd_elf32_shnbsd_vec shcoff_vec shlcoff_vec bfd_elf32_sh64lnbsd_vec bfd_elf32_sh64nbsd_vec bfd_elf64_sh64lnbsd_vec bfd_elf64_sh64nbsd_vec"
|
|
want64=true
|
|
;;
|
|
sh-*-netbsdelf*)
|
|
targ_defvec=bfd_elf32_shnbsd_vec
|
|
targ_selvecs="bfd_elf32_shlnbsd_vec shcoff_vec shlcoff_vec bfd_elf32_sh64lnbsd_vec bfd_elf32_sh64nbsd_vec bfd_elf64_sh64lnbsd_vec bfd_elf64_sh64nbsd_vec"
|
|
want64=true
|
|
;;
|
|
#endif
|
|
|
|
sh*-*-netbsdelf*)
|
|
targ_defvec=bfd_elf32_shnbsd_vec
|
|
targ_selvecs="bfd_elf32_shlnbsd_vec shcoff_vec shlcoff_vec"
|
|
;;
|
|
sh*-*-symbianelf*)
|
|
targ_defvec=bfd_elf32_shl_symbian_vec
|
|
targ_selvecs="shlcoff_vec shlcoff_small_vec"
|
|
targ_underscore=yes
|
|
;;
|
|
|
|
#ifdef BFD64
|
|
shl*-*-elf* | sh[1234]l*-*-elf* | sh3el*-*-elf* | shl*-*-kaos*)
|
|
targ_defvec=bfd_elf32_shl_vec
|
|
targ_selvecs="bfd_elf32_sh_vec shlcoff_vec shcoff_vec shlcoff_small_vec shcoff_small_vec bfd_elf32_sh64_vec bfd_elf32_sh64l_vec bfd_elf64_sh64_vec bfd_elf64_sh64l_vec"
|
|
targ_underscore=yes
|
|
want64=true
|
|
;;
|
|
#endif
|
|
|
|
sh-*-rtemscoff*)
|
|
targ_defvec=shcoff_vec
|
|
targ_selvecs="shcoff_vec shlcoff_vec shcoff_small_vec shlcoff_small_vec"
|
|
targ_underscore=yes
|
|
;;
|
|
|
|
#ifdef BFD64
|
|
sh-*-elf* | sh[1234]*-elf* | sh-*-rtems* | sh-*-kaos*)
|
|
targ_defvec=bfd_elf32_sh_vec
|
|
targ_selvecs="bfd_elf32_shl_vec shcoff_vec shlcoff_vec shcoff_small_vec shlcoff_small_vec bfd_elf32_sh64_vec bfd_elf32_sh64l_vec bfd_elf64_sh64_vec bfd_elf64_sh64l_vec"
|
|
targ_underscore=yes
|
|
want64=true
|
|
;;
|
|
#endif
|
|
|
|
sh-*-nto*)
|
|
targ_defvec=bfd_elf32_sh_vec
|
|
targ_selvecs="bfd_elf32_shl_vec shcoff_vec shlcoff_vec shcoff_small_vec shlcoff_small_vec"
|
|
targ_underscore=yes
|
|
;;
|
|
sh*-*-openbsd*)
|
|
targ_defvec=bfd_elf32_shlnbsd_vec
|
|
targ_selvecs="bfd_elf32_shnbsd_vec shcoff_vec shlcoff_vec"
|
|
;;
|
|
sh-*-pe)
|
|
targ_defvec=shlpe_vec
|
|
targ_selvecs="shlpe_vec shlpei_vec"
|
|
targ_underscore=yes
|
|
;;
|
|
sh-*-vxworks)
|
|
targ_defvec=bfd_elf32_shvxworks_vec
|
|
targ_selvecs="bfd_elf32_shlvxworks_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 shcoff_vec shlcoff_vec shcoff_small_vec shlcoff_small_vec"
|
|
targ_underscore=yes
|
|
;;
|
|
sh-*-*)
|
|
targ_defvec=shcoff_vec
|
|
targ_selvecs="shcoff_vec shlcoff_vec shcoff_small_vec shlcoff_small_vec"
|
|
targ_underscore=yes
|
|
;;
|
|
|
|
sparclet-*-aout*)
|
|
targ_defvec=sunos_big_vec
|
|
targ_selvecs=sparcle_aout_vec
|
|
targ_underscore=yes
|
|
;;
|
|
sparc86x-*-aout*)
|
|
targ_defvec=sunos_big_vec
|
|
targ_underscore=yes
|
|
;;
|
|
sparclite-*-elf* | sparc86x-*-elf*)
|
|
targ_defvec=bfd_elf32_sparc_vec
|
|
;;
|
|
sparc*-*-chorus*)
|
|
targ_defvec=bfd_elf32_sparc_vec
|
|
;;
|
|
sparc-*-linux*aout*)
|
|
targ_defvec=sparclinux_vec
|
|
targ_selvecs="bfd_elf32_sparc_vec sunos_big_vec"
|
|
targ_underscore=yes
|
|
;;
|
|
sparc-*-linux-* | sparcv*-*-linux-*)
|
|
targ_defvec=bfd_elf32_sparc_vec
|
|
targ_selvecs="sparclinux_vec bfd_elf64_sparc_vec sunos_big_vec"
|
|
;;
|
|
sparc-*-netbsdelf*)
|
|
targ_defvec=bfd_elf32_sparc_vec
|
|
targ_selvecs=sparcnetbsd_vec
|
|
;;
|
|
sparc-*-netbsdaout* | sparc-*-netbsd*)
|
|
targ_defvec=sparcnetbsd_vec
|
|
targ_selvecs=bfd_elf32_sparc_vec
|
|
targ_underscore=yes
|
|
;;
|
|
sparc-*-openbsd[0-2].* | sparc-*-openbsd3.[0-1])
|
|
targ_defvec=sparcnetbsd_vec
|
|
targ_underscore=yes
|
|
;;
|
|
sparc-*-openbsd*)
|
|
targ_defvec=bfd_elf32_sparc_vec
|
|
targ_selvecs=sparcnetbsd_vec
|
|
;;
|
|
sparc-*-elf*)
|
|
targ_defvec=bfd_elf32_sparc_vec
|
|
targ_selvecs=sunos_big_vec
|
|
;;
|
|
sparc-*-solaris2.[0-6] | sparc-*-solaris2.[0-6].*)
|
|
targ_defvec=bfd_elf32_sparc_sol2_vec
|
|
targ_selvecs=sunos_big_vec
|
|
;;
|
|
#ifdef BFD64
|
|
sparc-*-solaris2* | sparcv9-*-solaris2* | sparc64-*-solaris2*)
|
|
targ_defvec=bfd_elf32_sparc_sol2_vec
|
|
targ_selvecs="bfd_elf64_sparc_sol2_vec sunos_big_vec"
|
|
want64=true
|
|
;;
|
|
#endif
|
|
sparc-*-sysv4*)
|
|
targ_defvec=bfd_elf32_sparc_vec
|
|
;;
|
|
sparc-*-vxworks*)
|
|
targ_defvec=bfd_elf32_sparc_vxworks_vec
|
|
targ_selvecs="bfd_elf32_sparc_vec sunos_big_vec"
|
|
;;
|
|
sparc-*-netware*)
|
|
targ_defvec=bfd_elf32_sparc_vec
|
|
targ_selvecs="nlm32_sparc_vec sunos_big_vec"
|
|
;;
|
|
#ifdef BFD64
|
|
sparc64-*-aout*)
|
|
targ_defvec=sunos_big_vec
|
|
targ_underscore=yes
|
|
want64=true
|
|
;;
|
|
sparc64*-*-linux-*)
|
|
targ_defvec=bfd_elf64_sparc_vec
|
|
targ_selvecs="bfd_elf32_sparc_vec sparclinux_vec sunos_big_vec"
|
|
want64=true
|
|
;;
|
|
sparc64-*-elf* | sparc64-*-rtems* )
|
|
targ_defvec=bfd_elf64_sparc_vec
|
|
targ_selvecs=bfd_elf32_sparc_vec
|
|
want64=true
|
|
;;
|
|
#endif /* BFD64 */
|
|
sparc*-*-coff*)
|
|
targ_defvec=sparccoff_vec
|
|
;;
|
|
sparc-*-rtems*)
|
|
targ_defvec=bfd_elf32_sparc_vec
|
|
targ_selvecs="sunos_big_vec sparccoff_vec"
|
|
;;
|
|
sparc*-*-*)
|
|
targ_defvec=sunos_big_vec
|
|
targ_underscore=yes
|
|
;;
|
|
|
|
spu-*-elf)
|
|
targ_defvec=bfd_elf32_spu_vec
|
|
want64=true
|
|
;;
|
|
|
|
#if HAVE_host_aout_vec
|
|
tahoe-*-*)
|
|
targ_defvec=host_aout_vec
|
|
targ_underscore=yes
|
|
;;
|
|
#endif
|
|
|
|
tic6x-*-elf)
|
|
targ_defvec=bfd_elf32_tic6x_elf_le_vec
|
|
targ_selvecs="bfd_elf32_tic6x_elf_be_vec bfd_elf32_tic6x_le_vec bfd_elf32_tic6x_be_vec"
|
|
;;
|
|
|
|
tic6x-*-uclinux)
|
|
targ_defvec=bfd_elf32_tic6x_linux_le_vec
|
|
targ_selvecs="bfd_elf32_tic6x_linux_be_vec bfd_elf32_tic6x_le_vec bfd_elf32_tic6x_be_vec"
|
|
;;
|
|
|
|
tic80*-*-*)
|
|
targ_defvec=tic80coff_vec
|
|
targ_underscore=yes
|
|
;;
|
|
|
|
#ifdef BFD64
|
|
tilegx-*-*)
|
|
targ_defvec=bfd_elf64_tilegx_le_vec
|
|
targ_selvecs="bfd_elf64_tilegx_be_vec bfd_elf32_tilegx_be_vec bfd_elf32_tilegx_le_vec"
|
|
;;
|
|
tilegxbe-*-*)
|
|
targ_defvec=bfd_elf64_tilegx_be_vec
|
|
targ_selvecs="bfd_elf64_tilegx_le_vec bfd_elf32_tilegx_be_vec bfd_elf32_tilegx_le_vec"
|
|
;;
|
|
#endif
|
|
|
|
tilepro-*-*)
|
|
targ_defvec=bfd_elf32_tilepro_vec
|
|
;;
|
|
|
|
v850*-*-*)
|
|
targ_defvec=bfd_elf32_v850_vec
|
|
targ_selvecs="bfd_elf32_v850_rh850_vec"
|
|
;;
|
|
|
|
vax-*-netbsdelf*)
|
|
targ_defvec=bfd_elf32_vax_vec
|
|
targ_selvecs="vaxnetbsd_vec vax1knetbsd_vec"
|
|
;;
|
|
|
|
vax-*-netbsdaout* | vax-*-netbsd*)
|
|
targ_defvec=vaxnetbsd_vec
|
|
targ_selvecs="bfd_elf32_vax_vec vax1knetbsd_vec"
|
|
targ_underscore=yes
|
|
;;
|
|
|
|
vax-*-bsd* | vax-*-ultrix*)
|
|
targ_defvec=vaxbsd_vec
|
|
targ_underscore=yes
|
|
;;
|
|
|
|
vax-*-openbsd*)
|
|
targ_defvec=vaxnetbsd_vec
|
|
targ_underscore=yes
|
|
;;
|
|
|
|
vax-*-linux-*)
|
|
targ_defvec=bfd_elf32_vax_vec
|
|
;;
|
|
|
|
we32k-*-*)
|
|
targ_defvec=we32kcoff_vec
|
|
;;
|
|
|
|
w65-*-*)
|
|
targ_defvec=w65_vec
|
|
;;
|
|
|
|
xgate-*-*)
|
|
targ_defvec=bfd_elf32_xgate_vec
|
|
targ_selvecs="bfd_elf32_xgate_vec"
|
|
;;
|
|
|
|
xstormy16-*-elf)
|
|
targ_defvec=bfd_elf32_xstormy16_vec
|
|
;;
|
|
|
|
xtensa*-*-*)
|
|
targ_defvec=bfd_elf32_xtensa_le_vec
|
|
targ_selvecs=bfd_elf32_xtensa_be_vec
|
|
;;
|
|
xc16x-*-elf)
|
|
targ_defvec=bfd_elf32_xc16x_vec
|
|
;;
|
|
|
|
z80-*-*)
|
|
targ_defvec=z80coff_vec
|
|
targ_underscore=no
|
|
;;
|
|
|
|
z8k*-*-*)
|
|
targ_defvec=z8kcoff_vec
|
|
targ_underscore=yes
|
|
;;
|
|
|
|
*-*-ieee*)
|
|
targ_defvec=ieee_vec
|
|
;;
|
|
|
|
*-adobe-*)
|
|
targ_defvec=a_out_adobe_vec
|
|
targ_underscore=yes
|
|
;;
|
|
|
|
*-sony-*)
|
|
targ_defvec=newsos3_vec
|
|
targ_underscore=yes
|
|
;;
|
|
|
|
*-tandem-*)
|
|
targ_defvec=m68kcoff_vec
|
|
targ_selvecs=ieee_vec
|
|
;;
|
|
# 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
|
|
|
|
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
|
|
*bfd_elf64* | *bfd_elf32_n*mips*)
|
|
targ_selvecs="${targ_selvecs} bfd_elf64_little_generic_vec bfd_elf64_big_generic_vec bfd_elf32_little_generic_vec bfd_elf32_big_generic_vec"
|
|
;;
|
|
*bfd_elf32*)
|
|
targ_selvecs="${targ_selvecs} bfd_elf32_little_generic_vec bfd_elf32_big_generic_vec"
|
|
;;
|
|
esac
|
|
|
|
# If we support Intel L1OM target, then add support for bfd_l1om_arch.
|
|
case "${targ_defvec} ${targ_selvecs}" in
|
|
*bfd_elf64_l1om_vec*)
|
|
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
|
|
*bfd_elf64_k1om_vec*)
|
|
targ_archs="$targ_archs bfd_k1om_arch"
|
|
;;
|
|
esac
|