# gas target specific configuration file. This is a -*- sh -*- file. # This is invoked by configure. Putting it in a separate shell file # lets us skip running autoconf when modifying target specific # information. # Input shell variables: # targ a configuration target name, such as i686-pc-linux-gnu. # Output shell variables: # cpu_type canonical gas cpu type; identifies the config/tc-* files # fmt output format; identifies the config/obj-* files # em emulation; identifies the config/te-* files # Optional output shell variables; these are not always set: # arch the default architecture; sets DEFAULT_ARCH on some systems # endian "big" or "little"; used on bi-endian systems cpu_type= fmt= em=generic bfd_gas=no arch= endian= eval `echo $targ | sed 's/^\([^-]*\)-\([^-]*\)-\(.*\)$/cpu=\1 vendor=\2 os=\3/'` # Check for architecture variants. Set cpu_type and, optionally, # endian and arch. # Note: This table is alpha-sorted, please try to keep it that way. case ${cpu} in alpha*) cpu_type=alpha ;; am33_2.0) cpu_type=mn10300 endian=little ;; arm*be|arm*b) cpu_type=arm endian=big ;; arm*) cpu_type=arm endian=little ;; bfin*) cpu_type=bfin endian=little ;; c4x*) cpu_type=tic4x ;; cr16*) cpu_type=cr16 endian=little ;; crisv32) cpu_type=cris arch=crisv32 ;; crx*) cpu_type=crx endian=little ;; fido) cpu_type=m68k ;; hppa*) cpu_type=hppa ;; i[3-7]86) cpu_type=i386 arch=i386;; ia64) cpu_type=ia64 ;; ip2k) cpu_type=ip2k endian=big ;; iq2000) cpu_type=iq2000 endian=big ;; lm32) cpu_type=lm32 ;; m32c) cpu_type=m32c endian=big ;; m32r) cpu_type=m32r endian=big ;; m32rle) cpu_type=m32r endian=little ;; m5200) cpu_type=m68k ;; m68008) cpu_type=m68k ;; m680[012346]0) cpu_type=m68k ;; m6811|m6812|m68hc12) cpu_type=m68hc11 ;; m683??) cpu_type=m68k ;; maxq) cpu_type=maxq ;; mep-*-elf) cpu_type=mep endian=big ;; microblaze*) cpu_type=microblaze ;; mips*el) cpu_type=mips endian=little ;; mips*) cpu_type=mips endian=big ;; mt) cpu_type=mt endian=big ;; or32*) cpu_type=or32 endian=big ;; pjl*) cpu_type=pj endian=little ;; pj*) cpu_type=pj endian=big ;; powerpc*le*) cpu_type=ppc endian=little ;; powerpc*) cpu_type=ppc endian=big ;; rs6000*) cpu_type=ppc ;; s390x*) cpu_type=s390 arch=s390x ;; s390*) cpu_type=s390 arch=s390 ;; score*l) cpu_type=score endian=little ;; score*) cpu_type=score endian=big ;; sh5le*) cpu_type=sh64 endian=little ;; sh5*) cpu_type=sh64 endian=big ;; sh64le*) cpu_type=sh64 endian=little ;; sh64*) cpu_type=sh64 endian=big ;; sh*le) cpu_type=sh endian=little ;; sh*) cpu_type=sh endian=big ;; sparc64*) cpu_type=sparc arch=v9-64 ;; sparc86x*) cpu_type=sparc arch=sparc86x ;; sparclet*) cpu_type=sparc arch=sparclet ;; sparclite*) cpu_type=sparc arch=sparclite ;; sparc*) cpu_type=sparc arch=sparclite ;; # ??? See tc-sparc.c. strongarm*be) cpu_type=arm endian=big ;; strongarm*b) cpu_type=arm endian=big ;; strongarm*) cpu_type=arm endian=little ;; v850*) cpu_type=v850 ;; x86_64*) cpu_type=i386 arch=x86_64;; xscale*be|xscale*b) cpu_type=arm endian=big ;; xscale*) cpu_type=arm endian=little ;; xtensa*) cpu_type=xtensa arch=xtensa ;; *) cpu_type=${cpu} ;; esac # Assign object format. Set fmt, em, and bfd_gas. generic_target=${cpu_type}-$vendor-$os # Note: This table is alpha-sorted, please try to keep it that way. case ${generic_target} in alpha-*-*vms*) fmt=evax ;; alpha-*-osf*) fmt=ecoff ;; alpha-*-linuxecoff*) fmt=ecoff ;; alpha-*-linux-*) fmt=elf em=linux ;; alpha-*-netbsd*) fmt=elf em=nbsd ;; alpha-*-openbsd*) fmt=elf em=obsd ;; arc-*-elf*) fmt=elf ;; arm-*-aout) fmt=aout ;; arm-*-coff | thumb-*-coff) fmt=coff ;; arm-*-rtems* | thumb-*-rtems*) fmt=elf ;; arm-*-elf | thumb-*-elf) fmt=elf ;; arm-*-eabi*) fmt=elf em=armeabi ;; arm-*-symbianelf*) fmt=elf em=symbian ;; arm-*-kaos*) fmt=elf ;; arm-*-conix*) fmt=elf ;; arm-*-linux*aout*) fmt=aout em=linux ;; arm-*-linux-*eabi*) fmt=elf em=armlinuxeabi ;; arm-*-linux-*) fmt=elf em=linux ;; arm-*-uclinux*eabi*) fmt=elf em=armlinuxeabi ;; arm-*-uclinux*) fmt=elf em=linux ;; arm-*-netbsdelf*) fmt=elf em=nbsd ;; arm-*-*n*bsd*) fmt=aout em=nbsd ;; arm-*-nto*) fmt=elf ;; arm-epoc-pe | thumb-epoc-pe) fmt=coff em=epoc-pe ;; arm-wince-pe | arm-*-wince | arm*-*-mingw32ce* | arm*-*-cegcc*) fmt=coff em=wince-pe ;; arm-*-pe | thumb-*-pe) fmt=coff em=pe ;; arm-*-riscix*) fmt=aout em=riscix ;; avr-*-*) fmt=elf bfd_gas=yes ;; bfin-*-linux-uclibc) fmt=fdpicelf em=linux ;; bfin-*-uclinux*) fmt=elf em=linux ;; bfin-*-rtems*) fmt=elf ;; bfin-*elf) fmt=elf ;; cr16-*-elf*) fmt=elf ;; cris-*-linux-* | crisv32-*-linux-*) fmt=multi em=linux ;; cris-*-* | crisv32-*-*) fmt=multi ;; crx-*-elf*) fmt=elf ;; d10v-*-*) fmt=elf ;; d30v-*-*) fmt=elf ;; dlx-*-*) fmt=elf ;; fr30-*-*) fmt=elf ;; frv-*-*linux*) fmt=elf em=linux;; frv-*-*) fmt=elf ;; moxie-*-uclinux) fmt=elf em=linux;; moxie-*-*) fmt=elf ;; hppa-*-linux*) case ${cpu} in hppa*64*) fmt=elf em=hppalinux64 ;; hppa*) fmt=elf em=linux ;; esac ;; hppa-*-*elf*) fmt=elf em=hppa ;; hppa-*-lites*) fmt=elf em=hppa ;; hppa-*-netbsd*) fmt=elf em=nbsd ;; hppa-*-openbsd*) fmt=elf em=hppa ;; hppa-*-osf*) fmt=som em=hppa ;; hppa-*-hpux11*) case ${cpu} in hppa*64*) fmt=elf em=hppa64 ;; hppa*) fmt=som em=hppa ;; esac ;; hppa-*-hpux*) fmt=som em=hppa ;; hppa-*-mpeix*) fmt=som em=hppa ;; hppa-*-bsd*) fmt=som em=hppa ;; hppa-*-hiux*) fmt=som em=hppa ;; h8300-*-elf | h8300-*-rtems*) fmt=elf ;; i370-*-elf* | i370-*-linux*) fmt=elf ;; i386-ibm-aix*) fmt=coff em=i386aix ;; i386-sequent-bsd*) fmt=aout em=dynix ;; i386-*-beospe*) fmt=coff em=pe ;; i386-*-beos*) fmt=elf ;; i386-*-coff) fmt=coff ;; i386-*-elf) fmt=elf ;; i386-*-kaos*) fmt=elf ;; i386-*-bsd*) fmt=aout em=386bsd ;; i386-*-netbsd0.8) fmt=aout em=386bsd ;; i386-*-netbsdpe*) fmt=coff em=pe ;; i386-*-netbsd*-gnu* | \ i386-*-knetbsd*-gnu | \ i386-*-netbsdelf*) fmt=elf em=nbsd ;; i386-*-netbsd*) case ${cpu} in x86_64) fmt=elf em=nbsd ;; *) fmt=aout em=nbsd ;; esac ;; i386-*-openbsd[0-2].* | \ i386-*-openbsd3.[0-2]) fmt=aout em=nbsd ;; i386-*-openbsd*) fmt=elf em=nbsd ;; i386-*-linux*aout*) fmt=aout em=linux ;; i386-*-linux*oldld) fmt=aout em=linux ;; i386-*-linux*coff*) fmt=coff em=linux ;; i386-*-linux-*) fmt=elf em=linux ;; i386-*-lynxos*) fmt=elf em=lynx ;; i386-*-sysv[45]*) fmt=elf ;; i386-*-solaris*) fmt=elf em=solaris ;; i386-*-freebsdaout*) fmt=aout em=386bsd ;; i386-*-freebsd[12].*) fmt=aout em=386bsd ;; i386-*-freebsd[12]) fmt=aout em=386bsd ;; i386-*-freebsd* | i386-*-kfreebsd*-gnu | i386-*-dragonfly*) fmt=elf em=freebsd ;; i386-*-sysv*) fmt=coff ;; i386-*-sco3.2v5*coff) fmt=coff ;; i386-*-isc*) fmt=coff ;; i386-*-sco3.2v5*) fmt=elf ;; i386-*-sco3.2*) fmt=coff ;; i386-*-vsta) fmt=aout ;; i386-*-msdosdjgpp* \ | i386-*-go32*) fmt=coff em=go32 ;; i386-*-rtems*) fmt=elf ;; i386-*-gnu*) fmt=elf em=gnu ;; i386-*-mach*) fmt=aout em=mach ;; i386-*-msdos*) fmt=aout ;; i386-*-moss*) fmt=elf ;; i386-*-pe) fmt=coff em=pe ;; i386-*-cygwin*) fmt=coff em=pe ;; i386-*-interix*) fmt=coff em=interix ;; i386-*-mingw*) case ${cpu} in x86_64*) fmt=coff em=pep ;; i*) fmt=coff em=pe ;; esac ;; i386-*-nto-qnx*) fmt=elf ;; i386-*-*nt*) fmt=coff em=pe ;; i386-*-chaos) fmt=elf ;; i386-*-rdos*) fmt=elf ;; i386-*-darwin*) fmt=macho ;; i860-*-*) fmt=elf endian=little ;; i960-*-elf*) fmt=elf ;; ia64-*-elf*) fmt=elf ;; ia64-*-*vms*) fmt=elf em=vms ;; ia64-*-aix*) fmt=elf em=ia64aix ;; ia64-*-linux-*) fmt=elf em=linux ;; ia64-*-hpux*) fmt=elf em=hpux ;; ia64-*-netbsd*) fmt=elf em=nbsd ;; ip2k-*-*) fmt=elf ;; iq2000-*-elf) fmt=elf ;; lm32-*-*) fmt=elf ;; m32c-*-elf | m32c-*-rtems*) fmt=elf ;; m32r-*-elf* | m32r-*-rtems*) fmt=elf ;; m32r-*-linux*) fmt=elf em=linux;; m68hc11-*-* | m6811-*-*) fmt=elf ;; m68hc12-*-* | m6812-*-*) fmt=elf ;; m68k-*-elf*) fmt=elf ;; m68k-*-sysv4*) fmt=elf em=svr4 ;; m68k-*-rtems*) fmt=elf ;; m68k-*-linux-*) fmt=elf em=linux ;; m68k-*-uclinux*) fmt=elf ;; m68k-*-gnu*) fmt=elf ;; m68k-*-netbsdelf*) fmt=elf em=nbsd ;; m68k-*-netbsd*) fmt=aout em=nbsd bfd_gas=yes ;; m68k-*-openbsd*) fmt=aout em=nbsd bfd_gas=yes ;; m68k-*-psos*) fmt=elf em=psos;; maxq-*-coff) fmt=coff bfd_gas=yes ;; mep-*-elf) fmt=elf ;; mcore-*-elf) fmt=elf ;; mcore-*-pe) fmt=coff em=pe bfd_gas=yes ;; microblaze-*-*) fmt=elf ;; # don't change em like *-*-bsd does mips-sony-bsd*) fmt=ecoff ;; mips-*-ultrix*) fmt=ecoff endian=little ;; mips-*-osf*) fmt=ecoff endian=little ;; mips-*-ecoff*) fmt=ecoff ;; mips-*-pe*) fmt=coff endian=little em=pe ;; mips-*-irix6*) fmt=elf em=irix ;; mips-*-irix5*) fmt=elf em=irix ;; mips-*-irix*) fmt=ecoff em=irix ;; mips-*-lnews*) fmt=ecoff em=lnews ;; mips-*-riscos*) fmt=ecoff ;; mips*-*-linux*) fmt=elf em=tmips ;; mips-*-sysv4*MP* | mips-*-gnu*) fmt=elf em=tmips ;; mips*-sde-elf*) fmt=elf em=tmips ;; mips-*-sysv*) fmt=ecoff ;; mips-*-elf* | mips-*-rtems*) fmt=elf ;; mips-*-netbsd*) fmt=elf em=tmips ;; mips-*-openbsd*) fmt=elf em=tmips ;; mmix-*-*) fmt=elf ;; mn10200-*-*) fmt=elf ;; # cpu_type for am33_2.0 is set to mn10300 mn10300-*-linux*) fmt=elf em=linux ;; mn10300-*-*) fmt=elf ;; mt-*-elf) fmt=elf bfd_gas=yes ;; msp430-*-*) fmt=elf ;; ns32k-pc532-mach*) fmt=aout em=pc532mach ;; ns32k-pc532-ux*) fmt=aout em=pc532mach ;; ns32k-pc532-lites*) fmt=aout em=nbsd532 ;; ns32k-*-*n*bsd*) fmt=aout em=nbsd532 ;; openrisc-*-*) fmt=elf ;; or32-*-rtems*) fmt=elf ;; or32-*-elf) fmt=elf ;; pj*) fmt=elf ;; ppc-*-pe | ppc-*-cygwin*) fmt=coff em=pe ;; ppc-*-winnt*) fmt=coff em=pe ;; ppc-*-aix5.[01]) fmt=coff em=aix5 ;; ppc-*-aix[5-9].*) fmt=coff em=aix5 ;; ppc-*-aix*) fmt=coff ;; ppc-*-beos*) fmt=coff ;; ppc-*-*n*bsd* | ppc-*-elf*) fmt=elf ;; ppc-*-eabi* | ppc-*-sysv4*) fmt=elf ;; ppc-*-linux-*) fmt=elf em=linux ;; ppc-*-solaris*) fmt=elf em=solaris ;; ppc-*-rtems*) fmt=elf ;; ppc-*-macos*) fmt=coff em=macos ;; ppc-*-nto*) fmt=elf ;; ppc-*-kaos*) fmt=elf ;; ppc-*-lynxos*) fmt=elf em=lynx ;; s390-*-linux-*) fmt=elf em=linux ;; s390-*-tpf*) fmt=elf ;; score-*-elf) fmt=elf ;; sh*-*-linux*) fmt=elf em=linux case ${cpu} in sh*eb) endian=big ;; *) endian=little ;; esac ;; sh5*-*-netbsd*) fmt=elf em=nbsd ;; sh64*-*-netbsd*) fmt=elf em=nbsd ;; sh*-*-netbsdelf*) fmt=elf em=nbsd case ${cpu} in sh*l*) endian=little ;; *) endian=big ;; esac ;; sh*-*-symbianelf*) fmt=elf endian=little ;; sh-*-elf* | sh-*-uclinux* | sh[12]-*-uclinux*) fmt=elf ;; sh-*-coff*) fmt=coff ;; sh-*-nto*) fmt=elf ;; sh-*-pe*) fmt=coff em=pe bfd_gas=yes endian=little ;; sh-*-rtemscoff*) fmt=coff ;; sh-*-rtems*) fmt=elf ;; sh-*-kaos*) fmt=elf ;; shle*-*-kaos*) fmt=elf ;; sh64-*-elf*) fmt=elf ;; sparc-*-rtems*) fmt=elf ;; sparc-*-sunos4*) fmt=aout em=sun3 ;; sparc-*-aout) fmt=aout em=sparcaout ;; sparc-*-coff) fmt=coff ;; sparc-*-linux*aout*) fmt=aout em=linux ;; sparc-*-linux-*) fmt=elf em=linux ;; sparc-fujitsu-none) fmt=aout ;; sparc-*-elf) fmt=elf ;; sparc-*-sysv4*) fmt=elf ;; sparc-*-solaris*) fmt=elf em=solaris ;; sparc-*-netbsdelf*) fmt=elf em=nbsd ;; sparc-*-netbsd*) case ${cpu} in sparc64) fmt=elf em=nbsd ;; *) fmt=aout em=nbsd ;; esac ;; sparc-*-openbsd[0-2].* | \ sparc-*-openbsd3.[0-1]) case ${cpu} in sparc64) fmt=elf em=nbsd ;; *) fmt=aout em=nbsd ;; esac ;; sparc-*-openbsd*) fmt=elf em=nbsd ;; spu-*-elf) fmt=elf ;; tic30-*-*aout*) fmt=aout bfd_gas=yes ;; tic30-*-*coff*) fmt=coff bfd_gas=yes ;; tic4x-*-* | c4x-*-*) fmt=coff bfd_gas=yes ;; tic54x-*-* | c54x*-*-*) fmt=coff bfd_gas=yes need_libm=yes;; v850-*-*) fmt=elf ;; v850e-*-*) fmt=elf ;; v850ea-*-*) fmt=elf ;; vax-*-netbsdelf*) fmt=elf em=nbsd ;; vax-*-linux-*) fmt=elf em=linux ;; xscale-*-coff) fmt=coff ;; xscale-*-elf) fmt=elf ;; xstormy16-*-*) fmt=elf ;; xtensa*-*-*) fmt=elf ;; z80-*-coff) fmt=coff ;; z8k-*-coff | z8k-*-sim) fmt=coff ;; *-*-aout | *-*-scout) fmt=aout ;; *-*-freebsd* | *-*-kfreebsd*-gnu) fmt=elf em=freebsd ;; *-*-bsd*) fmt=aout em=sun3 ;; *-*-generic) fmt=generic ;; *-*-xray | *-*-hms) fmt=coff ;; *-*-sim) fmt=coff ;; *-*-elf | *-*-sysv4*) fmt=elf ;; *-*-solaris*) fmt=elf em=solaris ;; *-*-aros*) fmt=elf em=linux ;; *-*-vxworks* | *-*-windiss) fmt=elf em=vxworks ;; *-*-netware) fmt=elf em=netware ;; esac case ${cpu_type} in alpha | arm | i386 | ia64 | microblaze | mips | ns32k | pdp11 | ppc | sparc | z80 | z8k) bfd_gas=yes ;; esac case ${fmt} in elf | ecoff | fdpicelf | multi | som) bfd_gas=yes ;; esac if test $bfd_gas != yes; then echo This target is no longer supported in gas exit 1 fi