readelf ngettext fixes

Alan Modra amodra@gmail.com
Tue Nov 7 08:24:00 GMT 2017


This patch is a first pass at fixing readelf message pluralization.
I've deliberately not fixed the "out of memory" errors since it's very
unlikely that they will ever be complaining about not being able to
allocate for a single entry, and a few others where the size is very
unlikely to be 1 byte.

Then there are messages like this one:
"Out of %lu items there are %zu bucket clashes (longest of %zu entries).\n"
I suppose this could be split into three parts, "Of %lu items ",
"there are %zu bucket clashes ", and "(longest of %zu entries).\n",
each part being printed separately, but that might not be ideal for
sentence construction in other languages.  For now I'm punting on this
one.

Changes to readelf output require lots of testsuite adjustment..

binutils/
	* dwarf.c (read_uleb128): Properly pluralize messages.
	(display_debug_lines_raw, display_debug_loc): Likewise.
	(display_debug_names, process_cu_tu_index): Likewise.
	* od-macho.c (dump_code_signature_superblob): Likewise.
	* readelf.c (process_program_headers): Likewise.
	(process_section_header, process_relocs): Likewise.
	(hppa_process_unwind, arm_process_unwind): Likewise.
	(process_dynamic_section, process_version_sections): Likewise.
	(process_symbol_table, process_syminfo): Likewise.
	(apply_relocations, process_mips_specific): Likewise.
	(process_gnu_liblist, process_notes_at): Likewise.
	(process_archive): Likewise.
	* testsuite/binutils-all/dw2-1.W,
	* testsuite/binutils-all/dw2-3.W,
	* testsuite/binutils-all/dw2-3gabi.W,
	* testsuite/binutils-all/dw5.S,
	* testsuite/binutils-all/dw5.W,
	* testsuite/binutils-all/i386/compressed-1a.d,
	* testsuite/binutils-all/libdw2-compressedgabi.out,
	* testsuite/binutils-all/objdump.W,
	* testsuite/binutils-all/readelf.r,
	* testsuite/binutils-all/readelf.r-64,
	* testsuite/binutils-all/x86-64/compressed-1a.d: Update
	for pluralization fixes.
gas/
	* testsuite/gas/arm/got_prel.d,
	* testsuite/gas/elf/dwarf2-1.d,
	* testsuite/gas/elf/dwarf2-2.d,
	* testsuite/gas/elf/dwarf2-3.d,
	* testsuite/gas/elf/dwarf2-5.d,
	* testsuite/gas/elf/dwarf2-6.d,
	* testsuite/gas/i386/debug1.d,
	* testsuite/gas/i386/dw2-compress-1.d,
	* testsuite/gas/i386/dw2-compress-3a.d,
	* testsuite/gas/i386/dw2-compress-3b.d,
	* testsuite/gas/i386/dw2-compressed-1.d,
	* testsuite/gas/i386/dw2-compressed-3a.d,
	* testsuite/gas/i386/dw2-compressed-3b.d,
	* testsuite/gas/i386/ilp32/x86-64-localpic.d,
	* testsuite/gas/i386/localpic.d,
	* testsuite/gas/i386/x86-64-localpic.d,
	* testsuite/gas/ia64/pr13167.d,
	* testsuite/gas/mips/loc-swap-2.d,
	* testsuite/gas/mips/loc-swap.d,
	* testsuite/gas/mips/micromips@loc-swap-2.d,
	* testsuite/gas/mips/micromips@loc-swap.d,
	* testsuite/gas/mips/mips16-dwarf2-n32.d,
	* testsuite/gas/mips/mips16-dwarf2.d,
	* testsuite/gas/mips/mips16@loc-swap-2.d,
	* testsuite/gas/mips/mips16@loc-swap.d,
	* testsuite/gas/mips/mips16e@loc-swap.d,
	* testsuite/gas/mmix/bspec-1.d,
	* testsuite/gas/mmix/bspec-2.d,
	* testsuite/gas/tic6x/unwind-1.d,
	* testsuite/gas/tic6x/unwind-2.d,
	* testsuite/gas/tic6x/unwind-3.d: Update for pluralization
	fixes.
ld/
	* testsuite/ld-aarch64/ifunc-13.d,
	* testsuite/ld-aarch64/ifunc-15.d,
	* testsuite/ld-aarch64/ifunc-20.d,
	* testsuite/ld-alpha/tlsbin.rd,
	* testsuite/ld-alpha/tlspic.rd,
	* testsuite/ld-arm/ifunc-3.rd,
	* testsuite/ld-arm/ifunc-9.rd,
	* testsuite/ld-arm/unwind-mix.d,
	* testsuite/ld-arm/unwind-rel.d,
	* testsuite/ld-cris/hiddef1.d,
	* testsuite/ld-cris/libdso-13.d,
	* testsuite/ld-cris/libdso-2.d,
	* testsuite/ld-cris/pr16044.d,
	* testsuite/ld-cris/tls-local-63.d,
	* testsuite/ld-cris/tls-local-64.d,
	* testsuite/ld-cris/tls-und-38.d,
	* testsuite/ld-cris/tls-und-42.d,
	* testsuite/ld-cris/tls-und-46.d,
	* testsuite/ld-cris/tls-und-50.d,
	* testsuite/ld-cris/weakref3.d,
	* testsuite/ld-cris/weakref4.d,
	* testsuite/ld-elf/comm-data2r.rd,
	* testsuite/ld-elf/discard1.d,
	* testsuite/ld-elf/discard2.d,
	* testsuite/ld-elf/pr19539.d,
	* testsuite/ld-elf/pr22374-1.r,
	* testsuite/ld-elf/pr22374-2.r,
	* testsuite/ld-i386/combreloc.d,
	* testsuite/ld-i386/emit-relocs-nacl.rd,
	* testsuite/ld-i386/emit-relocs.rd,
	* testsuite/ld-i386/pr13302.d,
	* testsuite/ld-i386/pr17709-nacl.rd,
	* testsuite/ld-i386/pr17709.rd,
	* testsuite/ld-i386/pr19539.d,
	* testsuite/ld-i386/pr19615.d,
	* testsuite/ld-i386/pr19636-1a.d,
	* testsuite/ld-i386/pr19636-1e.d,
	* testsuite/ld-i386/pr19636-1f.d,
	* testsuite/ld-i386/pr19636-2a.d,
	* testsuite/ld-i386/pr19636-2b.d,
	* testsuite/ld-i386/pr19636-2d-nacl.d,
	* testsuite/ld-i386/pr19636-2e-nacl.d,
	* testsuite/ld-i386/pr19636-3a.d,
	* testsuite/ld-i386/pr19636-3d.d,
	* testsuite/ld-i386/pr19636-3e.d,
	* testsuite/ld-i386/pr19636-4a.d,
	* testsuite/ld-i386/pr19645.d,
	* testsuite/ld-i386/pr19827-nacl.rd,
	* testsuite/ld-i386/pr19827.rd,
	* testsuite/ld-i386/pr20253-4a.d,
	* testsuite/ld-i386/pr20253-4b.d,
	* testsuite/ld-i386/pr20253-5.d,
	* testsuite/ld-i386/tlsbin-nacl.rd,
	* testsuite/ld-i386/tlsbin.rd,
	* testsuite/ld-i386/tlspic-nacl.rd,
	* testsuite/ld-i386/tlspic.rd,
	* testsuite/ld-i386/undefweakb.d,
	* testsuite/ld-ia64/tlsbin.rd,
	* testsuite/ld-ia64/tlspic.rd,
	* testsuite/ld-ifunc/ifunc-13-i386.d,
	* testsuite/ld-ifunc/ifunc-13-x86-64.d,
	* testsuite/ld-ifunc/ifunc-15-i386.d,
	* testsuite/ld-ifunc/ifunc-15-x86-64.d,
	* testsuite/ld-ifunc/ifunc-20-i386.d,
	* testsuite/ld-ifunc/ifunc-20-x86-64.d,
	* testsuite/ld-ifunc/ifunc-23a-x86.d,
	* testsuite/ld-ifunc/ifunc-23b-x86.d,
	* testsuite/ld-ifunc/ifunc-23c-x86.d,
	* testsuite/ld-ifunc/ifunc-24a-x86.d,
	* testsuite/ld-ifunc/ifunc-24b-x86.d,
	* testsuite/ld-ifunc/ifunc-24c-x86.d,
	* testsuite/ld-ifunc/ifunc-25a-x86.d,
	* testsuite/ld-ifunc/ifunc-25b-x86.d,
	* testsuite/ld-ifunc/ifunc-25c-x86.d,
	* testsuite/ld-m68k/got-1.d,
	* testsuite/ld-mips-elf/vxworks1.rd,
	* testsuite/ld-powerpc/ambiguousv1.d,
	* testsuite/ld-powerpc/ambiguousv1b.d,
	* testsuite/ld-powerpc/ambiguousv2.d,
	* testsuite/ld-powerpc/ambiguousv2b.d,
	* testsuite/ld-powerpc/tlsexe.r,
	* testsuite/ld-powerpc/tlsexe32.r,
	* testsuite/ld-powerpc/tlsexetoc.r,
	* testsuite/ld-powerpc/tlsso.r,
	* testsuite/ld-powerpc/tlsso32.r,
	* testsuite/ld-powerpc/tlstocso.r,
	* testsuite/ld-powerpc/vle-multiseg-1.d,
	* testsuite/ld-powerpc/vle-multiseg-2.d,
	* testsuite/ld-powerpc/vle-multiseg-3.d,
	* testsuite/ld-s390/tlsbin.rd,
	* testsuite/ld-s390/tlsbin_64.rd,
	* testsuite/ld-s390/tlspic.rd,
	* testsuite/ld-s390/tlspic_64.rd,
	* testsuite/ld-sh/ld-r-1.d,
	* testsuite/ld-sh/sh64/gotplt.d,
	* testsuite/ld-sh/shared-1.d,
	* testsuite/ld-sh/tlsbin-2.d,
	* testsuite/ld-sh/tlspic-2.d,
	* testsuite/ld-sparc/gotop32.rd,
	* testsuite/ld-sparc/gotop64.rd,
	* testsuite/ld-sparc/tlssunpic32.rd,
	* testsuite/ld-sparc/tlssunpic64.rd,
	* testsuite/ld-sparc/vxworks1-lib.rd,
	* testsuite/ld-tic6x/shlib-app-1.rd,
	* testsuite/ld-tic6x/shlib-app-1b.rd,
	* testsuite/ld-tic6x/shlib-app-1r.rd,
	* testsuite/ld-tic6x/shlib-app-1rb.rd,
	* testsuite/ld-tic6x/shlib-noindex.rd,
	* testsuite/ld-vax-elf/export-class-data.rd,
	* testsuite/ld-x86-64/pr13082-1a.d,
	* testsuite/ld-x86-64/pr13082-1b.d,
	* testsuite/ld-x86-64/pr13082-2a.d,
	* testsuite/ld-x86-64/pr13082-2b.d,
	* testsuite/ld-x86-64/pr13082-3a.d,
	* testsuite/ld-x86-64/pr13082-3c.d,
	* testsuite/ld-x86-64/pr13082-4a.d,
	* testsuite/ld-x86-64/pr13082-5a.d,
	* testsuite/ld-x86-64/pr13082-5b.d,
	* testsuite/ld-x86-64/pr13082-6a.d,
	* testsuite/ld-x86-64/pr13082-6b.d,
	* testsuite/ld-x86-64/pr17709-nacl.rd,
	* testsuite/ld-x86-64/pr17709.rd,
	* testsuite/ld-x86-64/pr19539a.d,
	* testsuite/ld-x86-64/pr19539b.d,
	* testsuite/ld-x86-64/pr19615.d,
	* testsuite/ld-x86-64/pr19636-1a.d,
	* testsuite/ld-x86-64/pr19636-1d.d,
	* testsuite/ld-x86-64/pr19636-1e.d,
	* testsuite/ld-x86-64/pr19636-2a.d,
	* testsuite/ld-x86-64/pr19636-2e.d,
	* testsuite/ld-x86-64/pr19636-2f.d,
	* testsuite/ld-x86-64/pr19636-3a.d,
	* testsuite/ld-x86-64/pr19645.d,
	* testsuite/ld-x86-64/pr19807-2b.d,
	* testsuite/ld-x86-64/pr19807-2d.d,
	* testsuite/ld-x86-64/pr19827-nacl.rd,
	* testsuite/ld-x86-64/pr19827.rd,
	* testsuite/ld-x86-64/pr20253-4a.d,
	* testsuite/ld-x86-64/pr20253-4b.d,
	* testsuite/ld-x86-64/pr20253-4d.d,
	* testsuite/ld-x86-64/pr20253-4e.d,
	* testsuite/ld-x86-64/pr20253-5a.d,
	* testsuite/ld-x86-64/pr20253-5b.d,
	* testsuite/ld-x86-64/tlsbin-nacl.rd,
	* testsuite/ld-x86-64/tlsbin.rd,
	* testsuite/ld-x86-64/tlspic-nacl.rd,
	* testsuite/ld-x86-64/tlspic.rd,
	* testsuite/ld-x86-64/tlspic2-nacl.rd: Update for
	pluralization fixes.

diff --git a/binutils/ChangeLog b/binutils/ChangeLog
index caf17a9..01d5921 100644
--- a/binutils/ChangeLog
+++ b/binutils/ChangeLog
@@ -1,5 +1,32 @@
 2017-11-07  Alan Modra  <amodra@gmail.com>
 
+	* dwarf.c (read_uleb128): Properly pluralize messages.
+	(display_debug_lines_raw, display_debug_loc): Likewise.
+	(display_debug_names, process_cu_tu_index): Likewise.
+	* od-macho.c (dump_code_signature_superblob): Likewise.
+	* readelf.c (process_program_headers): Likewise.
+	(process_section_header, process_relocs): Likewise.
+	(hppa_process_unwind, arm_process_unwind): Likewise.
+	(process_dynamic_section, process_version_sections): Likewise.
+	(process_symbol_table, process_syminfo): Likewise.
+	(apply_relocations, process_mips_specific): Likewise.
+	(process_gnu_liblist, process_notes_at): Likewise.
+	(process_archive): Likewise.
+	* testsuite/binutils-all/dw2-1.W,
+	* testsuite/binutils-all/dw2-3.W,
+	* testsuite/binutils-all/dw2-3gabi.W,
+	* testsuite/binutils-all/dw5.S,
+	* testsuite/binutils-all/dw5.W,
+	* testsuite/binutils-all/i386/compressed-1a.d,
+	* testsuite/binutils-all/libdw2-compressedgabi.out,
+	* testsuite/binutils-all/objdump.W,
+	* testsuite/binutils-all/readelf.r,
+	* testsuite/binutils-all/readelf.r-64,
+	* testsuite/binutils-all/x86-64/compressed-1a.d: Update
+	for pluralization fixes.
+
+2017-11-07  Alan Modra  <amodra@gmail.com>
+
 	* sysdep.h (textdomain, bindtextdomain): Use safer "do nothing".
 	(ngettext, dngettext, dcngettext): Define when !ENABLE_NLS.
 
