X-Git-Url: http://drtracing.org/?a=blobdiff_plain;f=gas%2Fitbl-ops.c;h=b7be04fc9ce0496abced089b3870901493106e56;hb=28ed815ad2b0cb93eede83022269d6a60b9cdf31;hp=e97a63679f461983df6e9f0e83171c479e3dbfa0;hpb=87975d2a60adf249212c1c031abb4dd0dbb800ac;p=deliverable%2Fbinutils-gdb.git diff --git a/gas/itbl-ops.c b/gas/itbl-ops.c index e97a63679f..b7be04fc9c 100644 --- a/gas/itbl-ops.c +++ b/gas/itbl-ops.c @@ -1,6 +1,5 @@ /* itbl-ops.c - Copyright 1997, 1999, 2000, 2001, 2002, 2003, 2005, 2006, 2007, - 2009, 2010 Free Software Foundation, Inc. + Copyright (C) 1997-2019 Free Software Foundation, Inc. This file is part of GAS, the GNU Assembler. @@ -133,7 +132,7 @@ struct itbl_field { struct itbl_entry { e_processor processor; /* processor number */ e_type type; /* dreg/creg/greg/insn */ - char *name; /* mnemionic name for insn/register */ + char *name; /* mnemonic name for insn/register */ unsigned long value; /* opcode/instruction mask/register number */ unsigned long flags; /* effects of the instruction */ struct itbl_range range; /* bit range within instruction for value */ @@ -300,7 +299,7 @@ append_insns_as_macros (void) { struct ITBL_OPCODE_STRUCT *new_opcodes, *o; struct itbl_entry *e, **es; - int n, size, new_size, new_num_opcodes; + int n, size, new_num_opcodes; #ifdef USE_MACROS int id; #endif @@ -321,12 +320,9 @@ append_insns_as_macros (void) ASSERT (size >= 0); DBG (("I get=%d\n", size / sizeof (ITBL_OPCODES[0]))); - new_size = sizeof (struct ITBL_OPCODE_STRUCT) * new_num_opcodes; - ASSERT (new_size > size); - - /* FIXME since ITBL_OPCODES culd be a static table, + /* FIXME since ITBL_OPCODES could be a static table, we can't realloc or delete the old memory. */ - new_opcodes = (struct ITBL_OPCODE_STRUCT *) malloc (new_size); + new_opcodes = XNEWVEC (struct ITBL_OPCODE_STRUCT, new_num_opcodes); if (!new_opcodes) { printf (_("Unable to allocate memory for new instructions\n")); @@ -544,7 +540,7 @@ itbl_assemble (char *name, char *s) return 0; /-* error; invalid operand *-/ break; */ - /* If not a symbol, fall thru to IMMED */ + /* If not a symbol, fallthru to IMMED */ case e_immed: if (*n == '0' && *(n + 1) == 'x') /* hex begins 0x... */ { @@ -854,13 +850,11 @@ alloc_entry (e_processor processor, e_type type, struct itbl_entry *e, **es; if (!name) return 0; - e = (struct itbl_entry *) malloc (sizeof (struct itbl_entry)); + e = XNEW (struct itbl_entry); if (e) { memset (e, 0, sizeof (struct itbl_entry)); - e->name = (char *) malloc (sizeof (strlen (name)) + 1); - if (e->name) - strcpy (e->name, name); + e->name = xstrdup (name); e->processor = processor; e->type = type; e->value = value; @@ -878,7 +872,7 @@ alloc_field (e_type type, int sbit, int ebit, unsigned long flags) { struct itbl_field *f; - f = (struct itbl_field *) malloc (sizeof (struct itbl_field)); + f = XNEW (struct itbl_field); if (f) { memset (f, 0, sizeof (struct itbl_field));