]> git.ipfire.org Git - thirdparty/binutils-gdb.git/blobdiff - bfd/config.bfd
Add MMIX support
[thirdparty/binutils-gdb.git] / bfd / config.bfd
index 278381abb9528765e25ef3353661ccd959718d55..094fba445f9145c208b0c8e37d71582c8d1ae1a2 100644 (file)
@@ -5,6 +5,8 @@
 # Sets the following shell variables:
 #  targ_defvec         Default vector for this target
 #  targ_selvecs                Vectors to build for this target
+#  targ64_selvecs      Vectors to build if --enable-64-bit-bfd is given
+#                      or if host is 64 bit.
 #  targ_archs          Architectures for this target
 #  targ_cflags         $(CFLAGS) for this target (FIXME: pretty bogus)
 #  targ_underscore     Whether underscores are used: yes or no
@@ -23,6 +25,7 @@
 
 targ_defvec=
 targ_selvecs=
+targ64_selvecs=
 targ_cflags=
 targ_underscore=no
 
@@ -109,7 +112,7 @@ case "${targ}" in
     targ_selvecs=bfd_elf32_bigarc_vec
     ;;
 
-  arm-*-netbsd*)
+  arm-*-netbsd* | arm-*-openbsd*)
     targ_defvec=armnetbsd_vec
     targ_underscore=yes
     ;;
@@ -120,6 +123,7 @@ case "${targ}" in
     targ_defvec=arm_epoc_pe_little_vec
     targ_selvecs="arm_epoc_pe_little_vec arm_epoc_pe_big_vec arm_epoc_pei_little_vec arm_epoc_pei_big_vec"
     targ_underscore=no
+    targ_cflags=-DARM_COFF_BUGFIX
     ;;
   arm-wince-pe | arm-*-wince)
     targ_defvec=armpe_little_vec
@@ -144,7 +148,7 @@ case "${targ}" in
     targ_defvec=armcoff_little_vec
     targ_selvecs=armcoff_big_vec
     targ_underscore=yes
-    targ_cflags=-DVXWORKS
+    targ_cflags=-DARM_COFF_BUGFIX
     ;;
   arm-*-coff)
     targ_defvec=armcoff_little_vec
@@ -163,6 +167,10 @@ case "${targ}" in
     targ_defvec=bfd_elf32_littlearm_vec
     targ_selvecs=bfd_elf32_bigarm_vec
     ;;
+  arm9e-*-elf)
+    targ_defvec=bfd_elf32_littlearm_vec
+    targ_selvecs=bfd_elf32_bigarm_vec
+    ;;
   arm-*-oabi)
     targ_defvec=bfd_elf32_littlearm_oabi_vec
     targ_selvecs=bfd_elf32_bigarm_oabi_vec
@@ -257,6 +265,11 @@ case "${targ}" in
     ;;
 
 
+  h8300*-*-elf)
+    targ_defvec=bfd_elf32_h8300_vec
+    targ_underscore=yes
+    ;;
+
   h8300*-*-*)
     targ_defvec=h8300coff_vec
     targ_underscore=yes
@@ -316,10 +329,6 @@ case "${targ}" in
     targ_defvec=bfd_elf32_i386_vec
     targ_selvecs=i386coff_vec
     ;;
-  i[3456]86-*-rtemself*)
-    targ_defvec=bfd_elf32_i386_vec
-    targ_selvecs="i386coff_vec i386aout_vec"
-    ;;
   i[3456]86-*-chorus*)
     targ_defvec=bfd_elf32_i386_vec
     ;;
@@ -331,10 +340,14 @@ case "${targ}" in
   i[3456]86-*-aix*)
     targ_defvec=i386coff_vec
     ;;
-  i[3456]86*-*-rtems*)
+  i[3456]86*-*-rtemscoff*)
     targ_defvec=i386coff_vec
     targ_selvecs="bfd_elf32_i386_vec i386aout_vec"
     ;;
