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] Use %pA and %pB in messages rather than %A and %B


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

commit 871b3ab29e87cf0de15f7e49ad19acc4f7f6f84c
Author: Alan Modra <amodra@gmail.com>
Date:   Mon Feb 19 15:21:40 2018 +1030

    Use %pA and %pB in messages rather than %A and %B
    
    First step towards compiler verification of _bfd_error_handler
    arguments, and better verification of translated messages.
    
    bfd/
    	* bfd.c (_bfd_doprnt, _bfd_doprnt_scan): Handle %pA and %pB in place
    	of %A and %B.
    	* aout-adobe.c: Update all messages using %A and %B.
    	* aout-cris.c: Likewise.
    	* aoutx.h: Likewise.
    	* archive.c: Likewise.
    	* binary.c: Likewise.
    	* cache.c: Likewise.
    	* coff-alpha.c: Likewise.
    	* coff-arm.c: Likewise.
    	* coff-i860.c: Likewise.
    	* coff-mcore.c: Likewise.
    	* coff-ppc.c: Likewise.
    	* coff-rs6000.c: Likewise.
    	* coff-sh.c: Likewise.
    	* coff-tic4x.c: Likewise.
    	* coff-tic54x.c: Likewise.
    	* coff-tic80.c: Likewise.
    	* coff64-rs6000.c: Likewise.
    	* coffcode.h: Likewise.
    	* coffgen.c: Likewise.
    	* cofflink.c: Likewise.
    	* coffswap.h: Likewise.
    	* compress.c: Likewise.
    	* cpu-arm.c: Likewise.
    	* ecoff.c: Likewise.
    	* elf-attrs.c: Likewise.
    	* elf-eh-frame.c: Likewise.
    	* elf-ifunc.c: Likewise.
    	* elf-m10300.c: Likewise.
    	* elf-properties.c: Likewise.
    	* elf-s390-common.c: Likewise.
    	* elf.c: Likewise.
    	* elf32-arc.c: Likewise.
    	* elf32-arm.c: Likewise.
    	* elf32-avr.c: Likewise.
    	* elf32-bfin.c: Likewise.
    	* elf32-cr16.c: Likewise.
    	* elf32-cr16c.c: Likewise.
    	* elf32-cris.c: Likewise.
    	* elf32-crx.c: Likewise.
    	* elf32-d10v.c: Likewise.
    	* elf32-d30v.c: Likewise.
    	* elf32-epiphany.c: Likewise.
    	* elf32-fr30.c: Likewise.
    	* elf32-frv.c: Likewise.
    	* elf32-gen.c: Likewise.
    	* elf32-hppa.c: Likewise.
    	* elf32-i370.c: Likewise.
    	* elf32-i386.c: Likewise.
    	* elf32-i960.c: Likewise.
    	* elf32-ip2k.c: Likewise.
    	* elf32-iq2000.c: Likewise.
    	* elf32-lm32.c: Likewise.
    	* elf32-m32c.c: Likewise.
    	* elf32-m32r.c: Likewise.
    	* elf32-m68hc11.c: Likewise.
    	* elf32-m68hc12.c: Likewise.
    	* elf32-m68hc1x.c: Likewise.
    	* elf32-m68k.c: Likewise.
    	* elf32-mcore.c: Likewise.
    	* elf32-mep.c: Likewise.
    	* elf32-metag.c: Likewise.
    	* elf32-microblaze.c: Likewise.
    	* elf32-moxie.c: Likewise.
    	* elf32-msp430.c: Likewise.
    	* elf32-mt.c: Likewise.
    	* elf32-nds32.c: Likewise.
    	* elf32-nios2.c: Likewise.
    	* elf32-or1k.c: Likewise.
    	* elf32-pj.c: Likewise.
    	* elf32-ppc.c: Likewise.
    	* elf32-rl78.c: Likewise.
    	* elf32-rx.c: Likewise.
    	* elf32-s390.c: Likewise.
    	* elf32-score.c: Likewise.
    	* elf32-score7.c: Likewise.
    	* elf32-sh-symbian.c: Likewise.
    	* elf32-sh.c: Likewise.
    	* elf32-sh64.c: Likewise.
    	* elf32-sparc.c: Likewise.
    	* elf32-spu.c: Likewise.
    	* elf32-tic6x.c: Likewise.
    	* elf32-tilepro.c: Likewise.
    	* elf32-v850.c: Likewise.
    	* elf32-vax.c: Likewise.
    	* elf32-visium.c: Likewise.
    	* elf32-wasm32.c: Likewise.
    	* elf32-xgate.c: Likewise.
    	* elf32-xtensa.c: Likewise.
    	* elf64-alpha.c: Likewise.
    	* elf64-gen.c: Likewise.
    	* elf64-hppa.c: Likewise.
    	* elf64-ia64-vms.c: Likewise.
    	* elf64-mmix.c: Likewise.
    	* elf64-ppc.c: Likewise.
    	* elf64-s390.c: Likewise.
    	* elf64-sh64.c: Likewise.
    	* elf64-sparc.c: Likewise.
    	* elf64-x86-64.c: Likewise.
    	* elfcode.h: Likewise.
    	* elfcore.h: Likewise.
    	* elflink.c: Likewise.
    	* elfnn-aarch64.c: Likewise.
    	* elfnn-ia64.c: Likewise.
    	* elfnn-riscv.c: Likewise.
    	* elfxx-mips.c: Likewise.
    	* elfxx-sparc.c: Likewise.
    	* elfxx-tilegx.c: Likewise.
    	* elfxx-x86.c: Likewise.
    	* hpux-core.c: Likewise.
    	* ieee.c: Likewise.
    	* ihex.c: Likewise.
    	* libbfd.c: Likewise.
    	* linker.c: Likewise.
    	* mach-o.c: Likewise.
    	* merge.c: Likewise.
    	* mmo.c: Likewise.
    	* oasys.c: Likewise.
    	* pdp11.c: Likewise.
    	* pe-mips.c: Likewise.
    	* peXXigen.c: Likewise.
    	* peicode.h: Likewise.
    	* reloc.c: Likewise.
    	* rs6000-core.c: Likewise.
    	* srec.c: Likewise.
    	* stabs.c: Likewise.
    	* vms-alpha.c: Likewise.
    	* xcofflink.c: Likewise.
    ld/
    	* ldmisc.c (vfinfo): Handle %pA and %pB in place of %A and %B.
    	* ldcref.c: Update all messages using %A and %B.
    	* ldexp.c: Likewise.
    	* ldlang.c: Likewise.
    	* ldmain.c: Likewise.
    	* ldmisc.c: Likewise.
    	* pe-dll.c: Likewise.
    	* plugin.c: Likewise.
    	* emultempl/beos.em: Likewise.
    	* emultempl/cr16elf.em: Likewise.
    	* emultempl/elf32.em: Likewise.
    	* emultempl/m68kcoff.em: Likewise.
    	* emultempl/m68kelf.em: Likewise.
    	* emultempl/mmo.em: Likewise.
    	* emultempl/nds32elf.em: Likewise.
    	* emultempl/pe.em: Likewise.
    	* emultempl/pep.em: Likewise.
    	* emultempl/spuelf.em: Likewise.
    	* emultempl/sunos.em: Likewise.
    	* emultempl/xtensaelf.em: Likewise.

Diff:
---
 bfd/ChangeLog             | 132 ++++++++++++++++++++++++++++++++
 bfd/aout-adobe.c          |   2 +-
 bfd/aout-cris.c           |   6 +-
 bfd/aoutx.h               |  16 ++--
 bfd/archive.c             |   2 +-
 bfd/bfd.c                 | 108 +++++++++++++-------------
 bfd/binary.c              |   2 +-
 bfd/cache.c               |   2 +-
 bfd/coff-alpha.c          |  10 +--
 bfd/coff-arm.c            |  36 ++++-----
 bfd/coff-i860.c           |   2 +-
 bfd/coff-mcore.c          |   8 +-
 bfd/coff-ppc.c            |  10 +--
 bfd/coff-rs6000.c         |   6 +-
 bfd/coff-sh.c             |  22 +++---
 bfd/coff-tic4x.c          |   2 +-
 bfd/coff-tic54x.c         |   2 +-
 bfd/coff-tic80.c          |   2 +-
 bfd/coff64-rs6000.c       |   2 +-
 bfd/coffcode.h            |  44 +++++------
 bfd/coffgen.c             |  12 +--
 bfd/cofflink.c            |  16 ++--
 bfd/coffswap.h            |   4 +-
 bfd/compress.c            |   2 +-
 bfd/cpu-arm.c             |   6 +-
 bfd/ecoff.c               |   2 +-
 bfd/elf-attrs.c           |   6 +-
 bfd/elf-eh-frame.c        |  16 ++--
 bfd/elf-ifunc.c           |   2 +-
 bfd/elf-m10300.c          |  10 +--
 bfd/elf-properties.c      |  12 +--
 bfd/elf-s390-common.c     |   6 +-
 bfd/elf.c                 | 104 ++++++++++++-------------
 bfd/elf32-arc.c           |  40 +++++-----
 bfd/elf32-arm.c           | 190 +++++++++++++++++++++++-----------------------
 bfd/elf32-avr.c           |   2 +-
 bfd/elf32-bfin.c          |  14 ++--
 bfd/elf32-cr16.c          |   2 +-
 bfd/elf32-cr16c.c         |   2 +-
 bfd/elf32-cris.c          |  42 +++++-----
 bfd/elf32-crx.c           |   2 +-
 bfd/elf32-d10v.c          |   2 +-
 bfd/elf32-d30v.c          |   4 +-
 bfd/elf32-epiphany.c      |   2 +-
 bfd/elf32-fr30.c          |   2 +-
 bfd/elf32-frv.c           |  14 ++--
 bfd/elf32-gen.c           |   2 +-
 bfd/elf32-hppa.c          |  18 ++---
 bfd/elf32-i370.c          |  14 ++--
 bfd/elf32-i386.c          |  32 ++++----
 bfd/elf32-i960.c          |   2 +-
 bfd/elf32-ip2k.c          |   2 +-
 bfd/elf32-iq2000.c        |   6 +-
 bfd/elf32-lm32.c          |   4 +-
 bfd/elf32-m32c.c          |   6 +-
 bfd/elf32-m32r.c          |  12 +--
 bfd/elf32-m68hc11.c       |   2 +-
 bfd/elf32-m68hc12.c       |   2 +-
 bfd/elf32-m68hc1x.c       |  10 +--
 bfd/elf32-m68k.c          |  16 ++--
 bfd/elf32-mcore.c         |  10 +--
 bfd/elf32-mep.c           |   8 +-
 bfd/elf32-metag.c         |  14 ++--
 bfd/elf32-microblaze.c    |  14 ++--
 bfd/elf32-moxie.c         |   2 +-
 bfd/elf32-msp430.c        |  18 ++---
 bfd/elf32-mt.c            |   4 +-
 bfd/elf32-nds32.c         |  42 +++++-----
 bfd/elf32-nios2.c         |   8 +-
 bfd/elf32-or1k.c          |  14 ++--
 bfd/elf32-pj.c            |   2 +-
 bfd/elf32-ppc.c           |  88 ++++++++++-----------
 bfd/elf32-rl78.c          |  24 +++---
 bfd/elf32-rx.c            |  28 +++----
 bfd/elf32-s390.c          |  14 ++--
 bfd/elf32-score.c         |   6 +-
 bfd/elf32-score7.c        |   6 +-
 bfd/elf32-sh-symbian.c    |   6 +-
 bfd/elf32-sh.c            |  64 ++++++++--------
 bfd/elf32-sh64.c          |  18 ++---
 bfd/elf32-sparc.c         |   4 +-
 bfd/elf32-spu.c           |  28 +++----
 bfd/elf32-tic6x.c         |  36 ++++-----
 bfd/elf32-tilepro.c       |  14 ++--
 bfd/elf32-v850.c          |  36 ++++-----
 bfd/elf32-vax.c           |  14 ++--
 bfd/elf32-visium.c        |   4 +-
 bfd/elf32-wasm32.c        |   2 +-
 bfd/elf32-xgate.c         |   2 +-
 bfd/elf32-xtensa.c        |  28 +++----
 bfd/elf64-alpha.c         |  34 ++++-----
 bfd/elf64-gen.c           |   2 +-
 bfd/elf64-hppa.c          |   2 +-
 bfd/elf64-ia64-vms.c      |  50 ++++++------
 bfd/elf64-mmix.c          |  26 +++----
 bfd/elf64-ppc.c           |  28 +++----
 bfd/elf64-s390.c          |  16 ++--
 bfd/elf64-sh64.c          |  16 ++--
 bfd/elf64-sparc.c         |  18 ++---
 bfd/elf64-x86-64.c        |  42 +++++-----
 bfd/elfcode.h             |   6 +-
 bfd/elfcore.h             |   2 +-
 bfd/elflink.c             | 118 ++++++++++++++--------------
 bfd/elfnn-aarch64.c       |  34 ++++-----
 bfd/elfnn-ia64.c          |  38 +++++-----
 bfd/elfnn-riscv.c         |  20 ++---
 bfd/elfxx-mips.c          |  88 ++++++++++-----------
 bfd/elfxx-sparc.c         |  14 ++--
 bfd/elfxx-tilegx.c        |  16 ++--
 bfd/elfxx-x86.c           |  22 +++---
 bfd/hpux-core.c           |   2 +-
 bfd/ieee.c                |  10 +--
 bfd/ihex.c                |  20 ++---
 bfd/libbfd.c              |   2 +-
 bfd/linker.c              |  20 ++---
 bfd/mach-o.c              |   2 +-
 bfd/merge.c               |   2 +-
 bfd/mmo.c                 |  52 ++++++-------
 bfd/oasys.c               |   2 +-
 bfd/pdp11.c               |   8 +-
 bfd/pe-mips.c             |   8 +-
 bfd/peXXigen.c            |  30 ++++----
 bfd/peicode.h             |  16 ++--
 bfd/reloc.c               |  10 +--
 bfd/rs6000-core.c         |   2 +-
 bfd/srec.c                |   8 +-
 bfd/stabs.c               |   2 +-
 bfd/vms-alpha.c           |   8 +-
 bfd/xcofflink.c           |  26 +++----
 ld/ChangeLog              |  23 ++++++
 ld/emultempl/beos.em      |   4 +-
 ld/emultempl/cr16elf.em   |  10 +--
 ld/emultempl/elf32.em     |  20 ++---
 ld/emultempl/m68kcoff.em  |  10 +--
 ld/emultempl/m68kelf.em   |  14 ++--
 ld/emultempl/mmo.em       |   2 +-
 ld/emultempl/nds32elf.em  |   4 +-
 ld/emultempl/pe.em        |   8 +-
 ld/emultempl/pep.em       |   6 +-
 ld/emultempl/spuelf.em    |   2 +-
 ld/emultempl/sunos.em     |   8 +-
 ld/emultempl/xtensaelf.em |  10 +--
 ld/ldcref.c               |  14 ++--
 ld/ldexp.c                |   2 +-
 ld/ldlang.c               |  32 ++++----
 ld/ldmain.c               |  48 ++++++------
 ld/ldmisc.c               | 117 ++++++++++++++--------------
 ld/pe-dll.c               |   6 +-
 ld/plugin.c               |   2 +-
 149 files changed, 1473 insertions(+), 1309 deletions(-)

diff --git a/bfd/ChangeLog b/bfd/ChangeLog
index 9340d62..7275105 100644
--- a/bfd/ChangeLog
+++ b/bfd/ChangeLog
@@ -1,5 +1,137 @@
 2018-02-19  Alan Modra  <amodra@gmail.com>
 
