aboutsummaryrefslogtreecommitdiff
path: root/opcodes
diff options
context:
space:
mode:
Diffstat (limited to 'opcodes')
-rw-r--r--opcodes/ChangeLog5
-rw-r--r--opcodes/mcore-dis.c15
-rw-r--r--opcodes/mcore-opc.h1
3 files changed, 13 insertions, 8 deletions
diff --git a/opcodes/ChangeLog b/opcodes/ChangeLog
index c9cf9ed..fd59786 100644
--- a/opcodes/ChangeLog
+++ b/opcodes/ChangeLog
@@ -1,3 +1,8 @@
+2016-06-25 Trevor Saunders <tbsaunde+binutils@tbsaunde.org>
+
+ * mcore-opc.h: Remove sentinal.
+ * mcore-dis.c (print_insn_mcore): Adjust.
+
2016-06-23 Graham Markall <graham.markall@embecosm.com>
* arc-opc.c: Correct description of availability of NPS400
diff --git a/opcodes/mcore-dis.c b/opcodes/mcore-dis.c
index d3deb35..887d012 100644
--- a/opcodes/mcore-dis.c
+++ b/opcodes/mcore-dis.c
@@ -20,6 +20,7 @@
#include "sysdep.h"
#include <stdio.h>
+#include "libiberty.h"
#define STATIC_TABLE
#define DEFINE_TABLE
@@ -95,7 +96,7 @@ print_insn_mcore (bfd_vma memaddr,
fprintf_ftype print_func = info->fprintf_func;
void *stream = info->stream;
unsigned short inst;
- const mcore_opcode_info *op;
+ unsigned int i;
int status;
info->bytes_per_chunk = 2;
@@ -116,19 +117,19 @@ print_insn_mcore (bfd_vma memaddr,
abort ();
/* Just a linear search of the table. */
- for (op = mcore_table; op->name != 0; op++)
- if (op->inst == (inst & imsk[op->opclass]))
+ for (i = 0; i < ARRAY_SIZE (mcore_table); i++)
+ if (mcore_table[i].inst == (inst & imsk[mcore_table[i].opclass]))
break;
- if (op->name == 0)
+ if (i == ARRAY_SIZE (mcore_table))
(*print_func) (stream, ".short 0x%04x", inst);
else
{
const char *name = grname[inst & 0x0F];
- (*print_func) (stream, "%s", op->name);
+ (*print_func) (stream, "%s", mcore_table[i].name);
- switch (op->opclass)
+ switch (mcore_table[i].opclass)
{
case O0:
break;
@@ -202,7 +203,7 @@ print_insn_mcore (bfd_vma memaddr,
(*print_func) (stream, "\t0x%lx", (long)(memaddr + 2 + (val << 1)));
- if (strcmp (op->name, "bsr") == 0)
+ if (strcmp (mcore_table[i].name, "bsr") == 0)
{
/* For bsr, we'll try to get a symbol for the target. */
val = memaddr + 2 + (val << 1);
diff --git a/opcodes/mcore-opc.h b/opcodes/mcore-opc.h
index 24c3f88..ad66e7b 100644
--- a/opcodes/mcore-opc.h
+++ b/opcodes/mcore-opc.h
@@ -206,6 +206,5 @@ const mcore_opcode_info mcore_table[] =
{ "rori", RSI, 0, 0x3800 },
{ "rotri", RSI, 0, 0x3800 },
{ "nop", O0, 0, 0x1200 }, /* mov r0, r0 */
- { 0, 0, 0, 0 }
};
#endif