+  i[3456]86-*-rtemself* | i[3456]86-*-rtems*)
+    targ_defvec=bfd_elf32_i386_vec
+    targ_selvecs="i386coff_vec i386aout_vec"
+    ;;
  i[3456]86-sequent-bsd*)
     targ_defvec=i386dynix_vec
     targ_underscore=yes
@@ -507,12 +520,16 @@ case "${targ}" in
     targ_selvecs="cisco_core_big_vec ieee_vec"
     targ_underscore=yes
     ;;
+  m68*-*-rtemscoff*)
+    targ_defvec=m68kcoff_vec
+    targ_selvecs="m68kcoff_vec versados_vec ieee_vec aout0_big_vec"
+    ;;
   m68*-*-elf* | m68*-*-sysv4*)
     targ_defvec=bfd_elf32_m68k_vec
     targ_selvecs="m68kcoff_vec ieee_vec"
     ;;
   m68*-*-rtems*)
-    targ_defvec=m68kcoff_vec
+    targ_defvec=bfd_elf32_m68k_vec
     targ_selvecs="m68kcoff_vec versados_vec ieee_vec aout0_big_vec"
     ;;
   m68*-*-coff* | m68*-*-sysv*)
@@ -600,11 +617,11 @@ case "${targ}" in
     targ_defvec=ecoff_big_vec
     targ_selvecs=ecoff_little_vec
     ;;
-  mips-dec-netbsd* | mips*el*-*-netbsd*)
+  mips-dec-netbsd* | mips*el-*-netbsd*)
     targ_defvec=bfd_elf32_littlemips_vec
     targ_selvecs="bfd_elf32_bigmips_vec ecoff_little_vec ecoff_big_vec"
     ;;
- mips*-*-netbsd*)
 mips*-*-netbsd*)
     targ_defvec=bfd_elf32_bigmips_vec
     targ_selvecs="bfd_elf32_littlemips_vec ecoff_big_vec ecoff_little_vec"
     ;;
@@ -669,22 +686,36 @@ case "${targ}" in
     targ_defvec=bfd_elf32_bigmips_vec
     targ_selvecs="bfd_elf32_littlemips_vec bfd_elf64_bigmips_vec bfd_elf64_littlemips_vec"
     ;;
-  mips*el*-*-openbsd*)
+  mips*el-*-openbsd*)
     targ_defvec=bfd_elf32_littlemips_vec
     targ_selvecs="bfd_elf32_bigmips_vec bfd_elf64_bigmips_vec bfd_elf64_littlemips_vec ecoff_little_vec ecoff_big_vec"
     ;;
-  mips*el*-*-linux-gnu*)
-    targ_defvec=bfd_elf32_tradlittlemips_vec
-    targ_selvecs="bfd_elf32_tradbigmips_vec bfd_elf64_tradlittlemips_vec bfd_elf64_tradbigmips_vec ecoff_little_vec ecoff_big_vec"
-    ;;
   mips*-*-openbsd*)
     targ_defvec=bfd_elf32_bigmips_vec
     targ_selvecs="bfd_elf32_littlemips_vec bfd_elf64_bigmips_vec bfd_elf64_littlemips_vec ecoff_big_vec ecoff_little_vec"
     ;;
-  mips*-*-linux-gnu*)
+  mips64*el-*-linux*)
+    targ_defvec=bfd_elf32_tradlittlemips_vec
+    targ_selvecs="bfd_elf32_tradbigmips_vec bfd_elf64_tradlittlemips_vec bfd_elf64_tradbigmips_vec"
+    ;;
+  mips*el-*-linux*)
+    targ_defvec=bfd_elf32_tradlittlemips_vec
+    targ_selvecs="bfd_elf32_tradbigmips_vec bfd_elf64_tradlittlemips_vec bfd_elf64_tradbigmips_vec ecoff_little_vec ecoff_big_vec"
+    ;;
+  mips64*-*-linux*)
+    targ_defvec=bfd_elf32_tradbigmips_vec
+    targ_selvecs="bfd_elf32_tradlittlemips_vec bfd_elf64_tradbigmips_vec bfd_elf64_tradlittlemips_vec"
+    ;;
+  mips*-*-linux*)
     targ_defvec=bfd_elf32_tradbigmips_vec
     targ_selvecs="bfd_elf32_tradlittlemips_vec bfd_elf64_tradbigmips_vec bfd_elf64_tradlittlemips_vec ecoff_big_vec ecoff_little_vec"
     ;;
