config.bfd revision 77298
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# targ_archs Architectures for this target 9# targ_cflags $(CFLAGS) for this target (FIXME: pretty bogus) 10# targ_underscore Whether underscores are used: yes or no 11 12# Part of this file is processed by targmatch.sed to generate the 13# targmatch.h file. The #ifdef and #endif lines that appear below are 14# copied directly into targmatch.h. 15 16# The binutils c++filt program wants to know whether underscores are 17# stripped or not. That is why we set targ_underscore. c++filt uses 18# this information to choose a default. This information is 19# duplicated in the symbol_leading_char field of the BFD target 20# vector, but c++filt does not deal with object files and is not 21# linked against libbfd.a. It is not terribly important that c++filt 22# get this right; it is just convenient. 23 24targ_defvec= 25targ_selvecs= 26targ_cflags= 27targ_underscore=no 28 29targ_cpu=`echo $targ | sed 's/^\([^-]*\)-\([^-]*\)-\(.*\)$/\1/'` 30case "${targ_cpu}" in 31alpha*) targ_archs=bfd_alpha_arch ;; 32arm*) targ_archs=bfd_arm_arch ;; 33strongarm*) targ_archs=bfd_arm_arch ;; 34thumb*) targ_archs=bfd_arm_arch ;; 35xscale*) targ_archs=bfd_arm_arch ;; 36c30*) targ_archs=bfd_tic30_arch ;; 37c54x*) targ_archs=bfd_tic54x_arch ;; 38hppa*) targ_archs=bfd_hppa_arch ;; 39x86_64) targ_archs=bfd_i386_arch ;; 40i[3456]86) targ_archs=bfd_i386_arch ;; 41i370) targ_archs=bfd_i370_arch ;; 42m6811*|m68hc11*) targ_archs="bfd_m68hc11_arch bfd_m68hc12_arch" ;; 43m6812*|m68hc12*) targ_archs="bfd_m68hc12_arch bfd_m68hc11_arch" ;; 44m68*) targ_archs=bfd_m68k_arch ;; 45m88*) targ_archs=bfd_m88k_arch ;; 46mips*) targ_archs=bfd_mips_arch ;; 47pj*) targ_archs="bfd_pj_arch bfd_i386_arch";; 48powerpc*) targ_archs="bfd_rs6000_arch bfd_powerpc_arch" ;; 49rs6000) targ_archs="bfd_rs6000_arch bfd_powerpc_arch" ;; 50sparc*) targ_archs=bfd_sparc_arch ;; 51v850*) targ_archs=bfd_v850_arch ;; 52z8k*) targ_archs=bfd_z8k_arch ;; 53*) targ_archs=bfd_${targ_cpu}_arch ;; 54esac 55 56 57# WHEN ADDING ENTRIES TO THIS MATRIX: 58# Make sure that the left side always has two dashes. Otherwise you 59# can get spurious matches. Even for unambiguous cases, do this as a 60# convention, else the table becomes a real mess to understand and maintain. 61 62case "${targ}" in 63# START OF targmatch.h 64#ifdef BFD64 65 alpha*-*-netbsd* | alpha*-*-freebsd*) 66 targ_defvec=bfd_elf64_alpha_vec 67 targ_selvecs=ecoffalpha_little_vec 68 ;; 69 alpha*-*-netware*) 70 targ_defvec=ecoffalpha_little_vec 71 targ_selvecs=nlm32_alpha_vec 72 ;; 73 alpha*-*-linuxecoff*) 74 targ_defvec=ecoffalpha_little_vec 75 targ_selvecs=bfd_elf64_alpha_vec 76 ;; 77 alpha*-*-linux-gnu* | alpha*-*-elf*) 78 targ_defvec=bfd_elf64_alpha_vec 79 targ_selvecs=ecoffalpha_little_vec 80 ;; 81 alpha*-*-*vms*) 82 targ_defvec=vms_alpha_vec 83 ;; 84 alpha*-*-*) 85 targ_defvec=ecoffalpha_little_vec 86 ;; 87 ia64*-*-freebsd* | ia64*-*-linux-gnu* | ia64*-*-elf*) 88 targ_defvec=bfd_elf64_ia64_little_vec 89 targ_selvecs="bfd_elf64_ia64_big_vec bfd_efi_app_ia64_vec" 90 ;; 91 ia64*-*-hpux*) 92 targ_defvec=bfd_elf64_ia64_big_vec 93 targ_selvecs="bfd_elf32_ia64_big_vec" 94 ;; 95 sparc64-*-freebsd* | sparc64-*-netbsd*) 96 targ_defvec=bfd_elf64_sparc_vec 97 targ_selvecs="bfd_elf32_sparc_vec sunos_big_vec" 98 ;; 99#endif /* BFD64 */ 100 101 arc-*-elf*) 102 targ_defvec=bfd_elf32_littlearc_vec 103 targ_selvecs=bfd_elf32_bigarc_vec 104 ;; 105 106 arm-*-netbsd*) 107 targ_defvec=armnetbsd_vec 108 targ_underscore=yes 109 ;; 110 arm-*-riscix*) 111 targ_defvec=riscix_vec 112 ;; 113 arm-epoc-pe*) 114 targ_defvec=arm_epoc_pe_little_vec 115 targ_selvecs="arm_epoc_pe_little_vec arm_epoc_pe_big_vec arm_epoc_pei_little_vec arm_epoc_pei_big_vec" 116 targ_underscore=no 117 ;; 118 arm-wince-pe | arm-*-wince) 119 targ_defvec=armpe_little_vec 120 targ_selvecs="armpe_little_vec armpe_big_vec armpei_little_vec armpei_big_vec" 121 targ_underscore=no 122 targ_cflags=-DARM_WINCE 123 ;; 124 arm-*-pe*) 125 targ_defvec=armpe_little_vec 126 targ_selvecs="armpe_little_vec armpe_big_vec armpei_little_vec armpei_big_vec" 127 targ_underscore=yes 128 ;; 129 arm-*-aout | armel-*-aout) 130 targ_defvec=aout_arm_little_vec 131 targ_selvecs=aout_arm_big_vec 132 ;; 133 armeb-*-aout) 134 targ_defvec=aout_arm_big_vec 135 targ_selvecs=aout_arm_little_vec 136 ;; 137 arm-*-coff) 138 targ_defvec=armcoff_little_vec 139 targ_selvecs=armcoff_big_vec 140 targ_underscore=yes 141 ;; 142 arm-*-rtems*) 143 targ_defvec=bfd_elf32_littlearm_vec 144 targ_selvecs=bfd_elf32_bigarm_vec 145 ;; 146 armeb-*-elf | arm*b-*-linux-gnu*) 147 targ_defvec=bfd_elf32_bigarm_vec 148 targ_selvecs=bfd_elf32_littlearm_vec 149 ;; 150 arm-*-elf | arm-*-freebsd* | arm*-*-linux-gnu* | arm*-*-conix* | arm*-*-uclinux*) 151 targ_defvec=bfd_elf32_littlearm_vec 152 targ_selvecs=bfd_elf32_bigarm_vec 153 ;; 154 arm-*-oabi) 155 targ_defvec=bfd_elf32_littlearm_oabi_vec 156 targ_selvecs=bfd_elf32_bigarm_oabi_vec 157 ;; 158 159 thumb-*-coff) 160 targ_defvec=armcoff_little_vec 161 targ_selvecs=armcoff_big_vec 162 targ_underscore=yes 163 ;; 164 thumb-*-oabi) 165 targ_defvec=bfd_elf32_littlearm_oabi_vec 166 targ_selvecs=bfd_elf32_bigarm_oabi_vec 167 ;; 168 thumb-*-elf) 169 targ_defvec=bfd_elf32_littlearm_vec 170 targ_selvecs=bfd_elf32_bigarm_vec 171 ;; 172 thumb-epoc-pe*) 173 targ_defvec=arm_epoc_pe_little_vec 174 targ_selvecs="arm_epoc_pe_little_vec arm_epoc_pe_big_vec arm_epoc_pei_little_vec arm_epoc_pei_big_vec" 175 targ_underscore=no 176 ;; 177 thumb-*-pe*) 178 targ_defvec=armpe_little_vec 179 targ_selvecs="armpe_little_vec armpe_big_vec armpei_little_vec armpei_big_vec" 180 targ_underscore=yes 181 ;; 182 strongarm-*-elf) 183 targ_defvec=bfd_elf32_littlearm_vec 184 targ_selvecs=bfd_elf32_bigarm_vec 185 ;; 186 strongarm-*-coff) 187 targ_defvec=armcoff_little_vec 188 targ_selvecs=armcoff_big_vec 189 targ_underscore=yes 190 ;; 191 xscale-*-elf) 192 targ_defvec=bfd_elf32_littlearm_vec 193 targ_selvecs=bfd_elf32_bigarm_vec 194 ;; 195 xscale-*-coff) 196 targ_defvec=armcoff_little_vec 197 targ_selvecs=armcoff_big_vec 198 targ_underscore=yes 199 ;; 200 201 a29k-*-ebmon* | a29k-*-udi* | a29k-*-coff* | a29k-*-sym1* | \ 202 a29k-*-vxworks* | a29k-*-sysv* | a29k-*rtems*) 203 targ_defvec=a29kcoff_big_vec 204 targ_selvecs=sunos_big_vec 205 targ_underscore=yes 206 ;; 207 a29k-*-aout* | a29k-*-bsd* | a29k-*-vsta*) 208 targ_defvec=sunos_big_vec 209 targ_underscore=yes 210 ;; 211 212 avr-*-*) 213 targ_defvec=bfd_elf32_avr_vec 214 ;; 215 216 c30-*-*aout* | tic30-*-*aout*) 217 targ_defvec=tic30_aout_vec 218 ;; 219 c30-*-*coff* | tic30-*-*coff*) 220 targ_defvec=tic30_coff_vec 221 ;; 222 223 c54x*-*-*coff* | tic54x-*-*coff*) 224 targ_defvec=tic54x_coff1_vec 225 targ_selvecs="tic54x_coff1_beh_vec tic54x_coff2_vec tic54x_coff2_beh_vec tic54x_coff0_vec tic54x_coff0_beh_vec" 226 targ_underscore=yes 227 ;; 228 229 cris-*-*) 230 targ_defvec=cris_aout_vec 231 targ_selvecs="bfd_elf32_us_cris_vec bfd_elf32_cris_vec ieee_vec" 232 targ_underscore=yes # Note: not true for bfd_elf32_cris_vec. 233 ;; 234 235 d10v-*-*) 236 targ_defvec=bfd_elf32_d10v_vec 237 ;; 238 239 d30v-*-*) 240 targ_defvec=bfd_elf32_d30v_vec 241 ;; 242 243 fr30-*-elf) 244 targ_defvec=bfd_elf32_fr30_vec 245 ;; 246 247 248 h8300*-*-*) 249 targ_defvec=h8300coff_vec 250 targ_underscore=yes 251 ;; 252 253 h8500-*-*) 254 targ_defvec=h8500coff_vec 255 targ_underscore=yes 256 ;; 257 258#ifdef BFD64 259 hppa*64*-*-linux-gnu*) 260 targ_defvec=bfd_elf64_hppa_linux_vec 261 targ_selvecs=bfd_elf64_hppa_vec 262 ;; 263 hppa*64*-*-hpux11*) 264 targ_defvec=bfd_elf64_hppa_vec 265 targ_selvecs=bfd_elf64_hppa_linux_vec 266 targ_cflags=-DHPUX_LARGE_AR_IDS 267 ;; 268#endif 269 270 hppa*-*-linux-gnu*) 271 targ_defvec=bfd_elf32_hppa_linux_vec 272 targ_selvecs=bfd_elf32_hppa_vec 273 ;; 274 hppa*-*-*elf* | hppa*-*-lites* | hppa*-*-sysv4* | hppa*-*-rtems*) 275 targ_defvec=bfd_elf32_hppa_vec 276 targ_selvecs=bfd_elf32_hppa_linux_vec 277 ;; 278 279#if defined (HOST_HPPAHPUX) || defined (HOST_HPPABSD) || defined (HOST_HPPAOSF) || defined (HOST_HPPAMPEIX) 280 hppa*-*-bsd*) 281 targ_defvec=som_vec 282 targ_selvecs=bfd_elf32_hppa_vec 283 ;; 284 hppa*-*-hpux* | hppa*-*-hiux* | hppa*-*-mpeix*) 285 targ_defvec=som_vec 286 ;; 287 hppa*-*-osf*) 288 targ_defvec=som_vec 289 targ_selvecs=bfd_elf32_hppa_vec 290 ;; 291#endif /* defined (HOST_HPPAHPUX) || defined (HOST_HPPABSD) || defined (HOST_HPPAOSF) */ 292 293 i370-*-*) 294 targ_defvec=bfd_elf32_i370_vec 295 targ_selvecs="bfd_elf32_i370_vec" 296 ;; 297 i[3456]86-*-sco3.2v5*coff) 298 targ_defvec=i386coff_vec 299 targ_selvecs=bfd_elf32_i386_vec 300 ;; 301 i[3456]86-*-sysv4* | i[3456]86-*-unixware* | i[3456]86-*-solaris2* | \ 302 i[3456]86-*-elf | i[3456]86-*-sco3.2v5* | \ 303 i[3456]86-*-dgux* | i[3456]86-*-sysv5*) 304 targ_defvec=bfd_elf32_i386_vec 305 targ_selvecs=i386coff_vec 306 ;; 307 i[3456]86-*-rtemself*) 308 targ_defvec=bfd_elf32_i386_vec 309 targ_selvecs="i386coff_vec i386aout_vec" 310 ;; 311 i[3456]86-*-chorus*) 312 targ_defvec=bfd_elf32_i386_vec 313 ;; 314 i[3456]86-*-msdosdjgpp* | i[3456]*-*-go32* | i[3456]86-go32-rtems* ) 315 targ_defvec=go32coff_vec 316 targ_selvecs="go32stubbedcoff_vec i386aout_vec" 317 ;; 318 i[3456]86-*-sysv* | i[3456]86-*-isc* | i[3456]86-*-sco* | i[3456]86-*-coff | \ 319 i[3456]86-*-aix*) 320 targ_defvec=i386coff_vec 321 ;; 322 i[3456]86*-*-rtems*) 323 targ_defvec=i386coff_vec 324 targ_selvecs="bfd_elf32_i386_vec i386aout_vec" 325 ;; 326 i[3456]86-sequent-bsd*) 327 targ_defvec=i386dynix_vec 328 targ_underscore=yes 329 ;; 330 i[3456]86-*-bsd*) 331 targ_defvec=i386bsd_vec 332 targ_underscore=yes 333 ;; 334 i[3456]86-*-freebsdaout* | i[3456]86-*-freebsd[12].* | \ 335 i[3456]86-*-freebsd[12]) 336 targ_defvec=i386freebsd_vec 337 targ_selvecs=i386bsd_vec 338 targ_underscore=yes 339 ;; 340 i[3456]86-*-freebsd*) 341 targ_defvec=bfd_elf32_i386_vec 342 targ_selvecs=i386coff_vec 343 ;; 344 i[3456]86-*-netbsdelf*) 345 targ_defvec=bfd_elf32_i386_vec 346 targ_selvecs=i386netbsd_vec 347 ;; 348 i[3456]86-*-netbsdaout* | i[3456]86-*-netbsd* | i[3456]86-*-openbsd*) 349 targ_defvec=i386netbsd_vec 350 targ_selvecs="bfd_elf32_i386_vec i386bsd_vec" 351 targ_underscore=yes 352 ;; 353 i[3456]86-*-netware*) 354 targ_defvec=bfd_elf32_i386_vec 355 targ_selvecs="nlm32_i386_vec i386coff_vec i386aout_vec" 356 ;; 357 i[3456]86-*-linux*aout*) 358 targ_defvec=i386linux_vec 359 targ_selvecs=bfd_elf32_i386_vec 360 targ_underscore=yes 361 ;; 362 i[3456]86-*-linux-gnu*) 363 targ_defvec=bfd_elf32_i386_vec 364 targ_selvecs="i386linux_vec bfd_efi_app_ia32_vec" 365 ;; 366#ifdef BFD64 367 x86_64-*-freebsd*) 368 targ_defvec=bfd_elf64_x86_64_vec 369 targ_selvecs="bfd_elf32_i386_vec i386coff_vec bfd_efi_app_ia32_vec" 370 ;; 371 x86_64-*-linux-gnu*) 372 targ_defvec=bfd_elf64_x86_64_vec 373 targ_selvecs="bfd_elf32_i386_vec i386linux_vec bfd_efi_app_ia32_vec" 374 ;; 375#endif 376 i[3456]86-*-lynxos*) 377 targ_defvec=i386lynx_coff_vec 378 targ_selvecs=i386lynx_aout_vec 379 ;; 380 i[3456]86-*-gnu*) 381 targ_defvec=bfd_elf32_i386_vec 382 ;; 383 i[3456]86-*-mach* | i[3456]86-*-osf1mk*) 384 targ_defvec=i386mach3_vec 385 targ_cflags=-DSTAT_FOR_EXEC 386 targ_underscore=yes 387 ;; 388 i[3456]86-*-os9k) 389 targ_defvec=i386os9k_vec 390 ;; 391 i[3456]86-*-msdos*) 392 targ_defvec=i386aout_vec 393 targ_selvecs=i386msdos_vec 394 ;; 395 i[3456]86-*-moss*) 396 targ_defvec=bfd_elf32_i386_vec 397 targ_selvecs="i386msdos_vec i386aout_vec" 398 ;; 399 i[3456]86-*-beospe*) 400 targ_defvec=i386pe_vec 401 targ_selvecs="i386pe_vec i386pei_vec" 402 ;; 403 i[3456]86-*-beoself* | i[3456]86-*-beos*) 404 targ_defvec=bfd_elf32_i386_vec 405 targ_selvecs="i386pe_vec i386pei_vec" 406 ;; 407 i[3456]86-*-interix*) 408 targ_defvec=i386pei_vec 409 targ_selvecs="i386pe_vec" 410 # FIXME: This should eventually be checked at runtime. 411 targ_cflags=-DSTRICT_PE_FORMAT 412 ;; 413 i[3456]86-*-mingw32* | i[3456]86-*-cygwin* | i[3456]86-*-winnt | i[3456]86-*-pe) 414 targ_defvec=i386pe_vec 415 targ_selvecs="i386pe_vec i386pei_vec bfd_elf32_i386_vec" 416 ;; 417 i[3456]86-none-*) 418 targ_defvec=i386coff_vec 419 ;; 420 i[3456]86-*-aout* | i[3456]86*-*-vsta*) 421 targ_defvec=i386aout_vec 422 ;; 423 i[3456]86-*-vxworks*) 424 targ_defvec=i386aout_vec 425 targ_underscore=yes 426 ;; 427 i[3456]86-*-chaos) 428 targ_defvec=bfd_elf32_i386_vec 429 targ_selfvecs=i386chaos_vec 430 ;; 431 432 i860-*-mach3* | i860-*-osf1* | i860-*-coff*) 433 targ_defvec=i860coff_vec 434 ;; 435 i860-stardent-sysv4* | i860-stardent-elf*) 436 targ_defvec=bfd_elf32_i860_little_vec 437 targ_selvecs="bfd_elf32_i860_vec bfd_elf32_i860_little_vec" 438 ;; 439 i860-*-sysv4* | i860-*-elf*) 440 targ_defvec=bfd_elf32_i860_vec 441 ;; 442 443 i960-*-vxworks4* | i960-*-vxworks5.0) 444 targ_defvec=b_out_vec_little_host 445 targ_selvecs="b_out_vec_big_host icoff_little_vec icoff_big_vec ieee_vec" 446 targ_underscore=yes 447 ;; 448 i960-*-vxworks5.* | i960-*-coff* | i960-*-sysv* | i960-*-rtems*) 449 targ_defvec=icoff_little_vec 450 targ_selvecs="icoff_big_vec b_out_vec_little_host b_out_vec_big_host ieee_vec" 451 targ_underscore=yes 452 ;; 453 i960-*-vxworks* | i960-*-aout* | i960-*-bout* | i960-*-nindy*) 454 targ_defvec=b_out_vec_little_host 455 targ_selvecs="b_out_vec_big_host icoff_little_vec icoff_big_vec ieee_vec" 456 targ_underscore=yes 457 ;; 458 i960-*-elf*) 459 targ_defvec=bfd_elf32_i960_vec 460 targ_selvecs="icoff_little_vec icoff_big_vec" 461 ;; 462 463 m32r-*-*) 464 targ_defvec=bfd_elf32_m32r_vec 465 ;; 466 467 m68hc11-*-* | m6811-*-*) 468 targ_defvec=bfd_elf32_m68hc11_vec 469 targ_selvecs="bfd_elf32_m68hc11_vec bfd_elf32_m68hc12_vec" 470 ;; 471 m68hc12-*-* | m6812-*-*) 472 targ_defvec=bfd_elf32_m68hc12_vec 473 targ_selvecs="bfd_elf32_m68hc11_vec bfd_elf32_m68hc12_vec" 474 ;; 475 476 m68*-apollo-*) 477 targ_defvec=apollocoff_vec 478 ;; 479 m68*-bull-sysv*) 480 targ_defvec=m68kcoffun_vec 481 targ_underscore=yes 482 ;; 483 m68*-motorola-sysv*) 484 targ_defvec=m68ksysvcoff_vec 485 ;; 486 m68*-hp-bsd*) 487 targ_defvec=hp300bsd_vec 488 targ_underscore=yes 489 ;; 490 m68*-*-aout*) 491 targ_defvec=aout0_big_vec 492 # We include cisco_core_big_vec here, rather than making a separate cisco 493 # configuration, so that cisco-core.c gets routinely tested at 494 # least for compilation. 495 targ_selvecs="cisco_core_big_vec ieee_vec" 496 targ_underscore=yes 497 ;; 498 m68*-*-elf* | m68*-*-sysv4*) 499 targ_defvec=bfd_elf32_m68k_vec 500 targ_selvecs="m68kcoff_vec ieee_vec" 501 ;; 502 m68*-*-rtems*) 503 targ_defvec=m68kcoff_vec 504 targ_selvecs="m68kcoff_vec versados_vec ieee_vec aout0_big_vec" 505 ;; 506 m68*-*-coff* | m68*-*-sysv*) 507 targ_defvec=m68kcoff_vec 508 targ_selvecs="m68kcoff_vec versados_vec ieee_vec" 509 ;; 510 m68*-*-hpux*) 511 targ_defvec=hp300hpux_vec 512 targ_underscore=yes 513 ;; 514 m68*-*-linux*aout*) 515 targ_defvec=m68klinux_vec 516 targ_selvecs=bfd_elf32_m68k_vec 517 targ_underscore=yes 518 ;; 519 m68*-*-linux-gnu*) 520 targ_defvec=bfd_elf32_m68k_vec 521 targ_selvecs=m68klinux_vec 522 ;; 523 m68*-*-gnu*) 524 targ_defvec=bfd_elf32_m68k_vec 525 # targ_selvecs=m68kmach3_vec 526 # targ_cflags=-DSTAT_FOR_EXEC 527 ;; 528 m68*-*-lynxos*) 529 targ_defvec=m68klynx_coff_vec 530 targ_selvecs=m68klynx_aout_vec 531 ;; 532 m68*-hp*-netbsd*) 533 targ_defvec=m68k4knetbsd_vec 534 targ_selvecs="m68knetbsd_vec hp300bsd_vec sunos_big_vec" 535 targ_underscore=yes 536 ;; 537 m68*-*-netbsd* | m68*-*-openbsd*) 538 targ_defvec=m68knetbsd_vec 539 targ_selvecs="m68k4knetbsd_vec hp300bsd_vec sunos_big_vec" 540 targ_underscore=yes 541 ;; 542 m68*-*-sunos* | m68*-*-os68k* | m68*-*-vxworks* | m68*-netx-* | \ 543 m68*-*-bsd* | m68*-*-vsta*) 544 targ_defvec=sunos_big_vec 545 targ_underscore=yes 546 ;; 547 m68*-ericsson-*) 548 targ_defvec=sunos_big_vec 549 targ_selvecs="m68kcoff_vec versados_vec tekhex_vec" 550 targ_underscore=yes 551 ;; 552 m68*-cbm-*) 553 targ_defvec=bfd_elf32_m68k_vec 554 targ_selvecs=m68kcoff_vec 555 ;; 556 m68*-apple-aux*) 557 targ_defvec=m68kaux_coff_vec 558 ;; 559 m68*-*-psos*) 560 targ_defvec=bfd_elf32_m68k_vec 561 targ_selvecs=ieee_vec 562 targ_underscore=yes 563 ;; 564 565 m88*-harris-cxux* | m88*-*-dgux* | m88*-*-sysv4*) 566 targ_defvec=bfd_elf32_m88k_vec 567 targ_selvecs=m88kbcs_vec 568 ;; 569 m88*-*-mach3*) 570 targ_defvec=m88kmach3_vec 571 targ_cflags=-DSTAT_FOR_EXEC 572 ;; 573 m88*-*-*) 574 targ_defvec=m88kbcs_vec 575 targ_underscore=yes 576 ;; 577 578 mcore-*-elf) 579 targ_defvec=bfd_elf32_mcore_big_vec 580 targ_selvecs="bfd_elf32_mcore_big_vec bfd_elf32_mcore_little_vec" 581 ;; 582 mcore-*-pe) 583 targ_defvec=mcore_pe_big_vec 584 targ_selvecs="mcore_pe_big_vec mcore_pe_little_vec mcore_pei_big_vec mcore_pei_little_vec" 585 ;; 586 587 mips*-big-*) 588 targ_defvec=ecoff_big_vec 589 targ_selvecs=ecoff_little_vec 590 ;; 591 mips-dec-netbsd* | mips*el*-*-netbsd*) 592 targ_defvec=bfd_elf32_littlemips_vec 593 targ_selvecs="bfd_elf32_bigmips_vec ecoff_little_vec ecoff_big_vec" 594 ;; 595 mips*-*-netbsd*) 596 targ_defvec=bfd_elf32_bigmips_vec 597 targ_selvecs="bfd_elf32_littlemips_vec ecoff_big_vec ecoff_little_vec" 598 ;; 599 mips*-dec-bsd*) 600 targ_defvec=aout_mips_little_vec 601 targ_underscore=yes 602 ;; 603 mips*-dec-mach3*) 604 targ_defvec=aout_mips_little_vec 605 targ_cflags=-DSTAT_FOR_EXEC 606 ;; 607 mips*-dec-* | mips*el-*-ecoff*) 608 targ_defvec=ecoff_little_vec 609 targ_selvecs=ecoff_big_vec 610 ;; 611 mips*-*-ecoff*) 612 targ_defvec=ecoff_big_vec 613 targ_selvecs=ecoff_little_vec 614 ;; 615 mips*-*-irix6*) 616 targ_defvec=bfd_elf32_bigmips_vec 617 targ_selvecs="bfd_elf32_littlemips_vec bfd_elf64_bigmips_vec bfd_elf64_littlemips_vec" 618 ;; 619 mips*-*-irix5*) 620 targ_defvec=bfd_elf32_bigmips_vec 621 targ_selvecs="bfd_elf32_littlemips_vec ecoff_big_vec ecoff_little_vec" 622 ;; 623 mips*-sgi-* | mips*-*-bsd*) 624 targ_defvec=ecoff_big_vec 625 targ_selvecs=ecoff_little_vec 626 ;; 627 mips*-*-lnews*) 628 targ_defvec=ecoff_biglittle_vec 629 targ_selvecs="ecoff_little_vec ecoff_big_vec" 630 ;; 631 mips*-*-mach3*) 632 targ_defvec=aout_mips_little_vec 633 targ_cflags=-DSTAT_FOR_EXEC 634 ;; 635 mips*-*-pe*) 636 targ_defvec=mipslpe_vec 637 targ_selvecs="mipslpei_vec mipslpei_vec ecoff_little_vec ecoff_big_vec" 638 targ_underscore=yes 639 ;; 640 mips*-*-sysv4*) 641 targ_defvec=bfd_elf32_tradbigmips_vec 642 targ_selvecs="bfd_elf32_tradlittlemips_vec ecoff_big_vec ecoff_little_vec" 643 ;; 644 mips*-*-sysv* | mips*-*-riscos*) 645 targ_defvec=ecoff_big_vec 646 targ_selvecs=ecoff_little_vec 647 ;; 648 mips*el-*-elf* | mips*el-*-rtems* | mips*el-*-vxworks* | mips*-*-chorus*) 649 targ_defvec=bfd_elf32_littlemips_vec 650 targ_selvecs="bfd_elf32_bigmips_vec bfd_elf64_bigmips_vec bfd_elf64_littlemips_vec" 651 ;; 652 mips*-*-elf* | mips*-*-rtems* | mips*-*-vxworks*) 653 targ_defvec=bfd_elf32_bigmips_vec 654 targ_selvecs="bfd_elf32_littlemips_vec bfd_elf64_bigmips_vec bfd_elf64_littlemips_vec" 655 ;; 656 mips*-*-none) 657 targ_defvec=bfd_elf32_bigmips_vec 658 targ_selvecs="bfd_elf32_littlemips_vec bfd_elf64_bigmips_vec bfd_elf64_littlemips_vec" 659 ;; 660 mips*el*-*-linux-gnu* | mips*el*-*-openbsd*) 661 targ_defvec=bfd_elf32_littlemips_vec 662 targ_selvecs="bfd_elf32_bigmips_vec bfd_elf64_bigmips_vec bfd_elf64_littlemips_vec ecoff_little_vec ecoff_big_vec" 663 ;; 664 mips*-*-linux-gnu* | mips*-*-openbsd*) 665 targ_defvec=bfd_elf32_bigmips_vec 666 targ_selvecs="bfd_elf32_littlemips_vec bfd_elf64_bigmips_vec bfd_elf64_littlemips_vec ecoff_big_vec ecoff_little_vec" 667 ;; 668 669 mn10200-*-*) 670 targ_defvec=bfd_elf32_mn10200_vec 671 ;; 672 673 mn10300-*-*) 674 targ_defvec=bfd_elf32_mn10300_vec 675 ;; 676 677 ns32k-pc532-mach* | ns32k-pc532-ux*) 678 targ_defvec=pc532machaout_vec 679 targ_underscore=yes 680 ;; 681 ns32k-*-netbsd* | ns32k-*-lites* | ns32k-*-openbsd*) 682 targ_defvec=pc532netbsd_vec 683 targ_underscore=yes 684 ;; 685 686 pj-*-*) 687 targ_defvec=bfd_elf32_pj_vec 688 targ_selvecs="bfd_elf32_pj_vec bfd_elf32_pjl_vec" 689 ;; 690 691 pjl-*-*) 692 targ_defvec=bfd_elf32_pjl_vec 693 targ_selvecs="bfd_elf32_pjl_vec bfd_elf32_pj_vec bfd_elf32_i386_vec" 694 ;; 695 696 powerpc-*-aix* | powerpc-*-beos*) 697 targ_defvec=rs6000coff_vec 698 targ_selvecs="rs6000coff64_vec" 699 ;; 700 powerpc-*-*bsd* | powerpc-*-elf* | powerpc-*-sysv4* | powerpc-*-eabi* | \ 701 powerpc-*-solaris2* | powerpc-*-linux-gnu* | powerpc-*-rtems* | \ 702 powerpc-*-chorus* | powerpc-*-vxworks*) 703 targ_defvec=bfd_elf32_powerpc_vec 704 targ_selvecs="rs6000coff_vec bfd_elf32_powerpcle_vec ppcboot_vec" 705 ;; 706 powerpc-*-macos* | powerpc-*-mpw*) 707 targ_defvec=pmac_xcoff_vec 708 ;; 709 powerpc-*-netware*) 710 targ_defvec=bfd_elf32_powerpc_vec 711 targ_selvecs="nlm32_powerpc_vec rs6000coff_vec" 712 ;; 713 powerpcle-*-elf* | powerpcle-*-sysv4* | powerpcle-*-eabi* | \ 714 powerpcle-*-solaris2* | powerpcle-*-linux-gnu* | powerpcle-*-vxworks* |\ 715 powerpcle-*-rtems*) 716 targ_defvec=bfd_elf32_powerpcle_vec 717 targ_selvecs="rs6000coff_vec bfd_elf32_powerpc_vec ppcboot_vec" 718 ;; 719 720 powerpcle-*-pe | powerpcle-*-winnt* | powerpcle-*-cygwin*) 721 targ_defvec=bfd_powerpcle_pe_vec 722 targ_selvecs="bfd_powerpcle_pei_vec bfd_powerpc_pei_vec bfd_powerpcle_pe_vec bfd_powerpc_pe_vec" 723 ;; 724 725 rs6000-*-*) 726 targ_defvec=rs6000coff_vec 727 ;; 728 729 sh-*-linux*) 730 targ_defvec=bfd_elf32_shblin_vec 731 targ_selvecs=bfd_elf32_shlin_vec 732 ;; 733 734 sh-*-elf* | sh-*-rtemself*) 735 targ_defvec=bfd_elf32_sh_vec 736 targ_selvecs="bfd_elf32_shl_vec shcoff_vec shlcoff_vec shcoff_small_vec shlcoff_small_vec" 737 targ_underscore=yes 738 ;; 739 sh-*-pe) 740 targ_defvec=shlpe_vec 741 targ_selvecs="shlpe_vec shlpei_vec" 742 targ_underscore=yes 743 ;; 744 sh-*-* | sh-*-rtems*) 745 targ_defvec=shcoff_vec 746 targ_selvecs="shcoff_vec shlcoff_vec shcoff_small_vec shlcoff_small_vec" 747 targ_underscore=yes 748 ;; 749 750 sparclet-*-aout*) 751 targ_defvec=sunos_big_vec 752 targ_selvecs=sparcle_aout_vec 753 targ_underscore=yes 754 ;; 755 sparc86x-*-aout*) 756 targ_defvec=sunos_big_vec 757 targ_underscore=yes 758 ;; 759 sparclite-*-elf* | sparc86x-*-elf*) 760 targ_defvec=bfd_elf32_sparc_vec 761 ;; 762 sparc*-*-chorus*) 763 targ_defvec=bfd_elf32_sparc_vec 764 ;; 765 sparc-*-linux*aout*) 766 targ_defvec=sparclinux_vec 767 targ_selvecs="bfd_elf32_sparc_vec sunos_big_vec" 768 targ_underscore=yes 769 ;; 770 sparc-*-linux-gnu*) 771 targ_defvec=bfd_elf32_sparc_vec 772 targ_selvecs="sparclinux_vec bfd_elf64_sparc_vec sunos_big_vec" 773 ;; 774 sparc-*-lynxos*) 775 targ_defvec=sparclynx_coff_vec 776 targ_selvecs=sparclynx_aout_vec 777 ;; 778 sparc-*-netbsdelf*) 779 targ_defvec=bfd_elf32_sparc_vec 780 targ_selvecs=sparcnetbsd_vec 781 ;; 782 sparc-*-netbsdaout* | sparc-*-netbsd*) 783 targ_defvec=sparcnetbsd_vec 784 targ_selvecs=bfd_elf32_sparc_vec 785 targ_underscore=yes 786 ;; 787 sparc-*-openbsd*) 788 targ_defvec=sparcnetbsd_vec 789 targ_underscore=yes 790 ;; 791 sparc-*-elf* | sparc-*-solaris2.[0-6] | sparc-*-solaris2.[0-6].*) 792 targ_defvec=bfd_elf32_sparc_vec 793 targ_selvecs=sunos_big_vec 794 ;; 795#ifdef BFD64 796 sparc-*-solaris2* | sparcv9-*-solaris2* | sparc64-*-solaris2*) 797 targ_defvec=bfd_elf32_sparc_vec 798 targ_selvecs="bfd_elf64_sparc_vec sunos_big_vec" 799 ;; 800#endif 801 sparc-*-sysv4*) 802 targ_defvec=bfd_elf32_sparc_vec 803 ;; 804 sparc-*-netware*) 805 targ_defvec=bfd_elf32_sparc_vec 806 targ_selvecs="nlm32_sparc_vec sunos_big_vec" 807 ;; 808#ifdef BFD64 809 sparc64-*-aout*) 810 targ_defvec=sunos_big_vec 811 targ_underscore=yes 812 ;; 813 sparc64-*-linux-gnu*) 814 targ_defvec=bfd_elf64_sparc_vec 815 targ_selvecs="bfd_elf32_sparc_vec sparclinux_vec sunos_big_vec" 816 ;; 817 sparc64-*-elf*) 818 targ_defvec=bfd_elf64_sparc_vec 819 targ_selvecs=bfd_elf32_sparc_vec 820 ;; 821#endif /* BFD64 */ 822 sparc*-*-coff*) 823 targ_defvec=sparccoff_vec 824 ;; 825 sparc*-*-rtemsaout*) 826 targ_defvec=sunos_big_vec 827 targ_selvecs="bfd_elf32_sparc_vec sparccoff_vec" 828 targ_underscore=yes 829 ;; 830 sparc*-*-rtems* | sparc*-*-rtemself*) 831 targ_defvec=bfd_elf32_sparc_vec 832 targ_selvecs="sunos_big_vec sparccoff_vec" 833 ;; 834 sparc*-*-* | sparc*-*-rtems*) 835 targ_defvec=sunos_big_vec 836 targ_underscore=yes 837 ;; 838 839#if HAVE_host_aout_vec 840 tahoe-*-*) 841 targ_defvec=host_aout_vec 842 targ_underscore=yes 843 ;; 844#endif 845 846 tic80*-*-*) 847 targ_defvec=tic80coff_vec 848 targ_underscore=yes 849 ;; 850 851 852 v850-*-*) 853 targ_defvec=bfd_elf32_v850_vec 854 ;; 855 v850e-*-*) 856 targ_defvec=bfd_elf32_v850_vec 857 ;; 858 v850ea-*-*) 859 targ_defvec=bfd_elf32_v850_vec 860 ;; 861#if HAVE_host_aout_vec 862 vax-*-bsd* | vax-*-ultrix*) 863 targ_defvec=host_aout_vec 864 targ_underscore=yes 865 ;; 866#endif 867 868 vax*-*-*vms*) 869 targ_defvec=vms_vax_vec 870 ;; 871 872 we32k-*-*) 873 targ_defvec=we32kcoff_vec 874 ;; 875 876 w65-*-*) 877 targ_defvec=w65_vec 878 ;; 879 880 z8k*-*-*) 881 targ_defvec=z8kcoff_vec 882 targ_underscore=yes 883 ;; 884 885 *-*-ieee*) 886 targ_defvec=ieee_vec 887 ;; 888 889 *-adobe-*) 890 targ_defvec=a_out_adobe_vec 891 targ_underscore=yes 892 ;; 893 894 *-sony-*) 895 targ_defvec=newsos3_vec 896 targ_underscore=yes 897 ;; 898 899 *-tandem-*) 900 targ_defvec=m68kcoff_vec 901 targ_selvecs=ieee_vec 902 ;; 903# END OF targmatch.h 904 *) 905 echo 1>&2 "*** BFD does not support target ${targ}." 906 echo 1>&2 "*** Look in bfd/config.bfd for supported targets." 907 exit 1 908 ;; 909esac 910 911# If we support any ELF target, then automatically add support for the 912# generic ELF targets. This permits an objdump with some ELF support 913# to be used on an arbitrary ELF file for anything other than 914# relocation information. 915case "${targ_defvec} ${targ_selvecs}" in 916 *bfd_elf64*) 917 targ_selvecs="${targ_selvecs} bfd_elf64_little_generic_vec bfd_elf64_big_generic_vec bfd_elf32_little_generic_vec bfd_elf32_big_generic_vec" 918 ;; 919 *bfd_elf32*) 920 targ_selvecs="${targ_selvecs} bfd_elf32_little_generic_vec bfd_elf32_big_generic_vec" 921 ;; 922esac 923