X-Git-Url: http://git.efficios.com/?a=blobdiff_plain;f=gas%2Fconfig%2Ftc-mmix.c;h=1514b6d0607d41a4e57afefa20e0d05e37eb2075;hb=aa989b27d0bad451455416953c0e5026e229863a;hp=8d6ca3c8a5dbcaf37ba4223f126537d8ebb32a9e;hpb=d02603dc201f80cd9d2a1f4b1a16110b1e04222b;p=deliverable%2Fbinutils-gdb.git diff --git a/gas/config/tc-mmix.c b/gas/config/tc-mmix.c index 8d6ca3c8a5..1514b6d060 100644 --- a/gas/config/tc-mmix.c +++ b/gas/config/tc-mmix.c @@ -1,5 +1,5 @@ /* tc-mmix.c -- Assembler for Don Knuth's MMIX. - Copyright (C) 2001-2015 Free Software Foundation, Inc. + Copyright (C) 2001-2019 Free Software Foundation, Inc. This file is part of GAS, the GNU Assembler. @@ -186,7 +186,7 @@ int mmix_next_semicolon_is_eoln = 1; /* Do we have a BSPEC in progress? */ static int doing_bspec = 0; -static char *bspec_file; +static const char *bspec_file; static unsigned int bspec_line; struct option md_longopts[] = @@ -395,9 +395,9 @@ const char line_comment_chars[] = "*#"; const char line_separator_chars[] = ";"; -const char mmix_exp_chars[] = "eE"; +const char EXP_CHARS[] = "eE"; -const char mmix_flt_chars[] = "rf"; +const char FLT_CHARS[] = "rf"; /* Fill in the offset-related part of GETA or Bcc. */ @@ -640,7 +640,7 @@ get_putget_operands (struct mmix_opcode *insn, char *operands, /* Handle MMIX-specific option. */ int -md_parse_option (int c, char *arg ATTRIBUTE_UNUSED) +md_parse_option (int c, const char *arg ATTRIBUTE_UNUSED) { switch (c) { @@ -1943,7 +1943,7 @@ s_prefix (int unused ATTRIBUTE_UNUSED) c = get_symbol_name (&p); - /* Reseting prefix? */ + /* Resetting prefix? */ if (*p == ':' && p[1] == 0) mmix_current_prefix = NULL; else @@ -2130,9 +2130,8 @@ s_bspec (int unused ATTRIBUTE_UNUSED) if (sec == NULL) as_fatal (_("can't create section %s"), newsecname); - if (!bfd_set_section_flags (stdoutput, sec, - bfd_get_section_flags (stdoutput, sec) - | SEC_READONLY)) + if (!bfd_set_section_flags (sec, + bfd_section_flags (sec) | SEC_READONLY)) as_fatal (_("can't set section flags for section %s"), newsecname); } @@ -2141,7 +2140,7 @@ s_bspec (int unused ATTRIBUTE_UNUSED) subseg_set (sec, 0); /* Save position for missing ESPEC. */ - as_where (&bspec_file, &bspec_line); + bspec_file = as_where (&bspec_line); doing_bspec = 1; } @@ -2272,12 +2271,12 @@ md_estimate_size_before_relax (fragS *fragP, segT segment) emitted is stored in *sizeP . An error message is returned, or NULL on OK. */ -char * +const char * md_atof (int type, char *litP, int *sizeP) { if (type == 'r') type = 'f'; - /* FIXME: Having 'f' in mmix_flt_chars (and here) makes it + /* FIXME: Having 'f' in FLT_CHARS (and here) makes it problematic to also have a forward reference in an expression. The testsuite wants it, and it's customary. We'll deal with the real problems when they come; we share the @@ -2638,7 +2637,7 @@ tc_gen_reloc (asection *section ATTRIBUTE_UNUSED, fixS *fixP) than just helping the user around this limitation here; hopefully the code using the local expression is around. Putting the LOCAL semantics in a relocation still seems right; a section didn't do. */ - if (bfd_section_size (section->owner, section) == 0) + if (bfd_section_size (section) == 0) as_bad_where (fixP->fx_file, fixP->fx_line, fixP->fx_r_type == BFD_RELOC_MMIX_LOCAL @@ -2708,7 +2707,7 @@ tc_gen_reloc (asection *section ATTRIBUTE_UNUSED, fixS *fixP) resolve the relocation here. */ if (addsy != NULL && (bfd_is_und_section (addsec) - || strcmp (bfd_get_section_name (addsec->owner, addsec), + || strcmp (bfd_section_name (addsec), MMIX_REG_CONTENTS_SECTION_NAME) == 0)) { code = fixP->fx_r_type; @@ -2735,7 +2734,7 @@ tc_gen_reloc (asection *section ATTRIBUTE_UNUSED, fixS *fixP) case BFD_RELOC_MMIX_BASE_PLUS_OFFSET: if (addsy != NULL - && strcmp (bfd_get_section_name (addsec->owner, addsec), + && strcmp (bfd_section_name (addsec), MMIX_REG_CONTENTS_SECTION_NAME) == 0) { /* This changed into a register; the relocation is for the @@ -2838,7 +2837,7 @@ tc_gen_reloc (asection *section ATTRIBUTE_UNUSED, fixS *fixP) case BFD_RELOC_MMIX_REG: if (addsy != NULL && (bfd_is_und_section (addsec) - || strcmp (bfd_get_section_name (addsec->owner, addsec), + || strcmp (bfd_section_name (addsec), MMIX_REG_CONTENTS_SECTION_NAME) == 0)) { code = fixP->fx_r_type; @@ -2874,9 +2873,9 @@ tc_gen_reloc (asection *section ATTRIBUTE_UNUSED, fixS *fixP) return NULL; } - relP = (arelent *) xmalloc (sizeof (arelent)); + relP = XNEW (arelent); gas_assert (relP != 0); - relP->sym_ptr_ptr = (asymbol **) xmalloc (sizeof (asymbol *)); + relP->sym_ptr_ptr = XNEW (asymbol *); *relP->sym_ptr_ptr = baddsy; relP->address = fixP->fx_frag->fr_address + fixP->fx_where; @@ -2939,18 +2938,16 @@ mmix_handle_mmixal (void) caller is about to bump the counters. Adjust the error messages. */ if (is_end_of_line[(unsigned int) *s]) { - char *name; unsigned int line; - as_where (&name, &line); + const char * name = as_where (&line); as_bad_where (name, line + 1, _("[0-9]H labels may not appear alone on a line")); current_fb_label = -1; } if (*s == '.') { - char *name; unsigned int line; - as_where (&name, &line); + const char * name = as_where (&line); as_bad_where (name, line + 1, _("[0-9]H labels do not mix with dot-pseudos")); current_fb_label = -1; @@ -3555,7 +3552,7 @@ mmix_md_end (void) actual_seg = S_GET_SEGMENT (loc_assert->loc_sym); if (actual_seg != loc_assert->old_seg) { - char *fnam; + const char *fnam; unsigned int line; int e_valid = expr_symbol_where (loc_assert->loc_sym, &fnam, &line); @@ -3777,7 +3774,7 @@ mmix_frob_file (void) if (gregs == NULL) { - gregs = xmalloc (sizeof (*gregs)); + gregs = XNEW (struct mmix_symbol_gregs); gregs->n_gregs = 0; symbol_set_tc (sym, &gregs); all_greg_symbols[n_greg_symbols++] = gregs; @@ -3796,7 +3793,7 @@ mmix_frob_file (void) if (real_reg_section != NULL) { /* FIXME: Pass error state gracefully. */ - if (bfd_get_section_flags (stdoutput, real_reg_section) & SEC_HAS_CONTENTS) + if (bfd_section_flags (real_reg_section) & SEC_HAS_CONTENTS) as_fatal (_("register section has contents\n")); bfd_section_list_remove (stdoutput, real_reg_section); @@ -3815,7 +3812,7 @@ int mmix_parse_predefined_name (char *name, expressionS *expP) { char *canon_name; - char *handler_charp; + const char *handler_charp; const char handler_chars[] = "DVWIOUZX"; symbolS *symp; @@ -3926,7 +3923,7 @@ mmix_md_elf_section_change_hook (void) if (doing_bspec) as_bad (_("section change from within a BSPEC/ESPEC pair is not supported")); - last_alignment = bfd_get_section_alignment (now_seg->owner, now_seg); + last_alignment = bfd_section_alignment (now_seg); want_unaligned = 0; } @@ -4091,8 +4088,7 @@ s_loc (int ignore ATTRIBUTE_UNUSED) if (section == undefined_section) { struct loc_assert_s *next = loc_asserts; - loc_asserts - = (struct loc_assert_s *) xmalloc (sizeof (*loc_asserts)); + loc_asserts = XNEW (struct loc_assert_s); loc_asserts->next = next; loc_asserts->old_seg = now_seg; loc_asserts->loc_sym = esym;