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 ;; 74am34*|am33_2.0*) targ_archs=bfd_mn10300_arch ;; 75arm*) targ_archs=bfd_arm_arch ;; 76bfin*) targ_archs=bfd_bfin_arch ;; 77c30*) targ_archs=bfd_tic30_arch ;; 78c4x*) targ_archs=bfd_tic4x_arch ;; 79c54x*) targ_archs=bfd_tic54x_arch ;; 80cr16*) targ_archs=bfd_cr16_arch ;; 81crisv32) targ_archs=bfd_cris_arch ;; 82crx*) targ_archs=bfd_crx_arch ;; 83dlx*) targ_archs=bfd_dlx_arch ;; 84fido*) targ_archs=bfd_m68k_arch ;; 85hppa*) targ_archs=bfd_hppa_arch ;; 86i[3-7]86) targ_archs=bfd_i386_arch ;; 87i370) targ_archs=bfd_i370_arch ;; 88m6811*|m68hc11*) targ_archs="bfd_m68hc11_arch bfd_m68hc12_arch" ;; 89m6812*|m68hc12*) targ_archs="bfd_m68hc12_arch bfd_m68hc11_arch" ;; 90m68*) targ_archs=bfd_m68k_arch ;; 91m88*) targ_archs=bfd_m88k_arch ;; 92maxq*) targ_archs=bfd_maxq_arch ;; 93mips*) targ_archs=bfd_mips_arch ;; 94or32*) targ_archs=bfd_or32_arch ;; 95pdp11*) targ_archs=bfd_pdp11_arch ;; 96pj*) targ_archs="bfd_pj_arch bfd_i386_arch";; 97powerpc*) targ_archs="bfd_rs6000_arch bfd_powerpc_arch" ;; 98rs6000) targ_archs="bfd_rs6000_arch bfd_powerpc_arch" ;; 99s390*) targ_archs=bfd_s390_arch ;; 100sh*) targ_archs=bfd_sh_arch ;; 101sparc*) targ_archs=bfd_sparc_arch ;; 102spu*) targ_archs=bfd_spu_arch ;; 103strongarm*) targ_archs=bfd_arm_arch ;; 104thumb*) targ_archs=bfd_arm_arch ;; 105v850*) targ_archs=bfd_v850_arch ;; 106x86_64*) targ_archs=bfd_i386_arch ;; 107xscale*) targ_archs=bfd_arm_arch ;; 108xtensa*) targ_archs=bfd_xtensa_arch ;; 109z80|r800) targ_archs=bfd_z80_arch ;; 110z8k*) targ_archs=bfd_z8k_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*-*-netbsd* | ia64*-*-linux-* | ia64*-*-elf* | ia64*-*-kfreebsd*-gnu) 180 targ_defvec=bfd_elf64_ia64_little_vec 181 targ_selvecs="bfd_elf64_ia64_big_vec bfd_efi_app_ia64_vec bfd_efi_bsdrv_ia64_vec bfd_efi_rtdrv_ia64_vec" 182 want64=true 183 ;; 184 ia64*-*-hpux*) 185 targ_defvec=bfd_elf32_ia64_hpux_big_vec 186 targ_selvecs="bfd_elf64_ia64_hpux_big_vec" 187 want64=true 188 ;; 189 sparc64-*-freebsd* | sparc64-*-kfreebsd*-gnu) 190 targ_defvec=bfd_elf64_sparc_freebsd_vec 191 targ_selvecs="bfd_elf64_sparc_vec bfd_elf32_sparc_vec sunos_big_vec" 192 ;; 193 sparc64-*-netbsd* | sparc64-*-openbsd*) 194 targ_defvec=bfd_elf64_sparc_vec 195 targ_selvecs="bfd_elf32_sparc_vec sunos_big_vec" 196 want64=true 197 ;; 198#endif /* BFD64 */ 199 200 am34-*-linux* | am33_2.0-*-linux*) 201 targ_defvec=bfd_elf32_am33lin_vec 202 ;; 203 204 arc-*-elf*) 205 targ_defvec=bfd_elf32_littlearc_vec 206 targ_selvecs=bfd_elf32_bigarc_vec 207 ;; 208 209 armeb-*-netbsdelf*) 210 targ_defvec=bfd_elf32_bigarm_vec 211 targ_selvecs="bfd_elf32_littlearm_vec armnetbsd_vec armcoff_little_vec armcoff_big_vec" 212 ;; 213 arm-*-netbsdelf*) 214 targ_defvec=bfd_elf32_littlearm_vec 215 targ_selvecs="bfd_elf32_bigarm_vec armnetbsd_vec armcoff_little_vec armcoff_big_vec" 216 ;; 217 arm-*-netbsd* | arm-*-openbsd*) 218 targ_defvec=armnetbsd_vec 219 targ_selvecs="bfd_elf32_littlearm_vec bfd_elf32_bigarm_vec armcoff_little_vec armcoff_big_vec" 220 targ_underscore=yes 221 targ_cflags=-D__QNXTARGET__ 222 ;; 223 arm-*-nto* | nto*arm*) 224 targ_defvec=bfd_elf32_littlearm_vec 225 targ_selvecs=bfd_elf32_bigarm_vec 226 ;; 227 arm-*-riscix*) 228 targ_defvec=riscix_vec 229 ;; 230 arm-epoc-pe*) 231 targ_defvec=arm_epoc_pe_little_vec 232 targ_selvecs="arm_epoc_pe_little_vec arm_epoc_pe_big_vec arm_epoc_pei_little_vec arm_epoc_pei_big_vec" 233 targ_underscore=no 234 targ_cflags=-DARM_COFF_BUGFIX 235 ;; 236 arm-wince-pe | arm-*-wince | arm-*-mingw32ce*) 237 targ_defvec=arm_wince_pe_little_vec 238 targ_selvecs="arm_wince_pe_little_vec arm_wince_pe_big_vec arm_wince_pei_little_vec arm_wince_pei_big_vec" 239 targ_underscore=no 240 targ_cflags="-DARM_WINCE -DARM_COFF_BUGFIX" 241 ;; 242 arm-*-pe*) 243 targ_defvec=armpe_little_vec 244 targ_selvecs="armpe_little_vec armpe_big_vec armpei_little_vec armpei_big_vec" 245 targ_underscore=yes 246 ;; 247 arm-*-aout | armel-*-aout) 248 targ_defvec=aout_arm_little_vec 249 targ_selvecs=aout_arm_big_vec 250 ;; 251 armeb-*-aout) 252 targ_defvec=aout_arm_big_vec 253 targ_selvecs=aout_arm_little_vec 254 ;; 255 arm-*-coff) 256 targ_defvec=armcoff_little_vec 257 targ_selvecs=armcoff_big_vec 258 targ_underscore=yes 259 ;; 260 arm-*-rtems*) 261 targ_defvec=bfd_elf32_littlearm_vec 262 targ_selvecs=bfd_elf32_bigarm_vec 263 ;; 264 armeb-*-elf | arm*b-*-linux-*) 265 targ_defvec=bfd_elf32_bigarm_vec 266 targ_selvecs=bfd_elf32_littlearm_vec 267 ;; 268 arm-*-kaos* | strongarm-*-kaos*) 269 targ_defvec=bfd_elf32_littlearm_vec 270 targ_selvecs=bfd_elf32_bigarm_vec 271 ;; 272 arm-*-elf | arm-*-freebsd* | arm*-*-linux-* | arm*-*-conix* | \ 273 arm*-*-uclinux* | arm-*-kfreebsd*-gnu | \ 274 arm*-*-eabi* ) 275 targ_defvec=bfd_elf32_littlearm_vec 276 targ_selvecs=bfd_elf32_bigarm_vec 277 ;; 278 arm*-*-vxworks | arm*-*-windiss) 279 targ_defvec=bfd_elf32_littlearm_vxworks_vec 280 targ_selvecs=bfd_elf32_bigarm_vxworks_vec 281 ;; 282 arm*-*-symbianelf*) 283 targ_defvec=bfd_elf32_littlearm_symbian_vec 284 targ_selvecs=bfd_elf32_bigarm_symbian_vec 285 ;; 286 arm9e-*-elf) 287 targ_defvec=bfd_elf32_littlearm_vec 288 targ_selvecs=bfd_elf32_bigarm_vec 289 ;; 290 291 thumb-*-coff) 292 targ_defvec=armcoff_little_vec 293 targ_selvecs=armcoff_big_vec 294 targ_underscore=yes 295 ;; 296 thumb-*-elf) 297 targ_defvec=bfd_elf32_littlearm_vec 298 targ_selvecs=bfd_elf32_bigarm_vec 299 ;; 300 thumb-epoc-pe*) 301 targ_defvec=arm_epoc_pe_little_vec 302 targ_selvecs="arm_epoc_pe_little_vec arm_epoc_pe_big_vec arm_epoc_pei_little_vec arm_epoc_pei_big_vec" 303 targ_underscore=no 304 ;; 305 thumb-*-pe*) 306 targ_defvec=armpe_little_vec 307 targ_selvecs="armpe_little_vec armpe_big_vec armpei_little_vec armpei_big_vec" 308 targ_underscore=yes 309 ;; 310 strongarm-*-elf) 311 targ_defvec=bfd_elf32_littlearm_vec 312 targ_selvecs=bfd_elf32_bigarm_vec 313 ;; 314 strongarm-*-coff) 315 targ_defvec=armcoff_little_vec 316 targ_selvecs=armcoff_big_vec 317 targ_underscore=yes 318 ;; 319 xscale-*-elf) 320 targ_defvec=bfd_elf32_littlearm_vec 321 targ_selvecs=bfd_elf32_bigarm_vec 322 ;; 323 xscale-*-coff) 324 targ_defvec=armcoff_little_vec 325 targ_selvecs=armcoff_big_vec 326 targ_underscore=yes 327 ;; 328 329 avr-*-*) 330 targ_defvec=bfd_elf32_avr_vec 331 ;; 332 333 bfin-*-*) 334 targ_defvec=bfd_elf32_bfin_vec 335 targ_selvecs=bfd_elf32_bfinfdpic_vec 336 targ_underscore=yes 337 ;; 338 339 c30-*-*aout* | tic30-*-*aout*) 340 targ_defvec=tic30_aout_vec 341 ;; 342 c30-*-*coff* | tic30-*-*coff*) 343 targ_defvec=tic30_coff_vec 344 ;; 345 346 c4x-*-*coff* | tic4x-*-*coff* | tic4x-*-rtems*) 347 targ_defvec=tic4x_coff1_vec 348 targ_selvecs="tic4x_coff1_beh_vec tic4x_coff2_vec tic4x_coff2_beh_vec tic4x_coff0_vec tic4x_coff0_beh_vec" 349 targ_underscore=yes 350 ;; 351 352 c54x*-*-*coff* | tic54x-*-*coff*) 353 targ_defvec=tic54x_coff1_vec 354 targ_selvecs="tic54x_coff1_beh_vec tic54x_coff2_vec tic54x_coff2_beh_vec tic54x_coff0_vec tic54x_coff0_beh_vec" 355 targ_underscore=yes 356 ;; 357 358 cr16-*-elf*) 359 targ_defvec=bfd_elf32_cr16_vec 360 targ_underscore=yes 361 ;; 362 363 cr16c-*-elf*) 364 targ_defvec=bfd_elf32_cr16c_vec 365 targ_underscore=yes 366 ;; 367 368 cris-*-* | crisv32-*-*) 369 targ_defvec=cris_aout_vec 370 targ_selvecs="bfd_elf32_us_cris_vec bfd_elf32_cris_vec ieee_vec" 371 targ_underscore=yes # Note: not true for bfd_elf32_cris_vec. 372 ;; 373 374 crx-*-elf*) 375 targ_defvec=bfd_elf32_crx_vec 376 targ_underscore=yes 377 ;; 378 379 d10v-*-*) 380 targ_defvec=bfd_elf32_d10v_vec 381 ;; 382 383 dlx-*-elf*) 384 targ_defvec=bfd_elf32_dlx_big_vec 385 targ_selvecs="bfd_elf32_dlx_big_vec" 386 ;; 387 388 d30v-*-*) 389 targ_defvec=bfd_elf32_d30v_vec 390 ;; 391 392 fido-*-elf* ) 393 targ_defvec=bfd_elf32_m68k_vec 394 targ_selvecs="m68kcoff_vec ieee_vec" 395 ;; 396 397 fr30-*-elf) 398 targ_defvec=bfd_elf32_fr30_vec 399 ;; 400 401 frv-*-elf) 402 targ_defvec=bfd_elf32_frv_vec 403 targ_selvecs=bfd_elf32_frvfdpic_vec 404 ;; 405 406 frv-*-*linux*) 407 targ_defvec=bfd_elf32_frvfdpic_vec 408 targ_selvecs=bfd_elf32_frv_vec 409 ;; 410 411 h8300*-*-rtemscoff*) 412 targ_defvec=h8300coff_vec 413 targ_underscore=yes 414 ;; 415 416 h8300*-*-elf | h8300*-*-rtems*) 417 targ_defvec=bfd_elf32_h8300_vec 418 targ_underscore=yes 419 ;; 420 421 h8300*-*-*) 422 targ_defvec=h8300coff_vec 423 targ_underscore=yes 424 ;; 425 426 h8500-*-*) 427 targ_defvec=h8500coff_vec 428 targ_underscore=yes 429 ;; 430 431#ifdef BFD64 432 hppa*64*-*-linux-*) 433 targ_defvec=bfd_elf64_hppa_linux_vec 434 targ_selvecs=bfd_elf64_hppa_vec 435 want64=true 436 ;; 437 hppa*64*-*-hpux11*) 438 targ_defvec=bfd_elf64_hppa_vec 439 targ_selvecs=bfd_elf64_hppa_linux_vec 440 targ_cflags=-DHPUX_LARGE_AR_IDS 441 want64=true 442 ;; 443#endif 444 445 hppa*-*-linux-*) 446 targ_defvec=bfd_elf32_hppa_linux_vec 447 targ_selvecs=bfd_elf32_hppa_vec 448 ;; 449 hppa*-*-netbsd*) 450 targ_defvec=bfd_elf32_hppa_nbsd_vec 451 targ_selvecs="bfd_elf32_hppa_vec bfd_elf32_hppa_linux_vec" 452 ;; 453 hppa*-*-*elf* | hppa*-*-lites* | hppa*-*-sysv4* | hppa*-*-openbsd*) 454 targ_defvec=bfd_elf32_hppa_vec 455 targ_selvecs=bfd_elf32_hppa_linux_vec 456 ;; 457 458#if defined (HOST_HPPAHPUX) || defined (HOST_HPPABSD) || defined (HOST_HPPAOSF) || defined (HOST_HPPAMPEIX) 459 hppa*-*-bsd*) 460 targ_defvec=som_vec 461 targ_selvecs=bfd_elf32_hppa_vec 462 ;; 463 hppa*-*-hpux* | hppa*-*-hiux* | hppa*-*-mpeix*) 464 targ_defvec=som_vec 465 ;; 466 hppa*-*-osf*) 467 targ_defvec=som_vec 468 targ_selvecs=bfd_elf32_hppa_vec 469 ;; 470#endif /* defined (HOST_HPPAHPUX) || defined (HOST_HPPABSD) || defined (HOST_HPPAOSF) */ 471 472 i370-*-*) 473 targ_defvec=bfd_elf32_i370_vec 474 targ_selvecs="bfd_elf32_i370_vec" 475 ;; 476 i[3-7]86-*-sco3.2v5*coff) 477 targ_defvec=i386coff_vec 478 targ_selvecs=bfd_elf32_i386_vec 479 ;; 480 i[3-7]86-*-sysv4* | i[3-7]86-*-unixware* | \ 481 i[3-7]86-*-elf | i[3-7]86-*-sco3.2v5* | \ 482 i[3-7]86-*-dgux* | i[3-7]86-*-sysv5*) 483 targ_defvec=bfd_elf32_i386_vec 484 targ_selvecs=i386coff_vec 485 ;; 486 i[3-7]86-*-solaris2*) 487 targ_defvec=bfd_elf32_i386_vec 488 targ_selvecs=i386coff_vec 489 targ64_selvecs=bfd_elf64_x86_64_vec 490 want64=true 491 ;; 492#ifdef BFD64 493 x86_64-*-solaris2*) 494 targ_defvec=bfd_elf32_i386_vec 495 targ_selvecs="bfd_elf64_x86_64_vec i386coff_vec" 496 want64=true 497 ;; 498#endif 499 i[3-7]86-*-kaos*) 500 targ_defvec=bfd_elf32_i386_vec 501 targ_selvecs=bfd_elf32_i386_vec 502 ;; 503 i[3-7]86-*-nto*) 504 targ_defvec=bfd_elf32_i386_vec 505 targ_selvecs=i386coff_vec 506 ;; 507 i[3-7]86-*-aros*) 508 targ_defvec=bfd_elf32_i386_vec 509 ;; 510 i[3-7]86-*-chorus*) 511 targ_defvec=bfd_elf32_i386_vec 512 ;; 513 i[3-7]86-*-dicos*) 514 targ_defvec=bfd_elf32_i386_vec 515 targ64_selvecs=bfd_elf64_x86_64_vec 516 ;; 517 *-*-msdosdjgpp* | *-*-go32* ) 518 targ_defvec=go32coff_vec 519 targ_selvecs="go32stubbedcoff_vec i386aout_vec" 520 ;; 521 i[3-7]86-*-sysv* | i[3-7]86-*-isc* | i[3-7]86-*-sco* | i[3-7]86-*-coff | \ 522 i[3-7]86-*-aix*) 523 targ_defvec=i386coff_vec 524 ;; 525 i[3-7]86-*-rtems*) 526 targ_defvec=bfd_elf32_i386_vec 527 targ_selvecs="i386coff_vec i386aout_vec" 528 ;; 529 i[3-7]86-*-darwin* | i[3-7]86-*-macos10* | i[3-7]86-*-rhapsody*) 530 targ_defvec=mach_o_le_vec 531 targ_selvecs="mach_o_le_vec mach_o_be_vec mach_o_fat_vec pef_vec pef_xlib_vec sym_vec" 532 targ_archs="bfd_i386_arch bfd_powerpc_arch bfd_rs6000_arch" 533 ;; 534 i[3-7]86-sequent-bsd*) 535 targ_defvec=i386dynix_vec 536 targ_underscore=yes 537 ;; 538 i[3-7]86-*-bsd*) 539 targ_defvec=i386bsd_vec 540 targ_underscore=yes 541 ;; 542 i[3-7]86-*-freebsdaout* | i[3-7]86-*-freebsd[12].* | \ 543 i[3-7]86-*-freebsd[12]) 544 targ_defvec=i386freebsd_vec 545 targ_selvecs=i386bsd_vec 546 targ_underscore=yes 547 ;; 548 i[3-7]86-*-freebsd* | i[3-7]86-*-kfreebsd*-gnu | i[3-7]86-*-dragonfly*) 549 targ_defvec=bfd_elf32_i386_freebsd_vec 550 targ_selvecs="bfd_elf32_i386_vec bfd_efi_app_ia32_vec bfd_efi_bsdrv_ia32_vec bfd_efi_rtdrv_ia32_vec i386coff_vec" 551 targ64_selvecs="bfd_elf64_x86_64_freebsd_vec bfd_elf64_x86_64_vec bfd_efi_app_x86_64_vec bfd_efi_bsdrv_x86_64_vec bfd_efi_rtdrv_x86_64_vec" 552 # FreeBSD <= 4.0 supports only the old nonstandard way of ABI labelling. 553 case "${targ}" in 554 i[3-7]86-*-freebsd3* | i[3-7]86-*-freebsd4 | i[3-7]86-*-freebsd4.0*) 555 targ_cflags=-DOLD_FREEBSD_ABI_LABEL ;; 556 esac 557 ;; 558 i[3-7]86-*-netbsdelf* | i[3-7]86-*-netbsd*-gnu* | i[3-7]86-*-knetbsd*-gnu) 559 targ_defvec=bfd_elf32_i386_vec 560 targ_selvecs=i386netbsd_vec 561 targ64_selvecs=bfd_elf64_x86_64_vec 562 ;; 563 i[3-7]86-*-netbsdpe*) 564 targ_defvec=i386pe_vec 565 targ_selvecs="i386pe_vec i386pei_vec bfd_elf32_i386_vec" 566 ;; 567 i[3-7]86-*-netbsdaout* | i[3-7]86-*-netbsd* | \ 568 i[3-7]86-*-openbsd[0-2].* | i[3-7]86-*-openbsd3.[0-3]) 569 targ_defvec=i386netbsd_vec 570 targ_selvecs="bfd_elf32_i386_vec i386bsd_vec" 571 targ_underscore=yes 572 ;; 573 i[3-7]86-*-openbsd*) 574 targ_defvec=bfd_elf32_i386_vec 575 targ_selvecs=i386netbsd_vec 576 ;; 577 i[3-7]86-*-netware*) 578 targ_defvec=bfd_elf32_i386_vec 579 targ_selvecs="nlm32_i386_vec i386coff_vec i386aout_vec" 580 ;; 581 i[3-7]86-*-linux*aout*) 582 targ_defvec=i386linux_vec 583 targ_selvecs=bfd_elf32_i386_vec 584 targ_underscore=yes 585 ;; 586 i[3-7]86-*-linux-*) 587 targ_defvec=bfd_elf32_i386_vec 588 targ_selvecs="i386linux_vec bfd_efi_app_ia32_vec bfd_efi_bsdrv_ia32_vec bfd_efi_rtdrv_ia32_vec" 589 targ64_selvecs=bfd_elf64_x86_64_vec 590 ;; 591#ifdef BFD64 592 x86_64-*-dicos*) 593 targ_defvec=bfd_elf64_x86_64_vec 594 targ_selvecs="bfd_elf32_i386_vec" 595 want64=true 596 ;; 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_bsdrv_ia32_vec bfd_efi_rtdrv_ia32_vec bfd_efi_app_x86_64_vec bfd_efi_bsdrv_x86_64_vec bfd_efi_rtdrv_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_bsdrv_ia32_vec bfd_efi_rtdrv_ia32_vec bfd_efi_app_x86_64_vec bfd_efi_bsdrv_x86_64_vec bfd_efi_rtdrv_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_bsdrv_ia32_vec bfd_efi_rtdrv_ia32_vec bfd_efi_app_x86_64_vec bfd_efi_bsdrv_x86_64_vec bfd_efi_rtdrv_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 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 m68k4k*-*-netbsd*) 799 targ_defvec=m68k4knetbsd_vec 800 targ_selvecs="m68knetbsd_vec hp300bsd_vec sunos_big_vec bfd_elf32_m68k_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#ifdef BFD64 877 mips64*el-*-netbsd*) 878 targ_defvec=bfd_elf32_ntradlittlemips_vec 879 targ_selvecs="bfd_elf64_tradbigmips_vec bfd_elf64_tradlittlemips_vec bfd_elf32_ntradbigmips_vec bfd_elf32_tradlittlemips_vec bfd_elf32_tradbigmips_vec" 880 ;; 881 mips64*-*-netbsd*) 882 targ_defvec=bfd_elf32_ntradbigmips_vec 883 targ_selvecs="bfd_elf64_tradbigmips_vec bfd_elf64_tradlittlemips_vec bfd_elf32_ntradlittlemips_vec bfd_elf32_tradlittlemips_vec bfd_elf32_tradbigmips_vec" 884 ;; 885#endif 886 mips*el-*-netbsd*) 887 targ_defvec=bfd_elf32_tradlittlemips_vec 888 targ_selvecs="bfd_elf32_tradbigmips_vec bfd_elf64_tradbigmips_vec bfd_elf64_tradlittlemips_vec ecoff_little_vec ecoff_big_vec" 889 ;; 890 mips*-*-netbsd*) 891 targ_defvec=bfd_elf32_tradbigmips_vec 892 targ_selvecs="bfd_elf32_tradlittlemips_vec bfd_elf64_tradbigmips_vec bfd_elf64_tradlittlemips_vec ecoff_big_vec ecoff_little_vec" 893 ;; 894 mips*-dec-* | mips*el-*-ecoff*) 895 targ_defvec=ecoff_little_vec 896 targ_selvecs=ecoff_big_vec 897 ;; 898 mips*-*-ecoff*) 899 targ_defvec=ecoff_big_vec 900 targ_selvecs=ecoff_little_vec 901 ;; 902#ifdef BFD64 903 mips*-*-irix6*) 904 targ_defvec=bfd_elf32_nbigmips_vec 905 targ_selvecs="bfd_elf32_nlittlemips_vec bfd_elf32_bigmips_vec bfd_elf32_littlemips_vec bfd_elf64_bigmips_vec bfd_elf64_littlemips_vec" 906 want64=true 907 ;; 908#endif 909 mips*-*-irix5*) 910 targ_defvec=bfd_elf32_bigmips_vec 911 targ_selvecs="bfd_elf32_littlemips_vec ecoff_big_vec ecoff_little_vec" 912 ;; 913 mips*-sgi-* | mips*-*-bsd*) 914 targ_defvec=ecoff_big_vec 915 targ_selvecs=ecoff_little_vec 916 ;; 917 mips*-*-lnews*) 918 targ_defvec=ecoff_biglittle_vec 919 targ_selvecs="ecoff_little_vec ecoff_big_vec" 920 ;; 921 mips*-*-sysv4*) 922 targ_defvec=bfd_elf32_tradbigmips_vec 923 targ_selvecs="bfd_elf32_tradlittlemips_vec ecoff_big_vec ecoff_little_vec" 924 ;; 925 mips*-*-sysv* | mips*-*-riscos*) 926 targ_defvec=ecoff_big_vec 927 targ_selvecs=ecoff_little_vec 928 ;; 929#ifdef BFD64 930 mips*el-*-vxworks*) 931 targ_defvec=bfd_elf32_littlemips_vxworks_vec 932 targ_selvecs="bfd_elf32_littlemips_vec bfd_elf32_bigmips_vxworks_vec bfd_elf32_bigmips_vec bfd_elf64_bigmips_vec bfd_elf64_littlemips_vec" 933 want64=true 934 ;; 935 mips*-*-vxworks*) 936 targ_defvec=bfd_elf32_bigmips_vxworks_vec 937 targ_selvecs="bfd_elf32_bigmips_vec bfd_elf32_littlemips_vxworks_vec bfd_elf32_bigmips_vec bfd_elf64_bigmips_vec bfd_elf64_littlemips_vec" 938 want64=true 939 ;; 940#endif 941 mips*el-sde-elf*) 942 targ_defvec=bfd_elf32_tradlittlemips_vec 943 targ_selvecs="bfd_elf32_tradbigmips_vec bfd_elf32_ntradbigmips_vec bfd_elf32_ntradlittlemips_vec bfd_elf64_tradbigmips_vec bfd_elf64_tradlittlemips_vec" 944 want64=true 945 ;; 946 mips*-sde-elf*) 947 targ_defvec=bfd_elf32_tradbigmips_vec 948 targ_selvecs="bfd_elf32_tradlittlemips_vec bfd_elf32_ntradbigmips_vec bfd_elf32_ntradlittlemips_vec bfd_elf64_tradbigmips_vec bfd_elf64_tradlittlemips_vec" 949 want64=true 950 ;; 951 mips*el-*-elf* | mips*el-*-vxworks* | mips*-*-chorus*) 952 targ_defvec=bfd_elf32_littlemips_vec 953 targ_selvecs="bfd_elf32_bigmips_vec bfd_elf64_bigmips_vec bfd_elf64_littlemips_vec" 954 ;; 955 mips*-*-elf* | mips*-*-rtems* | mips*-*-vxworks | mips*-*-windiss) 956 targ_defvec=bfd_elf32_bigmips_vec 957 targ_selvecs="bfd_elf32_littlemips_vec bfd_elf64_bigmips_vec bfd_elf64_littlemips_vec" 958 ;; 959 mips*-*-none) 960 targ_defvec=bfd_elf32_bigmips_vec 961 targ_selvecs="bfd_elf32_littlemips_vec bfd_elf64_bigmips_vec bfd_elf64_littlemips_vec" 962 ;; 963#ifdef BFD64 964 mips64*-*-openbsd*) 965 targ_defvec=bfd_elf64_tradbigmips_vec 966 targ_selvecs="bfd_elf32_ntradlittlemips_vec bfd_elf32_ntradbigmips_vec bfd_elf32_tradlittlemips_vec bfd_elf32_tradbigmips_vec bfd_elf64_tradlittlemips_vec" 967 want64=true 968 ;; 969#endif 970 mips*el-*-openbsd*) 971 targ_defvec=bfd_elf32_littlemips_vec 972 targ_selvecs="bfd_elf32_bigmips_vec bfd_elf64_bigmips_vec bfd_elf64_littlemips_vec ecoff_little_vec ecoff_big_vec" 973 ;; 974 mips*-*-openbsd*) 975 targ_defvec=bfd_elf32_bigmips_vec 976 targ_selvecs="bfd_elf32_littlemips_vec bfd_elf64_bigmips_vec bfd_elf64_littlemips_vec ecoff_big_vec ecoff_little_vec" 977 ;; 978#ifdef BFD64 979 mips64*el-*-linux*) 980 targ_defvec=bfd_elf32_ntradlittlemips_vec 981 targ_selvecs="bfd_elf32_ntradbigmips_vec bfd_elf32_tradlittlemips_vec bfd_elf32_tradbigmips_vec bfd_elf64_tradlittlemips_vec bfd_elf64_tradbigmips_vec" 982 want64=true 983 ;; 984 mips64*-*-linux*) 985 targ_defvec=bfd_elf32_ntradbigmips_vec 986 targ_selvecs="bfd_elf32_ntradlittlemips_vec bfd_elf32_tradbigmips_vec bfd_elf32_tradlittlemips_vec bfd_elf64_tradbigmips_vec bfd_elf64_tradlittlemips_vec" 987 want64=true 988 ;; 989#endif 990 mips*el-*-linux*) 991 targ_defvec=bfd_elf32_tradlittlemips_vec 992 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" 993 want64=true 994 ;; 995 mips*-*-linux*) 996 targ_defvec=bfd_elf32_tradbigmips_vec 997 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" 998 want64=true 999 ;; 1000#ifdef BFD64 1001 mmix-*-*) 1002 targ_defvec=bfd_elf64_mmix_vec 1003 targ_selvecs=bfd_mmo_vec 1004 want64=true 1005 ;; 1006#endif 1007 mn10200-*-*) 1008 targ_defvec=bfd_elf32_mn10200_vec 1009 ;; 1010 1011 mn10300-*-*) 1012 targ_defvec=bfd_elf32_mn10300_vec 1013 targ_underscore=yes 1014 ;; 1015 1016 mt-*-elf) 1017 targ_defvec=bfd_elf32_mt_vec 1018 ;; 1019 1020 msp430-*-*) 1021 targ_defvec=bfd_elf32_msp430_vec 1022 ;; 1023 1024 ns32k-pc532-mach* | ns32k-pc532-ux*) 1025 targ_defvec=pc532machaout_vec 1026 targ_underscore=yes 1027 ;; 1028 ns32k-*-netbsd* | ns32k-*-lites* | ns32k-*-openbsd*) 1029 targ_defvec=pc532netbsd_vec 1030 targ_underscore=yes 1031 ;; 1032 1033 openrisc-*-elf) 1034 targ_defvec=bfd_elf32_openrisc_vec 1035 ;; 1036 1037 or32-*-coff) 1038 targ_defvec=or32coff_big_vec 1039 targ_underscore=yes 1040 ;; 1041 1042 or32-*-elf) 1043 targ_defvec=bfd_elf32_or32_big_vec 1044 ;; 1045 1046 pdp11-*-*) 1047 targ_defvec=pdp11_aout_vec 1048 targ_underscore=yes 1049 ;; 1050 1051 pj-*-*) 1052 targ_defvec=bfd_elf32_pj_vec 1053 targ_selvecs="bfd_elf32_pj_vec bfd_elf32_pjl_vec" 1054 ;; 1055 1056 pjl-*-*) 1057 targ_defvec=bfd_elf32_pjl_vec 1058 targ_selvecs="bfd_elf32_pjl_vec bfd_elf32_pj_vec bfd_elf32_i386_vec" 1059 ;; 1060 1061 powerpc-*-aix5.[01]) 1062 targ_defvec=rs6000coff_vec 1063 targ_selvecs="aix5coff64_vec" 1064 want64=true 1065 ;; 1066#ifdef BFD64 1067 powerpc64-*-aix5.[01]) 1068 targ_defvec=aix5coff64_vec 1069 targ_selvecs="rs6000coff_vec" 1070 want64=true 1071 ;; 1072#endif 1073 powerpc-*-aix5*) 1074 targ_cflags=-DAIX_WEAK_SUPPORT 1075 targ_defvec=rs6000coff_vec 1076 targ_selvecs="aix5coff64_vec" 1077 want64=true 1078 ;; 1079#ifdef BFD64 1080 powerpc64-*-aix5*) 1081 targ_cflags=-DAIX_WEAK_SUPPORT 1082 targ_defvec=aix5coff64_vec 1083 targ_selvecs="rs6000coff_vec" 1084 want64=true 1085 ;; 1086#endif 1087 1088 powerpc-*-aix* | powerpc-*-beos* | rs6000-*-*) 1089 targ_defvec=rs6000coff_vec 1090 targ64_selvecs=rs6000coff64_vec 1091 case "${targ}" in 1092 *-*-aix4.[3456789]* | *-*-aix[56789]*) 1093 want64=true;; 1094 *) 1095 targ_cflags=-DSMALL_ARCHIVE;; 1096 esac 1097 ;; 1098#ifdef BFD64 1099 powerpc64-*-aix*) 1100 targ_defvec=rs6000coff64_vec 1101 targ_selvecs=rs6000coff_vec 1102 want64=true 1103 ;; 1104 powerpc64-*-elf* | powerpc-*-elf64* | powerpc64-*-linux* | \ 1105 powerpc64-*-*bsd*) 1106 targ_defvec=bfd_elf64_powerpc_vec 1107 targ_selvecs="bfd_elf64_powerpcle_vec bfd_elf32_powerpc_vec bfd_elf32_powerpcle_vec rs6000coff_vec rs6000coff64_vec" 1108 want64=true 1109 ;; 1110 powerpc64le-*-elf* | powerpcle-*-elf64*) 1111 targ_defvec=bfd_elf64_powerpcle_vec 1112 targ_selvecs="bfd_elf64_powerpc_vec bfd_elf32_powerpcle_vec bfd_elf32_powerpc_vec rs6000coff_vec rs6000coff64_vec" 1113 want64=true 1114 ;; 1115#endif 1116 powerpc-*-*bsd* | powerpc-*-elf* | powerpc-*-sysv4* | powerpc-*-eabi* | \ 1117 powerpc-*-solaris2* | powerpc-*-linux-* | powerpc-*-rtems* | \ 1118 powerpc-*-chorus*) 1119 targ_defvec=bfd_elf32_powerpc_vec 1120 targ_selvecs="rs6000coff_vec bfd_elf32_powerpcle_vec ppcboot_vec" 1121 targ64_selvecs="bfd_elf64_powerpc_vec bfd_elf64_powerpcle_vec" 1122 ;; 1123 powerpc-*-kaos*) 1124 targ_defvec=bfd_elf32_powerpc_vec 1125 targ_selvecs="bfd_elf32_powerpcle_vec ppcboot_vec" 1126 targ64_selvecs="bfd_elf64_powerpc_vec bfd_elf64_powerpcle_vec" 1127 ;; 1128 powerpc-*-darwin* | powerpc-*-macos10* | powerpc-*-rhapsody*) 1129 targ_defvec=mach_o_be_vec 1130 targ_selvecs="mach_o_be_vec mach_o_le_vec mach_o_fat_vec pef_vec pef_xlib_vec sym_vec" 1131 targ_archs="bfd_powerpc_arch bfd_rs6000_arch bfd_i386_arch" 1132 ;; 1133 powerpc-*-macos*) 1134 targ_defvec=pmac_xcoff_vec 1135 ;; 1136 powerpc-*-lynxos*) 1137 targ_defvec=bfd_elf32_powerpc_vec 1138 targ_selvecs="rs6000coff_vec" 1139 targ_cflags=-DSMALL_ARCHIVE 1140 ;; 1141 powerpc-*-netware*) 1142 targ_defvec=bfd_elf32_powerpc_vec 1143 targ_selvecs="nlm32_powerpc_vec rs6000coff_vec" 1144 ;; 1145 powerpc-*-nto*) 1146 targ_defvec=bfd_elf32_powerpc_vec 1147 targ_selvecs="rs6000coff_vec bfd_elf32_powerpcle_vec ppcboot_vec" 1148 ;; 1149 powerpc-*-vxworks* | powerpc-*-windiss*) 1150 targ_defvec=bfd_elf32_powerpc_vxworks_vec 1151 targ_selvecs="rs6000coff_vec bfd_elf32_powerpc_vec bfd_elf32_powerpcle_vec ppcboot_vec" 1152 targ64_selvecs="bfd_elf64_powerpc_vec bfd_elf64_powerpcle_vec" 1153 ;; 1154 powerpcle-*-nto*) 1155 targ_defvec=bfd_elf32_powerpcle_vec 1156 targ_selvecs="rs6000coff_vec bfd_elf32_powerpc_vec ppcboot_vec" 1157 ;; 1158 powerpcle-*-elf* | powerpcle-*-sysv4* | powerpcle-*-eabi* | \ 1159 powerpcle-*-solaris2* | powerpcle-*-linux-* | powerpcle-*-vxworks*) 1160 targ_defvec=bfd_elf32_powerpcle_vec 1161 targ_selvecs="rs6000coff_vec bfd_elf32_powerpc_vec ppcboot_vec" 1162 targ64_selvecs="bfd_elf64_powerpc_vec bfd_elf64_powerpcle_vec" 1163 ;; 1164 powerpcle-*-pe | powerpcle-*-winnt* | powerpcle-*-cygwin*) 1165 targ_defvec=bfd_powerpcle_pe_vec 1166 targ_selvecs="bfd_powerpcle_pei_vec bfd_powerpc_pei_vec bfd_powerpcle_pe_vec bfd_powerpc_pe_vec" 1167 ;; 1168 1169 s390-*-linux*) 1170 targ_defvec=bfd_elf32_s390_vec 1171 targ64_selvecs=bfd_elf64_s390_vec 1172 want64=true 1173 ;; 1174#ifdef BFD64 1175 s390x-*-linux*) 1176 targ_defvec=bfd_elf64_s390_vec 1177 targ_selvecs=bfd_elf32_s390_vec 1178 want64=true 1179 ;; 1180 s390x-*-tpf*) 1181 targ_defvec=bfd_elf64_s390_vec 1182 want64=true 1183 ;; 1184#endif 1185 1186 score*-*-elf*) 1187 targ_defvec=bfd_elf32_bigscore_vec 1188 targ_selvecs=bfd_elf32_littlescore_vec 1189 ;; 1190 1191#ifdef BFD64 1192 sh64l*-*-elf*) 1193 targ_defvec=bfd_elf32_sh64l_vec 1194 targ_selvecs="bfd_elf32_sh64_vec bfd_elf64_sh64l_vec bfd_elf64_sh64_vec bfd_elf32_shl_vec bfd_elf32_sh_vec" 1195 targ_underscore=yes 1196 want64=true 1197 ;; 1198 sh64-*-elf*) 1199 targ_defvec=bfd_elf32_sh64_vec 1200 targ_selvecs="bfd_elf32_sh64l_vec bfd_elf64_sh64_vec bfd_elf64_sh64l_vec bfd_elf32_sh_vec bfd_elf32_shl_vec" 1201 targ_underscore=yes 1202 want64=true 1203 ;; 1204 sh64eb-*-linux*) 1205 targ_defvec=bfd_elf32_sh64blin_vec 1206 targ_selvecs="bfd_elf32_sh64lin_vec bfd_elf64_sh64blin_vec bfd_elf64_sh64lin_vec bfd_elf32_shblin_vec bfd_elf32_shlin_vec" 1207 want64=true 1208 ;; 1209 sh64-*-linux*) 1210 targ_defvec=bfd_elf32_sh64lin_vec 1211 targ_selvecs="bfd_elf32_sh64blin_vec bfd_elf64_sh64lin_vec bfd_elf64_sh64blin_vec bfd_elf32_shlin_vec bfd_elf32_shblin_vec" 1212 want64=true 1213 ;; 1214 sh-*-linux*) 1215 targ_defvec=bfd_elf32_shblin_vec 1216 targ_selvecs="bfd_elf32_shlin_vec bfd_elf32_sh64lin_vec bfd_elf32_sh64blin_vec bfd_elf64_sh64lin_vec bfd_elf64_sh64blin_vec" 1217 want64=true 1218 ;; 1219#endif /* BFD64 */ 1220 1221 sh*eb-*-linux*) 1222 targ_defvec=bfd_elf32_shblin_vec 1223 targ_selvecs=bfd_elf32_shlin_vec 1224 ;; 1225 sh*-*-linux*) 1226 targ_defvec=bfd_elf32_shlin_vec 1227 targ_selvecs=bfd_elf32_shblin_vec 1228 ;; 1229 1230 sh-*-uclinux* | sh[12]-*-uclinux*) 1231 targ_defvec=bfd_elf32_sh_vec 1232 targ_selvecs="bfd_elf32_shblin_vec bfd_elf32_shlin_vec" 1233#ifdef BFD64 1234 targ_selvecs="${targ_selvecs} bfd_elf32_sh64lin_vec bfd_elf32_sh64blin_vec bfd_elf64_sh64lin_vec bfd_elf64_sh64blin_vec" 1235#endif 1236 ;; 1237 1238#ifdef BFD64 1239 sh5le-*-netbsd*) 1240 targ_defvec=bfd_elf32_sh64lnbsd_vec 1241 targ_selvecs="bfd_elf32_sh64nbsd_vec bfd_elf64_sh64lnbsd_vec bfd_elf64_sh64nbsd_vec bfd_elf32_shnbsd_vec bfd_elf32_shlnbsd_vec" 1242 want64=true 1243 ;; 1244 sh5-*-netbsd*) 1245 targ_defvec=bfd_elf32_sh64nbsd_vec 1246 targ_selvecs="bfd_elf32_sh64lnbsd_vec bfd_elf64_sh64lnbsd_vec bfd_elf64_sh64nbsd_vec bfd_elf32_shnbsd_vec bfd_elf32_shlnbsd_vec" 1247 want64=true 1248 ;; 1249 1250 sh64le-*-netbsd*) 1251 targ_defvec=bfd_elf64_sh64lnbsd_vec 1252 targ_selvecs="bfd_elf64_sh64nbsd_vec bfd_elf32_sh64lnbsd_vec bfd_elf32_sh64nbsd_vec bfd_elf32_shnbsd_vec bfd_elf32_shlnbsd_vec" 1253 want64=true 1254 ;; 1255 sh64-*-netbsd*) 1256 targ_defvec=bfd_elf64_sh64nbsd_vec 1257 targ_selvecs="bfd_elf64_sh64lnbsd_vec bfd_elf32_sh64lnbsd_vec bfd_elf32_sh64nbsd_vec bfd_elf32_shnbsd_vec bfd_elf32_shlnbsd_vec" 1258 want64=true 1259 ;; 1260 1261#endif 1262 1263 sh*l*-*-netbsdelf*) 1264 targ_defvec=bfd_elf32_shlnbsd_vec 1265 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" 1266 want64=true 1267 ;; 1268 sh-*-netbsdelf*) 1269 targ_defvec=bfd_elf32_shnbsd_vec 1270 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" 1271 want64=true 1272 ;; 1273 sh*-*-netbsdelf*) 1274 targ_defvec=bfd_elf32_shnbsd_vec 1275 targ_selvecs="bfd_elf32_shlnbsd_vec shcoff_vec shlcoff_vec" 1276 ;; 1277 sh*-*-symbianelf*) 1278 targ_defvec=bfd_elf32_shl_symbian_vec 1279 targ_selvecs="shlcoff_vec shlcoff_small_vec" 1280 targ_underscore=yes 1281 ;; 1282 1283#ifdef BFD64 1284 shl*-*-elf* | sh[1234]l*-*-elf* | sh3el*-*-elf* | shl*-*-kaos*) 1285 targ_defvec=bfd_elf32_shl_vec 1286 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" 1287 targ_underscore=yes 1288 want64=true 1289 ;; 1290#endif 1291 1292 sh-*-rtemscoff*) 1293 targ_defvec=shcoff_vec 1294 targ_selvecs="shcoff_vec shlcoff_vec shcoff_small_vec shlcoff_small_vec" 1295 targ_underscore=yes 1296 ;; 1297 1298#ifdef BFD64 1299 sh-*-elf* | sh[1234]*-elf* | sh-*-rtems* | sh-*-kaos*) 1300 targ_defvec=bfd_elf32_sh_vec 1301 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" 1302 targ_underscore=yes 1303 want64=true 1304 ;; 1305#endif 1306 1307 sh-*-nto*) 1308 targ_defvec=bfd_elf32_sh_vec 1309 targ_selvecs="bfd_elf32_shl_vec shcoff_vec shlcoff_vec shcoff_small_vec shlcoff_small_vec" 1310 targ_underscore=yes 1311 ;; 1312 sh*-*-openbsd*) 1313 targ_defvec=bfd_elf32_shlnbsd_vec 1314 targ_selvecs="bfd_elf32_shnbsd_vec shcoff_vec shlcoff_vec" 1315 ;; 1316 sh-*-pe) 1317 targ_defvec=shlpe_vec 1318 targ_selvecs="shlpe_vec shlpei_vec" 1319 targ_underscore=yes 1320 ;; 1321 sh-*-vxworks) 1322 targ_defvec=bfd_elf32_shvxworks_vec 1323 targ_selvecs="bfd_elf32_shlvxworks_vec" 1324 # FIXME None of the following are actually used on this target, but 1325 # they're necessary for coff-sh.c (which is unconditionally used) to be 1326 # compiled correctly. 1327 targ_selvecs="$targ_selvecs shcoff_vec shlcoff_vec shcoff_small_vec shlcoff_small_vec" 1328 targ_underscore=yes 1329 ;; 1330 sh-*-*) 1331 targ_defvec=shcoff_vec 1332 targ_selvecs="shcoff_vec shlcoff_vec shcoff_small_vec shlcoff_small_vec" 1333 targ_underscore=yes 1334 ;; 1335 1336 sparclet-*-aout*) 1337 targ_defvec=sunos_big_vec 1338 targ_selvecs=sparcle_aout_vec 1339 targ_underscore=yes 1340 ;; 1341 sparc86x-*-aout*) 1342 targ_defvec=sunos_big_vec 1343 targ_underscore=yes 1344 ;; 1345 sparclite-*-elf* | sparc86x-*-elf*) 1346 targ_defvec=bfd_elf32_sparc_vec 1347 ;; 1348 sparc*-*-chorus*) 1349 targ_defvec=bfd_elf32_sparc_vec 1350 ;; 1351 sparc-*-linux*aout*) 1352 targ_defvec=sparclinux_vec 1353 targ_selvecs="bfd_elf32_sparc_vec sunos_big_vec" 1354 targ_underscore=yes 1355 ;; 1356 sparc-*-linux-* | sparcv*-*-linux-*) 1357 targ_defvec=bfd_elf32_sparc_vec 1358 targ_selvecs="sparclinux_vec bfd_elf64_sparc_vec sunos_big_vec" 1359 ;; 1360 sparc-*-netbsdelf*) 1361 targ_defvec=bfd_elf32_sparc_vec 1362 targ_selvecs="sparcnetbsd_vec sunos_big_vec" 1363 ;; 1364 sparc-*-netbsd*) 1365 targ_defvec=sparcnetbsd_vec 1366 targ_selvecs="bfd_elf32_sparc_vec sunos_big_vec" 1367 targ_underscore=yes 1368 ;; 1369 sparc-*-openbsd[0-2].* | sparc-*-openbsd3.[0-1]) 1370 targ_defvec=sparcnetbsd_vec 1371 targ_underscore=yes 1372 ;; 1373 sparc-*-openbsd*) 1374 targ_defvec=bfd_elf32_sparc_vec 1375 targ_selvecs=sparcnetbsd_vec 1376 ;; 1377 sparc-*-elf* | sparc-*-solaris2.[0-6] | sparc-*-solaris2.[0-6].*) 1378 targ_defvec=bfd_elf32_sparc_vec 1379 targ_selvecs=sunos_big_vec 1380 ;; 1381#ifdef BFD64 1382 sparc-*-solaris2* | sparcv9-*-solaris2* | sparc64-*-solaris2*) 1383 targ_defvec=bfd_elf32_sparc_vec 1384 targ_selvecs="bfd_elf64_sparc_vec sunos_big_vec" 1385 want64=true 1386 ;; 1387#endif 1388 sparc-*-sysv4*) 1389 targ_defvec=bfd_elf32_sparc_vec 1390 ;; 1391 sparc-*-vxworks*) 1392 targ_defvec=bfd_elf32_sparc_vxworks_vec 1393 targ_selvecs="bfd_elf32_sparc_vec sunos_big_vec" 1394 ;; 1395 sparc-*-netware*) 1396 targ_defvec=bfd_elf32_sparc_vec 1397 targ_selvecs="nlm32_sparc_vec sunos_big_vec" 1398 ;; 1399#ifdef BFD64 1400 sparc64-*-aout*) 1401 targ_defvec=sunos_big_vec 1402 targ_underscore=yes 1403 want64=true 1404 ;; 1405 sparc64*-*-linux-*) 1406 targ_defvec=bfd_elf64_sparc_vec 1407 targ_selvecs="bfd_elf32_sparc_vec sparclinux_vec sunos_big_vec" 1408 want64=true 1409 ;; 1410 sparc64-*-netbsd*) 1411 targ_defvec=bfd_elf64_sparc_vec 1412 targ_selvecs="bfd_elf32_sparc_vec sparcnetbsd_vec sunos_big_vec" 1413 ;; 1414 sparc64-*-elf*) 1415 targ_defvec=bfd_elf64_sparc_vec 1416 targ_selvecs=bfd_elf32_sparc_vec 1417 want64=true 1418 ;; 1419#endif /* BFD64 */ 1420 sparc*-*-coff*) 1421 targ_defvec=sparccoff_vec 1422 ;; 1423 sparc*-*-rtems*) 1424 targ_defvec=bfd_elf32_sparc_vec 1425 targ_selvecs="sunos_big_vec sparccoff_vec" 1426 ;; 1427 sparc*-*-*) 1428 targ_defvec=sunos_big_vec 1429 targ_underscore=yes 1430 ;; 1431 1432 spu-*-elf) 1433 targ_defvec=bfd_elf32_spu_vec 1434 want64=true 1435 ;; 1436 1437#if HAVE_host_aout_vec 1438 tahoe-*-*) 1439 targ_defvec=host_aout_vec 1440 targ_underscore=yes 1441 ;; 1442#endif 1443 1444 tic80*-*-*) 1445 targ_defvec=tic80coff_vec 1446 targ_underscore=yes 1447 ;; 1448 1449 v850-*-*) 1450 targ_defvec=bfd_elf32_v850_vec 1451 ;; 1452 v850e-*-*) 1453 targ_defvec=bfd_elf32_v850_vec 1454 ;; 1455 v850ea-*-*) 1456 targ_defvec=bfd_elf32_v850_vec 1457 ;; 1458 1459 vax-*-netbsdelf*) 1460 targ_defvec=bfd_elf32_vax_vec 1461 targ_selvecs="vaxnetbsd_vec vax1knetbsd_vec" 1462 ;; 1463 1464 vax-*-netbsdaout* | vax-*-netbsd*) 1465 targ_defvec=vaxnetbsd_vec 1466 targ_selvecs="bfd_elf32_vax_vec vax1knetbsd_vec" 1467 targ_underscore=yes 1468 ;; 1469 1470 vax-*-bsd* | vax-*-ultrix*) 1471 targ_defvec=vaxbsd_vec 1472 targ_underscore=yes 1473 ;; 1474 1475 vax-*-openbsd*) 1476 targ_defvec=vaxnetbsd_vec 1477 targ_underscore=yes 1478 ;; 1479 1480 vax-*-linux-*) 1481 targ_defvec=bfd_elf32_vax_vec 1482 ;; 1483 1484 vax*-*-*vms*) 1485 targ_defvec=vms_vax_vec 1486 ;; 1487 1488 we32k-*-*) 1489 targ_defvec=we32kcoff_vec 1490 ;; 1491 1492 w65-*-*) 1493 targ_defvec=w65_vec 1494 ;; 1495 1496 xstormy16-*-elf) 1497 targ_defvec=bfd_elf32_xstormy16_vec 1498 ;; 1499 1500 xtensa*-*-*) 1501 targ_defvec=bfd_elf32_xtensa_le_vec 1502 targ_selvecs=bfd_elf32_xtensa_be_vec 1503 ;; 1504 xc16x-*-elf) 1505 targ_defvec=bfd_elf32_xc16x_vec 1506 ;; 1507 1508 z80-*-*) 1509 targ_defvec=z80coff_vec 1510 targ_underscore=no 1511 ;; 1512 1513 z8k*-*-*) 1514 targ_defvec=z8kcoff_vec 1515 targ_underscore=yes 1516 ;; 1517 1518 *-*-ieee*) 1519 targ_defvec=ieee_vec 1520 ;; 1521 1522 *-adobe-*) 1523 targ_defvec=a_out_adobe_vec 1524 targ_underscore=yes 1525 ;; 1526 1527 *-sony-*) 1528 targ_defvec=newsos3_vec 1529 targ_underscore=yes 1530 ;; 1531 1532 *-tandem-*) 1533 targ_defvec=m68kcoff_vec 1534 targ_selvecs=ieee_vec 1535 ;; 1536# END OF targmatch.h 1537 *) 1538 echo 1>&2 "*** BFD does not support target ${targ}." 1539 echo 1>&2 "*** Look in bfd/config.bfd for supported targets." 1540 exit 1 1541 ;; 1542esac 1543 1544case "${host64}${want64}" in 1545 *true*) 1546 targ_selvecs="${targ_selvecs} ${targ64_selvecs}" 1547 ;; 1548esac 1549 1550# If we support any ELF target, then automatically add support for the 1551# generic ELF targets. This permits an objdump with some ELF support 1552# to be used on an arbitrary ELF file for anything other than 1553# relocation information. 1554case "${targ_defvec} ${targ_selvecs}" in 1555 *bfd_elf64* | *bfd_elf32_n*mips*) 1556 targ_selvecs="${targ_selvecs} bfd_elf64_little_generic_vec bfd_elf64_big_generic_vec bfd_elf32_little_generic_vec bfd_elf32_big_generic_vec" 1557 ;; 1558 *bfd_elf32*) 1559 targ_selvecs="${targ_selvecs} bfd_elf32_little_generic_vec bfd_elf32_big_generic_vec" 1560 ;; 1561esac 1562