1# config.bfd 2# Convert a canonical host type into a BFD host type. 3# Set shell variable targ to canonical target name, and run 4# using ``. config.bfd''. 5# Sets the following shell variables: 6# targ_defvec Default vector for this target 7# targ_selvecs Vectors to build for this target 8# targ64_selvecs Vectors to build if --enable-64-bit-bfd is given 9# or if host is 64 bit. 10# targ_archs Architectures for this target 11# targ_cflags $(CFLAGS) for this target (FIXME: pretty bogus) 12# targ_underscore Whether underscores are used: yes or no 13 14# Part of this file is processed by targmatch.sed to generate the 15# targmatch.h file. The #ifdef and #endif lines that appear below are 16# copied directly into targmatch.h. 17 18# The binutils c++filt program wants to know whether underscores are 19# stripped or not. That is why we set targ_underscore. c++filt uses 20# this information to choose a default. This information is 21# duplicated in the symbol_leading_char field of the BFD target 22# vector, but c++filt does not deal with object files and is not 23# linked against libbfd.a. It is not terribly important that c++filt 24# get this right; it is just convenient. 25 26targ_defvec= 27targ_selvecs= 28targ64_selvecs= 29targ_cflags= 30targ_underscore=no 31 32# Catch obsolete configurations. 33case $targ in 34 m68*-apple-aux* | \ 35 m68*-apollo-* | \ 36 m68*-bull-sysv* | \ 37 m68*-*-rtemscoff* | \ 38 i960-*-rtems* | \ 39 or32-*-rtems* | \ 40 null) 41 if test "x$enable_obsolete" != xyes; then 42 echo "*** Configuration $targ is obsolete." >&2 43 echo "*** Specify --enable-obsolete to build it anyway." >&2 44 echo "*** Support will be REMOVED in the next major release of BINUTILS," >&2 45 echo "*** unless a maintainer comes forward." >&2 46 exit 1 47 fi;; 48esac 49 50case $targ in 51 m68*-*-lynxos* | \ 52 sparc-*-lynxos* | \ 53 vax-*-vms* | \ 54 arm-*-oabi | \ 55 thumb-*-oabi | \ 56 a29k-* | \ 57 hppa*-*-rtems* | \ 58 *-go32-rtems* | \ 59 i[3-7]86*-*-rtemscoff* | \ 60 mips*el-*-rtems* | \ 61 powerpcle-*-rtems* | \ 62 sparc*-*-rtemsaout* | \ 63 null) 64 echo "*** Configuration $targ is obsolete." >&2 65 echo "*** Support has been REMOVED." >&2 66 exit 1 67 ;; 68esac 69 70targ_cpu=`echo $targ | sed 's/^\([^-]*\)-\([^-]*\)-\(.*\)$/\1/'` 71case "${targ_cpu}" in 72aarch64) targ_archs=bfd_aarch64_arch ;; 73alpha*) targ_archs=bfd_alpha_arch ;; 74arm*) targ_archs=bfd_arm_arch ;; 75bfin*) targ_archs=bfd_bfin_arch ;; 76c30*) targ_archs=bfd_tic30_arch ;; 77c4x*) targ_archs=bfd_tic4x_arch ;; 78c54x*) targ_archs=bfd_tic54x_arch ;; 79crisv32) targ_archs=bfd_cris_arch ;; 80crx*) targ_archs=bfd_crx_arch ;; 81dlx*) targ_archs=bfd_dlx_arch ;; 82hppa*) targ_archs=bfd_hppa_arch ;; 83i[3-7]86) targ_archs=bfd_i386_arch ;; 84i370) targ_archs=bfd_i370_arch ;; 85m6811*|m68hc11*) targ_archs="bfd_m68hc11_arch bfd_m68hc12_arch" ;; 86m6812*|m68hc12*) targ_archs="bfd_m68hc12_arch bfd_m68hc11_arch" ;; 87m68*) targ_archs=bfd_m68k_arch ;; 88m88*) targ_archs=bfd_m88k_arch ;; 89maxq*) targ_archs=bfd_maxq_arch ;; 90mips*) targ_archs=bfd_mips_arch ;; 91or32*) targ_archs=bfd_or32_arch ;; 92pdp11*) targ_archs=bfd_pdp11_arch ;; 93pj*) targ_archs="bfd_pj_arch bfd_i386_arch";; 94powerpc*) targ_archs="bfd_rs6000_arch bfd_powerpc_arch" ;; 95riscv64) targ_archs=bfd_riscv64_arch ;; 96rs6000) targ_archs="bfd_rs6000_arch bfd_powerpc_arch" ;; 97s390*) targ_archs=bfd_s390_arch ;; 98sh*) targ_archs=bfd_sh_arch ;; 99sparc*) targ_archs=bfd_sparc_arch ;; 100strongarm*) targ_archs=bfd_arm_arch ;; 101thumb*) targ_archs=bfd_arm_arch ;; 102v850*) targ_archs=bfd_v850_arch ;; 103x86_64) targ_archs=bfd_i386_arch ;; 104xscale*) targ_archs=bfd_arm_arch ;; 105xtensa*) targ_archs=bfd_xtensa_arch ;; 106z80|r800) targ_archs=bfd_z80_arch ;; 107z8k*) targ_archs=bfd_z8k_arch ;; 108am33_2.0) targ_archs=bfd_mn10300_arch ;; 109*) targ_archs=bfd_${targ_cpu}_arch ;; 110esac 111 112 113# WHEN ADDING ENTRIES TO THIS MATRIX: 114# Make sure that the left side always has two dashes. Otherwise you 115# can get spurious matches. Even for unambiguous cases, do this as a 116# convention, else the table becomes a real mess to understand and maintain. 117# 118# Keep obsolete entries above the START comment, to keep them out of 119# targmatch.h. 120 121case "${targ}" in 122 mips*-dec-bsd*) 123 echo "This target is obsolete and has been removed." 124 exit 1 125 ;; 126 127 mips*-*-mach3*) 128 echo "This target is obsolete and has been removed." 129 exit 1 130 ;; 131 132 mips*-*-pe*) 133 echo "This target is obsolete and has been removed." 134 exit 1 135 ;; 136 137# START OF targmatch.h 138#ifdef BFD64 139 aarch64-*-openbsd*) 140 targ_defvec=bfd_elf64_aarch64_vec 141 ;; 142 143 alpha*-*-freebsd* | alpha*-*-kfreebsd*-gnu) 144 targ_defvec=bfd_elf64_alpha_freebsd_vec 145 targ_selvecs=ecoffalpha_little_vec 146 # FreeBSD <= 4.0 supports only the old nonstandard way of ABI labelling. 147 case "${targ}" in 148 alpha*-*-freebsd3* | alpha*-*-freebsd4 | alpha*-*-freebsd4.0*) 149 targ_cflags=-DOLD_FREEBSD_ABI_LABEL ;; 150 esac 151 ;; 152 alpha*-*-netbsd* | alpha*-*-openbsd*) 153 targ_defvec=bfd_elf64_alpha_vec 154 targ_selvecs=ecoffalpha_little_vec 155 ;; 156 alpha*-*-netware*) 157 targ_defvec=ecoffalpha_little_vec 158 targ_selvecs=nlm32_alpha_vec 159 ;; 160 alpha*-*-linuxecoff*) 161 targ_defvec=ecoffalpha_little_vec 162 targ_selvecs=bfd_elf64_alpha_vec 163 ;; 164 alpha*-*-linux-* | alpha*-*-elf*) 165 targ_defvec=bfd_elf64_alpha_vec 166 targ_selvecs=ecoffalpha_little_vec 167 ;; 168 alpha*-*-*vms*) 169 targ_defvec=vms_alpha_vec 170 ;; 171 alpha*-*-*) 172 targ_defvec=ecoffalpha_little_vec 173 ;; 174 ia64*-*-freebsd* | ia64*-*-netbsd* | ia64*-*-linux-* | ia64*-*-elf* | ia64*-*-kfreebsd*-gnu | ia64*-*-openbsd*) 175 targ_defvec=bfd_elf64_ia64_little_vec 176 targ_selvecs="bfd_elf64_ia64_big_vec bfd_efi_app_ia64_vec" 177 ;; 178 ia64*-*-hpux*) 179 targ_defvec=bfd_elf32_ia64_hpux_big_vec 180 targ_selvecs="bfd_elf64_ia64_hpux_big_vec" 181 ;; 182 riscv64-*-openbsd*) 183 targ_defvec=bfd_elf64_riscv_vec 184 ;; 185 sparc64-*-freebsd* | sparc64-*-netbsd* | sparc64-*-openbsd* | sparc64-*-kfreebsd*-gnu) 186 targ_defvec=bfd_elf64_sparc_vec 187 targ_selvecs="bfd_elf32_sparc_vec sunos_big_vec" 188 ;; 189#endif /* BFD64 */ 190 191 am33_2.0-*-linux*) 192 targ_defvec=bfd_elf32_am33lin_vec 193 ;; 194 arc-*-elf*) 195 targ_defvec=bfd_elf32_littlearc_vec 196 targ_selvecs=bfd_elf32_bigarc_vec 197 ;; 198 199 armeb-*-netbsdelf*) 200 targ_defvec=bfd_elf32_bigarm_vec 201 targ_selvecs="bfd_elf32_littlearm_vec armnetbsd_vec" 202 ;; 203 arm-*-netbsdelf*) 204 targ_defvec=bfd_elf32_littlearm_vec 205 targ_selvecs="bfd_elf32_bigarm_vec armnetbsd_vec" 206 ;; 207 arm-*-netbsd* | arm-*-openbsd*) 208 targ_defvec=armnetbsd_vec 209 targ_selvecs="bfd_elf32_littlearm_vec bfd_elf32_bigarm_vec" 210 targ_underscore=yes 211 targ_cflags=-D__QNXTARGET__ 212 ;; 213 arm-*-nto* | nto*arm*) 214 targ_defvec=bfd_elf32_littlearm_vec 215 targ_selvecs=bfd_elf32_bigarm_vec 216 ;; 217 arm-*-riscix*) 218 targ_defvec=riscix_vec 219 ;; 220 arm-epoc-pe*) 221 targ_defvec=arm_epoc_pe_little_vec 222 targ_selvecs="arm_epoc_pe_little_vec arm_epoc_pe_big_vec arm_epoc_pei_little_vec arm_epoc_pei_big_vec" 223 targ_underscore=no 224 targ_cflags=-DARM_COFF_BUGFIX 225 ;; 226 arm-wince-pe | arm-*-wince) 227 targ_defvec=armpe_little_vec 228 targ_selvecs="armpe_little_vec armpe_big_vec armpei_little_vec armpei_big_vec" 229 targ_underscore=no 230 targ_cflags="-DARM_WINCE -DARM_COFF_BUGFIX" 231 ;; 232 arm-*-pe*) 233 targ_defvec=armpe_little_vec 234 targ_selvecs="armpe_little_vec armpe_big_vec armpei_little_vec armpei_big_vec" 235 targ_underscore=yes 236 ;; 237 arm-*-aout | armel-*-aout) 238 targ_defvec=aout_arm_little_vec 239 targ_selvecs=aout_arm_big_vec 240 ;; 241 armeb-*-aout) 242 targ_defvec=aout_arm_big_vec 243 targ_selvecs=aout_arm_little_vec 244 ;; 245 arm-*-coff) 246 targ_defvec=armcoff_little_vec 247 targ_selvecs=armcoff_big_vec 248 targ_underscore=yes 249 ;; 250 arm-*-rtems*) 251 targ_defvec=bfd_elf32_littlearm_vec 252 targ_selvecs=bfd_elf32_bigarm_vec 253 ;; 254 armeb-*-elf | arm*b-*-linux-* | armeb-*-openbsd*) 255 targ_defvec=bfd_elf32_bigarm_vec 256 targ_selvecs=bfd_elf32_littlearm_vec 257 ;; 258 arm-*-kaos* | strongarm-*-kaos*) 259 targ_defvec=bfd_elf32_littlearm_vec 260 targ_selvecs=bfd_elf32_bigarm_vec 261 ;; 262 arm-*-elf | arm-*-freebsd* | arm*-*-linux-* | arm*-*-conix* | \ 263 arm*-*-uclinux* | arm-*-kfreebsd*-gnu | arm-*-openbsd* | \ 264 arm*-*-eabi* ) 265 targ_defvec=bfd_elf32_littlearm_vec 266 targ_selvecs=bfd_elf32_bigarm_vec 267 ;; 268 arm*-*-vxworks | arm*-*-windiss) 269 targ_defvec=bfd_elf32_littlearm_vxworks_vec 270 targ_selvecs=bfd_elf32_bigarm_vxworks_vec 271 ;; 272 arm*-*-symbianelf*) 273 targ_defvec=bfd_elf32_littlearm_symbian_vec 274 targ_selvecs=bfd_elf32_bigarm_symbian_vec 275 ;; 276 arm9e-*-elf) 277 targ_defvec=bfd_elf32_littlearm_vec 278 targ_selvecs=bfd_elf32_bigarm_vec 279 ;; 280 281 thumb-*-coff) 282 targ_defvec=armcoff_little_vec 283 targ_selvecs=armcoff_big_vec 284 targ_underscore=yes 285 ;; 286 thumb-*-elf) 287 targ_defvec=bfd_elf32_littlearm_vec 288 targ_selvecs=bfd_elf32_bigarm_vec 289 ;; 290 thumb-epoc-pe*) 291 targ_defvec=arm_epoc_pe_little_vec 292 targ_selvecs="arm_epoc_pe_little_vec arm_epoc_pe_big_vec arm_epoc_pei_little_vec arm_epoc_pei_big_vec" 293 targ_underscore=no 294 ;; 295 thumb-*-pe*) 296 targ_defvec=armpe_little_vec 297 targ_selvecs="armpe_little_vec armpe_big_vec armpei_little_vec armpei_big_vec" 298 targ_underscore=yes 299 ;; 300 strongarm-*-elf) 301 targ_defvec=bfd_elf32_littlearm_vec 302 targ_selvecs=bfd_elf32_bigarm_vec 303 ;; 304 strongarm-*-coff) 305 targ_defvec=armcoff_little_vec 306 targ_selvecs=armcoff_big_vec 307 targ_underscore=yes 308 ;; 309 xscale-*-elf) 310 targ_defvec=bfd_elf32_littlearm_vec 311 targ_selvecs=bfd_elf32_bigarm_vec 312 ;; 313 xscale-*-coff) 314 targ_defvec=armcoff_little_vec 315 targ_selvecs=armcoff_big_vec 316 targ_underscore=yes 317 ;; 318 319 avr-*-*) 320 targ_defvec=bfd_elf32_avr_vec 321 ;; 322 323 bfin-*-*) 324 targ_defvec=bfd_elf32_bfin_vec 325 targ_selvecs=bfd_elf32_bfinfdpic_vec 326 targ_underscore=yes 327 ;; 328 329 c30-*-*aout* | tic30-*-*aout*) 330 targ_defvec=tic30_aout_vec 331 ;; 332 c30-*-*coff* | tic30-*-*coff*) 333 targ_defvec=tic30_coff_vec 334 ;; 335 336 c4x-*-*coff* | tic4x-*-*coff* | tic4x-*-rtems*) 337 targ_defvec=tic4x_coff1_vec 338 targ_selvecs="tic4x_coff1_beh_vec tic4x_coff2_vec tic4x_coff2_beh_vec tic4x_coff0_vec tic4x_coff0_beh_vec" 339 targ_underscore=yes 340 ;; 341 342 c54x*-*-*coff* | tic54x-*-*coff*) 343 targ_defvec=tic54x_coff1_vec 344 targ_selvecs="tic54x_coff1_beh_vec tic54x_coff2_vec tic54x_coff2_beh_vec tic54x_coff0_vec tic54x_coff0_beh_vec" 345 targ_underscore=yes 346 ;; 347 348 cr16c-*-elf*) 349 targ_defvec=bfd_elf32_cr16c_vec 350 targ_underscore=yes 351 ;; 352 353 cris-*-* | crisv32-*-*) 354 targ_defvec=cris_aout_vec 355 targ_selvecs="bfd_elf32_us_cris_vec bfd_elf32_cris_vec ieee_vec" 356 targ_underscore=yes # Note: not true for bfd_elf32_cris_vec. 357 ;; 358 359 crx-*-elf*) 360 targ_defvec=bfd_elf32_crx_vec 361 targ_underscore=yes 362 ;; 363 364 d10v-*-*) 365 targ_defvec=bfd_elf32_d10v_vec 366 ;; 367 368 dlx-*-elf*) 369 targ_defvec=bfd_elf32_dlx_big_vec 370 targ_selvecs="bfd_elf32_dlx_big_vec" 371 ;; 372 373 d30v-*-*) 374 targ_defvec=bfd_elf32_d30v_vec 375 ;; 376 377 fr30-*-elf) 378 targ_defvec=bfd_elf32_fr30_vec 379 ;; 380 381 frv-*-elf) 382 targ_defvec=bfd_elf32_frv_vec 383 targ_selvecs=bfd_elf32_frvfdpic_vec 384 ;; 385 386 frv-*-*linux*) 387 targ_defvec=bfd_elf32_frvfdpic_vec 388 targ_selvecs=bfd_elf32_frv_vec 389 ;; 390 391 h8300*-*-rtemscoff*) 392 targ_defvec=h8300coff_vec 393 targ_underscore=yes 394 ;; 395 396 h8300*-*-elf | h8300*-*-rtems*) 397 targ_defvec=bfd_elf32_h8300_vec 398 targ_underscore=yes 399 ;; 400 401 h8300*-*-*) 402 targ_defvec=h8300coff_vec 403 targ_underscore=yes 404 ;; 405 406 h8500-*-*) 407 targ_defvec=h8500coff_vec 408 targ_underscore=yes 409 ;; 410 411#ifdef BFD64 412 hppa*64*-*-linux-*) 413 targ_defvec=bfd_elf64_hppa_linux_vec 414 targ_selvecs=bfd_elf64_hppa_vec 415 ;; 416 hppa*64*-*-hpux11*) 417 targ_defvec=bfd_elf64_hppa_vec 418 targ_selvecs=bfd_elf64_hppa_linux_vec 419 targ_cflags=-DHPUX_LARGE_AR_IDS 420 ;; 421 hppa*64*-*-openbsd*) 422 targ_defvec=bfd_elf64_hppa_vec 423 targ_selvecs=bfd_elf64_hppa_linux_vec 424 ;; 425#endif 426 427 hppa*-*-linux-*) 428 targ_defvec=bfd_elf32_hppa_linux_vec 429 targ_selvecs=bfd_elf32_hppa_vec 430 ;; 431 hppa*-*-netbsd*) 432 targ_defvec=bfd_elf32_hppa_nbsd_vec 433 targ_selvecs="bfd_elf32_hppa_vec bfd_elf32_hppa_linux_vec" 434 ;; 435 hppa*-*-*elf* | hppa*-*-lites* | hppa*-*-sysv4* | hppa*-*-openbsd*) 436 targ_defvec=bfd_elf32_hppa_vec 437 targ_selvecs=bfd_elf32_hppa_linux_vec 438 ;; 439 440#if defined (HOST_HPPAHPUX) || defined (HOST_HPPABSD) || defined (HOST_HPPAOSF) || defined (HOST_HPPAMPEIX) 441 hppa*-*-bsd*) 442 targ_defvec=som_vec 443 targ_selvecs=bfd_elf32_hppa_vec 444 ;; 445 hppa*-*-hpux* | hppa*-*-hiux* | hppa*-*-mpeix*) 446 targ_defvec=som_vec 447 ;; 448 hppa*-*-osf*) 449 targ_defvec=som_vec 450 targ_selvecs=bfd_elf32_hppa_vec 451 ;; 452#endif /* defined (HOST_HPPAHPUX) || defined (HOST_HPPABSD) || defined (HOST_HPPAOSF) */ 453 454 i370-*-*) 455 targ_defvec=bfd_elf32_i370_vec 456 targ_selvecs="bfd_elf32_i370_vec" 457 ;; 458 i[3-7]86-*-sco3.2v5*coff) 459 targ_defvec=i386coff_vec 460 targ_selvecs=bfd_elf32_i386_vec 461 ;; 462 i[3-7]86-*-sysv4* | i[3-7]86-*-unixware* | \ 463 i[3-7]86-*-elf | i[3-7]86-*-sco3.2v5* | \ 464 i[3-7]86-*-dgux* | i[3-7]86-*-sysv5*) 465 targ_defvec=bfd_elf32_i386_vec 466 targ_selvecs=i386coff_vec 467 ;; 468 i[3-7]86-*-solaris2*) 469 targ_defvec=bfd_elf32_i386_vec 470 targ_selvecs=i386coff_vec 471 targ64_selvecs=bfd_elf64_x86_64_vec 472 want64=true 473 ;; 474 i[3-7]86-*-kaos*) 475 targ_defvec=bfd_elf32_i386_vec 476 targ_selvecs=bfd_elf32_i386_vec 477 ;; 478 i[3-7]86-*-nto*) 479 targ_defvec=bfd_elf32_i386_vec 480 targ_selvecs=i386coff_vec 481 ;; 482 i[3-7]86-*-aros*) 483 targ_defvec=bfd_elf32_i386_vec 484 ;; 485 i[3-7]86-*-chorus*) 486 targ_defvec=bfd_elf32_i386_vec 487 ;; 488 *-*-msdosdjgpp* | *-*-go32* ) 489 targ_defvec=go32coff_vec 490 targ_selvecs="go32stubbedcoff_vec i386aout_vec" 491 ;; 492 i[3-7]86-*-sysv* | i[3-7]86-*-isc* | i[3-7]86-*-sco* | i[3-7]86-*-coff | \ 493 i[3-7]86-*-aix*) 494 targ_defvec=i386coff_vec 495 ;; 496 i[3-7]86-*-rtems*) 497 targ_defvec=bfd_elf32_i386_vec 498 targ_selvecs="i386coff_vec i386aout_vec" 499 ;; 500 i[3-7]86-*-darwin* | i[3-7]86-*-macos10* | i[3-7]86-*-rhapsody*) 501 targ_defvec=mach_o_le_vec 502 targ_selvecs="mach_o_le_vec mach_o_be_vec mach_o_fat_vec pef_vec pef_xlib_vec sym_vec" 503 targ_archs="bfd_i386_arch bfd_powerpc_arch bfd_rs6000_arch" 504 ;; 505 i[3-7]86-sequent-bsd*) 506 targ_defvec=i386dynix_vec 507 targ_underscore=yes 508 ;; 509 i[3-7]86-*-bsd*) 510 targ_defvec=i386bsd_vec 511 targ_underscore=yes 512 ;; 513 i[3-7]86-*-freebsdaout* | i[3-7]86-*-freebsd[12].* | \ 514 i[3-7]86-*-freebsd[12]) 515 targ_defvec=i386freebsd_vec 516 targ_selvecs=i386bsd_vec 517 targ_underscore=yes 518 ;; 519 i[3-7]86-*-freebsd* | i[3-7]86-*-kfreebsd*-gnu) 520 targ_defvec=bfd_elf32_i386_freebsd_vec 521 targ_selvecs=i386coff_vec 522 # FreeBSD <= 4.0 supports only the old nonstandard way of ABI labelling. 523 case "${targ}" in 524 i[3-7]86-*-freebsd3* | i[3-7]86-*-freebsd4 | i[3-7]86-*-freebsd4.0*) 525 targ_cflags=-DOLD_FREEBSD_ABI_LABEL ;; 526 esac 527 ;; 528 i[3-7]86-*-netbsdelf* | i[3-7]86-*-netbsd*-gnu* | i[3-7]86-*-knetbsd*-gnu) 529 targ_defvec=bfd_elf32_i386_vec 530 targ_selvecs=i386netbsd_vec 531 targ64_selvecs=bfd_elf64_x86_64_vec 532 ;; 533 i[3-7]86-*-netbsdpe*) 534 targ_defvec=i386pe_vec 535 targ_selvecs="i386pe_vec i386pei_vec bfd_elf32_i386_vec" 536 ;; 537 i[3-7]86-*-netbsdaout* | i[3-7]86-*-netbsd* | \ 538 i[3-7]86-*-openbsd[0-2].* | i[3-7]86-*-openbsd3.[0-3]) 539 targ_defvec=i386netbsd_vec 540 targ_selvecs="bfd_elf32_i386_vec i386bsd_vec" 541 targ_underscore=yes 542 ;; 543 i[3-7]86-*-openbsd*) 544 targ_defvec=bfd_elf32_i386_vec 545 targ_selvecs="i386netbsd_vec bfd_efi_app_ia32_vec" 546 targ64_selvecs=bfd_elf64_x86_64_vec 547 ;; 548 i[3-7]86-*-netware*) 549 targ_defvec=bfd_elf32_i386_vec 550 targ_selvecs="nlm32_i386_vec i386coff_vec i386aout_vec" 551 ;; 552 i[3-7]86-*-linux*aout*) 553 targ_defvec=i386linux_vec 554 targ_selvecs=bfd_elf32_i386_vec 555 targ_underscore=yes 556 ;; 557 i[3-7]86-*-linux-*) 558 targ_defvec=bfd_elf32_i386_vec 559 targ_selvecs="i386linux_vec bfd_efi_app_ia32_vec" 560 targ64_selvecs=bfd_elf64_x86_64_vec 561 ;; 562#ifdef BFD64 563 x86_64-*-elf*) 564 targ_defvec=bfd_elf64_x86_64_vec 565 targ_selvecs="bfd_elf32_i386_vec i386coff_vec" 566 ;; 567 x86_64-*-freebsd* | x86_64-*-kfreebsd*-gnu) 568 targ_defvec=bfd_elf64_x86_64_vec 569 targ_selvecs="bfd_elf32_i386_vec i386coff_vec bfd_efi_app_ia32_vec" 570 ;; 571 x86_64-*-netbsd*) 572 targ_defvec=bfd_elf64_x86_64_vec 573 targ_selvecs="bfd_elf32_i386_vec i386netbsd_vec i386coff_vec bfd_efi_app_ia32_vec" 574 ;; 575 x86_64-*-openbsd*) 576 targ_defvec=bfd_elf64_x86_64_vec 577 targ_selvecs="bfd_elf32_i386_vec i386coff_vec bfd_efi_app_ia32_vec bfd_efi_app_x86_64_vec" 578 ;; 579 x86_64-*-linux-*) 580 targ_defvec=bfd_elf64_x86_64_vec 581 targ_selvecs="bfd_elf32_i386_vec i386linux_vec bfd_efi_app_ia32_vec" 582 ;; 583#endif 584 i[3-7]86-*-lynxos*) 585 targ_defvec=bfd_elf32_i386_vec 586 targ_selvecs="i386lynx_coff_vec i386lynx_aout_vec" 587 ;; 588 i[3-7]86-*-gnu*) 589 targ_defvec=bfd_elf32_i386_vec 590 ;; 591 i[3-7]86-*-mach* | i[3-7]86-*-osf1mk*) 592 targ_defvec=i386mach3_vec 593 targ_cflags=-DSTAT_FOR_EXEC 594 targ_underscore=yes 595 ;; 596 i[3-7]86-*-os9k) 597 targ_defvec=i386os9k_vec 598 ;; 599 i[3-7]86-*-msdos*) 600 targ_defvec=i386aout_vec 601 targ_selvecs=i386msdos_vec 602 ;; 603 i[3-7]86-*-moss*) 604 targ_defvec=bfd_elf32_i386_vec 605 targ_selvecs="i386msdos_vec i386aout_vec" 606 ;; 607 i[3-7]86-*-beospe*) 608 targ_defvec=i386pe_vec 609 targ_selvecs="i386pe_vec i386pei_vec" 610 ;; 611 i[3-7]86-*-beoself* | i[3-7]86-*-beos*) 612 targ_defvec=bfd_elf32_i386_vec 613 targ_selvecs="i386pe_vec i386pei_vec" 614 ;; 615 i[3-7]86-*-interix*) 616 targ_defvec=i386pei_vec 617 targ_selvecs="i386pe_vec" 618 # FIXME: This should eventually be checked at runtime. 619 targ_cflags=-DSTRICT_PE_FORMAT 620 ;; 621 i[3-7]86-*-rdos*) 622 targ_defvec=bfd_elf32_i386_vec 623 targ_selvecs=i386coff_vec 624 ;; 625 i[3-7]86-*-mingw32* | i[3-7]86-*-cygwin* | i[3-7]86-*-winnt | i[3-7]86-*-pe) 626 targ_defvec=i386pe_vec 627 targ_selvecs="i386pe_vec i386pei_vec bfd_elf32_i386_vec" 628 targ_underscore=yes 629 ;; 630 i[3-7]86-none-*) 631 targ_defvec=i386coff_vec 632 ;; 633 i[3-7]86-*-aout* | i[3-7]86*-*-vsta*) 634 targ_defvec=i386aout_vec 635 ;; 636 i[3-7]86-*-vxworks*) 637 targ_defvec=bfd_elf32_i386_vxworks_vec 638 targ_underscore=yes 639 ;; 640 i[3-7]86-*-chaos) 641 targ_defvec=bfd_elf32_i386_vec 642 targ_selfvecs=i386chaos_vec 643 ;; 644 645 i860-*-mach3* | i860-*-osf1* | i860-*-coff*) 646 targ_defvec=i860coff_vec 647 ;; 648 i860-stardent-sysv4* | i860-stardent-elf*) 649 targ_defvec=bfd_elf32_i860_little_vec 650 targ_selvecs="bfd_elf32_i860_vec bfd_elf32_i860_little_vec" 651 ;; 652 i860-*-sysv4* | i860-*-elf*) 653 targ_defvec=bfd_elf32_i860_vec 654 ;; 655 656 i960-*-vxworks4* | i960-*-vxworks5.0) 657 targ_defvec=b_out_vec_little_host 658 targ_selvecs="b_out_vec_big_host icoff_little_vec icoff_big_vec ieee_vec" 659 targ_underscore=yes 660 ;; 661 i960-*-vxworks5.* | i960-*-coff* | i960-*-sysv* | i960-*-rtems*) 662 targ_defvec=icoff_little_vec 663 targ_selvecs="icoff_big_vec b_out_vec_little_host b_out_vec_big_host ieee_vec" 664 targ_underscore=yes 665 ;; 666 i960-*-vxworks* | i960-*-aout* | i960-*-bout* | i960-*-nindy*) 667 targ_defvec=b_out_vec_little_host 668 targ_selvecs="b_out_vec_big_host icoff_little_vec icoff_big_vec ieee_vec" 669 targ_underscore=yes 670 ;; 671 i960-*-elf*) 672 targ_defvec=bfd_elf32_i960_vec 673 targ_selvecs="icoff_little_vec icoff_big_vec" 674 ;; 675 676 ip2k-*-elf) 677 targ_defvec=bfd_elf32_ip2k_vec 678 ;; 679 680 iq2000-*-elf) 681 targ_defvec=bfd_elf32_iq2000_vec 682 ;; 683 684 m32c-*-elf) 685 targ_defvec=bfd_elf32_m32c_vec 686 ;; 687 688 m32r*le-*-linux*) 689 targ_defvec=bfd_elf32_m32rlelin_vec 690 targ_selvecs="bfd_elf32_m32rlin_vec bfd_elf32_m32rlelin_vec" 691 ;; 692 693 m32r*-*-linux*) 694 targ_defvec=bfd_elf32_m32rlin_vec 695 targ_selvecs="bfd_elf32_m32rlin_vec bfd_elf32_m32rlelin_vec" 696 ;; 697 698 m32r*le-*-*) 699 targ_defvec=bfd_elf32_m32rle_vec 700 targ_selvecs="bfd_elf32_m32r_vec bfd_elf32_m32rle_vec" 701 ;; 702 703 m32r-*-*) 704 targ_defvec=bfd_elf32_m32r_vec 705 ;; 706 707 m68hc11-*-* | m6811-*-*) 708 targ_defvec=bfd_elf32_m68hc11_vec 709 targ_selvecs="bfd_elf32_m68hc11_vec bfd_elf32_m68hc12_vec" 710 ;; 711 m68hc12-*-* | m6812-*-*) 712 targ_defvec=bfd_elf32_m68hc12_vec 713 targ_selvecs="bfd_elf32_m68hc11_vec bfd_elf32_m68hc12_vec" 714 ;; 715 716 m68*-apollo-*) 717 targ_defvec=apollocoff_vec 718 ;; 719 m68*-bull-sysv*) 720 targ_defvec=m68kcoffun_vec 721 targ_underscore=yes 722 ;; 723 m68*-motorola-sysv*) 724 targ_defvec=m68ksysvcoff_vec 725 ;; 726 m68*-hp-bsd*) 727 targ_defvec=hp300bsd_vec 728 targ_underscore=yes 729 ;; 730 m68*-*-aout*) 731 targ_defvec=aout0_big_vec 732 # We include cisco_core_big_vec here, rather than making a separate cisco 733 # configuration, so that cisco-core.c gets routinely tested at 734 # least for compilation. 735 targ_selvecs="cisco_core_big_vec ieee_vec" 736 targ_underscore=yes 737 ;; 738 m68*-*-rtemscoff*) 739 targ_defvec=m68kcoff_vec 740 targ_selvecs="m68kcoff_vec versados_vec ieee_vec aout0_big_vec" 741 ;; 742 m68*-*-elf* | m68*-*-sysv4* | m68*-*-uclinux*) 743 targ_defvec=bfd_elf32_m68k_vec 744 targ_selvecs="m68kcoff_vec ieee_vec" 745 ;; 746 m68*-*-rtems*) 747 targ_defvec=bfd_elf32_m68k_vec 748 targ_selvecs="m68kcoff_vec versados_vec ieee_vec aout0_big_vec" 749 ;; 750 m68*-*-coff* | m68*-*-sysv*) 751 targ_defvec=m68kcoff_vec 752 targ_selvecs="m68kcoff_vec versados_vec ieee_vec" 753 ;; 754 m68*-*-hpux*) 755 targ_defvec=hp300hpux_vec 756 targ_underscore=yes 757 ;; 758 m68*-*-linux*aout*) 759 targ_defvec=m68klinux_vec 760 targ_selvecs=bfd_elf32_m68k_vec 761 targ_underscore=yes 762 ;; 763 m68*-*-linux-*) 764 targ_defvec=bfd_elf32_m68k_vec 765 targ_selvecs=m68klinux_vec 766 ;; 767 m68*-*-gnu*) 768 targ_defvec=bfd_elf32_m68k_vec 769 # targ_selvecs=m68kmach3_vec 770 # targ_cflags=-DSTAT_FOR_EXEC 771 ;; 772 m68*-hp*-netbsd*) 773 targ_defvec=m68k4knetbsd_vec 774 targ_selvecs="m68knetbsd_vec hp300bsd_vec sunos_big_vec" 775 targ_underscore=yes 776 ;; 777 m68*-*-netbsdelf*) 778 targ_defvec=bfd_elf32_m68k_vec 779 targ_selvecs="m68knetbsd_vec m68k4knetbsd_vec hp300bsd_vec sunos_big_vec" 780 ;; 781 m68*-*-netbsdaout* | m68*-*-netbsd*) 782 targ_defvec=m68knetbsd_vec 783 targ_selvecs="m68k4knetbsd_vec bfd_elf32_m68k_vec hp300bsd_vec sunos_big_vec" 784 targ_underscore=yes 785 ;; 786 m68*-*-openbsd*) 787 targ_defvec=m68knetbsd_vec 788 targ_selvecs="m68k4knetbsd_vec hp300bsd_vec sunos_big_vec" 789 targ_underscore=yes 790 ;; 791 m68*-*-sunos* | m68*-*-os68k* | m68*-*-vxworks* | m68*-netx-* | \ 792 m68*-*-bsd* | m68*-*-vsta*) 793 targ_defvec=sunos_big_vec 794 targ_underscore=yes 795 ;; 796 m68*-ericsson-*) 797 targ_defvec=sunos_big_vec 798 targ_selvecs="m68kcoff_vec versados_vec tekhex_vec" 799 targ_underscore=yes 800 ;; 801 m68*-cbm-*) 802 targ_defvec=bfd_elf32_m68k_vec 803 targ_selvecs=m68kcoff_vec 804 ;; 805 m68*-apple-aux*) 806 targ_defvec=m68kaux_coff_vec 807 ;; 808 m68*-*-psos*) 809 targ_defvec=bfd_elf32_m68k_vec 810 targ_selvecs=ieee_vec 811 targ_underscore=yes 812 ;; 813 814 m88*-harris-cxux* | m88*-*-dgux* | m88*-*-sysv4*) 815 targ_defvec=bfd_elf32_m88k_vec 816 targ_selvecs=m88kbcs_vec 817 ;; 818 m88*-*-mach3*) 819 targ_defvec=m88kmach3_vec 820 targ_cflags=-DSTAT_FOR_EXEC 821 ;; 822 m88k-*-openbsd*) 823 targ_defvec=bfd_elf32_m88k_vec 824 targ_selvecs="m88kopenbsd_vec m88kbcs_vec" 825 ;; 826 m88*-*-*) 827 targ_defvec=m88kbcs_vec 828 targ_underscore=yes 829 ;; 830 831 maxq-*-coff) 832 targ_defvec=maxqcoff_vec 833 ;; 834 835 mcore-*-elf) 836 targ_defvec=bfd_elf32_mcore_big_vec 837 targ_selvecs="bfd_elf32_mcore_big_vec bfd_elf32_mcore_little_vec" 838 ;; 839 mcore-*-pe) 840 targ_defvec=mcore_pe_big_vec 841 targ_selvecs="mcore_pe_big_vec mcore_pe_little_vec mcore_pei_big_vec mcore_pei_little_vec" 842 ;; 843 844 mips*-big-*) 845 targ_defvec=ecoff_big_vec 846 targ_selvecs=ecoff_little_vec 847 ;; 848 mips*el-*-netbsd*) 849 targ_defvec=bfd_elf32_tradlittlemips_vec 850 targ_selvecs="bfd_elf32_tradbigmips_vec bfd_elf64_tradbigmips_vec bfd_elf64_tradlittlemips_vec ecoff_little_vec ecoff_big_vec" 851 ;; 852 mips*-*-netbsd*) 853 targ_defvec=bfd_elf32_tradbigmips_vec 854 targ_selvecs="bfd_elf32_tradlittlemips_vec bfd_elf64_tradbigmips_vec bfd_elf64_tradlittlemips_vec ecoff_big_vec ecoff_little_vec" 855 ;; 856 mips*-dec-* | mips*el-*-ecoff*) 857 targ_defvec=ecoff_little_vec 858 targ_selvecs=ecoff_big_vec 859 ;; 860 mips*-*-ecoff*) 861 targ_defvec=ecoff_big_vec 862 targ_selvecs=ecoff_little_vec 863 ;; 864#ifdef BFD64 865 mips*-*-irix6*) 866 targ_defvec=bfd_elf32_nbigmips_vec 867 targ_selvecs="bfd_elf32_nlittlemips_vec bfd_elf32_bigmips_vec bfd_elf32_littlemips_vec bfd_elf64_bigmips_vec bfd_elf64_littlemips_vec" 868 ;; 869#endif 870 mips*-*-irix5*) 871 targ_defvec=bfd_elf32_bigmips_vec 872 targ_selvecs="bfd_elf32_littlemips_vec ecoff_big_vec ecoff_little_vec" 873 ;; 874 mips*-sgi-* | mips*-*-bsd*) 875 targ_defvec=ecoff_big_vec 876 targ_selvecs=ecoff_little_vec 877 ;; 878 mips*-*-lnews*) 879 targ_defvec=ecoff_biglittle_vec 880 targ_selvecs="ecoff_little_vec ecoff_big_vec" 881 ;; 882 mips*-*-sysv4*) 883 targ_defvec=bfd_elf32_tradbigmips_vec 884 targ_selvecs="bfd_elf32_tradlittlemips_vec ecoff_big_vec ecoff_little_vec" 885 ;; 886 mips*-*-sysv* | mips*-*-riscos*) 887 targ_defvec=ecoff_big_vec 888 targ_selvecs=ecoff_little_vec 889 ;; 890#ifdef BFD64 891 mips*el-*-vxworks*) 892 targ_defvec=bfd_elf32_littlemips_vxworks_vec 893 targ_selvecs="bfd_elf32_littlemips_vec bfd_elf32_bigmips_vxworks_vec bfd_elf32_bigmips_vec bfd_elf64_bigmips_vec bfd_elf64_littlemips_vec" 894 ;; 895 mips*-*-vxworks*) 896 targ_defvec=bfd_elf32_bigmips_vxworks_vec 897 targ_selvecs="bfd_elf32_bigmips_vec bfd_elf32_littlemips_vxworks_vec bfd_elf32_bigmips_vec bfd_elf64_bigmips_vec bfd_elf64_littlemips_vec" 898 ;; 899#endif 900 mips*el-*-elf* | mips*el-*-vxworks* | mips*-*-chorus*) 901 targ_defvec=bfd_elf32_littlemips_vec 902 targ_selvecs="bfd_elf32_bigmips_vec bfd_elf64_bigmips_vec bfd_elf64_littlemips_vec" 903 ;; 904 mips*-*-elf* | mips*-*-rtems* | mips*-*-vxworks | mips*-*-windiss) 905 targ_defvec=bfd_elf32_bigmips_vec 906 targ_selvecs="bfd_elf32_littlemips_vec bfd_elf64_bigmips_vec bfd_elf64_littlemips_vec" 907 ;; 908 mips*-*-none) 909 targ_defvec=bfd_elf32_bigmips_vec 910 targ_selvecs="bfd_elf32_littlemips_vec bfd_elf64_bigmips_vec bfd_elf64_littlemips_vec" 911 ;; 912#ifdef BFD64 913 mips64*el-*-openbsd*) 914 targ_defvec=bfd_elf64_tradlittlemips_vec 915 targ_selvecs="bfd_elf32_ntradlittlemips_vec bfd_elf32_ntradbigmips_vec bfd_elf32_tradlittlemips_vec bfd_elf32_tradbigmips_vec bfd_elf64_tradbigmips_vec ecoff_big_vec ecoff_little_vec" 916 ;; 917 mips64*-*-openbsd*) 918 targ_defvec=bfd_elf64_tradbigmips_vec 919 targ_selvecs="bfd_elf32_ntradlittlemips_vec bfd_elf32_ntradbigmips_vec bfd_elf32_tradlittlemips_vec bfd_elf32_tradbigmips_vec bfd_elf64_tradlittlemips_vec ecoff_big_vec ecoff_little_vec" 920 ;; 921#endif 922 mips*el-*-openbsd*) 923 targ_defvec=bfd_elf32_littlemips_vec 924 targ_selvecs="bfd_elf32_bigmips_vec bfd_elf64_bigmips_vec bfd_elf64_littlemips_vec ecoff_little_vec ecoff_big_vec" 925 ;; 926 mips*-*-openbsd*) 927 targ_defvec=bfd_elf32_bigmips_vec 928 targ_selvecs="bfd_elf32_littlemips_vec bfd_elf64_bigmips_vec bfd_elf64_littlemips_vec ecoff_big_vec ecoff_little_vec" 929 ;; 930#ifdef BFD64 931 mips64*el-*-linux*) 932 targ_defvec=bfd_elf32_ntradlittlemips_vec 933 targ_selvecs="bfd_elf32_ntradbigmips_vec bfd_elf32_tradlittlemips_vec bfd_elf32_tradbigmips_vec bfd_elf64_tradlittlemips_vec bfd_elf64_tradbigmips_vec" 934 ;; 935 mips64*-*-linux*) 936 targ_defvec=bfd_elf32_ntradbigmips_vec 937 targ_selvecs="bfd_elf32_ntradlittlemips_vec bfd_elf32_tradbigmips_vec bfd_elf32_tradlittlemips_vec bfd_elf64_tradbigmips_vec bfd_elf64_tradlittlemips_vec" 938 ;; 939#endif 940 mips*el-*-linux*) 941 targ_defvec=bfd_elf32_tradlittlemips_vec 942 targ_selvecs="bfd_elf32_tradbigmips_vec ecoff_little_vec ecoff_big_vec bfd_elf32_ntradlittlemips_vec bfd_elf64_tradlittlemips_vec bfd_elf32_ntradbigmips_vec bfd_elf64_tradbigmips_vec" 943 want64=true 944 ;; 945 mips*-*-linux*) 946 targ_defvec=bfd_elf32_tradbigmips_vec 947 targ_selvecs="bfd_elf32_tradlittlemips_vec ecoff_big_vec ecoff_little_vec bfd_elf32_ntradbigmips_vec bfd_elf64_tradbigmips_vec bfd_elf32_ntradlittlemips_vec bfd_elf64_tradlittlemips_vec" 948 want64=true 949 ;; 950#ifdef BFD64 951 mmix-*-*) 952 targ_defvec=bfd_elf64_mmix_vec 953 targ_selvecs=bfd_mmo_vec 954 ;; 955#endif 956 mn10200-*-*) 957 targ_defvec=bfd_elf32_mn10200_vec 958 ;; 959 960 mn10300-*-*) 961 targ_defvec=bfd_elf32_mn10300_vec 962 targ_underscore=yes 963 ;; 964 965 mt-*-elf) 966 targ_defvec=bfd_elf32_mt_vec 967 ;; 968 969 msp430-*-*) 970 targ_defvec=bfd_elf32_msp430_vec 971 ;; 972 973 ns32k-pc532-mach* | ns32k-pc532-ux*) 974 targ_defvec=pc532machaout_vec 975 targ_underscore=yes 976 ;; 977 ns32k-*-netbsd* | ns32k-*-lites* | ns32k-*-openbsd*) 978 targ_defvec=pc532netbsd_vec 979 targ_underscore=yes 980 ;; 981 982 openrisc-*-elf) 983 targ_defvec=bfd_elf32_openrisc_vec 984 ;; 985 986 or32-*-coff | or32-*-rtems* ) 987 targ_defvec=or32coff_big_vec 988 targ_underscore=yes 989 ;; 990 991 or32-*-elf) 992 targ_defvec=bfd_elf32_or32_big_vec 993 ;; 994 995 pdp11-*-*) 996 targ_defvec=pdp11_aout_vec 997 targ_underscore=yes 998 ;; 999 1000 pj-*-*) 1001 targ_defvec=bfd_elf32_pj_vec 1002 targ_selvecs="bfd_elf32_pj_vec bfd_elf32_pjl_vec" 1003 ;; 1004 1005 pjl-*-*) 1006 targ_defvec=bfd_elf32_pjl_vec 1007 targ_selvecs="bfd_elf32_pjl_vec bfd_elf32_pj_vec bfd_elf32_i386_vec" 1008 ;; 1009 1010 powerpc-*-aix5.[01]) 1011 targ_defvec=rs6000coff_vec 1012 targ_selvecs="aix5coff64_vec" 1013 want64=true 1014 ;; 1015#ifdef BFD64 1016 powerpc64-*-aix5.[01]) 1017 targ_defvec=aix5coff64_vec 1018 targ_selvecs="rs6000coff_vec" 1019 want64=true 1020 ;; 1021#endif 1022 powerpc-*-aix5*) 1023 targ_cflags=-DAIX_WEAK_SUPPORT 1024 targ_defvec=rs6000coff_vec 1025 targ_selvecs="aix5coff64_vec" 1026 want64=true 1027 ;; 1028#ifdef BFD64 1029 powerpc64-*-aix5*) 1030 targ_cflags=-DAIX_WEAK_SUPPORT 1031 targ_defvec=aix5coff64_vec 1032 targ_selvecs="rs6000coff_vec" 1033 want64=true 1034 ;; 1035#endif 1036 1037 powerpc-*-aix* | powerpc-*-beos* | rs6000-*-*) 1038 targ_defvec=rs6000coff_vec 1039 targ64_selvecs=rs6000coff64_vec 1040 case "${targ}" in 1041 *-*-aix4.[3456789]* | *-*-aix[56789]*) 1042 want64=true;; 1043 *) 1044 targ_cflags=-DSMALL_ARCHIVE;; 1045 esac 1046 ;; 1047#ifdef BFD64 1048 powerpc64-*-aix*) 1049 targ_defvec=rs6000coff64_vec 1050 targ_selvecs=rs6000coff_vec 1051 ;; 1052 powerpc64-*-elf* | powerpc-*-elf64* | powerpc64-*-linux* | \ 1053 powerpc64-*-*bsd*) 1054 targ_defvec=bfd_elf64_powerpc_vec 1055 targ_selvecs="bfd_elf64_powerpcle_vec bfd_elf32_powerpc_vec bfd_elf32_powerpcle_vec" 1056 ;; 1057 powerpc64le-*-elf* | powerpcle-*-elf64*) 1058 targ_defvec=bfd_elf64_powerpcle_vec 1059 targ_selvecs="bfd_elf64_powerpc_vec bfd_elf32_powerpcle_vec bfd_elf32_powerpc_vec" 1060 ;; 1061#endif 1062 powerpc-*-*bsd* | powerpc-*-elf* | powerpc-*-sysv4* | powerpc-*-eabi* | \ 1063 powerpc-*-solaris2* | powerpc-*-linux-* | powerpc-*-rtems* | \ 1064 powerpc-*-chorus*) 1065 targ_defvec=bfd_elf32_powerpc_vec 1066 targ_selvecs="bfd_elf32_powerpcle_vec ppcboot_vec" 1067 targ64_selvecs="bfd_elf64_powerpc_vec bfd_elf64_powerpcle_vec" 1068 ;; 1069 powerpc-*-kaos*) 1070 targ_defvec=bfd_elf32_powerpc_vec 1071 targ_selvecs="bfd_elf32_powerpcle_vec ppcboot_vec" 1072 targ64_selvecs="bfd_elf64_powerpc_vec bfd_elf64_powerpcle_vec" 1073 ;; 1074 powerpc-*-darwin* | powerpc-*-macos10* | powerpc-*-rhapsody*) 1075 targ_defvec=mach_o_be_vec 1076 targ_selvecs="mach_o_be_vec mach_o_le_vec mach_o_fat_vec pef_vec pef_xlib_vec sym_vec" 1077 targ_archs="bfd_powerpc_arch bfd_rs6000_arch bfd_i386_arch" 1078 ;; 1079 powerpc-*-macos*) 1080 targ_defvec=pmac_xcoff_vec 1081 ;; 1082 powerpc-*-lynxos*) 1083 targ_defvec=bfd_elf32_powerpc_vec 1084 targ_selvecs="rs6000coff_vec" 1085 targ_cflags=-DSMALL_ARCHIVE 1086 ;; 1087 powerpc-*-netware*) 1088 targ_defvec=bfd_elf32_powerpc_vec 1089 targ_selvecs="nlm32_powerpc_vec rs6000coff_vec" 1090 ;; 1091 powerpc-*-nto*) 1092 targ_defvec=bfd_elf32_powerpc_vec 1093 targ_selvecs="rs6000coff_vec bfd_elf32_powerpcle_vec ppcboot_vec" 1094 ;; 1095 powerpc-*-vxworks* | powerpc-*-windiss*) 1096 targ_defvec=bfd_elf32_powerpc_vxworks_vec 1097 targ_selvecs="rs6000coff_vec bfd_elf32_powerpc_vec bfd_elf32_powerpcle_vec ppcboot_vec" 1098 targ64_selvecs="bfd_elf64_powerpc_vec bfd_elf64_powerpcle_vec" 1099 ;; 1100 powerpcle-*-nto*) 1101 targ_defvec=bfd_elf32_powerpcle_vec 1102 targ_selvecs="rs6000coff_vec bfd_elf32_powerpc_vec ppcboot_vec" 1103 ;; 1104 powerpcle-*-elf* | powerpcle-*-sysv4* | powerpcle-*-eabi* | \ 1105 powerpcle-*-solaris2* | powerpcle-*-linux-* | powerpcle-*-vxworks*) 1106 targ_defvec=bfd_elf32_powerpcle_vec 1107 targ_selvecs="rs6000coff_vec bfd_elf32_powerpc_vec ppcboot_vec" 1108 targ64_selvecs="bfd_elf64_powerpc_vec bfd_elf64_powerpcle_vec" 1109 ;; 1110 powerpcle-*-pe | powerpcle-*-winnt* | powerpcle-*-cygwin*) 1111 targ_defvec=bfd_powerpcle_pe_vec 1112 targ_selvecs="bfd_powerpcle_pei_vec bfd_powerpc_pei_vec bfd_powerpcle_pe_vec bfd_powerpc_pe_vec" 1113 ;; 1114 1115 s390-*-linux*) 1116 targ_defvec=bfd_elf32_s390_vec 1117 targ64_selvecs=bfd_elf64_s390_vec 1118 want64=true 1119 ;; 1120#ifdef BFD64 1121 s390x-*-linux*) 1122 targ_defvec=bfd_elf64_s390_vec 1123 targ_selvecs=bfd_elf32_s390_vec 1124 ;; 1125 s390x-*-tpf*) 1126 targ_defvec=bfd_elf64_s390_vec 1127 ;; 1128#endif 1129 1130#ifdef BFD64 1131 sh64l*-*-elf*) 1132 targ_defvec=bfd_elf32_sh64l_vec 1133 targ_selvecs="bfd_elf32_sh64_vec bfd_elf64_sh64l_vec bfd_elf64_sh64_vec bfd_elf32_shl_vec bfd_elf32_sh_vec" 1134 targ_underscore=yes 1135 ;; 1136 sh64-*-elf*) 1137 targ_defvec=bfd_elf32_sh64_vec 1138 targ_selvecs="bfd_elf32_sh64l_vec bfd_elf64_sh64_vec bfd_elf64_sh64l_vec bfd_elf32_sh_vec bfd_elf32_shl_vec" 1139 targ_underscore=yes 1140 ;; 1141 sh64eb-*-linux*) 1142 targ_defvec=bfd_elf32_sh64blin_vec 1143 targ_selvecs="bfd_elf32_sh64lin_vec bfd_elf64_sh64blin_vec bfd_elf64_sh64lin_vec bfd_elf32_shblin_vec bfd_elf32_shlin_vec" 1144 ;; 1145 sh64-*-linux*) 1146 targ_defvec=bfd_elf32_sh64lin_vec 1147 targ_selvecs="bfd_elf32_sh64blin_vec bfd_elf64_sh64lin_vec bfd_elf64_sh64blin_vec bfd_elf32_shlin_vec bfd_elf32_shblin_vec" 1148 ;; 1149#endif /* BFD64 */ 1150 1151 sh-*-linux*) 1152 targ_defvec=bfd_elf32_shblin_vec 1153 targ_selvecs=bfd_elf32_shlin_vec 1154#ifdef BFD64 1155 targ_selvecs="${targ_selvecs} bfd_elf32_sh64lin_vec bfd_elf32_sh64blin_vec bfd_elf64_sh64lin_vec bfd_elf64_sh64blin_vec" 1156#endif 1157 ;; 1158 sh*eb-*-linux*) 1159 targ_defvec=bfd_elf32_shblin_vec 1160 targ_selvecs=bfd_elf32_shlin_vec 1161 ;; 1162 sh*-*-linux*) 1163 targ_defvec=bfd_elf32_shlin_vec 1164 targ_selvecs=bfd_elf32_shblin_vec 1165 ;; 1166 1167#ifdef BFD64 1168 sh5le-*-netbsd*) 1169 targ_defvec=bfd_elf32_sh64lnbsd_vec 1170 targ_selvecs="bfd_elf32_sh64nbsd_vec bfd_elf64_sh64lnbsd_vec bfd_elf64_sh64nbsd_vec bfd_elf32_shnbsd_vec bfd_elf32_shlnbsd_vec" 1171 ;; 1172 sh5-*-netbsd*) 1173 targ_defvec=bfd_elf32_sh64nbsd_vec 1174 targ_selvecs="bfd_elf32_sh64lnbsd_vec bfd_elf64_sh64lnbsd_vec bfd_elf64_sh64nbsd_vec bfd_elf32_shnbsd_vec bfd_elf32_shlnbsd_vec" 1175 ;; 1176 1177 sh64le-*-netbsd*) 1178 targ_defvec=bfd_elf64_sh64lnbsd_vec 1179 targ_selvecs="bfd_elf64_sh64nbsd_vec bfd_elf32_sh64lnbsd_vec bfd_elf32_sh64nbsd_vec bfd_elf32_shnbsd_vec bfd_elf32_shlnbsd_vec" 1180 ;; 1181 sh64-*-netbsd*) 1182 targ_defvec=bfd_elf64_sh64nbsd_vec 1183 targ_selvecs="bfd_elf64_sh64lnbsd_vec bfd_elf32_sh64lnbsd_vec bfd_elf32_sh64nbsd_vec bfd_elf32_shnbsd_vec bfd_elf32_shlnbsd_vec" 1184 ;; 1185#endif 1186 1187 sh*l*-*-netbsdelf*) 1188 targ_defvec=bfd_elf32_shlnbsd_vec 1189 targ_selvecs="bfd_elf32_shnbsd_vec shcoff_vec shlcoff_vec" 1190#ifdef BFD64 1191 targ_selvecs="${targ_selvecs} bfd_elf32_sh64lnbsd_vec bfd_elf32_sh64nbsd_vec bfd_elf64_sh64lnbsd_vec bfd_elf64_sh64nbsd_vec" 1192#endif 1193 ;; 1194 sh-*-netbsdelf*) 1195 targ_defvec=bfd_elf32_shnbsd_vec 1196 targ_selvecs="bfd_elf32_shlnbsd_vec shcoff_vec shlcoff_vec" 1197#ifdef BFD64 1198 targ_selvecs="${targ_selvecs} bfd_elf32_sh64lnbsd_vec bfd_elf32_sh64nbsd_vec bfd_elf64_sh64lnbsd_vec bfd_elf64_sh64nbsd_vec" 1199#endif 1200 ;; 1201 sh*-*-netbsdelf*) 1202 targ_defvec=bfd_elf32_shnbsd_vec 1203 targ_selvecs="bfd_elf32_shlnbsd_vec shcoff_vec shlcoff_vec" 1204 ;; 1205 sh*-*-openbsd*) 1206 targ_defvec=bfd_elf32_shlobsd_vec 1207 targ_selvecs="bfd_elf32_shobsd_vec" 1208 ;; 1209 sh*-*-symbianelf*) 1210 targ_defvec=bfd_elf32_shl_symbian_vec 1211 targ_selvecs="shlcoff_vec shlcoff_small_vec" 1212 targ_underscore=yes 1213 ;; 1214 shl*-*-elf* | sh[1234]l*-*-elf* | sh3el*-*-elf* | shl*-*-kaos*) 1215 targ_defvec=bfd_elf32_shl_vec 1216 targ_selvecs="bfd_elf32_sh_vec shlcoff_vec shcoff_vec shlcoff_small_vec shcoff_small_vec" 1217#ifdef BFD64 1218 targ_selvecs="${targ_selvecs} bfd_elf32_sh64_vec bfd_elf32_sh64l_vec bfd_elf64_sh64_vec bfd_elf64_sh64l_vec" 1219#endif 1220 targ_underscore=yes 1221 ;; 1222 sh-*-rtemscoff*) 1223 targ_defvec=shcoff_vec 1224 targ_selvecs="shcoff_vec shlcoff_vec shcoff_small_vec shlcoff_small_vec" 1225 targ_underscore=yes 1226 ;; 1227 sh-*-elf* | sh[1234]*-elf* | sh-*-rtems* | sh-*-kaos*) 1228 targ_defvec=bfd_elf32_sh_vec 1229 targ_selvecs="bfd_elf32_shl_vec shcoff_vec shlcoff_vec shcoff_small_vec shlcoff_small_vec" 1230#ifdef BFD64 1231 targ_selvecs="${targ_selvecs} bfd_elf32_sh64_vec bfd_elf32_sh64l_vec bfd_elf64_sh64_vec bfd_elf64_sh64l_vec" 1232#endif 1233 targ_underscore=yes 1234 ;; 1235 sh-*-nto*) 1236 targ_defvec=bfd_elf32_sh_vec 1237 targ_selvecs="bfd_elf32_shl_vec shcoff_vec shlcoff_vec shcoff_small_vec shlcoff_small_vec" 1238 targ_underscore=yes 1239 ;; 1240 sh-*-pe) 1241 targ_defvec=shlpe_vec 1242 targ_selvecs="shlpe_vec shlpei_vec" 1243 targ_underscore=yes 1244 ;; 1245 sh-*-vxworks) 1246 targ_defvec=bfd_elf32_sh_vec 1247 targ_selvecs="bfd_elf32_shl_vec" 1248 # FIXME None of the following are actually used on this target, but 1249 # they're necessary for coff-sh.c (which is unconditionally used) to be 1250 # compiled correctly. 1251 targ_selvecs="$targ_selvecs shcoff_vec shlcoff_vec shcoff_small_vec shlcoff_small_vec" 1252 ;; 1253 sh-*-*) 1254 targ_defvec=shcoff_vec 1255 targ_selvecs="shcoff_vec shlcoff_vec shcoff_small_vec shlcoff_small_vec" 1256 targ_underscore=yes 1257 ;; 1258 1259 sparclet-*-aout*) 1260 targ_defvec=sunos_big_vec 1261 targ_selvecs=sparcle_aout_vec 1262 targ_underscore=yes 1263 ;; 1264 sparc86x-*-aout*) 1265 targ_defvec=sunos_big_vec 1266 targ_underscore=yes 1267 ;; 1268 sparclite-*-elf* | sparc86x-*-elf*) 1269 targ_defvec=bfd_elf32_sparc_vec 1270 ;; 1271 sparc*-*-chorus*) 1272 targ_defvec=bfd_elf32_sparc_vec 1273 ;; 1274 sparc-*-linux*aout*) 1275 targ_defvec=sparclinux_vec 1276 targ_selvecs="bfd_elf32_sparc_vec sunos_big_vec" 1277 targ_underscore=yes 1278 ;; 1279 sparc-*-linux-*) 1280 targ_defvec=bfd_elf32_sparc_vec 1281 targ_selvecs="sparclinux_vec bfd_elf64_sparc_vec sunos_big_vec" 1282 ;; 1283 sparc-*-netbsdelf*) 1284 targ_defvec=bfd_elf32_sparc_vec 1285 targ_selvecs=sparcnetbsd_vec 1286 ;; 1287 sparc-*-netbsdaout* | sparc-*-netbsd*) 1288 targ_defvec=sparcnetbsd_vec 1289 targ_selvecs=bfd_elf32_sparc_vec 1290 targ_underscore=yes 1291 ;; 1292 sparc-*-openbsd[0-2].* | sparc-*-openbsd3.[0-1]) 1293 targ_defvec=sparcnetbsd_vec 1294 targ_underscore=yes 1295 ;; 1296 sparc-*-openbsd*) 1297 targ_defvec=bfd_elf32_sparc_vec 1298 targ_selvecs=sparcnetbsd_vec 1299 ;; 1300 sparc-*-elf* | sparc-*-solaris2.[0-6] | sparc-*-solaris2.[0-6].*) 1301 targ_defvec=bfd_elf32_sparc_vec 1302 targ_selvecs=sunos_big_vec 1303 ;; 1304#ifdef BFD64 1305 sparc-*-solaris2* | sparcv9-*-solaris2* | sparc64-*-solaris2*) 1306 targ_defvec=bfd_elf32_sparc_vec 1307 targ_selvecs="bfd_elf64_sparc_vec sunos_big_vec" 1308 ;; 1309#endif 1310 sparc-*-sysv4*) 1311 targ_defvec=bfd_elf32_sparc_vec 1312 ;; 1313 sparc-*-vxworks*) 1314 targ_defvec=bfd_elf32_sparc_vxworks_vec 1315 targ_selvecs="bfd_elf32_sparc_vec sunos_big_vec" 1316 ;; 1317 sparc-*-netware*) 1318 targ_defvec=bfd_elf32_sparc_vec 1319 targ_selvecs="nlm32_sparc_vec sunos_big_vec" 1320 ;; 1321#ifdef BFD64 1322 sparc64-*-aout*) 1323 targ_defvec=sunos_big_vec 1324 targ_underscore=yes 1325 ;; 1326 sparc64-*-linux-*) 1327 targ_defvec=bfd_elf64_sparc_vec 1328 targ_selvecs="bfd_elf32_sparc_vec sparclinux_vec sunos_big_vec" 1329 ;; 1330 sparc64-*-elf*) 1331 targ_defvec=bfd_elf64_sparc_vec 1332 targ_selvecs=bfd_elf32_sparc_vec 1333 ;; 1334#endif /* BFD64 */ 1335 sparc*-*-coff*) 1336 targ_defvec=sparccoff_vec 1337 ;; 1338 sparc*-*-rtems*) 1339 targ_defvec=bfd_elf32_sparc_vec 1340 targ_selvecs="sunos_big_vec sparccoff_vec" 1341 ;; 1342 sparc*-*-*) 1343 targ_defvec=sunos_big_vec 1344 targ_underscore=yes 1345 ;; 1346 1347#if HAVE_host_aout_vec 1348 tahoe-*-*) 1349 targ_defvec=host_aout_vec 1350 targ_underscore=yes 1351 ;; 1352#endif 1353 1354 tic80*-*-*) 1355 targ_defvec=tic80coff_vec 1356 targ_underscore=yes 1357 ;; 1358 1359 v850-*-*) 1360 targ_defvec=bfd_elf32_v850_vec 1361 ;; 1362 v850e-*-*) 1363 targ_defvec=bfd_elf32_v850_vec 1364 ;; 1365 v850ea-*-*) 1366 targ_defvec=bfd_elf32_v850_vec 1367 ;; 1368 1369 vax-*-netbsdelf*) 1370 targ_defvec=bfd_elf32_vax_vec 1371 targ_selvecs="vaxnetbsd_vec vax1knetbsd_vec" 1372 ;; 1373 1374 vax-*-netbsdaout* | vax-*-netbsd*) 1375 targ_defvec=vaxnetbsd_vec 1376 targ_selvecs="bfd_elf32_vax_vec vax1knetbsd_vec" 1377 targ_underscore=yes 1378 ;; 1379 1380 vax-*-bsd* | vax-*-ultrix*) 1381 targ_defvec=vaxbsd_vec 1382 targ_underscore=yes 1383 ;; 1384 1385 vax-*-openbsd*) 1386 targ_defvec=bfd_elf32_vax_vec 1387 targ_selvecs=vaxnetbsd_vec 1388 ;; 1389 1390 vax-*-linux-*) 1391 targ_defvec=bfd_elf32_vax_vec 1392 ;; 1393 1394 vax*-*-*vms*) 1395 targ_defvec=vms_vax_vec 1396 ;; 1397 1398 we32k-*-*) 1399 targ_defvec=we32kcoff_vec 1400 ;; 1401 1402 w65-*-*) 1403 targ_defvec=w65_vec 1404 ;; 1405 1406 xstormy16-*-elf) 1407 targ_defvec=bfd_elf32_xstormy16_vec 1408 ;; 1409 1410 xtensa-*-*) 1411 targ_defvec=bfd_elf32_xtensa_le_vec 1412 targ_selvecs=bfd_elf32_xtensa_be_vec 1413 ;; 1414 xc16x-*-elf) 1415 targ_defvec=bfd_elf32_xc16x_vec 1416 ;; 1417 1418 z80-*-*) 1419 targ_defvec=z80coff_vec 1420 targ_underscore=no 1421 ;; 1422 1423 z8k*-*-*) 1424 targ_defvec=z8kcoff_vec 1425 targ_underscore=yes 1426 ;; 1427 1428 *-*-ieee*) 1429 targ_defvec=ieee_vec 1430 ;; 1431 1432 *-adobe-*) 1433 targ_defvec=a_out_adobe_vec 1434 targ_underscore=yes 1435 ;; 1436 1437 *-sony-*) 1438 targ_defvec=newsos3_vec 1439 targ_underscore=yes 1440 ;; 1441 1442 *-tandem-*) 1443 targ_defvec=m68kcoff_vec 1444 targ_selvecs=ieee_vec 1445 ;; 1446# END OF targmatch.h 1447 *) 1448 echo 1>&2 "*** BFD does not support target ${targ}." 1449 echo 1>&2 "*** Look in bfd/config.bfd for supported targets." 1450 exit 1 1451 ;; 1452esac 1453 1454case "${host64}${want64}" in 1455 *true*) 1456 targ_selvecs="${targ_selvecs} ${targ64_selvecs}" 1457 ;; 1458esac 1459 1460# If we support any ELF target, then automatically add support for the 1461# generic ELF targets. This permits an objdump with some ELF support 1462# to be used on an arbitrary ELF file for anything other than 1463# relocation information. 1464case "${targ_defvec} ${targ_selvecs}" in 1465 *bfd_elf64* | *bfd_elf32_n*mips*) 1466 targ_selvecs="${targ_selvecs} bfd_elf64_little_generic_vec bfd_elf64_big_generic_vec bfd_elf32_little_generic_vec bfd_elf32_big_generic_vec" 1467 ;; 1468 *bfd_elf32*) 1469 targ_selvecs="${targ_selvecs} bfd_elf32_little_generic_vec bfd_elf32_big_generic_vec" 1470 ;; 1471esac 1472