* archures.c, Makefile.in, targets.c, bfd-in2.h, coffcode.h,
authorSteve Chamberlain <sac@cygnus>
Mon, 16 Jan 1995 05:44:00 +0000 (05:44 +0000)
committerSteve Chamberlain <sac@cygnus>
Mon, 16 Jan 1995 05:44:00 +0000 (05:44 +0000)
config.bfd, configure.in, config/w65.mt: Initial support for the W65.

bfd/.Sanitize
bfd/bfd-in2.h
bfd/cpu-w65.c [new file with mode: 0644]
bfd/targets.c

index 06ed5f1b2ca418f5437f21428d995941af4cb239..8f640063f3a12856ecce4adb28eba858cf769f3a 100644 (file)
@@ -92,6 +92,7 @@ coff-sh.c
 coff-sparc.c
 coff-u68k.c
 coff-we32k.c
+coff-w65.c
 coff-z8k.c
 coffcode.h
 coffgen.c
@@ -121,6 +122,7 @@ cpu-sh.c
 cpu-sparc.c
 cpu-vax.c
 cpu-we32k.c
+cpu-w65.c
 cpu-z8k.c
 demo64.c
 dep-in.sed
index 3ea5cc7e478d89b2f64bc2c95832d07bbfdec360..d8f5d757e1682345350318f41f94153526bde531 100644 (file)
@@ -1030,6 +1030,7 @@ enum bfd_architecture
   bfd_arch_alpha,      /* Dec Alpha */
   bfd_arch_arm,        /* Advanced Risc Machines ARM */
   bfd_arch_ns32k,      /* National Semiconductors ns32000 */
+  bfd_arch_w65,        /* WDC 65816 */
   /* start-sanitize-rce */
   bfd_arch_rce,        /* Motorola RCE */
   /* end-sanitize-rce */
@@ -2008,6 +2009,7 @@ enum bfd_flavour {
   bfd_target_oasys_flavour,
   bfd_target_tekhex_flavour,
   bfd_target_srec_flavour,
+  bfd_target_raw_flavour,
   bfd_target_som_flavour,
   bfd_target_os9k_flavour};
 
diff --git a/bfd/cpu-w65.c b/bfd/cpu-w65.c
new file mode 100644 (file)
index 0000000..dea6305
--- /dev/null
@@ -0,0 +1,67 @@
+/* BFD library support routines for the WDC 65816 architecture.
+   Copyright (C) 1995 Free Software Foundation, Inc.
+   Hacked by Steve Chamberlain of Cygnus Support.
+
+This file is part of BFD, the Binary File Descriptor library.
+
+This program is free software; you can redistribute it and/or modify
+it under the terms of the GNU General Public License as publiw65ed by
+the Free Software Foundation; either version 2 of the License, or
+(at your option) any later version.
+
+This program is distributed in the hope that it will be useful,
+but WITHOUT ANY WARRANTY; without even the implied warranty of
+MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+GNU General Public License for more details.
+
+You w65ould have received a copy of the GNU General Public License
+along with this program; if not, write to the Free Software
+Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA.  */
+
+#include "bfd.h"
+#include "sysdep.h"
+#include "libbfd.h"
+
+
+int bfd_default_scan_num_mach();
+
+static boolean 
+scan_mach (info, string)
+     CONST struct bfd_arch_info *info;
+     CONST char *string;
+{
+  if (strcmp(string,"w65") == 0) return true;
+  if (strcmp(string,"w65816") == 0) return true;
+  return false;
+}
+
+
+
+static bfd_arch_info_type arch_info_struct[] = 
+{ 
+  {
+    16,                                /* 16 bits in a word */
+    24,                                /* 24 bits in an address */
+    8,                         /* 8 bits in a byte */
+    bfd_arch_w65,
+    0,                         /* only 1 machine */
+    "w65",                     /* arch_name  */
+    "w65",                     /* printable name */
+    1,
+    true,                      /* the default machine */
+    bfd_default_compatible,
+    scan_mach,
+    0,
+    0,
+  },
+};
+
+
+
+void
+bfd_w65_arch ()
+{
+  bfd_arch_linkin(&arch_info_struct[0]);
+}
+
+
index 7fabbacaeae5102861ef84c5b56d47be4ba33248..9ede7d5f914b24e2804d132d560cdaf5c1091b2c 100644 (file)
@@ -430,6 +430,9 @@ extern const bfd_target aout0_big_vec;
 extern const bfd_target apollocoff_vec;
 extern const bfd_target b_out_vec_big_host;
 extern const bfd_target b_out_vec_little_host;
+/* start-sanitize-arc */
+extern const bfd_target bfd_elf32_arc_vec;
+/* end-sanitize-arc */
 extern const bfd_target bfd_elf32_big_generic_vec;
 extern const bfd_target bfd_elf32_bigmips_vec;
 extern const bfd_target bfd_elf32_hppa_vec;
@@ -497,6 +500,7 @@ extern const bfd_target sparccoff_vec;
 extern const bfd_target sunos_big_vec;
 extern const bfd_target tekhex_vec;
 extern const bfd_target we32kcoff_vec;
+extern const bfd_target w65_vec;
 extern const bfd_target z8kcoff_vec;
 
 /* srec is always included.  */
@@ -547,6 +551,9 @@ const bfd_target * const bfd_target_vector[] = {
           But that does not mean they are unnecessary.  If configured with
           --enable-targets=all, objdump or gdb should be able to examine
           the file even if we don't recognize the machine type.  */
+/* start-sanitize-arc */
+       &bfd_elf32_arc_vec,
+/* end-sanitize-arc */
        &bfd_elf32_big_generic_vec,
        &bfd_elf32_bigmips_vec,
        &bfd_elf32_hppa_vec,