diff options
author | Ian Lance Taylor <ian@airs.com> | 2004-12-22 15:29:25 +0000 |
---|---|---|
committer | Ian Lance Taylor <ian@airs.com> | 2004-12-22 15:29:25 +0000 |
commit | 14ee9f48f94aeeeae1465d42879376790346579f (patch) | |
tree | ed3bf5c4f865591cb87035c9efb213057cb84ff9 /gas/configure.tgt | |
parent | d69f560c9e32e75dc4e7e9b3e4da3a158f10470c (diff) | |
download | gdb-14ee9f48f94aeeeae1465d42879376790346579f.zip gdb-14ee9f48f94aeeeae1465d42879376790346579f.tar.gz gdb-14ee9f48f94aeeeae1465d42879376790346579f.tar.bz2 |
* configure.tgt: New.
* configure.in: Move setting of cpu_type, fmt, etc., to
configure.tgt.
* Makefile.am (CONFIG_STATUS_DEPENDENCIES): Add
$(srcdir)/configure.tgt.
* configure, Makefile.in: Rebuild.
Diffstat (limited to 'gas/configure.tgt')
-rw-r--r-- | gas/configure.tgt | 439 |
1 files changed, 439 insertions, 0 deletions
diff --git a/gas/configure.tgt b/gas/configure.tgt new file mode 100644 index 0000000..085e3e1 --- /dev/null +++ b/gas/configure.tgt @@ -0,0 +1,439 @@ +# 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 +# bfd_gas set to "yes" if BFD_ASSEMBLER is required + +# 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= +bfd_gas= +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 + am33_2.0) cpu_type=mn10300 endian=little ;; + alpha*) cpu_type=alpha ;; + arm*be|arm*b) cpu_type=arm endian=big ;; + arm*) cpu_type=arm endian=little ;; + c4x*) cpu_type=tic4x ;; + crisv32) cpu_type=cris arch=crisv32 ;; + crx*) cpu_type=crx endian=little ;; + 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 ;; + m32r) cpu_type=m32r endian=big ;; + m32rle) cpu_type=m32r endian=little ;; + m6811|m6812|m68hc12) cpu_type=m68hc11 ;; + m680[012346]0) cpu_type=m68k ;; + m68008) cpu_type=m68k ;; + m683??) cpu_type=m68k ;; + m5200) cpu_type=m68k ;; + m8*) cpu_type=m88k ;; + maxq) cpu_type=maxq ;; + mips*el) cpu_type=mips endian=little ;; + mips*) cpu_type=mips 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 ;; + sh5*) cpu_type=sh64 endian=big ;; + sh5le*) cpu_type=sh64 endian=little ;; + sh64*) cpu_type=sh64 endian=big ;; + sh64le*) cpu_type=sh64 endian=little ;; + sh*le) cpu_type=sh endian=little ;; + sh*) cpu_type=sh endian=big ;; + sparclite*) cpu_type=sparc arch=sparclite ;; + sparclet*) cpu_type=sparc arch=sparclet ;; + sparc64*) cpu_type=sparc arch=v9-64 ;; + sparc86x*) cpu_type=sparc arch=sparc86x ;; + 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 +bfd_gas=no +em=generic +# Note: This table is alpha-sorted, please try to keep it that way. +case ${generic_target} in + a29k-*-coff) fmt=coff ;; + a29k-amd-udi) fmt=coff ;; + a29k-amd-ebmon) fmt=coff ;; + a29k-nyu-sym1) fmt=coff ;; + a29k-*-rtems*) fmt=coff ;; + a29k-*-vxworks*) fmt=coff ;; + + alpha-*-*vms*) fmt=evax ;; + alpha-*-osf*) fmt=ecoff ;; + alpha-*-linuxecoff*) fmt=ecoff ;; + alpha-*-linux-gnu*) 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 ;; + arm-*-symbianelf*) fmt=elf em=symbian ;; + arm-*-kaos*) fmt=elf ;; + arm-*-conix*) fmt=elf ;; + arm-*-linux*aout*) fmt=aout em=linux ;; + arm-*-linux-gnueabi*) fmt=elf em=armlinuxeabi ;; + arm-*-linux-gnu*) fmt=elf em=linux ;; + 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) fmt=coff em=wince-pe ;; + arm-*-pe | thumb-*-pe) fmt=coff em=pe ;; + arm-*-riscix*) fmt=aout em=riscix ;; + + avr-*-*) fmt=elf ;; + + cris-*-linux-gnu* | crisv32-*-linux-gnu*) + fmt=multi bfd_gas=yes em=linux ;; + cris-*-* | crisv32-*-*) fmt=multi bfd_gas=yes ;; + + 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 ;; + + 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-*-rtems*) fmt=elf 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-*-rtems*) fmt=coff ;; + h8300-*-coff) fmt=coff ;; + h8300-*-elf) fmt=elf ;; + h8500-*-rtems*) fmt=coff ;; + h8500-*-coff) fmt=coff ;; + + 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-*-*n*bsd*) + case ${cpu} in + x86_64) fmt=elf em=nbsd ;; + *) fmt=aout em=nbsd ;; + esac ;; + i386-*-linux*aout*) fmt=aout em=linux ;; + i386-*-linux*oldld) fmt=aout em=linux ;; + i386-*-linux*coff*) fmt=coff em=linux ;; + i386-*-linux-gnu*) fmt=elf em=linux ;; + i386-*-lynxos*) fmt=elf em=lynx bfd_gas=yes ;; + i386-*-sysv[45]*) fmt=elf ;; + i386-*-solaris*) fmt=elf ;; + 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) + 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* \ + | i386-go32-rtems*) fmt=coff em=go32 ;; + i386-*-rtemself*) fmt=elf ;; + i386-*-rtemscoff*) fmt=coff ;; + i386-*-rtems*) fmt=elf ;; + i386-*-gnu*) fmt=elf ;; + 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-*-mingw32*) fmt=coff em=pe ;; + i386-*-nto-qnx*) fmt=elf ;; + i386-*-*nt*) fmt=coff em=pe ;; + i386-*-chaos) fmt=elf ;; + + i860-*-*) fmt=elf endian=little ;; + + i960-*-bout) fmt=bout ;; + i960-*-coff) fmt=coff em=ic960 ;; + i960-*-rtems*) fmt=coff em=ic960 ;; + i960-*-nindy*) fmt=bout ;; + i960-*-vxworks5.0) fmt=bout ;; + i960-*-vxworks5.*) fmt=coff em=ic960 ;; + i960-*-vxworks*) fmt=bout ;; + i960-*-elf*) fmt=elf ;; + + ia64-*-elf*) fmt=elf ;; + ia64-*-aix*) fmt=elf em=ia64aix ;; + ia64-*-linux-gnu*) fmt=elf em=linux ;; + ia64-*-hpux*) fmt=elf em=hpux ;; + ia64-*-netbsd*) fmt=elf em=nbsd ;; + + ip2k-*-*) fmt=elf ;; + + iq2000-*-elf) fmt=elf bfd_gas=yes ;; + + m32r-*-elf*) fmt=elf ;; + m32r-*-linux*) fmt=elf em=linux;; + + m68hc11-*-* | m6811-*-*) fmt=elf ;; + m68hc12-*-* | m6812-*-*) fmt=elf ;; + + m68k-*-vxworks*) fmt=aout em=sun3 ;; + m68k-ericsson-ose) fmt=aout em=sun3 ;; + m68k-*-sunos*) fmt=aout em=sun3 ;; + m68k-motorola-sysv*) fmt=coff em=delta ;; + m68k-bull-sysv3*) fmt=coff em=dpx2 ;; + m68k-apollo-*) fmt=coff em=apollo ;; + m68k-*-elf*) fmt=elf ;; + m68k-*-sysv4*) fmt=elf em=svr4 ;; + m68k-*-sysv*) fmt=coff ;; + m68k-*-coff | m68k-*-rtemscoff*) fmt=coff ;; + m68k-*-rtems*) fmt=elf ;; + m68k-*-hpux*) fmt=hp300 em=hp300 ;; + m68k-*-linux*aout*) fmt=aout em=linux ;; + m68k-*-linux-gnu*) fmt=elf em=linux ;; + m68k-*-uclinux*) fmt=elf ;; + m68k-*-gnu*) fmt=elf ;; + m68k-*-lynxos*) fmt=coff em=lynx ;; + 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-apple-aux*) fmt=coff em=aux ;; + m68k-*-psos*) fmt=elf em=psos;; + + m88k-motorola-sysv3*) fmt=coff em=delt88 ;; + m88k-*-coff*) fmt=coff ;; + + maxq-*-coff) fmt=coff bfd_gas=yes ;; + + mcore-*-elf) fmt=elf ;; + mcore-*-pe) fmt=coff em=pe bfd_gas=yes ;; + + # don't change em like *-*-bsd does + mips-dec-openbsd*) fmt=elf endian=little ;; + 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-*-sysv*) fmt=ecoff ;; + mips-*-elf* | mips-*-rtems*) fmt=elf ;; + mips-*-netbsd*) fmt=elf ;; + mips-*-openbsd*) fmt=elf ;; + + mmix-*-*) fmt=elf ;; + + mn10200-*-*) fmt=elf ;; + + # cpu_type for am33_2.0 is set to mn10300 + mn10300-*-linux*) fmt=elf bfd_gas=yes em=linux ;; + mn10300-*-*) fmt=elf ;; + + 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-*-coff) fmt=coff ;; + 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-*-aix5.*) 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-gnu*) fmt=elf em=linux ;; + ppc-*-solaris*) fmt=elf ;; + ppc-*-rtems*) fmt=elf ;; + ppc-*-macos*) fmt=coff em=macos ;; + ppc-*-nto*) fmt=elf ;; + ppc-*-kaos*) fmt=elf ;; + ppc-*-lynxos*) fmt=elf em=lynx bfd_gas=yes ;; + + s390-*-linux-gnu*) fmt=elf em=linux ;; + s390-*-tpf*) 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 ;; + sh*-*-symbianelf*) fmt=elf endian=little ;; + sh-*-elf*) 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-*-rtemsaout*) fmt=aout ;; + sparc-*-rtemself*) fmt=elf ;; + sparc-*-rtems*) fmt=elf ;; + sparc-*-sunos4*) fmt=aout em=sun3 ;; + sparc-*-aout | sparc*-*-vxworks*) fmt=aout em=sparcaout ;; + sparc-*-coff) fmt=coff ;; + sparc-*-linux*aout*) fmt=aout em=linux ;; + sparc-*-linux-gnu*) fmt=elf em=linux ;; + sparc-*-lynxos*) fmt=coff em=lynx ;; + sparc-fujitsu-none) fmt=aout ;; + sparc-*-elf) fmt=elf ;; + sparc-*-sysv4*) fmt=elf ;; + sparc-*-solaris*) fmt=elf ;; + sparc-*-netbsdelf*) fmt=elf em=nbsd ;; + sparc-*-*n*bsd*) + case ${cpu} in + sparc64) fmt=elf em=nbsd ;; + *) fmt=aout em=nbsd ;; + esac ;; + + strongarm-*-coff) fmt=coff ;; + strongarm-*-elf) fmt=elf ;; + strongarm-*-kaos*) 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;; + tic80-*-*) fmt=coff ;; + + v850-*-*) fmt=elf ;; + v850e-*-*) fmt=elf ;; + v850ea-*-*) fmt=elf ;; + + vax-*-netbsdelf*) fmt=elf em=nbsd ;; + vax-*-netbsd*) fmt=aout em=nbsd ;; + vax-*-bsd* | vax-*-ultrix*) fmt=aout ;; + vax-*-linux-gnu*) fmt=elf em=linux bfd_gas=yes ;; + vax-*-vms) fmt=vms ;; + + w65-*-*) fmt=coff ;; + + xscale-*-coff) fmt=coff ;; + xscale-*-elf) fmt=elf ;; + + xstormy16-*-*) fmt=elf ;; + + xtensa-*-*) fmt=elf ;; + + z8k-*-coff | z8k-*-sim) fmt=coff ;; + + *-*-aout | *-*-scout) fmt=aout ;; + *-*-freebsd* | *-*-kfreebsd*-gnu) fmt=elf em=freebsd ;; + *-*-nindy*) fmt=bout ;; + *-*-bsd*) fmt=aout em=sun3 ;; + *-*-generic) fmt=generic ;; + *-*-xray | *-*-hms) fmt=coff ;; + *-*-sim) fmt=coff ;; + *-*-elf | *-*-sysv4* | *-*-solaris*) fmt=elf ;; + *-*-aros*) fmt=elf em=linux bfd_gas=yes ;; + *-*-vxworks | *-*-windiss) fmt=elf ;; + *-*-netware) fmt=elf em=netware ;; +esac + +case ${cpu_type} in + alpha | arm | i386 | ia64 | mips | ns32k | pdp11 | ppc | sparc) + bfd_gas=yes + ;; +esac +case ${fmt} in + elf | ecoff | som) + bfd_gas=yes + ;; +esac |