+	* bfd.c (_bfd_doprnt, _bfd_doprnt_scan): Handle %pA and %pB in place
+	of %A and %B.
+	* aout-adobe.c: Update all messages using %A and %B.
+	* aout-cris.c: Likewise.
+	* aoutx.h: Likewise.
+	* archive.c: Likewise.
+	* binary.c: Likewise.
+	* cache.c: Likewise.
+	* coff-alpha.c: Likewise.
+	* coff-arm.c: Likewise.
+	* coff-i860.c: Likewise.
+	* coff-mcore.c: Likewise.
+	* coff-ppc.c: Likewise.
+	* coff-rs6000.c: Likewise.
+	* coff-sh.c: Likewise.
+	* coff-tic4x.c: Likewise.
+	* coff-tic54x.c: Likewise.
+	* coff-tic80.c: Likewise.
+	* coff64-rs6000.c: Likewise.
+	* coffcode.h: Likewise.
+	* coffgen.c: Likewise.
+	* cofflink.c: Likewise.
+	* coffswap.h: Likewise.
+	* compress.c: Likewise.
+	* cpu-arm.c: Likewise.
+	* ecoff.c: Likewise.
+	* elf-attrs.c: Likewise.
+	* elf-eh-frame.c: Likewise.
+	* elf-ifunc.c: Likewise.
+	* elf-m10300.c: Likewise.
+	* elf-properties.c: Likewise.
+	* elf-s390-common.c: Likewise.
+	* elf.c: Likewise.
+	* elf32-arc.c: Likewise.
+	* elf32-arm.c: Likewise.
+	* elf32-avr.c: Likewise.
+	* elf32-bfin.c: Likewise.
+	* elf32-cr16.c: Likewise.
+	* elf32-cr16c.c: Likewise.
+	* elf32-cris.c: Likewise.
+	* elf32-crx.c: Likewise.
+	* elf32-d10v.c: Likewise.
+	* elf32-d30v.c: Likewise.
+	* elf32-epiphany.c: Likewise.
+	* elf32-fr30.c: Likewise.
+	* elf32-frv.c: Likewise.
+	* elf32-gen.c: Likewise.
+	* elf32-hppa.c: Likewise.
+	* elf32-i370.c: Likewise.
+	* elf32-i386.c: Likewise.
+	* elf32-i960.c: Likewise.
+	* elf32-ip2k.c: Likewise.
+	* elf32-iq2000.c: Likewise.
+	* elf32-lm32.c: Likewise.
+	* elf32-m32c.c: Likewise.
+	* elf32-m32r.c: Likewise.
+	* elf32-m68hc11.c: Likewise.
+	* elf32-m68hc12.c: Likewise.
+	* elf32-m68hc1x.c: Likewise.
+	* elf32-m68k.c: Likewise.
+	* elf32-mcore.c: Likewise.
+	* elf32-mep.c: Likewise.
+	* elf32-metag.c: Likewise.
+	* elf32-microblaze.c: Likewise.
+	* elf32-moxie.c: Likewise.
+	* elf32-msp430.c: Likewise.
+	* elf32-mt.c: Likewise.
+	* elf32-nds32.c: Likewise.
+	* elf32-nios2.c: Likewise.
+	* elf32-or1k.c: Likewise.
+	* elf32-pj.c: Likewise.
+	* elf32-ppc.c: Likewise.
+	* elf32-rl78.c: Likewise.
+	* elf32-rx.c: Likewise.
+	* elf32-s390.c: Likewise.
+	* elf32-score.c: Likewise.
+	* elf32-score7.c: Likewise.
+	* elf32-sh-symbian.c: Likewise.
+	* elf32-sh.c: Likewise.
+	* elf32-sh64.c: Likewise.
+	* elf32-sparc.c: Likewise.
+	* elf32-spu.c: Likewise.
+	* elf32-tic6x.c: Likewise.
+	* elf32-tilepro.c: Likewise.
+	* elf32-v850.c: Likewise.
+	* elf32-vax.c: Likewise.
+	* elf32-visium.c: Likewise.
+	* elf32-wasm32.c: Likewise.
+	* elf32-xgate.c: Likewise.
+	* elf32-xtensa.c: Likewise.
+	* elf64-alpha.c: Likewise.
+	* elf64-gen.c: Likewise.
+	* elf64-hppa.c: Likewise.
+	* elf64-ia64-vms.c: Likewise.
+	* elf64-mmix.c: Likewise.
+	* elf64-ppc.c: Likewise.
+	* elf64-s390.c: Likewise.
+	* elf64-sh64.c: Likewise.
+	* elf64-sparc.c: Likewise.
+	* elf64-x86-64.c: Likewise.
+	* elfcode.h: Likewise.
+	* elfcore.h: Likewise.
+	* elflink.c: Likewise.
+	* elfnn-aarch64.c: Likewise.
+	* elfnn-ia64.c: Likewise.
+	* elfnn-riscv.c: Likewise.
+	* elfxx-mips.c: Likewise.
+	* elfxx-sparc.c: Likewise.
+	* elfxx-tilegx.c: Likewise.
+	* elfxx-x86.c: Likewise.
+	* hpux-core.c: Likewise.
+	* ieee.c: Likewise.
+	* ihex.c: Likewise.
+	* libbfd.c: Likewise.
+	* linker.c: Likewise.
+	* mach-o.c: Likewise.
+	* merge.c: Likewise.
+	* mmo.c: Likewise.
+	* oasys.c: Likewise.
+	* pdp11.c: Likewise.
+	* pe-mips.c: Likewise.
+	* peXXigen.c: Likewise.
+	* peicode.h: Likewise.
+	* reloc.c: Likewise.
+	* rs6000-core.c: Likewise.
+	* srec.c: Likewise.
+	* stabs.c: Likewise.
+	* vms-alpha.c: Likewise.
+	* xcofflink.c: Likewise.
+
+2018-02-19  Alan Modra  <amodra@gmail.com>
+
 	PR 22845
 	* elf.c (IS_TBSS): Define.
 	(_bfd_elf_map_sections_to_segments): Use IS_TBSS.
diff --git a/bfd/aout-adobe.c b/bfd/aout-adobe.c
index 6ec3d50..6372f3e 100644
--- a/bfd/aout-adobe.c
+++ b/bfd/aout-adobe.c
@@ -123,7 +123,7 @@ aout_adobe_callback (bfd *abfd)
 	default:
 	  _bfd_error_handler
 	    /* xgettext:c-format */
-	    (_("%B: Unknown section type in a.out.adobe file: %x\n"),
+	    (_("%pB: Unknown section type in a.out.adobe file: %x\n"),
 	     abfd, ext->e_type[0]);
 	  goto no_more_sections;
 	}
