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