aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--gas/ChangeLog20
-rw-r--r--gas/as.c13
-rw-r--r--gas/config/tc-arm.c4
-rw-r--r--gas/config/tc-cr16.c7
-rw-r--r--gas/config/tc-i370.c4
-rw-r--r--gas/config/tc-m68k.c4
-rw-r--r--gas/config/tc-mcore.c5
-rw-r--r--gas/config/tc-msp430.c4
-rw-r--r--gas/config/tc-s390.c8
-rw-r--r--gas/config/tc-tic54x.c17
-rw-r--r--gas/config/tc-xtensa.c12
-rw-r--r--gas/config/xtensa-relax.c4
-rw-r--r--gas/frags.c5
-rw-r--r--gas/read.c15
-rw-r--r--gas/write.c47
-rw-r--r--ld/ChangeLog5
-rw-r--r--ld/ldlang.c16
17 files changed, 144 insertions, 46 deletions
diff --git a/gas/ChangeLog b/gas/ChangeLog
index 7ad6938..ee42ab5 100644
--- a/gas/ChangeLog
+++ b/gas/ChangeLog
@@ -1,5 +1,25 @@
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".
(ngettext, dngettext, dcngettext): Define when !ENABLE_NLS.
diff --git a/gas/as.c b/gas/as.c
index 4717559..31e6280 100644
--- a/gas/as.c
+++ b/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)
diff --git a/gas/config/tc-arm.c b/gas/config/tc-arm.c
index f52cf7f..86d6ea5 100644
--- a/gas/config/tc-arm.c
+++ b/gas/config/tc-arm.c
@@ -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
{
diff --git a/gas/config/tc-cr16.c b/gas/config/tc-cr16.c
index 4205a77..fce52c1 100644
--- a/gas/config/tc-cr16.c
+++ b/gas/config/tc-cr16.c
@@ -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. */
diff --git a/gas/config/tc-i370.c b/gas/config/tc-i370.c
index 995aa4c..a6838b1 100644
--- a/gas/config/tc-i370.c
+++ b/gas/config/tc-i370.c
@@ -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
{
diff --git a/gas/config/tc-m68k.c b/gas/config/tc-m68k.c
index 04e57f4..cba07e2 100644
--- a/gas/config/tc-m68k.c
+++ b/gas/config/tc-m68k.c
@@ -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
diff --git a/gas/config/tc-mcore.c b/gas/config/tc-mcore.c
index 2ffb241..21fcc69 100644
--- a/gas/config/tc-mcore.c
+++ b/gas/config/tc-mcore.c
@@ -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,
diff --git a/gas/config/tc-msp430.c b/gas/config/tc-msp430.c
index 6f3acdf..a56e7f2 100644
--- a/gas/config/tc-msp430.c
+++ b/gas/config/tc-msp430.c
@@ -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;
}
diff --git a/gas/config/tc-s390.c b/gas/config/tc-s390.c
index 84b2e27..48a2f9b 100644
--- a/gas/config/tc-s390.c
+++ b/gas/config/tc-s390.c
@@ -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);
diff --git a/gas/config/tc-tic54x.c b/gas/config/tc-tic54x.c
index f7dc0f5..ea6c57f 100644
--- a/gas/config/tc-tic54x.c
+++ b/gas/config/tc-tic54x.c
@@ -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;
diff --git a/gas/config/tc-xtensa.c b/gas/config/tc-xtensa.c
index 836b550..a73abd0 100644
--- a/gas/config/tc-xtensa.c
+++ b/gas/config/tc-xtensa.c
@@ -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);
diff --git a/gas/config/xtensa-relax.c b/gas/config/xtensa-relax.c
index 82f1d03..97939e1 100644
--- a/gas/config/xtensa-relax.c
+++ b/gas/config/xtensa-relax.c
@@ -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));
}
diff --git a/gas/frags.c b/gas/frags.c
index 7997422..c502017 100644
--- a/gas/frags.c
+++ b/gas/frags.c
@@ -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. */
diff --git a/gas/read.c b/gas/read.c
index 9f2909f..17e8162 100644
--- a/gas/read.c
+++ b/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. */
diff --git a/gas/write.c b/gas/write.c
index df88905..690852c 100644
--- a/gas/write.c
+++ b/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);
}
diff --git a/ld/ChangeLog b/ld/ChangeLog
index 48d771f..a76dde7 100644
--- a/ld/ChangeLog
+++ b/ld/ChangeLog
@@ -1,5 +1,10 @@
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".
(ngettext, dngettext, dcngettext): Define when !ENABLE_NLS.
diff --git a/ld/ldlang.c b/ld/ldlang.c
index 3ed7078..b89c4e6 100644
--- a/ld/ldlang.c
+++ b/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);
}