This is the mail archive of the binutils@sourceware.org mailing list for the binutils project.


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]
Other format: [Raw text]

ld error/warning messages


This patch standardizes messages in ld, to better conform to the GNU
coding standard.  Besides issues of capitalization and full-stops,
I've
- Split up help messages for target options, so that adding a new
  option does not mean loss of translation for all the others.
- Embedded tabs have been removed, since a user might have tab stops
  set at other than 8 char intervals.
- Added missing program name (%P).  ld isn't the compiler.
- Put %F and %X first (and removed %X if %F was present).  These can
  go anywhere, but look silly in the m%Fiddle of a message, and
  choosing "%P%F:" in some messages but "%F%P:" in others leads to the
  likelihood of duplication in ld.pot.  Besides, the colon belongs
  with %P.

	* emulparams/call_nop.sh, * emulparams/cet.sh,
	* emulparams/elf32mcore.sh, * emultempl/aarch64elf.em
	* emultempl/aix.em, * emultempl/alphaelf.em, * emultempl/armcoff.em,
	* emultempl/armelf.em, * emultempl/avrelf.em, * emultempl/beos.em,
	* emultempl/bfin.em, * emultempl/cr16elf.em, * emultempl/elf32.em,
	* emultempl/elf-generic.em, * emultempl/hppaelf.em,
	* emultempl/linux.em, * emultempl/lnk960.em,
	* emultempl/m68hc1xelf.em, * emultempl/m68kcoff.em,
	* emultempl/m68kelf.em, * emultempl/metagelf.em,
	* emultempl/mipself.em, * emultempl/mmix-elfnmmo.em,
	* emultempl/mmo.em, * emultempl/msp430.em, * emultempl/nds32elf.em,
	* emultempl/nios2elf.em, * emultempl/pe.em, * emultempl/pep.em,
	* emultempl/ppc32elf.em, * emultempl/ppc64elf.em,
	* emultempl/scoreelf.em, * emultempl/sh64elf.em,
	* emultempl/spuelf.em, * emultempl/sunos.em, * emultempl/tic6xdsbt.em,
	* emultempl/ticoff.em, * emultempl/v850elf.em, * emultempl/vms.em,
	* emultempl/vxworks.em, * emultempl/xtensaelf.em, * ldcref.c,
	* ldctor.c, * ldexp.c, * ldfile.c, * ldgram.y, * ldlang.c,
	* ldmain.c, * ldmisc.c, * ldwrite.c, * lexsup.c, * mri.c, * pe-dll.c,
	* plugin.c: Standardize error/warning messages.
	* testsuite/ld-arc/jli-overflow.err,
	* testsuite/ld-arm/cmse-implib-errors.out,
	* testsuite/ld-arm/cmse-new-earlier-later-implib.out,
	* testsuite/ld-arm/cmse-new-implib-not-sg-in-implib.out,
	* testsuite/ld-arm/cmse-new-wrong-implib.out,
	* testsuite/ld-arm/cmse-veneers-no-gnu_sgstubs.out,
	* testsuite/ld-arm/cmse-veneers-wrong-entryfct.out,
	* testsuite/ld-arm/vxworks1-static.d,
	* testsuite/ld-cris/tls-err-20x.d, * testsuite/ld-cris/tls-err-29.d,
	* testsuite/ld-cris/tls-err-31.d, * testsuite/ld-cris/tls-err-33.d,
	* testsuite/ld-cris/tls-err-35.d, * testsuite/ld-cris/tls-err-37.d,
	* testsuite/ld-cris/tls-err-39.d, * testsuite/ld-cris/tls-err-41.d,
	* testsuite/ld-cris/tls-err-43.d, * testsuite/ld-cris/tls-err-45.d,
	* testsuite/ld-cris/tls-err-47.d, * testsuite/ld-cris/tls-err-49.d,
	* testsuite/ld-cris/tls-err-51.d, * testsuite/ld-cris/tls-err-67.d,
	* testsuite/ld-elf/dwarf2.err, * testsuite/ld-elf/dwarf3.err,
	* testsuite/ld-elf/orphan-5.l, * testsuite/ld-elf/orphan-6.l,
	* testsuite/ld-i386/vxworks1-static.d,
	* testsuite/ld-mips-elf/bal-jalx-pic-micromips-n32.d,
	* testsuite/ld-mips-elf/bal-jalx-pic-micromips-n64.d,
	* testsuite/ld-mips-elf/bal-jalx-pic-micromips.d,
	* testsuite/ld-mips-elf/bal-jalx-pic-n32.d,
	* testsuite/ld-mips-elf/bal-jalx-pic-n64.d,
	* testsuite/ld-mips-elf/bal-jalx-pic.d,
	* testsuite/ld-mips-elf/jal-global-overflow-1.d,
	* testsuite/ld-mips-elf/jal-local-overflow-1.d,
	* testsuite/ld-mips-elf/mode-change-error-1.d,
	* testsuite/ld-mips-elf/unaligned-branch-2.d,
	* testsuite/ld-mips-elf/unaligned-branch-ignore-2.d,
	* testsuite/ld-mips-elf/unaligned-branch-ignore-micromips.d,
	* testsuite/ld-mips-elf/unaligned-branch-ignore-mips16.d,
	* testsuite/ld-mips-elf/unaligned-branch-ignore-r6-1.d,
	* testsuite/ld-mips-elf/unaligned-branch-micromips.d,
	* testsuite/ld-mips-elf/unaligned-branch-mips16.d,
	* testsuite/ld-mips-elf/unaligned-branch-r6-1.d,
	* testsuite/ld-mips-elf/unaligned-branch-r6-2.d,
	* testsuite/ld-mips-elf/unaligned-branch.d,
	* testsuite/ld-mips-elf/unaligned-jalx-1.d,
	* testsuite/ld-mips-elf/unaligned-jalx-3.d,
	* testsuite/ld-mips-elf/unaligned-jalx-addend-1.d,
	* testsuite/ld-mips-elf/unaligned-jalx-addend-3.d,
	* testsuite/ld-mips-elf/unaligned-jalx-addend-micromips-1.d,
	* testsuite/ld-mips-elf/unaligned-jalx-addend-mips16-1.d,
	* testsuite/ld-mips-elf/unaligned-jalx-micromips-1.d,
	* testsuite/ld-mips-elf/unaligned-jalx-mips16-1.d,
	* testsuite/ld-mips-elf/unaligned-jump-micromips.d,
	* testsuite/ld-mips-elf/unaligned-jump-mips16.d,
	* testsuite/ld-mips-elf/unaligned-jump.d,
	* testsuite/ld-mips-elf/unaligned-ldpc-1.d,
	* testsuite/ld-mips-elf/unaligned-lwpc-1.d,
	* testsuite/ld-mips-elf/undefined.d,
	* testsuite/ld-mips-elf/vxworks1-static.d,
	* testsuite/ld-mmix/bpo-20.d, * testsuite/ld-mmix/bpo-20m.d,
	* testsuite/ld-mmix/bpo-7.d, * testsuite/ld-mmix/bpo-7m.d,
	* testsuite/ld-mmix/bpo-8.d, * testsuite/ld-mmix/bpo-8m.d,
	* testsuite/ld-mmix/greg-17.d, * testsuite/ld-mmix/greg-18.d,
	* testsuite/ld-mmix/greg-8.d, * testsuite/ld-mmix/greg-9.d,
	* testsuite/ld-plugin/plugin-14.d, * testsuite/ld-plugin/plugin-15.d,
	* testsuite/ld-plugin/plugin-16.d, * testsuite/ld-plugin/plugin-20.d,
	* testsuite/ld-plugin/plugin-21.d, * testsuite/ld-plugin/plugin-22.d,
	* testsuite/ld-plugin/plugin-23.d, * testsuite/ld-plugin/plugin-6.d,
	* testsuite/ld-plugin/plugin-7.d, * testsuite/ld-plugin/plugin-8.d,
	* testsuite/ld-powerpc/aix-weak-3-32.d,
	* testsuite/ld-powerpc/aix-weak-3-64.d,
	* testsuite/ld-powerpc/vxworks1-static.d,
	* testsuite/ld-sh/vxworks1-static.d,
	* testsuite/ld-sparc/vxworks1-static.d,
	* testsuite/ld-undefined/undefined.exp,
	* testsuite/ld-x86-64/pie1.d: Update for changed errors and warnings.
	* testsuite/ld-elf/warn1.d, * testsuite/ld-elf/warn2.d: Correct regex.

diff --git a/ld/emulparams/call_nop.sh b/ld/emulparams/call_nop.sh
index d45806c..c114e95 100644
--- a/ld/emulparams/call_nop.sh
+++ b/ld/emulparams/call_nop.sh
@@ -20,7 +20,7 @@ PARSE_AND_LIST_ARGS_CASE_Z_CALL_NOP='
 	      char *end;
 	      link_info.call_nop_byte = strtoul (optarg + 16 , &end, 0);
 	      if (*end)
-	        einfo (_("%P%F: invalid number for -z call-nop=prefix-: %s\n"),
+		einfo (_("%F%P: invalid number for -z call-nop=prefix-: %s\n"),
 		       optarg + 16);
 	      link_info.call_nop_as_suffix = FALSE;
 	    }
@@ -29,12 +29,12 @@ PARSE_AND_LIST_ARGS_CASE_Z_CALL_NOP='
 	      char *end;
 	      link_info.call_nop_byte = strtoul (optarg + 16, &end, 0);
 	      if (*end)
-	        einfo (_("%P%F: invalid number for -z call-nop=suffix-: %s\n"),
+		einfo (_("%F%P: invalid number for -z call-nop=suffix-: %s\n"),
 		       optarg + 16);
 	      link_info.call_nop_as_suffix = TRUE;
 	    }
 	  else
-	    einfo (_("%P%F: unsupported option: -z %s\n"), optarg);
+	    einfo (_("%F%P: unsupported option: -z %s\n"), optarg);
 	}
 '
 
diff --git a/ld/emulparams/cet.sh b/ld/emulparams/cet.sh
index 1973413..7c49b95 100644
--- a/ld/emulparams/cet.sh
+++ b/ld/emulparams/cet.sh
@@ -1,7 +1,9 @@
 PARSE_AND_LIST_OPTIONS_CET='
   fprintf (file, _("\
-  -z ibtplt                   Generate IBT-enabled PLT entries\n\
-  -z ibt                      Generate GNU_PROPERTY_X86_FEATURE_1_IBT\n\
+  -z ibtplt                   Generate IBT-enabled PLT entries\n"));
+  fprintf (file, _("\
+  -z ibt                      Generate GNU_PROPERTY_X86_FEATURE_1_IBT\n"));
+  fprintf (file, _("\
   -z shstk                    Generate GNU_PROPERTY_X86_FEATURE_1_SHSTK\n"));
 '
 PARSE_AND_LIST_ARGS_CASE_Z_CET='
diff --git a/ld/emulparams/elf32mcore.sh b/ld/emulparams/elf32mcore.sh
index 9a83999..1e14c19 100644
--- a/ld/emulparams/elf32mcore.sh
+++ b/ld/emulparams/elf32mcore.sh
@@ -40,8 +40,7 @@ PARSE_AND_LIST_LONGOPTS='
 '
 
 PARSE_AND_LIST_OPTIONS='
-  fprintf (file, _("  --base_file <basefile>\n"));
-  fprintf (file, _("\t\t\tGenerate a base file for relocatable DLLs\n"));
+  fprintf (file, _("  --base_file <basefile>      Generate a base file for relocatable DLLs\n"));
 '
 
 PARSE_AND_LIST_ARGS_CASES='
diff --git a/ld/emultempl/aarch64elf.em b/ld/emultempl/aarch64elf.em
index 629e1cc..34d03f3 100644
--- a/ld/emultempl/aarch64elf.em
+++ b/ld/emultempl/aarch64elf.em
@@ -264,7 +264,7 @@ gld${EMULATION_NAME}_after_allocation (void)
 					  & elf${ELFSIZE}_aarch64_add_stub_section,
 					  & gldaarch64_layout_sections_again))
 	    {
-	      einfo (_("%X%P: cannot size stub section: %E\n"));
+	      einfo (_("%X%P: can not size stub section: %E\n"));
 	      return;
 	    }
 	}
@@ -301,8 +301,8 @@ aarch64_elf_create_output_section_statements (void)
 	 These will only be created if the output format is an arm format,
 	 hence we do not support linking and changing output formats at the
 	 same time.  Use a link followed by objcopy to change output formats.  */
-      einfo (_("%F%X%P: error: Cannot change output format "
-	       "whilst linking AArch64 binaries.\n"));
+      einfo (_("%F%P: error: cannot change output format "
+	       "whilst linking %s binaries\n"), "AArch64");
       return;
     }
 
@@ -322,7 +322,7 @@ aarch64_elf_create_output_section_statements (void)
 			      bfd_get_arch (link_info.output_bfd),
 			      bfd_get_mach (link_info.output_bfd)))
     {
-      einfo (_("%X%P: can not create BFD %E\n"));
+      einfo (_("%F%P: can not create BFD: %E\n"));
       return;
     }
 
@@ -385,17 +385,17 @@ PARSE_AND_LIST_OPTIONS='
 		   "                                wchar_t sizes\n"));
   fprintf (file, _("  --pic-veneer                Always generate PIC interworking veneers\n"));
   fprintf (file, _("\
-   --stub-group-size=N   Maximum size of a group of input sections that can be\n\
-                           handled by one stub section.  A negative value\n\
-                           locates all stubs after their branches (with a\n\
-                           group size of -N), while a positive value allows\n\
-                           two groups of input sections, one before, and one\n\
-                           after each stub section.  Values of +/-1 indicate\n\
-                           the linker should choose suitable defaults.\n"
-		   ));
+  --stub-group-size=N         Maximum size of a group of input sections that\n\
+                                can be handled by one stub section.  A negative\n\
+                                value locates all stubs after their branches\n\
+                                (with a group size of -N), while a positive\n\
+                                value allows two groups of input sections, one\n\
+                                before, and one after each stub section.\n\
+                                Values of +/-1 indicate the linker should\n\
+                                choose suitable defaults.\n"));
   fprintf (file, _("  --fix-cortex-a53-835769      Fix erratum 835769\n"));
   fprintf (file, _("  --fix-cortex-a53-843419      Fix erratum 843419\n"));
-  fprintf (file, _("  --no-apply-dynamic-relocs	   Do not apply link-time values for dynamic relocations\n"));
+  fprintf (file, _("  --no-apply-dynamic-relocs    Do not apply link-time values for dynamic relocations\n"));
 '
 
 PARSE_AND_LIST_ARGS_CASES='
@@ -433,7 +433,7 @@ PARSE_AND_LIST_ARGS_CASES='
 
 	group_size = bfd_scan_vma (optarg, &end, 0);
 	if (*end)
-	  einfo (_("%P%F: invalid number `%s'\''\n"), optarg);
+	  einfo (_("%F%P: invalid number `%s'\''\n"), optarg);
       }
       break;
 '
diff --git a/ld/emultempl/aix.em b/ld/emultempl/aix.em
index b73c777..92f59f2 100644
--- a/ld/emultempl/aix.em
+++ b/ld/emultempl/aix.em
@@ -749,9 +749,9 @@ gld${EMULATION_NAME}_before_allocation (void)
 
       h = bfd_link_hash_lookup (link_info.hash, el->name, FALSE, FALSE, FALSE);
       if (h == NULL)
-	einfo (_("%P%F: bfd_link_hash_lookup of export symbol failed: %E\n"));
+	einfo (_("%F%P: bfd_link_hash_lookup of export symbol failed: %E\n"));
       if (!bfd_xcoff_export_symbol (link_info.output_bfd, &link_info, h))
-	einfo (_("%P%F: bfd_xcoff_export_symbol failed: %E\n"));
+	einfo (_("%F%P: bfd_xcoff_export_symbol failed: %E\n"));
     }
 
   /* Track down all relocations called for by the linker script (these
@@ -835,7 +835,7 @@ gld${EMULATION_NAME}_before_allocation (void)
        maxstack, maxdata, gc && !unix_ld ? TRUE : FALSE,
        modtype, textro ? TRUE : FALSE, flags, special_sections,
        rtld ? TRUE : FALSE))
-    einfo (_("%P%F: failed to set dynamic section sizes: %E\n"));
+    einfo (_("%F%P: failed to set dynamic section sizes: %E\n"));
 
   /* Look through the special sections, and put them in the right
      place in the link ordering.  This is especially magic.  */
@@ -857,7 +857,7 @@ gld${EMULATION_NAME}_before_allocation (void)
       is = NULL;
       os = lang_output_section_get (sec->output_section);
       if (os == NULL)
-	einfo (_("%P%F: can't find output section %s\n"),
+	einfo (_("%F%P: can't find output section %s\n"),
 	       sec->output_section->name);
 
       for (pls = &os->children.head; *pls != NULL; pls = &(*pls)->header.next)
@@ -894,7 +894,7 @@ gld${EMULATION_NAME}_before_allocation (void)
 
       if (is == NULL)
 	{
-	  einfo (_("%P%F: can't find %s in output section\n"),
+	  einfo (_("%F%P: can't find %s in output section\n"),
 		 bfd_get_section_name (sec->owner, sec));
 	}
 
@@ -1109,7 +1109,7 @@ gld${EMULATION_NAME}_read_file (const char *filename, bfd_boolean import)
   if (f == NULL)
     {
       bfd_set_error (bfd_error_system_call);
-      einfo ("%F%s: %E\n", filename);
+      einfo ("%F%P: %s: %E\n", filename);
       return;
     }
 
@@ -1171,7 +1171,7 @@ gld${EMULATION_NAME}_read_file (const char *filename, bfd_boolean import)
 	      obstack_free (o, obstack_base (o));
 	    }
 	  else if (*s == '(')
-	    einfo (_("%F%s%d: #! ([member]) is not supported "
+	    einfo (_("%F%P:%s:%d: #! ([member]) is not supported "
 		     "in import files\n"),
 		   filename, lineno);
 	  else
@@ -1188,7 +1188,7 @@ gld${EMULATION_NAME}_read_file (const char *filename, bfd_boolean import)
 	      *s = '\0';
 	      if (!bfd_xcoff_split_import_path (link_info.output_bfd,
 						start, &imppath, &impfile))
-		einfo (_("%F%P: Could not parse import path: %E\n"));
+		einfo (_("%F%P: could not parse import path: %E\n"));
 	      while (ISSPACE (cs))
 		{
 		  ++s;
@@ -1198,7 +1198,7 @@ gld${EMULATION_NAME}_read_file (const char *filename, bfd_boolean import)
 		{
 		  impmember = "";
 		  if (cs != '\0')
-		    einfo (_("%s:%d: warning: syntax error in import file\n"),
+		    einfo (_("%P:%s:%d: warning: syntax error in import file\n"),
 			   filename, lineno);
 		}
 	      else
@@ -1210,7 +1210,7 @@ gld${EMULATION_NAME}_read_file (const char *filename, bfd_boolean import)
 		  if (*s == ')')
 		    *s = '\0';
 		  else
-		    einfo (_("%s:%d: warning: syntax error in import file\n"),
+		    einfo (_("%P:%s:%d: warning: syntax error in import file\n"),
 			   filename, lineno);
 		}
 	    }
@@ -1245,7 +1245,7 @@ gld${EMULATION_NAME}_read_file (const char *filename, bfd_boolean import)
 		  while (ISSPACE (*se))
 		    ++se;
 		  if (*se != '\0')
-		    einfo (_("%s%d: warning: syntax error in "
+		    einfo (_("%P:%s%d: warning: syntax error in "
 			     "import/export file\n"),
 			   filename, lineno);
 		}
@@ -1263,7 +1263,7 @@ gld${EMULATION_NAME}_read_file (const char *filename, bfd_boolean import)
 		      address = bfd_scan_vma (s, &end, 0);
 		      if (*end != '\0')
 			{
-			  einfo (_("%s:%d: warning: syntax error in "
+			  einfo (_("%P:%s:%d: warning: syntax error in "
 				   "import/export file\n"),
 				 filename, lineno);
 
@@ -1298,7 +1298,7 @@ gld${EMULATION_NAME}_read_file (const char *filename, bfd_boolean import)
 						&link_info, h,
 						address, imppath, impfile,
 						impmember, syscall_flag))
-		    einfo (_("%X%s:%d: failed to import symbol %s: %E\n"),
+		    einfo (_("%X%P:%s:%d: failed to import symbol %s: %E\n"),
 			   filename, lineno, symname);
 		}
 	    }
@@ -1308,7 +1308,7 @@ gld${EMULATION_NAME}_read_file (const char *filename, bfd_boolean import)
 
   if (obstack_object_size (o) > 0)
     {
-      einfo (_("%s:%d: warning: ignoring unterminated last line\n"),
+      einfo (_("%P:%s:%d: warning: ignoring unterminated last line\n"),
 	     filename, lineno);
       obstack_free (o, obstack_base (o));
     }
@@ -1374,7 +1374,7 @@ gld${EMULATION_NAME}_find_exp_assignment (etree_type *exp)
 	  if (!bfd_xcoff_record_link_assignment (link_info.output_bfd,
 						 &link_info,
 						 exp->assign.dst))
-	    einfo (_("%P%F: failed to record assignment to %s: %E\n"),
+	    einfo (_("%F%P: failed to record assignment to %s: %E\n"),
 		   exp->assign.dst);
 	}
       gld${EMULATION_NAME}_find_exp_assignment (exp->assign.src);
@@ -1472,7 +1472,7 @@ gld${EMULATION_NAME}_create_output_section_statements (void)
 				  bfd_get_arch (link_info.output_bfd),
 				  bfd_get_mach (link_info.output_bfd)))
 	{
-	  einfo (_("%X%P: can not create BFD %E\n"));
+	  einfo (_("%F%P: can not create BFD: %E\n"));
 	  return;
 	}
 
@@ -1482,7 +1482,7 @@ gld${EMULATION_NAME}_create_output_section_statements (void)
 					    link_info.fini_function,
 					    rtld))
 	{
-	  einfo (_("%X%P: can not create BFD %E\n"));
+	  einfo (_("%F%P: can not create BFD: %E\n"));
 	  return;
 	}
 
diff --git a/ld/emultempl/alphaelf.em b/ld/emultempl/alphaelf.em
index 727f44a..cbcd179 100644
--- a/ld/emultempl/alphaelf.em
+++ b/ld/emultempl/alphaelf.em
@@ -126,10 +126,11 @@ PARSE_AND_LIST_LONGOPTS='
 PARSE_AND_LIST_OPTIONS='
   fprintf (file, _("\
   --taso                      Load executable in the lower 31-bit addressable\n\
-                                virtual address range.\n\
-  --secureplt                 Force PLT in text segment.\n\
-  --no-secureplt              Force PLT in data segment.\n\
-"));
+                                virtual address range\n"));
+  fprintf (file, _("\
+  --secureplt                 Force PLT in text segment\n"));
+  fprintf (file, _("\
+  --no-secureplt              Force PLT in data segment\n"));
 '
 
 PARSE_AND_LIST_ARGS_CASES='
diff --git a/ld/emultempl/armcoff.em b/ld/emultempl/armcoff.em
index 85c83ed..7ef9d06 100644
--- a/ld/emultempl/armcoff.em
+++ b/ld/emultempl/armcoff.em
@@ -118,7 +118,8 @@ gld${EMULATION_NAME}_before_allocation (void)
 	    (is->the_bfd, & link_info, support_old_code))
 	  {
 	    /* xgettext:c-format */
-	    einfo (_("Errors encountered processing file %s"), is->filename);
+	    einfo (_("%P: errors encountered processing file %s\n"),
+		   is->filename);
 	  }
       }
   }
@@ -140,8 +141,8 @@ gld${EMULATION_NAME}_after_open (void)
 	 These will only be created if the output format is an arm format,
 	 hence we do not support linking and changing output formats at the
 	 same time.  Use a link followed by objcopy to change output formats.  */
-      einfo (_("%F%X%P: error: cannot change output format "
-	       "whilst linking ARM binaries\n"));
+      einfo (_("%F%P: error: cannot change output format "
+	       "whilst linking %s binaries\n"), "ARM");
       return;
     }
 
diff --git a/ld/emultempl/armelf.em b/ld/emultempl/armelf.em
index 3590823..2d98064 100644
--- a/ld/emultempl/armelf.em
+++ b/ld/emultempl/armelf.em
@@ -111,7 +111,8 @@ arm_elf_before_allocation (void)
 	      || !bfd_elf32_arm_stm32l4xx_erratum_scan (is->the_bfd,
 							&link_info))
 	    /* xgettext:c-format */
-	    einfo (_("Errors encountered processing file %s"), is->filename);
+	    einfo (_("%P: errors encountered processing file %s\n"),
+		   is->filename);
 	}
 
       /* We have seen it all.  Allocate it, and carry on.  */
@@ -405,7 +406,7 @@ gld${EMULATION_NAME}_after_allocation (void)
 				      & elf32_arm_add_stub_section,
 				      & gldarm_layout_sections_again))
 	    {
-	      einfo (_("%X%P: cannot size stub section: %E\n"));
+	      einfo (_("%X%P: can not size stub section: %E\n"));
 	      return;
 	    }
 	}
@@ -512,8 +513,8 @@ arm_elf_create_output_section_statements (void)
 	 These will only be created if the output format is an arm format,
 	 hence we do not support linking and changing output formats at the
 	 same time.  Use a link followed by objcopy to change output formats.  */
-      einfo (_("%F%X%P: error: Cannot change output format "
-	       "whilst linking ARM binaries.\n"));
+      einfo (_("%F%P: error: cannot change output format "
+	       "whilst linking %s binaries\n"), "ARM");
       return;
     }
 
@@ -523,10 +524,10 @@ arm_elf_create_output_section_statements (void)
 					bfd_get_target (link_info.output_bfd));
 
       if (params.in_implib_bfd == NULL)
-	einfo (_("%F%s: Can't open: %E\n"), in_implib_filename);
+	einfo (_("%F%P: %s: can't open: %E\n"), in_implib_filename);
 
       if (!bfd_check_format (params.in_implib_bfd, bfd_object))
-	einfo (_("%F%s: Not a relocatable file: %E\n"), in_implib_filename);
+	einfo (_("%F%P: %s: not a relocatable file: %E\n"), in_implib_filename);
     }
 
   bfd_elf32_arm_set_target_params (link_info.output_bfd, &link_info, &params);
@@ -540,7 +541,7 @@ arm_elf_create_output_section_statements (void)
 			      bfd_get_arch (link_info.output_bfd),
 			      bfd_get_mach (link_info.output_bfd)))
     {
-      einfo (_("%X%P: can not create BFD %E\n"));
+      einfo (_("%F%P: can not create BFD: %E\n"));
       return;
     }
 
@@ -654,13 +655,13 @@ PARSE_AND_LIST_OPTIONS='
                    "                                remain stable\n"));
   fprintf (file, _("\
   --stub-group-size=N         Maximum size of a group of input sections that\n\
-                               can be handled by one stub section.  A negative\n\
-                               value locates all stubs after their branches\n\
-                               (with a group size of -N), while a positive\n\
-                               value allows two groups of input sections, one\n\
-                               before, and one after each stub section.\n\
-                               Values of +/-1 indicate the linker should\n\
-                               choose suitable defaults.\n"));
+                                can be handled by one stub section.  A negative\n\
+                                value locates all stubs after their branches\n\
+                                (with a group size of -N), while a positive\n\
+                                value allows two groups of input sections, one\n\
+                                before, and one after each stub section.\n\
+                                Values of +/-1 indicate the linker should\n\
+                                choose suitable defaults.\n"));
   fprintf (file, _("  --[no-]fix-cortex-a8        Disable/enable Cortex-A8 Thumb-2 branch erratum fix\n"));
   fprintf (file, _("  --no-merge-exidx-entries    Disable merging exidx entries\n"));
   fprintf (file, _("  --[no-]fix-arm1176          Disable/enable ARM1176 BLX immediate erratum fix\n"));
@@ -711,7 +712,7 @@ PARSE_AND_LIST_ARGS_CASES='
       else if (strcmp (optarg, "vector") == 0)
 	params.vfp11_denorm_fix = BFD_ARM_VFP11_FIX_VECTOR;
       else
-	einfo (_("Unrecognized VFP11 fix type '\''%s'\''.\n"), optarg);
+	einfo (_("%P: unrecognized VFP11 fix type '\''%s'\''\n"), optarg);
       break;
 
     case OPTION_STM32L4XX_FIX:
@@ -724,7 +725,7 @@ PARSE_AND_LIST_ARGS_CASES='
       else if (strcmp (optarg, "all") == 0)
 	params.stm32l4xx_fix = BFD_ARM_STM32L4XX_FIX_ALL;
       else
-	einfo (_("Unrecognized STM32L4XX fix type '\''%s'\''.\n"), optarg);
+	einfo (_("%P: unrecognized STM32L4XX fix type '\''%s'\''\n"), optarg);
       break;
 
     case OPTION_NO_ENUM_SIZE_WARNING:
@@ -745,7 +746,7 @@ PARSE_AND_LIST_ARGS_CASES='
 
 	group_size = bfd_scan_vma (optarg, &end, 0);
 	if (*end)
-	  einfo (_("%P%F: invalid number `%s'\''\n"), optarg);
+	  einfo (_("%F%P: invalid number `%s'\''\n"), optarg);
       }
       break;
 
diff --git a/ld/emultempl/avrelf.em b/ld/emultempl/avrelf.em
index 4f33ad1..a05c39a 100644
--- a/ld/emultempl/avrelf.em
+++ b/ld/emultempl/avrelf.em
@@ -116,8 +116,8 @@ avr_elf_create_output_section_statements (void)
 
   if (bfd_get_flavour (link_info.output_bfd) != bfd_target_elf_flavour)
     {
-      einfo (_("%X%P: changing output format whilst linking "
-	       "is not supported\n"));
+      einfo (_("%F%P: error: cannot change output format "
+	       "whilst linking %s binaries\n"), "AVR");
       return;
     }
 
@@ -131,7 +131,7 @@ avr_elf_create_output_section_statements (void)
 			     bfd_get_arch (link_info.output_bfd),
 			     bfd_get_mach (link_info.output_bfd)))
     {
-      einfo (_("%X%P: can not create stub BFD %E\n"));
+      einfo (_("%X%P: can not create stub BFD: %E\n"));
       return;
     }
 
diff --git a/ld/emultempl/beos.em b/ld/emultempl/beos.em
index ce59a09..ad4494e 100644
--- a/ld/emultempl/beos.em
+++ b/ld/emultempl/beos.em
@@ -226,7 +226,7 @@ set_pe_subsystem (void)
 	  return;
 	}
     }
-  einfo (_("%P%F: invalid subsystem type %s\n"), optarg);
+  einfo (_("%F%P: invalid subsystem type %s\n"), optarg);
 }
 
 
@@ -237,7 +237,7 @@ set_pe_value (char *name)
   set_pe_name (name,  strtoul (optarg, &end, 0));
   if (end == optarg)
     {
-      einfo (_("%P%F: invalid hex number for PE parameter '%s'\n"), optarg);
+      einfo (_("%F%P: invalid hex number for PE parameter '%s'\n"), optarg);
     }
 
   optarg = end;
@@ -254,7 +254,7 @@ set_pe_stack_heap (char *resname, char *comname)
     }
   else if (*optarg)
     {
-      einfo (_("%P%F: strange hex info for PE parameter '%s'\n"), optarg);
+      einfo (_("%F%P: strange hex info for PE parameter '%s'\n"), optarg);
     }
 }
 
@@ -366,7 +366,7 @@ gld_${EMULATION_NAME}_set_symbols (void)
   if (pe.FileAlignment >
       pe.SectionAlignment)
     {
-      einfo (_("%P: warning, file alignment > section alignment.\n"));
+      einfo (_("%P: warning, file alignment > section alignment\n"));
     }
 }
 
@@ -380,7 +380,7 @@ gld_${EMULATION_NAME}_after_open (void)
      including an internal BFD header.  */
   if (!coff_data(link_info.output_bfd)->pe)
     {
-      einfo (_("%F%P: PE operations on non PE file.\n"));
+      einfo (_("%F%P: PE operations on non PE file\n"));
     }
 
   pe_data(link_info.output_bfd)->pe_opthdr = pe;
@@ -433,14 +433,14 @@ sort_by_file_name (const void *a, const void *b)
 				     (*ra)->input_section.section, &a_sec,
 				     (file_ptr) 0,
 				     (bfd_size_type) sizeof(a_sec)))
-	einfo (_("%F%pB: Can't read contents of section .idata: %E\n"),
+	einfo (_("%F%P: %pB: can't read contents of section .idata: %E\n"),
 	       (*ra)->input_section.section->owner);
 
       if (!bfd_get_section_contents ((*rb)->input_section.section->owner,
 				     (*rb)->input_section.section, &b_sec,
 				     (file_ptr) 0,
 				     (bfd_size_type) sizeof(b_sec)))
-	einfo (_("%F%pB: Can't read contents of section .idata: %E\n"),
+	einfo (_("%F%P: %pB: can't read contents of section .idata: %E\n"),
 	       (*rb)->input_section.section->owner);
 
       i = a_sec < b_sec ? -1 : 0;
@@ -618,7 +618,8 @@ gld_${EMULATION_NAME}_before_allocation (void)
     {
       if (!ppc_process_before_allocation(is->the_bfd, &link_info))
 	{
-	  einfo (_("Errors encountered processing file %s\n"), is->filename);
+	  einfo (_("%P: errors encountered processing file %s\n"),
+		 is->filename);
 	}
     }
   }
@@ -638,7 +639,8 @@ gld_${EMULATION_NAME}_before_allocation (void)
     {
       if (!arm_process_before_allocation (is->the_bfd, & link_info))
 	{
-	  einfo (_("Errors encountered processing file %s"), is->filename);
+	  einfo (_("%P: errors encountered processing file %s\n"),
+		 is->filename);
 	}
     }
   }
