133965Sjdp# config.bfd
233965Sjdp# Convert a canonical host type into a BFD host type.
333965Sjdp# Set shell variable targ to canonical target name, and run
433965Sjdp# using ``. config.bfd''.
533965Sjdp# Sets the following shell variables:
633965Sjdp#  targ_defvec		Default vector for this target
733965Sjdp#  targ_selvecs		Vectors to build for this target
889857Sobrien#  targ64_selvecs	Vectors to build if --enable-64-bit-bfd is given
989857Sobrien#			or if host is 64 bit.
1033965Sjdp#  targ_archs		Architectures for this target
1133965Sjdp#  targ_cflags		$(CFLAGS) for this target (FIXME: pretty bogus)
1233965Sjdp#  targ_underscore	Whether underscores are used: yes or no
1333965Sjdp
1433965Sjdp# Part of this file is processed by targmatch.sed to generate the
1533965Sjdp# targmatch.h file.  The #ifdef and #endif lines that appear below are
1633965Sjdp# copied directly into targmatch.h.
1733965Sjdp
1833965Sjdp# The binutils c++filt program wants to know whether underscores are
1933965Sjdp# stripped or not.  That is why we set targ_underscore.  c++filt uses
2033965Sjdp# this information to choose a default.  This information is
2133965Sjdp# duplicated in the symbol_leading_char field of the BFD target
2233965Sjdp# vector, but c++filt does not deal with object files and is not
2333965Sjdp# linked against libbfd.a.  It is not terribly important that c++filt
2433965Sjdp# get this right; it is just convenient.
2533965Sjdp
2633965Sjdptarg_defvec=
2733965Sjdptarg_selvecs=
2889857Sobrientarg64_selvecs=
2933965Sjdptarg_cflags=
3033965Sjdptarg_underscore=no
3133965Sjdp
32130561Sobrien# Catch obsolete configurations.
33130561Sobriencase $targ in
34218822Sdim maxq-*-coff | \
35218822Sdim null)
36130561Sobrien    if test "x$enable_obsolete" != xyes; then
37130561Sobrien      echo "*** Configuration $targ is obsolete." >&2
38130561Sobrien      echo "*** Specify --enable-obsolete to build it anyway." >&2
39130561Sobrien      echo "*** Support will be REMOVED in the next major release of BINUTILS," >&2
40130561Sobrien      echo "*** unless a maintainer comes forward." >&2
41130561Sobrien      exit 1
42130561Sobrien    fi;;
43130561Sobrienesac
44130561Sobrien
45218822Sdimcase $targ in
46218822Sdim m68*-apple-aux* | \
47218822Sdim m68*-apollo-* | \
48218822Sdim m68*-bull-sysv* | \
49218822Sdim m68*-*-rtemscoff* | \
50218822Sdim i960-*-rtems* | \
51218822Sdim or32-*-rtems* | \
52218822Sdim m68*-*-lynxos* | \
53218822Sdim sparc-*-lynxos* | \
54218822Sdim vax-*-vms* | \
55218822Sdim arm-*-oabi | \
56218822Sdim thumb-*-oabi | \
57218822Sdim a29k-* | \
58218822Sdim hppa*-*-rtems* | \
59218822Sdim *-go32-rtems* | \
60218822Sdim i[3-7]86*-*-rtemscoff* | \
61218822Sdim mips*el-*-rtems* | \
62218822Sdim powerpcle-*-rtems* | \
63218822Sdim sparc*-*-rtemsaout* | \
64218822Sdim null)
65218822Sdim    echo "*** Configuration $targ is obsolete." >&2
66218822Sdim    echo "*** Support has been REMOVED." >&2
67218822Sdim    exit 1
68218822Sdim    ;;
69218822Sdimesac
70130561Sobrien
7133965Sjdptarg_cpu=`echo $targ | sed 's/^\([^-]*\)-\([^-]*\)-\(.*\)$/\1/'`
7233965Sjdpcase "${targ_cpu}" in
73218822Sdimalpha*)		 targ_archs=bfd_alpha_arch ;;
74218822Sdimarm*)		 targ_archs=bfd_arm_arch ;;
75218822Sdimbfin*)		 targ_archs=bfd_bfin_arch ;;
76218822Sdimc30*)		 targ_archs=bfd_tic30_arch ;;
77218822Sdimc4x*)		 targ_archs=bfd_tic4x_arch ;;
78218822Sdimc54x*)		 targ_archs=bfd_tic54x_arch ;;
79218822Sdimcr16*)		 targ_archs=bfd_cr16_arch ;;
80218822Sdimcrisv32)	 targ_archs=bfd_cris_arch ;;
81218822Sdimcrx*)		 targ_archs=bfd_crx_arch ;;
82104834Sobriendlx*)		 targ_archs=bfd_dlx_arch ;;
83218822Sdimfido*)		 targ_archs=bfd_m68k_arch ;;
84218822Sdimhppa*)		 targ_archs=bfd_hppa_arch ;;
85218822Sdimi[3-7]86)	 targ_archs=bfd_i386_arch ;;
86218822Sdimi370)		 targ_archs=bfd_i370_arch ;;
8777298Sobrienm6811*|m68hc11*) targ_archs="bfd_m68hc11_arch bfd_m68hc12_arch" ;;
8877298Sobrienm6812*|m68hc12*) targ_archs="bfd_m68hc12_arch bfd_m68hc11_arch" ;;
89218822Sdimm68*)		 targ_archs=bfd_m68k_arch ;;
90218822Sdimm88*)		 targ_archs=bfd_m88k_arch ;;
91218822Sdimmaxq*)		 targ_archs=bfd_maxq_arch ;;
92218822Sdimmips*)		 targ_archs=bfd_mips_arch ;;
9391041Sobrienor32*)		 targ_archs=bfd_or32_arch ;;
94218822Sdimpdp11*)		 targ_archs=bfd_pdp11_arch ;;
95218822Sdimpj*)		 targ_archs="bfd_pj_arch bfd_i386_arch";;
96218822Sdimpowerpc*)	 targ_archs="bfd_rs6000_arch bfd_powerpc_arch" ;;
97218822Sdimrs6000)		 targ_archs="bfd_rs6000_arch bfd_powerpc_arch" ;;
98218822Sdims390*)		 targ_archs=bfd_s390_arch ;;
99218822Sdimsh*)		 targ_archs=bfd_sh_arch ;;
100218822Sdimsparc*)		 targ_archs=bfd_sparc_arch ;;
101218822Sdimspu*)            targ_archs=bfd_spu_arch ;;
102218822Sdimstrongarm*)	 targ_archs=bfd_arm_arch ;;
103218822Sdimthumb*)		 targ_archs=bfd_arm_arch ;;
104218822Sdimv850*)		 targ_archs=bfd_v850_arch ;;
105218822Sdimx86_64*)	 targ_archs=bfd_i386_arch ;;
106218822Sdimxscale*)	 targ_archs=bfd_arm_arch ;;
107218822Sdimxtensa*)	 targ_archs=bfd_xtensa_arch ;;
108218822Sdimz80|r800)	 targ_archs=bfd_z80_arch ;;
109218822Sdimz8k*)		 targ_archs=bfd_z8k_arch ;;
110218822Sdimam33_2.0)	 targ_archs=bfd_mn10300_arch ;;
111218822Sdim*)		 targ_archs=bfd_${targ_cpu}_arch ;;
11233965Sjdpesac
11333965Sjdp
11438889Sjdp
11533965Sjdp# WHEN ADDING ENTRIES TO THIS MATRIX:
11633965Sjdp#  Make sure that the left side always has two dashes.  Otherwise you
11733965Sjdp#  can get spurious matches.  Even for unambiguous cases, do this as a
11833965Sjdp#  convention, else the table becomes a real mess to understand and maintain.
119130561Sobrien#
120130561Sobrien#  Keep obsolete entries above the START comment, to keep them out of
121130561Sobrien#  targmatch.h.
12233965Sjdp
12333965Sjdpcase "${targ}" in
124130561Sobrien  mips*-dec-bsd*)
125130561Sobrien    echo "This target is obsolete and has been removed."
126130561Sobrien    exit 1
127130561Sobrien    ;;
128130561Sobrien
129130561Sobrien  mips*-*-mach3*)
130130561Sobrien    echo "This target is obsolete and has been removed."
131130561Sobrien    exit 1
132130561Sobrien    ;;
133130561Sobrien
134130561Sobrien  mips*-*-pe*)
135130561Sobrien    echo "This target is obsolete and has been removed."
136130561Sobrien    exit 1
137130561Sobrien    ;;
138130561Sobrien
13933965Sjdp# START OF targmatch.h
14033965Sjdp#ifdef BFD64
141130561Sobrien  alpha*-*-freebsd* | alpha*-*-kfreebsd*-gnu)
142104834Sobrien    targ_defvec=bfd_elf64_alpha_freebsd_vec
143218822Sdim    targ_selvecs="bfd_elf64_alpha_vec ecoffalpha_little_vec"
144218822Sdim    want64=true
145104834Sobrien    # FreeBSD <= 4.0 supports only the old nonstandard way of ABI labelling.
146104834Sobrien    case "${targ}" in
147104834Sobrien      alpha*-*-freebsd3* | alpha*-*-freebsd4 | alpha*-*-freebsd4.0*)
148104834Sobrien	targ_cflags=-DOLD_FREEBSD_ABI_LABEL ;;
149104834Sobrien    esac
150104834Sobrien    ;;
151104834Sobrien  alpha*-*-netbsd* | alpha*-*-openbsd*)
15238889Sjdp    targ_defvec=bfd_elf64_alpha_vec
15338889Sjdp    targ_selvecs=ecoffalpha_little_vec
154218822Sdim    want64=true
15538889Sjdp    ;;
15638889Sjdp  alpha*-*-netware*)
15733965Sjdp    targ_defvec=ecoffalpha_little_vec
15833965Sjdp    targ_selvecs=nlm32_alpha_vec
159218822Sdim    want64=true
16033965Sjdp    ;;
16138889Sjdp  alpha*-*-linuxecoff*)
16233965Sjdp    targ_defvec=ecoffalpha_little_vec
16333965Sjdp    targ_selvecs=bfd_elf64_alpha_vec
164218822Sdim    want64=true
16533965Sjdp    ;;
166218822Sdim  alpha*-*-linux-* | alpha*-*-elf*)
16733965Sjdp    targ_defvec=bfd_elf64_alpha_vec
16833965Sjdp    targ_selvecs=ecoffalpha_little_vec
169218822Sdim    want64=true
17033965Sjdp    ;;
17138889Sjdp  alpha*-*-*vms*)
17260484Sobrien    targ_defvec=vms_alpha_vec
173218822Sdim    want64=true
17433965Sjdp    ;;
17538889Sjdp  alpha*-*-*)
17633965Sjdp    targ_defvec=ecoffalpha_little_vec
177218822Sdim    want64=true
17833965Sjdp    ;;
179218822Sdim  ia64*-*-freebsd* | ia64*-*-kfreebsd*-gnu)
180218822Sdim    targ_defvec=bfd_elf64_ia64_freebsd_vec
181218822Sdim    targ_selvecs="bfd_elf64_ia64_little_vec bfd_elf64_ia64_big_vec bfd_efi_app_ia64_vec"
182218822Sdim    want64=true
183218822Sdim    ;;
184218822Sdim  ia64*-*-netbsd* | ia64*-*-linux-* | ia64*-*-elf*)
18577298Sobrien    targ_defvec=bfd_elf64_ia64_little_vec
18677298Sobrien    targ_selvecs="bfd_elf64_ia64_big_vec bfd_efi_app_ia64_vec"
187218822Sdim    want64=true
18877298Sobrien    ;;
18977298Sobrien  ia64*-*-hpux*)
19089857Sobrien    targ_defvec=bfd_elf32_ia64_hpux_big_vec
19189857Sobrien    targ_selvecs="bfd_elf64_ia64_hpux_big_vec"
192218822Sdim    want64=true
19377298Sobrien    ;;
194218822Sdim  sparc64-*-freebsd* | sparc64-*-kfreebsd*-gnu)
195218822Sdim    targ_defvec=bfd_elf64_sparc_freebsd_vec
196218822Sdim    targ_selvecs="bfd_elf64_sparc_vec bfd_elf32_sparc_vec sunos_big_vec"
197218822Sdim    ;;
198218822Sdim  sparc64-*-netbsd* | sparc64-*-openbsd*)
19968765Sobrien    targ_defvec=bfd_elf64_sparc_vec
20068765Sobrien    targ_selvecs="bfd_elf32_sparc_vec sunos_big_vec"
201218822Sdim    want64=true
20268765Sobrien    ;;
20333965Sjdp#endif /* BFD64 */
20433965Sjdp
205130561Sobrien  am33_2.0-*-linux*)
206130561Sobrien    targ_defvec=bfd_elf32_am33lin_vec
207130561Sobrien    ;;
20838889Sjdp  arc-*-elf*)
20938889Sjdp    targ_defvec=bfd_elf32_littlearc_vec
21038889Sjdp    targ_selvecs=bfd_elf32_bigarc_vec
21138889Sjdp    ;;
21238889Sjdp
213104834Sobrien  armeb-*-netbsdelf*)
214104834Sobrien    targ_defvec=bfd_elf32_bigarm_vec
215104834Sobrien    targ_selvecs="bfd_elf32_littlearm_vec armnetbsd_vec"
216104834Sobrien    ;;
21789857Sobrien  arm-*-netbsdelf*)
21889857Sobrien    targ_defvec=bfd_elf32_littlearm_vec
21989857Sobrien    targ_selvecs="bfd_elf32_bigarm_vec armnetbsd_vec"
22089857Sobrien    ;;
22189857Sobrien  arm-*-netbsd* | arm-*-openbsd*)
22260484Sobrien    targ_defvec=armnetbsd_vec
223104834Sobrien    targ_selvecs="bfd_elf32_littlearm_vec bfd_elf32_bigarm_vec"
22460484Sobrien    targ_underscore=yes
225130561Sobrien    targ_cflags=-D__QNXTARGET__
22660484Sobrien    ;;
227130561Sobrien  arm-*-nto* | nto*arm*)
228130561Sobrien    targ_defvec=bfd_elf32_littlearm_vec
229130561Sobrien    targ_selvecs=bfd_elf32_bigarm_vec
230130561Sobrien    ;;
23133965Sjdp  arm-*-riscix*)
23233965Sjdp    targ_defvec=riscix_vec
23333965Sjdp    ;;
23460484Sobrien  arm-epoc-pe*)
23560484Sobrien    targ_defvec=arm_epoc_pe_little_vec
23660484Sobrien    targ_selvecs="arm_epoc_pe_little_vec arm_epoc_pe_big_vec arm_epoc_pei_little_vec arm_epoc_pei_big_vec"
23760484Sobrien    targ_underscore=no
23889857Sobrien    targ_cflags=-DARM_COFF_BUGFIX
23960484Sobrien    ;;
24060484Sobrien  arm-wince-pe | arm-*-wince)
241218822Sdim    targ_defvec=arm_wince_pe_little_vec
242218822Sdim    targ_selvecs="arm_wince_pe_little_vec arm_wince_pe_big_vec arm_wince_pei_little_vec arm_wince_pei_big_vec"
24360484Sobrien    targ_underscore=no
244130561Sobrien    targ_cflags="-DARM_WINCE -DARM_COFF_BUGFIX"
24560484Sobrien    ;;
24633965Sjdp  arm-*-pe*)
24733965Sjdp    targ_defvec=armpe_little_vec
24833965Sjdp    targ_selvecs="armpe_little_vec armpe_big_vec armpei_little_vec armpei_big_vec"
24933965Sjdp    targ_underscore=yes
25033965Sjdp    ;;
25177298Sobrien  arm-*-aout | armel-*-aout)
25233965Sjdp    targ_defvec=aout_arm_little_vec
25333965Sjdp    targ_selvecs=aout_arm_big_vec
25433965Sjdp    ;;
25533965Sjdp  armeb-*-aout)
25633965Sjdp    targ_defvec=aout_arm_big_vec
25733965Sjdp    targ_selvecs=aout_arm_little_vec
25833965Sjdp    ;;
25989857Sobrien  arm-*-coff)
26078828Sobrien    targ_defvec=armcoff_little_vec
26178828Sobrien    targ_selvecs=armcoff_big_vec
26278828Sobrien    targ_underscore=yes
26378828Sobrien    ;;
26477298Sobrien  arm-*-rtems*)
26577298Sobrien    targ_defvec=bfd_elf32_littlearm_vec
26677298Sobrien    targ_selvecs=bfd_elf32_bigarm_vec
26777298Sobrien    ;;
268218822Sdim  armeb-*-elf | arm*b-*-linux-*)
26968765Sobrien    targ_defvec=bfd_elf32_bigarm_vec
27068765Sobrien    targ_selvecs=bfd_elf32_littlearm_vec
27168765Sobrien    ;;
272130561Sobrien  arm-*-kaos* | strongarm-*-kaos*)
27360484Sobrien    targ_defvec=bfd_elf32_littlearm_vec
27460484Sobrien    targ_selvecs=bfd_elf32_bigarm_vec
27560484Sobrien    ;;
276206619Simp  armeb-*-freebsd*)
277206619Simp    targ_defvec=bfd_elf32_bigarm_vec
278206619Simp    targ_selvecs=bfd_elf32_littlearm_vec
279206619Simp    ;;
280239272Sgonzo  armv6eb-*-freebsd*)
281239272Sgonzo    targ_defvec=bfd_elf32_bigarm_vec
282239272Sgonzo    targ_selvecs=bfd_elf32_littlearm_vec
283239272Sgonzo    ;;
284239272Sgonzo  armv6-*-freebsd*)
285239272Sgonzo    targ_defvec=bfd_elf32_littlearm_vec
286239272Sgonzo    targ_selvecs=bfd_elf32_bigarm_vec
287239272Sgonzo    ;;
288218822Sdim  arm-*-elf | arm-*-freebsd* | arm*-*-linux-* | arm*-*-conix* | \
289218822Sdim  arm*-*-uclinux* | arm-*-kfreebsd*-gnu | \
290218822Sdim  arm*-*-eabi* )
291130561Sobrien    targ_defvec=bfd_elf32_littlearm_vec
292130561Sobrien    targ_selvecs=bfd_elf32_bigarm_vec
293130561Sobrien    ;;
294218822Sdim  arm*-*-vxworks | arm*-*-windiss)
295218822Sdim    targ_defvec=bfd_elf32_littlearm_vxworks_vec
296218822Sdim    targ_selvecs=bfd_elf32_bigarm_vxworks_vec
297218822Sdim    ;;
298218822Sdim  arm*-*-symbianelf*)
299218822Sdim    targ_defvec=bfd_elf32_littlearm_symbian_vec
300218822Sdim    targ_selvecs=bfd_elf32_bigarm_symbian_vec
301218822Sdim    ;;
30289857Sobrien  arm9e-*-elf)
30389857Sobrien    targ_defvec=bfd_elf32_littlearm_vec
30489857Sobrien    targ_selvecs=bfd_elf32_bigarm_vec
30589857Sobrien    ;;
30660484Sobrien
30738889Sjdp  thumb-*-coff)
30838889Sjdp    targ_defvec=armcoff_little_vec
30938889Sjdp    targ_selvecs=armcoff_big_vec
31038889Sjdp    targ_underscore=yes
31138889Sjdp    ;;
31260484Sobrien  thumb-*-elf)
31360484Sobrien    targ_defvec=bfd_elf32_littlearm_vec
31460484Sobrien    targ_selvecs=bfd_elf32_bigarm_vec
31560484Sobrien    ;;
31660484Sobrien  thumb-epoc-pe*)
31760484Sobrien    targ_defvec=arm_epoc_pe_little_vec
31860484Sobrien    targ_selvecs="arm_epoc_pe_little_vec arm_epoc_pe_big_vec arm_epoc_pei_little_vec arm_epoc_pei_big_vec"
31960484Sobrien    targ_underscore=no
32060484Sobrien    ;;
32138889Sjdp  thumb-*-pe*)
32238889Sjdp    targ_defvec=armpe_little_vec
32338889Sjdp    targ_selvecs="armpe_little_vec armpe_big_vec armpei_little_vec armpei_big_vec"
32438889Sjdp    targ_underscore=yes
32538889Sjdp    ;;
32660484Sobrien  strongarm-*-elf)
32760484Sobrien    targ_defvec=bfd_elf32_littlearm_vec
32860484Sobrien    targ_selvecs=bfd_elf32_bigarm_vec
32960484Sobrien    ;;
33060484Sobrien  strongarm-*-coff)
33160484Sobrien    targ_defvec=armcoff_little_vec
33260484Sobrien    targ_selvecs=armcoff_big_vec
33360484Sobrien    targ_underscore=yes
33460484Sobrien    ;;
33577298Sobrien  xscale-*-elf)
33677298Sobrien    targ_defvec=bfd_elf32_littlearm_vec
33777298Sobrien    targ_selvecs=bfd_elf32_bigarm_vec
33877298Sobrien    ;;
33977298Sobrien  xscale-*-coff)
34077298Sobrien    targ_defvec=armcoff_little_vec
34177298Sobrien    targ_selvecs=armcoff_big_vec
34277298Sobrien    targ_underscore=yes
34377298Sobrien    ;;
34460484Sobrien
345218822Sdim  avr-*-*)
346218822Sdim    targ_defvec=bfd_elf32_avr_vec
34733965Sjdp    ;;
348218822Sdim
349218822Sdim  bfin-*-*)
350218822Sdim    targ_defvec=bfd_elf32_bfin_vec
351218822Sdim    targ_selvecs=bfd_elf32_bfinfdpic_vec
35233965Sjdp    targ_underscore=yes
35333965Sjdp    ;;
35433965Sjdp
35538889Sjdp  c30-*-*aout* | tic30-*-*aout*)
35638889Sjdp    targ_defvec=tic30_aout_vec
35738889Sjdp    ;;
35838889Sjdp  c30-*-*coff* | tic30-*-*coff*)
35938889Sjdp    targ_defvec=tic30_coff_vec
36038889Sjdp    ;;
36138889Sjdp
362130561Sobrien  c4x-*-*coff* | tic4x-*-*coff* | tic4x-*-rtems*)
363130561Sobrien    targ_defvec=tic4x_coff1_vec
364130561Sobrien    targ_selvecs="tic4x_coff1_beh_vec tic4x_coff2_vec tic4x_coff2_beh_vec tic4x_coff0_vec tic4x_coff0_beh_vec"
365130561Sobrien    targ_underscore=yes
366130561Sobrien    ;;
367130561Sobrien
36877298Sobrien  c54x*-*-*coff* | tic54x-*-*coff*)
36977298Sobrien    targ_defvec=tic54x_coff1_vec
37077298Sobrien    targ_selvecs="tic54x_coff1_beh_vec tic54x_coff2_vec tic54x_coff2_beh_vec tic54x_coff0_vec tic54x_coff0_beh_vec"
37177298Sobrien    targ_underscore=yes
37277298Sobrien    ;;
37377298Sobrien
374218822Sdim  cr16-*-elf*)
375218822Sdim    targ_defvec=bfd_elf32_cr16_vec
376218822Sdim    targ_underscore=yes
377218822Sdim    ;;
378218822Sdim
379218822Sdim  cr16c-*-elf*)
380218822Sdim    targ_defvec=bfd_elf32_cr16c_vec
381218822Sdim    targ_underscore=yes
382218822Sdim    ;;
383218822Sdim
384218822Sdim  cris-*-* | crisv32-*-*)
38577298Sobrien    targ_defvec=cris_aout_vec
38677298Sobrien    targ_selvecs="bfd_elf32_us_cris_vec bfd_elf32_cris_vec ieee_vec"
38777298Sobrien    targ_underscore=yes # Note: not true for bfd_elf32_cris_vec.
38877298Sobrien    ;;
38977298Sobrien
390218822Sdim  crx-*-elf*)
391218822Sdim    targ_defvec=bfd_elf32_crx_vec
392218822Sdim    targ_underscore=yes
393218822Sdim    ;;
394218822Sdim
39533965Sjdp  d10v-*-*)
39633965Sjdp    targ_defvec=bfd_elf32_d10v_vec
39733965Sjdp    ;;
39833965Sjdp
399104834Sobrien  dlx-*-elf*)
400104834Sobrien    targ_defvec=bfd_elf32_dlx_big_vec
401104834Sobrien    targ_selvecs="bfd_elf32_dlx_big_vec"
402104834Sobrien    ;;
403104834Sobrien
40460484Sobrien  d30v-*-*)
40560484Sobrien    targ_defvec=bfd_elf32_d30v_vec
40660484Sobrien    ;;
40733965Sjdp
408218822Sdim  fido-*-elf* )
409218822Sdim    targ_defvec=bfd_elf32_m68k_vec
410218822Sdim    targ_selvecs="m68kcoff_vec ieee_vec"
411218822Sdim    ;;
412218822Sdim
41360484Sobrien  fr30-*-elf)
41460484Sobrien    targ_defvec=bfd_elf32_fr30_vec
41560484Sobrien    ;;
41638889Sjdp
417104834Sobrien  frv-*-elf)
418104834Sobrien    targ_defvec=bfd_elf32_frv_vec
419130561Sobrien    targ_selvecs=bfd_elf32_frvfdpic_vec
420104834Sobrien    ;;
42160484Sobrien
422130561Sobrien  frv-*-*linux*)
423130561Sobrien    targ_defvec=bfd_elf32_frvfdpic_vec
424130561Sobrien    targ_selvecs=bfd_elf32_frv_vec
425130561Sobrien    ;;
426104834Sobrien
427218822Sdim  h8300*-*-rtemscoff*)
428218822Sdim    targ_defvec=h8300coff_vec
429218822Sdim    targ_underscore=yes
430218822Sdim    ;;
431218822Sdim
432218822Sdim  h8300*-*-elf | h8300*-*-rtems*)
43389857Sobrien    targ_defvec=bfd_elf32_h8300_vec
43489857Sobrien    targ_underscore=yes
43589857Sobrien    ;;
43689857Sobrien
43733965Sjdp  h8300*-*-*)
43833965Sjdp    targ_defvec=h8300coff_vec
43933965Sjdp    targ_underscore=yes
44033965Sjdp    ;;
44133965Sjdp
44233965Sjdp  h8500-*-*)
44333965Sjdp    targ_defvec=h8500coff_vec
44433965Sjdp    targ_underscore=yes
44533965Sjdp    ;;
44633965Sjdp
44777298Sobrien#ifdef BFD64
448218822Sdim  hppa*64*-*-linux-*)
44977298Sobrien    targ_defvec=bfd_elf64_hppa_linux_vec
45077298Sobrien    targ_selvecs=bfd_elf64_hppa_vec
451218822Sdim    want64=true
45277298Sobrien    ;;
45377298Sobrien  hppa*64*-*-hpux11*)
45477298Sobrien    targ_defvec=bfd_elf64_hppa_vec
45577298Sobrien    targ_selvecs=bfd_elf64_hppa_linux_vec
45677298Sobrien    targ_cflags=-DHPUX_LARGE_AR_IDS
457218822Sdim    want64=true
45877298Sobrien    ;;
45977298Sobrien#endif
46077298Sobrien
461218822Sdim  hppa*-*-linux-*)
46277298Sobrien    targ_defvec=bfd_elf32_hppa_linux_vec
46377298Sobrien    targ_selvecs=bfd_elf32_hppa_vec
46477298Sobrien    ;;
465218822Sdim  hppa*-*-netbsd*)
466218822Sdim    targ_defvec=bfd_elf32_hppa_nbsd_vec
467218822Sdim    targ_selvecs="bfd_elf32_hppa_vec bfd_elf32_hppa_linux_vec"
468218822Sdim    ;;
469218822Sdim  hppa*-*-*elf* | hppa*-*-lites* | hppa*-*-sysv4* | hppa*-*-openbsd*)
47033965Sjdp    targ_defvec=bfd_elf32_hppa_vec
47177298Sobrien    targ_selvecs=bfd_elf32_hppa_linux_vec
47233965Sjdp    ;;
47377298Sobrien
47460484Sobrien#if defined (HOST_HPPAHPUX) || defined (HOST_HPPABSD) || defined (HOST_HPPAOSF) || defined (HOST_HPPAMPEIX)
47533965Sjdp  hppa*-*-bsd*)
47633965Sjdp    targ_defvec=som_vec
47733965Sjdp    targ_selvecs=bfd_elf32_hppa_vec
47833965Sjdp    ;;
47960484Sobrien  hppa*-*-hpux* | hppa*-*-hiux* | hppa*-*-mpeix*)
48033965Sjdp    targ_defvec=som_vec
48133965Sjdp    ;;
48233965Sjdp  hppa*-*-osf*)
48333965Sjdp    targ_defvec=som_vec
48433965Sjdp    targ_selvecs=bfd_elf32_hppa_vec
48533965Sjdp    ;;
48633965Sjdp#endif /* defined (HOST_HPPAHPUX) || defined (HOST_HPPABSD) || defined (HOST_HPPAOSF) */
48733965Sjdp
488218822Sdim  i370-*-*)
48960484Sobrien    targ_defvec=bfd_elf32_i370_vec
49060484Sobrien    targ_selvecs="bfd_elf32_i370_vec"
49160484Sobrien    ;;
492130561Sobrien  i[3-7]86-*-sco3.2v5*coff)
49338889Sjdp    targ_defvec=i386coff_vec
49460484Sobrien    targ_selvecs=bfd_elf32_i386_vec
49538889Sjdp    ;;
496218822Sdim  i[3-7]86-*-sysv4* | i[3-7]86-*-unixware* | \
497130561Sobrien  i[3-7]86-*-elf | i[3-7]86-*-sco3.2v5* | \
498130561Sobrien  i[3-7]86-*-dgux* | i[3-7]86-*-sysv5*)
49933965Sjdp    targ_defvec=bfd_elf32_i386_vec
50033965Sjdp    targ_selvecs=i386coff_vec
50133965Sjdp    ;;
502218822Sdim  i[3-7]86-*-solaris2*)
503218822Sdim    targ_defvec=bfd_elf32_i386_vec
504218822Sdim    targ_selvecs=i386coff_vec
505218822Sdim    targ64_selvecs=bfd_elf64_x86_64_vec
506218822Sdim    want64=true
507218822Sdim    ;;
508130561Sobrien  i[3-7]86-*-kaos*)
509107492Sobrien    targ_defvec=bfd_elf32_i386_vec
510130561Sobrien    targ_selvecs=bfd_elf32_i386_vec
511130561Sobrien    ;;
512130561Sobrien  i[3-7]86-*-nto*)
513130561Sobrien    targ_defvec=bfd_elf32_i386_vec
514104834Sobrien    targ_selvecs=i386coff_vec
515104834Sobrien    ;;
516130561Sobrien  i[3-7]86-*-aros*)
51777298Sobrien    targ_defvec=bfd_elf32_i386_vec
51877298Sobrien    ;;
519130561Sobrien  i[3-7]86-*-chorus*)
520130561Sobrien    targ_defvec=bfd_elf32_i386_vec
521130561Sobrien    ;;
522218822Sdim  *-*-msdosdjgpp* | *-*-go32* )
52338889Sjdp    targ_defvec=go32coff_vec
52438889Sjdp    targ_selvecs="go32stubbedcoff_vec i386aout_vec"
52538889Sjdp    ;;
526130561Sobrien  i[3-7]86-*-sysv* | i[3-7]86-*-isc* | i[3-7]86-*-sco* | i[3-7]86-*-coff | \
527130561Sobrien  i[3-7]86-*-aix*)
52833965Sjdp    targ_defvec=i386coff_vec
52933965Sjdp    ;;
530218822Sdim  i[3-7]86-*-rtems*)
53185815Sobrien    targ_defvec=bfd_elf32_i386_vec
53285815Sobrien    targ_selvecs="i386coff_vec i386aout_vec"
53385815Sobrien    ;;
534130561Sobrien  i[3-7]86-*-darwin* | i[3-7]86-*-macos10* | i[3-7]86-*-rhapsody*)
535130561Sobrien    targ_defvec=mach_o_le_vec
536130561Sobrien    targ_selvecs="mach_o_le_vec mach_o_be_vec mach_o_fat_vec pef_vec pef_xlib_vec sym_vec"
537130561Sobrien    targ_archs="bfd_i386_arch bfd_powerpc_arch bfd_rs6000_arch"
538130561Sobrien    ;;
539130561Sobrien i[3-7]86-sequent-bsd*)
54033965Sjdp    targ_defvec=i386dynix_vec
54133965Sjdp    targ_underscore=yes
54233965Sjdp    ;;
543130561Sobrien  i[3-7]86-*-bsd*)
54433965Sjdp    targ_defvec=i386bsd_vec
54533965Sjdp    targ_underscore=yes
54633965Sjdp    ;;
547130561Sobrien  i[3-7]86-*-freebsdaout* | i[3-7]86-*-freebsd[12].* | \
548130561Sobrien  i[3-7]86-*-freebsd[12])
54933965Sjdp    targ_defvec=i386freebsd_vec
55033965Sjdp    targ_selvecs=i386bsd_vec
55133965Sjdp    targ_underscore=yes
55233965Sjdp    ;;
553130561Sobrien  i[3-7]86-*-freebsd* | i[3-7]86-*-kfreebsd*-gnu)
554104834Sobrien    targ_defvec=bfd_elf32_i386_freebsd_vec
555218822Sdim    targ_selvecs="bfd_elf32_i386_vec bfd_efi_app_ia32_vec i386coff_vec"
556218822Sdim    targ64_selvecs="bfd_elf64_x86_64_freebsd_vec bfd_elf64_x86_64_vec bfd_efi_app_x86_64_vec"
557104834Sobrien    # FreeBSD <= 4.0 supports only the old nonstandard way of ABI labelling.
558104834Sobrien    case "${targ}" in
559130561Sobrien      i[3-7]86-*-freebsd3* | i[3-7]86-*-freebsd4 | i[3-7]86-*-freebsd4.0*)
560104834Sobrien	targ_cflags=-DOLD_FREEBSD_ABI_LABEL ;;
561104834Sobrien    esac
56260484Sobrien    ;;
563130561Sobrien  i[3-7]86-*-netbsdelf* | i[3-7]86-*-netbsd*-gnu* | i[3-7]86-*-knetbsd*-gnu)
56477298Sobrien    targ_defvec=bfd_elf32_i386_vec
56577298Sobrien    targ_selvecs=i386netbsd_vec
566130561Sobrien    targ64_selvecs=bfd_elf64_x86_64_vec
56777298Sobrien    ;;
568130561Sobrien  i[3-7]86-*-netbsdpe*)
569104834Sobrien    targ_defvec=i386pe_vec
570104834Sobrien    targ_selvecs="i386pe_vec i386pei_vec bfd_elf32_i386_vec"
571104834Sobrien    ;;
572130561Sobrien  i[3-7]86-*-netbsdaout* | i[3-7]86-*-netbsd* | \
573130561Sobrien  i[3-7]86-*-openbsd[0-2].* | i[3-7]86-*-openbsd3.[0-3])
57433965Sjdp    targ_defvec=i386netbsd_vec
57577298Sobrien    targ_selvecs="bfd_elf32_i386_vec i386bsd_vec"
57633965Sjdp    targ_underscore=yes
57733965Sjdp    ;;
578218822Sdim  i[3-7]86-*-openbsd*)
57933965Sjdp    targ_defvec=bfd_elf32_i386_vec
580130561Sobrien    targ_selvecs=i386netbsd_vec
581130561Sobrien    ;;
582130561Sobrien  i[3-7]86-*-netware*)
583130561Sobrien    targ_defvec=bfd_elf32_i386_vec
58433965Sjdp    targ_selvecs="nlm32_i386_vec i386coff_vec i386aout_vec"
58533965Sjdp    ;;
586130561Sobrien  i[3-7]86-*-linux*aout*)
58733965Sjdp    targ_defvec=i386linux_vec
58833965Sjdp    targ_selvecs=bfd_elf32_i386_vec
58933965Sjdp    targ_underscore=yes
59033965Sjdp    ;;
591218822Sdim  i[3-7]86-*-linux-*)
59233965Sjdp    targ_defvec=bfd_elf32_i386_vec
59377298Sobrien    targ_selvecs="i386linux_vec bfd_efi_app_ia32_vec"
594130561Sobrien    targ64_selvecs=bfd_elf64_x86_64_vec
59533965Sjdp    ;;
59689857Sobrien#ifdef BFD64
597218822Sdim  x86_64-*-elf*)
59877298Sobrien    targ_defvec=bfd_elf64_x86_64_vec
599218822Sdim    targ_selvecs="bfd_elf32_i386_vec i386coff_vec"
600218822Sdim    want64=true
60177298Sobrien    ;;
602218822Sdim  x86_64-*-freebsd* | x86_64-*-kfreebsd*-gnu)
603218822Sdim    targ_defvec=bfd_elf64_x86_64_freebsd_vec
604218822Sdim    targ_selvecs="bfd_elf32_i386_freebsd_vec i386coff_vec bfd_efi_app_ia32_vec bfd_efi_app_x86_64_vec bfd_elf32_i386_vec bfd_elf64_x86_64_vec"
605218822Sdim    want64=true
606218822Sdim    ;;
607130561Sobrien  x86_64-*-netbsd* | x86_64-*-openbsd*)
60889857Sobrien    targ_defvec=bfd_elf64_x86_64_vec
609218822Sdim    targ_selvecs="bfd_elf32_i386_vec i386netbsd_vec i386coff_vec bfd_efi_app_ia32_vec bfd_efi_app_x86_64_vec"
610218822Sdim    want64=true
61189857Sobrien    ;;
612218822Sdim  x86_64-*-linux-*)
61377298Sobrien    targ_defvec=bfd_elf64_x86_64_vec
614218822Sdim    targ_selvecs="bfd_elf32_i386_vec i386linux_vec bfd_efi_app_ia32_vec bfd_efi_app_x86_64_vec"
615218822Sdim    want64=true
61677298Sobrien    ;;
617218822Sdim  x86_64-*-mingw*)
618218822Sdim    targ_defvec=x86_64pe_vec
619218822Sdim    targ_selvecs="x86_64pe_vec x86_64pei_vec x86_64coff_vec  bfd_elf64_x86_64_vec"
620218822Sdim    want64=true
621218822Sdim    targ_underscore=yes
622218822Sdim    ;;
62377298Sobrien#endif
624130561Sobrien  i[3-7]86-*-lynxos*)
625218822Sdim    targ_defvec=bfd_elf32_i386_vec
626218822Sdim    targ_selvecs="i386lynx_coff_vec i386lynx_aout_vec"
62733965Sjdp    ;;
628130561Sobrien  i[3-7]86-*-gnu*)
62933965Sjdp    targ_defvec=bfd_elf32_i386_vec
63033965Sjdp    ;;
631130561Sobrien  i[3-7]86-*-mach* | i[3-7]86-*-osf1mk*)
63233965Sjdp    targ_defvec=i386mach3_vec
63333965Sjdp    targ_cflags=-DSTAT_FOR_EXEC
63433965Sjdp    targ_underscore=yes
63533965Sjdp    ;;
636130561Sobrien  i[3-7]86-*-os9k)
63733965Sjdp    targ_defvec=i386os9k_vec
63833965Sjdp    ;;
639130561Sobrien  i[3-7]86-*-msdos*)
64033965Sjdp    targ_defvec=i386aout_vec
64133965Sjdp    targ_selvecs=i386msdos_vec
64233965Sjdp    ;;
643130561Sobrien  i[3-7]86-*-moss*)
64433965Sjdp    targ_defvec=bfd_elf32_i386_vec
64533965Sjdp    targ_selvecs="i386msdos_vec i386aout_vec"
64633965Sjdp    ;;
647130561Sobrien  i[3-7]86-*-beospe*)
64833965Sjdp    targ_defvec=i386pe_vec
64933965Sjdp    targ_selvecs="i386pe_vec i386pei_vec"
65033965Sjdp    ;;
651130561Sobrien  i[3-7]86-*-beoself* | i[3-7]86-*-beos*)
65260484Sobrien    targ_defvec=bfd_elf32_i386_vec
65360484Sobrien    targ_selvecs="i386pe_vec i386pei_vec"
65460484Sobrien    ;;
655130561Sobrien  i[3-7]86-*-interix*)
65660484Sobrien    targ_defvec=i386pei_vec
65760484Sobrien    targ_selvecs="i386pe_vec"
65860484Sobrien    # FIXME: This should eventually be checked at runtime.
65960484Sobrien    targ_cflags=-DSTRICT_PE_FORMAT
66060484Sobrien    ;;
661218822Sdim  i[3-7]86-*-rdos*)
662218822Sdim    targ_defvec=bfd_elf32_i386_vec
663218822Sdim    targ_selvecs=i386coff_vec
664218822Sdim    ;;
665130561Sobrien  i[3-7]86-*-mingw32* | i[3-7]86-*-cygwin* | i[3-7]86-*-winnt | i[3-7]86-*-pe)
66660484Sobrien    targ_defvec=i386pe_vec
66760484Sobrien    targ_selvecs="i386pe_vec i386pei_vec bfd_elf32_i386_vec"
668218822Sdim    targ_underscore=yes
66960484Sobrien    ;;
670130561Sobrien  i[3-7]86-none-*)
67133965Sjdp    targ_defvec=i386coff_vec
67233965Sjdp    ;;
673130561Sobrien  i[3-7]86-*-aout* | i[3-7]86*-*-vsta*)
67433965Sjdp    targ_defvec=i386aout_vec
67533965Sjdp    ;;
676218822Sdim  i[3-7]86-*-vxworks*)
677218822Sdim    targ_defvec=bfd_elf32_i386_vxworks_vec
67860484Sobrien    targ_underscore=yes
67960484Sobrien    ;;
680130561Sobrien  i[3-7]86-*-chaos)
68177298Sobrien    targ_defvec=bfd_elf32_i386_vec
68277298Sobrien    targ_selfvecs=i386chaos_vec
68377298Sobrien    ;;
68433965Sjdp
68533965Sjdp  i860-*-mach3* | i860-*-osf1* | i860-*-coff*)
68633965Sjdp    targ_defvec=i860coff_vec
68733965Sjdp    ;;
68877298Sobrien  i860-stardent-sysv4* | i860-stardent-elf*)
68977298Sobrien    targ_defvec=bfd_elf32_i860_little_vec
69077298Sobrien    targ_selvecs="bfd_elf32_i860_vec bfd_elf32_i860_little_vec"
69177298Sobrien    ;;
69233965Sjdp  i860-*-sysv4* | i860-*-elf*)
69333965Sjdp    targ_defvec=bfd_elf32_i860_vec
69433965Sjdp    ;;
69533965Sjdp
69633965Sjdp  i960-*-vxworks4* | i960-*-vxworks5.0)
69733965Sjdp    targ_defvec=b_out_vec_little_host
69833965Sjdp    targ_selvecs="b_out_vec_big_host icoff_little_vec icoff_big_vec ieee_vec"
69933965Sjdp    targ_underscore=yes
70033965Sjdp    ;;
701218822Sdim  i960-*-vxworks5.* | i960-*-coff* | i960-*-sysv*)
70233965Sjdp    targ_defvec=icoff_little_vec
70333965Sjdp    targ_selvecs="icoff_big_vec b_out_vec_little_host b_out_vec_big_host ieee_vec"
70433965Sjdp    targ_underscore=yes
70533965Sjdp    ;;
70633965Sjdp  i960-*-vxworks* | i960-*-aout* | i960-*-bout* | i960-*-nindy*)
70733965Sjdp    targ_defvec=b_out_vec_little_host
70833965Sjdp    targ_selvecs="b_out_vec_big_host icoff_little_vec icoff_big_vec ieee_vec"
70933965Sjdp    targ_underscore=yes
71033965Sjdp    ;;
71160484Sobrien  i960-*-elf*)
71260484Sobrien    targ_defvec=bfd_elf32_i960_vec
71360484Sobrien    targ_selvecs="icoff_little_vec icoff_big_vec"
71460484Sobrien    ;;
71533965Sjdp
716130561Sobrien  ip2k-*-elf)
717130561Sobrien    targ_defvec=bfd_elf32_ip2k_vec
718130561Sobrien    ;;
719130561Sobrien
720130561Sobrien  iq2000-*-elf)
721130561Sobrien    targ_defvec=bfd_elf32_iq2000_vec
722130561Sobrien    ;;
723130561Sobrien
724218822Sdim  m32c-*-elf)
725218822Sdim    targ_defvec=bfd_elf32_m32c_vec
726218822Sdim    ;;
727218822Sdim
728130561Sobrien  m32r*le-*-linux*)
729130561Sobrien    targ_defvec=bfd_elf32_m32rlelin_vec
730130561Sobrien    targ_selvecs="bfd_elf32_m32rlin_vec  bfd_elf32_m32rlelin_vec"
731130561Sobrien    ;;
732130561Sobrien  m32r*-*-linux*)
733130561Sobrien    targ_defvec=bfd_elf32_m32rlin_vec
734130561Sobrien    targ_selvecs="bfd_elf32_m32rlin_vec  bfd_elf32_m32rlelin_vec"
735130561Sobrien    ;;
736130561Sobrien  m32r*le-*-*)
737130561Sobrien    targ_defvec=bfd_elf32_m32rle_vec
738130561Sobrien    targ_selvecs="bfd_elf32_m32r_vec bfd_elf32_m32rle_vec"
739130561Sobrien    ;;
74033965Sjdp  m32r-*-*)
74133965Sjdp    targ_defvec=bfd_elf32_m32r_vec
74233965Sjdp    ;;
74333965Sjdp
74477298Sobrien  m68hc11-*-* | m6811-*-*)
74577298Sobrien    targ_defvec=bfd_elf32_m68hc11_vec
74677298Sobrien    targ_selvecs="bfd_elf32_m68hc11_vec bfd_elf32_m68hc12_vec"
74777298Sobrien    ;;
74877298Sobrien  m68hc12-*-* | m6812-*-*)
74977298Sobrien    targ_defvec=bfd_elf32_m68hc12_vec
75077298Sobrien    targ_selvecs="bfd_elf32_m68hc11_vec bfd_elf32_m68hc12_vec"
75177298Sobrien    ;;
75277298Sobrien
75333965Sjdp  m68*-motorola-sysv*)
75433965Sjdp    targ_defvec=m68ksysvcoff_vec
75533965Sjdp    ;;
75633965Sjdp  m68*-hp-bsd*)
75733965Sjdp    targ_defvec=hp300bsd_vec
75833965Sjdp    targ_underscore=yes
75933965Sjdp    ;;
76033965Sjdp  m68*-*-aout*)
76133965Sjdp    targ_defvec=aout0_big_vec
76260484Sobrien    # We include cisco_core_big_vec here, rather than making a separate cisco
76333965Sjdp    # configuration, so that cisco-core.c gets routinely tested at
76433965Sjdp    # least for compilation.
76560484Sobrien    targ_selvecs="cisco_core_big_vec ieee_vec"
76633965Sjdp    targ_underscore=yes
76733965Sjdp    ;;
768130561Sobrien  m68*-*-elf* | m68*-*-sysv4* | m68*-*-uclinux*)
76933965Sjdp    targ_defvec=bfd_elf32_m68k_vec
77033965Sjdp    targ_selvecs="m68kcoff_vec ieee_vec"
77133965Sjdp    ;;
77277298Sobrien  m68*-*-rtems*)
77385815Sobrien    targ_defvec=bfd_elf32_m68k_vec
77460484Sobrien    targ_selvecs="m68kcoff_vec versados_vec ieee_vec aout0_big_vec"
77560484Sobrien    ;;
77660484Sobrien  m68*-*-coff* | m68*-*-sysv*)
77760484Sobrien    targ_defvec=m68kcoff_vec
77833965Sjdp    targ_selvecs="m68kcoff_vec versados_vec ieee_vec"
77933965Sjdp    ;;
78033965Sjdp  m68*-*-hpux*)
78133965Sjdp    targ_defvec=hp300hpux_vec
78233965Sjdp    targ_underscore=yes
78333965Sjdp    ;;
78433965Sjdp  m68*-*-linux*aout*)
78533965Sjdp    targ_defvec=m68klinux_vec
78633965Sjdp    targ_selvecs=bfd_elf32_m68k_vec
78733965Sjdp    targ_underscore=yes
78833965Sjdp    ;;
789218822Sdim  m68*-*-linux-*)
79033965Sjdp    targ_defvec=bfd_elf32_m68k_vec
79133965Sjdp    targ_selvecs=m68klinux_vec
79233965Sjdp    ;;
79360484Sobrien  m68*-*-gnu*)
79460484Sobrien    targ_defvec=bfd_elf32_m68k_vec
79560484Sobrien    # targ_selvecs=m68kmach3_vec
79660484Sobrien    # targ_cflags=-DSTAT_FOR_EXEC
79760484Sobrien    ;;
79833965Sjdp  m68*-hp*-netbsd*)
79933965Sjdp    targ_defvec=m68k4knetbsd_vec
80033965Sjdp    targ_selvecs="m68knetbsd_vec hp300bsd_vec sunos_big_vec"
80133965Sjdp    targ_underscore=yes
80233965Sjdp    ;;
803218822Sdim  m68*-*-netbsdelf*)
80489857Sobrien    targ_defvec=bfd_elf32_m68k_vec
80589857Sobrien    targ_selvecs="m68knetbsd_vec m68k4knetbsd_vec hp300bsd_vec sunos_big_vec"
80689857Sobrien    ;;
80789857Sobrien  m68*-*-netbsdaout* | m68*-*-netbsd*)
80833965Sjdp    targ_defvec=m68knetbsd_vec
80989857Sobrien    targ_selvecs="m68k4knetbsd_vec bfd_elf32_m68k_vec hp300bsd_vec sunos_big_vec"
81089857Sobrien    targ_underscore=yes
81189857Sobrien    ;;
81289857Sobrien  m68*-*-openbsd*)
81389857Sobrien    targ_defvec=m68knetbsd_vec
81433965Sjdp    targ_selvecs="m68k4knetbsd_vec hp300bsd_vec sunos_big_vec"
81533965Sjdp    targ_underscore=yes
81633965Sjdp    ;;
81733965Sjdp  m68*-*-sunos* | m68*-*-os68k* | m68*-*-vxworks* | m68*-netx-* | \
81833965Sjdp  m68*-*-bsd* | m68*-*-vsta*)
81933965Sjdp    targ_defvec=sunos_big_vec
82033965Sjdp    targ_underscore=yes
82133965Sjdp    ;;
82233965Sjdp  m68*-ericsson-*)
82333965Sjdp    targ_defvec=sunos_big_vec
82433965Sjdp    targ_selvecs="m68kcoff_vec versados_vec tekhex_vec"
82533965Sjdp    targ_underscore=yes
82633965Sjdp    ;;
82733965Sjdp  m68*-cbm-*)
82833965Sjdp    targ_defvec=bfd_elf32_m68k_vec
82933965Sjdp    targ_selvecs=m68kcoff_vec
83033965Sjdp    ;;
83133965Sjdp  m68*-*-psos*)
83233965Sjdp    targ_defvec=bfd_elf32_m68k_vec
83333965Sjdp    targ_selvecs=ieee_vec
83433965Sjdp    targ_underscore=yes
83533965Sjdp    ;;
83633965Sjdp
83733965Sjdp  m88*-harris-cxux* | m88*-*-dgux* | m88*-*-sysv4*)
83833965Sjdp    targ_defvec=bfd_elf32_m88k_vec
83933965Sjdp    targ_selvecs=m88kbcs_vec
84033965Sjdp    ;;
84133965Sjdp  m88*-*-mach3*)
84233965Sjdp    targ_defvec=m88kmach3_vec
84333965Sjdp    targ_cflags=-DSTAT_FOR_EXEC
84433965Sjdp    ;;
845218822Sdim  m88*-*-openbsd*)
846218822Sdim   targ_defvec=m88kopenbsd_vec
847218822Sdim   targ_underscore=yes
848218822Sdim   ;;
84933965Sjdp  m88*-*-*)
85033965Sjdp    targ_defvec=m88kbcs_vec
85133965Sjdp    targ_underscore=yes
85233965Sjdp    ;;
85333965Sjdp
854218822Sdim  maxq-*-coff)
855218822Sdim    targ_defvec=maxqcoff_vec
856218822Sdim    ;;
857218822Sdim
85860484Sobrien  mcore-*-elf)
85960484Sobrien    targ_defvec=bfd_elf32_mcore_big_vec
86060484Sobrien    targ_selvecs="bfd_elf32_mcore_big_vec bfd_elf32_mcore_little_vec"
86160484Sobrien    ;;
86260484Sobrien  mcore-*-pe)
86360484Sobrien    targ_defvec=mcore_pe_big_vec
86460484Sobrien    targ_selvecs="mcore_pe_big_vec mcore_pe_little_vec mcore_pei_big_vec mcore_pei_little_vec"
86560484Sobrien    ;;
86660484Sobrien
867218822Sdim  mep-*-elf)
868218822Sdim    targ_defvec=bfd_elf32_mep_vec
869218822Sdim    targ_selvecs=bfd_elf32_mep_little_vec
870218822Sdim    ;;
871218822Sdim
87233965Sjdp  mips*-big-*)
87333965Sjdp    targ_defvec=ecoff_big_vec
87433965Sjdp    targ_selvecs=ecoff_little_vec
87533965Sjdp    ;;
87689857Sobrien  mips*el-*-netbsd*)
877218822Sdim    targ_defvec=bfd_elf32_tradlittlemips_vec
878218822Sdim    targ_selvecs="bfd_elf32_tradbigmips_vec bfd_elf64_tradbigmips_vec bfd_elf64_tradlittlemips_vec ecoff_little_vec ecoff_big_vec"
87933965Sjdp    ;;
880215256Simp  mips*-*-netbsd*)
881218822Sdim    targ_defvec=bfd_elf32_tradbigmips_vec
882218822Sdim    targ_selvecs="bfd_elf32_tradlittlemips_vec bfd_elf64_tradbigmips_vec bfd_elf64_tradlittlemips_vec ecoff_big_vec ecoff_little_vec"
883215256Simp    ;;
884215256Simp  mips*el-*-freebsd*)
885215256Simp    targ_defvec=bfd_elf32_tradlittlemips_vec
886215256Simp    targ_selvecs="bfd_elf32_tradbigmips_vec bfd_elf32_ntradbigmisp_vec bfd_elf32_ntradlittlemips_vec bfd_elf64_tradbigmips_vec bfd_elf64_tradlittlemips_vec ecoff_big_vec ecoff_little_vec"
887215256Simp    ;;
888185925Simp  mips*-*-freebsd*)
889185925Simp    targ_defvec=bfd_elf32_tradbigmips_vec
890185925Simp    targ_selvecs="bfd_elf32_tradlittlemips_vec bfd_elf32_ntradbigmisp_vec bfd_elf32_ntradlittlemips_vec bfd_elf64_tradbigmips_vec bfd_elf64_tradlittlemips_vec ecoff_big_vec ecoff_little_vec"
891185925Simp    ;;
89233965Sjdp  mips*-dec-* | mips*el-*-ecoff*)
89333965Sjdp    targ_defvec=ecoff_little_vec
89433965Sjdp    targ_selvecs=ecoff_big_vec
89533965Sjdp    ;;
89633965Sjdp  mips*-*-ecoff*)
89733965Sjdp    targ_defvec=ecoff_big_vec
89833965Sjdp    targ_selvecs=ecoff_little_vec
89933965Sjdp    ;;
90089857Sobrien#ifdef BFD64
90133965Sjdp  mips*-*-irix6*)
902130561Sobrien    targ_defvec=bfd_elf32_nbigmips_vec
903130561Sobrien    targ_selvecs="bfd_elf32_nlittlemips_vec bfd_elf32_bigmips_vec bfd_elf32_littlemips_vec bfd_elf64_bigmips_vec bfd_elf64_littlemips_vec"
904218822Sdim    want64=true
90533965Sjdp    ;;
90689857Sobrien#endif
90733965Sjdp  mips*-*-irix5*)
90833965Sjdp    targ_defvec=bfd_elf32_bigmips_vec
90933965Sjdp    targ_selvecs="bfd_elf32_littlemips_vec ecoff_big_vec ecoff_little_vec"
91033965Sjdp    ;;
91133965Sjdp  mips*-sgi-* | mips*-*-bsd*)
91233965Sjdp    targ_defvec=ecoff_big_vec
91333965Sjdp    targ_selvecs=ecoff_little_vec
91433965Sjdp    ;;
91533965Sjdp  mips*-*-lnews*)
91633965Sjdp    targ_defvec=ecoff_biglittle_vec
91733965Sjdp    targ_selvecs="ecoff_little_vec ecoff_big_vec"
91833965Sjdp    ;;
91933965Sjdp  mips*-*-sysv4*)
92077298Sobrien    targ_defvec=bfd_elf32_tradbigmips_vec
92177298Sobrien    targ_selvecs="bfd_elf32_tradlittlemips_vec ecoff_big_vec ecoff_little_vec"
92233965Sjdp    ;;
92333965Sjdp  mips*-*-sysv* | mips*-*-riscos*)
92433965Sjdp    targ_defvec=ecoff_big_vec
92533965Sjdp    targ_selvecs=ecoff_little_vec
92633965Sjdp    ;;
927218822Sdim#ifdef BFD64
928218822Sdim  mips*el-*-vxworks*)
929218822Sdim    targ_defvec=bfd_elf32_littlemips_vxworks_vec
930218822Sdim    targ_selvecs="bfd_elf32_littlemips_vec bfd_elf32_bigmips_vxworks_vec bfd_elf32_bigmips_vec bfd_elf64_bigmips_vec bfd_elf64_littlemips_vec"
931218822Sdim    want64=true
932218822Sdim    ;;
933218822Sdim  mips*-*-vxworks*)
934218822Sdim    targ_defvec=bfd_elf32_bigmips_vxworks_vec
935218822Sdim    targ_selvecs="bfd_elf32_bigmips_vec bfd_elf32_littlemips_vxworks_vec bfd_elf32_bigmips_vec bfd_elf64_bigmips_vec bfd_elf64_littlemips_vec"
936218822Sdim    want64=true
937218822Sdim    ;;
938218822Sdim#endif
939218822Sdim  mips*el-sde-elf*)    
940218822Sdim    targ_defvec=bfd_elf32_tradlittlemips_vec
941218822Sdim    targ_selvecs="bfd_elf32_tradbigmips_vec bfd_elf32_ntradbigmips_vec bfd_elf32_ntradlittlemips_vec bfd_elf64_tradbigmips_vec bfd_elf64_tradlittlemips_vec"
942218822Sdim    want64=true
943218822Sdim    ;;  
944218822Sdim  mips*-sde-elf*)
945218822Sdim    targ_defvec=bfd_elf32_tradbigmips_vec
946218822Sdim    targ_selvecs="bfd_elf32_tradlittlemips_vec bfd_elf32_ntradbigmips_vec bfd_elf32_ntradlittlemips_vec bfd_elf64_tradbigmips_vec bfd_elf64_tradlittlemips_vec"
947218822Sdim    want64=true
948218822Sdim    ;;
949218822Sdim  mips*el-*-elf* | mips*el-*-vxworks* | mips*-*-chorus*)
95033965Sjdp    targ_defvec=bfd_elf32_littlemips_vec
95133965Sjdp    targ_selvecs="bfd_elf32_bigmips_vec bfd_elf64_bigmips_vec bfd_elf64_littlemips_vec"
95233965Sjdp    ;;
953130561Sobrien  mips*-*-elf* | mips*-*-rtems* | mips*-*-vxworks | mips*-*-windiss)
95433965Sjdp    targ_defvec=bfd_elf32_bigmips_vec
95533965Sjdp    targ_selvecs="bfd_elf32_littlemips_vec bfd_elf64_bigmips_vec bfd_elf64_littlemips_vec"
95633965Sjdp    ;;
95733965Sjdp  mips*-*-none)
95833965Sjdp    targ_defvec=bfd_elf32_bigmips_vec
95933965Sjdp    targ_selvecs="bfd_elf32_littlemips_vec bfd_elf64_bigmips_vec bfd_elf64_littlemips_vec"
96033965Sjdp    ;;
961218822Sdim#ifdef BFD64
962218822Sdim  mips64*-*-openbsd*)
963218822Sdim    targ_defvec=bfd_elf64_tradbigmips_vec
964218822Sdim    targ_selvecs="bfd_elf32_ntradlittlemips_vec bfd_elf32_ntradbigmips_vec bfd_elf32_tradlittlemips_vec bfd_elf32_tradbigmips_vec bfd_elf64_tradlittlemips_vec"
965218822Sdim    want64=true
966218822Sdim    ;;
967218822Sdim#endif
96889857Sobrien  mips*el-*-openbsd*)
96933965Sjdp    targ_defvec=bfd_elf32_littlemips_vec
97033965Sjdp    targ_selvecs="bfd_elf32_bigmips_vec bfd_elf64_bigmips_vec bfd_elf64_littlemips_vec ecoff_little_vec ecoff_big_vec"
97133965Sjdp    ;;
97278828Sobrien  mips*-*-openbsd*)
97333965Sjdp    targ_defvec=bfd_elf32_bigmips_vec
97433965Sjdp    targ_selvecs="bfd_elf32_littlemips_vec bfd_elf64_bigmips_vec bfd_elf64_littlemips_vec ecoff_big_vec ecoff_little_vec"
97533965Sjdp    ;;
97689857Sobrien#ifdef BFD64
97789857Sobrien  mips64*el-*-linux*)
978130561Sobrien    targ_defvec=bfd_elf32_ntradlittlemips_vec
979130561Sobrien    targ_selvecs="bfd_elf32_ntradbigmips_vec bfd_elf32_tradlittlemips_vec bfd_elf32_tradbigmips_vec bfd_elf64_tradlittlemips_vec bfd_elf64_tradbigmips_vec"
980218822Sdim    want64=true
98189857Sobrien    ;;
98289857Sobrien  mips64*-*-linux*)
983130561Sobrien    targ_defvec=bfd_elf32_ntradbigmips_vec
984130561Sobrien    targ_selvecs="bfd_elf32_ntradlittlemips_vec bfd_elf32_tradbigmips_vec bfd_elf32_tradlittlemips_vec bfd_elf64_tradbigmips_vec bfd_elf64_tradlittlemips_vec"
985218822Sdim    want64=true
98689857Sobrien    ;;
98789857Sobrien#endif
98889857Sobrien  mips*el-*-linux*)
98989857Sobrien    targ_defvec=bfd_elf32_tradlittlemips_vec
990130561Sobrien    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"
991130561Sobrien    want64=true
99289857Sobrien    ;;
99389857Sobrien  mips*-*-linux*)
99489857Sobrien    targ_defvec=bfd_elf32_tradbigmips_vec
995130561Sobrien    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"
996130561Sobrien    want64=true
99778828Sobrien    ;;
99889857Sobrien#ifdef BFD64
99989857Sobrien  mmix-*-*)
100089857Sobrien    targ_defvec=bfd_elf64_mmix_vec
100189857Sobrien    targ_selvecs=bfd_mmo_vec
1002218822Sdim    want64=true
100389857Sobrien    ;;
100489857Sobrien#endif
100533965Sjdp  mn10200-*-*)
100633965Sjdp    targ_defvec=bfd_elf32_mn10200_vec
100733965Sjdp    ;;
100833965Sjdp
100933965Sjdp  mn10300-*-*)
101033965Sjdp    targ_defvec=bfd_elf32_mn10300_vec
1011130561Sobrien    targ_underscore=yes
101233965Sjdp    ;;
101333965Sjdp
1014218822Sdim  mt-*-elf)
1015218822Sdim    targ_defvec=bfd_elf32_mt_vec
1016218822Sdim    ;;
1017218822Sdim
1018130561Sobrien  msp430-*-*)
1019130561Sobrien    targ_defvec=bfd_elf32_msp430_vec
1020130561Sobrien    ;;
1021130561Sobrien
102233965Sjdp  ns32k-pc532-mach* | ns32k-pc532-ux*)
102333965Sjdp    targ_defvec=pc532machaout_vec
102433965Sjdp    targ_underscore=yes
102533965Sjdp    ;;
102633965Sjdp  ns32k-*-netbsd* | ns32k-*-lites* | ns32k-*-openbsd*)
102733965Sjdp    targ_defvec=pc532netbsd_vec
102833965Sjdp    targ_underscore=yes
102933965Sjdp    ;;
103033965Sjdp
103189857Sobrien  openrisc-*-elf)
103289857Sobrien    targ_defvec=bfd_elf32_openrisc_vec
103389857Sobrien    ;;
103489857Sobrien
1035130561Sobrien  or32-*-coff)
103691041Sobrien    targ_defvec=or32coff_big_vec
103791041Sobrien    targ_underscore=yes
103891041Sobrien    ;;
103991041Sobrien
1040218822Sdim  or32-*-elf)
104191041Sobrien    targ_defvec=bfd_elf32_or32_big_vec
104291041Sobrien    ;;
104391041Sobrien
104489857Sobrien  pdp11-*-*)
104589857Sobrien    targ_defvec=pdp11_aout_vec
104689857Sobrien    targ_underscore=yes
104789857Sobrien    ;;
104889857Sobrien
104960484Sobrien  pj-*-*)
105060484Sobrien    targ_defvec=bfd_elf32_pj_vec
105160484Sobrien    targ_selvecs="bfd_elf32_pj_vec bfd_elf32_pjl_vec"
105260484Sobrien    ;;
105360484Sobrien
105460484Sobrien  pjl-*-*)
105560484Sobrien    targ_defvec=bfd_elf32_pjl_vec
105660484Sobrien    targ_selvecs="bfd_elf32_pjl_vec bfd_elf32_pj_vec bfd_elf32_i386_vec"
105760484Sobrien    ;;
105860484Sobrien
1059130561Sobrien  powerpc-*-aix5.[01])
1060130561Sobrien    targ_defvec=rs6000coff_vec
1061130561Sobrien    targ_selvecs="aix5coff64_vec"
1062130561Sobrien    want64=true
1063130561Sobrien    ;;
1064130561Sobrien#ifdef BFD64
1065130561Sobrien  powerpc64-*-aix5.[01])
1066130561Sobrien    targ_defvec=aix5coff64_vec
1067130561Sobrien    targ_selvecs="rs6000coff_vec"
1068130561Sobrien    want64=true
1069130561Sobrien    ;;
1070130561Sobrien#endif
1071104834Sobrien  powerpc-*-aix5*)
1072130561Sobrien    targ_cflags=-DAIX_WEAK_SUPPORT
1073104834Sobrien    targ_defvec=rs6000coff_vec
1074104834Sobrien    targ_selvecs="aix5coff64_vec"
1075104834Sobrien    want64=true
1076104834Sobrien    ;;
1077104834Sobrien#ifdef BFD64
1078104834Sobrien  powerpc64-*-aix5*)
1079130561Sobrien    targ_cflags=-DAIX_WEAK_SUPPORT
1080104834Sobrien    targ_defvec=aix5coff64_vec
1081104834Sobrien    targ_selvecs="rs6000coff_vec"
1082104834Sobrien    want64=true
1083104834Sobrien    ;;
1084104834Sobrien#endif
1085104834Sobrien
108689857Sobrien  powerpc-*-aix* | powerpc-*-beos* | rs6000-*-*)
108733965Sjdp    targ_defvec=rs6000coff_vec
108889857Sobrien    targ64_selvecs=rs6000coff64_vec
108989857Sobrien    case "${targ}" in
1090218822Sdim	*-*-aix4.[3456789]* | *-*-aix[56789]*)
109189857Sobrien	want64=true;;
109291041Sobrien	*)
109391041Sobrien	targ_cflags=-DSMALL_ARCHIVE;;
109489857Sobrien    esac
109533965Sjdp    ;;
109689857Sobrien#ifdef BFD64
109789857Sobrien  powerpc64-*-aix*)
109889857Sobrien    targ_defvec=rs6000coff64_vec
109989857Sobrien    targ_selvecs=rs6000coff_vec
1100218822Sdim    want64=true
110189857Sobrien    ;;
1102130561Sobrien  powerpc64-*-elf* | powerpc-*-elf64* | powerpc64-*-linux* | \
1103130561Sobrien  powerpc64-*-*bsd*)
110489857Sobrien    targ_defvec=bfd_elf64_powerpc_vec
110589857Sobrien    targ_selvecs="bfd_elf64_powerpcle_vec bfd_elf32_powerpc_vec bfd_elf32_powerpcle_vec rs6000coff_vec rs6000coff64_vec"
1106218822Sdim    want64=true
110789857Sobrien    ;;
110889857Sobrien  powerpc64le-*-elf* | powerpcle-*-elf64*)
110989857Sobrien    targ_defvec=bfd_elf64_powerpcle_vec
111089857Sobrien    targ_selvecs="bfd_elf64_powerpc_vec bfd_elf32_powerpcle_vec bfd_elf32_powerpc_vec rs6000coff_vec rs6000coff64_vec"
1111218822Sdim    want64=true
111289857Sobrien    ;;
111389857Sobrien#endif
111433965Sjdp  powerpc-*-*bsd* | powerpc-*-elf* | powerpc-*-sysv4* | powerpc-*-eabi* | \
1115218822Sdim  powerpc-*-solaris2* | powerpc-*-linux-* | powerpc-*-rtems* | \
1116218822Sdim  powerpc-*-chorus*)
111733965Sjdp    targ_defvec=bfd_elf32_powerpc_vec
111860484Sobrien    targ_selvecs="rs6000coff_vec bfd_elf32_powerpcle_vec ppcboot_vec"
111989857Sobrien    targ64_selvecs="bfd_elf64_powerpc_vec bfd_elf64_powerpcle_vec"
112033965Sjdp    ;;
1121130561Sobrien  powerpc-*-kaos*)
1122130561Sobrien    targ_defvec=bfd_elf32_powerpc_vec
1123130561Sobrien    targ_selvecs="bfd_elf32_powerpcle_vec ppcboot_vec"
1124130561Sobrien    targ64_selvecs="bfd_elf64_powerpc_vec bfd_elf64_powerpcle_vec"
1125130561Sobrien    ;;
1126130561Sobrien  powerpc-*-darwin* | powerpc-*-macos10* | powerpc-*-rhapsody*)
1127130561Sobrien    targ_defvec=mach_o_be_vec
1128130561Sobrien    targ_selvecs="mach_o_be_vec mach_o_le_vec mach_o_fat_vec pef_vec pef_xlib_vec sym_vec"
1129130561Sobrien    targ_archs="bfd_powerpc_arch bfd_rs6000_arch bfd_i386_arch"
1130130561Sobrien    ;;
1131218822Sdim  powerpc-*-macos*)
113233965Sjdp    targ_defvec=pmac_xcoff_vec
113333965Sjdp    ;;
1134218822Sdim  powerpc-*-lynxos*)
1135218822Sdim    targ_defvec=bfd_elf32_powerpc_vec
1136218822Sdim    targ_selvecs="rs6000coff_vec"
1137218822Sdim    targ_cflags=-DSMALL_ARCHIVE
1138218822Sdim    ;;
113933965Sjdp  powerpc-*-netware*)
114033965Sjdp    targ_defvec=bfd_elf32_powerpc_vec
114133965Sjdp    targ_selvecs="nlm32_powerpc_vec rs6000coff_vec"
114233965Sjdp    ;;
1143130561Sobrien  powerpc-*-nto*)
1144130561Sobrien    targ_defvec=bfd_elf32_powerpc_vec
1145130561Sobrien    targ_selvecs="rs6000coff_vec bfd_elf32_powerpcle_vec ppcboot_vec"
1146130561Sobrien    ;;
1147218822Sdim  powerpc-*-vxworks* | powerpc-*-windiss*)
1148218822Sdim    targ_defvec=bfd_elf32_powerpc_vxworks_vec
1149218822Sdim    targ_selvecs="rs6000coff_vec bfd_elf32_powerpc_vec bfd_elf32_powerpcle_vec ppcboot_vec"
1150218822Sdim    targ64_selvecs="bfd_elf64_powerpc_vec bfd_elf64_powerpcle_vec"
1151218822Sdim    ;;
1152130561Sobrien  powerpcle-*-nto*)
1153130561Sobrien    targ_defvec=bfd_elf32_powerpcle_vec
1154130561Sobrien    targ_selvecs="rs6000coff_vec bfd_elf32_powerpc_vec ppcboot_vec"
1155130561Sobrien    ;;
115633965Sjdp  powerpcle-*-elf* | powerpcle-*-sysv4* | powerpcle-*-eabi* | \
1157218822Sdim  powerpcle-*-solaris2* | powerpcle-*-linux-* | powerpcle-*-vxworks*)
115833965Sjdp    targ_defvec=bfd_elf32_powerpcle_vec
115960484Sobrien    targ_selvecs="rs6000coff_vec bfd_elf32_powerpc_vec ppcboot_vec"
116089857Sobrien    targ64_selvecs="bfd_elf64_powerpc_vec bfd_elf64_powerpcle_vec"
116133965Sjdp    ;;
116260484Sobrien  powerpcle-*-pe | powerpcle-*-winnt* | powerpcle-*-cygwin*)
116333965Sjdp    targ_defvec=bfd_powerpcle_pe_vec
116433965Sjdp    targ_selvecs="bfd_powerpcle_pei_vec bfd_powerpc_pei_vec bfd_powerpcle_pe_vec bfd_powerpc_pe_vec"
116533965Sjdp    ;;
116633965Sjdp
116789857Sobrien  s390-*-linux*)
116889857Sobrien    targ_defvec=bfd_elf32_s390_vec
1169107492Sobrien    targ64_selvecs=bfd_elf64_s390_vec
1170218822Sdim    want64=true
117133965Sjdp    ;;
117289857Sobrien#ifdef BFD64
117389857Sobrien  s390x-*-linux*)
117489857Sobrien    targ_defvec=bfd_elf64_s390_vec
1175107492Sobrien    targ_selvecs=bfd_elf32_s390_vec
1176218822Sdim    want64=true
117789857Sobrien    ;;
1178218822Sdim  s390x-*-tpf*)
1179218822Sdim    targ_defvec=bfd_elf64_s390_vec
1180218822Sdim    want64=true
1181218822Sdim    ;;
118289857Sobrien#endif
118333965Sjdp
1184218822Sdim  score*-*-elf*)
1185218822Sdim    targ_defvec=bfd_elf32_bigscore_vec
1186218822Sdim    targ_selvecs=bfd_elf32_littlescore_vec
1187218822Sdim    ;;
1188218822Sdim
118991041Sobrien#ifdef BFD64
1190104834Sobrien  sh64l*-*-elf*)
1191104834Sobrien    targ_defvec=bfd_elf32_sh64l_vec
1192104834Sobrien    targ_selvecs="bfd_elf32_sh64_vec bfd_elf64_sh64l_vec bfd_elf64_sh64_vec bfd_elf32_shl_vec bfd_elf32_sh_vec"
1193104834Sobrien    targ_underscore=yes
1194218822Sdim    want64=true
1195104834Sobrien    ;;
119691041Sobrien  sh64-*-elf*)
119791041Sobrien    targ_defvec=bfd_elf32_sh64_vec
119891041Sobrien    targ_selvecs="bfd_elf32_sh64l_vec bfd_elf64_sh64_vec bfd_elf64_sh64l_vec bfd_elf32_sh_vec bfd_elf32_shl_vec"
119991041Sobrien    targ_underscore=yes
1200218822Sdim    want64=true
120191041Sobrien    ;;
1202104834Sobrien  sh64eb-*-linux*)
1203130561Sobrien    targ_defvec=bfd_elf32_sh64blin_vec
1204130561Sobrien    targ_selvecs="bfd_elf32_sh64lin_vec bfd_elf64_sh64blin_vec bfd_elf64_sh64lin_vec bfd_elf32_shblin_vec bfd_elf32_shlin_vec"
1205218822Sdim    want64=true
1206104834Sobrien    ;;
1207104834Sobrien  sh64-*-linux*)
1208130561Sobrien    targ_defvec=bfd_elf32_sh64lin_vec
1209130561Sobrien    targ_selvecs="bfd_elf32_sh64blin_vec bfd_elf64_sh64lin_vec bfd_elf64_sh64blin_vec bfd_elf32_shlin_vec bfd_elf32_shblin_vec"
1210218822Sdim    want64=true
1211104834Sobrien    ;;
121277298Sobrien  sh-*-linux*)
121377298Sobrien    targ_defvec=bfd_elf32_shblin_vec
1214218822Sdim    targ_selvecs="bfd_elf32_shlin_vec bfd_elf32_sh64lin_vec bfd_elf32_sh64blin_vec bfd_elf64_sh64lin_vec bfd_elf64_sh64blin_vec"
1215218822Sdim    want64=true
121677298Sobrien    ;;
1217218822Sdim#endif /* BFD64 */
1218218822Sdim
121989857Sobrien  sh*eb-*-linux*)
122089857Sobrien    targ_defvec=bfd_elf32_shblin_vec
1221107492Sobrien    targ_selvecs=bfd_elf32_shlin_vec
122289857Sobrien    ;;
122389857Sobrien  sh*-*-linux*)
122489857Sobrien    targ_defvec=bfd_elf32_shlin_vec
1225107492Sobrien    targ_selvecs=bfd_elf32_shblin_vec
122689857Sobrien    ;;
122777298Sobrien
1228218822Sdim  sh-*-uclinux* | sh[12]-*-uclinux*)
1229218822Sdim    targ_defvec=bfd_elf32_sh_vec
1230218822Sdim    targ_selvecs="bfd_elf32_shblin_vec bfd_elf32_shlin_vec"
1231104834Sobrien#ifdef BFD64
1232218822Sdim    targ_selvecs="${targ_selvecs} bfd_elf32_sh64lin_vec bfd_elf32_sh64blin_vec bfd_elf64_sh64lin_vec bfd_elf64_sh64blin_vec"
1233218822Sdim#endif
1234218822Sdim    ;;
1235218822Sdim
1236218822Sdim#ifdef BFD64
1237104834Sobrien  sh5le-*-netbsd*)
1238104834Sobrien    targ_defvec=bfd_elf32_sh64lnbsd_vec
1239218822Sdim    targ_selvecs="bfd_elf32_sh64nbsd_vec bfd_elf64_sh64lnbsd_vec bfd_elf64_sh64nbsd_vec bfd_elf32_shnbsd_vec bfd_elf32_shlnbsd_vec"
1240218822Sdim    want64=true
1241104834Sobrien    ;;
1242104834Sobrien  sh5-*-netbsd*)
1243104834Sobrien    targ_defvec=bfd_elf32_sh64nbsd_vec
1244218822Sdim    targ_selvecs="bfd_elf32_sh64lnbsd_vec bfd_elf64_sh64lnbsd_vec bfd_elf64_sh64nbsd_vec bfd_elf32_shnbsd_vec bfd_elf32_shlnbsd_vec"
1245218822Sdim    want64=true
1246104834Sobrien    ;;
1247104834Sobrien
1248104834Sobrien  sh64le-*-netbsd*)
1249104834Sobrien    targ_defvec=bfd_elf64_sh64lnbsd_vec
1250218822Sdim    targ_selvecs="bfd_elf64_sh64nbsd_vec bfd_elf32_sh64lnbsd_vec bfd_elf32_sh64nbsd_vec bfd_elf32_shnbsd_vec bfd_elf32_shlnbsd_vec"
1251218822Sdim    want64=true
1252104834Sobrien    ;;
1253104834Sobrien  sh64-*-netbsd*)
1254104834Sobrien    targ_defvec=bfd_elf64_sh64nbsd_vec
1255218822Sdim    targ_selvecs="bfd_elf64_sh64lnbsd_vec bfd_elf32_sh64lnbsd_vec bfd_elf32_sh64nbsd_vec bfd_elf32_shnbsd_vec bfd_elf32_shlnbsd_vec"
1256218822Sdim    want64=true
1257104834Sobrien    ;;
1258104834Sobrien
1259130561Sobrien  sh*l*-*-netbsdelf*)
1260104834Sobrien    targ_defvec=bfd_elf32_shlnbsd_vec
1261218822Sdim    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"
1262218822Sdim    want64=true
1263104834Sobrien    ;;
126491041Sobrien  sh-*-netbsdelf*)
126591041Sobrien    targ_defvec=bfd_elf32_shnbsd_vec
1266218822Sdim    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"
1267218822Sdim    want64=true
1268218822Sdim    ;;
126991041Sobrien#endif
1270218822Sdim
127189857Sobrien  sh*-*-netbsdelf*)
127289857Sobrien    targ_defvec=bfd_elf32_shnbsd_vec
127389857Sobrien    targ_selvecs="bfd_elf32_shlnbsd_vec shcoff_vec shlcoff_vec"
127489857Sobrien    ;;
1275218822Sdim  sh*-*-symbianelf*)
1276218822Sdim    targ_defvec=bfd_elf32_shl_symbian_vec
1277218822Sdim    targ_selvecs="shlcoff_vec shlcoff_small_vec"
1278218822Sdim    targ_underscore=yes
1279218822Sdim    ;;
1280218822Sdim
1281218822Sdim#ifdef BFD64
1282130561Sobrien  shl*-*-elf* | sh[1234]l*-*-elf* | sh3el*-*-elf* | shl*-*-kaos*)
1283104834Sobrien    targ_defvec=bfd_elf32_shl_vec
1284218822Sdim    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"
1285104834Sobrien    targ_underscore=yes
1286218822Sdim    want64=true
1287104834Sobrien    ;;
1288218822Sdim#endif
1289218822Sdim
1290130561Sobrien  sh-*-rtemscoff*)
1291130561Sobrien    targ_defvec=shcoff_vec
1292130561Sobrien    targ_selvecs="shcoff_vec shlcoff_vec shcoff_small_vec shlcoff_small_vec"
1293130561Sobrien    targ_underscore=yes
1294130561Sobrien    ;;
1295218822Sdim
1296218822Sdim#ifdef BFD64
1297130561Sobrien  sh-*-elf* | sh[1234]*-elf* | sh-*-rtems* | sh-*-kaos*)
129833965Sjdp    targ_defvec=bfd_elf32_sh_vec
1299218822Sdim    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"
130033965Sjdp    targ_underscore=yes
1301218822Sdim    want64=true
130233965Sjdp    ;;
1303218822Sdim#endif
1304218822Sdim
1305130561Sobrien  sh-*-nto*)
1306130561Sobrien    targ_defvec=bfd_elf32_sh_vec
1307130561Sobrien    targ_selvecs="bfd_elf32_shl_vec shcoff_vec shlcoff_vec shcoff_small_vec shlcoff_small_vec"
1308130561Sobrien    targ_underscore=yes
1309130561Sobrien    ;;
1310218822Sdim  sh*-*-openbsd*)
1311218822Sdim    targ_defvec=bfd_elf32_shlnbsd_vec
1312218822Sdim    targ_selvecs="bfd_elf32_shnbsd_vec shcoff_vec shlcoff_vec"
1313218822Sdim    ;;
131460484Sobrien  sh-*-pe)
131560484Sobrien    targ_defvec=shlpe_vec
131660484Sobrien    targ_selvecs="shlpe_vec shlpei_vec"
131760484Sobrien    targ_underscore=yes
131860484Sobrien    ;;
1319130561Sobrien  sh-*-vxworks)
1320218822Sdim    targ_defvec=bfd_elf32_shvxworks_vec
1321218822Sdim    targ_selvecs="bfd_elf32_shlvxworks_vec"
1322130561Sobrien    # FIXME None of the following are actually used on this target, but
1323130561Sobrien    # they're necessary for coff-sh.c (which is unconditionally used) to be
1324130561Sobrien    # compiled correctly.
1325130561Sobrien    targ_selvecs="$targ_selvecs shcoff_vec shlcoff_vec shcoff_small_vec shlcoff_small_vec"
1326130561Sobrien    ;;
1327130561Sobrien  sh-*-*)
132833965Sjdp    targ_defvec=shcoff_vec
132938889Sjdp    targ_selvecs="shcoff_vec shlcoff_vec shcoff_small_vec shlcoff_small_vec"
133033965Sjdp    targ_underscore=yes
133133965Sjdp    ;;
133233965Sjdp
133333965Sjdp  sparclet-*-aout*)
133433965Sjdp    targ_defvec=sunos_big_vec
133533965Sjdp    targ_selvecs=sparcle_aout_vec
133633965Sjdp    targ_underscore=yes
133733965Sjdp    ;;
133860484Sobrien  sparc86x-*-aout*)
133960484Sobrien    targ_defvec=sunos_big_vec
134060484Sobrien    targ_underscore=yes
134160484Sobrien    ;;
134260484Sobrien  sparclite-*-elf* | sparc86x-*-elf*)
134338889Sjdp    targ_defvec=bfd_elf32_sparc_vec
134438889Sjdp    ;;
134577298Sobrien  sparc*-*-chorus*)
134677298Sobrien    targ_defvec=bfd_elf32_sparc_vec
134777298Sobrien    ;;
134833965Sjdp  sparc-*-linux*aout*)
134933965Sjdp    targ_defvec=sparclinux_vec
135033965Sjdp    targ_selvecs="bfd_elf32_sparc_vec sunos_big_vec"
135133965Sjdp    targ_underscore=yes
135233965Sjdp    ;;
1353218822Sdim  sparc-*-linux-*)
135433965Sjdp    targ_defvec=bfd_elf32_sparc_vec
135560484Sobrien    targ_selvecs="sparclinux_vec bfd_elf64_sparc_vec sunos_big_vec"
135633965Sjdp    ;;
135760484Sobrien  sparc-*-netbsdelf*)
135860484Sobrien    targ_defvec=bfd_elf32_sparc_vec
135960484Sobrien    targ_selvecs=sparcnetbsd_vec
136060484Sobrien    ;;
136160484Sobrien  sparc-*-netbsdaout* | sparc-*-netbsd*)
136233965Sjdp    targ_defvec=sparcnetbsd_vec
136360484Sobrien    targ_selvecs=bfd_elf32_sparc_vec
136433965Sjdp    targ_underscore=yes
136533965Sjdp    ;;
1366130561Sobrien  sparc-*-openbsd[0-2].* | sparc-*-openbsd3.[0-1])
136760484Sobrien    targ_defvec=sparcnetbsd_vec
136860484Sobrien    targ_underscore=yes
136960484Sobrien    ;;
1370130561Sobrien  sparc-*-openbsd*)
1371130561Sobrien    targ_defvec=bfd_elf32_sparc_vec
1372130561Sobrien    targ_selvecs=sparcnetbsd_vec
1373130561Sobrien    ;;
137460484Sobrien  sparc-*-elf* | sparc-*-solaris2.[0-6] | sparc-*-solaris2.[0-6].*)
137533965Sjdp    targ_defvec=bfd_elf32_sparc_vec
137633965Sjdp    targ_selvecs=sunos_big_vec
137733965Sjdp    ;;
137860484Sobrien#ifdef BFD64
137960484Sobrien  sparc-*-solaris2* | sparcv9-*-solaris2* | sparc64-*-solaris2*)
138060484Sobrien    targ_defvec=bfd_elf32_sparc_vec
138160484Sobrien    targ_selvecs="bfd_elf64_sparc_vec sunos_big_vec"
1382218822Sdim    want64=true
138360484Sobrien    ;;
138460484Sobrien#endif
138533965Sjdp  sparc-*-sysv4*)
138633965Sjdp    targ_defvec=bfd_elf32_sparc_vec
138733965Sjdp    ;;
1388218822Sdim  sparc-*-vxworks*)
1389218822Sdim    targ_defvec=bfd_elf32_sparc_vxworks_vec
1390218822Sdim    targ_selvecs="bfd_elf32_sparc_vec sunos_big_vec"
1391218822Sdim    ;;
139238889Sjdp  sparc-*-netware*)
139338889Sjdp    targ_defvec=bfd_elf32_sparc_vec
139438889Sjdp    targ_selvecs="nlm32_sparc_vec sunos_big_vec"
139538889Sjdp    ;;
139638889Sjdp#ifdef BFD64
139733965Sjdp  sparc64-*-aout*)
139833965Sjdp    targ_defvec=sunos_big_vec
139933965Sjdp    targ_underscore=yes
1400218822Sdim    want64=true
140133965Sjdp    ;;
1402218822Sdim  sparc64-*-linux-*)
140338889Sjdp    targ_defvec=bfd_elf64_sparc_vec
140438889Sjdp    targ_selvecs="bfd_elf32_sparc_vec sparclinux_vec sunos_big_vec"
1405218822Sdim    want64=true
140638889Sjdp    ;;
140733965Sjdp  sparc64-*-elf*)
140833965Sjdp    targ_defvec=bfd_elf64_sparc_vec
140933965Sjdp    targ_selvecs=bfd_elf32_sparc_vec
1410218822Sdim    want64=true
141177298Sobrien    ;;
141233965Sjdp#endif /* BFD64 */
141333965Sjdp  sparc*-*-coff*)
141433965Sjdp    targ_defvec=sparccoff_vec
141533965Sjdp    ;;
1416218822Sdim  sparc*-*-rtems*)
141761843Sobrien    targ_defvec=bfd_elf32_sparc_vec
141861843Sobrien    targ_selvecs="sunos_big_vec sparccoff_vec"
141961843Sobrien    ;;
1420218822Sdim  sparc*-*-*)
142161843Sobrien    targ_defvec=sunos_big_vec
142261843Sobrien    targ_underscore=yes
142361843Sobrien    ;;
142433965Sjdp
1425218822Sdim  spu-*-elf)
1426218822Sdim    targ_defvec=bfd_elf32_spu_vec
1427218822Sdim    ;;
1428218822Sdim
142933965Sjdp#if HAVE_host_aout_vec
143033965Sjdp  tahoe-*-*)
143133965Sjdp    targ_defvec=host_aout_vec
143233965Sjdp    targ_underscore=yes
143333965Sjdp    ;;
143433965Sjdp#endif
143533965Sjdp
143660484Sobrien  tic80*-*-*)
143760484Sobrien    targ_defvec=tic80coff_vec
143860484Sobrien    targ_underscore=yes
143960484Sobrien    ;;
144060484Sobrien
144138889Sjdp  v850-*-*)
144238889Sjdp    targ_defvec=bfd_elf32_v850_vec
144338889Sjdp    ;;
144460484Sobrien  v850e-*-*)
144560484Sobrien    targ_defvec=bfd_elf32_v850_vec
144660484Sobrien    ;;
144760484Sobrien  v850ea-*-*)
144860484Sobrien    targ_defvec=bfd_elf32_v850_vec
144960484Sobrien    ;;
1450104834Sobrien
1451104834Sobrien  vax-*-netbsdelf*)
1452104834Sobrien    targ_defvec=bfd_elf32_vax_vec
1453104834Sobrien    targ_selvecs="vaxnetbsd_vec vax1knetbsd_vec"
1454104834Sobrien    ;;
1455104834Sobrien
1456104834Sobrien  vax-*-netbsdaout* | vax-*-netbsd*)
1457104834Sobrien    targ_defvec=vaxnetbsd_vec
1458104834Sobrien    targ_selvecs="bfd_elf32_vax_vec vax1knetbsd_vec"
1459104834Sobrien    targ_underscore=yes
1460104834Sobrien    ;;
1461104834Sobrien
146233965Sjdp  vax-*-bsd* | vax-*-ultrix*)
1463104834Sobrien    targ_defvec=vaxbsd_vec
146433965Sjdp    targ_underscore=yes
146533965Sjdp    ;;
146633965Sjdp
1467130561Sobrien  vax-*-openbsd*)
1468130561Sobrien    targ_defvec=vaxnetbsd_vec
1469130561Sobrien    targ_underscore=yes
1470130561Sobrien    ;;
1471130561Sobrien
1472218822Sdim  vax-*-linux-*)
1473130561Sobrien    targ_defvec=bfd_elf32_vax_vec
1474130561Sobrien    ;;
1475130561Sobrien
147660484Sobrien  vax*-*-*vms*)
147760484Sobrien    targ_defvec=vms_vax_vec
147860484Sobrien    ;;
147960484Sobrien
148033965Sjdp  we32k-*-*)
148133965Sjdp    targ_defvec=we32kcoff_vec
148233965Sjdp    ;;
148333965Sjdp
148433965Sjdp  w65-*-*)
148533965Sjdp    targ_defvec=w65_vec
148633965Sjdp    ;;
148733965Sjdp
148889857Sobrien  xstormy16-*-elf)
148989857Sobrien    targ_defvec=bfd_elf32_xstormy16_vec
149089857Sobrien    ;;
149189857Sobrien
1492130561Sobrien  xtensa-*-*)
1493130561Sobrien    targ_defvec=bfd_elf32_xtensa_le_vec
1494130561Sobrien    targ_selvecs=bfd_elf32_xtensa_be_vec
1495130561Sobrien    ;;
1496218822Sdim xc16x-*-elf)
1497218822Sdim    targ_defvec=bfd_elf32_xc16x_vec
1498218822Sdim    ;;
1499218822Sdim  
1500218822Sdim  z80-*-*)
1501218822Sdim    targ_defvec=z80coff_vec
1502218822Sdim    targ_underscore=no
1503218822Sdim    ;;
1504130561Sobrien
150533965Sjdp  z8k*-*-*)
150633965Sjdp    targ_defvec=z8kcoff_vec
150733965Sjdp    targ_underscore=yes
150833965Sjdp    ;;
150933965Sjdp
151033965Sjdp  *-*-ieee*)
151133965Sjdp    targ_defvec=ieee_vec
151233965Sjdp    ;;
151333965Sjdp
151433965Sjdp  *-adobe-*)
151533965Sjdp    targ_defvec=a_out_adobe_vec
151633965Sjdp    targ_underscore=yes
151733965Sjdp    ;;
151833965Sjdp
151933965Sjdp  *-sony-*)
152033965Sjdp    targ_defvec=newsos3_vec
152133965Sjdp    targ_underscore=yes
152233965Sjdp    ;;
152333965Sjdp
152433965Sjdp  *-tandem-*)
152533965Sjdp    targ_defvec=m68kcoff_vec
152633965Sjdp    targ_selvecs=ieee_vec
152733965Sjdp    ;;
152833965Sjdp# END OF targmatch.h
152933965Sjdp  *)
153033965Sjdp    echo 1>&2 "*** BFD does not support target ${targ}."
153133965Sjdp    echo 1>&2 "*** Look in bfd/config.bfd for supported targets."
153233965Sjdp    exit 1
153333965Sjdp    ;;
153433965Sjdpesac
153560484Sobrien
153689857Sobriencase "${host64}${want64}" in
153789857Sobrien  *true*)
153889857Sobrien    targ_selvecs="${targ_selvecs} ${targ64_selvecs}"
153989857Sobrien    ;;
154089857Sobrienesac
154189857Sobrien
154260484Sobrien# If we support any ELF target, then automatically add support for the
154360484Sobrien# generic ELF targets.  This permits an objdump with some ELF support
154460484Sobrien# to be used on an arbitrary ELF file for anything other than
154560484Sobrien# relocation information.
154660484Sobriencase "${targ_defvec} ${targ_selvecs}" in
1547130561Sobrien  *bfd_elf64* | *bfd_elf32_n*mips*)
154860484Sobrien    targ_selvecs="${targ_selvecs} bfd_elf64_little_generic_vec bfd_elf64_big_generic_vec bfd_elf32_little_generic_vec bfd_elf32_big_generic_vec"
154960484Sobrien    ;;
155060484Sobrien  *bfd_elf32*)
155160484Sobrien    targ_selvecs="${targ_selvecs} bfd_elf32_little_generic_vec bfd_elf32_big_generic_vec"
155260484Sobrien    ;;
155360484Sobrienesac
1554