1# config.bfd 2# 3# Copyright (C) 2012-2024 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 *-*-beos* | \ 52 null) 53 if test "x$enable_obsolete" != xyes; then 54 echo "*** Configuration $targ is obsolete." >&2 55 echo "*** Specify --enable-obsolete to build it anyway." >&2 56 echo "*** Support will be REMOVED in the next major release of BINUTILS," >&2 57 echo "*** unless a maintainer comes forward." >&2 58 exit 1 59 fi;; 60esac 61 62# Warn on changed defaulting 63case $targ in 64 *-*-netbsdelf* | *-*-netbsdaout* | *-*-netbsdpe*) 65 # Explicit, no defaulting 66 ;; 67 ns32k-*-netbsd*) 68 # The obsolete warning below is enough, and ns32k does not have ELF support 69 ;; 70 *-*-netbsd* ) 71 targ_migrated=`echo "$targ" | sed 's/netbsd/netbsdaout/'` 72 echo "*** WARNING: $targ is now defaults to meaning ELF not a.out." >&2 73 echo "*** Use $targ_migrated instead to explicitly specify a.out." >&2 74 ;; 75esac 76 77case $targ in 78 mips*-*-irix5* | mips*-*-irix6*) 79 # Not obsolete 80 ;; 81 *-adobe-* | \ 82 *-go32-rtems* | \ 83 *-sony-* | \ 84 *-tandem-* | \ 85 *-*-ieee* | \ 86 *-*-netbsdpe* | \ 87 *-*-netware* | \ 88 *-*-rtemsaout* | \ 89 *-*-rtemscoff* | \ 90 a29k-* | \ 91 arm*-*-aout | \ 92 arm-*-coff | \ 93 arm*-*-netbsdaout* | \ 94 arm-*-oabi | \ 95 arm-*-riscix* | \ 96 arm*-*-symbianelf* | \ 97 arm-epoc-pe* | \ 98 c30-*-*aout* | tic30-*-*aout* | \ 99 cr16c-*-* | \ 100 h8300*-*-coff | \ 101 h8500*-*-coff | \ 102 hppa*-*-rtems* | \ 103 i[3-7]86-*-unixware* | \ 104 i[3-7]86-*-dgux* | \ 105 i[3-7]86-*-chorus* | \ 106 i[3-7]86-*-sysv* | \ 107 i[3-7]86-*-isc* | \ 108 i[3-7]86-*-sco* | \ 109 i[3-7]86-*-coff | \ 110 i[3-7]86-*-aix* | \ 111 i[3-7]86-sequent-bsd* | \ 112 i[3-7]86-*-freebsdaout* | i[3-7]86-*-freebsd[12].* | i[3-7]86-*-freebsd[12] | \ 113 i[3-7]86-*-netbsdaout* | \ 114 i[3-7]86-*-openbsd[0-2].* | i[3-7]86-*-openbsd3.[0-3] | \ 115 i[3-7]86-*-linux*aout* | \ 116 i[3-7]86-*-mach* | i[3-7]86-*-osf1mk* | \ 117 i[3-7]86-*-os9k | \ 118 i[3-7]86-none-* | \ 119 i[3-7]86-*-aout* | i[3-7]86*-*-vsta* | \ 120 i370-* | \ 121 i860-*-* | \ 122 i960-*-* | \ 123 m68*-*-bsd* | \ 124 m68*-*-aout* | \ 125 m68*-*-coff* | \ 126 m68*-*-hpux* | \ 127 m68*-*-linux*aout* | \ 128 m68*-*-lynxos* | \ 129 m68*-*-openbsd* | \ 130 m68*-*-os68k* | \ 131 m68*-*-psos* | \ 132 m68*-*-sunos* | \ 133 m68*-*-sysv* | \ 134 m68*-*-vsta* | \ 135 m68*-*-vxworks* | \ 136 m68*-apollo-* | \ 137 m68*-apple-aux* | \ 138 m68*-ericsson-* | \ 139 m68*-netx-* | \ 140 m88*-*-* | \ 141 maxq-*-coff | \ 142 mips*-*-bsd* | \ 143 mips*-*-ecoff* | \ 144 mips*-*-lnews* | \ 145 mips*-*-mach3* | \ 146 mips*-*-pe* | \ 147 mips*-*-riscos* | \ 148 mips*-*-sysv* | \ 149 mips*-big-* | \ 150 mips*-dec-* | \ 151 mips*-sgi-* | \ 152 mips*el-*-rtems* | \ 153 m32c-*-rtems* | \ 154 ns32k-*-netbsd* | \ 155 openrisc-*-* | \ 156 or32-*-* | \ 157 powerpc-*-lynxos* | powerpc-*-windiss* | \ 158 powerpcle-*-pe | powerpcle-*-winnt* | powerpcle-*-cygwin* | \ 159 sh*-*-netbsdaout* | \ 160 sh*-*-symbianelf* | sh5*-*-* | sh64*-*-* | \ 161 sparc*-*-*aout* | \ 162 sparc*-*-chorus* | \ 163 sparc*-*-coff* | \ 164 sparc-*-lynxos* | \ 165 sparc-*-openbsd[0-2].* | sparc-*-openbsd3.[0-1] | \ 166 tahoe-*-* | \ 167 vax-*-bsd* | vax-*-ultrix* | vax-*-vms* | \ 168 w65-*-* | \ 169 we32k-*-* | \ 170 xc16x-*-* | \ 171 null) 172 echo "*** Configuration $targ is now obsolete" >&2 173 echo "*** and so support for it has been REMOVED." >&2 174 exit 1 175 ;; 176esac 177 178targ_cpu=`echo $targ | sed 's/^\([^-]*\)-\([^-]*\)-\(.*\)$/\1/'` 179case "${targ_cpu}" in 180aarch64*) targ_archs="bfd_aarch64_arch bfd_arm_arch";; 181alpha*) targ_archs=bfd_alpha_arch ;; 182am33_2.0*) targ_archs=bfd_mn10300_arch ;; 183arc*) targ_archs=bfd_arc_arch ;; 184arm*) targ_archs=bfd_arm_arch ;; 185amdgcn*) targ_archs=bfd_amdgcn_arch ;; 186bfin*) targ_archs=bfd_bfin_arch ;; 187c30*) targ_archs=bfd_tic30_arch ;; 188c4x*) targ_archs=bfd_tic4x_arch ;; 189c54x*) targ_archs=bfd_tic54x_arch ;; 190cr16*) targ_archs=bfd_cr16_arch ;; 191crisv32) targ_archs=bfd_cris_arch ;; 192crx*) targ_archs=bfd_crx_arch ;; 193csky*) targ_archs=bfd_csky_arch ;; 194dlx*) targ_archs=bfd_dlx_arch ;; 195fido*) targ_archs=bfd_m68k_arch ;; 196hppa*) targ_archs=bfd_hppa_arch ;; 197i[3-7]86) targ_archs=bfd_i386_arch ;; 198ia16) targ_archs=bfd_i386_arch ;; 199kvx) targ_archs=bfd_kvx_arch ;; 200loongarch*) targ_archs=bfd_loongarch_arch ;; 201m6811*|m68hc11*) targ_archs="bfd_m68hc11_arch bfd_m68hc12_arch bfd_m9s12x_arch bfd_m9s12xg_arch" ;; 202m6812*|m68hc12*) targ_archs="bfd_m68hc12_arch bfd_m68hc11_arch bfd_m9s12x_arch bfd_m9s12xg_arch" ;; 203m68*) targ_archs=bfd_m68k_arch ;; 204microblaze*) targ_archs=bfd_microblaze_arch ;; 205mips*) targ_archs=bfd_mips_arch ;; 206nds32*) targ_archs=bfd_nds32_arch ;; 207nios2*) targ_archs=bfd_nios2_arch ;; 208or1k*|or1knd*) targ_archs=bfd_or1k_arch ;; 209pdp11*) targ_archs=bfd_pdp11_arch ;; 210pj*) targ_archs="bfd_pj_arch bfd_i386_arch";; 211powerpc*) targ_archs="bfd_rs6000_arch bfd_powerpc_arch" ;; 212pru*) targ_archs=bfd_pru_arch ;; 213riscv*) targ_archs=bfd_riscv_arch ;; 214rs6000) targ_archs="bfd_rs6000_arch bfd_powerpc_arch" ;; 215s12z*) targ_archs=bfd_s12z_arch ;; 216s390*) targ_archs=bfd_s390_arch ;; 217sh*) targ_archs=bfd_sh_arch ;; 218sparc*) targ_archs=bfd_sparc_arch ;; 219spu*) targ_archs=bfd_spu_arch ;; 220tilegx*) targ_archs=bfd_tilegx_arch ;; 221tilepro*) targ_archs=bfd_tilepro_arch ;; 222v850*) targ_archs="bfd_v850_arch bfd_v850_rh850_arch" ;; 223visium*) targ_archs=bfd_visium_arch ;; 224x86_64*) targ_archs=bfd_i386_arch ;; 225xtensa*) targ_archs=bfd_xtensa_arch ;; 226z80*|r800|z180|gbz80|ez80*) targ_archs=bfd_z80_arch ;; 227z8k*) targ_archs=bfd_z8k_arch ;; 228*) targ_archs=bfd_${targ_cpu}_arch ;; 229esac 230 231 232# WHEN ADDING ENTRIES TO THIS MATRIX: 233# Make sure that the left side always has two dashes. Otherwise you 234# can get spurious matches. Even for unambiguous cases, do this as a 235# convention, else the table becomes a real mess to understand and maintain. 236 237case "${targ}" in 238# START OF targmatch.h 239#ifdef BFD64 240 aarch64-*-darwin*) 241 targ_defvec=aarch64_mach_o_vec 242 targ_selvecs="arm_mach_o_vec mach_o_le_vec mach_o_be_vec mach_o_fat_vec" 243 targ_archs="$targ_archs bfd_i386_arch bfd_powerpc_arch bfd_rs6000_arch" 244 want64=true 245 ;; 246 aarch64-*-elf | aarch64-*-rtems* | aarch64-*-genode*) 247 targ_defvec=aarch64_elf64_le_vec 248 targ_selvecs="aarch64_elf64_be_vec aarch64_elf32_le_vec aarch64_elf32_be_vec arm_elf32_le_vec arm_elf32_be_vec aarch64_pei_le_vec aarch64_pe_le_vec" 249 want64=true 250 ;; 251 aarch64-*-pe* | aarch64-*-mingw*) 252 targ_defvec=aarch64_pe_le_vec 253 targ_selvecs="aarch64_pe_le_vec aarch64_pei_le_vec aarch64_elf64_le_vec aarch64_elf64_be_vec aarch64_elf32_le_vec aarch64_elf32_be_vec arm_elf32_le_vec arm_elf32_be_vec pdb_vec" 254 want64=true 255 targ_underscore=no 256 ;; 257 aarch64_be-*-elf) 258 targ_defvec=aarch64_elf64_be_vec 259 targ_selvecs="aarch64_elf64_le_vec aarch64_elf32_le_vec aarch64_elf32_be_vec arm_elf32_be_vec arm_elf32_le_vec" 260 want64=true 261 ;; 262 aarch64-*-freebsd*) 263 targ_defvec=aarch64_elf64_le_vec 264 targ_selvecs="aarch64_elf64_be_vec arm_elf32_le_vec arm_elf32_be_vec" 265 want64=true 266 ;; 267 aarch64-*-openbsd*) 268 targ_defvec=aarch64_elf64_le_vec 269 targ_selvecs="aarch64_elf64_be_vec arm_elf32_le_vec arm_elf32_be_vec" 270 want64=true 271 ;; 272 aarch64-*-fuchsia*) 273 targ_defvec=aarch64_elf64_le_vec 274 targ_selvecs="aarch64_elf64_be_vec arm_elf32_le_vec arm_elf32_be_vec" 275 want64=true 276 ;; 277 aarch64-*-cloudabi*) 278 targ_defvec=aarch64_elf64_le_cloudabi_vec 279 targ_selvecs=aarch64_elf64_be_cloudabi_vec 280 want64=true 281 ;; 282 aarch64-*-haiku*) 283 targ_defvec=aarch64_elf64_le_vec 284 targ_selvecs="aarch64_elf64_be_vec aarch64_elf32_le_vec aarch64_elf32_be_vec arm_elf32_le_vec arm_elf32_be_vec" 285 want64=true 286 ;; 287 aarch64-*-linux* | aarch64-*-netbsd* | aarch64-*-nto* | aarch64-*-gnu*) 288 targ_defvec=aarch64_elf64_le_vec 289 targ_selvecs="aarch64_elf64_be_vec aarch64_elf32_le_vec aarch64_elf32_be_vec arm_elf32_le_vec arm_elf32_be_vec aarch64_pei_le_vec aarch64_pe_le_vec" 290 want64=true 291 ;; 292 aarch64_be-*-linux* | aarch64_be-*-netbsd*) 293 targ_defvec=aarch64_elf64_be_vec 294 targ_selvecs="aarch64_elf64_le_vec aarch64_elf32_le_vec aarch64_elf32_be_vec arm_elf32_be_vec arm_elf32_le_vec" 295 want64=true 296 ;; 297 alpha*-*-freebsd* | alpha*-*-kfreebsd*-gnu) 298 targ_defvec=alpha_elf64_fbsd_vec 299 targ_selvecs="alpha_elf64_vec alpha_ecoff_le_vec" 300 want64=true 301 # FreeBSD <= 4.0 supports only the old nonstandard way of ABI labelling. 302 case "${targ}" in 303 alpha*-*-freebsd3* | alpha*-*-freebsd4 | alpha*-*-freebsd4.0*) 304 targ_cflags=-DOLD_FREEBSD_ABI_LABEL ;; 305 esac 306 ;; 307 alpha*-*-netbsd* | alpha*-*-openbsd*) 308 targ_defvec=alpha_elf64_vec 309 targ_selvecs=alpha_ecoff_le_vec 310 want64=true 311 ;; 312 alpha*-*-linux*ecoff*) 313 targ_defvec=alpha_ecoff_le_vec 314 targ_selvecs=alpha_elf64_vec 315 want64=true 316 ;; 317 alpha*-*-linux-* | alpha*-*-elf*) 318 targ_defvec=alpha_elf64_vec 319 targ_selvecs=alpha_ecoff_le_vec 320 want64=true 321 ;; 322 alpha*-*-*vms*) 323 targ_defvec=alpha_vms_vec 324 targ_selvecs=alpha_vms_lib_txt_vec 325 want64=true 326 ;; 327 alpha*-*-*) 328 targ_defvec=alpha_ecoff_le_vec 329 want64=true 330 ;; 331 amdgcn-*-*) 332 targ_defvec=amdgcn_elf64_le_vec 333 want64=true 334 ;; 335 ia64*-*-freebsd* | ia64*-*-netbsd* | ia64*-*-linux-* | ia64*-*-elf* | ia64*-*-kfreebsd*-gnu) 336 targ_defvec=ia64_elf64_le_vec 337 targ_selvecs="ia64_elf64_be_vec ia64_pei_vec" 338 want64=true 339 ;; 340 ia64*-*-hpux*) 341 targ_defvec=ia64_elf32_hpux_be_vec 342 targ_selvecs="ia64_elf64_hpux_be_vec" 343 want64=true 344 ;; 345 ia64*-*-*vms*) 346 targ_defvec=ia64_elf64_vms_vec 347 targ_selvecs=alpha_vms_lib_txt_vec 348 want64=true 349 ;; 350#endif /* BFD64 */ 351 352 am33_2.0-*-linux*) 353 targ_defvec=am33_elf32_linux_vec 354 ;; 355 356 arc*eb-*-elf* | arc*eb-*-linux*) 357 targ_defvec=arc_elf32_be_vec 358 targ_selvecs=arc_elf32_le_vec 359 ;; 360 361 arc*-*-elf* | arc*-*-linux*) 362 targ_defvec=arc_elf32_le_vec 363 targ_selvecs=arc_elf32_be_vec 364 ;; 365 366 arm-*-darwin*) 367 targ_defvec=arm_mach_o_vec 368 targ_selvecs="mach_o_le_vec mach_o_be_vec mach_o_fat_vec" 369 targ_archs="$targ_archs bfd_i386_arch bfd_powerpc_arch bfd_rs6000_arch" 370 ;; 371 arm-*-fuchsia*) 372 targ_defvec=arm_elf32_le_vec 373 targ_selvecs="arm_elf32_be_vec" 374 ;; 375 arm*-*-haiku*) 376 targ_defvec=arm_elf32_le_vec 377 targ_selvecs="arm_elf32_fdpic_le_vec arm_elf32_be_vec arm_elf32_fdpic_be_vec arm_pe_le_vec arm_pe_be_vec arm_pei_le_vec arm_pei_be_vec" 378 ;; 379 arm-*-nacl*) 380 targ_defvec=arm_elf32_nacl_le_vec 381 targ_selvecs="arm_elf32_nacl_be_vec" 382 ;; 383 armeb-*-nacl*) 384 targ_defvec=arm_elf32_nacl_be_vec 385 targ_selvecs="arm_elf32_nacl_le_vec" 386 ;; 387 arm*eb-*-netbsd*) 388 targ_defvec=arm_elf32_be_vec 389 targ_selvecs="arm_elf32_le_vec" 390 ;; 391 arm-*-netbsd* | arm-*-openbsd*) 392 targ_defvec=arm_elf32_le_vec 393 targ_selvecs="arm_elf32_be_vec" 394 ;; 395 arm-*-nto* | nto*arm*) 396 targ_defvec=arm_elf32_le_vec 397 targ_selvecs=arm_elf32_be_vec 398 targ_cflags=-D__QNXTARGET__ 399 ;; 400 arm-wince-pe | arm-*-wince | arm*-*-mingw32ce* | arm*-*-cegcc*) 401 targ_defvec=arm_pe_wince_le_vec 402 targ_selvecs="arm_pe_wince_le_vec arm_pe_wince_be_vec arm_pei_wince_le_vec arm_pei_wince_be_vec" 403 targ_underscore=no 404 targ_cflags="-DARM_WINCE -DARM_COFF_BUGFIX" 405 ;; 406 arm-*-pe*) 407 targ_defvec=arm_pe_le_vec 408 targ_selvecs="arm_pe_le_vec arm_pe_be_vec arm_pei_le_vec arm_pei_be_vec" 409 targ_underscore=yes 410 ;; 411 arm-*-phoenix*) 412 targ_defvec=arm_elf32_le_vec 413 targ_selvecs=arm_elf32_be_vec 414 ;; 415 armeb-*-elf | arm*b-*-freebsd* | arm*b-*-linux-* | armeb-*-eabi*) 416 targ_defvec=arm_elf32_be_vec 417 targ_selvecs=arm_elf32_le_vec 418 ;; 419 arm-*-kaos*) 420 targ_defvec=arm_elf32_le_vec 421 targ_selvecs=arm_elf32_be_vec 422 ;; 423 arm-*-elf | arm*-*-freebsd* | arm*-*-linux-* | arm*-*-conix* | \ 424 arm*-*-uclinux* | arm-*-kfreebsd*-gnu | \ 425 arm*-*-eabi* | arm-*-rtems* | arm*-*-uclinuxfdpiceabi) 426 targ_defvec=arm_elf32_le_vec 427 targ_selvecs="arm_elf32_fdpic_le_vec arm_elf32_be_vec arm_elf32_fdpic_be_vec" 428 ;; 429 arm*-*-vxworks | arm*-*-windiss) 430 targ_defvec=arm_elf32_vxworks_le_vec 431 targ_selvecs=arm_elf32_vxworks_be_vec 432 ;; 433 arm9e-*-elf) 434 targ_defvec=arm_elf32_le_vec 435 targ_selvecs=arm_elf32_be_vec 436 ;; 437 438 avr-*-*) 439 targ_defvec=avr_elf32_vec 440 ;; 441 442 bfin-*-*) 443 targ_defvec=bfin_elf32_vec 444 targ_selvecs=bfin_elf32_fdpic_vec 445 targ_underscore=yes 446 ;; 447 448 c30-*-*coff* | tic30-*-*coff*) 449 targ_defvec=tic30_coff_vec 450 ;; 451 452 c4x-*-*coff* | tic4x-*-*coff*) 453 targ_defvec=tic4x_coff1_vec 454 targ_selvecs="tic4x_coff1_beh_vec tic4x_coff2_vec tic4x_coff2_beh_vec tic4x_coff0_vec tic4x_coff0_beh_vec" 455 targ_underscore=yes 456 ;; 457 458 c54x*-*-*coff* | tic54x-*-*coff*) 459 targ_defvec=tic54x_coff1_vec 460 targ_selvecs="tic54x_coff1_beh_vec tic54x_coff2_vec tic54x_coff2_beh_vec tic54x_coff0_vec tic54x_coff0_beh_vec" 461 targ_underscore=yes 462 ;; 463 464 cr16-*-elf* | cr16*-*-uclinux*) 465 targ_defvec=cr16_elf32_vec 466 targ_underscore=yes 467 ;; 468 469 cris-*-* | crisv32-*-*) 470 targ_defvec=cris_aout_vec 471 targ_selvecs="cris_elf32_us_vec cris_elf32_vec" 472 case "${targ}" in 473 *-*-linux*) ;; 474 *) targ_underscore=yes ;; 475 esac 476 want64=true 477 ;; 478 479 crx-*-elf*) 480 targ_defvec=crx_elf32_vec 481 targ_underscore=yes 482 ;; 483 484 csky-*-elf* | csky-*-linux* ) 485 targ_defvec=csky_elf32_le_vec 486 targ_selvecs="csky_elf32_be_vec csky_elf32_le_vec" 487 ;; 488 489 d10v-*-*) 490 targ_defvec=d10v_elf32_vec 491 ;; 492 493 dlx-*-elf*) 494 targ_defvec=dlx_elf32_be_vec 495 targ_selvecs="dlx_elf32_be_vec" 496 ;; 497 498 d30v-*-*) 499 targ_defvec=d30v_elf32_vec 500 ;; 501 502#ifdef BFD64 503 bpf-*-none) 504 targ_defvec=bpf_elf64_le_vec 505 targ_selvecs=bpf_elf64_be_vec 506 targ_underscore=yes 507 ;; 508#endif 509 510 epiphany-*-*) 511 targ_defvec=epiphany_elf32_vec 512 targ_underscore=yes 513 ;; 514 515 fido-*-elf* ) 516 targ_defvec=m68k_elf32_vec 517 ;; 518 519 fr30-*-elf) 520 targ_defvec=fr30_elf32_vec 521 ;; 522 523 frv-*-elf) 524 targ_defvec=frv_elf32_vec 525 targ_selvecs=frv_elf32_fdpic_vec 526 ;; 527 528 frv-*-*linux*) 529 targ_defvec=frv_elf32_fdpic_vec 530 targ_selvecs=frv_elf32_vec 531 ;; 532 533 moxie-*-elf | moxie-*-rtems* | moxie-*-uclinux) 534 targ_defvec=moxie_elf32_be_vec 535 targ_selvecs=moxie_elf32_le_vec 536 ;; 537 538 moxie-*-moxiebox*) 539 targ_defvec=moxie_elf32_le_vec 540 ;; 541 542 h8300*-*-elf | h8300*-*-rtems*) 543 targ_defvec=h8300_elf32_vec 544 targ_underscore=yes 545 ;; 546 547 h8300*-*-linux*) 548 targ_defvec=h8300_elf32_linux_vec 549 ;; 550 551#ifdef BFD64 552 hppa*64*-*-linux-*) 553 targ_defvec=hppa_elf64_linux_vec 554 targ_selvecs=hppa_elf64_vec 555 want64=true 556 ;; 557 hppa*64*-*-hpux11*) 558 targ_defvec=hppa_elf64_vec 559 targ_selvecs=hppa_elf64_linux_vec 560 targ_cflags=-DHPUX_LARGE_AR_IDS 561 want64=true 562 ;; 563#endif 564 565 hppa*-*-linux-*) 566 targ_defvec=hppa_elf32_linux_vec 567 targ_selvecs=hppa_elf32_vec 568 ;; 569 hppa*-*-netbsd*) 570 targ_defvec=hppa_elf32_nbsd_vec 571 targ_selvecs="hppa_elf32_vec hppa_elf32_linux_vec" 572 ;; 573 hppa*-*-*elf* | hppa*-*-lites* | hppa*-*-sysv4* | hppa*-*-openbsd*) 574 targ_defvec=hppa_elf32_vec 575 targ_selvecs=hppa_elf32_linux_vec 576 ;; 577 578 hppa*-*-bsd*) 579 targ_defvec=hppa_som_vec 580 targ_selvecs=hppa_elf32_vec 581 ;; 582 hppa*-*-hpux* | hppa*-*-hiux* | hppa*-*-mpeix*) 583 targ_defvec=hppa_som_vec 584 ;; 585 hppa*-*-osf*) 586 targ_defvec=hppa_som_vec 587 targ_selvecs=hppa_elf32_vec 588 ;; 589 590 i[3-7]86-*-elf* | i[3-7]86-*-rtems* | i[3-7]86-*-genode*) 591 targ_defvec=i386_elf32_vec 592 targ_selvecs="iamcu_elf32_vec i386_coff_vec" 593 ;; 594 i[3-7]86-*-solaris2*) 595 targ_defvec=i386_elf32_sol2_vec 596 targ_selvecs="iamcu_elf32_vec i386_coff_vec i386_pei_vec" 597 targ64_selvecs="x86_64_elf64_sol2_vec x86_64_pe_vec x86_64_pei_vec" 598 want64=true 599 ;; 600#ifdef BFD64 601 x86_64-*-solaris2*) 602 targ_defvec=i386_elf32_sol2_vec 603 targ_selvecs="x86_64_elf64_sol2_vec iamcu_elf32_vec i386_coff_vec i386_pei_vec x86_64_pe_vec x86_64_pei_vec" 604 want64=true 605 ;; 606#endif 607 i[3-7]86-*-nto*) 608 targ_defvec=i386_elf32_vec 609 targ_selvecs="iamcu_elf32_vec i386_coff_vec" 610 ;; 611 i[3-7]86-*-aros*) 612 targ_defvec=i386_elf32_vec 613 targ_selvecs=iamcu_elf32_vec 614 ;; 615 i[3-7]86-*-dicos*) 616 targ_defvec=i386_elf32_vec 617 targ_selvecs=iamcu_elf32_vec 618 targ64_selvecs="x86_64_elf64_vec" 619 ;; 620 *-*-msdosdjgpp* | *-*-go32* ) 621 targ_defvec=i386_coff_go32_vec 622 targ_selvecs="i386_coff_go32stubbed_vec i386_aout_vec" 623 ;; 624 i[3-7]86-*-darwin* | i[3-7]86-*-macos10* | i[3-7]86-*-rhapsody*) 625 targ_defvec=i386_mach_o_vec 626 targ_selvecs="mach_o_le_vec mach_o_be_vec mach_o_fat_vec pef_vec pef_xlib_vec sym_vec" 627 targ64_selvecs=x86_64_mach_o_vec 628 targ_archs="$targ_archs bfd_powerpc_arch bfd_rs6000_arch" 629 ;; 630 i[3-7]86-*-bsd*) 631 targ_defvec=i386_aout_bsd_vec 632 targ_underscore=yes 633 ;; 634 i[3-7]86-*-dragonfly*) 635 targ_defvec=i386_elf32_vec 636 targ_selvecs=iamcu_elf32_vec 637 targ64_selvecs="x86_64_elf64_vec" 638 ;; 639 i[3-7]86-*-freebsd* | i[3-7]86-*-kfreebsd*-gnu) 640 targ_defvec=i386_elf32_fbsd_vec 641 targ_selvecs="i386_elf32_vec iamcu_elf32_vec i386_pei_vec i386_coff_vec" 642 targ64_selvecs="x86_64_elf64_fbsd_vec x86_64_elf64_vec x86_64_pe_vec x86_64_pei_vec" 643 # FreeBSD <= 4.0 supports only the old nonstandard way of ABI labelling. 644 case "${targ}" in 645 i[3-7]86-*-freebsd3* | i[3-7]86-*-freebsd4 | i[3-7]86-*-freebsd4.0*) 646 targ_cflags=-DOLD_FREEBSD_ABI_LABEL ;; 647 esac 648 ;; 649 i[3-7]86-*-netbsd* | i[3-7]86-*-knetbsd*-gnu) 650 targ_defvec=i386_elf32_vec 651 targ_selvecs="iamcu_elf32_vec i386_coff_vec i386_pei_vec" 652 targ64_selvecs="x86_64_elf64_vec x86_64_pe_vec x86_64_pei_vec" 653 ;; 654 i[3-7]86-*-openbsd*) 655 targ_defvec=i386_elf32_vec 656 targ_selvecs="iamcu_elf32_vec" 657 ;; 658 i[3-7]86-*-linux-*) 659 targ_defvec=i386_elf32_vec 660 targ_selvecs="iamcu_elf32_vec i386_pei_vec" 661 targ64_selvecs="x86_64_elf64_vec x86_64_elf32_vec x86_64_pe_vec x86_64_pei_vec" 662 ;; 663 i[3-7]86-*-redox*) 664 targ_defvec=i386_elf32_vec 665 targ_selvecs= 666 targ64_selvecs=x86_64_elf64_vec 667 ;; 668#ifdef BFD64 669 x86_64-*-cloudabi*) 670 targ_defvec=x86_64_elf64_cloudabi_vec 671 want64=true 672 ;; 673 x86_64-*-darwin*) 674 targ_defvec=x86_64_mach_o_vec 675 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" 676 targ_archs="$targ_archs bfd_powerpc_arch bfd_rs6000_arch" 677 want64=true 678 ;; 679 x86_64-*-dicos*) 680 targ_defvec=x86_64_elf64_vec 681 targ_selvecs="i386_elf32_vec iamcu_elf32_vec" 682 want64=true 683 ;; 684 x86_64-*-elf* | x86_64-*-rtems* | x86_64-*-fuchsia | x86_64-*-genode*) 685 targ_defvec=x86_64_elf64_vec 686 targ_selvecs="i386_elf32_vec iamcu_elf32_vec x86_64_elf32_vec" 687 case "${targ}" in 688 x86_64-*-rtems*) 689 targ_selvecs="${targ_selvecs} x86_64_pe_vec x86_64_pei_vec" 690 esac 691 want64=true 692 ;; 693 x86_64-*-dragonfly*) 694 targ_defvec=x86_64_elf64_vec 695 targ_selvecs="i386_elf32_vec iamcu_elf32_vec" 696 want64=true 697 ;; 698 x86_64-*-freebsd* | x86_64-*-kfreebsd*-gnu) 699 targ_defvec=x86_64_elf64_fbsd_vec 700 targ_selvecs="i386_elf32_fbsd_vec iamcu_elf32_vec i386_coff_vec i386_pei_vec x86_64_pe_vec x86_64_pei_vec i386_elf32_vec x86_64_elf64_vec" 701 want64=true 702 ;; 703 x86_64-*-haiku*) 704 targ_defvec=x86_64_elf64_vec 705 targ_selvecs="i386_elf32_vec" 706 want64=true 707 ;; 708 x86_64-*-netbsd* | x86_64-*-openbsd*) 709 targ_defvec=x86_64_elf64_vec 710 targ_selvecs="i386_elf32_vec iamcu_elf32_vec i386_coff_vec i386_pei_vec x86_64_pe_vec x86_64_pei_vec" 711 want64=true 712 ;; 713 x86_64-*-linux-*) 714 targ_defvec=x86_64_elf64_vec 715 targ_selvecs="i386_elf32_vec iamcu_elf32_vec x86_64_elf32_vec i386_pei_vec x86_64_pe_vec x86_64_pei_vec" 716 want64=true 717 ;; 718 x86_64-*-mingw* | x86_64-*-pe | x86_64-*-pep | x86_64-*-cygwin) 719 targ_defvec=x86_64_pe_vec 720 targ_selvecs="x86_64_pe_vec x86_64_pei_vec x86_64_pe_big_vec x86_64_elf64_vec i386_pe_vec i386_pei_vec i386_elf32_vec iamcu_elf32_vec pdb_vec" 721 want64=true 722 targ_underscore=no 723 ;; 724 x86_64-*-rdos*) 725 targ_defvec=x86_64_elf64_vec 726 want64=true 727 ;; 728 x86_64-*-redox*) 729 targ_defvec=x86_64_elf64_vec 730 targ_selvecs=i386_elf32_vec 731 want64=true 732 ;; 733 x86_64-*-gnu*) 734 targ_defvec=x86_64_elf64_vec 735 targ_selvecs="i386_elf32_vec iamcu_elf32_vec x86_64_elf32_vec" 736 want64=true 737 ;; 738#endif 739 i[3-7]86-*-lynxos*) 740 targ_defvec=i386_elf32_vec 741 targ_selvecs="iamcu_elf32_vec i386_coff_lynx_vec i386_aout_lynx_vec" 742 ;; 743 i[3-7]86-*-gnu*) 744 targ_defvec=i386_elf32_vec 745 targ_selvecs=iamcu_elf32_vec 746 ;; 747 i[3-7]86-*-msdos*) 748 targ_defvec=i386_aout_vec 749 targ_selvecs=i386_msdos_vec 750 ;; 751 i[3-7]86-*-moss*) 752 targ_defvec=i386_elf32_vec 753 targ_selvecs="iamcu_elf32_vec i386_msdos_vec i386_aout_vec" 754 ;; 755 i[3-7]86-*-beospe*) 756 targ_defvec=i386_pe_vec 757 targ_selvecs="i386_pe_vec i386_pei_vec" 758 ;; 759 i[3-7]86-*-beos*) 760 targ_defvec=i386_elf32_vec 761 targ_selvecs="iamcu_elf32_vec i386_pe_vec i386_pei_vec" 762 ;; 763 i[3-7]86-*-haiku*) 764 targ_defvec=i386_elf32_vec 765 targ_selvecs="i386_pei_vec" 766 ;; 767 i[3-7]86-*-interix*) 768 targ_defvec=i386_pei_vec 769 targ_selvecs="i386_pe_vec" 770 # FIXME: This should eventually be checked at runtime. 771 targ_cflags=-DSTRICT_PE_FORMAT 772 ;; 773 i[3-7]86-*-rdos*) 774 targ_defvec=i386_elf32_vec 775 targ_selvecs="iamcu_elf32_vec i386_coff_vec" 776 ;; 777 i[3-7]86-*-mingw32* | i[3-7]86-*-cygwin* | i[3-7]86-*-winnt | i[3-7]86-*-pe) 778 targ_defvec=i386_pe_vec 779 targ_selvecs="i386_pe_vec i386_pe_big_vec i386_pei_vec i386_elf32_vec iamcu_elf32_vec pdb_vec" 780 targ_underscore=yes 781 ;; 782 i[3-7]86-*-vxworks*) 783 targ_defvec=i386_elf32_vxworks_vec 784 targ_underscore=yes 785 ;; 786 787 ia16-*-elf) 788 targ_defvec=i386_elf32_vec 789 targ_selvecs="i386_msdos_vec i386_aout_vec" 790 ;; 791 792 ip2k-*-elf) 793 targ_defvec=ip2k_elf32_vec 794 targ_underscore=yes 795 ;; 796 797 iq2000-*-elf) 798 targ_defvec=iq2000_elf32_vec 799 ;; 800 801#ifdef BFD64 802 kvx-*-linux*) 803 targ_defvec=kvx_elf64_vec 804 targ_selvecs=kvx_elf32_vec 805 want64=true 806 ;; 807 808 kvx-*-*) 809 targ_defvec=kvx_elf64_vec 810 targ_selvecs=kvx_elf32_vec 811 want64=true 812 ;; 813#endif 814 815 lm32-*-elf | lm32-*-rtems*) 816 targ_defvec=lm32_elf32_vec 817 targ_selvecs=lm32_elf32_fdpic_vec 818 ;; 819 820 lm32-*-*linux*) 821 targ_defvec=lm32_elf32_fdpic_vec 822 targ_selvecs=lm32_elf32_vec 823 ;; 824 825 m32c-*-elf) 826 targ_defvec=m32c_elf32_vec 827 targ_underscore=yes 828 ;; 829 830 m32r*le-*-linux*) 831 targ_defvec=m32r_elf32_linux_le_vec 832 targ_selvecs="m32r_elf32_linux_vec m32r_elf32_linux_le_vec" 833 ;; 834 m32r*-*-linux*) 835 targ_defvec=m32r_elf32_linux_vec 836 targ_selvecs="m32r_elf32_linux_vec m32r_elf32_linux_le_vec" 837 ;; 838 m32r*le-*-*) 839 targ_defvec=m32r_elf32_le_vec 840 targ_selvecs="m32r_elf32_vec m32r_elf32_le_vec" 841 ;; 842 m32r-*-*) 843 targ_defvec=m32r_elf32_vec 844 ;; 845 846 m68*-*-haiku*) 847 targ_defvec=m68k_elf32_vec 848 ;; 849 m68hc11-*-* | m6811-*-*) 850 targ_defvec=m68hc11_elf32_vec 851 targ_selvecs="m68hc11_elf32_vec m68hc12_elf32_vec" 852 ;; 853 m68hc12-*-* | m6812-*-*) 854 targ_defvec=m68hc12_elf32_vec 855 targ_selvecs="m68hc11_elf32_vec m68hc12_elf32_vec" 856 ;; 857 858 m68*-*-*) 859 targ_defvec=m68k_elf32_vec 860 ;; 861 862 s12z-*-*) 863 targ_defvec=s12z_elf32_vec 864 ;; 865 mcore-*-elf) 866 targ_defvec=mcore_elf32_be_vec 867 targ_selvecs="mcore_elf32_be_vec mcore_elf32_le_vec" 868 ;; 869 mcore-*-pe) 870 targ_defvec=mcore_pe_be_vec 871 targ_selvecs="mcore_pe_be_vec mcore_pe_le_vec mcore_pei_be_vec mcore_pei_le_vec" 872 ;; 873 874 mep-*-elf) 875 targ_defvec=mep_elf32_vec 876 targ_selvecs=mep_elf32_le_vec 877 ;; 878 879 metag-*-*) 880 targ_defvec=metag_elf32_vec 881 targ_underscore=yes 882 ;; 883 884 microblazeel*-*) 885 targ_defvec=microblaze_elf32_le_vec 886 targ_selvecs=microblaze_elf32_vec 887 ;; 888 889 microblaze*-*) 890 targ_defvec=microblaze_elf32_vec 891 targ_selvecs=microblaze_elf32_le_vec 892 ;; 893 894#ifdef BFD64 895 mipsn64*el-*-netbsd*) 896 targ_defvec=mips_elf64_trad_le_vec 897 targ_selvecs="mips_elf32_trad_be_vec mips_elf32_trad_le_vec mips_elf32_ntrad_be_vec mips_elf32_ntrad_le_vec mips_elf64_trad_be_vec mips_ecoff_be_vec mips_ecoff_le_vec" 898 ;; 899 mipsn64*-*-netbsd*) 900 targ_defvec=mips_elf64_trad_be_vec 901 targ_selvecs="mips_elf32_trad_be_vec mips_elf32_trad_le_vec mips_elf32_ntrad_be_vec mips_elf32_ntrad_le_vec mips_elf64_trad_le_vec mips_ecoff_be_vec mips_ecoff_le_vec" 902 ;; 903 mips64*el-*-netbsd*) 904 targ_defvec=mips_elf32_ntrad_le_vec 905 targ_selvecs="mips_elf32_trad_be_vec mips_elf32_trad_le_vec mips_elf32_ntrad_be_vec mips_elf64_trad_be_vec mips_elf64_trad_le_vec mips_ecoff_be_vec mips_ecoff_le_vec" 906 ;; 907 mips64*-*-netbsd*) 908 targ_defvec=mips_elf32_ntrad_be_vec 909 targ_selvecs="mips_elf32_trad_be_vec mips_elf32_trad_le_vec mips_elf32_ntrad_le_vec mips_elf64_trad_be_vec mips_elf64_trad_le_vec mips_ecoff_be_vec mips_ecoff_le_vec" 910 ;; 911 mips*el-*-netbsd*) 912 targ_defvec=mips_elf32_trad_le_vec 913 targ_selvecs="mips_elf32_trad_be_vec mips_elf32_ntrad_be_vec mips_elf32_ntrad_le_vec mips_elf64_trad_be_vec mips_elf64_trad_le_vec mips_ecoff_be_vec mips_ecoff_le_vec" 914 ;; 915 mips*-*-netbsd*) 916 targ_defvec=mips_elf32_trad_be_vec 917 targ_selvecs="mips_elf32_trad_le_vec mips_elf32_ntrad_be_vec mips_elf32_ntrad_le_vec mips_elf64_trad_be_vec mips_elf64_trad_le_vec mips_ecoff_be_vec mips_ecoff_le_vec" 918 ;; 919 mips*el-*-haiku*) 920 targ_defvec=mips_elf32_le_vec 921 targ_selvecs="mips_elf32_be_vec mips_elf64_be_vec mips_elf64_le_vec mips_ecoff_le_vec mips_ecoff_be_vec" 922 ;; 923 mips*-*-irix6*) 924 targ_defvec=mips_elf32_n_be_vec 925 targ_selvecs="mips_elf32_n_le_vec mips_elf32_be_vec mips_elf32_le_vec mips_elf64_be_vec mips_elf64_le_vec" 926 ;; 927 mips64*-ps2-elf*) 928 targ_defvec=mips_elf32_n_le_vec 929 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" 930 ;; 931 mips*-ps2-elf*) 932 targ_defvec=mips_elf32_le_vec 933 targ_selvecs="mips_elf32_be_vec mips_elf32_le_vec mips_elf64_be_vec mips_elf64_le_vec" 934 ;; 935 mips*-*-irix5*) 936 targ_defvec=mips_elf32_be_vec 937 targ_selvecs="mips_elf32_le_vec mips_ecoff_be_vec mips_ecoff_le_vec" 938 ;; 939 mips*el-*-vxworks*) 940 targ_defvec=mips_elf32_vxworks_le_vec 941 targ_selvecs="mips_elf32_le_vec mips_elf32_vxworks_be_vec mips_elf32_be_vec mips_elf64_be_vec mips_elf64_le_vec" 942 ;; 943 mips*-*-vxworks*) 944 targ_defvec=mips_elf32_vxworks_be_vec 945 targ_selvecs="mips_elf32_be_vec mips_elf32_vxworks_le_vec mips_elf32_be_vec mips_elf64_be_vec mips_elf64_le_vec" 946 ;; 947 mips*el-sde-elf*) 948 targ_defvec=mips_elf32_trad_le_vec 949 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" 950 ;; 951 mips*-sde-elf* | mips*-mti-elf* | mips*-img-elf*) 952 targ_defvec=mips_elf32_trad_be_vec 953 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" 954 ;; 955 mips*el-*-elf* | mips*-*-chorus*) 956 targ_defvec=mips_elf32_le_vec 957 targ_selvecs="mips_elf32_be_vec mips_elf64_be_vec mips_elf64_le_vec" 958 ;; 959 mips*-*-elf* | mips*-*-rtems* | mips*-*-windiss | mips*-*-none) 960 targ_defvec=mips_elf32_be_vec 961 targ_selvecs="mips_elf32_le_vec mips_elf64_be_vec mips_elf64_le_vec" 962 ;; 963 mips64*-*-openbsd*) 964 targ_defvec=mips_elf64_trad_be_vec 965 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" 966 ;; 967 mips*el-*-openbsd*) 968 targ_defvec=mips_elf32_le_vec 969 targ_selvecs="mips_elf32_be_vec mips_elf64_be_vec mips_elf64_le_vec mips_ecoff_le_vec mips_ecoff_be_vec" 970 ;; 971 mips*-*-openbsd*) 972 targ_defvec=mips_elf32_be_vec 973 targ_selvecs="mips_elf32_le_vec mips_elf64_be_vec mips_elf64_le_vec mips_ecoff_be_vec mips_ecoff_le_vec" 974 ;; 975 mips64*el-*-linux*-gnuabi64) 976 targ_defvec=mips_elf64_trad_le_vec 977 targ_selvecs="mips_elf64_trad_be_vec mips_elf32_ntrad_le_vec mips_elf32_ntrad_be_vec mips_elf32_trad_le_vec mips_elf32_trad_be_vec" 978 want64=true 979 ;; 980 mips64*el-*-linux*) 981 targ_defvec=mips_elf32_ntrad_le_vec 982 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" 983 ;; 984 mips64*-*-linux*-gnuabi64) 985 targ_defvec=mips_elf64_trad_be_vec 986 targ_selvecs="mips_elf64_trad_le_vec mips_elf32_ntrad_be_vec mips_elf32_ntrad_le_vec mips_elf32_trad_be_vec mips_elf32_trad_le_vec" 987 want64=true 988 ;; 989 mips64*-*-linux*) 990 targ_defvec=mips_elf32_ntrad_be_vec 991 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" 992 ;; 993 mips*el-*-linux*) 994 targ_defvec=mips_elf32_trad_le_vec 995 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" 996 ;; 997 mips*-*-linux*) 998 targ_defvec=mips_elf32_trad_be_vec 999 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" 1000 ;; 1001 mips64*el-*-freebsd* | mips64*el-*-kfreebsd*-gnu) 1002 # FreeBSD vectors 1003 targ_defvec=mips_elf32_ntradfbsd_le_vec 1004 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" 1005 # Generic vectors 1006 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" 1007 ;; 1008 mips64*-*-freebsd* | mips64*-*-kfreebsd*-gnu) 1009 # FreeBSD vectors 1010 targ_defvec=mips_elf32_ntradfbsd_be_vec 1011 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" 1012 # Generic vectors 1013 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" 1014 ;; 1015 mips*el-*-freebsd* | mips*el-*-kfreebsd*-gnu) 1016 # FreeBSD vectors 1017 targ_defvec=mips_elf32_tradfbsd_le_vec 1018 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" 1019 # Generic vectors 1020 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" 1021 ;; 1022 mips*-*-freebsd* | mips*-*-kfreebsd*-gnu) 1023 # FreeBSD vectors 1024 targ_defvec=mips_elf32_tradfbsd_be_vec 1025 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" 1026 # Generic vectors 1027 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" 1028 ;; 1029 mmix-*-*) 1030 targ_defvec=mmix_elf64_vec 1031 targ_selvecs=mmix_mmo_vec 1032 want64=true 1033 ;; 1034#endif 1035 mn10200-*-*) 1036 targ_defvec=mn10200_elf32_vec 1037 targ_underscore=yes 1038 ;; 1039 1040 mn10300-*-*) 1041 targ_defvec=mn10300_elf32_vec 1042 targ_underscore=yes 1043 ;; 1044 1045 mt-*-elf) 1046 targ_defvec=mt_elf32_vec 1047 ;; 1048 1049 msp430-*-*) 1050 targ_defvec=msp430_elf32_vec 1051 targ_selvecs=msp430_elf32_ti_vec 1052 ;; 1053 1054 nds32*le-*-linux*) 1055 targ_defvec=nds32_elf32_linux_le_vec 1056 targ_selvecs=nds32_elf32_linux_be_vec 1057 ;; 1058 1059 nds32*be-*-linux*) 1060 targ_defvec=nds32_elf32_linux_be_vec 1061 targ_selvecs=nds32_elf32_linux_le_vec 1062 ;; 1063 1064 nds32*le-*-*) 1065 targ_defvec=nds32_elf32_le_vec 1066 targ_selvecs=nds32_elf32_be_vec 1067 ;; 1068 1069 nds32*be-*-*) 1070 targ_defvec=nds32_elf32_be_vec 1071 targ_selvecs=nds32_elf32_le_vec 1072 ;; 1073 1074#ifdef BFD64 1075 nfp-*-*) 1076 targ_defvec=nfp_elf64_vec 1077 ;; 1078#endif 1079 1080 ns32k-pc532-mach* | ns32k-pc532-ux*) 1081 targ_defvec=ns32k_aout_pc532mach_vec 1082 targ_underscore=yes 1083 ;; 1084 ns32k-*-lites* | ns32k-*-*bsd*) 1085 targ_defvec=ns32k_aout_pc532nbsd_vec 1086 targ_underscore=yes 1087 ;; 1088 1089 nios2eb-*-*) 1090 targ_defvec=nios2_elf32_be_vec 1091 targ_selvecs=nios2_elf32_le_vec 1092 ;; 1093 1094 nios2el-*-*) 1095 targ_defvec=nios2_elf32_le_vec 1096 targ_selvecs=nios2_elf32_be_vec 1097 ;; 1098 1099 nios2-*-*) 1100 targ_defvec=nios2_elf32_le_vec 1101 targ_selvecs=nios2_elf32_be_vec 1102 ;; 1103 1104 or1k-*-elf | or1k-*-linux* | or1k-*-rtems* | or1k*-*-netbsd*) 1105 targ_defvec=or1k_elf32_vec 1106 ;; 1107 1108 or1knd-*-elf | or1knd-*-linux* | or1knd-*-rtems*) 1109 targ_defvec=or1k_elf32_vec 1110 ;; 1111 1112 pdp11-*-*) 1113 targ_defvec=pdp11_aout_vec 1114 targ_underscore=yes 1115 ;; 1116 1117 pj-*-*) 1118 targ_defvec=pj_elf32_vec 1119 targ_selvecs="pj_elf32_vec pj_elf32_le_vec" 1120 ;; 1121 1122 pjl-*-*) 1123 targ_defvec=pj_elf32_le_vec 1124 targ_selvecs="pj_elf32_le_vec pj_elf32_vec i386_elf32_vec iamcu_elf32_vec" 1125 ;; 1126 1127 powerpc-*-aix5.[01] | rs6000-*-aix5.[01]) 1128 targ_defvec=rs6000_xcoff_vec 1129 targ_selvecs="rs6000_xcoff64_aix_vec" 1130 want64=true 1131 ;; 1132 powerpc-*-aix[5-9]* | rs6000-*-aix[5-9]*) 1133 targ_cflags=-DAIX_WEAK_SUPPORT 1134 targ_defvec=rs6000_xcoff_vec 1135 targ_selvecs="rs6000_xcoff64_aix_vec" 1136 want64=true 1137 ;; 1138#ifdef BFD64 1139 powerpc64-*-aix5.[01]) 1140 targ_defvec=rs6000_xcoff64_aix_vec 1141 targ_selvecs="rs6000_xcoff_vec" 1142 want64=true 1143 ;; 1144 powerpc64-*-aix[5-9]*) 1145 targ_cflags=-DAIX_WEAK_SUPPORT 1146 targ_defvec=rs6000_xcoff64_aix_vec 1147 targ_selvecs="rs6000_xcoff_vec" 1148 want64=true 1149 ;; 1150#endif 1151 1152 powerpc-*-aix* | powerpc-*-beos* | rs6000-*-*) 1153 targ_defvec=rs6000_xcoff_vec 1154 targ64_selvecs=rs6000_xcoff64_vec 1155 case "${targ}" in 1156 *-*-aix4.[3456789]* | *-*-aix[56789]*) 1157 want64=true;; 1158 *) 1159 targ_cflags=-DSMALL_ARCHIVE;; 1160 esac 1161 ;; 1162#ifdef BFD64 1163 powerpc64-*-aix*) 1164 targ_defvec=rs6000_xcoff64_vec 1165 targ_selvecs=rs6000_xcoff_vec 1166 want64=true 1167 ;; 1168 powerpc64-*-freebsd*) 1169 targ_defvec=powerpc_elf64_fbsd_vec 1170 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" 1171 want64=true 1172 ;; 1173 powerpc64le-*-freebsd*) 1174 targ_defvec=powerpc_elf64_fbsd_le_vec 1175 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" 1176 want64=true 1177 ;; 1178 powerpc64-*-elf* | powerpc-*-elf64* | powerpc64-*-linux* | \ 1179 powerpc64-*-*bsd*) 1180 targ_defvec=powerpc_elf64_vec 1181 targ_selvecs="powerpc_elf64_le_vec powerpc_elf32_vec powerpc_elf32_le_vec rs6000_xcoff_vec rs6000_xcoff64_vec rs6000_xcoff64_aix_vec" 1182 want64=true 1183 ;; 1184 powerpc64le-*-elf* | powerpcle-*-elf64* | powerpc64le-*-linux* | \ 1185 powerpc64le-*-*bsd*) 1186 targ_defvec=powerpc_elf64_le_vec 1187 targ_selvecs="powerpc_elf64_vec powerpc_elf32_le_vec powerpc_elf32_vec rs6000_xcoff_vec rs6000_xcoff64_vec rs6000_xcoff64_aix_vec" 1188 want64=true 1189 ;; 1190#endif 1191 powerpc-*-*freebsd*) 1192 targ_defvec=powerpc_elf32_fbsd_vec 1193 targ_selvecs="rs6000_xcoff_vec powerpc_elf32_vec powerpc_elf32_le_vec powerpc_boot_vec" 1194 targ64_selvecs="powerpc_elf64_vec powerpc_elf64_le_vec powerpc_elf64_fbsd_vec" 1195 ;; 1196 powerpc-*-*bsd* | powerpc-*-elf* | powerpc-*-sysv4* | powerpc-*-eabi* | \ 1197 powerpc-*-solaris2* | powerpc-*-linux-* | powerpc-*-rtems* | \ 1198 powerpc-*-chorus*) 1199 targ_defvec=powerpc_elf32_vec 1200 targ_selvecs="rs6000_xcoff_vec powerpc_elf32_le_vec powerpc_boot_vec" 1201 targ64_selvecs="powerpc_elf64_vec powerpc_elf64_le_vec" 1202 ;; 1203 powerpc-*-haiku*) 1204 targ_defvec=powerpc_elf32_vec 1205 targ_selvecs="rs6000_xcoff_vec powerpc_elf32_le_vec pef_vec pef_xlib_vec powerpc_xcoff_vec powerpc_boot_vec" 1206 targ_cflags=-D__HAIKU_TARGET__ 1207 ;; 1208 powerpc-*-kaos*) 1209 targ_defvec=powerpc_elf32_vec 1210 targ_selvecs="powerpc_elf32_le_vec powerpc_boot_vec" 1211 targ64_selvecs="powerpc_elf64_vec powerpc_elf64_le_vec" 1212 ;; 1213 powerpc-*-darwin* | powerpc-*-macos10* | powerpc-*-rhapsody*) 1214 targ_defvec=mach_o_be_vec 1215 targ_selvecs="mach_o_be_vec mach_o_le_vec mach_o_fat_vec pef_vec pef_xlib_vec sym_vec" 1216 targ_archs="$targ_archs bfd_i386_arch" 1217 ;; 1218 powerpc-*-macos*) 1219 targ_defvec=powerpc_xcoff_vec 1220 ;; 1221 powerpc-*-nto*) 1222 targ_defvec=powerpc_elf32_vec 1223 targ_selvecs="rs6000_xcoff_vec powerpc_elf32_le_vec powerpc_boot_vec" 1224 ;; 1225 powerpc-*-vxworks*) 1226 targ_defvec=powerpc_elf32_vxworks_vec 1227 targ_selvecs="rs6000_xcoff_vec powerpc_elf32_vec powerpc_elf32_le_vec powerpc_boot_vec" 1228 targ64_selvecs="powerpc_elf64_vec powerpc_elf64_le_vec" 1229 ;; 1230 powerpcle-*-nto*) 1231 targ_defvec=powerpc_elf32_le_vec 1232 targ_selvecs="rs6000_xcoff_vec powerpc_elf32_vec powerpc_boot_vec" 1233 ;; 1234 powerpcle-*-elf* | powerpcle-*-sysv4* | powerpcle-*-eabi* | \ 1235 powerpcle-*-solaris2* | powerpcle-*-linux-* | powerpcle-*-vxworks*) 1236 targ_defvec=powerpc_elf32_le_vec 1237 targ_selvecs="rs6000_xcoff_vec powerpc_elf32_vec powerpc_boot_vec" 1238 targ64_selvecs="powerpc_elf64_vec powerpc_elf64_le_vec" 1239 ;; 1240 1241 pru-*-*) 1242 targ_defvec=pru_elf32_vec 1243 ;; 1244 1245#ifdef BFD64 1246 riscvbe-*-* | riscv32be*-*-*) 1247 targ_defvec=riscv_elf32_be_vec 1248 targ_selvecs="riscv_elf32_vec riscv_elf64_vec riscv_elf32_be_vec riscv_elf64_be_vec riscv64_pei_vec" 1249 want64=true 1250 ;; 1251 riscv-*-* | riscv32*-*-*) 1252 targ_defvec=riscv_elf32_vec 1253 targ_selvecs="riscv_elf32_vec riscv_elf64_vec riscv_elf32_be_vec riscv_elf64_be_vec riscv64_pei_vec" 1254 want64=true 1255 ;; 1256 riscv64be*-*-*) 1257 targ_defvec=riscv_elf64_be_vec 1258 targ_selvecs="riscv_elf32_vec riscv_elf64_vec riscv_elf32_be_vec riscv_elf64_be_vec riscv64_pei_vec" 1259 want64=true 1260 ;; 1261 riscv64*-*-*) 1262 targ_defvec=riscv_elf64_vec 1263 targ_selvecs="riscv_elf32_vec riscv_elf64_vec riscv_elf32_be_vec riscv_elf64_be_vec riscv64_pei_vec" 1264 want64=true 1265 ;; 1266#endif 1267 1268 rl78-*-elf) 1269 targ_defvec=rl78_elf32_vec 1270 targ_underscore=yes 1271 ;; 1272 1273 rx-*-elf) 1274 targ_defvec=rx_elf32_le_vec 1275 targ_selvecs="rx_elf32_be_vec rx_elf32_le_vec rx_elf32_be_ns_vec" 1276 targ_underscore=yes 1277 ;; 1278 rx-*-linux*) 1279 targ_defvec=rx_elf32_linux_le_vec 1280 targ_selvecs="rx_elf32_linux_le_vec" 1281 ;; 1282 1283 s390-*-linux*) 1284 targ_defvec=s390_elf32_vec 1285 targ64_selvecs=s390_elf64_vec 1286 want64=true 1287 ;; 1288#ifdef BFD64 1289 s390x-*-linux*) 1290 targ_defvec=s390_elf64_vec 1291 targ_selvecs=s390_elf32_vec 1292 want64=true 1293 ;; 1294 s390x-*-tpf*) 1295 targ_defvec=s390_elf64_vec 1296 want64=true 1297 ;; 1298 1299 score*-*-elf*) 1300 targ_defvec=score_elf32_be_vec 1301 targ_selvecs=score_elf32_le_vec 1302 ;; 1303#endif /* BFD64 */ 1304 1305 sh*eb-*-linux*) 1306 targ_defvec=sh_elf32_linux_be_vec 1307 targ_selvecs=sh_elf32_linux_vec 1308 targ_selvecs="${targ_selvecs} sh_elf32_fdpic_le_vec sh_elf32_fdpic_be_vec" 1309 ;; 1310 sh*-*-linux*) 1311 targ_defvec=sh_elf32_linux_vec 1312 targ_selvecs=sh_elf32_linux_be_vec 1313 targ_selvecs="${targ_selvecs} sh_elf32_fdpic_le_vec sh_elf32_fdpic_be_vec" 1314 ;; 1315 1316 sh-*-uclinux* | sh[12]-*-uclinux*) 1317 targ_defvec=sh_elf32_vec 1318 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" 1319 ;; 1320 1321 sh*l*-*-netbsd*) 1322 targ_defvec=sh_elf32_nbsd_le_vec 1323 targ_selvecs="sh_elf32_nbsd_vec sh_coff_vec sh_coff_le_vec" 1324 ;; 1325 sh*-*-netbsd*) 1326 targ_defvec=sh_elf32_nbsd_vec 1327 targ_selvecs="sh_elf32_nbsd_le_vec sh_coff_vec sh_coff_le_vec" 1328 ;; 1329 1330 shl*-*-elf* | sh[1234]l*-*-elf* | sh3el*-*-elf* | shl*-*-kaos*) 1331 targ_defvec=sh_elf32_le_vec 1332 targ_selvecs="sh_elf32_vec sh_coff_le_vec sh_coff_vec sh_coff_small_le_vec sh_coff_small_vec" 1333 targ_underscore=yes 1334 ;; 1335 1336 sh-*-elf* | sh[1234]*-elf* | sh-*-rtems* | sh-*-kaos*) 1337 targ_defvec=sh_elf32_vec 1338 targ_selvecs="sh_elf32_le_vec sh_coff_vec sh_coff_le_vec sh_coff_small_vec sh_coff_small_le_vec" 1339 targ_underscore=yes 1340 ;; 1341 1342 sh-*-nto*) 1343 targ_defvec=sh_elf32_vec 1344 targ_selvecs="sh_elf32_le_vec sh_coff_vec sh_coff_le_vec sh_coff_small_vec sh_coff_small_le_vec" 1345 targ_underscore=yes 1346 ;; 1347 sh*-*-openbsd*) 1348 targ_defvec=sh_elf32_nbsd_le_vec 1349 targ_selvecs="sh_elf32_nbsd_vec sh_coff_vec sh_coff_le_vec" 1350 ;; 1351 sh-*-pe) 1352 targ_defvec=sh_pe_le_vec 1353 targ_selvecs="sh_pe_le_vec sh_pei_le_vec" 1354 targ_underscore=yes 1355 ;; 1356 sh-*-vxworks) 1357 targ_defvec=sh_elf32_vxworks_vec 1358 targ_selvecs="sh_elf32_vxworks_le_vec" 1359 # FIXME None of the following are actually used on this target, but 1360 # they're necessary for coff-sh.c (which is unconditionally used) to be 1361 # compiled correctly. 1362 targ_selvecs="$targ_selvecs sh_coff_vec sh_coff_le_vec sh_coff_small_vec sh_coff_small_le_vec" 1363 targ_underscore=yes 1364 ;; 1365 sh-*-*) 1366 targ_defvec=sh_coff_vec 1367 targ_selvecs="sh_coff_vec sh_coff_le_vec sh_coff_small_vec sh_coff_small_le_vec" 1368 targ_underscore=yes 1369 ;; 1370 1371 sparc-*-netbsd*) 1372 targ_defvec=sparc_elf32_vec 1373 want64=true 1374 ;; 1375 sparc-*-solaris2.[0-6] | sparc-*-solaris2.[0-6].*) 1376 # PR 27666: Do not include sparc_elf32_vec here. 1377 targ_defvec=sparc_elf32_sol2_vec 1378 ;; 1379#ifdef BFD64 1380 sparc-*-solaris2* | sparcv9-*-solaris2* | sparc64-*-solaris2*) 1381 # PR 27666: Do not include sparc_elf32_vec or sparc_elf64_vec here. 1382 targ_defvec=sparc_elf32_sol2_vec 1383 targ_selvecs="sparc_elf64_sol2_vec" 1384 want64=true 1385 ;; 1386 sparc64-*-haiku*) 1387 targ_defvec=sparc_elf64_vec 1388 targ_selvecs="sparc_elf64_vec sparc_elf32_vec" 1389 want64=true 1390 ;; 1391 sparc64-*-freebsd* | sparc64-*-kfreebsd*-gnu) 1392 targ_defvec=sparc_elf64_fbsd_vec 1393 targ_selvecs="sparc_elf64_vec sparc_elf32_vec" 1394 ;; 1395 sparc64*-*-*) 1396 targ_defvec=sparc_elf64_vec 1397 targ_selvecs="sparc_elf32_vec" 1398 want64=true 1399 ;; 1400#endif 1401 sparc-*-linux-* | sparcv*-*-linux-*) 1402 targ_defvec=sparc_elf32_vec 1403 targ_selvecs="sparc_elf64_vec" 1404 ;; 1405 sparc-*-vxworks*) 1406 targ_defvec=sparc_elf32_vxworks_vec 1407 targ_selvecs="sparc_elf32_vec" 1408 ;; 1409 sparc*-*-*) 1410 targ_defvec=sparc_elf32_vec 1411 ;; 1412 1413 spu-*-elf) 1414 targ_defvec=spu_elf32_vec 1415 want64=true 1416 ;; 1417 1418 tic6x-*-elf) 1419 targ_defvec=tic6x_elf32_c6000_le_vec 1420 targ_selvecs="tic6x_elf32_c6000_be_vec tic6x_elf32_le_vec tic6x_elf32_be_vec" 1421 ;; 1422 1423 tic6x-*-uclinux) 1424 targ_defvec=tic6x_elf32_linux_le_vec 1425 targ_selvecs="tic6x_elf32_linux_be_vec tic6x_elf32_le_vec tic6x_elf32_be_vec" 1426 ;; 1427 1428#ifdef BFD64 1429 tilegx-*-*) 1430 targ_defvec=tilegx_elf64_le_vec 1431 targ_selvecs="tilegx_elf64_be_vec tilegx_elf32_be_vec tilegx_elf32_le_vec" 1432 ;; 1433 tilegxbe-*-*) 1434 targ_defvec=tilegx_elf64_be_vec 1435 targ_selvecs="tilegx_elf64_le_vec tilegx_elf32_be_vec tilegx_elf32_le_vec" 1436 ;; 1437#endif 1438 1439 tilepro-*-*) 1440 targ_defvec=tilepro_elf32_vec 1441 ;; 1442 1443 ft32*-*-*) 1444 targ_defvec=ft32_elf32_vec 1445 ;; 1446 1447 v850*-*-*) 1448 targ_defvec=v850_elf32_vec 1449 targ_selvecs="v800_elf32_vec" 1450 targ_underscore=yes 1451 ;; 1452 1453 vax-*-netbsdaout*) 1454 targ_defvec=vax_aout_nbsd_vec 1455 targ_selvecs="vax_elf32_vec vax_aout_1knbsd_vec" 1456 targ_underscore=yes 1457 ;; 1458 1459 vax-*-netbsd*) 1460 targ_defvec=vax_elf32_vec 1461 targ_selvecs="vax_aout_nbsd_vec vax_aout_1knbsd_vec" 1462 ;; 1463 1464 vax-*-openbsd*) 1465 targ_defvec=vax_aout_nbsd_vec 1466 targ_underscore=yes 1467 ;; 1468 1469 vax-*-linux-*) 1470 targ_defvec=vax_elf32_vec 1471 ;; 1472 1473 visium-*-elf) 1474 targ_defvec=visium_elf32_vec 1475 ;; 1476 1477 wasm32-*-*) 1478 targ_defvec=wasm32_elf32_vec 1479 targ_selvecs="wasm_vec" 1480 ;; 1481 1482 xgate-*-*) 1483 targ_defvec=xgate_elf32_vec 1484 targ_selvecs="xgate_elf32_vec" 1485 ;; 1486 1487 xstormy16-*-elf) 1488 targ_defvec=xstormy16_elf32_vec 1489 ;; 1490 1491 xtensa*-*-*) 1492 targ_defvec=xtensa_elf32_le_vec 1493 targ_selvecs=xtensa_elf32_be_vec 1494 ;; 1495 1496 z80-*-coff) 1497 targ_defvec=z80_coff_vec 1498 targ_underscore=no 1499 ;; 1500 1501 z80-*-elf) 1502 targ_defvec=z80_elf32_vec 1503 targ_underscore=no 1504 ;; 1505 1506 z8k*-*-*) 1507 targ_defvec=z8k_coff_vec 1508 targ_underscore=yes 1509 ;; 1510 1511#ifdef BFD64 1512 loongarch32-*) 1513 targ_defvec=loongarch_elf32_vec 1514 targ_selvecs="loongarch_elf32_vec" 1515 want64=true 1516 ;; 1517 1518 loongarch64-*) 1519 targ_defvec=loongarch_elf64_vec 1520 targ_selvecs="loongarch_elf32_vec loongarch_elf64_vec loongarch64_pei_vec" 1521 want64=true 1522 ;; 1523#endif 1524 1525# END OF targmatch.h 1526 bpf-*-*) 1527 echo "*** Configuration $targ is not fully supported." >&2 1528 echo "*** Use bpf or bpf-*-none as the target instead." >&2 1529 exit 1 1530 ;; 1531 1532 *) 1533 echo 1>&2 "*** BFD does not support target ${targ}." 1534 echo 1>&2 "*** Look in bfd/config.bfd for supported targets." 1535 exit 1 1536 ;; 1537esac 1538 1539# All MIPS ELF targets need a 64-bit bfd_vma. 1540case "${targ_defvec} ${targ_selvecs}" in 1541 *mips_elf*) 1542 want64=true 1543 ;; 1544esac 1545 1546# vax natively supports 64-bit integers. 1547case "${targ_defvec} ${targ_selvecs}" in 1548 *vax*) 1549 want64=true 1550 ;; 1551esac 1552 1553case "${host64}${want64}" in 1554 *true*) 1555 targ_selvecs="${targ_selvecs} ${targ64_selvecs}" 1556 ;; 1557esac 1558 1559# If we support any ELF target, then automatically add support for the 1560# generic ELF targets. This permits an objdump with some ELF support 1561# to be used on an arbitrary ELF file for anything other than 1562# relocation information. 1563case "${targ_defvec} ${targ_selvecs}" in 1564 *elf64* | *mips_elf32_n*) 1565 targ_selvecs="${targ_selvecs} elf64_le_vec elf64_be_vec elf32_le_vec elf32_be_vec" 1566 ;; 1567 *elf32*) 1568 targ_selvecs="${targ_selvecs} elf32_le_vec elf32_be_vec" 1569 ;; 1570esac 1571 1572# If we support Intel MCU target, then add support for bfd_iamcu_arch. 1573case "${targ_defvec} ${targ_selvecs}" in 1574 *iamcu_elf32*) 1575 targ_archs="$targ_archs bfd_iamcu_arch" 1576 ;; 1577esac 1578 1579case "${targ}" in 1580 mipsisa32r6* | mipsisa64r6* | mips*-img-*) 1581 targ_cflags="$targ_cflags -DMIPS_DEFAULT_R6=1" 1582 ;; 1583esac 1584