1 # config.bfd 2 # 3 # Copyright (C) 2012-2025 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 43 targ_defvec= 44 targ_selvecs= 45 targ64_selvecs= 46 targ_cflags= 47 targ_underscore=no 48 49 # Catch obsolete configurations. 50 case $targ in 51 null) 52 if test "x$enable_obsolete" != xyes; then 53 echo "*** Configuration $targ is obsolete." >&2 54 echo "*** Specify --enable-obsolete to build it anyway." >&2 55 echo "*** Support will be REMOVED in the next major release of BINUTILS," >&2 56 echo "*** unless a maintainer comes forward." >&2 57 exit 1 58 fi;; 59 esac 60 61 # Warn on changed defaulting 62 case $targ in 63 *-*-netbsdelf* | *-*-netbsdaout* | *-*-netbsdpe*) 64 # Explicit, no defaulting 65 ;; 66 ns32k-*-netbsd*) 67 # The obsolete warning below is enough, and ns32k does not have ELF support 68 ;; 69 *-*-netbsd* ) 70 targ_migrated=`echo "$targ" | sed 's/netbsd/netbsdaout/'` 71 echo "*** WARNING: $targ is now defaults to meaning ELF not a.out." >&2 72 echo "*** Use $targ_migrated instead to explicitly specify a.out." >&2 73 ;; 74 esac 75 76 case $targ in 77 mips*-*-irix5* | mips*-*-irix6*) 78 # Not obsolete 79 ;; 80 *-adobe-* | \ 81 *-*-beos* | \ 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 nios2*-*-* | \ 155 ns32k-*-netbsd* | \ 156 openrisc-*-* | \ 157 or32-*-* | \ 158 powerpc-*-lynxos* | powerpc-*-windiss* | \ 159 powerpcle-*-pe | powerpcle-*-winnt* | powerpcle-*-cygwin* | \ 160 sh*-*-netbsdaout* | \ 161 sh*-*-symbianelf* | sh5*-*-* | sh64*-*-* | \ 162 sparc*-*-*aout* | \ 163 sparc*-*-chorus* | \ 164 sparc*-*-coff* | \ 165 sparc-*-lynxos* | \ 166 sparc-*-openbsd[0-2].* | sparc-*-openbsd3.[0-1] | \ 167 tahoe-*-* | \ 168 vax-*-bsd* | vax-*-ultrix* | vax-*-vms* | \ 169 w65-*-* | \ 170 we32k-*-* | \ 171 xc16x-*-* | \ 172 null) 173 echo "*** Configuration $targ is now obsolete" >&2 174 echo "*** and so support for it has been REMOVED." >&2 175 exit 1 176 ;; 177 esac 178 179 targ_cpu=`echo $targ | sed 's/^\([^-]*\)-\([^-]*\)-\(.*\)$/\1/'` 180 case "${targ_cpu}" in 181 aarch64*) targ_archs="bfd_aarch64_arch bfd_arm_arch";; 182 alpha*) targ_archs=bfd_alpha_arch ;; 183 am33_2.0*) targ_archs=bfd_mn10300_arch ;; 184 arc*) targ_archs=bfd_arc_arch ;; 185 arm*) targ_archs=bfd_arm_arch ;; 186 amdgcn*) targ_archs=bfd_amdgcn_arch ;; 187 bfin*) targ_archs=bfd_bfin_arch ;; 188 c30*) targ_archs=bfd_tic30_arch ;; 189 c4x*) targ_archs=bfd_tic4x_arch ;; 190 c54x*) targ_archs=bfd_tic54x_arch ;; 191 cr16*) targ_archs=bfd_cr16_arch ;; 192 crisv32) targ_archs=bfd_cris_arch ;; 193 crx*) targ_archs=bfd_crx_arch ;; 194 csky*) targ_archs=bfd_csky_arch ;; 195 dlx*) targ_archs=bfd_dlx_arch ;; 196 fido*) targ_archs=bfd_m68k_arch ;; 197 hppa*) targ_archs=bfd_hppa_arch ;; 198 i[3-7]86) targ_archs=bfd_i386_arch ;; 199 ia16) targ_archs=bfd_i386_arch ;; 200 kvx) targ_archs=bfd_kvx_arch ;; 201 loongarch*) targ_archs=bfd_loongarch_arch ;; 202 m6811*|m68hc11*) targ_archs="bfd_m68hc11_arch bfd_m68hc12_arch bfd_m9s12x_arch bfd_m9s12xg_arch" ;; 203 m6812*|m68hc12*) targ_archs="bfd_m68hc12_arch bfd_m68hc11_arch bfd_m9s12x_arch bfd_m9s12xg_arch" ;; 204 m68*) targ_archs=bfd_m68k_arch ;; 205 microblaze*) targ_archs=bfd_microblaze_arch ;; 206 mips*) targ_archs=bfd_mips_arch ;; 207 nds32*) targ_archs=bfd_nds32_arch ;; 208 or1k*|or1knd*) targ_archs=bfd_or1k_arch ;; 209 pdp11*) targ_archs=bfd_pdp11_arch ;; 210 pj*) targ_archs="bfd_pj_arch bfd_i386_arch";; 211 powerpc*) targ_archs="bfd_rs6000_arch bfd_powerpc_arch" ;; 212 pru*) targ_archs=bfd_pru_arch ;; 213 riscv*) targ_archs=bfd_riscv_arch ;; 214 rs6000) targ_archs="bfd_rs6000_arch bfd_powerpc_arch" ;; 215 s12z*) targ_archs=bfd_s12z_arch ;; 216 s390*) targ_archs=bfd_s390_arch ;; 217 sh*) targ_archs=bfd_sh_arch ;; 218 sparc*) targ_archs=bfd_sparc_arch ;; 219 spu*) targ_archs=bfd_spu_arch ;; 220 tilegx*) targ_archs=bfd_tilegx_arch ;; 221 tilepro*) targ_archs=bfd_tilepro_arch ;; 222 v850*) targ_archs="bfd_v850_arch bfd_v850_rh850_arch" ;; 223 visium*) targ_archs=bfd_visium_arch ;; 224 x86_64*) targ_archs=bfd_i386_arch ;; 225 xtensa*) targ_archs=bfd_xtensa_arch ;; 226 z80*|r800|z180|gbz80|ez80*) targ_archs=bfd_z80_arch ;; 227 z8k*) targ_archs=bfd_z8k_arch ;; 228 *) targ_archs=bfd_${targ_cpu}_arch ;; 229 esac 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 237 case "${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 ;; 979 mips64*el-*-linux*) 980 targ_defvec=mips_elf32_ntrad_le_vec 981 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" 982 ;; 983 mips64*-*-linux*-gnuabi64) 984 targ_defvec=mips_elf64_trad_be_vec 985 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" 986 ;; 987 mips64*-*-linux*) 988 targ_defvec=mips_elf32_ntrad_be_vec 989 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" 990 ;; 991 mips*el-*-linux*) 992 targ_defvec=mips_elf32_trad_le_vec 993 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" 994 ;; 995 mips*-*-linux*) 996 targ_defvec=mips_elf32_trad_be_vec 997 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" 998 ;; 999 mips64*el-*-freebsd* | mips64*el-*-kfreebsd*-gnu) 1000 # FreeBSD vectors 1001 targ_defvec=mips_elf32_ntradfbsd_le_vec 1002 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" 1003 # Generic vectors 1004 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" 1005 ;; 1006 mips64*-*-freebsd* | mips64*-*-kfreebsd*-gnu) 1007 # FreeBSD vectors 1008 targ_defvec=mips_elf32_ntradfbsd_be_vec 1009 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" 1010 # Generic vectors 1011 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" 1012 ;; 1013 mips*el-*-freebsd* | mips*el-*-kfreebsd*-gnu) 1014 # FreeBSD vectors 1015 targ_defvec=mips_elf32_tradfbsd_le_vec 1016 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" 1017 # Generic vectors 1018 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" 1019 ;; 1020 mips*-*-freebsd* | mips*-*-kfreebsd*-gnu) 1021 # FreeBSD vectors 1022 targ_defvec=mips_elf32_tradfbsd_be_vec 1023 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" 1024 # Generic vectors 1025 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" 1026 ;; 1027 mmix-*-*) 1028 targ_defvec=mmix_elf64_vec 1029 targ_selvecs=mmix_mmo_vec 1030 want64=true 1031 ;; 1032 #endif 1033 mn10200-*-*) 1034 targ_defvec=mn10200_elf32_vec 1035 targ_underscore=yes 1036 ;; 1037 1038 mn10300-*-*) 1039 targ_defvec=mn10300_elf32_vec 1040 targ_underscore=yes 1041 ;; 1042 1043 mt-*-elf) 1044 targ_defvec=mt_elf32_vec 1045 ;; 1046 1047 msp430-*-*) 1048 targ_defvec=msp430_elf32_vec 1049 targ_selvecs=msp430_elf32_ti_vec 1050 ;; 1051 1052 nds32*le-*-linux*) 1053 targ_defvec=nds32_elf32_linux_le_vec 1054 targ_selvecs=nds32_elf32_linux_be_vec 1055 ;; 1056 1057 nds32*be-*-linux*) 1058 targ_defvec=nds32_elf32_linux_be_vec 1059 targ_selvecs=nds32_elf32_linux_le_vec 1060 ;; 1061 1062 nds32*le-*-*) 1063 targ_defvec=nds32_elf32_le_vec 1064 targ_selvecs=nds32_elf32_be_vec 1065 ;; 1066 1067 nds32*be-*-*) 1068 targ_defvec=nds32_elf32_be_vec 1069 targ_selvecs=nds32_elf32_le_vec 1070 ;; 1071 1072 #ifdef BFD64 1073 nfp-*-*) 1074 targ_defvec=nfp_elf64_vec 1075 ;; 1076 #endif 1077 1078 ns32k-pc532-mach* | ns32k-pc532-ux*) 1079 targ_defvec=ns32k_aout_pc532mach_vec 1080 targ_underscore=yes 1081 ;; 1082 ns32k-*-lites* | ns32k-*-*bsd*) 1083 targ_defvec=ns32k_aout_pc532nbsd_vec 1084 targ_underscore=yes 1085 ;; 1086 1087 or1k-*-elf | or1k-*-linux* | or1k-*-rtems* | or1k*-*-netbsd*) 1088 targ_defvec=or1k_elf32_vec 1089 ;; 1090 1091 or1knd-*-elf | or1knd-*-linux* | or1knd-*-rtems*) 1092 targ_defvec=or1k_elf32_vec 1093 ;; 1094 1095 pdp11-*-*) 1096 targ_defvec=pdp11_aout_vec 1097 targ_underscore=yes 1098 ;; 1099 1100 pj-*-*) 1101 targ_defvec=pj_elf32_vec 1102 targ_selvecs="pj_elf32_vec pj_elf32_le_vec" 1103 ;; 1104 1105 pjl-*-*) 1106 targ_defvec=pj_elf32_le_vec 1107 targ_selvecs="pj_elf32_le_vec pj_elf32_vec i386_elf32_vec iamcu_elf32_vec" 1108 ;; 1109 1110 powerpc-*-aix5.[01] | rs6000-*-aix5.[01]) 1111 targ_defvec=rs6000_xcoff_vec 1112 targ_selvecs="rs6000_xcoff64_aix_vec" 1113 want64=true 1114 ;; 1115 powerpc-*-aix[5-9]* | rs6000-*-aix[5-9]*) 1116 targ_cflags=-DAIX_WEAK_SUPPORT 1117 targ_defvec=rs6000_xcoff_vec 1118 targ_selvecs="rs6000_xcoff64_aix_vec" 1119 want64=true 1120 ;; 1121 #ifdef BFD64 1122 powerpc64-*-aix5.[01]) 1123 targ_defvec=rs6000_xcoff64_aix_vec 1124 targ_selvecs="rs6000_xcoff_vec" 1125 want64=true 1126 ;; 1127 powerpc64-*-aix[5-9]*) 1128 targ_cflags=-DAIX_WEAK_SUPPORT 1129 targ_defvec=rs6000_xcoff64_aix_vec 1130 targ_selvecs="rs6000_xcoff_vec" 1131 want64=true 1132 ;; 1133 #endif 1134 1135 powerpc-*-aix* | powerpc-*-beos* | rs6000-*-*) 1136 targ_defvec=rs6000_xcoff_vec 1137 targ64_selvecs=rs6000_xcoff64_vec 1138 case "${targ}" in 1139 *-*-aix4.[3456789]* | *-*-aix[56789]*) 1140 want64=true;; 1141 *) 1142 targ_cflags=-DSMALL_ARCHIVE;; 1143 esac 1144 ;; 1145 #ifdef BFD64 1146 powerpc64-*-aix*) 1147 targ_defvec=rs6000_xcoff64_vec 1148 targ_selvecs=rs6000_xcoff_vec 1149 want64=true 1150 ;; 1151 powerpc64-*-freebsd*) 1152 targ_defvec=powerpc_elf64_fbsd_vec 1153 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" 1154 want64=true 1155 ;; 1156 powerpc64le-*-freebsd*) 1157 targ_defvec=powerpc_elf64_fbsd_le_vec 1158 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" 1159 want64=true 1160 ;; 1161 powerpc64-*-elf* | powerpc-*-elf64* | powerpc64-*-linux* | \ 1162 powerpc64-*-*bsd*) 1163 targ_defvec=powerpc_elf64_vec 1164 targ_selvecs="powerpc_elf64_le_vec powerpc_elf32_vec powerpc_elf32_le_vec rs6000_xcoff_vec rs6000_xcoff64_vec rs6000_xcoff64_aix_vec" 1165 want64=true 1166 ;; 1167 powerpc64le-*-elf* | powerpcle-*-elf64* | powerpc64le-*-linux* | \ 1168 powerpc64le-*-*bsd*) 1169 targ_defvec=powerpc_elf64_le_vec 1170 targ_selvecs="powerpc_elf64_vec powerpc_elf32_le_vec powerpc_elf32_vec rs6000_xcoff_vec rs6000_xcoff64_vec rs6000_xcoff64_aix_vec" 1171 want64=true 1172 ;; 1173 #endif 1174 powerpc-*-*freebsd*) 1175 targ_defvec=powerpc_elf32_fbsd_vec 1176 targ_selvecs="rs6000_xcoff_vec powerpc_elf32_vec powerpc_elf32_le_vec powerpc_boot_vec" 1177 targ64_selvecs="powerpc_elf64_vec powerpc_elf64_le_vec powerpc_elf64_fbsd_vec" 1178 ;; 1179 powerpc-*-*bsd* | powerpc-*-elf* | powerpc-*-sysv4* | powerpc-*-eabi* | \ 1180 powerpc-*-solaris2* | powerpc-*-linux-* | powerpc-*-rtems* | \ 1181 powerpc-*-chorus*) 1182 targ_defvec=powerpc_elf32_vec 1183 targ_selvecs="rs6000_xcoff_vec powerpc_elf32_le_vec powerpc_boot_vec" 1184 targ64_selvecs="powerpc_elf64_vec powerpc_elf64_le_vec" 1185 ;; 1186 powerpc-*-haiku*) 1187 targ_defvec=powerpc_elf32_vec 1188 targ_selvecs="rs6000_xcoff_vec powerpc_elf32_le_vec pef_vec pef_xlib_vec powerpc_xcoff_vec powerpc_boot_vec" 1189 targ_cflags=-D__HAIKU_TARGET__ 1190 ;; 1191 powerpc-*-kaos*) 1192 targ_defvec=powerpc_elf32_vec 1193 targ_selvecs="powerpc_elf32_le_vec powerpc_boot_vec" 1194 targ64_selvecs="powerpc_elf64_vec powerpc_elf64_le_vec" 1195 ;; 1196 powerpc-*-darwin* | powerpc-*-macos10* | powerpc-*-rhapsody*) 1197 targ_defvec=mach_o_be_vec 1198 targ_selvecs="mach_o_be_vec mach_o_le_vec mach_o_fat_vec pef_vec pef_xlib_vec sym_vec" 1199 targ_archs="$targ_archs bfd_i386_arch" 1200 ;; 1201 powerpc-*-macos*) 1202 targ_defvec=powerpc_xcoff_vec 1203 ;; 1204 powerpc-*-nto*) 1205 targ_defvec=powerpc_elf32_vec 1206 targ_selvecs="rs6000_xcoff_vec powerpc_elf32_le_vec powerpc_boot_vec" 1207 ;; 1208 powerpc-*-vxworks*) 1209 targ_defvec=powerpc_elf32_vxworks_vec 1210 targ_selvecs="rs6000_xcoff_vec powerpc_elf32_vec powerpc_elf32_le_vec powerpc_boot_vec" 1211 targ64_selvecs="powerpc_elf64_vec powerpc_elf64_le_vec" 1212 ;; 1213 powerpcle-*-nto*) 1214 targ_defvec=powerpc_elf32_le_vec 1215 targ_selvecs="rs6000_xcoff_vec powerpc_elf32_vec powerpc_boot_vec" 1216 ;; 1217 powerpcle-*-elf* | powerpcle-*-sysv4* | powerpcle-*-eabi* | \ 1218 powerpcle-*-solaris2* | powerpcle-*-linux-* | powerpcle-*-vxworks*) 1219 targ_defvec=powerpc_elf32_le_vec 1220 targ_selvecs="rs6000_xcoff_vec powerpc_elf32_vec powerpc_boot_vec" 1221 targ64_selvecs="powerpc_elf64_vec powerpc_elf64_le_vec" 1222 ;; 1223 1224 pru-*-*) 1225 targ_defvec=pru_elf32_vec 1226 ;; 1227 1228 #ifdef BFD64 1229 riscvbe-*-* | riscv32be*-*-*) 1230 targ_defvec=riscv_elf32_be_vec 1231 targ_selvecs="riscv_elf32_vec riscv_elf64_vec riscv_elf32_be_vec riscv_elf64_be_vec riscv64_pei_vec" 1232 want64=true 1233 ;; 1234 riscv-*-* | riscv32*-*-*) 1235 targ_defvec=riscv_elf32_vec 1236 targ_selvecs="riscv_elf32_vec riscv_elf64_vec riscv_elf32_be_vec riscv_elf64_be_vec riscv64_pei_vec" 1237 want64=true 1238 ;; 1239 riscv64be*-*-*) 1240 targ_defvec=riscv_elf64_be_vec 1241 targ_selvecs="riscv_elf32_vec riscv_elf64_vec riscv_elf32_be_vec riscv_elf64_be_vec riscv64_pei_vec" 1242 want64=true 1243 ;; 1244 riscv64*-*-*) 1245 targ_defvec=riscv_elf64_vec 1246 targ_selvecs="riscv_elf32_vec riscv_elf64_vec riscv_elf32_be_vec riscv_elf64_be_vec riscv64_pei_vec" 1247 want64=true 1248 ;; 1249 #endif 1250 1251 rl78-*-elf) 1252 targ_defvec=rl78_elf32_vec 1253 targ_underscore=yes 1254 ;; 1255 1256 rx-*-elf) 1257 targ_defvec=rx_elf32_le_vec 1258 targ_selvecs="rx_elf32_be_vec rx_elf32_le_vec rx_elf32_be_ns_vec" 1259 targ_underscore=yes 1260 ;; 1261 rx-*-linux*) 1262 targ_defvec=rx_elf32_linux_le_vec 1263 targ_selvecs="rx_elf32_linux_le_vec" 1264 ;; 1265 1266 s390-*-linux*) 1267 targ_defvec=s390_elf32_vec 1268 targ64_selvecs=s390_elf64_vec 1269 want64=true 1270 ;; 1271 #ifdef BFD64 1272 s390x-*-linux*) 1273 targ_defvec=s390_elf64_vec 1274 targ_selvecs=s390_elf32_vec 1275 want64=true 1276 ;; 1277 s390x-*-tpf*) 1278 targ_defvec=s390_elf64_vec 1279 want64=true 1280 ;; 1281 1282 score*-*-elf*) 1283 targ_defvec=score_elf32_be_vec 1284 targ_selvecs=score_elf32_le_vec 1285 ;; 1286 #endif /* BFD64 */ 1287 1288 sh*eb-*-linux*) 1289 targ_defvec=sh_elf32_linux_be_vec 1290 targ_selvecs=sh_elf32_linux_vec 1291 targ_selvecs="${targ_selvecs} sh_elf32_fdpic_le_vec sh_elf32_fdpic_be_vec" 1292 ;; 1293 sh*-*-linux*) 1294 targ_defvec=sh_elf32_linux_vec 1295 targ_selvecs=sh_elf32_linux_be_vec 1296 targ_selvecs="${targ_selvecs} sh_elf32_fdpic_le_vec sh_elf32_fdpic_be_vec" 1297 ;; 1298 1299 sh-*-uclinux* | sh[12]-*-uclinux*) 1300 targ_defvec=sh_elf32_vec 1301 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" 1302 ;; 1303 1304 sh*l*-*-netbsd*) 1305 targ_defvec=sh_elf32_nbsd_le_vec 1306 targ_selvecs="sh_elf32_nbsd_vec sh_coff_vec sh_coff_le_vec" 1307 ;; 1308 sh*-*-netbsd*) 1309 targ_defvec=sh_elf32_nbsd_vec 1310 targ_selvecs="sh_elf32_nbsd_le_vec sh_coff_vec sh_coff_le_vec" 1311 ;; 1312 1313 shl*-*-elf* | sh[1234]l*-*-elf* | sh3el*-*-elf* | shl*-*-kaos*) 1314 targ_defvec=sh_elf32_le_vec 1315 targ_selvecs="sh_elf32_vec sh_coff_le_vec sh_coff_vec sh_coff_small_le_vec sh_coff_small_vec" 1316 targ_underscore=yes 1317 ;; 1318 1319 sh-*-elf* | sh[1234]*-elf* | sh-*-rtems* | sh-*-kaos*) 1320 targ_defvec=sh_elf32_vec 1321 targ_selvecs="sh_elf32_le_vec sh_coff_vec sh_coff_le_vec sh_coff_small_vec sh_coff_small_le_vec" 1322 targ_underscore=yes 1323 ;; 1324 1325 sh-*-nto*) 1326 targ_defvec=sh_elf32_vec 1327 targ_selvecs="sh_elf32_le_vec sh_coff_vec sh_coff_le_vec sh_coff_small_vec sh_coff_small_le_vec" 1328 targ_underscore=yes 1329 ;; 1330 sh*-*-openbsd*) 1331 targ_defvec=sh_elf32_nbsd_le_vec 1332 targ_selvecs="sh_elf32_nbsd_vec sh_coff_vec sh_coff_le_vec" 1333 ;; 1334 sh-*-pe) 1335 targ_defvec=sh_pe_le_vec 1336 targ_selvecs="sh_pe_le_vec sh_pei_le_vec" 1337 targ_underscore=yes 1338 ;; 1339 sh-*-vxworks) 1340 targ_defvec=sh_elf32_vxworks_vec 1341 targ_selvecs="sh_elf32_vxworks_le_vec" 1342 # FIXME None of the following are actually used on this target, but 1343 # they're necessary for coff-sh.c (which is unconditionally used) to be 1344 # compiled correctly. 1345 targ_selvecs="$targ_selvecs sh_coff_vec sh_coff_le_vec sh_coff_small_vec sh_coff_small_le_vec" 1346 targ_underscore=yes 1347 ;; 1348 sh-*-*) 1349 targ_defvec=sh_coff_vec 1350 targ_selvecs="sh_coff_vec sh_coff_le_vec sh_coff_small_vec sh_coff_small_le_vec" 1351 targ_underscore=yes 1352 ;; 1353 1354 sparc-*-netbsd*) 1355 targ_defvec=sparc_elf32_vec 1356 want64=true 1357 ;; 1358 sparc-*-solaris2.[0-6] | sparc-*-solaris2.[0-6].*) 1359 # PR 27666: Do not include sparc_elf32_vec here. 1360 targ_defvec=sparc_elf32_sol2_vec 1361 ;; 1362 #ifdef BFD64 1363 sparc-*-solaris2* | sparcv9-*-solaris2* | sparc64-*-solaris2*) 1364 # PR 27666: Do not include sparc_elf32_vec or sparc_elf64_vec here. 1365 targ_defvec=sparc_elf32_sol2_vec 1366 targ_selvecs="sparc_elf64_sol2_vec" 1367 want64=true 1368 ;; 1369 sparc64-*-haiku*) 1370 targ_defvec=sparc_elf64_vec 1371 targ_selvecs="sparc_elf64_vec sparc_elf32_vec" 1372 want64=true 1373 ;; 1374 sparc64-*-freebsd* | sparc64-*-kfreebsd*-gnu) 1375 targ_defvec=sparc_elf64_fbsd_vec 1376 targ_selvecs="sparc_elf64_vec sparc_elf32_vec" 1377 ;; 1378 sparc64*-*-*) 1379 targ_defvec=sparc_elf64_vec 1380 targ_selvecs="sparc_elf32_vec" 1381 want64=true 1382 ;; 1383 #endif 1384 sparc-*-linux-* | sparcv*-*-linux-*) 1385 targ_defvec=sparc_elf32_vec 1386 targ_selvecs="sparc_elf64_vec" 1387 ;; 1388 sparc-*-vxworks*) 1389 targ_defvec=sparc_elf32_vxworks_vec 1390 targ_selvecs="sparc_elf32_vec" 1391 ;; 1392 sparc*-*-*) 1393 targ_defvec=sparc_elf32_vec 1394 ;; 1395 1396 spu-*-elf) 1397 targ_defvec=spu_elf32_vec 1398 want64=true 1399 ;; 1400 1401 tic6x-*-elf) 1402 targ_defvec=tic6x_elf32_c6000_le_vec 1403 targ_selvecs="tic6x_elf32_c6000_be_vec tic6x_elf32_le_vec tic6x_elf32_be_vec" 1404 ;; 1405 1406 tic6x-*-uclinux) 1407 targ_defvec=tic6x_elf32_linux_le_vec 1408 targ_selvecs="tic6x_elf32_linux_be_vec tic6x_elf32_le_vec tic6x_elf32_be_vec" 1409 ;; 1410 1411 #ifdef BFD64 1412 tilegx-*-*) 1413 targ_defvec=tilegx_elf64_le_vec 1414 targ_selvecs="tilegx_elf64_be_vec tilegx_elf32_be_vec tilegx_elf32_le_vec" 1415 ;; 1416 tilegxbe-*-*) 1417 targ_defvec=tilegx_elf64_be_vec 1418 targ_selvecs="tilegx_elf64_le_vec tilegx_elf32_be_vec tilegx_elf32_le_vec" 1419 ;; 1420 #endif 1421 1422 tilepro-*-*) 1423 targ_defvec=tilepro_elf32_vec 1424 ;; 1425 1426 ft32*-*-*) 1427 targ_defvec=ft32_elf32_vec 1428 ;; 1429 1430 v850*-*-*) 1431 targ_defvec=v850_elf32_vec 1432 targ_selvecs="v800_elf32_vec" 1433 targ_underscore=yes 1434 ;; 1435 1436 vax-*-netbsdaout*) 1437 targ_defvec=vax_aout_nbsd_vec 1438 targ_selvecs="vax_elf32_vec vax_aout_1knbsd_vec" 1439 targ_underscore=yes 1440 ;; 1441 1442 vax-*-netbsd*) 1443 targ_defvec=vax_elf32_vec 1444 targ_selvecs="vax_aout_nbsd_vec vax_aout_1knbsd_vec" 1445 ;; 1446 1447 vax-*-openbsd*) 1448 targ_defvec=vax_aout_nbsd_vec 1449 targ_underscore=yes 1450 ;; 1451 1452 vax-*-linux-*) 1453 targ_defvec=vax_elf32_vec 1454 ;; 1455 1456 visium-*-elf) 1457 targ_defvec=visium_elf32_vec 1458 ;; 1459 1460 wasm32-*-*) 1461 targ_defvec=wasm32_elf32_vec 1462 targ_selvecs="wasm_vec" 1463 ;; 1464 1465 xgate-*-*) 1466 targ_defvec=xgate_elf32_vec 1467 targ_selvecs="xgate_elf32_vec" 1468 ;; 1469 1470 xstormy16-*-elf) 1471 targ_defvec=xstormy16_elf32_vec 1472 ;; 1473 1474 xtensa*-*-*) 1475 targ_defvec=xtensa_elf32_le_vec 1476 targ_selvecs=xtensa_elf32_be_vec 1477 ;; 1478 1479 z80-*-coff) 1480 targ_defvec=z80_coff_vec 1481 targ_underscore=no 1482 ;; 1483 1484 z80-*-elf) 1485 targ_defvec=z80_elf32_vec 1486 targ_underscore=no 1487 ;; 1488 1489 z8k*-*-*) 1490 targ_defvec=z8k_coff_vec 1491 targ_underscore=yes 1492 ;; 1493 1494 #ifdef BFD64 1495 loongarch32-*) 1496 targ_defvec=loongarch_elf32_vec 1497 targ_selvecs="loongarch_elf32_vec" 1498 want64=true 1499 ;; 1500 1501 loongarch64-*) 1502 targ_defvec=loongarch_elf64_vec 1503 targ_selvecs="loongarch_elf32_vec loongarch_elf64_vec loongarch64_pei_vec" 1504 want64=true 1505 ;; 1506 #endif 1507 1508 # END OF targmatch.h 1509 bpf-*-*) 1510 echo "*** Configuration $targ is not fully supported." >&2 1511 echo "*** Use bpf or bpf-*-none as the target instead." >&2 1512 exit 1 1513 ;; 1514 1515 *) 1516 echo 1>&2 "*** BFD does not support target ${targ}." 1517 echo 1>&2 "*** Look in bfd/config.bfd for supported targets." 1518 exit 1 1519 ;; 1520 esac 1521 1522 # All MIPS ELF targets need a 64-bit bfd_vma. 1523 case "${targ_defvec} ${targ_selvecs}" in 1524 *mips_elf*) 1525 want64=true 1526 ;; 1527 esac 1528 1529 # vax natively supports 64-bit integers. 1530 case "${targ_defvec} ${targ_selvecs}" in 1531 *vax*) 1532 want64=true 1533 ;; 1534 esac 1535 1536 case "${host64}${want64}" in 1537 *true*) 1538 targ_selvecs="${targ_selvecs} ${targ64_selvecs}" 1539 ;; 1540 esac 1541 1542 # If we support any ELF target, then automatically add support for the 1543 # generic ELF targets. This permits an objdump with some ELF support 1544 # to be used on an arbitrary ELF file for anything other than 1545 # relocation information. 1546 case "${targ_defvec} ${targ_selvecs}" in 1547 *elf64* | *mips_elf32_n*) 1548 targ_selvecs="${targ_selvecs} elf64_le_vec elf64_be_vec elf32_le_vec elf32_be_vec" 1549 ;; 1550 *elf32*) 1551 targ_selvecs="${targ_selvecs} elf32_le_vec elf32_be_vec" 1552 ;; 1553 esac 1554 1555 # If we support Intel MCU target, then add support for bfd_iamcu_arch. 1556 case "${targ_defvec} ${targ_selvecs}" in 1557 *iamcu_elf32*) 1558 targ_archs="$targ_archs bfd_iamcu_arch" 1559 ;; 1560 esac 1561 1562 case "${targ}" in 1563 mipsisa32r6* | mipsisa64r6* | mips*-img-*) 1564 targ_cflags="$targ_cflags -DMIPS_DEFAULT_R6=1" 1565 ;; 1566 esac 1567