This is the mail archive of the binutils@sources.redhat.com mailing list for the binutils project.


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]
Other format: [Raw text]

Split out configure.tgt in gas


I plan to apply the following patch to use a configure.tgt file in gas
as we do in ld and gdb.  This permits adding new configurations
without forcing autoconf to be run.

This is pretty much the minimal change to add configure.tgt.  More can
be done for target specific stuff like the handling of
MIPS_DEFAULT_ABI and the like.

I'll hold onto the patch for a day to see if there are any comments
before I check it in.

Ian


2004-12-20  Ian Lance Taylor  <ian@airs.com>

	* 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.


Index: Makefile.am
===================================================================
RCS file: /cvs/src/src/gas/Makefile.am,v
retrieving revision 1.99
diff -u -r1.99 Makefile.am
--- Makefile.am	3 Dec 2004 01:22:13 -0000	1.99
+++ Makefile.am	20 Dec 2004 20:26:16 -0000
@@ -796,7 +796,7 @@
 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.
Index: Makefile.in
===================================================================
RCS file: /cvs/src/src/gas/Makefile.in,v
retrieving revision 1.109
diff -u -r1.109 Makefile.in
--- Makefile.in	3 Dec 2004 01:22:13 -0000	1.109
+++ Makefile.in	20 Dec 2004 20:26:16 -0000
@@ -754,7 +754,7 @@
 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 \
Index: configure
===================================================================
RCS file: /cvs/src/src/gas/configure,v
retrieving revision 1.184
diff -u -r1.184 configure
--- configure	16 Dec 2004 16:02:59 -0000	1.184
+++ configure	20 Dec 2004 20:26:17 -0000
@@ -4169,66 +4169,17 @@
 
 for this_target in $target $canon_targets ; do
 
-    eval `echo $this_target | sed 's/^\([^-]*\)-\([^-]*\)-\(.*\)$/cpu=\1 vendor=\2 os=\3/'`
+    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
+    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 @@
       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 @@
       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
Index: configure.in
===================================================================
RCS file: /cvs/src/src/gas/configure.in,v
retrieving revision 1.167
diff -u -r1.167 configure.in
--- configure.in	16 Dec 2004 16:02:58 -0000	1.167
+++ configure.in	20 Dec 2004 20:26:17 -0000
@@ -114,67 +114,14 @@
 
 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 @@
       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 ;;
-      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 ;;
+      | i386-go32-rtems*)
+	AC_DEFINE(STRICTCOFF, 1, [Using strict COFF?])
+	;;
 
-      pj*)				fmt=elf ;;
+      i860-*-*)
+	AC_MSG_WARN(GAS support for ${generic_target} is preliminary and a work in progress)
+	;;
 
-      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,
+      mips-sony-bsd*)
+	;;
+      mips-*-bsd*)
+	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 @@
       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
Index: configure.tgt
===================================================================
RCS file: configure.tgt
diff -N configure.tgt
--- /dev/null	1 Jan 1970 00:00:00 -0000
+++ configure.tgt	20 Dec 2004 20:26:17 -0000
@@ -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


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]