* archures.c, Makefile.in, targets.c, bfd-in2.h, coffcode.h,

config.bfd, configure.in, config/w65.mt: Initial support for the W65.
This commit is contained in:
Steve Chamberlain 1995-01-16 05:44:00 +00:00
parent c21b376fc6
commit d468a1499b
4 changed files with 78 additions and 0 deletions

View 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

View 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};

67
bfd/cpu-w65.c Normal file
View File

@ -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]);
}

View 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,