gas and ld pluralization fixes
gas/ * as.c (main): Properly pluralize messages. * frags.c (frag_grow): Likewise. * read.c (emit_expr_with_reloc, emit_expr_fix): Likewise. (parse_bitfield_cons): Likewise. * write.c (fixup_segment, compress_debug, write_contents): Likewise. (relax_segment): Likewise. * config/tc-arm.c (s_arm_elf_cons): Likewise. * config/tc-cr16.c (l_cons): Likewise. * config/tc-i370.c (i370_elf_cons): Likewise. * config/tc-m68k.c (m68k_elf_cons): Likewise. * config/tc-msp430.c (msp430_operands): Likewise. * config/tc-s390.c (s390_elf_cons, s390_literals): Likewise. * config/tc-mcore.c (md_apply_fix): Likewise. * config/tc-tic54x.c (md_assemble): Likewise. * config/tc-xtensa.c (xtensa_elf_cons): Likewise. (xg_expand_assembly_insn): Likewise. * config/xtensa-relax.c (build_transition): Likewise. ld/ * ldlang.c (lang_size_sections_1): Properly pluralize messages. (lang_check_section_addresses): Likewise.
This commit is contained in:
parent
f3ce9b3a00
commit
992a06eea4
|
@ -1,3 +1,23 @@
|
|||
2017-11-07 Alan Modra <amodra@gmail.com>
|
||||
|
||||
* as.c (main): Properly pluralize messages.
|
||||
* frags.c (frag_grow): Likewise.
|
||||
* read.c (emit_expr_with_reloc, emit_expr_fix): Likewise.
|
||||
(parse_bitfield_cons): Likewise.
|
||||
* write.c (fixup_segment, compress_debug, write_contents): Likewise.
|
||||
(relax_segment): Likewise.
|
||||
* config/tc-arm.c (s_arm_elf_cons): Likewise.
|
||||
* config/tc-cr16.c (l_cons): Likewise.
|
||||
* config/tc-i370.c (i370_elf_cons): Likewise.
|
||||
* config/tc-m68k.c (m68k_elf_cons): Likewise.
|
||||
* config/tc-msp430.c (msp430_operands): Likewise.
|
||||
* config/tc-s390.c (s390_elf_cons, s390_literals): Likewise.
|
||||
* config/tc-mcore.c (md_apply_fix): Likewise.
|
||||
* config/tc-tic54x.c (md_assemble): Likewise.
|
||||
* config/tc-xtensa.c (xtensa_elf_cons): Likewise.
|
||||
(xg_expand_assembly_insn): Likewise.
|
||||
* config/xtensa-relax.c (build_transition): Likewise.
|
||||
|
||||
2017-11-07 Alan Modra <amodra@gmail.com>
|
||||
|
||||
* asintl.h (textdomain, bindtextdomain): Use safer "do nothing".
|
||||
|
|
13
gas/as.c
13
gas/as.c
|
@ -1316,15 +1316,10 @@ main (int argc, char ** argv)
|
|||
n_warns = had_warnings ();
|
||||
n_errs = had_errors ();
|
||||
|
||||
if (n_warns == 1)
|
||||
sprintf (warn_msg, _("%d warning"), n_warns);
|
||||
else
|
||||
sprintf (warn_msg, _("%d warnings"), n_warns);
|
||||
if (n_errs == 1)
|
||||
sprintf (err_msg, _("%d error"), n_errs);
|
||||
else
|
||||
sprintf (err_msg, _("%d errors"), n_errs);
|
||||
|
||||
sprintf (warn_msg,
|
||||
ngettext ("%d warning", "%d warnings", n_warns), n_warns);
|
||||
sprintf (err_msg,
|
||||
ngettext ("%d error", "%d errors", n_errs), n_errs);
|
||||
if (flag_fatal_warnings && n_warns != 0)
|
||||
{
|
||||
if (n_errs == 0)
|
||||
|
|
|
@ -3552,7 +3552,9 @@ s_arm_elf_cons (int nbytes)
|
|||
}
|
||||
|
||||
if (size > nbytes)
|
||||
as_bad (_("%s relocations do not fit in %d bytes"),
|
||||
as_bad (ngettext ("%s relocations do not fit in %d byte",
|
||||
"%s relocations do not fit in %d bytes",
|
||||
nbytes),
|
||||
howto->name, nbytes);
|
||||
else
|
||||
{
|
||||
|
|
|
@ -178,7 +178,12 @@ l_cons (int nbytes)
|
|||
if ((width = exp.X_add_number) >
|
||||
(unsigned int)(BITS_PER_CHAR * nbytes))
|
||||
{
|
||||
as_warn (_("field width %lu too big to fit in %d bytes: truncated to %d bits"), width, nbytes, (BITS_PER_CHAR * nbytes));
|
||||
as_warn (ngettext ("field width %lu too big to fit in %d"
|
||||
" byte: truncated to %d bits",
|
||||
"field width %lu too big to fit in %d"
|
||||
" bytes: truncated to %d bits",
|
||||
nbytes),
|
||||
width, nbytes, (BITS_PER_CHAR * nbytes));
|
||||
width = BITS_PER_CHAR * nbytes;
|
||||
} /* Too big. */
|
||||
|
||||
|
|
|
@ -680,7 +680,9 @@ i370_elf_cons (int nbytes) /* 1=.byte, 2=.word, 4=.long. */
|
|||
int size = bfd_get_reloc_size (reloc_howto);
|
||||
|
||||
if (size > nbytes)
|
||||
as_bad (_("%s relocations do not fit in %d bytes\n"),
|
||||
as_bad (ngettext ("%s relocations do not fit in %u byte",
|
||||
"%s relocations do not fit in %u bytes",
|
||||
nbytes),
|
||||
reloc_howto->name, nbytes);
|
||||
else
|
||||
{
|
||||
|
|
|
@ -8068,7 +8068,9 @@ m68k_elf_cons (int nbytes /* 4=.long */)
|
|||
|
||||
if (size > nbytes)
|
||||
{
|
||||
as_bad (_("%s relocations do not fit in %d bytes\n"),
|
||||
as_bad (ngettext ("%s relocations do not fit in %u byte",
|
||||
"%s relocations do not fit in %u bytes",
|
||||
nbytes),
|
||||
reloc_howto->name, nbytes);
|
||||
}
|
||||
else
|
||||
|
|
|
@ -1947,7 +1947,10 @@ md_apply_fix (fixS * fixP,
|
|||
case BFD_RELOC_MCORE_PCREL_IMM11BY2:
|
||||
if ((val & 1) != 0)
|
||||
as_bad_where (file, fixP->fx_line,
|
||||
_("odd distance branch (0x%lx bytes)"), (long) val);
|
||||
ngettext ("odd distance branch (0x%lx byte)",
|
||||
"odd distance branch (0x%lx bytes)",
|
||||
(long) val),
|
||||
(long) val);
|
||||
val /= 2;
|
||||
if (((val & ~0x3ff) != 0) && ((val | 0x3ff) != -1))
|
||||
as_bad_where (file, fixP->fx_line,
|
||||
|
|
|
@ -2601,7 +2601,9 @@ msp430_operands (struct msp430_opcode_s * opcode, char * line)
|
|||
&& opcode->insn_opnumb
|
||||
&& (!*line || *line == '\n'))
|
||||
{
|
||||
as_bad (_("instruction %s requires %d operand(s)"),
|
||||
as_bad (ngettext ("instruction %s requires %d operand",
|
||||
"instruction %s requires %d operands",
|
||||
opcode->insn_opnumb),
|
||||
opcode->name, opcode->insn_opnumb);
|
||||
return 0;
|
||||
}
|
||||
|
|
|
@ -1206,7 +1206,9 @@ s390_elf_cons (int nbytes /* 1=.byte, 2=.word, 4=.long */)
|
|||
{
|
||||
size = bfd_get_reloc_size (reloc_howto);
|
||||
if (size > nbytes)
|
||||
as_bad (_("%s relocations do not fit in %d bytes"),
|
||||
as_bad (ngettext ("%s relocations do not fit in %d byte",
|
||||
"%s relocations do not fit in %d bytes",
|
||||
nbytes),
|
||||
reloc_howto->name, nbytes);
|
||||
where = frag_more (nbytes);
|
||||
md_number_to_chars (where, 0, size);
|
||||
|
@ -1860,7 +1862,9 @@ s390_literals (int ignore ATTRIBUTE_UNUSED)
|
|||
char *where;
|
||||
|
||||
if (size > lpe->nbytes)
|
||||
as_bad (_("%s relocations do not fit in %d bytes"),
|
||||
as_bad (ngettext ("%s relocations do not fit in %d byte",
|
||||
"%s relocations do not fit in %d bytes",
|
||||
lpe->nbytes),
|
||||
reloc_howto->name, lpe->nbytes);
|
||||
where = frag_more (lpe->nbytes);
|
||||
md_number_to_chars (where, 0, size);
|
||||
|
|
|
@ -4843,8 +4843,11 @@ md_assemble (char *line)
|
|||
{
|
||||
if (words > delay_slots)
|
||||
{
|
||||
as_bad (_("Instruction does not fit in available delay "
|
||||
"slots (%d-word insn, %d slots left)"),
|
||||
as_bad (ngettext ("Instruction does not fit in available "
|
||||
"delay slots (%d-word insn, %d slot left)",
|
||||
"Instruction does not fit in available "
|
||||
"delay slots (%d-word insn, %d slots left)",
|
||||
delay_slots),
|
||||
words, delay_slots);
|
||||
delay_slots = 0;
|
||||
return;
|
||||
|
@ -4915,9 +4918,13 @@ md_assemble (char *line)
|
|||
{
|
||||
if (words > delay_slots)
|
||||
{
|
||||
as_warn (_("Instruction does not fit in available delay "
|
||||
"slots (%d-word insn, %d slots left). "
|
||||
"Resulting behavior is undefined."),
|
||||
as_warn (ngettext ("Instruction does not fit in available "
|
||||
"delay slots (%d-word insn, %d slot left). "
|
||||
"Resulting behavior is undefined.",
|
||||
"Instruction does not fit in available "
|
||||
"delay slots (%d-word insn, %d slots left). "
|
||||
"Resulting behavior is undefined.",
|
||||
delay_slots),
|
||||
words, delay_slots);
|
||||
delay_slots = 0;
|
||||
return;
|
||||
|
|
|
@ -1660,7 +1660,9 @@ xtensa_elf_cons (int nbytes)
|
|||
as_bad (_("opcode-specific %s relocation used outside "
|
||||
"an instruction"), reloc_howto->name);
|
||||
else if (nbytes != (int) bfd_get_reloc_size (reloc_howto))
|
||||
as_bad (_("%s relocations do not fit in %d bytes"),
|
||||
as_bad (ngettext ("%s relocations do not fit in %d byte",
|
||||
"%s relocations do not fit in %d bytes",
|
||||
nbytes),
|
||||
reloc_howto->name, nbytes);
|
||||
else if (reloc == BFD_RELOC_XTENSA_TLS_FUNC
|
||||
|| reloc == BFD_RELOC_XTENSA_TLS_ARG
|
||||
|
@ -4014,14 +4016,18 @@ xg_expand_assembly_insn (IStack *istack, TInsn *orig_insn)
|
|||
orig_insn->opcode);
|
||||
if (orig_insn->ntok < noperands)
|
||||
{
|
||||
as_bad (_("found %d operands for '%s': Expected %d"),
|
||||
as_bad (ngettext ("found %d operand for '%s': Expected %d",
|
||||
"found %d operands for '%s': Expected %d",
|
||||
orig_insn->ntok),
|
||||
orig_insn->ntok,
|
||||
xtensa_opcode_name (xtensa_default_isa, orig_insn->opcode),
|
||||
noperands);
|
||||
return TRUE;
|
||||
}
|
||||
if (orig_insn->ntok > noperands)
|
||||
as_warn (_("found too many (%d) operands for '%s': Expected %d"),
|
||||
as_warn (ngettext ("found %d operand for '%s': Expected %d",
|
||||
"found %d operands for '%s': Expected %d",
|
||||
orig_insn->ntok),
|
||||
orig_insn->ntok,
|
||||
xtensa_opcode_name (xtensa_default_isa, orig_insn->opcode),
|
||||
noperands);
|
||||
|
|
|
@ -1764,7 +1764,9 @@ build_transition (insn_pattern *initial_insn,
|
|||
/* Check for the right number of ops. */
|
||||
if (xtensa_opcode_num_operands (isa, bi->opcode)
|
||||
!= (int) operand_count)
|
||||
as_fatal (_("opcode '%s': replacement does not have %d ops"),
|
||||
as_fatal (ngettext ("opcode '%s': replacement does not have %d op",
|
||||
"opcode '%s': replacement does not have %d ops",
|
||||
xtensa_opcode_num_operands (isa, bi->opcode)),
|
||||
opcode_name,
|
||||
xtensa_opcode_num_operands (isa, bi->opcode));
|
||||
}
|
||||
|
|
|
@ -112,7 +112,10 @@ frag_grow (size_t nchars)
|
|||
|
||||
/* Check for possible overflow. */
|
||||
if (newc < nchars)
|
||||
as_fatal (_("can't extend frag %lu chars"), (unsigned long) nchars);
|
||||
as_fatal (ngettext ("can't extend frag %lu char",
|
||||
"can't extend frag %lu chars",
|
||||
(unsigned long) nchars),
|
||||
(unsigned long) nchars);
|
||||
|
||||
/* Force to allocate at least NEWC bytes, but not less than the
|
||||
default. */
|
||||
|
|
15
gas/read.c
15
gas/read.c
|
@ -4489,7 +4489,10 @@ emit_expr_with_reloc (expressionS *exp,
|
|||
}
|
||||
|
||||
if (i < exp->X_add_number)
|
||||
as_warn (_("bignum truncated to %d bytes"), nbytes);
|
||||
as_warn (ngettext ("bignum truncated to %d byte",
|
||||
"bignum truncated to %d bytes",
|
||||
nbytes),
|
||||
nbytes);
|
||||
size = nbytes;
|
||||
}
|
||||
|
||||
|
@ -4565,7 +4568,9 @@ emit_expr_fix (expressionS *exp, unsigned int nbytes, fragS *frag, char *p,
|
|||
|
||||
if (size > nbytes)
|
||||
{
|
||||
as_bad (_("%s relocations do not fit in %u bytes\n"),
|
||||
as_bad (ngettext ("%s relocations do not fit in %u byte",
|
||||
"%s relocations do not fit in %u bytes",
|
||||
nbytes),
|
||||
reloc_howto->name, nbytes);
|
||||
return;
|
||||
}
|
||||
|
@ -4674,7 +4679,11 @@ parse_bitfield_cons (expressionS *exp, unsigned int nbytes)
|
|||
|
||||
if ((width = exp->X_add_number) > (BITS_PER_CHAR * nbytes))
|
||||
{
|
||||
as_warn (_("field width %lu too big to fit in %d bytes: truncated to %d bits"),
|
||||
as_warn (ngettext ("field width %lu too big to fit in %d byte:"
|
||||
" truncated to %d bits",
|
||||
"field width %lu too big to fit in %d bytes:"
|
||||
" truncated to %d bits",
|
||||
nbytes),
|
||||
width, nbytes, (BITS_PER_CHAR * nbytes));
|
||||
width = BITS_PER_CHAR * nbytes;
|
||||
} /* Too big. */
|
||||
|
|
47
gas/write.c
47
gas/write.c
|
@ -1106,7 +1106,11 @@ fixup_segment (fixS *fixP, segT this_segment)
|
|||
else
|
||||
sprintf (buf2, "%ld", (long) add_number);
|
||||
as_bad_where (fixP->fx_file, fixP->fx_line,
|
||||
_("value of %s too large for field of %d bytes at %s"),
|
||||
ngettext ("value of %s too large for field "
|
||||
"of %d byte at %s",
|
||||
"value of %s too large for field "
|
||||
"of %d bytes at %s",
|
||||
fixP->fx_size),
|
||||
buf2, fixP->fx_size, buf);
|
||||
} /* Generic error checking. */
|
||||
}
|
||||
|
@ -1458,7 +1462,10 @@ compress_debug (bfd *abfd, asection *sec, void *xxx ATTRIBUTE_UNUSED)
|
|||
if (obstack_room (ob) < header_size)
|
||||
first_newf = frag_alloc (ob);
|
||||
if (obstack_room (ob) < header_size)
|
||||
as_fatal (_("can't extend frag %u chars"), header_size);
|
||||
as_fatal (ngettext ("can't extend frag %lu char",
|
||||
"can't extend frag %lu chars",
|
||||
(unsigned long) header_size),
|
||||
(unsigned long) header_size);
|
||||
last_newf = first_newf;
|
||||
obstack_blank_fast (ob, header_size);
|
||||
last_newf->fr_type = rs_fill;
|
||||
|
@ -1593,9 +1600,13 @@ write_contents (bfd *abfd ATTRIBUTE_UNUSED,
|
|||
f->fr_literal, (file_ptr) offset,
|
||||
(bfd_size_type) f->fr_fix);
|
||||
if (!x)
|
||||
as_fatal (_("can't write %ld bytes to section %s of %s because: '%s'"),
|
||||
(long) f->fr_fix, sec->name,
|
||||
stdoutput->filename,
|
||||
as_fatal (ngettext ("can't write %ld byte "
|
||||
"to section %s of %s: '%s'",
|
||||
"can't write %ld bytes "
|
||||
"to section %s of %s: '%s'",
|
||||
(long) f->fr_fix),
|
||||
(long) f->fr_fix,
|
||||
sec->name, stdoutput->filename,
|
||||
bfd_errmsg (bfd_get_error ()));
|
||||
offset += f->fr_fix;
|
||||
}
|
||||
|
@ -1616,9 +1627,13 @@ write_contents (bfd *abfd ATTRIBUTE_UNUSED,
|
|||
(file_ptr) offset,
|
||||
(bfd_size_type) fill_size);
|
||||
if (!x)
|
||||
as_fatal (_("can't fill %ld bytes in section %s of %s because '%s'"),
|
||||
(long) fill_size, sec->name,
|
||||
stdoutput->filename,
|
||||
as_fatal (ngettext ("can't fill %ld byte "
|
||||
"in section %s of %s: '%s'",
|
||||
"can't fill %ld bytes "
|
||||
"in section %s of %s: '%s'",
|
||||
(long) fill_size),
|
||||
(long) fill_size,
|
||||
sec->name, stdoutput->filename,
|
||||
bfd_errmsg (bfd_get_error ()));
|
||||
offset += fill_size;
|
||||
}
|
||||
|
@ -1648,9 +1663,13 @@ write_contents (bfd *abfd ATTRIBUTE_UNUSED,
|
|||
(stdoutput, sec, buf, (file_ptr) offset,
|
||||
(bfd_size_type) n_per_buf * fill_size);
|
||||
if (!x)
|
||||
as_fatal (_("cannot fill %ld bytes in section %s of %s because: '%s'"),
|
||||
(long)(n_per_buf * fill_size), sec->name,
|
||||
stdoutput->filename,
|
||||
as_fatal (ngettext ("can't fill %ld byte "
|
||||
"in section %s of %s: '%s'",
|
||||
"can't fill %ld bytes "
|
||||
"in section %s of %s: '%s'",
|
||||
(long) (n_per_buf * fill_size)),
|
||||
(long) (n_per_buf * fill_size),
|
||||
sec->name, stdoutput->filename,
|
||||
bfd_errmsg (bfd_get_error ()));
|
||||
offset += n_per_buf * fill_size;
|
||||
}
|
||||
|
@ -2422,7 +2441,11 @@ relax_segment (struct frag *segment_frag_root, segT segment, int pass)
|
|||
if (offset % fragP->fr_var != 0)
|
||||
{
|
||||
as_bad_where (fragP->fr_file, fragP->fr_line,
|
||||
_("alignment padding (%lu bytes) not a multiple of %ld"),
|
||||
ngettext ("alignment padding (%lu byte) "
|
||||
"not a multiple of %ld",
|
||||
"alignment padding (%lu bytes) "
|
||||
"not a multiple of %ld",
|
||||
(unsigned long) offset),
|
||||
(unsigned long) offset, (long) fragP->fr_var);
|
||||
offset -= (offset % fragP->fr_var);
|
||||
}
|
||||
|
|
|
@ -1,3 +1,8 @@
|
|||
2017-11-07 Alan Modra <amodra@gmail.com>
|
||||
|
||||
* ldlang.c (lang_size_sections_1): Properly pluralize messages.
|
||||
(lang_check_section_addresses): Likewise.
|
||||
|
||||
2017-11-07 Alan Modra <amodra@gmail.com>
|
||||
|
||||
* ld.h (textdomain, bindtextdomain): Use safer "do nothing".
|
||||
|
|
16
ld/ldlang.c
16
ld/ldlang.c
|
@ -4929,8 +4929,13 @@ lang_check_section_addresses (void)
|
|||
a bfd_vma quantity in decimal. */
|
||||
for (m = lang_memory_region_list; m; m = m->next)
|
||||
if (m->had_full_message)
|
||||
einfo (_("%X%P: region `%s' overflowed by %ld bytes\n"),
|
||||
m->name_list.name, (long)(m->current - (m->origin + m->length)));
|
||||
{
|
||||
unsigned long over = m->current - (m->origin + m->length);
|
||||
einfo (ngettext ("%X%P: region `%s' overflowed by %lu byte\n",
|
||||
"%X%P: region `%s' overflowed by %lu bytes\n",
|
||||
over),
|
||||
m->name_list.name, over);
|
||||
}
|
||||
}
|
||||
|
||||
/* Make sure the new address is within the region. We explicitly permit the
|
||||
|
@ -5130,8 +5135,11 @@ lang_size_sections_1
|
|||
&& (config.warn_section_align
|
||||
|| os->addr_tree != NULL)
|
||||
&& expld.phase != lang_mark_phase_enum)
|
||||
einfo (_("%P: warning: changing start of section"
|
||||
" %s by %lu bytes\n"),
|
||||
einfo (ngettext ("%P: warning: changing start of "
|
||||
"section %s by %lu byte\n",
|
||||
"%P: warning: changing start of "
|
||||
"section %s by %lu bytes\n",
|
||||
(unsigned long) dotdelta),
|
||||
os->name, (unsigned long) dotdelta);
|
||||
}
|
||||
|
||||
|
|
Loading…
Reference in New Issue