+#ifdef BFD64
+  mmix-*-*)
+    targ_defvec=bfd_elf64_mmix_vec
+    targ_selvecs=bfd_mmo_vec
+    ;;
+#endif
   mn10200-*-*)
     targ_defvec=bfd_elf32_mn10200_vec
     ;;
@@ -723,17 +754,32 @@ case "${targ}" in
 
   powerpc-*-aix* | powerpc-*-beos* | rs6000-*-*)
     targ_defvec=rs6000coff_vec
-    targ_selvecs="rs6000coff64_vec"
+    targ64_selvecs=rs6000coff64_vec
+    case "${targ}" in
+      *-*-aix4.[3456789]* | *-*-aix[56789]*)
+       want64=true;;
+    esac
     ;;
+#ifdef BFD64
   powerpc64-*-aix*)
     targ_defvec=rs6000coff64_vec
-    targ_selvecs="rs6000coff_vec"
+    targ_selvecs=rs6000coff_vec
+    ;;
+  powerpc64-*-elf* | powerpc-*-elf64* | powerpc64-*-linux*)
+    targ_defvec=bfd_elf64_powerpc_vec
+    targ_selvecs="bfd_elf64_powerpcle_vec bfd_elf32_powerpc_vec bfd_elf32_powerpcle_vec rs6000coff_vec rs6000coff64_vec"
+    ;;
+  powerpc64le-*-elf* | powerpcle-*-elf64*)
+    targ_defvec=bfd_elf64_powerpcle_vec
+    targ_selvecs="bfd_elf64_powerpc_vec bfd_elf32_powerpcle_vec bfd_elf32_powerpc_vec rs6000coff_vec rs6000coff64_vec"
     ;;
+#endif
   powerpc-*-*bsd* | powerpc-*-elf* | powerpc-*-sysv4* | powerpc-*-eabi* | \
   powerpc-*-solaris2* | powerpc-*-linux-gnu* | powerpc-*-rtems* | \
   powerpc-*-chorus* | powerpc-*-vxworks*)
     targ_defvec=bfd_elf32_powerpc_vec
     targ_selvecs="rs6000coff_vec bfd_elf32_powerpcle_vec ppcboot_vec"
+    targ64_selvecs="bfd_elf64_powerpc_vec bfd_elf64_powerpcle_vec"
     ;;
   powerpc-*-macos* | powerpc-*-mpw*)
     targ_defvec=pmac_xcoff_vec
@@ -747,6 +793,7 @@ case "${targ}" in
   powerpcle-*-rtems*)
     targ_defvec=bfd_elf32_powerpcle_vec
     targ_selvecs="rs6000coff_vec bfd_elf32_powerpc_vec ppcboot_vec"
+    targ64_selvecs="bfd_elf64_powerpc_vec bfd_elf64_powerpcle_vec"
     ;;
 
   powerpcle-*-pe | powerpcle-*-winnt* | powerpcle-*-cygwin*)
@@ -945,6 +992,12 @@ case "${targ}" in
     ;;
 esac
 
+case "${host64}${want64}" in
+  *true*)
+    targ_selvecs="${targ_selvecs} ${targ64_selvecs}"
+    ;;
+esac
+
 # If we support any ELF target, then automatically add support for the
 # generic ELF targets.  This permits an objdump with some ELF support
 # to be used on an arbitrary ELF file for anything other than