aboutsummaryrefslogtreecommitdiff
path: root/opcodes/mips-dis.c
diff options
context:
space:
mode:
authorJeff Law <law@redhat.com>1998-05-18 17:46:34 +0000
committerJeff Law <law@redhat.com>1998-05-18 17:46:34 +0000
commit1124a4a7a7d51fc9778d031c6b6c81c40a96c2a2 (patch)
tree5fe391936760f141dc0e192a3b21d972b2b911d5 /opcodes/mips-dis.c
parent496b3694affe245a1dd04e9179b69fdd452c78c1 (diff)
downloadgdb-1124a4a7a7d51fc9778d031c6b6c81c40a96c2a2.zip
gdb-1124a4a7a7d51fc9778d031c6b6c81c40a96c2a2.tar.gz
gdb-1124a4a7a7d51fc9778d031c6b6c81c40a96c2a2.tar.bz2
* mips-dis.c (print_insn_arg): Handle ';' opcode completer.
(_print_insn_mips): Likewise. * vu0.h (vopmula, vopmsub): Correctly handle opcode/operand completers.
Diffstat (limited to 'opcodes/mips-dis.c')
-rw-r--r--opcodes/mips-dis.c21
1 files changed, 17 insertions, 4 deletions
diff --git a/opcodes/mips-dis.c b/opcodes/mips-dis.c
index 424567d..1541cfd 100644
--- a/opcodes/mips-dis.c
+++ b/opcodes/mips-dis.c
@@ -1,5 +1,5 @@
/* Print mips instructions for GDB, the GNU debugger, or for objdump.
- Copyright 1989, 91-97, 1998 Free Software Foundation, Inc.
+ Copyright (c) 1989, 91-97, 1998 Free Software Foundation, Inc.
Contributed by Nobuyuki Hikichi(hikichi@sra.co.jp).
This file is part of GDB, GAS, and the GNU binutils.
@@ -22,6 +22,7 @@ Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. */
#include "sysdep.h"
#include "dis-asm.h"
#include "opcode/mips.h"
+#include "opintl.h"
/* FIXME: These are needed to figure out if this is a mips16 symbol or
not. It would be better to think of a cleaner way to do this. */
@@ -87,7 +88,7 @@ print_insn_arg (d, l, pc, info)
/* start-sanitize-r5900 */
case '+':
case '-':
- /* end-santiize-r5900 */
+ /* end-sanitize-r5900 */
(*info->fprintf_func) (info->stream, "%c", *d);
break;
@@ -167,6 +168,12 @@ print_insn_arg (d, l, pc, info)
(l >> OP_SH_CODE) & OP_MASK_CODE);
break;
+
+ case 'q':
+ (*info->fprintf_func) (info->stream, "0x%x",
+ (l >> OP_SH_CODE2) & OP_MASK_CODE2);
+ break;
+
case 'C':
(*info->fprintf_func) (info->stream, "0x%x",
(l >> OP_SH_COPZ) & OP_MASK_COPZ);
@@ -241,6 +248,10 @@ print_insn_arg (d, l, pc, info)
case 'K':
break;
+ case ';':
+ (*info->fprintf_func) (info->stream, ".xyz\t");
+ break;
+
case '&':
(*info->fprintf_func) (info->stream, ".");
if (l & (1 << 21))
@@ -351,8 +362,10 @@ print_insn_arg (d, l, pc, info)
/* end-sanitize-vr5400 */
default:
+ /* xgettext:c-format */
(*info->fprintf_func) (info->stream,
- "# internal error, undefined modifier(%c)", *d);
+ _("# internal error, undefined modifier(%c)"),
+ *d);
break;
}
}
@@ -549,7 +562,7 @@ _print_insn_mips (memaddr, word, info)
/* start-sanitize-r5900 */
/* If this is an opcode completer, then do not emit
a tab after the opcode. */
- if (*d != '&')
+ if (*d != '&' && *d != ';')
/* end-sanitize-r5900 */
(*info->fprintf_func) (info->stream, "\t");
for (; *d != '\0'; d++)