@@ -686,7 +688,7 @@ gld${EMULATION_NAME}_place_orphan (asection *s,
   /* Everything from the '\$' on gets deleted so don't allow '\$' as the
      first character.  */
   if (*secname == '\$')
-    einfo (_("%P%F: section %s has '\$' as first character\n"), secname);
+    einfo (_("%F%P: section %s has '\$' as first character\n"), secname);
   if (strchr (secname + 1, '\$') == NULL)
     return NULL;
 
@@ -718,7 +720,7 @@ gld${EMULATION_NAME}_place_orphan (asection *s,
       }
   ps[0] = 0;
   if (l == NULL)
-    einfo (_("%P%F: *(%s\$) missing from linker script\n"), output_secname);
+    einfo (_("%F%P: *(%s\$) missing from linker script\n"), output_secname);
 
   /* Link the input section in and we're done for now.
      The sections still have to be sorted, but that has to wait until
diff --git a/ld/emultempl/bfin.em b/ld/emultempl/bfin.em
index fcad19d..c16d893 100644
--- a/ld/emultempl/bfin.em
+++ b/ld/emultempl/bfin.em
@@ -50,9 +50,9 @@ PARSE_AND_LIST_LONGOPTS='
 
 PARSE_AND_LIST_OPTIONS='
   fprintf (file, _("\
-  --code-in-l1                Put code in L1.\n\
-  --data-in-l1                Put data in L1.\n"
-		   ));
+  --code-in-l1                Put code in L1\n"));
+  fprintf (file, _("\
+  --data-in-l1                Put data in L1\n"));
 '
 
 PARSE_AND_LIST_ARGS_CASES='
diff --git a/ld/emultempl/cr16elf.em b/ld/emultempl/cr16elf.em
index 710db1a..3a35745 100644
--- a/ld/emultempl/cr16elf.em
+++ b/ld/emultempl/cr16elf.em
@@ -57,7 +57,7 @@ cr16_elf_after_open (void)
 	     COFF and ELF.  */
 	  if (bfd_get_flavour (abfd) != bfd_target_coff_flavour
 	      && bfd_get_flavour (abfd) != bfd_target_elf_flavour)
-	    einfo (_("%F%pB: all input objects must be COFF or ELF "
+	    einfo (_("%F%P: %pB: all input objects must be COFF or ELF "
 		     "for --embedded-relocs\n"));
 
 	  datasec = bfd_get_section_by_name (abfd, ".data.rel");
@@ -83,7 +83,7 @@ cr16_elf_after_open (void)
 		  || ! bfd_set_section_alignment (abfd, relsec, 2)
 		  || ! bfd_set_section_size (abfd, relsec,
 					     datasec->reloc_count * 8))
-		einfo (_("%F%pB: can not create .emreloc section: %E\n"));
+		einfo (_("%F%P: %pB: can not create .emreloc section: %E\n"));
 	    }
 
 	  /* Double check that all other data sections are empty, as is
@@ -102,7 +102,7 @@ check_sections (bfd *abfd, asection *sec, void *datasec)
   if ((strncmp (bfd_get_section_name (abfd, sec), ".data.rel", 9) == 0)
       && sec != datasec
       && sec->reloc_count == 0 )
-    einfo (_("%pB%X: section %s has relocs; can not use --embedded-relocs\n"),
+    einfo (_("%X%P: %pB: section %s has relocs; can not use --embedded-relocs\n"),
 	   abfd, bfd_get_section_name (abfd, sec));
 }
 
@@ -158,10 +158,10 @@ cr16elf_before_allocation (void)
 						       &errmsg))
 	    {
 	      if (errmsg == NULL)
-		einfo (_("%pB%X: can not create runtime reloc information: %E\n"),
+		einfo (_("%X%P: %pB: can not create runtime reloc information: %E\n"),
 		       abfd);
 	      else
-		einfo (_("%X%pB: can not create runtime reloc information: %s\n"),
+		einfo (_("%X%P: %pB: can not create runtime reloc information: %s\n"),
 		       abfd, errmsg);
 	    }
 	}
diff --git a/ld/emultempl/elf-generic.em b/ld/emultempl/elf-generic.em
index bb6ec03..0688bd3 100644
--- a/ld/emultempl/elf-generic.em
+++ b/ld/emultempl/elf-generic.em
@@ -66,6 +66,6 @@ gld${EMULATION_NAME}_map_segments (bfd_boolean need_layout)
   while (need_layout && --tries);
 
   if (tries == 0)
-    einfo (_("%P%F: looping in map_segments"));
+    einfo (_("%F%P: looping in map_segments"));
 }
 EOF
diff --git a/ld/emultempl/elf32.em b/ld/emultempl/elf32.em
index eb90743..aae9d1f 100644
--- a/ld/emultempl/elf32.em
+++ b/ld/emultempl/elf32.em
@@ -156,7 +156,7 @@ gld${EMULATION_NAME}_load_symbols (lang_input_statement_type *entry)
 
   if (entry->flags.just_syms
       && (bfd_get_file_flags (entry->the_bfd) & DYNAMIC) != 0)
-    einfo (_("%P%F: --just-symbols may not be used on DSO: %pB\n"),
+    einfo (_("%F%P: %pB: --just-symbols may not be used on DSO\n"),
 	   entry->the_bfd);
 
   if (link_class == 0
@@ -279,7 +279,7 @@ gld${EMULATION_NAME}_stat_needed (lang_input_statement_type *s)
 
   if (bfd_stat (s->the_bfd, &st) != 0)
     {
-      einfo (_("%P:%pB: bfd_stat failed: %E\n"), s->the_bfd);
+      einfo (_("%P: %pB: bfd_stat failed: %E\n"), s->the_bfd);
       return;
     }
 
@@ -381,7 +381,7 @@ gld${EMULATION_NAME}_try_needed (struct dt_needed *needed,
       struct bfd_link_needed_list *needs;
 
       if (! bfd_elf_get_bfd_needed_list (abfd, &needs))
-	einfo (_("%F%P:%pB: bfd_elf_get_bfd_needed_list failed: %E\n"), abfd);
+	einfo (_("%F%P: %pB: bfd_elf_get_bfd_needed_list failed: %E\n"), abfd);
 
       if (needs != NULL)
 	{
@@ -438,7 +438,7 @@ fragment <<EOF
      can only check that using stat.  */
 
   if (bfd_stat (abfd, &global_stat) != 0)
-    einfo (_("%F%P:%pB: bfd_stat failed: %E\n"), abfd);
+    einfo (_("%F%P: %pB: bfd_stat failed: %E\n"), abfd);
 
   /* First strip off everything before the last '/'.  */
   soname = lbasename (abfd->filename);
@@ -474,7 +474,7 @@ fragment <<EOF
 
   /* Add this file into the symbol table.  */
   if (! bfd_link_add_symbols (abfd, &link_info))
-    einfo (_("%F%pB: error adding symbols: %E\n"), abfd);
+    einfo (_("%F%P: %pB: error adding symbols: %E\n"), abfd);
 
   return TRUE;
 }
@@ -1148,7 +1148,7 @@ write_build_id (bfd *abfd)
   if (bfd_is_abs_section (asec->output_section))
     {
       einfo (_("%P: warning: .note.gnu.build-id section discarded,"
-	       " --build-id ignored.\n"));
+	       " --build-id ignored\n"));
       return TRUE;
     }
   i_shdr = &elf_section_data (asec->output_section)->this_hdr;
@@ -1193,7 +1193,7 @@ setup_build_id (bfd *ibfd)
   size = id_note_section_size (ibfd);
   if (size == 0)
     {
-      einfo (_("%P: warning: unrecognized --build-id style ignored.\n"));
+      einfo (_("%P: warning: unrecognized --build-id style ignored\n"));
       return FALSE;
     }
 
@@ -1211,8 +1211,8 @@ setup_build_id (bfd *ibfd)
       return TRUE;
     }
 
-  einfo (_("%P: warning: Cannot create .note.gnu.build-id section,"
-	   " --build-id ignored.\n"));
+  einfo (_("%P: warning: cannot create .note.gnu.build-id section,"
+	   " --build-id ignored\n"));
   return FALSE;
 }
 
@@ -1241,7 +1241,7 @@ gld${EMULATION_NAME}_after_open (void)
 
       if (link_info.out_implib_bfd == NULL)
 	{
-	  einfo (_("%F%s: Can't open for writing: %E\n"),
+	  einfo (_("%F%P: %s: can't open for writing: %E\n"),
 		 command_line.out_implib_filename);
 	}
     }
@@ -1317,7 +1317,7 @@ gld${EMULATION_NAME}_after_open (void)
 		}
 	      else if (seen_type != type)
 		{
-		  einfo (_("%P%F: compact frame descriptions incompatible with"
+		  einfo (_("%F%P: compact frame descriptions incompatible with"
 			   " DWARF2 .eh_frame from %pB\n"),
 			 type == DWARF2_EH_HDR ? abfd : elfbfd);
 		  break;
@@ -1352,8 +1352,8 @@ gld${EMULATION_NAME}_after_open (void)
 	    }
 	}
       if (warn_eh_frame)
-	einfo (_("%P: warning: Cannot create .eh_frame_hdr section,"
-		 " --eh-frame-hdr ignored.\n"));
+	einfo (_("%P: warning: cannot create .eh_frame_hdr section,"
+		 " --eh-frame-hdr ignored\n"));
     }
 
   /* Get the list of files which appear in DT_NEEDED entries in
@@ -1548,7 +1548,7 @@ fragment <<EOF
 
   if (link_info.eh_frame_hdr_type == COMPACT_EH_HDR)
     if (!bfd_elf_parse_eh_frame_entries (NULL, &link_info))
-      einfo (_("%P%F: Failed to parse EH frame entries.\n"));
+      einfo (_("%F%P: failed to parse EH frame entries\n"));
 }
 
 EOF
@@ -1583,7 +1583,7 @@ gld${EMULATION_NAME}_find_exp_assignment (etree_type *exp)
 					       &link_info,
 					       exp->assign.dst, provide,
 					       exp->assign.hidden))
-	    einfo (_("%P%F: failed to record assignment to %s: %E\n"),
+	    einfo (_("%F%P: failed to record assignment to %s: %E\n"),
 		   exp->assign.dst);
 	}
       gld${EMULATION_NAME}_find_exp_assignment (exp->assign.src);
@@ -1786,7 +1786,7 @@ gld${EMULATION_NAME}_before_allocation (void)
 	  command_line.filter_shlib, audit, depaudit,
 	  (const char * const *) command_line.auxiliary_filters,
 	  &link_info, &sinterp)))
-    einfo (_("%P%F: failed to set dynamic section sizes: %E\n"));
+    einfo (_("%F%P: failed to set dynamic section sizes: %E\n"));
 
 ${ELF_INTERPRETER_SET_DEFAULT}
   /* Let the user override the dynamic linker we are using.  */
@@ -1820,7 +1820,7 @@ ${ELF_INTERPRETER_SET_DEFAULT}
 	msg = (char *) xmalloc ((size_t) (sz + 1));
 	if (! bfd_get_section_contents (is->the_bfd, s,	msg,
 					(file_ptr) 0, sz))
-	  einfo (_("%F%pB: Can't read contents of section .gnu.warning: %E\n"),
+	  einfo (_("%F%P: %pB: can't read contents of section .gnu.warning: %E\n"),
 		 is->the_bfd);
 	msg[sz] = '\0';
 	(*link_info.callbacks->warning) (&link_info, msg,
@@ -1848,7 +1848,7 @@ ${ELF_INTERPRETER_SET_DEFAULT}
   before_allocation_default ();
 
   if (!bfd_elf_size_dynsym_hash_dynstr (link_info.output_bfd, &link_info))
-    einfo (_("%P%F: failed to set dynamic section sizes: %E\n"));
+    einfo (_("%F%P: failed to set dynamic section sizes: %E\n"));
 
   if (ehdr_start != NULL)
     {
@@ -2662,7 +2662,7 @@ gld${EMULATION_NAME}_handle_option (int optc)
       else if (strcasecmp (optarg, "zlib-gabi") == 0)
 	link_info.compress_debug = COMPRESS_DEBUG_GABI_ZLIB;
       else
-	einfo (_("%P%F: invalid --compress-debug-sections option: \`%s'\n"),
+	einfo (_("%F%P: invalid --compress-debug-sections option: \`%s'\n"),
 	       optarg);
       break;
 EOF
@@ -2717,7 +2717,7 @@ fragment <<EOF
 	  link_info.emit_gnu_hash = TRUE;
 	}
       else
-	einfo (_("%P%F: invalid hash style \`%s'\n"), optarg);
+	einfo (_("%F%P: invalid hash style \`%s'\n"), optarg);
       break;
 
 EOF
@@ -2736,7 +2736,7 @@ fragment <<EOF
 
 	  config.maxpagesize = strtoul (optarg + 14, &end, 0);
 	  if (*end || (config.maxpagesize & (config.maxpagesize - 1)) != 0)
-	    einfo (_("%P%F: invalid maxium page size \`%s'\n"),
+	    einfo (_("%F%P: invalid maxium page size \`%s'\n"),
 		   optarg + 14);
 	}
       else if (CONST_STRNEQ (optarg, "common-page-size="))
@@ -2745,7 +2745,7 @@ fragment <<EOF
 	  config.commonpagesize = strtoul (optarg + 17, &end, 0);
 	  if (*end
 	      || (config.commonpagesize & (config.commonpagesize - 1)) != 0)
-	    einfo (_("%P%F: invalid common page size \`%s'\n"),
+	    einfo (_("%F%P: invalid common page size \`%s'\n"),
 		   optarg + 17);
 	}
       else if (CONST_STRNEQ (optarg, "stack-size="))
@@ -2753,7 +2753,7 @@ fragment <<EOF
 	  char *end;
 	  link_info.stacksize = strtoul (optarg + 11, &end, 0);
 	  if (*end || link_info.stacksize < 0)
-	    einfo (_("%P%F: invalid stack size \`%s'\n"), optarg + 11);
+	    einfo (_("%F%P: invalid stack size \`%s'\n"), optarg + 11);
 	  if (!link_info.stacksize)
 	    /* Use -1 for explicit no-stack, because zero means
 	       'default'.   */
@@ -2843,7 +2843,7 @@ fi
 
 fragment <<EOF
       else
-	einfo (_("%P: warning: -z %s ignored.\n"), optarg);
+	einfo (_("%P: warning: -z %s ignored\n"), optarg);
       break;
 EOF
 
diff --git a/ld/emultempl/hppaelf.em b/ld/emultempl/hppaelf.em
index e736b29..3843a67 100644
--- a/ld/emultempl/hppaelf.em
+++ b/ld/emultempl/hppaelf.em
@@ -82,7 +82,7 @@ hppaelf_create_output_section_statements (void)
 			      bfd_get_arch (link_info.output_bfd),
 			      bfd_get_mach (link_info.output_bfd)))
     {
-      einfo (_("%X%P: can not create BFD %E\n"));
+      einfo (_("%F%P: can not create BFD: %E\n"));
       return;
     }
 
@@ -372,7 +372,7 @@ PARSE_AND_LIST_ARGS_CASES='
 	const char *end;
 	group_size = bfd_scan_vma (optarg, &end, 0);
 	if (*end)
-	  einfo (_("%P%F: invalid number `%s'\''\n"), optarg);
+	  einfo (_("%F%P: invalid number `%s'\''\n"), optarg);
       }
       break;
 '
diff --git a/ld/emultempl/linux.em b/ld/emultempl/linux.em
index 62dd772..c965741 100644
--- a/ld/emultempl/linux.em
+++ b/ld/emultempl/linux.em
@@ -123,7 +123,7 @@ gld${EMULATION_NAME}_before_allocation (void)
      dynamic linking.  */
   if (! bfd_${EMULATION_NAME}_size_dynamic_sections (link_info.output_bfd,
 						     &link_info))
-    einfo (_("%P%F: failed to set dynamic section sizes: %E\n"));
+    einfo (_("%F%P: failed to set dynamic section sizes: %E\n"));
 
   before_allocation_default ();
 }
diff --git a/ld/emultempl/lnk960.em b/ld/emultempl/lnk960.em
index a88c6b7..b9ba51d 100644
--- a/ld/emultempl/lnk960.em
+++ b/ld/emultempl/lnk960.em
@@ -90,7 +90,7 @@ lnk960_before_parse (void)
     {
       name = getenv("G960BASE");
       if (name == (char *) NULL)
-	einfo (_("%P%F I960BASE and G960BASE not set\n"));
+	einfo (_("%F%P: I960BASE and G960BASE not set\n"));
     }
 
   ldfile_add_library_path (concat (name, "/lib", (const char *) NULL), FALSE);
@@ -141,7 +141,7 @@ symbol_at_beginning_of (const char *secname, const char *name)
 
   h = bfd_link_hash_lookup (link_info.hash, name, TRUE, TRUE, TRUE);
   if (h == NULL)
-    einfo (_("%P%F: bfd_link_hash_lookup failed: %E\n"));
+    einfo (_("%F%P: bfd_link_hash_lookup failed: %E\n"));
 
   if (h->type == bfd_link_hash_new
       || h->type == bfd_link_hash_undefined)
@@ -170,7 +170,7 @@ symbol_at_end_of (const char *secname, const char *name)
 
   h = bfd_link_hash_lookup (link_info.hash, name, TRUE, TRUE, TRUE);
   if (h == NULL)
-    einfo (_("%P%F: bfd_link_hash_lookup failed: %E\n"));
+    einfo (_("%F%P: bfd_link_hash_lookup failed: %E\n"));
 
   if (h->type == bfd_link_hash_new
       || h->type == bfd_link_hash_undefined)
diff --git a/ld/emultempl/m68hc1xelf.em b/ld/emultempl/m68hc1xelf.em
index 9b87ac7..713ea44 100644
--- a/ld/emultempl/m68hc1xelf.em
+++ b/ld/emultempl/m68hc1xelf.em
@@ -130,9 +130,8 @@ m68hc11_elf_${EMULATION_NAME}_before_allocation (void)
 
       if (pinfo->bank_size != region->length)
 	{
-	  einfo (_("warning: the size of the 'window' memory region "
-		   "is not a power of 2\n"));
-	  einfo (_("warning: its size %d is truncated to %d\n"),
+	  einfo (_("%P: warning: the size of the 'window' memory region "
+		   "is not a power of 2; its size %d is truncated to %d\n"),
 		 region->length, pinfo->bank_size);
 	}
     }
@@ -160,7 +159,7 @@ m68hc11elf_create_output_section_statements (void)
 			     bfd_get_arch (link_info.output_bfd),
 			     bfd_get_mach (link_info.output_bfd)))
     {
-      einfo (_("%X%P: can not create BFD %E\n"));
+      einfo (_("%F%P: can not create BFD: %E\n"));
       return;
     }
 
@@ -361,10 +360,10 @@ PARSE_AND_LIST_LONGOPTS='
 PARSE_AND_LIST_OPTIONS='
   fprintf (file, _(
 "  --no-trampoline             Do not generate the far trampolines used to call\n"
-"                                a far function using 'jsr' or 'bsr'.\n"
+"                                a far function using 'jsr' or 'bsr'\n"));
+  fprintf (file, _(
 "  --bank-window NAME          Specify the name of the memory region describing\n"
-"                                the layout of the memory bank window.\n"
-		   ));
+"                                the layout of the memory bank window\n"));
 '
 
 PARSE_AND_LIST_ARGS_CASES='
diff --git a/ld/emultempl/m68kcoff.em b/ld/emultempl/m68kcoff.em
index 92b0848..1e36f3f 100644
--- a/ld/emultempl/m68kcoff.em
+++ b/ld/emultempl/m68kcoff.em
@@ -74,7 +74,7 @@ gld${EMULATION_NAME}_after_open (void)
       /* As first-order business, make sure that each input BFD is COFF. It
 	 better be, as we are directly calling a COFF backend function.  */
       if (bfd_get_flavour (abfd) != bfd_target_coff_flavour)
-	einfo (_("%F%pB: all input objects must be COFF "
+	einfo (_("%F%P: %pB: all input objects must be COFF "
 		 "for --embedded-relocs\n"));
 
       datasec = bfd_get_section_by_name (abfd, ".data");
@@ -99,7 +99,7 @@ gld${EMULATION_NAME}_after_open (void)
 	      || ! bfd_set_section_alignment (abfd, relsec, 2)
 	      || ! bfd_set_section_size (abfd, relsec,
 					 datasec->reloc_count * 12))
-	    einfo (_("%F%pB: can not create .emreloc section: %E\n"));
+	    einfo (_("%F%P: %pB: can not create .emreloc section: %E\n"));
 	}
 
       /* Double check that all other data sections are empty, as is
@@ -117,7 +117,7 @@ check_sections (bfd *abfd, asection *sec, void *datasec)
   if ((bfd_get_section_flags (abfd, sec) & SEC_DATA)
       && sec != datasec
       && sec->reloc_count != 0)
-    einfo (_("%pB%X: section %s has relocs; can not use --embedded-relocs\n"),
+    einfo (_("%X%P: %pB: section %s has relocs; can not use --embedded-relocs\n"),
 	   abfd, bfd_get_section_name (abfd, sec));
 }
 
@@ -152,10 +152,10 @@ gld${EMULATION_NAME}_after_allocation (void)
 						   &errmsg))
 	{
 	  if (errmsg == NULL)
-	    einfo (_("%pB%X: can not create runtime reloc information: %E\n"),
+	    einfo (_("%X%P: %pB: can not create runtime reloc information: %E\n"),
 		   abfd);
 	  else
-	    einfo (_("%X%pB: can not create runtime reloc information: %s\n"),
+	    einfo (_("%X%P: %pB: can not create runtime reloc information: %s\n"),
 		   abfd, errmsg);
 	}
     }
diff --git a/ld/emultempl/m68kelf.em b/ld/emultempl/m68kelf.em
index 63c0be4..ea07002 100644
--- a/ld/emultempl/m68kelf.em
+++ b/ld/emultempl/m68kelf.em
@@ -85,7 +85,7 @@ m68k_elf_after_open (void)
 	     COFF and ELF.  */
 	  if (bfd_get_flavour (abfd) != bfd_target_coff_flavour
 	      && bfd_get_flavour (abfd) != bfd_target_elf_flavour)
-	    einfo (_("%F%pB: all input objects must be COFF or ELF "
+	    einfo (_("%F%P: %pB: all input objects must be COFF or ELF "
 		     "for --embedded-relocs\n"));
 
 	  datasec = bfd_get_section_by_name (abfd, ".data");
@@ -110,7 +110,7 @@ m68k_elf_after_open (void)
 		  || ! bfd_set_section_alignment (abfd, relsec, 2)
 		  || ! bfd_set_section_size (abfd, relsec,
 					     datasec->reloc_count * 12))
-		einfo (_("%F%pB: can not create .emreloc section: %E\n"));
+		einfo (_("%F%P: %pB: can not create .emreloc section: %E\n"));
 	    }
 
 	  /* Double check that all other data sections are empty, as is
@@ -131,7 +131,7 @@ check_sections (bfd *abfd, asection *sec, void *datasec)
   if ((bfd_get_section_flags (abfd, sec) & SEC_DATA)
       && sec != datasec
       && sec->reloc_count != 0)
-    einfo (_("%pB%X: section %s has relocs; can not use --embedded-relocs\n"),
+    einfo (_("%X%P: %pB: section %s has relocs; can not use --embedded-relocs\n"),
 	   abfd, bfd_get_section_name (abfd, sec));
 }
 
@@ -174,11 +174,11 @@ m68k_elf_after_allocation (void)
 							  &errmsg))
 		{
 		  if (errmsg == NULL)
-		    einfo (_("%pB%X: can not create "
+		    einfo (_("%X%P: %pB: can not create "
 			     "runtime reloc information: %E\n"),
 			   abfd);
 		  else
-		    einfo (_("%X%pB: can not create "
+		    einfo (_("%X%P: %pB: can not create "
 			     "runtime reloc information: %s\n"),
 			   abfd, errmsg);
 		}
@@ -190,11 +190,11 @@ m68k_elf_after_allocation (void)
 							   &errmsg))
 		{
 		  if (errmsg == NULL)
-		    einfo (_("%pB%X: can not create "
+		    einfo (_("%X%P: %pB: can not create "
 			     "runtime reloc information: %E\n"),
 			   abfd);
 		  else
-		    einfo (_("%X%pB: can not create "
+		    einfo (_("%X%P: %pB: can not create "
 			     "runtime reloc information: %s\n"),
 			   abfd, errmsg);
 		}
@@ -243,7 +243,7 @@ PARSE_AND_LIST_ARGS_CASES='
       else if (strcmp (optarg, "multigot") == 0)
 	got_handling = 2;
       else
-	einfo (_("Unrecognized --got argument '\''%s'\''.\n"), optarg);
+	einfo (_("%P: unrecognized --got argument '\''%s'\''\n"), optarg);
       break;
 '
 
diff --git a/ld/emultempl/metagelf.em b/ld/emultempl/metagelf.em
index 67f432c..6b1e894 100644
--- a/ld/emultempl/metagelf.em
+++ b/ld/emultempl/metagelf.em
@@ -59,7 +59,7 @@ metagelf_create_output_section_statements (void)
 			      bfd_get_arch (link_info.output_bfd),
 			      bfd_get_mach (link_info.output_bfd)))
     {
-      einfo (_("%X%P: can not create BFD %E\n"));
+      einfo (_("%F%P: can not create BFD: %E\n"));
       return;
     }
 
@@ -330,7 +330,7 @@ PARSE_AND_LIST_ARGS_CASES='
 	const char *end;
 	group_size = bfd_scan_vma (optarg, &end, 0);
 	if (*end)
-	  einfo (_("%P%F: invalid number `%s'\''\n"), optarg);
+	  einfo (_("%F%P: invalid number `%s'\''\n"), optarg);
       }
       break;
 '
diff --git a/ld/emultempl/mipself.em b/ld/emultempl/mipself.em
index 5d428d2..c7c1642 100644
--- a/ld/emultempl/mipself.em
+++ b/ld/emultempl/mipself.em
@@ -157,7 +157,7 @@ mips_add_stub_section (const char *stub_sec_name, asection *input_section,
 				 bfd_get_arch (link_info.output_bfd),
 				 bfd_get_mach (link_info.output_bfd)))
 	{
-	  einfo (_("%F%P: can not create BFD %E\n"));
+	  einfo (_("%F%P: can not create BFD: %E\n"));
 	  return NULL;
 	}
       stub_bfd->flags |= BFD_LINKER_CREATED;
diff --git a/ld/emultempl/mmix-elfnmmo.em b/ld/emultempl/mmix-elfnmmo.em
index 3f98d31..7492c1d 100644
--- a/ld/emultempl/mmix-elfnmmo.em
+++ b/ld/emultempl/mmix-elfnmmo.em
@@ -53,7 +53,7 @@ mmix_before_allocation (void)
   ENABLE_RELAXATION;
 
   if (!_bfd_mmix_before_linker_allocation (link_info.output_bfd, &link_info))
-    einfo (_("%X%P: Internal problems setting up section %s"),
+    einfo (_("%X%P: internal problems setting up section %s"),
 	   MMIX_LD_ALLOCATED_REG_CONTENTS_SECTION_NAME);
 }
 
@@ -97,7 +97,7 @@ mmix_after_allocation (void)
      as an undefined symbol.  */
   if (regvma < 32 * 8)
     {
-      einfo (_("%X%P: Too many global registers: %u, max 223\n"),
+      einfo (_("%X%P: too many global registers: %u, max 223\n"),
 	     (unsigned) sec->size / 8);
       regvma = 32 * 8;
     }
@@ -115,7 +115,7 @@ mmix_after_allocation (void)
   if (!_bfd_mmix_after_linker_allocation (link_info.output_bfd, &link_info))
     {
       /* This is a fatal error; make einfo call not return.  */
-      einfo (_("%F%P: Can't finalize linker-allocated global registers\n"));
+      einfo (_("%F%P: can't finalize linker-allocated global registers\n"));
     }
 }
 EOF
diff --git a/ld/emultempl/mmo.em b/ld/emultempl/mmo.em
index 20572c3..2c73cfb 100644
--- a/ld/emultempl/mmo.em
+++ b/ld/emultempl/mmo.em
@@ -228,7 +228,7 @@ mmo_after_open (void)
 	{
 	  if (bfd_get_flavour (is->the_bfd) == bfd_target_elf_flavour
 	      && !_bfd_mmix_check_all_relocs (is->the_bfd, &link_info))
-	    einfo (_("%X%P: Internal problems scanning %pB after opening it"),
+	    einfo (_("%X%P: internal problems scanning %pB after opening it"),
 		   is->the_bfd);
 	}
     }
diff --git a/ld/emultempl/msp430.em b/ld/emultempl/msp430.em
index 2cd15d6..f1b2bb2 100644
--- a/ld/emultempl/msp430.em
+++ b/ld/emultempl/msp430.em
@@ -482,15 +482,14 @@ gld${EMULATION_NAME}_add_options
 static void
 gld${EMULATION_NAME}_list_options (FILE * file)
 {
-  fprintf (file, _("\
-  --code-region={either,lower,upper,none}\n\
-  \tTransform .text* sections to {either,lower,upper,none}.text* sections.\n\
-  --data-region={either,lower,upper,none}\n\
-  \tTransform .data*, .rodata* and .bss* sections to\n\
-  {either,lower,upper,none}.{bss,data,rodata}* sections\n\
-  --disable-sec-transformation\n\
-  \tDisable transformation of .{text,data,bss,rodata}* sections to\n\
-  \tadd the {either,lower,upper,none} prefixes\n"));
+  fprintf (file, _("  --code-region={either,lower,upper,none}\n\
+        Transform .text* sections to {either,lower,upper,none}.text* sections\n"));
+  fprintf (file, _("  --data-region={either,lower,upper,none}\n\
+        Transform .data*, .rodata* and .bss* sections to\n\
+        {either,lower,upper,none}.{bss,data,rodata}* sections\n"));
+  fprintf (file, _("  --disable-sec-transformation\n\
+        Disable transformation of .{text,data,bss,rodata}* sections to\n\
+        add the {either,lower,upper,none} prefixes\n"));
 }
 
 static bfd_boolean
@@ -509,14 +508,14 @@ gld${EMULATION_NAME}_handle_option (int optc)
 	code_region = REGION_NONE;
       else if (strlen (optarg) == 0)
 	{
-	  einfo (_("%P: --code-region requires an argument: \
-		   {upper,lower,either,none}\n"));
+	  einfo (_("%P: --code-region requires an argument: "
+		   "{upper,lower,either,none}\n"));
 	  return FALSE;
 	}
       else
 	{
-	  einfo (_("%P: error: unrecognized argument to --code-region= option: \
-		   \"%s\"\n"), optarg);
+	  einfo (_("%P: error: unrecognized argument to --code-region= option: "
+		   "\"%s\"\n"), optarg);
 	  return FALSE;
 	}
       break;
@@ -532,14 +531,14 @@ gld${EMULATION_NAME}_handle_option (int optc)
 	data_region = REGION_NONE;
       else if (strlen (optarg) == 0)
 	{
-	  einfo (_("%P: --data-region requires an argument: \
-		   {upper,lower,either,none}\n"));
+	  einfo (_("%P: --data-region requires an argument: "
+		   "{upper,lower,either,none}\n"));
 	  return FALSE;
 	}
       else
 	{
-	  einfo (_("%P: error: unrecognized argument to --data-region= option: \
-		   \"%s\"\n"), optarg);
+	  einfo (_("%P: error: unrecognized argument to --data-region= option: "
+		   "\"%s\"\n"), optarg);
 	  return FALSE;
 	}
       break;
diff --git a/ld/emultempl/nds32elf.em b/ld/emultempl/nds32elf.em
index cfbf76e..3ea0ea2 100644
--- a/ld/emultempl/nds32elf.em
+++ b/ld/emultempl/nds32elf.em
@@ -51,8 +51,8 @@ nds32_elf_create_output_section_statements (void)
   if (strstr (bfd_get_target (link_info.output_bfd), "nds32") == NULL)
     {
       /* Check the output target is nds32.  */
-      einfo (_("%F%X%P: error: Cannot change output format whilst "
-	       "linking NDS32 binaries.\n"));
+      einfo (_("%F%P: error: cannot change output format whilst "
+	       "linking %s binaries\n"), "NDS32");
       return;
     }
 
@@ -121,7 +121,8 @@ nds32_elf_after_open (void)
 	       && abi_ver != (elf_elfheader (abfd)->e_flags & EF_NDS_ABI))
 	{
 	  /* Incompatible objects.  */
-	  einfo (_("%F%pB: ABI version of object files mismatched\n"), abfd);
+	  einfo (_("%F%P: %pB: ABI version of object files mismatched\n"),
+		 abfd);
 	}
 
 #if defined NDS32_EX9_EXT
@@ -166,7 +167,7 @@ nds32_elf_after_open (void)
 	      if (bfd_link_pic (&link_info))
 		{
 		  /* For PIE or shared object, all input must be PIC.  */
-		  einfo (_("%pB: must use -fpic to compile this file "
+		  einfo (_("%P: %pB: must use -fpic to compile this file "
 			   "for shared object or PIE\n"), abfd);
 		}
 	      else
@@ -269,31 +270,35 @@ PARSE_AND_LIST_LONGOPTS='
 '
 PARSE_AND_LIST_OPTIONS='
   fprintf (file, _("\
-  --m[no-]fp-as-gp            Disable/enable fp-as-gp relaxation\n\
-  --mexport-symbols=FILE      Exporting symbols in linker script\n\
-"));
+  --m[no-]fp-as-gp            Disable/enable fp-as-gp relaxation\n"));
+  fprintf (file, _("\
+  --mexport-symbols=FILE      Exporting symbols in linker script\n"));
 
 #if defined NDS32_EX9_EXT
   fprintf (file, _("\
-  --m[no-]ex9                 Disable/enable link-time EX9 relaxation\n\
-  --mexport-ex9=FILE          Export EX9 table after linking\n\
-  --mimport-ex9=FILE          Import Ex9 table for EX9 relaxation\n\
-  --mupdate-ex9               Update existing EX9 table\n\
-  --mex9-limit=NUM            Maximum number of entries in ex9 table\n\
-  --mex9-loop-aware           Avoid generate EX9 instruction inside loop\n\
-"));
+  --m[no-]ex9                 Disable/enable link-time EX9 relaxation\n"));
+  fprintf (file, _("\
+  --mexport-ex9=FILE          Export EX9 table after linking\n"));
+  fprintf (file, _("\
+  --mimport-ex9=FILE          Import Ex9 table for EX9 relaxation\n"));
+  fprintf (file, _("\
+  --mupdate-ex9               Update existing EX9 table\n"));
+  fprintf (file, _("\
+  --mex9-limit=NUM            Maximum number of entries in ex9 table\n"));
+  fprintf (file, _("\
+  --mex9-loop-aware           Avoid generate EX9 instruction inside loop\n"));
 #endif
 
 #if defined NDS32_IFC_EXT
   fprintf (file, _("\
-  --m[no-]ifc                 Disable/enable link-time IFC optimization\n\
-  --mifc-loop-aware           Avoid generate IFC instruction inside loop\n\
-"));
+  --m[no-]ifc                 Disable/enable link-time IFC optimization\n"));
+  fprintf (file, _("\
+  --mifc-loop-aware           Avoid generate IFC instruction inside loop\n"));
 #endif
 '
 PARSE_AND_LIST_ARGS_CASES='
   case OPTION_BASELINE:
-    einfo (_("%P: --mbaseline is not used anymore.\n"));
+    einfo (_("%P: --mbaseline is not used anymore\n"));
     break;
   case OPTION_ELIM_GC_RELOCS:
     eliminate_gc_relocs = 1;
@@ -304,11 +309,11 @@ PARSE_AND_LIST_ARGS_CASES='
     break;
   case OPTION_REDUCE_FP_UPDATE:
   case OPTION_NO_REDUCE_FP_UPDATE:
-    einfo (_("%P: --relax-[no-]reduce-fp-updat is not used anymore.\n"));
+    einfo (_("%P: --relax-[no-]reduce-fp-updat is not used anymore\n"));
     break;
   case OPTION_EXPORT_SYMBOLS:
     if (!optarg)
-      einfo (_("Missing file for --mexport-symbols.\n"), optarg);
+      einfo (_("%P: missing file for --mexport-symbols\n"), optarg);
 
     if(strcmp (optarg, "-") == 0)
       sym_ld_script = stdout;
@@ -316,7 +321,7 @@ PARSE_AND_LIST_ARGS_CASES='
       {
 	sym_ld_script = fopen (optarg, FOPEN_WT);
 	if(sym_ld_script == NULL)
-	  einfo (_("%P%F: cannot open map file %s: %E.\n"), optarg);
+	  einfo (_("%F%P: cannot open map file %s: %E\n"), optarg);
       }
     break;
 #if defined NDS32_EX9_EXT
@@ -328,7 +333,7 @@ PARSE_AND_LIST_ARGS_CASES='
     break;
   case OPTION_EXPORT_EX9:
     if (!optarg)
-      einfo (_("Missing file for --mexport-ex9=<file>.\n"));
+      einfo (_("%P: missing file for --mexport-ex9=<file>\n"));
 
     if(strcmp (optarg, "-") == 0)
       ex9_export_file = stdout;
@@ -336,16 +341,16 @@ PARSE_AND_LIST_ARGS_CASES='
       {
 	ex9_export_file = fopen (optarg, "wb");
 	if(ex9_export_file == NULL)
-	  einfo (_("ERROR %P%F: cannot open ex9 export file %s.\n"), optarg);
+	  einfo (_("%F%P: cannot open ex9 export file %s\n"), optarg);
       }
     break;
   case OPTION_IMPORT_EX9:
     if (!optarg)
-      einfo (_("Missing file for --mimport-ex9=<file>.\n"));
+      einfo (_("%P: missing file for --mimport-ex9=<file>\n"));
 
     ex9_import_file = fopen (optarg, "rb+");
     if(ex9_import_file == NULL)
-      einfo (_("ERROR %P%F: cannot open ex9 import file %s.\n"), optarg);
+      einfo (_("%F%P: cannot open ex9 import file %s\n"), optarg);
     break;
   case OPTION_UPDATE_EX9:
     update_ex9_table = 1;
@@ -355,10 +360,7 @@ PARSE_AND_LIST_ARGS_CASES='
       {
 	ex9_limit = atoi (optarg);
 	if (ex9_limit > 511 || ex9_limit < 1)
-	  {
-	    einfo (_("ERROR: the range of ex9_limit must between 1 and 511\n"));
-	    exit (1);
-	  }
+	  einfo (_("%F%P: the range of ex9_limit must between 1 and 511\n"));
       }
     break;
   case OPTION_EX9_LOOP:
diff --git a/ld/emultempl/nios2elf.em b/ld/emultempl/nios2elf.em
index ea95bed..805eb96 100644
--- a/ld/emultempl/nios2elf.em
+++ b/ld/emultempl/nios2elf.em
@@ -64,7 +64,7 @@ nios2elf_create_output_section_statements (void)
 			      bfd_get_arch (link_info.output_bfd),
 			      bfd_get_mach (link_info.output_bfd)))
     {
-      einfo (_("%X%P: can not create BFD %E\n"));
+      einfo (_("%F%P: can not create BFD: %E\n"));
       return;
     }
 
