X-Git-Url: http://review.tizen.org/git/?a=blobdiff_plain;f=opcodes%2Fmcore-dis.c;h=ed52e99b0d57273fdc77d731cd272038fc070e4f;hb=2571583aed598dd3f9651b53434e5f177a0e3cf7;hp=d3deb3541d5d0644a461a63b18964baeae67cac9;hpb=6f2750feaf2827ef8a1a0a5b2f90c1e9a6cabbd1;p=external%2Fbinutils.git diff --git a/opcodes/mcore-dis.c b/opcodes/mcore-dis.c index d3deb35..ed52e99 100644 --- a/opcodes/mcore-dis.c +++ b/opcodes/mcore-dis.c @@ -1,5 +1,5 @@ /* Disassemble Motorola M*Core instructions. - Copyright (C) 1993-2016 Free Software Foundation, Inc. + Copyright (C) 1993-2017 Free Software Foundation, Inc. This file is part of the GNU opcodes library. @@ -20,6 +20,7 @@ #include "sysdep.h" #include +#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);