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