diff options
author | obrien <obrien@FreeBSD.org> | 2002-08-31 20:20:07 +0000 |
---|---|---|
committer | obrien <obrien@FreeBSD.org> | 2002-08-31 20:20:07 +0000 |
commit | 0570468a60eb57b3c504db2cc606350167341bc1 (patch) | |
tree | f3bc0ae2e746e12a1e72081504eabb88fffe2720 /contrib/binutils/bfd/cpu-sh.c | |
parent | f3c54bd2c1850601b80aa0558b8843517125f50f (diff) | |
download | FreeBSD-src-0570468a60eb57b3c504db2cc606350167341bc1.zip FreeBSD-src-0570468a60eb57b3c504db2cc606350167341bc1.tar.gz |
Import of Binutils from the FSF 2.12 branch (post-.1 release).
Diffstat (limited to 'contrib/binutils/bfd/cpu-sh.c')
-rw-r--r-- | contrib/binutils/bfd/cpu-sh.c | 80 |
1 files changed, 72 insertions, 8 deletions
diff --git a/contrib/binutils/bfd/cpu-sh.c b/contrib/binutils/bfd/cpu-sh.c index 9f7ef20..30cd141 100644 --- a/contrib/binutils/bfd/cpu-sh.c +++ b/contrib/binutils/bfd/cpu-sh.c @@ -1,5 +1,6 @@ /* BFD library support routines for the Hitachi-SH architecture. - Copyright (C) 1993 Free Software Foundation, Inc. + Copyright 1993, 1994, 1997, 1998, 2000, 2001 + Free Software Foundation, Inc. Hacked by Steve Chamberlain of Cygnus Support. This file is part of BFD, the Binary File Descriptor library. @@ -22,8 +23,10 @@ Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. */ #include "sysdep.h" #include "libbfd.h" +static boolean scan_mach + PARAMS ((const struct bfd_arch_info *, const char *)); -static boolean +static boolean scan_mach (info, string) const struct bfd_arch_info *info; const char *string; @@ -33,7 +36,6 @@ scan_mach (info, string) return false; } - #if 0 /* This routine is provided two arch_infos and returns whether they'd be compatible */ @@ -49,18 +51,52 @@ compatible (a,b) } #endif -#define SH_NEXT &arch_info_struct[0] -#define SH3_NEXT &arch_info_struct[1] -#define SH3E_NEXT &arch_info_struct[2] -#define SH4_NEXT NULL +#define SH_NEXT &arch_info_struct[0] +#define SH2_NEXT &arch_info_struct[1] +#define SH_DSP_NEXT &arch_info_struct[2] +#define SH3_NEXT &arch_info_struct[3] +#define SH3_DSP_NEXT &arch_info_struct[4] +#define SH3E_NEXT &arch_info_struct[5] +#define SH4_NEXT NULL +#undef SH4_NEXT +#define SH4_NEXT &arch_info_struct[6] +#define SH64_NEXT NULL -static const bfd_arch_info_type arch_info_struct[] = +static const bfd_arch_info_type arch_info_struct[] = { { 32, /* 32 bits in a word */ 32, /* 32 bits in an address */ 8, /* 8 bits in a byte */ bfd_arch_sh, + bfd_mach_sh2, + "sh", /* arch_name */ + "sh2", /* printable name */ + 1, + false, /* not the default */ + bfd_default_compatible, + scan_mach, + SH2_NEXT + }, + { + 32, /* 32 bits in a word */ + 32, /* 32 bits in an address */ + 8, /* 8 bits in a byte */ + bfd_arch_sh, + bfd_mach_sh_dsp, + "sh", /* arch_name */ + "sh-dsp", /* printable name */ + 1, + false, /* not the default */ + bfd_default_compatible, + scan_mach, + SH_DSP_NEXT + }, + { + 32, /* 32 bits in a word */ + 32, /* 32 bits in an address */ + 8, /* 8 bits in a byte */ + bfd_arch_sh, bfd_mach_sh3, "sh", /* arch_name */ "sh3", /* printable name */ @@ -75,6 +111,20 @@ static const bfd_arch_info_type arch_info_struct[] = 32, /* 32 bits in an address */ 8, /* 8 bits in a byte */ bfd_arch_sh, + bfd_mach_sh3_dsp, + "sh", /* arch_name */ + "sh3-dsp", /* printable name */ + 1, + false, /* not the default */ + bfd_default_compatible, + scan_mach, + SH3_DSP_NEXT + }, + { + 32, /* 32 bits in a word */ + 32, /* 32 bits in an address */ + 8, /* 8 bits in a byte */ + bfd_arch_sh, bfd_mach_sh3e, "sh", /* arch_name */ "sh3e", /* printable name */ @@ -98,6 +148,20 @@ static const bfd_arch_info_type arch_info_struct[] = scan_mach, SH4_NEXT }, + { + 64, /* 64 bits in a word */ + 64, /* 64 bits in an address */ + 8, /* 8 bits in a byte */ + bfd_arch_sh, + bfd_mach_sh5, + "sh", /* arch_name */ + "sh5", /* printable name */ + 1, + false, /* not the default */ + bfd_default_compatible, + scan_mach, + SH64_NEXT + }, }; const bfd_arch_info_type bfd_sh_arch = |