+2020-01-08 Alan Modra <amodra@gmail.com>
+
+ * config/tc-z8k.c (md_begin): Make idx unsigned.
+ (get_specific): Likewise for this_index.
+
2020-01-07 Claudiu Zissulescu <claziss@synopsys.com>
* onfig/tc-arc.c (parse_reloc_symbol): New function.
md_begin (void)
{
const opcode_entry_type *opcode;
- int idx = -1;
+ unsigned int idx = -1u;
opcode_hash_control = hash_new ();
int found = 0;
unsigned int noperands = opcode->noperands;
- int this_index = opcode->idx;
+ unsigned int this_index = opcode->idx;
while (this_index == opcode->idx && !found)
{
+2020-01-08 Alan Modra <amodra@gmail.com>
+
+ * z8k-dis.c: Include libiberty.h
+ (instr_data_s): Make max_fetched unsigned.
+ (z8k_lookup_instr): Make nibl_index and tabl_index unsigned.
+ Don't exceed byte_info bounds.
+ (output_instr): Make num_bytes unsigned.
+ (unpack_instr): Likewise for nibl_count and loop.
+ * z8kgen.c (gas <opcode_entry_type>): Make noperands, length and
+ idx unsigned.
+ * z8k-opc.h: Regenerate.
+
2020-01-07 Shahab Vahedi <shahab@synopsys.com>
* arc-tbl.h (llock): Use 'LLOCK' as class.
#include "sysdep.h"
#include "disassemble.h"
+#include "libiberty.h"
#define DEFINE_TABLE
#include "z8k-opc.h"
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;
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;
{
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)
unsigned long addr ATTRIBUTE_UNUSED,
disassemble_info *info)
{
- int num_bytes;
+ unsigned int num_bytes;
char out_str[100];
out_str[0] = 0;
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;
void (*func) (void);
unsigned int arg_info[4];
unsigned int byte_info[10];
- int noperands;
- int length;
- int idx;
+ unsigned int noperands;
+ unsigned int length;
+ unsigned int idx;
} opcode_entry_type;
#ifdef DEFINE_TABLE
printf (" void (*func) (void);\n");
printf (" unsigned int arg_info[4];\n");
printf (" unsigned int byte_info[%d];\n", BYTE_INFO_LEN);
- printf (" int noperands;\n");
- printf (" int length;\n");
- printf (" int idx;\n");
+ printf (" unsigned int noperands;\n");
+ printf (" unsigned int length;\n");
+ printf (" unsigned int idx;\n");
printf ("} opcode_entry_type;\n\n");
printf ("#ifdef DEFINE_TABLE\n");
printf ("const opcode_entry_type z8k_table[] = {\n");