diff --git a/ld/emultempl/pe.em b/ld/emultempl/pe.em
index 36856ce..ffa8b74 100644
--- a/ld/emultempl/pe.em
+++ b/ld/emultempl/pe.em
@@ -488,15 +488,15 @@ gld_${EMULATION_NAME}_list_options (FILE *file)
                                        executable image files\n"));
   fprintf (file, _("  --disable-long-section-names       Never use long COFF section names, even\n\
                                        in object files\n"));
-  fprintf (file, _("  --dynamicbase			 Image base address may be relocated using\n\
-				       address space layout randomization (ASLR)\n"));
-  fprintf (file, _("  --forceinteg		 Code integrity checks are enforced\n"));
-  fprintf (file, _("  --nxcompat		 Image is compatible with data execution prevention\n"));
-  fprintf (file, _("  --no-isolation		 Image understands isolation but do not isolate the image\n"));
-  fprintf (file, _("  --no-seh			 Image does not use SEH. No SE handler may\n\
-				       be called in this image\n"));
-  fprintf (file, _("  --no-bind			 Do not bind this image\n"));
-  fprintf (file, _("  --wdmdriver		 Driver uses the WDM model\n"));
+  fprintf (file, _("  --dynamicbase                      Image base address may be relocated using\n\
+                                       address space layout randomization (ASLR)\n"));
+  fprintf (file, _("  --forceinteg               Code integrity checks are enforced\n"));
+  fprintf (file, _("  --nxcompat                 Image is compatible with data execution prevention\n"));
+  fprintf (file, _("  --no-isolation             Image understands isolation but do not isolate the image\n"));
+  fprintf (file, _("  --no-seh                   Image does not use SEH. No SE handler may\n\
+                                       be called in this image\n"));
+  fprintf (file, _("  --no-bind                  Do not bind this image\n"));
+  fprintf (file, _("  --wdmdriver                Driver uses the WDM model\n"));
   fprintf (file, _("  --tsaware                  Image is Terminal Server aware\n"));
   fprintf (file, _("  --build-id[=STYLE]         Generate build ID\n"));
 }
@@ -651,7 +651,7 @@ set_pe_subsystem (void)
 
       if (v[i].name == NULL)
 	{
-	  einfo (_("%P%F: invalid subsystem type %s\n"), optarg);
+	  einfo (_("%F%P: invalid subsystem type %s\n"), optarg);
 	  return;
 	}
 
@@ -672,7 +672,7 @@ set_pe_value (char *name)
   set_pe_name (name,  strtoul (optarg, &end, 0));
 
   if (end == optarg)
-    einfo (_("%P%F: invalid hex number for PE parameter '%s'\n"), optarg);
+    einfo (_("%F%P: invalid hex number for PE parameter '%s'\n"), optarg);
 
   optarg = end;
 }
@@ -689,7 +689,7 @@ set_pe_stack_heap (char *resname, char *comname)
       set_pe_value (comname);
     }
   else if (*optarg)
-    einfo (_("%P%F: strange hex info for PE parameter '%s'\n"), optarg);
+    einfo (_("%F%P: strange hex info for PE parameter '%s'\n"), optarg);
 }
 
 #define DEFAULT_BUILD_ID_STYLE	"md5"
@@ -1001,7 +1001,7 @@ gld_${EMULATION_NAME}_set_symbols (void)
 
   if (pe.FileAlignment > pe.SectionAlignment)
     {
-      einfo (_("%P: warning, file alignment > section alignment.\n"));
+      einfo (_("%P: warning, file alignment > section alignment\n"));
     }
 }
 
@@ -1066,7 +1066,7 @@ change_undef (struct bfd_link_hash_entry * undef,
 
   if (pe_enable_stdcall_fixup == -1)
     {
-      einfo (_("Warning: resolving %s by linking to %s\n"),
+      einfo (_("%P: warning: resolving %s by linking to %s\n"),
 	     undef->root.string, sym->root.string);
 
       if (! gave_warning_message)
@@ -1140,7 +1140,7 @@ make_import_fixup (arelent *rel, asection *s, char *name)
 	    (unsigned long) rel->address, (long) rel->addend);
 
   if (! bfd_get_section_contents (s->owner, s, addend, rel->address, sizeof (addend)))
-    einfo (_("%C: Cannot get section contents - auto-import exception\n"),
+    einfo (_("%P: %C: cannot get section contents - auto-import exception\n"),
 	   s->owner, s, rel->address);
 
   pe_create_import_fixup (rel, s, bfd_get_32 (s->owner, addend), name);
@@ -1212,15 +1212,15 @@ pe_find_data_imports (void)
 		      warned = TRUE;
 		      einfo (_("%P: warning: auto-importing has been activated "
 			       "without --enable-auto-import specified on the "
-			       "command line.\nThis should work unless it "
+			       "command line; this should work unless it "
 			       "involves constant data structures referencing "
-			       "symbols from auto-imported DLLs.\n"));
+			       "symbols from auto-imported DLLs\n"));
 		    }
 		}
 
 	      if (!bfd_generic_link_read_symbols (b))
 		{
-		  einfo (_("%pB%F: could not read symbols: %E\n"), b);
+		  einfo (_("%F%P: %pB: could not read symbols: %E\n"), b);
 		  return;
 		}
 
@@ -1335,7 +1335,7 @@ write_build_id (bfd *abfd)
   if (!link_order)
     {
       einfo (_("%P: warning: .buildid section discarded,"
-	       " --build-id ignored.\n"));
+	       " --build-id ignored\n"));
       return TRUE;
     }
 
@@ -1407,7 +1407,7 @@ setup_build_id (bfd *ibfd)
 
   if (!validate_build_id_style (emit_build_id))
     {
-      einfo (_("%P: warning: unrecognized --build-id style ignored.\n"));
+      einfo (_("%P: warning: unrecognized --build-id style ignored\n"));
       return FALSE;
     }
 
@@ -1431,8 +1431,8 @@ setup_build_id (bfd *ibfd)
       return TRUE;
     }
 
-  einfo (_("%P: warning: Cannot create .buildid section,"
-	   " --build-id ignored.\n"));
+  einfo (_("%P: warning: cannot create .buildid section,"
+	   " --build-id ignored\n"));
   return FALSE;
 }
 
@@ -1484,7 +1484,7 @@ gld_${EMULATION_NAME}_after_open (void)
 
   if (coff_data (link_info.output_bfd) == NULL
       || coff_data (link_info.output_bfd)->pe == 0)
-    einfo (_("%F%P: cannot perform PE operations on non PE output file '%pB'.\n"),
+    einfo (_("%F%P: cannot perform PE operations on non PE output file '%pB'\n"),
 	   link_info.output_bfd);
 
   pe_data (link_info.output_bfd)->pe_opthdr = pe;
@@ -1556,8 +1556,8 @@ gld_${EMULATION_NAME}_after_open (void)
 	 These will only be created if the output format is an arm format,
 	 hence we do not support linking and changing output formats at the
 	 same time.  Use a link followed by objcopy to change output formats.  */
-      einfo (_("%F%X%P: error: cannot change output format "
-	       "whilst linking ARM binaries\n"));
+      einfo (_("%F%P: error: cannot change output format "
+	       "whilst linking %s binaries\n"), "ARM");
       return;
     }
   {
@@ -1616,7 +1616,7 @@ gld_${EMULATION_NAME}_after_open (void)
 
 		    if (!bfd_generic_link_read_symbols (is->the_bfd))
 		      {
-			einfo (_("%pB%F: could not read symbols: %E\n"),
+			einfo (_("%F%P: %pB: could not read symbols: %E\n"),
 			       is->the_bfd);
 			return;
 		      }
@@ -1823,7 +1823,7 @@ gld_${EMULATION_NAME}_after_open (void)
 
 		if (!bfd_generic_link_read_symbols (is->the_bfd))
 		  {
-		    einfo (_("%pB%F: could not read symbols: %E\n"),
+		    einfo (_("%F%P: %pB: could not read symbols: %E\n"),
 			   is->the_bfd);
 		    return;
 		  }
@@ -1866,7 +1866,7 @@ gld_${EMULATION_NAME}_before_allocation (void)
 	if (!ppc_process_before_allocation (is->the_bfd, &link_info))
 	  {
 	    /* xgettext:c-format */
-	    einfo (_("Errors encountered processing file %s\n"), is->filename);
+	    einfo (_("%P: errors encountered processing file %s\n"), is->filename);
 	  }
       }
   }
@@ -1889,7 +1889,7 @@ gld_${EMULATION_NAME}_before_allocation (void)
 	    (is->the_bfd, & link_info, support_old_code))
 	  {
 	    /* xgettext:c-format */
-	    einfo (_("Errors encountered processing file %s for interworking\n"),
+	    einfo (_("%P: errors encountered processing file %s for interworking\n"),
 		   is->filename);
 	  }
       }
@@ -1951,7 +1951,7 @@ gld_${EMULATION_NAME}_unrecognized_file (lang_input_statement_type *entry ATTRIB
 
 	      h = bfd_link_hash_lookup (link_info.hash, buf, TRUE, TRUE, TRUE);
 	      if (h == (struct bfd_link_hash_entry *) NULL)
-		einfo (_("%P%F: bfd_link_hash_lookup failed: %E\n"));
+		einfo (_("%F%P: bfd_link_hash_lookup failed: %E\n"));
 	      if (h->type == bfd_link_hash_new)
 		{
 		  h->type = bfd_link_hash_undefined;
diff --git a/ld/emultempl/pep.em b/ld/emultempl/pep.em
index ad48426..cea210c 100644
--- a/ld/emultempl/pep.em
+++ b/ld/emultempl/pep.em
@@ -410,7 +410,7 @@ gld_${EMULATION_NAME}_list_options (FILE *file)
   fprintf (file, _("  --subsystem <name>[:<version>]     Set required OS subsystem [& version]\n"));
   fprintf (file, _("  --support-old-code                 Support interworking with old code\n"));
   fprintf (file, _("  --[no-]leading-underscore          Set explicit symbol underscore prefix mode\n"));
-  fprintf (file, _("  --[no-]insert-timestamp            Use a real timestamp rather than zero. (default)\n"));
+  fprintf (file, _("  --[no-]insert-timestamp            Use a real timestamp rather than zero (default)\n"));
   fprintf (file, _("                                     This makes binaries non-deterministic\n"));
 #ifdef DLL_SUPPORT
   fprintf (file, _("  --add-stdcall-alias                Export symbols with and without @nn\n"));
@@ -421,16 +421,16 @@ gld_${EMULATION_NAME}_list_options (FILE *file)
   fprintf (file, _("  --exclude-libs lib,lib,...         Exclude libraries from automatic export\n"));
   fprintf (file, _("  --exclude-modules-for-implib mod,mod,...\n"));
   fprintf (file, _("                                     Exclude objects, archive members from auto\n"));
-  fprintf (file, _("                                     export, place into import library instead.\n"));
+  fprintf (file, _("                                     export, place into import library instead\n"));
   fprintf (file, _("  --export-all-symbols               Automatically export all globals to DLL\n"));
   fprintf (file, _("  --kill-at                          Remove @nn from exported symbols\n"));
   fprintf (file, _("  --output-def <file>                Generate a .DEF file for the built DLL\n"));
-  fprintf (file, _("  --warn-duplicate-exports           Warn about duplicate exports.\n"));
+  fprintf (file, _("  --warn-duplicate-exports           Warn about duplicate exports\n"));
   fprintf (file, _("  --compat-implib                    Create backward compatible import libs;\n\
-                                       create __imp_<SYMBOL> as well.\n"));
+                                       create __imp_<SYMBOL> as well\n"));
   fprintf (file, _("  --enable-auto-image-base           Automatically choose image base for DLLs\n\
                                        unless user specifies one\n"));
-  fprintf (file, _("  --disable-auto-image-base          Do not auto-choose image base. (default)\n"));
+  fprintf (file, _("  --disable-auto-image-base          Do not auto-choose image base (default)\n"));
   fprintf (file, _("  --dll-search-prefix=<string>       When linking dynamically to a dll without\n\
                                        an importlib, use <string><basename>.dll\n\
                                        in preference to lib<basename>.dll \n"));
@@ -439,9 +439,9 @@ gld_${EMULATION_NAME}_list_options (FILE *file)
   fprintf (file, _("  --disable-auto-import              Do not auto-import DATA items from DLLs\n"));
   fprintf (file, _("  --enable-runtime-pseudo-reloc      Work around auto-import limitations by\n\
                                        adding pseudo-relocations resolved at\n\
-                                       runtime.\n"));
+                                       runtime\n"));
   fprintf (file, _("  --disable-runtime-pseudo-reloc     Do not add runtime pseudo-relocations for\n\
-                                       auto-imported DATA.\n"));
+                                       auto-imported DATA\n"));
   fprintf (file, _("  --enable-extra-pep-debug            Enable verbose debug output when building\n\
                                        or linking to DLLs (esp. auto-import)\n"));
   fprintf (file, _("  --enable-long-section-names        Use long COFF section names even in\n\
@@ -450,15 +450,15 @@ gld_${EMULATION_NAME}_list_options (FILE *file)
                                        in object files\n"));
   fprintf (file, _("  --high-entropy-va                  Image is compatible with 64-bit address space\n\
                                        layout randomization (ASLR)\n"));
-  fprintf (file, _("  --dynamicbase			 Image base address may be relocated using\n\
-				       address space layout randomization (ASLR)\n"));
-  fprintf (file, _("  --forceinteg		 Code integrity checks are enforced\n"));
-  fprintf (file, _("  --nxcompat		 Image is compatible with data execution prevention\n"));
-  fprintf (file, _("  --no-isolation		 Image understands isolation but do not isolate the image\n"));
-  fprintf (file, _("  --no-seh			 Image does not use SEH. No SE handler may\n\
-				       be called in this image\n"));
-  fprintf (file, _("  --no-bind			 Do not bind this image\n"));
-  fprintf (file, _("  --wdmdriver		 Driver uses the WDM model\n"));
+  fprintf (file, _("  --dynamicbase                      Image base address may be relocated using\n\
+                                       address space layout randomization (ASLR)\n"));
+  fprintf (file, _("  --forceinteg               Code integrity checks are enforced\n"));
+  fprintf (file, _("  --nxcompat                 Image is compatible with data execution prevention\n"));
+  fprintf (file, _("  --no-isolation             Image understands isolation but do not isolate the image\n"));
+  fprintf (file, _("  --no-seh                   Image does not use SEH; no SE handler may\n\
+                                       be called in this image\n"));
+  fprintf (file, _("  --no-bind                  Do not bind this image\n"));
+  fprintf (file, _("  --wdmdriver                Driver uses the WDM model\n"));
   fprintf (file, _("  --tsaware                  Image is Terminal Server aware\n"));
   fprintf (file, _("  --build-id[=STYLE]         Generate build ID\n"));
 #endif
@@ -610,7 +610,7 @@ set_pep_subsystem (void)
 
       if (v[i].name == NULL)
 	{
-	  einfo (_("%P%F: invalid subsystem type %s\n"), optarg);
+	  einfo (_("%F%P: invalid subsystem type %s\n"), optarg);
 	  return;
 	}
 
@@ -631,7 +631,7 @@ set_pep_value (char *name)
   set_pep_name (name,  (bfd_vma) strtoull (optarg, &end, 0));
 
   if (end == optarg)
-    einfo (_("%P%F: invalid hex number for PE parameter '%s'\n"), optarg);
+    einfo (_("%F%P: invalid hex number for PE parameter '%s'\n"), optarg);
 
   optarg = end;
 }
@@ -648,7 +648,7 @@ set_pep_stack_heap (char *resname, char *comname)
       set_pep_value (comname);
     }
   else if (*optarg)
-    einfo (_("%P%F: strange hex info for PE parameter '%s'\n"), optarg);
+    einfo (_("%F%P: strange hex info for PE parameter '%s'\n"), optarg);
 }
 
 #define DEFAULT_BUILD_ID_STYLE	"md5"
@@ -945,7 +945,7 @@ gld_${EMULATION_NAME}_set_symbols (void)
 
   if (pep.FileAlignment > pep.SectionAlignment)
     {
-      einfo (_("%P: warning, file alignment > section alignment.\n"));
+      einfo (_("%P: warning, file alignment > section alignment\n"));
     }
 }
 
@@ -1033,7 +1033,7 @@ pep_fixup_stdcalls (void)
 
 		if (pep_enable_stdcall_fixup == -1)
 		  {
-		    einfo (_("Warning: resolving %s by linking to %s\n"),
+		    einfo (_("warning: resolving %s by linking to %s\n"),
 			   undef->root.string, cname);
 		    if (! gave_warning_message)
 		      {
@@ -1060,7 +1060,7 @@ pep_fixup_stdcalls (void)
 
 		if (pep_enable_stdcall_fixup == -1)
 		  {
-		    einfo (_("Warning: resolving %s by linking to %s\n"),
+		    einfo (_("warning: resolving %s by linking to %s\n"),
 			   undef->root.string, sym->root.string);
 		    if (! gave_warning_message)
 		      {
@@ -1117,7 +1117,7 @@ make_import_fixup (arelent *rel, asection *s, char *name)
       break;
     }
   if (! suc)
-    einfo (_("%C: Cannot get section contents - auto-import exception\n"),
+    einfo (_("%P: %C: cannot get section contents - auto-import exception\n"),
 	   s->owner, s, rel->address);
 
   if (pep_dll_extra_pe_debug)
@@ -1186,7 +1186,7 @@ pep_find_data_imports (void)
 
 	      if (!bfd_generic_link_read_symbols (b))
 		{
-		  einfo (_("%pB%F: could not read symbols: %E\n"), b);
+		  einfo (_("%F%P: %pB: could not read symbols: %E\n"), b);
 		  return;
 		}
 
@@ -1302,7 +1302,7 @@ write_build_id (bfd *abfd)
   if (!link_order)
     {
       einfo (_("%P: warning: .buildid section discarded,"
-	       " --build-id ignored.\n"));
+	       " --build-id ignored\n"));
       return TRUE;
     }
 
@@ -1374,7 +1374,7 @@ setup_build_id (bfd *ibfd)
 
   if (!validate_build_id_style (emit_build_id))
     {
-      einfo (_("%P: warning: unrecognized --build-id style ignored.\n"));
+      einfo (_("%P: warning: unrecognized --build-id style ignored\n"));
       return FALSE;
     }
 
@@ -1398,8 +1398,8 @@ setup_build_id (bfd *ibfd)
       return TRUE;
     }
 
-  einfo (_("%P: warning: Cannot create .buildid section,"
-	   " --build-id ignored.\n"));
+  einfo (_("%P: warning: cannot create .buildid section,"
+	   " --build-id ignored\n"));
   return FALSE;
 }
 
@@ -1452,7 +1452,7 @@ gld_${EMULATION_NAME}_after_open (void)
 
   if (coff_data (link_info.output_bfd) == NULL
       || coff_data (link_info.output_bfd)->pe == 0)
-    einfo (_("%F%P: cannot perform PE operations on non PE output file '%pB'.\n"),
+    einfo (_("%F%P: cannot perform PE operations on non PE output file '%pB'\n"),
 	   link_info.output_bfd);
 
   pe_data (link_info.output_bfd)->pe_opthdr = pep;
@@ -1562,7 +1562,7 @@ gld_${EMULATION_NAME}_after_open (void)
 
 		    if (!bfd_generic_link_read_symbols (is->the_bfd))
 		      {
-			einfo (_("%pB%F: could not read symbols: %E\n"),
+			einfo (_("%F%P: %pB: could not read symbols: %E\n"),
 			       is->the_bfd);
 			return;
 		      }
@@ -1786,7 +1786,7 @@ gld_${EMULATION_NAME}_unrecognized_file (lang_input_statement_type *entry ATTRIB
 
 	      h = bfd_link_hash_lookup (link_info.hash, buf, TRUE, TRUE, TRUE);
 	      if (h == (struct bfd_link_hash_entry *) NULL)
-		einfo (_("%P%F: bfd_link_hash_lookup failed: %E\n"));
+		einfo (_("%F%P: bfd_link_hash_lookup failed: %E\n"));
 	      if (h->type == bfd_link_hash_new)
 		{
 		  h->type = bfd_link_hash_undefined;
diff --git a/ld/emultempl/ppc32elf.em b/ld/emultempl/ppc32elf.em
index 1b6339e..3c335b7 100644
--- a/ld/emultempl/ppc32elf.em
+++ b/ld/emultempl/ppc32elf.em
@@ -280,48 +280,48 @@ PARSE_AND_LIST_LONGOPTS=${PARSE_AND_LIST_LONGOPTS}'
 
 PARSE_AND_LIST_OPTIONS=${PARSE_AND_LIST_OPTIONS}'
   fprintf (file, _("\
-  --emit-stub-syms            Label linker stubs with a symbol.\n"
+  --emit-stub-syms            Label linker stubs with a symbol\n"
 		   ));
   fprintf (file, _("\
-  --no-emit-stub-syms         Don'\''t label linker stubs with a symbol.\n"
+  --no-emit-stub-syms         Don'\''t label linker stubs with a symbol\n"
 		   ));
   fprintf (file, _("\
-  --no-tls-optimize           Don'\''t try to optimize TLS accesses.\n"
+  --no-tls-optimize           Don'\''t try to optimize TLS accesses\n"
 		   ));
   fprintf (file, _("\
-  --no-tls-get-addr-optimize  Don'\''t use a special __tls_get_addr call.\n"
+  --no-tls-get-addr-optimize  Don'\''t use a special __tls_get_addr call\n"
 		   ));'
 if test -z "$VXWORKS_BASE_EM_FILE" ; then
   PARSE_AND_LIST_OPTIONS=${PARSE_AND_LIST_OPTIONS}'\
   fprintf (file, _("\
-  --secure-plt                Use new-style PLT if possible.\n"
+  --secure-plt                Use new-style PLT if possible\n"
 		   ));
   fprintf (file, _("\
-  --bss-plt                   Force old-style BSS PLT.\n"
+  --bss-plt                   Force old-style BSS PLT\n"
 		   ));
   fprintf (file, _("\
-  --plt-align                 Align PLT call stubs to fit cache lines.\n"
+  --plt-align                 Align PLT call stubs to fit cache lines\n"
 		   ));
   fprintf (file, _("\
-  --no-plt-align              Dont'\''t align individual PLT call stubs.\n"
+  --no-plt-align              Dont'\''t align individual PLT call stubs\n"
 		   ));
   fprintf (file, _("\
-  --sdata-got                 Force GOT location just before .sdata.\n"
+  --sdata-got                 Force GOT location just before .sdata\n"
 		   ));'
 fi
 PARSE_AND_LIST_OPTIONS=${PARSE_AND_LIST_OPTIONS}'\
   fprintf (file, _("\
   --ppc476-workaround [=pagesize]\n\
-                              Avoid a cache bug on ppc476.\n"
+                              Avoid a cache bug on ppc476\n"
 		   ));
   fprintf (file, _("\
-  --no-ppc476-workaround      Disable workaround.\n"
+  --no-ppc476-workaround      Disable workaround\n"
 		   ));
   fprintf (file, _("\
-  --no-pic-fixup              Don'\''t edit non-pic to pic.\n"
+  --no-pic-fixup              Don'\''t edit non-pic to pic\n"
 		   ));
   fprintf (file, _("\
-  --vle-reloc-fixup           Correct old object file 16A/16D relocation.\n"
+  --vle-reloc-fixup           Correct old object file 16A/16D relocation\n"
 		   ));
 '
 
@@ -356,7 +356,7 @@ PARSE_AND_LIST_ARGS_CASES=${PARSE_AND_LIST_ARGS_CASES}'
 	  char *end;
 	  unsigned long val = strtoul (optarg, &end, 0);
 	  if (*end || val > 5)
-	    einfo (_("%P%F: invalid --plt-align `%s'\''\n"), optarg);
+	    einfo (_("%F%P: invalid --plt-align `%s'\''\n"), optarg);
 	  params.plt_stub_align = val;
 	}
       else
@@ -385,7 +385,7 @@ PARSE_AND_LIST_ARGS_CASES=${PARSE_AND_LIST_ARGS_CASES}'
 	  if (*end
 	      || (params.pagesize < 4096 && params.pagesize != 0)
 	      || params.pagesize != (params.pagesize & -params.pagesize))
-	    einfo (_("%P%F: invalid pagesize `%s'\''\n"), optarg);
+	    einfo (_("%F%P: invalid pagesize `%s'\''\n"), optarg);
 	}
       break;
 
diff --git a/ld/emultempl/ppc64elf.em b/ld/emultempl/ppc64elf.em
index 0f8062a..62c298c 100644
--- a/ld/emultempl/ppc64elf.em
+++ b/ld/emultempl/ppc64elf.em
@@ -751,34 +751,34 @@ PARSE_AND_LIST_OPTIONS=${PARSE_AND_LIST_OPTIONS}'
                                 choose suitable defaults.\n"
 		   ));
   fprintf (file, _("\
-  --plt-static-chain          PLT call stubs should load r11.'${DEFAULT_PLT_STATIC_CHAIN- (default)}'\n"
+  --plt-static-chain          PLT call stubs should load r11'${DEFAULT_PLT_STATIC_CHAIN- (default)}'\n"
 		   ));
   fprintf (file, _("\
-  --no-plt-static-chain       PLT call stubs should not load r11.'${DEFAULT_PLT_STATIC_CHAIN+ (default)}'\n"
+  --no-plt-static-chain       PLT call stubs should not load r11'${DEFAULT_PLT_STATIC_CHAIN+ (default)}'\n"
 		   ));
   fprintf (file, _("\
-  --plt-thread-safe           PLT call stubs with load-load barrier.\n"
+  --plt-thread-safe           PLT call stubs with load-load barrier\n"
 		   ));
   fprintf (file, _("\
-  --no-plt-thread-safe        PLT call stubs without barrier.\n"
+  --no-plt-thread-safe        PLT call stubs without barrier\n"
 		   ));
   fprintf (file, _("\
-  --plt-align [=<align>]      Align PLT call stubs to fit cache lines.\n"
+  --plt-align [=<align>]      Align PLT call stubs to fit cache lines\n"
 		   ));
   fprintf (file, _("\
-  --no-plt-align              Dont'\''t align individual PLT call stubs.\n"
+  --no-plt-align              Dont'\''t align individual PLT call stubs\n"
 		   ));
   fprintf (file, _("\
-  --plt-localentry            Optimize calls to ELFv2 localentry:0 functions.\n"
+  --plt-localentry            Optimize calls to ELFv2 localentry:0 functions\n"
 		   ));
   fprintf (file, _("\
-  --no-plt-localentry         Don'\''t optimize ELFv2 calls.\n"
+  --no-plt-localentry         Don'\''t optimize ELFv2 calls\n"
 		   ));
   fprintf (file, _("\
-  --emit-stub-syms            Label linker stubs with a symbol.\n"
+  --emit-stub-syms            Label linker stubs with a symbol\n"
 		   ));
   fprintf (file, _("\
-  --no-emit-stub-syms         Don'\''t label linker stubs with a symbol.\n"
+  --no-emit-stub-syms         Don'\''t label linker stubs with a symbol\n"
 		   ));
   fprintf (file, _("\
   --dotsyms                   For every version pattern \"foo\" in a version\n\
@@ -787,7 +787,7 @@ PARSE_AND_LIST_OPTIONS=${PARSE_AND_LIST_OPTIONS}'
                                 descriptor symbols.  Defaults to on.\n"
 		   ));
   fprintf (file, _("\
-  --no-dotsyms                Don'\''t do anything special in version scripts.\n"
+  --no-dotsyms                Don'\''t do anything special in version scripts\n"
 		   ));
   fprintf (file, _("\
   --save-restore-funcs        Provide register save and restore routines used\n\
@@ -795,32 +795,32 @@ PARSE_AND_LIST_OPTIONS=${PARSE_AND_LIST_OPTIONS}'
                                 final link, off for ld -r.\n"
 		   ));
   fprintf (file, _("\
-  --no-save-restore-funcs     Don'\''t provide these routines.\n"
+  --no-save-restore-funcs     Don'\''t provide these routines\n"
 		   ));
   fprintf (file, _("\
-  --no-tls-optimize           Don'\''t try to optimize TLS accesses.\n"
+  --no-tls-optimize           Don'\''t try to optimize TLS accesses\n"
 		   ));
   fprintf (file, _("\
-  --tls-get-addr-optimize     Force use of special __tls_get_addr call.\n"
+  --tls-get-addr-optimize     Force use of special __tls_get_addr call\n"
 		   ));
   fprintf (file, _("\
-  --no-tls-get-addr-optimize  Don'\''t use a special __tls_get_addr call.\n"
+  --no-tls-get-addr-optimize  Don'\''t use a special __tls_get_addr call\n"
 		   ));
   fprintf (file, _("\
-  --no-opd-optimize           Don'\''t optimize the OPD section.\n"
+  --no-opd-optimize           Don'\''t optimize the OPD section\n"
 		   ));
   fprintf (file, _("\
-  --no-toc-optimize           Don'\''t optimize the TOC section.\n"
+  --no-toc-optimize           Don'\''t optimize the TOC section\n"
 		   ));
   fprintf (file, _("\
-  --no-multi-toc              Disallow automatic multiple toc sections.\n"
+  --no-multi-toc              Disallow automatic multiple toc sections\n"
 		   ));
   fprintf (file, _("\
-  --no-toc-sort               Don'\''t sort TOC and GOT sections.\n"
+  --no-toc-sort               Don'\''t sort TOC and GOT sections\n"
 		   ));
   fprintf (file, _("\
   --non-overlapping-opd       Canonicalize .opd, so that there are no\n\
-                                overlapping .opd entries.\n"
+                                overlapping .opd entries\n"
 		   ));
 '
 
@@ -830,7 +830,7 @@ PARSE_AND_LIST_ARGS_CASES=${PARSE_AND_LIST_ARGS_CASES}'
 	const char *end;
 	params.group_size = bfd_scan_vma (optarg, &end, 0);
 	if (*end)
-	  einfo (_("%P%F: invalid number `%s'\''\n"), optarg);
+	  einfo (_("%F%P: invalid number `%s'\''\n"), optarg);
       }
       break;
 
@@ -856,7 +856,7 @@ PARSE_AND_LIST_ARGS_CASES=${PARSE_AND_LIST_ARGS_CASES}'
 	  char *end;
 	  long val = strtol (optarg, &end, 0);
 	  if (*end || (unsigned long) val + 8 > 16)
-	    einfo (_("%P%F: invalid --plt-align `%s'\''\n"), optarg);
+	    einfo (_("%F%P: invalid --plt-align `%s'\''\n"), optarg);
 	  params.plt_stub_align = val;
 	}
       else
diff --git a/ld/emultempl/scoreelf.em b/ld/emultempl/scoreelf.em
index 9774772..88f0c45 100644
--- a/ld/emultempl/scoreelf.em
+++ b/ld/emultempl/scoreelf.em
@@ -52,8 +52,8 @@ score_elf_after_open (void)
 	 These will only be created if the output format is an score format,
 	 hence we do not support linking and changing output formats at the
 	 same time.  Use a link followed by objcopy to change output formats.  */
-      einfo (_("%F%X%P: error: cannot change output format "
-	       "whilst linking S+core binaries\n"));
+      einfo (_("%F%P: error: cannot change output format "
+	       "whilst linking %s binaries\n"), "S+core");
       return;
     }
 
diff --git a/ld/emultempl/sh64elf.em b/ld/emultempl/sh64elf.em
index 7e3f680..1fe94da 100644
--- a/ld/emultempl/sh64elf.em
+++ b/ld/emultempl/sh64elf.em
@@ -66,7 +66,7 @@ sh64_elf_${EMULATION_NAME}_before_allocation (void)
 	     also look through incoming relocs and kill the ones marking
 	     relaxation areas, but that wouldn't be TRT.  */
 	  einfo
