1# config.bfd 2# 3# Copyright (C) 2012-2016 Free Software Foundation, Inc. 4# 5# This file is free software; you can redistribute it and/or modify 6# it under the terms of the GNU General Public License as published by 7# the Free Software Foundation; either version 3 of the License, or 8# (at your option) any later version. 9# 10# This program is distributed in the hope that it will be useful, 11# but WITHOUT ANY WARRANTY; without even the implied warranty of 12# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the 13# GNU General Public License for more details. 14# 15# You should have received a copy of the GNU General Public License 16# along with this program; see the file COPYING3. If not see 17# <http://www.gnu.org/licenses/>. 18# 19# Convert a canonical host type into a BFD host type. 20# Set shell variable targ to canonical target name, and run 21# using ``. config.bfd''. 22# Sets the following shell variables: 23# targ_defvec Default vector for this target 24# targ_selvecs Vectors to build for this target 25# targ64_selvecs Vectors to build if --enable-64-bit-bfd is given 26# or if host is 64 bit. 27# targ_archs Architectures for this target 28# targ_cflags $(CFLAGS) for this target (FIXME: pretty bogus) 29# targ_underscore Whether underscores are used: yes or no 30 31# Part of this file is processed by targmatch.sed to generate the 32# targmatch.h file. The #ifdef and #endif lines that appear below are 33# copied directly into targmatch.h. 34 35# The binutils c++filt program wants to know whether underscores are 36# stripped or not. That is why we set targ_underscore. c++filt uses 37# this information to choose a default. This information is 38# duplicated in the symbol_leading_char field of the BFD target 39# vector, but c++filt does not deal with object files and is not 40# linked against libbfd.a. It is not terribly important that c++filt 41# get this right; it is just convenient. 42 43targ_defvec= 44targ_selvecs= 45targ64_selvecs= 46targ_cflags= 47targ_underscore=no 48 49# Catch obsolete configurations. 50case $targ in 51 openrisc-*-* | or32-*-*) 52 echo "*** Configuration $targ is obsolete." >&2 53 echo "*** Use or1k-*-elf or or1k-*-linux as the target instead" >&2 54 exit 1 55 ;; 56 i370-* | \ 57 sh5*-*-* | sh64*-*-* | \ 58 null) 59 if test "x$enable_obsolete" != xyes; then 60 echo "*** Configuration $targ is obsolete." >&2 61 echo "*** Specify --enable-obsolete to build it anyway." >&2 62 echo "*** Support will be REMOVED in the next major release of BINUTILS," >&2 63 echo "*** unless a maintainer comes forward." >&2 64 exit 1 65 fi;; 66esac 67 68case $targ in 69 *-go32-rtems* | \ 70 a29k-* | \ 71 arm-*-oabi | \ 72 hppa*-*-rtems* | \ 73 i960-*-rtems* | \ 74 i[3-7]86*-*-rtemscoff* | \ 75 m68*-*-lynxos* | \ 76 m68*-*-rtemscoff* | \ 77 m68*-apollo-* | \ 78 m68*-apple-aux* | \ 79 m68*-bull-sysv* | \ 80 maxq-*-coff | \ 81 mips*el-*-rtems* | \ 82 powerpcle-*-rtems* | \ 83 sparc*-*-rtemsaout* | \ 84 sparc-*-lynxos* | \ 85 vax-*-vms* | \ 86 null) 87 echo "*** Configuration $targ is obsolete." >&2 88 echo "*** Support has been REMOVED." >&2 89 exit 1 90 ;; 91esac 92 93targ_cpu=`echo $targ | sed 's/^\([^-]*\)-\([^-]*\)-\(.*\)$/\1/'` 94case "${targ_cpu}" in 95aarch64*) targ_archs="bfd_aarch64_arch bfd_arm_arch";; 96alpha*) targ_archs=bfd_alpha_arch ;; 97am33_2.0*) targ_archs=bfd_mn10300_arch ;; 98arc*) targ_archs=bfd_arc_arch ;; 99arm*) targ_archs=bfd_arm_arch ;; 100bfin*) targ_archs=bfd_bfin_arch ;; 101c30*) targ_archs=bfd_tic30_arch ;; 102c4x*) targ_archs=bfd_tic4x_arch ;; 103c54x*) targ_archs=bfd_tic54x_arch ;; 104cr16*) targ_archs=bfd_cr16_arch ;; 105crisv32) targ_archs=bfd_cris_arch ;; 106crx*) targ_archs=bfd_crx_arch ;; 107dlx*) targ_archs=bfd_dlx_arch ;; 108fido*) targ_archs=bfd_m68k_arch ;; 109hppa*) targ_archs=bfd_hppa_arch ;; 110i[3-7]86) targ_archs=bfd_i386_arch ;; 111i370) targ_archs=bfd_i370_arch ;; 112lm32) targ_archs=bfd_lm32_arch ;; 113m5200|m5407) targ_archs=bfd_m68k_arch ;; 114m6811*|m68hc11*) targ_archs="bfd_m68hc11_arch bfd_m68hc12_arch bfd_m9s12x_arch bfd_m9s12xg_arch" ;; 115m6812*|m68hc12*) targ_archs="bfd_m68hc12_arch bfd_m68hc11_arch bfd_m9s12x_arch bfd_m9s12xg_arch" ;; 116m68*) targ_archs=bfd_m68k_arch ;; 117m88*) targ_archs=bfd_m88k_arch ;; 118microblaze*) targ_archs=bfd_microblaze_arch ;; 119mips*) targ_archs=bfd_mips_arch ;; 120nds32*) targ_archs=bfd_nds32_arch ;; 121nios2*) targ_archs=bfd_nios2_arch ;; 122or1k*|or1knd*) targ_archs=bfd_or1k_arch ;; 123pdp11*) targ_archs=bfd_pdp11_arch ;; 124pj*) targ_archs="bfd_pj_arch bfd_i386_arch";; 125powerpc*) targ_archs="bfd_rs6000_arch bfd_powerpc_arch" ;; 126riscv*) targ_archs=bfd_riscv_arch ;; 127rs6000) targ_archs="bfd_rs6000_arch bfd_powerpc_arch" ;; 128s390*) targ_archs=bfd_s390_arch ;; 129sh*) targ_archs=bfd_sh_arch ;; 130sparc*) targ_archs=bfd_sparc_arch ;; 131spu*) targ_archs=bfd_spu_arch ;; 132tilegx*) targ_archs=bfd_tilegx_arch ;; 133tilepro*) targ_archs=bfd_tilepro_arch ;; 134v850*) targ_archs="bfd_v850_arch bfd_v850_rh850_arch" ;; 135visium*) targ_archs=bfd_visium_arch ;; 136x86_64*) targ_archs=bfd_i386_arch ;; 137xtensa*) targ_archs=bfd_xtensa_arch ;; 138xgate) targ_archs=bfd_xgate_arch ;; 139z80|r800) targ_archs=bfd_z80_arch ;; 140z8k*) targ_archs=bfd_z8k_arch ;; 141*) targ_archs=bfd_${targ_cpu}_arch ;; 142esac 143 144 145# WHEN ADDING ENTRIES TO THIS MATRIX: 146# Make sure that the left side always has two dashes. Otherwise you 147# can get spurious matches. Even for unambiguous cases, do this as a 148# convention, else the table becomes a real mess to understand and maintain. 149# 150# Keep obsolete entries above the START comment, to keep them out of 151# targmatch.h. 152 153case "${targ}" in 154 mips*-dec-bsd*) 155 echo "This target is obsolete and has been removed." 156 exit 1 157 ;; 158 159 mips*-*-mach3*) 160 echo "This target is obsolete and has been removed." 161 exit 1 162 ;; 163 164 mips*-*-pe*) 165 echo "This target is obsolete and has been removed." 166 exit 1 167 ;; 168 169 plugin) 170 targ_defvec=plugin_vec 171 targ_selvecs="plugin_vec" 172 ;; 173 174# START OF targmatch.h 175#ifdef BFD64 176 aarch64-*-darwin*) 177 targ_defvec=aarch64_mach_o_vec 178 targ_selvecs="arm_mach_o_vec mach_o_le_vec mach_o_be_vec mach_o_fat_vec" 179 targ_archs="$targ_archs bfd_i386_arch bfd_powerpc_arch bfd_rs6000_arch" 180 want64=true 181 ;; 182 aarch64-*-elf | aarch64-*-rtems*) 183 targ_defvec=aarch64_elf64_le_vec 184 targ_selvecs="aarch64_elf64_be_vec aarch64_elf32_le_vec aarch64_elf32_be_vec arm_elf32_le_vec arm_elf32_be_vec" 185 want64=true 186 ;; 187 aarch64_be-*-elf) 188 targ_defvec=aarch64_elf64_be_vec 189 targ_selvecs="aarch64_elf64_le_vec aarch64_elf32_le_vec aarch64_elf32_be_vec arm_elf32_be_vec arm_elf32_le_vec" 190 want64=true 191 ;; 192 aarch64-*-freebsd*) 193 targ_defvec=aarch64_elf64_le_vec 194 targ_selvecs="aarch64_elf64_be_vec arm_elf32_le_vec arm_elf32_be_vec" 195 want64=true 196 ;; 197 aarch64-*-cloudabi*) 198 targ_defvec=aarch64_elf64_le_cloudabi_vec 199 targ_selvecs=aarch64_elf64_be_cloudabi_vec 200 want64=true 201 ;; 202 aarch64-*-linux* | aarch64-*-netbsd*) 203 targ_defvec=aarch64_elf64_le_vec 204 targ_selvecs="aarch64_elf64_be_vec aarch64_elf32_le_vec aarch64_elf32_be_vec arm_elf32_le_vec arm_elf32_be_vec" 205 want64=true 206 ;; 207 aarch64_be-*-linux* | aarch64_be-*-netbsd*) 208 targ_defvec=aarch64_elf64_be_vec 209 targ_selvecs="aarch64_elf64_le_vec aarch64_elf32_le_vec aarch64_elf32_be_vec arm_elf32_be_vec arm_elf32_le_vec" 210 want64=true 211 ;; 212 alpha*-*-freebsd* | alpha*-*-kfreebsd*-gnu) 213 targ_defvec=alpha_elf64_fbsd_vec 214 targ_selvecs="alpha_elf64_vec alpha_ecoff_le_vec" 215 want64=true 216 # FreeBSD <= 4.0 supports only the old nonstandard way of ABI labelling. 217 case "${targ}" in 218 alpha*-*-freebsd3* | alpha*-*-freebsd4 | alpha*-*-freebsd4.0*) 219 targ_cflags=-DOLD_FREEBSD_ABI_LABEL ;; 220 esac 221 ;; 222 alpha*-*-netbsd* | alpha*-*-openbsd*) 223 targ_defvec=alpha_elf64_vec 224 targ_selvecs=alpha_ecoff_le_vec 225 want64=true 226 ;; 227 alpha*-*-netware*) 228 targ_defvec=alpha_ecoff_le_vec 229 targ_selvecs=alpha_nlm32_vec 230 want64=true 231 ;; 232 alpha*-*-linux*ecoff*) 233 targ_defvec=alpha_ecoff_le_vec 234 targ_selvecs=alpha_elf64_vec 235 want64=true 236 ;; 237 alpha*-*-linux-* | alpha*-*-elf*) 238 targ_defvec=alpha_elf64_vec 239 targ_selvecs=alpha_ecoff_le_vec 240 want64=true 241 ;; 242 alpha*-*-*vms*) 243 targ_defvec=alpha_vms_vec 244 targ_selvecs=alpha_vms_lib_txt_vec 245 want64=true 246 ;; 247 alpha*-*-*) 248 targ_defvec=alpha_ecoff_le_vec 249 want64=true 250 ;; 251 ia64*-*-freebsd* | ia64*-*-netbsd* | ia64*-*-linux-* | ia64*-*-elf* | ia64*-*-kfreebsd*-gnu) 252 targ_defvec=ia64_elf64_le_vec 253 targ_selvecs="ia64_elf64_be_vec ia64_pei_vec" 254 want64=true 255 ;; 256 ia64*-*-hpux*) 257 targ_defvec=ia64_elf32_hpux_be_vec 258 targ_selvecs="ia64_elf64_hpux_be_vec" 259 want64=true 260 ;; 261 ia64*-*-*vms*) 262 targ_defvec=ia64_elf64_vms_vec 263 targ_selvecs=alpha_vms_lib_txt_vec 264 want64=true 265 ;; 266 sparc64-*-freebsd* | sparc64-*-kfreebsd*-gnu) 267 targ_defvec=sparc_elf64_fbsd_vec 268 targ_selvecs="sparc_elf64_vec sparc_elf32_vec sparc_aout_sunos_be_vec" 269 ;; 270 sparc64-*-netbsd* | sparc64-*-openbsd*) 271 targ_defvec=sparc_elf64_vec 272 targ_selvecs="sparc_elf32_vec sparc_aout_sunos_be_vec" 273 want64=true 274 ;; 275#endif /* BFD64 */ 276 277 am33_2.0-*-linux*) 278 targ_defvec=am33_elf32_linux_vec 279 ;; 280 281 arc*-*-elf* | arc*-*-linux*) 282 targ_defvec=arc_elf32_le_vec 283 targ_selvecs=arc_elf32_be_vec 284 ;; 285 286 arm-*-darwin*) 287 targ_defvec=arm_mach_o_vec 288 targ_selvecs="mach_o_le_vec mach_o_be_vec mach_o_fat_vec" 289 targ_archs="$targ_archs bfd_i386_arch bfd_powerpc_arch bfd_rs6000_arch" 290 ;; 291 arm-*-nacl*) 292 targ_defvec=arm_elf32_nacl_le_vec 293 targ_selvecs="arm_elf32_nacl_be_vec i386_elf32_nacl_vec" 294 targ64_selvecs="x86_64_elf32_nacl_vec x86_64_elf64_nacl_vec" 295 targ_archs="$targ_archs bfd_i386_arch" 296 ;; 297 armeb-*-nacl*) 298 targ_defvec=arm_elf32_nacl_be_vec 299 targ_selvecs="arm_elf32_nacl_le_vec i386_elf32_nacl_vec" 300 targ64_selvecs="x86_64_elf32_nacl_vec x86_64_elf64_nacl_vec" 301 targ_archs="$targ_archs bfd_i386_arch" 302 ;; 303 arm*eb-*-netbsdelf*) 304 targ_defvec=arm_elf32_be_vec 305 targ_selvecs="arm_elf32_le_vec arm_aout_nbsd_vec" 306 ;; 307 arm*-*-netbsdelf*) 308 targ_defvec=arm_elf32_le_vec 309 targ_selvecs="arm_elf32_be_vec arm_aout_nbsd_vec" 310 ;; 311 arm-*-netbsd* | arm-*-openbsd*) 312 targ_defvec=arm_aout_nbsd_vec 313 targ_selvecs="arm_elf32_le_vec arm_elf32_be_vec" 314 targ_underscore=yes 315 ;; 316 arm-*-nto* | nto*arm*) 317 targ_defvec=arm_elf32_le_vec 318 targ_selvecs=arm_elf32_be_vec 319 targ_cflags=-D__QNXTARGET__ 320 ;; 321 arm-*-riscix*) 322 targ_defvec=arm_aout_riscix_vec 323 ;; 324 arm-epoc-pe*) 325 targ_defvec=arm_pe_epoc_le_vec 326 targ_selvecs="arm_pe_epoc_le_vec arm_pe_epoc_be_vec arm_pei_epoc_le_vec arm_pei_epoc_be_vec" 327 targ_underscore=no 328 targ_cflags=-DARM_COFF_BUGFIX 329 ;; 330 arm-wince-pe | arm-*-wince | arm*-*-mingw32ce* | arm*-*-cegcc*) 331 targ_defvec=arm_pe_wince_le_vec 332 targ_selvecs="arm_pe_wince_le_vec arm_pe_wince_be_vec arm_pei_wince_le_vec arm_pei_wince_be_vec" 333 targ_underscore=no 334 targ_cflags="-DARM_WINCE -DARM_COFF_BUGFIX" 335 ;; 336 arm-*-pe*) 337 targ_defvec=arm_pe_le_vec 338 targ_selvecs="arm_pe_le_vec arm_pe_be_vec arm_pei_le_vec arm_pei_be_vec" 339 targ_underscore=yes 340 ;; 341 arm-*-aout | armel-*-aout) 342 targ_defvec=arm_aout_le_vec 343 targ_selvecs=arm_aout_be_vec 344 ;; 345 armeb-*-aout) 346 targ_defvec=arm_aout_be_vec 347 targ_selvecs=arm_aout_le_vec 348 ;; 349 arm-*-coff) 350 targ_defvec=arm_coff_le_vec 351 targ_selvecs=arm_coff_be_vec 352 targ_underscore=yes 353 ;; 354 arm-*-phoenix*) 355 targ_defvec=arm_elf32_le_vec 356 targ_selvecs=arm_elf32_be_vec 357 ;; 358 arm-*-rtems*) 359 targ_defvec=arm_elf32_le_vec 360 targ_selvecs=arm_elf32_be_vec 361 ;; 362 armeb-*-elf | arm*b-*-freebsd* | arm*b-*-linux-* | armeb-*-eabi*) 363 targ_defvec=arm_elf32_be_vec 364 targ_selvecs=arm_elf32_le_vec 365 ;; 366 arm-*-kaos*) 367 targ_defvec=arm_elf32_le_vec 368 targ_selvecs=arm_elf32_be_vec 369 ;; 370 arm-*-elf | arm*-*-freebsd* | arm*-*-linux-* | arm*-*-conix* | \ 371 arm*-*-uclinux* | arm-*-kfreebsd*-gnu | \ 372 arm*-*-eabi* ) 373 targ_defvec=arm_elf32_le_vec 374 targ_selvecs=arm_elf32_be_vec 375 ;; 376 arm*-*-vxworks | arm*-*-windiss) 377 targ_defvec=arm_elf32_vxworks_le_vec 378 targ_selvecs=arm_elf32_vxworks_be_vec 379 ;; 380 arm*-*-symbianelf*) 381 targ_defvec=arm_elf32_symbian_le_vec 382 targ_selvecs=arm_elf32_symbian_be_vec 383 ;; 384 arm9e-*-elf) 385 targ_defvec=arm_elf32_le_vec 386 targ_selvecs=arm_elf32_be_vec 387 ;; 388 389 avr-*-*) 390 targ_defvec=avr_elf32_vec 391 ;; 392 393 bfin-*-*) 394 targ_defvec=bfin_elf32_vec 395 targ_selvecs=bfin_elf32_fdpic_vec 396 targ_underscore=yes 397 ;; 398 399 c30-*-*aout* | tic30-*-*aout*) 400 targ_defvec=tic30_aout_vec 401 ;; 402 c30-*-*coff* | tic30-*-*coff*) 403 targ_defvec=tic30_coff_vec 404 ;; 405 406 c4x-*-*coff* | tic4x-*-*coff* | tic4x-*-rtems*) 407 targ_defvec=tic4x_coff1_vec 408 targ_selvecs="tic4x_coff1_beh_vec tic4x_coff2_vec tic4x_coff2_beh_vec tic4x_coff0_vec tic4x_coff0_beh_vec" 409 targ_underscore=yes 410 ;; 411 412 c54x*-*-*coff* | tic54x-*-*coff*) 413 targ_defvec=tic54x_coff1_vec 414 targ_selvecs="tic54x_coff1_beh_vec tic54x_coff2_vec tic54x_coff2_beh_vec tic54x_coff0_vec tic54x_coff0_beh_vec" 415 targ_underscore=yes 416 ;; 417 418 cr16-*-elf* | cr16*-*-uclinux*) 419 targ_defvec=cr16_elf32_vec 420 targ_underscore=yes 421 ;; 422 423 cr16c-*-elf*) 424 targ_defvec=cr16c_elf32_vec 425 targ_underscore=yes 426 ;; 427 428 cris-*-* | crisv32-*-*) 429 targ_defvec=cris_aout_vec 430 targ_selvecs="cris_elf32_us_vec cris_elf32_vec ieee_vec" 431 targ_underscore=yes # Note: not true for cris_elf32_vec. 432 ;; 433 434 crx-*-elf*) 435 targ_defvec=crx_elf32_vec 436 targ_underscore=yes 437 ;; 438 439 d10v-*-*) 440 targ_defvec=d10v_elf32_vec 441 ;; 442 443 dlx-*-elf*) 444 targ_defvec=dlx_elf32_be_vec 445 targ_selvecs="dlx_elf32_be_vec" 446 ;; 447 448 d30v-*-*) 449 targ_defvec=d30v_elf32_vec 450 ;; 451 452 epiphany-*-elf) 453 targ_defvec=epiphany_elf32_vec 454 ;; 455 456 fido-*-elf* ) 457 targ_defvec=m68k_elf32_vec 458 targ_selvecs="m68k_coff_vec ieee_vec" 459 ;; 460 461 fr30-*-elf) 462 targ_defvec=fr30_elf32_vec 463 ;; 464 465 frv-*-elf) 466 targ_defvec=frv_elf32_vec 467 targ_selvecs=frv_elf32_fdpic_vec 468 ;; 469 470 frv-*-*linux*) 471 targ_defvec=frv_elf32_fdpic_vec 472 targ_selvecs=frv_elf32_vec 473 ;; 474 475 moxie-*-elf | moxie-*-rtems* | moxie-*-uclinux) 476 targ_defvec=moxie_elf32_be_vec 477 targ_selvecs=moxie_elf32_le_vec 478 ;; 479 480 moxie-*-moxiebox*) 481 targ_defvec=moxie_elf32_le_vec 482 ;; 483 484 h8300*-*-rtemscoff*) 485 targ_defvec=h8300_coff_vec 486 targ_underscore=yes 487 ;; 488 489 h8300*-*-elf | h8300*-*-rtems*) 490 targ_defvec=h8300_elf32_vec 491 targ_underscore=yes 492 ;; 493 494 h8300*-*-linux*) 495 targ_defvec=h8300_elf32_linux_vec 496 ;; 497 498 h8300*-*-*) 499 targ_defvec=h8300_coff_vec 500 targ_underscore=yes 501 ;; 502 503 h8500-*-*) 504 targ_defvec=h8500_coff_vec 505 targ_underscore=yes 506 ;; 507 508#ifdef BFD64 509 hppa*64*-*-linux-*) 510 targ_defvec=hppa_elf64_linux_vec 511 targ_selvecs=hppa_elf64_vec 512 want64=true 513 ;; 514 hppa*64*-*-hpux11*) 515 targ_defvec=hppa_elf64_vec 516 targ_selvecs=hppa_elf64_linux_vec 517 targ_cflags=-DHPUX_LARGE_AR_IDS 518 want64=true 519 ;; 520#endif 521 522 hppa*-*-linux-*) 523 targ_defvec=hppa_elf32_linux_vec 524 targ_selvecs=hppa_elf32_vec 525 ;; 526 hppa*-*-netbsd*) 527 targ_defvec=hppa_elf32_nbsd_vec 528 targ_selvecs="hppa_elf32_vec hppa_elf32_linux_vec" 529 ;; 530 hppa*-*-*elf* | hppa*-*-lites* | hppa*-*-sysv4* | hppa*-*-openbsd*) 531 targ_defvec=hppa_elf32_vec 532 targ_selvecs=hppa_elf32_linux_vec 533 ;; 534 535 hppa*-*-bsd*) 536 targ_defvec=hppa_som_vec 537 targ_selvecs=hppa_elf32_vec 538 ;; 539 hppa*-*-hpux* | hppa*-*-hiux* | hppa*-*-mpeix*) 540 targ_defvec=hppa_som_vec 541 ;; 542 hppa*-*-osf*) 543 targ_defvec=hppa_som_vec 544 targ_selvecs=hppa_elf32_vec 545 ;; 546 547 i370-*-*) 548 targ_defvec=i370_elf32_vec 549 targ_selvecs="i370_elf32_vec" 550 ;; 551 552 i[3-7]86-*-sco3.2v5*coff) 553 targ_defvec=i386_coff_vec 554 targ_selvecs=i386_elf32_vec 555 ;; 556 i[3-7]86-*-sysv4* | i[3-7]86-*-unixware* | \ 557 i[3-7]86-*-elf* | i[3-7]86-*-sco3.2v5* | \ 558 i[3-7]86-*-dgux* | i[3-7]86-*-sysv5*) 559 targ_defvec=i386_elf32_vec 560 targ_selvecs="iamcu_elf32_vec i386_coff_vec" 561 ;; 562 i[3-7]86-*-solaris2*) 563 targ_defvec=i386_elf32_sol2_vec 564 targ_selvecs="iamcu_elf32_vec i386_coff_vec i386_pei_vec" 565 targ64_selvecs="x86_64_elf64_sol2_vec l1om_elf64_vec k1om_elf64_vec x86_64_pei_vec" 566 want64=true 567 ;; 568#ifdef BFD64 569 x86_64-*-solaris2*) 570 targ_defvec=i386_elf32_sol2_vec 571 targ_selvecs="x86_64_elf64_sol2_vec l1om_elf64_vec k1om_elf64_vec iamcu_elf32_vec i386_coff_vec i386_pei_vec x86_64_pei_vec" 572 want64=true 573 ;; 574#endif 575 i[3-7]86-*-kaos*) 576 targ_defvec=i386_elf32_vec 577 targ_selvecs=i386_elf32_vec 578 ;; 579 i[3-7]86-*-nto*) 580 targ_defvec=i386_elf32_vec 581 targ_selvecs="iamcu_elf32_vec i386_coff_vec" 582 ;; 583 i[3-7]86-*-aros*) 584 targ_defvec=i386_elf32_vec 585 targ_selvecs=iamcu_elf32_vec 586 ;; 587 i[3-7]86-*-chorus*) 588 targ_defvec=i386_elf32_vec 589 targ_selvecs=iamcu_elf32_vec 590 ;; 591 i[3-7]86-*-dicos*) 592 targ_defvec=i386_elf32_vec 593 targ_selvecs=iamcu_elf32_vec 594 targ64_selvecs="x86_64_elf64_vec l1om_elf64_vec k1om_elf64_vec" 595 ;; 596 *-*-msdosdjgpp* | *-*-go32* ) 597 targ_defvec=i386_coff_go32_vec 598 targ_selvecs="i386_coff_go32stubbed_vec i386_aout_vec" 599 ;; 600 i[3-7]86-*-sysv* | i[3-7]86-*-isc* | i[3-7]86-*-sco* | i[3-7]86-*-coff | \ 601 i[3-7]86-*-aix*) 602 targ_defvec=i386_coff_vec 603 ;; 604 i[3-7]86-*-rtems*) 605 targ_defvec=i386_elf32_vec 606 targ_selvecs="iamcu_elf32_vec i386_coff_vec i386_aout_vec" 607 ;; 608 i[3-7]86-*-darwin* | i[3-7]86-*-macos10* | i[3-7]86-*-rhapsody*) 609 targ_defvec=i386_mach_o_vec 610 targ_selvecs="mach_o_le_vec mach_o_be_vec mach_o_fat_vec pef_vec pef_xlib_vec sym_vec" 611 targ64_selvecs=x86_64_mach_o_vec 612 targ_archs="$targ_archs bfd_powerpc_arch bfd_rs6000_arch" 613 ;; 614 i[3-7]86-sequent-bsd*) 615 targ_defvec=i386_aout_dynix_vec 616 targ_underscore=yes 617 ;; 618 i[3-7]86-*-bsd*) 619 targ_defvec=i386_aout_bsd_vec 620 targ_underscore=yes 621 ;; 622 i[3-7]86-*-dragonfly*) 623 targ_defvec=i386_elf32_vec 624 targ_selvecs=iamcu_elf32_vec 625 targ64_selvecs="x86_64_elf64_vec l1om_elf64_vec k1om_elf64_vec" 626 ;; 627 i[3-7]86-*-freebsdaout* | i[3-7]86-*-freebsd[12].* | \ 628 i[3-7]86-*-freebsd[12]) 629 targ_defvec=i386_aout_fbsd_vec 630 targ_selvecs=i386_aout_bsd_vec 631 targ_underscore=yes 632 ;; 633 i[3-7]86-*-freebsd* | i[3-7]86-*-kfreebsd*-gnu) 634 targ_defvec=i386_elf32_fbsd_vec 635 targ_selvecs="i386_elf32_vec iamcu_elf32_vec i386_pei_vec i386_coff_vec" 636 targ64_selvecs="x86_64_elf64_fbsd_vec x86_64_elf64_vec x86_64_pei_vec l1om_elf64_vec l1om_elf64_fbsd_vec k1om_elf64_vec k1om_elf64_fbsd_vec" 637 # FreeBSD <= 4.0 supports only the old nonstandard way of ABI labelling. 638 case "${targ}" in 639 i[3-7]86-*-freebsd3* | i[3-7]86-*-freebsd4 | i[3-7]86-*-freebsd4.0*) 640 targ_cflags=-DOLD_FREEBSD_ABI_LABEL ;; 641 esac 642 ;; 643 i[3-7]86-*-netbsdelf* | i[3-7]86-*-netbsd*-gnu* | i[3-7]86-*-knetbsd*-gnu) 644 targ_defvec=i386_elf32_vec 645 targ_selvecs="i386_aout_nbsd_vec iamcu_elf32_vec" 646 targ64_selvecs="x86_64_elf64_vec l1om_elf64_vec k1om_elf64_vec" 647 ;; 648 i[3-7]86-*-netbsdpe*) 649 targ_defvec=i386_pe_vec 650 targ_selvecs="i386_pe_vec i386_pei_vec i386_elf32_vec iamcu_elf32_vec" 651 ;; 652 i[3-7]86-*-netbsdaout* | i[3-7]86-*-netbsd* | \ 653 i[3-7]86-*-openbsd[0-2].* | i[3-7]86-*-openbsd3.[0-3]) 654 targ_defvec=i386_aout_nbsd_vec 655 targ_selvecs="i386_elf32_vec iamcu_elf32_vec i386_aout_bsd_vec" 656 targ_underscore=yes 657 ;; 658 i[3-7]86-*-openbsd*) 659 targ_defvec=i386_elf32_vec 660 targ_selvecs="iamcu_elf32_vec i386_aout_nbsd_vec" 661 ;; 662 i[3-7]86-*-netware*) 663 targ_defvec=i386_elf32_vec 664 targ_selvecs="iamcu_elf32_vec i386_nlm32_vec i386_coff_vec i386_aout_vec" 665 ;; 666 i[3-7]86-*-linux*aout*) 667 targ_defvec=i386_aout_linux_vec 668 targ_selvecs="i386_elf32_vec iamcu_elf32_vec" 669 targ_underscore=yes 670 ;; 671 i[3-7]86-*-linux-*) 672 targ_defvec=i386_elf32_vec 673 targ_selvecs="iamcu_elf32_vec i386_aout_linux_vec i386_pei_vec" 674 targ64_selvecs="x86_64_elf64_vec x86_64_elf32_vec x86_64_pei_vec l1om_elf64_vec k1om_elf64_vec" 675 ;; 676 i[3-7]86-*-nacl*) 677 targ_defvec=i386_elf32_nacl_vec 678 targ_selvecs="arm_elf32_nacl_be_vec arm_elf32_nacl_le_vec" 679 targ64_selvecs="x86_64_elf64_nacl_vec x86_64_elf32_nacl_vec" 680 targ_archs="$targ_archs bfd_arm_arch" 681 ;; 682#ifdef BFD64 683 x86_64-*-cloudabi*) 684 targ_defvec=x86_64_elf64_cloudabi_vec 685 want64=true 686 ;; 687 x86_64-*-darwin*) 688 targ_defvec=x86_64_mach_o_vec 689 targ_selvecs="i386_mach_o_vec mach_o_le_vec mach_o_be_vec mach_o_fat_vec pef_vec pef_xlib_vec sym_vec" 690 targ_archs="$targ_archs bfd_powerpc_arch bfd_rs6000_arch" 691 want64=true 692 ;; 693 x86_64-*-dicos*) 694 targ_defvec=x86_64_elf64_vec 695 targ_selvecs="i386_elf32_vec iamcu_elf32_vec l1om_elf64_vec k1om_elf64_vec" 696 want64=true 697 ;; 698 x86_64-*-elf* | x86_64-*-rtems*) 699 targ_defvec=x86_64_elf64_vec 700 targ_selvecs="i386_elf32_vec iamcu_elf32_vec x86_64_elf32_vec l1om_elf64_vec k1om_elf64_vec" 701 want64=true 702 ;; 703 x86_64-*-dragonfly*) 704 targ_defvec=x86_64_elf64_vec 705 targ_selvecs="i386_elf32_vec iamcu_elf32_vec l1om_elf64_vec k1om_elf64_vec" 706 want64=true 707 ;; 708 x86_64-*-freebsd* | x86_64-*-kfreebsd*-gnu) 709 targ_defvec=x86_64_elf64_fbsd_vec 710 targ_selvecs="i386_elf32_fbsd_vec iamcu_elf32_vec i386_coff_vec i386_pei_vec x86_64_pei_vec i386_elf32_vec x86_64_elf64_vec l1om_elf64_vec l1om_elf64_fbsd_vec k1om_elf64_vec k1om_elf64_fbsd_vec" 711 want64=true 712 ;; 713 x86_64-*-netbsd* | x86_64-*-openbsd*) 714 targ_defvec=x86_64_elf64_vec 715 targ_selvecs="i386_elf32_vec iamcu_elf32_vec i386_aout_nbsd_vec i386_coff_vec i386_pei_vec x86_64_pei_vec l1om_elf64_vec k1om_elf64_vec" 716 want64=true 717 ;; 718 x86_64-*-linux-*) 719 targ_defvec=x86_64_elf64_vec 720 targ_selvecs="i386_elf32_vec iamcu_elf32_vec x86_64_elf32_vec i386_aout_linux_vec i386_pei_vec x86_64_pei_vec l1om_elf64_vec k1om_elf64_vec" 721 want64=true 722 ;; 723 x86_64-*-nacl*) 724 targ_defvec=x86_64_elf32_nacl_vec 725 targ_selvecs="i386_elf32_nacl_vec x86_64_elf64_nacl_vec arm_elf32_nacl_be_vec arm_elf32_nacl_le_vec" 726 targ_archs="$targ_archs bfd_arm_arch" 727 want64=true 728 ;; 729 x86_64-*-mingw* | x86_64-*-pe | x86_64-*-pep | x86_64-*-cygwin) 730 targ_defvec=x86_64_pe_vec 731 targ_selvecs="x86_64_pe_vec x86_64_pei_vec x86_64_pe_be_vec x86_64_elf64_vec l1om_elf64_vec k1om_elf64_vec i386_pe_vec i386_pei_vec i386_elf32_vec iamcu_elf32_vec" 732 want64=true 733 targ_underscore=no 734 ;; 735 x86_64-*-rdos*) 736 targ_defvec=x86_64_elf64_vec 737 want64=true 738 ;; 739#endif 740 i[3-7]86-*-lynxos*) 741 targ_defvec=i386_elf32_vec 742 targ_selvecs="iamcu_elf32_vec i386_coff_lynx_vec i386_aout_lynx_vec" 743 ;; 744 i[3-7]86-*-gnu*) 745 targ_defvec=i386_elf32_vec 746 targ_selvecs=iamcu_elf32_vec 747 ;; 748 i[3-7]86-*-mach* | i[3-7]86-*-osf1mk*) 749 targ_defvec=i386_aout_mach3_vec 750 targ_cflags=-DSTAT_FOR_EXEC 751 targ_underscore=yes 752 ;; 753 i[3-7]86-*-os9k) 754 targ_defvec=i386_aout_os9k_vec 755 ;; 756 i[3-7]86-*-msdos*) 757 targ_defvec=i386_aout_vec 758 targ_selvecs=i386_msdos_vec 759 ;; 760 i[3-7]86-*-moss*) 761 targ_defvec=i386_elf32_vec 762 targ_selvecs="iamcu_elf32_vec i386_msdos_vec i386_aout_vec" 763 ;; 764 i[3-7]86-*-beospe*) 765 targ_defvec=i386_pe_vec 766 targ_selvecs="i386_pe_vec i386_pei_vec" 767 ;; 768 i[3-7]86-*-beoself* | i[3-7]86-*-beos*) 769 targ_defvec=i386_elf32_vec 770 targ_selvecs="iamcu_elf32_vec i386_pe_vec i386_pei_vec" 771 ;; 772 i[3-7]86-*-interix*) 773 targ_defvec=i386_pei_vec 774 targ_selvecs="i386_pe_vec" 775 # FIXME: This should eventually be checked at runtime. 776 targ_cflags=-DSTRICT_PE_FORMAT 777 ;; 778 i[3-7]86-*-rdos*) 779 targ_defvec=i386_elf32_vec 780 targ_selvecs="iamcu_elf32_vec i386_coff_vec" 781 ;; 782 i[3-7]86-*-mingw32* | i[3-7]86-*-cygwin* | i[3-7]86-*-winnt | i[3-7]86-*-pe) 783 targ_defvec=i386_pe_vec 784 targ_selvecs="i386_pe_vec i386_pei_vec i386_elf32_vec iamcu_elf32_vec" 785 targ_underscore=yes 786 ;; 787 i[3-7]86-none-*) 788 targ_defvec=i386_coff_vec 789 ;; 790 i[3-7]86-*-aout* | i[3-7]86*-*-vsta*) 791 targ_defvec=i386_aout_vec 792 ;; 793 i[3-7]86-*-vxworks*) 794 targ_defvec=i386_elf32_vxworks_vec 795 targ_underscore=yes 796 ;; 797 i[3-7]86-*-chaos) 798 targ_defvec=i386_elf32_vec 799 targ_selfvecs="iamcu_elf32_vec i386chaos_vec" 800 ;; 801 802 i860-*-mach3* | i860-*-osf1* | i860-*-coff*) 803 targ_defvec=i860_coff_vec 804 ;; 805 i860-stardent-sysv4* | i860-stardent-elf*) 806 targ_defvec=i860_elf32_le_vec 807 targ_selvecs="i860_elf32_vec i860_elf32_le_vec" 808 ;; 809 i860-*-sysv4* | i860-*-elf*) 810 targ_defvec=i860_elf32_vec 811 ;; 812 813 i960-*-vxworks4* | i960-*-vxworks5.0) 814 targ_defvec=bout_le_vec 815 targ_selvecs="bout_be_vec icoff_le_vec icoff_be_vec ieee_vec" 816 targ_underscore=yes 817 ;; 818 i960-*-vxworks5.* | i960-*-coff* | i960-*-sysv*) 819 targ_defvec=icoff_le_vec 820 targ_selvecs="icoff_be_vec bout_le_vec bout_be_vec ieee_vec" 821 targ_underscore=yes 822 ;; 823 i960-*-vxworks* | i960-*-aout* | i960-*-bout* | i960-*-nindy*) 824 targ_defvec=bout_le_vec 825 targ_selvecs="bout_be_vec icoff_le_vec icoff_be_vec ieee_vec" 826 targ_underscore=yes 827 ;; 828 i960-*-elf*) 829 targ_defvec=i960_elf32_vec 830 targ_selvecs="icoff_le_vec icoff_be_vec" 831 ;; 832 833 ip2k-*-elf) 834 targ_defvec=ip2k_elf32_vec 835 ;; 836 837 iq2000-*-elf) 838 targ_defvec=iq2000_elf32_vec 839 ;; 840 841 lm32-*-elf | lm32-*-rtems*) 842 targ_defvec=lm32_elf32_vec 843 targ_selvecs=lm32_elf32_fdpic_vec 844 ;; 845 846 lm32-*-*linux*) 847 targ_defvec=lm32_elf32_fdpic_vec 848 targ_selvecs=lm32_elf32_vec 849 ;; 850 851 m32c-*-elf | m32c-*-rtems*) 852 targ_defvec=m32c_elf32_vec 853 ;; 854 855 m32r*le-*-linux*) 856 targ_defvec=m32r_elf32_linux_le_vec 857 targ_selvecs="m32r_elf32_linux_vec m32r_elf32_linux_le_vec" 858 ;; 859 m32r*-*-linux*) 860 targ_defvec=m32r_elf32_linux_vec 861 targ_selvecs="m32r_elf32_linux_vec m32r_elf32_linux_le_vec" 862 ;; 863 m32r*le-*-*) 864 targ_defvec=m32r_elf32_le_vec 865 targ_selvecs="m32r_elf32_vec m32r_elf32_le_vec" 866 ;; 867 m32r-*-*) 868 targ_defvec=m32r_elf32_vec 869 ;; 870 871 m68hc11-*-* | m6811-*-*) 872 targ_defvec=m68hc11_elf32_vec 873 targ_selvecs="m68hc11_elf32_vec m68hc12_elf32_vec" 874 ;; 875 m68hc12-*-* | m6812-*-*) 876 targ_defvec=m68hc12_elf32_vec 877 targ_selvecs="m68hc11_elf32_vec m68hc12_elf32_vec" 878 ;; 879 880 m68*-motorola-sysv*) 881 targ_defvec=m68k_coff_sysv_vec 882 ;; 883 m68*-hp-bsd*) 884 targ_defvec=m68k_aout_hp300bsd_vec 885 targ_underscore=yes 886 ;; 887 m68*-*-aout*) 888 targ_defvec=aout0_be_vec 889 # We include core_cisco_be_vec here, rather than making a separate cisco 890 # configuration, so that cisco-core.c gets routinely tested at 891 # least for compilation. 892 targ_selvecs="core_cisco_be_vec ieee_vec" 893 targ_underscore=yes 894 ;; 895 m68*-*-elf* | m68*-*-sysv4* | m68*-*-uclinux*) 896 targ_defvec=m68k_elf32_vec 897 targ_selvecs="m68k_coff_vec ieee_vec" 898 ;; 899 m68*-*-rtems*) 900 targ_defvec=m68k_elf32_vec 901 targ_selvecs="m68k_coff_vec m68k_versados_vec ieee_vec aout0_be_vec" 902 ;; 903 m68*-*-coff* | m68*-*-sysv*) 904 targ_defvec=m68k_coff_vec 905 targ_selvecs="m68k_coff_vec m68k_versados_vec ieee_vec" 906 ;; 907 m68*-*-hpux*) 908 targ_defvec=m68k_aout_hp300hpux_vec 909 targ_underscore=yes 910 ;; 911 m68*-*-linux*aout*) 912 targ_defvec=m68k_aout_linux_vec 913 targ_selvecs=m68k_elf32_vec 914 targ_underscore=yes 915 ;; 916 m68*-*-linux-*) 917 targ_defvec=m68k_elf32_vec 918 targ_selvecs=m68k_aout_linux_vec 919 ;; 920 m68*-*-gnu*) 921 targ_defvec=m68k_elf32_vec 922 # targ_selvecs=m68kmach3_vec 923 # targ_cflags=-DSTAT_FOR_EXEC 924 ;; 925 m68k4k*-*-netbsd*) 926 targ_defvec=m68k4knetbsd_vec 927 targ_selvecs="m68knetbsd_vec hp300bsd_vec sunos_big_vec bfd_elf32_m68k_vec" 928 targ_underscore=yes 929 ;; 930 m68*-hp*-netbsd*) 931 targ_defvec=m68k_aout_4knbsd_vec 932 targ_selvecs="m68k_aout_nbsd_vec m68k_aout_hp300bsd_vec sparc_aout_sunos_be_vec" 933 targ_underscore=yes 934 ;; 935 m68*-*-netbsdelf* | m5407-*-netbsdelf*) 936 targ_defvec=m68k_elf32_vec 937 targ_selvecs="m68k_aout_nbsd_vec m68k_aout_4knbsd_vec m68k_aout_hp300bsd_vec sparc_aout_sunos_be_vec" 938 ;; 939 m68*-*-netbsdaout* | m68*-*-netbsd*) 940 targ_defvec=m68k_aout_nbsd_vec 941 targ_selvecs="m68k_aout_4knbsd_vec m68k_elf32_vec m68k_aout_hp300bsd_vec sparc_aout_sunos_be_vec" 942 targ_underscore=yes 943 ;; 944 m68*-*-openbsd*) 945 targ_defvec=m68k_aout_nbsd_vec 946 targ_selvecs="m68k_aout_4knbsd_vec m68k_aout_hp300bsd_vec sparc_aout_sunos_be_vec" 947 targ_underscore=yes 948 ;; 949 m68*-*-sunos* | m68*-*-os68k* | m68*-*-vxworks* | m68*-netx-* | \ 950 m68*-*-bsd* | m68*-*-vsta*) 951 targ_defvec=sparc_aout_sunos_be_vec 952 targ_underscore=yes 953 ;; 954 m68*-ericsson-*) 955 targ_defvec=sparc_aout_sunos_be_vec 956 targ_selvecs="m68k_coff_vec m68k_versados_vec tekhex_vec" 957 targ_underscore=yes 958 ;; 959 m68*-cbm-*) 960 targ_defvec=m68k_elf32_vec 961 targ_selvecs=m68k_coff_vec 962 ;; 963 m68*-*-psos*) 964 targ_defvec=m68k_elf32_vec 965 targ_selvecs=ieee_vec 966 targ_underscore=yes 967 ;; 968 969 m88*-harris-cxux* | m88*-*-dgux* | m88*-*-sysv4*) 970 targ_defvec=m88k_elf32_vec 971 targ_selvecs=m88k_coff_bcs_vec 972 ;; 973 m88*-*-mach3*) 974 targ_defvec=m88k_aout_mach3_vec 975 targ_cflags=-DSTAT_FOR_EXEC 976 ;; 977 m88*-*-openbsd*) 978 targ_defvec=m88k_aout_obsd_vec 979 targ_underscore=yes 980 ;; 981 m88*-*-*) 982 targ_defvec=m88k_coff_bcs_vec 983 targ_underscore=yes 984 ;; 985 986 mcore-*-elf) 987 targ_defvec=mcore_elf32_be_vec 988 targ_selvecs="mcore_elf32_be_vec mcore_elf32_le_vec" 989 ;; 990 mcore-*-pe) 991 targ_defvec=mcore_pe_be_vec 992 targ_selvecs="mcore_pe_be_vec mcore_pe_le_vec mcore_pei_be_vec mcore_pei_le_vec" 993 ;; 994 995 mep-*-elf) 996 targ_defvec=mep_elf32_vec 997 targ_selvecs=mep_elf32_le_vec 998 ;; 999 1000 metag-*-*) 1001 targ_defvec=metag_elf32_vec 1002 targ_underscore=yes 1003 ;; 1004 1005 microblazeel*-*) 1006 targ_defvec=microblaze_elf32_le_vec 1007 targ_selvecs=microblaze_elf32_vec 1008 ;; 1009 1010 microblaze*-*) 1011 targ_defvec=microblaze_elf32_vec 1012 targ_selvecs=microblaze_elf32_le_vec 1013 ;; 1014 1015 mips*-big-*) 1016 targ_defvec=mips_ecoff_be_vec 1017 targ_selvecs=mips_ecoff_le_vec 1018 ;; 1019 1020 mips*-dec-* | mips*el-*-ecoff*) 1021 targ_defvec=mips_ecoff_le_vec 1022 targ_selvecs=mips_ecoff_be_vec 1023 ;; 1024 mips*-*-ecoff*) 1025 targ_defvec=mips_ecoff_be_vec 1026 targ_selvecs=mips_ecoff_le_vec 1027 ;; 1028#ifdef BFD64 1029 mips*-*-irix6*) 1030 targ_defvec=mips_elf32_n_be_vec 1031 targ_selvecs="mips_elf32_n_le_vec mips_elf32_be_vec mips_elf32_le_vec mips_elf64_be_vec mips_elf64_le_vec" 1032 ;; 1033 mips64*-ps2-elf*) 1034 targ_defvec=mips_elf32_n_le_vec 1035 targ_selvecs="mips_elf32_n_le_vec mips_elf32_n_be_vec mips_elf32_be_vec mips_elf32_le_vec mips_elf64_be_vec mips_elf64_le_vec" 1036 ;; 1037 mips*-ps2-elf*) 1038 targ_defvec=mips_elf32_le_vec 1039 targ_selvecs="mips_elf32_be_vec mips_elf32_le_vec mips_elf64_be_vec mips_elf64_le_vec" 1040 ;; 1041 mips*-*-irix5*) 1042 targ_defvec=mips_elf32_be_vec 1043 targ_selvecs="mips_elf32_le_vec mips_ecoff_be_vec mips_ecoff_le_vec" 1044 ;; 1045#endif 1046 mips*-sgi-* | mips*-*-bsd*) 1047 targ_defvec=mips_ecoff_be_vec 1048 targ_selvecs=mips_ecoff_le_vec 1049 ;; 1050 mips*-*-lnews*) 1051 targ_defvec=mips_ecoff_bele_vec 1052 targ_selvecs="mips_ecoff_le_vec mips_ecoff_be_vec" 1053 ;; 1054#ifdef BFD64 1055 mips*-*-sysv4*) 1056 targ_defvec=mips_elf32_trad_be_vec 1057 targ_selvecs="mips_elf32_trad_le_vec mips_ecoff_be_vec mips_ecoff_le_vec" 1058 ;; 1059#endif 1060 mips*-*-sysv* | mips*-*-riscos*) 1061 targ_defvec=mips_ecoff_be_vec 1062 targ_selvecs=mips_ecoff_le_vec 1063 ;; 1064#ifdef BFD64 1065 mips*el-*-vxworks*) 1066 targ_defvec=mips_elf32_vxworks_le_vec 1067 targ_selvecs="mips_elf32_le_vec mips_elf32_vxworks_be_vec mips_elf32_be_vec mips_elf64_be_vec mips_elf64_le_vec" 1068 ;; 1069 mips*-*-vxworks*) 1070 targ_defvec=mips_elf32_vxworks_be_vec 1071 targ_selvecs="mips_elf32_be_vec mips_elf32_vxworks_le_vec mips_elf32_be_vec mips_elf64_be_vec mips_elf64_le_vec" 1072 ;; 1073 mips*el-sde-elf*) 1074 targ_defvec=mips_elf32_trad_le_vec 1075 targ_selvecs="mips_elf32_trad_be_vec mips_elf32_ntrad_be_vec mips_elf32_ntrad_le_vec mips_elf64_trad_be_vec mips_elf64_trad_le_vec" 1076 ;; 1077 mips*-sde-elf* | mips*-mti-elf* | mips*-img-elf*) 1078 targ_defvec=mips_elf32_trad_be_vec 1079 targ_selvecs="mips_elf32_trad_le_vec mips_elf32_ntrad_be_vec mips_elf32_ntrad_le_vec mips_elf64_trad_be_vec mips_elf64_trad_le_vec" 1080 ;; 1081 mips*el-*-elf* | mips*-*-chorus*) 1082 targ_defvec=mips_elf32_le_vec 1083 targ_selvecs="mips_elf32_be_vec mips_elf64_be_vec mips_elf64_le_vec" 1084 ;; 1085 mips*-*-elf* | mips*-*-rtems* | mips*-*-windiss | mips*-*-none) 1086 targ_defvec=mips_elf32_be_vec 1087 targ_selvecs="mips_elf32_le_vec mips_elf64_be_vec mips_elf64_le_vec" 1088 ;; 1089 mips64*el-*-netbsd*) 1090 targ_defvec=mips_elf32_ntrad_le_vec 1091 targ_selvecs="mips_elf32_ntrad_be_vec mips_elf32_trad_le_vec mips_elf32_trad_be_vec mips_elf64_trad_le_vec mips_elf64_trad_be_vec" 1092 ;; 1093 mips64*-*-netbsd*) 1094 targ_defvec=mips_elf32_ntrad_be_vec 1095 targ_selvecs="mips_elf32_ntrad_le_vec mips_elf32_trad_be_vec mips_elf32_trad_le_vec mips_elf64_trad_be_vec mips_elf64_trad_le_vec" 1096 ;; 1097 mips*el-*-netbsd*) 1098 targ_defvec=mips_elf32_trad_le_vec 1099 targ_selvecs="mips_elf32_trad_be_vec mips_elf32_ntrad_le_vec mips_elf32_ntrad_be_vec mips_elf64_trad_be_vec mips_elf64_trad_le_vec mips_ecoff_le_vec mips_ecoff_be_vec" 1100 ;; 1101 mips*-*-netbsd*) 1102 targ_defvec=mips_elf32_trad_be_vec 1103 targ_selvecs="mips_elf32_trad_le_vec mips_elf32_ntrad_be_vec mips_elf32_ntrad_le_vec mips_elf64_trad_le_vec mips_elf64_trad_be_vec mips_ecoff_be_vec mips_ecoff_le_vec" 1104 ;; 1105 mips64*-*-openbsd*) 1106 targ_defvec=mips_elf64_trad_be_vec 1107 targ_selvecs="mips_elf32_ntrad_le_vec mips_elf32_ntrad_be_vec mips_elf32_trad_le_vec mips_elf32_trad_be_vec mips_elf64_trad_le_vec" 1108 ;; 1109 mips*el-*-openbsd*) 1110 targ_defvec=mips_elf32_le_vec 1111 targ_selvecs="mips_elf32_be_vec mips_elf64_be_vec mips_elf64_le_vec mips_ecoff_le_vec mips_ecoff_be_vec" 1112 ;; 1113 mips*-*-openbsd*) 1114 targ_defvec=mips_elf32_be_vec 1115 targ_selvecs="mips_elf32_le_vec mips_elf64_be_vec mips_elf64_le_vec mips_ecoff_be_vec mips_ecoff_le_vec" 1116 ;; 1117 mips64*el-*-linux*) 1118 targ_defvec=mips_elf32_ntrad_le_vec 1119 targ_selvecs="mips_elf32_ntrad_be_vec mips_elf32_trad_le_vec mips_elf32_trad_be_vec mips_elf64_trad_le_vec mips_elf64_trad_be_vec" 1120 ;; 1121 mips64*-*-linux*) 1122 targ_defvec=mips_elf32_ntrad_be_vec 1123 targ_selvecs="mips_elf32_ntrad_le_vec mips_elf32_trad_be_vec mips_elf32_trad_le_vec mips_elf64_trad_be_vec mips_elf64_trad_le_vec" 1124 ;; 1125 mips*el-*-linux*) 1126 targ_defvec=mips_elf32_trad_le_vec 1127 targ_selvecs="mips_elf32_trad_be_vec mips_ecoff_le_vec mips_ecoff_be_vec mips_elf32_ntrad_le_vec mips_elf64_trad_le_vec mips_elf32_ntrad_be_vec mips_elf64_trad_be_vec" 1128 ;; 1129 mips*-*-linux*) 1130 targ_defvec=mips_elf32_trad_be_vec 1131 targ_selvecs="mips_elf32_trad_le_vec mips_ecoff_be_vec mips_ecoff_le_vec mips_elf32_ntrad_be_vec mips_elf64_trad_be_vec mips_elf32_ntrad_le_vec mips_elf64_trad_le_vec" 1132 ;; 1133 mips64*el-*-freebsd* | mips64*el-*-kfreebsd*-gnu) 1134 # FreeBSD vectors 1135 targ_defvec=mips_elf32_ntradfbsd_le_vec 1136 targ_selvecs="mips_elf32_ntradfbsd_be_vec mips_elf32_tradfbsd_le_vec mips_elf32_tradfbsd_be_vec mips_elf64_tradfbsd_le_vec mips_elf64_tradfbsd_be_vec" 1137 # Generic vectors 1138 targ_selvecs="${targ_selvecs} mips_elf32_ntrad_le_vec mips_elf32_ntrad_be_vec mips_elf32_trad_le_vec mips_elf32_trad_be_vec mips_elf64_trad_le_vec mips_elf64_trad_be_vec" 1139 ;; 1140 mips64*-*-freebsd* | mips64*-*-kfreebsd*-gnu) 1141 # FreeBSD vectors 1142 targ_defvec=mips_elf32_ntradfbsd_be_vec 1143 targ_selvecs="mips_elf32_ntradfbsd_le_vec mips_elf32_tradfbsd_be_vec mips_elf32_tradfbsd_le_vec mips_elf64_tradfbsd_be_vec mips_elf64_tradfbsd_le_vec" 1144 # Generic vectors 1145 targ_selvecs="${targ_selvecs} mips_elf32_ntrad_be_vec mips_elf32_ntrad_le_vec mips_elf32_trad_be_vec mips_elf32_trad_le_vec mips_elf64_trad_be_vec mips_elf64_trad_le_vec" 1146 ;; 1147 mips*el-*-freebsd* | mips*el-*-kfreebsd*-gnu) 1148 # FreeBSD vectors 1149 targ_defvec=mips_elf32_tradfbsd_le_vec 1150 targ_selvecs="mips_elf32_tradfbsd_be_vec mips_elf32_ntradfbsd_le_vec mips_elf64_tradfbsd_le_vec mips_elf32_ntradfbsd_be_vec mips_elf64_tradfbsd_be_vec" 1151 # Generic vectors 1152 targ_selvecs="${targ_selvecs} mips_elf32_trad_le_vec mips_elf32_trad_be_vec mips_elf32_ntrad_le_vec mips_elf64_trad_le_vec mips_elf32_ntrad_be_vec mips_elf64_trad_be_vec" 1153 ;; 1154 mips*-*-freebsd* | mips*-*-kfreebsd*-gnu) 1155 # FreeBSD vectors 1156 targ_defvec=mips_elf32_tradfbsd_be_vec 1157 targ_selvecs="mips_elf32_tradfbsd_le_vec mips_elf32_ntradfbsd_be_vec mips_elf64_tradfbsd_be_vec mips_elf32_ntradfbsd_le_vec mips_elf64_tradfbsd_le_vec" 1158 # Generic vectors 1159 targ_selvecs="${targ_selvecs} mips_elf32_trad_be_vec mips_elf32_trad_le_vec mips_elf32_ntrad_be_vec mips_elf64_trad_be_vec mips_elf32_ntrad_le_vec mips_elf64_trad_le_vec" 1160 ;; 1161 mmix-*-*) 1162 targ_defvec=mmix_elf64_vec 1163 targ_selvecs=mmix_mmo_vec 1164 want64=true 1165 ;; 1166#endif 1167 mn10200-*-*) 1168 targ_defvec=mn10200_elf32_vec 1169 ;; 1170 1171 mn10300-*-*) 1172 targ_defvec=mn10300_elf32_vec 1173 targ_underscore=yes 1174 ;; 1175 1176 mt-*-elf) 1177 targ_defvec=mt_elf32_vec 1178 ;; 1179 1180 msp430-*-*) 1181 targ_defvec=msp430_elf32_vec 1182 targ_selvecs=msp430_elf32_ti_vec 1183 ;; 1184 1185 nds32*le-*-linux*) 1186 targ_defvec=nds32_elf32_linux_le_vec 1187 targ_selvecs=nds32_elf32_linux_be_vec 1188 ;; 1189 1190 nds32*be-*-linux*) 1191 targ_defvec=nds32_elf32_linux_be_vec 1192 targ_selvecs=nds32_elf32_linux_le_vec 1193 ;; 1194 1195 nds32*le-*-*) 1196 targ_defvec=nds32_elf32_le_vec 1197 targ_selvecs=nds32_elf32_be_vec 1198 ;; 1199 1200 nds32*be-*-*) 1201 targ_defvec=nds32_elf32_be_vec 1202 targ_selvecs=nds32_elf32_le_vec 1203 ;; 1204 1205 ns32k-pc532-mach* | ns32k-pc532-ux*) 1206 targ_defvec=ns32k_aout_pc532mach_vec 1207 targ_underscore=yes 1208 ;; 1209 ns32k-*-netbsd* | ns32k-*-lites* | ns32k-*-openbsd*) 1210 targ_defvec=ns32k_aout_pc532nbsd_vec 1211 targ_underscore=yes 1212 ;; 1213 1214 nios2eb-*-*) 1215 targ_defvec=nios2_elf32_be_vec 1216 targ_selvecs=nios2_elf32_le_vec 1217 ;; 1218 1219 nios2el-*-*) 1220 targ_defvec=nios2_elf32_le_vec 1221 targ_selvecs=nios2_elf32_be_vec 1222 ;; 1223 1224 nios2-*-*) 1225 targ_defvec=nios2_elf32_le_vec 1226 targ_selvecs=nios2_elf32_be_vec 1227 ;; 1228 1229 or1k-*-elf | or1k-*-linux* | or1k-*-rtems* | or1k*-*-netbsd*) 1230 targ_defvec=or1k_elf32_vec 1231 ;; 1232 1233 or1knd-*-elf | or1knd-*-linux* | or1knd-*-rtems*) 1234 targ_defvec=or1k_elf32_vec 1235 ;; 1236 1237 pdp11-*-*) 1238 targ_defvec=pdp11_aout_vec 1239 targ_underscore=yes 1240 ;; 1241 1242 pj-*-*) 1243 targ_defvec=pj_elf32_vec 1244 targ_selvecs="pj_elf32_vec pj_elf32_le_vec" 1245 ;; 1246 1247 pjl-*-*) 1248 targ_defvec=pj_elf32_le_vec 1249 targ_selvecs="pj_elf32_le_vec pj_elf32_vec i386_elf32_vec iamcu_elf32_vec" 1250 ;; 1251 1252 powerpc-*-aix5.[01] | rs6000-*-aix5.[01]) 1253 targ_defvec=rs6000_xcoff_vec 1254 targ_selvecs="rs6000_xcoff64_aix_vec" 1255 want64=true 1256 ;; 1257#ifdef BFD64 1258 powerpc64-*-aix5.[01] | rs6000-*-aix5.[01]) 1259 targ_defvec=rs6000_xcoff64_aix_vec 1260 targ_selvecs="rs6000_xcoff_vec" 1261 want64=true 1262 ;; 1263#endif 1264 powerpc-*-aix[5-9]* | rs6000-*-aix[5-9]*) 1265 targ_cflags=-DAIX_WEAK_SUPPORT 1266 targ_defvec=rs6000_xcoff_vec 1267 targ_selvecs="rs6000_xcoff64_aix_vec" 1268 want64=true 1269 ;; 1270#ifdef BFD64 1271 powerpc64-*-aix[5-9]* | rs6000-*-aix[5-9]*) 1272 targ_cflags=-DAIX_WEAK_SUPPORT 1273 targ_defvec=rs6000_xcoff64_aix_vec 1274 targ_selvecs="rs6000_xcoff_vec" 1275 want64=true 1276 ;; 1277#endif 1278 1279 powerpc-*-aix* | powerpc-*-beos* | rs6000-*-*) 1280 targ_defvec=rs6000_xcoff_vec 1281 targ64_selvecs=rs6000_xcoff64_vec 1282 case "${targ}" in 1283 *-*-aix4.[3456789]* | *-*-aix[56789]*) 1284 want64=true;; 1285 *) 1286 targ_cflags=-DSMALL_ARCHIVE;; 1287 esac 1288 ;; 1289#ifdef BFD64 1290 powerpc64-*-aix*) 1291 targ_defvec=rs6000_xcoff64_vec 1292 targ_selvecs=rs6000_xcoff_vec 1293 want64=true 1294 ;; 1295 powerpc64-*-freebsd*) 1296 targ_defvec=powerpc_elf64_fbsd_vec 1297 targ_selvecs="powerpc_elf64_vec powerpc_elf32_vec powerpc_elf32_fbsd_vec powerpc_elf32_le_vec rs6000_xcoff_vec rs6000_xcoff64_vec rs6000_xcoff64_aix_vec" 1298 want64=true 1299 ;; 1300 powerpc64-*-elf* | powerpc-*-elf64* | powerpc64-*-linux* | \ 1301 powerpc64-*-*bsd*) 1302 targ_defvec=powerpc_elf64_vec 1303 targ_selvecs="powerpc_elf64_le_vec powerpc_elf32_vec powerpc_elf32_le_vec rs6000_xcoff_vec rs6000_xcoff64_vec rs6000_xcoff64_aix_vec" 1304 want64=true 1305 ;; 1306 powerpc64le-*-elf* | powerpcle-*-elf64* | powerpc64le-*-linux* | \ 1307 powerpc64le-*-*bsd*) 1308 targ_defvec=powerpc_elf64_le_vec 1309 targ_selvecs="powerpc_elf64_vec powerpc_elf32_le_vec powerpc_elf32_vec rs6000_xcoff_vec rs6000_xcoff64_vec rs6000_xcoff64_aix_vec" 1310 want64=true 1311 ;; 1312#endif 1313 powerpc-*-*freebsd*) 1314 targ_defvec=powerpc_elf32_fbsd_vec 1315 targ_selvecs="rs6000_xcoff_vec powerpc_elf32_vec powerpc_elf32_le_vec powerpc_boot_vec" 1316 targ64_selvecs="powerpc_elf64_vec powerpc_elf64_le_vec powerpc_elf64_fbsd_vec" 1317 ;; 1318 powerpc-*-*bsd* | powerpc-*-elf* | powerpc-*-sysv4* | powerpc-*-eabi* | \ 1319 powerpc-*-solaris2* | powerpc-*-linux-* | powerpc-*-rtems* | \ 1320 powerpc-*-chorus*) 1321 targ_defvec=powerpc_elf32_vec 1322 targ_selvecs="rs6000_xcoff_vec powerpc_elf32_le_vec powerpc_boot_vec" 1323 targ64_selvecs="powerpc_elf64_vec powerpc_elf64_le_vec" 1324 ;; 1325 powerpc-*-kaos*) 1326 targ_defvec=powerpc_elf32_vec 1327 targ_selvecs="powerpc_elf32_le_vec powerpc_boot_vec" 1328 targ64_selvecs="powerpc_elf64_vec powerpc_elf64_le_vec" 1329 ;; 1330 powerpc-*-darwin* | powerpc-*-macos10* | powerpc-*-rhapsody*) 1331 targ_defvec=mach_o_be_vec 1332 targ_selvecs="mach_o_be_vec mach_o_le_vec mach_o_fat_vec pef_vec pef_xlib_vec sym_vec" 1333 targ_archs="$targ_archs bfd_i386_arch" 1334 ;; 1335 powerpc-*-macos*) 1336 targ_defvec=powerpc_xcoff_vec 1337 ;; 1338 powerpc-*-lynxos*) 1339 targ_defvec=powerpc_elf32_vec 1340 targ_selvecs="rs6000_xcoff_vec" 1341 targ_cflags=-DSMALL_ARCHIVE 1342 ;; 1343 powerpc-*-netware*) 1344 targ_defvec=powerpc_elf32_vec 1345 targ_selvecs="powerpc_nlm32_vec rs6000_xcoff_vec" 1346 ;; 1347 powerpc-*-nto*) 1348 targ_defvec=powerpc_elf32_vec 1349 targ_selvecs="rs6000_xcoff_vec powerpc_elf32_le_vec powerpc_boot_vec" 1350 ;; 1351 powerpc-*-vxworks* | powerpc-*-windiss*) 1352 targ_defvec=powerpc_elf32_vxworks_vec 1353 targ_selvecs="rs6000_xcoff_vec powerpc_elf32_vec powerpc_elf32_le_vec powerpc_boot_vec" 1354 targ64_selvecs="powerpc_elf64_vec powerpc_elf64_le_vec" 1355 ;; 1356 powerpcle-*-nto*) 1357 targ_defvec=powerpc_elf32_le_vec 1358 targ_selvecs="rs6000_xcoff_vec powerpc_elf32_vec powerpc_boot_vec" 1359 ;; 1360 powerpcle-*-elf* | powerpcle-*-sysv4* | powerpcle-*-eabi* | \ 1361 powerpcle-*-solaris2* | powerpcle-*-linux-* | powerpcle-*-vxworks*) 1362 targ_defvec=powerpc_elf32_le_vec 1363 targ_selvecs="rs6000_xcoff_vec powerpc_elf32_vec powerpc_boot_vec" 1364 targ64_selvecs="powerpc_elf64_vec powerpc_elf64_le_vec" 1365 ;; 1366 powerpcle-*-pe | powerpcle-*-winnt* | powerpcle-*-cygwin*) 1367 targ_defvec=powerpc_pe_le_vec 1368 targ_selvecs="powerpc_pei_le_vec powerpc_pei_vec powerpc_pe_le_vec powerpc_pe_vec" 1369 ;; 1370 1371 rl78-*-elf) 1372 targ_defvec=rl78_elf32_vec 1373 ;; 1374 1375#ifdef BFD64 1376 riscv*-*-*) 1377 targ_defvec=riscv_elf64_vec 1378 targ_selvecs="riscv_elf32_vec riscv_elf64_vec" 1379 want64=true 1380 ;; 1381#endif 1382 1383 rx-*-elf) 1384 targ_defvec=rx_elf32_le_vec 1385 targ_selvecs="rx_elf32_be_vec rx_elf32_le_vec rx_elf32_be_ns_vec" 1386 ;; 1387 1388 s390-*-linux*) 1389 targ_defvec=s390_elf32_vec 1390 targ64_selvecs=s390_elf64_vec 1391 want64=true 1392 ;; 1393#ifdef BFD64 1394 s390x-*-linux*) 1395 targ_defvec=s390_elf64_vec 1396 targ_selvecs=s390_elf32_vec 1397 want64=true 1398 ;; 1399 s390x-*-tpf*) 1400 targ_defvec=s390_elf64_vec 1401 want64=true 1402 ;; 1403 1404 score*-*-elf*) 1405 targ_defvec=score_elf32_be_vec 1406 targ_selvecs=score_elf32_le_vec 1407 ;; 1408 1409 sh64l*-*-elf*) 1410 targ_defvec=sh64_elf32_le_vec 1411 targ_selvecs="sh64_elf32_vec sh64_elf64_le_vec sh64_elf64_vec sh_elf32_le_vec sh_elf32_vec" 1412 targ_underscore=yes 1413 want64=true 1414 ;; 1415 sh64-*-elf*) 1416 targ_defvec=sh64_elf32_vec 1417 targ_selvecs="sh64_elf32_le_vec sh64_elf64_vec sh64_elf64_le_vec sh_elf32_vec sh_elf32_le_vec" 1418 targ_underscore=yes 1419 want64=true 1420 ;; 1421 sh64eb-*-linux*) 1422 targ_defvec=sh64_elf32_linux_be_vec 1423 targ_selvecs="sh64_elf32_linux_vec sh64_elf64_linux_be_vec sh64_elf64_linux_vec sh_elf32_linux_be_vec sh_elf32_linux_vec" 1424 want64=true 1425 ;; 1426 sh64-*-linux*) 1427 targ_defvec=sh64_elf32_linux_vec 1428 targ_selvecs="sh64_elf32_linux_be_vec sh64_elf64_linux_vec sh64_elf64_linux_be_vec sh_elf32_linux_vec sh_elf32_linux_be_vec" 1429 want64=true 1430 ;; 1431 sh-*-linux*) 1432 targ_defvec=sh_elf32_linux_be_vec 1433 targ_selvecs="sh_elf32_linux_vec sh64_elf32_linux_vec sh64_elf32_linux_be_vec sh64_elf64_linux_vec sh64_elf64_linux_be_vec" 1434 targ_selvecs="${targ_selvecs} sh_elf32_fdpic_le_vec sh_elf32_fdpic_be_vec" 1435 want64=true 1436 ;; 1437#endif /* BFD64 */ 1438 1439 sh*eb-*-linux*) 1440 targ_defvec=sh_elf32_linux_be_vec 1441 targ_selvecs=sh_elf32_linux_vec 1442 targ_selvecs="${targ_selvecs} sh_elf32_fdpic_le_vec sh_elf32_fdpic_be_vec" 1443 ;; 1444 sh*-*-linux*) 1445 targ_defvec=sh_elf32_linux_vec 1446 targ_selvecs=sh_elf32_linux_be_vec 1447 targ_selvecs="${targ_selvecs} sh_elf32_fdpic_le_vec sh_elf32_fdpic_be_vec" 1448 ;; 1449 1450 sh-*-uclinux* | sh[12]-*-uclinux*) 1451 targ_defvec=sh_elf32_vec 1452 targ_selvecs="sh_elf32_le_vec sh_elf32_linux_be_vec sh_elf32_linux_vec sh_elf32_fdpic_le_vec sh_elf32_fdpic_be_vec" 1453#ifdef BFD64 1454 targ_selvecs="${targ_selvecs} sh64_elf32_linux_vec sh64_elf32_linux_be_vec sh64_elf64_linux_vec sh64_elf64_linux_be_vec" 1455#endif 1456 ;; 1457 1458#ifdef BFD64 1459 sh5le-*-netbsd*) 1460 targ_defvec=sh64_elf32_nbsd_le_vec 1461 targ_selvecs="sh64_elf32_nbsd_vec sh64_elf64_nbsd_le_vec sh64_elf64_nbsd_vec sh_elf32_nbsd_vec sh_elf32_nbsd_le_vec" 1462 want64=true 1463 ;; 1464 sh5-*-netbsd*) 1465 targ_defvec=sh64_elf32_nbsd_vec 1466 targ_selvecs="sh64_elf32_nbsd_le_vec sh64_elf64_nbsd_le_vec sh64_elf64_nbsd_vec sh_elf32_nbsd_vec sh_elf32_nbsd_le_vec" 1467 want64=true 1468 ;; 1469 1470 sh64le-*-netbsd*) 1471 targ_defvec=sh64_elf64_nbsd_le_vec 1472 targ_selvecs="sh64_elf64_nbsd_vec sh64_elf32_nbsd_le_vec sh64_elf32_nbsd_vec sh_elf32_nbsd_vec sh_elf32_nbsd_le_vec" 1473 want64=true 1474 ;; 1475 sh64-*-netbsd*) 1476 targ_defvec=sh64_elf64_nbsd_vec 1477 targ_selvecs="sh64_elf64_nbsd_le_vec sh64_elf32_nbsd_le_vec sh64_elf32_nbsd_vec sh_elf32_nbsd_vec sh_elf32_nbsd_le_vec" 1478 want64=true 1479 ;; 1480 1481#endif 1482 1483 sh*l*-*-netbsdelf*) 1484 targ_defvec=sh_elf32_nbsd_le_vec 1485 targ_selvecs="sh_elf32_nbsd_vec sh_coff_vec sh_coff_le_vec sh64_elf32_nbsd_le_vec sh64_elf32_nbsd_vec sh64_elf64_nbsd_le_vec sh64_elf64_nbsd_vec" 1486 want64=true 1487 ;; 1488 sh-*-netbsdelf*) 1489 targ_defvec=sh_elf32_nbsd_vec 1490 targ_selvecs="sh_elf32_nbsd_le_vec sh_coff_vec sh_coff_le_vec sh64_elf32_nbsd_le_vec sh64_elf32_nbsd_vec sh64_elf64_nbsd_le_vec sh64_elf64_nbsd_vec" 1491 want64=true 1492 ;; 1493 sh*-*-netbsdelf*) 1494 targ_defvec=sh_elf32_nbsd_vec 1495 targ_selvecs="sh_elf32_nbsd_le_vec sh_coff_vec sh_coff_le_vec" 1496 ;; 1497 sh*-*-symbianelf*) 1498 targ_defvec=sh_elf32_symbian_le_vec 1499 targ_selvecs="sh_coff_le_vec sh_coff_small_le_vec" 1500 targ_underscore=yes 1501 ;; 1502 1503#ifdef BFD64 1504 shl*-*-elf* | sh[1234]l*-*-elf* | sh3el*-*-elf* | shl*-*-kaos*) 1505 targ_defvec=sh_elf32_le_vec 1506 targ_selvecs="sh_elf32_vec sh_coff_le_vec sh_coff_vec sh_coff_small_le_vec sh_coff_small_vec sh64_elf32_vec sh64_elf32_le_vec sh64_elf64_vec sh64_elf64_le_vec" 1507 targ_underscore=yes 1508 want64=true 1509 ;; 1510#endif 1511 1512 sh-*-rtemscoff*) 1513 targ_defvec=sh_coff_vec 1514 targ_selvecs="sh_coff_vec sh_coff_le_vec sh_coff_small_vec sh_coff_small_le_vec" 1515 targ_underscore=yes 1516 ;; 1517 1518#ifdef BFD64 1519 sh-*-elf* | sh[1234]*-elf* | sh-*-rtems* | sh-*-kaos*) 1520 targ_defvec=sh_elf32_vec 1521 targ_selvecs="sh_elf32_le_vec sh_coff_vec sh_coff_le_vec sh_coff_small_vec sh_coff_small_le_vec sh64_elf32_vec sh64_elf32_le_vec sh64_elf64_vec sh64_elf64_le_vec" 1522 targ_underscore=yes 1523 want64=true 1524 ;; 1525#endif 1526 1527 sh-*-nto*) 1528 targ_defvec=sh_elf32_vec 1529 targ_selvecs="sh_elf32_le_vec sh_coff_vec sh_coff_le_vec sh_coff_small_vec sh_coff_small_le_vec" 1530 targ_underscore=yes 1531 ;; 1532 sh*-*-openbsd*) 1533 targ_defvec=sh_elf32_nbsd_le_vec 1534 targ_selvecs="sh_elf32_nbsd_vec sh_coff_vec sh_coff_le_vec" 1535 ;; 1536 sh-*-pe) 1537 targ_defvec=sh_pe_le_vec 1538 targ_selvecs="sh_pe_le_vec sh_pei_le_vec" 1539 targ_underscore=yes 1540 ;; 1541 sh-*-vxworks) 1542 targ_defvec=sh_elf32_vxworks_vec 1543 targ_selvecs="sh_elf32_vxworks_le_vec" 1544 # FIXME None of the following are actually used on this target, but 1545 # they're necessary for coff-sh.c (which is unconditionally used) to be 1546 # compiled correctly. 1547 targ_selvecs="$targ_selvecs sh_coff_vec sh_coff_le_vec sh_coff_small_vec sh_coff_small_le_vec" 1548 targ_underscore=yes 1549 ;; 1550 sh-*-*) 1551 targ_defvec=sh_coff_vec 1552 targ_selvecs="sh_coff_vec sh_coff_le_vec sh_coff_small_vec sh_coff_small_le_vec" 1553 targ_underscore=yes 1554 ;; 1555 1556 sparclet-*-aout*) 1557 targ_defvec=sparc_aout_sunos_be_vec 1558 targ_selvecs=sparc_aout_le_vec 1559 targ_underscore=yes 1560 ;; 1561 sparc86x-*-aout*) 1562 targ_defvec=sparc_aout_sunos_be_vec 1563 targ_underscore=yes 1564 ;; 1565 sparclite-*-elf* | sparc86x-*-elf*) 1566 targ_defvec=sparc_elf32_vec 1567 ;; 1568 sparc*-*-chorus*) 1569 targ_defvec=sparc_elf32_vec 1570 ;; 1571 sparc-*-linux*aout*) 1572 targ_defvec=sparc_aout_linux_vec 1573 targ_selvecs="sparc_elf32_vec sparc_aout_sunos_be_vec" 1574 targ_underscore=yes 1575 ;; 1576 sparc-*-linux-* | sparcv*-*-linux-*) 1577 targ_defvec=sparc_elf32_vec 1578 targ_selvecs="sparc_aout_linux_vec sparc_elf64_vec sparc_aout_sunos_be_vec" 1579 ;; 1580 sparc-*-netbsdelf*) 1581 targ_defvec=sparc_elf32_vec 1582 targ_selvecs=sparc_aout_nbsd_vec 1583 want64=true 1584 ;; 1585 sparc-*-netbsdaout* | sparc-*-netbsd*) 1586 targ_defvec=sparc_aout_nbsd_vec 1587 targ_selvecs=sparc_elf32_vec 1588 targ_underscore=yes 1589 ;; 1590 sparc-*-openbsd[0-2].* | sparc-*-openbsd3.[0-1]) 1591 targ_defvec=sparc_aout_nbsd_vec 1592 targ_underscore=yes 1593 ;; 1594 sparc-*-openbsd*) 1595 targ_defvec=sparc_elf32_vec 1596 targ_selvecs=sparc_aout_nbsd_vec 1597 ;; 1598 sparc-*-elf*) 1599 targ_defvec=sparc_elf32_vec 1600 targ_selvecs=sparc_aout_sunos_be_vec 1601 ;; 1602 sparc-*-solaris2.[0-6] | sparc-*-solaris2.[0-6].*) 1603 targ_defvec=sparc_elf32_sol2_vec 1604 targ_selvecs=sparc_aout_sunos_be_vec 1605 ;; 1606#ifdef BFD64 1607 sparc-*-solaris2* | sparcv9-*-solaris2* | sparc64-*-solaris2*) 1608 targ_defvec=sparc_elf32_sol2_vec 1609 targ_selvecs="sparc_elf64_sol2_vec sparc_aout_sunos_be_vec" 1610 want64=true 1611 ;; 1612#endif 1613 sparc-*-sysv4*) 1614 targ_defvec=sparc_elf32_vec 1615 ;; 1616 sparc-*-vxworks*) 1617 targ_defvec=sparc_elf32_vxworks_vec 1618 targ_selvecs="sparc_elf32_vec sparc_aout_sunos_be_vec" 1619 ;; 1620 sparc-*-netware*) 1621 targ_defvec=sparc_elf32_vec 1622 targ_selvecs="sparc_nlm32_vec sparc_aout_sunos_be_vec" 1623 ;; 1624#ifdef BFD64 1625 sparc64-*-aout*) 1626 targ_defvec=sparc_aout_sunos_be_vec 1627 targ_underscore=yes 1628 want64=true 1629 ;; 1630 sparc64*-*-linux-*) 1631 targ_defvec=sparc_elf64_vec 1632 targ_selvecs="sparc_elf32_vec sparc_aout_linux_vec sparc_aout_sunos_be_vec" 1633 want64=true 1634 ;; 1635 sparc64-*-elf* | sparc64-*-rtems* ) 1636 targ_defvec=sparc_elf64_vec 1637 targ_selvecs=sparc_elf32_vec 1638 want64=true 1639 ;; 1640#endif /* BFD64 */ 1641 sparc*-*-coff*) 1642 targ_defvec=sparc_coff_vec 1643 ;; 1644 sparc-*-rtems*) 1645 targ_defvec=sparc_elf32_vec 1646 targ_selvecs="sparc_aout_sunos_be_vec sparc_coff_vec" 1647 ;; 1648 sparc*-*-*) 1649 targ_defvec=sparc_aout_sunos_be_vec 1650 targ_underscore=yes 1651 ;; 1652 1653 spu-*-elf) 1654 targ_defvec=spu_elf32_vec 1655 want64=true 1656 ;; 1657 1658#if HAVE_aout_vec 1659 tahoe-*-*) 1660 targ_defvec=aout_vec 1661 targ_underscore=yes 1662 ;; 1663#endif 1664 1665 tic6x-*-elf) 1666 targ_defvec=tic6x_elf32_c6000_le_vec 1667 targ_selvecs="tic6x_elf32_c6000_be_vec tic6x_elf32_le_vec tic6x_elf32_be_vec" 1668 ;; 1669 1670 tic6x-*-uclinux) 1671 targ_defvec=tic6x_elf32_linux_le_vec 1672 targ_selvecs="tic6x_elf32_linux_be_vec tic6x_elf32_le_vec tic6x_elf32_be_vec" 1673 ;; 1674 1675 tic80*-*-*) 1676 targ_defvec=tic80_coff_vec 1677 targ_underscore=yes 1678 ;; 1679 1680#ifdef BFD64 1681 tilegx-*-*) 1682 targ_defvec=tilegx_elf64_le_vec 1683 targ_selvecs="tilegx_elf64_be_vec tilegx_elf32_be_vec tilegx_elf32_le_vec" 1684 ;; 1685 tilegxbe-*-*) 1686 targ_defvec=tilegx_elf64_be_vec 1687 targ_selvecs="tilegx_elf64_le_vec tilegx_elf32_be_vec tilegx_elf32_le_vec" 1688 ;; 1689#endif 1690 1691 tilepro-*-*) 1692 targ_defvec=tilepro_elf32_vec 1693 ;; 1694 1695 ft32*-*-*) 1696 targ_defvec=ft32_elf32_vec 1697 ;; 1698 1699 v850*-*-*) 1700 targ_defvec=v850_elf32_vec 1701 targ_selvecs="v800_elf32_vec" 1702 ;; 1703 1704 vax-*-netbsdelf*) 1705 targ_defvec=vax_elf32_vec 1706 targ_selvecs="vax_aout_nbsd_vec vax_aout_1knbsd_vec" 1707 ;; 1708 1709 vax-*-netbsdaout* | vax-*-netbsd*) 1710 targ_defvec=vax_aout_nbsd_vec 1711 targ_selvecs="vax_elf32_vec vax_aout_1knbsd_vec" 1712 targ_underscore=yes 1713 ;; 1714 1715 vax-*-bsd* | vax-*-ultrix*) 1716 targ_defvec=vax_aout_bsd_vec 1717 targ_underscore=yes 1718 ;; 1719 1720 vax-*-openbsd*) 1721 targ_defvec=vax_aout_nbsd_vec 1722 targ_underscore=yes 1723 ;; 1724 1725 vax-*-linux-*) 1726 targ_defvec=vax_elf32_vec 1727 ;; 1728 1729 visium-*-elf) 1730 targ_defvec=visium_elf32_vec 1731 ;; 1732 1733 we32k-*-*) 1734 targ_defvec=we32k_coff_vec 1735 ;; 1736 1737 w65-*-*) 1738 targ_defvec=w65_coff_vec 1739 ;; 1740 1741 xgate-*-*) 1742 targ_defvec=xgate_elf32_vec 1743 targ_selvecs="xgate_elf32_vec" 1744 ;; 1745 1746 xstormy16-*-elf) 1747 targ_defvec=xstormy16_elf32_vec 1748 ;; 1749 1750 xtensa*-*-*) 1751 targ_defvec=xtensa_elf32_le_vec 1752 targ_selvecs=xtensa_elf32_be_vec 1753 ;; 1754 xc16x-*-elf) 1755 targ_defvec=xc16x_elf32_vec 1756 ;; 1757 1758 z80-*-*) 1759 targ_defvec=z80_coff_vec 1760 targ_underscore=no 1761 ;; 1762 1763 z8k*-*-*) 1764 targ_defvec=z8k_coff_vec 1765 targ_underscore=yes 1766 ;; 1767 1768 *-*-ieee*) 1769 targ_defvec=ieee_vec 1770 ;; 1771 1772 *-adobe-*) 1773 targ_defvec=aout_adobe_vec 1774 targ_underscore=yes 1775 ;; 1776 1777 *-sony-*) 1778 targ_defvec=m68k_aout_newsos3_vec 1779 targ_underscore=yes 1780 ;; 1781 1782 *-tandem-*) 1783 targ_defvec=m68k_coff_vec 1784 targ_selvecs=ieee_vec 1785 ;; 1786# END OF targmatch.h 1787 *) 1788 echo 1>&2 "*** BFD does not support target ${targ}." 1789 echo 1>&2 "*** Look in bfd/config.bfd for supported targets." 1790 exit 1 1791 ;; 1792esac 1793 1794# All MIPS ELF targets need a 64-bit bfd_vma. 1795case "${targ_defvec} ${targ_selvecs}" in 1796 *mips_elf*) 1797 want64=true 1798 ;; 1799esac 1800 1801case "${host64}${want64}" in 1802 *true*) 1803 targ_selvecs="${targ_selvecs} ${targ64_selvecs}" 1804 ;; 1805esac 1806 1807# If we support any ELF target, then automatically add support for the 1808# generic ELF targets. This permits an objdump with some ELF support 1809# to be used on an arbitrary ELF file for anything other than 1810# relocation information. 1811case "${targ_defvec} ${targ_selvecs}" in 1812 *elf64* | *mips_elf32_n*) 1813 targ_selvecs="${targ_selvecs} elf64_le_vec elf64_be_vec elf32_le_vec elf32_be_vec" 1814 ;; 1815 *elf32*) 1816 targ_selvecs="${targ_selvecs} elf32_le_vec elf32_be_vec" 1817 ;; 1818esac 1819 1820# If we support Intel MCU target, then add support for bfd_iamcu_arch. 1821case "${targ_defvec} ${targ_selvecs}" in 1822 *iamcu_elf32*) 1823 targ_archs="$targ_archs bfd_iamcu_arch" 1824 ;; 1825esac 1826 1827# If we support Intel L1OM target, then add support for bfd_l1om_arch. 1828case "${targ_defvec} ${targ_selvecs}" in 1829 *l1om_elf64*) 1830 targ_archs="$targ_archs bfd_l1om_arch" 1831 ;; 1832esac 1833 1834# If we support Intel K1OM target, then add support for bfd_k1om_arch. 1835case "${targ_defvec} ${targ_selvecs}" in 1836 *k1om_elf64*) 1837 targ_archs="$targ_archs bfd_k1om_arch" 1838 ;; 1839esac 1840