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