diff options
Diffstat (limited to 'opcodes')
-rw-r--r-- | opcodes/ChangeLog | 5 | ||||
-rw-r--r-- | opcodes/mcore-dis.c | 15 | ||||
-rw-r--r-- | opcodes/mcore-opc.h | 1 |
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 |