* target.h: Add enum target_waitkind, enum target_signal, and
[deliverable/binutils-gdb.git] / gdb / mips-pinsn.c
index 88ce9301ec825df899449e2f2170e4004c569f5b..fff36d83c3faa7d70b0fdda2bc655af5c6ad7c1d 100644 (file)
@@ -1,5 +1,5 @@
 /* Print mips instructions for GDB, the GNU debugger.
-   Copyright 1989, 1991, 1992 Free Software Foundation, Inc.
+   Copyright 1989, 1991, 1992, 1993 Free Software Foundation, Inc.
 
 This file is part of GDB.
 
@@ -18,9 +18,7 @@ along with this program; if not, write to the Free Software
 Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA.  */
 
 #include "defs.h"
-
-/* Mips instructions are never longer than this many bytes.  */
-#define MAXLEN 4
+#include "dis-asm.h"
 
 /* Print the mips instruction at address MEMADDR in debugged memory,
    on STREAM.  Returns length of the instruction, in bytes, which
@@ -29,13 +27,15 @@ Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA.  */
 int
 print_insn (memaddr, stream)
      CORE_ADDR memaddr;
-     FILE *stream;
+     GDB_FILE *stream;
 {
-  unsigned char buffer[MAXLEN];
+  disassemble_info info;
 
-  read_memory (memaddr, buffer, MAXLEN);
+  GDB_INIT_DISASSEMBLE_INFO(info, stream);
 
   /* print_insn_mips is in opcodes/mips-dis.c.  */
-  return print_insn_mips (memaddr, buffer, stream,
-                         TARGET_BYTE_ORDER == BIG_ENDIAN);
+  if (TARGET_BYTE_ORDER == BIG_ENDIAN)
+    return print_insn_big_mips ((bfd_vma) memaddr, &info);
+  else
+    return print_insn_little_mips ((bfd_vma) memaddr, &info);
 }
This page took 0.02542 seconds and 4 git commands to generate.