diff --git a/binutils/dwarf.c b/binutils/dwarf.c
index fd9341a..140a988 100644
--- a/binutils/dwarf.c
+++ b/binutils/dwarf.c
@@ -380,7 +380,11 @@ read_uleb128 (unsigned char * data,
       unsigned int amount = (AMOUNT);		\
       if (sizeof (VAL) < amount)		\
 	{					\
-	  error (_("internal error: attempt to read %d bytes of data in to %d sized variable"),\
+	  error (ngettext ("internal error: attempt to read %d byte "	\
+			   "of data in to %d sized variable",		\
+			   "internal error: attempt to read %d bytes "	\
+			   "of data in to %d sized variable",		\
+			   amount),					\
 		 amount, (int) sizeof (VAL));	\
 	  amount = sizeof (VAL);		\
 	}					\
@@ -3402,7 +3406,10 @@ display_debug_lines_raw (struct dwarf_section *section,
 	  printf (_("\n Opcodes:\n"));
 
 	  for (i = 1; i < linfo.li_opcode_base; i++)
-	    printf (_("  Opcode %d has %d args\n"), i, standard_opcodes[i - 1]);
+	    printf (ngettext ("  Opcode %d has %d arg\n",
+			      "  Opcode %d has %d args\n",
+			      standard_opcodes[i - 1]),
+		    i, standard_opcodes[i - 1]);
 
 	  /* Display the contents of the Directory table.  */
 	  data = standard_opcodes + linfo.li_opcode_base - 1;
@@ -5981,7 +5988,9 @@ display_debug_loc (struct dwarf_section *section, void *file)
     }
 
   if (start < section->start + section->size)
-    warn (_("There are %ld unused bytes at the end of section %s\n"),
+    warn (ngettext ("There is %ld unused byte at the end of section %s\n",
+		    "There are %ld unused bytes at the end of section %s\n",
+		    (long) (section->start + section->size - start)),
 	  (long) (section->start + section->size - start), section->name);
   putchar ('\n');
   free (array);
@@ -8246,8 +8255,10 @@ display_debug_names (struct dwarf_section *section, void *file)
 	  if (bucket != 0)
 	    ++buckets_filled;
 	}
-      printf (_("Used %zu of %lu buckets.\n"), buckets_filled,
-	      (unsigned long) bucket_count);
+      printf (ngettext ("Used %zu of %lu bucket.\n",
+			"Used %zu of %lu buckets.\n",
+			bucket_count),
+	      buckets_filled, (unsigned long) bucket_count);
 
       uint32_t hash_prev = 0;
       size_t hash_clash_count = 0;
@@ -8790,7 +8801,9 @@ process_cu_tu_index (struct dwarf_section *section, int do_display)
   /* PR 17531: file: 45d69832.  */
   if (pindex < phash || ppool < phdr || (pindex == phash && nslots != 0))
     {
-      warn (_("Section %s is too small for %d slots\n"),
+      warn (ngettext ("Section %s is too small for %d slot\n",
+		      "Section %s is too small for %d slots\n",
+		      nslots),
 	    section->name, nslots);
       return 0;
     }
diff --git a/binutils/od-macho.c b/binutils/od-macho.c
index f5d2cf5..9288655 100644
--- a/binutils/od-macho.c
+++ b/binutils/od-macho.c
@@ -1074,7 +1074,10 @@ dump_code_signature_superblob (bfd *abfd ATTRIBUTE_UNUSED,
       return;
     }
   count = bfd_getb32 (buf + 8);
-  printf (_("  %u index entries:\n"), count);
+  printf (ngettext ("  %u index entry:\n",
+		    "  %u index entries:\n",
+		    count),
+	  count);
   if (len < 12 + 8 * count)
     {
       printf (_("  [bad block length]\n"));
diff --git a/binutils/readelf.c b/binutils/readelf.c
index cfd37eb..5e7cbef 100644
--- a/binutils/readelf.c
+++ b/binutils/readelf.c
@@ -4915,12 +4915,12 @@ process_program_headers (FILE * file)
   if (do_segments && !do_header)
     {
       printf (_("\nElf file type is %s\n"), get_file_type (elf_header.e_type));
-      printf (_("Entry point "));
-      print_vma ((bfd_vma) elf_header.e_entry, PREFIX_HEX);
-      printf (_("\nThere are %d program headers, starting at offset "),
-	      elf_header.e_phnum);
-      print_vma ((bfd_vma) elf_header.e_phoff, DEC);
-      printf ("\n");
+      printf (_("Entry point 0x%s\n"), bfd_vmatoa ("x", elf_header.e_entry));
+      printf (ngettext ("There is %d program header, starting at offset %s\n",
+			"There are %d program headers, starting at offset %s\n",
+			elf_header.e_phnum),
+	      elf_header.e_phnum,
+	      bfd_vmatoa ("u", elf_header.e_phoff));
     }
 
   if (! get_program_headers (file))
@@ -5895,7 +5895,11 @@ process_section_headers (FILE * file)
     }
 
   if (do_sections && !do_header)
-    printf (_("There are %d section headers, starting at offset 0x%lx:\n"),
+    printf (ngettext ("There is %d section header, "
+		      "starting at offset 0x%lx:\n",
+		      "There are %d section headers, "
+		      "starting at offset 0x%lx:\n",
+		      elf_header.e_shnum),
 	    elf_header.e_shnum, (unsigned long) elf_header.e_shoff);
 
   if (is_32bit_elf)
@@ -7089,6 +7093,7 @@ process_relocs (FILE * file)
 	    {
 	      Elf_Internal_Shdr * strsec;
 	      int is_rela;
+	      unsigned long num_rela;
 
 	      printf (_("\nRelocation section "));
 
@@ -7097,8 +7102,11 @@ process_relocs (FILE * file)
 	      else
 		printf ("'%s'", printable_section_name (section));
 
-	      printf (_(" at offset 0x%lx contains %lu entries:\n"),
-		 rel_offset, (unsigned long) (rel_size / section->sh_entsize));
+	      num_rela = rel_size / section->sh_entsize;
+	      printf (ngettext (" at offset 0x%lx contains %lu entry:\n",
+				" at offset 0x%lx contains %lu entries:\n",
+				num_rela),
+		      rel_offset, num_rela);
 
 	      is_rela = section->sh_type == SHT_RELA;
 
@@ -7992,10 +8000,15 @@ hppa_process_unwind (FILE * file)
     {
       if (streq (SECTION_NAME (sec), ".PARISC.unwind"))
 	{
-	  printf (_("\nUnwind section '%s' at offset 0x%lx contains %lu entries:\n"),
+	  unsigned long num_unwind = sec->sh_size / (2 * eh_addr_size + 8);
+	  printf (ngettext ("\nUnwind section '%s' at offset 0x%lx "
+			    "contains %lu entry:\n",
+			    "\nUnwind section '%s' at offset 0x%lx "
+			    "contains %lu entries:\n",
+			    num_unwind),
 		  printable_section_name (sec),
 		  (unsigned long) sec->sh_offset,
-		  (unsigned long) (sec->sh_size / (2 * eh_addr_size + 8)));
+		  num_unwind);
 
           if (! slurp_hppa_unwind_table (file, &aux, sec))
 	    res = FALSE;
@@ -9082,10 +9095,15 @@ arm_process_unwind (FILE *file)
       {
 	if (sec->sh_type == sec_type)
 	  {
-	    printf (_("\nUnwind table index '%s' at offset 0x%lx contains %lu entries:\n"),
+	    unsigned long num_unwind = sec->sh_size / (2 * eh_addr_size);
+	    printf (ngettext ("\nUnwind section '%s' at offset 0x%lx "
+			      "contains %lu entry:\n",
+			      "\nUnwind section '%s' at offset 0x%lx "
+			      "contains %lu entries:\n",
+			      num_unwind),
 		    printable_section_name (sec),
 		    (unsigned long) sec->sh_offset,
-		    (unsigned long) (sec->sh_size / (2 * eh_addr_size)));
+		    num_unwind);
 
 	    if (! dump_arm_unwind (&aux, sec))
 	      res = FALSE;
@@ -9666,7 +9684,11 @@ process_dynamic_section (FILE * file)
     }
 
   if (do_dynamic && dynamic_addr)
-    printf (_("\nDynamic section at offset 0x%lx contains %lu entries:\n"),
+    printf (ngettext ("\nDynamic section at offset 0x%lx "
+		      "contains %lu entry:\n",
+		      "\nDynamic section at offset 0x%lx "
+		      "contains %lu entries:\n",
+		      dynamic_nent),
 	    dynamic_addr, (unsigned long) dynamic_nent);
   if (do_dynamic)
     printf (_("  Tag        Type                         Name/Value\n"));
@@ -10207,7 +10229,11 @@ process_version_sections (FILE * file)
 
 	    found = TRUE;
 
-	    printf (_("\nVersion definition section '%s' contains %u entries:\n"),
+	    printf (ngettext ("\nVersion definition section '%s' "
+			      "contains %u entry:\n",
+			      "\nVersion definition section '%s' "
+			      "contains %u entries:\n",
+			      section->sh_info),
 		    printable_section_name (section),
 		    section->sh_info);
 
@@ -10340,7 +10366,11 @@ process_version_sections (FILE * file)
 
 	    found = TRUE;
 
-	    printf (_("\nVersion needs section '%s' contains %u entries:\n"),
+	    printf (ngettext ("\nVersion needs section '%s' "
+			      "contains %u entry:\n",
+			      "\nVersion needs section '%s' "
+			      "contains %u entries:\n",
+			      section->sh_info),
 		    printable_section_name (section), section->sh_info);
 
 	    printf (_(" Addr: 0x"));
@@ -10492,7 +10522,11 @@ process_version_sections (FILE * file)
 		break;
 	      }
 
-	    printf (_("\nVersion symbols section '%s' contains %lu entries:\n"),
+	    printf (ngettext ("\nVersion symbols section '%s' "
+			      "contains %lu entry:\n",
+			      "\nVersion symbols section '%s' "
+			      "contains %lu entries:\n",
+			      total),
 		    printable_section_name (section), (unsigned long) total);
 
 	    printf (_(" Addr: "));
@@ -11528,9 +11562,12 @@ process_symbol_table (FILE * file)
 	      continue;
 	    }
 
-	  printf (_("\nSymbol table '%s' contains %lu entries:\n"),
+	  num_syms = section->sh_size / section->sh_entsize;
+	  printf (ngettext ("\nSymbol table '%s' contains %lu entry:\n",
+			    "\nSymbol table '%s' contains %lu entries:\n",
+			    num_syms),
 		  printable_section_name (section),
-		  (unsigned long) (section->sh_size / section->sh_entsize));
+		  num_syms);
 
 	  if (is_32bit_elf)
 	    printf (_("   Num:    Value  Size Type    Bind   Vis      Ndx Name\n"));
@@ -11634,7 +11671,11 @@ process_symbol_table (FILE * file)
       unsigned long nsyms = 0;
       char *visited;
 
-      printf (_("\nHistogram for bucket list length (total of %lu buckets):\n"),
+      printf (ngettext ("\nHistogram for bucket list length "
+			"(total of %lu bucket):\n",
+			"\nHistogram for bucket list length "
+			"(total of %lu buckets):\n",
+			(unsigned long) nbuckets),
 	      (unsigned long) nbuckets);
 
       lengths = (unsigned long *) calloc (nbuckets, sizeof (*lengths));
@@ -11708,7 +11749,11 @@ process_symbol_table (FILE * file)
       unsigned long nzero_counts = 0;
       unsigned long nsyms = 0;
 
-      printf (_("\nHistogram for `.gnu.hash' bucket list length (total of %lu buckets):\n"),
+      printf (ngettext ("\nHistogram for `.gnu.hash' bucket list length "
+			"(total of %lu bucket):\n",
+			"\nHistogram for `.gnu.hash' bucket list length "
+			"(total of %lu buckets):\n",
+			(unsigned long) ngnubuckets),
 	      (unsigned long) ngnubuckets);
 
       lengths = (unsigned long *) calloc (ngnubuckets, sizeof (*lengths));
@@ -11785,7 +11830,11 @@ process_syminfo (FILE * file ATTRIBUTE_UNUSED)
     return FALSE;
 
   if (dynamic_addr)
-    printf (_("\nDynamic info segment at offset 0x%lx contains %d entries:\n"),
+    printf (ngettext ("\nDynamic info segment at offset 0x%lx "
+		      "contains %d entry:\n",
+		      "\nDynamic info segment at offset 0x%lx "
+		      "contains %d entries:\n",
+		      dynamic_syminfo_nent),
 	    dynamic_syminfo_offset, dynamic_syminfo_nent);
 
   printf (_(" Num: Name                           BoundTo     Flags\n"));
@@ -12750,10 +12799,10 @@ apply_relocations (void *                     file,
 	      && ELF_ST_TYPE (sym->st_info) != STT_COMMON
 	      && ELF_ST_TYPE (sym->st_info) > STT_SECTION)
 	    {
-	      warn (_("skipping unexpected symbol type %s in %ld'th relocation in section %s\n"),
+	      warn (_("skipping unexpected symbol type %s in section %s relocation %ld\n"),
 		    get_symbol_type (ELF_ST_TYPE (sym->st_info)),
-		    (long int)(rp - relocs),
-		    printable_section_name (relsec));
+		    printable_section_name (relsec),
+		    (long int)(rp - relocs));
 	      res = FALSE;
 	      continue;
 	    }
@@ -15455,7 +15504,9 @@ process_mips_specific (FILE * file)
                                               _("liblist section data"));
       if (elib)
 	{
-	  printf (_("\nSection '.liblist' contains %lu entries:\n"),
+	  printf (ngettext ("\nSection '.liblist' contains %lu entry:\n",
+			    "\nSection '.liblist' contains %lu entries:\n",
+			    (unsigned long) liblistno),
 		  (unsigned long) liblistno);
 	  fputs (_("     Library              Time Stamp          Checksum   Version Flags\n"),
 		 stdout);
@@ -15584,7 +15635,9 @@ process_mips_specific (FILE * file)
 	      ++cnt;
 	    }
 
-	  printf (_("\nSection '%s' contains %d entries:\n"),
+	  printf (ngettext ("\nSection '%s' contains %d entry:\n",
+			    "\nSection '%s' contains %d entries:\n",
+			    cnt),
 		  printable_section_name (sect), cnt);
 
 	  option = iopt;
@@ -15804,7 +15857,9 @@ process_mips_specific (FILE * file)
 	  free (econf64);
 	}
 
-      printf (_("\nSection '.conflict' contains %lu entries:\n"),
+      printf (ngettext ("\nSection '.conflict' contains %lu entry:\n",
+			"\nSection '.conflict' contains %lu entries:\n",
+			(unsigned long) conflictsno),
 	      (unsigned long) conflictsno);
       puts (_("  Num:    Index       Value  Name"));
 
@@ -16094,6 +16149,7 @@ process_gnu_liblist (FILE * file)
   char * strtab;
   size_t strtab_size;
   size_t cnt;
+  unsigned long num_liblist;
   unsigned i;
   bfd_boolean res = TRUE;
 
@@ -16134,9 +16190,12 @@ process_gnu_liblist (FILE * file)
 	    }
 	  strtab_size = string_sec->sh_size;
 
-	  printf (_("\nLibrary list section '%s' contains %lu entries:\n"),
+	  num_liblist = section->sh_size / sizeof (Elf32_External_Lib);
+	  printf (ngettext ("\nLibrary list section '%s' contains %lu entries:\n",
+			    "\nLibrary list section '%s' contains %lu entries:\n",
+			    num_liblist),
 		  printable_section_name (section),
-		  (unsigned long) (section->sh_size / sizeof (Elf32_External_Lib)));
+		  num_liblist);
 
 	  puts (_("     Library              Time Stamp          Checksum   Version Flags"));
 
@@ -17672,8 +17731,12 @@ process_notes_at (FILE *              file,
 	  min_notesz = offsetof (Elf_External_Note, name);
 	  if (data_remaining < min_notesz)
 	    {
-	      warn (_("Corrupt note: only %d bytes remain, not enough for a full note\n"),
-		    (int) data_remaining);
+	      warn (ngettext ("Corrupt note: only %ld byte remains, "
+			      "not enough for a full note\n",
+			      "Corrupt note: only %ld bytes remain, "
+			      "not enough for a full note\n",
+			      data_remaining),
+		    (long) data_remaining);
 	      break;
 	    }
 	  data_remaining -= min_notesz;
@@ -17695,8 +17758,12 @@ process_notes_at (FILE *              file,
 	  min_notesz = offsetof (Elf64_External_VMS_Note, name);
 	  if (data_remaining < min_notesz)
 	    {
-	      warn (_("Corrupt note: only %d bytes remain, not enough for a full note\n"),
-		    (int) data_remaining);
+	      warn (ngettext ("Corrupt note: only %ld byte remains, "
+			      "not enough for a full note\n",
+			      "Corrupt note: only %ld bytes remain, "
+			      "not enough for a full note\n",
+			      data_remaining),
+		    (long) data_remaining);
 	      break;
 	    }
 	  data_remaining -= min_notesz;
@@ -18363,7 +18430,13 @@ process_archive (char * file_name, FILE * file, bfd_boolean is_thin_archive)
 
 	  if (l < arch.sym_size)
 	    {
-	      error (_("%s: %ld bytes remain in the symbol table, but without corresponding entries in the index table\n"),
+	      error (ngettext ("%s: %ld byte remains in the symbol table, "
+			       "but without corresponding entries in "
+			       "the index table\n",
+			       "%s: %ld bytes remain in the symbol table, "
+			       "but without corresponding entries in "
+			       "the index table\n",
+			       arch.sym_size - l),
 		     file_name, arch.sym_size - l);
 	      ret = FALSE;
 	    }
diff --git a/binutils/testsuite/binutils-all/dw2-1.W b/binutils/testsuite/binutils-all/dw2-1.W
index fb9c798..dba0483 100644
--- a/binutils/testsuite/binutils-all/dw2-1.W
+++ b/binutils/testsuite/binutils-all/dw2-1.W
@@ -44,17 +44,17 @@ Raw dump of debug contents of section .z?debug_line:
 
  Opcodes:
   Opcode 1 has 0 args
-  Opcode 2 has 1 args
-  Opcode 3 has 1 args
-  Opcode 4 has 1 args
-  Opcode 5 has 1 args
+  Opcode 2 has 1 arg
+  Opcode 3 has 1 arg
+  Opcode 4 has 1 arg
+  Opcode 5 has 1 arg
   Opcode 6 has 0 args
   Opcode 7 has 0 args
   Opcode 8 has 0 args
-  Opcode 9 has 1 args
+  Opcode 9 has 1 arg
   Opcode 10 has 0 args
   Opcode 11 has 0 args
-  Opcode 12 has 1 args
+  Opcode 12 has 1 arg
   Opcode 13 has 0 args
   Opcode 14 has 0 args
   Opcode 15 has 0 args
diff --git a/binutils/testsuite/binutils-all/dw2-3.W b/binutils/testsuite/binutils-all/dw2-3.W
index af77f87..37fd418 100644
--- a/binutils/testsuite/binutils-all/dw2-3.W
+++ b/binutils/testsuite/binutils-all/dw2-3.W
@@ -124,17 +124,17 @@ Raw dump of debug contents of section .z?debug_line:
 
  Opcodes:
   Opcode 1 has 0 args
-  Opcode 2 has 1 args
-  Opcode 3 has 1 args
-  Opcode 4 has 1 args
-  Opcode 5 has 1 args
+  Opcode 2 has 1 arg
+  Opcode 3 has 1 arg
+  Opcode 4 has 1 arg
+  Opcode 5 has 1 arg
   Opcode 6 has 0 args
   Opcode 7 has 0 args
   Opcode 8 has 0 args
-  Opcode 9 has 1 args
+  Opcode 9 has 1 arg
   Opcode 10 has 0 args
   Opcode 11 has 0 args
-  Opcode 12 has 1 args
+  Opcode 12 has 1 arg
   Opcode 13 has 0 args
   Opcode 14 has 0 args
   Opcode 15 has 0 args
diff --git a/binutils/testsuite/binutils-all/dw2-3gabi.W b/binutils/testsuite/binutils-all/dw2-3gabi.W
index 4a79260..5663517 100644
--- a/binutils/testsuite/binutils-all/dw2-3gabi.W
+++ b/binutils/testsuite/binutils-all/dw2-3gabi.W
@@ -124,17 +124,17 @@ Raw dump of debug contents of section .debug_line:
 
  Opcodes:
   Opcode 1 has 0 args
-  Opcode 2 has 1 args
-  Opcode 3 has 1 args
-  Opcode 4 has 1 args
-  Opcode 5 has 1 args
+  Opcode 2 has 1 arg
+  Opcode 3 has 1 arg
+  Opcode 4 has 1 arg
+  Opcode 5 has 1 arg
   Opcode 6 has 0 args
   Opcode 7 has 0 args
   Opcode 8 has 0 args
-  Opcode 9 has 1 args
+  Opcode 9 has 1 arg
   Opcode 10 has 0 args
   Opcode 11 has 0 args
-  Opcode 12 has 1 args
+  Opcode 12 has 1 arg
   Opcode 13 has 0 args
   Opcode 14 has 0 args
   Opcode 15 has 0 args
diff --git a/binutils/testsuite/binutils-all/dw5.S b/binutils/testsuite/binutils-all/dw5.S
index 2f75461..8c8d37e 100644
--- a/binutils/testsuite/binutils-all/dw5.S
+++ b/binutils/testsuite/binutils-all/dw5.S
@@ -550,17 +550,17 @@ xvar:
 	.byte	0xf2	/* Line Range Value (Special Opcodes) */
 	.byte	0xd	/* Special Opcode Base */
 	.byte	0	/* opcode: 0x1 has 0 args */
-	.byte	0x1	/* opcode: 0x2 has 1 args */
-	.byte	0x1	/* opcode: 0x3 has 1 args */
-	.byte	0x1	/* opcode: 0x4 has 1 args */
-	.byte	0x1	/* opcode: 0x5 has 1 args */
+	.byte	0x1	/* opcode: 0x2 has 1 arg */
+	.byte	0x1	/* opcode: 0x3 has 1 arg */
+	.byte	0x1	/* opcode: 0x4 has 1 arg */
+	.byte	0x1	/* opcode: 0x5 has 1 arg */
 	.byte	0	/* opcode: 0x6 has 0 args */
 	.byte	0	/* opcode: 0x7 has 0 args */
 	.byte	0	/* opcode: 0x8 has 0 args */
-	.byte	0x1	/* opcode: 0x9 has 1 args */
+	.byte	0x1	/* opcode: 0x9 has 1 arg */
 	.byte	0	/* opcode: 0xa has 0 args */
 	.byte	0	/* opcode: 0xb has 0 args */
-	.byte	0x1	/* opcode: 0xc has 1 args */
+	.byte	0x1	/* opcode: 0xc has 1 arg */
 	.byte	0x1	/* Directory entry format count */
 	.uleb128 0x1	/* DW_LNCT_path */
 	.uleb128 0x1f	/* DW_FORM_line_strp */
diff --git a/binutils/testsuite/binutils-all/dw5.W b/binutils/testsuite/binutils-all/dw5.W
index 1fa0d5d..977a0c8 100644
--- a/binutils/testsuite/binutils-all/dw5.W
+++ b/binutils/testsuite/binutils-all/dw5.W
@@ -301,17 +301,17 @@ Raw dump of debug contents of section .debug_line:
 
  Opcodes:
   Opcode 1 has 0 args
-  Opcode 2 has 1 args
-  Opcode 3 has 1 args
-  Opcode 4 has 1 args
-  Opcode 5 has 1 args
+  Opcode 2 has 1 arg
+  Opcode 3 has 1 arg
+  Opcode 4 has 1 arg
+  Opcode 5 has 1 arg
   Opcode 6 has 0 args
   Opcode 7 has 0 args
   Opcode 8 has 0 args
-  Opcode 9 has 1 args
+  Opcode 9 has 1 arg
   Opcode 10 has 0 args
   Opcode 11 has 0 args
-  Opcode 12 has 1 args
+  Opcode 12 has 1 arg
 
  The Directory Table \(offset 0x22\):
   Entry	Name
diff --git a/binutils/testsuite/binutils-all/i386/compressed-1a.d b/binutils/testsuite/binutils-all/i386/compressed-1a.d
index a45c6b8..b6c6ecc 100644
--- a/binutils/testsuite/binutils-all/i386/compressed-1a.d
+++ b/binutils/testsuite/binutils-all/i386/compressed-1a.d
@@ -74,17 +74,17 @@ Raw dump of debug contents of section .[z]?debug_line:
 
  Opcodes:
   Opcode 1 has 0 args
-  Opcode 2 has 1 args
-  Opcode 3 has 1 args
-  Opcode 4 has 1 args
-  Opcode 5 has 1 args
+  Opcode 2 has 1 arg
+  Opcode 3 has 1 arg
+  Opcode 4 has 1 arg
+  Opcode 5 has 1 arg
   Opcode 6 has 0 args
   Opcode 7 has 0 args
   Opcode 8 has 0 args
-  Opcode 9 has 1 args
+  Opcode 9 has 1 arg
   Opcode 10 has 0 args
   Opcode 11 has 0 args
-  Opcode 12 has 1 args
+  Opcode 12 has 1 arg
 
  The Directory Table is empty.
 
diff --git a/binutils/testsuite/binutils-all/libdw2-compressedgabi.out b/binutils/testsuite/binutils-all/libdw2-compressedgabi.out
index ab456d5..7bc4629 100644
--- a/binutils/testsuite/binutils-all/libdw2-compressedgabi.out
+++ b/binutils/testsuite/binutils-all/libdw2-compressedgabi.out
@@ -45,17 +45,17 @@ Raw dump of debug contents of section .debug_line:
 
  Opcodes:
   Opcode 1 has 0 args
-  Opcode 2 has 1 args
-  Opcode 3 has 1 args
-  Opcode 4 has 1 args
-  Opcode 5 has 1 args
+  Opcode 2 has 1 arg
+  Opcode 3 has 1 arg
+  Opcode 4 has 1 arg
+  Opcode 5 has 1 arg
   Opcode 6 has 0 args
   Opcode 7 has 0 args
   Opcode 8 has 0 args
-  Opcode 9 has 1 args
+  Opcode 9 has 1 arg
   Opcode 10 has 0 args
   Opcode 11 has 0 args
-  Opcode 12 has 1 args
+  Opcode 12 has 1 arg
   Opcode 13 has 0 args
   Opcode 14 has 0 args
   Opcode 15 has 0 args
@@ -147,17 +147,17 @@ Raw dump of debug contents of section .debug_line:
 
  Opcodes:
   Opcode 1 has 0 args
-  Opcode 2 has 1 args
-  Opcode 3 has 1 args
-  Opcode 4 has 1 args
-  Opcode 5 has 1 args
+  Opcode 2 has 1 arg
+  Opcode 3 has 1 arg
+  Opcode 4 has 1 arg
+  Opcode 5 has 1 arg
   Opcode 6 has 0 args
   Opcode 7 has 0 args
   Opcode 8 has 0 args
-  Opcode 9 has 1 args
+  Opcode 9 has 1 arg
   Opcode 10 has 0 args
   Opcode 11 has 0 args
-  Opcode 12 has 1 args
+  Opcode 12 has 1 arg
   Opcode 13 has 0 args
   Opcode 14 has 0 args
   Opcode 15 has 0 args
@@ -330,17 +330,17 @@ Raw dump of debug contents of section .debug_line:
 
  Opcodes:
   Opcode 1 has 0 args
-  Opcode 2 has 1 args
-  Opcode 3 has 1 args
-  Opcode 4 has 1 args
-  Opcode 5 has 1 args
+  Opcode 2 has 1 arg
+  Opcode 3 has 1 arg
+  Opcode 4 has 1 arg
+  Opcode 5 has 1 arg
   Opcode 6 has 0 args
   Opcode 7 has 0 args
   Opcode 8 has 0 args
-  Opcode 9 has 1 args
+  Opcode 9 has 1 arg
   Opcode 10 has 0 args
   Opcode 11 has 0 args
-  Opcode 12 has 1 args
+  Opcode 12 has 1 arg
   Opcode 13 has 0 args
   Opcode 14 has 0 args
   Opcode 15 has 0 args
diff --git a/binutils/testsuite/binutils-all/objdump.W b/binutils/testsuite/binutils-all/objdump.W
index 5f977ee..8d21505 100644
--- a/binutils/testsuite/binutils-all/objdump.W
+++ b/binutils/testsuite/binutils-all/objdump.W
@@ -44,17 +44,17 @@ Raw dump of debug contents of section .z?debug_line:
 
  Opcodes:
   Opcode 1 has 0 args
-  Opcode 2 has 1 args
-  Opcode 3 has 1 args
-  Opcode 4 has 1 args
-  Opcode 5 has 1 args
+  Opcode 2 has 1 arg
+  Opcode 3 has 1 arg
+  Opcode 4 has 1 arg
+  Opcode 5 has 1 arg
   Opcode 6 has 0 args
   Opcode 7 has 0 args
   Opcode 8 has 0 args
-  Opcode 9 has 1 args
+  Opcode 9 has 1 arg
   Opcode 10 has 0 args
   Opcode 11 has 0 args
-  Opcode 12 has 1 args
+  Opcode 12 has 1 arg
   Opcode 13 has 0 args
   Opcode 14 has 0 args
   Opcode 15 has 0 args
diff --git a/binutils/testsuite/binutils-all/readelf.r b/binutils/testsuite/binutils-all/readelf.r
index db23dcd..7ce5810 100644
--- a/binutils/testsuite/binutils-all/readelf.r
+++ b/binutils/testsuite/binutils-all/readelf.r
@@ -1,5 +1,5 @@
 
-Relocation section '.rel.*' at offset 0x.* contains . entries:
+Relocation section '.rel.*' at offset 0x.* contains . entr(y|ies):
  Offset     Info    Type            Sym.Value  Sym. Name.*
 # NDS32 targets puts R_NDS32_RELAX_ENT here
 #...
diff --git a/binutils/testsuite/binutils-all/readelf.r-64 b/binutils/testsuite/binutils-all/readelf.r-64
index 3e3b0a4..e7487f1 100644
--- a/binutils/testsuite/binutils-all/readelf.r-64
+++ b/binutils/testsuite/binutils-all/readelf.r-64
@@ -1,4 +1,4 @@
 
-Relocation section '.rel.*text' at offset 0x.* contains 1 entries:
+Relocation section '.rel.*text' at offset 0x.* contains 1 entry:
   Offset          Info           Type           Sym. Value    Sym. Name.*
 0+04  [0-9A-Fa-f]+ *R_.*0+00 external_symbol.*
diff --git a/binutils/testsuite/binutils-all/x86-64/compressed-1a.d b/binutils/testsuite/binutils-all/x86-64/compressed-1a.d
index 75b8ce5..23151ef 100644
--- a/binutils/testsuite/binutils-all/x86-64/compressed-1a.d
+++ b/binutils/testsuite/binutils-all/x86-64/compressed-1a.d
@@ -74,17 +74,17 @@ Raw dump of debug contents of section .[z]?debug_line:
 
  Opcodes:
   Opcode 1 has 0 args
-  Opcode 2 has 1 args
-  Opcode 3 has 1 args
-  Opcode 4 has 1 args
-  Opcode 5 has 1 args
+  Opcode 2 has 1 arg
+  Opcode 3 has 1 arg
+  Opcode 4 has 1 arg
+  Opcode 5 has 1 arg
   Opcode 6 has 0 args
   Opcode 7 has 0 args
   Opcode 8 has 0 args
-  Opcode 9 has 1 args
+  Opcode 9 has 1 arg
   Opcode 10 has 0 args
   Opcode 11 has 0 args
-  Opcode 12 has 1 args
+  Opcode 12 has 1 arg
 
  The Directory Table is empty.
 
diff --git a/gas/ChangeLog b/gas/ChangeLog
index ee42ab5..417edc0 100644
--- a/gas/ChangeLog
+++ b/gas/ChangeLog
@@ -1,5 +1,40 @@
 2017-11-07  Alan Modra  <amodra@gmail.com>
 
+	* testsuite/gas/arm/got_prel.d,
+	* testsuite/gas/elf/dwarf2-1.d,
+	* testsuite/gas/elf/dwarf2-2.d,
+	* testsuite/gas/elf/dwarf2-3.d,
+	* testsuite/gas/elf/dwarf2-5.d,
+	* testsuite/gas/elf/dwarf2-6.d,
+	* testsuite/gas/i386/debug1.d,
+	* testsuite/gas/i386/dw2-compress-1.d,
+	* testsuite/gas/i386/dw2-compress-3a.d,
+	* testsuite/gas/i386/dw2-compress-3b.d,
+	* testsuite/gas/i386/dw2-compressed-1.d,
+	* testsuite/gas/i386/dw2-compressed-3a.d,
+	* testsuite/gas/i386/dw2-compressed-3b.d,
+	* testsuite/gas/i386/ilp32/x86-64-localpic.d,
+	* testsuite/gas/i386/localpic.d,
+	* testsuite/gas/i386/x86-64-localpic.d,
+	* testsuite/gas/ia64/pr13167.d,
+	* testsuite/gas/mips/loc-swap-2.d,
+	* testsuite/gas/mips/loc-swap.d,
+	* testsuite/gas/mips/micromips@loc-swap-2.d,
+	* testsuite/gas/mips/micromips@loc-swap.d,
+	* testsuite/gas/mips/mips16-dwarf2-n32.d,
+	* testsuite/gas/mips/mips16-dwarf2.d,
+	* testsuite/gas/mips/mips16@loc-swap-2.d,
+	* testsuite/gas/mips/mips16@loc-swap.d,
+	* testsuite/gas/mips/mips16e@loc-swap.d,
+	* testsuite/gas/mmix/bspec-1.d,
+	* testsuite/gas/mmix/bspec-2.d,
+	* testsuite/gas/tic6x/unwind-1.d,
+	* testsuite/gas/tic6x/unwind-2.d,
+	* testsuite/gas/tic6x/unwind-3.d: Update for pluralization
+	fixes.
+
+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.
diff --git a/gas/testsuite/gas/arm/got_prel.d b/gas/testsuite/gas/arm/got_prel.d
index 880a6db..8068b1f 100644
--- a/gas/testsuite/gas/arm/got_prel.d
+++ b/gas/testsuite/gas/arm/got_prel.d
@@ -4,7 +4,7 @@
 # readelf: -x 4 -r
 # target: *-*-*eabi* *-*-symbianelf *-*-linux-* *-*-elf *-*-nacl*
 
-Relocation section '.rel.text.foo' at offset .* contains 1 entries:
+Relocation section '.rel.text.foo' at offset .* contains 1 entry:
  Offset     Info    Type            Sym.Value  Sym. Name
 00000010  00000c60 R_ARM_GOT_PREL    00000000   i
 
diff --git a/gas/testsuite/gas/elf/dwarf2-1.d b/gas/testsuite/gas/elf/dwarf2-1.d
index d8b79ef..09f6868 100644
--- a/gas/testsuite/gas/elf/dwarf2-1.d
+++ b/gas/testsuite/gas/elf/dwarf2-1.d
@@ -46,17 +46,17 @@ Raw dump of debug contents of section .[z]?debug_line:
 
  Opcodes:
   Opcode 1 has 0 args
-  Opcode 2 has 1 args
-  Opcode 3 has 1 args
-  Opcode 4 has 1 args
-  Opcode 5 has 1 args
+  Opcode 2 has 1 arg
+  Opcode 3 has 1 arg
+  Opcode 4 has 1 arg
+  Opcode 5 has 1 arg
   Opcode 6 has 0 args
   Opcode 7 has 0 args
   Opcode 8 has 0 args
-  Opcode 9 has 1 args
+  Opcode 9 has 1 arg
   Opcode 10 has 0 args
   Opcode 11 has 0 args
-  Opcode 12 has 1 args
+  Opcode 12 has 1 arg
   Opcode 13 has 0 args
   Opcode 14 has 0 args
   Opcode 15 has 0 args
diff --git a/gas/testsuite/gas/elf/dwarf2-2.d b/gas/testsuite/gas/elf/dwarf2-2.d
index 8cc1c3b..cfcd5c6 100644
--- a/gas/testsuite/gas/elf/dwarf2-2.d
+++ b/gas/testsuite/gas/elf/dwarf2-2.d
@@ -46,17 +46,17 @@ Raw dump of debug contents of section .[z]?debug_line:
 
  Opcodes:
   Opcode 1 has 0 args
-  Opcode 2 has 1 args
-  Opcode 3 has 1 args
-  Opcode 4 has 1 args
-  Opcode 5 has 1 args
+  Opcode 2 has 1 arg
+  Opcode 3 has 1 arg
+  Opcode 4 has 1 arg
+  Opcode 5 has 1 arg
   Opcode 6 has 0 args
   Opcode 7 has 0 args
   Opcode 8 has 0 args
-  Opcode 9 has 1 args
+  Opcode 9 has 1 arg
   Opcode 10 has 0 args
   Opcode 11 has 0 args
-  Opcode 12 has 1 args
+  Opcode 12 has 1 arg
   Opcode 13 has 0 args
   Opcode 14 has 0 args
   Opcode 15 has 0 args
diff --git a/gas/testsuite/gas/elf/dwarf2-3.d b/gas/testsuite/gas/elf/dwarf2-3.d
index 3cb0834..2efe703 100644
--- a/gas/testsuite/gas/elf/dwarf2-3.d
+++ b/gas/testsuite/gas/elf/dwarf2-3.d
@@ -16,17 +16,17 @@ Raw dump of debug contents of section \.z?debug_line:
 
  Opcodes:
   Opcode 1 has 0 args
-  Opcode 2 has 1 args
-  Opcode 3 has 1 args
-  Opcode 4 has 1 args
-  Opcode 5 has 1 args
+  Opcode 2 has 1 arg
+  Opcode 3 has 1 arg
+  Opcode 4 has 1 arg
+  Opcode 5 has 1 arg
   Opcode 6 has 0 args
   Opcode 7 has 0 args
   Opcode 8 has 0 args
-  Opcode 9 has 1 args
+  Opcode 9 has 1 arg
   Opcode 10 has 0 args
   Opcode 11 has 0 args
-  Opcode 12 has 1 args
+  Opcode 12 has 1 arg
 
  The Directory Table is empty.
 
diff --git a/gas/testsuite/gas/elf/dwarf2-5.d b/gas/testsuite/gas/elf/dwarf2-5.d
index 03829fb..e9628b5 100644
--- a/gas/testsuite/gas/elf/dwarf2-5.d
+++ b/gas/testsuite/gas/elf/dwarf2-5.d
@@ -24,17 +24,17 @@ Raw dump of debug contents of section \.debug_line:
 
  Opcodes:
   Opcode 1 has 0 args
-  Opcode 2 has 1 args
-  Opcode 3 has 1 args
-  Opcode 4 has 1 args
-  Opcode 5 has 1 args
+  Opcode 2 has 1 arg
+  Opcode 3 has 1 arg
+  Opcode 4 has 1 arg
+  Opcode 5 has 1 arg
   Opcode 6 has 0 args
   Opcode 7 has 0 args
   Opcode 8 has 0 args
-  Opcode 9 has 1 args
+  Opcode 9 has 1 arg
   Opcode 10 has 0 args
   Opcode 11 has 0 args
-  Opcode 12 has 1 args
+  Opcode 12 has 1 arg
 
  The Directory Table is empty.
 
diff --git a/gas/testsuite/gas/elf/dwarf2-6.d b/gas/testsuite/gas/elf/dwarf2-6.d
index 2b67102..55582ee 100644
--- a/gas/testsuite/gas/elf/dwarf2-6.d
+++ b/gas/testsuite/gas/elf/dwarf2-6.d
@@ -18,17 +18,17 @@ Raw dump of debug contents of section .debug_line:
 
  Opcodes:
   Opcode 1 has 0 args
-  Opcode 2 has 1 args
-  Opcode 3 has 1 args
-  Opcode 4 has 1 args
-  Opcode 5 has 1 args
+  Opcode 2 has 1 arg
+  Opcode 3 has 1 arg
+  Opcode 4 has 1 arg
+  Opcode 5 has 1 arg
   Opcode 6 has 0 args
   Opcode 7 has 0 args
   Opcode 8 has 0 args
-  Opcode 9 has 1 args
+  Opcode 9 has 1 arg
   Opcode 10 has 0 args
   Opcode 11 has 0 args
-  Opcode 12 has 1 args
+  Opcode 12 has 1 arg
   Opcode 13 has 0 args
   Opcode 14 has 0 args
   Opcode 15 has 0 args
diff --git a/gas/testsuite/gas/i386/debug1.d b/gas/testsuite/gas/i386/debug1.d
index f8465aa..a7daa4b 100644
--- a/gas/testsuite/gas/i386/debug1.d
+++ b/gas/testsuite/gas/i386/debug1.d
@@ -16,17 +16,17 @@ Raw dump of debug contents of section \.z?debug_line:
 
  Opcodes:
   Opcode 1 has 0 args
-  Opcode 2 has 1 args
-  Opcode 3 has 1 args
-  Opcode 4 has 1 args
-  Opcode 5 has 1 args
+  Opcode 2 has 1 arg
+  Opcode 3 has 1 arg
+  Opcode 4 has 1 arg
+  Opcode 5 has 1 arg
   Opcode 6 has 0 args
   Opcode 7 has 0 args
   Opcode 8 has 0 args
-  Opcode 9 has 1 args
+  Opcode 9 has 1 arg
   Opcode 10 has 0 args
   Opcode 11 has 0 args
-  Opcode 12 has 1 args
+  Opcode 12 has 1 arg
 
  The Directory Table \(offset 0x.*\):
   .*
diff --git a/gas/testsuite/gas/i386/dw2-compress-1.d b/gas/testsuite/gas/i386/dw2-compress-1.d
index bfd4837..3666399 100644
--- a/gas/testsuite/gas/i386/dw2-compress-1.d
+++ b/gas/testsuite/gas/i386/dw2-compress-1.d
@@ -72,17 +72,17 @@ Raw dump of debug contents of section .z?debug_line:
 
  Opcodes:
   Opcode 1 has 0 args
-  Opcode 2 has 1 args
-  Opcode 3 has 1 args
-  Opcode 4 has 1 args
-  Opcode 5 has 1 args
+  Opcode 2 has 1 arg
+  Opcode 3 has 1 arg
+  Opcode 4 has 1 arg
+  Opcode 5 has 1 arg
   Opcode 6 has 0 args
   Opcode 7 has 0 args
   Opcode 8 has 0 args
-  Opcode 9 has 1 args
+  Opcode 9 has 1 arg
   Opcode 10 has 0 args
   Opcode 11 has 0 args
-  Opcode 12 has 1 args
+  Opcode 12 has 1 arg
   Opcode 13 has 0 args
   Opcode 14 has 0 args
   Opcode 15 has 0 args
diff --git a/gas/testsuite/gas/i386/dw2-compress-3a.d b/gas/testsuite/gas/i386/dw2-compress-3a.d
index fe19884..37aec45 100644
--- a/gas/testsuite/gas/i386/dw2-compress-3a.d
+++ b/gas/testsuite/gas/i386/dw2-compress-3a.d
@@ -78,17 +78,17 @@ Raw dump of debug contents of section .debug_line:
 
  Opcodes:
   Opcode 1 has 0 args
-  Opcode 2 has 1 args
-  Opcode 3 has 1 args
-  Opcode 4 has 1 args
-  Opcode 5 has 1 args
+  Opcode 2 has 1 arg
+  Opcode 3 has 1 arg
+  Opcode 4 has 1 arg
+  Opcode 5 has 1 arg
   Opcode 6 has 0 args
   Opcode 7 has 0 args
   Opcode 8 has 0 args
-  Opcode 9 has 1 args
+  Opcode 9 has 1 arg
   Opcode 10 has 0 args
   Opcode 11 has 0 args
-  Opcode 12 has 1 args
+  Opcode 12 has 1 arg
 
  The Directory Table is empty.
 
diff --git a/gas/testsuite/gas/i386/dw2-compress-3b.d b/gas/testsuite/gas/i386/dw2-compress-3b.d
index aa0651e..7b4aead 100644
--- a/gas/testsuite/gas/i386/dw2-compress-3b.d
+++ b/gas/testsuite/gas/i386/dw2-compress-3b.d
@@ -78,17 +78,17 @@ Raw dump of debug contents of section .debug_line:
 
  Opcodes:
   Opcode 1 has 0 args
-  Opcode 2 has 1 args
-  Opcode 3 has 1 args
-  Opcode 4 has 1 args
-  Opcode 5 has 1 args
+  Opcode 2 has 1 arg
+  Opcode 3 has 1 arg
+  Opcode 4 has 1 arg
+  Opcode 5 has 1 arg
   Opcode 6 has 0 args
   Opcode 7 has 0 args
   Opcode 8 has 0 args
-  Opcode 9 has 1 args
+  Opcode 9 has 1 arg
   Opcode 10 has 0 args
   Opcode 11 has 0 args
-  Opcode 12 has 1 args
+  Opcode 12 has 1 arg
 
  The Directory Table is empty.
 
diff --git a/gas/testsuite/gas/i386/dw2-compressed-1.d b/gas/testsuite/gas/i386/dw2-compressed-1.d
index 0a2a092..1b77b22 100644
--- a/gas/testsuite/gas/i386/dw2-compressed-1.d
+++ b/gas/testsuite/gas/i386/dw2-compressed-1.d
@@ -73,17 +73,17 @@ Raw dump of debug contents of section .debug_line:
 
  Opcodes:
   Opcode 1 has 0 args
-  Opcode 2 has 1 args
-  Opcode 3 has 1 args
-  Opcode 4 has 1 args
-  Opcode 5 has 1 args
+  Opcode 2 has 1 arg
+  Opcode 3 has 1 arg
+  Opcode 4 has 1 arg
+  Opcode 5 has 1 arg
   Opcode 6 has 0 args
   Opcode 7 has 0 args
   Opcode 8 has 0 args
-  Opcode 9 has 1 args
+  Opcode 9 has 1 arg
   Opcode 10 has 0 args
   Opcode 11 has 0 args
-  Opcode 12 has 1 args
+  Opcode 12 has 1 arg
   Opcode 13 has 0 args
   Opcode 14 has 0 args
   Opcode 15 has 0 args
diff --git a/gas/testsuite/gas/i386/dw2-compressed-3a.d b/gas/testsuite/gas/i386/dw2-compressed-3a.d
index a0d16c7..2e68d9f 100644
--- a/gas/testsuite/gas/i386/dw2-compressed-3a.d
+++ b/gas/testsuite/gas/i386/dw2-compressed-3a.d
@@ -78,17 +78,17 @@ Raw dump of debug contents of section .debug_line:
 
  Opcodes:
   Opcode 1 has 0 args
-  Opcode 2 has 1 args
-  Opcode 3 has 1 args
-  Opcode 4 has 1 args
-  Opcode 5 has 1 args
+  Opcode 2 has 1 arg
+  Opcode 3 has 1 arg
+  Opcode 4 has 1 arg
+  Opcode 5 has 1 arg
   Opcode 6 has 0 args
   Opcode 7 has 0 args
   Opcode 8 has 0 args
-  Opcode 9 has 1 args
+  Opcode 9 has 1 arg
   Opcode 10 has 0 args
   Opcode 11 has 0 args
-  Opcode 12 has 1 args
+  Opcode 12 has 1 arg
 
  The Directory Table is empty.
 
diff --git a/gas/testsuite/gas/i386/dw2-compressed-3b.d b/gas/testsuite/gas/i386/dw2-compressed-3b.d
index 6469ca9..12008bb 100644
--- a/gas/testsuite/gas/i386/dw2-compressed-3b.d
+++ b/gas/testsuite/gas/i386/dw2-compressed-3b.d
@@ -78,17 +78,17 @@ Raw dump of debug contents of section .debug_line:
 
  Opcodes:
   Opcode 1 has 0 args
-  Opcode 2 has 1 args
-  Opcode 3 has 1 args
-  Opcode 4 has 1 args
-  Opcode 5 has 1 args
+  Opcode 2 has 1 arg
+  Opcode 3 has 1 arg
+  Opcode 4 has 1 arg
+  Opcode 5 has 1 arg
   Opcode 6 has 0 args
   Opcode 7 has 0 args
   Opcode 8 has 0 args
-  Opcode 9 has 1 args
+  Opcode 9 has 1 arg
   Opcode 10 has 0 args
   Opcode 11 has 0 args
-  Opcode 12 has 1 args
+  Opcode 12 has 1 arg
 
  The Directory Table is empty.
 
diff --git a/gas/testsuite/gas/i386/ilp32/x86-64-localpic.d b/gas/testsuite/gas/i386/ilp32/x86-64-localpic.d
index a9528a2..e9b77f2 100644
--- a/gas/testsuite/gas/i386/ilp32/x86-64-localpic.d
+++ b/gas/testsuite/gas/i386/ilp32/x86-64-localpic.d
@@ -3,7 +3,7 @@
 #readelf: -rsW
 #name: x86-64 (ILP32) local PIC
 
-Relocation section '.rela.text' at offset 0x[0-9a-f]+ contains 1 entries:
+Relocation section '.rela.text' at offset 0x[0-9a-f]+ contains 1 entry:
  +Offset +Info +Type +Sym. Value +Symbol's Name \+ Addend
 [0-9a-f]+ +[0-9a-f]+ R_X86_64_REX_GOTPCRELX +[0-9a-f]+ +foo - 4
 #...
diff --git a/gas/testsuite/gas/i386/localpic.d b/gas/testsuite/gas/i386/localpic.d
index 0a5eec5..88d3566 100644
--- a/gas/testsuite/gas/i386/localpic.d
+++ b/gas/testsuite/gas/i386/localpic.d
@@ -2,7 +2,7 @@
 #readelf: -rs
 #name: i386 local PIC
 
-Relocation section '.rel.text' at offset 0x[0-9a-f]+ contains 1 entries:
+Relocation section '.rel.text' at offset 0x[0-9a-f]+ contains 1 entry:
  Offset     Info    Type            Sym.Value  Sym. Name
 [0-9a-f]+ +[0-9a-f]+ R_386_GOT32X +[0-9a-f]+ +foo
 #...
diff --git a/gas/testsuite/gas/i386/x86-64-localpic.d b/gas/testsuite/gas/i386/x86-64-localpic.d
index bafaa9c..9f8b43e 100644
--- a/gas/testsuite/gas/i386/x86-64-localpic.d
+++ b/gas/testsuite/gas/i386/x86-64-localpic.d
@@ -2,7 +2,7 @@
 #readelf: -rsW
 #name: x86-64 local PIC
 
-Relocation section '.rela.text' at offset 0x[0-9a-f]+ contains 1 entries:
+Relocation section '.rela.text' at offset 0x[0-9a-f]+ contains 1 entry:
  +Offset +Info +Type +Symbol's Value +Symbol's Name \+ Addend
 [0-9a-f]+ +[0-9a-f]+ R_X86_64_REX_GOTPCRELX +[0-9a-f]+ +foo - 4
 #...
diff --git a/gas/testsuite/gas/ia64/pr13167.d b/gas/testsuite/gas/ia64/pr13167.d
index b633917..ecce154 100644
--- a/gas/testsuite/gas/ia64/pr13167.d
+++ b/gas/testsuite/gas/ia64/pr13167.d
@@ -14,17 +14,17 @@ Raw dump of debug contents of section \.debug_line:
 
  Opcodes:
   Opcode 1 has 0 args
-  Opcode 2 has 1 args
-  Opcode 3 has 1 args
-  Opcode 4 has 1 args
-  Opcode 5 has 1 args
+  Opcode 2 has 1 arg
+  Opcode 3 has 1 arg
+  Opcode 4 has 1 arg
+  Opcode 5 has 1 arg
   Opcode 6 has 0 args
   Opcode 7 has 0 args
   Opcode 8 has 0 args
-  Opcode 9 has 1 args
+  Opcode 9 has 1 arg
   Opcode 10 has 0 args
   Opcode 11 has 0 args
-  Opcode 12 has 1 args
+  Opcode 12 has 1 arg
 
  The Directory Table is empty\.
 
diff --git a/gas/testsuite/gas/mips/loc-swap-2.d b/gas/testsuite/gas/mips/loc-swap-2.d
index 6176614..204b93d 100644
--- a/gas/testsuite/gas/mips/loc-swap-2.d
+++ b/gas/testsuite/gas/mips/loc-swap-2.d
@@ -18,17 +18,17 @@ Raw dump of debug contents of section .debug_line:
 
  Opcodes:
   Opcode 1 has 0 args
-  Opcode 2 has 1 args
-  Opcode 3 has 1 args
-  Opcode 4 has 1 args
-  Opcode 5 has 1 args
+  Opcode 2 has 1 arg
+  Opcode 3 has 1 arg
+  Opcode 4 has 1 arg
+  Opcode 5 has 1 arg
   Opcode 6 has 0 args
   Opcode 7 has 0 args
   Opcode 8 has 0 args
-  Opcode 9 has 1 args
+  Opcode 9 has 1 arg
   Opcode 10 has 0 args
   Opcode 11 has 0 args
-  Opcode 12 has 1 args
+  Opcode 12 has 1 arg
 
  The Directory Table is empty.
 
diff --git a/gas/testsuite/gas/mips/loc-swap.d b/gas/testsuite/gas/mips/loc-swap.d
index 94fe7cd..48e13ef 100644
--- a/gas/testsuite/gas/mips/loc-swap.d
+++ b/gas/testsuite/gas/mips/loc-swap.d
@@ -21,17 +21,17 @@ Raw dump of debug contents of section \.debug_line:
 
  Opcodes:
   Opcode 1 has 0 args
-  Opcode 2 has 1 args
-  Opcode 3 has 1 args
-  Opcode 4 has 1 args
-  Opcode 5 has 1 args
+  Opcode 2 has 1 arg
+  Opcode 3 has 1 arg
+  Opcode 4 has 1 arg
+  Opcode 5 has 1 arg
   Opcode 6 has 0 args
   Opcode 7 has 0 args
   Opcode 8 has 0 args
-  Opcode 9 has 1 args
+  Opcode 9 has 1 arg
   Opcode 10 has 0 args
   Opcode 11 has 0 args
-  Opcode 12 has 1 args
+  Opcode 12 has 1 arg
 
  The Directory Table is empty\.
 
diff --git a/gas/testsuite/gas/mips/micromips@loc-swap-2.d b/gas/testsuite/gas/mips/micromips@loc-swap-2.d
index 9504be7..ad96744 100644
--- a/gas/testsuite/gas/mips/micromips@loc-swap-2.d
+++ b/gas/testsuite/gas/mips/micromips@loc-swap-2.d
@@ -18,17 +18,17 @@ Raw dump of debug contents of section .debug_line:
 
  Opcodes:
   Opcode 1 has 0 args
-  Opcode 2 has 1 args
-  Opcode 3 has 1 args
-  Opcode 4 has 1 args
-  Opcode 5 has 1 args
+  Opcode 2 has 1 arg
+  Opcode 3 has 1 arg
+  Opcode 4 has 1 arg
+  Opcode 5 has 1 arg
   Opcode 6 has 0 args
   Opcode 7 has 0 args
   Opcode 8 has 0 args
-  Opcode 9 has 1 args
+  Opcode 9 has 1 arg
   Opcode 10 has 0 args
   Opcode 11 has 0 args
-  Opcode 12 has 1 args
+  Opcode 12 has 1 arg
 
  The Directory Table is empty.
 
diff --git a/gas/testsuite/gas/mips/micromips@loc-swap.d b/gas/testsuite/gas/mips/micromips@loc-swap.d
index 1427fee..a7f07e5 100644
--- a/gas/testsuite/gas/mips/micromips@loc-swap.d
+++ b/gas/testsuite/gas/mips/micromips@loc-swap.d
@@ -22,17 +22,17 @@ Raw dump of debug contents of section \.debug_line:
 
  Opcodes:
   Opcode 1 has 0 args
-  Opcode 2 has 1 args
-  Opcode 3 has 1 args
-  Opcode 4 has 1 args
-  Opcode 5 has 1 args
+  Opcode 2 has 1 arg
+  Opcode 3 has 1 arg
+  Opcode 4 has 1 arg
+  Opcode 5 has 1 arg
   Opcode 6 has 0 args
   Opcode 7 has 0 args
   Opcode 8 has 0 args
-  Opcode 9 has 1 args
+  Opcode 9 has 1 arg
   Opcode 10 has 0 args
   Opcode 11 has 0 args
-  Opcode 12 has 1 args
+  Opcode 12 has 1 arg
 
  The Directory Table is empty\.
 
diff --git a/gas/testsuite/gas/mips/mips16-dwarf2-n32.d b/gas/testsuite/gas/mips/mips16-dwarf2-n32.d
index f68564c..de276092 100644
--- a/gas/testsuite/gas/mips/mips16-dwarf2-n32.d
+++ b/gas/testsuite/gas/mips/mips16-dwarf2-n32.d
@@ -10,7 +10,7 @@ Relocation section '\.rela\.debug_info' at offset .* contains 4 entries:
 0+0010 * 0+..02 * R_MIPS_32 * 0+0000 * \.text \+ 0
 0+0014 * 0+..02 * R_MIPS_32 * 0+0000 * \.text \+ 910
 
-Relocation section '\.rela\.debug_line' at offset .* contains 1 entries:
+Relocation section '\.rela\.debug_line' at offset .* contains 1 entry:
  *Offset * Info * Type * Sym\.Value * Sym\. Name \+ Addend
 0+0033 * 0+..02 * R_MIPS_32 * 0+0000 * .text \+ 1
 
diff --git a/gas/testsuite/gas/mips/mips16-dwarf2.d b/gas/testsuite/gas/mips/mips16-dwarf2.d
index 51935c0..6b79dac 100644
--- a/gas/testsuite/gas/mips/mips16-dwarf2.d
+++ b/gas/testsuite/gas/mips/mips16-dwarf2.d
@@ -10,7 +10,7 @@ Relocation section '\.rel\.debug_info' at offset .* contains 4 entries:
 0+0010 * 0+..02 * R_MIPS_32 * 0+0000 * \.text
 0+0014 * 0+..02 * R_MIPS_32 * 0+0000 * \.text
 
-Relocation section '\.rel\.debug_line' at offset .* contains 1 entries:
+Relocation section '\.rel\.debug_line' at offset .* contains 1 entry:
  *Offset * Info * Type * Sym\.Value * Sym\. Name
 0+0033 * 0+..02 * R_MIPS_32 * 0+0000 * \.text
 
diff --git a/gas/testsuite/gas/mips/mips16@loc-swap-2.d b/gas/testsuite/gas/mips/mips16@loc-swap-2.d
index a4cc000..85beeac 100644
--- a/gas/testsuite/gas/mips/mips16@loc-swap-2.d
+++ b/gas/testsuite/gas/mips/mips16@loc-swap-2.d
@@ -18,17 +18,17 @@ Raw dump of debug contents of section .debug_line:
 
  Opcodes:
   Opcode 1 has 0 args
-  Opcode 2 has 1 args
-  Opcode 3 has 1 args
-  Opcode 4 has 1 args
-  Opcode 5 has 1 args
+  Opcode 2 has 1 arg
+  Opcode 3 has 1 arg
+  Opcode 4 has 1 arg
+  Opcode 5 has 1 arg
   Opcode 6 has 0 args
   Opcode 7 has 0 args
   Opcode 8 has 0 args
-  Opcode 9 has 1 args
+  Opcode 9 has 1 arg
   Opcode 10 has 0 args
   Opcode 11 has 0 args
-  Opcode 12 has 1 args
+  Opcode 12 has 1 arg
 
  The Directory Table is empty.
 
diff --git a/gas/testsuite/gas/mips/mips16@loc-swap.d b/gas/testsuite/gas/mips/mips16@loc-swap.d
index 9b02346..cdac1ae 100644
--- a/gas/testsuite/gas/mips/mips16@loc-swap.d
+++ b/gas/testsuite/gas/mips/mips16@loc-swap.d
@@ -21,17 +21,17 @@ Raw dump of debug contents of section \.debug_line:
 
  Opcodes:
   Opcode 1 has 0 args
-  Opcode 2 has 1 args
-  Opcode 3 has 1 args
-  Opcode 4 has 1 args
-  Opcode 5 has 1 args
+  Opcode 2 has 1 arg
+  Opcode 3 has 1 arg
+  Opcode 4 has 1 arg
+  Opcode 5 has 1 arg
   Opcode 6 has 0 args
   Opcode 7 has 0 args
   Opcode 8 has 0 args
-  Opcode 9 has 1 args
+  Opcode 9 has 1 arg
   Opcode 10 has 0 args
   Opcode 11 has 0 args
-  Opcode 12 has 1 args
+  Opcode 12 has 1 arg
 
  The Directory Table is empty\.
 
diff --git a/gas/testsuite/gas/mips/mips16e@loc-swap.d b/gas/testsuite/gas/mips/mips16e@loc-swap.d
index 7356e3f..973745f 100644
--- a/gas/testsuite/gas/mips/mips16e@loc-swap.d
+++ b/gas/testsuite/gas/mips/mips16e@loc-swap.d
@@ -21,17 +21,17 @@ Raw dump of debug contents of section \.debug_line:
 
  Opcodes:
   Opcode 1 has 0 args
-  Opcode 2 has 1 args
-  Opcode 3 has 1 args
-  Opcode 4 has 1 args
-  Opcode 5 has 1 args
+  Opcode 2 has 1 arg
+  Opcode 3 has 1 arg
+  Opcode 4 has 1 arg
+  Opcode 5 has 1 arg
   Opcode 6 has 0 args
   Opcode 7 has 0 args
   Opcode 8 has 0 args
-  Opcode 9 has 1 args
+  Opcode 9 has 1 arg
   Opcode 10 has 0 args
   Opcode 11 has 0 args
-  Opcode 12 has 1 args
+  Opcode 12 has 1 arg
 
  The Directory Table is empty\.
 
diff --git a/gas/testsuite/gas/mmix/bspec-1.d b/gas/testsuite/gas/mmix/bspec-1.d
index 4bbda8d..ab2e155 100644
--- a/gas/testsuite/gas/mmix/bspec-1.d
+++ b/gas/testsuite/gas/mmix/bspec-1.d
@@ -6,7 +6,7 @@ There are 9 section headers, starting at offset .*:
  +\[ 5\] \.rela\.MMIX\.spec_d +RELA +0+ +.*
  +0+18 +0+18 +I +6 +4 +8
 #...
-Relocation section '\.rela\.MMIX\.spec_data\.2' at offset 0x[0-9a-f]+ contains 1 entries:
+Relocation section '\.rela\.MMIX\.spec_data\.2' at offset 0x[0-9a-f]+ contains 1 entry:
 .*
 0+ +0+500000004 R_MMIX_32 +0+ +forw +\+ 0
 
diff --git a/gas/testsuite/gas/mmix/bspec-2.d b/gas/testsuite/gas/mmix/bspec-2.d
index ab3afd3..4841229 100644
--- a/gas/testsuite/gas/mmix/bspec-2.d
+++ b/gas/testsuite/gas/mmix/bspec-2.d
@@ -15,7 +15,7 @@ Relocation section '\.rela\.MMIX\.spec_data\.2' at offset .* contains 2 entries:
 0+  0+600000004 R_MMIX_32 +0+ +forw +\+ 0
 0+8  0+700000005 R_MMIX_64 +0+ +other +\+ 0
 
-Relocation section '\.rela\.MMIX\.spec_data\.3' at offset .* contains 1 entries:
+Relocation section '\.rela\.MMIX\.spec_data\.3' at offset .* contains 1 entry:
 .*
 0+  0+700000005 R_MMIX_64 +0+ +other +\+ 0
 
diff --git a/gas/testsuite/gas/tic6x/unwind-1.d b/gas/testsuite/gas/tic6x/unwind-1.d
index bcfe822..e33f28b 100644
--- a/gas/testsuite/gas/tic6x/unwind-1.d
+++ b/gas/testsuite/gas/tic6x/unwind-1.d
@@ -3,7 +3,7 @@
 #as: -mlittle-endian
 #source: unwind-1.s
 
-Unwind table index '.c6xabi.exidx' .*
+Unwind section '.c6xabi.exidx' .*
 
 0x0: 0x83020227
   Compact model index: 3
diff --git a/gas/testsuite/gas/tic6x/unwind-2.d b/gas/testsuite/gas/tic6x/unwind-2.d
index af5f387..81fe855 100644
--- a/gas/testsuite/gas/tic6x/unwind-2.d
+++ b/gas/testsuite/gas/tic6x/unwind-2.d
@@ -3,7 +3,7 @@
 #as: -mbig-endian
 #source: unwind-2.s
 
-Unwind table index '.c6xabi.exidx' .*
+Unwind section '.c6xabi.exidx' .*
 
 0x0: 0x83020227
   Compact model index: 3
diff --git a/gas/testsuite/gas/tic6x/unwind-3.d b/gas/testsuite/gas/tic6x/unwind-3.d
index 13f5a51..9c9adad 100644
--- a/gas/testsuite/gas/tic6x/unwind-3.d
+++ b/gas/testsuite/gas/tic6x/unwind-3.d
@@ -2,7 +2,7 @@
 #name: C6X unwinding directives 3 (segment change)
 #source: unwind-3.s
 
-Unwind table index '.c6xabi.exidx.text.bar' .*
+Unwind section '.c6xabi.exidx.text.bar' .*
 
 0x0: 0x830e2807
   Compact model index: 3
@@ -10,7 +10,7 @@ Unwind table index '.c6xabi.exidx.text.bar' .*
   Registers restored: B11, B13
   Return register: B3
 
-Unwind table index '.c6xabi.exidx' .*
+Unwind section '.c6xabi.exidx' .*
 
 0x0: 0x80008021
   Compact model index: 0
diff --git a/ld/ChangeLog b/ld/ChangeLog
index a76dde7..9248841 100644
--- a/ld/ChangeLog
+++ b/ld/ChangeLog
@@ -1,5 +1,157 @@
 2017-11-07  Alan Modra  <amodra@gmail.com>
 
+	* testsuite/ld-aarch64/ifunc-13.d,
+	* testsuite/ld-aarch64/ifunc-15.d,
+	* testsuite/ld-aarch64/ifunc-20.d,
+	* testsuite/ld-alpha/tlsbin.rd,
+	* testsuite/ld-alpha/tlspic.rd,
+	* testsuite/ld-arm/ifunc-3.rd,
+	* testsuite/ld-arm/ifunc-9.rd,
+	* testsuite/ld-arm/unwind-mix.d,
+	* testsuite/ld-arm/unwind-rel.d,
+	* testsuite/ld-cris/hiddef1.d,
+	* testsuite/ld-cris/libdso-13.d,
+	* testsuite/ld-cris/libdso-2.d,
+	* testsuite/ld-cris/pr16044.d,
+	* testsuite/ld-cris/tls-local-63.d,
+	* testsuite/ld-cris/tls-local-64.d,
+	* testsuite/ld-cris/tls-und-38.d,
+	* testsuite/ld-cris/tls-und-42.d,
+	* testsuite/ld-cris/tls-und-46.d,
+	* testsuite/ld-cris/tls-und-50.d,
+	* testsuite/ld-cris/weakref3.d,
+	* testsuite/ld-cris/weakref4.d,
+	* testsuite/ld-elf/comm-data2r.rd,
+	* testsuite/ld-elf/discard1.d,
+	* testsuite/ld-elf/discard2.d,
+	* testsuite/ld-elf/pr19539.d,
+	* testsuite/ld-elf/pr22374-1.r,
+	* testsuite/ld-elf/pr22374-2.r,
+	* testsuite/ld-i386/combreloc.d,
+	* testsuite/ld-i386/emit-relocs-nacl.rd,
+	* testsuite/ld-i386/emit-relocs.rd,
+	* testsuite/ld-i386/pr13302.d,
+	* testsuite/ld-i386/pr17709-nacl.rd,
+	* testsuite/ld-i386/pr17709.rd,
+	* testsuite/ld-i386/pr19539.d,
+	* testsuite/ld-i386/pr19615.d,
+	* testsuite/ld-i386/pr19636-1a.d,
+	* testsuite/ld-i386/pr19636-1e.d,
+	* testsuite/ld-i386/pr19636-1f.d,
+	* testsuite/ld-i386/pr19636-2a.d,
+	* testsuite/ld-i386/pr19636-2b.d,
+	* testsuite/ld-i386/pr19636-2d-nacl.d,
+	* testsuite/ld-i386/pr19636-2e-nacl.d,
+	* testsuite/ld-i386/pr19636-3a.d,
+	* testsuite/ld-i386/pr19636-3d.d,
+	* testsuite/ld-i386/pr19636-3e.d,
+	* testsuite/ld-i386/pr19636-4a.d,
+	* testsuite/ld-i386/pr19645.d,
+	* testsuite/ld-i386/pr19827-nacl.rd,
+	* testsuite/ld-i386/pr19827.rd,
+	* testsuite/ld-i386/pr20253-4a.d,
+	* testsuite/ld-i386/pr20253-4b.d,
+	* testsuite/ld-i386/pr20253-5.d,
+	* testsuite/ld-i386/tlsbin-nacl.rd,
+	* testsuite/ld-i386/tlsbin.rd,
+	* testsuite/ld-i386/tlspic-nacl.rd,
+	* testsuite/ld-i386/tlspic.rd,
+	* testsuite/ld-i386/undefweakb.d,
+	* testsuite/ld-ia64/tlsbin.rd,
+	* testsuite/ld-ia64/tlspic.rd,
+	* testsuite/ld-ifunc/ifunc-13-i386.d,
+	* testsuite/ld-ifunc/ifunc-13-x86-64.d,
+	* testsuite/ld-ifunc/ifunc-15-i386.d,
+	* testsuite/ld-ifunc/ifunc-15-x86-64.d,
+	* testsuite/ld-ifunc/ifunc-20-i386.d,
+	* testsuite/ld-ifunc/ifunc-20-x86-64.d,
+	* testsuite/ld-ifunc/ifunc-23a-x86.d,
+	* testsuite/ld-ifunc/ifunc-23b-x86.d,
+	* testsuite/ld-ifunc/ifunc-23c-x86.d,
+	* testsuite/ld-ifunc/ifunc-24a-x86.d,
+	* testsuite/ld-ifunc/ifunc-24b-x86.d,
+	* testsuite/ld-ifunc/ifunc-24c-x86.d,
+	* testsuite/ld-ifunc/ifunc-25a-x86.d,
+	* testsuite/ld-ifunc/ifunc-25b-x86.d,
+	* testsuite/ld-ifunc/ifunc-25c-x86.d,
+	* testsuite/ld-m68k/got-1.d,
+	* testsuite/ld-mips-elf/vxworks1.rd,
+	* testsuite/ld-powerpc/ambiguousv1.d,
+	* testsuite/ld-powerpc/ambiguousv1b.d,
+	* testsuite/ld-powerpc/ambiguousv2.d,
+	* testsuite/ld-powerpc/ambiguousv2b.d,
+	* testsuite/ld-powerpc/tlsexe.r,
+	* testsuite/ld-powerpc/tlsexe32.r,
+	* testsuite/ld-powerpc/tlsexetoc.r,
+	* testsuite/ld-powerpc/tlsso.r,
+	* testsuite/ld-powerpc/tlsso32.r,
+	* testsuite/ld-powerpc/tlstocso.r,
+	* testsuite/ld-powerpc/vle-multiseg-1.d,
+	* testsuite/ld-powerpc/vle-multiseg-2.d,
+	* testsuite/ld-powerpc/vle-multiseg-3.d,
+	* testsuite/ld-s390/tlsbin.rd,
+	* testsuite/ld-s390/tlsbin_64.rd,
+	* testsuite/ld-s390/tlspic.rd,
+	* testsuite/ld-s390/tlspic_64.rd,
+	* testsuite/ld-sh/ld-r-1.d,
+	* testsuite/ld-sh/sh64/gotplt.d,
+	* testsuite/ld-sh/shared-1.d,
+	* testsuite/ld-sh/tlsbin-2.d,
+	* testsuite/ld-sh/tlspic-2.d,
+	* testsuite/ld-sparc/gotop32.rd,
+	* testsuite/ld-sparc/gotop64.rd,
+	* testsuite/ld-sparc/tlssunpic32.rd,
+	* testsuite/ld-sparc/tlssunpic64.rd,
+	* testsuite/ld-sparc/vxworks1-lib.rd,
+	* testsuite/ld-tic6x/shlib-app-1.rd,
+	* testsuite/ld-tic6x/shlib-app-1b.rd,
+	* testsuite/ld-tic6x/shlib-app-1r.rd,
+	* testsuite/ld-tic6x/shlib-app-1rb.rd,
+	* testsuite/ld-tic6x/shlib-noindex.rd,
+	* testsuite/ld-vax-elf/export-class-data.rd,
+	* testsuite/ld-x86-64/pr13082-1a.d,
+	* testsuite/ld-x86-64/pr13082-1b.d,
+	* testsuite/ld-x86-64/pr13082-2a.d,
+	* testsuite/ld-x86-64/pr13082-2b.d,
+	* testsuite/ld-x86-64/pr13082-3a.d,
+	* testsuite/ld-x86-64/pr13082-3c.d,
+	* testsuite/ld-x86-64/pr13082-4a.d,
+	* testsuite/ld-x86-64/pr13082-5a.d,
+	* testsuite/ld-x86-64/pr13082-5b.d,
+	* testsuite/ld-x86-64/pr13082-6a.d,
+	* testsuite/ld-x86-64/pr13082-6b.d,
+	* testsuite/ld-x86-64/pr17709-nacl.rd,
+	* testsuite/ld-x86-64/pr17709.rd,
+	* testsuite/ld-x86-64/pr19539a.d,
+	* testsuite/ld-x86-64/pr19539b.d,
+	* testsuite/ld-x86-64/pr19615.d,
+	* testsuite/ld-x86-64/pr19636-1a.d,
+	* testsuite/ld-x86-64/pr19636-1d.d,
+	* testsuite/ld-x86-64/pr19636-1e.d,
+	* testsuite/ld-x86-64/pr19636-2a.d,
+	* testsuite/ld-x86-64/pr19636-2e.d,
+	* testsuite/ld-x86-64/pr19636-2f.d,
+	* testsuite/ld-x86-64/pr19636-3a.d,
+	* testsuite/ld-x86-64/pr19645.d,
+	* testsuite/ld-x86-64/pr19807-2b.d,
+	* testsuite/ld-x86-64/pr19807-2d.d,
+	* testsuite/ld-x86-64/pr19827-nacl.rd,
+	* testsuite/ld-x86-64/pr19827.rd,
+	* testsuite/ld-x86-64/pr20253-4a.d,
+	* testsuite/ld-x86-64/pr20253-4b.d,
+	* testsuite/ld-x86-64/pr20253-4d.d,
+	* testsuite/ld-x86-64/pr20253-4e.d,
+	* testsuite/ld-x86-64/pr20253-5a.d,
+	* testsuite/ld-x86-64/pr20253-5b.d,
+	* testsuite/ld-x86-64/tlsbin-nacl.rd,
+	* testsuite/ld-x86-64/tlsbin.rd,
+	* testsuite/ld-x86-64/tlspic-nacl.rd,
+	* testsuite/ld-x86-64/tlspic.rd,
+	* testsuite/ld-x86-64/tlspic2-nacl.rd: Update for
+	pluralization fixes.
+
+2017-11-07  Alan Modra  <amodra@gmail.com>
+
 	* ldlang.c (lang_size_sections_1): Properly pluralize messages.
 	(lang_check_section_addresses): Likewise.
 
diff --git a/ld/testsuite/ld-aarch64/ifunc-13.d b/ld/testsuite/ld-aarch64/ifunc-13.d
index e1b5c10..75ba03f 100644
--- a/ld/testsuite/ld-aarch64/ifunc-13.d
+++ b/ld/testsuite/ld-aarch64/ifunc-13.d
@@ -4,10 +4,10 @@
 #readelf: -r --wide
 #target: aarch64*-*-*
 
-Relocation section '.rela.ifunc' at offset 0x[0-9a-f]+ contains 1 entries:
+Relocation section '.rela.ifunc' at offset 0x[0-9a-f]+ contains 1 entry:
 [ ]+Offset[ ]+Info[ ]+Type[ ]+.*
 [0-9a-f]+[ ]+[0-9a-f]+[ ]+R_AARCH64_ABS64[ ]+ifunc\(\)[ ]+ifunc \+ 0
 
-Relocation section '.rela.plt' at offset 0x[0-9a-f]+ contains 1 entries:
+Relocation section '.rela.plt' at offset 0x[0-9a-f]+ contains 1 entry:
 [ ]+Offset[ ]+Info[ ]+Type[ ]+.*
 [0-9a-f]+[ ]+[0-9a-f]+[ ]+R_AARCH64_JUMP_SLOT[ ]+ifunc\(\)[ ]+ifunc \+ 0
diff --git a/ld/testsuite/ld-aarch64/ifunc-15.d b/ld/testsuite/ld-aarch64/ifunc-15.d
index 801b615..66bb988 100644
--- a/ld/testsuite/ld-aarch64/ifunc-15.d
+++ b/ld/testsuite/ld-aarch64/ifunc-15.d
@@ -3,10 +3,10 @@
 #readelf: -r --wide
 #target: aarch64*-*-*
 
-Relocation section '.rela.got' at offset 0x[0-9a-f]+ contains 1 entries:
+Relocation section '.rela.got' at offset 0x[0-9a-f]+ contains 1 entry:
 [ ]+Offset[ ]+Info[ ]+Type[ ]+.*
 [0-9a-f]+[ ]+[0-9a-f]+[ ]+R_AARCH64_(P32_|)GLOB_DAT[ ]+ifunc\(\)[ ]+ifunc \+ 0
 
-Relocation section '.rela.plt' at offset 0x[0-9a-f]+ contains 1 entries:
+Relocation section '.rela.plt' at offset 0x[0-9a-f]+ contains 1 entry:
 [ ]+Offset[ ]+Info[ ]+Type[ ]+.*
 [0-9a-f]+[ ]+[0-9a-f]+[ ]+R_AARCH64_(P32_|)JUMP_SLO(T|)[ ]+ifunc\(\)[ ]+ifunc \+ 0
diff --git a/ld/testsuite/ld-aarch64/ifunc-20.d b/ld/testsuite/ld-aarch64/ifunc-20.d
index 3380479..603ba07 100644
--- a/ld/testsuite/ld-aarch64/ifunc-20.d
+++ b/ld/testsuite/ld-aarch64/ifunc-20.d
@@ -3,10 +3,10 @@
 #readelf: -r --wide
 #target: aarch64*-*-*
 
-Relocation section '.rela.ifunc' at offset 0x[0-9a-f]+ contains 1 entries:
+Relocation section '.rela.ifunc' at offset 0x[0-9a-f]+ contains 1 entry:
 [ ]+Offset[ ]+Info[ ]+Type[ ]+.*
 [0-9a-f]+[ ]+[0-9a-f]+[ ]+R_AARCH64_ABS64[ ]+ifunc\(\)[ ]+ifunc \+ 0
 
-Relocation section '.rela.plt' at offset 0x[0-9a-f]+ contains 1 entries:
+Relocation section '.rela.plt' at offset 0x[0-9a-f]+ contains 1 entry:
 [ ]+Offset[ ]+Info[ ]+Type[ ]+.*
 [0-9a-f]+[ ]+[0-9a-f]+[ ]+R_AARCH64_JUMP_SLOT[ ]+ifunc\(\)[ ]+ifunc \+ 0
diff --git a/ld/testsuite/ld-alpha/tlsbin.rd b/ld/testsuite/ld-alpha/tlsbin.rd
index 21fb11a..4ce48ea 100644
--- a/ld/testsuite/ld-alpha/tlsbin.rd
+++ b/ld/testsuite/ld-alpha/tlsbin.rd
@@ -50,7 +50,7 @@ Relocation section '.rela.dyn' at offset 0x[0-9a-f]+ contains 3 entries:
 [0-9a-f]+  [0-9a-f]+ R_ALPHA_DTPMOD64 +0+ sG1 \+ 0
 [0-9a-f]+  [0-9a-f]+ R_ALPHA_DTPREL64 +0+ sG1 \+ 0
 
-Relocation section '.rela.plt' at offset 0x[0-9a-f]+ contains 1 entries:
+Relocation section '.rela.plt' at offset 0x[0-9a-f]+ contains 1 entry:
  +Offset +Info +Type +Symbol's Value  Symbol's Name \+ Addend
 [0-9a-f]+  [0-9a-f]+ R_ALPHA_JMP_SLOT +[0-9a-f]+ __tls_get_addr \+ 0
 
diff --git a/ld/testsuite/ld-alpha/tlspic.rd b/ld/testsuite/ld-alpha/tlspic.rd
index 4aeb5e3..0b287a5 100644
--- a/ld/testsuite/ld-alpha/tlspic.rd
+++ b/ld/testsuite/ld-alpha/tlspic.rd
@@ -50,7 +50,7 @@ Relocation section '.rela.dyn' at offset 0x[0-9a-f]+ contains 7 entries:
 [0-9a-f]+ +[0-9a-f]+ R_ALPHA_DTPMOD64 +0+
 [0-9a-f]+ +[0-9a-f]+ R_ALPHA_TPREL64 +24
 
-Relocation section '.rela.plt' at offset 0x[0-9a-f]+ contains 1 entries:
+Relocation section '.rela.plt' at offset 0x[0-9a-f]+ contains 1 entry:
  +Offset +Info +Type +Symbol's Value +Symbol's Name \+ Addend
 [0-9a-f]+ +[0-9a-f]+ R_ALPHA_JMP_SLOT +0+ __tls_get_addr \+ 0
 
diff --git a/ld/testsuite/ld-arm/ifunc-3.rd b/ld/testsuite/ld-arm/ifunc-3.rd
index 0ac011a..e3973e4 100644
--- a/ld/testsuite/ld-arm/ifunc-3.rd
+++ b/ld/testsuite/ld-arm/ifunc-3.rd
@@ -15,6 +15,6 @@ Relocation section '\.rel\.dyn' at offset 0x8000 contains 13 entries:
 00011014  ......a0 R_ARM_IRELATIVE  
 00011018  ......a0 R_ARM_IRELATIVE  
 
-Relocation section '\.rel\.plt' at offset 0x8068 contains 1 entries:
+Relocation section '\.rel\.plt' at offset 0x8068 contains 1 entry:
  Offset     Info    Type            Sym\.Value  Sym\. Name
 0001100c  ......16 R_ARM_JUMP_SLOT   f2\(\)       f2
diff --git a/ld/testsuite/ld-arm/ifunc-9.rd b/ld/testsuite/ld-arm/ifunc-9.rd
index e1ceb54..a28cd00 100644
--- a/ld/testsuite/ld-arm/ifunc-9.rd
+++ b/ld/testsuite/ld-arm/ifunc-9.rd
@@ -5,6 +5,6 @@ Relocation section '\.rel\.dyn' at offset 0x8000 contains 3 entries:
 00011010  ......a0 R_ARM_IRELATIVE  
 00011014  ......a0 R_ARM_IRELATIVE  
 
-Relocation section '\.rel\.plt' at offset 0x8018 contains 1 entries:
+Relocation section '\.rel\.plt' at offset 0x8018 contains 1 entry:
  Offset     Info    Type            Sym\.Value  Sym\. Name
 0001100c  ......16 R_ARM_JUMP_SLOT   00009014   f2
diff --git a/ld/testsuite/ld-arm/unwind-mix.d b/ld/testsuite/ld-arm/unwind-mix.d
index 8c157e1..0fd951f 100644
--- a/ld/testsuite/ld-arm/unwind-mix.d
+++ b/ld/testsuite/ld-arm/unwind-mix.d
@@ -1,5 +1,5 @@
 
-Unwind table index '\.ARM\.exidx' at offset .* contains 4 entries:
+Unwind section '\.ARM\.exidx' at offset .* contains 4 entries:
 
 0x8004 <_start>: @0x8010
   Compact model index: 1
diff --git a/ld/testsuite/ld-arm/unwind-rel.d b/ld/testsuite/ld-arm/unwind-rel.d
index b2aa6e2..ebcbb38 100644
--- a/ld/testsuite/ld-arm/unwind-rel.d
+++ b/ld/testsuite/ld-arm/unwind-rel.d
@@ -13,7 +13,7 @@ Relocation section '\.rel\.ARM\.exidx' at offset .* contains 5 entries:
 00000010  0000012a R_ARM_PREL31      00000000   \.text
 00000010  00000e00 R_ARM_NONE        00000000   __aeabi_unwind_cpp_pr0
 
-Unwind table index '\.ARM\.exidx' at offset .* contains 3 entries:
+Unwind section '\.ARM\.exidx' at offset .* contains 3 entries:
 
 0x0: 0x80a8b0b0
   Compact model index: 0
diff --git a/ld/testsuite/ld-cris/hiddef1.d b/ld/testsuite/ld-cris/hiddef1.d
index 0f16b62..3d158d1 100644
--- a/ld/testsuite/ld-cris/hiddef1.d
+++ b/ld/testsuite/ld-cris/hiddef1.d
@@ -18,7 +18,7 @@ There are 11 section headers, starting at offset 0x[0-9a-f]+:
 #...
   \[[ 0-9]+\] \.got              PROGBITS        [0-9a-f]+ [0-9a-f]+ 0+10 04  WA  0   0  4
 #...
-Relocation section '\.rela\.dyn' at offset 0x[0-9a-f]+ contains 1 entries:
+Relocation section '\.rela\.dyn' at offset 0x[0-9a-f]+ contains 1 entry:
 #...
 [0-9a-f]+  0+c R_CRIS_RELATIVE +[0-9a-f]+
 #...
diff --git a/ld/testsuite/ld-cris/libdso-13.d b/ld/testsuite/ld-cris/libdso-13.d
index 1ef3cc4..11ee52c 100644
--- a/ld/testsuite/ld-cris/libdso-13.d
+++ b/ld/testsuite/ld-cris/libdso-13.d
@@ -26,6 +26,6 @@ Dynamic section at offset 0x[0-9a-f][0-9a-f][0-9a-f] contains 11 entries:
  0x0+1e \(FLAGS\)[ 	]+TEXTREL
  0x0+ \(NULL\)[ 	]+0x0
 
-Relocation section '\.rela\.text' at offset 0x[12][0-9a-f][0-9a-f] contains 1 entries:
+Relocation section '\.rela\.text' at offset 0x[12][0-9a-f][0-9a-f] contains 1 entry:
  Offset[ 	]+Info[ 	]+Type[ 	]+Sym\.Value  Sym\. Name \+ Addend
 0+[12][0-9a-f][0-9a-f]  0+[0-9a-f]06 R_CRIS_32_PCREL[ 	]+0+[0-f]+[ 	]+dsofn \+ 6
diff --git a/ld/testsuite/ld-cris/libdso-2.d b/ld/testsuite/ld-cris/libdso-2.d
index f04b64b..7285b3d 100644
--- a/ld/testsuite/ld-cris/libdso-2.d
+++ b/ld/testsuite/ld-cris/libdso-2.d
@@ -25,7 +25,7 @@ There are 13 section headers.*
  +\[11\] \.strtab +STRTAB +.*
  +\[12\] \.shstrtab +STRTAB +.*
 #...
-Relocation section '\.rela\.dyn' at offset 0x[0-9a-f]+ contains 1 entries:
+Relocation section '\.rela\.dyn' at offset 0x[0-9a-f]+ contains 1 entry:
 #...
 00002[12][0-9a-f][048c] +0000000c R_CRIS_RELATIVE +150
 #...
diff --git a/ld/testsuite/ld-cris/pr16044.d b/ld/testsuite/ld-cris/pr16044.d
index f8546f1..cde2d39 100644
--- a/ld/testsuite/ld-cris/pr16044.d
+++ b/ld/testsuite/ld-cris/pr16044.d
@@ -23,7 +23,7 @@
 # local, its absence from the dynamic symbol table and that the
 # relocation and symbol values match.
 
-Relocation section '\.rela\.dyn' at offset 0x[0-9a-f]+ contains 1 entries:
+Relocation section '\.rela\.dyn' at offset 0x[0-9a-f]+ contains 1 entry:
  Offset[ 	]+Info[ 	]+Type[ 	]+Sym\.Value  Sym\. Name \+ Addend
 [0-9a-f]+  0+[0-9a-f]+ R_CRIS_RELATIVE[ 	]+184
 
diff --git a/ld/testsuite/ld-cris/tls-local-63.d b/ld/testsuite/ld-cris/tls-local-63.d
index 256542c..8d8c356 100644
--- a/ld/testsuite/ld-cris/tls-local-63.d
+++ b/ld/testsuite/ld-cris/tls-local-63.d
@@ -8,7 +8,7 @@
 # the relocation, GOT, .text and .tdata have the right contents.
 
 #...
-Relocation section '.rela.dyn' at offset 0x.* contains 1 entries:
+Relocation section '.rela.dyn' at offset 0x.* contains 1 entry:
  Offset     Info    Type            Sym.Value  Sym. Name \+ Addend
 00002210  0000001c R_CRIS_32_TPREL[ ]+0
 
diff --git a/ld/testsuite/ld-cris/tls-local-64.d b/ld/testsuite/ld-cris/tls-local-64.d
index 9449f1f..22d7f5f 100644
--- a/ld/testsuite/ld-cris/tls-local-64.d
+++ b/ld/testsuite/ld-cris/tls-local-64.d
@@ -10,7 +10,7 @@
 # the right contents.
 
 #...
-Relocation section '.rela.dyn' at offset 0x.* contains 1 entries:
+Relocation section '.rela.dyn' at offset 0x.* contains 1 entry:
  Offset     Info    Type            Sym.Value  Sym. Name \+ Addend
 00002290  0000001c R_CRIS_32_TPREL[ ]+80
 
diff --git a/ld/testsuite/ld-cris/tls-und-38.d b/ld/testsuite/ld-cris/tls-und-38.d
index 8cda650..4b797b8 100644
--- a/ld/testsuite/ld-cris/tls-und-38.d
+++ b/ld/testsuite/ld-cris/tls-und-38.d
@@ -9,7 +9,7 @@
 # and dynrelocs look right.
 
 #...
-Relocation section '.rela.dyn' at offset 0x.* contains 1 entries:
+Relocation section '.rela.dyn' at offset 0x.* contains 1 entry:
  Offset +Info +Type +Sym.Value +Sym. Name \+ Addend
 000021ec +00000217 R_CRIS_DTP +00000000 +x \+ 0
 
diff --git a/ld/testsuite/ld-cris/tls-und-42.d b/ld/testsuite/ld-cris/tls-und-42.d
index 7a1a831..914dcbf 100644
--- a/ld/testsuite/ld-cris/tls-und-42.d
+++ b/ld/testsuite/ld-cris/tls-und-42.d
@@ -9,7 +9,7 @@
 # dynsyms and dynrelocs look right.
 
 #...
-Relocation section '.rela.dyn' at offset 0x.* contains 1 entries:
+Relocation section '.rela.dyn' at offset 0x.* contains 1 entry:
  Offset +Info +Type +Sym.Value +Sym. Name \+ Addend
 000021f4 +0000021c R_CRIS_32_TPREL +0+ +x \+ 0
 
diff --git a/ld/testsuite/ld-cris/tls-und-46.d b/ld/testsuite/ld-cris/tls-und-46.d
index bb38da4..5af6498 100644
--- a/ld/testsuite/ld-cris/tls-und-46.d
+++ b/ld/testsuite/ld-cris/tls-und-46.d
@@ -9,7 +9,7 @@
 # and dynrelocs look right.
 
 #...
-Relocation section '.rela.dyn' at offset 0x.* contains 1 entries:
+Relocation section '.rela.dyn' at offset 0x.* contains 1 entry:
  Offset +Info +Type +Sym.Value +Sym. Name \+ Addend
 000021e8 +00000217 R_CRIS_DTP +00000000 +x \+ 0
 
diff --git a/ld/testsuite/ld-cris/tls-und-50.d b/ld/testsuite/ld-cris/tls-und-50.d
index 30274f5..9054e09 100644
--- a/ld/testsuite/ld-cris/tls-und-50.d
+++ b/ld/testsuite/ld-cris/tls-und-50.d
@@ -9,7 +9,7 @@
 # dynsyms and dynrelocs look right.
 
 #...
-Relocation section '.rela.dyn' at offset 0x.* contains 1 entries:
+Relocation section '.rela.dyn' at offset 0x.* contains 1 entry:
  Offset +Info +Type +Sym.Value +Sym. Name \+ Addend
 000021ec +0000021c R_CRIS_32_TPREL +0+ +x \+ 0
 
diff --git a/ld/testsuite/ld-cris/weakref3.d b/ld/testsuite/ld-cris/weakref3.d
index aa59325..46ac80c 100644
--- a/ld/testsuite/ld-cris/weakref3.d
+++ b/ld/testsuite/ld-cris/weakref3.d
@@ -14,11 +14,11 @@
 #...
  +\[[0-9]+\] .bss +NOBITS +[0-9a-f]* [0-9a-f]* 000010 .*
 #...
-Relocation section '.rela.dyn' at offset 0x... contains 1 entries:
+Relocation section '.rela.dyn' at offset 0x... contains 1 entry:
  Offset +Info +Type +Sym.Value +Sym. Name \+ Addend
 .* R_CRIS_COPY .* __expobj2@TST3 \+ 0
 
-Relocation section '.rela.plt' at offset 0x... contains 1 entries:
+Relocation section '.rela.plt' at offset 0x... contains 1 entry:
  Offset +Info +Type +Sym.Value +Sym. Name \+ Addend
 .* R_CRIS_JUMP_SLOT .* expfn2@TST3 \+ 0
 
diff --git a/ld/testsuite/ld-cris/weakref4.d b/ld/testsuite/ld-cris/weakref4.d
index 3cc3c76..520191f 100644
--- a/ld/testsuite/ld-cris/weakref4.d
+++ b/ld/testsuite/ld-cris/weakref4.d
@@ -15,7 +15,7 @@
 #...
  +\[[0-9]+\] .bss +NOBITS +[0-9a-f]* [0-9a-f]* 00000c .*
 #...
-Relocation section '.rela.dyn' at offset 0x... contains 1 entries:
+Relocation section '.rela.dyn' at offset 0x... contains 1 entry:
 #...
 .* R_CRIS_COPY .* __expobj2@TST3 \+ 0
 
diff --git a/ld/testsuite/ld-elf/comm-data2r.rd b/ld/testsuite/ld-elf/comm-data2r.rd
index 52c486d..64c0396 100644
--- a/ld/testsuite/ld-elf/comm-data2r.rd
+++ b/ld/testsuite/ld-elf/comm-data2r.rd
@@ -1,3 +1,3 @@
-Relocation section '\.rela\.dyn' at offset 0x[0-9a-f]+ contains 1 entries:
+Relocation section '\.rela\.dyn' at offset 0x[0-9a-f]+ contains 1 entry:
  +Offset +Info +Type +Sym\.Value +Sym\. Name \+ Addend
 0*12340000 +[0-9a-f]+ +R_.*_COPY +0*12340000 +foo \+ 0
diff --git a/ld/testsuite/ld-elf/discard1.d b/ld/testsuite/ld-elf/discard1.d
index da54b36..0307328 100644
--- a/ld/testsuite/ld-elf/discard1.d
+++ b/ld/testsuite/ld-elf/discard1.d
@@ -3,7 +3,7 @@
 #readelf: -r
 #target: x86_64-*-linux-gnu* i?86-*-linux-gnu i?86-*-gnu*
 
-Relocation section '.rel.*.debug_info' at offset 0x[0-9a-z]+ contains 1 entries:
+Relocation section '.rel.*.debug_info' at offset 0x[0-9a-z]+ contains 1 entry:
 [ \t]+Offset[ \t]+Info[ \t]+Type[ \t]+Sym.*
 [0-9a-f]+[ \t]+[0-9a-f]+[ \t]+R_.*[ \t]+[0-9a-f]+[ \t]+bar.*
 #pass
diff --git a/ld/testsuite/ld-elf/discard2.d b/ld/testsuite/ld-elf/discard2.d
index 54bedcb..fddf529 100644
--- a/ld/testsuite/ld-elf/discard2.d
+++ b/ld/testsuite/ld-elf/discard2.d
@@ -3,7 +3,7 @@
 #readelf: -r
 #target: x86_64-*-linux-gnu* i?86-*-linux-gnu i?86-*-gnu*
 
-Relocation section '.rel.*.debug_info' at offset 0x[0-9a-z]+ contains 1 entries:
+Relocation section '.rel.*.debug_info' at offset 0x[0-9a-z]+ contains 1 entry:
 [ \t]+Offset[ \t]+Info[ \t]+Type[ \t]+Sym.*
 [0-9a-f]+[ \t]+[0-9a-f]+[ \t]+R_.*[ \t]+[0-9a-f]+[ \t]+here.*
 #pass
diff --git a/ld/testsuite/ld-elf/pr19539.d b/ld/testsuite/ld-elf/pr19539.d
index e7d8298..af77515 100644
--- a/ld/testsuite/ld-elf/pr19539.d
+++ b/ld/testsuite/ld-elf/pr19539.d
@@ -5,5 +5,5 @@
 #target: *-*-linux* *-*-gnu* *-*-solaris*
 #notarget: cris*-*-* alpha-*-*
 
-Symbol table '\.dynsym' contains [0-9]+ entries:
+Symbol table '\.dynsym' contains [0-9]+ entr(y|ies):
 #pass
diff --git a/ld/testsuite/ld-elf/pr22374-1.r b/ld/testsuite/ld-elf/pr22374-1.r
index 0c4fac4..6ec35a2 100644
--- a/ld/testsuite/ld-elf/pr22374-1.r
+++ b/ld/testsuite/ld-elf/pr22374-1.r
@@ -1,4 +1,4 @@
-Relocation section .* contains 1 entries:
+Relocation section .* contains 1 entry:
 .*
 .* +0+ +foo.*
 
diff --git a/ld/testsuite/ld-elf/pr22374-2.r b/ld/testsuite/ld-elf/pr22374-2.r
index 67cd845..429b651 100644
--- a/ld/testsuite/ld-elf/pr22374-2.r
+++ b/ld/testsuite/ld-elf/pr22374-2.r
@@ -1,4 +1,4 @@
 #failif
-Relocation section .* contains 1 entries:
+Relocation section .* contains 1 entry:
 .*
 .*COPY.*
diff --git a/ld/testsuite/ld-i386/combreloc.d b/ld/testsuite/ld-i386/combreloc.d
index bbe9134..240695a 100644
--- a/ld/testsuite/ld-i386/combreloc.d
+++ b/ld/testsuite/ld-i386/combreloc.d
@@ -12,6 +12,6 @@ Relocation section '.rel.dyn' at offset 0x[0-9a-f]+ contains 4 entries:
 [0-9a-f]+  [0-9a-f]+01 R_386_32          [0-9a-f]+   _start
 [0-9a-f]+  [0-9a-f]+01 R_386_32          [0-9a-f]+   _start
 
-Relocation section '.rel.plt' at offset 0x[0-9a-f]+ contains 1 entries:
+Relocation section '.rel.plt' at offset 0x[0-9a-f]+ contains 1 entry:
  Offset     Info    Type            Sym.Value  Sym. Name
 [0-9a-f]+  [0-9a-f]+07 R_386_JUMP_SLOT   [0-9a-f]+   foo
diff --git a/ld/testsuite/ld-i386/emit-relocs-nacl.rd b/ld/testsuite/ld-i386/emit-relocs-nacl.rd
index 82472c0..520a57e 100644
--- a/ld/testsuite/ld-i386/emit-relocs-nacl.rd
+++ b/ld/testsuite/ld-i386/emit-relocs-nacl.rd
@@ -1,8 +1,8 @@
 
-Relocation section '\.rel\.text' at offset .* contains 1 entries:
+Relocation section '\.rel\.text' at offset .* contains 1 entry:
  Offset     Info    Type            Sym\.Value  Sym\. Name
 .*  .*04 R_386_PLT32       00000000   foo
 
-Relocation section '\.rel\.plt' at offset .* contains 1 entries:
+Relocation section '\.rel\.plt' at offset .* contains 1 entry:
  Offset     Info    Type            Sym\.Value  Sym\. Name
 .*  .*07 R_386_JUMP_SLOT   00000000   foo
diff --git a/ld/testsuite/ld-i386/emit-relocs.rd b/ld/testsuite/ld-i386/emit-relocs.rd
index 0c16b94..7321aec 100644
--- a/ld/testsuite/ld-i386/emit-relocs.rd
+++ b/ld/testsuite/ld-i386/emit-relocs.rd
@@ -1,8 +1,8 @@
 
-Relocation section '\.rel\.plt' at offset .* contains 1 entries:
+Relocation section '\.rel\.plt' at offset .* contains 1 entry:
  Offset     Info    Type            Sym\.Value  Sym\. Name
 .*  .*07 R_386_JUMP_SLOT   00000000   foo
 
-Relocation section '\.rel\.text' at offset .* contains 1 entries:
+Relocation section '\.rel\.text' at offset .* contains 1 entry:
  Offset     Info    Type            Sym\.Value  Sym\. Name
 .*  .*04 R_386_PLT32       00000000   foo
diff --git a/ld/testsuite/ld-i386/pr13302.d b/ld/testsuite/ld-i386/pr13302.d
index 9ab4fa5..f4f9607 100644
--- a/ld/testsuite/ld-i386/pr13302.d
+++ b/ld/testsuite/ld-i386/pr13302.d
@@ -3,6 +3,6 @@
 #ld: -pie -melf_i386
 #readelf: -r --wide
 
-Relocation section '.rel.dyn' at offset 0x[0-9a-f]+ contains 1 entries:
+Relocation section '.rel.dyn' at offset 0x[0-9a-f]+ contains 1 entry:
  Offset     Info    Type                Sym. Value  Symbol's Name
 [0-9a-f]+ +[0-9a-f]+ +R_386_IRELATIVE +
diff --git a/ld/testsuite/ld-i386/pr17709-nacl.rd b/ld/testsuite/ld-i386/pr17709-nacl.rd
index ac9d174..8414784 100644
--- a/ld/testsuite/ld-i386/pr17709-nacl.rd
+++ b/ld/testsuite/ld-i386/pr17709-nacl.rd
@@ -1,4 +1,4 @@
 
-Relocation section '.rel\..*' at offset .* contains 1 entries:
+Relocation section '.rel\..*' at offset .* contains 1 entry:
  Offset     Info    Type            Sym\.Value  Sym\. Name
 [0-9a-f ]+R_386_COPY +[0-9a-f]+ +foo
diff --git a/ld/testsuite/ld-i386/pr17709.rd b/ld/testsuite/ld-i386/pr17709.rd
index ac9d174..8414784 100644
--- a/ld/testsuite/ld-i386/pr17709.rd
+++ b/ld/testsuite/ld-i386/pr17709.rd
@@ -1,4 +1,4 @@
 
-Relocation section '.rel\..*' at offset .* contains 1 entries:
+Relocation section '.rel\..*' at offset .* contains 1 entry:
  Offset     Info    Type            Sym\.Value  Sym\. Name
 [0-9a-f ]+R_386_COPY +[0-9a-f]+ +foo
diff --git a/ld/testsuite/ld-i386/pr19539.d b/ld/testsuite/ld-i386/pr19539.d
index ac7b73f..7fe6e89 100644
--- a/ld/testsuite/ld-i386/pr19539.d
+++ b/ld/testsuite/ld-i386/pr19539.d
@@ -2,6 +2,6 @@
 #ld: -pie -m elf_i386 -T pr19539.t
 #readelf: -r --wide
 
-Relocation section '.rel.dyn' at offset 0x[0-9a-f]+ contains 1 entries:
+Relocation section '.rel.dyn' at offset 0x[0-9a-f]+ contains 1 entry:
  Offset     Info    Type                Sym. Value  Symbol's Name
 [0-9a-f]+ +[0-9a-f]+ +R_386_RELATIVE +
diff --git a/ld/testsuite/ld-i386/pr19615.d b/ld/testsuite/ld-i386/pr19615.d
index 86aebd1..29ba1b9 100644
--- a/ld/testsuite/ld-i386/pr19615.d
+++ b/ld/testsuite/ld-i386/pr19615.d
@@ -2,7 +2,7 @@
 #ld: -pie -Bsymbolic -E -melf_i386
 #readelf: -r --wide --dyn-syms
 
-Relocation section '.rel.dyn' at offset 0x[0-9a-f]+ contains 1 entries:
+Relocation section '.rel.dyn' at offset 0x[0-9a-f]+ contains 1 entry:
  Offset     Info    Type                Sym. Value  Symbol's Name
 [0-9a-f]+ +[0-9a-f]+ +R_386_RELATIVE +
 
diff --git a/ld/testsuite/ld-i386/pr19636-1a.d b/ld/testsuite/ld-i386/pr19636-1a.d
index 47b946f..e82ef0e 100644
--- a/ld/testsuite/ld-i386/pr19636-1a.d
+++ b/ld/testsuite/ld-i386/pr19636-1a.d
@@ -5,7 +5,7 @@
 
 There are no relocations in this file.
 
-Symbol table '\.dynsym' contains 1 entries:
+Symbol table '\.dynsym' contains 1 entry:
  +Num: +Value +Size Type +Bind +Vis +Ndx Name
  +0: 0+ +0 +NOTYPE +LOCAL +DEFAULT +UND +
 
diff --git a/ld/testsuite/ld-i386/pr19636-1e.d b/ld/testsuite/ld-i386/pr19636-1e.d
index 25a5b64..2e70930 100644
--- a/ld/testsuite/ld-i386/pr19636-1e.d
+++ b/ld/testsuite/ld-i386/pr19636-1e.d
@@ -8,7 +8,7 @@ Relocation section '\.rel\.dyn' at offset [0x0-9a-f]+ contains 2 entries:
 [0-9a-f]+ +[0-9a-f]+ +R_386_GLOB_DAT +0+ +func1
 [0-9a-f]+ +[0-9a-f]+ +R_386_GLOB_DAT +0+ +func2
 
-Relocation section '\.rel\.plt' at offset 0x[0-9a-f]+ contains 1 entries:
+Relocation section '\.rel\.plt' at offset 0x[0-9a-f]+ contains 1 entry:
  +Offset +Info +Type +Sym. Value +Symbol's Name
 [0-9a-f]+ +[0-9a-f]+ +R_386_JUMP_SLOT +0+ +func3
 
diff --git a/ld/testsuite/ld-i386/pr19636-1f.d b/ld/testsuite/ld-i386/pr19636-1f.d
index 0bf7595..4dd78fc 100644
--- a/ld/testsuite/ld-i386/pr19636-1f.d
+++ b/ld/testsuite/ld-i386/pr19636-1f.d
@@ -8,7 +8,7 @@ Relocation section '\.rel\.dyn' at offset [0x0-9a-f]+ contains 2 entries:
 [0-9a-f]+ +[0-9a-f]+ +R_386_GLOB_DAT +0+ +func1
 [0-9a-f]+ +[0-9a-f]+ +R_386_GLOB_DAT +0+ +func2
 
-Relocation section '\.rel\.plt' at offset 0x[0-9a-f]+ contains 1 entries:
+Relocation section '\.rel\.plt' at offset 0x[0-9a-f]+ contains 1 entry:
  +Offset +Info +Type +Sym. Value +Symbol's Name
 [0-9a-f]+ +[0-9a-f]+ +R_386_JUMP_SLOT +0+ +func3
 
diff --git a/ld/testsuite/ld-i386/pr19636-2a.d b/ld/testsuite/ld-i386/pr19636-2a.d
index fbed7e7..290a13a 100644
--- a/ld/testsuite/ld-i386/pr19636-2a.d
+++ b/ld/testsuite/ld-i386/pr19636-2a.d
@@ -3,7 +3,7 @@
 #ld: -pie -m elf_i386
 #readelf : -r --wide -x .got -x .got.plt --dyn-syms
 
-Relocation section '\.rel\.dyn' at offset [0x0-9a-f]+ contains 1 entries:
+Relocation section '\.rel\.dyn' at offset [0x0-9a-f]+ contains 1 entry:
  +Offset +Info +Type +Sym. Value +Symbol's Name
 [0-9a-f]+ +[0-9a-f]+ +R_386_PC32 +0+ +func
 
diff --git a/ld/testsuite/ld-i386/pr19636-2b.d b/ld/testsuite/ld-i386/pr19636-2b.d
index ac21025..35739c8 100644
--- a/ld/testsuite/ld-i386/pr19636-2b.d
+++ b/ld/testsuite/ld-i386/pr19636-2b.d
@@ -3,7 +3,7 @@
 #ld: -pie -E -m elf_i386
 #readelf : -r --wide -x .got -x .got.plt --dyn-syms
 
-Relocation section '\.rel\.dyn' at offset [0x0-9a-f]+ contains 1 entries:
+Relocation section '\.rel\.dyn' at offset [0x0-9a-f]+ contains 1 entry:
  +Offset +Info +Type +Sym. Value +Symbol's Name
 [0-9a-f]+ +[0-9a-f]+ +R_386_PC32 +0+ +func
 
diff --git a/ld/testsuite/ld-i386/pr19636-2d-nacl.d b/ld/testsuite/ld-i386/pr19636-2d-nacl.d
index 99c491f..c7b5d10 100644
--- a/ld/testsuite/ld-i386/pr19636-2d-nacl.d
+++ b/ld/testsuite/ld-i386/pr19636-2d-nacl.d
@@ -10,7 +10,7 @@ Relocation section '\.rel\.dyn' at offset [0x0-9a-f]+ contains 3 entries:
 [0-9a-f]+ +[0-9a-f]+ +R_386_PC32 +0+ +func
 [0-9a-f]+ +[0-9a-f]+ +R_386_GLOB_DAT +0+ +func
 
-Relocation section '\.rel\.plt' at offset [0x0-9a-f]+ contains 1 entries:
+Relocation section '\.rel\.plt' at offset [0x0-9a-f]+ contains 1 entry:
  +Offset +Info +Type +Sym. Value +Symbol's Name
 [0-9a-f]+ +[0-9a-f]+ +R_386_JUMP_SLOT +0+ +func
 
diff --git a/ld/testsuite/ld-i386/pr19636-2e-nacl.d b/ld/testsuite/ld-i386/pr19636-2e-nacl.d
index f791128..eb0cf8d 100644
--- a/ld/testsuite/ld-i386/pr19636-2e-nacl.d
+++ b/ld/testsuite/ld-i386/pr19636-2e-nacl.d
@@ -10,7 +10,7 @@ Relocation section '\.rel\.dyn' at offset [0x0-9a-f]+ contains 3 entries:
 [0-9a-f]+ +[0-9a-f]+ +R_386_PC32 +0+ +func
 [0-9a-f]+ +[0-9a-f]+ +R_386_GLOB_DAT +0+ +func
 
-Relocation section '\.rel\.plt' at offset [0x0-9a-f]+ contains 1 entries:
+Relocation section '\.rel\.plt' at offset [0x0-9a-f]+ contains 1 entry:
  +Offset +Info +Type +Sym. Value +Symbol's Name
 [0-9a-f]+ +[0-9a-f]+ +R_386_JUMP_SLOT +0+ +func
 
diff --git a/ld/testsuite/ld-i386/pr19636-3a.d b/ld/testsuite/ld-i386/pr19636-3a.d
index 078896e..95d72e6 100644
--- a/ld/testsuite/ld-i386/pr19636-3a.d
+++ b/ld/testsuite/ld-i386/pr19636-3a.d
@@ -5,6 +5,6 @@
 
 There are no relocations in this file.
 
-Symbol table '\.dynsym' contains 1 entries:
+Symbol table '\.dynsym' contains 1 entry:
  +Num: +Value +Size Type +Bind +Vis +Ndx Name
  +0: 0+ +0 +NOTYPE +LOCAL +DEFAULT +UND +
diff --git a/ld/testsuite/ld-i386/pr19636-3d.d b/ld/testsuite/ld-i386/pr19636-3d.d
index 12ff6b8..7004bb1 100644
--- a/ld/testsuite/ld-i386/pr19636-3d.d
+++ b/ld/testsuite/ld-i386/pr19636-3d.d
@@ -3,7 +3,7 @@
 #ld: -shared -m elf_i386
 #readelf : -r --wide --dyn-syms
 
-Relocation section '\.rela?\..*' at offset 0x[0-9a-f]+ contains [0-9]+ entries:
+Relocation section '\.rela?\..*' at offset 0x[0-9a-f]+ contains [0-9]+ entr(y|ies):
 #...
 [0-9a-f]+[ \t]+[0-9a-f]+[ \t]+R_.*[ \t]+[0-9a-f]+[ \t]+func.*
 #...
diff --git a/ld/testsuite/ld-i386/pr19636-3e.d b/ld/testsuite/ld-i386/pr19636-3e.d
index a0f3344..aeb4e7e 100644
--- a/ld/testsuite/ld-i386/pr19636-3e.d
+++ b/ld/testsuite/ld-i386/pr19636-3e.d
@@ -3,7 +3,7 @@
 #ld: -shared -Bsymbolic -m elf_i386
 #readelf : -r --wide --dyn-syms
 
-Relocation section '\.rela?\..*' at offset 0x[0-9a-f]+ contains [0-9]+ entries:
+Relocation section '\.rela?\..*' at offset 0x[0-9a-f]+ contains [0-9]+ entr(y|ies):
 #...
 [0-9a-f]+[ \t]+[0-9a-f]+[ \t]+R_.*[ \t]+[0-9a-f]+[ \t]+func.*
 #...
diff --git a/ld/testsuite/ld-i386/pr19636-4a.d b/ld/testsuite/ld-i386/pr19636-4a.d
index 8cdbc1c..11270ef 100644
--- a/ld/testsuite/ld-i386/pr19636-4a.d
+++ b/ld/testsuite/ld-i386/pr19636-4a.d
@@ -3,6 +3,6 @@
 #ld: -pie --defsym foobar=0x100 -m elf_i386
 #readelf : --dyn-syms --wide
 
-Symbol table '\.dynsym' contains 1 entries:
+Symbol table '\.dynsym' contains 1 entry:
  +Num: +Value +Size Type +Bind +Vis +Ndx Name
  +0: 0+ +0 +NOTYPE +LOCAL +DEFAULT +UND +
diff --git a/ld/testsuite/ld-i386/pr19645.d b/ld/testsuite/ld-i386/pr19645.d
index 10b40b8..a092524 100644
--- a/ld/testsuite/ld-i386/pr19645.d
+++ b/ld/testsuite/ld-i386/pr19645.d
@@ -2,7 +2,7 @@
 #ld: -shared -Bsymbolic-functions -melf_i386
 #readelf: -r --wide --dyn-syms
 
-Relocation section '.rel.dyn' at offset 0x[0-9a-f]+ contains 1 entries:
+Relocation section '.rel.dyn' at offset 0x[0-9a-f]+ contains 1 entry:
  +Offset +Info +Type +Sym. Value +Symbol's Name
 [0-9a-f]+ +[0-9a-f]+ +R_386_GLOB_DAT +[0-9a-f]+ +foobar
 
diff --git a/ld/testsuite/ld-i386/pr19827-nacl.rd b/ld/testsuite/ld-i386/pr19827-nacl.rd
index 5d2a885..e48d7d5 100644
--- a/ld/testsuite/ld-i386/pr19827-nacl.rd
+++ b/ld/testsuite/ld-i386/pr19827-nacl.rd
@@ -1,5 +1,5 @@
 #readelf: -r --wide
 
-Relocation section '.rel.dyn' at offset 0x[0-9a-f]+ contains 1 entries:
+Relocation section '.rel.dyn' at offset 0x[0-9a-f]+ contains 1 entry:
  Offset     Info    Type                Sym. Value  Symbol's Name
 [0-9a-f]+ +[0-9a-f]+ +R_386_RELATIVE +
diff --git a/ld/testsuite/ld-i386/pr19827.rd b/ld/testsuite/ld-i386/pr19827.rd
index 5d2a885..e48d7d5 100644
--- a/ld/testsuite/ld-i386/pr19827.rd
+++ b/ld/testsuite/ld-i386/pr19827.rd
@@ -1,5 +1,5 @@
 #readelf: -r --wide
 
-Relocation section '.rel.dyn' at offset 0x[0-9a-f]+ contains 1 entries:
+Relocation section '.rel.dyn' at offset 0x[0-9a-f]+ contains 1 entry:
  Offset     Info    Type                Sym. Value  Symbol's Name
 [0-9a-f]+ +[0-9a-f]+ +R_386_RELATIVE +
diff --git a/ld/testsuite/ld-i386/pr20253-4a.d b/ld/testsuite/ld-i386/pr20253-4a.d
index cd10080..038e02d 100644
--- a/ld/testsuite/ld-i386/pr20253-4a.d
+++ b/ld/testsuite/ld-i386/pr20253-4a.d
@@ -3,6 +3,6 @@
 #ld: -melf_i386
 #readelf: -r --wide
 
-Relocation section '.rel.plt' at offset 0x[0-9a-f]+ contains 1 entries:
+Relocation section '.rel.plt' at offset 0x[0-9a-f]+ contains 1 entry:
  +Offset +Info +Type +Sym.* Value +Symbol's Name
 [0-9a-f]+ +[0-9a-f]+ +R_386_IRELATIVE +
diff --git a/ld/testsuite/ld-i386/pr20253-4b.d b/ld/testsuite/ld-i386/pr20253-4b.d
index 3b45f8f..2b500d5 100644
--- a/ld/testsuite/ld-i386/pr20253-4b.d
+++ b/ld/testsuite/ld-i386/pr20253-4b.d
@@ -3,6 +3,6 @@
 #ld: -pie -melf_i386
 #readelf: -r --wide
 
-Relocation section '.rel.dyn' at offset 0x[0-9a-f]+ contains 1 entries:
+Relocation section '.rel.dyn' at offset 0x[0-9a-f]+ contains 1 entry:
  +Offset +Info +Type +Sym.* Value +Symbol's Name
 [0-9a-f]+ +[0-9a-f]+ +R_386_IRELATIVE +
diff --git a/ld/testsuite/ld-i386/pr20253-5.d b/ld/testsuite/ld-i386/pr20253-5.d
index 0936d98..082a785 100644
--- a/ld/testsuite/ld-i386/pr20253-5.d
+++ b/ld/testsuite/ld-i386/pr20253-5.d
@@ -2,6 +2,6 @@
 #ld: -melf_i386
 #readelf: -r --wide
 
-Relocation section '.rel.plt' at offset 0x[0-9a-f]+ contains 1 entries:
+Relocation section '.rel.plt' at offset 0x[0-9a-f]+ contains 1 entry:
  +Offset +Info +Type +Sym.* Value +Symbol's Name
 [0-9a-f]+ +[0-9a-f]+ +R_386_IRELATIVE +
diff --git a/ld/testsuite/ld-i386/tlsbin-nacl.rd b/ld/testsuite/ld-i386/tlsbin-nacl.rd
index 89a0673..7bb8b0a 100644
--- a/ld/testsuite/ld-i386/tlsbin-nacl.rd
+++ b/ld/testsuite/ld-i386/tlsbin-nacl.rd
@@ -66,7 +66,7 @@ Relocation section '.rel.dyn' at offset 0x[0-9a-f]+ contains 9 entries:
 [0-9a-f ]+R_386_TLS_TPOFF32 0+ +sG1
 [0-9a-f ]+R_386_TLS_TPOFF +0+ +sG8
 
-Relocation section '.rel.plt' at offset 0x[0-9a-f]+ contains 1 entries:
+Relocation section '.rel.plt' at offset 0x[0-9a-f]+ contains 1 entry:
  Offset +Info +Type +Sym.Value +Sym. Name
 [0-9a-f ]+R_386_JUMP_SLOT +[0-9a-f]+ +___tls_get_addr
 
diff --git a/ld/testsuite/ld-i386/tlsbin.rd b/ld/testsuite/ld-i386/tlsbin.rd
index 23fffd1..d3bae56 100644
--- a/ld/testsuite/ld-i386/tlsbin.rd
+++ b/ld/testsuite/ld-i386/tlsbin.rd
@@ -64,7 +64,7 @@ Relocation section '.rel.dyn' at offset 0x[0-9a-f]+ contains 9 entries:
 [0-9a-f ]+R_386_TLS_TPOFF32 0+ +sG1
 [0-9a-f ]+R_386_TLS_TPOFF +0+ +sG8
 
-Relocation section '.rel.plt' at offset 0x[0-9a-f]+ contains 1 entries:
+Relocation section '.rel.plt' at offset 0x[0-9a-f]+ contains 1 entry:
  Offset +Info +Type +Sym.Value +Sym. Name
 [0-9a-f ]+R_386_JUMP_SLOT +[0-9a-f]+ +___tls_get_addr
 
diff --git a/ld/testsuite/ld-i386/tlspic-nacl.rd b/ld/testsuite/ld-i386/tlspic-nacl.rd
index 9645e35..0ce64ce 100644
--- a/ld/testsuite/ld-i386/tlspic-nacl.rd
+++ b/ld/testsuite/ld-i386/tlspic-nacl.rd
@@ -77,7 +77,7 @@ Relocation section '.rel.dyn' at offset 0x[0-9a-f]+ contains 26 entries:
 [0-9a-f ]+R_386_TLS_DTPOFF3 0+ +sg1
 [0-9a-f ]+R_386_TLS_TPOFF32 0+4 +sg2
 
-Relocation section '.rel.plt' at offset 0x[0-9a-f]+ contains 1 entries:
+Relocation section '.rel.plt' at offset 0x[0-9a-f]+ contains 1 entry:
  Offset +Info +Type +Sym.Value +Sym. Name
 [0-9a-f ]+R_386_JUMP_SLOT +0+ +___tls_get_addr
 
diff --git a/ld/testsuite/ld-i386/tlspic.rd b/ld/testsuite/ld-i386/tlspic.rd
index 6b915e5..4a06ba6 100644
--- a/ld/testsuite/ld-i386/tlspic.rd
+++ b/ld/testsuite/ld-i386/tlspic.rd
@@ -75,7 +75,7 @@ Relocation section '.rel.dyn' at offset 0x[0-9a-f]+ contains 26 entries:
 [0-9a-f ]+R_386_TLS_DTPOFF3 0+ +sg1
 [0-9a-f ]+R_386_TLS_TPOFF32 0+4 +sg2
 
-Relocation section '.rel.plt' at offset 0x[0-9a-f]+ contains 1 entries:
+Relocation section '.rel.plt' at offset 0x[0-9a-f]+ contains 1 entry:
  Offset +Info +Type +Sym.Value +Sym. Name
 [0-9a-f ]+R_386_JUMP_SLOT +0+ +___tls_get_addr
 
diff --git a/ld/testsuite/ld-i386/undefweakb.d b/ld/testsuite/ld-i386/undefweakb.d
index 48ebad8..e6d6d5f 100644
--- a/ld/testsuite/ld-i386/undefweakb.d
+++ b/ld/testsuite/ld-i386/undefweakb.d
@@ -3,7 +3,7 @@
 #ld: -pie -melf_i386
 #readelf: -r --wide -x .data.rel.ro
 
-Relocation section '.rel.dyn' at offset 0x[0-9a-f]+ contains 1 entries:
+Relocation section '.rel.dyn' at offset 0x[0-9a-f]+ contains 1 entry:
  Offset     Info    Type                Sym. Value  Symbol's Name
 [0-9a-f]+ +[0-9a-f]+ +R_386_RELATIVE +
 
diff --git a/ld/testsuite/ld-ia64/tlsbin.rd b/ld/testsuite/ld-ia64/tlsbin.rd
index 08c6a59..23e24d5 100644
--- a/ld/testsuite/ld-ia64/tlsbin.rd
+++ b/ld/testsuite/ld-ia64/tlsbin.rd
@@ -52,7 +52,7 @@ Relocation section '.rela.dyn' at offset 0x[0-9a-f]+ contains 3 entries:
 [0-9a-f ]+R_IA64_DTPMOD64LSB +0+ sG1 \+ 0
 [0-9a-f ]+R_IA64_DTPREL64LSB +0+ sG1 \+ 0
 
-Relocation section '.rela.IA_64.pltoff' at offset 0x[0-9a-f]+ contains 1 entries:
+Relocation section '.rela.IA_64.pltoff' at offset 0x[0-9a-f]+ contains 1 entry:
  +Offset +Info +Type +Symbol's Value +Symbol's Name \+ Addend
 [0-9a-f ]+R_IA64_IPLTLSB +0+ __tls_get_addr \+ 0
 
diff --git a/ld/testsuite/ld-ia64/tlspic.rd b/ld/testsuite/ld-ia64/tlspic.rd
index cfcf8ed..352685e 100644
--- a/ld/testsuite/ld-ia64/tlspic.rd
+++ b/ld/testsuite/ld-ia64/tlspic.rd
@@ -52,7 +52,7 @@ Relocation section '.rela.dyn' at offset 0x[0-9a-f]+ contains 6 entries:
 [0-9a-f ]+R_IA64_TPREL64LSB +44
 [0-9a-f ]+R_IA64_TPREL64LSB +24
 
-Relocation section '.rela.IA_64.pltoff' at offset 0x[0-9a-f]+ contains 1 entries:
+Relocation section '.rela.IA_64.pltoff' at offset 0x[0-9a-f]+ contains 1 entry:
  +Offset +Info +Type +Symbol's Value +Symbol's Name \+ Addend
 [0-9a-f ]+R_IA64_IPLTLSB +0+ __tls_get_addr \+ 0
 
diff --git a/ld/testsuite/ld-ifunc/ifunc-13-i386.d b/ld/testsuite/ld-ifunc/ifunc-13-i386.d
index 8dd3fed..fd35955 100644
--- a/ld/testsuite/ld-ifunc/ifunc-13-i386.d
+++ b/ld/testsuite/ld-ifunc/ifunc-13-i386.d
@@ -5,6 +5,6 @@
 #readelf: -r --wide
 #target: x86_64-*-* i?86-*-*
 
-Relocation section '.rel.ifunc' at offset 0x[0-9a-f]+ contains 1 entries:
+Relocation section '.rel.ifunc' at offset 0x[0-9a-f]+ contains 1 entry:
 [ ]+Offset[ ]+Info[ ]+Type[ ]+.*
 [0-9a-f]+[ ]+[0-9a-f]+[ ]+R_386_32[ ]+ifunc\(\)[ ]+ifunc
diff --git a/ld/testsuite/ld-ifunc/ifunc-13-x86-64.d b/ld/testsuite/ld-ifunc/ifunc-13-x86-64.d
index 1a1d061..115194d 100644
--- a/ld/testsuite/ld-ifunc/ifunc-13-x86-64.d
+++ b/ld/testsuite/ld-ifunc/ifunc-13-x86-64.d
@@ -5,6 +5,6 @@
 #readelf: -r --wide
 #target: x86_64-*-*
 
-Relocation section '.rela.ifunc' at offset 0x[0-9a-f]+ contains 1 entries:
+Relocation section '.rela.ifunc' at offset 0x[0-9a-f]+ contains 1 entry:
 [ ]+Offset[ ]+Info[ ]+Type[ ]+.*
 [0-9a-f]+[ ]+[0-9a-f]+[ ]+R_X86_64_64[ ]+ifunc\(\)[ ]+ifunc \+ 0
diff --git a/ld/testsuite/ld-ifunc/ifunc-15-i386.d b/ld/testsuite/ld-ifunc/ifunc-15-i386.d
index 0d44ba1..51c87a8 100644
--- a/ld/testsuite/ld-ifunc/ifunc-15-i386.d
+++ b/ld/testsuite/ld-ifunc/ifunc-15-i386.d
@@ -4,6 +4,6 @@
 #readelf: -r --wide
 #target: x86_64-*-* i?86-*-*
 
-Relocation section '.rel.got' at offset 0x[0-9a-f]+ contains 1 entries:
+Relocation section '.rel.got' at offset 0x[0-9a-f]+ contains 1 entry:
 [ ]+Offset[ ]+Info[ ]+Type[ ]+.*
 [0-9a-f]+[ ]+[0-9a-f]+[ ]+R_386_GLOB_DAT[ ]+ifunc\(\)[ ]+ifunc
diff --git a/ld/testsuite/ld-ifunc/ifunc-15-x86-64.d b/ld/testsuite/ld-ifunc/ifunc-15-x86-64.d
index 8a28ec9..e039cef 100644
--- a/ld/testsuite/ld-ifunc/ifunc-15-x86-64.d
+++ b/ld/testsuite/ld-ifunc/ifunc-15-x86-64.d
@@ -4,6 +4,6 @@
 #readelf: -r --wide
 #target: x86_64-*-*
 
-Relocation section '.rela.got' at offset 0x[0-9a-f]+ contains 1 entries:
+Relocation section '.rela.got' at offset 0x[0-9a-f]+ contains 1 entry:
 [ ]+Offset[ ]+Info[ ]+Type[ ]+.*
 [0-9a-f]+[ ]+[0-9a-f]+[ ]+R_X86_64_GLOB_DAT[ ]+ifunc\(\)[ ]+ifunc \+ 0
diff --git a/ld/testsuite/ld-ifunc/ifunc-20-i386.d b/ld/testsuite/ld-ifunc/ifunc-20-i386.d
index 9373fcf..6a7e3ea 100644
--- a/ld/testsuite/ld-ifunc/ifunc-20-i386.d
+++ b/ld/testsuite/ld-ifunc/ifunc-20-i386.d
@@ -4,10 +4,10 @@
 #readelf: -r --wide
 #target: x86_64-*-* i?86-*-*
 
-Relocation section '.rel.ifunc' at offset 0x[0-9a-f]+ contains 1 entries:
+Relocation section '.rel.ifunc' at offset 0x[0-9a-f]+ contains 1 entry:
 [ ]+Offset[ ]+Info[ ]+Type[ ]+.*
 [0-9a-f]+[ ]+[0-9a-f]+[ ]+R_386_32[ ]+ifunc\(\)[ ]+ifunc
 
-Relocation section '.rel.plt' at offset 0x[0-9a-f]+ contains 1 entries:
+Relocation section '.rel.plt' at offset 0x[0-9a-f]+ contains 1 entry:
 [ ]+Offset[ ]+Info[ ]+Type[ ]+.*
 [0-9a-f]+[ ]+[0-9a-f]+[ ]+R_386_JUMP_SLOT[ ]+ifunc\(\)[ ]+ifunc
diff --git a/ld/testsuite/ld-ifunc/ifunc-20-x86-64.d b/ld/testsuite/ld-ifunc/ifunc-20-x86-64.d
index 39492d4..0ea46a6 100644
--- a/ld/testsuite/ld-ifunc/ifunc-20-x86-64.d
+++ b/ld/testsuite/ld-ifunc/ifunc-20-x86-64.d
@@ -4,10 +4,10 @@
 #readelf: -r --wide
 #target: x86_64-*-*
 
-Relocation section '.rela.ifunc' at offset 0x[0-9a-f]+ contains 1 entries:
+Relocation section '.rela.ifunc' at offset 0x[0-9a-f]+ contains 1 entry:
 [ ]+Offset[ ]+Info[ ]+Type[ ]+.*
 [0-9a-f]+[ ]+[0-9a-f]+[ ]+R_X86_64_64[ ]+ifunc\(\)[ ]+ifunc \+ 0
 
-Relocation section '.rela.plt' at offset 0x[0-9a-f]+ contains 1 entries:
+Relocation section '.rela.plt' at offset 0x[0-9a-f]+ contains 1 entry:
 [ ]+Offset[ ]+Info[ ]+Type[ ]+.*
 [0-9a-f]+[ ]+[0-9a-f]+[ ]+R_X86_64_JUMP_SLOT[ ]+ifunc\(\)[ ]+ifunc \+ 0
diff --git a/ld/testsuite/ld-ifunc/ifunc-23a-x86.d b/ld/testsuite/ld-ifunc/ifunc-23a-x86.d
index 47ec5d1..a989140 100644
--- a/ld/testsuite/ld-ifunc/ifunc-23a-x86.d
+++ b/ld/testsuite/ld-ifunc/ifunc-23a-x86.d
@@ -3,6 +3,6 @@
 #readelf: -r --wide
 #target: x86_64-*-* i?86-*-*
 
-Relocation section '.rel(a|).plt' at offset 0x[0-9a-f]+ contains 1 entries:
+Relocation section '.rel(a|).plt' at offset 0x[0-9a-f]+ contains 1 entry:
  +Offset +Info +Type +Sym.* Value +Symbol's Name.*
 [0-9a-f]+[ ]+[0-9a-f]+[ ]+R_(386|X86_64)+_IRELATIVE[ ]*[0-9a-f]*
diff --git a/ld/testsuite/ld-ifunc/ifunc-23b-x86.d b/ld/testsuite/ld-ifunc/ifunc-23b-x86.d
index dbe2ec1..52e3708 100644
--- a/ld/testsuite/ld-ifunc/ifunc-23b-x86.d
+++ b/ld/testsuite/ld-ifunc/ifunc-23b-x86.d
@@ -3,6 +3,6 @@
 #readelf: -r --wide
 #target: x86_64-*-* i?86-*-*
 
-Relocation section '.rel(a|).dyn' at offset 0x[0-9a-f]+ contains 1 entries:
+Relocation section '.rel(a|).dyn' at offset 0x[0-9a-f]+ contains 1 entry:
  +Offset +Info +Type +Sym.* Value +Symbol's Name.*
 [0-9a-f]+[ ]+[0-9a-f]+[ ]+R_(386|X86_64)+_IRELATIVE[ ]*[0-9a-f]*
diff --git a/ld/testsuite/ld-ifunc/ifunc-23c-x86.d b/ld/testsuite/ld-ifunc/ifunc-23c-x86.d
index dc7e5c1..db4c3af 100644
--- a/ld/testsuite/ld-ifunc/ifunc-23c-x86.d
+++ b/ld/testsuite/ld-ifunc/ifunc-23c-x86.d
@@ -3,6 +3,6 @@
 #readelf: -r --wide
 #target: x86_64-*-* i?86-*-*
 
-Relocation section '.rel(a|).dyn' at offset 0x[0-9a-f]+ contains 1 entries:
+Relocation section '.rel(a|).dyn' at offset 0x[0-9a-f]+ contains 1 entry:
  +Offset +Info +Type +Sym.* Value +Symbol's Name.*
 [0-9a-f]+[ ]+[0-9a-f]+[ ]+R_(386|X86_64)+_IRELATIVE[ ]*[0-9a-f]*
diff --git a/ld/testsuite/ld-ifunc/ifunc-24a-x86.d b/ld/testsuite/ld-ifunc/ifunc-24a-x86.d
index 78bd4e2..91e87ee 100644
--- a/ld/testsuite/ld-ifunc/ifunc-24a-x86.d
+++ b/ld/testsuite/ld-ifunc/ifunc-24a-x86.d
@@ -3,6 +3,6 @@
 #readelf: -r --wide
 #target: x86_64-*-* i?86-*-*
 
-Relocation section '.rel(a|).plt' at offset 0x[0-9a-f]+ contains 1 entries:
+Relocation section '.rel(a|).plt' at offset 0x[0-9a-f]+ contains 1 entry:
  +Offset +Info +Type +Sym.* Value +Symbol's Name.*
 [0-9a-f]+[ ]+[0-9a-f]+[ ]+R_(386|X86_64)+_IRELATIVE[ ]*[0-9a-f]*
diff --git a/ld/testsuite/ld-ifunc/ifunc-24b-x86.d b/ld/testsuite/ld-ifunc/ifunc-24b-x86.d
index c73b019..9364624 100644
--- a/ld/testsuite/ld-ifunc/ifunc-24b-x86.d
+++ b/ld/testsuite/ld-ifunc/ifunc-24b-x86.d
@@ -3,10 +3,10 @@
 #readelf: -r --wide
 #target: x86_64-*-* i?86-*-*
 
-Relocation section '.rel(a|).dyn' at offset 0x[0-9a-f]+ contains 1 entries:
+Relocation section '.rel(a|).dyn' at offset 0x[0-9a-f]+ contains 1 entry:
  +Offset +Info +Type +Sym.* Value +Symbol's Name.*
 [0-9a-f]+[ ]+[0-9a-f]+[ ]+R_(386|X86_64)+_IRELATIVE[ ]*[0-9a-f]*
 
-Relocation section '.rel(a|).plt' at offset 0x[0-9a-f]+ contains 1 entries:
+Relocation section '.rel(a|).plt' at offset 0x[0-9a-f]+ contains 1 entry:
  +Offset +Info +Type +Sym.* Value +Symbol's Name.*
 [0-9a-f]+[ ]+[0-9a-f]+[ ]+R_(386|X86_64)+_IRELATIVE[ ]*[0-9a-f]*
diff --git a/ld/testsuite/ld-ifunc/ifunc-24c-x86.d b/ld/testsuite/ld-ifunc/ifunc-24c-x86.d
index db16754..1d274a6 100644
--- a/ld/testsuite/ld-ifunc/ifunc-24c-x86.d
+++ b/ld/testsuite/ld-ifunc/ifunc-24c-x86.d
@@ -3,10 +3,10 @@
 #readelf: -r --wide
 #target: x86_64-*-* i?86-*-*
 
-Relocation section '.rel(a|).dyn' at offset 0x[0-9a-f]+ contains 1 entries:
+Relocation section '.rel(a|).dyn' at offset 0x[0-9a-f]+ contains 1 entry:
  +Offset +Info +Type +Sym.* Value +Symbol's Name.*
 [0-9a-f]+[ ]+[0-9a-f]+[ ]+R_(386|X86_64)+_IRELATIVE[ ]*[0-9a-f]*
 
-Relocation section '.rel(a|).plt' at offset 0x[0-9a-f]+ contains 1 entries:
+Relocation section '.rel(a|).plt' at offset 0x[0-9a-f]+ contains 1 entry:
  +Offset +Info +Type +Sym.* Value +Symbol's Name.*
 [0-9a-f]+[ ]+[0-9a-f]+[ ]+R_(386|X86_64)+_IRELATIVE[ ]*[0-9a-f]*
diff --git a/ld/testsuite/ld-ifunc/ifunc-25a-x86.d b/ld/testsuite/ld-ifunc/ifunc-25a-x86.d
index 0f37f52..5f49fd8 100644
--- a/ld/testsuite/ld-ifunc/ifunc-25a-x86.d
+++ b/ld/testsuite/ld-ifunc/ifunc-25a-x86.d
@@ -3,6 +3,6 @@
 #readelf: -r --wide
 #target: x86_64-*-* i?86-*-*
 
-Relocation section '.rel(a|).plt' at offset 0x[0-9a-f]+ contains 1 entries:
+Relocation section '.rel(a|).plt' at offset 0x[0-9a-f]+ contains 1 entry:
  +Offset +Info +Type +Sym.* Value +Symbol's Name.*
 [0-9a-f]+[ ]+[0-9a-f]+[ ]+R_(386|X86_64)+_IRELATIVE[ ]*[0-9a-f]*
diff --git a/ld/testsuite/ld-ifunc/ifunc-25b-x86.d b/ld/testsuite/ld-ifunc/ifunc-25b-x86.d
index 96b0ed5..8cab20f 100644
--- a/ld/testsuite/ld-ifunc/ifunc-25b-x86.d
+++ b/ld/testsuite/ld-ifunc/ifunc-25b-x86.d
@@ -3,10 +3,10 @@
 #readelf: -r --wide
 #target: x86_64-*-* i?86-*-*
 
-Relocation section '.rel(a|).dyn' at offset 0x[0-9a-f]+ contains 1 entries:
+Relocation section '.rel(a|).dyn' at offset 0x[0-9a-f]+ contains 1 entry:
  +Offset +Info +Type +Sym.* Value +Symbol's Name.*
 [0-9a-f]+[ ]+[0-9a-f]+[ ]+R_(386|X86_64)+_IRELATIVE[ ]*[0-9a-f]*
 
-Relocation section '.rel(a|).plt' at offset 0x[0-9a-f]+ contains 1 entries:
+Relocation section '.rel(a|).plt' at offset 0x[0-9a-f]+ contains 1 entry:
  +Offset +Info +Type +Sym.* Value +Symbol's Name.*
 [0-9a-f]+[ ]+[0-9a-f]+[ ]+R_(386|X86_64)+_IRELATIVE[ ]*[0-9a-f]*
diff --git a/ld/testsuite/ld-ifunc/ifunc-25c-x86.d b/ld/testsuite/ld-ifunc/ifunc-25c-x86.d
index f9c08dc..e2401a9 100644
--- a/ld/testsuite/ld-ifunc/ifunc-25c-x86.d
+++ b/ld/testsuite/ld-ifunc/ifunc-25c-x86.d
@@ -3,10 +3,10 @@
 #readelf: -r --wide
 #target: x86_64-*-* i?86-*-*
 
-Relocation section '.rel(a|).dyn' at offset 0x[0-9a-f]+ contains 1 entries:
+Relocation section '.rel(a|).dyn' at offset 0x[0-9a-f]+ contains 1 entry:
  +Offset +Info +Type +Sym.* Value +Symbol's Name.*
 [0-9a-f]+[ ]+[0-9a-f]+[ ]+R_(386|X86_64)_(32|64) +foo\(\) +foo( \+ 0|)
 
-Relocation section '.rel(a|).plt' at offset 0x[0-9a-f]+ contains 1 entries:
+Relocation section '.rel(a|).plt' at offset 0x[0-9a-f]+ contains 1 entry:
  +Offset +Info +Type +Sym.* Value +Symbol's Name.*
 [0-9a-f]+[ ]+[0-9a-f]+[ ]+R_(386|X86_64)_JUMP_SLOT +foo\(\) +foo( \+ 0|)
diff --git a/ld/testsuite/ld-m68k/got-1.d b/ld/testsuite/ld-m68k/got-1.d
index 1eddac4..c39f161 100644
--- a/ld/testsuite/ld-m68k/got-1.d
+++ b/ld/testsuite/ld-m68k/got-1.d
@@ -14,6 +14,6 @@ Dynamic section at offset .* contains 9 entries:
  0x00000009 \(RELAENT\)                    12 \(bytes\)
  0x00000000 \(NULL\)                       0x0
 
-Relocation section '.rela.dyn' at offset 0x[0-9a-f]+ contains 1 entries:
+Relocation section '.rela.dyn' at offset 0x[0-9a-f]+ contains 1 entry:
  Offset     Info    Type            Sym.Value  Sym. Name \+ Addend
 [0-9a-f]+  [0-9a-f]+ R_68K_GLOB_DAT    00000000   a \+ 0
diff --git a/ld/testsuite/ld-mips-elf/vxworks1.rd b/ld/testsuite/ld-mips-elf/vxworks1.rd
index 05c2bfa..a5fd190 100644
--- a/ld/testsuite/ld-mips-elf/vxworks1.rd
+++ b/ld/testsuite/ld-mips-elf/vxworks1.rd
@@ -1,5 +1,5 @@
 
-Relocation section '\.rela\.dyn' at offset .* contains 1 entries:
+Relocation section '\.rela\.dyn' at offset .* contains 1 entry:
  Offset     Info    Type            Sym.Value  Sym. Name \+ Addend
 00081c00  .*7e R_MIPS_COPY       00081c00   dglobal \+ 0
 
diff --git a/ld/testsuite/ld-powerpc/ambiguousv1.d b/ld/testsuite/ld-powerpc/ambiguousv1.d
index dcff2d8..7ef4575 100644
--- a/ld/testsuite/ld-powerpc/ambiguousv1.d
+++ b/ld/testsuite/ld-powerpc/ambiguousv1.d
@@ -9,7 +9,7 @@
 # reloc on the function address, and my_func should be undefined
 # dynamic with value zero.
 
-Relocation section .* contains 1 entries:
+Relocation section .* contains 1 entry:
 .*
 .* R_PPC64_ADDR64 +0+ my_func \+ 0
 
diff --git a/ld/testsuite/ld-powerpc/ambiguousv1b.d b/ld/testsuite/ld-powerpc/ambiguousv1b.d
index 678b8ad..236dfea 100644
--- a/ld/testsuite/ld-powerpc/ambiguousv1b.d
+++ b/ld/testsuite/ld-powerpc/ambiguousv1b.d
@@ -9,7 +9,7 @@
 # taken in a read-only section we should get a copy reloc for the OPD
 # entry.
 
-Relocation section .* contains 1 entries:
+Relocation section .* contains 1 entry:
 .*
 .* R_PPC64_COPY .* my_func \+ 0
 
diff --git a/ld/testsuite/ld-powerpc/ambiguousv2.d b/ld/testsuite/ld-powerpc/ambiguousv2.d
index 7afdfe1..915ad9b 100644
--- a/ld/testsuite/ld-powerpc/ambiguousv2.d
+++ b/ld/testsuite/ld-powerpc/ambiguousv2.d
@@ -9,7 +9,7 @@
 # reloc on the function address, not have a global entry stub, and
 # my_func should be undefined dynamic with value zero.
 
-Relocation section .* contains 1 entries:
+Relocation section .* contains 1 entry:
 .*
 .* R_PPC64_ADDR64 .* my_func \+ 0
 
diff --git a/ld/testsuite/ld-powerpc/ambiguousv2b.d b/ld/testsuite/ld-powerpc/ambiguousv2b.d
index c93cd11..8100ee1 100644
--- a/ld/testsuite/ld-powerpc/ambiguousv2b.d
+++ b/ld/testsuite/ld-powerpc/ambiguousv2b.d
@@ -10,7 +10,7 @@
 # entry stub, and my_func should be undefined dynamic with non-zero
 # value.
 
-Relocation section .* contains 1 entries:
+Relocation section .* contains 1 entry:
 .*
 .* R_PPC64_JMP_SLOT .* my_func \+ 0
 
diff --git a/ld/testsuite/ld-powerpc/tlsexe.r b/ld/testsuite/ld-powerpc/tlsexe.r
index f51b17e..cc8c79c 100644
--- a/ld/testsuite/ld-powerpc/tlsexe.r
+++ b/ld/testsuite/ld-powerpc/tlsexe.r
@@ -56,7 +56,7 @@ Relocation section '\.rela\.dyn' at offset .* contains 2 entries:
 [0-9a-f ]+R_PPC64_TPREL64 +0+ gd \+ 0
 [0-9a-f ]+R_PPC64_DTPMOD64 +0+ ld \+ 0
 
-Relocation section '\.rela\.plt' at offset .* contains 1 entries:
+Relocation section '\.rela\.plt' at offset .* contains 1 entry:
  +Offset +Info +Type +Symbol's Value +Symbol's Name \+ Addend
 [0-9a-f ]+R_PPC64_JMP_SLOT +0+ __tls_get_addr_opt \+ 0
 
diff --git a/ld/testsuite/ld-powerpc/tlsexe32.r b/ld/testsuite/ld-powerpc/tlsexe32.r
index baa3ee6..2791cf6 100644
--- a/ld/testsuite/ld-powerpc/tlsexe32.r
+++ b/ld/testsuite/ld-powerpc/tlsexe32.r
@@ -55,7 +55,7 @@ Relocation section '\.rela\.dyn' at offset .* contains 2 entries:
 [0-9a-f ]+R_PPC_TPREL32 +00000000 +gd \+ 0
 [0-9a-f ]+R_PPC_DTPMOD32 +00000000 +ld \+ 0
 
-Relocation section '\.rela\.plt' at offset .* contains 1 entries:
+Relocation section '\.rela\.plt' at offset .* contains 1 entry:
  Offset +Info +Type +Sym\. Value +Symbol's Name \+ Addend
 [0-9a-f ]+R_PPC_JMP_SLOT[0-9a-f ]+__tls_get_addr_opt \+ 0
 
diff --git a/ld/testsuite/ld-powerpc/tlsexetoc.r b/ld/testsuite/ld-powerpc/tlsexetoc.r
index 5c4a490..d52a268 100644
--- a/ld/testsuite/ld-powerpc/tlsexetoc.r
+++ b/ld/testsuite/ld-powerpc/tlsexetoc.r
@@ -57,7 +57,7 @@ Relocation section '\.rela\.dyn' at offset .* contains 3 entries:
 [0-9a-f ]+R_PPC64_DTPREL64 +0+ gd \+ 0
 [0-9a-f ]+R_PPC64_DTPMOD64 +0+ ld \+ 0
 
-Relocation section '\.rela\.plt' at offset .* contains 1 entries:
+Relocation section '\.rela\.plt' at offset .* contains 1 entry:
  +Offset +Info +Type +Symbol's Value +Symbol's Name \+ Addend
 [0-9a-f ]+R_PPC64_JMP_SLOT +0+ __tls_get_addr_opt \+ 0
 
diff --git a/ld/testsuite/ld-powerpc/tlsso.r b/ld/testsuite/ld-powerpc/tlsso.r
index 4ba6173..218a0ce 100644
--- a/ld/testsuite/ld-powerpc/tlsso.r
+++ b/ld/testsuite/ld-powerpc/tlsso.r
@@ -65,7 +65,7 @@ Relocation section '\.rela\.dyn' at offset .* contains 18 entries:
 [0-9a-f ]+R_PPC64_DTPREL64 +0+38 gd0 \+ 0
 [0-9a-f ]+R_PPC64_TPREL64 +0+58 ie0 \+ 0
 
-Relocation section '\.rela\.plt' at offset .* contains 1 entries:
+Relocation section '\.rela\.plt' at offset .* contains 1 entry:
  +Offset +Info +Type +Symbol's Value +Symbol's Name \+ Addend
 [0-9a-f ]+R_PPC64_JMP_SLOT +0+ __tls_get_addr \+ 0
 
diff --git a/ld/testsuite/ld-powerpc/tlsso32.r b/ld/testsuite/ld-powerpc/tlsso32.r
index bc3b7c0..2aabfaa 100644
--- a/ld/testsuite/ld-powerpc/tlsso32.r
+++ b/ld/testsuite/ld-powerpc/tlsso32.r
@@ -64,7 +64,7 @@ Relocation section '\.rela\.dyn' at offset 0x[0-9a-f]+ contains 18 entries:
 [0-9a-f ]+R_PPC_DTPREL32 +0+1c +gd0 \+ 0
 [0-9a-f ]+R_PPC_TPREL32 +0+2c +ie0 \+ 0
 
-Relocation section '\.rela\.plt' at offset 0x[0-9a-f]+ contains 1 entries:
+Relocation section '\.rela\.plt' at offset 0x[0-9a-f]+ contains 1 entry:
  Offset +Info +Type +Sym\. Value +Symbol's Name \+ Addend
 [0-9a-f ]+R_PPC_JMP_SLOT +0+ +__tls_get_addr \+ 0
 
diff --git a/ld/testsuite/ld-powerpc/tlstocso.r b/ld/testsuite/ld-powerpc/tlstocso.r
index bf7cf84..0296549 100644
--- a/ld/testsuite/ld-powerpc/tlstocso.r
+++ b/ld/testsuite/ld-powerpc/tlstocso.r
@@ -60,7 +60,7 @@ Relocation section '\.rela\.dyn' at offset .* contains 13 entries:
 [0-9a-f ]+R_PPC64_DTPREL64 +0+50 ld2 \+ 0
 [0-9a-f ]+R_PPC64_TPREL64 +0+58 ie0 \+ 0
 
-Relocation section '\.rela\.plt' at offset .* contains 1 entries:
+Relocation section '\.rela\.plt' at offset .* contains 1 entry:
  +Offset +Info +Type +Symbol's Value +Symbol's Name \+ Addend
 [0-9a-f ]+R_PPC64_JMP_SLOT +0+ __tls_get_addr \+ 0
 
diff --git a/ld/testsuite/ld-powerpc/vle-multiseg-1.d b/ld/testsuite/ld-powerpc/vle-multiseg-1.d
index 17d22bd..facbd9c 100644
--- a/ld/testsuite/ld-powerpc/vle-multiseg-1.d
+++ b/ld/testsuite/ld-powerpc/vle-multiseg-1.d
@@ -1,7 +1,7 @@
 
 Elf file type is EXEC.*
 Entry point 0x0
-There are 1 program headers, starting at offset [0-9]+
+There is 1 program header, starting at offset [0-9]+
 
 Program Headers:
   Type           Offset   VirtAddr   PhysAddr   FileSiz MemSiz  Flg Align
diff --git a/ld/testsuite/ld-powerpc/vle-multiseg-2.d b/ld/testsuite/ld-powerpc/vle-multiseg-2.d
index 2b0ca14..fb024f2 100644
--- a/ld/testsuite/ld-powerpc/vle-multiseg-2.d
+++ b/ld/testsuite/ld-powerpc/vle-multiseg-2.d
@@ -1,7 +1,7 @@
 
 Elf file type is EXEC.*
 Entry point 0x0
-There are 1 program headers, starting at offset [0-9]+
+There is 1 program header, starting at offset [0-9]+
 
 Program Headers:
   Type           Offset   VirtAddr   PhysAddr   FileSiz MemSiz  Flg Align
diff --git a/ld/testsuite/ld-powerpc/vle-multiseg-3.d b/ld/testsuite/ld-powerpc/vle-multiseg-3.d
index c283003..7d5a77e 100644
--- a/ld/testsuite/ld-powerpc/vle-multiseg-3.d
+++ b/ld/testsuite/ld-powerpc/vle-multiseg-3.d
@@ -1,7 +1,7 @@
 
 Elf file type is EXEC.*
 Entry point 0x0
-There are 1 program headers, starting at offset [0-9]+
+There is 1 program header, starting at offset [0-9]+
 
 Program Headers:
   Type           Offset   VirtAddr   PhysAddr   FileSiz MemSiz  Flg Align
diff --git a/ld/testsuite/ld-s390/tlsbin.rd b/ld/testsuite/ld-s390/tlsbin.rd
index b45fc29..6a97d14 100644
--- a/ld/testsuite/ld-s390/tlsbin.rd
+++ b/ld/testsuite/ld-s390/tlsbin.rd
@@ -58,7 +58,7 @@ Relocation section '.rela.dyn' at offset .* contains 4 entries:
 [0-9a-f ]+R_390_TLS_TPOFF +0+ +sG6 \+ 0
 [0-9a-f ]+R_390_TLS_TPOFF +0+ +sG1 \+ 0
 
-Relocation section '.rela.plt' at offset 0x[0-9a-f]+ contains 1 entries:
+Relocation section '.rela.plt' at offset 0x[0-9a-f]+ contains 1 entry:
  Offset +Info +Type +Sym.Value +Sym. Name \+ Addend
 [0-9a-f ]+R_390_JMP_SLOT[0-9a-f ]+__tls_get_offset \+ 0
 
diff --git a/ld/testsuite/ld-s390/tlsbin_64.rd b/ld/testsuite/ld-s390/tlsbin_64.rd
index 5fcb4ba..37934bb 100644
--- a/ld/testsuite/ld-s390/tlsbin_64.rd
+++ b/ld/testsuite/ld-s390/tlsbin_64.rd
@@ -58,7 +58,7 @@ Relocation section '.rela.dyn' at offset 0x[0-9a-f]+ contains 4 entries:
 [0-9a-f ]+R_390_TLS_TPOFF +0+ sG6 \+ 0
 [0-9a-f ]+R_390_TLS_TPOFF +0+ sG1 \+ 0
 
-Relocation section '.rela.plt' at offset 0x[0-9a-f]+ contains 1 entries:
+Relocation section '.rela.plt' at offset 0x[0-9a-f]+ contains 1 entry:
  +Offset +Info +Type +Symbol's Value +Symbol's Name \+ Addend
 [0-9a-f ]+R_390_JMP_SLOT[0-9a-f ]+__tls_get_offset \+ 0
 
diff --git a/ld/testsuite/ld-s390/tlspic.rd b/ld/testsuite/ld-s390/tlspic.rd
index 5159863..7bf3b5e 100644
--- a/ld/testsuite/ld-s390/tlspic.rd
+++ b/ld/testsuite/ld-s390/tlspic.rd
@@ -62,7 +62,7 @@ Relocation section '.rela.dyn' at offset 0x[0-9a-f]+ contains 14 entries:
 [0-9a-f ]+R_390_TLS_DTPOFF +0+ +sg1 \+ 0
 [0-9a-f ]+R_390_TLS_TPOFF +0+4 +sg2 \+ 0
 
-Relocation section '.rela.plt' at offset 0x[0-9a-f]+ contains 1 entries:
+Relocation section '.rela.plt' at offset 0x[0-9a-f]+ contains 1 entry:
  Offset +Info +Type +Sym.Value +Sym. Name \+ Addend
 [0-9a-f ]+R_390_JMP_SLOT +0+ +__tls_get_offset \+ 0
 
diff --git a/ld/testsuite/ld-s390/tlspic_64.rd b/ld/testsuite/ld-s390/tlspic_64.rd
index 7f8dc1b..a9cc8b0 100644
--- a/ld/testsuite/ld-s390/tlspic_64.rd
+++ b/ld/testsuite/ld-s390/tlspic_64.rd
@@ -62,7 +62,7 @@ Relocation section '.rela.dyn' at offset 0x[0-9a-f]+ contains 14 entries:
 [0-9a-f ]+R_390_TLS_DTPOFF +0+ sg1 \+ 0
 [0-9a-f ]+R_390_TLS_TPOFF +0+4 sg2 \+ 0
 
-Relocation section '.rela.plt' at offset 0x[0-9a-f]+ contains 1 entries:
+Relocation section '.rela.plt' at offset 0x[0-9a-f]+ contains 1 entry:
  +Offset +Info +Type +Symbol's Value +Symbol's Name \+ Addend
 [0-9a-f ]+R_390_JMP_SLOT +0+ __tls_get_offset \+ 0
 
diff --git a/ld/testsuite/ld-sh/ld-r-1.d b/ld/testsuite/ld-sh/ld-r-1.d
index 1c629b3..830ad91 100644
--- a/ld/testsuite/ld-sh/ld-r-1.d
+++ b/ld/testsuite/ld-sh/ld-r-1.d
@@ -12,7 +12,7 @@
 # where and which addends to use and how.  A file linked -r must have the
 # same layout as a plain assembly file: the addend is in the data only.
 
-Relocation section '\.rela\.text' at offset 0x[0-9a-f]+ contains 1 entries:
+Relocation section '\.rela\.text' at offset 0x[0-9a-f]+ contains 1 entry:
 .*
 00000008  00000101 R_SH_DIR32 +00000000 +\.text +\+ 0
 
diff --git a/ld/testsuite/ld-sh/sh64/gotplt.d b/ld/testsuite/ld-sh/sh64/gotplt.d
index 5822326..cf80eb0 100644
--- a/ld/testsuite/ld-sh/sh64/gotplt.d
+++ b/ld/testsuite/ld-sh/sh64/gotplt.d
@@ -7,6 +7,6 @@
 # Make sure that gotplt relocations of forced local symbols
 # use the GOT.
 
-Relocation section '\.rela\.dyn' at offset .* contains 1 entries:
+Relocation section '\.rela\.dyn' at offset .* contains 1 entry:
  Offset     Info    Type            Sym\.Value  Sym\. Name \+ Addend
 [0-9a-f ]+R_SH_RELATIVE[0-9a-f ]+
diff --git a/ld/testsuite/ld-sh/shared-1.d b/ld/testsuite/ld-sh/shared-1.d
index 28034e9..2d05a21 100644
--- a/ld/testsuite/ld-sh/shared-1.d
+++ b/ld/testsuite/ld-sh/shared-1.d
@@ -11,7 +11,7 @@
 # about how, when, where and which addends to use.  A DSO must have the
 # same value in the addend as in the data, so either can be used.
 
-Relocation section '\.rela\.text' at offset 0x[0-9a-f]+ contains 1 entries:
+Relocation section '\.rela\.text' at offset 0x[0-9a-f]+ contains 1 entry:
 .*
 0000019c +[0-9a-f]+ R_SH_RELATIVE +1a0
 
diff --git a/ld/testsuite/ld-sh/tlsbin-2.d b/ld/testsuite/ld-sh/tlsbin-2.d
index 9f18e1d..7943149 100644
--- a/ld/testsuite/ld-sh/tlsbin-2.d
+++ b/ld/testsuite/ld-sh/tlsbin-2.d
@@ -59,7 +59,7 @@ Relocation section '\.rela\.dyn' at offset 0x[0-9a-f]+ contains 4 entries:
 [0-9a-f ]+R_SH_TLS_TPOFF32 +0+ +sG4 \+ 0
 [0-9a-f ]+R_SH_TLS_TPOFF32 +0+ +sG1 \+ 0
 
-Relocation section '\.rela\.plt' at offset 0x[0-9a-f]+ contains 1 entries:
+Relocation section '\.rela\.plt' at offset 0x[0-9a-f]+ contains 1 entry:
  Offset +Info +Type +Sym\.Value +Sym\. Name \+ Addend
 [0-9a-f ]+R_SH_JMP_SLOT[0-9a-f ]+__tls_get_addr \+ [0-9a-f]+
 
diff --git a/ld/testsuite/ld-sh/tlspic-2.d b/ld/testsuite/ld-sh/tlspic-2.d
index a7d83c0..fb334ec 100644
--- a/ld/testsuite/ld-sh/tlspic-2.d
+++ b/ld/testsuite/ld-sh/tlspic-2.d
@@ -59,7 +59,7 @@ Relocation section '\.rela\.dyn' at offset 0x[0-9a-f]+ contains 10 entries:
 [0-9a-f ]+R_SH_TLS_DTPOFF32 +0+ +sg1 \+ 0
 [0-9a-f ]+R_SH_TLS_TPOFF32 +0+04 +sg2 \+ 0
 
-Relocation section '\.rela\.plt' at offset 0x[0-9a-f]+ contains 1 entries:
+Relocation section '\.rela\.plt' at offset 0x[0-9a-f]+ contains 1 entry:
  Offset +Info +Type +Sym\.Value +Sym\. Name \+ Addend
 [0-9a-f ]+R_SH_JMP_SLOT[0-9a-f ]+__tls_get_addr \+ [0-9a-f]+
 
diff --git a/ld/testsuite/ld-sparc/gotop32.rd b/ld/testsuite/ld-sparc/gotop32.rd
index 1813719..ffc750d 100644
--- a/ld/testsuite/ld-sparc/gotop32.rd
+++ b/ld/testsuite/ld-sparc/gotop32.rd
@@ -33,7 +33,7 @@ Program Headers:
  +DYNAMIC +0x0+2000 0x0+12000 0x0+12000 0x0+70 0x0+70 RW +0x4
 #...
 
-Relocation section '.rela.dyn' at offset 0x[0-9a-f]+ contains 1 entries:
+Relocation section '.rela.dyn' at offset 0x[0-9a-f]+ contains 1 entry:
  Offset +Info +Type +Sym. Value +Symbol's Name \+ Addend
 [0-9a-f ]+R_SPARC_GLOB_DAT +0+13000 +sym \+ 0
 
diff --git a/ld/testsuite/ld-sparc/gotop64.rd b/ld/testsuite/ld-sparc/gotop64.rd
index 578fb2b..b8b05bc 100644
--- a/ld/testsuite/ld-sparc/gotop64.rd
+++ b/ld/testsuite/ld-sparc/gotop64.rd
@@ -33,7 +33,7 @@ Program Headers:
  +DYNAMIC +0x0+2000 0x0+102000 0x0+102000 0x0+e0 0x0+e0 RW +0x8
 #...
 
-Relocation section '.rela.dyn' at offset 0x[0-9a-f]+ contains 1 entries:
+Relocation section '.rela.dyn' at offset 0x[0-9a-f]+ contains 1 entry:
  +Offset +Info +Type +Symbol's Value +Symbol's Name \+ Addend
 [0-9a-f ]+R_SPARC_GLOB_DAT +0+103000 +sym \+ 0
 
diff --git a/ld/testsuite/ld-sparc/tlssunpic32.rd b/ld/testsuite/ld-sparc/tlssunpic32.rd
index 519b5df..8d1ea4f 100644
--- a/ld/testsuite/ld-sparc/tlssunpic32.rd
+++ b/ld/testsuite/ld-sparc/tlssunpic32.rd
@@ -55,7 +55,7 @@ Relocation section '.rela.dyn' at offset 0x[0-9a-f]+ contains 14 entries:
 [0-9a-f ]+R_SPARC_TLS_DTPOFF32 +0+ +sg1 \+ 0
 [0-9a-f ]+R_SPARC_TLS_TPOFF32 +0+4 +sg2 \+ 0
 
-Relocation section '.rela.plt' at offset 0x[0-9a-f]+ contains 1 entries:
+Relocation section '.rela.plt' at offset 0x[0-9a-f]+ contains 1 entry:
  Offset +Info +Type +Sym. Value +Symbol's Name \+ Addend
 [0-9a-f ]+R_SPARC_JMP_SLOT +0+ +__tls_get_addr \+ 0
 
diff --git a/ld/testsuite/ld-sparc/tlssunpic64.rd b/ld/testsuite/ld-sparc/tlssunpic64.rd
index fa00bbf..dabaa2b 100644
--- a/ld/testsuite/ld-sparc/tlssunpic64.rd
+++ b/ld/testsuite/ld-sparc/tlssunpic64.rd
@@ -55,7 +55,7 @@ Relocation section '.rela.dyn' at offset 0x[0-9a-f]+ contains 14 entries:
 [0-9a-f ]+R_SPARC_TLS_DTPOFF64 +0+ +sg1 \+ 0
 [0-9a-f ]+R_SPARC_TLS_TPOFF64 +0+4 +sg2 \+ 0
 
-Relocation section '.rela.plt' at offset 0x[0-9a-f]+ contains 1 entries:
+Relocation section '.rela.plt' at offset 0x[0-9a-f]+ contains 1 entry:
  +Offset +Info +Type +Symbol's Value +Symbol's Name \+ Addend
 [0-9a-f ]+R_SPARC_JMP_SLOT +0+ +__tls_get_addr \+ 0
 
diff --git a/ld/testsuite/ld-sparc/vxworks1-lib.rd b/ld/testsuite/ld-sparc/vxworks1-lib.rd
index 3604528..024ab2e 100644
--- a/ld/testsuite/ld-sparc/vxworks1-lib.rd
+++ b/ld/testsuite/ld-sparc/vxworks1-lib.rd
@@ -1,5 +1,5 @@
 
-Relocation section '\.rela\.plt' at offset .* contains 1 entries:
+Relocation section '\.rela\.plt' at offset .* contains 1 entry:
  Offset     Info    Type            Sym\.Value  Sym\. Name \+ Addend
 0009040c  .*15 R_SPARC_JMP_SLOT  00000000   sexternal \+ 0
 
diff --git a/ld/testsuite/ld-tic6x/shlib-app-1.rd b/ld/testsuite/ld-tic6x/shlib-app-1.rd
index c3ddcd3..30086ed 100644
--- a/ld/testsuite/ld-tic6x/shlib-app-1.rd
+++ b/ld/testsuite/ld-tic6x/shlib-app-1.rd
@@ -72,11 +72,11 @@ Relocation section '\.rela\.neardata' at offset 0x1154 contains 2 entries:
 100000c4  00000801 R_C6000_ABS32          00000000   g1 \+ 0
 100000c8  00000901 R_C6000_ABS32          00000000   g2 \+ 0
 
-Relocation section '\.rela\.bss' at offset 0x116c contains 1 entries:
+Relocation section '\.rela\.bss' at offset 0x116c contains 1 entry:
  Offset     Info    Type                Sym\. Value  Symbol's Name \+ Addend
 100000cc  00000b1a R_C6000_COPY           100000cc   a \+ 0
 
-Relocation section '\.rela\.plt' at offset 0x2000 contains 1 entries:
+Relocation section '\.rela\.plt' at offset 0x2000 contains 1 entry:
  Offset     Info    Type                Sym\. Value  Symbol's Name \+ Addend
 100000b4  00000a1b R_C6000_JUMP_SLOT      00000000   sub0 \+ 0
 
diff --git a/ld/testsuite/ld-tic6x/shlib-app-1b.rd b/ld/testsuite/ld-tic6x/shlib-app-1b.rd
index 2f9d0f6..3833b88 100644
--- a/ld/testsuite/ld-tic6x/shlib-app-1b.rd
+++ b/ld/testsuite/ld-tic6x/shlib-app-1b.rd
@@ -72,11 +72,11 @@ Relocation section '\.rela\.neardata' at offset 0x1154 contains 2 entries:
 100000c4  00000801 R_C6000_ABS32          00000000   g1 \+ 0
 100000c8  00000901 R_C6000_ABS32          00000000   g2 \+ 0
 
-Relocation section '\.rela\.bss' at offset 0x116c contains 1 entries:
+Relocation section '\.rela\.bss' at offset 0x116c contains 1 entry:
  Offset     Info    Type                Sym\. Value  Symbol's Name \+ Addend
 100000cc  00000b1a R_C6000_COPY           100000cc   a \+ 0
 
-Relocation section '\.rela\.plt' at offset 0x2000 contains 1 entries:
+Relocation section '\.rela\.plt' at offset 0x2000 contains 1 entry:
  Offset     Info    Type                Sym\. Value  Symbol's Name \+ Addend
 100000b4  00000a1b R_C6000_JUMP_SLOT      00000000   sub0 \+ 0
 
diff --git a/ld/testsuite/ld-tic6x/shlib-app-1r.rd b/ld/testsuite/ld-tic6x/shlib-app-1r.rd
index 2cf8c58..a952a32 100644
--- a/ld/testsuite/ld-tic6x/shlib-app-1r.rd
+++ b/ld/testsuite/ld-tic6x/shlib-app-1r.rd
@@ -66,11 +66,11 @@ Relocation section '\.rela\.got' at offset 0x110c contains 2 entries:
 100000b8  00000701 R_C6000_ABS32          100000c0   b \+ 0
 100000bc  00000901 R_C6000_ABS32          100000c4   a \+ 0
 
-Relocation section '\.rela\.bss' at offset 0x1124 contains 1 entries:
+Relocation section '\.rela\.bss' at offset 0x1124 contains 1 entry:
  Offset     Info    Type                Sym\. Value  Symbol's Name \+ Addend
 100000c4  0000091a R_C6000_COPY           100000c4   a \+ 0
 
-Relocation section '\.rela\.plt' at offset 0x2000 contains 1 entries:
+Relocation section '\.rela\.plt' at offset 0x2000 contains 1 entry:
  Offset     Info    Type                Sym\. Value  Symbol's Name \+ Addend
 100000b4  0000081b R_C6000_JUMP_SLOT      00000000   sub0 \+ 0
 
diff --git a/ld/testsuite/ld-tic6x/shlib-app-1rb.rd b/ld/testsuite/ld-tic6x/shlib-app-1rb.rd
index 3cb0256..0260d0e 100644
--- a/ld/testsuite/ld-tic6x/shlib-app-1rb.rd
+++ b/ld/testsuite/ld-tic6x/shlib-app-1rb.rd
@@ -66,11 +66,11 @@ Relocation section '\.rela\.got' at offset 0x1110 contains 2 entries:
 100000b8  00000701 R_C6000_ABS32          100000c0   b \+ 0
 100000bc  00000901 R_C6000_ABS32          100000c4   a \+ 0
 
-Relocation section '\.rela\.bss' at offset 0x1128 contains 1 entries:
+Relocation section '\.rela\.bss' at offset 0x1128 contains 1 entry:
  Offset     Info    Type                Sym\. Value  Symbol's Name \+ Addend
 100000c4  0000091a R_C6000_COPY           100000c4   a \+ 0
 
-Relocation section '\.rela\.plt' at offset 0x2000 contains 1 entries:
+Relocation section '\.rela\.plt' at offset 0x2000 contains 1 entry:
  Offset     Info    Type                Sym\. Value  Symbol's Name \+ Addend
 100000b4  0000081b R_C6000_JUMP_SLOT      00000000   sub0 \+ 0
 
diff --git a/ld/testsuite/ld-tic6x/shlib-noindex.rd b/ld/testsuite/ld-tic6x/shlib-noindex.rd
index 0a29c63..be06125 100644
--- a/ld/testsuite/ld-tic6x/shlib-noindex.rd
+++ b/ld/testsuite/ld-tic6x/shlib-noindex.rd
@@ -61,7 +61,7 @@ Dynamic section at offset 0x1188 contains 17 entries:
  0x00000016 \(TEXTREL\)                    0x0
  0x00000000 \(NULL\)                       0x0
 
-Relocation section '\.rela\.text' at offset 0x1140 contains 1 entries:
+Relocation section '\.rela\.text' at offset 0x1140 contains 1 entry:
  Offset     Info    Type                Sym\. Value  Symbol's Name \+ Addend
 10000094  00000618 R_C6000_DSBT_INDEX     10000100   __c6xabi_DSBT_BASE \+ 0
 
diff --git a/ld/testsuite/ld-vax-elf/export-class-data.rd b/ld/testsuite/ld-vax-elf/export-class-data.rd
index aaac804..21f7203 100644
--- a/ld/testsuite/ld-vax-elf/export-class-data.rd
+++ b/ld/testsuite/ld-vax-elf/export-class-data.rd
@@ -1,3 +1,3 @@
-Relocation section '\.rela\.got' at offset 0x[0-9a-f]+ contains 1 entries:
+Relocation section '\.rela\.got' at offset 0x[0-9a-f]+ contains 1 entry:
  * Offset * Info * Type * Sym\. *Value * Sym\. * Name * \+ * Addend
 12340034  [0-9a-f]+14 R_VAX_GLOB_DAT    12340018   protected_foo \+ 0
diff --git a/ld/testsuite/ld-x86-64/pr13082-1a.d b/ld/testsuite/ld-x86-64/pr13082-1a.d
index cb404e0..e13162a 100644
--- a/ld/testsuite/ld-x86-64/pr13082-1a.d
+++ b/ld/testsuite/ld-x86-64/pr13082-1a.d
@@ -8,6 +8,6 @@ Dynamic section at offset 0x[0-9a-f]+ contains [0-9]+ entries:
 #...
  0x[0-9a-f]+ +\(RELACOUNT\) +1
 #...
-Relocation section '.rela.dyn' at offset 0x[0-9a-f]+ contains 1 entries:
+Relocation section '.rela.dyn' at offset 0x[0-9a-f]+ contains 1 entry:
  Offset     Info    Type                Sym. Value  Symbol's Name \+ Addend
 [0-9a-f]+ +[0-9a-f]+ +R_X86_64_RELATIVE64 +[0-9a-f]+
diff --git a/ld/testsuite/ld-x86-64/pr13082-1b.d b/ld/testsuite/ld-x86-64/pr13082-1b.d
index dbe8a0a..9cc44a2 100644
--- a/ld/testsuite/ld-x86-64/pr13082-1b.d
+++ b/ld/testsuite/ld-x86-64/pr13082-1b.d
@@ -8,6 +8,6 @@ Dynamic section at offset 0x[0-9a-f]+ contains [0-9]+ entries:
 #...
  0x[0-9a-f]+ +\(RELACOUNT\) +1
 #...
-Relocation section '.rela.dyn' at offset 0x[0-9a-f]+ contains 1 entries:
+Relocation section '.rela.dyn' at offset 0x[0-9a-f]+ contains 1 entry:
  Offset     Info    Type                Sym. Value  Symbol's Name \+ Addend
 [0-9a-f]+ +[0-9a-f]+ +R_X86_64_RELATIVE64 +[0-9a-f]+
diff --git a/ld/testsuite/ld-x86-64/pr13082-2a.d b/ld/testsuite/ld-x86-64/pr13082-2a.d
index aed33c2..ff576a3 100644
--- a/ld/testsuite/ld-x86-64/pr13082-2a.d
+++ b/ld/testsuite/ld-x86-64/pr13082-2a.d
@@ -4,6 +4,6 @@
 #ld: -shared -melf32_x86_64
 #readelf: -r --wide
 
-Relocation section '.rela.dyn' at offset 0x[0-9a-f]+ contains 1 entries:
+Relocation section '.rela.dyn' at offset 0x[0-9a-f]+ contains 1 entry:
  Offset     Info    Type                Sym. Value  Symbol's Name \+ Addend
 [0-9a-f]+ +[0-9a-f]+ +R_X86_64_32 +[0-9a-f]+ +_start \+ 0
diff --git a/ld/testsuite/ld-x86-64/pr13082-2b.d b/ld/testsuite/ld-x86-64/pr13082-2b.d
index b000e85..c218eaf 100644
--- a/ld/testsuite/ld-x86-64/pr13082-2b.d
+++ b/ld/testsuite/ld-x86-64/pr13082-2b.d
@@ -4,6 +4,6 @@
 #ld: -pie -melf32_x86_64
 #readelf: -r --wide
 
-Relocation section '.rela.dyn' at offset 0x[0-9a-f]+ contains 1 entries:
+Relocation section '.rela.dyn' at offset 0x[0-9a-f]+ contains 1 entry:
  Offset     Info    Type                Sym. Value  Symbol's Name \+ Addend
 [0-9a-f]+ +[0-9a-f]+ +R_X86_64_RELATIVE +[0-9a-f]+
diff --git a/ld/testsuite/ld-x86-64/pr13082-3a.d b/ld/testsuite/ld-x86-64/pr13082-3a.d
index bf176f9..b2421ea 100644
--- a/ld/testsuite/ld-x86-64/pr13082-3a.d
+++ b/ld/testsuite/ld-x86-64/pr13082-3a.d
@@ -4,6 +4,6 @@
 #ld: -shared -melf32_x86_64
 #readelf: -r --wide
 
-Relocation section '.rela.dyn' at offset 0x[0-9a-f]+ contains 1 entries:
+Relocation section '.rela.dyn' at offset 0x[0-9a-f]+ contains 1 entry:
  Offset     Info    Type                Sym. Value  Symbol's Name \+ Addend
 [0-9a-f]+ +[0-9a-f]+ +R_X86_64_32 +[0-9a-f]+ +func \+ 0
diff --git a/ld/testsuite/ld-x86-64/pr13082-3c.d b/ld/testsuite/ld-x86-64/pr13082-3c.d
index 9947425..de7d021 100644
--- a/ld/testsuite/ld-x86-64/pr13082-3c.d
+++ b/ld/testsuite/ld-x86-64/pr13082-3c.d
@@ -4,6 +4,6 @@
 #ld: -shared -melf_x86_64
 #readelf: -r --wide
 
-Relocation section '.rela.dyn' at offset 0x[0-9a-f]+ contains 1 entries:
+Relocation section '.rela.dyn' at offset 0x[0-9a-f]+ contains 1 entry:
     Offset             Info             Type               Symbol's Value  Symbol's Name \+ Addend
 [0-9a-f]+ +[0-9a-f]+ +R_X86_64_64 +[0-9a-f]+ +func \+ 0
diff --git a/ld/testsuite/ld-x86-64/pr13082-4a.d b/ld/testsuite/ld-x86-64/pr13082-4a.d
index bb2c573..6ca032e 100644
--- a/ld/testsuite/ld-x86-64/pr13082-4a.d
+++ b/ld/testsuite/ld-x86-64/pr13082-4a.d
@@ -4,6 +4,6 @@
 #ld: -shared -melf32_x86_64
 #readelf: -r --wide
 
-Relocation section '.rela.dyn' at offset 0x[0-9a-f]+ contains 1 entries:
+Relocation section '.rela.dyn' at offset 0x[0-9a-f]+ contains 1 entry:
  Offset     Info    Type                Sym. Value  Symbol's Name \+ Addend
 [0-9a-f]+ +[0-9a-f]+ +R_X86_64_64 +[0-9a-f]+ +func \+ 1
diff --git a/ld/testsuite/ld-x86-64/pr13082-5a.d b/ld/testsuite/ld-x86-64/pr13082-5a.d
index d1b100d..bbdb01b 100644
--- a/ld/testsuite/ld-x86-64/pr13082-5a.d
+++ b/ld/testsuite/ld-x86-64/pr13082-5a.d
@@ -4,6 +4,6 @@
 #ld: -shared -melf32_x86_64
 #readelf: -r --wide
 
-Relocation section '.rela.dyn' at offset 0x[0-9a-f]+ contains 1 entries:
+Relocation section '.rela.dyn' at offset 0x[0-9a-f]+ contains 1 entry:
  Offset     Info    Type                Sym. Value  Symbol's Name \+ Addend
 [0-9a-f]+ +[0-9a-f]+ +R_X86_64_32 +ifunc\(\)+ +ifunc \+ 0
diff --git a/ld/testsuite/ld-x86-64/pr13082-5b.d b/ld/testsuite/ld-x86-64/pr13082-5b.d
index 01e403b..971c199 100644
--- a/ld/testsuite/ld-x86-64/pr13082-5b.d
+++ b/ld/testsuite/ld-x86-64/pr13082-5b.d
@@ -4,6 +4,6 @@
 #ld: -pie -melf32_x86_64
 #readelf: -r --wide
 
-Relocation section '.rela.dyn' at offset 0x[0-9a-f]+ contains 1 entries:
+Relocation section '.rela.dyn' at offset 0x[0-9a-f]+ contains 1 entry:
  Offset     Info    Type                Sym. Value  Symbol's Name \+ Addend
 [0-9a-f]+ +[0-9a-f]+ +R_X86_64_IRELATIVE +[0-9a-f]+
diff --git a/ld/testsuite/ld-x86-64/pr13082-6a.d b/ld/testsuite/ld-x86-64/pr13082-6a.d
index 5914f3d..6dfc335 100644
--- a/ld/testsuite/ld-x86-64/pr13082-6a.d
+++ b/ld/testsuite/ld-x86-64/pr13082-6a.d
@@ -4,6 +4,6 @@
 #ld: -shared -melf32_x86_64
 #readelf: -r --wide
 
-Relocation section '.rela.dyn' at offset 0x[0-9a-f]+ contains 1 entries:
+Relocation section '.rela.dyn' at offset 0x[0-9a-f]+ contains 1 entry:
  Offset     Info    Type                Sym. Value  Symbol's Name \+ Addend
 [0-9a-f]+ +[0-9a-f]+ +R_X86_64_IRELATIVE +[0-9a-f]+
diff --git a/ld/testsuite/ld-x86-64/pr13082-6b.d b/ld/testsuite/ld-x86-64/pr13082-6b.d
index 6ff23ff..33bdb03 100644
--- a/ld/testsuite/ld-x86-64/pr13082-6b.d
+++ b/ld/testsuite/ld-x86-64/pr13082-6b.d
@@ -4,6 +4,6 @@
 #ld: -pie -melf32_x86_64
 #readelf: -r --wide
 
-Relocation section '.rela.dyn' at offset 0x[0-9a-f]+ contains 1 entries:
+Relocation section '.rela.dyn' at offset 0x[0-9a-f]+ contains 1 entry:
  Offset     Info    Type                Sym. Value  Symbol's Name \+ Addend
 [0-9a-f]+ +[0-9a-f]+ +R_X86_64_IRELATIVE +[0-9a-f]+
diff --git a/ld/testsuite/ld-x86-64/pr17709-nacl.rd b/ld/testsuite/ld-x86-64/pr17709-nacl.rd
index f1baa38..beffd3c 100644
--- a/ld/testsuite/ld-x86-64/pr17709-nacl.rd
+++ b/ld/testsuite/ld-x86-64/pr17709-nacl.rd
@@ -1,4 +1,4 @@
 
-Relocation section '.rela\..*' at offset .* contains 1 entries:
+Relocation section '.rela\..*' at offset .* contains 1 entry:
  +Offset +Info +Type +Symbol's Value +Symbol's Name \+ Addend
 [0-9a-f ]+R_X86_64_COPY+[0-9a-f ]+ +foo \+ 0
diff --git a/ld/testsuite/ld-x86-64/pr17709.rd b/ld/testsuite/ld-x86-64/pr17709.rd
index f1baa38..beffd3c 100644
--- a/ld/testsuite/ld-x86-64/pr17709.rd
+++ b/ld/testsuite/ld-x86-64/pr17709.rd
@@ -1,4 +1,4 @@
 
-Relocation section '.rela\..*' at offset .* contains 1 entries:
+Relocation section '.rela\..*' at offset .* contains 1 entry:
  +Offset +Info +Type +Symbol's Value +Symbol's Name \+ Addend
 [0-9a-f ]+R_X86_64_COPY+[0-9a-f ]+ +foo \+ 0
diff --git a/ld/testsuite/ld-x86-64/pr19539a.d b/ld/testsuite/ld-x86-64/pr19539a.d
index 27d5df9..8c456d8 100644
--- a/ld/testsuite/ld-x86-64/pr19539a.d
+++ b/ld/testsuite/ld-x86-64/pr19539a.d
@@ -3,6 +3,6 @@
 #ld: -pie -m elf_x86_64 -T pr19539.t
 #readelf: -r --wide
 
-Relocation section '.rela.dyn' at offset 0x[0-9a-f]+ contains 1 entries:
+Relocation section '.rela.dyn' at offset 0x[0-9a-f]+ contains 1 entry:
     Offset             Info             Type               Symbol's Value  Symbol's Name \+ Addend
 [0-9a-f]+ +[0-9a-f]+ +R_X86_64_RELATIVE +[0-9a-f]+
diff --git a/ld/testsuite/ld-x86-64/pr19539b.d b/ld/testsuite/ld-x86-64/pr19539b.d
index 58da85a..f338987 100644
--- a/ld/testsuite/ld-x86-64/pr19539b.d
+++ b/ld/testsuite/ld-x86-64/pr19539b.d
@@ -3,6 +3,6 @@
 #ld: -pie -m elf32_x86_64 -T pr19539.t
 #readelf: -r --wide
 
-Relocation section '.rela.dyn' at offset 0x[0-9a-f]+ contains 1 entries:
+Relocation section '.rela.dyn' at offset 0x[0-9a-f]+ contains 1 entry:
  Offset     Info    Type                Sym. Value  Symbol's Name \+ Addend
 [0-9a-f]+ +[0-9a-f]+ +R_X86_64_RELATIVE +[0-9a-f]+
diff --git a/ld/testsuite/ld-x86-64/pr19615.d b/ld/testsuite/ld-x86-64/pr19615.d
index f09bcf3..90ad05c 100644
--- a/ld/testsuite/ld-x86-64/pr19615.d
+++ b/ld/testsuite/ld-x86-64/pr19615.d
@@ -2,7 +2,7 @@
 #ld: -pie -Bsymbolic -E -melf_x86_64
 #readelf: -r --wide --dyn-syms
 
-Relocation section '.rela.dyn' at offset 0x[0-9a-f]+ contains 1 entries:
+Relocation section '.rela.dyn' at offset 0x[0-9a-f]+ contains 1 entry:
     Offset             Info             Type               Symbol's Value  Symbol's Name \+ Addend
 [0-9a-f]+ +[0-9a-f]+ +R_X86_64_RELATIVE +[0-9]+
 
diff --git a/ld/testsuite/ld-x86-64/pr19636-1a.d b/ld/testsuite/ld-x86-64/pr19636-1a.d
index 5cdfcb9..fbff692 100644
--- a/ld/testsuite/ld-x86-64/pr19636-1a.d
+++ b/ld/testsuite/ld-x86-64/pr19636-1a.d
@@ -5,6 +5,6 @@
 
 There are no relocations in this file.
 
-Symbol table '\.dynsym' contains 1 entries:
+Symbol table '\.dynsym' contains 1 entry:
  +Num: +Value +Size Type +Bind +Vis +Ndx Name
  +0: 0+ +0 +NOTYPE +LOCAL +DEFAULT +UND +
diff --git a/ld/testsuite/ld-x86-64/pr19636-1d.d b/ld/testsuite/ld-x86-64/pr19636-1d.d
index 00da41e..ccab633 100644
--- a/ld/testsuite/ld-x86-64/pr19636-1d.d
+++ b/ld/testsuite/ld-x86-64/pr19636-1d.d
@@ -3,7 +3,7 @@
 #ld: -shared -m elf_x86_64
 #readelf : -r --wide --dyn-syms
 
-Relocation section '\.rela?\..*' at offset 0x[0-9a-f]+ contains [0-9]+ entries:
+Relocation section '\.rela?\..*' at offset 0x[0-9a-f]+ contains [0-9]+ entr(y|ies):
 #...
 [0-9a-f]+[ \t]+[0-9a-f]+[ \t]+R_.*[ \t]+[0-9a-f]+[ \t]+func.*
 #...
diff --git a/ld/testsuite/ld-x86-64/pr19636-1e.d b/ld/testsuite/ld-x86-64/pr19636-1e.d
index ea369b2..8516149 100644
--- a/ld/testsuite/ld-x86-64/pr19636-1e.d
+++ b/ld/testsuite/ld-x86-64/pr19636-1e.d
@@ -3,7 +3,7 @@
 #ld: -shared -Bsymbolic -m elf_x86_64
 #readelf : -r --wide --dyn-syms
 
-Relocation section '\.rela?\..*' at offset 0x[0-9a-f]+ contains [0-9]+ entries:
+Relocation section '\.rela?\..*' at offset 0x[0-9a-f]+ contains [0-9]+ entr(y|ies):
 #...
 [0-9a-f]+[ \t]+[0-9a-f]+[ \t]+R_.*[ \t]+[0-9a-f]+[ \t]+func.*
 #...
diff --git a/ld/testsuite/ld-x86-64/pr19636-2a.d b/ld/testsuite/ld-x86-64/pr19636-2a.d
index 1efb87e..93badf7 100644
--- a/ld/testsuite/ld-x86-64/pr19636-2a.d
+++ b/ld/testsuite/ld-x86-64/pr19636-2a.d
@@ -5,7 +5,7 @@
 
 There are no relocations in this file.
 
-Symbol table '\.dynsym' contains 1 entries:
+Symbol table '\.dynsym' contains 1 entry:
  +Num: +Value +Size Type +Bind +Vis +Ndx Name
  +0: 0+ +0 +NOTYPE +LOCAL +DEFAULT +UND +
 
diff --git a/ld/testsuite/ld-x86-64/pr19636-2e.d b/ld/testsuite/ld-x86-64/pr19636-2e.d
index 3689d75..32a326c 100644
--- a/ld/testsuite/ld-x86-64/pr19636-2e.d
+++ b/ld/testsuite/ld-x86-64/pr19636-2e.d
@@ -8,7 +8,7 @@ Relocation section '\.rela\.dyn' at offset [0x0-9a-f]+ contains 2 entries:
 [0-9a-f]+ +[0-9a-f]+ +R_X86_64_GLOB_DAT +0+ +func1 \+ 0
 [0-9a-f]+ +[0-9a-f]+ +R_X86_64_GLOB_DAT +0+ +func2 \+ 0
 
-Relocation section '\.rela\.plt' at offset 0x[0-9a-f]+ contains 1 entries:
+Relocation section '\.rela\.plt' at offset 0x[0-9a-f]+ contains 1 entry:
  +Offset +Info +Type +Symbol's Value +Symbol's Name \+ Addend
 [0-9a-f]+ +[0-9a-f]+ +R_X86_64_JUMP_SLOT +0+ +func3 \+ 0
 
diff --git a/ld/testsuite/ld-x86-64/pr19636-2f.d b/ld/testsuite/ld-x86-64/pr19636-2f.d
index 605fa24..528bce1 100644
--- a/ld/testsuite/ld-x86-64/pr19636-2f.d
+++ b/ld/testsuite/ld-x86-64/pr19636-2f.d
@@ -8,7 +8,7 @@ Relocation section '\.rela\.dyn' at offset [0x0-9a-f]+ contains 2 entries:
 [0-9a-f]+ +[0-9a-f]+ +R_X86_64_GLOB_DAT +0+ +func1 \+ 0
 [0-9a-f]+ +[0-9a-f]+ +R_X86_64_GLOB_DAT +0+ +func2 \+ 0
 
-Relocation section '\.rela\.plt' at offset 0x[0-9a-f]+ contains 1 entries:
+Relocation section '\.rela\.plt' at offset 0x[0-9a-f]+ contains 1 entry:
  +Offset +Info +Type +Symbol's Value +Symbol's Name \+ Addend
 [0-9a-f]+ +[0-9a-f]+ +R_X86_64_JUMP_SLOT +0+ +func3 \+ 0
 
diff --git a/ld/testsuite/ld-x86-64/pr19636-3a.d b/ld/testsuite/ld-x86-64/pr19636-3a.d
index af01939..7f7fa1d 100644
--- a/ld/testsuite/ld-x86-64/pr19636-3a.d
+++ b/ld/testsuite/ld-x86-64/pr19636-3a.d
@@ -3,6 +3,6 @@
 #ld: -pie --defsym foobar=0x100 -m elf_x86_64
 #readelf : --dyn-syms --wide
 
-Symbol table '\.dynsym' contains 1 entries:
+Symbol table '\.dynsym' contains 1 entry:
  +Num: +Value +Size Type +Bind +Vis +Ndx Name
  +0: 0+ +0 +NOTYPE +LOCAL +DEFAULT +UND +
diff --git a/ld/testsuite/ld-x86-64/pr19645.d b/ld/testsuite/ld-x86-64/pr19645.d
index 9445fda..3596a1c 100644
--- a/ld/testsuite/ld-x86-64/pr19645.d
+++ b/ld/testsuite/ld-x86-64/pr19645.d
@@ -2,7 +2,7 @@
 #ld: -shared -Bsymbolic-functions -melf_x86_64
 #readelf: -r --wide --dyn-syms
 
-Relocation section '.rela.dyn' at offset 0x[0-9a-f]+ contains 1 entries:
+Relocation section '.rela.dyn' at offset 0x[0-9a-f]+ contains 1 entry:
  +Offset +Info +Type +Symbol's Value +Symbol's Name \+ Addend
 [0-9a-f]+ +[0-9a-f]+ +R_X86_64_GLOB_DAT +[0-9a-f]+ +foobar \+ 0
 
diff --git a/ld/testsuite/ld-x86-64/pr19807-2b.d b/ld/testsuite/ld-x86-64/pr19807-2b.d
index a781b30..44205f2 100644
--- a/ld/testsuite/ld-x86-64/pr19807-2b.d
+++ b/ld/testsuite/ld-x86-64/pr19807-2b.d
@@ -3,6 +3,6 @@
 #ld: -pie -melf32_x86_64
 #readelf: -r --wide
 
-Relocation section '.rela.dyn' at offset 0x[0-9a-f]+ contains 1 entries:
+Relocation section '.rela.dyn' at offset 0x[0-9a-f]+ contains 1 entry:
  Offset     Info    Type                Sym. Value  Symbol's Name \+ Addend
 [0-9a-f]+ +[0-9a-f]+ +R_X86_64_RELATIVE +[0-9a-f]+
diff --git a/ld/testsuite/ld-x86-64/pr19807-2d.d b/ld/testsuite/ld-x86-64/pr19807-2d.d
index 1171283..5394615 100644
--- a/ld/testsuite/ld-x86-64/pr19807-2d.d
+++ b/ld/testsuite/ld-x86-64/pr19807-2d.d
@@ -3,6 +3,6 @@
 #ld: -pie -melf_x86_64 -z noreloc-overflow
 #readelf: -r --wide
 
-Relocation section '.rela.dyn' at offset 0x[0-9a-f]+ contains 1 entries:
+Relocation section '.rela.dyn' at offset 0x[0-9a-f]+ contains 1 entry:
     Offset             Info             Type               Symbol's Value  Symbol's Name \+ Addend
 [0-9a-f]+ +[0-9a-f]+ +R_X86_64_RELATIVE +[0-9a-f]+
diff --git a/ld/testsuite/ld-x86-64/pr19827-nacl.rd b/ld/testsuite/ld-x86-64/pr19827-nacl.rd
index 67eaacc..bd70130 100644
--- a/ld/testsuite/ld-x86-64/pr19827-nacl.rd
+++ b/ld/testsuite/ld-x86-64/pr19827-nacl.rd
@@ -1,5 +1,5 @@
 #readelf: -r --wide
 
-Relocation section '.rela.dyn' at offset 0x[0-9a-f]+ contains 1 entries:
+Relocation section '.rela.dyn' at offset 0x[0-9a-f]+ contains 1 entry:
     Offset             Info             Type               Symbol's Value  Symbol's Name \+ Addend
 [0-9a-f]+ +[0-9a-f]+ +R_X86_64_RELATIVE +[0-9a-f]+
diff --git a/ld/testsuite/ld-x86-64/pr19827.rd b/ld/testsuite/ld-x86-64/pr19827.rd
index 67eaacc..bd70130 100644
--- a/ld/testsuite/ld-x86-64/pr19827.rd
+++ b/ld/testsuite/ld-x86-64/pr19827.rd
@@ -1,5 +1,5 @@
 #readelf: -r --wide
 
-Relocation section '.rela.dyn' at offset 0x[0-9a-f]+ contains 1 entries:
+Relocation section '.rela.dyn' at offset 0x[0-9a-f]+ contains 1 entry:
     Offset             Info             Type               Symbol's Value  Symbol's Name \+ Addend
 [0-9a-f]+ +[0-9a-f]+ +R_X86_64_RELATIVE +[0-9a-f]+
diff --git a/ld/testsuite/ld-x86-64/pr20253-4a.d b/ld/testsuite/ld-x86-64/pr20253-4a.d
index 041c164..2f0efe4 100644
--- a/ld/testsuite/ld-x86-64/pr20253-4a.d
+++ b/ld/testsuite/ld-x86-64/pr20253-4a.d
@@ -3,6 +3,6 @@
 #ld: -melf_x86_64
 #readelf: -r --wide
 
-Relocation section '.rela.plt' at offset 0x[0-9a-f]+ contains 1 entries:
+Relocation section '.rela.plt' at offset 0x[0-9a-f]+ contains 1 entry:
  +Offset +Info +Type +Sym.* Value +Symbol's Name \+ Addend
 [0-9a-f]+ +[0-9a-f]+ +R_X86_64_IRELATIVE +[0-9a-f]+
diff --git a/ld/testsuite/ld-x86-64/pr20253-4b.d b/ld/testsuite/ld-x86-64/pr20253-4b.d
index 6dc95b5..4d4e5b1 100644
--- a/ld/testsuite/ld-x86-64/pr20253-4b.d
+++ b/ld/testsuite/ld-x86-64/pr20253-4b.d
@@ -3,6 +3,6 @@
 #ld: -pie -melf_x86_64
 #readelf: -r --wide
 
-Relocation section '.rela.dyn' at offset 0x[0-9a-f]+ contains 1 entries:
+Relocation section '.rela.dyn' at offset 0x[0-9a-f]+ contains 1 entry:
  +Offset +Info +Type +Sym.* Value +Symbol's Name \+ Addend
 [0-9a-f]+ +[0-9a-f]+ +R_X86_64_IRELATIVE +[0-9a-f]+
diff --git a/ld/testsuite/ld-x86-64/pr20253-4d.d b/ld/testsuite/ld-x86-64/pr20253-4d.d
index 52dd877..830367c 100644
--- a/ld/testsuite/ld-x86-64/pr20253-4d.d
+++ b/ld/testsuite/ld-x86-64/pr20253-4d.d
@@ -3,6 +3,6 @@
 #ld: -melf32_x86_64
 #readelf: -r --wide
 
-Relocation section '.rela.plt' at offset 0x[0-9a-f]+ contains 1 entries:
+Relocation section '.rela.plt' at offset 0x[0-9a-f]+ contains 1 entry:
  +Offset +Info +Type +Sym.* Value +Symbol's Name \+ Addend
 [0-9a-f]+ +[0-9a-f]+ +R_X86_64_IRELATIVE +[0-9a-f]+
diff --git a/ld/testsuite/ld-x86-64/pr20253-4e.d b/ld/testsuite/ld-x86-64/pr20253-4e.d
index d9f2fa4..52da934 100644
--- a/ld/testsuite/ld-x86-64/pr20253-4e.d
+++ b/ld/testsuite/ld-x86-64/pr20253-4e.d
@@ -3,6 +3,6 @@
 #ld: -pie -melf32_x86_64
 #readelf: -r --wide
 
-Relocation section '.rela.dyn' at offset 0x[0-9a-f]+ contains 1 entries:
+Relocation section '.rela.dyn' at offset 0x[0-9a-f]+ contains 1 entry:
  +Offset +Info +Type +Sym.* Value +Symbol's Name \+ Addend
 [0-9a-f]+ +[0-9a-f]+ +R_X86_64_IRELATIVE +[0-9a-f]+
diff --git a/ld/testsuite/ld-x86-64/pr20253-5a.d b/ld/testsuite/ld-x86-64/pr20253-5a.d
index 1eceda4..0fff0fc 100644
--- a/ld/testsuite/ld-x86-64/pr20253-5a.d
+++ b/ld/testsuite/ld-x86-64/pr20253-5a.d
@@ -3,6 +3,6 @@
 #ld: -melf_x86_64
 #readelf: -r --wide
 
-Relocation section '.rela.plt' at offset 0x[0-9a-f]+ contains 1 entries:
+Relocation section '.rela.plt' at offset 0x[0-9a-f]+ contains 1 entry:
  +Offset +Info +Type +Sym.* Value +Symbol's Name \+ Addend
 [0-9a-f]+ +[0-9a-f]+ +R_X86_64_IRELATIVE +[0-9a-f]+
diff --git a/ld/testsuite/ld-x86-64/pr20253-5b.d b/ld/testsuite/ld-x86-64/pr20253-5b.d
index c1cb335..9a7a593 100644
--- a/ld/testsuite/ld-x86-64/pr20253-5b.d
+++ b/ld/testsuite/ld-x86-64/pr20253-5b.d
@@ -3,6 +3,6 @@
 #ld: -melf32_x86_64
 #readelf: -r --wide
 
-Relocation section '.rela.plt' at offset 0x[0-9a-f]+ contains 1 entries:
+Relocation section '.rela.plt' at offset 0x[0-9a-f]+ contains 1 entry:
  +Offset +Info +Type +Sym.* Value +Symbol's Name \+ Addend
 [0-9a-f]+ +[0-9a-f]+ +R_X86_64_IRELATIVE +[0-9a-f]+
diff --git a/ld/testsuite/ld-x86-64/tlsbin-nacl.rd b/ld/testsuite/ld-x86-64/tlsbin-nacl.rd
index 4284644..4e0d1ab 100644
--- a/ld/testsuite/ld-x86-64/tlsbin-nacl.rd
+++ b/ld/testsuite/ld-x86-64/tlsbin-nacl.rd
@@ -61,7 +61,7 @@ Relocation section '.rela.dyn' at offset 0x[0-9a-f]+ contains 4 entries:
 [0-9a-f ]+R_X86_64_TPOFF64 +0+ sG6 \+ 0
 [0-9a-f ]+R_X86_64_TPOFF64 +0+ sG1 \+ 0
 
-Relocation section '.rela.plt' at offset 0x[0-9a-f]+ contains 1 entries:
+Relocation section '.rela.plt' at offset 0x[0-9a-f]+ contains 1 entry:
  +Offset +Info +Type +Symbol's Value +Symbol's Name \+ Addend
 [0-9a-f ]+R_X86_64_JUMP_SLOT[0-9a-f ]+__tls_get_addr \+ 0
 
diff --git a/ld/testsuite/ld-x86-64/tlsbin.rd b/ld/testsuite/ld-x86-64/tlsbin.rd
index a34775d..81ea164 100644
--- a/ld/testsuite/ld-x86-64/tlsbin.rd
+++ b/ld/testsuite/ld-x86-64/tlsbin.rd
@@ -59,7 +59,7 @@ Relocation section '.rela.dyn' at offset 0x[0-9a-f]+ contains 4 entries:
 [0-9a-f ]+R_X86_64_TPOFF64 +0+ sG6 \+ 0
 [0-9a-f ]+R_X86_64_TPOFF64 +0+ sG1 \+ 0
 
-Relocation section '.rela.plt' at offset 0x[0-9a-f]+ contains 1 entries:
+Relocation section '.rela.plt' at offset 0x[0-9a-f]+ contains 1 entry:
  +Offset +Info +Type +Symbol's Value +Symbol's Name \+ Addend
 [0-9a-f ]+R_X86_64_JUMP_SLOT[0-9a-f ]+__tls_get_addr \+ 0
 
diff --git a/ld/testsuite/ld-x86-64/tlspic-nacl.rd b/ld/testsuite/ld-x86-64/tlspic-nacl.rd
index 740e399..40ba0d5 100644
--- a/ld/testsuite/ld-x86-64/tlspic-nacl.rd
+++ b/ld/testsuite/ld-x86-64/tlspic-nacl.rd
@@ -65,7 +65,7 @@ Relocation section '.rela.dyn' at offset 0x[0-9a-f]+ contains 14 entries:
 [0-9a-f ]+R_X86_64_DTPOFF64 +0+ sg1 \+ 0
 [0-9a-f ]+R_X86_64_TPOFF64 +0+4 sg2 \+ 0
 
-Relocation section '.rela.plt' at offset 0x[0-9a-f]+ contains 1 entries:
+Relocation section '.rela.plt' at offset 0x[0-9a-f]+ contains 1 entry:
  +Offset +Info +Type +Symbol's Value +Symbol's Name \+ Addend
 [0-9a-f ]+R_X86_64_JUMP_SLOT +0+ __tls_get_addr \+ 0
 
diff --git a/ld/testsuite/ld-x86-64/tlspic.rd b/ld/testsuite/ld-x86-64/tlspic.rd
index 3f5d544..8195d53 100644
--- a/ld/testsuite/ld-x86-64/tlspic.rd
+++ b/ld/testsuite/ld-x86-64/tlspic.rd
@@ -63,7 +63,7 @@ Relocation section '.rela.dyn' at offset 0x[0-9a-f]+ contains 14 entries:
 [0-9a-f ]+R_X86_64_DTPOFF64 +0+ sg1 \+ 0
 [0-9a-f ]+R_X86_64_TPOFF64 +0+4 sg2 \+ 0
 
-Relocation section '.rela.plt' at offset 0x[0-9a-f]+ contains 1 entries:
+Relocation section '.rela.plt' at offset 0x[0-9a-f]+ contains 1 entry:
  +Offset +Info +Type +Symbol's Value +Symbol's Name \+ Addend
 [0-9a-f ]+R_X86_64_JUMP_SLOT +0+ __tls_get_addr \+ 0
 
diff --git a/ld/testsuite/ld-x86-64/tlspic2-nacl.rd b/ld/testsuite/ld-x86-64/tlspic2-nacl.rd
index cbc0a75..c1c8041 100644
--- a/ld/testsuite/ld-x86-64/tlspic2-nacl.rd
+++ b/ld/testsuite/ld-x86-64/tlspic2-nacl.rd
@@ -66,7 +66,7 @@ Relocation section '.rela.dyn' at offset 0x[0-9a-f]+ contains 15 entries:
 [0-9a-f ]+R_X86_64_DTPOFF64 +0+ sg1 \+ 0
 [0-9a-f ]+R_X86_64_TPOFF64 +0+4 sg2 \+ 0
 
-Relocation section '.rela.plt' at offset 0x[0-9a-f]+ contains 1 entries:
+Relocation section '.rela.plt' at offset 0x[0-9a-f]+ contains 1 entry:
  +Offset +Info +Type +Symbol's Value +Symbol's Name \+ Addend
 [0-9a-f ]+R_X86_64_JUMP_SLOT +0+ __tls_get_addr \+ 0
 

-- 
Alan Modra
Australia Development Lab, IBM



More information about the Binutils mailing list