-	    (_("%P: Sorry, turning off relaxing: .cranges section in input.\n"));
+	    (_("%P: sorry, turning off relaxing: .cranges section in input\n"));
 	  einfo (_(" A .cranges section is present in:\n"));
 
 	  {
@@ -104,7 +104,7 @@ sh64_elf_${EMULATION_NAME}_before_allocation (void)
 		  if (elf_section_data (isec)->this_hdr.sh_flags
 		      & (SHF_SH5_ISA32 | SHF_SH5_ISA32_MIXED))
 		    {
-		      einfo (_("%P: Sorry, turning off relaxing: SHmedia sections present.\n"));
+		      einfo (_("%P: sorry, turning off relaxing: SHmedia sections present\n"));
 		      einfo ("  %pI\n", f);
 		      DISABLE_RELAXATION;
 		      goto done_scanning_shmedia_sections;
@@ -127,7 +127,7 @@ sh64_elf_${EMULATION_NAME}_before_allocation (void)
       bfd_vma iflags_isa = 0;
 
       if (bfd_get_flavour (link_info.output_bfd) != bfd_target_elf_flavour)
-	einfo (_("%FError: non-ELF output formats are not supported by this target's linker.\n"));
+	einfo (_("%F%P: error: non-ELF output formats are not supported by this target's linker\n"));
 
       sh64_sec_data = sh64_elf_section_data (osec)->sh64_info;
 
@@ -210,7 +210,7 @@ sh64_elf_${EMULATION_NAME}_before_allocation (void)
 							     | SEC_DEBUGGING);
 			    if (cranges == NULL)
 			      einfo
-				(_("%P%E%F: Can't make .cranges section\n"));
+				(_("%F%P: can't make .cranges section: %E\n"));
 			  }
 
 			/* We don't need to look at more input sections,
@@ -496,7 +496,7 @@ sh64_elf_${EMULATION_NAME}_after_allocation (void)
 
 			if (cr_addr_order == NULL)
 			  {
-			    einfo (_("%P%F: bfd_new_link_order failed\n"));
+			    einfo (_("%F%P: bfd_new_link_order failed\n"));
 			    return;
 			  }
 
diff --git a/ld/emultempl/spuelf.em b/ld/emultempl/spuelf.em
index 90c8531..a40605d 100644
--- a/ld/emultempl/spuelf.em
+++ b/ld/emultempl/spuelf.em
@@ -641,32 +641,51 @@ PARSE_AND_LIST_LONGOPTS='
 
 PARSE_AND_LIST_OPTIONS='
   fprintf (file, _("\
-  --plugin                    Make SPU plugin.\n\
-  --no-overlays               No overlay handling.\n\
-  --compact-stubs             Use smaller and possibly slower call stubs.\n\
-  --emit-stub-syms            Add symbols on overlay call stubs.\n\
-  --extra-overlay-stubs       Add stubs on all calls out of overlay regions.\n\
-  --local-store=lo:hi         Valid address range.\n\
-  --stack-analysis            Estimate maximum stack requirement.\n\
-  --emit-stack-syms           Add sym giving stack needed for each func.\n\
+  --plugin                    Make SPU plugin\n"));
+  fprintf (file, _("\
+  --no-overlays               No overlay handling\n"));
+  fprintf (file, _("\
+  --compact-stubs             Use smaller and possibly slower call stubs\n"));
+  fprintf (file, _("\
+  --emit-stub-syms            Add symbols on overlay call stubs\n"));
+  fprintf (file, _("\
+  --extra-overlay-stubs       Add stubs on all calls out of overlay regions\n"));
+  fprintf (file, _("\
+  --local-store=lo:hi         Valid address range\n"));
+  fprintf (file, _("\
+  --stack-analysis            Estimate maximum stack requirement\n"));
+  fprintf (file, _("\
+  --emit-stack-syms           Add sym giving stack needed for each func\n"));
+  fprintf (file, _("\
   --auto-overlay [=filename]  Create an overlay script in filename if\n\
-                              executable does not fit in local store.\n\
-  --auto-relink               Rerun linker using auto-overlay script.\n\
+                                executable does not fit in local store\n"));
+  fprintf (file, _("\
+  --auto-relink               Rerun linker using auto-overlay script\n"));
+  fprintf (file, _("\
   --overlay-rodata            Place read-only data with associated function\n\
-                              code in overlays.\n\
-  --num-regions               Number of overlay buffers (default 1).\n\
-  --region-size               Size of overlay buffers (default 0, auto).\n\
-  --fixed-space=bytes         Local store for non-overlay code and data.\n\
+                                code in overlays\n"));
+  fprintf (file, _("\
+  --num-regions               Number of overlay buffers (default 1)\n"));
+  fprintf (file, _("\
+  --region-size               Size of overlay buffers (default 0, auto)\n"));
+  fprintf (file, _("\
+  --fixed-space=bytes         Local store for non-overlay code and data\n"));
+  fprintf (file, _("\
   --reserved-space=bytes      Local store for stack and heap.  If not specified\n\
-                              ld will estimate stack size and assume no heap.\n\
+                                ld will estimate stack size and assume no heap\n"));
+  fprintf (file, _("\
   --extra-stack-space=bytes   Space for negative sp access (default 2000) if\n\
-                              --reserved-space not given.\n\
-  --soft-icache               Generate software icache overlays.\n\
-  --num-lines                 Number of soft-icache lines (default 32).\n\
-  --line-size                 Size of soft-icache lines (default 1k).\n\
-  --non-ia-text               Allow non-icache code in icache lines.\n\
-  --lrlive-analysis           Scan function prologue for lr liveness.\n"
-		   ));
+                                --reserved-space not given\n"));
+  fprintf (file, _("\
+  --soft-icache               Generate software icache overlays\n"));
+  fprintf (file, _("\
+  --num-lines                 Number of soft-icache lines (default 32)\n"));
+  fprintf (file, _("\
+  --line-size                 Size of soft-icache lines (default 1k)\n"));
+  fprintf (file, _("\
+  --non-ia-text               Allow non-icache code in icache lines\n"));
+  fprintf (file, _("\
+  --lrlive-analysis           Scan function prologue for lr liveness\n"));
 '
 
 PARSE_AND_LIST_ARGS_CASES='
@@ -700,7 +719,7 @@ PARSE_AND_LIST_ARGS_CASES='
 	    if (*end == 0)
 	      break;
 	  }
-	einfo (_("%P%F: invalid --local-store address range `%s'\''\n"), optarg);
+	einfo (_("%F%P: invalid --local-store address range `%s'\''\n"), optarg);
       }
       break;
 
@@ -736,12 +755,12 @@ PARSE_AND_LIST_ARGS_CASES='
       if (!num_lines_set)
 	params.num_lines = 32;
       else if ((params.num_lines & -params.num_lines) != params.num_lines)
-	einfo (_("%P%F: invalid --num-lines/--num-regions `%u'\''\n"),
+	einfo (_("%F%P: invalid --num-lines/--num-regions `%u'\''\n"),
 	       params.num_lines);
       if (!line_size_set)
 	params.line_size = 1024;
       else if ((params.line_size & -params.line_size) != params.line_size)
-	einfo (_("%P%F: invalid --line-size/--region-size `%u'\''\n"),
+	einfo (_("%F%P: invalid --line-size/--region-size `%u'\''\n"),
 	       params.line_size);
       break;
 
@@ -762,7 +781,7 @@ PARSE_AND_LIST_ARGS_CASES='
 	    && (params.ovly_flavour != ovly_soft_icache
 		|| (params.num_lines & -params.num_lines) == params.num_lines))
 	  break;
-	einfo (_("%P%F: invalid --num-lines/--num-regions `%s'\''\n"), optarg);
+	einfo (_("%F%P: invalid --num-lines/--num-regions `%s'\''\n"), optarg);
       }
       break;
 
@@ -775,7 +794,7 @@ PARSE_AND_LIST_ARGS_CASES='
 	    && (params.ovly_flavour != ovly_soft_icache
 		|| (params.line_size & -params.line_size) == params.line_size))
 	  break;
-	einfo (_("%P%F: invalid --line-size/--region-size `%s'\''\n"), optarg);
+	einfo (_("%F%P: invalid --line-size/--region-size `%s'\''\n"), optarg);
       }
       break;
 
@@ -784,7 +803,7 @@ PARSE_AND_LIST_ARGS_CASES='
 	char *end;
 	params.auto_overlay_fixed = strtoul (optarg, &end, 0);
 	if (*end != 0)
-	  einfo (_("%P%F: invalid --fixed-space value `%s'\''\n"), optarg);
+	  einfo (_("%F%P: invalid --fixed-space value `%s'\''\n"), optarg);
       }
       break;
 
@@ -793,7 +812,7 @@ PARSE_AND_LIST_ARGS_CASES='
 	char *end;
 	params.auto_overlay_reserved = strtoul (optarg, &end, 0);
 	if (*end != 0)
-	  einfo (_("%P%F: invalid --reserved-space value `%s'\''\n"), optarg);
+	  einfo (_("%F%P: invalid --reserved-space value `%s'\''\n"), optarg);
       }
       break;
 
@@ -802,7 +821,7 @@ PARSE_AND_LIST_ARGS_CASES='
 	char *end;
 	params.extra_stack_space = strtol (optarg, &end, 0);
 	if (*end != 0)
-	  einfo (_("%P%F: invalid --extra-stack-space value `%s'\''\n"), optarg);
+	  einfo (_("%F%P: invalid --extra-stack-space value `%s'\''\n"), optarg);
       }
       break;
 
diff --git a/ld/emultempl/sunos.em b/ld/emultempl/sunos.em
index daa94ef..173069b 100644
--- a/ld/emultempl/sunos.em
+++ b/ld/emultempl/sunos.em
@@ -427,7 +427,7 @@ gld${EMULATION_NAME}_after_open (void)
 	    {
 	      /* We've found the needed dynamic object.  */
 	      if (! bfd_link_add_symbols (abfd, &link_info))
-		einfo (_("%F%pB: error adding symbols: %E\n"), abfd);
+		einfo (_("%F%P: %pB: error adding symbols: %E\n"), abfd);
 	    }
 	  else
 	    {
@@ -574,7 +574,7 @@ gld${EMULATION_NAME}_try_needed (const char *dir, const char *name)
 
   /* Add this file into the symbol table.  */
   if (! bfd_link_add_symbols (abfd, &link_info))
-    einfo (_("%F%pB: error adding symbols: %E\n"), abfd);
+    einfo (_("%F%P: %pB: error adding symbols: %E\n"), abfd);
 
   return TRUE;
 }
@@ -717,10 +717,10 @@ gld${EMULATION_NAME}_before_allocation (void)
       hdyn = bfd_link_hash_lookup (link_info.hash, "__DYNAMIC", TRUE, FALSE,
 				   FALSE);
       if (hdyn == NULL)
-	einfo (_("%P%F: bfd_link_hash_lookup: %E\n"));
+	einfo (_("%F%P: bfd_link_hash_lookup: %E\n"));
       if (! bfd_sunos_record_link_assignment (link_info.output_bfd, &link_info,
 					      "__DYNAMIC"))
-	einfo (_("%P%F: failed to record assignment to __DYNAMIC: %E\n"));
+	einfo (_("%F%P: failed to record assignment to __DYNAMIC: %E\n"));
     }
 
   /* If we are going to make any variable assignments, we need to let
@@ -732,7 +732,7 @@ gld${EMULATION_NAME}_before_allocation (void)
      required by dynamic linking.  */
   if (! bfd_sunos_size_dynamic_sections (link_info.output_bfd, &link_info,
 					 &sdyn, &sneed, &srules))
-    einfo (_("%P%F: failed to set dynamic section sizes: %E\n"));
+    einfo (_("%F%P: failed to set dynamic section sizes: %E\n"));
 
   if (sneed != NULL)
     {
@@ -853,7 +853,7 @@ gld${EMULATION_NAME}_find_exp_assignment (etree_type *exp)
 	  if (! bfd_sunos_record_link_assignment (link_info.output_bfd,
 						  &link_info,
 						  exp->assign.dst))
-	    einfo (_("%P%F: failed to record assignment to %s: %E\n"),
+	    einfo (_("%F%P: failed to record assignment to %s: %E\n"),
 		   exp->assign.dst);
 	}
       gld${EMULATION_NAME}_find_exp_assignment (exp->assign.src);
diff --git a/ld/emultempl/tic6xdsbt.em b/ld/emultempl/tic6xdsbt.em
index 4b46db5..c40b7be 100644
--- a/ld/emultempl/tic6xdsbt.em
+++ b/ld/emultempl/tic6xdsbt.em
@@ -60,7 +60,7 @@ tic6x_after_open (void)
     {
       if (params.dsbt_index >= params.dsbt_size)
 	{
-	  einfo (_("%P%F: invalid --dsbt-index %d, outside DSBT size.\n"),
+	  einfo (_("%F%P: invalid --dsbt-index %d, outside DSBT size\n"),
 		 params.dsbt_index);
 	}
       elf32_tic6x_setup (&link_info, &params);
@@ -178,11 +178,10 @@ PARSE_AND_LIST_LONGOPTS='
 '
 
 PARSE_AND_LIST_OPTIONS='
-  fprintf (file, _("  --dsbt-index <index>\n"));
-  fprintf (file, _("\t\t\tUse this as the DSBT index for the output object\n"));
-  fprintf (file, _("  --dsbt-size <index>\n"));
-  fprintf (file, _("\t\t\tUse this as the number of entries in the DSBT table\n"));
-  fprintf (file, _("  --no-merge-exidx-entries    Disable merging exidx entries\n"));
+  fprintf (file, _("  --dsbt-index <index>    Use this as the DSBT index for the output object\n"));
+  fprintf (file, _("  --dsbt-size <index>     Use this as the number of entries in the DSBT table\n"));
+  fprintf (file, _("  --no-merge-exidx-entries\n"));
+  fprintf (file, _("                          Disable merging exidx entries\n"));
 '
 
 PARSE_AND_LIST_ARGS_CASES='
@@ -193,7 +192,7 @@ PARSE_AND_LIST_ARGS_CASES='
 	if (*end == 0
 	    && params.dsbt_index >= 0 && params.dsbt_index < 0x7fff)
 	  break;
-	einfo (_("%P%F: invalid --dsbt-index %s\n"), optarg);
+	einfo (_("%F%P: invalid --dsbt-index %s\n"), optarg);
       }
       break;
     case OPTION_DSBT_SIZE:
@@ -203,7 +202,7 @@ PARSE_AND_LIST_ARGS_CASES='
 	if (*end == 0
 	    && params.dsbt_size >= 0 && params.dsbt_size < 0x7fff)
 	  break;
-	einfo (_("%P%F: invalid --dsbt-size %s\n"), optarg);
+	einfo (_("%F%P: invalid --dsbt-size %s\n"), optarg);
       }
       break;
    case OPTION_NO_MERGE_EXIDX_ENTRIES:
diff --git a/ld/emultempl/ticoff.em b/ld/emultempl/ticoff.em
index 961edd2..dba6051 100644
--- a/ld/emultempl/ticoff.em
+++ b/ld/emultempl/ticoff.em
@@ -87,7 +87,7 @@ gld${EMULATION_NAME}_handle_option (int optc)
 	}
       else
 	{
-	  einfo (_("%P%F: invalid COFF format version %s\n"), optarg);
+	  einfo (_("%F%P: invalid COFF format version %s\n"), optarg);
 	}
       break;
     }
diff --git a/ld/emultempl/v850elf.em b/ld/emultempl/v850elf.em
index 5f86e68..7d7ed94 100644
--- a/ld/emultempl/v850elf.em
+++ b/ld/emultempl/v850elf.em
@@ -62,8 +62,8 @@ v850_create_output_section_statements (void)
 	 These will only be created if the output format is an arm format,
 	 hence we do not support linking and changing output formats at the
 	 same time.  Use a link followed by objcopy to change output formats.  */
-      einfo (_("%F%X%P: error: Cannot change output format (to %s) whilst linking V850 binaries.\n"),
-	     bfd_get_target (link_info.output_bfd));
+      einfo (_("%F%P: error: cannot change output format"
+	       " whilst linking %s binaries\n"), "V850");
       return;
     }
 }
diff --git a/ld/emultempl/vms.em b/ld/emultempl/vms.em
index 79ee076..1df0823 100644
--- a/ld/emultempl/vms.em
+++ b/ld/emultempl/vms.em
@@ -199,7 +199,7 @@ gld${EMULATION_NAME}_before_allocation (void)
       && bed->elf_backend_size_dynamic_sections
       && ! (*bed->elf_backend_size_dynamic_sections) (link_info.output_bfd,
 						      &link_info))
-    einfo (_("%P%F: failed to set dynamic section sizes: %E\n"));
+    einfo (_("%F%P: failed to set dynamic section sizes: %E\n"));
 
   before_allocation_default ();
 }
diff --git a/ld/emultempl/vxworks.em b/ld/emultempl/vxworks.em
index a57c486..95da9e6 100644
--- a/ld/emultempl/vxworks.em
+++ b/ld/emultempl/vxworks.em
@@ -44,13 +44,13 @@ vxworks_after_open (void)
       && bfd_get_flavour (link_info.output_bfd) == bfd_target_elf_flavour
       && !_bfd_elf_link_create_dynamic_sections (link_info.input_bfds,
 						 &link_info))
-    einfo (_("%X%P: Cannot create dynamic sections %E\n"));
+    einfo (_("%X%P: cannot create dynamic sections %E\n"));
 
   if (!force_dynamic
       && !bfd_link_pic (&link_info)
       && bfd_get_flavour (link_info.output_bfd) == bfd_target_elf_flavour
       && elf_hash_table (&link_info)->dynamic_sections_created)
-    einfo (_("%X%P: Dynamic sections created in non-dynamic link\n"));
+    einfo (_("%X%P: dynamic sections created in non-dynamic link\n"));
 }
 
 EOF
diff --git a/ld/emultempl/xtensaelf.em b/ld/emultempl/xtensaelf.em
index b88f5f1..7b04a7a 100644
--- a/ld/emultempl/xtensaelf.em
+++ b/ld/emultempl/xtensaelf.em
@@ -384,7 +384,7 @@ check_xtensa_info (bfd *abfd, asection *info_sec)
 
   data = xmalloc (info_sec->size);
   if (! bfd_get_section_contents (abfd, info_sec, data, 0, info_sec->size))
-    einfo (_("%F%P:%pB: cannot read contents of section %pA\n"), abfd, info_sec);
+    einfo (_("%F%P: %pB: cannot read contents of section %pA\n"), abfd, info_sec);
 
   if (info_sec->size > 24
       && info_sec->size >= 24 + bfd_get_32 (abfd, data + 4)
@@ -395,11 +395,11 @@ check_xtensa_info (bfd *abfd, asection *info_sec)
 					  &mismatch, &errmsg))
     {
       if (mismatch)
-	einfo (_("%P:%pB: warning: incompatible Xtensa configuration (%s)\n"),
+	einfo (_("%P: %pB: warning: incompatible Xtensa configuration (%s)\n"),
 	       abfd, errmsg);
     }
   else
-    einfo (_("%P:%pB: warning: cannot parse .xtensa.info section\n"), abfd);
+    einfo (_("%P: %pB: warning: cannot parse .xtensa.info section\n"), abfd);
 
   free (data);
 }
diff --git a/ld/ldcref.c b/ld/ldcref.c
index ccf7a70..01d3b53 100644
--- a/ld/ldcref.c
+++ b/ld/ldcref.c
@@ -514,7 +514,7 @@ check_local_sym_xref (lang_input_statement_type *statement)
     return;
 
   if (!bfd_generic_link_read_symbols (abfd))