diff --git a/bfd/aout-cris.c b/bfd/aout-cris.c
index d1a2366..1c89fe3 100644
--- a/bfd/aout-cris.c
+++ b/bfd/aout-cris.c
@@ -197,7 +197,7 @@ MY (swap_ext_reloc_out) (bfd *abfd,
   if (r_type > 2)
     {
       /* xgettext:c-format */
-      _bfd_error_handler (_("%B: Invalid relocation type exported: %d"),
+      _bfd_error_handler (_("%pB: Invalid relocation type exported: %d"),
 			  abfd, r_type);
 
       bfd_set_error (bfd_error_wrong_format);
@@ -241,7 +241,7 @@ MY (swap_ext_reloc_in) (bfd *abfd,
   if (r_type > 2)
     {
       /* xgettext:c-format */
-      _bfd_error_handler (_("%B: Invalid relocation type imported: %d"),
+      _bfd_error_handler (_("%pB: Invalid relocation type imported: %d"),
 			  abfd, r_type);
 
       bfd_set_error (bfd_error_wrong_format);
@@ -253,7 +253,7 @@ MY (swap_ext_reloc_in) (bfd *abfd,
     {
       _bfd_error_handler
 	/* xgettext:c-format */
-	(_("%B: Bad relocation record imported: %d"), abfd, r_index);
+	(_("%pB: Bad relocation record imported: %d"), abfd, r_index);
 
       bfd_set_error (bfd_error_wrong_format);
 
diff --git a/bfd/aoutx.h b/bfd/aoutx.h
index eec9c4a..16a4034 100644
--- a/bfd/aoutx.h
+++ b/bfd/aoutx.h
@@ -1281,7 +1281,7 @@ NAME (aout, set_section_contents) (bfd *abfd,
 	{
 	  _bfd_error_handler
 	    /* xgettext:c-format */
-	   (_("%B: can not represent section `%A' in a.out object file format"),
+	   (_("%pB: can not represent section `%pA' in a.out object file format"),
 	     abfd, section);
 	  bfd_set_error (bfd_error_nonrepresentable_section);
 	  return FALSE;
@@ -1597,7 +1597,7 @@ translate_to_native_sym_flags (bfd *abfd,
 	 file.  */
       _bfd_error_handler
 	/* xgettext:c-format */
-	(_("%B: can not represent section for symbol `%s' in a.out "
+	(_("%pB: can not represent section for symbol `%s' in a.out "
 	   "object file format"),
 	 abfd,
 	 cache_ptr->name != NULL ? cache_ptr->name : _("*unknown*"));
@@ -1633,7 +1633,7 @@ translate_to_native_sym_flags (bfd *abfd,
 	{
 	  _bfd_error_handler
 	    /* xgettext:c-format */
-	   (_("%B: can not represent section `%A' in a.out object file format"),
+	   (_("%pB: can not represent section `%pA' in a.out object file format"),
 	     abfd, sec);
 	  bfd_set_error (bfd_error_nonrepresentable_section);
 	  return FALSE;
@@ -2420,7 +2420,7 @@ NAME (aout, squirt_out_relocs) (bfd *abfd, asection *section)
 	    {
 	      bfd_set_error (bfd_error_invalid_operation);
 	      _bfd_error_handler (_("\
-%B: attempt to write out unknown reloc type"), abfd);
+%pB: attempt to write out unknown reloc type"), abfd);
 	      return FALSE;
 	    }
 	  MY_swap_ext_reloc_out (abfd, *generic,
@@ -2438,7 +2438,7 @@ NAME (aout, squirt_out_relocs) (bfd *abfd, asection *section)
 	    {
 	      bfd_set_error (bfd_error_invalid_operation);
 	      _bfd_error_handler (_("\
-%B: attempt to write out unknown reloc type"), abfd);
+%pB: attempt to write out unknown reloc type"), abfd);
 	      return FALSE;
 	    }
 	  MY_swap_std_reloc_out (abfd, *generic,
@@ -4090,7 +4090,7 @@ aout_link_input_section_std (struct aout_final_link_info *flaginfo,
       if (howto == NULL)
 	{
 	  (*flaginfo->info->callbacks->einfo)
-	    (_("%P: %B: unexpected relocation type\n"), input_bfd);
+	    (_("%P: %pB: unexpected relocation type\n"), input_bfd);
 	  bfd_set_error (bfd_error_bad_value);
 	  return FALSE;
 	}
@@ -4411,7 +4411,7 @@ aout_link_input_section_ext (struct aout_final_link_info *flaginfo,
       if (r_type >= TABLE_SIZE (howto_table_ext))
 	{
 	  (*flaginfo->info->callbacks->einfo)
-	    (_("%P: %B: unexpected relocation type\n"), input_bfd);
+	    (_("%P: %pB: unexpected relocation type\n"), input_bfd);
 	  bfd_set_error (bfd_error_bad_value);
 	  return FALSE;
 	}
@@ -5437,7 +5437,7 @@ NAME (aout, final_link) (bfd *abfd,
 		 by the reloc size.  */
 	      _bfd_error_handler
 		/* xgettext:c-format */
-		(_("%B: relocatable link from %s to %s not supported"),
+		(_("%pB: relocatable link from %s to %s not supported"),
 		 abfd, sub->xvec->name, abfd->xvec->name);
 	      bfd_set_error (bfd_error_invalid_operation);
 	      goto error_return;
diff --git a/bfd/archive.c b/bfd/archive.c
index e11d022..f1e0130 100644
--- a/bfd/archive.c
+++ b/bfd/archive.c
@@ -2454,7 +2454,7 @@ _bfd_compute_and_write_armap (bfd *arch, unsigned int elength)
 				     + (syms[src_count]->name[2] == '_'),
 				     "__gnu_lto_slim") == 0)
 			_bfd_error_handler
-			  (_("%B: plugin needed to handle lto object"),
+			  (_("%pB: plugin needed to handle lto object"),
 			   current);
 		      namelen = strlen (syms[src_count]->name);
 		      amt = sizeof (char *);
diff --git a/bfd/bfd.c b/bfd/bfd.c
index 985c825..88f0862 100644
--- a/bfd/bfd.c
+++ b/bfd/bfd.c
@@ -649,7 +649,7 @@ union _bfd_doprnt_args
 };
 
 /* This macro and _bfd_doprnt taken from libiberty _doprnt.c, tidied a
-   little and extended to handle '%A', '%B' and positional parameters.
+   little and extended to handle '%pA', '%pB' and positional parameters.
    'L' as a modifer for integer formats is used for bfd_vma and
    bfd_size_type args, which vary in size depending on BFD
    configuration.  */
@@ -866,53 +866,55 @@ _bfd_doprnt (FILE *stream, const char *format, union _bfd_doprnt_args *args)
 	      PRINT_TYPE (char *, p);
 	      break;
 	    case 'p':
-	      PRINT_TYPE (void *, p);
-	      break;
-	    case 'A':
-	      {
-		asection *sec;
-		bfd *abfd;
-		const char *group = NULL;
-		struct coff_comdat_info *ci;
-
-		sec = (asection *) args[arg_no].p;
-		if (sec == NULL)
-		  /* Invoking %A with a null section pointer is an
-		     internal error.  */
-		  abort ();
-		abfd = sec->owner;
-		if (abfd != NULL
-		    && bfd_get_flavour (abfd) == bfd_target_elf_flavour
-		    && elf_next_in_group (sec) != NULL
-		    && (sec->flags & SEC_GROUP) == 0)
-		  group = elf_group_name (sec);
-		else if (abfd != NULL
-			 && bfd_get_flavour (abfd) == bfd_target_coff_flavour
-			 && (ci = bfd_coff_get_comdat_section (sec->owner,
-							       sec)) != NULL)
-		  group = ci->name;
-		if (group != NULL)
-		  result = fprintf (stream, "%s[%s]", sec->name, group);
-		else
-		  result = fprintf (stream, "%s", sec->name);
-	      }
-	      break;
-	    case 'B':
-	      {
-		bfd *abfd;
-
-		abfd = (bfd *) args[arg_no].p;
-		if (abfd == NULL)
-		  /* Invoking %B with a null bfd pointer is an
-		     internal error.  */
-		  abort ();
-		else if (abfd->my_archive
-			 && !bfd_is_thin_archive (abfd->my_archive))
-		  result = fprintf (stream, "%s(%s)",
-				    abfd->my_archive->filename, abfd->filename);
-		else
-		  result = fprintf (stream, "%s", abfd->filename);
-	      }
+	      if (*ptr == 'A')
+		{
+		  asection *sec;
+		  bfd *abfd;
+		  const char *group = NULL;
+		  struct coff_comdat_info *ci;
+
+		  ptr++;
+		  sec = (asection *) args[arg_no].p;
+		  if (sec == NULL)
+		    /* Invoking %pA with a null section pointer is an
+		       internal error.  */
+		    abort ();
+		  abfd = sec->owner;
+		  if (abfd != NULL
+		      && bfd_get_flavour (abfd) == bfd_target_elf_flavour
+		      && elf_next_in_group (sec) != NULL
+		      && (sec->flags & SEC_GROUP) == 0)
+		    group = elf_group_name (sec);
+		  else if (abfd != NULL
+			   && bfd_get_flavour (abfd) == bfd_target_coff_flavour
+			   && (ci = bfd_coff_get_comdat_section (sec->owner,
+								 sec)) != NULL)
+		    group = ci->name;
+		  if (group != NULL)
+		    result = fprintf (stream, "%s[%s]", sec->name, group);
+		  else
+		    result = fprintf (stream, "%s", sec->name);
+		}
+	      else if (*ptr == 'B')
+		{
+		  bfd *abfd;
+
+		  ptr++;
+		  abfd = (bfd *) args[arg_no].p;
+		  if (abfd == NULL)
+		    /* Invoking %pB with a null bfd pointer is an
+		       internal error.  */
+		    abort ();
+		  else if (abfd->my_archive
+			   && !bfd_is_thin_archive (abfd->my_archive))
+		    result = fprintf (stream, "%s(%s)",
+				      abfd->my_archive->filename,
+				      abfd->filename);
+		  else
+		    result = fprintf (stream, "%s", abfd->filename);
+		}
+	      else
+		PRINT_TYPE (void *, p);
 	      break;
 	    default:
 	      abort();
@@ -1094,9 +1096,11 @@ _bfd_doprnt_scan (const char *format, union _bfd_doprnt_args *args)
 	      }
 	      break;
 	    case 's':
+	      arg_type = Ptr;
+	      break;
 	    case 'p':
-	    case 'A':
-	    case 'B':
+	      if (*ptr == 'A' || *ptr == 'B')
+		ptr++;
 	      arg_type = Ptr;
 	      break;
 	    default:
@@ -1116,8 +1120,8 @@ _bfd_doprnt_scan (const char *format, union _bfd_doprnt_args *args)
 /* This is the default routine to handle BFD error messages.
    Like fprintf (stderr, ...), but also handles some extra format specifiers.
 
-   %A section name from section.  For group components, prints group name too.
-   %B file name from bfd.  For archive components, prints archive too.
+   %pA section name from section.  For group components, prints group name too.
+   %pB file name from bfd.  For archive components, prints archive too.
 
    Beware: Only supports a maximum of 9 format arguments.  */
 
diff --git a/bfd/binary.c b/bfd/binary.c
index 51c8287..0713f5a 100644
--- a/bfd/binary.c
+++ b/bfd/binary.c
@@ -273,7 +273,7 @@ binary_set_section_contents (bfd *abfd,
 	  if (s->filepos < 0)
 	    _bfd_error_handler
 	      /* xgettext:c-format */
-	      (_("warning: writing section `%A' at huge (ie negative) "
+	      (_("warning: writing section `%pA' at huge (ie negative) "
 		 "file offset"),
 	       s);
 	}
diff --git a/bfd/cache.c b/bfd/cache.c
index d33301f..4b14043 100644
--- a/bfd/cache.c
+++ b/bfd/cache.c
@@ -270,7 +270,7 @@ bfd_cache_lookup_worker (bfd *abfd, enum cache_flag flag)
     return (FILE *) abfd->iostream;
 
   /* xgettext:c-format */
-  _bfd_error_handler (_("reopening %B: %s\n"),
+  _bfd_error_handler (_("reopening %pB: %s\n"),
 		      orig_bfd, bfd_errmsg (bfd_get_error ()));
   return NULL;
 }
diff --git a/bfd/coff-alpha.c b/bfd/coff-alpha.c
index 3f88ff5..75060bb 100644
--- a/bfd/coff-alpha.c
+++ b/bfd/coff-alpha.c
@@ -447,7 +447,7 @@ alpha_ecoff_bad_format_hook (bfd *abfd ATTRIBUTE_UNUSED,
 
   if (ALPHA_ECOFF_COMPRESSEDMAG (*internal_f))
     _bfd_error_handler
-      (_("%B: Cannot handle compressed Alpha binaries.\n"
+      (_("%pB: Cannot handle compressed Alpha binaries.\n"
 	 "   Use compiler flags, or objZ, to generate uncompressed binaries."),
        abfd);
 
@@ -599,7 +599,7 @@ alpha_adjust_reloc_in (bfd *abfd,
     {
       /* xgettext:c-format */
       _bfd_error_handler
-	(_("%B: unknown/unsupported relocation type %d"),
+	(_("%pB: unknown/unsupported relocation type %d"),
 	 abfd, intern->r_type);
       bfd_set_error (bfd_error_bad_value);
       rptr->addend = 0;
@@ -1500,14 +1500,14 @@ alpha_relocate_section (bfd *output_bfd,
 	{
 	case ALPHA_R_GPRELHIGH:
 	  _bfd_error_handler
-	    (_("%B: unsupported relocation: ALPHA_R_GPRELHIGH"),
+	    (_("%pB: unsupported relocation: ALPHA_R_GPRELHIGH"),
 	     input_bfd);
 	  bfd_set_error (bfd_error_bad_value);
 	  continue;
 
 	case ALPHA_R_GPRELLOW:
 	  _bfd_error_handler
-	    (_("%B: unsupported relocation: ALPHA_R_GPRELLOW"),
+	    (_("%pB: unsupported relocation: ALPHA_R_GPRELLOW"),
 	     input_bfd);
 	  bfd_set_error (bfd_error_bad_value);
 	  continue;
@@ -1515,7 +1515,7 @@ alpha_relocate_section (bfd *output_bfd,
 	default:
 	  _bfd_error_handler
 	    /* xgettext:c-format */
-	    (_("%B: unknown relocation type %d"),
+	    (_("%pB: unknown relocation type %d"),
 	     input_bfd, (int) r_type);
 	  bfd_set_error (bfd_error_bad_value);
 	  continue;
diff --git a/bfd/coff-arm.c b/bfd/coff-arm.c
index 4e80a59..c81b433 100644
--- a/bfd/coff-arm.c
+++ b/bfd/coff-arm.c
@@ -1034,7 +1034,7 @@ find_thumb_glue (struct bfd_link_info *info,
 
   if (myh == NULL)
     /* xgettext:c-format */
-    _bfd_error_handler (_("%B: unable to find THUMB glue '%s' for `%s'"),
+    _bfd_error_handler (_("%pB: unable to find THUMB glue '%s' for `%s'"),
 			input_bfd, tmp_name, name);
 
   free (tmp_name);
@@ -1063,7 +1063,7 @@ find_arm_glue (struct bfd_link_info *info,
 
   if (myh == NULL)
     /* xgettext:c-format */
-    _bfd_error_handler (_("%B: unable to find ARM glue '%s' for `%s'"),
+    _bfd_error_handler (_("%pB: unable to find ARM glue '%s' for `%s'"),
 			input_bfd, tmp_name, name);
 
   free (tmp_name);
@@ -1365,8 +1365,8 @@ coff_arm_relocate_section (bfd *output_bfd,
 			      && ! INTERWORK_FLAG (h_sec->owner))
 			    _bfd_error_handler
 			      /* xgettext:c-format */
-			      (_("%B(%s): warning: interworking not enabled.\n"
-				 "  first occurrence: %B: arm call to thumb"),
+			      (_("%pB(%s): warning: interworking not enabled.\n"
+				 "  first occurrence: %pB: arm call to thumb"),
 			       h_sec->owner, name, input_bfd);
 
 			  --my_offset;
@@ -1455,8 +1455,8 @@ coff_arm_relocate_section (bfd *output_bfd,
 			      && ! globals->support_old_code)
 			    _bfd_error_handler
 			      /* xgettext:c-format */
-			      (_("%B(%s): warning: interworking not enabled.\n"
-				 "  first occurrence: %B: thumb call to arm\n"
+			      (_("%pB(%s): warning: interworking not enabled.\n"
+				 "  first occurrence: %pB: thumb call to arm\n"
 				 "  consider relinking with --support-old-code enabled"),
 			       h_sec->owner, name, input_bfd);
 
@@ -1748,7 +1748,7 @@ coff_arm_relocate_section (bfd *output_bfd,
 	case bfd_reloc_outofrange:
 	  _bfd_error_handler
 	    /* xgettext:c-format */
-	    (_("%B: bad reloc address %#Lx in section `%A'"),
+	    (_("%pB: bad reloc address %#Lx in section `%pA'"),
 	     input_bfd, rel->r_vaddr, input_section);
 	  return FALSE;
 	case bfd_reloc_overflow:
@@ -2073,7 +2073,7 @@ bfd_arm_process_before_allocation (bfd *		   abfd,
 	  if (symndx >= obj_conv_table_size (abfd))
 	    {
 	      /* xgettext:c-format */
-	      _bfd_error_handler (_("%B: illegal symbol index in reloc: %ld"),
+	      _bfd_error_handler (_("%pB: illegal symbol index in reloc: %ld"),
 				  abfd, symndx);
 	      continue;
 	    }
@@ -2205,7 +2205,7 @@ coff_arm_merge_private_bfd_data (bfd * ibfd, struct bfd_link_info *info)
 	    {
 	      _bfd_error_handler
 		/* xgettext: c-format */
-		(_("error: %B is compiled for APCS-%d, whereas %B is compiled for APCS-%d"),
+		(_("error: %pB is compiled for APCS-%d, whereas %pB is compiled for APCS-%d"),
 		 ibfd, APCS_26_FLAG (ibfd) ? 26 : 32,
 		 obfd, APCS_26_FLAG (obfd) ? 26 : 32
 		 );
@@ -2219,12 +2219,12 @@ coff_arm_merge_private_bfd_data (bfd * ibfd, struct bfd_link_info *info)
 	      if (APCS_FLOAT_FLAG (ibfd))
 		/* xgettext: c-format */
 		_bfd_error_handler (_("\
-error: %B passes floats in float registers, whereas %B passes them in integer registers"),
+error: %pB passes floats in float registers, whereas %pB passes them in integer registers"),
 				    ibfd, obfd);
 	      else
 		/* xgettext: c-format */
 		_bfd_error_handler (_("\
-error: %B passes floats in integer registers, whereas %B passes them in float registers"),
+error: %pB passes floats in integer registers, whereas %pB passes them in float registers"),
 				    ibfd, obfd);
 
 	      bfd_set_error (bfd_error_wrong_format);
@@ -2236,12 +2236,12 @@ error: %B passes floats in integer registers, whereas %B passes them in float re
 	      if (PIC_FLAG (ibfd))
 		/* xgettext: c-format */
 		_bfd_error_handler (_("\
-error: %B is compiled as position independent code, whereas target %B is absolute position"),
+error: %pB is compiled as position independent code, whereas target %pB is absolute position"),
 				    ibfd, obfd);
 	      else
 		/* xgettext: c-format */
 		_bfd_error_handler (_("\
-error: %B is compiled as absolute position code, whereas target %B is position independent"),
+error: %pB is compiled as absolute position code, whereas target %pB is position independent"),
 				    ibfd, obfd);
 
 	      bfd_set_error (bfd_error_wrong_format);
@@ -2268,12 +2268,12 @@ error: %B is compiled as absolute position code, whereas target %B is position i
 	      if (INTERWORK_FLAG (ibfd))
 		/* xgettext: c-format */
 		_bfd_error_handler (_("\
-Warning: %B supports interworking, whereas %B does not"),
+Warning: %pB supports interworking, whereas %pB does not"),
 				    ibfd, obfd);
 	      else
 		/* xgettext: c-format */
 		_bfd_error_handler (_("\
-Warning: %B does not support interworking, whereas %B does"),
+Warning: %pB does not support interworking, whereas %pB does"),
 				    ibfd, obfd);
 	    }
 	}
@@ -2363,10 +2363,10 @@ _bfd_coff_arm_set_private_flags (bfd * abfd, flagword flags)
   if (INTERWORK_SET (abfd) && (INTERWORK_FLAG (abfd) != flag))
     {
       if (flag)
-	_bfd_error_handler (_("Warning: Not setting interworking flag of %B since it has already been specified as non-interworking"),
+	_bfd_error_handler (_("Warning: Not setting interworking flag of %pB since it has already been specified as non-interworking"),
 			    abfd);
       else
-	_bfd_error_handler (_("Warning: Clearing the interworking flag of %B due to outside request"),
+	_bfd_error_handler (_("Warning: Clearing the interworking flag of %pB due to outside request"),
 			    abfd);
       flag = 0;
     }
@@ -2424,7 +2424,7 @@ coff_arm_copy_private_bfd_data (bfd * src, bfd * dest)
 		{
 		  /* xgettext:c-format */
 		  _bfd_error_handler (_("\
-Warning: Clearing the interworking flag of %B because non-interworking code in %B has been linked with it"),
+Warning: Clearing the interworking flag of %pB because non-interworking code in %pB has been linked with it"),
 				      dest, src);
 		}
 
diff --git a/bfd/coff-i860.c b/bfd/coff-i860.c
index 50d156c..f5d8e88 100644
--- a/bfd/coff-i860.c
+++ b/bfd/coff-i860.c
@@ -610,7 +610,7 @@ i860_reloc_processing (arelent *cache_ptr, struct internal_reloc *dst,
 	    {
 	      _bfd_error_handler
 		/* xgettext: c-format */
-		(_("%B: warning: illegal symbol index %ld in relocs"),
+		(_("%pB: warning: illegal symbol index %ld in relocs"),
 		 abfd, dst->r_symndx);
 	      cache_ptr->sym_ptr_ptr = bfd_abs_section_ptr->symbol_ptr_ptr;
 	      ptr = NULL;
diff --git a/bfd/coff-mcore.c b/bfd/coff-mcore.c
index 80432d1..5e3b7d4 100644
--- a/bfd/coff-mcore.c
+++ b/bfd/coff-mcore.c
@@ -242,7 +242,7 @@ mcore_coff_unsupported_reloc (bfd * abfd,
   BFD_ASSERT (reloc_entry->howto != (reloc_howto_type *)0);
 
   /* xgettext: c-format */
-  _bfd_error_handler (_("%B: Relocation %s (%d) is not currently supported.\n"),
+  _bfd_error_handler (_("%pB: Relocation %s (%d) is not currently supported.\n"),
 		      abfd,
 		      reloc_entry->howto->name,
 		      reloc_entry->howto->type);
@@ -368,7 +368,7 @@ coff_mcore_relocate_section (bfd * output_bfd,
     {
       _bfd_error_handler
 	/* xgettext: c-format */
-	(_("%B: compiled for a %s system and target is %s.\n"),
+	(_("%pB: compiled for a %s system and target is %s.\n"),
 	 input_bfd,
 	 bfd_big_endian (input_bfd) ? _("big endian") : _("little endian"),
 	 bfd_big_endian (output_bfd) ? _("big endian") : _("little endian"));
@@ -470,7 +470,7 @@ coff_mcore_relocate_section (bfd * output_bfd,
 	{
 	default:
 	  /* xgettext: c-format */
-	  _bfd_error_handler (_("%B: unsupported relocation type 0x%02x"),
+	  _bfd_error_handler (_("%pB: unsupported relocation type 0x%02x"),
 			      input_bfd, r_type);
 	  bfd_set_error (bfd_error_bad_value);
 	  return FALSE;
@@ -478,7 +478,7 @@ coff_mcore_relocate_section (bfd * output_bfd,
 	case IMAGE_REL_MCORE_ABSOLUTE:
 	  _bfd_error_handler
 	    /* xgettext: c-format */
-	    (_("Warning: unsupported reloc %s <file %B, section %A>\n"
+	    (_("Warning: unsupported reloc %s <file %pB, section %pA>\n"
 	       "sym %ld (%s), r_vaddr %Ld (%#Lx)"),
 	     howto->name, input_bfd, input_section,
 	     rel->r_symndx, my_name, rel->r_vaddr, rel->r_vaddr);
diff --git a/bfd/coff-ppc.c b/bfd/coff-ppc.c
index 42d9963..8cdfd80 100644
--- a/bfd/coff-ppc.c
+++ b/bfd/coff-ppc.c
@@ -1040,7 +1040,7 @@ coff_ppc_relocate_section (bfd *output_bfd,
 	default:
 	  _bfd_error_handler
 	    /* xgettext: c-format */
-	    (_("%B: unsupported relocation type 0x%02x"), input_bfd, r_type);
+	    (_("%pB: unsupported relocation type 0x%02x"), input_bfd, r_type);
 	  bfd_set_error (bfd_error_bad_value);
 	  return FALSE;
 	case IMAGE_REL_PPC_TOCREL16:
@@ -1131,7 +1131,7 @@ coff_ppc_relocate_section (bfd *output_bfd,
 		      {
 			_bfd_error_handler
 			  /* xgettext: c-format */
-			  (_("%B: Relocation for %s of %#Lx exceeds "
+			  (_("%pB: Relocation for %s of %#Lx exceeds "
 			     "Toc size limit"),
 			   input_bfd, name, our_toc_offset);
 			bfd_set_error (bfd_error_bad_value);
@@ -1185,7 +1185,7 @@ coff_ppc_relocate_section (bfd *output_bfd,
 	      {
 		_bfd_error_handler
 		  /* xgettext: c-format */
-		  (_("%B: Relocation exceeds allocated TOC (%#Lx)"),
+		  (_("%pB: Relocation exceeds allocated TOC (%#Lx)"),
 		   input_bfd, toc_section->size);
 		bfd_set_error (bfd_error_bad_value);
 		return FALSE;
@@ -1240,7 +1240,7 @@ coff_ppc_relocate_section (bfd *output_bfd,
 
 	    _bfd_error_handler
 	      /* xgettext: c-format */
-	      (_("Warning: unsupported reloc %s <file %B, section %A>\n"
+	      (_("Warning: unsupported reloc %s <file %pB, section %pA>\n"
 		 "sym %ld (%s), r_vaddr %Ld (%#Lx)"),
 	       howto->name, input_bfd, input_section,
 	       rel->r_symndx, my_name, rel->r_vaddr, rel->r_vaddr);
@@ -1258,7 +1258,7 @@ coff_ppc_relocate_section (bfd *output_bfd,
 
 	    _bfd_error_handler
 	      /* xgettext: c-format */
-	      (_("%B: Out of order IMGLUE reloc for %s"), input_bfd, my_name);
+	      (_("%pB: Out of order IMGLUE reloc for %s"), input_bfd, my_name);
 	    bfd_set_error (bfd_error_bad_value);
 	    return FALSE;
 	  }
diff --git a/bfd/coff-rs6000.c b/bfd/coff-rs6000.c
index cf53921..a28e935 100644
--- a/bfd/coff-rs6000.c
+++ b/bfd/coff-rs6000.c
@@ -2770,7 +2770,7 @@ xcoff_reloc_type_fail (bfd *input_bfd,
 {
   _bfd_error_handler
     /* xgettext: c-format */
-    (_("%B: unsupported relocation type 0x%02x"),
+    (_("%pB: unsupported relocation type 0x%02x"),
      input_bfd, (unsigned int) rel->r_type);
   bfd_set_error (bfd_error_bad_value);
   return FALSE;
@@ -2856,7 +2856,7 @@ xcoff_reloc_type_toc (bfd *input_bfd,
 	{
 	  _bfd_error_handler
 	    /* xgettext: c-format */
-	    (_("%B: TOC reloc at %#Lx to symbol `%s' with no TOC entry"),
+	    (_("%pB: TOC reloc at %#Lx to symbol `%s' with no TOC entry"),
 	     input_bfd, rel->r_vaddr, h->root.root.string);
 	  bfd_set_error (bfd_error_bad_value);
 	  return FALSE;
@@ -3602,7 +3602,7 @@ xcoff_create_csect_from_smclas (bfd *abfd,
     {
       _bfd_error_handler
 	/* xgettext: c-format */
-	(_("%B: symbol `%s' has unrecognized smclas %d"),
+	(_("%pB: symbol `%s' has unrecognized smclas %d"),
 	 abfd, symbol_name, aux->x_csect.x_smclas);
       bfd_set_error (bfd_error_bad_value);
     }
diff --git a/bfd/coff-sh.c b/bfd/coff-sh.c
index 99b5617..a7a0ec3 100644
--- a/bfd/coff-sh.c
+++ b/bfd/coff-sh.c
@@ -775,7 +775,7 @@ sh_relax_section (bfd *abfd,
       if (laddr >= sec->size)
 	{
 	  /* xgettext: c-format */
-	  _bfd_error_handler (_("%B: %#Lx: warning: bad R_SH_USES offset"),
+	  _bfd_error_handler (_("%pB: %#Lx: warning: bad R_SH_USES offset"),
 			      abfd, irel->r_vaddr);
 	  continue;
 	}
@@ -786,7 +786,7 @@ sh_relax_section (bfd *abfd,
 	{
 	  _bfd_error_handler
 	    /* xgettext: c-format */
-	    (_("%B: %#Lx: warning: R_SH_USES points to unrecognized insn %#x"),
+	    (_("%pB: %#Lx: warning: R_SH_USES points to unrecognized insn %#x"),
 	     abfd, irel->r_vaddr, insn);
 	  continue;
 	}
@@ -804,7 +804,7 @@ sh_relax_section (bfd *abfd,
 	{
 	  _bfd_error_handler
 	    /* xgettext: c-format */
-	    (_("%B: %#Lx: warning: bad R_SH_USES load offset"),
+	    (_("%pB: %#Lx: warning: bad R_SH_USES load offset"),
 	     abfd, irel->r_vaddr);
 	  continue;
 	}
@@ -829,7 +829,7 @@ sh_relax_section (bfd *abfd,
 	{
 	  _bfd_error_handler
 	    /* xgettext: c-format */
-	    (_("%B: %#Lx: warning: could not find expected reloc"),
+	    (_("%pB: %#Lx: warning: could not find expected reloc"),
 	     abfd, paddr);
 	  continue;
 	}
@@ -846,7 +846,7 @@ sh_relax_section (bfd *abfd,
 	{
 	  _bfd_error_handler
 	    /* xgettext: c-format */
-	    (_("%B: %#Lx: warning: symbol in unexpected section"),
+	    (_("%pB: %#Lx: warning: symbol in unexpected section"),
 	     abfd, paddr);
 	  continue;
 	}
@@ -972,7 +972,7 @@ sh_relax_section (bfd *abfd,
 	{
 	  _bfd_error_handler
 	    /* xgettext: c-format */
-	    (_("%B: %#Lx: warning: could not find expected COUNT reloc"),
+	    (_("%pB: %#Lx: warning: could not find expected COUNT reloc"),
 	     abfd, paddr);
 	  continue;
 	}
@@ -982,7 +982,7 @@ sh_relax_section (bfd *abfd,
       if (irelcount->r_offset == 0)
 	{
 	  /* xgettext: c-format */
-	  _bfd_error_handler (_("%B: %#Lx: warning: bad count"),
+	  _bfd_error_handler (_("%pB: %#Lx: warning: bad count"),
 			      abfd, paddr);
 	  continue;
 	}
@@ -1354,7 +1354,7 @@ sh_relax_delete_bytes (bfd *abfd,
 	    {
 	      _bfd_error_handler
 		/* xgettext: c-format */
-		(_("%B: %#Lx: fatal: reloc overflow while relaxing"),
+		(_("%pB: %#Lx: fatal: reloc overflow while relaxing"),
 		 abfd, irel->r_vaddr);
 	      bfd_set_error (bfd_error_bad_value);
 	      return FALSE;
@@ -1449,7 +1449,7 @@ sh_relax_delete_bytes (bfd *abfd,
       || obj_raw_syments (abfd) != NULL)
     {
       _bfd_error_handler
-	(_("%B: fatal: generic symbols retrieved before relaxing"), abfd);
+	(_("%pB: fatal: generic symbols retrieved before relaxing"), abfd);
       bfd_set_error (bfd_error_invalid_operation);
       return FALSE;
     }
@@ -2642,7 +2642,7 @@ sh_swap_insns (bfd *      abfd,
 	    {
 	      _bfd_error_handler
 		/* xgettext: c-format */
-		(_("%B: %#Lx: fatal: reloc overflow while relaxing"),
+		(_("%pB: %#Lx: fatal: reloc overflow while relaxing"),
 		 abfd, irel->r_vaddr);
 	      bfd_set_error (bfd_error_bad_value);
 	      return FALSE;
@@ -2780,7 +2780,7 @@ sh_relocate_section (bfd *output_bfd ATTRIBUTE_UNUSED,
 	    {
 	      _bfd_error_handler
 		/* xgettext: c-format */
-		(_("%B: illegal symbol index %ld in relocs"),
+		(_("%pB: illegal symbol index %ld in relocs"),
 		 input_bfd, symndx);
 	      bfd_set_error (bfd_error_bad_value);
 	      return FALSE;
diff --git a/bfd/coff-tic4x.c b/bfd/coff-tic4x.c
index 660b519..0be90de 100644
--- a/bfd/coff-tic4x.c
+++ b/bfd/coff-tic4x.c
@@ -224,7 +224,7 @@ tic4x_reloc_processing (arelent *relent,
 	{
 	  _bfd_error_handler
 	    /* xgettext: c-format */
-	    (_("%B: warning: illegal symbol index %ld in relocs"),
+	    (_("%pB: warning: illegal symbol index %ld in relocs"),
 	     abfd, reloc->r_symndx);
 	  relent->sym_ptr_ptr = bfd_abs_section_ptr->symbol_ptr_ptr;
 	  ptr = NULL;
diff --git a/bfd/coff-tic54x.c b/bfd/coff-tic54x.c
index 322cbe2..2489d2f 100644
--- a/bfd/coff-tic54x.c
+++ b/bfd/coff-tic54x.c
@@ -362,7 +362,7 @@ tic54x_reloc_processing (arelent *relent,
 	{
 	  _bfd_error_handler
 	    /* xgettext: c-format */
-	    (_("%B: warning: illegal symbol index %ld in relocs"),
+	    (_("%pB: warning: illegal symbol index %ld in relocs"),
 	     abfd, reloc->r_symndx);
 	  relent->sym_ptr_ptr = bfd_abs_section_ptr->symbol_ptr_ptr;
 	  ptr = NULL;
diff --git a/bfd/coff-tic80.c b/bfd/coff-tic80.c
index 3496a05..2920531 100644
--- a/bfd/coff-tic80.c
+++ b/bfd/coff-tic80.c
@@ -669,7 +669,7 @@ coff_tic80_relocate_section (bfd *output_bfd,
 	case bfd_reloc_outofrange:
 	  _bfd_error_handler
 	    /* xgettext: c-format */
-	    (_("%B: bad reloc address %#Lx in section `%A'"),
+	    (_("%pB: bad reloc address %#Lx in section `%pA'"),
 	     input_bfd, rel->r_vaddr, input_section);
 	  return FALSE;
 	case bfd_reloc_overflow:
diff --git a/bfd/coff64-rs6000.c b/bfd/coff64-rs6000.c
index ddee235..78f14a0 100644
--- a/bfd/coff64-rs6000.c
+++ b/bfd/coff64-rs6000.c
@@ -2147,7 +2147,7 @@ xcoff64_create_csect_from_smclas (bfd *abfd, union internal_auxent *aux,
     {
       _bfd_error_handler
 	/* xgettext: c-format */
-	(_("%B: symbol `%s' has unrecognized smclas %d"),
+	(_("%pB: symbol `%s' has unrecognized smclas %d"),
 	 abfd, symbol_name, aux->x_csect.x_smclas);
       bfd_set_error (bfd_error_bad_value);
     }
diff --git a/bfd/coffcode.h b/bfd/coffcode.h
index 87ccecd..f3d061b 100644
--- a/bfd/coffcode.h
+++ b/bfd/coffcode.h
@@ -965,7 +965,7 @@ handle_COMDAT (bfd * abfd,
 	  /* PR 17512 file: 078-11867-0.004  */
 	  if (symname == NULL)
 	    {
-	      _bfd_error_handler (_("%B: unable to load COMDAT section name"),
+	      _bfd_error_handler (_("%pB: unable to load COMDAT section name"),
 				  abfd);
 	      break;
 	    }
@@ -1000,7 +1000,7 @@ handle_COMDAT (bfd * abfd,
 		  {
 		    /* Malformed input files can trigger this test.
 		       cf PR 21781.  */
-		    _bfd_error_handler (_("%B: error: unexpected symbol '%s' in COMDAT section"),
+		    _bfd_error_handler (_("%pB: error: unexpected symbol '%s' in COMDAT section"),
 					abfd, symname);
 		    goto breakloop;
 		  }
@@ -1012,7 +1012,7 @@ handle_COMDAT (bfd * abfd,
 
 		if (isym.n_sclass == C_STAT && strcmp (name, symname) != 0)
 		  /* xgettext:c-format */
-		  _bfd_error_handler (_("%B: warning: COMDAT symbol '%s'"
+		  _bfd_error_handler (_("%pB: warning: COMDAT symbol '%s'"
 					" does not match section name '%s'"),
 				      abfd, symname, name);
 
@@ -1022,7 +1022,7 @@ handle_COMDAT (bfd * abfd,
 		if (esym + bfd_coff_symesz (abfd) >= esymend)
 		  {
 		    /* xgettext:c-format */
-		    _bfd_error_handler (_("%B: warning: No symbol for"
+		    _bfd_error_handler (_("%pB: warning: No symbol for"
 					  " section '%s' found"),
 					abfd, symname);
 		    break;
@@ -1248,7 +1248,7 @@ styp_to_sec_flags (bfd *abfd,
 	     variable as this will allow some .sys files generate by
 	     other toolchains to be processed.  See bugzilla issue 196.  */
 	  /* xgettext:c-format */
-	  _bfd_error_handler (_("%B: Warning: Ignoring section flag"
+	  _bfd_error_handler (_("%pB: Warning: Ignoring section flag"
 				" IMAGE_SCN_MEM_NOT_PAGED in section %s"),
 			      abfd, name);
 	  break;
@@ -1317,7 +1317,7 @@ styp_to_sec_flags (bfd *abfd,
 	{
 	  _bfd_error_handler
 	    /* xgettext:c-format */
-	    (_("%B (%s): Section flag %s (%#lx) ignored"),
+	    (_("%pB (%s): Section flag %s (%#lx) ignored"),
 	     abfd, name, unhandled, flag);
 	  result = FALSE;
 	}
@@ -1947,7 +1947,7 @@ coff_set_alignment_hook (bfd * abfd ATTRIBUTE_UNUSED,
     }
   else if (hdr->s_nreloc == 0xffff)
     _bfd_error_handler
-      (_("%B: warning: claims to have 0xffff relocs, without overflow"),
+      (_("%pB: warning: claims to have 0xffff relocs, without overflow"),
        abfd);
 }
 #undef ALIGN_SET
@@ -2781,7 +2781,7 @@ coff_write_relocs (bfd * abfd, int first_undef)
 		      {
 			bfd_set_error (bfd_error_bad_value);
 			/* xgettext:c-format */
-			_bfd_error_handler (_("%B: reloc against a non-existent"
+			_bfd_error_handler (_("%pB: reloc against a non-existent"
 					      " symbol index: %ld"),
 					    abfd, n.r_symndx);
 			return FALSE;
@@ -3184,7 +3184,7 @@ coff_compute_section_file_positions (bfd * abfd)
 	  bfd_set_error (bfd_error_file_too_big);
 	  _bfd_error_handler
 	    /* xgettext:c-format */
-	    (_("%B: page size is too large (0x%x)"), abfd, page_size);
+	    (_("%pB: page size is too large (0x%x)"), abfd, page_size);
 	  return FALSE;
 	}
     }
@@ -3344,7 +3344,7 @@ coff_compute_section_file_positions (bfd * abfd)
       bfd_set_error (bfd_error_file_too_big);
       _bfd_error_handler
 	/* xgettext:c-format */
-	(_("%B: too many sections (%d)"), abfd, target_index);
+	(_("%pB: too many sections (%d)"), abfd, target_index);
       return FALSE;
     }
 
@@ -3765,7 +3765,7 @@ coff_write_object_contents (bfd * abfd)
 		  bfd_set_error (bfd_error_file_too_big);
 		  _bfd_error_handler
 		    /* xgettext:c-format */
-		    (_("%B: section %A: string table overflow at offset %ld"),
+		    (_("%pB: section %pA: string table overflow at offset %ld"),
 		    abfd, current, (unsigned long) string_size);
 		  return FALSE;
 		}
@@ -3870,7 +3870,7 @@ coff_write_object_contents (bfd * abfd)
 
 	  _bfd_error_handler
 	    /* xgettext:c-format */
-	    (_("%B:%s section %s: alignment 2**%u not representable"),
+	    (_("%pB:%s section %s: alignment 2**%u not representable"),
 	    abfd, warn ? " warning:" : "", current->name,
 	    current->alignment_power);
 	  if (!warn)
@@ -4589,7 +4589,7 @@ coff_slurp_line_table (bfd *abfd, asection *asect)
   if (asect->lineno_count > asect->size)
     {
       _bfd_error_handler
-	(_("%B: warning: line number count (%#lx) exceeds section size (%#lx)"),
+	(_("%pB: warning: line number count (%#lx) exceeds section size (%#lx)"),
 	 abfd, (unsigned long) asect->lineno_count, (unsigned long) asect->size);
       return FALSE;
     }
@@ -4604,7 +4604,7 @@ coff_slurp_line_table (bfd *abfd, asection *asect)
   if (native_lineno == NULL)
     {
       _bfd_error_handler
-	(_("%B: warning: line number table read failed"), abfd);
+	(_("%pB: warning: line number table read failed"), abfd);
       bfd_release (abfd, lineno_cache);
       return FALSE;
     }
@@ -4638,7 +4638,7 @@ coff_slurp_line_table (bfd *abfd, asection *asect)
 	    {
 	      _bfd_error_handler
 		/* xgettext:c-format */
-		(_("%B: warning: illegal symbol index 0x%lx in line number entry %d"),
+		(_("%pB: warning: illegal symbol index 0x%lx in line number entry %d"),
 		 abfd, symndx, counter);
 	      cache_ptr->line_number = -1;
 	      ret = FALSE;
@@ -4652,7 +4652,7 @@ coff_slurp_line_table (bfd *abfd, asection *asect)
 	    {
 	      _bfd_error_handler
 		/* xgettext:c-format */
-		(_("%B: warning: illegal symbol index 0x%lx in line number entry %d"),
+		(_("%pB: warning: illegal symbol index 0x%lx in line number entry %d"),
 		 abfd, symndx, counter);
 	      cache_ptr->line_number = -1;
 	      ret = FALSE;
@@ -4666,7 +4666,7 @@ coff_slurp_line_table (bfd *abfd, asection *asect)
 	    {
 	      _bfd_error_handler
 		/* xgettext:c-format */
-		(_("%B: warning: illegal symbol in line number entry %d"),
+		(_("%pB: warning: illegal symbol in line number entry %d"),
 		 abfd, counter);
 	      cache_ptr->line_number = -1;
 	      ret = FALSE;
@@ -4679,7 +4679,7 @@ coff_slurp_line_table (bfd *abfd, asection *asect)
 	  if (sym->lineno != NULL)
 	    _bfd_error_handler
 	      /* xgettext:c-format */
-	      (_("%B: warning: duplicate line number information for `%s'"),
+	      (_("%pB: warning: duplicate line number information for `%s'"),
 	       abfd, bfd_asymbol_name (&sym->symbol));
 
 	  sym->lineno = cache_ptr;
@@ -5100,7 +5100,7 @@ coff_slurp_symbol_table (bfd * abfd)
 	    default:
 	      _bfd_error_handler
 		/* xgettext:c-format */
-		(_("%B: Unrecognized storage class %d for %s symbol `%s'"),
+		(_("%pB: Unrecognized storage class %d for %s symbol `%s'"),
 		 abfd, src->u.syment.n_sclass,
 		 dst->symbol.section->name, dst->symbol.name);
 	      ret = FALSE;
@@ -5233,7 +5233,7 @@ coff_classify_symbol (bfd *abfd,
 
       _bfd_error_handler
 	/* xgettext:c-format */
-	(_("warning: %B: local symbol `%s' has no section"),
+	(_("warning: %pB: local symbol `%s' has no section"),
 	 abfd, _bfd_coff_internal_syment_name (abfd, syment, buf));
     }
 
@@ -5340,7 +5340,7 @@ coff_slurp_reloc_table (bfd * abfd, sec_ptr asect, asymbol ** symbols)
 	    {
 	      _bfd_error_handler
 		/* xgettext:c-format */
-		(_("%B: warning: illegal symbol index %ld in relocs"),
+		(_("%pB: warning: illegal symbol index %ld in relocs"),
 		 abfd, dst.r_symndx);
 	      cache_ptr->sym_ptr_ptr = bfd_abs_section_ptr->symbol_ptr_ptr;
 	      ptr = NULL;
@@ -5380,7 +5380,7 @@ coff_slurp_reloc_table (bfd * abfd, sec_ptr asect, asymbol ** symbols)
 	{
 	  _bfd_error_handler
 	    /* xgettext:c-format */
-	    (_("%B: illegal relocation type %d at address %#Lx"),
+	    (_("%pB: illegal relocation type %d at address %#Lx"),
 	     abfd, dst.r_type, dst.r_vaddr);
 	  bfd_set_error (bfd_error_bad_value);
 	  return FALSE;
diff --git a/bfd/coffgen.c b/bfd/coffgen.c
index 4f90ead..7f2d181 100644
--- a/bfd/coffgen.c
+++ b/bfd/coffgen.c
@@ -175,7 +175,7 @@ make_a_section_from_file (bfd *abfd,
 	    {
 	      _bfd_error_handler
 		/* xgettext: c-format */
-		(_("%B: unable to initialize compress status for section %s"),
+		(_("%pB: unable to initialize compress status for section %s"),
 		 abfd, name);
 	      return FALSE;
 	    }
@@ -199,7 +199,7 @@ make_a_section_from_file (bfd *abfd,
 	    {
 	      _bfd_error_handler
 		/* xgettext: c-format */
-		(_("%B: unable to initialize decompress status for section %s"),
+		(_("%pB: unable to initialize decompress status for section %s"),
 		 abfd, name);
 	      return FALSE;
 	    }
@@ -1647,7 +1647,7 @@ _bfd_coff_get_external_symbols (bfd *abfd)
 	  && size > bfd_get_file_size (abfd)))
 
     {
-      _bfd_error_handler (_("%B: corrupt symbol count: %#Lx"),
+      _bfd_error_handler (_("%pB: corrupt symbol count: %#Lx"),
 			  abfd, obj_raw_syment_count (abfd));
       return FALSE;
     }
@@ -1656,7 +1656,7 @@ _bfd_coff_get_external_symbols (bfd *abfd)
   if (syms == NULL)
     {
       /* PR 21013: Provide an error message when the alloc fails.  */
-      _bfd_error_handler (_("%B: not enough memory to allocate space for %#Lx symbols of size %#Lx"),
+      _bfd_error_handler (_("%pB: not enough memory to allocate space for %#Lx symbols of size %#Lx"),
 			  abfd, obj_raw_syment_count (abfd), symesz);
       return FALSE;
     }
@@ -1723,7 +1723,7 @@ _bfd_coff_read_string_table (bfd *abfd)
     {
       _bfd_error_handler
 	/* xgettext: c-format */
-	(_("%B: bad string table size %Lu"), abfd, strsize);
+	(_("%pB: bad string table size %Lu"), abfd, strsize);
       bfd_set_error (bfd_error_bad_value);
       return NULL;
     }
@@ -3022,7 +3022,7 @@ coff_gc_sweep (bfd *abfd ATTRIBUTE_UNUSED, struct bfd_link_info *info)
 
 	  if (info->print_gc_sections && o->size != 0)
 	    /* xgettext: c-format */
-	    _bfd_error_handler (_("Removing unused section '%A' in file '%B'"),
+	    _bfd_error_handler (_("Removing unused section '%pA' in file '%pB'"),
 				o, sub);
 
 #if 0
diff --git a/bfd/cofflink.c b/bfd/cofflink.c
index beff5cd..2b2a8d6 100644
--- a/bfd/cofflink.c
+++ b/bfd/cofflink.c
@@ -452,7 +452,7 @@ coff_link_add_symbols (bfd *abfd,
 			_bfd_error_handler
 			  /* xgettext: c-format */
 			  (_("Warning: type of symbol `%s' changed"
-			     " from %d to %d in %B"),
+			     " from %d to %d in %pB"),
 			   name, (*sym_hash)->type, sym.n_type, abfd);
 
 		      /* We don't want to change from a meaningful
@@ -2370,7 +2370,7 @@ _bfd_coff_link_input_bfd (struct coff_final_link_info *flaginfo, bfd *input_bfd)
 	    {
 	      _bfd_error_handler
 		/* xgettext: c-format */
-		(_("%B: relocs in section `%A', but it has no contents"),
+		(_("%pB: relocs in section `%pA', but it has no contents"),
 		 input_bfd, o);
 	      bfd_set_error (bfd_error_no_contents);
 	      return FALSE;
@@ -2433,8 +2433,8 @@ _bfd_coff_link_input_bfd (struct coff_final_link_info *flaginfo, bfd *input_bfd)
 	      if (ps->flags & SEC_EXCLUDE)
 		(*flaginfo->info->callbacks->einfo)
 		  /* xgettext: c-format */
-		  (_("%X`%s' referenced in section `%A' of %B: "
-		     "defined in discarded section `%A' of %B\n"),
+		  (_("%X`%s' referenced in section `%pA' of %pB: "
+		     "defined in discarded section `%pA' of %pB\n"),
 		   h->root.root.string, o, input_bfd, ps, ps->owner);
 	    }
 
@@ -2731,7 +2731,7 @@ _bfd_coff_write_global_sym (struct bfd_hash_entry *bh, void *data)
 		      || bfd_link_relocatable (flaginfo->info)))
 		_bfd_error_handler
 		  /* xgettext: c-format */
-		  (_("%B: %A: reloc overflow: %#x > 0xffff"),
+		  (_("%pB: %pA: reloc overflow: %#x > 0xffff"),
 		   output_bfd, sec, sec->reloc_count);
 
 	      if (sec->lineno_count > 0xffff
@@ -2739,7 +2739,7 @@ _bfd_coff_write_global_sym (struct bfd_hash_entry *bh, void *data)
 		      || bfd_link_relocatable (flaginfo->info)))
 		_bfd_error_handler
 		  /* xgettext: c-format */
-		  (_("%B: warning: %A: line number overflow: %#x > 0xffff"),
+		  (_("%pB: warning: %pA: line number overflow: %#x > 0xffff"),
 		   output_bfd, sec, sec->lineno_count);
 
 	      auxp->x_scn.x_nreloc = sec->reloc_count;
@@ -2962,7 +2962,7 @@ _bfd_coff_generic_relocate_section (bfd *output_bfd,
 	{
 	  _bfd_error_handler
 	    /* xgettext: c-format */
-	    (_("%B: illegal symbol index %ld in relocs"), input_bfd, symndx);
+	    (_("%pB: illegal symbol index %ld in relocs"), input_bfd, symndx);
 	  return FALSE;
 	}
       else
@@ -3124,7 +3124,7 @@ _bfd_coff_generic_relocate_section (bfd *output_bfd,
 	case bfd_reloc_outofrange:
 	  _bfd_error_handler
 	    /* xgettext: c-format */
-	    (_("%B: bad reloc address %#Lx in section `%A'"),
+	    (_("%pB: bad reloc address %#Lx in section `%pA'"),
 	     input_bfd, rel->r_vaddr, input_section);
 	  return FALSE;
 	case bfd_reloc_overflow:
diff --git a/bfd/coffswap.h b/bfd/coffswap.h
index 8375af5..7b000e0 100644
--- a/bfd/coffswap.h
+++ b/bfd/coffswap.h
@@ -808,7 +808,7 @@ coff_swap_scnhdr_out (bfd * abfd, void * in, void * out)
       buf[sizeof (scnhdr_int->s_name)] = '\0';
       _bfd_error_handler
 	/* xgettext:c-format */
-	(_("%B: warning: %s: line number overflow: 0x%lx > 0xffff"),
+	(_("%pB: warning: %s: line number overflow: 0x%lx > 0xffff"),
 	 abfd, buf, scnhdr_int->s_nlnno);
       PUT_SCNHDR_NLNNO (abfd, 0xffff, scnhdr_ext->s_nlnno);
     }
@@ -822,7 +822,7 @@ coff_swap_scnhdr_out (bfd * abfd, void * in, void * out)
       memcpy (buf, scnhdr_int->s_name, sizeof (scnhdr_int->s_name));
       buf[sizeof (scnhdr_int->s_name)] = '\0';
       /* xgettext:c-format */
-      _bfd_error_handler (_("%B: %s: reloc overflow: 0x%lx > 0xffff"),
+      _bfd_error_handler (_("%pB: %s: reloc overflow: 0x%lx > 0xffff"),
 			  abfd, buf, scnhdr_int->s_nreloc);
       bfd_set_error (bfd_error_file_truncated);
       PUT_SCNHDR_NRELOC (abfd, 0xffff, scnhdr_ext->s_nreloc);
diff --git a/bfd/compress.c b/bfd/compress.c
index 1a531ea..6a3aabb 100644
--- a/bfd/compress.c
+++ b/bfd/compress.c
@@ -252,7 +252,7 @@ bfd_get_full_section_contents (bfd *abfd, sec_ptr sec, bfd_byte **ptr)
 	      if (bfd_get_error () == bfd_error_no_memory)
 		_bfd_error_handler
 		  /* xgettext:c-format */
-		  (_("error: %B(%A) is too large (%#Lx bytes)"),
+		  (_("error: %pB(%pA) is too large (%#Lx bytes)"),
 		  abfd, sec, sz);
 	      return FALSE;
 	    }
diff --git a/bfd/cpu-arm.c b/bfd/cpu-arm.c
index 151f273..c6682d4 100644
--- a/bfd/cpu-arm.c
+++ b/bfd/cpu-arm.c
@@ -190,7 +190,7 @@ bfd_arm_merge_machines (bfd *ibfd, bfd *obfd)
     {
       /* xgettext: c-format */
       _bfd_error_handler (_("\
-error: %B is compiled for the EP9312, whereas %B is compiled for XScale"),
+error: %pB is compiled for the EP9312, whereas %pB is compiled for XScale"),
 			  ibfd, obfd);
       bfd_set_error (bfd_error_wrong_format);
       return FALSE;
@@ -202,7 +202,7 @@ error: %B is compiled for the EP9312, whereas %B is compiled for XScale"),
     {
       /* xgettext: c-format */
       _bfd_error_handler (_("\
-error: %B is compiled for the EP9312, whereas %B is compiled for XScale"),
+error: %pB is compiled for the EP9312, whereas %pB is compiled for XScale"),
 			  obfd, ibfd);
       bfd_set_error (bfd_error_wrong_format);
       return FALSE;
@@ -335,7 +335,7 @@ bfd_arm_update_notes (bfd *abfd, const char *note_section)
 	{
 	  _bfd_error_handler
 	    /* xgettext: c-format */
-	    (_("warning: unable to update contents of %s section in %B"),
+	    (_("warning: unable to update contents of %s section in %pB"),
 	     note_section, abfd);
 	  goto FAIL;
 	}
diff --git a/bfd/ecoff.c b/bfd/ecoff.c
index b1d530c..66ae194 100644
--- a/bfd/ecoff.c
+++ b/bfd/ecoff.c
@@ -968,7 +968,7 @@ _bfd_ecoff_slurp_symbol_table (bfd *abfd)
       bfd_get_symcount (abfd) = internal_ptr - internal;
       _bfd_error_handler
 	/* xgettext:c-format */
-	(_("%B: warning: isymMax (%ld) is greater than ifdMax (%ld)"),
+	(_("%pB: warning: isymMax (%ld) is greater than ifdMax (%ld)"),
 	 abfd, ecoff_data (abfd)->debug_info.symbolic_header.isymMax,
 	 ecoff_data (abfd)->debug_info.symbolic_header.ifdMax);
     }
diff --git a/bfd/elf-attrs.c b/bfd/elf-attrs.c
index 1783f63..330c621 100644
--- a/bfd/elf-attrs.c
+++ b/bfd/elf-attrs.c
@@ -472,7 +472,7 @@ _bfd_elf_parse_attributes (bfd *abfd, Elf_Internal_Shdr * hdr)
 	  len -= section_len;
 	  if (section_len <= 4)
 	    {
-	      _bfd_error_handler (_("%B: error: attribute section length too small: %ld"),
+	      _bfd_error_handler (_("%pB: error: attribute section length too small: %ld"),
 				  abfd, section_len);
 	      break;
 	    }
@@ -600,7 +600,7 @@ _bfd_elf_merge_object_attributes (bfd *ibfd, struct bfd_link_info *info)
 	{
 	  _bfd_error_handler
 	    /* xgettext:c-format */
-		(_("error: %B: Object has vendor-specific contents that "
+		(_("error: %pB: Object has vendor-specific contents that "
 		   "must be processed by the '%s' toolchain"),
 		 ibfd, in_attr->s);
 	  return FALSE;
@@ -610,7 +610,7 @@ _bfd_elf_merge_object_attributes (bfd *ibfd, struct bfd_link_info *info)
 	  || (in_attr->i != 0 && strcmp (in_attr->s, out_attr->s) != 0))
 	{
 	  /* xgettext:c-format */
-	  _bfd_error_handler (_("error: %B: Object tag '%d, %s' is "
+	  _bfd_error_handler (_("error: %pB: Object tag '%d, %s' is "
 				"incompatible with tag '%d, %s'"),
 			      ibfd,
 			      in_attr->i, in_attr->s ? in_attr->s : "",
diff --git a/bfd/elf-eh-frame.c b/bfd/elf-eh-frame.c
index 95697c4..d61c915 100644
--- a/bfd/elf-eh-frame.c
+++ b/bfd/elf-eh-frame.c
@@ -939,7 +939,7 @@ _bfd_elf_parse_eh_frame (bfd *abfd, struct bfd_link_info *info,
 	    {
 	      (*info->callbacks->minfo)
 		/* xgettext:c-format */
-		(_("discarding zero address range FDE in %B(%A).\n"),
+		(_("discarding zero address range FDE in %pB(%pA).\n"),
 		 abfd, sec);
 	      this_inf->u.fde.cie_inf = NULL;
 	    }
@@ -1044,7 +1044,7 @@ _bfd_elf_parse_eh_frame (bfd *abfd, struct bfd_link_info *info,
  free_no_table:
   (*info->callbacks->einfo)
     /* xgettext:c-format */
-    (_("%P: error in %B(%A); no .eh_frame_hdr table will be created.\n"),
+    (_("%P: error in %pB(%pA); no .eh_frame_hdr table will be created.\n"),
      abfd, sec);
   hdr_info->u.dwarf.table = FALSE;
   if (sec_info)
@@ -1534,7 +1534,7 @@ _bfd_elf_discard_section_eh_frame
 		  {
 		    (*info->callbacks->einfo)
 		      /* xgettext:c-format */
-		      (_("%P: FDE encoding in %B(%A) prevents .eh_frame_hdr"
+		      (_("%P: FDE encoding in %pB(%pA) prevents .eh_frame_hdr"
 			 " table being created.\n"), abfd, sec);
 		    num_warnings_issued ++;
 		  }
@@ -1863,7 +1863,7 @@ _bfd_elf_write_section_eh_frame_entry (bfd *abfd, struct bfd_link_info *info,
       if (addr <= last_addr)
 	{
 	  /* xgettext:c-format */
-	  _bfd_error_handler (_("%B: %A not in order"), sec->owner, sec);
+	  _bfd_error_handler (_("%pB: %pA not in order"), sec->owner, sec);
 	  return FALSE;
 	}
 
@@ -1877,7 +1877,7 @@ _bfd_elf_write_section_eh_frame_entry (bfd *abfd, struct bfd_link_info *info,
   if (addr & 1)
     {
       /* xgettext:c-format */
-      _bfd_error_handler (_("%B: %A invalid input section size"),
+      _bfd_error_handler (_("%pB: %pA invalid input section size"),
 			  sec->owner, sec);
       bfd_set_error (bfd_error_bad_value);
       return FALSE;
@@ -1885,7 +1885,7 @@ _bfd_elf_write_section_eh_frame_entry (bfd *abfd, struct bfd_link_info *info,
   if (last_addr >= addr + sec->rawsize)
     {
       /* xgettext:c-format */
-      _bfd_error_handler (_("%B: %A points past end of text section"),
+      _bfd_error_handler (_("%pB: %pA points past end of text section"),
 			  sec->owner, sec);
       bfd_set_error (bfd_error_bad_value);
       return FALSE;
@@ -2304,7 +2304,7 @@ _bfd_elf_fixup_eh_frame_hdr (struct bfd_link_info *info)
       if (sec->output_section != osec)
 	{
 	  _bfd_error_handler
-	    (_("Invalid output section for .eh_frame_entry: %A"),
+	    (_("Invalid output section for .eh_frame_entry: %pA"),
 	     sec->output_section);
 	  return FALSE;
 	}
@@ -2327,7 +2327,7 @@ _bfd_elf_fixup_eh_frame_hdr (struct bfd_link_info *info)
   if (i != 0)
     {
       _bfd_error_handler
-	(_("Invalid contents in %A section"), osec);
+	(_("Invalid contents in %pA section"), osec);
       return FALSE;
     }
 
diff --git a/bfd/elf-ifunc.c b/bfd/elf-ifunc.c
index 1fab440..5716ab3 100644
--- a/bfd/elf-ifunc.c
+++ b/bfd/elf-ifunc.c
@@ -140,7 +140,7 @@ _bfd_elf_allocate_ifunc_dyn_relocs (struct bfd_link_info *info,
       info->callbacks->einfo
 	/* xgettext:c-format */
 	(_("%F%P: dynamic STT_GNU_IFUNC symbol `%s' with pointer "
-	   "equality in `%B' can not be used when making an "
+	   "equality in `%pB' can not be used when making an "
 	   "executable; recompile with -fPIE and relink with -pie\n"),
 	 h->root.root.string,
 	 h->root.u.def.section->owner);
diff --git a/bfd/elf-m10300.c b/bfd/elf-m10300.c
index 66fe1a5..efb0003 100644
--- a/bfd/elf-m10300.c
+++ b/bfd/elf-m10300.c
@@ -809,7 +809,7 @@ mn10300_info_to_howto (bfd *abfd ATTRIBUTE_UNUSED,
   if (r_type >= R_MN10300_MAX)
     {
       /* xgettext:c-format */
-      _bfd_error_handler (_("%B: unrecognised MN10300 reloc number: %d"),
+      _bfd_error_handler (_("%pB: unrecognised MN10300 reloc number: %d"),
 			  abfd, r_type);
       bfd_set_error (bfd_error_bad_value);
       r_type = R_MN10300_NONE;
@@ -1025,7 +1025,7 @@ mn10300_do_tls_transition (bfd *	 input_bfd,
     default:
       _bfd_error_handler
 	/* xgettext:c-format */
-	(_("%B: Unsupported transition from %s to %s"),
+	(_("%pB: Unsupported transition from %s to %s"),
 	 input_bfd,
 	 elf_mn10300_howto_table[r_type].name,
 	 elf_mn10300_howto_table[tls_r_type].name);
@@ -1194,7 +1194,7 @@ mn10300_elf_check_relocs (bfd *abfd,
 		  else
 		    _bfd_error_handler
 		      /* xgettext:c-format */
-		      (_("%B: %s' accessed both as normal and thread local symbol"),
+		      (_("%pB: %s' accessed both as normal and thread local symbol"),
 		       abfd, h ? h->root.root.string : "<local>");
 		}
 
@@ -2090,7 +2090,7 @@ mn10300_elf_relocate_section (bfd *output_bfd,
 
 	    _bfd_error_handler
 	      /* xgettext:c-format */
-	      (_("%B(%A+%#Lx): unresolvable %s relocation against symbol `%s'"),
+	      (_("%pB(%pA+%#Lx): unresolvable %s relocation against symbol `%s'"),
 	       input_bfd,
 	       input_section,
 	       rel->r_offset,
@@ -2155,7 +2155,7 @@ mn10300_elf_relocate_section (bfd *output_bfd,
 			" library (did you forget -fpic?)");
 	      else if (r_type == R_MN10300_GOT32)
 		/* xgettext:c-format */
-		msg = _("%B: taking the address of protected function"
+		msg = _("%pB: taking the address of protected function"
 			" '%s' cannot be done when making a shared library");
 	      else
 		msg = _("internal error: suspicious relocation type used"
diff --git a/bfd/elf-properties.c b/bfd/elf-properties.c
index 2549dd0..50c0e9d 100644
--- a/bfd/elf-properties.c
+++ b/bfd/elf-properties.c
@@ -62,7 +62,7 @@ _bfd_elf_get_property (bfd *abfd, unsigned int type, unsigned int datasz)
   p = (elf_property_list *) bfd_alloc (abfd, sizeof (*p));
   if (p == NULL)
     {
-      _bfd_error_handler (_("%B: out of memory in _bfd_elf_get_property"),
+      _bfd_error_handler (_("%pB: out of memory in _bfd_elf_get_property"),
 			  abfd);
       _exit (EXIT_FAILURE);
     }
@@ -88,7 +88,7 @@ _bfd_elf_parse_gnu_properties (bfd *abfd, Elf_Internal_Note *note)
     {
 bad_size:
       _bfd_error_handler
-	(_("warning: %B: corrupt GNU_PROPERTY_TYPE (%ld) size: %#lx"),
+	(_("warning: %pB: corrupt GNU_PROPERTY_TYPE (%ld) size: %#lx"),
 	 abfd, note->type, note->descsz);
       return FALSE;
     }
@@ -109,7 +109,7 @@ bad_size:
       if (datasz > (size_t) (ptr_end - ptr))
 	{
 	  _bfd_error_handler
-	    (_("warning: %B: corrupt GNU_PROPERTY_TYPE (%ld) type (0x%x) datasz: 0x%x"),
+	    (_("warning: %pB: corrupt GNU_PROPERTY_TYPE (%ld) type (0x%x) datasz: 0x%x"),
 	     abfd, note->type, type, datasz);
 	  /* Clear all properties.  */
 	  elf_properties (abfd) = NULL;
@@ -148,7 +148,7 @@ bad_size:
 	      if (datasz != align_size)
 		{
 		  _bfd_error_handler
-		    (_("warning: %B: corrupt stack size: 0x%x"),
+		    (_("warning: %pB: corrupt stack size: 0x%x"),
 		     abfd, datasz);
 		  /* Clear all properties.  */
 		  elf_properties (abfd) = NULL;
@@ -166,7 +166,7 @@ bad_size:
 	      if (datasz != 0)
 		{
 		  _bfd_error_handler
-		    (_("warning: %B: corrupt no copy on protected size: 0x%x"),
+		    (_("warning: %pB: corrupt no copy on protected size: 0x%x"),
 		     abfd, datasz);
 		  /* Clear all properties.  */
 		  elf_properties (abfd) = NULL;
@@ -183,7 +183,7 @@ bad_size:
 	}
 
       _bfd_error_handler
-	(_("warning: %B: unsupported GNU_PROPERTY_TYPE (%ld) type: 0x%x"),
+	(_("warning: %pB: unsupported GNU_PROPERTY_TYPE (%ld) type: 0x%x"),
 	 abfd, note->type, type);
 
 next:
diff --git a/bfd/elf-s390-common.c b/bfd/elf-s390-common.c
index 4aa6666..30695be 100644
--- a/bfd/elf-s390-common.c
+++ b/bfd/elf-s390-common.c
@@ -286,12 +286,12 @@ elf_s390_merge_obj_attributes (bfd *ibfd, struct bfd_link_info *info)
   if (in_attr->i > 2)
     _bfd_error_handler
       /* xgettext:c-format */
-      (_("Warning: %B uses unknown vector ABI %d"), ibfd,
+      (_("Warning: %pB uses unknown vector ABI %d"), ibfd,
        in_attr->i);
   else if (out_attr->i > 2)
     _bfd_error_handler
       /* xgettext:c-format */
-      (_("Warning: %B uses unknown vector ABI %d"), obfd,
+      (_("Warning: %pB uses unknown vector ABI %d"), obfd,
        out_attr->i);
   else if (in_attr->i != out_attr->i)
     {
@@ -303,7 +303,7 @@ elf_s390_merge_obj_attributes (bfd *ibfd, struct bfd_link_info *info)
 
 	  _bfd_error_handler
 	    /* xgettext:c-format */
-	    (_("Warning: %B uses vector %s ABI, %B uses %s ABI"),
+	    (_("Warning: %pB uses vector %s ABI, %pB uses %s ABI"),
 	     ibfd, abi_str[in_attr->i], obfd, abi_str[out_attr->i]);
 	}
       if (in_attr->i > out_attr->i)
diff --git a/bfd/elf.c b/bfd/elf.c
index f3a70f1..489e5e2 100644
--- a/bfd/elf.c
+++ b/bfd/elf.c
@@ -340,7 +340,7 @@ bfd_elf_string_from_elf_section (bfd *abfd,
 	{
 	  /* PR 17512: file: f057ec89.  */
 	  /* xgettext:c-format */
-	  _bfd_error_handler (_("%B: attempt to load strings from"
+	  _bfd_error_handler (_("%pB: attempt to load strings from"
 				" a non-string section (number %d)"),
 			      abfd, shindex);
 	  return NULL;
@@ -355,7 +355,7 @@ bfd_elf_string_from_elf_section (bfd *abfd,
       unsigned int shstrndx = elf_elfheader(abfd)->e_shstrndx;
       _bfd_error_handler
 	/* xgettext:c-format */
-	(_("%B: invalid string offset %u >= %Lu for section `%s'"),
+	(_("%pB: invalid string offset %u >= %Lu for section `%s'"),
 	 abfd, strindex, hdr->sh_size,
 	 (shindex == shstrndx && strindex == hdr->sh_name
 	  ? ".shstrtab"
@@ -494,7 +494,7 @@ bfd_elf_get_elf_syms (bfd *ibfd,
       {
 	symoffset += (esym - (bfd_byte *) extsym_buf) / extsym_size;
 	/* xgettext:c-format */
-	_bfd_error_handler (_("%B symbol number %lu references"
+	_bfd_error_handler (_("%pB symbol number %lu references"
 			      " nonexistent SHT_SYMTAB_SHNDX section"),
 			    ibfd, (unsigned long) symoffset);
 	if (alloc_intsym != NULL)
@@ -658,7 +658,7 @@ setup_group (bfd *abfd, Elf_Internal_Shdr *hdr, asection *newsect)
 		    {
 		      _bfd_error_handler
 			/* xgettext:c-format */
-			(_("%B: corrupt size field in group section"
+			(_("%pB: corrupt size field in group section"
 			   " header: %#Lx"), abfd, shdr->sh_size);
 		      bfd_set_error (bfd_error_bad_value);
 		      -- num_group;
@@ -673,7 +673,7 @@ setup_group (bfd *abfd, Elf_Internal_Shdr *hdr, asection *newsect)
 		    {
 		      _bfd_error_handler
 			/* xgettext:c-format */
-			(_("%B: invalid size field in group section"
+			(_("%pB: invalid size field in group section"
 			   " header: %#Lx"), abfd, shdr->sh_size);
 		      bfd_set_error (bfd_error_bad_value);
 		      -- num_group;
@@ -709,7 +709,7 @@ setup_group (bfd *abfd, Elf_Internal_Shdr *hdr, asection *newsect)
 		      if (idx >= shnum)
 			{
 			  _bfd_error_handler
-			    (_("%B: invalid SHT_GROUP entry"), abfd);
+			    (_("%pB: invalid SHT_GROUP entry"), abfd);
 			  idx = 0;
 			}
 		      dest->shdr = elf_elfsections (abfd)[idx];
@@ -728,7 +728,7 @@ setup_group (bfd *abfd, Elf_Internal_Shdr *hdr, asection *newsect)
 		  elf_tdata (abfd)->group_sect_ptr = NULL;
 		  elf_tdata (abfd)->num_group = num_group = -1;
 		  _bfd_error_handler
-		    (_("%B: no valid group sections found"), abfd);
+		    (_("%pB: no valid group sections found"), abfd);
 		  bfd_set_error (bfd_error_bad_value);
 		}
 	    }
@@ -757,7 +757,7 @@ setup_group (bfd *abfd, Elf_Internal_Shdr *hdr, asection *newsect)
 	    {
 	      /* See PR 21957 for a reproducer.  */
 	      /* xgettext:c-format */
-	      _bfd_error_handler (_("%B: group section '%A' has no contents"),
+	      _bfd_error_handler (_("%pB: group section '%pA' has no contents"),
 				  abfd, shdr->bfd_section);
 	      elf_tdata (abfd)->group_sect_ptr[i] = NULL;
 	      bfd_set_error (bfd_error_bad_value);
@@ -817,7 +817,7 @@ setup_group (bfd *abfd, Elf_Internal_Shdr *hdr, asection *newsect)
   if (elf_group_name (newsect) == NULL)
     {
       /* xgettext:c-format */
-      _bfd_error_handler (_("%B: no group info for section '%A'"),
+      _bfd_error_handler (_("%pB: no group info for section '%pA'"),
 			  abfd, newsect);
       return FALSE;
     }
@@ -848,7 +848,7 @@ _bfd_elf_setup_sections (bfd *abfd)
 	      if (bed->link_order_error_handler)
 		bed->link_order_error_handler
 		  /* xgettext:c-format */
-		  (_("%B: warning: sh_link not set for section `%A'"),
+		  (_("%pB: warning: sh_link not set for section `%pA'"),
 		   abfd, s);
 	    }
 	  else
@@ -868,7 +868,7 @@ _bfd_elf_setup_sections (bfd *abfd)
 		{
 		  _bfd_error_handler
 		    /* xgettext:c-format */
-		    (_("%B: sh_link [%d] in section `%A' is incorrect"),
+		    (_("%pB: sh_link [%d] in section `%pA' is incorrect"),
 		     s->owner, elfsec, s);
 		  result = FALSE;
 		}
@@ -881,7 +881,7 @@ _bfd_elf_setup_sections (bfd *abfd)
 	{
 	  _bfd_error_handler
 	    /* xgettext:c-format */
-	    (_("%B: SHT_GROUP section [index %d] has no SHF_GROUP sections"),
+	    (_("%pB: SHT_GROUP section [index %d] has no SHF_GROUP sections"),
 	     abfd, elf_section_data (s)->this_idx);
 	  result = FALSE;
 	}
@@ -902,7 +902,7 @@ _bfd_elf_setup_sections (bfd *abfd)
 	{
 	  _bfd_error_handler
 	    /* xgettext:c-format */
-	    (_("%B: section group entry number %u is corrupt"),
+	    (_("%pB: section group entry number %u is corrupt"),
 	     abfd, i);
 	  result = FALSE;
 	  continue;
@@ -925,7 +925,7 @@ _bfd_elf_setup_sections (bfd *abfd)
 	      /* There are some unknown sections in the group.  */
 	      _bfd_error_handler
 		/* xgettext:c-format */
-		(_("%B: unknown type [%#x] section `%s' in group [%A]"),
+		(_("%pB: unknown type [%#x] section `%s' in group [%pA]"),
 		 abfd,
 		 idx->shdr->sh_type,
 		 bfd_elf_string_from_elf_section (abfd,
@@ -1195,7 +1195,7 @@ _bfd_elf_make_section_from_shdr (bfd *abfd,
 	    {
 	      _bfd_error_handler
 		/* xgettext:c-format */
-		(_("%B: unable to initialize compress status for section %s"),
+		(_("%pB: unable to initialize compress status for section %s"),
 		 abfd, name);
 	      return FALSE;
 	    }
@@ -1206,7 +1206,7 @@ _bfd_elf_make_section_from_shdr (bfd *abfd,
 	    {
 	      _bfd_error_handler
 		/* xgettext:c-format */
-		(_("%B: unable to initialize decompress status for section %s"),
+		(_("%pB: unable to initialize decompress status for section %s"),
 		 abfd, name);
 	      return FALSE;
 	    }
@@ -1387,7 +1387,7 @@ copy_special_section_fields (const bfd *ibfd,
 	{
 	  _bfd_error_handler
 	    /* xgettext:c-format */
-	    (_("%B: Invalid sh_link field (%d) in section number %d"),
+	    (_("%pB: Invalid sh_link field (%d) in section number %d"),
 	     ibfd, iheader->sh_link, secnum);
 	  return FALSE;
 	}
@@ -1403,7 +1403,7 @@ copy_special_section_fields (const bfd *ibfd,
 	   if we could not find a match ?  */
 	_bfd_error_handler
 	  /* xgettext:c-format */
-	  (_("%B: Failed to find link section for section %d"), obfd, secnum);
+	  (_("%pB: Failed to find link section for section %d"), obfd, secnum);
     }
 
   if (iheader->sh_info)
@@ -1430,7 +1430,7 @@ copy_special_section_fields (const bfd *ibfd,
       else
 	_bfd_error_handler
 	  /* xgettext:c-format */
-	  (_("%B: Failed to find info section for section %d"), obfd, secnum);
+	  (_("%pB: Failed to find info section for section %d"), obfd, secnum);
     }
 
   return changed;
@@ -2013,7 +2013,7 @@ bfd_section_from_shdr (bfd *abfd, unsigned int shindex)
       if (sections_being_created [shindex])
 	{
 	  _bfd_error_handler
-	    (_("%B: warning: loop in section dependencies detected"), abfd);
+	    (_("%pB: warning: loop in section dependencies detected"), abfd);
 	  return FALSE;
 	}
       sections_being_created [shindex] = TRUE;
@@ -2121,7 +2121,7 @@ bfd_section_from_shdr (bfd *abfd, unsigned int shindex)
 	{
 	  _bfd_error_handler
 	    /* xgettext:c-format */
-	    (_("%B: warning: multiple symbol tables detected"
+	    (_("%pB: warning: multiple symbol tables detected"
 	       " - ignoring the table in section %u"),
 	     abfd, shindex);
 	  goto success;
@@ -2205,7 +2205,7 @@ bfd_section_from_shdr (bfd *abfd, unsigned int shindex)
 	{
 	  _bfd_error_handler
 	    /* xgettext:c-format */
-	    (_("%B: warning: multiple dynamic symbol tables detected"
+	    (_("%pB: warning: multiple dynamic symbol tables detected"
 	       " - ignoring the table in section %u"),
 	     abfd, shindex);
 	  goto success;
@@ -2318,7 +2318,7 @@ bfd_section_from_shdr (bfd *abfd, unsigned int shindex)
 	  {
 	    _bfd_error_handler
 	      /* xgettext:c-format */
-	      (_("%B: invalid link %u for reloc section %s (index %u)"),
+	      (_("%pB: invalid link %u for reloc section %s (index %u)"),
 	       abfd, hdr->sh_link, name, shindex);
 	    ret = _bfd_elf_make_section_from_shdr (abfd, hdr, name,
 						   shindex);
@@ -2477,7 +2477,7 @@ bfd_section_from_shdr (bfd *abfd, unsigned int shindex)
 	       for applications?  */
 	    _bfd_error_handler
 	      /* xgettext:c-format */
-	      (_("%B: unknown type [%#x] section `%s'"),
+	      (_("%pB: unknown type [%#x] section `%s'"),
 	       abfd, hdr->sh_type, name);
 	  else
 	    {
@@ -2492,7 +2492,7 @@ bfd_section_from_shdr (bfd *abfd, unsigned int shindex)
 	/* FIXME: We should handle this section.  */
 	_bfd_error_handler
 	  /* xgettext:c-format */
-	  (_("%B: unknown type [%#x] section `%s'"),
+	  (_("%pB: unknown type [%#x] section `%s'"),
 	   abfd, hdr->sh_type, name);
       else if (hdr->sh_type >= SHT_LOOS && hdr->sh_type <= SHT_HIOS)
 	{
@@ -2503,7 +2503,7 @@ bfd_section_from_shdr (bfd *abfd, unsigned int shindex)
 	       be rejected with an error message.  */
 	    _bfd_error_handler
 	      /* xgettext:c-format */
-	      (_("%B: unknown type [%#x] section `%s'"),
+	      (_("%pB: unknown type [%#x] section `%s'"),
 	       abfd, hdr->sh_type, name);
 	  else
 	    {
@@ -2516,7 +2516,7 @@ bfd_section_from_shdr (bfd *abfd, unsigned int shindex)
 	/* FIXME: We should handle this section.  */
 	_bfd_error_handler
 	  /* xgettext:c-format */
-	  (_("%B: unknown type [%#x] section `%s'"),
+	  (_("%pB: unknown type [%#x] section `%s'"),
 	   abfd, hdr->sh_type, name);
 
       goto fail;
@@ -3221,7 +3221,7 @@ elf_fake_sections (bfd *abfd, asection *asect, void *fsarg)
     {
       _bfd_error_handler
 	/* xgettext:c-format */
-	(_("%B: error: Alignment power %d of section `%A' is too big"),
+	(_("%pB: error: Alignment power %d of section `%pA' is too big"),
 	 abfd, asect->alignment_power, asect);
       arg->failed = TRUE;
       return;
@@ -3251,7 +3251,7 @@ elf_fake_sections (bfd *abfd, asection *asect, void *fsarg)
 	 non-bss input sections to bss output sections, or emit data
 	 to a bss output section via a linker script.  */
       _bfd_error_handler
-	(_("warning: section `%A' type changed to PROGBITS"), asect);
+	(_("warning: section `%pA' type changed to PROGBITS"), asect);
       this_hdr->sh_type = sh_type;
     }
 
@@ -3727,7 +3727,7 @@ assign_section_numbers (bfd *abfd, struct bfd_link_info *link_info)
   if (section_number >= SHN_LORESERVE)
     {
       /* xgettext:c-format */
-      _bfd_error_handler (_("%B: too many sections: %u"),
+      _bfd_error_handler (_("%pB: too many sections: %u"),
 			  abfd, section_number);
       return FALSE;
     }
@@ -3812,8 +3812,8 @@ assign_section_numbers (bfd *abfd, struct bfd_link_info *link_info)
 		      asection *kept;
 		      _bfd_error_handler
 			/* xgettext:c-format */
-			(_("%B: sh_link of section `%A' points to"
-			   " discarded section `%A' of `%B'"),
+			(_("%pB: sh_link of section `%pA' points to"
+			   " discarded section `%pA' of `%pB'"),
 			 abfd, d->this_hdr.bfd_section,
 			 s, s->owner);
 		      /* Point to the kept section if it has the same
@@ -3837,8 +3837,8 @@ assign_section_numbers (bfd *abfd, struct bfd_link_info *link_info)
 		    {
 		      _bfd_error_handler
 			/* xgettext:c-format */
-			(_("%B: sh_link of section `%A' points to"
-			   " removed section `%A' of `%B'"),
+			(_("%pB: sh_link of section `%pA' points to"
+			   " removed section `%pA' of `%pB'"),
 			 abfd, d->this_hdr.bfd_section, s, s->owner);
 		      bfd_set_error (bfd_error_bad_value);
 		      return FALSE;
@@ -3859,7 +3859,7 @@ assign_section_numbers (bfd *abfd, struct bfd_link_info *link_info)
 	      if (bed->link_order_error_handler)
 		bed->link_order_error_handler
 		  /* xgettext:c-format */
-		  (_("%B: warning: sh_link not set for section `%A'"),
+		  (_("%pB: warning: sh_link not set for section `%pA'"),
 		   abfd, sec);
 	    }
 	}
@@ -4389,7 +4389,7 @@ get_program_header_size (bfd *abfd, struct bfd_link_info *info)
 	     {
 	       _bfd_error_handler
 		 /* xgettext:c-format */
-		 (_("%B: GNU_MBIN section `%A' has invalid sh_info field: %d"),
+		 (_("%pB: GNU_MBIN section `%pA' has invalid sh_info field: %d"),
 		     abfd, s, elf_section_data (s)->this_hdr.sh_info);
 	       continue;
 	     }
@@ -4935,18 +4935,18 @@ _bfd_elf_map_sections_to_segments (bfd *abfd, struct bfd_link_info *info)
 	      if ((s->flags & SEC_THREAD_LOCAL) == 0)
 		{
 		  _bfd_error_handler
-		    (_("%B: TLS sections are not adjacent:"), abfd);
+		    (_("%pB: TLS sections are not adjacent:"), abfd);
 		  s = first_tls;
 		  i = 0;
 		  while (i < (unsigned int) tls_count)
 		    {
 		      if ((s->flags & SEC_THREAD_LOCAL) != 0)
 			{
-			  _bfd_error_handler (_("	    TLS: %A"), s);
+			  _bfd_error_handler (_("	    TLS: %pA"), s);
 			  i++;
 			}
 		      else
-			_bfd_error_handler (_("	non-TLS: %A"), s);
+			_bfd_error_handler (_("	non-TLS: %pA"), s);
 		      s = s->next;
 		    }
 		  bfd_set_error (bfd_error_bad_value);
@@ -5442,7 +5442,7 @@ assign_file_positions_for_load_sections (bfd *abfd,
 	       && strcmp (m->sections[0]->name, ".dynamic") != 0)
 	{
 	  _bfd_error_handler
-	    (_("%B: The first section in the PT_DYNAMIC segment"
+	    (_("%pB: The first section in the PT_DYNAMIC segment"
 	       " is not the .dynamic section"),
 	     abfd);
 	  bfd_set_error (bfd_error_bad_value);
@@ -5470,7 +5470,7 @@ assign_file_positions_for_load_sections (bfd *abfd,
 		      && p->p_paddr < (bfd_vma) off))
 		{
 		  _bfd_error_handler
-		    (_("%B: Not enough room for program headers,"
+		    (_("%pB: Not enough room for program headers,"
 		       " try linking with -N"),
 		     abfd);
 		  bfd_set_error (bfd_error_bad_value);
@@ -5558,7 +5558,7 @@ assign_file_positions_for_load_sections (bfd *abfd,
 		{
 		  _bfd_error_handler
 		    /* xgettext:c-format */
-		    (_("%B: section %A lma %#Lx adjusted to %#Lx"),
+		    (_("%pB: section %pA lma %#Lx adjusted to %#Lx"),
 		     abfd, sec, s_start, p_end);
 		  adjust = 0;
 		  sec->lma = p_end;
@@ -5695,7 +5695,7 @@ assign_file_positions_for_load_sections (bfd *abfd,
 		{
 		  _bfd_error_handler
 		    /* xgettext:c-format */
-		    (_("%B: section `%A' can't be allocated in segment %d"),
+		    (_("%pB: section `%pA' can't be allocated in segment %d"),
 		     abfd, sec, j);
 		  print_segment_map (m);
 		}
@@ -5743,7 +5743,7 @@ assign_file_positions_for_non_load_sections (bfd *abfd,
 	  if (hdr->sh_size != 0)
 	    _bfd_error_handler
 	      /* xgettext:c-format */
-	      (_("%B: warning: allocated section `%s' not in segment"),
+	      (_("%pB: warning: allocated section `%s' not in segment"),
 	       abfd,
 	       (hdr->bfd_section == NULL
 		? "*unknown*"
@@ -5968,7 +5968,7 @@ assign_file_positions_for_non_load_sections (bfd *abfd,
 		{
 		  /* PR 17512: file: 2195325e.  */
 		  _bfd_error_handler
-		    (_("%B: error: non-load segment %d includes file header "
+		    (_("%pB: error: non-load segment %d includes file header "
 		       "and/or program header"),
 		     abfd, (int) (p - phdrs));
 		  return FALSE;
@@ -6148,7 +6148,7 @@ assign_file_positions_except_relocs (bfd *abfd,
 	     used and set up the program headers manually.  Either that or
 	     leave room for the headers at the start of the SECTIONS.  */
 	  _bfd_error_handler (_("\
-%B: error: PHDR segment not covered by LOAD segment"),
+%pB: error: PHDR segment not covered by LOAD segment"),
 			      abfd);
 	  return FALSE;
 	}
@@ -6492,7 +6492,7 @@ _bfd_elf_symbol_from_bfd_symbol (bfd *abfd, asymbol **asym_ptr_ptr)
 	 which is used in a relocation entry.  */
       _bfd_error_handler
 	/* xgettext:c-format */
-	(_("%B: symbol `%s' required but not present"),
+	(_("%pB: symbol `%s' required but not present"),
 	 abfd, bfd_asymbol_name (asym_ptr));
       bfd_set_error (bfd_error_no_symbols);
       return -1;
@@ -6835,7 +6835,7 @@ rewrite_elf_program_header (bfd *ibfd, bfd *obfd)
 	  if (segment->p_type == PT_LOAD
 	      && (segment->p_filesz > 0 || segment->p_memsz == 0))
 	    /* xgettext:c-format */
-	    _bfd_error_handler (_("%B: warning: Empty loadable segment detected"
+	    _bfd_error_handler (_("%pB: warning: Empty loadable segment detected"
 				  " at vaddr=%#Lx, is this intentional?"),
 				ibfd, segment->p_vaddr);
 
@@ -7449,7 +7449,7 @@ rewrite:
 	    /* PR 17512: file: f17299af.  */
 	    if (segment->p_align > (bfd_vma) 1 << ((sizeof (bfd_vma) * 8) - 2))
 	      /* xgettext:c-format */
-	      _bfd_error_handler (_("%B: warning: segment alignment of %#Lx"
+	      _bfd_error_handler (_("%pB: warning: segment alignment of %#Lx"
 				    " is too large"),
 				  ibfd, segment->p_align);
 	    else
@@ -8280,7 +8280,7 @@ _bfd_elf_slurp_version_tables (bfd *abfd, bfd_boolean default_imported_symver)
 	{
 error_return_bad_verref:
 	  _bfd_error_handler
-	    (_("%B: .gnu.version_r invalid entry"), abfd);
+	    (_("%pB: .gnu.version_r invalid entry"), abfd);
 	  bfd_set_error (bfd_error_bad_value);
 error_return_verref:
 	  elf_tdata (abfd)->verref = NULL;
@@ -8407,7 +8407,7 @@ error_return_verref:
 	{
 	error_return_bad_verdef:
 	  _bfd_error_handler
-	    (_("%B: .gnu.version_d invalid entry"), abfd);
+	    (_("%pB: .gnu.version_d invalid entry"), abfd);
 	  bfd_set_error (bfd_error_bad_value);
 	error_return_verdef:
 	  elf_tdata (abfd)->verdef = NULL;
@@ -8959,7 +8959,7 @@ _bfd_elf_validate_reloc (bfd *abfd, arelent *areloc)
  fail:
   _bfd_error_handler
     /* xgettext:c-format */
-    (_("%B: unsupported relocation type %s"),
+    (_("%pB: unsupported relocation type %s"),
      abfd, areloc->howto->name);
   bfd_set_error (bfd_error_bad_value);
   return FALSE;
diff --git a/bfd/elf32-arc.c b/bfd/elf32-arc.c
index 839f624..86fa391 100644
--- a/bfd/elf32-arc.c
+++ b/bfd/elf32-arc.c
@@ -617,7 +617,7 @@ arc_elf_merge_attributes (bfd *ibfd, struct bfd_link_info *info)
 	      /* It's sometimes ok to mix different configs, so this is only
 		 a warning.  */
 	      _bfd_error_handler
-		(_("Warning: %B: Conflicting platform configuration "
+		(_("Warning: %pB: Conflicting platform configuration "
 		   "%s with %s.\n"), ibfd,
 		 tagval[in_attr[i].i],
 		 tagval[out_attr[i].i]);
@@ -636,7 +636,7 @@ arc_elf_merge_attributes (bfd *ibfd, struct bfd_link_info *info)
 	      BFD_ASSERT (out_attr[i].i < 5);
 	      /* We cannot mix code for different CPUs.  */
 	      _bfd_error_handler
-		(_("error: %B: unable to merge CPU base attributes "
+		(_("error: %pB: unable to merge CPU base attributes "
 		   "%s with %s.\n"),
 		 obfd,
 		 tagval[in_attr[i].i],
@@ -673,7 +673,7 @@ arc_elf_merge_attributes (bfd *ibfd, struct bfd_link_info *info)
 		    && (!(cpu_out & bfd_feature_list[j].cpus)))
 		  {
 		    _bfd_error_handler
-		      (_("error: %B: unable to merge ISA extension attributes "
+		      (_("error: %pB: unable to merge ISA extension attributes "
 			 "%s.\n"),
 		       obfd, bfd_feature_list[j].name);
 		    result = FALSE;
@@ -697,7 +697,7 @@ arc_elf_merge_attributes (bfd *ibfd, struct bfd_link_info *info)
 			  p2 = (char *) bfd_feature_list[k].name;
 		      }
 		    _bfd_error_handler
-		      (_("error: %B: conflicting ISA extension attributes "
+		      (_("error: %pB: conflicting ISA extension attributes "
 			 "%s with %s.\n"),
 		       obfd, p1, p2);
 		    result = FALSE;
@@ -732,7 +732,7 @@ arc_elf_merge_attributes (bfd *ibfd, struct bfd_link_info *info)
 	    {
 	      /* We cannot mix code with rf16 and without.  */
 	      _bfd_error_handler
-		(_("error: %B: cannot mix rf16 with full register set %B.\n"),
+		(_("error: %pB: cannot mix rf16 with full register set %pB.\n"),
 		 obfd, ibfd);
 	      result = FALSE;
 	    }
@@ -758,7 +758,7 @@ arc_elf_merge_attributes (bfd *ibfd, struct bfd_link_info *info)
 		&& out_attr[i].i != in_attr[i].i)
 	      {
 		_bfd_error_handler
-		  (_("error: %B: conflicting attributes %s: %s with %s.\n"),
+		  (_("error: %pB: conflicting attributes %s: %s with %s.\n"),
 		   obfd, tagname,
 		   tagval[in_attr[i].i],
 		   tagval[out_attr[i].i]);
@@ -783,7 +783,7 @@ arc_elf_merge_attributes (bfd *ibfd, struct bfd_link_info *info)
 	      && out_attr[i].i != in_attr[i].i)
 	    {
 	      _bfd_error_handler
-		(_("error: %B: conflicting attributes %s.\n"),
+		(_("error: %pB: conflicting attributes %s.\n"),
 		 obfd, tagname);
 	      result = FALSE;
 	    }
@@ -883,8 +883,8 @@ arc_elf_merge_private_bfd_data (bfd *ibfd, struct bfd_link_info *info)
       if (mach_ibfd != mach_obfd)
 	{
 	  /* xgettext:c-format */
-	  _bfd_error_handler (_("ERROR: Attempting to link %B "
-				"with a binary %B of different architecture"),
+	  _bfd_error_handler (_("ERROR: Attempting to link %pB "
+				"with a binary %pB of different architecture"),
 			      ibfd, obfd);
 	  return FALSE;
 	}
@@ -897,7 +897,7 @@ arc_elf_merge_private_bfd_data (bfd *ibfd, struct bfd_link_info *info)
 	  /* Warn if different flags.  */
 	  _bfd_error_handler
 	    /* xgettext:c-format */
-	    (_("%B: uses different e_flags (%#x) fields than "
+	    (_("%pB: uses different e_flags (%#x) fields than "
 	       "previous modules (%#x)"),
 	     ibfd, in_flags, out_flags);
 	  if (in_flags && out_flags)
@@ -1125,7 +1125,7 @@ arc_special_overflow_checks (const struct arc_relocation_data reloc_data,
 	  if (reloc_data.reloc_addend == 0)
 	    _bfd_error_handler
 	      /* xgettext:c-format */
-	      (_("%B(%A+%#Lx): CMEM relocation to `%s' is invalid, "
+	      (_("%pB(%pA+%#Lx): CMEM relocation to `%s' is invalid, "
 		 "16 MSB should be %#x (value is %#Lx)"),
 	       reloc_data.input_section->owner,
 	       reloc_data.input_section,
@@ -1136,7 +1136,7 @@ arc_special_overflow_checks (const struct arc_relocation_data reloc_data,
 	  else
 	    _bfd_error_handler
 	      /* xgettext:c-format */
-	      (_("%B(%A+%#Lx): CMEM relocation to `%s+%#Lx' is invalid, "
+	      (_("%pB(%pA+%#Lx): CMEM relocation to `%s+%#Lx' is invalid, "
 		 "16 MSB should be %#x (value is %#Lx)"),
 	       reloc_data.input_section->owner,
 	       reloc_data.input_section,
@@ -1865,27 +1865,27 @@ elf_arc_relocate_section (bfd *			  output_bfd,
 
 	case bfd_reloc_other:
 	  /* xgettext:c-format */
-	  msg = _("%B(%A): warning: unaligned access to symbol '%s' in the small data area");
+	  msg = _("%pB(%pA): warning: unaligned access to symbol '%s' in the small data area");
 	  break;
 
 	case bfd_reloc_outofrange:
 	  /* xgettext:c-format */
-	  msg = _("%B(%A): internal error: out of range error");
+	  msg = _("%pB(%pA): internal error: out of range error");
 	  break;
 
 	case bfd_reloc_notsupported:
 	  /* xgettext:c-format */
-	  msg = _("%B(%A): internal error: unsupported relocation error");
+	  msg = _("%pB(%pA): internal error: unsupported relocation error");
 	  break;
 
 	case bfd_reloc_dangerous:
 	  /* xgettext:c-format */
-	  msg = _("%B(%A): internal error: dangerous relocation");
+	  msg = _("%pB(%pA): internal error: dangerous relocation");
 	  break;
 
 	default:
 	  /* xgettext:c-format */
-	  msg = _("%B(%A): internal error: unknown error");
+	  msg = _("%pB(%pA): internal error: unknown error");
 	  break;
 	}
 
@@ -1974,7 +1974,7 @@ elf_arc_check_relocs (bfd *			 abfd,
 		_bfd_error_handler
 		  /* xgettext:c-format */
 		  (_("\
-%B: relocation %s against `%s' can not be used when making a shared object; recompile with -fPIC"),
+%pB: relocation %s against `%s' can not be used when making a shared object; recompile with -fPIC"),
 		    abfd,
 		    arc_elf_howto (r_type)->name,
 		    name);
@@ -2865,7 +2865,7 @@ elf32_arc_obj_attrs_handle_unknown (bfd *abfd, int tag)
   if ((tag & 127) < (Tag_ARC_ISA_mpy_option + 1))
     {
       _bfd_error_handler
-	(_("%B: Unknown mandatory ARC object attribute %d."),
+	(_("%pB: Unknown mandatory ARC object attribute %d."),
 	 abfd, tag);
       bfd_set_error (bfd_error_bad_value);
       return FALSE;
@@ -2873,7 +2873,7 @@ elf32_arc_obj_attrs_handle_unknown (bfd *abfd, int tag)
   else
     {
       _bfd_error_handler
-	(_("Warning: %B: Unknown ARC object attribute %d."),
+	(_("Warning: %pB: Unknown ARC object attribute %d."),
 	 abfd, tag);
       return TRUE;
     }
diff --git a/bfd/elf32-arm.c b/bfd/elf32-arm.c
index 0b250ce..badf82e 100644
--- a/bfd/elf32-arm.c
+++ b/bfd/elf32-arm.c
@@ -4019,7 +4019,7 @@ arm_type_of_stub (struct bfd_link_info *info,
 		{
 		  if (input_sec->flags & SEC_ELF_PURECODE)
 		    _bfd_error_handler
-		      (_("%B(%A): warning: long branch veneers used in"
+		      (_("%pB(%pA): warning: long branch veneers used in"
 			 " section with SHF_ARM_PURECODE section"
 			 " attribute is only supported for M-profile"
 			 " targets that implement the movw instruction."),
@@ -4053,7 +4053,7 @@ arm_type_of_stub (struct bfd_link_info *info,
 		    {
 		      if (input_sec->flags & SEC_ELF_PURECODE)
 			_bfd_error_handler
-			  (_("%B(%A): warning: long branch veneers used in"
+			  (_("%pB(%pA): warning: long branch veneers used in"
 			     " section with SHF_ARM_PURECODE section"
 			     " attribute is only supported for M-profile"
 			     " targets that implement the movw instruction."),
@@ -4072,7 +4072,7 @@ arm_type_of_stub (struct bfd_link_info *info,
 	    {
 	      if (input_sec->flags & SEC_ELF_PURECODE)
 		_bfd_error_handler
-		  (_("%B(%A): warning: long branch veneers used in"
+		  (_("%pB(%pA): warning: long branch veneers used in"
 		     " section with SHF_ARM_PURECODE section"
 		     " attribute is only supported" " for M-profile"
 		     " targets that implement the movw instruction."),
@@ -4084,8 +4084,8 @@ arm_type_of_stub (struct bfd_link_info *info,
 		  && !INTERWORK_FLAG (sym_sec->owner))
 		{
 		  _bfd_error_handler
-		    (_("%B(%s): warning: interworking not enabled.\n"
-		       "  first occurrence: %B: Thumb call to ARM"),
+		    (_("%pB(%s): warning: interworking not enabled.\n"
+		       "  first occurrence: %pB: Thumb call to ARM"),
 		     sym_sec->owner, name, input_bfd);
 		}
 
@@ -4124,7 +4124,7 @@ arm_type_of_stub (struct bfd_link_info *info,
     {
       if (input_sec->flags & SEC_ELF_PURECODE)
 	_bfd_error_handler
-	  (_("%B(%A): warning: long branch veneers used in"
+	  (_("%pB(%pA): warning: long branch veneers used in"
 	     " section with SHF_ARM_PURECODE section"
 	     " attribute is only supported for M-profile"
 	     " targets that implement the movw instruction."),
@@ -4138,8 +4138,8 @@ arm_type_of_stub (struct bfd_link_info *info,
 	      && !INTERWORK_FLAG (sym_sec->owner))
 	    {
 	      _bfd_error_handler
-		(_("%B(%s): warning: interworking not enabled.\n"
-		   "  first occurrence: %B: ARM call to Thumb"),
+		(_("%pB(%s): warning: interworking not enabled.\n"
+		   "  first occurrence: %pB: ARM call to Thumb"),
 		 sym_sec->owner, name, input_bfd);
 	    }
 
@@ -4487,7 +4487,7 @@ elf32_arm_add_stub (const char *stub_name, asection *section,
     {
       if (section == NULL)
 	section = stub_sec;
-      _bfd_error_handler (_("%B: cannot create stub entry %s"),
+      _bfd_error_handler (_("%pB: cannot create stub entry %s"),
 			  section->owner, stub_name);
       return NULL;
     }
@@ -5672,7 +5672,7 @@ cmse_scan (bfd *input_bfd, struct elf32_arm_link_hash_table *htab,
 
       if (!is_v8m)
 	{
-	  _bfd_error_handler (_("%B: Special symbol `%s' only allowed for "
+	  _bfd_error_handler (_("%pB: Special symbol `%s' only allowed for "
 				"ARMv8-M architecture or later."),
 			      input_bfd, sym_name);
 	  is_v8m = TRUE; /* Avoid multiple warning.  */
@@ -5681,7 +5681,7 @@ cmse_scan (bfd *input_bfd, struct elf32_arm_link_hash_table *htab,
 
       if (cmse_invalid)
 	{
-	  _bfd_error_handler (_("%B: invalid special symbol `%s'."),
+	  _bfd_error_handler (_("%pB: invalid special symbol `%s'."),
 			      input_bfd, sym_name);
 	  _bfd_error_handler (_("It must be a global or weak function "
 				"symbol."));
@@ -5721,13 +5721,13 @@ cmse_scan (bfd *input_bfd, struct elf32_arm_link_hash_table *htab,
 	  if (hash || j < ext_start)
 	    {
 	      _bfd_error_handler
-		(_("%B: invalid standard symbol `%s'."), input_bfd, sym_name);
+		(_("%pB: invalid standard symbol `%s'."), input_bfd, sym_name);
 	      _bfd_error_handler
 		(_("It must be a global or weak function symbol."));
 	    }
 	  else
 	    _bfd_error_handler
-	      (_("%B: absent standard symbol `%s'."), input_bfd, sym_name);
+	      (_("%pB: absent standard symbol `%s'."), input_bfd, sym_name);
 	  ret = FALSE;
 	  if (!hash)
 	    continue;
@@ -5739,7 +5739,7 @@ cmse_scan (bfd *input_bfd, struct elf32_arm_link_hash_table *htab,
       if (cmse_hash->root.root.u.def.section != section)
 	{
 	  _bfd_error_handler
-	    (_("%B: `%s' and its special symbol are in different sections."),
+	    (_("%pB: `%s' and its special symbol are in different sections."),
 	     input_bfd, sym_name);
 	  ret = FALSE;
 	}
@@ -5751,14 +5751,14 @@ cmse_scan (bfd *input_bfd, struct elf32_arm_link_hash_table *htab,
       if (section->output_section == NULL)
 	{
 	  _bfd_error_handler
-	    (_("%B: entry function `%s' not output."), input_bfd, sym_name);
+	    (_("%pB: entry function `%s' not output."), input_bfd, sym_name);
 	  continue;
 	}
 
       if (hash->root.size == 0)
 	{
 	  _bfd_error_handler
-	    (_("%B: entry function `%s' is empty."), input_bfd, sym_name);
+	    (_("%pB: entry function `%s' is empty."), input_bfd, sym_name);
 	  ret = FALSE;
 	}
 
@@ -5887,7 +5887,7 @@ set_cmse_veneer_addr_from_implib (struct bfd_link_info *info,
   in_implib_bfd = htab->in_implib_bfd;
   if (!htab->cmse_implib)
     {
-      _bfd_error_handler (_("%B: --in-implib only supported for Secure "
+      _bfd_error_handler (_("%pB: --in-implib only supported for Secure "
 			    "Gateway import libraries."), in_implib_bfd);
       return FALSE;
     }
@@ -5933,7 +5933,7 @@ set_cmse_veneer_addr_from_implib (struct bfd_link_info *info,
 	  || (ARM_GET_SYM_BRANCH_TYPE (intsym->st_target_internal)
 	      != ST_BRANCH_TO_THUMB))
 	{
-	  _bfd_error_handler (_("%B: invalid import library entry: `%s'."),
+	  _bfd_error_handler (_("%pB: invalid import library entry: `%s'."),
 			      in_implib_bfd, sym_name);
 	  _bfd_error_handler (_("Symbol should be absolute, global and "
 				"refer to Thumb functions."));
@@ -5994,7 +5994,7 @@ set_cmse_veneer_addr_from_implib (struct bfd_link_info *info,
 	  if (!!(flags & BSF_GLOBAL)
 	      != (hash->root.root.type == bfd_link_hash_defined))
 	    _bfd_error_handler
-	      (_("%B: visibility of symbol `%s' has changed."), in_implib_bfd,
+	      (_("%pB: visibility of symbol `%s' has changed."), in_implib_bfd,
 	       sym_name);
 
 	  stub_entry->stub_offset = stub_offset;
@@ -6003,7 +6003,7 @@ set_cmse_veneer_addr_from_implib (struct bfd_link_info *info,
       /* Size should match that of a SG veneer.  */
       if (intsym->st_size != cmse_stub_size)
 	{
-	  _bfd_error_handler (_("%B: incorrect size for symbol `%s'."),
+	  _bfd_error_handler (_("%pB: incorrect size for symbol `%s'."),
 			      in_implib_bfd, sym_name);
 	  ret = FALSE;
 	}
@@ -6624,7 +6624,7 @@ elf32_arm_size_stubs (bfd *output_bfd,
 					     TRUE, FALSE);
 	  if (stub_entry == NULL)
 	    {
-	      _bfd_error_handler (_("%B: cannot create stub entry %s"),
+	      _bfd_error_handler (_("%pB: cannot create stub entry %s"),
 				  section->owner, stub_name);
 	      return FALSE;
 	    }
@@ -7508,7 +7508,7 @@ bfd_elf32_arm_process_before_allocation (bfd *abfd,
 
   if (globals->byteswap_code && !bfd_big_endian (abfd))
     {
-      _bfd_error_handler (_("%B: BE8 images only valid in big-endian mode."),
+      _bfd_error_handler (_("%pB: BE8 images only valid in big-endian mode."),
 			  abfd);
       return FALSE;
     }
@@ -7739,7 +7739,7 @@ bfd_elf32_arm_set_vfp11_fix (bfd *obfd, struct bfd_link_info *link_info)
 
 	default:
 	  /* Give a warning, but do as the user requests anyway.  */
-	  _bfd_error_handler (_("%B: warning: selected VFP11 erratum "
+	  _bfd_error_handler (_("%pB: warning: selected VFP11 erratum "
 	    "workaround is not necessary for target architecture"), obfd);
 	}
     }
@@ -7766,7 +7766,7 @@ bfd_elf32_arm_set_stm32l4xx_fix (bfd *obfd, struct bfd_link_info *link_info)
       if (globals->stm32l4xx_fix != BFD_ARM_STM32L4XX_FIX_NONE)
 	/* Give a warning, but do as the user requests anyway.  */
 	_bfd_error_handler
-	  (_("%B: warning: selected STM32L4XX erratum "
+	  (_("%pB: warning: selected STM32L4XX erratum "
 	     "workaround is not necessary for target architecture"), obfd);
     }
 }
@@ -8303,7 +8303,7 @@ bfd_elf32_arm_vfp11_fix_veneer_locations (bfd *abfd,
 		(&(globals)->root, tmp_name, FALSE, FALSE, TRUE);
 
 	      if (myh == NULL)
-		_bfd_error_handler (_("%B: unable to find VFP11 veneer "
+		_bfd_error_handler (_("%pB: unable to find VFP11 veneer "
 				      "`%s'"), abfd, tmp_name);
 
 	      vma = myh->root.u.def.section->output_section->vma
@@ -8323,7 +8323,7 @@ bfd_elf32_arm_vfp11_fix_veneer_locations (bfd *abfd,
 		(&(globals)->root, tmp_name, FALSE, FALSE, TRUE);
 
 	      if (myh == NULL)
-		_bfd_error_handler (_("%B: unable to find VFP11 veneer "
+		_bfd_error_handler (_("%pB: unable to find VFP11 veneer "
 				      "`%s'"), abfd, tmp_name);
 
 	      vma = myh->root.u.def.section->output_section->vma
@@ -8389,7 +8389,7 @@ bfd_elf32_arm_stm32l4xx_fix_veneer_locations (bfd *abfd,
 		(&(globals)->root, tmp_name, FALSE, FALSE, TRUE);
 
 	      if (myh == NULL)
-		_bfd_error_handler (_("%B: unable to find STM32L4XX veneer "
+		_bfd_error_handler (_("%pB: unable to find STM32L4XX veneer "
 				      "`%s'"), abfd, tmp_name);
 
 	      vma = myh->root.u.def.section->output_section->vma
@@ -8408,7 +8408,7 @@ bfd_elf32_arm_stm32l4xx_fix_veneer_locations (bfd *abfd,
 		(&(globals)->root, tmp_name, FALSE, FALSE, TRUE);
 
 	      if (myh == NULL)
-		_bfd_error_handler (_("%B: unable to find STM32L4XX veneer "
+		_bfd_error_handler (_("%pB: unable to find STM32L4XX veneer "
 				      "`%s'"), abfd, tmp_name);
 
 	      vma = myh->root.u.def.section->output_section->vma
@@ -8615,7 +8615,7 @@ bfd_elf32_arm_stm32l4xx_erratum_scan (bfd *abfd,
 			  {
 			    _bfd_error_handler
 			      /* xgettext:c-format */
-			      (_("%B(%A+%#x): error: multiple load detected"
+			      (_("%pB(%pA+%#x): error: multiple load detected"
 				 " in non-last IT block instruction :"
 				 " STM32L4XX veneer cannot be generated.\n"
 				 "Use gcc option -mrestrict-it to generate"
@@ -8803,8 +8803,8 @@ elf32_thumb_to_arm_stub (struct bfd_link_info * info,
 	  && !INTERWORK_FLAG (sym_sec->owner))
 	{
 	  _bfd_error_handler
-	    (_("%B(%s): warning: interworking not enabled.\n"
-	       "  first occurrence: %B: Thumb call to ARM"),
+	    (_("%pB(%s): warning: interworking not enabled.\n"
+	       "  first occurrence: %pB: Thumb call to ARM"),
 	     sym_sec->owner, name, input_bfd);
 
 	  return FALSE;
@@ -8893,8 +8893,8 @@ elf32_arm_create_thumb_stub (struct bfd_link_info * info,
 	  && !INTERWORK_FLAG (sym_sec->owner))
 	{
 	  _bfd_error_handler
-	    (_("%B(%s): warning: interworking not enabled.\n"
-	       "  first occurrence: %B: arm call to thumb"),
+	    (_("%pB(%s): warning: interworking not enabled.\n"
+	       "  first occurrence: %pB: arm call to thumb"),
 	     sym_sec->owner, name, input_bfd);
 	}
 
@@ -9455,7 +9455,7 @@ elf32_arm_populate_plt_entry (bfd *output_bfd, struct bfd_link_info *info,
 	    {
 	      /* FIXME: We ought to be able to generate thumb-1 PLT
 		 instructions...  */
-	      _bfd_error_handler (_("%B: Warning: thumb-1 mode PLT generation not currently supported"),
+	      _bfd_error_handler (_("%pB: Warning: thumb-1 mode PLT generation not currently supported"),
 				  output_bfd);
 	      return FALSE;
 	    }
@@ -9720,7 +9720,7 @@ elf32_arm_tls_relax (struct elf32_arm_link_hash_table *globals,
 	      | bfd_get_16 (input_bfd, contents + rel->r_offset + 2);
 	  _bfd_error_handler
 	    /* xgettext:c-format */
-	    (_("%B(%A+%#Lx): unexpected Thumb instruction [...]

[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]