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