(linenum→info "unix/slp.c:2238")

binutils/2.18/bfd/config.bfd

    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: 
   26: targ_defvec=
   27: targ_selvecs=
   28: targ64_selvecs=
   29: targ_cflags=
   30: targ_underscore=no
   31: 
   32: # Catch obsolete configurations.
   33: case $targ in
   34:  maxq-*-coff | \
   35:  null)
   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;;
   43: esac
   44: 
   45: case $targ in
   46:  m68*-apple-aux* | \
   47:  m68*-apollo-* | \
   48:  m68*-bull-sysv* | \
   49:  m68*-*-rtemscoff* | \
   50:  i960-*-rtems* | \
   51:  or32-*-rtems* | \
   52:  m68*-*-lynxos* | \
   53:  sparc-*-lynxos* | \
   54:  vax-*-vms* | \
   55:  arm-*-oabi | \
   56:  thumb-*-oabi | \
   57:  a29k-* | \
   58:  hppa*-*-rtems* | \
   59:  *-go32-rtems* | \
   60:  i[3-7]86*-*-rtemscoff* | \
   61:  mips*el-*-rtems* | \
   62:  powerpcle-*-rtems* | \
   63:  sparc*-*-rtemsaout* | \
   64:  null)
   65:     echo "*** Configuration $targ is obsolete." >&2
   66:     echo "*** Support has been REMOVED." >&2
   67:     exit 1
   68:     ;;
   69: esac
   70: 
   71: targ_cpu=`echo $targ | sed 's/^\([^-]*\)-\([^-]*\)-\(.*\)$/\1/'`
   72: case "${targ_cpu}" in
   73: alpha*)          targ_archs=bfd_alpha_arch ;;
   74: arm*)            targ_archs=bfd_arm_arch ;;
   75: bfin*)           targ_archs=bfd_bfin_arch ;;
   76: c30*)            targ_archs=bfd_tic30_arch ;;
   77: c4x*)            targ_archs=bfd_tic4x_arch ;;
   78: c54x*)           targ_archs=bfd_tic54x_arch ;;
   79: cr16*)           targ_archs=bfd_cr16_arch ;;
   80: crisv32)         targ_archs=bfd_cris_arch ;;
   81: crx*)            targ_archs=bfd_crx_arch ;;
   82: dlx*)            targ_archs=bfd_dlx_arch ;;
   83: fido*)           targ_archs=bfd_m68k_arch ;;
   84: hppa*)           targ_archs=bfd_hppa_arch ;;
   85: i[3-7]86)        targ_archs=bfd_i386_arch ;;
   86: i370)            targ_archs=bfd_i370_arch ;;
   87: m6811*|m68hc11*) targ_archs="bfd_m68hc11_arch bfd_m68hc12_arch" ;;
   88: m6812*|m68hc12*) targ_archs="bfd_m68hc12_arch bfd_m68hc11_arch" ;;
   89: m68*)            targ_archs=bfd_m68k_arch ;;
   90: m88*)            targ_archs=bfd_m88k_arch ;;
   91: maxq*)           targ_archs=bfd_maxq_arch ;;
   92: mips*)           targ_archs=bfd_mips_arch ;;
   93: or32*)           targ_archs=bfd_or32_arch ;;
   94: pdp11*)          targ_archs=bfd_pdp11_arch ;;
   95: pj*)             targ_archs="bfd_pj_arch bfd_i386_arch";;
   96: powerpc*)        targ_archs="bfd_rs6000_arch bfd_powerpc_arch" ;;
   97: rs6000)          targ_archs="bfd_rs6000_arch bfd_powerpc_arch" ;;
   98: s390*)           targ_archs=bfd_s390_arch ;;
   99: sh*)             targ_archs=bfd_sh_arch ;;
  100: sparc*)          targ_archs=bfd_sparc_arch ;;
  101: spu*)            targ_archs=bfd_spu_arch ;;
  102: strongarm*)      targ_archs=bfd_arm_arch ;;
  103: thumb*)          targ_archs=bfd_arm_arch ;;
  104: v850*)           targ_archs=bfd_v850_arch ;;
  105: x86_64*)         targ_archs=bfd_i386_arch ;;
  106: xscale*)         targ_archs=bfd_arm_arch ;;
  107: xtensa*)         targ_archs=bfd_xtensa_arch ;;
  108: z80|r800)        targ_archs=bfd_z80_arch ;;
  109: z8k*)            targ_archs=bfd_z8k_arch ;;
  110: am33_2.0)        targ_archs=bfd_mn10300_arch ;;
  111: *)               targ_archs=bfd_${targ_cpu}_arch ;;
  112: esac
  113: 
  114: 
  115: # WHEN ADDING ENTRIES TO THIS MATRIX:
  116: #  Make sure that the left side always has two dashes.  Otherwise you
  117: #  can get spurious matches.  Even for unambiguous cases, do this as a
  118: #  convention, else the table becomes a real mess to understand and maintain.
  119: #
  120: #  Keep obsolete entries above the START comment, to keep them out of
  121: #  targmatch.h.
  122: 
  123: case "${targ}" in
  124:   mips*-dec-bsd*)
  125:     echo "This target is obsolete and has been removed."
  126:     exit 1
  127:     ;;
  128: 
  129:   mips*-*-mach3*)
  130:     echo "This target is obsolete and has been removed."
  131:     exit 1
  132:     ;;
  133: 
  134:   mips*-*-pe*)
  135:     echo "This target is obsolete and has been removed."
  136:     exit 1
  137:     ;;
  138: 
  139: # START OF targmatch.h
  140: #ifdef BFD64
  141:   alpha*-*-freebsd* | alpha*-*-kfreebsd*-gnu)
  142:     targ_defvec=bfd_elf64_alpha_freebsd_vec
  143:     targ_selvecs=ecoffalpha_little_vec
  144:     want64=true
  145:     # FreeBSD <= 4.0 supports only the old nonstandard way of ABI labelling.
  146:     case "${targ}" in
  147:       alpha*-*-freebsd3* | alpha*-*-freebsd4 | alpha*-*-freebsd4.0*)
  148:         targ_cflags=-DOLD_FREEBSD_ABI_LABEL ;;
  149:     esac
  150:     ;;
  151:   alpha*-*-netbsd* | alpha*-*-openbsd*)
  152:     targ_defvec=bfd_elf64_alpha_vec
  153:     targ_selvecs=ecoffalpha_little_vec
  154:     want64=true
  155:     ;;
  156:   alpha*-*-netware*)
  157:     targ_defvec=ecoffalpha_little_vec
  158:     targ_selvecs=nlm32_alpha_vec
  159:     want64=true
  160:     ;;
  161:   alpha*-*-linuxecoff*)
  162:     targ_defvec=ecoffalpha_little_vec
  163:     targ_selvecs=bfd_elf64_alpha_vec
  164:     want64=true
  165:     ;;
  166:   alpha*-*-linux-* | alpha*-*-elf*)
  167:     targ_defvec=bfd_elf64_alpha_vec
  168:     targ_selvecs=ecoffalpha_little_vec
  169:     want64=true
  170:     ;;
  171:   alpha*-*-*vms*)
  172:     targ_defvec=vms_alpha_vec
  173:     want64=true
  174:     ;;
  175:   alpha*-*-*)
  176:     targ_defvec=ecoffalpha_little_vec
  177:     want64=true
  178:     ;;
  179:   ia64*-*-freebsd* | ia64*-*-netbsd* | ia64*-*-linux-* | ia64*-*-elf* | ia64*-*-kfreebsd*-gnu)
  180:     targ_defvec=bfd_elf64_ia64_little_vec
  181:     targ_selvecs="bfd_elf64_ia64_big_vec bfd_efi_app_ia64_vec"
  182:     want64=true
  183:     ;;
  184:   ia64*-*-hpux*)
  185:     targ_defvec=bfd_elf32_ia64_hpux_big_vec
  186:     targ_selvecs="bfd_elf64_ia64_hpux_big_vec"
  187:     want64=true
  188:     ;;
  189:   sparc64-*-freebsd* | sparc64-*-kfreebsd*-gnu)
  190:     targ_defvec=bfd_elf64_sparc_freebsd_vec
  191:     targ_selvecs="bfd_elf32_sparc_vec sunos_big_vec"
  192:     ;;
  193:   sparc64-*-netbsd* | sparc64-*-openbsd*)
  194:     targ_defvec=bfd_elf64_sparc_vec
  195:     targ_selvecs="bfd_elf32_sparc_vec sunos_big_vec"
  196:     want64=true
  197:     ;;
  198: #endif /* BFD64 */
  199: 
  200:   am33_2.0-*-linux*)
  201:     targ_defvec=bfd_elf32_am33lin_vec
  202:     ;;
  203:   arc-*-elf*)
  204:     targ_defvec=bfd_elf32_littlearc_vec
  205:     targ_selvecs=bfd_elf32_bigarc_vec
  206:     ;;
  207: 
  208:   armeb-*-netbsdelf*)
  209:     targ_defvec=bfd_elf32_bigarm_vec
  210:     targ_selvecs="bfd_elf32_littlearm_vec armnetbsd_vec"
  211:     ;;
  212:   arm-*-netbsdelf*)
  213:     targ_defvec=bfd_elf32_littlearm_vec
  214:     targ_selvecs="bfd_elf32_bigarm_vec armnetbsd_vec"
  215:     ;;
  216:   arm-*-netbsd* | arm-*-openbsd*)
  217:     targ_defvec=armnetbsd_vec
  218:     targ_selvecs="bfd_elf32_littlearm_vec bfd_elf32_bigarm_vec"
  219:     targ_underscore=yes
  220:     targ_cflags=-D__QNXTARGET__
  221:     ;;
  222:   arm-*-nto* | nto*arm*)
  223:     targ_defvec=bfd_elf32_littlearm_vec
  224:     targ_selvecs=bfd_elf32_bigarm_vec
  225:     ;;
  226:   arm-*-riscix*)
  227:     targ_defvec=riscix_vec
  228:     ;;
  229:   arm-epoc-pe*)
  230:     targ_defvec=arm_epoc_pe_little_vec
  231:     targ_selvecs="arm_epoc_pe_little_vec arm_epoc_pe_big_vec arm_epoc_pei_little_vec arm_epoc_pei_big_vec"
  232:     targ_underscore=no
  233:     targ_cflags=-DARM_COFF_BUGFIX
  234:     ;;
  235:   arm-wince-pe | arm-*-wince)
  236:     targ_defvec=arm_wince_pe_little_vec
  237:     targ_selvecs="arm_wince_pe_little_vec arm_wince_pe_big_vec arm_wince_pei_little_vec arm_wince_pei_big_vec"
  238:     targ_underscore=no
  239:     targ_cflags="-DARM_WINCE -DARM_COFF_BUGFIX"
  240:     ;;
  241:   arm-*-pe*)
  242:     targ_defvec=armpe_little_vec
  243:     targ_selvecs="armpe_little_vec armpe_big_vec armpei_little_vec armpei_big_vec"
  244:     targ_underscore=yes
  245:     ;;
  246:   arm-*-aout | armel-*-aout)
  247:     targ_defvec=aout_arm_little_vec
  248:     targ_selvecs=aout_arm_big_vec
  249:     ;;
  250:   armeb-*-aout)
  251:     targ_defvec=aout_arm_big_vec
  252:     targ_selvecs=aout_arm_little_vec
  253:     ;;
  254:   arm-*-coff)
  255:     targ_defvec=armcoff_little_vec
  256:     targ_selvecs=armcoff_big_vec
  257:     targ_underscore=yes
  258:     ;;
  259:   arm-*-rtems*)
  260:     targ_defvec=bfd_elf32_littlearm_vec
  261:     targ_selvecs=bfd_elf32_bigarm_vec
  262:     ;;
  263:   armeb-*-elf | arm*b-*-linux-*)
  264:     targ_defvec=bfd_elf32_bigarm_vec
  265:     targ_selvecs=bfd_elf32_littlearm_vec
  266:     ;;
  267:   arm-*-kaos* | strongarm-*-kaos*)
  268:     targ_defvec=bfd_elf32_littlearm_vec
  269:     targ_selvecs=bfd_elf32_bigarm_vec
  270:     ;;
  271:   arm-*-elf | arm-*-freebsd* | arm*-*-linux-* | arm*-*-conix* | \
  272:   arm*-*-uclinux* | arm-*-kfreebsd*-gnu | \
  273:   arm*-*-eabi* )
  274:     targ_defvec=bfd_elf32_littlearm_vec
  275:     targ_selvecs=bfd_elf32_bigarm_vec
  276:     ;;
  277:   arm*-*-vxworks | arm*-*-windiss)
  278:     targ_defvec=bfd_elf32_littlearm_vxworks_vec
  279:     targ_selvecs=bfd_elf32_bigarm_vxworks_vec
  280:     ;;
  281:   arm*-*-symbianelf*)
  282:     targ_defvec=bfd_elf32_littlearm_symbian_vec
  283:     targ_selvecs=bfd_elf32_bigarm_symbian_vec
  284:     ;;
  285:   arm9e-*-elf)
  286:     targ_defvec=bfd_elf32_littlearm_vec
  287:     targ_selvecs=bfd_elf32_bigarm_vec
  288:     ;;
  289: 
  290:   thumb-*-coff)
  291:     targ_defvec=armcoff_little_vec
  292:     targ_selvecs=armcoff_big_vec
  293:     targ_underscore=yes
  294:     ;;
  295:   thumb-*-elf)
  296:     targ_defvec=bfd_elf32_littlearm_vec
  297:     targ_selvecs=bfd_elf32_bigarm_vec
  298:     ;;
  299:   thumb-epoc-pe*)
  300:     targ_defvec=arm_epoc_pe_little_vec
  301:     targ_selvecs="arm_epoc_pe_little_vec arm_epoc_pe_big_vec arm_epoc_pei_little_vec arm_epoc_pei_big_vec"
  302:     targ_underscore=no
  303:     ;;
  304:   thumb-*-pe*)
  305:     targ_defvec=armpe_little_vec
  306:     targ_selvecs="armpe_little_vec armpe_big_vec armpei_little_vec armpei_big_vec"
  307:     targ_underscore=yes
  308:     ;;
  309:   strongarm-*-elf)
  310:     targ_defvec=bfd_elf32_littlearm_vec
  311:     targ_selvecs=bfd_elf32_bigarm_vec
  312:     ;;
  313:   strongarm-*-coff)
  314:     targ_defvec=armcoff_little_vec
  315:     targ_selvecs=armcoff_big_vec
  316:     targ_underscore=yes
  317:     ;;
  318:   xscale-*-elf)
  319:     targ_defvec=bfd_elf32_littlearm_vec
  320:     targ_selvecs=bfd_elf32_bigarm_vec
  321:     ;;
  322:   xscale-*-coff)
  323:     targ_defvec=armcoff_little_vec
  324:     targ_selvecs=armcoff_big_vec
  325:     targ_underscore=yes
  326:     ;;
  327: 
  328:   avr-*-*)
  329:     targ_defvec=bfd_elf32_avr_vec
  330:     ;;
  331: 
  332:   bfin-*-*)
  333:     targ_defvec=bfd_elf32_bfin_vec
  334:     targ_selvecs=bfd_elf32_bfinfdpic_vec
  335:     targ_underscore=yes
  336:     ;;
  337: 
  338:   c30-*-*aout* | tic30-*-*aout*)
  339:     targ_defvec=tic30_aout_vec
  340:     ;;
  341:   c30-*-*coff* | tic30-*-*coff*)
  342:     targ_defvec=tic30_coff_vec
  343:     ;;
  344: 
  345:   c4x-*-*coff* | tic4x-*-*coff* | tic4x-*-rtems*)
  346:     targ_defvec=tic4x_coff1_vec
  347:     targ_selvecs="tic4x_coff1_beh_vec tic4x_coff2_vec tic4x_coff2_beh_vec tic4x_coff0_vec tic4x_coff0_beh_vec"
  348:     targ_underscore=yes
  349:     ;;
  350: 
  351:   c54x*-*-*coff* | tic54x-*-*coff*)
  352:     targ_defvec=tic54x_coff1_vec
  353:     targ_selvecs="tic54x_coff1_beh_vec tic54x_coff2_vec tic54x_coff2_beh_vec tic54x_coff0_vec tic54x_coff0_beh_vec"
  354:     targ_underscore=yes
  355:     ;;
  356: 
  357:   cr16-*-elf*)
  358:     targ_defvec=bfd_elf32_cr16_vec
  359:     targ_underscore=yes
  360:     ;;
  361: 
  362:   cr16c-*-elf*)
  363:     targ_defvec=bfd_elf32_cr16c_vec
  364:     targ_underscore=yes
  365:     ;;
  366: 
  367:   cris-*-* | crisv32-*-*)
  368:     targ_defvec=cris_aout_vec
  369:     targ_selvecs="bfd_elf32_us_cris_vec bfd_elf32_cris_vec ieee_vec"
  370:     targ_underscore=yes # Note: not true for bfd_elf32_cris_vec.
  371:     ;;
  372: 
  373:   crx-*-elf*)
  374:     targ_defvec=bfd_elf32_crx_vec
  375:     targ_underscore=yes
  376:     ;;
  377: 
  378:   d10v-*-*)
  379:     targ_defvec=bfd_elf32_d10v_vec
  380:     ;;
  381: 
  382:   dlx-*-elf*)
  383:     targ_defvec=bfd_elf32_dlx_big_vec
  384:     targ_selvecs="bfd_elf32_dlx_big_vec"
  385:     ;;
  386: 
  387:   d30v-*-*)
  388:     targ_defvec=bfd_elf32_d30v_vec
  389:     ;;
  390: 
  391:   fido-*-elf* )
  392:     targ_defvec=bfd_elf32_m68k_vec
  393:     targ_selvecs="m68kcoff_vec ieee_vec"
  394:     ;;
  395: 
  396:   fr30-*-elf)
  397:     targ_defvec=bfd_elf32_fr30_vec
  398:     ;;
  399: 
  400:   frv-*-elf)
  401:     targ_defvec=bfd_elf32_frv_vec
  402:     targ_selvecs=bfd_elf32_frvfdpic_vec
  403:     ;;
  404: 
  405:   frv-*-*linux*)
  406:     targ_defvec=bfd_elf32_frvfdpic_vec
  407:     targ_selvecs=bfd_elf32_frv_vec
  408:     ;;
  409: 
  410:   h8300*-*-rtemscoff*)
  411:     targ_defvec=h8300coff_vec
  412:     targ_underscore=yes
  413:     ;;
  414: 
  415:   h8300*-*-elf | h8300*-*-rtems*)
  416:     targ_defvec=bfd_elf32_h8300_vec
  417:     targ_underscore=yes
  418:     ;;
  419: 
  420:   h8300*-*-*)
  421:     targ_defvec=h8300coff_vec
  422:     targ_underscore=yes
  423:     ;;
  424: 
  425:   h8500-*-*)
  426:     targ_defvec=h8500coff_vec
  427:     targ_underscore=yes
  428:     ;;
  429: 
  430: #ifdef BFD64
  431:   hppa*64*-*-linux-*)
  432:     targ_defvec=bfd_elf64_hppa_linux_vec
  433:     targ_selvecs=bfd_elf64_hppa_vec
  434:     want64=true
  435:     ;;
  436:   hppa*64*-*-hpux11*)
  437:     targ_defvec=bfd_elf64_hppa_vec
  438:     targ_selvecs=bfd_elf64_hppa_linux_vec
  439:     targ_cflags=-DHPUX_LARGE_AR_IDS
  440:     want64=true
  441:     ;;
  442: #endif
  443: 
  444:   hppa*-*-linux-*)
  445:     targ_defvec=bfd_elf32_hppa_linux_vec
  446:     targ_selvecs=bfd_elf32_hppa_vec
  447:     ;;
  448:   hppa*-*-netbsd*)
  449:     targ_defvec=bfd_elf32_hppa_nbsd_vec
  450:     targ_selvecs="bfd_elf32_hppa_vec bfd_elf32_hppa_linux_vec"
  451:     ;;
  452:   hppa*-*-*elf* | hppa*-*-lites* | hppa*-*-sysv4* | hppa*-*-openbsd*)
  453:     targ_defvec=bfd_elf32_hppa_vec
  454:     targ_selvecs=bfd_elf32_hppa_linux_vec
  455:     ;;
  456: 
  457: #if defined (HOST_HPPAHPUX) || defined (HOST_HPPABSD) || defined (HOST_HPPAOSF) || defined (HOST_HPPAMPEIX)
  458:   hppa*-*-bsd*)
  459:     targ_defvec=som_vec
  460:     targ_selvecs=bfd_elf32_hppa_vec
  461:     ;;
  462:   hppa*-*-hpux* | hppa*-*-hiux* | hppa*-*-mpeix*)
  463:     targ_defvec=som_vec
  464:     ;;
  465:   hppa*-*-osf*)
  466:     targ_defvec=som_vec
  467:     targ_selvecs=bfd_elf32_hppa_vec
  468:     ;;
  469: #endif /* defined (HOST_HPPAHPUX) || defined (HOST_HPPABSD) || defined (HOST_HPPAOSF) */
  470: 
  471:   i370-*-*)
  472:     targ_defvec=bfd_elf32_i370_vec
  473:     targ_selvecs="bfd_elf32_i370_vec"
  474:     ;;
  475:   i[3-7]86-*-sco3.2v5*coff)
  476:     targ_defvec=i386coff_vec
  477:     targ_selvecs=bfd_elf32_i386_vec
  478:     ;;
  479:   i[3-7]86-*-sysv4* | i[3-7]86-*-unixware* | \
  480:   i[3-7]86-*-elf | i[3-7]86-*-sco3.2v5* | \
  481:   i[3-7]86-*-dgux* | i[3-7]86-*-sysv5*)
  482:     targ_defvec=bfd_elf32_i386_vec
  483:     targ_selvecs=i386coff_vec
  484:     ;;
  485:   i[3-7]86-*-solaris2*)
  486:     targ_defvec=bfd_elf32_i386_vec
  487:     targ_selvecs=i386coff_vec
  488:     targ64_selvecs=bfd_elf64_x86_64_vec
  489:     want64=true
  490:     ;;
  491:   i[3-7]86-*-kaos*)
  492:     targ_defvec=bfd_elf32_i386_vec
  493:     targ_selvecs=bfd_elf32_i386_vec
  494:     ;;
  495:   i[3-7]86-*-nto*)
  496:     targ_defvec=bfd_elf32_i386_vec
  497:     targ_selvecs=i386coff_vec
  498:     ;;
  499:   i[3-7]86-*-aros*)
  500:     targ_defvec=bfd_elf32_i386_vec
  501:     ;;
  502:   i[3-7]86-*-chorus*)
  503:     targ_defvec=bfd_elf32_i386_vec
  504:     ;;
  505:   *-*-msdosdjgpp* | *-*-go32* )
  506:     targ_defvec=go32coff_vec
  507:     targ_selvecs="go32stubbedcoff_vec i386aout_vec"
  508:     ;;
  509:   i[3-7]86-*-sysv* | i[3-7]86-*-isc* | i[3-7]86-*-sco* | i[3-7]86-*-coff | \
  510:   i[3-7]86-*-aix*)
  511:     targ_defvec=i386coff_vec
  512:     ;;
  513:   i[3-7]86-*-rtems*)
  514:     targ_defvec=bfd_elf32_i386_vec
  515:     targ_selvecs="i386coff_vec i386aout_vec"
  516:     ;;
  517:   i[3-7]86-*-darwin* | i[3-7]86-*-macos10* | i[3-7]86-*-rhapsody*)
  518:     targ_defvec=mach_o_le_vec
  519:     targ_selvecs="mach_o_le_vec mach_o_be_vec mach_o_fat_vec pef_vec pef_xlib_vec sym_vec"
  520:     targ_archs="bfd_i386_arch bfd_powerpc_arch bfd_rs6000_arch"
  521:     ;;
  522:  i[3-7]86-sequent-bsd*)
  523:     targ_defvec=i386dynix_vec
  524:     targ_underscore=yes
  525:     ;;
  526:   i[3-7]86-*-bsd*)
  527:     targ_defvec=i386bsd_vec
  528:     targ_underscore=yes
  529:     ;;
  530:   i[3-7]86-*-freebsdaout* | i[3-7]86-*-freebsd[12].* | \
  531:   i[3-7]86-*-freebsd[12])
  532:     targ_defvec=i386freebsd_vec
  533:     targ_selvecs=i386bsd_vec
  534:     targ_underscore=yes
  535:     ;;
  536:   i[3-7]86-*-freebsd* | i[3-7]86-*-kfreebsd*-gnu | i[3-7]86-*-dragonfly*)
  537:     targ_defvec=bfd_elf32_i386_freebsd_vec
  538:     targ_selvecs=i386coff_vec
  539:     # FreeBSD <= 4.0 supports only the old nonstandard way of ABI labelling.
  540:     case "${targ}" in
  541:       i[3-7]86-*-freebsd3* | i[3-7]86-*-freebsd4 | i[3-7]86-*-freebsd4.0*)
  542:         targ_cflags=-DOLD_FREEBSD_ABI_LABEL ;;
  543:     esac
  544:     ;;
  545:   i[3-7]86-*-netbsdelf* | i[3-7]86-*-netbsd*-gnu* | i[3-7]86-*-knetbsd*-gnu)
  546:     targ_defvec=bfd_elf32_i386_vec
  547:     targ_selvecs=i386netbsd_vec
  548:     targ64_selvecs=bfd_elf64_x86_64_vec
  549:     ;;
  550:   i[3-7]86-*-netbsdpe*)
  551:     targ_defvec=i386pe_vec
  552:     targ_selvecs="i386pe_vec i386pei_vec bfd_elf32_i386_vec"
  553:     ;;
  554:   i[3-7]86-*-netbsdaout* | i[3-7]86-*-netbsd* | \
  555:   i[3-7]86-*-openbsd[0-2].* | i[3-7]86-*-openbsd3.[0-3])
  556:     targ_defvec=i386netbsd_vec
  557:     targ_selvecs="bfd_elf32_i386_vec i386bsd_vec"
  558:     targ_underscore=yes
  559:     ;;
  560:   i[3-7]86-*-openbsd*)
  561:     targ_defvec=bfd_elf32_i386_vec
  562:     targ_selvecs=i386netbsd_vec
  563:     ;;
  564:   i[3-7]86-*-netware*)
  565:     targ_defvec=bfd_elf32_i386_vec
  566:     targ_selvecs="nlm32_i386_vec i386coff_vec i386aout_vec"
  567:     ;;
  568:   i[3-7]86-*-linux*aout*)
  569:     targ_defvec=i386linux_vec
  570:     targ_selvecs=bfd_elf32_i386_vec
  571:     targ_underscore=yes
  572:     ;;
  573:   i[3-7]86-*-linux-*)
  574:     targ_defvec=bfd_elf32_i386_vec
  575:     targ_selvecs="i386linux_vec bfd_efi_app_ia32_vec"
  576:     targ64_selvecs=bfd_elf64_x86_64_vec
  577:     ;;
  578: #ifdef BFD64
  579:   x86_64-*-elf*)
  580:     targ_defvec=bfd_elf64_x86_64_vec
  581:     targ_selvecs="bfd_elf32_i386_vec i386coff_vec"
  582:     want64=true
  583:     ;;
  584:   x86_64-*-freebsd* | x86_64-*-kfreebsd*-gnu)
  585:     targ_defvec=bfd_elf64_x86_64_freebsd_vec
  586:     targ_selvecs="bfd_elf32_i386_freebsd_vec i386coff_vec bfd_efi_app_ia32_vec bfd_efi_app_x86_64_vec bfd_elf32_i386_vec bfd_elf64_x86_64_vec"
  587:     want64=true
  588:     ;;
  589:   x86_64-*-netbsd* | x86_64-*-openbsd*)
  590:     targ_defvec=bfd_elf64_x86_64_vec
  591:     targ_selvecs="bfd_elf32_i386_vec i386netbsd_vec i386coff_vec bfd_efi_app_ia32_vec bfd_efi_app_x86_64_vec"
  592:     want64=true
  593:     ;;
  594:   x86_64-*-linux-*)
  595:     targ_defvec=bfd_elf64_x86_64_vec
  596:     targ_selvecs="bfd_elf32_i386_vec i386linux_vec bfd_efi_app_ia32_vec bfd_efi_app_x86_64_vec"
  597:     want64=true
  598:     ;;
  599:   x86_64-*-mingw*)
  600:     targ_defvec=x86_64pe_vec
  601:     targ_selvecs="x86_64pe_vec x86_64pei_vec bfd_elf64_x86_64_vec"
  602:     want64=true
  603:     targ_underscore=yes
  604:     ;;
  605: #endif
  606:   i[3-7]86-*-lynxos*)
  607:     targ_defvec=bfd_elf32_i386_vec
  608:     targ_selvecs="i386lynx_coff_vec i386lynx_aout_vec"
  609:     ;;
  610:   i[3-7]86-*-gnu*)
  611:     targ_defvec=bfd_elf32_i386_vec
  612:     ;;
  613:   i[3-7]86-*-mach* | i[3-7]86-*-osf1mk*)
  614:     targ_defvec=i386mach3_vec
  615:     targ_cflags=-DSTAT_FOR_EXEC
  616:     targ_underscore=yes
  617:     ;;
  618:   i[3-7]86-*-os9k)
  619:     targ_defvec=i386os9k_vec
  620:     ;;
  621:   i[3-7]86-*-msdos*)
  622:     targ_defvec=i386aout_vec
  623:     targ_selvecs=i386msdos_vec
  624:     ;;
  625:   i[3-7]86-*-moss*)
  626:     targ_defvec=bfd_elf32_i386_vec
  627:     targ_selvecs="i386msdos_vec i386aout_vec"
  628:     ;;
  629:   i[3-7]86-*-beospe*)
  630:     targ_defvec=i386pe_vec
  631:     targ_selvecs="i386pe_vec i386pei_vec"
  632:     ;;
  633:   i[3-7]86-*-beoself* | i[3-7]86-*-beos*)
  634:     targ_defvec=bfd_elf32_i386_vec
  635:     targ_selvecs="i386pe_vec i386pei_vec"
  636:     ;;
  637:   i[3-7]86-*-interix*)
  638:     targ_defvec=i386pei_vec
  639:     targ_selvecs="i386pe_vec"
  640:     # FIXME: This should eventually be checked at runtime.
  641:     targ_cflags=-DSTRICT_PE_FORMAT
  642:     ;;
  643:   i[3-7]86-*-rdos*)
  644:     targ_defvec=bfd_elf32_i386_vec
  645:     targ_selvecs=i386coff_vec
  646:     ;;
  647:   i[3-7]86-*-mingw32* | i[3-7]86-*-cygwin* | i[3-7]86-*-winnt | i[3-7]86-*-pe)
  648:     targ_defvec=i386pe_vec
  649:     targ_selvecs="i386pe_vec i386pei_vec bfd_elf32_i386_vec"
  650:     targ_underscore=yes
  651:     ;;
  652:   i[3-7]86-none-*)
  653:     targ_defvec=i386coff_vec
  654:     ;;
  655:   i[3-7]86-*-aout* | i[3-7]86*-*-vsta*)
  656:     targ_defvec=i386aout_vec
  657:     ;;
  658:   i[3-7]86-*-vxworks*)
  659:     targ_defvec=bfd_elf32_i386_vxworks_vec
  660:     targ_underscore=yes
  661:     ;;
  662:   i[3-7]86-*-chaos)
  663:     targ_defvec=bfd_elf32_i386_vec
  664:     targ_selfvecs=i386chaos_vec
  665:     ;;
  666: 
  667:   i860-*-mach3* | i860-*-osf1* | i860-*-coff*)
  668:     targ_defvec=i860coff_vec
  669:     ;;
  670:   i860-stardent-sysv4* | i860-stardent-elf*)
  671:     targ_defvec=bfd_elf32_i860_little_vec
  672:     targ_selvecs="bfd_elf32_i860_vec bfd_elf32_i860_little_vec"
  673:     ;;
  674:   i860-*-sysv4* | i860-*-elf*)
  675:     targ_defvec=bfd_elf32_i860_vec
  676:     ;;
  677: 
  678:   i960-*-vxworks4* | i960-*-vxworks5.0)
  679:     targ_defvec=b_out_vec_little_host
  680:     targ_selvecs="b_out_vec_big_host icoff_little_vec icoff_big_vec ieee_vec"
  681:     targ_underscore=yes
  682:     ;;
  683:   i960-*-vxworks5.* | i960-*-coff* | i960-*-sysv*)
  684:     targ_defvec=icoff_little_vec
  685:     targ_selvecs="icoff_big_vec b_out_vec_little_host b_out_vec_big_host ieee_vec"
  686:     targ_underscore=yes
  687:     ;;
  688:   i960-*-vxworks* | i960-*-aout* | i960-*-bout* | i960-*-nindy*)
  689:     targ_defvec=b_out_vec_little_host
  690:     targ_selvecs="b_out_vec_big_host icoff_little_vec icoff_big_vec ieee_vec"
  691:     targ_underscore=yes
  692:     ;;
  693:   i960-*-elf*)
  694:     targ_defvec=bfd_elf32_i960_vec
  695:     targ_selvecs="icoff_little_vec icoff_big_vec"
  696:     ;;
  697: 
  698:   ip2k-*-elf)
  699:     targ_defvec=bfd_elf32_ip2k_vec
  700:     ;;
  701: 
  702:   iq2000-*-elf)
  703:     targ_defvec=bfd_elf32_iq2000_vec
  704:     ;;
  705: 
  706:   m32c-*-elf)
  707:     targ_defvec=bfd_elf32_m32c_vec
  708:     ;;
  709: 
  710:   m32r*le-*-linux*)
  711:     targ_defvec=bfd_elf32_m32rlelin_vec
  712:     targ_selvecs="bfd_elf32_m32rlin_vec  bfd_elf32_m32rlelin_vec"
  713:     ;;
  714:   m32r*-*-linux*)
  715:     targ_defvec=bfd_elf32_m32rlin_vec
  716:     targ_selvecs="bfd_elf32_m32rlin_vec  bfd_elf32_m32rlelin_vec"
  717:     ;;
  718:   m32r*le-*-*)
  719:     targ_defvec=bfd_elf32_m32rle_vec
  720:     targ_selvecs="bfd_elf32_m32r_vec bfd_elf32_m32rle_vec"
  721:     ;;
  722:   m32r-*-*)
  723:     targ_defvec=bfd_elf32_m32r_vec
  724:     ;;
  725: 
  726:   m68hc11-*-* | m6811-*-*)
  727:     targ_defvec=bfd_elf32_m68hc11_vec
  728:     targ_selvecs="bfd_elf32_m68hc11_vec bfd_elf32_m68hc12_vec"
  729:     ;;
  730:   m68hc12-*-* | m6812-*-*)
  731:     targ_defvec=bfd_elf32_m68hc12_vec
  732:     targ_selvecs="bfd_elf32_m68hc11_vec bfd_elf32_m68hc12_vec"
  733:     ;;
  734: 
  735:   m68*-motorola-sysv*)
  736:     targ_defvec=m68ksysvcoff_vec
  737:     ;;
  738:   m68*-hp-bsd*)
  739:     targ_defvec=hp300bsd_vec
  740:     targ_underscore=yes
  741:     ;;
  742:   m68*-*-aout*)
  743:     targ_defvec=aout0_big_vec
  744:     # We include cisco_core_big_vec here, rather than making a separate cisco
  745:     # configuration, so that cisco-core.c gets routinely tested at
  746:     # least for compilation.
  747:     targ_selvecs="cisco_core_big_vec ieee_vec"
  748:     targ_underscore=yes
  749:     ;;
  750:   m68*-*-elf* | m68*-*-sysv4* | m68*-*-uclinux*)
  751:     targ_defvec=bfd_elf32_m68k_vec
  752:     targ_selvecs="m68kcoff_vec ieee_vec"
  753:     ;;
  754:   m68*-*-rtems*)
  755:     targ_defvec=bfd_elf32_m68k_vec
  756:     targ_selvecs="m68kcoff_vec versados_vec ieee_vec aout0_big_vec"
  757:     ;;
  758:   m68*-*-coff* | m68*-*-sysv*)
  759:     targ_defvec=m68kcoff_vec
  760:     targ_selvecs="m68kcoff_vec versados_vec ieee_vec"
  761:     ;;
  762:   m68*-*-hpux*)
  763:     targ_defvec=hp300hpux_vec
  764:     targ_underscore=yes
  765:     ;;
  766:   m68*-*-linux*aout*)
  767:     targ_defvec=m68klinux_vec
  768:     targ_selvecs=bfd_elf32_m68k_vec
  769:     targ_underscore=yes
  770:     ;;
  771:   m68*-*-linux-*)
  772:     targ_defvec=bfd_elf32_m68k_vec
  773:     targ_selvecs=m68klinux_vec
  774:     ;;
  775:   m68*-*-gnu*)
  776:     targ_defvec=bfd_elf32_m68k_vec
  777:     # targ_selvecs=m68kmach3_vec
  778:     # targ_cflags=-DSTAT_FOR_EXEC
  779:     ;;
  780:   m68*-hp*-netbsd*)
  781:     targ_defvec=m68k4knetbsd_vec
  782:     targ_selvecs="m68knetbsd_vec hp300bsd_vec sunos_big_vec"
  783:     targ_underscore=yes
  784:     ;;
  785:   m68*-*-netbsdelf*)
  786:     targ_defvec=bfd_elf32_m68k_vec
  787:     targ_selvecs="m68knetbsd_vec m68k4knetbsd_vec hp300bsd_vec sunos_big_vec"
  788:     ;;
  789:   m68*-*-netbsdaout* | m68*-*-netbsd*)
  790:     targ_defvec=m68knetbsd_vec
  791:     targ_selvecs="m68k4knetbsd_vec bfd_elf32_m68k_vec hp300bsd_vec sunos_big_vec"
  792:     targ_underscore=yes
  793:     ;;
  794:   m68*-*-openbsd*)
  795:     targ_defvec=m68knetbsd_vec
  796:     targ_selvecs="m68k4knetbsd_vec hp300bsd_vec sunos_big_vec"
  797:     targ_underscore=yes
  798:     ;;
  799:   m68*-*-sunos* | m68*-*-os68k* | m68*-*-vxworks* | m68*-netx-* | \
  800:   m68*-*-bsd* | m68*-*-vsta*)
  801:     targ_defvec=sunos_big_vec
  802:     targ_underscore=yes
  803:     ;;