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