X-Git-Url: http://drtracing.org/?a=blobdiff_plain;f=gas%2Fconfig%2Ftc-dlx.c;h=b636cece1a7d64f3b40b2b402be631cba10865d7;hb=4179a6a209f22354a605413e0de9ac10331c108b;hp=da962db0d3b228d9b2b48b8351f68f7bca229c29;hpb=b90efa5b79ac1524ec260f8eb89d1be37e0219a7;p=deliverable%2Fbinutils-gdb.git diff --git a/gas/config/tc-dlx.c b/gas/config/tc-dlx.c index da962db0d3..b636cece1a 100644 --- a/gas/config/tc-dlx.c +++ b/gas/config/tc-dlx.c @@ -1,5 +1,5 @@ /* tc-dlx.c -- Assemble for the DLX - Copyright (C) 2002-2015 Free Software Foundation, Inc. + Copyright (C) 2002-2016 Free Software Foundation, Inc. This file is part of GAS, the GNU Assembler. @@ -84,7 +84,7 @@ const char EXP_CHARS[] = "eE"; const char FLT_CHARS[] = "rRsSfFdDxXpP"; static void -insert_sreg (char *regname, int regnum) +insert_sreg (const char *regname, int regnum) { /* Must be large enough to hold the names of the special registers. */ char buf[80]; @@ -153,7 +153,7 @@ match_sft_register (char *name) #define MAX_REG_NO 35 /* Currently we have 35 software registers defined - we borrowed from MIPS. */ - static char *soft_reg[] = + static const char *soft_reg[] = { "zero", "at", "v0", "v1", "a0", "a1", "a2", "a3", "t0", "t1", "t2", "t3", "t4", "t5", "t6", "t7", "t8", "t9", @@ -230,11 +230,10 @@ s_proc (int end_p) return; } - name = input_line_pointer; - delim1 = get_symbol_end (); + delim1 = get_symbol_name (&name); name = xstrdup (name); *input_line_pointer = delim1; - SKIP_WHITESPACE (); + SKIP_WHITESPACE_AFTER_NAME (); if (*input_line_pointer != ',') { @@ -246,7 +245,7 @@ s_proc (int end_p) if (leading_char) { unsigned len = strlen (name) + 1; - label = xmalloc (len + 1); + label = XNEWVEC (char, len + 1); label[0] = leading_char; memcpy (label + 1, name, len); } @@ -257,10 +256,9 @@ s_proc (int end_p) { ++input_line_pointer; SKIP_WHITESPACE (); - label = input_line_pointer; - delim2 = get_symbol_end (); + delim2 = get_symbol_name (&label); label = xstrdup (label); - *input_line_pointer = delim2; + (void) restore_line_pointer (delim2); } current_name = name; @@ -803,7 +801,7 @@ machine_ip (char *str) continue; } - the_insn.reloc = (the_insn.HI) ? RELOC_DLX_HI16 + the_insn.reloc = (the_insn.HI) ? RELOC_DLX_HI16 : (the_insn.LO ? RELOC_DLX_LO16 : RELOC_DLX_16); the_insn.reloc_offset = 2; the_insn.size = 2; @@ -932,7 +930,7 @@ md_assemble (char *str) switch (fixP->fx_r_type) { case RELOC_DLX_REL26: - bitP = malloc (sizeof (bit_fixS)); + bitP = XNEW (bit_fixS); bitP->fx_bit_size = 26; bitP->fx_bit_offset = 25; bitP->fx_bit_base = the_insn.opcode & 0xFC000000; @@ -944,7 +942,7 @@ md_assemble (char *str) break; case RELOC_DLX_LO16: case RELOC_DLX_REL16: - bitP = malloc (sizeof (bit_fixS)); + bitP = XNEW (bit_fixS); bitP->fx_bit_size = 16; bitP->fx_bit_offset = 15; bitP->fx_bit_base = the_insn.opcode & 0xFFFF0000; @@ -955,7 +953,7 @@ md_assemble (char *str) fixP->fx_bit_fixP = bitP; break; case RELOC_DLX_HI16: - bitP = malloc (sizeof (bit_fixS)); + bitP = XNEW (bit_fixS); bitP->fx_bit_size = 16; bitP->fx_bit_offset = 15; bitP->fx_bit_base = the_insn.opcode & 0xFFFF0000; @@ -976,7 +974,7 @@ md_assemble (char *str) but I'm not sure. Dlx will not use it anyway, so I just leave it here for now. */ -char * +const char * md_atof (int type, char *litP, int *sizeP) { return ieee_md_atof (type, litP, sizeP, TRUE); @@ -1078,7 +1076,7 @@ size_t md_longopts_size = sizeof (md_longopts); int md_parse_option (int c ATTRIBUTE_UNUSED, - char *arg ATTRIBUTE_UNUSED) + const char *arg ATTRIBUTE_UNUSED) { return 0; } @@ -1189,7 +1187,7 @@ tc_gen_reloc (asection *section ATTRIBUTE_UNUSED, { arelent * reloc; - reloc = xmalloc (sizeof (arelent)); + reloc = XNEW (arelent); reloc->howto = bfd_reloc_type_lookup (stdoutput, fixP->fx_r_type); if (reloc->howto == NULL) @@ -1203,7 +1201,7 @@ tc_gen_reloc (asection *section ATTRIBUTE_UNUSED, gas_assert (!fixP->fx_pcrel == !reloc->howto->pc_relative); - reloc->sym_ptr_ptr = xmalloc (sizeof (asymbol *)); + reloc->sym_ptr_ptr = XNEW (asymbol *); *reloc->sym_ptr_ptr = symbol_get_bfdsym (fixP->fx_addsy); reloc->address = fixP->fx_frag->fr_address + fixP->fx_where;