-    einfo (_("%pB%F: could not read symbols: %E\n"), abfd);
+    einfo (_("%F%P: %pB: could not read symbols: %E\n"), abfd);
 
   for (syms = bfd_get_outsymbols (abfd); *syms; ++syms)
     {
@@ -625,7 +625,7 @@ check_refs (const char *name,
      BFD might contain a prohibited cross reference.  */
 
   if (!bfd_generic_link_read_symbols (abfd))
-    einfo (_("%pB%F: could not read symbols: %E\n"), abfd);
+    einfo (_("%F%P: %pB: could not read symbols: %E\n"), abfd);
 
   info.sym_name = name;
   info.global = global;
@@ -687,14 +687,14 @@ check_reloc_refs (bfd *abfd, asection *sec, void *iarg)
 
   relsize = bfd_get_reloc_upper_bound (abfd, sec);
   if (relsize < 0)
-    einfo (_("%pB%F: could not read relocs: %E\n"), abfd);
+    einfo (_("%F%P: %pB: could not read relocs: %E\n"), abfd);
   if (relsize == 0)
     return;
 
   relpp = (arelent **) xmalloc (relsize);
   relcount = bfd_canonicalize_reloc (abfd, sec, relpp, info->asymbols);
   if (relcount < 0)
-    einfo (_("%pB%F: could not read relocs: %E\n"), abfd);
+    einfo (_("%F%P: %pB: could not read relocs: %E\n"), abfd);
 
   p = relpp;
   pend = p + relcount;
@@ -721,7 +721,7 @@ check_reloc_refs (bfd *abfd, asection *sec, void *iarg)
 	     in OUTSECNAME.  This reloc is from a section which is
 	     mapped into a section from which references to OUTSECNAME
 	     are prohibited.  We must report an error.  */
-	  einfo (_("%X%C: prohibited cross reference from %s to `%pT' in %s\n"),
+	  einfo (_("%X%P: %C: prohibited cross reference from %s to `%pT' in %s\n"),
 		 abfd, sec, q->address, outsecname,
 		 bfd_asymbol_name (*q->sym_ptr_ptr), outdefsecname);
 	}
diff --git a/ld/ldctor.c b/ld/ldctor.c
index 723d01d..5fd6502 100644
--- a/ld/ldctor.c
+++ b/ld/ldctor.c
@@ -80,7 +80,7 @@ ldctor_add_set_entry (struct bfd_link_hash_entry *h,
     {
       if (p->reloc != reloc)
 	{
-	  einfo (_("%P%X: Different relocs used in set %s\n"),
+	  einfo (_("%X%P: different relocs used in set %s\n"),
 		 h->root.string);
 	  return;
 	}
@@ -98,7 +98,7 @@ ldctor_add_set_entry (struct bfd_link_hash_entry *h,
 	  && strcmp (bfd_get_target (section->owner),
 		     bfd_get_target (p->elements->section->owner)) != 0)
 	{
-	  einfo (_("%P%X: Different object file formats composing set %s\n"),
+	  einfo (_("%X%P: different object file formats composing set %s\n"),
 		 h->root.string);
 	  return;
 	}
@@ -276,7 +276,7 @@ ldctor_build_sets (void)
 	{
 	  if (bfd_link_relocatable (&link_info))
 	    {
-	      einfo (_("%P%X: %s does not support reloc %s for set %s\n"),
+	      einfo (_("%X%P: %s does not support reloc %s for set %s\n"),
 		     bfd_get_target (link_info.output_bfd),
 		     bfd_get_reloc_code_name (p->reloc),
 		     p->h->root.string);
@@ -292,12 +292,12 @@ ldctor_build_sets (void)
 	    {
 	      /* See PR 20911 for a reproducer.  */
 	      if (p->elements->section->owner == NULL)
-		einfo (_("%P%X: Special section %s does not support reloc %s for set %s\n"),
+		einfo (_("%X%P: special section %s does not support reloc %s for set %s\n"),
 		       bfd_get_section_name (link_info.output_bfd, p->elements->section),
 		       bfd_get_reloc_code_name (p->reloc),
 		       p->h->root.string);
 	      else
-		einfo (_("%P%X: %s does not support reloc %s for set %s\n"),
+		einfo (_("%X%P: %s does not support reloc %s for set %s\n"),
 		       bfd_get_target (p->elements->section->owner),
 		       bfd_get_reloc_code_name (p->reloc),
 		       p->h->root.string);
@@ -318,7 +318,7 @@ ldctor_build_sets (void)
 	    size = QUAD;
 	  break;
 	default:
-	  einfo (_("%P%X: Unsupported size %d for set %s\n"),
+	  einfo (_("%X%P: unsupported size %d for set %s\n"),
 		 bfd_get_reloc_size (howto), p->h->root.string);
 	  size = LONG;
 	  break;
diff --git a/ld/ldexp.c b/ld/ldexp.c
index a44a4fe..f9dc362 100644
--- a/ld/ldexp.c
+++ b/ld/ldexp.c
@@ -280,7 +280,7 @@ definedness_newfunc (struct bfd_hash_entry *entry,
       bfd_hash_allocate (table, sizeof (struct definedness_hash_entry));
 
   if (ret == NULL)
-    einfo (_("%P%F: bfd_hash_allocate failed creating symbol %s\n"), name);
+    einfo (_("%F%P: bfd_hash_allocate failed creating symbol %s\n"), name);
 
   ret->by_object = 0;
   ret->iteration = 0;
@@ -311,7 +311,7 @@ update_definedness (const char *name, struct bfd_link_hash_entry *h)
     bfd_hash_lookup (&definedness_table, name, TRUE, FALSE);
 
   if (defentry == NULL)
-    einfo (_("%P%F: bfd_hash_lookup failed creating symbol %s\n"), name);
+    einfo (_("%F%P: bfd_hash_lookup failed creating symbol %s\n"), name);
 
   /* If the symbol was already defined, and not by a script, then it
      must be defined by an object file or by the linker target code.  */
@@ -624,7 +624,7 @@ fold_binary (etree_type *tree)
 	    expld.result.value = ((bfd_signed_vma) lhs.value
 				  % (bfd_signed_vma) expld.result.value);
 	  else if (expld.phase != lang_mark_phase_enum)
-	    einfo (_("%F%pS %% by zero\n"), tree->binary.rhs);
+	    einfo (_("%F%P:%pS %% by zero\n"), tree->binary.rhs);
 	  arith_result_section (&lhs);
 	  break;
 
@@ -633,7 +633,7 @@ fold_binary (etree_type *tree)
 	    expld.result.value = ((bfd_signed_vma) lhs.value
 				  / (bfd_signed_vma) expld.result.value);
 	  else if (expld.phase != lang_mark_phase_enum)
-	    einfo (_("%F%pS / by zero\n"), tree->binary.rhs);
+	    einfo (_("%F%P:%pS / by zero\n"), tree->binary.rhs);
 	  arith_result_section (&lhs);
 	  break;
 
@@ -742,7 +742,7 @@ fold_name (etree_type *tree)
 					    tree->name.name,
 					    TRUE, FALSE, TRUE);
 	  if (!h)
-	    einfo (_("%P%F: bfd_link_hash_lookup failed: %E\n"));
+	    einfo (_("%F%P: bfd_link_hash_lookup failed: %E\n"));
 	  else if (h->type == bfd_link_hash_defined
 		   || h->type == bfd_link_hash_defweak)
 	    {
@@ -754,7 +754,7 @@ fold_name (etree_type *tree)
 		  if (expld.phase <= lang_mark_phase_enum)
 		    new_rel (h->u.def.value, h->u.def.section);
 		  else
-		    einfo (_("%X%pS: unresolvable symbol `%s'"
+		    einfo (_("%X%P:%pS: unresolvable symbol `%s'"
 			     " referenced in expression\n"),
 			   tree, tree->name.name);
 		}
@@ -769,7 +769,7 @@ fold_name (etree_type *tree)
 	  else if (expld.phase == lang_final_phase_enum
 		   || (expld.phase != lang_mark_phase_enum
 		       && expld.assigning_to_dot))
-	    einfo (_("%F%pS: undefined symbol `%s'"
+	    einfo (_("%F%P:%pS: undefined symbol `%s'"
 		     " referenced in expression\n"),
 		   tree, tree->name.name);
 	  else if (h->type == bfd_link_hash_new)
@@ -795,7 +795,7 @@ fold_name (etree_type *tree)
 	  if (os == NULL)
 	    {
 	      if (expld.phase == lang_final_phase_enum)
-		einfo (_("%F%pS: undefined section `%s'"
+		einfo (_("%F%P:%pS: undefined section `%s'"
 			 " referenced in expression\n"),
 		       tree, tree->name.name);
 	    }
@@ -813,7 +813,7 @@ fold_name (etree_type *tree)
 	  if (os == NULL)
 	    {
 	      if (expld.phase == lang_final_phase_enum)
-		einfo (_("%F%pS: undefined section `%s'"
+		einfo (_("%F%P:%pS: undefined section `%s'"
 			 " referenced in expression\n"),
 		       tree, tree->name.name);
 	    }
@@ -841,7 +841,7 @@ fold_name (etree_type *tree)
 	  if (os == NULL)
 	    {
 	      if (expld.phase == lang_final_phase_enum)
-		einfo (_("%F%pS: undefined section `%s'"
+		einfo (_("%F%P:%pS: undefined section `%s'"
 			 " referenced in expression\n"),
 		       tree, tree->name.name);
 	      new_number (0);
@@ -873,7 +873,7 @@ fold_name (etree_type *tree)
 	  if (mem != NULL)
 	    new_number (mem->length);
 	  else
-	    einfo (_("%F%pS: undefined MEMORY region `%s'"
+	    einfo (_("%F%P:%pS: undefined MEMORY region `%s'"
 		     " referenced in expression\n"),
 		   tree, tree->name.name);
 	}
@@ -889,7 +889,7 @@ fold_name (etree_type *tree)
 	  if (mem != NULL)
 	    new_rel_from_abs (mem->origin);
 	  else
-	    einfo (_("%F%pS: undefined MEMORY region `%s'"
+	    einfo (_("%F%P:%pS: undefined MEMORY region `%s'"
 		     " referenced in expression\n"),
 		   tree, tree->name.name);
 	}
@@ -901,7 +901,7 @@ fold_name (etree_type *tree)
       else if (strcmp (tree->name.name, "COMMONPAGESIZE") == 0)
 	new_number (config.commonpagesize);
       else
-	einfo (_("%F%pS: unknown constant `%s' referenced in expression\n"),
+	einfo (_("%F%P:%pS: unknown constant `%s' referenced in expression\n"),
 	       tree, tree->name.name);
       break;
 
@@ -1049,7 +1049,7 @@ exp_fold_tree_1 (etree_type *tree)
       if (tree->assign.dst[0] == '.' && tree->assign.dst[1] == 0)
 	{
 	  if (tree->type.node_class != etree_assign)
-	    einfo (_("%F%pS can not PROVIDE assignment to"
+	    einfo (_("%F%P:%pS can not PROVIDE assignment to"
 		     " location counter\n"), tree);
 	  if (expld.phase != lang_first_phase_enum)
 	    {
@@ -1082,11 +1082,11 @@ exp_fold_tree_1 (etree_type *tree)
 		  || expld.section == bfd_und_section_ptr)
 		{
 		  if (expld.phase != lang_mark_phase_enum)
-		    einfo (_("%F%pS invalid assignment to"
+		    einfo (_("%F%P:%pS invalid assignment to"
 			     " location counter\n"), tree);
 		}
 	      else if (expld.dotp == NULL)
-		einfo (_("%F%pS assignment to location counter"
+		einfo (_("%F%P:%pS assignment to location counter"
 			 " invalid outside of SECTIONS\n"), tree);
 
 	      /* After allocation, assignment to dot should not be
@@ -1105,7 +1105,7 @@ exp_fold_tree_1 (etree_type *tree)
 		    nextdot += expld.section->vma;
 		  if (nextdot < expld.dot
 		      && expld.section != bfd_abs_section_ptr)
-		    einfo (_("%F%pS cannot move location counter backwards"
+		    einfo (_("%F%P:%pS cannot move location counter backwards"
 			     " (from %V to %V)\n"),
 			   tree, expld.dot, nextdot);
 		  else
@@ -1164,7 +1164,7 @@ exp_fold_tree_1 (etree_type *tree)
 		  h = bfd_link_hash_lookup (link_info.hash, tree->assign.dst,
 					    TRUE, FALSE, TRUE);
 		  if (h == NULL)
-		    einfo (_("%P%F:%s: hash creation failed\n"),
+		    einfo (_("%F%P:%s: hash creation failed\n"),
 			   tree->assign.dst);
 		}
 
@@ -1513,7 +1513,7 @@ exp_get_vma (etree_type *tree, bfd_vma def, char *name)
       if (expld.result.valid_p)
 	return expld.result.value;
       else if (name != NULL && expld.phase != lang_mark_phase_enum)
-	einfo (_("%F%pS: nonconstant expression for %s\n"),
+	einfo (_("%F%P:%pS: nonconstant expression for %s\n"),
 	       tree, name);
     }
   return def;
@@ -1539,7 +1539,7 @@ exp_get_fill (etree_type *tree, fill_type *def, char *name)
   if (!expld.result.valid_p)
     {
       if (name != NULL && expld.phase != lang_mark_phase_enum)
-	einfo (_("%F%pS: nonconstant expression for %s\n"),
+	einfo (_("%F%P:%pS: nonconstant expression for %s\n"),
 	       tree, name);
       return def;
     }
@@ -1599,7 +1599,7 @@ exp_get_abs_int (etree_type *tree, int def, char *name)
 	}
       else if (name != NULL && expld.phase != lang_mark_phase_enum)
 	{
-	  einfo (_("%F%pS: nonconstant expression for %s\n"),
+	  einfo (_("%F%P:%pS: nonconstant expression for %s\n"),
 		 tree, name);
 	}
     }
@@ -1625,7 +1625,7 @@ ldexp_init (void)
 			      definedness_newfunc,
 			      sizeof (struct definedness_hash_entry),
 			      13))
-    einfo (_("%P%F: can not create hash table: %E\n"));
+    einfo (_("%F%P: can not create hash table: %E\n"));
 }
 
 /* Convert absolute symbols defined by a script from "dot" (also
diff --git a/ld/ldfile.c b/ld/ldfile.c
index 6532a57..a72ff13 100644
--- a/ld/ldfile.c
+++ b/ld/ldfile.c
@@ -598,7 +598,7 @@ ldfile_open_command_file_1 (const char *name, bfd_boolean default_only)
   if (ldlex_input_stack == NULL)
     {
       bfd_set_error (bfd_error_system_call);
-      einfo (_("%P%F: cannot open linker script file %s: %E\n"), name);
+      einfo (_("%F%P: cannot open linker script file %s: %E\n"), name);
       return;
     }
 
@@ -663,5 +663,5 @@ ldfile_set_output_arch (const char *string, enum bfd_architecture defarch)
   else if (defarch != bfd_arch_unknown)
     ldfile_output_architecture = defarch;
   else
-    einfo (_("%P%F: cannot represent machine `%s'\n"), string);
+    einfo (_("%F%P: cannot represent machine `%s'\n"), string);
 }
diff --git a/ld/ldgram.y b/ld/ldgram.y
index 335624b..cba0486 100644
--- a/ld/ldgram.y
+++ b/ld/ldgram.y
@@ -206,7 +206,7 @@ mri_script_command:
 		CHIP  exp
 	|	CHIP  exp ',' exp
 	|	NAME	{
-			einfo(_("%P%F: unrecognised keyword in MRI style script '%s'\n"),$1);
+			einfo(_("%F%P: unrecognised keyword in MRI style script '%s'\n"),$1);
 			}
 	|	LIST	{
 			config.map_filename = "-";
@@ -1477,7 +1477,7 @@ yyerror(arg)
     einfo (_("%P:%s: file format not recognized; treating as linker script\n"),
 	   ldlex_filename ());
   if (error_index > 0 && error_index < ERROR_NAME_MAX)
-    einfo ("%P%F:%pS: %s in %s\n", NULL, arg, error_names[error_index - 1]);
+    einfo ("%F%P:%pS: %s in %s\n", NULL, arg, error_names[error_index - 1]);
   else
-    einfo ("%P%F:%pS: %s\n", NULL, arg);
+    einfo ("%F%P:%pS: %s\n", NULL, arg);
 }
diff --git a/ld/ldlang.c b/ld/ldlang.c
index 5401982..35e4f1e 100644
--- a/ld/ldlang.c
+++ b/ld/ldlang.c
@@ -1231,7 +1231,7 @@ output_section_statement_table_init (void)
 			      output_section_statement_newfunc,
 			      sizeof (struct out_section_hash_entry),
 			      61))
-    einfo (_("%P%F: can not create hash table: %E\n"));
+    einfo (_("%F%P: can not create hash table: %E\n"));
 }
 
 static void
@@ -1435,7 +1435,7 @@ lang_output_section_statement_lookup (const char *name,
   if (entry == NULL)
     {
       if (create)
-	einfo (_("%P%F: failed creating section `%s': %E\n"), name);
+	einfo (_("%F%P: failed creating section `%s': %E\n"), name);
       return NULL;
     }
 
@@ -1474,7 +1474,7 @@ lang_output_section_statement_lookup (const char *name,
 					     name));
       if (entry == NULL)
 	{
-	  einfo (_("%P%F: failed creating section `%s': %E\n"), name);
+	  einfo (_("%F%P: failed creating section `%s': %E\n"), name);
 	  return NULL;
 	}
       entry->root = last_ent->root;
@@ -2164,7 +2164,7 @@ static void
 init_os (lang_output_section_statement_type *s, flagword flags)
 {
   if (strcmp (s->name, DISCARD_SECTION_NAME) == 0)
-    einfo (_("%P%F: Illegal use of `%s' section\n"), DISCARD_SECTION_NAME);
+    einfo (_("%F%P: illegal use of `%s' section\n"), DISCARD_SECTION_NAME);
 
   if (s->constraint != SPECIAL)
     s->bfd_section = bfd_get_section_by_name (link_info.output_bfd, s->name);
@@ -2173,7 +2173,7 @@ init_os (lang_output_section_statement_type *s, flagword flags)
 							 s->name, flags);
   if (s->bfd_section == NULL)
     {
-      einfo (_("%P%F: output format %s cannot represent section"
+      einfo (_("%F%P: output format %s cannot represent section"
 	       " called %s: %E\n"),
 	     link_info.output_bfd->xvec->name, s->name);
     }
@@ -2770,15 +2770,15 @@ load_symbols (lang_input_statement_type *entry,
 	{
 	  char **p;
 
-	  einfo (_("%pB: file not recognized: %E\n"), entry->the_bfd);
-	  einfo (_("%pB: matching formats:"), entry->the_bfd);
+	  einfo (_("%P: %pB: file not recognized: %E;"
+		   " matching formats:"), entry->the_bfd);
 	  for (p = matching; *p != NULL; p++)
 	    einfo (" %s", *p);
 	  einfo ("%F\n");
 	}
       else if (err != bfd_error_file_not_recognized
 	       || place == NULL)
-	einfo (_("%F%pB: file not recognized: %E\n"), entry->the_bfd);
+	einfo (_("%F%P: %pB: file not recognized: %E\n"), entry->the_bfd);
 
       bfd_close (entry->the_bfd);
       entry->the_bfd = NULL;
@@ -2851,7 +2851,7 @@ load_symbols (lang_input_statement_type *entry,
 
 	      if (!bfd_check_format (member, bfd_object))
 		{
-		  einfo (_("%F%pB: member %pB in archive is not an object\n"),
+		  einfo (_("%F%P: %pB: member %pB in archive is not an object\n"),
 			 entry->the_bfd, member);
 		  loaded = FALSE;
 		}
@@ -2866,7 +2866,7 @@ load_symbols (lang_input_statement_type *entry,
 		 substitute BFD for us.  */
 	      if (!bfd_link_add_symbols (subsbfd, &link_info))
 		{
-		  einfo (_("%F%pB: error adding symbols: %E\n"), member);
+		  einfo (_("%F%P: %pB: error adding symbols: %E\n"), member);
 		  loaded = FALSE;
 		}
 	    }
@@ -2880,7 +2880,7 @@ load_symbols (lang_input_statement_type *entry,
   if (bfd_link_add_symbols (entry->the_bfd, &link_info))
     entry->flags.loaded = TRUE;
   else
-    einfo (_("%F%pB: error adding symbols: %E\n"), entry->the_bfd);
+    einfo (_("%F%P: %pB: error adding symbols: %E\n"), entry->the_bfd);
 
   return entry->flags.loaded;
 }
@@ -3168,23 +3168,23 @@ open_output (const char *name)
   if (link_info.output_bfd == NULL)
     {
       if (bfd_get_error () == bfd_error_invalid_target)
-	einfo (_("%P%F: target %s not found\n"), output_target);
+	einfo (_("%F%P: target %s not found\n"), output_target);
 
-      einfo (_("%P%F: cannot open output file %s: %E\n"), name);
+      einfo (_("%F%P: cannot open output file %s: %E\n"), name);
     }
 
   delete_output_file_on_failure = TRUE;
 
   if (!bfd_set_format (link_info.output_bfd, bfd_object))
-    einfo (_("%P%F:%s: can not make object file: %E\n"), name);
+    einfo (_("%F%P: %s: can not make object file: %E\n"), name);
   if (!bfd_set_arch_mach (link_info.output_bfd,
 			   ldfile_output_architecture,
 			   ldfile_output_machine))
-    einfo (_("%P%F:%s: can not set architecture: %E\n"), name);
+    einfo (_("%F%P: %s: can not set architecture: %E\n"), name);
 
   link_info.hash = bfd_link_hash_table_create (link_info.output_bfd);
   if (link_info.hash == NULL)
-    einfo (_("%P%F: can not create hash table: %E\n"));
+    einfo (_("%F%P: can not create hash table: %E\n"));
 
   bfd_set_gp_size (link_info.output_bfd, g_switch_value);
 }
@@ -3408,7 +3408,7 @@ insert_undefined (const char *name)
 
   h = bfd_link_hash_lookup (link_info.hash, name, TRUE, FALSE, TRUE);
   if (h == NULL)
-    einfo (_("%P%F: bfd_link_hash_lookup failed: %E\n"));
+    einfo (_("%F%P: bfd_link_hash_lookup failed: %E\n"));
   if (h->type == bfd_link_hash_new)
     {
       h->type = bfd_link_hash_undefined;
@@ -3477,7 +3477,7 @@ ldlang_check_require_defined_symbols (void)
       if (h == NULL
 	  || (h->type != bfd_link_hash_defined
 	      && h->type != bfd_link_hash_defweak))
-	einfo(_("%P%X: required symbol `%s' not defined\n"), ptr->name);
+	einfo(_("%X%P: required symbol `%s' not defined\n"), ptr->name);
     }
 }
 
@@ -5049,7 +5049,7 @@ lang_size_sections_1
 		      dot += expld.result.section->vma;
 		  }
 		else if (expld.phase != lang_mark_phase_enum)
-		  einfo (_("%F%pS: non constant or forward reference"
+		  einfo (_("%F%P:%pS: non constant or forward reference"
 			   " address expression for section %s\n"),
 			 os->addr_tree, os->name);
 	      }
@@ -5074,7 +5074,7 @@ lang_size_sections_1
 		    || os->children.head->header.next != NULL
 		    || (os->children.head->header.type
 			!= lang_input_section_enum))
-		  einfo (_("%P%X: Internal error on COFF shared library"
+		  einfo (_("%X%P: internal error on COFF shared library"
 			   " section %s\n"), os->name);
 
 		input = os->children.head->input_section.section;
@@ -5133,7 +5133,7 @@ lang_size_sections_1
 			   overridden by the using the --no-check-sections
 			   switch.  */
 			if (command_line.check_section_addresses)
-			  einfo (_("%P%F: error: no memory region specified"
+			  einfo (_("%F%P: error: no memory region specified"
 				   " for loadable section `%s'\n"),
 				 bfd_get_section_name (link_info.output_bfd,
 						       os->bfd_section));
@@ -5434,7 +5434,7 @@ lang_size_sections_1
 		bfd_boolean again;
 
 		if (!bfd_relax_section (i->owner, i, &link_info, &again))
-		  einfo (_("%P%F: can't relax section: %E\n"));
+		  einfo (_("%F%P: can't relax section: %E\n"));
 		if (again)
 		  *relax = TRUE;
 	      }
@@ -6183,7 +6183,7 @@ lang_end (void)
      --gc-sections.  */
   if (link_info.gc_sections && bfd_link_relocatable (&link_info)
       && !(entry_from_cmdline || undef_from_cmdline))
-    einfo (_("%P%F: gc-sections requires either an entry or "
+    einfo (_("%F%P: gc-sections requires either an entry or "
 	     "an undefined symbol\n"));
 
   if (entry_symbol.name == NULL)
@@ -6208,7 +6208,7 @@ lang_end (void)
 				    h->u.def.section->output_section)
 	     + h->u.def.section->output_offset);
       if (!bfd_set_start_address (link_info.output_bfd, val))
-	einfo (_("%P%F:%s: can't set start address\n"), entry_symbol.name);
+	einfo (_("%F%P: %s: can't set start address\n"), entry_symbol.name);
     }
   else
     {
@@ -6221,7 +6221,7 @@ lang_end (void)
       if (*send == '\0')
 	{
 	  if (!bfd_set_start_address (link_info.output_bfd, val))
-	    einfo (_("%P%F: can't set start address\n"));
+	    einfo (_("%F%P: can't set start address\n"));
 	}
       else
 	{
@@ -6240,7 +6240,7 @@ lang_end (void)
 	      if (!(bfd_set_start_address
 		    (link_info.output_bfd,
 		     bfd_get_section_vma (link_info.output_bfd, ts))))
-		einfo (_("%P%F: can't set start address\n"));
+		einfo (_("%F%P: can't set start address\n"));
 	    }
 	  else
 	    {
@@ -6299,7 +6299,7 @@ lang_check (void)
 		  != bfd_get_flavour (link_info.output_bfd)))
 	  && (bfd_get_file_flags (input_bfd) & HAS_RELOC) != 0)
 	{
-	  einfo (_("%P%F: Relocatable linking with relocations from"
+	  einfo (_("%F%P: relocatable linking with relocations from"
 		   " format %s (%pB) to format %s (%pB) is not supported\n"),
 		 bfd_get_target (input_bfd), input_bfd,
 		 bfd_get_target (link_info.output_bfd), link_info.output_bfd);
@@ -6309,7 +6309,7 @@ lang_check (void)
       if (compatible == NULL)
 	{
 	  if (command_line.warn_mismatch)
-	    einfo (_("%P%X: %s architecture of input file `%pB'"
+	    einfo (_("%X%P: %s architecture of input file `%pB'"
 		     " is incompatible with %s output\n"),
 		   bfd_printable_name (input_bfd), input_bfd,
 		   bfd_printable_name (link_info.output_bfd));
@@ -6331,7 +6331,7 @@ lang_check (void)
 	  if (!bfd_merge_private_bfd_data (input_bfd, &link_info))
 	    {
 	      if (command_line.warn_mismatch)
-		einfo (_("%P%X: failed to merge target specific data"
+		einfo (_("%X%P: failed to merge target specific data"
 			 " of file %pB\n"), input_bfd);
 	    }
 	  if (!command_line.warn_mismatch)
@@ -6402,7 +6402,7 @@ lang_one_common (struct bfd_link_hash_entry *h, void *info)
 
   section = h->u.c.p->section;
   if (!bfd_define_common_symbol (link_info.output_bfd, &link_info, h))
-    einfo (_("%P%F: Could not define common symbol `%pT': %E\n"),
+    einfo (_("%F%P: could not define common symbol `%pT': %E\n"),
 	   h->root.string);
 
   if (config.map_file != NULL)
@@ -6489,7 +6489,7 @@ ldlang_place_orphan (asection *s)
       int constraint = 0;
 
       if (config.orphan_handling == orphan_handling_error)
-	einfo (_("%X%P: error: unplaced orphan section `%pA' from `%pB'.\n"),
+	einfo (_("%X%P: error: unplaced orphan section `%pA' from `%pB'\n"),
 	       s, s->owner);
 
       if (config.unique_orphan_sections || unique_section_p (s, NULL))
@@ -6508,7 +6508,7 @@ ldlang_place_orphan (asection *s)
 
       if (config.orphan_handling == orphan_handling_warn)
 	einfo (_("%P: warning: orphan section `%pA' from `%pB' being "
-		 "placed in section `%s'.\n"),
+		 "placed in section `%s'\n"),
 	       s, s->owner, os->name);
     }
 }
@@ -6598,7 +6598,7 @@ lang_set_flags (lang_memory_region_type *ptr, const char *flags, int invert)
 	  break;
 
 	default:
-	  einfo (_("%P%F: invalid character %c (%d) in flags\n"),
+	  einfo (_("%F%P: invalid character %c (%d) in flags\n"),
 		 *flags, *flags);
 	  break;
 	}
@@ -7173,7 +7173,7 @@ lang_process (void)
   lang_place_undefineds ();
 
   if (!bfd_section_already_linked_table_init ())
-    einfo (_("%P%F: Failed to create hash table\n"));
+    einfo (_("%F%P: can not create hash table: %E\n"));
 
   /* Create a bfd for each input file.  */
   current_target = default_target;
@@ -7197,7 +7197,7 @@ lang_process (void)
       files = file_chain;
       inputfiles = input_file_chain;
       if (plugin_call_all_symbols_read ())
-	einfo (_("%P%F: %s: plugin reported error after all symbols read\n"),
+	einfo (_("%F%P: %s: plugin reported error after all symbols read\n"),
 	       plugin_error_plugin ());
       /* Open any newly added files, updating the file chains.  */
       open_input_bfds (*added.tail, OPEN_BFD_NORMAL);
@@ -7601,7 +7601,7 @@ lang_startup (const char *name)
 {
   if (first_file->filename != NULL)
     {
-      einfo (_("%P%F: multiple STARTUP files\n"));
+      einfo (_("%F%P: multiple STARTUP files\n"));
     }
   first_file->filename = name;
   first_file->local_sym_name = name;
diff --git a/ld/ldmain.c b/ld/ldmain.c
index 6945654..b6914db 100644
--- a/ld/ldmain.c
+++ b/ld/ldmain.c
@@ -397,13 +397,13 @@ main (int argc, char **argv)
     xexit (0);
 
   if (link_info.inhibit_common_definition && !bfd_link_dll (&link_info))
-    einfo (_("%P%F: --no-define-common may not be used without -shared\n"));
+    einfo (_("%F%P: --no-define-common may not be used without -shared\n"));
 
   if (!lang_has_input_file)
     {
       if (version_printed || command_line.print_output_format)
 	xexit (0);
-      einfo (_("%P%F: no input files\n"));
+      einfo (_("%F%P: no input files\n"));
     }
 
   if (trace_files)
@@ -423,7 +423,7 @@ main (int argc, char **argv)
 	  if (config.map_file == (FILE *) NULL)
 	    {
 	      bfd_set_error (bfd_error_system_call);
-	      einfo (_("%P%F: cannot open map file %s: %E\n"),
+	      einfo (_("%F%P: cannot open map file %s: %E\n"),
 		     config.map_filename);
 	    }
 	}
@@ -481,7 +481,7 @@ main (int argc, char **argv)
   else
     {
       if (!bfd_close (link_info.output_bfd))
-	einfo (_("%F%pB: final close failed: %E\n"), link_info.output_bfd);
+	einfo (_("%F%P: %pB: final close failed: %E\n"), link_info.output_bfd);
 
       /* If the --force-exe-suffix is enabled, and we're making an
 	 executable file and it doesn't end in .exe, copy it to one
@@ -508,22 +508,22 @@ main (int argc, char **argv)
 	      dst = fopen (dst_name, FOPEN_WB);
 
 	      if (!src)
-		einfo (_("%P%F: unable to open for source of copy `%s'\n"),
+		einfo (_("%F%P: unable to open for source of copy `%s'\n"),
 		       output_filename);
 	      if (!dst)
-		einfo (_("%P%F: unable to open for destination of copy `%s'\n"),
+		einfo (_("%F%P: unable to open for destination of copy `%s'\n"),
 		       dst_name);
 	      while ((l = fread (buf, 1, bsize, src)) > 0)
 		{
 		  int done = fwrite (buf, 1, l, dst);
 
 		  if (done != l)
-		    einfo (_("%P: Error writing file `%s'\n"), dst_name);
+		    einfo (_("%P: error writing file `%s'\n"), dst_name);
 		}
 
 	      fclose (src);
 	      if (fclose (dst) == EOF)
-		einfo (_("%P: Error closing file `%s'\n"), dst_name);
+		einfo (_("%P: error closing file `%s'\n"), dst_name);
 	      free (dst_name);
 	      free (buf);
 	    }
@@ -620,7 +620,7 @@ get_emulation (int argc, char **argv)
 		  i++;
 		}
 	      else
-		einfo (_("%P%F: missing argument to -m\n"));
+		einfo (_("%F%P: missing argument to -m\n"));
 	    }
 	  else if (strcmp (argv[i], "-mips1") == 0
 		   || strcmp (argv[i], "-mips2") == 0
@@ -670,11 +670,11 @@ add_ysym (const char *name)
 				  bfd_hash_newfunc,
 				  sizeof (struct bfd_hash_entry),
 				  61))
-	einfo (_("%P%F: bfd_hash_table_init failed: %E\n"));
+	einfo (_("%F%P: bfd_hash_table_init failed: %E\n"));
     }
 
   if (bfd_hash_lookup (link_info.notice_hash, name, TRUE, TRUE) == NULL)
-    einfo (_("%P%F: bfd_hash_lookup failed: %E\n"));
+    einfo (_("%F%P: bfd_hash_lookup failed: %E\n"));
 }
 
 void
@@ -687,11 +687,11 @@ add_ignoresym (struct bfd_link_info *info, const char *name)
 				  bfd_hash_newfunc,
 				  sizeof (struct bfd_hash_entry),
 				  61))
-	einfo (_("%P%F: bfd_hash_table_init failed: %E\n"));
+	einfo (_("%F%P: bfd_hash_table_init failed: %E\n"));
     }
 
   if (bfd_hash_lookup (info->ignore_hash, name, TRUE, TRUE) == NULL)
-    einfo (_("%P%F: bfd_hash_lookup failed: %E\n"));
+    einfo (_("%F%P: bfd_hash_lookup failed: %E\n"));
 }
 
 /* Record a symbol to be wrapped, from the --wrap option.  */
@@ -707,11 +707,11 @@ add_wrap (const char *name)
 				  bfd_hash_newfunc,
 				  sizeof (struct bfd_hash_entry),
 				  61))
-	einfo (_("%P%F: bfd_hash_table_init failed: %E\n"));
+	einfo (_("%F%P: bfd_hash_table_init failed: %E\n"));
     }
 
   if (bfd_hash_lookup (link_info.wrap_hash, name, TRUE, TRUE) == NULL)
-    einfo (_("%P%F: bfd_hash_lookup failed: %E\n"));
+    einfo (_("%F%P: bfd_hash_lookup failed: %E\n"));
 }
 
 /* Handle the -retain-symbols-file option.  */
@@ -739,7 +739,7 @@ add_keepsyms_file (const char *filename)
       xmalloc (sizeof (struct bfd_hash_table));
   if (!bfd_hash_table_init (link_info.keep_hash, bfd_hash_newfunc,
 			    sizeof (struct bfd_hash_entry)))
-    einfo (_("%P%F: bfd_hash_table_init failed: %E\n"));
+    einfo (_("%F%P: bfd_hash_table_init failed: %E\n"));
 
   bufsize = 100;
   buf = (char *) xmalloc (bufsize);
@@ -769,7 +769,7 @@ add_keepsyms_file (const char *filename)
 	  buf[len] = '\0';
 
 	  if (bfd_hash_lookup (link_info.keep_hash, buf, TRUE, TRUE) == NULL)
-	    einfo (_("%P%F: bfd_hash_lookup for insertion failed: %E\n"));
+	    einfo (_("%F%P: bfd_hash_lookup for insertion failed: %E\n"));
 	}
     }
 
@@ -979,14 +979,15 @@ multiple_definition (struct bfd_link_info *info,
       nval = oval;
       obfd = NULL;
     }
-  einfo (_("%X%C: multiple definition of `%pT'\n"),
+  einfo (_("%X%P: %C: multiple definition of `%pT'"),
 	 nbfd, nsec, nval, name);
   if (obfd != NULL)
-    einfo (_("%D: first defined here\n"), obfd, osec, oval);
+    einfo (_("; %D: first defined here"), obfd, osec, oval);
+  einfo ("\n");
 
   if (RELAXATION_ENABLED_BY_USER)
     {
-      einfo (_("%P: Disabling relaxation: it will not work with multiple definitions\n"));
+      einfo (_("%P: disabling relaxation; it will not work with multiple definitions\n"));
       DISABLE_RELAXATION;
     }
 }
@@ -1038,43 +1039,60 @@ multiple_common (struct bfd_link_info *info ATTRIBUTE_UNUSED,
       || ntype == bfd_link_hash_indirect)
     {
       ASSERT (otype == bfd_link_hash_common);
-      einfo (_("%pB: warning: definition of `%pT' overriding common\n"),
-	     nbfd, name);
       if (obfd != NULL)
-	einfo (_("%pB: warning: common is here\n"), obfd);
+	einfo (_("%P: %pB: warning: definition of `%pT' overriding common"
+		 " from %pB\n"),
+	       nbfd, name, obfd);
+      else
+	einfo (_("%P: %pB: warning: definition of `%pT' overriding common\n"),
+	       nbfd, name);
     }
   else if (otype == bfd_link_hash_defined
 	   || otype == bfd_link_hash_defweak
 	   || otype == bfd_link_hash_indirect)
     {
       ASSERT (ntype == bfd_link_hash_common);
-      einfo (_("%pB: warning: common of `%pT' overridden by definition\n"),
-	     nbfd, name);
       if (obfd != NULL)
-	einfo (_("%pB: warning: defined here\n"), obfd);
+	einfo (_("%P: %pB: warning: common of `%pT' overridden by definition"
+		 " from %pB\n"),
+	       nbfd, name, obfd);
+      else
+	einfo (_("%P: %pB: warning: common of `%pT' overridden by definition\n"),
+	       nbfd, name);
     }
   else
     {
       ASSERT (otype == bfd_link_hash_common && ntype == bfd_link_hash_common);
       if (osize > nsize)
 	{
-	  einfo (_("%pB: warning: common of `%pT' overridden by larger common\n"),
-		 nbfd, name);
 	  if (obfd != NULL)
-	    einfo (_("%pB: warning: larger common is here\n"), obfd);
+	    einfo (_("%P: %pB: warning: common of `%pT' overridden"
+		     " by larger common from %pB\n"),
+		   nbfd, name, obfd);
+	  else
+	    einfo (_("%P: %pB: warning: common of `%pT' overridden"
+		     " by larger common\n"),
+		   nbfd, name);
 	}
       else if (nsize > osize)
 	{
-	  einfo (_("%pB: warning: common of `%pT' overriding smaller common\n"),
-		 nbfd, name);
 	  if (obfd != NULL)
-	    einfo (_("%pB: warning: smaller common is here\n"), obfd);
+	    einfo (_("%P: %pB: warning: common of `%pT' overriding"
+		     " smaller common from %pB\n"),
+		   nbfd, name, obfd);
+	  else
+	    einfo (_("%P: %pB: warning: common of `%pT' overriding"
+		     " smaller common\n"),
+		   nbfd, name);
 	}
       else
 	{
-	  einfo (_("%pB: warning: multiple common of `%pT'\n"), nbfd, name);
 	  if (obfd != NULL)
-	    einfo (_("%pB: warning: previous common is here\n"), obfd);
+	    einfo (_("%P: %pB and %pB: warning: multiple common of `%pT'\n"),
+		   nbfd, obfd, name);
+	  else
+	    einfo (_("%P: %pB: warning: multiple common of `%pT'\n"),
+		   nbfd, name);
 	}
     }
 }
@@ -1138,7 +1156,7 @@ constructor_callback (struct bfd_link_info *info,
   if (bfd_reloc_type_lookup (info->output_bfd, BFD_RELOC_CTOR) == NULL
       && (bfd_link_relocatable (info)
 	  || bfd_reloc_type_lookup (abfd, BFD_RELOC_CTOR) == NULL))
-    einfo (_("%P%F: BFD backend error: BFD_RELOC_CTOR unsupported\n"));
+    einfo (_("%F%P: BFD backend error: BFD_RELOC_CTOR unsupported\n"));
 
   s = set_name;
   if (bfd_get_symbol_leading_char (abfd) != '\0')
@@ -1150,7 +1168,7 @@ constructor_callback (struct bfd_link_info *info,
 
   h = bfd_link_hash_lookup (info->hash, set_name, TRUE, TRUE, TRUE);
   if (h == (struct bfd_link_hash_entry *) NULL)
-    einfo (_("%P%F: bfd_link_hash_lookup failed: %E\n"));
+    einfo (_("%F%P: bfd_link_hash_lookup failed: %E\n"));
   if (h->type == bfd_link_hash_new)
     {
       h->type = bfd_link_hash_undefined;
@@ -1183,7 +1201,7 @@ symbol_warning (const char *warning, const char *symbol, bfd *abfd)
   struct warning_callback_info cinfo;
 
   if (!bfd_generic_link_read_symbols (abfd))
-    einfo (_("%pB%F: could not read symbols: %E\n"), abfd);
+    einfo (_("%F%P: %pB: could not read symbols: %E\n"), abfd);
 
   cinfo.found = FALSE;
   cinfo.warning = warning;
@@ -1210,11 +1228,11 @@ warning_callback (struct bfd_link_info *info ATTRIBUTE_UNUSED,
     return;
 
   if (section != NULL)
-    einfo ("%C: %s%s\n", abfd, section, address, _("warning: "), warning);
+    einfo ("%P: %C: %s%s\n", abfd, section, address, _("warning: "), warning);
   else if (abfd == NULL)
     einfo ("%P: %s%s\n", _("warning: "), warning);
   else if (symbol == NULL)
-    einfo ("%pB: %s%s\n", abfd, _("warning: "), warning);
+    einfo ("%P: %pB: %s%s\n", abfd, _("warning: "), warning);
   else if (!symbol_warning (warning, symbol, abfd))
     {
       bfd *b;
@@ -1222,7 +1240,7 @@ warning_callback (struct bfd_link_info *info ATTRIBUTE_UNUSED,
       for (b = info->input_bfds; b; b = b->link.next)
 	if (b != abfd && symbol_warning (warning, symbol, b))
 	  return;
-      einfo ("%pB: %s%s\n", abfd, _("warning: "), warning);
+      einfo ("%P: %pB: %s%s\n", abfd, _("warning: "), warning);
     }
 }
 
@@ -1245,14 +1263,14 @@ warning_find_reloc (bfd *abfd, asection *sec, void *iarg)
 
   relsize = bfd_get_reloc_upper_bound (abfd, sec);
   if (relsize < 0)
-    einfo (_("%pB%F: could not read relocs: %E\n"), abfd);
+    einfo (_("%F%P: %pB: could not read relocs: %E\n"), abfd);
   if (relsize == 0)
     return;
 
   relpp = (arelent **) xmalloc (relsize);
   relcount = bfd_canonicalize_reloc (abfd, sec, relpp, info->asymbols);
   if (relcount < 0)
-    einfo (_("%pB%F: could not read relocs: %E\n"), abfd);
+    einfo (_("%F%P: %pB: could not read relocs: %E\n"), abfd);
 
   p = relpp;
   pend = p + relcount;
@@ -1265,7 +1283,7 @@ warning_find_reloc (bfd *abfd, asection *sec, void *iarg)
 	  && strcmp (bfd_asymbol_name (*q->sym_ptr_ptr), info->symbol) == 0)
 	{
 	  /* We found a reloc for the symbol we are looking for.  */
-	  einfo ("%C: %s%s\n", abfd, sec, q->address, _("warning: "),
+	  einfo ("%P: %C: %s%s\n", abfd, sec, q->address, _("warning: "),
 		 info->warning);
 	  info->found = TRUE;
 	  break;
@@ -1318,19 +1336,19 @@ undefined_symbol (struct bfd_link_info *info,
       if (error_count < MAX_ERRORS_IN_A_ROW)
 	{
 	  if (error)
-	    einfo (_("%X%C: undefined reference to `%pT'\n"),
+	    einfo (_("%X%P: %C: undefined reference to `%pT'\n"),
 		   abfd, section, address, name);
 	  else
-	    einfo (_("%C: warning: undefined reference to `%pT'\n"),
+	    einfo (_("%P: %C: warning: undefined reference to `%pT'\n"),
 		   abfd, section, address, name);
 	}
       else if (error_count == MAX_ERRORS_IN_A_ROW)
 	{
 	  if (error)
-	    einfo (_("%X%D: more undefined references to `%pT' follow\n"),
+	    einfo (_("%X%P: %D: more undefined references to `%pT' follow\n"),
 		   abfd, section, address, name);
 	  else
-	    einfo (_("%D: warning: more undefined references to `%pT' follow\n"),
+	    einfo (_("%P: %D: warning: more undefined references to `%pT' follow\n"),
 		   abfd, section, address, name);
 	}
       else if (error)
@@ -1341,19 +1359,19 @@ undefined_symbol (struct bfd_link_info *info,
       if (error_count < MAX_ERRORS_IN_A_ROW)
 	{
 	  if (error)
-	    einfo (_("%X%pB: undefined reference to `%pT'\n"),
+	    einfo (_("%X%P: %pB: undefined reference to `%pT'\n"),
 		   abfd, name);
 	  else
-	    einfo (_("%pB: warning: undefined reference to `%pT'\n"),
+	    einfo (_("%P: %pB: warning: undefined reference to `%pT'\n"),
 		   abfd, name);
 	}
       else if (error_count == MAX_ERRORS_IN_A_ROW)
 	{
 	  if (error)
-	    einfo (_("%X%pB: more undefined references to `%pT' follow\n"),
+	    einfo (_("%X%P: %pB: more undefined references to `%pT' follow\n"),
 		   abfd, name);
 	  else
-	    einfo (_("%pB: warning: more undefined references to `%pT' follow\n"),
+	    einfo (_("%P: %pB: warning: more undefined references to `%pT' follow\n"),
 		   abfd, name);
 	}
       else if (error)
@@ -1385,7 +1403,7 @@ reloc_overflow (struct bfd_link_info *info,
   if (overflow_cutoff_limit == -1)
     return;
 
-  einfo ("%X%H:", abfd, section, address);
+  einfo ("%X%P: %H:", abfd, section, address);
 
   if (overflow_cutoff_limit >= 0
       && overflow_cutoff_limit-- == 0)
@@ -1438,7 +1456,7 @@ reloc_dangerous (struct bfd_link_info *info ATTRIBUTE_UNUSED,
 		 asection *section,
 		 bfd_vma address)
 {
-  einfo (_("%X%H: dangerous relocation: %s\n"),
+  einfo (_("%X%P: %H: dangerous relocation: %s\n"),
 	 abfd, section, address, message);
 }
 
@@ -1452,7 +1470,7 @@ unattached_reloc (struct bfd_link_info *info ATTRIBUTE_UNUSED,
 		  asection *section,
 		  bfd_vma address)
 {
-  einfo (_("%X%H: reloc refers to symbol `%pT' which is not being output\n"),
+  einfo (_("%X%P: %H: reloc refers to symbol `%pT' which is not being output\n"),
 	 abfd, section, address, name);
 }
 
@@ -1486,9 +1504,9 @@ notice (struct bfd_link_info *info,
       && bfd_hash_lookup (info->notice_hash, name, FALSE, FALSE) != NULL)
     {
       if (bfd_is_und_section (section))
-	einfo (_("%pB: reference to %s\n"), abfd, name);
+	einfo (_("%P: %pB: reference to %s\n"), abfd, name);
       else
-	einfo (_("%pB: definition of %s\n"), abfd, name);
+	einfo (_("%P: %pB: definition of %s\n"), abfd, name);
     }
 
   if (command_line.cref || nocrossref_list != NULL)
diff --git a/ld/ldmisc.c b/ld/ldmisc.c
index d201151..3e2a190 100644
--- a/ld/ldmisc.c
+++ b/ld/ldmisc.c
@@ -332,7 +332,7 @@ vfinfo (FILE *fp, const char *fmt, va_list ap, bfd_boolean is_warning)
 		if (abfd != NULL)
 		  {
 		    if (!bfd_generic_link_read_symbols (abfd))
-		      einfo (_("%pB%F: could not read symbols: %E\n"), abfd);
+		      einfo (_("%F%P: %pB: could not read symbols: %E\n"), abfd);
 
 		    asymbols = bfd_get_outsymbols (abfd);
 		  }
@@ -371,7 +371,7 @@ vfinfo (FILE *fp, const char *fmt, va_list ap, bfd_boolean is_warning)
 				&& filename_cmp (last_file, filename) != 0)
 			    || strcmp (last_function, functionname) != 0)
 			  {
-			    lfinfo (fp, _("%pB: In function `%pT':\n"),
+			    lfinfo (fp, _("%pB: in function `%pT':\n"),
 				    abfd, functionname);
 
 			    last_bfd = abfd;
@@ -700,6 +700,6 @@ ld_abort (const char *file, int line, const char *fn)
   else
     einfo (_("%P: internal error: aborting at %s:%d\n"),
 	   file, line);
-  einfo (_("%P%F: please report this bug\n"));
+  einfo (_("%F%P: please report this bug\n"));
   xexit (1);
 }
diff --git a/ld/ldwrite.c b/ld/ldwrite.c
index 23679b4..54345ab 100644
--- a/ld/ldwrite.c
+++ b/ld/ldwrite.c
@@ -57,7 +57,7 @@ build_link_order (lang_statement_union_type *statement)
 
 	link_order = bfd_new_link_order (link_info.output_bfd, output_section);
 	if (link_order == NULL)
-	  einfo (_("%P%F: bfd_new_link_order failed\n"));
+	  einfo (_("%F%P: bfd_new_link_order failed\n"));
 
 	link_order->type = bfd_data_link_order;
 	link_order->offset = statement->data_statement.output_offset;
@@ -203,7 +203,7 @@ build_link_order (lang_statement_union_type *statement)
 
 	link_order = bfd_new_link_order (link_info.output_bfd, output_section);
 	if (link_order == NULL)
-	  einfo (_("%P%F: bfd_new_link_order failed\n"));
+	  einfo (_("%F%P: bfd_new_link_order failed\n"));
 
 	link_order->offset = rs->output_offset;
 	link_order->size = bfd_get_reloc_size (rs->howto);
@@ -255,7 +255,7 @@ build_link_order (lang_statement_union_type *statement)
 	    link_order = bfd_new_link_order (link_info.output_bfd,
 					     output_section);
 	    if (link_order == NULL)
-	      einfo (_("%P%F: bfd_new_link_order failed\n"));
+	      einfo (_("%F%P: bfd_new_link_order failed\n"));
 
 	    if ((i->flags & SEC_NEVER_LOAD) != 0
 		&& (i->flags & SEC_DEBUGGING) == 0)
@@ -296,7 +296,7 @@ build_link_order (lang_statement_union_type *statement)
 	link_order = bfd_new_link_order (link_info.output_bfd,
 					 output_section);
 	if (link_order == NULL)
-	  einfo (_("%P%F: bfd_new_link_order failed\n"));
+	  einfo (_("%F%P: bfd_new_link_order failed\n"));
 	link_order->type = bfd_data_link_order;
 	link_order->size = statement->padding_statement.size;
 	link_order->offset = statement->padding_statement.output_offset;
diff --git a/ld/lexsup.c b/ld/lexsup.c
index f219160..636ce17 100644
--- a/ld/lexsup.c
+++ b/ld/lexsup.c
@@ -712,7 +712,7 @@ parse_args (unsigned argc, char **argv)
 	  /* Fall through.  */
 
 	default:
-	  einfo (_("%P%F: use the --help option for usage information\n"));
+	  einfo (_("%F%P: use the --help option for usage information\n"));
 	  break;
 
 	case 1:			/* File name.  */
@@ -731,7 +731,7 @@ parse_args (unsigned argc, char **argv)
 		   || strcmp (optarg, "default") == 0)
 	    input_flags.dynamic = TRUE;
 	  else
-	    einfo (_("%P%F: unrecognized -a option `%s'\n"), optarg);
+	    einfo (_("%F%P: unrecognized -a option `%s'\n"), optarg);
 	  break;
 	case OPTION_ASSERT:
 	  /* FIXME: We just ignore these, but we should handle them.  */
@@ -744,7 +744,7 @@ parse_args (unsigned argc, char **argv)
 	  else if (strcmp (optarg, "pure-text") == 0)
 	    ;
 	  else
-	    einfo (_("%P%F: unrecognized -assert option `%s'\n"), optarg);
+	    einfo (_("%F%P: unrecognized -assert option `%s'\n"), optarg);
 	  break;
 	case 'A':
 	  ldfile_add_arch (optarg);
@@ -858,7 +858,7 @@ parse_args (unsigned argc, char **argv)
 	    char *end;
 	    g_switch_value = strtoul (optarg, &end, 0);
 	    if (*end)
-	      einfo (_("%P%F: invalid number `%s'\n"), optarg);
+	      einfo (_("%F%P: invalid number `%s'\n"), optarg);
 	  }
 	  break;
 	case 'g':
@@ -959,7 +959,7 @@ parse_args (unsigned argc, char **argv)
 	      link_info.unresolved_syms_in_shared_libs = RM_IGNORE;
 	    }
 	  else
-	    einfo (_("%P%F: bad --unresolved-symbols option: %s\n"), optarg);
+	    einfo (_("%F%P: bad --unresolved-symbols option: %s\n"), optarg);
 	  break;
 	case OPTION_WARN_UNRESOLVED_SYMBOLS:
 	  how_to_report_unresolved_symbols = RM_GENERATE_WARNING;
@@ -1036,7 +1036,7 @@ parse_args (unsigned argc, char **argv)
 	  break;
 	case OPTION_PLUGIN_OPT:
 	  if (plugin_opt_plugin_arg (optarg))
-	    einfo (_("%P%F: bad -plugin-opt option\n"));
+	    einfo (_("%F%P: bad -plugin-opt option\n"));
 	  break;
 #endif /* ENABLE_PLUGINS */
 	case 'q':
@@ -1053,10 +1053,10 @@ parse_args (unsigned argc, char **argv)
 	       an error message here.  We cannot just make this a warning,
 	       increment optind, and continue because getopt is too confused
 	       and will seg-fault the next time around.  */
-	    einfo(_("%P%F: unrecognised option: %s\n"), argv[optind]);
+	    einfo(_("%F%P: unrecognised option: %s\n"), argv[optind]);
 
 	  if (bfd_link_pic (&link_info))
-	    einfo (_("%P%F: -r and %s may not be used together\n"),
+	    einfo (_("%F%P: -r and %s may not be used together\n"),
 		     bfd_link_dll (&link_info) ? "-shared" : "-pie");
 
 	  link_info.type = type_relocatable;
@@ -1163,7 +1163,8 @@ parse_args (unsigned argc, char **argv)
 	  if (config.has_shared)
 	    {
 	      if (bfd_link_relocatable (&link_info))
-		einfo (_("%P%F: -r and -shared may not be used together\n"));
+		einfo (_("%F%P: -r and %s may not be used together\n"),
+		       "-shared");
 
 	      link_info.type = type_dll;
 	      /* When creating a shared library, the default
@@ -1174,18 +1175,18 @@ parse_args (unsigned argc, char **argv)
 		link_info.unresolved_syms_in_shared_libs = RM_IGNORE;
 	    }
 	  else
-	    einfo (_("%P%F: -shared not supported\n"));
+	    einfo (_("%F%P: -shared not supported\n"));
 	  break;
 	case OPTION_PIE:
 	  if (config.has_shared)
 	    {
 	      if (bfd_link_relocatable (&link_info))
-		einfo (_("%P%F: -r and -pie may not be used together\n"));
+		einfo (_("%F%P: -r and %s may not be used together\n"), "-pie");
 
 	      link_info.type = type_pie;
 	    }
 	  else
-	    einfo (_("%P%F: -pie not supported\n"));
+	    einfo (_("%F%P: -pie not supported\n"));
 	  break;
 	case 'h':		/* Used on Solaris.  */
 	case OPTION_SONAME:
@@ -1202,7 +1203,7 @@ parse_args (unsigned argc, char **argv)
 	  else if (strcmp (optarg, N_("ascending")) == 0)
 	    config.sort_common = sort_ascending;
 	  else
-	    einfo (_("%P%F: invalid common section sorting option: %s\n"),
+	    einfo (_("%F%P: invalid common section sorting option: %s\n"),
 		   optarg);
 	  break;
 	case OPTION_SORT_SECTION:
@@ -1211,7 +1212,7 @@ parse_args (unsigned argc, char **argv)
 	  else if (strcmp (optarg, N_("alignment")) == 0)
 	    sort_section = by_alignment;
 	  else
-	    einfo (_("%P%F: invalid section sorting option: %s\n"),
+	    einfo (_("%F%P: invalid section sorting option: %s\n"),
 		   optarg);
 	  break;
 	case OPTION_STATS:
@@ -1245,14 +1246,14 @@ parse_args (unsigned argc, char **argv)
 	    /* Check for <something>=<somthing>...  */
 	    optarg2 = strchr (optarg, '=');
 	    if (optarg2 == NULL)
-	      einfo (_("%P%F: invalid argument to option"
+	      einfo (_("%F%P: invalid argument to option"
 		       " \"--section-start\"\n"));
 
 	    optarg2++;
 
 	    /* So far so good.  Are all the args present?  */
 	    if ((*optarg == '\0') || (*optarg2 == '\0'))
-	      einfo (_("%P%F: missing argument(s) to option"
+	      einfo (_("%F%P: missing argument(s) to option"
 		       " \"--section-start\"\n"));
 
 	    /* We must copy the section name as set_section_start
@@ -1296,7 +1297,7 @@ parse_args (unsigned argc, char **argv)
 	  /* Fall through.  */
 	case OPTION_UR:
 	  if (bfd_link_pic (&link_info))
-	    einfo (_("%P%F: -r and %s may not be used together\n"),
+	    einfo (_("%F%P: -r and %s may not be used together\n"),
 		     bfd_link_dll (&link_info) ? "-shared" : "-pie");
 
 	  link_info.type = type_relocatable;
@@ -1327,7 +1328,7 @@ parse_args (unsigned argc, char **argv)
 	      char *end;
 	      int level ATTRIBUTE_UNUSED = strtoul (optarg, &end, 0);
 	      if (*end)
-		einfo (_("%P%F: invalid number `%s'\n"), optarg);
+		einfo (_("%F%P: invalid number `%s'\n"), optarg);
 #ifdef ENABLE_PLUGINS
 	      report_plugin_symbols = level > 1;
 #endif /* ENABLE_PLUGINS */
@@ -1502,7 +1503,7 @@ parse_args (unsigned argc, char **argv)
 	  break;
 	case ')':
 	  if (! ingroup)
-	    einfo (_("%P%F: group ended before it began (--help for usage)\n"));
+	    einfo (_("%F%P: group ended before it began (--help for usage)\n"));
 
 	  lang_leave_group ();
 	  ingroup--;
@@ -1530,7 +1531,7 @@ parse_args (unsigned argc, char **argv)
 	    if (new_size)
 	      config.hash_table_size = new_size;
 	    else
-	      einfo (_("%P%X: --hash-size needs a numeric argument\n"));
+	      einfo (_("%X%P: --hash-size needs a numeric argument\n"));
 	  }
 	  break;
 
@@ -1542,7 +1543,7 @@ parse_args (unsigned argc, char **argv)
 
 	case OPTION_POP_STATE:
 	  if (input_flags.pushed == NULL)
-	    einfo (_("%P%F: no state pushed before popping\n"));
+	    einfo (_("%F%P: no state pushed before popping\n"));
 	  else
 	    {
 	      struct lang_input_statement_flags *oldp = input_flags.pushed;
@@ -1565,7 +1566,7 @@ parse_args (unsigned argc, char **argv)
 	  else if (strcasecmp (optarg, "discard") == 0)
 	    config.orphan_handling = orphan_handling_discard;
 	  else
-	    einfo (_("%P%F: invalid argument to option"
+	    einfo (_("%F%P: invalid argument to option"
 		     " \"--orphan-handling\"\n"));
 	  break;
 	}
@@ -1641,9 +1642,9 @@ parse_args (unsigned argc, char **argv)
   if (!bfd_link_dll (&link_info))
     {
       if (command_line.filter_shlib)
-	einfo (_("%P%F: -F may not be used without -shared\n"));
+	einfo (_("%F%P: -F may not be used without -shared\n"));
       if (command_line.auxiliary_filters)
-	einfo (_("%P%F: -f may not be used without -shared\n"));
+	einfo (_("%F%P: -f may not be used without -shared\n"));
     }
 
   /* Treat ld -r -s as ld -r -S -x (i.e., strip all local symbols).  I
@@ -1684,7 +1685,7 @@ set_section_start (char *sect, char *valstr)
   const char *end;
   bfd_vma val = bfd_scan_vma (valstr, &end, 16);
   if (*end)
-    einfo (_("%P%F: invalid hex number `%s'\n"), valstr);
+    einfo (_("%F%P: invalid hex number `%s'\n"), valstr);
   lang_section_start (sect, exp_intop (val), NULL);
 }
 
@@ -1697,7 +1698,7 @@ set_segment_start (const char *section, char *valstr)
 
   bfd_vma val = bfd_scan_vma (valstr, &end, 16);
   if (*end)
-    einfo (_("%P%F: invalid hex number `%s'\n"), valstr);
+    einfo (_("%F%P: invalid hex number `%s'\n"), valstr);
   /* If we already have an entry for this segment, update the existing
      value.  */
   name = section + 1;
@@ -1745,14 +1746,14 @@ elf_shlib_list_options (FILE *file)
   --hash-style=STYLE          Set hash style to sysv, gnu or both\n"));
   fprintf (file, _("\
   -P AUDITLIB, --depaudit=AUDITLIB\n" "\
-			      Specify a library to use for auditing dependencies\n"));
+                              Specify a library to use for auditing dependencies\n"));
   fprintf (file, _("\
   -z combreloc                Merge dynamic relocs into one section and sort\n"));
   fprintf (file, _("\
   -z nocombreloc              Don't merge dynamic relocs into one section\n"));
   fprintf (file, _("\
   -z global                   Make symbols in DSO available for subsequently\n\
-			       loaded objects\n"));
+                               loaded objects\n"));
   fprintf (file, _("\
   -z initfirst                Mark DSO to be initialized first at runtime\n"));
   fprintf (file, _("\
@@ -1775,7 +1776,7 @@ elf_shlib_list_options (FILE *file)
   -z now                      Mark object non-lazy runtime binding\n"));
   fprintf (file, _("\
   -z origin                   Mark object requiring immediate $ORIGIN\n\
-				processing at runtime\n"));
+                                processing at runtime\n"));
 #if DEFAULT_LD_Z_RELRO
   fprintf (file, _("\
   -z relro                    Create RELRO program header (default)\n"));
@@ -1825,7 +1826,7 @@ elf_static_list_options (FILE *file)
   fprintf (file, _("\
   -z max-page-size=SIZE       Set maximum page size to SIZE\n"));
   fprintf (file, _("\
-  -z defs                     Report unresolved symbols in object files.\n"));
+  -z defs                     Report unresolved symbols in object files\n"));
   fprintf (file, _("\
   -z muldefs                  Allow multiple definitions\n"));
   fprintf (file, _("\
@@ -1840,7 +1841,8 @@ static void
 elf_plt_unwind_list_options (FILE *file)
 {
   fprintf (file, _("\
-  --ld-generated-unwind-info  Generate exception handling info for PLT\n\
+  --ld-generated-unwind-info  Generate exception handling info for PLT\n"));
+  fprintf (file, _("\
   --no-ld-generated-unwind-info\n\
                               Don't generate exception handling info for PLT\n"));
 }
diff --git a/ld/mri.c b/ld/mri.c
index a2ffcaa..788ca4e 100644
--- a/ld/mri.c
+++ b/ld/mri.c
@@ -292,7 +292,7 @@ mri_format (const char *name)
     lang_add_output_format ("coff-m68k", NULL, NULL, 1);
 
   else
-    einfo (_("%P%F: unknown format type %s\n"), name);
+    einfo (_("%F%P: unknown format type %s\n"), name);
 }
 
 void
diff --git a/ld/pe-dll.c b/ld/pe-dll.c
index 5f11005..c087bf2 100644
--- a/ld/pe-dll.c
+++ b/ld/pe-dll.c
@@ -442,7 +442,7 @@ pe_dll_id_target (const char *target)
 	pe_leading_underscore = (u != 0 ? 1 : 0);
 	return;
       }
-  einfo (_("%P%X: Unsupported PEI architecture: %s\n"), target);
+  einfo (_("%X%P: unsupported PEI architecture: %s\n"), target);
   exit (1);
 }
 
@@ -722,7 +722,7 @@ process_def_file_and_drectve (bfd *abfd ATTRIBUTE_UNUSED, struct bfd_link_info *
 
 	  if (!bfd_generic_link_read_symbols (b))
 	    {
-	      einfo (_("%pB%F: could not read symbols: %E\n"), b);
+	      einfo (_("%F%P: %pB: could not read symbols: %E\n"), b);
 	      return;
 	    }
 
@@ -811,7 +811,7 @@ process_def_file_and_drectve (bfd *abfd ATTRIBUTE_UNUSED, struct bfd_link_info *
 	      if (tmp_at)
 		*tmp_at = 0;
 	      else
-		einfo (_("%P%X: Cannot export %s: invalid export name\n"),
+		einfo (_("%X%P: cannot export %s: invalid export name\n"),
 		       pe_def_file->exports[i].name);
 	      pe_def_file->exports[i].name = tmp;
 	      resort_needed = TRUE;
@@ -863,14 +863,14 @@ process_def_file_and_drectve (bfd *abfd ATTRIBUTE_UNUSED, struct bfd_link_info *
 	    {
 	      if (pe_dll_warn_dup_exports)
 		/* xgettext:c-format */
-		einfo (_("%P%X: Error, duplicate EXPORT with ordinals: %s (%d vs %d)\n"),
+		einfo (_("%X%P: error, duplicate EXPORT with ordinals: %s (%d vs %d)\n"),
 		       e[j - 1].name, e[j - 1].ordinal, e[i].ordinal);
 	    }
 	  else
 	    {
 	      if (pe_dll_warn_dup_exports)
 		/* xgettext:c-format */
-		einfo (_("%P: Warning, duplicate EXPORT: %s\n"),
+		einfo (_("%P: warning, duplicate EXPORT: %s\n"),
 		       e[j - 1].name);
 	    }
 
@@ -980,20 +980,20 @@ process_def_file_and_drectve (bfd *abfd ATTRIBUTE_UNUSED, struct bfd_link_info *
       else if (blhe && blhe->type == bfd_link_hash_undefined)
 	{
 	  /* xgettext:c-format */
-	  einfo (_("%P%X: Cannot export %s: symbol not defined\n"),
+	  einfo (_("%X%P: cannot export %s: symbol not defined\n"),
 		 int_name);
 	}
       else if (blhe)
 	{
 	  /* xgettext:c-format */
-	  einfo (_("%P%X: Cannot export %s: symbol wrong type (%d vs %d)\n"),
+	  einfo (_("%X%P: cannot export %s: symbol wrong type (%d vs %d)\n"),
 		 int_name,
 		 blhe->type, bfd_link_hash_defined);
 	}
       else
 	{
 	  /* xgettext:c-format */
-	  einfo (_("%P%X: Cannot export %s: symbol not found\n"),
+	  einfo (_("%X%P: cannot export %s: symbol not found\n"),
 		 int_name);
 	}
       free (name);
@@ -1016,7 +1016,7 @@ build_filler_bfd (int include_edata)
 			     bfd_get_arch (link_info.output_bfd),
 			     bfd_get_mach (link_info.output_bfd)))
     {
-      einfo (_("%X%P: can not create BFD: %E\n"));
+      einfo (_("%F%P: can not create BFD: %E\n"));
       return;
     }
 
@@ -1107,7 +1107,7 @@ generate_edata (bfd *abfd, struct bfd_link_info *info ATTRIBUTE_UNUSED)
 	      if (pi != -1)
 		{
 		  /* xgettext:c-format */
-		  einfo (_("%P%X: Error: ordinal used twice: %d (%s vs %s)\n"),
+		  einfo (_("%X%P: error: ordinal used twice: %d (%s vs %s)\n"),
 			 pe_def_file->exports[i].ordinal,
 			 pe_def_file->exports[i].name,
 			 pe_def_file->exports[pi].name);
@@ -1143,7 +1143,7 @@ generate_edata (bfd *abfd, struct bfd_link_info *info ATTRIBUTE_UNUSED)
   /* PR 12969: Check for more than 1^16 ordinals.  */
   if (max_ordinal > 65535 || next_ordinal > 65535)
     /* xgettext:c-format */
-    einfo(_("%P%X: Error: export ordinal too large: %d\n"),
+    einfo(_("%X%P: error: export ordinal too large: %d\n"),
 	  max_ordinal > next_ordinal ? max_ordinal : next_ordinal);
 
   /* OK, now we can allocate some memory.  */
@@ -1301,7 +1301,7 @@ pe_walk_relocs_of_symbol (struct bfd_link_info *info,
 
       if (!bfd_generic_link_read_symbols (b))
 	{
-	  einfo (_("%pB%F: could not read symbols: %E\n"), b);
+	  einfo (_("%F%P: %pB: could not read symbols: %E\n"), b);
 	  return;
 	}
 
@@ -1388,7 +1388,7 @@ generate_reloc (bfd *abfd, struct bfd_link_info *info)
 	  if (s->output_section->vma == 0)
 	    {
 	      /* Huh?  Shouldn't happen, but punt if it does.  */
-	      einfo (_("zero vma section reloc detected: `%s' #%d f=%d\n"),
+	      einfo (_("%P: zero vma section reloc detected: `%s' #%d f=%d\n"),
 		     s->output_section->name, s->output_section->index,
 		     s->output_section->flags);
 	      continue;
@@ -1396,7 +1396,7 @@ generate_reloc (bfd *abfd, struct bfd_link_info *info)
 
 	  if (!bfd_generic_link_read_symbols (b))
 	    {
-	      einfo (_("%pB%F: could not read symbols: %E\n"), b);
+	      einfo (_("%F%P: %pB: could not read symbols: %E\n"), b);
 	      return;
 	    }
 
@@ -1503,7 +1503,7 @@ generate_reloc (bfd *abfd, struct bfd_link_info *info)
 		      /* Fall through.  */
 		    default:
 		      /* xgettext:c-format */
-		      einfo (_("%P%X: Error: %d-bit reloc in dll\n"),
+		      einfo (_("%X%P: error: %d-bit reloc in dll\n"),
 			     relocs[i]->howto->bitsize);
 		      break;
 		    }
@@ -1631,7 +1631,7 @@ pe_dll_generate_def_file (const char *pe_out_def_filename)
 
   if (out == NULL)
     /* xgettext:c-format */
-    einfo (_("%P: Can't open output def file %s\n"),
+    einfo (_("%P: can't open output def file %s\n"),
 	   pe_out_def_filename);
 
   if (pe_def_file)
@@ -1786,7 +1786,7 @@ pe_dll_generate_def_file (const char *pe_out_def_filename)
 
   if (fclose (out) == EOF)
     /* xgettext:c-format */
-    einfo (_("%P: Error closing file `%s'\n"), pe_out_def_filename);
+    einfo (_("%P: error closing file `%s'\n"), pe_out_def_filename);
 }
 
 /* Generate the import library.  */
@@ -2701,7 +2701,7 @@ pe_create_import_fixup (arelent *rel, asection *s, bfd_vma addend, char *name)
       runtime_pseudo_relocs_created++;
     }
   else if (addend != 0)
-    einfo (_("%P%X%C: variable '%pT' can't be auto-imported. Please read the documentation for ld's --enable-auto-import for details.\n"),
+    einfo (_("%X%P: %C: variable '%pT' can't be auto-imported; please read the documentation for ld's --enable-auto-import for details\n"),
 	   s->owner, s, rel->address, sym->name);
 }
 
@@ -2729,7 +2729,7 @@ pe_dll_generate_implib (def_file *def, const char *impfilename, struct bfd_link_
   if (!outarch)
     {
       /* xgettext:c-format */
-      einfo (_("%P%X: Can't open .lib file: %s\n"), impfilename);
+      einfo (_("%X%P: can't open .lib file: %s\n"), impfilename);
       return;
     }
 
@@ -2764,7 +2764,7 @@ pe_dll_generate_implib (def_file *def, const char *impfilename, struct bfd_link_
 		? ibfd->my_archive->filename : ibfd->filename, NULL);
 	  if (!newbfd)
 	    {
-	      einfo (_("%P%X: bfd_openr %s: %E\n"), ibfd->filename);
+	      einfo (_("%X%P: bfd_openr %s: %E\n"), ibfd->filename);
 	      return;
 	    }
 	  if (ibfd->my_archive)
@@ -2776,7 +2776,7 @@ pe_dll_generate_implib (def_file *def, const char *impfilename, struct bfd_link_
 	      bfd *arbfd = newbfd;
 	      if (!bfd_check_format_matches (arbfd, bfd_archive, NULL))
 		{
-		  einfo (_("%P%X: %s(%s): can't find member in non-archive file"),
+		  einfo (_("%X%P: %s(%s): can't find member in non-archive file"),
 		    ibfd->my_archive->filename, ibfd->filename);
 		  return;
 		}
@@ -2788,7 +2788,7 @@ pe_dll_generate_implib (def_file *def, const char *impfilename, struct bfd_link_
 		}
 	      if (!newbfd)
 		{
-		  einfo (_("%P%X: %s(%s): can't find member in archive"),
+		  einfo (_("%X%P: %s(%s): can't find member in archive"),
 		    ibfd->my_archive->filename, ibfd->filename);
 		  return;
 		}
@@ -2863,10 +2863,10 @@ pe_dll_generate_implib (def_file *def, const char *impfilename, struct bfd_link_
   head = ar_tail;
 
   if (! bfd_set_archive_head (outarch, head))
-    einfo ("%P%X: bfd_set_archive_head: %E\n");
+    einfo ("%X%P: bfd_set_archive_head: %E\n");
 
   if (! bfd_close (outarch))
-    einfo ("%P%X: bfd_close %s: %E\n", impfilename);
+    einfo ("%X%P: bfd_close %s: %E\n", impfilename);
 
   while (head != NULL)
     {
@@ -3050,7 +3050,7 @@ add_bfd_to_link (bfd *abfd, const char *name, struct bfd_link_info *linfo)
   ldlang_add_file (fake_file);
 
   if (!bfd_link_add_symbols (abfd, linfo))
-    einfo (_("%P%X: add symbols %s: %E\n"), name);
+    einfo (_("%X%P: add symbols %s: %E\n"), name);
 }
 
 void
@@ -3236,14 +3236,14 @@ pe_implied_import_dll (const char *filename)
   dll = bfd_openr (filename, pe_details->target_name);
   if (!dll)
     {
-      einfo (_("%P%X: open %s: %E\n"), filename);
+      einfo (_("%X%P: open %s: %E\n"), filename);
       return FALSE;
     }
 
   /* PEI dlls seem to be bfd_objects.  */
   if (!bfd_check_format (dll, bfd_object))
     {
-      einfo (_("%P%X: %s: this doesn't appear to be a DLL\n"), filename);
+      einfo (_("%X%P: %s: this doesn't appear to be a DLL\n"), filename);
       return FALSE;
     }
 
@@ -3414,7 +3414,7 @@ pe_output_file_set_long_section_names (bfd *abfd)
   if (pe_use_coff_long_section_names < 0)
     return;
   if (!bfd_coff_set_long_section_names (abfd, pe_use_coff_long_section_names))
-    einfo (_("%P%X: Error: can't use long section names on this arch\n"));
+    einfo (_("%X%P: error: can't use long section names on this arch\n"));
 }
 
 /* These are the main functions, called from the emulation.  The first
diff --git a/ld/plugin.c b/ld/plugin.c
index 0fb51c2..fad8bc0 100644
--- a/ld/plugin.c
+++ b/ld/plugin.c
@@ -243,7 +243,7 @@ plugin_opt_plugin (const char *plugin)
   newplug->name = plugin;
   newplug->dlhandle = dlopen (plugin, RTLD_NOW);
   if (!newplug->dlhandle)
-    einfo (_("%P%F: %s: error loading plugin: %s\n"), plugin, dlerror ());
+    einfo (_("%F%P: %s: error loading plugin: %s\n"), plugin, dlerror ());
 
   /* Check if plugin has been loaded already.  */
   while (curplug)
@@ -336,7 +336,7 @@ plugin_get_ir_dummy_bfd (const char *name, bfd *srctemplate)
 	}
     }
 report_error:
-  einfo (_("could not create dummy IR bfd: %F%E\n"));
+  einfo (_("%F%P: could not create dummy IR bfd: %E\n"));
   return NULL;
 }
 
@@ -424,11 +424,11 @@ asymbol_from_plugin_symbol (bfd *abfd, asymbol *asym,
       unsigned char visibility;
 
       if (!elfsym)
-	einfo (_("%P%F: %s: non-ELF symbol in ELF BFD!\n"), asym->name);
+	einfo (_("%F%P: %s: non-ELF symbol in ELF BFD!\n"), asym->name);
       switch (ldsym->visibility)
 	{
 	default:
-	  einfo (_("%P%F: unknown ELF symbol visibility: %d!\n"),
+	  einfo (_("%F%P: unknown ELF symbol visibility: %d!\n"),
 		 ldsym->visibility);
 	  return LDPS_ERR;
 
@@ -539,7 +539,7 @@ get_view (const void *handle, const void **viewp)
 
   /* FIXME: einfo should support %lld.  */
   if ((off_t) size != input->filesize)
-    einfo (_("%P%F: unsupported input file size: %s (%ld bytes)\n"),
+    einfo (_("%F%P: unsupported input file size: %s (%ld bytes)\n"),
 	   input->name, (long) input->filesize);
 
   /* Check the cached view buffer.  */
@@ -723,7 +723,7 @@ get_symbols (const void *handle, int nsyms, struct ld_plugin_symbol *syms,
 	  && blhe->type != bfd_link_hash_common)
 	{
 	  /* We should not have a new, indirect or warning symbol here.  */
-	  einfo (_("%P%F: %s: plugin symbol table corrupt (sym type %d)\n"),
+	  einfo (_("%F%P: %s: plugin symbol table corrupt (sym type %d)\n"),
 		 called_plugin->name, blhe->type);
 	}
 
@@ -858,7 +858,7 @@ message (int level, const char *format, ...)
       break;
     case LDPL_WARNING:
       {
-	char *newfmt = concat ("%P: warning: ", format, "\n",
+	char *newfmt = concat (_("%P: warning: "), format, "\n",
 			       (const char *) NULL);
 	vfinfo (stdout, newfmt, args, TRUE);
 	free (newfmt);
@@ -868,8 +868,8 @@ message (int level, const char *format, ...)
     case LDPL_ERROR:
     default:
       {
-	char *newfmt = concat (level == LDPL_FATAL ? "%P%F" : "%P%X",
-			       ": error: ", format, "\n",
+	char *newfmt = concat (level == LDPL_FATAL ? "%F" : "%X",
+			       _("%P: error: "), format, "\n",
 			       (const char *) NULL);
 	fflush (stdout);
 	vfinfo (stderr, newfmt, args, TRUE);
@@ -1014,14 +1014,14 @@ plugin_load_plugins (void)
       if (!onloadfn)
 	onloadfn = (ld_plugin_onload) dlsym (curplug->dlhandle, "_onload");
       if (!onloadfn)
-	einfo (_("%P%F: %s: error loading plugin: %s\n"),
+	einfo (_("%F%P: %s: error loading plugin: %s\n"),
 	       curplug->name, dlerror ());
       set_tv_plugin_args (curplug, &my_tv[tv_header_size]);
       called_plugin = curplug;
       rv = (*onloadfn) (my_tv);
       called_plugin = NULL;
       if (rv != LDPS_OK)
-	einfo (_("%P%F: %s: plugin error: %d\n"), curplug->name, rv);
+	einfo (_("%F%P: %s: plugin error: %d\n"), curplug->name, rv);
       curplug = curplug->next;
     }
 
@@ -1080,7 +1080,7 @@ plugin_strdup (bfd *abfd, const char *str)
   strlength = strlen (str) + 1;
   copy = bfd_alloc (abfd, strlength);
   if (copy == NULL)
-    einfo (_("%P%F: plugin_strdup failed to allocate memory: %s\n"),
+    einfo (_("%F%P: plugin_strdup failed to allocate memory: %s\n"),
 	   bfd_get_error ());
   memcpy (copy, str, strlength);
   return copy;
@@ -1112,7 +1112,7 @@ plugin_object_p (bfd *ibfd)
 
   input = bfd_alloc (abfd, sizeof (*input));
   if (input == NULL)
-    einfo (_("%P%F: plugin failed to allocate memory for input: %s\n"),
+    einfo (_("%F%P: plugin failed to allocate memory for input: %s\n"),
 	   bfd_get_error ());
 
   if (!bfd_plugin_open_input (ibfd, &file))
@@ -1145,7 +1145,7 @@ plugin_object_p (bfd *ibfd)
   claimed = 0;
 
   if (plugin_call_claim_file (&file, &claimed))
-    einfo (_("%P%F: %s: plugin reported error claiming file\n"),
+    einfo (_("%F%P: %s: plugin reported error claiming file\n"),
 	   plugin_error_plugin ());
 
   if (input->fd != -1 && !bfd_plugin_target_p (ibfd->xvec))
diff --git a/ld/testsuite/ld-arc/jli-overflow.err b/ld/testsuite/ld-arc/jli-overflow.err
index 022434e..e0c1ccf 100644
--- a/ld/testsuite/ld-arc/jli-overflow.err
+++ b/ld/testsuite/ld-arc/jli-overflow.err
@@ -1,3 +1,3 @@
-.*\.o: In function `test_1025':
+.*\.o: in function `test_1025':
 .*: relocation truncated to fit: R_ARC_JLI_SECTOFF against symbol.*
 #...
diff --git a/ld/testsuite/ld-arm/cmse-implib-errors.out b/ld/testsuite/ld-arm/cmse-implib-errors.out
index 8f9ecc2..e458be2 100644
--- a/ld/testsuite/ld-arm/cmse-implib-errors.out
+++ b/ld/testsuite/ld-arm/cmse-implib-errors.out
@@ -1,5 +1,5 @@
 .*: .*: absent standard symbol `not_exported_fct2'
 .*: .*: invalid special symbol `__acle_se_not_exported_pseudoentry_var'; it must be a global or weak function symbol
 .*: .*: invalid standard symbol `not_exported_pseudoentry_var'; it must be a global or weak function symbol
-.* cannot size stub section: invalid operation
+.* can not size stub section: invalid operation
 #...
diff --git a/ld/testsuite/ld-arm/cmse-new-earlier-later-implib.out b/ld/testsuite/ld-arm/cmse-new-earlier-later-implib.out
index d7cd73f..2e88ca4 100644
--- a/ld/testsuite/ld-arm/cmse-new-earlier-later-implib.out
+++ b/ld/testsuite/ld-arm/cmse-new-earlier-later-implib.out
@@ -1,3 +1,3 @@
 .*: entry function `exported_entry_veneer3' disappeared from secure code
 .*: start address of `.gnu.sgstubs' is different from previous link
-.*: cannot size stub section: invalid operation
+.*: can not size stub section: invalid operation
diff --git a/ld/testsuite/ld-arm/cmse-new-implib-not-sg-in-implib.out b/ld/testsuite/ld-arm/cmse-new-implib-not-sg-in-implib.out
index 12c254c..d13a182 100644
--- a/ld/testsuite/ld-arm/cmse-new-implib-not-sg-in-implib.out
+++ b/ld/testsuite/ld-arm/cmse-new-implib-not-sg-in-implib.out
@@ -1,2 +1,2 @@
 .*: --in-implib only supported for Secure Gateway import libraries
-.*: cannot size stub section: invalid operation
+.*: can not size stub section: invalid operation
diff --git a/ld/testsuite/ld-arm/cmse-new-wrong-implib.out b/ld/testsuite/ld-arm/cmse-new-wrong-implib.out
index 065dd37..f6498d2 100644
--- a/ld/testsuite/ld-arm/cmse-new-wrong-implib.out
+++ b/ld/testsuite/ld-arm/cmse-new-wrong-implib.out
@@ -1,3 +1,3 @@
 .*: .*: visibility of symbol `exported_entry_veneer2' has changed
 .*: `exported_entry_fct2' refers to a non entry function
-.*: cannot size stub section: invalid operation
+.*: can not size stub section: invalid operation
diff --git a/ld/testsuite/ld-arm/cmse-veneers-no-gnu_sgstubs.out b/ld/testsuite/ld-arm/cmse-veneers-no-gnu_sgstubs.out
index 197566b..a25ca1a 100644
--- a/ld/testsuite/ld-arm/cmse-veneers-no-gnu_sgstubs.out
+++ b/ld/testsuite/ld-arm/cmse-veneers-no-gnu_sgstubs.out
@@ -1,3 +1,3 @@
 .*: no address assigned to the veneers output section .gnu.sgstubs
-.*: cannot size stub section: invalid operation
+.*: can not size stub section: invalid operation
 #...
diff --git a/ld/testsuite/ld-arm/cmse-veneers-wrong-entryfct.out b/ld/testsuite/ld-arm/cmse-veneers-wrong-entryfct.out
index dad7790..694023e 100644
--- a/ld/testsuite/ld-arm/cmse-veneers-wrong-entryfct.out
+++ b/ld/testsuite/ld-arm/cmse-veneers-wrong-entryfct.out
@@ -8,5 +8,5 @@
 .*: .*: invalid standard symbol `obj_entry_veneer1'; it must be a global or weak function symbol
 .*: .*: invalid special symbol `__acle_se_obj_entry_veneer2'; it must be a global or weak function symbol
 .*: .*: `fake_entry_veneer2' and its special symbol are in different sections
-.*: cannot size stub section: invalid operation
+.*: can not size stub section: invalid operation
 #...
diff --git a/ld/testsuite/ld-arm/vxworks1-static.d b/ld/testsuite/ld-arm/vxworks1-static.d
index 88c0baf..275e20e 100644
--- a/ld/testsuite/ld-arm/vxworks1-static.d
+++ b/ld/testsuite/ld-arm/vxworks1-static.d
@@ -1,4 +1,4 @@
 #name: VxWorks executable test 1 (static)
 #source: vxworks1.s
 #ld: tmpdir/libvxworks1.so -Tvxworks1.ld
-#error: Dynamic sections created in non-dynamic link
+#error: dynamic sections created in non-dynamic link
diff --git a/ld/testsuite/ld-cris/tls-err-20x.d b/ld/testsuite/ld-cris/tls-err-20x.d
index d12e4ee..9a3af03 100644
--- a/ld/testsuite/ld-cris/tls-err-20x.d
+++ b/ld/testsuite/ld-cris/tls-err-20x.d
@@ -5,7 +5,7 @@
 #source: tls-hx.s --pic
 #as: --no-underscore --em=criself
 #ld: -m crislinux
-#error: \A[^\n]*: warning: cannot find entry symbol _start; defaulting to [0-9a-f]*\n[^\n]*: In function `tlsdsofn9':\n[^\n]*: undefined reference to `x1'\n[^\n]*: undefined reference to `x2'\Z
+#error: \A[^\n]*: warning: cannot find entry symbol _start; defaulting to [0-9a-f]*\n[^\n]*: in function `tlsdsofn9':\n[^\n]*: undefined reference to `x1'\n[^\n]*: undefined reference to `x2'\Z
 
 # Code coverage case similar to tls-e-20.d, except with an undefined
 # reference.
diff --git a/ld/testsuite/ld-cris/tls-err-29.d b/ld/testsuite/ld-cris/tls-err-29.d
index 1024ea8..e0d7327 100644
--- a/ld/testsuite/ld-cris/tls-err-29.d
+++ b/ld/testsuite/ld-cris/tls-err-29.d
@@ -2,6 +2,6 @@
 #source: tls-gdgotrelm.s --defsym r=8192
 #as: --no-underscore --em=criself --pic
 #ld: --shared -m crislinux
-#error: \A[^\n]*\.o: In function[^\n]*\n[^\n]*truncated[^\n]*\n[^\n]*too many[^\n]*\Z
+#error: \A[^\n]*\.o: in function[^\n]*\n[^\n]*truncated[^\n]*\n[^\n]*too many[^\n]*\Z
 
 # Check that overflow for R_CRIS_16_GOT_GD is flagged as an error.
diff --git a/ld/testsuite/ld-cris/tls-err-31.d b/ld/testsuite/ld-cris/tls-err-31.d
index b95fa54..b7484ad 100644
--- a/ld/testsuite/ld-cris/tls-err-31.d
+++ b/ld/testsuite/ld-cris/tls-err-31.d
@@ -1,6 +1,6 @@
 #source: tls-dtprelm.s --defsym r=32768
 #as: --no-underscore --em=criself --pic
 #ld: --shared -m crislinux
-#error: \A[^\n]*\.o: In function[^\n]*\n[^\n]*truncated[^\n]*\n[^\n]*too big[^\n]*\Z
+#error: \A[^\n]*\.o: in function[^\n]*\n[^\n]*truncated[^\n]*\n[^\n]*too big[^\n]*\Z
 
 # Check that overflow for R_CRIS_16_DTPREL is flagged as an error.
diff --git a/ld/testsuite/ld-cris/tls-err-33.d b/ld/testsuite/ld-cris/tls-err-33.d
index 6872bbd..329fae1 100644
--- a/ld/testsuite/ld-cris/tls-err-33.d
+++ b/ld/testsuite/ld-cris/tls-err-33.d
@@ -1,6 +1,6 @@
 #source: tls-gottprelm.s --defsym r=8190
 #as: --no-underscore --em=criself --pic
 #ld: --shared -m crislinux
-#error: \A[^\n]*\.o: In function[^\n]*\n[^\n]*truncated[^\n]*\n[^\n]*too many[^\n]*\Z
+#error: \A[^\n]*\.o: in function[^\n]*\n[^\n]*truncated[^\n]*\n[^\n]*too many[^\n]*\Z
 
 # Check that overflow for R_CRIS_16_GOT_TPREL is flagged as an error.
diff --git a/ld/testsuite/ld-cris/tls-err-35.d b/ld/testsuite/ld-cris/tls-err-35.d
index 9aa7b87..b203e35 100644
--- a/ld/testsuite/ld-cris/tls-err-35.d
+++ b/ld/testsuite/ld-cris/tls-err-35.d
@@ -2,6 +2,6 @@
 #source: tls-tprelm.s --defsym r=32768
 #as: --no-underscore --em=criself
 #ld: -m crislinux
-#error: \A[^\n]*\.o: In function[^\n]*\n[^\n]*truncated[^\n]*\n[^\n]*too big[^\n]*\Z
+#error: \A[^\n]*\.o: in function[^\n]*\n[^\n]*truncated[^\n]*\n[^\n]*too big[^\n]*\Z
 
 # Check that overflow for R_CRIS_16_TPREL is flagged as an error.
diff --git a/ld/testsuite/ld-cris/tls-err-37.d b/ld/testsuite/ld-cris/tls-err-37.d
index e2efff1..a41dd0a 100644
--- a/ld/testsuite/ld-cris/tls-err-37.d
+++ b/ld/testsuite/ld-cris/tls-err-37.d
@@ -2,6 +2,6 @@
 #source: tls-gd-2.s --pic
 #as: --no-underscore --em=criself
 #ld: -m crislinux
-#error: \A[^\n]*\.o: In function[^\n]*\n[^\n]*undefined reference[^\n]*\Z
+#error: \A[^\n]*\.o: in function[^\n]*\n[^\n]*undefined reference[^\n]*\Z
 
 # Undefined reference for a R_CRIS_32_GOT_GD in an executable.
diff --git a/ld/testsuite/ld-cris/tls-err-39.d b/ld/testsuite/ld-cris/tls-err-39.d
index dab70f2..fbdc698 100644
--- a/ld/testsuite/ld-cris/tls-err-39.d
+++ b/ld/testsuite/ld-cris/tls-err-39.d
@@ -2,6 +2,6 @@
 #source: tls-ld-6.s --pic
 #as: --no-underscore --em=criself
 #ld: -m crislinux
-#error: \A[^\n]*\.o: In function[^\n]*\n[^\n]*undefined reference[^\n]*\Z
+#error: \A[^\n]*\.o: in function[^\n]*\n[^\n]*undefined reference[^\n]*\Z
 
 # Undefined reference for a R_CRIS_32_DTPREL in an executable.
diff --git a/ld/testsuite/ld-cris/tls-err-41.d b/ld/testsuite/ld-cris/tls-err-41.d
index b751f0a..0c4705f 100644
--- a/ld/testsuite/ld-cris/tls-err-41.d
+++ b/ld/testsuite/ld-cris/tls-err-41.d
@@ -2,6 +2,6 @@
 #source: tls-ie-10.s --pic
 #as: --no-underscore --em=criself
 #ld: -m crislinux
-#error: \A[^\n]*\.o: In function[^\n]*\n[^\n]*undefined reference[^\n]*\Z
+#error: \A[^\n]*\.o: in function[^\n]*\n[^\n]*undefined reference[^\n]*\Z
 
 # Undefined reference for a R_CRIS_32_GOT_TPREL in an executable.
diff --git a/ld/testsuite/ld-cris/tls-err-43.d b/ld/testsuite/ld-cris/tls-err-43.d
index f516c6f..bb3abb4 100644
--- a/ld/testsuite/ld-cris/tls-err-43.d
+++ b/ld/testsuite/ld-cris/tls-err-43.d
@@ -2,6 +2,6 @@
 #source: tls-le-12.s
 #as: --no-underscore --em=criself
 #ld: -m crislinux
-#error: \A[^\n]*\.o: In function[^\n]*\n[^\n]*undefined reference[^\n]*\Z
+#error: \A[^\n]*\.o: in function[^\n]*\n[^\n]*undefined reference[^\n]*\Z
 
 # Undefined reference for a R_CRIS_32_TPREL in an executable.
diff --git a/ld/testsuite/ld-cris/tls-err-45.d b/ld/testsuite/ld-cris/tls-err-45.d
index be847ba..28faa30 100644
--- a/ld/testsuite/ld-cris/tls-err-45.d
+++ b/ld/testsuite/ld-cris/tls-err-45.d
@@ -2,6 +2,6 @@
 #source: tls-gd-1.s --pic
 #as: --no-underscore --em=criself
 #ld: -m crislinux
-#error: \A[^\n]*\.o: In function[^\n]*\n[^\n]*undefined reference[^\n]*\Z
+#error: \A[^\n]*\.o: in function[^\n]*\n[^\n]*undefined reference[^\n]*\Z
 
 # Undefined reference for a R_CRIS_16_GOT_GD in an executable.
diff --git a/ld/testsuite/ld-cris/tls-err-47.d b/ld/testsuite/ld-cris/tls-err-47.d
index d9a1a30..4f7139b 100644
--- a/ld/testsuite/ld-cris/tls-err-47.d
+++ b/ld/testsuite/ld-cris/tls-err-47.d
@@ -2,6 +2,6 @@
 #source: tls-ld-4.s --pic
 #as: --no-underscore --em=criself
 #ld: -m crislinux
-#error: \A[^\n]*\.o: In function[^\n]*\n[^\n]*undefined reference[^\n]*\Z
+#error: \A[^\n]*\.o: in function[^\n]*\n[^\n]*undefined reference[^\n]*\Z
 
 # Undefined reference for a R_CRIS_16_DTPREL in an executable.
diff --git a/ld/testsuite/ld-cris/tls-err-49.d b/ld/testsuite/ld-cris/tls-err-49.d
index 6ff4ba5..5d8a9c9 100644
--- a/ld/testsuite/ld-cris/tls-err-49.d
+++ b/ld/testsuite/ld-cris/tls-err-49.d
@@ -2,6 +2,6 @@
 #source: tls-ie-8.s --pic
 #as: --no-underscore --em=criself
 #ld: -m crislinux
-#error: \A[^\n]*\.o: In function[^\n]*\n[^\n]*undefined reference[^\n]*\Z
+#error: \A[^\n]*\.o: in function[^\n]*\n[^\n]*undefined reference[^\n]*\Z
 
 # Undefined reference for a R_CRIS_16_GOT_TPREL in an executable.
diff --git a/ld/testsuite/ld-cris/tls-err-51.d b/ld/testsuite/ld-cris/tls-err-51.d
index 8e71cc5..3891aac 100644
--- a/ld/testsuite/ld-cris/tls-err-51.d
+++ b/ld/testsuite/ld-cris/tls-err-51.d
@@ -2,6 +2,6 @@
 #source: tls-le-12s.s
 #as: --no-underscore --em=criself
 #ld: -m crislinux
-#error: \A[^\n]*\.o: In function[^\n]*\n[^\n]*undefined reference[^\n]*\Z
+#error: \A[^\n]*\.o: in function[^\n]*\n[^\n]*undefined reference[^\n]*\Z
 
 # Undefined reference for a R_CRIS_16_TPREL in an executable.
diff --git a/ld/testsuite/ld-cris/tls-err-67.d b/ld/testsuite/ld-cris/tls-err-67.d
index 0a0020b..6a010e1 100644
--- a/ld/testsuite/ld-cris/tls-err-67.d
+++ b/ld/testsuite/ld-cris/tls-err-67.d
@@ -2,7 +2,7 @@
 #source: tls-gdgotrelm.s --defsym r=8203
 #as: --no-underscore --em=criself --pic
 #ld: --shared -m crislinux
-#error: \A[^\n]*\.o: In[^\n]*\n[^\n]*truncated[^\n]*\n[^\n]*too many[^\n]*\n[^\n]*\.o: In[^\n]*\n[^\n]*truncated[^\n]*\n[^\n]*too many[^\n]*\n[^\n]*\.o: In[^\n]*\n[^\n]*truncated[^\n]*\n[^\n]*too many[^\n]*\n[^\n]*\.o: In[^\n]*\n[^\n]*truncated[^\n]*\n[^\n]*too many[^\n]*\n[^\n]*\.o: In[^\n]*\n[^\n]*truncated[^\n]*\n[^\n]*too many[^\n]*\n[^\n]*\.o: In[^\n]*\n[^\n]*truncated[^\n]*\n[^\n]*too many[^\n]*\n[^\n]*\.o: In[^\n]*\n[^\n]*truncated[^\n]*\n[^\n]*too many[^\n]*\n[^\n]*\.o: In[^\n]*\n[^\n]*truncated[^\n]*\n[^\n]*too many[^\n]*\n[^\n]*\.o: In[^\n]*\n[^\n]*truncated[^\n]*\n[^\n]*too many[^\n]*\n[^\n]*\.o: In[^\n]*\n[^\n]*truncated[^\n]*\n[^\n]*too many[^\n]*\n[^\n]*\.o: In[^\n]*\n[^\n]*omitted[^\n]*\Z
+#error: \A[^\n]*\.o: in[^\n]*\n[^\n]*truncated[^\n]*\n[^\n]*too many[^\n]*\n[^\n]*\.o: in[^\n]*\n[^\n]*truncated[^\n]*\n[^\n]*too many[^\n]*\n[^\n]*\.o: in[^\n]*\n[^\n]*truncated[^\n]*\n[^\n]*too many[^\n]*\n[^\n]*\.o: in[^\n]*\n[^\n]*truncated[^\n]*\n[^\n]*too many[^\n]*\n[^\n]*\.o: in[^\n]*\n[^\n]*truncated[^\n]*\n[^\n]*too many[^\n]*\n[^\n]*\.o: in[^\n]*\n[^\n]*truncated[^\n]*\n[^\n]*too many[^\n]*\n[^\n]*\.o: in[^\n]*\n[^\n]*truncated[^\n]*\n[^\n]*too many[^\n]*\n[^\n]*\.o: in[^\n]*\n[^\n]*truncated[^\n]*\n[^\n]*too many[^\n]*\n[^\n]*\.o: in[^\n]*\n[^\n]*truncated[^\n]*\n[^\n]*too many[^\n]*\n[^\n]*\.o: in[^\n]*\n[^\n]*truncated[^\n]*\n[^\n]*too many[^\n]*\n[^\n]*\.o: in[^\n]*\n[^\n]*omitted[^\n]*\Z
 
 # Check that the error messages get the right number of appended
 # explanations with default values when bailing out and omitting
diff --git a/ld/testsuite/ld-elf/dwarf2.err b/ld/testsuite/ld-elf/dwarf2.err
index b3d301f..82d3651 100644
--- a/ld/testsuite/ld-elf/dwarf2.err
+++ b/ld/testsuite/ld-elf/dwarf2.err
@@ -1,6 +1,4 @@
-tmpdir/dwarf2b\.o:.*dwarf2b\.c:1: multiple definition of `global_var'
-tmpdir/dwarf2a\.o:.*dwarf2a\.c:1: first defined here
+.*: tmpdir/dwarf2b\.o:.*dwarf2b\.c:1: multiple definition of `global_var'; tmpdir/dwarf2a\.o:.*dwarf2a\.c:1: first defined here
 #...
-tmpdir/dwarf2b\.o:.*dwarf2b\.c:2: multiple definition of `other_var'
-tmpdir/dwarf2a\.o:.*dwarf2a\.c:2: first defined here
+.*: tmpdir/dwarf2b\.o:.*dwarf2b\.c:2: multiple definition of `other_var'; tmpdir/dwarf2a\.o:.*dwarf2a\.c:2: first defined here
 #...
diff --git a/ld/testsuite/ld-elf/dwarf3.err b/ld/testsuite/ld-elf/dwarf3.err
index 6f5a8cc..8d1f0d5 100644
--- a/ld/testsuite/ld-elf/dwarf3.err
+++ b/ld/testsuite/ld-elf/dwarf3.err
@@ -1,4 +1,4 @@
-.*/dwarf3\.o: In function `main':
+.*/dwarf3\.o: in function `main':
 .*\(\.text.*\+0x[0-9a-f]+\): undefined reference to `bar'
 .*\(\.text.*\+0x[0-9a-f]+\): undefined reference to `bar'
 #...
diff --git a/ld/testsuite/ld-elf/orphan-5.l b/ld/testsuite/ld-elf/orphan-5.l
index 765c8ff..53cf257 100644
--- a/ld/testsuite/ld-elf/orphan-5.l
+++ b/ld/testsuite/ld-elf/orphan-5.l
@@ -1,5 +1,5 @@
 #...
-.*warning: orphan section `\.notbad' from `tmpdir/.*\.o' being placed in section `\.notbad'\.
+.*warning: orphan section `\.notbad' from `tmpdir/.*\.o' being placed in section `\.notbad'
 #...
-.*warning: orphan section `\.note\.bar' from `tmpdir/.*\.o' being placed in section `\.note\.bar'\.
+.*warning: orphan section `\.note\.bar' from `tmpdir/.*\.o' being placed in section `\.note\.bar'
 #...
diff --git a/ld/testsuite/ld-elf/orphan-6.l b/ld/testsuite/ld-elf/orphan-6.l
index 9936140..b1e6937 100644
--- a/ld/testsuite/ld-elf/orphan-6.l
+++ b/ld/testsuite/ld-elf/orphan-6.l
@@ -1,5 +1,5 @@
 #...
-.*error: unplaced orphan section `\.notbad' from `tmpdir/.*\.o'\.
+.*error: unplaced orphan section `\.notbad' from `tmpdir/.*\.o'
 #...
-.*error: unplaced orphan section `\.note\.bar' from `tmpdir/.*\.o'\.
+.*error: unplaced orphan section `\.note\.bar' from `tmpdir/.*\.o'
 #...
diff --git a/ld/testsuite/ld-elf/warn1.d b/ld/testsuite/ld-elf/warn1.d
index da1173a..1ee4a5d 100644
--- a/ld/testsuite/ld-elf/warn1.d
+++ b/ld/testsuite/ld-elf/warn1.d
@@ -2,7 +2,7 @@
 #source: symbol1ref.s
 #source: symbol1w.s
 #ld: -T group.ld
-#warning: ^[^\\n]*\): warning: witty one-liner$
+#warning: ^[^\n]*\): warning: witty one-liner$
 #readelf: -s
 #notarget: "sparc64-*-solaris2*" "sparcv9-*-solaris2*"
 #xfail: "d30v-*-*" "dlx-*-*" "i960-*-*" "pj-*-*"
diff --git a/ld/testsuite/ld-elf/warn2.d b/ld/testsuite/ld-elf/warn2.d
index cfeb8ce..4e723dd 100644
--- a/ld/testsuite/ld-elf/warn2.d
+++ b/ld/testsuite/ld-elf/warn2.d
@@ -2,7 +2,7 @@
 #source: symbol2ref.s
 #source: symbol2w.s
 #ld: -T group.ld
-#warning: ^[^\\n]*\.[obj]+: warning: function 'Foo' used$
+#warning: ^[^\n]*\.[obj]+: warning: function 'Foo' used$
 #readelf: -s
 #notarget: "sparc64-*-solaris2*" "sparcv9-*-solaris2*"
 #xfail: d30v-*-* dlx-*-* fr30-*-* frv-*-elf ft32-*-* i860-*-* i960-*-*
diff --git a/ld/testsuite/ld-i386/vxworks1-static.d b/ld/testsuite/ld-i386/vxworks1-static.d
index 88c0baf..275e20e 100644
--- a/ld/testsuite/ld-i386/vxworks1-static.d
+++ b/ld/testsuite/ld-i386/vxworks1-static.d
@@ -1,4 +1,4 @@
 #name: VxWorks executable test 1 (static)
 #source: vxworks1.s
 #ld: tmpdir/libvxworks1.so -Tvxworks1.ld
-#error: Dynamic sections created in non-dynamic link
+#error: dynamic sections created in non-dynamic link
diff --git a/ld/testsuite/ld-mips-elf/bal-jalx-pic-micromips-n32.d b/ld/testsuite/ld-mips-elf/bal-jalx-pic-micromips-n32.d
index 32734b9..abfb2ab 100644
--- a/ld/testsuite/ld-mips-elf/bal-jalx-pic-micromips-n32.d
+++ b/ld/testsuite/ld-mips-elf/bal-jalx-pic-micromips-n32.d
@@ -2,5 +2,5 @@
 #source: ../../../gas/testsuite/gas/mips/branch-addend-micromips.s
 #as: -EB -n32 -march=from-abi
 #ld: -EB -Ttext 0x1c000000 -e 0x1c000000 -shared
-#error: \A[^\n]*: In function `bar':\n
+#error: \A[^\n]*: in function `bar':\n
 #error:   \(\.text\+0x1014\): unsupported branch between ISA modes\Z
diff --git a/ld/testsuite/ld-mips-elf/bal-jalx-pic-micromips-n64.d b/ld/testsuite/ld-mips-elf/bal-jalx-pic-micromips-n64.d
index b05c608..e73b5de 100644
--- a/ld/testsuite/ld-mips-elf/bal-jalx-pic-micromips-n64.d
+++ b/ld/testsuite/ld-mips-elf/bal-jalx-pic-micromips-n64.d
@@ -2,5 +2,5 @@
 #source: ../../../gas/testsuite/gas/mips/branch-addend-micromips.s
 #as: -EB -64 -march=from-abi
 #ld: -EB -Ttext 0x1c000000 -e 0x1c000000 -shared
-#error: \A[^\n]*: In function `bar':\n
+#error: \A[^\n]*: in function `bar':\n
 #error:   \(\.text\+0x1014\): unsupported branch between ISA modes\Z
diff --git a/ld/testsuite/ld-mips-elf/bal-jalx-pic-micromips.d b/ld/testsuite/ld-mips-elf/bal-jalx-pic-micromips.d
index f9df557..cadbda0 100644
--- a/ld/testsuite/ld-mips-elf/bal-jalx-pic-micromips.d
+++ b/ld/testsuite/ld-mips-elf/bal-jalx-pic-micromips.d
@@ -2,5 +2,5 @@
 #source: ../../../gas/testsuite/gas/mips/branch-addend-micromips.s
 #as: -EB -32
 #ld: -EB -Ttext 0x1c000000 -e 0x1c000000 -shared
-#error: \A[^\n]*: In function `bar':\n
+#error: \A[^\n]*: in function `bar':\n
 #error:   \(\.text\+0x1014\): unsupported branch between ISA modes\Z
diff --git a/ld/testsuite/ld-mips-elf/bal-jalx-pic-n32.d b/ld/testsuite/ld-mips-elf/bal-jalx-pic-n32.d
index bf3f3ff..e995683 100644
--- a/ld/testsuite/ld-mips-elf/bal-jalx-pic-n32.d
+++ b/ld/testsuite/ld-mips-elf/bal-jalx-pic-n32.d
@@ -2,5 +2,5 @@
 #source: ../../../gas/testsuite/gas/mips/branch-addend.s
 #as: -EB -n32 -march=from-abi
 #ld: -EB -Ttext 0x1c000000 -e 0x1c000000 -shared
-#error: \A[^\n]*: In function `bar':\n
+#error: \A[^\n]*: in function `bar':\n
 #error:   \(\.text\+0x1014\): unsupported branch between ISA modes\Z
diff --git a/ld/testsuite/ld-mips-elf/bal-jalx-pic-n64.d b/ld/testsuite/ld-mips-elf/bal-jalx-pic-n64.d
index 9d9bf4a..a82a866 100644
--- a/ld/testsuite/ld-mips-elf/bal-jalx-pic-n64.d
+++ b/ld/testsuite/ld-mips-elf/bal-jalx-pic-n64.d
@@ -2,5 +2,5 @@
 #source: ../../../gas/testsuite/gas/mips/branch-addend.s
 #as: -EB -64 -march=from-abi
 #ld: -EB -Ttext 0x1c000000 -e 0x1c000000 -shared
-#error: \A[^\n]*: In function `bar':\n
+#error: \A[^\n]*: in function `bar':\n
 #error:   \(\.text\+0x1014\): unsupported branch between ISA modes\Z
diff --git a/ld/testsuite/ld-mips-elf/bal-jalx-pic.d b/ld/testsuite/ld-mips-elf/bal-jalx-pic.d
index 0cd4f09..6967023 100644
--- a/ld/testsuite/ld-mips-elf/bal-jalx-pic.d
+++ b/ld/testsuite/ld-mips-elf/bal-jalx-pic.d
@@ -2,5 +2,5 @@
 #source: ../../../gas/testsuite/gas/mips/branch-addend.s
 #as: -EB -32
 #ld: -EB -Ttext 0x1c000000 -e 0x1c000000 -shared
-#error: \A[^\n]*: In function `bar':\n
+#error: \A[^\n]*: in function `bar':\n
 #error:   \(\.text\+0x1014\): unsupported branch between ISA modes\Z
diff --git a/ld/testsuite/ld-mips-elf/jal-global-overflow-1.d b/ld/testsuite/ld-mips-elf/jal-global-overflow-1.d
index da6e750..2ee5a76 100644
--- a/ld/testsuite/ld-mips-elf/jal-global-overflow-1.d
+++ b/ld/testsuite/ld-mips-elf/jal-global-overflow-1.d
@@ -2,7 +2,7 @@
 #source: jal-global-overflow.s
 #as: -EB -32
 #ld: -EB -Ttext 0x1fffd000 -e 0x1fffd000
-#error: \A[^\n]*: In function `foo':\n
+#error: \A[^\n]*: in function `foo':\n
 #error:   \(\.text\+0x2000\): relocation truncated to fit: R_MIPS_26 against `abar'\n
-#error:   [^\n]*: In function `bar':\n
+#error:   [^\n]*: in function `bar':\n
 #error:   \(\.text\+0x4000\): relocation truncated to fit: R_MIPS_26 against `afoo'\Z
diff --git a/ld/testsuite/ld-mips-elf/jal-local-overflow-1.d b/ld/testsuite/ld-mips-elf/jal-local-overflow-1.d
index 869df0e..c4deb8b 100644
--- a/ld/testsuite/ld-mips-elf/jal-local-overflow-1.d
+++ b/ld/testsuite/ld-mips-elf/jal-local-overflow-1.d
@@ -2,7 +2,7 @@
 #source: jal-local-overflow.s
 #as: -EB -32
 #ld: -EB -Ttext 0x1fffd000 -e 0x1fffd000
-#error: \A[^\n]*: In function `foo':\n
+#error: \A[^\n]*: in function `foo':\n
 #error:   \(\.text\+0x2000\): relocation truncated to fit: R_MIPS_26 against `.text'\n
-#error:   [^\n]*: In function `bar':\n
+#error:   [^\n]*: in function `bar':\n
 #error:   \(\.text\+0x4000\): relocation truncated to fit: R_MIPS_26 against `.text'\Z
diff --git a/ld/testsuite/ld-mips-elf/mode-change-error-1.d b/ld/testsuite/ld-mips-elf/mode-change-error-1.d
index c81b401..afa54d8 100644
--- a/ld/testsuite/ld-mips-elf/mode-change-error-1.d
+++ b/ld/testsuite/ld-mips-elf/mode-change-error-1.d
@@ -2,6 +2,6 @@
 #source: mode-change-error-1a.s
 #source: mode-change-error-1b.s
 #ld: -e 0x8000000
-#error: \A[^\n]*: In function `main':\n
+#error: \A[^\n]*: in function `main':\n
 #error:   \(\.text\+0x0\): unsupported jump between ISA modes; consider recompiling with interlinking enabled\n
 #error:   \(\.text\+0x8\): unsupported jump between ISA modes; consider recompiling with interlinking enabled\Z
diff --git a/ld/testsuite/ld-mips-elf/unaligned-branch-2.d b/ld/testsuite/ld-mips-elf/unaligned-branch-2.d
index 8f81cba..8ee279e 100644
--- a/ld/testsuite/ld-mips-elf/unaligned-branch-2.d
+++ b/ld/testsuite/ld-mips-elf/unaligned-branch-2.d
@@ -2,7 +2,7 @@
 #as: -EB -n32 -march=from-abi
 #ld: -EB -Ttext 0x1c000000 -e 0x1c000000
 #source: ../../../gas/testsuite/gas/mips/unaligned-branch-2.s
-#error: \A[^\n]*: In function `foo':\n
+#error: \A[^\n]*: in function `foo':\n
 #error:   \(\.text\+0x101c\): branch to a non-instruction-aligned address\n
 #error:   \(\.text\+0x1024\): branch to a non-instruction-aligned address\n
 #error:   \(\.text\+0x102c\): branch to a non-instruction-aligned address\n
diff --git a/ld/testsuite/ld-mips-elf/unaligned-branch-ignore-2.d b/ld/testsuite/ld-mips-elf/unaligned-branch-ignore-2.d
index 2881be3..89a5e17 100644
--- a/ld/testsuite/ld-mips-elf/unaligned-branch-ignore-2.d
+++ b/ld/testsuite/ld-mips-elf/unaligned-branch-ignore-2.d
@@ -2,7 +2,7 @@
 #as: -EB -n32 -march=from-abi
 #ld: -EB -Ttext 0x1c000000 -e 0x1c000000 --ignore-branch-isa
 #source: ../../../gas/testsuite/gas/mips/unaligned-branch-2.s
-#error: \A[^\n]*: In function `foo':\n
+#error: \A[^\n]*: in function `foo':\n
 #error:   \(\.text\+0x101c\): branch to a non-instruction-aligned address\n
 #error:   \(\.text\+0x1024\): branch to a non-instruction-aligned address\n
 #error:   \(\.text\+0x102c\): branch to a non-instruction-aligned address\n
diff --git a/ld/testsuite/ld-mips-elf/unaligned-branch-ignore-micromips.d b/ld/testsuite/ld-mips-elf/unaligned-branch-ignore-micromips.d
index 21e2c3e..7d9feb8 100644
--- a/ld/testsuite/ld-mips-elf/unaligned-branch-ignore-micromips.d
+++ b/ld/testsuite/ld-mips-elf/unaligned-branch-ignore-micromips.d
@@ -2,7 +2,7 @@
 #as: -EB -n32 -march=from-abi
 #ld: -EB -Ttext 0x1c000000 -e 0x1c000000 --ignore-branch-isa
 #source: ../../../gas/testsuite/gas/mips/unaligned-branch-micromips-2.s
-#error: \A[^\n]*: In function `foo':\n
+#error: \A[^\n]*: in function `foo':\n
 #error:   \(\.text\+0x100a\): cannot convert a branch to JALX for a non-word-aligned address\n
 #error:   \(\.text\+0x1012\): cannot convert a branch to JALX for a non-word-aligned address\n
 #error:   \(\.text\+0x101a\): cannot convert a branch to JALX for a non-word-aligned address\n
diff --git a/ld/testsuite/ld-mips-elf/unaligned-branch-ignore-mips16.d b/ld/testsuite/ld-mips-elf/unaligned-branch-ignore-mips16.d
index a2b62dd..657f475 100644
--- a/ld/testsuite/ld-mips-elf/unaligned-branch-ignore-mips16.d
+++ b/ld/testsuite/ld-mips-elf/unaligned-branch-ignore-mips16.d
@@ -2,7 +2,7 @@
 #as: -EB -n32 -march=from-abi
 #ld: -EB -Ttext 0x1c000000 -e 0x1c000000 --ignore-branch-isa
 #source: ../../../gas/testsuite/gas/mips/unaligned-branch-mips16-2.s
-#error:   [^\n]*: In function `foo':\n
+#error:   [^\n]*: in function `foo':\n
 #error:   \(\.text\+0x1008\): cannot convert a branch to JALX for a non-word-aligned address\n
 #error:   \(\.text\+0x100e\): cannot convert a branch to JALX for a non-word-aligned address\n
 #error:   \(\.text\+0x1014\): cannot convert a branch to JALX for a non-word-aligned address\n
diff --git a/ld/testsuite/ld-mips-elf/unaligned-branch-ignore-r6-1.d b/ld/testsuite/ld-mips-elf/unaligned-branch-ignore-r6-1.d
index 4a09001..cef0302 100644
--- a/ld/testsuite/ld-mips-elf/unaligned-branch-ignore-r6-1.d
+++ b/ld/testsuite/ld-mips-elf/unaligned-branch-ignore-r6-1.d
@@ -2,7 +2,7 @@
 #as: -EB -n32 -march=from-abi
 #ld: -EB -Ttext 0x1c000000 -e 0x1c000000 --ignore-branch-isa
 #source: ../../../gas/testsuite/gas/mips/unaligned-branch-r6-3.s
-#error: \A[^\n]*: In function `foo':\n
+#error: \A[^\n]*: in function `foo':\n
 #error:   \(\.text\+0x101c\): branch to a non-instruction-aligned address\n
 #error:   \(\.text\+0x1024\): branch to a non-instruction-aligned address\n
 #error:   \(\.text\+0x102c\): branch to a non-instruction-aligned address\n
diff --git a/ld/testsuite/ld-mips-elf/unaligned-branch-micromips.d b/ld/testsuite/ld-mips-elf/unaligned-branch-micromips.d
index 2a1ae34..fbedebc 100644
--- a/ld/testsuite/ld-mips-elf/unaligned-branch-micromips.d
+++ b/ld/testsuite/ld-mips-elf/unaligned-branch-micromips.d
@@ -2,7 +2,7 @@
 #as: -EB -n32 -march=from-abi
 #ld: -EB -Ttext 0x1c000000 -e 0x1c000000
 #source: ../../../gas/testsuite/gas/mips/unaligned-branch-micromips-2.s
-#error: \A[^\n]*: In function `foo':\n
+#error: \A[^\n]*: in function `foo':\n
 #error:   \(\.text\+0x100a\): cannot convert a branch to JALX for a non-word-aligned address\n
 #error:   \(\.text\+0x1012\): cannot convert a branch to JALX for a non-word-aligned address\n
 #error:   \(\.text\+0x101a\): cannot convert a branch to JALX for a non-word-aligned address\n
diff --git a/ld/testsuite/ld-mips-elf/unaligned-branch-mips16.d b/ld/testsuite/ld-mips-elf/unaligned-branch-mips16.d
index b9ec2a6..c10f49a 100644
--- a/ld/testsuite/ld-mips-elf/unaligned-branch-mips16.d
+++ b/ld/testsuite/ld-mips-elf/unaligned-branch-mips16.d
@@ -2,7 +2,7 @@
 #as: -EB -n32 -march=from-abi
 #ld: -EB -Ttext 0x1c000000 -e 0x1c000000
 #source: ../../../gas/testsuite/gas/mips/unaligned-branch-mips16-2.s
-#error: \A[^\n]*: In function `foo':\n
+#error: \A[^\n]*: in function `foo':\n
 #error:   \(\.text\+0x1002\): unsupported branch between ISA modes\n
 #error:   \(\.text\+0x1008\): cannot convert a branch to JALX for a non-word-aligned address\n
 #error:   \(\.text\+0x1008\): unsupported branch between ISA modes\n
diff --git a/ld/testsuite/ld-mips-elf/unaligned-branch-r6-1.d b/ld/testsuite/ld-mips-elf/unaligned-branch-r6-1.d
index 608e52c..d3c9231 100644
--- a/ld/testsuite/ld-mips-elf/unaligned-branch-r6-1.d
+++ b/ld/testsuite/ld-mips-elf/unaligned-branch-r6-1.d
@@ -2,7 +2,7 @@
 #as: -EB -n32 -march=from-abi
 #ld: -EB -Ttext 0x1c000000 -e 0x1c000000
 #source: ../../../gas/testsuite/gas/mips/unaligned-branch-r6-3.s
-#error: \A[^\n]*: In function `foo':\n
+#error: \A[^\n]*: in function `foo':\n
 #error:   \(\.text\+0x101c\): branch to a non-instruction-aligned address\n
 #error:   \(\.text\+0x1024\): branch to a non-instruction-aligned address\n
 #error:   \(\.text\+0x102c\): branch to a non-instruction-aligned address\n
diff --git a/ld/testsuite/ld-mips-elf/unaligned-branch-r6-2.d b/ld/testsuite/ld-mips-elf/unaligned-branch-r6-2.d
index 85da8ce..c2a7a79 100644
--- a/ld/testsuite/ld-mips-elf/unaligned-branch-r6-2.d
+++ b/ld/testsuite/ld-mips-elf/unaligned-branch-r6-2.d
@@ -2,7 +2,7 @@
 #as: -EB -n32 -mips64r6
 #ld: -EB -Ttext 0x1c000000 -e 0x1c000000
 #source: ../../../gas/testsuite/gas/mips/unaligned-branch-r6-4.s
-#error: \A[^\n]*: In function `foo':\n
+#error: \A[^\n]*: in function `foo':\n
 #error:   \(\.text\+0x101c\): branch to a non-instruction-aligned address\n
 #error:   \(\.text\+0x1024\): branch to a non-instruction-aligned address\n
 #error:   \(\.text\+0x102c\): branch to a non-instruction-aligned address\n
diff --git a/ld/testsuite/ld-mips-elf/unaligned-branch.d b/ld/testsuite/ld-mips-elf/unaligned-branch.d
index 95b3360..4c7c137 100644
--- a/ld/testsuite/ld-mips-elf/unaligned-branch.d
+++ b/ld/testsuite/ld-mips-elf/unaligned-branch.d
@@ -3,7 +3,7 @@
 #source: unaligned-text.s
 #as: -EB -32 -mips32r6
 #ld: -EB -Ttext 0x10000000 -e 0x10000000
-#error: \A[^\n]*: In function `foo':\n
+#error: \A[^\n]*: in function `foo':\n
 #error:   \(\.text\+0x14\): branch to a non-instruction-aligned address\n
 #error:   \(\.text\+0x1c\): branch to a non-instruction-aligned address\n
 #error:   \(\.text\+0x24\): branch to a non-instruction-aligned address\n
diff --git a/ld/testsuite/ld-mips-elf/unaligned-jalx-1.d b/ld/testsuite/ld-mips-elf/unaligned-jalx-1.d
index d70cf4c..a6cc2ed 100644
--- a/ld/testsuite/ld-mips-elf/unaligned-jalx-1.d
+++ b/ld/testsuite/ld-mips-elf/unaligned-jalx-1.d
@@ -3,5 +3,5 @@
 #source: unaligned-insn.s -mips16
 #as: -EB -32
 #ld: -EB -Ttext 0x1c000000 -e 0x1c000000
-#error: \A[^\n]*: In function `foo':\n
+#error: \A[^\n]*: in function `foo':\n
 #error:   \(\.text\+0x[0-9a-f]+\): cannot convert a jump to JALX for a non-word-aligned address\Z
diff --git a/ld/testsuite/ld-mips-elf/unaligned-jalx-3.d b/ld/testsuite/ld-mips-elf/unaligned-jalx-3.d
index fb558b7..36327f8 100644
--- a/ld/testsuite/ld-mips-elf/unaligned-jalx-3.d
+++ b/ld/testsuite/ld-mips-elf/unaligned-jalx-3.d
@@ -3,5 +3,5 @@
 #source: unaligned-insn.s -mips16
 #as: -EB -32
 #ld: -EB -Ttext 0x1c000000 -e 0x1c000000
-#error: \A[^\n]*: In function `foo':\n
+#error: \A[^\n]*: in function `foo':\n
 #error:   \(\.text\+0x0\): cannot convert a branch to JALX for a non-word-aligned address\Z
diff --git a/ld/testsuite/ld-mips-elf/unaligned-jalx-addend-1.d b/ld/testsuite/ld-mips-elf/unaligned-jalx-addend-1.d
index a80c871..f161ac7 100644
--- a/ld/testsuite/ld-mips-elf/unaligned-jalx-addend-1.d
+++ b/ld/testsuite/ld-mips-elf/unaligned-jalx-addend-1.d
@@ -3,7 +3,7 @@
 #source: unaligned-insn.s -mips16
 #as: -EB -n32 -march=from-abi
 #ld: -EB -Ttext 0x1c000000 -e 0x1c000000
-#error: \A[^\n]*: In function `foo':\n
+#error: \A[^\n]*: in function `foo':\n
 #error:   \(\.text\+0x[0-9a-f]+\): cannot convert a jump to JALX for a non-word-aligned address\n
 #error:   \(\.text\+0x[0-9a-f]+\): cannot convert a jump to JALX for a non-word-aligned address\n
 #error:   \(\.text\+0x[0-9a-f]+\): cannot convert a jump to JALX for a non-word-aligned address\n
diff --git a/ld/testsuite/ld-mips-elf/unaligned-jalx-addend-3.d b/ld/testsuite/ld-mips-elf/unaligned-jalx-addend-3.d
index 8f96c8f..5aba630 100644
--- a/ld/testsuite/ld-mips-elf/unaligned-jalx-addend-3.d
+++ b/ld/testsuite/ld-mips-elf/unaligned-jalx-addend-3.d
@@ -3,7 +3,7 @@
 #source: unaligned-insn.s -mips16
 #as: -EB -n32 -march=from-abi
 #ld: -EB -Ttext 0x1c000000 -e 0x1c000000
-#error: \A[^\n]*: In function `foo':\n
+#error: \A[^\n]*: in function `foo':\n
 #error:   \(\.text\+0x0\): cannot convert a branch to JALX for a non-word-aligned address\n
 #error:   \(\.text\+0x8\): cannot convert a branch to JALX for a non-word-aligned address\n
 #error:   \(\.text\+0x10\): cannot convert a branch to JALX for a non-word-aligned address\n
diff --git a/ld/testsuite/ld-mips-elf/unaligned-jalx-addend-micromips-1.d b/ld/testsuite/ld-mips-elf/unaligned-jalx-addend-micromips-1.d
index 8e11706..afca7c1 100644
--- a/ld/testsuite/ld-mips-elf/unaligned-jalx-addend-micromips-1.d
+++ b/ld/testsuite/ld-mips-elf/unaligned-jalx-addend-micromips-1.d
@@ -4,7 +4,7 @@
 #as: -EB -n32 -march=from-abi
 #ld: -EB -Ttext 0x1c000000 -e 0x1c000000
 #objdump: -dr --prefix-addresses --show-raw-insn
-#error: \A[^\n]*: In function `foo':\n
+#error: \A[^\n]*: in function `foo':\n
 #error:   \(\.text\+0x[0-9a-f]+\): cannot convert a jump to JALX for a non-word-aligned address\n
 #error:   \(\.text\+0x[0-9a-f]+\): cannot convert a jump to JALX for a non-word-aligned address\n
 #error:   \(\.text\+0x[0-9a-f]+\): cannot convert a jump to JALX for a non-word-aligned address\n
diff --git a/ld/testsuite/ld-mips-elf/unaligned-jalx-addend-mips16-1.d b/ld/testsuite/ld-mips-elf/unaligned-jalx-addend-mips16-1.d
index eec4cc1..e896268 100644
--- a/ld/testsuite/ld-mips-elf/unaligned-jalx-addend-mips16-1.d
+++ b/ld/testsuite/ld-mips-elf/unaligned-jalx-addend-mips16-1.d
@@ -4,7 +4,7 @@
 #as: -EB -n32 -march=from-abi
 #ld: -EB -Ttext 0x1c000000 -e 0x1c000000
 #objdump: -dr --prefix-addresses --show-raw-insn
-#error: \A[^\n]*: In function `foo':\n
+#error: \A[^\n]*: in function `foo':\n
 #error:   \(\.text\+0x[0-9a-f]+\): cannot convert a jump to JALX for a non-word-aligned address\n
 #error:   \(\.text\+0x[0-9a-f]+\): cannot convert a jump to JALX for a non-word-aligned address\n
 #error:   \(\.text\+0x[0-9a-f]+\): cannot convert a jump to JALX for a non-word-aligned address\n
diff --git a/ld/testsuite/ld-mips-elf/unaligned-jalx-micromips-1.d b/ld/testsuite/ld-mips-elf/unaligned-jalx-micromips-1.d
index d63d92c..c38b2d5 100644
--- a/ld/testsuite/ld-mips-elf/unaligned-jalx-micromips-1.d
+++ b/ld/testsuite/ld-mips-elf/unaligned-jalx-micromips-1.d
@@ -3,5 +3,5 @@
 #source: unaligned-insn.s
 #as: -EB -32
 #ld: -EB -Ttext 0x1c000000 -e 0x1c000000
-#error: \A[^\n]*: In function `foo':\n
+#error: \A[^\n]*: in function `foo':\n
 #error:   \(\.text\+0x[0-9a-f]+\): cannot convert a jump to JALX for a non-word-aligned address\Z
diff --git a/ld/testsuite/ld-mips-elf/unaligned-jalx-mips16-1.d b/ld/testsuite/ld-mips-elf/unaligned-jalx-mips16-1.d
index cc8ec6a..aacf089 100644
--- a/ld/testsuite/ld-mips-elf/unaligned-jalx-mips16-1.d
+++ b/ld/testsuite/ld-mips-elf/unaligned-jalx-mips16-1.d
@@ -3,5 +3,5 @@
 #source: unaligned-insn.s
 #as: -EB -32
 #ld: -EB -Ttext 0x1c000000 -e 0x1c000000
-#error: \A[^\n]*: In function `foo':\n
+#error: \A[^\n]*: in function `foo':\n
 #error:   \(\.text\+0x[0-9a-f]+\): cannot convert a jump to JALX for a non-word-aligned address\Z
diff --git a/ld/testsuite/ld-mips-elf/unaligned-jump-micromips.d b/ld/testsuite/ld-mips-elf/unaligned-jump-micromips.d
index 1723b9c..d07c6b9 100644
--- a/ld/testsuite/ld-mips-elf/unaligned-jump-micromips.d
+++ b/ld/testsuite/ld-mips-elf/unaligned-jump-micromips.d
@@ -2,7 +2,7 @@
 #as: -EB -n32 -march=from-abi
 #ld: -EB -Ttext 0x1c000000 -e 0x1c000000
 #source: ../../../gas/testsuite/gas/mips/unaligned-jump-micromips-2.s
-#error: \A[^\n]*: In function `foo':\n
+#error: \A[^\n]*: in function `foo':\n
 #error:   \(\.text\+0x1012\): unsupported jump between ISA modes; consider recompiling with interlinking enabled\n
 #error:   \(\.text\+0x1018\): unsupported jump between ISA modes; consider recompiling with interlinking enabled\n
 #error:   \(\.text\+0x101e\): cannot convert a jump to JALX for a non-word-aligned address\n
diff --git a/ld/testsuite/ld-mips-elf/unaligned-jump-mips16.d b/ld/testsuite/ld-mips-elf/unaligned-jump-mips16.d
index 38b56a2..bd09a13 100644
--- a/ld/testsuite/ld-mips-elf/unaligned-jump-mips16.d
+++ b/ld/testsuite/ld-mips-elf/unaligned-jump-mips16.d
@@ -2,7 +2,7 @@
 #as: -EB -n32 -march=from-abi
 #ld: -EB -Ttext 0x1c000000 -e 0x1c000000
 #source: ../../../gas/testsuite/gas/mips/unaligned-jump-mips16-2.s
-#error: \A[^\n]*: In function `foo':\n
+#error: \A[^\n]*: in function `foo':\n
 #error:   \(\.text\+0x100e\): cannot convert a jump to JALX for a non-word-aligned address\n
 #error:   \(\.text\+0x1014\): cannot convert a jump to JALX for a non-word-aligned address\n
 #error:   \(\.text\+0x101a\): cannot convert a jump to JALX for a non-word-aligned address\n
diff --git a/ld/testsuite/ld-mips-elf/unaligned-jump.d b/ld/testsuite/ld-mips-elf/unaligned-jump.d
index 2518457..53de3d0 100644
--- a/ld/testsuite/ld-mips-elf/unaligned-jump.d
+++ b/ld/testsuite/ld-mips-elf/unaligned-jump.d
@@ -2,7 +2,7 @@
 #as: -EB -n32 -march=from-abi
 #ld: -EB -Ttext 0x1c000000 -e 0x1c000000
 #source: ../../../gas/testsuite/gas/mips/unaligned-jump-2.s
-#error: \A[^\n]*: In function `foo':\n
+#error: \A[^\n]*: in function `foo':\n
 #error:   \(\.text\+0x1004\): unsupported JALX to the same ISA mode\n
 #error:   \(\.text\+0x101c\): jump to a non-instruction-aligned address\n
 #error:   \(\.text\+0x101c\): unsupported JALX to the same ISA mode\n
diff --git a/ld/testsuite/ld-mips-elf/unaligned-ldpc-1.d b/ld/testsuite/ld-mips-elf/unaligned-ldpc-1.d
index 3af5cee..9f8aeeb 100644
--- a/ld/testsuite/ld-mips-elf/unaligned-ldpc-1.d
+++ b/ld/testsuite/ld-mips-elf/unaligned-ldpc-1.d
@@ -3,7 +3,7 @@
 #source: unaligned-data.s
 #as: -EB -32 -mips64r6
 #ld: -EB -Ttext 0x1c000000 -Tdata 0x1c080000 -e 0x1c000000
-#error: \A[^\n]*: In function `foo':\n
+#error: \A[^\n]*: in function `foo':\n
 #error:   \(\.text\+0x[0-9a-f]+\): PC-relative load from unaligned address\n
 #error:   \(\.text\+0x[0-9a-f]+\): PC-relative load from unaligned address\n
 #error:   \(\.text\+0x[0-9a-f]+\): PC-relative load from unaligned address\Z
diff --git a/ld/testsuite/ld-mips-elf/unaligned-lwpc-1.d b/ld/testsuite/ld-mips-elf/unaligned-lwpc-1.d
index bddff01..fd543f4 100644
--- a/ld/testsuite/ld-mips-elf/unaligned-lwpc-1.d
+++ b/ld/testsuite/ld-mips-elf/unaligned-lwpc-1.d
@@ -3,6 +3,6 @@
 #source: unaligned-data.s
 #as: -EB -32 -mips32r6
 #ld: -EB -Ttext 0x1c000000 -Tdata 0x1c080000 -e 0x1c000000
-#error: \A[^\n]*: In function `foo':\n
+#error: \A[^\n]*: in function `foo':\n
 #error:   \(\.text\+0x[0-9a-f]+\): PC-relative load from unaligned address\n
 #error:   \(\.text\+0x[0-9a-f]+\): PC-relative load from unaligned address\Z
diff --git a/ld/testsuite/ld-mips-elf/undefined.d b/ld/testsuite/ld-mips-elf/undefined.d
index e5231df..994582e 100644
--- a/ld/testsuite/ld-mips-elf/undefined.d
+++ b/ld/testsuite/ld-mips-elf/undefined.d
@@ -1,4 +1,4 @@
 #name: MIPS undefined reference
 #source: undefined.s
 #ld: -e foo
-#error: \A[^\n]*\.o: In function `foo':\n\(\.text\+0x0\): undefined reference to `bar'\Z
+#error: \A[^\n]*\.o: in function `foo':\n\(\.text\+0x0\): undefined reference to `bar'\Z
diff --git a/ld/testsuite/ld-mips-elf/vxworks1-static.d b/ld/testsuite/ld-mips-elf/vxworks1-static.d
index 69765ae..daa69a1 100644
--- a/ld/testsuite/ld-mips-elf/vxworks1-static.d
+++ b/ld/testsuite/ld-mips-elf/vxworks1-static.d
@@ -1,4 +1,4 @@
 #name: VxWorks executable test 1 (static)
 #source: vxworks1.s
 #ld: tmpdir/libvxworks1.so -Tvxworks1.ld [big_or_little_endian]
-#error: Dynamic sections created in non-dynamic link
+#error: dynamic sections created in non-dynamic link
diff --git a/ld/testsuite/ld-mmix/bpo-20.d b/ld/testsuite/ld-mmix/bpo-20.d
index f05edfb..46ff6fa 100644
--- a/ld/testsuite/ld-mmix/bpo-20.d
+++ b/ld/testsuite/ld-mmix/bpo-20.d
@@ -2,7 +2,7 @@
 #source: bpo-10.s
 #as: -linker-allocated-gregs
 #ld: -m elf64mmix
-#error: Too many global registers
+#error: too many global registers
 
 # Check that many too many gregs are recognized (and not signed/unsigned
 # bugs with checks for < 32 appear).
diff --git a/ld/testsuite/ld-mmix/bpo-20m.d b/ld/testsuite/ld-mmix/bpo-20m.d
index 91126b4..8264fd0 100644
--- a/ld/testsuite/ld-mmix/bpo-20m.d
+++ b/ld/testsuite/ld-mmix/bpo-20m.d
@@ -2,7 +2,7 @@
 #source: bpo-10.s
 #as: -linker-allocated-gregs
 #ld: -m mmo
-#error: Too many global registers
+#error: too many global registers
 
 # Check that many too many gregs are recognized (and not signed/unsigned
 # bugs with checks for < 32 appear).
diff --git a/ld/testsuite/ld-mmix/bpo-7.d b/ld/testsuite/ld-mmix/bpo-7.d
index 693a502..0247736a6 100644
--- a/ld/testsuite/ld-mmix/bpo-7.d
+++ b/ld/testsuite/ld-mmix/bpo-7.d
@@ -3,4 +3,4 @@
 #source: greg-1.s
 #as: -linker-allocated-gregs
 #ld: -m elf64mmix
-#error: Too many global registers: 224
+#error: too many global registers: 224
diff --git a/ld/testsuite/ld-mmix/bpo-7m.d b/ld/testsuite/ld-mmix/bpo-7m.d
index 21c4659..2ba0dd8 100644
--- a/ld/testsuite/ld-mmix/bpo-7m.d
+++ b/ld/testsuite/ld-mmix/bpo-7m.d
@@ -3,4 +3,4 @@
 #source: greg-1.s
 #as: -linker-allocated-gregs
 #ld: -m mmo
-#error: Too many global registers: 224
+#error: too many global registers: 224
diff --git a/ld/testsuite/ld-mmix/bpo-8.d b/ld/testsuite/ld-mmix/bpo-8.d
index 438b072..6dbfbd6 100644
--- a/ld/testsuite/ld-mmix/bpo-8.d
+++ b/ld/testsuite/ld-mmix/bpo-8.d
@@ -4,4 +4,4 @@
 #source: bpo-1.s
 #as: -linker-allocated-gregs
 #ld: -m elf64mmix
-#error: Too many global registers: 224
+#error: too many global registers: 224
diff --git a/ld/testsuite/ld-mmix/bpo-8m.d b/ld/testsuite/ld-mmix/bpo-8m.d
index 9187672..3c93f32 100644
--- a/ld/testsuite/ld-mmix/bpo-8m.d
+++ b/ld/testsuite/ld-mmix/bpo-8m.d
@@ -4,4 +4,4 @@
 #source: bpo-1.s
 #as: -linker-allocated-gregs
 #ld: -m mmo
-#error: Too many global registers: 224
+#error: too many global registers: 224
diff --git a/ld/testsuite/ld-mmix/greg-17.d b/ld/testsuite/ld-mmix/greg-17.d
index e1af4b5..d068e70 100644
--- a/ld/testsuite/ld-mmix/greg-17.d
+++ b/ld/testsuite/ld-mmix/greg-17.d
@@ -32,6 +32,6 @@
 #source: start.s
 #as: -x
 #ld: -m mmo
-#error: Too many global registers: 224, max 223
+#error: too many global registers: 224, max 223
 
 # Allocating the maximum number of gregs *plus one* is an error, mmo.
diff --git a/ld/testsuite/ld-mmix/greg-18.d b/ld/testsuite/ld-mmix/greg-18.d
index ed1bbaf..94b72a3 100644
--- a/ld/testsuite/ld-mmix/greg-18.d
+++ b/ld/testsuite/ld-mmix/greg-18.d
@@ -33,7 +33,7 @@
 #as: -x
 #ld: -m mmo
 #objdump: -dt
-#error: Too many global registers: 224, max 223
+#error: too many global registers: 224, max 223
 
 # Allocating the maximum number of gregs *plus one* is an error; other end
 # of the stick, mmo.
diff --git a/ld/testsuite/ld-mmix/greg-8.d b/ld/testsuite/ld-mmix/greg-8.d
index cb6b776..2dfd19b 100644
--- a/ld/testsuite/ld-mmix/greg-8.d
+++ b/ld/testsuite/ld-mmix/greg-8.d
@@ -32,6 +32,6 @@
 #source: start.s
 #as: -x
 #ld: -m elf64mmix
-#error: Too many global registers: 224, max 223
+#error: too many global registers: 224, max 223
 
 # Allocating the maximum number of gregs *plus one* is an error.
diff --git a/ld/testsuite/ld-mmix/greg-9.d b/ld/testsuite/ld-mmix/greg-9.d
index c9d9fcd..959471c 100644
--- a/ld/testsuite/ld-mmix/greg-9.d
+++ b/ld/testsuite/ld-mmix/greg-9.d
@@ -33,7 +33,7 @@
 #as: -x
 #ld: -m elf64mmix
 #objdump: -dt
-#error: Too many global registers: 224, max 223
+#error: too many global registers: 224, max 223
 
 # Allocating the maximum number of gregs *plus one* is an error; other end
 # of the stick.
diff --git a/ld/testsuite/ld-plugin/plugin-14.d b/ld/testsuite/ld-plugin/plugin-14.d
index c9dc5f2..81365af 100644
--- a/ld/testsuite/ld-plugin/plugin-14.d
+++ b/ld/testsuite/ld-plugin/plugin-14.d
@@ -27,7 +27,7 @@ hook called: claim_file .*/ld/testsuite/ld-plugin/func.c \[@0/.* CLAIMED
 hook called: claim_file tmpdir/text.o \[@0/.* not claimed
 #...
 hook called: all symbols read.
-tmpdir/main.o: In function `main':
+.*: tmpdir/main.o: in function `main':
 .*main.c.*: undefined reference to `\.?func'
 hook called: cleanup.
 #...
diff --git a/ld/testsuite/ld-plugin/plugin-15.d b/ld/testsuite/ld-plugin/plugin-15.d
index 0481c5f..02c5e60 100644
--- a/ld/testsuite/ld-plugin/plugin-15.d
+++ b/ld/testsuite/ld-plugin/plugin-15.d
@@ -28,7 +28,7 @@ hook called: claim_file .*/ld/testsuite/ld-plugin/func.c \[@0/.* CLAIMED
 hook called: claim_file tmpdir/text.o \[@0/.* not claimed
 #...
 hook called: all symbols read.
-tmpdir/main.o: In function `main':
+.*: tmpdir/main.o: in function `main':
 .*main.c.*: undefined reference to `\.?func'
 hook called: cleanup.
 #...
diff --git a/ld/testsuite/ld-plugin/plugin-16.d b/ld/testsuite/ld-plugin/plugin-16.d
index ae54f0c..504fbdb 100644
--- a/ld/testsuite/ld-plugin/plugin-16.d
+++ b/ld/testsuite/ld-plugin/plugin-16.d
@@ -32,7 +32,7 @@ hook called: claim_file tmpdir/text.o \[@0/.* not claimed
 hook called: all symbols read.
 Sym: '_?func' Resolution: LDPR_PREVAILING_DEF
 Sym: '_?func2' Resolution: LDPR_PREVAILING_DEF_IRONLY
-tmpdir/main.o: In function `main':
+.*: tmpdir/main.o: in function `main':
 .*main.c.*: undefined reference to `\.?func'
 hook called: cleanup.
 #...
diff --git a/ld/testsuite/ld-plugin/plugin-20.d b/ld/testsuite/ld-plugin/plugin-20.d
index 373a3ff..31bc376 100644
--- a/ld/testsuite/ld-plugin/plugin-20.d
+++ b/ld/testsuite/ld-plugin/plugin-20.d
@@ -2,6 +2,6 @@ hook called: all symbols read.
 Input: func.c \(tmpdir/libfunc.a\)
 Sym: '_?func' Resolution: LDPR_PREVAILING_DEF.*
 Sym: '_?func' Resolution: LDPR_PREVAILING_DEF.*
-tmpdir/main.o: In function `main':
+.*: tmpdir/main.o: in function `main':
 .*main.c.*: undefined reference to `\.?func'
 hook called: cleanup.
diff --git a/ld/testsuite/ld-plugin/plugin-21.d b/ld/testsuite/ld-plugin/plugin-21.d
index 7b922c1..0b85f71 100644
--- a/ld/testsuite/ld-plugin/plugin-21.d
+++ b/ld/testsuite/ld-plugin/plugin-21.d
@@ -2,6 +2,6 @@ hook called: all symbols read.
 Input: .*/ld/testsuite/ld-plugin/func.c \(.*/ld/testsuite/ld-plugin/func.c\)
 Sym: '_?func' Resolution: LDPR_PREVAILING_DEF.*
 Sym: '_?func' Resolution: LDPR_PREVAILING_DEF.*
-tmpdir/main.o: In function `main':
+.*: tmpdir/main.o: in function `main':
 .*main.c.*: undefined reference to `\.?func'
 hook called: cleanup.
diff --git a/ld/testsuite/ld-plugin/plugin-22.d b/ld/testsuite/ld-plugin/plugin-22.d
index 1512676..1084a0b 100644
--- a/ld/testsuite/ld-plugin/plugin-22.d
+++ b/ld/testsuite/ld-plugin/plugin-22.d
@@ -2,6 +2,6 @@ Claimed: tmpdir/libfunc.a \[@.*
 hook called: all symbols read.
 Sym: '_?func' Resolution: LDPR_PREVAILING_DEF.*
 Sym: '_?func' Resolution: LDPR_PREVAILING_DEF.*
-tmpdir/main.o: In function `main':
+.*: tmpdir/main.o: in function `main':
 .*main.c.*: undefined reference to `\.?func'
 hook called: cleanup.
diff --git a/ld/testsuite/ld-plugin/plugin-23.d b/ld/testsuite/ld-plugin/plugin-23.d
index e05f7bd..0b6c25c 100644
--- a/ld/testsuite/ld-plugin/plugin-23.d
+++ b/ld/testsuite/ld-plugin/plugin-23.d
@@ -2,6 +2,6 @@ Claimed: .*/ld/testsuite/ld-plugin/func.c \[@0.*
 hook called: all symbols read.
 Sym: '_?func' Resolution: LDPR_PREVAILING_DEF.*
 Sym: '_?func' Resolution: LDPR_PREVAILING_DEF.*
-tmpdir/main.o: In function `main':
+.*: tmpdir/main.o: in function `main':
 .*main.c.*: undefined reference to `\.?func'
 hook called: cleanup.
diff --git a/ld/testsuite/ld-plugin/plugin-6.d b/ld/testsuite/ld-plugin/plugin-6.d
index b4a1e9c..b1854ac 100644
--- a/ld/testsuite/ld-plugin/plugin-6.d
+++ b/ld/testsuite/ld-plugin/plugin-6.d
@@ -27,7 +27,7 @@ hook called: claim_file tmpdir/func.o \[@0/.* CLAIMED
 hook called: claim_file tmpdir/text.o \[@0/.* not claimed
 #...
 hook called: all symbols read.
-tmpdir/main.o: In function `main':
+.*: tmpdir/main.o: in function `main':
 .*main.c.*: undefined reference to `\.?func'
 hook called: cleanup.
 #...
diff --git a/ld/testsuite/ld-plugin/plugin-7.d b/ld/testsuite/ld-plugin/plugin-7.d
index 54259db..c77b66f 100644
--- a/ld/testsuite/ld-plugin/plugin-7.d
+++ b/ld/testsuite/ld-plugin/plugin-7.d
@@ -28,7 +28,7 @@ hook called: claim_file tmpdir/func.o \[@0/.* CLAIMED
 hook called: claim_file tmpdir/text.o \[@0/.* not claimed
 #...
 hook called: all symbols read.
-tmpdir/main.o: In function `main':
+.*: tmpdir/main.o: in function `main':
 .*main.c.*: undefined reference to `\.?func'
 hook called: cleanup.
 #...
diff --git a/ld/testsuite/ld-plugin/plugin-8.d b/ld/testsuite/ld-plugin/plugin-8.d
index c1dd25a..ca24227 100644
--- a/ld/testsuite/ld-plugin/plugin-8.d
+++ b/ld/testsuite/ld-plugin/plugin-8.d
@@ -32,7 +32,7 @@ hook called: claim_file tmpdir/text.o \[@0/.* not claimed
 hook called: all symbols read.
 Sym: '_?func' Resolution: LDPR_PREVAILING_DEF
 Sym: '_?func2' Resolution: LDPR_PREVAILING_DEF_IRONLY
-tmpdir/main.o: In function `main':
+.*: tmpdir/main.o: in function `main':
 .*main.c.*: undefined reference to `\.?func'
 hook called: cleanup.
 #...
diff --git a/ld/testsuite/ld-powerpc/aix-weak-3-32.d b/ld/testsuite/ld-powerpc/aix-weak-3-32.d
index 45976c9..498ab9a 100644
--- a/ld/testsuite/ld-powerpc/aix-weak-3-32.d
+++ b/ld/testsuite/ld-powerpc/aix-weak-3-32.d
@@ -2,4 +2,4 @@
 #source: aix-weak-3b.s
 #as: -a32 --defsym size=32
 #ld: -b32 -e.main -bnoautoimp tmpdir/aix-weak-3a.so
-#error: .*multiple definition of `x1'\n[^\n]*first defined here
+#error: .*multiple definition of `x1';[^\n]*first defined here
diff --git a/ld/testsuite/ld-powerpc/aix-weak-3-64.d b/ld/testsuite/ld-powerpc/aix-weak-3-64.d
index 4673175..fa192d9 100644
--- a/ld/testsuite/ld-powerpc/aix-weak-3-64.d
+++ b/ld/testsuite/ld-powerpc/aix-weak-3-64.d
@@ -2,4 +2,4 @@
 #source: aix-weak-3b.s
 #as: -a64 --defsym size=64
 #ld: -b64 -e.main -bnoautoimp tmpdir/aix64-weak-3a.so
-#error: .*multiple definition of `x1'\n[^\n]*first defined here
+#error: .*multiple definition of `x1';[^\n]*first defined here
diff --git a/ld/testsuite/ld-powerpc/vxworks1-static.d b/ld/testsuite/ld-powerpc/vxworks1-static.d
index 4c2d1fd..4f616e7 100644
--- a/ld/testsuite/ld-powerpc/vxworks1-static.d
+++ b/ld/testsuite/ld-powerpc/vxworks1-static.d
@@ -1,4 +1,4 @@
 #name: VxWorks executable test 1 (static)
 #source: vxworks1.s -mregnames
 #ld: tmpdir/libvxworks1.so -Tvxworks1.ld
-#error: Dynamic sections created in non-dynamic link
+#error: dynamic sections created in non-dynamic link
diff --git a/ld/testsuite/ld-sh/vxworks1-static.d b/ld/testsuite/ld-sh/vxworks1-static.d
index dffc45b..9587240 100644
--- a/ld/testsuite/ld-sh/vxworks1-static.d
+++ b/ld/testsuite/ld-sh/vxworks1-static.d
@@ -1,4 +1,4 @@
 #name: VxWorks executable test 1 (static)
 #source: vxworks1.s
 #ld: tmpdir/libvxworks1.so -Tvxworks1.ld -EL
-#error: Dynamic sections created in non-dynamic link
+#error: dynamic sections created in non-dynamic link
diff --git a/ld/testsuite/ld-sparc/vxworks1-static.d b/ld/testsuite/ld-sparc/vxworks1-static.d
index 88c0baf..275e20e 100644
--- a/ld/testsuite/ld-sparc/vxworks1-static.d
+++ b/ld/testsuite/ld-sparc/vxworks1-static.d
@@ -1,4 +1,4 @@
 #name: VxWorks executable test 1 (static)
 #source: vxworks1.s
 #ld: tmpdir/libvxworks1.so -Tvxworks1.ld
-#error: Dynamic sections created in non-dynamic link
+#error: dynamic sections created in non-dynamic link
diff --git a/ld/testsuite/ld-undefined/undefined.exp b/ld/testsuite/ld-undefined/undefined.exp
index 2c69db3..f97db1c 100644
--- a/ld/testsuite/ld-undefined/undefined.exp
+++ b/ld/testsuite/ld-undefined/undefined.exp
@@ -70,7 +70,7 @@ if { ![is_remote host] && [which $CC] == 0 } {
     # "undefined function" and "undefined line" tests fail.
     setup_xfail xtensa*-*-linux*
 
-    set mf "tmpdir/undefined.o* In function `function':"
+    set mf "tmpdir/undefined.o* in function `function':"
     checkund $mf $testfn
 
     if ![is_elf_format] {
diff --git a/ld/testsuite/ld-x86-64/pie1.d b/ld/testsuite/ld-x86-64/pie1.d
index 6373eea..3e64c15 100644
--- a/ld/testsuite/ld-x86-64/pie1.d
+++ b/ld/testsuite/ld-x86-64/pie1.d
@@ -2,7 +2,7 @@
 #as: --64
 #ld: -pie -melf_x86_64 --noinhibit-exec
 #readelf: -s --wide
-#warning: \A[^\n]*\.o[^\n]*In function `_start':\n[^\n]*: undefined reference to `foo'\Z
+#warning: \A[^\n]*\.o[^\n]*in function `_start':\n[^\n]*: undefined reference to `foo'\Z
 
 #failif
 #...

-- 
Alan Modra
Australia Development Lab, IBM


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]