From 14ee9f48f94aeeeae1465d42879376790346579f Mon Sep 17 00:00:00 2001 From: Ian Lance Taylor Date: Wed, 22 Dec 2004 15:29:25 +0000 Subject: [PATCH] * 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. --- gas/ChangeLog | 9 + gas/Makefile.am | 2 +- gas/Makefile.in | 2 +- gas/configure | 457 +++++--------------------------------------- gas/configure.in | 473 +++++----------------------------------------- gas/configure.tgt | 439 ++++++++++++++++++++++++++++++++++++++++++ 6 files changed, 544 insertions(+), 838 deletions(-) create mode 100644 gas/configure.tgt diff --git a/gas/ChangeLog b/gas/ChangeLog index 47e0ecf80e7..f9783721290 100644 --- a/gas/ChangeLog +++ b/gas/ChangeLog @@ -1,3 +1,12 @@ +2004-12-22 Ian Lance Taylor + + * 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. + 2004-12-22 Klaus Rudolph * config/tc-avr.c: Add support for the new R_AVR_LDI, R_AVR_6 and diff --git a/gas/Makefile.am b/gas/Makefile.am index f91d15a4a4b..58dfb4e1538 100644 --- a/gas/Makefile.am +++ b/gas/Makefile.am @@ -796,7 +796,7 @@ de-stage3: DEP_FILE_DEPS = $(CFILES) $(HFILES) $(TARGET_CPU_CFILES) \ $(TARGET_CPU_HFILES) $(OBJ_FORMAT_CFILES) $(OBJ_FORMAT_HFILES) -CONFIG_STATUS_DEPENDENCIES = $(BFDDIR)/configure.in +CONFIG_STATUS_DEPENDENCIES = $(BFDDIR)/configure.in $(srcdir)/configure.tgt # Automatic dependency computation. This is a real pain, because the # dependencies change based on target_cpu_type and obj_format. diff --git a/gas/Makefile.in b/gas/Makefile.in index 4f1612a4b6c..28c40384eda 100644 --- a/gas/Makefile.in +++ b/gas/Makefile.in @@ -754,7 +754,7 @@ against = stage2 DEP_FILE_DEPS = $(CFILES) $(HFILES) $(TARGET_CPU_CFILES) \ $(TARGET_CPU_HFILES) $(OBJ_FORMAT_CFILES) $(OBJ_FORMAT_HFILES) -CONFIG_STATUS_DEPENDENCIES = $(BFDDIR)/configure.in +CONFIG_STATUS_DEPENDENCIES = $(BFDDIR)/configure.in $(srcdir)/configure.tgt AMKDEP = #DO NOT PUT ANYTHING BETWEEN THIS LINE AND THE MATCHING WARNING BELOW. DEPTC_a29k_aout = $(INCDIR)/symcat.h $(srcdir)/config/obj-aout.h \ $(srcdir)/config/tc-a29k.h $(BFDDIR)/libaout.h $(INCDIR)/bfdlink.h \ diff --git a/gas/configure b/gas/configure index dc07df97783..5dc5646f962 100755 --- a/gas/configure +++ b/gas/configure @@ -4169,66 +4169,17 @@ emulations="" for this_target in $target $canon_targets ; do - eval `echo $this_target | sed 's/^\([^-]*\)-\([^-]*\)-\(.*\)$/cpu=\1 vendor=\2 os=\3/'` - - # Check for architecture variants. - # Note: This table is alpha-sorted, please try to keep it that way. - arch= - endian= - case ${cpu} in - am33_2.0) cpu_type=mn10300 endian=little ;; - alpha*) cpu_type=alpha ;; - arm*be|xscale*be|strongarm*be | \ - arm*b|xscale*b|strongarm*b) cpu_type=arm endian=big ;; - arm*|xscale*|strongarm*) cpu_type=arm endian=little ;; - c4x*) cpu_type=tic4x ;; - crisv32) cpu_type=cris arch=crisv32 + targ=${this_target} + . ${srcdir}/configure.tgt + + case ${target_cpu} in + crisv32) cat >>confdefs.h <<_ACEOF #define DEFAULT_CRIS_ARCH $arch _ACEOF - ;; - 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 target_cpu=m32r endian=big ;; - m32rle) cpu_type=m32r target_cpu=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. - v850*) cpu_type=v850 ;; - x86_64) cpu_type=i386 arch=x86_64;; - xtensa*) cpu_type=xtensa arch=xtensa ;; - *) cpu_type=${cpu} ;; + ;; esac if test ${this_target} = $target ; then @@ -4237,389 +4188,78 @@ _ACEOF continue fi - generic_target=${cpu_type}-$vendor-$os - dev=no - bfd_gas=no - em=generic - - # Assign object format. - # Note: This table is alpha-sorted, please try to keep it that way. + generic_target=${cpu_type}-${target_vendor}-${target_os} 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 ;; - x86_64-*-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 - if test ${this_target} = $target; then + i386-*-sco3.2v5*) + if test ${this_target} = $target; then cat >>confdefs.h <<\_ACEOF #define SCO_ELF 1 _ACEOF - fi ;; - i386-*-sco3.2*) fmt=coff ;; - i386-*-vsta) fmt=aout ;; + fi + ;; + i386-*-msdosdjgpp* \ | i386-*-go32* \ - | i386-go32-rtems*) fmt=coff em=go32 + | i386-go32-rtems*) cat >>confdefs.h <<\_ACEOF #define STRICTCOFF 1 _ACEOF - ;; - 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 - { echo "$as_me:$LINENO: WARNING: GAS support for ${generic_target} is preliminary and a work in progress" >&5 -echo "$as_me: WARNING: GAS support for ${generic_target} is preliminary and a work in progress" >&2;} ;; - 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 ;; + + ;; + + i860-*-*) + { echo "$as_me:$LINENO: WARNING: GAS support for ${generic_target} is preliminary and a work in progress" >&5 +echo "$as_me: WARNING: GAS support for ${generic_target} is preliminary and a work in progress" >&2;} + ;; + + mips-sony-bsd*) + ;; mips-*-bsd*) - { { echo "$as_me:$LINENO: error: Unknown vendor for mips-bsd configuration." >&5 + { { echo "$as_me:$LINENO: error: Unknown vendor for mips-bsd configuration." >&5 echo "$as_me: error: Unknown vendor for mips-bsd configuration." >&2;} - { (exit 1); exit 1; }; } ;; - 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 + { (exit 1); exit 1; }; } + ;; + + ppc-*-aix5.*) cat >>confdefs.h <<\_ACEOF #define AIX_WEAK_SUPPORT 1 _ACEOF - ;; - 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 - case "$endian" in - big) ;; - *) { { echo "$as_me:$LINENO: error: GNU/Linux must be configured big endian" >&5 + ;; + ppc-*-linux-gnu*) + case "$endian" in + big) ;; + *) { { echo "$as_me:$LINENO: error: GNU/Linux must be configured big endian" >&5 echo "$as_me: error: GNU/Linux must be configured big endian" >&2;} { (exit 1); exit 1; }; } ;; - esac ;; - ppc-*-solaris*) fmt=elf - if test ${this_target} = $target; then + esac + ;; + ppc-*-solaris*) + if test ${this_target} = $target; then cat >>confdefs.h <<\_ACEOF #define TARGET_SOLARIS_COMMENT 1 _ACEOF - fi - if test x${endian} = xbig; then - { { echo "$as_me:$LINENO: error: Solaris must be configured little endian" >&5 + fi + if test x${endian} = xbig; then + { { echo "$as_me:$LINENO: error: Solaris must be configured little endian" >&5 echo "$as_me: error: Solaris must be configured little endian" >&2;} { (exit 1); exit 1; }; } - fi ;; - 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 ;; - - s390x-*-linux-gnu*) fmt=elf em=linux ;; - 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 + fi + ;; + + sh*-*-symbianelf*) cat >>confdefs.h <<\_ACEOF #define TARGET_SYMBIAN 1 _ACEOF - ;; - 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 dev=yes ;; - *-*-aros*) fmt=elf em=linux bfd_gas=yes ;; - *-*-vxworks | *-*-windiss) fmt=elf ;; - *-*-netware) fmt=elf em=netware ;; + ;; esac if test ${this_target} = $target ; then @@ -4638,13 +4278,6 @@ _ACEOF fi fi - case ${cpu_type}-${fmt} in - alpha*-* | arm-* | i386-* | ia64*-* | mips-* | ns32k-* \ - | pdp11-* | ppc-* | sparc-* | strongarm-* | xscale-* \ - | *-elf | *-ecoff | *-som) - bfd_gas=yes ;; - esac - # Other random stuff. case ${cpu_type} in diff --git a/gas/configure.in b/gas/configure.in index 50dcfd5c705..3296f8c0f05 100644 --- a/gas/configure.in +++ b/gas/configure.in @@ -114,67 +114,14 @@ emulations="" for this_target in $target $canon_targets ; do -changequote(,)dnl - eval `echo $this_target | sed 's/^\([^-]*\)-\([^-]*\)-\(.*\)$/cpu=\1 vendor=\2 os=\3/'` -changequote([,])dnl + targ=${this_target} + . ${srcdir}/configure.tgt - # Check for architecture variants. - # Note: This table is alpha-sorted, please try to keep it that way. - arch= - endian= - case ${cpu} in - am33_2.0) cpu_type=mn10300 endian=little ;; - alpha*) cpu_type=alpha ;; - arm*be|xscale*be|strongarm*be | \ - arm*b|xscale*b|strongarm*b) cpu_type=arm endian=big ;; - arm*|xscale*|strongarm*) cpu_type=arm endian=little ;; - c4x*) cpu_type=tic4x ;; - crisv32) cpu_type=cris arch=crisv32 - AC_DEFINE_UNQUOTED(DEFAULT_CRIS_ARCH, $arch, - [Default CRIS architecture.]) - ;; - crx*) cpu_type=crx endian=little ;; - hppa*) cpu_type=hppa ;; -changequote(,)dnl - 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 target_cpu=m32r endian=big ;; - m32rle) cpu_type=m32r target_cpu=m32r endian=little ;; - m6811|m6812|m68hc12) cpu_type=m68hc11 ;; - m680[012346]0) cpu_type=m68k ;; -changequote([,])dnl - 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. - v850*) cpu_type=v850 ;; - x86_64) cpu_type=i386 arch=x86_64;; - xtensa*) cpu_type=xtensa arch=xtensa ;; - *) cpu_type=${cpu} ;; + case ${target_cpu} in + crisv32) + AC_DEFINE_UNQUOTED(DEFAULT_CRIS_ARCH, $arch, + [Default CRIS architecture.]) + ;; esac if test ${this_target} = $target ; then @@ -183,368 +130,53 @@ changequote([,])dnl continue fi - generic_target=${cpu_type}-$vendor-$os - dev=no - bfd_gas=no - em=generic - - # Assign object format. - # Note: This table is alpha-sorted, please try to keep it that way. + generic_target=${cpu_type}-${target_vendor}-${target_os} 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 ;; - x86_64-*-linux-gnu*) fmt=elf em=linux ;; - i386-*-lynxos*) fmt=elf em=lynx bfd_gas=yes ;; -changequote(,)dnl - 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 ;; -changequote([,])dnl - 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 - if test ${this_target} = $target; then - AC_DEFINE(SCO_ELF, 1, [Define if defaulting to ELF on SCO 5.]) - fi ;; - i386-*-sco3.2*) fmt=coff ;; - i386-*-vsta) fmt=aout ;; + i386-*-sco3.2v5*) + if test ${this_target} = $target; then + AC_DEFINE(SCO_ELF, 1, [Define if defaulting to ELF on SCO 5.]) + fi + ;; + i386-*-msdosdjgpp* \ | i386-*-go32* \ - | i386-go32-rtems*) fmt=coff em=go32 - AC_DEFINE(STRICTCOFF, 1, [Using strict COFF?]) ;; - 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 - AC_MSG_WARN(GAS support for ${generic_target} is preliminary and a work in progress) ;; - 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 ;; + | i386-go32-rtems*) + AC_DEFINE(STRICTCOFF, 1, [Using strict COFF?]) + ;; + + i860-*-*) + AC_MSG_WARN(GAS support for ${generic_target} is preliminary and a work in progress) + ;; + + mips-sony-bsd*) + ;; mips-*-bsd*) - AC_MSG_ERROR(Unknown vendor for mips-bsd configuration.) ;; - 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 ;; -changequote(,)dnl - ppc-*-aix5.[01]) fmt=coff em=aix5 ;; -changequote([,])dnl - ppc-*-aix5.*) fmt=coff em=aix5 - AC_DEFINE(AIX_WEAK_SUPPORT, 1, + AC_MSG_ERROR(Unknown vendor for mips-bsd configuration.) + ;; + + ppc-*-aix5.*) + AC_DEFINE(AIX_WEAK_SUPPORT, 1, [Define if using AIX 5.2 value for C_WEAKEXT.]) - ;; - 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 - case "$endian" in - big) ;; - *) AC_MSG_ERROR(GNU/Linux must be configured big endian) ;; - esac ;; - ppc-*-solaris*) fmt=elf - if test ${this_target} = $target; then - AC_DEFINE(TARGET_SOLARIS_COMMENT, 1, - [Define if default target is PowerPC Solaris.]) - fi - if test x${endian} = xbig; then - AC_MSG_ERROR(Solaris must be configured little endian) - fi ;; - 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 ;; - - s390x-*-linux-gnu*) fmt=elf em=linux ;; - 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 - AC_DEFINE(TARGET_SYMBIAN, 1, [Define if target is Symbian OS.]) - ;; - 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 dev=yes ;; - *-*-aros*) fmt=elf em=linux bfd_gas=yes ;; - *-*-vxworks | *-*-windiss) fmt=elf ;; - *-*-netware) fmt=elf em=netware ;; + ;; + ppc-*-linux-gnu*) + case "$endian" in + big) ;; + *) AC_MSG_ERROR(GNU/Linux must be configured big endian) ;; + esac + ;; + ppc-*-solaris*) + if test ${this_target} = $target; then + AC_DEFINE(TARGET_SOLARIS_COMMENT, 1, + [Define if default target is PowerPC Solaris.]) + fi + if test x${endian} = xbig; then + AC_MSG_ERROR(Solaris must be configured little endian) + fi + ;; + + sh*-*-symbianelf*) + AC_DEFINE(TARGET_SYMBIAN, 1, [Define if target is Symbian OS.]) + ;; esac if test ${this_target} = $target ; then @@ -560,13 +192,6 @@ changequote([,])dnl fi fi - case ${cpu_type}-${fmt} in - alpha*-* | arm-* | i386-* | ia64*-* | mips-* | ns32k-* \ - | pdp11-* | ppc-* | sparc-* | strongarm-* | xscale-* \ - | *-elf | *-ecoff | *-som) - bfd_gas=yes ;; - esac - # Other random stuff. case ${cpu_type} in diff --git a/gas/configure.tgt b/gas/configure.tgt new file mode 100644 index 00000000000..085e3e12e05 --- /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 -- 2.30.2