X-Git-Url: http://git.efficios.com/?a=blobdiff_plain;f=opcodes%2Fz8k-dis.c;h=cb871decfaba7033f601b5b347171db068940135;hb=5018ce90c1205d79f29adf954b0fd5e613d08430;hp=4ae73230cc6d2694edd6ed371067f6f64a6b2492;hpb=219d1afa89d0d53ca93a684cac341f16470f3ca0;p=deliverable%2Fbinutils-gdb.git diff --git a/opcodes/z8k-dis.c b/opcodes/z8k-dis.c index 4ae73230cc..cb871decfa 100644 --- a/opcodes/z8k-dis.c +++ b/opcodes/z8k-dis.c @@ -1,5 +1,5 @@ /* Disassemble z8000 code. - Copyright (C) 1992-2018 Free Software Foundation, Inc. + Copyright (C) 1992-2020 Free Software Foundation, Inc. This file is part of the GNU opcodes library. @@ -20,6 +20,7 @@ #include "sysdep.h" #include "disassemble.h" +#include "libiberty.h" #define DEFINE_TABLE #include "z8k-opc.h" @@ -35,7 +36,7 @@ typedef struct unsigned short words[24]; /* Nibble number of first word not yet fetched. */ - int max_fetched; + unsigned int max_fetched; bfd_vma insn_start; OPCODES_SIGJMP_BUF bailout; @@ -189,7 +190,7 @@ print_insn_z8002 (bfd_vma addr, disassemble_info *info) int z8k_lookup_instr (unsigned char *nibbles, disassemble_info *info) { - int nibl_index, tabl_index; + unsigned int nibl_index, tabl_index; int nibl_matched; int need_fetch = 0; unsigned short instr_nibl; @@ -202,7 +203,9 @@ z8k_lookup_instr (unsigned char *nibbles, disassemble_info *info) { nibl_matched = 1; for (nibl_index = 0; - nibl_index < z8k_table[tabl_index].length * 2 && nibl_matched; + nibl_matched + && nibl_index < ARRAY_SIZE (z8k_table[0].byte_info) + && nibl_index < z8k_table[tabl_index].length * 2; nibl_index++) { if ((nibl_index % 4) == 0) @@ -281,7 +284,7 @@ output_instr (instr_data_s *instr_data, unsigned long addr ATTRIBUTE_UNUSED, disassemble_info *info) { - int num_bytes; + unsigned int num_bytes; char out_str[100]; out_str[0] = 0; @@ -297,7 +300,7 @@ output_instr (instr_data_s *instr_data, static void unpack_instr (instr_data_s *instr_data, int is_segmented, disassemble_info *info) { - int nibl_count, loop; + unsigned int nibl_count, loop; unsigned short instr_nibl, instr_byte, instr_word; long instr_long; unsigned int tabl_datum, datum_class;