This is the mail archive of the binutils-cvs@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]

[binutils-gdb] ld error/warning messages


https://sourceware.org/git/gitweb.cgi?p=binutils-gdb.git;h=df5f2391f7b2e3cab7e677ab7dadd02aef06e269

commit df5f2391f7b2e3cab7e677ab7dadd02aef06e269
Author: Alan Modra <amodra@gmail.com>
Date:   Sat Feb 24 10:28:12 2018 +1030

    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:
---
 ld/ChangeLog                                       |  93 +++++++++++++++
 ld/emulparams/call_nop.sh                          |   6 +-
 ld/emulparams/cet.sh                               |   6 +-
 ld/emulparams/elf32mcore.sh                        |   3 +-
 ld/emultempl/aarch64elf.em                         |  28 ++---
 ld/emultempl/aix.em                                |  34 +++---
 ld/emultempl/alphaelf.em                           |   9 +-
 ld/emultempl/armcoff.em                            |   7 +-
 ld/emultempl/armelf.em                             |  35 +++---
 ld/emultempl/avrelf.em                             |   6 +-
 ld/emultempl/beos.em                               |  24 ++--
 ld/emultempl/bfin.em                               |   6 +-
 ld/emultempl/cr16elf.em                            |  10 +-
 ld/emultempl/elf-generic.em                        |   2 +-
 ld/emultempl/elf32.em                              |  48 ++++----
 ld/emultempl/hppaelf.em                            |   4 +-
 ld/emultempl/linux.em                              |   2 +-
 ld/emultempl/lnk960.em                             |   6 +-
 ld/emultempl/m68hc1xelf.em                         |  13 +--
 ld/emultempl/m68kcoff.em                           |  10 +-
 ld/emultempl/m68kelf.em                            |  16 +--
 ld/emultempl/metagelf.em                           |   4 +-
 ld/emultempl/mipself.em                            |   2 +-
 ld/emultempl/mmix-elfnmmo.em                       |   6 +-
 ld/emultempl/mmo.em                                |   2 +-
 ld/emultempl/msp430.em                             |  33 +++---
 ld/emultempl/nds32elf.em                           |  60 +++++-----
 ld/emultempl/nios2elf.em                           |   2 +-
 ld/emultempl/pe.em                                 |  60 +++++-----
 ld/emultempl/pep.em                                |  62 +++++-----
 ld/emultempl/ppc32elf.em                           |  30 ++---
 ld/emultempl/ppc64elf.em                           |  44 +++----
 ld/emultempl/scoreelf.em                           |   4 +-
 ld/emultempl/sh64elf.em                            |  10 +-
 ld/emultempl/spuelf.em                             |  79 ++++++++-----
 ld/emultempl/sunos.em                              |  12 +-
 ld/emultempl/tic6xdsbt.em                          |  15 ++-
 ld/emultempl/ticoff.em                             |   2 +-
 ld/emultempl/v850elf.em                            |   4 +-
 ld/emultempl/vms.em                                |   2 +-
 ld/emultempl/vxworks.em                            |   4 +-
 ld/emultempl/xtensaelf.em                          |   6 +-
 ld/ldcref.c                                        |  10 +-
 ld/ldctor.c                                        |  12 +-
 ld/ldexp.c                                         |  44 +++----
 ld/ldfile.c                                        |   4 +-
 ld/ldgram.y                                        |   6 +-
 ld/ldlang.c                                        |  72 ++++++------
 ld/ldmain.c                                        | 130 ++++++++++++---------
 ld/ldmisc.c                                        |   6 +-
 ld/ldwrite.c                                       |   8 +-
 ld/lexsup.c                                        |  64 +++++-----
 ld/mri.c                                           |   2 +-
 ld/pe-dll.c                                        |  56 ++++-----
 ld/plugin.c                                        |  28 ++---
 ld/testsuite/ld-arc/jli-overflow.err               |   2 +-
 ld/testsuite/ld-arm/cmse-implib-errors.out         |   2 +-
 .../ld-arm/cmse-new-earlier-later-implib.out       |   2 +-
 .../ld-arm/cmse-new-implib-not-sg-in-implib.out    |   2 +-
 ld/testsuite/ld-arm/cmse-new-wrong-implib.out      |   2 +-
 .../ld-arm/cmse-veneers-no-gnu_sgstubs.out         |   2 +-
 .../ld-arm/cmse-veneers-wrong-entryfct.out         |   2 +-
 ld/testsuite/ld-arm/vxworks1-static.d              |   2 +-
 ld/testsuite/ld-cris/tls-err-20x.d                 |   2 +-
 ld/testsuite/ld-cris/tls-err-29.d                  |   2 +-
 ld/testsuite/ld-cris/tls-err-31.d                  |   2 +-
 ld/testsuite/ld-cris/tls-err-33.d                  |   2 +-
 ld/testsuite/ld-cris/tls-err-35.d                  |   2 +-
 ld/testsuite/ld-cris/tls-err-37.d                  |   2 +-
 ld/testsuite/ld-cris/tls-err-39.d                  |   2 +-
 ld/testsuite/ld-cris/tls-err-41.d                  |   2 +-
 ld/testsuite/ld-cris/tls-err-43.d                  |   2 +-
 ld/testsuite/ld-cris/tls-err-45.d                  |   2 +-
 ld/testsuite/ld-cris/tls-err-47.d                  |   2 +-
 ld/testsuite/ld-cris/tls-err-49.d                  |   2 +-
 ld/testsuite/ld-cris/tls-err-51.d                  |   2 +-
 ld/testsuite/ld-cris/tls-err-67.d                  |   2 +-
 ld/testsuite/ld-elf/dwarf2.err                     |   6 +-
 ld/testsuite/ld-elf/dwarf3.err                     |   2 +-
 ld/testsuite/ld-elf/orphan-5.l                     |   4 +-
 ld/testsuite/ld-elf/orphan-6.l                     |   4 +-
 ld/testsuite/ld-elf/warn1.d                        |   2 +-
 ld/testsuite/ld-elf/warn2.d                        |   2 +-
 ld/testsuite/ld-i386/vxworks1-static.d             |   2 +-
 .../ld-mips-elf/bal-jalx-pic-micromips-n32.d       |   2 +-
 .../ld-mips-elf/bal-jalx-pic-micromips-n64.d       |   2 +-
 ld/testsuite/ld-mips-elf/bal-jalx-pic-micromips.d  |   2 +-
 ld/testsuite/ld-mips-elf/bal-jalx-pic-n32.d        |   2 +-
 ld/testsuite/ld-mips-elf/bal-jalx-pic-n64.d        |   2 +-
 ld/testsuite/ld-mips-elf/bal-jalx-pic.d            |   2 +-
 ld/testsuite/ld-mips-elf/jal-global-overflow-1.d   |   4 +-
 ld/testsuite/ld-mips-elf/jal-local-overflow-1.d    |   4 +-
 ld/testsuite/ld-mips-elf/mode-change-error-1.d     |   2 +-
 ld/testsuite/ld-mips-elf/unaligned-branch-2.d      |   2 +-
 .../ld-mips-elf/unaligned-branch-ignore-2.d        |   2 +-
 .../unaligned-branch-ignore-micromips.d            |   2 +-
 .../ld-mips-elf/unaligned-branch-ignore-mips16.d   |   2 +-
 .../ld-mips-elf/unaligned-branch-ignore-r6-1.d     |   2 +-
 .../ld-mips-elf/unaligned-branch-micromips.d       |   2 +-
 ld/testsuite/ld-mips-elf/unaligned-branch-mips16.d |   2 +-
 ld/testsuite/ld-mips-elf/unaligned-branch-r6-1.d   |   2 +-
 ld/testsuite/ld-mips-elf/unaligned-branch-r6-2.d   |   2 +-
 ld/testsuite/ld-mips-elf/unaligned-branch.d        |   2 +-
 ld/testsuite/ld-mips-elf/unaligned-jalx-1.d        |   2 +-
 ld/testsuite/ld-mips-elf/unaligned-jalx-3.d        |   2 +-
 ld/testsuite/ld-mips-elf/unaligned-jalx-addend-1.d |   2 +-
 ld/testsuite/ld-mips-elf/unaligned-jalx-addend-3.d |   2 +-
 .../unaligned-jalx-addend-micromips-1.d            |   2 +-
 .../ld-mips-elf/unaligned-jalx-addend-mips16-1.d   |   2 +-
 .../ld-mips-elf/unaligned-jalx-micromips-1.d       |   2 +-
 ld/testsuite/ld-mips-elf/unaligned-jalx-mips16-1.d |   2 +-
 .../ld-mips-elf/unaligned-jump-micromips.d         |   2 +-
 ld/testsuite/ld-mips-elf/unaligned-jump-mips16.d   |   2 +-
 ld/testsuite/ld-mips-elf/unaligned-jump.d          |   2 +-
 ld/testsuite/ld-mips-elf/unaligned-ldpc-1.d        |   2 +-
 ld/testsuite/ld-mips-elf/unaligned-lwpc-1.d        |   2 +-
 ld/testsuite/ld-mips-elf/undefined.d               |   2 +-
 ld/testsuite/ld-mips-elf/vxworks1-static.d         |   2 +-
 ld/testsuite/ld-mmix/bpo-20.d                      |   2 +-
 ld/testsuite/ld-mmix/bpo-20m.d                     |   2 +-
 ld/testsuite/ld-mmix/bpo-7.d                       |   2 +-
 ld/testsuite/ld-mmix/bpo-7m.d                      |   2 +-
 ld/testsuite/ld-mmix/bpo-8.d                       |   2 +-
 ld/testsuite/ld-mmix/bpo-8m.d                      |   2 +-
 ld/testsuite/ld-mmix/greg-17.d                     |   2 +-
 ld/testsuite/ld-mmix/greg-18.d                     |   2 +-
 ld/testsuite/ld-mmix/greg-8.d                      |   2 +-
 ld/testsuite/ld-mmix/greg-9.d                      |   2 +-
 ld/testsuite/ld-plugin/plugin-14.d                 |   2 +-
 ld/testsuite/ld-plugin/plugin-15.d                 |   2 +-
 ld/testsuite/ld-plugin/plugin-16.d                 |   2 +-
 ld/testsuite/ld-plugin/plugin-20.d                 |   2 +-
 ld/testsuite/ld-plugin/plugin-21.d                 |   2 +-
 ld/testsuite/ld-plugin/plugin-22.d                 |   2 +-
 ld/testsuite/ld-plugin/plugin-23.d                 |   2 +-
 ld/testsuite/ld-plugin/plugin-6.d                  |   2 +-
 ld/testsuite/ld-plugin/plugin-7.d                  |   2 +-
 ld/testsuite/ld-plugin/plugin-8.d                  |   2 +-
 ld/testsuite/ld-powerpc/aix-weak-3-32.d            |   2 +-
 ld/testsuite/ld-powerpc/aix-weak-3-64.d            |   2 +-
 ld/testsuite/ld-powerpc/vxworks1-static.d          |   2 +-
 ld/testsuite/ld-sh/vxworks1-static.d               |   2 +-
 ld/testsuite/ld-sparc/vxworks1-static.d            |   2 +-
 ld/testsuite/ld-undefined/undefined.exp            |   2 +-
 ld/testsuite/ld-x86-64/pie1.d                      |   2 +-
 145 files changed, 790 insertions(+), 655 deletions(-)

diff --git a/ld/ChangeLog b/ld/ChangeLog
index cb86100..d117b7e 100644
--- a/ld/ChangeLog
+++ b/ld/ChangeLog
@@ -1,5 +1,98 @@
 2018-02-26  Alan Modra  <amodra@gmail.com>
 
+	* 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.
+
+2018-02-26  Alan Modra  <amodra@gmail.com>
+
 	* Makefile.am (EMULATION_FILES, POTFILES): Delete.
 	(SRC_POTFILES, BLD_POTFILES): Define.
 	(po/POTFILES.in): Delete rule.
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-lin[...]

[diff truncated at 100000 bytes]


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