aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorJeff Law <law@redhat.com>1996-10-03 16:42:22 +0000
committerJeff Law <law@redhat.com>1996-10-03 16:42:22 +0000
commitae1b99e42dbce238cd7eb5efd38672b8306f1148 (patch)
tree62cc3acea6d14f13f329d7ea5e4813255f126d27
parentfeede9b69925572e68d3859b2fcb610bddd2e713 (diff)
downloadgdb-ae1b99e42dbce238cd7eb5efd38672b8306f1148.zip
gdb-ae1b99e42dbce238cd7eb5efd38672b8306f1148.tar.gz
gdb-ae1b99e42dbce238cd7eb5efd38672b8306f1148.tar.bz2
Grrr. The mn10200 and mn10300 are _not_ similar enough to easily support
with a single generic configuration. So break them up into two different configurations. See the individual ChangeLogs for additional detail.
-rw-r--r--ChangeLog6
-rw-r--r--bfd/.Sanitize6
-rw-r--r--bfd/ChangeLog10
-rw-r--r--bfd/Makefile.in12
-rw-r--r--bfd/bfd-in2.h3
-rwxr-xr-xbfd/config.bfd8
-rwxr-xr-xbfd/configure3
-rw-r--r--bfd/configure.in3
-rw-r--r--[-rwxr-xr-x]bfd/cpu-mn10200.c (renamed from bfd/cpu-mn10x00.c)22
-rw-r--r--bfd/cpu-mn10300.c38
-rw-r--r--bfd/elf32-mn10200.c (renamed from bfd/elf32-mn10x00.c)44
-rw-r--r--bfd/elf32-mn10300.c111
-rw-r--r--bfd/targets.c6
-rwxr-xr-xconfig.sub5
-rw-r--r--configure.in5
-rw-r--r--gas/config/.Sanitize6
-rw-r--r--gas/config/tc-mn10300.c (renamed from gas/config/tc-mn10x00.c)66
-rw-r--r--gas/config/tc-mn10x00.h48
-rwxr-xr-xgas/configure3
-rw-r--r--gas/configure.in3
-rw-r--r--gas/testsuite/ChangeLog5
-rw-r--r--gas/testsuite/gas/.Sanitize3
-rw-r--r--include/ChangeLog5
-rw-r--r--include/dis-asm.h3
-rw-r--r--include/elf/ChangeLog4
-rw-r--r--include/opcode/.Sanitize3
-rw-r--r--include/opcode/ChangeLog5
-rw-r--r--include/opcode/mn10300.h (renamed from include/opcode/mn10x00.h)24
-rw-r--r--opcodes/.Sanitize4
-rw-r--r--opcodes/ChangeLog10
-rw-r--r--[-rwxr-xr-x]opcodes/mn10200-dis.c (renamed from opcodes/mn10x00-dis.c)6
-rw-r--r--opcodes/mn10200-opc.c (renamed from opcodes/mn10x00-opc.c)12
-rw-r--r--opcodes/mn10300-dis.c34
-rw-r--r--opcodes/mn10300-opc.c51
34 files changed, 411 insertions, 166 deletions
diff --git a/ChangeLog b/ChangeLog
index fdda615..c8eb6a9 100644
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,3 +1,9 @@
+Thu Oct 3 09:28:25 1996 Jeffrey A Law (law@cygnus.com)
+
+ * configure.in: Break mn10x00 support into separate
+ mn10200 and mn10300 configurations.
+ * config.sub: Likewise.
+
Wed Oct 2 22:27:52 1996 Jeffrey A Law (law@cygnus.com)
* configure.in: Add lots of stuff to noconfigdirs for
diff --git a/bfd/.Sanitize b/bfd/.Sanitize
index 4186890..14662f1 100644
--- a/bfd/.Sanitize
+++ b/bfd/.Sanitize
@@ -137,7 +137,8 @@ cpu-i960.c
cpu-m68k.c
cpu-m88k.c
cpu-mips.c
-cpu-mn10x00.c
+cpu-mn10200.c
+cpu-mn10300.c
cpu-ns32k.c
cpu-powerpc.c
cpu-rs6000.c
@@ -163,7 +164,8 @@ elf32-i860.c
elf32-m68k.c
elf32-m88k.c
elf32-mips.c
-elf32-mn10x00.c
+elf32-mn10200.c
+elf32-mn10300.c
elf32-ppc.c
elf32-sh.c
elf32-sparc.c
diff --git a/bfd/ChangeLog b/bfd/ChangeLog
index ce0335c..6b76ef4 100644
--- a/bfd/ChangeLog
+++ b/bfd/ChangeLog
@@ -1,3 +1,13 @@
+Thu Oct 3 09:29:09 1996 Jeffrey A Law (law@cygnus.com)
+
+ * cpu-mn10x00.c, elf32-mn10x00: Removed.
+ * cpu-mn10200.c, cpu-mn10300.c: New files.
+ * elf32-mn10200.c, elf32-mn10300.c: New files.
+ * Makefile.in: Break mn10x00 support into two separate
+ configurations, mn10200 and mn10300.
+ * archures.c, config.bfd, configure.in, elf.c, targets.c: Likewise.
+ * bfd-in2.h, configure: Rebuilt.
+
Thu Oct 3 15:38:19 1996 Jason Molenda (crash@godzilla.cygnus.co.jp)
* Makefile.in (do_clean): Move config.log to do_distclean.
diff --git a/bfd/Makefile.in b/bfd/Makefile.in
index 4d4b96d..5cbc436 100644
--- a/bfd/Makefile.in
+++ b/bfd/Makefile.in
@@ -131,7 +131,8 @@ ALL_MACHINES = \
cpu-m68k.o \
cpu-m88k.o \
cpu-mips.o \
- cpu-mn10x00.o \
+ cpu-mn10200.o \
+ cpu-mn10300.o \
cpu-ns32k.o \
cpu-powerpc.o \
cpu-rs6000.o \
@@ -219,7 +220,8 @@ BFD32_BACKENDS = \
elf32-m68k.o \
elf32-m88k.o \
elf32-mips.o \
- elf32-mn10x00.o \
+ elf32-mn10200.o \
+ elf32-mn10300.o \
elf32-ppc.o \
elf32-sh.o \
elf32-sparc.o \
@@ -827,7 +829,11 @@ elf32-m32r.o: elf32-m32r.c elf-bfd.h $(INCDIR)/elf/common.h \
elf32-target.h
end-sanitize-m32r:
-elf32-mn10x00.o: elf32-mn10x00.c elf-bfd.h $(INCDIR)/elf/common.h \
+elf32-mn10200.o: elf32-mn10200.c elf-bfd.h $(INCDIR)/elf/common.h \
+ $(INCDIR)/elf/internal.h $(INCDIR)/elf/external.h $(INCDIR)/bfdlink.h \
+ elf32-target.h
+
+elf32-mn10300.o: elf32-mn10300.c elf-bfd.h $(INCDIR)/elf/common.h \
$(INCDIR)/elf/internal.h $(INCDIR)/elf/external.h $(INCDIR)/bfdlink.h \
elf32-target.h
diff --git a/bfd/bfd-in2.h b/bfd/bfd-in2.h
index 67dbcb9..252931d 100644
--- a/bfd/bfd-in2.h
+++ b/bfd/bfd-in2.h
@@ -1229,7 +1229,8 @@ enum bfd_architecture
/* start-sanitize-m32r */
bfd_arch_m32r, /* Mitsubishi M32R */
/* end-sanitize-m32r */
- bfd_arch_mn10x00, /* Matsushita MN10x00 */
+ bfd_arch_mn10200, /* Matsushita MN10200 */
+ bfd_arch_mn10300, /* Matsushita MN10300 */
bfd_arch_last
};
diff --git a/bfd/config.bfd b/bfd/config.bfd
index a780aca..7c9b4ee 100755
--- a/bfd/config.bfd
+++ b/bfd/config.bfd
@@ -393,8 +393,12 @@ case "${targ}" in
targ_selvecs="bfd_elf32_littlemips_vec bfd_elf64_bigmips_vec bfd_elf64_littlemips_vec"
;;
- mn10x00-*-*)
- targ_defvec=bfd_elf32_mn10x00_vec
+ mn10200-*-*)
+ targ_defvec=bfd_elf32_mn10200_vec
+ ;;
+
+ mn10300-*-*)
+ targ_defvec=bfd_elf32_mn10300_vec
;;
ns32k-pc532-mach* | ns32k-pc532-ux*)
diff --git a/bfd/configure b/bfd/configure
index 51a0fc8..d655f1a 100755
--- a/bfd/configure
+++ b/bfd/configure
@@ -1928,7 +1928,8 @@ do
# end-sanitize-m32r
bfd_elf32_m68k_vec) tb="$tb elf32-m68k.o elf32.o $elf" ;;
bfd_elf32_m88k_vec) tb="$tb elf32-m88k.o elf32.o $elf" ;;
- bfd_elf32_mn10x00_vec) tb="$tb elf32-mn10x00.o elf32.o $elf" ;;
+ bfd_elf32_mn10200_vec) tb="$tb elf32-mn10200.o elf32.o $elf" ;;
+ bfd_elf32_mn10300_vec) tb="$tb elf32-mn10300.o elf32.o $elf" ;;
bfd_elf32_powerpc_vec) tb="$tb elf32-ppc.o elf32.o $elf" ;;
bfd_elf32_powerpcle_vec) tb="$tb elf32-ppc.o elf32.o $elf" ;;
bfd_elf32_sh_vec) tb="$tb elf32-sh.o elf32.o $elf coff-sh.o" ;;
diff --git a/bfd/configure.in b/bfd/configure.in
index 8b88d41..467db82 100644
--- a/bfd/configure.in
+++ b/bfd/configure.in
@@ -456,7 +456,8 @@ do
# end-sanitize-m32r
bfd_elf32_m68k_vec) tb="$tb elf32-m68k.o elf32.o $elf" ;;
bfd_elf32_m88k_vec) tb="$tb elf32-m88k.o elf32.o $elf" ;;
- bfd_elf32_mn10x00_vec) tb="$tb elf32-mn10x00.o elf32.o $elf" ;;
+ bfd_elf32_mn10200_vec) tb="$tb elf32-mn10200.o elf32.o $elf" ;;
+ bfd_elf32_mn10300_vec) tb="$tb elf32-mn10300.o elf32.o $elf" ;;
bfd_elf32_powerpc_vec) tb="$tb elf32-ppc.o elf32.o $elf" ;;
bfd_elf32_powerpcle_vec) tb="$tb elf32-ppc.o elf32.o $elf" ;;
bfd_elf32_sh_vec) tb="$tb elf32-sh.o elf32.o $elf coff-sh.o" ;;
diff --git a/bfd/cpu-mn10x00.c b/bfd/cpu-mn10200.c
index b8f1c56..2a0a988 100755..100644
--- a/bfd/cpu-mn10x00.c
+++ b/bfd/cpu-mn10200.c
@@ -1,4 +1,4 @@
-/* BFD support for the Matsushita 10200 and 10300 processors
+/* BFD support for the Matsushita 10200 processor
Copyright 1996 Free Software Foundation, Inc.
This file is part of BFD, the Binary File Descriptor library.
@@ -26,9 +26,9 @@ const bfd_arch_info_type bfd_mn10200_arch =
16, /* 16 bits in a word */
24, /* 16 bits in an address */
8, /* 8 bits in a byte */
- bfd_arch_mn10x00,
+ bfd_arch_mn10200,
200,
- "mn10x00",
+ "mn10200",
"mn10200",
2,
true, /* the one and only */
@@ -36,19 +36,3 @@ const bfd_arch_info_type bfd_mn10200_arch =
bfd_default_scan ,
0,
};
-
-const bfd_arch_info_type bfd_mn10x00_arch =
- {
- 16,
- 24,
- 8,
- bfd_arch_mn10x00,
- 300,
- "mn10x00",
- "mn10300",
- 2,
- false,
- bfd_default_compatible,
- bfd_default_scan,
- &bfd_mn10200_arch
- };
diff --git a/bfd/cpu-mn10300.c b/bfd/cpu-mn10300.c
new file mode 100644
index 0000000..fc6108d
--- /dev/null
+++ b/bfd/cpu-mn10300.c
@@ -0,0 +1,38 @@
+/* BFD support for the Matsushita 10300 processor
+ Copyright 1996 Free Software Foundation, Inc.
+
+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 published 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 should have received a copy of the GNU General Public License
+along with this program; if not, write to the Free Software
+Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. */
+
+#include "bfd.h"
+#include "sysdep.h"
+#include "libbfd.h"
+
+const bfd_arch_info_type bfd_mn10300_arch =
+ {
+ 32, /* 16 bits in a word */
+ 32, /* 16 bits in an address */
+ 8, /* 8 bits in a byte */
+ bfd_arch_mn10300,
+ 300,
+ "mn10300",
+ "mn10300",
+ 2,
+ true, /* the one and only */
+ bfd_default_compatible,
+ bfd_default_scan ,
+ 0,
+ };
diff --git a/bfd/elf32-mn10x00.c b/bfd/elf32-mn10200.c
index 15fab94..88c3cbe 100644
--- a/bfd/elf32-mn10x00.c
+++ b/bfd/elf32-mn10200.c
@@ -1,5 +1,5 @@
-/* Matsushita 10200 and 10300 specific support for 32-bit ELF
- Copyright (C) 1994, 1995 Free Software Foundation, Inc.
+/* Matsushita 10200 specific support for 32-bit ELF
+ Copyright (C) 1996 Free Software Foundation, Inc.
This file is part of BFD, the Binary File Descriptor library.
@@ -24,7 +24,7 @@ Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. */
static reloc_howto_type *bfd_elf32_bfd_reloc_type_lookup
PARAMS ((bfd *abfd, bfd_reloc_code_real_type code));
-static void mn10x00_info_to_howto_rel
+static void mn10200_info_to_howto_rel
PARAMS ((bfd *, arelent *, Elf32_Internal_Rel *));
/* Try to minimize the amount of space occupied by relocation tables
@@ -33,14 +33,14 @@ static void mn10x00_info_to_howto_rel
enum reloc_type
{
- R_MN10x00_NONE = 0,
- R_MN10x00_MAX
+ R_MN10200_NONE = 0,
+ R_MN10200_MAX
};
-static reloc_howto_type elf_mn10x00_howto_table[] =
+static reloc_howto_type elf_mn10200_howto_table[] =
{
/* */
- HOWTO (R_MN10x00_NONE,
+ HOWTO (R_MN10200_NONE,
0,
2,
16,
@@ -48,22 +48,22 @@ static reloc_howto_type elf_mn10x00_howto_table[] =
0,
complain_overflow_bitfield,
bfd_elf_generic_reloc,
- "R_MN10x00_NONE",
+ "R_MN10200_NONE",
false,
0,
0,
false),
};
-struct mn10x00_reloc_map
+struct mn10200_reloc_map
{
unsigned char bfd_reloc_val;
unsigned char elf_reloc_val;
};
-static const struct mn10x00_reloc_map mn10x00_reloc_map[] =
+static const struct mn10200_reloc_map mn10200_reloc_map[] =
{
- { BFD_RELOC_NONE, R_MN10x00_NONE, },
+ { BFD_RELOC_NONE, R_MN10200_NONE, },
};
static reloc_howto_type *
@@ -74,11 +74,11 @@ bfd_elf32_bfd_reloc_type_lookup (abfd, code)
unsigned int i;
for (i = 0;
- i < sizeof (mn10x00_reloc_map) / sizeof (struct mn10x00_reloc_map);
+ i < sizeof (mn10200_reloc_map) / sizeof (struct mn10200_reloc_map);
i++)
{
- if (mn10x00_reloc_map[i].bfd_reloc_val == code)
- return &elf_mn10x00_howto_table[mn10x00_reloc_map[i].elf_reloc_val];
+ if (mn10200_reloc_map[i].bfd_reloc_val == code)
+ return &elf_mn10200_howto_table[mn10200_reloc_map[i].elf_reloc_val];
}
return NULL;
@@ -87,7 +87,7 @@ bfd_elf32_bfd_reloc_type_lookup (abfd, code)
/* Set the howto pointer for an V850 ELF reloc. */
static void
-mn10x00_info_to_howto_rel (abfd, cache_ptr, dst)
+mn10200_info_to_howto_rel (abfd, cache_ptr, dst)
bfd *abfd;
arelent *cache_ptr;
Elf32_Internal_Rel *dst;
@@ -95,17 +95,17 @@ mn10x00_info_to_howto_rel (abfd, cache_ptr, dst)
unsigned int r_type;
r_type = ELF32_R_TYPE (dst->r_info);
- BFD_ASSERT (r_type < (unsigned int) R_MN10x00_MAX);
- cache_ptr->howto = &elf_mn10x00_howto_table[r_type];
+ BFD_ASSERT (r_type < (unsigned int) R_MN10200_MAX);
+ cache_ptr->howto = &elf_mn10200_howto_table[r_type];
}
-#define TARGET_LITTLE_SYM bfd_elf32_mn10x00_vec
-#define TARGET_LITTLE_NAME "elf32-mn10x00"
-#define ELF_ARCH bfd_arch_mn10x00
-#define ELF_MACHINE_CODE EM_CYGNUS_MN10x00
+#define TARGET_LITTLE_SYM bfd_elf32_mn10200_vec
+#define TARGET_LITTLE_NAME "elf32-mn10200"
+#define ELF_ARCH bfd_arch_mn10200
+#define ELF_MACHINE_CODE EM_CYGNUS_MN10200
#define ELF_MAXPAGESIZE 0x1000
#define elf_info_to_howto 0
-#define elf_info_to_howto_rel mn10x00_info_to_howto_rel
+#define elf_info_to_howto_rel mn10200_info_to_howto_rel
#include "elf32-target.h"
diff --git a/bfd/elf32-mn10300.c b/bfd/elf32-mn10300.c
new file mode 100644
index 0000000..309fa40
--- /dev/null
+++ b/bfd/elf32-mn10300.c
@@ -0,0 +1,111 @@
+/* Matsushita 10300 specific support for 32-bit ELF
+ Copyright (C) 1996 Free Software Foundation, Inc.
+
+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 published 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 should have received a copy of the GNU General Public License
+along with this program; if not, write to the Free Software
+Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. */
+
+#include "bfd.h"
+#include "sysdep.h"
+#include "libbfd.h"
+#include "elf-bfd.h"
+
+static reloc_howto_type *bfd_elf32_bfd_reloc_type_lookup
+ PARAMS ((bfd *abfd, bfd_reloc_code_real_type code));
+static void mn10300_info_to_howto_rel
+ PARAMS ((bfd *, arelent *, Elf32_Internal_Rel *));
+
+/* Try to minimize the amount of space occupied by relocation tables
+ on the ROM (not that the ROM won't be swamped by other ELF overhead). */
+#define USE_REL
+
+enum reloc_type
+{
+ R_MN10300_NONE = 0,
+ R_MN10300_MAX
+};
+
+static reloc_howto_type elf_mn10300_howto_table[] =
+{
+ /* */
+ HOWTO (R_MN10300_NONE,
+ 0,
+ 2,
+ 16,
+ false,
+ 0,
+ complain_overflow_bitfield,
+ bfd_elf_generic_reloc,
+ "R_MN10300_NONE",
+ false,
+ 0,
+ 0,
+ false),
+};
+
+struct mn10300_reloc_map
+{
+ unsigned char bfd_reloc_val;
+ unsigned char elf_reloc_val;
+};
+
+static const struct mn10300_reloc_map mn10300_reloc_map[] =
+{
+ { BFD_RELOC_NONE, R_MN10300_NONE, },
+};
+
+static reloc_howto_type *
+bfd_elf32_bfd_reloc_type_lookup (abfd, code)
+ bfd *abfd;
+ bfd_reloc_code_real_type code;
+{
+ unsigned int i;
+
+ for (i = 0;
+ i < sizeof (mn10300_reloc_map) / sizeof (struct mn10300_reloc_map);
+ i++)
+ {
+ if (mn10300_reloc_map[i].bfd_reloc_val == code)
+ return &elf_mn10300_howto_table[mn10300_reloc_map[i].elf_reloc_val];
+ }
+
+ return NULL;
+}
+
+/* Set the howto pointer for an V850 ELF reloc. */
+
+static void
+mn10300_info_to_howto_rel (abfd, cache_ptr, dst)
+ bfd *abfd;
+ arelent *cache_ptr;
+ Elf32_Internal_Rel *dst;
+{
+ unsigned int r_type;
+
+ r_type = ELF32_R_TYPE (dst->r_info);
+ BFD_ASSERT (r_type < (unsigned int) R_MN10300_MAX);
+ cache_ptr->howto = &elf_mn10300_howto_table[r_type];
+}
+
+#define TARGET_LITTLE_SYM bfd_elf32_mn10300_vec
+#define TARGET_LITTLE_NAME "elf32-mn10300"
+#define ELF_ARCH bfd_arch_mn10300
+#define ELF_MACHINE_CODE EM_CYGNUS_MN10300
+#define ELF_MAXPAGESIZE 0x1000
+
+#define elf_info_to_howto 0
+#define elf_info_to_howto_rel mn10300_info_to_howto_rel
+
+#include "elf32-target.h"
diff --git a/bfd/targets.c b/bfd/targets.c
index 5e7a470..964e656 100644
--- a/bfd/targets.c
+++ b/bfd/targets.c
@@ -503,7 +503,8 @@ extern const bfd_target bfd_elf32_m32r_vec;
/* end-sanitize-m32r */
extern const bfd_target bfd_elf32_m68k_vec;
extern const bfd_target bfd_elf32_m88k_vec;
-extern const bfd_target bfd_elf32_mn10x00_vec;
+extern const bfd_target bfd_elf32_mn10200_vec;
+extern const bfd_target bfd_elf32_mn10300_vec;
extern const bfd_target bfd_elf32_powerpc_vec;
extern const bfd_target bfd_elf32_powerpcle_vec;
extern const bfd_target bfd_elf32_sh_vec;
@@ -664,7 +665,8 @@ const bfd_target * const bfd_target_vector[] = {
/* start-sanitize-m32r */
&bfd_elf32_m32r_vec,
/* end-sanitize-m32r */
- &bfd_elf32_mn10x00_vec,
+ &bfd_elf32_mn10200_vec,
+ &bfd_elf32_mn10300_vec,
&bfd_elf32_m68k_vec,
&bfd_elf32_m88k_vec,
&bfd_elf32_sparc_vec,
diff --git a/config.sub b/config.sub
index 242215a..2762ff2 100755
--- a/config.sub
+++ b/config.sub
@@ -186,7 +186,10 @@ case $basic_machine in
basic_machine=$basic_machine-unknown
;;
# end-sanitize-m32r
- mn10x00)
+ mn10200)
+ basic_machine=$basic_machine-unknown
+ ;;
+ mn10300)
basic_machine=$basic_machine-unknown
;;
# Object if more than one company name word.
diff --git a/configure.in b/configure.in
index 9c0a47f..fc53180 100644
--- a/configure.in
+++ b/configure.in
@@ -490,7 +490,10 @@ case "${target}" in
noconfigdirs="$noconfigdirs target-libgloss libio libstdc++ libg++ gdb"
;;
# end-sanitize-m32r
- mn10x00-*-*)
+ mn10200-*-*)
+ noconfigdirs="$noconfigdirs ld gcc gdb target-libiberty target-libgloss target-newlib target-libio target-librx target-libstdc++ target-libg++"
+ ;;
+ mn10300-*-*)
noconfigdirs="$noconfigdirs ld gcc gdb target-libiberty target-libgloss target-newlib target-libio target-librx target-libstdc++ target-libg++"
;;
powerpc-*-aix*)
diff --git a/gas/config/.Sanitize b/gas/config/.Sanitize
index da1092a..97641cb 100644
--- a/gas/config/.Sanitize
+++ b/gas/config/.Sanitize
@@ -120,8 +120,10 @@ tc-m88k.c
tc-m88k.h
tc-mips.c
tc-mips.h
-tc-mn10x00.c
-tc-mn10x00.h
+tc-mn10200.c
+tc-mn10200.h
+tc-mn10300.c
+tc-mn10300.h
tc-ns32k.c
tc-ns32k.h
tc-ppc.c
diff --git a/gas/config/tc-mn10x00.c b/gas/config/tc-mn10300.c
index db3a386..c928a86 100644
--- a/gas/config/tc-mn10x00.c
+++ b/gas/config/tc-mn10300.c
@@ -1,4 +1,4 @@
-/* tc-mn10x00.c -- Assembler code for the Matsushita 10x00
+/* tc-mn10300.c -- Assembler code for the Matsushita 10300
Copyright (C) 1996 Free Software Foundation.
@@ -23,7 +23,7 @@
#include <ctype.h>
#include "as.h"
#include "subsegs.h"
-#include "opcode/mn10x00.h"
+#include "opcode/mn10300.h"
/* Structure to hold information about predefined registers. */
struct reg_name
@@ -54,25 +54,25 @@ const char FLT_CHARS[] = "dD";
/* local functions */
-static unsigned long mn10x00
- PARAMS ((unsigned long insn, const struct mn10x00_operand *operand,
+static unsigned long mn10300
+ PARAMS ((unsigned long insn, const struct mn10300_operand *operand,
offsetT val, char *file, unsigned int line));
static int reg_name_search PARAMS ((const struct reg_name *, int, const char *));
static boolean register_name PARAMS ((expressionS *expressionP));
static boolean system_register_name PARAMS ((expressionS *expressionP));
static boolean cc_name PARAMS ((expressionS *expressionP));
-static bfd_reloc_code_real_type mn10x00_reloc_prefix PARAMS ((void));
+static bfd_reloc_code_real_type mn10300_reloc_prefix PARAMS ((void));
/* fixups */
#define MAX_INSN_FIXUPS (5)
-struct mn10x00_fixup
+struct mn10300_fixup
{
expressionS exp;
int opindex;
bfd_reloc_code_real_type reloc;
};
-struct mn10x00_fixup fixups[MAX_INSN_FIXUPS];
+struct mn10300_fixup fixups[MAX_INSN_FIXUPS];
static int fc;
const char *md_shortopts = "";
@@ -88,7 +88,7 @@ const pseudo_typeS md_pseudo_table[] =
};
/* Opcode hash table. */
-static struct hash_control *mn10x00_hash;
+static struct hash_control *mn10300_hash;
/* This table is sorted. Suitable for searching by a binary search. */
static const struct reg_name pre_defined_registers[] =
@@ -345,7 +345,7 @@ void
md_show_usage (stream)
FILE *stream;
{
- fprintf(stream, "MN10x00 options:\n\
+ fprintf(stream, "MN10300 options:\n\
none yet\n");
}
@@ -429,29 +429,29 @@ void
md_begin ()
{
char *prev_name = "";
- register const struct mn10x00_opcode *op;
+ register const struct mn10300_opcode *op;
- mn10x00_hash = hash_new();
+ mn10300_hash = hash_new();
- /* Insert unique names into hash table. The MN10x00 instruction set
+ /* Insert unique names into hash table. The MN10300 instruction set
has many identical opcode names that have different opcodes based
on the operands. This hash table then provides a quick index to
the first opcode with a particular name in the opcode table. */
- op = mn10x00_opcodes;
+ op = mn10300_opcodes;
while (op->name)
{
if (strcmp (prev_name, op->name))
{
prev_name = (char *) op->name;
- hash_insert (mn10x00_hash, op->name, (char *) op);
+ hash_insert (mn10300_hash, op->name, (char *) op);
}
op++;
}
}
static bfd_reloc_code_real_type
-mn10x00_reloc_prefix()
+mn10300_reloc_prefix()
{
if (strncmp(input_line_pointer, "hi0(", 4) == 0)
{
@@ -479,8 +479,8 @@ md_assemble (str)
char *str;
{
char *s;
- struct mn10x00_opcode *opcode;
- struct mn10x00_opcode *next_opcode;
+ struct mn10300_opcode *opcode;
+ struct mn10300_opcode *next_opcode;
const unsigned char *opindex_ptr;
int next_opindex;
unsigned long insn, size;
@@ -496,7 +496,7 @@ md_assemble (str)
*s++ = '\0';
/* find the first opcode with the proper name */
- opcode = (struct mn10x00_opcode *)hash_find (mn10x00_hash, str);
+ opcode = (struct mn10300_opcode *)hash_find (mn10300_hash, str);
if (opcode == NULL)
{
as_bad ("Unrecognized opcode: `%s'", str);
@@ -519,17 +519,17 @@ md_assemble (str)
insn = opcode->opcode;
for (opindex_ptr = opcode->operands; *opindex_ptr != 0; opindex_ptr++)
{
- const struct mn10x00_operand *operand;
+ const struct mn10300_operand *operand;
char *hold;
expressionS ex;
if (next_opindex == 0)
{
- operand = &mn10x00_operands[*opindex_ptr];
+ operand = &mn10300_operands[*opindex_ptr];
}
else
{
- operand = &mn10x00_operands[next_opindex];
+ operand = &mn10300_operands[next_opindex];
next_opindex = 0;
}
@@ -544,7 +544,7 @@ md_assemble (str)
/* lo(), hi(), hi0(), etc... */
- if ((reloc = mn10x00_reloc_prefix()) != BFD_RELOC_UNUSED)
+ if ((reloc = mn10300_reloc_prefix()) != BFD_RELOC_UNUSED)
{
expression(&ex);
@@ -575,7 +575,7 @@ md_assemble (str)
break;
}
- insn = mn10x00_insert_operand (insn, operand, ex.X_add_number,
+ insn = mn10300_insert_operand (insn, operand, ex.X_add_number,
(char *) NULL, 0);
}
else
@@ -601,12 +601,12 @@ md_assemble (str)
goto error;
case O_register:
- insn = mn10x00_insert_operand (insn, operand, ex.X_add_number,
+ insn = mn10300_insert_operand (insn, operand, ex.X_add_number,
(char *) NULL, 0);
break;
case O_constant:
- insn = mn10x00_insert_operand (insn, operand, ex.X_add_number,
+ insn = mn10300_insert_operand (insn, operand, ex.X_add_number,
(char *) NULL, 0);
break;
@@ -673,9 +673,9 @@ md_assemble (str)
md_apply_fix. */
for (i = 0; i < fc; i++)
{
- const struct mn10x00_operand *operand;
+ const struct mn10300_operand *operand;
- operand = &mn10x00_operands[fixups[i].opindex];
+ operand = &mn10300_operands[fixups[i].opindex];
if (fixups[i].reloc != BFD_RELOC_UNUSED)
{
reloc_howto_type *reloc_howto = bfd_reloc_type_lookup (stdoutput, fixups[i].reloc);
@@ -701,7 +701,7 @@ md_assemble (str)
{
fix_new_exp (frag_now, f - frag_now->fr_literal, 4,
&fixups[i].exp,
- 1 /* FIXME: MN10x00_OPERAND_RELATIVE ??? */,
+ 1 /* FIXME: MN10300_OPERAND_RELATIVE ??? */,
((bfd_reloc_code_real_type)
(fixups[i].opindex + (int) BFD_RELOC_UNUSED)));
}
@@ -790,12 +790,12 @@ md_apply_fix3 (fixp, valuep, seg)
if ((int) fixp->fx_r_type >= (int) BFD_RELOC_UNUSED)
{
int opindex;
- const struct mn10x00_operand *operand;
+ const struct mn10300_operand *operand;
char *where;
unsigned long insn;
opindex = (int) fixp->fx_r_type - (int) BFD_RELOC_UNUSED;
- operand = &mn10x00_operands[opindex];
+ operand = &mn10300_operands[opindex];
/* Fetch the instruction, insert the fully resolved operand
value, and stuff the instruction back again.
@@ -805,7 +805,7 @@ md_apply_fix3 (fixp, valuep, seg)
where = fixp->fx_frag->fr_literal + fixp->fx_where;
insn = bfd_getl32((unsigned char *) where);
- insn = mn10x00_insert_operand (insn, operand, (offsetT) value,
+ insn = mn10300_insert_operand (insn, operand, (offsetT) value,
fixp->fx_file, fixp->fx_line);
bfd_putl32((bfd_vma) insn, (unsigned char *) where);
@@ -845,9 +845,9 @@ md_apply_fix3 (fixp, valuep, seg)
/* Insert an operand value into an instruction. */
static unsigned long
-mn10x00_insert_operand (insn, operand, val, file, line)
+mn10300_insert_operand (insn, operand, val, file, line)
unsigned long insn;
- const struct mn10x00_operand *operand;
+ const struct mn10300_operand *operand;
offsetT val;
char *file;
unsigned int line;
diff --git a/gas/config/tc-mn10x00.h b/gas/config/tc-mn10x00.h
deleted file mode 100644
index c5b2add..0000000
--- a/gas/config/tc-mn10x00.h
+++ /dev/null
@@ -1,48 +0,0 @@
-/* tc-mn10x00.h -- Header file for tc-mn10x00.c.
- Copyright (C) 1996 Free Software Foundation, Inc.
-
- This file is part of GAS, the GNU Assembler.
-
- GAS is free software; you can redistribute it and/or modify
- it under the terms of the GNU General Public License as published by
- the Free Software Foundation; either version 2, or (at your option)
- any later version.
-
- GAS 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 should have received a copy of the GNU General Public License
- along with GAS; see the file COPYING. If not, write to
- the Free Software Foundation, 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. */
-
-#define TC_MN10x00
-
-#ifndef BFD_ASSEMBLER
- #error MN10x00 support requires BFD_ASSEMBLER
-#endif
-
-/* The target BFD architecture. */
-#define TARGET_ARCH bfd_arch_mn10x00
-
-#define TARGET_FORMAT "elf32-mn10x00"
-
-#define MD_APPLY_FIX3
-#define md_operand(x)
-
-/* Permit temporary numeric labels. */
-#define LOCAL_LABELS_FB 1
-
-#define LOCAL_LABEL(name) ((name[0] == '.' \
- && (name[1] == 'L' || name[1] == '.')) \
- || (name[0] == '_' && name[1] == '.' && name[2] == 'L' \
- && name[3] == '_'))
-
-#define FAKE_LABEL_NAME ".L0\001"
-#define DIFF_EXPR_OK /* .-foo gets turned into PC relative relocs */
-
-/* We don't need to handle .word strangely. */
-#define WORKING_DOT_WORD
-
-#define md_number_to_chars number_to_chars_littleendian
diff --git a/gas/configure b/gas/configure
index b53b1e2..6791818 100755
--- a/gas/configure
+++ b/gas/configure
@@ -876,7 +876,8 @@ for this_target in $target $canon_targets ; do
*) targ=mips-lit ;;
esac
;;
- mn10x00-*-*) fmt=elf bfd_gas=yes ;;
+ mn10200-*-*) fmt=elf bfd_gas=yes ;;
+ mn10300-*-*) fmt=elf bfd_gas=yes ;;
ppc-*-pe | ppc-*-cygwin32 | ppc-*-winnt*)
fmt=coff em=pe
case "$endian" in
diff --git a/gas/configure.in b/gas/configure.in
index 3735f4b..8325e03 100644
--- a/gas/configure.in
+++ b/gas/configure.in
@@ -230,7 +230,8 @@ changequote([,])dnl
*) targ=mips-lit ;;
esac
;;
- mn10x00-*-*) fmt=elf bfd_gas=yes ;;
+ mn10200-*-*) fmt=elf bfd_gas=yes ;;
+ mn10300-*-*) fmt=elf bfd_gas=yes ;;
ppc-*-pe | ppc-*-cygwin32 | ppc-*-winnt*)
fmt=coff em=pe
case "$endian" in
diff --git a/gas/testsuite/ChangeLog b/gas/testsuite/ChangeLog
index 397cfd3..02d0a5c 100644
--- a/gas/testsuite/ChangeLog
+++ b/gas/testsuite/ChangeLog
@@ -1,6 +1,7 @@
-Thu Oct 3 00:14:04 1996 Jeffrey A Law (law@cygnus.com)
+Thu Oct 3 09:57:03 1996 Jeffrey A Law (law@cygnus.com)
- * gas/mn10x00: New directory for Matsushita 10x00 tests.
+ * gas/mn10200, gas/mn10300: New directorys for Matsushita
+ mn10200 and mn10300 tests.
Tue Oct 1 15:38:28 1996 Ian Lance Taylor <ian@cygnus.com>
diff --git a/gas/testsuite/gas/.Sanitize b/gas/testsuite/gas/.Sanitize
index 2dc9ec2..9be0821a 100644
--- a/gas/testsuite/gas/.Sanitize
+++ b/gas/testsuite/gas/.Sanitize
@@ -48,7 +48,8 @@ m68k
m68k-coff
macros
mips
-mn10x00
+mn10200
+mn10300
mri
sh
sparc
diff --git a/include/ChangeLog b/include/ChangeLog
index 79b16d4..a63b82c 100644
--- a/include/ChangeLog
+++ b/include/ChangeLog
@@ -1,3 +1,8 @@
+Thu Oct 3 10:33:14 1996 Jeffrey A Law (law@cygnus.com)
+
+ * dis-asm.h (print_insn_mn10x00): Delete declaration.
+ (print_insn_mn10200, print_insn_mn10300): Declare.
+
Wed Oct 2 21:24:43 1996 Jeffrey A Law (law@cygnus.com)
* dis-asm.h (print_insn_mn10x00): Declare.
diff --git a/include/dis-asm.h b/include/dis-asm.h
index 3a05927..e38331b 100644
--- a/include/dis-asm.h
+++ b/include/dis-asm.h
@@ -131,7 +131,8 @@ extern int print_insn_sh PARAMS ((bfd_vma, disassemble_info*));
extern int print_insn_shl PARAMS ((bfd_vma, disassemble_info*));
extern int print_insn_hppa PARAMS ((bfd_vma, disassemble_info*));
extern int print_insn_m88k PARAMS ((bfd_vma, disassemble_info*));
-extern int print_insn_mn10x00 PARAMS ((bfd_vma, disassemble_info*));
+extern int print_insn_mn10200 PARAMS ((bfd_vma, disassemble_info*));
+extern int print_insn_mn10300 PARAMS ((bfd_vma, disassemble_info*));
extern int print_insn_ns32k PARAMS ((bfd_vma, disassemble_info*));
extern int print_insn_big_powerpc PARAMS ((bfd_vma, disassemble_info*));
extern int print_insn_little_powerpc PARAMS ((bfd_vma, disassemble_info*));
diff --git a/include/elf/ChangeLog b/include/elf/ChangeLog
index dac3d6e..3c1c42b 100644
--- a/include/elf/ChangeLog
+++ b/include/elf/ChangeLog
@@ -1,3 +1,7 @@
+Thu Oct 3 10:01:40 1996 Jeffrey A Law (law@cygnus.com)
+
+ * common.h: Break mn10x00 support into mn10200 and mn10300.
+
Wed Oct 2 21:26:43 1996 Jeffrey A Law (law@cygnus.com)
* common.h (EM_CYGNUS_MN10x00): Define.
diff --git a/include/opcode/.Sanitize b/include/opcode/.Sanitize
index 81362b3..e9cf078 100644
--- a/include/opcode/.Sanitize
+++ b/include/opcode/.Sanitize
@@ -61,7 +61,8 @@ i960.h
m68k.h
m88k.h
mips.h
-mn10x00.h
+mn10200.h
+mn10300.h
np1.h
ns32k.h
pn.h
diff --git a/include/opcode/ChangeLog b/include/opcode/ChangeLog
index 48dd515..56817b3 100644
--- a/include/opcode/ChangeLog
+++ b/include/opcode/ChangeLog
@@ -1,3 +1,8 @@
+Thu Oct 3 10:33:46 1996 Jeffrey A Law (law@cygnus.com)
+
+ * mn10x00.h: Delete.
+ * mn10200.h, mn10300.h: New files.
+
Wed Oct 2 21:31:26 1996 Jeffrey A Law (law@cygnus.com)
* mn10x00.h: New file.
diff --git a/include/opcode/mn10x00.h b/include/opcode/mn10300.h
index b09387f..2d780b1 100644
--- a/include/opcode/mn10x00.h
+++ b/include/opcode/mn10300.h
@@ -1,4 +1,4 @@
-/* mn10x00.h -- Header file for Matsushita 10200 and 10300 opcode table
+/* mn10300.h -- Header file for Matsushita 10300 opcode table
Copyright 1996 Free Software Foundation, Inc.
Written by Jeff Law, Cygnus Support
@@ -18,12 +18,12 @@ You should have received a copy of the GNU General Public License
along with this file; see the file COPYING. If not, write to the Free
Software Foundation, 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. */
-#ifndef MN10x00_H
-#define MN10x00_H
+#ifndef MN10300_H
+#define MN10300_H
-/* The opcode table is an array of struct mn10x00_opcode. */
+/* The opcode table is an array of struct mn10300_opcode. */
-struct mn10x00_opcode
+struct mn10300_opcode
{
/* The opcode name. */
const char *name;
@@ -47,13 +47,13 @@ struct mn10x00_opcode
/* The table itself is sorted by major opcode number, and is otherwise
in the order in which the disassembler should consider
instructions. */
-extern const struct mn10x00_opcode mn10x00_opcodes[];
-extern const int mn10x00_num_opcodes;
+extern const struct mn10300_opcode mn10300_opcodes[];
+extern const int mn10300_num_opcodes;
/* The operands table is an array of struct powerpc_operand. */
-struct mn10x00_operand
+struct mn10300_operand
{
/* The number of bits in the operand. */
int bits;
@@ -66,10 +66,10 @@ struct mn10x00_operand
};
/* Elements in the table are retrieved by indexing with values from
- the operands field of the mn10x00_opcodes table. */
+ the operands field of the mn10300_opcodes table. */
-extern const struct mn10x00_operand mn10x00_operands[];
+extern const struct mn10300_operand mn10300_operands[];
-/* Values defined for the flags field of a struct mn10x00_operand. */
+/* Values defined for the flags field of a struct mn10300_operand. */
-#endif /* MN10x00_H */
+#endif /* MN10300_H */
diff --git a/opcodes/.Sanitize b/opcodes/.Sanitize
index 4c61e37..4aa3000 100644
--- a/opcodes/.Sanitize
+++ b/opcodes/.Sanitize
@@ -74,6 +74,10 @@ m88k-dis.c
makefile.vms
mips-dis.c
mips-opc.c
+mn10200-dis.c
+mn10200-opc.c
+mn10300-dis.c
+mn10300-opc.c
mpw-config.in
mpw-make.sed
ns32k-dis.c
diff --git a/opcodes/ChangeLog b/opcodes/ChangeLog
index de99849..b9ee3181 100644
--- a/opcodes/ChangeLog
+++ b/opcodes/ChangeLog
@@ -1,3 +1,13 @@
+Thu Oct 3 10:06:07 1996 Jeffrey A Law (law@cygnus.com)
+
+ * mn10200-opc.c, mn10300-opc.c: New files.
+ * mn10200-dis.c, mn10300-dis.c: New files.
+ * mn10x00-opc.c, mn10x00-dis.c: Deleted.
+ * disassemble.c: Break mn10x00 support into 10200 and 10300
+ support.
+ * configure.in: Likewise.
+ * configure: Rebuilt.
+
Thu Oct 3 15:59:12 1996 Jason Molenda (crash@godzilla.cygnus.co.jp)
* Makefile.in (MOSTLYCLEAN): Move config.log to distclean.
diff --git a/opcodes/mn10x00-dis.c b/opcodes/mn10200-dis.c
index cd068e3..5aa0cb8 100755..100644
--- a/opcodes/mn10x00-dis.c
+++ b/opcodes/mn10200-dis.c
@@ -1,4 +1,4 @@
-/* Disassemble MN10x00 instructions.
+/* Disassemble MN10200 instructions.
Copyright (C) 1996 Free Software Foundation, Inc.
This program is free software; you can redistribute it and/or modify
@@ -19,7 +19,7 @@ Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. */
#include <stdio.h>
#include "ansidecl.h"
-#include "opcode/mn10x00.h"
+#include "opcode/mn10200.h"
#include "dis-asm.h"
static void disassemble PARAMS ((bfd_vma memaddr,
@@ -27,7 +27,7 @@ static void disassemble PARAMS ((bfd_vma memaddr,
unsigned long insn));
int
-print_insn_mn10x00 (memaddr, info)
+print_insn_mn10200 (memaddr, info)
bfd_vma memaddr;
struct disassemble_info *info;
{
diff --git a/opcodes/mn10x00-opc.c b/opcodes/mn10200-opc.c
index 278756b..7b4abfa 100644
--- a/opcodes/mn10x00-opc.c
+++ b/opcodes/mn10200-opc.c
@@ -1,4 +1,4 @@
-/* Assemble Matsushita MN10x00 instructions.
+/* Assemble Matsushita MN10200 instructions.
Copyright (C) 1996 Free Software Foundation, Inc.
This program is free software; you can redistribute it and/or modify
@@ -16,10 +16,10 @@ along with this program; if not, write to the Free Software
Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. */
#include "ansidecl.h"
-#include "opcode/mn10x00.h"
+#include "opcode/mn10200.h"
-const struct mn10x00_operand mn10x00_operands[] = {
+const struct mn10200_operand mn10200_operands[] = {
#define UNUSED 0
{ 0, 0, 0 },
} ;
@@ -42,10 +42,10 @@ const struct mn10x00_operand mn10x00_operands[] = {
specific instructions before more general instructions. It is also
sorted by major opcode. */
-const struct mn10x00_opcode mn10x00_opcodes[] = {
+const struct mn10200_opcode mn10200_opcodes[] = {
{ 0, 0, 0, {0}, } } ;
-const int mn10x00_num_opcodes =
- sizeof (mn10x00_opcodes) / sizeof (mn10x00_opcodes[0]);
+const int mn10200_num_opcodes =
+ sizeof (mn10200_opcodes) / sizeof (mn10200_opcodes[0]);
diff --git a/opcodes/mn10300-dis.c b/opcodes/mn10300-dis.c
new file mode 100644
index 0000000..b81d493
--- /dev/null
+++ b/opcodes/mn10300-dis.c
@@ -0,0 +1,34 @@
+/* Disassemble MN10300 instructions.
+ Copyright (C) 1996 Free Software Foundation, Inc.
+
+This program is free software; you can redistribute it and/or modify
+it under the terms of the GNU General Public License as published 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 should have received a copy of the GNU General Public License
+along with this program; if not, write to the Free Software
+Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. */
+
+
+#include <stdio.h>
+
+#include "ansidecl.h"
+#include "opcode/mn10300.h"
+#include "dis-asm.h"
+
+static void disassemble PARAMS ((bfd_vma memaddr,
+ struct disassemble_info *info,
+ unsigned long insn));
+
+int
+print_insn_mn10300 (memaddr, info)
+ bfd_vma memaddr;
+ struct disassemble_info *info;
+{
+}
diff --git a/opcodes/mn10300-opc.c b/opcodes/mn10300-opc.c
new file mode 100644
index 0000000..800a45b
--- /dev/null
+++ b/opcodes/mn10300-opc.c
@@ -0,0 +1,51 @@
+/* Assemble Matsushita MN10300 instructions.
+ Copyright (C) 1996 Free Software Foundation, Inc.
+
+This program is free software; you can redistribute it and/or modify
+it under the terms of the GNU General Public License as published 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 should have received a copy of the GNU General Public License
+along with this program; if not, write to the Free Software
+Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. */
+
+#include "ansidecl.h"
+#include "opcode/mn10300.h"
+
+
+const struct mn10300_operand mn10300_operands[] = {
+#define UNUSED 0
+ { 0, 0, 0 },
+} ;
+
+
+/* The opcode table.
+
+ The format of the opcode table is:
+
+ NAME OPCODE MASK { OPERANDS }
+
+ NAME is the name of the instruction.
+ OPCODE is the instruction opcode.
+ MASK is the opcode mask; this is used to tell the disassembler
+ which bits in the actual opcode must match OPCODE.
+ OPERANDS is the list of operands.
+
+ The disassembler reads the table in order and prints the first
+ instruction which matches, so this table is sorted to put more
+ specific instructions before more general instructions. It is also
+ sorted by major opcode. */
+
+const struct mn10300_opcode mn10300_opcodes[] = {
+{ 0, 0, 0, {0}, } } ;
+
+const int mn10300_num_opcodes =
+ sizeof (mn10300_opcodes) / sizeof (mn10300_opcodes[0]);
+
+